kernel-source-vanilla-4.12.14-lp150.12.82.1<>,]5/=„(?K5/PrKڠ ?V "sM؂Kn/`Dۭw&FKێxSr;wOnT 8Ѓ+ i cKDw-c~l|wz٪v?{F䔩zkJo\ZAef].a.3J(rqbM71Duw2SF:ync <)V]Xvv)F>QJat) Ώlt/5">my}}N8f1$ds,%\HB><<?,d  . b,08<OX` ynln Hn $n  n Fn GtnK,nPRnUxUnYk\YkYkYlE(Ylj8Ylt&}9Zh&}:\kY&}FdGxnH0nInJVX`Yl\n]Pn^\nbcd_edfgliu|nv4>z(Ckernel-source-vanilla4.12.14lp150.12.82.1Vanilla Linux kernel sources with minor build fixesVanilla Linux kernel sources with minor build fixes. Source Timestamp: 2019-11-12 16:32:38 +0000 GIT Revision: c939e247692fcf8e1cd0d780c294f51ec7bcdb96 GIT Branch: users/tiwai/openSUSE-15.0/next-mu]5lamb17+}openSUSE Leap 15.0openSUSEGPL-2.0http://bugs.opensuse.orgDevelopment/Sourceshttp://www.kernel.org/linuxnoarch; kI<[ LCt$(6SC z _ f  `ty g1 3 ;5K u*R'mxT"F<E  ) p 3WE? t <GSZ,;8,Y[|: _]=Um 43 J5 *r t # sf Lx' Nwb  k FU ( UB 3J/ " 8* Y .DffrMmX8i vdF  t6+L L0I \ y Nku DU v2Q 4]  y)# .EQi0Co "60t 0P 9 o :6 y%u *nL \-T, :2I(bS*15^LQ^ c[#-w^-(lM)Q)T+T11335/iC~ubڥK8AUQS*22Ce13W f +6) 5\q{o8\3 I$%D vI</[3 a9"+ok, %  N%0 !>WTkn 6iFC1fw#s^ qC.g,6("e  V @L; [  *L32o* A iaY((JW| _] t[j19/ i To {F7VDdA !HB#2 vkDnMK}7<ic-! 2 $:!q):Dh RY>-=2E)A+.^!iCu# \2xk" ]>G Z Gm )91h2F#dN>{'^&6J22@&Q_!@:{Rr.u<k 2s }UOe( Ay7Ek  mm V<<cNp{Mb/:  ^|I<Ms " rwy  x ; a a5NKd< .)i 9c d  n.7N0Np e 4 S/Hvc }DK 8cs FL Rn4 z:1Dp :]y*2 f t!f ^ M  ] [^4^ef p[ "& !wp = )z NUTz"%F[F_p^ l ^,  = yl C  .7>r dBRwi\<n) .  xj|`j IENT'\   ?bB C4R%c  8|nv(~m@ER!8 oV<;FI! 6^W 7Svh q;8 #  `W ! 'F%j_n)~ 8 y i k@ "Q %)M}R  ~uE 0|yu  6@{ +i7K  /|~P  8"0@nE& k{|L" a  ! wP?DB4Jq*RdZ$Ai 1dXIz $*@.O E > = Gn W  > U$B_Yh g %l}\ N 4 !MES|S& ?~&161@ 4rI& _T F&)n;cQ %W9L$   z79|-%ij U]hG { /:@ssxR F  >} RgpxMY /(~ G[ YENSU *n XF ;i Pw7i . < hw`W J xCSTMLJ) Z M b2#  ! V | 71=em 9  } ^<^*>uC#Rjm59U<I g.v   T.6]iZ| -u"z7x o s t* uqtXYvO yv,#~ N8 3D-ThVb   =na) lS!~  7N 'ylI_~ dIx,!m`i ;FDfBX -M)H02+ imQJ eW q   G f *cu 5HC@Q0P  sx FN*e*sYq  E  cQWjc% i> +r G 2.h X?&RlB X ( 8   x( -  <8I?x  y  CK$=! .aL{"9e+VT +  B(3D 1 ;' h { Q ![v&:sz   JZy 3Oo4:S)  }g2# c  {V rt 0 A6" XKh 1@2D HT]O-p,RP  Td   rG78z'/ " =m H T;!K /7 1*]pGTNm1'(I /v+W>"`l u"C gU[b c C 1v3Fc>ZB t?175wH yT  $ 4 #3~/F  i ggCo Fz[ I 5 [VMd/D`b z r i 3@<x05 :U1[d6Q[OitHGI5!l b:nM xA?&<6mgj %B  &u> cH.%n zxH$ t% ? >5}   # J: lx((_  dD8 )  V}E  L,  h;lf?HVM6`\s 1 "d r?_ 8R FC-Ej$Fl[8kv[| hwm+~ .  ?)9wBrl>E)EEExE[b2E3O/ UrM4fDl Jx QD "$*  =yJRo: / v'u :6fP OJ=c @ 9J Vq#m*5LG a@ M0-sM &]; 6 h t L{i 2i}c ]~GE> )"m<_8e Vp[aQrt46JH[o)wa*:K9 9#Y |F:!&2(@D ! lp V6TMY3%N 6> v ak I Cf]cTf Gf r^- bD7(Ag4) ~ 'o+~3( y# /}G Q.82!4 NL< 2__" y \N{7&t0@j]]LjBhDNEeLmKbM]Q\KQP[JVPMRI\Xb_iQNo>Ocx^ G] 2DeBK|5E '!M=W !&( U"1GlUn%?* ;)K = > )$L%+ "+FN[E&3I{q\&`` ?To!e5TtQ?)M/Ds t>)AE6: 8) 64 O: +*-r$7% z>M' +urPP,)R3w\EvAk#C=#wO %T P0 m :jo   -#|l f1S 6  0_ Fg-;  P gd A) >*2 bS g v UzYsXRy  % Z%o /U    U a3 &. !?AUtWa\@`2D@_0U " :& k%*; !*d/#-b<?y *  1uX =a,q j W k6W !BTu)#~ i":'B )q#J G(HD/ h( -,bK;`^4 -7l8rt]9A))OWF3 Hwq +/ U!(Zd"yCjE/*4G{=!  (lJ֑ [m  ( CDT?L$.E-#2m?3.H1 O\@ 40x (E3B& 4} Is.7%um;e[ XaFgBk<T /= '030:8?gIUIA9;=qM44}4gzqJaH 0V #T&+_J;434 .p k#)FF d92{3EQy ~ 6,r/;<WPH >$P4 >/ y d8J 3e`@zBQ7)6Cz*7 n:"Bv80@)I&Jni 4/[9H*pn_eZNhf*mEЎc l G L8YjQ s FA W aeN<: U^;$"r8rr  . : m S " P#Yc8z"FN9' Au :'~9IIlY9Z* }eE*[! v (/7'4%   . 9` 9[\  &No Mu w W ~ K 3z {+,K S P(+&$!t; W"m* "V lrOR.^;sGPD$7tO  WB $o, P f 6AAo :#?yS< < #+>`&71']b"*0| [MZ 6%!*3$iA lI/05`˸ rnE` + 6n+BX3*9&   s(_6s "Y-+ K/ZQB (,D$c4TrC&=MO} mUF\ -E; 9j % |P#2ts^28D,{([|;! d:> +ɠf)/$/ 5֢&$Z$  A X2% E!!$X >H ;0\8!3F 6!, %)9B^t*SG=// & =bFH3&*+og})#4_%&n_RD5[2"%5^)FKa* <8R'N!~k^i3 _*' rV&K' gR2b^M]dYs{!  j60gUK=4k > #".#.& C=b-I$o- L^, !&1Q tQ  >s9 # "!f 7! "  i4 7 qL:v #v lo b Rh%5-i9 VF=]5w " [`_|<  i5;U]E0'j(7a?ANM3vDF7I 9p[-X0 SzH5YL G$+d[U&$;Bi4"0Dsw+R4#*C1E~%'"[4.fz  E! }#?j#E?%,4 * ] Rr GS "*\w& $VT{ 3 T8$F %>   Fq12x /U Q  [ N 7! g C#D$I "*2.6"%y$$*TP[ ~  u 1 cQ MiSnu<zgl+jT hcu W\ -1 WdT(f7Q&J k(@ ?L>\9 3 cT H 4 q  Hd3 ,), -a+ pR2%43n -;+  Kh3 v 3!v60& > rdHw1 @E4JF cD   3V96L:[g-vTL, 0Z+#-- (0w`2 ( tFaO0wJ"6:^L2l3t 8. 't$aA%D 3kn #T_  >>ZK9  G5 I 1 L %9;t@ zpp9 , |?*L- % 53;k% Z9| ) }? U 1DQ3n CN<  P [ [ [ [aZ6I;Hz1OsE t  3 CL<%N'4  ''+*' T( T T r&(  = %.X[Mp/;JJfH;)lW"D"1*^$-_)>^Y&J8m7:'N/B:[A*`6O#Fn?2 "&R<8o4w 6K(bTrQ >@CSgG9;8E  < 8n 6+/ N* L  >B(I3AW !`juw DG /:GpX @L+2k 6w& g[3)e  2x$Q)} wRQ:%TxI0)r H  J    C@ L 6et[S a : 7 ] 3 K~ X/KH<m"]P# 4,8 ?0"Q*ctR=  A E Q Q +Y  R   4B] j #K fs:g!% ( "8 pE!{7= 9hB _ Z'/ i ,Q' <: 35! E. ]s%KQJT [ . 8aK}@Qg [ W b6#LHE <Zn| ` 1 M6EE# >!O .bWQH }J UG!)BB* y9'+p>D"X&2| tiD%eO>0>,Fh@<2 :(sd+BDB@ - \'OU*lF"a  uP y  dY#Dq qn Hg >Fn6CRlJ Hq@  { 8 t  : Lf-E 7  zW    p '-M? Z=sKxU#H;#ED75J R4D X}- u'9<9Tn(LFA  k=1h=f/fqD XR /!  E d T 3#+( '& p R! dx# xTP ))(7 "z U X%c''! UQY` wt S+ #o"pFR2m< $^93+ 1c$| c KW >n@tx !y y 9  A)m H Y&$f  u O]>"r \ [Wn  9e % /|H* o^?+ QE J+v fm(vnJ+H= Ot  X| */ U++ \C/ 4<#4P C; a T F u A, w w; | 3#+/4 "3 > d0RP 0  &QwHD1Dm UG cc'V.L;@5r 6Se<3?Z  7J$* aLJ F!/(wL H!;tR= [!& - .| ` e54w  jhUG 7u .; F  I? /K #n5$"PnL 8R qrf$x!" vhuv >S~!> a( v* Z) I)hK $laC!!,.H:, N \ICP [*c \H{B \-UC t0$h DK/.` X6P&6!=M#f  hq3&: " kbj 25t Q v  J 73 ,x&qDMM#z|9x/$ 82lA4c_13Tq" u=a [z]$,nz  7 oQC _@)g;ImPLG4g J>* Y 8-.eh/Y\ & "2A y 3e --,T6' \O "ZU : ]%! $L83kx!'sb[  wW!6A"   ' f@\UuLl #I^+ * ` CX!#RH8Gzs<] 3"9V`<| BNP)t&   ,  HPM^*x A G g +Cuc0m   {r. Fwc^*2[  : <I(b m aE")%cAV=% @2(<(C# #:}(!d ^ ?4 n}-E N* ! q 46)nONl-W?NSh]  n  S}:ZET Z`r TZ'~~`| qL=9B,A@ Sz R1 9='4 Ej*XE&T#/E mr  9k X N g:ImP T Y 0G  6lT zBf(/_5-J$rp\ w=/  GSAN7r) >g  a$ $ >`   *vn  _m-D gS 3l{H C 1A[C>( ? IV Li3*( ?6W#KM:L"(>10)C-@^r6!!Y)i *++It vr/yf 8,^&? q$#!] w *;"U TK#v%w$|WZ=;&f$v2 )'W z4c609#Y # =414LrCeD% C(ZLW s)i={EG$~WT(I 'L8' '^ w&9  G62H (!v~? i >FH6HnC r +j7M 3 Y$:$ )d jrw0LH@aP3f8Iex+*  $M<B Z;K >~*wT :< ' $v'OQ ky**)nW.VRWwx+  ~>M(9{)?)?Py[R v"C B g' !  ?+ 'E*M.o9W %v" 7 R  E z 9%]%U20 x0'L Zw5zJ;)cj w]u  ?w =YVa hfz ; #O"#!TyC*b907V?#EUv'ZzgeT#PQ :* / "x 4(7[$i(L 7"o _))9>(W {| (<{Qh/+03e 7h* ^.Q }R9X Fu|BSx ?,9D  ) +=?$y"6 )qU"5eqW `1>2 U4 8 8W w 56  ;K1. ( )8o8KBF=' KR M   a6 TF'  |%#> + 2  =_C B*./%/  +SeU# &e:y D? KL^S ""<EjO:pP/Fu* '*L (FG,~f" H i E Q41' ) A X " R.y G "3M !  ~~tH % /h M]f w^\ a ^ t  #9Qs +CVm eb ID z i11" 7U)-!k >v F ^B'M QL 7RUuY&T["6LCs.J 8 F4L  t gugc gSp,@N}j[1z$5ň(`:K E/( s . [ BB|g"\;*[  N[1+ G// 2K.,-+l |.2+51$') (e@ ".< }SvE8In=C h ]Fk6*' .Y#q$! 1NT.D%r!" TSasZ0n yJ5}q e z,~l n M5D 0 ! n4T 0g [E v,L (yPr9YE+d=WA.)c22% J (Gk ?'<XE + v:-{MGa7=2 @ J  R R6 M J (0Zb7$+K%!! W$ D C &1%> u u"i] s2Qvy/cu2$'"j_3* zc2ws%= g4noCq)(uz#"CsR Pbf r{ /' (.33B,n.p[#l P,b0|  a vE220^-, 6/ )Rx {1 g^#*?!d(; YR0f jsv R9d #E.1G ,mi> } .g( 4pA$r ING _%\Vc&"}4C56wE AHsDY%Jin ] v #n_ 8#>0C  l 8= pj zC%g=) 6)T lN# )xjQ^8g 6Z8%W&b-L,{D|:' 4 '?-DT] +u9 @0J_  q/1("sF-r: u. $UX#)1 C? #/4wcq$WO fL d ]+~9D [RO"jb ; U" . ^ > JT + "   k#/ 1 4dJ)t$D s /'K obri_% HZ%&#-< o o4ie"m NA g_ ( OX ~ $F BLq40 Cn+ %++"^RmB[ eD P$)K 1w - -/( (,%8l?*%kS FmG t4 !d[!?t7HG>'g+Q }F `/&$  HgJSMxreT4H Eb+7EfP6L(; AH'uc-2.L'N e{X8   1HOB$p2(,FA)|Kݪ/6T klbW $@1A'l {H*jF¹ M7B)(:D)W S/I=zF>-0F/8+ Ah >qG;_ c@Iib#'  7DnY 6 #?F;+  d< TvB|+&W h)kS1/"9ZT@`T 5 S>>># f5D a<] - Ih sc(_ zTPX>W _ \ , Is}:E J9 3*fb J ~g r '@ t$z-D7O C-*~N +VOW7PL0@kSJQvaqt N- ?d #<i"W B9reZ4Zk\Ix8YR.(31)E~7<"9#4 'SE z&S-' ' Z`!VQ f>"U % q6%c sqy(cF`2bB" ;X -)9Rr(t>Y `2!Y\<QO ""%: @)7,K*:Ae'-"H)h!j+j++.$\ },U<jvGL  960%+mu ?, #mD-I^0m.`I01"`-&kn|&tL7^bC|D*l?S6 :'Ls (K[ f _ ;(ixX"%: B+6&Nh#E,^ P 5tx M&*!bmx 3&2fYx Fj a u\ AW hS ? :(h= \Lz 5 qs%| ^ #~#yt 7 ^!/ da&! Tre!]_<1i(6lz@ iT4fdGtD  @Say ,^F6%zf "r#_jcJ' Q+-9' 5fn("$=:' qF!M#)m&l2 I} 19k| ~<O:-3iu +ir SXp $ -  *Jv*~p]  yb[+%~ O ^ ? 8F}* 0T \3 (] ,ie?3 yl  tlS#t5n 2\rZ }lg d XIS80=2RhX/S |F"dsAB)& " @S*v *E 1 d]>  B7 ? =1 `go *v~%[3se-aOcz>/l".2BzNe2#S &+ G+97BW{C0'*Ps#^ I E, . z"gGKg!0;Q(Of<w jm [#- 2SGiC" & VL ( 3  3$9h[pPw|!2Fl1 h<\ M /.*l"xGjx_X.EH Hx Ec_  +Kg]  7 (#)'( a8A] F Rm  `$A-/ n=Xu= v7mU`JHf dg 3X c$3 H )Isp@7Q0'EB 0|H r B ( vu 2 E$T2T+;SQH!H0 k S5~c5GR ;%/-)EuJ *;a2yHS;J;1 tz2PD\ F=Z 32[-IsCxm K$('j]?:| UsfEVW#Ls MJ kwU RW " !:3+*;exl_r*+ Vl~2 & 1'6 NS ?n);mF[%t u p c$n2yl "".T2#=(w\?J%@M EV ! pu,p9 mzL ~*5.s" AB(c,=3? R*/-!!3Ma q qS1\c0x2 ^Q) (X'8 y`#q$&W&;  , t^ g  /  +=D u% M=:o;9:/<9Bt99;99a pm6=p5,3xO3ϹA| ,>Y" nR@.NL /Jr R4%/K(B t&OG1^aZuv5 G`]()B&&!{N.)86*{M rw3_g9)  C# Q5;G0d J ^ H r 3N  3Bp& "Jr'S@ +GX@ #Mtt*5%X%׷j!f 0*-v9 bL / !'k! 2E }($  &X-4\,f$ :vz=U!WE)Y1d'}94 VZ* (B{@$^V [ [ K5*\p4]&xa .;U) [B+ 2 k oE. ?p ?9(, - 8#)3 F6 ,F Gn PeV)kV]B. H^c[~y)N "SC &3V)= ) 56 Y2H=i ju U %  (T@i#mT Vd S9w1+>?vLq = 8 $ GgZ=T *I)=!>4 a ,WGcZY 1t 4.F .% Rn^ Q-  > kd fF)?#K |pR +N /Z ! V3" i !!fHu!E \ Fs"} y"vu *"( "g\%  " "  ! ! "!@.!B#  5w; p|Q+j  P 6(#H Q6hY {kGW &,9s@j=D>|,k~}/ T v=}o E0%<)# n >< U  Y4~  \ [G#38L g d th2?yM!p   9Yg 8 ? c[ {rmV0 [ 8 !p ,4 4 'a+o $.#,o-/@?({8'>ES 4 Vky O M O A u P \o&Ww/  +0 5 ;0B Bk Qj ^X&P[%1 Z vCC20|}6eFV2.1k"0k>D 30tn qBs 3 X  YM   ,>(G(NmN^%* JL"c(E  "e'))M(8n SG!:5K o+# U :L J`u`R  ^H-j_Xw 0z$ )% X+ %}e/E:#R&'UjK#! 8<O &=9 M d"7t41E";^K  W oX^*I[w-$'  <- 7Ct +Y  o sMv !u I J ^K3 )  .4 4 76`` o' HF,K3 pqz5+d 4e9K6c] "h xWTm {BHWgfl |vr REr"W;bs  1V2y =t %5w S{ L& 2Z4> i10.'  $   "sW3v*;gh  "  Dq,^6}v>bELh #:=E P E( 6DX/D+n;^P l 5DO W %G u#,0,-%.<  u*|))$~PF53pV*I lH x56 7  .a),ai7,:P{CN,;dR{?B\@$aL I,#3l)3D?4bA0 Dt ,:nE\d- M3\eF dN &8[ %F =J`A 9Q&^F;%FIiPQa/R0$ I * 9O  Max= Z :$wzOh/$>I"za+P%r  . } 2e$ _{J!^+2$-*IPYH"u>   Z;](a k m$1 [xz p=  < "[Xk-3J.*67nA )n4 W s4a U J )aEf/m $y8:4&;*{3  XN x.@f . 7>#:1^Q1KAU;b  Q*U "6')*8y a<HXz@@r9 D? : pk, As,W !\,g CUW7A'HU c+"S' }{Q s&I ?/Y $ xq wg E 9M?.E!~ LhB1 u t}0@@CdTWOa r *TGt' h  @8K] # C M 2 Y :b%tb $||h % {$_ % [Z*tH*)|| q K ## g*.@%/K" @5boL )bnN4M{!~&4jO"$ whIy Eb .# 9 1 B r2|!a&{- B e|Q(<M{! $Sf n, z 9 > E u ]^1>c0"C"&DL p{m qu> 98{:'$ & DNXn:d@'fY;|  F #O'$W${" ] S/ > jA [ -MR m8%/[ ?[]-feNN ^ D !r!:5&:; %vl!=h1:Kq ~T e,  2k e/a<+Y & @<%9q ;/E1) Vc .o 6/_YS%S6B KT4))?8<e a;yY D X ; HXUPu -, WyQ $~y #`11@bY BmU / ^+ZH w   r41y_Q! >|%6J #k>x BH \oRK "lYF4%}i "?"h! T f b' T kJPM ? k ($#r0?;2p\t&)do XC)m? ,: E3     U"^[!3QL 9Q (uHCM&tDVI : =TrB x :d 5O 6wp' F l  j/ ^:m-## T) Mt1&$jb is |<t,6 9 ; V o!!-zR[?}p    Nc.#  *~x {ACb2 . I7r PVY,Vt,F([kd|th%u"q03 ^q \ )u# f! ]_a{/-# +3 Zg A-8 U( Z9lwtT 7#9 &4+6?'$ZOf/1jJ1Q*F4%)hp7rvTF -7 \&)+  ~2Z-h =1\-#%>$0p_:!&W9  ; 9+)Q9Lr*(e_ n{r,9PIG}|}ddQGmv D0]$F)F!=1 + *Eu0 - =w1  $ +g 2  %qy(M  1y !#s X i <#s%| s-n c)  1 !  H1 n f v 9  ; M ?f x   xq y  {  #uz U?; y @ c,$#.4!6#- +.FF   c b a U IE v   ` H H   ) Dn  3 M fa k4;   E  V$u  M  C%b k8,u ?}:1Z 29. /5_ I'< t |/^l%4+*#O&&.`*C--O),z+((,,+l -|o bx#Y* _ ) ~#x*Xq,,q#( 0r8J>/(`,r9>90   { $mB{[p , ]<QI?B H% #,s UN  v+< *f ?! EV .0 L _e \ g l 3K9YJ` \I{i,P^#wM%Zg +T% %% ^O 2%< {L} 3 [ u f ~S h hk y= (y7:5 9@ 8Mmaf <,('!E,47F #64 $ < Afbn# `d$p #s ;IOw  :%& j0:1T,'Zz a\C U  g ) Q:u$+ ANaD+kt; E$4 y7uw\ J B9#) 5&p(+ PgvP+;\/%e  OI{NJ&Zjf8GP!%$) G+c'h 7Z ?* | ##[ 'NL? mg< *]G%0  I 4T i ?G4 RTo:{=] w }:yo 55XM*>e"{y*  4$\D  S G&h ge$V'mFXz3^0S W"5 ze(p*gq)`-S+Y!  $&dTZ! pv^nl@_nc\}C{& XZ wFN&>F=& VJL!]+2H.&,u%b3D] ]4= #5Wz s$ q%$83a, cF g^qOjR"7Wj sU;r\Q]{gf (]D\zoOcQl{%069@ Z~l<TP;i6%Gp(!; s g|((I>)H`:8@j<H-*S|^+.'Wz/$M\(g^t/.;O&:"&bUE+HD[M{ 8P N8%[ *2M+K3 ) D*pA $pNmetA`\,8QSHCBT/ ~3*4-0@K"$ELOb Th4 *<N, #F3 `&,L!$U/!u+"jV9-B%OP(W+  iKQwi 3_F h.,-1; %4  2,U( CJB=v.$ &65A?|Q  4_j/!   ?+3MYQb4=76 c4 J"Y>"/B #!N e%B 8uR  W'   )3#* :( 7'bJ!:  $ ,$!v  0A$ x S2 [X B'$&-  - )) _J YC%7ry*LA3j+v\h$D`+v $ Q,Fe x#=y->=Nk4 )=:  a-lPJ ( ~$$CS$? VI?*HA@{; (d$F9/ (c &js>R&'H6+( & {B+k `r(o`I  *Yq[);YNYVI$ a<M &LT3" MlUWg,m 3+{`[f0L"0vy  83#gJv6= 5K m&mL>!C/0:Q*/ )Yv >`"Qs##nO.,P/ 64B-e f [q{Q$9: {;,> g .QoBX/6) 5i#(/?Hw7<`Hl66[^O[C>=|]?R j?P CMXe !e Akp@ / @ (_\ %;#'Ln <$Db w B [ QRZ 7A /0* QK (7.s ^`C6lq] N 2G F` ]K6% {;*a } @0y'f`lQ%]-  !$ Z W Sx0.4/. "q ,5od@5- %;r[ )98E\ y !  "ϛ$p gbS :6(FKMrY5 f?>$y.v E{AT)+~'5H # y'# y - Smz2A.0iT2F2(,t z+w~ Z o X^@% Sn*HRs <!!`&V #0L5{# R6=@TF h c a,#rT# sbH{w 1 ^ZwZu{w!v  9Q{ dt   +w"FZwww{{"s{ws{{{{s{sw@! & $'f. ~ #w 3 cfT " A g)I M 4+" ?U!csTCb c<V/ I+2 ) $; ~`Z>_ `o m|q?\`EFAX )U mBa oa poa X I" [a= f x_e; j-  W nUc>I9 B W F b }C { R   G } "   C| f  Z O# *   X($%g l#R 4 1[:L Q  %P&i,7eE m}g# @bU  \X Y[G-e S8'7Fw .K?.XYlo,n9o H,s> M/AO-Hkz$ k ?X H Eu+ 3XBw7\    VNRSt@51 bZz~["LL e])W pc$(r5#:k " S  'T! . y / wJTL~ q Ey ( wFIDh!2 s+.p !N E(=5 9?ge 6Q W)' ><?mz%:pP*# F*;_K g0 '?!Y%&P$ ',3#o  $ R a/J7/)5C?:h4@6A\-1qm 8V-  2# l?i J} t"*^!%:"d C {BM(; "628+S! #5@^&qS '1)  IT:R NZ++# Qu<B]<JE V'} x 42 v> EC w 5&M f&s- ]0e D BJ0W  1 Fau;DO _ 3:5#@f*%9 +/#&x   y&P rjmbN K%sy  nS\dl5B#9 R'KZR 'z a~Xi |E *T?  yb|>O 1   X!Gb&   W)mJ>{ ?-@vI. `V_ : i* j  6y%*{_n $ x z29jF+;P.D!Qr,Xqf f,x? F:]Z gd a"<J.h< tetXMdLq" Y|;sP/+U1 f:Gr"G ui  KZG: j jL;JG "oVJ7?s%  *7 L`- `=w#?u@qn47*.&VQ~pXY3J/:@XU8'AoO`#6P$@Xg<BSF $ nhK U (0&6#J*-!- =c5!KK$i0A4R+5 $FV$F<1uH;Nx B k/!b < kl2.<o8# b47 dC?BS 83&s5] c E kCi _(A 9l " " ! F?=E)?BM*7& *%"+w. jC lb j O:Di< z4 g#u01& $61ay;g ##g 8  -/vGm %EL3 U0_##n z f cB TSQ )-1 l*2F|)CM,>Ts*{ zJ0CU ] i-2++Nn 3s: X7!r+1h#9. g 4\*-XdF894 J$ Cw;"$S_`p" 6uPs G[tw+Pv;>5BN RJ"<_F 6 M6*QVilT;KRR{! (2&%snL. 5 E!  J CwyT LgG/S$o\ :)'!#"! !/q 0 s[ TA> zI- TO  l nHh" \p,gG>  ^H[:".g D &R Y^?g9i <e)#,z,G~"M x $;! 1# N $N;] EiP* Ay-D;#_  FyIX  Zx%; V&H 8 9 b  B 3%v ( sNr4 {t; ( O7_(<\zD ! #!? $ ! ~T48 55 ^ErXAD> yY4#"\0 'Bs37h i>`*+IG . 4s Pk0w |G[(~CZ+`  -x07 oz A9 7gJ _N 1u ~l ,@ Py)0|6{.cX+7DA31+&@y2x:)4t?lKg1 Z$.$*Q Ez \\g7J>CA~mT"C Y37-K$DW]ok$!- gOID)m,3`vr] #a" sfD4$+$|!Z> 2,gh-p-Y=]3EW 2# Cj"}<& !YU </{~J@`4^"::! MK uXXV*AZ^;i31(>& I!3 ?p, #R !]k7 ZQ BR^K~ v&{Jq  {i <  Y&<  E*]%Q[\E.Tx!T J iJ ? ^$'9H$% "/ ,+ `  c8OBLU.Jt 3B(J[$ P\j)|K @H9sD- ./  (@r#CR5$&4n#|T3[ B(q 3  ? B<q]  p]>  S (|Ts'p Fy "XsR T1C )(R4|J*`"*]~$FT0^; F@*41 + ^be 7f8@`8?Jz @`/_oZ 3@ŽpP*tAF O =2V :z PDB3ZF *+%  E'E OO+))*L %)"(8 5'#kM X  5` % D S +kgj@bg? DeG -7VT@a '!%P*<1'a &s< z !$SSpdm'$/J P2yqY(w-/~!v2(o###"I&EhM 7A0j+ isc2 \B'"9sl D %fSkQfaO8bN u# F R1#*j{,uj{t4 UA Kh1X 4f5oQo}- !.* 8 B aImKvD: - ]  , Z>#q UzN 4&  T@U`Cw 23)l`;xx1u YMj w#`X1F<kJ <D=j  AC[0O" q#-='-- A/3D 6W|( #26$!NI; 6o )N/ :: k#m: _ L@ kihI#G R !4kWm; ) ]8_#AeXt: :zñ96 epp B!0u+%P+ SxWd; ,C e"sF]G(F9)I[wR,j~7;SC> p%AE&K1;Yp$9[%V/[|r?|{>ZOQ| w&SU}3(]41M*<WU)T+o-6c  S&4xaeM? '%] L0CJ4y20Vu %a u ^Gu0c ]_2C ;+&vF4 (2*J4ZFi<R!qET T+8t^g3ˁD^Fr-zE*K# 6 JC9 B =.- H"D i)16F #  T##,wSBB]\3;EY =/";SM=9[rVhJp-59f4=@'p/37/[+s[ hT<b9RAdN>F_S")`;7f*>"ndI3}m(rb0?uE=%Aqs4-A>-o>S!b&Nlq*`W P׺Y d|SGS/  IHl ST`#hV`2D;@+]@  G!7/)j4/ Gh hOSPp*2ECgK0q(n!9<P(3$< s*n*e>E? l-d~ `+m/ S4Tp'g"\*E>}4e-^%OzA5 G_GrgEj W U;*=R/a88?-(nب:b0tO]KPB-JfDՀB!T[ 'I&.0>#) M6m*./D=2/(p/`'ugh$)#i Q$Sqf  (N%L +(K;f%") =z]2kT;N$cql"+#7E L>2S r|Y :Cr%i &`~)E55M? 'r EC' B(8"SPGtX+e+ I~G6T-P,  $.poCY XI ,*#Q+"%,,eɪ 8rć5aK2 %!9Vq [  l%c`HcB9e ]!7YFaVoH j,N-*&[gQ~Tw`AW@hob"q$ ;z> , ?>O&:4b s3yHRC U'! /r C7Ye" 1]VoK @N}LKHu"SKn^AuOm+GqL6| )1P'*ZL;*[P %#R('<<PR9#z#10^4Io931(j,N<H&7F_  #"0A% @`5j" 1. ,|Tl-HP U 8 eN+ >tV/% H/?QV5M{Bt˲iN5N!S)S7dqK, L F$ D3# =!6Ri*s!? :,m H$.q]4,$>0.A-~| 7,Wr(0i  @ vEK??(%)"S/I)<_"2L). OX&/gS 8*2E 4  * .,w>% k)8M8V<E#:,R# Y bL+O--4G4Qc&-@ _b/R" ! w5; w*$4T w ZHS%NaQF+U:{ C:Z+bWI($C)(' i  @ 9$6=,;tp-~z -f} =fFCG5#t "U  QL " "s #XO<G S 7/O.b[Xe- 3 NB 0<7,(R/.*)D{ Qz1._$%rU h P  ( <#Ji<;857 H*M5,<07 -^SS:// 3MaE]0s6jk! (9296@[G <! , %$eC*"O'oHn+'  upIOtz| PT=Pv ; u97u)5EP08a$=Q0k(,1{h p~UE H U8G! #o 6\0c?$Z`] L frU[]a^2f`YBH!$   u- < Qo Xf a dJL0U2%3    T E:Kn2t943u m 1T*< ! j]Ѝ$Yi `%$,aZ.@u34%H) "9T5^<#Ag ! I ` B R ,BQH?  k F y"d^2#)6W@ u"(:   8/$> w ([zYJ  q2 p1^<2)Sf(@v a!qfUy:XB0K$AXk+}[(c"t$:cE(- NSn &$#$A~ ,6r! Z+  +L0?#8L 9. e^"!?  f=F#F D?u{es"0 p 5!0A/>BG# "7p$.I&etY/X jfs y  *1 ->`%N>BLR  un x  \ {u6{ !`4A Ir&Flҥ<]#\_ ='=k;^/P,rZ'd\pQPB{>,U P= )k { % K8 Y(A*T%EZ'3p:t6M?JJ jb4N [ 6$d6+wmk;9_V#gvC+?u[gKi1WF);V.v=&7(T !^UR Uznϴ:J=@ pf<% 0"A<&'k !" m3") .+ ,H31,)6%B ! &*4U WP)8Jo)< U &W Y"s-W.- z &< (V8+h^hPp;Z.4%l='0-S 6+|Ƿ7:n1nRe"1k  qAY,6>, A0  8?_06 t4PN !t>3#6)E "e3 <0bqF9Q mF3%dZAOtXH?`^.nG '!-HKydH'2r {GRki8}X#k1V%.wi#w_MuV0!\tG@UyS$aD^Pt(sf;,e>1u_ %i\+Nk_Apda)\HaY),2~,zhQ-Mcu.ԙY"|]^#5O )+`8%B*~4@G!$\}o )}K= 6O7U3hUyC!J6$:I@WqbtP9 W? ! "V6n/>jn5Ԧ0/2* }j$ +/U+`Qe6L ZLU+h f!N6);u=&n NFM&= JqiL`#n= LvCPhO1]/r""> ;&HW KI*Y /U 1*"$ #=$%'A | ; b OF,y3S /% ' ;2;J*,_ hT]bENCID8 T) ^ U TXa$R;=?>mE`E`!f + 350,'(?RvR!F;U'$@/3 L*:*,4X $-G)3J*($R ? 81X 3IA!v bY1:FD%&*!@y5* #d 15$2+-P6G)$q%+6> 5&hK i`{f0; 5)>V 0Y4H1xn2;'>^-1qbsrn 03L##!%] u U1nN  J=n>g+p y qTh_i5I'!,E'luY ( ^&C }9MU$?c) 0C}0r9(.V 1[ :Wy ac  -n =U  =6)tND2 /Ymst1lto-.P=e df_Qw' 4~i'zfW/WkcH*#P'Q o(\,H; hy + .d#o/&D7bo B&P5PZ^%fP=akf\1 }-_I+  iUAd1EU$>v&` 8x"  01M%H $%IUy/# X 0f99 jk  = \m{ Cr X75 {  V3 tVi^<ZYJH%» t u8 -k#lӱ0(5^<x#Oh-^[47 eZPި8L"K#s ]dOX` =-gC! 0<%!PvXiUtUpbEőY2:aamz`uݧBARh@)&{RI"vI] ˉZb! ?# / $8yeO#\t oiZ o&SZ0 O?"9`\ 26@xC) Hp44Դo4[ d/ F ;7b6q @ ^ {6H" wWL V|YV Zr7:F"7CFFS)MeZUZ!<*"W{Mw: ,VW_^ NtHY, O;; D ' SG DR&bg! Q)/7 E>Tkz?">1#' ) g X9!:Qu#&.($?ܺ35)3O6[raUxh2E [3O \N1h{313l,% =2qTBa  U!dM#7*=4  #Q9k&+(q4Nx'&#7 Oi'GR;:hsIE{s8Bsj T<&pl5D1v-6/hN:^.Xi4+c"%qJD2u#35-t+?@I MYe{.4$ zOUA  RaQ^ ?<%Ą"a1<_z@8 r:, DIl3s"g'\hd #'q0F v) \& AK!8g(3QOCPr >P A B2S!6p| >.> Jq} ' D!I9 JW>X`{ 31'h#i U%CY>Kc5>$%\XǼAp_`F| J V18~'o VR54aO;j*<>K(x.3  |1 /X8a %++TD28GY_#!6s #]6+B, ;&'lC HQp<(*/uzH ^.[<oK*dP:M3Y tW   dZ) < e u. CEi #JK*N#<#.ud@Kh<6d42"I ׻G\A,f]73 @2L*6Nk"I(W5 b~Ղ[%w^!56^Zm\b0"[A%+!:SBfr9MS.22rU$bR"F.+PEz0O+$M5@0',?es8;r #41;F.(A:e"Y (?2$3w J:~r v!X}+%u6G :FLn%T:#1&lK]Bo W9 P _rJ8 k ;n } A~!"/T:#: HGW," :@].^: d~R 5Iea"X# "!o;ju/J UZ3S ,?K n !YS$l,:~ $ J5jvFN`hl4U9Up` VXI Z) Y/M, f(L+ #t 01s$ @HO+ T Rt'-RAN4H\k`.= kf@ 4 / > 1g#^ 1 ^d( j r = 8 \[D   j-''  > ; C `x m^: t|-o Q@!#i!${ 9   #(d5 !& l+G   ! gAJ < L N%(,:O2 U * T oh  P MB4   A   ;]V\ppppjnI4 {1_ ~~zz7>(A*5' OJ& a # HsT[[] [] b] $/p[\[ ,? n- 3#Bb! 5m1 D`q _I vB m:FN og4Z"dA999r9r229(!U7+_]o!5C) & x/n*6] JL |$q3ll,G$EP$ -_ 2! nE  r 1 ~u"n5+# Ik[@ *V , O F' -   ,q Z j 'r1 o I )"$ ?    H/%2;t5#+ :X  ~ U B3w: # Q~ qG9$c$ \ ; @ Gf eyyX l 3UY 7k sL*h;P_ E?R - L O]!&y I  B Tzzz X  ;i SsM# ,#?: 2 ',e  ( @0ctN +:@ G fa^ f .M.#Gq b|Qd*r5G U P- g / " )C  " 2 tCW If  F5J"]nW%*S1:o" wFG! {$Kg'Xnr,?f &zB[h$F"n+  iM.^%]KD `h?Q 18( ( /3,`s)"в7CFYF6b?C , .^ _ ! 13k4^ C#] VZ~U`e^6 gW1 B&a%(6nlBmyTlt''l/"b>yC":L I4 `,R&c] 6N<7V7Al"/*9+5<,@={]XQ(H<=f=NhM \,}^~U8^ ,|*<Rr"4:0Y3okcl yk[|ߗ?, <zJdR ~RR< dFMd4M17?(uR+C 0 6$A31B %} IB\Y.A_F*|_bTW 1Nh  .B%0BK7zP|-R{,_ GiMlPnTV fFL C ]F/Ynv-]/*)*}tMvHG"NI}#x'f1)('CM(=j 3J)508s_@ ;@:EE-IcY"]J IPG4lo1kfzS !j[7/ y=N1?bVfh/4;hpVDi?JB(u\X>l;/aH32W; |#;$}>*l O{-ntoK0"LLS0@ M O } }  M.`2z%~[ r:6@P]:< &` #GsF9!>$ X9,NYk  + ZB`:, hR?t+<+i/#>*=:[*JJotEY>a}j#./ 31rbx!)Y+53TL >1U"kQ&1m++3VqTma1o}7K E# (^0_B"SR0P I],M, 3`tb 3-9j!PZ`g"p" yeB, 7/*2ab0.+l5 RvG0S)B ~.x *2(- kr#U$;q(9<RY0 8i6yG)@AH[* .,6Y03Mwp#z40:Q+#{^k60g BQ lM7 ]B) @ Qt #*9(J8 V}+3 $2[BC3SHK%V<+cD':h, (,Tw nw + "`,7Yf059<I:U 0RL AK AP9c :46$-cD"$T4"A:Z;}G*,j* +`j(4d/?LAe6?0;k;*);{2^\C:\.6^fP ='%,vu&N,!r2\K3!.KcWd`8~YoRz ^A' .0r.?b|BBC 8Ap DjE d_B%(b5 9*3@8*! ":P g&P$" ,(ER%t26 !GF?H h+4p>P?6e4q+xG/$.L Z  '(F J/ADE20 m&R*#0t= Z < H(*'d qgn@:U-eeF%k z]R-H s E97N; M.zQ1o f#*" M0,.)UR",zWBN-q9 F'$U[,[13)XSlgQ &DQG X +9&S 11&5 QG";7K,j!2n4 I "t*A(N$v &0+ ? BB | `')M#&c U#Gt:.g iXah]$ ,TAFL5 #s1O7|f0x dPKKۜ/I;X1Xt+$dY 3> Mr 4 8 M2J, 55 Pso*1'X*<Z$1i,dAmY= :XypO>`y Q [0?_$o&g 3L0UXU>*cFd9"WG?؇+ PuZa[u+!DGb >h z 0 8$ Ogcs4a|  ja2W%^?a~ *3DP=rJ 0Z6'($fJ a)#F] %$=#~C x i J}G/k8a 6zZ:5?% j4t9 A:La\,B TfzMWd˞}e|[`Vx9;$ o"Jk-6 IU& oxXK2Cg62C0d3VlKV+| r" S(I#Nc ';[  -4/w ,Eu7c[b7O-L $H˶  g~"Ei: K04i:g F" &}fDK]66*<:yG %+ /}$ iN-FdYq$)'? M$lO"eq  c['"I+ & An;i0-*)>K RzA&^-P,mDv6wK&!;*>O p !4iKB Y"=YQK V9(f')_=m7Nx:qcm+;(/+/k'5Xz2" 5* <~ X0n!OBp-o$/0V\k*6 hXX_BhQ5n 6.1Hw^p&)r dyP[WRb !'IrLhx !N# 0,WGv)@*Jf"c/8&a?NY L("F$#J$! Nz?V3)'5}# MhM&Bbd%Pf5?0'B1h!; Bkd#t9~4 1nd Pi~OVve{#Z[KMB~<]hfH6 I<b4Ro`t*DB.=gvn;cYzJ 8 -y>mC= TB @z %</SJ)K}-  x[H~h+@%</ qOgi-2! ;cL}^   ~mm=bV 18,lr31 Q -1 YZr,#w-IX)B--> Yl <g 0OnXcpV~:zuGi-H)R"2 b>Th3 -,f=) [ {C@aRAb8&LB!;,=$5#br9?CY6*m'u w4S+;%OQ]@6 yR9c\ c@c'H=##  *`]vx  Cy0 +a&3 GBHTS &'"#P9A-^QKdGM b 0V/6+2Fs2*Y*n>6_":6Pq%r/dclE /39' 8' 3}# 1:V  x_~:+rp _G,8$AX`!.]4"4w 1]Q|2Yae3) }D& P, u NQ0K=zA0.I$8I MKM) 8+ M GdQTH F^ # -5 y&$5G+73VBY:-I* X C >FpyH)O.LH; IypQ)W ]19;^1'( g,rbp0rS 1 +j7|KoWOP3 -EHK$U#ZKct*o=N g gHDRmDX1E#$ Zvg+3c%^\6 DCfYC3 xh[Cv%Tni VYLl<+V Wb C  eq!"-7%7%& tL:CAx16+Nn' =[D B ,a 9d _ Ygx CEb`z *tV'u!LYb'Pb p [n& +XVYhW) (k  M-3$OQ#6 \zD[wK *[),Fi>oS1i'Z w (!t,t05=sr{ vfX64'\\ b N 9g1*J=+!SG@|EL I!! 7(,u%<gBU6S6r.3^ ^ c!x * .CTg"1NLbgR%GK9{;NOSuu+E= W 6JzE;I r`q LEME&U"/ fR*W.= o Nf7l@ sfo} -KsNs/i(&9F`.,a7B 33.{Q>ZI)A<\9 "Y7).2B44,fjZ3%9vJ!WV= k3O0*i+ Ch6./g9 _bptj:P+x5 >h<K7gɩ%22Uk3?[e%?g_Y*Nӓu,e %D:sb}j* o8XL\!Y|"aO_"Y..Y; ( fR;Ϋ& 6e|1;g<kR7VlT9m4]) %#R   ya?"nU C3.7n"3OTIdUAd:#$3X $y`m8^ - BsV%*^FA SAQ+ 3191 K+Z$#- .2 8QzGQ <=QFV\f $K6$}~17+q;DgOe " $`p)T~2"V7I[irGc,o2,aK #3-\4| '#y6. hVw#=$mT \ X;hZ_ehR"qs  GH<2 / n'xuZPA*]EY5/.T& 'T4ky?:M(# ?#zBR] {'.^7f8q]C'P<Y%NLtX5^ln"eD- 4p9.   Q+-_d/ **Q+ Nm+ X3C?b' [ k sG G4 BSeF_e+/* *l1B] Y%` R) +29BJإ؁u_W  _LYż=)D,%^ [cQ "cJ}]F. 4 Y#=f(I(99L/BFG L 2 }N }5j4S1i0^@zmD K/y'!Qvr/(0:^ |'0t? vD* z_<,2oUÇQw `@a &=PgZ5jA ggc=ӁuP7$6(P"8<*k?"x Ϳ O + h $-RJhBN>bYO"EeuSy52e$&='(9PS 0a+&E>hx+;>c/"wA'z( .f33C+| %_"P,'r9AR wv(&-P*R2^'!a|=L:/1M#;<;0Zp|^!@H(`7 0"5(/ }  q{!"(8{ 7 .(VRTC C 5 R8 {  m MS^N   mgs Eb *P 9 V8J"  )  , : 4  M t $R.?[J +-N w f` &d = S ] I > {] @&#*4>jA~St(+4l#e(%'+X!I4.1.>RS8d@MD )S@F8'_#s3H1(2hY<-=h# )5 S +3Wݾ05;(!K4 EfaG'"/'$r]/2nB'>/)}+/ o\(]J?M&# (a@ jhY1 Ehq6@։K hDpcr2k9h ,R ECtS::tY} 3Ho +[-${s|` G9LG]!&G. ZQ'%t. {InHm8  \& # 8 `#D(H*h$ #* 5:*~0 'v7PcN#I#B(z @%] w x6j**qLCfza$ p)[RuL#Mz:[7{=u;l2(WZ-IuxaF-J 54080r +@<:0 O>G&S+ = ,v-y3jMC 'Mu }Ks )i̟HH|e1%}*M%&A D00] /oXskPQ&Z&HXT%42 -.0|3)-PI 'E )?.5 [H V]BI*Jw07n4#.LG .#"\v *.N9QSRJk0 ] { ut495"(DO1)hS1]K=jH+0 i;) .j[,Q*{`-p`)]zN ;-:cIS & ?,W[. K-.w`b!]c!> )Lx)CR<%:Wk&AU'!RL=!h)U`9 TLr#z&({'Q6 KL+`>.k)LZ:vFF:m0ay?`U&f2U=TBL &u_Emre&RgZP.$3$Fm}YD6eQL<j4 :s!0|S6~zy{!O '*} 1k{ &Q  ! $IX4->v* & ?_L0FH*)1H ^D t$+4,`4-W4X7 9A|BX ,!y$\+:3&r3 w$w &'!]50Hy tA:a-!c w,*!7*zCD K4d+FlX  b@7++_o?j)+'/<WgC$Wh o n *w=4rA0HCPg6T8 Nl+T bI1M G= -C8/"- n> K&+Nx!" 5M"A 3v.>sXSOquqo4 4i*T],<8#  ?8 Yc"vLE6-U[g 2 S'nQ I x  RINv0}Ju5-UɷA-M(E* $@*/BbGh$@8cQu2rV _@V{^^5rxS%"zzFB/b)7{o*2r.JL?4D8 Q\$:Zx6_*ST%Lg1SZ1q&Y?N 8arȉC[[3F%L+/]k: '* K'mO GME N~z%4I3Sgvi^io `fGi`}SnPG^*iV_ e*-6Ƹ$)?z(;.Dtf PnT,]7" *I\^LOedkK):{}e S % gD:]gPU4\0uT*qL\F(2keouV (` WATAhz[_ 4XTg>&8<8_}=XIZZ" :4[nY!CCC<%OG 5QUVh< B$vwSRfQX)mAJQ;@nAfIK( cz  OAKI lLjf+1jHC=  m0G=SPN"M[uD"^e$QAV5b03\F*2 <[*= j!~\K^<qUP#B\A5dE4,@@{B%;y^@I>FE(  F" kWC#VVb 1K'D>Yk@gB S6tjXNcc>`0r*:<> Ra! VS)8&-SQB HJS=6 96u-j < :NPHa4`/gLt(g8~v?P nx^p+} ]"Q.-XjdSZ%/$MN 90Z3Zg3U&#H L.  U<zfk<7L"Yʼ-E7iI!+B0my1Jl(?" =uz#FKzTX'M<+\"`h [w2c0n Q !-N,F!=lJb JA T,-S!Te3N1 Ft $Ŋ r"D`>2ugr2h& ʤ?PJH"J (  _8/# %q ( rS  ? N=T Q{Ni 2Md60d A)04>c@Wsy/6\9*Nn.Y"@7M|ě&{2 A*.a1`\wpoU&fFGTd/G !}g  "SXc di [rf< .06^5@2\,G$e 5bGb c(Ncdt>W3@G b  E98R_i B1j[7']-R KU4B\s*Ica-u(<M^"c4  k D GB`!!ZmM* tlEU 5GGD,3 $S=335[i'z'x7H?': h~w8!".PadB?>}o1[dj"A*i V|# (F^m jHi;hmxi"TJ g T WE ;!35;ZaLhxp;'-3` @,? mOYO?mSD3# 7|1jRD: PPM rD1xԗ%- )cWtAs W/  <n 4AiolT \3b.Ռ$* l(*z~GF3&pO 3+ "%a#gVm53[2.;eB.5c:%'twM7 0yXxo !|LWxlG!Eb'J< E^ XHS1ߴ.m G+Zd"G3t:`>F?u[:3(^/O $QO&|[ WDZL7J w(&jxL}OA%b SUjT-F$%# h 0;EAy8mp<W5)H?\?F)'J2<=y:vl 0s: ;12wS-5:jM2) cQ"FnT4 n--6/C 1qj<duJ5=`Qw?/$W_zKvXT;m <ZT[20p 5j!&=K2Wl8 Q8/^%u;L/`/'m|# jz)g{G62t RiNdXb vб[@61I2PJ{Y&f+,  | 7\)B ! +o?@j& 8(He 4 ;"sz$ *{a9tAS(R :R^r!>N\r;.]t" >c&4b APw !H ^46ll)]HJ7wY;8En[nYy`/2$j3c=Fa, 4]m Wf8.TrfbZvrRc;+EHIb 1&` tx.X%_ JM|E?#y 1q& l A .,H^ $kdLp8 Lj5. S * Rs^G.UBn v?UJO| oJ vq*~\ZEQ\eKL'_)0%ifJ>,&$=+K='w|),C@9)kOZqW5;3Qrc./. Sdn5pl5l+,ӸZ8Xp }NH!F.> &uK s q'I##~D ;m47,? < R\1aI5v&:q'u^$~M&8:U+`:"_1# F{+*#ZO-y$U %7`)R$)3|pK{By:T&=t;P > ,q "[4dձ@fSj\s{'PF&WB`5Oz>W% oS}T\[s l.3VL $_ho:J $ C/*E< n/9  E{.*DE= bXV0r28<-)D]]`GQ#rv)9sDE 3Ho]F2zH~H)<t l}N:Ed0#V N y+ #(# DTx18W?o6:$hv2b;lNWut7lRVASbsq~V9o!A| 6#v#*G]x-"Bs~8Jc`H h.+A+ rC O }O5[ [X]'9b & d% ` E;G1|Q#/ +)[nAl! c ^Tt,x2&d ^ LX >'&$ZkN c`'e l=5uF:`3HQ8! 4],WwJ-4v 9RXu",b}-4ec9d jg/`)LpW'F1D rF") D3Sj]4u717! ,  qJ = ; / V0%&#v^ ?f$Z>ѷ.a tLB% R t!) x  WPU's O$Lc1wA9 e2(} #s ! &;IgP,ulb!=Ƭ7OU'Êŏ[Q3VE&2xs"!*si(AZD Y} ed"j/ (( ;9 )3x%oyL&$%h &lSnz#f6N V U4 5(.[_jT 6UW\Y6w/yTqe^ D~JJjT;Y­O4p19K.Z/?Jjhc Fg1Loaf8 1&  < #4hV >!n1n!XX)p  5I6369r_fOЮ\]ay"+ r eB f6D3l\cO_iWo3Y5A^7? oS=dJ Z  NI2`ga \m; Kb2 p; )2nLBx*oQS 2B#7 m& 78q75Hkg]H BAv St 3/7 {4~@QLi^ Cj!Y <+@ )/C L660VI>` 9, &)&(a2 GB"a1lvH#eS8d'Cu6X^zx*rL)" m +G   =r Z@!,NkMa6] *i.(7M%`IU5c5*n ]!\ 8+9 daly. - tOy<7& ?R1Z?]k%(+q 2'zUP%,25ZF)CSKSX6>O.U_!?* #&$%I}#AY/17l QDjI9 1@&z19H?^ oFp#vJ[G}PoGN'd9S zC"MC! U`,5g^u4940"2^-"\(  +q G+'IWp K "0Iu Z2 >f.P J&5, N V% m-U)7&K~&j' 0,o*%. 0m" )W5` Y "Uml<"^DmOpA*"3&eIL:I)b  }$ = ?   DU vx !SEP  >gI 9 D\ ] nxF;,^TM hb~; &Z 4-` {,d#)S3c "iV %) &"/1k ,D!`!4F+"6v6G ;[ FXV zY%N & \CZI<bI6rVK*G$@[!Y!+ RC:"3v,j%?6)*y{1eb:?1̟0X/_z9xNL}5;~vZ. Hm'75P/BL$cy17 (!nq`m[Up!CWL\ {N.qsbHWWa9c xL!_ ;!c~C;?,1I.} p2'|%D0! wjr'Is ]Qi'9pH m4x*L/2OYo,/#C b3 KjZ'X46%:WU`#J 4Yq{W-?pF$ mF4 a cxj[ G*Ov@KK(5hs+ze '&SY cg38V B0B7 nkQh2ip  ! (v v $m j 1h @  Qe_Ke@B @N?(2Z,`ORxv2c0V(9Ca?=>D|96H*SR++5 x8f)9?I)5AxJ6,<oA1/v7Zf!$if8T1-g_8/\$XBwF;b <RKI mG$ - H|Qyn_)&_ i"#;rAA K6Y` Q.)%+# !"BQ0 6Z bs5)9o J/(<CBr#$ >"I%M% h` F:don}1 s1'R@&D.A&9qIi47G- )9"E!"8rX]3P8;4'Ebcd8n#:3" 7j4/z`+55@KJ .9g)54y@:/K'"(\CP$K46*2$$[X_^>NP-  23Y'N+rD~- +iu$VV=N ,hA `)5 `96)3 ; @$.:?r~SGO4 <!ZBQ7L ( 9h-9%C0$='^$  .YMh    1 9qgas =-/|6?s0$Bd)2xx-7BBz2$8& :@ 34 6;!-;%C::-g1%SPbA/CD=3)/ 7KI*a=v&]9bRkD,5 !p&`b7_V 1F>.s#)#1Q(,$42/c(x/)KB?b*Y1;6-T,;!5>)9Fu]e>v D)b1s9$3 RU*K.%+3 !L* M0:/6{51 #80#_D" ##R J39.?;"| ,kG V.5DP^E.a;z'$l8v/%x?]c,3h#|W0A&#Q("A <^"~"5U 5x, L06 +;f[(wT-o  "HP!-GW`' !r9#l=n! I(n\dQFt8ئKwV E0$ % ./%vD<@%FNr$ BSy$1Gxw*bt2B2pl#%( ] &M -w@k$ZL+2' [jS:&@Nf,( }q1$253X`K/F -"?g%w9>*,fk6IJAkAp*p2J3+,p")U!$UB(7 -z/+t1MP1l _E(v%hJ'r cKA ! &r. m6CQs)[k "#]&Lrd&<VL*Q0%Z;*BDO F<>?B' Z ,A)l*(!Rj$=CN6{5 R  Og%#B5?4^61,mJ0 iW bf w>/<[39^|'z8pB|V_Ca \/{lO~fVuJ;4 $mzWHWb&@,bcC0qa>jjKU>k b#=uoR1 FI A7r|9yյ% Zl )'52V66,!CV!+|Y+ H/ [31d{|7*N4: )+6q-0`:_h:F| rfTJ`@\hʶHi5 W{(y b^sl-B Ys0Y8q"7/""Cm :N,U4 <m  N09Z*r"@XIo$&P2L 0T(<)A AuB4u̸n#DByXhID5w$djP*{78d"N&f- 4-+yaZ_a*!JzpQRi1 w"c47JfV= ,ܴ&::@%de;yhx%B oGPpL_78 -#iq xVW"S=?/?_p5hjy< ?1k R$u!,k~G{b%.Yc;/o`+"  'd mDWr`]&Z- fHghmSWh6U@b6N,}{m+ZYݽ % '&z`RJnq:,G O8h%ia0:R -Kcq_`"i]s$ lZZ1 im, 'Ļ)nsb^%I!;.O! ] &o{v+8 -Hh;52 77a  `s  z % hB Nf. :!G Wl?.8(ff~j4" Ҡ@ "O/r! % \:95%UwOl2Pu50,k%p<))3 T32j+ /e39U<QO!|#y ] W Yp-J9M] }FS w(Z%c"OmDGxYyGb. E0/&8-H"UBB`$Q|9=A&"J>%I o -TRq VEV-M'!634) 5  JL\Q&8>~0w-5a< A_Uc:\4f; /\:" 4DY *,!UZ N4jpXRw 9e/1[)(sqiT$ O2Zq3:R$5hw$ga-3@38Sr8#z"G11M!J@ZP6}kKY} QAVlWO+`/8.d)Y2{kW<1W GWg."Jy M(>j u [ii[ 8{0m T*e #-"<T^eM d%+CXLO>v ?pYN b0IZ $E,4ZB 3A%3TA;E%6 n q{JOt[Y+]F^E# x(]K@9Oh*05Z(X:* 3 i?2 &313GB!&s [ MY4x A swDG+LJF5=GIwQyKW(P'b6Qvf;1n n!H%2Zm]U*=%(TP O ^dhC=L1; 3' +<#~EsZJ( e`#a N0-/H1bQo"q qr K21< 5@zf>%3=;$4,x<Y "w f;^OM< "<1YQDlA~Ir Y^!) 1c][0,QA@  # CEnCt*: do L  |$nP[B`R9| #& 2  N"$ la2,_0;QVrY df R`.&-J]-! 3[ o-x}1'5+;ZJ7^ k0gJ!2 tNr*'w0dX a/ bsgd *{9/q!;Se7 < u$$afG 9& @$  6XO ?L;&v"o'0 <9U#8f2"y -* ryDF:5JyEw06t cN@j P9@KR 0az;K@}LjJT yklhA "G, 8rc]A - #C"a% [  M^S@z| XN<5)buD$ykf 6S#I.'&2^ 2 >U [7yk o,1b.C1P[=c2 }dq*%QR1MU|%@ U!*JhN 8,P2M+F1 Q+F'0# + K7S D^ .*4i, -e&V~N+wt>A&S 6sHs-WvMxyC `_?he&--$~' _Be= r %""5? 4] W 6@CN)#&Bk&S E4"+5$no$af;;.D! 4qco2T Hb**5 PQ,{kz2@dU{cR^23Zu/8\hM-=ų"`Zf4) X\(E _\l\}F'ޛn %r;H=:Q96a '00(d!T"A ~8-h bV$!N 5!"o6G_ a/.,G :<'wX }-  )5+&*K3JC 7r0/.,G0%4b#5  fr_* :<'w6\/-  )5+K&3JC:9 PU Yw+*/.,G :<'wF\/-  )5+K&3JCPr0_5 (t 4}%%OcQy ; K8 c nMF( : - 9(#:=Y x n O t=6v\~p rgn JF , (%d T;C&#| M /#YWf&8*CiIuh>gg P0= 5)X%  c K92pd F& W _e  ;U vh! $?xBB0[M (o = ky~#w4q Q ~9N"p 8h$$Mg < #@$*A O]  n Q Qir 0  ij n EM-G>9<s}K nAZ'& ( V r.J +v p 1  !}ov3M Rk ; + u t ])0b(tFCN< R1 |`tu/{G>*  7 n "EH uK]"^U }) . v l]@E8>'d\?n9 &^ =$ 52#|k i@'>   !" \ X]8g tP-@C5{o}v;p7@ R# M + $Zz<] y2dMy$$k3B{4xpOn9] ^_C {R+Ni=>`,3d\ ;N}{E* ge()4)khLvz ?6*yQhnyL* 4e Ig~N:~Eߠ-4!\CG! 63_r 'dLO O  P} g87_j c! m B 7#L\-98| $7  G  O G,[z $(4% g^_DTA 75YM tG2% P L-R.wfo *;. o  t fM$<}=h x9)Os:)H:lW*NFC " *+Q01[9YjD[c.D,uIBI'1)֯6?EdPC/H(*e r ~0X1?,P3:%E46Y &Q;( . ! Z]Q :{ -"Ou1o }NVD ?r@| | .k0 D>+*ҝSVUr= P|RL#'y /H7*@Llgf% =Uhpx-PF!VA/B Cט>;fM@ x1 W,U c*% RUA?)-d5jVE< k ##z 7Bqg* )oW}8WeIB} u%!9:3n9 KY s<Z"-& "WP b tM2XaG)Z` >5T,d[19U3p4)n'+ [\6ـ&'TOX_>7bi[fm]p*dn64;L@ G! lcZ9r8bL(a rf)&K Q HN M8*2{ ,,x7Y );Jn>zePtAkb$Vv:#<,U=".)-DR  q,:eK])V8"O1zZn ;&(E~Q+ 5wm, 3OD_/(=W*gE gkg{v 0OXө@";$ t lC|mu Q Pc$n0 X+z K tL,M f jb 5`}OOiu cp hqcmCO# C_ !g }e(aW MHgN 'M $9ln Xab7R{@'8,@sbqU#F8L " <fw${- #JOs ZSZ2B,f|n)e KE .mZ9~l?t0tDvF#j'E\^8[S gs,_)1`y^xynE.XT0dn o+AE-'3xH_# x-gY9g/&0a r,=r9:$VD#`> qGb 5!7> +'Hu'U e[2/*Sn0.P 9J2l\K-< Z^  a35x  S -wKDcL%AG(7]3Z@R 79o} G*yE 2)&B##=V,# _^Z*' I,?w&N!2b 7g B`Ѿ!8"l{GDO=|sXsx8{/i, )~DvT5!v"_$%w: q;FMtBs^u4Ё6GO9? UHE}5@Ui[R7!MdBPհ8?Y?S/fw\%g C|#?b"'SQL& JLO^I.SJV%C)8v;":Bȧȇa A0TX`Z[r F`Ef'[>;;4ssxH `g5u"Q%I?-2F9PJz%v J%ie=>3`$7M ,uHYUcJ*/$8"OD! $1$ ei {pS'$0vS$.-* Iv*i*-M  W :A֑hP0Y1[ pH)܋E_EaB{Od :,Ao~u \bAxa]tJ!2vTtJ4/  $Q}L>!(0(j&@@ &:g`=^Di@:[r8}d/}@1Dq &N|:߿dgf(r4 66r"3 HX6L&"Mg $C%% }%&A8# % [504mˎ-Z,^?B6P3J + ?fBF\ɾ.) M1J$2 e =gs} 0D]_N Y'Ȁ%#C+2Z @KSh O"Tg s1bp KW TQ7!$1,Lb!B8P5 tBLL#! z_6B Jv:X'pj2Gp1lFLRy'C74P sR .g0<% v'rC-F<&*]9}!8.iZ>g0dS,!&%w! 0} u)TTR=9#3. N@qG@++K/nN>mt`ZC; t*U%5(M>V-d )_jy,g5,D' Zcg->E*b,)-Y2Mz$=&M4-Zr% 9AP;c- 9+@)= mHD 40=D9M* >m-6k/1" Dl%-0.4q>[]$"I& .[GcVng6$k(A SG4N&"-Xo/D1C/M\( $1^pE d[CZ_` aT$8G~@-7U>d)qCV}A/81p~A%+_wEUS"k$!98?/ sWdI&o$ J)^kjBd5'v3q6J8- NF Fga$& Bg"Od  >T#GA!b hkkR#dIbW}|  %1| $K''<t =-o9)N*! v'5 x!1uO2@~X!PQ 2"E _8#z>A[5uAc ('A."v&5a5Bp-j\6-4 _'&15rF ,m(6{M$,w(4%o%r  z4#W?I+ D1\ }& !nJ52 ({Wh.-T.?]>Ut Az9} zy6"<"2U) %0 'FV- (B-EAC!(#*l'=)*xa*) G.k3K1"nX4F+!wo&8.d%A~AcR +/"y.MMQ#6x];3JB9.InUHR?O"coFW$?w qX:n,V1R-' SkX-" 4!%#:8SDO"=+u-zBU`=$_cBU0L60%qDRb %'!7W8B(+l,8Z/#|'T%/.#"=$gW[>JJ7&Gi=#[#)Q=g[1 $5>f9-DO='utbMv{ !'xA e[`HcDK!J\=%'L81h !J`1 3o cJ )(OO3kd l5tRHq\=IL m!;&WoT1:: K<NF8 f %J&EnAJm 0' BLh$Fen+ Y.&^$^&G\KTK`d/$#Nl(,(fzQ&QqBz $%$*8c=#y,i\q\n* ;) 8X$8Ac P9Nl8`jhO&1_>C/h1D C: Iwr- o*/n̼ƸAqE9 39}R93 VP #{EP F _NACC%$_S D2+hkX_m*={GG7MD- zH,B,-2/,,&,.2l,(72h,+2-,*15;i\ W*oM(RJX<|ROHM#9|4Y L|AvUl(b=7;7iJ(O$j D % sX#}7"&n=?yy' [0M(e-!/'+#uJ&q*]%(ti3/?,*VDWG1+QF!G%"A%/_S<$'IAH:y$a 'F=%t,R0@ZT&<Be8'gOTo`cRy TMr"!(p'7+,+H5$j2= =//EWM>& KI "_){, ?x==mw(@$ N;MS- C(*/U2A *D% <I.iHF )]ag, >M!2T  _NKV .  yoBHx] bkk 37 2  l8:8FJ4|'k= ̖tV#@P&=3&&==?W===?g@. opt6lY23[i0XX  44444 44      :|$|:|$|:|$|R  fLn+#zl/XD9}9{ l \b)D>V:DK t UBa"9)p*%5$G+<, o! Pa1*w4>@N; &`+ -t)99Mg1~>1v Q);N$X2i!E_&J$xF:.C".`8,8 W0?[N vxcnc dd"<.+L "ooI X*  &MyR,o c.MiB%t~{3OO-`?F.^ IlbMqW 0/:~#a!XG(!N}r+''*>!r < aYW4/n Y V_Q-ct>6mx  <o>1m)l Bc:+ cK X`] b4F##m7e'P5$m h|nP@q!6jG/' |4BY@I)12By qcOLaKd e y~#NF\ x0b AKr QQ?r%Dnq&A d 8|)O[)^ kă=%+LUpud9 =6G1m!'CzE^5>W VdJ/ Pjv- JQ-_@A` .?[D^rb J%W#Ec c.%@eS7h:?;!ds~  W _! y 3z C"nAC VFx\KiM)y7@JW,Ep[NI\7't!<s "e CCu" =TlJIP [ƑjFvVD<'TS6 .oFcA g#oзCW6LZN۹fg >1f 0:cT_  Bs$8?B(4:?Bg6PR^9^~"?&W:  H$<3"  = {+&M*) 3 -A|)=k*\N4  Ь ~t+ f@[e{ T P*o MXd8vF=`1 -K,5"tj%q7Q$m"I*( 1 x 8=~5/m57d;@[%Bk" H t$]+ CRQ9Z=y"y-Gz3#'& >PpSEZ(r6MI A'yL,;VEU>29. C a"fZ8$wOv-aUUGqeq^u<(TO\f<=>o( i\ m,ZE#%#PP8 &:MY2,   pK ;#cfMbBd$ "- "yZ40Vn5D>8dBG8dL;& w)H5Y%N/!t+eHYQU]{`olNZ P;X'\b4K:_6+Bffs rr',WH!9E%U/ _J'09gP Edۙ$9>J[|(L 2'By"-%$H $]Y&p`DK.+5ۧ Bs mS*?A8~  4 ^#akWv@KBm;ֱ=CHV;U;4 ZH 0 i PWJ}bz; < gu^4D$U9CduB?329 `W5* ;D4T.m Oziz'a:qa%z itaz'z ><#1CDL<44@90p1?IDLLCJODL1b4@*~ Z _^'-:2l3e3e3e*(4+57;$+f6#^^.00@nO[ f6[r29 ;-,Sp6 8]n ? h (0] $_ %k/u ,ABX*R  6%R ])_*=34Vɇj%9u@jgM*_XZLhA5Fq 5E)\ # E9. Z*J[ x%d. c~˾ .[SvpLQt*@]1.,uF%%5- AF  J&$6, p&hAtD[$~ bK,0>2& e35AME4~B'1mF3b&./d&8`vm4=U O2OP 48s1 D>/ c|wf- W/P Bax5G2+n =E   6c "aH* X4K, ]S>$5hWq_HO YpRRs5^3F $`% w2J l>jZ$J%).5iI zx8AF 1  C+BP6]'  B L&'b /+P%!$.;<95v=?r s_Q AN1x_n;_M!x)5bua&%&UgFk 2\IFLU O7" 2gV!LF# n>[$  JmAU:]P- S *C 6?Kq:;1)  d&}(eB ` %(WAfHCH O { Ne W/DR kr 2Y  ` Ym\, >T X ? cd { XU#{ \:u 220q o ,%y# > Vvav>xv ~6! $M2H!~%M.$~041@PZ g$ o[?o/D , $&V% N?%t4c E H  . R -!|'#%mS. Z bbuvw$%[5*vK'n|[" 6Z 4Qed  z# ~ .+!gPevc% : 2 v g 5L   (:K N{ ?  1 V  AGnMF{)Vd x{ $j s#"; { D8z/Tf' "&! r'    KA?!&n&-Px EQ B6m e dX ><o~+B53;/kQb  4WY! !ji 6+! .P '1 p0j3 Y_  }kI "dc9"Q##4\EBbQZM0e:'aLh ,K;.: bk ]Aj *E R$ gq&|2E "nZl'"(c Jexn N/i cٯ)~ I.* +lm G(~Y !1FUc+ d np:u+ C `atXI(; o*UsXw *@$P' ]e %3 I g6>@5 o4f X'FQt a^5oG 4N ![ |" O DIo{ <S@'m*t1C dAzf?iY0 VZU6"2b5/Pc ] U%w#lPL6 SIr8 7>0 B*%Y< OB0C,Aa! @g 'y,i l  ?p\ DU 8^fM _I=.vL ^ & ZrC*j58}&w+!@[gMT{zl&9i e 1# #GIY-5!;>x /rBQVmmL   Z~P* D#fL-#!R$a*H9b6)to:+GC1O8Y[ 8 PM ]=p O"17L n4U (dW6-s ?%1)rc>* k: !G' l YK %6mpev, eY wG@,#G NRG 1 QXiU!;5-~ H `,[# :Z=" h s&'5V+.7@J 1-C{!3 /t ?#&FM T WS 5 i V9Y E? Z "#`?p +~4 G<1:9 Vj1@1w/S 7X0~'H(%0Z|x?CpHF( &S< iJ ~" " RS1   e!i!, z^'N["%H !00lQ 6.'/" Td3qk*(/ 2s  _&" 's N 0v[l tDI46i=v En ,+P6DZB  ^{] S@0HuW Nk 4c ,` =)&! & 5KkB f{  1 &"C)S owљ!6; ~*"!"/5,4gya< B\je 9.!" K EO>i "E0q &2B y4bl ]pz &n D h~))G  Lf/ ]ubk T  OF vGG tx *\LQ4^ 2>fF' R/bs zs d K&RmT   ! Vm| }@Jjq|!fkv5?/ E  P1G Pb<tV.F 0Nk "l7-[9~U#N7* KWv"pN 8$    =1H 0TsC, KE!Ce \! t \^/|) ;,%?(v? @5@%.1" !# #n@u3 1%=n 0 .t-1n%12Y d J:%*A9d 5 #Yl  2;;&C'" T:c_jI%qZ:q@ h a cIy(UGSdl ^XO l C^I|a#3VdGbkKc !!n5 B8vj]|#:I{ X/s2'L:%M"0CN/!5 x"7ZU H/(t k<21p 2 .DE$ k /i \@ _ .&Raammp z?%vh? n$$ p Ah .c {.S2 Q/~ $Rp ;'y, j_hZ9 &DAY9h(> G5t !'!$(E; KskA'  5hjWgj.| kt DroG@uO,33#c n!< ,}!0>`} BC9& *bX'w?2(@5$- *w0D7v6W:&'ZAO]$'*dCL YV"h rR i+  FD 3Ixs3L5# FU :  O 2/ R $^1f(<[1!3y F N,{1}luJ p ! 9ACG e ( E 6{%'> # W 5l MCS}L%Y*8V7T=Q ; 69$*]'_$ Y   e)+*^ _ ;ey$V%6R& pLh tL*Zl5#F"x> 5y(0aJ  2vDh8<%((yLX%S  >$7L>? _8X".enC pJ,S&1* O%k\ $ 9&%$ F':K op,#W{ "Y ;Ag7KP; ~Pj *%\% + gVhI@@ ]~79 JK< AoFE'4 " N%IO f 4Rns(,l jD0]iD4 Cz4q=+k=!<#ypF:Z l'   )Yq s+h(# en XVB>t"8, w G! ") y (ef ("P =m':BI @  V)Q d`1fo% #\+ )  s KO d,yu3 U =_Kq<[0 !ja4j" V;+D R r( z \!_!Q.+  ] '#=-B !   i-C2a q 3@61 ]- Eq  2$xQk#1H  O? &X 0 ` 1 $" \x -1&u_m/>J $"'2+8': M%M `|q` Dx h"3&2IW|&y / C@+K#E \ v!4 /d&DTPQ  alaI ,z  p)k E0}c YB na (N);" @@b"*tL33: 3  @( - n 48&@CzQSEK0bFyhM " ,Yb< ()' ,-> nY*PrE@ls KRxT )  1 >i%i q^ S.#Sq ]$y yB P }  ` 4rH < XTW2?Z{[ HXY "fS Qd^J0lF 9 _A)+#[l3x,8Yo,z#ABy2c"(H) + ?zPbm9x{ eeL k O62[ } ' x ( g 9 >: - a t-%Da  "~ V 0j t 4N tc <fcg0 6"1U>I\BCr Y .b ;^64 .y) t+*.4;D sxqJo] #M? ` 'C3J , A6c X  p# QD 83o$!XNKQ"! @.G6*Y{I :6 6D":gn !T"8fyL~w @]lK @Th4 f=' +}_:f`2<FT.&U:) &5__@7 21 0#;v 'y u[r)VzeP f :+R0%_eS>)Pi%EvOjK75 v |yo6>1>$Sٸ+}0 /GBv3ue2N:u6SJVXt >Eq #"{"GYkٮX8  Vl.!?9@} >  d\ h2)Ohj-V*Hl4+ xJJIIvJJyxM[P77J\glpx :!j$G8 \ ?d i f`>*]!y1D& vjJ 2DbH8Hp $& $3@}   2TE1e/2.(l1JF^N.a !sRv5 p q vE1)$-'ZN"' s,1)9w %  *rU+ u G  H6QqM y/-/2j4 __  mS*'5+b6b?.9b.(*O+ AR }kP ". 2B /VZjŷ׶7 ϡZBXJ. u6A d*_qQGS,y%!: !k ' :(T @x*:|@$2% Rk#9CRhe9+H 83ŪI_H(f ? \dp|du7 K'dWZ Fbt |=KF"'ZMY!}5"bIPM564 6P cu bg K\`YpUH$K y8 >[-{U'F@ G#y*#d,,9 @w6 JwNw]AOm s%,>@MTTgo)D F(r?1f?PLu~`[;= vL;po SW\F9 yXBBUv< +Pytb50K}_o/̹ m @<Zk(b 9]t\L'j9"#BsEhy =F#0f#1b)~@  )  9 f y 9ywc .v3Ji9*?[ g!nmM E /4,0cgiFAPk NJ * ')( 0 c4`'\X[xʇwasPRWS3(1%X`2zo(b#b <&b0p `  Nj&n=FA|.] *(@J1l"\du4 OJ@} N=WPqvAQww g #xt+ղJ ?TKFIO >_ RC AY O^d  I jA7Q0D)A5 -OBp=v (#]8d xm ? >#] 8f Refj 6 /Zv}Q'B]<Lv!fz#yx)%H>#?rTcv:\<\uHq/|?B6H6D1[ 2 U [ N \ 3\ r S H 1Q*n ? (zIr1'(A QpQ o # ; j ,(tVS6 hl*-rd-,N:& 6<!"k[gZ;-|>Q\& w) o3  "p I %e\8eId.VbSnf0 wfWn |MB6\ O6(% ݎ 3tdx,3K)?Y: C5 V 0M! # d2+XA'2EA 1   >.-N|M''U'6Jraa c  g4&q' r^ 9 1w4 %C6%@kh+lg0492vP%*?eIZ՜e[6u}Q[l  % ZJ=X)48X&<( LBew&$&AOjeRn]#r;$|U_m *hv-w 1% e T;s$H*/I`/A}!k?LGԔwP(2 i[2F@Z}?A~ZIZiBd SqG -#m;Df-s2*.UgAg$^~/(Mc "o s H Ve7Z%s{nLl}!/t#? H&-,C! ]'*{;|'b234@DB8,L5V]/I>PQ %6( ]  GO1D Q%1 /  R'HD A6N_3?`b.O I5m1e1U>_ |292Z_ ` Z n zMmO''*^ 863K@qR azP1U N4 8y P , e-k&e  U !' P+u$| :Z=  #ExY h G1l&^. M uM  _#JG4'i8lMVRr  G 0l K)fMTo{W3 ye]! n[8;%S ycvHQ@kt#xdU  ]I bLFA0Yz#N~Z',&?p UJ TW 01 uK? C "j3s h3 y4'4G SWV8 AAd2O-553t'@x1v2 oA%-\/@o;QA K !b$& _#{#  }-1/ QG,'>$y).D u $ .!)'IM{BR tj eK&;WYLK(y%+%"#ZBA:{AB&7E;p 'N ^[}:wK^R26!-:-WKLa6}T,$Em>I "" BAW7/ |_x7&/J1$t [<76AM"[J[29R% tE">". G\0 wr1%9y@ J++/`"T/Rkm#tPt%FU1;%DBm +owxF qS6 07'}?q$d-"QQ5N>c xL[;Uq M =?(o"#e( 5ZS EQ, u p! u<X% .D OC*1GHQeH -n. 41WF F\h@A ,1b2.aRTJ]9f /YzfS3, }s"Y<$5$Rq'#[%7 d8<*?>H ~H ZW(2}B=WHN$kxleu"  2 mTlN*}  g@WG{<pW50i.#. < t a  7 p:cB  zzk4':X w8 r(d A  5 z4 ! lx L. `  ; t mZ}! / D0,8e'.\Z"! '+>Rp  SfJI g ZC  GH Xdr$(;o{2&} +MgFs> tqhj)j %%_ "A"M!bX! W@02?` ZMM. O%*# pediu\ ,e>BcM6A7H/ % j[: x"%rz" ,Dd #|J*i>fkGd*d~j% +#G nF:|x@ys 1pr>ndz Q O{JrJ6I =/4@ el7{n?'/wDAG5d1 ' !h^8% Z7 _2!:  O!@ .Ul3Z GR $r -jK-_z+ bY'~T1! ; P HY9 X$&(>=e0O5/+oy0"S& iP"5"D DfG\(H)x x0"TAOEu v ,(Ad{&hIAj-"E 36 ?_Ch9 K*  > '?Ap R3,5@Ҁ k 1x,lbc -t[BL 6U S);Kl+<0sx NI l&z9_7' %g ir ;*{egm}me/ vn J|c/"| <=k}\w G44 0NPg ' ~T CQ(U4U& DV.f 6 >L=%2 -AH:@W; ^v1 7oNM=rJe*O /$7*n֋2-ujB:O[h~6Y-QBJw 3 [C27b  $3d1zI2Q9 p^u2k5@" \T4'`$%l%.)&&2*" !,k# &y)K  '+ c!E?/1`'j7,! Fj  `)dg(v -$2y{Z* )BZA,:]L_  5,)LQ<!&x#b \6 Zp(RIP* +Z MT<1B I.=vk7!1fmx~!|)(4| Py R'$ yAD k.V V x 0 d/MC,\mW\ N V TD+wQz L# X l a b a e2' $&*)"W9< Y  2,JRA?>b?#q:J 49&Y:g8t "D3'xX{/ t!v=+ hlJJ6y 2@d iK#$ | :o sg$z * JK9OOdn!VV)}:Gt>PBE&;G'?o!;ZNZA/ eJ`Wn s9JF`G\7E*L`)p " ]x&d [> H1x!*3E x9,oo Jx6Ln"5Fˏ7RB'3*,v$F$.=! s 1 a# rKXr<@G *\pz~Zuc ?} G /SbrH D3=. $!.2+kJ`9 5&8. =l&{z&nU n)    ,,h 8 a`N6hFT)4. U" 1GZ3g<`sc 5] "2; u6FEW /#e&>. X; s+H)ArZpfQ|8?"&%DK2'-Z)AM"zp,!h`[G  Z^%Y  d6') 64td!SLq*3{7,R#'L < H|\A}`([G~p0y`h2?Q%E"$W VK (=Y |gV.!vOm&M",xCpsPiItxDk0sMJry ZjED6L%(1JPqVH D "?s A+? "q !$x( ~>*$YW2ZbZ# @q0~iTl>Iv 4bl+/>  XPZJCD<+_}a K4 Fw6tfX l-bl 1kzrsIQsRJy Blfew}KnaȤpO -^okO' <*5[=ׂ!eaH# (P&t?*zg:c]"H I#` $ve ?F +8U A#723, F"M8"|1B*[49 R5,B# G§kL:@U-L=<@Li-0)1$JO 4 %/=4Nhgw#\#PX,q.lEGK5((#xgp fL_r>B@{P T*" ,Y u$&< "W =O7n s"pC] zd*m  <_=?.$?V o1L$o% -SJ;J& F0?^l*$$/+n`a~< )W!4Pv"'5}.+0 (NB'pL %$,Br,: {?~ b Rv*l?A c&!: .X;~% (S;D Ag/1" I6K .)"5%"r4t)~R#0 R3SvY_PA?' 0@-W!*<U^A%51zfK_w%E#Y s-4}1/M \ O?d6)-m+-]$HPa< -7=7 <Q$g)'EW0Z *,5XN/rbFg/#,>:Dy9kn s;p%p&.o$eek7v>@z(vZ*I-kF-[W7=ei*Y{F.SN9#$ xsU`/;nRX{B>!-"V808'!~Es |8~ pvj{w3VR KyBzLf4q__gglt5B(S!P #>%n%%\%!^mS`$<< J !1EG-I gX*+L/LL ;E;3EkWZjeYUdFAfc{cf1IHnS;+SlGlg&d L4 [4Yknt=a h!@Ur ot%q{50D VD  X' < HOU4 PQ sVob Q|#_t"- >,") lC ! 6?/ c;742!D:::i)C')^x+M:6l_zf[&^g#AdMgF( KD  e6 ,*k wp=8 UM/& >D< |}'=#l a Hoyt?[#& M f _ Ou6$7B k?"AG1}j*O#n*F>r8Z-# //I2  m_aD/<Gj5 'Az<v2`5 '[ z< ^~. A K oY _0 (%0p(' 3TwB5qz`Y$ $ N7*0mKB0(Qj7aZ "fkn3z( % {[E.Zh \%XGqy\X* W;ER$q!<Za2!k(#.brc.n'*Vv < f4^+'?)>'?E' >%'?f'2 > uY $ "1`:H5M "1nQ:H'2 M;3 /Z+\Q3IZ) 6 991=S X6~DI1 4(\ii d\ii !{91@S+D vy mnWGN%4/psep!vk;a!vkD(]W!vlUU d< lfc!NmSrK B QV C  #JmR,Nzooo+u f;.6 W9 $ f.'N|gankaqu`` }4m m Q%(9 C6V [e SQ@& G1 *.Q x  a  P d 3- [ 'N Z wYu=JAuRAo G"y# 5[ 6aCz HSLTWYV xg4aLV$G[+cG[:S$ M f k1@A'6 . Y,A=L/*b2hGA13x$ `E-8&uz!J ;1 n[c& =D< x X .M|. rE I HP2Վ#5M0 msB 9'^4K>C~m ;&;Yz Pg%mp -H?Xui&Tfm&M   2B Z?l'D  ~8  \%] YI -#x l`|E }#.F\nhX)v   qf*}/d'*%A B-c< R x;"w%v I {aNcbbb;9_d +({ +)xyk!(G$#c%DXG . O \ (j d  Q gv4''-j72+> "M@Z $P d ]QrA^*%FB;8^i4+aEi~ '];ha3l_ kg !]4YC=Mm+%sl0 &  aj)5ZNg-x%v \( { X\ [8&E aze,  9.3AGDu \ _ _G2$o4 =U81XL B6z ;*3J Z1'@> .!A" } ] ]-1+/v x    ' RY0  & 8 u8# k <%HU4   7oA K rw74 8  > G # J  5   ia*+o8}mo : p 5 ^   i xgd%%WJ4_WLOi0ibl0/  h < 06.  <u%10uu$u$u!u&u+u' #s/O *XT)l8N9E=PoH qW,S !R("4n *s!$&&H i)GBS8Ea }yV: # F D rET5Z%b# e Fr  j   %(&+ 17n&[ k }a  ) }To1 69/`\ L[ l @ %e $%u  I %:N#]BD$4/#@{32B@FM%(pn Bu, ee  |6 1 $ 9-0_R i. f8_mr\C 0+  u{/1:36 t1v4OMp* f2AJ 9r9!KMX5` 6>#.=bGT+5Jb fwMYjx/#$0A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤큤큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤AA큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤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큤AA큤A큤AA큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤A큤AA큤AA큤AA큤AA큤AA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤AA큤A큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤AA큤A큤AA큤A큤AA큤AAAA큤AAA큤AAA큤AAA큤AAA큤AAA큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤큤A큤AAA큤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큤AA큤A큤A큤A큤A큤A큤AAA큤A큤AA큤A큤AAA큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AAAA큤AA큤A큤AA큤AA큤A큤AA큤A큤AA큤A큤AA큤AA큤AA큤AA큤AA큤A큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤AA큤AA큤AA큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤AA큤A큤AA큤AA큤A큤AA큤AA큤AA큤AA큤AA큤AA큤A큤AA큤AA큤AA큤A큤A큤AA큤AA큤A큤AA큤AA큤AA큤AA큤A큤AA큤A큤AA큤AA큤AAA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤A큤AA큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤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큤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큤A큤A큤A큤A큤A큤A큤A큤A큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤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큤AA큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤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큤AA큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤큤AAA큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤큤큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤AA큤AAAA큤AAA큤AA큤AAA큤AA큤AAAA큤AAA큤AA큤AAAA큤AAA큤AA큤AAAA큤AAAA큤AAA큤AA큤AAAA큤AAAA큤AAA큤AA큤AAA큤AA큤AAAA큤AAA큤AA큤AAA큤AA큤AAA큤AA큤AAA큤AA큤A큤AAA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤큤큤큤A큤AAA큤A큤A큤A큤AA큤A큤AA큤큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤큤A큤AA큤A큤AA큤A큤A큤A큤A큤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큤AA큤A큤A큤큤A큤A큤A큤A큤A큤큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AAA큤A큤AA큤AAA큤큤A큤큤큤큤큤A큤A큤큤AA큤AA큤A큤A큤A큤A큤A큤A큤큤A큤큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤AAA큤A큤A큤A큤AA큤AA큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤큤A큤A큤A큤A큤AAA큤큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤큤큤A큤A큤A큤A큤A큤A큤큤큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤AA큤AA큤A큤A큤A큤AA큤AA큤AA큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤큤A큤AA큤AA큤AAA큤A큤AA큤A큤A큤큤A큤A큤A큤AA큤A큤A큤A큤큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|YY|]ަ]ަ]ަ]ަYY|]ަ]ަYY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|]ަ]ަYY|]ަ]ަYY|YY|YY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|YY|YY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|YY|YY|YY|YY|YY|YY|YY|YY|YY|YY|YY|YY|YY|YY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|YY|YY|YY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ] ] ]ަ]ަYY|]ަ]ަ]ަ]ަYY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަYY|YY|]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަ]ަdbd64d3f532b962d4681d79077cc186340f5f439de7f99c709b01892332af86696dd6dea164ed565ed47537f97d3751258c50b8537193e01d3b8c0f0143db26ab0e0fc132a6d5954d9085edbc9833b1402044fbb9f24497b07c45f04057ca4158828b0ca10f107129db012a8930f37259b339926bd84c2d69e86fab5beaabcc3af8067302947c01fd9eee72befa54c7e3ef8a48fecde7fd71277f2290b2bf0f74d0c3abf7c3530720efa2bfe38d49f4ceb3d979ef3d2c817153d4c2a28efa4ca8ab779c717d65dd3a2673910de6b14fd3c9795299cc86242b1bc8a00be2a10c4ec27719ab32f1238e9312e790a8ddc0a0e16a453f61049ed348ecc20a26727a9c0ae7fa3c3251181b5365d7b7746da8c78f3663a006d321f1b81bba56ff208888eceb53eea62dfe79cd7d0f1de2feb69af76bec0443b3bd7aacd9501d5209313d5dedff9faaab4028054efa3822ca5395e07989be9d28012875beaa075fc3fb62c81bf4a9cb27897bfd576ca20d298480e171e139b3369d7376789f700c9e475945c5706a46cdbd79bb7368fa4ddf3584d330e116ed318462c3073f35b0a1c5ee031f72959a5b4a3cfb7acf04aac473d5f5be2d737b1c19b599048a618fb2717228cf3c00529292d257c9f2bdbd2df6539d183219fd7d6357ff43c9d061135e0c0e220f962ea1dc37cb306e8ec7f332c63f77d5faba05a91331c896d97d64624b74b50a0fa2bca69411a360d18010a355ff67977eab27adc70ca42f1da3c212951f59def9df12a98584efff78e47dba7f838726c371bec3b7955a1492b16d3af557d5e4e5332280874b949674920630820ddb6bdfe07ee4fc044421fc963d3db4d8a855ea4d51a8d66d701c54bbec083ad0f8f89e24e5b07fcf54498a6d8865d85485c7283226477e43e01998d7285510e9c582fa58d688b3117ffd5e29629596528a53601ec021041576812702b2a78263834c9fbe7f979e68ded61f5e428f712cec9886a80b408779735412ec598ca682c1db3df62e621306d564665fd517b324fb603d4743a5213d3e2314ecd99a7e0426ef5d04496270244e7d70ab1119a5843e10be49899e218da94e9a5d49a1410c11be0950700327e45abfc70c95364d7265d2bb8d7b9e7ea19a3b09d1b039c05a28499d7675ca1cb561c50e3dba94e3c959eb25f1242ec1f98a7942fff4a9c618e0bd12ee16e7009e133b0bd95f154eeaff40bd5779aef82a93109e763bc0b40ee75560b82c54a8637bd4d4949299b9d6ddaed29dec0fa801e558167c017ee00a8383d2bc140ccf8e8a349842c5ef81af461b1325ed75e75d9078e131fad588fb0cf707447aeec2f47b28b3f3fcfd9442f2ca168f00ede9a00563486a408543c9c5e8e38041928165d0dd199027e58dcd7744fee1f30d1ad7980532b193953d916419fc358139238b80512f7128c5951577e41442bf8d7af12baca842cc4ca1b283f451cf8b0dfc8150cb42c9a90640257c81937f19a9af5f0951f63861eb7331732821427f46a622789acc871b87d9374a6b48da08e962f5f059cd94d24e3e62946d912c8d54dbae10b608be88da103b151a3ddcab430ebf5f76e5b54eca9ab710c2a4f67e7f4e25963f8bab4597093c52858898237445695b9c53319744c3ff137454776887d28324bd504a1b2c024dba54a1b6460d469f1206958187082f267be41df7b896cea90f3f81983380a128f8caa0fd0ba43784272aff491c4a681cf2495a1be0ff5e7bffa7abc58df0e960e96fde7c47bd2060aa3f77623b89cf398e579a7667cd120ef10be9104ad37432e1d760f39f726d08112d2ef785aaab03e9838195e0e45b0a8658539b910138f7d7f53d73b1697382a1e3ab028b9363ea9068fa74bf07f2751329cb442c5e3a45d559aea91fe16efc7c732017c497ba8f07fdffbb021d9a8753da8cc753303b18842d593b41d5e30ac680aa0958069c0bbb56935eee82f6cdb2a6124e2ec391abdf2aff0e16bab393d02aef1f3b971b1f5b69ef793ca49c47c533dead4d728fdefd70d0fd74b2177abeb49ede8995c5c9878d9204c663d4763e41705e920604cd0ff8039812bf2435264369bd293e6e86cc65c3fbe0d98c634c5ae774cc37c84e5f11fb29ba6be16c07cef140f7826c54c6ee1599037c1d6df01b50611aaedee29f420d447c4cbc8aa64a400ac7cd9ae0b5b2fdf1c47ecb5822be999f38a3166fc3ea1cb1150c9d61c096536c1123a5872308cba74f83c1151f82677e454a4ae4b49941fce243972b0c91a2da11de094c8f7fc3dffe4ac376bc6e676fce59f28291b3e7bc7edf6dc2b4508ffd859a23129deb7cd2e301d6cd1c2b9c896a61cbede039ca517c886d2a14ebaa1c8451bc3c8d60e5f59867dbc00bfd01bb7b2fc678e77e02dd216f2d10ec0345cefdd1314a1cdd6186b33d388581ee23ae75060daa2d39dbcb3696cd5eaa9d61ccf8c657a32417f1ca527dffc2f96078d9fa2f4513a11c5a39ec1df27a23581401981883ecbd01853c449d24cd0a0c7b5f965976c5d430887d90539e06aa585ff038330bf794d8639438e4984cda39a14cea0b66b9a238ab338f356537c378cd38c83e923cc65887c56ee402d00fa611d4e45430bbe5c8b75f090dd7d2cc9fc29c4dc7772993b863a48ad74ce3471fff43371f7cb3995c65447559459244be476620e375584a9b8342c1a42287000f02dc3c34687df4eb7fbf49fd3e8fda8cb2dbe336dcbe8ed9683de15888b18a6301d4da735ef786af4ea37df5445e95043f39073475c5ad45bc0222a9ee47eecb03bafc074e57fa51f5bef670a9054f5c49452224e176592321110c51a5d69d61484f35b282632eb0c42cd199f89231dddc78c6421414913ce80e84da56c59b615640925260f811c658205944d12176de394e899c49cccb365db260b2cdc278ac827ebcdfcaa69da0a67f545efc36e960c5e31c2a274341d504205afee31540c246774c2983d48cb7973c0d0ac3e14991d11fe43a0cfba1fb018291aa282ff3bfd5934997cd818eb9082de7e988fe11a7f93d82e6441247ca3df2273e836de9045e36519069202c944a142751c6f37ae71254e94689004edcdca7809f4f0eef565dd097bf0467cedfda4941e6213bbdaed7bac96ba1156ffb1d404b2f185036fb3839f9dead4cba7cb062d07db6a720b48bb3b5af5b76ece625753cfbe858fa2258b589f087fcdf0229eecbd65064b638acff39ca43989e14e0fe4404674fb9ebe96881adab00df4dba0b3cf14f1599544a16edceaf9b4d6f1eb78bf0479cc8d3b0f4ee725a7c6aa7900b850ee3a8d018d410b088a9b12ffdfe377b6109b7b342bca310553621f25c07055fe4381f5ff026bcaf683e5ea0f2cd287b98191854774eff7a1e4ac6cfc9c8141c7021dd7dde194582d7ed3ebced547b5846f2873fa2cb8ef0ddb493fa85219c33d78ec44073e15e7c6f9e05a2c7d10bfe024ed082eda487861d3f255718975cd70a400005d5e9d45cd0614bac2eb4efa9eb6a4717fcd4ed9500bf5f9839c158bf2dd22191d4846af7a17d7e35018f4afd9bdca86c8ddcd4ee6571a733defaf2a9d1fa4fc84b45d555fbcae21c48b146d237fac41e649db637693c92f8fd818be4efb3e73c194062d8e4dbed34c71683fd6a1a82bb8572d9cf0472c58eef074c935b866f22ab13f1403f9dd7160b6afdf62c5cd0d997ec39274ab91157ba9934f5e44722fa16bd34a68039577c3d3a07d27d6bae38bcc0b2804f9a39ac47a4a23a4bae26a34fa45b26bdb7c9d72ecc7328c0933275baa4c74131c26cb5ea9ea7f89a1eb45bd2fbfd60005b95c7073c5d76e78c9a88e83452f709cb343b8d9335cf550c3d28f3b2f633853684c61203cc65858c81cb0e0112d02b526b75ab2ff9cee8e0dc225dc64901ac1fff7d65f29b09558d9e52b118c217c0781fc4ca1c5f3bbb6f23dbc1a830f42af96525bf3549ee761a89d749a3375848fe1614c5cb95845730b03476fba03dba31cecee1f08256a1cfbbe046fbf574f254d51e9f4c40b5ee5198ec9315c199ec76c483c88c2f46eef25d20df7b87ed65f24953254ad3616eafbf21d344fd7e6c13a82639dfffc0e07b274794d57032728b338f56b752ada2fa12bb583052cdc0550f64670cb30816e143f2f24450611e6cc430ec69a6654d50db0812758ce1a7670047ec04b62b5730a93927c19ccbdb6434ef9c70449ba61b03022570ee62f08aa01c7b7301f2875b0f8985ed610fd8239d6b0d7122c37e0d05d29a3a18d150978ae1d6a0edc3b10711880610a7dc9eead98acf6f3e01b074ae87facd78a59641f454c00c664fed6346d3215403b3020a80f10193d936a37a81590f30b16e0d1903cac5879801c7aaea2225e7517ce519f6084be1a39d828a7390481c8075cecfd726704597bbba2128dcb99e76aee1ec5e99622af431650e62fb6b5c697b80af168b4127f6ee999d9eff3edc2e08fd348b304e5e57ceb830c50fd179964da19eddefb1f3b1c1c883694df54c77339a0afea48ff55477c380d2da33f8f86f2e192f7b07727bb381775a0fcaed9b9bb3536a68c449e85dfcc4cce11679a0c8c8e05e6328759c61e02a900ba753ab560a83986b5e6d51cca4659733e9213a1437903f0656517d1776000bac9a863ff068154bd9847038534ae00cf2bff70ba625b6b2fc9daae93d97b3d200067371a7423d2d5cb5f67a9c7fb17ca23400ef6eeb26b63a8e396125c61492ce16295f49ca2427dc1515b0e1ed1c6135d18ed682a623d6c7afcef8c71633b6a06c3f57b3d1f15011ec8b4914f3131835230c7a1ada0cfecc6e24372b4e336f6d08da902c7061382f59cbe10f11fe535a5bc655d52d8e6e1fba8f264f2ae934f058f83ede4c748661935d508e238f319d6952936749bdc6d82051cde9f97a45c1c7bb67201a8726f2a5e2c60cd823c56196cca46a9625bdce5c1bb0fed6cc3b0eb265b34c027c2b68d6ee74e9713a560f6bb1767d319b47bb7b2869cdda348b1536d85322ea2c19e47015c7771d21fb6ba004bb53908c00fabbf8674ea2fccc41b96f1a979f1bf30642569e480a9ac8d269cbadf846559755852a14db4e66a12b4d78de7346e74ef98424e0f6b37d6a7fb87f184cfb10e071e87fe68d9358bd22241f861d3f5aea6dc85d46bf1eb7bcaa52f1c369e8e6f39c592d343e5447c918c1685996c406c164b067ee259f11482e9ec94b90c73fde929ab292a3e2117374469a4aee805776f3ddd814ce97c3db6f6c287f4143961ce6ee295f4efb1188733ba1738c817f5912541f652bf1648ac8a92c2d79d1237681d0f416f67879bb95a91f577df76b701505931ececd7910fc6fa10fda595089e0cc9e086c8c6ebdeaf292bf48622938d0daa891959b2e87908f8307b09ad1f51ff40ae2b2b3108e01efd69af8326d7c5df26d26143dc24f1a91d9f2546a80811af1eca24b260c9b15a07c91b1fe9a8bdea7dd95135b2a9f904aad6a51e9cfa1313d363df560c090e9c8207820d5e5733b4716cb28879bc235a9f6e36a0434a9abf13fb259e67263b81c08fa0a4baf2cae45919178fdf2f949ff5aea51c9c39b3833baed51b25b117e62d1820fbd6cebb00b686398a80efcb6c393fcabd8525c818c138db4676a11c428d373934fabdd1254e657e3127111168eff80944ea93ba6c6cc720288ca9b69e8c0cb0526a44e22d2742df3629b480930c287be372e8c6d9e81b49d3a8c44ccf1ebddd31298315338fb34dee2475e35d9124038a470bc0d15413e5e0bd78932860aa39642e07162fd03fbf96ebd411a5870335b8c9debf6cf7fddd0db84cc5ff968782b4ba1f06cef73ca2fe6f5d63456e235a90e4c2eced0cb4f346017f6b7b306eef0d9c84b7426a86792a8d0835b4d3c026a8a1dd5c03cab90b0517994cb5e70e129aaa522dbf9419a496663e7817d69e2095919eb8f87c373e404f054eae31cbef1e1b27df872ba93637be635e6bda07e339bba52a9a3bcd9fe882edf21714f21db0f2a1a8ca3cf564f2884350c73169e3e9d3d4810ae0163cac244473e5919722f6e27518c28798aa2d7fa9c43a181aabe9172173cc7de776bbf6349f070dbdf4653a610c723066ce5ea176afecb10a4b0aacc6977df3f7f701e98a2a54b4e6cffb1a1066ef55afbb689fc37a4935fba64d1f28e7d05e4536d47c984926eb4de5701691eedd349c8a5b74acab89d7b96ea31303aef8f99e1e20b123079d6c1de078016282b17ffd28186546d459323c94557ad08a5853239d80803d820307c07700fd237d2772063ebdd3030382cf8d57f733793a181f546c8bdfe93d21061aac72a2e038c3e376171cd5f528b133fe96a94912e14952301220746f00c8b013a9138d309486fd2cab4a6bb96097ca631b9283773b5212dda92c818d58ba8e92ca6e8163e1cb40085975e7992eb01b090de28b9984a73aa688395ac526ce45e48f399cd0d9f5f6ce0c542de89157677ba027da301c0230b5acaea70aa5b1b23bbfde5938090fd1ddc04e8e74e87b2a6f422e2bf727f702eb2152a35b3d9d159e86456992d1f00ec847d7c082e6a52b49dad29f99969bc7e29de211f1ca6569841b73458bc80e8742230e908c5039a19ed71a1d16d75833383598f4ddf087dfd742a1774b1cb2635f439f9cfb3190efb7f3f136331ec8bb4f964a9bb14d9c3c25cc1cf51aad0bfd87961672d35ec04416db7e48b01f7cb61531b937a3d3be347b7c9b6d7c495e8431307d83c725907c669ce2aa759731dfc8821162eb21cea904060dcb6b2d35082b58322dd050a5d9e064709fb7f69b7f340c4b071ea53dbcac4b29753df56802a64ef084dd7a28b545457e5e8e520ea7e5dfdc5d82543ac8fe60732186e8f466d4d8162e741a7196e5e69cb9e705f74632eebad071c14a5f951107012e6f062ca9d37f66f59cb4ae359baa1935b1d2a0e76ea4aa64392f6ea5ce71ae5de72ecaf263c0aa5165e48b302d300592901467f50dad381bc5f0f316ba0aaf3dd6433c9df41da5f718757784d510dcf33a27cfeca91b1bff25b939c50fb8cb89c5351c81339b21f30228ace407f54855e4e6991ccd98f74b75e117b1a236a299d262423b77c55f8a4fd25cd9d987ad9df3e6a733a483cff3a4bf74f4116ccdc1b28e54fbf2debfbc5022ccb1abee55af3baadf897bd5c4e169a7a4ae25b61272fac6ec5793ff83501dbb8fa9721b0d2dc2e0a1e34fbbfe26dfc4eca7c1a0d384954211b5ef11bd7f3774f4278a6eee04e29d2ad9a00bcdfa747dc96fab0335fdd270c63499d2b8a4c263b075dda79e2b3abcacdc04d9792e8cb88749ccc7f0b2c74dd2ce6e40e214be983cc981771f6f84602fb57207bb29f266bae00d85bc3ba34d1220eff75728cc7c0f514be84984d2649cc9089a9294b45f402dcd282c702cc1fda445e414255430b8c93f72a4a397a260d165d3dd700f2d02b81be1ee6c02f4db0a23f68faa09fe7c814197ec608c30724eda29e990fd65ff03116f6e70bbd67ad05dc461bddb85da5b48e7ab6a6b0cb298d00e0b99c0641940b114e2bf58779f754e2c94ca273a9f7c07e98b2dbeb28e93a40a3df0d13ca4614fdd3c3ad6a0ae5191ae4f3ae4002e74c930545d921501c0fa3b945691b639c3d4aad08efe1be601683a171024ea1ea66288111c0040abb8330767ab9761bea9cfc5a23e316407e2ba266e2fa813b5d629aff6cc4ea4269be09d7a3d8d24205666462e5d8fd3f504202f49fd58ccaa6f05a6e22317ea719577528b9c3ca9229d149b551c1fab5af89e5b1530516fbc6b7d983d4cd97fa9e8dc8158c175b888c6e042df764d193f181f27c3cb3910a3f403195723a41709a937d523c70e541f5fcc89f80b20b24f8cba9acf4740e5b2fd37d0cb769068d11c671d9f5003999ea7fae235124e601849077fb4123cd1c715cb69e5a6ef0eb2433597fde7ac739c4ba14bb5038daf4081bc09d3bdef2224a68cc41abc12fda6abc5f5fa0a1588f9a7e0aa55f148482a60779c584238348b56231cc35a58012d31ab62be74bbadf66ac5f6dc0ad52bf2d799b8a029e82ad6925a502bb8ae3e3b6212b0b63ef185270d64b6e4edbed0d163cddebec51d8d0bd98f201df3241b8768af0c33219121a87aac8559894c958e75e18553df9bde725b9bdc0ef68d48e12e9c20c891fb61dd4d020ad3c368de3c667dd31b5570ef508040f50f4316d6f558b90e11412af3061bbfeb89fd51f6e256a82115fe2c5c3a8c1853af84937964718dc06682713ca765d377aefa834faed08c5ac269bb3f5e305568e3761a8f93b99f55228459016af6ccb25756d93597dec6eb24481cfac38f4d7d17750b15f3e8b6fbc118e97972bbb8857cdfbb7bc169c647c1b74fd25cda0a5193fc2df200ce1aeff506c4224fa06e6385833294d1c68b765a261f0aa95805819499d3d45bd066881df72ba70d11ff76a88775a2ec8078eb0df85ff0643be267cd36c432a233443b5ad4f891399cc9e0c57fb8854daf43edd10d5b11455d0b8ad3e15b238e59e261db7b81ca22d0e070ae5f924e38383c3001a52957b7c81de8fe5b3e6d0df5df89a0b9246c816d6c981d3ffadde6acbcf20d7dbe745254a7ad19b521003666962b66f0b4ec16cb42e7f1e637a8711a42b8a9a576a22e5651c1e0370d3dcb08aac2903d803085e2b870cfb40741f6416ca545603aec9b8ebd0f25a72ede297dafde28efb7ee59904eeadd03b3c3c0226cf8b5d774c4e1a7e5ae39991e9e20d63df71ea6f2a61ee41e8361fafc0fbec8d88abc04c10178dd19f4223d199f7ebef4006ab8dc571efeeb2f61d486595ae0cfd13f79f2b576a9d12821104eadf819919cff01c14c1308dc2b1b418297fb89a3206e1ecfd173896d8151bee558a62136624c2227128d5e9ac2759a224b74fa8104ca8209dcd8c06c554a9ee9be994ec99b0d7224625b482e7cddeab6e0cf47d78b60c6d629cfa798af5752b63c867d94d8b9442b11c24945cb0425e57ca81c597e597ff2a49790f9d5527fe6bd96efe4a6819b543c19e150ba2b5bde538f2294bcc73011eebf674f31fd0794948bad2c95e0342ba2115fb2b4e1a7b509c0c9b14cb348bd74e5cf37206cc7e20d7f66c6c4d022a27a20e5b39fdbc9700114a0144ec0bd3307d6e0f8396866610e7b76b04d933122b0f30e2c4b7602c8d9a88bc0f8331ec645024fd7372d736611c2d118a8ecd3c3b4e6c95489642d60fa24c5688ced6c68d8c91cc568e047277b10c322ad3e16624f8ba8a17e077f2a5d736a9600bc4f3abbcd3f154937fc46024671161b76637dc8858c06139d323f505157d8758d823fefec1182c47707bec7a737842e115dcecb4b013cb4e68ea00d377c67195f370dfbf8e61c53fbe3ae1f5af4e879828188d0d59c9a38edab80a5c0e843d8a6a53044123e051bb9f4bd4a9821193dd4f669bd8eeb817e29a05be0a36abad52d81b787e6a625af97e78c065c15362dc6698d38cc5dd703bd50a9ade67c22c56f3cc99d51857f2f236aae82cf44c1ce92484e8636ca23a6d1d78d186f66a4c39ea8b736213300bcb0710075ffa1dd6b46a2a595c7b7fdec817131e6e2eb13b43daaca7ce2a01886fa8c7aa9081a4b04e8c83ae6a0212e938b3cfa3f70c0437c1f2fe558ea27b6df1402242f7b53babf5bd7ce4355601e83deca1d9221d5d968637779124e6698a8fafd2fe4f87b7d04540b4f52e2180e958220b07b6b43ec57bd51ecfbdfb978e516f40e5d8ea8cd620fd09cc439a81d36d2263765fda52e3a3639cae2fffc997db64b34140e87f223ae13f9666d7821d75f1a1a3ebfc8c1788d27d32d0b55dd14dffc42b4bdbff529b6effd74925e34affead6503cb930505453236434cb5c29a9bdbf0254ffd461c79aa99dbf1f6e52349143c346763ef4428e85dfffc743fdd3f317b1096bff07e16ceacb501c1b351196bea690a170bff16d4114534f42cd7961b3591bafb3c818f54b56614e58d1053f020a04caeedba5762e929cf4a71d8e0243dca4c0aeafe15fa4a3f66d1de9583b1ed6de5d4c58437f57453e6ab67eb13c741d96d2b6caa7426a9615a266d8507aac99eef24871f0b88075e5d0ca50e85f468af7be04989e195fbb33156bead67a099a7786abdd2181a5cb46743f2e54645c9706f3122cd1e7926c5d63945ae7ea2aedcabdf0e8a26a0b9bf916e5953879405d1bbfd18fd7e21ebd7cdfc41d7600a9e69a8b02592a26e22f044a0dd2577c3a70bbe551491c80edff485e9595073af9ddb0e260a5ca0e6e0d23f14b56b412d8743afbdb1fae689a5809088a4ff9c331b6a52e32ef0dbf58d036787d281d5e843554283162556029f9e8dc18e1d90539cf0bc3b172a1fa32e35013a21c9d57acfac686211cc55eb5b09e36767473dac6da4cf2bcf8a172a31417d3058e0e7cd9388ae0c1bc971d5f179e7d2e0db4ee66382135e8cae4da395b276a4fba31518b5cf497b1ada56f2c061a2ecaafdbfcb2a6fffbc2141a2df80412958637d906e54743e8110f64a5947d14d212199e3ed1b837f06fc33f81b3e0993ded19c16e61a9fc73325e39a51138edb6f3ac7cdd07c52f07c9abe7ccf15b8e1989497eab92b2ecd685f81f5830e6eb1cd3ec2a7361a99868e190163d7957210b3cb5aaccf5b32d31c408f649d8a05c558b328fb69f20b5b0fb29bc8b25bb768800bffc6e0f9627cbe210141b938c282c14ae02c1ef92b166d3b98055b0f6d0d9fb72e19174ed6ae7c977824cfc744d2a6eddc29e900890c4d1ca590a94a3940de50b67b4cad9d1e4d8a03c2e53dad65cbcb855e358b57eb2dd5a9b573ff3e6efbbd72557ac4af3a97b4439680c6aae2d0a3c268a6a0a2dabe04bc1758b6c4d2d9785d037950b6b4e79edacd78d971da7198b32ef7a775ce7a78304ca81e6c976f67f2b9c3966baa0c7db32f18d47071d7e3cf09f9bf5523eb3d459649b92acb872fef18d8aaa5160f70760cf7d07074d0d4b3fd4b4e93635cbb9fa76b3d37fb2e90007ea4d75e2eba4cfffebf8be71942173920a06def52e74eb398b9a879066b27e513a877520bcb1b65f40d84c0cfc6ae3d02c3cbdedf23633d63733cc085e3fa3d81cb34c118a3d007c79a9e7b0b8fa2bddfaaa7ce28584d9e37fc17e94318fb6712db0251a7be73a561cfe26d3db719daf47f3fd9800d0eaaaecedc7db25cd7211a4747777108be201706ccdd2e4fd0f179cbc8e4135654731fc3312161848122b75619e78da7f78a87cf438d83775eb6777a64c7ffee7c6fbedfa2e22847000d2b7a1e341645f83ad1bfd57934004d38e284ee71d764d27d0e6c4e1d5b37cb0c26d0d22f9271030c4b6701db7189e2ad072da232a3a4b3e1143a17ecb8e731e8065899d2377b87de9050828e0fef7314812b821a99543e5a0134afece5454c0fd59caa5a7f12bc6f78a31dd2c62168c73d4ea8638a4e56fa98c3171120e4241c6ca0d89d5c068411b38dc73fc9f8ee08dde24d829170ff29eb1f792ae4a5568773a56487993f8741fb81fb79fcbdfe18cab1324dcb2e0429fb62acac69504f41b19167d83fd36dddde2c8157505187eeb52b1420ddace37b241f7cf40d47ace06adc7f2bbac607bcdc01bb282ca591ba98d1540185fddd7f5d14e7bccb45031aafe014a1878fd0e5e7a9aed9ed7b20990a05134629839e5cb0fc44b8d83e9e3b8e0db14b11c192b2d50a47e8c79464096f54c218321e16b7ba1385e62699ad5e9a721f5a81d1cf096fb16d4b7e3420f129042157cb32e15efebe71fed00003bdb1104b9ab8001547421a1753c5c79d8bba3a5ee4258cae629d6ffc2ab3b31127cc57a23b98ed3231e3d3ddeaf082de07fd98b89547c1d3ccf15d1a99fb7a1d18aad3cef270ecf57505eec51b62bbf0a5f9cc7d8af2e34f8440dfb39c91156f52da991ad89c19b5c697313a6aa7ab898c85b4555903ae9921bbe0a914c0cb14bca0b79d55f5f7e9420d4ddc9a853d35ef7cc958fa1f81229a543d4eee4d8d74b6920e86eefcf012aed9d267cd4b4e8ce4858313acfe395e70c5a9abf5746db65ba7dc63efa70139ea1213849c5d5fffc19a6ea62d81b938364d888a0b02ebd509437bdbb011b5977537ef023ded50e7592a98c351c146e3cc01311bc96197c4e83c6a8580e6aa02262702ad83f1ffeb75429a20689e22ece2f5e2f1ded35bf278426c71d20ac3867b398177cc32ea15825f48fb0d6fb69be89176160407c46cac9fd12d3a5dad71972662abe35abf45c0555134a143b23712072582ff314abd21268018da22e250e2836ec81c20e27cb94ee7153a6e04bd8271fd11e0722ae79ffe859338310c4ca882ef7146d6a2142fd59a2f0235bc69d8ae842d2d43419cbcec2f9fdf2bb98c80613a42d460d0891cfbec02bd8d407f4e1153b674c57f73e9b570c0a1f4d71885ad8a8845523def1761e2c6cfdc710e83d0037a53995ee8efe15023a4dd1cabbfcafbf6325ee36d7f7cb65f7db2acaefac2bc833cb337620fb324d8bdf42654e3b41e3ae138384aeb98dd1e095d2e448533c0c45398200b535cb0573c6c4e2e18e361bfd3529b4c7df36eb0dd0959c0814f91654fbc3d68ee3d747a185457f98d30d66c6fa06af847b71d66b9548c19b6d96f192da8dad87da78a247ffac4ea959998d8667407f0607c337cbe1e2b536abc725092f86ff2b8ccc50d97baa0669e345f90b4388c8a6c04a051b48b3ed721b637b14e6e56ed4892356b9eefbf5f317ab7479f1b08103939d054fe8538c203665cbcad45e8c2547a9b901445d85b964f1da017381f0d0545358f004fe990886f84b3e40d5eb890f699256f4411ca1013b6b043d37037b24b0085afe30bbe918d8b9e3e195813e0f6a5f9feff8f83f6d3031d9b3699374cb2904d073e84b8c4d16fcde0625ba92d96993cf21b7ec08528a42ad059eff67d254a7fcbacd0749c26feb7536df77f1e72ee1cff1c43dbc954057e0960c7044257feecf4e3c7ffc3d5f121d399eaef763f2b036b3eb321d3c4a034319e97479e3d7952619b8c8e209ae81ca26665533e7ba6ced94e607b949b1e9993f5e461a6dcf04c5c9e8576d5ef092bf89dd2e2bff37c86ac6652e4f8af0b2e2775116be9a4e7e61b43308cad7bdb9b1df23251037f041876cfe081251d73b1649a02abd9c21c0c4428669483d24d192ad86a5e0f9b00813d2f5d158a73c008cea30c0b8eee9cff67d53f8f6f714aa83b2ee853b414c0bd8f7b9a72540d60fc46a04c91ab15229df26675b5c69ad8273dd2c968524a530afcbb42afc470992ee9ca7d3efe525469bf5645ae8ec7fded8c98802494468fb9f71a3936dfcc47417ec83285e7cf5dc32e24c801b96f85906f82905fa20f0294a31b4682b93b8200d4fb990c02d46aad220acdedc2dc37ff426751ef51af8ee9fd3a41ef2ac2ff14516ad80fef020ebd029df13284dac75099c811bb1b39c14816f9f35d6ab47889357b85239d3494f0d7b8349060926babc5fdd6dbdbbdca90b6d6b9dafaab8a4b55e99ba8770d26d3d9f50c675656fa93fff172461f913f8feabbadd7a1c59d1d72ce3f0e9d4ffeead5e10b5beaee45c56316370083c0ff026270e2fb5c826745062b79f9178e66218f7bbe806d84337aeb78a835e32445e0ad0acc5c031cedd906429d715fc143290078fed81483199e7f40670e179ad4655fe85623cb93e72a5a3fd70324367e31bd03d2835d3f67430447039abbc21fe1313675e103ea2f0f8e57ca9c089251a67c67330cea23d38006ed9433f6cc925a69ef0a80773870faeaa20149674685b820e96c60799feb0aa4699b03a1e929b499620a6853797b796e74b808c168eac0a571bf016555e4f44d12bd5f81ce816a53a0db4b231b629c376a38f622fee470f57a4ceb18477d56d15d2388620b98fb868c1ca6a22377d3fc5230af49f007ae8d08306955706f62379a4eca159a49d301a108070d59c43b14ce5c38e55509d7c1dd13f60334fb705e09a4cfad3fa6428da73728343f4f5a94d8e0b6e3ac4cd85699bb72f9c1d64fbdb447656f509908e3b27911f1edc69190ede20d1bb3981102c4a7c8fb0d8cf8f34e88ad37e940c3ad8d1eba43ef585106a36bd1e913bc495ace83a7f0e6f1c6cbac188a7bc5aed7f87a66743f014bb32ceed3345eacac729c7d9cf48d0916ecc4365f6d8bc50e0a187aa04761050257dfea4a682b3d0b089ef1e1d90c5c7550dc6f920cc9cecb1d2f20a4d4a65d19be56a5f9416d7dd5b0bb2119f4f851eb343721d14da4698539cb900bc4c0a05c68f841cd8603eaa275524c7249eb1bf135e15daae756bba00d50b57fd55cc3e3d55f1bdbda58da651f3100c5b3f0206d48453ec5a92546f2b8aff01cc5b438e0fbbe18f15b21cddeea4924e6570e9ac48e5decbce52110ec30b057bf10479cc21d3ae1bb3f675d30fbd6d12370bb1d45e60b8afd223cd1882af7658166e048e9d61e7374c45f667c998d8504a274351d089e1698eba5dc57374d0c5ab6042b0df3c182554f40e0373ea48142cd57090c7db862bfc96da282a081724ed1b4c0de01ad7267023a263e4bcc0b189cc5d70fb916265b67c0e14fd147b81ed788f7d1ec1f7c5d3bb2241953a133ec98ee7711189c4e29d8120ee229438f60fdf6a0f7f8888d4d837669279808285fa4a26b451d4692effc1511c120f0d66b202fe5a3c34bdfe1d081ae179196fe3973886a71b72f20c7ce0c2e5a96c2b97b795ed0f63e3e587c2472fb742d56a357ddfdd2f652df289cf84b3e6be6fb98928adbd090654878473216d9f80d8f9b438becc85b7e3800cc71c8e0f605cc773ce1c1067f70d795f1e07f265b7557a2f01d0d81b15162600032f048571ec45c2bc3a766d2ecaa914a1ff7bf1fd718e567295c53bc8dbdbeff7ff262c8b07be7450f52f5b6f09a5d9a9bbbee3cffc689b8f037854d74b79956b60c6d548ca190f36e267d325d4f3ff959c2f978f894cfc2ef2adcced11fa103c54dcc97a658d862101ef817b958646e2e5969dac81bd3d8270ac6a41d97e4356d331080fc3fffd7fcb524c37e896a8895bbd6e14bbaf4be5768e75533566f3af6765c9d0ed34e29902b4949da0e9939087e967bc8b13ed1fab73445e7d2dda70d554c75d657e053696ac6ed58e76c0125530aaf60363559296b209dfe7ee800836a7376fd8f155e8dd2a0c8bdf85d8102c2f21f845c8726e8febcdfc6d0dbd455fbef3573a22970569d60cb0d4ab93c7bc295c510cc9bf9fc220565bfecbf525cf843794c9cf404b8618191ad79762205e7fbdea804f3a2f066660c0f47a9ad57af624b167f927ca8f19a5b4f6b5bda84d80c2268889c0f960698b4e52ae8ce3b2b0a3045d883c36b286f9a63f14b7226bd5891ed511f3eaf3b607c18fd387870baeca253eff28ff336eef7b9caf68f06c5dbc85afa125627defa4062c8fd781c2982a041209fa59f777efbf9a4c212e65b66e8bfa5ac8f111885e056fb364185be22331d4a81f5f86f4633033686f0dd9002c6311021d06b3de212096645a0c92bfa36ee7adbf20b5cacc6d9397319cd58588ce41653057f12a1326d298a49023ec2248ce1a6a4169a8683579af93519db5ffb5ed006bffe3613e6eaabb6e1fb3b73bda4b515d54641c58ffe75e64281141d4497c492f67767af95595d96fd79a1876ee064796a4ff6b2096d09afa4135b5163cc80fd436214bcb1895344623cf20b78022db947cde71b12dbaab07a6523d34a3367d87146070d9e3fc5cfed9441dab22ee2993e2758e309ade02ba390a88ab739e27b769a9e11ca7a8a87f6d1c4522155f1880b3050334f9bab832c16d9510c1a9814edb2ea89504e66670a993658575e3a107c6ee7bd1f656abdeaeb7176993f03dea3ac05be5c074b6c812d658bb1890614ed4ec2ff72789508a053f5f91ba7b1b96b4e1917e228dd7ef5964d5a346f894dbf15490f278248c16333e8f76bc3a0d9ee9d456d5b9a8db40220bbbfa0e34eb3efcc40f2364cdadb135d81b4541efa4078401b3e9c11b2d03ef2c09b5c6bc8962c01b45ddbb618c73a13a607c547095e5c1a0b493857062d74e582077872798d18e2eb1f750dd84cd83de8e45c3cd0be8c081a78765bd9f802bf6a42839871cd121f85a37fc93cd0d9d2454858b756f8b15737cad405db55cff3da57c9f80ec53c38ef8204b679a0064e953fad0a61bbc16bd8deb9454372df77d2738c0c91a019b5eefcb0f9dd18590fb806853d326c7430cd26a78fd07aa6e73401e9acdf8a3a9e8fe65caf0d39b060a5557f437edc0e752ef83a17c2c4c1ed38ce428d234b107e0da7fea15b7211c36a439a884b6ea96bd86072281d74ca748a1d2b7e55cfcfa6d21dd7f10af69b02f725eb534749460a50b7ad68e9a5d14e51b349a53a68ea0802477732f629b94d26ac0cb92ca6f80d1223a820cff3aa280b1e77f481cae03477c5015a8bf924e879f37e680c32e16f7a5874d7ee0e9d4ca454f8de32ad1ee8fc356e5822712160d080c9b3869e27f275c590f72ae705150fab97b31589b2a40a11ec682eedb388da52590bccbf1e5a49f6318119bf5e8d45f4c85e94793b2b443b1b9a1cd943dd4e1260ea1ae74056a65e731fd3ef21becd0315c2b04d9c0b3da512cc8b7954ff62181764974f57b5149e1e8b5fa02d9f75a011c3fb521eba432b0af913b1ec9de6e79f8096f005ace174974030e8d8e96bbea43f08226d066dd295f42a94229ca227a5a488789053b2ac0d437e1d5ad6a60f7aa3e8ad9e298400fb915b52efa3eb4b1d0813224a2e26847ec3d7c82cd20c91641cf8a3add3b076956d1ea6a25d0780f2a85611d847fe75ead464741f816f1ca5cea691974d4e2fd5a05cf19a7a52dc4beac1b238c58c5cba920128f152448186ac56719f2a3ac386683d586988fbc1f4d16b21eaf7d189e0ddca0e0fb97606e594105f3baf6c359bbdf12e2a262337ca7157212f21d3fc07acd8693801da30519b8e5d7a23dc03b0ebc32a70e1e99b5d6d4d852a6ae8482a460bc045b1e8da8980fef92f5840509508deade8d8a7c315de9b85236c03f4456b7a1fcab7c3e9324809a366854132e36765499778b5738ba635c25eb88c315519951b34f51bd5382536007bfc4199d08f4476a8acadeb8e4b10feb731f42eec31209016d08c8c5d991af8313b250cdb44944e206dfa1c3a00368c696aae83ec5782355828b261c6eacf3642391b0f2ca44fc84fd02a8d8b828f6b410fc1caa316b9cfb559f3aca3a38fdea3bd7a892bb047c3b2180702cc891b181554911988ce847f8cd271bdadb80a526973dab97c869c6c1f836ebefc458c3a4010bde59350a649ef2b87c48a79a804d4040795aa08c4f96812909f969c959991c25a15af5f3310d54ea8833cc035e76856ed9ec1c0666ab21d4142a05693edea76887b8009cd0e0967d78817968306f6d177623e1ec9c4eae3109f12ef0140bd1a8279372cca416ce8409ff193e507c405bd7d7adc92694d040054f0146d2c7d877288ec9a0d71b5a1b42956131e85e53d9d28e8c9c7e3614e044f0ebc4af538b2cebe3d7ee8c40d4e3579c5eb4bd18d87b1ecc1e398a109f4afdf8e3088b8be8ef0f09db64917a6cf725a7d19dbfee7f6a9e5ad695b10c0472116522df7e3a4317dd7eb576021a58079123247a207fd6cea7c9cd88c7366e49c0a97ba802b7e834ad2180817ee87e3130c23f0bfde48e837fa12c26d2f8d777d7c6f23c0fe24370e2d3e4013412defd8f7e9fff573ede9f52cc98f6e0be548fcead31ee824682370d4a5f0fe62df54f229c4018843bf9ec3c3587abf6e5b81bfc2b20b6095531d423c507a5fd742a8d9246cf1f350c5dced10b9dd2c529cfae8f50c5aeceff3c2519d8af48c87767d9263ff063bf0f2da80ef10d67f795582bec280ff88555096b9f48c929784246f139b25b3bca7e596441e1caf19f8974315ea0503375d9f4533675a0785b0517274ef7e5d18dd6aa40a1dfae746e80ff88ba3e5af22629c95289ae62af2d5693df56a9149a5a0a8ebaae2c25ab6bbacfde38724a34ba242d9b813eaf8b26a174d2ecb992d6cc267eaf9464c9ed107f25adb594ee2bdc343a764a4b4635c715da1235570f91129672878d043728d49a5d76183a96ae886815c296199a6fcda2b0f0278ef3b44b018fe51edb20d613303a15ad84369059ba0f2648a24baab1ce994f11728e05955946ed72b6a35cfe5489ab9f2a34ebb791c5edde9e978f9fe61a09f24f9069858e82a7f93606ccac8db7f35d7fa18842f78a43b6ec4a5573b71c0387a2db1b51c6422f5617d79860c9013bbb734055449b6fdc18a9207cd6acde73ca36f4f1fad3ba344807f1fb716372dad95182938965fee995094a6a5e4b3d68cf2078b6139281ad2e996453f674a7c4659b4e8182ed2d58ead92057aa5f456d3b1b37610d306882494a7de63a01f439c5745ed459894f5b3840a49a77615de70fc6a9de2620fc3b88ec6377adfed2ab6b44dbb382f47f606de35b6ff224d8bf279367f6d0e0f6422e9d095870a51b1ddcf6b688bb0aa04e8ebc06ec0c9fb833fff2b35356ae5f95a6b877dbbb6ea96d5fadebcb64daeb49e35520ed82be2e07f8017769be67de3c71da5b692666ae5c5aa6efdce09eb768c97488d0a712df1680a9d70ba199653dbaf79bd217fe8af82052b854c53ad2e6d66b950863e8b80a97aef1d2b20105471c8bc1e9479978d388129a46caec8df0d035f8a2060575fd0feae35cb7e7bce4340aa8f8e638589399edc737600f8c19c827faf84df65f2548f149b6190171576f844553a1e210a28778bb9d3e90df983d905cf40dd046a129c1142c694ddab06751439e8aa0b4d32e98c1621fcb6b191213d0552a36cc40ec81f873d49db6f23b87f4bceb0d86d4a4dceea939c246e7431ca29c9562b65020b298b67e1b6345863a20ead09dd836b4ad862f6c6ff11c56cc6f188389f88cd36b133239b761139dcc419bc98aa2286b0bd95b54af7c668fe244777a13c5a356256f511884172cf8484ade67d16178817d5389f487bf352dd917cee9c5f3d0ecb29cee79b8212271b70bb0bd2044878e38e03cc6581211050171ed84ea5a1a1c6be416aa29027905119d55191a819c576b03bce796a70054243ed9e05a8482d1183d2247b2e3536e7c18847430ce5c5939605828915f00e8e0d7d4ec18470ccbb2e2598b07c93cd3f73cdd78b35477dd10787be9b298508de907ee686b1c89fdcd19ceaba867581ba77a15f58a46e0ac9db0c120da50c7e721814e6a6a6ad908346267fae7d0992d481035af3bfb97c9eba1ba7add17c38f020593d110e15d7c28fc7a122200a3007b7772736461b9719c22d70eb16ae027f47513ad5ba0881a7eb070ce3ad4b4c454d22885876230edf5c673c84df9a370ff2fc4e4d67664646ad0bf3f01c60f163a628d79e90eb06308e76fa82875a46e38715b24d15e2cc04d54915bbca1b2e3490ea97af411154c587f429a420155d964bf7fe922381fe7638b85af6167877a6f70db3cd97a2841579e4df37a4d57cf739b9457faa5805fc537110754c987a14ed71d7e0956f632fda9243061ac4b0e9a9a6308aab6b8f161bb7f9203b019f31e08c39e51fbf8fd8537690f4453934957c18f5094f65af8429baba533c5ffc670adf8ba6e18dec3062914a8273ef1a5452267e396e478ec7d22f8888dd00e685afe315275ec68e112f2ad918838f7dab594b174a781cb73c69467bb2de2023e40f2bf4c566b06b96a2ab4453d7ed0b78213cb0b3a7f300b98841c17743db04ed2ea2a7983f140b25ba8d515792bcf07a4910eed8682f797a832710daa2db954760ddb0f658a167be7a293e6191b76e609ec380af9598b0b916232a2acce67c93c7210151f23fd1619cf5227c775bef81e4746432e1f298cc7ff97e170a3dd05766b844c0568cee0e5fecec61c7a8950230414ebf9bc9fcba4aab05e1d2769a45efc27fd9ca06b25875a44a0df25d1d345c6ba02865d02afc8854985be5f0d848269672c71af4d64cc8ce98f69bb8d2bbe49b5fda9f31d34cf82e65097c7a3bdd8fb3e3e26662c0193275a6f2a1468f47027f40424d3db513e23e691e998a87914ec4a7da997874d14de1739239ddd617ad32627fc4e2f85bcc3cf671a242448e6625898bc905449257a13cca5c1fad4109bc7d943e503125c66d7127ca6f8e2040009ed7631ca164700202ba52f681d0bcfb6190173c87a8c59f03f5533e32bc36c5c541700f7799a5c81df08ba93cce3be5b5564799654bc3390e731d186d2092aba04ef6ce6d1d53b33d1a9497634c5a6b39f2b348d5ccead0ac87bdec8bc254e9f6fadb6a1bc9f4aad476d4cec68820be5326b7e9cb554fca84e1013937b22f0cffe30f35856724247043f317d97191dd2cc4b89e3bd3947ff0a4b52aedfad95307f148a36471223680e12b609490944078fb768d072f3ad0a68c47625fcbfe06498abc001d31ea5b672e1281551676832641c7eebfd52799a28c12bdc924a809e4a7fec39191dd9a90f45f4a6fc92e2e1065e608e2b7acaab24492fe39c4fb6b4e37a0e66fe53df21be0d52952449f48af3cf1a469f48caebb9e473805513ddbfe0cd11a7b43f23dfc77190421a273eabe2e0280d93cb7fa5e33434247753958f6fd304ab66be0c5f599365b0ab9d406ea68509efb07d3c98618e0c2d0d2e2b4ca3db6ed2c3f1213f0f489c9904a38de55756d3e0d6c064d00f12b5a0a16286265f70e3402ef6e0999f962fb186594a39596ba618689ca8400a3675940cc2521c427a366e71d12d5b4f690b6d52959a2e3c410307af220e7b5dbee2dd8952d45acde20399b85b8a693b770cf743f8490639274d8312d1fef047ee963b8f68d05612b9fda11dbd4c682b4cf718b6315bc44afc1b388ef9b24c1d97c8ee19944937922e21465bb1172c3f5829e0f9e452cdad240210226916679b5c2e6e7d9ad9956a0683b97339f95a69e39549c432fa0608febbe1fd55005b571b9f5e997b293cbe646bfb02b0b391a56cf464e967168aae12fcc55479a4fb2fb03f64d5903e087f91e382527300a7cbeae2eff016fc4bcdbafd308009731b1855e16a1cccbd0f4dbb6bf6262f5b4870dd14076971dba7ec6a6a85473746911c448b3798b0b19739505a2e8085302553bef845a2db15f2ed4ea65e8afd075291eb2418616c30285e8ff4f271444676c5ac9296176b4b07287b3d8699fa66d7f1604acbf976c3b6ee0ce090e900770cd8cef64c0084bdef66f97c4c5e70e771c20a1905bec90daa681522b5d8185f4b8d01eccacfe35881637db6bf23d4d846ecd7709649eaa2883eb5271b41ecc7cb0f33e7d845f21568eb88b50d1b26dca56a34b366e9ef4ea0779d78c7258ed0a5cbb0f648a1e1aebd5f2bda75b1b77a4736421583abebdc35bd4f51d7e73aec1cc5149224f814eb6c0c54b6e8868c090385a95d60761056bbf4be384c2297b50a47836476233afa443c61cc59f7ce74e7d9e05b209ab5827167b5da0209e1f930eb2163b29fd2598a0187b6141b7fc46ae010a0a3039b4e405beb232d5d913384f71633213ff59b16c9edc185b3630bcb1de881c140b6f8a33ad9c7a824071d91df56fce526fd08122cd39f6bf479e7a01362a28692262e2e3e7b057dab5c6e7fbbfe8043868454000c2beb61c133181f3b13ae66cd692412b1ca80f829597379fdd35d3598bcf8ca85faa6daa0c85a37451754591fb5806e85417f9eb892a7583f2c635289f3debb7eed43d55856579ee8be489bc3c96d1944ec0a78928f143ee7fa11acd3a01aa6ad6ad443f155dab3d65a01833442d65faf84fb875d2c0f80dece02168f39cad057060b8f986668dd71f50203c24f500b6791b0cefa1a762812248d0ac8025ddf49415a5fd6c590b3daf5355d48411124db7a6e657ceddba5690467e7cd9d25346d052f7805bee9712966edca43c1e68c51e2f3b6212d4a0887c3cccbde2fe88aa8bf97eb0fd182954fac55fb16502a381ce716d36876e41fab779848345780b401d37242ac9c52f02db5ddc70a9135657a0b4acfd456085a4c49be55de403b0c81e5c9eda972fe3cfad9ce0d3fc936de163fafce2efcd477a7c778ff98bfdcfc1d0dbcc318f5f36f6683cd1056ab346428b88af07b9445ad5bbbc34ea8f7a4c646e340ff1e09601e600b75c3bd96add83a776147c7843443e7bf1336c708aa61c3b4fdb8255805896ef8ceb1b93af1c7ef05bd5a75784fd55cafa14b1c775288426bbbf665ea43783fdd1211c04ff33de223938b08dfda92a8953773fb382b84f4e62bc5723748f7e4530e58ea00e1a74cf071a03b57f1ea00718667b5794582a6a22fe41bd35d64aa10c751552ea5ca86faf77c1b5e39a90f5a74ecb863737e96e05ff0fc642a8db981bbdefc142c1c3ed5047c6e41a7b670fb302a1bc2a47379c5362bab8f739cadd99166aedd23dde40d76c33efa095687b3484fbc01f323d01413dd8e105e2df4dcd6aef5466c9fc12d63570b13d32d552fe667bc8c95afaa7dfcc370bcec9af6a01af992f2bbffa778abd387d066bd5cf01d5a32b58bef5eb10286f20e9cbac1ffee63948871e84b46ada8c9485c8e81e652144606d927961d27218ca686b4285779d91de9c93272f532ee5362fa04a124c6ed022f99f393a7a0706fae0c1f3b7104f17f317b3f111aa4682893e07f1412ad4e4c15fb89f2297394dcf9a9a2d95a2102248d8a98e9278cf495d6ec91ebee6a1cf80faf07c30d10d6149ddb86f1837f1f510d2688b9898d0e4056802d1a90bf3c7fe94bca24e00d1bbf6ef3d8bb4b559bd5d280178ec0f8c3503a64cb6d737542605bc3049707bb199f6b9a4b02834ca793a60e7bc52b4899295985b99bf687e88acff5280213ca88f8351a5e531adfd055336ba3453bfda23c9452a7498365ae313ec350787b588e232605a32877a51fad175118e38ebc4c110e17eca75d36b30e8484b46ad1e73afd0b69a15215f903dc73e1029a24a4f623d4c2b426f521c0c31719fae10c362c429dd6177462b993013d5a55c3ef8b11b9ccbec98bf7438a720db5570639694a75942b74000466d2250ec6fa4846fe81f92110fbee768e9156a2fd65b8d90eb86df0973e578a916169813e2b7fa8b11eeba6b42d2e5dab5299aa62ae5a357d48e826ca90c8ad9eb4b057b78b5a2e0af2aa085b50c47e1001a342b4c5c0b2062d97db6d90456c9b0383b60e64e2920aa7229a573dce16ffadc60dbd29106bb0e351ab211da36cd7630cd7b8a1466e349f55237a9863123721e13fa6f2fc2372fb383c52f31e146ed6f8657c769d3eb18c61295bb76c77dffaea01770fb2d72a2524f5fb94ad623ae0b4b2cf5908f5f1f9055b77edc82d60b30e9c3c913c057076cf6ebfc14958303ff75d057b4cb5582fd42316afe7b3360a9c7555f3202cd8ec27fcdf15def938473d48178a5fb7841ecb4a13564cc4ba83e461c0e65cf8f8922f1f98166f38ff99892520d2c7ba7a2dedadf492f89009e8e93b2c01bfa042d2eae1ddce4ebf85cfcd6f53a1b0a09d8b4f01f67dcc178c1517ad2952fcaa0d1426cec87457df9b67de890b6c9704efc5bc1134a9f51c1639ba7a298b1f19e0c5ae5dab5c34a12fed8fa956476bb3098e82d37b1b6deb9cb98599c0c5cf69f43f330f1771cfc14cb619e20cde24cbd31bb9a232678a99246a717e17286eae352206262cb344701331dce1be07acc3ddc8a0281a1a33f19e864ceff8c1d02c57d381f20f72ffda4a756a663b02161b2c9c76624295b9821e44332e8d3b26e5f1de96bea626a20ab87bf82f4f5450e7815fc01fd311500af76bdbe9bb63f79045ea4700d5e0f8a27a33585027d7178814dc372165c7c82cf94157d6bdd3ce9eb94da72f928ad953cdf610b8495cf0e13a37d2ba6ba5d3c8bc11c784224d5e729bf8565161d5402aaf9c617a0baf240d9b589def19f91c066750d3fbbd0598e5fc2bc036700ba7017266bf5d2ad7a69127259af781fc6fccef2cd2a918883e9f528ce0ed03223c72b330d926b8100e3ae632a30b78fd323e890bd06d7c6a299a735a2c530a6bec9bc887c9193849d01707f0cc53a9db228bcf62e58357a4cf79b69ee7924500495366d113522b6667aa41e5f3e10a1596bbcf25e2505ede98f3a6070a5a42548dcd4d1ebd67f6835d3b04cb8cc631fa53ed2b2c3ccf23f079bfd5952286f123df0591cd935d9fd1432ff6d0de534d779a621346776443b0e19ca889ecbe00998f65525e40971e627bd8ea8e66c9ed96b9d25d96022476e734e8c3ff3c5575d175db591fa38f559273b86dce031035e13b9e4e70e67941ea1310ced673b31c3d92e592929e2ef689b7af2578c2741fed88cc1e7e6f82f26b46765e7403701bea7dfa8926cad92e86fb4fb9512197745253c412f438daba71700c2db37b8040aaa714ddbe7d1dbbe9ba114c4798699772c17a45ffbb6de0a18b8cff9309198891d345ff2b41303dd4623b7e3cf2ea1ec8e55eb222ea3e1c0a8ffb563265c3e1125ab590e44a35a14313fabc989ec9f719ef50ae314bdbff7317c115d14788592947e8f2b994b58af49a0e574c797d87cb2be7ab9d29583705671ef87fd8f014f2938e186c63518fb3780f016db30330244a9e275fe6bb102747d73a45785580cba8f247c5be7250bf0155990d20a60aaf9a47215adc73dc1757a40fec93505d40117aa42afebf6d94a4a7bb3f74e26c9158e7890cfb02299307aca41aaf8b6ec80601eac41cad8e51df41ed8c64b37264e5b4505c36fe9a89be8888a70fbe01a426f36d7cb4a35be0a5fb5003531202825927b25afad70818d39f16ff9ef5d33515072da22d6293e05d5da1f91751b7f5148ae3f1f10d1fc7ffcbe5ba5d76dea42698829eb34c0e537cd744556844da21d7b2b1ac0c8d1fd13fb36a0d06e4d56322f7e3abba2e1eade400426e7532b85350c65ad3559f9b1895f2d1e308b8c6a912504b56e713a1ad5d629f853eade0140a9160ee13036de1bec8ef8292768a7b8cfbc932fc8fdc58de164ee7fa02234d535cdd43c466f9df6326458f9c42b9d061743ae8abb085e051e8f010c3b4d9a7f2264199b5d68cb3353f8c16646603dd472c8a2cf8753257e9c4517380756c5b45767d5ba7e0126b093f1cb17b6b469dc6f3809b2af0cccc2434a5a22858881dcae22d98d320bfb13cbdd638e8f9309e473a88dd7ae4534646d85de2b066d850ec56bf2712535a539517b6d231dbb51687c243167c5ad6adb8a0dde615d7bcd6f79868ff301bc72b646faa63383e7ddfaf2c2508aa56a6bd1a6c528029c7c9aacf2175d373e4e73b11e91196e25157b3015e023c9a56710c04d0cf848117b0a9075a812bfa2a61b85f891debc7d206155d67aaa188e719784ae5db3332ac91ee21589d00dbb3c0a34719b31f51e74a6c23c343d9ddf0d1fd737341494f0cbfd5a4f220eed4c099c131324af7c54b407b348df0f450926827ddb41e08ae7d1e71dd362a808a91e07c28918ebd58791c47713beeca9e994a321e5b9e45ac29dee5cfe410c26071a2e094c63454292eb1a0452bce0c14cbc78403f438ae71df0f7ee941a4ba355e690247c77b82e99e4bd9a58d2e6a1a0847827803b37c1fc81c913332ee82cb28aa1fa5df6b879fbeed0492aa44a870956c6a00ceb68a25e447ac95e50458e583adbdb9741501b0c7fc153c1f77391c32b1a9caba75a9df7aaeac49d58dbc3e54db5f3ed45311f7d45674f32761e1cbf459ea3b92c4cb155689e37ecd165ac5737da4ee89567f5bfcac630ca6ee34e0467e2a9f05c26ff5a5234d594a6ad29108839f693aa95a0e6b7a7ad03cb51ab06f2d15030ad6a388a7ba70df6728424eb1790171933cacffe876ad327e800dee863b375ba9b5f6899f57ced47bfac7e8decb29ae8b4d4090e6d51c63d4531a52e2340438442c9690b7a8649bf124ff6b8d6b764c4c13ffe95e222152ab9b8c2d8b3908cd189b1e06f534035888925ba7b1c6a4d9bd5ef01f3578eb9dde2d584e6b44c5abbf2c407d84653fafc90ff527a51eb2e0966394e2bd3c1c59bf93050522ad963440275e92b16fa75b05b46763e7af2d140bb2b07fe91aa43cd473cea65835a6b57797aac47afa00691d2500d981c02def756c701ee31c2c0bccc9bf8105cdb4e3a9952a271061d6a5388436f3981a350e7f673fabd4e862df386fa9eecd633e4b4996e8b0812df1d2e258be49e6aceb94dd62a6b48fdeef93a468f6bb720786d90113e93c56698de57b554cc62a1738b55cce4a9b550eccf4c1ce61545e3f40ff633960f117971be68a6ba82e67b126f58c1001dd67c467b6300feb9e62d3380f1e85422664df4cd6e17c64d7ffa37473baadd168854eef7b06ea01266ca41bbb45829dac7248b42f144d5cd0c06e21a27309d4435c5b2c6b62eed97b983f10003949b1a0ea475c061cf09645451cf28dfc20b71c80e000bb3a2704b1e34005e04270c72a569b2e273f41e4beecef1faf1d433dee78237bb99e3feb782901f583621431a8c70a9d59ab4221ab98557d4040f0c91bea8824169402ef3123c0868ecafbb2933c1460e73fae53d7200d9aacfc20f0f603b89029d11d54f34885769160b488e35c11c694faa0ae444464b1b315c79975adffbc3e4192d74e18a88a984a6e53d1745bef0af1db1d5973cc09a4220c7eac4bb0d74501633bc95f2622742583a6df67b0c38638e1ba3a0d44af2bb6aa2ef6dd8ffc55c66ada5ee97dc513901a8860231c3a91c3672f0cbb256b993182a22eea77aa882d891d292cbf27a76b7509aa455c5aae5b0458c00d00818de3ac0b9b99aa11baa3db9b4a355718c9980ceeaffe3c81cac83827fa902fbf329f690d490fa2dc23c5f27e1c3634ff07de5d17cce61aa59ff8b6d21f77b97d2a0be76dd8380ffa3ea1822794633eb4871e6a57b9338ca65f0314bd6fb7949bdb131691c0d10f21713541c1e779e83588bb44139ab54bdf25793323fe7e08ad4f5014178e1f9d12883e9fafffd23425bd1c2b1f369dff223519eec5e34435b4c77d5dba2866f2408a5b04649c97ef61f9ab8839cce3defec2c3b601b117fc70e65dff5a432cc2a0a7bd8f07d70686bf2875435ca017248713bd7fac5b05553ef871ea27c2b00e79864376e618735d9b720385af98b9a7e803affe1fe121a4073ccf7bc641cec3f8f814094dab42a06f69426d7b8b972a38259cd92406a2c20d9a738c917afc44fbbb292d41cfaa1c32310c15afd7d62997f1b23bfab6043eee76ec90e47fb12886ada05b7c772f628b8dd73342561d90ae5389ca45a347a21b1509817478fb622ac111a4f25ec7a931f7847b8e17984a322b969d8af4f08454a1f8690a2d29c2b8c994210cc5a9febe1ff363aab67e649b391e23c43621b26e8371c0be4f2e0e96388ba81d06eb4a8874bb5b15b3872c6ed37fea8553132f33a36ce2c4b74f893ec702b302bbce7f7583dbf08111178a955340ca9a0fd9566ebaa2522d0ad77d945fc72da1b806f3c9e06270ca8375e49ee5f77224e20b4a52bdc0dc34a4291ec99269a3062200e8df5b0546b1de01b44fc93f6cf35ed36d3552a3c4992fd9b824434b263078a531c37cc6176dd0badced78bb404b119da1fe123837a7f4a085e1d2cc9ea2cc43afabb8a6b81fc42d0a8084712324109a8c59efd4ef91a85a971daed98c8ff7de7a2088ee47fed87582bd7e03c6ed885a4eca7d50f2fd7d96b668745770f20526b1dd5301e16702d259f6dec4ae0e9a2983c076c16e18484df4495036f7df9f5808a32808785e3eefd0975baaf4941e242a958b669104a84321bf11be87f2404cb88fd35a3bff743be5d98b56c8dfa0e464e466446cd3a5c326961666cb589d51a2301b93f7612861fd4004347ad74d43781574c8e4da3eba2de8d6883c80872ea6ceab07ef40e5f56dacb4a04645bb9026660a2daa3a40640a4925a3b6456fc9a3257bc1302cf3eb97a2c29d4ff37910a5602df75ae5adea50e803f4a2d86d97c600d626631bcf93b247a38ee356df7ed6ce87926607dcab46f8e95f86782e9b0c31ac0413f367644b50bc3f23ecb263cbbbd636e8eb56179f7c08f103bc5d3d4f9e7330e91dd505b1886a2abc6f34b77cc62f00756f4de274111af7db73b652ee5d692f87cc2b14a9fb5c5189e3d735e68ff246619501f322879c74f390f9641ed9669b09ba98c80ad2921982d1b0cfbc9dee2c94ee8f2418af144dcfe70441d59017c1da18f6b254eb358fa73364ec6cbfe888384172ae0033cd0307c9560efdc2f39a14f4a1b0bad27490906e58c235a0e2224dd1a23d63aa25c8f7209586b53dbb6d5edd89d8129da3f9a084d3c012308945274d9175ac507188b1cf4004848a22116db726db04c7c8d453187b20716b81bf4d21f7913230342924d0438ec097ed87fc98071bccad440bbcc28b53f3e71cb7a614c4f5ad7b9af18bf508c1cec50fac1d2df5bbf977d99f7bfa8a7d70c1a77f6e04b9ac1e684b7c16263aae8af39dbd0d2a3a935bd7dcfa7b6fc4c4a8690b6f00c65b8f0c7f8a7f18523b435d5b020fe66ec3c9a61bae387c538a91ecf4ac5201627a655dd225b8d1d34bc1afcc571eec5cc0e10bf0c2e1746a686112e9a28ca237c9988e38763683e804fbff498847dac7755f614c6a236f4aa0642c0a06dae7b3068064cc9177bfdb21d44554910901fb004e6d8b596848c2a2a06fad88e36fc7f9ce516fa84e6f9a2089d039423160a29b728c7f0ce3c092899da4f11308740db56d69eccabde22a3789482d671bf777c16747826769bdc22378c139a0072112be9a22c3df35fe947436fb8768dae7614989880375bcb57b7a972ff77d8518458d48be35bd5a99a809a6aca900d9e3659b689beebafcb5715080b52357605bad7beac3ac0c69a1bb94a89528d6992cba0c4c0668a05879e347b9a7fa43cf4463c9d1cad495365dcd856744ffb32a2d9a76ced6b842b1d4407001566ae982703f6c41f97c65419471f8ffd1c44b110329bf3467e725d17613ec925dcfb94c7f0ab3db663c8dedb5aabc1e982182030a622d902e0fcbd036eb02560a1cdba3696ed9c70dcb5c392c239fd57eabc4fcd19582dd9c023197e6b6dce4d95fe74eedf72ac8bea5f13b879a0feb1616e56cff4e5d839594f7e2ecec0b67fc9f0bc8d9579bac31c28b47c1bdc35e614b62bc9b0c44bb913333fdf3db23dcc82435c02ff9178a0eccd955262d217edb5a2ce704da393b0d0505d6d723c5080f6c49e0e20da4fdce7ecbf78b9a338853ee273fedec1b26ed507ebcd77063ba40ce1a0f31a50d729aa6d5315de2898a36b534f6924604465d5f08b1d853ce92ff2065ad93823e98f166688c2ef0c771c1676bc7897c3e710d049dfc3139db942d2ccd96c97918d10f236161b290a3d3afcbfcf8a6581f5915ad3567d142c83629a500532384489409f72ca06302574956164ec32a1a5d9fa5226fd7964eb2ed974f0f2a0b41ee4e684325465b1e95caf5337db0f203d39a1df4c4242f36c0041fb8109935741cfa8f11b107bc302dad06956e18d7b2562715e3cb6abaf97d3acfcf48635f6c6885a17e39a14fc194055f80aa63568fef9aa26a77a36adad45b52c43dd8f5dd5f8ee15799a8365ce6f4ee96107ac6d3c13ad9ac704469764c9962368802f0646da694cbddf673e122aab8d063d1ead7ba1238014a089d9c253f9407e1f2497b9b8ebf1d5ba7974ef9ed6223b5f207e5e50c61a0fe0742bc6d88bef9950cd210ec6274f48ed8b1080f5e6549ac4d17908647279da0f19ca82e371d4a39f3ffc67d50bd9432fbf7f24f7741d74dafd62961c1830e347b0e8d194e1135822b76c624bf1d0ebb49e881cf185a247a0b2ac80e3917d26b5de2b9fa16bc97c5c0c54d1bf8654a0012aefa87c08c01682a1603624d3bfe76258169ed77bd549da92f8934d588c7a34fe010b88f3ca4edce4f51e2f3aa1823c438da7959fb4b1103e02ce463c99b64a36dbefd5cce9bf5c7fcf982b7667c5609d23e1e83a40cc0cf3f3fd6a20d586020c5a6c9f41ef8de2f762adf7a37e13162c2025dabf525ef4f3dc9075fb9c9be333fc9efe251876b2601d7ddf8cb83f65cc728269362da21f570e3e13a74dbe0ab168f57ea95afabbf1adf33c6d4bb0e6a8313814e62e81142c0679f58aa9b2df0a68c8aed5e49646eee299f8abf82954ea38387fc1af79319ca75b2549febeac95b6c3c075ece10dbb06cad14a51033f3e97eab98eb3d493f6b6d239d02b3873e45d4f1d635b59af4bedfcde5798bfc8f2a7dc8dd3810498d692ec930fe22966afd3836c88cc4ff79d864f62642fe7e2af46364f96fa5d443c1f9e2f8e1ac1ba2c77d793ad0ac927ab1911eeaaad58cc57808c48dc870d8238aa87fde16746ac7dd234bed528f21d99408caa644b96b5aa7c31b59a78cb0807e43bc64a3ae3cc75a7908f31489a1af4933fee22dc49286a134b9ae418db7cf4b97a0f6b41703fbd394544e11e0db9b8ef253e797d7b64686b320303df9bb4830e24d2b43a4dd9d486af26787dce063258e0f55a7caefe25e3b97e9ba29e8957e834fe83f1018f988732cd365bb59dcf47f82da618f419d0dc590fd4ceaa19b52871a16b767ce9304a7cd73079d99aad2646710679aac4dda95f6bea8402b689b69f75f82d8e46032d66c435765e22ee465a5979c0cbd33ef506690d14d49bd35efccd557a19e45f1dc86dd7ba37d2f47e423f5b4ac220d6cb68c69d1ab5cbc7fea9f7e2f8f4875cf810bfa9a431d3150b208702c6b5d01ec08a526caccc06a90b9f1013e59ef4c3e830da7607e9752a6b48a273fb771f84e00d7d50a5aaf135d1c3bacd06055bdb857c290ebf0f08e2548eac3f452d3e0a74a76c432f31513d640ddd9c71981bb4e0904259f70142ecc8f470810cb86969e7b11609e57c46fa4357309a9a5df40e44a439c003e1e2f93d2361513e6bf83b91f1f9fd01171b998870986211ab1cde0c0871d2347f9b92056bb8aeb414b64b00ab7c20a4a5355e19f7d032b3f646cf2bd5e476e463cd6a8d58e0af16761e71f00bc674f28ee9755ea5e66ec102088ef91784db58c620ef364469b082b000d54953d1ffc0885f49f5303da1112e7235d94bb860c244a39d124d3f8fab8cdfd0492c00e11d28754243efcd8ef0edae65a2a4ed90559dda7838ebe055c6a2ac2b2898a15607958b67cbad75d28d51f3275e4b3a6e39104f83c5ac43948d29d50efcf632b264e2d968c0b4d6bdaade392237d3e0597f10700a29c4fcc2ecf31bca30dce92cf387d5bd7023af20e314f3c823880806726840dcdc27f1681ecdfddfc0f1b10e1cba10c34a8ada9ee9e39fe04c83ba25a8f0079bdbe8ac6704e3b23644be33b9ffa3e760b82c9b65bb4f44256d132d08a655e92af7c6527118f0db576e2eaeea9ebfaa85d33a3b0134ad6ff96852678ed4f36da8f358c9d72af0843c4a70dccceb98888b65754c4749b3416d8dd9be2e0e199a3ce4649ba3cef3e1946a20858d7f3222b18e759879732f9b9f7d4d576e7acfaec91645b18a8abb0097ce4da2162b450abb806345d998b310ecb67be649bae1e6a3b32cfef0b081f8049a6a3c93d4e6a1c653568e92c16e6a461f69d0f6d26b1de347ffa14ad6ae8cbc78f1ce6721ebab9e074e8038e624b3e88f0561f095be8272bf3ce5202806d19fd154fbc7bd4341d5f4d58cd0fd2c8654ea84fe0c7e831dce167fdbcf9bf13fb56f135382aae448b3b56ea0b476278afc4b5282215691e76a217eaf91b4d92e65715d7cc443849ad2d04da9044567ceda1974c3fa9a7417f80716103520f9e783be1afffdf7c12d4b8cefbd28d041086838416d81f4098f598de89d5bd387dedb9ff3cc83264278f907f3dccf11a91d155aa6fa553dc29acc05898e008f4cb88af19ad72c5c1e4c1af7718815201a12a6dc212c0183e1e2e23b97e6feb9f3faf9fdf2f02e4b1da386b2cf9ff8672ecf3b9c5fcec3b36d49b732b9fe9e31185058dad2d9ad40c745f469dbdc9af690e06fb422b76c52b8244ecff2ebe5c81a020c8b962de7ff00e880bdc04d434d4b20b9c744b3a70d5fce83ba78da9c5002139f932455efbf46e05db29bd583d99a51cda8f9c6d269391357fdfac53e9f02ca306f93ea8d4d241e9e4158dfd1c0d45aa24f79ae109d618326d14e18cb77fe2c8dbf69895b0f46762e20c9e787f904324515cfa03c5865b243b95b21fa485a34c569126629e236b121fc06a4c09aa0c3760191f3b9bb4c19eab7135caf2b71325931a881411880430455e45aa91b57431c977d3af183b79fd4704ce66fab8a19c4f0cc179bd2556c149ce1dd8b67bf5b94e5e4447f8b25abe18df1bde24884ceaf759b75d16feb2a42cba71190bfbc0cd94800979765db330c41c18800007a6f1624802e219c2d92fc2bb16f58c8232aac8ab7995292aee06b93cd6a1f1883fe92edc1065b1d07e254e87c3de7ca54900f6121b58b793f27d8603621e24d83c619c538ca99e52e60cab75f58133a46c7e15cd6a38d0887406b7494f13f71f9fceafb122ac1b3b445c4361e44e85206b7697a58589781b53efc9b15e9f70609d9464fd73645447e4906de8b3ce1100d96ab7892d034aa5407aa8153cdfbd1f219898a90d985360fffd0f82935a5fe479445f5a014ab09e8741c972beee6dfc979e5e4bdac677bcf85f2e29b2f0f59d83587c10b4a40141add8a501592b4229ac29301a7d66259692031ec3275c58d184663baac2ca6f451486cdc3ef6f3be6b199f014b11c67fdc622ad6879a987d3438c61bc2627eff6ea327c7f37a58964dc2528f7218e578195f58bd002397b282f9366dc81d566e9a899f1f7270dc13bbe53219e49b4edb499145d97754b1f3ee1e3d34b500ad564955329e03252262558620fa74e2a656f898edc9b373fb85dcd6452028269670893f8f25c394fa5dda867867f709a686f60413359767623de037132bc135d5606f833e4cb9baaf383811bc3ee3f188ceeebb4015f8052f4e688573b2aa117f899c724752445a384d6a88d5aa7b0c57cc9ab9f4077f4c6fce7cd55e298d2d1457161eae1dee7e40a7df330d7644092d7eb7857af4d3c7226f3d9539694224fd9ed389be5fd0ccef317a79500caa1b689db4874c5433effccf7e1ebca50909f9f9c15b958dfb818a39855fb5998379516eacaa869ed6381441a976b0ca25b03b33a86ba783219794e8ae642c841503afee048bedae0bd6edb41ef4448977ac55ab9a108c3b718e3c718410b622bf06212191edb420d96a561f89009a4d90ae5a79b8839195bf0735cbca6d13daf3ed8d3371c6ce4d380cbe10f72bbda958a73792e6c432c35bccf60afb266fae0c8be0c27298a4d770409b62b44146a10351e6d99c6c5df659f29fa19ef0ad106c313c671e399bcc96d7c31d8635e686fa5ff7ef486d9b4a93cdef1b0d1cb5ae0bf67dc43de4e51d9cd0eefecf81155d0c04e39f43db3f89b07e9024924ec6fada93b5f40b06322e0662f7fa9c0adb677db819ac886be443172abd12de7b53760b8011d9c968e1ed2a7854045eaabdefaf3fd465d95acc1c96ba66addd3908fc6cf0c61bb8c0a21539840d07373d89cf64c46f1e76da3afebf9ff4d7bd0a04a473a5d64387302b273200a2a28d37d01b899b991e5d5fcbb4274f01fd50e3a450d092b6bb9d04e88518e6577c619bf7d4174d4b7df3ee11804cfc6df9b666508df21fd26d64d0dc6e16715a27d4753fc594293328a9d2a10ed74bbfc79bb6556ac0bf470f7630650139db2a1ae0f3c49b176c3855a947b292ea3203bd059ac7b44530050d4fd2c5c8a8356f3f0d52b2334c4eb16fd7ad182af4deb4d6f27fd79691bd3594d5125b2be9f6f5ad60f937fed9ee498b0a0420b2c85b87b86c5e4b859e7cf601ee22d26aafb9029f5ad73770eef57c91ea94fb8e2c20685ba8c148b264eda880e4aa18b9eabf4a49dee6c01e0c1711d60ee5c83358910b3f9a1669259890575644af746b25bebbf10279b25c416e91bc431998cb0a0928ba48913fb4f3f8cddb11a9c94fc67d98fddfa848ddba2481a84a179be04c964481f971d685464f0dc8477964ee23738b9580361d2cc960e1fcc24eba7788a1568c8fe8b484feaaa290db1dcc7b7c7aa3665bc040cfab107404463a8c980d6231029961ced018bb08c4f71311eff06bfa09d942763ec95db078f9f2c66452695f0f703af33754d2a04794613ae84814aaab6a435c1f8b0777dc36dd8256f4bcdb419a4bbff8a5d60c43604d774a4f7bccc296a39abe39272bb02f463b8d57d0d88a9f044f687af804afe7a9ca964f54cc8ccce828ea77f42c93401f9b720d67ab96c8068df3469bac8073544a8f72cbb0038ccfbc16eac3190e1cddb889e8036858b11efc733818cd83d6d89f033d04f295f4dbe57b625b2bedbf263cb2f992cfaced082291884d61e7a8a45f1c2a96713682d042fabe158b69901763f9aedad0b0f53dcfe7b921014fe0e4cb17754bf6e88356cda3f540edb6cfd8a5853ef4fa882c2203758236e9525f32135c02032ae8e8801e6097101c796bdc937d318db5d9ed8b44b29cb1ed8df6f652a0af38a6aee0c05cbdbe9bc0589b0b05b18191dbfde02ed653eff559a62ad59b9f0a386d2d8dbb8ce205b0f0611ab3002a89dd6b13ec443e26c0028aac2b896030f5c7a7eb6243e29ef6f48ae766d566f9e23e060d38f33b78bde6c2542d57c037f60c8e087e0868cc662f3c07d3cd33e350f7a095f1e8b6c9d995bf4847319ce80ca2fa7144c6333d1101fcb204a9204a2e658e8e8cba871cefba2f4db816b7b673f81b5c1dd7598033d102341b59ad61bd249942cfc8dc9bea5aee6bf083b77cd80d9ed77462a5a1dd3e752cdbc851087cda20793aae4337c6546ae3bdd05f5e2eb4ec7f2e9dd10b9878b6347ff5cbd5ffca62bb7295704c35e2678b80313a96f396bbc835148f5ea31dc0267d8e760f826bd64e7d32d9b5164f2e1a5f3dede85d2e586eb9b022059ebaaf81df45847000b56b44b6f6f29f7e8d65bd3398f183985966795e97f8ea99d8ad82a129fc5a3779c9838851662ef99d00f0411a5cfe354f02979412fe006eabd170ecad7ad2ac52b826df3250fd4e06895fcafa225e1a382978885b481217225730708ba4d30be8e9c768e1f94d248ec9dd9f8fffae0e47cdaf1b144b459aa961684f916c68337ba0316a6f41520e2e33cf452125a018e29464ae17ddfd010d87aeaa1464323975487c6d969afd61213a1e6bbcb743ddb9d8c3c072a9d604838b43f44252185f9cf99e0d2dfa0132b3587448bfefda6a18fb64d72da633876044b92f762ec353d2d0dc9ebfcb74b2ec3b885c5ac98e5ab018eb8c3acd4df9e48fb197f4762d96df1601db5c2ee1def0a42837e3dba6d5f7757d85ccd733e24d40fbc6af87b35d0366e95b412e6311d992cc1fc089bf2db18ccbeb9ea6f414afd490fd17c9d8e2bf53702af378d6a43ab3f52ca254c0420e6cf496ea5c060a4ea4f2d4a50a0a8d34a6dd33d741809d9715b2a5b74fc73a8137c5476854f88ccc4e77b0145f3c4f0e29fc665e4dea4c8ce333e8ca7426337553a40e2c8a370f74e79172d93f7ac8dac9f0d22392ff88387e595a535cd5cc973a5da4f41fa872399b92bb608b1a1382be4bd8af65e56ce54e3a5d4c4021e7742a1a7239ac5906549969802440f5067db65f0f359d9cbdb4c823bb0b0a3befae40f0c9192035c5259b862f3253cb635b2c6db988e38ab968931d83be5b103df6cd047d415a166591032762e96a505abf7fbdf2adacb1f30762bdd182ec1034279d9b18f74ad7d74fb5f717e540e091fad67ee696f5b01c7bc2ffe7726963f9839d8b036194b876a49fd76c137083a260352e96aeb59380294457c340a676eb6e0f2f225973b7b59815297b205ff13be54777b92b0cddf7de74a5de02a5b41238472e674122d2f3cba0e7f111e1487267665f62380acd76fa137a62982631ce19820c43534aca55628d46351955e2799dd2446d56a3dc547b7ba72606ee7c348fe3bc8a95f428a5b95a57c12fbf3cd3b8902e534b0599e9468454d6b5b262a60b05f02d837dceb32ad6241809af5fb9d72b55e9228cd98be334db42cb8ba2e9854eb51ac32c12f51f919fdde6d01c752df52fc94df7942eab84fb8431a0be7281f16c4fca52672290bb9c1d8b8ab111047c42ddf5f36df5edf656654dab979808f2ac84513323acfc0d02530013279aab467db7d54cbe36d655d12ae1f5d1aa7947a0816c105cfc2cfbb4ca12c5624c746e0ff2e795844cc2f17567a814526ec537138cf7deddf59316d6894505e36c82bb712653e72be77b44d7d1431e92dbfb7b38476a40f16a03a0ceef7c555bb56c4407e4cf30a3fcdfee17ab6fbcf791317c4bebdb52347769ef12ed01028cff817cdec26cc19cf36ce4bff926eec57e8690f98971afd23e0f9f5aabfbd7ac87557fc5b513797d31f63b6050e79835fa634543c396f1f07793617c54367d2a9c359a0442f5123bf22561ea5c1d52e5488ca7058984ce7f460ab0b27341bf30ca826be209560b12f8b56eed6257884020b15bb78907826066227833abe97ead717ec7f08b306fcf155d08bb24f41b9da810f1839dcb13e891fc86a2f1741bb6060fbbeebdd58f4b5d58079aec4ff570d6db05ab60c4456825df6ae60d7e39560cf07e4273df9552b9dbe363fbf218b776ac0c5f878dc725d64db741f6e8b6f18e6edbfe11bb8674b9fdb0891ab35c17c759ef9c24de16869fe01830dfc6be46e1898dbd235c79368ffb210c9eaf315e15faa9c6f34f6b322addb0e1024ba2be2592346c96828982f681a58f535a80bc550fd9b79c1242f05608846b7c1f5e13b39afa3a86be3c220a4259fad834f0ef6a97dd7135e12c5608c8061a7628c51d0035c76553f1c72cbadc5a1e371aa97893983f24816d85746b5f6cd8e317e31ff43ae44510594b982d278334a9d17006a581f302efe0bf19cee2b3be426a454d9db6eb247a0d6d3fede9512f96bbc4c340f16985cdbb955aeccbed0dfff97908b6a1d4e214d8e1f18498929faf14bd283411207ad947b01e25a618c9ffab33536e16f18b32ca66cfe6ea946f9bdf9c9c8d475325717fb8cd4a67fd0a38ec5996805fff9b761c0e4a99e00e3615eae549ec3979d26c8eef5c62d0bc2063c7aecf7e09163e3851cf7a1e6bc47ea2997bfdb0d1791334885544d2d4c4a6ba988f49c9fabc81d3093b844434d40779df3eec09bbea0cb479e675a974d04da59c40955b91fabb47bb3b131e164be6faad873c52f951f7ec46bb97f1915cc34819c3fab96549fd0b85465c42f3537d374a1dd07351776465e86c80a332a0c42f554d4754dc85322c9b1d40d87ccc4014fd8ef9eaccbfcaa71401702e4200345002c1631a1d7a1fa587137d51790941217c4ff0d631322902c51741e4bdcfcc8f71a3af5d77ac4f3484dd52bf3c7d7304e8acda4fdf81f4d46f41c8a42694d70fe76d847a86692ff8d81958a19b84fae4fa364b58ac9e62852135b2daeac0ca01091a2ab7cc607456f9e17ddcd40710d8c4102027ecdde7968b4149e8b26b4d0b84f1b0d69d663f29f1e33018fd6de102b7db5f29126648e3f0fdb3a5140f460458b0601ad96254ee1133d85122c4e3a541e4b38b9d971b422740b4fd5ad75c6ed0dbc6b98d6dbac84d708a76cbf7d90136d6fedb4f4f161ef42f52ae510768c6d0311f984d1fa0a76488e224a13f3309001fa061382aec927cac95738f0df22fcbd7301f7af74fa8024bdc76bf034e65aaad79d0be49f23fd818dab16565e4876ddf4638b036025749f8a9779c620ca9ddc6ec9296d7ef2300c424fd6416317210fcc723aac28669be1c8e36a78942d655acdf30793e245d3c86671a7bcdd2aa49031af981a0b59764b023c0d3a517c2eb192470674c0e8e7991e723b3a5cb56ff311539a0b89c25569879e40c5fe4a2175c7f4063d440301d4139794101a29a8dc0839333778d02828e2f7afb3485a2e09d7f2fb52b1fcd65506a3e7f42642cd97cfceac4f4ec38e4ffcceeccb228b4942c2577298d7cfc9423ea5c29ea050799609ae9f1706b9ebedcb1ddf57a0a52193ea6aa6cbb59e7c656e80cc5a36efa730bb4637628efd95d9936888b28fb57a6c2b955bc14a7fd33f442455fe5c5bcfaba4b238e079ffabddf29abaa67720c60801430f99cc76dfb218efd201dad4b4450d3ca59d821c647afafc3ebdb7d2318185fe7551e4c0da48f67caa336668c90c5775059b0d7a0b699f3b142c128ad6f0907ac0afeb7e7b31f4abf7d2cbc56cbf3836734edaa484991635fdeb795db72ad091700a9f2aafb22ea7da5058824cb514883ac811e85bf6594e7a435772a01c96ee5e8596ab2238cb873b3c74b5b74a0d0667bf597d84f41085e9995c4b61613783de9cf7a957a762bc9e4a4977d4727263b9ceb6251f8db5232f9a8084d65eeff42d1931d73d296018ef972ebc7c3bfb9ace7fc28f238c2a038bd53c98b9554478a2bed5f0042644335f24831ef6a88c10bb445a202d57db96a7c7d74b5dc6fc7be027c1412b5a3f4315e938aec4fe8793d37d32c7e030848e06adc30ae168f52c2f3284a6707116a1523c1e7590c074b2422f01562e36f6f6e93ed1bbceb1021291fb2aed8d9c47e95cb73a73ee0161fc44fbc0e9648ce2b19f3e6043ab7c5d5121f03364a5de1ae5219cfd35b4b71d79199aa4294e0a61d7d32d31b191437c40f4515c5001d8b486a620de1a095aea6555417a9ab94a138fa79c72b1c94eb2b7d94ded5191079a256e416ce16950297892109fb2896053cdd34d0a9e4e8a26e6755d0e37fccceded8a15bcf240e76d1ec32f8cd8ca9700fe18168423cec9a9eafb9ef2b18a69888694428ca0793e2545a5684eeb9a537b417d78eaf4c58a08ff4b0188aba12a28acdb1a0f6fa7ca825f0c5d4de7b068e958c965d81d19633ab8ef66adc87784027a5537fb5cecb75b3e3ddae7f054b8e7287b443095611698885ebc2f768634e54b12cbbcb29989863cfecc7344168a7c898ec2e183ba2e2b063504042d78687ae44541273238e3b4e66468570e18ee5c17813672d33a2df5735873fc839f50f16b72ac326e09309a8c32d31fdcd10ad179cbc687514e895be685608803cb487e0d9d42e5a3d473230ad8e966eca101026b59a0686797abaf67ec8f204c384be97212cfe973be980497e83e65e45e5580bebf8fec26e096fa04ad797bed5f90f3139a0f1fd1682921386aef781351966c7fa7b2c8f4cc20fb44d2483b82faa739834c6db7d553a840b5aa4d9cb03b4763fafa707fc4467c07a1c54bba36aa0710ea78c857548a536a72f8fdb145580e0bc0852aedc9cc74012c609aa2f5c206323fb953ad7d553030c8a19766212b86b814e01365f75d6159b05b9e4358c94eacbfcad79639f3666cab8d3f0bbe9aca3e5e3ccdda288b5f15c1710050217deb1d24e7f133f76bb22e9da404e763a01cdd5c289365ae47e616384da6843c7220a922d8cd470a2195c6bdf3f3dfb10018a5c090e750af40ffae31c688b580427f63a34e8d8bcbcab68a390b1bdd96fe682c7d7c5e1c299972b57deffeef8e3bd08b4ce1e85a632ca22a48cfca9398be2573322ed35e74abc3f5dccdbe3a2a66dd004934ddf29bfc4a3e192881b504d7899d97b0e8235ba2b17da49174f2b935e4ace10f77bfe97b22800f2ea0c848f416654f5fc09285d16478339e4ac6c1eeff7cd9898022ec4e32dc6ea45a0453bb306e0d3097d14656d41dd16c6f13dce52b6929525b546e5db9cf74cd5e076b8b5a5e00b1972a2af3a794517ac9d26985c0eb2450af52503ae28794ea3b00f7f11beb0feea3863a87d00e40018ee2f61a05fe803e82a4aa6da09e6808b77740fe1ca029245ed9a0b3ce52a818b92de13c1b33574022aeeb02e424cc8bb9f6394a9e1732235c249b1f172fb68f4b39658bd30de4b7c100186118233b4e07608c9943cb07ad45c509cc6757167067bbb355c4a366c22d83ca74bef414d55776bd399e2740ddd1bf2aeafe740080509f80115055745a92fed39068817b68bf7cf3c3c81d04d6aa237a57943ad75e59109c92204a81e14d40dacd69a9ecf5181aebfe7daf88fc420f57b634d6aa57ba3d62b35a730d43f9842eb6333bd4efca7a34a0f7a089c837bbeb2336034f252e8cefd87d9ee07fedcc5e3cd71cf565b41b6c36f5b479ce495078faf43e55795d373f8941158980e1f28f58d2b3803defde30c704dbe98946fa83229a866e080ccfa5b7ee2a49d8104b91a66abd6ddf5ecdca8503a41ac7863483e70bd587a7854a8c628a93ab633fe9bedccae19e3a787167e6ff9914737f406935a8de6938a877ffc0b321b63be4fbe74ac12affd862674fc2bea8301327f98d8d74f5eb73cdde90defc019b3f8bce44fb993bcb7c9040638c5ae984b36a51e35a1df8a57e854d08e9f962b08cc631e29fe52f399d32b95c02e9ffaebe38b9c3f4c91094a3bb357d5106e4e0d7ccc705fc7b58f5f75e3eaf596bc43d10c97aac628b8d4d1c71628daf25bb59907d69932a442dbbc4676d3be14b939b61fa1a018e124746056e83d3b3305828ef92299101baf0d8614c097e030819638d57778f59953a11c8a698c088a52f841358b82d19e0e5c159f1ded80e95e31d429a8822c7672a5afe31799de44530f5db6045b0fbb0d89e6ae652d5a7b834c20fed8159ed07869ce441ebd3b366821460f52190645a80a4559de2666063b6f0e32d45a7b24b19983a7f7b5f4824c83b01b3c83599e23c372a0e7815c9c77031b04deeafccd12cec029fa88709c680a5050a9d1f011192c194458f70c9dc9e252ca29dccf2cc0b90da930be768219d39dc9bae17c34b4f637eab76ca406e6773e4e4a02cacdb165367fad2f9f2be4a8a4b4377bbe7221f988de30a46dca0dea91272ac354510dffc495aff55d4c81f102b403912635400fe173d0eac5a6a8b1683b7b8914f160d78340637a313921039cb36d92bc8b6f386123638064b7bf22ed36a7e7c22eda5a8c04ab29ae17dc49a56a543e585c6c5eebc0acce9fcbba561fc1ad52ce4b159707b6be67d53dcff15d08fe2f6e01965eb1da1e75879efb29aeb8c6cb8e68e9e951b7bdff8ed1e94d0916cb46416af7a85eb9ec8e80b96be88b2b5bde93c8529541d8509dbcb5397c38891c03926f9a79952a3c6460031335265a8b12db00cd2a90aae24b5c9053ff8417886f50a43b695c07525ec456f79ce178201116ebff275da6940ee06c75ab8c984027fa23e7bb9a8ae9af16a82b1921521fde704b0a7d0f732915128f991a30a94512e0dedb79752a4b1d5a87957ba3edc539039930cfe039d78c8ef66430ec2762957f6d04bcf3d290812857fb117b96a00d00926f0dbd47d09368f9edbcf3f18a73b6eaf2d9c6670c15186679c14e5af52bcd9bce496cba7b77071f570860e110290729e27c01a507696eef8f6cf3946cd53e93f7cc4761f99fe052c4fa07cee59ebb7d4d3fc16f91a8a9c55efc913560b3c4fb1e55a50ff6b72984bf525c282c6ba589b711ae36ba19953f80f3c2ed599aa8ab56dc97b2b08f284ab110627982fd0b41522613e490cd211fc31254151351a2f26e1d31ffdb810d2255c839edbd80cbc02a276f992554ec86263813ec1cae0ebe7ddcb1506e6a66e855d4849eb01ab248cd37142a1f4ff362570446764e17ef3e049a508d52a09fa8135b1609ecafd707ace97c36a5cbbdc43b862a79351099592531ca72902545da76bf6c2419ea404586cde0e2c1d6589d83b30f9f1f62f8590512800f8bf60ffc8c37073e68c810b7e70e52d87ae9494fb53329be49ec04a7cd82f305f93236ef85e3f2868d680dd3d0121ec25ef9bb8ea6969ce4e01a7f3edd85664f66dea861afa148c01c5ce0d3eec25a8debb7bdbb8714c6ffacbb36e12c38b383660e564f49c3f790246d05d39570e634823936ec8f1d4ebb8a30c2c15394a49bd37216e6fd53ec8c61421db4960d3903a836b56cd2beda322cc9366ed6b9fb9817115186cf0b162888875f00fda32ce35ad1e73cc22f63b8f20e98b3a6cfebc2ccd575ac113fa14f7da1b8bdf0046fdd2895b663e816696c73ae7b6e3d7fdfabd56c51d2bbed74f4be813ac8838a6b3f8ceaa46bdfd6d2e5d19c981f9f430a26ec86ae7849ce88f24cc0dac4cc880599e20eaa6449c3799db06613d9b15e0a1cf74314ccbded48aed9f5298bee3d4459f7dc1078bd0c1a493793b1f0de45f25e2c5dcccec539911c6d7ef111d4b1853dc22899b60503991eed58b3c07e455d770705d8ae908f40331b912639337386f5e6661ff8ffc3b2204ee5ee5d96fb5b8785720e1f47d03284595226260c05fb18625d5849a523c11b7309eeec9715f33643585aab30043dfda09809f780e786ed42edbe8b8f53e4b82255bf3bd499f1c0fc79c08efd44883a7cf8ce66b4d0ff8a4b6b8a83bd86bc14693120d11f09c666b4cbf77047610243c5feb95abfb70ef6483670fab5779f1c0385792f3ec0f5305b6e695524f0236a1c5d13fc0c756505537415b8312f6973a489a1f635e51a4234d1af9184527650151fa5a94f9ff92a70295a9d3cca72536076e07db1dfb9d6230a4f9a94f9a9e7876ab57cf7e96f1f2e60a59d7085a52494324103007f5a52473f8afa77f3ef5299b31a4ade5c31a04ec5f16020cb011db455ed5f6b33f5db761b294e89629ff4540bfd41bde5c0d6848a16145fa005f26fb1426ca572e86bf3428b0005b02a411ffa1bb1f13cc58308d249c1955a8c4306a0c54af07afbcc21da3ba971b24a410df5d4d0b55875e866e613af3575fa079fd9c0097eb69c2f82ac8a4aa7fc104bb5fe7702b17290149bfa3ccb974422cf8a23d73e842906b32ad6b84fae2ddedf711d94e6ec21bde512538807654106b9f094149d09099d2bcf6a1dcf539b0bce091a843e044f2e453311a187c4ecd42ae85e216291f79d04608aa881dfa01a9dfc5a6219f8f170ef497f369df3ad9358efed3edd1f02f2546b5a9713f6e8ac704b39c9749c3293ed6c749a0fc9a3a9d320a989d1f97510ace1aee8ad9fa5d0f83ea1809b68c5cdcf3691e6a2ab971fe4e3090eed0c872babf57affa85006abb0258f6c391fbba3fd81ba6acb55943922303590448a0d03c27e0b0cfbd481315a1c2954d04c9217dccd4bbd308bd8abee3c05de1da7484bf9cbea994798c0948282cab083ee045dcaa45ef31cf74dffa05adaf585edf28fbae042b74c2299708ddfead65ffa8a5c658cc9258657ce27b160fd3323291a771b0ce403bc6ef35a203361d32aa76e47784f7194808d65c6f46f1799b3fbc7b520219dfdaa92d905104acaa3dcdda61c08cf90b44dfef025d7213aa56a04e853e5edcaae6311b09250d7b1032e3c196c09b6d883df9a085e7e549697ca01aac9c743f9929d41e68b5424f8ef6c719f1d0cc0595716898b616d02fcd4715a1a20c0dfaebe30d944a8e305f0d4286152a14c5874d94fa034211d95d16ff04ff935538b94968e8d2d29a39c425d5c51510b4a37645af1aca05ec4301e41ce229edcff9844b9a5ff6033d6acffc77d608ce31eeb50cb17cbc3d956c2073173822f2c819e298a2d2a67adb928493df92c3ef28d5c5160dc842ad7d70719a735b4ecaaffe97c1a57d7019c65557c401f538065a592c3e2d4dd7999853a22c0514d8b76e65b1c6e228588e7f4b9ea74139bf683f40c0db8ba4e95f37764a9ce65d7b1e4aee47726481df4fa607870d6a001d174d7a95c9d81bc9e18840e2cc7e3566ac20a382cad1f7cab6c4a652202ffa9be926d374960f9cdf61dac93ea6efe533b5e4695319e4b6a0542e288fceafa78ff5d0d0a6390de5d3bbafa71555807c49f928fdef7e1a5f2cf4787d973a57c3d950d569ac05149276d0299ddb19de808a2d28a640a9900b93a7c1e460b2453aceb1cf483fb3721597419479eade4715b1322a22987425687c0e352ed5d7dddd229f255de7462f73984b45442df70c9484b43c565b3a04c8c09af2c0d6f743d118ccc4895974f82628c1a0f227edfdb54534c44c57291fd34d392a80e31d00f008c772d3dd4dab405d5098c82a94234704a89de8ae14c23c779398548cc1ffca9d41c462c11ae9b239d9d9078eae013f6bfa032f2eaa857c2eff324cab8d22b87317ff9100d37735fc3d16d668c20180c4dc91477d4c79ba83aa857ffc80b964c181b27c01ede64b7011de1cdf00a7a37fd75318865cd92cd113bd7da21e8a40cc7e74f63178801544f7e63b66576e794d5c227eda636fe84d2bd61acbc64db7c3f7036ee0969079aecdca371b42126c47052b4485f6b38f7fc396cb188d3ac64c5c9b0e54f70da2ac132ccf9d30d4f94c092e0f5e2a1e58e66c1e3428492acb2a714b9900f4af627dcb5447c0f30effb86d87a8b37cd8fce734d58a269c659defb70d9cfc9c62c7626f40a6d3eaaa1241f921a39758ba2b4c3e2a297db6a1857a3680b30f1e6af0b58900111dee3f9deb272fb1fa6f0731b6e4728c3c10029c6aca62dd2f4962d870676d8e85b7c55fe27fc431c38acdb2448ff03f9305bf7ea2f37ec9ed93459b9be6f192a0d801ce62ec11abc268f05fd4981e658cd40631b43cbe3523bb1158459e545f0d14c0ceb9da27343a3a34db099fd5026e446d4b602de89b56beee2bdc3e2cc2f17cefb16c5ed154444352bd2223c514f8d1a8a53d5d9483eed3fba23b9a57c2a540f069367afd8b83fd247e6172d448b62e7ea12973736634ada7c77dcb23e16bc9dcc7de9bcb44cbff3b5f3630d6e882de8c9ecc8672198207397392a57a2a99759a80024528cf20edbd07472d0d4f9b0a48556d3ae0963f08c792188001f1a41788375c79ba02ebbdb682a38e0a275a545b44d4dd901010e3b6c455af42e61d965739a395fa7c0fee3c9776e249eb86b11f4dedd58f329db8124e74c3b9d948d4989289eab058c3a8337fa6e2c286dd7368a554211d45bffd1acffd16a08119f8e0e10c04a627ffe4a8c63b8b38fa158a5a39a9ba25995394c910e34ce7e16399c20f591394687854b5d83d43fe2dd13b3e76e9a22a1c19fba3eb95bb36cba7c044a5d630df9e1d9a27213c147dd33d9cc1fda1e427f20c50d5f6c3b02443926c0987b05a055a1a9359a6c6a65e4252073f47961ac1426df8d898b890e92876c2dc2bd91d4f45e887bc1a114cca334abc295b513625848c55f58675f6cf2b3a56e7a20b1f72258e6b448266f63f830bb5160b38d279ab1997c261cb86a9d8d43d0c239b1599bba812a9c7e44b568c83468d745c9ee1dd95779c9553891a976630de6189651bc37c6712d8dec38bad983fbcf2023a14bea1a8b95cd4365f000a53c4684203391fffe7ada66babcac97e4e20be2eda7585a8f8809cae524ede0ad18f3ac820c95ffa26e4779b3564c9ba9b9b1d72f2041e814e60cdab8bb58dc13793c5d85b038e218a34593b0fdb2255c2cfaae061818042c4df65a1b4ccdacb79f2ea99bbad9cccbec6c2a11c272eae59ac167e7034a5841e8fefd94ebff4acd475c8480641d5453e25315d70da2a150025a4022ed0ec451e59f426ac67e244dcc9b8efa40c9d1717076d3337228e0d3534f335bfbd7b27b0672fde5f8c98eef5d9c1bbb9b0ae2a8ead000d03e06eb15109b71b655d96a158e8b2630dad427d3748e3fd7ed5eda13651ffa3ff41408e8d7cfb7fd21161a5703edd2d667bd82c5eb33de8b33cf9297b727019548fa81ab844bc726fd271c855f2660eac7ada206bf84d1f0e315529f6e9e36a98eb456058fdd58869568732a5c64d33fe017eacdd491a07264c280fdb57de62f81fb665583b06eb1ce144b1c78d6b76312f7e8b278b8aad0141bcdb91b0eaa8350e2a5c784cf337d583743a143ea3eefa0b0fd0b76568687e7be8bcfdb7ec785b4e7f0c606046efb2b0f2277e5190ceefe4d014841d575322b25fab4c9bf8321e32fa93e1333ffc5af3d07ac29940e85a87072b31e2eec1f7a7d789575a53bd3681ddd6e547f03c599c55b63d36963b280a75860a129f4443f57bb4740fed22f31a4f5e1b9eb32e37ac795ce7aeac3d72a7689d9869675b848987fe890d3f44e6e8472c1620c1151f6da7bc63564df22c0659adbbc94a2ea38e05e826e54df4689accca300425dcbedd6f4a934587092814fc33c112d66b26d05ef734ea8bcb70acab9b4a59551f9d7f0d0ae688fcfc5164273b01fc78c5b0d5c7d46dfa3e8aa3a963111cf766f2ddf5dee4b1a5bd2473aebb3d815358776b4930bdf92c646ff568525880eadb5b7f8759659c380a666bff649699ae3a900a31bd72aed00bde6ab9bc113cc555b85a256ed434214e0e1224531ead516e9493f7897139c584110fbf0754a57d02b7ebef0a6e456043288be3b82f4d336eef8c69224f162a2ef26dcb76fb636bc05ea236daa30f1dc231615490f5b0a617a2bcaa6a28dcf4e1833e21b63769cbc933ae221850e8262c32caf5518478d5187000fede41e5cbbc9194854686e8ac0b9bc50eed72757eb6554dd9cbb23edc16541140f96f95f3abe7fe7ec4309d65ba633a0d0bf86adaecd3f0b7bf851749459bbef692f697d93e6671fcb74685c0ffbdbef6ffb0ce54a478e9d0553b5eda36a8ba01b48605313d6781880dde4fb0d50105b7e8af5acf80cbf828724c82c7f4ddaccf194e45a3fa3cf5e7021fa76b3b456a739c82256bd9ff338681eff32583aebf69ebda67688571a3931e60fe31021e6d0e7124535d96f90c2e17074a75e207553dce7df1431121405ec0be1d6c12d657123471f91763d50f4722e85f702f4e1287dc1897dfeaecbe42c8f5308de53581ce829c0e9b2ae537a62bad88aba055963df035ab17a1e9bb6034ed6fe3c534ec3f4536750fd906bb7430ffdc1ea187fb579b9a18107b140ca7bdd550a8cc21a20885ca9e9087be222742a5792ff34c0fa6df32b8ad5cec05a074cec0bccd48cd6d7b5934a37190a74cabcb2f42c000db2c2cee4d15d2f3b50388c15e1ad2e187482039b2c39b41de39b95ce338bf0c4fe527584a6f8efbcfb4e35723c3d0c5a23df939c717633e2249cb85567f0a16582571bdebf021f519de2233c7da0c4efbe8079518523a9d91853190ff0a2f38c7c9f1e5f3ae38283961362054e2671f4f4fba4c683ee0602eae808eb8e5ab06263a2017f41c9711f2c1f4d629c3b339793d83f815a8bbab682613b36450890532a994d12db21123060a228d88c896933445a4b39541aed74f9fed63c87ee12aaf3fc9b6fad50195db9256d183b092eb934f7c61f1ad4dc81c0df1307efab66d67baa0cad346b3b4f660f8837c2dba69a95b0a7494afd1957c84fa8fdffde7c8d9723958816670faf3fde7b358d028aedae77506bfd9d7a2b360e51a4e7482911af38049dec475b7078f858fe355b51b8f5fc7b202408c88a16c5846480770976560b5af4fce55b48cc28102b50027891ef00cc820674da913a1a877075fa3c3ca08ae37335e4fb965b8616cdc37bfa7cae7f03a7599cdf3c7d83df83d2b1d70544afc1d14a9c0f596ebf68f2853f9ed95bec3fcce45722dbdac7d56f5087829890477d20c9ee82f76b001342e09fed1a87f0d399ca8d82912ec58fd7e3263204ea66bd5ddd2248f8d8a05a6679eaa1fc700f8017b6aa64c33d4f8c5be862de733db924cd236259966b2d6273ba8d9980b0a8948d9e92f1bbd67acece3bcd6356d901b517ced29ca54e6cd8d57482612d3d098b221bd63f252560963b205464e08314dc6d8bb71b8161444a410c247882dd9fa3c081c977d99e75de889a3965a3cad0807e632433bd10b5a716190f52d802ad75b3293d96614db26a81af2d5c807e1fd5b9f4106a4278e94ea482e40ad9f60a052e649532708921f85b3d3da02da6c1fc97a3be646d2f45582f55e0a996d7e3d1ddba9da9095eac685ff40885c8ac18545fb1a27a68aefcce1e7bd07e09a8705288eb8fc0a165dd69398c657b3d37b52005c40ce336113d24e89aff9ed1f322bd4465e75abc1d5d671c6ec0be57a71504a60682cbcedde7f224a316e6944fd1d5585174a1cb97b71ac7a65e7ee14324a816b464aab5a9033921136fa081d602e21ff911b6d73186ec09e983ecbd5174131905790a1f523cbb6088d56828e24bf1243b4cea2c96b14a9555b677233721d2a90adbe0f732ee63bdab3afd1a580864a428aa190b80990e2917d19b4708c8d25b8992f36e1aa180a006f182aa7b053f73c9271c8c66c0c4ff7d8a9f1c63378d8dac772de7e16a95785c5d53a48502ca3d7286e784a29508875e67c71e118abf5b7b8fa17a8f50d8534d84cb61972b42090850b6f2d06ff226969e2e32ceb85e0e1bdc9f749ac494cedbab4c6e8a562e4ca363810b7f93acf8017ef0eca4c1e0151c53afcbf7d03cb5f5f129f34a3d3f50a3321c7f8766383131ceee20f74cac73cc46c4096853e01908827b099d5428b2ecae7a73a345eb1ea902632bf99724a782122639b40e6341feee50225837a219a38db241e6954629ad7cd7f916abbd8679ebe89310b2daafcd7a51f4f02323891cc57f2a8a03eb25fbe0f2bf304fcd5c388db2b1299c8f1d3d60e233b1778c04d5f684c50f52619582ebccaf885b8cc228ba19fef8f6d20bd671f38eb5954d8953a09aa34cd5c8ceb6eba122c5312077468b2c0742d2f0dc8712fadb076c24f5a32cfb37c11c492076a1b08b6f6e37efd6dd87fdd7e452f7901ca00ac27be861fc7ff60a2ddc9f0d1b656ae90c42567fa655decd95842a5112782bb799defe7997274e11ac53225d5644dbab1b86864ce820731a6d678a2e3c28105abe24e372575242d66b88452125de98a53c978b1e974f230895083acdadd71eb4a8ed4eea55de7546c7a1b0ab0922fec2b756272ec3ded934177538e8e9fb961ff1cac4ba3e12dca0d9b00634928de1bd08ccbb4457665caf935d161e47b6fad215d4f53a7ace7cc893a42529d825fa7ccf3964cac1c95f62cbd88e687375c115ccfbd61d3c029c6f4f56bb6b7c2d9770ac9c379553320462c4e1cbfb2b05aa680c3610a31f8bbd784bd1a1f84d59e889f4b3fbd2c11d3070892220591239ed11d3f8184ab1df1411098f74f4c0c782bf453cbedcc87ddb9712383c17d55cbfabf8a048c981541dd9f10459c73718d992a0f1d7f3e0d53f8e2b56c53e974351de59320300730f6b1fa57667136142e35a3077082fc2dc680a98eaa184b90b91d6d25930908085707ef1ac79ae3280d8263bc2968f8bb79ff9a151ffdf6cfed1cab96386f4e1a8f1e6dedf3bbbc564beacb0d78987052e5cd38b86cfd0b03d4fcd2c8f812b26a0c1a767ba82b8c09d14f8a3ba20a71b30f2545e8006960244d065cf18162d629ea9e71fc450a9d73fac555ae6499c09ae6a8c0ebeb93cca2df5e71b95882a5c8e5d3bea55f6517c3a67d1d5cda658e6fefa227470dcd3f343283373c66a148124a23fb988f086d8aeac615bd3c99e16ae04d91fe3e6072b953d0e96f25e4e359338fc304f50288003b0994c328387b7bcad38aff491c463589248f93d357cae4205515f119e39589f57ac743edba1d4186d7bc1c0325b201103ddab35d6f4c46bf9a3b8006bd80d95e133844501fbceb99cb878d5b00deabc48126d5c4c60bd7cf073e62c0cb28517be1a55e8186fb7c449bab7b465e103b97d1ce992b1bc5502100a779eb7a49610090f1972188736fd3ad8cc6f05d8c6e1ee8fca7f47f24ab200498d9f374e7c816af25df25ca18c8e949978dad7a2636f56d84e287dd668b93df257ad500b277f14d189bb2be0868eb8b9d34249d6dab9a75d25c11a632d8ce604700f52cd7ebdd16bd293a40f6871d21858429fc940fbcb118b44c909059333c21fed36ba739a39dcf108ba6e9f00326b6ab115109d16b31f6cc996d60e994add6354ddb24ffcb770ea1ff5221a3c20f01051212fabb0ea81d43d68934744edf1783cdc3f2c33753d3f84f31bd1fe93147b6385c73ae87dd569ce8aa14b7d190b413d3faf562e9175b1e39825d109ac501874324b750243df55ae8c31b393d440391847290f055bbc727bf35b2c5af291a002f13c6872b464513703f4fe3a99854a7a6cc24ec30ebf5cd12b2ccec4faacf2d130651482258855d9ef6edb989f699c4acf902ee197f817c0f9bd6f457d3060eae60f7eabccab465d511790cc2404b5e478869d95ed6f204b2e9591c4e45fb7788d406f5ea97a38bab4e9805c63d4e0206a9d28ec4f31253d263a413e77ced403fce448622f91de357a150608c2033ff201382c00d4f7e253a0acefd383b7e621efd3e7a589c3056dc4f9f5ef6a9e0a13a7ce8e7197e378548f93531ec202db06336bb8651cb76d8e166931dcdea410d3c3b8e2bc95e6ad97161943a68a6fb9d03ae08808a5fb62dbaf50e1554556ee327b4e71ea5bcdb5fbdbb27427339838eee314d155b9bb9bd7b6267cc380debe1e5ab9029c9d5ae00a4b5a815d12359cbf11bc49d838df28db155b7383444fdc676f2a429ca13f2866329fb013f9e8101fee9183024a8173a98300a08df64c615cf4ea7f6a0cfb128bfd59e5d8aec3839086abf7b3e381e0dd42cd5be01f7038a98d358ffd7abec39c4ba14e05e0652fef94d82e7a3c9e0ce109aef04ce4e9c41c5deb68e5d47cc03c7aba2dc28fae71d5286fb247b25166b2cd8f19e00deaee9c82383cc42e5bfc8b8e26dc626908baecadab6f6efb5451c889c3464bc44b7c72421b370dc75e52dbac54fbd35200361a26a9480d5915f3eb8d9a572e4549fe7e358ec1b2b135cdec3a7e67ab74005a6819e9375baa8cfbb4516b2c88de2088816b48e52d69ebd548715cba298ef285a5e912c8f619278d82ef70c6f91c2004c214847a67ba3c9a3de9945e386a188f9f7879c3f9a8b6646a36832fa36677db32101f449f63dbd529d2a9af00cdf4c57496a21f41415974c114267571ab58bc378f9a27f3ae65726ebe022d2ed7af557bef08567ec2b4bcf72f854b91ad04eeee491601198bdf1f4bd129cc5aa8d3b6c562ad190059863e8d9b32170ff3e59d7d37084d0ccbd2bdeba111ca0cbf83de90599fd3df213db3b6f66935e7c3ae690de1e2e2e52940312d202d69028f3bb1da446c3959d1f4cafdd47e5032ee5aec9456b1ebfbd3f984d25fc7f357d40855d5557c753481146487994423a992b20a0ee93c3bff6d36683b831e7735af88155a9bfdc5a81d6de1a66e92fa5e2985a4393b243b74fb12a6d416c8f2a44e27cfadf4ff95793c4183269d9c0a091f61356942d3b79728aa427397fce57e3d5933877b8482ae4a81c0eb0382f216f4fd6ddc24047b73e950da22392bdc8be53826fc170e1abd816d3210582639f5fce73468f3b1806bfc53d4c5514fbb86c26c53e167276954fdae9fb9d166b7042f65f838376c19f7ed3e806fdead340f8e444a66354556163c2c933d2dbdf109bd1c0c2131411c79eed55e883541353fef37aab229445500925777ebf60b5351607ee1733a54704556835d5700145d884f5df4ea16c392536d1c01be80111094c8cd0878303cd6fdf42b778ceb7facb640ebba92cfc23344f296c0c8da096cc493dbe227beed5a8ec5cfdf0e75001cc59e9f616648e6c3d754dabea28a4cbaea36e62981b4c386c3f37c812801a83d53df7a386c6098df69664d8dff5de4ce72548b2f32316200a64917ac3d00d4119e007200775ef715ea7c502839fa2d68646e5a22da9974691d67507b6507fa01ab120adff7277498a2e26bdc0df20c9782e1795af80cb494f1a21091b7d48b6df9d53471b63c04e1a96406b160324d36ee420ff0ac5b9bc45c0a0be714358908be08ce2453ac2390b3356d03ec7310dd5b623fe48d4a82ef04bd1ebf1af2c11790cba093d07959b23a9264c5786ec144502d94196aef71d18220830769f0fe18960b2390d999f9b88bf283f70c4c5518e3876f2442b6662ee383c6fed923a52a7c77ff1140448b7925b234364b53dc9e912a0eb2fdc974f4d9e803cd243cfe5a882685ab11206d537f7af6f478dd4952fc562e77b11e8bb46fb93883b81b94f5b9e3c119cf1a4baa83421b77c06eaf96be33b04ad94fc070cd3ee65b53f512cadafbe466896cfd9fa70a07b7f164099e66fc87a233eb5a398f8652749b1c5b4beff49bc5c29d84831010ebba18ab0a2412280b484ad86f37cf3f19d4bee7ccebe2c4b686987dd9c6cd6fa1d97ea8d5ae039ac364cdeede94ff3844cdc69c4662db79ab34d2a362b62aff7ed00aede30843a7387ac11d8b3134fea352aba4dfc08b399eb09b4522fe890dc2235642e86995d0f759477b1a2ac404f83674536611aff64ee2aa2aec62e3fe0358e50239de941d6cc346d3b9fbab74c381a3d2dc502055dd23233423ed58061e05ffedcf95a4590940be0b4b5908b62f3c0bc9b0bf3194427d0875b4ee808250efe556cbe7ed6eeda796b322257f1503271604a7ab92faa1cb20bc436bebd4080f0b25d57820ab1e03f1dbf876c82faec1e547cd98b76c51cb44747af21071ca3c5f602e1fd3351b53dc2ebc1b76cfedee29cb0c2129e2f1e52b5063ddff9ebfcc3216a543bd2634a0624667ba95ccc4fe78d551d9632533f71791d9b0b1329fcf87083cdff31d4bea41c7ff958161a1f28898d41fde4415c9d0cb4041695a44885b9e4099516bd57fa9d537ed44fb8d62a07cdc618aafc064cce81a94f4b98a4ebe52935e397b871a3cac1f4b672718c6a3301ed23cc60b861f31bfc28cafb3c41d4935fa8bbbad0fa0ab9701a92d93cd4e75832bab762d51d7c01924232018602cf64eb52413e1cca4821357612e540dde566d6493c5705b74c39621ad4d7717712329f07cd78a76f173c3c3e428a6c07be9ac6830ed7f7839bc2a27df62f719feda73dd20e5237a25e71401001e428e5b7e83d49f4d001b07f35e209872c4dbbd54153a1e4a126414968f83043c81e13beef471faff4a0ed7d6d7da700d9cf562ecd78f6bf1300c37bc83d041b1089f591984d04a48e3d4f9820f9e0f47ebb55adef5618513a1fc92f171f3f32ad674a3668339135182cb95684c6295d31e97309b024398eabd0abeebebc5870cf4455663c8a9ff247e77b1088414e9c77b6fb22c7fda32a526b999893a7c7d2738b75f3c366ea9a2aac27bfe8ad889e4aa63e3fbf2f5d5c6c58a5d70a71873057af7f0d1fbbfc910d85eae265886ce84f8b0af46ee71474c355ef7ced5097b1e13e258902e78bbf95991dd62887e5111cd91f62e2f8df351cf031dee06979631824b5864948bd11f858c4bc2b0e92d5b2c06626894490df9ac9564dfd5a0bcc70158f643ab847df472f6d056f52ed25bafabba3c5105c7863d937d6e8f350e14cb16915246e9c1c17b538d096714ee4f1c89ba9b3c597b541bed4d6fc3736d4d7d8ffbeb386386b780126eaa7320c42f53a2967e92241cc5cb1d4e6b362322360ba7c157453b29a4ef4d47f5cfa5dedf0ef1ec70fc3106525dc67a7c5e5707153f0c5d707fb53135fd2f0e9437d35df65168844d1122156ee502c7164c3a8b365d42d30fdd80a4e17b4525da1eb8bd24c12f2031394bcdbb4e62a35c23d0263b6542c9c87d169994d3cb330ddbfe1de4d5e6e9f08dc7164598f269b487c033807ca309af49dd0ada7630cea8070c148e6d429762dc7cc4c47b4edd37ccce5982a9cae86095d9750968d480092190c2c79cf8e6dd1987b6cfb7b4314996a2775a3ff61f094628a20a9e01ba6db80f82482921a83adf5fbe0caf1862e9a20b24ed34e40a673627de987f76cb1a2ce8d82f132b5f158a2133640e49e9af27ce7adfed37a66190dacda92211c6ac58f765b89bc4ce6cef5571b8994a5b0a7854d60385480f75edd9d58059dc4ff69fc98b020bb6de517f8b03f57a08171f94eae64d120b09a7be3351eaaa8218606e8d82eee6d9047fb34c97ea35b21aaf68b0f96512c1814f35b4baf3516774dd48291f6f5aeb96de052d8086d5bba157f8f7aefbab17a6f0bd2f346a19f85dab35bbfff64935ec2225b37808133be7e404464c2e4c1f40e42394a22947699a3cbeb14f8f4a2a19bbf855b41e1a519badaaf0a86c7810b735ad52e169c29ade244faeab0ec2d08ce4b3281b31371fa1dadf1a3b533c22f5ad20c0ff3f262877e3c7fb6218fff03910f845ddea639db1e3a64425523d49b554dce092b46b0bab58c5cbce3431e4de1d88330988f4524c6861c190988e1f87ccba0ccdcaf9b3aa1885811b8d603504141a7f81e7b2249caf9022351191be3d9fc3283c1894221c06bd74d39741d4009b76d803d9458a87002456ee1f5e4336ee88028a17235d8eff8519fc59443ce0263d170f17f4a73fa9b9907815a53ff681cafa88c53be102a2e59465118461668e31256bd428b68de7c1daeb3dd211d61cf0f67cdd9657167585b5b866f2ea174fe1bc704afe37eaed405d5cd93abfdc003bdde3fdfc91b5480bbb85023d5a082bba53ec3f103ec862b36f117841f9096d31dda31e1cc7884caa48973f704b66285fd5dc7df82e26e6560e0a3409d4cd03310898753ee1f25bbc00bc3a4efb4f60980823e85bca7f8d68e2a45dd770fd8bb7dd31f7d8f9e43854de42c42695336139fe3d33fb96b7260954902820ac531b7336efe5654df223d661fe88ed607576897bf334dad3d8c232d606e68b42ffebca5db84023e3f5c10f22b0e909faa6d629ee69ac9b208e5cb3c2f91bc0dfb31a367ff0c3af02f61e3f9b7ce79bc60766bce33da6c0ae766629ed3a88f0a1ab9236639aea82325bc595091c8b2981b28d6f789a88f9d4fd47dbc0086a371dfe6e6a8f9773910c98b2139376616695bcadd37e3b73cf0fda67996d53f651411bf282556fcbb61d6e6d7d06cbd8393a113287de8fea16c6821cb040bf65300868586e4d8c06da0d9f69a12bee40cdee733331262bba8485cc88358000ed8026998ee55a578d1f2c937f62c173a74e3f499bf2289a163bbc95e431b7349380c85228fd3c6ae768710883c450220654c9b4f49d6c641a61ce9cc158ad0f1bcce0dbd4b02a754aee2b019bd633ec696341a30a2b57f0770e2b8fbae925c4c336ee73f21b71e752c8d2be6f57ff179d9a7c52858b4989e90141637dff5d9cd8b2da7ced2a53be345557442fcca631525d1c05e48f3b5ddb2a76494720f01b537aa940b6d6bc94d07d9150aa8dd7e5b1bf7cccd5fcf9950a938d79922946654303204bd297d11aa0543197c4fd03e612f78ca31f3db25f5180c586e504ff3b70fecaf3aa826d0793ed79fbd540070b380567d00e1ce1810b822d82404dde53329e8a28a02d2fddf71fd0d572976627f407b1e5e2258da0b09d222ebaa9a90cd66385f74fcba2aa036bca7b5a3934252c75e9c316d486d060cc4296aafde59953ffed453a1dc9545f10834356a88a406d113bc4ba4064c64471eab5ba1e75e123ad0ef43becdbcc93957ced2265c9329ed761e8a3046b14649c994a941f740b1b5be03ad3ce4a65c6374026a3c832f9bc989d817fd8a165e658d32485958041c832d3ae2ed69d61f767f737d11e6827afa43a30a775665689ef6440ba456f30c3518dd959ea6c7c2ddc8e57ad3044b1b0c95297f6ecd66e6d5ac1664be30342da2ec37db73ff5f75aa00cce4886d73ea99543c6acd1343cfcef742699cd8126f00f904626949113b0b75cd3e3facc8fd36f8717f75e64e5e11829b6f91bb722b51427d925515e408a22426824f0fd42e125d56541d6cb2da255f0a528def3615d412379676496c1c127066d4fd04236ae464fdd41378837b2ee062d3025e0f34410be8a14584f1617c06a7dd0b9dcec03e19ca06616cd6299980535d5525a742632854c718fd2cfab131e22f189f19a92b89a39122a80513dd318e95439279fef568329fc06c28b269a9bdaa9cbc1260cfda282043bc90206694649f56c03ebf50ccea53802dcf9aabdda0e50500e06c1dcf54aeb270e2fe2751c65491a3d226c1bca8743dcf19a92876865f9b76618088e8c3c952dc8721c58ad8853935b591520c738303b9ff4ec5bdbd2008c1f11dcaf46aea5daadb08c4f2e9db2ff47ef24eb0c78ee5f07ab6c9d4d9b74d5e90489b070c0a108fd87cd1d29b2667104adf1c4db8ed7ec12fc29847c84dddb929bcffa4e5d3ba9762791dd68b25c0801f3a421a86a475b4cccdef6cced485454091a54a14ab68fca519ea542e90cd0b8750525fbe7adce1bd99cc981f6d9f3234ed1c0e77f5089599ad03f110da396d289ed9e3f1c1bae83d44f5dbb4c5259443a666d5363d7e95915478b2ecdc00f277297899a02730c66979f93c63eac010c555cca62e847108f7fb1ff6662e1ce2f3ed7d1c850ef912aa2b9d60af089ed0d359db6adde155f94921dd7895cf9e2fce00f196e3f28c84ec0f722590050b44297e7a0538229d0db7a99eec5fb2407c20a8cb3371f02264d0f4fae01de9c61426544f373436ab706f34a250be2f6c1519125c9aacfd6aec095cb869291ac81d12e2fedc39f100db894ae94ca9fec33a9c543c0929cef0f91bb346d5418701ad235e524ce986db88839fe251ba39f2a673c922dae5fce6ac42b2b756d7864cf795c02129ca27dd8228e59f1a824b2a59d0a551a309fb1b6ba893dc411051eafbf349715eb3fbb5f93a0a585cfd0c2f66c8a85455e6fa0d95ca2296e0a663ceec82f2f3ebaf04151b00de316fb5374549700454c807eda857c7671cf0ccbe89380cc9c4bf4da0179a1e50ac099dc8a108dc1ea95d3cb81831513c0603efa082ba4ce3f6c14660cca80be22b3e51cdee66dd37e3bf81a8ec95991bbdc296c87191de9de14f3bf437ba180a9d727b37233cf779870ff9b0568e49edad90ad65e712965c3da2ba655d530b23d9f6ba0e0c1c195cd252163f6c48db6f75ed36346bb28ff349593d731071828729cba492ec04933654f47b703c7115a25566b5c5a335379cf188bb49ee4521042dc90f7cee9a27a43e866f5454f590b6bada035965aa6792a8b7e7722c84796240ebfdfe86d54bd243dc25ea38177f9bcc881fa25792798ff2703355aa1e597589d544a0e5aaf89a07c465bb0f4aeb5f64c415633640be6fd2be7ceecebed0a9210fc62bd737ee462c6dbf83a6b57fcb6b9531772601d96cbcf4f85a52301743163be632931e6dc12a799855133ad9bedb6714644bba510be86eeb7989903f29aa8772aa4840c36f708831ceae19af8d1eb0c0d0c57b242ee7b79f197c9d99b96a0f492f858e1aa3bce25d87ce1a01001a5f2143b7b3bc50127e3fc9a894a556fe16aff79c61b9f395880a3fe3b3babb06f6374673d9a807852ce9c7f07d4fd512c652a716decf6c19ecceaeb315eeacd059bae665ff56d68dab995ab1fe64d450082e3eb02d810d15c2e2691fc04e086927dec961949fdb58500b57b65fffdc44453ce91811b874a98d8b3b27b2b64162253dfc84e4df1e19f83e04080d5d4f78fc347dbb8da9457c07e20f6b164ebbbd48b2ef9665510e76a8098e23ddce2f75b81fd74044d51eb3d8629c3ae61dc755974ee21c9fcdd081a88042ef221640b3c7cc699eceb8d9947435d58a1d18ae4e51171dceb8c7bde163c9acba2b39308a7a495cf15a25c01f7051796741bee388c8d2bde33b3faa593e2ad6720829b85b4e999d365cbf3caeb0608d5b97959cb9e1743f9906a045b0e9706dbc9f9bbbc795114636b28e9d8bb23c1406a40c4829c2505b4860b89425af5f2eb6c3f510b87c50778263d452cdd39a304d6abebd7c8c8bc4333dabe2f2cb2e10b22fb7e532da48b260010b6186dc2b8777cc03d9cadb6441e5eb09e6ea467a273f8f3624ee87c9e87f46dfeb6f3a230a34aeebd5d15f8e23a1e040f5336cef3610522f3ac1b04f69ce98c182db872ca723f0189fb75ec6b74eb7d6b524c86123a502f7863629e181d6195023bb2fc09a0a340b60d905945b09140d78dc795b5273b5e1c0f3fadc9efde213acf2df65a18d3f52e22a9e8cc075a99a9c06413f8f97c5a96f7919197d4996ec5922309187ad441d6fbdb65b870beaf6aa09516c28078e341b7d4b10fce1852a2772e71562876af72a97b8e9afd0c4fceb0136bd024e19b2a00eb179ec9b7844a903d139f50eb8b5581b96339b86c1b81a8f98ca856937ea4daac4e781762107590bacc47fccddf531f1fec545d23f51131294385d63b5cad6a32bbe50e6c399afc5c18f32bd6034238a82d7922b39d168df73f50046b026a1821610310d21d7a8c0e03fb538c0a92ce4ee84dbeb3d4eac4a2fcdd4c881357838b0b5dccc78b276275478aa1e046de72f030b6a9978b6a5c861a54c28b4410ca8c1ac393817e44f611ff625cf75f1ed5e49313c628c7d3d2a9565934d4d5e4a3f100e598f8fe69a6645823f86208a234a7cd0201aded04dea3c85b5209dcb2d5769eb5308010123a4e44e617f01ec9da4c6e5f7e0d81e91ac2cbc9a23f111be0742551483a11a501173db4115b879f0be4a10e1560250a7b58290676e8ba63a4eec56fb3dab0397499313391440d3351db03d553622a14e36910dc996e5d7fa307aa8d357428f8e1c8c9030f9c97a739d7aa7835e7141ed3eac2c631d5236c8d886363555b3c4be9d4b13a6f287e6c01556752c21dbfaa3cc9d84893791619092735d4e276a86bafc71be7b6797b4fbb6308bc90c9cdcc938e5f1922c02367bcd2b5165e16e9f27d3623b793c97640bc42c07a57874be97d3cadbb62e02b3d98461929a50f8b42a07a6a9b1c7db549a400c377077e62286ff971e8e5cce2b7d8d8bea317fa6fc7a9da273c5ddd8d2d01f29018bd76994dc75bebc8e4f5e461849df6b09de8746c73338240601d19a9244b7ca17e2793b19fe8488578be069c974995a95bc7ec21a3128e15e48f5409eb671fdbaf6026ba13b7645b6880dd90704bdf2ce25afc66f1e5636105092ae467359585f07003dd92d2ffcfc801f1829474af8346e692c0d45aeca165cdeddfa3ae47d24d6ca79da07ecd2eea78285a7bbe328e3eb7759194ff2435de3ef59db1a29c00a6ad82e54705d71e1ea78d5c8e1d8c7995ca0a516683034e59eab349986def8111a2069ff15bc506d54aacaa19aa1f0fdd401adffb8ffa0e6c7160c7b530e71622c72810c7192d79c796bd38000b44afee8303f79d663cbee9fa7b1677dfd75d68918af10a98c349806860c8e50d692e3584cb1c31e33da3bc98c83a6df566eca244ba714bfaa6c4d1381c09616209389ae04ca40c5acaa1ebe9ffebbd7fcbd76457d99769e7b5c7143e38b61c9a0bb8b5070357e57c76a037676b9bca84fc993935c13cf19d2ef378b8efdb6f645867cd7ad275027880405523e2f7fc34d371803b176154932134f677ee261e914ac650a15d1e339992db5a7d46cc114f6a4048612c93e2b81dd466643a6f97ad1f9d39865712bcec39b4b24f1dca43b94a15244575e689011bc60b7da63485f9491dc9c68c4a332f83ef0f2a9aa9bb0eb2a228f1816daa092f0909b38f017f8cf2669cdc9d723a031f9591eae012236f1a0bb865897d8c8c27328d16d78466cb6989ac8c464b4e5d429574bb5cd413c0f57ae84400ca4e600a284f19ea3c0a44d77ba7b2a60781eedd19bb3b5afff491fb68140242b21fad67d9a6b081c40b4ba755bf13157d60022e1037d8ffb83246ea4f8948ebdc78e80d4be2defaf0cba11984b43314cdb5554328d0d00f885f35cea71d0b8ede58d8af027acc6153e545fe3b880e1e9c30366978b1c88cf75609771afb6466012d5beb79b6be96be382555c6c29f0cd3c5b6f39452643a941c9a4e7f8acb45cd6b2ab070a53b0a0b96a825429a9ea579d2e6cd1b8423885f63f8bd121582e22549125d9a379f2d44b24eb4cf2fc53321a13c24678f98c3dcc9629188961013c0cc391d5b700e97d44ecb94ae18e0c59718083cd9a79faa5cd433d0bf69178e56014633dfba55df6226cb902382ede77a345ca8a4faccbc1ad3e4c16cec344f698255d9a9fd38d69c7ab38dc084adb8db889c29251407cf79b7481f3285e3d69447259a51eb59c0d1eefe3cc3c89d5be6646d9d1e25e0306b35d405b990dff8daee9e1131ec5e08d3c19fdc2cf6ecb29223eafb1357dd369cbaa7c5c3e853fcb3f0f6b82b1b1044cf4472a131ebb1f3d64c9f66206365a4176641ab5c4c2fe3c003b6ec679368f3465e3daa78daa886c67887e7761efaa4425babcc2da3d1b7257db3267fb737a0d5356d00d2efe27c71cd2cb3ac2adfdecccf4478648b06f04b24c61af207b6a613518970b22b674fd9fc1327df6083312580e6620372d6a5079d1475052ef5295e1541409314b5fc29ed53f3d856e58969099671369f69a5c1f314831d6849565878b26e2e8a040ce32dd0fca03c5ffb335c2e20c054650716b101014190a32dfa74cd3456c4f7659903fc2602a4ffb6a4af71628bc808a26d076bc6864a63232a4b522105e3acec74406a6f591dabd6de44d7add77798d0b8ba1fb4a1b9f9f00fc77881d5569f8874907df0f078c49e670a0e3bdffb6b906a582b6f4fbf4b05abad740b7d4af09dacf3bd03162eb11301d42aeac901aefdb9d449b6d911ea217eacb8b3b96d874c6589cf05dd5ede2a28ee6797196d80473d6e18e88c02e62d39fe3b55330a21a4679e498b6ca08b2dff2c7a92f8aeda4c631cd80f86ba440b4fcd95b6458bb4b23bfc398123784bf1d6c35f382feb80d6bb90afca88bcdd9f710c865ab85f29ad0f68e31c866f1d41181d30c35e8281367aafcc66c301372ad28b861b6bc33c54eec528b6ba93932b56dfbde780ce80efad8d6c277fea45c65522fd8c36446240791cfa0adef5b5eb0db3e39a137e3438b9da0140f5efe8809b4e4bbb35c17db224074885278099ec238170cf5bbaa8dab04fce5b7e10161335ff812c8098dcc50375535465566874c3d37c38a4fc115041e224311657c78991b1ddaf3ab6d19c9b7d601ec6452751cb06e4643ef3c30bb3fc27fe5dedfd6839cf50cb45c3db02c3dc074f4d2e320c6b74faa6931909bc766776d1f05a8f40d31034991d0f9afb4df505f39eb7db05bedcbe846a6a05701077b639fc32d85ab235dfe070a1cea2e555e7c9fa5eca30fec9f2ada37a9be4133f97d3b2b827af3a0a1791f2a9e3ec53f0dd50d53882142d608ef2795e35907630feed5dafbbfe086fbd86d89d20b9566b81678e6d6f2dda4ab3328aa782ef9bab82167b7905fe677dcfaab81e673461efcc138d659716d959f21fa697d24ce8cb8e02ca036c96b12c236f4ae935ac58bf93091ef111f676031d29d05465d0e8dfcbd1c859d7dd0dee6b8bcb43572912a6383d068e3d7275447227e9bedfd08e52ef7c764df75313164ae54ab47fc55c6fc76f2c686abdedf0e7d811f8fffd35020fb9b361a015787d440f41fc129deb831ab49f9c0dda6838e3b8e6070fe8ac2148b56ec5eb72c673c440099652fd675d4bc6994ac11f3e65def7a5e033183e8b3078dd157ab9e6d592903bbc9f2d135f69e2a7b0a2f30a8e46ae74db308ad525ed9ec56b52b0d86acb5851199d26935ab61d432ce9f00bb347c47771db3bf180531583ca3f0d14b9bfb18aadf3180f3a31e9e074fbdddd80e58464112f4e9d5d1871fdb2c4febd2d16ffea43d0b6ef7b719ce65623ffd93e090b66318836861f896bd093a0acf2b7dc052d2ded3ef03c869e28840e618ed70718ab4a629339ce67dddddd8ea8ff08475e83163f43db69ba1aee0f26e3d6fce2c8eac6bf825dfcfd149017d9b6f765cd20bf9a1f1dab67a96e43190eab18384b94b30b35607581ea7a584bd214d4ec78cb1f14225f943d7efe69901248b5a11e370a4d1b7aec24c2f4511169273d0a759b89ac6bd3ab7fb370acb4f623fc875cb8fd6ba02d3f04674ea9c09184e29fbefa533c6f117da95bae149d06a15ad41dc8af828145eac6475deeee989f0931fc728f6b5fa4237ee20eb2765ab825ac348dd4f2105f745c051923ccddf53f2351120f93091d3720024b03cb16df0c718371d398fdd4c8aaad5234f486b8b64d438b782b0991e602741d750b546aa6b304912bd969d78fc457b1b99702d3512c343f4dfb98476665996d6eee64961d30392eca75e5a38346728235e76ce3b86a5c54db77c803e263df307f4b94c05a69fdcf13fdc0358fd1bbc2db98d301f92076a539c4bfe3069a47f06aedd8cd9e4ed56d05813b11ba2f2e9699eccb33819efa99e995970b68d6ced0fe0799f77c3761eada10d4e48ecb2d70e1fe5c4446e015029b0128733f2b01fa21626602c6729c59d83e1cb484dbba1bf6dd1ac452b5221058d88c9e83b0ccf310242641b0e9c548f54020cdc95161b5b5fa7f7057f93d8bd2eb67bd52024c6745ca89b5766a0016f7994b5169236a65f157fa3b9dd65f5a7f9ebfb4417724e3411fc1249b4817b7f77cfe4f0d6e99d76f9f0d71018a6d89f0f5acdd76dedd9376f07651892a809f29ffa2512fab7255c9448dbdaa724716cf79f8ad5d55a103bec77f807813e615ba8126a48f43056f697f31a139f4eae182fcc8685934b7f9ae8c83e3a9b2b38c5da6062bbb044ba9214e02d7e08ed40431d337ff0ff8d86316a5b4f3080ccabc49cf3850a575fec5fc33c2900dc943756ee88108c9699845f53ebb37351135892d68ab707aedde7104ab8b0dcccbaa07632765089258e292c54e27cfe3fa60d1c61c99c73beff721fff45b52298cf85657e17726db565f1d068a771f5a0a170527ec92b982e6cde224e13722e528c2634bfd8167d7b15c3ebb11d7be82f4285051abf1b704d03cba33b621f986ed7a17e4b527703ff88f408b412329d1ab38e922bdfa668ed70e6b0a57710e663afa7ab97d942517850d0a9e4ff1ca58b53668d934b1bf4ea799afcf0c0e508d265e4a5bcaa14b55765e9ad0528344b596d7b3a2ca9b002ae68a054f91820db703b98c7e370cd97ef2385fe2927fd9dcd023767b3152a286f2668efccf19a50a83369220e0bd5d81cf7a6a9749353c0100a474b2c0f7b2e761f1e89d3908fb9597366f3744b45a229dd04ba2fc9465784dddabfc0a4cf9711e42e645493edb18ce68595c86e6d58af0f8d9793682711eef0a5eb335e524c40d8343d4203afce3639d5c0eea4a27423ea78f6435d1dfa93ec35e1701689f1532420187663d8d39016259e672210022dd0bf4faccddebdf1637bea4f277b2db2943a06c928ff78a4a5ccccb7db80777637b270c1278b9d78a93bb832bbfd17830e9db6ef0cb2477abc6f2a530ec5412583abb752b2dc893518ad72eee53d94b8da78d78a431850b92927314e91ab9d466df800f5cc8a49862c06c728ac096cc2e06b168209fb42551aaa4cd7a71cfabb3836f8f329e2a83c469203469538865970193622c680a1294d10286a93ae04c5344304a95f33b1cc74706b5a27add15ad95902b1d42328328070f1ab466d5045a5a68b4cc354a0a3b1512992baaa52c919c77459795e8a6948188a95a4a016b506aceb680a810261b68fdeaf87a822eeab06a15754b18dc6d6c985338ac3e66f1cb3fcc53fb7e91db97ee185dc9825021bb7c2067f6d171fe5eaab124d2ab47008f57146045219557f2ddc43f8445b7cbf0cbf33588ab6bc23d491abd069929087f53c92e05051ad970fc85a8f010243d30f9aebd9c4a5489d072e4c45abdc47819a1a181baa5c5f220816691650a5ced7a840c6741a40fa7b3fd15f3258ce0daa139af88b68eab3f9198b0d6fd43a9d9c1415e486f85e019b0a8df53a3d7f9b7232cba24045f7b43a1a46fe69d1e22d5d9314f1b2abc8c25e4788a13acf2b55433c55d19394c734fea2524ec9be0b202548a25c4f3d3a7eead366a6040f9fce96292bb261540bfc7281f5f7fb2d35d195727ebbecdbd6336dbbad3b90df2f58ce532478fb8ac5b6a06facb7608166ccfe47806b0bab357caf4b3d1702a0ad33ed9fe8c181eebd45ae3e4cb7552192e76bcc2e93fdf486e640edfed5a623e60327f63118921f32085c5de58f6d1d812431ca963ff0b81612f5a374e1adb2a8338bc252266b4d3961c4c6fcdf717e3928eb1f4c4652b880f51a1fba122c2794c2c761afbf719c4596adbc7142a72e988f6acdfe33149bf9e8f15a08f94248b4a8da53ab1acf8ff92a0a601b114c7d0f8fca0702e8975c98fb3480c75345f08f34d55f755bf621c51d7e2b995f3e6ab717fb78d01a54e414f923c1d4d939ad2b1a153c28cd1f72853b3ab1b17718d0513218cb2b213616bc77eb63bd57048d346d2b4559c05c8ed90486fe156e83255127e43fcc88fb3433f997935f24ce044435164bcc481444235833908cd99015738bcd679c399d29dceb629cb4793bfd62637b9f15316da66f545def9ddaf9888ee0fa0ed58e9b3097d356db68e91eba01581f9569af5c15622c0fc903e7ef6fcb90e0264c011da059e50da70c61b33e277a5860066719b25a7ae5317afb35adbbd9473d03a7ee69a952abcf487236a34dcb00ff029ea5385a1cb29f05b0a60ed2fd3a5a43659dead9cf06159176f3c4cbc6364dfb655d0a580ba33bb733fbc74d555f1062025cfcec9014b66084b60a3ede09fe288ceae5c0e3f1ca26014cfdd0907c2da049e45671732e9d5a1971e46b953b9dbf2212e94c96729c42f882a9cb5d9c9679d1876feee042220e313e5b9cb617f8127193e105bec5dae797360a2c6def511bd40e147dfc91582c3f85876ad030f71779d00875dde0309b7d3f96b43df958c8d1becd8d8261417293bf1e803d181588bf265adefc70c453f0f595c328105a1b588c8e32c14c87fe0605a64a92507b5e29663b22096ec7d8551a9f0a8e419e966ad2b69393bc66e086122b79afab4aa57d23f218b84529f673dfd6d456385f951d636cf79fcfbee64c9a829cef7e21289a7f983b5b583d68dae78f66e7d547a2e2a19a2f0f9799eab82e2ae16bbffbb7db09fdd390ac2d351a66b7f00e78d7280013c87c839464c841bdf837bb07456a4c6036b0fd307d637ea27a73f832d39746a12a7cc638d86f1013f20b70159c6a5068bba46e267bc01bb39cadb95d550c9e08520311ffcb3a64f16886c5e2430ccc5cd5d828b4e3ad46977865d5b98b04021b5f971096f7f4d9051ff28957092b9a394fa93844ce09efa2b98852243f8c54ba107b65eebb5c79fe7b7becf007a3960ea023f21034b178124562cd851f4788615e4988806093eeb49d502ecf8c05c2d37d6f57b51478bf5ab6488fcb47eda2d940a556da032df7452734a5dea026b2755dcf24fb2c9554a84a5a474f3fd49c62b7d197117a03a4f2a4c082533f0f5248d54d21419d30780c1a759a97fb4cefaab5bb491bf5583c03ea038dab72531900a74e5e608b0ef1ca924f3d43f388a83cbd2e0f9ec36550edbc5455ed074be529cb531ac8e115052a2a6e7747a69c654f3983376d0160efadf8ad1151991a11ecd736023194d3f3f61ab9e21663a92f9040879238813b4b33869ef3873e4a356ccf6e9f2b3b06025f1ce6d18f39e43dc82cac9f5b5c1c9573c76b6c781148cea8d230dd3694e991dae91df1ef9370e8b211c3b847b4dde168ab2990c661cb4b9b563744624d5c639222679eba16079b33a8bd5bfd7174950e481537379020eb4ea942cb61bb8a63c1fd0e2d46219a6f5efe95e68c86a13134560e1f5ef697a80e6841db3fc8bb98a9e8d6fd8e825c453b62c5cc0c4e434a9144316267e27cba244c19401a596f9db78063ecdcf3ebf25e293a9e75c97802f25e6f61ea8b8059c072b4a369aa2311e3f21722d4b83fb42933b0f2ce04c92f698700f0be1fe337284be7dab7003f0e83d4bc4f2a073092b7c3665397852b1176d87267dfc437b5f1804bc2cb8a0b68411da83173ff5b0e042eca08fe94ba80f2e02fc7b87ff93f620b1e983231cf99c21944b3cb378e3429fd7779d68e3754cba7fdaae398d48800ea301f56fd09648fcb1a76643ed7e6b666c3d3d3b03bb1240da791f7564ab52bf4ab89ecf80c725a7e523f0dc45685e635a7d066f97ddde26bf3717e3e1fd162be4f12c8b4cde63bf506980007882ad694090c3067a3622c40835c09a5351d3897d54366327edaaa25d40144b5aa33fdf05e54f40f8b619857f3fd2f573f5e5acca8a79719a12fe23dcb53db588894673ce0b6c81d09eab7cfdd0aa0230cdf10b49112b86f6414e617adfa17807767795052e936e9de0c13b3956f57ee58378624d61431f691f77dffecba73273f5478abdb782f0cb5dff3d19e6a37a8f7106bfe66132c3976068b043ef0d6adb9218bc863a4cad51106d00daa39e5b30aed246fd96476f9e248fec95e17a435d4fbbef9b5c8177edfd168a935c7c29242b0361757ad38cf26eb07aac5e45a0963d07ac672444fb076ce4ddf50dc3086164dadfe693b8004590c9a795f9772063e997a745e964cb69fecb153f1db5692f4a98ec8412f597e63b5589b5caccc00054623e2263096e8891a97222e3dc9e08f25e2e46cc4e1b198b6b9eceec3a88281fb0a937d5d98f0729ef89f261eef49393744f2c4c78c66e5ebbe6f97d6b86974b85665bfabc942602ea365816265f87b34dde3eef42e9caa6cab422f5008a138f02c2ae8ddbfcaa1bf51c7edae320da79f6d9a60fa7ec579ab5dc7249c433e5bab917f17dc63d18dd59aa67b8fe5ea3003d3266b5ba8cc977be2cbd1c1e7d945fa0e130ab97d0c1935243a19c4b2dd3ca64768c12f6e3c13d91d06cd8da7f35c2868e1510abc76bb954da4bfa1826cc28a0144450de23347d9b097ac95e8d1913e81da379ea6dfcd4900e749205d0f9b30cd6751ead174affcca863a932401751d516218931f3db2d83a25d987b3909658a55ff9e64d170728a9bd7a92c33ce501efe350de1c38647429968e4c0ecb184688f7471822c85ee8616ac7491287c55288444d2ff680046d64f4120741b44e27db3556fed55961f19cd443689245940cab7e611214dfb993ab7ebe9578a024a663b588d71dc9e8eb0f73f2c5c1637885eed3318ce79e312bd457bd14a07c2406e5d73fb98a79c0e4cdf1d92e7e5c4fadb7fec42a66e062cbc40db66ddbbc8be0a63e93acba62947aac3329a9150e08e7877f86302683866972e8866083d69695175fb275483e4e560d74e107bc233ff6668ecf302c5bc9478aa62fc1e18028ce14e0b450dfef4ac798ea6c8195cfed7a46a1fbce8f3ea847be2fc22c422872932b4cd46205a745991ba4a32e113064610aa4c2a3ca8d995afc641537189edaa07bdaaf09c8d2ad39363b4e3f0f97afcd8f342f040ec1d781e3917c0b5f2d51a2dee28b80782062db4a5d91caa7222a90d2481b983c3280397d3d9f37cff61f4f561ee186ad2f6d98683a2a1c66e6a83eacc0434ea2ac4d12ff3e39dd877351410b5975c794ec49775b4eeccae4d2760e58bf406c984cb3493d705195f0d71728e83996bf8dd1ae8240e48293bb9b8e6ff8f09c84f4af97cce5e1b8995a81f5d956cd883917936f70504b51c62c2993276e7a4379bc333dc219587908d438d73489604b4c59623f134a6c06dfd27c8805cb9f1ee0618f73ceac69a1274a8110033a35a34a0786d4e2d919661e98db4fb790ff5dcaa550ddab1a6d8cde265214c138a8d0f526acae594054f1e616e2eef618e2302fe3b435cd989a56aa386132356755493fe6e759152a859e0fccd8ba0c078ba980f10d8c41d5c5fca103708e6e09ab2a00939cc1889d8067352a834281a171d3e551c2adf5180c6e88b42a1c1e8ef07d784c800b76f11286608a1e40bb23d6f3ee51faf75a4727634a53d4d709de86068de3a2309058e7cb279ee4a2700d450a2ab8f0d3c4459384b5739c9ffe90541e674b691e0bdd8568229d56f9e452e9178a6129e17b18afdd795adcc52c5fe5fbe4134ff405cbca3a0dfe83e494a3edd151c0e57ddba94e0f2c46555f40fa9a4245b104bf952328a2194e40d9da9af3fe42141834ff70f0a8ee9e4040b99b2d35698219a25009f479bc1ab1025ae19f0307ee952356ea2daeeaec9e3ac83781dc1d8b02f000cb5c7ad0637a3f54bc2ee03759a978337f87b6d0480351e59e9275cce7ce7afcca95deadfae3cbde8cd4927f3410450d7114bc2bef0b9db5fe57ac8b713cdb669449dc3dcf20ad9ca96e3ce72ed724b875ee3576b515772ffa037d41a2b4e8850aa732e687b910914b3b73bb7fc0ccf133cf2fb0e3862249b5e3a9224ebf17dfe3ae4c9873ecd243fe1094c24b4547d729a1b2499ca3018a7c7e9fa618cb23c0516f29e1ac82279a5fcc3f16025a37ef59574f8a8c810722e167b2c577c065f7f033109681923cae2af8368233bfa66d39d9acead73bca21bb15d799297265159597a35b8def586fd9dfc4004713c5ac08b57cb64bf230b7535d950267987a071c6746859fa0195173c24d2b283b4081532d5686f0745af95f0d0158a428282b244d8e89c3b8979ccea23b2bc76656bf8cb75650198369fc4b6a358e674d09744920fee277204ad0fa706bb680d649a9489b7ef54af9eeaa56aff6be94b19c80ebce7458641170de3a4271aa7eadaebd089f515638165ab300316fa1cb4ac27a04540347bafb7d072dd992739da32895f8fe0eec6848bc784a4feb13eea45b89ffcb737483bfa48021fd2f9c186a5fc7c7aec7f7adb19c286416a13c2644f0e7f78a71390f0d398b322fc122fa5ba9958cdc5a341d72c51c9718f3d0b9bf07b09750375fa103000c5fa1d155e99e30145fd37cfa17970e318a93ee02d8cc2929e7579ee265955c056e114b983f76d338e22b2e34d0baaa3c32197f39b482ac8024b0e6a5b3a787e418d202694404bffbe8ab134ef398069824ecd478b584bfc022c079180242aa3122dfb3bbc63108941b9f760ee32f8850d1ad463dcf74e7028edfa8e6aa81dbcef79f4a2c549dd68fa33f087cace4a470a80d0171411bb17219cfb22acaa54e2435ce6783948ba89bea9a3e6847b3f714f146790b5473a5289984d623611c46650e4ab8ec41b51dcac581d750afb2c4f45f8eb8901cc46840989cacaa5257461c00af80b78d5160ff9e473a3ba5a5d93a59176436311b1508f9fc33aa66de75909e1d7f5e27b81a2a8e78e1f469f9c422238ec907cce656884ed968fa1d39b818026a462c2f1be38cb8db9f5f91085424b6700b089c393d434747b2077f949150a046ea2a8c5845f8357296ab6916d3a3b091f5c372b40e77f1a3542a3e544b3d1a9e6899e3e2d4c489b21d211006e314f36e4915c3573deec72d7b41e094bf4742a899ac6ca9176f31b816b3227d48179f52be10bc61db8994784608b1c8b6e91e2131c2a6e69674e1f5bbdce7bc58914ba38bfdd76f279024c67aeaee0a18959a58f872d4d03c5d2f55bd3c7a5a630d9475d7a4e1fffb09a6879dec9f61ad36fcfe372476a3055b7398205f2749c52b49ba9094db2e6638413935d58cb8946aad4f82832596030d62a23382e30c6a1885a6a6cdf6294a961c2875e1cdad8f408266b6789cce1e45992b476cd0261825623a444700a51fbd7b399a0eedee71907a303c851a698ff5f98928afe01b8327c8de69d41a6a0308130e56f99160a50ee0b54e78112dac05a6bed4bd9d9d6450d1899ba79b2865f31752ad2864f35ecb2fdb402e25d629b61f2ffc6c904a4977313bf0a7e2f312caf9bd48e192dc5e0b1d5130890510c2a37bdc1ac9aeb3973d134b0d9c765718037cc229b6d64638460f1496caf50322cf8cb47ebec02d39ecaf561dbf7695d3d696713d5a96f9033a28f1c5c7fb4a5c47a49fce21eb99c090c562cb52604ba42f04e16264706b694794d256fdc1be63e55090b0ad56425bea6a61668342ec4b105f7e983efa1c588b68871a5ca0726258816245ef37e9c60de3d7ed515e341f4d2c6f856c51e2c8fa213d82bbd898a1598fbcf88d2f3e6a643d1330572b9602f7888e4de9c72130c5eaffa9f03cc776e7177c771f4cfb7976a896f2b7902737edbc5335ac7889c4ed1e614db16804008c156296a9d4d5c4eef33c6ed0d0296011ec33e9572aab01cbc3669ffdf65cd089bba14f4dc1818bedcb1f2eeb3d2db007127501cdd469f88197d8017cb4104cb082e0fb9f567ad8b47f0eb9576e014d7920333af9f69f09d2732d41ec975db703dec15c3654ce6b5151a2e7ce578af5d1e941a72cf7e369256f2aece056834657301326aaaec9c40f5ac8441792fca4023e02524a95a5e80b91f2a50003b3cf981219151cb70d8999392d2567953e583cdb0b46caeb846b79a2d564c0df4f4425a3b9bf0cb1a6aef8889475d0f5bd9380fed76b347986c322a6d9c008243d50334e3fcf4a4c1292ff2c36cc19b0c08e9f109a5d4c4de31dde2a696ed4fd704479ca36d97c2d89d5115dbcbda7d4527a648a0ccaddfff436adccf600cc2f44c3084aea884bff7d954f45807c95d3a20302c9df6d8310273dc4534687a5bae8fc8b90a030c42198a070d6e624641b1aa039a15ee63e88a8b2501e6adf1a9b8a4c365ecb2e481451d9f0db6c9ea622fa7accaa2556edd657d3080c9231ab27daa007e52b605e6ada5c2ad5cf5d5b8638db2915073128d42274d73937e55db62ff65b6a5d987d33e819dc2dcb11ba31c7b83dd9967a98246b20bf469b916c3c7f0e09684052295ac63323d8b731eef574772155e507be2d12fbfb4b32c2a64249d7b2178f10144c949b1b6e173e3f3fd9ef1f93bd65055084fe8b5dc83318fbe8576026188a8fd9c4f84bc088f9ee38661f15be2c3c08d7623939babb4771692bfacb2710a206a9b03fca5ee57b6faf64849edeaf99324ddedcf19d7b72f4c192d5e0ec0d2c3202c072b94c4ea3322fa6326fd42201f97587a4e26880ffa2d886ce5fcbb3bd6c3edbe9782d1a1b1883f6ceb127539993f7f0d9d907eea2daae4f970a56e915995ff7d522cea74423bb4295448a69ce9f0ce3378141de6c6aca1afb967ca1b98f542d8825df4d47348aee5f7144a9111a0336052f847ebba24387d79aed64ae98f1de39954cad559f5c3e9d25963db7d2a9a68c1a4a162fd7c5dcbc0d175b1603e31f5e85f7ca0549c756301c3ffb9463eefd31075cde0473456c9427027d8ff852433b6fb5313329369aa8eedbecf1eb251e755523e7a6949d2e7cca23a5cd2c8f8cb7228de03e0cb7e874ca3e784db3d27ae289750b45efe1830ad4c3310afc3a39a7e98e856f4ca9dd2760abbcdc9d64d15c4e37fd3456f4144ebab50f3257b2e850b053148951de5b203c53aefe153bf111dc1b42558cf69a63c4c7b2d09fba05df63b2193585212b8d6e333a4fe9e0a2a0981b3059dd7480f9b9c2d0771314c3bb461106e731b6e66c103322add17b1f299c45c27021254765a859014a41f0b9fed5186c5b7f3c9098b26a71dca548516302a6521cdabaf9deff5bca9c66c74cc122a9939b7b91d77e6befebd55715a6ba21083b1ce0cb950c73fb717f22b597f580d09ea1f954d8f09f00305b23a41e3ccb528a001f80b0b79495f8fa557d1af457e7714679384fda96298761fe502f39d003c7a408d2ef61bb532c97ce72fc1407c96ebf89eac900453716d900ec7ee73bd1a0269455042c8c74b1beb9107d6df5a59b4ae457763091d1d40f19b849564b745cb590642bc785118388bc5ba76acd5281da741de4f1aecf31e1856020f97b6d4048e5173d3fd357bbb069678ea434c82088de3d3b083ff0afe1cdb3042412c956988765fc4623f2e6a8ef8712010bd7591272c077975585cd4ba45f6af1bd4fd1a40f96499e02bfae822caad866b9c3907699a0a1a5c2777e0293bff7ade28551d74c1142650fcaeb6b39d619c156dbc7fcdbd6e6c24cc7b429eed62de19771c499ad6c3bd997869d73bec5810f81a44787416b744617d30e30b4d38a0fd6162f764a34020fddf2072c343cd286016507ee9b8f89f3cb0ef38cd5e724ba7c054416fbf7779c33a85b5c3d5ee4fbd51f103cece5a193e12cc6bcfda263704bcd63924a26114008880bd1ea44cec14901f413ae98cfad2a2d0aec48d5eae81ecb19cce7beac480cf3c42faaf0a718faaca185f0fdb22484a6d8cbbb15a313052823e4dced9536c0223d581ab868f9be633010f6535efc500756a48853ac56e5dba426a4282cfa714a6863844c1bdbbe97e196e3eccedbdf5ec17b3c418eba8ec980f205f22aca51dec170f89df9b168acde32df37ff321fe1379c2b1f9ae30f4c81b4d90bcfac6a66b94edfdc60996f53f8827f8922b8f8b879368263a31a20d716255ae67043966770bac9a3af67a7e325fb47c9a6e231fb1a07a92c7a79901d945311be77d543e43eb234d3a4683408e5d564252fc6e5c054940638fe40939cf067794a63decf9ae9a57963b82f4ed7fe926e190c27e18afcda3b379aeb262f66be016f166fe9edef0459bb8517ff98a0523b5f5504bacc4e1b39fe8b0dcddefb564fc98d2b6975ea798cd0802d649d01bb387a9b419634be15457c3538624ec5e8d7e97beb115b0a2fb56531dd10b4d97145e2f11438f2fafdcb1f2bc49d2ab2d0bf92592e0caf6f4a1540a311c2d7bcd6745f7ee0fa184d58e3c07f03eaa99fa18a73ce8233e3e1662c345a82d83294924a3d7a630cef7595f8ea8978749bedf66eff3ff7ebbfc61b814ec98a118f02c4f3e0b82577e3301561c76471951c218b61bc535cf43611295a3f7c4aefafa6e7910bcdc00ccf81d3d96d2e6cc97001dd97ee6edc9b7416a520ed0933a9245bea7ee6942be01f83a8fde8bcb082e82786662b5b3d472b965cfc259c1cba65eb8d76e60e6519dbb99570f7adcb1b04bce1a94e2f97e8157d803b184ca19b8ec577d546d6c20cc0275e13b361146a292c65545df9a815a2fa42d27849791563e49b1d8b06ebeb36494c78c137978a8ec0f09968b1647cb9d1d16464f4dc18a58deb7b08dbb40d729daa73e7681d9ee5f792d78a5a7e77eb6ecca88f9c6f911d7cdf05fccae436548f8ad78b7abe7f46833dc620da5606f542da925575df10b9a21020dddc258c7008a251295eb16ce552d5392d311a93f89ba78d4b210a1b3ad26764ada06de97eafc839c3df6b9f8199012e6f883442d28d6452f04f5c119fcd31c464df39db04e887901e2db017cc0e1bac303bea6163b25ba84d7a8b713ac60f5eba158c8964d37a23fbce984ef64f25a1f465f562859e4b8e3dccf882be379544cda159107928f3fa113c67d8fd6054bac21b63e8f11c072f41c72b44d38be680dd49a31c0107f94998e85326c98dddf11f1819c2b29482e498d02c24280cdd80591e0a06ec0a62e3e9f72e9b5ff5bbd3e38a0c2d1158bde9a647d4d1a0318e4ae12649793d7209111405e56ab9248ff78fe8453230d783f1f015bc615ec93b9ca0e02a1fb6c33c675c5e026d0ca44722f3fbb71faf454981fcbcd188cf200093e188288c82814b22fcf2fedf04515f1362382078c6b63d89f1aec30650686ee172dbba93de94e6c1779483437c42423cf1f897cc4452ca3783018aa75c0af865313182a3c48550d1c372572b65f55e0975a26f574c21f9ef28ca2432c782d7bf7ee6fd070bd31d05acb1f7b64f8c71768bd5ce0101fd5fa38e4e2c41c562379a00e4f64af53e6b35d2f940ccfe8bd336475831128570fd4a5fa3abf25a6539fb582c776b47b7de512601f0a8a3017cb2a5c849f3bae5233b34bde02001e2a16f47ebfd635468434314e721c4a92a7d777ba97c746ca7726de70447e6b7c3ac0abf7b85bf30653f8c0440b7d4302742055ae0aa79d7c33c113f657d6a444796a1a203949f34187e871a6361c383f300164212016c5b558100a0d035d10d5f50aa62ede4f337292ac3774b958d16c69b9dae80132d0c90bb2e6a2a23c396258654acfba034251b4163afe15b1be48c4fceebad45eabfcdda9d76e1da21020421609eb6a20979af1ce08e29e2c2b8dcd59de256b43392696c88ab3eed88b82d8d687fe99446c1612b09f77264b70b4ecb18ab834a3b2798594f65e5ca9927ee2291077e148bce7ef4cb92b34766533581e80e3e3c04354e61a58d52480219991334eccc34c1d3dccc930322d60cfceae1fc30b14a6248be24cdcbcd96b0778e6b3407fd5f64a55989b8d605a27dd8769e96d9098911060d2afb99a5b155a0991e60b01de669499323e348b1b02f8ad2461611c1114b08cc4f37728c105b60567d6c446407914de47bd7792c59db21f99651e24819168255ea5378fa3d5695e62b1ff25b02f0e1dd093737e746fcb00d75989c1be62e0683ddd1cc7e850c424972f0f0b4e49ddc61d5baf369ce92d5edf1734e68d4e2aaac879fd1f3deaef90b8b56136ff1d93e640b586f19d699dd9d05606dc86c04687fccddae53d0c44bb48c6d571942f086af8845f7c0957df29f51e0987df8b25f82dbcc802beae7d2b644f0660097acc52105e86714179753f7f627c0d8cc7785a50ebbaaea02f079788ac21391b9083a4690b3882dfdaa7abac491936e3233dffb3f6d9f78b7c2a8af5291ca3566429b74ce2a5f5848f8581e2c2386463bf57b1d561424a5ba3735e0ce52f2b51e54b4d432f4343150ce8667060c7bb96ef1c9c496657169d49fd9484a3931ac312c717c693a129e48f804902f69ee0e7f2d8305f42c39bfb13c573b71b931d2aef5c9bb44626e07aaf27685d67fa0f5c04b21dee65557415f5e6428a6c29ccc7d640cfc1674a8fd5af90af2f5c36136204836d5e8d1c2dbce2c86064eb76f4cf010a27f337b454cd243eda2b54d6e022a1d8e7c19de1a9f9edc5ce0e9e770f19e7ec16e4fd54169337f9e0ad6752d19889c90fa15c07ec95578e1d704394ed9caae2eb517b672b4c8297453848eff45800f96486dd13c0a1fba510b37bf4546933fc381b42c76e9ecf154def61d17a4678bca4f27502612520bef7e2257e6cb3a8e94dadf1167da7e90bdfc2a878738519479ebefbac2991269ce11177dbcdb9804baab0aab46978b84b60352e6744fb9ef13504bdb8b070e1a451f8f0baf87b7dafd53d721efa7f30401206f2b89da4d98b1a480137dcec233438ea492fe44696e046c96dea5d749337efa25fd0aad4ba45376db12c206cba12f543d30c7191c7f168ea214d0e1162d1c50b786ea16322f1b9b68af2f3b9d25f7bba83f7d02c6c86513e96e4560aa2dfb24d30ceae627a4142ac9a2accb98ed52f74593dde9fc37122f8e08e9b820a3a9540687b21b589c0f1416f9b3e00ff9e3379d322427be4336c7004abe757afa5d94f0407f8618c779f65c0427f9a140b6300ef6b22a5792562cce3af1ff1537eada1b89b0976e989c5403e3e0ea6aacde7055619f23fbe74b0c310f1b299f98a702789877b339dc7d753b070e8f72d259cf4180b29f6ba5d9ecf615a2d25ed34cb907e45fc31074f0e267ca34238749255fa333fbb9fa16c6f2daaa2f01e7b419de8d2b9dbb347a7548f851e9df6d0387e04a00c87ef8714f4cedce77a753a5b5c79ebe2d0e38724896938ac962a323f8b84b7003a2b6597562f80afe6811feded6e732e14acff1c079c5d82ddbe398e96000ec3064139bf809713c63bdcaeeaf9173114cfe7bcc22a30bc760d2bcaef83088386be3c63ceddb620d305249045bc1605c8f73d47a147ec6c54ec8eaa4ba2b337ac84ded8d2d24ee39f1ac54783136b1b75b439ef00d193e5c92ac1583a418494d678b7d32fee1b5fed14223e11c71cfdc5aa0d0377c76eb5784afc662e9246a5fcc0494726994a2ec33d66e80c4caa4b81eb867a62236a6edb0dc7b592dbb72f9c07708fae88c1ed436da16ff8b259f5dfb562659a70bbf488e48397406d86ac9646f844d7ebdc081418d549e3ec71eb57727ba7810d8f226b1035490218fd131e4a71107b7e7c128df63a8b968ba7deb71e1edd38bcaa3da4bf776e22057145c58f4d2ec1ca8d0199e9d1841213a05c08f6956b4052ea20b798c937dcf85fae813450c03875b487605a0d39875545ca302ce64cb9b4d12059ebba7bc23c87616b2bce836f472ea3dbbf7a9fa1a877bc07491dd3cae701fd6b31c5eb663d2379cf6fb3f0d4b669c9e4f30601936363851ca7dc7f38c66b50a1fa72ad755973d345df8a89574ab9c543f5c07853cfce3dae334e09d905d3b9ca0c698e4cad40048997c8e16a6c57da382f7c2551fd254d8a9de534b412a8da3397915b7ae828c4e844b4bc1f863aa577660009b4c99762da0a09949b7aae2183154ef7dff29b879383b9dc80f2e499d8e1059f8d6b4af5c732d6025e8668cb4bc8b58a880d9c8ccf132bc1af6c2b06bb007404b0a6405d0b9d2737640d85d06c9f5034b69960533dbd17f1833cf0213f3af0c008b7ef6df9335cfb77f3ed795be4621f36cb55f532d42aa5a95578abc61622f4b4eb180fa4fc31c5e77541da4b2b6646bf0c43fa8feefc2d1689dd8b59695e028ab7d2e9ce659a6ae17aa107fb462027f1a41c06b4c62d88446404251fcf5a02cd42ab107a97f99e1435b4ac6de32d951041e457a17f8b69088e0ecb92bd83a07883690628bfaf8db21a56a428e3d561738bc71510a02cd2694af9feb1b40ef12635d079dc25b781afb6356f4b35578d6100a8285a4324065f4bb160ee2081daa9e76669b4598e91e59edd815fc98a4f0fa2ba04b6bfb7e43d8003ba1e79925ccbfb90571d4e58581f146445257fe634dfdbff666fb6e79d8c265552b00067c496a394cb2a744bd4fa01a0b2259ddac0407f793ff5950e1c06a4eec351d3b3d372ed96f051adb6c23ba0a33da7b7b1b54b85ba4be22fa80a983e76159f85c269a698d96d9ac0a88773b34e8f2c26d3c2f3658b1c95e940af3749bc64e6ba7be105acc9abffd42b97cd846e17eab212f47c38823ce9f28fddaf04a534eb2e411305178f0b64cd19d2e52b29c106ac4bf9e3ae120a91f7fab178b6827c591cd1044cb481ccff3260b2d404fe7c46f4f193bdbe0b1b6fe45620aa94308b0f8f219cd0a6c84c63ecbcca7cfd21fc15b297f2bd452891dde1e023721868e5f38c06f9496c09792fa7a86d1063c11ccfc22d86a20fa7f2a7e691cdb2da8b68c146588bc6c0d8fee9bbb5d8a84223da0550c99c6503a1cc469be24648e55dbab5e9a9f279ada338d6a844ea5bbb580ca094d762404d1d7220ca7fcf8245d8359f93808a782e24bb7401d7a737277d83112d80e29d873116186ba8d9ac943968cec729073fde3fab85b8ffd2f4e3b8fb8ed2450bd42daf1471a34d9839ccca71c44e0412040f4ec05223e4b70ceabdeb4252bed59c0eb626d1516b2ff57e49f0432e90c81955c0f3c0fb5a48a7424444bda3df40a658395f5b790a750a14885fe54e98b530f98c973526c983e1db06f97325cc3ab12f7f8e3ef28c8a4defa35c8650ef2cc7fa88f4c859653b8f95cd83c41f1954ec458b88d297cd13a41fbf5fd060e87dd27ae656c0844ecbf045347beb8151e8f2ec26df144422a3f4194c5a4fe5aa9e709de046ab98e0d11984226968e9978680b0dcb11ca29d974df4b18813aea2557b99cd97c02d4e346f49b63c7062909b86816b914404673d90ffeef2dd832ce89e1b83334314268e3aa55adc79700c103062a4112cab46f83ea8a6e91165aa3d8ad69a75b2b47a3fb365551b8a529002d1066cedfcb07d2ff794bc0926f483d80a5145c47c6912511fe3a384fdafac58483a9c42b718dd31660118c7c42654c30d88fd839e5dccc37792e7eb64d6172a9c89b7e33c23aa646e1466de24c89bdda45fb9be28b1382634ebe90e7ef01dc65b2c9adc290b98a46854c9db7380813eeb5169c249e1773d51207f8800edd9c27065e2878ba038ffa90796214ecd7b308cbb57d5d4a12c50783a5159a9b022aac931e7833b6b180f366c2106ac99682043dc80c81dfbc69abb6740bd7061516a0696948f5c305e1234e64aa968497de81a89353df6cca72b65cb3281a522d36873d6fd1307bc96d0b236082b3149aaa5ec080a38470bcf2d1bd1da55d0ef4b112fb49ed8f2a0e3cd58b57936a54b4307a6d189d676a3de6401b1fe651406858f155e5ba3283f9c917aa44a7d338033021bd1f2202e49101bf5d93933cc09f5dd0fb827f77f85c19b267dea6afac4b6862130f1ae0dc38490062ad25e42eae068bfcec3c09da3939eca35bc3f76fb695cc34cebb6bccfb0d370a69775551ddd604711f3599f1fa0d8dd44e44757cc29ddb507692bf0ebb6dbc511e9518b68c58c893a7f2d51490596498ec7c884a7cdf72b8839305117603c374c6440fb323cd61f0187edcc0a116a90932c6118e8a4a3fac75eb637e4cac81a6a8c8c1337e04c662db5f8675d8afcdd03a0012719fb7bbc50d2200961be7d9f1f717b88819700f8ef9c0a80dbb4314e8236d86eee2da4594687dc39eb0a34019a49fe54317122cc14e04e2f7222a62eb49b75ea1d5a15618c6c26c2383e61e234b923f77b7ae80006eef6b84ea9c81cbd72c31b9cadc2ced1fc5fbe6a8fd6e3920d28d7351c2b0ac99c83519587304877acc88eb387e903b76e4bb6414e111f4561dffccd6268681629d44d793d96f9551354d8b994f4598105c4d7ac208ff886c33adb2da66a61fa39f802475775838dee2afbd8812d0f4ec68ed01b77dcb9c6006ed7c4e587259ff91168df2f0d1e51f9aeb65637f3e43a81c1e221d0f1c8d57697c36407c4c67ec8389aad5b69b3ccb2b6297065a0e32b35fcd59f600687e3750be7217b1ee0cac67cb58de60bb165d4af2925a3c490efd97b5d1e8fce477c3c011c0701d663e674a1f23fae72998fc838cac84afcc4446edf5c5e6de1108e29dd217eaa4351b8e653ad5fd529186b26c7416226d43b72d2b2a6249389d9ea36e25e1d1a179e8a470f2c944d97d883defdfa5ba64b9949778605407e2a24ec59878f8b3796e21529a79ce4744204f9501564a35d0f86eb5126b1366e9616fc980099ead6a9ec90611d34a6d5243b3d3a2f2ee7284cc396ad07e316bb6dbf6d1705b7aae9d8d65d9a6e17f910230ce60ca3278f76e962d3b13a6ee35ddedde5c814f5cdc37f55d2212b3ad33671f1913ceaee49590fab8ab6a0a85fcd20ff1b4529f38a0562ad319d8d27c9b88767e080fa851e2ed5d5e533f343dacde4610e5e7c13b3fe787af5195bdce5ff8c094727f2471fa0fab99288eae7a3787fc9a1517e217d1acfa7bbde1c2e0b9c881ee5724b3fffa5ace6c4d9c8956aa2064fb86345cbb7f804be5aaa7870c3fecb0a3bf4acece17ed1fbed73ace1e7c4aa9cca677d09334fb6f022c028c9cd79ce61f9e0ac121331698f21a9ae25941034027e73b4a5fc8608dad35da16a69651fd6077fe8b9ee15a1b3fddd487bca8a9234b5ae878f4913f6e09b23fd1d8d4d64731e5f340e2a4bef1ea06d5c3ecd73f75936652bba46fd6acb4d12c40db43b3801b41a339f158263aa2f45ae8ef46957d10d7904bb7bf890ff53712c0cbac170e1b9d38e00d37768149d861e749939d3bc4a8e86b33f4fbd15818e5261e2bc92841d1daa21862dec09f4cc519ea8be1673cc44846d4c041c059320c56b211d2aa20a9e1625c7453ab5b56ebe4cc28e695d05f899321e71b80eb9b22af45145bf3bd7f49a058619362b92f6c913e0253f07350115e934832e55cf9ab326a6b68136fcf1c8d995a352e1b35d9e332776fec92c3e1bc6da21122fe32562606a8461131c0d7fdd2fa2ab8cebf67c02b11574aff280a7c98f14a3520bdcb79924ac2351007c88b7c52a252d69b80388097a9656363ea5a84faad774e04841725cb41cfe97f6e6f9716ae1a12a9327a8bf0045e8f60453c80faf7523d99a263daafcbe9e6793ad91a63d72bfef0c99c78a1b2c932a91278043e4cbad0ebe2846f492e451b3aaaf0d4c578c14eebfc39f4b7d185b7afe4938e60543bd2cb32865d80569fcbcb56356ba6d3c4821d74004673b5209368d959bd086230ee2e5a5965534ff4ce713b178947797e79eb4eb80d65a7e4328dc3bb4e7ded539c11617d0aee996825120c0e45344af041831a1d230574cf9763ee6631482d65e2f316a02d50840df56f00736502dcf13d2bb9e49f3cf4d9a9cd7c73453055443cc29b643ef837df221db16131127134f526097e7f9f46f2e15117d51a3b6b5faf436416092f86e7ee1d9a04e0b3ddaf66e0b70fd97e2074f1239ee8070dcaf7d26d2c5118562c513a7e6f1766b2bfe7cbf858ff8e32f66800a70d7222c8391ec35e7636404446503b1af6976714ef40e420474e2cb2e6e5b80686f4c6180452d56ad30b71783ace6bbd29fc8089c00c4f30991b1f5fcc282d9ce03664ae772975beb043ae48765c7f38ddcb8cc705797a3c778dabc0aae4af942e824cc29dc2fe0fc56889e94784a9dadec40baf79158cdc463888d03a1c76dec634bc618d60a6e34d7c83c9e1dc74921b39bdc071ddac37d7138c3e64c2e82f8fdd0aeedf7754f82a59b1a3cc8bfe914c49b65752ca523fe18060636340277bc709d28f45bd36d2e1ec9be4598762912e7ef1fa95de595028348d2cefba7d66c3d4fb3f47f326c5dc0e81794691528a8a7b26e4b4a1b7e36959978919f649c8de3870ca0c2573aa5001d7846969bc8505247e1b8e3b17b14dc06e8f3b22fc1c2e037e6f51596f3875629766c0eb4f188fc1645282fa976e9591b3743619fb177529abb68a57b1a0cedbc9e79ff8fdf15f19afe91b1a05a4752323556b34c72edd54b8bc6ee763504066a86eaa9a44b1f901fe2d0895c22c25a37c38663215f9370ffb6bb6dbefe757e406f4dfe8b1953c2152524ca7f1e0d299cb2a91a8b61166b5f2c7c84a02b8005f4a2b3018b8510c5509ddb53771c8e62650a393b04927640b473d1752e55d7267b2d70f6dc5ae40e24e6fe2ba507894695afa43adf6e5d5113210e26c12b5db2969b3d87f7b88e97eedf416aed90f67f34077960343ca734537079659cda3bf5b953f975124f58bfe4dcbeb61fad8399e81a9d0a0335ece57bd260bbf8bfc5b208f8bfb9af8a3fe93a26f6c988de98cc794dd8eb49b85e6fb050ba70f6a384ccacd660789076138dd2f5c20c91db94e46173fa2572c453c188eda523c4db31fe8cb7e4a258d2b6b2250ec192e7b7939f7659c68e4228ce9ac7cbd3c300f6bb883881c679db433363975466424e864874bafacd3a0d2f67fd110c6371ee16b84a7c549270fb03b55a298499d59180cf610aba1b53baed2bcc2836926608a6584d29fda0e235d51e0bf6719430b9f7b6c1db9d3403ae824e35fa0e4271357287c7488e3082dc08a2742fd096fb0fcbd22f662610c3bedb9161d750826eeb381abc7b0edc9939aee7f07175e3a555ebc7cee2a48b434534b559562368a50c5fdc9fbfe8086524a61732c6e6df31010a53eeb7fda5108501835d32f684d5abde22333ecc08147682383b526ba33416ca50eec0f418b6705bb8f0ed59940a592096706ae71e67dbfebaa7c59952a48199ada40ee5b54fdcf396ab2e82c2ab151b86dc29d2090097be5d24c0bb0f6cfe92f2c043cf0eb1f6dfe4e01b2f5e590482a3f770ac0e3f8ef71e9e45ba7558a17f0a86eff17bd348a41680d8d275363552861ed85f2a579f09c26820b2d46630f53a2c00178bb2ac837a867947368db23eae054e90fb0894995ca925ddd7fd9d45d6f7983283dba76c03915f4d5eb368dcce1a11f9123744569cabab4200a8f84b9c043a935e1462d146fe13cdcd610c8fecba4090bb9b6d8918fb46da458dde8b02c5795b0b1824978c49e184c627b2a74c080550bc723559f4fa7c5e31780d80c0fcb5bed155832cdf1dce16c08733a8c239b02d352c24cf669cb343e97f177e64858d63f0884119ec58be91c38ef72f0f898fd2ee658ca82929209f71212e7a111e71baeeb0441cf5f2f4cbd6c04a2b782f1877f706605bb05a7dd06b63e226dfcf851e085a533e72071aa43b3fb7d77c14ec166882e1d47a604bec1249c76586d66389737d6d0f6ffbf4e49ffbb44e2118c1556ee1d2ba5c8a99ab4a7c597aac759b9fb81a40d7f5d0d1018a32f3d40f93d4b02c28422e45e9d4a08ade2488c65b9828347d785a10cbe866d10ed9b174f22077bd8bf6c6421b0c87a6c3682b8b6d6b92df280e52d099c6ed923bf8bb03142419d460bfd8b19b0f08984af4fe73c0972d37576d9e164fb5ad3796c57b00beb883d84ece6a8c0e7697901dedebf1521987f9289cafcc5aa0c1871bcd3a220527fcddd5f3ba0096d8e08b2044ae8ac4b9b3d35132c4403cd0ede801cca0cd4b3b4a015eb4cd9a95c5f482bb3b897d8cd2432ef60cab1374c2c5e4cfcfe996c40abf2fd038b655396151a1b4aec647ba1013136bea7008c20e54db2c1f1d79aa7e569c375ea728df2c0cabee0591298781c7a6dc17251276997a6c1d9b84e95e4ab442775d4332e782b35505471ffc363169635c46e888d51b7db9cb538e51a03dc715f329878bd9c3e8500053ee90846d8d0db5784e1742b72e11ab2c945a407aead480d022e7b97eb3472686caf261235415ad4704acf7a41e69ac8feb7939faa025f5a402bac8224dad4b00f57d6e363e0233539cd197a93d561f84dbee40d15f7951a196d547bdd6de5f5c73b36b862c22a4f1e78c951c20347d7705ed0933349eb1cf61830a5b7822042e721d0589e24ee18cf4932373c2b09e19302af6dc4b383991cd90bf7de102bc8a6b55e561b228485880f4365bc343a2a8a914a287c1a1bf4d9bd760d364ee0d269e05af637d224b2185ac8ac717a1ed5fd26004444c7211f100884a8ddf7d81427646a82069eeb9dcf4e00859d6cb7f1f9812588329a155acabc1380b2624c6abeefecf3f48dcde91425a7ff0727fee39dcb57aa3a7c65729c3ae8519c27581ac7fa1057dec86c84232528ef5b6d7a4313ee8eb4a981096ba658a91f96346dccf25d93b131e6d115fa78d618228713ba51dfd06026f9139fc74e0067e5ccd7df7b64ea920c311faaa6487031d834d5b6b9cb4f5e32f7c9359fad5509783d25bd5af99472c192c4ae295fe849577034b2fbd434b9058d08f407b9533781e2249447ee7a8f6c0ab8a26a63ddf89971e5b360d10378162acfb40a36e73dacfc40f6958038f496eb80566959670d6871858d6ce0392a1b8a835dad5bc7d779772a84e3c8a238ce71ba30f9d51f372db0a74f8b602bb292a0d34d53c6a073e4f5cf17163d5ba0571284e80c68b218aa1184704014786a49e9ce446e7479d435545ec21ef3753e8a5e6ab98ae86397ef51ed27791afd607d379ff9d6fa8e9c4790ba4093ec89b7bc22cb3232bf2bc89971954028487c71afe65dfbb38e0ce075412fb5f15fe4976582534c93298c9088525c51f972661bc9fd688c610e2eaf1dcc571754b845222696ce6a34a4d198321e154b67c86e451d124b9bf3b730eccb104f6a1aacf3a42f069f4352403fbdeaac03b831da22d258b50b2c2c5cb6c1b160736b08921e347e33fdc2e6d3c3811fb54e2c6c060b3e896b65b0bb5882f2245ed4381964e206c9775dc78c8aae674817f6ae993c563591215e97f55d73c634fbd408e87e9cc7a1bbeda63e7c5e1e7fa76bcf6d08d8153604b2ec81213b5c0f7471ad44cf899ba4135b7017ac4b41116f70139352fe908fb2019123333e74ffa9c333cceaac00f459015e7408efefecf3c85f0ae9fe4a66efba896b60b198633f6c64d5e04d62301c5ea5674d69e4a1d636c70b82f2ca4accc7974dba1acd9932a399e67eb5fadd7430e1f99e0f83fffea82d5311efc9099429d04bc28768d21a9799c85913d5ef70e5c5f4c433364c37655721b4c54a3d74a310e77d5204df493ac88f8da193e68f3d775eb4f06f4605e4aea485570fcec4f2568811324bd50aa671c21d00267b503cc458b6c4fc5ea68f057f82ad4fee45d380896049e6a77c706337aae43f57a611711f879fa201d825657864fc77301b70b5210ff2a380ca1196f7762057811f750c561d31cbde9156f5e2a93f78bb9a7576773ba955a29d3a1fd32dc320446cc8807aa8332af76c624910f95ef6445ab8eaec8e3d252b552ce638ff22c9aa6c370d964df145628511c5531f6121317823edb2620a376e4e8279b4fc7d8452fed442e408fbbb92a4750bb8dce8b7c079a7716b529535ab58b7e41457044c83897d6bf8c9a78dfe4eb32a6d8e5df33dd63179d26ca349e1f70509fc016786de83a8d0bb4fed42c955cc6e9aaf4e5beac86f9ae38416fc86cc7a2b97bd2817cb1ffba1dd59940e363e96960894ec28e68c2069d4f135563168fbd36348066a94909ac47263b76b03053763ba94835389a3782a2952b4b412404db99f3475122754be31158d0c91dffe07610ef72ed528093e77e35a365ff0f868ff7b8fe6c77c1037d4b9b64ca28e36c8322d37777b711fddcbe530c89e0fd7afb311a2253582cd1969cbe22e539a185ed3b8472c6223a1262989bd6cebeffd127618022eb446afb2167293a167ba484a64a265dd32a069277f61a25b1f79a7fc0c89a16247a51958e26b040419e43a6524de2f1402d83bde15d4d8a1e235325fb5bda3330458f204b1356d8b624986d00797732b3fc19ece0109ec1ba8dff2e9887c5ef7b919ba01122b7c6276b6045da2737cbe5baf5009662f6fe936c5ba72b467dced3af73ce8b4eb57dc642c291915be993ccd9887c26d54e9834391a0c300c1bcea21a40785e95f9734036e79807ebc932d953ae63184e0a51a35ac0cbe71bc494534afa78804763e9bed9ed8063bc67d91c2d601d77dbaf5ff9be1eaa00811a76e03159fd53306b8eff619c7f4f00b40564f7cc2996b7e24159746cee1da366e9a99d4c0d3fd76280355669248e344b3ddaf9c26751dbedca2276279cde328c8e4592582b14757f801635be1928793e770d0c0d6adebb853e6619510103b2a17b0004cb5cc7c05715bcfb2519d7b93da86b7ff81c2c0c081a5068020040b9f5c4cb62c2e10c877b76bc25c35995b1376a73ccf15b393fc069c537d30ffa002976b227a4810b1fc10151a234ddd5463248982c59e4e0f7fdba2c9004c945e8b185640653fb7ee00d053c15f2ad7224ea08a591dbb10e3912745df3c55d8200781a0913e49e3bef2a7b27d2e7ebaa44d92e603e5214cce8583886a2237e4703cd07b1d8f587909fd5c17e42c45bcff9b4c5858ece86dc537174b3331c716a69e9ffaef0dab8a01c9a6f57a126121ed294080a33f53ebf852d421181c166174d7e58b91e52ad83bf8d7c0963c4de2b9e0c0e43325708f9166ceed231da3350fe7a26e7fea722952ebb31142234632969b3a7a2a5d8afc470cff3cb5197fd96681f420b96071960190f289a8c37b513ebc407d5babadbe19ccb5d3bcd8a7b92f89365a8d622d94cc19bc499450a3f07d271c9095d8962eede0c7d694aa0de11d8f31716052ec88ee0695a3488d9c84573770e97dd915813f280e6347eea57e65322ecccaa5b109d83abc03ad25fd8f057cbe3853e42689176781c734079a5d25e23d95d8298af11f400884ff215dd67de9ebcf373302f97046314569312cd881b9078637b238f2d5d86901fab8cf05f73549fecb0c77c9f7729a064bf0052f8489be05aa01ef29aa8c63bbbbbebf150d3b963895644b53e13331f341472795e11d6e03d4a2ce785e80b54a60a2d9a570a1558ef6e8fa51ab660f3fefa7d7bf6e8c8e99bf3eb1420695c5634f965505229c2277d6b3a4ecd1b67d9f8ec0ff22545a261fbeecf5d1cc18f6c8ed7bd0d0bf93036400d894bd032b53a6b94ecb3464960aae2ea148d88b73cbcba203672825f56562aaefe5314d9a52216ca416031372d0b68b3317b3de6083c7d4c2ae8e7d48f1955eb7cadd26e07056ed8daaa4aa0f94adecbc552d352134b352cd1d14c33eac2b5b173ca7aef861035c4dc041ee5dc30c820f7dde3bc1ccb8a1ffe28c5841021360c7b64a15e5b584cc30f9ebfb52e8d8800676b9ded259f8057f3ffa1b41bd51dc8cbacc2d933b7241a9056f71d9e62a4614d1dfc00b6466282a48dfda665a884cf4d61ad838ef67d91fd2e2146959737952635afe44eb38056f226cf0edb186616f65d8cb1f3839cd3f1b3af18d53720286221258cac5acbb358728f738d23cba16449451946dd7eb57bc798080cc32fb21bac384db50eb1dd221803bb286d79a0cd08558ff5711abb73ad856fff1e5cf754ae53f83daf0b43e44eb431b04ea0348ba0e5469cc6977d84918339474f86fa75ea62c1200b84b1ad25a9c992cb3fdc1faff4039cf3c4b8c60decedf4f6b52ea029d76463327b9ed56ef09a6f14e9d91c80e9eb662f6508d96a787e8addd5a2517b84f2ef2dd7075f4ce5b7167006dd2cf78b2ae7aa96c20e49c55f0bcf745858597db82c7854a06dc7c24f6af4c3bb8e3ad70b9f3098bbef45f8f6936000a5823b652b7626923c653dabc449cdb40b2c328a8154c9faecbdfe26a5ae82b8c091c13e77560311815cbeaaade386dded28ad3f7a64a6aaf73088fa7811536c94e7c92782aefd1733b48962a04168f5e9b00a4b015415b996977c4ecd23741e80bb772dfe1de71dc118685da292243e15897824ac49fbedd41e5d1ecbc2a5c25886bd3b4c585e2ac8d05300bf420b044f9362630e67e93edb88c24133d8f9d4b09bb999a0ea41be1647d0ed76eea7960c426475af8bbb54dfa54c014f1db77ce5d4b4ce42da3f817210a46b66b59fd55df9b5ac1485f61cf518e0b48df274f99e7bf47092b4eb1d20ce7136a316013e30d76c8f9a1320b973b5f72543e9291526d8378a548376041bd2a808d2dfed63ee9d545f458ef42ee505e4c668c88089a2d3f730415169765c63c6856587b4fd461b3d561a0e326d842ebc6c5e71d58be60c0f48b815b425e0be8cd9756a4f0842212e596c7a4a6bba416d257976b378991c47cb3830d0af602f0945ac2390b700f71d16a1433b2875f5caeb290efa55f28828291cb622427b98e4460c39ee236579ad2baa548595e76710905daaa50e89d7c7d30babaa3cae8294267fd296735b7950ec4575ca4f5a0e734c4b81ca7ad9653f0bee20c7013e3a5e891b53a47a1ebe7d0d4da66f15561ea35eab7bb10d6b0cc472189ef85f29446f5fc67e247d4bd7e8ac630b392e81546a26077b5956ddcabd95c1d2ac8af7fd12925407dde287a66f0ed6d892184937bdb953065b5e9c5319b623b2aeecb8513beac0611e7b9698e2cd14abbfc070c74eec2fd10c8f501ab2408f7359e5f7e43bc658becf662a376de1a937e953e1e721598273f473027c784192a9af9a380bc3068779d40a2b627952251d528d0b9abb211086c22af6ad93585ddfb83797124f0a915566c2ee3a7b9e5a968ecc9e2624d2c9ee0cb845c7281074975158f1c05d86dc852ddbb54171c1c3633bc6da72a6ac9effa477dfe2730c57a1c3f607fbcbd04625b99a98eb4ade04a25f162118af8a08f21f921251235c7fb50c66b4250ce55ff91fcad97b803c74c0583401a45e9d1a70a60a539d756fc2d7d3964213a4e25c6115bc96043b2b9c1fdb1c4894efac961004ca434cec553931a27c7eed8945570a99d9d7f196d64c1fbaf7a218830fc786b67cec7e91f527707b7c255fd86960716e1e8478ce4b8aba22773d0b750fa7fa129d8ca16b8f0c94a02726d8a54e40fcc80de05a0fa4c99b0363bdc9ebbd88da2279f2c29a185f147f78b2f847da640eaae0c559e766f7906b1f4f14cac7e34f6e4571cbe971d4585b2fd03a013df4cc97b9959220691121d86fe6f749032d10b6a4efa73855aa7e0dfb79ff036e162374f94fd7318ac429d2ae12722c73df1e5e51f9619bf7d3896c1565c9e76812657ce782225cf3c22634a99e923a79c0104c86098279c19de3a4b21cd2cff04cdacd7594632f6e41af2e4e0a37447b98bdc092386e0bee0211df0f34b3968a34887301bba559fb971b1d7789f5db4d6e31b2269968cde4b42bdf6248c2747642c2b8d0301c83fd6fff7cfa368a639a3f0ca44a42c0c46aae1282fdab2f5185187d5942e184ca13b96c57801c4d0d7c774f311a9a1e0e6178ae5748543d82088f72ec46e5c5e0ff6502e7a2f107441be2e2ec84bd762387b9ae3dbbaad95fb29763c24c668937444432c8c323e33cdc8f51412f5d5c7cd16f7c9acb69c838ac0fb9e0a53ce1f21a2221024699db9632cc3119b0a103265d6b83606330d415e97fe5c0782dfb8890ffaa7801a8d4058f497f76921e89bc41d7bee206bbd4109437c52dc06398af1ef48d906f397b2363558ff7c30b6d3bffd2f5a166f256135817755e6917d847d66139d2467f1ff1b1432eddb81c05b259799cb0e0308a0a9702668787ff937c7c1c21a0381c9211243e040c33fb981b39121a47e8e910a7899163bff5a8da7353521d0c660c78ec52606a3f01dc1f05458a8b8911136018adc14e4b270c2882eae87f89085c1958eee3547e4803e80db1c03dc8b83c4be2533717b299099705058cb51f476944e2a63dd98a08b0176d1b368cad1daa66b188c841316a6f0dc67314ede647e96367c4bc8622c2aaf3fdd2af82d5898da727888f5a69734a3d0d7860656238651306be1a034e737bc863ea8ade9328ad1f38b6fc5d224f5fa4fb3b846ad631edb98a2b21af1965131eb2a63daae85c636fe1f3b23aa9679568d4df3d204ee837ae6d58a4c4be23ff25ba5fbbff5c2d54b602c182e19d7f75c0b85f8f2c35021f3d9cb0800aee86f1804acb1f012d1b83020dba52bb77f6079fe37dc12c4b7926fedcf2c2a23dbf2dd6d79616587b31b0951e90c66c07fd747b7aef0038819b8cd49f0246a145fa32583de6da68b4d471f8f1450121231d262130165c87ceeb76164e10413b5cb34b6c571d034b05d50ad833c34eb8cc9596ee00033179c192edf752864b8ed0f8eaeada116501525fc9d616e8dcb7948d5822f1e000fb1e0868e8c93d087985dc9faa994679d876e47719d6dbfffcfb56908de986edc155d2e271a465adf12bb22b157fc070835597a8f3d0112fc1b4d250f0e19758c31f32370f9b712c9cc20e6a4397dce20405baddbc1dcab7752a17616f7de26fa1744b357a6c3bc922d1a8b75d8792fee323f0ba14c3d3631479b8a6867295901f3afb957173440302b3a712706dc0518ca26af2b09efa663e10b483cfad7be01f3d5be1ae3873f91c1e3189e72dd2a220dd7d6f4d9da08b4651cd601e53f4e0de3cec0eba883d654e5919c278fdebbe316e392de367c17491ab625dc75988e0fce9aaa828c50b34ae38dd2f2cb62fa3bc377a0ee1534ceed4631f7dec5e84a94b6872e83ddd89c0d89d0097acdee4c52d5abf7252cecc436ef18c9bf275a641f7974f108e30b2bbb25c9441a122f15a4415a6f80476d42d12b2652723fc0e13e783f959d700d2ebfabacce45a6d9a2a0a52a3e3b75f8ef7f72093f50829e53cb56f70da33bccd05789202e67ab7c46e9710a944f23700123ece6961d8f58a2b960b7984e2c706d7bfebfcc219c03d07435372bc25d6f6e2db399f10806b47fe978b706623210e8b28174af8dab909512e8eb6f94af2994d4442c01b9fad4191ee86bf6133934acaa2c272b64d7ea6e1220ec67a59d3b09dd7363accd53e43050e01f15beb862804f3fc1edddf0a76af534b63da9ef48f51584c1ea421e820102119cc79b8d144b1fa7115509bef0ad41e7d1b3102aa1b3556db6aec4ab05d0257098eebe96fbbc8149978be3c05438ee3163f6c8a2c07a80083163a9bf61a80b4485c0cc4025bd1d87fad27c2c7c435ae1efa0ff0e6106bf343c64a59f6231491c7118f25987986697030219f2c37f10557c7642c4e6e1d8b7e6372ebe40d1b39f978e90d300678c231095a7605e402440ebb5cecf69ca1943fb2bbd527e979eee6f80bb518f38fa23e297a60a2d152ac000da54a918ea7d1dedfc49ba3a485c22ee758b85a02e288fef8cd8afc3e84c039c4e4c8dc8fd303d2603d0537de15f4ebf00b58f4d11d581fa031c14b7e5677deaefe898669f6c98fbab4e14749a6d1e33aea8842a28cc4df59a6e872abe2c91949fe6791281ad2a8fb472de57dabeb640a5e479310f5481cac76be9543fb2f416cf4200f06825dac08357a0a622439620e845eaa5dfdebd770df0dcae8fd69a795e8a153b98a1c175995bf598e4e1bbfafcf17167e00a2e39fc5694ad65fce1cdc0d23b60c200508521c4074cd1064ceea7b19e86ef5a408e84b7ec81f79dae4f36d83b12f53290c7050694abbe83ade66cc769520e77a15b78aa919ae95a720ff01162fd7bd09e7658b02d723eab46da3c144acf7a81a3fab8b67a446ffc07e5666e82bbf8c85d5d5e72b6df5fb052611bb7a595c4e1a9fecf3dcca6d670c0fe28401032205ce8b27d07479cfed781f6bfe42e2fb11dff4ee4c8b206f793ec53efebeb257cddd22d9a5c7118684de4d45af6bf672023b9b6bb89ad46937b07d6f2cb4c96cff3b03a810a67c09a1de6110ebf9f806ed838ad6f1e5e72549e3c48211545a72f836b2758c37139aff0a9e3a6fda184d5fe2eafdad927c3817bb812245fbcd5b9fcf289e1682859b3d70f2d90fe1c0d99dd607a5a839e3d9a24f967b796716372d53e67bf4e8d3f4c7b7c4ff1746500680995032b9075eb39e97215caf038c2b16a22b07fe9e44440b23b04f104fdbf0c4c83ef377619c20b39a9a49d1d846951a777a2800ac0d7a4593b532d0c11657b393b98b78d6ead3e6ccd0bbaa59915d2be6f785833ca8779bcb9b294714582f24c4efdefa9d260fa35669b996c626439808534cc86cf522f09ed9332e3a3f100187ddb549844095b0ce0c9c86c236bfe28ffa6d8105f071a8b32dd318bac405b249e134ffb4a79f8ecd96624fe6f50d7639529370ca1ea4ed2329bbc9591cf411fde7df3625ccf378d2cf3809223f41697b78e857fe3588fa1bc454269c7280c0552c44c3ca63d0b0feb45ecb72be17a975ffbff98570e17edb627db6df95fa1ca20e6cba7198b93f52d76632b5b29a30aaed61420bb29b939f399c903bda57d5942f120f77d9dca801d14dcdfbea7f7fdace380f5417f477f17743fb14885a46d52979fbd3f5e7947c8c8bd21ea83dc04ee5f53ebf008c2975720049abffe561fdd164d8a848d525f09bbcb32cdb132ab59a887fae0449b8034be5dcc60d6705e39af9f7eab9c15c1d913b7e0770d3a16712c694b865a02e053b13bbf51480eea4233214c94be8927991fb041b4acb26141604b69704495f877bf5d936727deb81b2cb5674a78765998842cbe77a924d89cb5e0e92a6e3cfe61f16aed084363de2865a485394fb024d7e5fe616b0603200a653a2639fdc13129b7495a22a7eab238ad55471de82f591e126fbd6db5adf70791f67772d8885cfb32c40673b3073fe3759cf478cf3a56c245d9678e980305cb1e6ce91e301498f1bd662b13d02f4e891de316a3878e97aa5ae16216c5277b65c6a7366d9004f8158f11934aac70304949eb09521eca8ee2c7c5abd951061b695f31bd2ec8ef818b4c0165dc4b3d879c0c1ed4e08c760f153a701ea7222475c26b8e4a297665c8d48e27d335a3c3e85951ac404978a617f145e3136a362c1c77281dcee78c277595b47cf6a9fdb2ac6f7c8c2696247f24711f16d1f5cdbdbb7508b65022d9d6802744a21840d919c39a54719f84dd047dbae007781b80ebdc93331a190ff12d111979eac7779c36dbd06db9da50c039c6102961982ea3d6fbb463a56d6cd0acf5b5de1cb797df6d4b2a57ed0526de7c56fb6c44a278023b80ced0324df2fc53751df4f2e809501c73db4e38a1c679045135d7119aef786c687154ce4c0a0e38520f4afbe56bc6e4d1751575760f2c3d4c5720072f9ad768a350a064fb159abfdf4de7795f5cefa13d63e4b803169d97547f4059b2ba00e30114e335417a926cedbddb0a2b742670f61e94cc81f8fd5e6fe1f23233874a6c91632ee33c4654cb8b0e57d03fb0e83df074deb9d483fa5e712aa3c38a42dcba874e2bbc622671f5b7267b311f4ceb880d13b1a128fe343fb9de75c766aa59f14eb301f1e995674f2aec5d4e48fb5a95b5a2c8734115ead4294b11adf7eac0c085fae8fb286500350d65fda5520abad7cffc3ffaf4ed327ddde149559e9cd350cf182555cb821edebe1976951dfc4fbb6b5400e0813a9dbdb8dbfacaa97ed4a68a56b5f22533147910fc76838d60b6eadf7a074a9537d7ceb28325b8b81837e8bd3ce256420e5303755b11679bfc7108803f6afb31af240017eba3d9297a16d2c03e882e87b68076103054bc2425744367156c5a3d505e4005bd9ccd66a49d2d67cf8d111a894f8b3af94588faf2b2f7505ba924204d393b335955a68b6797544dc0af4b4ca91989cbc49cdf1309ea693b29efa920a4fd7dd26a4d29c0a57a08e45a363f031351c7a38d09eb6571058e38ef93e1805ac1f08a5218f2a43f1286746451aefe42636d9344adfe99ec2c6b53b499bc7c59ab35db696d3be4c1d946b8b3a45b0ceb527743e16c88baa88b70a9d50aa024074b3c512bcf3be621f328ebdc9ea86e73762d857221755b4e331fc9d963c917bbe7cb6561745d06ae4a5e0b49f9a64fcd56005abff5da82c850fddf097d094d58c9ab2b133c0d9af60148fda0caac7f41f82c0be06dcde9bd1244a22257a89ad7aedb5c1ea77fd2d0dc1b30abbaa1710909e947f034146a440b70c1f9607d038bf0fcfe08d47c709cdc76998c4e94ef8384534d580a7a87156eb5c9049752b713e1052930b9fe2504b179957cad5bfe1b775135664daad3ceb90e7e18a9c178dcb24f384baa7e1fb02bebddab0ad48090a6a01d8bb2d97e716be55f7f25077d8860660a0bb30b64c94e0bb10e5aefc25b694c04d5e959f1179776e403fea095e998184fd3c1a8b12d8c49867371581080a3d153f5a7e3f640eefb38174f37bd3d4483a74620501a752130bebaef74571c8f3f2e20bbcffffecb0327e3eceb49c6e2e51c16d1931ca0cc601727fbe1b85a27373a449b09bdfb7dad57c4509c2a00d49c6b844f6c97a710ad47d0a2539bd50d5e9cb9298322ae4685b0028cf9bd0202bdc7f6fe549be18247dad4aa8a0ee30c5523a9fcfc251cc75b2efbe2ce69c4b3aca3700815afc7922452aebf8a19014a18f91e6a400502c51b9e87573c035ff583d7e0b2f1888db0241cc25e2aff063f654ec649924a182da771eae43eeadc96952e56141f22cf5f6269f989d16805b4f1ee209780a84edd50a3c230fa6f499a108615f4899f3e3599ff81c74cfbbf3efcbf0f55f326140c4e54fc53a67cee53069148ab3ab4198bb813eb7d6ace0b78c4d8df4771a10b46cae8b3151775cda3a7b0346e7ca72f8b4300f6058a375280b893c6020e96c559bb1c14b7d49fb3c4e5a4388821a598ea9a71c4e69ab9814c0febe5a347f7f14a3750a20b139bea22ca4f50b5358d68851bdce365b00836a1ea277e7ec7fdfacb9cee98842a98cabaa03b7aa94d7cebe2c188c3ad23b8e11956ecc2b1d19f1b9f9b264c972b627e1f7f1b13d029f74b4eb1aacc6fca21f9449c00e64822522c382d0d27d5671674d91483b540e72e2432fc958442e6dba1b122737b2d6477ef26f9040be61768cf88e327212066685ffee304c0d4b3e4b4e5f22dfc70cc23b63f012e54b689b39e13313cbea18c9dc0793578809dfac54dedd46717c9ba161f295e463b6564f348b5ab422e48d51c391bd27c8f981bd48ec1d938cadfcddf2e41d474c1a80df98fed45e59a68dddf32f5ec4ac280862bc899221736da5dcc705957563932bf88f4d0c73a25c23b07c103c5c9eb7674cdcd3329d1429f5e6d89559e1d7045952dbe7c3711d6f0b6ca41733f4a685ddfc80ba8f2b3c779b43c1fc7ab6863a620fd76be46608648101d1f6053780ba9e3f2f0a58b0a6df9a0957ad169412765267d1099e4c8294649c44bbcc5a313b6440d33960cc73a3f20de93761a62843f7eff8af66fce1ebd3762b74d4106baad6f422c0d9f4910dae56c28291b86500540100a0d88515bf29f29c17b69dd872302cfd742e2dd7b260bc1f52d2197611fb4f58c6d24156602096687c2629ad2e319266f1914702f4e850e2e22fccb58eeed2862fcbbdc91cdb170845fae9289c9c82e4e3020ef5628b318725a865ce97b1bee72f0cf4f96a2f5720df08165af630dcc0b64b1ab995cc3d4cc3e3cf9cf13a34e8452f26af906d59d81329dc417485a9d0018f87e433e13ad55cc2734e61888ff41b62248ec958be63b95df6c4880898bb31c09dc970305d055c3a7871284abb10f5756f5f0c6c18526b541a2737c158bb487d1d25d8ef0dd1ebd0843b96f6f92b9810d06ee2e50cee09e96e1c29cc4e3c1ddc895004a5e19af502615c157e13cd313a5798df390b1ec2386d3257323d21afdb38aa9211053381e1f418fedfee7f106c44f022fc10c827082f22254650fcb7b26d55252fd2143425472deebc86ae309e307bd4ab0cb0760582bc642e44632f50d046fcad9003bf9cb8485b48ddfd9297a426a3a94125b2fbf01cd5b85c91fcb1e3739f5ca549c00189008c1e90c27e1670a896a3643ffac1aa1cbc6b7679ac6ff36c5988c1d1c096772e79083e0652ed1e35bc53b9b3b709faf14b03c9f9ead5200daa0883e06eed71f2261fc3f13f9abec5526b03e77a0f0b70e8fe4c38907e9b725d10f14560964558c2a86bdf66563afb1fb3dae55fc159be5fdb6cea413ad803a074a970c923d11386f3a70e6d2aa345abc6c620d45a1c0812a53a7c9b9122a35092ad27e91c1f9e53eb8c8b2592dc2a9d7b45b25c5b6f64a4c8e82db913974d449cf962a39f5fda879c8a918c8c6d2c1663c558d8f10f63774c2dcac353f146c41af80aae9bf8334569429c4e2db8e01db3ec5bd76f28b70b84b1eb5f8c8566d8ef13cd7b62f5daa4bf8d46672ebb4d58d3c8f99f205d0967da05d306e056abfabb2ffe00d2d95acf439219b7e605c8f5a05fb0d1850baec149ccaf74f27e76c1d46ef040fd28185a586932657902ad7959ac0fec16af8da57ffa4083ef8ae23c5c24369342341cbae128b61cc32c9beccf366c8821f1ca99ddd0c89c047884d3f66930eb72d05e9fa93f827300b2ac0cd8d28b3edf4b225215df109d1bab681c22d95de31dbcc9e353188774da0aae25d236345ed7d31e8ac9a86414d9c2dd5405cdb2b11e195d21b82d7ec7cf4ca491169e3b32ab61b13f7e6f33d3c623329e0d81cfee30c9e54d2f0a5cb2ccc6c082560c29723c3287917103b3698fab31b933cb89d013a736d071266c25c062c955b54982379051cb704865fb15453ef41cf24dff8a261d24f125830779a799938300f70c1195ee64fe801d9cb8058a0d358d612decf91c5694e32e4e55f9e1d0a1f6b69977078f5a6032f22d7d46781e82424c6d1023f791dca9852531532925160c61ee5248fe448b79ef1aa1f2124b4fb20e722cd584f669a8e0646f331333dc7b396be9cb23397e41f0f32eff68396d3fb439ac73283cbc70cbab16176821854855ed730ec3f26648b0f8cade64443e63245cee2d50ad1692dd01fd4d3a4a9986216122b117a632f937adf441fc824b50cba844999b679430a65200b12d8243a78c85bcd0413f7ccb925fc1b4cef1b12d44e6f992dac74a18af0b0a5a3d1c6d71f7ab2d3b966d85488b3cfe11d494dc090327479edb21c0d5c1a66f86a6a76b205b27e90eaba28bbcc0354caa0187a4db52b66891a9f17a6032a6221a67f0fb2c358d98f5f26563391ee07a09f7dff93f4e5fb4121e0373cec9c3b7f84f42651445714091cecd482905ef3b96fc9a09ffd3ea02150eb0789ed355b9d18c0f96cdee2018b533d46287d321e29781e79a8c1025e225bba03747eb2f7794476ccc1e01dd91314405bdea0d03a4ca1a2f0dc2076bb9307c3b1d7c369ea4395ac3c8732ab042f428ed43bf85a758b05fcee463fd6aba2ab092afbd5840fd97e62b6cba998b25be435e544c4a6f6325febc053c66f656ae2236bc773f1abc491fe56b7b089fb3cb6af0cf84a0ff15cb6230c250fa06cabd78a680b0258c8de9f0278dcf97c2b3b79a50284d4600a763a4c3e7920e1a321dd9ddbcbcb732d0580965d6e6f132f442155e1fde8338f5ec0c624d6a9ed1478c3d3bc2640c91c5f57987b95ac0a678fcf9ba6e2d8a43e176744456ddcafcda041cdcf47cbaaa965cbf36b4bedebb10b1797c45aa95b763690e98d2c11445d67373fe6244922588f8703bf3a7045c11611ee3bb6dd4b9da79f9c8e4ab41ddbe72309350b72d67e50349752abe33606eae604e57228d6908736f8fa7a34dcb3ddcb5352cb692b62c5f1518c9c6ef1cbe8d3aac777dcf00b44ffe64f7f6e4563d2ffcd3e64039fa3ebe35cbd5e09db970f894087e795cf25047f41dc790e4bb0d5a1198cc9b0ef6e84bfdf7a10284ed32ec4c5e90bdb7ce6ad27e56958f37e37be70f427ed8dc446a172301264d797e8cdbb659a7616456980d7e8af0cc956a9389060be50e5fffb513e0c9f13aaf3cfa122777c7fa85febc4601c09b2c647646ad0a73aa7e6c03e77077b91eb0f50fc5e18cc42de23930dcd1a778c648d120b26821e378648223b38c79ce9b4515235d8076dc63faf7bb46f049db13b3daa8b5517b4ce69b612c524e26714f14a90d3ad6311ca427fe05f8ab88939e2d6aa6cfb78742390fbaad32e9902816f97ae9cf6212e044b51c30931d6bcad58f7f0cb1bc8b7f913d4531ccc940ef0506f23e4540a020ccc53f13b29b52c06a4a9b6c28b9f41a60f1f51c32c006a542ca558ac11d90ee578bdc45ed237b0c0d45771018c400b838a621a461957afbc74bfcd37d785b34a3f1a72ee2bca3999139827890018c2f0c52a213a758e0e392320c37c78b91613e450fe1fe9f22c90d4dd5480d65d5fc537feb402a0331b0329bec3a50fb7de80a2247edf31a95edb01bc7654248483d5f3c5986c293955f32843d732d3f01cbfe6bf689f831d167d7fe31dca7881b7d02e42e66c3e531bc94b84c499baea97bb2cde7ba64a91a615d0aa40c1a057337715f3d7808bcdf21f20256da190344611ea36b107e9cda843bd06e73743629463cab8e0ba56de4a29a417d2bef568fe0b065995ea5c7bc01db7c8f14e457327b876d0ce645b826d4066d7b00f0aecb48edf70e68d036c680e3ef023f1624d714d433d07376ef6f5671b9fdbbce605f1f11cf1ee150ed0246880e7ea7b400bd52387f7770b5ebac4bc0b38b9066a7f136bb145e5a6428b48737f90f6522309d1d5a1b30127c88d7dbc84e6a813ee5a753cbab3fd312a1f6a642fbd3fe8c2d4099ce08e1f4825aa7486d618feb82fa06c3a07d02553fef2991bc2126938b65ca6004f5dd9484918b751ff1ac06c06468aa7fd2c8e28f9411b67403a709897757bb558ee92e0fc60a0e06b274dbd3baba11e62e65a113424be1bde16b7eca65cdadb99f23002d146091cb838ff37d33a0d474c30e3b8af70148f44aeb36dec6f8d67ce636a3cd49a5a6e9441a66023b71064eaf6d7dd2b00dca05bfc2d04de6599f35a1d36c4fc107ae5812e181f5fb6befa7ac5661ef396daee5087eb6dd3bed90d158a32bd1b3946404e0f350b376694317b817e1cb634f1a85f03626f9cc6955f8c2243a3ddb86a3ea254b779ad72d5c83c5e20fdf2b0b544197492a84785be0f10e2e32f6892d00b69737bb492df518b360598a467a792a68add773a7d77b4a8fb13a8f045e670e44aefbffe81c4508984973979bbeef7d0c82db002e2dcf513068f3f30fe3babad3c5130fbc4156a07f123db793813ca88ce84883e94e893bed74f7f58642ee4d810077e7f554d06196a34d539abba1a74cfa97d410eaa38ad2fe341ae4c140e91b8590926befd8094173f95a679989603181f49807c3dec24564ffa1f9195c52b67a9db3b5a6af54c52ae46d1f730ad78b7a3a1f549455bf5f8f8ab6a0bba577b5140c0e69031d2b1d26ce64267bfb31bbad08846ca0228f340582a439d948d8f41e6bf3b69ad1c7e7d8dc83812731688575fba7fa204787165a0e96f70f8864dd900b9d3a77e92446058e7fdc89ae2869fec8e1faf3dc3e449d119edb33db835cdad2e946c930e2da7bdad076c4cfb9d6e514189c965324f86efdba045662c96e250f8cdc05bb47afc4b9699555f1ca755b0f53ebaf3e55141d104b95ec5c150eccd96b4057467bc8ff37ace48c9ff5f74d3c4316e52ecc567d62efb3188d11603bad22eb9f0635c8e728920350d1275502029d405fcaecb9f5c2be4f6f51a5b02ca55c4d65efbec3027fa4cdb06d500c9202b3d68381f91ac497835ff3f29a647af572f5508bf03eb63e29b9f611ae7e2e843732470c331e7ef04f82f8ac9457ac1a2fd4d565259cd6b7931b290c5d9b0f8d7f2d07af101f3db5d1f0accb8a97f4d256ebbc6b4ef096171b7becd38fe553e1870ba96c078663899f648e05b870b450a04994cf108b898ba4fe43b904944e9378a6c36413709807f20a5b420776a37db0e15842b9317272a43b38208fa85b17299dd24249b72d5ae5a8ffa0785c68068aaa938334a779b30e4c46fca2b2a5d52035f9442478c273e1845d9e161b47bbf68155b716429980ad54a1398c73055e6acaa160a9abcbce60161d711d983467e899acb68eb7157650c41ac7c920329f47a6b7f7dc90482d6e26bc79cc5945e8e446fede3d4e04d4e14b6c58684db2dca301da4bbbad03fd9fabe135cac86653cffc6ebd07df7e59b1e5cd9bfc59d3ca5c33bf36e6b4dbfeffe43be079b9782aed7ab956067142ad1734d37e433e2d6351b01e02fb45fc2856f4b4e569fb8cc30c682428ae2d6581da17489249747f6ab1389c7ee89b53ec1a1665156e4a9369b456f744c67856da8a5b5f50df0741091731687d024ca1ce850f78def09e247113146c2132e8114f0961d4d0d963d4da7d328a3d5b15a4b17ef6c0621411520c603521c7c94e04a0e7299ab326de5a72280d86fad5fa9e6f2fcfd79d36dd0c3f21af6740e2063c547c4b4756367fcb2933d01b61ad41fe9441b8209516367e00ecfadf7ac2e0668f4640d151d2e1deb71544646d8ae2c8f799088ac04808e9a9d824fb274446e24e091bc7d5758ebcc166b224156113331b88cf81b677621cf5c4943085a828d65cac92f3e890ee86dc47643d34c200308800884eb63030d77b94de0ffe5f0da7308c936dd443497b33914be0d816e8fb5ade8848416859715b80fd1b9512eeb9fca267818929ebfad7d59206398d75616e369b49b7164c582bf2d203f18c5864fca52c33543590b066892b95f6f9b0ed9616a4d1fb163db3172ca65d0a9160d539bc176fdacc1c2560c3918a167713a2aec4c6d86393b1f32bf121d04cf4083353df7e14938f308f06f9a2fa36e64ecb336176b1a94e616459edfe49d48f13c6e34ada4bcf87a5d1eda85ecaacbef2621f4ce27ba0dde9a64d6fda6d8ddc34008d43cbb51e7fbed7df1bde5f456cdde7ececaca72e9fed6a009ff6914678695a5c6f47a825f04b4d72fc27b977ea41efd68e6a50f7767d0ed4c25bf78bf99a390957938f30d3bd7d07905e502741ef99bd6926bed4d26ec6192a74d8639f19643e6b1583dbaf0b81bce5ebc79ad824c8f180b24c0516c7b88ba6c34327892be632db89d269643b88e3f33c1c0cd96803592df156250d458ea3cf451767d3493f065bf366990d093e6b2a350fbf8d37b04e08a5494269c983350e5fd888fb690c303c8c55f61aa5b7be651d3cd9b75e9107db93af610f118bb509ae595ed6757b57f65765ddaec495b4ac4e77f003668e8b15196a9c783e04f50ad8ba18afb76b69ca2b833124bc55d3fd33037898c24184392871c43a96691126510afe1512dc86e7a708e7c798968ede84e659bd60c03dc700dc6aaa17910a4bb77ad939a2c60a5f89bb92c1e954338c7190491953b846781a5551aea3bdc7eaa22c48597e80194146f002008cdf2d59d3cd767c7c0b037871abb1855bf0dc302178b215528e0007806a726b3b1aa1edc59b90a90bc62b767ceddb7def982ebd26f406076414a0a821bf695c40f3bf5f3cc6c8bdea6dd0de45e7551493dae3192cdd2d80d2a5fa965b8878d2a5347e7fbe459e0559030b36e6f688da63460f5e44511c0a2a6cb57143554685130b085e9891d738a3c4367dd47159d9f932f69876ce3f23d251334d1bf661ef945b457a886492966e7b1e5e735ce9010a6d152690c23c19fca1f79243d67ea2d0da38c9d9476ed46bf0e98bf176021f2046dcae378751617874ab436f96a19370c5ebaf9857bc27a67c843a5dbac861ac4a4b060341501372ac482df6814c7c4f7df04cfe7204dfc630317b0b3e13ebd37815d72c2528e4e5f1616c8ada97bf95e50b2cadc41c247fb43c0b0687f0dea1fcbda4bcebb530399f3e98aab51b95cfbcbdcd431b0eeae28018b2dd124b8e0c6caf7fa7071f6c31e6be02232c6f742dbac93ae99e0384658d5002dc67c6edf4b87a25407aa8534c4170346d69a128431b2a63cde010ccbc19a4dcf60ae5b89f8b5b2ca530af106285f939ab7195484a201d6b99f6903f9cbc021dcde6d3ef48baa9714a7b37b687d4b604f4ae5013b855b1c40f049710dab60e40efdbf6e1dff4513dc19dc33439a9feaa61dc977c3ab734bcd5a128e15b070686daf0c5a1ad3fc89adde354e9f763a63a663ea14a66de7ad13e42b492eae9df1c6f0b790a8fcfcee6d683b4559f740999241021952490e4c06c1260652bc0b9492b5b041914e07f80daa5aba7696852a548518cf6e1e9e2e5c59599904a029cc40fd2743f441a8fa47045b66157d0d5e978fce15f9bee554e21af62490f772bf609b12a03ca87478211bf3eb7aa0d44fc024ee576c365868317a34921697d0eafb495693b5c82487d9949a4da69074f104d29a3edba71490e90ee2e49f9e36c6ae3545e98ec931fafe37d28645e890a6bfea1793e42bbc9830af1004a3ae07199b8b55587cf08cdb43fdbc76e39aa3ce7e12f2eaa7b2c0833cd81bf780f549107d4b42712b1b68a229b8a47da868118100da9eb156a8b5309cbde73a9d34fd4de2b33ab5237020895fd7fe20b71611ca813fa6498816473c78a310d565995aebed2161816a56a84e5da2c384fffab8cdc38db2d711b91d384094d8e293b87e8f450bb0b6c7c53d1770b2a56396784707ec029ced5bac4f3db84e64aa60d8d41d9ab4b14dea9f4abe054319467974b544c99dd4d35830864779bf55dce1ed35e3442e9d0ed25f038ce29ca09f8b1c65560274fb079b3265ecfadf9c1355ee6da47e054cbbd17f9a1a12921e147281c763a1d02b109a27c9449bac667335593a49822ff189fff324515a5f8937f2d4c2ebc3d159310098b63f2d6bfa10cdbc14e77c0d8b252ad11a0dcb120dbe654b4195a785b91a49fa2e047ebeb1cd406b981710eef6268648512d4d0dc6ff41d207b60c8844b81362d529d58e7a7099a2c49dd238edccec10f9734861fdec2214388f08004e61defde48bd622f87d8afdda89109a73399d9cf319690f7b7564b33b46763fcb246331c76b117a999f13c5dc8063ceb66f3f636d9ade6f5597199aedcaf71f25f2978b3e7f43cce9fe1d4514f40c8833b3268a9fc83d46b98d6d01f20b8dc547ef640006cee6f0b8e58cf6e0105a3c40cd33a3bbdabdc63df596aa4ccc870fd615c500a31be60fb3e9ce9302367e570726290b06de31451c6085068c59256fb7081ac33680302af4c768b74d76f56964509151871d4e2f7cf8945cf53a9f425e1a8d7dbae588a33d51ca1804bc5f2508c53c91b42edbb6e7dfe0f5426ae12cb09414f8d3d7eaee183237bfca61fd8a3fc65e0d33b69be5f71cff4c54c0f24047a2e7748ccdb4a3fdbeec71af47c810d36eb27679a68b4a921f22df93ca5de4b2c05ee48cdaaeb508d645644f1a28e285560fb0f4b9752e38247dd1fd46c1867b90513f3502df171fee2fdf29b5eda8abeccfc9db78250d13c84e92f4344f03856532acd77d184b1ad9d07d7a8c8dbd6c8e2a13cc38483a1325f951c26f887867c2914ead74b4ee61ce00e8d68567ea2e1792d8dab7901c4eac4cc3a8cc8d536735e376b8901354d60c58d9e78d55d692f355be0026bc5e34481c5fcb097f3061f4689a12168993f4f97420fbcdebb5a5f10999ded57b81103542d46481e4fcea62f92c5230c6d97ddc4d8f86f52773561abefb63eb31a636109752539949d68f66abf5c7b2ec7c9e1b4228a5bdffea1951fbe7b4cc46ce1c5c38af96e17409bc2be0afda93fd7536aaf858f26dcfc23bb3e68af65f9c2fbae0a38247ce55d916e58842b6004a85d81442db6056ed1ce4ae5059f979aacbd541a58ecde33690e009907020da3fc3d1eca57d7d41b772fa88227fab1377d84e7595f4e37402de80ec9dd5bb8cf3e27a928b8757953e97efc971cd56ad9736b8afd9abf972092e75817ff33f45427e1c2be871383762a4a2ff4ecbf5197e46283f32a7bf62b57a3fe5e610df93967d6ffb9221602c0ed407bacc17d6d531c35a88422550f6dfa52cd824461f603f3b23cf648c4e08f597928a4252d38a6b455a61727e78407296fc8fac3e0cdedcd4d4fe9c3fd1c5374bd2e255e14225f58a37216050e5b5ddba01345bfc6f6090902444ce95e2504257cae4dd0693f48bd475bfc4cf9306c9ae8476fe63bc6bf1b63e8f777825cf1d01767cdd2fb200344a1f145e318dab20ab5f68b78f38c6715d63ffa61d1353feeae96cd55b8a617d0b5e5bb12c388166d53d866ab03986d0026947c5f6bf2d4d200e9bbce8d0e79b8af40575b52ccd6dd58005024bd3df49c10a1ade8174ff341117ef6a684e0ca508326e2d172c6cdc7a078e1888bd15e91eaef980329e8bbd6a4914b2f44f24d49e3c6c87fd8b7a823fcc08449be99c3f2b17f60356ecdaede2657dbc46b6111f675fb2130ca801901d1c765894277a187fad08906561f5783499ea26da16db24341fecedb6d3828080f23535459f2aeaab018b951997af04405ebc08234268043881b59a618dc22a44536abf496a782fb4cd62dcf0fd57948018ff025bb2a3f642413110ef3b20c9cb01cde76af74b9f934e5178e60ee528e04e03cedb5c418e49e982572e1a7ad1325764af6b167585c49db0f7ef71f938fa9a88f2759007f296dfcf831c15c2abc044119ae983d14cbfbd57873eeb12dc2637cd1156df1474059c50d7046af60278c595a111d960f8d6605b7835e198966cd87c8d69e05389c69007c6e4931169377621c4329175d4959009dff227b36ae3140c79294db463d2c126d962455b35863973636e8e2f22e412707ad730baa02ae389f5fe49763ea41a7c8f1cdf1a3982a2a6affa3c00fdb8716d22f97c96c5a38689a0feddbc1def2c356ab5d9ab192806fadb7a4c95aa35aa38ba176622a0c3905b3fb1e7d74d73f5659d8853a2ddb35c9c98f9e3919e4d82eb70ddd53ed0ce03117bb5d5a58944f4639bee1c76c613e18b0a3a6d72d40db485181fc41428c7b7cb99d0c001b66d02f414ea583ea03db04a7fcb5535fbed60716095a813ca6c7c99bb4aa30b2f2f343ef9b1478720b4f1372b7dddbec4b9b29dc095972047c4b877b851b6ccb11da359cd56ce581c0b3cce570d28d34171b3b08abdce154a6de3e0a41d63befec134652e288e3a4d2ea00913ba3fdbdd306e9e99edc9107f66508ab54512803a270a294c0cf82cb652a224e905ae94ae3320c6da10271ea4c0c8ba00facad89767ff833f4fe62a72b113ff8935efba2394338c3de7e5382c614d76f84864f1768f9c4d2ae6fb1e4605226c19aa151ff84c99412048a9ca0cdb3170f85e9da89033a0b9b6acb7dc70d14833a6df3e6dbe6db52ddf6d7232ab85f698a88650de9ee6bce04646fdda5afaa0315696917272f3b1e8ed9c045b68c7e8df1d012652a84cb08b634398dfe762ea1811014b90b2b3b15d3b73003faac47f1408826a6e5b1a099613f3bea6e65f30d72531fba7f4e8c68c4efaa45beb66699be131cf17f15ff119b876858e55c06b9a42a3e77118f0c5fb001350bdfed645b862dffc09cf41ad46df9f452aa616ea29197a6a033cbc2c46497ccd9f817301445b18b43da2f0200bda7561536d35f5b38d3a9c232d312734d2557cee79d958a0dd6955272f0a14dc9348a861f55f1c3057b32f4b0dd4de2f253ec941f00b3e6eff0d3e5b3219c4a6d60fe9b027d96ae08a1f5f60bb7de406e31153b1a905d4ff095820381e1f8d062a69322f5dbadbaeb669ddf70746e23ecf2c66a4a5670499c16ba0c80c051f236ebe3ac971b85c55e6fd5cc2d21b016e7bcc7136930c3ff4c2fbb3276d05fdb7906464adb076c1f316855d556c6d3c2da20e9fe06814fb2b172ce0c584f6e61f64f090689627f667cea19e2587f565d2f18fb415e849a98b77bcaabb249b34bb1babd7e6ee2e55c77c03a786e3cb8b473c4cdffdbd246057edb85be754d4d85df07eb9292321b01801d2812a23275d6d0fb41c031f3ff7e1c66c4c0bc73f41f29a5e38993d2c3b0503ad63f2442b10578266e5db0f6822cb1ea715b8c542204cf45f1d7ac550cb3053f007b13093ca392c30ed45b80a780419699d604b7c45fa085021af17960dcf3cc9446a7d2dfa826e78e60216f5a67721e11e1aa7ad6b14ecd167a8c86247e2dc06eb6b4ed63078bd1359900942aac0cabc5c04510d2b369c5b03cc80312d0051ec099ec9f48b757c4388c17744a37277d5bdd9f4cda1241eaf4422f8e1b26ff94631c97d756fc353efabb9eb75bdebba1919b28611534f82a2f7c8da176be52728f1ac0c00dd51111d3b9970972a89f99880b3fd568c4b97a55757754bd8bf4d5964fb155c42c0a5cfd3723913ea2e5169d491953e3036781e47d49274205c523b30083d617e62a33d4d9db836b0b2d4ad2efc6d4729d1243b167a27a54ce5d8e254fc958c2972c8c7bdaf1b9393d3c4a30a7f8e77bac2410ae201fc6f8928bc213307e42494fad1a74c49dec0029c6915adacec300979995e7d9658084a628f53481b9ef10df1645c3e71a85cd2016899283c23a522056b52efe37e4d71ad99072bfb59e1f0c33b1a60c57ef0c3431846894aa42c4bf500e6117c809de06fa8f37cb60e52671f5ef6277921e98fad34bc22189d1587324499ed277ec15518012d8d5f7035ca7b57047b2ec63f0914cdf247f93d4886bd5ede35c9b584b2017b171a03c4e7230f976962b4563354d2b797b8f5596065752a029dd38288528372798ca2d1f14714ad2382799e48d6cfa9acfd6e64a5b96ce4633b3d200fe359a431964824f49106c7ef9b4357b1c5eb76f943531aac8874c19c9848f70e7f3eab5413c611e421aa50da7abf11715e7a206f1a70a04bffe0598e02ea84b7e3b52759e20623c876786802ffcfe03390b84796197bd757d4722bfc8bc62252b21792800afe05640c9eecb78030a871e7636d70b6e1fccca5d97ceff63d1393ffba316026c8d540221eae41c7d7979c48ecc0ac2366c20278d9580b545c06347ac702960bf30d428b05376636cf28d22fa65608da8a14c78e5ca9722357c7e4cfe81f5258a118cf99cca8612994cac77938de4fbca815b90da0e5b5ef37bf7eec5e82883c485104f86caafd8d62299c6aa4bb380304d75106eea090c505f3ec63b5797165a06aa0644a35aac5fd45354c73854c511522d8d296da7a4c607f7b4b9101c7890e11ba5a761ebd13635f89263bfda9c2d1437d93ca6ed5207ccd3351696615c3e38dec3c573eeb2060d9fb537341271b867688b7250724f9034b0869eb5065cc301cc707bbdd104a671ef1f9886b65e1ca0fb5f4663c8aa40b61e5bd3f223bb079c69f4e9c65f189790b8370be4b74ccae91fe1dfaa5b6ab8f64c2b699d09de94d76a32f7870ceebc080292118580ce81245880c8b1c38d3593634acedb3ba95f466fc696f516221b78d31f7e465899f1f7a4c51186beb88caf84acc927ec01e6511278879f82d148b793dbe12e8719143f081078f07cc398ea1b6cb04dc3c0eb6c5ab4d9dfb0f6040434f7d4ee7297969685378801ac5c47d116c3d9b0821367ebcc24c49f1f0c994710f63473ae16d3bb40915b628c9dedaf854b424fb40cefbd5952da6da6b66b9664b221f1b2034a69f298d6dfb80dfa287c0745bd509539da93f59d5dd3f48a1d4101f735da0c9744e13d747ca0dcb5c454a0e469b20fb731ecc128a0a287d79882f8045fba1ea68f5e7f39b35e3b297da4f726f8844456e13c25d5fa250f331069ebcdc32dd9ea1ad0ee3e6fa8f8613a17c7897e6efe6d11836d4c69cdf29797185ce1f911b3169b5c97b7dec1ea770ef2b21c4837ec504b3c821e51630db23ef04ed11efd0f26b3b69c9397f8e81f6cc50ce8295d25a046f34e6b9d41254a90698b71f2189941eccbee55702600023f56d8428a07792c21ff0f107a9fc1bbc76fe8bab971bb7f28a73c7c5c40102865c2379cc11f7fab4e8825fbe2ea33c7b1077cae239baf669d72755bff70525917cd3701b4123c624f706a04965ed5bf3a948478a013af784e13499cd4a8197a2294168e4459962361beb78c7fc0ef6cd53ea06b8116604d32b48c1f2221fd14730d041925cc2fcbd209cea8bde59a6da00125eb061c134ce9296186fff42ce22dfc1be9e8d11764add38aef160bcf9cba955bf44fae46b3172c3093b2e62f3f5ecc851f6614d8ea4a2b96ebcf20c49dd2743a23b049ec9175d7a017380543d8c94630046ea6746454d0e6839e065420c3ee726df8bfed395d0fe25ba5b229092a591d027ee055fb798447061432ca87a6c2010de3f4dba968f91530c9046dbdfa0e10f2e782a372a23b0742426daffeda60c6db2747c902507fe9db8d44a3e74c96dabb1ba2eee3c7b44c06ef19e0c97b802f89edfaecc6c382a77f388fc8610762b98a6c60fc14b05a4bf97d6d958115547009938a46eb4bd31c249dd4c354dd3f14af51d08dcc5367f0a893d49ee4467bb461a8f795753d84f7100961a6b224e250afb03c0977015b0e6f730f4779a8cb51e3f4b8a628da54d42fb003841387b2c526027f611a4fced5cb309e7c369f081e680fd746f34f454c96c15fd8e1af2ccba1e5966e51eae30cb2fded4f9c682c282f5a0ce048c7aca29d64cb0dba8ab9fba2711e32d96b241cc4a32ef8b8892dfbc9b3a5f5e44be97e03b80211fc7d3f1ce7cc3cbf8628a104b315e0bb421fa47f16d245662566cff5d40c9f6f06b6174a1740453e6d08df0b21ca5de5c618051096f8f40ff78c35e48e7794942fd952ba961591f2d4a4ef4d01b3ceccb9d215e068fbf8739fea2338a85533a745433f7b24fd0157b7ab02935ea8c4a706ce11af039f82b42869a139eba38345d6f41f170e8b49d3772cf6525ec1cc3f149bb0dfb16f78d748725617a78cd7bdeaba51ab6410be4432f6bc8cc403d01390f964ee9b1065d00a3cc5bcc25c11cbdd12d8cfadacd1f286ef2575fafc7d83a98c93b4c4fe52c1c68f9bbb376e4d781e1a3efe868a30e60e134d33affd093adac8d6b565a8e3dc9b458936887d4031a2854adcc8be8db9b7c1945ba3a83b8cbad5b12d034a551ee250fd02e0313eff3f5d9dbe3e3f73ac55674b869cc728fd1465f2e55a45def1125cea4adcae61240bea24da62a7908f6042f592ac5e125933b303621585aa5d7a0b6c5623bc99bc195fa3b5813fce394e523041f46a83de3bf7609e83a226962e3db4abec1e2a0627066811bbd0b9829a2e82ae8a217fae28b5fa797faedcf77635b7f241011c95353027882dc4d9415935427958989a402959bc9369b897c3b55a8c743490697792075789eb0b83fad19030a5fe4579c8ee392214530f642cc4e0be40cd058763bf1f139a57c25a84b504e4bdb260ca136e1857ccf0499ed3cfde193eb16ed4fd55ca9f81efe6805d6a92220504aa0dce3b2a183e7509006bc7680bc0affc13222a17d32cee6a932e3d9813ae8d8b2c14884e7b5a083bbda291c4a029bde2a8549c381313920639b6db6262a664c71ab5224abcbc45c6b89cef829d1884f3919bafb317087331111cb921be8f5a7b4b006b6a4b535c286a2cd37a4f0043de7ea7cdc19e46770cc45acc2e13f52bbecebfe18812011a465bc55649ebe08a475ba8a26416ef578306e88cd7b9783a37e63b82602952a3296a54eae60bcc5aa79f3a7f004c40f57bc2cc67a9cda3c302b8ffeb2cf5c3983d432e6ed14e523cb87d8123d8f4f26d4396b90cc6ee568f614bd9a22305c4e6b8de65cfd127f6a1f525b8d55e66265a5fdbb19bfbdd7b6c094c5c9be4ee96e8b6602b2a3672ad327fa0224e0d058107235b7e58bfa483c1b6a11dade0a793e3efac9edbaf474af5bdeed26fede0b54c2de5ebd78e5d7da75cc88aa73c6b52ed998c7755bc059283ee16b51f818ce5cdab173c98fcbb4cd68c47b679555b360014e11913913d54c39ec6b2e7c1215224ee5bc77c90860939c1b7eaf17db3d6c84769facadf41001107dde73a8bf7edf5e932575bfbc68b47568069f48beb9814ffb86aa4e6b1cf928cdbfa24d914450243037caf47aaf79120b2130a1337a456b5e3386ba43267a81ed26402252349c924391df469f9b5b76c96774b5ef6c47fc6670db10bf823b9024ff13dfafd9c785f7c0aec0824d7b519fb528e7f14fa9f82d970c2bfa2be04e38ed2b68a235eb86659352a93ef722ed86b10e9bbf319cb5743780973c0e3434c31fd17bdcd8223a8aad59deaa73d0ab4c208cfa157206bb3671432fe2c739c2afc5720d91674aae4887b46fcf4795e20228543ef9c42d2cce98341054061cd47d4f5b84fdf221b1466e88d43ff6c0b34e43500c1e468c11c28d52e968ffdc2612d32cfa81e7b1f43918739f8c9a71385ff9c31f5c1838ab2bd1e388850354a8069c43d998abe32c465401a417d862a50b817f4940a91502753e05197d0963b25e9c5a474cf4d94c3d89bdcd486e545d0736620226a1eb0388dc2422b3bb6917c9832e697a4d444174fe601c78ee4eb7e8a5a1bb3aecdba34cb4ca474b327c78707fdc7346f7d74c0a5ed1d320a443fb080287394f4905fb8860bfa63cd77008f06b5f8085b2fdf4c0125c4f10e313e7c1c949eed71e37904abdc5cc20b1503fab56839faace27c871b9a465da90904dacee2cb5ede4033f44d6ed6acab086b2cc3212529737536bbb3bafdffefae464ef86f8e40ff0edaeec17128020cca998e646491e7c974bf4f8ff326ca094cdd0fe834d5fe920f4cf2fc050fe06c647c8e049cf64575d4f607f6153ef7e09e59904653cec7872fed387000ea76ee1631699af4bc3c3031a90f9042c73696a45122754fd9374cd7e71a2b9a82a149b958c5f35dd9b1baf36f6daf46d6afba27242d95581abfdbea3db66076cb40818102324316f818efeaa05a21aa16c2c858a3cb42791a5839b4eeccfc4cf8318a87a4f4c4f5abd757f541712aaaf8d1f1600e323a3498d5f526c7c23d8b90682b6a86710a848195e61e33de3d05b455ffd3ddaf47b421682fc2dc6d640cb161fd6151d62b66d6c241fcef9e4f2b6661ce415c35032cf94ac1a523766703f7ce23c74c35e527dae7f50b0abf244b68b4d35c29d2db56a19ed32061c08153ac71ee053ff615d2b42f9d854f29d7775d274c1af9a67ce517aed2c8ce58536c096b561d626ff5899e84ff10b480284bc0092aff96a91944cdf7320d308f626b39558612ccff9cbd39e7996987985e8ed6dfd4d709af070639e1e04f2ec74435c3a447dbff1a59bfbfcc2199f34d3b34cfc7abd045476894b99ee9385b15b51a861169550a5ddf10a36adc848c4a18708107fd883721bda7e04d56a506815f43613ac1d0a5d5383f02feed33af550ea3cec18d0aaac91fcbd6dafad84fd66598e47413824d6c883b709be868ac47a44c98e5f4f02e712b4c231a4dc0cc9267eee2cb6d2015960e372c817e236eeabd68947bc1576718586195e0b124afc1c1426b32439fa46098529d076b1274c76ac79b5082bca939c219e3fc46b7fbf8dda737a947aee31bbbc7c3a0c60c6f224b3673693f45c0496134e692ea6cb1784feb3386337d0efbf4e320b9ec54e5fc29204044e3ccf23c820cd8f0792118887757e34e4a75f189d87b64d6db1e8ca86e45424c1a15baff8d84cf6a51b8734b6f93ebf54b4df6d06b7ff43ce0dcc4cfcc136b6126a10f8cd0ece08318af45ecce9f8cdc795ea123c9544283bcaaf3159e64c3352379e85e659f8b49ad872182cb508c41f11be7e545e85cafc5b0b1b61df72e752e278d8cb0007a052f6d4dfcea6ce7b52381313e6e8f40b5febcb4c6510d74d16ce32b04c7b840a180098413501d985dbb93afa9ff8ead39340317f92ad41ee089603637a02ea04fa5f035c0a8474c7abf61438b4e6cce2e0d6ef643e5c1dde74bbfee7a040c12bc6bc9ff05e302c98ebb58389213651510a59dfe6a3699d572855ca8d6761e15b70d6303d9014fd38abd024d0971a79fb23441bf9835fa5f4a55c7d5d6d1e17425305bdb96f1be412e6a7f1f87a988d1079dd35e856080be50ec2f83e723df9f30d7864fbe2b9ac2fbc9a99c4a4dccc0188b92628ec54ce29f4f11d0238077eccc891a3991e9c9cdc29991107a922e4ec60cf0bd8ab51c6b2a3d28631bd8b6a23ba38f482cb144d48935bd439d43a47d94f53c7cfea858fa2c1bceab7364f26467fa4602f91a66216c60b826c8fcc28472e9b7e794432251b5039bd1a52d01f988bf4930b5e5c22e2ae41abaf9e1e8c4cf0ccaa55cf522f79668d5b00aa40bd9a299984028c00a1ebdcfe46ff3152de10f53dc8815f965fa224efa402a9c849c80f78a31659256ced013130395c7eac047252d20e88e22dcc7c06ebccee67804906f890f9cf6565a594e8a851a1be28e5b7e5bc24d985d0fa56b475d4f385c3480a387ce667099f9384ac1d5b2311e5397882a6f55d2d306880f02669eda4914fcacb3a6590a5bdbe6fb7aeae4d2760f2724792053f34dbd59a687098bdd5437ad5267425e9c5068041dccd867996a59faca6ad1043602fa69616b6fd9a7583266baabeecc81b06eb763d9ce2534afbf84aaccb26e4a19d363b882ccda0bead50970f5127ca870351e4e34fbedb788572c6811fd968fd699a65fbdbbf4faf207f7473209d8d0e86b45d4d1a2e89abf880270bec2bc6f177830326e4661f8582cea2a2595559d17d8813ba8617385a0bb315592ffe2fc80334bb173fcf52026e9ea550e79e4d20e41fe4b7a2ca31a3f0f3c62e4c8c063faf3f6c65e27a02720b94f6fe912c89891721ef2eb79d281bbc29a50a44ae99f95e93fca4096e827f707292f6f6c77a14563a2fae642a8fe633095d3cd5f335c4ba90892f9366260891bc831fa829e93d999bc4782c4c66456a52b5564d18e2f3026955db72c673ed777836d0368100a326ca828accb2c4444e13a9c19eaed90f5ad818a5551362a0fa99e40ddf6d231f57ee18c324c79f040ffd8c85c10910385c150259e84a70dac461ca5037e2b6e04b074a619adac70860741df0b2b1b2813f16e647544edf7f376556bf3fe93e75048bb82b74a9f968662735eb3f922d9e3b022f0fe938f5adf73c0b33b47c491d7249b254097d124a8f0e965ce9c493d0db06ab0d1f511ccbf99f20ccfa2305d3f1b75e8c3ed50f575ddb99f8e4917cab4cae04a5be7dc9b8982cb4686477e2ee29cd25ed58c61efb064aaaca4698a94bccb50a2abc1560507302e3d778fb0171e3d49b65334914346782813303c797ad1290e3a4d43521e3abae9283979955a02845e053b9a455320520cc45a69a6a854b4ec3676a44dab722040867d9a254cd4a5a809658e449f77a66c3a0378cf63b1dc2dfe1111909eb04f44ddfc17568c692455874a3e582c5559f95826998be1c4327d181c86f58c741df08057652bd5c24f26d50e269b9a217ebeee531e1b97d8dcfe727a50f181ae58cb9880d9ff6270aa6075dae5084625a2febd9a90e7c43bc2fb42f9e7e6718ca53df00b74482bfe7132a26aac5453fa349288df783b0c79bcb9d5a0673f25629e879427a123fba8a3adca773deb385446a8eda0853ab32fe9040cf72cd1fbc930645d0dd555c710665c51174826b3dfb5c3b62bd885cc73a0cf23f1a2321ac78742bb3c1b0398537bb883cbd5e876d1732ac8a8f8835dfee2c341661c4c4af1800e8d0ac392b3b280b26424f206146c1d1e197a4d5bf97d72974cb0a076a20befb897180d9c12d613a2e510d7400e87debbbca2df27cdfd03d7afa501817f52357367612e6f3a14feb11908abedc4c10991c9092226dcd8fff85464ca355359a7e7e3e5e472abc1856a49e55dfc58ec66d2f30ba124a02f096eb56c45de84bf71f3b3097b075a6cd07c294e94475c196a153982c35add9fa87df28b02ea354ee2223dc067ce3c39752f62a4f21d9131f0a163f7a7fa7c25179581228073bb976242e3f7aab6f96df0e12c4271756040bad7e15f53fd256ad32fcdca042d28c3bc5c3dbcf4907427e1159eef591c9ae88050f44686c33cf729f09103e0be518669c131a26daf242d180104b9b24877df08ff0458a7ca973d67e05478000816b7e8e55cc20cc4c16cb782a925a3b41e77002bfdb2ee089592b0262201590ca3a9c1078392725653ede81658db76609f52495929a28e9fd7009e7dbca5d7c403775a7328c29e2cf85010bf56d392d7212fbcafbe19c3816f339c9c3afbd9eb371467b1fb771456ae5875aa7dece02f13c0b8971e6e1158b648d0026ad9275042d79fa8dfc2dd3dd63c0c4ba4a35141ee18a137839de983cac03634a977bf4cb700525fc1ebb8679119f0b0bed2753456851e805abfe4ee54e63b81ba9aa800d656d94ed0f89971d5c492bbcd6f64ceb981bdb03ecd1bd9f87d5813522b3ed7f10bcef7bd2df1379a7aa1f61c38db5e7898014dc3077bcae201b21cf0354c282739573c42d104e25a5781eb8c15490a224dfe995f5b1363b8123db846969036175643f993e4d5cfaf50b6d286cc0c48b00f87b4b98ba63235ff5a13cb40a3340975bdfc06e4a7c18082127534ab6b4871839899add6603a0a004824859eb748230b56e208c71ce72d838ad84767213b082b4c1ecea9aaa791248854049484b9fdfd9cd27448195880f39c3bbfb89e6c9edcdc2f8bc7dfa7853cdc734286b34581ff04f204c319bff8cd98abdf6c15a68cd39e5df65890fee70b6aa19b017b4eba578e315358f6b907bcd820a7ccebd751fc52ad002a04ab4dbfb53014e3c3c972d4db64160b724878468d0c82dc254e2895c4a61f562d65876011856b375028130029c317b3b5be2b85d3a1eedf4b9ae2216b81f7b83c3304a3b1a509e2c62d44953f8a61c77ea3d5413a02a2734759f2dc1fba82744dd224b7b806b2ccad48a182436f5dbca3999324ca928a2da7d89247b79adcb0490fd695a50b16f2b2dfa422cfec8de4c98431ea91c50e809f041c7f07c47c51635724d4a6d096b5bee42d5cdbc30f77bea8bb2d277241ce11f80ab4cd50768d7b8751c833a6619e2764b0757ec5bd943cb63ebd324a410bbe699a4ff54a0fcad1fc851f0a3c261fecadda1fc2b99d2a78ce95d97b371ccae5bca879d1be475db1125b26ed9b47da11263fbc14f1c725c4f0aa33a7b1c124ac83897dff209abc6b7f742d2a4aae4c3ed08a364b0b90229b90a01c2a24c9e38c7162d30256270a98c28db42397b51ae8f7c6d89b583fe5ce165b616d6a763d914e5a88934a3eb690f8616540dd212aed33be7589604eea200cbd15242c4cdcf9da762e83fb4685cceb8fd563bfc17e2709949fb1c450b6d97988b8d024d7d4d1de46f5fb8f46637fe4df98ebb94ec06b0547354e4793a5bdcba0d27705104975a3ff9c4b1ce9b8cfb074e2618491fc1d5ada7f7e76d3dd5d04b96e077a92444bd588e3a25c449d51caf77ffa6d118ded432b6b5c9c339dcef27e9cdb5b9bcabdc837cff8fd4483b9edbeb5738ea2bbc6f6e023f99217e52cb077a22a1a4a35d5d0681e0ae481ba71138b6aee73443c44f7e375680b4d08755add6f6475b40194d6ead880b2615057eec7a189f2a583d3f8d0749fe1416f498564bf4403830fac277c60960e70e7feda516ab0a4887c406f23c2569ca25235e0840d6822a8740f5ca393a87a56509a5b78e68dc679b7cd282bc45f6eb346e6eaf39311961b73a2ea91c87614e5d816dacdfb41b95c5e10f1b64798ed3b458d345ea180413f268680ee184482d0d724c6bc687f08de329e39d9b23991d67299ae37d66b65f8bf20a06a226dd7463274f8cd337673a4e589e12f5158279e1557b1bdc6ae02102bf5d5b86cb36fcdab78ad1b18ed729df73b96ee38052d7dadd72868e238e6e64de769e7f6a82df98d6ebbfa67b505359479a824b04d0bf6b95a9c78bb9b73fbdfa3600af236c3b71d880eea548e43512fcba662e49354da249aff28f211ba71e8dc04971f2aa0596ee2c5078d3a889811dc7588801b9ce2793866fb9faf4f236b17db006f83c5aa432cf1b0a72efac8258b90361977c07bf95fa092b4e98af2f7ddea84df0b875c46fa8b30b9add1b2dd23bcbf12afd0a457462ef4acb996d4e813128296438378751610b9d5b40756a0ecb24751d3b9dd0bcdd3f3ca513afa77cd75b7a1e3641723308ab264835b745a11e1d578bac8d45be4b2615d2d25a6c01f76247e4e0fefd809c279b51bbff5b989c95d394107fd1ed515d9bb217a70b9ede5226cd7be8c2a48f8465a119c19ea028291e025bbc2d3ea17c8e2b849537f2ba1b7be25912db4a719462b7649d0f12103364948c2cf1b5afc2f1b43801708281c677557679835f69543656718b86f86ab607b24e9b73783048bcda1bb075f04cb0c0aca4e6384f319ae355ad3c115853d0be964d584bdafa16ea3f6b6938884ac755c247817d2b4d645ce0d14a06d2fe3137996ea3d80614a94085e4639c2422d89923f4673135cf4c6e8bae51520d428223dc9970b37f5feac522c85777566440af8f485197f2a7b488b68b53934f025ddffd06c8ee4089b871e06dec2a2b8d7a6d9d58642e369c96abd24cc5366d996d82d6322244d780c914ad8f84edfe110f0d3041b08b3dab8dd627eef6a3548c8783eb2547d05dd1fac6c2cea08e93e6b7e26f9ebe0c474a2e0aae8e6fd84b03102c178eb76f012b350c9f022f8f2b15c8a5521a802a8262887e81b2a4728d40d23a038ccf837f40f2ce11684c367cce0a778033057c78184de6872a92caa07a0b86456eb31e819023127301cea81f06e163d3fa08dee926c1d95aaa133b4b9f06d4031c5038e7c4e35aac964d6ee8958b0a36e465e4bf700fdd97b2f77919260fcb26df8df93fd1ea1be0388d8997bfe01ad146bc3669475a8a15c98128b36cd005b98fd2ca18b5aa37339c3412c8b91c04593adab6589af9b5b1c14cd5e7bd56007b6eb3ffe523de1924b31fb0e8092c37045321f9cf566b15203488125b62fa6068695d911005659afdaf0b66e7d16102fa9205e6127a90d67e3dc53d34d2799654260bcd4f7e2f6c76e074fc46909d15981eb997f0cd13b3a742741c953632b38b4070c77825df0bd8e70390948f00ea23606cbcfb3c2935f068248c866a19633bbdafe010578a9e85dc924a4da2719374ef28e9bd7d646a2dce2b0c32094c7e9281005a19a3aa3df3e3da4f9c4cae30b5a4c0eb2d8312b857c6bf21061e846a88b397df6b82bd7e6db9f439e51daed4d5479f3ab7409c4848bf4bdf9a1d9334bf7c61e950fb980505cddbb545339fa3b7f55aa188688f2f1c0042e4167b0d1a4b781ff607e43fa1a4398bfdaf9fb3ddeeda8b5a19a9d2eadc822787ba17de329a663daed3d7581b3ee819ee87e740491b443dbe32acfde51b3c619d5a1298b960fafb62778402fcd74505d74104caed386dbc33c42e5f3884bf84c25c4469dc8b560229d70acf96a3f6cf09e16fe7e3d5fd94f11fe32f8fcd3325bf8445b9502eff1c449613333c527de0cb90f2422222972311de685ed6c09d9e40f037bff4b3060b408260189761b6612ad9c7205db60dfc2d8efc0113431f3854c3f62cb6742972b9376f22f33dd74b3f5c33bc2b5857be2d8c109e7fdc8084e77922408e34f3a8003c17bfe9fa01b0db375d66d22e4bfda0d006c9198a621c4f8d447edb7bf31ad528717c5a444d21e61daf0bb07c8ea39477dd826af719bd4476aa6526237f0bb56ceb9b820d159d07f5c774443757839f63dbcabd0f92825480e24444471675998a074f630b1ce3b7ea545244d16d067ef2a7d60ee1152de571b0c2b351d2fe75cd0bada50c5b70c54b905ef58bac23bf57f6866a591e1fd37914f1d5373537fc2f052629b988b277865a8edac92006f0d44e0ca20d9704245fcfea37d79118b86018a5aa35e3937222702a0d4be2a85fede5fbebd1a6f741f1fe6fd4e18a2d4751db497d0f2135b15a7685a38c3c7baa4192196bdefb1b6cd204d4164ace85c68c895bc590ee2df27881f23ef709ef622addd96759b10291980f752d118d08fed6364a4cba2b6588d1979b5ca6cd989d9135805c363533cd3b058d8bebbcd9506bdef666923aded9b7972bb48e03493a2dc1d5c9abab6f78ca6ad13d0529510da82738c0bcd0824a2c279ebe89f12b7ccfe1215be71fbf882329a316490e1de2ed0dba0c5a3a41dbe32d8075ee1adc1aef045ac21d57df6a3971067c6ad1124d55c8f398a214d5737a6fd07fa788f5f9497f6d9f3bfdcd96f31faa3961f9fbae790abc3234518a400f91b999920c3aa30513705b81028136bce4adb7fb4f5bc0da8964d62c3040534daaa73b618df70d81996b1033b7304a067d3e3e638b65249e3b5dba3e433a29960759c848e88be9de7344f6dfe8afdfbb123e9c6211d209b17549f6fd1648901313ff40a90c10c1ecab752c2149db16bfdb780cac4ed627a0b4f2a4c44de0fa378d0ffb7f47c8968ab81f501481b470efe4ab81227b926f85e2f393d47a5dac19b4c00a7b6bc3694a58999f2633cbbbc80858c9a76ad5f6cf5d38bf8324330561247e5b6a0141651abd0961d1126387f8a3ab2f590ae8c36738887947ee2fea161d63125be990d58fb1daae13f135c9cd8d464e6c0279f641b9115d1497bb864a577983a2b84d41565825bee59547f536f256fba4a3ad8eb36b29d8ca8bb855fdbe9f9396c2681a138ec01434d61fab6ce6744d71221100c71b95b154c37bb2a9155d40ec38c92b9ec0e6cb36e4d1d7c4a909f67c1f1666eff3656afabd047fa799d76e862e3c6fb5e0a01f713e5bfa029acdff558c96e58fa57992de17de82220bdad1ad5a1d6a8cb9bcc6d641b2e0aeab7567ea9307bddc6a3fc1f19c614e6ca984f3550aea188c6b0e6cd7e3ce1bad72d2ef8f3c8aef62a5becc838e9237918abd51752c53e1dae24861c0ff22d9dd14fa62a4cdada2735be54990b4317b73b4672ea8774e656fb0c46c59728d12467069ad6ee27c78caaa6164960eeeacf700879f79a3d2943128dd75885476dac0199148a8dcfe20d0d03a615b8ef8b459513613f0a9201a24203b0f91ce052a7f2a5a2ba5f7753dcedfd0d29d1ffb898756a6316f56f3be86b702ee0cc97bf5e15b3d5a6d50f4352ab6f3a6e27cadf9ad47fb62084e883c4213bc1c382962c88604ca1d117468400ae896c0781800d5e47baaf60e1475e28559f22c5f22717b8820f146b9788dbe3e2b18446e5d19278cbb4eea9fbd8259f0b7fa248904d24e9761f4398ef543960bb8c3555eaa08e0cb70f85aabd057003ed0e66ee8d5c5ba6fea1314ee3a1d5a1bcdd5a882073ec9147169c94e995956477de4dd596c5bc7a586ad5a9c187655bf89a2c58de178bfcbdfdd14e04247ff008377a34d0ac9ec719de0037132fc0e7b2e3796fb8bd3852953b7b20672bdf82eaca3d2cd79d0ccaa73bd633086234204cfa4825bf574bd7c8f6117719bdeed4ab5595c3338201402b1c895966684d21593b81c3420390fd206a72217ff690550f0872508e725cc32d55f27930b71c546b8ceaa77532c94cce486638ddfb57305f729d95a2f983e7a0a07f27f90da555aabdb75a0f2fc939977bf138678bf14e361dd90a13952e7ea938ec2732f91da892132837b69bca2a0ea6edb167aa9add7a596132f9a9fbc41f87cffd4409dfd667c7356ae1f0f0d022ebd3ac39ef8d6303593554ac6e50779a7dec42883188ef95b8b217491df3ec76b496285a30bcf19a69d83f82c1a19d986ff28476abd71b9885d62124f548376c121ebf9746c79b944b331beeec432a5bcd9e1e89ba4af09145ed26c9e98422772f9219eeede52bbf9e4bcdc631e9ecd376499c4e57fb03694f46bb2690d116e4bacdfe07c70956975f4ad2208a846f6cdef4667dff681b3517590e8295d8b6a427a7766bdd2d1d7715d23b7034acd045a1cce9fd6a05a92863c32eca5cd975aa189f863ce584d5350ab454149adfb16cc33791cc6ac2f4c431c231907ab42cf2fa9ba0af7583e2b3924538bc00fe2de3d27fd535c512eda3362265cceb4459eea5d327d866a22f39ea63033c38efa028d1afd41a0a997da0ac22a7b92e9b8fdc821943cc75f121365c56f7e8a2aa579f2d13215fe3763cf47a96f9abffe7fb19530426d53327ab9921477c297ec072d053f769ea15e2cdcdf058403b9e169a01d17b12c9c0b8204f97c023ed436ac0d3a06070082ac03701a4ff90963e9f9fa349225549ba433d1b51482464d21422b5b294642a7454fb1921d7054e4e7795c49d6f7830c6eadfd86eb9de9bf95b1bf79b696629d5bce711f3068b69ab1d20ae3ff3702f75749d1e245c0764c24378153a56843a2b35f2edef8466b9e8e24c6343d04f59a2273c88d4011ed0c1569f39f3563af5379f9e4717a1547c81b93cf80adcd53d5e0ea2faad10468e5c4253ec4e64fc6ae642c6a5d75ac064668f963acefc79363552e8b023bb8626918453c5c2aea29f890ab235d3445aff5ecc944fd3be8648e7d590bc4107649f0f397e1c79f64e7535c087078b06e3b5cb093e0861bbcde84a2e2d34852dc7e70eff100a5f1ebaedb960cfa0a06af748a8ed8a127a4306d814675218809022def2283587d07bb9f4aefdf9dd7adc0c14d8925f654d2f30b2e6d043914ceb1e43efa91ecfb6636ce7b1e0045613fc8c48446e8be9c3ad38d2ab0c132197544955fcfd38bf807630d353283e0233f236d92c0945de46d2218ab02aa1fef36de656822dfd9c112f14cef04613adcc12642c6dc573068fc6901efc486cb3bf4ac26dd12feb6bf14e6144183217155cf423c4d259ae06199a846267dab8ad4d79984fdb0463408ea1fe9f995f0cecc3a2ea80a53da8750017cb5562cb147b08e7ff6f9140e2a9bcf4dc00bc06b5c6cd8e6dd8f1c22251867fbae2ca10fec010d88f4030b570196aefc0e081751d679d997f77acd2d5801ce190f566ba2c8ecbafaf6c5d2d797675cfec63036dfa4833eb6592590c56ee625c3ca4760bc00ed76cfc80db579e6f0d9748ef0e3002384669deec05791439f61968610641399a37b8c3c4f96e89422ceb0a1cbaf92414ad9a43eb746ddf8f63a4789ee9d71b2c6a4af388ec05cc96924a27994ff28b427dddc4c7d56ac14e0890f7a28d91803ef2e78bc2f0a3fee0537364ace5cb67fbd54313c0ea1996402ee82ea06f23366e75ef56d4da62297ec20f9e005a01da4a27000ece21da0ddc1ccd74ef98702dc65abbf3b529ba7d414d9cda19181cde78c7704881ef532e7077004a68af8356122fbb0b126cc0a48294649872afe2e2940ee66fc15b219c591d327adbdd11a09f5c2cf368809069227c28544c5b7e8f25ddeffdf651719078b68c4b181df4636f2002245ecd01cdb00905681d6b40fdfe7e383393ec6daff6107f432efa871d7865e1bac5cda9c6f8a21dd98d8d2b5e32c63cc24c458ecf1b3d7fc7ccf0340f4dae08c1f0147893592064c0b6151da2553149453d1eeeccd4e7f9193a6c9ebcf9a60e179807d613fb07da92d479cd20d7dedd2491fa185a215e931dfe6ff40a6c1a3a15bc0cb082a99cddf007d2d1812f2fdaa6fe4bda22a2f28c03f268d76775834f389922643e2c8114355a06b390c618ec7975e07a3131ad17ac461798c24e0bd6fca97fe057f8c9bc72ce31fb2654c306fe25beb359b34fadf6a1e0427baa622deaa6f74298c52b2657f5d841e60423fc1b9eb1f263865065e41c2802dc856088846223bae5880485ca1e2e6f43c8d9350e45afdaa4f46df20f9ef12deedb5a85238c8eb28d4018f3e863879313dd90bde21f1e3a0c33100e22d23e66c4cc95b1d4c067d7ecfbb5769ef91a82ac5d0f0ef9515dad81d4a6555587fe84ebf6ed16fab94064e07ca24b00933dbdb881d1189c9c41c4c68b9151d7e020bf5bb0a77a51a7df92d29c583c72b54d895080826b1c24d12e4d6f3f9e6aebbe5990f9e656f89ae980d95767c7250e3616135e4f346d8457b2528503762a9e960e82802164088989939971950bc7042b6fdb26048cd416193450db2284e22f08ea1d99021d940ac1ea3711e4bb99951328c9d846e65caa182626d2369a81963aeaf79e2a96d85857d7b98f4799c068d7b971604152f89a5d228209ddfa6b673d0182dc3d18376ce6de2d23943e942ba4f74f19f2e6392943ff84cc847255e50cc5865e068d871cefc4236f2b86f29d8c1ee31484105eb829ce38ad1cfa127ebda9f8cb3bf5af5eca17f437165ca673264d0e528f934abef72a97252e2fd89a734fefdb4c65f76e181aa89fb07f23a2bf945407cf0896da17d91f705af9743343c87df69a9cce190638f3882182f0a38d8a49246107abd9c52b3828a004babde6e23538f59b4ccc043c614e2b016ec7a112cbc169015e9c40450b75423ad63791ca46b9fd0a460b27abb5ea265652f535c6b74270fc5c8530b0348e6ab7cfbda24c9ad1496245868b09e38b76729d670314574bc7af6907df32ff0c909413b4b3eaaef94d4855a69cb7487c0f96dbaaa390e6e3a48db58221d857a54a6e7f34774c836227fd147f80d31bb5e8ed74d848d5feb32227041720657328b86d302b706bdc38f851d10f29771a148a0bb59032299ad387c534da1594c59ebe4a2076189e55c69760d088877124fc3c72710e640adbce0bbd23a782970aa3a57a7d4fdf1728c12c22facd4416348ccc0f7795f153935a4e2618928770a213dddebf5010a6ffcd4da6a72fdee81d5f574ecf671d37163e976a38d34c1005f383e726ffc9ad2b77e36f5d41222129ac5964f3be974d3fbd4781d2b60669692b589fa65f09782c8abea2a87ae2aee7fd6929d2aa67eefcc836dc314c8680b986e78ec83b624b88546c40e1e48017770b5f1edc002c65638e7f7fc8d08f32cf6ee9d1ebe74a3fa135dae553eeb6c0bbdf7beb41a50ab0d3a7d248e0f3ca0a0e41507b66e6e9fb39e9581ec024ad37c1e96cff66285f89519f8d622ad2bbfcd7f9ca83eeaba363379be0a75ed76725de59e8a218653bd3fe8fa6c6beeaa367eb3d6247c2fd69ab380cce08307301333fcf09b9e9d103dafc9647fc99636ade39f6a4b5a6a63da67349e191ae29a7422ca1a6d52b33453df663304c1f641b56379379a8f55a5cb39082966231d574d9d54c705922f8121f3a7b7d410472c97386a57103e0ed06e5fc670e8171d9711f44122415b2dd6617c6d9537bfce944c620b98b060cd3a859cd0c2a79bf38b30d3db27e09870fa57371cb90d10fac27b414187bd38a9b3f56906e9942effd2ca8573ccfcbb19c3f10721a99b5d91fab927ad2e8ec8ca0e414f9ecac9de682b6541b970ad8227422d7e7e8c94d712b802d2ea48914301b3795793864df150ffb2868190936dab2bf7fa61c428d4e4728e56d036191859ffff5069b3d04d4b8aa78863781f9f772fe942dea90a6af62be7746fd78b161f0be49bd22af4d2930135e6d2a5ffbb1a8ca7b75cc6b82a860425179ddfae28a16f5775c93c6811172cd8f9f9516e73b84449289afa519704bed1bb261a85ebfdf3e7e9e50bd34cbe68e7d5d655a8a6658d2da2d80d597071ff57e3e4a31339cd557a9fcca382b720ef83b2ffe3bbef9f81dd9753ba3c1f66b7f93f4fc7b3bc9076f0cc89aeafa6785e75809a79bc02787279aec50965b225c540b80bd3bf585a31f521feeb902b9587a2b10daf98757376fccfe958eb8552709ad49d808f2a0ab8eb29fc3b925872a9ab4c2d69dd052a7ec7d8d2913d3039e075902cf813ccc5e4c4b77ce85c0cc72d483bc16750c12c2ad45e7a88d78d2cbe114caeb943a52050815c19b47067d53fd98e42f9f0c1c0aca89913437466b0a40b23cb7353ae2f9c2e3f6e0965c61974b722d8aa6c578440ddcc99e0e9c83fa2a51ecd0e4258b3f7da95c04b14f3cf82f1ae099da62dffe5d478b42d1e068517d40cf48e1e5dbb9fa433dac136b0f50fd277da3c81621e79c14c8e500cede20be9feca513be0bb06a2b1cfcf6b3adc7a4969ef60887e912ae9cbaf1c55b8988861db541263645e5f8c4e9c0d8689f7e1bd13595b03d7a76dd83c2d8dd7750addde5b481e49b546b0ec19b465960d2107a84afc784aa78974dfb8977b78b901b409424c0fa340cb1295138ef6e681d27005a4c4bf803b65dc2f0468d25f583cac9a419d9799e7729483a7f38f6c1cb3aa20f745415a0d40d03fc079440ebdc42703a0bd9a1d8d53e2fb6916a1a526563813e1ba8da50062d6bd4c3f55a54eacf8b57df72201254a0b94b3e5ca58633be54012fdd5d8e9b49760ebeb3e73d95d7517465827fc1e1a27498c1ba2bbdd1123fe87adb968b3aa5eff0736446f7c40003fdb7cf5c65598555c3089e8fbae3e1aa3d291de78482f8965979831e40397a8d501ddb9e188dbdb7ee67d307a9449a8c299be5a41e37e7af5d7c5a6224618c8bf36067969c5334701b5226f8286747ca317b2892fa0f0294961e98c1cac324b0c310e66d4121bf04ba95e19d6f913d0356fe3446016ae25cddbb2dc7822c6c9cec45a7ffb7bb0730b02134249a4140e33ea3486e38085b2d42cad2acdbc0a11d16d66fe44c4d8596839510848f68da7431722a8928806e47f4d35c6546c317b369ed7178b913c2d750bce7559fac716933ccbe0c11951349458e66ceafde9822d7720bf5d3c2f4ead5995c8a754a3b32917b83f3670fedd137562fff91a5de9b9b369a6e43138950c965026eb029cd8bea8860ff059db888b3cae5da59736cd6063dec32664637b2b6a6b822ca6a53e85ea2e035e4f4dbcfe7787f972c4f758cf3d446b6250e840f570b5a7a5451d5fded7e17d5f8341d50bcb2890b3a8418847a8079ae05087bca97b965822b1bbc6d7de0dea37a496996f1a7316d2e91a0c0bfe5b8fe680fddadfec2bc66ff3d9456cd0ad4312288bc2076abd8b5fdfee064c5848d3de224479b89b164f12ae8f5bf5d6c7ae8aa45f8041d9e6493b0a6f86cc8bf4c8af0930f6cc1fa4c94b9ed570411923cb170d054285db57f94bbba2dcab7f8ad851803c0c38b6d933a42cd625ef365d6139f170bf1981edc5e43849cf464835d9ad798e123bf59f28d9101f64f59739566d409a36b3544bec78e673b9e25cb7be00a7b22c802b77ab510e977619e861944fa801893d02f6884520a78a9aef0238107ab95bfab700029d1e9be412bbca374c58888295f75f960ec837faa7d515c9d582fb404ac7af147617f3e35d395615b31181b34c5625e6a86c0e204eb61032c94a8136d414b29194c41ec5687ef1628d94416d867e7af81b4a73781268dba72e3de98bbf964ada08439d05a6813f893eb98ed3a6a649937a24cc7f1b57a9dd30adb192f4aed6236c0f1628d88f4ff69eeb7c0365fb21d9e847bdabe2b12a4296fafb445fa1e9e890444f853e8ddecbaa54f11ec56e3d5d0b4f7b8630af2787ce0dcd98b77ac139e764d672dd094420f45ad04be75335dfe468535b79afc72dc9476c4e8a6dd29b13b415dc234f125f0aa8b08ce16eb58dc1ec893241126a84069ddb01aa92d657b0129431cf89b04d77f0900133c6a2799f630299b78ed0ac9e937c742faa582febe3f91056a7ea855875d98e20f67921ac7d49e35d68e07bac7615e64218816b7e1234101604ae323a676a004bc8311fcb6d61789f26b8a3473fa25e07abd363763470fdbab7e9514e72de67a64087698ae4a05f40f3d80f4d5f899c041c01d79aecfc9e4571aea48bf21a0afc44987e7b29c377fe758254e5e743e29bbf42246df25aade19903112b4ff325bbfd667eb1f7a02624bd569cd0884f24bf26bbb5dd66fb79373258c6535f1ded5711a29af37c48d0bb5a07119ea4c8762295ee429edcd4475f2305ccd3a8a91b3c62cef931739c2d64d479e5f9f8de213b76cb720f2e6b7e6fb30391615e5d4fb3ccf43ecc5ed5f63d1d78456ad84b01e3c6c007d3d8fc3aa52735acf6c508b0dfcf03585c4d4ce37686e9f4962b53991e2787a870e69432d0d47ec9c9030aa87693cb85d4416cdac5b8003258c3ddbdb35ffb20aec8978ac2fe7d507df9fe67b0b701153ffc7587eba6225c1623b16f7529b9a549c87340550ebd95d23ccd7b8c5e13083290e8d95a260b8fd84d1d4d45ee02ea208db6c0e39885811844d8552f8c13670c2d7e1e530c7b9e1ed30a1fdf177ccd8ddd79a0b4591e8475e33d91413b3caab47cfc653b99255851e7a9e1449099f1814f99334fb0eda533926d8b97528a44d7f5d2ee78e28d2e788a68d0eba399b4c9d0b4a57f3501618647db37b2803e73874aac7409b4114e77af8e309a331bf0d6772909138dddcd38707555b13cce0317a209ae8684f32ba9117c45111fb4f308f5445d8fc67e65f54cc362e6c0894ada29a89956d27babce3aaf3100b31a40712071811bd9fdbd1840c1f56a3836efbc41eb7e7784ddd842445ba9511ab0177622596a345865defd8344439d888fa567155a25cf09918e22e8e0d5caccc30811f4b67b03ba3ac1c8af869d87b87e735d5afd1d0f179afa8f77fae840952432aad7f94483ffa574641574fff9c47d36a98223b4adc6432d810f9fbd9574f12c4bb01ef03ca4660b1631d821908bd1030cf5b7ead1a87fc2bb7250affbc72c96b0b948b48bc527bea637eaa528a86a631f76482c23e8cff5b7dad2933c18ed63c6c5eca935f8f020801c1dbe1032851b5a5aa0e2bdb2b264bc01276a3190b75da010d2c0ef32d290757deb52ccd824966163c34ee4800987e8901dec1d7a8917bb74d5f06771f4dd791dbbdadcb92170ce43bb7cef43a7c4836387cf5c4737a56d39f7e0cbe8ad42c74aa4825922ee8a0e06684439cdddc38773c19798324aaedd00b5094c475efc4ec20bfbf6df306701cb68cc2475ce3061b8bca982c1bc67ea97a2012f1932d2c0044d6bcd1a829d177ee133b4d61dbc59a3f49f96c180b9c7d7f2cf454f81766eb8d656bdd2f56952111a2d46abff4a84754e885141af2d503603203e7bc379c15a0bc61a78ce8bafbcf02528ca3aef7bcedf860653bad64d80e400f60ba59328fbde88bb11a451ff69867d51caf3b3553770549c5954c9e01b57d56456aa0809babb1a72e53e68becae5f4e755905ed640c76571ef0ddb820848ca01d4a58bf9a43994ec91cdfb9d8c86ffd5d613dd2e1c861cef4156c71cbe429c7abadb5d7d292e7744cc90212dced0b5c7db71fb3fc82ae9399764f2a6dff919d6ea1533ede102c43cec3c0058cbca3b76e4fa55eb66e207d75e4d00b26ea1d5b9fc46308689776bf70de3e74a5c66ba9d71e8dd1385c6397fd260c8ca26a1e5c4e644f9a05bf565e7f5580ba24be7ec729eb9353c9a81bd5980ad33328cff389f361b60178a543d3d09264f26bb14bee96ecd53f44c799297f9375e47f331baa60d237a2d2c31b7133b4604336e7c7c19aa81c28ccb394184f4ca0697f1901746449349d7eb7f03ce7189660fb33e1ce7301fe21e3de7e8d0c287dd6a38afb49118bc50a05f6b0ad8e8c44409c93107720272e736f9b386c6d5a0b3d5341f8d5441c3d3a96c848b7d80874e601d940116c41f1f6c2107b7fddd97d15259e9654ce29685353e3b03aeee080debf1e03c36bb3bdc9cd6c1c77b0e12b16f195b97827d5d05821aba7831c9ed1e66cbd7e89b28e43b372b21666a1a5f55d250388dd5901b72bfcce59311bb624657db519beeb9de166ecc4b9eb932cf74ea678a75b7a675087b9c26006bfdd669dfade0edf3465a350d8b9161c6e0de32b0e80a318b378f771c28808e2799e1856cf97d3793b880f053e5351111c5db1f0edc58d1f7c456d132530147bffab8897ceafd0d0e2cb8a12f234d6e9f1196a49f3d996fb68f7d1eb5347fe6eb578c19ec73228065dac9077dfb25fc39048c2d3a1d36b73bc5059fa5df876fc26056f32b2eb8b025ae803f7fdcbb476568c113debe2df05ef8e46db465a22213a838dd3655677cfc57c8851b372d6384678ebebaeb879b1dce83800492d0d1234e1197b6450b54015f92c0f683ace6c20587402bdb1c34ab37bbe32935e55a0b963dff28f453e521c663ba8371ecbf349114ffeaaeab3bf49cb4e89af8cd5cf1b175cd0dbd5f079fa7f8eb232c88ef5cc33e967b551d3cf1d8ade8151343b256024ef88f4a42cf60d2020a62d0a91c7e9fddf699c9a97e8db74d076b8bfe9a075b948f39354131119930ba031de8c9dc9ff58062016de49313b86dbc33ee1d37511f4deda5840fa7e7973246d54426eced584066fc96fd209a7d9844e09c88c5f52668304e8f19e6603965298a52827b82634296cb4a6cd1177ba81401670e38f802126ea2b4add09bdc46cddb3a4666349fb68ff70635f7480c6ce4e826339913a7664abc14f90bb8debcdb01fd9589b9657ea5183d8c4836bba51d23e2259678af146f381661a7e355f10ee5d439ef82cc7837e4d4976257aca39f08fbf47f9e5f6d0895aa1c4cf3533ea32fe55e0fd85ac99821ecbd85ab05e44f17ebc87faec2e7817943e6761f4e039003c4e6d8bb5cc4f5d0a6ca2d2ee44384b88b3da1c5bff33e9898092f4384b8cb669dcd5c7206245e05019c7c2665ccb46aaf86b9b76311a37a8a18013a2010b3c322a7a28a51fb8956f72338b0b84dfb8a5878121dfd69058da9b758ca0fcb12ad139c00c29295add3fa89c3b4971409d1b62c857d97f8d7a492f91cd4defe79e4d851ffa0bdc3c3595d7ab7cba7067f8a31d3ba2a676807b7d75dfe5cc9f61a77bec05b83cc3b3dde04c51f0ed9d7b18512889ec1d16b8381c999b44256ec6077527ff07b3417e749c692c607e4d1f2b54b161c8caa0da317738dfbbc80ffec24aca8790a9d4319524e426873fb976b5bd55b783e63ef77bd7649cf65b274968848b950d0f50b2792af2293e30f8f4a9acd13b4250b34e8485fc4a31af99aa6e1baa6cfe5a11e2366e443774dc54b0c7b7c09c89365e17e97b63e8e5056c75b27d9695187a457fcbd3e13b746f91e1ad5906bde66617184dee9c3d23d165ffab0e846831f9266c7f8efefbecaae51ff33d44e95f9cf53781f6319ed0d0efca059d34250dee958d70657df9d14ce659d758b4e0ff9143f7bf52a07059044faa42552e1c35d7ffd883cf21fed710f4e25bde7e7c6c9ecec1d85883ffd6e7ce74e9abc896448dc56d60984d688ec03ba1b1851e21816920834930949a5cfbcfda37af0fb68c202f5fc36f26491919eb40bbe8812ed2f8e3e31fdccce47a0504ad9a1115c6aafe1471eae559ebe12a0364e31883c05019762a1f3823b9497e5b49c9b7103318423cd0f3011639ac0cc41faf09b0d5aa9d3700cb22d91b8c52b20a5582a7b34cb7f887e2fd5a0455906e48f2a983c92f98a60ae0b91524b376cbe839a2e9e2efa90b8a7efa8c4acbba926ce15fcab75b920800b5355197778d159b52d1d6a6644aa7761a9f7d78f79898b9843cc475bd5cc3bbc0d729d2dc5dcf70964fda066a567e3f2e1c5a1ce4153ad902c528293584630b5653363135f320ac0f660f194e4dcea06420cd142486da1ad9ede3c449c0f807ac49c1d73e8e8feca8cda524958880601a57363b67ab77c4e9879b949f7f289936c0df05178d69d0346d3e97826723730c93d2dd818241cf9cc434361fa1c35d91ddb9c32c85b0821f498046dbd58b16ab5b06189194a4607f04da19605d82d7f76a550fa57a0a320afcd1473492d03e01ed20590e4c62041cd3dcfa0c4285d6a6ff088b860742fc75cb5e9ee78c16014d36e5aee1d88e839bf7e37da5182e9e57f589f299fedfa0bd5da0846efb66e501a84844ddf5962acefebf12a791213fc1e1fd946fa7fbaf60eb56927440eecc5e0c72042f88d38b3474fd8c109644aba85ae130c849365583ab33819569b7580462354a27a331a8a417f9f2873044630aba35cea2a7c6610476af9eb5b0a8053430000ec51fafc277f78b3eaa6a5a8ae5cdce3d324d4f4faceb8f4319f357851a8dcf83cba06449352dabb74b632af7e96eb626f8ab4071c3a98d67c116dca0b409746e0731c9fd73fe0e23ad0db0be82685336b7f81dff2ca9232a9ea40cc3a96786da2d47307ac1d150b1c5877a775469a3119421de241e7df1d1fe464d50f7a372ffd692f71e3ef0c2d07a90d93d005d9d9d68628d1fd2722e0a45ab9daa74c8362db70aec2be7ccb7c0e3ed3715c3628e15cf78fb43532f2ecab20da59b97b4f53ce57a99cfdf2999f8ada5d5f87a210b3a5caf6f70e7cdf1d1cca4da534a7323e639724eb92f09a24c70dc2ff4a2ffd8273e1103c5ac7a4f9efbbd4ecfb1815f0cc3ac442c49b74030c12cb3c174c7d456d5eea39d44714ef9e94d46079b33e653f084bad36374e8f27c0d70cc8b139d286cb6a058d679347eb511137fa7322bddbb9e1f50c39ddde8a544e7cc1538892445494171b7f3055e04ad37fbf1bf60e35081af3d88265963681411a6f1280a01f3a0a9741ccffcb12cfd806e0df54801ef8fa22c261b34901870b25ccebece77e0a60e937f2379a16dbb085b90fefbf2bd3d4b1c38234876a05a1f40f3f4fa8a7c566e94d215a0a5eaa8f9a89db6b69e148418dbd8ebae31aa807388a08b2bd76d9046a912abb1bb97e839bd218d3741bbfbe4161b4d5989dc5804ba793a7ea53f621c40d8baad0f4a9cb644b1b3fea0c5175e74ccc66dc166bfbb684f45fb7c15f29deccb569cef9c4f99a83a7f51f0cfe30d6640dd2b272afeb81a3799910a614c5ba3fca760728d38032b09f1a1cd85dfd79ada46640c49f98359d678e7af8c0caa8e91a3a351fb0fa724d1c2cad67761e2a5097c3707fd8d82b35885cd50f5f7b97d76617c7143088d233308da88329aa87b3a135269c0f1023041944e7ef6a2679f707370a2108bfa9c90d83a3ca77f002b292057b38a2cf26c4e3c10ac41de8ee62080c61b6a027b9f10eaf53c5856cf78ee010779e5d287ebb6ec0a219564e2682095450c7e0be665f5633c89dd555d1cb7cd0cfa268ec9b62ad449e8eba212f0a686779e8d9d8da250681ccdef5f474407305e1591c8114c3fc9d53fc6be697c7059e2e14eae3a3df21107ade1b7094bcbeffaa099802f389685deeb19da413db30ee9bef10581c1c5658f9a95085caec4de6933693632902931e0af48c0b8f121326abcfe4752c9438794a4ef4fe91d8d8a5bf548e1f88c7af2c9e0f66e26c40ab19e281cfef93b2057bd64bd5a83aeedec9871ef25a7dc1b9d42457e603495b7aa10bd0fd1f8b96ffafb80be030bf95f7da3b4fc66c4f4be7d9b7367a01422d5c8d68527a2ca71a98c04c557b01a376a83af3071815814dc1b62d5044a5e04a3bd2e563e441763b7c567640bd2e060721302096b1692192f7cb74f52727f84b581ee9aa74a65341d9c6bb9dfc17ac9453618da62f2e0d22543b3c79c6922c1d530813b3679dec43ca003fa2266a47de63721c4956b09522f6882d8a9e013c83dfe4aef16f08c1d110d8e8c66736bb7aa28e4a354c64d569ad7aaf9e23b1567ace06e25692b48ae45ae26fa6a817d7c3bcde34dbab1c34c781f47d9d2ef729ca0e11d343812afa548dd0042f75f7858d892aec74b706a2c5b931fdb57b65ef3f1c0de68a1273a8c3ed5cfc78a2edc2a6844f495b30ba3f72aa1433bc158b2825f8a43fb13d161608cdf4009b6635a8a1155e2468ab1fb40e2994dbe011eb5b4dfe37963cabaab93465469bceb2d51459edacf84c85fab387b83f40b9bbdd92945e8ec147b81e703ee67aa0c69193d9ecf90f9fb94b57277056a2f8acf87c42683b6437f6a1fee022f45480b3a6d6ec47a4065e1cefae510f9a45e90bc59e48c0b7942a9f9605dc317c5136f8626bfdb41b0157b5a216ec682138cad0a7854835c4eba0000919faf2a66e67caad0d22090901b06cd7a827ee968bc7a3639de06a7c1502b44a3632db40053bd636de239d0623af47a32c36f757d41ef8d03032d9711cba181d2a0894b677407319081262daefc7a4385c24c65cd4250c9f05779e87b42da3ffa446d8d5ad3f392bca72e6ce4e449a9efb42725845810607429278221866e14edba02d2f2fc1161cb8983dc58fb90d86cdbc64ec0cbc40a62d52e4c29257424bf24c00c12147ff1313ca9606aeb8b25e5d1e6970cb33dfa6b20bf97ff9ecd82bbeec0c7daab081958e6918f4efebba4ec39d55e55d17e3d727da062f31ad4462d40dcbd0e2c31c257b17c31bbdc38e92294d328c8d75c262f9df0e94e32f749acfcbc1391f3aa0ad4eb8b19a2948a06fc61038082ddb222532620fe669b25dfb579fca8eadd0c350550e0e4932bb5b17daaf11a5f6a6f037322ce163ee63433b7625605589330c2f99148d06eb7544844716376126aac4b244b2d989818a208b885425cb23eda61d9682395b8fc832210bcf8e92451cbbffc73d01cc250ae7df641ea0e9e760cf1b8755606d9d0d8545748a8503e6d3d956cfe3af42ff11a482bf51b84f50be428e3d0c97dc998473e3d4d865e161b66e17bfb39319fc25a9075effe8631eb4c479836180c0d9e70cff52700fe63a33aabe31f0e18c99a81480fbdfba87a09d8cf9a8b2f21dd4e53aa5e3d769e46bc28d6af987397936d64dd9b23f786737551ad7127de928f5399c4e1fa996b37a4d1fe41f539148b7b4d9b8f9cb5c76b7b7ff7d2fa22996c926d0dc92576257e05b4be97333f81cecb45f03781c4cc0f8e5a2192b6a90d272d647ee706f6f354c381c47dc77cc535df82be6828a9e752847873cb21c6d7e2b5ac34466375c2fb38bf252b6010abb3950e0fa944874de738b032efef0d15c47553ffda2d6397ab10aad057e35a61b405043cc150c4006b1e10867fac8c7bb3780332d5442d4b8e1633ace73d53b2c9966c6739e0c2c174baabd3fc3603bc04c807d651f73432d916998da792ede731ed303e916ad06e4eecfa65256e264111a8334575ee9f131d7c2ee0f8e0e7866143d51a6de972a7e8240ea0d497cce5ff959eb0a6a767b149abbefdaf7169fb5cea7844ad239745319e908a82fbfc7866829eca548ceb79577f6b9fcca8b498fd48be01757f9faeda43bf4cea5facc388c5345c4da0adc78531cda8aa91d2b6004f1f32d042663303a9e6d234f143ef9d1e716a38b90cb474f1bf5087b32ec2c02d197b07238f1752386b2e125ebd972925e835910211bdabfaf7f4db8019b141d92defe70bc06da3ce930b82a6bdf6320e5a95e6c34560b5c81387456c00149eaf8207656644ec152a84a77555c9d973710a091710b7ec6cfdb1083d1d0b979d3a3bde4f446b17545cbff94baa6950b33319dbd09b53d4aca7e76781ca34413b77909a71484e0d18bdb5f7ac4ad18adbb4ee6d13d6d03c712997365d1172801603f7dedec70ba1b6ff137e46507d06df355b9a0b985008417145e58cf458db9786b7a6daa384fcd197693476ec72b4b93ba875d9b0598208fd4ab1d507b40078fbcc6b57e0aec36010f09ce7c47675ec1d68a37d397bc7b93e6f0ed62ef8025ff7ffca437b2b4bcce0b385ae1b88c5615e7ab69cf0259b8955205d71d582d1a9b83507b57dfa5fefff201735035dcec4c57126a6802baec910ce322263b141c98801099bddc1ea247622b7d0de480df7dabdc411c62b7196a99c069aec7a35aa5b9284c4878f189a0b54b3d6bb7f6aa0b3dcd4b4a4f5cc55d74e25751dbc472f11518513015cf2c49b67c62465b99fffd14f7ef2c0e93adb28d57f191bd79c6e6da23e0ea428e1accb27eaad1bde92623e15f28efdf2bb4e4afde87982217dfafab794707b6f62f47177d82c2d923ad8a808edb42390de79fe04759007b1b29068b6503bdf97f53e4b85758533a1df7d68c1c7917edfb5fa9191023000c4cf17f1aed40fe4d2a029aeae2b02dc5e70f5be49aa81e66e5eb6b3840f8a78ff6b9e0246671bdd5190f40edaa23488907074294bea2d4a17003ee16bed12bbcba7e7698abb2216e9c155a3e88aa5cca18d9108d321795ca30f16dc4270a5785bb99935a57966728282b2267264c1c9ab1b3ceea9a631e3956a72b3b0265490b3169979c90d82c77c5e66c65e54bb445919a49ee32a158fad7d3ab1302470a525c2141a5884fdf2f1463cf2bb17ef74d6981ef0c6efae739cc88f091287b165692cb1d9813cede221925efdc194d282aa59c2b11a82b0a0da4f41603fa0f590ccb3533e754811113325a0ca6154544f4fdd01cc666e9480cfc09cfb32a8b269773e2728ad2b9ee4e48b178c770a08831aeb50ebf38c97c053fe8f22459e431ca5aea40f907a06d1915bee82b4aaa3e2b29f90dafde8eec4b57132281bf90a03adf260cc49931fbd0ac91d33158385cfa824d6dd86d6760482330a7b946969a153b3e5fc549597e83e1698e5c134beb35f3af152eae634382ffa8993051995be42bf4753e5ddb0c514d9230749cee61ffab59883f2d49e76aa93a913cd3de84ed8984c1c5b8ac384095e746defeab69bc6a4687bff7b5fd2ef814fad34b395c86f4472e86053c57c089499dab94917eaed573e0140aef52705ff6afe7ac33809cce46095db0b16d68a77ee979d7845adcdbd8931cf91339aa7f4e04a1e4b0990e68be8fe8dbc0e403f3f9b4c196d03a737844e24a89505514ee3dc58a10198e8414262eaa2e588d94ae589e1facad5829a9d494fecf851da546b0ed734809624f238394be9442c36ba1efe23e16a6699c9dbd4d0ecc111425640548b01bf6960b607ef5f0b4398eaa607a843a732523e3d4e1920e622f22e692410f19299cec98bfcc779f63623b9db36dc326b497f5ebb73d9279341001f6ee583b7f3507337f0eb5c5cd7fc75d51f29f9a6118277cf984bb973cfffd3cf990c5aa2ae1871afc3cc830c8bd7d63c44d7fcc34a70aa344c334485ed98cfe3d0bc5368c0fb37557157942eda877fcf1c599fa492a72aeb32d4c2ca44958f22cf2ae613625a6e45b8a0d0ac5fe5635a74987eb64a525055d5371e510ecfb4c141d5b0ac79608578ae6457337d5e421cf0cb35adba9a115155931c459d3b82f793477ff402ea81853729d1330ba226d3335359c233b0b24f40f11239929eba96c999d748c90cfe5a4de0802c8df0ff23ddbcd1aff37384445d4a6b98365e53a1d46e9a7d19eb8cb72f68aab71fec849d841e26518a85389e86c201414f5ca7a85397cd96d713f57c090c3c60bda700d2cd3c2ce99d5221aa4cd9035aed51bad718697ff57d919acf84cdb36d0dba1f6e01a93c18467dd30fcc3828b62c33a4b63f2098eee5cb3a05731689d80f43cdfbf236467c1e6944e0e1d59c2446f393fdd996f55c8ed400f0e23f5906971d40b6964f8ddcad76569e692ba546bb6d31d7097eb584253127ff7790271bddd5b502d2cc1561c6eb5ee32506680b762691705cd3aaebc4cf053a378cf6b6507b3928d3c021107bdf4377c0da7dfa913049fa618f48311cba07458dc90c950618347d1ec7a9cb4823ddae48a3106d2d179deebba2037f86b3c7dae2d379b968325a7b76ccabc9a60519b7790be58e2670bff33fa89b381c3cf03f36b237c0de9dd7ffb4ff492afb32e77c54a068e6dcda966032911d0a454c6654057534b880f1569e1fa75e21509215f2c0420f745fa42b9140bd4144816b9e43760737008df1fb78df5e9736071d2038ce3469d0933d869c948652d095eb2d308d8e07fa2fedaaf2fd7d901470548417db3afb6b9f0784abe92d2a959c62781f2dea1ab24123393b1e8e178e0a6b0a50d54697fc5d4e068e2b025ecdc1e93929f0bae3fb00018274a6dc03e2730ff13d3cd5850e96ceb97a7659563b62a2187aa7140152d2458c61f4274fc501cf81326a240a8593b2f87f732799893c903847a68a30167f38f0d3419ef6dfd90313b56e2771c3a6538858c6cd3db413dc7781d990e279700846b8691fcc9454764cdd95b96a6e81cdb8aadffe6bcefc76d54167554772b9aae6862e3fc6362305d0ace43926621ac1e9107535ba8272996b9b39faf9bd3f67d92eea1f3f4f300ab081c3bbe09973d3afafbfdd4f290965b7819c495d17b36861eff39902a5231800ea39397b4cd6c80481928fd70f85e354a7b6f97cd853b26a8d2ba2d886552f15c798ef71fbb2965686c026e3f763c132b09f92639c50ef71e675a205bc6389e72f5e305a0f20fdf46e3930207670cd2b27c8278de9ebec3e0f67ef546820243a524d68b4e939402f603f614dd22c6fbc81882f7ebd8f959785880fc0373d7e59d0baf01189f2ed53217a06dfb22992774b503cf62ae10a8f62fa950830c510ab1990fa987be9b11448ca8352b5fd3711cc31e15e39152e230e80ed0ca4e9b07dcff5371f7bd5cbbe74e3d4bf8a09bc4ff004e3b7bebb723940b60760514d931303634cf70a7b873813dd51fe351550bc476ad3b1c3433681c6a21afae3100b0cf26c1c836f1f1b9bbaf04556a99c7053309b9527e24afd5a648030d73e6638e5477cefa337f6ee4f314fab421c119c351fda51979fd06bf8d767b4a71b603017c2d2b457c6efea49280b4c7a6e03f62a28ba708e09b8f1b9f9ca3171f2ec26c6c01e3b7957f322be70b8dcd9e4e8b5ee7125757202487369243ded583ad0aab8774ed56a9d1d15422c9b39ffa8a9710c400b85571054d0c547a427adae5937bf41320d98d6064e1f64c98c7ac0fd90cca20033147094ee10890b3e0102f17961405a917ec842ec42b44448bb036db6bb7e475b76ece2787551a1d7a796202c081ef1245003106c3a274f79816ac9306a1ccc3e7bcf1535b4a1b78613d2816f03b67e40ab023bd00f18a4e3c9ad388b3a9ac07476eb85b496a8e0e3c3a3c2d1be7cf2e6998c469088aedc0a6bb5e92544543ec8fbe0958c5e0cd73b353b1d02778264cfd34439998b9ccad005ae8b4ddd6ea932943b810af99ab4a5afd208bbb8e11f98b4d8386048301e7dc0940761eb671f6fd4e109d8a5a7a3094b813fc012525a79826651a4cd3119013e93a2ddbe75e2a58c8c46814303be580f347e17a4ec98a327fbaff8fec87a5235b74fa7504d1b8f17151b6ed64f4815939a431f4cb163183bf2635945545c2d3658cc97979971ab4377e9fb3344302bd6689f4deb0a67382b04825224b7541054106afd9f6cf6203a55b0d6d7ef180e9b67fd8fc37d8c517b58af3ca49b9a624a879681ebaf027c7efce1ff0745c41cdc74d4b17f550b2c9df80faede4790c2f1ab6f95de53e7f4d034998b505a5f3a6e294536a7c856e8346f5f7f5b9f2884871433ef70c650e020e08054c0548d8b7c1cd144f9b4038c3df761f6dc01f67eee61dad923d54a8e87ba752c98f63b7d4ab07677917aa235cb2658e4d285500bce0cecce5e9a875d257eb26354e27b26976537adf2ea685d96c6f670ca169896fca21af4b12e59cde1f3ed7edc4dac2d9bdc100e996f8f8918058300c848d72e52eca699493d2a3f0e14a716273d7b743ec6e382b5c9e9f9b5c0278e20787c7da0e6b85129be0712a4616c21f18b35d4543a6bf223495707118f1613de1ee59c325237a9f6d29773ec181ba39a44d3a8083475e1da66e6bfc11b9d122de41d619fa48d3298af5cf02a2cab5f5c1a7054077152fb512115b388cf5698ec69425826597d65cadfd71d18136313ff4f2ce1be90367c918b84e35d69bdd152abd5157b42f7ba23a961e754585733b4324d72825806692a56dc26825dfdd39718fd4b26eb9f07d41b546df85602d1915398141a27a289d9f07d65542db1769bebcec3686ed9385c94974568d22a45419e77281748c0319ffb9179b20e8a43db0ab4b05a2e2e6d3f7ce861cd285c67d5a82197835030d662000d35767a7c524c767ac68c79feabd50bce2be472f0f06e54f44303df6b52c6384e49f95be8b896abd65d3c1f21c578b6085748b9348b12187718cdfac6ec17a1501cfd6643e903acfc251118efa6b6a485ec06d35401571318c87c0bfc79281b0a506ca4608a02b2ef541cb801caac3022a867af6a04b1710254e2d7be750bd4f02294399a45d26d14ed0b5db56d90dd8752f6bbb388ba77e728c9ff065a1f8bfa8a5c709569cf2f61fa08d82e7068cec3eb16f9b3a76f93a50115c948baf295f0576c10e8ae48fed57bac568c3320b093308c8bf9611c1e1d5eec9e8c66416ee4907348264e52fdf1d5a0ab844e7fccdec89f83d75001c1aecf25e40343fe3c01eeec89a03055b33a9a8ea262fb9d4d2700e2d2bb1b1e32359022378df3999f73a15fede5a07f81201d23461a48b87a3cca01aa841eaca0d738d93302c972a5b518ccd4d81ac58d544abf2064afb6b105d93bb01a12d0f86fba09e8d05b0ead94fafee1df13a00db70acec65d214a57dbf0c6fcc1e8e418c27e17944723a22316f1261c32c196a0b8d5de994f585824c3c93b98c9d6e581517a00ef615f89bb9fc0cfc7d25802b701b902582409f35cc5e996169c86854188ada93af677cbf9de02f347ab35569f89af4dc0097f39a40f5514a7d1ddf515ef4b2141a24b401e0245d56652b846aad37636d2f270651853d33b7f9e654d8d6910ecf36aa5b32a994343c685c9f86c1d80c3d9986b73574fb6272a30fa2442d2820fa501fa95ca87810732482c2e5f7b957e4b838fed9854958c029c7bf43c647b3a70b6129fc90e48f9bb4424e2348253ddc9c43c52c6844c2c3bd115774bee242e0210c236374527c15376fc7177b2eb6c50b2682a84ba421bf3d096d227542b0b543f89ead527884380412f60fc16dec2c5201179c5630ec879bfa155e962557951b7d8c937dbcc271ca1bc4b955725885db4178c1284b190e8a3613561d187003c630159459e3db639fdc2a59d7b9bf7c097c169ca62d13115367d3635e2488e5c6a67b198fc0218efae5b54215855e46abd28385329932ee3be0113b45c6d75a3bf21d4e96cb99ce452fc8e3722132f61abac44387d1bf6a649c0e2d83e429635eabc2ae1669ea59107bbb533b961c1045ce76975398e1719c632ec662c5c76ffb325d2948997b3b018113d919a8e0d5f21179d3d24adca62f0826c9079f9ab506b3aca869fa649ffe3aede066c68eabce42b8ab8353a3787a13a11c05289cd2cdfeba3bfbdfd67885ac215973030bc9555fa777f40ae96ea27ce31148f97129c9dd4d4b48d3f5d4b8d9dfe29f1adb14b741fedb0f0598b6d7ead1547d931223788a1f7a6a304283ebe200cdc36300c6180ff6cef59f5109f11510526185a38ca52b207385e1507b6db70ac69744826a2421a52981b127ef7109dcc36cae05d4ac39e1c349e8cc023f56efe5a32bf562c4b7d6aa8f45364552c6675b91d1c461fde08128f91afda6302c5e6eea0318ea5ca96a28e0ec2e660088653688357317afef61e13a4aec7944aa1ec8ee9f7aeda33af2ea387ccefcd90117441cbba181309f8dfd472f9d100b2f199957448fa1f4322454cd9b703021013b57ee0ead1a0d86ae6c3c484333303c28416a8a951f158f282471902226f19c0b4390ddabe67b4aea1e2f0139f26bb9cebf5c2dc48c670d0751abfa89676bed8f4b2116082b15c5b45a195bbadfb31b46c4d5701b4d7bc5bfdbc6ba30de194e6ada39206968f04e529f0ac4b7439f4bcdd64e93deeb44dfcd30602d2b4085ed837a622b5f0a969b255a6944c8c98fd5a66a58492f0f428d7f3c5db86488ef4772fc5feb9a14f83bc7eadbc7c806840f4ceda6c1e16d1c32b8a6607b0a07e7eeb8c9a036634f393705066a63652ce21f3ef56672702c2644db33e033031fb8f525cfc71d0c83cc533e4fa94ad014f06bb9d9119e6e39919c369c9ba835970d63160baf15b0ef0ac8b2979c6430cf6641796a48b5c142cf052b6eee9636814d74e97e506512da05d28c3ad2d48c9f63bcb7516ff8d8766ad618ab4f849bc7e82bc832f64a1a06063fd424b71f071c12448edee6a2454ce4081f07b96e8db5a84e8a15b7d1a6458d836b43b37d64964043313fee3e7dd9c34544e8e6a757eb98e9c13b58e9325db5228711f268ce42ff2f33e924b74c31a9275be2c599d4105142c737c75c01ab09114cc81da37893466d58f603a0ee0b12a2b88a781811499136e6f61fe47d0918e2f5e6f65cfbf82daf9e57e8d5d3c2ec515737f1f30d4fec0ccd8f170dc47d59404522ed212fdd3380d7077f72b678ac7b0210beffae09cdb893c80acef54af4ae3c719f8f5c72d208b48ee90e0d939251b2180055fac3c182a6e3e4bb1670ac49a0db909fb6667bd95b1c504a011fa3ebf24d723ab8936709a60eacb7f2d8c13c16dcf140a1cda800cf554b0a0065e332444958e3354837a76017423c37ad607b2bd5913bc74099bb9abd0f5179e447765699c440ec7e1ce8cdfa7a0b7359d319dafb99270eb3736f6fe353ac9fd62cf91f4a79138bcd12374aa3ffad7db7cad87da92bd6ab237cd086468c3d4bf971d4601d5abae05ef7f1687c3aabb5d663355ac2aaf6055b6229fa3481ce7ec0a047b38b8e06d974db84eaf10baf9d28683180220c555dc3eefc720d40504de54e776076b33a58f5f51a1d38a06c0710012e6eb8c24f41f0f065a7db281d862c4ff5903cd3a625b0a8e055cd5951a9c7adb278f60e8cfe2cc3ef1e700d69ac45c589ec9eb05506afe37e8df3c4f23b79106ba66f2f4a4165e98df6c27287a0e27e86c9ecbbe7da879bb4a84e0ffb84b3fdbb599688a460973a1b7f0d4c81587d9d6a32a8d349affcaaed78d736ae6ac4f4be08f37022606899cce80ffa6db55c9a93bbcb92407a4cce4dbe65a0fef99bca2b58638a1db9d4521baa9fa566d89f02d3fae2e92a036989283313d0a1a546b37d17d30e5dbc82dd8626bde7c7e907ca63f138eff57b4d5487dae41378934f97925649492fd6bfb1be969b848354e30fd37c76c38b1677a31d170f6d31d51deeb6af7fdee38ab4aa40fd8f4951c38017e8011632b5226dfa073843b3f9cda67abc630e19bb1b474695e7a854de2836cd57bf93c8c60a7508a7252edc6092c31f7f32840c6428d7d6940d479ea7099593913dac2c88abe5186614469496b7768a241308d458ebfaa8da3868ec1ded11b725bb32bdf923c161036a68eb14dbba61af721738d93228eadd9f38386284a33524813b6e1eb731c0f5bb87d625a62e9facdd5e9caa84b8f5e6f11ae3a1c662532366eb0e2507dba0095179a2bca2bb8be332b75d55fd1932dd99083ad9d57f8bed6d0984de087503cfaceea83332a599f6c5e5535ccb92cf3a7030f648436b3e6a336e95119f250dfecc1c6edf8b8ae40c4329182eed94c069e8a243f3ddba94ffad224a3cc0eda3c1d10de904a51f86f3a09268eb9d936c85c1973dd0e1c0f1ad5b492df0f21a7a327d3bbedbee37a3731a7df636551240a8ad2e7c81152fcf5f242e35800ca54bdf23970d04c2de46af3e5e40324635ff8e5e5215e092ac18a412b6a31295ddabc83efbdab5df15f90631c3447709ac7772d7cdc09cf17aa0000520f54508326f2a60ce5ed76d8219862063dece3477d7ff81025451edc2be89a9e4498f955da46b7f85bebfc32a457fec827ec2fc643b00fe181ed756a6ad2eca39a0755ae2c5dd2b0de9dc0ea6877455f2e4c1236b2b54c601e45288b0dcdcedd8310734add551031e3b65c8945224bc3a215d5d233b71cbb954112a676ee79c267ff9a0ea62b6aa9c256ac4d2fe4b44bab32b07a73fba22bf183ac5e15670b13fcfc2d4b810aa38cb0acab7cb2e844a367996aab1045ffcd3feb02768e50de39eea9e8c1243835311d7b288fd64ec816c568b7ea562ac6f7ff84e67cf82677c25cff8677fdad0eaf5ac8291f3d9dc8cba0d35b9929b1fdc87d0e0ac14c502c30d99b8b0a8f88724aa73cea5be5afb512b2bd0b3d83588c04f76448e072e10c270203f6ba4127ee39b4b57628209da5f8268e493d579c7f727f8a7af347bb12f13882890717e9ceb3266171482c46132951e000266816314f653cfe7231e5feb22ed45ef8712594cc6c8c6a12c0c632c5f048ca2845db718687566090b1381c414f8fd26719a07f9d56fa5a6f9e4bbb34b0cc26ced01cd9f4d5b56cb1fc70dc0583eed5e89b2e13e09a80d068e40d307953500040a708a4a44d0af486e11e853f3dc95c6d82adcc4fc1b85d2338dfaf3bf33521b8c76dafa0cd5e1ea274776221493aecc5ed638e9de33978370e88f192b0877c7f1a56124b7b841426b5791996a9b3696a6e78e40b316e8c695d1d381c04a898e679d0dde620fb6b0e72b23dcb3dfb133043cf31e1b0018c41558d4b497c6f94c7b1d43f1a538035d1365ce61deda011abc37b0576652544bf0efc87dcdd491b0bfda9d34d36aa6418c0deddc5157160046f5f2be063fd934e7d395735914f920c826ef9adbfe7b480f7dc382503156f4add2da69782cda7b8e59eddfbaa94eef96db66a6861fd25a64e59a12d1bb36413854bd019259f9676f6236e47a2f7a3745b592453ffbf86ec7f3f6f12311656dd3c9080f1ddf08f948095920b7f20d4f4605f75e237800f8ecd4865db4dc3ade3b603d7043e19f17ddcf58ed22be5b3b40cc44fe2b5aa728bc96de3b13e88346ad5f189c5b011c8b7205be733189e16eea86a8930dbf65ab94b87046db1fcbda5480f86a0d1aee65dedaea26c2e7259fe47b488f63cec46cfb53ce73ce320faf99de5736467ba46f0547213e6b3eb742425b7883385a54c239c0c2dcdf5cc6a0ba7b33d77d5c8d615e6ea0456cc6d2bdab1d392acf58445c52104278158168b6f70b6c5e2783af812fafadf0c9cb64418731ace8a82841618f720beea58cefd59cacf8e6ba2b2f36df7b030eafd56be90e6a7751faf01cf2412e34e0823d3f0caad7aaffc058b0fc5cd91a4c1c9d58be4cd921cd2acfc60d9a0612310a33ef4c192bf7ca410014a9bcb1f88363e8e1d5235593ec40c0721582644099b1c23d3c34167e859234de382cbcf085bbbe4ebcdb9d6ad892f58d66b943ca359ab56b25990c9b685e1f8167db68b4c988b9ec48ff41d5fccc52f3f6412895f9292b791a7a0cde9b899ba9c07b57d646b6460077d74a2aa57f7e9b5c45c66a8b5d2c0fba68d3c8d4328ccb7f49e76d0d64e6412cc7ba74ad3782816522a6305d65c128bb0a3f28b8970b20d2a77e3feafc0b687a5fdbd4cdfd3814f8b9a9cbae929d50fd12b911b1725b0f9323dae55cdae8de57188323149ea193a400dbb3d113554b382cad60740ad5372f3b257310419ce36ac1826cd7305ca872a2998de84169c664c984b6f064e733968a1bd7ca7c615a33f090c84e931c8da9d53a53188811d6a8d5d7bfe5333eb0f9d5403c875afebd4483f13c9aca0930405d6e1f08db24064af38744e270a82ac0f3f1abf1c6bd4632e4680ad21e6fe6d58f381cc5d60e599f5dcb1a20719f30fe0a7105e2fe724d3040c4202f7ceaba01ddbb91a57faa65efdc5f02ae5dd98587c8292a11f991f31d8bce582d436b33724d4d13dc8c5af2060d92b7eeda53520b84baff32c16f6dde2d1119589d0e4f8a01a3e92b8eb925906d621833bc06ba23efb575b2d776edcdf97e98e7348b6aa2e8e7aca36f80f68be636412f6cd340c428aa2d85519a39dd85285386abda961d00dc776f47a911bfafd67108754f9fad6a8661385c0396b2dd499ae02ee0ec92ed2ded8dfeeed5410021f85fc22f153887e5328aec629e3e16efa6b935542d1cfa792dcf36ac351a59579e2e889ed2e920d850326e6a66992cb949aa02f1cfbfefaf7584776aade71f82b81d589314bd1eaed242cbf915459cbc9ef3f09112bffb58823184e792b747b2f68addc5492d5b7a6abafe02e13c5c3daf88e069d5697381af051f7fba932508d76e3c0acb7dfd752136c4052fdc50105e03e9d63738915652f41b940ebde0ba11b25fe833e69b157295160f6a1a6909c7ee163e7d2f5ba831b7362d7e1a481fc80e62b3fa4fd43bf2e14d6b7160fa4490501efed8d2dc95f77b727f987206a3436177a2b39237178b5fbeed85b3fcc3055751b18b3dadde39dd590125cc92ad4bc2c4bb0a7eb1a707dab185520e9f4c3e7cb8741298b7267e2e3ca9c222f108eb3cadb73da37f56fd92838e78ea433d76211fffdd2cb9a7d5983680df1d5adfd5767ccdff51af348eacd2107df065cdcd9336ed4595d0f83e337630c3ec31362c240f35ed9f43f5e0849fa38fc5d61a332c86b2fdf876d395dd9cab6bddfca841049398fe7a1dabcf56d3df3f65a351fdccfdce93d805d7c424d765de6a5baabf298bab14200a7f0c9734ef3352c1e4d3132a02213587a31af7846e0738aa4e882c2e531604b84f7d9c0d88d076f788652449070c90235cc7a273e3ef7e4be2ea0f5f6050ec5518aff4cab12bb3722a381e818e83eb68bf2c7b85860f2b62088cac5a0f6a320055a8392760a87aec294eba4b5df60d95935a793fbd462484a70661f6b08dc18dea7a5771fd2292c80cc8a42d030de7c290b2518aea40938b7c399c572ac7fdf127191ccd014aba6301d2d3b64cd44a44fb4b5e087d818696a74a3829794dce2d08098ad1b39ac9c74163f22e6824a67018434b85e61fb02e9a5dce6989f92b700c100e377b2fffb01c8ce5347a81912e85574a4f0dc93938d6446e936b88045b8e1536ddfdf7379632fa5e5bba8c53ff9618b0e30cc87f416f36856d9debfff11fb9f04f463535808b598dbb55fcada88c8862db23f8f7d88dd90a52377b1970a334a01b373925b1ed86c2c86e3eee439f54272a6fa18cf7d08c0aef672e7ce8d569492188c05685671631d1f1df73bf6a9c8b6d65515b524a3b767dd9760b077af26112377f44b723e67021c88e38003bb0494b4c465d6160de89d6a94736d3d70b349f2672c1cee7b8241089366d81d119b2e88215453317b502a40b28266f7f3bda3c382aa51b65797661dd95b609104c2f174e97573ad114e8aa8f94b7ccf94663d727113d1e1fa579e64b541c2d11114db4b491f08f9a51e467fbfb23f85d39def6c869e366eaa304d1195257a4de5916009b3aff5711a4aebc7d25513d98bea309646c476451c8dd0bdfb01f16f00ed0eaf20fd08959fb2022a2f9709494e75ee151007a38a679073d2ad5900f920dd2674b6b8fb21da0cac24318f83e54f217e49d77af8826d25eef34c189d80f1b097a7e7938fae55e46569663e8304f0fa3ebff7b5a2386ff150fb7cfa050e58b8f83b1e2a76eec58a8f776e22d59faf596f87a2c21cf201ed6c22010ac8798e54d2d1fbf77694d8b64f208762a315b39a7f98aeb00543d4c25503e5ab8e0facf5e763becb815d0d9dcea03d2ea7248b8ae974824fc27ac0a4c876eb8f74647077541433b695c45b13d8f0d5ffce6fc0d9adc3beea413820896cb67d2b2a1cff7181bcb8c024131fddab5b4428932a55b7705ee2e8ec5c620ec954aba82678ebd79975f88b3cca1159c04642e8d0471d7033461c57fd4d1a961e2b4c90dd86b65a43d8461ac8e8c6748b91f2d2914732084cf87b7abf29dc0b0121b5f5926a5a22814593b6ecb9983c309c73d02e0b0c702f47055ba26fae87504f503d1f24ecf8636a9766f6e7150941650820193cb18a187e1cb80eb26c2840404dced268ee77d51e24bc3cc5c55bfd73e62d67531748fe6346cf65b6952b59bccafebf761d03eeaacc1c0a26b6aa6c94c0194ecc1fe529672856251d04f90c005b27bbc0127b8110b4002a8a5068eb5cbf4e1d8d28c197e81532eef8dd3bf6378bb6448543c7efb230b607930a1d59cc987ae166552090473e4de4d330c8e049c819846b5e0a690cb03647ff7d5555db332eca8f27905a9f3b8f367f7b2eca33290d222cc2dd005f3a352350409c7c5067d4f7a49f631f61209d396bf8933d2290609dd16f5a8fa2939ec3663f0aba25973f3a7ff6ae0161e9e05a06b447de06d1e4b48ea94ee5148ec76ac3b5c95db99a26870bd42bf98a9e526b932efb7bd289d1507676ede1508d65144ee2b20285e114ac0d72150a1dd8019c567bc11ab9eaf579d56b82283143e2d6ea1c310121acb9eeff001af682db6efa7b85db814e19cca2b2fdbdf487e56cb1d9aa361978d8d0dad32a189614901e3498668619bae0973cbe3e095e1433614efbfa0d4dc736264606d72628b868d9ea7fa6af38f58cc98bc17fd8cb1b2778e0fc1cf20962e1f37db63984740002e0e543a017b8d23dcedb1c6dd10eeb3e8abd7258f44600ba6d0ba08a0ccf2f62f35c52f6929a22e074d1fc379902c2fbb8ab968b77cd926172b10b8a4c7e62316d5a10f933d557cc7935f9fee076017af009c18e66eb5628501c5e4738f09375706bb463cb9d323a2021a9fe1a1a34d27977a9e16f3bd488093285d97cc5932f953ed2a7dc214516987e02ba6c3e9fa8748b1c2c4bbe46e9ebfe2dda04685704c2d387d6e12cf3e340795a7c6e5257c0c0c0257fa4a6669da258cccf79691bce12c9acd33031132c2f8082486302502aee5cd1a0dd4bc66c840ad2d3a4766772bb7626ece76dfec9f5ffe6eea55edfb4bac5e83866f34c06b7ccdb67a2b657c64acbf9663b836e89d6d96146e1367b32ca9a139bc454dfdeee3a61054629b476d9e0414b5207a457281b94d94254d925d2aa7da27ad3355b1ff2c5fb99251344f86da05906a81de4200993e478919e5ba6a759accb672883e6afa942f42f7d552d34408aeeca064318d1056e844485452ba4540e126a2b887bc3dc2bcaa5db64d7f62bef1a465f306d02605d690537e6773594414456b786891771bbbf3473518d0db3b9d7571929530c2b95af1fd9d0f08b3bb89ea18ebe190fe5b6ab9d43e562f4adeee1271ffe644a1a6603e029bcd64c8cc69418e72d498b6bf2e40f4c9f4beaf1514354d0de0ee9f6af1b2acf1ab9e7e2f8d2e13b459a5647e3c3d62eb552498668fd0196f87c39531cc1660252f6a2c60e293f2e9f6781390f5aad2d2997d9d3c9e5f0f694f0046cad58a496bbd82b04a96f5a71d59fbe266e336ccc22a97338d9dd213679d343f5d28b86bd5e56450c36899fab23ec35323875c281ebbf28689ab6ca4fd80ee498f124e6a1f75b8f7997a3aa3e8eac6ede063c02ba6004ffe67a10b4507812aeb1ac4731dd44d21fcde1cf073a941a8027136eeff58cf05bc293ecb01e3bc051e096b9c150f5fcebb0f23399149d13db1f7fb596c9346f5addbce2670c56f3283850a695b8f7772353f96899fe3435541707445484d35006f4ef51e29857b87a9450891f448e1b1532b62fc3c37b9942b80e03e20904ca315eba71eb87e2b9553b7132da06c4289c47c91ca9156014d2dd60b7d677bf62573a47f0d5559f8f72a6d8301f2e075d3a21b9aee4ebdf015b097d604ce89d296f5bab96805b940417797b9e55adecfe3127bdcbae170bc818212fa0c9a01258acea086b6ec65e478385ff6849f71e077abfd7472de043efb3818a692c29abad6af520c69e91ab646271972415a527aae26fdf0beed45dafba0a870d31601103eacc6f2b98878ae5cd28a79838219aa2645619dd652120085c259c053f073c3c0630bb7999755fa786832a45200d23a4d182f12216d6cd7ce9c212f09e5faf2c8d0d7b382f5adca77487ebf4b250f1b9795ff7588c465cdbcd1e4e5f7b6a1cde8e789794f078041db4922eaf2bf133e6c25412d514ecbc80ed9c89fbb3f6d20f40ea96dcf1866424ea07feaf7e556b292cf45930cd9ca581533df695dba8657ec642a4faf05545f0b4868b9bfd49b93ba5b763428ad5035f420d82ff92dc8c28c83959a8544ddd5081dff081cc89adc2920cf15db6202cbd1169b7daf42d983fe19a47a05e864e4ba668bdea8b2ddd7704d172c8f2b6a6f4b6f694b987343185671f86177ffc4629ecdfc5b51e3105bcf5f7f6c08b214150ef5443fcf97ac633f99b150d9b47bde0c6bebcaf31e326b19fdf0264281ff19389b1270b104f1e9eeeabd53612168c974b00611ea6f5e8c0949c080a4cd7b6ca2389d7e1fad5c158ab16dfa7e82a2e563b46f17247ffee5d9317d79d6120f1eaf20ac834b85cc4987596df70d0f1d3f94135f2af8e16e99d8e139d8a75841e0a48a8cb8dd74e8907df9da9c11d7fc94e1f6ab3fc61863768319ce31bdcca6f9330b8f5fbe45188ac575870153d3b190c555825bb80a5a61ab99c88af0bd2330f6689cab63ca022d51cf3700b47a66831c9b23b5fad78436863ac00c976df931d92a558f794f966c5b71b983bff44f802d34d9561ff226fe5595648bd7053185aada68b04bd0cb2cab45775a77e471c90e89c30f37db6d87b83b0002757b364e20ea7b787def1616920469c47c450c4bdc89212d2ec2d1bcf13c4a1db2fd3d84f533f294590d2bc6c1d0f3d70ab753b0cf370e26bc0efa3b4bcfe36ab8c99074bf535f89c0c4a0e9e4fb668d10353d39cc97bf0b2eecd559106c7749be6fd9d841761b4ef715b718713bf158426ceb42765c357496f074e9d95a25a67b7e802215ba3c4ffebf66955ba3a6ffcf9529fd0fb348c93680ef01b57d716521e5b0f674a50e6764b006c30d1dbae50a41b88154add19f0f933795bdad8a036c4d845d64fc50f97736248530c928d8359ef2bc276719857f53b273f648cd4b5c9f3474f1803faad1afd388184338d69651c76b8adada5c3471880119360672e3f33911fbbf0af324350b2c88cfd0f532189a4086020d7db4b001bf86badcf839a798de38e16a17de376a5fcb216deda63a66971b1105c62795a2f6eff136d68f925e6a1a8f27aacddf6b99aa2d17764e8a4bfdc9ddaabf720ef8ae2a46a95ddeda90cbf731bfc44a7ffbc2960928337bd8e427ef6eab68c0ae70ede47b5ee514c77760032a6e9a180ad4beb4ee7b89abec8f677a06ddeaa4e77a381a17c93e28b189424e5485eef2b5a64ed23cbf0fb526f4efbb085b54f0f6773e484e154687cb4a15a467bee44e964398c28b5c84ace023a31f15533376c1744e5d8e1d6be8b14bedf781d5d8c02b4576ac5034ebbc5824e7f46c04d8b3a709d96dc3aa8b4a1b19b0f1b77e97781db4a11f699053f260731cc1811eef3ba137e1293619d7adef0d4d659b87235d1ceace3c7d2a9b6b87bc821173cfb7ddbe8e7291dccf3b7634363e2c198506fbe91b028533772fdac126de8909492cb72d5895edecab24ae24db4e0f24dbb5f17a8db620f756326fd35ad4a804252d86ef993902edda1b5c02be615e9e31fe50bb4f2421abce969d5198acccf7bbdfb7efa33d49f454542793fbaafa0347196b1a12ffb2796575714c96eda589b5b08f123d34f6024bf0a0660302fd5b2d3c35339d24c5e8134d88fc90cfedb3fb28052efbc7b822cb90b5ad460ff88150a0d560521de6687e293d0194e02cb5f93adc377e54b7e2dcc526d6cc590dc56f2e07546f7e8fef0754c05ccb240a06e8ef03372ad0cbdcc38cf3c616e40fa79f9726696c1f447877ddeacdf45ec4d7d1c088e968c889cf3d3c8dc458f95815587a6135b22930b8a31f5e0dad25262e8e76bca1286c6f5676cb21371d2b12a4f66b4730ce4de2a654cd1c9470e39ecb5e2600be1eca51254b05ed8d0d6814e6e1e74b44bd49bd953b12e78f871cc1357c9748448e209480d25f65894411268c6cd29b72fbb2c7c511eb738ce1c284ce6ae2472eab3de4fe5be8caf5825adf074430d9c15bdbb2a1f30cd6773caf9dc0a0a04090dcc988c4d7ace917650fb592ef5448ed8b69f3d6dea94932a729ece86798fd75a7265cc3c99f220df44ccd57847642bf5196fd8dab3980e7b98207327e26fbeead8ad9383433bf04b77d63842d291db8a76909357dd54d7cd4437331cf0fcd24c0b0e48168675d5c507a48a96f97f672ed7e1b9f8a32c345e6e4cd2216075c45d97910c039648e28d8900413482c43b91dbf716576993ba8d0d8bae12ac2a6dfe12383bb0bcad7660faf82eaff7b6092a1d8e3bf6f14f5dc4d72d0ff6083e9afd12b61103faf84759fb48ebf3a469c7b323f2f03280ffe521afe8fe101b955186b914d93608e857dbb9c28bd73a4bf6260bd88b43adcc490a92a65943044550eec032537e318645f9f8a34abbccc632fe938e2956d3d3462ce46d1072fd3dc1e0266bbf4e62e66f14c902f79fccbd0223d0feff5f933dac30205dfd3fda4a1c17270c66e37f010c76e8729d8262dafefe6b44d8219d29ea6078ece36a6118e37503490231614081de04422ebf7c01354721061490fa0baf5caefb96e4df480c527ab6d93cc9a2ccfe8a175445298edd4ddf961a604e7d6d11d4663cf541bc27e9ae1901fe9960a9dc9bdd30aa48c3fc6d6139a33ff3878173483be828b1cd0d0d57c9cbf9733cff4b49600367de7ab925232a13ea30fd2ac87292caa1b1839c20262e8d64a200d83453e4cb544f5b462e99a3eddcc16579dbb1554da81d0afde5a2fdf63d0ab14211482a2ba9842f2c336183386304608ad3f437004b60381b2c4f9c108eb5b5a71bd8c83aee010d69fd0f412c3dfad0b9b265a903060c2dc698b9a7229ff31106ba5472168c2f4aede1243ca66bc7fe228d4201592d5daf8117d94a37ae2745525fecd295c50b7ea60f1430704bd71406db1ab92e83ed6568708b7047e427c06dc30ccf70d4f12733f86dd84028b1fc21a00d60a2e9ab127705d1bd875276cb5f584610caba757ca4909d34ea7dd7ac5cdcf0f954816b2400c24928beeb644a603f35fb92d99bfa2fa947853166f58e502a70f29bc2e10e2971cfd6cdc34f1b64df186eee2e0de04586829522a3135a390fe7c446a4179a9ccc91c2780ddcadd6f9cce3c1b5110891e0428c856f146f6c535ac659f71f8d184f86a221d1294116e1e772f27d5bae3a9a0d46c4ac4f1380ec798d8944b2afcc7a4eb71083d455d56933d3bc3fc52206c76f7b17dce2a2d21ba77e35cf30e62beeed5c56fb8d1adfe1e1e8bccb0524dc80c3b0d4cc62ac3a202e974743f439d749d0ac21bb96bd973fab070a87d582e972dea2a114435d44e95279b5fa785ad51fd1ed70ff4d9b38b7a84aa6cdd08608d581ce3123cac6e9745db288119af0d8788a3422c53f260beae928ef55b116f6aeccbae9ef7fec09755c71198274e904bd41f9f060f179e05ffe95969248a0e5f7d06ac57b59c06a412ef678416508e48be2bd5ee9c17368b70e148c3eb501f2390963d56ed922a9dedea7ff9413cd5cc57f50a889d1fad946a0ddc27ec32501cbefc20a395f4fa2a5fa7548d5c1c110deea7cfb939010462bcd8cabac091801f2b5d448c5daf4b9e02b7e4c9ff5f1df9527851431e5a01362e52a3d53f86b34fb7c8d497a634658b4a0509d1bb4d03cb28de106c0b3caeb724506a4b43bd77e87c6872509755892b44f73412ea502a7afb2b40f8d4066ea59970f4945704e826aa8751734db2866c9522c096f6d753c62a08873fbb5c0569531ccb681895b1a693fbe249b3b854eb9bfcffbc7f19a59f31964df902f4f7158aa89f2baa96144b4955cbcfbad787f57b8df0704bfe75a93b4a8973e7889c564d2967662d5a63523ff32ff950544ea1ab48f3721161a2f4a0ac2804fd414b0021a05996649bbfa658911faa4375b3abe96c4a1d18885c20f91cc7a06709e30532e8bc7f6931e07dd690aac36cf8124bf94b40e8e6086e31f9d1877fc06a1c6b4318d8a2e61a70a3459e476d23c9e62fe2df0f2885d7cbc8a7cd8bacfb0bdfecdfac5cdb0fe62711d69bc373ea1e7a479e7e0790b0b18246687345e89c0b0c6c3c1b7bad119b2fff727a6215ae927982752f7086dbb8d21e32eee098f40476b742033254ebb8ad96fcdf2578136b6acb52dc74c7f819f47daffd8bd73227248c85797405bf1a27c902d8596090294e48000b2eb510bdda9dcee6f9dfea34aeb04c19112227bbf4463f358271fd628c0176d394bc5f339e3c30f9589a3968e26ccb3a35b96d54c4d7c123fdbb53cecd57373039f4c2a7a4269228e93a3c6badaf110caa0ab47bd3085f4661085a322cf49a503708782c88073d4a4c9f3f8caeb587d3de7a040b3d5a88747507b9c13be666547f095a374cdc321eab915c49c12505426fde87baaae50fe6d8dd7dedce9008a05660428635bd5abfbe2548f6a12e557081a9ceddbcf2ded4052363a91be50979f55dbf12602263a668dcf9835677b9a6d8a5733ddbc9cde954edb8e55b9604099b01e4e0f2f1543d8cd3d8a7cbb5663587f655454494205be800a9c655bfb9fd1dd32631db0d1db930dafb363748697934e1992a95cd78084b83324eaf606e26e368f9bdf01609db3143f500bcbd05a1422dded66685a5db6f9f78d71c0bfa21f37d6c0684c75d9dbc386a7de61e3daed58d7607c690aeab631aedcf30975aaab9dd44267e7048c45ddc64f67e61addb808b3582e858c2d1612302b966b4f22fe928b267ff54a1647a82faff055aba17d0aa99813fe6c563e08c094f6615d52556a29ddb82483a8082d51011bdbc2e790028b797973f7226e5a08afe5a16467001a86350b12a9dfd4b1880032bdb7f4af5388b43cde43f6b75751e0d660102d799464f188568e0b2846659074884ef12c878367ada7c91718fa83cc3c25d069a980cd3b48b22abd19b804fedc076e12008b382b15feeff2b3481b4bddea506eea28afe619e37456ad729688d1273730a4647182e8ca615180b93706418d7a13ae2b0a906bcd184dd573b41ba1659769bc5182505571f150c039dfc36cdf20e43dd529ae7b67b7db7bb78b354bcd5a2defc62020defe8830194817a61efadb45d20e51f89aea58142fd972fb88b82f93410cbbefb3792d0d6870d14459dc62924ce3ae01219cde7b41925ac96135f31102c054be5f17412d651cc8aeb9e8e40bd581debe6209f2de40fbb66f3ac496e2d46194d30eb2923bfd8bccf2169b083b2909c303f7bffeabfafe4ae4e15e8e52d7208dcf5249775d7451157e92c7633d1939955e08f21a9c63d9046af776b63602163be656827e35996a59ec3fdd6e06a29bcb44cbaa457a8deaa575620ab99b9cdb2b7dbeb1bfa1211627a9e0c1704d7f855a6b97adad0dd4612fc6ac703aa437d15e19e1b5b88fa08eace325b168cb0e55c11f87908c55d5b2a7023c84397d9b0517846d6cf395a90f2d2ccae7bbc9be392cd6f0e3e1c3085aee34090e9d29b7dc23c221710a809c90773dd822fe6429369eee3fa4eb96f5e00c003fbe663ec6eda509a0525e8cf6c089237feaaf638679500742663dca2e05342aedab1fd27bedcd1279d7a79bba628e955de5133b7dbcf6febee736c906fe0ede638c370a6248bc1c12a5bd11e6500bb8b2755505d7a857ee4aee4e919fbaf1577211750b3c5531a8a61d4135399b137e15c58836b5b5789b3a583c8474fead7ba492b8e0564533afb84d6323d0caa905e8129cbb208175736e7daa6103f8bb220864ba68083cf26453cf701484b8af9c96b495bc970f52134c8505e8ba7fd9a6bdcc2dde0cdaf9f0f61a2249d22ed802856fd4a0497be9b0350418cbbf033d927010d2f697448b0c937b4052ccfc6f495b755b3677375ba7cb615100b236e64eee08f6bff9395ca4332d4b75be60279cca32c4e934cabfc17f0bd3faab21b2689200e41c5b0a29a9e985fe1ecbcb950d0b603a640e8a7bc7bc2c45eb1be417d52d212fd4eb1c3f7d86382fe1cc86a0d87a2c6286d368b4bd9977c3943b253df10d24da53b0d2df60a6b40557d546e2939387d2e39699d46ac9bd3cefa8497f8a90ff6d521930324ece5dbf4755d3b0ab27596a7eb456546ed115ebe205b07489208ff3deab029b485ec3f67f695ac5893d96dd6be2a53f39ba6aa960178ef8e1d9673d30972e62cbade1d83632cd2a880854faecea1bee22380e25af82e0b939ed62a20ef35e7046d9cf93b4eada6fc2c90682209f619a0480af8dca16e5967c83085c2f69000e41c16a17ef072c7887e21b0fea899678628563c96dd1acab21aa3bcb3adf07b9aabb5dc9c7af6ed32e84e7b75001dc66375ba01bbc4d6c7946771a50a18f9c65df96882d5edc12426977c1f9844330339a75136e11af0b2648218f84dbd5a03b7353bd57180a8b2360674d0e446250eff795f7a3716d92fd9521397d34d7818268fff0af96cb598b69246e2751857df507ca14c9101a47f0662915ab5173180ebafdedd7a3141399eef9b9217465301c60a44c02bd4344a4ee1abacdce88615e51186f1003bd699e4baa4a572fafa58bf5fd01339faad0f93498512ef2e977a25e3f78fcb2c3d6d7630f91da84a2b37ca82db434520f0175e7ed0623e618f00eee79dddaa4e92a8a1e706b1e111ede3e1dd0243495769632ff74c02fb1420f4aeb5c021ca85db538954f74b2b225a9f118fd83b37f42b7cbdf39acfa25b6fcf223752ba54771aea2c308e2cc428a16c7f19f83f3ed00b4f8fac9f9e3f77a402cfe8fa4785a04f4aa10c0364c048d11b579114db6695404bc10c76e1ce70aa3c69980b7de764abf45956ad9b6dce769806e7fbfd91ea75bf46aacb16e580f9bd96e9fcca3403c77651154026da25fc392b9341d627170d339a240b0000dffe72adfb41c3317fa0957f5885089b9958d46b63394117adfffa9819e15f462494442e9a8b3cfd10632dc0aee8a66c0116509afe4047a095a09e9fd5b4ab2b98977df250302196d3538f5213056ce10917fac55ee0335248597ff206680ff63caa5481c662fd95d081a6fb42ab0db674c9d6413e630056db0cc95c265588099dd724e967edbbb5565e03f2af933937dc0ae249ae9585f27d7583645b4af6f1c05bcf2a48b8e363b3cd911d1988aef48ba8440407b94bc7b31f1ce6b57cbcfae3b16ad98bff78bc3035204fa529f85729cf254016c49b6abccde23c018a4b03b7baca21704a59a6d5a48e8378b58cedfae3c36bc17f49a19ef74e9f45985f17fb209b4892dac6667bacb09c675e2bfc3bd1e45f4bd6eaa1419ff277b6820698879b81a556f91bb969020fee81b04a347cddbd91496b96c246c1ba66b5c961b7f985d8df5b2ee99f18e2911dd69115fad1c56aa5a18ff29fb2b491e082bd09f588e98d27902add922f485f429ca33952dd126fd897dded6584f7eaa84558099beee3efc014df9fdf31937442635a38cacef8bcf77fad983a3c63572abd9f02c3fb40305712bcbfdf31937442635a38cacef8bcf77fad983a3c63572abd9f02c3fb40305712bcbf25661bc1472e6b863a95ed1e3afef998429adcc738d57aee5f07a7ed7543af3ccb45fc74756f9322b3ea695756294ba93fc20c259321ee6ecbcb3919009cdaef17359935528a62940044711388c5453d1b0e183f872f8f7c933b2abefda186e6eaa366268ee58256aaa63376eba39246bbbae7a4ae0b81eae83dbda1113c8f8ca81eae578acedb65dc58bcadc148506271707df777fef857c96c8bbf9e780e842092749d6c9b798d3cbbd212dd3c3184b9fd6154e55e6e240d72386416944f9b2b8e977f53ac33aa630f4d80d024b3b4d803a92d290f19cd68ae9c05e7f9dc6d05ea708cf7134cc60489660b9dfe20cb941097fc9f3ce7e9583ca9e8283b32f75b224c4e6c496616e35ef385eb1eefd6da14a8e73bc45bd11280f9612927b44ad861afb2f6c16e325766a888649b6878e4bc7c40fff121021da1d34672376ac65138718b71ba611bd3f4d3acb79220d2ade6c6c841f008c20ad6bf87c93f08e791c15c13d1b674d539c3995cebb5e2abf878841ad81fad213b5694ddb585a7f83f853558356c82ebfeed7aa91032cfc16e5e43aee9f7956d7f482573b6f2baa418f05deaba37361c9b5f11668760c65458290cf7ba18fa2b5aaf263ac68060036045e1f31fdfa26376f82583d21dcfe558fdb30bc9f590797b357cdcade7e3e3b6ab862483ba29c3cc50ee504a17810bc0af188c9b594a592865edead8af455cbaf102639ed09756a07890a8c77258327c8c8eaf75f6fc8d32e3062087405bfd6f1a161d837dd3d834ebfd233db4f71470ccb13a252d5b1ded43886f91d5551d37fe793d2cee7500897765a55097531a96fd8afcd24239c7bf7935e4c163c7861c1accce014432b2e27520326474d718536483ac3078f32a340f6f35969f0ddbe6c0d7bbcb2ba241880837484e075299ef12214bae651f555ea6bc3cfca45206543666a5b12a34e13b475a3a9bb11695a7ef588b7f55422757dd5e9e8ba1a9c005c0b815cb0485eb867b06b472ba54c4ba5e0623701c1ce40c99c4a92299a023f59a28ca302851c107f52d2b660a761ceb597969277116f640b247e5a8929dd2769c992f4ef6788db872e72d72a7259caec819bdc2d3d2403fc3b3adca35c3954b37cfc7f47eb1a3edcfc1f1ba090710daad498ebe9b97e77700be544f53add8aa10aa2fe3bdcdf039a0c0c1b9d71cc30da9c5962e1d919ca6f4f54fa165c409db793202e8e8074cbce9cd3a2023e687c71a59f1b881a17d0c4c474f8e5e40d4be7cd477003ae9f60d82b45656ba9dbcbfae09dfabebf14f5821259853dcc44bdc39992c0b5bb658f43cb1722bb8b40c60df851d580703c90715090ce4df8b01844496798fd0b35717fa673aafa711ff376550dabc2b1605a6a60b2b8f9ca1fca0d42e000a84e3099bf5dc29e2fc246ea37c85f1da54316ab511542d730b559b8e50834aed9ad57662e4e904b8bd8205f5223f054900b5ada89b0381bb3c99e887d7c4bb97388219caaf0bce8ba950775122b01d02ecd0324e70b8c8176354d409c2ce57882e61f0cc3509d914f14c49d107647113a208327eefc2faac49674b3ae346273536a5ce4b202cdd07bb73649b24264ce311fd114b3ca3026e8212c973c3589f2a9e11951fdb044d5019cd2943905f949ec2a81182de176f22a53da9e316f9df6a0c536deb5bc05d423196dd839bfe58d401679df1ba7c0181ef5e99be741e58de96c4feae86f2db8912c196e10b7764d038d930da7b75f3695a7f22c68fdb793fd20765626788ef5381aaacb4a0a28d5cbee59e576f5a509b6e473818a3c96742bba64672eb135693251780b4444e7a3df926771048f5de400bec31e7d1c83a0cc76fb11628237b59bda1d533ae5280b47e0c89cc689dad971c310f9f3ef6caa71e31975de373b4961a7ca29237320bcb4fdb95bfa24806622dce2c0de5378a2c732533d6afdd1dd234f793c214ef1a11570a3feb32e5318249a13c45e49a0dc33ab8a80698dc0744cc1f52b294104584cf3770787f7461c4681e33983193a85b5f0b140e8498cc390f129010528e4ddcdce959787b5a73a9ee59e1a1b41f73521370c25a382130357e3b32d1f48222214a0ee0966d371cfc096f9d80d94fa4231ac94a3a01aa5f9955d0e669dd0eb0627d48cd66485dd4f38e47b89cf6c0e9f2baa93d0a686150a96014ede3c85245612fde91606da126b75399642c40277da413aa3455d0aab00cad0eee9f2ed5486cb3d6d5b05b295528f62934ff7126cbcee270ab94d991b22cd592f2d17d2b0db1d86ce9d15f458427fae613584b6770a06edc88689de1c9f3207f686d1e43d78daa781baff37f4c09d078c1cf531b39f402f0296930d908734ce89bc0edcca8c7714f7f0bbc023830bcf9960d346825401b8bf2d6a06bd5e2c7f8afc101c586e7ce85068171178a4383837bf911baf716261f5c0cdf3fa8746dcde228e08c94f41cdfced0a76e1afb298f3e72748ccdc82a559b0e537e076474a1efb751f36e835ff9f6b9cde994095f8ff0f9ffecd121b2c03c4b3499a01c9aaafe5890d152d758d088600526580a791d95632da52712efc00b0a384447c638f580382289991c35ebaf12f00c8011ee01cce82f9df0aa236ec029d00aa5fee66090357a8486dfddac98b972d83f0fed40c6911899be06679ca303dc14c120f3274dfae32064b26132c6d3914294471252791f0b5354598e510d7b8b3c03ee1beed90e46af4fbe815c62476832ed2ae5eab6b84bce0cd1706f0505cf2dc26d84ad3b15039c9f32ee36fb0290af6e72ebb53f7a469a4b0d6fce6fb1d3fbd6354c1740cffc33bf3a8688ddd908fbb7ba7a2e304357cfc7f556fcfdcdf9bea79f1e08adb8083be854c95137460da8b5e79a99358fb0b2c310a220204e87026043a24049fce76a3ac99bcf757f523b881a692b4fc79c2346f92f2ef6c33222b8750452671cafb7a6301540c4d1b396dbd7d055c6774176d11a9dee436ad6cc0f608661f5cfcb5253bab68d3fae8a7349185e6e25e01ff1c938b51f90a602e10fab76763576c73b0d2b52ef26d44448dba54a8fc2e6768278d36fd20ac8ee53a6bac299f1b28b427982e47965f22fb97e6bcb155168e6bfc44c4bd7bb0820a02dc77942abc15a62229c11a32b3091c337bee7522fc37a90bafd4b0f4bf52a83311320583bd552b1b96e0a9f8771d0a3cc5956375cba1b3580d69348ebee1c3ac56eebc9ff40a605b57ca34d7b1cab72b8cf28e9d7ee4e257c743bcd8cd029df71d94e087a969791b3571068a9b96ae22f8bc41ed30f89e46e466458a89ae49cd2c1f9265475d803c2fd105579ecc5afd5856cd095459c9d114a506bc68db13fcdb2bf146fbe618ed8c92c2ebb38ba9de3dfe2349b874957b960e7c0537750100c80b3b3e76ea444b7ca85ab6ee0f720d09c7b0530a3c5097641f3d22f6e2ab3c39df47e13c31e6c2eaf7ceeff3421fbf598b0bc8c0aded8aca2e697b1f583bbac3abea9ca7988f5697966a5972a1606b56d41ebcbc4de192ab071aefdc69cf182b972c848a2eaa7dbc67dd9b4b392c5903f7200cdd08284a5340a033d822ccbb6fdc7eefce2af830c4e5e2fd67d90e0ecf28ef01111f22ad05b4425f6b88a48bf9c92b31b47eb8d5c4748a953a3b31a6ad0632c493677c0fe95b0d477a288ad1d133422025bf1b32babe45a711f372513755a92459de97a66ce3fc59fb1ce15c5abe095491cd8bbeb25305944e6c7e2f26237b64009f9a027c9b1fcf6bde9e31b71ad12685b7cf1d2bc108a4e036bed9a5a3ed2736ccbaf34a6aeac6af9f150a5adef37e768b22275b4c65b34aca3cf9e15f5cbbbeee5f54c2cabdce005f5472d16ed7a457362d69461428b88bf93774682d88271e1bab458c380ea99fbf0c9236eb243889a66377e83023547ddb50a218bd4f1ab0eb88c6e98ce67338804aca58cfcd0d72e15ba17c0280914ae93de7bdea54966198a89141fabb034eb645c4ab4850941280acf71fd19ce9eab176d730a690da9a77fd5d72b812bc19126646c7467fa4cd98d57ed1c31056a5a8255b8bb8475db071b8c06cb7e682f924a8d418842e57808fa9199c4ad5a607de30b350cd7390a4a2f4bfc35ae0a85c6570d06c08fef95c1767184b9865a16c1b5168ca2c95ac94131665c9030d5d7c2752b49071d7d5229ecc0f40d87b0a7861ea12c0fb0153e0fb3dc24c785e4b5f974b8bbf5f477bb03a0de9b6f2bc218fff271b1e679f2817f5372ad709b3443267cba1480215785f538242d32a4ae4f9903a0c5665650e935c1a2e28e81424d421dd946dfd03c7e86d83cc298c2fa284f185421c78c4c173c2bad78e1beb97c0d4652d19eaae91b3b79504f7c5db08d09e7bd8ce0bb155b4756d5db188c59ba46a88b77043840e64bd10a318c074934b9cf791e1fd537fe67c625e854b7dfd0c83b3acf2cebed7fa670d2a443729b66dda4f04165fa8fa0896e5f23952208b60203a54c42a5683e21e6143228160870dcd0e8905af493fb6cfd01a2eb8c428e43ff3a2bb460b010fc6179cf02a249f2966b071a3e7cad186c31e9664bbaf1c6521a2474005fb68d45caa5e3ffca40c3ac38873d0339d42c44dad3002a68cf8504754afe4370d73739aa70ef73e0e839cb04e7571318bf784e1f22a16e09377015e456d48acc5463eea944daaacee2dcbe3201fe87de8adce315f0fb78cd6cd1134c4cc2fefa62fb0072780ddf0d3ee387fc78467bcf4bc5a2ab86b4239ccd5afb63f1cfd433c3609ae54b5dcaeae96ca1758766a59e6013ccbb787e8808c688416b5b88c7dac0bbe7614b96a1d24c44ea295c8775b8390d9e4c5da7284ed982238a3f3ca5e34464db4f3e4af4535e7d5c825b0724b6f46ec9970497990c30e64ed03781e4c43918c392e1871734e6f2457670a789276cb037b9b1f71812b406b02130899866f183f47f73ac724bfcf0216ace7100733d938a93afef05e424ab042503007e1371a301ab6d4e5bb6b423bc37b072be1ce5e6dfdb0f580fe3df3172fd5bc30f51c19e26ddb3802136fee476480ff8718eacc25cf1ac7f84c976382c58c34be6cbae6e3d3563f642119db8af3b224a002b72eae674654adb3c0fc01a673f60de559bc4964c75536007ab867d5d33282ddf6a29b804326d7f88c3ac9c7dbcca826d74ba7ba6e601363597063c30e1a626166cd0e42e88e53496ecab2922b43b1bcfb80203c6701224463e7c7c278ca28a11fbc77798b683afba267e33610391683c9c646eaa43185925f94660e99e43e49c9ec29190c75f896878b8dbab9e046f1fe9e4ede9575031c85941fb8ef5883716fcdab0ab4bbe2959d708e0aad021263ff91f7729462dd1204fee5e38e8665b6fcab9c741a422b751f47d8130efc55ba5cfc5970c8af2676d85ef7f1c902dd540abcf5331147982544628cadb3170adf68f566dd7cbd8191140f9fc28a20d2741f8891953e10a85b7a7d5f0e1a1307805a1633aae46b7cdf3ffb72b5c3062a51e035e0c77d72216c5e18de481848e59c981eb83ed186553dfd9f02c79ec7db59f3b5d7259142a274139bbe1c62bcc822b45916d14153c34d2543535c033678645f07c2e6acc43ecce3ffa8079812bdd20e8845b84e4fe30918537a0633a0826eefe1e571eed335bd71e27d65ecc5d49450b1b062e2751e01f8b612b7316915221276fdeb560c566cc0accd3692282da88b7ed4ef53651013ae65aacb9dcb0a0ec9e899d033c5f6b470a1557f9a089356032989d7bf8fd2ce9c686f783ff55d4621f22bcaf00b1ce6b2ba55223086d3f1656041fe1320fb84b8ccdaf6b7cfc27e681880147bfd595056c2b8a2ecf646ee0208b276423fd5ce67e2b2d727323f8ce15be0e95363094480270e5fda68fc506dad4df0b7956b57ffd43fc71c274c788d167afec9c0129ac26872e94e564c67dd68e8c22e57346f79adb5a1a265ab39e252bacdbc00fbd21f22d054ab4a51741f7392a93a4a7428aa22b307d87556c49a117b92b1135c99db27c0b5d4ea683ffbe8849c8633eb840b4c065f10d77b09bf42fd719931d06d6cb227a25a95dbad846e1553b8008d684f7c4d4ba7a5658ee8468e1d33af1f73bd8c54d6dac9cc2aa13d36f0d6a2377bf6bf2b6be9f3ccd7b98160e09ea3ed0f6bfde25a7e99a4d50b50b468247dcc80bddc1f860f2a518b7e3ec65a53fa3951f8de56b1e6a5973b2db02590983fdd5a028358a67bd6e70c5cd2e2b4cceedec6af9514368ffb227e32093175a709c4780446d0f18767186c7dc86b9fac763420bd89f7eb72aea4e1a9b415668aa54fc65c84ceffa6cb64a5e9909dad0c9b9f29043853dd771ac62baf73776baabc17bf13dd9d08f82185ee468194cefbff856a43663483117c4866ddf23a1c55df5022abadf36c861ad0b14f45d6333cb430ae04875e93711b61ffb8b67c575e05282c7fff016dd21be9aac410fe5a810699db86509d597a560cd24c1a99cad6c64f9b816dd1c6534137b0ea8fa9b616fae6dfe693f7290aa68581bf00b894246ee6fe0fc8dd3d5a43ac44534801c7ed46ca68a84fdd5709fbeca038540f9aed4829837f97609216017b37bfd7cde61f6bfa078f367701723eb40c6fbc00e8475f25a763729755107e04fd2a341a2d7857d126fabe2dbb9276f625d0ef8d337b076a027cb1319536154aacd1f809e9187d92df87554b76e8a47513fc6e6a41cc083bed091a97e890e0068242c57ef5c3e27ac52c7b02e4e8b3a9f20e56ce57319d54200e2105300f556b81b731322b2cd1e00a6c507225557c30ec1772c7c5fa943bc1b16a28536d2173c677aa9a5fd54a68786f796765aeee307344de3f8b8dead3eace46ebff743700660579f4905033d939da7a1ab25bb95fdc97c3311301ced5eadc8b741b94f7566524917cc0cd97bc8b73e396e66cfe72fc7ab05401c84358656be7baf45c351c839c687ef4e8eccb8fc7816991f6851c380880d07d91802f9a216953a41860185d96cc7163b006a3b9d09aa879e2e39330abdd43cde797783b39c728af23f0c9f0d99179aafc18517ec634b531b48e514b2a763492440b748f17d6571c9864b3106d2f925d57f2f55a869919ede9202367283ccc91ac778d190e944fce605a873b27867aad944fce586c0a1afaae8f748701dcae35767bcb3434fe49a7c646739f9339a4586db99609cd09089f74edd8ef84211f6fe864aeac1684376ace8617680d6856d0f57d65ea7f910ca6f37e51ed22123ba8e89e92662f1ed3de7480961c6e3982a555dd23d5874c88e153d98064faac565cde0d12a5b0dc86d9c82950b8057ab1c1edc6da8b2afad34ab5e7b0554d7c7ae2efbb018342f31b14602617d6a30f66bd846e497f7086e7a5b232042c7279ae8e40773ac83937621ce3a97870139523a55a09df7e4c5df95a91065a6d83a29612963c04efce2018ce9a86e4980ca06adb784124be8fdce9927867eaace375a50a9f253d32a7be6b98e476c8ccbcf63951af181a88a16c667696a7612ac32c57565cd9d0735bc307873c1b5a245ae7db244c2539384f9f4ea9d087285ca2276a349bc6fbadc6eff704d27dc7315292dd3eafa21680f6ecb76e59e6c8af5e59470341e68be350574b2b3869d292fff92513b2d6bfe94624115454739233241368ed335e711cb993337411c3aedb0521420d569bd6b7b3424cecc2a5a4a9e09143875749289ca3aa50de1c5454ac35b80628f4b8d4a265507110e4c2e4374a2643a86d9a3ad936ffb9cbcf88f0e9c622f267af650ce5e1a7e72ce9cd5eed360ffa58207129729b5fd8478c6e3f5c268ab8c9ffca2206491273041beb823cc180744d349d02d3dd6a28b2c4163d2a053619da0465e1e7694d65874c8449410a805e918d5bb1ad509b26f735a4fc6d8319e3d705cdc155d8a3c238152a500c0af42372f37c35b0124c26624f99a8b8be9dc33e6eb86039e269e5c1bd2df8fcf4a7b1c349a10cd5d837634cc635462b9b9030720d4ffe7756125a68c9950836fffa876675e6044a9355cc264fe50799d172cab75a492c3f698e03bd616f0f9a29cf93e227bf98b57bd97cc0bbcc01284b0badeeabc20f20f2b9d0b76de0fa7288b9a3ac84d3c8d26d4c5e240172f7216fae634bbaa135e383a9c717e1ec75f1d87707cb605f71deb017dc24e7776d331cc0f4d737fa70eca1ac6fc0b5209eaa1b10c2463e70347d2418dcf47fca89ad3cd796a9ed1c0440b6e500e2ce4d912bc98d9c68ad7f440a722fbbd399c40debd226c20b46f5a825860029d7f57f59380f54b2be853f5da5fa550dab98de09a2e28f95da05d5d6ef4592e5c106fbb7b6237da7e835813d1298604170c928998bc84e0ac8152fcce68b61f8510fd0489d68fcfedf88889e4e4da81e1ec410b501a36a97bac12a9c8cfdd18cfbfa1469790f56e53176b02c9f52dfbc8d2f56fa87175a3cb0c82370d498034fd7cb07c9bef82fe25b47333979857f07f0af82c37e39405101c8588b4e2b530cd846b25210eae8c8f84ba34e3d3b961388e3c76d380d66d6dd2b0ea991e91b06109e9b5ee94e9de2a1d9ef8a6110b5b88e561f086946f58189249addfa5d4df33989014a590afd4078031fde460b4522078af853218d9f7921061db05fa947e20b34c896d8e37b25fcec28752ddc990afbce4a30ff9dca39b0e3a4b47b4035293a663f5d176c62af4dd5a04f5fb80d04eee3415ee5d29dd4533f85af75cf9d00cfb7b1a9bd61efdd98cab0198cd4c32c2f5836a9e1af7761be4233e68788b979458bb19e7a384d34c71d574cf6ae8b13962f741fe28115b78dc52a1b115f0cc6209d5036d506727122840da7d041b321d3bc6101150ee45242d0ae2f748742f68023a52b45373b846598b2fd11b1023538226818b127dc7e95bf3bd9630d14eedd16d68353fe2622f635198bf8838f47431ed20e0a3ac6a9e28272590d068f538c64bab0d937d0645cf8d53f5962fa941374fb54ae32cd86f6a6dc6200bba99b6df16e4a8b55b9616ac67bea0a778d1fb5621dbf9fc79ab5956d84670c45d0abd20bfb61cb939ec2fc77bb3bdd33d7a080d47bf86bfceed92835626d48ef79df47810e2c978ccfc66da41ce9a32bdf3194de381119497bc498cd2f99b43fff2768977ad81f51dc2b8d42f6fde84b0d92f5894d243cb7f9555cd47c4c1e37a5231e11f2229722c4c331da9e529a02fd5fb995a015c31e2dc01d182e5d1eabdfc6f9d85da39fad16f1d03cc36584ce54464f055c50dc391335c40d562bb1a8bcafadeb73a8e63ab428e5f204cf4d7abbb7adbcd1038fdf67b32acb1bd9638e420ce12ee04c74046693e83e9de64bc2a11e828890b3ea58e1b9665bfd5e7e901588a77e6f93f0d3def7d6fee1cb6012fc035f93d95b0e7cb375d4e2be260e6468adbcb80b41c396ae492364019e4169dbafb9fbc657a73a88f143c500f2e921818304d4d7550f3e8cc949a1c56dfaeb463371f702d40af12a3086bdd25fabfac92beb26a00df51a6a81a8d09b31d7755aa9d74fa02ac4a88c205f722c03560ff591bfb880cfddcc902b1879004cfd3741d777627de932c3a56a6713bcedcf21299b111cd3401cf9b2bf5bc220bd9ffaefcbac0ad200679de752d6fbe8b1efc83084ef5195b39068519c82712b5ef2f2085800aafe4b9f80d1427427fbe38af44f688ecca520c7a3aca6b3b722f6a6a9a39c91d4965589b54af80c96ebf9587f9c2b77111e0ef525cb5785bdd2526c39328d043ba390b16678e61588a6468c7386ef502f24fe50fd7b60be22ab5ca39e7dbedcc24132f5911ec81944dd47b5d8a938fc7300aeb4ea093ffe939f2f5c488bdd5f6ece04c06145f0469242276922d226f0e03a805e01531bab7724b014f3863231a09588feca984ec10798ea6fdc88e8f9aa1e42a071da3dba0ddf79edd8520b2de137ae11692c03ca966e3048d47b40712612131436033720b82847272426bbefa875211ce136e980e95ede9f321d464a624024776579d0b44b7678518746d7928deda52aad996da99457b60ee2e9dfe0ffb4260b49a5c60cdb585d4114a796455f6fd879cb2913987b34d5a14b584e87d5b3f6c8e622fe5d36331dc72916d2494cbe2d2b20d57cb817e5f1118b7f44f0d620001f9e7f97f7d7d281d598818f3d40822449842ac4d19c9a5d439f5c9b35714ecfa399f51360f62b8bf55bd647071d60bf71d482c3762fe154964cfe47ef3f472a3fa89a0ad94baaeb5c177a8783df29e7e3b67526d69aed055066451383f3d7bae77f08fe4f1caaf8d15b316b639c13ceceb46cc14ee3897094e66f95cccdd9d108bebcfa065d171cfe203688f37645d2e08502f74465fc16b66702801cae198a8ce35d7cbad05939335d518d7f46a7c9db471a48c42a84b41043b1a2d3c545ff0d822f5c7eb74306018e9f9e3138215599e45fb36ff0a6a4b3a0926cd26f3a7859bd7eba3d9998b8dc531f33312970def60a9dc5477bb62bbd69e01cefb7f17ab526d65bc584735fd528292934c87642496f1714e47b3b12e01811116292627ed17dd0f5b992db54eeaf43f48dc25e7f10821065588fb63a9c8e5d28fd42b37694cbcb1a235a9aeeca0aa6993cb98e30a0cb65ffd3528eccb2e471a9f00f16edb0ba6632c099eb83eb9250098b0a4ff25d80ba7e35bbdea879f5d74f49a4e9ce8a8b3f3758feb1d57ba116fdb82495632d1a9686682007d39d46be9cbf197f1f1cd097c3a408583ae5504adfe996a5261ca3599d1a539b1e983815bbfee5c9851489698f020223af892af1254378d0f9b8f6dd4440654777db85623dd94bae4c8d28d9ed15b5d4edac7f6e6a4b65cf9da38a8c9664e1879e5de99cf89723d16f77e127cb6b4c2b4f2e9dd48f483ca02b4ec2c057095b28e98f0a9546409fe6a3738ee35286280e43e7bba67a20b508ad165c687ef4cd11041bf8f90163dbe3e93f8359c79a5a4e77677e3859f25fd9f1c5283c2f1af6aaedd091d3ccbd4161d73681cc90ad99e5a0524fc090076e2a7f0286fa1a8a7d768cfee78093d68aaab6e86b403e76c8d3f133fa3ab9488807f42f18272e32fa0e0a10e0257eb941b26bf9ee5cddf03d59c8d1cbe9a34dc15a900cae883f7eb2a43ea2d122abe72492ed4676475a9c9c1a8da893dc6018e8ff36fc268f9d976fbeceb7d4e2a90e49d59973eda366a6e42883acd601ef2105aab17d686bd8be5d44e8b891990989f2895046f6a51b935239b44c1751c5ced038faa80c78b0754239cbf052fe8c210d33cee5eb96d5e6e6d6b96fe729d66b921bd56105c24c1b19323d561b61550d737d71ea76bfaea27250294f1890ec474a811885a825940c6f0cf60c7ffbfec2f7e9ff17ef1fa8c80f8a60744821065eab17252474f2457f5de52b080ceff1b9b855d8102670ca86a6df8b74b61ddba09c56202906f683278b0b544c23393b1c91ee2f94a229354563010a751190845a7bf11ca6cd2e5e78c0329cd9b3fa233b804238efef643567db8068db8d56f839e6498c8dc96905a9e6e4c755a350dcf26aff0d8b63c663b0456ca3b49673885a2f45911ab5e0581a8e1f52240e0484a4cb4f61fef5df28d582cabbe6b63a8aa9debf48c772f019d599af2d2389ceee53316044401206be6e7d557cee2968233fe11f4658a87e0d039cc40f6ff7168587066d33f568ebdf3af295243d05f684dc45496d74801277c9c17e7523a735c9a822e7b67122f80e45e8eb088290cea05f0b2355e3b532e043d5420d9dc5e6cf436d7c9bbfebdb19b85da1ef2bd984afd89abd168f6b7736377eecb18175cc59fb6d5a23935baa8ffe682a01f19d666d42e0aa8134ce70ad559d3d3381574c9d311c4016ab60527e44757d4cfacb68b33ca8f648cd7b824343ef17fac2450af1a3b624786fcd427792e432693b48bdb43b6cf5cb83aa260bd3cd3edf88e9fe1dfc5e3c8b4c65944eafdad0a4ce90aa7cbb41f761bf846c8e16523273d90a948d0107e191eff2bc40690b31ae9e457f488d4d3f886265c1614f4943faf26e439506e60101445467dc6bb1b5f69125b3c5c86f7f1d18fa5694d0401e113374a2caef65ba45a410bb6c60796fdef70a1743a2b81fd903bc703f3d662707bd888faffbb9ad7405224f9838d70390fbc242e4ae16ee01e2da4d45599e81f219eb651ab02fa154d0ac0e87523ab61423b6ba8b8f1accb42655d113a3a28480f79d3b9d182a4348a246d80fdb6f9e19ce6213712e2ca64bd11a2cee05bb49df007ee1a8c025a9ad5ac602269ca8d5b3649619cc78bbe82513f8547a7f9c1e3924a3f473342552607b4f2cbba07ede7486f7af048be39570e16356bb6a63b208cb12961c8702557f569e993e9a7f7a964cb9deac25e86c5b0371974f1cfe0ad28f667069e8a7ad2403be113e11176ac283a7b5e6425268a21a3f1da8f63a613852248396f3c6696ed041770dde4b8e53b811748daa89fa4cc93397a3fe85ae0596a20356ddc62fbc7dbcb0405d834213056e93766d1230c70408ee3126d24218d215af5ba296851f12d2f0325e956e43fc2c24cef40759f99f39c0ac3150cc5d643818275328d5324cf4a35fb3c9441c1ef7f75d22b046cca41780cf743848403399b46b0128b266901a38ea5c352b2e2571774894dda25921f0fd809ce371684e179d45dea8294dd35cc196d22dbeaeb3b1ab5315b8241d5d3f7ed6b8345b1a23c054506ffbabcf1256cc89dc6d73de3d0db8132cf1fa66bf8cabe7d0b4a4b1714197ef0a9d9c1343361985e59183d9a9aa16659ca0e8c69d41825962880843c555f5f6012ad57c25f3a2cb09508ce92ddfc0e92633aadb69110500af45b9c75f0f01efdb51368a0a665ed7c974ba2ac0591e591b8d3b87bd8e112ea5f2f5a1a7f0f80489a2ae43131d2f18a924326a59fe7851bcbe4121ee00ccf88962fe839ae97aab83c2985fa2f2aa94739c50b549e0be94610631e827ff1f0d7936c04a147c2dfbfa8488577da417669a9c1a8ca04f9ffbbf5ec3aa431edec6f931d37d4ace6da93cbeea05e5829cfa87af01ec26d84b3daa10c9cf948e91d4f2282dad96df7d88c80a1a2e218fa42a8bd7acb26ab876bcb9f53d36f3814f87e980f6dcced4a0193844e9b149d64923c1365be53d34aced339312e1e13d384f86884b33d224832126b08684c5ecc800d671626fccc1db22359e8438656d12b0d38eb27f2e37ad0e8ab693dec26f6811524641b2afd5499485dbafa6db220af35195e091cfdb92c2bf4ff792a31a54ad47d8d0ebf4c47f2a2a3194f7a599435c798fe9f1e17fa7e3cf2978ecc0deae60cb7661ec4d383a0fab2e453852feea445e4403b3fecee428b6fc5b99085f49b3522ffd0c0396875ad488096175d3c5e4956682a4a9ace5bba33a659ccc3357748e212634ba731d90181f1412f420de472d2e40d53cedb0bb5d8939d2efabcd5e5929dfe644cbfd5560077e10a9a74d1463bb29efc8ba7d2157376fe888fbc7cbbd5a62f610a0af6b07555b6d2fa658430b2d5a6fc294cc19fde881ef8243767a21b9fb30ddff5b17c55cf77ce84f30df9cc6b1be579bc24a43b8e9fa2f24e7998b1b0d47e54cbd8b6b088082a07b49a4606d1286e14323e2804a8e21179fbbce642e387729e385f8148b5885eefc315757b006759f7c50765fed76a08ac9d31cc73c8678fb547aa2e63d781e1b585190a331be2c5c3ab23c5ff24557e657a4090d401bb78cd271a51783786b30a53a23b9724f1014b5a21b6f31307686fab42aa098328c6375f85e19510f023922bd0c8b679953783916cb98f70fda309d5c00f4a489df02a3b22b6edf6a6c5b7b4a7cbb65882e17a1609fd5943645c33b8b67400f4588aa9f428b61068af6eb0b25ec71b9ab9856f6ae7685169b7decf54c687177c02ac01fb741160e66df44534802cfe4bc0fc28163779c558a1a6175a8540b08b19f25a8f7389599dcea4a5d1f2f8868b59ebc8a61ff894ddb45eef0a89da7e03e4699c9d3fb1bf4e3ccec0e84324baf14ef83706983f6f6591549b2450ea7b3bbc3180cfb75322f5febebfc8e7dc3abd22d386931fd5b4cfcfab812ffe329ef9e8b4ee4f110c4b13c17b2f39f8cef6f2db7be6098e2dfd00c26954ca9b463c835c84ffacf5d75d511f36cd165e71e59db7d30b5a845c64c7f98d33e9552abf62dff5e790ebcffb90c9a2637be5f294fcbe3b557c0426a309ae65a6b540ed80cc2ad2ac766c953cd5f912c972e92512d769e06bfbfe192ce04d40605fc3438e58d0f2692cfb8771b5d2e973a4d300663448760b7a006bdba798455aee395e92e8eb698d31187f2a44252ac1da07abf57b86e380ccd35ff6f3b03233372d2ef6ebe1dda472e47d5b085544b984baf86ea9d101f3032cec4e3f3a79e9268a501ec4c15a4d68e950ab1a5770a876c505ec7e4f1bbd8a505ab451dec9ba2a665ec4bb687fe6e0fd296af63a41e5c7660ee5e847642acb53089b9d0c340eedb9e5b3f3d70d1748b6a88a21473c1e25a356b0039f29e866b3145d78fd65efa764d5615391ccb92059fbd3963b57ac54e5a63af43c93f05669b13f208a8c3c2c3af2af0a81e0096349f0805f34dd8491031d625178d5ac44e4ef65bdad37639acc5a96ca65f6d1e8e85b16da4885832f6cf34f326139207cc910d77a5e72bdd559060365b342c19cce1e48084d8a07914cf0cbcf6abfe7cc0c675e26b87ecdda0225eaeb5175b0b4bc3385bbf97762fd2ceaf75bb9a0aa48479152a0e0d61b0f73065cac178fad6223fe4e7bd07f4347670a858f7f34a812a6991a0e4757dc82a8b6220b776833ef4b6814d7b501f8ef5347d23f5a5ac911c77bb34cb4dd27b5ca9218457092e6b8ee04dcb22a718c66f99f6e22d2af828e7adfa97c833d43ca780a61795c0fe43e911fbced6c115006d2f5d3c096cd7e9eef7f817d51eccd97f465d28c2ed076a0d57f2a844128186fc5f12d0e88e9e1c6ede42bf6d2028f07c2012f139af4e021294708667b3a1588d239206501ccea7ae1714a022b7317d0a6efb6e2e96893187c0fb4dca1b35513803af6dcb92d2daa161a7fb18d053cfbde7306f86df39b7cc9ca8848bc79fe9b1d1d7d9a962fd93429ba718d573113a5a5094160b4b4c43803c9a0da27bf0dec216e260392c64e3f585ed3ff24bb9118d6e49e6d46c731e9abcec071c18b38854088a3b9e06fa17a49fbe2adbf2abda5a80c8d468d0143575a70b0c4c522919910d01578e714e8ea65ea492d6b107c7bb0a9e34cb4923580d3891da3ad83b755aa40f8a2da0b2154f08627d8b0a466ee4b89084a95853f8d1da8cc311738b7ea3d67f4c84383e409e1659e3bf85c942ab6c64324b46c585ab8163a898ebd717c08d783ffbece38290c319b8ebfa1cf9c2d279911fb90c96cada77436312cffce8b56a7e995a6a6003e7e5b06b7d227a31082a7562f2a7cc3a82929cef1bf73fdd3bcb3007835b554cc12bfbab40c306fd127d11841508be99057cd872a463f055620e0c445de48c216cc0a762c1348e3d5fed70637a67a0d2d5bbdad32b64bd79c2a12602785323aab3deb1927779d95c19e72afab66c8551a681b814de580277e62d39fa923e35d4b6ff2f3c275c741d6c44f2980a90469549fdfbafb18cff17d5d7e4ad6940cb8d76be6f974c73a33482139ba0bb75150c3d7ceafe7e60f52757d263c3bdd9a234fd3a91339d93b7c320599a59c75e4c90d379e5fcd61dc92592584a5ecb845897668b46370e7f00032c9fd4fc1e1ba873d40c2117fbeb62e4551ba4731a40203dd3b7211f063b26185692f67747d27c4d6341bc3048b48ec41557f1e4a97f9edd5983f68ef71a8ff6e3f5f1a78b53ef033960f174ee954e407566767bd3514aef58d62a2c79529c2986c138d956e8b41e03c58f18860d57b80e34356d57706430a71900680b9a6a763e76a8d29c9b93a31862116f7e35472d19563b44ce9d14b7515b60e68011190f3f7fbd56b688adcd048ba2dedd7a1cdb06dfd09ed44854b3d98bd527cd111c826279ca8d1cab32b10b60bd8b9d119e8c286ac32af9cc5ae9a4fecc84d79d585571e7f80a3ba6c54a107f154a8530835ea93b2055f18be3e5d93a9b6f8108034d5cc786f390564293b384d357b5b6ee637440292dea7a70a9591ae74937fcb1bbfb435dc14b8f5660cda16d2e985d4f0dfc1101c4675366fd440169295b61489b8448676dab562c9f4e9502e0718ef5543942366e91dd6b32cb96754f5327c13dcb2fa33ef069e7513f338fb3019429b5ff13d056558986d98eada4983edc44f60d51fb52221944818231fc65e2a09a9943235177b435b585ade31b32828b777b331bb1b4d191ee4caeddec634c38532294c99056ab28a94d3a4d9b0f74f82df80e33f392c6f18019822da7ba352eb65191fb95ebdc438cb7609a248cebdd1bdf5c3e11ecf6944f109db02b2375f02de70e8f54adef6ad8ca58e2f0fcb3e5979e6c54982d659ba8fea95348e25646dfdcaaf4839603fb5f6c29629c247942f3d31e4d376abe9b6ed667222ca8a75c2e6c085c06bf86138d97838c2788b2a7b0684a50d145178ca6aecd01f5476c4d5ba9590c0fdc32d0e459bab7dd64388838312b85ebb81d86a43d4bfe1782dc92e337e430f358c4fdc42f9ea843f05d6d73bd1a4f0c80ece0ba1bf4d26ff829391756a180573dc6940c7d56a21b170b64f5df4d969e05a2316720c5f623a19ed8a022c3b78a1233978f9acaf9a728076262752ab5460421590f2838d5af3744c62602092d22de48c05f9c215c359c480075f9a467ab54cd260dd9bf6be64e136d06137313ba33536cc72831c63e663288191dcc963f0227153acd9304f7e102b6f48b0c904e9076d801959fe2233ffd87e0e10ec8b7a20ea8d0fd2d84cb5b3ccaff813213dddecc1abc51852a595e443bfeef3782a28c757a8a322b96595f366ad8f344d8a5915a4c2aa3d71a294e617a7cb4964824b60ce6e147cbcffe7ed7955b09c4a12466ae1be043297ca4a0229bf7205b6bdd6afa8afa620df0efcbc9e5cce6e355c9469c7b7814132f1836232d2f0818ef6e6eb2c24d86e6109b7d575c1ea3aad11dce7558925db6b0f1cc7f0acac3b7859ecee78360edfe51a16dd43539ce74835904e08f832618e4fc36a5ffec5351c4fcd16c463d122ae18979fe5af838bab1f167e148ab17de11a960f2ab167e8e32d6110ce0666adf19d2e73c2257014be811dcb534c4d639ec3fb9ec1b8497bf65a0e52551ffc88b93ddd8c74fe57ab1e6c0e852d6aee4530387cfec113b20a330bab15b4e76ad0aea1a779b0b029576661d2cbf15e8d88fd293e02eb59c6277aa08b280ec1d29b9f64c28a4eadc107112d9e8d2d2b58480ac9d5a406a3985091b29f552737d3f817258161a75a2aff0c2703c1fe3e4b90ecd4447af67a6f784da1cb5c5a191b6ee98d7c0d89ed3340af911b55d8948169a9fed3f9ba9c998e3b860b0cbe5d76261f7597fb7999a9cb46a0b40b90fa3e62f216e51114032f9b7e522202fea9cf759892a7da49212e2c0e1bf6bdaee094e41bf3c04ab18d9153e7b20b70f67571d25c8200cf103b207d032451149942e168341615f8598eb036b5ba73d1806821d36442173143c7464bc666d577c757af1c5a6b64bdf5a60e002e56cdaf01e31df17c02dc170cc03d5d2115a9a54c8ed6f8dbc7c28a3cfaf80d8113dc06e690258d447a0353ef071fc610effb84af7382f6ad63d894d584e054e1b58309b3cf36343e850c1934648e2e8c7eb7dfc934c6a205ea750258869c9dcd777ef612fb0030b63ac750094992048c0f4fc7a2249ce9dc8ccebb65758562dafc68c73f97e2502d3804cff1b2cdf778e9c41240f208e68039a606287329f72e6fbf8e83702385924a7ae32bc7e4ae3d8158d0d73355eb334a733079fa2821147d45b471911950c6465bddf9e6f135c35b9831038e8c0e1cbf9f6e6b1fa1e19976c17d097f848a9703d532a0c875a71539d1d2e82cac8697ccfe482ac61de3b63e3fa2d035b84a9f8ea49ae272578b6b3145688fd4233f7a78d8c4963ea14208864e004c78d916b022889823f102b87f209db7a873ce7618acb19e03c7ec916110dfd16bb2cea341f47ce1d7286179b3f50d5f0e7f8cc50a9c5268ca0b14ff46dff9311081b77dea415e1a2e6066299f59cdf131ce6f9e9e2f6fc76708f8ac92d5d1e9d90b59920fa70438d3f23e95cfe8b8be14e9ed5913b5c1105d7ec3d245ab7ec21ad1304c580087fd361021d1e3b6135ae7edd0f9ef3af0b77e33ae52ca4a91a41cf33831626cac6bef0823df028dd572f223d74a6f64e50298dadc7dae91244db85513a50a5ae8edc136ee395e030de8bf3207691d03ebb579a7038d7afad0368132486a5292cc571150ffc2106a7f479bbea54afd10e85de11e9fb5767cc451d1389ba5876bb1ef03e5be4f7c1e8d8742b1721e321af9587bc806a94c96ed96907c6dd592216da121f300e26dc8df483f83655e1cbe3fdf6c1460212064e67a692852a752e8c507128cab1c3c30c748f2626364fdc6aa6fcfd29fcc3d090fb39a50d312fbfa5ade4ad326d4dee78ab40d5b5082bbf7dde02de4f85410210cc053ca8a31d81160aed96069b05cad534ba0e38bcf8d6fddf0c5a52e2f96e6918265f2c22596158526588288d82a85ed828d806ec39c1d82d66b21fe631a9f8ec3095adea22dbac444d7f92c4efd7b1413e6876a9b6e66b2d796665e6ca1c6be8a639d62d91c8b92d32f2812db5947f4579e4a6dab8445982f4601f297d69f1ad3df71cb12b1546a8a9a58fbb844fd074f8104fd1ae96f65e6e35c526c15558e95b52dbb0c1328c203ee0cc12c48451ca9d51b7ca8e6491e46d3222f6e93ee8b782be3121435219aa300e51e145d93aca543bdebc601559d34effae9ca36f95939c8581e6a0f46f06499b785dfa2b5a59789c6d56d4fe6ac99faa89ba7466d5252d4372ff83804176d3e60eb9aa520247fd8bde267fe1c665a454c94ae965343ece9a57448a7bc47b8d1450bad68accb92a91a253baf2f382f75f4012dc4453e3bbd6c06d2bfd6d9d447663ea2ef9b7f052ac588f8c3041457f155818650192e5325232b4a448aa2ec324945b7dd74448552f95f65821cd0bf0ddb1f268f4651a82db848a0306fac6b91e891bf6fd957d5c56181b6fc3eb7e729a4cc29b7eb2348ce0bc47bcb31ad5ded728a2f3d0c69f8b1c2ead4f3de7257193afd4761985195c604dd706f5053db663849efef4cfd2a4aaed1900b8e5b2171c719a2d9699c20946643e86223b2c6785cd3dd26b505ff6900db92c26285fbb0e5567298b1f3c32f513a21a8ef0a3acedac2cdcdb7eea67720c3954a8881b552f030fb9403ec4b83ae48cd742c02aad15d168f542c6e7c81a86c911bde7c6b92a02496a14ec63fb9f7f7a0a86659614e9ca367395ba828cd6a1d41663d8fb97fa4bdb9cf7153f3514106235acff17b80042a50c84e336aa3082b887e58b692a7401b72bf932fb750e5800eedd54dcee4ba23e881fbe80cdd419686719366bb82eae14487104cbd908ae8932edbf691540bb2788a8fc304dceff936128bbabb3f521f64d619fb101b0a8cb39b35959b5bf708996c8fd7873f898befd4b9ee09e523ded6230a8566a7b9cf85471e0daa8a2b7594527d6ba0997ad5cb5399708eee5053e344ca96fe07b3aad2893c9cdef81eb6a062345f65e862e879ffd5c16aef7cc1bb9209a8a1354e2c294a2b98a8b4cbfb591f04261cc8e05a9d0d2036db1330cc7bdf2c8f7b3be7033aa30b5257cfa889735f3504934e6cc20baca82cd56a72e64bb07b571e203e835a9a500f7400d5419ae4b53b40a926b45ddcc728ec9598256dfb8688e7a07130eee864a8d28a2a64ca7ef84aefdce12140d4e5ccc1144686bf34e026507b864ee47ad12546a72e445d467cd5b83ad61cb5c6412edbbe5a922a3a27505d52f866b06cf7e8e2c32da3aaee714c82211c53e92b96672ee646f3bf8504cf15ac35535e2b01addfc5fe3eca5a8343d8791530d2af41ef19811351f801da92f5840dca757cec05da26f1bfba48b4a2bdd3fea3f2bde91dfaf0834393470f307361cfce6fc03fe7c11e2dd63c502c8c7601d060c04c2f256504e105f0283d53ab6dc50a59ced1e246a0323feac23634dc1fd2f3a2ded6ecc0507366ba974e19eaa4d2dfe7b34ff4a23f4c84babb47c600622d599be4c6b2a43d2821bb4a5ee42dff33126b85293ca56b32450c9bcacea3df59b05e23bae95b2e6b141667c03f7e73bc2bf5f075dd8ea62f1c479ad910d0def51b11f7f9742427713bc48e7da98ee6de58588d81a896877d4ad492b4a235ffcfdb32d314042a4d560af51cf4129a3b9b48df6d4fe53afb4e8ce13bdd11295ea9e31a167b739bc4f47e37216432e588954a3981ee76d74a3b7c5c3e53730943337e0a98638d8d18931ef1c2bd9df4fdd97c7c200819fa336475376fb074e1004262628f149415e0cdcb2ff5574a29085875abc03393bbef18b205e832ba3efebe41c46ef11bdb31591a3995f7df8de9f12f84c960718356e15b113a4a9ea50a052230597afea27ced59615b842c6dad3111a4fa03bb3a1e3357489690c3326328867c7bf05c80781b1a0b2e83678cbbe678b45011bca59a479fd341443c0269e2fcce603bae7aa4079b34ea07a617b280fb8da7f75d566f9a51d4524c4930b28ab0b6aaeaaa87ab0b07ada2632ff2822cfe04e242ba76f9f19abc128902aeebc591772a0ba07ddafc0c3c79ffa12a1612c6959662c44fcfc05f36d50bc2723411f22ba2c8640ec2ba341702fde379fb2d865ec9d345a99556b8ee17f05daf1b6f5554745db3d739b8d1b8d9d67d2fcd620a1764275a20606bc9cd13f615eccda6034ff4c8ccafb87deda88150111cb17bdc6652b14b9d2d40e92d76978a6414dd6027b185daf7472a3c63d65ef44690ec28ad4db0dca38b921352766d322a9cf5496432ea01f9e12b0775f379f31a919494c46e6f03b38117503e6a62bb5ceadb6680e5c820e8f75689a4051f764ae2c6307e51e23997934a96a0af08e491591cc6cfed4d4dbfc3e2c0932779cdafc9fafe18dff12695b1f0db6160077e479197f94943509538a7ea7b289c399615198f2c5f4900e7486fd32728ef39248a11590d722b6c2c53a414a37b17beed1635ce30b096cb79d50e8225ae07151e64db1487b83abbab105e7966f2237c92902c2eb968cd93fb92be191b170e63ed89addcad91e6fcbe885d7f0018c901b5f66001d5a49910baabc3faef422b2e34b722b125babaf9e641db0a5c0368fbab4f3cddf37e08b440fe2ec8cd4a06ac3017f4ac8352c94ddabbfd484b7d4ebff49a763bde1eeb81a2d064d2f20ac060b3a3bc174fdefdbbb22b1fbd2d917471b3108eac14c13fa7e46ab10ce5316917fe6c79288174438e43391d28b64f2ba09c755466592dca09639e83073357c401317b3886ef819e9a1b65af98a0d697821a99d402984f6c889b61ea45499e99d2a892c096d562c71fc94f12d8417f0d1bfd1e54aafcda0f25a35d6b00c892c7b3c584e26fbdf91841b40c4ffbdbf12f6aa8499184580601cdc3f4ce9f0ba94e37223cd5a1ae3363226e338e776d8221ca272626651de7ad7b8cfa4ea31fb02a8bb7a19f2b4a4d13219fe92b76fe170137e376f75fbc223e91f27670f737a700980b32a644960ed68068840c066564e3595d0a4227e94446e38ef1e190f44ac030bf72968b56d42e9e3658c02bfc24937bf677d6fb7f420e62680815b9afcbf23250e1806396862bca4b2349716a3fdf2320e9756d13ef7585095ae29718eddfd50ad29f858b2350477cb647ea29220d277a8f486738a686557320218fb9c96eaac99d7eeac0da1604141658c4b547488377184d36cbaf225e81defd18e5311a1f472836b121c33f6c986cff5f02ca5b801d6a85571c39fa5fcf7aba9ef456c3a50ff10dbd182584ad45c40956652f4e01740bf0144b02189ae51b917358fdeb86a44ccdf25979ed9cdcbda504220dab943ed4a9a377f3a872edd243675262c73fcbaab616fbe06aa4ad679b682c508f168bc34c35995ca34ef6915541fe2d79ee5a4a08f110186419bbd60de8456221081fc36f3fe1431e1ce47839d61567c469a50ba775efeb46ee4dc70d43059eda6bee16033bc924019721f00ad5412ffc83df7b0516bbe61194422ac6d177fb293d3321edc2b7b1ca7811d76c3faacda229fcabc633f73df8496d876c7a604640c50097835197dbd7905ee0cb2812ff06d6ddf1206b5b2cd1c5fadb700bc0d81ffccead9b218bdedb83052b71bf005b9841d256f3aac54c0e2222faa43d545111de449f386647912617f9dbca83b1899ae2e03cf5317149c8995709a1f7413c8664b3fed61888e7ae56be58480f112d8b6cf914eb3adb4a3db2afd4ac906125295327d58e82be3bf75a679cbd9ef5977d052dc845d90ad7214ed0d44d620e0a237d5ba573ac140b26bdb3c9998bd56162268d4351addd7882c7e5ea538ca643aee3f620fa3dfbd6981343097bb8494475938774c4ce302ed21923991f89dc5e16975a70edb19dd5db3b0942e24070f880f885bfe2e9a9d122fde331353b4329ab313bc3734dba333e165a92e2b18c0d4d8442154a99342263e2455262a9a4a08f26a9ad81648e4ee9a1f3cb0ea144b3a9bd9ce5c9ea9adc23ed7ca46a18ebc81556326f3ba072f80f1a15436776ce69d36a8f6465933f85741bccec15c40a87a842c438b40573e0773d301210ed7fea661d40172f19eb434288a7469b3877b84d7e366f6641c3fb38d6005d8bc281219e631be9080a07c0365b283dc7ef5ab80d53954449b1479aec4cd31730f281a2923e26c2c33a968d7af75ada7f8c6d62c1938a05daa8067f42b7a148478028018e9d9679832555b4afea57b8d7649d7e5a4d26568cf855dc4e350550a2984d81b8c12f0c3327dabca8d3cf773586dac8b10b52b5654365b825a7af64be159c2098025a6c5d7e6ceb0d73cdb0e1077e8e52ee51e6618c590b209e16153b8e381ef3b20046dcac2237c4bb565b57a8044e7abdaf37c5bc3a5605c9bbe3d835c4f5d34e7e8110edff7d00cfbb6ba640121215f8103311b17894684cda6536d276041a857b41fc40082b91cd302da6e2c32bb9b2a32c855d680f73b1937660616c1a9fb69a5aa2265a1b31aa2c3d57c6fb07d99d31ab4f1f6a863be350be84979dfd581d0e9243b8513bf4b91e78e6fabe6432d99f73eccfe4ad1899cea21f4c3b358ac163942be942a52fb4f0d88bf51310e3480bcb148aaf784735196e8e49b9c7da3ffadeffa46678dc9cbf2c74f2bac029b560af987955a1bc339649c9d5e7fb1b700c793f0445c41b6e16b184b6565a1b35eea1d6551a19852eeae4eedbad6a4433c87a452302d64052b3c7c4e4a7ca69a453a01256b4b6f4c279b326203203196f60f0963d75e1802ba30c9739664a4d17e09904917cf2739a59c6887b83689bae3142b4364e02ee1eeee453769b6003691a70811cc94853b598e57609311b293c538ede3326e820e49bbccb8a9abab13541f1d4e9a40d05608e825ffbd3e123da48adbb7f6e84e43e6f862433fb7b114829ccd00bcc99e26e139fbb9250f8be16eb3d0b91624835585a45af6054430b1246cab0c96501a66d60abcf8320c4b94abe07a90ad5327df352d602638399f8a5bf9c0a45cdd6ffc753948f179f0d1a7b15a09ad870725bddc198cc7b0b15ed592383beb9b478cff5bde7fb46d4a64825ceb86ed8d602613bed34b699b92b051a669cc2059854d98bb0bff1f0845173452ae8b49e9c4d99e87e252c27ddae2e9f301dd5eaaa0675656db09d306f718a008a9c4a71755fbe00c2c9a8cf11af6625c545bd293fbe4e3ff91f57e9a334c2e526d2353cd74d9bd583fb2578dca0c7ace9eb9cd0751df31340cf6e8727f3f02d45a4c139dfde885fd20726bb42ff1428cbd4550f6c40a4b7eddfb1f81303bed9b84489b1e5f98052aa88eb2fab63166b8e3ec2b0bb1d1026d27cb5b2587cbefb8a924e2ba12209bd94eeb728fc17e5fbb7a437f43aff93eb73b5340ba31090d61b6cafc5f33ea2a8d5b28f18896cd6c3257b8cef5ddefe4d7afdae225bdeea348a7a8da77ef9ba989ee1ac56cb0f53e6aad5e722fba19cc96bee88ee9193c31ddeff6c2fdb819752df6cd1ad3f09929c24830c85717e3becf04ff7b407c719f2b312a47b008125066f08be7781036fe1c4aa1b9e61e20d07905cb42c7d8a1b75c48f0a1b61c8d71e18d49803797e7d35d9945f8a26a4ac1407caa9a9d583eed83720022e9f5442a267e4f25e51de972c3cc61b73f0b3efc373153ee503b81f8f16d389525eea7291441631d0f6619740895a38b1a25eb898a4fce570947d5814358a8968e235765a6e3aa0d26485db840a586ffd5fe508b4cef13015523c284b0154e08896c4b1239e4c5fe3b70b7c10c8bac01bd77bbace37a19cfa3a1d8ec833bd33330bee35e88a527f3df3085f99a3d14723a2d752f96d8595099fe674cf45d9509dd2297b1af40340e3cad681a00a0b9f26233ebd0b57b17eab46bfb739ea89db8b5c5d0e54462ae6c1c1247fbd8b006dd45ca546ba54dadcf9e012571aab01a86cdf75f16f512c85933e1d6019b4c264833fec7f85a98a1647e407e02ea1b802ed4e2648c3e71687149dc3422dbd6e9a4f2c472df54288569d0aa0e54e9300c49bce1071a232de3d58f66ca6906e794053acd4487eaa1a7ec31542e555c2af7901ed139a3d8642984693fbb02d85653ec276091d9a09864ab0c26e0e8332880d7b8fbefae992e4552d40e1e93c489086a1a68df720b4f71a14c04312faa02613fd1c0a159187d2af2aa365d905847461be0de689c542b5fbf2c41b516c4b4da92591aa617b4518fc182246a298147398628ec5c5d57985f921148c67f165bbaa50774a2b6e7073afdd2478b5468d26a9409955be7ef4de8e95967cc01003e71ca44af6b88ed77f2c7032e0be4132a70dd7793e015a1248b8198daf0790a8cfcea68de80ecbfb247e95a80384906556d7a4985e9b1cdcee041d82ac14b233bfd5ccc5100ea23d0d913449ed7bfe5cbb3d63db207f9882659e57ebff14480809fbe1e44b9c2ce125068de238fd8c72f3e77ab7d3f60dbe410d9beaa16ec4abd8bccaae17c898707e61f86abbf1b5dd6e1dc4f418bb874ef9fc23c4fb0ef38479f5ea0265e022ee86b29e62de92c8edf32ceb35e1fd1acbf2a232eeeaafaab5303f3aa7bef8c49cde702b2112fae9271ddf2eaa343f79a7bf691340d9b0801c7d16894a91b4febe3ae5dbdb858ad314febc6aa485ea20e5f8118933441834d97ad521ab5708c9c21965041c18af1e047a88211ab0efaca5de55e9be2ba658b17da59fda669daef26dea66192b0f9a47b8788d5dce5041662d2e12bb4648dd8b62c0880e6c6d21ec2ee6a92423c6791cdd313db9418a56522badd869714d54c6262d7a507f044217cc9c7ecdf5bda6b2b61efd795fbacf09796ff34279a5c1576070789b2c3647b8e7e791fa65bdce57512aae9b40e07e097de902920d6889902cd919737855e438858a2753d97666580900aa4fe659885ddf5c9a527996293b37b57a55a6dd82015030493089cd0342f7873f992505ed4d8c9a36b48cb61431a38d5dd1a184c85c478902e752f49fd2da2acc3a391330f19b04d607f339117412ad753b13cff1a6e00b7a8064478df77450aac92a3ab334f33f92bf1ae81cd4a14ec84948ef0ba1c753b3eede34b961687cf22607914dc7b15c2635194e123847e3633aafb717c121460700a91fcd0c4b452d9f4ee71bc82298c38ead926eccdb349b6af175a9ea23adcfc05dbf57bc2c72fe5e97b5b0fc0f52fde44f696cb7f22b071823f2257d3840f92c6100887cd94ceb174884cf3440119c145e41d715eb2ec7b4cca8f57d6ed1ea0c1a71f199a3de33f48db78f15a963c9c6d7ce971d92f8f2f64f03af210a7265e94b69a68ef8c3fa04d82ba285ed7e8a3f5b1d937d45714138b9f785ac9eb13cf1adf173ece5b14cc36c85a3c13df0af849533f0049cfeeb2d13d1b9ae5886cc3c65100bb546dd09fc3188eac460defc97500e7d2f80e0449f0e960139feaff6d89afa61f88e9ae99118d7b482b6ad8630a4dac45b5b9c06341773dff7359d050db6d177745c6226216171dbb8c4dde5de8290ae345fb67bda2024330dfcf7a17808aad12d047752c295d2694527b4c35a496d7bbc420757651d503cf3806477dc6ddb56e95c885e2d390407e69bc0f5216ed93286dab590b595a27829568475fa1e49182a26bc8b569485eebf63871d4b69750158d02dfec4dd8a3d529f30910b0da74894402fe3c78bbe40048aba4c49efebde58eacc36ce8595efc52563431ddca7660563fb86f71504e4f448900c3139c4dba921ac87e7afaddf7ec4151d64f64abb3534c4f2cf7e84a3f7dba40720947ea1f1e9b6b68d2b51921c4665eb15f6b825fb6fba0a3d6ebb990aea9c455761ad88b5c770adbc7ccd97208b50b531da7e503d339d21a8ee06cd66c06fd53bd1303e9ac28a9e95b53016003bdda328a53a035fa3b979e7dcf8c6ad52bf38f46079ccf11a2478e1c5acc73f5552f305321d9cc6c96ee21a71b9f078acfdcf9e988005adeab4c4116ddb86362b9bbb89683f8fff2dc034b0942d2faf38c129dad7e6ca6a9c58442cfed837601080c858064a1d0e8a78d7f70a8bcd7be20013113edaab6e0a2fb91d222cdb5fe3733d0eb5601958d949a29ee4f792b433cc2cef1d9f7cd03a2519efd354146c0e6a35e4a00d5ab84a655c29457532ca42f82dbc40d859ffaa07990a62cf7315d9aa182744baa70e4e02fb5faaf34a9411dae45abb9a354f38e992ba668f955ae730ff44695e64149c1ccdadb24ca14c211502ac51422e300b13d0b591e888eb8938bc074addcb97b6ffaf5a8b544c52c0d6e01708fe03af7ef2b1b925d7d4a98ad19832f54e172cecbf02326b7b78e2388d88b10ed546692d42cce4a157d2aa4daa825089921d4ab2903ad98fcd68a50bf3dde8d31e9a620c71ee6a78140e90aa0d4c556d51a4ef55346d23214511a0621c9ca72670e0963008475d61715d879a3d586ddae74233234bc1b497a199d345fc56000dd42eee180d9880818cadba2a3f392062ce80a6e5d746661cda62265e4c47296a0d4cd8878915ded23ffc5cde5a68c7c6d7e3e1b7be08338e2dc4a55164d8288ca28c1788c3abda7037ecc0e1ba8460e5ff6cbddbc40af8eb03367b72ed518adb4bc66026bcd832f215a13f2a026601469b1e23e8eb7a8369fa52ac9d8227622d48522f0e5507bb759ecc420fb79629931b2f7eb93e8e04908999445dafc45df06ec4af823712cb16c1d5ccc12d0de54d4ef849e754d2cae30a960cddd15a639560e9e3ac08e44346c6c49b3e383c4e3c95169223437bdceab54fa72d79b97f30f73390e6a8d69a1bd5a2774dc5ec6a2868888144d030b6a4bc953e2df54ecfc4fdc0ba433b2a87f5a491eaf9759f3f755e459ae8e3d8bdf3e6263b8c84ef4c07d4999b341a01b618a785de478912f26e5c1a4439c40c8425beb2592bd37a52fae253fa1adcee2bfca2ac675a3c0643d58d6ac8f6c176ac48c68eaafc4d3b3e645bb5605aac97602309ab2a3d0efcc02254b9473184db36be018de835acbe00602b43c8acc2c8f1ec97f5c06b61ef47e2d2a68f49987bb1db6bd9fcdd480abbce1f33e3d20e74b45da9f6cbbc64cd313ed4144db5629977c57405e76070f1bfb323c877bfb63b9531dc7916e0c9796587513298a91fa1b815bbd113ecb33be1cd555724bc84f35021477dc7ad3ad7089cc4a8f25988cd04db94546c860268bca0223ce46785376f45e6dfb25532ae6c820ec1bcc2750ba2e6af787778a3df555d2fe3f03f7acf35337fbd963e2cf82e53a0311be0d38b10256ae55c3c637c1eac4ef9704f65935e9537ee4de472a6572dfc78b7cd341adcf6c102512330574990d0eab33f6e08c8e242db68171d9f8e8106703825ae5e96c5a19f0fc98b13cb9419b4bf7bb9e1ab80ee6c7546bc0c3d8c4f385d9a8ef0b17a22aefaac25336ae0e0c6700450106f70da143c65986fd85bec8512eb5917028aaf381a23df73a6e3e6a7456e4453a120e2beba974ebf1800263034499bc9cc1fe3b3105d482493cc7f93eecae1e0cf599e1099d0f7eac9671207a021e236a6b9fb340a4761e0ffec50cb3e08541b45f5c1a1478322a5f6eb0c26b9fe80a1892a24f0cfab73c07d55dac150dba215398391cfe14a2d65e3c5b100b2e0a1b17211fd78a107edeadf37c6cff7f3e341366555759416bb9a91bc98fef4de6c7958e7400fa7ea3434f3b4376f4fd80b5fd971c221fe84f2fe5ac26e1acc84f89efd01e30c53b3e104cdbe31e976ccf662fb51adae33346e7bc9cf086d503467180a096d0faa8f6e03959f1f8174a5c79a3356a8d02d2f5b9e586f871b89f9c0dbd45e595d109e4d518f20d07c4d051781eb1b29ad774587858d1020d49d7e7010c3aa5fa34a4053da0d2b172ab125d735530df9340539e100d62e67b91fdc2c0a320884ee344aaf10ec449d98c2eb3506405d1f510bdfad1b07a90f97c46b177d77c17b1f92d92d68432d2c7be68c2be4009d0d9752c3d41008fe25499228dbda5dedefc0e7f30530d098539a9def20c333a5eec8b570471c53721e29071c7a181ec47d941a9f8136a306ddf3bd768b334c4662206e1682db43fe19a6682bf2b8b882fbb8a890328ac33c2c1214669e10bea2031627eed599ee9a131f99dedf096b70878947c7196b1523b025b1204b166f0dd9ab7883420444545c47b5de2c18ff88fa7e80a401c59155245d0afd4cf3e30f5592a122fe2a6ce13b6c00bb8a1c77ab2b9d6fd442096efb8e982adcf93d84dae8125bcf39a87ccc34969c1815abcf729a316ff395544a02e23ce629f4441d901fcf17b4acb6b749e118ade5f14d28842d60c65cc045697d1de28d9b93268557a184fd5c1dd72233f0d8d0d207ce0a9964972e825ec8a6f8d25ad06ad3400df1a3b642a3cd46bca117a822d1174cf731d105b9f66764c7b69d0991e805efea37be04ad2d4fbda0e1660022334b26ebff05e74e7c1a0b1cccc8c52995ad35bf8d938a3bebc41e9a7adb2e8d915172bc8aebfaf7d7aab01f66153df3c32f82290bf1db8eba1631e979e489ca414ae1b323584a82673300c9895e1f8d03a19114203889de31d204f4eff19e9e146f07ebb86ff9c18477ff29efaa8a471e5254f6a6f018bc18454d50451891d14721fd80d2206c7cc3087e45f5f8c8280529bb9a68e862d76384b89fe2c4560fba74c08fbaf44bf35ce0f6b5a81df785d15b26d6614dcd5fd00d7831aa5a915f29ffc65f8cce21c27be49437f136819a63d6b5e852fc674fb4aafa62d2fafebcb340382867fa6c6da84d10a08e1c420850a0e943fc7aef3383f6537200b95582836714995108279c52fa964bf529ee7837362380573b2f77c66f62f294787146185b546d35e60cff89a0cd0e20976f06d9e9737c021a024baf602a1250385a48253b17c3f480d8de0f4974b3cd7311c83945fd36c2b688dd254de8ba8149c20a37bdd48ff1c5ee614b66589d72583aef560e98cdea5e21b87c0b5d47d38b00c89d321496c48c409594a379eceff099adf5ef1298cd442d0d9f83d25b034830a81c8b04cc238b738b1118fdb0f274d1511c8ab6154f3e3209375e4e2719423b936a7a43e3cd63d7011090292073f257a1a1b43373c09a4dba2002ff3085976a1ac9f8c34595a846842e4e868596d070bdb970655d90ca1c2d4960f957beb1e96f3070d6fa4eb50eb8a76c26d9eef036a93d73075081f4795d67c1af4d6775a0fd25004351c156623387d46b6a870c8e7966e8f4b1c3312cb7a9013e256568b46b3adb88e51dab6d3aabe2c96bc992cb0abaf08d3c0083a3bfad7b8f2a5300dd90bfa80447f84349771fc23970e2e83c752f49cd8ce6aff75ec91af920d362c02979b28203233b4cf158372158cae167b8502297affcf532036d18db2bc3667e07bf069365b177f2ba22ca1de4927cef93247d9af247a15ee542fb0d2ef723dbe6e4b3b27e3b3c24d2aaeaa5942eade04dfc588483eb0f3539295b6349a1069017b284cf38587c5a11fd19f2d4ac3ce57d1dc5922b9be7b35d5a694362f49907f74ac08cdae9bfabfb35a1d545a222c44a58bf5bb9b18c4bf91c6bc40433dd1bb723def39cd4a7a743ef236973fc48f12ecce2ccc81153e959288c30f7378c0368aeda43f42e098b55346bf3cb1781e2f17fa4788e5c310634ea70491cfad6989795f00e59e56b7f52fa152c6b9214df8fc7506d212a25caa589a3e42071af2f40d478740182d3510a1d52a27b402e55b34c7a99d5c2bfdfd7bca92406c327601e08b9cfa28fc693e46985c5fec5ab7b00d341a9e9c85dbda0b1823c43d15bf6a7be6a2d194d143e8caa53f2881b7d1be2a7880651790584be5e3459a912e775e60b200296e0800558bbe371a02d931fb9913a3356ff5d136e7d2c34d897f4eab8f7b93ddc52c18a381f510c5f132049cfdaa44f5c6152f60a79603ed8131bc2460232a75ad46768202413522db83b3300a18a5494ada050ad012d66341a5671d830c1ae95e22daacf5c11cbbbc16f8a183ed546e6e32ba4c38fe43e63433b32d54813d774ba106b9ae0d9d8d3bf58c2b44e44abf163388994e0390325dc850ff7f6de5387a784b6c4cd74d48bc5dfc5962c0d3089be3119063240b6db2f4042c5c9e9ca040342ea29786f7ba0dc6a46261a854f2d28b639118a95209094eeee0dc10331f795915ce7df636369aa64c34da7b5b2193f7b0cd4d34808f7f7bc72e45f66e6953024db1d57584904c5cbe19ee58416bcf16a88f474895a8626db19ae5f3654c894d7337bcf72c1fc5182cc15bd323c707df4fa1fe5fbe8dbb11102c18e229185694ad39b15c4d5c4f5dab198a876b3e4dbba6314d67ba39688760e371b60d02849285d68d43885685a82dec8c97b371d5692b6066d2127f035d16dea666253e0d64311d1586d929751913e3e042f46dbfee07b8c867f56467fc3c5a051ea7c48f9b85d1f9b964a903fc16ff972903eabae189b1550e1ea0b1aa4a041848d63bf656407b321ef2f8693592484476c3b03d1813143d08bf23fadd55bc107d8059ec8b89f001c2e0342ee46026631eed5807a1267d1ed4e6882e4ccd506c867b069f67ee99c909b8c8afd6dde44809b8bc5e469e555ae7ad9b1ab0a6728a57346d1190ce854792eaafc2f9c472622c0b8a80af5bcd569b71fa600c679d33f589f9f291495fcb8cc49fce8fb356e283563bec41a09b03d436475c68f57b71b295771eafb690a49f4c6c225b0955d9de0a1add9007725e1d108c33b9e79dcae060c44aca0496646746a8ba46dfa1f17c0cc3c69bf0d3d8f5c60b807eeb214ce6a7ea4012aa7a16a9fdfa96be3648581478c914e7e2eb4cfc1d92b79dc384b66c76f6b35f5bcff7a4799b84556e50324d661b341d6d716926cfe8754fdf7619ae4a6c2cc763891ebf72c3055120fe73130d35649f36bb12f771c2f1a138086673b3040d37efed76e5dd0463f3d1a71cb2c8ddd7deb670cdd83809a7d1d56e5f335ade6151e583e440d1e7f4df70f6a23ceb26d34447f9fdd7f3451e6cf9b2ef2fb60fe9f43c1ee52c84e43e70d8bb9e35285dd5a5e90b7fbbb37a996205a127cda0d89286fb1fcf1655bfedf40689e25924c8acb0f9fe312d735dbd768435963f0b9d727e39a15b0e4614e401b8e8b8c2c5dfaec69b8879f1b8c0cccad0f3741b849243e923a6345c1bd57919d7f902acad3944e66f8456b851bb8ee04c29fde2e0c0cf107524b5200a94b08d3505d8b1bb8410aff90ee4aafd84eb83664bf7adefca74d89a1ac2b726e7180accc2c750cbbfea050678fa5ae9fd4d67c5ee553bdeb2bc039b5135c44759a2e64f737e56bcde17cbb3e77b9a5209ca53f51916546b0a0d098ca0cf965a4a5be3e209be26acb339c1ae1f86d991a20ae8ca53177d1aa3e2ce1ce776d61f83673fc108680e81894efc9130f3c2e8343991c966c93713e745935d0a08983e2229391366617e258ecdc15e034ae623cfaf22dee5c9a8e458f4b539840dda252c9ef1e65d1cd8b20807c7493a397d8442100402089e6342c68364095fc3536b603956c0af60f3c230a33ae58c9d6660ee8fff5c1f62e17d423ce22f11e212e7b108bff308e92a3ab238ed14093e94678d3569c42f988cfb7b2a303263d3461cfcbdbb08a6045c7f7f4d17e155f7168683d9b01dd2f8ba316beb291976a40b0929dd0a47c2d2a5c3a76a6fe4c85f3e018b5ee0e5ae85106be3afd0945989c6e72cc59ae1a90d85494e6bf0eb51fe7d5fb5736d041f5271b0bb9b7958766b1c0499bdfd0c866fbae9697b0835ef8afd4a8fd294764b4616a526aeaa1bafce7293ed0f5d953eb72e9d5f94527e376723ac68ccd29950372f498283fdae5f4562a4fc085f952095e8e8c0c24f36de7a3d89c92a6dae714c4ee2df7e04786993405905e78e2f1c11eb72a5a68473acfbf4d5d28a162a0b614163147338a1a0c911e568bd9a81690656bc8d286f013dcd2777f833a69fb768009c558666c92a110cb99345f65ca9d6ea201e04faf2af99fe41bf824e262cd02476733776604626bef9f0348b0fb8c6a61a8a17694678cc55076f60bd61b36c7eba87afa7f9e52bb4275c37da475d2b0dcb81e8bc87b8944f9b65d3279fbbdf5cb69ba5d0a0875120a39c2dd07144f336ae3fdb91f854a23ac551755cda349da7aaa4be88b3378737424cfd04aaf39fb08d399762f31a14a2f05193c0862c10972d152c664401043380e6be1bfa2af4349c889e34d9e8667d2ebc987be0ebfc718d6524ae12504d74045e768daa1999fd77253e324c9a796c97adc5e43bf7768f407cff12b4c3d47ab34305c7f6ccde0a30f9d22ed716318cd03cd0fb3d09ca6f1b8a64a77fbdd201a8bff612bd6176a5ff4aa7929b33c512c785c477444cf9b99168b3e8d28f0703e555b84cdf8d34e001fc7f15b61823eee5617f5389e153d7d317471d0f9d982c0a2745962d8a4eb29f79f36e271587983ca5727ce4888bc8db0c48cf28869867896f8fcd9eab10972074f5701323c7d72f5664af0040585049013c50092d9c67b4c7b900e11f470397523b0df86279b5647101d322db07e74dc7e5232fb629a8255be7f6627f5db1025b88bdbfbd00039c7f21e3e31b834160773ff51b4af720afb51acb6c958e261126802e337d57415e43a5de7c52bc69716b0dfe7b48f4fb2cbab91ca9fa78c1db22649506b66eb43b1e3d3883cf083556e9ee186da8b386064dc4faf65bf58447d6cfaae67e55829198f25584fea07c39eb4dec59a0fc79d8582b3c77616e5635ab75615dc360cc55516c90d532e5708a31dca16aa3770673a0a3ba21a85e36c8c35ad338de6e13beadd556e782bd11cb04d525941606a822f126fdb828438dce98ae3dd53989336f5d353f4a3410359be3b8c7566fb51175fb57a86e71524e842624b10acc6a8a4e7d39a93496661aa25afcbc7884ea9f68e8a882e9b432e10428bd04e425ce3aa31166e5d2430d17928e2c287191a66dc61dfd73688f430e5d2f085cde03df0975a25a1140ad6174cd03b85ab5c93d58496901273372ce66537c438fc7c8d3937dd0e257c10aa4d3c6fbeb02aebe0727ed3604c41c0db5e4df2438dba76dce1fd2b354fcd225d69caf7eb7d027c238c51d8be47a87e7ab4f6c7655669a66aafb0ab82a55251e99b6ede19c45276df78d70a0dee07ddb7234b3e3ffb79d15b933b4fbfc0d3a2c2da494c7828cdacf872f3084a8f74b166837e3dc2eb6eab291910a4bfb7a6a6c5028235a809f1076007d311743fafec5dd129d4d89ddf1d57d6c8a76462911137989a193d2915fc6dd38abd51d2a5a09923b9445fa397880ac7c4c26a6fa67ef59ff352683ac6f0a2e1923e84b90ae4b0456adab07312abf6860d4442b067d56a2ce77e5dd86c948c2213e75d01ae7f954d852daf4db3f322376d0cb062d7089809019ef5d68c36c10aa0a00e5b661c6aa108e5d12037dc1a99352612d07dd5c38fb9cae943715f130aa11c29c8d1e3673c5045c58ca02c9eef3cd16f212c633dabf67de0ed929720d6abba72b970652ebd4d04de46759babe7cb585eb0463d125f7fcb25ac463f550abda3751ff1db8dea1152d64a26ea991299fa9a3c50d2aca30ab76ac227ccf752f18e9f4445c278601a4cbf96f0a12d8478bbc4cb12f7c2bd3ad1e242f4fd283259d48b41e713f23b282365ad478c6de2afb34ad3e7970cad614b52ce8d115b47eaed809232afd409aa4996035ea22d93c7790207906bdcff8621edbd7d126e4d615253fb7fc44e2732950aec739df4cc8c949227f1d1ca896f28e2b0a302bb084fdaa9e577c73a33413d13c5a8b63949c0caa1dc8d0bb69111c734d14e4af909cd6450417f4cf411485ba9f3446ebd4ea4371973c474abc460e70032ecadce8a9d4acf9c0906f01fe02a1c6cc445ee8611dab7a9e0a35c1c657a42cb91dcdb97a54a52e43b2c9380a3391dd7ec073117e99815eefffaea1036f5e3ba0fb633df5e44e323fc9f6ea84fa5f2771c1ec219a0f1e16cd62b1e4f08135e6ebf5a676acae0336ef57dcffe0abac5d049740a63eae937581ed3712d4bf1e9939956acc8689ea6559d0052329af3e731dc36e04eef78ecee7cc1b519c931406c1e9045ce43abb50c855d5534ff1ed011af0b7f92da7fc009eebfbf01e21ed315c1a15d816121b90179f66c5f90e1a5f7f3242bd504c0b55371003ee09ce959e93f9a234ce97dd7cb7a1bc204d57c1fb32f0779476908cbfecd03e1cd0bc5e0b4f552f04dddc306d93a3b39a1db8f5d4c782381248b2e0aaf3d57a0f4da92f528bb2f08ee5eda51cf33dfdcfb9ff0bc95966989727231f22d7aeac9f40d201ec922cf1bf3dfbf186a0a65e2341e24f497ad6bb4441b05f3611f57c5b3c9b077ab8ed7efaa95eb797387c24a824907e28154311a94f7db9d20a8e6b2eeb60621f507197e984e35e550227726752b98ee39f0d1a2f9904399503a1aad2c4bcad0ddc7dc243382031d4a19c6cd6f8cc5f0e39407091fb6b63dd634ee54ca129b0fd9f31c8c3cb489a9616d15506992871350a453a7715a6931817421a256bfb3272d2416680ea1f5bb7a6b101018dffbfefe32b81c654081a2c13acde696c266e555f940286b2701bd3726bb4a4074727f42b7a0549319f1a33e0303d5745cd05b764d1c2929e155288318141447dcbffa7bce5ad2328178a0bf09ae87ed78e78c4c6d481633c258845a0d0190185ebaa5edac622f2a7a4305ed1ca401c68c337777769debf8ae41d4b5c41fe20ede10165702432727dcc0b806415e1bf162e452ab0c8750f951a898aa59ef77a070b790049a26ed0a4ed87bf7da1c5f7e0594e776868a8b5b3dfd530ddea0ab707aa7679a31eaa26a27803d622f0fe858eedf3cc70215130d067832587b9587efe00c6c78c7752815357f7d23d0979fdf5da4f132e362bdd87d4411720a73b292d82fc1114c01c670355256cca5c705cf96b73811da57b2a5f2c595021d9e763137f90f0bfeb297d9a53cc1731adc7e5fc58818ab44cefb3f834e771b625519233abe957275dbdd9de20cdefd267bda7098bf24f4110b2cf5b0fbc4c99097f89f11e824055dc2f1e8f99e22fc07930019628050d666627a69acc3113ac8108b994c24962499600c6b3857fcac6f8b2d5e177cb09664bfe30a2b9205c9c4d3681acb75127820755a7dc2485d7e7de5c281f79f96fdff7db38b15254076fcb7c0d096acb01c2367c477a9bac3a78d84c2dc0db99ccd8592797be6113b83579bf816641609db64f857b5b6b2bc87724d487bc30bd94cf474d7121026c8e2ea2f2b2436394c6948023e318d26d29c708a6b89d3d47e408c360590dae53be428a213d84d02997b49f9e140c6abfa0e9508fb2c2cfaac1a07e295357d8ae2c850b6f0c140ebb626f34d69711207649cc23ea39f075276dc782891fc515416e2bcbed7f7727330f5a544ee412e3b8a3ba03fb36c08c61d874fc0511e07cac6aa2ed2635b90d7355cb58a1885f8ed69bc817b70776ea5da75ea3fe039ceacadc2bfcb2ead661d626a4faf089a1c5d05e0ed43d7bd3242863f92baa04d8f536270f25cfb663edc4f4fcab20d42117efde8baaa9cf2811c3c61e9307c7ac2c272111eee9b74c653f26714d1fa7b51a7f2ea824ced0ffa585a3056a6a6bd3891d20152730d4c7ef94bf25a650cb41fa7d4349ec38760bba08617b7b2bc4511b0548fa4fbddebb3339d0b1897f140737328e377d4215d6a87015b9e9f6ff370d020c61579715118ef584b2db54a00cf87be31651e07470817a8267b876c85b8285b15d72470812a0895b22c31948cd056863f6c2541790cfdf6ada1cb6376c3f4c62858e3fafa4aabf04541d3be19513789fa90b225308e08d87659d32b980f965d9b1782fb60c49ebbd4c3b1a0dd864ae3f6e4fd9417fa508ae66f3c729027cceee4377935c528acdd3497ab56243591153ec7884110fa8883bdc01bf89c56f9519e5a00e6d4b412d00d31ef7303f493fa132de1059942e7c7ad3ddcdb51178119a28a3ecfc07c79e3ce779783d1f61abb541b9361d50a5f9b572787922a845f5d728c6f86afe937b8a0818db01b7b7e8d928f6b4c85f3309427769dd18fe3cf1adbfee103d43e1f17757b4244be874dcf99b26143dd9a906b983be8db71a58f5b576176ab8f6e6a6374554a09a532a9357712cd8421893a483cd0e0d61d46393306228e86abd6de3b38a9080507ccbdf8b2918f43ca60db4c8f1fe17131afe29f32e45bf9e03ba1a1adb5af40fb604ce3f6a6151c139455b64aa8fd356d1e2c3d210afb5f82de9c7752a4a96877e6dc254ef0f54702c57f84c9e8b3e9e5ca1e9c361b1d193059eb51ebb0d36b261186caf1e369e69c7b840c14dd4373dbb03b9d658059cb4ca5f7e9f0f893f3434d9016e0e1d37792997f00ee348004c10fb6852bceb811fd38c25737c5ce3565e7e7c14120b50209a958183c04c90c0abac0cc20d177f622c88bcbb60281d60b77c6b281a830c7bb5aeda7f417b66b54a6218e708ac1f5bf8d1f6b9e1c88fbee985ac12a18e2b0a5d99eb255ddedf0aa467914ba156a6f4a1e232b339fd5544cac2157532452a009094ec5e64a3e68015f3a8668a51d8ad67d20b087430dcca804167148fbd66ee67f23f6ab72c42c27d5e7eef3341c746450b02318815dc1755c1ebc28185aa0b6a0e0afe2e3fe6986c81337aa26f88696668fdc1501392d4a5665957f755d8159959cef22daad88d4f8cfaff77fd74465fb38e6ba1aed8c6def475db75521716968ad9da82ad74f334a643ec26dd3b30f3364ecc2f5e9ea738172990e549f6c324bc0de71859dc4bff1b76b9e472ed9ad3008e228a77c7f8cc5a9043906fd8f10d9a69f5d9c94ed21fa71e27a9e7ac5db8b9ce952aba7a3cec549c77bd5cf99952231570ee450d00f99020885c049817c9abba02805c286b29f15d35d8512c8647380e7f37af0d27a7dd6c22b368a3073fab3e9effc0b15784a3be02598a74a13259c406db038364ca2511e929701ca88071220535197eb2486329beec2c765a28509ca9c289ecbf29fb17c8a6ddddfecbc48f9ec345a3a728d08a187692747a51d60f3cedb04d3226509485940082fc5403c4fc2ef70ff5d036212fa362e5cb3a05a3c8de539b93680f2fdb44c926cb2f6d9ca739aee702e94535d07983ada7d338c5a3b659bd92a2e738368ed94e4943553c2c8b9ecfa60d878ca3ec0c1738d0b416069ba13c7cca1c9d7f9b9ef413172d2bd95f03efaf5514ee7344d2d9d61edea2360e4d321dccd1a7c383703334da020e520573f8ac49adc8142c0817a874993995d9db564efa13c11344115cf0a35aa864bff4f70f2066bbeb85a858e6aa0290bb659f753024a5e33bbe0e9ee1ad49b9db1dbf7096953836a897c6bf0996f18216a047b19cd2699ba2b6d5e62bb50fafd68529b9e7037fcd7063ee45ac6ddb3ee11631171248fef99eac7fe401bea315788286f10bfd1c62314e5455f4d89cd692075dc33f2fd89435dc49c37cf8e922ce121e2e6c4f2bbe760ef699b08ef98a99f0018d10a7264ddc4f3815007eb75fb9cd2008791fa34d676e4068c6b07fbc1c3356136b22899159c90770ee4c57977591450d33860a320c5f2331fe3b5d12186cbfeaab845a4de71f0b15b81393adc2c09add18315c40f2dadf6e43a60e16b40ee9f888abf706fffccab58e066e6d7ef6eb97111a97a13aa84cc95224603084f94ce7bb6baf40c96674fb2293ac2782f3b87e14f982b814ab078ba57497118eb20e4f31a59897305d4ee4f69b0998c7a3e58b1df33439230a8f00e15267e5c8c75d03d088cb0757a66871bfd13337cb0475cdbd19ca460a6d119ec3377f2eb112de134c6935172577818ae72f9672a898f0315bf97c02617bbf16c7aad63f19422efa6e69bd8c2d0c9b649355e833e4c03ffcce096027e51e7faf96376bff7ecd388fa0e6cea82f87a248621ef41ef91fee1728bd8b81efcc14251950e05c3a63f1dcadff4b3716c7d557869b70c22b5603c9354ad9aaa4afa6f40fd883d5e71d7edd34dc64d0dcd563c2fa0e66209da9b75d991d27117067e08725c049285868f83d34fd7172bd9c93c1b70d46f4e73f3a9d4d00d381c232493d7aad0d2cbd64d1557e2ee69bb34d6cfe90ec6addfcbb1053ef101017aa16fdb3f24bff6156bdefc65e52230ebf337d1d14b1d00951b8323e98878d07ca2a2d773a90290d24fef1f585ca43284cd00c80b9cb4027eb35cc4de3afc330cc79d245366fff8069107d3deb4992e912219632b8ca21b045be31dd2611bdf84caeeb18e2b88a26c380f4a63200baf856f1c7d13adef5d92e5e20235fdc4e0fbf99aff458b0c673ecb115cb2b035911451e84b3a3f6251b36d0812a3006900ca1425523424afb4456422fcac17bb3d6b276f43dd45e8b3007b6b7fc4d7f0945c9a8304802839255dd0a2e3d9fed9f8c319e83a92e8c19fb535f7b11736e2977d508b76f009190baa86e707a23fb9a6f170669b78d1ac71ff5f9a77cdb739ed7bb2986721ccc62f11dbc084c92d3da4b2d97b4b6d0f8d29edbb6c8d25bedf605f5670561b877f3340b9d1fea34444ceacab42bf0a7d7829c6ae999f1258cf64c024e15b82d4f2e9a328c5d0d39a905a221bb6c42c4db6145f20d6c65ec583678a4f8b415fede971f90a59f5c3a77ac9a538f33dd82f5102c6cac1bbd95a4cdc4e7a8f30e0b6d619f19db4f8cb6b47d66124ece1362a6b6126bdef9cf7d942137d23e54a8fab1ca550715860091130a80d38378df625ba17122c2053fe8b2e072d0fbea584fd4ee5432b7ad5543f69cdf82081778ae6fb12ffb0958a35dcb3f90381d61c5e2668d1b478341edacd38ec4e10596bbd3fb809e0593a4fd3b50e3c7952980f5c528be1f984c09804d4dc0a566aefa28e55e423bb36d57292c23d925558b044c8cdb5b67e368853c76c4d9695e9665c449547b36e3886e60788212d19967aba8af0f0e8b12245ee8a0fde2b356b952f38c74d4f0e9d058390dfc8bda75a6a846989f135b5ee80870f8e1de4e716e79a9c0858bbbe5ae41ed5a8b9b64150a6b8777ba360aabad9ae099801b15a5d7b690410a4a981f7931081cdbff9bfd080ebb68212b2c35c9fb7a4d1e92081ca8f6ef9ad2ac8ded635ea5d9bf03061657d66e0a2fc46e46eb860519726ef4d497ad1beddad776e0f4375dfa933ab93ef200ff469061c5928baf096c7e46c76260e20be393947707174edd484c4eb29fb3533ac424064863bceb6e92529fca303c227f345f35df103ed25d8ccb34255249ccbc9f57eb28e2e70d99755cf8b0ad73aa67d1d710b0d9a05032da747274e4eb0aa0f459a7ce5f289a066c0d9d84a2f91b958bd953185a867b3e869d6f9ec725979be4533100b4d882beea6007e79f392f4c98e287c6ac33cc6de565cca853d665cde72b13c659b63c96a2253549fdda7bfdda0c91bba6e8223de04253126de89b327f28fc49e9d173c11c35511b7cf59d0387fdb86d277c2a5ce7fe618d70b51d2298d30acc48dd9e7747b0e51ca5e2add90511920d15ffc613aae0cae80a7d56628f853d9f07f97075bf463cfd6e9972eda6c1b8120b27f60ca65afe4ae888b550ffe4e2f0a0cc369d7b2fa36c3edbca7f52f47c4ceed78306b3b2e7aa4f16385c14b25f37c6cb403b5b0973a917be76b1f5e079f8752e46a5ba010364c7fb39462eebb93d8688e4981a83610e592b5cd2bf23422621f8a60847d90c74f7ee185734c634d4e4b4d7efe98d3ccb9ffcdf56de8a81f22d46acd4eebd722aaee6978454c72c761778015ad75f3eaf0eaa22204f16dfe385133c88360b450b2cf0f70d1d2c9acf85e5f2a97e7961c716669d6ead529f178c17f5749d990ecb253d3942f9496c04b818157e25a63119b10ff2372522a28b539c1b60da5e18e1382ec45da545c572f4ac4cfee494962354b13a4a9e3a3737ff36318279ff350129f50200e9a8e09b4d9a6f44e6d9e0b816b8c383840c3db922ddc446f4fd09cc01d9ce984fa8cad01953b25ee85466f648f69f2973c7e87e9c66a26e416b3231c6b15001f326955fcd8e444055649d22773efeea0f6adf01a2baab2ffaa17a77e32edbdbd2a8f29fa9ce67fbfdce296680624b5153c0c2130674fbaaf25b07f4c7e2f0a537553aef311c9e86b6ed4fcd06e15875968113df10fc55269ebbde3067a64228b949c293cfb7d55897b8837d66371520f2c1ec4e4b4fb4de5b6dcb834e4d98a026647ca6155a0d7a53977ee85ce6fa1c7b850954f67890c1a86b8f4b5e05a4e5ad67e9e4d65514f294f82e68d6ad7b6106160e5949863c6aacf6303fd84b16e9c727b032e7361ba6aab5c5d89dfcff168f1fc877d8a43695cab1c98340e3a097d5dbf5e6f6d42a9eeeb5e54fafceaa797bb3a81e9a4196e9fce3917b58f5dd749f3f41f29870833129594b4ddf675275f8f1e91c3856e84dc02e758f4b841ca9ccc28cd006787524f340e4727193de79493dfc1f419e1c529a35538f1ba409ff77736d63138e20ef27936fa54c2b5e683edf58513b24e27a92c486ee1f3e0aec50a8dbc3c3d0a125aa45a743a1be1e90b24c8d0e8053fbaaf937ad7f08cafd820a5362b71baf975bd22bf2d8f52f4ed68cebf0aefa5979420dece82f58a7721033781b9795e7704ce31eb679ff01f6a75ccaf1d467d0c1afe753fe73335ca79c27ab9144311a52ea153993c0ed4d4f46e8ebe58d4ea198699ee26e6e47e3780d62afd6f87da6e5cbb207e81e66fda259875421df605f0a60b207074dc1f9bd653cfa4e194df6b82bf26cc9c9db863162ccf28515412023205229d3d29d9d8a8fc92d02509a218f1bb841b9e066870a073a66fbefdf9c330d12ba961f886b39283463186ae9e6688a250f2e1ba048f52eefe449e020e3a2027682549ca427da8f162be776e0f421c0d256763420f0a2eca29677e4bb4af4af4e9412ea6053bc1ce7d0dcf860497ccff24441bd78dd8f3a37eb79fc182529fe08e6daee61f0c76978138d1471fb4a983bd1a07dabfa54ef4d228ded985b5c43eb473e8ecdb9b2490e471fde5fabae5e8fed64e48d86f3639cbb6af12b381cafad5fe273934e0b8d9c29443f960f541de3e4219458517c7799e60e856d2baa594e8b5cc610baf119e9d45697f4a6c68cb6ab0753b04d30c46c1f8949521a2a4655933348cecd64558e8e56442ad7c0d93127bc90a70b32c01914e4a3791bdcc1f8fa66a9842c00ad1fd098da5e84da3b0f9f6a590ab9e133f65b5695222996dfd1eaa65e89c426250702a20e7fd86c2f9fb7e2c51cd814fb0442b1c65da635b7889e8180d0f4c5013295e60277b47c059860201136a48cafd7364363c5b675b11bf3c0db01b5e9ec7fdb51530495dbf4c64a53c2cbec2a4930543120f63bfeb7c519e6f3b0044d6095c901247371084e6503b4df9d645cbb35ee4cb9db3c7cec949d0fff7a95e2e3a8af5f4325f2dedacd49d7f7802e1107c59a2b143bab14f34c1d24fe706a9ecc850bcbd1d468608612bd94efa53be18194b8ae80333b3b270ed0ec956c4f10cbcc0dd5717d5e54cda7c8e4bdef3f002f9c9218e11c3a18c5d3e1ae64b0d49d8650110b6f51760ef199210214f7a0639c13c55eeec2e2f3f7bc6250a3cf28b9c9d704e18f1504af99e4f1403a63f90136c79fd7b81bd939cd17ff18e5c254ed1a030a88f46ac96c15e9eefdf988f7b584790d9226b3156b9e458ccd18d8fda2430cfe3820e7ebe71f1454ca5050be0e0736af21b26b142e5f4c50bc9df15911818d9b97242c750b42fae409fb9add12d5a45c6ee4ee971e5c0cf178325ae38c8f948e93299b7dddcc6f4a1a181c8e4727754e8dab65de919c48fd29e046c445c72818e59262ee340b46197bb9fb1f835dc48feecd777bda738dafdc82358dc3a0d914cc8dd8d88d5dea3ba247667ae2793baf4e4dd80da6bae64f99057985fb9f090d174cbc36fcead60cd279aaee8f7301ea09e91e6bf115f6805456734e2136b43ec517952c0305d97260a1125835f58e839cf5e5be04c7d8d467874461b8c4426834d5b5785a88155f76120ff8e266b38acab01e889c41c1c829d313558f7fd146721a72e195ccd056b354b72304f3f6320526002483e1452f9a13a0ad52abc65981a181630f6eaffc12cf6f7bf4b4aba545ebe6ca43f747d930eebe82608c86bfdd85c87fe4032322ed97e4e867cf1a7dbe31d5f3c247533df941b4f44d3bb5ef435871aa29b6988e470166a16988c4239eb539d6bce838934827de8a7108f6bb1fd216030b2afd252f445d3a078259945aceb8b265eaccd64579b58c337755392c1ee72e366f463382d261433d1b382c013d31eb0c7ba317dc5b6ad6f02001b792a8bac31fa65de0d79789f3309fa961507e2fbf39b35b66ae3c5a4d7a0b4196680414b3aedd4e0a08c15212bdec41f49a7832f9269e33211b87cd573667d2b31aa7b4026e0bf1d62d146d13b28ba56b2bc0b30d7cbb1d21e0113f2aaf05eb0771072766b88796475c7c2bd1bbfb81bea2ae7451a0772829d891fb5d8bc6d615cd301015efc12f20a4450138428b538bc6079116eaf47c03b7b57f62dde27874c49003ddf31318e237cb7f786966168d83985c0fcc431a880432027cea727558b49b5b5ff97bc1ad26278215eb4db2bba4e761c5ed39cc0e60704fea14e3462710bfafa1ed2d04da300e0b9bab4c57967e9afb865dae89d24e02fd4ba67c7401449f2dc28b4699d6de3078a5f62e890c5b312fc684a2fe8ffbe09a9bc4b2035f01608ef985d4309e64eb01200e797f8be88e0f81f4e2e6843adc1b41a95e6e959e599a8a84bc4f86fc074f5e66934d664fb0357401886635e17f36dad88a4adee543165a18447ffdddab6900f2dbe813b6a81390b299bb53ef1496611134720476472ebf9de4ce6b08e7ec948aae0956923b9b8a34688c4dbad320241beb941854a0aea55b6ef7296c855f9a4624f48f214a201f5a8bb44aee6235005c8f88cb5177b548b98426ee009c287f73427e1b431fa15e4bb41e238b37f8091e305addd04348263405c3e452b128204537fe99d1408773ba19ce97b42489d34cd2558a087ce779e9eb326ef74bc7c28871c493bb448fa17bf0deecb9c87c8dae3285c883c7ac847b63159c21116be7616cd1966a83b6c3de26cc0c4ac5ea008796663a7f2b3e5099d129caa90605d320590600847044dfdab8bd1d1cc40db34d2a2e7a4d6e7233a169ee8c9d438c5963e0b469d52367d4e59f464fcb13959321ba414df961e0782ad8dca8a62c44bd3278e7efb737273304ea8ce08fce4160c98cfaa01dd5e1fb9848167b6f441e667a912ed253b143153319ff23d4f37a43ea75e2edd435a1214fc778e77b4c5c32292286cd0dacd1435fb65315685bb4bdc3bc510b3e0ed66e91f54b95011c533725a6089700ffc96e616fa4ac0abd337b140ca9ee5bec173f552653ab644fcdfcb0d8157bf3fe304f8ffd446e65fe074454405896401d066b0c4ae4fd63ac947c75f9e812ece4f655163e3089629e1a7fad8fe38144d47a8e7c0c461c23c3f35395fbbcc253b901e78db36e18695ccac86db9f40ccab47802df9df86da172a92e71fa6918a484a2b7a1bcc403237765e357ad6e45a502ffb12962cd8584e1da60f5c8c786ed467f6f902e677f7a2e3753a5ed9ba8286a5f79f39c8a1292cfe60aa0caf0dcd2dd0112f5a751a2789db8080d4584d0b05a85663ae15413949d7d7d450eef9fc949db5dfead2a808047febac3612acba8fb19fec0962d0daa8d8a2ef6208d5f98a052791bf1a280b6ce3c8d235104db88960773c319b4117de0ea1abd1d500513fa17b09673486cdcb46bac014b370d8688f902a6a0951d7b9fcbfda938af6730f7070a1f07d8044d173aeb87a145eb12d2088b87661cf9053629973b83e5afe321c0e9a90f7a85032886ff9289b486086917d89753af43287fb2e68f6d8c1222fa44b44bf5336623eeba4a2767e42c08a4773ad675bc08d4bce794603919d2656aafd731e8c512a308c2e2091a4935daf86a4690f5c9379ab97b71b4604c1b9d6bc3c4b44f867a6883689af9a612065562f994e090bc2249f414a1bf88aee94c8d446f5f644fb5ca7a74f5bef2c540faf3550c15e9b5b3cc2ac9bcf55832b64923a64eb14447d0721b32f5800a472f5dd343be8ae981193d3981a4f23eec29faf32747a2ea9df12dcf6284f5f5d1616e02f3a0921ed27376073681fc24f43f3cce2fd935ff657e4a1e8d2c43db9c585a44226dda7bd72e53de6a8aa13f0cce5eb1a6e590e8ad717fa62ffb4388321d9a209373f0b9c6cc98dde8f7a3e060d1f5a0ef03688f2e6c137d82474c540dc921c3dd198b1ecc3fb3da724248e1f7439ebf0ab9de99624649a103f656424f231055283dc8b2a2a7981a7c03e3cf84da03f9c009e8d184da5465fb57d97d49e643e0dda10d22dd3725af58ccf6ff58f575f48ec64a3e7c3b39a95171b55d59e126737486002c551ca87dd8b72c6bbeff4ad4cf54bdcc99fd33687489308bf0b2f1becf10b9d6557c79737c84068533b60f528fbcd0802c6750393e1f46cdd4962bbe9c33224a745a9fda8d73afdf3cd404bfc650ea70c0784c60861537dfe6b748614267da06938d907b477d66dd0cb4329079580691b85a0f2edb476149353810c1c2642e12305f423bcc4db2c3c96db8663949ac6c2ce89d7e4bb6051f6fe322471ef6788e357e81c3539897357684e1f79d785cde3f77c37519e843c445b86af747625c40c48be23e0c26504f76fc1340ca21d55c61c48714ea54298ef6f52fc170764a389bdd4ccb1ba9d9c403ee05ff4bed3a4e4b4ebaba94d6793b76a289d83cdb692b5a0efebed2a2365a642b3c470b21aa2383814f7ee3968d031eb02dc4cf418df91ba0e6d104ac4cc6db2a0f123fe0cc0dbba189c849322f6b3374fbf8879be91f302c6b80c616d81340533acaf7cd7d01b02d35456f6dde10d5b54e429adcbf77021e69b0c574eb07d786c6f1ab6152f6252022a0c59f234d8aa5d51daa1ffbd2407a3827aa7eff32bac41373f9b663818f7476b96f5944334b02d7e7dd4d0e09c99151539f053502fded3099e70c2ef68f590f4828f6e3ef3b24ef20afddc2d44addfe0c886532106420fd30dac73d85fe5a12a7262c8aed63f41d89ed7773cb909d1c5ad139243b68eae5cdaf8d361bd5fbd73c91a9f51aa3eef19087417c29d69995d391707c0e59a14f3b028556e8b08ac32717e7d25972316cd61201f8bd2b54c42507a60dcf49c25362b8fd1fa56d1abd5faad17403c5d6c172b93fd1ed711066a076705777b1ad39c88bc5acd8a9a140687f150d7b4571b4b4a2cae64f2096bea4f54a91d243826c9b3f73fabb6e942c8a68ec10997557b949001253a8c7a9f62dd220c198281ac6fb37155e58fc637de6cda19b9b741d8f265b96cb441ee11a451eebf997724b7d20889c311a2ef1dc2c59b647fc93d2311c04a1579aa55d25341045365968b8191cd33a139cb76d203a096f88b1a0b46522ef23e65465a70be7af887bfafe28fbac829a7f62a4ccbf82eca7b569b890d75875d5eb578835984dfda4aa3d6559adddb8b42e81858798bc1fad4256cfd5915ac4a413c094bf08c8e2d22b1088c6367d9a0b0b68a243be7f68bf939670fa814e153d8fb499e5086e6e52b2bccec77c5a8dd3b0d02f1728538c808ae2e8d562387ce12f565eafe689639e7519eacbfa096f4432d816dc4b1bb8bf16a39347b025c03084e6afa6d80164bdde9113a0ef05612ca41b1dd0b1c000888b359cceae884144854411a14dd170be18a630f28ce77524f59d48d612ac05c6d8d8f8741f320d8daa2396dc80a1761aba23228b717fb856978b6116ca44aaf0ac9f31799085c6dae77d67fefd42a7a8d8508b0b2ba10c2371f44188c0327b12e88d87cdd0e68b45501c020caebfad337c35fb042f667c1b14ba6ac6f8560c0919b78242328398b7c1221151fa51e96e9dff856a16613583ac5eec0ce52330cef2f73b0155c6a555f5805709b76e77620c6846e3a0199601e782bbdbe0389f5deac5a51531f1a05eeed180391a39127b8c39acdbc568aac2469ebac0be86ad738fd53924c4ec270dd7a408ee68bf831766b0f90469f12fd3e8232d2a49fa989ea81fc01b776db881901d674f6701f4593342fedaab7672f3a44197011d340e6a0877e2498354ec17c49312439822c25f015acfeccbd7e024fc5c6127062ca10ad0f229e472a7aaa3f300dc4af7000a265081fee6f76342849188d5936de5b44882832e182cd6f367ac43a546d88e20e3dc6b3806f23ca09f17a3949d27393a1e8236bce39cabd3f3fc8803b9c48c69a5fa54619b7ef43bfa337bfdd97c3515538f294a4b5698704087c8c588e4adc46c1d60b70993e8a8a4ba14e7868cb7aed8600ed5c7c0da3708a5d8dcbdd2ffaefd9b3a29aff5b25f206f9f2a94e782473b7c173833b06696abe7f2e82512215e0815a4e3fd4cfb07434f868091d4b36fdab5f6b666da7f62cd0f34334ecc34036365248b7102762fee4dd7e5672c9df653c5294c1009237781e833e9e6960e1926c426686160ceaa54fd77a809884506fdd3daf5860a809bce8e9a8b90d64b337ef43804999b7bb76e531b78bac4e15f96fb3770e57751295254b83534499805a870c1687c482e2cb41b0c27d45d7f866807f3c9fa3e55f16730c5e95a38757cc1756afbbd71fa5080ad3f2e7f1ea8a3880228071452eb8e3f3b4175d89eb918cea59611644b89975741023c5efb89a6e594179ae920c618e934affcd2cedb131aef82f349f45f63a77f064eeb1e9a890882e1a31bfd49a4a81048bba52241817721374c0d907ecc0d45bb2480f52005d97a6c9e66df1059e0b7ea776067e9aee6fb8c349b94005fbd27251e18caf82e8fa549f6610cf195f4bb80a9a69c7047be80a695f684d59c6ac969db6d3ea4faf9472367bcfd64d69c3d2e52f64d4c7d17579487e072a755ca7d19c55ae1e44518b7d28bb108b28562ff73f8fd1ca12c4cfcef25c50344be06d8c372f0a03d4c793a3165a28b3c284f0ac7378c3e0aa4b55a0369774fcae582511af60ab432ff1debae3c4fa5cd8197db31c8b0f8d6e524ed6b2cac98cf9fa5aa3079fef2b8fe1035b3e8f0b41ef2d96246f563627dc41e7fcdbd7319fdffa738b3f85068070f49ef21491e62b033734b3b49c13e3df1cb031ae8018cd551a5e4ccc1c76efb5da7d0f4637c7342172d56e23caccb016dfb03c9f847f708cabca3d9a94f9452c0405d074f76e80d788db7fc9c783fcd85213cfc95fb7edaee6c03ddda2d34656098fb341286f93bfc7947977417b1c493ab23124bff44eaef4539540f65d906801ca69d9ed7a06a3d8d9b37c0187d9cf7ec33c775ce3b22b9b6cf16a79967a40f255ed1b2f5b6b0cad1b8c1ccc781a39f1c08cfcc6347d1b8b6086370afff8714300da2202c149afeb4f024032735172942200f571e034fbc23e15ba9df093899d434d48714c44ea77da61e899726df81164c41a0037ac215bc8e0e66c9213a20074dfc3a51cfc41ed45cce8befe45659445d1db92aa241ef2793d6420a5e983546858328faef8879b27e2880c040a6caac9a76c002a3b2e97175530d04a8506dff288b7d684bb65ba8d49a46981e96e935b5cb481ef2fa83c87d63c1c52baf16261ecc3d58553a1b0442273188d551c9af74c9d4b89b424f355fe4f8cc29996ea36a8fde9009b83568890ef7ad6a28733b78e325d52017fc1f744df4d819ad9d82895f610ce126529a393396813083f070bf79edd31b1efdde65584a618b5bc61439027aa0459517e4a2c3ae2833ef55c7580fb1c34b82c9ad2533b5830a43515f11e2261a7d7617167deac8fa313668319f44a74335238bc099afccf84a63fb2009afaf2d7129cdf75d777b9982926806a704491e2b5c32f1d0b2064c69b204a898133a8eaab9d8fca2fc8305095efb80a3bf99dccc9e473fd4944b34412333d4b6ccb26bb52cef5b6dfdd900f36ade942b956a3b8638a7fd68ff56401a6928c7d2768c952e518568dce92d2c3c0a3b4475ebb7af608415e9bf0a34091a1e00c0897b93105dd572c6b0dde2a502c86ca353ddad9b611c5a8253e40b4840a57fa0236c64b37c6c4f2560ce6e588eb59b424b24f087305365e4f57a6e6f48bae0007e12da71ef6709e4839612dc7620098ea2d13858036bba8cea1767ce78808964de7ed30d86c76a647cb78d80743181b19f8faa07fed40d62eb26c98c355b1b20375595fcede4967ae5899abe849bda89885cd14949deda333b462650ceeea72f5768c3287c4da8cd89994d02e7c2e207fd4cac7d826f0b47a0563be092cd4b6985d6e0954813cdfcfd85190a45388e5fae82bcf6a2e7e5f9106c97543925d4b34c3ad833f20a34c3934b9197ee7da9cbc39be2166d83211bded908604bbd12a00e078d3b3c5a6fbc1c922b18f16808f587eafb3c8eb828662b24885b6be956948ae5fffa37cc1417312687b02b42206cdfb4b5860519b78ac49b517b4bfa66406e7a48327fc59c7d9c01d640c8c8cff3bdd8d9c268f67648812eb1a1b96d27397630653d1d93f85970ed309dac578f948bd494cd81befb6287f8468a531530b291ea2432e09bedbe4a94bf416adb85ba120c9f28961de54587dae27f753cfbe6cf8adaa7ce5dce18582e0155571c3ec629056a25fbe362b48fd846d1febd9814c20d9d2a06e96f9c4a3314c8b25d4b3262feb9979eb14e37fcfde9fe09da17938ed04475ab25af1fe67ff104b7e0427f211e36acbead30e06920e810a6208306e6f54e525671c0811af5a4735b804112c34b0d70d2ac0165ea2e4387e89e0901599d2f43bb8151c052beef9fcd2319dfadf083dfe14402bcbbcec90b027fd8e8002b3a99b919fe3bb17113e15f83537cc15688700680e1fd1e930422068aadd71ae048111fc4dbbf408a6d47b2c597ca2af8ffd0ef39c13859a88a04fdddd5d702670add415cba1b794e386a436356878916447b2c468e6c627cb5fa780e9a1506496ae92744b3fc6e87c9d836a4bbf7a45ec76ce7dc62c872d5b0aaca2c186121d7fe6ee451f4ae7defd4399675ec2fe9c77b1cd3e84dd93ae95a541051c7ed6c8de24e79be20fdfe204d7ce23453e9e5ba47fee41bd8865e1cdf6e87e81db48b2f6b9d05b4db62dc082c3426e1807fd3b2a47210fc4757f5ad0a6d8dfb88a69b64f1ad216e3ece85eba61e1863030dd212a5875b90250f6366a75699ffb38a5b4749745b555812b9bf2e7ee9575206c5eee337dbf62464e6fc6328dbb51af4b650a13148b2c3027ffc2f82782e55dee03c7949e033f481af115a8588195354dbab1068ea1178231f4059cfa361e756b8a8f24be58579c4e07216bc99c6d9ec10283e0a572dffcdcc5a042613637261a11c9b3e614b128a40c6038f7400be44c7332b439f4904d22a696aace37d44aa695e9131ca274367838bb7625f164364b88bcac5bc2cd10082ed842dadb24d9c613e08d848e3c062f6a864ae7a4786cdcdd201476ee69c39d82b03e446415defc49cc6863ddcdeac09472430ee4df6564151693da79356bcf6cd79ecf1c919119faab68eb6df5d4df5e79a6179210e863f096a502244d5a872a0a6804683094b38153d88f5d75c5864d1090237f24277b996faabcdba6a10a8d2639034f73179db610759cc223a52b174c46bf24e1fc0cbbbee12365b60256cd84a1880baa9e925b5d0516df40ab6f9b95d8f005eb4977f493c7ce821ab08ed617ba5a1c9587bf0d353563d742497184a4fc8bdfa6d19dc70942cd11deada27b73617f1e8c3ad32079a5675d0ce6c8207ae2a793ce45ca5446d702bf4ac7425555a6371c5eb1d89568f9ee305ca52a6403e1b7a41b002268e6fceadd21d3abcbfa9e8dd905c6248693011ea873cb4a50dbe2793a0d32361ec139584fb9c2e62b291a0316315edf80bb95dcc008248eee79070a6b7e92f60a167500a2aa71f54c628953f4a6c7ff5b120dbaf67cba9d6ee6f17d19b49f641253db7d4c3e5ebd7b285364d1a8902d5c44d54703f0988dfdcda030cd3835b780672c9d705e8841d96302ad6a505c34485e8bad550d7676ee7de1e25ab367c9fefb0564dc11dd43e55a74717d617c5b42218795c1a9ed8481e8f57fde44aabd9c375cc0c5dd4bb98b258ae98d8d9dd64dd5078a89beddf83dce04b34545d30a5f95f337eec1f474795396c85977fa81fae03dd860732a3f2c7827331ffbc34d053d80a36e08287f5e1d25a08aa9b460461223aa1700aa0225e6af237b9491036a21d86667da7696abdc7c7b02f78d61f1ff97a01b174818290c76f57ab020decc99b3f9ca524f16c6507964152153e5fbc10611e49e85d9261ed79daf97429e612bd2f1919759a198d9e57355269de2ea4e7651228706b69a43c0c4e59fc106e490c78a8cfe30f433e605e31abb96a618afa5fc7087b36e89f279cadb09c32bea8579cf0d78996687a2d49c2b02e5f0780345ea7129517910bdb78c576c9e39f5419b8df14f8e820db5129f5b85b53e1fa149954cd998efff33e3399ae8b19fd1d1167969eb350b1d6bdab2fdfe877576d9d1227464acef92d7d30aab7d6ed25442040315a3e0d016f0e8bee3aac2ba325bc0d324769c76c5b2e88111d659c89c3cf3db2ec866c61f6e200d810e40097f787d6ab8728edc7c1ac382868adc615153b940ae2dd7cd65b1027cd86894d0204f624850170c5abd4f2f1edbcaa955b4ef1ffdd9597b0522a159fbb494b52ca14835d8905316f0efb0c36b5ac99e61dcdb82a2a747573a57f74568f13c2b80294e3ecb442af8c3acaed350717cfa506a735693563f80f7d91ccad6d3707eeb7c2e35ce0be2382fb1bcd6931bd52fff0d2a97057308548f89f894d09880733c8fa3924bdf1eb026022c89da515ddb24c73f8dbb149a78f3b2c00bf4a846ba565c8b20cb9b3157039b4d5adb2790c14eecac595fcd955d0edcccd14fc40c78e392ffa8157d3389ea6653e0f37124711080d6e3e06d853c818c9f0046b78e45660994c3966084fc39d2289a0f3cd9df6895cf3aa8842def17295f079061fdd885134510f51b40e3cf547656d1f53b4b13ea4dac6925157df56e279c977c14ae48ffbfbe027ad2bbde4df04d0f30ee013f1a69afcf1b6baaec86a6a31850698bbac5e5337581a42695b0ffbae71647d71d1548151a0661067c00fcdaba6bc0c04e4239a3c5d2a5db3ae94082026aeef2d240132fb7434b463f232f1b7dace0aa08041c81222161ebfb598faa90c175562d0777dbf00f1be8e339c767db34adc4609b7b3cc0579a8520202117b37501eba62a8d00bdc2748d46ebf245e3ef8b0b4d664a9a1c690280231075685de1f476c8435c9f37005905c7ca2807c3e1d17d415f94e8f57768b4bf21c5dbd604ca258790b5b8f4e6af91aac763a015e9235e6aa8ecf745e25e39215b992c76bca2c55b50abc55956aa548240c7f516174fd68c5cef56ed084c5fed99c5879913ecc9ba6206e46b7c64b0586d34d659822ae2673187e76864bbc025938a3afd6c6e8fa92968e31d09a5152a2f6d010d854fc4d305d02d49d46a5ad3bcd260bc626a1609d1bc30dbd47661c438346311e2981607d94982ec5a0523d32c2e29fa39d2437518fb97f042e5b72541868d819645fe999594945847a3cc4fe328218054850a46ffd6a5a51185fc6749b51708b8dafb0bf9eea3cd3a651c3b7d6671a729e6658e68f6f2e632228bb7509e0620016373400476e40ad750fff17c3321e994d06eb8297e32379bb14f68c85312cf420c0fc7026cbcd24aba1d0756789c3a5fd52083196a12608ec0c44623f9d0665d5a206428549928a41176e19149a13d1ad8504aafdd891792c35fbf9969415cef2993b64b85306992dd9b09e65b7185feed1a2a348073096889d0c2079a90fd8bfe2a760d9fa24c8186eb74a3e646b3e5118e3d253a44e497cdb85434c9cdc6d75c419ce02598d2a61329958fff36a0e75c02f2274e94d4c0d90e7b8f3e42bd0c8db500e5ddcf1622ecb03b01f0812c644ec5381d83c1408edf50fbc94e81a71e5cd937b5774946c09d245414575276988485dc129e0a439cc698531ef00b89b495fdb673b18e40877cd05c065204c9065ea76b4ac73c0bc76d03f1025d4c3966add660887e00492c671d230f74dcbed5e0cde8a871b928f86c0107afda957eeb9f9c1c8a9f5cc57384e82f7866970363d62951b0aff4a1215218730dca5b4105cab3fd1d25b5f3f745f95f04e718389dc684fc29b2a94a905f4d95df015bb85bd75961fb22adff1187a5394d90f6a6740edd4503372e8f913ae31e88366d0f953c78722b238a74a5b4f03bf5927178febff805b2fa48ce354ebeb547592c9431bd0f3c1a1b4f47d08d9fd716fb18c9c547e328ef1232036b8bff1e165deaecdb5838089286c1cb5d51db7b9121ac6bc624e6dc2551bfb7e82fadd7848a851453bc53b688c8fa098d936942204a4c046c581159bb7c5d5bb11d8479aebbfc3e267ef716560c90625c10a8d5b97a75517216ce5e95e0a924bca0404c3fab0a61fcd39fb7ede7a5d12f44687efad62ffb97aeb567af5ebb8b9d8e46ac2a242c191e1f488c5eb2d6fb96ceb54b93db52a3bcf1ad8e2a34a342541fd7020a774c6427c736a76ea1aaee916fcc0355b35a4f545bd3c3936d89c3f64dd85bfc61ee9d9687b225c53a33d1dd194cd5999f6fcd49797fa465a75b5a8d5ffac8f62575adb34228081d0fab749e7e106db05703a6bf719ac7e3b615b2bdc4d215c4e14fc5512744d93061d2215c168786351cd64a82c33af8d44cede5e3137c176a23ccd3b8ad67292b403bf34e0998bf93b0e56836423e34cffd0176d66db39e9252dad150fa5d5e24ea3bae079c688c36a9f5193589339615ec7d6763f3f21210e17db2ccae0d29b0e7609396cfee88285635612f71bed12cce08d9f9644218cee3806ba173b27b92d7e766c590bb3eac4c9e220fb6eb35c3d36cd0585a89f2e80f537c900b9ec9607f020e76b56993a340cb12c4df3e7a8fffcfed9356cfc2f05485dfd8a8bb22177fda200fcf488c520cc647a0f96ac02c8f8510486f49027835c4c07e47378288134f4c13142572f3a9a7ac5ee3bd59a2187052ddb5df1ff5b15263eae435143b44dc69364b3e1f5e45ccc4b80a08afb3be0079b5ca6a0d5e5552c14672a53895d026b751338de4182f5167cdc1f82f5561c6535bf2c7ddc456368e31f5eb39011cade68e854b0b30fb67a9ee829bc5ff0bd9c39d09458b377781dcd3b15112cc33fc644087f07a2f7d52b99d516705debffdc20bd65e3d91f34adb8de30a0d81fc7708878b9f997d00a0dda101f8ee285d08a116541a1121df60909f63a818c2f1f9e6f001e5efbea2b16e1b7a45d2f965bc98c9752e852b408ac9dc5973d49711187062330cae78ae0dbc6187fb0e2a27b0f82a2b4942106753841f9f02f3f3d405e7488bab5254efd3e54b80c274a1563b2971c821bd44c2267e83659ef98f2482477f94f7fd116a8dafe1253bf676e26bc51449ade4f850938aa756dd6f94c02976495f3fab928f8ff62ac9f661a095ce9e5a03a1c9828ae9eb9e179ddefa9f23adfaccbe06f591ef79bcc930fa6fb33f349944b35567f0b8e7fb73f43abc95dd28ffdadaad7e52e54709f67b171c09aa5ca6cf14b79d53125a6e8e9949d3aec1c416b9b9d9e1a257378ee55f1c5fa82b9aafdd1fd1c10dc0db69e5e4090ea80915daff33f1d39fab0b62ffda025073aa05c4fc327835b8895d89da10eaf45ac95f0872fa154db927da89e2c2a5c2910a7516f6ceefd487441708c4b2eae73680b55a14e113612116ba051af332a82fc26be3b40d95cf99e1f662b7d2913c59d542baf0f2b143ef47377c8381c11a217ae0a5d18a9b4493d46f2fc9f320bdf6495e9157f54e488d4c2cc04c7724544f917d4f4d39f5a3340a0d8e3e1557902f5e4ca6a0dfdc47a14b9c70e71dd5e7d2089559f52c1101bd1ce7a393b602ee1b5ae884389bc32272261cb1c78d4f4aad0c1062df21d58ce8610f813255edd3c22370aebc6ab97742c95c8388464a86f841d73332ff92300c5471d2ed21d2ee7ae40f5d44e4fa50af6e15fdefd18294ececdb4984fb0e5aa2c94545831f886007100b4dd5b6017a68d8aa2c327a17a749f302418da3045e4f12a13468540cc8ed116805e100d33c2e5af0a01889bc6930e75ca45c8678f2208562c5ce26bbcb982fd8b59a9f4b9a3e7048aaf6139ac1d9d9df6283403b968aa5d1bb957c9e28ea980c78a02068265ef5741c35b36ebebd21d1f4556883e700c21f23245ccc40c99ad427224c15b050e4251fd5cffdc6f88a2e8cb223ca68b105f5c6083e3cad2f2b9d0b745517e7c8ee7a78d4b0d53452c8c0a9938ac8d419fddaf5a1b351e9103950d529c16b074ebb4330e5bfca2f86ce2727215bf6ad127a63ac2fc498ca210ea4e47bab69bb96077c68824dd2deb7295b3105ffff25718c5af128317541b81224f743ab91d8490dbd21abbacc5e4579cdee00ec9cb8a0e3beba01f03ff6aab4b32a255987c4a650fab30be4784d4d4b75f0cd054cc2dc4837f5131f150cb72d67e6babd5c70cfee3487422d8963f0aada2680f08d2144974697e60422f430f3706865555e1db165e750568c90eb890d2c34f1745d97c9e2c3f64df4dd057563acb8765a480babc058b2f0618c41c750d8c4a6a7f02ce14ee49106f5885e3dfff898c00c08b4c825747862b8cd55e7c751ae64a5e613e3020b83046bce6ec392a547ce226a543da9aee64f5c15371e7d39dcd9ee76e8b4b621d7c84864c4384403fc622771e133ba663c1f8198b6f71ac6f964d1f8f60a7608c6439abff4a9d6e3290947dd2d8bf4662d1efab61ff519ce7dc55dadff1c5000c49b0615433a9eb38687d26f005f1345bc9d3556bfb3695be10139a89b3abf51b7c97b05ee51abffae0d5b63857b8a90a300d11e36b481f4a04cdb889875d4f13109fbc322ed7140f331d619527b4672fb972861cb09359b92fed760dd6da2ccb93816ac6feaca5efd7608a7897356fea5009805fbbfcab49c853cce4ae0385e6ddc872914c70d8212b1ce76f3e0ae3c3af9075889d1ffa213abce5f56a9ef8c5d91f11e2cca29c5f962e8ba7dfbd26e37f896060becea1e689c7a3b48aff4300056b0994153c05f23a3fc65ef0f4948ce8f5e33c2b3a7a3f4e4848ed3b76d4812a3b7d8425645c8cb699a2457b97c0f13df0447418023a0fa899cf9952e41553c0ae291da65f93f64c9f0dfd17e8ee3939e3273b82c8764f93fbb54d6bf71f3b773cc8f6ff6e6426f9695f30f6cd35820717ba6ef3f4089cacef387766506eecf1f18029c0f3176fbf4b9c9527a8da72f976935e682e7e1cdf087f3bec107fddf158b0a62759673420f6c176f0e0aff74c9e93a0423588aa3150e902c480787629f9dc1e3f8ea63e1bd97d6dfacd9c5dad346079057045836129c1d2d2664ad6d522f4f2a691c1455cab6e15a15743fbdcbf3827b947c7463eaffb238ae319f17db43a6aca1e60b7beacc019f21b89e5043890e98ac08b22306375173fb8a1b76a5aea1a261f2e64c5ef77423020b633ff67d630ff89dfc106809929294ffb484c00250356f40ec40eec1da3e5e43cb448e4b50f15103ac53efea888d27fd5e1d05fc2d98189109ff423179716f6c65d31628bade26e43a2f498a0a2563a4235f5ac6f8c867dc03ee92515eae58c8acd169ff176b140d1917834abebd0d29a92145ca6fbba730e3aacc1347281fd112b32f7e7187b69075147ca4040817c5ea2fa6df6d7f59953ff6a272baf30f0e91a64700b2015c83405aea8b93c1cc2e5912632f9e3676587ce32afda1e2a40798c5ca0385900983dc7e0a54529dca746819e075f2de4cfeec6dabe08c0c3c667ca45861180c26fea88259ba85eddf1a8c303df69ffbf393b690d61e8a631c31ceee9526b6688261ce39dae71e506e6d9032cd0e1fee5693e1afc2d37bda495c6d2074ed71a8f7c335bf9528dd796b98f3dd242360f1b964dae3c4dc5af9ed7a8b9a3fd92e50b8557bead1b4ea2998fc2fd884f870fb11f0b4e9340a64ea9a28d872e13f074dc3e0092e90b69937c1ab49183a94bc18d3d7695ee056ee797059682bd0dd1d847480b324f009774b62a36b678f6ef8099d26da38254436534b19f62137d020dfcba5dd601913c5642a55b4aba25d1e5192a0f9201ae729991a212d7809ee053e23982c260daf59158434a9f1531b5ec6ce0ec63478984becf4be6fd9caa090aa7a1aaf7571f0af801a47277f19cf7a54f0eda655f1c100b2c9ea6d330500d5e1a0bbfd64a2b681a6ca7b873e02984e1cae7ce3cf49d7339855b7443ed6862512b1229fe1dfb259f93ccb4defaad177fc10b56f85d2442ca47e47c7e12546b84f087363a0588c1b63a0f63b221226d8a63f74c99d45ae3a533757c6fc555156a9c5ff66d2ea1610dc4506df4d0b71220d4dc0106b60b86f46ecfdf6b03fcf170fc21955fb76311d05a4fd82d05a6a0f455ea997238ef916ddddc193fcca0e4b75657bd278f31df22ddeb0eb24ff9ca8b446e3c4e4d1a916f645673f7f250197e8ea70c1974b4a2944acf11c01610bc5ecac836b6eaa889fba676cad913d314e4ad208a09be2b1fb54c823b3bb9a51e64235ac7225921ad5c479eb900c7b60cdd78d26b56196386ce31ce244b06278cbb1e7d7052c7da38c3f090f13b37b5e1f9e45cba33e63ef1d6cf14efbd48534debce407280ac6016323fbb4181f227d62a6974b2e0ec0bd4634ee405c150420cd40802c81594f686f5b37126ddb4a5b9a9c185382f0dc051fa9ebcc79814c6ff19b73a99a2d29bb25b056667bd5467f3a00083736a26b44a483ac6d6a7c2961db4f270c4f5308df891e248c37754f2ad138903a4a831fca15c8da2096f0071717f6cdf6fef4fa066912a9e4370441316225a827820c6d6f698149e8c42a815f3d32254ac5d03a5d953d9c16a5f319c9470dcc6e9444d9acf5e2bf40ccf9982d54a0a2144292c7451675c15e42736d008e3ad74c2fce031150047686a10ff42e815ff0521829f24754522d1c19635ff34bd60f832f690f639a5a297917cf4aea5628120d578ef48fcc8123ffe16c8108ed25ee736d558a7c67884b1f43c9eda84928da0b8b7fe916554f554e32b51790f4ae148acfc81964fc1ed86ad6e21f64677336fb76723580ef876da4c95a9699f4a848b60e2ad0b81c5f21cd669b86fda84c03b5c454fb814d803fd131daeeec5905216f6f8e756a16bd0725abc078076034756bc2b4dbef162a1a9f83467f232fd35ce18316f7981bf9380f7dc492f74c655f857f4b964e014ee30e470a92eace2bb866e17eb4c9bbb600f03c75894f87b4de555c548f7b02d62c5eb226b94eed2ece3b1fa1ae55b72e7f359131b6682141a43f03ed1ce38eb881f90cc580ff5837a41710976f1965103deecf1a80e827ddd6e39d34938d9d395ec1472e301d104685301c8b072f515c10738687341fe7d5611ed302850a41613ea0a5b9e39a20e8a2038d23d30436f46e235fe2b6331edfae0ff627658ba349b783123bde3595ae6bc8ffa99582f74100ede9c5c665b5276dec06b7e634a066e6b2c940e6131a8850c29a801104d0b36c91de36702d3d94e19808bacebf7337a6fa3eab80536c2fbe406e302cfaaa5bf85538e786284bb70e7a830e37d642b201c4960e11de63061f8b067211a61c7da7e88d37533e3835363874bdb92812dace446809190a83da5a247788674e8c6e77c29ac0f2f4e3c760d6562edd05c3b4d49db9e919c48997297dfeccf51b14a93919b0d8754106e7196b351695b7eb2fccbc5e933686e7d06dc56902937b1d95e07f0d76d3d3d5c0aa42f59d0b5f568d9e2c2f43796c7c60b59a30e79f17b4f322c70e24493a60bb755d847777eab085fb5c8d1360e66a6b5d357d671418fa1e51bf77c8012fea6e71f93fb913983e308ccba95296d07964e655424d7e0bf01508a5251f2a023c1dbf557ff328290dae1d13892d1c8c9b0a9ad81cea77344f06a1b796ddddfa8707f5bd950e9aea1ec4a881326b01c5d7c241fafe8452ffe4b873225df11bed332d6c0044b2871d689687ead9951f1eab27f6d4a2881a41b2feea4ff83ac9a6869b0f2539438f0a312b2747d88be17646845e060d74efdb04fcb4b7333ab14432bdba5770d20e3c93fb97028c06e21da3fd8dfaf5175e8e0b25ccfe1318945d423a187b20fec078c9bc6757c194bb2d100d389e927ad1e16ce496fe568fc1936a6a6f1a95bc577b105ee2aa9c4a81fcbae369ee552c39e431b8fc5700caa4358683b8ba0c27c40643a8b8198502a219ad70a0f63b54989c456ca5c5ec7527d661f92a602230f1ef5d515fe867fb17d61bdc7996f9463dab84458ef090d05f555a3f50db80089bc361f9057c41bc74ef2e93a96da9221009a565588a9e61355aac2d375735f900007293690874a349c08bf2127931c64f6933b6c5620c56ecd984e48a0a9e221be48b17a2a6db7cc1363693578a7eb422faeee8ed2cd59037b4d75d3357e2e22e341a862e65fa595d1acd15b5173e7f805efde1a7cf41725fab373a617c92452b8b18eef86b3c0c1d227f78a56d14febb56d1aa619288ee3e06dd14d5c6bf1d333c5e0053f888c2b74688151ed2a5493ed840c948c81dd16bc56b726c31b01d6ccd3d9a9d2611af4dde2451b81906141ccd6fa99515a90b209565d4d5fa654841d18fc8238ccaddb32889d92208e5849a03fef8ad7c6b438b864819c6af170457d7b2a2d102debf8f608b2104894ddcb1a2dfb5bd71160889a9fec979507bf6e3645c37a8dce519e4e120f36f77173e6d6201417938dccfdb3a490652a539eae79bd4e2b64ee6c87adcfd5b98456404f23d17c4ca18e1e32cf9ea3f61250f50937594b655b9de3d186d41ed1cbb99d84dab457c868d6ebf67914c2f4636481aa9eb11f44374fe493e53da6412963a2c53c9b1a529a9993effe4fa4f1588d84cc4b217c3b563e863199eaf29d0f78375c11d1857d3f0ef2f9c13d6d137a0fd658bc03db6c1fbc6c19f58e0cc13b28eab726ebd6660dd6ed2a8e99c5c1819b97ab9094c0b2eda1056de2f96e23e24c751b87304b5cf6e5c7d7f1b207e95238a02d6a038d277d17763a46aadebb5f1a1ad29296ccde25c2b91a6d20f1aaf01f2dac1f41541c882c505f68f872380ba3204353deccf15e3aadc9138154691acfa455b9158b977a15c717cbd8faf75c7d2742b81df1f2924efe06c1bd048fbfff16beac9afa2b2987f2b51e6503af55c7493686caa0456d4d4a55ac0e95b86a88f75ade75c2aabd03295451414e17082e58df9b1f9f7ea2ea2a5136fba408fb1081d65b7b1a6dd4260cef9fc6342e4e8f91197e47711c80c60f891af1147cc0d604ea9696985962b4576a55d642ef45e36a275bbcb52f250496ea70e01ad9adadaab404819de6e9ad398eca5f644ce1a02fdc02b55e8b9dd98af509fd190066839223d1a9dde10d6ee4ef0cded64f4a75dce7efe64b83af2b75494e9c5e833b472121c4b0f08bcf051c2cd8d6b66d96c209cef43354f735596be5400985f2505b5031589010e96298e85ea175675c43660233d583c52bbf1e20f107c22aaa6463d3fd826051ff2ee1c24fe9140805c8122175be2ed9b4c6cb14da19b27f0c63e82d25dd520a18ed1bf3a3b95978d72b0ec98a86565d2d56ec16faf16796954de28a17243605d77f1be66f68ebd3d11f6922fc0318def122acc1135fa01f4f77e187aa310d217ddeafd2f344fa1df3a58d27932fbd5a1f5e393273fb228a15bf5a7a02ae68cbc45d55cc7efa70a96b503fc8aa639d495ca6453fc4773f34cceb2bd870f9eab5ddf70699139da391786be0f3552268421f5b82f939b54e4bdc9a94a27d1780d79636ed68b7086ee8c84e81cb1dcd6a801464ab1da5218a9720f34abd0f86af99a242591fe4f15e7c1055132d66c5b730c6a1f8dba5b877dd3654be20291d331a1a70c004f42f26b11268eb3bba565819657b78dbff05341a49cee0b2415a065a31f73f6cef87a7cfde6e70759204bafd89399b63139cd29ec0bb7634667e3025376180d9b98c13683a767f30b5fc93cf2dfc6bf0b2d30f95cd8a2408bb1625d39aa5bdb03232666e073b496992e6b7d59defdc9a7f5cdb22bc0f6b08d0a324e877ed81ba2e6fd839a7e47c73dfd02acc36347bb68aa11020a35dbfeebf4c3d5111dc6014f450f3b05c810c2001fa35ca0be06e154717c524dac755b93bc68502e012d9b8b78aa39546dc9d63232ef7a1224afea3f6243b64ef818c990a87cd4468e0a2426204972d8b1a3cad0f9e41872b9c2dbc4f2447d92bdbccb60a6618bd4f1471ac2ed97cdf9ea6f5237fac720acccafbc73227f5ea69d19f43ce91ffc99d78b8a672f728ceb1ea29ab34718ec56325ebde0aae797c986f1f77abe4e2b71f003fc09a44903fc45fa7f7ebc27032cadfe4ae36a983381544aefaaaa5dc5885817c0567a9830e275248b3b986779cfc0768d03f407c7c282bc030c10db3c25c06cd19f0dabe0eb677d6cb01c46a11fa5d01db30ccffbfa6b3de63ca11059ac751d9398c65906ec0dd9dfd4afadc56969eaaa88d98329e7e05db5ccba945264684122460dffb981f111abcd54aa10385b6bf67ff8bf8dbf1dc0da17d2b400f39e284bfeb08470a3f0e1aef0e586f106c762ba5d90ce9a4e7e7d914d0d40431834f164656ec1c498670c5109ec5261c819b52fed1c155b2307d8a7525913cc7b53db118c20fcf1fdd38be7fc45a109babd0c82690c0edfe0bec2954851160f02e89f0c3279c3b87620e302deab8f8761ab58490159c082d00dd457083328e3c084bb59310975b3f76b1b45e2340be0500f9697366416d1737c5e7d163915be495de0d18b25a9fc0a085c893a82f90ecd8cd74568993ae5fefe27b7bc39411fed40b125e361ea6eb10675a90dfee2f0b1dd50aec715f1b44d869b049fdce44ec90523622194e9ee21ca7cbbf17c5d11ca91115f2030cdf1f5b251c6692347ec9994453b72549d001095d486e06405abedbf5059068459bef669b180f782fae20a2a809d5e78febf5323402219000f5c705a8f42f6492e8e8e7764ee7c2fd15f935209594a738dbcb92fbd8ca823f7de06ccd1097e451af442e655b9af817b74cab2d3f28359f3f6f114f2a906a9adcbd81cf53451fb7f5bf5abaf1707c103116d09d9f591b95a7e031e01a7c42d55a9137460e517701844b4d955bd2e1fec0d6a2f0a452950cdca45bb4404a0ad11b6f70b645fb171460c2712e17aa95e347d1123ec6b4e52870f7b41e7ef305bf4d31f82b0b7bc53ed3b2e0c1aff0fb25172a2d14e4ed4de43e2086a7606138ddf15ad01962ce21618d6f4e678232ac7d387ca6a759ca249e2c357a93e62e63cf291011a89a84fca8ac5fb2767448c4a21c8631c6ca3bda5b98f826ba585a47be4b720be655eaddf840b7b70a17148f7716a06120ba3e43874520d20a2b609ee4fe556c5b3634d5929d9a7b959eae4c97270e787c2684ba52210669fafb279d854b60478919ec300e906efee3d1a9e4e2006951c8da1d5fb714769e043a30726115f4931c1f267f0f9a85bc92fab787c4c4eb9ae4df1c0b0bffdb92e57e7ea2c68141d9129d848a6994556fb00a41e658f644d1eed1abd89d1b45871d08ae48f3a02ba0fdfb6b8a42caf112f4cf114e699aa9d419f2c61ebf891463ded310300fcbba7eccc86322763f831ffc88de8c80913cbf9eb1eed3a4ae037c05062e236421033637e8e4f39ac3184c573cd4a513226d807c6207baf681906c39700e15beb5098061917995971e0e0243ce1853ecd0bfeea5e4ccc32e7bfb1f78deb99ba472112af9013728c15888f874d17bbab4599f848781b8e2979d4ac13042dd702928b41ee7c563ab185d4a2a2c6ec2913bcb53210d12e91a2374c12fc78979ce81d871b64b5988d2d36f4cadb3a5caa119c90e5069ce7c3ef7d8b0ae57b67c554904a619be22a1cce7ac105540622a8f9c7e432d5a88ddf9e4725f3cae7d8734b1a775001b5b11001adac4503ad3cc84418e9c4ba6be40c029c1fa43c47f1db587f60f6001906e96607196b70ea54e9e59c61a847a404ebeeb1b0ce103ac3166588846127e649c88c9c83ac16ca921454d0ca12c922e944362c3e60ea67f1ffba7130c248d74b2483021209382a3202a95ce8ff663bd758d48aaadbb8beeeaa178197ba88326d68514f88947c659c41f68cb69ca4c941578094347ec446bf0cc30ba6f8dd06520c056928d1c9786ac34efcf1f91f05ee3522058190323e263643ef1c030303e307e95ce8229aebecd3a4ab16d89a2657eee1a6c2945ceb21261538339a6d3a8e10c150dd23b44375c126b29f88d27e14aa92fc89f3af7605a6a8acc8ccc5688a571a249a0050f9cf44b4b999e41cd0390426901d24ae939a8341bce3e927228d751fd6d415eaf523cc1ff937746def65441b3d4cd4e14534382347f0a111af47b0805a216a50f29c7cc5e867d07c90a5bac59108a29aadc74690f94fbb9541875a3866705601df427aba79797f50bfca22e889054638a02088f12049d76abbda8c7737470c94e0a3a19ea8cf79567de6490815c04c18d0738b0ff45afeaaffd09da13ba0f260223271a1d4025bbc54a1f0bfec1a367b4eaf2dcfbe5706ffca7d535024ea118c4fbd49ddef8cd1ae9bc5d253de39f64e8a6e290c3a3292d8d856a0a59d07c34397ee457dc8aff741b9b7251a4878336047316cbdcbdf0f56e5287b73f3164337985ef0cafc9205f7b6b4c8a78088c8e5e3a6ccb343ca5a1571f2a2308768acb1eea079c0f6b8109857cf08232da7b43db5f7daf6a27c1313dfcda4861e45ef5f467caf4e4a389fd4a254632a58b70ab8cc8a4b8c9c8a6f571ac7acb216df4b75b7e1471ae83dfebb52252cb52b0ea0d6478d04ea5a59b27d1d625e667937a20e0a5bd3a2c5f9bbf0b57fcb96e265a85d86e9ae71020a7223680b7ce2107538b3247a2c8e19d34121910314fac9f3615f6386c02a32c6e50a3d3bbc80025df14e35cddf34b5a585456332567f862da4448290cffd3e89507acbda3c0e7a83d1f30dbe9c180300f2dcace6803e8db9baaa7ae26bdd752f65535bada14f44cb1faecd559ee8994dc0046f34fe065d22559af7ae9a44f6abec1de1921e46a95a4960eebb978c6a96017db4bc4d0ac5a954a11b91ebb895d80fd4b6bff62bda4bbf048284966f0fc2c174125d09e33df79dc0c54cb3b3cdcf6eb0b31cdacc6ed4ba8b7ef6239f445ae50551c787619bf789d540d1551e4ac78338dcb1aa8a5abfca18f90d3383110a9baba50a8102c073bb21b932dad46f43c870870e1e7bdf96def9c082683be1abc821d30bfe71cb2115ca3356fe82a706bcfdb6cb8bba4a4e07299d488bbf9b5900be0e0c3a04ee5df70a53803f62c36feb92920e1f884235109f1b3d7779fe7dc5baed9755fdc141bb8ca7ded8747a10b9f390eee1c1d1f08460a6bf2048ff06fa095ce11c20d9ddc310b6d1409161301008d8c11d09397a2cc42cfe2c3d5cfe1fc2a722778b15943238647c117489ac0ec4e4bbb9cbb5eda8a764fea4818d7bfb1629dcf1ed61d1cba22bdd97f09da677e62101434dbc552fd54dd95c3f49428efbe8074b0fe20283c53aa8a7ebce6d891a013d25573327576f53148bb7160ad0639aede800bb9cf5d36355d37b44f831bfd62938ac26737be8ce4509ce7ebd1bc3960bd51f50ec19dea5ea1994b2ec247f1ac5e50e81cbcdd117e84fc7448967584a8358947708aa8bb55383bd14a9edcd23a0b7724a9b585c679f9e7eaf9827299e28eb9f0893d212b3ffefa1510a2ee2522650186fb64855bbcd62b748bb0a16c6aaf15ef4734769edd09ed408c5f6eeb05f5ea56dcb946d751ed88644eda9d56faf2a1a49d748a2d017e0d49148bd856c0d0169c321b4099504a58a4078655316e68bba23d7a5d51c9c42788b799354623f18fc93a2eb34428c17b18527dd0a0f95c8f80045ab2ae6b82d7f9e7464b01b2b599d46bdb37e3223110f12cb6dc1fd54644afd39383cb5d884c35e1d5930b6baf235c7afa8721574eb477f18307fcd2ad973d0dafcfe32dd691f3cf1743ab8d00de69320a24b50c6c0da306c4ad081c822f9cf7378a4152eb6c9b04a5d47ab278755d3c101a0cf07a7747f3f1996dad94b5680fbd5b1a94ae89275f54608c8c80ed2b3c4c2a318a7d021e796f40416397f5ddf7d37c2f50a29517fb3b1f4dceb39a9fb5c08ff4aafe377b7fcbd0cb53613580773cac101528df853144ba2c9fe12d220407f5932c9cd936c7f6eb28fe9ec3afb6059bd1187ce27fdd536a65ad5f6b892a680b5271dc1539140d3a39abafb2199b3db3b75ef25fd93fe4ec52a99d0f05341c1c43884318ceac23109b429f8f1cdcbc057d20b9304c2ca3df1c7924dfbae7a1c3efc5f8880e04bcd833cb759600e238113b488c7a23d17fb0f7914617870fc70b628dda5076ba76a405bdb758f21d03bf8143b22bf9c5a0f84f7f93aa3f84f286645d090592b8ed177e7ddd186a2ab6946f6217176d15db389f24c4d6e339bd87d9899eee56f95dd0e07351ea331067b18a757a50d238bffc3c88708d7778e9e438f461cf8e7a3e34b79eab724343fdac63559d8ba882d3a51f42dbc3f6e434887d8621ee86c544341a0a5b4a9e531ecdc14bf0f533e717a9052c3328055909892d2614ed1ffeb4988085c3c89746689501ce38e78dafa94eb51dd65dd78d6ecfc5773104199ee12b04db096850ea2b216f9bfa876be92f7fe5f2575b56cee88a917741ad621c5129565428fea7ccae801036693e01fd473558a33a7ae038a1754a8689586765eb6f09a84e8508f65152503a87784aa274ff6ecdd61c3e581d273790ec7bdceed4da0956f8c7500f3170a125c17d878a8e9127f5547d8a0b7f8ab843c10143a28fd6d319fc9dac3c013be6c2cdd672953021bb311157c2fd69c67a22a864b44fafcdea5c2c164e2b89541448b46c841fcc7f22067dd79bdf844a64da7ef98d4e760f8f291e8b54cf8ab575b727b49703639d1ca2b06766342b2d3df96b8202b9c796a406f6a06d6501befdf5ab1f71a24845bd29030fda2339124a6780f24ce7e5d4dc47277d0642ac88a382ef5934895e0201714ff31320c9eabb03358a44cbd2b62cc1a461df7b765511be3d35be3305aa209ecb5c505c15eb027dd367eba9bb2bfb93d2abdb2440fdc8444f9281bada60156a3f25300ed9d8bf971b33e995acf5b0f4ae303cbd0d7a95b1ba8d90dd95732f26f59cd4238d0b807bdfdf18b2cbab4b55a3a57a63d4c689641e397f5411208a7d8c2f6623a8c64608d79b4a69f1f1fe22906939494b225dfe2f11ede2c3d8d655d91a5629bb188d7ce690b7a58baf3c7f7c5471fd030d36119602b6614b7ee3f175542e28b802b58ce06e59d01c40b161445bd56634c2c4373ea1a8f8006197b4eb0bb9ef46b2ae96b9cd1b5fe76255874daa851393d643a441060b843ffdebe6bfbbe23583c0d3a1ede23cf91bcaf5f4b7ef19254702d9ce5c79199ef2364d1f9febc2d843a2ed21ef979908616cbe9786e853e0ceb0f53124648c7c92a45a26e9d0aaf48799eb451f8009e80ba1999d9481986860dab870ec68743b6c59741b70c8c54291f157877bba80976f473f7fb9fc281f6c44fabc870a39e874563bca23097647bc19b17e30929b19678b81e2514f932d4f06e466c16f4485c72e1872126f7cc932d37ec5648910158ae81f0b576039f20fd671bf1569e3e1fb6d64b7dce4955183a949c349e197bacf23a8e1104f1484a6dad7808cfea7be7a95078a5eef90bc86efd23c10976123f160052464dbc62eefe9162710ad05ce662b5cd6e79d5ad61eabed467615b784124722349478f759be153f69871a35a1ea8b23478167cf7df45d4be9e138f13b723f225cbdb89a76788258e71c4dcd17aa8ca3ec0f6c599a6a2fa4db1abe86584d750e89abd16c53f05329ddf8e944b8cadcfead83c42e0d7303feb8803adfbb13ef9296c9651a1e74c96ac8b765de11188a05de0cd39e7d00acb6d1c4d224c44e8ae5c1f5b9c3bdf70775621e3c283c4b7953f41f72344633869dde480e7d2fb5570294e4cba88d4a001c1c3518953ae74569063b98504a5634ec7fddaaf7a013e9b91318e9597ebee4d28e3e65dd177deed52c1e36ce73493555a2c29c0f8832745e930d8fcd6684c5d19a5a2b0e250a3a37011e3e603c3c72023f14331547ee13b1575545390a98c1e04dfc645e765ebde644d19f9ece29c78f6a694e0c777f476dfe25e3622e6688aace9e8e4fb78484a573ac9b6acc5b6c2ed44921eec8eebf0ea95c8d1e01476dfe62c85b23e4cdc78fb8d54da8966a8b2694fe2b790f2843eaaf6b6753497b3efcf96d3da1ec6adbd83a819df38e5a24676a88d4bc2ac01073e09bc53636e7b018be8deadb6ccfd79f0ec1d8b975b7cae413fa1ff04b4d8cc886f3d7911c6b6c3303d6798243d19444d18739ac7a5e0a428cececc1fae9ae9de96274b893152d04e1d30c33af86801a1b7782a23dd8b37b9edff7f9f130b678445aeb67e4b2cccc4966d28a8237881394fbd2c9eaa2b63106aec794ff3798711182ac59dd31787527b8c7aafc64b6e068c81195d258739cb5c356ac1233ba61edb16c27b21a206cbd969381b1dcad587d95094d53255f5a9b6beaeee142954c5981c2fa4a63041cde5b6bd26a31db966d6f1aa2b777252a5955f023f962353acbe7ecbae1e9984104af9747d6a0848b2b05c8271de03d8b04d8f747ba5bc2a303a5fb6bfa58b9b76f4ec39fce8569abd1db889f371473688bf5df0c527f67e9178b2bd95f32c83412e149c3b7cdb1e93ea8ccbaa59283f988f76f28f1b01d8d81ad6f2b5bfecded3272596c601de8328a3bc396adea77d638d9867b417c0c6a41bfa1554aa5d68a80694f34465fac60575327cf37e67c40692586c79b68e5fef947b75c31bdd68dd084bd047c268a9216600a8dabbb88e98ee32ae11931413a956f300616c320427a234379fed9e022a439ce1b5c6c926716e59c6f31062e61af0af81cc2c2e31417fca6c695bfc606819e7da26f5ea15aa4f866a203b266bce03756d9badcf33fec59c19c2bcec6c4399aaae2a4a3cf9c69f6faace74058cb41b42f22e4aa08ff276da518a54e0c073565a81b77f3911220dc334da6f6f03f4cb0dedfffc693780b579dbd14a8d2fa018aa161c72e37a6966f5de9288131296643234102af91ac1d7b47c40d8869e490e1cb1046afce5c289d3e0303496889e5c0b85ddaa18009eed4bce610c95e445ff7017468c1808b08b06bf03e5448168176a73203112c19d4ddf5bdf15d15246ac228a033bd4c3570c9693ad35e370bfbf0ae170b412be049c8cc29dbe99abb2dd3e61d64db13a97d530ff0b5825568bf27cbe9f67da0ea67470cf526c0e5a44a32c258c4eeaef77ccd32472409549a446f409e071fd3e2e4f5d91a362732d2a3e12229a946c290790d4b2e7b86d2aa4923eab91d1fa6e7f480a4ea32924785cdca86a6bd752bbe94b67f9e11bf8a1bb95a0bf3d68a256233086eecbfec1325ffc583c30f45ee177040cf065390c8767110db8d655dc6e829923703ec0bfd201cdfb9d9a3bf4398be0c15b57c3a7533eef91aefaedd86739cd6218ab965f677b9f755ab75ef2b63dfcf502c0457152bf157b4e8e81290b7da9ef84fe4e9ab7d07020847666825deed14d83faac1770cb556b168f925a494dafbad7a09315e2f1b4c832937288ad1892a3dac4e2b761506866267f245c096c7c0499c29beb322226437690d26631d5535ab57c7950da8f46ac1091e880f72babc9c8f9d1dfed3836e8773be2c094a2fb555b23680e4206fbce1d0c14c3656ce81537ce60b1f34b6527c726426f422eafef636a6e224295f9e77af9ae9a4e13530cdc59ddf6914610296286b8ebd3d8fa273a6c1b79da2554be3f1f4811e5b567c560e9a3cd741cccf2b9d6f45a551f704d6374c9b2ee2d84791d6f1281d19cbe21b1db28d2e9f8ec877bb0a1aa7f8a5b5522e9ec0c3b56a6505745eacc6e2152a2c9118d4504d52c71d43d94f2fc3a63931bb69cc5625464dc3bac456f6ff6170c918ad148c3fd375d77e3fc936f59a62bc6b98042ae306812a09e2c55708e74953942da58c2bb32e4d085e1d1724dc6076ab5cd91f6d20d763381ad1c8492bfe09585bb12fb7935a3929378e50bbbbaa80e9d84ab62c8c2699108caf46c0e091abb4484b727ee634003411277f3682f8bf557a243874154e07e1f90f3d2c03eff48d11627b4421dafe20fe79f4f8674229e15020c1e5943ddad06c33ab0a04c4091d03cfa28b822d0a0add8a0b5f29c7170b2da810364aaf1c6b499fa55bc03e1e55eaba5c09604ff4178b13c52362e1d31f2670f08e7c1b8be3cce1114418dc8654fa38f04817368ef3ce4f41530839449f3ac496a9ca00fb3cc8bb65547aee09760dbfb972b9522e1b5f9d017cd9330778e5a817b13aadf431bb36ec50870ba70f492b2c32ec536d577660319d66660c9413a1514d9b313c5865c666d3dacd6e99b65cd04ae3bfc1c4fb94d7153c8ef05637aff2197cab1101cb4d960c0c9dcd2fb6892f89251755718da95c679a43a3244727176b7678d5dc00c4e97492f8b539f0135f20e091a14d50ccf409641cb574b88d5f32cf57da0390757780205c10a6c6909a71775b567ef94546f7242fb4e2bebd2127a161073a1eb4e1a3b12d2914a4fc31f48ecf95ca863337f5481f8908cfd4947010f3771b37b2abab5ede60f3baaf0f3d2cba36243d20aa302f4ca2f7abe7d20d95b26e3ce71333c5562591a8ad44a7de13ccb792b6e5098be59ac5edce5c1be33c273e4190feb68c1273baae2dbbb7d0c40e3d6a3f78a647dca7a559e8c1a8bd321b8c3186764a9a79ce7a1848c05773274b101c25725ee272d5136df5896f8603183704137f55036d2f0535ecbf03756c25d25b4b442762b45bee143f9f83a5ab7eeb7918be2a30b5984f667be14686b2fc4b5a2adbb52f3f9f0e583901fcb4b1720da01b58e5c390d64b69d521b686f03c0c3b9adb4e158bc786959d1eb16399a03f839ff906fdd8d19574735b80acf73df779ec4bb533024a2fc870e9c351f574e3abc146ec64ce93c57c002d099d62af374af468c28a28f6d1a6d8f8ebd500e9d2dda95b58f607cc4833c0e0fb2de1ea10f29bddab03d222ba8c4b24c865e53506db8865398b30adcc393ca04f7664563bce0a844dfa115e20c0ec1c5708d1fd0e47fce0b3bf66713afa44ce41e558c054e280e3f379591c1d9438c3f64742ae081468cca738db325282f5422c3679f6d42e0335148667464de63abb7a531b99823aecff82cd44e480c46b6237838de3063df6810f1ad26ef43593a546122e1f4d20ac429acb66c42f15faf26fb068c774f9003bb1a816818c437da25b681eae271877566be176a6ac31819ab218206008727884abe9ac4f001cb6d257ad5b3eba555453673151997d428f59febbc2a7cecbbe8ef04c496f741378388a3cf6558c6ac418dd09e53f8bd6a31ad7570c9649bebe9fb28e413479af611fe96459e292dc6f5db5fa69f4cf8d40aed0ae54d52562ce90a9e8b325ab805ea4f7bce6476323f6f2cfb77c79cdc6336b8b2cbc68d4cc0604809475be2fc31b93521857fe6658839c86344527a9454ef258ceb1c8d6e1f37aa44f827402ab3933b4a5d8660c0f0d6b105ba3b4232dcddbe2a583b9f3bbf46e5dfd205f074ca2458a5dab5e2277540476b951026a55706c9ef5678f1d6a6032a65197ac88e08bb649decce31a01abcc1f09c966deca56fbf11cbb895be890666450da1047c6bb6243a500505db6f4598a6a04b84adc433a4fae284e22bb8626e355d19f80e43f62d867a5cb7f1caffc2cb90c47fd1bcd806fc3ed67d873285f77f76bb72c1d62226ea688fdc32d5c632da76471ec92ee46e55b81eb6a3d41dcf3d417104ec73f31fbc0de847f066ea1d69e83b2ff773914853602ce7ff54ae8b72d1d1185be5231453c1e543e9123693e71bbeef7cf62467c417e90182ca92fd01277091e2aca3ca003c7b7ee40a6a94f616993e82de5cf0138afe544c7fa779c7c23847873e2bdb41aa5d390394f4d7395b9deba9341f4f71c0534ebd7c32b21b7bbed030dcc7c074a405007abcd2e7c719ed8847fcd6bb313927bae95d366eb960c2bf2a3472acdf64602de7cff67ad93e29d2ea0d97f8f9a2645d690f0e7407c8b3006dad82206e72c030f251f5888c915f36e5ed620c1b1d3a08ef9c6ae9f79942758d7757cff74733835b351ff2d3bc62129a2d11fe9364a2796fe138702afb05e2b7a290ce96a3100e780f47565943b903d0d222d22693eb56b0f72582f8ef596e51eb530265817b05d40e6fb1ebec4be5cb60c50f81db86b1085f5fb3ecab3a5dae9f7ba0f5ac92d16550fb9ab43d5b8305cf9d08dd3430bcac7507c12c3d68cb21ebb70dd1ff13e2252a219518d9fbc267edf6bfe5b16dbcdbbb04c87e7b03306f4e96f2c2d499a8815312fef6d2025c8f53ee86653fa05dab30fbdc2566e7bdc1d7eeef9fcc99c23a99c01716f6e66edc7cef0ffca22527041fc718bcef1d6fdb0314f93016a02b00f89582963e1420651a3d8e5582a8b9eb70130b1a229843bcb91c2cd7f94b1373dbbde279ecd29be2447e1bfb8187b823ecf2c29b93ea3839e0745404eddd469bd26d070be03a6f1d80b1fb1a11443a298db6d099a26f35921467ef4d974cef3fb1da51e21f60b952547e54da4fef7a929dfe43898b14f34811cd31fa67f6f0adfcca64c5ccaefbd752f4ed3266fb8cc7bf1fd6df03bdd785bd3b0f708b1022218ec7d6d048f80ba1906d987396618c0607b9e7413ccc77c68b04513d3f146c9f3041b5ff0c97e64517dbaccbeb256ea0d64d1a7d12fb999476d3effa29037010f6501833b9e4800cf65442e04866af9032cf4db0476a8ce25972aa0da65f47d47879f90b04abd4793c883a9bcbba18833c2ab53865a4aaf6064b1444d6c83441ca5d3dd2e75865a05f2c83db4433d495034798b2a604611da8c7b4f3096b68b5005a48887036997e7f88f717262b8a7752c596b7afdbed9dffbb28fa1d9d75f980142a6fc3630dfb3c08db4acf2db361830dbc4772ed8a8143a8af1ce3edc147740faa22817e1e263c642ac3001b633bc5aa9775d6c8965f52cd367a9873ccf1e6cf5129e23e527f99a972d75d5a38d549274055c67395527c5a807eed36fdb1f9eeb6d321b37ad5445fe45a0c1a06ab7e88f09533a33c58c71c8353a3e3ab404a84a4cc3d9b98424d9990a07437ef4401cca1f9cd718c79a0a3cc630054028dfffad91e964a0c1c2c25ad45510d4d7ac48b5965e4d227acae6bf292672d0830053fec5e9a62e876dcbffbb060cf1320d39c1a3dfb66e15a22c63574438ecd5f93f702e1043232332e589855f639db707efdd7950eaf89b2b396f9facb448b0d82e15182c7c518e3b65b9eadac651adaa6bb04d18abc4d06730c4ee149ee2cccb0d18f7ab4527a3635b8e05e1cd2d11f719e23e3f1ffbf7a17b998dc094f23f5addc39d3b98e281b4eb8ec123392eb3f15730662df4399311d3857f1c1ca24b4ab724c45723f69b519967bc9044a185d7d61839e3d92439c3c533670e8c3d27a38a5db67bf13322ce45028468c1d704fad870e40815791936dfcd7c0788ef8ef49a2caa225c3f0abc8e47019023f484c1aa8054215f750f59eb7df2866dd6edb960d164da6a18dc5626a17fcde354474f63ab5b7fcf557186aa4c51de4bcc836c65cf6ae78cc92e6fdff1821d777fe0be888c442c4963f115d03a7fd34da92dcc83a14379b590d779499ebcae3aeacfc5effc722d2f0ee223eaa9e1e352fb4ac421119dd9b5328f9e566489c17c6384c3d2ec379e2e4a41a8a7c4f7dec1716a91e59c80c6dd1b47fef42e06dd282e5679a7b918cccab05839b49791654d7e4e5db522908661eb4802977e840a2acdff7a446975dd6de2633168a5eb9afd4aab6cd82d652e126b5501c407b283b8511ea572fb2f315c88798f935e12e3e99b0cee81bfae7c94bfcfc9e96c27ec8e7c0a61336430eb96f44406913599795809a463c6ef17e386f30859606d7d3e73ed9a51a13be86450efa27697e5c60fedb64c34668413611ac41cdd9f960d6e5a197b03e3901cf60134a88b2e17cb1a4972366283728e4d0b9b4a1ff45a22f14e3ae8d06c80ae3c4bf10f65f392222474e5d18f12a4458b99f0e7929843386493566655c589dbec699d89f3ee806bb10b1ea04b7e11a11c6896a216538969daa8d62eeb2ac81b0c800e33a3124adb863ee3e1253199ea77d88e7580e07114cef23abf0b5e7bd679dc53422789e372474e6e32e003e868a2ed98a302dd696f4bafcf9c582ea18532aea632d05a58b10bdc09e1853e28e640138cfb0f9d3fa51267d28139aa637ed4b8397b5aa3509b0488f4b7dae672566f8beb63aec95749d277454ca82ccfc493a10b701a285ff0b7a187a8199f6bdd00667bcc44a09dfa97cbbac757af0bd581cdf20d0613983bb4e5c5dfb5cecbe53ec545f1487100c070807550234960a915d0e4712df8e597fedc509b924dd10627a18e5df9a4089e06660be332073ef508af969f5dc5c140d26839e1416af4e7e7100baa1c9318ac9a187a30f479ed627eb05a97cb9dd52fd60e858683db1d95d1e7990308fad1834f42e2d8ee8f1c638b9fe564789e00f10d87db22ce8cd6fd58a8f0e7432b482a7aea628fb9752557f418d8ac9ac5158a81dcdf1dfca6f0f13b59f1004453aaef2d8cfb381a801a1c91a3111abac25fa61c0a0e525972e11e6a65bf6d50dfdf579a5c12373e497d63b58770d3c63d4714a544d51989160fe51a98be266ba58264f56cd766819f0e021bc94773865d64b3bbd69b11bf56cfb744cef248c8ac39f35cb565be8934e34615e4c7431edfd942bf8e44b48c2116bfbbabb4f28a9056dea389d1ab32d37275c06220efdc46e68ca413553594bc1ffb33850458fba99d317176872ad97e3a3e8bf93b99d31b460cf0cbac9bd8da4123dcb1575460d862e2a485338dc949416539d8eba967631b820b891e60274b0b5d6ec765e87d7da23ed01f99c348778c5097f600302b7be7fa1f6efbd6e82ca0eb40573ee3c983ae5ba476a6380bee042d1c246a98687a2e04a9148e25e74e0472e4f1e88cafa5d76ad9c215178d17a76f742f6d9fd486e5b6646626c83d3c680abae1dd40f5747375b68e3adce54133077658dc69317ee65b56adf8f722d948ac4ef97e75d5e1b346ce33fb6c89ea17db161dbc8edb4a493fb813b2de533ee51a9936b50f1e13861349b85d68c768270785ed4a96fce727e0bd337cf801dcd00030c0452616d80ebc35bef4efc35002cab56392bb280844a9f82f6dd71515fd7c1aff40eed61059d21f4161dd020adcb3bd40420c3cc57427300011150fc98b19f62cb43f1a693dbd705d7987eb7d1863908000c3b59fb95bc8e79136ce3fcc352df74fab46959948885791e589a31bc16e25d3e77a104905b66c05da1d77694aba827b6dc9f06b82e0f52442d81e5591048897b9cb67454cbcbecb1f96835ba96d9544284c867b9f77156d47db7621e0577e781358cef9b522ed428b9076da2376ecc6bbcb1ebd02d222bdc398c4aba0cdb6d899a52d38698991c4b28aae7d9fd1c738f6029314c3a8d24a66838c46702275a1db0cfc6b68435eed6cd0bf3815e1435155929511d53b4c59a3ee8961830dc35ead6ff8710c6de91c9074bcb3dcac55452ca5bf06cd23ed63d2595e0d72981c44418571b1a9e67e7ff2c3cae3d10d3d10be373d78d17953cac9aa0881646c3b980bcab2fa585b89125daf3ba21a2f9776caad5c8ea7b3087564a4c31d83a529993689410ff938fda4cb125ddf4a2a981acbc05b0c732461235698e425a74ee39c6284cc285d1b0c552d040aca343b434f0ac503c380df71635a7fc0c97ee0feff4034bc23b68394f1659839eb18d1d2b7ad067c7bd7725a9bb3a0d1ca061541e3d1e6567a1b678968f01dccb311da051f08c4bcc6201fb278b3b9a63c0f705c601bdab3e53db80e2ec954285fb26414f28434a17c2aa25cb8a26aa074b1cd4a55fa23430bf340cb9b5d3aa8099c5d92f4b9c3ea7d2cce78b68c9fe9eab9c663c567171b3c2430bde0b9e61dd2abdefd861481c729555acf23f0d1659aa536d5b3d0980b98a665067461f80ceddeb455afbd396b199590ffd251d691f8912fb4d4ee487503b020d12de0db1463f252e29cda342c355ef85cbbf4a6cad4647b55e31caad274e61617bca408107f3f80bf86c9e1f25974b9d645c44b6890e6c19c4e59258e1b5e0ff55d1bc136a56820c38b78b1bf6059e6c727e204cbdfffe18f1c31ab7de8e5db328af6f1744f4b4183b7859206a353edd2a13eae76a2f15a9a234b739c485e5da0d752f1944cd9a90b758625d7b97eebd81177ba292f72d8a772c675b645609af6750a8259654b2afae55d5fce8b45511a548949933938ea20237dc2175b39548fdb49db42768893117625b85eaf78d492b425e1e207d9871e2e2c31ff1dd5474c995db50b4552bacf8a0698affe7a2d35420cb8c772fb5dc8fbf5600d63c8985a2dae79db7b9b86e992154174718f210bbf54bfed61cb75a731c663912251025c32ede54c43fbfd08a7b0f06e14d25f300efaff023bfec540487c4f86cc4033789e5625d791911099b1e79fa65ba0b3956760a2f6599acbf1e955086e56f5612b83aff8fe65904151cb7d2f4cf0ac0a7868b55f087383f22e8bc09871ebef02bb1655c7bfabaa18698d8f03ba12e96872c2d0134263c614350251740b032e8a6f56da8b88a7aca19b63cf3b6d7c1ad0743c7c181646686a0c0984caa3bc941419eecf44cf0c1225d3f7bd14255fd767b18f6839e1978f026e7e4839437423a391431193c6e8712013a339f8ce21f7b6a962ace76e497ba57ae739c46a85895a227effdc78ce61a035d40dbf7a44418d1d7631765c8c76ad93f1fba5e4153161201c874e9023f755a4726139f9b359d5a7370e25e2103b066ca33d0f92130ce8bb173d01f7413c4bbf6ed7ccf22a2b31744c3f93eef40e7f32750934e16397e54c7741a5fd678ebae9dbd77c3a3a1a6e4acdb30eacfed8f69581c607039de185169c3486a3c18d3233166dfdda88b01cd81a20db85a72492affcd7395892defed17ea0cc9921a24def2238a2a711c4d8ad7ed9726b73ec0e7caceb1913fee58c0dac056c3c45ccbdd8b0987b175197344c82d4f6b7fcf9e578c6f17d30783d9dad20d89b58052c648d0a4043e0a07b067b01105d29ec52fd2eba95c5dbbd25c7780f75da77c93a8f6a161f02699acad2775320ea2091fcdca16c6a1a48e3d444de94bdde56aea7a7e10c2e107353aa4f5aeef84f9be3c66bdd8fb7e3201957378b6058c0346fcefa815c98edde251e893ed41468f99cf0e8be46b1d97f10a5f971894321fd95fa7f40e23b63b2704e9edc9a34498c91332d9648a95ebf4867803e8a0b39cda824d0b9198503fa1daa54810b5b571f6ca170eb1d6bd2dd5120737571157d4f2a748ab511b80dc282ca22cf93c07165e8e1f61c3f5f284d3476e033f586300478e1f82f9119794f8927c86ddda8b6278abbd6b718d7220626d300ef62de574232710443ff56f610a3668738ebe4501bdcf2efd532e4eb6c9e81c1a0a2fd39285d5dc62d8d7370578e959f6ce8178cea9ddf27b67d42ac255716b45d1a8ba50c95b8a96c0dbfeea96818018db093c338d9654640c27abd41aeddff2a024b2dfcd8066bea52245a66acde5d3819e4f274577f5794259311b445c9108505d961b7e062912fb8aa508d2abf30019d733b871c67407ab0dd96b1a2d80cf3efac4bdc710a344867293756738cb2ddf2aec3549cec06b7f8caf4d9439d978f8f63cd34592a65b783dfd09ad0cfa26c597b40f40268ef65da6c3e1c39ca05d79134061ea41b652733e48aef3a9ddd2d7a3e25c0bdc2d380f2f05aa000a4814ba05a9129e023b6ec60c826d82b962fe871e02ac2fe90a4641ea099ac0a0c9efe5e583eac04faf6e25746173f63051db38cc3e34a5791e84fcb79413fc4c19a342228c5646625789b9a8a64f963d4f0bc91b972d33e67d66b3aad13c4b9a6f0102fb776b4aeb95621dc90ab4404bc7887bea568cee67bc69e799ea505d9401af84b4988a6d438ee206e1ef67431432c11169ec931d4b32974c769187a2c65150c88a1fe031756e1cafdecf61761febd5ae3ec1951ed0ba3c2481a289567e3127905530d17db5582be45da9f3af4f55b25ea6adc419bffd514f88e8e1b734f1cdfd3d5354377c4d5942d839dc53bf4b95035f266e221fa26c79ac399c5cd981356231b7de607496ebf0af6f32796906e37cf481a5c884fee8fcec7b432e9da78e6f0050dd98dbe6171dcd49818f06de9cbc1c495703297f07136f38cfc8feb2536dbf9eeca0ea018f3bb859c58fd503180ee76b9e2d1ad76a0ae8e97b5dce53f2f26ccdfadefa451764989ad3273de7f384b5df90c3cfca3baa4752a942764f486751cf70e6dc900d817bbe593a867ebeff5242e590bd803cc2c6ca1abe8c97e0a8066c86e236b9fb16c3e88db58c47a29ab3b7bf08c10bd36f111b4dff26e38ab159579b60532941ee637694f2f6adea68f3b0ae2d7c5cceec5f689107d55bce129607008cf7c10bef05402a25d74106f5d67d24a070c57eccb862bede216d8269c4c45cbfead677f3c10125ef5382e3060a5e6721ae37df888c4be7e1c43823e5ab1d2aad374977c4aa864d7de9f7696e9a67ab636acd87be10ad96fb97978def50648f490314e7c85aa30fd58ca0cecea817c48a500685b09f5915aabd7695106f4036e2d410dc8bb9f561d4e3a891c5e62711ebddd6e720d1ef3fa73fcd587cf4581b3ae6649fb418cc08570ce159c38677b43ca39117059f1acdda51fecf1f3b45a6a88dc1afab0b340a24cdb5dde9e9a69a992389e930286bf18dbb1ff7b0e3d0dc98da1d911461ed360587bb83f8540f714064006ae0e9e7acfdbbfca54cbcff8c246f57ea286ffa5c124f4697f01be6194234860ac6c9feb703ead81ac5433c53bfa7122901deac2a467daa32345ebb1743f75e89d4cef133b47edcaa6b2ba9194adc38187507d7ba61903eb6249f9c2ae54841f3c279e629692827d836db5da9d7044bfad34453d7f7efaba6c4dff0fd5796cd90634f5223a0906855e59d947cc52f7bb9a36c4aa8b6079a167d46a7406b7d323ea335151fed0985214b0f405ed326fd0337634b0e5de22ed6b26a2cee6c3d2c129aaecff865b486f6f3aafdcc470a5f22a542c5ba152ed01580f64a2b7351411f5b40b84c0c472b73708d4cb14452d58ff63e5465ea39296bb1f05c2dd9ffe081c25370c65c25c18275bbe4d1c0cfd1145e65d08bb30e0e060707678d45f4541801a98e1c7fc59e121b00e3c6c71290b8a49ac248693ed7e4cea97890f75c7682dec06c230a2e07944e503009f3e39c8e1ffa50672a4068efb3bc4f4bea33a95edf6817759be1c084cd3a08c5eaafbfa4ad14e62abe086ad0f2240a127bf7fda376eba3fda5e4c31b590479bb8ff33e8c27d77241fa3dfe0be2aebfa3186e982cd6758094fee1f041bbb2d92cdb800d6ddc1f79b62de0b5d804be6c2358dd267e97ad2821c78c830c515cc274b76f9371abe5e30ac975b34d9e76116e3f53593375fdec1f6b72d868f9bcb49cdd0cc9b06bd6ecf1119fc8fbc89b8cb1a9dfa091526e58762d94d74b8b7921805c671c5a4f5827d33c28707afd980736d9562e3d22740daa781a75aa41065400897582270bf3b83baeb0a84a1cbd9caede441aedc3d949f0ac714097c771e91c2ca576dae5b20f57272150cacbe19b5570b50de8eb5420897849aa97586fb2d04fd1512500eaa57d651b83a2d515561f88eae17dbf968ba81f2a95a895b43848bee23b9127034e8b0f28a753ed5781c2ffb93b75d29de2054419b692fad76c1d85d453b26277e380eac6681e9b890053985c9ffd3a732e59e9ec79b903c9e0a7117e85875da7e47a23dacf25df6bffd11aade77406a82ba7737963a7a181aa9b33a0cf174662608f4d11ed21fed7e442d8209462e2ecb2b009a99f938ab1300b24fb20a03659307254d5ebb0c1a2a6490a35ad0202cdd998d454377a2bbf05ce10318ac55502a33096aa127b2b885ed4818069ae89e9bdfab8aa0d2a158976ebd82ce89cb03c9cefe4b2000acbabef718c4393f34bef0715f3d51a19f6abf5e322c22b699d549d7f82c05293109b111d5188a9679f6f69196e0d98c8f26ad0f16c9bb2bcd18f5af2eeecbbe10c5b7c76f5662140bbd297e995215330129abed83645a32508759da2b80358aae1a5dec078cf06319639f5ba71c5ebf872160922d1b409c7c1104f16a6b0dfa6f637ecac3fec74739ac734963b9206a59095f76c42d3fc7288e15b98d9f9cc75e663cf719b0d8ae380a72f94c25522308e842b2027622556ade98ad48cd55c04893ead98c635c901db33d59ca514dd9f6f911b9231037e7073f4e84d84550d6a0c288949b345fd524fa39a905868a3eaf8b4b58c79529c3176ec4bfebc9d1251b2477a623598e94cb5dd7872c8be6511e67a2f37eb4d8e528a8b0b35a34168f977ce5b78c616c53769dd1e68515e45aca8fe92389af5262557cc3b73e61c208aeeedce169b161d5d20b76e8182c8837ab29008c237b9149746e60fba17546affe597a83e561d0a1ebf09fe9c5e40fec9aeaec2cafd5749acbabb471e59b97d6121026858a1ba2e5723f0bb2cc3730dce98d5fc481e55b602152e43578ead5f86128c7f81fa6d46aacad8b791d3e3cecaf6deb96fcde1c4a44c690579fece250e903f5212d4ecdce554991c0c67f9a914fa9d95965df216c20c0ab084700346876ef9aa05cca8e75f0fc4453d9c9abd12ab2dabacd6e386b71bdb70d58a8730384e5dfe42afa42f9a84d0aa40ff47567943e5787e5053c11206398dffe9034e39cb1043a1efc3f15d627a70b45c473522905a10bc25e81b737c29f425e03329060ef5743019af3c2a8ecc59d50ca4cc5ae198958048bdff0a27634ba5df21417cd1e35ab0f7f81055ed0687671ee9767f08f7a8b21abf6020df8de3657ef9322f067eb14eb4b0aacc0894e2ca1fb4ff95881495c6b2020f0245583a7bb744618ac26a5af9408ea0ea763b5a7a2fdf7cdf52184dde54cb6b010c78b3c1d1f1eb12ab9f741ff28a427f9f48e8d397feb823a1012370498abbce986670a78703933ae6da829c95cc7f1ab1e5bb00d2cb7ba8f0e7863cdbab9183454c928f49c7a6c88cd050a4153ef8975bd9fa755f0df722264287e470b7bbe760c024841ac9e1e738a08cc16010784a5bc554eb0a561cd3f3d6ee5eab0f1a9c81669951e7904745b16bbfcc1381125d4e6d00b0a8b1f2ed91ef9e9fcbcf7aed054c694bbfe1da951ffef77539b333e543eb75e3811d2783ebe4f2db19c3f3285ccc92f2619bca5ac1fc5522d5b81961c7b7d1a821116103dd4e5f351d3a76a076900602beca54ca273a4e2b31433f02ebe71d207d3b0acef9418357e73f17054af652420f3088279b248661be8f168568ee1417669c77a37f63cd9ea76a08cef9a1714979ccd5ca3e262c5356baa88b970a65379dd218f160054a155bdaf0a7dcc2cfcaccef67b0d9c18f818350e8859d6b22840a641c1ac008621069c750035bb07b281473c0c31f5ffeca484b088eb8400a4dec2abe987f610e56ef9185ee418b3214d9b3973d47e97f60d181ef662a34148f1818e7d39111d06c4036b242016571e85c05efad26886dd8f389fc89b1f4ee91b7c2559f4e541ce27fcdd92bdab55a9314dcbcd0d6f0729a11b3f6420ced1acdaa0b6e80c44d3112c382f8e0cbfd591bd717dfc98a1e211f609973434259445e800c7a980b711e2902c0c8350b546f7f0e7ed20a27499ec5efe6c7e73f2678bf95d697fb980303c7aaa63636d6a0d2f0c3b436b4eaf82c4e911f73977b839ef21992e8a4d47b22247440a13a652bc1ecc15da49f219e854acd5adac04ae21f70b23040fbb66001f90f8d65381d6415621fcf699d2e4945deeb02a3fd5047d7c615ae03451a2fd2ce9233d7e7975f8e4833ec7c525816292817a146244d14bbf26f0fb9e20c1f26d5fc02c23f86f8e37525a91ce202093a47fa95362166da834b1e2ecd906c6a2557e88f77f8d7f9756f88ad2226282d02013fc65ffb587f79904e8d78177c3acbd9569add535eeaa712ee4108e5c9aeb86881d427096915bc6144941b1b7725e14540e8c55026c077b189e06835c7504b2630f1ac359048576177b6b6bd9cf70a44bd78f232d468ad69e2e4ac9212b3feb72c092e5cd2c8fdea5c97d368b9f62e4e5338bd86106660c8dd75b1d13296951a000e7e7c58e821c18b6ac5268632a104827af2dab2957a1c5812297816b68681326628bfe92824834dd9d8b7cfcf5280172ce88f7567337a2b0809dda82a09d4ee1ac4e217a16a889ce0a37fdb784a1531e15b04299822fe687634554f48efd032335654d7f3cd579a9e98162517a99b93a37452726785c668b5ad23576662a4de1e5f633c17a6650136dcfee01be4229e3704a8431da3f93e77c750d3f07a0c0199341d9fc23824a11c7a94c798b0100e00eaa6dcec7e505e3e1aed773604084e3f1192132eb9e0a006ac8500cc259c07a8e87bae710a881cf12991876244861310e843f9d7849f6424553f4203f47ac2da9e67a0c4d85787f48fc6a44dddef9f67517d4f6c7bb1fcf37f86075f507585fb16b689fa4af7951b84cf0084ef4d0e16365c8a2aafaccf30672b09a63f23cdab3422eed0c8d23c2f7db927d974ddc7f09bb3e17f63c739fb16df499b79bb8d0b2e6e17e9f714ff175c64c5a118eb3950901c54b079560365693ee7a84a7127f9f0edfae9cf5cadce1f6991c56c3ebba12527fcbbe72e5be491c221c45481c245327b7bd5bac7cb6b3ae32e9f8ce1b60601ba5288ab1e9c6d82aac272fcb00a7c489bef9cd9966f5857a239cfb33f2cd458dc6d57e9bf134e54379d00d20f229d35220eb50cecb5eed476944eea5476119fe3ae551da5785c2d4ca8d4fe0bb1b110cd719fa13b592805182eaef9377d8116292311dddcff41076eacba310715929b0980c28650449a0b5078f9e8dfbc003bdb0c4ee3ea63ed320845f30429afc54bb54b0e5d5b64e51bc5c40420975a0030dfe3cbfc51bd4fd5f93a73e23ea97b7c165252139f45c18a97e73f9ca3a1122d86d778dcc42ff04d6dc8783dfc8e5eb528f7c6b19bbe5bfedef0eb83ff2bc0afcc21545456af24002b18b2f6b86c335b53b468cf69120df38abaa83d33a5e7bd1be72f460b582ea705b6f600282a9a6a8195062880569e6e674f1d905a0a004cb110b7983cbe0f4f4b4363c095d0bbe026c9b95326e911cfbc678ff3d0a468cd99bd4e4e924bb0bd3aaf1fedaecbfc4f1438815f4f05fc0c099365561f98436a01913aead3291327c958b2e8d5fd11bce87df7c9548c745d319c12c819269463ff530350bb6696ebcdf3d1bcd11aaecf130e9c1f578ec97f91f52b7f7e020b5a129d34edcfe7065c8c27de94a90918f27540f114a6746022f2561d016be0c2fcf642d1e7e24aab8731e6da1dd89c69db2ecb25750a71cc321e75973dcaf1b69b8191e59b8ad304c8d6d8924229c6fa933a90d552f47c5fc400f998621c3eb346371a6d6ad1343b5a2fb987313479182786493c6253443b3d59fb63a166801516285220df2114b23c4a9b98333fac17edc67d630546f7f3f1f655a32acb25eec152602ecc9840d70cf1decc7b747dbcff4a89f6bc5916164cb68249a5126a8e8bc55a90dcc571c0b59c860e036f3986ea1d47680bf957fad8fae54881a9d73b31377d9bff48a8d412f204b7827adab64390847c86cb333d1358535379c8d6efcade9bb0124913a5128be85fb89eba4b41006d4cf130127ce260d97459c071ce4fcfd77f4a806220ae0f2322c8ca80af18f2cc642ea40a169667fee2a683062431014c04880e1699662a6faef0e63b415026fec3fbc55d2523a5e8624d7a97862f68da034709f145f2c3175d58fed45ab6d3e2cfff7b677b2a1d5420b37afe744ca4e8597e61670d36d8d21262883550e977f0e9ea02ada611380d0e0dbfdf2952512c5eb6e67f72ebdef54c9d39e26a460643a8f5eeb48d7121b432f9139120cc6e5d9584e9eea8414a58e28a2a28ce2ac806449f87ebefbb0b0d349382caf29dcb680ea736482ae50e04c5b42ef742fde4bc9394f0027c283c953b15ed65d046602b7d45ba4a2653f9f0a2033fe30175cfd1c90ce1796a448d1506e6ba4101239cfbc2125d3084e6469b1f822d3a0c86e240d9463baaee51b4b816bb0ea3e72d7d5db988fab35928a1c0cb4ff24f8d1fc1af69e64ce8944703064c6b5b126a6b432636c4f0a32f493a95ef80ef6b273ad2a306954a5b5a92d8c93c2bdf1e789555891193d6cffe9b18b025180683a54318c6a5e01b901d320ed5fae5148cd75d7b181d246dd878ea7ffed6c1462ee134963b3df8bb307bda47e432ae3e5c9d01f79b2a5dc01bea419bdd3738fb6346fb4e9d28be09fac598606dd2a94c6f023e57e548a70323a0930bdbea07a67bcb0cb2203743661fbeac8beaccdf817d27aad58e96688d077c443ffe5454dee1bbab6d8d5bf061bb21d30363a903d9dddf39ff0dc7a1b5bf099b1b5c18d6306d8c231d2d04958361f9563cc72c8a742586da8d0ac803ab7bf1506bddcf72f696d7803c688bd12356c89c6a8842b3880d2f7e0ba96dc5694583542cc47d476a21569da4ac3b040992d1612192093794805b20e35b82c8716d62cd30fa5d3baee789c83d97c4d60cf1e92cd2ba2eae25dcf4f158688858a0f11187fb649286ac9f11911d559df1efb5286351dfe751ab7e9f8640ab56daba993d9c88d6c6980f6fc9eecfea3b0befa3e3f22dd166ffd1dabf824aa35f5fdc549bddf87229fc546332eefaed279549a0a510c5c136c651606991af7b398a88dc2902e58153356dc13d37d1f0ef2ffd54a9589316bcf285e7d19630a3b1f0653cf38dbf573a69ee7fb42f981cdf3ec3573f6ca20f077ebc9bca0888ede378a88e57e9452ae53bf6299a9e00a3e4124d37c283a58a1320a3adcff3741fbb92e1746f6bfaa207b573804bb49b83ce2ff762944167b105aa9f26c4d593a3a2284a05c4ddd9f14e639432b92bbc18d84aa97d7664e939dccd1407d5407304e6c9b8d16a4035ed39b60725a8a1a9c27420a1cae1589c9d0a5446695718ab8d30cc732f2d15a62212dffc5143fb67d8880e63224a7f8aafe74761df2164254c0fbd3759454f85cd0e21b9c70ac68acbb95c5a579f73f8f4bf84b75a3c9427c491e0e12829ff7312ea1ea4a7c9f1d0d7818b01406c9bdb27d80fdcb0ff5e3983ef2a4b5e76ac39635fde6320eefc270cd66046763d1af22ac2c038129703209a3b6c8e146ce0595d15d4e99d47659793e1ee8a87b29261436a2f8f38a599c4bd1a364b95c6c2552ed153717a6468e4bd4ce2323b4c073ef81713f1a8e13c7c2a71120dc43efe0d3afe432df240ce58c0e1d7ba1ed980858e354f6c3762a3a158a17f0a541cda5aa968653b5d5bc33bb8166d4af8caf03bd7af4d47a865abecdf6a6cf2ee18ee555f81d1e72821de71982137e0b89edf92c3a0c66f5fa376046e16d367cf8a3c862e13acc5c08be96391d705473fcdc3227132b84f6e7bcea1e32497467d2c9d01d56afcd1bf28771f5233d30ee62a3317574a19ebb5d5a2b6e8d9e614d474a0cd1bb85ff505e7d598787b6fe8b7aca0ee8731f05a6e003c07c54cf789ba6be99305b003c73bc3ef01158996bfa866767a0f17d1558c3cf855d8bb8355a49121e98b033e16d23eb86d99f3a1b6f47afe2d7cb7e12ecdb71aaa72588b5d6a2b44eefa15100ec4806e771fbc164b17f3ea99b7a801d5adcc1697411a33cdb774733756892d00a038c9db5c24a7e956065e9b81267c6d80c632bf7474a5b7efcdecd8569f1cc302f724f2793294edaf7aa4c4f9d1fd4e05031e3adf04b2a0926691137171c3429a6e4fd2ef4c9f56dd7b76107fd7d054ad5f7ac3eadb33b3e4da022d5e2d0ae30677ab7ffc0df147c44008df0336beb84b2a96aa37cfc2eb1495cc8e23e8ad0c5ce69c6706af189f760933349869ec6133db3d720fefc5aff0c9fad1fabacd1269363a48846e54889d88f9e2af3b8ef17fb0556155c26bbff55aaebd3ac7a569ccab8a4f913e91f7fc1bab87a8d4c7b2a4d61027c15d8803dd43bf034b1cbfeb47d1317b882cfbd9720ae96f673fdb61044a1cf303dce5cc2982321bb8baf37ec7ae8297bbb5d43c36791e94dd1813ff7484a4f72d777edde31ca76a3317d311cb3825912bb36e0cc5cdf57560da30bbd786d3cbc07a210c0673f612fb0ebb3dc123c06360631da7444622ad8ca0ff831a3c26e3a0bbef92ddc27c35aa6b0f308972a4b1143887b66e6e89b4a6808d748f91ff6df2fc6da2031233a47d8abea1a6b4d1c18dab4fec7be8fe50d2553d4000ba4e24ba26f0415b2b8d7f1668a5f26cf6f5081861ffe917d25104e2451036b22380c00b8197123e6afa1f3ba1178629447b564f41280ffab4a88bf789b268740c975fd1dbf1e7c1a5c87cd84afe0f802d88c4e23544d47366fa7758349ac148841958f1e5f8b0767fc2eea16d6407708f9095fb37b5955494bb7f455a7451845b8062a233d0cb6fcf3eb43b3fd082630ce57607b979e13fa06d723047bc39d7104a8baaef16b5f3724b3412859310125ce15e5f20282d3f33a94612442f06c2b87c4a318dbdd26679d87dc7a634b9cbcacec7dbbaedcc1966796f684059c9a612cb11d5ebc665948aed6e32c09e2da5b7d01dd78b83e35d7e74212cd75aa2a2bcc55476c701d45012b29b0636618a186c889380530bd489e37c6980c80fc4c1f74be897f534f149308c92daa7377d6530f48c172d453dcb8bbd97a73a82ccca12081118e169b490a10bd71161da098fdaaa7a2597310b403135ac8775ee2c4b67f12ec39fb08e5512ee1c581bcb335578bcfdf503c37eabd7c05755edd672c671a6c5aa6c1e35db5ef19e0c9b22aec5a2d8d219b0e1b90e71ced094d3243de02311668afe28c61b19513dbdc6689a4068f54d1bce875a233f8777a43cd82f110b7167a943627d079cb7b7bd2bb1dbad0caca04d2b6473b530b490458a4865f4368c8bf8a03a18154dddca8f8212ab0af37a7cffb7cd0ada26bcd1cac23f7015b463a32afcad2a075cc7d73e0e6bc1dc3dba687b2a7eb1979a5b6930413d1f7bc5374847ff25d1cc6891bd5cb60ce806475b893a46cd17d963ff61d9c9a12dbbd34f494002a7805cafc965d59d04265cfd47e4ce3cfdc29a309ca51ac5eba30cecd3356f86ac9b5a5f0609f2f604bb309d1def8ccb3f9dfb0a10acc3ec8aac3ff8d444278b6bd76bdf4f73d9156b932f4d9f9e1a39ffda16285946b1ca317020b8fd822113f9021455dfb04eb2336fd32e55739476e72f33d88be61323f512667a5faf52cfdfc1dca2b1b409912a1bc178df363e100e6b9e734c559c4ea3232b0948f630d4a6ae9ec539b5c0e4a17792be7afd094802d4970c4916e3a26eaacc280f52ed4041a1e51ca89f0304ab6221d53e9585bb22e106d1f2afb5cf07b0bf634e0f5b18c3c4bd2fc749e5aa748773c3ca6b9784488951dbaa4ea6019986afcecbf73601e8bef977dd9ac47ca18e038e26274b7b067d2484fb05cb728e90149cb0ed49e67c145cdbf6df8b01c88bf9c80881253e980e714a9cf1237d544686f208ec9aa003bc53013d9e99a1944fcd003d1cace848b3377eb6cd2bd890b2a6f4396029375eee09a99b6e58714acfa27a6c96145ae32cb6f87f52a7979468386fcd3fadae389a9a22ecafc2c4efaf51fe13827d9755ca00105948880db6011396c367412baff41e007b583f5e57eb876b150c7381e128dee10d129728d43dbce2970907c147b8405bbc6257e3da39fa8fff8582b03e35de61c864e166c9650748fb5f4c30d21228c5cb0685d830ccc52f0ef4796d1ea4774b799c1f9d6ff54abfec3090dcbbf84231f769e763ed430c577f91fdd30fb6b954113dd315e0079e35f1929e7b3ebad0a9e85e2de184631746690e6a2629bd9b4e63234983e85dd68e7d8a250ffa488c2a58cfb87a8555c882ee470312ab5d0d25c102425a6aaabf3e216aa991b9f6985af79f2eea4a3af8a4f93d2041700b7666b1e650f39b1d2a0af1f18c7df7a7cf0531bff4cfd7a2ae6c3a28f7c9de12cbb4d5cad1032cb0a628748d668a3195a6623793b667ff705cd1137a1700e26b76176fa6a033ea9b90c59d106e2500b840b85635a421ac02eaeed8679c56b5d4fcb11c43e0644ae0fd0d8dd4c0518c09136f7d51778882a3314dd8c0346b535069560695266b9ec1ed32553d7783d1c2722e8400fb389ca6a182e86c893fcf67caecafbc2dc4eba8817fd5c3cbe2a54d35f6e54e303dff27b578fbd73e7238fd0bf50935b4be53086025ffa37fa51a2eedfc56ed6a82a06c8954b9f5d37e8957b94a3ebdf7795b976b340a18a69a0749ab0bd39bb69e6aa0ea261709acaa4c19071bb3053ecf07607a77b131bbf2252eb84bbb9745ba8d1bc674d5a2a9a948fcc1e0e63f86b70bdb1f2c59046a305f0eba01a42ebc886eb5757daf93e9fbc23c6863199a43acdaf86b8cc1cdedaa6a519e151188dbbed6ebbff75ebc0db5a214556c253e2a0dc49fe1444cee91935fca103dfa04cb146e3d70bc8e8e919aa65efb4d7c0a13c99bdfc29b0e9c59277248b8b24c9f7f9a207c0b41c7ff6b0cfafa1b52b051f3df21d1f52aa7007831a3156c8bf9063a2ca6ea863549fa1558c699a67abfc83c856f75556b34d7b9fbd5e7902ad267587db6cfb60894d7d9d642bc0f1ef6da74d5a62fe192a635a5744980f7c8024efcb214c708a536ca0ffb7b236d6bb579bc7fdd8270776ea8bd97effc27afc6adb8a87ea3d81ed67078bfbc20db59c317e6bf86f3dc044dfd1b24c95a7c0b2d233f971c6cf274ba32401d4023e966c29579ea35bc22897f9c309dba03899d91fcc3d88c545f3848f6921d751257af63d30a5f6b01708101b9206a0e881b25c8b383f530d3ac706f33b333d0331c188fc863dccf40d14f2d57c4906c7a7a05cfe4f70496bca3469b6ef8a37376ebcdeac1cd4c0bba6ded7657a373d4bd90c2939abde9d93c34dcd83f2a7844e4afae70259b1b7e1ea71e1ddc538ca98b4b4d01cd474578fa3d65a531cd3bd229364567ff706139645a773cd6fe0df7e02bc74dbbf5233ef1532c66dd8ea32e17785611d128b1287bdff3bfb4703ba97c2f79614afe26edb8e795b998297df077ef926b23ef9d4b7704884a2c270b20fe2fa0f4787b9f08bd6a68d7f18b04fd9bbd5cc609859790e0806f20955f226903795a909ef43ee760cfc17610ef4d27ab0924a8880177e2008243aaf7ccec93096a74e0cbb0b6fb17044498234804fc66ec62f8a1737879100b5b40f290cbd275d58de668ce132fc16db9e8c711ba3c49505b899b4dcbbeeef99c5c3ccf4eafa97392565d199fcb1f33783a74f6415c7e683a31bbb6608194e7d1c3892b53c10af0f8c5b45aa1230d7581e28a039e41519eafc1641f3ee4ba7441f2c34a4f8932e0eb2cf1193380aa809f9835c542e2a608367578afd39bf726d28f1a70a93c20a62d64c3bd7956c98a11e6811971d1d20eeb6a4713efe358db50f0272d178eb9a0b57aae3e8888934827323ae02670d24846b9dfb2ddce35c9165adcfa2c7425ddc1a4dfbe235d7dce85c7fcdec72a7b12b802ae5d0b2e55d0fd5a17a62713bc444bf6c131b1aa3fec7ad524e93cbcb23875b32dfe6ae46d64f685399d499f986a854427cad16476e3a3f863ee0bad0dd775cdb9096b19b3ef29ebdf98f0c5d6dd8a6f647748b45e4eb9b20a1db5597fb6940a5352e2eff07e31a094415135e19456ddfb914b3c7945293f1c18cfe287b4047ba7743195d938a1a7276208cc47ea2078d61930b22c297c7ec4148764e0bbe5d8b2ef1a3aa01c93aba52387f0489cf0966d40154c53c19008600aad4441685f9e8575143337c5b8d9a87ce503a9b4b34e8d9ee410a9edc16748451ea26ec65dcd41329cb802b811da5e7b91e4d1ea6877a6dd9533a6739bfd151525fac67922066b7f4372032b37c4efc1c24c655e5395136f63100313ee8d5fbf4db4106b011b46dbf2b5402bfec6a270da6b562c099155064788d86ec6072eb2fe88efa5e8bfde1c170f8a91095eeee0db8a976f04f3b0776feee70544f843258ca806434e2085ed929f053b7c1a8c922936eda4bf049a6696d86fbf787e8231c682e6505de61c5827ec6c9f7eebf1137e32563fc24771c4673c5d255948534730504bd0e075f576c15061bd94d399f25bc2d4421efd70c4e977c520050a77465f6d476ea66673a1ad1aae7b81f0adf8dd47788546be9f5ef57a1014e1b8d87fa2be5c4672c16ce6ddf7d222d993ccc645fd41e17f8acdbc23b6dc9212b0ada59d01f4c43932014cae8c4e66b88e45eccc2b6edb9b61c9e97ad488d3d07d1fde9c49bd461823e54b6b6e5ab7a5b387ceb659b17bda348f983b67057fa58db6486a70857133e735c04db3aa261294950c4db3dbc3e8d7f0d03a063ea0e51232d93e7607c883705a237bf3aad488d906df10fa6ee81c1204abe5e27d4547d055b6e9739abaf9ca8cb544c3e856b372d3bff9f9f64d85667ea1e1851f0a870230caa397a45bd70f3cff2addcb3291c25a78b5c0c785b532a7f7eaeb8a11cdb9859d1bc5784ee9a0513bbb19edd89560dc87772eb8f05e0a7c0f4e794c43b717cf3c0a902ecc7846225b5f8f6ccf19be0617b69f8d667221a7cab3ba798c731ab1c652a34bf1d730aeae8b83e25a94ef07890c129470213a0205d99d5cf9dd1010395f224f58e75b2065a28ef528df761c654d578c41b5fac8ee41b4c5979fdb2b5a7a384774672d5c5fd4f53ce89809a3db044cf1cbdcd858519ab87c3f4fe08858d9be9d4b87ee632313c068f1fd718701884be8d4d6cc6f768f525b7b204e90efee89400c734938e6b0464560fda4d18c1287b3ad7927fa5f1ed47e9bc088d034f8b4f445a92c370c2a7b4263ba75e4d587c8a26436841908f97701625307ca27a4f89fcec4667a4db598746c84d805088232445c51b484b326be00962dfcfd8ba123f5cf5493220226231c7e6cbeeb6d7f6f8d5803476e910238b6f49e5bc9ba6220c1709e35512c06cac0d7b7ac2b50481b78aa7cc7a4c33a44ff8c49f714b891d368ba40c91ecd63ab1f0cba8d632d13542d4d021e585d02f524b334f9a792cc492cf4c039ad99c4130b4c12ee613d03d458d46c83c3f2056ffc0a5b4370e6099c20eebf993bcd994ef1f3d33bae696d3edcc7c6ec6635d04ddc08db16cac7c871f720b4be21b8e52adbb9984975e34eb93c78a16ff4c5792c9bd18aca9c3744895141f1625af27199d04bc1d704fdd94612ee73d16ed46484abaf76109c4e67df7b747ea9e3d6076cb0100411ec52cdb752707296d0e55c440a8c95898e219916bfa9fa48fb66913d69267ef32a6d912e0080a572da91462e82f5c4e75b53b84030b51a28d696913f468b41474ad9425c37c97adfc4305ad1de98cfb98052bc2c5faad1a5a7f940ceefce486275d3c374b380d7d348e54236d5be89876f131f06e870dba480d082649198a8074d85599dbe7e832a3c08b8cfe9d4aae5db0ead805e16af7d292c0ee9619b1732775eee02ade16db0999be8d25f221bc85d37055675dfbf53ebfcdc9d02a643c6e6137aed3c704e3a53b8f1a59415e42fb33154aab2a3b1ef317be9b9e28daf404a8b51d488cbf81eb0a9e43ef241bf8fe4b595167a549671d988a4bc145177e66b3e9d20eb551b2d350c99c9defc56d4d497ffb48be6e4f83d63ee0234891f9b337c399b166ee8bc83b64112f51033bc08993a9236665ca582bb0ae5376e03526018676d263f25d61524812bb29da993efc93a31533b615067d6558930cec800b63ca721582f379abe1b51806ec0c710668a60c888eab2fa48a03ef11262c89824c65c7df54e3d7ba987ad001bb375f3bf2c3f92b6f0905809b08ac4331c522aae13d0ff3a59810c23ddd9b139a3c37bd27db4e13df6385872043f41cd0240517bffb43ef99c68c4be4f59d43e1cf439b7d8691e4e5b9c2e837755849f8609dbd530e268eedb24b29650ec1b7663f600e1677d999436119292f2ef52174b1d5489ef568acd1fa7f08797d23b417c269137f726f48bfda6b1ae0f746a6efc347af5d78882639816410cc0307bc829d5a9159340fb47ed66e382eef702a71bebeb6184044e277842492dded967e13fef037e59dd09b5297164ac61ad6ce7c99350f8170cf01c3f10c631b248fc69d65567b4f50de7ca0d71efe362497dd9c2381867f3aff7b7a44aedcbc380f64f34802cad8cf3885dec1a9b6c162e0495b10c9867d8a0a22c3e1fb6ba1a62fb0d50d61946eb89a61c8c33fb2b82934b30198169edbcc3024e34dfc33d4ea22e6d27c0c508a41d9de847b2c187a464f0ff41e7f49cf8e22a205586d222c5a98e06ab9b92a9d7d9cf3bbab543c6fae3017b878178e16c59f0a82c187ce187f86d41bd82e5bfacf7c5392c18135db2b7240236f29d6d8f2beaea94cc0ddf60e0351fac167168e3b6f80d261dc5836b77bf116dc21e211c1f49a178f65017e944810de79b53c7b781a374bb6cc6761d6e3829cd9129618f9986e42911f4327e4aaf3a04ed4f9cfef0fb755f59ccfd186cb194aa09e28d19f5693c32a66509d43c0c3848266ea588cc0a508421229194d1d11826ac2d7448364586b377a049558cd12bea7dc54c4e53dccf565255bdc32b48acfe9703150ccd3a9dd95b3a865864adcb16f964e4309a06659f8b176370fd4c01b8d01c84a6233455a6fba4f7ca95f21ffb729557fb21d117520e77e20de16939184b0087f71f6a7e69db8b980d4a43a31231cc26d92747cc31d06670fdb604ade7eed40a05a340752b00b613280ad9ec3869591fe5d5b53b77c694f53a0b3ee5a9b3b0ec7d0abb08fb9055887c50d226c64908905140306e1870caadff3ba46aecc0d0f3ed8a5b5af68bf02af5ca24ec1cf6e0d5f71cfe3df2d6234a9d7040f8205e01cef68342ffa5e67d1964248b0660c2870d693366a65caa2659b18cd21ad370ad587d70f54b02218e3f81f02ccf2fe95ce0f462e983aaa2f47b5166cd1234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4dc8084bdaec48a025e9234cbd99b96adef5430124699c73fc5baf7eab9b73ba2fd85c001ffd0381a177e6a59fd65da27750831fbeef12a4f11849d88fa22141599c76015b7882237d4b68323ae06ca7d25cff04c18f03fa03371f8aaea853a6d969083fc7ec9c1b1ebf6c22c4e4af2d6799aaf84ebfa6d6c7c49e5b455625ea983da73cba01778125951dea2fdf2073751cb351b5196b9f5c8b3f1cf4c90b4279439634a7ce7919c5b05afe05495219a3cbbcf5ced2c45f003c1db8d37a08cbd338a1d9967de34e4c49570beb80d081de7e5587e7a23e7017af74f010fb073cc12a51e2caf81bce88f68f3c24a4f1c024ded97115030fcbe140a91c3f2f6f1a9a0fcbbb395e868d8f7b7a9782ae048b7edc8d125c0f137dd545bd7d9ac16cd0d887b8064c43f7a88b90cbbc523acd3f523ca2c0d0d392dc8a0ad3b76f374b88e476196d2276f313b21f18115d2b5a84b105afca4da5d15692a38a116548a5deb9a1c7bc5820701320854ebf38222505e23a9925a1d6995976879fed63dc04d6e134290a3795aaa62f07804462ff633b9fbc8b2f1195fa9f2bb621d76557fe34afb38abfdfae96e240d570366b30ddbb4c352e4577484bf12963f8ad73116227da2f8a1523b5d4ffc8d291d521280bf20355a29a80535cc13ece081d51f7536fb803917897975e1b472ba478b4f5717896989d4498d907220c7b7ce4411f6d14a4fac8e188de255c1983e71146b4bd94d9a06124354e0baa326969c97044d1b2cc46b19df0ec3bef6ff9911699da181930f3f60ed62c9f54c3c8e79d6c49f558f3b332b881380f2dba995a7804d75cfb63d6bde22766e0511c10a87ae7d1aa8adc32f9ee82d96edc7045eaa2533bce37d55eb3ccc1e674cf1d5fd7382f9cf52c87f778f219416312f0081181338abeb2a94a5ebfce97a35eecb29976dd22810d68226890732204c06c1b7c64845c03149d612a2afc46f98fe3e51d724e09e4b30cd201f135505fbd9b967a372a4de615b7057983d63c940b37e7295e8e3fea8e96d6e975b2e82e150adc7d183c69a1c10294707604031176a6c6063e883e0e733297ccc134b0429468cde24a9c8afa1349b4b4381e872338fe8b7c74bbd5f7de12f80dc0f89c2377f4afed17c0b501eb586a4b80d88801229297da1889805f3f6c18e9ea90667a97d76369cfee7aaacb76020c61e0d38f412bce7331692dbd4737d665a9f74b06e5b68bb88c9505df481d67ea529343d581efad3a9ba04c474e38bc88491010253ca357ed8d011896a8c9aea17d564395b7346abf84f70729cd64a61f2321e674fdfc22b79a43e0d9d25aba9e0c3b12c014100e1941eca0917d4b59ab46afd138eee20ea9cf4f4fc304b7e080b0a9597787b6cbc242f0e48ac50f3c0c572654c239b951ee856e278ec21394ab5539d626c77502952ec27199e83f2b15fb1f69e6abfdc183f1ec3c65b80ff7fc24d31679b534dcb42770b144df41b19ad10af2d77727c77412e7970f05b6c130dfb8e9b39710ead0afb91e60cbf8d0c98ea05e047e03b860d6f26306e3d85a8c16627884418a39bd28e143398cf38c4f1f7ef7cec99f08bc6d02698c1da9db711d609639f9d4f33688cc205649df4a16cab41a8f641d77f5c3cb94e7ab34b15c97db8f816c124bca9ebad53340c0e9f92cb56eca1c720d488b04b72be5160f7a2e3efd5a291769216b6e7c54829571ba1f933e800d35697930c0a647bb66e28558b2e21c7a92e593371a9369cad1c9a5a41b1e6a5902aada5e570c217f92354d52f91a3dcb665feb06d084cd8d575627fea268b372f9751c60aaa181063312f1df1f20dd94aebab00de8a20b16dd1f72536dc30f4626191b01777580ca84c9a8c4cfbf1b13dd3846231852f8788ece01004523d8fb428e42cc729782d6e912b45c2d5e828664e483f93e378d1076d5c3f814851ac49f63eda7f0d99033cc24577945ea69fa4abda8ca99cfea2b442b84851d41aa815b8ec881e5e4e99d629857f7256f10ec01150f53d5e014a627436a9c327f7568c64cbdb7f7083365fe5ca2bb2ce3dd0d718bef9483efdf6ae592e99a887b2118d34f54d8bb9d1c626d30d6585f95fa4ec52c973bcf311d1b11a5853a20623e8804cf7ed2245bc5f02ea2734020f1c6db8b1831dcf0527978f6c1478466e40ef29d7d9ba8396fb15f73f9223e69e40e445500251852121bc76d4245441ba97543531e6aa991e50692e52704d61c848b521b5d5204f6573ecf0ef187248da78fa935a1b4c934416940c859a763e3f8197c723d772f02f3deb403e3286d828f32ead4831ff4b62bdd8a666394b58c16f8d390c7955f44a158df3760fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5e49974e5e89e383c6de747962ee6814672040598c9071d26d10ac89c7cd51c3d92d5d06cb6e39ba7d26ebd779d2c32840d2546ed6a310907e8afced631a8c30f9f61eea83b4e8f26fa52b1e82f98a1371265a5909562090c4d4ae80ccffd51a3e2544a68e4f9cde83ea540a1675baa2bbc1d55ce63d715b8c5f575415fa8ecfc2e13e9009a6d5e9181e6f3cd0004a376ae0b0d7d4026237f708c3cbcdf735c11ce4f0909e79b9e872656c0bb9bea88d095fa9b0dc552faf385e1e84303029372c9ead88b5f919f1bea077531f8cde6c61e2b993131bf596026f01b47b3d0859d0787181c2bec61842afbbdba1093d79bc7545c150251743d2dd8db83351846df09eb73ca4007f2fe8ed1f4370f9879955fdca89b3393b90d8dbd22d43b08295202e6e0649660c78341c0a15b15e3f486b84355aa56702b522f59c1f86084313c8f3ca22509331194122da50ef68019624788020cbe1cbbbbf37d72851f613484e68ddefdac750b004ee0f15f4bbe77e145889e7407c732f3cbcec5793d5fec6df7b774187cd556fa1937051f0a2cc9f827036b555da8f490753c341b45d2fd07b079d0249cec6942beab6fd6c04c34af98e87b5c632b150a89bd6c544030f9dce23a50ff3c7214589f17bbb9858ccdd9e7e307f8e6b663086146fce14e9f40d51ffe49e49952342a3eeecbfe10c6e0cb08800194b41b40d1c3dfde305a7fac0f46239f596bf51527cf6d84180d1719209bc57dec13cb698dafe68e32ca9b80cc51f9a022026f07157390050f01c5ad6a8eb6ba763b458d666552c708fa3f472a4ccb612164fa60a9bb087da185b56851e71a865502a00776068c62e7679ae0bc660538a470857060e76b5d09553145cdf978a2bae9314ef235b778537a81f948141eb74a659be2205af9a0942a8de5fd557d2cf8700f9966a5eaa346e32b7bf9c200c91c13783279a18c996188767191db18c5e2d86fb418caa0cae8e123c74e49758686cb099491377aab36d0b5069c3c5f132cddf17507216ee3913e1c30a1df6b7a0581139c66391d478de78e3f89b28a891ca2281bb6f755659da8ff5ce1ba3a8264a008f7ec60129d7c0dcbf655a63ac516a1350a524b7ab114f685b93e6dd54d04b31a91f4c4f88d6086db4356c1975dddaaa9c0a32b20c107772fb1cfe195cc437d6b5a351d146ed71c064a5ff741943771b3e643bf4bf2b2f1251b76f40b0ca5f9938b5513b8b6e3371763affac0b0f4c6404835c56fe75fcbb421197cc194f2962ee6e4bfcc2e8befcbf48941b0d447faab7d0edb0aa36d9886ecebfcb8c32fc6f49d5a1e748b12bbf153293a60113ef02fa868cd2dbbb8cfcd487f0f5d8034d8dfbdcfdfcb3f59e898e1d1628c77cd1ba7c563cbbf5828746c1502e5c23d4c4bcb6d9ea3682aba0e585c0fae60be717a2237656989ce444eeed26cb4a844b4841a271d42d38adecd3147a883e272404109fbcb4ae1dca5da7f8a1458ae5a06641d6be1eec61f8ad8d8f4f148997b53eda5aba7bba6d0a8844085b3eb41e446dc366642c5a3d2e5ada436a4c32a7e1c1e6e303ffbb67e4fabd803092735be559849d52d270460d00d58ca4b83a61391c029f48fdb402f58bcbe5f4212b61852c4d8126f74bb1f0b9fff28bc3ddf72036831962d7810eeea61c99e635d6a63eb0d68f8ea697d13277a664fd799d6d1a6fa7163161ae3646bacff96899b8157918fde6137a4e9b9f5064f7814ee12d6563f46a5cfffb5b693a0793d47ef0d506857cce3023b2ba5c153d63890e5c113362e93548496ba87d5bbdec82dcb666e2c31869f8e6d077ddd0eb0844ae4418b990c80b806500824b35f7ccae1be414a78f09e47a3a320fce9a2cd7621e6e07f8c4769c026c7998ed83d0f72bd0e496ff0033d1c8db2cda30ba3ea81e651f504b9fa13445bd13c4b63f1d1b1ee8fd8d611fa085aea56f0e903b777cea1dd066522858c2ee2d8ff6e1e0b225507c005d815bf717ca58b0661e2d26a92d7d2139793417bafd564d53fb93ea61664d6ec1faa3815b6cb411069058b97d3d3dd654e80242285faa4602bb1baec661bc5ff1cf66f4903a207e866929a63edae6243c7db572e65a6060d37eea99eb53b66d7eda8bd1d2136d160c9dce57350031880b7cc93e4148c78ca39c85088d5d8a86227223fff7d8106a299dff76f0c5fae1970194c8818205e3049978f8d74840167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a199db92ab66aa9d36685bf8f670938339a82b67e69b636a7e3de1d066a74870b4b0ce9cacf51b73c602333e5eb8687e011127b287c99d12d92d4ca6fd453a1546bda6fcea87b4c097c522a480b6f466844b4e7fe8807a685805d97e477154cee5ad48f2b8575e58a72f57fe50fbe98ed7727b923eb56d00fd506a6043cf477e02b456bec9f67e250e06793be6cf35422e07321cbc77b09e9f7ca5cd9817e69f50c3eedecedb5f5b183945013f669f715c0f6aa10955b0350acd2170a5f6629c8e43efd12a2cf2e930d959a7e9af3ccfc671d0d422fd44064d88e8e70b481fc515175be396bb7bfc6553e6e63d1b611447f8a17e268dd689506afa2028358e780d8c868ec54a20c316aa6bc260b373605fe07a94490c851320d5b12562ed28809a4a11005b4949da172e580a9280eb5ce4467df9dd6df0f1faff1786c9d1a8ac546272b54072b31166ab115ec985a2a40bfe33b1d1aff0b56eed3433e6f53d0bd28fbef88e319f7e69e38a3af037e073ad820e8a0ad3af3326c0d3e59ab881bf77d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe57a9c9dc6674a6aef1c9dd51b5a8050589b3343667253943baad2084a11665bae15f1f753723e5c9ad4bc21a34a43d469559ab0777400563e35db24ade98f08291fa33b90f3f3f2be0ecbf396e29039a767c07f577784cd203934fddc4caa8a434c43aea71ab91694259d8dbccc09d28e7e834162d3a79dce44f8963b61b3cd3750b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea55c51fb1a8f1b630b9387ce7a27010f5646d5302e2adff0dcc02bb9efa5515b500647cca6f95077cc1c3bf816f9e95616cfec13c06cde87df4033447f9c7ba0fa703306ffb063b270102ffa8209c3cffb4b431c67260aace44ccec2c549306a3cdda2929a59ee2ababb1504860a06c5cdfe6f98c207e835af888ecd72ef05f3a342416836d796bbc401303ed0750d09994ebe92c0c6b948c4e0dafba119b95d90074970a593da8157ad9b97c09b68ce5f3539a55f8986c4a345a75b7f8cc89cda178f532ea34e22d6bcb59e47be46fb2fc139ec5e9f9734f64a0ea519dd18e67fc42f017d52c8dd9b984937c41298c713ebf9d8aeabced4f5fe5040148aa906d28f4358ed763a45a15b3b62de6a2ab861951f24346934a518e7b9e51055b53ea85246199eb788010c9c35f1ca4d4428c76a6dc55566fe6c11ee27e3950f61307f25ad0425b0ae59ebbacfccec2cf98801313b462fc43662a989b1a235dba53335eae504729f256cfd6d542e83be48df88fc250a0f7372909491fde44413a4d0aa114a616c20af3ca0c34b7e1b0022e27d7f9985f303ed1827f026fff88ba2b37c8f4448e4fc57a3b05cc664c8321aa9e63f6678d8cc1b503088f2e137800f62d4e61975c57e65781e29336141cea0a1598a645b56bc02deecec0127d11c97d6fdb3825af07e01dea36acb70cba63c69cc3cf05424404c5409af2d808c8f7b343ff11e215d57260c93c2ba6e092a9f1560bc3fa23b35fe44889d78bea362069d0286bef8c68acb6879d1296845d0291bdc0e015cb7c53161c50390e2a6ef1acc3a303749901f1b9dc09eb9c6436f62c808f32835e42bda0dccafcfe38467b5e1d584da5ad15f73714ddae984b56a41e0b0e26da5bfc4de48c3018fefd1d138db4d1d160cbb3bd861c2133b9ad1f27811203f723fac4eb9d7ccef246fadc064247ba4d114d4c09c00a5dd7626212af40e492f9d590044c5ee29e9061d94da6fd74012801c6a55db6184c38d879d7605a42c19705354b78efa81550d9f73ef105c2730bac4b1e3f13fd8160411df8ce627c477a6275005113b3e1505b51d5a4515f7167c9d4a8251cb8fbb67b2adecf81110b651aad4a7907ee170f16efba573009782a81553c86ec5472741849918e1dacf8cafd972cf3dc994fd513c647dcff44e3a4c66ff91958c539afb12c905c869d29097716bc1d471adbcf4b5b704bad531a3e5bfed064149456ac5a5531d68fd4603038a6542d7cded22a7a70e818375db3236615876a0d4736a4325054334e12fd9e623b1c1da92274fa3575b4bda8b9b89475d1a501c7b939e60dcddb6f0b07643d451d39801fac86f0c54df6ca03ec6ca7306122664e5a3e62a0c3da16641cfa472a6d9161ea7270e35c1097e5c4520f93878671ba42e95081f807306b585206febd289a2c54be3a5e5d68bece39025f3860faf2254dacb804a707bb761a0491d00d802cd1a745c5fe5553d5d536cc016a436f54812f347cb3653d328da6f025896cdc383eadeb2fde4783dcd27ac4b591b60588b4452b7c5db618aee7bdd2a1494d60d450b0d79ac3864fd4b8fd5e453fab84c2f0f7500874c0833a1c2dee5e8d9c78c156f1d0e7c910dad031c7cc50f49a1cc5a57d82d92d2f2597263dbd24a18447e2a8eaf0e3963921eb36aed80fb23ab85ec165b5c9de929b2f0baa3bc03c52351627cf84d79086fa1c3e64bbe8310dca8f381b50dbc66bb4e5aa562135776e17ddab80aa6831b17c1be4ebde9cba4aec5e63f492615a0ed335fef24879413ef8acb4fa2b14a174b1f82b0da1a0c5d37465fac82aef78ad4c82de975b578e026665937808e95ce6e1f964b98d091706379659da642e4691b92acc2d93a374654218879e077cec9e4c68350fada19daa621cda7e9497c7eb2f6bf9f9fd3b714b6434db9e8b790fbe27d0967695d6fa6737572ea899798eece6fc0bb1875de3e6cfd7cd89b9ad2cda0dcaf9904b419f55fd2c61b6a7019dcd4db17304a6bac35225149a0f07ce19ff75b1f6d30c6a14fe3f0cc1dccc1f00770a9b47165bdb35573e50259b9d3a4c19cf7b37e22220603f4fecb2f6e0c00b92e8d9efdc14e1648a561d6b634f61311b6575c4493af82c62994e51ab6512d04d314e298c50f8e7255d8df7ba8baa8cf6e8d978fd360b1fa434c2becb14d7590458aa0a008b17a2b23cc020c32d29f20c94932422fd52990e139d1496bb648a5a4b704a1cbf9941cbcc98f2f11a23a3fccebd67fa7663399006394b45004801a51b29fd1ac363d707d8e1d45dcbed25392bcca282c8c5735f580b0904b990b6ab16ef3f4d2462b2c773904abfb063cae54c8d82fb5a2ecfad5ccfce30426cfb8f46ea5ff64c1251e5f0d77837dfe7144180b60d1077bfc8f04aa59e107519965a94cff82af3ee480c2c5de866257da2062ef1cd04926154e8b14135b9f90764c6ee205039cc4b392857c12cd30a492c6b492df74b8e375bb6c6d8e8888dacbe4cc8a78832b726ff01943ab43b36742c7536a3d8e641c0e574097ffd0d4e138113f5c4572b71b5c873dc17bf7d6a93be5e74f62ba1d0c3b99b749b607ab3816867ca5c11837998ae5cd9fe1851f7682c15a4f6b3dadee7c77f8c8a7a17a1e400e2241056edd5754e75c16ae283a02655c174de7bc527ea0a5184a485cad29de0feafaba19394659430d3a2b8dee00f1c2ac3a5762f7557cfe06da7b432f978fac6605ee8ee249a1b9092180934a12e6fb4880ce68525dbd32c717ebc81efd01bd3e45342bc3df1abcb1fecc43578653df9da970661acc4244b9de5c609235993b52946ccbd44719310806c18a9f5943cc71aa3efa59a07d138870a6eeddfbdef61bafb7ede18ecb4a94c2ee74c91a8dd09dfbaddb6e33a898f02431a96b510e7a7fa7941a6f35b5e5348cb2fb9558c97e5903c45b9e6c8fc8a667a92c41ffe29e13a2f942a29cf329c6bdfdd6ca7e23c913f701bb72b0909ddab7d5d11b25be6995ec8d1ab23b42b2a32805ee1d5fd48ead109aa384457b8d5613feff1c5eab0def1972c616a108f1520ae171b534a719f8e47c76a0946e422277c0f6d996085b5cbfa451d3c1ddcc3e74fa40382fa545f3b2cee32c54e81915207dc7f698cae98c7531a94b8ba5a11fba2adf53f9216f5b5d1b57c0978feda38e6d796d5730e2b5cb4ed33f13ccae6305ee583ad29d5bcc8ce84eea8da69760bf97b78fe1f0677e218d8672370ac4b63646dc3183fdaea1370d52a401325ec51f552ff4365c6ae970472525d0a80c752b36d508c8dd946a5af23ebf241022d9993f577d1e7a836340e99b861d9a438f7bf9959bb1f6247b87728ff539d86c049a8c81cf35985280500d295150c1620f7268e04d7e7702cb07e3ffcd7386be20d970d1e8f6419d518877008b50f94febec90a1165ddb3036e3b0e6a638ae53ef5560cb76c2d3198de77631a8c4d04e0039780e390deda5b504416d6b6b989577c0b612c7d0b13653c8927373564883238ad674b9382a3e37489a9565c1f91fbefc90a75a38236e5e42972a2545c88575852cc6fefdb9c7a7147eb78a98ef15d46fbd3100b1ac418a546d59c8bf65148a9de8f31eeedb6c18864aec604aadf3d5e93c1a547d24d77e7e7fe8b40f7919a9b7144ccda7b11d7cdbf53cf0fe79a2aa0b89f5c4916fdb8c0ae99e7260b33b1b1811c03205840d26e28b63248319ff9f7974f2e2c04c54216b767d78888d092bba99728839ae57ffa34b1239fd211c83c949e13ff0b83e7511b21c664cd116b03c7018e09a98dccbdfe2adec6e832a304fd7e0bd84ec26132f1ba4759952701b43b6c4419d96c06312ed0b310c6ccc9f650f5d312ed74cc38306ce176114f6211aa2ee30ec5d68b52f84bd421e7cf879786c95d2a2f4cb008a5af8c53a0b9f44739101100bdf70979567a1734a2108678ea950aa83ff31a3ff76eb13085f21e36db1530a1f819d8c98fbf4af9f9c25b2bae136bffeb91bbc1eb69c9f0369b94f962047d3993ebfc9a4f96a24d8a59ca45b7f359c50f62f8a869cfa716dc972b0922ffd2ae741e3f6dad4273725f65843f6c7f36857fbe1358b70b3c6f45023f27b4084fb107b8325142a15bc93148162cb1c8a3053c48c866517f36a16ed0027549df1777e4fb69e81bfb71d3be98216f71b16d047ac90e6930f4d2c4e1a14219dfd9b46c927a0b02f4669a911dc8b11a50dfde781055f18eff1eac43435ebdfd049e99a43e2bbde7647b19fc5e19a42a125cd78db9ddf2b6098e9c9af291a04dd523b8abf447d8295257b39a68e780b2669d493048bb9112f9c0efaf7204f7eb8740c197c8310d25df0566d8d02892d076ad0447e6bccc5a73433481b9ec0e176a6ac64ee695990c73a6cbc44f3f3388b618d448622f95b212271e3eaa04e532ec0ce13dccedc1e7b45a82f412192b869cfce5eb0c8b81c151f05f22bc94f33fbbe161b8914c0317d0b22134e62e71b64c32a062b2a0b458378bf1e04a18b0a7b022d071d6ad1699e1a93031c2372465d85d0c128dbc2e6a73bb1d0fe7afd8b23f2fd04d8596b1d57e180587f5d09d923e15e1d8bb05c61a7f21ff0e8549d4c00269255041a84a31959e83b8120f981be9d30a51523159095ac6efc64e6d56a3273f7ba40b71fc88f3014b4f243faf8a790cb22cbebed010884a20a0081826b3257839aa268f48f0f368f6a8ba7501ef982fc177c4d65b108a2bd0853e5d4b7834221c3cdb7f223fc4c1754a2cbd3ce3a62b18c72e48ac42f0021315205d0381eadbdc96db33d96ece090cd7053c87ae3d4d4d21e2073cab811c5d14291a85ab1628a37c1e6447b19b3689c3aace2d14989c027dfa49f850c051be5e61a56f8e89707d14ce7e098bd71a1abcc9a946d635c89f0cb6bebf8a48b06c7cd66a001f26a312d25a700e94a907e918f3f52b29c2ea6635e6cf42abfabf42cb05ef45c45849506662e8664ea0c4b0781e6b87eb154c6f0145548ad05af5ff5dfa7eacccf55402de66f34f7bfeae8b264eb754bc0d974fccb772860e0becf6e7ee4b55c5e0d1c9326bcb7b6a992f40dbf1f68445e04f8dc4fc1d0ace19d75bd6e1508ffb326cdf53ad9084094199c482dcbea5619dcc24323e9298363147f3731a551684cd2d741c60b9157b8621d539c878a9b3efe39551305fbdad0af71f00f48f30309fb0a96dccdd251f57f8b27f53ddb80564487a7f8641c3a064aadc371c9958e80b2d907ebce06211c30b94d803b950608220bd0110d3c00722843f3d063650504790b82f4fe09237b220df71e34f1e5d4fb769d813ec278317398f89e007cfafc0d67163e14e8c57d94d382ad167d46196c0f07682eb86c21f92dee28795a05a92570b5d0ad68b2d386a1a799e95a9316b9cca29b1200305f051398f29d63f943a59000ccd01a1d5a9b6a5a2ce43ee16ee88226ad821a552ec20190bdb116b94ca361d88c920707c6bd204dcb055025b5ba4820841f868c7350fcb8e8f1203de344f7e95d67c3c5b4b37666843423e5ab8f46670fc03f7ed572c9e588f134d458a95e4308bc17647ff176289834e98e4e73f83a98280e555aaf81f7bc655a3d384539e7100f2fae3604a7df254406ec01e13d15e48499d8a1c7f54b986f14a2e32c0ded4c24c1be1389b61ca10e45f09fde29148c5b666eae7b7ca74ec99131d8a7a5a927d8bb16bae8535de57a8edc272547e182536f3158aea5667c9e19201a1a94bc3e34c3fb980148b3b1d517ca1faf0602ac7b6b4bfb6d01f8b55b3d14cb0e5842f8de8a15a1c0aa9aee2318a357646f35af68f4a18e5698865a6367708ce75f3926adc5f24650bea8ed07034695f5d8403baa84933802cb9356577826847aa75405cd8aa79598a5d69fe8b70d46c10a00f1633247fbea169082bdeb2fed4806cc5978e08c33792d20ce902f5d6982de133e8247e86b7561b7f1a1288eaa7b13196eaaa331a02ad025131eecd32b0ae44b5c8f4ec4f6894c6e9c09d1bd48a733d974026031f9e8a44dee3c5506dff3ca76ad90d17c1cdea0747d8b46bdeb5206ca4d67dec99ec0048007e25a90026b28432205ec06a19d256efec20a202cbe207940c68004f8a1c619208d05cce46e0033039dafeab881cb52624c416dc0660668798b9cb8aa3e0a81e767d92735db085d4c01c6beef0fac47ead36e9e7658dad8875502373eddaddc53873f62dd4e0a9288da148acafec10e86f0185ef9316068fe411aba45493f4eb8131031ce04d49f24d2daceab97b6cda02fa33b9c8389a83ee59654612136809db9ea2c1be77a5679d0ff008d925350bd94e4072eddd2e3f5b1c764aa1a9861302cab3c828c10a20cb4798bb3e215f97f82f7b16209d6c885c7f4d868f07a4df61cf2b14943d777ac41d023b8f7354e50ab6c9bf100c0ea64b76e4720df60fe510cc2510d65403762ebbb11a2718a03231606c7d23c884457419ebd76bc3ad62cf3e4697153dad41658d7df74cdbb18744fc55bae59fc8a69282c3d5f3ca95f6a4eccfded8262e31972c0830c87fcd35d0fb96a1bd2a55755e758a7fa681ce808e91a382a4bdd820c3985afe582bf92e18901bfbb194989ea8ef954cc536ddbf3dcb8ae9d66fc1d6d1aad5839514f12403234193a4a434e665f61b3cd8b7aa729da90fb6afc6d9998a887121c78e6ab7a81a045a03322a3e3f08f06cbff366cb8c7001418ba86b7d3dfa01dbc7923d779e163e273537a281928c42594869eaaf571c2738b88cc09f74b4b84ff494f71bb93b3df25675a48178dfa7ce98244c60060686cdb15d9829448e824bd16acf4bc305ef3d228f58a534c68e514f2d3db6f8e276f73412b9104391af0a8ae3e4fc42772517e41bc226f2ad425628a4ac1847f52202ab188c2c16be4eeec7e0b9940c8c576fd869ff4ec91fd56fa11eacf724dfbb4f382a643d538fda5df16cd9639085cd64f5877f63e4ef41c9a4c3b7b1e27716ea057a1aca3b937d0fe07ae6f160288576dc7aa92da9d07b7866172091a40f9277fbda0d2ae8318ee326f6fd04463fbec39984c500f86ed0c3fbef646eb3d2101e8d0225c79c09342f13aeee16b1092385e7866f684b3a8d8d1aa835a9a85924257f0e5b150b69fd033762567b406264b1092988811dc42d11653e2845d889d84e880b2e286ba80ecb95321bf4b4349ea21167c1e6a8d0dffa09ed597a5bd755079c4ac41bffbdc9b2eea3f70b3a54e53bf18371129630bdf0686a807fc37e2c02b9cbf12e1136b9e6b53f20360bf08cc56154ccff4d9483603656d4b3eeafddee79883a0dafeed03a1fb46fe7d356d421eb4cc4de302afa019c2e8b420a92093436d7dac41b26d2c88239907400be69c41ab1a809c6ab42351b941aca3986c39c7fb52facca2a0a349683d04c3c7c97b69a585ea24559e5a09644a5713f501bf4a6ba8ef56678db09f19916abfcc368c95b884214feb8ecf292d37757a598c8ca4e1a217010bd678aa6be50304ed2421e26faffa076f98102b7a78085c362a821ab82b60434eeb9794b430ea41431a9f0e017a695e8ba5db2eef4a31726dc592789da72a8e4a22c4038a9787e17b72d9006012eb4266b63b0b8d5732b85ddf24454d63458d2b88ed06fde010e8f6180e40589445121132e496af31a1440ea3edff99cd89f3d367199e99ce9f0352e0c1d3a80f5c3963daf8b955e91215db10c03209c3aaa6c80bcc55d029ff290a385a416cb7efd591525f9510b5a702208f9b7eba443dc20d8623e80317fb47fffbe1c22403a8ed24d349c7028427bf7ac20a31df9d90a52f541fa11ba3a8ac315a41905b8d92d90d25770dd8efcf34d5f446e24512e5f6543e72bfb10bcbf51d288b63f4f1d6d896d0ae49caa3221e6de1ef9ead513215d47f95bd359cd90d408ec34a8210682c92d28f73329e0a1c7b261f96ef13aad069b582fb3802b08f58027102bf88256f04841e48b6344c7b53ae1fd86e75c892f43e00a67ecadb344ff4d54fcba43b4cf3218b39060445603b4ee07ca835bc25032c925b9036733ae7731c3bf28da5c148331b02f96459ac29021582ccfd298598fb1a76505526a9812cc87e5405d7b76c12527bd09d18bf352edec6e7bf252f3692df3d3155710a9cc0f08ad02fff88798124fa658947c6071ea3a219a6c8f090a2fddedfa1536d3905aae46dd336d46d398d0b21297d2916f4a1e864a6801cfda3d2ae7d4fbbca23a81d4435c7f8cdd665ee64cee382f58eabb32b03ce82d2e53823c64073b8259701baaf3ff838ce849e24de91d9c422ef174b670cf7deb7a969edc718978800d5584ea9c446606cff9d6284d40e8967a4c0a39a5cb956d0817db25d3158cf1433758c46489b63b6402a641394147f2a6ce938ae92280671e60c2f593c4bb19af3cc2d5b8de63c982ebff4921a60be7e1b52d56622decf2ce3cf3be34322a10c2c9d425857e390fa8902c85060c5f81dbfb2529833e9d4045ad4028373c099af17147c3ad7ec8f1f892b686d4c74a76c1a33266899af6d358fd854f1a69222cd1400a6acfc8e328713e1cbdf3def57edb8e0e1c26a99fac1b961afbba610d9c73bf1af07be9ee2206cc4bd3b21eccb3a3f589e653268b411b845d660285b8d62c5971b4d5b36c78bb58c67093510c1976dd539e14b7d18304c3578ea596e31d371b50abda20826f4f4ee68e0293baa1f7fde8ab4b136d89a209f07fdbc1e51ad19dfe2bfce2fc3e89a2d8606eb368d67f0cead0a7745c4e047e6faf751286e0e4600c8fe731cd412be1eee7586926e6b98f57111e7d29b62b4aeec4e079faecacb5cc977105f664310e1264b00407ae57a7bf447d05d018f5a88160b71435a85a5073cdbadd2682f6d445d42ff0529f0fe76a3083a57a9b33be72a8cd475756e757e7fc95068ff27317c85e5fe2a1996aff54153790247efb09cd27a94dd76c2ffef4f76476943accb4192c6fdf533f16437f9d87bd452bd46e282f56bb23e890d5d004ed63eccb8fff8c3538a432dd7224b235b00d40f611e191c4ce4a36b2fb52f697c88ed776ddf882fa9d1f69eba6ec345105089b962a46a7e64854b34bffd8d467069ba27f28e922f268b4b390c3cba7dec81f9e01f420f0666fbb61bfeb71aba9a14fcfd67b51cbc056313e55554d9c6ea55112b57fd4165a7642a12180774c7601b47c3da17c8c6393352d3c98d6fd377aa3d278d9f7cd4c689305652d27c5601b85858172d595ec89123a70330071a64e91b1e41d3e005a2518db17d6e955f39f21c610442dcc8acd437b0df0d08ab0d3895191f4b2fa15512d0170e783f314d10f36bb7ca13112df19998c2903ce464703870a2689afc08d80038a041af230e4d0800cb01ac584549ff6c28dc2e5fefa23020dea229dd8025da9681e5fb22bdb5ebd2007b90f7363f7c045a2855e131b3479fbd670afdda1eae1478576410550174f628f6371bfb58532336053b0021abe2807d9ac372aff63644f12fb939431101528d8e06a0feb159a00a89e0405f4891251deb00d6e1d91a0326e45591b6d21fad4634f5fb5a895b5d2ba81f019e373eae0301467bc2de5080eaf65da30583554bd4106ce6212b5a995084c934968b339ccd8cd3139c3c05e9dd7b3984ea67f63ae6b60c01b16c252d31a875b1cf7ea62a005d5597d7c91189603122d7fc0aa2f456271490bd1ddd1abd21fea341ec83c1e761285f8b8ebe8c35d7f5efc59cad4a7f5fda4f12cecae35b20194760966be3808695a664b66b958c22e8dc4abac897cc711ae212a26d6f1d29abb8a4a04ccc19667e0f5b3a5e38f0563ffc1b5529b550fd0c5f0a8d4978d65238a3f33de109150cf259c7973f42cf63d02f25a88a3c8fc1693f70f425b75e330c4fa69acf22c4039a9e586dd95605a30d3a0b8184fcb835357d98ffbb61efeb719356545f3bf93d9b1e6b228844d484a8c4f05bf935a5bb94b8a329df66260c6908fd247d5771568756ef260bfd79f745b5d6e23820479663d9de612824a20c3fb5f564bc141e7bd164b1f2bbd7f41e90f962ffa875cbd932f4478b6a681b36dbe6bee4a31f0f4e834c2c9cd454c21a928de70b60adfb8a16ba8564645574d4b88391a8a6d99284ae262364bc2a312d7419199f291d766a99b775ba679118b5a96d5cf85c58171ccb993399b9537b0e62751b9fffc3f8e647d2d7033f8d2673bfaf93726222320c2f98c2bd6985fbabbc75e65864af1970c445c76f03311e74e68e7cb123e0c6b4954f422b278dfc69374959f5a82231f4d4d81a2b598c00a2f9ee9e1fa70ff7146d2a8210a4de21fc0a4b7de30f17b80b12284457be1199b28bcc38735c68841044535b7abdd5a74f574c09679c32800cdc41842d64fe57c0ddf7f8ef244b62d5a96ad3707b5c27b078a5f90334cb69319bcdfc8010c390b53126f77d2521df19e13b88c8b40500616503e0e72dbfdbefac5db841388be9a6a44761c89e4f387a2fc7eb3ea80e6087f796557fa44526d55b5b6b0e5c02d79a37c502949e361698e845ef42ac9766b0e3a26efd7c3fd3542b428cdd64e4d10e08f013371702538b95743c520ee11241e62db716e059175a114a99052c98c53c7f0f589cc9a0ccdcefff572c19b4c0ca5ca06e993f834752d7bf308a770622bc5d7ca0ff504a2bee07bfb7dfbe7f1cba1f5c9aa111ff5665ad87b6a0b46f775f8ef5df18f929ac06d5529daa42fbf86d44107a60ed6556f248fb9c3f0cffcd355ce3d5c6790c0d46eea9eeabe2e1a403625c0b45cd09e31eb2b659492ee02d6f568dbbc4c8ed39767dbb491d6785a552dee9429bbb5e607f7b2c1d25599463c79fd73405219a5caf6dda63f86539af74078d15731b841052ad5c672e2b6572bffe6301449a41e8b3d0cd15c75e6d8b644525611e6d534a74b9a0a69979261590a6273cb386509423850a78e8b03db7de83fc53528b39511201f8a2bc96bc6aa74e8e0485db32eb9e65ed5f4bc2d2e19be28f1b2682b99d099bed2db5dd000e989920e5982fd11384338595a985cee01f366c30e5ced1b33f974bacc718e4591b92112272ec5cbf5eaf066639a8693cd773432d91263db95c693cb91d86a04654f6f64fdc522ae2c1b7c4916ebbebf1a20891d99acdad05a73ae64c30f590726c9707b23d42a29179524f3c5410e34f5d509cbd5cc296abfa0f2542da86880d3442280a8bf1da55af2d84ec005b55afc1e65b42413ad0e4ae8aff23dd7854dba2a9df7b006a9da6aa58f8aae6c64ada1488f3bb9243e60073e6dc5ec62854d028919553a2f934918aeecb9aa38334edd9a5bec846cf76d1c8e0b02adc51ef578f2f6bad74f2e5b427cdb47a7b284b131e144d0d6360a31d07a3db752d5ea3dcbbf67efcf26cb438dc03c4c68cfc47050b9e763de5de2e9f96e33b3747efe816052d637313e0112c3246ec68ab4b6bec60fadd919f2cfa37148db632efdb5cedba215f955487bd57522be549dc7a48f06709e021047fc1054e799f7337068d9c0b36cb3214dc4f339e66392c7dd3ea498e8677a40b95ec0086f3cea7b175b2e5779c33956629a9f60bd46fd529f2733e6372f94c7020db590ac704c95db1009bf7f14eccf90f9d0232aa9773634e943079bdbce22bcc5e38fb11b4fb24c5a7e798c81517d466bb8bec0313258f844f4c513a9f49f117d347e88d29ed544d5a23d5d5d5fa2dd2c620f4a95d33ca5de70348c03ca0dfed15c023cd286afaa5b920d072ff95af54e460afeba78c9d992935074b34f31eedb921d514418297e6a9f4e0895ca0f0157a23b027d4144505ba786a958bd829a70183551d97d3f109dd471d483a17460167a70de9ef5a3e87a898acc97c0af4c3e0caebc37f043862be084b7716798959fb41631f86189e0096dd1bf87adfe0e1f6da1718ad0a34b4a891375799c07e953f80167cbcc1eec5a8872c6c4137411558e7d6491043f81513a8f327a1fb513dacda8ce0e0ad17a63f9a402e7f90293a9f75f5edca5e84c53c02d1eb9bd7a4765cc878bb717068863555d7f6f1ef8fecc44684e21315a7b38a286bc45da71d71ad0c3d93eb89476c22e4171c7df56687645f52b52c033d6652544f5c861bb83ddb1a27b281b46394d331822064860926df9e25aecd2e3526aa69749289d1c3f6bf146f1fbe2a8223ece16d1fee89d9ca0bb8dd5c1ede2369e0140c309f34662bf431a1802aeb24428d831802c2a5dc53291ada53f38194674684144050b9fdc0cda941f24f253286f7d5a754a52444971d69b423e97cded2de85d13f8ea1e7b3a44d524ecd158a867aa3426d413a9bfde87ae64202802e1b9607aac9a4b42621bcf4c1eb5a7dd8179a201552b06cc624a302e59626ea309732442b8bf1bca17c586eff8d3a8e7ba24e690d752ee75b2589d6400ed105bf5e8dd2ff33f450f01475b75de549491fe610ae54c253db2d004a6b4e41a7e58912986dc372b3ce740205f710a22b4655f4a1f1cd72db66382bed05ae48fdc2661abbe5a6dbe9165ccc149163d9dc6e535ff813256a663659e42ff411ad0c70c720f45910d7baa282aa3981ece29f6bc39688e28e44d94a66d09893c718cd20240f6c1a813573bd94717297e8b608f5d3ea4232d1c64d3a3a1a4883d560cee977f51283d657cb91c238aba0431d542408b1ad31e46168ba8b4a4a32987aaaf6540b4b8eb3674bd0c87bc78830430b4f86bb068226d403ac9dd8a03ecc65f7f4276a1e7819c6f3f215013d1fc1090ae815c741c9a53885768fbd13dd4da4db5d8dfc7dd597a0ca2802d28dd21e3c08d564c99eed56281dc78249ba496660151610d1848167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a7daf9ab73339c900b1275ef5cd0a3f3959e4cc0f3be665a610f7c6fb255c611305352657a995a5ebe0d26e7bf26b0465e2beb001f0ca3062bc19e7eea36f1935314f57279502b3fe2e2e4c9f4cdb8e01efe78c412dde73a701f1a5becdabaa3da193656eed20e9c7cb817e3b13d088b731bc8368bacdc09e14fe19987466cfcaf741f101cca8f8e3025b9e46ed1308b22b90d35e6c7221dd517b548e39b5c119912597b995d31303358123a60b52846bb7e461e74385e94461b4460e19a50301857f3b2e65e2bbb67a13a2135d9f3b62ccbdc617e35e293ceb8b89e00702a57e4508abc690c00179247eb8462830151e1ca51e9a6b065a06ce3eadcffa39f19f40078b8126f5fd73374950e282f6a3d8f26e6c02c3900f8a8b8fa8a366fdbfd027747c3200c864bb7e1f8d88c186fe985399317aff42c4ecf52a8e781b03811e6553c9c3d6a0966f86283bd4325d3a1d3f71d954a53b66408cf3e63436fd18139e01a472e4196ddaf794b1a00b532698def9bb64c2aba1c9d3fa0c5d7cab1790dc6c1ef595485548bef2961c4fc2e825de11d0ab312207b5f09d0c4ae553958059ce95df27edb7b66b05ad33cdd4c4898ddbc13b249f857e2441bf07c0e482a93b7f72834e345fbfbd54230bec0a4dde9de35d2def9ba508d464906c70e3ff4d65f6dfdff1f15281e995f7e3c742527940a633566259fa64a60a50001c56c200d0026f8ccf99934cf66bea37262adc3f36fd3fddd175e1b82b08e4b81ab178ca98aebcf7366cf41391828eb0e602181cd6c71d44bb2130f759177b6c327b0003f23aaa863e9accaa766f358fd2170cc972f8453421890500e42ff007ce22b30fde0ea368fb42af033bf8aea206cb8c91a7afec14b774fa3d6765b86e1378418e1d1372e0e7f63f981ac557b07d6d91c22897711d97f870f8e50e6b4e15942b3023a08a89f97e1ee448b4bbc7b47fced1365665741a8cc8f9e9f6a9b7de6354a022f7fdf16d038a65787ae8136a5b8d1d1a79846d214663711748cad98643365ae17b6e6133b3a755fe24ff78b3c45698c628a16d4ab21c8393789be3db02b77847c42e94d2ca191e17d41032be9d7fb1664caea89733f0cfc3c2bac7bac198074fd5841bb7947482431f25177618665e8571448fa890beab2d99f868062368a24325cea8e0b227061a249e710b50db8fe3a8a6aa1c50b5508aa3a1ecd087118c223a591f81791f2d5db83014021aca6a53f53541892f300500fe07c9ba4a551195bb152775430b12342e1ed808309ca1a9e5e73ccb13788169ead095a190af5eb817af3dacb161d432f6bc162fd625c800d33b7328f403e845055f216fc94c78f19f21a2c660928bd35cf31aba0b65a2a668368e5458a80105fb88b1589fb5e7b9672c92a60ff1af716b745025266e22ae5595b23beaba49d0ea4a700b1a515b730125d782eeba21af5525855e6f620f136983ec16f01fda8e843610196629c2d6119421dcb6a58433ef772b99361162b0efe1bdc023e1fa31604b1d91643a3eea3e279e45f495f92bfe6d809332e8106548b96fa33bfb27f291abe10f1b0f60115e59663e120687dbacc07aed39381b4c80259bb7a466336f67e84dbdba3cc70b04d307197d8d9e96d1b93f8b93b1faf9dad1c17927a416aff31c2dc9eea5da1ad6135245bb02c6fc9ca8856dc456a838e117b5991a1bc804af88a5274d81622f5b51184b6b3fc6891b026b8001ca77acf169e92e23baa028be3fc33c89dac9fd4921d396addfee4c095016c9c96ae59a367f365ee394999d51a126a0874382baf7878b78279cd55b389cc210094d1d41322abb2a59db07da00269449c639ea10917f611d994fd6311c825581f3b88f4642ad4fb2f2eb399a74371a66c9c02ed85565121407880436a8f51abcd02220c004df76e446c55858ac362be425bc4836df08b2d48cff54736691167204c59d239101f334808c46e9713581319b1d0f7fce8325fae6822888c11e9ea6a45de6adb55421097e91916a89a608b63379b1a5d0d31912cd6ed3f7ae6acee3066a462fde5d1142b8a16ea0b59510c3d9137f8f9947f64efe680ddf4a357a90a3ded050be134895b05c715dfb10f10df3feac2ee28b8097af22efc2eaea8befca89816239326c39d87e73ba02bd0e8f86b4d9ed9149afa893613dfbc16c93fe396eb80863830688e10527caad39e974cb7bff0796fc608a7816f8b2dfba0750bb066d6c0bc0b637ad74224ffc964a0c5d0008c285b79da5e0bcd9877453e6882f78b3858f4ca6e1b05d3e4e13cb62a3db8fea94af2557b50d61da6e5d4944631cf3a110040531289814ca0adc00ed7bcebb8b61be8ad93e0c89189005c324fca7b51d23ada1f64684f7cff0091e1c6008bbf8851c980bc45e02cdf385ade8fcbd78f422c3f6afd157254bb6a1766f1d2f96654c23cf37a92c82443c64fa71c779d4ea2ecde393033e98ec5074ebd3070acb865baece96fdf5f482af1db8e0aae062aa3c26d885b3260343ab591fa1b36415865afafc70fe18ceb5f7c8ae27de7088029263c037548ed3e920d61995c6c03391baea6b1e043c94d0aa06e5b8b50755c2d1e7416e089180b95f6a795d12d6f3ace7919ad9709312ccf4d4d61d4b57c1fdc82b594c1102a04506652585dfe884b00ac638c3d837dc9953491c50f7325e4dbe1fc590b73767bbef487461396b9e14fbbaff7eebee5da282045b3f5f54f356f21cc6a1310f42e74abb7dcd5ed33f19731a07085df6ac9970421f8061ab98f57ce9d30b4ef34488358d54cc5568334d7b50f03e3a37ac9447d35fa860231b3abec206fc0b088c50cd7936b87c65407397e9fa8bdcc696721c02bc0028dc1948d3603856b8ccc8819b426cdb4eae29c39c2c7ebb1bac7726933560c749ec183a9b8c061f898370a2702b6cf788dac8034cfc83cf5d77eeec4f4ab74acd075c37190bfcea6d6f847d9efb86f49f65f71da4eed9087cbc719841ddf5578a753e0191ce957e346c2a7f8f40b4751b0a44355fd6ef0e6af9ff71273631dfc901659242e7ae4f0e2133c5764090be001b5aaebd12d62d692eca85f5be3078871410a2e164d3dc9386cad96903349e19694c8af07a3b954a760b026f3b35ed0e176d17c217482888af4a990adb56aa0ae136f833bea624614503b1765259766e469cf6c5e53296d8d45f3bde15d579000aa27279d243160f60c7153e7bd02ed4e461558ca8a94387e5fa062c42960c24d6f0fa9da2a59b2f31632f64c3d9be3408f2bdb6cd360005e2a87ab49b582ff4c390f1f726419c784868272e559b15a0c04d77b20eb6da0b695a5b05d671cd21e5648eefd909e5208df0b9493563fbbfa6a81d479430b3cfb7eaeb52a9f1b58a5d44c5276f10358ffcb37c8431dfb68362e2be6536dd4da7173769b62b279ea96ecbe5b0b8f1fe3778ea9b1ddbf4fce65f82b3cdc0727cc893cdc706d0df460eee80063d3de97aba04216bcacadd7d0aaf11ee5302282340b841f555485f3f738e887c83d597cd55d3cf66138f71123d22c059a48c5c1abbc6843f142aaaced9c36568c162e0270192f13da1799f8312fc142d1e95f2cbea920f4c306e3ed90353036c2e1abceca6787c84d53ac18e86d2807119b8fa931ee4215232f695cfb07c556f9fc7123f678de762328b059aa5c46d5e2cdd28ef51df1e49411af32da34444f13d5b3b7a7e72c2b71ce79f44d8698d0392141704a8d40220b1dc14cbb8afc4c5f80261b57d13426de3ed2a567a99620d757f0b786d8af8440fea134bf99d7ccffc8b24f119802bc77ba324e5e287d6d8056192e5272aac5c3cf236d563b9bfd5414a249f99b06d79604cc514de3981f988464c6a856402fa2b6869fbb4a378033357bb931ba9cc468439e5902baef7c67143449777cef6c614622d6237e207c89f854dd381669dee0e9e6d919cc20a21dd32e851d24c58799a18191dd79a3790cf75a0ba88e11d6cb8d989b505edf3754498c7110016a4a5021fb7a73af81a527acf3815dcb1a63953e3c1895d0c89ec625c9953e0aefca51c82684642ab6517ae138847bd55c01320f341115e5ebbd7294d7d0ae426fb8d945979e3eaf928ffa7915e94457417130e3e4c896b34d4a750ef26e313cdbda8bbb7b1b53210fb342c9f599f882b4f97298bf2aba874e4500d1b019addaa9fabf48f9572c31a7851e248ecb48434c9f8c7c5c50a133cb51ef7ab8454c0e65711f55ba0993f243cc54646f373c463527f43b623c1200b13a5e81c5ac6701967e5c33140f8cb8a9b8f1d08e08df78c401e1a121520a17a450e0802bf40f9e160cf8f450011ae483a8a0faeedfcee0a6c5ee139c5dad8cd9a9ac977404820aebea34311ff3b72a6b548267ea84bd2f570324fe4d60b1b50faadcaa36ffa18dfe82c84fd4d2f0b4aa37068ae229cd782b095651510f880650f6ffa7e3feac9475d8c24e38572500eda15b8ac6b350fd5c9ce6d60baf54c730e23f0b25572338a5b3193b4828e07018df2b32727e726e4f5ca5b2dfddb4b38eadca634a20076fd2803758111b7b316a81032965ee23e5f9b1c905b05f43211ab4459721e38ee4daa2621a46cab22cd8054d31db9aa2057f956bee9a1b95b415e25d07bed15def6c85e8957df854c26f7578d7ddf0bbc5bf3b61a4a4a4b171fe962f7f1c7c724eee88b7c084936c348fac6ee4c4ea7a67536fe2c4cb80d90b79561e1d4857044a49c4497d0c11d18bebe23627d6147589349e08850290ff9014ae6f1b3ec010ed30052c876f4027a4088dd84d8df10869ffa312c5ba351c019b329c88354e4d62b64cdab68b93058e9f18ba054698cd05a5f6be86a0b3a8ca0becceb29ad440c9d6632e4f20036170462e2c88707b02f46d2ac5c2cb74a9623940ce93c44fbdb1ffd969ee66f05c555f1d6dfbc02a4edd66e0fe231f8ff6850d2eb75e6e2136e9a4f77a39d9a238659d51e18e8344ace0fd672086cae85e369ed30b2c171b7cdc3ff9865854be4e9de88437c76e34ecb3efd8210b6a4042c9d24b4db1d237bf8e24710f95c3fad547d994a2dd6df39773090059e94aab0e37f31e3389ddf5d4ec1fe4bc0b91f03147032a0c6d0fcce6f35c960dab70a7ec3596b0c43f99b9136c2e2d9fcfee4e35c114c173e5fd6f5de1331d308097da05808fbff6a275fdca62c76f1b2e724a2049152b71ef2e029fe0d7ff5f76ee6b47983501c80b105f4979f3baac40170b38a468c531769f20fb2ddcc7a408839561ecb88a678dd9dc4c7b59327c9a0b9edf06d0ea58f5a8572544939a9b069b8fbda83b3e383b0d380e986681bc012b74e632444399b0bcb65f7c91ff56ff73779624c8835e0b0db99b58af1465bc2f88992a75e20268ffe19144633a72b77c223ea0a429834564a5f2bf01930682739ca4abf5d36dc52cb1ca888fe4af929f3d17aea1a8b6b713b13a722047d9ed5c691e4d5586aad0388206bea99bdc91e65a163504b246758f55c6934bd9578bfc3b7ffcc05fdc6c0c0c7555a881feea2b87b19179a10905be36a9337943a4e48638b107d8294711cc24d6cf874d855b25605eb4e881f6a202468f193c2ce34aac2b7536901ded968c3a3534336b80992bdbf02ef56b7149c41b9dbcaeee534090f2473699705551683fb0651ce4748a48f60e26c44d963e81f23e04a1ffff9e07f43311326c33284eae8bfda8ffc8128208f04d6f50a00c91c03e2d9689bba222986abf09b2a7ea9498f17c75744b5aa61878b8c4efad2d864a04179694af0bd2e62baa3b0db966c786f45fc5875223c283ed1138466866c5359d31d70d42556b3dde75fd7c39c246dc4e04c351e9dabbc0e72c3494fb3cc00ff91954b96240a19aeda320719c15492930fa01a922533384c7c742e72ddd53128544836e4a12091731d1ceaeb5a662eb12ff1699385ba7628e590061ec1dc83c21e0c19a0e8ad1d65365b03003b015261d7b14fe1a0d8873b6d486c544845acc7af63d1c31f1b9844b2583da7219e869d28f2c4beec7b132730db7b0d01b5861dec23c193cdbe9813aa852f253cd9065fd867c8a32899df8cd1ffa86caa369b23a532821b362f42861a9523474394d85b7feb59e251025f081928dac02810eb24a2d4c17bdc2ec0aa5af65f47c5649c090efdc5effbfa613acc7b2929aa4a9ef0e875fbc724e632b48a3bf2e014a3cfda0f4ebe718ece584554f8b17e5fac798d22c8a25ebfeac11935bc2951f04d7a6c88fbe0a6d32a34ab9fc5b7e86a8d39e584f95f4072527460c6a8f4f18ec5c33d64d35dbfc98a586ddce4673c191f743ae9cb505a6c58860aca37db453a95f75fe79b71aa075bb544745980fc630ee98e4917c25159aa723f27a5bb674c4faa3ce2dec26ad56e9f03bc23a43536fba5648a6a35e8dd6db3edf16266bbbacdb1b8096bc065bacb8530774562bbbc640e8bf170367775723a3a54f23d86f249e1707aabc11c7443924edb56fab80d76fd52cbcb762482e6c560a7e8e470655159217cf3ebf8b475dd9eda51dc3f219aa1f04504e53f77019d715906e4d2ecb63e788ae403bb1fada9b16d4519b3a1f8a80cf6c8dc2d30cbdfcfbf492832027cae0f3ea49ddc1c874b888bcf3ffec2decf847312b3196bb6191acd170558f180b875908ee2b042b87a6f82fddc2d6b893330029fcc59123af169bcf645d711e3e587fd55ff712ab55b77fbb35e66f80eb865f85db13af2a1abc49adb55c9c28145dd33e25ad0449e7d4251a789943f53d7bcb9d0a9f516afe93dc2d989e331fa868df8ead3d78bf3cf0e3a4d33bd4c4c731dbff93c7aed17d78dc9c94f7ee3778b630e05c7e0877d7766f929cdd7930254da6e2943a6b4fed24ff62e194bc03d9219dd58d3c0ba534ee6c0d76863832c64ce1fbb6a037b7758598d0a62c47a77b9c8acbe09f559b7cc12c18591270a02ac315ba4267d43a449ceed710eb127c77ed43b0da1225a25bbe2c671baa0b4ef334fb086a8d6af636ba94daa56bba9b117357749aab01ea705254abae7a8ab92c1cc5ddf64e13858d2fc86f0108d15c97d7d4c6e85702ed5f5940395d7cc5a94881d9d110659504670ec5098a888bfe55c190ca39c6fd43e511959e8575a85dae81f67774253231732195422c0e74d04839b9cf30609af639aa2c6d8be7d348ac81f0fb34f84a471262cc2e7a16ebb15805567e9706d18b5f281c77d590e21a8d144a29f31365ef07acdb57309be14e5922d01407eb101d83e028c29b54cf0676f136b3821a918a1b1ac7f619b5460810a7399fe6aa86d38830efca6ab48e5c7f36d9aa8c9da5a1abaecbdfd1834da704c4adbc5a9ddb01563435fe672c38427e81d9fb107baa54b6bcbf87f9e5836f220deabc4f27749e22b0f034c403fba19ed721728b7eea2fb00c8b03e8d9960a64e85c80e7aeb5ba37cfcac1f575d2ab6020d9c1755cb2b7d6b0049bfa13b23369141c5910091eae360c2b24b2adb5bb59bac5139c5f5beb010e282fdee88211a76fb989c9fa2854e81b4fe6e843431aef6f4566d4e74182c6cb176947ffe92d59e15c10e11d57db98919a86397f60933183e8da0752871f206b1f16be6e0d39abdf8dd142f1ec0c76aed3c15abf08533e0d573bc2241059e2e348d0d13107d27c2c49ef0dbfb1b277ad9f2e24bfbe3f6943826a91e6b2a6069f370040a2036d3fb02bf5eb3439158549ad6e8711bc84b87299e71d83586e60f60aa5bd1feb7df0fb60895c8a7eb72a8b523380834585b16360abf1683bf0167d91c1e527bf8f9c2c43212e5c2e81bcc4a3d1951ddce37b87149b488f2091c0355442bed9f368e218b50e0fa922e6060d20adc24e24bb7f9294c2f36f24c61188711ed343d3778b0f44df74a76b83ad6afc5f3f71b38c4fae2453e3d2589fde0ffba0c97014347786294ac477899e6de4756edaf588588e258132fa70ccd391a058f80a399c18e25cb1ec8a8bf42afa69cfe13d7aa41db5c4ebabd05a8666a3255c37b518647ac066d7ff1709b2be66e6346cc1d57a911aae680e81983b42f4dd47b3bd3d7eca9c68d3cc93c34ba37bdbb10bdd415c89065ee3f7d5e42ae5ba6a8b4e73be7f46470506c3a438376f163c87ca9283f9dd7ef6b8b2021e5a339d393c076635068e0f82b3013ff559a6a42667774ddba0b23f306fb23fcdc00d534eb59e66783580fc803df15df1b90fc3dc3f7f5ca571a51c8ef564cdfb07cf1c6df7daf7ea581121643e9aa6159fc25afbddfc53e12cfb6f949175dedac724db63d7ad6ec2560de85cc32bc6ab7486db2ddf5626a234eb1e6666dddbaa74bb9a0f356e478db29829f8dc60714c986330a88cd452534947dbee15555ac0bf08735d537db26a278e0a68670ade2bfd3acba81d0186f170645d4550b71e0360d01a6e0889cfd63d1253b62581d9beb807e31041d3284395ef3fc62c4e60d8810240958147c7a4055837db35524fd4889c07ab24df5558387d55eb7d7cac77c1bdd80d5bc3b3e1dc4aeddd6e987bab845582c4b703b79be9880aa1d328fbf7def7925ec2a48421918fc036aa1358840dfe2d93429eb148b62863570e047f8c5336002148bfb3fb1411c729eb7cd2e6fc417a56d05cdfb96bdd7da009e120351d7ec6ec157fb217f61ef6a500928162baee8dd9bc82783b6bd1ba8a402005adb93638c38b59e87b3fc7d4a6d3ac71f66b8498b8c5ada451bbbf0fe3cc93b41c6c8e86952f97bd3342ade6dd39ff879cd7eb8f255e9dd39359b945fbc999eafb9212b42f7f4c72590c7197d780aeaa8db8aac5120d0df0363f245c22a527f63889a983fef9de3dc1f1928f4292962f22b7c973318264886fac328983c317c04149478dbfc5540831f868dedd3e429ee27a9b801ea055111838fb0b58411906bba548e879e7ec530a894b9843e4338e239cdfad7554073ab897e95152308c2b50d3b0a9d1b3f9da78084e39e376fe1465acf70341f0ec03a7a003b8efb7dd2ae80b1b863b62cbf3da3c895ff2d9b482fe7c2c32a246ecd5f7620a1cb928e89af6f6072997d84498b01488d520d7470d7a3c9e66c821ed3436562e26d79096eb56b0e969f73682d453137e9d4970ca9ebe360582ca537747c63ada039eab0d7200968b51d6f7d86ffed3787481366f258b875e33e07da1dcd000c8db9914900ca8cb8883cce17cd10cd4da8764831d314bab5c3a72a2242af10ffa875e8d11e4262ab9180896726156d30d9c8f74cb4951a7594057b2e32d7beb81e1459fd0c0dc6f045c3329149d9b73b60e6e177f2ed5c97fa48c1bca58768cef06c70ce2d16b43ee656ebc460bf886281a3757db9557186a894bbe4c9fb353e74a25a55ad1a8d2598c929398f9a0dd8fbbc8a0177008becac0f8bd919f39a943cfed22ed64650707b04d5b025a4cd96ca7a5f22881bf802524a273e4630cb0853ce85ecc9467c6841eca15a53f549ff279ba577d609bf641007cf3ac091e6981b31bd6f68d761513104fcbe9b252dcce308afd1093c4ebbcad435fb6db32da3978a4644f9f5dc16e6d1706474fac0b22bccd5767aba5a35f28ab42e183918b7caf32b4563eb043193f2474bf7fbe5e5f8777bf958979b15b11f610c523a6480a955e0b97e2aa9016183d5a32decf44973ab6108011628c0e0b026f402def21f65d2db45cb6744a889d4487317655bc29e9e57510de544586d802c9c6090c438c93b5232fe6f09f51659a4130802f6c28a0fa827fe27b7cca1e198f34c0a23ea09acc28ce5be27cbe1d07707814306f386f60549e8661322f91e91696918104cbdb2e15aa3ada8908d8ee767cf3cf56e778f551d9c38d7bb322818f71294e6163b49b0cbaa59523739c9ebbc616e9c016d45940b87b67d4257dde900e1503216fac19170385d1c03bde62162c932130b132da78a87f7db5c8f60b065568cb0e3d2b5cdd2b4844796e69ec72d82520691c85ad87fac7f8759e75265503c7d69b758e3ecea50c58373ba3fe473e832a25db657ac897f85afa4e0199e5febf88808c0e0fdc028f5206ac305413f67c6d53117bd5dea8eb7f62f2e879e5244663269604c8bc7955d7de155523035540d92e6dc468759a0e5e57ab7676df0648c09e7f0079cf14c6f01cd2821900d3a47be88b0a0d40f1db3f03f6233d28d1f674b19c6a564de38493b85bb113bcd5405595cc012540bf17531af823a0d289f99028a5d21579f28b419bc9fb37a9219653acdb35ac296691de1283b755b73a96c65cbc8873cc434d731f0adcfdb64455282cbd066fe849aad9502555bca70a520efd8fbba162a9a5157afa9534792c43fdb834b0df7cfc21753ca0be46ef321e47f17f8cd50c3d003916d10e277ed28c16d495e71bfd5b324542882999fb4ff0e6e01e90c6e1afdb7f53496f7138d7bdc0d5a2db506be4b75d73c49df5c9346353cddbfd7b2699f93824b1ffe0ccd81c3d5f3a38d8d747397f10d38bf947a1118ab3b78da8cbe54f7340e9ba58f6bf52069e5b323078da0b84bbf10e26e65b717aa946b6eaa4f6a964ef0726271d1612a61213910f1536d54c5558187615b593b5fc8f021b8962586b92e6efdf9ebc9c816f0195edab7694eb3c38c64ad85221aea3aaf17aa46bf2e3211b368c8c6676ca3360a5865d92ee4288759cad5c55c8bbdcc235ef32613e57336b600703d472d7c777d2c12bdbd76df2518663001f2fefed807038c0a0e5009ae5b3d6fa847a361c12d8bc3ff9315e1df8271c242b835233ce06151f9c26a448a6ab55daf434b121309e0fca17ce490f1d1e472aef2375198ffefc4adcd4bfff557d87448c075143ee801d22993de748d9c32cab61c812f95523ccb03ac1cfabacf9b22e7288a19366fb92256285ddc1c851e726b1abce7a0e71e0fae6a1019a5ae9e7e31a2812e1d8615b1ee38cc3c0e26a4876280c9aecc5b394e7d2d3ae63d02d89750532b99fe34ca971d8756153d0420fe0fe0e6b3e9f9a6ff45650c841709bde3137e805a8a852fffe03223f15f9794d51df35d39ba1b00bdae94a4c377f8346517c11c5e80dc0e975662032751712a7175106abafb65c4999203b5e89da8c379d3718378aa9d482faf003d7c2214e8bf41f522e876c1e1a8888ce76b7180726637e74f3077deab631fa491437a3d7f7e90dcbaa63b91bf713c77de797df34383002e50e11debaff87d8c003e120146d52778e362c458777ea40b60dafe42450247e06ffa20663be3d5ef0984e8ba1cb6436582a9de8ee78bd7fce3e65df16e15b28db02f3aa54bb60f613c130fd9c2dd674612234f58f84aa101b1b4af601ceec5c2d41d0467bd083a0c38318e5a4fca07f6e91888f28286b4adb87318eb40b88c86b024d2c84c9138e1608e1de5e95893e13ea545d25d9bf0c80bcc08dd28f2bfe17733539934866bd5ec3386ea39ed1c4458b36398f1412827ced6e687d8ff6d2762e14138e894c1f2f6e35341107019413534c86eb30d59f8b961d11d2d9739e54ac9109231bea73825f2e0d9b5ab036d0abbe4e7dc483461582be21f07261919616b5978eeaa8a6054348a647c2d43a47a562f5541dceb4c4108fb09e24597b7800c7b589a5fa46fcaf99f62c83113ac103a02c121464c396fc174d4ce85f120769a1515ce46cf1c92f570bbbc0388cdc5c18f5aaf6c8333bf48085a9000c52ea4dfa5911a1b526e17823ecdf52e5a77dfed0e2bdcc2bde069bd4094109a4499d5fbd497b16aba4c761ee1ece5d8e587d97cf56577d5299c431aee0259da498df7bf439ad4859e4afa9adebfab66ac4f9884b7261bee7fd2d036a4e9344e9b1ea8006821c12db6b3fc74f0b9002c7fd31c4a9b43f444fd8eb67af55cc19dbd123070783c99bed2b92ab1376c58ad0fb5f415c485bb11e832ebeb5b43a8150797cb547fd1a388c512f35361f02fa0003d8f3b20c612f10927b57484e66115776cf10f42b52b138fac395f7878eb7532fe6a1bb0b13ecd54e8549bc1d09b82ebaf5e2ef9256f23ffb406050403167a9eeee51652fc7818dbb7a556e434fdd3c456bf08803cb4b39ed393f786e656c7e384eecc8ce0ce1ffaf9be7336305f47c6d1c4ec2711b293a0067bde3993fbf15d79eb5d0cbb535acd993f5325091bdcc7b722a98b19a77f2809257616f546a9a67c25d7de844ede97ce84927e422774e08c09059f197cbc5f797509b2d87841f502e8c1ba1e95ed8e14819eb996bd8ba12bc219ee391b5bbed29ff2f3a198e132f165b4475e3efd8264b888e362cafc95bd6dcb20ce1fa793372628f34f888f7ab8e64ea3ee2f3b52c7d2bb1efee885729fad6b68eccf3b514cb24c50ebb8f39b09efda14add66fabe28a44a8f622d3b9c279781bcc551110174c7dee3be6a3a0248a409186c640854e7e51ac4cc4b19efd6643aecd18e43e5450a36ca3b4f0d6b6b590e3f29c0ba7d3265a1d0a6c0c92e67775c350186f9ca7c60ddc67e3cf346ac83b5003f4529deee9c3c3f1b1b9ec123555f147198256bd819551f746e835c884def83cb823e0d1109cc4224a24bb00fd4b1988549181e5241c264c4694ebcf32c7db4620f37c1ac21a90bbd4f5ee8d2eacf832a25bcf261718c9c03d4da1a31465307dc01f514d3eddb90306181cd8e6e73d76c6883f3d102de8aaf8d9aa03eab371c0eee3141a5041b54c4b1a3923504b34c3d93740b2554702f284643159ba2ec17c49a0c1615b551069b9d71af6dfbce061d632337b47f189fa7a251a11e3faeaed9103946c7570b5c9d4806e2d3181c4a975b3c475c84eb038dbc80dcdaa5592c9c70ff332c346d7de831245771bcbdbeda96a03d56d656d5067d0dd8f58ac96d885d208dc7f4ce5fc77ea051b93ca3452512faa533b3731a822ee5ecf5fa1d41161eb7ac44006b4630868223e04c059f4f4e142a3944bb497010ecad2eb7eb611e7b0fbbc43e9b6eb69e8e83b53fdd6e31798c4728f80ec28720485329f723479b5d8b496bbe87dbf165545d81c3629982bd724fba7e8a9821a0b8acb29199b8b5038a9fd6af31cb5ff7db41adc6b093aca0e974363fb7b68f2a475164b2287340f1ab57c2ddc7424c2fd6c8e6a98c17fb34cc0401ec45a0a6d9d3a9270f3f9ad4303ccd66587cba9862022c30d1a8dfa4ab057f8aae37fa28d8c592d0500ea6fce9d755beae47fe3f603f473954e20fa40c4941d192df62cf15107c2e3771dca8193b730bab72d63f38772cf406980219b0d08414df286ff81e5d93a4ef8757a606d6bc5ddb9040b0e6b2b4d9406a8e86d7b0b44b303e6ef4eb5ebb0b61b3ffddfe1edc0b7bc4868b75f4c95012d17053f1bb662d8d0bee5d39f897c086ea08c19ddf5701d8f86acdb12b557dbf83decb20f497142892b80e161d844fe5a8039ee63ab79374721070aec4be1b66cb3bbe8b7f794c2af6d6b2b1d7393dc3e850befa4d0385da7c69d7377f4633397007cde1536bf75b0b356808ac016ef3297125b4830c5b36154b87570c90d06200db6f5b029d422fd66c10bd4d8fc48aaf81d070450cc9a9399878dc241e04ca0eba8cc0cb376a1da6a10708192f3e79336edf0264cfb7d3fba08ee8769d49c752c9222e89025e0216c2a8370c872423a6784fc7f93192ac956d8427411cfce7a23c22f9cc751ea7f82b8040913c6521ffb198c7f89c51f819b1d00a302f7760bebf3d24a535d4a8766552d5fca83a8982c63b4a981205ace8f055f27aa2bfcb954dde8388a2089d9f10157ea875c7c39ef5b404a129ab56fd4fa3d78b8033efe8bdd76bc3a1ac5c969ecd1817fd8f800c6369fb2085f05bf7d8e0dc350282eeb583a5185a3600155525df6d1b0716dd3d7591f73a764955412fd7ff2c2bbec1f7f87cb22603cdd224d513a8ab02c35d6e3ce8fd57d89e6593d8bd4a40413ed06dfd37aed7d0d98ea2f0ded07fd836df3901a2cf10c9af553992fcf1c44d7af99a88bcb2e89554a47ded9a223442406439924b24b1df2283536b27b6599f366ef91ea972d239b6d0ca21a4fd562c91d3d7abccd15226a7e611a4a7d5bb1cc94842899751110eb2508067b43ba51f33da4bb95175f0cdfda07ddbed46a0ce77daf360ad120cad4f17b61ac663ec26934abeae35b8531bfbcee34914cc0d9575e34f2b12491c75e42d915da519d1e63a8c643b50cc6ef34cd4e2b02309768e413cac695609db837c9e5b09ae08c7c6289fcb8838b582bb66ce06ca8ea7eea4971a99aec1cbfbb49ac68e14a775a07214aea27b2c6308975c02036103d9b871a8bdf6d5be20c03367e2857b9bc67ab7b1409b43f55b0c182b31e59c9c3c71abb630d78ea056ac0589544d90677a1e150921fe34feeda029a12e88accb2ed7385da5b0c47824c3d69c9ceb15a7f5f26c1317f2fc2795998ade1370781bcb143478d6a4f05ed5bc20c8b85a0a2bb7d7866b47f296e69c9d602a9e8e4819bad235a8f9b40551c40c6dc23c725f71017d574bdabfa0c627a85914b57aec304e624d9f41a6404ddf16d9e41ba088b16260f728959f6fcd82e3f022ec3593c3b73d7f6f0c2d431f1fa92e9be176dcf8e09672d5e47f2195351250b80f7d0754872feb11b39f57aa6c08747caba764bd6ff422a0c71fe230109033270bf2836ac9eecd3f62916bbc2a6dcd6a806277f34a023917cbf7ada25c3a86f001528ea0abe5bd006c233f9aee493a967b2fe74d7df4862eb88d656240c8121eaf82d8de9b5c5878252da612a9dda16102a9b353eff6f4ab2a0951abeddcb4b70e329ddfc3e03cbb9b7f5b8f86eaf9eff1729d02b0d4ef438f2cc5eb1f7d02c06ad44c1c37c4a6272c2f305493d42e5964a67eddea657a5df68935948fdf4f1ee54a3763d5f4012036335cc0fbde19f8897f14b5ec96c7e578d0f6c441807cd439d3bc0d04e422943191461b84a4f5a83580936748ebe69e75c9f81dc42b33e4ec78f4bfe272feecac38467397a2e24bf7f2a6f64f768d74cd17bb93c687944a8e9c8c6a24b5ccf9e915311ea8f3e8d0b2f9ee0eea1c17a0610ddbe880f99c31e2108064111bb37ae38f253eb13c25eb43069bdf590c1f8d6f17899e7d9242358306637fdceeae3370d404aa3950e503a866a26d266a6b2cd2e8877148440bc15671de412f64033e82625311ba64f4864f6faf2abcfc12639b846bf213e546e98ccab444782082dbadd12ae011d4b6216d926cd5b6997a10d28cb1b6de9a620d0b587de350e5724ce65160e5968634fca1e441cc44f8c2f2918c55054b7321eb28678aa2d3485dd475a41baed9811a271c06914f4bcc21114a2a6b148a21c332771a2cee95e35968ec0baa53c1e6f6fdd5e11e952e411f65576e21b562e06b2e89d4a8477274b0d8ba5ea9cb32e01bab0699a18edbcb88fd527cd34d7cf210d1b9c03f88dcf651fcd6786c542945cb98181e92f5bb42320bc678c05104b67ba2991fd1bde644ecc6877528550427c42306636358c9ef5a167790721755b9b505100c489f04a2e364c516c55d7859e7276a27440d1b940c158707da5c12c708a74be23576879211f1c0639c835d8fe54c66b146e07a68d821de24702921c9fb87629102e88fc449db8ea44bd4048f2b2d054920f719db8784fde7c0b8444e954a0efa1579f7aa22a834c4c92bdd4d298853bbb29f44acdfcb29b6e0440f186864834a210e9dfc1c23d368a501b952e33e243548ed75b7ec95350558febcf3a0b195f145977e3f1de9d059f6616f42f9f17f32b82e3d44f305662d591dc00bbb166cdf05e6a885d566a8906c3da3a1af602f547bcb8b6c12bb316429d9b0a61554735ceab80ccf0ef6e78d11f1cc20f50832e68bc8670fd0441262e3a08cb878ea71b01a9641ab4b6d9a4b8a87afb9311251a91d902165cdaddd95ff07435fb27560704454c309960fe0760a3b37573788b43a63abaf4d345374d0dc7cde34ce5314dfa21fdddb2c138e1ef3e9832cfa8524f53b576857c3ff8f8058cc62d0dcee9651d967a7abea04fd7d27ce8924472b6bc4c156dc5c6a5dfd6ee85347849bf8d1dbd25cd3c1dff1313a0492f498a6011304d9ca02f5cf454405244dac7af717233ed9212cc49956f5c1f4c7496e2bc77febcb1a6ed2593e6cc61cfc1fa36a7d14b10301fe0ec9cfb4ea6ddd0d05d911cbde9e283823e07f36fae455f32611df8329ad5f09ee326aa9820f5bd6e80ad790b7b08b178cc3ac3b843e4d2556efbba29a62f3149a28d4411393bb99b496409fcd6883ce31f294c8af525f009299b2e71f7c9fd262cc5a3a3e8838898a83571a65e6cad2713c6a9014abdf7ce08830ef4c3a5f581b85700a5c3b5018258a28ea5d1838b07e90fe733497a2a08896dc584772f09e77bae48a52c84fdbf45a413f8aebe71053f44a7e8c632a5e2ba0680175f2eb188c1d780abe2661f343c61695a2fd5fc25b6c5b54ba7411dac15e27e98cc41dc546c404f95e04029aafef8cfa836ecb0dc6b3ba81cf83687b5ad633bb334498d970ffb4ca7f45f4f66e6f1b55d4986e9ed8b70fd26fefb2449a35eba7d5d6b631cec494583876ac78278a286761f2fd057e5a6a3870f02ffb42f0b31edc19b04a3cd47ee813a91985af96de09ca8412aaeba77057f23dff5e3e899a532737a35094823c5a77ff0219f063e765048fb44b5bbac04f50c3c8159876fd00a95c619afbdef7f057bc2bbe65e3b4306ab0ba0c597e62ed92e7f284b9c47474ac163cea9daae2829bd0efd5c85db5ae6b31e8fde0f75e8b0268da011299190bb8f708cace73c6f6e4ae23983a80f00960f9ec9e41bf879c074d46ebfadc56587da91ba0bb293c151a82fcf9f06516cf742b97d9446054a5bb6faeb6146b56b242a8afc941770dad6b6629d7b4e9c38a96fd93cd552517bc496164e2960ec59e96c57562e5e3c4c7d927a622f3d06edcd7b25b36500815931170efcd31785fa6d2100ee327e159a3f775be2c1dddc2b5b4b101677745a008e5204d9de5b5a612c05ec5707f2d581ea9749652b66d748f3805df9dcd168b1aca088daf762b5d5bbf65abd7e5dfd6272adf50fdcb3a42cb77b7779ba040f9e594ab513ff7736687da5b34ca2a0749dd44d3f790f1e97b918858828de77e50ba737914670b7dd58cb6a61467249d3c0d3a596d8811b3b8b2569287043339d1cbd65e9dfd4513d9086b4491df480e9edf3f0ba3f77cc0cdd598a0f017cd179c1e9f54cb4b534e8ad365e06a4bf5c8a08ec26a9e728792f154b08721756fade288c2efdbf3e68e5a28e9ca4a756099e687d2751daf4b276f2f48a5d566ebb2b22cc4f818731b07252ea7df5f0cc2e14154826d88a55d9c4e8198da8ae2ac7f8573675b5f2c7ee67558835920c728bd4c64c51cce7458916be1ee4915852d3e6a54845eaabdf2ed7d5b14bdc940644a9fab40d1e3b55e318129fb2e6c2e2a727b96b7947f0ffb69a4e4a4b54ce21c4c9a6af76e5da3eb8ec64764eab054c319a3cf097a2e2210e7541736b628bbf91a39bf59f9bc75bea7a561fabb549b312d4ede426579f130a0dc4fe2bdf18e30eb147b5217833346e2cc071ac641c37d170054fcb663c7ac91deab57f953225ef80cff182ebd285fd2a8f8c8e3206166f783ef00ef89a107144c21bcf83b74e077ece1f894d205037e8dc96f58a44e75bf6a8e5413a68a69eb036856d0d4f386e5a0f62c353522681ee51275f9c956eee64ffab88861fe6de5c3a37631f4e21bd50b874fb1270dc3c1505b14a0e081348f86d03978db12d4c92bf1437a333a915bf6edd18993d5277200f5ace6cb291539269e97d97b20b6e257c1203b892e6e5d21078b31a31e0003dad4c396f7d8d6ffe84e4e9c472aaee843dd9308140ba5c3972f69c653f445b3790eb43274393a3ffaf0aff2733c9c97225a8dd3f54fbd53afda2ca1dbad48398f43f29b899401a58846bbc3375b5f4073cf40bc29d4f591cfe733bf41f972d2498fc8c9f703ba74da04231ca634105b4feae65b0d9a04b8f3fcccc6eff15ecd471650c120ecdfd76c71b26a18b1018840f9ac41ca3f425c724406e3ab059894fc16af98776ee052399e0c183524c02f04f127efccd3045eb8d219cfd53d97df571db370c3428c3a44ad705fd08479fbb5da97dca81e75cfefdbeb60536304371120a5ac12d932a786743c3fbf685d74acc32c0028243e79fc2255211260c1a33effe53886bf1e080c27628a117a9a25758c6afdabdb4851edc3978c9affe9f05a7cc554890d8871a2e7a9f2d2f7a11fa6aa96c1fb7da3e5a8c66982f43a510ba18bbf14261bf83c927d18fa3b05d087b21c47c5a8958ee929c632ff3668d77117fc20ff27691da8ecf8d796f32701c1e80adeabecd055070be19e894cd1a3c60b88820d32af767047c70786645991b588db2f0d5bbe09d9fb2abdda10e804b37194fbd77abab4b7e67939a7c5795fbd366454ae72bf95f377e869d4f078ea5df31d4f6ab916d04d4ab3c5c3dd09a97dd6e468a80dce2db945a5ee023be84b2e75785cd103924b16c6c55d53b7692f50e2015f0bffd5a44bd3bf9619e194787672ab8e3b44ebd58c83780aa4e873be7eca394ff51cff750060b279a8389cfcad7374fd6dcb737c1750bce054f1e0efb3bde7b7f2023eb3d3a1f622a3682da5f86560ba87867fe4ab601e9bb7da37df006b459c8dcb48eb0e0aded3bad67b0b2d0618502e72367bbb0f1c1ce6fe3e320fe7a72e0208dced9b6b0e9cee1ca49daaf494fd386c565c2c91aeaa0080d97b1f34f085b430809807fcf2be458f060774a22e7e6178481fbfc1be26ba1e0c2e7a42e9b495f13ffad7f7086855515f07aac8bd684f1067e6d62580deb04ec0086cbd886155c5f0f8a6292117edd232acd4e97c566c2e185e6df01e901a4c6c4410dda5ffdbc4841c60ac4c4e44dd293759e9e8783b58f49b5303fb3973f6a64007e52c5a4b03a424d65eefd71593c81d6f3cb35e3960b5e393eacdb0e4c4ea849b29b02ae46c6ab4e8cbb36812942a111c6e05feb79ed396a4a26104660f3e516094782dd4006ef01e01d31fa40d8ac2170515b4381ea8eaf64022105886749d58d6d1b2b0374255d48c0af9162bdf632630de0b82c53f3b00615263cb20ac93c4a0e714a26c5d95b3be868fa0120a515cfa599b8064405545028171785fa7412da0e060de808f43ef65fc41287a50f618fc0c576179933c9b0557619dea9f6fae91aec749789da31e346f6582af29de232056a114842e352020cf5862cc472ffe977c4c548966d840541ce8c308204f1f8344f9fb4c408087c3b60273937ccd306bf1d6136f9c31ff46f2a149d52d789a5ab123347ed51ca157e8aa68e84a75dea3e6c1568c82a5d1740890cf02a5772b501da2b0a1b194b098db755a668a55a7b7adf9bf51f911c8c8dcb1308e819deaeb3f6b2772d0ad9b9672495dd1b0f0447d2cac063f3ebe9034746f01b00426119941d1ae77673bb5d0a9909bdf4e6d6f7accc82a265964b4c5c69c849b0f524eed9693e4f348105a9028e245d844a9540d17ae83cb3f3e770eabecce024d7c484a6a1890579a4c686f5d8167b60cef8fe564f717d95581b5d6ae6fea7ccf95e87c77b16c1f7bf2e627edcca91b06984a3397c1abb51b123340ca41e250921d34f219437a0cbae7598611e99ab8e555fdb1380002106cccb84da5f0429f81278a89f623361514cd3929992a07621af7ef92da11d0f41d854015feca386a8f152ef87e1bc2d6ec96eec4251d7d87500aedc0e91583adbc5c566cec5df156d48c62386c49a7304a6c499c7b9b97e87734026ddabd372650126332145191bb83140f449a11ad455f186a38301c542df01d9a5df101257957bed224d90d3a2fa8fe82b20833e939dcd16d5fad4b951ee6b6c9fcd805c2f19a3c544c41e2eab32e31f84800ac18fb7fd9e75ec11999e8ae5b44ae53f19a92f794d465605b6163a968697034636eefaa98c3a9fc2adb5da3f0a55232cf89eeb88ea6d431f9c816f570e28c7fabeb282a15c386d766159bd0b707268202f24f7a843d37dc9915a27fd8b021e7c3e436e7fa3f46bd2f1b8cfb769c3b4cdca7174531ea1c83f03ead93a89239ba16e6e172a2d0e22063e5c8e633841d18b745eb66ecc88c83fdc5702aa6ad07d3514a05ede537a818394cefc7dca8a1a77c7bcb39b465e11c7147e842f5868c796c6753a09613dced6a2c4cc2272accb34a5828138ecfc440edcc65611cc415de33fde626e460e8c060ed4c157468757d56bd9a96a5ebfd98a4a7fa66550d6410eb9cc4206a23b42c24295747f0b446d6cc5550d843bb446bf780f0e99ed0f8563db7315349714256ccd293d1f43ebec6039fd3804b0a7163d7cb59ae74a1bca10365eeb4d485d6d182fcb741fc0291395b027ffb3129a64e1e2edd1bae9262329bb495392b9d6845b0f327debdcf0127a5ffe028b4e329be1847ead1b341d581be9b2787c5545cbf0fcf8ed3d692a5a393a2c118256605e4545edd0baf0da281735e33c8cd11a60327ac7b8fb230b12c1420edb88aeceb5ba73818ff1f1f586744b9c696db369807320b352a5c7a0217a3daeaa270fe7e9c72705673b9974010eeadfb2d00b6a25af6f4405d22aaaf1b1665ca479f2169effcd22329984c0840fbc486ea6fb32454dfe02147dcd39e72af03ba0a67799e18da5b872b10a3f02ae1de1e9fab4f845d627983494456898ca0d238abfb88f288e2c644e0a2d87e836429dcb46f0d70071ca43500e497d6024abedf9dc3b1ed65748ca39f05d78709e15da9f53b5effa1fc99918fae7026d89a7c308416629c5c002d807a872c3b393f410a860f69cb98a0b532747143e4a0ebf844a8379c3aa5a9f454822c20591c5d3da0de2128fd5d10965f65bddf730d4f594e90d678f5fbc847b2083df42ec1dd3325b0ed2327f475216b689c32dc858e3c8aa6475b34c2fe378f286f18ef4e3319f369e7b130ed31cc7a3ec9351da311c39c040e5f1448b2100c01401a0ff458c975d14c721530c9416fb411535ea918e92816ce10e86c1c8305dee73bf72caf8c49246684ec5d99876d7e00767084875b4956e982ce6266b1f0644c86d7d41a933e5be13d835ffc28a7d47201dfa26e7b039cbaaa3aafaa752d1ea712ae7af09655eae3f033185ac08cb5fe6faad38cd5d58e9439acda2c5d70a0e8df0f6cee713c3a86d1a642ae73cba01d4ec3191e2206cf813b75c2e690ca7fb0be88f8e7edc459c3d4e9d9d492729cb6b52a0994cbe90e071ce678736246c022199a017a18635b313941c1cd28cf14e51e5264a3e1e3c829801e7a6185040847960e55722c82dff0cee304133f64fcc2fcf19591a5a019329c2cca0b64399002084dbd381cce85c2594bf5624b638195b37d6647c19e1dc6b0ac7e4d484499ec7b13eaab42677f18d1a56d6eec542d9b57472b231d38dfbdfcac681fd54111040a2179efcf4224412a5c89e99f081ea3dff3440fde35f635242d5e2c7e1422ea847b382f4e2e0bd67017c29694c8f773421d8b9725f640fed74656c1fedba1505b786b390aa04e91234eb0cb4d5b61dccb1cf812949261dc896a12defd2888b1d8de82803c84e8a4fb51f062268682dd5443a5bcdcce2a690db66cdaa1e9bb48b26f1b257f15dd10967d952f74e26602b6a583476f932da7b20117b997ef5945e07e1fbcab6d2dfc6a0e15fb9e8ce5a5629d3d509ac8e61d9a793595a2fa111919ab937b6a999920fef04e791c82ab04d1c68032af87b74dc0634e827e207a2a3177c3f8f596c1af633530883661468029c6f58d5a840c3f9ec322953ab9065c0e7e4e51ee2309341b7b7ac53b24d727fd83c508682688522666605e7295a9c9bbadc618df6b11948f887a1f5a4ab9a0d019fa2cecaa3f2f0744a160f7e847949df59848cbb0ff252ccc2bbe42c219d71062e6f4a724f8b4bb1d3d033f20ddba4a9cb8cbb6301d0d5a21590235f5ed325257e9bdade77f0fa48648029dd8b317333e3e0ec5deb63dbfce659c4d8adf4dca4b464a11d3372c518a0acab34400e7080b4d4b723d37ff94f7b3125d65685c0e5c523692ae7203a2ca754592c7ddfb01cec6a25c6437ae451421ad8bac56e0c61cc064d3782dfd125d1b1649d2fb14f1f6c62ead56da53a85c09ee534857c79d5f147096ab56385bc3cb5e1c9bb17ac8d1ae6753a12a87a0d75f86148f488b0f015c27c4a7f857b527a769d9f6fa86f1af8a6e413def10e463ca43a7b6a966cccd7c31a329a1bf5cedba77488ff0505ca58ceb0e83b983c7f0b19a6662e89808a39929762205848e36cbbd57b1845270435a36660ecb4d012921de9e12d66fe86992176856ee682e380ca8b80b8643ef99249b195515062bb1d7c751adb0fbe930985557cfe3a2db9b075f45ed213c211615632dafcae1a2d58e249416de3513d8a3a21a73331119dbb2ef2b301dca7f72eb9b4dc1953ab49b2b78324fb160faf1bd7f368838c1c0424d3c5a379e2cf9571bdff5d645073c75440a7030df744e6dc698976d7526e435bd4d38473f69bcb8e14ecc5e9fe355c579dbecc705ca9968f2634a3bfff01d90b3d4475bac31da3b11cfc8a73454602c185311b5792900b18014675d1f5c74952cb249151c2b8d77bce94f49d5ef011e60315b850ea499eb6c3c71bd5bfd562c948756202445082e6ae57d95e347c88d1750be4d2a7e2b10ab945e9b4dd9b16e358572b21ce163a1f8daf689a43aeac8a4920f294e5cd60dcc8e04fa94690d4a2e4c89fbc7a1babe54580f9f14fdf1eb8a369c1cd361f6281c399da81fdd39b86e77ef3a7da7ecd7f059165a2d3b659ea139f61f41dff5519baf2e1d41876be466429ca9c2e96d173cad24927e36467c9ceff860a1a68a08709b1e462dad3bf9a02d6467f2cfcf1d4ac0112e5fcbdb87379c693a8e087569ade7dbfd8db1f5bffef6976b51adb53fd555471d24f8bba552bd02c0d0c08364bb4c8f12404fb6fdf6c4552c6cfa346e06205ac9db6f6069fae7ab9025851ebe7b6d62b47e958cfd11331856acee8af61b8fa1c14b2c47609180c65e245a9bd4b4db365f9c791054e7312ed5be459c022d393b5ce2442a826a5a91e8bba82f3c5eebb5f70046f9eb80344f25f325553339934b1c773f4c3d603d95bb85596e032baf460d95f2b9afbaec1359c58c37123519fc51a4d5baa2d8768c9cbb797aa294f630f1bc007bbf554f6af08a8ea4049cbed20ba846647267b0de646bf9d2707ca21b57651d816c3ce734aa0a2b35fc5cd576dab5496611200203b542b6f8188243c18d996d97e6fc2925dcd56ac2d9b77bde9c1b1c43eabc401aa6b595ec25c174add9113d801a328507cf685a96bd863291d834f16d819d0d372f3d5ad18d478aec2605244c78da4c4e36dcd66650179bf9dcd6db146ae0567718a66970026157520df3e349c51d2a5b1144729a43e7b327af35815f7987e41186b6f698275e766e4c2d4c0fa1f04505d785169249db565a127e2b0eb73df4e7b51acd511a29e2171fe54101fcd880fdd250a263434c6b428c1287681da6659de51023a62fb4b0aeede105a058d872a470ef1c79971ead7bf07d629acde94191a11115b6db9bd07db9e7fc9eb62c87df0b83a57ec5217d80800609b03deb570679aa8780d51e6a23e1b0669e733e6e06238ec8bba9bee9a3b0e235dddf284015abc2531f7fb348bc99acbf1671cc030d285ebeef104f0aed392d41de560e35d441a326a75a910f86ef41bcf4b109d00d49e3b9468c4a3b6b46256b4e64d834f7ee48d1397181f3db8ea71ea4852f8bc93018feb9167a70d2864054b5aea44a6eae610cb586f996006a82090c81d5b2c200d4c3651aefe27d00aa975a0b95977f50b9eecf7e5e95e55e29a51a6e8d754929a7756e5c13aab2115469b832ff29d75b664703cc00ecf1593de84d8024f3adbad3b1ba7d03756b141a789b8fb6335d246c141975f534e439998ce266fd2b78603626ed93dc4c7e344ef35844a74a5a8acace57878934cb53a5116c369ef2b24c7550f70a15fb02ee6e25b7359c7ee108ac1fcaad4bfb1fa8ac31c985d71d8bab4bcbbfe45aa63fd7b8c669cf190a52b0b97e6b163a86491b6a16575b44c0cc82f6d14305bc178ce14a76a699519d3aec041782aa02bda1ea949f604f95dcea98fecf3b64b01c479f4358e8350c3c465bf8fef3c72f4796fa4282e84b2a18226edb5e13317aea95806fbe46b09d6234a6e2bd2162f8a397708999976681671cb4bc82e2a810ae069a8cebf9c7951312a46ce2e0726805a276c10fcf83c85b3182280ed3f7a29f438cac917e5a455acb89450837f7939dcfef77dde781deac1f3cab2b294a78c656562a51db39a8dadd30f89589026bc53a8e43a041d4a4ec7d561d752eeecbf4ba88a7da503263a404f268be72ec801fe6874ba852a68b44dbe4039ae32ee47036d7295527ff889d0b69d65acbdd34b87020a15bb13c589b064cd0bef28117eb2e9548e8bcb2438aab0e461675b368ca95471ff75a1da5aecff32764d5c7a13e3cb2789b68f641efee62af811b40ba01e7b2729773ca7d02ad598ae8f8a63dad013e2cbe24a2560fd54e115f8bde187696159f51de6daeecb8e2834cf618da2cc2de3d120810a8745853178ed1d52733dab942d40eba871c94e12dfd874d3055b9232fd991b9960f13a43178ff3ab63acf4db0aa034a8a60de93358dcc283fdcb70e212013a6ba16757fa2acb641aef27857ce9c7b9dd912f9d0a135ffa47ed2bab952687281e9461b6d28e19ba8084f0777e2faeadf9f0048e0948d226476fc191e025c02533b5bff88017fa3a82bab031f57fb04f3c2615473db1c8a478dcd45eebce1334f74312420e81b1b6e5b5eeaaf0873e87ebbfb97232310af947e12abd2b9e7fd0f7f3a60286dc5960413d4cf865b2fc8416a1e1b85dff10309fb1f3981811b4d6e4fd08bac2b6c6a8469b7e7ede72b292de100bd0f13c8f518702561cf48bf166091f05189be4701a4887e05c1f6f9bfdff686c85dcda9c6248306d7d9fef80902ed1ee731f317df776ee9a2e19d0aaa0cc6a6442c34054902783bddff418ce2434b78fe21ad8791f54b0b51b901c8624d7afc26c7180840896dc0660c8751d1d6fa4562fbffad7b3e4275b6a9d50d3a6f8f0f7341738d05cd52fc3b6b11d9b0d6d27b4b4cbc8aeab48b1c21e52e101bba3e35858cdf657b1ccd434eb175df65250dbb017b403d8cbee82583ab31485250220e6f172f47ece97c507068884bb750fbe08c82298cb656ee8bc0251d04d83b85e2b1b81022ccf7de2f6fa49b07d72cd471ae3705157feeea144abaf579d12a4e5fe8251907d515a1c5b7d43664730afcbcb31a8ef0ff7a1bad28bc9f1610cce0d03404a0ffc18be65af73ed6a5e9434a7c3f299116c6fc7ced9c251dad16c9df03bf69a0c49775e69c5b3556bdfc654b48e143100ba27604c4361f64ab04b4b666b05fde12c23f54488360728def940710980c5020b9cff42e7af8018550bcd102e435264b036da73be0227d76ede3f3d281d74f0fab4ba8d345ba991de5ebd0b7e6204c75d4f9488514fda385a7c6b262d479c8222e3e6c502d15fe63f79c5baab0e4bd4933d5c92a601d450672312370d6a82ec74de78d6af89bdbee721e1bb9ae3ba06305f65f8e1db6898d13e3997132cf7262b745446e997b1ed4818c8e616b4997736b4e9796a4a589ea5f9b7056066fc650a9f64dbb8466fb84b8fd277991b1f78886f0e70ca5d40876214dbf51b57a6f91a0cc783d7359818f98e35c5be74601fafcc6970787973883a43691c6959e27436918b5cc623ed8ce2beaeaa59d3aaf30d700d43946ef479f3c40744d9f7d823148e89a9b1248d66da713d685636bbea1b97be4d82fe4be0d3614e6e52fe80d26b4877cecec3d59892760638d1ea043e6bc7bee54c8f9ea5a6c15710c22ae12a5eaed661595e981e61e5826c05d0c431f1073433f8dde69f82b39caec6b0a4e320c00bf6eb6e633b61f0eb7ff05b72024aa794dca6e7fa4b0d049b340bfab8d52278d017d06fd4fb80af5fa49da2a4090b61868da2aa5cec5c8b654b652575735913088d426bfacbf3d0939bd0b0619e317f4ec67ea1dd7400beae04fff070ead850dd4f57838839c0ed18ce136fcae80caaf0143057e16e29a946b62232686b54efd56a2848a4e7547017f793ffcc1d5a9a4fa11fcf973f5572a6ff36c9e53cdbd15db16ff5a85993738aba744653607f9e3c90f9afec33551958e2615ae3bf947b0777f14970ce7669783040d41fcf1bb6a486a7fec1f90d78ad7c7aee8732e1db2de123cf0fe534a2273f4646b2317f0aa3a6652923fa7470e26e3fb4696b410e9e65dc4e070b3349962064b7bfdd04428235e323da4f941fd108a9d0b34f8fe749331e2126875d2e90b8b5e48632de484315d326a0e8ce9b21f8b0f7e89cc2775305799216c292510c84efbc798e62e0bc80ef4e11c7431567f51ee91e7732fb5af38491468ba7574b861127994604edad38fa4f826ecd116fc061f1e78f013a63c8f4bd79b7dc10329679f790e771693256058cf603f22168586b248e710487444803599efbb489c204d35df0b5632cfe507064ed538096c1ec4d1c8f4ba22064486d9820a3fda869702e47c719164918dd8837649f49ec349cd1c59e79ce0e9438032969b222f4c3388ff619a58be109217e0c610104b688dfed58e3bd298dbf4318721d4bc359445e926c2858844c1dd36b9dcefca0f77694e6f57c1acae509fd9bc3a64492ba6d43b9dfe2d74656afaea0c37885b30032236687e94f6c18fc3a101405a9290a382328dbc1e4375808de54081c89fc3d640b85b13ee47157da63086e20ae8f02f6f3c1c8c2599f6d51ad7f81d4f766c8fe050d82db15b08bcedb6e37667e1defc367163a04f1ef9dc29a74f38c27425f00540ce32ccf0a65f7c54278baf47d8fcbb30d3b8773a1e7f51987350c4d0da6e8061c5289f4a996346a0cdba9b5d6fc65ec1875dd9cbc2a14e5d8a382cc1efb0b17373e8640b2f0dc3c90f70f7791ccb665c4924ff01f7abf25c5d2a4577618f48cb9cf3679ed20abb6f1ad2e41dc95722790bd3f20c52d3761b7180ac269d04b635ea6d2de51a65899036159b60f7abf93586c23697625f2d3da979f97523b8fc3f27835c8253d2576773dc4679c6dc9b2ba5c425fe3982d5d9ae105bf7b0743b415074b25768cd5fab5104f7e86a664e5e619073fa9ade9689668b56dc558e79d606e90da389bae52990fda83b60d435a71474a595de2e6f1c6cd0f59e2a6a502a6734020a86b1990cd82c78f76ffcbb14698b8db837028ca4c898b76ef33bf2cb6e6a30cc6b28c98aee1cd55ce3d74b38fead74842323f27a628b184accd4758bb77d2af6354d0a90a974f19af7428317147735773d1f812492fedd00056ff85fe0c5ccc85bbd6c7b2e4299cbcddf143e34c455a4e1a83abd9eaa28efa7a5c3b387ba7b49128812cbcfd463eb7a7ec65ba06f87cb95005d8cb6f202cd73c306ccbd6999be0ccb64243088ee44cf37923b3ea1c8c102b3f8cf282a349b45edcb555a247799827f037a7d507a9215dbe3d594c586c104deec188221c7ba876dde13d0cc4c01eb4fd7aa5dacaced94dbe9bde74724854d01c4af1291d6f114911ca27a4dd2ee3e8506f85351cd13a7273337c47a1667d27bd39fa1805296b981dbd09ad39caca196df61eddfe516664be032e61f88b243e4ff9513bdfacb5eeac583ab25eba44d14ace0430a220cdc5e3480288ac2b6c32008fb86b2a837377f4f47b9b494a64d899bfa50fb13993f5e6e8bff56d125714ca39afc38e51543831ea448d67a476205131045e78b12be63c852d62c9c8c7631daa808c85c87bd35742158248baaeb3b4eb1cba0451c75b7caabd17809e1658332b9a3b34b6fd4f4c40a67eb079e5ea9f8bd38f4acdefc4af65ebd9ec81bf9d1f8deb803a8c045deef742111d99de123995ecce6b63169490117ad761408a1314efbe11c6bf89da2ebb9a001f519031cd28969105e00481ffa607b705bbe81edd744ff8d9b81e5c8014c319653fac1ffa755071ad3a09bfc432022c1a1f09ff60962e97270860eb1b5508268123d72fe7ba7297063783bfa6311ddb708aa18449c761bcb94689c21e5851fa5979bc3ec9329297b8e4e80581601c56a2cbb02d805d66e544f44dd3abcff0d07fd1a6d877eb6661ba3de9eda92ca355ba2720411e45857a8b710caef98adf7c3f32062e6fe3a5982f2fe8ce3e84b1e4e3e21479640ebcd40a83917bae06bc5dbed56a01fa60c20b2c5edf1597185f8ae70143a81072dc2fc6e9ae6ef5ce5dd35fe1dfc7904cfb7b3bbc9c2b53f27ec4fbbf19ac8c1f5625c9243a2824a71b46631e0b2c68fbe59d73aed74d2ee83f70bd89e6462b0b5b65ca21b74aa1f1ac5c42cb3821f8f8db999041fee95923a991163391dc06fd0ef077af06b450858bff6c3ad7a6a8c711bb5c02e485ff9d2f844f8cf2cd056d21fd2b41e4032a364832fa74132ff3b982087a919edc0a392f377dd6a1ff9f21220721d6d0650ec1a8acb63f5d021ebee9fece3c79a9223ec8e487b571d31c25b34526c26caff8c78b0571fb2dad3fd859a09b2e3439ce90fbf390bcf5a170026999d16587f1fd216c0cdfa2924e5e4eccf83b1caf73716508620db20f7acb37cfdbdeece42d1e541c59ba3ec1bbf272b02300042133000c809ba2564b8a3caf4b6c60e07ce3c948e5fe396712ed8a591a15f524e4f68d4928f5d49be13be77e659364c9848da368f6c2788af87c554dec8fd23d6a8eb3cb5a769440cf86c80cc7208eb6cf6f4aa3bc9c38d47eb24df86e923b8e247bb26e155ba2122592031dee87b7db829fc80a86cdb81dc2d80ad845e6e6cbefe7cfec62e758eb18e0b606f9351c71b9ac767a85e706c1a2b730f59ccba65983e925335da25de0ba3f1df9f61f0d5942dca79eb8f52617279b47453a1d3404c0f890d67da6ef1d5694e1359f17edea1e9bc165f9920124027c7b3e27e766f5d6fcbc62fe3e23445a4c741bdc486d37d3176b417cc698f2b151b3effb4f21461f37c4934718f87f5ea91d8a4a67d3233089594f938cf832bbaf5da06fb50989f654e1486841f319bd2cb85bfa425619500e1c874679ff34c6dd17ce849095f9820d1c9cd53d5ce0f7375762e8a3239d20cff8b01e7792aa494c700412f3220a4dad642864a2be93e221d8d65938d670f4175e5a8e3eff52b28d5b1719e57fabc3a8dcb6079a61b95a7a2de0f505359884e76b18eb52645a79e6cfa8597672704b9c1b17141fd536b32552242eaa73c20928f1654e005c57ec4a128cb93a1879ccc0747b71fda2d9a48a4c95f6427cc3c4b2df298f590bbeabad736ad7c015ebb77181defd5069582990e7ec7d52d70ce86dea0431657edf4b39cebdf3f4299bea81d8a38233fdd980406319f411a34957db4805ccca78307bec331ef3d084c0b3c2d2164937a920227d014c1bda672935d81a8817adf52681c5975fa115213a1ca6f082bc0c3db0f0c906e836b3a06b0ba29a451f2d6e959309e6d84794d0acc9ffe9acfcb1db2a48c8fbb1d5105d162a444db1b0e2413508ed10d83b211d129237101b154a14c9dc03faaa1c9317230cb7fca93d94aaf1ac2bc21a4a4be13038a6c39494ee32a344a7b0f832d7c5f7b3da0bcd9f4090c51e053da96645c1dd943d23d8d8876f8b00dfd94accaea51fe3f16f0d208fbde375fb8756797eb2a7c9e452f470aa04904a89b1d2185fcb0217dc18f16b27cf01615632f9e87b7192c88698344f9c466ecc700c630b65f7bfae2a5bf437f6da7aa8f254e5b31fc163a7f2fad3255175c535099eb48fee02a59fb101cb91233ec7bc67bfa149f4fa33420ccd6260b669589d020b11019c30e6c89d218a2a773052739679925c93434b7a5aa265b5141116367dfeebfde52ac5e75fafeda075d0b875131e3d3ebc69fd99d3fd37e5d76c0581525db83718d77fd479e5d4f8cfa5b8fe1a5f815c1dff00e7a7346da3e32c28790454e54245a94840fc663514870ae4dad3b89ff2405e70417a74dfaad9fe26b36c248dccf26c52f6a8efcc608a96a3b0ea106e3060decc05a7dff97a642b3c208058fa06b758477e4c21966d4db65e856c48a6110ed1b7c2834a28c5e8f2ec2cf8156cb023bcef69cf16556845a230276379d2af99c220cde151e5520be1cfbbae056c03681ad7f3f5db8abbaf684ceea06d91b7e1a54ec82589e186facd3a992e5a6462445a9ecc276aaf4f715bd121122666b25fd8d2df16cb9d7c2944c87318684559ef88984f245cfa56ebda9f8b929c2d69d52b7d85f2809a7b9b7fa72e7f6eb33c9a644cd2a9a9b7b46a0ab866589d93ef5ad08cd24c35d8065bdc9b3c6a21aaca9ca8ede2ae235c03786825358efcf5b0d95c6a75e8a1efa8cc185836707f944faf0a8ebca9fe467ecb10abed303af27c895f153848806bd71df60884a1a1f7ec231b2cc6370d51b0d29986346e3cbb280aebc473134870c1febd5fe0a203f81c90832281ff7cb49f73c70d9231c03678f38d7143f9b1121af9763216cbfe16541b81c7319910d241a20cc0217cd6ce2da163e7766b39f2d3eceb58a9397f5853c1b9c76f986bca677cf858ebc7eb13a3bc1bfe37665e7c1e206177c0e743239ea1e9746aedc8fabd154e683e92321ba10c35782980a66f26ccc030b8e0df53b0c173d9408fada02fdc1b45a70ff1c3c6557fcbe53a9c56039f5f07bab424bb3e949f3db81882a7343128d883077ea62391f102516ed6104285d520548f846e910f6db013f54fc605fce10ca0168aa04f3090842ff6a3610d83d7f65f9fc3b3c3c857827cc34a954f168c408a6dc655424228d36dd4db0a07b32026db74d632fe5fb5f211e13a0cf17e81bb13ddd98d1c46f89f9d4e81e5a0419758cb90215de16f3c3eb5b9fe91ecc847db4b44bbb9a1a4c0e318ecea778e05b9abb3d3bf882e8a0451a630c2a126f7545812c8c7f08ec5d29b62fab2c09fca010cf2218daf7a24f06c998d9401366dbb29a8e75d272193973e018c16f23840d7f0bc901dbe5646d34e42a32dad29da5ae6ccbc397385367de2ac4e7b36ac4b8035351ff4fdd99a5adb3f8f7bf8c220b292d5bfa486a8ffcfa16915f1a8f34c62e3e6619296d8c191adcd65a2858b5efd5b9a54b32d767527a8dae95730d152eebd0186f79e140cf36c5624d4776c9f34d331b02e4826eb837f313bf67ea61ddcb57306b93d20a7ce495e53a4433d7056933e0926175c903d9ae0509bd942ebfbd63e7ca9fa04b88df2f8a9137ff45859c80ad2d5d1bf43553f71dac56bd5a9562115fe9ba0958b7a26c14171ebe178e7f8a16e41c1372fa116da4bdca3ea0585a4f8a62d971812bef8e17bbd78f36592288434c8af80417cf7a0b00559457dec4353c1a131fa970671d3fd15ef045bef95de8b845398aab14c76c0da8bbc734318009f29cf3a07c863434618f98038b782cb4f42664c955d319c6914ee605f9897a5db6f4761bf12121b13e8d6610afab3af677a9fced7922b1eadbc6cffbec66622207a3aa720284bb7134457e41980a35a59e94a5f3a45d81e32d06c4563bc515871a11378b8f2a30fadc26b1a550f70cc9dd4f52b58482f96030839521225862c42ead60a5fe9171a1c684de39858c1dbde65672bce3d3d4b6b173fd8397195b0fa91f0fd0a01a283dff963137be789e35de73360de1b8bfab89d52b6438be28647f63e0a55f13f4376dc51d4c024ab93ca3e19bc6711766e5403bc97182757c77d828ba4fa43ba292a8d9b348000b388e6a16385664b89ab40dbb86e19ee33dc3c354fcd56a0cf58780de736769c126710cb74d35937482ec457af96365edfbeda814d6d06fb64f38e9206fc1498baeeb0a447740a9bf9a9cc987e4be7b32aeb01ab14976c24a92c56a8a9249516ef1a71c243144c636386f92016f767930c266b6174bd78c09632b0193a0b46a47da481fd89694dc1c24d6a7433968203dab58d5b77d1cd6856aba25ea84d54228e0138d917d162cd1f954004bbc6cd40cf764dffb9c2f7dcc6b09697ebd0d4923d213ba200921c6ca46e6040bf75a67cfd21127513353bd8fe0f704557fe790a2661a7dec14793cc9e277bdc4c998de4c9bca585dc31992392b4d8731e457a733cc3e6653d71703cca295a1a6a22ff40b8c4b893c2c69661e2f6c4ca06ed828f3e6d73a295761784af7a95783764f7968eb4cbec2d645cde7afe6c924796ba7cc7bb88c36f83ca7eaf76247a86b3306ac68a7cf172678a9e8dde6034233e093292f09bd739997bdcf119dd8b41f92f86d1734b734f4f0664f7f9cc48acc8c419baa5c778315e4fad0ae33c4cf8a19712c0a198794c67a8ade4d52d4a1e04f5b19f20499823de7a0ff3442cec9f6111b573f5fecb5222026da01b3bfa0888c0ecff0a755126f49931445db032a3bd1034cb3294308be216b614a261e6abe353b782bcdd34d8044ae3beb18758de0eae6dad87b6184aba7ce9b629962a319b3b217af57c85610fed44e2bfb1017cd7bb7ec023af31697a9f1416bf7b979bb4de6cb3c897b99524ac571f10e2e25f5cb4724bea42fa30ccb653dab56192934e7d46f655734ffc52fefca065a7a564bbb5c5ba39af9f3878e7b297b8a18f5ffddb15dd77dc87cb822bbe509d43d72ff2d8c954def4a83323f435b8f6e2b1d196c10106546b88d210f5eb1f06d7ac800fadf177b3fc3b73db62b474870df7e733a68a3b8e178862272d4accb3537f5ef3b3a6f76ccdfb912b27c0f38de7773a2d3bef09800434ec00ae3d0d9381d58f93ce6541f7cc70bc389dd8627d50872eccff2339db1c9fe7512ba05081eddec635dff1fa78847e664d8ff3802d161e64d55d45cb22be1150c8bb10cce774f562aab3c82e2f7ee882a2f27f54822ad506d1af8295d7f78b951705a91f15cb207cf1a9db45775f6878b1bc13bb5855dfe7aaed5b4f811ef84d0b7c059bbaba19760d3fc40d2ed12898187e616eed45c29ff4a3827eb0e71e7ac465aa388bfa4d261608c459595aefbb8da0ef597c073789bfb9c71bc620151dfa118f4519dc81eceeaaed83af93e6533195842fd9c668c3b36bd8ada0f8e9c16d87b504692aaa2699203228754d42dd017c4e1722cad190b2bf4ea18c61d67f9ff5768be33f5acbf5effb4b0c8ff7642b9e94bd668a32e2041768693ca2ae91f3291eedbb4f7153f9e3024333ec69fdd7cc7b9d6e07813811524ebe7981c7dc49204f5d45c0cf12b813e7407028ab72bd5718d12e5297aab81f14cc152d4b9c088d5e5d8cc4c7c288046e6c84367085c6379917d80f45b8bcd0d245b1fa323841cf2426bcbcffe3bcd0d22b21f3c47ceced0f18a39b8f2162033b3f0c538fe5d2eef0003fde33f77a28ba42b17a9d32eedb5b3b72aabd52b9d371de5ef25ddc2698631a0cdd34fbfcde5f0de157908bd59651d8df99deaecc96ced423466c831582b2ed4404f3106843808056b417daf3841f8875d2ecf317c48e8d507f669c05351528f56509b5f9af8984ee4bc2dca5f0e879f47ba20424fc5515736e5c7f7f24fcdcc890b454c3ce6e008d75467be2c22cdd13bd0ad50e8d1a150914b263e636342b098faaef665610f52d1a39cad2abeb82e92837cf4148f2b01dbb597ce1027b9959644715ec3db23bffb2e94836b9ed7f20b4d66985e89839acf68f4fde7361a5cc23c0fda4ef2cda7a0d9afb8f81908af87231bf2c1240620034139d35c501b0f0e55f692be03bf3e83933c9b1014498c3d30a9aa3dd0187e8ffddc707b8a3cb614ec5e24c3f9251c6983d26e4c1d48ccbd42a995e0d3cb05e185585451a520043d19b56fdcf2d68b8ed47b79ca445fe1d6881aae1c8d6da12ea9dc9ad8265bda837a4b5e088de524a22eaecdc25072623fe8484f475cc229791dc36e036b239753e3b2fbcc4ac33d13c7fae7fcec96334f1f64f829fe99d3aafca2b315e7d932a0f04ccf964cdae4d140aa905764e992e884f859a831bb2bf799ea7603585384bb74d51bd45c7066963340f25e3986264ef564a1f572304c92f7d07ff169c0f864b4def20226f8d5e21fa3595f99646678b91e10f2bbad187b8be8bf578cb574cc39dc56cad9f64324a5900190acdc4bb8ee63463a23af3d0340fafbda8956a575036fd52b94f4f9af261811d7cb703885bc70f1edda612fc04f17964d96a6f5ac600f3f4dfcfc2d6f96340146109ee7e9a75f3338dd55b8e889838f6bf0c3c83116ae73c1bc7f9472aab026ec020e7ada9e7d1df8da2738fa8a8a5f765aa4abfff7b68e36be8250d7e4af792c2b695a3cfb07822d6a7ed1674b784345c011b5f6dd26c8f840dbc07a7215ba23e1175d92c203f783a97ac03c17e81bfc717c83a794f2c1e8b8bf2cddb931eae638b57a7a081f2286bb2da0c231c0be1c6a27611cc5b496747dcfbd9d641614f71cc04e07d679f1cdafc52e495c23c16a3b3ed49d3a16e74da430203daa1dc55618b993c18cc6dfb41de726409ce7bb53ccb1357eaefdf27406daae1229978154bc530960533b154159c7e7295e1006588ef5cc72e4f746df48801c345616a8fdb496b435159fc078ee58e7fa48548af8965f460c0b07f4db6d83f6e3e1bbe3f543724df9fa1a6f71fb8cd8520a0e05514e0f08a0a5ff8cb5e361fa2bc8f29f637249096a2b07ed8dae4d88adddb36196cc3eacb4859b56e1a40a8a660b2eebf12bfefca8ba1dcb7dbd672ad7137be2dbbe0c0528fe144bf2d8cb02a015d54fb5c1d80bc9800a97227a090155e8a24257402f8f6d2ea4fe8dc4db3e75c37857c4c057e22800dc774bdbf344a544eea5397e353d00065e7f030b14fc25452999ac4a38e64b8b6cf108152d88fa4fd78be8d1b5a75f5a27782c147bf1e575b77f494862c549693c085ff5ce82d28029b7019dde8ca426b4d3cceefbaf9e610b35ea1672c62bbec1683576422a066033a9dad9e84b58b54eb32a41d47b7f4f7ec26b7e1e55ae325f2b3495c96cf54f70146b0ea5ec476340ee6a8f5540c8a82016fb4cf3e877047c525d9042e8437a1ce7c05a9f73e42c2eeae04f25d52c9ef376356a4d09c29dcf489dad01d44122e2d00812bf2b45dd3442395b394536c96d8bb45d451cb69cb905d85afbfbb0ff3baea17a32270c05d941f52197b32a7ef082f745f9d059a9b56bb757750d654bdfbad60c1990d1363f80b7ac552279beb152a23be7c6af54cdb20a3547b13ffb3e64d43a67f2bd1400a7975c7f169d51dfb639c9826261189494edb135c132e7118507904ea103bf29cfc0ec03514b04218fe7666c0cbce0dabddf681d17f6a26149a2524df067083d180d5a2a414837ffd95fc5f47f9c4555806b2353cf67bb77705c69debb79d18befb6b87e35824c04be57b2620b8bbbcf21d1e6fb7a3c5019cd10fcdde19c90b586ce7c45dfeb2a620bc3da89e475f976df82a97af3f000d1a3cfba0135cb82f21c091563918f625e0cb459bf950931f93ef92e20cac05307a50632c31b921a5f7333c243462e38d6e9e368cd974d38a2241c5fe0a1521a14d7c7e6cbe7d2fe413fb049a13ef38b28290c5b9f4a102e52d07ed9567063d4b2069a246c1553fbd5194b2652497a698f36cd558dbc16f1f0c4f2e8e1ebe95c18f00890fde74ca446413dd2f21d930a997ab633c51defce1b151d762a85b5d239dd762ae5c33ac1515da87b4d3ef311772ec939fa70a71c3d68718e574d9e90f0de64c2e1f96778f6d561a39fe6f6fb57bf1048e3ee78390cc17265e37627b83593c49573f580a97227dd1a4fae50dbc605bf89b25bab58f79185e24c3fbb9fcedffdc01e12656fb31e397fb33f22c3c05c20845d1cdda437329c32ca4d1577a603ce6e8b20c478265b3c02c62a81ee2ec79308b8aba9fdf139b0527c20afa36c4d26d86eecddd410b88a37b45d70fe7a6503ea5ea8237ff8b21f3c87c5c35e886054ad17e13169f6c1a7b728df1918522f076ab420a518a97dc51bd71b41a6980f734eabb7d898b596f3ce94d54cdf646e49b493363c2cad99ee7c482b5b1afa6bd00d46f74070f94e4e740b07c7dc5c5413d6ae858ec0377aebd33f419e9291fac9c2ca197ead0efd6331a0467abe41301c23e12c7bfc7ee58730cf6812d58cf64845e9c49729e2b0babf0386a1d182fb5d8c8c346082c028a96862578c0f4e5a5f7973d4808a54d1a52c834faaa90099a7cbd7ab0141dbdeacf73e8b7fe5b68d4ae4433f68071f54a4b51b07b0132a58a9f5f5a994c70f1a36b5d14925316a35b2bb145dd3c753e35f13315457144b16ddb353f0efbbfdfd6ba9ea4bbe4d02774e6ee273b81498137d423da798a57c316d373a0b0006352f84e0b943c4eb91ede40e45be3e1edb17ae2d356c5a04b2679509184c1a400348e03163dda2d64dfd2cce3da6bd1dd58b6678c63db50025f2bb588c856ed0cc8824276f05f49a6e69d7bb22da609fd27a87c800974a81bcb2bf0f7cb4987a3ec18004f1915cf8f00c8169c88b3fbcff07d15b565a1e5c72c4a581ce51d380b3765b95a8178e862b098e8d645ab11507bf8536690fe8e9870ccfd2fb0c483851c091f59e622b1605eda83d40069fc1d4ea68432781d30459e9590e7f970cdc62fc4a68fd59523653e8bc965d3856bd99b196abc804ac2aa70f5aca1264323d2275492da5f207ae28a349d2f5a1c9980505b502ac117eaabb4017b26a6dea5f7496b191d370ee00487e63b8fbbe992c4162e6a8eef45d23b424f51b449fd278acef09579d656e20bef0374e3afda9d711fb53b2f58b0d553262259d793f941ec19e0ce47b97d0e3899b7060720a9187033c6c94ecbecbdb8fb27c5b9671c6afd372c2d5f33bdb779bb335e012f585987d1aa8d8e3cd179f185439b1f21525affc82058ab4456a4678ad9941058e9c209119a447a10c242ae8c1bd32483e10e8782ae907263ccccae7f5f840c13ebab41e0de2e0c483d54fc333d3462094888ced5ac2207b3cff0a00d441f022d76295d462f1297bf8227b267ae762960602674f3b1f9b2277408e602c15b5ddc3d822a458bf0bbf6fe99c175a37ac480508dba49211ca8307ff31fdae7dfbb3bdb62a6b2a5fc682ad6297440f88f1b2909b1b53ba1e280dd2d2e1ce62f252db5052517ba6c6d9f80e9c382ebe15baf23334bb50244395abc60e38e36cf4ebcd580620225a7a844eadd2c60f3039f19f7cb10a42cce0fc0357455f43b91093fcea803b54c1021fee48dd4d88c85813418fa84b0adc48f481093816f53d3a4a3b9b1b306cf3efedbe38b75641fd621c9093cc86f47225f754d096f534ec88f33ef2c47cd0cc865f5f0c7a88548d63e1e224baaf941422d6e15ccb7f4c074828f5e7d8507075a398ada56b467342915b47e7a5cdd6c30b4db4cbf976b3a2c607d3eb9a45d2ab6bf6fdf020b2ccfe2850d360fc4a83c6e0ce43cd90fc1d3d503f75841ee51125dddfb183e5c0cdb8885d8233b8efbdad43245801152cb05b3ea89fcab2093cb4e691dcb9d182bd6011087ede0e5bbc83499daa32de8c15b6b0ed80e1f0ffc3b6706cc5ee4c86a620733968c121f573d4816f5fbcb38029098cb5ae0297ccf58364af2bbd221f4adbe27067609f110f5c13c3ce049bb26d61b4cd6059d816e2d19e301a9d646610cb5bb0ff939ee16300b9b9929b7784780be419089e6e242d4af50fce81f08ffc335f27c58cc1e9aad2cba9ae4a68cf4193cabd8b3b59b5c76a1c7c02a184d6a8b6f84390c2b470ea2b7c13f6ddfdf1714a2ccd410e72e9c1ad9158d8a96f3f4275508516ae960d7d2d66396e1c49c5ada13af9f2b23738ce696d2d46342274a57be729a30c04e7e743659ad30b0631954c4e7478745bfda1c326e7af2281178e2e94e4f17f38fb630bfe696ebaf53b28b98d681dd8be8a185d2632c9f7b48eb404f6ada89b15663323fc37703f6cf2d4192a153b35fdd0450e564849d2558a9a9bcf8409e4cf2c7fe336b56f7f0ed970a558954f72c8161b63764daf2fd775c2764e0397fc9941437203b1f14f585ff9eea97b1b1f1cd0d0447104309209fc9cdd2d847f6aff9fcdaa04708f93cb3bfeda05a24d7a52fcf7ff0ee000348e331801797d0701d528f0d28d134ba149130cb768d034d0a6162d7c11b114da2fac601df9c17eb27c0c34370788a639d61660c33b59eb8d5bec4855a806fcb3e605d0384d09f815fd9f2653b46268cedc4bad032eeeaf520f06f4a0331fbb8e3d3a9ef0ece08f1f1e15623de740c4de56bc727c783f2d7627a8f6ad62fd45fb6b0d9882eb37ede4a112bff4bb54d9c5e8bec4a22f660768586634c99c82de5c6255989f526bacb01e23bb9111480fa727e8f4c5f97f37d04e9d563305ac846a8aab66c122880e2954157f191a84fefe024b2e3cf822b3ff267f6f2496567d78c7c35caf0d6d3656c3f8686ab10578e9443c4d3f29acf6ed0fd45517bd0ec9332616b54470052a501e905c475bc03281ead3e28c4d46122177ac242dcc9a9adbf0fb320ee7a0d120278ec2f46c8193fab143a267e6f5fa66f9e37ab78271dfbf7b17b76e7120ff4e7d16ddfe408592abcf185f6dbdfe3493dc32591d8ea32c58bc3f2adc31f6fc17ddbd21b7935f5a9be0fb1a9974820b0cfa21615eabe811bf50d7d1f51b85a15726ea9b9e0fcc5a99fe3b42d0533dcd6b76284a0b7b79ea15da5bc03d93978253efb8c29ee31665f47784fb0630111373de75c1bce228b926914021412d35c7c9b4b4b9e411392e61b362c80a7eeeb60a0e83c752574ab803ebf4be69780946c19d2aa62ba2de8fa5aeeb5f11b8007f6c0c3cd1df8ca6127fc81d2237eefd589a4979931c307a78deda14e716d82774adf32e669526296f74d0ca7c2d31c916419a4ed6ad3a146da6094fe79848d3030c49f6123de23ee3a973d51e865701ebe9b91148e4a3e698a39894ed262a04815e46a060a450d710a62cfa3a2bb6c2ca68a973929088eeab975f4ec4d30fceadb4e276a209375d051a56326617bd8550f7d8aea7c557e6a5d9d600e7c3757219f662905c25f19b7937cdbb67855cee1bd2709150bae8ed9a93dd2a11def584ab8e05f550152c35131bdb6bccfb02fb7746d6d55327a3a4c66339def684d78df88c5defcade76d76cb207576a2a11833518d2c0e8a467c05ae4328c85ab308f35e5719954a1cf24da3718c6bd8436fcce5c884771fd203ee5054b6e3c675914c6c85babf2a8b96bf43cc2c852a0bb61cbe8b31299088956c895c3af27338a31537a717d0a890cbe735cca04709bed0648410dd2bfc03e0d4fa97c0fffca03ea131e004e81fcdb4fcb352927fdb694f0587a26cccb2aed3561fd9f23a1afca799ee93c9959ac6cbd79301f420477d38bde0735ede6806cd07358690667f21581178d311bf4fa7d9d330e46fcec0971d96f0807b566d46377dc8a544878e382a30c584512a6bee5f7efeeadfa722dcc4376841c896871578c285956e03eefd9a67e1ae8d1c6ca7c290edc6bc9e3b45ae6b3d8e823784e6796ba5332e3d9b8ae2f661eebcb01cca0943f551fb5f4cdd9a4e46fc4d136149fe6504f07dff4cfc84aeaaf772fb0ad4e9bfa7415efac1d574dbfa2272cdbc336fca8a638f1eb402edfd9bc03da39c67bc8ebf9638488f2be7b5c1a44cfc1fb0fbed850729b48abed9ffa9cc0cd8a2297b857b131fe56f64958f3fc62a6b8b28a3df0fe5afb4b3ea4d28b936d9a5577a529764c2793f5ee52f1ef5cab29804a475c9b93df698ad70ed96e619e1d6cdba5291fb73caaf77fdec8820266e6ec5b83c7876e9099af02583144dd4325d13b87ca2255dae2877f68a2d02e8e179cc51d0c0103c14e0f87d045760e7746ca9d8a3ebcbb263e28bc1b287ae86e5bcf5811e0ec197857e244bf090e468d98dd4e6ddd841fbdd206091a73bbb9297327724185b54508158025fb9d6b05d3f239b1d38366fbfc712dddf60c930a7272680d2dc86edb2fc276cf881c03e8ed302d40df3b3d6e0dfc27c593f2cf6bbb2d1369adc925d50b05432d9eeeb11ba400439399b16b5baee534ba5d9e13bddb4eec1e8b635c2db608f4c14fee7967e0ba50dc473d1a89b47a5911d3b82204845c70485e3af483f099f4ee26abc40a5c342d2db2212d19683c074880d3661aa3b9df790d58211c147d1f84d4e54c7cb4b69a24ea69de24fb2361f201b8fadbb5f283df941cc18564739b804e5698c3114ffcf747012388fa3f7f278f3b0e3da4bc3ac7733b4c82e9035f85388f056088d351980e98456bde31580ac44d1e56e78430a0459c5819bcb9374ad821918f96873a3e3bd39ca3ec83e9c8e809fa3f36bdc918d381da098a996b14cf3696f977b360c9afccfa4e80e1f30cce34091de914d3c968f50cd9f99d9b8250b2b1d504ae4441a69b1931bd6ea20eb6e843852385999387510112ec0ce729b2d085285def0db56b20b548e1835ad5737f9baf86e0b9c458865bee3aa2755abb64f64229be5d1be08b29218a3b8142a76097009f773119ef8e3f8d551133f1efeb006d5c331badc559461fa87dcc542432d942826a1b74289c1f75dbbe0e43dc977ba9c24cb8c90a821de43a0cfc5df598d7c034423b39f80f27358ac94967ed3416fc6d6db8590e4333c347fe9496dcbee0d3a70c70e047c15f8ca679b722e6659e67a762a687706ba7d4ee2155621b737ecfc5aef380d4d4178e271eb39a6a1920df5533ed34675b334df0171b4070fe6c6c68c6896a86a111644e8f2368aeb2599a8b3a3e13e5418852c0d86f23afd08ac5904814823be863c5efa83488ac5e07911ec6e3ea4b448b6842f8e6066451eebb62a445752ec0e6d6ce9b40ccd2b964ec885cc1e96473168341ec81350bcf4ac9d32a0f13989c5be464b552f55bf0721408487a5fabec1626abd8dcd7aa61976f758527a548626adb6e2d8a3bdef3b75dffbfa90aaeed0050d7623a5d72546db8008f7726ca9f150b7e003fb88e382638849c4055ef11f11adb585c55422cb922f7bdf3f83c37fa580b47efe4199f6b14d51449533d44ec5adc51dd0a81ef967bebec280e88b491a80a1ab7fb6d122f0525534d5c4649f36ab657784cc5b8b4b49cf3df5a7e19ee06cd539d40aae4a1b75204b0d1ca9e92bad31637342133df4a2d8399312b4104e656eafff79a8b59c90df27b0e27ed127b189187a6cfc18fbf66a635013e8bf3d7d5245f016a321769720dd12d7320a35d1daadfb0d770b20ce47d8665b42b2c0658cf41426a4206cb401ac5c2d8c04440bf9cc86b6f90aa51ad73bc54d26da9366df28b8f7e99233f60d640cc76d7a3c4672a96a18d721154486f4ce4d79e3167b82389a874000a2154f30f0275ba60420ccd00c126bc3884689fb2616aebfc74cf1029807101c8fe358728e376ebfcdf9d1cf94b558067869857fff62a1bce6ce946583589b4158bae84ec66517fdb8fda7a461254855e9137704553e27c3a795f66dd6c379b035a1712c927f0ece86d36853a44bcbda5b73fdcfb3774a353edd77cb0fccd0fbbc9300fdb7ca7c5a5b83aaad5db3ddfaade9220281f9a4d254915ffbe138a41024c3c9e7d5451ac0c761138e3e72c079af184fe319c0e06e3dbf5c8d9cd0bebe250fc3d2bb3ea111cdadaf46e30d65d109b165f1499c5f05ef1578e99ed1c79cdc2b62403b202843f29ecbe955f7546dbb7c5b5f87f2d8ed71c35e1faebcb1cc1b672477f95bc921c6dac830b09a383f44fb2a98cae483371a93d52fcf349402e92425a9feede05e57a805080892f048c5fafaa572785b259d95d9c2a96f95da1c8f983090c88ee2a93adec74ae4aa91683d24c03e53459ef2c1f65a29048a1607e03dbcc771875f8052c93474671f45b349560077b31630d5036f6fbd813454886ac68e3cb81c70d3a9fdb40cfc2ef8f389bc6670159fb71b89769c2b9300838f28a3439b30e9d9347197c21c56f5cf04eae2af0ed151db2a752cd3587459fa43f6f0f2feec4ba616169fb6327968e146afcc5f9887ed1faa202630b4d4d57f43d5fa8e016602c31b6414612db2081c421d199f986946b7779526d71eb4e00d39eab46a932fed3d1c6306a8aeafb088ef7aed70dea467ba53ad1a9239b541c3cc300b01ea8c9fcdfd47a7ceee7b9dea0397a477291c4eb5776e2b3a76e6d22024bf23de60fc7de0b07952fb1f25b833111798bf04441b52f96f7a3052f9b5761d4615853595f4d93c03d05ca851ffbcc0c7f807f65249dd566afa9dc5c7ceec1e775f6b4e2848cb38cee85e4adeb46b0a243d1b0e12bb41812aa3b2fdf47241e68bc00bccff6186be0850dbe3e021bc7dd4bf65999eb166708bd6484c91a3d7f5b00e927e0981aa8c8d4708a3a0ae804ef506552dabe66759a00f8f72836a4bd73e4b70f6eb7fa15785aa3c2944636f9f6416611fb7d88ea22bba181e6cea1d27d38e3367baf9373ebf61519865e289147c5e668fb0edf4c8ecb7760a73a496db6e8e773713628a3c00846b43b548a46dace944e408194a893d4b6b5fe13fa67b08273a60ab71e4037fc1f7efdc96c57014e6100560a6323038df8b8dfef05905a736989455cb4daba970ba09992287c51741ffb9c0f88db0f32b0869f74f8c06e6f5458185cd5b7c44841dd1f9d3976bfe7c5edc71625f12e7f96f0aa0ceaed8b35c0fed9445f439345539579c3cf9517123e6c596763bf3c8e788b5ebda8ac96ee5da7d9a1635695eb22d9542d7d5559d7424ce0445bcb04b236f259d1a987de1fa77f53e5e29faa2f10c75d21bf4e4c233c5964d4d5c3a7b5735beff2c53666e4aef0b1d01b322854165ce9be31a252654b2251d3d35a9186e1f5ecc0295b4265525514e1c3257bed03f34284cd656e67d89813586cad02150f1bc4bdf11d8868fbed283edbd7d5a41a292489b34fc73c179365b13d87b314a77d501936e9f9ba63bb06b6a057da2fd079178b6b8a58cf219ff47934f57cc28f296e967c1458bf5b1cd0755d55e1155d816944d36482f7ba08581bad5a1c9e3cca3d517d3a4922479b2fbd13901d1567cf489b462636b36218e5dd612f51c500e841055b5e7d187981d289bd32073fe0f6d527e498c96fbe0e1097b034c1ed38143d01e3f6f0c255d77365d67e65803a8b7daa9cb3b4d75bf0a5a9839f1fc99006e9215eb574d2b6c35245ab44c766f39cc8da9b6b6a24d57f1f2cda1f59a1c24bd2a98edc816d9c67387baffb7a171078afb35a14a6f2638bf643e957c78d08797084ef7f4ae3c3e19f5ea49424ce66246a20d3d2ac314c14fb67ce420165bdca9640af3465f67939a9fc4c61c6ff21f3c35c53fb238b5d9fdd85442ca6aac5f2b3fad6101efcce3f6f824639861c06596ccba99e19621f3a2103218b32d60eb5d57660227e0f84a812a0d99cdfaa4b4793f7c430984cfaeeb5ec3955a64e091ec09c6788f7d4ab5aa4f3f01330dda2ae6aebf784e3a191559bc948bbcb01cae8b0a1e95d1912b236ef7d59613d3346c58efec9a9b78ca7315f2b2e5959d62c89b909fdd72501bc7050821f1fbf7ebe457a0da720a500142ca1023579d2f38c16e6dccaff5bc6ddc6d9256d45ed311c28e1bf85c6c9d1bdf1ea690620224fd05cb8187328b3acec5d514808c098f972479dd66cb88f7efb19c41950c0a45cee236ce792898ba040487c366728170443b0bd6690debeaf19b41bdf69df245f4e9b41df6f5b3cf2d97a8861015ce992a2da627c0553d54f33c27c088e4e76cd509a7881064b6f6240c5a5c3d33a82eb13d69f4d6c7532b30c57317dc124cc7c903e9adcdb8405f9e2192fc7ee43f14594caecf32f0b4101f7d1eb8157046a9463948a3bd2d7052f584f475bb04405b67916309251289e3ca2ec9dde174e2cc4d8783b855e7f0239852a64541d09d355cd289f560345bda61e3f4819d9b06c5957b3b6233352b99108178bad76798adae5621096e2c90f5e042a262f196a91ae63d212fabbf35a6ee3593be494073dbf504c18db7e1d7da0f1be2619140701c931cc9f0622b87e108b15cd48ddc0553997bcb1bccf818d5268cca512a3ba4b595ae87b3ab1e0d59e7034f1abf99546b16005fe161f41a19ceae5edf7f4f2be5859db760c45dd653b685a91ec17029642be95cea4cedc1d66f3fa5dfc864f042dc92726636123a6aa0dc3e8eeabc0898b4deac8a52d72359960dbcab15abd017f25af821c93d0748cdb317859abb7fe8fda6aad13a20708eba00a332df456f3a2ea50a1bdd7728db7c58bae05bfa915e967c64298a89e9e0713c123f57d4a2ebb8ab4c51334e643b9c0e2f0fd4e303f7c98e0a1f7d0b0497dcf3e113eeb5f2553034dca17e06e21b5a1f2a3c3322f868d49287b85662415527bd2b8f5d50640dc34d2553ac1d3b61340635edbcb59f3cd5f065c09c4653164c11f7d62aee53ced16d112fbc088d137df2e906fc5859162d524a1e88517765cce3243f8d89a690191f8a2f84a7d57c24720edef5eda923aca43f1de9d33be42e654fd32e5eb088875e0a00de742462b059207236343d23ec5d429b892e9d2b067f61aa32187d2f425cb42af91ffdbf00d15ac12eb691183a3339e91c312a0496e9b2ab1563814c09eb2162238e8347dc54af4e0a87d5a689d1328ed1323cee9b875d785a35c3658c8f59852cea666cd2ec03d1381907fbbbaabb5be412789683fe9d08d7bbd1e941a743884c15cd01ab6d1ee0cba1812eab117676bd03be6f3bbf72c465c198ccdcf873c1015c83662e87938c7ea1254bc273a32b83743b7113044b5c12fffeda1eabbc70bf6141254556aa469250eea6a06bd2add7a6dfa7303713a0242ca94ea2e56a8e8d4333754211469f815932264bc8fa0cb290b51ef142bc465f31945e30c272eceace0759837207e09f04e68321900b5790150bd9f264df1f8d1993622e1fa907f7c3793ae311a17d41a2f36eb2eefe9ddbd1031dfa71ca8ce62031e23104b3ee9274298c944ee7051f61c594341fb8fb115dad923014601b120ee20a83da86eb5be1578b44ad150f7cb90dde5b8d331a088c421df8de521d81bea99d26295ad40f4b1d8df3f50c666bfaadb0c58773ea19962ad0e0ed9b8f257fa4c74f7de8a6104eca0dd419cb520442ef7e99196f9668a610a4dbaaa5aa6c0777e3991a100d1e1341a01d63deb44e151492d17787c408e35767fc72ba64dfc72d45c27e03f6c2c83882bc1b392f17e5386508a8821246212559666457412b743994a924ecea4ce3666f539e7336b04d5c875fdcbee3bcd4a0ca0c19a6e8ed73c6344fe89eeb09a089e1bdce6cef3d0e41612c51c1e7f6b2a64da199f75e9dc6159ee8c2f3c681f7d20a9a43a03addada5b15f7d763d09c51658a56ef37ae9899178062c39aef415d9632ef4361dedcf82f29fa8c2a49ae62bbf244ec109e914aaacf82cb0a1e953ca49c00a3282242b87457fd091195d7fbbbabea9a1348210f39255aa706f037cb739bbc323c91434e2f82d2603a5d1e1dd9b5e7e519654939babd166019edf0251241620c2c93964309d384a95769b9197a9476f45069d7f217f13cdcfcc24e69ffae88fdd7171a0b6f9800093be649b689e3132dcb2cafb3da2f871ac7d688d77e72ed145da7f79c9387d10741dc475a4820411b7c82f0bd282025942ccd976e82048d34f77cd2f2401705deb6932224325def6a0ce97f80fc7a0214389720645e6fd4c526817a559c81dcb7332c0d7cfb6cad3cc3895bf41bbbf064cf310e2d9d3f506e5d5c59a0e22b5a8c74d0335f0891c34b5edbc438cf6d2be75edb8579e547aa1b482b1f6e6fdb8e386a2964633366563c30eddd4863964e4964b64094998deae6f62266ad74a972b05a381e27495f57fa90a22de1f7667a21cec9296c86d43fa8b72d15a57f6e76a00ced126b09971f628c7fdd3c6cc4f6a43b72665c11991358796fa7820b5f7ebd9b274f7d4b97d274951cfee40e8f5c57177a1b4747423c4839e4dcbf87558f94dd38ff13d378d8cb423e0cd0da5342c08ba65e0eea6245dce6459540c5ef35a72ae4633116d270bc8285f73bd0792aa4bce1c410ef11ccd59ff963a0eb1ac9948a4901d1e549695bd8792fb08d5974b8d4f5e4d4205d072c8003182365edd48053571f6eabd5011fdd884a0777d7a46545d6b742f3029dc746adf1f1dd604c3499693e74ac224db1eedd7c85d7da2f0bf2e27e38d33e4d207d7914e985e9cb26a857f52d63ebcecfb41a8cd6191e7c7a5b3bf3494e38479a8b6e7adae66030bafb89ac2782b4bfb3b7cfcc4dcf6226b1b0b4df1ce09b9ef0fbe48aa4b2069a3d741f30682c8b2f631c0d6d98687cf998cbe80f01cb33ac4225fb0dd3cdd61c64401f46a17f4b22dffaac1341fdfcdeb7aab34fe48518485491f8e1e0f418eb48d76495c8e9f201e6b540cd81e1090b14743735d91808bede2f4814b8b75edc9feb5232ebc15d690b0812d52c532a1bb2d607238da9b7fe91ffdda1e7550321daaf950135d247140e5ccafd5c8c271437e3e9eea9d695c68f5b3d9a45105049bce87aefe4ba72535b3ef5b07acdd2925d9e688e4bd2fe37ab5eb167ea36c0fa0347fe3d11dd935ad4b9d2809dd38d7a48277647ed424e537a71d384cc193ed5602e3e8ed003f1b6b22d8ce83acc62d48fcaa60a61d32fa51d7e1be4cd12bb73bab8b787f11c9fb6fbd3c0e87cc94814e067070212890a04ce3feebcc9881781239e77ba1941b0a97148450d69cd9118f7a037e518fe4aecba0a3e5dbeedaf5dc451b4f7b586e7065197260a50e82d0a964bec42f12be4bef8e013f6921240c2d08df1a08d170e54ec138af0356f69db263ffb84985e181e47e917f567dfc6bc96e7a2ea160cbcd14c8ce2598973b99cba9df52cc0e56e06f3af1940fff0bd671dc38a530cb1f2aea8713b05871a6eb975f8f61a0349716bea4bc7720d98de862a0391800773fc4b1a46197b9e88b33320164a040951a76e7a1407421899cb21f04359b7fdc916ad937c3ea32d87737a435b538502a8c75d0fcacd837a14f0a08e4ed18e5dc130ca9e1e06992430e760214681da7a2293ae9fb382d181ad70ecf63f01a74541d4cfbd92fd268fecee9cf56404ccd819649db8c3777322558edaefc7792c4c68ccb035d1fe013fead18baa0fb4ef75723927361ccf620e5ee00c66e2372b44df8279231e1008a43b2ba45e0e8d9febe75296d4361dc60f58224d56c25dfb8026d1ec3eaf6278dcadc61847b2f33f1094a9a8fc91a95417ac7f153a848c2a5a731e8153eed45dafe3f64ee100a18c0dcb0dc526eb3015f6ef48fde7077ffa0f6acac60111c2b2dba095d180d062554d4f7b7b6668b5b1fa05550b3c934eaa91505a1937ebd912e611087b0c5c2bd3df1cfe20c23cdf2fe5f6010972103479873a178d466da6363d45102b8a68596fb0f4afb574eaf627cfa5c756e7a66de27b7811b2df47c2bd81fe7801ba97567dccd680cfe4c02fea9b2ecb8e97b843b167a449385f03f99b197ffcf8f49924935b963e7b2e6beb43819f4e03b730a87a929ad2b664c228461a7aea3cacdec426c7710bd1a7631b247f6953015627da010eb5d77f3607415d550cdc1a9bb737403cc4f07ddae9ba79414acef932c2f67988337e607fd00d8ebefc01c27ddc7eec8aacf5ee39521f41308dc75d7c3e3929633216ae4097f2d6760618bbc100b7e4343183cd8d2b1045926938a226ba30f4e3683dd0b65ba4ae90c392a552e9d323d7fe2f587be12e66e28d137e569862ff991508d8d8276e196f576a4c6ab98a6a0b48417726ff76878eabe59c8a57a6a51df2886732b677ed3823c5ee42208ee22c3bf6c955ffe008f9b2eec47ef8fa854525966af2c4c15a1796a7da3194c46a22089506249668e4ac36e6d50d25c0459c6e97047099f163b909d6b334ab480d119c5b9a52324b85e020d2241bd8de5ce70534510464a7f67cb9699376b3a7fa9c348061ef1026ae51579c00e9be1b56beff63f76d1dae517759583ec6aa50d236816e92c63dcac7b290a473b6cf8dd49dc18d62b64a872aaee58e2ce39d1ea3863e4d2714997e1262559d3e3502e05da4161faa71f37c18466156c3bc22f47881081da5e7c4f7369a9a43600006cefdcd4a893d6667e933221ee1382f472ce7d1987bd5d30bb1f26b0aad0f5ac17545180179c51321c2bd643993bd80525ef6c239cf3f2a2671b4f749a53b39b6717fdeb1a960fe41d4876c7a184920d1444790a1d258e7f8e61c31df0f4f9be93e5e348e156ef5ee9b4549017786d7ab6308deb18bf60ef676dd2f7f3b1746f7a17b333dd8d2e63c11fd1af2e249a425f046075ae5575c471994f7392bcb95244dd11f387e67760a48f6b98551a1bdd15395be047ab975c300d47b590b9086b1cbd02fa60d4293466e05bbb2b23f7349980b9d11aa5243b678e382e89b13514b654e3d26ed22b72fb2ccab57d59d96784944404682618e75d584927569dc19f1b04de13f38bebb8e38afb3d74c48696bc27695c195190ebdb71b033147e7a8f193f863d66bac9b3a21925527fb6ed1d48935b97bf2676637bbca8991ea53b7393e9c4b0103c5ef0e7c788a053a1016d348b7c74a32afe9ae21c920be904bc466dd6d52755e03d76b5a9e36a325b37a2c8beb65001c94db148ccad2d15a3de4e0a7f66c67d3a97ee012bf692196ba777a95e525945e0395e97833b6e7694639295457ece00a5e039dc834a9498cfd21a8afa2c302b9b4a6e62f5b544a1e6b521b2808a4a3ca71e08b9c64fa70fdbd19efa44bae6da771af54fc8733fb64eef59893e9d13c6c769d1e5f7f60393374c4b35aabab137af2bd8fbd4d7b8d12934f16a4790ecb68842d6bcb4d490229782e93f8194ec12ded33db78e6979180de8e29a7d6ee8871f294a2f02e5e4f86f2270a75b61c33acff8d6b87cc5be9f0baccaab4210655440424fe34c8fd949b4ca34e893df2413e542ce386ce7d7a7901362922cd782f3c549ed9578842acf99ee791cbcca2420cf3fe9357d56d258b1b886fa14b1c735120107167550edd6aca7355ba5677f764a150efa850df32384ca09cfd66145919469d9b22800c46e1824fc205d1c23b1bf9e1078ddf86ba1d428dbe8a2ede918c5e9e9345663ed65e7062eb904471ff53c2dab6135dea9566b7684c99c05e32a5850bba1cb5e726c0aa90016b37c3a65aebaa891a24e1b75f6ec761e0c15fe99c8d0e1c7bc7f939ca4143634adef6c057294e1cdb7b3222cc5d37102e63ddad4073113848938a5ed4271cc38d4ade1e9f690e8ced800f883097c95e3c04586c85f64748131c6311522186478105d40bd18451b4ea9588abf4767eaa513a3567d600b99aa8a2f11c122bfb79c23b26c5246c7495e134e5d74590ea9a56278596fe90746c32797e4f22103023463df1be539105840082bbe7bdfea6c82b33a2af99a72dd4c2d18a9b3e5b499fae2b5ef691889fbafff6ecc43e0da8dd3cbd25ad2de4bfb95389a7dbbb84415bdc6603dcf9123efa3dcde813fb6116ef368363ffb24ba3b25919b5b06f9323bc75ab3a5b848bb01e223729f47220704e8b2501eddf7dd92b7fde0c61ce8f13bb551c014ca20c450a7b4432d7df81488c0359e2f48a42cc1893857adc2ccd7bcb1cfedfcce2284c97626fabbdf292c0ca767fc49fe7b8675a66f9019c951092dd318e9ec07eef28a89a9da0c3e870b9d24b6f54666938935b9f23e2a19d68cffa4a768059ec698a2e5acebedd07beec0042482ad08eb582f31c87190013dacefae453817a243b999ac2f7e4954b32ee452a0cbc9b17049ca7b4ec846c6dcc31fdfa8df1e226ec59b8c849577846e6fc88ad6413590ca227d8f9665b40ca01713806409aaeb539e39acdaf2d540df40b252e5c108e448882ce3ef2062191c59f9e9b5c4e333469f39efe9cced9fff587169048e7ed05f246eb3c221dda364d26932a37d24546ffefba7439d348e9283609d958f3f4b40ceb90c0195151d79ac67b6e313b5b39a76cbcec019a8976c8b18e551c85d4fed8fd65f8b3e3172d7b31266e159f4fcac4c568a02b57754b9de06108c339b369dac96b17b24fee76699bd8c526c1253d2308bec82e9774e4bf31e734c8fb030f4941aedbff12026239fce8041048ab57d47707034f98748cedbc58f5b530d13c7eca2d8b996c460fe53a7a732c51508410ef0c4e0eb3dd51d017a8fead3b13ac16834b071c5bc7a6268457e984140be8dbbaa0d1d3bbe1a6b08715a294a27f710e123f4ecd69d4fbf1e4476e2eabd59ec72e215c35cc0b34e9894e40c5e24a5cc533581fe16e295df5e7f81bf1d499d1260d72a113920afb20aa44d29e920c150638b83b62edaf9ccd49499e4fd9ab12525df80e3ec677f076c7b4d6386fbbe46916ea47242b00b2d2bcd32f11136d6927ebc625b92e13281def61ff17e2e627995bd0f86b03414e22122d4a576251f81a63a3a16861c0c48331246025c3e642ff953b5fadd2eb18ff182ab4fed97afe14cada15c2f801722d10ad96ad3d4067b49620704b94410adc491a624a898a02ddd9e1bb61b2cc219aafe8bfe1e5258558acb4f5bfc5386a4a38efcb62aa2734ccfab007e639979ade8239be01f4154b1d7f27624bfe89cf9912ea81a504d7ea01778fc6e3f35dba00d662535cac2fa9e0802d23d13c9e51fa789f857930c21f664f3762d6df365c96f62c9f006360e1e71ceb98f2bf1c9aaea4dae9178eac1bb94ca658b4c555ea3de4501bad9f70307e04ea2a29fc7360e71704e3a2aeb86fa5f054f2adf7a9fb8b931c444ada2629ed4c296ab761c1fb1713433675141d675d13b607e2a24b5d17c381d0c30e02d93ceeb1904bf3658fad3c5b6e78662817ee809f5b001af2cdc2d12a1c4322424c9f9de7ec56420cdee0922caf81cfeee492e5d253e9b0cfb6e15bdd390cb859aedd198c5b49717a02145e0be74b20e246c0a8c18b337aaf56e13869a69b25a2844e09116ad32b95aabb29a8a6720cb3673d1ed20aa876bcbdd98c60ad6b2c2f76d8d7b358352ff9f00634fc1dc73fe3cddabedafef598282f8b2b1bb4b27696756208593fec5240f5f2f9e68092b381c9ed49b219f80fecfd38504df36415931272c29c897b9e3b9782dfc942c57af09e847781d96d262001f7bd5c333fae640a49f2dadac3e740eaac950d4f84f6f749e9c2823e415fe237b77f12759e07b6c952aa2c472d521d06547df0f5c07b7e7c83d251937f8f6761bc017d94a31ae90c80097bcb41a897689e4911711fb01dd2bd8f657667e41724b63df2bc92ae48ab5ab3f88daa5211d1329faa6e897368daf98719e4e772e8c1583285917bb3aeb4b8fde5be123f42f4504301473c9b95734e08c35f776f33c7ed68f70f80acb0683d90394f75f4436b53dc29c7b44b767aeb9096f36b5a34d1905a7171dcd3b96e30f083c034048285193f883a07a235645079adb59f77321fd7c4dc8b95df1700cd359c59d4c30bd5d37cad1f599e6eb547fcea555cbcd0a540713c87974020b8ffa327eb45342ddf4b1a867dd975e843fdb6bd94f06762870c2f2fde4b2b56cfd48000025865b5d9add49332e44e061bdc597a85e095c2c48d8ea8cbf94c0cc228c50cfefbf78713ca4137ccd2310e1dd0e4f067449104eb13623ae676033ba4aff7b314365e748e167959a8256b4ba05406eb53d302f138a30516b15cbc25c92f95a1536c2bd6eae30c07bdb2c429b0e6631fd17185f7911a4c74c4d57b6472c2f9631925dba22fa6672ad0b567fd9111fd2d1b0bbf521f4f027184462086a489b200fc8be8108eeb040a1cc39c3b6bce4bf9467f1b1265c9867b4e87a578ac838ca6cc07faa1eed8a21f6e0744349d26d32dacb4cbefac2807851037f64c2ebabd3858585885db22934b02589768ca29ccf2a4cfb95f55a9a0c7315826091d83dbfe71d8d55b7f4dfd62a82210a72a722fb6187a470110d0637df98c20570d9cc402c2983b88bca3f0cc75ad23b0921f0c0d2cca5e08c1ab7f61871f0bb1a0e4ee8945c9249e94bb4cb54750eb7db7bbc0590f892af28ae1e06c89fcfe2f74430ab665cfa7b9b807c40023e1b2260bca2faf9f8247ddbbd63b7d522fcc97d50416b54b3da36dedc3379e53eda4cf49d81676a0e15f76fb2efbdeabd0658313670b104aa14c210daad88bf612941dcfa2bfabf67ff8d9ac33861cce2afb30b9bb2ce72bf37cbbbcca932c386518ec06c0a84df77313d35ad6b0f2e0ff5bb70d76f244169d4637b6e82c66c9059963976c1c9edb5dcd5ffc85830caa9c4d799fe53232b08044c073ec973a885bbc31dcd02108b881c9bde67e09f17428c8bd072cfe93301fcabf506ac77fc01a59bac92568b0a9a4aa13c189ea4054550c948c56493c15f3f1310cb1d87317eb8b8e7b6a662eb49a5d56d360755d870e9ed000ebe8b8a6e4f6cc9139cf9ab79051384be990339ef8760a27cb702e52e1962a9df03bf99f9ac3670d933f92e320e796a90cdb850788a5ad6fe91c1eead026dd9ca6b9c1b6d3aed82d867696266d93e57a5b5c7693923ef7bf229657f96a6b70e970e794edf40d4a06856f5837f873f579e0e5d2a0f12bc031c22fb8e39648b0e1121c99e9f89e02dd692bfe5d3167a2a21552c18f560fd7a8669a1d431b6aeb4095b7d709975d6f033626b13c746f1e8723ea7943289ad7cd29591a88cc5d5c7cf9cb500cdbe33cca5608c8b9ae5b90a160e3510766e603379623fd699ffaf325fcf810da374433e78ad25a27485939cd130ef301f6d4add6f97ec2ecf13675886bc855cedd1ac8e2069340a9af76874503532f32ef363348c673e399ba476d6e51bb93a33ca83c0faf067acf25d2e4f8983e5d7e55853f401696224c087e5991353ab97bbcd08d5a86258b5b6a7060f864747ec17dbf9961c78e98bac6cc38709238e85b73a800bf5506380c6a93dbe2da38e29ba4089d1493bcc655aee2c73256d03525954c36ccc3267086ca268efad4f15137b83275706c8f2a7e9e4a415059f3bb2b2e721a19a1c8689afacfa09c684697d8e793fb54a5d981e4ab254c9486a6b31007a87a43a92cab4fdb23f62d4293306f9a0a053ae4806c8b955c3121cb26cbcff91c2e6255b34077f3d82ece25a63b1ee507462a3ba1b5d4e5fa9c508908218bf16e3fb16fb51078bf1c702eebdff9f21dc7edf16c7c46aa66c95a1a97886aa7c2ec7f440f39d638a429157888175c966349a1b2aeedece06a0a77027dbd75c91377529bae9ce49521b179e2859dbe4250218e5f9ce8462960d5543922cadf450486b8d031e463da35aa20549fac51e7cf7c90cb410a54d2e15f056c9a00158acc69aa93b780d4ac26ac213a7db9ddc6dafeae0462a900f7f8933255383d5894ea9df3f0ceecea8812bfeafa1ff6d9f0b1fb134f56a7fb572d6ba6f9f6b5a22b9ae4b34ee1143e86acb5018c5cbff154ad674e30ce3ca5b8c7c8054dbd36c4653a2bb10041553bd18a49e789bffbdccfd289772dc85260eb5ff28e1c35b85ab6945382d9f82c2a1b3fb3dbda6cc82a46117e21a03889d78f20b332edcd8f7c504aeee3895758218b6e84db52737ea243a29cc9e74524c99259b9e91e172d3fef5bc8220d18851f545f3989166f66eb046fe1d39019b1045b7ca4be26e7c83c072fd3abd686b366210d7fde47353e84e4efaa25e4bd1a10bdbbe7fcee596aff83724b62064aa9f7a4b38694e76da37b5e266eb3685b2b9241cb29977841d040127f2c9fb33169cf54c99d860c048dc9651519064b143da41e7679d486c969bed376ed56212595eddc4f6904bb06f667b963fe3c025aab8ff8c6b74e37df77bb9d957e956b7929e56d75809971ce220676a8d449fefb06b2f85301c1adefb03e2d080b23d443397fbe13f27f52cc67759494f22be6a548467a60651affecddf81b87608aebff1faf4c45ba621239ff2cda3696f0fe554c164fa6b0ad3ed1b11290416acc4065fec113e0c3eb1dbca64890431120723cb4d119cd84728d31dda7cc0fd9c813b96652408201fc80e26a1d1d579de4aca060ec50d16287cab6ec47ffed7a24fe7a94dbf81f2c1b1bebed7f9ef86d03526521e7587fa03598b6537e9bcf8b88bd267551b4826ea1001ad2af63163450431896fcff7913ffcb5e81d336cb8d5d827b68abe938d64717957df07ce5940320d0831b36715091cda69e49447036cbb53857fa9bcda8f4c24eb48ae1b1c56cb0e08e71c36437d67313f4304c2506a3a46cb9225e1f185a7e5bcf1da9b7866f857b0b04491d97a3d77ed26afb5ea94e4fb25a554b2cc3115fd0b216e2c3415aa548bad377a0b8a3bd8b773338dd6d0d31d5705c9355e17c2a7e0888adb167421db915cedcba19d620b88c08e0aa30ca45e7df4540bbb05490619dc40b3a9a0ef8b33f26e9db7336bde3f2b90f534a39fbbbe41357d650ba5e0af4c6546e123872e9397414d90403a86fb136e805802807a9905a75ed9f3f7acbe458031f708d8964980a32d352442bd4de3d54f6d1be83a83bc2ac97034917264e1057913d1a20c9822ec47e20a64b912bd759e5461422a74fc7a5e36ecc6804e23895efabafe4fd26c65958942c074f276952885ce94a1e66bf85bd8e085eed552dcd3122992b5a4baf67c6dfe2fc898c08b373ce4cb8334870171f8336e9a41912c3780988bd8a67cd59341a9cddd226c6fb99976344d74f8161d36fad3d9d961ab64bf552feec2fcabcaf13465261175d7544f8eb347be385add6436a7543668ca73c37f01f84b8432d8c8199c901397d6c938282baa6749365ad53acb9c5ccec4f1527084580292bfafc4770534f22c79ec9f7b6b4258e1c9c9c97e8cd22ac68cbead51f947c0757fc7497b1d370f975603c3cc42876d4dad5674cef9a1c830802a343780e91689f636666eb3754bccd3fa2847affdc35c83224d0ec60c9bb348f64abf37c35418bb0f62fa19250eb364a574a4c5b520662bafbd4f6c517a5e7467a9741604b8a5feecc71c12f3246a8fce7466cec366b055f43752947850b1b75f02f42c0f490f78da41f7a28d559d2772189f1179631926907e0ad549a1d601a12be8f61d741347efb3bf37b5207381f6177b6406234a18a4b2454bd3e5a4f89e49f70a6e37730f725a8c7ff6c12922a8eb1f32d432ce1c1c4dc46cea5551fea397aacf4d3c174d9ba97973b003f026318b58741a31e967cc0e3a92add0a875c74fa7d5b3643a8cdbb980e0bf8e054b95048582536ac1b7b38024f28ce15dd2c2e5b611b6e6eed2dede9f7f3aa2d7e06d4a183179130b7819fc813d67d45b66b424c95e488792df3480ad549ab3a00a42421784e1a4c1a1cecf44dba52b1138b5bd520f4958adc41ee0ae4f996bf74e585e8ba95ae0c95cb60815d81ec8eb5b5d0036afa0ecbc78929c611a2b1ff3adce8d49c733ca3562e7366474cc1e42ed40600e9ce6d7667fa9fc066eba7f2f0e0570df343976d754f36a6f76de190b3747ea0c9a8e6b97e48ea9f78b55f1d12a58417434f115b88415dbbabc8ff9dae5f452339a9ecaec3477e57a7cec8de9b73c555125d7219b73cff887633429a9cb369d592759d712f56ab6baebaeabf106bf7457997e14f1a4ca7dfc43cf4e01879bb96836d47558f70bfafe32f6e54e0594e251b5eacb1112d4eec3d5c2c7f02774ee40c61907c9562f01287430770e858c0181775160a41692157b2709931e5122d68f2fe7aac4f925a6e1d3aaa08cb4300d8307751ac43fc7e88ba6df989176c19d13d335fb7eccd0007836f5556533324ebc8b09ea0989973ecab5872df0621f6e06fd79cd5a1e6a60ec798f46a1ba30236fd391c71f1e2c378a357c114dbdc37a3991ad40226845f8b10a88967b3c35baff99bd954e7a42ad82c902af79771594893ff4fd8df54cbb6ccd47d264b755074ee9c6bd8584833b6dc1a8f2ef24892e6ae5cfa237c227d36ebdd463fabd4ede5450a155455c06cd6758fb9de673bdd9e10f0f95f80855c5e09bca5707da51cb91c8a879cf562f76b730eb0bd9b18efeca70de3ad1f6c96d0a53fd70b934e556d154f54b2a4916f73a944223a6b42d9706f07381cb4725bd2c6350745c9f03cebdfe37a8c3114a7596c1b3f1f28fdd33d778e2eb0e2c75a2be2beccae1e70a3ac26e7ae15d7fb794cbef95c553814772b59cdc3862f586e222771780fdfc2b55d37d282b7a44ed6d6f6f2dc54230ac4b6ad3b65f908ccd28fbde598c65b447b216dae27484054bc70183e8f34a123971abc732ea03c2d7f7116de0f08c9a56fa0766b158a8d8157cd61045951f8ddd97b5a35078de3b7d628f9bbf0419daef13ff2e0b63324f3b269fc78eeb36eef6c0fed28db0044e1d97bdac659fbcae7e166ecf9ff70704a0594a0461b17c602407c42a99c177f77f322a1f37e12054b703ac6b9a6a99ff6f3bc2bc8e2ded297048aeef982f30527cc08f951ec4137fde330c92babb5b575fb3aff1ae68317b9a8aebe7f46d4bfff67498cb7685824a3cc01f12a9118e35a652cf1d24edf4b479b17dff5d4b14a4b5b3f7d1e366cb270852ff66e6b4f124b374f93081ab7cc2abb7c447dcf72d18a8c8ae98a371853e8ef957e2fe3d9b2696c542488ee637a86b375fe3f51737efb360d51de5730c569924d865a08d2ccf6b511ef0b797426c2db8665d83282d80fafed6539961f14c51f562d466ab097669b0c096335a0bc5fd502182bb53a535f9df08763b43a9c4a16bec6e6ec0930e9e9c8714e8cedc63417c77b4a187129abf643cc9786319501fe600dc19adfc57c162e88581bba1e6ff35aa3842b3d67008672cf15ca65d956bd37325979f42e93254e1fcea0fb2c9e96ce73971936e937ef8a4ed8e18bd44fcb38bc18b20837ef249edf66c4e7d571bc6500a01b837765ca1e1b72122ba4b672c852539aa90bfe1069aeb4e567f80f4d159e07395a837f70dec233f64150f75379c85fc5b20b809dc4e0d2bd92e801a85eaa00d50dc57e528077f5f3b995d3f48f69de7d4b236a4a8c8a89f8bb23d2a240a5aa01727630ea0987dc017fa13671962706250dabc59be5eed9f179be2e4fa930b3e3ae4bc16187da7f8a7aaa3f874d815dedec2e760cac899226ee338f85db4bf7d9c5d4f4ac5ef79f775e1fcc1a2d33c377f99d26aea3e72910218ba43c686f83b27d60b93c4914a4d9eb3173d8d1136ad15deb291ce7521c14723795aa6e7fb96dcd39680c0cc72f00e608758c477d9d231854ddb455ca2640e15532d90f7558aa5966932522a01845853d31c9200dbca41a34633b909a4041c9ef09ecbc67a7e89e91b75ad2186d6e6ab54cf24f44e99a500550dfa88650d270bc38a863f89a1985e746ae5e8b226ae70e3cb9e226a65ef8465ca3057136c72310d096ac3115a67f804cfda72ce948a5eec00d5d4a4962ac31e7835179c22bf74f1a88dcbe3dfd0d3c3e0e75e98e6cb4bd0fabc66af928fc7d0d4c8254fbb6ad2bb091159725a7702eb89f9e6b5675fd269cf576327ed108c8082b305cdb6a6835ec88fdc64c22d5486286e552f3cbf0880e58b3e13c97c9c812da271985a999739685c6ba8d8c50e498c80c9ba7c9ac66156fd383fdb78e20af8dfa1b8d0e7a28d165452ce0fac92d6391ca6499fd4c9aa38e4a3fafc762397b332c257b4574cc98a1ead24ed6bceeaa2c5e0a8440d973ed1672299957457a3ab0d581efc1f91bc1dd9e1fc69a1c0713e22e2c2e9907e403e1c4c91ad515dd203ea13793144e5eac1e2fdc0d6ecba6255f990e9cc0f810fed8562699a23fe02c3f3f542ab693c26c83212ceb4c348b17b8a15d0f1f5965006411e986998c1c387992e151e71fdc017296e1dbafaf2df9d50dcd47f56b7aa107a22291f8d604494acb4cb4dfac27c541b26c6fbe9b5717be3fb18a577964d2db8869d2a77e0c0dd1ff013e1f9407624b6ee68fba124580ba6f25e16951b82675f1dfc729b09ae67e6220a79f4975d8a6380f209646f8562067b7a01e9ccca5d3f4428f77e9b9344d5a5d009f410cf9caca7b7bf152bf33a0fa7604f62b1ba27aacf8139a1db3913fdf7d6351ef2f5a1c9dded4f294d6dcb3bab0483f1c77e125700c2f2dc75dda8ad9c9f4e8ec6d15042f477051ea2e4bf2bb365fd7a7b66e7430bb38ee33479584bd11224eb390092a0c15593021d04a0cae6c1023ab072187b388d500cce8e45b5f957dc0b8b3e58b909c0be84295c100ad1256cfa9fdbd780d8434227ce81e2f7a442a535aabbc6e114d5ef1e0f5dfb1863053def77e615fd05e17acdd0e7216ca4bf55006fc51fba84be78590d6eace8763fc91b0b8d5f379862f5d399666f3bdb982424fab7706d4a5cf54404320bed8ac93ad0dacb09ee8bf0b0d731055f633f20942474746d3b068d0ab4d60e2ad736228c48a787dbd934fbaf43a19968e330b4d2b410ffa84dab9a4bef05e5f45eb5d8be8f11b2c79b7469d64a7e94c8d4e1fac022ff9cae11292f315594f78a2b8b2e802fb39f4994615fe83e5e66e07ded4e1fe9e5face768dc0f6159b1dbcb87b1b94c7fbe90fd4f0cda7a7df5e1406ae29278b8c907877e521f423b9db8894fe8e38f424087d88bbf0804bdf7587b5c403d4b9beb92fa59018d32a1066e16d023157a41bae170d2235bed9d75715bc150f29fdb16983c384a003bdf53eca158ce23918fc52c2af823b70cf30cfb8936dfb07a1fd403d27db1b8d3cd0d457d36d0893ab3ddc25f8f764743ebeec205e5511d30655ab4958ab0711fecfca1e5abf11ceea1e03be4537ed90ee98bcda9ad359798c320f3a57102e7c1da61dfd0d9d31a6ae85ec72ca6f6c807d2587a8dad3c7fbf22bef6e81c11329e5ed3a797b57c4600b580660212e682661a4bab37feb2d628445d43982e9ed4d363d9b05ab6aa32e8e1a06aa07866835a08fa874f1347fc56e820067e4f032a14d3b992f96c2b1106e7a912bf38586985a5dd74575d4e036a1c72dd84d08f2ac35a30e3a2016fde7e9378528f7f5f8c071571159227bb52285240e054d3bdbd8bfa443084f5623282aa54ba8ca51b6cb595d65c1a7c6e0368df32f52d2f86eab82b7aa68ff39c40cffbb9e06b705ad56b82b78f26f0f2e1936b95bc648003d846a1283aaa7ac4e092bc796143f7ca32b3da40075e7dfe31803db8fac13830616d4616f4ae6d11804f4c2e65416a42aa255a167aa234f0ac22c39702a9f57e74fa87b1751a95052f9e5678eccd552f34ba3bb559e939340cc6554389fe009c73f609dac6a347c6a99eac942b0de76ed86e9ec4ab92a188019affb35e9fd4855c2006ddb1449e763ad9f70b974651adad90fba4c8c8b42720f406379311cc4e61f25dabaf1dcd22154650281de625f292913b6666880f1ec86fd130d22309280ac62d9dfbc9eb565bdc310677d90b694c635a06abdd9d9f5e11a2c3523775d4eb2ee75977b687fb653c67af18414bc6473c493fea9dcf794284599cef9d7a77bd8094e6e13e03d8dc38e77a0776c0e13aec5ccea802a6a57b6b2c3c6c7d4accd1df36be32056ffa3bee69f79f3c5aefe23d0c48d690cec77a7023c5144f364026c14e8c544e2bcdf424df3ea7c0b50175792dba362eaa882ad13c374b295e7ddc970f495711a9271f89c94de243606eafd7a18a8da9e66d195b6cbf3354eb7067ac7476b42e8168cc3bc726e51480e0c96d7e6a8d09abf3d081687641602662bf82924ace86d5424e406c6f9f418eea644cc91fab415b105b023a7018815b18a64da3cbc4070a534b5333b5e5124db2e7fa104ab15e4bdf342e2374d832d57844e36bb10c22b1a29044ae71d183343ff3302582d4cb28861684c59baf72cbecb1ff0ee20cdec14fdca2cf2b283d7eb39b7880cfaec6a189a5a13883154f039a09d01b04d7aee8dc54bf8e74fc246255f3b0da79732a0ac10ed09fc0aded89e1eb687f57a35816bb3fe9a638c7b482ce1f1b11ea4054184abec31b027588ce034435a59d6764a105234cf2aba61ca989cd45a64df970ae3220b4bea1a84dcf4471d35d4433dcf09cd3b15eeddc13098a8f34a01ca5b7af5cb2418b9994e19e036a6c09f1351950301cc9022f1a8b23e29b3bf01fd4f052d14710cd14c23db6542f3862f9daae7681238dbef1da1f60e0eec39c79f5b2be26cd40083827c0ebc621914de51ab2909799b6d64541f189dc7f8a85915cad6fdce3636e2d6ca2a03bb0885da5327f64d073feab1912800214d4c1a33934afa8fef575372f7efb549a2d7b2f13cc1afb69ef932d4467f9d836c1bdfa937a5f596d46ede8dfda1ddf7bb960bea815c05489eda70e1969a8b4c611b3e0df7f9b48f28d094fffa519ee8ebadf9a802c0c5d0aa22730bd0cc35d0bded7a348649eb76886c8266f096e6e55768bdbb4f9eaddb0bfdc47daabf753e91663b249f5ea2fed7c8dbacb2e9c42a5eba6b0d74a8d938a6b4ed7b95294f11745898f085ff39edfdb4a37ce1ed3fcd237830e8521c8b338425d255eab0112d5e1a9b6c0e55183479fc32d00e29f5460118b22568f9c30e4ea3b9f79cccaba40f49393207a8f5c88b1f1ed691d0a97507f18ff1d3abd947c9b9637e7b16e1575fc689f4bb2fe6a028e252cd8e24a873fe5756dabb6a327b9e35c6d07a69fa0a757a6dd3db4a84b96aa11afc5e5febba4baf28d5bb33d0b09ee01d5600304cf793117c34992408f17f326abb31ee7f057c0e2f56c132c2426d44d7c2aa82610e7648f495916b33554721b173f97ee4ecab6f184a716ff090c60e09b2cf4004b7ae44255e0887643a1e8277a3b135af969f091b58136171a32a8a9e37160fd01a6b56372a2000497fd8c54fad11314c138423ca54e4199c42d53195a16ffef597c0552d8dae8c18b7642c7787d4fe09897a65d1573f5ab099ad7bd9f124998115af01e280d0be7130dc02b9d1579feb7396d1738fe571bea0fbf60726a376ffd3da2f2b27f956fc09c59ec2d0edc7d72abb1252bc8f4e7941cbc5a108701d1165a60fd73c1c833ce1f582adb2300330d5fde5b70eb2fcdfecb32245c607503097a1abe3e185ad198195d663476d019991d315594e7ecfdfb29159cfbe4401c16a41633d2ad7a0a19fdd6db9ce1faee778674ff16dd88d6a38b9f55fdccd6a79cc02549f0c41fbfe416c5977dfc58d3535f797c18dd88a5ac8640a5e962557c705e133ea29e8f8d601736cc762a1a0fe18e205b7dabfb8a0d26ff9008dfaaad91723a0629ca34ccf3531b75c6cb2f20f02d83ca69e6bc88ba730e81eccd60fb89b87ff17fd59180a5a4f3cb25dd33cd2166061748c9ce0b09eb0b69b494609eab7e0320a4545434e1a86c7f948464777148f00a93c1121fd304add442cd8abe96949d8e2761966a94ab6c5a605362e7db6ed4bb688844aac4c038887f72596cfe6043ee0bf70dfb843f86b540ed645d91ec889bcfdb31daddbb38206647003aec945f89aa1cfe8d43197b70a07b57a01b89d1fbee905fe0f8100834f0a4b83c4d2260f964be005892a5e67dfd0b2d14deaa584e4f52cef6c9ce1b6a9264066ee5c17bf22d377ca15fa924f21d044815861846670fbdb62d17d99fa029098788727c5a96f45f9d9b215dc818c8f4d8b83dc085fcfc85b7af8724639ca7b3d80066613a0d145d30f33a45e750be334f2df4d749e4e46acf01cd00247fe49dfeea476f0a80b6d54e8c91f2c0745ec9fc20267e0ca51d09c58953b3de30e33eb9b3bbdefcfe3eb6c4c7500fb99db191822e55c61991aab78104ad01c2e427b5c1d27754e516fe2846627a4c90323f54cb00036794ed3e9aec057e09ca05160733043159cc60e295aac105d402b810dc864e1c2a05164b28288a3f2d4cff96195619da25ccf371d0f4ad9b73494dd2e468260ca4479add11349a21cd026476be233ceb0e58b0a526ecb4052247f48c10f1566830022646b72a5d6948ba90b37f08faa81b7b037433a022fa0868d65eea9710e5adf1d2a0230e28fe81f9b2cbe20424127418fbae6ffe34046fc242e8fc2bcf83a15cf3f008a01da5b7b70a9b5da895d40f729dbf630873b252ceb2ca9c1bc5b9e9f494ac64f4ff30e38c1268b7a89000b3224a41d5738ff48867201a562f59ba6d7ad11d4c9b370807be34ecb90f247b9ce5aa171f2735339b1e1a830c7e6593928334c4ca47d10fa2c8dd32bd30fe8b36d94eb8945e299a9d1e44f9db8f1b1accdeb4e0b3ebd7fd906a3affe0cf7019ac7646d8ddead92190bab2ca8fa22b1da20246ea8da0297c6c7cb7920172ce89841430dbb80fda361bee9ee8cba6a6f0339f366a331f6c532caa7cab2baf6fcf4890a25371f2a7e9e3e944955b0adcd1bcae65b3eb1cd83833e8527937d083127129d31a11d0d44bf8cd3daa23bbaf952caef2f3680737a3bbb0f78845f631e50459f1d1b2cc35ea068e48e1ace069e3bb5b6fd00325c610b0811891565bccd1466002c788e5a3c95748c7cfa8ee3af3abdc012e7fd47266700ab374f66657f44a56b0bf694e321370e21bfa5d430214f8493988ffbda3f70ea15164409dff4e703efe63e4d3de341d3a2db9c8d81996b8619cdbd4cd8b2d5c421ef67e1386778cf05b9a18867271d89a45fb5804f091fa0b1cc8f5c2b8265013047b8c09dc04db842a0882e3700bf90817eb0462b51402e1febf4201a5c48a67f0878cbec8cd90008b9a6ae45de8995fe8940dd3535bb00eb60b4da4b8a4f0d8d4d90d790eb68a2a6735d6332953687a24172efa9d29c38caa0a54506951c38bb6dca03c77587af62a0ef223608cfcbfefcf63f02c87a537d2b823df4fa99748f0e58c611bf158039785e1c5822ed099b61f04fdf83497260fe23bb997869252fc91d180c30c71bb96be85aaa828e484272df06045e0bc37340d7d201eec34dbb96c458a531d9f7b14e0b99091b608cb26b08b4acc19aee8f3ddb39f35812f504a1c84e43d21a0b679ece3d30cdc1c78d51f02b721f65cc4e8a43403e54874bdc676617ce04b13eae6ca141f599049447ebab1d804b183159e5b1d0946fb8abe1e32691bdc573272214462b757eea0799ea89b622dc7db184f9c2ef690b87bc1f61f487a33a00d7a0edf145ceac31e64b2669bc93b5601c0890ef3dab3251f97f276cee01dcfc4640219822d5c9fb5cd6bbb46f16c5e87e3e311fbbfea0e1952bb0b62e3b52bd2c91fc3816f912fec030017411984986b0a87500a7c8bb1f710f48d82f073185d392f5a6f8a27baff294f68e0532e8d3c5d82eafd3287b9d256665a296104558e8ee6e1010a10d37b98c66abbd83b1dd94dd4892b58c787ae90b864ef26f5e78d24847c2aedb2af40c4c5728b08f7e209f9afff9af8385c77661c571777de844852a4144e51f8020562e41eda9494687b6e58bec3322cb06cee88654a701606971cafe5a2887b50cf8f75868c5fad3dd1ea91b695ec2363d7867f67ce4443c03c40fbb87a1ff5cd92ab0ab76b5344be27dd498cdc5aecd9633472dab4a5f010d7438f22919eb1be963a4a970a71aaa6bfcd6752e635f93225561a3eb7daf30a64521ba404804b0cbdff2a9d20e05ad713ce076959d237c745adb4dfc54b2482fa7975f91b35a10c2e51d6ec46360650dabc2f21a8be25a5b45e7a0eb9f856d344b8c3c241f78c470df243d0dc295875fe3481ea54ea9e8eaf4e0c29304f2b65886e7410a7f9bc4511e28e4e7f1f9248ba4c356194354b86bce538c354297a6c4e43f2fc1ae860a6dbfd88f3a44f29e2c2b093d0079130dd5fb072da031e43e9f6555dd8dc7973ab28dcfdc1a4636df5242403e143a59ff747271045e30c8c0e582945ecafbff0480a1f530566d27c58aae3ff61b7e4046eca098f3dabefc9b8e27f34353d2a645c82b2b45b3e8593ae68a46b8381d8da1f8e6fb432f49209dcf98c54755119479299e0d43a5dfa2524248c27cf1325de4314d346707bc28438fde41d262c10098cf3a88fa9e1529bd2174db6bac2a6ad4f4c9a7df738b5b1d26ea0cd780f273d2215851b77a66b11de1dbd33c46cc47f2b73b0f92c5d17b28b4de6773edc33403dc3a19184f5c2a57d978917f1d98d253518c336e362923d3fb4bb5a984d02e9fca1b4817d4c62416abca211534a2ffa990c436300e8b3d2f25e21e87ab86be42c72fb94e9af606d0570bb1aff73d3b0318490c12ca36676d4ed64941f13c3f5f1c07d942703c7dc39ba28d8f3cc5e126fd15dfac82b386550c555a8c705074e9c5905141c08b92f9430be06f4ce0a50a999de6c17315b3868cd39e4bf3b435fd73e9d8317dc6e1c9d63d70c44fcaf191388f47a0dfcd28cb8f3d62e58da912405b9d06662409a4a589ac581f50820bee4f7cba90fa8de1603508fa9a33b1090a9d0d4c2d81b4f34e3959a920ad587cba09912f4454d922abd700f78b9d18731631318bec615b0932204cb683246f823a3c8d5cc15dea300fef76ab6f72485e711c148d7ac82ab0d7714d839fa61cb3d0f470cfc8ab48460fa1ec0ac4f81994311e8d4a482735f967e5309ec81109f33a888d4fef50d5cb513f4de82d73cd70c94a04652794eefa75fb8e5c0c6e25a542e0f6ba060c7501160d621fdb2a035fd65cdb0d1b82a34a57772c3917d19974349500b73aa6515db1de456cf59f959182e877fea0a30aba271709f182bb988da6eac437a950bd185bffd6318dfe42bc48ef613f2bd37952b972a2e26b1a5dc216c3c6e14ab48d771fd288aef704e507bb03fbd8f339a9701bfacec202fce7a0db384de4c69a9dfd8b66ea6d31b34c1c9ae0f2356bfc17ac6879fd96d29affc14c95f1898a21c7e6e7fcdbd32e776ddf84ecad348535023793ebcc60b7f83bc527780bd0c1c8c4c9a7f1460463624b909441a2a9ca4f25aa26d0c55980c574e700febaccc313ad1a1b36e94284a8b7ced84ef44855de079d88c1370c771ee4cbf13c484214b390564733fecc2224cb562944d2da240b98dce9b6709ffd9b3a2e1ca20baae2a81e75f3bbe9d5b158585c0856c3b834c062edde2955d8d757cc8957e9a3cb04f4d056b0f70ee8bd9ac471663c907e7ce041e7749cbb726a4c891806aec89a71e9327360a4f60be5f709fa306f16a29b3149edd0a74b86bf93191bda7bc65ff823ff2d427c1247f78b60e237e911ffcd876d7035125ee2ad061221041408d00d204b7d7786ee970ea7fef0759883ced51368bce9c38f19733015a9ceef95dd571e6d8a9a3b173413a078f5f52305cea38048997a21a54649db709543aa331820c07f92abd162df34a429a04054276dbb135a92ddcbbd2aee881d89ff0b2ab55902d909bfe0edbc4f67d757939309905dfb17808b34920f7993a89b181b35a53e32bc02fbe871c3604c098e067e6fa222166d8f21ad594c86f606a953883948ce368ae654b007ecf1826bbe05cd5977342539772034c1d0976e6f61979fdca54e70b3999e7fc77b650c34b0ea4cf7cdd56f8b124329303357b214689fb3a77ffaceb541f15ec4fb5f64a8330c7df42daa1eb1d0f306f4d9677806b59dbe3465b5cfb59218a3c4a7a95cb5cd0a4af04c2f597d42fe1268bee2c433bd7b1c1004a94f4934454e252b42102929294ea0c39202dbc8273baecd64f00f961e41978789c55efa67c47681143d1314318c02e89806d313ac7d9cf14a87813cf59daaf31bff2baed71d3d80d6f4dd91bea91218077304a43e98f9774a2d18591cba3bbd263005ea53a58e22cb0aa4db5231abf3ae543ebd325dc8839d69b1a1a96e9b4afd12c8f36800a4e58f16726439a258a0c9998454bef94fc6136bf461abfdce079d6753e08946312b93998ff6cc0bc6d34515aa1ad04f9608dfd6f0c13d63c79456563f26d8ae4e5b9e94310581af8a322efca7007e89ab7d377bb5becba2b7e7ff07b4a9284c7c28d7de980a16f0a55a86229c56ea02ef09c690d5eac405184d18671ebc1afb6f0883754715253111dccb577a8850c6385733e8a489510002bb87486de087a9dbe89d7ef421ded4d77f6ef05380b3bce5abc69d964b110f66696d503d9d4e7f55ad7b4098098d8efd46ac61d407befe7383e21430ba064511aa6d5726b897e1003430059fd2dce9530cd51910c44120eef241df8818741d2876d8d75ef091901b6470151a9ee60db88eace91a8aa3f5e0611e8ca4399177006513f5021fd572a9f3c2aca00a35ed178dc286fb0e2037d3b86b973bba8fc33a5404bc08af57beaaeb816e4ea61351fd4f5a58424f5cf380078c4bac0999d8ab759efffd44313bc88254456b4b300feec61e294f0a44a1fd17892822c8136359fc2cd84a75e5f4cd9b8259a49ffb7db08091759b83ed571cbb7463e3cc9bdf6c4bbdb6b386502896c543a893c8f0fec21459da876d691a5f55742d6074cd506d08059f3d68c80f0999a375b6df825cee399e0cacf5c2868fd5234d21338a91e08bcfb3b9cd291e8272e471e7d685e816f1f3a1134168429b64e34697b1462c15530be5ba5e581e4fb06c440bf73d6b82f9c5db34588e1155b44face4b27d4c46fd72357593ef7b6514419da92b4a7d94e289820ecf5f4cd1b3a1b57a16fa669f835e5f8d5b861665783c4495f0b6d4b2ec1bd019be4a7cad47afd8b299ba6d3ffcbe68d6f0bdab7261bae899cd99b5deca7c3d1ba42f9297516708dcea8e9c272ae46b79d6ddebec4f8a0357ce6e99b9369200125477750a37f0849125c47743da88710e1ef91758b010445fe9bf89c304766baf39630cf97def38a4eb7a2eb50992a34ca143cf302d8f487aec3e60c55d434f858eb46ea961ee6a69c83e2f0bef0c3acfbc6996184cbe82fd76e2d2d084bc47f56aee2497c02e4db23c6069d2389c8fff2718da7165a2f6da369dbec1bf9cb3156d7966d8f3207cc07e968d208d49b0e26aa1a7a93467e6c1933db135a7b76b074c2d601ed0bdf034e5b85cfc429bd1df4aaddd73805a04721f2d6de06404bd9d36d81c895d284b21f843b84bc9037f3e5c51d43bdcbf50267c6401e07758378fe78f7b97c819567828a26769265fa863bd6c318158ceb53eac01cdd9b58e8dbe2cebf43bf72e28c1859079df0e9b1ba1dd66f5177835324591dcf2a80520043d82223923aba7d3cb98a8f9569efc26f974d77a4602b358795f4c044b2f9e55f19ea981bacb08d3ff5bb1e9c30035f0770c675f6074c6c85760c1d674f63b5008dddf074631e066525e6558c0dcf5ed159f497a6790f3ec442802e5c1a3db1827a606b3c4aa56f4a5b1c830d45464f32f90f1ff4cd091f6bc9af03239c123768a5f2ce630749a1e272a66237820b8335a1258d7bbdac79a5776d07696400cdd27299af1deb8041bb1ed3c3787bb28107bbce2386ee7381dfd77f96c8d5ef18f402904c2612a97a574988454e50834c350d0b3e1609ee68687eb7c710eae41528308a5859fd790183eb9378a43a141c6b60216cd21f2714037b505b12b5eeb6296b2d8745dbc129ce67f0420f303a8b1824a5b977edd5d4b3e3675196934a6a95db7e43870774a412a6771efe9e07534c0517dc1159f440747ba9c7c12432519124855609ef28350a44d82d5522d86921f46b91e7ed32089448f61b451fee44c6a0d128f9578a0b722775ca8726b39f303dc2a171c3b6b55f645b46f8326d064fe2c927cef9c48c79449dab182db48eb05155b021e644f3147b0d2b0b4216d04aa41957b5ca8ffff25b88294fed40d7012f77d8ec0e3787ed05666243cead3c882b2210e57884ad643ed26db520f5152d88c9ef65fe6df87f931f68ef4b5cea339eba87235b94ce2804d86d8e9bf7a974885b8d3e0d15f20a9bee5e097f48d8ed5007a1717c194a54b8bd40b5326036d441854c0c47af4b00faaf143faae02521c0a10a426f470fb4be8b447160436653b0da0c5312e00d920eb42db20a79f570cf29f4976216d39e371a0aeaaecb21db7fe9cefffaeffb8c3014b13c78254e1fa0a084a2410dd1dfc1c86b52565bd5887a003e3fcbb0d09a0650e9671f69de5ccb91695d3bf2abc42396f31e7de295aa46731ba35dba213b534dd3cc562399ee7ff05daf57c2ef61803fee10307ba80c2d176e111d8182deb7033939b6577060823892afe911b8bde6eed2ac2d6461570c7d82fa4f2ad25d2f198ab0fda472a74b9dff3c2ea44578150768d0d055911487671ec35482fa698622a792a3e6cf1286095c058ecbbf8aa45cb204ceeb2f5e4a40be12e275d92479d7c776206ebde92ac3187a9c6cfc0790d32b056094a358286d44fcc61cd1272afdbbe2b5a08ddc043e07d52a08eaf6460437f9f512b1182ccef5fb5386411bb9be54af77cbecd57ee8eb14c772fd61650a51ff6aaaf7c533a463b10a19004398f3bd7cc3bb81a392f447c1cd4eb4763233f64ee5b4161ae3118e2e5900633306223101a125672c89d0b07321b141dcaea9124021bf56509ebb9aa72b16d1bbc7d47a851fd9c140a3c55607439ce70841dc7c4e5263d916810a815b5d7033c65916a3efcd679094a8c099967d01f63b308895e312c48636dd090d6460a5f72113dbec6bd9befdd730f8383670bf610b6c7064dfa036ebb4422e10859734bf521775a88e99e8e45476811311c2692d24ab6058f64fe7e7e6ceea6ad607c1e9a34e3e5fc22692b5e8439728cc2494fa23bdb50d3f42aa4bebdb6f7ae6dcef95f974903c200c7d8979993ccec76b986791c798b5102550921c3cc96c7dd800051e620df22dd34ca66466a31a0f6d4b4e91ff70de158a8a8e6312d5a227f6ef853e943de9b85fac9de547d4d11749c6e8b225daba957df817274051bf2354630193a74c6ad5bc0ef76ed4d50d19e5995fb3283f3fa4b3d243f8e4bb8823c247b5dcd56d6b7af5e8a7a242ae3c546eb978147fc3bfc6e467df5032d617fa54deac88d8776f7857bae09a62956af45a466ecdec692548c75837f8a4e2bb8c0c05d8dea18b5f36f73ae4ec6b6c53af09b0de0bd1d7fb69dcb52dc2cf628a19fda33db1854b66a74f503905bd9ee64fe2bdcabd5e36d03ad9020111e142c89b833f47492a98309142c4b0cc693f30aa5042dafb68e6cfb841074f600d86088934c629efa9327a945e94d76972671f9eccd00906381d1d18a64773c665281fe177cc5b25ba5cb7ee3667c2fd61f8656569b99487e16dd594c75a98c1a88ea2a7d3dfa6ca83b9c925d33cb7e658e7cd3ec291914c7f98f141de1b9ecb2fa9c2cc70314afe1e651798aa53dcef984c2e6686dfd6894203dccc8860ab14317080f4547b15ea697c169ed8b2585c4de2fc8139f9d93e59ace1cab013c80b325056b20e443c2361fa7e92e539b64f53957bc113358f704dc5505d008244665dc9c7435b9b3679fc2da7c29c6d8c1c15a642a7fa1a1b2b9fc4f2702db1feda98123e139d599aa625c79de84bba165929d9a03b15af6b7aeb59444704e2aa8e0e4f82072881e77deff4668541d71f20242c411ea65fcaed14c6b0a32331c1154ceb971008caa60ffcce2ba6ff0bb064dccf4b7b8d90d1d41ceabc45d391920f958e804b37c1bc9977d0e8d1db448b65c7e00bfe1280ae582d86ae6511ba0dbb55969e8620335ca2147eb1124d7eab7de2050ff4695bb8eac395f72032c481584ba7fbc30f1c59a9e53fa00714c9dd10b05a6ea11a0acad95dd63b9ca111d99b281c3d2a60240dcd2f489c38d5d10d14c315bfa6284e2c835f65516a94c9ee8864365a0d3c42ec633747bb4d9e612c751764a684bea9c74e976bd4543e12e8adca34715ad3207da746a5531155fee14b2e0840bc92f0e83c6e7041796326100a1de098139f9ed0ec2c319bcd5f40adad69fc77a1341f46207a0e3c14f529dbb58cf220ad30b62b11e388dc5634e69976cb574710701cea54574e3ef4207acf626623bb9731249b9b5c5f34dbb226d9d7edd8cb5d703c6e4cfd6648a9c9d9fcd18fdc95e17edcad90e3d6cf02d7215a5465ad384fc60bbd6cd02c42ec95b98c66d049f5d2b3d485d214202a49a34842fd724024ce445a27418d084db1008685d835b108bef7af66193709a69a49ae857a68e00e6880e7e2fd08ee0af03125fd90b9a51ac2b0c8f99d00a5a8fe5e586eb637bc1a6c1e23bb921eb40c963d7c59757246efd9c4481a4112e2b5dcd1d812736d9da4e4b15141ba9ac78f82c865195d19a55b318159d79d952debbb13fb0ee56240aa3d7f5359ca5a1034b73d5da6197e615924673497c0699361498c2387014acc1e4bd731172f0078e2ed7dbeba6b57a7f54a06025d4f591df2d75d8eff0b726d8f25cf86f1d54fbdcc6073ccd45d809b0fc28dd8e8a54ff8585ce3e20d09a9d02ede01f74fc9f663614019cccc1c7da2252b2607ece4554e1b9f2c76ec68b9c46a4ce14c8f0b72a09bcdf2c2ce40b35f91067a86d768a1f993810d35caff63c05fa9eb4550322a05fcc4c7cf0e0ba72e4d9243b8d1ebc5ce9a245fde7cf48de7e27444697f15a1e026ab3762def839217eaf821653ae320ed07c24b4f305a117dd14a480b1a637824dd8eadc4df9c60fec7ae05409f704f1dae16bb2c40288dcb73edf34db5ea3422e54da1e88a45f36ad0d8f2d3df9f5aaf7a66fb2ca5d386f47df9bfd18de53e12b93b22200cf2b0df562ef03bcfa539b5abf0b03f50b91dff821eac10df5d7c83363233cd397bbbdb9fc39268bde4bb8eff8dc9433b553da0b50d7bc872e81d336e437663cc4af5356145c1250dc71791cace6e5a35988a3e223e1581cd61878d875092fcba13c0e33010cbde068b400d64727a2204c00a674b49f9c803539baab07a2c2f3590b9c6c9a5bcc9f14f2b51a3efea98f0710c4b3d9e7959fb602e354c2f1ff42c3f1581d95989df58cb68819f046f6a64b7f48c990947941290ecb54a350628dcf74564607f1832d477af7820ebe9727540a8df0abee865067e74ab03131923c76de68b9a1fe7af19d8ede7942187d0f5dce57681dd4e911e5bdbc5f7b7bd6358e149064bbd09bb008af4fc8e53df4bfcb6b5fde357632ded795e553f695b7e4d279eeeec9c6ff436bf8200e0f65a1b7ca94b9e7fc0de94f41b41b52da0583c869c3d4e0b9524d0934e2cb513176c4fd50b660458e012e88f954355d42cc5fa6ad1d72457051946dfd7c5a762f03dfc195a1d3e2c0cfcf15c567b47c2393a13ef2d55aff12bae703b75282f0005460f9a738b27f2c1b8dd3cf08424f79e1f2cc2b9052391dbd4fc004b31a56c794cc71e4739c5199a59634e964c54c83faaae2e17e2426b92fe8901e3114f3462955d3581d7dea19842f50e35c747fdcb31a4d94e1b1fdd32620089e47cc410270c9156ad995ef67d9ebc994f597a73b0952e690b672778ce520f7f4db51ae96130da00e28e4000cf80073907e168ff835e9e81aecf825e1adc0f9a972a6113eb8373ba870d9637a27397c9c08040c856791f6ab9b309e5b7dac5aaeafadf32b711d7a96fb9d6436b22061130e9e73a16208c6c66d3e56d3e21b98152407acc4bf6c0573dd43aa812d5d9b7c210286dfa8b5fd128f1c53b2f9e8006e234f1d97d4d4ac93638e2034e574659b53c600a9ff935ae87640886e9d65d22fd1faef504e368a2093a0afea639ae91228b68fc8d5d281e22f0b02bc1167298a6b83a938955e81b3e44ec716ff371df89c63461ea5755f74d4da0ddccfb35be687b2b1fbfc78b2a98600787c15cdb7b163bac9ca47077fc19d72c9d0ee5d498e963e5125ef00f006db0bb01bdd8f2c26bed20655b72d17dd926bd5bd5557e7a3a2e42f6dc25c3adb3fd01a736f45de8a0232fe96ab94ccc346d29a12a9c7adf66b21d3646ee0e71c94e073db898be5b23c392fdfc09cc3a6617b060cba5a7df355019770866e1d7bb4405a3e60b72a14478effc3aea89e459e2a84f46f3647e335149c723c85c2a1c5b1056a410b707a75c21f0448c390c20b6fc118c2546effaabdd287e010f4ebacf87d5a53b916f9033c4e344409234785da10d042eb5242e075a191169341187b925952029defc387bd29747868ceed49d137bf7c888181cf9d8999f5cc9d75f7da0ad3193fd5d5ca0fef5362add45ee227c5a8f21a0d70a51ede71704ab9da51a4aca01dd812f102c6608abf649619300793f2ab4dca7ce4692653a3be0a5e0b5e9bae838bb6e4f69c02cf2c45deff3d5071142fdcfcceeb5da4dc510c8d0eede67ad0aff0acbd895e149e4cd2ed1902a52d04279d4e141fef5659fda3c36525d634f97cd132575a057337f644a2a77a94e7e1ce88b380d0ba87303543e418aaf42f214a3ddd195deaf087c4a4145f31fc9a266796582e75ec0cc576982b27e7c6820d11cbf43a1b46fa71de83a6865f87836ab930c770b16d698bca0e389e1890ccf0d1e0c288788a164daed3957c34fcdc552e95e313c5d2034aa30ff0d434a1613b5938d3dcff66fad4411a2d246096f8878bb486c3684735f21891a10beba34413a328113e2844fba6012cec6c736df8b39f72061829a51f2d3ea652897b6de85eb71a463f9007bb841be072d4be7db6c5c1d060b2bbcf2976db0e8dcf3c770a3cb9b63923aab85c07dced94662e5ff1bc662acfccb5c75da40eb71713e40bb8855ca7856d554a87924e59865bea6d4f6d348df709dfadeaab20854475c75f583212c005b3dab7104b2c5779d45767258c1e4fa1afd2c52022ffdf8a369f3196dceda272907a255d8308f5060d305b3c53caa213f45bb7630c0e6bf10880e74dc0e55d6ace4b4713a704598beca85f1e9e0d44b99b20564ad857ef6f8f9fea01f2df5657f64200b81751e72fe43f11976c5c08a5d86d600a09608ab5ec168563c689d2968cb2d2740fa24edd233e10c54745c5ad164bd9b147b9ef6a54d833f4169695b566e87629356f45ba3be69863f6d6b2264adda2e851992755a77d0e484e7a7a9a368d952f4b2af4fbf1c8d77eed04ebca610be07f69d4ffe273318c115b9f30359bf6b099a2903667e8b80fe12dd8f46b2abb8d9adbb838fdcabe585d7211330498d2a63750f0635b2ace2f71db05739d8a79a62f3fb290cca0c5c2826d87c24fd4b1c64acaf0f57a2bd84161684fd1f898274f107fc683f9b0171af1ab855161144f7919d3ffca846a7951d089472f1ebfc92da2fa827a1157a1f0986707def9d938139e91f03f23bf9b50ae124f46f09afc938740ead7149c2cda4125cfbf3221a1c20cbd9a8142e346e5ffd020b263be4a7a13611c7871a504d15fc346800793bee4b64fda1fd8cf472b09e0852c00e923df22529b803bc119229ad8319cb1e71b9aa7495bdfbbe45465e4c0d189d49b72b0e15e141554bf45e87a870c0e67dde1c84a881adbd12ba606e738dea1203adf7a5e548918f24110f24eaeab2888da98fb899a9eee39be5646e89084b5752f6496df3a9e48eb602f23107f30ae449080e3772694eed2e63025a65c0ca07cf1e70899b0cbd91e0107d3a970391efc890b3492d96722b0d5606ee58a4f491cca5dbc3ebf1643100d6770e0f5ad64cf1ca126570d398ff32ec50f6143d47f0d175136caba530c1aa416aa55331eff0c92ac80cfc8197e67a28d42a2794fab244812e47009a07aaff9367965640ab370c066665406357ad5165bd82f1863c0d7d5129632b9247a5d7834c16f4bcbe7e22094107a0896fc941067a48ce09600aafc39792ba5e5a536692f01d429bd7026cbf210fceebfadb2728bead85997cc9668fd47893af3f179d218cb5c14198497c8cee9053c0e3de168c3355d530c9775c8525bfa50f05689267770c4ba1c4165780ef8fd492ec3fa49dbb64f4b932ddcf390cacf68d1aa4ce5cde9086d528a8888a4faaff2407a9fbfe207a6ecb4918c5c753acf55a305f206b2c8dcc52e26f94f87abcf2fda62effc827aad08fdcf3e6e3955f342c233150d75d270c78c81d19596f53ffa3852ab753cb39ee6722cecb79563cfd218996530b29e348e412b0c7105b62b0ccd0ab8fe50198a5cc9169c4322bdaab6a5b80a482b537afdb63191ec4871b8a1db974077bbfe33a1497923d55eab9276d93988545a6e8c2952fce912b1a4950d04ec10c1f66ea45354c1c9f0c60e0a2699ae22256c86e2e21eed6dd3a0cf5b9e169f291d5982cf5fb94cccab5f6ead0d63db6e58e5522a583706bbcc4ab3b02824e5eed65cb90fdd8c953494d1a9dc13f77c6eae562bfea8a9c190723a73cc42144cb0464774cebc3fb90da65e1f44595d2ae32b14649345614769e0a954ba0eea0aa7ed13ee369a1f74ec308c5640115ef13781d85846158c0c111adedc34089dfbefbc935f439b37e2b85b8e23ea6aa0e2a97cdee8d82c53791899a2d8b7af222422e8280bb68eb296bdb80c195dc346102da59ed14f91dc56069535a39875eb98606a52120e6c283e1514d82038d42aa486755ee689996c44bae639a4da133eeee2c0db6f3073ddc6f895067314da98c27bc3a79e0f2b61dc22e788c931735cd1471ae79d9cceba2400844bb2255877b23885296c4a77bf1416b53aa4fb0a7663eb9d70a0f7be5ac2a14e4d97d9b2058014e2708be3669bb2971b433b45221593ca045d583464ba4bdfc6623ad91ced089992c0720ce75c1eb032809130980afd6be497f4dc38bb0b23655be4348f7447705ecf80dc9b10753d6d4908c909b5927073ce49b7d644537de0388c30c7d21fb6454fe3a17e3d4f582233a4e4e6fc8dfdbac14ae3968a03eef5520b4d06b71e23527688e3a59be78b5dccfece650075cd6b61be2516715aea9ba7fe8fde9a882271c83ef61ba82f98383d8dc8eb0f5791c71d16709dfc3d65647d9ac3f9c127a14ab859ab44fba35fa63602364374a83652e78c432cff8aee036cd07ecf03374da6e00113738a0897d7546eea335fed48dc399e1c50f6fafd0327760eb30bdff6417df22d71d3ec7eaec0fc25e3ca104087588e86ca207b205427d79b399759c917a25b472175be12b10e559f81ef4f85af3c4efde4b1c6aeed4d5cbb6e553e044ccb311e593333710d30997f156b90272f14cbca5517ad00891be7f0da41b3320bc3ca90e2b73a1a1d73928b0d7a5b836e0c45bcad3feb34474814a6b6ee558b850cbc46f1619ec5dff36241a78ea375300dcc78f86fa4832b4bc71b08490b5e83735c49e27b056e366feb8f4be2acc08825da0c133ba3cc7c3490b65191fc7ef2d30b6c25e5058902682052ab061e897e9c677ffaf7a4b672f596455cd760e0be42569791d500028493ee05a1878784608e8aa041d427ede9d5b49ceb7bc95ceaf2763b7e53c27f54f7443ced68104fcb723f515f140a15dc3a6855ab62239e5eff4143042fe30d7e04d34dde88e5edf180e2dabaa51b154ec90435bb6e5ebf9acb20177fc89be505c0832853dff84497dfdd4502dbdc840294bf585bab849e004e61d056b44d31847438c5e6314bccadb35fe8c79604398500ff32a300eecde6740ad996ce8d9e898b6fb664185449a4b257355e04334323cd8f7bfff3c2d621ca52888dab0e1eb7d028528b30eb8fce19828328d4b1a6f664588eeaaa693cfd3a90a55aa8daad517db7737b42dbba962acbdb733f1eff6636c895845d8d97040127e10fe198d8b96fa37c22aa58b6277e4492d4cf1285cf88ec710466e69d6ee254808601fc7dddfecf29461da237f1126f1a7ef6f5d2c265c156c1979818533f713795d230d183b0874beef58ec62f9f250ee04826520f91cbb898287e00fa4e400be98c2072c39ca697076ef56397107a2de90eb946845c1f91f2f2476e43eb6a6871eb574804712a6bd34b93cf7b08eb3996c6a0df7cec05b91ac84bf78bdac6fd3cc78684cb76cf1caead26d09e73a8cf099e0e0c25d28b140141eb90c0443a96cfacffb9f709ea86d8a757722d50be1673cc9cfbdf53c03e773b55c84094c6e4d3e3dc2b9a4d3609054739eb0e848591fb45ff5521cd1a457a924c7bb1f9501a36640b31db8b8936a0872634bd3f6a74babe76e9d893074c083a6b28c28e4a5a6fd5c699a405b136ecbd79aca397709ef07bc95a78a920d0a61616b1e66522362147d039de8651692986bc985e4a246d48cbb77d1bcd3f0ea29ab7cf5ea96bac48b3a6e99b13210cfa1f8135869eb5517370681ee641a43c1d92bf24348a55de40304992059ed8fd5ba127b84aa2249011ad3324fa782eb70d15e5dee392df838a481858592d20eb5faa0abfc80baabc0edfaf9169405774677bca3e97b1abef2159272b2b5b81043e2ffb97e25d37778ae06a7d94935fc32cdb7d2173589a59a18bb4ba693e9918d6d7609045c23bc32f45f1595b2f08dbceb8383404fb509d76b9711a3c97e5136400e549ec913a49ea7ad830fbcd8fd03e2393d89460c0f5af54618228df510c15608ce66601a69862c45cba95355cc71914000a013f1359645ce7c508e5c02e2025974468e414f4302e4323e1555585168bbc638b032665ad32d766815549b69e3d368938b2179a2e974e51c11acc94a55021c5a3ac7fbef9a0ab22432dab8f18df4037c45eff13bd25af0295140be3ab730be8ba2920c7e07418300667dfc910d6bc532b0e95ee8bbb0d962e4c84d614cead14c3b29747bd9a7c38686be9fa24ae12360314357b65f4a8870ff68ce542e2242d4746381417c3cab228aeabdc5b4dbb4f05ef0f7cc55fc55265fb2811bbc4c9b8f2a7412f7c37737cba01fe39dc3dd5bdef288d7e27db5db73368cacbbd5c2bc2b676e379b5d681094f2f493b902a6157b5260dce7de09007ef9c17143ed6299da54bbc944383c4ba99d56f9b86b4f28318f119b4e9285b69c597f4f6fd3703dd31d66e812ec8979df1ac2bac16da4c28e478c0df59efbd5f35cdb8ab7ec8a94ef62a3e61b1d18ecf2a7c1a3779b240c9757ede46e6706ae00b6d8810345a0096aec2d99eceee910e4db33929685be20792f7fb9a2cdf27fc384e534cb256beff4a92d5eddd2768d147fb888dd113b258f68baa5c67aa3f6584edf4eb745fd90a4302f00bb3b74fa7ca679052f4ba843768534e30167c94aa20f818ca442c982978482da30692887c4b7bd683286b419dd95dec77f8cca6ed438a003d7e0313aa6967d43fffd0136522116039fb9960c49b9755e9b54f739bed2bb97468218528b16f1f24e8129e56134f7675c33af10d5b856f6056248b232a691dd83800e4da6d619040464aa0cb2aaaaae40431cf681f84b244ac3a4654350bda3298fa12d077548640c48955befbcfa12ec681c9f75d96ce357a33517b2acbc7824746c4f157706b4b49303bd6d76004fb01fe1cbab24fad9e0de59a45682fa23c122d4df849babdd59ed4a849ba705e2edb861417456654ba93fa16c53aa1a00ba748b338253d903710a42c0980fe70b8b8c4f3ae610eeef84435d8c863184a6f5a0aac0d5d51d7bce43b715f763aa6ad3cc568ec36ee6551f737ea5c871361328e6e230efe0bd152395a34e43b2b9dc8e412ef0527afd277f5b0d1b12c2f67995efc49982e2c3e1f7a654479cbfedeafe17ac0e3e21067c4317f72ad7a509a41337b351bf3ce573efdf950a722b4ba416eb6ea441818792c31ffd942ae823c47cbe9d04051bb5de02df8cea1ad8520126554669001cf0349c11bb3e78cf19aa1027a1886343f7c788c07a0f96ad0a22b389421c706fc38b0b2b69b290b2f4ecddabd6ee9f8dd89e7aba681366138ee90fc8e53eea7079328653112113b14b05d55ef1356e274f43c2cfe918e22e4f08aa73c4432f2d1fc780634fc67a2175d43b5a8d4cc7721b62084883869cb3af4d88f7fe3f9e5fa6279cec39759cb90a65350d12cbd81ddcc48c80416c7602ced83876068a1deb479048310674ac08a78c8e6dd2e88c1dcef26c714c9eb62266ea6e6642d7d114d5c5f1282553cd34b846c9c255193f0e39daa1bb1ff97bba09ad0d244bf5fe549c3b37da0b47b4e7980211191121857e59520a4217897592f3c2e37c5ef41e4a6f91d6b923e2f5d132427ec8d6e55e5653a9b13f7c738bba994d272e0e8c95a49136c71569f3de4278b39c928f00b83daf68377754ed72077749bca723f6a18ec1b75e873b1c890991cc3b8055231fa322f768c44b7e3d5b75d84c66842457f87ede526d7ea5aaa7799d32ab42c6e0ba5cb9fdd0ef5258257f88a1123268f739eb06eae0951971f67431221e757a7f3dd17ccded529d8f272d1375a455a97000b411b2a91a11470372d0c015525e4a351559f88f3c62e0599c59336baea4bdb80fc476c46b9f54094dcb32a5f78def93856942683f2be534807e1505bc4f55ea9c3738e703a579af8829d09c30fd8daa7d8625ce207a6c04a22cc14962e86a2209c4688a756aed21adaa26723fe63d3b5b0ed94cd7758651eb264ccba9d042e189acddfd926ea7b7f2ec8ecb46328fc76b070f906c3e73262ce4261a293aec31dd81bb4d240aaf8470b96d097b40da3ae0af4566296a2db10de13dfcd465aeb2b0842646ead274bbd109a4018b00bef49245efd9199c730c776a6835780988319ccafc4cacd1452cb1e9de3b67678ef42241a856f8737a390ec02ae190976f3159b392f3612a6cbee7a2428011fc7b843f0f5788af9f2dbd72e8b98511e612da52ef8a9d6e2f76f920dbd39a41cbdc9fbe7086267d63938a434b0c569a0a4d9d81f7cef44d8cadc3efa1f676f69c700cee0c98b3f4ced25b13d6525c85da22f8fe249119d8ac2d11d94aeb1bea6bbe796505c230bc9116b4b5c8c1d6d92e2a0d0413ff0e88c7756c662214afd7332d12cc1cadb1460abe32491013af1bd1c052e60020dd687d74f59f226d31a28bbb087032f7d365e5b9e44cf797d34eee23f3f281eaa413caadb2cde86d6a10d3ae2daa891ee322f5c5bdbf34394de2b55c71a75fe6ebb7a0e35d27a36a1af3503f591f42b1a8aecbf08c3c5b9cc89ea0499258ff6a28f7723ce71043f92f137ee56b26d5c92b6b15a1504ec07213ca177f33e944c21c9f9fc6569c2e2cb49b4c768e967e37b16b8234a563b02b0c7384dc5ac07e6cf293f532d72fc735b756fba2aa1765d013ed8c8091c7a60059f9cc0e418e53418916768f3b3d67cf5e4979384a2accc5b5c72c1b587f24d04dd8345f10870e14fd39b60111e0215837331605a7ef18f3a3d2f583f1edeebd32679191c3fd3465d2b7cefe7ffe29773aab08365767974103319288a3a5d4839dd29f1639a90694c2f9900f10fcfd181e958b9ad84bcde6a6c6c3e654a47273bc9841cccb284e12a9ae843c43673c232c1546612a17da39876d11301d04cd9878a6b1111668c2ca0df112c6dfd4537b767e75374d289e6418dd6d3d83ac31298666745a28e16af4df638359020af38be095b2c963a1e77849c68edbb92e897d90e3a240e6769947b3fd5f3faa82af37e72db9b4737c5d83379c27b390e4bb1e7fbef75a0c611f637e01dc8be925052d34b1acd0586fae569685dab0486c23cfa172c3b63b222bad0d31006d83d5cad0c35d72bd3fcff266af51a5ab1175ed5a107747f8fd6849a99ac656488dda9c48d0a1d33b4a06b87e95cf08f1ade77ee2edd2f8f56b3c783bcbc5881f055d585a0037bb0e0a852acc163ca294fb93f2a104a7623e4d4212be2616a1fea562138ab8760391875277ed993dda356c675cc5c569a30dcd2d6e7f048c3c0d31b5f3b34cb2a4d3b804236d0a096755ee5e0d16734081cff1f57d0a3174829e694dcc5d676a286bda4a720d513e41cb8db09720e8f8e12b3331723b202ff064cb5a9471349609063b8de3c564724e5da12b2f2facadbebf464bb4775030a3b930b89c4fb0255d70384978b1ede07682489d7335f5fa2341a35aeccc8bf56544b183cf4e6dc8027ce933d0b4a4825faadd60586acec14798131011ba2eb9c8762747d98ac86556849bb580f183f61e3cab5c3d480108d6208e77398e10ab791a1c2c8b19dc9852779f7260613237072c1612ba5208cd0d1055de0efa5479838ad04655ff9d32ea30c65480b8940e43dc5a20a3252ed19a46968d11fb435c575b7d5977797d6ec002432b021db11c046e08a076260a45e234f559ee955153163478cfa8261d507eb8deaa6d213b590050f88a492ab6849e08ff136af0472ed55d00ca7dfe8eeff652a59cf952e8eb3c5dfe2a4f7ba19a7b9dcc3488fe63838fd85537c91fc54dacfd210c767d611817ce33fa81e38e1b8ba9fae595366d709d6293869a35ed0435ff74b1ce75736ea4a0c2dc5ebf27110528b4aa82d1d0928c3a8604898b285dcada72c531132d97f9bcfafc69e63d8eacc3966f86dc7a3324b3db66e577c16a6f850681f162d5c736b02d5a8b267352c18c43a78e61342ecce803250b9fa58325cbfd2f622947b34aa07042839cc7fa9ff6a62594b9043ccd946d365d793f623015c02e35a8e9d0febd0e78dab434561ad702c76f8e7d23560ae412c3594b492f8ce7f511809e80bb99b4c2fc115131e950c4fa03b7ab2ee62a2bcce39b331287043f0544b87eedbb15fefba1583d6fb4fbb0076ef58690d0bdb019343666c1d75b30b60827f8a6bd05e29d984c8c5b86e1d7df0aab34360c8fdbf81a087ca484c79cf53d52bc09203a152eebc0a0f1f42fbc684265dcc4d375a99891e9c4417252d943929bfb6f88b96d0b5f16ecf6c349c3bf0c8e8087f074a96e6627e5482aa81f760330047b5209852c1dd391adad91b13de76a5893cfa7fe8998da52ae611c90e0278f8920891bd98afb2ed26e44b41708fe5f75fa37f516727da3573fced357e3a9fabd9cc927541719f7fdbc602d799354f48540a19488f3919d10089c7de96f5eb93f4f4bb395c4f8b2ae28e28bf7dd666d5da6c441cd6093f56d637d61cb389cfde014da4f5e3045c2d12fa60d30a3048d5139c5177e35ab71050e525bb5d6235fd316b95fe61122d61bcb6398b8a307a7ee7564e15728951e86e249474fd730324aa4736b7e5f72a0e53f139f61755243812946019f4c4f5f12db507049fd15a2a6bb37b9999604b2aa564625dcd4dcf31a988a6ea1a6f8a99901bc3fc9a1fa1f622a1337e57447206bfa86d84c2de275229e29396d259c09007531b276cff9c8f7708a4ca35cc98b50cd9e5caa7ee969ab32b3cc76878bb2ea9696024e418adaea825772d0f3b86bf399aead163e79ccdb0d7a2a559e1b287219c4f63a5b9ce3d98aee391b73356a32831db14780a4546efb6b35381fbbbc87cdb9c206bbfe24b7699248e4bcf32a1cb55d64c3eb92c5f1ea817dbf4c55b0db8a6ba83c8613241a4048e81548641335c43b1f1d1bf985038cc7bbb57289267abd8c901442e16651811c9ce5d9aecbd259755a1861e0cc4e182f3a59af5e28ac17569a7d6ad985443cd4379911e32fa9cc0dbcbb5bd0763ee7232196f8e2d5801538fab84da246ff73e2fe0d9e79508c6d9c464b8c31378811a462856dd7027ecbcecc6f1c8d751f9a4592b37a5cea36a35bbbeb4c433487f5de624118fe92c592f0e92fd7e13d15d16a22e65aee693fd99057be2335734a7c358ebcc89d57eeea9d8cfd34ea490d62b980ad0e4429513eb0a6d7f2d8865f85434b4e58045a134f58fbe4e7673d4ac4e77c12bd9b515f12466d448066b9dce8e8532c615f08a89dc811a3a990ff079d0f59648a056cc8aa4a051a0d19c0d546f7f9364f89cbc067edcadf58f15f7573d281a8b86ab3b30fd9d4d09051ef0c7868f3c8056b1327a8056777539a867d8a997d4f2890d5958c2a4c86a127aa78a235f3bb2b4e84b989dfad3ace8327fb9597bfa97e26828e4ffbdbad89d19e57efb712d1953ff25fa3cf3cbb43fc9e906cb2f6303aed2d5efff3e0d039b9724c9890d55e957ebd9c4f4636838f910b672107275d7e9effe9274cb866ea64011cc4ea853fa180a7d0cfdb084a4b86be41e05f9bd19a693399635d0c4848fa260a070418c37d5929033d6554c6a0e2f636d019a3d6e656d22e1dba459821fb337a5d28e54821a9e2255041efc6da5322966b96baf3be2fab00de8594e97600a25ce1864ec1e1ba607436a5750e42e7759c6464b82319d82c55ea604c6623e52665bb220c375dd817f1d27bcc9e73d5c668bf1fd115bb64248ead109d91324457d07784132cf0412ec1d77690d2111e08d97c8f021076ba1ad869f0dc7b4b697a47de17487c348a9765068e5b504a2dc6bd113352db644d3e41fad48ce1886a9510641e529a51e2b3eb5e62fd90e636eeedc34e2c47a734ef6156fd5a015862d1aecb9958eb3da2ef2f3cc75826c424cadbc3926687000e430b619e22b705fbca49e068a128803d00e447399e7929bfe61bf3c93d37603145f32bbebfabe7e712935ad01649268e1e018d3345d85efea5929b54ec5a63b56898d774e7bd70d044283f84c0c4a0723ada2ea5a5d43e2153610f4826922c112f16073d7848bb57217bd9540846b235a22412acf9fcfa0e318d11d9037bf6d6bdce9f92737ee3e104cd3b4f7cd42f78b00e41eed3dc3c31504fc254101abd28e0baec17ca4d56944269f1c41e26070b3632fcbbdfc23d91d2d5900b618d46f7299f2e40016d3cf0550ae737e4395c733e5959da05ba5310dbbef48470b6ef19c61ad3400730c3b7ff96bf23129ca0dc1864b130fbe248a07e9ead85d6c9dbcf1f0c7c2284968b6b75914c1e40c9da354dfef54ee3e7968cabefd94ec4cd27555c5b5d2abe8c28bc716b3ded506534a1aea627965893e22d0b641ad936ac86dbbc0f3d012f94c56cd9d4d1dbe7da47d2c7501166bd5ef5a6abbd6f7c55b62b35e49faabf266a87c27860f258ead3f3c93223b5bed953b92e3a38a8060a82eb93420815201c9da47b2f3e4b78389868e58bfa044c8fcaaa27c5459b56a25158a663bf9b34242ab656f644e15149d39dd7d246af99c1cc6f14b9fdc5866daa0d16875c8e6bf8f2451d544f730f5995f82575a8fd7985e6bd6d9f179835ab91f87585144d7221b0530879b88a6f456217f535c3454a732a07c8ecae65347cc5b7bcbed215b8c4c538ccc6553efb476c2dfca8e667fc13941d0b99166f73760fa44752bc143e10cd1a9d04c9f5a93c3ede54af2478f28a3b753dde87752cc593d59d860aca606b0fbc978404c9935bc9fdc3494b136c4a490834047a88cf58f5bfbc19052c10d8a00ec485df0b8248755b22af4a0ebe0895a1cbe392d71e5fc2f6e18ed6c697839874b44b5fb85a91a2870bfb49752e2162d977131c6256723e6de865d41f8f3458d1103958d429a4ae43efc9866582bca8a4ef45a77ec6fc2fd4c2cc6ef58273d599dd24d6da98757a8306ce564c85475e91ed4d02e8715b8b989939c2d2687515a2eea110c9f848ddad56552e4a870e8dbe1894de3292c72237beea6a362e9ec377c70fab8760b30bf5f51ea473cdba5f398334393b9f3360512654b552f3d704a1f8d6ae4f15a63efc21d78f965a1ac80677a2ef57bff02592a025f2c7b8a190686f073b1140c676263dd1bcceaae72a0a1fd268f182c51880aa991082432189d4073a9b4699ce0cca66abe415c64e0d44305494907671a5a610a2786a2c46821e094129538f5229fef55202f0925eb36703b0eba68da35b0f9e91dc082087b75346c01786636cdc270588a7f0341371e5c6fda2a7fecaaafc9c89c7403e0a2b03dd51bbbc9bc04fd06786d7bc49056f12272333b841586346d6811043c4f59280d1e5d991fa643768ac1b4893a437baa64ac6e8db0a68375d62a9c1e0efe3320c87fa6f138d5597bfad4fe2340ff878b1f46586ae0a2554b655d348e7c202874a3ad5000e9b8acd4780f6e8eba77beecb421cce8e1c874c466c96a6b5ae87782692641d19a604b7336b3a87250e6edb46bfbec825cba681fa21eed5f57aa98182ea1eaf94deeeb00a255a234fa2dcd8b43a2910a86cc907699c26513e24017b6afc7fa29a33fc45a0f708220804cb981839a0e61bb8a70a268c9299497dcca552cdfe026872f21b4d4bf30db3af79c9e646e0ed7cb65eeff23c714c6f24680b2901b7be7d22ecb742d7679539b25aa261b089f5a3326a51076e5cb0bb85c757307a806f71fecbcf310a26c10ec90951bb2c2276ef8d1fd738adca801495974ddbffa09562f0c820a6d49c2a7c89873a5ae9252bb1dd8b8d161dcb88377f920add0b8721f475ce93ae549c5c87de2bb7d4c076448341656df1b660c84ea693fdd405212d4fd200da560607ec2da1c70d1e893b622616bf86862fefae8f24d234864ed1b61846501d23f720668c78e6f1442700f8f5784cb363e290f420ff17255c0ea5a64f8cd2e8b661756727ca6e1e78d21b4104ef03c2042b66ff17bc506656f8299f2b6c0972907e82d6c896784f48d01297e0843fbddfe5e69e773e528ede7c8fb346b2ce1c1f521c044c65a8550c8a085d2e7433593129399b0c1b022866ff29ec081423e3d8e01509e72d2fe8961d62dd5913a6a40dc01f62f56b051edc8554c67a57516e08ffa05f7600798f05b8e021f131647c7f479b2051eb279e4281b3e1f1d9a55a45c8acdebe8186c9cdb4a78abca35e1c2a5aba26d472dd5df12dd0ca97dc87df98e81e0cf070480475c653cdb7cdfc8f7d20f23caeecdc00d7833798d082ad211fc33baf9633f8fe41ac211ccdea66d8e77009408c00f3fff48cdd1034da847bbe4bce7e8c6394fc0359e492a5dd44e22393c972936929f076888dbc9b29f5ef3160c2869f6861c19864207d4e85c1bd9926ec89d0de0951b9e26741f845e1cf9c8a960a3538d72fc2e707f4b3cac832d734554b1a5ee7ead5d1455fb8d2a3e546080a2375f92dadf4fdf2b3d826d9096af107da77cb1019dd1579dbc487f2c2d6ab9d778985bb234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d5ef86a4225233d8cbbd2ab339dc2b03356a546c11c33cc28f34fa389c61e8e37238d936a029428112de7b927b666a8e0d5df8fe1250f4fd4dd7d5521b36ae87413a1b9408f98875caef47d542d495464781b200690076dba94c8205d945923f1c83b6888c6d3580411885589379958ead1824e51f363402248ab8399bfef04dd76b9eeabbeed7748d4f64fc5fc0ef3d62797250e5563f30b28ad6e47713cd24c848a7eee47d932ee897a733240527c74c1377c2687f9fd465237b3fb20c3c04e4f7ccbabdca927bffafc26167274169b020033b8cc08d4f7776c79bda1118f0bd8f1425c7d2b1a4e1dc11654f13cdab2a156621032742b87eb83ee8753e96ac89b12772f65312bf53abbae08997a0250d9b8387a74e3c04871c26be065a8490302208e4fb34bf2a1b9be1046e0e12ada086d130744e07896cb59861e5dcdcdefd3c985edfe1ec18476cea68d07744df840932bda0681ccda7c7adddf467925a7f3272c71cad2d55cb519b852414e13777960eab42b0eb9a21276232a022ef858755eaf869c1148c9530d766c42294a6543485d51df4b012fca5a93a5d2ad80cd971ce3d2f7e7e1b0febc45453e04a77c4e8f9b85c7c23ba63ad6be5fffa378a1763269a89ffdd9a43bb44f921b6e2ebfa156752342d427f15f4d7e73f43a4ac4a5a37d754ded4fd91b9e7f880a4e5a77849c2e85388ed5512ed12f941a5e564f29464a1fdfcb6100d8cb0728903e62c763fbfaa60cd650aa913c213c854fcd5a75ce7e2bd04623790cb7e21152ad3cc3f5dd46a60d077b2cb60a91c7321d1979c81255b48af995d1dd7bba9124f46f373017a4406e7b742285f2512d8dadfcb3e8a525da4ca7ad321b14acc3d8de3ec65645ded69d4998de21a1b8a1a320c0502254796e2da383af3c185cc88e7969a90a666e4dd6d3414ad46b0eb6fe43c79a956e04d2c311f2277cc29baadef21c7bef3b2888591df7280ac37494f4d6489650b739bc595cc8c0d9c762ec399ae0190cca53b102cc42b61d344f0a01f22caa6e473b203ee9e3291bfbae4c1582afadd088c388f26257f4a8f40ef886427f7fa5d14e5cd4fba4ccca8fdf2c11fe016e151eb3c0d94f3c0e0ae0537adbaf731efcff2ba2285921c45028e8ffb1e7ef5385ff38e98a68386f88aa003fd770237da055205ffa538628ae9059c3d7b43e4376a94882e55dccd8926a0081ab3d449d420c5dd70e08dd24b74ea4ed8d98523deb12950f4b842fd6177ed0a103ec9271c29a3a52b41b796077fc33686c784e871adff23890baa144c4ee7c36b91fb72573522310be07494d43e68bf30eea9ec9e6513b52683f58147462c7aa953190311195aa585735619b356fa8a237bb1a5fafab176de8b9fb6107e25b344ed4d030dd4c8c6cc07f3dfe44a525b36b2b0de98500701aedac5f37248317d092c921d4e3fd67cf63192f144dda304d1eb5bd162ee211e992836ca26cf5538b838b871c096454438835da7817aa8ada6a10506c41ee96c7d1dd97e80ad4c5b003ead72bd29100ffd05d192aeb1803af8f78c73358f88fbb8249184ceacea14395eb4580741bfbed4b4c24a51b6eedeaee5786370b2277eab70857ba8675f3c7292b264acac05cdb3e3fac1e99efff7494c2839552052dcae1c2329a037ba8306ae14bd4d24fb642b5d4f3d056785e52995c05b5c23360f7a9eb7c7f8a26c70bdac514fdd711c51b04d9fa537c5cd851c986ef4e3093de78a4640727f709545b095bdad8ef44719a1a4e6dab40ea57b0475da73147d039259356960aa99297bd2b3d1a434bb4e02b5057bb1af6114b460df726b1240602879fbb076088c8d1689cc3ce804106051146d944d40ac6e364b08922563f6e47ce698fb4c3de454e195356fd877a8473761e7eddb57e225efdb3abcfe0815ec4d51854fa69086a9f4d8dd32b6c9a257d1a414d5cad9db63ce3a3b4a5bf186d019f6f687a23778890f134a8405f73661670a3d9f4dccc0371596afde24cb5b0473f1b839d60fd83863286f93fec876ae992a5cd28eff8bcd2da139304b31204da3a2ddc5cf0e94fd8407e80ab5641b3ed27c93399b60cbf6e0270556a6a143bb724ce5d20d4e9df8fdbae5745f63038f0e2921a91c8051173a0c81c309648391a4f6163d99380be68e96c553f02310d29c75d9ecd0fd848d7c400c0ed5569d8e8e3812c24c21155240c0e57eb668f3a317ba5ab8c8c0092349f8654d89107939a5404fd706eda0c0ff16d81e8cac5469054e0d6ffbb813d90582065e8f778db7f06dd9e9e35bdc7d1474077f742c33d95f041190b568965ed2abde89c6a6f95f128d22bb491785d8695188b88b13e76be45c20ce3c8ae0063e65c89ae7fea493383bbb1b31264a658aaa03026058b46860ecb1a70feaaace0cf22c5eb41ff63c26cee401414477a4a9b903778b5573bce9ccd18e10018e4255e0a588af1c39a2e4679d249cfae3d832cec3ad94bd7dccfc52d845e31285c8fa09dd0f9f9feee487df6fc5d1c2b4c77c37ea471e26652b2384498f7a5e1b158e261cf5e81d4f5ebdf896f2770f00e59cd6563b94c8b393ae1f8a7769de28d608ed3f146267c18e943118f5fbc8802e8d45e17ec719e24bbb25d8389a5c380b10ad8fd206ea47b592f1aca284fc19482900aece881bdd0b5ced293a5d71efba116aeded14b73b4b32632bc54644f28cdb091df0d6a05c0ed8e505d56b1ede0c0c22ab6562f018ddee4994e805cfc27a3375fc80726fd3e786e34fbef4e88106753d15397142484c1871ae00c267394a4ced9ca28e34ce84f1d9090a01e64a5adb3ed9a0c1366ae85244b5165ace05959045484627a1729bad3af8aceae60dfac9757c2704d66ce832d5f2be0d33d785f76b589a56c61018f695e5abdc5bbccf8bf13a9748cfec1dd58b88c189e2c96c380055db5d9e873a009455f26d4b38661735eae1ddeb6d24f22a9931faf03f931632034dd1222ad6d0e93bc5a213deec611f32ccc85b24babb06e4cf1385c4f75b1c3fbdc39baea3f505cfa60b8372808aeb88e139c72e5c6a149296ded8db5af3a1f9e70efa34013d230dfc9c79bc0b1385fe506682343f62cbd2d12ff926cdcbc7d4ed2099934d306be6172c3a94788ff27acf5a404c95a518b60fbe0e4b9274c1aba168231c177ede4cc9b0f13a281f97951ef1edf8917682f89a14ad9fe99cbe6e2149ec49d0656815e62cba01728b07ee5fcf4c54e1461c7f137a327d2ef4defc9acfa359f2e9d31c078fe25759590585e5c2f5858b8bc093ec5a8aaac215e5d7fd14d996cdd843c8b035aa5cdfd75de06e6ddb7132fa992047d0c1844d69ce48e32b0e7aef1069c87b37b86e40c6383afdc24b3b3eb18f26e7795e3e216940e66e5ff52e3b34bb3c21bb3d0550dcbc20ce9020d3c14769efed4b8c324a1784f44ea4fbc35b4e1be13564ea53a12cd3a5795acacda72ef8a678891be97e9461c30b415774c0b48517c92330d551007221c06dec898d439ad2557a25b41644172e71e1dd1476eecce402fa37788e143868f63a7c890e6b2d4824b6f1e906d7368c0584d506942b09b89f1cf654e24a65389b0defeb5f98cf2aefc236f7f1d90b818ddb49f6f52ec0a1db04ef6354ea34875505468df602afecc592c3dca4f391ef99284137c4073fd43916b7ff45b055b78c6c09fd47a83bdc8239dd36f6ef6691129fc0d9de66a3fe3062162229d8ea5a5a53df2f2227b5c66237dfcc723d602c67eab3e800124e874c6ec16cdbb8dcd3e654941df083a685c5f361ce1d9ed621932795ee5c056be3f4bf4683b2920eb2aa9e65684bb4b458b97ef02db71b0d31d1833acf781a6524abfca095ede306853194a12830afc1bd721e5795dd36f900ef4256923c46da59fa790916708b6339b11cff16abb08a54f61c9b20edd5ca66a74db08a795cf80ca96b6a287c03e1e21256f77b6d28b2d951ea591eca691add93be4edd634af3ab53dab7f6b4e1b7f673aeb16b3c7f2e191a85b95c874a530029f6c2e7956b009e9ab8795e1aa021cc8c461fbaed91137e92e7a0d69cbd494409ac9ea5b57333a8cd2b97a1debf1dd3431bbcf03e9cdca04b60e10ad5a748f7a2c276ef63733855c28043052b3b04b22f3fe4a9357df98d65c4beface2208b9942f7293d2139499fce2e4434c65774ac372026019473167e0ba5105dcd8a9fb3adba825d07f371163a0e70ff7f92ea4da4271f105616a9e29ad52d4d89af5fa1088bfddb669e6e37ac132f4b34da99d3006223a6953980476aa146111c3ef7aca461d8a7b09a0fcc4b2005f1f28d609402e94f42397b27942b12b5a603ddf390302dd30860dd32c248d1286ccfb32e7fe39c85bfeec002acf2f26dc9e88e91cf839d53e91ae7ba83778ee8a9d1554e1868d98c2fd224bf0414376028e279437e16d202ab15ea6f8306d3ed69699b727c25bc6cca0cc5dd46734848a50ec1011c6d7c77cfff18ab2d92ee597a4ef49b57bd302b3463500ec9610b346ba9eb4f73a343537f9f7d30c0b9ae53242a29e768ec94b3f2b0b1c5cae7abec82c809c80c539eb168c72ea31a91458a4bc47e812730f67eb27bc864a86a2268cc2c91bd03c2efb2a7790304c60948a59c00083968a978e10772b6464865055de247a5d3ec955ed4f8e9c9ef5f3ad66a7879f3ea0dde4b5e1ca4ac2687579c27900819bc5187229a3fbd3acbc436b2eab47e7907e98336ea0ac38d64a453bd9e2e004c2b0a7c40d9decaf70b1b864565081f05a8dfee676246fae4fea3966736c04ea7a1bb6dec061223e6f969579edc6d05d155da20ba5c3efb4b3666c6674fc78f7fd3f96c01e33a8e64744227b4d25ddab193c46cd2a092b735bdd7aa7e0e00212d75a154e959db51c96d7de76175f3e2c24782b81f101457769d11bbfb1265fd3d356cde4b40fed0a5946caee033c7aad2da90a55b78104247ae17ffff3c03871bdd6dab68fee57cfaac9053014df4af639338c538f1430b400a7b9b30c966f2ac09692df59f6411c789626ecc1907621f796888026f3ad255a9d96e1c9adf96b1d72936ce36add0fdd55668bcf9331f87f731bb62998fe219c64155f090e966d60e1761062f05fd14ef0fb15418b103eaa05ebf91f6381677b97f43210239af427c55e77003d00809ee43323a968427e6a77f2eb7e53a97329e364ec4732063f1b07defce6309695525495e7b0ba0c2875607f0e8142b8f75b972af1d574693bf1f899174b05ff35078a26f608684a8fcc18f47198c1d388e6f9b03ac9773db22e94c4203349c0427c87100dce3e93fe63ee501f557d56267b9edc32b992f70405b522fab80bc03877662743584e64a5c2e26952e86552415f5fb343b47d964bfae024da5bef1e4480197713ee9bfc82e19b943fdcea16456a17ac46a9a80e2a8fb4a851c5c87b3a509c52041726a6c2cbc94bd46e5371544b6883951f09585ba82dad9bb01c31c9e35f990b76a1708236a41acdb02474ebe8bc5de8ae55be31a18837bb7b4244e83a51c7354fb6598100d42103b1e89487e0cc854ce422dd4123b18315ad10c09291d5dff07f31304994dff8bd95f13e30772e409f792159112ceb0a9b09422897395149437f4c139951c84ff606c95cb258a810cd68d460472a1f3b57327c5e019ca32d1f2cea704886de5ae2e97f1883d1823a6596db9a44aa6fde3cd4d3706fa74c984c4f2dc584baacc39682643c29e095bf24d7290cbd9cb77f9519ac3c7a7f74ef729dd48a0236eeeaf91ebca68604f0eb0d15afee43d5f8413ebbaf90ca2a36c7c8648b4db231e4d288cb21e44d4db398ce3ad878d6e5c73c6fec2a4df670e1a5f1a9d02da69e4a3dad371734ac27852e71a3ca4cba4a7f4ab983e2ffa00751c2c8940b7ef125e89feaf2974b18557fe90cccf8318d02559c5a50b8d530b392b60ab96299d950a66d8f35a3a8514259a4a18d8ec2752438ce1e0bc782bd50c3283d34e1c7c5d613e8823373f6f30d7311e9652505d3f9d647abf3380f41b773eb2228116b76127095915bc4720e61f051f2cc73d2c99e4c5d9bb8fd1508070c418d0e28fa065fce9ccd89d47f61a7b82bf277ff3809e7cb765dbb9d0510de4fee62eb323c662fcdeb1e0025011c04f5d74e944f5d29010cb30d86f5de0dea796e2f6775c62619df0e470608f631c1b601daa04e92a49d2e2a3edd97640ea9e2fb4f96c5c6ce084649e0e05ef9670b467d5cf9246d23e7e45bf4786302ae1e697f795cb2c87dfe177a33c6b023caa7f27d41eb3e224f337cebdffa38056ca6be623da1ffc7793f3842665023fccfc18a7ebf099e940bdb6b5feef2788c4876b28854379078736d7dd1a2f3300ad27bc42a049844dba639cb328a633cf148ad21996873d3881cbbd4f91fc11cc0b0dfcc0827fb08d54cdd5554f9e9297a95186090cc0fea73d8b2a42b44d0d625443113330c37e96b808e9c20ac95bd4d160a233bde33accf678eb20563d59562078fa7b0265508169c402c98279d11f7a53d833c0661e8c5df94b4767c84bfa56f20553a50f21c4b97707afdb04148243b9a0afa797a85fa857da7615c8c5164eaa754600609054b42414d3205069b9b383696efe835436ea533ad2e9ca90b8482983b886299e66075a47a6e6703f9c9377c8011fbbc1e3d1bf98d8750e4deaa3b157db527266b64b50202feb6cf12fbd33e5fa5bb0ae91007b7ca0ea5c73fe076b2d6e9139b3c116b3b922d2d40c26a6ff4bc36060176159c04230665b939783e4da4e0c8499802b3d389f5b7673cd56aeba7eb94414b1897f9207b64f317a086a1229906189da78775ef78d961001d3302f2f41cb11a2a89016f27699db021755b205a425c1ac0d7bd5f0527b4e38f7aeb5afa0139e71e3fa1295fc8a24ffc7090fcedda34627ed8defd60bd6c38124739679a7a4f73bc1f87fe8c5569f85601a90138109c46f14fa0643df74913a64ef33cd4de342c81525ce7889d86e426d22bc905ce6fa45b86ff7710ddd36a25a9710c52e384679fb08483de17a4d813b3ad57c67c4ddb409817c4f6bfbd3ece4b01d38e888868ed86d70b23b905add407ef0cd86d06537f838e10cf97fc5ef0afd87d493a99f270f99b3a6d0c9d68eb69f6cb0060529aef9d8c4d98b269b6dea6411445fab5092b73813155247941fac6d298568a252e6f757ecea03a0bc9026db3b5179e79bc71dffef3392145cfda004b2c445378f6deb3b71134a9db532109506df7d77e185a9925689b9bbd13109b16e00088b2eb22b2e4c3c42ad65e10cdb8c1dad68b8d64bc1bad4fba8e890b0ac8f45fc50f18c0c86d5a6aa0f3dcdf745c412072c3c5fb4f65e51cd369c968a13953f2532833e4a9f4325659b05c23ee27fc00c2aa93a72161864a2d7cd00796f0f822ef4f8f5ad0d6f4a6e666a642e13c2fea77d879ec407429c6014e69088732d3c8cf525e0789a66ca072d4fe916018746d6834e091512d8d0b2fc08a19e13c820401aa3f552455df00482bcdf068939a6322fd3c75b998121e804b37679d9726aca8688f3f38e6c050a53c693e8364a80e1662a90ca5047a88838d4f1d28e275f89f774d340afea1b43313f658f1a3da64b3eeae2afd1f0b4848449412388f413148b09106ff653d186628fa73f3e4be00de35902b664a3b72f91edfb37dac3b3d5da9c5c081aadd3996310d476df6b19492f68ebea652beb60a4193657e3afedba772c8f28623acb0a400fc253b5dc42d1c0b5d3bd1ee73372b1a227e864b058febdd289b19b6de5e7df681c9ea2261728482d4362a40c36a8081e832b9eb6de199182c15ceeaf58d6d132339e567700006835ac9bea76ca14936838394021d8a1ee8d7d27b1247b5e9dbaf788a466125a127e2114d09e5e7c51f0332720b1c94f87cfd49d7618b2e8f1f686207731143c757646bae8f844affac7081e9ee46c32e7c0a427091c11cb41d6705ec28ff3ba6ff70c139328e842204a9910973448eedcd296915b85e69bf44e57d7826562ed50dd61bbaec64c5a64b53e33ffa5f765ed4b15be124075928a0e176bd32ce47d50bdae9e7419c3cb34908ead157b6a397aca9a08e850d128356ae3ee286e0185d1370de18b8844c341d4daaf374f6191e04ca0fe85866d973e867733b26887ee118f91a0634260e6324f21f1ce7141a204af4421805fa7c8215d3959d4965ed0d33d538d3df09038fd9882f0bc554a587517e45cbd8f88ed07ffe83bd18c9a3dc27802970f8591d7c38e7a7ce6c32f3bbb9ca5863e5aa6249b784fa4c78b946e6ccae732aee5d3ab5ee71e2b378360f1cfa5d91aabd840d12981f86035a034c780e227ec8816c641a870b3f585c8052e08ec34e50f378e2a7a111c9c138c21cbf450b91d6bf13dc033f241ee41490a431c6741b059a221c8aadf648d8ae19446136a9151316105b9b1692185363919fe5d2bb697d34c4b33636a2db3ba91c5d6f0591999b289a2cd0735618fa996e5088ebd2423725c071dbf04f8b1c6270a530a5ea2651ce78790a44746877dc344ab54d71cf46472af79c2d6fce5c616186dcb4d0852bc016ddcf4d4c1a6108cf436f085482533a1afb682dc8689899a76d991be3925e28d27085e32dcda72d318bf75b6b2c283da903a82bda0e04771b3e28e40d594ad27c05ad42706f09f61fdc591729c043d76034dc9a8ea1628813ed3bcada74c739fb65f4624f72ff9e0d79d9c3dee7758393c5b72eef92f343a219c0115b7c2c4773fbbffe458db65de474090643c309c50dd86ccad61a6de07645486047af98d36ccd6899f54038b106104faf792d3b3a0e39118f870cf7e2a51813815a9fb26e174f9e1fda04de9f1caf22bbb09c2cd68093214b92e7b848572f2c80c718b3a7c705376bce5a21aeb54ba6249849542741fd7a3ed797d181215b2ba602ebbfb846404d4ea6e11546137b5b9c1ad86363da96427d7443fe51fb5fbc0c9b1317d53b00ba42887ab693ae7e4917f150e205a2a3380b2e054d1aeb870dc5a048be35e4436eeff14495e3163bac29cf7bb8a4a2724816bf657ec4fcebe6bba7e639e3b03d0d3b64b40ddba5857e29a00c9165a607a726875f5f8ed1514f1ab60393b353b3457de91aefde21222f1336f5a8ffdacc410025667b2364d6c3577b5635e971121562bfb9eb3b99e6845d823f649e1203c246c0bf0d482b77041864b7c184c99de38baad3941a1e7b4aeca11c4c37fa2d12e8be65cbf66bc318b6a335521158b230ee7b8e75dfa5de3ffa4e7aeeaefeef3249c7b237c4c719597348fb9c0bfbcd8e673227a20969f3dc5dbd9b08f53a2c8d960646f91b2df7e004a7c1a0fa9e528f2a7a797dc8fe4c3e3f83474fff20aa3ea366905b660c6555a8eb913b14395637dc47126b148442cda530165c3815c0ea0f4b9e611945a53d7e2a88088fdd2be3239cd25dada7f6ef892254eb5ad713df5f6f71a4410f0adbdd3b65d462ada70ee6e4a0fcf515e880480a3ead4bf55d0012aceaee533540423c5cba42a43be461e73fbf4ba17bb64cc37df096374dd4641088f6a0420e9d8e586484b50048e48e96139b1c2af98e3dedbe8455918a3376b90dd94eb5995c4be41462e32f2e8bc838787ed720d6ce51ea916145c013e033665479278fd5f31920089523b58c2371851aad37e5a2330595566b362a41cfc83ead356377ad234192300eb0342ca2040e4cdde867c938e0cbe8d4d1c24cc29a977b167fb4ffbcd491783b039df50020948d263ecfba290e9aca0024691d049ea36c4657957c9cb85a521efcda3a26505d7618afaf0d9dd8d4ff9c060eb48610d998d03816d8cf7a1004d282452b9c021f3de2c2b32afe55c44a8cd3dd32b02a53e3e7462e0aec6b752cf823564b78a4abbda97fe462c3652fd57e3efa4809e054117310d04d1e91c4b9112a4f0d8817f6f37c4bee12270d285921281163782d9262a4fa800a605f24a0b9cdf77b40f7ba2a91ba88d4afd06dc15ef6a185a81ee3a07f1712c5564fc58dadfbb879daf6e749a752ab0aede205d28ecf51fcf265fa54ac7b12fa86adfc8fa84c37621f19aa1012b01afc05f9b3460d787c5f273b86e5c870facfd5768b042f8ab310af42536352b8d8e5214cc1055a4cb3adad8965e9fae472f0be909078b3de4423bd6da03aaebb31dcddba711847806ffb5432fc54ac612534b614cdb73193be56414076c892b956011ef4ea71badc10619e01a3293bfcb14650d93f89c324deaa6189b70916e695e04fb0e2d8a764e509884f0405414b96b3c09e16524840dad73eb35491343b71bdf76c8bed1542ae8d08c4d1f9a0e5e48d6cfc9dbabe65624e56549cbc220681ceea2a68e8c5f397f936dc384031cdff4cc6fe8d6912bf99d6d70f79e7c04d24454eb738f38029bc334ca0e9317f5f8572fa94534548845d7aab6a5ea0c8d6a86d30f1e125a8deb1c10f24f45336a134f3a4debc8334aefefd77f438cccabde6b1aa2379816e58f1cae02ebd82ff768525e7f12fdcf734382a4814697308731762723638e58ef75a504934a164fab4956570ab7bf900c242fc87312eea8978b6f7fda56b02177c9c98d82fc89ddc2921a2f1a06801a56b40b0db9b651b447b3f6ca75cce1417390a92fe7c59222980bc923ee03de6c9c5d4ae8ddc5d3ba04f41fae63e7bf56f8ae28947c40af3565cdab2a44c84de13e5c7f076f234aa5e1bf652ccab851a3b13dc6fe6fc244c445d9f7f5b811655a9fb414dd608537a6d37da1e1b25f4ac84a195391bb3f93acd96ddbccef5bee81000cbbd085fed230e81dda5c8b109ad6cdb9a02a27f92acce49b06745813f45c585f63f37acaf74e6fc1b40bb963d1cf389c7478aab37af219a16f37de72466976863d6ae3496f1959a50f0e1a6b381496c7717103bfa9494be1abfe31b5ec238031cdb8d63296a53363ab65ed8200111d1f0515221c116d7bae189966db5c961898c371ca1450ea7ee9e60952364898e2b93190b540f3af24fb5eaef0b4cf1366031e54ae53625917189906241e243bd6ed2d58d2c00b760a9d25896b27379a46fd4f6864cd4df2a40b65b9ab263a1753f12fddff892e8e5b4ede4ebd630d6c9d772b059688662a2b9043573a795b1aa256b8bc99a7e245f336028d7f9f57a25fcca9346902c8d5532f2599bd8a599070f5d4f01ad20a8b8c9843572ff719b03f4fae2c7b3da7149121a9e4b0b80b4036820e4f73d9e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe576762ffb7cc594c1d65342dd6119750d801a5c183c25763792abff4b24828e4eb9920298d035853d317e7631ea26ffabbbceafe12d67fcaee7ebbd5676320d29c97aab2018ba7a23e749751015882d7bf7fe553125dd261be30e4a1df4a8d078b2a4601a3bbb1d469e38a9b85749efb44744e004caee1fb468e165441496432c454ee71b44377deca56998da50c31bcf2241f8d2f76bc847aec1d5cd6f62a34ecdf6cd2dff1efd6fdcbac7a5b156baa06f7d18646f397173892ee81d806ad9e3e83e658a63d9df4915a1b3f32fda52cfdbeaf45daa422b16081c2ded5c7962db0753a4f5c5efd681cf27180d7ca7e182a664469abd6d7886802f71c9bc0a883c164982fb60c839680a25e60ef2cd6ef3f0c6f1c61a1addcdad2a2a971faac6d6e6e07557cbc8578eaee968445e6dd873bc2e3b17d7236029238fa3f3e731fcd58e919ccb15a3589568b2aabb39796d2a5db556ddc7775b18edfa47d550fc6bd242805071b2e2a4de6688fd4d14d50f94d1b6b58d9a945d07554bec37b33477200266c6e89a10feeaa4bf23c32797987f95e924fe2df4c199151ff9a7d3992544fbc258dabdd74747c40afaf9343c494d564680b022187684305fd8ddcc0304bef6b79131a36585d0fc9a2b4f3ac6c1d0629a8fe0b16c347789b4e5f23bdddc07f9d2e582e53a864dc9fed8bf5a8b734ec3a981ef95c6f973ffe4662f13bd5a721bb741d048b77c809094c5ab3b832e77af67b5fdd0068125c5bd50fd0832ceb96a5e145da23954bcc4924867e6bc739999ebaf93634c0f4e7da1a83fee792f60a568e94189b7fcafed9d7a9923f6ba49d62c0c7453ea8ff5181e1ee56414932db1a6fbdb2deeb46992a226b72253db11f7db23e863de6639da21275b6ab60fc895dccb149e7a2a8e57236c8bbf9c814c464fcb1135fd99bbd60ed3c0e63a70877a92bbe5b066a5d33c0f7b1c8760374e09016f9a29c1df8533af6043c13a08b492ae59bcb67cacdb4849c12cddc22a013e607186a998078a823615dd3f6f7d4055ae1bb4a60fcea47ded1d53ac858868f1d6b2887f1944debd84f525fa9586cab00f489ff4b43b13fdc39c6736e41bed46890fcf6d35d8e4a1f18c59b2922aed002a4362bb19679cf438d358a07fd36f826fc4754bd68ddcfc45c8728cf875d11ff973075fa4a8e139126b765f637c67d3b93907e93fdfc38915d1719bd6e4df8651d0ff3153fb1bc9ab2d087b3a554ad7cad9e350a0342cf7180a20881687d8653040afbaa5794c90136dfd385cb21b566b8a0f24d0b23c469aef964b458a0fbce76825295c9b3b5b56d7dc5f68e61cbd62473dffd731a18b8f949ae469a5eaef964b12d877a08f45e15b65b8c722cd9c3193a0a78c2386435e887300419ccfa7a89c8cd74fa23dbde8e58fce53e89ef73acb92ac8b1c0e2423194195d4d2fbca8024f41da6380439e8a912734b788d2d6fc7960a18cde03a16439aca2db286ecbc6b1b2770bc95f4309869d04ef529d236314e015b14087652bd07b016efb34bb03eed0a29a569c40b9c0fb3d2852594b6d0495aba890eb04e4d41f3edfafc4e08d4cc2dd8669f816c49bdcc316e216ffe5d8c6f3a25bd2a18f4bc4843f24217cac3bbcdc2f5b9acdc081abf4ccaaa41c7f490b3f691fcd02312ccf5a136ed55421c2a31848c95de947a63d4337a6ca49891b2b2131beda987f4a11a28fcac37712a11deab88dbf908d4f298e3e61e3de891d869b46a14724fe9d0b7df986d674460d5a034f7826d6033095f59257dc84620aaf9a6e15994671a0ee26a24f4b9686450b27c6e4cd50ac04e7955a3e93dd1dcdf864b540cbb891fb751d2bd2b1ee5c36ec7b39f3cc5a75ed5c3321409eff0013dfa58ae4f1185bc6e923deb945571b4bf88245d4c6bf53e397b9515739ee105e452d8735e3f1be50afd3539aa9a3041d8f37dee7d03b908692765da8d3adf97c8772c10e4fd100a45dee07e9c091fed472c0ee92c8e3e11e4317286f9fef76be45f8b065746894a8e723c9b207f3a0d7dfc1e95066d1cf1b56bb97efdb98e948c63d6bb6dab8d2c8d477e96d6b55fd45da6b70e063c22a7b13223bd91a2dde26c0f9271c01945d6723dd57363fbe6f9d95cb1d9ad6e75e1498e463a12b16b9f59512a33219dfc48cead6711159aacf7404f84d846be9222831a77064c12a371a0002349e614eaa800ec500d4097f535ed6dc537da88e8f59eaa6f03dac5116a0ca834f5233b70e280d16840e755307aca1b79888b9127b13c0d167313d70d82715dc103fe77a203fcfae37554ac8ecef482c21c734663ef96b1c7fcfed66cf6a5e56d6daad6f503e90e6c70caa5b06b7d62c57ff2dfbb30204eb46525955234d176c9b7a4fe44f0ff316472a949b0f26c904cdf456f9962ce6a416d5e8f1ce53942507da96f8a4615fb31397627cbbb1bc3e37a36f2e8882bd96f666f2c99b5f4fee7392d070d08f0920741386f7d4b2460821177dfe78190c2c17ed24f2c304e6435a2dbd863773b707eb5242c7f463c1ea84d40078424a8d6ec5391ce5b77111b816fd7580b8c74f18c4652e74179cef8b05949dec45470cd4c4a03f2d957d52ab50b891db161a4eab8dfcd751ea030e58de7768126eb471f22c3445e46a8d02da40e806c3209f0b7fc995114a21c44e5ca8cc3cbd501ccb144e3538e12344771de949013387c0cadf3a421d2e07b24bd44182106916793c1000635010535ec71581e5ca4481da22e3910d6023ec23c7c2f587821e72b08840885afd8d96b1070078dc5be494090480ccac6dd279139527b02a5a4ff1cc7e8bc27c71b775cb5b5448dfa9284e5f72c9312c49aee778a7ee165cb620c3cbb1faa8fda730f0cceec3f2a87171a7d290f7872d38322dc02bc7c6e8002ebaeddb8377fe7dd869d1c6bb4f0458246b639564e31539d4160feffceca58abb11f13c014f50bb1ea96cbcb6b78a5569e41bfdf53e0deaa5cfba6d56a3a8169fe41495ad7d604f573cf1a37f5b38710ec43f4aa10d82afc1d4435332abad5706b144b1e8501f5a4835914f79199c4d0d1bc1ace2e79c9d32746ee169bbbfc519ecf14baf6878c8b6916df7af2e70ffbc3a6628172ac3ef2e499e93d14c3e7123fef54c56e581fd98043f943e259dd52560bc2a8f53233082779e2c2c57097abcc22acd5da14c13d204d6d90fdf3ee64e16360342caea085147b5a4da7f68a98174d8387bebcc147ac070f99c8a30a08a2775fc884c3226f6cff1e6d41170ce2a0b6fe478c131d5822ca2c49f86d42584dba550bdffd375f60a509b5993e5d75c1a5c528a96a5da3b604753d917daadd7dccd2ae36afc13b116898608346e7ad2b3ac712669d889877c451473ce7f71e0aadf21c4565768b6348f1cfc3341b29ce87e00d6d1db8caecdee11327f25e983061694d28fe2b04d3c85c45330ee1797435d99af82182da500fedf52aedff7d6a26b8f4886a74377a8a445fd2687b3ab8b6fc0361c24487e621664b237f7e4b3be2761b3e41a82b7bb77201cf6ced7c86905970367fa3a7732da806e5c280dd6058653425541bbf4c542ad073a2bcb27a3124e0d68449174e829b2715107833bd68d187e93c7dd3eb205946f16626ad84173f04851f104a9481a2e171bc1b77bc915904aa63e782ae53d7fbcebb7c63a3fb6220299d49ceb67af38e67abbc55c27d010a3f325257e1674fcb22c37263dba7bdf6a5e0a0d62fe9a57743e45f8c9e3aab21d20f518d053c7fef67c9aaa89ab2b2156a2b784029a71a557e550037aee88d7467ddaa7501255528213c42e11edf38916b26cd0f3b5f54900fcb1825bb5c414d425843e721c88f2e5e5174b452143dc3e69851a3a7005486e58d4a6d9fc35f010cfce5d0ed7248ff61d8f2dd8befa1b7a159794cae0aacf702c440c46dace666b8bb45e76643e1745fa18500bea12156bcdc6020f458b9cf714d1f1f3a19b9af9fb44129dd5a7e2cdf50c7ee31c05ad3d6b4c78ee9d55b161edb96c44ec95626eaa7acc12e9ae2178ed23a9c3a95d19478251b02eeb99a91e2a0395ce37cafb031f6a6bdab341513f9e870455a83a17ae9bede00777ee4927e48e597aab59fa541fe03d93704230c966c3bf5908c4e2e0ad235f839fbe6d39624e11debbe96900d49d19b2a8d50c9c2542f1bf885a292bfbe9178d4613b026466dcc49f32bd33debb729b76f5248ad62e0d5a554d5b9900486916e0aa41e34e33adbc693d3599c7b577711f2945ac46f7e9129d9e5a57ebdeaf45df2c968738dd4ef0c03d5fa9683aacc3df94ed9a2d3490382fca9379c1a40997d3f7334748907c6aaac9a6b03e7ceb7a287e0a8b206b57140647cae1e00c8e824a7ff3adb5ce5f23b1eabf651f449319913a07590bae33bb7892f9716d1a387acadebdebf75b988ad5978a0067ef69dbfda92a6f5e17800e99dcb41032122c6f702328da81947383bfbe28100c4e6be36c21b02ba225ba9050d9413c0a95f6414473cfb50ea503d7cab5e4aae2656545c643f3270eeafb149a8c48d38bddaa9bd23b6728f74b21ccd0ab5c6ffc365be3e1331b2d8a0ffba8db5a93980ddcf757c831d33120fdb9101d980499a9bbd91d2c0e6a4b0c58bb667f9facfd3821944a9bb1cd7fea063341e875239ea62c6a1b64b1df76ef824ae72755e6e01256ad54424f8748eb98d160518ac567b5f5be1490e4144e13e18a286d410c254f4f768e8d7a386c8f137c0cfb86e91a196b7b0a7c650563c512d01abaaad210b4ab8095d1c84da828a77d39ce375ee49cd1d54b4e605db41f0b03c0e51857fa8076127df8ff4c6eb58068f1d04672ac4ca72c611ded167de2159dc1d12c083045c1b88cb523d5d4009e68fc33a1c73b0c3ee0fcdfadb5aa854af6d4220958e72db4fca8b6f66dcea6f4aec2bfd8c517e10ed91f5ea67b5b61a02a43ba8f29ba8b30d74b4d8dc2d51bcea4a1d2d644205e42d2288a4bc36ae6e91395e70137615b4deed4e96bd5cb8a06d7a4f3f14a5d856b07ad8a7c36d1898e87c27cfdb7893743ced0212c95fda910ec5261f759341353c6fd32568214a64f0464dab627150544f05cda84f92bd45db5c0b1ca9864779154340036f3dd7ae72149a2617c4bc8a9ac04ec4676d455fbaba29824ac5d227acf91cea776e8caa42d848bac2c6eb11792f5bd7e410f5ac0029bcdc34b1b3115c93fdb89a69be29029a64fee6e0a752af31c937b1723bee6496b4f92ec2910f30b7e679cd142c9e8fe04a7ba1094baffbafa1abd22ab1a7953fdcb2ce89e39fc3ab68f44d0258f2d4fd28a652b56f78b54bf93ecfe01c02f567419aa9930fd0bf049218cd0d2d043ee06ee8356d035b89d81c1067d8911e0d933987f81cd474c375fff4283cfab0f4309c7c1bfa4c9af94ace14b24080c4d5f67f32cc8d40d120fb41c8f7f82b5ce8109d7bce69ca54567e6c50c7ddcc7980bed40b28bb1f4792da07920234b2f04bc992a2e79ee8b3338f20bcb73d11a69302c9ea6a88a5db0a3dd9a937300c97fd7312a4b3249d7bc540726f19dafbb720e400c4f7bf9c2f08c62f7c9d146a8e64644da34dbeeda52e03830328974e4b7a3e9a5d49678d0c255381506b20cfbed932e2793b8baee6c30474be651234c456010337f82eafe0c90b54e8c78e4a4c4a3937feb4531defebfdd0a7622d5bb500d4f26a6bcae0cdcd8d414191473701c63aebec1bac5dfd69939fb52dca6e85da890ce66d323399d77f0b28b4ac8e02a65a4a9e36dd86cd59b0d912e551951f8cdf592ae564bc7fcdd5ee4470d968eea533c41cbd657dbaf05a5912456b3ee96a8af9d75af3bfc59ca2fcf1ee0152b841561b310709eab50e8b074e50bda876ea932ba317a1f6eb5c309135575428a7e694c8c680c915eb38568a3536155ed8cdc166a95392450ae8d31b73a86b01502cad3097d2b918798d55dd773ac154359d011fde2e83d212da750a522872a2522be221e593ef3c9c89d87040a59bccb7f5c158a1cbfbaba9ef0663cf306574cfc9a4fe63b4cbc4afa5257f785a0f1033efe11dd855508b862fb3d8c771f713699b775efc27cf85e55328fb2b19aebb43dce8aef51f88625129d20fb56e62a4c021abaa1855ddb47922d0157987ca7cbe7feadb1e2c5bd6c96c915a1bfbccbecec30381fcfcbeeb1c1a4ff80ed01e493268450f7d9be434246645f16c72006136acaa54ab553a9db827044020956e43251281b2948252823e657878d96357830d51b9eb881875fd7a82c7dd0ed93b4d72228a673c82ea68d0511b1ce6fcc2b26f0ec119b4c8c397cb3406549b42e3ad85b6f3a71b3567f0c984a5304956dbd2e81b8a0a4c016bdc1d238c57077b1d1ef9deb88924ab4748b67b1c88f53fc3aa29b401baf4cfeeebee1d4bd8654cd769ed88a6b7f849fa9cb4f67d05cb997b5e71febcb4ea0af88637e3d29f21e514613b78cc054b3d337c2f98181c364ad6fca3bd1cfa533f566b8c912edae932e6640d2eeb1cf816d3a8113b3fdccbfd6e52f33c2c31ac0a92ad864597f1d09ab5761686c4983e317cbf0c2a58f76bad4b803d90a45153a34cb207217eab51415719b050fc153e6864ef25331b05ae91aba2bd76104e49b6cc650391c94f3fd8ce0760658ef431c0925131065cadec24b832efc4aa58252261681665299465f5ca1fb9c44e6a56e9298e53b5b786b24ae3559dcb3946b04115e5d97b50708af9752df8a3a5c4fc838e05624ec676203236433f8d1570264b319865898e406804099a670808f0a2db3854f43676c9f7924bf2c92bb3c636b4b502ebcbf6d9b0bea73235809142703f19017ad4d837cd135619673275c302edffde2cdc39a7f08f32a9fa46e34dfafd5825b64ed2f9d85bacccd426fa29e164e7af260e3f2b547efc1aa918bcb0748e4ad3e47f1d48f8876a731026f195bb718439859cf119fdc490aebe47a453dd95ce6eda68c66eece832566ba8857a9bdb2b6e7daa8e1e50347ba96d9dcc0d3bea3ac621a3cd19ec9c8fe18d226d3ff7244253a5b854bce3c99f91e1d116b3d097ca7df960fdac2f2186b57b991bda7601f9e0ae38d34ef075718c1f146dd6fdf7b4b4eff454434fcde213ba48fb56fbd94da4cecc06c3038c2979bfbb5ec4a5ca9dbdd631a4bc86973865dcd47f272d89ec3ada481da069b2613e03ad1b3c1ce9bf4507e8d448a9897d1880e668f5761ee1a2adc35ba75b4dfc5be9c7dfda6042c33324b2d8a3ea9e6f920d5c3037c139656014d130643a3cd390eeba4ba9111eaff398cd0e5f4d3294defb8b3cacb01cba3a5cf5915324b508d976f635a77ad9f061ea9eb10d21d297d37c24b2a5c8fa3e042741ab2116c8dc51189dd56c3c92b5f2b50668a1059ce40cf1b07b6012367b92fc8f9f08a83395918062cad46299c5e4a9cfa37ad647b01a720dc539ae0ccd0fdcceb7ffd94e36cfdeff7931a45ec7491d5dcfb7b4dab7cd9cdcca091fc8e9af4e3bd1b5be30827ac0a1da25214d473a8acd4911f0747dc531ec776628c88ff473a3cf36af6f2f68711d69887dc3f3faa2a2a749856268399f635f629a2238065723015b9b4a8f4e2e6739c4d70889955337a85220bb07e6614debc2d077d4c88da93044377d7d4c66cf10fc8f69c351e0b85db4568b67bbab69ad7c16f753d0ca18cf80fe5fdbfa9a4bd744f61083ba98a42d1b59cc3402b710d0b6f11e5d7ca16341d78f5e8b7404a90e2266f6bb3abf9d118add10728f7071099a54ac932dd7fef7c4159633fde037e800e037ead996f02367e3041b1576265679f4c1d57b75478cc845f4cca4f884cd743a0a2111a404cc037660502ded250b588f44c8afe01f678e83f954d093d5ec1dcb6a6227655b80b71b04facd18ecd60cc0e749c91db7638b5a841eb65b95336d4b0d2d34217b18ae0a07a7ef1fd4fb3e9b1afcbf5f8319f6a6a9ef7d39324aba892081dc45dd95f77f769ca576070ba76004e5448275f4ee20ba37ab31e5415bbec23bf2d80e4879a076b09d090b398b16aa2abcaf654416f54c018cb4043879163f85d524c54703c7191bf62041adeb46b3691b095dd78aca5ebdeb39a61c6f4e6949e330abcb2b00b1914e12477a3f2a8bac014b8b61fec0d933e321aeaacc17f83a48da678b147e344e6b1ffc7abc35e99fb24de9dbe2e734bb3086ff14bf0ee87813d92b32f982f893c09c86066854e5a39398576db00c2eaf8da38150c8b1008664c4e736064bbb833b77cbbd67cc8a498ff61b3542108ade4177118fd6ffd79821785a8e2396af63ed0fee3633e2131bbc1bd9b1ed865fd62fa5c279edf8c7a8c4548b39de31d9ff3f5bb5704cc199c7bc77a8d2b13b01945d24eb22701e96f3de6697594f78a7847baf1c14f3435417141a5f753a2e00614c2d060b8ec197ed08319c8a2debee4ddd1ab3cbaa2b432e0f36f0c596a2956c72e290acf8bd2f19902d7ecf2f6fdc4f00dc0af4bf6da7813946e32d73b6ecfe74fa6ef06551c65cfcf10f1c19c1f90f363d6af46f58e11864b96fe5da9ed355b6e47f8848e3748fd96e6efe49aba5b1d98699451600a2a707adb5126ddca659be006000767c7448e3bf67a3edc0d4ace7fcd567bf82261f6f7ee3dc4f4705cf9cd6a8252d9122d977783c1f02aa75666f473a3004d1867b1b3cac8bf86d6f74d7260d2558040689431a9621c23314ca2ff08556c6a31c3a362862b5238d503a9ca52f6db8eb627e3b5bc248c25127ca07249429662ddd5c1059615ba69e046c81d85bf595055609447a05737105af1b0471b7b97bc5e8b377f54c69dc65a9cb7442d3ece07e69a69168c3ad6ffaf3f18587bd7e9971ef8fbb8c63560def49681df93ff718aa3146323bf8653b3146f6cf73b5ed0861a6ad4235ef47ccb4c77a96dd6e22d4fe3a0fdee18aab74789d117c5aef61e848ff14459ffc0c6d205f8b41f6e7ce6e849f2282a8408753273076df8122b7a7e1f22983bd3b848c91f6cb52bd9547d0dc672827a82210a2a38c0f1c1f99fc5ae9c70616d0195bbea58994cc221095827c5804b22aaa2a0b9f0fef213a6d51e3eef5b4ecd93f23d7b132b9f6e3559a8cd000d362242896bcfc08b668cb9e756dbe07d8a9b75410346d79b77861b6174d0f6c8a32b4b5042c6e501dc4bf2f3899a7a662b842e84d08522a0fb308c306f257cfd12eab5f5d21a7ea669a99076a94b74faf5fa81045ee6264a367fbef0f03139eca68711cec2f233e7baeba73d2085c01b09b87aa41689a659c928f67b2fd08ff00f239a63bf5b51810bdf4b1aa84d6d4576def989f2f103db2d8da20911159df94d42cec3182ee6534a18928e6c72a2d33f4e9a89c8ceb8c22381d9ed85ed98899773bfd110c6c645610f11f7c1dedbc0688158a61f03d31ca1ddf44eb8fb4671f1e4a9b4168310b6780f8cb20f890b5792790fc7e59802902113bf2461232b3fea1ecfa5d24de3cd76accf0409fec44e6f498d42290d6bb47f8267b51814d6aab56b387c0bc69aab34d1145035b3e9989405395189345cfca818dbd247c2842db28613a9fe77e2c2c7e4e6193824292cb48ce381b9911f171f9675e5665095da50b20ac8e666d0fa0e62bd6631e250dd7f34828607cd6a8e54a6ee519289337b734ae6e93a2bf141a5727bf7bc7004532d92d147b6f295f25f2343fca3a969c9fa17b662c377cd755a77a694b197319b5c58e1459e55da5638c2aea771c99fe3f1a672a6d5b54a705094343eaf420cdd2d26dc59ee60446c02b4387a5c3ac26a266a0adefddead8fb964541eaa83ef53681c59f5446ef3064de513294edc8c31d18d19d085b6ef0b3be0a4205792f58efd1fcd4116f5bf7f7c56a83e96f1a53de0b3bbdd1e08a5adaa2193443a016b3a532a13e7a598d9733649903a04fdcee8fb1612b7cb4c3ced8f44b3a2809569be4d260850c5bff3cacb4338c7c7c1e8a6d0e76f17734699a2efc86726c058135bb47780c596e4bba2e7e36150cdf5c3c8f44ad58a23bee2bf4ac12a9b892bdf5a942648e90d911458247d37bccd6dc32a8ed6bbfea12a93d5ea13006d963685fd802fcf4be3e8b8ea3844d01f120f6ab3f5d52f93b11a6ac0ddac638ae4d2ab66d6bde1817a02ce1eff4b9e73ba8faa85330ad715139f63ca122c40441d4905a118b5b3e46a94a69841521fe779308e1579cdf29c926330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa90063184162c51da61027eeb43eb3aa3aada890c98c105fca6d6f71bb7f510e15feec394aaa3f2aa133f7ac99769ad619ff48c92f1cd4b376c4d94373f834273f12137e8600b76f2b43c5d80330671e0873d54c574189bb34fb2c1bb07857af6e727d4f7c40931f15a54beedfab9d43005622eb1a4f3e735445c776c0f9f6945e93d909ef80088dc6ebb661ac37021407d4366c59249b6222180b3b592cac425201681a8decdeac8b578706cfce429ecac15330c6cf430c2a89af3b6022af4d59c9ff3797672f4c9a94f0bbffd7cfacb2a5b22d963e33b286488347582478492a60b637bcd238bd9edc3dced1c47692dfef9caf0650863eb2c87477ff11ef90d290a0f9ea88a4ba8f6597418dd689bcb329b4a05cc09c4be50127facf8af41937ff936618ed15fdee813f0732190048d3c6027d3a7bb4b9a3b60a4b6fbdf93668839fc3369c50d418713e518b021d540be2bb0e625f88dfc6e9a7f1ce8d02dacdab71e458e055f73975177e05c2a169fe6178a99620af5c2b0071853e1ecb4fda7a03c86fa1ae9b6d618148f41b552cfaaef65376a6566e8593e35ab8b5406e9dbcbcf5bc41a107469fd60ce25a9535dd4dc3544e8b8d562ce82e93005827a76b22da419eb5b69cb62fe347ac71adeef7cb0e194e13c6eff4c66a09d40ad7c3beff2d0ff8ea1906d3eae09256fd3d1136c567500d4888b8654afcedb5bc92b36eedb203e6273db4a0d33a92d2d920c04cd3ef237e1f5e5be65fe857ba1e7c60938bd7c8244c85e2554173a7b6d778c5617fe49ab0e6764c51c9ad303b7324841497c4752c589d5e709241ac0b0cff4c1bec3b961449dfeae03962796a674726626551720bda3a92d62c7ee5e09ec0c1dff0856d70868d9a9e9c854696157ed4e8d7a43779a50f108965c7ac819f2162996a261d484fb7492f0df12f8fb79033e88369fc6d046e82d8f128837aa1503cc636ab96bd5bf0d12d30ffc90abad60bdf9f8389411dd8f37f5beb94912c674aeefc307a9b90ab876a7b96ee486b43482e09d5a908596b1d7b5a9dfd0680f2fa92db1c9db8915c2491b50bc8b7c2cc76206fc5685314e9e94f1cfcab5812e7a497c9a07744b6d4d167de509f3e4b098fb02cff561a080cfe8da08d06104ea9f226be92d7b297ad468aa76725671cd31b3ab2b0372dddd44f7500dfd4cae869a272732c8b668471c0b93873a148ecf16915ccd86a8a617876f8dbb780f821f479c45df1402946f7c0e4b69fb3d5975aed4d3001d77e1859a846910c73d25f0ff103f5516fe636f34bf63bdcdef05c2ef55d195fbb57a993acdfd6d0bdad62840b9a3ab9abfc04288fb3a8d868dc43e870fad74c8f987a5fc2697f12167747349172949a5961d254983a7e2a8f4bc46055dca8597d9ac35254072f0576007d29e6956a46f55884233d39435b1b2a312bba1feccc681a2cd4c853bbff18a16a3fe74769eb1345d12fe9e81b29309743812d1f4918c43c403f68bf4e86e0c88cb5db12897b03ff2b8d30ef9bc6c5107a3f7fcd8923cde2c052adbd4ba367cdf54856122f4e8dc1a7fb32c823a72a282ee1c0ea023eeae5b4ca873625b35173e6ae9a645d8b8120f134e8fbc0ea7b678661b4c50707f1b510e2afc80761bf2701d49f6e1b0a22c4bfd353f900edd5e5fde4d315ccc9d2903a26377dcf3d803a24641c56856479533767d062a3b3ef2785b25b50d152505131c5b8dcebd91002acdff9f2b949dd2d300d05c90f78e07cb657edae7b31f65a096d02ff4107573fb0e9f8abccc3e2ef40412de722c5ae3783ebf21938b1bca626d79a138667120dab229053dbc3ad7d95e934985c44e0d3ed0b779fe724e16ad9631e3fc1cd53166bf8da918fd09ee8b638c1fac1158cfc1808d302f004a14fc2011d0a40917404d71d10d9f925218101a141ab5e85d4295aa9a8af996f706781533e21fd9cb7cfc0d03b6888ac3ce420b55aa2eb9f48f2ea2e4e66a00f1a451a78337767936235f923153857bdce41219f1d49a128aa562b5d71dc1c7296178aa053c71eb859a7c112e4a2886e5a4dd45c0e6c4faf0057f3ba4acecbac23b1228c17d1f014edc57fb571a4bec5e80a2759519dd804d8782ea23eedd96a668cd6cd0048355b88d1253e8a3cb58f9b73c2a2b696a09c9573a1987be1aeaf87dd0e4fa6fa883bbc9f961923820660a33cc4b464a12b16c92b0ebc311f1970c0068d8c0bc11a76b9372883da71a01ef4f1a49560ebe90b3798c1dd37bc1ef3fe239dfd7100a729cabe277e2c32e13ccd3ee822f1f26f5b01f6da4fd2bb3852d4bd1b56c78f7bc50dd62eb71c747ecd9fd58bcdec20deb2a94f08c5d7990ef23dacada0395122be9265d801c0a68307f9755e2217562fadf58518ba7b8604f295a9657a1d4692f71bcae32f2d7467ded90263e4a0aa89aef9d978fb432bf2d8231f41e04224b063633f290d14e990e0c824abb70635965c00611c893cd393c2835136860515ef47aff186469865f462314b21776258ed4ad564f336f847e26e366df896a066e05cd31f85192b5d7a28a9e383dd37ab8e235560df2997db8901a9f71c2c29a9447897acec7a2d60e619cfe33288e2d203f00e9b6c1fbf2328015e6cabd4f917362b4382a4c43d1f9fedb260c13f98c0c571b80aa212f49c0d64a5ad7c6724c618b841eb196a30e94be8848771fd2c09f304ecf293446551906eea7ac36b7570ace64780d3f3b4cdd19973a2c875193ecb0ed65c2ea1e24175e3189afa18e6b6d6b319f41f8eb081dc866f65d8cf15b0453935e5e0452f328f883fc300029b3670944eca78085b87687e98cb10ed1550035e280001573a79a00419fe673ff4026b93a71567ebeec3f2f43c8d50b14bcabb5a329e5ff52006fde29d9fc5fa4c0f3dec6b50f58603d02c656f679927d8a1bdabb644a61ebfd4176c54df4f45bd748a095c32fbdf8742329d87499bc00ff3503b581206213be1ed87ac3793a8f3b8a8b5aca13e4600383d3fc15d162e9150fa7505eda697711b00a7c18b5cc24250dbbc9c2e7bc1f4463d23bb72885ad4a00a245cb6bdf3245efbbee84d22ed77b4a877e88c2324204c42e98556b4ac1c3100b5abe203e0d6ef59b076715debd8188de38b308eb8044ab8ac84e552a4202ce4aaa7df4d0134bfe291a4841570efa50d8adf84d5c3d6cf33bbedc961c8eb85ac17804aad5c82f638ba64b50d31b9f68e4be90cee8fae3d121bee28c3a5707b33f54d88cd19af701cd519ec91e823d2d069c908132d15f5bff2987844914aa8911436c88d508cfcd539346a26570758aebca2de0fa3557912854fe028fa36f0c5a6fb98b39815482a0e7b664714bbffe003add66e654455678c3d8ed395da877c9783c7a768277d53ba35a66d328915d012af2186ca2970283f9eab6d0058db4227b20260b681287fff4fca74bef290b9b01340684dfdf08a6d595995cbbceb731af35326432081482c0a922157dbc237bb3d4cdf91833f2b566a992d33b482cdf75d1d9ebdd373e022aeb6a74e3d1d9048d76060650bfad2b04ad9e1a8824f105fa86c95781fcba6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cf24063e93bfdb4171ab7004afa7e0d9615ae070b45327489030700d20609401bc6ca5dfcf9fd672cca57e78f92e1d5426875ac2240ff41de7f18c9b70bca851e931c698a4c53344dbe246b03036a3f866d3f7fb957f85dac37b6ffac1a13d0b617624431577308e58569bd6d5ee1f8ade603775b667983a032a62bc623d2e5d5890d9cec0c6de0bacb241a0c0d959a98d7c1eb5c53dd6aa0a12636982c7d632620d3c1862416928677c074591888660de19e2fe187d1b4537a25c1d94b1e58a9648caa3326cd9499ad00e20f1138776995ef3d4f92f1e2d69cc0d1fe235ff0d5884a6d8ad98cb7a6cc53fe463f0d7e669c1d32b86f595963b5896590132470752d238bc86de225cb1fe88b9d6d2d06853e62f422a1976d7e7ee7a6c601d81897bb9b48a0a0c6b4e48e93e3f2dc4199b909d79b5060e48f0b786cb1206f9896d706688c5453623a6f7aaed116a4cb4f9c6c2f2d89512ef6516ae793f3577352c1e198b4c4d3a4f9840f642d400c2ab1e244b42603092d41a08357bdb847eee2569e4a09ed30239a3297363fabd20d7f116a5db4bb33ac0d40ec5184caeb269967350afbdacfa0113d609ed5e4d1503ebde18e91980dd9b944bd536bc4a343b8c3b5f61ead437cf74b68e2824fd1546847b4980a12f41086c8383533c3b820a12db422a78aeef7982157b3673603ec0ca9fee565867fbe916936d001e157d297a9d21fb849b1b4bee0b1b232ef5ef682a4379018fc6b68ef2adbb7a4f36d277b1aac7f02915bb80b3a37cf4e088c53f1c47565eb52c3d580ce3e1d1a02a421e595f5ee2486173dc3e7936aa0f4139401db8c82e9f4cfb00a20024cb130f537ef8777f8720c9b64e8645e7bebd162a8a1bd48592bd6b5af2535605bad74b0cf866a9f2b0cb86bd931daee9056e340d0a1f0456134ff118c39ce382681f401da0bf17ddf272e7d31e3e5d9a96a2db2ecd0e841ad8056d7f10fe80fda28acdd78f93597b6049b562470a39e763641e748f0c1da17d4bf67e9645973722237b87b4a04f79371bcacd42fd0bdd8b3417329de92c63c327c04ac4b557ccc993e343f6792b531fe1ccda48031a7e1b70f66a8e86c11265b031db8c8eb850176ac24715540c8a79aca5202386be48dfed85e4e4a1eff38ba2dd98afc4408af2e385b7466690d3c33355e54fa815fed023ff1e795de6e5bcd7cc01554a557a1c7aeae31b4a732c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b096885a9cf9120e7dc86a20c8601ba0aa3f01aa08562898d3f25a430e87131b89a77be246c0e3d4a3bfc5268adf2bf208b2aa59045eea4249dd8913da30be6d8fd5c0427b86952bb1a21123be99a0ba6d50107961132cc8f86ded3dc1b9babc604001c45c6d08eb13141915e9f74d533b6ba68193ed998c6c35cba2443593b3fef4e95517113de7ed596c56f0c3773698bd5629f174de50a04ad5869abdda4ee2a1720869b1e9643be2abe5c0b9f5ca68c2435fca5ef54b9525f75d8d659022a3796dcfdf74f649bf7566a931052aea82f76fabeee8a08fbde98d51675f5e54bfb6101559145f9e9e05e129d9224b12bbdc29ea14f79355fd6ae432f3241329d65c87bcc7dc24b25ad0a954fec617a0b1101c6b38b911cb3258b77eab1b2913df2a1626290011b8fb111b8c6743084977cbb1197bf2a7f4cd3766ef26d8f96902a26fd415b5430f59e2b3cafd2d60b9a71b8b4bc568c63332b3d29ebd0f8ed0434243dc387823a7d2a8b65ca371b5044abfc4a2fe8f69910f023bb6117cd62bac446aa5ea29eddbf81f78dd4fb8992bfaa2366fbcaa8083f027ae006c016513d58752735106f5b5838022273ea0c05149b69075b538b8aff3bcbd318725cf53a272bbda21e21d6a24242379ab2d9f1336ad22d41beb5eec3fb84075335a84d8a3eee5f75fafa240d8a511af9edc441b976efceaa8c276df110b363aee44a25af9a5ec1f331ff93485eaac30d02dcf9c738931d3644b3c013f0b675e7dc67e2084c9b25b9c2e4c867d322370d23e57205267211c0663d39fdefd89524b31ebab29903de34b55e9fd7dc56077ca81440a1814111a82826e2bd4dd18c2eb701b7b5dcff6093031b94ca6fac9245a1c015e523c1e215f21a2f0bfa96b3df222c7116f563486c78bc7f75b5bf159a161737650e73104330ab55279b204e84901a609b664810b438d480c65356ef0c1a9cad929d0541e407e1c340e4a5e8a7074a0989bf9a88ab55c2a68c2f0afd9f57861e5e1eab152409b3b8cb6c475a2d37361a57cdabcd16a623b584c0ef239e55a99d541bcb64097f9ad8b53890d3e31c03b988ac64bbe7eaba4a0eb9dd992a47f5eb89cf463fbd7f6047e099098577663b0f53cf28cdfe2e72924300c5142de5f93a3ee361868c9a1466ece253d6dba23b77a4dce9d49bf51435718942cd9c20882ad979c845f6c8dd8d2af2cdf27f7927dd157eaa610ad803a9ac92620519483b1ca80c8920ac3a9a547479f82d8ada4418275234a1181cb2b64db56610b6fb86beef7b812181301a4cb211d2dd926a6af156e069de746a55a87a60c52e356ff2c512febb8e388ea5e1e5acb4e00c52247e760106362c6eeec89e0e7ef159ea5c13de3a515adfa409a5ac98ca902e2b67adeb8c5c74717dc1917f4251cd874c26d934a8c13674ecccb34290ef285b9560deebfcb743a2181e541cbd8dc509e71c0d7b9a1fe62c7bc4400c7df6cb046fe6eb6644ca4ae5b9959eb2d3857d078ba1f89e187130a806343bbe4cf5d21eb5b52c1e64ba71b26ce796c9fc50e1c2b6eef6b08f1665caf6fa3988834c61a4cad9fff606f399e645be184a21cdfd74633fe65530885e9ff56f0a4c346a35b1466bae1cf1e6a9ef439bfc00484ce0a5afc24214ac0100f88a47914ec91f60b7f7474758089a099cdfd8e1f88dc24fda5aada718c856f6c963e872df338e52706cf19c9dcded1dddb992c8259e90d91d794c8e69768b21cfbe07d73de93af26c9618aa35c6b9f318863114a25b06edfea2abf2878ef95e53b7fd61f680d5cfef717c576b54b649198bc7b084b6cf39d0ee1fbf9e7b6b32c80cf962bf4c02e6978d3dae99683994fa1ecf8fc24bf717a7b34ea58cd9322a5baec3e0fa5ccf278027f2a30eb901a6b64719c1ac7795e29366d0d96bba4b873f936c2ebd7ea55ad3ebb80242afeeac4279c874a9f9d2928447926b2d3a3928c5b2e9abb7dfdced75283eaa624da1aa856b8b0edff53f8625373e6f5030d0aecfa1e401d7063cbda0cd62a69114c4bf230c18cfbd0264bc5415945cfc95f4f54adf5be0a95c58b8b125b85d7fb388a8592a7848b462dd474a4725a6f132e3e4fb395ade4fbfde48e9cc42a0a7d23279ac515fafcd94d9e423cc81ca237af9a5ee78422d1b4eecd2b0927ef6fe11e4614d0b2a1bb87d24e6d3b216c3432110c5696144d5fb7c4a44f59fa8581c4d6621d1827ae151ee369dd88efe73e215a5763f26f23625a992794318c3037b643faea499001b1ac5205904c3856efc93e0ef1f7ab6afc0f10a1e30e10d8d106587ad8a1575c3e59a144d9f6718ad640783f76db84c6714d7d4ae9f4d7bde9d869173b203128ccb5ee731f231ee13d814d5b1841553a0c3417b3e00c68aa4d8c4cf80793854f8e0c9793294f470f27950785b58eb32021a8dd1f3db58a8c05b719f232bd5b141fc9d910dd05766d6de35f0116a06c45dd201757082bd2c3427aec6e01866a02fccd102493a0a8bb72a66446775895b7a2e3624af087708b9701871e57cc4918ea1ab8f1b42fc4841c91350270a7bdec28e085c0f4807811b4d042db302b7c21ac34348f17aecb1ba295484f3c9b8084aca3d2af23b8152500123aaf61330105ae0b6fece06c270616891e91b9be60bcfbfef54aea69c1c5c3de61909b546cfebeb867cf46be987178594786ebee2aaf5c5bf61d649ecefee555f06934abcad7f47be73f03d3e00e99d5842f58692d379438dfff17cdf8c56996c3b16bdeb1b7903b261eda675645bb8c7a3e7a69f0652590fda506d2cd90069b9214f22c6f863795f13a9511c51228e6c37a07d3f589ecd1a5d9d077f9cf57dad933b8066f049ea425b534bb1ca3b6eaa9d2d6f0cfd062c3953bce11598e4e320face302871773a499bd00e7b779f58a4d15ca058e6d747345c0b22a5c968e9063370afd8395af4eeedb37163135e28abfc3e37b5d024514a14923a52a6b9ebd88733df93c0501f973c03cdd3cd339e824d38bb2bbf154310f05e8055a4a5b15eb4da5b5061169d75bf95b8b569baf61afd70714944142b228f2b3add0411d2afe7fbf48ff91eaa348395b22d842f570cf2e65a3d2c1f23e1a4ade7b4897593067b912895653c2ea70f2a62475c3e875fe9ddf25a123a9249007da3727f12ca062529ddb9d5d6989a0865f312829565c5a11ab63561d78424539e2d9225d4441a3a42ed1cd4ba7ecaee5208d419db9344311079fc4ce88ee02a582b1ee3ee0aaa3d50c4e659d7b2617526e92a090731a8f4d1d7a6f20a709d0b4349f53015bbcb8de99efb754545adee6a5aa87d55276481af1885433fecd5f0c82aa65370291ec055a4d69cae3420294f9b1715d59b48ec0312bc0f3b3c4fc25826bd29e569ceff2e5090c796612e5e295429886866cd1f88b3ea85ac68b47f3874ef2361f7aade352e9da7a7ae3d9ee7443eb13afdb9c82c98a7403150e8d412b603b98cce66aae38ce690f56a570dd157f01562c901d644d084916ad95d734328933331555a6a21e9598fde67f7c8840118e1651b13b4e942eea54e7af774cd3054643877f69e801c53cb769d73bd2204e36c4515a693312238f7a87f9111dbe3446ab73d9bc993abffcd6544065ab5d9b03f5f88e74e49739a317b4757a89b35617f2dc56b8a2e60a286407ab2c26530aa32a028aac7e1d840dd6b9ab33aed38126ec2516d991b62a62708b30d091d3b12df80716ca16442e862ca97c1dfae2f90c5dbba3dcdfaed40ff1efd810d01815ea55bf49c9ec58d6ecd35f1eb6944809607ed4632b6d96bfe45070f95f8c233fce011c600a046986a9c1c5669dc49333c307b075d10483198fde96a4b5b22872faf13fc1e2f6579e89767b03b93995d379dce284693ed569b534542740d32a2cf42111c4590b7ff0c3d04f5089188ca1ac1b0557a4a7487d0fe52d7e0e38107bbf1ca997fe0a71a5e97fcf585db1b9134e350de1f09755a9297a6b2e2b8bd50af644a0271ea889f1fc4379f3e864aa34fb26ed804e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85512922947e285851174676242e55f4e8558ecbf17d3ea1e8c69694658b013eae7461bd5cd6e4bf86fd60d0c0c2d66ad61b14f937548c303f482c3a76c9ed719bfcb309ce0a72a751ba0ea30e412e8cdbcd970bbbe9f7787abf76156fd27b7ce7c0223a2aba59fa18999653abe10a26cc3e3ed2db0d8fa06ca0e15c5df561693bc709461769bd6eb5b29519163b9739e23fddb20c3819644973e309a3d64f7e4a0637596b662a0ce908bc3a99d425cd95165efe0bf45812570679029324dd48ea2f80069ab83499836c681c0e19db51399b009f3fd33f02140895f8d0f6b3bf01ce42fb9d31f1b2c72ea4564c0bc1cc8860acd34789ea4d2ccc36b8601bcf187354f265782a186dc01111e25463bc05a915709760f9918da0fd227e65c8da5d7a1d91987556a1f901aa3328fbddc1c834c8b3175fe0042ba584a3b550f5229c43a6c3de4b3e7c9f4ee46bf6586e4186a985dc4136b5b381eb3827f7e3f648e3fe1249ec18a354ebfba98d7c43cd08f2be9c602b0c5d2213fc322b672d6a98ac3220d2f0adc8dae4104ee030ef6733e68be7b0f4956abbd8dc88710c3a12b3d0ff68771bbb0e28d9a50a4a39b5f98f854d11af1d2961a12a456e51da19abb9d69792dac91f66c7da6b58c2fe9bfc550c4d272af94673188adfff2d3d1d1b910fadfa9a956fcc2145390f8852b738e94faceadcbc21101e7dd2d8226793e172af5aba3e118022881e8113a93e5224ef37250949e0fa8cf485df2ce74579b46fc6381063b46fce4f35ff6f5ff6b23524100c2ce7070507933d86bbd691b3ca5b72627f962e7f058f378a813268a50f6e65965f3d4f685c7b27c3ee6ff1e659c5f31d222aa6437353266badcf052cbcd00938a7b3096c05ab28b451b07914f80cd3228810d249272826426850140620b55e45de5caf86b214cfee1a4b2b17920d9e4565b36cee7917bcba2c26a4f6e7999e925ce284cdebd55a4760b71593f632234c41248c3d28ce2b064dbc323a20fc7db527dd233e6598ed8b9d205aadf12cbf34e476d20352b9c7f2dee79efcf1dccd5253b6f06185f27ea579bba160cfe65d1fce8f1ffdc0d47408a67e675186a8b02678d4c88afafec96bd6de77d38b49685f420a6bd77b8d98b57e30d7ebc3e3f50cb5c79ef24129a752cf40fdce061ec7c11cad04ed8b19e65ce43e23bfac7b88beb77429c5057d073e2d5ad3f904293b76324db35ffad8042b74a3653d1a2a1875a02c51dd653a3aedb679fcc12fd8713a00240c94fd84512c2b39eed533eb4274ff60f4509d8c511f14cf41ecebe745aa2b656bcde24efee5440bbd83bdba73df24840afc87a21c55e71251e9c709aaf07311305a26f184cd64f13aad50d2e497630ce6e29429a9922241d4bd0f64022b613a75f6ec7847867386348ad223a64aeb79fee52cdce0349c281dc4d6bb335e2df8f9214b7d661ac4fcc732dc9320ad9d10b3c80f7e680a6dc0133f58a92ba8c95048fdf6ccec98fde05962402fbeccd07b64e772dc049b3fa20102acd3b86f3ce82ed40296272889cd477a6aa79ab981d6a48db30206fbec6ea27d7aa43b97358be101bb0fe23423af34410f6954a03314d0ff6c64529e9b420969a1eccc1891dff411ac044bdca6f741332c8a389cf30700ad7812786825d6b75c53f0bb9dc0c00b231446184334347bd01bb86e4f4ed4f5437a93e764d37be1ff15bdd7a3b0ef0e4abfea8a88f17893c48ac1ba4a042fd2ec5c06d434035ec17df97ba1ac05885c51c8ed457080c72ec18e07e6f0cb151292b809e37ba8bc3a4c17e80e1ee46f89cc9f3822c5c3a3cae262bdee1421d6b08069c3785666e513232c2c171eb8e868ea469c3f4bae970698d7ab0d27dd6245e20f68e7a6d40ea4bcfd0c362dd136e0a7306fd1abdf44570c674398fe74c9c24b04de0f8c5b722d3e05e2b6d1bce9e48624774f2a5a6cabbc0e795b6e1e28872e043e94a0b42f51ce7692b4b42d8401873522dcdb31bfed4f750c82d130b373ee9744cf1f5488dc7207e43dc108c3eec0faea6f2661e0900e1aaf18d31906fcfeb5ea97a71312e3a564065d7927ceea9c0e2024a77e08516a67fd482cc2376dcd0c7257330e394574743542a48602b2ec0b2dca48d158c221d96e45936b242e38736ca3efab14f2bc450c029b99f77f8faa7944434d331cf6bc3385dec17067fc06ed9145c4106046b34bb5bc195a2cdfbf5ae549a39779bcf7ff3cf49182c43fe0824ab21cacf00b95d86850162ab62b31331748e8e874f0837c3f3b86a2f97cd8db95482b1cb6c140538d50b75c635c91d633dd008f396e75302333e81d28473e30d98e6fc002119b51e1d22ee86f6100592bac09166b3001140bd0401e057f261f9657990d456709606b2f8e8d52a1fef812f29e6c024236b46cb5d14916502c6ed0aeb5e6253cebd78c10db834f1a15589feeba98e884d2e688b39792c8aab463c380d669b07dbf1b3fcd498d6ab6f24b3c539f8d2017fffd4e7c385dd07a76a9398ba0c7a704dfc294b0d4def4ab053c56dbc23e87d77cd566e1fe56eb064cf7321e81651cd0fb9c7cc76630c39a86019c1620c6366fc652ffa5969b0db26c18052e7179be4dda42619fc38e12ddfe2d76ae2fca7c1d80f02705f4d1023d352b188213a6600488aa1b8366fbc916bf34553ce441bc1e29309167eaee0c175651b86f5614d0e0250f7648e2987d3d6d9ac15df5cbf61168191df0463f513f282d69b06069b5dd11d104d7988f7950d14b585b31da3112f3980b38d13e481f3bb3951371af7573bfc3b3cdfec6bd42154037b582a7266d799571ed3ac476f357b962a740e3b8dcbe4fe0fbf646a55e28cf136afad1eabf323d410aa2b3d96360b431bfdf47eb8bad7a7f68e865015c2bb8a4fd47af6ad9dcd09f14934f7d4f31d13423074aae5d6d26b574ca53dfa0da8ff6ed7a1bd7f2aa45293e5aaa4df2df751e9804a3d4db4186856789ab7c1020e92c8e4f91c2ceeb40335bbe5f2bcb5380e4610d2d798e7b64fb7958bce9f12c22d950da2bcccb3c20231879b4853bc6545ef48b8e3b96a488dd72c7091eb4970c35f0310d1602e6af16eef01684b1f81b3a52838f2da5d6669b8ea5d922a0868d01691430c4693f08e69d7e8204c1d5d7740846c89e367f8feaf7c4b3c42880f41c29d6a6a93bd281299a264e3b00b660e60f036b03f108234cd72af0ecd2de4bcefab9b0876bd6898d510f4d95f6758b9cda43d3efa39a5a782381bcad252884eb5b5feaffb4be8fc5fa51cd19789c7e0d5ead59e73ba7636b4b73582c3ae67abc2d41a1487370ba652000c6b20a871e75736d4081746a66c9db14e80bbef34d85acf12c4570d5e37b7be0ea43fd0b89541c8becf286c14eab961ed5b94ef1d755a87652b54ee7cfcb2031913819540c45c5e3cb52f8ddf114a23a4aec423539363179b71c07684e882626fee4d35bf912e0810e59264f2b345fbd23df2bc04443b6a6463d31a603f32274ee044d89095d72034d7936ff0237423de6e9aae408273f7ce6658e52e50fde67505e8330eb6ff24d2604336ee4bec0dd3d903069fb8bce15a3dd034714bdb6f83ef74a9021b1270cc5bfce4fe7d6ab9ad529d189a96063ef80faf406f1f65c52a6dfec0c500d6437c60994a0ebe8cef7ebbf515d7836ce034399cff7d9a1e411a5f28f762d3f7d5faf33a84267924339e1ccd517f7960a381e02c9161b18362f784ee449fde69504e96b4071b7dc27a5215f96c8bc545d298e5b1fd09a3b00c0cd1e4103b9f6cad60a58d11eb325e047cb387f41dc7fd9d3a07897d94629348a37e789f90daed6237a3b74d7df3c3c57c597d05d497147f99c009869c27f9bc761a166106f24357cc6057f27ccd2d96cff14b5c4ccf03f44374a388d9c1595c0d7919abb5d0c584af57b9ad770ee76adb195872b4de4d4b7a3252b6e2ea2a5e4ccbe56ca52f2891bae03e1af42c5f9c77572dfcb61cbe985e0a3f4ea5f6b558606d61c7ef6779d8dd0d54ab338bcb3558964d6630668754da5df6ac16c419f13b9069f54cc68ebec4f24b836222e7982e0503f05cb9310f0556ef45156a92816cb70598b83bee6dd948d3324534ca809ea5f4beb1029e31f5a83f891cf78edb0e3241bba8d018b7ff35f3375a4544552da4cdac32a84725bb0e6e402e79f900b8ecc1043a7c7da463d9915ef0d790048a8789e1914c6378e6727f4e68f1f98452b2f516378b93483e0bf89e111a57264c7fd6219f80914b09f97b22a65760e6c1c5fc17ad7ddcdd170538bf8a9895074a4f68813ac5226bd7a715e8661c59c0cc5359f92294bb8bd822abf7e527f7efc33f536115a2d0e05d71726b6274af3cca9cd4a01d7737ac773d82a764d2c4913a71e7dd8ef844909d6dba12ca7e10cd1ad9ffbf0352c8e3e3f7a83df63695be8d44f5a4dd2d400b789d0c25eb87abbe21fd98dfaefa479294c61941dfd7557151db7cda2aeab00b81a69a530f538fb51b089b70c3e07250c92dbd352bd4bb84f2b63f98657127b8caeb8da235d3315c73359f5f58580fbdb889b33a36dd3a0543b5d9425dcce2d1f0faeb5188adaf1d5d4552ee081340e6f56bc3c44e580682319ee3cbc1c58ff5ab29d49c319df55e1e6f4151011451c5bf576d58cc113838addffd5278ab286fb9bb81b1a2ba48be93c5ef6f49ec555aa1bb0a81d3c6f6756591557006b8ca12ab37464407b722a336c564ae0fa91863a3315b66125b7f45402b2e1b29e74cc70216b776b38488c44cc625e9b9f7a28e64998d6f9a54653b3ac4ac48a494616051ce8ca6928938ec6fe05775ca419e97370ac1ad0db790d93b22e6618ca0d0263323c0db646329331b07dbf10d7a9e742e500398f9925cbfe32f207e659b072428554d91b6c4b7e6ae7980ba36f9bf5e2e95d1ffb103aeb164802cd6165bac2bb98dd0281b3428fc633ac6ca66451e7a1b3c8d02ef1d87266e9b5f6aeed1431da28926f61f8258b5f7f69c98d112505f857b9c18fecbc2d9c9332174360f9f04338780649087b5d9e21ac8cb36b5a7872140d0444b135ffb6d4f4b16e87b561c5395e787538fdc7f861b5ed4706c61e94dbd9c49f2b9e30837a4f1be69891cbe58d27c7a3caa7e71b52b16c18ff10ea7e944ddfbd2853d6568953206d05b56b155d2f8008f0d50e84fe2ea6ab8907be89d3a4dfdc3cdf91e21c1342051ee56ae943d45df7af12592420034026b151b466482675b1c5e663a2bb6d63936154113f5de0240e405555c870c620a73d5170510a68227894a5b9ce9ac093a10897f3a582f488b6baa5644b2f5f5c22925c56ccc1f9a54196925db3a1f3fdeda0a52e6e258d31dec919f5ec49eb1d1bdfcfbcf6012488ed87aace92f092c59d3fd472d511552b569e917d17da6f666d9b67544db9d258211deac65c969344687ba601d7213e1b12edf177ac36260d8c5a229211e7b262f3f077b46d36042f7ceb3ac00006b1f38248fcd896eae9dbeeab1f7d29748c7a230f294a3134c410ba9b724fff94d69154378028f4cefe7cedbf8c97e084fae399ff4cc043ce864f439a4fab200be72728009ab69924b5ca0776f00503ab8a8338dfef9f7b567eabd568cb618dc4fc295df1fbe88d19a85e37f3681b45e8e0b1e67fa2cea235bc79fd7f10a2a6e59a5baed01e17d850a0bf9e82a750ecf4488d177fe2db947b648294a0586ba6d049005a6fc76962e83749bb82dd0c96b20861a435268cfc58a3e18d3cbb31d908e4e9b74264dda0a32e64fc0d05ed6f4ad90e1567e80daec70a5c54c252571365aa6f400e74b85163fe2f5ccc8b156e51bc247355733b5215cfa297cdefd245dabeb27b142471d1ede8e06b777cfe88babf851b52af923a71bd418c1884a1a2b480545d888a8807b4a94ac55009f8a98672036d0f31fd1acde1a18bcf0ac7977aea791881906ef35b459df31f1b23f4a8602915d15114bb4d290628c4516291d07c2c9484a168e91d0faab4ee09939d40b5d80957bb2f80507d3cd1f114daaf429fbd31620286330bb60f836e4af2fa24b12367e78365e80b7496dc35e123e35014a891ce7e6188b38e13c37cc9188e632c050b26b715776e2ca3969dd178c84ae994931ed78183f01600df54873bce0483d864a1be3eac8fd30b934ec5b383a2a6e0e02415d5f70d65226d7c944279f84c7a4630972b7bfd0bb41c01004857246a003071747353b9c3c3ff4e59959980944f82e9da4e11bb740b82b28e0e67f2a4563998bbc9579de8074cc6df7cdeebeba977c0cfe0be38608159a5184593ea6200bf22afd12b3a6cc853c04160c4b6f51bcb716b3ff479a7897c42582407be970fcea9f8709d103732a9b74fd0c682f3ac8cf8cbe95d886a27814d4cef83c8efbdb22577dcddba230d462445d452745fcabd62c78e6fe53e4a6e540d92d5f8b0f01bc8ac2239d42984f6b7b35dbfcc460e8a32be0eb2952d862024fd07fa8d19b67ee3d01c2879cf40a0ca7612ebf0809733b34a2e47ef375ba7697b5d95a7f604f25813dbf54ebed1de1c848fa249484cb2dc4cf1d7b8234396957ec05d8fd64f4c38f66491d90c04cc57a63ef70f9ef8349eb7867ab05112f3761a7bb14ac5a12b9fa64a6c1bb93557fecac7a36308d55d7c6df4a23927d9313cade196aa666e68ab54ea172d91a603160db1f0b5aa62552a444211cbc386068bc8e302dd78640e505c118b2a8d6beb2510d2f9683a242e178ca8a14ff204d3b708e34f998a6055590d818d8127fc8bc835b5262d41909024318860fd41a840275ff840ae91b479eeb09a7436216a3ce29040be4933cf5a40edc1e7f22fb22fcced72e53b82ec5c3e438b43380f9c02a57bad656a62d4504be4001f743410412cc9ce894600964e233abf6a8d6a44b08a78747720fae34900382ed246c101ad69232414ab4567eb4c7fac81dbea0aa19f40c5b13999ae43519e9d44d66b90b33804f6a94b91cf59be9716492123557d585e75671b81886c855b652eb7b4f88adbf6e441114a5140b0ed6fd2b82b916f981c44b4b668d69e0291fced845a4367d647cb902a038338ed7b636945ed3a75e62511371f05806e5a179b04012f2f008d8ea168b329ab377294fda97021ed84229adf9fd619ad91cb5ea7ef27ba6313486ae77c7cc1b67c2424ff2d769b1266001b1802caf8e2c57618cd9d9a3fc53ff914e842ae34a45edda3dc64b5ac99eab373b9e1447afef14fafb63678c44c4ae51f92914c3bc5bc00096c6ae7625bdc2b36cf1025d85702364f870687c6b9cc678cf295aa3869bf20c20beb243bb32927a1765d2de2f4fe0959cbb6a2e5af9c60ce2e0d3c8d7f9a632f1aa90f45f3ba13e7a99a52999b22fd3476377a6a2d5bd1df18c585264f231c054d0e3d3e5a4af2c8086ba00ac6871de47139e1a1ddd11b4e7b0861126274eb2ac101efd63a4e537863479e4d5475d9ed90edf130f9979bb3fd16279fa0250ceb7b5659286efb228694e5e013d75f27e654879f4914bcc8ba09a471e3505a846d418adc858481454762f07d0ce105e12fbc6fe5219ed33fb079861351c69ccdc90cd1c375e83770c47109c2ab8e113c34802616cb654286f8303747247e53daff9ee0dc387d62af8d5c11bfabdafde0a0bc3e1d4dad3af69bbee4bbe2128f147953cd095eab98ca306967b4d8d74c12f5e7958b32d34f7aa6541715b3c27dfb328566c453cb26b0b15d51951466a6105cb8651d69bf8e254f16f159e15bc7ecfffd3e289734f4769da102738362e9ef4aec6f973f52ecddd2f14b4ab2dcbe6643aac2c8504ab8327afeca264ffd0c349abe5735a29d2511166d7ec611902c615e449ada30d807870ac25f8822c557a2565a9d218f69954a64d7bd22568ed010c11f06d806d2a369a9f4962f4a37bd79514a8dea9a36526ce61165286190d31ec5cd9dffdba092f902589bd0895c7402277b3a8d08d6a7297a56385cf5723315eeee6d89f2b8f49ab4c301b0159a6b16ab9bad473f660d1794cdcc45473295db9504306349bcb1c5e343a9f4afbd3b41e42f2183ed3cfbbaf661e52ae7eb38de3130dbda5645be63cdead3177cddac8274b546b9d6edc86979e0b56a887525044adafd70b0f3c96f885691142571dfa4823680cd151dc23c1ed2a71aaa348365bd573eb5966c6dcad047b274aa74e8311e510008c6adfd433c926978ecfab5afbd2958fdaed0dbf49ed3ea362fc6f19e482a3de74277f4f46803eba3aa4037fdba345d629d5881aaf678ee40852558241e22d5605b6b5f1b6c5be5f952f6ff3972954ecc95cd9434376932128109e102aaefa1eafd355141d4322298f9bc14d97c396848222232f62ac38d2605cb1ade9b486ab2bce2b03b982f50fd71ed94eb9f73b55d33aca7157979a4a22c86feb51309da783b682fea089710b969576c8f92dd9be6a5bfcdd0044d9fad5b3a2a677b182b13b7e3e94a960788bf0e5d0269a4719db8b7a57b561ba6eb86855b28ba305b4e6cd0cef040d712fdcd66125802ed311721489faff4051db2909b82450ffb9f9bc608158b817118575eeaed824b743483468a74c740a758f96c3ceeed5b789a472d5492f1e155f30c3f57ee78ddb27814c50c68bfe2718ca09d731593129bdc363d77b5a48174bea8ee068982d27e02bdf7e09399823574e4cb7ceeb8505018a7459edf5355aa17271f817dd100c1088bdb53e0dba431d62645b1f2ec4787fcde58f052ec56362f4658009400fff42ecbb52432c2e80924cd68549fcba9ff5095bc9d5a2416e1923574d12225cd85a8f4e517bc05f360b00baffb74cda0ecb24c4b58917adfe5461569674cd4bd3e5fb1c3b789785157af8a9dfabcf645261f4a6906a9bcc2d98c66545f56a2abba69a214303f4fe91fbad1bd71fa5aac259cfcb9416bf3231bd5fc9e4d68880a634505c287cf4a3d4f19e799ffa8a0d5050c8d62d2063c8f38e3f5e6930693a84751822861b190ed3cbf3ca6e2dcbf4687454d455887dc9b10880129f57577c26284465020939ac3609a6cd017dd3723ea732323a76509fbd2efd812f82546acb384995bd133be2b6c920f89620940a862cb0855949ceaa06f112bcdd41c6e7561c2af59e4802a0c5b29c0964adf822009e96da7f81097b57114277c28e48a11a522edca5ce4e28915e5345bd2fc15fdc7618a36324ffd7ed077cd8ebfd84c136a407d29944913b7bb1942cbc7bb5bb223bc8486636c2d0267c3e06fb958a4ef08dad5a8f24d8364f84cc45bb6dd7f3a101b5ef131d97e7381f3849af42524f0c595d2a5b57eab23f45db5b448e13dcec5b121517be3101b475046328edb9617ab935ff7a698f4efaa8cf1c9b377c3402304e636ce7f2969c86b5e379d2679765101bbc81c790c1130249c45dfcc8801ec73d13f3468c9b48c2e518358379c364af1088841c42915496a01c97242dc8ce4d2a27cc1db4a1a9da3c36d84d44a5eddf1dbf5b63164eddde262f7818abb4f334325cb8135535be27c3f3bf63df0907d2971abae439f0203b6051affb90e2847c8afb22bae82f2626010f551e6e099bccc5fa8f7478d766dd021bdeefa0086bda0a88d5de817fd1f2b6214d389581f02a18087946adebcd792d5e130c24e1c375f5a3d4dc515df753d0c8ceaec2b2bf54eb00453e81c21431538060ee09ff1a36b99b32441cfb96594e44ecf57a0963f3a14b15794e4621231f3713ea8d2ec936dc42223b49d140c03628aeb48fd645941035f90b5360fef982eee9b19c6c8b2d054d3a191beabb7c6145ce2edbd33369092775c9fa0a027dfa62919e248e67aa3073c43aec289b4890ea02f50ca4965e566401aa57c45c8babf7c1e5de40d83bd174187dc59da54b964d387f317f61165b18471c36668db683b2b2f1b835e0708168bd7c46b8670168f29f3098055efaec567e1aa2479f4dff27933ecbcc716c0be7e38fdd8a59579b7f071c5af596310d826e47996ec40c93a17ae6234266af2c60fa6a64768c17312a668d95946f46562284a7bfae1d6b4cb56c852cc65e4ed5a19e5d50a4bebba3d504e24bd4ded7f6b5683c504901bb7140af44b16dd245f356c4b93a314860158e77e88429e559f2732751e1abd1727b0910c5575822d308b2fe32664faa1db9d39f0b9ad26aa4b0e7f3e2ab5767e62bfed260b5fb00fee42e0be7e1b6897fa917616f16b89440b77c35831ad156d96e907e6be539f2b422316cbff38b2f068f1a88e025ab51c80d282898ec528bff33252a67118a3905350e53a533cbfbcdf304acd052d469843d822deeb8ea516ea7fa558c31367f216c89aed00d380b1546eb6690739a05ca126999b3e25a06fbeaf7606f528efcae9d4e1eea77bef6164e28d6dbb7026461c18851886db3bb06d8643fb5dab49b103ebd6f1d7b84f669f13866d3cbb3d9feef0d2691f871c17f42b409332e1209ad48b95084537613c34979332377e4212634a78d7f4a481a54e6d06d94fab2552c29d6527c4d87531f1daa32db6ad36fc56d412e252e2d312f2b20a846da5837c5087217dbbff97677f1e32b10b8354b8c1001744902f85b0fa52c8c18dd0bade0ae3379c0c391ec930933d08a189ee0fa87faef6625dd42989b54204c6c58cc64646cd3275f8dafd16bf619c8577dd01c5f2af1c40f143f2c4606a4c48eb685116d4035a2d279e7a492fa679cab35ca6005177a565bdbb61a1715810f9aa13d06e9dc1ba66f872ea74ba309742c88bd12acdb6f9776ba449c1ca29bedecec2a730b61805d79754b2895fab1a3756b0bcc9aa4137c2417dd62635a71a759362dbb35287258d6c439d32531637c6a31c64fed8905777e1d5d3609350e6389569237b1816df8fcbc01a5ef3daf02ff18d54e007e9a54e836340f4c32859e32d23b892c08893f628b4f05061a75ffc1a2abbf6ac4c5cbda222f62cae2ce1b510b27db44c14d028c975bcb865082510c2f7f6c1c52e7a8a6850ca90a16a59e4ae7c70bc8f0667463fd25d4d63bdbbdc769dd5348c3831f833ef17aec688d2a4a84e99978a6312dbef9a20100d66de9887ab17023149de2fe88ef2b4caf87f90c037fcd1ebaf553a2f28027c66db5b48cafaaa02da274320227541ad1ae74a2a2094fb79ec04880bf71af8d6ad1c68b5819b77e35a46c211392a5b3a2f9467311d601844cc37e48118fe6e6bc2c7890a2922b3f6e11a61f48f38548f2447626191f28fce39a3b2ea5a05ca5c2c991d99e8e9a5d275b021d447ebde0420aecc2b5e6df741beb4123d58ede6bd4677681dc229507a32e70a2e55b7d57a9d41cc162c6161fd2f8d494c36cc558604b0ec483f4480e65020face3de096ccda838c2bca3ee203814bde06d2f32bf980d1daca7b0a96b1d418d1cc7e0b69a35630369cded70bd6066cb1c7c1b81a14e720ebdea1e7cb90f4dcc11368dc12e1085946721365e04abefdd0b00baaaa9ae3f7bee779b9b44b660e0bd952a543b52a921c3a9d760a43400e31a92daac92e49447336e3dac405a7e1aab12ff81a3496c2481e6d316d3b7628cb77864808d120e180bcddedf1b24ba7bdbe366a29f1e7e269469108d748d7f6e42587f0238f4abfcc730c4cb3cad0e9b562f566018801d013e433fd26902d7cc20142d836c3aacfff2c54022307c3232d2df1257c5d117e9ac6410f50955e969c4fc71d77b381afa375e7765124391593f2a0ab004985e4678b7b84b6b5c33ecc22382811ce61f2c39bdfd58c2794143895698712f6ff00fcbd99272cbfc680df0775e4e142778af757791bedd0fefb7a4d32d8d76e53631423ce0c63b9d6c49d636ea01e2aaaeeef2e7f7c135a3525e9cfe3fe0bde8dd60a1fee7d9f8665602bdac385b8abad92442f3fe0903d921e653db94ceed0dc52327dbebfd2d659b40e1c0de092cf1200a2716642029620a154e98fb763ed63356debf7768652cddd51128897fccdbbb8f6fe6e089d933f67a0abd49a9161bb13e50386ee511a901e97942c6e62becba36045bb5ef1c10ce86c80e16eebb471672f840a6046e52809895a884d600a19109f60e0decdb220aa90f60e81e4cd04c64c8ba819995811c84f5b1b1a7a441fc1fc4fa88f7736cbe3b31a23be610270be540acca4b5d9813d97b648e74b9c67d1ea7265ec97431e441a5db132844890030c1207e33f5447c7aafdb25a6ca6409a6f496ec39930c20ad6b2ad449daa1fbd67536b8b9bae6202d27e9c8e7669000b71e165b4961c116dcf44a80f5e43a2c98d928814e2af42695b60110cf0ea7de3d259d4e965d340cefddea90ef571044884952856e96dc7b8b6c0a6dad478794d48c647b7b320e2772f7802b15fcc5432b04fa1e9199b167b89856cc2bde28ed4978a14678543d802d855aa188832ad4a8908c9b921df8ec085d6761c812227aaf5b3e490cc32a9f800f12dfb2d1f9d2e44ed57f7657cb8352c2502b6e8cee29fcf6c0e774eacccc2199ec4aa05981b25a09ed9b49eff9e0c4e147a4ebcefbff86dbf4fa5997a6511cba9937595c0494a9d5d2af9500037a72a22031c9994b86dc060a1d1aaf1352c431e3045cea81fc6f456509a16d4c05375a1f7febfd2c5f43c519a0a7d02a910a60606b781f1b06e3b8678bfa1709aebf3d51316e8b4e93744212d335ec989d3507667da407e09b890b547275a5e212965e53a9ceb311c536588e227a081bddff5c253f54f5900317e457a1eb1f354c4b79fb48644e52a57bd8af3207b601d1d29b5bce8c269e0dfd5935082ce73ccf5c4a91469de025efdd583295668ea2df3e7aa404375b5d82f0c588b4ec899316c0862ef3eb5e98859a2df3538ec07cb1a70f3f58da1fe260304e3c3835895f543b3f2b884f9a6b1b5075a57d72d236107c5454ee57248d2392888808b06aa098562149f9a9e8780f17491b9ba4bb28e6fb163fdc5aa4fc547cccff5f8e2444aded9de88d30f693b356b3c0356fcb1adeeac9120b4e75b571877560df57ee803621152db654f7b2ee7fee19b42a24381deb12f74df1c6413ebaa9369ea177f2e507980757294f46af61a92cdc07cb3b5d36255524aa3b65387982cfc6a307334bb26ee42f07213639167dc0e97165e2d4e80fd0df1874ed783594481c444d7b30ceff67cc37f4d50aaa740b5917f2160e9b32a1df8e2b626825993f88a34911a9346f5989b35d699ec1d1af793f0e104732af73f14dccdbeb9b70de1e1fdb691e00f4650da0c700dfb53dd847da183396f869093e17c50622bb9665c810b48ee0a9ef5bc3da24c6d02e82aec64e8f09f9395189d3bf5cb0e8fdd8880a4f13b26abe01e7cce85986f46d1f7b90ebc50ad0b679a782ff7a2e5d7ed294d4defc5f26330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09940cd739f7d4fb15db026c6afb5e3a52d1d424d5d9f49f438587f5fca5c026482e1ec58feca23fad7159e41bcd36821549f8609e629b9822b7dd541c59f4b8c01bae3ff7d3f08121bd65e5a3e3a00028120fa38e17134194b228ba5f61a5d7e3366b40814c722f187b7e30f20453199f2043b6e19aa9f28ba1ac2ec22defc22a745d01a02f35ed771e5c57306875bf74de447c3efed663997c07f2264e83b0d94177d23fa0ab17acf70a5cf1b27d9d2f2ac04c7f29551b46eba780376e320fb6838ab45760540db7eac31f1f66056b8f3ed886c5cf65ef73666d8eb058544bd7cf9a393670b7402a73f9a2afaecf0c3bafe1b73a0f331a60ad6b6b481d5ac2d2229d7cbd18c98c1be2951dabb952a9141f254f14a3ff418ab6bb6b09eff87bbc6a862287d522c0c262648adad07c0ad0f569fac25c62b290fe9bf634d2b0877401ae5282e945e7ad32f62f5b1bad2b5334cca57912d4644f5d63705367f2c3fb9abd69a7f3ac9679fe0a96c17b49c671069a606b41e5154dbdc01941a9cd4a5153e1c2c53138bd2b84e69da239c3fc82ca5d1c6a4ab44f8bf6925179f482996b5bb09f83464a65854c295fd2913df659bc05d5533bd15dc2e6b437fad2ee35089d4903dff5f8d677cbb67922be9bcc7f3863d070605c62e294b88c45cb9b066c0b5f1ee1bcbb28de35df4aa47377151c65cf75578b0cec72637604776a2d437efb6e515b2a8ceb8c6cfbdb031cfc42340897fae3a56ece1db21b787cae809a160d2c0bc41ff8eb9be11684d2570386c2b6cc367d1366c1a1683cfc80b1b254906cc46f8d07e3d78e20853e32422381630fccdc58c43c54fc49949351623fe70685c3b3032c015c6130e593b5ae3b24a1d32e730f2d60731fd319f85faa234ea45d2ff198c0caf3daf139831ca78882044529ab174c27c7d464ac05fa126f975e53a6bdc2130822aa3d396849a82497c41682a2eea75152c6921d7fb936b9effec1d24928d25ad7e327da185d2d1b096ae9e076a9e70498a0e218378cf5cc1550f211dda8f276f5f4484138c942ea5aef99079b70bbd6067e6e24b01467456aa2dcba15a490e47f126de082de58d4c05814ddf77d2b5a0bbf1b3dada6dc7be65d4bf9b2a4a4a6d7daae0862e50795ce5874d92df5c312f9ac9b3e16a17119229cacff8181f25b83a9eae13afb96b3b1e25c28984f39b72dc008a6c8c19ca4aa3c72c92b2429e1e18f9a4dabcb4e88f1aa678b1bb65b4a528b71129790063dcbc3c12f5f1dabc5023a29a38b82772639339d98e475cd6daae9dcc609325123694c78d475c51943fac998606e534095d07dc19b5fc713f72058b72777c61034d080f716af700560b75bfc6761ff80432a23ea5fb8b82aff5c61dd27c67b02cbc866216796423a43b9b72bc41256c885b58861e88f8845836637742f225044a7d30f72b4da151c770c50c00adce4020979e7b0b8a78efb2ac3af407d429add268f37b3f376552105d58b60e8b9c7ac066c7372c43716ac9bc81dbe6b591843d09d64bd65be53e1789c5852dc760592db951b43396f4ee5040b91196d84a3594191cf940aaf8b5e80574ede1e3fe8b462a79541a1e65e9c7b9ea9e1439992e78edd07916d65796906edb724ca4646d60477f933a8862ad6498e6c3b33a20a45f6d5b024f70c11c9efc1f3d5c6eca6578c6c6fccf2d9b949835047c704098ae0a26d94a01c1e2cef00bf2b2aa2b0b53016bda73ec456b29df0a17ef00a6eff08c3a77990aa7ea6c4ac7f77294b2398f0a4730d907a7a231d252f55a094b0240a762caae334cfdc8fdb9066bdd81db86f960bb9bf3f34310e248f7b7ef9008d57843058374aa7ac364f1dfc3c049e0c830423a1fc850388f93cb71b4a7401b0dca9ff4fc8f699e17a95be1b48d8603eb02bba60f8fd564176105bae909073d6dd253ace7a349bc7dba588fc1ff9b3c9101056265cfb1d381199e1b46e1eec1bb8f3c10d570ce499e133e26aee7f8c5bd6ef7f20d14df8e2fb977c006af0d71bcd515bf3e6549790962adfaddc42b2141ec3c470dd7223cf3ca75cfc0af3a3e2be39a13111d2c3de94ca9d228c29fce1b1cd7a8d65b91f8df317e596c6e37421ca90ffab153da01a56759f32cd43717eb149191a092ab39e2e830a99d0d74611bf201038fe853cacba70b348513bc06f575622551f7b0745193befe034c4922b718f4d2fbb8fb1ae39f8e7b7d80edacaec31bcc94fabd7e05ff3c8bf1fcd96ec64b4d36d9a4b853e11f1b64b7d9b62d67ee0efd12e6814d91739c21a3307c2caf041e9ce230fa131c2e2fbbcd01fb5e2111c8928086ada1a7baf11fd7c72d7d098777a0496aa70d390d4dad93272bfd356ad2ed0cff4d536cf000dd34b461ae702da48acfe27fa56812027ca7e99fe956a32958e76635ec200cc0f7414f5126f5831cd42a694fbaff8e0cede78646ad517f99b5c680ccdb0177331be0458323987723f95ae5a532fb23bf53d8f7d08c92bb4fba732c60c06b28d3b4004ed83a52ae14191e0b6d0ddeff3cbc23a3398586a2e64a3d8152a50c08106a28c63926b41b707c74561b37f89bc76267d25ab11e647833015c1d37c96f7546afcf74fc3bf42bc9b80fccfed66bbde2e7189457095e5e8efe0b24f1805a7b7a1fdcc36f8c5389e58175a3bc55e14bbc6d714a6458a5cdb842fdb1e8a3f2055d998c5b74da2acc858de33b797940353c510187cc1b8174784f2db80f69b3801528ef0a97dfe883c43198d0f5f65607aa24bb105acc694ef4c343ac36b01c44f09d015772ac1f6da971c0fa57cdde39bbdffdf2a525c8f95f9d063a50dbde405f4d13edee039f2d32da85e1d17baae43a39de8c281b7235fd57680e2e84bf5b4a2edb35d84624270f23fc61e5632256891d12deafeef1ff99c5ec3ed40d1d82c22ecb00ca5b850416daa10b6556cbe3e51cb7045257662c889623382a0cf3edff27aa46694e3056b0b7a305100ec099572a0f7f073649a5f7bcf35000bed54735d5d243290028768d225e5c933696bcb1c22904ec8c0fcb2ce1b02580fe0ededdf96ccf58910c0fad19f4275d57499c52251ae9b27457506882fb5c094a0201919050e8b695386aeabbd83d3f21c4d36ec7014322624071cc5f50cd5246efc667dfd2aab85fea7213dd8ea3815a73c222cf7fb601b5b97fc8023986a6e5e32773ed2b4feb2e66a4a36be1d2bc57b1f3736c6b7c8da5e63120a73db731e286ee61c8d691cda27a008611bc8f55aeaa8af101d38189c6824f5149657ea76fd1c8798c1fa00433cdbbe81d3862edd51a254ebfeec722ebb647993a67329f0020f598f46b9d3074d1298181b01c8ef84369cfab04335e9389303ade514ecfcb7423b6bd9b5c7a5d1fd7ea39e4a9b62d12719a81cd67508336daecd10bbe7942e2a8f3af52d2e7d2ce79853ed52e00e6dbc56e3ed67291b61e819800ad68d14cc1544dee5d78707b98d923b66fd154b8b5f555573e99f92e5eacda5a4c5065455813a93046627828f859c66834031685b59a157ee0d1a4fdbb5b8a4d5285377fa72ac3dfced0227b82f775044769d9fd99158573ceb2038a936d0e6ef3c1b0427cf836fdb3e5fb2560d9dfb9d32277be7f0c6fd73bee75c1e508d4bd4b11b2a840addad14c836e1a799d6c2824ff0715e926ec74e272eda4d4cb8ce56206e2284979b8b9a7b54fa7a2219d1a1e4a907906ee0f2cc9920312e226db1baaf7fd9e6f975c422482ce1b3ee362db02c48953d776802b04f9e9900bd540efa314054ca0e8d83517a652bc8eafff6455fa678849a0064fd16427da07b213046844aa96ba45874fa86307fedc81a48492b29a4273fce0131b652a45cedcb045910ec01154ca593914fa1ca51e8de67f103dd50330c7f10bfe0127f8814c0219d0cb0974a902b3556ddcc7f0aa514603162c077e1ccee490a1624567fd8535e73aa9102692baf3201640a4b3e8e7cc5c0d66535382231e9235279beed616669652f81c94e39dec24c4c86e68859d37e42aaeff1cd725337b21447d1f4c1752bcb83137bbeb1074b4254866a7ae38a88e72fc76b4982f17202918456f050bce3a5db343a262537b3d0b93114814e10d6a638506c957c1d1b40de379bc80b1685920302f6afde1147bc23f80a968d5d558b2de03ba4ceedc0bf5a6287a8e246b51a6cb12e51bfb78d6bae269e347dd3fc99ca06ac0b393326e78c0e37bc95d4c7025e00e552e4a492c7a288da1c09f26e95f5c261597e519dc1f49d31ce199fbce7ce7bb3c4bd81ff8f5907bc21ba158005e27e96f043e3afe27ae2b5ceadde961d4bfc50d32b8cd079cb8072aa73117efeab23bd0909be03281319baf0dba435dfcacc43c04fb0e92ce68bfea692d0a388eb29a76c7b6e801f293440f8c7bedfc1d745801cff2f431e4c01816aa842a2adcd20e5259ccfd5338d6d4a944bb6de1f337485d68876a97b193fa3f7c3877589d81687bc6bbef845161fc9b1bad9fb52b78c01255f6bcf1c0df3e27dde24303ebaaf1bacfb66326ef37b504a7aabb2b6a8e12dd4a274fdd3ccbd656f77d1d61d089a1d343766dede14513ce3db16549f7d028984e8d83dc222cbc973e8e042f46c619044b8280fb404964eea8fcafdfd3ce8048cc32424f45ee13a8b7d51ac06768b97928589802874f8f2b06f73b6fa1037d707b79d0fbc7b8cd33eaba9f92f8029b254381a136ce1be787a1607e197734fd79deede4c7a0e00e3138f70cf0cc52dcb510b47c68055b8338869538a21029d3956b9ec0490ee6649312821c21cb8c02219ec16178128ab57b73882eeb8ab8d1a9a4fb5c7c80d506282c524a9f7830212b3c90f7fba06c6a2d2ced382314dd4b5006b3944cca87fef0f0901fd4ed59b54cdbd6895741f510c48556a2bf05dfff99084f95a43cd64c2c8d3d33509f53b40fc61251445bd25317b53b06042f93501eade5c12297d28e0da2ade14cb4987c4a0015cff891def3ea452fdd36957f426d18ba5672fe19d6955da1648e7fd8ca88056dc90b9be5840ebbf6b39ad1798f7340297d2bcd5e71583db489aa88e976d94e8fb011f3148f76c9596b3f4dfbd739ae6ada37505f773f693f8cd47298ab3d87fe5ae4a1273c95dd57457fda0fbb7b7b316474f50c80d1c5c2d504f60445fe1b17a9d7a5ab8f15a2618c10c8583b647bd0eff8c4b0436ce5e53c1ec51ed29e0a3f83ed5d137d0dfcdcb56e17ee3b1949441b2467b2fcc738636fe8fa394122d4f85ce337ca5f5b9667a38b2a633037913ddeeb65b4d0fecee83f9b4cc85b05770692b3d0f7ac24026a15ed5969ffec02816265107bd712aea8c4375d00aee5734ebf3faaa5df71a223a4215b0f9f33aaff5b6c38df60f33c3330f8a95ed566a0561d1c0e8a6d8cf846bece12cebf770b64b541b2563b206420c7208831bc58ce6e0069a9a2ff0b67a6eff7b99a68759a621410e0090a8664f63427d4aa6660f95ec9274a2df0d401220ca8f26b980ed898e9ce66bfdb21a0759ff81003eb363258c75ac59e4a921f2dfb4ccff252ef4ed0cf627eb5a41ce5d87880d2e9c648a0dab412a69f0fb7e9d1fcda2861a2134941a0766cb548b75017e91dfc2936518bc5e32f3a567cbb97859e040e17b11c8a48bdaac609fd6863d850347f5bae9d5976a96209a642c8e4d16f1eace93adcd91f8be2517f640cedac6dc16456b2d7c3e9ecee8222f54c9e0d1503e575fba999da2d30aa917fcda618036cda4bf750efc37ecd609b26972f1b7e6c6ff6a7251e179cf3b852dfc24dd6323b7cddaad8da0d2842a83589942e3987f86fbcba3fbdc7202cafa856ab17e6589990e20dec530e654db777b9ee2edbbc1f0a9a30d7d773cd27ea3c81c094e61eb9c3064e5da954780a2c9896fad053ccc1533f583955c45f874a4e24fbc78dabc6ccc1071d857ddde151715d0e8b79714b39553218f77a760a69b3d6f7d3191b3cd41cbc9e39504b295c636ff592d66a8245f7fd9ec8066f6b255f593346a53129fb1a198ae1a6431b61f581ff97fd7eedba819010f1ea2627a528d2abc435f51863e929f498adedc119cc548fbf4ae55ba57eef5058359d02143c372ed692be0343423bc0a8dee4927aa1b2805931c1b4db3e6610e7ca9864f4b1b9196a1d97fc363558e36459552c683c46bf7496b93ccefab5300a805f92f4d75bfa9cbbf5a6881f766ac687a113217d9caa1afc94ca4690f4b90daa7afd9ce35b8dac6a5cd5d41c88f9788f5b4e968b535cdd90084c88dbee598b460ecc86512d5176fe94d53924259af4a1bd8054ead7d8fa99256d7f1169ffacf8b089f185a72c2f8882af5cef70576b31e30609ed29cad49d48d47493343240e36fdc98dced1775047926f2afe75ca5b049b1cd36319bc15e3f532c5a3b05d352d8bde225994a27fcaa7c2f1c5eac6a0945c4a21076388d8257a672fda339bb5b9d3f6fe6a2bd66e1edc0949cb4b4f3bd8461c2337be25dcfbd112ea88221f32111beb3df4c1fb3c6ff67dbe00b94dd193ef6d9684cdb9db9a122631d6dff12178c9872861bd54eac2e386feb4f14ebbc4486a859a5c39ed2c3761a15e6e2bccb6540be9b9ba889c83d0c17e0fb2a509ab14e34cf88b269145fd4620109dc791c0d9060ba71ff06392bcdd9898714353129d56fef2603757cb66f6fbe86d4806a63014343c956b74eb4940fcb30d747491efad8898927312aefe778c18069c9dbe651b1f7c77d85b3794e9f2fd43ad871bb847225b07a7fbef06f3622951bb0761ec1a3a1223d88a72fb74d64159b25ca22c7b3ff6cacbce4c94d026fb81d4cf8d3ce4867b4844ad44307aa3dc7856a10b227b238ac4153d88046eeb6671ff7ca16fa22ef5e161b4f98f020d23077ffa9b12dc0fbbd67acfdf07b009a5e49a7e594f0fedfbdf1c0750e56669a737097c858fb7d22fe3e10fa1a073db46c0027d603693406a8f17b50e59900300fd1b883708580611c24c69fc9745d39bbd49fc707e430ae1f82516a11fc9c0bc0d9ffffff26f3df5a59a2af3740e691e104bf7506470179649ff787a7d4cd20b4083f5fe063a1cdac5cfa493dcd74ef9869846e1c5ba1bd91a767901f30c78d4eb4e27911c007bc4527917c8061636d4a258b830ff63270de32bec19801245749bfc7545397aca6b9204055b9112e8fe83580e3c6dc984ba92cc1f40fcbda8bdda341d354310a745bbb229242274ded668f3ae6cff99d35bec72ba9be05907f6cbbe1e5d4c7e4a0b251519b4ae78892509279ea22f92641ce7544b3c51f29f8045afd9ce2177182d9dd5582fe67bbb7121512242f2090650d45cbf1ce1063d6475617d8178ff84fffa96830d061fbb4cd4b1566620a9baba252d4605a6966e2d34db49bf7e611018a62e0b22d76bd73dd13fccb65fbd7d9987d3369476946a266ae297b78c1c052fd728793ba1443039858ff9c8d5d2782bc344406091ee9e4a71993aef791097059ae4632e3d5fae76c8cc4b99a76b60e9826e0e0ad84c2fd0fa05f1b5933f41012f4c49ddb349237a0e3910e384b0da45bdec699f47d5a034d8ef7becd20fc800b76280fb74a86543fb3def7bd45db4fe5004b2e2ec17b2da13ff4e2f64a629e235e0fae0c167aed3298f748260827270047f981790533950b826bfa115bf53630a990e7c6b11266b59c49d2485c3ffd736ab08b95b2fe8691b070a21006dc4d2e54d3b8136546b89772aa8b983bc0fc153b180dd21811b9b053eebac57f2dca5752a9423f89f6a3c8a68aba07a19af08f7fc1695acfa8fd8a3d7ff920340baffc2e1f613e3e125b51adc7d45d7f07cd30e6d168448efab39ce4c8873a10e21ee1e10b88077104773eadd6412859f0041b9bdaf660cc2564680fa59672a2c42e6f680405888624d43020dc66f502179d2e8141b9dcde60e36863bbf03d9c30d95534957fcd23705c76aaa93aa81b9f845aa39791108fe0798ae25bf29a483b24074b3478b73121f0cbc68e2e2cb9c852e85f19eaca8e08bfbfe8f62dc902751ae64e6f5223b9c09092ced2a01087c6f5cc1cec4e800a7aa3b67aaf722ec65d45ddea37db3890de8c34e1b1f872ddef06ad55484a28e79ec65ef4ab10ab9c82d1fafa66616b54a778d1b5113ca403b59d2f7f428190d7d7705323b5bf52412980408e6fe7e6156328e49bd8ab4d15c1f8187a175b56fde728847a64a25e1b0e529be1ed8d2bcd0dc1b95098efc049ff4a9d8c64922fb392cf488f507ae8cea786e4076e4a8531424fba8583fe018df6b5e406a5771d6bf588dc643fe101067e8ed748050df6f2a737c248227f85b9978e76b23eeba86d928faebf93f93a9b7b4ed1a92cd5a6b6ede9a55e25175deaa079751d59db736736bc221fc39cf148aca29d48852786b2166bfeb7116fbb91be0bc47cdf6630159a3bcedbb878fec31ac6a131af2db6e4d12e1843b514795b8d1256d0cc0451a227090cfbb7db0b73f1188023795692a64ea3594722e393474bd52e3a7ab17388a4f468abc7aa9069952034fc6fa4a41648550b4d163159f77a6b72448da47ef4b5161a2fc833bbe1c779d05fce6d58778ea30b7cfaab9d354bf1009687f750b9a53f2556ce1a7eec5e4ef9c4898bc10e66b87ba2bccedee86193030fd3f1feb74f07cd4ed231e771a1acfd867e439798c57fc7b5dbdd20ec6b4636d3c72a699b38907ee7d97011130200a83140f374e1b37507ede8c744fddae4fbc2b4f320b8c3ae455a98452fa7318d482c9409199bf9aeede1d861cbd88ea556306a9895fd55f98f8370b0385427d8fe5649c3a6495c52060790db41e5b9e1c9282d6f3ca4aa4bf312d0baed8bc57bd1f616109015ccb0ec0423823f63fbb7e7c743736a61c5b209656a85a3e4ee43c6d2d5511e6f956994fa323a314715608744b440f98c4989c7810ecf66457a3eb61b32042673b3d1d8fd151d0beb47d589fe9bc80cb0d69435b87458c6bf4c6c21e6094bdf706a7ad2940e7e5eb6c9485fcca4d72cbcf7754ce1d62be87c1c441451b7ca556c55e743056647a37356107f4c1e5e70a3d218380800dc0afe15a150867944101d407ae95eff9fb8b11eb9bdae442a77093126566c674bffc32e6b8db916817a13abd6f160cd8ae1373272f3751c0640ec88b1f30c5d4c22e3bb419c184ddf0306a45ee5e327e807e30a389188f57818d681e94f4815cb6e7bd5ab76e6c9f88e1054953eadff9454a573eaf9f303e2bbb1b4612563caa948c3eb6b61f1b5c4fe0c1da5ce61df54c4f74619202f6bb2d4efd7f9d3a7f3f0f85597df00ed508d0362974c01a2577883f4ee0e2f9105102a305961175293ecd37a3df9c0015f685bdad15c596cf0f90355f72b41b67efe608a99dc99c0a71d08a37b6db7a74b6fb4257a36fbe9891b9e637269dcc4a33e3d28a370935e4446394b87e5906b06023700be7b537ed7782d5e7bc67e29bf27ab0aa665d81f7cbeeafb6a2bfa4175ae5a479150f31c4e7503ecc9c4530ae01b0d8fef4ce3b14ea300e7e82427609e204d36fcb47a02aa337c23ace36ade9fd9480fa207ff90458ac84813df2c75aa70637688b22310972237f92667864035ce9a9a068ae71ed6e3b5c58c0676135703c8978a90ea62a09ad5e9dbd7bdf3e7ca3f672da570c281c571bf3ba07e60de1fd879f0d67ebd21dfd14a163d662a5e2c112b7b9e891516aff528d558189c6aadf27a0a6feb57ca76deb0f0e2f8198a55b3a1d11e0f3e02f3f30855a1163725392d27b68299c33c7239ae61b1fd6040568e7663d94fa8138ca372b037b663dc6352a6770c7914c5a28a6e3e189b4e729c4286ddd1feed13e0a1909d67e8ff14205a28c784f660bba743b644ef2fcb590f0f5c15ca7d69c8de41c95ea1a53fb9dc32f3a3c47bbff418b671c400e610c1ce427c550e84cfd563eac9de787ec78e3be87d48433df41ad28336f83b7a9f95fadbf757ab0a170c378e217ea2426039be060596a9718d729698fcdb5844293ad8c6807c8af67f7f9950af6ba71b3fefa0aedbe49e3987ed8140b15c34143dccbb66642b1421445454d4cf4ee0711cd6c2a1cc67de7f9d66e8262851864bcc83820a0ccb8fcd01319a2c0572b9f36555f8c0fe047d1e69d6b100a134f3e2d2248235b3a5f50683b4ba78564c3fe2ffefc4ec91d0bd7770b46ee6488249a62f70e31f571c249d550bd70c0de565e7f0e63f9a321d137eadccd4422b909d772a12739449d18735d0d2f962704b47a6bd296d42aa5a9ffacd5fc4a5d95c4490f6f4a819dd132f7ef6333d60ffc0ff105604ec4d9aae07409bc6fb445372b595fbafebef61f3f6b70fbe2a09299c8e87e7b6678cd0dd4d952a3ff1eb86391b17c7747d23cacddc3457a624ee0d1f969f2389302f9a032897a5bc9e6cc6a3f78596266217667abf845a97a806fc4d9139a6ff3007287a2dce196cbc1363096531ce6ccb13202d7a385e9261b6042461a210ca2ba4732feacfc3e8ab6cfc51a08f0e33322d3b0648c893b01d537765c25efeae867b03dc81604838451eafac9537e74da6eafea7d63b0804783ac324aaddb13d1e4bc2aedd875ba04836c80eccf33f73ff75ff6a35d7a6eb56aaca6610d105da0b770540f17ba5c89c5343484a0e882262197e2c3fde89d92a8637fa54b3a1f13eff645b5a5c806afab325abdc570c8bdcf7a7389bd5017d2c0fc4282b26435461247a4a5249ece732fbb83b97822ddee8280c63b84e3c5502a1ad92498d2fb0a9f00fabad32677dee9675620a71c1857bb53f55a4f140d60af1c4e21349a8060e04ee9364fb46806bf9937c2f34c0dc05fe3d27981e96f5c1c5a7c856a1dffd3596017a8fb0596542e77ce6751df7afacb1046b209d9a621b6ca7353908f94f7c50aa28bd62e614840473bdbf542a4b832180da7b2d0803d3d26d9888a500ad854a064f7c6ece4c87c0ed3bf6d243962929d43f8540be1441ef0ff1e8d76aca69d56d4e591fa3120ef61dcdfa1a6d6701e4469111ac12d5bba72cc17a7a9c4f68b9e0fa95b9e19eadd6680cedbe9ea27fbbcf2fb795e052000734fd8b2977a9ba10c03d611dba0c1e69a62ab7bdab888a308e3e56ed36e031329e668bee1ac5eeb10035ecf59ccb8229c849a41fba8f13e9647b9f765856e4f312a5a0ef6d379786c1d9e1bd00c261a74772685ab6ead43e7695cf6dfc7bc619ca4f65ea2e2ff2eba32079e44e25e269af36fd356cb2a4e9d14438de143b1983cb6dee8f8ad13a1e5dcb260d93e13e0cbfa8b91bc2f0672f1fd1d6e387529002f4e31e2f88c88e1ecd06bb5d09b4df1df415861647587453a0f1688348907c040bbbb309a5063a1228401887709f692888456db74b3034aa424b82cdd5f87fbe6c5076a5d1d281799945047e7a4d7f5de3bbb7e4f884f9d577e99e9359af75c4dff920024276055a1bd60d675169288e8866067c383e12ce6944c03a68e2e9ee5b1640df5b0425d133d580505150b588330e948635beed84a600e81f18f25f062a08407991c072582e4776ef0dd00f5da3bb722565540785a434fe17baf14afc6b9c06212bf69c25b22ad3738323d7a2cf4e7fd178e9870999fa3b9692e629b435480e3213666e098ec97724b820577d5c66247b3d948be1d35d663db5380fb7d78eadafa8d0223e017db9fabde31203db6e804cb3b94065bb08f61b6141d8d4eaddeae35bcf6bc5fffe94300556b4e11bf212a6936f23b89e206f1cda98adc7978f51b2e98a4cf8e04dfe6f5be74c7fefad96bcd89067472ca78a6fd065b2faba4b5fbde96d5ce96c302f3b4a85c00232dcb21f99061e7e1f190d6c3105118b793ddc5059371f346ddc9bf96a2be8d911caa176af040d74e109218e7f3a68133b97dd8476f17d9bc778b98eed16e63803bfbf77a763d4c9dc0c1b192fde8adff67629d0d4ae69d7a941fe6315262e13cb628cf98b9a91bf54af3dc9717bb446fa616f73863c72b9ef69585caae8f241d560922b74e6690df8b1d9b54b009b574ed676ea27aaa4e8da70751c131b019096bf3a6c8a1be93da147861f6951ceed23db4658d5053ce6909b148fa43bf84b064ab15314d11400c09e5ce36492726aea0a3afb311906daa21aeafcc482d5ef1c6d84621daa71121bdb42c68068f79d8b9bfa92ed580ebeb402a241fe42f1af8cc140300c9eb5c6c34e419e85cf27257e41bf450f99c9278f01e65eda3c10935be4fec311599c1a737c8175f12bb9a3b5c9fb8ecd6915cf32d0479d4d311e5318ac01fb53fea4e0460f2a61a0df17ecd4c7f1dd21921745881277b1660b03c152892d750824bfcda58114ecc7620c05c31cf3f4c94617b3224600f631ec321692e407cc551495f1c90c5db3bcc2384d8938cd4fda9d2dd68a3dc9077d777c17c9c38def951edb4c46521ae0c7efa46e0b3d38c4e230ed357fac6b86b8c5de0f172871eed47f40e35e424691afbef3a4573feb7fbf7a9afcf53b1ab470c3ec5740afdf78b46ae8b1aa4bfcf868f8e2dac1bcc115b91e451b491269f62bf0efaf261a39e4458f29eca37ff1f52ee98efc231ef63f3ee3868078ffd494e11da418ae6a9b77da208b0f16a2362f8806c45f95f0b03ba2b5af509d887c5960252984fb18a8ffc40685ede22d66d1dcd02ce8a3fe84244eb1b96f15ecef57afe7f79ed6e0e7f0e572d13970c9ca76064eaeddce2cf595dfd65aa13510a57941cc61e894e1aaa17ac8c020b6ac2657ee7c6b760ebd193a01849ecfca62c0d7ce6a5cd35ad42a43b6ebaf85bdc285acb0493de1a6c2af8305d03611c629de7012cdf748e2aa49483cabad4ada778a49807db68ec97764df60d8ffa04e1f4bbac5c70aed7bfa49b6702872c70be0dcd6aacfb7832daa8d4be401016d8831d1bb9ab801e9417a116a2b7a702c60a71b6ad13530396dec03b5bc43b03557a434ecbc79bb74c30f55c814975ee3c502837a9c61937d4bea7b02e39a5d4504713f56c621f2fcec2f84d3cfe257024ac0f72c36a509e23783eed00cd84b512eb953ab651da63aceb8d60c6a27b53e1b9d07ea1e27d62949ef34c2528cffabec2e7d680ac36395def7c24e35d5809039a8afa861e590aff34ce05ac3c9bd3f51e9c5d5decfc7d62f2bdd92c9cf4017f70db933446cbc838015ebf37a5bf2f8bea3f86cbc4d35bf4231a952e6fa301c751481f831af5beda3617aeedcae8646ebbab43bea37e235d1c36f60a0c1c876e283a97f5c909973377fa9d29a25da127e5186ca542d11b6d110f5dabde2d827d07bfa8f8f0695e2f5bc1cf14a8428d97921cc32daab41a048832c4c57fc8d46504e38e07548b8b7dd62d276e7a15c411618845caf1c34792fabdf604bb58273d61337237f5831c0dffb13a98819dfd2d83a83f0dcfb9a98438a90ddcf0fc81fd1295f0b9ad63b76f7e54587d798296e09afdb99e072f1f2183e2032d110eb7ddfab23726c34b81d47b27cb287d9be899fca3d93e703bef0f453d2a687fae1b404a67420c92118c7acdc408db5ddf3fafe9034817d291d6044128821e1c1d97701811569ac277fb8e3ebee006d81148f31dcde4536d9d58006b8a3a46b3bcab8aea098e533f462b469b355d8fdd8bf8acdd5440e341af8d079355285926f444dd577122ffd7280bf8d1601b55c685e46222d70b117640f3aa96531b030bf266210b0d0ac5124e3af45afb312fa143a9255e3bc5ce7965284666c2e9efd8bbb567254c29e0f5e766d03640afc96a68647c1e74a72246faee927688748ad93e65d7d6937098e5775fabd5f019194eb98fe85ba01b435be1addb16fc798c9822aaabc59f4cda6485646df7a9381e88e2cf3e90ed94324ac0cdef4883bbf1d1b60b13fd8e486e0dadb07250b141f22e0773d0e3e7cfa97d04b4f844974c57ad4a59a80f2f536b937316c77a8ac02d9039ce814c7b61443643d7124a6e02784a1fa60f16db1edd5bae20358648858c20721fce3fa1e15260909fd632e426eed1fe8aa829030c5c1b26cb3819e71a6554d26e943b4305e7b361874645905f6162a27cf5c85d399cca395f01ae5f28bcf58182e9622c6d60df41ef867a3341ec93cd08f037c7918c01c8e77c0e9aef25468c040f243b0378d29a03eebd975a518806ea8d4f59d848eea3146e41c0f80438e07cbfca320bfc015b863293e56654f20a1f84bc574c11556b380fdc88d9396892b76752cf79823c1b6cc93f3be30cf97f07f2b810f45f2e94260938476107949a6328b00e3b2d53561158a73475029afcaaca1795ecff252a7768efd15e290801fbf78203c215124eb1fb581848176e72747d7e418b85a11bd5f538854ece221d95b6950a8e5670d2060c504e416ef6e4fd7f466e5af96d0b6c66ee02ba1038dc52d516806f0ac23398914162b91b6f134b87867584bd16cc5117c907f9dc8cbb5837e2ba187d28a0af75de0a355018b59d6bdadffed2d3ea886e0c3aa801591dba1007f151afb49b7d7d74c7197700ae6d386f30e1ff262416a9e339ac9c34990b133a6f257935b3f965c3bb0595cfb1050420c23feeb4916e40c6accc813537831f8319e9ab2905026a6035e9e4627ea95c0f4b38a8fd22c9bb33be5d31a419da6830133e36c341bb2a34614026c18790f53b34415e506e51d4d0de64e1926d4282be8faa77cfa008a2c805038648d93dc3c5c3d51befc18d41b167206cc089ec3b33ec42704efce594f6995539d940e3c3d4476fcba1c0928368965824187a5da0cb835ba4b12484ba445d554b7404902dd9a1371d1ee405e76b677144a90bd5b4d42174a94d2bb197d1b919d0ca174b54b5f57ac6cbe85c69bc983a75dd71ce02f4df5d40ddf565333d825fe5c824c555c0185c294bc59311b12d3ab734277d724c744803be5c4c0521b4bcef612bcbe447189336cde7107738f15b7360a2297ae4cd79087437a423d87b4458125f7c5de277dbc26743c44da8541641bd0119df630e000dffa7f535663f5badd0409b2f7844612d4e82b022b80cf47d3e9c9bee86be1f0b034e2dbddc2bffe1f746fb5ac16c6505532029cfd0b28b6963b49573e863837f2860436056a098bd7e57df65f9a95caabf6aefc40add1cb3f2e807482708c9c619bc3c2b8d374baf3d502f0b5fc391e020c17bd97cf8ffd5d5e5cea57098b96676ff25be62ef830d5389633fd846469342b2ec06d1f0faaee6efc6eb1563a2b0aea5e62f420f20cc7ef583ef2d3bf2af9d6e7d37e0702bb9519b281291da3f1d5c1738350bdeec0cbcf63afe4675d0c05c86c4d018e9425c85140472b3f9fec7f2d774ba7c9dd18bb43cd199feb113d97117c2a03754d4ea2d102b6ef84e1c3cd019b78d2c0e49f3c999752342035194649dcddb6a84e3167b04ab4a5f366f2f643039ea95d88183cc926a19378c851c6ffef538f32123747f379515753f013e5a3d25ac6ac85e2ddc095a433459a608a6a030c54b5f64c583edbbee8cec554ee3afc41c307cb6926b81c99b66a4cd2d5c79ef4cb7daca8f848a386b09baaf2a1e850d872bfc0e58c04fd4d5c5c487a090ffe1157123c3ce044c1a421865debe57c6c83d29e264c9a40260c1bf1a7752b442dd551611115512dcdc0741c7a5450e6195836739b9f5f2dcb5bcf9ba6d8994a9d024ac62e2961d60b68445bdf153dbe07595d3034e4446cf91c34f2ceb19fcd278527b9405e48c61cb193d467e4f4872e6758cb74f3f3e6f6e02afa8187a669886cea24b520815edfb23507b43a4b335b1e13a39f0110de29662582b95eb6dfba7fb9a02628d428d6039b7c52ed71013ba08e694bab1e3978ce03be25eb3e9279b11195a8b6ec04f66fb9c0e6633945be4d1d11445aaf5ca8f8b3aa44e03510d0675e2a11492d3fa49a027f279c9e07b83d7d028d90359c8d27466354e5659b17e1ac804be11d3dfe301ac05d385abeb59abb4a297023ea2620db177cf814c43f7f01e1e3745e1dde0e792f3440675f250d2a9aa0574ff1934ca4229e272755b6587c793161e57fe5fd523409df35f6f0e25880e17eba40f7bd87cd1affeac0becddbda1ac4641a3b685aebbfe245809c67091e01c31bc5375e13126eb007450f055516e45cd09e6ed289a6fa9a4a417baa23ec6eb1536ca408040d8701a4118c2c4293a3b41eb6eb026ab1a2df58e2cd3f1ac5b962a6b8ff5f09291552c5b2502a75b65109bfd28fd490978f997bb5940d651987775e8cc46508e42306075d62d61a9a0122979acb00522c16d2056f83d4df9156c68f268649e01702a9ed0e369f5164b0fea1dcb6f0c8cd46bf74c14dc67b810655e2cc90a55a206dc2b77c4bca455a346aa9fcd6a120642e68178b6dec482c1868e9b3fa440bfb45464ce9c8df2470734994351353e59963be4a2b35b18f4e135a694646e5b04177d455eaefef1d27f56eb072f18727efc1b1abc7d35ca53f9f581de217a5a47bef9bbceca617a38bd39d1fa658a184d227e80b4cbfbf4cd77ac22772723c9796f3089c291afe2c59ac46aaade74019d313b25c4b70d90edf21fbdc9dbfaf7d80c3adb65edc20ea950b1db4c56c9025369dcaeedb2c2bd37e80597944b0a3e89a1360f673134db1e162d8779635ed0bc691315d090ed4ad1ed3e961b5ae372a0fe8852f16a267a644032c50e303a7522b18b8c1739607aed54d399da8997bd83a1559ca3c650d5784d7d0af5813b02f2f9ca3e34539bdabcdc69f60ebe2952105261567ac5840d53d3843d3ede8a947778d4304a30503ab7ccb1c999fee5cd211d012674051997963d1af7e333e0cab317967ad67ce3b1d13193602f3e6232276bdae4ccfbeaee4d01c158c7b7aceaecb2e504c58374cc68a33e4964441448a213b9a786541c3c7ba3681efa13579277c995b5cfa8956fb37972743f4ab7405f10ddc4de46be6d535c4e6f85576265cb94939b5cf16beb54916f68076191e98a36e831b23440794c21e540458ec804b9e8151a64f14e1000babde21fdffa6941d48d539eb36509db5d85b20ba0a3396d7830b34d210553734b8f67a225f3c87b243dd0549948cce0d24634c811fe8822b013a2e739e0bbdcd3bd28c134aef38f2859514fc52ffbdf197b74f22d89b504a646b650ad87736414492d4cec7a7d7f4ea6edf24f96204f1d7182bdaf74108530efba7736ce9e0c90e6daf508bfd790a70848a701c2ca0f39507f16622975813a2d95247ba6c2859f46a219e7ff580faef8835fe01821e57dcd3fbd7acaeff14e2949a97ebad8e8dea81fb5ecc5719422004ffe2b2f2a73980eb9ea44efbdf93bcc82e0da65891f7a71312bce5833d279108bdb5ccd8dbd41b7fdc35205868730e1096aed67141a168c6218c5f0e1b348cf80928e7ebe81b50663a5e0a6545907c6c958ad65b68876b6373af0146c5068a14fed4acb7a38eabc39e7211b33def4177a691c6e3df86d014c1b0c5e1e3549ebbb002f6b5475dcebd8b9e8684c67df8fae05c0f39d1f6b556a1de6595bd8be68b3e85698477035843f3a59e0290ccf8136b1aaf97e8be15abb22a7415142beca1cbcc4c93f5be26ac915c13a59ad752220c3bdd33b9c96d5f21995c91a1e49c42fb0930d706717caa7f0f1aaefeebdda842849254c29f9b36b308c6e3e2196b2a2cda862e0b181cd9ba7e100b6d6cbf5da24261ee41ac0f30004dea0e833c45c700a8cb1f5ee82d93f8e6844b76255b4343e1903d700d8e35a58221de30f9bd4dd94f80e3ecb749d1102ed8fbc4ff5d3937218631a7bb52be90ea988ce352ba87464824a92df57ce3eeb2aec15afdc27b5137c00401f14fba9a849e67d6eb9ca46dda403d2fded79c2a8c00e6581b0e755d66961c2d60fb68fe9cb531f297b858dc18c7829e7cab3072cc79008594011a6f4ecd0976028976975666fe2f4a82eccab970a9b266aed3d0770510a0917cc4327836ed2c7235e707b806d53b9be807cc1c098d07edae38daa65c4b130ffe25b2beccb73b8e5554b9338bd9b6fef37861287ea0c85d9e13830b49164400ad2fd97135e04222afffb39df860ffd881584b5c24bdd361e1224821fed0aa4463c251ddf75ddb78a3b45f2c49354716dee459a5e486b1837df84f9e5f5c4344015a2c97e7191eaa5c5e477f6d89a62320f35ee2dab50e4012d40d284bfd0f3bb69d3895b3bac8c5691e1f13ccdc9c2abbe760c46ef83e81faa0ea5105e3c7a5ed3f3a033901c57d3bd3f61e1aaeb92fdadc45e21294b4d06a2644ec2a758e41f0118832d2daeab4d30103bcfc9c6714a3e9d2ffd29178cf64447c369414256c6d74b117bfa9a3d87fc5c91f14b215f5b1d0dda2101a8d37bfa8513bf2ef50533767848aab2e9b8218bf6b1b1ca4b6bfb4c687a5a52e35d27119cd3c3852afad8f70e27a64759f4593e35ba7396583d44059597d10033e03fce3b5790f8978f8cc6b43aa8ad09442d924e56cfba67939bb43f92de60a2b67e85cf71b15ec2967698319ca851d46175a506416d956cc3f1e8b2de2307f8b34c9392ff67b4a70076fae761bee1d63164e01287e54e7652cc002a4a23647a8cf0f8385bc8ce783351d75b709b48b890f9ee3c6562b6ed1ec77645300a7721ac8ea3fd04dd8687c4c0607c9e56ce81dfa89d7f39c73b2fda246531dc40354a4057d5af5bab1f473c4b7931ea06050715707289e8d268d3e603213a438f500ca5f6fc4ade808f9cbb203420380b48b6790505889283926d3782342c585214c7e5cca9df01956f73d8951ed79f9f63e90ce7169cc82a538b618e16d4a35cd8d37acfbba93bc23d208ab44da33c93d0bf367b5597f9f185d81f850ea3e5f74fd403d2780f1ba918950610a4355b552d7955471fa43820f0472d25c6ff5bcbeaaa951d528e15539d45c1d831cbacab21c24ba75c1b40e1f2dbd048dc2cd9a628248d1ac02eb11b9739834774929b002e37d39bb446a0bdd449f2601904a84865cc4a6563bcdb322132943ca581274bb03c345de6e29c9ccffe7358d1447f3e639d3d86e2cdfd189c60efc933bb5843a1c79fb5024eb578801c21c7572c873b3b4f5c98330cbafda19cad165512336664979a167034966893974c3f509dc5066e269569ca351342e7d69c7512630307a020e106d9ed3e6c126d1953dbab004fdc0ab10ce712110326ba935373f44f1157216a9062600a339d8a158a33951faf51558be5d178339376058e6d6c3679191b2cbd65ee97216275f5715ba5d79401e30ec61bcb7efbfba796f6ce9afa92feaa61a3a55c92932786d859b0b5c75f608f76c2f6a30fbd3a2eb83e5273148ef8ee491365172b9c0724f3229f458195d9cd03c4e659963ef90adb197645e772094b4999b5325521cf3c1eafe772824c68f8aa5a3f17aa4ad9f16a1727615c58e70d12b80d4e16086e65a5e53c19b6e64e5f96cf2db39d21bed3f1afc130f25de87e0060fdafbc108341e38d03cc0784c744a091939e5de84196a7c5f7e85603ff223846fc07007e745569b509a428e3bbcced6bbe7d367e115c9327d1f74a3f3c9dc141b276a443ae12a148ba350b5e868914aa0dfca45c7ad2db1f56365afbd29b078957d6ac73feea6e64235df6ed052c3307bd361d016565c61b2da7be048079c0764b3bb23844fc77a5252ea5a04ebb2eb7e5b4ada07ab14a646eb704381fad57028b48821cfbd5f144c82c47870c4377dd6a0d02602374d84dfb13d5d2e3ef244db84d4955eb1d92e07ad9aeb2008f4e452ede2b899acda3ccbf07f9814911f8f0181995719d9f27fe15e4a00bb7e36d62f4a88779a0ca88ae54b4dfeae08255cdccbef054c998b13757025093530fe81569108739c2f749c2ed1167dfd51ac7d3004cf3c6af2a6eebb5d332e8a8431794c6dc069782d5c9061cb7531356420266264d2d4a0a4922b58da321f9c99b477cab5c8817ddeeb1c7c6eba5036864cd9ebe73fe9ec9ec8599aed60ddf8cdd4a8f99e05281c5377d6efc2550ed65a38c19ca31d7f4ae1f07d73b6b6837a5ea1d7a3fa7a8cb70f54d902b3054baabd8f1dc19cc2db9224a1dd71994e6fe852777e80fe459181c240e32f717a3550128e6e5b9cc65660e30b6838663b34ce41738371237cd76de7710b08adb5363da833e13f642ff1fd7446b17fd6d0d2d14bee9a5a4e8acb5b6b93053a9500a4f250d2559a8ff0cf66c6464814241d9dd068bf4a724715a844f1b79703f8b37ad72aae6c850585885b0ff481f955fd51f7c394ca134f8d90076b046c929653acc4cbad5fd329840f2c04122bf2648171e4fa9f1b01c7f89d20a2ba82fa9e4a3d62dd9cdac116c0635a2018f03867c859b6ec0fa0fb1733eb95aecddf3f2c17fd33981fe27baef9b542cb137d65aa2087c7c5d08896510511b2aa243ea4214631c2d67a400645cc7b76a2c79d5b4014c621728ae9cbaea0dddec56b89019a007a44e75fdae3fa7bbfb970a10c05a23c6345cdb4949b9c2ccae4dfbf3e3a811a33d428882116ef4a4ab8183a665398c4e807c95e4fcc58f77ea49b69f7ee6fca4203b1776fd001008d1bbceeb8fe6d0d7359951ac8c3e53b3ad9c208e0c007d7cfdc130d2af704c665cdb7a761d2c5fffa2c8f310e3d6c195f6d3e375f38ad0595c4ba04c50a45c0e7d139ed42283dfff479cd88cb908706ffad78e43a89eff5577359dd17698c7e317e160c9115655cc32f32ccc3c8610f34afc13f44ffec0e8f55f2223bf72a059379d18351e5f3e0d3bdec2a6b8ad319578243348413b2499150bb11fedfe01c94558dc456dee964712d0675846c9ff65ddf402aeb8ea9054de6b79c4259ecbbb52438ad85b22a4c3f4a2c2a945d3f7244c62097c6505f1c0d784b2e2d331c8943b5f755a1fc11026a5c60877d628efa39c73f2d10a8731143f6e534c238959a2489d4d5fe379008d864e0327995466eb6694699a06dd759c8b8112b3b256efa04a823a4e755c5c70fe9ac872e517197b2d0fe87de22c62969b710327ce6143aa6acdf510a560c1b31ea2a4b0ab71c71ed1bd8c550feeddd47c3ef9c8ae9f7a0d9e0de4b86319f2f5aa206f9bdc8e516e06106be6dd6473b23d14dfce3c7cc89615095379741fa00c2231fcb1a8d2e46e6ac7828c061930b084b38d7de874aa3ebef8afb60f852d603c5d7f31e4d0c09497656f74175ca519e443c1515f78b3b1c64f40c766b5f0aa44cb532ee2b8fbf7ccf89eb4e9a4cb612ff72973142eb22b526ce597856f7b5b7b1462ee3c0fea59c187ad33631ec0d0173f56999748162e28c7bba7361df62aefd347b5f940a51eb77b83c639f953e8754ccc7a4df7fd3ea4a6912616a8082d54de09b38f94830429b6127e84169ab437adb3b3408ce2ec29a49273d53c3673d9ebb2eea7bebbc346e9453e29ac5caa8401f55633235d8df758d233b16b003a83e507b49468cccc9bd8cbd6cd21eba743636c2a7cf85d9c89ab4cf90827d93d782bc24f21a24da39e5a8da34d14feeb261492deb5b51ae136e8f6a35e4949e3e486df0f6f38ea6afa466f5d06249d75ec7cb8e8b0a214c5e04f0543e06d7b3c6dd58d65b8b04651d5f1b57ae2283b70d4abca51a024421b5658be48f9514567b2ddcf49fd46da01e02b86e793d171af5c0c700ef09b689689946d41a2a1458534cd9fa3fc7ece2755c9d6d7807deb0df0b184619e89bb43dd422cc6528dfac910c0de79568d6dd211715fa131d007c378b89b0b9c7cd0de236c27f2f7e74d22ecbe8d972fbf8ddb33cc1d5a4ea21841f28c028d1e5145435035433dd1227c2c9e0edee17d3c401b29530cafd192304fd3ac5f56977bf3a665a2464dd80838da108b131c96d81328c741beb419e98f491f94aa62c6614621728680283c0d772ebb79c2b4074b6b51fa86292ad7f43eb5127142fb67b61e86779cf71daf9dd63ee6bcd6401ec8002235c60b7d74d54ce18f1468e7988d910a03374061e74b1ffc855cf2d8efde2dad7da0609a79a590b633bd99140f6ae11fec31470416eb3ce71c90abacd5d440bf4071279e716a7399ec2c0be8d0bd0cfc58e386cf5a2f29b81720a83d2d2be2ad4853e3d8b57a062f5e5a47e1a6858f6cf83979159791971cafcbff1f957f1aff446f4bb55b093221e0f9f811feb539a9c48b53d7eadcfed98e1fd7518017da97a061318ffea1eed1efba137b719c02d8eb107f295da39de3baa5a7cfda03b99f6790ee1ad9dc5ec5234c26d65b6eab0080872ef063216889d621b91ca164dab6bc40557ad42971fb33872cb78d0d39a46fd920eaac732340a264f9345b2e9a76cc05d29bbd39ffa2d29f83f204a53eb6a931327049c586bd1950dff037375b65e69ed337639a0d62a6a45db7a0fda179c0ab317e6a8f51c750319c8a42cf956b23915f3b4b9ca3a5cd6a7d1583118ee1ee1839961e572f8fe067f08c9e61e2a05437a85452a91725fdb2ed52907e1fe72e4eb7e8d33afc0297943c06398e653ac8352574dd6b918b7cc4bf2e03fde24adff1df865df4c2f1206253b1ead8dcd351d4b9759b43583c4cdc7e048e8ef00764047bde8245f4a9855a0a7f27ea0fd81b4bdd2e80746b048ef3b0a30b9c42f47cdd321363dd4d6b10c3c9ec87dfc8505e6dbc417edf5b86e5871a52c290259c8e4e68616828ef8211ce0dce119707e49f31c2b627f11d07edb5cdd6f4b2a619264fe2ef78713c52ceaa15abaa7155b30f20e69b61c7576b905d81cb7a1297427266fcd6eea99699314e3c7f715d3e015190b6d658b84665823073da447f99716c10f105fcfa9ae96d3e9ada6008fb21962cc75890eedb78ad44dce7b7bd98d8eec4db15c3962a88167222c0ad857f0452f9687c10790fbd2bbd273136594015c985ee8e7ecad26abe79b6fa50f78b44faf7d0ab0bede1f1d208db3a64884ef315a46820a8765090327300dfc182468b32cc9e59d59293c9f9e6a1813e2035c29b0c25cf80f66aab93a0dbbc701d4126bb2287bb4a54ec1300554ae830f4c2dc32e36f05aaafe61e668ca88c52123cda0452bcc679fbf0a2e61baf0a368a368e208f9b0b44f4324ec241b56c9b713fea522af7cfc33132313d11c1917159b53cf5a53bcbda5478c4475ebc25a64d912a265925573ae54cc3891900b62ed86e7f4aaf5a7edda42424d804aa64603d874ca2fbb81c6702bd560b453ec96ec0e796856ce72dec558b70317416138c49240bdcfdbd843588c1d8541d09ac2465e2cbb2a126d9e7590aca374ff2d98d0c505e295e1c3a7479ea84682181cb8d0ece1d503ace21b8f599ba5646123ab15c68ea8714db384cb182cab5756857adf18d7874ccf0975380ee45ab1319c6ad9856284044546f2927fb9dfbbea8132caeaee862b73dc906fe76239cf06d765634da3995d5d8fb9fc01b0a3aa367beec1acae134d218159f00f137d8e3458047fc71ba6fce23a229cd0dd80c9b100eaca9f6f7eb0c67f97000ea85d120a63a47716728ca20fb2a50a4e66a395762e49c96e8e4d14ba53f6be9db87c55e9e2a936e328bfdc0d583e209051b21e9828d2f368c49159b343c96865e22c0ae912ad1f515140c0d6a6f744a83e5fba1bfdbc249324a52b879099db1d88c7dad51b29d6ef27cdcbcf5fc42fbd7856c3c049af84173b048d84e27aab53e4f00caacdf554886da57a21a5f52a7c1ab5486b23c63813dc4a37ddd2f52c31d9d98cb9b20ded2c37fb6717e1ac21aac1650b0fa42fb2512f4c1e65ec9704b7d82fb3d4b155e0036dfacd9abdf18bc5e54241290b5a1b0714eb9a0d45dc66cb8802ad2f4f2322d2f0c8aa5d6107eb39ad03d1d4dba67a7af89b9362d969ac06c791a7596e71c6aec14aaf71dec45591d7bfb48e6f36644d64fa5c16a2329cb9aa934e205bfb2002685ab0f25a6eda49e766ffdd8205ff825e93a6ff1b34aae8a4a9d310f99da8a99d25fc9a5c1ac6d8d37337d53fe44b803bb44973b64d3b8d0a5e1cf8316808d17430da02868f974a2b9e20749b4ff605539da041d8c0426dd035f38ff79f56b0351751d6ed2a9619728f25d9a8e5a0c8e980150e0108e91dcf35a7939614127459b37eea49569b364685dcf5b6e5bca0fa3d958fa7ce1258379148b85671934a8ff51e1592e58b791eaebea4e34341f3cf4d594e459332bd2d444c465bb27186fc55d5a1b9694b52bcf72dd632e032d6f424fba84f36538f4d311cf128defb5450acc62c3375b992380be451524ec03df527240d00b1b2a34b610219940666e91022d2656e15e78d4d958c437389262d10f1fe5d07048bea9a9fb2cdaf6024fe4bb85af6f385b4a98321379452c7bfde34acdfb2bac502f6345ba1190456710025f309e8c59a2c481b4b73d2ec008e2400ac4a91e9fc6d73045c9ceb4fe6f967d88119bb225dd0a9bf0fcdd624bfb68129e4e1359db6f11b3757aaea58e56ef2fcf31929ab8d744a01eae88ed9b2c53fa6b1e3abd157ddf1b2187e52b23f19f8d3e23ecac2b8ddc297234dd5b315401fb0c2fdc5cbaf9779313d918dc621433dc26d3da993cd378c1338c9859e9ddda54d0a5aef58c67ba551ea1f75c88a1dd8b8309ff86d03732f70cebe39cacdea699f0432f8be789e5eae9b31f772a72fec43a3bb351cd90de78e976a579f9d8c5db0b088f0d2b6e5bf89414bd9c833d114c08aae3359720809dde3f2a93f0d1bfde6717c795104f4548d09ff058232abaf7236e12dd1ebc59dedc96838f286debf32a896fee3c6598c6e6bedc811f73e0492c4eb5769b30a1432b43d2386339830fb27ec15f879ebc37d7f4be185f1a3581a1fcb50367bc86247d617b10c24fd9f487542af2d378b6c709d3502d99108e629b2ee237b505326963389c64a8f4ed1d2d04474952a9bee938afe0efe6a25bd2cd05ba5cbb698cdebd5f47e1c3a995885f214863f2f775eb78c244493c6273024a8db74b0e7b6a3a9334e98ce666ea3ae954f3a71792ca51a25eb74f1c15d2c8221b2d9b7905afb83ccddfa901d3fb3dfbf004bfec21ba01abe9c8318ff650e75d235b148fb84879a292e60f571ad305f9a3fcd4a777df9d9c7198cccd93826d4d033153ee2542442b9553b452e3c9b2475e4261a5baf04d0c696cd82626b0fc219f91ebeb725368c1d589376b209b5e866abaafc9b0b4ffce3ababf1d97e34e08cb7699e01e005ca7a900290d8ee88a1f59f27e3754ea52622480a18f7b9cbae12445af1ef7c87b18c617aa0ef322b44e743cc6fa976f985f76e41ffcc1f41e8e7009f061d4a387be0f9d6778d0c649fb7f5151d3317af92c1b65a624fcd7851c97c726492656bc199b36b5f4053b5a1ec9685fa00ceb11d382279cd179007e343891fc9707778dab9468c894acf674cff1c03ea060d4dd149c0ca3a2d1fa5591812df8ba1d735c08b70f5960de216fca0e7704b3d05a45390a0f2171ad758edd84f7b63d986b7f9f7a53051f5ac647e1b18ab227a6e9936167ec17d16bc4d83b53daf6efac0b63c941b91fce02fa3221c3ae76a43cccf9b0112e738c2373ae4cbaac9511f3a98da7ffc58b91d997672d8573b1c32e00850a3cf04b802be30f1e1de3a327330b37cde824ec92dbf71d65fe630bc6272baf1208085af77554874c14bdb64e39be518d21c19f8482026660454d1dcfaa21297e5b4b6a7e815fd4e31d95661eaabee1beeb879f3e0a61045de63180560f6dad8fae349449963db8b98e9daf256bdb0a2f2a500da3f40531a7eb60eaaed9b74fd19d0fa73a685c634d35a6f2d950a4fde774a8b3a26a294c03fae4a757802a101b400dad3e33c814e90ee1eda93623a23a1e35bd2155c09f334be2f09841c0f1dafc4fea6a86c2614341e0c597e77d9794461fe146689ecfd92dfb3d08e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8553d28bb0b577f143196746ed94754b05b392f9757bc3fd413637860be0574c2c329b7a7aeb6936772d1d9447c4c39823db758d5ea182e0bfa2dcd6d6d2cd5c7d274d5a72ffe132686239166ae9e73a86c4fc2aa9df3219ce50622629ae215c658de0c1c601c7f20c0fd3336f542debbf9e3d37d5addbb591a4bf53a30dd6c9a4035a3f8839fa902f37fc11ce9a742ee9de97be80675493874251d70817fffd8ac7497540337144a0dcab9d6febc7f0ed575648ccae1e36dcf67a056eedb528d02562c89b7ff4233adab145ddc59525e01fb4ac09bbfc874bf512dfb629abd692a0e6c4885d84b6b8193e4fe54f4b59cdc7276447ea8de2dd25b07eb3e4ea305def0ee403ad12c5eddbee74257ea0e6eff09a5f49bc3e35b91bbbb726d71e7348c01b695c23de8d5b02bff77b8c584ce26efa133c260390d35b24427c041e55a39b62c51cc0b1005dba38cd4528f2d6b4dec1271410c252bdda86b70347e42ff3b4a296b85de9f77ae49b9224c5b146201799de88f1809dc9e24cd33043c394096e8f3af251fd99ea9dcae233105ea55882b2563a700c71cbb9a226ffa436e4efe6c3cfb5ecf4dc3769a9ecf58bd9ae200bec325dfa5f44e8bb78c3ec2c6a29381ca257ce27b7fc5f630620a4556475831796a3804a58bfff7e062d51b2a3173092e1faf486a9774bcd1a7939dea98df38372e563beb2f49dc429f2afd8e378eb8c17cd2a91e5de6b7b5f7c75b0655fc70350e226d7dcb4796a7469ca56cd96b346468a081a9608a7fda302b4d202fe01c1d29a0a3a097f210fa5501560285aff5f15eea6ae5c58dc0263cbe70788029daa5f3aedfabc05033aa4e4629ad54b4937ce4cabf03b117d29c3ec2eb9cff1664f45739ddbdbee1f69da44dc135c60d2acc71eaf351ea59f434067a671b53a18fce10ffc2affe4bdfb4ad2430b6a721e750c78906f033c7e4d2a1d00f2800d456500e6380e8aed2e229aa67b246fe883fda41985d6e300de12d1f0423acdd10bcd3ee74dc39d01d9e3dceb6cee2fbf6eaa929c69b972e29500f990f05cd2a693b9151c81f488e461cc373074a45fec6cbb4e4623a0cbf477b123d5058f624bde08f4fa01c740913bedfd1cfc6974042449277f5ef62dd71f2483dc117550ebd069cd8b7febd4c638f12bde8d65cc44c72b406fc16e13d2f7e970dcdf5dcd5f7983da11ddde5e667c51f7bf4b720d0fbb7453698b53a41b2a0ce5a21b37e5adc98c4caf5df439f7278dda9548dcea91ac2c1c52b11d5abd7cb29e7e4bfb60fef2970f500d396f0db21e3e324b29308ff99fd4cd300e17261ef2fda8a435ad545c1e2265bb62b7eec4c13e64ab689147b1bc6099a608951373027f567aea325317ceac651bb89e82d2e3584cea9685b2d1cfb60d82f2eefaf4847ab2f2a1874683f13acc2b6d3ad6a20b14ccbca9587c0be32e88e858b3c929255a27a63486edc39c2191b4ab67dcbe1864e4908a773dd61c11c8880d030f749e2c047cb26e1a47d507c0cf6f62e8863a33143beefaeb664b2a576ca242337472700c8751ad47a9b83a811e167f8e27ba576917c683a092d54f076689aea87efbd5db23e42954d00047d754f1ba43d725ac2020fa045f31999ffbbd9ac7ff8ef119501cafe5ade2c082648c0c64d98cc78e07b4140dad455a9b1b7d39991716dbb3fbd2fffdb03bb38d4730e0b3ed505ccafee2e9b578edc28ea5d9e9588398be1bbb882a6ed1c96e3d3e6d7ec7269d96b5f4f7ab282e0373c07d55db61d82fceac233e89108415fd988ef1b1479391f118c4cbcca3fca76ce2268aa6037b6d471836c4a33c19669b46ae47628eeffa8552f907d2e265a36cfb9469fec1ef980aaad90f82d6f204f31df0df5f0a6507c2303d7632bb0afedcfa324f8b798c3d2d685fba17b121c96dd13c223d66fcb8118aea80f5652a66e9b66721239dd68f7a13443ddc600c5934b1dbc17429b9343d2511c0b9d87fc8f12b3f607d957949c6fe8ebafd43a5cc69d09c56f378c8be643f345c2cf0f64ef28016f63fc47d0cdf5ae587f78e741e40e943da8a837d3664a2e0306220b9fb3875ab79ed0e74653e29786ae89fac366166464f95defea4e930cc2c120195b8d85466707a1d66593f75b51b19cbd18b4558cca6ec3deafc834b3435ccc85e93e1b51a2c817448be11ed678561d93d82c34e2dcca1c80b3840dcfbad1ab389c6d96efac5e50c0fcee48c4a448e60e7769ca9aa023fd9a3558597f8a06f2fb17294f336aadfb8842292a786f2d59071abbe6c931828d0609bc869c620213a4649d359446d69ce417e7a52bf3731d153e2bf82cc19ccb06cdf267b46180ac96b798f28fa66a5c046dbf0617fe2008ad9f773c9b7ab831cdc1cd5685cdaa404d57629964d527c7d79e79839d5786558261d9ffe35349cc399f61001c437ba6224f223ac115ac2a88837631225190bdd9a675e76c3856143e5cbdc42c5e4084ab9db68007fb7de1f6bf99ec769289590ffb2b4aa1f7cfe6111470e1194caf32edb7c6361106fc554dc89447746005781434b44b4e90d618eda3972396bd214b394481ab1e6e75bce75f1f8ba09d95a8a1ab0baf54bc7730fe11490266d8e47e621340f050d42659d20a94d7a7cd99c9374a2d3e4c634e5c3ddae88da3f814979b6edca2fdfab8272c280523fcd49fc150655f203544d9f0fad2c27f627d51eb5715d62d4de390ec995f99c6dabba2af61c96e6328c5cc5095ed136dc4b2f16bfe609793a4e0500e886bd35c86d9a7fd8c23fb3809ca7fb611e08716710ea196bd4e1064f5ee507ab0b10e6cff7f5da449b13dbd79704393b8a6f00389e64a752bad3947c5dad4eab0d51db100d619a03d32d64c714dffdc1200d4147fd147a350b3bed113512ad525cede23cb9e18880df5edb7d60ea53aa768acd9ca5f1c8779b5a456511549ff7299d13752a14af3451e15ea7114c150756221183dda8918503fa32491f88b273ca2334bf4f1f6fb117ef3055cc143177045cc8387d0711a7e363132606e98b4ec9d86ef3ca40ed8490877e0bb5eb61f8f069147374c82c7986ac651efb635678d1188a320311f487ebc7d80a6bdbdeff20b637fad20c53dc5102b3673d22f0fa5c0b544ec92839e1557901060c50127bda6de2a3b9fccfddd9c7fe3bd71f6c631e8051343ab2af6636760668c011ca13cee3181a4b9082a7e34ba2ce484915dc0b9cab18e919e97aea321dbcd830e80b3589ac3546ed845471263346f540c95726758d282551418355be24d86fe9f468e9ff74b49f4e468a377ddaefec77c3cd08d00306083add4879dd53b501f0a068b0e368d09728645f751637eb11fd854d16731ae576a516475357713e1a25d350f617be50e972ec2386def08b9999a0ceb2ef7d32cc0d3ef1b6206da8e9ffe31c09330a6e788730eb98b62a3d7ebd67a9dac39dfb7df9588d26af609a0330c3ce430071a77851049b3bbd2468ac406c646820242ac8aeedb0121d7c8a2e92634439212f86007a41de54357cde6050b99b7f9101ebc4c840877ce5222baf9bf825f95808a7e39de1274d8709af8590f25e53a3b44fa83452a82a5d18483b3f03bade8ad24a1ddd88674bd4f109ecda1149467573fa5743c449008c943e059d85e3b4a95eb7546193e121dddbeab7595fb9ba4bbdeac54390c33feab853f7421d005f8e26937767fd45e1088faafc9bd9c74959f23dccf4cd3e8b96127b38f1e3dd9761b168bdc2da07dfc7a23259ec06419cd230cb008c10bae5b20f885de0887010518139979b178931b74440172dd60edd5d1eb8089cb5f537a4f68e160808989c24e22dc023c8aefb3147ba1c82a9da1d843d1ae0a1eff7312304aa3601acc492d12fd809e50ded07d9ab1b8007d5e5c0a7c3b9a7eb1e9a72b85782feab68009a6822c2ae5c1e19c2bdfcce2473589f09a925ac59c93507ec4d302bb11158ff89bb094a56cab548adfe2010d3618ec8d95863717e0ff8422a29f8f3876d064ccdf4b76efe95c2e16ffff7382f429d60313cc49ec0a9e02a47110a9b792e8ba0f35a854568c4c5e89c765648b6023cd4b3ca3a74173afdcaa2fa80ac1687f8aac904a38fd8fe90cfcf58ed1f3190adc8d9fddf393e4cce699e114b4bd24c99be25f2cf8006ab067ad0e3a0f3faf6d5b71e60dfe3cb11395958f16a3d91e7348309455d7952291eac130da5be6199d3dfca0540e78d4e28fac019a2b58fac1cba24408824ae9400ef509c81b938129ff97cf3fe4508ccce796adf0f712d24ae4fef670c6884a9a35a2f61c57b254b4f7d8a3a4e09a4893e458cf32a36926fa6d9d7e45b52fd8790438214415aa0857bc88a293b30f5ab8eb7ae5765def45450c96fa15202ec8920531456c05754505e972a6ce04b5ddc1bd7900012066119bf32f49396f177da13361a4b4f6d51578256b915f13f09c6d24305e6a17cc7c64885c0a4c29d1b4b23fd927910a648ac4432edb3f69291cd84475d8ab796e73cd72bf2222ce8f290e264180ea63236ea8380e22bfa86dc2654657cb2e1d6396b545b5fe8c3438698d6c490d37a7eee694dcdb185836d6cc4cedb2124318d108c122661989d3100ddf86fafe9418a19fc83cc33f37a2430199a39355a2da3a21f2d05f76da9a4c6145907e0bb21c191643c0e718623de2bd1e6d91a508c241075d348b0a82e41c377a1f2b0e228373179980f1595775385a8d02b64cf7dc4b4faf56bfb45c647c046716c40c19614be9f4f63490b9bfd5a9fd913249782759d59aea99f9c47efbe235f7bc07d2a321410cf398b94aab35671d504dae1b7d9c926b7dd3226b1d2e31e4ac4cc9f15f6db17ccd2324d78a983317d4a2ae4ce513827d803991498dd6ad3f897caea1fa7aa24161afcd9bb6687ce8f86ce457ff16a7b8bd0b9ce411f8dda285ec3973209a0dd7aa09a7c8f2f1da65e0d9e8647911cd48a8c6b40398e054cd9c34bb60ff55847c61c9d9fded310638b7b68bfc0b2985866d5861e2cb261e933f3f6cbd0b1869c193b9a505c36b8eeea6ff2ddaff70a3d3552433132e7bb1f83e3e107400204d50f9d1ce5d8dd31e29cbcc9855b1bd0408836970d794af338626194ffb84cfd626a740624edadfc4c0ad1e91a5d8e1e1ad8b091d01d51623b5755444741bd2c50841ccda7024f0f0c9e0d507c2010abf7b65a20f7f4c2c0487e1276029bf4118ad7c8453daece1384adb466434a02dab4d788032e0a0bf04b4b13d52add8d6357633dc350b38cc17b45d3471b970c2002ef7b030d785ec3bcb6a42e4e128495cf8b5fc393cd43d246f93b55b71963ff07db2e42199a6e4832be5a6d69a90fc94d6df8af8120ea1aac05e193df2f26dc28fec4c6d625eaf736c9aa8f35947f46e7f8bd2d58fdcf2ffa563ebb875573290bc2ac8019d356dd3e08ee7bf1c362e08ca9fb712612f9bcaa6d36073c327a699b2bd9d9ef0ba42c2ec10ef762210f15d1bf0d7249cacf4456b8fdec6f8e29cc64ed8150c6d5b344f236a7057d2ee6a9dc29698d26cc8293b059ea89998e4b4936e799a934602b9f8f016f044abd4a5cf6b3a3952f65ebd0a7394bb649587fc1c78e3447e29c328e9c06fb9e9db986fbfd13cc0a6561673efbed45562e272ac50667baed8ff865a5fea955b6f790d15b98fbb410e421c9cbd411940ff9c8d559a2a6093fbf0057958941da7a93908ccfb83da5e9be8e2ddedb4adabdfd23792275acbfc306497605ff814d9576038d3433b3336938bd1a20abb9f69092d86bf13aa67fd1fb6bc3dc845514bd52db51930775c59f19de71eee28c471d5de163c386e93874f98d55777aa980bb3533a69195c411562764ce155e042c5b97a8cbb280aa72a5599efae09dd6b12c32023d44f6e4923cb8dde81e2f3779e07b04c2e3ae7ac2595b68128c6e418178610f9c27cd688f4104883a4327263773b3c630be838e56625b64e8ab74375767a18e7299682cf4ab85cfae03b13f9e1741fd5bf5bd5b548882ee13c587ed75836c64eb147ebae4603db5dcc441bb183ed55f11fa072560cdf6033a7c7f0bc62f1192dede5408fe4b31e76f60925ad42acd061c7438a24db4637940a23ca44e57ffcbb6d99f4eb037d1348020a1ce1435f037a254529a21e3a52afe5bb323da5ebf4809302087b49fb50c4d9c811b41704e44f6fa52eaab28602b6961f869106aa9b341a70207ffc438e7757cc9cb1287129807ffd3c1adc1f58c2b71dbfb9298b3557a53965e312604c5f724496debde03ef62354997b8acffb3db4631c43e2fbb2155c45a783e99e1a6ebd0f551d195b50be6c122fd776e427eebcf3982cef8016d9b20639a6f320ad7cda115068efe7c3253466c3db511e42a45714dd888e157ea7e19dc63f6b90bfb4d15597d41262b76a997f2e06c593172b34d3a08badd935e8a89493d83586d622e47d07e568679def02a647080e0c1bf5b3965d15c94b335af84eb964ac0cb5f8e84b98fb2f6eaed7384ff8fb077c8d0070f4ffd58b74c03efe1ce2bee122cd39ef1faeca78f29697c21ebd712f7c30dbadba1a18d31e2655b0b579c5c575f0f33b0f6d3240f04268cd14ea93a1af040684b1ed4b6f4dc41ffd2c141deba2f93a73fbe30421cac00c6da7a399afdbceb5169b492c62ead7cbb1ff85499e08ae9dfba46d93170816e7f698e61df47b87e271c501611ab49e089c3b7d420716944702077f10f92e2afee1d9fc84bb8dae0aec15111f9a97bdb2e00d5d964053de255895b61f9bdd27bd4c324c37ea15e632951152442e7d73be232ce2fb12357ff2eee8e1a24313a9d87f5199a9f14f2409c16270ad97bfbf74143a7bf72354c9e7e9a7bd5f076bf1179d9258c348c27516e33b815c34a6c71264ff72c3105f7e4da0a2fed3afe81c3b2015dffe48f32a8ebea141409a0cb4881acd1d02ba9d06285432372deb16e66287287273086c4e5161733d63e7fdd7a1775babda8fe306dd8ab0864ed21560387526577c5fc60ab3e38dfd76dd50ca9a5b0a7b1177f731e38edf90dfb0cd06b358db25389389dcd9641051760ef72ee7b67384e951a39e61d200a6eb8286793d972f031524a5d3c28491a513aad0aaa56000ce2ec30b2e0054c43e937f0fe40fe3967b1828cfe71d54243ced169549ab962f80a30ec5d1694bace3496184eee5a4d5858997a47e08233b968f45328d68e2b074217ddd0960b8bf8edaafdc77ab66b7f07a8d5b08a8e4d62db24118d45bd60f9cf5f901c837b5dde40134baf22bbb500532ef4cdcad53a73081bb7eea33d7b8afc98adfef0e246c5f7c9798c891a26c0e404831b6cfeb0833f580800f48b6c9299de4e69928d3212fce20ff9d8ef37b57bb3cbb2ad966801fd7eac7a4e4be77b950c97f50242ef42ddcd12f1242da08e92f5b8e83a4fc0fd34692602116600598ab259fa724c0b00e6af5ec6ea3868ebaa7bcb3098639bc2a9c6951288e4007918a8800d9c2987a7ade46d495e2cfe91a225f73bf3069f3ceb02b60f9ad0d18af52c7206cb9f3d0c3f2b644ba7ad727418a923fac3140b79b29847dc0404e5322db92dd41eecf3f7e7f9b5bb17182516663666e5529cee3336f367ec6d88acd624391670ef62845c2a0d1227bb12571f8d4f30072f249cda2f33952925f3ecaeec2002f15e9b82dd97e4d1adbb5d33bae48b23eac70c7bdff0b7b74dd329e69775c0927c0f3239d191f121f54117aa9c37eed32ab78cd147425ae9ebacf922b0c6613166c22d409e8edbd554230bc5899f3986e1650e505952b640a34921237cec8501e1f3ff6e0e98df824a2c7d70e0d7f1bfb297037e7ed9c375315519311b2f2748f236719c7ea9ac40c7fbb2682ead2b142bb1c13172808a2ea3dc77ba9c7dbe603e5b049c02cdbc9649b1c75211c3be61a661820ddb47033266d4ab8f1f0d97720c9d3ed9ac294f93b44f8eead3b96a17f26f06d547ff0dae7133f5ea0de184b48aaed47ead467d76a0e4dfe6fdabdac3f4ddcc463244d0c40b714402129ec5f304901f5bfe91f8073d2e41e6d16be65b572d6885a470727eaf41b8905ad2da32c1ba6f5342dc9262a92e3775a060244bb35ec6707defa13d4706ad5ea4b7509132ad87fce3094b326ffe9c0f77e5dfd5b9a0920a8c06c0ea64f3c3d6ec246527ca89783e0a3e5fa305a53693050b584e81a8089f4622e02ad6210974f0a0b95f6a399359fe21e0336376633df3443e27138a0c97898f83b048f96ee777768e1d16de860f1bc3787bf53e5cc05ff135af392a4cc4f859bfeb02ee7cc450a9d0b69847837705cf0f48df12e36d19948694ab98da3f62103eb224f9e6a5867db127d9accba62834b12884dd3681a4b1292e4733f91f8a2cef30bec58aacd67395fc5cc518bfc34f79a9034d27ae718c468d7681667cb8597d3b99b3ff19e7bba120b929090ea069d9cad144d013023e9996a675f7c9ecbfc81a943d6cdd9103fbd326b51cc366bd7d0100b324cc41775cb0615d1fa9da7e0b654648fe53e63711d4e22045f34ae2b1cdda431201d8b51bcfa3002b81a58f1a84f81f8b8c82b0f878bb0e92f36c5b16704cd125c4a5695f7b44c421fce129779c2c74c41836614d6a9ca23d3eaddc36790e01494405f267f43bb14d39120526a51bcff5fd4dfca39a088520ce278817de2defb01681e2ae82ae189f3138e35cdf421ef05d4302d6c7d1082444b327117573196ad7f239f4963d1ac280da3dcef7d83fadcb687983944f98f6a48bf33c6b7c0d7fdd917128329e1096309da02c9d73d71c02a41a8882f1216bfa0128e4f274857583616e9f8587a1a71cd5dcbb51538aec8c77f9eb9b50c94c39e5491fceec40e0a430bae9d09e5e1cc112625fcccae639689c24c94aec8a97d0272294b4e08565f71871f4a3d473eb5cf5f8f64a03e4fe27fa20b6c51898ffd6c16fff6d94015ff0deeba535bba5b1f0c36ac114c5a2f50d72945d4124fcacd6b2b1e17660bf54b47ccd7c1f42de1bd9819bb2d2ba0daadadff5ac5e099df6fc23dcc7fb31f0a5a48df411407cd0f204ee44124ebe00b7d21576f1f387c1edc3ac73efc359460e2589c1bc1f1081532fae96e8ac8a9cdb4283de75adfc9362e3396bdaac52794661e94eb34a28ccdd9594aae89723281678d710d9df7408b80f985e0e79efabf43099c87327c8f435ace812b2faf99bc43e45652181b509c4dbe91a71b9460223f9a3aae15d3c6927ad71e1c6abef10c54159051035bca0795e0dc58deea0c2c6c1d32edd8e2c8e24110d446bdd4c15767dd40c2b67c5f7758b92a645ff7e9e924d04de94628cf2641ac3d86748f9621c9001e9908baf49d292035e061a0c672a801530471f91081505f334731d9f4941cd94b4c17c8ac7b3355e44ce951aebaadc4e37e3dd38d0d67010b0e541e94b6a2468ea6616cc4f5fdd0fc69db10679a7910616920c49c3a9e0319b369b50704a65be49e05460ad51824adcf725fe8662c62cf289fa0e1419fdf7493b1f2a882f384d04f9c4c5f74415722f48e9a53f2714eb6ac804237aeda0cc8c2ef2ab90f2e21cbff61db8577f878f66f04c81eb1752d8746c2b6f29ba244982d650a743f7d04b28e95a4ba03f28f4d115074e3d6cf7766ad5970b3889a20d0bba0471508deb158d6c0a10f9112e9328d2c43146c28a3d9f5ae813fca47250bc9df14e0d190f6702207b775fc94fbfe03df4408d627c68dbacbea1b9b12f525807144d36887ff3adec0466b105b33b14b713e0d763947734bf71dd91a36288ac8174bb0716cbe415c5636cbf83eecd0be7486e64e1a2c0204c242032a3c38197ae72898a506acfdb839092b280c0a0f9147bd22e18ef03114281b55a6a19bee2eb7d4111cf09d6c209f6359bda365ca9457e3132298224e33c7c9565e21db4646f032ae89ed65a2e963d7e32a1e3643a5bc2805c05d2df337bf5577c3633bc70c75d7269527739190a178ff568053d57f8f2331bf07d1d3286758c44b75d68df8a8f22e75140916be779392931d62df99d908debb35e4d7575ace8f3164805e5623af3230cd3e8444b47cd83c267a742f211f7b59d831b43081585e5ff1a50096620279620f1ff01846231cff0e6ee2d09a2bd4d30ffd2f90d0e536977103f4656e87bc4b764cce07d34d1939565b56f79b0532cc3c1faa85669f4b5ffe1c0da89aa0e0e9363760171cfbf52f52d0d36fcedac48e555903f68b75d36ebb8f048a817fb72591b5abe8d62ef624309e5cd023b84d138d680a2277b5e073c09cc180c2c5986f716718947287672f843d7f4744078b93f14f5f01bb78db771ac27d96fe41d77be803a8ff74b80b75a94d4908c1913caaaee7a55b8bb84c308b3708a91fecd5177a055d10707186782717a0db129f45768fff10482c737dc37623a67b04abe02d537b72f403a3fe7dfdeb8bcc1829c357fba5158afdf7b125cc9d7fde74070cf9cb556c2dc1e916310e52628d772ed00fe78a78c4c520d2cf2ddde633d6912e875894924e378a3bf5d98857cec723611c6ca9558792347a242b37add21b78b14564a9edd8ac4f02f7c069c6d414269f9549aaf51c88d01dc3fff40e43d0ecf20febcaa178a4a873b631d047fd0abc8194b27f6ddc9e4a127b695c3fe624377b7572c23716fd151d3ee3ef96aba310b7d32bea796d5c1d778eb51a5fd32bc169e0d7f6c24b47107538688beddcab8f83cce4f0fb6ff417a505d7b7e5cb7f1b91a1f0c71317b43297937e023e62053e08ea924aa561a7dcfdc1090ff98b7255a8e4131b8afaed88d8b4ffd6317a88115dc69c9e6ccde06f8d8791310adb523a8b27025d90d9122600544961a0e5c67d2f8a7286d976afd680a1d7dcae544691ac6b7cebcdc61143977ba803d8894fe3db727e19832820aab4263d149a2d02aaad2800b458e168c48fd54c34bba3a904c8683d29dd88d2121e1df50ab9520eff18667a04a670490296b2ea28a876f0ca59d9f96b9256c444b54a14d562be1c306dad0cac2aa557d1bdb38afe7a6b7e6a469e139a6e241bf37def5ee8922faeb472b94b6ce6f5337a350935606beef5991282230560f9dac70dbecf99394cf7b4950aac255f0c8439f48875cdad89ba72c76bbb62eb487cbcdc7b0a21c2ea043cb52561882f9f99585b3c7d0947dc5af1aea88d345be37b85960671cd7ae50f0bfc0f7b93ab4a0cb5d0aac6d29ac468ee5d85a6bc45766d2000152a602a92ac6c439ae17c747fe94531b28b0468b8b90d694feb12b1da426e0cc3dae5f29900a6cc27601a798bbea366c60c38e26bf531c9084fc95e493effb4ae619e762e82f53394b1b9f531bcafa6f83ed8f2e688b9999c83dc3b6e818fd44d21ce19f7670414e5f9d21fb73cfa0329a9103ceaf586d94905695618158fab3eba9c974ba41ee05ac71ca177ade40c858e536868e791c9323b5beeab3bc5394e23f8b223aa50bbe06ba7ac390a2a7242de34fa5e0ef3b3f8c04071b16e85b69eeb9d11b08f24268ec587ce9dab5e4cb6f1fa4e9f11b31b2dea5f8f7dcd74ec57ab6773060a0190042396226edde514f9d7d3e4cd0e69fd11ffff74e42189eea4e36c0fc3221a1eed792abd85dce9e47f1bd065691546fa4e6e0b8f8310ea9f972262281db614dde2d5d73e854a209e8c6494adb3fd8c1bb97ce9671cb381f9c54f194433eb4a26bed3c3bc6eccf79a912cd7909aa2a4bba19583f7e6ec9feafd6303318014141cf554d6666488fb45e15dd171ab41e4fb43a6f3488ac431d95650128eb9e8b1d66b8f5ebbbdd2011e9dee3dd73245fd2bc51a06cd7b2fc9d664974d381726373db999173525e350e0f95dc619405aaafb1d06a5a161eb1465d4fa3d97b8df0b6515fce3ad3dfd5f7a89428f06261df9249be02ec8fbc2e9be480701e7962bc0749a12fd3e0ccb7076b42e7a467049f4fcf259fa1df4b83e493e1f69c2633432450b282b433a5df2e07a395c6724ecd0dd988bdc927012549e85d6dfd7bd76d53ad876c62f5f69a8b45101ce1184e2a73a06695eeed77e198cf9fb69b4f240eaa9433b18442edd624e43327f516eef7bd82b751a205f71003039ddad3bf24be4a82f4d92ee6c8d814aecc8e5c66239de9dc48bb0a3bb106a76836088963a73e253e60f756e8f8c75707910b1adf180dc762acd3fce56149c5005c1e63c4d0d1bdaa4709aff61cb62f48650abe4416bd892745778448ebd4dc828e44beabd24e7a91ceec55e3cc576d6c37b66c9df984b577e7e6a1b272c30d532ff3abf02cc5b8e24601f8af8d58df995d6149500c96cc8bbbbf810d627ad364a3e25d628fd9996e66df51fd96cbb3ead7ffee80b80785377fbb0584c614c1baeb7fa9075cc471a61f618ec97dab0bac318d91d05d189af5d2f5209c143c549197f7b655ae2962d8016d634aa748b4b16a5258e7d05be2fcb5b7fb3ae88b0a431b749bede0c6b479c7c65a9aa7778d937e99d6160c5cfc01882e04d9ab382a89e56ccab82fc8887e011a557dfe2180de24e13bcf287945bbbe9d2545f8854ce748505507644cd1ffca0e79e5924a183f3d8ca19d6d1f0c1782a5ec516496ec03391f2c373cceb894e15761822f53e841487266358f3340a79582d3335ea001c8e62a94bac876acbcfae5e6ab606a27977a9ffc12093e94d6fa9d1a8fb0a59cdb05dbb14053eeee1929a8e7fcede98585d9cad74ae19c1435c79f59f15e101670de4269edd1fb76d92a2db4bb99d3e55485e0385c41e7d2613a4f1c2c735c34d8b11305261402a95b0fd94989b3f07026b3d7a46c439984779276dd35163d5b15c2812b753d62af4d98befcf79953dd2207b33b80c3c827d6991cf1aa3f7bfd7c5ecf61628e403804130028c915d941c14ca854b830e684e1e850fa0d6f0a6ab676f561461b16f1399aee5929bd90d55ba79589a2813f98b2c3c6c8d8dbbade878cdbeca0b009296b6c95132b62487f3b7f5ad7df61df3d83cc4669f926bd0f20ce5a4c2b126ec5b250a0015b807168a735190a7d82d76600ad4dcadcd1665d9f7e59e5ea1dbee99b022a7370f0ae0042c7bc4a0852fa6c52cf18de56c6fee1d9b166a5633082bd32f695388701ef15f43b1e38a7e6bb4e0d3e79d3f157164719bcd6cd5fd491b9956ad4d2eb4280755591dd308c167a276f44518c39bd4e96455ae1c7c27bf773d842db789e6a7b87b61d229b039b74b79931a76c22b7f43bf269c37394703940fb1d456aa7725b8a74522fd633a99d222efbe7f2a7d8d0da94d636e48e6c1604b0d68e93c43c3c9e9ec350255eaaf2f288f1010ea460ae622dc752e1d56c1e5b21710a3ab1e230624a1360e1148f77b04774c4a3fe642f0cb21c8b311613a1b1268345ad6a809fd43bb91aed269214d9fe57e35a94729fcfe8195d784d851b30325ad522684d7c5dcf7b4ce68f9878e4245a05775ab64838477d13fe0e188d72846ca01ab6fa9973de0bf75e6adcf2f54040251d4a6556fab71d637e85cd88a671cba89ae3fd3434a10a12c76dc24ea0aedb98847d09e271c81651f6cbe51a806109c7c3b1eb8feedaae89d6f8a323780f2b1e55ebd1edeed7c0a7b2a66ed4e2fcc83fa92d2a6e124c991a76817468cda0502c3b55192c16e52361981f88d88ef801c4dee1e445c8d8851cb900eca2559c7193b4b6432100ad9b4a02bbda94be5ca45c56cdf50bcce527ef7b302a0614bccc0d941fc832dccf785e9d09e820d7eafd265f620881f299613e6a57196b6433aab971305752c72db6f97fe48c29f9acbee2fbb650fb2127351a447e67ea2936e56b50d407c38df54baca6cbc5f23ed3cc0caf05841bfef6dc1f05caed4f960fb4b1748e7021ffd51660e8c5f4297ab4c165ab78ccfc2a3df6fa79e4250dea32f21b51aba5e146062b40f398babec0eaf7d3d473da13b758a41a0b161ca653d05c5a2354943dafc072c9535de754a7ff9f002420284afcd40b8a05e8000ebf46f46042b7d533e360a5777735d3c78bc319bb6dcf4a8a7ca8eaf31e33d4964908854b9f8145d59da00b3a6e8d66dd5aa0ec2ed25274e4e4b97af659f3dd7bb411ac6d4789c33afcf7135b63bab49d4e962881e75b860016d5750db774e23679ccec8efe101aa35aff5cab344fa58285b132d9abaf718cc87507e7dbecb615d8c510312e405d49254c592ebc05821274fa708ef8f8e6cd23704e87bd729342ba4b441ddff6fd19dbea6d1d77420fb3970e420d2093b292ba403e9937a9afa35f2ffbe12cbe339a9fc843fa87861c20b7c77df9d9c7198cccd93826d4d033153ee2542442b9553b452e3c9b2475e4261a58621a8d28289fdd5547d4302c4204b4e24ba1ea2bbd23e9cd9fd9e17a1c606b6f645c23b686cac4f959f44c46808fddc0dad4af1bbfac06c0079a0aef87ec3fc976f985f76e41ffcc1f41e8e7009f061d4a387be0f9d6778d0c649fb7f5151d31944bd2be3911e8c599ea1c4f5e18b4e6d747c09d5d92ef0ae60a3669c16fc1183d2d517fdf81eeb86aaa063978bf6b86e384d3bebe76ad3dc80b9204e37d098ac1be33f8d5434155521a56739a47651856d224533ea42f183c569220cae54c6c73487e52d6b06547234e6897eb3431dac8724b3feb35d146363419bc40ea869fe367ae9e28b62c24dd39395b7aa4bdee2aad8bf8149753a0cd6ed6db632b5b025217d04bcaa34a024908b82f376bd2e2490889dadb25fac88d912807cb1429c60616b9d7aa4dd12e23bd6b5e8d163c7c91ee41383689432139b17fe1d184c205343e923dc9ba32445e279a1d3d12da76592394879feac0cab6d7787dbe4a331384f02dcd0c77fdfe4b3a46af0786d928d75d74011aec6b7e30d92acb024bc570760015a31bc0276fa8d2d1494d3da6e53adaea6ecc4f7144d6d08102707d9c750c9935bd310832323261c98be50500d57c02f04bb78ea982081433290f482884136bee64eb3763fa68393217a20a6be8b8c085666be352d760494f13cc4fba82c00dc4dd39f3e85df71281c3bc926c0cbf2b838eed1a8b29b52fb439404226ef59a5d08a738f8d1ec42b7a1b561a2381c8331c8853cd0319076d04b6075392cf774632aa62ee2af15af7dcd74ee1198a2c63e3b1499f901f73cd08b20fa25647b96c5411dc0d9c8ca54716e2c69682d8637b0a7361f8098f227e62ad1b103eeff713618bb34a93d5d80cadfd78f9681048ad28388f9a294b2d3f36145eaa633d13e415f5d6cedee1a8a027012f34ab3ebf1f1ef2b86749510a6760a3b051bbfabdc04050453834c947ad03125cf5726aac31bd1595be7a664f2abf564e60ca7001ed3ef5f9a7c6749c053d6219897a21ce5a84949e87ed61f72af761a103f02d83a810e4faa5cb632d44f08da998469df9080745f09a95587450a8a4938c0ee2fff3d8a8ed02eabe2541f756b2add1a8598a3a5b8d8546e78816fc8b99895f1b9771a0ca669faa19a117f9a26713767d6872d1f6018627d6ef50f7185deaffc3c6ec391b99dd5e461737f94977b346be8f92818d46c7c69d57e0dae8d80a553269aaa20e062e3039b84270cf942db2390f5419820903f6d478c704b924e4470df95c70aaeabf6528012c3b341b58bbb96695bd2da1e4a21350dcb86e866e6cf891ad484cc4cccba175b7c440dea8c9d34c083d7f4b29aa70c8b7ed928607124ba9a834355bdb8a0dbfc494ec7c12b5a001d02cfd56d88094b670075f497297aaafe6684435f5fb5dad5c8c5af3cf55b3c19fd299e1112a0320819f50ca530e4bedf42e84bbb13912f2d24801e7effa23f2ea6bda8163dbcfb593ea70b5811fb1aa1f21be09cbf89bea710b03bf7715d76ef256d582b9e0cf72f3deba7c4cc3cd46eb5d65fc2ec98e4977d4e2ea2894e61acfa57e0ac5a1697e0a7c1d123e3719938e9612662b3aca582b182c2c17a2f7885faff0624cbe51da68943a529c40295536ec356b8cc4ee6eaaa13ec20f37f3cb5a275260338a021024d43b074b638d04ddbdb2a32ab40f170d013c2093ed243e59cee8196d86597ca6577aee17c8321c7e8444cf626f17beb85d7292c7b0072343aeafdb0bd3eee7ffcf958bc1b168c7c09cefefcdb0d640dfcd659002d88c27c44a5631652a61657ee9b2eaef4b711dcc79da6b0c2ff3a989f61e24f2f8d03682b1036dfa8462373f7b4fe2c634d30a5aa1266b1dc58b543bb19902a7d705dd40478a46fc4b837e983ee5283491f39c0761f70128ebdf8b3e4adbf7bfb8b396d9f810dbe69b9fb859904ad8680d31386510ac8bac225e1b2a7687596d31ffa8122fe278377efdbbcea7cbd248845745d3edc20741e1d19e0249af96b5477625b7b442c5409061409a8b345a6086370144b91d64c27f0265bbc378e28ebbb36fa6e2e3d52bafc76efa020fb5d1f85b345c040cdcc80877272880032d728415f9e895ebac695c86e28b5d5165cd5034a740600acf2cabf89a5d472adf5f652dfae13ee0cf53cef2368d74f4dd6daa7ad2ba4d920c7c21bfc03b3191fffcac6142a68bcb240bd0af55331f60a2bddccb974ef2d62174fe3339a93b8d34743a68acc8183882a81a43eb5828139c24cbb8369792e373047fe589215128bba55360173470c4ea1ec7387a17c0d1b01c7decaf0c57102e10b666804cdc4dfb43dd9bc575451bb2c17f18b1c978d2f95de42798caff07bf1f924ef1ddc3a86004c5b58ab598ca20066d6c4342f7c3fa66400376310bea9b906354a49913f2b2845cca10b58d055fa9c4599bc39db5a4497239cd02d49efbdb03f4cc2d1efbcfa8f4eca942421d22578091e80dc0cf1f1e1d8ebe0e99d3d7881f487131accb12fa38d34a9e25963a4690600d64892b1d40fc0f14bf9085430e2bc707bf27c705af8635785db8392dc2863611f6962f79820ee953fd9867cb5004eb1968b2fe163e03d36e9a16878c24f6fbedbff636f78f1d17458e07838b3cc7e91ac7fd28b6794370302050cd8113841690f6bfe378a83c89806623f879309a2079eb6241b2b1aa2c08d21ccfc7663358711f20ad8a09b0052142419edd9407ff80d7fbe6480021d39765ff5202abf1ed0ed29cf94c4921864ec75ad671f684b6712eefaf6ca8d3f2ca5561ebe0fe32e43a62b45d5dfa0af22e3b6a00bf4fcaaeed8ffe1825a0bfd8f2b75bb533945bfd748f8e9e3c446e363cd1314c01a4f0711fba17560622befae9c434302f72c8d964f94b37b507fae00d81e434fdaac54b5d3d95d03872b83de8c351b9ccdf11cce75327a0e5015f8de19f24de8f77e084a66a444ff139721e966cd810513dda6c03cff8bd598f08c48ef42ee44568c4b371a165d9d93ccb48de80f74ffd84a91cf49b1bc7dfa2045094d50fd7b7c15adbee9245ac569112cd967f86b75225cbd5f37fc5c75e214583a86dbf9bad8d31736a221ccefc3cbe4f6e4bd2b8a0a6f2bc8ffb361de0cfbfa6afec9bf2c736126f2f39afa681763f01bf6e62fea6586dcb152e21859fa78256172de16dbe130dc3b71e9ff07ac4e886c7699dcbb563eef441dc5ef5a0334c68fa47bc8b3a3197bf57c7335a6e146abdcd50247cbb33617c655662a9f5371a890e13dc1e60a9e3689c8372aefce8b9bd23d2751c887de26597f95bf4f70d35779157393d8ae680cb463388a980da683ca29889f0d82f6c854c533bbe1a2a26a2f6df60628a1287cea5568528843b886bccf93429dfda810142fa3a17d7e02d7cd7c34840bf7b0e80001e56accf23c35b133fa32527cf304f53b2a41de4146b183938198f2339921e96d392e30204c39cabe836e4e5fc65d994dbbf00177faa94ac3ac0a363895ba7fcd2aeae1ea838bc471bd27f18a674b14df37031a52f069023535c3af9c1b2a5ea38cfd931c15a3818188cb3f519e36f7a589aed37e670be922fb3ed34ab991d0c374e8eec3283ced82509fc35f6d3862abd78c9b9d599d3011b4aad1d05ccd9d712fc7cb4d218587b1ef348455bc86f6d5965cd8c683a8e6b147b89c99612d5b770e30b17b8982caad61df7a2ef217967a6ea852e7ab351dc75d1147c0308dcadf1406349fc71ccf6fff52d215533adcee805e1a73f6b707c78183fc60162cc201c6e58603da43cb2600198de6d8be18ad1b4127985f77215ee375aaa6b5dd1ba8599f259d16f8cecff786861f6e383a11ae67b1544aabeae67011e3ba58105769985fb85774c696269b950ad12984ecb54828744cd10c886224b8978b3284946c1dac3314547d5c723570683d74b39acb90242bf5e7601cd0cd78531d08e045b3c65efc58038c19d713f85c1ecc2a0e437671a69fcd9280195bce76075bc0c53e56b4557a70a76b12a05c6b6e34d4bbb9b438bb6b654185e7e5b991029fb871857157d6f7fde032c981a4b4b4e26c1a434e6efffa58876dfa42e5d2158bed53271eeae964341ea21c9305425ae5ede094a87f7dde452d4b52c0dc5879d718b1663889a7489b13a6cdb0aa40ef92174b63e6bd0a2573df50d31a2d26b2ae52d4743fe0b7d7116750ac661dc710aa4aea6d17193443d7aed4fee0e88185cf7448f4dcec43356ffa090383490f1a67a123c27d25def3d29d15c2c398295405f7389d8ffa822382c5a13cea6c4132aa8a96a56b90e7603f836038539ae65bcc64e81cc6c0b09b1a093b8ab89a9e77bb1f1a8298375ca10b7e5e11e3b54e585661678faf98af52dfc43254b37bd566a994e307fc09bb9338125b8ae1cc55fad8a546e6832c4bfa93204665a9cf4673386f10c02f0f6f0e7532630ba6d686f61d0a3522667aed9d3ba21cc14296a50840f5c7f796b7424bf9165499d5eace21226860bab82d52683415c9e56ec1055eca4332bb676f46d3f3d71ef4805a4e91581a46e55f7c91a9fa15bd817daa6f1fd2cb4e41aa3fba6cf80fb890a51b10a1e57f31c6e63a37ee2d7b76085fed0c314e5099412bb54bc183b17ba88e479ebfa5dd80aecd1338346dd28ab4a7ae8157a3f29c9297aa244b538826330622d6b048f2e01b4b27064bb7ee3b94ef52ba5eb0ad1ca592c92d996aa92c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b098377c83fd633f09d56d19286461e7a09b0439c7848c132d28a4030260fc901092386a77296009cd69567bd5e7e93fd4a7309ec253d5b2373babf5c1e423f6b7f02a0e4ca8543ce55317e4356d9ae0039c4626e9a2878c01d8edc7e0c2f5420d5e06d69a982839bbdac6367114bec5fe993175259d3760fb4770e1f3dada4fd814d95daaae7d84d5199d19dfda71789bdce3735c577169cfb0405dbd059776034e45107469333528cc85d4195dff3ec73c04373ff103c2fe01e484c9f754bad1f60cae964149230cbc8d81ec810178af571e5eb3c53ba11b18832762f3b8b459cd657324b7505c9c65f2aad8ba032a2b6e17ed55ab05ba6ac3537f19ebd5fb8c3af1afea95ecf722edefdad3bd28f3ee8e5ecf6971454e8411f2f1b2103374d695142e417a45d1d5ee1bd169b6411e65c81a1e5966b91f3a669e9106b5859b98877a8f7d3975f57266c6a026b3e4a768c1dc20886ea51f937579df25b3ee208c2220053cd9892c2fd627230ff569efcaf30552f8e809f82817a42e5f80eb53890482e45f614621fc86b25fa866ecd3f8d91b68fc883d55f1fec52ec42b024ccae8325a86f48c778fc2664b9701c65eba1c7e42da4a201b5ec810c00e88fd3ee840a37c087cd8651b719f8efc97a14d69fa723f5e74b21e215b0bf491d3fe75da1eb438a2c7a14e116a4fb87925837c83cd284d0cd63e77ec08eb431ac5cae4163ca195d7bb7581cd7bb64b53ada76d602fb23af22ef148e1264294f1913d4261b75d753f21bb29de3ed36bcedc505b566f9a3a66d0ae274366e75029530f21c931be0caa70fc31138ea1c7f3fced77ae38304c862721a7cb83efaa7c9185cae9a66d4e7a54739df6f6f1ed5513cd3a21b59597d4db31cb375e05a3d66388a2204c1eddf96a18ce850f9e3f4d8660359740b68bf10a009efb9243e797872f5f08e59e37fbf42158e83d9c61c2ab409159542453231336b295d49f12f4a393d5cd72d9b5b6d569f37e0b9fe076eb431ecc90f7953f5dc99a70044f8da6b1e73d0bbb67493eaa31e64dd5047ef53eb675f7785f9b1157ea98359b3acca8254a8897d89383547b21909edbe7edb04008a4d1730b13e7e1c92ad0ab9942167a17e38c2d241823644b7d95491aa3da7254121d19396a4d0b5a8643bcc2caff0194dfbd3e2813f18036558673bd5098f527eba19c594c57291b77f6c834d24e284a030ad5372d328140af1dffc7a2938e0bf757a26f79735b989115769dbe97efcd5526b0215a476ddd6e16d41de62f9588b07845af67594d9401a6e1d0cd9059ccdfb731381e6eef61ad0062b953ea5352d49b48b018cacbe1bcb953d66e7c1db8087d097ea0e13f014c4ff8bd50a91213e605ae61f236f00a90eb55afe82c9d2aef0a3e8319ea6f31f225b27e76c18370ff08ad3a86294dd8f52df17b7d89dbf6fdfe8274c6025bbaa04774e88949501676c523508fc0bea021ca6c6d5d2b94a32ba8b6db86d16963d502d457259defeed40b41a34bf8e906103f60b8aaf378df959fb2bceff1fecfb2314afe3cf2cd78f679e3d64dd6ba0ef31909849fdaa3cf2b223f030ac6a2383574a7105741dd395b89241384cdf9bd465f81ee80354aeda723f6045efb05f1097889004b7ebc7bec20230a6ac3b6541db9ac4c4cb4e10a5cc17126f65914b84f3b1bdcb3a3b9844876e6a30cc409f16f4c0ecac3b95b0a4fdfb864386947132b4f2ec1b5c5b2511b37510d0f5376df221a5defdfc081df45dfbce1326567757b2eb209c4f8fd5a2c970036323232b6da491f6d8e09b114500e20e226e659ec5c2bd4e80f12050ab18665fc09f5b42f7d737940ff64b342264814b5da8d6b13f0ceb76709b690aad813adf5a5d697f328dd1ff015d6ce8d15ec7ac71355848bbf51536f4cd9efa05d7fcd5bb1f55163bcdb7a3293cd201facbf5910527a572d72ac2266bf5ae29459e3a884e80d4e9b8b02b03d4eebdff831b8a35619f1fed4d1e4fac808702dbe3ea138c7f64e99b5792353d66b01c24d74d7b91fcd5eeaebcbc0b59ea4324c14e32dee8bcca80e0d2b2115d5b88e7510a232bfda68e4fd3eaefb0cb0366d52c22a02db0860b909c96cab54685e8c55166207d9e7c86f162b0a168f09f04b958a470722d7636a5669f0182e1b1dd8a5800dcadb819f88507930609a36e4bc981a26b4a426a29e078c0ca25d023e492e12d267402e27bb8323440c05ff9ca7c12eef1c4befd7411490159690180d8dff8d7cd2b422240ae603866bef2ad6a6b318619ca8aa53f98d359a70c64dc8266643b87822d4956d6dfe21aa362edd601fe5b59c89a3882fd824eb7532399e5cdd2e0d7e1b64e827e5c7b698ba35b991d64195e588cd587f9e129a2d4594188e92fa850fd82295a27f94c97ae00af96ab1c205b1096dc9cae1146b5b37252b75c4dba247e6986e8ad6df5253fe31936db913744fb067294999609007f82c1bebbf115e1a4b9067c41096decf0a5bc3e58041ed40a01e86836ddca54a2b6fdd85062f4b0164fbab4ad3d2bff2b3cdca99dd1af31ce78f4db456c2c60b6dcc1f72e6a34fdff375bd286f47ed4b45faea85fa65bb2c99cc42e9cef50ca76ddaa022bb16b43488cf154755131a7329a7d1b815c437d4de4bb6c1e04f22211d656164062757fa8f1290437d14b6d4f622889f01a73c47ed56bfe2438fe0d8a6324b4462dbbbadbed4878b1e2046004aef715a54c61a21f625d7631f9ffe90a67fae3c5a03481b02c6bf7899b91ba38c50a8049c112569e578c3bd023c529de291cf73149632b09e1004775ecc1f54d23122dd5b11d722f94f0a14b86a70f5441956f21cce305f1df72463e815f54fdc95fbf3164124e0faf7f219bd01d01546b8f154a9b375c6cd87b711714e4947aba30ea1f2737fe034c02242bb8796d5e9ff224fe6ff24d225708b2dd0b650ba1314a2e88a82dc616215f57c5389ff77cbd3759d30a57014fb92cf20aec01558d74cbb1e53f6869df12358c18476709d2270ae74afb67ee8428ef00735a6bf6af0faf85798edeaed7d98fd7d478f003b73d5e7bb0993be8831bea810a2fc4808fc6ad448df141740c7590c6e7ab2c94cb183bb9a880a4d2d25b093c79a605ce6c13983ea9668ea1ca1fc4189fc91fae0338adfe842032f384d5ea7d673d5011906b98a976dcb1260f46d9e9eb3920ed02ad1cea039d90180003b5365a6eb7c33b3ebab467f9004fc655d8effab3ca6fe075b1c2d452b2de0a04d33189e76051ff56243601fbf44e33bd7575cef47cdd83f1a07ff98229a4a8c460fd69a428f81ad0e00688b59bd8ec10edc2ab7847ca2254d3ad8bc71f6facfbe001eb9ff8a51ce65b0ee3b22ded44f8731a41efc0bc150804163f91673837167be5f52df16bdb9cae20fc90885f14e7e7243172fd6ef542d7f0c685112bb37d59561abd0a5573748069fdfe752023ee97cd2015a522556763da6dcbbe5315976d7cd460dad7a1cba5133fa2d9c476297c690d4d44915af70dd662ae8bff20deafca7e71909b401ba47a4449ed2feb366912e6cd009f48d490115113f07b851eb49bf0d11d8848290bcced1c8b68f1002a041ebd0d40494d6ad0ba6ffa6d6573c2ee8223b989d5281ae8a867af4eec7499b4cd6abe01617bb01742f1ecc9fe74b68e0186fe6a15d49e2679cef95489d826c2945abba92e41d34a0da17e1f37e53218335ed1681b4fab81ac4f21ec4c0ae1d02818abe5d97a8166560b7c5a169a1153f276970f9e39d5a455826b00dd77f1cc76ff297245647239eb67ee3ce397a74367f3f6f7fbeea97dfcd31db2ede99b32b2f6d76dc19d2d772599d2118e5ab41305831bce13b7f7d5e792c5a378dd18d9bc0d4add8c247071b783d485ceb8f90603d10e5f0b1c14a0ae01e2f2947b5ead40da8d42b070b1b10c0f2828346ea981a09738e91b5e76a1d2e5913d5a20e786d9a73a9fb00f72a34ccdc98b823ce287aa6e0543150faab6107ba1f004b540195379b178d226e7d4607ff8e389ac2690f84e86d2fdaacd558524bbb033a0162254a4e9897269dd8c4c7d5f17ff0d58a1a2031c25be271c28d5b3e9ce9fb0d175b9caeaae7d9f10fb6b5ac73ed93b4db0433c6802e24cfebedf34a488f73685fcc3b3d7bcf37e98ad72992db06b70ffb3976363643cfefbf2891e373e326c03556d7d1335adeeb5cd81ee705f3861e30e6237c0dbe5b7d3ce461d6ede5bb2b977e8ce773b1a1e95ea422acb22607c59b069cd1b9638a2a36a2276448b170763b53841c1dc504d0c22902589e9d051b1498944348652a268500a1b12d7c284a63e155f7ac0cb593732a0be96bc266a83587caf8034cb213942fcbedaab8400260007025b19fce9f08e87228ec525d79530d55a5bc10f032856abf07bf4858719504a8e52204ad1de9ae095f888d7eb1bea490db7957e8a58007f39819c8b74eae1bcb921ee1c878edacff45c9332903d54767312ac8507e4125105d7c2430401768922611e18b5abe1695319beccce0696b7508bcf631263d2a67042c645d34b922e0b5f0df77f5f8a54889bce85d4ff6865c9e26d74f806436e7b617f6396365c3e6aeeb079a2ad5fea8dfc9350c232fac0dd53a79d54376506ee86408843b1dabeae1d43beb8502386359606a30c79ff49e2f7e6073065661fed45065306096036be7d21c7bdce02a81a3ac009b517c1de935d1d2c7b777cbc8c3bf80912015948e26752e7f4dd74effab8980eec7a468de62c4928154bf6cc2b70ec0f46e4437a7cc0f9a81315a1b827f49cc874c2622dde7b0a26d6aaa3c49437966476a769e2d96ca3e76c8cf0c7e16c74e385a6d348ea842527f25e559552f43c3bcdfe4744e5461ca31a7947fd02a22e0c01147b17af0d2807a4797f8b2c29115081da1500d32754e2bedb6c68addbdaec993cd645835d45f14a93b9dd707e55c19050d666d1fc60903c961e34d88d353f8c8222848d0cb12317ec246f1a081a7ba05986e8dfae5b3675db7b50ab793d7de3320599f8b00af09c1c7d4141a20de8260248ac5acb441b575e4b67f831455a191101c2e47ac348e426843368e5635a83adeca19ece0af9ee137b17f8626c6c0c3059d3a9ea08f9f4533a3a285d5ef62e44999bfc0abc33475b875bfb784405e98a6a7a08a4f740f2930538a43efd3d7aa580737f94fc7ece1fd070f22fa75a848a81cb433e5ba6e028dd866627df9984840672fa206af26f2240e24fa8a3788be2f1974cd80febf7163625d224ec4ac561e71312e6d1284a8c2d1fb6b6b796f1bd71d196b19506851251eea1c55250c3c5e605fba2c23fa9c2686d15c216dcab83ce42848b3cce613be1f0e6b7d5f215062ee0879733d147bdac0649cdd604ce40d73c68b996c1abf8dd1f79f57af5b0ce352fe1a511a2f45f532a9c48d1721e55adb5aefc4df776f6cfe604f0baf8407d2bb8a577e6a0c18b89ae3a29b39591d0de0eb049e78789d75f488c41bd322b785c02c587504f4de99a7baefb621e1e39dc498bade05989b7027c2b754d22294027d27e92a69254c469c34e10ef4ea2cdc07d2eaac85974673059992933b252eec65ef297a9e714a2a98e7701b368053c2e658f5dd88ee3a89749a152c658581080f1c62722ea43afe73aa1e2afaec2adad3d218f45c9200c4a6b1352e438a9c86bae6c71e99b512894e329c6358263dbfb6e4d00e7b6448cdb829b141dd1fbb4fb675a8bfa2dde9a7da974ca545e62737876abbe5aeee8283ae09f1205a124ac7fa9866a0ff859720d3162ca276a14019104c58b8396cd717d4b0beb9f44ce16e3291dd74de139c3a138b201cf6cb3c51482f88af405edf03cf8edd523f4000fad17d3a7070347a5855000a951b02696482fa5637ad5c6c5550bc42abd4bb51ec0b377a60e396d5cab327a1696479817aad286ad729562fa900cf95c0ef6d4313561df99eb82f57c557586485931be6ddc11deb9305c158f7d1dec2c68ab6fff7c8b97b1e64437363ed75db7cae80a93ca51a2e9a0fa598617c69a9f2c976cbc8df4eb5367e9552207f080c4638e5b62225711f79c692bf431bdb3d14c1998ec7764cc20254f59eb1461b93c50df1beb4ff7ee367fdc446ead5df41ea7628b9c1a698c6023b4ffc7cbabd49d39b16733e3bdeecc6591ee2b0550602c935a7f02c09095aff5a9166afd6c48315c4b04029310f11175a06000042ddac8f67db95ca26f449348a7a6c24594162f006637b83bd4f3dc3d39bd36d4a8c1791d196f2c5f20958c52c453a7de2822445a11cb27bc3e730f53bf82d9bfb1710af2e3136615c34ae801bb829c048f349229a2279e4b06abd1d9999019d8659eff24156b4de006bc1ac70b20e745d2953e18677833f402ba78ab08febd00a34fa7959cc739a7288339eab76d13a4690211cadf8bf29d5e690aeab3e260d72e705348ccb84e57a75a8d87ebfcbfe2d77291081055fbaa4aa4f38a1201c14fc21d27edc6bf830ecccee35815d54154925c7b6f4c160544da774ae8d5912770bbcd62a85a4f776f41f614f7a25d786363e8d425f4851e3653df066288ad532f0f4532af2ba0a4ff28c48a16b5122a7e0ae50ee3540ecbc7a08b4233a3da338813de0381ec5c18f09119ef4bef5556a8d858228ff1ca3b43175b0186e67878b6a80245959c6fd84cca7f3dc9786f989a3e674152544665493dc8abf1d3fb05cb0d959707b95ed9d0a02aa67ef19999cda7ce36cb88e7aed499146a1d520b4965e4f40184c621a45870f0ea988ad81f2cd7272f30bdb7197381fa87152215158ed5815f57017f162a40ba7c77a7858c54e30379aa8ded1df1e81dfb7ca7c5d1bfe13ec9c439b006f4081b5e9bb6d5ab5fa41ce67f3733f28289c5521ea8502357faea4246a4bbf34d8707d9389050019c994c08a1b3c078b4865b26aba05c67d218e30308c7bb016ca5ddc9d2176b4f8b5dfa9e3f6c7630b8874a6b3387a47ffbc15ac583cb755e6626aaef2a606b15103d794bd5930f273bab3d7f50872c4c9eb2ec74e87c2f2d9632ccb1e6527417b9dedf769d08cecf3a991117cbe245e3adc203c59d06f0a50f9688c22e696fc5f67ae065f29bda97c82236660d4a22be8a97eaa25a668477c16c8ff13db919e3aec21ed1299ed91e7236be0c8c345d80bbeb1c9d6aa5c4e9402e09bfc37cea52c2af8c39b6ad1935058fcd5c09555fc53b9cf3a28b3fe17cb71ba91e16ff4717a76edc537a77a22e4adc7a79707ba9a3487c722f00a8ff94008e2f8e733434756edfc7692f78861cfa606c595c573f26127ba49cca7c3e894a293f65fd19621974233379c68f8a730a10eee81bbdd989a188d002ce1ca74e1343bdf3d9345f7b15f36735c5f6a769551782071da497379435c7842e9bea800ad4080279603e5840208e4be1032eb00b01edfdfcfece3a474c36b42ce8baadbf037327b4ca1efcfbf74dbd33f66912c3785599548d02dd956dd6b84a7efb6e7b78ef0fdc88fd8bae272e01e88976b7f844ad58c6cf98a94fd53aaa57d646bdab38e4c3e0272b82eacd8c20b5a5f5c4c3bfb2880f7484ef4f95a27a52555106be57d5bafc0b23dcf496e9fb0ece7fb713751d482aa4fad2b77a3bdfb1175c77302378198e1b8bdc3d484ae900254a4eae7f9f077813a14d9fccc2ac98d6d46caf2dc0b35994d0af2e7730a1cdaee4c20fa0e09dd11f41eb26d31c6baac178d438d30cbc53916e1dc8a88ef5c04e871041738bff7582eb5fa6fd4923b807de2aa8fa784cdcc262f42ce4cfb22b4356ea2027ea61c3b16d677da85716b8070ba2e441dff934346d35773ae1a978d4593ef056f4ab0def38c7cd5bcfca2fa7a778020c31367031354e63b113a480d3a12683e45861e85b3c2d3b3e2991614892c6b42827c007f5ad5949df9597ded220852ca9dd093d69ad74eb62b8378c583a92465780c5ee83f7e673abc1bf3b6bccbaa553f9e00358510b37a4e6bdecd56c965b56dbd835de4d5c2609f6163a07956e393836082b813ab1ffdffa1b97eeb3c6c2d5f384c029c7ed11060667032a8ae196c636db7b6d0bc3b376bec0188fbc25508e87f44fd012ce4f927c7643854832a71879cfe827e43604dd117552817b8a1f254d6b6e94fd8a747201fdc1f6723e8eb36d36c4b659f590e2d325f5fdda69a6b09c344575b1486d6f7d56f923d0bc23a00b28a4c9e8c9851c6c2f2b2dcc00d066d7385725926a16bbcf87f546c12f797ea1f00665d1e5c6969729acccfcbc1a0f6d6a1f02e86bdbc6712a4e08c42f90d1c70de91f3b001b0f575f0ef673364c292868cc8fd421e11a249e59f32a2ca709ba7579a4feb6ace5b5a3e04459143594ecfeae44429726ab7f4822976a2a87bc37b125ba2008364fed65f8918e5366bba368053cab70499c98eb3f492dd15eeb3ac636d7dc3aad031318e28bc9e8e3a1d1351329aa15259a26ebd3344be054b71461547c776714992596bb68e5d0221751b50fa0686ff6624f82d6875c508f3ca0bb945cecd3317f929058e81c5416bb201febfdc18592a0614266450aca68de484f58f0bfce743ca77d7d86f28c2951fb6c3e713423d4d2873e2577e0f1f0b42df034ba23e19efa78b330725cf71c2c7471fc70ba7543757e62ece70435bbce50830a6584f4263f86e887a1c00b0ee3439ca293134e3595a11a35059855be72f4c91d7a4fe176e2bdb67a1384f1d10e65c1d2a9351015cb0d3f41aa27c7e8db9829639022a7c11d32cb0e6b13a86b2fe1332a2801713fb169a03d2ed2349ce4d82aef6aa43932ea0cdd1341addf9efad765937f637c0f8298ff6f87de550387057dc4489558903b895ce32c4eef11e8322ea1e3c6ce3fd65124b7bbda12a2c942d602804bec0b8fa690f727e2287b6ed5698c3b10e9311a9c7ab01e02f13e530da2206bc70d7c4380b3ea8490022ff5cdcd281cf70ed7c5004eef1230317d5c8c8aad94813b2d600eb2d404145d09982eb22b621c49ab4290ce781a0f3c7fd98280b5ed2d27ea7c32a2768044a49864a9c140883231b0654927a44e9e8941e49a58bb8c0e702ea0a2a084e60ee864790b7353df77f2359cb358b928e318aa85a7a48bcb0a510a8ab7e62762b2736f3bdd2ca5de9d01a2d196a1e4b2240c72cc53b08d5bd3e180209b223e02abd9837cb0eb9aed7ec70319361ce96139ef4b1bcc7ec1e9edd4202b3538a7852a08711b2f74bff1fbd5f8e37076199288dde00799de374c98ee5139f7b96505f7cbe8bfa99501b852a61d7f39a8a88b304ee8d7331f1b817ecf9a8fe7168c71cacff0568130f99921aae0fcdfd22e9427379e236a7caf545ffba0154e6354a02361cafa185c4a1e04a5831268edd48a24223494882129fff25935bf0b4b6a78521954a172ff796dd081050cd0d8cf7d98e2b152452f53b0a7ee74c9f46292b6d28d56a5331f8ed381524b390463510b5e756fafea56fbe1b80a95a2df123f9441bc11891025d3945ea7edb70f4f16de83b0733c84c724474b70c51984a9858bd6e8341d51a01e525b4a0f993408c47da78925251518b436c1aac2716b6826b34b5da06ef83f31be26756d82eabc1034879915b6e0fefd802ac7a1311436469b20952d79abcb47a8c8b883851dc99e4eb34ef31f117b4f8bc7e0bbf0ea69fcd42fe47f5149b15accac1432a5215b45c457db4d3610083bde7c54133c3ed4877c0af02e38485cc2bd4df69f0862216f9487b286a2c1f8756c8bee916669e5ec0c4a78833776180e2be77604b896c97ee0694742154398127a4965e836905f36730ce466e69bcec427d179fa07f2ab3a0f0bf1bba8ae25cb9ca921d0d027969eb60128f8c395c00148948497d2f4478c6857bbe9a32197fec087354af20c691d5220dc23cf53ed2f65b226d5146dfd66e470cd8fcd163dc5f561dece3cecaf4c5bb70472bd7b347eb2d2740cb974f860eeda1dde8d00eb9d62244a60fcaa0b1e8e6af5e7594c561b874f06ceb72a9365aeee158f71efd9847c10f65fb0347a831b11b4daa04855bcb583f53b73e570c7b7b5300d153d0a33581802f5579584cdcb6956542c29fd01ea00eeaf3dc2b1487d37e2603522cf5e1ed909012a68c82986344199f8190afacf948c3cd4f09729b54cc292695e51f5fb73c99a62d2df6ab0893826541aa128106aa58f22eaa39a354042412f51d9ede2661945586b76e40caf52427f4489c76b882d1dc8d3d4fcf2bffb748e141bf54fb83a1a7dbfff5fc93307a58653b338b7bd1d4a700f61b00626644bd40c3947057e94b91e5e8241200048116bae803072a1974f83ba35b0b8ae4ab228c1e0ae8bbaa9aa1349187d45e121285b18e42d67fe9d01ba32f384ac0b855309b00451fd1d4981988acb87eb2903ab091f4e7ba266b57f6fddd65d0676b566268120ccfbe04f593c075dd62968be46a46f97a47eb5268b2595b5a7fd0679d72e3e194da3fb2fd0358983e84c3baa9f183380341caf69c18a5f0e2a0480f31c0f49674354991b2d57d278f3029c2dad11832275e7629601bcef8faa0079291c7f4e62770ae604774b2a217d89778117f119300ebee18bb4468e3ff3312b090d56c2a34fc56242d80c8fb2da513e2ef0d4a7dbcba1e0998f9098dcdafdf515da0956cc38cc47ca741d3340f49b1687e30c4cb9b02dd5799e5eb6a85da87ce17396e28756fd235144076a61d09d0c08d08c62ad860a9639674998100af156fbfc332aa685f980f657e91004733874fdd4119bf696d1d3609aa3a31df57b657c28a67705cb518da408a5117c5696fbc1c07acf4d702122366b554aea3130dec56c12cc3c5bc4a77cf60e9b09e369becebc3835789ba3e88c8fe13bb11b57edca258d71d393c6789455773e847e4873c23f0f254a5f0402a4fcec75a04f823c6fc0b87cdc17e51a3332902df5da53bc7927a97bcb046584c5e9f492c5c98bc4195e97cb5bc59cbc881c85002b495bd9bdf000c63092befa3cc692a4f8a897e0a7b50ef860d5459a5064623604d5dd8e80d8d863748df14bfd675016f9a1b08f0aa25144abc3af31c202c1092830ed45d7e48bc27e4f5deba9e699800eacdfd0b9677ce23557847053c4f131ddc61177c632b0c649a0a0f200b7f7a82ca85e7f923368fbd20cdf884c89350e55346353167e36f816990b2989fee4ad2c1dca4f39b651721ab62551f4c39e87b32c76aeaafb0041ac55bf95c54162e2a20050a1917343d80c7eb56821dc7f09dc592cfe1e7a212d3d7e0c48c99d46be7d0848c96cb5198fcb99ff837e86c9294871c0bae48adfdcf69e3d03cf8a9725698ac474ddc4dde72ce335b35938d4b986f8bc8392f12e98514f56103a61c2497e19706c0687ea78a5b18a982591fff46686a21939283028fe4680668358a24be58ac27754edb332e85581ef4b84f12465b6294854b99119cfbaa6c6ef77973930fa16fa8d1772e1850c60d51d71e81491429f0bb05c7a350e020f67e504be2f66c2e9c266f079af1e630650537bc58d81b0270880e86e958a6587e5420a633effdbbf2ce32a2c123dac8f0b4df4e83722703014c2bd0eb1ae912c4e247abe0d4aacc1efc50a685905818a277c320dfdfdc8e0d5d4489b74a4bb635a4826888b14baf14acfa73f6d3de86de8ba93eb93560ec930d26901e4ee25d55c6bc10f591a836c60320978e9702b4a23924e23b263d6d138dc21a4e48f3dfb5b714b84c4af027080c2c9e59591fe0f0d25585fc093a5fd168cb6669ef24dbaec9b000b757f3ba39113e54efd28558ae95bb1009f690f574184c1f3084cd9ad5f1cadd91fb2b74cf54099983d93cefa805348c30d0a2915d6a506ad7071feb2ed2f420a4f555806b39812e4787cff59a2842a5e88dc537cf02efa0463f220d90ae9550956489549c5992a7b15c14f408060f5d61da4840437508ba0accd6045b8483063adf8744e45f39949050aacfbddf1005213d95d5179608931a2f553ab74e3624223ebf6aa3dfc28784b483b4cd8bfcfd363c1e63be1445386dbaf3f844fc94a0ed473ef71f3cf7d2f6fbe398c001dd073e13a3f118ac0195d9062dd539fb7ae42b70c164552cab804e1d6773ea6ecfc728d6f6f2c604ee11afa8022055b9cfaa67b075ef762f8d773802e941710e15993c65b9a62e8dbf67f287c0bbfe38aecb8410e85f667cf6f26665f592067d7cdfd3cb5cf3f125d3a1bc4e66aee7303ef8e123c101de3dfa3a2cfcf73ddc3c50b8b73f075c6130fa3ab9405cbe02d4e5aab311da4d03b69563ebef830588c8f0f19d866e330d6b72af358176b0c995c601d16eec5a71611ab098369d535545429c29addae600113826ffb27bdc176e0da3ac068cfbb75c567a6858c544c3d96af8f55b56206aa20c6cc14096bca15f3749f426e9e898c01efeefe1ae1fb1d384551e00a7585eb36356e416878be75d44ccb97860d722f7a641645de0724d2df518bdd096a198a4dd9f5a838d724bae96da935fa8aa6f855dc7b582eda006967b1235fe51dfcc7174bb5cdbea6f7cfe6c5b5c27c31beba5f0e4a040a7037f11f11fd2f10fc94beedac1c8f26e9fbbf740e950827ba0fb9141ec4838ee94d058d3f8160eeed63fb011a64068efff1894ff0131be4c36e976558869a3776361143f5720277c0b4cc4e92cf02d1b124e9c85958ad5508f5be0b40a798055524bc57902c66d12e41cb9719e54ada74dc4b296c1ee05338282253ccac15d5eef6d6aa4d5ddb6c2336fe0184b9299774a228ce27213b50427e295ffde74e2fe5435b4b53bca564ede9f45ed4923e0cc1d1acbfb3c5643df0d8cdb1cffa32b97f40a37cf97df1286c4f80bc9098a45d617a28f8c2c52ab630aaee245f95459e5c25641efd179e9ef685ee25001f4121b78cfdfeac91ddd559c1d86232d834e29d05444b1c4f1d5e0335793e9a13bbc832f106bdf4340017602993f9eb8229a23b00049410d8ac4319c40145e70dd0b02edb9735d9de07f32044b01e2e09400f488d33d634f8daff712a45e0e56590c81f52472cd5b45f7d63712980e08cd8931d6fbc3453bb0ab3d9d2e2ef9944673b0e5dfa146f30ffad3d1be9ff6f30bf8291a0f45981ab463b7dbcfa1a0b927b16ec006369247b5f965289e7692305b10a49c14b99329c03805dd106297d65b66a366d40fd10b75f13dfc883eaa1a936cd956b6dfc07ac72d455961325d5d89157288068c06215f39dc17fe21a1db802d44ef36491a79e215336c2425669bbd4efada319a307fac5f2242101bb6bdc496382ddf07bde75a542e601fad63e78a0c550592ca5e60725112b3d766e03b2e26c8dd072d218a8d0d3081a63c65883546cde70bd14a8cc40d372fb552d52cb5f02bb1d68e80004e8d2a60a5e79e28319cc07a6776325c1aba1799637fab73879148934e3a5742402286fcaaa89e9ee3319e34249b9df39366a5e62b46551d98a84c0f9bc6f5a8df67da9ccb6522afbe58c350c63aef05655e94814fc03ec2b29eec4e43d2959549f22c1fc072a27b19c173dd47ec058e274c35dc38ce7c0e4dde99382e4722f218630c3b1ec11f79994dce83e2337ad5f369006e63082a73820a5138ac80ea3086bb676907ecd93d6a56476ab2a4c11a9ec9192d2248ef645984cd929bb3ebbb79ae95ad67daadb872409c6e0c0a87c0b2f8ebff6da4edcea105b5948679efdc82d430681fa3c29a3305e81a6392ead9936545aca4d27f5956700d36b6e17746372fe2db1d1470043c50df5d4f329922d75079e2bba9ab6072a52ceb70fc52eec2c22e1dc0af05ee600fb7d2d65d5f70cf17cf61f3c43b2d1f2d31d62e0dfcff7b92f6d68bcd6a8db196b8bebac472403cd70ec92ef3de37f953bc27f064863a2cf6830b2922d1b6fa04d84afbbeadb6f753b17a4b70cfa336795fe61694ef8f0fb588941bc1d0b3485d29bb307d53a866ce13925d0db3fc2ba6d232ea508a119d68ae0c8ba7c465ef15ee3aa236a773e8d8f7fe0adf558511852ed50e2f4b1b300a0fcd78579d0654f832a3eb9407b5496632d6764ecd56d98dec99dc9b434230f0005016e34d8504416fbdde6924ff01efcdb8546d3d5c50f1c76b3873bc84ae77c1297ea9647b6d651a8730e1e2a1300c2863c97ec4d020f45b6d011d1b68bd15fc7f7744057cc2eb50c37141023108c5e9a67603224961ffc603069147eec8a1dd7a8ce624daba6e02ceaf27064391ab8e1bd2a4396cd0c270e1c7f7a27263768851ec8e95bea6fa4b128b93a0f8f318a5c6568823c32681a9a12e9a9e28426f146faf57af146ff01cfb6ae929033133daa9d81c70efcc9a6703e84ee47a9f9ff4120a6c6cb86b4ec478bfcdfd1ff42c699eaf6505160ecff0422450cb1125b01a76ef9ec2970a2152de22013d4242cc807b58a4979bd61e4baff1cce45e391f09e457b44794ab7951c401f4d1c05963604e5133a62a86ae42b009c9b4317c2aa30691f7724610a323c8e1427faeb0d324c39955cbd517997c7bb88439b3cbbbe8b57da806f3676a538d2fc326e5d70c9bee57ac238ed0e7c7570354a4e738f818cc5079dd3499a70ca33abd19dc6aed0d7d5db3c88f2d64c1ef63dab3bfb566bcd0395da431b9824fb0bc846496346eba62134bc902111741b857e96392485c81759c4d2bd89718e490515dccc305337c80d7f2ffb9af2669e1e7da77dbe31246b523101fa3adcd474fc6850fb3edc0342d633cca2d1167007c4d33b95451156ac5b7df7df98eef04abb275fa23e228ff2c357f7867bc65f89eea5f15fc6324cdf2d077bc6ca91894cae7fe505d3ff7ff8c4048e6949b57ab6db249f228506c49e9af24d008c5d2fef7361aac8a47ad562bddc85394260b4c78c97cd9c53c204cc6d140571103d3206779c7bc3ff630e2a54349b490fc0ecbdc80d5ac2f20aca9a6f20ced9e834e872e94717cf46338b3c257f89c132ce9b404d8b99e27013c9c52495523b6dac2391cfb76352f559a1afe0b1803b00b5db765024454dde632c9dbe9af976adca5c9a3152afc0afde71605ff2dcb1e93b129ad5d4bf348302c77fa310702a69e64c93ac82c3fddb06d81fd3beec985561b4dedba217b8eb94f0a2dc4f60c6f22234d57fe9a1521463fd49c66b298716a017fe9a7af139e947698fbfd5dfda33124281ca4bd25bac7316eeb01321134a4cd826bd17529edf0718c26745fb2f3774a6fb7ef44ae5eff02b1dcd29808c43a94f13fac7ba1e5d4dd0035f57d9a4bb7591907045a151ec94b442ed1179ae7f48255894c129cc9a6fe2c056ac2455f4fa373536c14cb6b8a0e01faccaf43d25cb2cb5d7098f8cf27c540212be8f7f765031e4a28c31d304c9b86920255c98f0b0e1cc27c90fdc7416b5d9e657c137a18a1e41a6f01955c9e1cbe3799efecdcfc97418602ed3843389364eb872a24c922a6c0d71a27340c3668cc11fda3f6ead3973d63778ee11b5413b5574ef2a8031a695ab82aa6cd6097c1b255259cde54050dc49f32095c348864e9b65e66f55f961ac3c5c884ab1f136a770c9e109c2213c92b987c60536c5e834310ee428b076af31e72017e477b602877c893e4499f747a88101adfe71ee7b706b856c5b67aff60ab026c4cbc2d5d9a32d77dcc99b81605d9113d819c55bb64700efe4a9fad569e2532e6d63a5e986d68a95ab509640f297733666059ddcf1fe106dceedff8644a16b91c1cd18bfc2125c2ecb54d17969f124acdde9fd3f678b0449ebe3286ae37da547e07c05e84c7d9d3e682ab60fb0e5a89c485c99ff136c44e851b8adac4637b5b6550e8a84809006def5758a91cc1b05734f681de7861c281e363f7d747cf09bd6195df036deaec568b1c79b2ccfb06bf00db2fc72b760d677172f272ba435a804b371357e4639f4682dc07f9447ecc8cd2f621ecd2c6226c05f844f6f39f1f7823889f2b794144502f2e6253265f20baab76238df20af97e318f60d47265e1cc2b58b3bf51e75ca869db4643338527613d81f5ce1a1f5e5be076077766b565ef78999f274f647e04f8aeed11e5fd9340e75dc2d6df6757b912092db3f2611c0f925cb80d0c538b4c6d784f8437fa49ce2863c400ed47d0acb56a7db289a9574eee5210e7399237dbb689927ab7d5d3de1779f4276038bf70ce8faeb640d208bb0501fcae320684e91febaab72c2c636abd2c55fc7eff875ab6cf64216f39ec4f271697249198841b231d775597eef17e13a6e936a7bb97951e06e3655383110b4a3460c704090ee393c70aba46b8640cf3ec3e19dfbe0af6edbc607958ed6d49efb3082cbfc9df2c66d63e11db413f5632de4aa72619d51ec4117d9523d1510446a018cceb8853f1e31f140fae09d714e40a608a2a19703e4068b51e56d45102168dfaa0d261cbcfeddf168a41a1bfff9609f97c8535a55558c13a9d80a393a5d8b95261a744cf4ff7e6db6e68e13620551f33fd9f1f6aef514787fcb2df4bf9f8652e6fd123f1b7d6a67e5aa78ea8eed944beab8dd4a532a6cab3b6562a661913ac3b6c4e08920912403fd01006475304ab742c66e04a3d751710278f97143fec087acd87d84dcc03fbf9063242151cdcba097c1c9d16a33e37aa8b7161fb2f14dc170f8768302623b25e482e13bd09d1f22e44060866b3eec0044c44c1dc33028e4bc798ce5dcdd1f584572662e3b716950743c015240d3fe8c8310470bf0edb0b1aea91b05a268eb849d5964c13731263d5103e594ae8c25545eda5d0771d56efb196021cb3bc4076d418cd5df1321d227fac514244d41268ca89b5417a2e0b9f3431040fb4b866a918839d1e000259385c802906685386754044ab7b4bd315bcd2e327b0809a5eb73cae6e3f72b4b1a8e281c4afe6cc7a30e6ca3a437f1e341ab240d9872bcfe27eac04c8584bbe81381acddd3e77ed2d1735bd4c19ecac1338b7286779823cbc3be0604649de68a28bbbe3b901e1c1f6bb4a10c1aaf0843c4054c376ece714b481f6b0c37f4eba64cd896c51711399b362773699787ebf96b149effd18b84b7c06127896ab541635872d08e58704ab7a7e94e4ba340e1913e457a402c8f436e27726d2472074b9a94ea310bd0e0310ac50ed3982488323d1fe7dc43d38c0ce6b15533e8923131f313d821ed71d3b16e5e606bb83bb7f7c4e3fa9cf87f69e1c56e64476a8f193f0b3f190d643bee192c27533354d5ac2290109535622cbe8045f0e82aaa878e75e4fa37db8175a13226ea64484e36398d1fc7200e5af980a71d4e64d28029161df6f08256d3ae1e752f8981d7a12670af6684848e14aaf52602df19914255d723ed432e099db40f524bac664e5269638aa122e632b305a5b25770d4f41b3d966a0c041d50e694b33159ac99685dab2f362c6d0a8fc925b986cc5e0b159dded71eaded26733292646feae89b7daf677510c9699d2e738fda0f2d9064ca8a8ecd7fb62f49749f44ff276c870053093e599475efbe5975fbd60ed0a8a87f180eb1782cd2fcb51bbfaf61838d06165e48d86aae232dd9845a4a8760250ff7f411721f118d1d260c771fb5dc1b588b43aab0e55a633bef5dbb9a5a0610b8d97d68860e83c91f75e603d88e26b1a23bb58cda550c111170dc2df5e045b074b18a7d4eb36890f76915b708b1c0abe714210a5a8afbeba55ac09ae799587e9f78bf9af1c6e2a094d5c31326dde3f05dc5470794fca3d62b676e59957d8f967ab712716fd1225d29c7d99c04d367db61f50189bc7c5113aa96f910e8066cd3bb1def150f0e3db222a9f915c1db9c7396504c5090a583904e4a0a5540a04f816224ffb6117da84e9f6a7bd40b424c53acb3584edb777ade45dbdbbc74d8a9422ebd5877c8a89ef18dd5257e78501c069d2aafda90be4436aefc831776b1918c097b61bb48d37f608d175503161a747b1d82ff60b381bcc0abe11e7797e320387e50b14bd83ad58bc54f59291caec0da2c5b9bd5b024987d5f4fc56efeb4739027cf49b77060af921e9ca3c14466c339bc1b8efa99e163d1661aafc5484cd2d79f1dfc553ad5cdfb9c467cc1f779b17ec8147f064ebe624abd819a512419953ea497fafe94062ba40f3210b485be9c0b08869453604b5336605e54b5c012ddc63792489ca2685f9f6dc50c766806b93d5cec7995fefee0a077924221852e7385fd6754e5aa86841b53c5bd24bb3d7f0036e5ab3fdac72669b5be4d0ad92fcaa188919d6b9315129bc139e8ec4cc3cc04ba0690890d2c157acfe4b9a86e9a8b9e0262ff258390b94920950b0955d1e8b920f5976b8af52e2a5cbdebd97b151e2111dded628b93641f4fdd539949c1bc3379a2d96b1492808f6ce258461c93042765f2d8b2d519675c2479d58feab5ff84fe12b24942f1a3eceedd4e1bd66901807591555a4ea2fa0beedb19fac4455224d867b5e2e20b861c37327c289f3fdc0a8c1be2e5da21e10b0384aea28042de47b2d5ec436c2d9b975a8f3fe11fd072479d5f3564ce56f4136f4c4566b48fc5e22d1485dd6ecfd64bad25377a02852b9fa79eaccb9fcbc1eb0be4b616fbd4e5519a59fc51d66f1d14f824f83d27d809502afe89cb07eb6171942a9da6201f9533d073a010fd888590e2df020e143dffbdcfe02c4fe550e5676de4fb590ad34fc6c49b2dc819e92bc50f3dfda1440e81f2d2bd2b209d54eea09f3a68bb4bd7af87b44fc50f2ddeb3b41fbc0fa3543514a37ee889f3b24ab9f9fa7dad5a9d4c8b59ade0129fa18ec419ac24944b7bcf423eb8407feff70e997dc112cb2bf5aa8f640b16498c5670505e6733cce0efd219a0a13c867372ff425a26a0b1e85cf68cab89b5015c1320043447ca4b924ab93574678bdd1a7bf483351974f2f3a24e5c247503007ce7185f46e73e874ab17bc803af87fdacf44fee73952085aab7432be2a8b43d3a5533119f94c99296c5037ba1d3ed8b1a4da9e7ef1e5aaaac35ba4615a93f84bf262701afd3b593e46cc44770820cdeb8a72df20ce91bfa18c34f5f5836747dec00c4508abb7235cc52cbc4210cc27286e52c30d3c6a0a7914ee7e0f9d8229db13778e3132f83129d08525974a94760e0f445c4c08f9074cc8546eda7347db98bcc4705fd4773b884268009bb829413e51b0dbe8d1af76b1db0febe8630811dd7d0857b269b7f4292860f42077004581eba5e1d8bdefb443aadb0e4fd347a7121716f58fc81df1f8c3b2b7b9bc3ed081459d60b8b9c756d5ccca4467983a144cac0fb56b91b153f3058dba608a1c9a2028423e6dc8bcfdf61cadf2af3c42e0f0881fc9d3644d7d3eaa87f0b7ca79beb88701d2496b164a5814c9b98d2db4bf59a785b8a090ff310a460f77d5467bd210bd707f312b8b9e006c94934d2c3f1e6253a290661da3db7d8f695a8da36ff807dff555d6b309996c64faa2ca6b165a13c5005e140c201bf938c858b2179be9a1ce00d625dbc8594d78a3eebce3c9c177fdb2f6776f86bd0081a7d5d1351799729f059ade2d9e753f96909f9be2ef13d0148a846cee819a3b738904f515cc979fc2c3509fcb3f51c850315896b3bc84580feaedb6af6dda25c82083aed318227ff2068c6638f6e12d6db0597dffe3ade577af6c463f21b00c035ea9c2a43ee5e782fe5b67e62912537f7af9c911f93f79dc0911b98fd542fe2272787ae72d100533e91aaf3483c6c0770cd39dc69580065f9387f876151556a29c1908cece121749c85932cdea0a41b69751a3cf08b804e8dc28c4c691b1b9b9a5ece9eca3a4db5d7aa69d0f7a27d156259a413c5078a3e364988ab4f2cc95667dde9e62ecc961f3e256cb35843deb159f946323b8627f9da4ed7f091f75fe223b7f6de2771f64c4ccc4b6834bea9a432e875348b88a8436cfce06f4ecb8d5f7579733c58bd7bf3b572dad1f8ff7dd6c34cc61e235dc27253c4c8c46a1d73b514149a97dca10796c73e02f134ee42b267a9c49066ff5a1cc5bf560813b765372257d39c93c75566078d740c1bcc1bff4a879d96b9c54f84ef58ed2642799065039b6daed8e8d8867ff713263ee5dce7a7a3d007a4c308633cc772f178e4970098bbc5d9b9a6c7f74d77ebcb1c19e4126f604c734c558f04aa469d4dbb901b5d98a94515ade1a826dfa7bab1c4b33457c1e4d5d2d0ab3dd6fa8a26991b82f15b1ba86cab5545373441a176b0d7a2b751e08c3c710a007077349a7763672a72fd2afab3167739f55c7ef58133ff849c37bee0b74e5dce4594bb7f98241266220ceff85fc424304bf73b9dfd89ebf4dca7aabe603e804b46c0c5a66ddb56bba0b12d154c7ddd946284402f0d1b408bb1a46977a2a8b32ced2bcaa3cbc20703e8f7a2e811ff966de6303170730820b4d18f4f9794ff73ff9a235af92c88e45e806570bed9aa9c0e9f4c32a81436d2612214a8ad83adc4d1bf3a2a5b631a1332bcb0ce306feeb0866c22df0e12c3b3eea0175e98217b59cf7bb7f9b00afdb79925791c29fd40cb9dd53167a61e156f04e94967897e25d76842c8964278d312aac9b6869075f0a095fe8ce3208d5ae9c154c682729d3dd18ac66294b1593f39c1f5f11537a9d631db77d86533c2894a20a79984c1b25ce8819ab723ceb296931b68e0aa84d1acad159596683abafbd18a632fd4b3cde3fee85b391a17b24101fdf3cc102b3fb0407054990ee3abd348cd4f96ed54a04420dace2ff08f34306313f4af8ebabfc3765625625982bd53f87e7d9bcb375ed542dd0b0d241a7192a80b15051c840f0b222b31a84d774956739e66b6ea89f93cf814e80a3244e0f585962de761f8e39ff8cb0c737096a896ff12397c7486f464a7baf2b9d51937abcfaabdf7f38fc3727c3d3dd726102d05809f678fe5f48ae53f92d360231d546cee7799265454e36a9e8755cb978c560a559c3f19d0b10e3520b78a9e953509d83d3a09e093508ee4aa2e84bd202cde6a055377ed226adbf75dc5f729bafacc4a331864ce9412c6998a629d42571b5249945ed9103379cd5b8ef6ba37cee9e817abcf55f26b4e0205f52789d27aea7cf5a6032dd4cceb4eea8e4add81931ddee7bd1582d6243a78c38bbfa80678658de34524fb7f5001d7bcacba9b3a8c0becb22d176a673761ee66dcc8570607c2142ca49eb371c5ffc468155db16d733ec5389ace46dd6191683b6a80429669c714bd60cc7ffbfa2c1d2d8ea022fde5dbac296dd9e519f3fe0882c68d20c1a1a1a3914e2ba46043c5930df8e60fa0b8b5546603a027351b05fb1a0f547468f64fb5bcfc8af5e77c60403aab8105af71a6aa892e53bc43dcb6185fe0b5ae7b07651d3102ee1f0647265550f77cea1106fe5e6b96adab9633b95bc4f5f7432c585a9127c548bb3faa44c4dafdc5f75631ebbdf6e2f4d028eeabb2b9dd3fd3a2afadb80d4b63b7cf093c330a2ae7313ce198ffadb6d33ee2943733f722738b5f22644de81a808924d8a7266176c30690432a1619894197a948241b9fcce19189e62b5caea14c21f6e927721ba6c5a01945974686315033f72bc19bedae38d0546bf03db2221f4ddd67cdc6b02625d2494abc5944fcd65f119fb0030043cdc720928c761dceee388d93f80cfdac189f5dddbe7222145abdc94d9e45d5dde23b8027780668dcdea8a62f278157694ff3ec9ac3b695b5cc3761e0fc77944dcc6fe4db550d01c5dff93ab4cd451a992bc6dd41436328291d44a9443962fb0888ee3198eb855622746dc722a0ad699eeac4c724fcf18d7a5b115ef1efdecd77d48cd8143419f2808b9aba990b94532a854abae1ccc934e31357423846bfeb8b6aa09b6cf15d4a27568eb84471fb4d65483cebede1ac7aac595a7cb81b4a2b8e78b4cbb2b1e204e9d775440124097d9f0a34533a62a20ebbaf1dec5bfc230ecff9e948079263365bc4a5998bb1c6581b98c7b387120d000dbbd3683bc6b4a8ff6e6561f240dbf77a7c2e57fb0090fcd1a3f3be0299cedb70bdf6da0a76a4dfd933389ff884c592191f2d3a93c9e50ec17657b4add8f8f8e49a47d0664312a71bd266366ba891833dbb3ffe60f14e5804687756635e2c994ea5602204bc646de40ff70e3da5a83f2eff54f6790d42e04687c09030f701ca5e2dad09ecf12e89c6c7a607b6a44cdc08ab0736cfff0005f1f0df80dcdc0c3600341e6fc76f036de7c402c3fdcdc224d2378dc05c731adfa5d2794674d1964beba84e47ee14d43ba01a7b4edb5b922716f7d182380722149ccfb0903ced2815b36a21039325542211858ec97124493fc6c22cefa59285e401c5b62b7cfa1fcc89921f7460bc92e23768ab3bcf691bc890ca42ccab81b072a91f4b20d5f606673f6f541ee639ba30d398f2096cd02a8bdc7890987efb968abd3563a55bc9611c49b4712389a0ec54b37de2e07b11a94c4ee78c45d267ece42aa988b9258b7f99fd4cedc5a25772aa36dc842a4648e22def16d1ad9753e8c25e1141b1f752b4e77ae3d3ff13f1f7664047243396023906e4a788c742513369d9232490b98d135342c7781e8012c3be9dfd75da562b37f7c2d384ae8f94e3672ba70d6faf9cde508ccaefc5c076e3ce566079cdebd6d30a4d04b258607dedf9d3f6d6dd034180e3c3b094fe01423ebc3d441c983b31307c56d8f504016f2239aadc102818bd96abcabd858b3a85f89004778fc8c1f229c1c9514a9a1b6b72d24b0985dc46508599eefdfda96bab789ee27cc2ea51cb61e65f69d764153b1802efe7c37f8abc45627a8f497551e798c115b037327c6ddcd1040656b0a379279db0061faf8359e50d93518b0901cce59888fea213435c86689aa1d0423213ebcda23811fe2ad9a584e7c37730b28f0352754420ca06e9f263e1e3cb1d1ef0b1eb12d03ba396b123f94d5c57ac1d43152c6c443ddf04ebeea4bc1188fcad787fe3d3bc46bac2c047edc16e255bdca7e86e4b2ac941b818ffcfb693b37a530e9d1a051dd5cffee86085b0122046d953cecf18f846aeb25cc5e6ce12e811e55ca69f6d7a9180514cc91c4301b0e6d1f2c078558a600922110aa824bf1b68159dfeabd6db2b57c9b6657fca171c2ed832b5317b2917ba0ec2054bd1d0083ce3619e4c1870e7dbf38b8c37d49cb412796abe569ada26ad19b0c4711ba9ecc374cf97b4ec7f7177db64ed45819f94656b60d61bf6264b4e44c472ad84fad4fcb2ab5db693f09ff446e4e59ff6fb134af1733a5d56b3594553420e6ddedc86b9ad7624db6311e5b9f4b86f701799b5517e3f1f76df82dc0b7ca28e694c1c0830c2aa53407a7c830feb7b104cd40fc763b1f26f0e63c7adcefacdfb41d816cb6f37f048bdb88883a1facef8c2cfbf59bfd65bcf254e5d11026a03c26f4fbe774cfa54b362d317def6cc4b99c9b893fd69dfcc7881c9792f47f7d0c74deb3387211ce56aa0fd3ed5e1da6dea91fd904039ef3161ac225cd3b537e9db2f69d274525e39c2f777223428fb3661b6ffe64d5fc7d1a60717b3a8dc35502a614d841d5c6ee4aa9793b883dfa264bb05822acada47a95b1d05a73aab0b9c3bf5093530887b656af1550bd5c04999afbce8bdf480c2986c52e5fddc4c2b06673b22f5aa877a063d91845406036175a9289edfa3620810cd2fff2789e3d0aa3b604b2f5484e20259c4205d208965c39627f5ae3612e97d9024c7d4739e0804ca22c705ea9128e1e6bb122437af7aa1bf9c0a2597ded0fe6bab683cbf95aed4d27559fce8e7d9aa0157274571016bc3b2703182e54622cdeafe7b5401e499928f451ded46ed94a357bb5376711e7e69f2d4f587e8c95e987b672bffd123ff71218513c60e2dc5b7e023d24aacc685be6a1bc899cab2e2271eb95ac467acc735d6e4f0886edd86498bff2b93390f812e9ef515ce0f8e99e7397c5bc15e9ec0f0a5313da12710eb300c03988bd013985f72e3aa60bd6b87406c97df9cfdb1ff07076b5c99fcc34ecb00e7d97af11a5c03865626dc83281da36a758a3878fad59a465f9d0c02117f3a38b1a6aa1fba1560bd95537e3683809ec74742faa316c5c8cdb541d6e00a85379c3c0948d0b385767e2688b296438677eaa0bd08e0c4e5f40a7df333cc6cabbe566ee4ea03c160c263d385159517f5af2cf345a6064b61c82b02821abb74d741de78c089a137776052728d41d4f9c9d157699b5127f1825f336f1edb6b37ddfacd17f21a9ea862e891dd370323c9e6cbf0bb19bdd584f22d3b42e8d5916be933f4f52853025fed9e6ccabd70336dcffad9ba2feb7b3426446c4e190975587e0b86e3121584245fcc56717f8a0d4d18ab7ee01130a6a350eab298ab2417a4fce70cd5e5fec83c8672f6075f882d555a17ca0c8fbd80f40ee4c06a832d255bfe66a686c3836f15b542c16e49ad2f96d3421876e0e765028d38371e9ca4362cda3748458d59d03f6d3decf5611b8b01813fb771eebfa1b30ca84ce9dad76de6b6cd0a2ceaa0f33ac4a104d1f157691b504e16e728e511f37651a7ec22355e9a39b5ee2bc7e1ce2dbc2f8eeeaed927ccca23d434bcb4d134237221cc5e62c6afd04c94d33bec3e47f34d7fec94ff02c4ec65550187a97fa4bac416d7d9879edca0825ec7e42ec6365ac5ab17d31ca9aba44c009b98eaab22c055d211715d7e2a854ea6647b7c772db1e28b5081d77368c44de12caae1cdc36185396a11b02bce73f2bcf4ca6912319d6de666687952844f1a278f556a263edb6d5a1e3cf28c5ac7610535556d461b3aec87ee4019666d0791b5020018c5da5287e195257ed6e5cb8eda5f73ba1580b1001c5970a03b404d543a520bc68f26e5bbaebf3e7830a52791920ed27c3633864f8001f06f7e5f2e1013944021c091bbc6c160cc4d7cd2d71420e4b30805b32a23880c76214f14601a86c208e7610cf6ab00513ac075dbc9c80a57fcb50d482a25d4ca73a2abbfcb9e9d23fc9c26a1879dc0df5228d352f85393f897847551125af15fff8230f14f4219ecfce1d7de5680424d6693fe67c12ce33e44ac0f99d8041778b711aa9d5fb785256406966d414349082151cded534e487c1d1d1db12443ae75c70d9d1f98e558501f05753bb3d658b555eac088cdd18a373f3e449ea398b3ac679781ac2a3b21a4bdab34752cb8b3c3940754467f47c6c3590ba8f854a92cf9f090c332ba795799aa5456044cbd1917d07e63786e1c12a89c584305a22064040345f1c6bcc3718717c5efe73dc140f70fec7448249c69f97b290112ad1d4079228c0f6b0d663d5f02e5085ee7372484ae35278c83e21a793a87eff06347184807e68ba16bd0faba1f4053008e09bf48e8373c38d72e6791b65dd77a4a6c0cea63d76e523f8c50ffc9ae3672f2897f55761575110e42fba1f28e6508c0b46a741a87f6b1e93e30a89ecfb0cae8a6ffb60b82513d8305e6fcec91d9942b246d69b01581432f8289368fc9f03b8da66cf8674beced933b17a43903e8f582418b2dd65b4ff6a79b4f6ddb2ef2dceaef4790c5b6c34701b47a60f0105fbfb569dbd4df8144a622c3779c7a3760a280114ba2adfd6962fc8f9d4d53ab31e81e77bb0027a37bb6ef27e177b0b149650ed831832c97b06fa05e9579e53274a384294eabf11a06b7712719116d58c463e0cdd136350159e7214d2a6c04607073c77e6f5ff9ea0fc14ab2d23f53368ce6bed944b5837108321ff6b094d251da2c649e9007c0027bcea924d05b2941b1bff9ad6dbff80152baded873b61d22d472143107360643a3e1b1ab023bace00faaed91feb2632e5bf61021d1f0439e4caae16895969832df0dd795799acb937a32506e26d68c0bf54244c06cb68d4792e740d02f0f5f32e01735ee5d3acde103c2d0eb301e3561fb5026fd7831c3de5d64d63aead11f061c78c0bb2e8eb8b33b567247de26ec5539f71827564dc37b2ba426dfe5a02d02678280bf6647e2c56508ae2fa1a2cb1987a0db88b81e629bccc26245c2bd9c8b82b8c7279ce26b3af8fb97582d89cb646fbf527962ed31736891f6eb1ac35eeb11be5b60f015fbf733a2c924c1397a95c6430d7aa118013adb973302780cf0ab21062dded81109f3a8cb28628b60086880b8586d0bd139021592608deade06acc3f9a4cafdd4f66025639d53d1f726b26ab0e9220481fca4a11f2ef5f9e3ae9d6474f982c107bf76b70609dc6c8faabd186c6578900953625966ba0cd78b575833d6ef19271114703792a115f36013bc89480c160ce83a94fe2e49020bc869a01b97e5a3de777d491dc47918bbae19f2d3c213445843fc9f3df05016af67ebc8cae1f5799f15f91405bcc5e74f9c56b081b06ee03a7510ac32bb2d7cca658ca91fb539645c756e232fb0bd0109de7f41e0e2746833b947b409be10d8bf0154c2c1ca4e262dfb73e9d4a168e378e63bf71a7bbfb89dbff47a410d999e7dbcab71b7aa6871e594b00e67b448e3e9fd2f797a20f4eb53ff6aa51e5458c972ccd5f1904bc9c6f14f5642bed1be72474f437f2d288e5477b41aeb51fb3a71561f32ff5616cea0e6be78344b397899acf64a67252104fac952b2f8960df8d55b7bcfac3a7e1bbf91c85371c56ae7490651dbe92d84f05cfbb2a8319e751426ecfddf6354848304863d743cfbe177798de6ae1f339b731bd667ca49be2c574030a8f592ef6af1b3a5c602bd2a49de9170400d775d2bfae978517ba0ccd2868b7ef5845c117162538a31a321e0b57ff745e231d737f4cfadf5d77ff2eb2c548593d9019c227c72a667655adcc9d4682b395316ea9ceb7c456511cf78890e0af601eee96cfd87752ad14d97fe22dc5b5fc7569fd79005f046e6a533278b50cc3f47002c416943bb3435090ef36f4bc19ab005616f3e4edfe7e5bba83c347fa4ba3569dfd560ea932050a9e3f21c284146dfaa6ab7bbf4ec607130cd5e080523876c8172a9193fa7abd336e8d4f9b7f6d26e202e9fd727430c34a404fe7d1e478a6d0da9c522103e9a233b4ca20128386c750664f19b33096eca61bc9db7383fac1dc855153a33e3b158c6143967c1f4e89a02b0133e8516bb86b96feffd524cd7dd6b7a44c7c33bcb08b44e23147c2ecbba2705f6970a6e076bb8154ba9defe51409123e84feae56f24e09533ef529410b335010afaf299907363e2e01be9f78feebdb0a309ed48a44743870731d60050bfafe6182cac2c72e6b17087ed32f4789d01b695aadb4fc8632c7ee29744627d31ddcadf336ea8a3bc8e64d94617c14cc882113779d4adac506e596c7c5cb7a553654423f7a821993bc9e75cb24f053cee68d380254d0542649689cd0cd46764932a6ebb46d902b9c58e0c8f2605378359aad7981cd1e0405c7b472f42d6da627948aa30a78f86ffb18357e8e7924a6d47663a625e367228e115a5a4e3689b47eb2310c2d4d8df17dc27985e723705f60feafdcd5312ebb569435021568fb1c78c0ec0da4ed15ba9fe04ae125b73afc8ac5dad1b95e194b8c6f1badd58866f1859530b79d4499ff855b6e6ca385f3b8b43c0c2f876187a59ae0da2632284081a9a28958d59ef19d8c3f6a5d4e3007ff4370c68479db62d1c34306672a3e6f8c364ab0cdccf31bc60cd984b63d5dda9e1e3d2bb3f25d1d56a9dcf82c8baa8ce975f3488029cfe4a5855eeaf998503a0bb11683f68e1707a71f41fc12450fb9348de170685b075d96b1e04e036fbe2684c85ef03a550c5d6dce5b99c52dccb149947581a3efbb08cd15095811be308b26e64eda115f6d765718cf4345581d37326958a5c28eb9c5a50d42166d9b5f91391c67859dd41953284a140c3b68a3b0e12fc6e1964bbbc484c9fee8f2cd228baaf1dfb103feba83450a901e444f29872c81795110d615985703efcfb36ce4e1c52d33e4613757dabc63e3cd56642810984cf7c0507b989278831266cc1e8f163b1d78de59f4e11015cebdfabea71e8e80483d1c1c199d639ec336087f546d9e300dd3f2271e92dff4459868b9a008df445c48742cd66106ada27d6b0fb35018c90edaedd33b25f996ef4ac088027f8e91181b580dbe23366b4624c5d3b95667f54bcd3b1be6ee50d181f3b70b23e9e766f5ce5bae56f747b28393420e0085b422f6def0ff1afc5a30c8a7715e01e4532875555068099346f4695154a4e39175e92b5ef9bcace50ffde8e21f8f4e492462df566626cbfe339d61e01e290e037cf75500ffc12b06fa26b3f5dde29781d0f8ff51d06d199a3e15d8e84db4b87298789d48928fede288365b713a4a964f34239271bf12b3787babd7eba48d16604a577a886c7d7f5e8b8453afebfcb7394ec342bd4e91c3fa0b170a8fd536b42b0f46c88d45addb24a433a7a8115ad4be387f0ef9013ef9d8c1b7b7deb5e03595c8922a8e8e6de109ce070640de36eae73fe57ce50b0d30f4db2f7967f8fe41513bfa3cb2fb813a3fd8252c4bd1853239af96be33b81d650291d1917d473067e7c71758e769342d34b69947eb510e80b433deaf23f32fe8b3a3de2ae41f125bd76dfef52041ca3801f967764e09c79886e4e39dd53ee71eadc9d150ebf4b689c5bef6796802b78a99ade61625ba86ab59805b17ca6a42a13b962afeeeb8313ce9530b0cb31b7cd3eaf7d565094519f5222461021fcd18467b8885423cc97132d070d0a551af1d269ff59048e7b215d00ef420bea6092354865731140e94e731d5c4afc6d5c4d6ee2b268b011eff2db4dff3eb18410976b57a4fe7fa74d9b09659f678232c0467d043b42df3a41f7c72ce6a33034a68ce6d377fb416ba3d1052a38d9b36f71340f1b21e4e5db461eb700229385130980e6ef644378f6036edfd617b98ed87c905a9ead24a7bdaebea5fb6952e575bf54fd2da92d4800e6d1881887ace714518aa47dc2602ba976fc65e1d0b372dbb6409bdb6931e06cc1810a547873ad8ff3297b2747b5d50d3458ae392193b23244acfec3937bdeb8e00c41a8aba7e1a279849112170d5f7329fa21b52ee447b5167ff12d67f3cbc8d76f6f97f75cba9d72f9fca00a0574839739d5bb86f6c0467a049bc9cba533aa9b3eaad7815c3f8b3d84d77eeca3f19b44832dfeaa002d7fa869437d5b1293b5816a82903012145f28fc9767c6122d99c441d1c3f45bb659320a9b03206b9d5e9abd420151be51281ca05af450d79427e6fa36635d051dd625a29078a03781e15fb20d9171e8d9fd87ede88f4561022b5631d030509474549606730a64c20007344575da5c78dd9da167cfb9bf5ffc80d3fc6d445f2ead06bdee01a7eb752b33cf4f5187b31dec891b8daee999cad0ce029b1fed771ee6615c7f0b36ceb04906961f31a0beba30bd3dd765b5c99b690d26af3c5b19d9ad5f40f91504d0d2d6a77dcec71897499da54ecefc9be9172c8eeba8babbae6bad55e8494531270021a6c702773cc3ecda04729baabc9d902553ab138790a780174e70dc193c83e2627a2490565da890d6df24a27935870fcba91f7db3db8ab2d13b15d002e231c9e598d69ae0b4ed467c76d0af2205a1c35fee3d5444598188fa848fcd6487c8671f17f9dd31ee7b81947769565b2c944189a6fc2dbd4c48eae8c99ff88d9d318ebf1e95a9fde06a2e48f2bb3a8b112600733943cc7d3a35385a093191e6308a07a615d91f82969c48e9e79fc003022718ebfcc695f34e71ee95bc9d54d820bf84fbceea7fdf31d2c222525392a6d3c018309a0a1d7b5bcba2f180bb58ad068ecb3dfeb65b6a495dd696456db444571f70a33019c0ce9630803a03aa98b21bb9a2f24f902db8fc42f2b45068fdd4eccd581db71bc1555c5a72dc74c37cfd5d42a4b6cb2544ecf472fab0c3ac9f4f14f1495e942d6ebc1cb995958ddaa1415561ae62fee54d3ccc8cb44c0281bb061a60224dcf7ed5a7f6f48aeca552c8388232083de93147b0bd56499adac4013cc789cdf775d969f21da9ed66ffba1e1d5be40a9966a41a60a2dedcd5407ec7d9132a214dbdbc97b468f846d7cf8b15bd33ba426a912e6b19f9d0b7f78f17502647dff0fdaa95344ebc3763c213c78732f10191258c67e0e417961520be0558363a567deac4ccff3230c3f26272255387d987117c444aa73907c0fdf304c139fb3f6859a1501b552daec70be2c3836b56f65af584eff103bb153ab9b0e229ad62c03cd94f27e61c9f875003bf803d68ca2a42915d27d68500ed85cbec5bf17ed41723d43b47712ef8fc94906604afa354047655058ec8293a2e7377b65f236a5bad22bf41994507f3cef7192904e61f6b7afa7d58ea5d65d1ae11aa514f524d8dc0d031753a2841dd2608c858a589c30229bd16f9b4af01e0c267a483cc0b234be500780f1ea8abd99c0e268a3fd7497d14d1ee86185b52e1ca96bce13a647dd8e62c79cba7f44ee702107b53dc455c7c6fe2e7321eedf7e9223232fbd8bbaacd297f1a1224cb5849b16fc21312bedd0cb3b5bd9a5905095ccac90e38b3e8c7ac094f28d145043279edd4f41c8da43a8879ed715fcde66ed4989b4728c701f2321f472c158544bae614e4f632553b3fe3bd766da27bfd9dcd990db531d8f0c559d53ad9c8a99e6d4399342a44abcfc45ccea9d4b8eb26e906a9dfc4f44deff4fb6c89b06ba5535dce9fedfbc2283ee1b02f4acd90609acf6a76cb94b37fecccf8561c95d7b4268939fd13716d65988f54d0fc2d46bb6c8f7db5f4b499cd1301ef58f86e1fc7f61aeee1fc228797d650e381331ea8d61633816c58b5973aed86d60b5b55547f2efd8171e3d0a2991bb03af5e4e83e8e60ea3943dacc0473800c9e839cf506a78de5eff0f5fe854c2a6f1904b3fc82521a57b6bb0c9b23f50399a6ac16ae2a276d821472a9b8358ba9ce8528969ca5943da5506f2b83421721f0f1aaddf07489eb035f9e7cd459a3bd46bde4b3b113cc3e1ae827aa4a86dac863069b68845607142c561757bb54d1a7c5ad6a0b3d001d0b531daafd4fa8e154097e80c1fa910776113f93aef230e02380bc9df68df5dd2e88aba5a8cd7df9aae76bda532e6fc35bfd468c6eeda49fec5969e5c88f723e93d71def64448bc47458e67d1157ffb685aada712e95ef02a646bb27e062606d3525f894a09ab8530fdd9ab7c5ca344a06dac47559675b49cbf4a01473c0820816410eda524768a93bd040fba5e75513c0bea96f80a4dc18d50cf5f10965982986751133c8d9f564c61de12afa45f92ddc869c96cf80dd2268b32026e1f752b7391811454e1c45b1e2668f6df7a9021a6dc3313a1da71da7d631cbe702484a1c7e113e555d060fda9fd709320b1b8e40b6fb67ad3cb8800d3d2c50c1c16464db457ace0e721785a8695ff31bc19cf84479c04c795b0a9a3c5e7766109ad8565fb0fab771dbdc33ad2ed937990c2e6a2e256b0b112be4ad96fdd84b8efab8dfc31a885f2c932e4d6727db7a85d3b9a5fd374f9d6ca92a879b6ccc12802f2ae3ab26e60c116200d1bd028b4479f0820c6cfa68e23f3a0d72d22741c6f8ccbada85f550075c4acea296a9b8f3f3e056f7f8a948faa7583f728d1aaebcdf9d00f095a92d310bc88203840e7fe8736c5885fdbff257c4f38fd46cb6a909bd3248487bb5e0193d8c013ccd83f561101e91f9de2953470ec85c14ddf963beff9aa5eafd9e48a0b22204ff19b13bab2aaab2f9c277041e19ff7cceaca80eeb06e30cbaa7c861cffe3317ff8e6c8b6e5e2a30887d707b6517f89350b09ef1e723bfa34ffb64502d5c287af907d0527ca4e2e46ee3f021ef0ad2b02b156d83425cc03ba7e996ec09ccf2ef6ff3883807f2f28d5cc2234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d20aa40b589a76bbef7458e54eb6222fe5e6cd799ca3bc0ab0939f9129f77a9520fec3424d35e4c31e88d3bb77ab0eef8aa7153536392af35326a9e69d17a8987cf6d2797344fa7852ef8687de448e1eb2a07060b6e3207f4bd91b16aba6fb4aeb7a6bdc0217366b67fd5b9468943d48d582b462fa9b2744ccb79ba24dce11642b183e1e05898e53e061b02817c1f34f9cf6e00ecf5ec97824b576b705c56c8050bbbdfbf1aa269c6b3ba160b40464243fa4c6daa68fdffe43808872b706c1cd6b27e15f3e67644fa3250cd851a8bb4a9c41718e19b60fce2893fb14dd37b5163abf26bde563c7b171e6b59fc52984f25f0c1db66cb8132fa204207fd499dbe8f1f140cbea7ed58b33102d86fac5221b4d4095408f497fe35b7e1678cb3799a40350f473c3b485166c0950106ad98aa5a32678231eca621401db534a75506221d553033ad4bb20343338c97fb411de0c3ffe34662ba1b13c3a954f71b1c4e6ad6e4d7b0fd02bd7d94ce9ac9302bbe55ab07183f211cbbbc71f499929482f3e65ea2517edf7bbfada892fbebddf9500383abbe34dc197d249ef7b8f094e9c2c02b4a81c31615c3d98ab997f1cb8b3b43cb3b675a604224105838f2db4582ad7f58971ce3d2f7e7e1b0febc45453e04a77c4e8f9b85c7c23ba63ad6be5fffa378a1b00cd05f10c938c5f4dcd636bc33a506d26afd2c13c7c44e5283003646a475970f091e3e4bc914ec5f81a05029e71ed4ca6b1b5a172390b54b38ebc5f7dece3516cc191e14f074553e9127239e4cb1cc18fe2a53038e190c14911122b9b1c3b3ff9279595cbf0bf9011d13093f5584bf4fbb98dd5c7383e4dfd84c60b594b1c45ba9803ee248d9a9d41484fe64435492bd8951854514e9b4fe867177193eae980bc43cf8ab72aa14a5f3c3776ff33af4d6a73859ea8d73729cdfef02c05f23e4af73375951999a95a8e2f01a7df6c3691e4497b119bdc32f801963759e6c340bb206f60afb5f25a0c2eb739739cfcb794c462f11d48b44e829eb505cf28f63765d734f19cf8d805c71c47008023554aa923e10193a3eca9084f391d8df5849d2703be56e9471a3a21c43cbcda5882fc888cbad57e7d3ede28240549cbf87270298917a2b241dcc192c9a79148c06fe60fcaede7283533707233a4feeee0d72bcdf266cebd536c7a13edd658aa8251e4f9db86254b1003c4de82a763fdbbad45d3b4ec5f44a6eaa35be855ba95123b7b7ee9a6a94486760c0f72aed2b5b2872927f1d52d964a6b8c9954d1cce1af68b653c00c51e6ea40e5b258ea9bbce7d9857b6f493d6b162a897ed72afa88a190b20446cfb6acf9d04eb47ef8e8a49b484c1ad740dee4dc992444abda6fab3f1ff2b478131ee2b46a023b17c4135f3017c97a8b262a1bcef565c9eb50aaa20bafef7805ab8eab52ac081f6abd9c48adbd386f0cdd4d889755bbe301f991f1e8ca56d41eed6c509a80cbcc6c8db877e38e47089cbf8e38ed4d292828672dd0abcd1a9362b1ff34b445d2f5ba0a7019da1ef72fd5cfb4bf79832430f173bac1c24e777082fda453f886c15fd64875a80f1e111de505ba17257c070e5fa9e91138945c0c367454f963e06dd8662acb604b163bfc3dc9eef7a67bd11602f64fab63e7e1399bb0db77d1c83e92feb1677a59472d977bb8ed7253bf02bfdfc77c1e5d9c44196ce106bc63bf3a123c1fbf0695ec81b76705b2c2a93f16aebc92a988a0c0dbc1b3f1177c6e97aaa1f82eb86855876843ea81f75bc74d96f4084630c12610fd39ace3ec06da1434da81ae4587d36f08966032a6f4c969e96fb9a871fa417cf174f96947de360e96af492c8ab36e3d75ebaa57a8e97bbb8c36d2ea9c78c64430743ab2a9352e60a6e11af1946d4fc3aaa78397d8eb1510519ff2e994f95d581e6d718d07e62693d907f5f71c76eff6e9b824bb1e7fecc05554841714c7755464104efdbec5b7a321d8b6689ff51822b46b0b1a701174d6b0c2a94c07b6db6426ae9a6f6f634ea1513aa50072867f1cf0237421420ab31c78899684bf9c849c71f964914c35a0b78f36cbef7e66858afcfd088c8d6d7b9b4af39b7f52085721c925ade4c36c7990c66adc5ee90c4cd95ed9cae8aa78e173cb2a21d63e88cac6b969d0abf672784d896c5ba964d55ba0bf11cf7bb28c3c17a3e34a918fcb263c2b962c7494bf852902113092f03e3328027ce1263121c0f08c06384f7dda11d1f6d8d5720b5ab88b73587326785155d3014136c7dd296586a8b60487fcecaf05ddf63bce423fe073f47d1628324e2b1aaad7214b858af0bfde56c1788a63246f172184e212aef18bd5e1d582ea136ae790f4fe9094a23b40197098d54f267f1e0ee7f0887b5b6ee0e6d9a7dcaf8dab9a1dbb5ad02050e409a0345fd9a19f24454dc8d286d9ce0162b86cab62564cddbfbc32f2477457d921eb8f6af30525a9319b1e13a0b4ad5c3f993abc56ca3ff17e5e6239e2b9ed5972777974c41db7fe959f033783cdd94eebbcf67701f4001acdd52be291c1f418b4647c48a32c3559ddf4e4e11671f28bff4249248d496c84f92122f8770f286ef78acba66f219bbba1a55b7eaf71403091eef5d73d1fe7dffec920dd45c54fa3568cd12c80ea05c5b483497bdef30e0af1e5208f3d241fc0901ba762998cbcf708fdf750945979e6368cc2ae057445d85d4f8c15318ef56bc1463c0a3d4328e48f9bf883a7ea77a98f26a59569612f4093c2c97322290b5b5d3a63f4472b9e01cc40d9c515e7b768cf36ea8bc5b1e13e82bfe1f4843216c8de8b55385c6d60a0d1c040a646c2d26f617bcb8d87dbecf27772d05e10ea03de27db6c10f543f237702841b6f0b6a625bea0e049ecef36a27044ab02efafb4bac8ca97494afee6fe9da7e9d6f067003abe46ffd22ecabb0b22d2dec93d75d5e08c0f449ccad741b3d0345114e974a13e1babb6ade62ac10621f4bd6319d60237ca4b22f77ae514c405e40bc886bba3fd941d2173f9855b9c368dda334a8806003d092a90556fb04a2b37967b5b3eff19c359b78808d8ef5956e278f69166451d0cfe0450882d91f2911392961d91f809c9f829b2db82e47488ff22292b81bd06b63dffefcf655c3340a3e3466900157c031803048f900a1e8f7e73c560925847831b5151f6fe7082cd065ff2c3bfde5c8b1494296ed74ff99a0e1052b623b9814851f4eb25b459f3c02997f2b00812d5cb46dfd3e70bfeaaa75b2aecf46c130dc4a1b147729bf5f836a863f08bd05877b92340031ec1038a2ec4290c4d49877a1801ad2807fc324f7cda499c25eb220ea5ad2a2c141d7585c72f4abe20d0c04ee4dddc82bd0c02f2f8dd6b3e05f9f8c800d67eb69358ae55c0c9662db3ba80659739fe021a65d797e2f3a59dfcaef5f9c97ee4c2aafd5c3da593ce34f06ccb695b3db17a7e6785ea6eae12af8a3101ff50e33b18f5c3fb18ca1e4c5a457893e7809e8992e9c982faba9065915814b50aa3814e691b02ee615de39eba909cfff9c662bc385e41df50b5b4844cd1950e384dcfe8c05e7ae4a42e00974fa7d97c440fb1cadce7988e371fb0d2f13fbbc5be484fd8bddb2e5aa6efd2db513b36ed368e521d23c1da6b3d9216f07e0978e24658708da459eb536745e27f1263f5927ff7c7119ab06a7adaaaa36cc9c479dacfc9788451f5187c3a8aa66d0e329fb41b0484bde3472cf685ec7e63bf1be4de874bfa5465f1884a4fb3523a5d86b70d5a36aa523d35d15eda60d89da92602b6824154a55b40fc0dbac8d6690db245f5e0b061257677fc2782835143edffe79cd2d532efdbf0db862f38b6d5c7da41dd737b14f88c49b12df071924ce189d75461efea781c48104760762b89d29a44d55a5a7eacda4baa172573fa7017e1219263dc81e947a87d0f49a645cb2ce0ae527551437df21ffdfdc9f102ef69341076a3d38a03ef6ad15cbd532e17a90e522daf69ef341680b30a0155b3529b73e71e558f75a0bee5e6fc8d45781662c3a01326a16dcba3c13760bf6a3a5b28987f6308dfeb0dd91d377280aa666b513f40e6b6ec6f36454f9ad8b19a68bdc454fd820224ea2eecf0b3f028f65e95e26a06c745df8d8ee8938bd36d9e70a4ab45d742995d9d00b4cfa7b8bf04deaa9ebcc00a5733ca07e2057976282359279199bcc4e02a5148217ca48dd6747fa08076aa5df82f0d91390adb27a8fa2b9709c74d0d2acef271260dcc3813b2aadc36b4c83f4d395d9933d709de9df786ffa6faa42bc4e677674f0074110eb68c9654b8909dd767a246200208443e206cdab575db007dca9230a3795c677fcdfb874675dc1d9de0ac83f7ff471bdf0e0acd3c6361e2b217e10606a0a5e8b8b6de028f50b9fb28eb09553e9dcea3c21e8339340f8fe020b7e55d16096130a6ead5529ead1915744927ebe99d300de664f3e60143f72a5b3d7a4445d695a8cb1dcc978929d6083ca59a756e0547c434723aea9346140256df1da269ed9e01eb7d4b4f8db1fa486042bf2ed02ffd5e4c748bda54d4f662491878b092707d944e1372a790b9cdaf73116b548ccf5eba6350b25ebdc1817715291e5c09c1fc7e4864d3e09920a4916648d02246059dece0457829b69e511af7a59e60ff99d40b3a2c9e3a4f8ca478f7eba5abe88017d65f20b1c739ead51b2b4faf16f4990d99544f31d6d3004e5d86f321919270a323ea2653b2eb9a9e009f83974953ec5ab40c8f8158620fc2447a4f4fe1f95c89f4607ddf05e9c583700f93d9ad5029cbd1c5b5786fcbadbf2ce3e578b7892519d3c88ca87f3fe184f1be0c692030dd53cb29f66a948d7b2f31de0fd57530803e7bcab65555964d34c986122c033309f7312838d8dd1b56a7500a372f0556922dde7545ae4e874c661b4cf9c81a0ccdb07c62f7a9754d20ecc37ddeb575f6f1106b6eac9b128c67179f7e906b8e0a79e045a207891a54f44c357a472b713e001a5315ff87ede8f9f84c02543b536562287306dbc4010fd288984bc0c01b35b3d3b6254c58111eda5d90531ae5b96ea4bdc90d5cfaea07314eff7f6f1c0631dc4735664bc4a2e25aac49ae5fae11a30bed0299c5863103cdd64b8971ed586694e0dbc21d874ac762f4b359031506f7ea83419ef2429a30df94af68eb1442c9170092d5ee6081b52c279bf3f3416e7e14c700f9ae27bccd4d9a8442f05a4e8f986efe1ede34400bfc5e994043cfa069e71000b0be7b8483dcbf82a7092aceb5e7885b70dcdb23ada7c278a69e1015600ad882e8f96ff9b9a1c54a1800b49c020d491671a3aff2ebed0c2c2ac2ac927e6284550cf1e6f23dd4dc904105e49cf05625460b217d2c0cde93c15234d172cffb10864e8c3225d7feddbf927fa6f0bdb4197e2f96316f04e906cc09f4c3390836e2069b7946ad62f6d176cd965b15241f1230d3db32e5a8921dd291817c3e019924bda788372e7bf4dc61a36f700855c75def867a92e2271638b2fcfc10a077b7255d38825e1d006f67ca008453dc2cd77bcbf22e36fd5d969e804c02c7e0b4ccc5245b51d59520863c96db33d06678254630a6a1a66535ebd4a0b5bd7a1913ed68d9f1d1611a54edecd61d7cb9e79a84b84396c07deea93367c34cc4226ccef13939005f7364a0146cc716d6df77d3ca46c453641eb88e261c0f5c32cae69f99aac58909befa75c1fee013500560239d5f7dafb598d93c4eb06f0db81204dbd4b564bb5ab81283fefaa1e8eb0e3e52dd37ce4d0b30356cf75203cb656ce06e0df74bea06dbf69e1f8bb5fe8f5693f53dae012e018b6315cd50b1fa216d7c47a48fc98f4964c18c864ab5586cf166bf657ec4fcebe6bba7e639e3b03d0d3b64b40ddba5857e29a00c9165a607a726875f5f8ed1514f1ab60393b353b3457de91aefde21222f1336f5a8ffdacc410025667b2364d6c3577b5635e971121562bfb9eb3b99e6845d823f649e1203c246c0bf0d482b77041864b7c184c99de38baad3941a1e7b4aeca11c4c37fa2d12e8be65cbf66bc318b6a335521158b230ee7b8e75dfa5de3ffa4e7aeeaefeef3249c7b237c4c719597348fb9c0bfbcd8e673227a20969f3dc5dbd9b08f53a2c8d98ba084b0b1e9fff833db8ad7082eb7741dbbdeea9982c37cd6251a9ca4982f061b91675b57e045b6edec7cefdc33e593b5c9c3d8ef27ff31ff120daeb7f1b4e1ff7a7c71788deb529708650fc5c1c290bada684d608088a429fed58800bcc0ff81e9c6e458cd4ef44b8258569ad9247795d1b8d2e54701dce597271c5232ae1e636d586895aeb3fd9addf56d5412b113a043ddf1e474f38019701928ee7fd0ec1ae7d850ed637258e475595e2c01c57076f0eea259ba79cfcc78b19a7fd386e34eb6f05c11925be42565e608c029f6e0d9e3480acc5b0234a6163cf12a38e4ec3b417095253425065b59359775b43db985570a608ecde75c333da3a2e11b5df4bb1f6ab61739b403d616c56cf713944b079cba324d1c7433f95f08d6519e027107871c425cc210c08799cfe1d201f6504d18002709c3a81315e2b0eab3744901b126ab7fcd96252ef2079d057bf3c06cae56063f30a93ca227ee54dc790271c3bccc4a441d1beada01ed1cc65e041c30faec8ae2eebab4dd439bc638f8b156c97ac454876ee6b4e5bb37aff1e2130d07b7f35ad1458185493e6bbb93e4ae1222117de4ec106d955f97d759a7531b3083bde04886baf7c6ac0a5f1aa72f24078f76099df84d20c2fe4f6980ce385aca422d6e340d30613d2330e5c9546d36fe653152f6bbd4e565acdb59af19268df01741980c7418469aaae826ddb8e91d5b9367f24226be1b2b0f1dc5adf6076d7c00ee3168da8a10c89a40d416f0955dcf9078b6eb5d58b0c0f44d94bfa866ae8481c49104f148d04c08490c2c1848bdb55b86d6b5e02a32c6662d5c552c1e459a0c30a44c66fad6b242b6181d316f03ccc07d45b86e071d37d0f107a1bf4bb73b7ecbe9341ab766a47a2b13671498ac9891b2747281281575bbdd0296819747d81bf89230178e8f11ccf2fab65d39910b992e71f62c9b7e2f8ed28729dbca87fcb381a602d0d6756a17c2c50e4709a45ca8071dcfe94bab49a27702258d14dcc014122c567460166db0c41edbbf83a574e341f546a9afca34a9e543741b300cf930cd94aae524ba8938cd8ba15ad7fbe16b501ff2be29bb0fea01c6d4f25c1f84ba8f9410e7e641f542124987d122971eff153048d1fc16de69760a45248ee4d590d6082e024f550e59118d73cd4e0cf1f10e20647e16fa6494273a68556679c28a7f3da1b8288257de5d10a7d6b2ac604bc1cb9b406a5a3561391943c4e4c697f92dc9b2f68285730701b82ca6346fc627f838540244ee22d9b581b1a253fa69b68acca96444c388b4328bf336b2de8ad16f8873558cb62ac5403af15f25493ecab5b73bf803b835e449712e7dcbde066607458c75a4e9b50e22db24d7fa6668f86adf05f82b63f7a4354a6d0d4332fd1234bbfc4922b2fadf8b4483ab0511a5e69c9a45ef48f435c44e0ecc72b45dad8d30cfa59524ed4b180a8e87209aa1b33fca08177cbfde63aded11228468b432fc5d506c4800df4d0e7f88dfebc2a88099e94166b4c7d82e553398fe47d1248bd782feb4c650c1d74794077fcdfc09e28906d1b399157af3e9ee2b79f0399cb7930b317c4b4aa9bb84690ebe520cbfc90a9b618e679c8820c33bf3970cae37ebd8db4a87810a1ffec38c3c529ae9daac7276968eb564b791cb30b3b5d5f515a68669ac029a772c16f5e5252836d213abe289e1a3588b6f2dd486ce82ad64b6da6664f33fbc7b706be42b2931dd31b0e1e55ca8b9b3d3e3cb7dfdee97c9f9e3c190632bdb3f3fca2a5a673596367a82fcf202bfde413c74ff1119a7ce0275855793f4092c458365547b6acd9e83e9e88302b2dbc8efca4202b2b18e5ff905ca3005ecb036130a2356b860bf5afc409edea218c925fc9e02bceb2be84524a2ce96b7c1837cf08662c32b994b1e58d0bff6a80c0cec8c8b5f5dd3490ac9136c7916d1ca3b45dfc97445bff6b307c4dd96ac6dcdab3d2ea162fc5bebe9eb86e8c9ba0e53445d649ae264e975723b8bdfe0740a52a8dda91afd9de41944c04095a75ded4152d3f73f1280716bf5253e8f4600fb795618433a7268338a970d153746aa9ed7305468bb1a23b8c4e32d91ec2f98e1098c39fb61e25d86d145c4f2ac239991daa169870c2fa8c9997c1d6e6f7a46d05136302190f45ab5f7d6b93a1652bd7f29c36f204f9165e0c71716d0b78cb1f7b25a0545445cf023a6f3ba3bda9bfeb60b3f469cde79a54815a4c144a3864ee1d5f051dcff125ea727c9a67cbb08a8a4f3650d0e3b20b6fb648497aef7da15a16aab69a8da50444b80cb9293f8e1489c96daba0c4c358ebab38379cb64add208a654ab0fb55cb5ad9be3ee74e59ea97251bfddb5073d14a9a5ce3431a7a506d7d122925c9bc0bef50d5ec61ad20717162a56b487e3c14f93232f21ffeb7d7fc6c89bf04e93c5898439df61c22ff92a78b6c45a4e66c5f8da23c8773a7486f728f23759452c7d1cb3899aa5afff6a1e64f1b52328bbce138f0eff229cf1483bb8c12f679e651c8c1f0ba5d74885323215fd93538b1a31d1c2f4b71caa9867c977e7f240b9fd66dc43e1931b3716784786dbd56410e1ae7dd7e1c22b6aa693f82ba358f3949054aa2272e3e99bba0b2573e5023c016edefe9d76973426fb4a5b53eaf3912e813acc9d871b05519d3a9cf185038c3b9751641ea7f5f1c805cf2d4150ea7063c9a642042f41436126cc4c6814aec4c5f15aa1771278025804f5d857075a7a77c6790c7281e28ef5e232fc6d46f67e09fdfb2b1207e4276d7d20ce435a24be497fb22e0d13b1e1bc76899a24b41ed01e7d621135f2256ee9ae3e8dac1d4712eb8ca01e86dd051eb49ba557e0c7f463c1ea84d40078424a8d6ec5391ce5b77111b816fd7580b8c74f18c4652e14352186f796b232f83e804fd81b250e37179ca96333772a0bb573d484fc777689eaa9c1f7781bdf7369d434649b177b6b1855576d3a6bd6f468efe4ac9b66a4a07df550774150a6beaa9069a354c2f8c689c7e53c8e2a32a0968e7c8c3340cd6b32f948208938ed3592dcaf19e4f3468734468e713d5ce496ea96c936f569a0fb776f04be716fce1417dec45a55dfde264325ef2af6746aa520efeeef88ec9ee0c95db73ad1100f262132af48ff3e948deec3dc61167d8b3839fdde60aa983b97ed2ec2c67dfc344045037a0ea2a63f12b7199fd8a6588ab13747f4cd82b769e34877bc4ff83728ff3e347cbd683502cf7b13d44cd48be867e5952d7a63fe16ed84c13e16cdd485c2a3ab1267fbd50439111190ae8f8790d3c037615e342617102a1c0f59aa34eaff1ff6648259b3d71ccfdf2cc49e1472b90af43486239ed96235f150a94e9672c9d925452eebc23e407e594706d83d4a2ad0a56476ad39c3a17d581d77fdb116d52771cea2403be2d404cfeaf9905fccddeaffb61d783a512f153077cadc552bbf0bab4357981cbe43f76e4d85c03c99479d8b491465434472293adf671de29a6cd025405d19b5182a0e3f1d84018d0ecb933264ec1c7e9f9e477a1bf1f31e540b82bb32f0ff4c477ab688fd2a672b5363f223cf9fdaf692df792e79207d281c73fcb33628509e93a29bc50b6486ad08fab6f503c4fde2a5462dd7f8d09b81dca6864dc99aae1010a750262133d47c74ba34d9c1614fcf98dff750687c6de69aba5f46333478cfabd0a8fbebe0f7f9ea736628e09cfc49d17a3cbba8463eefb1f0b2d801563869eac07e978049c30e122f78d169d37e0b32629eb8d5096b55c963d76faecad07785c222fcf4fbf18d7f697f076392948a8c5ee63e06e353d917085971af37d5eaa9f8f8ff519e194d6f9024e4f75b5b6454234fcfeab1cb036883e6950c6354cafef9c2725ced1e5d7d0d898076be6e2b95b02ff10995f0464bf7f5c73c0b34cea0db4baf91e96a773fa16664a00404d0dbb06c3a528e5faf581a301b9c5d16b62d3b7c4443a626edb34aaaa4fb3f2484174e3b53d6a95c975da417ec00d9e58861de02ac7be83e9501d8c41625f8863143cc3de4cde7a85d17f6b3825e31ddac2edb8a54e5b6d796380fd6cc12b41df898793ed7b3aa04765df58cb385f33c2d8a7465775ca439f6d70519bbbb9758b4408307afe1c22b07ed75a7fda039e9ca0e8641fb682a7d728c18e685fc2496ec8cf06caf582976f3400dde834b5ff411b772bd5d9e6ad721e4a841d2ed45273e9140a3b3132d35cfa7824f53c03863584cf2aac98f7aa00a0485977bc45debeef1ac572291ff6a052969807ef9eac9f78530e20b32b3c2590c36e64d869dfd24eccf1324aeaf4e59642055da24e550bcf6796db78dcfc8b6d7d03685edd74601972728edbb9c5c577341a89addea51fed47d929bb620416a5a7302e0a880429ddfea3bab3495812a3ed64f3a029e0d8a5b33135685e1583cdebfd00827d26c8b9a51b358a143790111b098776b82cbe7a815334789b98262943fabddc4aff9c942f3298c7ae432845b77028934667c22617f84daaffb36c5f9c2e74cd2fd0a8d249bab961ddc8ee9918441e687c82b58dfce88c9e340ce6548bd40be1c5ed30bd471f6d5dcf071d694a6a1698090836208a042f32e68b5f3768bbf5a664158cfe4432164bf38d990b5fbfa16391ae225f3f732460bc6fdfe8fde05bb45fe7f97f52b2070ee375700957921f1bf97fd862915bad07efb6badfc03ec067d93ab94e727a7f311e200a64e092129b7e4158914795b5ac67513e04624d1ae349a59c8319f58e146886ac2a406e21a61654615d62c4cad8a50565367b65e60287b432dca89fa66f49f19ed114781b5cee30285d44cdc7d5f5878dba414b655136472772b519cb31b7d58f375688862589e3cf5f8fc76d6e85db222f2c52b8c0f932e462d1c2873021b81f4ae850f29cefec85b21423f6f7ec301adaed2e388143d341303b21210dfb9cf44c5c93f8a2a049e2a7d026e2c9eb1dd62367248e5ee02747191df3da2e3ea82e3739e6c93fcdf61dbd0c752ba36bfba50836cd187fd4067d88048c224d8f05c21415daa974d82817b455f6079cffe49a825ab21585d06c784ec22cf7f614e96fe9baa86e763ee4d69bb71f5cd4bd99a65cab9c6c57ae2485e743d3f8d4250998b36bc2f4b55e6b5afe3bfa8864b9ac4d74a39400ffbbca0ccb75618d920022cafe4a5dc3cb6dbb91a5f7d60ee0c3949d2e786ed02bd40512f625a6608987f6d8b76464315504a971becc50117c44a05e2fbaffce909b784c9e73beabca56ec418f8572659a4b14fdffa05f8880e4b487928825e7243793a8bdd60339d634d1cd85c645d5c9267ca8f296558e0e483d849e2e69fbc102c304bd07d03eca301fd01e35368ea9ba4d13861ca19883d7516972e8e6505fa2dd5c847d4604bbff9d8b25b3446ea6c16446f613114baac43363dd7cd46a28a1df2f1c64539282a24aa3ce16a0206422be54fde490308651b8a3eacfd51da17287358ef18061a1838e606a7f0b430a207d20824e16f20e311334e13155274df0736ae5b8a8536103f3d0ec5ad57cfe498e78e946c70b01291905dba526f3d4c1ce56e7b1cad01369d33c92866036f1e73720b98f1e309c410f2e126d3bd4acb57b55d0e3abe4e606d85478864cbfe62d438a141ad87e5d21b6d4b24e06ab02f7ba91a70e679cd142c9e8fe04a7ba1094baffbafa1abd22ab1a7953fdcb2ce89e39fc3abde874be388f1f4cb0884727c1c0a20d17e3cfc5c3d94cc312837eb22f929c098caff9112215b2e348955e2e8cf5ca283eb1af0f4779c1005a73a7b895fb16ea7a04c3c871aa57e74c978bfe89d722d1437edbe47f4eaceb85acb57ffefee8b161250659310284df8850be0e6a9b2712ce132bb3a26c33de39f7fc5c4a1d82f44d67b560c842ac311d0d6635f722b4c08248dd4f2178617d1f48e4fa859cc8dc79a83d75bbda173b37b2eb80120cb8bbca13de9d3d484d99c2c16f7f10eaea9ade56a0fef1e3cf72cf236926f36762ee192ac9c4cc7ccba63452f4d5843c360c64bcfec9a5c8ca477571034fc2047521c5a02f7c2116777015e2caa5ee0c56dba227f6145da1b541d7efed023ed0dfc66b1e911e504d8ee11bfbda12eb904a44c8c1f9de02237a8a7ed088fb8f574450da1947ad1557e8a655f39bc4b958334002031039df7a0f693478adc3af11530ff284ba33d02ef4f7a0641b2d994d2b9d3b91def1f8e46a7cbb069e074d208118b9217c78c38615566e9848cadad020e0a38c10a56d65cd61e7d02c079db9e2f8a328f58f0b0657e8d12b020a96553b8458ab429d873b858b29e585f301da09bc08db3420c15bd0b804a088d5dadc5db16dcaeeffdf9ecfce8a0b4e8a4d1ff7f53cef661ed45e181def3cd19808eaee470cadd4757f840d8409d1de58b6b746b98bd6f0a496311ea2de69da2a341e564a3ef60b76cb06bce96cd60564769bd36be42115403da59ea21490cc614097ab1bd0da96215d269330ff97e542421ed95178f8d6085a3df9b58d791f11fe308dda55fd62aeddfede5d3ca5077b842de702025b768c3ab886d28336a6136482f572e94652e6854cb3b6ef949016fce66be4ee765b8c65b51380684f32015b76afd4f1252cb8371ec134c4221ccbd84fd128de7be009d1c01161d69eb74cecfe01d532ffa8db74b78cde76fdd67dff885058e32578162ac99dd78db360483b79ff18d627127b4963717afcf50824ae437c46307fa30bfcda45f709bf5bf88a6088191e792eae7e21e2929f40617afe02968037a84732c37c6863b2e88ba53f19386318ad3a90dc896f14b2ccf990881ae50c1f8e8341467c16c60d53de2677cd20df236c2fd3776819567e28ab6d0107d5a1238f792ff9051ebf796ca674c4a08c804c40601ab4eb604049ac8f226e2da5485611eaad787ad31bde42725f813f89176dd576025cf2b820b8a489999bdb1f5f29f101c4892aac33b26b7aab4e1596e42296b35f7ee917a2d6e6431a64795e877acfbad684962ca779036cf3514454047cd7e386d8d6b71f451ee14aa6f0baedec091005c7af69a90c6234f4026ae08dd298426b39de251e7286d69f8c313818a897c36adf71c969942e752677c1855816c3511a1eb25cf78fcd2742dffd540b9d42cc03077d5fad2dbf162ab5acaf986f6bb4d9a11346e2e0117d234d4bdf4325dfb7a0a9dc5e3a0a9e3fcfafe9ed8bca8d0850d72589220de3ebc3d74bc0518ae7c943e69150d0742201b3031dde90eafbc09dcd1304778561287abd03c8abbc42fd94d02e294724a75ed7594022ee06782f5ab2b9644fb02f9342bb5451f3fe84e25768c639a89de97982ef2d71236e670106ded3127cb70b0c27263ebf1c995a7faae8f1b0be36ab0963a67d60fdd3965e183b0cc91a30fa00be0abccb19ee29b6a80f7b86fe8157e0dca8f67d41e7f7110322e59dc47ff2fc9951541a5aa7baa0100dcbc1abeaa4f1a76ccefac90e0e439429ebae4c361dca1e7abe6b3c99f6efd770df908cd327e225f702c5e33dadfd8a5f87fad54a9b97a59b6f36603faad1f95b5104a1d5abe175f36f102189821e716158f55b27f06add046a19b4636897e050ef3fb861b041cb466190e99af211f740d809cc451c7b5737e09d67423e38f64659170fa26966b0b4099935693d49f4acc333144a2af2679d733db223da2628750f032390385a95b6ed0d8598aa4817558caaaff45c1573bf87a25a2ccd9c0b59369747aa229723b97bdeb12c4409786b814031fa7dd1358b6d9bec574e2781b270de05b7492d86d3688b9abc9c261d16dd40d208da44b649646bbad3cea2f3040b14f5c7b22f39c38aea0c579a1679ae91d60d5f3b3f87b6517b49d8e7e190c0403b3ac8e386515906c4ec5564023e00530054c8d202cd0f0dc24a9340586a6e2c3a834d550db7dd4f025dc94ad16110e5d56147af7155da0e34aab67b0a091159977dc12d397e725611d93a2bee299baeaac43a434f79e96f4e7afdef0ac4b1cf76ce28dbe8ac8504fd87ae6b97012a5142094cfa12959873bbad4f95d79474736e052ef5ce9efa5149fe7444d5cbf1031c5e64eb578d26d257912661738140cb0436ae42041c77f6b66365c4c47e26d1767921acc0d05acfae4ff9e86ed22cbccdd54d1ae034e8c92d897ddac7003629fbffa3f977c104af92f99784b6ec3ef905e2f4cac721df7c47ac01e45c5d2a90c63d3cc651f56071a6fbe6f2e74dd36e784a6453e2dab5c87539cbe03de5787d50cb5146d582891cb40ae5ca282c3affa45d98f4d6eb579076117f10093b08151df3e81261179b977a3161be02eead2ebbbf4d8aa12d9366664b9a5be0815f7a26431c0bf0bd3dd95e42e7b1595d0a3015583a4beaf7ae9de9a8655e61b3b5261838a1533c2690c78f2a63a0bd08443d83d8c3bd1e50cf7b2e2b6268933846722cdc81eff71cdf302370b93428233f338af3fa1db2263011c789eee8f7328b76d4c346872cbe108bc4baf2b1e00f148d9c19dcf03fc33ecca1487f26a6eca8377bf1118ce51b5ff118fbe25f0d3bc12db1ad832d5ea84c4e2dc166c0c725bf156da449ef549ec468ca5d9b807c468bd81a5a11fc5603ac439d0dfd5b711b97c0b79ed33336abcc72bbdfc2529c88063677364b5a7b71143dafac160880912d0fca65038facaa5ce6708baf02d749a725e7d015613b7b1e9cf7fc3cd2db6dc73996e71ba2b44a65c1ec6060c369d85466e0114a1b05b12bcb4fa7f2f581ea5f96bd8f38b882c88ed608fc32565b92420bd5ff03d1bf64a07591f7babd9864885ee3c89cc09fd2fdb1ae97e011bd280f1eef10b25e96025866452f5f58bc29475e15f16da92e8a2423efd39322b1b5314b9930abfe7fcb5eb81f1f90521f1d913f52e2ceec5e4134c55a13296e7b769564e90a153aee3de5c73308c6cffc3e033b9e4717b43e74ccca6a1e89d155bcd572a8cee45916d7a444a0af2ac23c74d0001c6430c2ca5c077c778e8477458322c17106c318dc4f74d6fbf8681ffaa038d9d6609d4fd62f61457f12feb99f6f6e14ee6094d37abd8b29e46e8b5cd87774245afd7034434bd4ad5264b4db51f8854f865b7841275f5acd41d8412e6f5ac170eedc75a5bc9930c98b114cf3b3096f65e06db5243d9c2dbc696042a21d5a6c4483e5b5f7390742b8cb558bad63daf7e4cef152bb99d38703d35f532e38e62daf4682bf29440de0392c8332b87dbc0d9f396d60060127d1ffd526ef46d54cb7017156ed7a2c8c6d0937f358bcb94808df91b1a8566c8001e19b7582ce6191179ada2122793068ba33f90eaccdb29d176ebe08f13e7669d057dc2ef4a249f2473e8f1265c634fdb7faf8daf31a8cdc69ff21a8b3d9a35df6f5652ce0e1a96c68ac45cce3acb250153ceab2dda3e382f02746ec258d9862209f0365637ada51a83cebf63c13f000d8064cba22e1a170eeb3590f0abc7a1f608f625bf4be5d4310cae383900d2ac37bd0111b113ab82a3f7505db883d1413265f4ad60dbf5a38627810ecfa16f2e87914578eab4198f0f74bf70e74ab0a301d952981d0574814bf9b638c602cdf58064273e4273b7c46890029532b73f52dce3ea273b7204ab31d3d12c0ce6357da99fda4094e49afc8ce5975200d03a20696580f58960fe2e15472dd2efc7748d48d68fd85a4db7a5fa1755a61e917e3a37de89d0e5bd590959efe95e629e21b1040accab32f4949936a408d9573cb216fc26275fecbb5bf563d80104dc98a1ab4ce8eaf9c08059db37e5172ca2af01d134f4ff0b69fc2247da897473693385d28406d41a1e6a091e687b041e757583d6be89a6006b234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d88f45674f58f2e2c3e19676c4428770ec0a51890ff0b82eccc7e36a3fe833d50f300e360f1de6c82761e48294b83ef20c5bffc0885dd457df6aaf98fbed5804e8d874432614809add46c486014ff31ec9f9c8a3a9848573034b4d6aa93f43f3b6528cce612b28636110aa741d6d2205bebfd3a8bef065742cee9d292054bde3b6a0ccf64842964161b7e9fbbd91cf2044b5b780fabedc65c90478d1a6d6ba66541e961fedb0f00cdcc31f293763adc686ed292bef01a7fcb8a327a2f5eb9d050bda1a72cd9dbcd20e37540505eb4d0994768a6062b2fc776610f4eea7ec7011e700a73a09dc626a0a8490c67b1aa9f0a7959eda376d3240b5079a00c4bfb446bdcb8dbb1515ec8ec2d353eb5912720c73e724352fe630036a4b530feb32af44d19b3edc5e8a3dce5dcfaa80b09095b4b2005b1b97e012408d68e7d6814fd7e2bd05a5095f4fbb178b2120d8bfab17fab04e25fda1beee5f3705ae5bd3ede2e34a2f411bedef30a995667a8e47a420f49677fb844e7a838da6cc8c387b2aa8712a11ca171441966d080403db09da9db396d679543092aa8891d3d0874c0a6961e60eb75737765029947235ca44986f70f139cbbbba7f60a69403161b77b1ba358f276be479638bf55f16cccaea9797f0f4d2ca94d4f9ebf0e35153a0d53ef195928850b87db0699e4f9cd4719d8edc7b94ec1f2d1df39008517ed503fd3cc6cc861c3fe9e2525e53458db26ac4bfe5d570a29e7ef24795fda3d51cd58f824f1ca7f6c3face96acd76f3a1f46aab95e8e1f93c93a659e6b39a4f55055a0e71ea9c77163ae2e0bb9d42b8a82fe99a446a313b38f1dae3b25e556bd458f319d3f9cf9c6878c053548bcca306c867c9bd0b48b0d1bdcbe5feabf507e4e71731ad8eec1f51b8490754bca609adebc92e8abe8c34e4140238822631eb147efcbf72ba348c81f4f5a64321a80c96f239bf14805e2ba7c2be8490179655a55ac58e56ab8484510664feee0e63fd4d683a8004171bf47dd5208aef6f0aad0b2e39b7cd920327b2d61caa65a97773be0722d0d96dad14222ab8ae79aa5c166449bcc9b6533116d756c0ca79af6a4f6d8abfa9dd712d6e54597ab1fa828265622dbbdc4bcf42b300418263a804e05050de109a1573de3de21d0db6f7763d2c803364c4fe5b6be489d2555ebcb35f1bbcc1fdc7332ca7f0306d5b7ad0979ed674f894370db6147a09fbab7c499d5cf6811189e6e65a54554ee781848fd4dc282ae603d21d752112e6aba4a5612486034cedc2426c27073dec45343f8775c7bc9756d4ecbfa8e4354b10529c2b4ef390e62197f987d2d9855ee0981d89b1472ee7f9eea2ceb229c5539817fd3f5e25db4556af88bc95a56682ae3f6d6d933ba744dd8c1f0c8832085b86357541f1116aaab7b3d9215b4c881ae3f6580d7d8cde586169c51258b4960b767c43707c2ba75b9961fbcd7016dddc93046e17820cd0476cfbb42743f5ebb43839e12772b8a2f860400d2817a0d6b5d95bebc01bcc22dfb255ba9c2518f4c695cb3063daab3844d0f8152e775b1aa56afa458cd8b9514a2e60511ee256cc7f1efe4f48b08dc02bfaf8b913b330a01b83971e0d16ae28e66139b7fe03af41f639c78708ed0e0281a9a5be0e818ab0fb075e0e7fb93180c86f6b72dff63a3993dd1eeee5124896d1c4ea4e37c009c5e0db15dfbe3edb8b814c40d5b25ec92990e442810349255e375dbec55e8cabced3a1117d61d0e34a79ff3fe077b200e65656582dd6fc38bdce8c828d38a55da2d40aac04237c5075322f39a6aeaeb1406aaa20d3fc6aa885bd9e415b07e0db5a40c0c8f91c332c30be2576fb80e66268b15f669f6b7159942676afb6c7bf8d19d73cd691e6cf19c5c87d6480d7accb1e1f670802608fb6f0718c47b88ff29f09e52be7b4a82c93f28c541f4611576ed5f8475d5f5822edc030d0800e072c6735ecf4d95636a2946d6cff7837e1aade49615056178d37417365333827970fbdfb7432caa693a30053243f5424c4acc472ad75c1d69338f0ce561b91cd4253e1bcf9b591c06020e5ff066d032e0fd2f63435a4f1e949ffac8840d7674c1de68fe8a332f71cd47c5b5e276ac3c4adc5923dab8c3b73aab8bfd7369319f55b03a35e4a2bb8abe80049a9b9dc185fee7b5dd28f034bf69d580a8e3ee6538502942fac14442d041b2666cc1c872105c0f2f8c8eb6e2fad471f52ef4cb1c49dbb22e4a7747bcde7943deacdd9c36231b314ea675a89073d90f9a735cdd6a1ee3bff5ab4bbf20dab796b5eb373034e9d36895938a84714b7bf185aaaf97d078a618dc491c32445274daa0a044527fdec40cd18152b48c5eb0dbf1e386eda3d2ce300de117ec84500041834c48be8597502cbc161c8ede2d9a3a3abe584fec434806dd70030b7c0845f39f7369f6ca2d77ad44140c61144e65ea33d31a0e4adf039c8b95383703a584be4f134c4510858c1ec854a0b0f893aec34f21cc5ccc87d6272d93034d20f278a47c2c9e6a880441fbba299f3d739ffa5136fcbc6b3b8c3c44c1f3b914b53eb92d5eec2bd41041b63dd5ba9fb75130b5f8d0b1896d10f8ffb0809f5e4a4648ef258f1117f62ea2c978cea7b704e00511d9b899df9baedd3ba6e487d678ffeda629e6bbf9816783bb7c057c89bc635b3e6b1c696a79863af85cbab97694739d53a9e59e814eb40d75baa36c1bd3150d89492e17d87f1f35f6372616c8789f2e434a4c3969a6fccb6829b9b40c73d2eb13a62eaf3ada3e7b70823598fb5e6743d9434ac48b0c1b0541caa82171b2fe178e4f9decdc863f955a961e8ce72840381fdf4c98e094512e1f6ec3fa668c015b74d721aa8d6874bbbfe6420397ff85ccc11bba3cb8829daaa2468a7f8716901e46bc632f0731cd98a907e226fc582fa10d3e87a45a73c3d26dd9cefb29d64e4dbfe1176c6838c07a4c87afa89f962dc4a61ddc2debb93c1ea3d36672167b7e3874143cefac8af77c74b2b7426fcd7aa78c8133457825f7936e85c28dbef1f3e178406c4deefe75616cc7bc22318c6d2cb184565f021823fe1d4a80db08283a0e2e238f93e24bd0fea5af85e421e909cb360eea1d3b53a55ad6913d74d3c6a1c4766055b37541588a86a08e27c8ce846001e49abbdf097b20016620848790982c6a970ae0d08a20d1dc2b95ca469079d57c1995ef56f98ab77240cf4c9ee82ea817216a42c8da00a55d73b9bcfcd0bd35078add675b346972c685da488af910a1921671543ba20c78dca4384ba6c535932ab727a579c5c54c0088f5f873dae058dfa8221845e86d2736b63e5110fe536473788f47aab4e7bc81357f7405597a3953026fa53a99324d9c974fefc7fc07bb26fdef8cdc2aef2c00eda0444a4ba28dbfcf6a4de2c9a20df59ba1a0492c30a714c5a12cfeb226bb65aa6b923a54cc8afbdc588b1e00808e599642f5b400a6c18218256df17b15bcce0892f541e650e21d1df64d833b4ce44c12080f77fca7b550bb5b234ed94c5234b37f46742754c401f4284dd142e4ae799eeef67362cfdbb725c21d937c211be5c2a7122fc154b3b921c161b4a7ba10f609bd7b16e5789e0bdd8c33156d77459d2a31de0626e6270d9881c857760ed2890cfc640ac11e61e5257b3b80025236473e6438e78d5bf474ab8e8b510f11a51364e54cf2729584f55d22d5bffa0610bb645d1708855af6304bee044c1e5e1a7ec4afded87205580920d56f66c3799e92f1e85d00e1002e2338540ba56bca3b0dc0c90bb13c2de00b8d02bc8875b2de2ab057c7a5a3c45e3ecc9811296d7ff02c3d873dece5cc5a6ce0fb2037b1b3ccb6c2ff466c74522afe65df39d65d0d7bf96528efab8caad34bdbedce6f301013a3c5814a95792497762d4880f955e514e52d71c4c7b46e8c4746ee6f153af0833f3196df91389f29f7b024ccf1dd609cb8c15fbb67983c40bfa3873db37d82978f7ef23b98b25c103fba0ad89b6c051c794ee25e0c86a6718f4aaa18ff797859e4b0d68e02b56c891cb7a77716dd3567a76cffdcec73c3ebbccdd799d9b495ed07f0c78423b04a422c1831ebe670d4c41f3858b50b78a1c7967821d2cd1e84f5a6485319fd552c15a7158cb0d59459283892498815fd367082aeebd79046a9ea5e964f3447cbdb0dd7bd9253219df81cdf3f5283e31f94661904a1bf38361265ad13d2cbacc52c22478d12fc815d315215e426d255b29d15e26e5f722535ad8ad714d4349061bfa8389b5c08e1130b5fb45eac39599b48e0c26d9bbb927f221e461ea1679cfc075548c99610f38829449cbbbc434e5ebc5fb2f94cdd49947ca8c6b5f82090d27a027ab79e771370653030155ad23bc7da2083e5521a23781b6fe28cbc47eb6f7ad0963873bbea1c2f0ab26eaeba394720761a2d1c5021acbaf27ad9b53dc0338077d0aff09f49610b34baf0da42a286af0dfac6d39b24c7bbe042476259017f11602b77cb3d0c99f8712fa0ce346480ef96fe8443adc21d3c51655b771aec5e1e8831e53bb1db2e845f8daceda40385af004123c3e47ad8851c43c4492b94e8e976ad36c686984758aa427bc0b1700950f4c721452e86a317427f1aa5fccbde20267a5433b47260558545e8c9d45f1600cbe782b764bae696f2a54893120fcb76d0b1548558a96e0b2def20b89d27cf5301626985e9ec5fe245933996bdf525aae664c6697363c08b212bc1d23b2bb6ecb0941b1f8d1c274f0a6570c490c39298a8a148d846b1c6f22409545002a20682337862de98acff2b8d92a38e3167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a3601aaa3e63a6fd98d602e5f1be8d83471c83c8c591cf893b91d036ef55b8b69b54c7e4fc6fd662dc940a61a5efaaf9512a08ccf640b80e828449843a05ac0c0dace0e9a91e9d5d62279e84a2d5a1e9fb3dbcff43f69d12554ddbcc6df551e2ede6fd4af9df1656f4c5cdcbb5e255070da0f91657303187c32e056df9d3d18cd09635f5c912d3f2db1d068c0d91659c13ce0ffe74fe778b7b86c48994bbf1fe76a55629e0ded8a15ddd91c242eb11ffc8820d9a4931ba39b66beba49c3720c4296e60dfa9d82c586d1a62757458a5983ce649340ad275b31c220446c770a74a080c794a7f31150615624c4f1513d53621fd2b8cb120c44829e76b7266f24281dc8e1c95187c3dd6e3cf4b6cd444327221552b4bdea1abaf44fdbeaa83ba7c8589cc2abc1b386ce687d84b4517a0c19a9c19b0c1d8575fc9ecc7144b00180232c264b245150b1416cde5f614962af081d41c86357588420043374f30c2395510aa4ae321df9287499fe1ff7c427c422ed1a607ea7a76e478f099c9af7c1ccfd1f32bf550d1ad0c9331a35dc6e80d177b62019e130734e2fc6cb2cf21b09746e5fab81c761e603405935a79caccf174c9847f3924bd8db349ba2a2675f8120da99f52370a11d3227ccbfd294d1c85ab7408f86bb8e637918bfc758701aff7258bd365ee57e4537528ceb238d3605dc73328232b96a14af46cfede94bfa4de68c384ddc6643c8088d14663d177aafdb9e939542c8e074d56e73399dc241bfcb5d6548e24e8932b42c131f58d557739787dc64b9b03b61a2648cae3137143c1c9f43d326b8ff890d7a7f0e23569cc46731c7efc8929804744f4ca158a9910b0fffe7e710ef080d92c651ab2444a6b1c84610a81de33570bbca21efd23652fbd4571607d9d9b250aa58e1494e280eecca158f13f0c259a5a7fb546fe69fe1c204411b0a7877d69bc2cd69dc11c637a2350b04c4bfe6e43db6141841fde98fb658e9f46e7c5497c5d5262c843188141feb8c7993192cf56a2f590e909c6f8968245ee907d9d9b250aa58e1494e280eecca158f13f0c259a5a7fb546fe69fe1c204411bfbc75c2aabc689408cc601199808a4306905afa664cbe86abecee5e03734384c8ae0a1b5775c6e9c84820a6e6038149f515dc1294a8af4438ac15de18c88dd1e2985f72be42ac396170d1ee5932a84e3b50e65cde894c33ee81f4372ca56e260de589a0241f11a7340794fe25483944a0c35a82dd82a437ecf7239b4a48ab47bdf138ef795eb7fb1326e653a06407e92eebef52490d081a2cd1fae9765fd947f0732e6ebf8608af55347cfcd4ae65fd887e6b1afab1be9d2ec28d7d04a2d8277603ae09c7a80a805b6d6630db33d96f683ba2dcd68978c22c8ba244e9ad830d42241f476c30c674034debaf165043ab2e7d53349d93b37f4e1fe14557c617800d707448b0d83abcb5616dac18d46d78219580691a4bb27b92d5bb915d56e36db384db0d774e81119f84a935a2cd1dae1a8fe972ed737fe72c40a109a402968641cb61485f5c31b78cac1493faaff40c40b05ec69f4003d90e87c17814421893f30f0903eca8fbf261330216b23bc826da82366a245f4f956e0a8e02323d3643f53d0940f1f37c8e3beda6bf43de4915ed48bf98eb4388f292b1fc2c0afb141e9cad144d38cff96d1f406010971ebd23f09ce194cde9352dbd7997ffceccc44a5a0681d955fc9e4eb930161ae0022116a586bfe1ae2b1ebec5f5cfcd5b7279b26e68d2b27ad7cf7535eb57b64e4ee30d35bb1991f2e58d46a1a78758879306ba0f238ea669e917a247f75137e1bd1525dcfe9a0b7ef8ce534506f283b4de40a3352386613acb6b1da4c9095fe7d4afacaa8bb072ff3ba3f52d2b8b1cad45f96b42aeb40a16f8a98eed12b3998dc89aa0129ac1726a57eb330681669bedaff8a87ab392308218bd2674eb05b98d6d0c99d46fc62b02801caf55bfa235b12702137a259ee3f132ae8e65af5339d2928bc24863a73297becd9dec2d58752fdcb46337e2761d1f69aed1e677c2d4ea12198dd534a5f8d9f29ee742b6d33216cc26067fcd10118dfcf0a9bf0717ee71348c5a5af348d57a20bf0f10ca5b1e73dfe845eabbb8ed0bf006c942a21c57eec8b38bb75db0b50ff03fe3b534168ede483f50c4fc6e69a9e10f041ab735ce90db16d5bfcec413ba18d0cb1d08df3c2af553447ee492d1c81d975d71a2ab8fa2051ce77a4584e4235313a0c73a52f13e95e076f9bcc4bfd72b70c5d22435bb466de9e0ac1434e15633f4b1cec999c1294df7a94011765ea1a310f778cdc971c65b726b2b654122600b161b2b0d6c0ec3c63eb2dd77e5b6a9b2dc0a2ad7f59a5bd2b199bf0dce69444ec224c3f0ddc9da98cea5d027d6041a91173ef074f2d1936df7c26116ecffc73e20e4cbbb893ca8ccff06e79a22d61cb8cddd06d5b0c5cb6edb11fcdcc8cb5ac0ae93eb37a40b09e8c593d512efef05ae5e53722be6029514336fc04f9ca77b8739313e14d5c4f52d4cf81008479cf92908b8b35f25ec9f2340fe11a8ae94cdce30e7ac01db31e67386eb8f6e0c803c145ac3a196b7f4628bd22a98442110c7ab4457a0030b1b3ee2a423c652312f4a09985e31ff472ac0dd7d352b30569f3c39b1b58aa9aae525531fc292708d119e9e4d236b14c65972da07e68dfec736a1538c609fbbe78ff76f0a892d607f5a0d6b3a5ea1976b74229d5f6ef69d8e635261d5c3f1c30084bf8cbaa3ec7fcd938c3075b9ac84cb1355f49476833c320fe487b5f59142e04fc4cc69bbbf139eb884f07b43383ee1c80a659666efe8fdbaaedf20a8a4dac931f5a247fa5b0ab7fc0b651da4585a758ed6d34fa10b5566df008d60f1a89dca177d7f9717a52fda48f9f91821eae640e3088f91e84bf0d0594f164e707f63a07a26ba19735afbcbace58a294e8cc5f7ca0bc40ad0931a019538017105df556c52ec6a4f7dce709b0ab56c1405e0bb0fd2854b1d125e34936b4d2f436b7b51ef2feee94e0974dc09db2491746b868b5073b98ba2ca22d69d5f0fee4f9c8f3ecfe2854d2a28a9071e1b56754d6d70d11d00484ea41b950e47c792668503e010570b66245cb041a067d2ec4b24c02eb57ea59816525948a6784d2f9a746a46e1b71343ffaa83d71bba9edb8820da917a86d83ce25b4030b5bfa0ad860697586840a7d105c486a07b284caa310ae32c5e9dd81f373f5206d474dd47eec1fedbc3cc330160ed7809370553365446c84d4cd0360d7d1d337cb633c8dcdae3bd921f91011290ff673409770def3c5310b93f0cebbf7f911f55a4faee86a0367c766ca47e64147b9e85897f3b064fc12c9dfb19f246384b5e81de20765ee6d030db4386f6bc47edc32821ee5fcf1c944df5b8cb0d8c45910c1fad69dd10e1a1ce34145fc1139a757bb5b785360b12bfcc96753893752559d4c5b4dd87fc3c1a4fa5f29eeee2f3015e8f0d338c45af289130c71e876952f54253e34aa94f2fecbd22a7318679a0b08c8307a16438393d26c6d80a770e199e75177d5440cb75afeec4515f00a67ee8eb001fcde5a9f5f0e2e315d9f03b120e18c3d8ac4f2acd63810be59a384831671b2b4575bca63aa23ab92a486f30a8351edc91f13f897e21767d4b628852715fd0ad4e3513293c349bd4747b6f437d1a1268c7823c1d7c8d478600fdac6354e74b56530314fa069f097e70f18e2a0e323715ddff4ff64393fca7ca2799660b9c6ba1d2a11c62198f65440938547df5e8c6f26d971e19eda95c04f85f739d4d2843f91927c9c82ac0a58bdb943167b4da05aa66ae5b4bd6694bb0526910adbf704d8c804235177840f3ee3f1a35452f4468902ee20ed9aced0ccf652d4159d47c9c8b165539f998aa0fc21823ea47898ed7694f3e6730bd255ce8306180b90a3ee887fc3c64fa0763c078a513c2c39e73bde5abedc3102a4a70f606e6d0862cb6264ebb265d3bd5ce92a25aab06527e3fc00d769e3b3515a996ce32da2deef0383d29a739d2d22dff8aa4b4fb3ba96cfc94c434db058b39707256f964b2529240098bbe729c575d92590a67efefbc1f90e6624e33693d5f1f8069005ff91c10d9bd05e95e26bf0db1c56f5ce27a09fc6ef0368073966868bb2716627ecdb51059f921c8dbfd966276f8d610efc350cac997e9cb7c145a0c0780899356324725acd958016dc00376059ae70b0284164d50a85297ae6714d2d7819286554c19864abd9d161ab007fe17efee06cbefdb88304148ec2ffdc8d85ef2ef459d337b2307fbd8baf55afae3ab7fad7537192c6b102b7440bc77fbc279d00db2a3f6e0c10a598798bc95a7fd30f8a9608b0a4bebaa51e8bef8d45774b7da85e622a8e3f1ecd0bb26191099138d8ad4eb54be259c5c28c3e58a81f27f1ab5c9832ef89bb20ee4faaddf57106d8fda9c0552bc054124161f49c65f2fadddec9fac46846bdefc737c6492c218f4deb04ab2ce1e585814fef7a7af983e535adaeba87f3f815c1de09a957eea08c63faab61c368cec7a5bdc94e6fbad2f2de4ff7a2c1f1b7d44c1ae38aaced9228440d86ae742bbdc327769e992b5a8bc6632048cfa840914e7b49f4d9aebe9b1868a187ec622e9f85f2a5709e6d1ff3e1c3c6084e7e3a93b91bbf951d6622e148510d02d718ce921dbc383d0d4d8ffd9bcf104fd0540ce6bf5904137ec1c12dbaef4eba239f642e2def16907ac8ae0703deae6759d4b10b2c55b43a584818abba57e2d00d398ff863c7166d92b8424475ed436dc2ebe3134203c7263fc97a804e1eb2b9bc240ae625add8c93e73f01af734b9bad3420298051966c7ac24a6a03fa3fee5dded744037e056eade7c3b1b6efe6da7ae68db161dda9b5081e48cfbea032ece0bc0e04279972711c717c00279aad8894a8b4362eff3433ac7664870a46d91631bc9da77e8b6e8317a85627e2ab411a44ffbf425098f463086076ae4d64cb0624cc7b67cee543f2484506ca3043c5c6da8a0239c7ca07bc179dd3328c782e963cc5c20090400e47e92f2ce33ede87299b29daacd86546ff09575273e01f15aa62df2e75842e4801082acdfe6fa83bdd5cecc0f264fa8e93668e4cc8ce1065ba07be25596392d06896e876e599448205b98343412a343df63afa8a45cc28c865d01d94b2500d078e2a1706e7cb10bea32a8176ec4b9e4226b7a78a6ffb00042c97550848dff37ced15c9f48e901fe17ed28ce0df72658243c7b591172ad54e4b162c0974568c866c909c43a5f94c7fb9ff847ef8a1603b1a36558bf31a6a905505e11376597f3bb3e1a85738e22d6e5e5fd98208b2e0d7217ecf7cae9386825eefb983829b166fecd5b3c8bf80a61ed047a33b27aebf8e2270598dc9dd8d2f1dab20832cd3316570679a920cad46a0c4a3a27606cec9808995e95e26bf0db1c56f5ce27a09fc6ef0368073966868bb2716627ecdb51059f9227aad5adc6f19761d55aee770eddeb84d288df3231e04113b082eacbcf8e0c7a0839d0f0117c2e31e19a57c70ca51158b648a5d8862262523f2559e3fa3456a4cbebb5aaffb67ffad32d8598f91789afaffe449ab20df50fe840ae7175f2b34b1c754b5e0bbe4bb24197df1758995aadf27bb9fd221915730250cc451537925152a4bdb1c476219bf1dc2cd8fcc4fa11bdf80e7481d6ef22878f926eea1e2867ef9b099a38d9f33d70082dc6df483d954d865ced311bddbab9fc2dd593acc2bf8232afafe3ebd332d68f8439b0d2f25d0830ccbad2b74e1347da700ce27cdcee6e6dd29771816bbb99538eefa008c51dd3770d3664e75afc5260d2f5cdc0130184c3dd2f4d05d72d5b9a54500c12662209618889460b9f3d35ae8b54a8e3746e9ce5d51b7e3f093bdff46d72ee15746ae78fa2e0d7f96ceecf01f0a4b8d9bbd370a114a90fe598d07a1c752efa82558921a48b92be05a62884805096ca79c27a584818abba57e2d00d398ff863c7166d92b8424475ed436dc2ebe3134203c7264de0af543f7356859786c60fa7429c936c3d4727b0d5fbcef3d219924e247e2a7fc1a5967d30c4b1603fc9598db7dfb74cb35f7275961e5c0821039e87f02ad16c4ff2cc804ae01d80097231ec8af0718f270afa61b4009f56c916c0d6a5aac7d2b529b66983577d0347768c6aca25f2d4af0e3a0d787aced1295b2a963ef0592978fdd52b9605db1137cbe99ff5c62927f4d6b529a2a5ebdc7f523a065bebd7c13c3f3392417ae2ca06963c71c044c7abbcdc578e29edc1ec3f197307465a394782c2d0cbc677e0976dcbb149e6bfb8874f01322e17d3250526819f3d0a809628f81d04dbb842d1ec2e0e19637148a63eab0e21c56c234d23c409c27504155e42e96dfde26e549621cd8ba85a5ffd4408a82366b451c182a0115a0bcc5b24d7c13f1bbb4a4fb1f7bda587b5277d553131bcb47209b7626702c6eb14f3a0d135aa81acf8d15e55cabbeb663559a6d04a38a36496c70f4dd304a0ba1fecba6e8b6aea66a34e515f71cf6aa163af4dc69c0be04abe4dd54249f34484cc6cc339f4d90a606f4a7c1ec283fd5114305809545ec9b79629a7260b1e36b683c0626478e51169eee41a4063703e49465ae5d672909b364b7055f37a25830b4f95647706baea7400bce4e84e52581d8bb3fc3d151e813f86527df985e92e6a5a57dd2e016f8d1f137687180fbb76eb6fba57939a2e489d8a132e5ea84e1c98aa512f4b09c2ac776e87cdc2c417224661e851364996066aed99ff20ddca2e475b0e4a908afd508215e8214cd8a68007aa406d569a1b063e7d759826450e111ed5ebb81d1613c8093fd01011d2d31f6b751f4640191ca5da989f54faa364b13b6cb824caa93c4ada870d425a9e28a4d70520a20f4be8fbecfcd8a6cd687f76099ceb905ec58e64d26d465b035f88f59591e413b37f2f3f51991a23e7108fe3b788e5141e5450045f2f76ed845f6c6f4a6f2d9471524bf8aadc46aaa0e61b311a5ef722796d72c6388c78d8310c6b81e2e00bb8b5c975c43430a8ab576d181a060493c7c959584818abba57e2d00d398ff863c7166d92b8424475ed436dc2ebe3134203c726b91c2872b3860b15c6aa5303ccc90086babfe7ba2a5b257552f74ccabdbc94ff4cf9c5172dc90094eef83b69f9a1a765ada216b1c42dc256caf120b59205698f1291ae06820d857b7c5391d43a3f34294b2401d95c2bb5f8386ca5f1710b587b656f3e4a8309b5965ed4321d737dddc3b6f64a28c56b0268f0ccccae98008fc60fbaeb95c412a147f54b9aae4421ed1c15ef61b131444b8bf8eae3b25ef2a329ab3ab3b17142b32dce71de840d153e0a99f8accbcaa51239d7e6afe0d601ad090e61d17c0e236e5a20b8ef2b4786799da544169666f02eb59af93ad3a988dbdd83f45119904f5424650f0e5a61836b47ac17bd80a9114b1ea78044e7c71e13ca46bb3930af95b1d68103e1edc1d361bc36e7345ba0931a6f8a6ffc416924be91bab02a31b70b1b6d235d90fe0b7a4f40cda29f5d0a693b729a32cdf4d12a21a9888e3efe65687f5ff7fa65192e8d308d22f8c3dac2c8251ccc0921d17de03823eae8b1ba9c5d92be9497450f0f2033fd52d8bdb2ef16f97714bc4fbb7aa160c189910e563bbf03cd66b134b8b642c8c4ec97907bb768727cb230da8fe4eaa441685ebc584e2993513bad927b35c5969f5e1574c7774408ea0d8c47bbae11c58df6e4c61fb6350214b3820b59531e5a8fc08cdc1167c8614160d89b30e499c1d6e9fd1ae072eb88b73ff08bebb2abbef3415d570c713161c2621598805c8e612c5e95e26bf0db1c56f5ce27a09fc6ef0368073966868bb2716627ecdb51059f92678f53db730f186600a742bc93da3fe57b08e6d1ef9650136ac2183abc14c611d2b37114c78effa1106fc6150de133f0f46a42eb2ddab97e25a1a513a5f95d7865c69616fbbda785d1018e9912e8d3ba892c960c3123521dab30437cb7f77697d87c2f6d43267ab773a3f2bcf2babe292db45ee3d756f235f22e1c3d5e3e0af7eb98ed9efdbe584d68a116378505ef485a5f3d9c5d064d2a4e726d8a679189c30413cd5183503001684da773085a937ded598499795b56e6f1c3f8f911c465a284c3dd2f4d05d72d5b9a54500c12662209618889460b9f3d35ae8b54a8e3746ed30a63121a5f54c7645860d8975c89064c25184b23b5d0156eb5b9e121e26cd2f280a1c30b5e57e8a6260fa038e0f47867c254f6770befd01847dc0cbf7b2dfb584818abba57e2d00d398ff863c7166d92b8424475ed436dc2ebe3134203c726a37536fc2029711b8fec0d41c6040f242bbc46e7ebe8b9c0b88a06c4152c9934e40200cabeb1d3e83fe34fe1e4cefa7d549c7d5b42d13632d40ca3bf39dbd3743ec861ace4062411255cf579434eef065158c709420ceee4b3a1814d5ae2ab81ecb8def96d04e757d01d82c373479b65fa63d3f6a540b07aba1633861979558370d8b059408424a0a7f11d3898c09d4d45d5fc6c29ed2302e121f45e209f1389e32001f7481bcfdabb5c1f39ebd8e32fdf6c857350cc562e062479a2902770d15327fbbdd77f6595c6cfe5cafb647c863e3ebd399336784751600a49558ff68444e603d81f77d3437370ba5ae4b16c3c71041e32da2645a9f0aec7b1f4f5f76a71108fcec55b3249c15ea0b960d2199f3a03bb9ad752fa2327c44f0eddc7e398c7c3596344c905a1dde8cea9bb5b194300d240441443e39657ede853184d32589287fb90416ff69eb4915db2fe2264d4be69c1f1e8a9a87dac3dd89ea24d7774a51a2abcd9620281f0437e0f39a71f07bf6354cdb6673b82a0fc324ebaecb0a5a54671800140b5777cefc9b16dff14a2c610fb30f77518c22aed458673712946559b1785dfb62acf1eec91573c404ed0ec190a6ccc6de63db5e84031e3903683af83fac8ba886216157e3bb61613b8f4f9f781ecbaf5ebad7ff3a701003cfa95011e123f4d16c4a77db8d917fe3d1f6ce273bb45d4a055fc21e75ae4cad24247af65a705d9e7f20abaf540c8a98f3e8e7986ca7239dde64f1efbb4008361b80d74c3966aa5ce0a19ba44d3307091739cb0025d94aeefad20386f5a75af3ffb7dfe4db6326ff3ef34d3a06394131ce5ba36ce3e1e86dbfbc4daf956067d0d247c1236b39bd93d372cc76a717597cc799d65910f8459f040ded7130352ec574eeba924ecb8167a80ee3bbcf8b74357a92fa877aa6c83b8c837d071921d7c471a89584818abba57e2d00d398ff863c7166d92b8424475ed436dc2ebe3134203c7261ed997f0eac283be44a1fb6390102bccb77f37ba820db185042084ed855e02252eeebc58cb386d3348dc774369973d37121ba9fa6f3f9e9b7a68e1a9bf14df8a22ab1eb7743c780287116817fad1f21fa0d47745fca6e592c90078aba6734d6f656f3e4a8309b5965ed4321d737dddc3b6f64a28c56b0268f0ccccae98008fc67b4f9864aa023091987ccbac21fb67e62e565f5a410776b8ae278a60bb4dbf8e8ea453aebd71135b6b2c97eca551ca8753379f2ed1a19d18208a079bb52942d9490ec4b0e01967f45d5153c4a68eba9469faabec3f5c64ed588cc43f56e71ee5516f385c75437af03e1a5796960589c1f8af90ac74d3bd1a4eae86d822dda67b90759401752d17c592a902212f3e6a6731b30834d5e1f02bc6ae66916d27944a823a6f942f697da4a5ea64de3d5db9ef4ecc3660043640c7e28b5aef458dfe1ae3a5d4fe3e4d837e3ac6c20188423f8ba3dfb860149d7798c7a7f9e7f11c932de9d0cbb5773ab41dcb7133f04fbb03ca81ad17c4ec1b73a1f231d8497630c2bd210994859b5deee4f5a0ccb36b96451263eebd098aab3b6a7b90e4a99cce4aad372a7eb544a21f1a6f9a7b683768d6b8c908c5d9d5df0253a7bbec0cfe89a6c351fb9539ea890aa76499d915109f5e9016d277a0f0b2b46fd39c86936c6a7ec81c2f6bc58944cbc758e5524333f5eec3d92abaa5e22374b3e7848249a7b7235978c88ab3e3f99b52d030898a784f67c0f4c6ac3f54f927cbbf8bb2d36b8777cf08577d74bda27d9e5d0624f59865b5ee78bba6047e71db412a69aeac088270f095b1831c83a29b5e48141296e201f578bcdf12333b1c5e76b9bd1037c5cdee98072fdd39f3cf86fe90279c44366f785142aee8f4c2074fd2416646b9b7a2fe2977f44dba94964f18cbf2077b6304bbe52d539446a055ee68816415698402f83eab9b2019a2be6ac973fb6d300f6cfe68f7c4c5def192fa988a9905856145ac0dd4c956da118160014b0a8109d379a496d14aab1d2f1ba38a002b7cfca2e5759306cdd9ed58719a4e02895151352de7380577d95f677e6dc3756d0c93a418bdbc860f64e30b7901a354d30b51f65de2dadcea5b3b6a7607c16890274849c4948834aaee83403c1ed06746341fa7563cc16d9b6d90b482bcfe47241bd135b7da412d17dfb046e66d12e5a45b47fea819bfc3cadf2e3335c4c5f49bab649037a484d304159df40513e347c8be45db8a71c636717c2725f81357f859836c0d7bc48e9b6b1649b7a8634fa8f6668951b4e95f8da7c3988c7527d26cdb51465fccaf3aed1510551b01b8b5f3596fefb2531f69bb7ba33adbcc6938b2f0c820fcddfbb9a7ac838c40b4e596ef5e506787533b437d4df270c80b3cf21c7e97729599bb05584818abba57e2d00d398ff863c7166d92b8424475ed436dc2ebe3134203c72612109603814a09ae88657f74d6a0d7cded1d139c12f93fd06b45d04ce7ca9af2a558a8946be51f611b0b15b3fad99e633535d1d16cbfbc20b2c38e22926b6674e54946c511a2926ec7c4cadf7a63340ec82986b78cea42069b56e9bd5995d2c4fbfdd137c13f067f380e13501e935b760e5c1ff9c425c3d6bbd3f053cda0de9c9673a613f4d697b94bd6381667c21a4557f0dacbfc063f5288162ff327f13417f2552da97f3ebe14af513b25a0513fe8d47305e689e438ce505ca79da47f683f31ea04a99a7d34d8e07a558abbba8848b519aa1654449b4453ec916e54d0ac2158d6d9b0d9d35a1cf584954dc7b06aa9e1341009d24ddc04dd810c0e4c9b1b9c118297831fb4e07670ad37a1da4e3bac2b8b412df5cbaf850f06b2b8b347b5f088ed37ebd8515e619fee64ecb821f9ea465d4cd8426ba1a0b9bc07da2bdcabffa24d43b1308f637bc967f3f1bc81958214672e5b4af7e1f464b60a694d2380db479b04b68ba759a035ccfc4ef822e64ef3bb267017c4ac3acb9d53f97c6b99ea916275415683455e5985879d1f7dd47dd13d1ab563081fad51c80f98f73b29a90698ccf6a31602513c995b2849d80341cdeacc2d27cdec6610e2616caf55eac172401b20d74264203bfa5f498a0ac1f8fe0ceaeb0e0af2ac1e27aa187d518c0a0a1a6dc32f671924d97b875833b95aecd4cc6fe637e10db63d6b6b16daa170fa6f8d1f137687180fbb76eb6fba57939a2e489d8a132e5ea84e1c98aa512f4b097cd12022fc6c36b54e08b5762d10b932e93c7e4abbbf57b55b02e069187a000689d5f3e0066b36ea4311209c3a4d6339d6e528fe5eba01bf2307b3efbad8087ef1a6ed2b097bdf75d4c50ea18b07dc7037d3af81627551b44390849e40f689f9a9483e5ce073fe848881082400cd2131f1d4fff5b830a54235882b17986c948bdb8ccc697e32f76cb3ad5eee84eba06b7f191a34989cb9f9a41224942915c72b3f119f6752aa88e907d83d726b40b6664bdffaeaddfc1745d898ba658ab7a7b453ca6732446a8010be2f76453bfefb9401845f4323c717ed60f3735fdbae6c10944ee7ad3fd2d262a9e9c91412e515d7a629bdd1c710787a5215bdf1bc94efe2528247101232e447adec0ee6e725ee35a9216c695e03db1fe4f58748befad41883e09c8f4d7b026e870a841762e43f10cb01134fa087d282beac9d89bb2bca7f9348c27a68b9901aa5f0bdf7fc31d27abc4b52bd9e65a28199f68dd667d7245b0f8423fb3aa23a6fed4aeb8f4532aa743ec98e1da23d73072b37bbeb7bf6c7443f7b8601fdfe2bd64ed17af21e12d3dc8b80a02fb9e8147adb49d391b59e704dae26269bdf8d5121bc6736fdbbc3b1813fbd0945a706e4e349c703ff7c6ef2c2c91bcbc0e07e3fc1f48fb9b8d8627f21c77a742807c766df4b9cd3d219409264ac45fb5486b06b0aef2dbfd7e5394a2bbb89f663445ce48b746be27a15599e0ed601a205f96e149e8eb305bbcf646abd0b6863b7acdb06ca91784b8b5a47c513500833b46b8bd3940bf390ad5d485de7d7a01777970838fd82dd55fa91eb1ee1cd576b6f40d774d6bc437ec6f75ccfc3f91dacd75682a1c6335a32877798ee4ca5b821b794e7dcb628f6eb46f4c611ca1fd3286428f20e014e2b73c310367c20edb962e408e9b0b0aefa4cfbae13cd6b4e804b9018702ae1ef02eb769d5e65276e7d07f6cf5e2a4491b1636768db33c8c8ecabd6727bec88292414524aa7ede9d916d568a84f058b298add05f1a9112358f648e9edd5f3f2012fab94e0d24e64f1cd8776a9e2428f9af3e9d1ef5df4d416cab007991cd7e8106280afd2db9bfa93cb8d6734ee1130302863d021a322f4181e195c4851ac4947c49c205adecfb37e2016352b8ee0717d54b2cc4e84da366609cb06d678a9e8a7c8a44cdd7a59b552d830ca5c36ac3674379f6497ca872536eb5c4c802830a09adf324d3f9151b2fce47d716ab605012d0053582a97c0aa28909cecf6ad7c1f88992670061ecb1624c3465d070f5b4912bcefc14f0c5c025d3d5925c1a72a8f6d11c0a4391b5dd2fab8a010e1b2f15d566e92968ef90a029850ad5eeb6332f1166b9afef091af42e89411596170b9134deaf3cc4cc02f12bba5f6b688331450fec8c3d91d5e815d3797e3d917c0c00119da0344c11453873cf6c916fdf10b0755cab00c436b80496d89d8e1ec9fed5d78439a2ff729f533de9df8f67f68e0ca4791e9cf80e8e87dfd51bd5df5aecad67b72d93e55b8ba2aedbf26c1d23251cf09dcf358138564ca70d8e2c4db5086ba23e1eea61b8f61657a9f52538f50de7736939d98748dd20e7d929a422f5019448a02d72bed2115cbf29ea00cedcc65f779a084a65055a6e51f2a6b5484cc5b8d2856a68a2ddff51fbcb917d18643f5eba4c1d5b1c460c5de9a40e40397331a20228e94a8a274bef44648882b920683c71e7942c16da54efddde9011815d7659f79f04610879d9344c21ea3a085c26fa6df1dc13dbdb4a2e706370dfa2e44937fd2ab7a77949c8848fd6f168532cbee7d9c25fbe75d448b79f08946223a036fb333259c26dee925047aadda081e56e57569d3649bd1e4a2287df34ace1bd1223df4de4a654256c4b5adedf963635987266dc70a9c4c1259d9d94a0ae7d352c3d4293355cf911f22913a5daf05bf678c0cfaae2a32f061d00bb1cdc55f072d2fe484c73916a438eb5d9cb18bc8a73cab6cd5daef354432dea55867ead4037b13fbf9e5fabb2ff8ea06716fa6c1a54e17147bc62e6b97cdcf2bb7f8b1f2fb756701d221b481b7bc0435507034479e89b630b09cb20c130ec3a35038ea8092e3d6c0405ba45ab8dda7936131d841283952251d414a9bf255a5436de7c069cae8a20dd46a2ab5b9413bfea06e4bfb628f9c2a77f51efc86446f261a9989a84012cfba95e833668bcb3e20ef1e3279596ab6a686440e9e63703778506f37b34ce6f5df9df517931a607b1c58fadc47e42d0640e221da26c8f19f6db4fd1b103d52edb059e7f9410f52fe59cd2414c33f985a8ded4014cd7669e6e6f135831db40960303cd8a99d9f1ed11eae3ed1446d0c7711d8f1c5baa6313de1eea459080581593585d5c598537a42410bf93e3372605932ea259149a129d8c676d1259d9bb86ba811df44df64fd8bb31d10cc3eb45f884b470e040afb54087c9ea4c54556ee467d454a99d82b7e4b04ddf680648d75674264f805d5beb0dcbe2faa4a851aa69be4daac0b6fd632272e4620b7b4f5a4293aa8fce227af2c60b9725db1123da907d619855dd6d7c8a1b5f9d0a0b4cf894bc57735ef4f2784fb689444ad1799d615ae3aee6f14a97fb838aac27b6c13aae9a71fbf1b8dc942f2a7489df3b32389aa060caed76e7603a5eca6b798ce03a80e9f343ec6e661b30341a9fd29187ebbdfb7268dd98031a65f65b3bc8b0d17034c770744f805ae9aed353fce4cdbad40eb571cd5d7ced1a2bc5d064fba057fd16c78cbda5bf82d566aaf83f0d945ad7785785073946f216114a35245f7f024f87a6edf2f6a5c99abfaec7f22f0f265ea9e92c09f80e72d3914aeb89e0df718a948fc28fdf34baa20d12973948a0b8503d1feaeb9e761f706d34e553e22485b372c74c8f9e524480001b5703b3c117e30aa669a203b2a1ede772c37ae04791244b265f4881ea8efdd82ff73f6e7faf22a9d4841117c8878715e64e87fbf9b2949e5075c150d521888705a80863898720bd8885549ff207f1baeacca8bd7163501c92e0a7841a5c148694e172e2272daa14c074804181931b488de7bbc6c06c815ef23ccf8889511b8ce18d746c7277ffb189e1438025d323c1f74303439832058d7c44753eaacb61b76670418cff6f7955de7eaa9e975cc953fd9acef7d8e4d55ae8b9b62bb1cf5232dd0bc3d1809c982a42a24c793df98def02059d445874e71023f36a7282eb562f5c52e5152082c8f1cc7d56092963e4346f40bc0dcb56cd63af3e6e8fb97da5f78c1810f6f4186e9734bea5b8ade1ee0591db1c9ed3cd65752b467aa4a0ad95e0e2b71711dd66dce9683721eefbefdaf223fc91854134aba0acf49298352798513244b4ee4b0969689a605dd158e6f66b1679dcbc7be6a425a55b610795209ef90ea81a7eb1181594703906c87740646eba77dccdc0dc97ceafae3833ae3996319dda650b1ce8c38834858fd1d7cec504d1953dee7ed75205145e70340521ad6febad768550d2184bc8234ce4212e04d0314e0612ebfadbd5888e967af727c639179823988fe64a8e52fa831f79b3d02955fd0891dc1ddd873ebc40a865686747062ff777b14c352a965cac1c4360e34d8a5f30f5d44a02238f4d2c6edd7035e63bb203a7017a17217e54ca0f28315fad65d0f527262db1d754cff6465699a1232e0310e01683f34bf43e274512dc6c6295b875f452faf97990d994797f057324b10a0d4f4f39c01238abee13292af234ce1718eb483a98110c3854829fe7e85d5cc234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4db7e9e9f8a3f1b8d18a91fb113d8218c4e5930a3021a5875a339a72167f2dbe988366492e57a8f37632b6dd3f0d849c75d106c4654165ccb16fb8e5676dec80b74c211ff0a1a29707e51f7ba9c857b33fa2f8e46afee0303c80f2c1c2a7c28227913f76707146f2d10ca66fd763ba6a2f7605e0ebeb69c9229774d64260af07bb4d18072e06c12b3bfa52254aab17f3124e389172a5f7fcc9196f5ce05df2e0737800ca2dfd0018401daac489b27650d98716670559612bd60e91bc9b26cbf0ebe19840709cae83c61416940c59f769de0c340b35f3e0933e5f6103896bb64eb1c0b6d35f8a90d42bea532c9393bff01163ded7a4526727571d40c605092449c62d45017e7c68ef80617ac34036f724850e79f951dabab465185fd4b5b6f42dd8e420b554f24ca6016fded0031dad8b8f78b19efabb9bde4cbfbf5c811da8dd206cdf76f9f3d3ede29849f7d2581afea28a96559d49da79070267f032649ed0585e2fd80d3d7bd9283c6303390813908d22c9006c69b75059a19fe8741aed2d42257be191671588ec1b5ceb773248373174d6d7f724950efe6dd55a23d3c0375812c065b2f211b6cd51288daa6859e8bb63c278b480d63a3ea88afb4cb10671aef896a0f2a2a08a5fd8b49342501aead24dc70082f1ec9549c45864edbfb69a4436c13c70c4cc87eef081bec82c9c62c54c3e87bcdc3a3b3e109ea7bf69440262609fde3528b01262728fb6e27a4757c5498102b60607ebbbbe5d9ae028cac66c13ac0db4adc3117dc5e6623c8095e6e993d5efc1262f0612e44cb49a866cb8f2d0e28f58e0b8fa5b7b41757bc6f41a6b4b5c0ffd1f47c5b2f631a960556f1d993ee6d7a505961ab0779ef38da29963f4351061873049b9753f6dc961d0d1cd2a49537f51572c8d9ae7e39be94728e95ef3f044bc88b9513aa1fa78e112337bc3c750226b791dd2d571c3dd7ba541a3c7941ff4355bc7fa1f8843da498472e26bdee011d2406737fc4ffc04d27d5a0dda1ad46cb139136d34e66a5e95299c9441e4d9a3ff03122b9be332c0ff4dfade27b4bebdb8505ad9af3f05714e0ef0ed1ca1f310042d4854262ec62cb2e468ff0987290366cb3eecc22c005e7f33703a9b877b8eb9a9eae2ca1aa998b6e3d835853657e5b23cc0fd04d62d6550d210dfbd54b7fa1c028a6252e75abbc135e7f5dce061eb77081e5d5aa85612916de250946b91358fa32925754aca474dc4f9487fac0af5671fc5bc86b10bd3e512f9b96d17f50ac980d291595bf2748b42a9886a6d2625eed875595eec149eeb9088bfd21af26ff6c42b4a14250abeeab5e1b3abc09067c736d1a214a9d5a0cdd73630d004748cec9e4b0cafa902a80383b7f95b31dfa56bfcab898bc8b5544c170e5df1afeea788e5ff95ea8ab7bd6d5ae4f5f8e736ed2bb2134fefdc6328d2af42e980afbebfaea8b0e0c5cb6f7845f72b0cb896c4b7fdabeef34d3bd78f23bf0528644ccdbd3ab3a19cee181b00447c59a35ef106c09aad9f047766138b5563006a01389230b0fc32e7ef1507faf2d590130927ead56dbaac462fd71dadc6b95272100e6526c4a0338e628eb59c365ca1a9cd4798f874ccdf4acbef0c091cdbc5759f00ec1ad8cc1227a7f5ae26b36a39714616eb47bcdf9ebdc5e979eac7609028f2d1347bbec1b8fc95b376c020012ad3274a15fb6b6f88348ef7fd8c4c72aabd9e0bded3fb19ac47a42b9a53e5875856b23c7459e286937aeb7c14165e7adcaefd8ba084b0b1e9fff833db8ad7082eb7741dbbdeea9982c37cd6251a9ca4982f067bf8deb14a5937c47e04f79f646e1ba4392b2ee995ec3f507dedb49b1931db84be56d12f9e1b910fecef1c654ad05aa248ca1d9c0d5f63b6e563b504121ce1f181435b78c0d1bd8dfd2ade969b8910905caf47f585ceefb290358324ef45f93e35a476e4b42971614300e777e2ab0f2a59000601fb0c843c2ae247a66e64e3d459932360fb3e3c76667ab8eb49bed4f6fcb5cdc0c1b966485884b2982d532c225b471cab4f96034e9061809fa6e2e2cc5193ee0f825a5e7d28a59f062a4653756f7bdde987cfc6934b0562969b426b52149a5f93e1bbe89d9f1361aa381d10938a0debb6c6196fca5491c7caeb54bd19f479285ca34eb4a5516c27d4a5e7c9026a5f5abfeebfc35d4d3b7cc1c87433e64a47b0536748f13de6f74c62389c232f070d53f88917efc27503fcad07d1b123b6795cb5dfa4c472f43406ca240f822b32eb7830b09854b49763818f6daee6ea460225566ae6b4177010bb7d993f2c55eb0811f86be0e5fa1fb2e4ed8117dd7c5d27e2c6abf342b5acb8fdb8a8d72d67bf3f9abf8a9f137526809b43016df641e81eac9ffb14e545aca7ad8f9acefd906050c0bee1dbe2c43dbdc359e7a4aefbda4b8a1dfda1ee4ffdfc82f5f173dec1008d23306e0c08afb75a1b31d7072781a1a08ed85595b9195f45ef482878432a7fd9ab0a7c2f09c65ea3c3a09bfd7946e223f06bee58c2bab197b44f4586aa9f5936f3df30b34feaf553eab105610cfd3c3d5c061d627456373ca78be873c2d143d9af32f1ebc497ac7d120af3f26f6048b6216bbe7db891a118f75a09ae5f478e68981afc67b710480a9c2c1ee1134d11e8538f05de7ce885d1a8aa1bf2222a24a8bbd6177297c8d2a0c5688c933369e78d1ba66840e8950868a618b37fc78fb8c99c75c883218a0227be09bde57f29ab498f52b03c255dfb0e511b9f046015bae9beeed7e55e71806ff6c977adf6762ff9a0773f2aa912ee90c97e23914add95cc7bfbdeb2af240e520076c351f8c24d7e0bd5d6c2ce1de3a80700b573fc1bd95a7950ddeefce053df84d635691db1568619d864f9bb7f4ff2f9738175833e6aeec14cb9d82f0138217f37a80e99bf1f5825bf9a4f5a8fcdd2d3d49fa035008f6ebc4f6531456c8f35b16e4e80c992c9b54d5a47370e2fc05baa2bd3347e7089cb465f13f1ae553bec7e8aa42b77c9282996dd009d0aee562f5a86af90980a3c8b62cebbdd90293e0f6213f53147c538f15ce361e46f378c4a4c38674cae807bfb7c8aac6d3dc5651afcc7cd2d40164320a8f2307ed875a60923a6c4f07c475d4bc64ce9671106451b8468ab57b4726c917a3318436002978d2abc4e34a31a9a68a204b2a36a5295cd4b733e45e7205e6489d6cfa30cce9ecd9d0e5a128dd88fcea19e229e1f0ae24cc833461f2017f5e88696633b566020ae92d80945597dd3425a9bd62e16ef82fdbb4bd26ee816e1ca804fd67812c774e5e04169f95027716ce218b87585b4d1b7ac7d7bad2a0483ca8c0689df5798fcbd2985bcc53434da9b2cd8ceaf7fbba95b0f5b8a1bb07138adce6b2ba571d7a494bfe268b3dc19228ecd2ec01d70ad398f399f8a76dd4f76a5e6a06defed63b8685dc4ba20b04a7d90245b9dfaddb0d6b6a65d6e9b067335f701ad79c967f4f7a71166e1f26d15125897da69c0e46a2da73c72d971ab8695029dde2bfafecb91a75fdadf1e6da653eeb88a471b587bc04b7ae77dfb97a0765447b68d053e02d6f7b8ef32f4e288437fcea128b53e2aacb46d812f7e9f8910ecb56f6277a2132c602698b9d7c2b22d928ebbf9b82a94653703a9f37d4a81d84fb2e5b9ed7da2cc62ce57f8591205c569dcaa1caf3b1a09f423a31af4daf8cee999b2797927ee1b0ebae84d653f34597a3cc2a638b92249319d329f4ca9e0b644137c8a67d8181d8d8cbc79e0196de957e631ff460b81e6cba4479f23e1ae0c6ae4c944a9ecdd3748a65fa59dbdbe587687ebbea9842dd15bbccd55613501bde3e76f50342c4948083290ba6e96c9628f88ee27f62b4564cbca385f9a7b339c2dd33ac699486a98c5bcf1613ec3e17c547394d4c3246594d8c16624d05fd43bc556b70a6e88e259e423f4522954ad8eb0be82a917179d4e1b5bfca723830d427564f57b4b53fb3347470c9255677dd34b72b2e0db00bd26c785e7e00fbd0f90c51596299a2c6f38f077ff0304f48b42d0562c48579c3ecca8d29ee96b6c08987a6d6e5c19add316e15ec0687356e14fc1e4e8c02cee1b60ba28e3afe98870eb51ac0400c1181ee3b79edc4f820b1fec45ffd14badba4eb0a9bf2e11207de9db8633047d8409042a3b05ac09258c4dae6d7cd3e8846d61703ed9abb4fffc470921a07432f36a097c6da29b9b41719c57b45c0fe88644e8806789334747a6658d8a8a1af4cd1cf5b06a54438bef7711804c3d68e934802c59cf35a0e12622a819acba371b2da003f8826a69b53a9e182fbd20ebdd148459ceec0c53198b0acd1e9c2f367a16d2217108d6e555cc4628b98e67ef57e6f5e02838819c57753f84b3e218dfae6f794312ea353d34a1b0297a118e075da301dc4c43518166ef0d3782c733dc9335e46fa8bf21d51f81bc1bdcda54fbc7ea262a1671f4d2e1eb3951d527ef803c20dde6342642c41cb791cca656b42efb9eb2ccff1fedc7b9eb9cbe4ddbc1001717d235e6c1d5b8ceebe172cd80e55e7a48e97064f78310bcf06bd84e17a3164385cfc105940af43912fd88d51ba023fc3c17be6b0ecd7f0c23fd24569751ea25d59db68e57439d19e7a1515815d722da4fdcbe08ba688b3b99b87f3d70a6c42d5e7fc9fc37277a24bb01a540a18790fa69a2831f620186e39ad9c8efb4a68baaf45378d63d32d1a9723586308660c67b2ddde66ff68983886b4fb84b17082605088a5575414d97aceda564ca73fe19bca17ff802fecd2f29e25276df8cdd64f2b5050f07578eeb0a0b35eb1cce03c897edcb707b46923f09ad8d880c6f470632918dd1522c3df2d2ffc3c1542e4c1e4a284c19b2c9216f0c446690372aa6ff6e45bad299507218783532f703eaff3bb328c129e422a0c5bce6ad83fef0c01acd90282fbee1a2d64dea8400c5b54defe76dc3bbc9933f7cf2ebae7bba08ac931864c0b7ae21fa76bb04a0c39a64aa142383aca75872c09a6037ebda68c7f9f6f6f7014b71c81e1e21998d3e74108fc50c30f19551b3de5c0f1cecb4d43e2570a45eafcab4d7994a297332590c4286629d0efdee7177346942769ab7047c3b8e3a95763223cfc00feaf4ebb45e66b2e47e472812f4549fdb57d992779216b65754dcc2d1253d8a46b9abde4069bd46fae7dc0f791c25c5f4c7c37aafccc0ec8ecdd53ce69939ff7083c6975d45da75bff27215b3e2961cec8f91a820f073ead0b87671360508924b57f1ea614399a43787567c624e2ea9126ced3ec205fbc0fc53e274f7a46484849cd67c7574919e0409c553b1931b5a3a909ac00e728cfd2b0acd8d2ced0c93def820c9b10da532f6b15ddf2a0888f2016148e3838d18834f25702f1a34f13363317a0489ac7c79d3a70a5ab0da46697d8200a936362c6c25ee80e367f44ff4b6409891d0d6a85e2b0679c491c25d226a76a09deddab60bd95f0cf2bc4a947bac14c2345eb8ab1af116d75495bb306cf265a8d5956cba7a9b6abebe4cfbf05e9b97bf6f4e90bfa3c58af675bfb927e780993f60e90044df91ffb770f00340a547b8572d00fbe8eb18d71efd1ee6713137d60a8ba3b0a682537f99f8f02528f0b43af16094e3160b9679092615163d631f1758a753ed8db6c8a2a25c99f5dc82d7f70ffc8ea653bc413b1f7648aa6db6175cb749af984012edb7ce2546f09dba8ad70355ab3194c9cd0493935d8ea18f8e862dcea631cbee2b16631b1421a1caa0704d484600620b7cfdee7497ce6ffc5efe264d51252317143e10aa13ec700dcc2059f048ce9417a79b94b8b0f4cb6cc4e43541f539b6e864b3795e266a4a732d1214c93cfe85cd1dbb2afbf20b3de1475910e88e24314fab2e195f980501cecea4c7bb7688a545a311579c4fd5de854eae382b0e93c7db4990544ea691f6aea7c6d883eff452cd9bfa451035576486d8259798f7155ed5fbaf5c4be3cc7a5fa08e725188970ffdc9d15a2b349aebb0b768708af7a5685fc4eafa7529113f467616d4985c6f9008c8bddce70f1113d3fe6d02bfa2762471159ba613e9b145bd422b87ab6de3a18673e047c99c82c3aeef58048e4582bb44bbfeebd16ebf4781a38a626af92aba16c79ed74481160274e330ed22717a25f67a8fd2789ffd195f995a9b50afbf1b9ecd8cdd2e18f8ef259e07b3f748364c79d5e8d015bd0af5e8689bc7ce3f947346325655f32c030c926dd630a5e274be87cff42db2f000e9fa269349e2c081f71b938350b6fca5c973ba2def75ebfb530337fe9000851b3a36c8863497cc2a46f91e9dfb3324b9ddc9d0005f67310b8ff829c086561deca3e097ecb06d72360156ff1ee8773f7c5763012cbc5d8172450737d3742cff257351bb1ebce0ef27d36b4a475ee3a85ee5c652dcf051e59c203979593916f5cc262c49dbe2ceac66ca6fb4afee82d5f8aeaca7d2f14b7d6c2f3286938dfab0e78d02622ee2e5d71b33bc2fdc4928641618d86e1aea4c155b5a44c5fe0dd6cb5567fcc6a65fd60c1bb5a33c790de2c460a310342ca98b7fb6a9618ab2b60abad6691d6be28ec0017d65c10718993500b3c7d1dc2d8d3c096b4817962657b45b16b2dae3f5be99f7cfefa1202b87c0f90266a2efdc3f3438b420b4a1fef6c202b3fadf740aaf84d4234c5744fae21df79474a729ff0b6ccfea8809eddb3a48fa763a10d3fd84b47580e4c9c97d79fa64d2b441b7a15ce34280f6ae6256a455da9d0d9e0ecdb03ca3234c5744fae21df79474a729ff0b6ccfea8809eddb3a48fa763a10d3fd84b47508dbb47767d10125d96ecac4fa7cefdf3950c203a8e9f9d9a7ac13f8c12ef7513f19322d6761001d5e84f37860a159044aa3bfa1c719a5baa8e3987c0f9e8e7c60038446d717c8c5f7629fce9f891e4622be3d74a6b311f5a4de65099df6b03b323432602657bd60282ffc12618a71046befa2adefdb6ea699b87f4f64b91fd39db7d1016e4a879f01753921db3b482e059d3189259081100501a5ef3b953f1cfd1a6dce6b403473a78a7300204410f5e8b5dfb14a72e7f746ed5ef5e66cc21ba76216c25590e39396e5f4c675ec4e8325cf647e52c2158654d0f1978093350a0c63a48bd1fc47894ec98aeb9df0168538fb6370fb25eb4db0bb98ff08ea258096811a1285d9b0730a3eb41a07cf31e844bffafb1f062e41f54ce1241b68db7b8955b554631561f8cc881b05384e7736d15646c72e3882d2abc59610e399f0fac2bd80db50dde3999bf16a7626281e0415e7a371f4541f67f6aaccc01a27913df504d7bca1c0b85f319b0e676010ceb28d685491a150b9f0ad79fe2148f4f5056cdc4cd3b70afaf2522e9de2a51ccd7527ef0ff87489e077f5661033f911f94829941c40530bf7154dfbb6f29ee7975b769b832e3538c7f450ac6be701aaece56944dc8bc05eba55d2e5b307a4f31b0dcc03bf44ea8c64d49be915a8f9c008ace4a85de82484c070c17a493019b3bf0172d1ac5eec0ef9d89670057ffcde92249426fb69a6508950360c2cd0c3faf155456555b7fdf69e29cd05c6d34a1dee399c86c0fccf9b95e6298f2f5489007921922b6a8778e72915e3dfe9b809f4d5e68f06d672ca426d2e92eba224500e1a8abcf56f7108b066bdf68c6af9e7f35d6b7d3c664613ce380150765588ce6bb7db7c68e361d30a78928f15d8462aea7d8bc1886b62d671e25dfc3fcf22e15c50dc1dada07586c8d4363e557ae535e7925a012bd5d633aaa8ccbb2a57c16ca835d1d68583c313053b9847fa008f4597592aa4d88520e6824c516657616167fc6f5816bff4769f782d1778ebf94ec0d3d767eefed73f242e9e9d4409ebfc67285697ac45ef88aeacde7e0c5f080a1b8b8db0af3b2395c2f53a8803adc5b19a77eb1cd16213e19e59067fd4d7d5042f4194660d7f46af690247d9b28f1e75d46a986ccf4d40e45871f2554e5a08c4d839d73244b2ba03022ec171f38c3e007fbed22336a466483ede55f97af81ec94801393e6f9008c8bddce70f1113d3fe6d02bfa2762471159ba613e9b145bd422b87ab6d73226d14128cd3e204038cf6d6c09bd962af9b8386c051186bf29b54ea6be8f5e3a18673e047c99c82c3aeef58048e4582bb44bbfeebd16ebf4781a38a626af94faa892e641efc681faa50118bde3e49612a20ab7c335a526d5be59128ef468af8bb15a749cca7626bf56a11e93b525c108f086f9d6441fce371bcd77c50077197aa67627b39e8e90443a0a705a000ea7770b324c86161518a5860845ac7329a49160d83682fc16fa733b3086da61ab5784967e2055b01d7634a54ccaf0e74ef19e67d801fa368c0ca8f9e1bdc594145a797e55b280eb1edf180552f785b8ac2a92fad2e7f91dc27bb4162e57ab92ebebfe751134d5b3e07b1204169280db4714365510f11eb6a6e49b7e0d050d1e9e11899aa040e188b2c093ac73b228942877a99b26c7275854a5b7c5f20f368ce123d89049f686fd1a1e80c11c41d4d9baabfe93372c8512ff8e1059b5cc48d4b4be666c3518fccfb61e30bd8aa7dd6c76797aa67627b39e8e90443a0a705a000ea7770b324c86161518a5860845ac7329a5220890c1de49dbb8c2c11657f530446797a4f5fb09802bb6e813445c413cd24b33e7e5f18511192a5bc3f8e1628fc7ef4f0ad56d974f41e538639105cf8e497d340d0ce966a4e58204e0da9092c36914d48bcd567e5781c8f0a2765abf40cf8c587c32847a4de8e2ec51aabd711a831e7b213ab1b595eac21a52c65fa5c2b9fb122fd2023da360b433121980dd565fe3bd001a7e7265caefb7ade03a4c143e926a8d705ac97e3412e3f82ec11905a4c1220b824d586cb12d93b493f021753045b96ee52db48768f1d842962d858900f45970c3f12a89e68f2bb5061d7713ed393131d8f45ea4cfd7df3341c0f3824d2a343d4082692d421c79798e46f344d72a87de278cf95c3f3e2409254bf443cd68a441777a689efe8b8460e3901062aee42e75cee0f30915bda2e4f2c64fcaa6c08434c79b054c1cedefe54a99839f3ebc41b53ee379f516cb78e9201d5c95b1e05efd065afda5199e79c8e9cd97b276d59fdf648ec23355f7ab9468a66b67e62db35d297b88c7c94e0c6b85b57a0b9c2034e428b74089cfa2fba55fdf0e9d77163ae8dee020eef6ba95876a237b73276440f6921ce71460909470ee3526a2bdeea8d9d5a91370e1cf729fdcfc8f645fe76a73b02046234b51fea84f8edf68ead14509316c1f04caef2030d94470fb59768bbc92bcc181a9862476159c7e590cbd9ae2124e41f8736128d6ea119e80db14910ccf7c39b3a6cc54f6b2193d0ebf61f00c535fe1728bd805ecec0761f0bacf83cbd80731d12c6b3fcaa361cf421a019915663371a79effbe5271dbb57472c495035332d74fc5a610d76e2fc9a39c78c98da8b7524a62c202753c5d5f97d358560273273ae10c3cf54cf1c21e2db06d853ba103242247d2dce230d2bf42c05d73dd4e62bb5dcd72c9487a4d3e9f49fc8b939b51d9441558a31fe6f663f9ad68423038cdb23b7cdfa1a1fd753a5c3ee498157b0ae9f0098016b051232dfab0b09893bb5644ce45494317e432bbda312a23933f70cc49a5aaf49252683716139b9155263c87986c9fc83e113eac150a9f4223ef1280295434ef0c901b4ad9f37342e087b8c9802c7775a3453c5516aa52bdc4e7c73d5282a4df4586769bd9425ec00322b473766003cbe82f84abe5598c9efbb3f4f96f37224440ceea9fb2ef57b46845ab2c3cf5aa088eac1b4d6413186e43cb71dbca94009e9b74589cbddf14d4bd3768d57e51a603717b9bfc537f903b9445000d8045edc5d97ba57aeac045436ca53b0a6fb13f9ca22dd37c27d1b6ca1806a104e4870281f5b2f7a2e1c74f98282409e783772e82848fa8882a0b1509cbd1b252a41867bd3b0df39f5e23f2031d18367058e03349ffdbf14351f1bbb38a8f7542446108f899d206605216dbe5bc3d1ed4d2d90b33ba7a27edaf72b5a374102b9a044c5b180df588dd9631e4dbfc8ee6baf2bcca91e86d3ecf18281ac3bf2f207059334b70c48a62bd9c343d4ff04689b88262df1c9318ffd0a6e1008a06672209a8066575cead197c001e7b3ded2d04023a112094e2b5e0668b3d7cfbc63990a62057426219f89bf8ab941ab846acb64d75376f0dbf8f46af09f25a265d18034449ec780828a699e5b8fb751e60466ba6888af00f899d41af45d644bef0de268f184ec9bb36d8daff6007285ae02e7fedf54f7b251f07da0fe36126a9775dc4d41e662bd0dd6e80f8291ba8ac466d48cd2d6cc0e38f45350ea2c24c7f745f83b6e303772e1253ac56b7d0037c32e3f71f4bca3e240f8356434955653898f68a0012e287849bf4f2a474a660d86ce0cd9995bea8eb56e7af30328c7e5960dda7a44a2edbf6f4d06c5c88abc75bdd223150d6cdd42818309dab2cde6003c26370791602c7742b9ece1c91bbc77d728e57de0cd42ae1652f78aeb6d734611626ad82c067c6c30f990eade8c6f183174487fd65e8e6f5437ff639de79d37aabff9a5486c3d5008825d25959d866c828c84ec66b74984dfe9d2f41b5f22d68fdf79c9397cb131bfd9bb121ab84d505bf94052ba20b65942e0bfc59b772160ab4cfa49b0464e90b8640a19d68d0b3d23e29a050d27da9600c63913e33bdcb1e8a5fba0ff6ee55569cc01a646fe97df7c34948bcd69bddb4be7f728d25ec2aaeb95bf4e6a7a9b8db1a5559dad54594023ce4bbbdde8ee7f5991a5003957f93f18923c7661a7f2efa9c6f25d8e4c483cf3957e79a3dc3a680cc37d9b32ae16781610566c52939ed10f109eb3a42e42c3b570894bc7ea879518ad9a402c87db52967a104b5b9687324182efe3b9b771ab8689e8fb7eb5f2eff217507a839fc34e9275e74b7caffb1219dc1d158cefe18676b624d62110e6801f203920c1eedf2e126940d432fcca868c5790a4c8a4a67bbe1504e6004df940aff345da5eebd7ce1a0a4cc121cd95f38302aa6d1ffe0624c0c22d22dd48ab4bf3aa14613ee883c195933cc6aabde46746e0ba8c0a5cbeb58804ec9f68713a76e8b899b28fc15fdefef8b1e83fbf06e4b3585455165a44d85503c3a9568c46cb41ebf3449c29821f7606124000411a92277ac678ce12e5e9be6b089df355f79ce92e4f3028f24f0f46ee5ce9483354306f1492079ce79c4b30c926242ac30799f5859d73f6cea3acb7a61b5128e35751da70dd2290b19342fbe928097276e4e0201ea324e69d77755272e5ce1e0e4d22e17a9b810d85e7c458eb228c156557e03b46bfb73cf87e39ae44f307efccb3e13d7dec9b223bd195371d0d440051f10b8178686336286d986394a5cdcecad2c3147ad18b1c0fc458e20068237fbe2fab3c7104caee612c1dbe56a2e8737f6fc7aae84aec746b4756dab191fc0f08d05dc1acabeeb84b6e08237c588b47ac25d28b2a084b32b544cacad47948d66d7499f18c2e282db37106ba279b9b312977266beae52b0b2bd3460820e5c255360521de2608cad1c2f5f119a7f1d7dec813a669597248053174f616dc77636adaa4180518641b815709d9df1af026c33d920c278af533baf14008ffa36338ae40ab05313cb8d064996e28571279b99f97c21a9ee54b2fcc409be39aae42dafa2a12dd09391420640c292a15fd0e73b9c796d78fed98df3cb8590e253372c26b9206c8035472703934617a543cedda3e26fa083809b83247bdf1cfcecd9c7260140c9ae35916215f4dcf3fea4ac35ae77d298020d35e5b105a8c1b37b68fd4f2f8d8d745071befedab638b48c26e8dda98bab401c8bd58049a2f4a51b8c2c8295e10eb57ef454155a18cc18287f5acf355ebe8b97e4a58e29c200aa4180d82af9075ed212aac23638bdb86bf96735bc616117f6a4178a4a9a303137757775be82af6304189445600e0887935310ca0cf38842de6a3f84bd6cbcc873651bbeab125c698009c1f627bb618fa4ff0f2a3e1f637c851543964e6e96c0833ca50089cf05aa7debf161f0602d4dd368846a19ecedecf69f50a92b976690003d9eb417f53e7f878982f00aa86ece81741877c4c96c1dc51f8124c518542b8bf82842fdc541f5aef617fe9b65b545eab4bf93b25443464407333ca505cef9137eaf65b6daa9eb95b8ed3a4e32154b0b067cbe5deae15790716bfbd5e29574b50b0a62793ab0f32c6901a7df9dc9a7b65217c8815783b62e5559aa0d87373e103b146e8f9dd2b06d8bc7e832640fa9e87c9d46d318adc583bb8dce984534a567c27dc8bc20a5bf4c14e9c13de5b41b84fc885d83daf5eb6aabc4ab926ab32c23d75394f31f27ffddb6b1d63ee77cf48129f4b3e86afa2c42a24e51b9d414be5845a1ef1c43f814daca3e57657062617c7dfb6e3a9c3541ab5aa56459fdb710a2b9d0dfc11e69b0121a71383adcf9bc8811518a819a621381b9b230d08e8ed421b594e5d56fea0d73636cbb97a4006e33d9dec4ace9066fe1e6e1e7f002757dba301aecb6562ec7a92a5d2b84f2adbf14c4aca88c0cdfafe8d16b871274e1f4ab37d15d824ab5f99e1286ee91ae1a97e6a27fcd2b0fe049d3e18836b328283bc82b73c647d078f84197123ea2e2d43dc25e69eb1d03e46726baf5f0c046f137aea0ee0800df1a32737274edd2c62f9b6c94437ddaff25a78e05ae4fe8b7696b785790127bc1202d31748480d670df1c44a30e50fe67b01f8e679e58fcfa6efae40c3ed832f3c7f2d318f3b787ceb2c01c4c4139703a2d22f13cd5cc4c975a062f7f5239ca2089ad8e35eea4ee0cfe4d13a4777316a00ef68b068f82d47e6a9fd372932168c0b05469d7de7cbcd1f0facebb20ee67d1748564fcaafe62b37dc5b586e1cd1dea050e437707bc88ac5704f32f550805c816efed6288c4d0bbe43115962c0d95e6e0bd93f50c89ff5eb83684ca04906266a39da617d6f3f44cf9c137757775be82af6304189445600e0887935310ca0cf38842de6a3f84bd6cbcc3683f37edb778605061f34c9817025f6004a33591f0bf6af6b653143b859149a09cceb9540478e93438a90aca90e82f525d7fa4af3cdaf18ed8ee4851e59f33e3a529291d965a7a95e6b5598e2f203c1da91913f493c0e329e2bb2d507602a3e5c492d151ddd20c97759e2ddb4d6cb9573f450e4bd58ef2080add6c5c4457a045c0aae7222cfaaea7309d2085a77f7ddbd9284c9045de75d5e2932b465ee7347fdbe8c3bd608ed61e6a56d4841934aa77121af7a4cf6e17a1b1ef391e7f21128e9bf22d81385e1b87e962d85c0bb92a37e47c9f5e8b34f3ce384938712de4a052d0039a26d01a2e57995f89cb3aebe728aad8d34c3d86d39f4281e440f4b2b57b0781402d405c53bef0d3d21679928df582e97769a9a44228960cfb1c3728d2e9922bcf8f6761681210b0adf4fffc76f3725955afa436ec2ee0c3262fbaa4a11806889ebb7c1abcf3e0010230d7221fe3f58cc2554172623336fbe66650aa84fffc8278e35d1cbcfc62fc8d63981edad3e9eb636f3dc7df50ab89e43a974a1cc504fb0f2f4193a24e8b2b7848b6da09412200cd748ad8e29f1380cdbfd5277abafdb1dbbb53e12ab4164af5a2568ba61e60af5fbfc631cb453688b679fa112b5819c7a261e4ff885441e1f399ce572c067fbc5bd3448f1f5c6aac77b750d1ba26a3dfa4a3f45c3454de0a306c6f5ff430dd6d822d5c9beeafc070f72d05940d43285deb5f4d3e577b0c6a18d9b7759c11621b5a19bcaccdb2a816754d2672492cc95dc742ed0f58915eb763788cd409cd8de6bec8808d3972453344ca2956ae05dc6f87c2c0e7640e731e8cdeb0aa006cb121362a02767124349ba96bfc34760f3498977eb6b0b8465b8607b535f8024b42201f7f684577b963cfd71ef3141574a34da710c0ba15cc55599cb71948a32e4a6fc085ce543bac8909a998eddf8cd596643052a5a0c110f104ec02144a54a6d3843b28d69c306e2be1eae29ac4c8f9e094f22ad52c72d025c93183ac6f4be6a5822caeb6a5f6e00373f3778f484407aa97ffc7a4e807a837bec5a4822a9d00971d3fde44011670f4fbce75092b1495b53a4fab59e3e54c65aebe578501ada8881ca73896c5d00b56c07e215e13f5513a5bb753257a1ef61ff2519eaa9590ff173979657a11ce273f420ccf769c8fa6ebdb1f4bfb590c18f4f81cefb997a2fbac777234180b95f528c073e886c3914f940d8bdea55419fc202716b4dcda591483e2fabfa907b2a862958bbd5ef4b932f4cd9ced104652eff52881d3f73768eecef88ed333676390946715cac5b0cd3a728b8d35416a29cab92c3f529bde6b2fb727ceb334a18eacfd127dc718cfab1f5a71f2e367c2760cc71b33305033aa51ee8687acc7052bcc35cdce6bae12e2693e5734bfc443872ea76cdea71fc4860c381bbf03018de348e57b46e849205363dce56dbfe0917600d1ba30614b3da8bdd2acf24d20b74256b499d8822c838c343350807c5cdaba7cd754dc4a804d2f5f4d736ce35aab8c60bd3d641c362660512aafc946f8821ea1c2ac8bcf8461cfb4181ba12e901d77c525e9cd67c852b0e253d17114f6b448bc1ae2f5a1cfb78a598983d83229f04de663989fd77df29ec4e2da93cbc4502b6e424bed8ec9204e44ce7204f49637e04b722522b9dc2aef2ca790755dadad58c6c467a25b351b57bc19277603b2860d822bc9837becfe01a39a5cbae5bbba9828592e15f864e3eeda9ff4169833e83c97607ea1127fa8797e70287c0725ead84d812da5c0e50cf5fa1854eecdf599821fd926909597a13b3724048002b613f43840d141585f28fd44cce50d8812c638b92b341832ea6bcd4d91d215fee6586513aa733fdce11eca016bdf615bf99cd4655562250e3f8e357fcda23e1e85877a8d2850f94b6c92349fc1ba686bf6af6c2e359d27f1bf2e387f64200a0356a80cd15130802a49d12084f1de75e41ba45f29f588d210a93b38f25a2ce03efe910f2201079209edf5e423752d33b9184519d5a4327e6389fa3bd2b84a6c1248123b09c88b2ba72f7bb0a9bf0ad0c6c0128b8b0551f7d238873cdc03655f44a318aa44fa162a4c575b28906663bbe283b7fb154b0fcfd68add9f936076e64574dadc97fce989e765d124f89aad60b3b79db51556afe97e4625254fe50dc3f83d2a147150126bbe8856f82aaf49c9bfbc0ebea3dca1751741bd79de8619a78918bd58cdb9a78a636ac8395499027abdc89ea094c0f94aa82ade975395aa70d17f6bb9a0e90b1fe2b740cd9d34916c07640e62c133e5c1f6cdf2c30fcee7fe5b9faeb1f486fe668087ac3329401674f726e57ad62b433c3e9eb5d1bdc2081b125040154e50dc24a50436559b157a5aecc4e0a8e71f3d4988ee426d9a0cc8308e80174698846d0643fe6b076caf46801b97ba13369bfc6ea72767fe9fc0c27d519aece7e83df96be036719d8e64a54f5a89dbbb120f773e90b56794892177c99cd21723a1c7abe2406abbaaa1d015003381b112ec7e52f3896d795d25584fcbcaf69b0441123c6cb13020abbd90220cfab25f9fb4077d1e18640eb4152ba3fefdc25769dc6b5fb78d22bef21522e6c1904a48ab93bca0691b6da7995e99eb0bd69479ee3b84b477b1a90be0fc2997c78a9c6b526979aa9e561d540c94b726d09492c14622e7692c947a643e3a409f6f44ac72578ea47b7881e8e4eceddd324ec05ee82dad43952cd9005a279a853d6e80a5dd2c987bf762945e62261b81082343ce6054a5b682a929c72e3b54ccdbfd0ccd169c2803bd92b6ea99cb0c47bed0069f3da8d18d2cdc41f5eb3fac44cd90afa3b66cf27b0a62f466747ae330cd5a12d4ed1799362f57a74868f41c0ef5d60c69b68b389063860705f153e031c651cb662f495537af64e98feacc3823d2c9dde53f00e257ff9b3cb914737bd3b24bc35a1f3190b6c399756d004b946c38b44d07e2fe507bae91b79f03f4c51831424cba68ef3d6273fa7150342d5923d17d7e55135b0aeda4529f850870db7a7bb251168cddfd34955c9faff6ab08b8c60420af04854bb9d17dca9e1c3374285bb78e553f16e98ed198b3539dc6fbe6c2eeca89fbf55f55000d8cf2b97daf4c889618e09f465d786448249d82f05253c4c958b07c35039eb43278e6b0c8eaf20c644337e3d4f53744f0c1e123a81496e6f9c34c870521616018e5a5a1d007540c3242029bcc300d03a89bf98ea6a0866730184de252fa8962d09ca856329e5dd799a983dd377996de96755155a8f9ae7f94c0dd76cd4d97c4360700df35009e26872af2c2bbc815df2d9cb251d91e48fb99d43db67e9bfa6ec7c08b75712ddcb2a64dc95cd59e961ec1fe1a45c11e0a2710188786cd0d3d282b1bbee9532813d923beb6223f4611389012279bd324e966892115980bb512a4108e29427fccd4e58ead5957a664b4b234d8934934a749ade165479b84984ad32df79c3ff6c6f4a222d05eef28b73fa846c25f0e8e8ab6dd51cac2014f3ddaf3b5c6d44b05a66a286d28a7956a4f44534b39cf85b1191be17bf20aa184f08acb9669e870b3432bb58c484d0da9d3ece34b49fb632f5f1eb47d6397ccf6d2c988d4882b66093da8385eea8aebd280244b91e29d1f2727a4f62b13345c5854f481feac191c3dfc5404e4e1b190a0eb66f67c72a25355178c78000544e17578a4c97c859d097086dd9b3a13afb8cf4954eb3b5a5b8675d9b7770da743bde69787296e848dd8c858fffc62a76daa6c93e91c4a7b26b7294a92c79974ce262de3ba658f82a0de83091382c2ff8a2bb5ca8771947a3af673a2e0b3a3d70f04432b8c8297f7b6771d9d55dddc50784dc2f7b83418360d59e92baf4d4eec0038aeade42d571c55d3054b902c405ed30bf80ae25f9f0b83f60649354d00a762128c42ba24b3bf220f904df96bb476aac488a56c021c68bd03bb1d3b014a4dbaac527528d4152ba5f27bf91430ff5f8b17346ab9be2395e0797576725fe51f5cd137194cc28aa4d44b7c6ee14e9cac98cb3a4071688b9390599951960387dc5ef79586cb74a974ac43a0f85cc1dbee698701ef357ab315b0e0a8cdb98791f1dcd40bee39b8c8ebf1e8885b5a07f56b6a85257f5129427e7efa2c5706a235e1b969692300552b3d766d163b7ffcf0a3c52aeb60b1d80fcd662067fb419b12c3dfebcc08c08a75db546e6a2c53a8c566b185d7c2093825ae4faac0f04445476ab77bf41aafcb7076f6913004cb6824629e44d88535168469771da3dc6ab81fadcb1f3ed89e8d4967e2d174fd72019088a1a2844c38cb886d5a1664c551e1298fcf654c27ca1d1b4bcc954a849ed51051c083aaf5f6c280bd52f4149211c67b3c0d7fdd2dd00a585c36cc1f1212aea0e5aba6ecc4f919952d3c3085cbe9d2278992cfe2a2138322a085b626d944b7bf00ae71d23c121a19050029e665e3473154df44bd3bf03fea06f676d868324f62c18230e4d3a2b69b6d922f2e6fad7c43d98e6f59ad8a5dcbdfa32a06638dfa21f3ece40fff4f38ec34e04e019858153697b335512e54fc566ef794a2a315d7df6dc6102e1c11111970edf541900ba652896163a4044c255055961eecfa5cf98058ea18b1e8ceee426c7423f1ecf63ef19a9ec503f4e7347f373c2a7006e7f52c56696404a8add4169a338374d91f88027c1017d3177ed9b5ef277dbfa3ee1f08b8b31ae753d7a3465a6ce1abc944dc3fb3a9a44da24186c71b0cc9c3cc78753c6ba5975cda5d231b0189c566aa19d42eb7492055c5159c04c014c52bb69f17574a834581190a8b5377a4fa7db82cb575cb8d814c44aa1a6ee5b1b026873722ec70f30ab0480d901142494c5a01a9c8f8df858aeb340e1ab95cdbfeeed42b2d5e9844e5c8936ac534bdde2d552ecd5dea86dd4a99347e4d0b60fceb62cba5cd0a607b7111f81ce73c0a3c080fb9347a486d37a277e4ec52147746475405b542e67536292dc3c250cd9efb5f08bbd4a9736799524819f94ca418db16a6059d451e1f92d89b9dbb97f3750bfef0bc13e74725db5f68b60d24a38b95f5226efcc71443f3f27eaf12bd4abfed18e6587da6dcde4651df6f19d391fff945bbadbad32b7601c710f0e48cfaf434543fa3d1e9f2402653f7212d90d230903faa02c35578369987bdfdceafbc66c21c3df07373e262b73176df1af7dfd6b872c6111dc7067b2fea8edb84bd61c400f86afd8b4decb46898eed8fd2cc3f790c731902b8c681a07416dead95990a5182572683574b81c5ce445b4915d54f54443f09d2895ff83746b694d17431a2ab8930baefadef7b5b95edbc26ad64e7e5333e785eb502c0264f2d795fdb8d4d0e53dab4d1448b7eff2e12899ed9d030a9b7cb4d0c535e51ed5187f2ab28b5138f989644e2bfdf9c01806eb98032c91b338ec1b4890db3a8ba862355596271444ef7ef70363fe351caa80ca7c6902af3a55b207c2eaa3aeb773ae5e8c0a88fb6f23ae12596d74edab5437b9a398562f757b87c37090bc56153f5f4faca84f995d7307a746b75dd612eacb1ddfdc3c1f3b7e6eff8babde2d6f9249f8cae39c50f06aa51e36f3ccab151fea61ffe7f48cdd6c9ed369fd73d6ea940f69c68578c7a5077274640349881cc806d67b71e2fd12ac3552b1db4945803897a145cdf6cc5c48d0e11e9e25fe06467562ccac39d329ee678a1771d2d4b024d6d295212515697657bab0c08ca58ea91db035dbfd98bdef57fbfee21645c2abed8107240668ee72fb3f657fe414f2bc9fd7c0069f1b9b8d8963679aed2ab0643114a2d5235f68c030e0153e10efb51765a736ce32156f3e9837e8f94bad7b6b3ca31ce9963abe62990dc4766b4cb0c56ab029d9f57855fdc8355e3a2da8c6f53094ed4e5b0d9a63e1f83102f8188ac853aa771e428df4367d0b77428beb1d137b086316a9ab34580b6103583257273fddb7d18d77c433e17ae382e94f1c9df51fe7bf079c50684d39973d7376844040715d76313f60b664e6fcd99f49bfc075af1ab1baadfaf907f693bd45fa583cc7fd33fec62ab75c52c64966c069affffd928a4d54f12b5b5cb815ef568cfe4ecfa79f034f42e0c5d042ea33100a68394f723b2fb8a49de1d3e06c7874976981dcdd1bd00922af73204aec3ecf5c3a7537abf403b4d6b242abb6de2198cd9a8f1ee77fbca15ef477e36bc2856324828b7c9f22f3a9d9613ed104f6228432f643409e93100a594e51f74289ab03ffd67286b129e7de669a3c4c5934d5607f89f66c7b7c1e1cfb18079822369ef5c9b38fa811e5a603a18de88c52a780dca9b75be8579dd4eca5af86f080741234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d331a97ddf78bcf38fbbb6846b7dab97ccfca0f58e19faa75012fc9f569a98026f6d10528a25bb9ec3ab4b676d551221817444a6278a14c61c062436ccf821c9af52b004384c16133cfb7767ab1ccf7f452ba9a14ad34c9cf4dd371fbfae77c87d6b7ecceafb1daba4ce960d16edd6d086876d470312419903c5f7b21e3c67b3427f429f95c52aad8e89d82f2855c26547e0097eadb95dc69d203d50445bec42db1513d4e38921679701a52ec9a8af3c6297b8f3029494076f30939066d59a0b0c603e0addff44994a2f5fddc2272a6c400da8cfa772bcf47c5d7cac43935d8d0ba868ef8ec3f4c8c10a3579ec8959cbb8065695868701c8a5072ce45f639c0f7cf98ee50810ed58f686b18ffa619180062fea5c41e184cd828c2b3ad945d0b9b761c0b984a547002012dbd4e6e213a222276cfb6ae1e37ec3a0d412348cdaf8d0ac0b99b2307ae027378e08a41cb4adde1f01f4467cd66da4af201e805056c47b6337ec9ff8b1762b223eaaefdf0481876835eaaf7f8905f1e59c7929036fa4c5671ededc28cbedfe67cfb9d18c0fea81b9bfd3455776974cca426d22258c94b0366838a6e8216c0c63f181cb83cf6c9f6244197379700924272a4cfc85a92014a16cab41a8f641d77f5c3cb94e7ab34b15c97db8f816c124bca9ebad53340c0101a9901627feea6b9da6a87fa9ef78506e732e144a045a59bd35fff7c667affbc0feaede5ac0b9dc051ba5471cf7a1b6e300971738cd3289531a2e837ccf51ee81d37559bd60ab54951e49d3f85b3905bcd5864c901632c9c8fc4f0f8df806d78d83120aa741985c6a3706ebad71807786e7f8d06064cddf5b4542b0a35cde0e2bee2ce7dab85c173c81d32fb17fd174ecc63f6ec93a70730fa7feee31565e6b25f3ea45f35401280f490f1bbd425e4989f01993bd5830bdcfd3947a868f1c92c2dba61de94f109441bddd954c3e966d5f6ee95e165ba2b6fa952605b96bcb3d4ed8e000b8a1e2289b7e9ab11f530df6f283d5501d2e4b29423872d3a6bddb611197fc82ec98b75c9bec41d5d1a33b06c04cf70780a0334fa7730b48bba1531e23f5ebda73241f9237a9f5082c09272698239c5d351d12ee39f1b6f9f5ea24bdfd261f08ac237608b4bca0687eb31d9f8120533a61439413e93ae47d48a72ae49e285608c964bbaf53a6ea327e345ece1f06a1bd78b082fc198b3aaf0d22249cb9ab5501a3fa3f5c6b9ef816273919c90b49668ee64d2381ceb55736f31b8dee26c571feb1f9ab56442dd0e12d2e6258907008c94d3f5fb458ddc12b5f033667f79fa0c7285a8635a84ad4e8c648faf5c6974c578e7ec6e9165dc021fdd67d71a86ffe054e910f7e7ff63ebf2188d916368299d73e373a3ba71f7d469276d4ad8bc5a7dac22b3306aa2a94ea501fcd81084ca86633d347467f37129221f2f11650d010b6d726e999aa9bddd11d6a2fdd9acc6da9f1ca1c9aee15e4c66800f5a2df898924634028149cea431507cbdf05a3a443e88054083ae90556e43fbb5057044ab7403771eb877b565cf2352f149a073f9ae687790afd3917bc7416ac3a027313d6222971dfe1082d56b79d65ebc8847ea0dcb0f37d69d2e879703867fde68c5ee8e4834199ef064564b1fa07dfee2939fdf763036457bc153ba901a78c20d3e8ee22b2aafa4c8a20a699f466987f73c56f592aaf32f516bb237093befe11ccb2c6c8c805654c113413ae3d50b8c81b9f88f6f22d1f83fc9bce701dc01d62154c2edbbbfb5af1fc37622e53a3e44d1f4d739640bc6c121eecd345ae508f64343ea05bee211c573c5c0cd310ef8e13c94f814609a445b94d8bad4c300fa9707c3d91cef3ac59c14cf37efbcbd80bba17e839bc3602ba9be8fc0eb73f4e13cffc4dadeb581c8e1e103de44aed62ec0280ca1caa1c50e88d7b9b27134f51de6d741fe9ca6cf49f7b0c51c54b74def3f48654a5eaaa30b7a4e0bfca299a4d744a7223685baeae6c44f7ab52ad1bff68396fd5914807a318e4b098a40ead105751fc842ff7a432f0d137445f4d1319ed037ecb2a50de55c628afccba059e5f1a40b2107eba65b5642cc691ca388ae816356920f95d5647c42b2a6c0add6fb4e34c34c058115aecf83ea3b2275b1d76bc47a8126e819a8897d967e098e60f210d1c6567a1df32e8eb11489e890ae7aa1a16c22d92614f1c07f43e9ee21e0a37f12cb9bb505668149910f32ecafa4474220d12da983d34786dfa8244cd92c57f2a2a54b8f19c993a92fce2fee8490fd4aa8b9724a159643b64f94bdc177701e2387167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a1f179a81711f1b2f673f55d6476d2f420a3b0807a56571444683232728c10617ccd64cd30c7fa5e1277bb2668b7262fd589599ed482705a2efc31baaea537bb319f73368535b461d74bb2e38e3f8e05a4e9716b4499e3a06561b511536c86b89004eefbecc9b77b30be0e25741ee43861b0b3793945f5e9cfb0925848ece906fe4c5a25c0875060eeeb323d4eb3e948bb9823b75f6ae88c109c3af6c7ee353e3e3b0f6865af15ac3559b689b5c626ba8ee0f2558c7e0e9819cb02afe3d2db17c4810d705b63cc1b475513ecfe38d62534dddf97e4637b031b336ffcbb12aff02338f5ca6c5fa690d17168b1e2679cf9f3324d01e211db3546c46c5acea89645b723f67f15f48667da908fab43e500ac47151bee754c0c84210a3e9bf170fde7968bc57333acee371aaa88d04138dbadef13e0c2f74dcbc26ec43f69ed7bf2c2dee67a5261ff410ac1df281c9cc97f31af5ad2f8acfb16a4ccb74321f9e6f63a9702303e76f6614f9b1bb2d9a967abe1709452b2c48dedbdb1734eb981cacd854c9abfbf175d4b463d6012088b4231804112051366d7835c5a4bc319f71e18c2d486e1ea1d2278e295f6578087d6be72e0791215d62ae1de9b56764219758c56ecd63bc02edd5f3546b6a9b3a65dfa3c244bd8599ba9451004a106048615d5d06d3d62f159cd9f881cca8154f0881ca0e6f5df75031a1fc95b2d6f959f753ca79f234c3a0b9b93b0021306f9a854d3dd6dcee3dd44b869f45c1f86e7c089400c014e62aa15abee0b5f710accd1c5f71ce77fe00295856d96c8d94a0f0dbd0e6c58265b88aeb29eb5449029ae52dc56c4b9e5df7bf0d3de2aa7a7f22fdf873da5a90c410d1009037d2a65bbd4d77fd2e925c7d789d7e76f2bec498b48c231478c553d6c9df94f7f338e05fce66456277bb928ab1cab8804dde43f217ca91d717452539e157a7b4e4146fd50e8465b1de0dd7d6abf427823dea55bb47f4887b5c3afdc97232b759fc5631180951658f952819235472aa5ebd86563f10f9cd56afdbf50793ddc3ca7b028688894fe5b8fb1f636f36b4b2904c241e50b287493e0bb56113e5f9daea058cdc3df01e8ba1ae50095288c4fdc43e8de68a293b3dabfee681ce66c8d066b92cc33a6d9882869da651145d9350879dafe9cf6f4dd8056b3583551eac6be32100a87bdfbd3344f04706bd11993f3f71a9213b0e7b7389d59994cc627449f16039936391f2c42780ae88d72ad3da987a5a1b15af4e14132739d2cbbb4f3d48381e1ba5d2c5d3642655a5c90f54c1182a72a219708373877b12051690e67c310ba109692a3196ed3e503bef4c5949ea59dfab051cdfb6f0e2bbacc9fa29228dbabe9ac68c59c3895d3d39835da83780143d7c1b58a5f0650aa888cbd472e4c6386506595ff7bda321aad89780e03e28f58dfdcce4805fc5031de9052c9c9585caa9b432a71ead715eac33b0492d43467dd6ef05bf3923374e51b78e8655fe33317eb9b579d0911a46203d3797c0dd71f7425cce734b277f18a257a8488d711ccf78f2072941475901f754c33f2010922227b948f8bf8c18c4e97334a41f1efa9ea428dc533d89d292306e5ba3691bfb07d527d4c3f4679540eb18162197bc9947b72c2240e4802337bfbffa92959d6939dd2352aacd4d0500f95a1e58c502ea0bbaf44e8e57a8cc6ede51f2d2f1fe139cce303be214617e538e2a160e69f455a6f6eb25d1f4398ce810cd5f98db9cc15da47e4a8f383aea827871b6b37000cc858f7105ab024762978b8c259aed4208c625550438a0735d343c3c045e92d07dd2869848e5532abdf189d44ddb147ed380db9565c66e6388ea002fbce7320fd6a9f4606eb3bd7bb259968e6f527595e793fc181a0e1019c337a17f4ad716cfdf3070a2511954830b3903881e7da6ee32cdf05796fb6d543f8149321dd70e2e9ac6e7296a3cd8c06f2cc67a638b8c9778384fd8e71c2cb44192e1de53f45adc5434dc809586d108d0d8b0c353fa26f4e175386647a9c41ed2a9369dce06283906e9b3ac466af1aa3b48b16fea290308d4936f0c3d44404e1e524e1a1adc4bbd8a49c8479f4c697f02b3d3a8a88f16a97d79a56c9dc3bb81681293baef2f9a7b79586b2985ed1bc0c51c99b33b55eb2a3276a8d158719a50a2275e234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d365187dff59fe9740ac1491d3e0f128b0f2677df163c981b3cd2329312b1e622ffdaf014ab4c3429d0f45900cc2bfc573f4f5486276c56f050a0b6714f27afe0d89a4752490c4882e2740fadbdb39dcac48e30d7e8a85641495d259ff48ebc48b378c0922a31da24788b8d7366767687a8cfd98737ca4e052dfdf07e8e8377d93365d3ba99d12043a3e2e946ac2685a9ed5aaad259726a7c0636d635c4d4abe8201e27350c8ef0af5251c4fdaff51a1e23c81210168dcc0916a44a981bcb5823cef63bdfcc3b8ff74ab049bc9fb2e899c0f65d57acf205580d5d26e69e62b7b10fc2e82c79457c85a4e17fef4578a3854bc329ae3144f94278a5a7fef3e26020b60f2ac079bcf99dbd4795776088ac0f5fcacddf7cee66f6fc7d1fc006ecd7393499527e07e7835bf17012baf59588e60e5f76c502b023b2e5d7459116a552592e595d7264afc672f97f07286dcbb89cf7fd1753fc27f3ba6d6a77a1f15578f282fbad7d108256331bfa3959343e4f8540a1646c28d7152feb7ef166e1e3a0e03fe11ab58a8eaf940a3be716219d316601746f87ea07fd8dc9c44598f76bf50c55a48b41b66fb5ae01784591bb9f7bb9ada6fe265614868cda8237cf1e60fc77a4d784e48d7355db4d6e6bc5bc71195e9e30845cf5646e70b6287025acde7600d6e975b2e82e150adc7d183c69a1c10294707604031176a6c6063e883e0e733297ccc134b0429468cde24a9c8afa1349b4b4381e872338fe8b7c74bbd5f7de1229dbe10cb406e9350fdc0713c45a2a340a978d71b2f73139e132225df8312eb8923eb2cce5818228135633f93f2218609b9fe80eb744b15dcecc15400217d673078843213a963fb465296acdb7dd6dfd1e16b26e7004d06017c097e6866d054936f074e2d8ce1f980eb61aab61f5e9c61b22189e78b8b970427aab371a9bbbedbc88491010253ca357ed8d011896a8c9aea17d564395b7346abf84f70729cd640366838a6e8216c0c63f181cb83cf6c9f6244197379700924272a4cfc85a9201d9f2334171500ee7d349dc5037e6ed8359f288c7230a43503d023e35c425f61e4a16cab41a8f641d77f5c3cb94e7ab34b15c97db8f816c124bca9ebad53340c0d5874cab910a5c80a9f0ee2952a663af447203ebd3395e6eabfe132723798653d4e48d7396b842068dc52aff9e3cbb729c2363bf1eb88fbfd8f7c7adada5676f62af9ffce104406ec8fa8e5a0ab43442de2f7b1b5080f568a52b054bbfcb3a6c1c7102ceb179d3f10fec836ebf278beef419f776a8d89e767e0ef4b0a065b44b244f4d173d95abba2c3a269811269cac68021e5d3e1d3e4aa80d1957fd70eda213ccd97f84cf45a412dbde81318e97e33937ff10b61cda99bf1a87428630ee9ff7679f6d91aaa4e6be2746043215a70c40df3787c4fa2086ad43a0a6370b086a406d4a537ccea8e290a18268f5fa5ce4ed88e062bd04584b4261296f826eac4d66a83537203b55bfebe8b81942c4eedd04fbab58d7f27f373eb141f3457a5f62d581ba432d12a86631f5f6a870f752ff220c833b6e878a73e8c13b34e64e4a2771a6c0dd476e13ace9c3cdb10374defa4417f03951207dee963cc8bfa7a442e1c1478466e40ef29d7d9ba8396fb15f73f9223e69e40e445500251852121bc76dd681352e9d4c115536f136798a78ffacd92bd32f5629397859dfb7f3fcc5a25ea90556fb04a2b37967b5b3eff19c359b78808d8ef5956e278f69166451d0cfe0276a0fbc30b9c3b392f60a56a67e10a2e3b3ec98e75a805eb5b0d769784a47af60fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5e2f213c674826dd8fc44383264953becb6352f0f31c850c3e3bf8e5daf91ac0d9376c2580c10a7520ecb4fd753e20061759063106aee608732ad9c0544591d40fbd6c7a469e24fd9fd3e971fee9dc3f8aac73c44503bb66c7cca801af45e436b8d14aa626981e208d69b5a5c98ec7b51a7c1d2267b7c6ddb5f6eea3a8e68c29e0966c4b5d30f0f1b33974e93b554d3b154e537e97a7618e2338efcfc51721398642cbeed5e99e3b9158ea70985bbc38dd773b186e4291eb10ee73c948403d204865bbc891baccbe77e7e661f6cc76c1285cdc7cd8f741c4773958db9cd40b6d943ba08add22af0c80de88fc413fb8ae36cd7534dd955e437d9ee049bee8b1b0004992e5bbcede3cbdb792ce33a7a108dde04172b813bf1b7fd871b93b329946f56c60b3292fd58a900d5ee64bb4ec19a16b958abfa78b00ed45ddaa030964cc6aa125b4ae124c34cad827dbcb7ad56614de8e0970ba86b8dc1e4543e862e3e42de4b83c1ba8e3094e613a64dc716f3a049d40536c8d5403db05cc251fbb03cf479e1eef975a55d283688d1f1f03161cc907fe6145066790d5a21ffa29300fd90897925b742532322aba6f098e8a4ffb6676ff2e16152330de0d5bbcdd2485cc9bfec9328394f025050937f0df2d9cd713403f7b214427e9a9982772875bb6c44adaffb7b79be1201506b553b320f6c1cfd7522a3ce2c1cbb25e5855a7791e6f26d6dd0d7b599a65a245ce34df5a5a3c529979dee80bfa77da68ee4b6077240285fd79be781bed2f53a66f845c41857738bcdcf95498d3d3741076f410cce2497db370fb5976b5c3b237a3fd6e0bedbe8c8545d8b61fdb1abef98251aff2e049158984097c4de8ab7897ee1fc6b1bf6413f88f1cde65dd222046f4448f5a552b506bca328537c1453f8bac530741d6b15386cb3b5279aa5350735c36ee7417593ce5e53e1a1abfc56ceaecd7423638996ad33d1fa073bd9c0ac0a6109013c25068986330979d4d69f49144efc03ebd87a1153ec0118964f283be074fddb75fa5e86da67650ba23287c4334d2e76fe3c6f7262ac146c65f6c922d9ccac163306885fda205c79069f752bc766f55d5aa8c17f861363d70604360e4898b84093c99778a0a54cd578fef32e357f65f2e774995a88496e1f02b3406704eebb91e74cff50e0e67b8da6df923385674254ed5d8220bfdf4e77f701bd18aabeda244ede6366f0773618ed76eeb6d93b78c4a08aee9c895211e37bd137e587950152d64d83877d168883a8e149eaec0aa762666c40b713fce2838c72ec0fe100c6398ed6dd501ec2aed6ff5acfc84685ebd5a58a40ffd157ba9a956cd8683d12f160f19cc4d958c8f89166e724f1547dcdb28bea353e56835faddbd4ed6426eee936851006706c05cfa80aa7d6fb4cda83162a99a6e3be8d6d443ec94051442940170470ce75b6eef999c1cc63226c59a44b216fdedf429ba17eb828fd480db8d988d8413b4c1cc2566af1286b057c262f345583a7714491cb98c8445c82753425471f94288d4a616326486048ee8f1742c4b72cd50392b89abc5053e358710c9cb0974c407258950738659bab4f3df2678ee67d0d589fda04b94715dfee3cbbf2ba51a66c4b365d724141e733860025ce01314dbb4e1a321a80631f63c37a5d445f58fc8617b7bcab0973de9fd87902f793a83d27c7273a6a1c291d9f976bb55138e20d236cdbfea49d6dde0fd060427ecdd553b5955ea3f9ca4e3b567bde912fa03fa0a7e6db1c120c1e76289b1a523db7d501b3f29d62d36f513b7d523a7c393efd24e5d98c31f6c3d5cac4f0e151c0d341ba158780fbdb3f7e6c13e8d27ac659353e08f8daebca2942b7d9e3a30213bdef57742376e6fcdea85b45b1b54848a8cfd58665dfe57b56ccd315c4873de707d93ad734da4eec73e7e549537c0d4bc77b604149d625eca3f1a6a7e380ded6aeac1dc54cafa35d7d1c440d9bd2068a71e22d386bfb2df60cc85a079f02ff3acee1aec75d4580df0a0b6ad766279d0d0a9164d4b3f4a7f74bff7a7615bcc9736a3da2bf418e30d60ab024996b1cadbfb5dcff6ac8ad61a84b5525146b1d66b2c6e73bc674a574163612bd1671abdb10d2912619db240fc442ea8f8628e6c804507cae3fa462a95b4240c742f6a96f0e1039e2550167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a20c6bba9540af0d34fdef75bfc1c573db84d1aceee4780d3467ef946027de2af07cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb61c58193c2fbd1a2a7be3d3b89ae8cc180d464be4dab942cd194559903d942c98b4c3976f0c9bf49881bd9eb7652a902b60c1d12471ab30cd0ebe51b70bfad8ad716ef40c102b1701970c7b0c34e6633d8a0ea1c89e7527252fcb07e63074221d9c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a0ed364d776080b569ab8d5fc5fefd179ecee9d242a79c8c1de4fafdc6931a5987d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe57b3190d3e10f0b603a6a873690438ef191f74245bc7109aa9a0c7525d2cf3b0159cf3c5bc6ea7c20fb974e4a0a1090a8386964483a625fbb6fc1ea468f25d29848abafd1fbea9057f2d23a9ed1d9227c7f26d691034aa7d35137502e7d8839c15fc83a55d5ab2862f318f05d1307c7f46189925155203eab832a5f0088b2339f38be54ba9c5d6c17dd5d49b46d4c107fd97af3482e440637fa809b0cd7a71ec5e818dfd1d5d3d5dd3cfa5d192eac316dd2a7efee3ed3269987d039e927c6a4e605d7259d08f656a2e13fb168ddbf7bfa83e3f57038c253ae0533284b2fb5c238a888d92d2985bade3207ace0bd8a7c624c35a0b3a59fe76ba27a4b30b3cf62f6db5f0d8dddf06c57ec2c425e7f34f76ddbcab5b3b51bfd40d01134095268e82be0afcbd1068f31d8b81112e45c35bd2b32245b5869d903c9783d6ac3a54ed75bb96b3f2061eba41f752120017b9282b29b14835477c38d418e6b6c988eaee02a67594335d4aabe552ecbb3a3a7fe386960f521c4c1ca6c49187aec261a03d21e1df6f87c0326d1a9c96bb360eeb946e97989b4bd9910166a895a32a512cf202c1db8373011bf234cade944490a38013b685e1760063324af62f834d58651dbef5ecdf2dc8e5dabba0474b89a70866b86074383cf492449570a95d2a1d425a06f7e8db6a491cd405f8b70bd91bbb9255e3c6c2391c2e3a4aa6f02d048066428d775d38ad6ee587722b2635e3746fca9e7e8691f36654cd4fb52244f8c0a5b324b635c4fde8793415f040d8b77da043787c2acbb797fb198f239d4c7a247e3bc19f4251ab18f62c1ff486215ef349615bad19fe581de5316f2058e25783b3b6ddf95d6ba6d954a70194ef1b689a8b80cd8a714b9bca92b829d8eafb8f5e33645d693f18addb88da28cba22e18d8963b9555c0ce43bfc6ba5ec5a18f49b20b21f156a0f5eaeb64bb172541c5934e0d27801de652f91abf4238ed66dbffa9e852d023f4e577e53ebe037e248767f63044df2703e2412d92eb43f9300fce90d0875aec10ebe78c758dcc6c24fd4c53bc6950296d21213bb98962e9aa7d635c63736f6eb353053d332eaf2654a6bb5df16ba7810f229fed6c31742dfad99301cc5550a8a75d8ab5f2ab107fb4019ab87fdef38ca7c5f6fca33600c5d9f694d62938886cf57d8db04155976c1529f99e02e1490263645d7d691c6b64962d87f1797e8bb19ed31b50c59c37892d21b67fa44d90999c7f295a2ca01f14c5a026507a2b12759e7928c02d0f5375de0b67b6463ba286dc139bae7656f6e27d8e4c9a988379b1d10aec20e4b723c992260144a552b8e19a389d73a22a38e2a2b5501801b453d6997c1e34f53fe64393f9d2727c42d044d595656afc61b877c845517ca8baa3b81ac48f80652ebbde333712f9010eb6aad6bc8030345d7f993a666181cec1a9962d0c3b9c14851f152e7fe19c4b9728b107af2673af423c3331ead173bc47a6f8f64390b843a0227e842ad4ec6d9d4e231b6f8a7707a71a85e13a2e94311d5cf728e4e75a582b9d1ea004f15aafc2907d68c99f931d60f69d49894558d4324a5299390ab0ace7444843d56ffd05a235047f813d9b1ada82435d588be615bac775b36760bb7077452b41f9d121428767f3b206e964dcd7469860462573f2687318ff2745ec234f1a9d561a7dc0381f820872fab078653bbe56ece0fd85a4f736a30a2968065e8cae841047b444dd8704cc0becf4a811bc1b2c9826a96c268d6d6e8784bd86d5890c59cd028451d12c9a121970068963e837ac24ed60e88b1da4e3507dddbb3683295b1d3154060df4180c0f8f49d422971a4ab2560e5770d3095cce8e40269a7eb2032916caf2804746f67e38bc34b347053aee82a99264c2fcaafb1bcef4fb09984d0f178d1b37603cc20a1b711ffdc1198b620d21859c13c5eb70175f69486c9d627757b95fca5155ac92b99e991f4f10955fd1be720cc1caa0ea68c7d990cca59f8b508f744174b0756d10b2961dc39b524d0f7fe4cf78fcd5c755c43a037a8d9322fa0f3c60e9d1c23b01a3f59dc865f4fd95e319174aba1c1a191336d4b9c7df2c5bbd42611ce8e6239afab2fdffc3d4905fe5fc014af28460fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5eb9eba96028987cd0ac23d2e9b63658040587d3168dd46e5285f67b81bfd3ec50c753ccc3c2e28d3a45a3823eec4b877f1e1427da81131cbb16ccb6f7d3029537ec9c14148171094ab3dab6dd8afcc6436266e70065e77542496a31ee998802d8848396d16741a73bdb8cdca8df28b001a2e9e07e4ac4f82edcbd3deba571acf0f2b58d181b2045b0d28bf0266d087fc7b50ed72d48f1faf8b124d8afcbde0b4a26506b617089e441c6ba1360777130b64e898a664a0fea09858265f6f61be33f8862bad82f4761b8c30e45db0f49e61493443639aa425a611666e863b91cca8883cee509e10304eec60556e4b663d10e412995ad3c738090406e11bc2e9ff43a20dc3286ec91f8baa5ed2bc4a2975f3779382fb8999d3358e019c8ab487bdb6255525ea5a9997cb0d0a53b98218b06c3cbda19ee2a569db903a7bab4b516f3c5bef918f4fac7616edb1ea3f1005cb3be8db1570a39e7cadb5af20b7a6e44c50aeac8574393790eb11e24921c1271212d8b0683803c73b0a9586b678ea53e40c4f32c462ac0f9a9c1b6280cfa2c8cec70956f61bea3ead12b0593545c97bb64675ed54392e22166d4b954c281c4c6233804a2faa7736a3f7113ea5f36f3355de686d4054c1954645e2f9eb50d6586bf0cb4ba28bef79d3792f00b001e4c42c80cebf1a4dccadd147062ff91087f9c6748b6c746ff28ab771c0b9afc395126f4d0bf94a4da6f24b971eb08191f991561ffe3e2a21b6dac8b82bd1724059e76231747809570850c5192c84f2a9905d908528f96f689659490297104a78ac5de2c0fef19f4f3c5db6f352965d22ed05bf9d84577cfa63b5a20516f8df95410480df4a0fc171e48b13da3d3173ae45f05e7fc388e272ae010b80e994aa8a2c68a65cd9faed1bf1140609f98e1413c4ffc661c99a9ee1e3ef6470b69159b07660336f3760fcf19003d255a31488469bea92dcb66ab56904b9a08756de80256f0ac64671fcdcb2e1900223f17c5cbbc4b785804b60c2118ec2672513d8d1cc97cfa3d62f132f05bf54a1712dc63453a80641d8b2833fb4515681e8bf56a4f49ebf2129ee1cc961496d23cb474959714ebde3078d7402e7ca33e75049a492955ab5d903c87f45e9d8dcbab267fec80b00a9b460f7dad3ba1d0204899315f7b1e90eca082ac9779c0bb932edb2c451904c7facc3aee7dc7baec4ac3aeb1158d4bc27372ed51232f48e1606645f91069f1beaeb7dea76a9c2b5a7762b4ed6e43e62f09e68afdd2614381953f5e707712538965ee99bd1ae6216b2449e8f319b593d6e6913f645f4c3ade708d1c8182111a78e1747b41e89b0cd11ccc7cfeff184be4047b5cf210fdbec2c4f15948e57321964670173d178de4c8c0429b5f9302a9ffcc587a0eb592cf3b7f95b087d2afc847d4da2ae09e9b538daed0fe5a4054ca6463ac2669d80b8691798b1fdceb095d15a51090c95267338322a89aa099e6bfa60d26bc411df02000f7a9b92e493e533b763079744ca759f1de112528a1c240ee35632147773e754f69a7a8ec0e67009a83ff13e239ef71d30177b4de5ea509ac01cfb675390809e9d3d88a76fd61e6e3160fef5afeb9dfac38fc82d3ea3b071b0c5b056d8ff4d5f4ef801cf4d22d823506b13a54a853889d4934a31b187fc6d3f30115e24c9cff74076790e19166c2b7cb6e82354184e444190386df2cd51148075cad63e200613fa7578b42aaf229899283ee967dedadd0e473ff6428ce8d420344eaf9e64f32bff9769bf47a4333346acf07eb916d14d9110f3a47498ba1efbde406d7a2147200d0ca5c1e28889181bc71d4a63b360112b72f0db2bef06350b4d2385dde0d8cf3924ceccfeceb9189819176e7a28363bf353a0e8adbba2875cb9804e111ef4c625cb03af67338aa5e1d1d291ca51991baf1aa0601319f27f2c68371d9e8ec567af1d3ee419cdf8043d7867c850ed1655a21f46569da2315bdb3e196e92578d19c83d4189e6e126120a2727b41a1396430543898be7f6a48fb4d17612674a6f6fd0b8ee44b4333068828b56c20f8521c4967b9e7f14cb29ebdefed16b98727ca3f6a96ac290fe68680ebebecd8868b05bed4a6a9e24a4500cb3a714fe0965fc64fdfa3b1644c4c083f1bef286188163a7c3c83717b187f81fea2b7fdebf95e773c0121b5e3764eab3d346f2d8179e74caea61a87c4bf11b4599046d4d7a134b37a8dddcbf96f3c03f38cc6475bf137a3e0b6a0625f58ecc2844e0102b406a25489563509a7f8c68adad8c1a4f84de1c03c2eb7f4ee97d0f676e3f6fe1426924e07fa3f7733d4e5c8629504f170d174d109f042ff5e73fb98649da4aca138f0265e58c9811f354e426fede90c79ace225149c3a4c6a032283ab9d1308c0a1feecd343bb2686b6ac8601147301ee4e6c287b9f4cf537008affe608f5eecc6607db05fef53f58d61bf5b8ef54c7013fb271d797bd6d98845be0923aabbde7a613edd1bb1920876257fd8fd2e27b76c0b966b7e86f6a2efd32ba8ccaab8d589a24dc4d7397b319801039100a50c7435419d91321e9e39518a3b78f0acc3acdba17f74780f8a268e7b071f8421e2ad139dbc5b1d856554b7734cb3d6f4fd5fdc9d7cdb759ec292a855c1339aac5a21383f3e3237900ac10fb2fc74870d5a9492be021e658a87b4663384b50f78e28ea917a36ba914dc518cd42272fb2be8482d5489e2be45a66bc64e35c593ab4f158ec38601b2158abfd3f389fdb12fd64cdfd6be90f9c638326365698b5900449373d6ff89b93297d010dc403fc260166b81634d133785dfcb46320a6fc4460bba5ccaed6c23ca5b41301a2d7dae4bd6446be535dc04d77b8c5f9513851de8567bf4cda157db50f98516468702f774a420270e805809f997dcf1896adeca137769b239e2ae2d0d5d29a943b61037c74d657e24c08d96fa676866eefc9687d804466f61addae6d429c817961308425642e96f5b3e8a8151b236cd897a03a4e78f8c16d3109337aa63b8f78041382fb82224fc88bc23ea3240c1d0b11b2567e152fa95cf5c2980729a00c1afd7ed12816f7617d176c9b5c2fc605c26888e1edcc977467849a3655d62a1a863c6f89ebf1f54fc88bc23ea3240c1d0b11b2567e152fa95cf5c2980729a00c1afd7ed12816f7349a3bed0f10aba26b2705fe93f1bf3accbc28f6de701a4aae680638e25a1dc9a16bc674d8219d070e7fd8cd928e2cfa3f8f6de59f6c9a53bec39a3e1c5f5d6940cefd17bb66b9ada270a649c4cc12c5dcb0bc25b1900e4fec1715ef63c6a93374760a76cfbb3418380474f0f09cb329128bc752f7844c2b9f8a7f66c95e09b5a737084538b386fbca5edcd76a8a165d86797a39ed921f5a6ca0b5a17ef4f77e2067053839d49612dca65e5734dbab0f88ca9e9aad8b4c42351f9b92f48b08fabd7038f8795e489e86d25c42e787c96221a197ef4529af0149d3e8da75e37ac1b1e5f51b2b0150c88c78127864f3cf2f2cbd1e138d44a2f4e2f4970107fc2c0cdde7372357a0333c88354b95dffe540fa23dbbb0208ea06ae084709ed85255981d8e30d80d6e630576d8a709aa0540ad13651379d3683b67f665cf4a2539d4da59ad4e06d2c1c07b2e4dc4b5da640b65a8e7fd0961bf07a9e85173a2f5ba6ab341597ed04d015ddab42697aef70821393136422545d56260620a6bd434a0360cc193156bc979083ffccb12443a341b4e8a69f3130bbcab54ef9209568b5f9f9df312149ee0da7aed9b17baeaaef8edeaee474ea795f86efe1ef8a83166cb82c75c95a4681fcd44841551264d5bb4efe0c8c232417e694d35b286a05c63c1fc20aa41fc0dd95d5f168c01c16b1d253026cab0ab5112f0540e2b716a234df2fa7fc0f9ad1c2e8f4d5ec039491c9d74a6a74e8aac5b5a6a1555115f37d8a9048b4743eaae7bd4ddb9d5586a8d08729be489fb595bffae746c4c280011dc0db19e39eb00017ae8445934a9c68a7fcca5bb1f5f07b2c92f9e69b04a0673a0aaf52c2ce97e7d8d6447ac4f673d0b494f5a2017f407b7eb6b4ec18d76b9c018d0e8a4e53cf6b00dacc8624cc5b51a7bbebb36629165704a2d148eb9ffd3763686ff51a092b2490c0e3e0c6dd1274090817c00a3749f7405af92b8799537f10ba12bc82bdc51a07e7972ca33f641e42520ab1310d38ce371e2fdbc0f568d857b3f9bdd41327ccfe2f7dade72c2d1aae03a59762019a882c529e77fb500ee32ba199b734630f686ad5252b2fc1902a85104b839e962cce5ea0e6cedc9aa3c68dc522a4b216e50b86cbcb79764745d312647c1bcb2389c86a42414164f064c0e91862a590475200f44fdcd6564eb1c8aa2d5cadc00f62ca411172ebf4a63e7bd5a7ac6fe94b9b7fdb05dbbe2e7478a8696bfeef9e15abb9c3099c32bc95e36a42d20cdef92bb588e8784680b06ddb2ff6b800105e155e0676d92ff9a219263f1f4415283ad82ac02be2bcbc5cd31d91fdad7c4aa115ef689f77ab0da3f7b0975ea5834b95b2a3e9d92f2572fcdce1d349d0fc2d8d603b1d8c51e128b14c0eedaba08686560c60e84babcbb006590a9040f2523fdf47ceff0eb2692715f7dd4595c08d6eb57167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a4d4e925289f6f26143873781ef04074efc9a61fab868763f5b3cbd8c110784de2d2254451f226537c7b39edd7a504990d54d7eeadee0186450efd19c7170b1ba28b3f27b538515be296527ad255a8c37c84144c8648e3745eed77cae314a188193b7f6bbd7f25a0bd1bf0c019ceee33891cce293c9b7d80385d087094bc0531dce85efe179ceddd2edad7cd543bafe16d49a9d682045092c6204c93db551e49e34e1149833c1f0520b3e2dad6ce808bfee7cc7c8b812292f9ed7e049eb2aa70be9ef503436bc283575966770aaa74645254f125e40095478777737613582bbcd4241cda21426929cfcc1737f7247afe03be4285c0084958c199993f113ed9021001aa62188bce727c97e73816ab82f949cb186359f1c7e045387d581cdfec2cdcc75e5d592d0cd37aae0fc1b6e04c2325dcea2a28030d257495bf58fdba539bfaf6017beb19741840f2ee523a4f57ddf197d6b03612e8551355e1061eecc5c118519173c525d529fe791700e7ac4b5d54638cc51f9fd174b92f54d9ad88046fbbd1162a8db31ed40760034ae802242d7ec97088c2fcb29d54ebe4f2946805ec0b293c2b212d509140a42aaef7b253c257283f38409cb2f910cddb9007ae00731f4d1bcd2e85fafb26f5d8be475fb55888bab1e33cf5bfef81f14c139c16cf90fb6a85696bd9b16607d6d62054aff897ea7d920f1108809694f07fb0a75a20fbc95ab617ec0719bb9f293653a4db22b54a4299798e320a861b7ea2e4dc87637071a0cea3312c0aecd27b4044b582431973cba5f13aca5ad083ef071c360f78c5dad08baa460e6e637268c49262f474dd4e0c0937631db1283d9720347595fcb013174c45dbc9d4efca4563a95d3085025ffd7029bd3693f3c3d88d525846f83ede941474dfa2e41bccf1dfa8cf55767d3567b173685814d23452548cff0121dab1820618f2b9e390f5a7b3453cd67362b3217e121bb6dbfe8b9d131fb6929de2d02f047e1862ab7bf5eec0533284b7ddf1ae6fec54d1127d9d5af345450170a0c256e36cff52d6a9c4b3c1c1ebbea178963f8ff8b69cb4963cb90f7d41ccc6d7b1e385aeded25057655a56edcf99c91a93ee2c3bfbb6ec9d25c2d208001e7740acfa9577c3531d20d545ce10b054e345e955ffa46cf02ef9e7a68c53e6bb19bee537e1dbf826b6146171d436e0c850bf0dad45c75075f6b8a4440c4bfead86a442eea9545940f1633f8d445ba3885f5fe9213a7b777b856ef9485ca075b45b19983f5a0d274f1adbe1f27a5834c8a8f1aa8d6b8ae890392a1d481fcd0f6e3f05fedcf9aaad15bc037ffe704bf8d9653228fceadfc222841746f80b8cc8ba17430e4396212f0de263bcb4f8ef6da242c613616e326deb4721502e02b01964a01c0dda58c09c3c3585588549f52941b64d7f8e3ced14d55ba87906e5ff09fd2a5dae6e4adbe4706539555b405639bb70d21bd4fcead79baa7d95e7aaaca0af0dca37ffae82b17ea3000081e6f39dfa581b698f1b92ea75e07fc7e2e0b0a2b2ca1c181182e42d49f9077434334e5c96b535d659c1eaddaf493e5b87fff78bd14e0f4157577a9d45ddcfc83ae2f279ac2e60052e29474f4389110bec0021c1e313741387a3b68aecf64b168e71ef06c8a0e19de8373a15ffca66bba20e3dcd32dea92961ecd4b45839f06f7d30fea807b825479fe02b63b9e92d65d7209c5e7fc9be9c524c71a9b3700a22565aebad076d7977dd0e596da3809fb451f0a1b6856bc87009f974b4106a690af8f1ede655115d496dfdbbf214c9c964c34d793df090d2b0c2ba6896514781a489f2a6bef63ed5c22bcc8556647ee87c04158536912a6fa1ca7b17c91a28604332b7bd7185cf57b2fe9da2c5f2c017e8ebd5c67da56af0091f6397df872c828bb4ee34749ac7d022b55505f4a29073fcf4be8b5e8af7be8835a4f74269262405e9b9f1b947f55babff665f423901a28965c3e1494cc7ad306aba3505bd3fff6ad504847a2324af0062f491843263663502ebfce590bdb06b974cfa6965a19ad923411cfade37c550fb8a5ac568afc607b45b402010cc09eaeff06233e99693242dc9edba4a6bc57016ed9c9200dc46ab3dee89d8cbbbff10cd877feef838495bdb3743c6cade8cf1eda9c7cf082e2061296e24a0d443b0b1b5a0a2b47294650c76f8ea0481a378b8fdbc8337762c015f19705b5ca183475f1d89e81b948667d9d8632dff17ee9cd4ca9df905615fbaccda3ca5eebfd07af234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d202261b116937b00bd9a551ab6a60eac92255663a298698fda4409b119533eec06bb035ab2146210b4a613c64b45d7fbe028bb236da82c87c432b179c8ef2e0657d251d30ac61ed489cee6c0b4312d130c4b70392c63e4b671ac58d76ba50cba43b293958e1194758696ae65742a3bb7dbf54c701902154225af361688a41895243b1b75aacaa757ca2da3fe956ab171f27b619efa307015e3afdf098ac726e070fdcf23fe84574de4e237e3840503c2b381dd607c9794fa8765c4af78e5b176bfd79dfcbd49d4d34952fae95af584d378f0c591e2b33018c050eff21c2c56d6aed06a34187af0e49cc586db99d738014c7fb9bdf40bab58846e52af8ac55c17683ac92ae19a7165930c4e33997ff69385ad8eaee64bd2e8455dd2e963ca3e3a090b9588dde811be014a8b393023441acc31fbb58ff1d8f06a9a980c0261da4672ec62d6ed0828a32b54925d2509afa82aca46affdafa3d104cf798c4a979e7ff2214e2047477dcb51e7350a414a5d3cf75c7a6a62784b8c7aa18e9154ead62baf56c18b3959835e11657a2595187ac590523f8cc4961e57546ac60291b3ec4cb6b06e969440e74bae7af400e6be6a20c612ea8c6974ddc7ad1df9a4a6fb9cbf73f447c4fe0e8504161d944add31904f6e0b4c6f62cfe1a9fa937b67660febd59ff435d9285561871a482243bbb80916ca3faef3ced2343d10d6f9edc9d793f8b2a9fb645b3dd05ff8d1bff4b2f51ea13c17a9af8a97443d302fe37dea93e3b1ea14c3686e08e64462b54a65f9146348586aa974cb29a4c11aecdd50cfe6c28e0e52587d025da6bf272c37de26e533199deba94b789810b8a2f487a240c03b6767a19b52fee6e0184e95f8bcc1148ed7bd0f9a527cda58327e89435e00e2f268091e60463201c24d0826514312d237b3395265c2c1acbbbc5e8b126c6c43cfc789ddfb70650056c76b261fa4159192c9f909d365435ff36a094e07ed4c3ea9d8d1bbc54c5a9f739d5f3a5642ce11598a0270d86d540544b38d7ae01d1105bd5f6466561ac5f46554911007400e5a8b7aaae98bad0823349d0010eefc02ebab6f8471d80893c0f32bd70f5ed8801cb217864a3524f0fc57d308cb2b464ad8109d86005e8e32e2f3b4c4d577d2a140707088e966446ebc3aca4b7e77af89abae3b357934f98f55339b2be674eadd9d82f3a16c31fd8071a8c951e96e07b1dcca3f87941bca5a28e576e29c70bd47583c7746e76c30bf04debe40f34e48199b0fdbbfa468e6cc49e80f5259d77a8c99b68d2fadc9621e9ded7adf74fb038436c816a4229c003ca42faad99ae3dfd80c381a45dc6adca8a410db16902df069427a5f1dbcf229f1b057c1fda9ff582075211c51eb562bd9b105cb5749a842e3b258aea5dfb6adb0505858514f3031fbc078e32eb5e870186e018ba00aad7d5db2c14734d2be6c15d2f69f04a326ef26d930b5effee419e1931dcbfa7903c7e6cb367eceff08bc939c4818929ba8c2779338ebe7fd87f41371041304760661b0419cccb930e6f138ae86987d3b7014718556c75b27e278280b5bb9c3203953bcc1b204983b2b3ef80980320ff081edc99651eafa389e88e180bd5ed716fa447971b4155951b873e78afcecfec84590435b90a4a46130ef18937541f040ee5b0d9f3bb06e480d20a569875686c7986f78a0f86ba5b136fe2a6d62c0c86ad51f49589b43e9d904f2cfff10694f89cc2635e7dc7773340c27a26bcf47a80c7330bc16c4c4af0920716309ee76128d105a07ea3d69669ee618a1ac39f086a65bca4fdf5d4a359e566583b19f0e3d9b259019e92f23a8dc1506c581c071efa3e9385aa676c71734c979199b3bc951dcf5631e2285a4eb70f1ff025c0223e044d96b5e6b730cec7e92a10707c18d2642442883cf106ed5ff69680974cabacba00cba7816539a33084645b4cd71baa92c12a9b712f346678a3954be419deeaeab5b6ca94243a69f60423af2557b625d42a15715823afd114a9b73c161cc4676a9951cebad6ff6a3c18c32212760850e967a094d919d498351b376cf62047a2d44c15135f2667aa9ccef1c63b530ad8f038ad6eec3762d3889eb0f30fc3a608ccb3a0fc13b93bb8d0d2ceab470f239b791d7be23398ad25b21c71e1e7c166b647e974408b40fb5167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a99b69a41e855e5e502628ccfe516c6e2f4651143b0f72c6655838820c8c6a21a53e450016c25df043b71cd7bc514680e81472dc1027949131b3b00c7091279a2e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe5760ae55538f321536aa3fef538199ac3a8a5c21cfea73f98038cbeafa9478a5b288e8b651db91ed7c9cdf8d6952cf84fe4a4bc5fc1a2e68334e81698b3ab9128f6aca97c52887f96ded088bf16c13d69720b5e393e30fe3610f77d9a36fc2787b129cace8bd8a1109773307807820b7af1c522b66d4c473e6323afa780189ab144c67009d6913fb9d0644f5b709a4aedde7b1af1818e465fa8b3891dbe66a4049f1af576b1d44bf53752426ee4a7f381d59d206def0d3de43e2f5025b1a8d331af80eb538a332bfd867d357d6870f49a7e50402950c674b5ccd0c1d4eebc78ec97365f0161ebf09bc17a2b3632a9b50711984c0f3988a55ad1bb28478e1b06b3758ed4e539b58473ae07d3aa82532d82d1c90d2f9af7faf37d4a0aa94d81c57484fa578f50d914ecc34a55a1e9c043fb0b0b1d358db37c6fa65db94aa3aa877920210ff84fd60285524e992b2c184a3874463d7854d40b24ec96e0a8bf0fec339b5a1c6c1036521cbc0f5ad35389577b95ec36b1c013331190196267fff2ca2eead7e8b37f3185413301dc36177ebfad53629834bd59f9f7c982ceebd9d8143b1dbdd50316ed41d2a960d1ce1034d322bf1e59b3a1467d0047c3ec79d46f9a976166316c73d14ff4017351bd17d55d3c4c5933bcb990bac3f04d18034d9a002f1cfd10c6908aed7275c05fe38ffc8b595946e4d8b50107f2833c79f574dbb1e839562af92f0ae5c4d7b53232371fbf47deb5f53296f545121ebd0dfb83c6f5c59b7549c95480a873b25580c8965850626b36d9482060122805a9d302a1613cfd5b89daa40f9e11de6d06b9075e1a3fdee5992dbe5b0a91419bbc82b8cc38752a6c49a53985da45352fd6f6046aa5975f487bf8981c2ebef5ffe0266f75becc20666b7f425916b320d6f34a11bad51c022557e3ab5933638f3ebaa339f2900b419c9839a37f4f1be58704cc33b80ee0ec9253ca040e5f3e4fe15b8febb4664f7ee3f97742f69f3806eea35be5a0dd0951d122ad4170f7e0c2389399cf414549e0c52406ac0779af36f9c02b8b9b3b9047171f885bf76b442b9be69f39c3b8b9f0ba7f04a16de26adca047d3a514b39e694f0e3db058ce855f95817c3ab63cccd4b0fe81cecf0d0ee29d257a6ad2414beda51a53c5c7875541bb1ae3608b16d0826746eb0c887a1e9b8d317acac33d2f19a70b8dfb1f23d07e3411d5405ca27c462382984a479cb9d6516b649ab50f11a4c0bb66b333215aa74b8fe30659d89d77f01ce60fd2f7d98796faafb5339a857e2986a404bed795962795bc902df3e99ba1ae683b6712dd34eadf5a3da5e20722b5f4cf9351f5f847040ea048cf53475a48003611e1ba9e0bd24ff7bd0c8ac2f40cc4984855c3aa9d86a6796fd0fc128ed1694a0270053fc09f676cd48fb191e3269fc3fff6a47c118a026bbe340ebb3ada395e5680e9f6964ef7a0c42dbede2139896de7435ad5071bd5543714555d1d36cdd81295cbe61c9f97ae32e2fcadb1bd6692141af1d024f92add29d3649ae5c2888ed5c5f67a0a35d2213a17a71a3880cd001832eb7af4926dbd8b6a7c0f5211f6d774ea87701447b77009ebc39e17ee9dea7df26f47fbbcc8d2b255e7c94f52a5ab4bcacd2c2e3f35383d63540b62ddab3648be3c8cfd298121cc8c557647c968781d468da4b97cce7eeeefab41bab84db682c7bb0325adf4148e6328243a8590d81698c82459d82689e368aa743ef4b2af4e83dca0a8b7dd66baeee4836575c055a9f8c74cb15485782c41cb053ef60bbb7c83f0157357f552b68f46dd399e7745ffe4a7d1e792a71d0742bdb8a2623995d5e1a309b1ff6bf953039fa89f1819a1d3a504286bf3a484c08f94df568068cb64ca5730f4383d4cce79a35cd39a828e20c7ad770c52b6fae702e4826b6d96b1ec5deecb60b6d653190ccfeb1885387afd729e4ce895d15535afcfe91ede800a328c877fb2bb0ce177b5fa7179c9bc163b26c2aa911ba49efb70402dfed06fc756af135eabc3c312f19a708725b311a1264418e584cc3268e3e12bbc1b2c8e324480b347fb56a3e6177730def2663982b04be83f245561b3bc1336fa3135eced87a694b32c20471bafd41cfe52cab014d85c3ebe8df7325c3f1af73eecdcb26e7427f58821c00ad8a44402551dc254cd39272c35ea0108c9a833a02849742409ea98083c6656dd2c36691714e62b9183ba6205050831d1025c85a5114bbf89050004031c4adb2c95ca3a7cc914142ab5572b44802dfb202d9a7e3ecbb73f494c7d01896ff6865dc24e86e032f40cb0b5109cd0cb6661bd0951d0426364a23d7d18499ac15a1f06d1956bd1feabd6b3ea0294b9993be4edbfb33f37471ca36438819d85ddb7fdc6bcf5bb7d5d1b49fe5276b594f567b08721796fa47f26f38c21d6374d9f2663df836a2c9e9f3d22eebd1e8b41654185a3ede663782bf1ccb21abb647440aeec156228b1ad59344403f4524505a488aaf6f9b413fb0fd629bd966e276172010ae1d7016944f1a4c851a00bfa43514c24107839bceca38babf4590592f5eaf787d13485442a337c68716a208e51bb356707a741ff185ba67eb1e6d02d4ae266fbd0f4984d0893e765f0d35bc00c9694243d43195fcde97db9aa64e5d7e32830592bb7a3dfde55462c18fb71e797b590e96cb71d705a5a8b3b37136dea204fb379eb4b10271d6cb3111fd0d03cda0930fa90b023ca8ab5b2272f01ab17abd47ea455426d49bfa470af5054247f8e660d795f2aedd8353d95765eecc0734fc2402cb2fd936d5b5f5281c7ff5fcd047aa3d57ed9d295437d3f135e3729d2844357db018d7ca589cc70c344eac420a03851a9e3f36b52e91ec8f0f768092a0fe3a0ad209a1e2aaa0e33428543c49fee3370acaaa9c02b872e16fd6b00cec09ddeb8d577784c8ff66299353738947f6937bdf1ad77e36e0c9cd67786bf1561704062c402fac43dd9305ed8cad1d7f6087a0e4588e1f84909f1eea6195eb24dfca3a5e5ad3031ac1f4aa2d4d55196b268d5eef0136c12a374d95fd911fc66048ae082e5bef8fdad3949d9011507a1b5d2907b84a3567b107cec77b44963493b08a06e231e15d7f3a7ec940390435c40f4e9e97e9964afbce8a9a8eea1bab0e6ee1b0a9804860af8adf2fa194bac04be9e2231ff31c9cef300047e3fc837a00752cf6f82df46c2e5c97903f60b2dfc3230820cb660a13327cfa657e179100498d9d58875794f1b07ab53a7068606f098ad7e489657c3dfca367b7527a84ab0f1180ee160f1152dda4e3fa6347cd1bdc312719579d3198356400a5be4f9164ba71efc9a447b44c9394b67148cede45abfc5e4c1600299b17189f78e22a9709fb60fad3f202c155b3f4c28312c1d34161fb9d42ef0e9ef33e491904e071f3d54112f9e6df4b34445f03f42414daf37404e91fce611c5f6b5ef147e19e1590c12aa0c74b0f6deb68594709ab197221a8e8f8eeab448db9484ab3c37004d58baf0e573f0f47b94431b469345e4224d47f3010fa80e541119e504141d273de14cf4577fdddfe2aedea75dc43578f91da2bdbdfdaeab7a58843203e7bcc4e5edfaa0d8141d8c5a5490bc5e2a61cea1868a45079fe43bffba0c6ff97e8dced7ae1ac2b2bb15357da9bb5259dc0cd035b54cfed8561b125c68078bcf8a1900f990d8d63d325905eb7f4d0eea773b0232db9ff2054a9c5b18fb2fdeaec1e5af1bdb34569a6a780369b123edfb018c261998922ed8e934ea42d6e1336a97e42c1117dbbdc56ef9ab39bc7e8d3cc4eee26463a9ed54ecbeb8e1f1cd42c03beb811a808794dc9d44c03a2ee88e26b4805b8246bd2f4f9e24a2f777a22b0d5178d97fd5069dcb4b80fc2b57c3e1f376e950069460811ac85e2975d029775e3c59a3d105adb03059d1ec16efd21c020592ea9484c5c0a82b0f1dba6eab6f72b872626801c05dbfa9577dcf6a47b29a0f168c323eabcb4e928eab097318e6e108392f27ae25200cc84bca28772688ed2bddfa92dca030ca108f823e19f23cd31ece71bd30e6ee75d79cf6143aad7020e90d7f9e7cd4c43462297deaaf570b716dbe2a9acaa8ea88c18bdd2f90a700dfcc111634212a8b28821d72658f398b50b5882674af9542b11830504860e0d81e00730fdee3157d410772bad4f96db66a5c867da7416adcb2a9e7874e32cd549db0b44c07d070284d6ddb12d47ac51a80debe7d3871c2c8c26a05dbe68c2d9bf34fd2b0d9e299355f900ea0616f2308e4e8663cce603985b5d926c7ec152f3aa8fd88c3ee873cc9636f7f7d478ae2dd4629786d0eacdaf9169e6f8f87c007dc2b5ad1245234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d61e651bc1b02072015aa0f90d669630f28d48dd315ba23ba4c706241445919f8fa151b29692440b622b99bf1d045a7c4b6afaf5cfe29fbca9abb37ee5414093aa1637e32d0a1ad764c63f0515e538ad9eb6ef14a6592337156bb5b16215488db9d7faf237d85b82a8669f4d688684c02dd969a40a64dbb57c48bcbf4c17353ff3cc6796fd9ab08fc025bb3d1d7bd868c6ef43bb0f95f867a836249e3c6f2649f66360e6bd6921de742c19648ddf8b23023f60cb45c2ef11747ccbb0343c93566b2b3707482dcc7cd3fe0da78f910fb617ea7a31d9394c2fdd27e579f245752e6143b3e33f768ce47a5dca22fd7cdb891ae0e94cdcaa072817ed8d62ed7412836f4bed7a71621edee79fa5f3b4714372b7d5bb8b49271cc5fdf362ec252a9cadbf0f81412e33f9d4150f7689f2478bcb5f86a25fc4d52f7a3f8b5ef4fb5fef10ba48fe1165dc7cf77b6ba364544cf9809e7dc2b1b32e70c77600c8ffe570c6c53959980480a4124c91e10ddae6bcaa3ed67b0b659f8b30c445f4434450451671a625a232f1108dd17b68aeb541899232768f04d6fccacae0e4a3f43db1d981ee74ffbd5036198298d922c2377611d52edffb3746dbd625a2683484e8e7c3cdaf857e2f938905f36d1f94e500388f05f349af65c7b47f345ea98f5c9b3c24fa92916582c021b4a8df1f28ad1868f1f6ce697fc2c9ef1cd07c4de8a7f9b88c03b3221bfb8aba7b6e9ba72b86a3b3b207ad5ee43f22426243bc64a899d47e69a2ca597ccc134b0429468cde24a9c8afa1349b4b4381e872338fe8b7c74bbd5f7de120ab723da64322b8893ec9fb66188a688410b59bed5ffdb457446c011b3dfaf9ee5d62bbcf4938b5677e95110d7e5eaa72e4dd756ecc00868a45953c72109f28bf004aaddbf5b0000fb43a91a8d52d633d95331ef3fa447d91821e1815de12f13cec378e746951f8a364b291504f94d8b3680a163eeb911bf24a4298915a6ccafb5529bc89fcb5ddf3cefb39b75ce19efe7d6ffa964074053564389d29e1295bdbc88491010253ca357ed8d011896a8c9aea17d564395b7346abf84f70729cd645061f40149766b25a19a81c5721246e6ef97edbe22746bb8f11adcb15870864def0a71769e4dea7ccf92776255936e54c6477ebdbfd869a1d90fe05463aa22e6671134f998a4e28a05ed7c71d3b06bac502f4cff43d1f8cdadbfce453e97d3359b46ceb9d2acd569b8619915643f1c13efd117354a5fd43efe919a487ebf97c741c8d6eaf245c0103efbdbbadfeb641ad94ac48da97f92e7889d22c2f1664d40e0a298ecbd0933d21c97872cd606a0b7ca4387866691dca03e659c339a3f3890107e9217d8312c6816b2d77da6fddd24feb15b89b197528c33043a87013df0b23f4d249e4b49e3ed02a44514f21f7312bdd72ea2eb9b776264707e205ea3e7181e975dc587ad94c3a1c555f06f7eaca4eee6423d32976caee2633466883bd86a5b9dae24bc989943312fc82c9fa8a4e29e7f8c67d0a1dc5ac8303472e2c8de504bc77d98c5aa22a76040bcf3f7c72a77664c96be539382c4848f85440e22838b5b5c7452088d532e885ffaee7b92c613599e8e912b69f569c235abe06aeed3bbcef5fa8a8d149afdb274a254e9a3d27a58b7111c944b63a8b7efc3544717869e900da462af6bf30eb4bb67ac17e7bfbe55f0b03156929f01b1159791958cecb9e9d104ffbcfa33cbff54eafde7e20fc06f55d8bf65eee53ab2382631d65a07c4399c30fbb63b3069442e7f67cb327157519cf922fe7240c4ef0ebd3290f4cad02778d0eca63ff42756d1e6e3747902a2cb77621e722ec815e0df547b3a74a8bf57c040ba329791054720866705e38d65f1c81ec2cfe643e805fff563074ecf017dfa4b963ce2d71ddcce51bd81a4716d70c861d592f1215e2c994f8ce2389ea8a493885d5013ccee7e197e5a437fdfb1d4e0f3bb1d2b7d1e17c352e18a6586b9436a9c327f7568c64cbdb7f7083365fe5ca2bb2ce3dd0d718bef9483efdf6ae5d8bd025978284d143f3788c3128adc3336cf929f0618c189a5296943967f69045042a6760b4afcf35a0cf1b4a97a5ca2aaed848b95bfd3b2fd9de8ea343d62a8c5b6f38c1a2d3f5efc1361c7f2753222ef1fed57c77d80f2b384423bf3e93562e8f0040217c26bfe2eb5d134417068d1b43c19bab3d629ac985898130558adfd07a8c0b37fb9a5fcb4e6492904d8e3d07326e821a94d05f75d515becb2f12db65cf25adce75c0d70145f2e6920e9ab0b645ad354e4bc661c9460da0205514c704409ff3f3db21e4ca5914d2ef9bbf650b2e4c4a3e03a7f46f36d1e1170cc39c4d1e2e4130c9e5443d4e67114aee7a11e7c58f8e3ee5e808cc80c372546f5bd4b50d8b15325699438e53fefec92bcea5279fe69687647e8a1a18dd4df5903580d31f22d5b78e1510bc885571c49556f4d9a7ca49ead96deb0dd22c04ca903d99d60fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5e52a500e90ada8fe8fa01c392cc87f30bcee7060f9ca9987c9d82e669356e3e11103fcdd1b616ac8346eb13b1df9e4a4e48a2557eb086be360cadcd8482334c67938a96c9bff2db90d353d35510872a13aa463156da95dbbe75d6ca83741bd4660e93facf963a0fb6b70a29fae0d7e2ef36a2afdc958eb7818ada3f18c78a0a33ac8aa16a6d4171b16e63894cf4b04ffd4d8a8b51cbf3d5fc3d3dd4a3037476f4867e561cdc82a62a332e5d7a7bd27b70409197384641210f9df7ae9a6ebd34e58c8addaaba2712398e33d96ad6c6c468721a404b8005bfd73b21cf692456d768ad0108d494d172d38b3366d3371d5bd887cf643b9705b966ac0702cfa0e257488e508636ab54554f6ba12d88cb29d84b7dbd762222b5998cf473c69513aed0e1d72dad4f838a954d8c6a5fdde13e968075a6c00a424767b4ba88781f8b5fb9dd61a81fc9626ebb9a6d1aefe38c5126ebcb08a3d28219c674d17a1c55136150597898e95894175d7273edb8701d6139aa8f851b1556bbe60e619a4a5b8bb339a9f0a00b837c2c86553a8fa0612ea5d6d79139ed8ce8ec58d8c4dc550302cf91cf2186b30d0bbff96d6266b26d50fd9b1f753d9f29802d7b2e7a6144fda6c2d8e25993b63986b4134d1fdabbdf8caf1099ca592fbb7da2f771d429e77915f4375cd566f9ba6cbd5869364d911dcf3df8b1db62651b97a54279d886cd82340e8f9c8cb5f00dce7f87b57b3cac6cf64314792410b671d9d2617710539085e620d8a9c2d96dd4794ccfdf42c1c1d1970a9ad6e3632f168f1ffccab3304d3391ec51ead5a978f2df930243ab5fe2250c92c4f4354f62d450eef00cf3c20dabe5c530d9a605a831e93a53103caf800bb23e7e58bc2b4762e738a85fb75f5f2964f119bc24ee11b632424fd4b0efb0709e3cecb3eb4088d15daa5282f4b551318d788644690b8df6211de422305ac57bbdbec10abdd24a785eaef4260879ecc365f9e170b7b3e76bb0ce784298167954a8c82122d748468bd3410931fadae22805da8e3d6faf17f031c45eae17483cd18c3fd96210f5af4d66774b6dfb31730f50db225c7e7fc091a3d155b5b6bebf9e38032b4201424a4b2df67e170d57ae4ddf62fe8b79228e7626ac11fa2889eee62c2763a163097e8c75976c2d4d225ea9e515e0983ac0433bad4f4d5dd127c15dc71ee649932978ee7290a8c2133234256cf7f5d7168cba0149e1d27bd27b13bc9f4c33dbae06e1c66409ef3c0ac1b1cb82d92728411cce4ec4912e1ffad0bab853a41f4ab37605ceb4d9a6c8ed2ff011e9e36dd37b5a4c5f799309ae61afd4165d7b925252dfd5a2e05c7fc91249106c6a0b6b8a617b99c368f244a2cdc0278267611a1bccb350bb02606691dd93e165eda97e6398bb6939faf2208dd03bafb405efd53a6079b8cfd92ae3d5508933cc7f9468a3a82deb4120988e3ac677a94bf919e706d19d7f541690e79b27e176dcb2f30ff935f897068432fd68984388871d9e2a94d5f4587eedfe978facad84f75aee6a7b1e6dabce1d9f2c57094f2818f6550bce6b87d588e7ff58140edbbd4c03304ce36793fab22516ef3ebae7feb6ccc6015597ec368eda9f296bb3c59ec821dbdfacdc0225fb4ba222b2ab20ce308397743b8be02a190caf850dfa0a5c7f0ff3e698a94cfbd4e67439d3026157971c48d8339c8ac1e8a045e73d5f082ee35be7c24503e9124b4e59dce5d4716767cd4cae9eeed87b3e6c86c5f143c348aade6df2fb8f8391668b87f25236138630ca06ea5efa1b10ed8f1f30edd8095e43f129552583a0f52964b03706542df07f3312cba52d3b4c776cce13841cbe5ab204742bfda62d911a3fa7ed1a6f6fcaca5a7297fe05d4f9bc04bc0c921e7ed30c7373e9f346128ce7e01ac56acc048cc289dc33731a2f16561d765a28c494df2e8a64e41ef796c824ea5ccc46b13d4bcd936ceddf778fc2bed30c6866d45cf169e907a0504989cb69b39147ad2a44d99a48175d3186a794e574672c04f4e49d7d1ea140acc4bfd2f871273219778f2fd791a191cb05f5d662264b03043b5ffc8d1bb9f4a11baebfe36510790d4ecca246c6905c421372a9d90d376aee7a3ade6fc3c27c8be86c5957861647ddfa83877789ca306abdad6fdb7abf214633a71d46454336b53739797a6de995e632003a00b8a25f4a1abbec054543401f61d92285d1be75d48337466b1824dcd1d8fb21d30bcab95e9e9d676ef2d353689774bbfc81220988c1e584ccd6550fdd5beadc17c2158fb89fc51990ffcdf54261cea51fd32197d9f022db322628b880638e1acb3d499fb6a82022b652f70166373be720d582f936ea38a1e4c5cb68fec7262b97a5b65641f90e780377141e23dda8658357a9a4e00afa76265f22819ac1d9815d010fe2aa2f56f26816473024b1467521f727498a81d419979c4140c36bfcc001a259d7f759e46fc0517a78d36e73f7ae0d977ff17c158fe7de1e3aa71e2348688acff6baa8b2db4f04431dcc0015eb44999ddeee08ff149c0af40d13ac137072c7d957d8b6312c992d950606df962b1fd73477368f288411ed5a869a120827c58c9612ad688a0413c010df49421167eef486a2f959db0ee34ee65271eaf72d872760c962403317f0ab02facaac37a96e9c2c1eef499547638f9a58d413a1b9c6fbf10bc8ed96691d0d4466c9a39cd0ac39a49133dbe6479e2650baa9291600ae1787e55162e3933d45b58f9d60fe04cd2fc39f47137519f5377ce962a17452fa1cb13cc27c63c0b8d13c6467bcea9f6788fc57ef87c7f9c808d4131a4689a93903e9f059ae541c42b8367c9e689b6d89cce5ed5621c5df67a0532962ace5d16fa178a930bfbde877f5ab4f503be7271234b7b2fdd52d8f9c7105fb8ff88ab20c8061f37ec1ab982731d8ddb31241271f9a7390904086249c8e144a8d205f7303c0aee641544620671418ab780b394e39af5ee57a58ac1a9639dc09feabffd313b8246a2a31f19b0cef17043427891e56b4ff0d77e3286fe9b9c81d94ffce23836af86008d2934d9c04624d1000ae9bbf3ec22976a5c0ed21bf5c09278de4c406b7fab48cf0c83b9fec208f2a5b956ca9a9c037f239e4cae30cd9e7ee1dbbc73124cde8b56d696e4943fcf0044d9f13c13bf5832dc74eeba57143d1f7c1933b054be229f331325bba4f0d22ed35d3a7837c6219cf5d51975d37efc1339a7d7ce37a7c753686c4b1e5d033680065fe5df58bbe59eafb46fd510e660e825fe7ea02d7af31f3229a3515ab87062849f3ad24e4fc4a4b754e9e8f94fa8babbe3d9c010958ef7d02a18cc8dc457414989165736ab9a5e662ccfa5b0f150df14dd13174e42ebce4ae8e8449bd76e3d073d2372ee1684573d6dffde547442cf18f4b65b43e8739612f6243292b26568de4289d6445afef805e3b32e94ea2e52dbbe6c2da2ae3d4232d445ff5e8699ffa756c667f16ea02e04fb9a85839551e404cf5cc0ea41bcc2c8243c1d307db06a519e185f646c30580439f1cae8c11d46b053c793bbd04fdae90aecb16c4ca5f757071e2cf2a3f6a4ddde86030f40a39812ec36da34eabe4c1cc33f9417928faa1ca9d3a6202ad19e44cdc3946bb8f111bfdff8109ab118cfea1d7f31905fc058c49378f7d1f7427b04b7df98f2f4a0f2faefdc9e43a81b031d4a4f07886cb6ff80bdeaf3667fbd91d28db098a3dce867e2edcf592146b1baafea8c20594bec52797a682ddcfeb693237eedfdd33261eb0e65e47734ca7b1f2798e4dab7a39a9b739204cacca55121cc1c6af1957ebb09e26d2d12c0dd72ac4bc8c4a848a14cdbcdb522571e41badbd5f1284e7ec33cc265a98d6ac9c5b9fafb2332b31fa6966447b9717356469e230c2ce043e8f714c025c13d3e279ed9a1db7c906421a1932c9c0db2511b51e1be53d4ef0ca6a9073c61c24b3c7215e57817d280efec1923e521893611bea7108dcddce9149cecd9ae9c0322c4e08e11fcd4eb7456d352e8cf677211b3a2174a29944481e2c2d8db15c2d89a35fc200114e3af819b4d4d6bb6c8cce816ce516d633774c7ac1af304b8f5af42d30566f6750e374c1f5fbfd13cba78f1bf42870aba1c81ed1b7d314dfed202719395cfc00f694f31fcc0d98b28031ff94ed9c12dc517b76d4d2a70be511d7191ae6fde1dcbe7b1c47e630d4e552c585ae99fd9dcd27c1ebcfbdeddcebeb71b072909d9882f6a1100531f0d2fdfe31ec888104d6016bc4a11f41279d11252fb55f900b9827683f093689e8de042e6774bff8fcc04790fbddb28d6a70a1d83b03cd8ab4182653de202b8efb8de863a71a27af486cbecf6ddc630efe666cef93505997f4ad18c53b1d769d28bd71b42a31b13ade1221a085e8062b98a28f4e2f2f116ce13fc4b49a24d01b16f6dd7406d4d5ed258bb09fe0fa0bd4bfc5a95ffc5e8056cef40e795a08651bb4a8df5d936c13a132107215ef7b43fe3f8019258364e2d39c55f0b28cbf3c4d63227e169097352c32096ca011158b473319ae181d6cfaaed850c52e5038db9f8b8783c02b28bed85c4dcaf1f7e3b0d7fda3650eb4182224bca518a29a4b1c1836b5d981db0ed18d0bdcc1842e635b21b1054ff3c395c295e53b9494c1f3a1f60dd5510ea19e81e5fbe458362a7a366bb3edb04105f305449486e42a67a2c6685414ca1385d79da8bb9c4be004a08d147eeb8198e4a2ed4e8d02632be8a667c526bd221559930ba6da3023058ba084b0b1e9fff833db8ad7082eb7741dbbdeea9982c37cd6251a9ca4982f06dca9b5a3a958f445b44dfdb67291c474df341bc700de0c9054efc6740450bb39cba4bcbba3d39d507a8506c5804dbfa81212fbedfe9bab2ae81980d9bda39b3be3252f1e6d6a7e251f46ff2e219a77e6b9259dd32581e346a278ebfcf2362ebd0b805e43f70e43e0fd366ba01ca4dff86d4b0149517dcce1b39a1095627974ca367ed35c4eaa39596726fd0b4d082e7d38fafc34af6a23be45e47002b2e98b184ee384515a4325315992e61dd957f0fa91f3858fe7c079de59f56edded51de8697bd01276ca0e7e5efdad4d10f23141409841cdc9d9ff14644c12c5632f58e697cb36bfd8178a97b4603e44f889655267ac3868c8cb9e282ca596ee492808ed19d9bd62aa6aa9d4c81b8a49f6598ca32b7c7c81303ee37ec6effef6c6f254526d40bbf6e98121c22086aba121aa5327bda0408a4d340268102ed89c18a6c00faf6d8fd075a0deb514f84aabf368db571f5adffee35dabd25fac13f652d8a2200b6bbc0382bb28b293a2a2f6bbe44122701c9c05f0b24580da947f7f794610d649c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a23f4288d076d85ec14ded413857637a71c9d4d37a65df502a807bfadd2ef45ca7d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66853bd22b4580a63bd98ba6218336f7e50ad3f973123d0b22c6fd3a2d245adf9b786133420ac961063f644112c57493d28b6ae96af947f6e3469a69cb286cadb02e2676dbe4f3478782888da3d2cc55796a9ab577e3ab2f730e3e221dfbd4ef624a2e1a9bf1995a620e859e82e771a7ce07145c6e2900a2951b483af7166aad1b6161b481bf3a98f952606c7a40697fe8e7c47028bfecd6e28b46aacce7a8c7f60b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea168c8990e36604c88895856577b66fc2d1fcf51bd3bdc8a2daf8ef9644f02070c9fd54135462353690170353ab5c2cf4c70596192136b08b44ad0f836e8e870a0fff873261d0929bfc9923c1e47f0127f5d50fe538f699b48d28775ed161870e0cff15ce55f3f941b8426b516147bfbcd0d58568568eb98061e4c050655738aefbe12b0921600f36a1975e5e143148df4133baf0785d76f4e2b4d715610a13ba949fd6c8dea8b398f96daa0512b943cb6ba2b69fb40970b2791ec2e379f133a82ad4489dc70d99b2ba2fff53fe0c2a2e8c22201d23dc70725fa515e3508f1e56d1e0c30c75305f11e139884dd95bfede16477a41a0a627bc74b94c147ea3280dc083fb64395495bb30fc4fa9ab3de042f39f5a4aa6499162b61bd39ca5ab5808c01949c9ef05951f78038fb770272fe2c46920889d36dc417ffffd8f36f083831b3f16fe181c9331d71697a2963008d352a99a8b74914cefe820fc89a1fd320ead35249bb6f2288b48d3adf04b47a6d50176b7c1061876b17deadcb8ee90ae21788f70093e7113186d01d548a50b15c4b842d2aae7f4a8253d60f0c8485f5608ed5ed3a8e63a765b86ea0ad710456576108698e4e75c7f8fddd4db9db13db7c7e26bb65780d7f568d53b02af58d36daf25becefc2af5fe806fd65b696ff881b235eeafffe6b9e5921a92865c704e763f727300c328893bafb53aec9dc9eeea7ae4af34030b2dd03237c014ddef666cbd8ac6eae023e1bacb90a708664dc0c2b2fcab6f2624a42e033eae224ff6057550500ee9b205297a574935093376763b114aa353d84bcdaed1dd9f00e57013ebf9e2c3a8270d2d0503fdb110d22e6881179ac7ebe92455276ec28c76b0677ace0265d53363c9c35e73b34a54b4e0ce116368662caa4a1dd7dd82ee7c387469503c51acadf543923d8b4e016b638f8b5e82cd7ec30defa31ed4f041ce6fa37bdd4bf1e43f01650e86afbcc19e7ffd00696b84cc2a39d3c0f0e7e5216019238675494730ab951dcb9c3b53933801cce4f111e166dd981a2f9e3cab054eefbe7486266f22e8a06bf0489dd6fd88977bfd5f3d06efc3405f008bb77b73a2e52a8db3948279cf0808b4acb7a7474a1abc404b501f72a3ed5576b53d519dc2ccf30a7e17c0a64a2685b994692952430957f6b494ee5d64a4d30520919b11706b8d9549766492faff838bba95b94485bd2f2885447f5c18fe4c6df28da2aacf2d69f74b003afc0205252cc98a632f8bdeb3b393cf730bac4b1e3f13fd8160411df8ce627c477a6275005113b3e1505b51d5a4515f98f26fdb5860ffc1b156fe97c6fb1ea755fd5944bb05656684ad5b260c771929a4013fa7702e543764533c8334ec7c84d1cac3a603cd7631543271236b7141b3483e3efad5ce732bdc63de26e104991a4409ace580956ea2d44373f1f9fa16c72daec27f0ed8bdb20195d052320a03f421eb6893b79436f57e4b2960b2357e031f5422bb4dbe53fe1cac5a82fa9cc23e65550d0ed73c776da4f05d53c3aac50e4a997414343386cc3866082da6a83bd769fadcadc1e5f92a7c46852c1115d9053fa3c5da9c79f3bb81d3ee441a849646c24f519272d6751ca6b879880d952ed88c2dd1987908775f05c4a8d99ecfcd48b5461e569d84c7891e6f8224a8510516c1570a04272435ed41f8e930b63c159d96c149f4eafb88dd02f92024f72907466f135ba55e0e4625e241c0cae8f6f2d951bc0c7f49d06975e0cc64bc43b883f45272431f1263f70027e2301e34490703a51a24cc14f4abf0826c2b9ff8bbcc3f088ad93417dabffdeebc35d6b78c1c0043135630fae8b9b0bb10a21619745cb36900a1cb829ed37bfa37d9d97b739437a147845d61c887c8b7640c7936ab77b8ea4e12bdd1d93136532f2765e4ceade22f4e48d8864b37670849da6666bf045d88595218e17b74797f7bf509e126fe99d11dd43c7397aa8bc5260c15151e1edb3afd8c4ce790afaf716a5cdc50070c17c09596dd865fdcf6080bdd875c2094a9a323de8f0e5b3fd8f85951880746759a9dc19a204d79ce3b0fbc3cc8da0b41f518000ab94e8116798f1beceeb6b4ad52477e0c017f7665861607056bd8ce96e8b4ba784c1e02676f940f374861ed1f2506c408098334145503a49edb02ff59b4fde33ea432df557476d22b99f12ab885711b59becf2d83368e1fdeff73d6a047dc43f0e231e5462f7e277f240e0ec44fd12594027e38b291c45bcae0183f625018c8a866e2272cedaa8fb644622c496b9885bfe1c744d00964c269ce8126945df694289e75aaa503c28193be911768de921907ccfd21b570a7d8a35a0ab29128a7e1c75cad5aae7090fa21349478adae4e20def1f17b047924fa1b3f194f878fd42a6ddc4a6ada06608ccd04af37c3705ab5293fe7c86cd34262ebcbd21eaad84c67c8ff433c2740d6a281e12681a6027b5f1fca371b7242677c8e7da513737adf1405a54d511432a4048a06bfbd26b7be68d7277b11303cc1ed2c705624b394fa3a1a230771222e7f8177382a0e5ada689669e746529301af768ce12ec679995cf2336a9766e3aaf1583c0662fe53ef8c4f31c6a6eadb57b1cc034361997627a545bb3a7fc73b9020d8909bf97a9d6a12f2fa3f92f7010bc48195d548018e1cf6c4ba429a73c3d52ef73efcc4ff2919776f6b6e33076f2339ee4dba0ec44e4f6328096a361f124de1a5cc7dbd6a8e662063a02714e0c8437e58014687738826786ea59d5027c35ef8a7c07c058b1ac213486bb717d33c08b600f9a0bf0175e8314ceadaea44cf3f29a95b471fda6f2a55625b41f2735a57f63b95ce949346f3d2db5b23fc11672d7832d4274c9265b7a21595bb9f9bfb069715da1045b705f9b4466b088f68dfa3b83878b8f4a7c9626d05c72606d9fea24c5a3e0274276fb38fa735392e7aa056059c1b29d2866e7d02ddc5f3915482701a6601cd2ddfc60d5eb9b1cce69c9d04fc5bac696a9758bdc1bd81e05d38643c9a480ec7d6be6d09e111f8bb197bea6a509869f297577f1f2e1d57e591e63bee729863b775a08e1b717d74e61c994dbfea38cedf6564f9356fc046673dc0ab4a6952bb49cb31f70f2754c17a43194e1ea8ddb057840c39c4805dcb2f7d1297bd0e6301cb4906cd80d7603605f3b548466a812e35504f8d307c3f43f1e258e7d76e2e591ec67a13034ed4ef37411253542bb442dc469a0d656219734a39701087233188b23531ca14fa46ffab86db7b557268edc2ba4c2dbf0d5e06d0949fc0e07401f6a22569fcf797126f730495034ff3f1f65a1f79f2916782efc10789d2da80c881cea1209404b0ee246b9c6048f182d573063926090f12005bebb40580ac8151ca530ff470bebaedae257815e20da768dffa60f3aefe49e1672f9156f3f2da6bd9113635289e6eb08e132e7561bc453e508728471ca550fb7f99a472c0569749f8522e3f654106a89c1bc28e663e9d5178b40d8c3d79f4c336420d3660f25d97d2c8f8956fe63bdd514ecdc0c0626594308b10f33495d9bc3672c8d2f84ce473f0624ca460e45a9959197e5fc5888fd24305796099370eb0c8d1c06bce8759444b2ea71cabe7d81f5b718b6c34eae60d39cb82cd1e8b8b0bb0a459bd9bc8432e936d63f0e3e31d24e2e43170d04a080dcdc7f0632ca9b3d029337f7e65c196f5326de4ab3167151d9aa598be5ab4ffe293caa10d087daff02befb5e59874b91bee9740149cc1e1029bcc06f7401739b55dd185440387c36238203f720e1b80569a753a26ea4e633ff630eceb4195b7e425f8c2bee3a3caa67a1fc3f174d25d1f625124def0e26d2a15e227f90d92acd6a7557daaaad8bb0c08eeb859c2bf1f772e827ab1611baa4e55e5f1552ca336fa63b37d5deb229cb1a2e99fb866253ef722a105bdf3bfc4eb9439c8bb975802b083d253af87c662adbcd357b8a053f67f14ead0ff4334cf25fb657fe194520903f901d6e731a098bbbaf9fbeaf2f4536597c563099b434ebfb1a37bc043dce1df9d9b4e0d1132bd221cdf241adc4a2b78b3c4bed93a091471b4edeb4a2dabcb362970226f047c71753839221f48ba4295b3f75eff7cd84c5ced8703182370c12d998d64af1d266802bcc6bf73f39d97c1fa2df6301e2bf367a7099715b01bf228276d881e31a19262ebaea32ebca6954ee54c2cffacb9e8654d1e780c9c4d722c2ee3c3fb925a5a8177f7d7479dc49cee5a452b06ee01625ffdad83b13d4387087e816b0ef6c1c250a5bddb17ad6c10f6d192cd809205f26d5a1dad42c451eeb8a36f3c51a501fa7b77f4c4be902049623cff9be659702dbf4fcf6347116c680efc93d9828874b5999852f6bfa387664bde270e3f25587433effcf989a6ece6dabca7a8eaa789d21aa1b8879d8e6540baaecab96e8581751c009b3ec7f85eb6c57241e35ed211a7891fae218eb924d5d097b52fb6bce293e2aa549bbd7687cc865f975171f5285fe7c11d181163916937e9e8392d0bf3d59276db062721252d203908b8dcb4c4a5a7afb8590ad25171d9ccd366377820d379bc6ee2244f6f3d0952edf96b9de24cb69537741a1a816596b400c2b78369e08f613e5e70f615c0978c0ec5b13e6f2372e794fc4b3a0b61b5b431d5c2df493a8d382526e6ae1c1b33f9564259467ed02ddd47799dadc7fee4ca429499b2b1123f33897328f62fab30df39a298063b26ea1e9519961b7b0f330e4aa737ab6b34ec9690dbcd516ceed458856368e513d10a7624cabbe2617703f7026981a91329d46b5ea1d8c896d94900825c47b0b70eec6a75036f164fbffeaa9547e57bebd5d6903e7ff2cf41f3f927993e871d3724d13c59034af61d63e62d9ead6abed74a1636665db92caf0275a65300882330e00a2f6db68dc67dabcb9426deb8b4fa6e9e8feebdc5351cb015b9954ad2f696b430a1096532a09447cbc9bfea231a23ed4af73a82a18abef01d9a7dea174bbc16e239a58f6971d427863ba14214de27c035f436fb19657e5256ab24323499e56188052db9446d811b43c7854db3f68aba45a6029c0228959a0064d4104073600513256a2557c8132540276f393ba2721228d41935ba500fdbc1cc6dbb5a1c7fbd60b096de9393cd61db7569340f1a6a4e2b4efb3cb1bc867c1a07fcf86ca1e65297e0d8decd3c30d97e3dc4c7934a2f7ca65cd925ed596468129413008628d5a5c120a02a5fa5e3335394d198ff4298667f2f9a2f21d7387d696c135c3a30a5ebf78106812d94ae3fea16e7e4c7d023d0b7b2d2cd0aff23390f873589d50bf55a03e9a5f98ab240e626b5f54d379e7b1dddbcfb7b763052937fe400e10370c0f17082c8c9bd6bd5ae8abb82da7231664c9aca0ec74bc5efb0b4310879850c94238dd8635ba5c3f2a680c41177fbb08492d89bf3cacdf0e20a8faedcad8273cc4c4c0ac30edff4233546599d956389c14dc71cefa393347a7a52fbf495210a99e0f328afe5d585fa0ef3228ad53c89bccd8f33334c49c206874c629e9c5affdee293488402a75e7645c40be5a24691bc41c9c18c81d8477f512b460d6c665d0563e30178e4dd5b1158af2683cacf64fcf13b70eafbb07a043b2ebfff21ff8572684f314a713d82caff382e7fe61ec699e84fce9a0b4ee9b13dc9527b8b25ca11e5c6645dbc5947403d9022c2f5f846e7c82013f7dc46ca62ecdca8e665ef4c07a8ddb588861d3f19fadf7da4cbf8372d41953dda34f8485471f7d9ddfc7226928fb34bc111c667bf38e0710298abfd98153b39bf371f311c0e60afa329e5b5b1a9c63425a9cf50f34ac4d20f8efce39b7ef9fe0ba34693730437b648296ac24850a3c38353c0cc6533d44fda8625579e794ee48888b3be54e00c3a9ff210de1ac9effe614521c4900ab922914270915a106560baf0e9540e2ef17f76da625908b19e53c9d8835794fa71e1f0bc136dd01ef7dac277992a830c02c40cb6904cc71b89d20a466244149dcdb9f718be2d65c430287f43219cfd3b293ec2313d1e63d08c0250910e8c3035bd0977ad14a1a85f9ced0ef727fb36e97884a56863660d3c8f162e7538b52ab390fcb0712c56b516926dce55c3788e666785914d31750d2b11fb860851f5f1109388b04bea74ec3440214a86827317d10e060374982272c96b46483369aec25204b46a430f8df5482b3260021c8660d3c935d7a2272d6b2caf544126d5eb38e8f80e82a7949adc649c5e7685f2b370def72cc81a28c982a28df577ecebe3e9fe018a9857a21dcce771de7c4a084424cc01360aabb6f98b8b7642ad040aeca8a59f5daa46fab11b500b23e4cd0acee608a039e922c761126dbdaad3769153589bd1c860219eadbb8a30b3f0f389a2afbcf0abbeea5e395776404ba72826a196d432b621e149ef8bfa7949ed442dfc5e0e7b113ba7c22654b551a0cad20656207708fd5aecae3e076be0705ca8237885b7fc010220e8ebac8d2540274553174318574d9dd6a8d9953d9f1e156e3c2b3b630c3cff0f8a15c75ad80fed1666ef929bff4173862e587ca08b1e2658f702400d2fb1372f28b7397d34620b18ea4e0c2fef1c39e3d4c59466aae0087391a15389016dbf4bca216547f6f977a7c85b6ae3f7c06a42bca537a36d84e080602e69eeb89f219bc33652e16ca6c8a7f2fbc4a7e85fa23eee1f8965ce42e53f99df683ad60d7b53c4a0de49425c26bc332d45e38e31a2a6e9f474288547525df8dc2de23d1ece47aa9ebb29392fcf9a051c09b602715167470987ed983637693da489a788c383aefbbdc378634bda4e1dab84c29343a74c58e1830237536ce1b0b0ce15529bde1a82c6f821c8a8b0447e0f7c7981480a0c998c592319ae604547acf477a4a62ef5fd8fc9c2fa6826f7d765cc2ff5b899e05c4e674222af799de956c3b477668b02ae8799ea6ee1606baf4a3f814df00da077dd8fb6cd14bd9ad803b01332df47938057618a4b1bed8b548b5452c056ae20c083e4d586239417454c274aa749b90f688f32b5a4a9f226cf4670c7ac38530972cf84d2c698f35ee11c5f8410a660af1bdc1eaa757a06959499d01f9967702b4a07d4017950dc0219d4eeae71d86264ed5f2f0981b4cb316c546d32d8645350b2c9265b83c00a7f20a0c522089a1d8dbe17ceaeb4af7cf28a96c01c8e17bd6c081e39de813f0ba207bb64fafc51afc270a42942d09ba99b9c9453b20e140a511f258ef85edff131f497211c41f786ba9cc641292247739b3af9677a0fa7b76f90f40fbbe2ba09fb847db1bd3b03b4593e4345ed0fa5fb5e492133a699033fdaa6ccdd43e94556b4efde3401f83bb3d79b543d625c2108a917ea6d31964b8eede367f12b825e637346288f6c86e61d5ba09ba7a8bc556e5a38eb0307967b523a6b14a7fafb4929d6c705c609dcb2561144946549d1fa762a239a0fd0d96213695c6d3182680fffa1ce537d1ea01e9f1efed04369e6bf4cf965cf28320777f1ff01cce70b2595abb19e1f4bf7e3ef08050c30da59b076e04b9716157fea8d54a5e25d272586685b5b26e625bb965649a7290111fc890e581769797c6ac38da2a5ecdfef9b72802ee81112f2ca46773badcab4876b26e7147df782fd62117ca038fa8480e07827a582d1d483cbf91fcebfc23e574a09e860d01c1e65d8608e7ce2b34e99720c891287c4652a071e4ab6c4b6838f891f1864b9d907c393446c7a9ebd444737ecee2393cd513866d5eae47c02a717e3d9371237353311462cc757566741bbbec474a1be911bb453ac3fd80a585094e7512a9380fa2cf7642783e925d5bd6828bdbdf7e50d8d305f041200543cdc2e110417f7ae93479dbcd3bc950675b40d1edbe70b3d03f59089c5b6d32282f3c0c3816a2708d3a68a4615a1d6490d4623e61f38a5e8e82e98becff2a111c396acb7dd31e12fdd21f6f4988e8f470eaee29ef586ba904c1730dbbc7b8ee83008520de7d42ef12493c571f10def4b2c6c26bc7a7419d596e046d072c9aaa08438653c49ec8fec4798b5849c7215873aa8d3fc9f228163054f709841ff445fa68f295f4e8e90d876c9673c9a28d800fcfeca992a7a39d094394405df00bad16f86102be3fdc38bb9852b55bba2948de9ef8ff97e121b3c09ded66b57df5eeb36f6805d7e5455edcb786ded51330e5037bd49b0d50287c1dec5f9366a4630303f35f282380d22d3272a103c5068bb940a87fb89bbf88da3bc79f99f91c8abb43f33475891562d10d3f6ce64f95f01c6963737669705a9b6684f8f1564e973277fa1e214ce791bae7a8dff30e2592f3697fcd2b0c5f11e470190fa08481e124c9a4cb0fdb60cb13bcec63b08662366d877d30fd2f68cb4bc89d220622cc53217022b0cb3657fc216e25b9a81c4574e9dde87aad265ad6ec41afcc6739a89de2c40e486f80d4b48d73d5c1f82829e72c1bc1b8a0b388d6e908fd4aedad6a15e4a5f1a84c6308d96668e547a5f5536914a297682adf03d57b6fa0de7d0db13a36e69f6b6d03e680d69cbd51bbc78222c6187b94e3f1ea05494cb5de32d7c8382997dc613c2acb42c2ac60cbbd2bc8090d2fdc22135bbf21d01b3d46df8a1529c8c48d6041ba44f468419126ec9b17af2b95ce500e2712538f50b826159ac595ce1aaa98a26355287dd3cda21dcbef73e7574b980b5337da72317947e425e5e241fce3685a6cdd1d73351a79cddd646eac64ad707e921392d2fe2c6fe329a2ab377f14e06e96926b70f3e19bb93e6f1178bb456748387004c1bfaf9bf84a2256b071f7a0821b4bbce2a5c222ace880aa940e24b5fd44b1fe742ab04d85eb6e643700e7c911ea44534f7542fcf1c9f3fa79a119cca2e2b150a44f9381600888cfec2d25e8bb2f51875d0b913785287d071494a34e315659b468ac2bb3ac6852f13093f6df149d583ff4624901c9417e56e81ae1f472fdef55d22339f1d870bf1af46ba67e5cb338c33bb6da825a91381a11ae52b4abce9e5ee895ab422a894c867d0fb937d5b1b3a7906f03dd74729dfa892512622c75cfa2fc8bde7074909868544e0de4ea73109e5532dd1974e23b2983ebe80326734b026b8c48811b1408c75e657dcab5391e091b40a8817af0e4b834c9ddf096198d41189bf4fb8edb547cbe2e95acb3e80f4305e51a8e5bd8e750732c94334fb59021e099b1aafaaed17014343783591f99b66a82d1d6bfa44cd8becb3b8fd00c0b744b21e904275bfeb41fbb24aab71a304fb7211370f27466cfd6f3eef75d1f846d236415731f06ca3c01c90e13b3879efa2600c3078f2ff06975b5d1e68d4a397ff2406fb3f51eae84dfb4e4442d49104f787f6945479e1a45d52ed98464886e3204a6c7f9cf9207b0429cbd664f09d06458e5747b1a8383961733c8a5c7698fc4735bdfff777e88844eb89d87051bce9536b6214191928c8e7b3f8554362a9fd2a8b3b571c6da953e93092dcd0c65045aee232f3dda9ffad5f611b0e9e35511d15be42fc2f4f43b7ec8303c6eb331b5a3bd0337f6d9eb680781eba42e4c87738d75c47527470f1d893caa59886273cd3f0c23a5f43efc299b271611115dccba5a33376da377398c517873846d4644389c0f06b853367cd3e6671da36927b9c09f377469bbddc11785de08e6451e51b497a2f84e221224b3abcf80d26271f547ffc884aa054bff3e552f678f5af051c6ced0ce84c3cb0c7e1e002325e64d9d275ea2918183e086909859bf6521f837d59390169b3f3ea5e4e8b8485f82334626589f36cd06bf919ec2f137a2680fd55a7ea2c52bc3053ecaf91260afcf4ac9cf11892b221052e0a2279cc34326999f25b69200a5a8f460a2e29bc712073254c0febfbcb795f5c99fd6d6670a48d5761d85d9c745602cca4d93792c9640339ff4178089c9540965bc2d4a1774809132696db6ff62aa22462de5d9e0b3398ec708d7db25655f70c81517ae84c550f91dc60e77b7d032848416200c8d9abffea78ca2651184c1f1a84d1df9aa9935872d3895cc26eac412e453525f36f25b26ac886c3c28a54c5e775e03490b628bc3d7b485c60526003d5c24196a9c9d91a644556bad3ea0a20a06ec878a8a045c194664530b60ae01a47195c32c736523464fc523c5f96fbd89b15a91f75700ac53d2678e95cd5ac033ad6948a3b2cc7c5234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d76f685035b29e86d123a654971256765e54d33e71e541b08f24779ec67df667e9e52845adac4d25a02cd1e4a96916a4ba03c78b8ed6a0415993d0ecb0d702de5ff6aadb4c3a5901564c3119d360027aa1645207e898b871af41dd6d7e86b119c347146813e08b7efc15a3d7deb33b9fc49720f20c209dd99d817cb61283cf9993093af08dd74f85ab56bb81ee97e6be6940adb8fb2605e2ce2988de9ef153f6a74f34b715a4c6d5feebb669a99f36ca09ab1ab1c3fd8963688fbb37a493f6399da1f80ed4dbc9fad1aa487e899ba6219199ef187bad12d504b95ee41f734124677df2e7d0907e734d0b562d55deb507925156b6165215fac33e8b3c3e8187e45d87aa07bf633e1f2ec237092e1ee07cb80898ed2c9b72960cb998f063e7d9fc197f0e742fddb8e54bb7a7a38c3ceec3f2a874220c9bcbf5ca346a9e89174f1449b63ec37db187c94f1f8a10f4fa234fe0d3a61cd5672dfa46223b390f91f2bfd8fd13d938e145b0ff726c9294c35536f26bc3ad48e86af231a87d45f785e02f1f8a7cb3b75cb59a556641b64880c62c8308099f640c29cc11149051ccbc1205d6d0da23c5ef40cc149c9cf4e0b8611bc1eed37ce9f1491027daedd508f635fd097ccc134b0429468cde24a9c8afa1349b4b4381e872338fe8b7c74bbd5f7de1202a772d86f8a309b1f43467dadb3802b24664d2d5c8bfc52dca2917e95a181f668c57f2c935dae882a46e201a7cca356125732dd370db5f6a453b78159b5339fed3c8fb20d20f6e03386455e9b46b3ed218ed591b0d60f6de21a5810758b10cbbc88491010253ca357ed8d011896a8c9aea17d564395b7346abf84f70729cd64d24fb642b5d4f3d056785e52995c05b5c23360f7a9eb7c7f8a26c70bdac514fd573742e041e1875e8029f1ca6e3db17cdab060b1f8e0de0b7fa60a36393eaea14a16cab41a8f641d77f5c3cb94e7ab34b15c97db8f816c124bca9ebad53340c0adc96fb82cf119842679a3d109d48242ac2c2ca3922039e5951daf24e6cc5f33cac15f90a54c3418581af3800b6102e5479fbe87f4047d554df7952248f4a68568ad6c8c31d78dd9d8362edd03a977b876d052a2fdbdd52e573c4e8b94dbbc2a7d8fcc61184282baaeac3a0740ecdeae33f3c21c5c642c1da4d9a539e9625de8a51bcedb62e27b55b51ae64cec8fa0de2beae029c90d6716f269c9f9b7280c88436a9c327f7568c64cbdb7f7083365fe5ca2bb2ce3dd0d718bef9483efdf6ae52936a72596d88a88ef803ca0c2d7840545ceae3190231c000b55a7e63ab55fd0c1478466e40ef29d7d9ba8396fb15f73f9223e69e40e445500251852121bc76dad3f1c540351e387e1b80aa8ebbd71ceb024e3d528e6a9c5596faa14485479172e5d08d9cf068d24f3b9d1e1a14fde7db6bcc1419174e9c1e82e30119e2327c39b7eefb029f7a851a5f4182bbfbb1752f0661d0e78fd69678a69a88b8fe5525460fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5e9291764645b099b17abbbd52cb0b18886b7fd0bfe374b862eaeefc6b66ce1d4f7ad11b3bb9a62191cc6e14fb9cc633acd9ee2ed176d1d34ac35f0e8d2297f03c5e5040102d36ba60d10c79f0444ff41935670a3e839182b913040161e46584e31a6ef094fbca3f03687fa11fa70fce5205b9a268a1fd321a5e979d13d3a03ea2f72354a60e3b19085233a2d6e49ee05fb0df0824e0f30adbf8880048c912bc0bf7331aad49173dc1214a06387071463a4aa4e3b9ff70a0ac313a89440a493c0cd7b3602f587b5d690141bb01c5c902b9a4b676611ec14d0a31a805e6a1dbfc4a7f0b5a44a2bdcd2d81203dd6332e0a9f20d84fef09846f6625d2b0b78463669162a937af29babf7c3c617d203ee2921c73579d5f7513919c0be55760e785bc97932fb46c0f885ba90939dcdef2970c4d85201a3802574d049f8b20878904d5c3813bf11197b800a000ee2c524725765e2da964058275193b513e1daac6a40f732d6b13c8d2a22d11d024ecda906c7e336b5c6a5589b01ed30f26d134603d23700553bbfc060d4aaf7d2e90fd2ef31c3c52dfe8a3fe0d95af032a78637b22dd35e19d05921ab82da6adee10251147abf488badfaeb5c7162daf573cdc15035e3553c661290bd0c8cec08386dc90b5c78f09a7d58caa68224061f10952b907568dc3a433a99cc8dc8c73d8800103dfbac86ca15f468fa22471cab4f99d07c62ab7d52da4a6389c2c0cdae8767c53d91345ef180823338ba79f332816a0a9b94113e16124629894a9931989d3a6dff1ced3a4abae1559055675edf0cf6cceb07d65eda0aefe65bfcb44b41374563092dfe56ae3f56ac04027fcb93d630c813a1fc26abe11c15602a81058f4b597e9e5555b1dfd19bcd9fb70391fb388cf1b8f577419c86eca1ac4f3aa40f5cb5e3d84c5e6405c4ef285560a11ea531eb7df9db932afdc8d6dfd655d43528985df1956feb30ea4168dbb85e312e2a7f91183289d7e3be2d06f2ea032e2fa4fa83d20fc47e99fbcbcb9d19c21420def456ce7cda6107c6aaaf8072d0338f18779901a11ca16cef01e9696b16973febb4784ed9e13d47fa180397db8fa708b73ff4165c8fb33ef62c885be8e2f91133123fde54d1bc6d7784c190c56c8a48d94b9b65bb62dbe491dc61d8ca8170d75f15cf1d80cb4cf311b533eff25f86a3d8534e852cf091c792384f7d0bef43aff7965c8477f255393a6f5d6e58b31aff1d95f8c607d01a2b38111c6293bbce70b5aac104ec814c6bf35628d268abc39860aaf7e8bad7a2664a8e4845553c16b794a1278cd1a9160aed70f3493c6a86071b18fbc725c02c916632629efc3e9b49d6cb947110142579afa88586611072d9e681ff581d91f5077ea7d73fc849c8545985ad36ceb9c14d1e7bdbe5b26676d1a11b3cffc3524a8d2efe754be1bb30d066ef6defb0293b0a47ba2af33738e4fa6062572f6b95911ff09728d0c2830085e378356171878677c5b1b4a4e5c5b2bef67af651023a4fd3d27c7085187ea04ee70dbc1d726142e8af67a7a8fe5edcc75f70edf3dc52fb5058887406994324dd5a4c0de9118cfe591172a47dc45349218338cb9611eb3122edaa737184ec37d094a6be8d28fca58963e5a3b8cc479c1a039ac19fc14ec96856ee401714245d51e5c09935e7a656eb12101d9061558d0aa00ce046362a336fbfb133e703e776280ce2590409ff34d82e6c4a3eeea23a12fcf3f4d20be2f137f82c2ef30396fbb2dbc6ba3d7f42551c68bc457478bb2d6ad5574dbb91d30062c62239f80157197ab3d8763d3465726cf02f02de0a5cf756697147ae466154936aa8c3c9b6dffbf407e5bf366c5c2a5915ad43bcfedf5caf27f0751f4bf6124a36ca4ded1178e088f13ba155598adde9cb611ee8ad7534e1c5d865fc6fba070d587a33c424fe2b0bb1205e9c64af9d330999263e807b82f2caa74533d4d9f134dfb3ff04169457815cad3dc1437dafee0e58e92a1412d4d3d89e89f0add7e56d313a3288186a419f49238d90667b8282883c1c7d89a31e1f26ce2f997c01803001f7fa06e5bd2eab45d1e34724c3f1be432a2b0844041690199cb5703451bbda20d10b4eb30d6ff1dba791607964cda853349da0560e2d56783f476da13ee88ed17210b560a8e166c82d7b18487fbbf3a78b3183bd6981b7ecfa7b6f682ed11b7afdde41307dff0b4c560f35b51c383d11de69ab3b1f20d12b980d1eff0243e439823ce01c01e7d14dc7f3b1b8903ad459fb579444913657162d1c240c0ce13223b171423b498217de994b3325cf852167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a292bed7e44da5d7566ee9c55584d4d9b6bc278314f41aef0909bc3bc2802305c07cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb6b6fae549b7946be7adba3c925bd259a9fee79c83809040406d385be2515fd5514554573fcfe7b9311c461253d4c427cb406594596aa2162fd7221b906c029bc2716ef40c102b1701970c7b0c34e6633d8a0ea1c89e7527252fcb07e63074221d9c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a127ab9ba688e3abb2b1bab1fead008bbe452466614a4e9bbb1b6e085667122d97d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66b3190d3e10f0b603a6a873690438ef191f74245bc7109aa9a0c7525d2cf3b015d9c7078a4f8eaf5f4a1239766ebe8fe96f538de6a79804ea8d0c97925af0f684c1597d45550dd31301257e9e3ee4e76d07f0bc322b01042eda73b06bc726b01d0b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea0db992362685381c6a9afbbade853cfb0580be330e505e45f4590457a3f8cdcae0bdf79d4596016f7014e41615a374b4f65ce9ac8e87774968cf5c41f2724bd6dd3036e0d62348c79d4c05529cfbfff83629a071ced7b369ab0a585fda03404d562f4e33492358c8f9d40495b126a833985426c3b1a93b84317fb61d7b59bedd84abec704242d010c347b18b4f5103cbbf4e408db36446f7006c22362c4e58b625258e1733c940cdba6caf385a7e16179db8ac8e26b944baa90ad38028bbae389032475fd67b8e00e6baec7cd94885f7bef11146ef58f152c98d5b2d0b214f42ad8114bad83b04e3bd795f014f4adbd9baa9c1d1357326dcb472334703b1d3c3e5547723af2669efec6fc3f4d5c0671f023d445c36803b70bb1bae899b0b9b5685c07d77919098ef22da1a2ceccd38d7ec702085e35fa490b19a96034f61d126fe2dbad86907e57ed3be2140c4e4b3fbf35343167d918178a3cfe6a1edf028bd23c6741d1a3ee668cbeedeb2a95ed4503907c6bc37f145f6aa6de2144059e5f0bb20e6506af2a901299f8586fe696f7ace9e4a47349b395f01a9799ca7362c33464af0a114e7891be2af258553495245ead1c3eff96c2a4e32baceeb243fee14bfe27830f8bac00a07f27a4b97d7dcc1586731a1dc142d6c7b9e390d91463fdc8f0cd34e0939d909006b37ec84a3a69a7d894687dd60536435c5648b3ba77f3ba3cb50bc2d191ad1d1f6816962f8eef56c5e0a84f03a303e84c5cb87a11a2d0504069f8a92a19e239014ec587a4dbbdf541aff28db49231c96acaeadba5523a060a82019ed177cc780191fda7236748b69f1f5ff561705ae16df5fda2db31a08b4c139c9c673c2e5d6145d39955d55565a1c141ce4309026c3b59fe31b56cf04fdf84da337b9424cb3a86c23c56e6f80f6bc556d7cc2bc050b3c6a19c5f68cc97fb47e720f1f4e3d2a5c4d9dc7f4c4b2a71b86e4e5dc3bf3afd8f9c4f4643d3b94ffcba7e280f6d8a719c0fcced11de897f7e3fe7b3cde030c8e89b436b3cfe5cf55e8cdc40bcbc5b943f8c8da0140158a50d9d0da9118a8c5c05f6353a41fb5e7610a59c2700527ae47c7ea7692b002763e0f154560454bfe80739ca40c025bc49a7d4011994dbba7fabcbe940fe62cef70e28bf6ed691cc0e00a5f87fc79e247b05d4d3f56d659d558310381a058032dc07ce27db01f50e2fa717957e0bd84401e71f07290b9683be88ac735da24c95da21097a112b64daadc226e6ba47ff0b5238ab0d6badaa8206a2341ce027d3ae9789cc3f2be2ab39b7447dbb84e6855a1284071b3cfac48af55d33aa0061a7ee1111f0e81579ae79a692e53b6f31dc8616f278e545a9a82cdbe154e4b8600df263ad415dcbfd9af91c8d984332fe67f92e9ca04fd8394dc8d318d3ff6c263c1e747b03c5b79c1748f7089177df495ef23fa1de7d0785e5af642941b0840fdf0a61399a5bdaf033cd34240dd3a3f0a4393c1438b32da95763c3601637a206f5a134601465af22130b42d1753d83d3d90345a456bdc86883bfb58582cf61d93298daf7a7a662b4105a98c34886d4a3ad2e2627c942fb0feb43765cf7e9ba31c84563c1dc30461a2765c382c93acce8c215647bdaf2b01a89a0bb475b184bd180ca8f66c8c833ccff670acd14fb692605dd4315785b8d6e1ed0cc66724ff7fb72d2d007ac888c2e1576506795020210289684af409564622d16a6c4a2bed656fb3177f6a617159f8c0d6fdbf1a227b9940a37f9fd4c57d492220cfb96627b2636770e80c0e5d8ea57bc0230b3edd51ac54f1432afa38a42b1ce8adbfdf05b7d57378dcc80ef53b19523d1ec60092874f11b80572c8b71f779784a30f1373b18837c5ad79099977f8035141cb30794ad493f5641b5d4beedf14131fcafb41534aef92b8fd03756397dd1e280fa3e9e6356e3358763046736f79eef7406aec27f6c22b4701f50fbb3888898f9890718d69c012d4fc8bbd0a98cf860eca15c0f1fb63e91fa1b34ea40daea5570bf21b2beebafe799e771ebd1511db5e3b35ac4c65d841e631c31f875aecaefc15ec0dacaddf3ef50db68ab663cddbd131bfb771621fb21be66e7beb786dbedb6111954dff7a512858d5f9649cfe6539c6fa550aeb22ccdec86822bcd4e1c0177c58bcde636be593c5a01d2da03fc7bba209c3f0df8289b379f3c64c742e32a52905163b384f2f40deef5f3d999f56f5c2270a28b203c74144611edf0a84047109c5a3989956b8fc2dc2d143c99b14a4ccc13788f1ff2958b409457f11cf9df965b33a61ab9ad6ead7b53f360cf0528743496f252b988fd865dd0ed3159c7afb59fff1b1b63043e8ea9367d0ace229e779eb6d1e99f81493439592a224a7e80c7402d2eb7808c8a108cbce80ad203d6192e21fe573dab10d55a18e9c680bf71827e2f7bd0d3dd9a7b6ae50ad61af2e6be3bb003f0ff2e55b5d16ee4fb71e83628d7251a8cdb103a2c208182d8087bc79993c097c01eab65d5efd47be2d332c9250482774bba53124f39a7ebe6671b90e5be28555f0ad486d0c557b9011b376d4c50689e697281f38376f264c6fce60cf782809804243d44402bf73e5fc183878ba429a93d991306c6e0473915beb460ac02fb574550b49577f56443043d9ffc0a5b237238f645cee6cddb4dc7da3bae41ceb76dff6813ed07e2ef1a7b84650072454426ef68f1a7052e76cac1d05e851b86be5a4548ade857242c51edf57d25dbb84425bb9a5c0cd5fc493d28eeb48d939b9de3c692d3e8542b371d6a73c7fa8f636f21eede5a701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faa6530dd74046b812cd7cda9cb82ae6f67d1c27f0a1ae2ff33a665e75ff19fe5bccad02b618151d30df81eb5750b43f87c795f1b62e4fa770ae93c5b7df0bfaf55a701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faae27b00f5367d8878501446b1035d2d87568e4ee6795b9015a0cc867a540aff3ac104669a0044b8e199eb22f2e51f71e1078be42c3a81e45ccfa113d0dbda3622bb9979cb23d39168d90764722234306a6bcf06e56586ce2e273b6209365b47335ea9cc627bb79d0b180fb8610b60bab684bfa7513e6fa80d9e4a572ce8c8bb4b08000d0a8d1fc518197bde4fc73dde655ecda2970c396edcd8bb3210aa9c214ca701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faa4813109281acc8860e78d61be57e6ea52767138409da1b2c2b832b45fc0e3d17406a1f6f9459e94eaf84d1a64e1568a5a3b31f9270be6809820f64cc8d30e5323c5a1da13abbeda318a43bca4d43a2871a6ef73a8f1e94012619cc8d7ed017f3b291d6d242dd2df4f095e86b3b868eec6c5e8d04b84555d89afe06fb88a46f9375d4e398e826a9950e72e35c46e60697e1cedd03c842ad7986039d229a73f9d2a701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faab45947ef59bf064c8ceacd9b8e57f63447263f08ab0d246c33f040ca1b6717e5f77f1a601681a832397d52caf0d4a88334144a17ce3d7d77552e3d19aa08e397244608c6131e93adc5a8e7570576291998783fa4266aaf9eb20fdaaa2881d763a701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faa6886b5c4fb58c25c9623e838b46ce81a83e10cc5bcf8023ff1e1f4da6f3d86583c07566a91d987e400a8f8e466def607d9db9f7de81dd4132e293be25f6bb2d4c4194d83700fd5e1664d3b207e98f5fb8b22e0d78f230546976cb1ed72ff94d7a701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faa971e232e410415de9720d1baa0d65113fbedd7e1bc0ab6501395b4bf22c68536a2e638e911d9fe8f197581fe72a0a2dcc06b214808fc1a81fdf245993273c33d4d87a4c4de23b3e6388f0b951d0348c14cbae32625633e23ba7a4f24f831d535a701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faaaea90b72ae4e8fb899000f2b920addb45f091d161ebd5a66d5127f0b277378f505f76f8ba3ab389a8ec9af9d0bfca0d8aef563991eb9e25d36d861f869f57e58b8f337176a2de45fa47b70efc7ae9c209761511188cfbb3af5990013d7111862a701dbc70e24a38f51962544f6faf4f5ffd774b3ee4e412cf57bb07a9a1e2faa85f9e14ed9a3e53709a885a05377f739a7683e5fe61cd7b700286ade97a3de36ee2423383a4027ae0f075c1f3fd5826c577cf64e205a1405a3cb737113d69735e100714dff45f5c0b8ca0125beb04d1d0de27aa66d03857923bb28d5b19460573a25cb642b65e8b295d9d485285002023122835948984f39fb5c74a3622c6b0e977d83af37733e783efe32f20ced1c3b22383119d4f1a7351bb13bc7593df44cba68e028baf4e2394434611e16f5298012b28567d55291639bcd0a23660638e0a5366af5e20e5940155bf66b62be5b31ad4bbbfbbda14d61e267d777e5efa62f8c4b685f12e00d3e7ab08cd7882a9570d1e59640c7222f15fa354b28989dc20f3435bb486dd967fbb248fec94375795e8c4be2aab6e98ea8d65103cbaac1ba4370ddf2a1cbbd66d4238d35c389e72d7e4860e4bf03d92b6ded0e746392a4aea7a0d9129488970ef19c69c6f3acaf1e0725db5bd6e874337b4b78665151831fb4d4eefaf2c2905b54469a0014b248fb204a956c8525383dced897625301abb3f1428520e89fb56ac6f7345c2e6b749ad752459c617b6eddcef271529b1943321ffdf4f67c90bcf35f51f8a49c423720bc3d4dcc3c83c18a29a4c5b002be15245ad77fa95a6b919d52f42fa67e9822f27e3d285b12d835d1e215784d505927ea9eb088786fdde1de07e433227930fad59e4a0153ea7fc315ee33bdf3077116f327d80ac37c1aab25847d5b94a003d73b20745ad8ee1d9454c432724dee5d18bab3aef7e040278d3c9a4f33336334822f780b70e7de981d744cb7b9c3e5acc836933d9fa3d19a64a7ea04b044d6e176b3b8d593c328f450d73d4cce16f3696715d454f2f1b7fa151aeea7670323da4decd135774a9993ed3bc3fc57a267f48c0ce5efa8a0fd4b2fd50eba14a904f49974917bb3f1713e3c8260655a9e2529ca1c55612761860b4a4afd385e02f3a9583b49a193b4721aaacf116fd4ec01b21c1cbc164ebe48ffc4773af51f5f423a157499d14345b4a3fd15af6f16982e5434cd6b962e0956be76d2bee24737b2995b358f7e241fb575ee3672554aa2bf5ed77304d2d5b098c8bf0f5011f6313d58c10f3a61acb7f76d4f972d60325e88972544b75e5e2d557331d90c18532dc7960351b946980aeae44649710f18d7d74e3598613f0bf32919274a2ab0e1030f2d999c07df20f500cbcd3dd674447482792bd75454d7937dcbf65daa87d46eff620f92d6bf4d4fd211935a6405ed752d9fa2ee6b4b8fbf217ed74a4fa8b1d5562c15ffb86052d4892947909c512b6a5ec49d2ce38b9f17f12a3fb1bc641caeb71223f16162ba2494573a031ae1faeb8dfca0bde2cad02ee249380e63435b8c99a9b3696b379ea205adf9193c25a49436edf92484fdae12737db98210841ad16f323126772d18b7d5d23ab73de120f26b5c8a9665ac27957f2cc5d50688479d9070a4526acd2eb97b7336c018eed0b38d8e85c6137485a1ed4a008691aef9fd6b62cd3f9758b8d7201b17a3a83967e11a2c561270e7bd14a2a05fe8c9bc55817a084c39833e3a71abc18182e8c63bc3269c1305d19272eb206c14ca4e3ce0d5b0aa5ecc0e299c028a524f6c4a04605797e07943a72da866f9cc0ca9306178534ed3d20bb5ad5ea219308b150bab16a3477723031bb818a01b8a2792ff5c043928702e09d0924b2bcb5bb35f4966add1fc14760d189e08d506f66899d08955f80935ef976621ec9d63074ba2fea6d9f9f1983ffc79257dffd116a15dae4ea9e1527b360bcd9654910cf3d90fc115c8af365a31fee5e76482383e3187e4fd2cb1562ba8052f7fc1b40ba47923edf565824fe59e468db28be4a50b5ffb5fde0b22611f8223f443d726c7201fbc2ee50e19be771c03549adb83542d1bee24a01f10daa45c7fb43f73f6b84df82c482b126df831aabe442b2f6942536ee55deada05a11434d15d7442285b664a1736e24abb053be826a45b3fd1702e9ae277141fcf02674e4bac685c9677d143894e34bd872b3a5c1378b0c1234ca0e5d7ca626ec890204e244b2ea09c8100daea01c831347bffc8d67ef170d39b0dc6c89e00f0515cc9b2f881d4d6bcc56c18cc508e4c13d8b48ea4b8fd13721abf32fcdfa79a2fff0d745c5b564d14cfdd86459b0507a60201a3f7c24f4d2d476065bb187a269d05a82613c1bd95f3094f41f2d8450d8d6c217424b1667915881b6663314e3d7a89682acd8dda2591905fd71b03e2bfb56a180b128a23051d84bdce12dfe3101c33f4f9f09821e8d32a0aad69f0a4a5256e39d58790e82a42d05b7bf18cc7377dded1f6ff8f29a183f2a3ce301c3aa3a46d2d06b511f088474b31f28829c08c54ee4a4900d59e57528384ca73feacbf4f8fa095f8d3dea4ce9658f7f63bf8f7f69a91e3d049418a111b1729db5bf3c006801033945cee68e124ec59fc67a19655cf19ebfc420a54c10e95747eb3872c4d30c67cf7a85dde520ef2f052745b83d0ccec1a2ce8893557c75fec7158252f2028085d5d511c8ebedb7bfa1c83a3b8ccd0c7f4d6796c97f1996a9574fa26c1244e63f183ca286ffc2ba9d766ed6ae516dac69afc70bf41316579f34f2a4b668b221c6e6c7d30430df011b8198d2268756ce9ab73a66dcb5dd0222ab1de5e0e9cea0441b85a79bfa69e2f5f1e88d68ce128228d249011a812b45b7636fc39fb80f0ec0e87a53216da2e0ebe094d8fe13adcfae64f3ce2cfb47bc0d56556e6c46cd292150f56d6a0a26b43366a9c4634a2f179cf868b3ca96599463c35d5b3ed0498e56f753b62f7123ccbc4a6067d8a8e31486ecdc6f143a594f7a03b9f2e131979257e35d9757dbef1b6609636af2c7c930c60cf6c50fa06c16ef67a5286662d5132319b890dcf612f755d0c7d8ecec5f90ffc50fb16712dbb0194e13894776a3bfb21095e9158a8b58f6b14af5fe36001993479ef98dda3667a08cd0312b13f157e755b8c78b03fa4eef9638f1d850089bf8e2b7ab30dfab1d7059f29bf2b6943c2e11777973ae3165c705f39e527b53de80f27cf4f105423e1332b7484d986c9a0dcfd9928137e25af4e711a55b9e744e34997e7f03511d476a940c93ae44fe97a4934044681b5045ef52b23992a21ab8b245e54c7416e9ab9fdbe7f991d83b345fe98a2a2e8e60c85b473a72cfc74b44271fc4c2e46d987cf43a39087004997bae3580353807d2a4bdaaa84c2b88ebf0dead1b2ff53f397b86e4e08fed322a0854d5053db1059143d8d5f7fa94b867a0c43c27d710bfc6f7d9b21740330e475763c2cdc16a76887a8162625b34432cc3975672d0673fb23c2f6d75775837f465208a56d1675d19ff0ee2cea577eab9ef5cd64eae5ad17d2211a9dc22c1d13110f14be0f0a48eebbfc647c1c2ae71f293ef666d6c109e2d288e74b2e2cdf71adf69629f73f58779853093b666daad8f273f540e2d87fe5043460e49dfbbed64ffe0f75d1cd3e589a4aa8136a8b1d4757bbf8aa6df1fc211d5df42ecb3d324cca6cd551c205ff50e22e788885da8c33ca79cc6c478654f86e25ce2a0026a8c4fa39242e646f865d305e85bcaf3213d9a12ba28b315bd30bc06b7d63f293869bfb98958eecbc1ee8a66eb86475e7a857a121c5bb7de156ccf31a21d3301f8b32087b05092740b38e3d523decbbb0bf32db481dad27e15d65705c1a6ba06cf02b52a929a35c8551b3a8cb033261f7522969a30930457d84606092275d4a17245ce35e5539e3f9a772cc27affb9c35d35e0955c44889792d08774d1a2a3332c69afad8d57fec7a72b53bc7c2606536b0688f9a70dd14474addc56f640a4b42757f93a04c4201831d61a4db8bc4446433831aebe0c3bbb33a2aae2019499db6458147b586213c084f8517025b934ae01119a5b63c7e37b8bef821eb7f90525c1ee61eb19e60238df5858c6af4b64e9026b2c183618094578a0868ec2ee70ad7baf73e617db77d705edfcd560a34cf414f5ee2825e7e142942c758b9d093dc13ab803f62ef235ef7b8436893fb4db8dbdcd87a3b2a7662423d99b68a2da426be4285429a192886efe54fd95d885c008ea12109b86f9b50a645557b3c0d80f7c45b4f74bbd7b7ba580dfd1112b5824bdcb92475e0ac296b04e3f8480599607ac75475f9709fe2e9c2e51ff2dbab7026c517b05bd3dd48d64cb7aab46b1f27c607d6bbe162aee14ec0d9f033b004011797535b714709c11ba426ffba4303d970d9242ca621b81f3be6ac3906e6d808b8bc6f7e385c6f1c421be0809df7b046e7294e170e11f05f7d3d8484a61239355e1718bcc747b19c71c0a2f4d8faa8d0a19ffa5077972a874b95b6551d2b32a6f411bdb6389160f07e9e2f5d9935260c9f2500a20e38a816e8dd84c8f3c3b6e0145289fc1ac6c83c90a9ed0a6ac5d144bf78b77c83c0f240e60514d24b468af548850ce4de27432b8501bba98c48e9ef07d98dfd158954629fe58e4204e1dbf65c810f85fa6c80d416ba3e5e3d0dc2e910b51d9ecff96639b55dd059721f1af95c3ea52eddc86bd1d1c1b5c68171a1aca19d82d06d3eed08b2ae4b60931853f436fdbe2aa0624e915af7de5472915fba6b7d5e201b8c81bfb5bba60e2ba1d85d255513d5150ecb8f67f4fe84d7786ad7a068980d3263528b6bef93304f38e8faacb2358ca43b8b01ff1d27a1b201b3626928820af8d897591a6d962533a1de8c0f7d99644a69335209563ac98199c718ffcb2b731349ea03c703417256f56c181b34f176d17b2efd8ace7adadfcbb591a56bf10c130b840c03336c079f614b983b3aec1e594afb6b30cf7d88d450b80ddfba22ba42cc2f72f3ca5c824c2e25cfc85f696533f16adae4b7f00af1b36b3eb66eece9ce1c589d62a1bb5e4308d7a50758bb3d19dd994d4baecf46c0e550296a7f26a4ab5bb83573553c9dcada819701d87a1dd5edffb528b931a82fd76b1226d5aa9bfba59cdb7dd7f2fe152cc8f888ab7ab29ad95e54697b3ee2b8fd83c4eaee74a9e42e7bfd9612919817f0a9171c6014b50d1e74a5ae0dd31a9c2f3672c9c88ec6d445d7f6fa4f8a74079f86b88a00ab4452d543c762b2aa1a5d2ebeb9790c6e63bce3f934dc18be0e1e200fbdbb9f0b2b3c3f461ea5192a37254913fe0176b1642aa6f359c104af5d26e1bfb2c2718f718baec7da61e1b0812aecefa484d499b8f67f9ce3b8e043fd90b712de96081e6951110ac48b6514db63f1135867c049c5fb80af0dc6277f26af4208644377c13804a108a8ef7aadb3ca914c5d140f253782e11ceca1d741253dc453b30903fa3c198982101fdb3736877df74005c9afc89f79fdce5b5e77f907fda08f9b14dcfadd25bb33d4f5d16d23e4833aa2ee8c49d8e81680a2a895f92ccb38e455ec59ee4c3ff230fb239ca89f9ccbadaa91fa2660d15a8e7137073df6b7245b8ad178eff2aaa62724922d9152c1abbbb76360fb1afc9a77904a39a8c2d6d63b1cd72f3a76faac8a2be32b56333ae3fdf495e1cd09ed9e22b667a2c0c0e17870882bab8028b0e179636ea531053cd9998c9076fe801fdb5404b2f76bc03319b77e1d6bce173a044e94fa362b93e5e083c5467c62477d311fab7d4fe2fc96e5fd1dd086a890dead7610ba9c1d99fc9cdb688c909bfc58265181bf4a9c29ce56568003b9fc8dbf960def08335dadec87cd9f559d87a631554e0210ab25f13bf3fe3a939118839a150a6e57a633bbebb9e8d45c208edf5066f4ac7e77ac8a74c6c3d83438e0f61677c2c03275b2239584f43c169014cb9792769e0f6dc92d86fd16c1de56829aea59edb311d7f2c2cb10d8a3fa95ec0c2022afd2f7bf0b9f97e3d93627d6e3d647a89d6c7ee8b095d3accdb757740ff78187c667cd855fa778b7a93924ade9edb6e9dfac166a661438a18c59cb1daef136f341bfff42f454b9fee48b3e888afcb124229feeba0d1112311fcfd032780b8fd086471a70eb33c58ff8bc56f4d569a89d39f7a766df061d1dbf1972918365850976de8eef332173a4d37ff6b13f8633733175fa3c97226d8b203d3fe6cf54f11f29033507ce309909b57ff19b3f14fb8d440dd8ea43461bfd2a17ec2b4687539ab0b556fc4d6c20d2668234f061412f7b0a93b916bcc6b8d156193d2fc08894d109211afb700587336f4588d76a3ae8423fe0c51529d0a3aa4b362f96496de154d0f7b4c8e7d25675dc1e113590b495474b7d25b2b48e094a615f21c270fbaf82bf5c4981a0ba871374790cfaa7a70c261ac2b42b8177b08fd058aee9d871de64cb15cc6d3423532ec77f6e2904e84f2bb6256fd611f24c37dce0b7ce9a7d0035ed0eb9b521da453340899666203ac66f38633a3e9efa772f5d1f592230161a5000298118d241954ec4f4d9626f5bcce50b7510b3685b0c10d3cc1e190bda32b5823e4c33e295c616a605e90193078c00055b2fc954ad96c2a1cb3d0c647e92058fe88eaa935fbd9bd47be8cfeabd254e0c236d6aa12c4674317087652c28c69d5f3ae077d43643a359cfd09b0b18330b374bcc1b2dfd57ab5eaf3fa5a3c644602c5dd8134ff610ee4436292e5848b15966ea8c3276bfa6dfee0ba8a9d14ed076e91cc6e89147f199c1f17816d10fb57dffa94ea359ab587229c929f2ac7ec2ef60aeff2c55747b8da3df979e8aa42c5595e72d79aa12a4e2a9ab99606804dc533fc794a0bd2e4bd633eed7ca2f34189de98f984ae1cc685dcfba7f994c4f7b94a79a48f3e246d57809f62b143591bacf1fdeca8f4d19521f09fb39cfab9e940ad8a097f4ac8d12c386851e34505a71d7c31cb1f67a13640bc31e59c300a78eedcff95a4f3715cb1b449458ae3f1d337212e26b6312747401c925177b3073d88ebdb9bc2aa393808fd92a679a7a62f1780d84ef17b631152950a91264020b576b1dee79da1ad2b3d8ce89d53f4425a416f896187cd46fceb4672cf93c199c2ffdb7c5814cadc7c17f5464e454b30ebfc85d7a6d9e7417929c58993d051fe7c35df090ee9db46ebf319e9e2125f83b053669181f42d929cc067485fe74b7850462496a718d5a26d8b44aadf3b197f67a9f5ef2ed829289761688aa3d1ce4dcc042c623106587653d586f2c6afd421d84d9dd4ef319350ad2d7174999b4ba3ca0500fdd3e009db5ea03105472fe84a581886c9a03e362138996ef952bff97915677b1e5607a77789b59d08084fe79d5b951994ef312dfb27040aceba9e0c107236838446c982d070719c8291abf746aeb520162aa58f55d55463b957b2014b126a9597014219276ef76eaecef6deef4900f89cd8c7be7d046f302cf38462a93aafc67c52fc47ca903ad58d8589d31573958d519e41814367d53c631c992cb7d880e42b3ae43f5809f22664ee9627fdf88085cdfa6aa2cf672f8e31ff1c57a6fc0c0e5a407386a31b51de56e5a799821b718906904ee43d3678192f19011543a7e87087b8073643c7867555b7439e0197076840845e78b1d217b906456df72fc21efe2d5d2bdd64f96bbe1a7364c3a321f6b9f89cb5d84e7f51bb29718f36428097dfcdd110ae04201e9b35f83315ef96db02bf2dec856266b0b4be046460ada42f1649d041309cf299b747e4e9659c3d979f28ba4537f20fba65d5d287a6c733b14fcd3d478eed0b03c543d3a7462d159352797b50ff0209be7b0d41e71441cfbe27f55f5e55f69c2bc7f44ccb05ddd639644b3f818f5f14d7d6003e4b63d2821be57b2f7b81f83ef3ba3f8c2018348db396be25db0c8883398bf29e0f3e56dc888c550a51630535c4649dac633be5de32f209789a627c754e4cd7a4b12625b02c75254302612e7467320d6f49b1c6b04102cf902f9435dce48f763bedd11abb089127e3b9a7d063a027cb0e2886315f2845f052c2eda2aa85fd9b363a5b13e0439824c1c1aedeaf6737ed3cdbe7ee26dcad9db850942e01e59d852aabc6185e12991e3a0fb3c531281b22edd1965143ee703b43d86f20687f9a64f6c53fd8da7911f10182d28a991dec9230a3df671f28ca59d44830eff33dfb66bbe9fdf682060104583b65a64bc1cea39e7645c934537ac7ff2d8a51d091de3bbae010e733529977f0beaad22f39350bbc171d409a48e71a61eff19f8752030e367d5092e3b370c2f04ea1045a635e1d8a85483d29e64545177af4899c72edfc90e3cb4709aa89033b88cc27dc4866c76d70d1d842a828d5704e58eee4da5272fbf16e2109c6d82b04f7a4ad28d771a542cb65bc3c4aac1b1474b3f21ffa429f9e47fbb2f5cd58e20cd2557f2807d0277154edf99076af8680d0796762053d93dab387d949a41fc1500f596cf06181846d360a49e62f72449e98eba40cb1ebc3b2b8f7606052a33316616253de77eb6775ebc4a02616d2d58bb3abc968310dd2005550fe5e902ebdf227bd198e22c5a0f2dc3d014a1ebcc0407f46fa74419175900078f11268cc68a09d663ce2f27a2943f8b8907905e2b0dd2510c194964613d0586beaaa28b7d1ca7860ca9c195f3f380cb81c3af1bc91429d809901e5151277f62b062cb7eeed831326d9b13bdbf6c818abf57c1d9b9d57ee6662fd505382973f23f1d4e78ade530ec9fbf73e063946d5191d2c17d4173fb0dd9ef4369b3fe949075d56abbcb1364a2cb8822b006fc65f1f532e9b54cb71b6784c16c05034ebc9eed8c01592905eaea012e8d24ef93fd7c6035012735edb2d944130968fc4a598b2acf06d5da7b150d1a54382c666f33f8fddfbc7a092f3ff878e41d3df254b8f81e1b690ef94449dde85f304b273af1beec9701cc5c6c51a6d7992db02b9a45ee6d5b33e78a67234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d7f35924641a4ae7f84666db6779e44138a2f157f3f55c170518779088d195927aa57f589d499409e02538324aa57e2e26485bd806c40aeb68ec895d87478b036b72f0e247287c2dc1373f652cb2b5f8b5d43527f625b03b46692496b968d66ca013cd52329a01f9bc517dde948d85fa9cb8d212c3dac0184706354b59bbba6d148569cc86e23f8f8ea85d788c977fbaa9ec6ae9cbdd9e062a753785afe3cd9c3fd795f787b5c91cf2849d80657770fe0fa27d98d909515f0876acea0e37ef4c2da32eaa6901173548b8970340e1f1a2b031bfc391c1ea61b6148bba0fac88816adfeb4a1431ae5649c048442a64a39ede7735197e769e7f78313445dbc10c64cd307b17fd339e06f121053331ba8e017847c8f3601c0fdf4c814e267d05c44221db01b2a45085308c247b5f33a10ffb3d806e7171880581f908af916e6bb0bbd67fee89516a44913995e670562a8113eb2e43ef5867a26ac7d601f97640d8ebf2ee12e535ff9122d468ca718629886ca5807c377d5ece58b5cb343116f5a3fdc579ac6e92291e015861f8232533b344b7a6ee808ceacf747052ce71543b6f0d5f86fb793c62e2418433a26b442ea08fdb89039e3095d334bbad835bdd3bc54b29ec54878441edd6d55c69b7377949c4da1bef286f8cd8476a2f5343a132a0afd21432d885f2b1635c9ab4a2699aa65aa748eba01b39d2f14de52efd4d39b8ea23fdaaf1c5a7acf432dd49de12782f0ab1efce87f4ad0e734cd1c4dc3aac14c2bea8837af552ac9ff82fe7e8a3be8fa643e4f289763dc1e18e077938d6f5ac4b5f38a4e7570b9b33625d94c44377bfca5ad508dc31d06b5c0421fd2feff547ac44eac4577e5c56885221d75a04bfe9a85d5d17ce58cb8a4d5fd2dba61dbb0d2af774d7ea21d4255d725a0b4b6a83a94977e807df1b23d2f523d0fab6555cd7c8c5634df4b4a5777cc9081c286edcec83e0f238aa11a4562736b62d655817f6661f0237491d0c0ccb999aeb5b1c61577b06c3a8d594e55ae7bf8487c429a5d9e38f2161e9c6919a7e9595337132d723b168960513981248b16e72f2fe75833cff0f409ffdf80f98cdc8fedfbe4179460ad5201d08c86dc03f1ee5bac2fcb94592710ff914a87ff14738c483a908fcb20bda66ad56d96336bf24e577cd1fdbf8e22e649b77a072cbb2bdefa1752e38a2caf7e70b9ae7144647f828ee03a93a50dc3fa74c94c3b69bf0cd2ef931e4be3cbd86e07cc3d758f5656a25eeab3350aa8aecbe3b5304afd1f5467a2827bce15ac349be909eb427ab68e47d49bf8b9ad5e8d7b3db9cda86f229dc3bbb296f44c5bf8dbf6db4427b43e692f6b7c06d788c6d793afeda739a5c2330a28028e234ed62a921f9b84773cd21feb72ef4bd18f150af1ca5a57a55823b8fb972485fb69ce336157eea6d4d9ef9cf57227beb1357bb08b2be8d8e21688331c27e09e1fecbdf3adfcb5ae60cc4ffd0f5ebacb8051be2102def256691a98c3338507ae5e4aae241a28ea3172718e97f330b4b8ab50a2ed4565e65f31bd67d6c887c5eb3a353fcd4dcda8c7129d62411562806d369ccf956873269dba38e3f778951e5444e30bb6eb3d4d42d95bea5aa4618b8fd84158947fffaf8e5cf0cd15ae05e95f516312dba3dfc186fd8417d31dd4d1980944593acf9542d400d506d6712143a6616840340077f841411c6cf0adcc7538bd55382b89a89267e6c198b0ba4a2c303aa2c80e3d1a00e1a58773177d30bd6c7a80425d4a16cab41a8f641d77f5c3cb94e7ab34b15c97db8f816c124bca9ebad53340c00f4376487ab67bbc4d5ce9b3ee3d3ae0af9d6607aeb9772d15324ab9f69bfcbc36b470f2f5afa1db8e79d608d60fe098dde12ef7f415a5b42d4484ec1429d0cf57b305c87ff67a07ec881c0136c7990d0f1a5b54f8728249b39453a257cb7423de753ec7dd27f26d5131399db1956c06172ce61cecfe63128570114f5bf06a54e31748c7625f99d144f7f3475e27874db64a79214418d17455a3161a2752f915280a7531ffacc97463c14ab9b216982005ce3f025bc36172a6e03ccbdc5a818c97b4903f0eec939fd639ad957933537f423f51621f62f08665c106fe4a3b9104a12acf0f263b696d1e238058d4c1afee462c16e2ad8b34790d470a0ed1af6d0ec3dff0ad2afe406d9859562289b2fe90ff07a66922b11e0783c1e5a3b259f4a85435b76503bbf5b0ae4bebe08e21d5ec7f625cdeeb201c039734e3d9159a1a25951489058cc12d675d41669dbe0ef11fb48d855e2d19e3edb053e0db1993d2fcd409960c1fef5522b14b69b58f7f4e769e3c5c0b02ebd354911573963f167ea5f19589cda758ef0e18f7fbbb8e3289c8e11e4d130ebc22215206aabf1493a6ac8e8c0a7c1c20f9b402c334b900cd23d9163f277177991413121901a117473b711e350e0b17f8f451aeb2808b196d9a2cef24486e1e5b33e53d545e7c7bf901017730a464b5bf1f0913b45fae3bcbd7f100c096cd590d596bf31f4d80d54b5ce64c0903e5d4bb7d17dac74b7a637f7255e38ccf0b05d25f4251f95594fb56c551cd847bdbcb9d4e192831a01152c60349c82eda74463b476f5d716545ffc82e767d966b6f625c768525a6b3dff924439885bbbd0089d52a5aafa06d51d797125474df255ef0f9c78d6c2d964eaec91f12ebfb449a5c00d5762d44c5f697b73aeedcea89006f9bdd537f375d85a88803dfcca87a982fa755246e66c559eedd0065cf6b8d65c531193360f3c0400d80dc6c993f2a7538a8d07924fcad30ec23cd945d64d3b71463d8b8c116547e0b9efe4305efa883015ba39afc479cd1e4b60cbc35d95101c80fc7202b8c3a5c9d11703ed04f144b18f046c9189c069a2c3bd0146e9dc71dcbc66ded7d314892f0bc05c3e5a88ae9b10a57678ed0144d88a5661d97ff1f3a9062052007a0609b4778b74ac20fa8f8a31a67d73502baecafda8a1ce0ac235190c67d662ecc3404feb4fbb267ddc4ccdacae58eaeac9de361011896015aa3d70722656e914379845197664738885489a11e4a66de8d2fb8755752742016e1b8a2d3763c5940627acb666812805d8133ba3e8eb963c3f0ce46d193e781f8948c7f7e05d491f37830db5f1007cbbbf3da4dcbdb039ea7b9af3a66bc568b7a03ba97a3db2ec413252919f2ebb4af311fb325dadc675b46555a6506f4f35d4f4c030222abe9455cc65804e32964670b484fe6a57c33b3c2a8119184c11a4f7ca0d7438c06127e929d3e580240bd49bcc31124988b63954fa11bc829ea9d79cd4fa9bd23ed73eb81bf96cb41d62e502661ae9766315975b0e278a72ade81970135953a46093c845e852c4a529817814b701b7ce4d36463771dbed60025168f078de5a376a9348030d49a41f049ad7029b9b6da1c028dca192d93550050a1be7b40c457f9a7e6757f0d310d7aff2bf20a83009a6940731263ded40b258c52ac4e5694a111c5a64c12f21726a047ecddcfb3beccc0094af340d71811d9d0450894f5f689da0841ab7a870a0a12844cc8fa22e7d087bf808ede6de9a98437aed801743af95e36173b0f267c254094ddba58dfd0b92e8cd71cef707c41f95e45b2480962890fc7b0ef137acc93419fbac05ae5370a2a14d811d34eba06aa48d007e52533559159c16a2edc34f7defacdbcf1dd7af1c18687068977baa5ca83991df578e0868c5b057dd024ba927b5b6ac2e4f53c98e532919047805d7d56e472739c6c94df8678ab9f986bc575926718623d8494463a01a116b47a3d275b818b678c47259421554a6e2b9e7e18463c4afa0b886173a84f54c952d843afdb62263646aa7ff01094aceeceb92157756b36b23f6763fe35115bc95c07f2dee1b86b3cf6794529f3c2679ef719b03d831ab3960492934fe5213cb281bc38271472a76cab13531a17cbbc26706af0c6fd7c6646a1c54c49fa42234ab3fdc86b517994263b1b42b013edd8c81670c5223e06a912ecc2466112a3c9a0096fa52e4f821b33387be71ed1ee7e315e4fecbab606244a4d1ec808970cbfea22f92d2d819074f800eca49803eed1148b9e7ff09a38fdc3cf1d0688f64a6139b0919f5e4029c69c3b7ec438d1c88e8a4b80db1677bf51d436c5417f15610aa6dcfe639ce1d6af33980fc828e28ece5bba9f519eeb056b4f43de0a0d25f9ef05c23958839da723c2766c04f067c6345f67bd56e5513128efcdc52858052ed564a980df8a2d83a95a36fe58ed9e62c278c6a29b91cd19c1c90d1f20beecf92a2f385efb4356775b9fd5023345ecad515937143dc3170c10102a6d091d17fad5a87e6304e18ccb8bfa369db8effde7f848e9319cd4d266fdb3ebf8ed83b1c172e485b7dc2998b9c8ce0c97835f64e8123abea30f128b30c84763fb7634467b9721e3930f1948c9325f685a4f351bb0f1b72c8339b96f1d08de37bbdc2027ed58748cbaaf01604e7d1f0661aad2289081aa254b649a94191f0b34ee8d83d2e5bf83e855b815f166dab841fe4db73d570e868aff36f228520174348248fb59b665d712c16c1f5560dddd4a73f7bfe664278977c17569cdba3733ee9cb70c666474c5f2db88ebfd0591d6dc099e14440175927328cff5e000a6ef90fb90bcea25697704723bf35b3ef1e26194ca474c4553384dee04ebb2d65007b64809620466dfd1646960d94bd4505a90c635aec1fbaccba2486b1405404632c9a40b8386cf60746c7ff500445b89d36aa056dc7d7dfcfdc91a6a3cf1386b28f31ee94e7e4c8a0bb2ff11ce31a6f9929be086a82849d2076a5c324829f72253cd6a81840f788964f9ce0bef25fc257d4b916eb6555431c428c5c5ed768af470334a362cedbd70cb1d33cd73c210be5128f97f108ee7dd6273f3eb9088f07bbf896891ce23fa8abb8b85517446fd28d137c273584f32193164b5728dd4d52ff89045392450fb134d5d36d17806876b89f969fb184aa644b4682d9082a57c3d1bd7a1bc7bb1d5ecbd3f948224be8671226999cec150842049de2cfdb7a0f51fbaa4f1e19620333f5e21ec7b8aea3975b772ca8e36fa3ceefbae7893019129fa7b06c98bb8875789ca7d3cff40ffa38451c53ca9c723fa58db9559c4b1dbcd6f70238f7c7b91fd2cbfee57d7a25a5c43eee07aa2cdf70eb5de891133a097d56b91958392f43324ae2b7080dd61dab4e6fda214f781888c72f5946deca04f61e48b63130213e1ddde4d4a2a4f2bd56451a3e66c912fca9af8f605ffb9842c70ad54abf8a937f1442ac59f8d7b7a1df9de089d4171b0850d9b7b3a637531752ce45f156fab99c30ae4de8f50bed1e54d1817d7b7e0fa93ea643589a554a56af64e13114529db6d14d454c0b0edb0754b74aaa56dcc4f1942c911c62c3a9a5a2d6eb19533c34ab74cc39b5ad82c94bac617e14df3f22704cb826868943ba81257aec46211d30a661d0dee6de7924b2992522333ffd6ff82eb12403a44ca8524b4a72cd51877790c62ae23a101d800fd717ed86983725363fb1b0fce21ed751599c0a5052e46d17a1b7720523cebc05d615df3d8d04ebaa1058e609f9ddbd0268b5fde34be3b4ee40e7c01a8236826dc756cc09cdda01f089d138b693b79b9786586f2c6a180f178918403b8d68a32597ca027b3bff8f69594ea485fdb34aca4c651e1f9d286f784f7d96f375098b0bae453636d874916292344cb280a5e8bbf203cd67ed8404ffb87588f5c58362773097c9f38ffb9b738ae562dc5927ec33ae21f88f3cf812b04eeb002c813eba0f6f45bf202774257f581e6bebed4c3d5f45aa4d528cd8df7bbd14a4c32d92efed6d78e3dce947ff3bdcd9d902d202a140ae52233841ac9bdc82a36f9e2dd8b46e00392b6d9fc43c209eafd12203ddd7eb7cc5e324c36085c2be81ef1a4bf34c7420207e9e780c1cef7a01978fd8967f2eb9e9d6964e9a97bd6b308d1e436664e2408e5bee3129dbf42c0e2bae7e0a514d0d09ce33ac38d3d8cb6e647c3596255200d78d731426b44cd86cad7207099a1c421305caeb5b031fb8e9680426dd4c9f98a60327ccfe2f7dade72c2d1aae03a59762019a882c529e77fb500ee32ba199b7346202d347fd0cfa4b2f081fc90f5caa4cdc9052cb6456075de6f5a037c56a061d7de2ec62eedf87ba572b2119dc0588af5eb8951a3afb3772b8c5420eb09f2444bf1b7bc0adc313629cd88230600664b7827abd0cc54d95c9cd54cade077fa86fa4c302008652db226b74056e8ca8502494688962976cc45b24970fe2f3a8c155cb84ebf05402e020bd27d3c2ae5fc006ccff0aa92719b1c5c64bdc2db5a6b3a160a1d5f6cb231857436a81d6ff656f8a8f665e1f0502db946f3612caaa35d59539d7ea4fb203d48086f0969229aa2d27e02483f00c6db8568c5ba3a7a5add9a9c099bfd68edfc70c1446658933c111befd3bee43d10a0ef284ca467bf89fc9da338f7a17f320224afd887d4cf849a6f5f2f1990897a2dc96de6f448f61c3cb261d9f14a4d4cba1aef9c0b6beddf0a3942f2737fc9532328cc958161929faf99fb5d5cec481f3149a859c485a08dc2eea9e35687c1a3bec69ef96b63e0766b14d5d68d57e9c9ba4bd69a8e9b059218cfa0f5871b530ca0e1a8f02b59810bce13404b12962cd9cd8955739373db3de1358d40efa895f891a55cdbc28c82e288704eb65a4475127156a94289a70624c3ed35637cc7ef34d629d160c05229bc9497f4ea567e95109a8057f7bcfc1b30bf6e8f8f3a265dd9500f54b546ded08d2b0cfe4d7ee2477fbd0fe2983d576f2626e9d8d91b21e3d7acd82a22a7caecd399b6f7419f1547d53acc6f6742d8e3d28a4bf224191df6135daf848b46687cf3108bc7d27823927000d0130708bfee8ee49ed726c8e37f90864b4e38e2655a137321617ff28bde9980da9b3d623f83e2ee0e3f6e4e0da663a9f92eba9de8e47afc0e52a6334b5f7ba437f12d64905b4c3107b15b1162d93262292aa80e47b9867522c910d41caf950598bda8d1db63288361477b7c631db6588c7720580b136f2c7e9cf6df902bea893e24466f7095c16b9e97cb0e2906bfbaa635eef923d95c660ca2d57b13ec7ae88190178d86ef7817ebf3fcfb2ea27fff35747781a4ae263fd55efb8129cba82fae63bb22f7fe75e8b8d1dbec6a34ecfc13724fa0e926db544ad384a71db9d5f2fced6525a045583b9e2a9eacf0f5b0de6f5caf111071542049a17b14604ef57ee5de36177b0372b40c2579d43b466275446d8247248a42a89fec3a4b1aff4dc5f7d7f6731b0aaa39c43763d6ef330f0a960d76e863a86e0f5c2ca7d1961032706174cb274369bff8c3c879a402fa35d92706a33b33887e63675a9bff4a38d040855e8cd1cbf4fa95e8407ca178951dabf139699cdcdcf6070b236968dffd0caeab4560a76ac1bfdc0d59825cc0c97d882e4ac70ce9fa91901a03c197b4029c827a49421e368dfc9a35e9bf9818c312d9ec3ca23bbcf65537bc767f8d2d4000a33e129256bdcffde3cf460ea1765e539da9da9d04efa6cfa3fc3e815379620ffa3e8c106616c0bbbe1a601202daf2b88ae5cebb1050d8379a7a3e073f6b7f0ee7c3a4696ccc6aca835611abbd7af3e679724484a689e09d0891ee5c37d1e92c4352bfb81466bdbedabc53d98ed0da4a3bba8b5388ea881d45345b3b2afe04bed4996d9415f499faa5e93f87f92689debd8e5868fc845746ad0d0d6f621873e419131243dfbaa3590db05d9e74387f1aef0754342419f25f63f14e215ee1c6f4eb3e650e94cd53d7b60e01a682b6b49240d983f4bb21afc9bbfa43c4ee10d29cdcf62609064e1a29e48db77a4bdd03cad9b5d0b8eef8c07742e96a8041ab8b44b498dd2043593556f3bae0951f372f64be1dd6919088567e37825863d1912ae76c661e4648249c5e6eea91d7887a150b0264f6ec3d3248b60cce97020f51b96bec693d6b9c6774b1c65c9c3c23e531f774f5fc0bd71be159c1fdbbbaf141b72ae6f88004f64c525c7ffc1f0bd81fc8f03c0b2935a53e3dd6a0386fd734960fe5e5b4634408708d72f933f8be315f85d84ee9fb1e5e4638eeb83afa3b0716c942fe74736a24e97f82ab59d498d610c684d3dc0e7848cf9b56eef540ae58540b3d51c9093762d0b93fa306be8c5017c8cf4208b30930689e527f2c1b2b63b24b0aee4cbdb2ea0d225ca17c72daa7d3132151d07df36f91c9607500a647e6b9601af4f6a488656215c116aa203f58493474012d73a2396562eca30671ffbcbd7fa96115bae0f2524a15e1505eca0c779098fd935181b3d5b45e158f02e6d0558072aee7c94496927154e3a89ec73c38edc014ab6135bd5ab6725b0a4e9d771a0dabff30ef261f4659eff6641f5587f9d6246810f04742566b91f2a1eb643880eb347804cd1ec2b0df20c352db7dbab5c8085bbdbc51ba171cbe9e5d9ac686e18b6a7c3793dda61d695a73982ba8d08111bf5c416dd1549593a31543631a429425580d50f8ba7344b3e9e2b713e8c4f505488ba359a87743eec6e0ba2f9bba8465e16e50b34a44cb15503e5c631d8982f426be44a8ad5080917e544ec949a5ce644b08d7bfd38695bb1196dcf18b785aa28c3b3c91c8643dfbe30d369618fb69f0f25a77664382054f8e2c5c4b0ef4f0a15c6e24cb0517ce3f0b89ab12a6b31e9b56e113718dbfc8670b2c1ca6503950c450e31564279917fe0bf86be599d64aa85d24d851118d3fa60e2a41d615ba41151006b4b1f7b578298d80f97d0a3f33a9236de88804373c6ae76071cf57cf329411d0d01eb419930e40f5aa6564120d76c17ee913d53b20133852c47ea703d45ae1e54a8fbd0a0e520132a956fafca48c844596f12f8874908b79bdd93766ea0fc16e7189af9fda437b47a7dc9bf78f9efaee0e9136fc65e49051af2df8f269e8c180f530d96ddc32a21bba8f83a1f089b0012031592f394dbb7b6601c47aa9390ec63630a790bb4349f380ad236e03953ac8f2e9eafa24c7558d89e3349349c315dee7dc034c4ffd9cbb1213a71807f0585a974339afa2248f599d9aa7f542abf100ebc46f47741a7cc0741046224b04f83d94653be1092defe130699938cffff722cc550009b05b2d1a13b38e0599b2333e6fe9d99d42f39abdb14069a0f3c0cb98f0b27eedfdc64843bdc3ebe529e5632bb93dd8aa82c15f957ef65fe8e6e2f3fbf4e33b6e652fd3985b01b4dabb2d51b5eaf366d75ce9f0bd1ea6cef11e8a1c2904b33e54533d34ee501313279cc4a40999c0d4af0914103d1e2a77b2ef0cefcfe75ed3efc0599a5bbbb4dac2e6e8e8d129e0262993466fae79bb36a9292d92fd000e5fb33bf089dd44f33e9c7580805a2b6f0c007a861f5d2ffa64acd389611ded6b3a27bafdc8ab959f6db65fa6f42c05bd68ddd4e731db6a2b4595f59bc4da9c88d4ab55558880b9f78f50e5b2b8d88d5845778332f2864a736dee6a0d5eb84ed377e2223f7eacb7c70e0994aed32d952537921d18ca30e2e206faded52f1be7d56ebe0209a3d8cffaf393d0646e64d791678246a587dd72e2accfdd19a3435607f5d7f9085a1d0b62413348bd1a2d869a7253c97894c80aabdf06633e8b64b1580095f7bbe252ea6d8d245e3be645402e56af238726f023da95f8023d355cf778848aa5a902668973aad3edd3f6bafcaa057da85c62ca6de9d99078e92caa0cb1ed5c3020f42db0d7add97fd5f9d0c4293b49f81428d1f6960b4ceaf9ab2b175d33711c8cc576ac798b1b4816d45d8a878a8555858031dfef1b51d3995f3ed8c9b5b2f3a88d99af2c2dac3788e9e9a5425b7c5e9af78028f7ee9ab253c95ab28c4ec0f8b46ce59f79275d9b36091716326a95e47acb0a71a8b6cfbfa867fbad4cfb70c834c11c01b6ce245959dd492e0b51dd35c529283c6beb2668faf16e9a33c1a7f2db19d9720bcae74a015a94bfbf3dd9e64cd3fa23675013050f1bb3957ab07aaeefeb7cc45dbcdac33e274801aedf2c81a52f7652759c6581c334a71c0f86d9bd0e82ccb5ed72b10fc61cc51e1b6b13e3593787bf57dc72184170a7301b50af8682bb8edb223edeb862c7629fb9b4a0e23eb1c64609bb688cc8768b1a57d4190f13ccbd183966ee9d664e1e1938010fa216d0a161a7a972bff8da9a808844ee665647293508764c3daa60a55fd20ffc0832d6f56bbe086d743407f7a8d2cc5ffabaf03d6b08e375e72d95f95b3048f8b2024763bdf73f69336a7ca9595979d468cc5ab5db50f44c610ed99c57ba750a2cd5afb8448c198e7d67265f46f13b03414b1f736da44a5eabd2ff8336494f58afce530c7afb6bdfa0223bc29a6e175196018744454686902ece4af313e9580bc18fbbdeb9dfb7de77e577ea1b12c168e9c4f46631cd2dd8f7678cebfd24cffb514edfbd3c0a29690e157a786590358f0d3a256177b9c19c6f50c06d0d2c543ae95b35c4bb5014d3e7f3ca6830fe3f84ddf8dee74a246498b4d73206024bc168c063ade9e506a159572bd8cf51b5ba13a28bfb059928751e263310e77e00c31f91b3e94b54f13f337e6f63e14c6f2be07ff35da4eb2ac93b45e5e87892ea949482357c5af8e02ac5a464394662bc5b8f09c34e53cb0896ff49eaec31d0fc17c04f77f74dd74de791f907cfcaf281bc6f8492b36a4f53fc0dc5217bcfc72eeec80f3e7da1458a086201e50a505f3b6db0c4f44a93e1db5fe35eda80835a8fcff91755de53537327bc2dec98b24ad1b79ed11808e634af9a09f7f7475055565374d6e4ca17e2fe300e47727fed3da80bd8a72f38d3606cb5270094c7cc0d0c668167b0d8f42b921ea47d4d1eda42b75f9efaec84e7ecbf826aeaa8aead52918370b428cba8ea6c5fe2239fd2272093b5fdb14ac75764884cb33e9aa284956a2b417b7f5baf302ef3238d8a521958475d3f1d15cfc17be79d19f05c6623dad3853b9ba791c99093c878478b166beb8c6baf6e3d357af10b474cb9c73787420f47d95165812abca90d885c3de7d47e6f539b78e3d590e29ffa6f80de64a010dd343f4a2b153bdb30b0bc484eef909394faf40564dec5a01998761612d0dc772959fe575751bec19457f5dd8da0957aa65c41bc5cb63afc3be3334335d7875dd4c7dece931ffc7469e7b2aeb1e94fc1542bf05c4badc4ad2d54d584fc1210dc69e62dc11906610f8d7ee06537bed5eddc319e4feb0bfcf8c461979a24977d9df01e52cf2524f886305c9ff2b33e506284e80d848baf7a1895d2ba460c263606520e53cb4a7709b6fd16c172efc2a90149977d91bccb45e2f95f9427ef806afa0423291819031bf49f11cb5f7f0564ea6bc675e40ed1d409f1cf0913ceac5784fa394a85901b55c34bc821d8fb7c51b2899bedb07334feaf34d025ef02540066afa4423a37c8e6e0aa43b2131615c4cece681d37fe72b6e504f4627e890ef504da85614c91a035c248af137a6b98b2bc2ff7b8ddaf7133be46daf70079da0aa8dd635d636d3c9a1fd44f55402c8b7ec507cd4c3dadc49c7a07ff8fcceb1fec070a66773e15e5a293b3618ab0bfd971ea0b2c1ea2cb61707b0bfa3b53fb52d240ab0b3ddc9a6be523db96d3f29b0655048c1e98f9e7009b919058d7515713f30447ab4373e027feb86301b1f5a9afb59e69dd23091626a8150cba87f4f3a2040a4f7dea64568e8158def337ace8fafe00c25a2749a0b2c70c7e3f6e97bd741542fe3757b5986f992d4a48c1e4f2af692330dc633631613d15ad9858a2541301a3969381cdd2b2605134a54831b975072970431689886c31bf7509ab206f39e1fab0f4ecc8a2df4684671b855846f6d99895f7c2ea3664f261f35e6d8953691e22ce3daa910c5c6ae0ccf8ffe85229ab88fb2ba4607b48a0410acf573a72e2d5e26bc97cab69d9a619d1e4c544cc8b7d2774746c310d22ab3528705b320305e4b577732c475484f38a4221609a1244981d21e0a568e24680ae599709fa934359ad9c6b2b285ceaf826f1e77bb0aff6a8b5ec53f73b8c9e2bdf34c712249e4b1efe0683d974bde437d3f0f943f7464ac6331dfadc22b98ac1a1d038e104bf53f6e609c0ae3f30531a94bcf97aec11be72ab71205d039ac029fce632f79bce9035d0073b7d4d3516062918ee16243bae42016f010c31f80346b826c7f814d2d57ba0a34e8f2b516aff235f41ab0e36bd7f8cea7f6b1fbadcaf5a858fbbe45ebec0e69b876622923796aabb90d1dce1af2a68ca7f80ee484f419438f219cb4a3db250fcca6f2c2c73963f06d9694ed5dddb12ade4502eb1b90f1afab882591f960b2a145397efd953e008c67b183d999d426ae9532fc0645472a6c9c64a044888b4d23521533abd1f58287909cadcf5daa72de6c1cd9b218e08c01389132294842022cee30cfda7a077fb9ab87ab638bdddfbc5ca19e4088a56636238f6a5f0d387560d96f1a17cf5f3dadfaedfa17c57ca63207a9913200e328d1efff3813bb091070059d87505c011b809cc83aac48b97ad74dd8ddf944adde4a972547ab2725a41322f2c95ed42cbfcb0816429f474c87b4d71080360269d7d18fb6b2e89be8cd30dc3a0f62b289d98af24c3d25c51cd304f77a933d240e939f11c5b79df1738f2dd48b556a6b4ec68399532a80f2c249cb532e52c53ce1c5cb1b7b2f219b8021b1953893d385f414163fbacedb5a12a55aad94fb7335191bf7b49cbe25b90a6402a991ccc3527f3766cdf67acda59ab63c6b5a7f7ac2fd8659f3cdfff900a73c46d2b18096183da97be340d342707aa737246f1b894c500c5ddaa19a24c8d9493871eafec09815cd8493e7dbb092e27e39fdcaf36ddc5354c645fc5b06e016819dbe0d760b39d5b7e2679e707955ec20889dccba3c3d9ba73de051200b37f4ce62555acdbad2d1e5131b609e17cfb09280d04eb3e8087f70ace6f4d8d3eef4da7aa819607eb3275c32f2262bfef525706505b66ac396003cdfa6fab59751f84a0f5979d74937bc6e2c1bf0b95eabeb3cc68a3af56600e8d4dcbc0432b454e832636f6a7475b76329e8beb391b1c4fd563b4f4475f3fbbb5b3662f3b7cd8ec15f3e6371656472f7df5216ac91aa522801439fd007bee0747e808379cb68957b2e131936be0074304fe84f9dccafbca8e13bdc262d78d2ceb631c08355e6511f6590523bfb7f0c8edf60e7a31753a392f9a941d93c5f9c836ae2ec0d965b90f25378f22f2498f9fca7201370c127160697c361abfcaa50c17740565aadaebbe57723783ddc057e1b8ceae39fe4581a6dfd663030c4c0ebae63e4c1a803d7ab40f45336bf1c2f716b382517ecd3dd581da086673205b44a0bb95f65298b7ebf09285c3cdcc20cfe0d7324d434e660abc1c2af3ea7d8fb2aa362f01a114d479178ed029baa7c048d73c51025bdd7fdca8df47af7f5d7cc6be18ae6912063520c499fae88971e02c173a4017ba5fad58bc55f0576f481ec24a4b885f0d7638dfe29a2f1f5849193fbd4c30d5b3dcc8248c1934ff405275f51f5b74b0568836809c238d55ed886ca2d73b72f821a73b42bb70fb39f114f7bf2cac56ec7a637e56b2cd4f4d5f4f7b936d6965ae01c5e9085ce078d66b500e1309a0b948cf29c82a396c894e68a6434414447bbd5bf0b1e078415b5f01cc76febd91e4455b1a7ff6a91d63fb3424d0e96c560890dc1d57b50f2d4628b4a88a836a559fd1f27d78f4b2735f990bd42156084dead0dc3d339d0efbf281c190661849e33a6462263f2c1477af773ae3c077d1b9c4462d6d0ac43e4d87a10f6e5a8d69e8b25715e17e26a608cd7018318b6eec74199ee1cbb4e9c58309ff54c520303d3cf07771723420d39d376783d8605ed05484665a6d057d58ce82b84cf699f292c809b6ce192c74dec35e92b2723aa37d6bb5193b4033c4f21221ca4c33d230bf1642a2ea8074e0ece2e6b92ff12dec394669afc18ff599a05d9d4938c7502eab6ef029ce11936566a4dd4ce9fe702d74df3da1da13a12ca8355a2b2ab8825c2fd40af55e9edf6293863112c42e966f38f5bf1a9bb439d46efce4896e43c4001a3736cd9f30fe2aa15bcbe0f4eaf6e4873f9aed9673b16af2bc6c31eae25d9a0c7f21c733aff416738298d87b53e532c07ec6a8ce013d6eb50e38d42217ff9f6361097931fad5d6159a0145509bbeae2cc6f09ed69106178bbec5aca9ea45f42308fb5946a26f7555012923f631d7be14ec991d4e6e17be79c6e1dd67fe9f522ab02b951a6398c2cd5dcfa1874a9e6eae50f5611fbbf0ccb213957f2bb070419b7ab0cfff7a46cd6fb39f027bc433ee552da6bc2369f9cbf6149d0605480e0729dc70ac29ebc6e7291a57b02d3879e7700a3986d9e11883d94a173bee46d1bff503e2f2c2df5696a64035f691a1dbf1bb94718a262c7c910661ded3bc02cc99f6e5e732e6a0dbae151d6ef40d7d52210ba48ca81aba7920686392e97a59516252ae424beb62cd5ba91681d9bfa18c77a9f80d4d9a9b33c72c77b37d06315a8c02f05c55abcbdd30402c3bdc62a4a65da11070254a083cd80b0e2dae8f3d670e423f45afe3236437d86548b058eab2b018da7d3b5ec18cc64e72e30f3e023e2f2113e3ab3445134379e49440cad1b2925e4d21d2453566783a0cff3f5e92c9f6a712fe23dbf0350bc453c12c7269a8c91355eec41ab7a56c328717e715bebec9be9829f462c07d23a0c928c29adabf140057711ffb0bfb9b44e8d425d7b35e16c6c3884cf048ec987782b5ed61cce88a9751dc858b2a70e1552ab924817a25299eca73ccec38a82c3cd8d1a81c4d48680c8ba49983ec7781ef685e21e46916e5cced5c4217682784b0c45606981175453993269b5c7ab4f4005d254858f65956b76ae980f77e7e3c2f7eb30fb19398eabaacf02847d6a482d2baead5fa7f167f3170b772fd2844b93ed9291f2d5f958b1464885fba1a820e9212e0632fd8ea21c30f1922e6d68372de78948c01e60ceb4c2ab0685961c8463969200f92227448f539156f367c6903eb7e65ebf0d8932d1e2b9d605539e5607054f4e9a8dd00cf082819d44cf6e143db734b4a865297251bbd14f53abf17e8c31db94e9b61d40ddcd9e1a25a61a81e3b34bc93598d10f3b12865926dd7dc180b12393c8812509178042163f5860de42e6ef146a73af1a989d8ad3663dc1bbc87bf8b256c948afdd29950358afb62c4e617f6b0c400f71b4501c66cc2117c966cc283cf838618853e8bb60767d537ca46ddad5a8c028392e95a35f58a1b9bc79adf9b3654cb97786ef85ac1cbd8d75b7f66b00a2df44a1fae63103478dc3c941fcb3e233f0f102a52d8e1eb3d758113158eba5d8a9a72f7aa0e4fae86d7eee95f36e3ec45b9bb0b01b77e6d77361d319e2662510470ea27aef876fc8d78b3bd1aef88c6ae36e006dedc09053e7d3224b59b6a655520179a1c0ff8ed777f0256ac1d96e507ab114719443579d99a6fa394be3cbb3017ae9f27b11489451cbbcf9a9f93d5b0000cd2ff7d0531bef85edf1bb356172ae7d9de5d902a172be355b62ea957bf938f94e01054c937cd58ca6376fc793c0dd87a2e4eb9665f26ca626ab6bd429458776a55f526651f0e54e9bfdb75b141bd54916be82a226248a60b8c0c8cb1609dcb00da373c7ef4a70e43066176182e1c02c760590edbf938912e5bd4f2e585cf404d4135e9b775b862d895c46222e461484bd41d5c0799fd5990837ea5f439a750babc62fdf317f4a242358579ffeca1784668067fb973ffa2950bed1a39d1862c8676c71a4e8a69114e42c7364b1b678bcef352d1d2f697bf2e6cf56e3f880271ecdce37a16cf8ce65ef7b7cd7ef7cb61401da873199395874dbcad9e75933bf18d203f1835c02ea5e63f17386fd409d3326a59263e15b4c6e313690d57478445f46868f7320a4121f0c2a8eda669c859735b411a495c8153e93303aa505b972f7c42c66a5402a860ba903a0f1ecb729b43c275065a0c449f0f6675e1124316eec0ca3e9c7f6ec47abf187d0ae4a2a86fa0e4038cc7e388d15312c9c63c201b044880dca89bd38bccb84c6d456bf97e926f1fd3afb6be12af9c2264e012ccf839693139cc154a050519306a1281b89af33dfd0c6a262a53713516ef911292ef29cd76ea4a85838c6361dd14f3147ba539faa09cf550b5c71d14dfd5116b1ebf360c704baa2d843db69b8180caa98ee60e1ec375e0bb1f494c498fcece615d15d55f7bdc02a25cbf766b9d26bdedcee533fa539907c5e6b3a75c888e6cafa63afb9a09b4290da159caa900ccbc0e49be4fbd02b727e129416583dc16295fa24b3e572311d4d83faeed4cc6e007d51ac51460e373cc9fddf996feddd86e9433517186bf8f00b82f2b8a0f52cb38260d429b5feae6ccbe2b579a2a7e0c5eb505b652f884403c6bb15d03ed83038c096e8b7e29069241214f4222e38d06fbe61330b2370cb2b23a6128c38627d6d0a24504d22f459dda8ba4280eb8a7ba19a59c99509cf3621ff2e2a8064f06f86783f36a2bdf1bb299a39dc1ef8e26c30e51f9e759f1b2add115a54c23ae334415bb094b89917faee9a9fa73bbde0cf0afa35d438a593c8bde9306ab32988c22c4c83d631d5ba1b362fee3982b0093cf49b2ca074203f956177ae2ce766ecf14480d7c9244528a62eed531ab580b6d6fca3fe93663b4ecb035db6826b023afc7dbff3383f94bb3358459805783761f78fc3a099e01e73e1aa6e032ea7a73b7fed1d02feb3a40621720e353b93c17351a78df9efe6923d2fbd2136e195c349230b84e28ddf8a2890210cb7b912517c0fb6fa17f6bddedeb70a040dddbf23314bd5b58aaa747c7cfa0c9086d83a5603b63ae7345d672932c3db84321828c693c15712db7e5f5a777bb05f415a8c48bf57df4d52815b72afa1bcdd0d6cddd7483959780359cc436792877d5ebc85daf14433a1b40e2280ad59665eb4bdc5e5f760fd6ace2608fedb1e449c24d4295043a2efc630bdf57c6c7f889a290ef796e85de1e44d7402286e3e5403822fe5a02e7883e48c611f3bccd1ae22e941e375d03804b1c437af80da39ae8b2b60a9a97a2eae15ec4503be70f32938a23e5849a0dcf8824c8d0834b3f1c87f4a7da8bdccc33115bf43fe45d9cb9e172e3af11e8ee599d693a9f4cc7c581339ef9166b5692a08650a7402ba0230680808275a5e7679098cc30155a71b46d2d4887a18bb8a2f08cdf458c96d841f75935425a8233a5cf9ae129d11b747b9b408df339e2cf9f58b70bc371035b4435fd2bd724d7cca77b3e9e964449797b29083897ca374783d399aecde3b6f6aea8e968a82c98fc5f1457b9ccff790dd4a3e97c4cdb6390d7d05b5354fde9f931cf5ea0e86fa480f7092ff0b54eb593d5827240da2e8ec3168a2f7d078e80d65aa2692ca006b37ea29424893e2f4efab8690571d83fd117c494724c1e7606771ec87d8fc224b38b336d225e16900ec28189053f4e2f93d159c050bfa9457b57129cfb3f10d9b1cc660a0a8cc272d1d68b11ad17bdf20b7614c0848ec46378cbae70712aba042037e565084ef056469b4e45c8bb89e2a56ccda7bfc5304447bf7095a0269ab2e74c25932c4a4224fb76c20caa2000860d6e5b1f2e97eeac96e2c2ac086ce30bd86b073b15f60e40323d38a77e0e00f1bf5f5948828aa33c7a1ba70ca424fde988c558ba3f268519698f81dbf9d7773ab42974769749481b34e34974267401489c156604bd57baf24792855182bf1adcbdfb0a8a56e26d44beb716a33f9b63f2bffc324fa29fd171d73e65dc6b378dbc8ee137dafb822ddc7af87cbf9e5ad8f3cefbdbdc7ca488a0777422e58b0241129a3c5aef49e222f530182da5a31986b967c6c7c0e039a27c3c5539a24e5c1559a2af34a28b510e090e062fbec0ee3511dfd42a837be563b8d772e512f6fadcba37acfb3038afe1295b7b51c4d21b1c0ee73d90fa7e6a09ca56df7b7a7bab601c28c5c541b783f8722315469131822fede9722d26140c5898c6eb83926404b08eff9a0e538444ac284c0257c958709553d5e750be27d6df08cb254858698c91dab100472fe5c4174246761291e2cb0c2075a70bbce8de2fb4e96446382f31bd077b97fd022780511f12c0c991884ed3ed3040e0358f3837a448880a57ede1c3d8afeb4adba063d4fdaefb275bd234189454af965a83d47a98829c8d9cc62971e1337023291165ffaf156bff2c60a275d5a1a814746c94d66ae0ee1e829ca0d1d0037fde91f9d571a4678bb4e140c938059aab9b400043a4952b0484ea9ac1afbf3ecafdcbe8852ba61467695ff68a2d994b3d2fae0625be4dec7ccf6b1ba9da480101f6de66d66320b45fc602c2da62850022f5cc6b8178096416d94d7347c9b2f3b7fad2cec4d5e1fbc80d9afa8c0146ade6bb59cb51bf6d0c34275e05a19453f107a058453d3ff1b4b7e68c0bee2187b4c495bbb194c2328f47e44effec352b8acb6b692244ba0ea3c2704e961d610a258be5f8fb562867079325697af0ca271c5c527117a3a35fc1ec8206b33d27dfc4ea6ad7bdd1794af1d9f36a037ee04c5e2f455ef4a8f932d31ab471eff0fc38196fddd0fcfc85981006339ec575dd136d6f0befb5677bd07e1a9e5557b1b635af3a5e3a02de2ebdbb86a06a0aa196cfc9b3333025da9f2053f29bb5934f1d30359f39b4165b57335898cc155c939269ce629da4e58a149c8916a72945e6ec2b81c2e57150895e1f445f5627df4d79181cef8209da1a51432bbc9a081b7e0214ae508a81b255deeef35f332dbfc4c9dd2e13c5cba00cefda8f98f8c6489028aa5b55fe3c7a676154a3307b82959fa150f09c07b4e915e76bc5b4d1436b2fbc72ad766fc7207409004573e08a183dba7093384ac55892ea157c2f23c8cecbe844fe826c3a2338f90056eafa56cb28e1ac7f9fb9f9ce8b2794675ea5f984b871de198bd944e40d7c2b42c552163870b7f6564d2be9f95fadd1b9e6213d68d654a66c6af2076997b1f98b3b1016fd3397f18b190cc212d216aef42d1cf53754baafe7c1af98ce5cbf440fe1277b067db93af923d4b8d99b25de9ba4c8fb14becb9b16db03258c703889bfc22161e94496e9a6ebc1555e487524113c2f8f6193384b798101d1090da991aa23e9070818487fb458b6e559691bf5f94e4fe5b692fb7462935b74f82619fc02d098765b511774a3a62f0b9f0455a650089bce7191188a38efeeccc160152ca87eb484d4ee2fb9bf17be3378ae96bee215adcee58f9fc039acfb5dcc2fe53521f4808cb89a7b064a6af8f20960a24f48df78392b57ee85ed40f09d13414a5e4560841f75ebcc4267533eb244ce81a028373f0b27f8fa67e2f800b88ae44e8bcba0e4ac99b12bbebea2ba42de67b371cdc00f6373dbf7171785355793b280f99004cd248701cf0c5a49bf3ca93edd7e84037408d00617b31ed9960da0a05a84ac5b3d4b579242d116daf8ba95428f7093297596d97850120c2d5be81222cad3818eec33d30ab73799f5f4a0fdedbeca7198affe3b5c0c4bce9ddd4cec4b21c21b2bf2aa24b8118d3d257b031eb4feb7ef8d242e21e43c99371515659aeae80b48a2b5e1b49ed30338a6e99daba02573ed2dea2864b9c992cd316ca5285259ffcb644842020e8d293ec9cc922d0ba8c3d4b1759ae6e99c7b55f5c632b869150a765869087520a69225ecfba38a96f685cbe11b75e5dce3b00b332b8e305a00da21e06e38cb0e0c9894f189fd49ce5e723538d990826d67a11b16755c776497377e91e2e7a8906f399411172deb273f78cf0fc24194e63ab201f5f03c89dcd98efcedd88c0debb4dbf1e14ff5460510d79f6d3c5e2f090643053e9cb5fe30838e785050047813c27532ca7474857ec88d66013e9bf4ab7a12ea7846b4fafa28aa6eb9b0ef9eb142bedbc5a633adb3499e8f421900600469a4d38ed0c2be8b61d64d289073e5fbffe1d8d41443e352fb129948abfb14bf6c105e54bf8ac983efed7fc7c60f3b4b1e9f12f6868702104d58991c1e8f22c26c265b31ed1cce596cbd9c0de60930e24a71681fd185bef65a2fabe398aa00f605c3431b5f4281f29ccb777705b4b32d4c8928f24561f8fd881f9ec16769c4a3ca4c3cb8a083f146d7268a20a613a0c1b9ee3805fb4d691dd5a4f8940c96d129bc717730b02e939f81490c722b255e12330e9504ceb8db513c2b8aea4872a41e9be1bdb218107134fc96ce4583d2619dc4764f44c0e7714144c4a662eb8d69b29333e1658741a6c9d4315e8ffe79b08a35c5c89c85c5dc260151881d1090f7be9b8aba3b2afb43259ab3ef53f03339314ed08d711f84a8d03fc03169796f7bc22658b927ea7baddc15879e72055549bf96964994b2a4ee1d70daee9667af84c24bc5b9e0e247e42ca70c805eafda9c5f4abc378f1cfae87ed2d2abedc38abd4746f1886f62a658c8b5c2b01557084edfaaeae2c2f66d88281a5e29670b5c9bec905144b1ded2c8279dea6469fe81ca14694ef93b9fc1c3cc605e3d68c7ae09df746115f83e541ebeaf1a0dad009ee17d46438b2523cad1b76c413d653a75a60f5c866073610158b1ae1af4f7803c1385967ef79d3c47b18394cc158b7c55e11ad490f13aa48c2d1fbeac274583bad12a319d139ef882b9be8acb1bbf249e221dc2f672783c83461d5fb46332f48c1804af80d28ee83cbaad75974f9712a76d1b6abf2452d20d06e0a77fee01a4b475c5057fa0260fdbd50b5a47a4947ac370da2d775ec7e0cff32e010c241a51cffae64adfe4c9f88fa48fcf561eaf095b826c8645ed8a7be7842f4973b6f5817efc1dade89134ee4b3881a1d79f74671aa0c13adf2621b7f03ee305dc05f9a3d11a69225bcddfe1b12d06c60f985c8f7ba980211cf19edc4290ecf695f6db00229c9d0653f1609d5f187c66705487f6e7fc34bac0fe6712653ac67e40ccaa6c5b87e1847e25987d7aeca67fec8268e4e16ea8beff47c7fc8adb463bb3880268c6112539f8701fb297463cfd26cba1f96b3c5053497d22154c21d0899a645cce069896a6700d3411690edd0f74fade3b49e084d9a0ddd0ddf4041b61d7e8233612d7b52cb65dce5f92ca281ec5f4cfe74372a292a670a890814a29a4c5ddc0d327dfb2f2531c263c06122b50e3f40c65fa85fddebe5e312b380c62da3647597ff59e325956fe537c93629521e37ef2d07951735a242a88aed591981859584fbec7ab24bc0f0f43fe6d3dd7c746ce05fae107f6169be43d7a1f3f52d786f6583760146a3fc2e4d49ed6c07f5e445b3c0f879422339e05a7232282df98120b7a98f9d0ab897d144f92ad93ff229a283ada5fd981dc04c5ac9bcb4ed6da06c7eab1ae093f0bb2de994dad3a8bd8c6fa337cb377559bdcce6ce6a0b79f0d472df6b079fc18e8ae150ccabee190159396633228f6fe4c4dbfb824a42d3612bcd485572e7b2e85177d3c2641fc29d1515ab8afd47598002dd0a4278f692088e8cbd4d07eec7fad991b1e4cc320a5c0ae542ce3057cf5f76cd4ea63e63ec2b22c3feea702e755ae9ed17193697241865c28c6ee8976c5676975de94ceaac9fc36449c75c3078ebeb709200c89c64f17444cee1d727dfaf481493b93dfc1ac3267291f4c5c9745deccd069e7661da12f9a820855dfc6392a528a0279031f2e382bc2cde3f37c1f670aa9668a977ac0ed874111442b59731ae0e5776c9fa7fb259748786336a988e0cb1ab02d9b4d287d51a088f9d2e02fa22cc0ba8f58e1730f719bbef5cc10579be422afc6556df37e9cead40234a72051ba3f8f72cd91a8ec06f787fa144210b3164615125b1ac456e5b7502510194dfd7d50d5c3e85091288819137f37a84f9b0caa44922b45cedb2aa32f4e51c4835847eaf197bae4f6300272e9dc800b4c4bd68f64f825817ff2172b9e8078c22a67844bd57fa9a8340d59ad2094c45f2c5ac6a27d4077fc068e92f8f6ed5bbcf495c6c68d8004dbc701da88305d920e3301642930561137bcb79bb355bf5e31e0bd9b7dd35c5da24be6eda621aa37489fca8cd394c434cb823a82a2d807eb005bd6234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d8faf8b7420455ebb43f4d9680ba48de0211cf219b63ed6f5f03f5e5533307d3735d622d64a8be31e17ac5df8414c5274b9158f73c4cf1f86b40e4f5ab64da13ef759f6650cfa6297aa8257d07da81e447cdf0d5d7ed9936705bbc41b5da5ec48676d957b86a8fd361fead416c26a3a1388134a825e44a06dc5c645c198f2111c0969c6cb6b506e1c35cb6173b4c09f564d30ce45432f92d8be4f260979237ad7d72c74750268325c59c9132dd4d673e4017b4a27004c07c4efea1b189c18fb4dddb06d1d5181eca124e6bb18957f101b3fb95b8117b16ae80455a6c81043e72ebd203cfa93e6f16ab8aa4be193f68dcf7dead73166747fac04384176773329e4180aedd5a60547c8b66b10375bf2f89a760410283e07dc8612ce6b84eaca217c01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bcab7a5d70965bfade923e0b01011c032afb9c462f4a3da73f5abfaf527bf6b0787a30e3d624f5a11c0b9531c0256382d5de7bc1cd68a80b3861b80f64c4bd22097ccc134b0429468cde24a9c8afa1349b4b4381e872338fe8b7c74bbd5f7de12c830addbb8905523c74ca4ab0e6d2dc3101d42728aef834dabffc63fb1f3484e71a71b8a3d7360e9a941a90e2ee849c85f0c010019bec68e04686399ccbb0eb46e246bbf97f8a7d8388e8936e95c060e0453a6b488c1b1070b75a11e1d66f2c65642952058f28bed9a4d77ad962165c563ff729160442e64ee0f1ff3fb60fc4fc848d94f039bec35bf556cff54394c4bebacc4c5d78f3514c9d824bee03b749c99d988692d072ff90c81cedb8e195d6ed7c46608434e07088886df4a249b1a428831fe2f8da54ac3a1778b932ad46e1d57f7870ff0638c2e573d2055b2da463a2b321a30afd78e5600d047b168b4debe7f848582d1c75e7873344614bd2cd1a18ba4431c4aa76a5adf3fffcb63fba9afc6c810e43c61f97025abebda2d8155281cce7ffdad171f6e1dd84ef6b35baf72b1f2a3c013d3e66e9b15c9b587df4933fef9816c201258587dda6ba35af238d4a9d668c3793e6ca346c4188efd03e54c36ea2e73b6f7cbd93f14004fda727aab8d2690880cf259744d8191094cdf57430621d16d72e73e5fa5133c1146cd63dcc6583842d59d74caaa82d2f8f136930b47eeee9cda73852616a12b82494a50e8a9bc0b11d61980e1af2fd3debf6a56de01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b29b90fc270735ed09e60d70c04abe473a64aa30020f7c4ce06cfed0e44d75ea786b935eb5ea7d4fd11f11ee726d33f3acb744a884bc92bcb057e3e753372c54f436a9c327f7568c64cbdb7f7083365fe5ca2bb2ce3dd0d718bef9483efdf6ae5a23d5dcca58a0f057e2067921095a6e23107f22b5876cd9e5311b1bcea2ffd54c1478466e40ef29d7d9ba8396fb15f73f9223e69e40e445500251852121bc76d71b8b216fe9f501bc01c8f78eaf4cbcaf3ee32ce17927dc470c56d66998950c5ca3b820a061efd305381a64711879c3d527608352b23e3476637dd5ff3a58687a3e91f43c6973fe9a83d8db004797ca78c325b0f3548558cecbc4d621b35509731f22d5b78e1510bc885571c49556f4d9a7ca49ead96deb0dd22c04ca903d99d60fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5ee2af3e88b32d33d53046e04f42ce004b672a9f05351c78cfed5758875d4a20da009ca6ddd29c42aa547ed9e0f34a0db7592b38c993b70cfb10ebaff9ca7bd62d5f1e25e7b9312307f2b4db8d35e772d982b5e2612a86ea8a2a9ba71ccaf4dac9e82bc3c77cc9d4089ba57abff2c01e4e6b5f695a0cdfa1830911d87405906bc2b2d4945ba026076fe6e4d88aee821303bdc10ebea73e0dc109263da9ac2aebc55a0c506d76807836a6be8de40a88a4a09bdd96b87ae3df209c851e3e8cf539d149dd4d49a1175bdb7037793da05621e9158bd9e609c9b0c525239b498a76e00f2d1898b923d8a7af0f394b0bf483bfff31dc0813381da6abcd837821b6d400e72142646e5ed33557713af004d94de3a43a3046dd36a0c0064c387565dedad6f95c9c4bcbfcad71d30d582bd504f3f80eeedb079be0bb515361aba01d941e6e29add99c2b85b562f92967485b668d3f20be0b5943b39d9320615dbb081581df87aec48adc40dedbffb391f7807289f51871d2baff1bb6cb612a01e260b2c7f23c71f2c5b523e53a485e1174550af7412c1f5a8daf577322d1f0b53a6b39aeb132f133c975fe8b40da5e512b1789bc423157bd1e42518ae244c800c724704bce0ac91161bdad7b9253db2d75656daabd3e2a4cb2b16c9fcf48a63f22023d11dca326877c5cc19b4d1e23f9f6cfea85a29c028aa1e6368f3d3f078683ea8df52b786f0c1d3431ab6621fea71272cfb0ecb49c93d6774331c52690eb98352e42cb90ddaabb4c8ffc4de9266c019651625c3d5234f147c64e7ce3b2979a7e1af903a0f067f37ff479b7ac377ecf62081ad12e684a64fdf4bab16de9cdc1e46f90352cc6d2c6524a7abac50b3ee32bcd4ca816cf2649038d663c9124cc7363317d56038b78befd8074e8b29724d760eca0abc124e40753a28692fb7af60269440ec9eb1fdea1d0c4eb2f871d9e531e2553422a26155b62d4e69d1cf499a3a470002bbc2eda419f538b6566b521a0b2cd7933405ffd122718263b74f9d1ace79b2a48e2da13b33411585f614b0a92e2f12a7f9e08d179a66e93ed739ea952e3ba6205e4c77215e239eb4feff0dcdfba83909996a728b3a4aaac45637bf6b48b24bc4fc82540bd27fe6de535c23f3c380075c002ed91cef9f46977b55edebcedd716687c850fd7271e96334f6655f5399b5c8329152970c8042c2aee4cb54a07283ea94a89ac6a34a0a95344d522b730b60bd44acf342a1ccb9a6d90923b454d10d8c422cb84810da7b9a2de6d22f24c45a77541e2ff9a5f775946ece3456353ff8ee7fbc1a740f03bf9e86d4d75b25ec75dd7b6530ef8b604b0631c0ab8e6024321d425f83f9327fc81e7b8b6d6972e5e7487d89c3518155b2703e4fafcec02a6e267219581602af52ffb0166258e80144a5ac04cdf18c7db703d5e2b52c67d942bd4d4d3e138b38a9a3aefa1f533bc370104d16bd76c155e305bc5f920eaf5be32131de4120b6c16c038394afcb3e111c8b138dbd389cfda4f37b8416c3d02fd0b742701ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bbacc52c22478d12fc815d315215e426d255b29d15e26e5f722535ad8ad714d43b240fc442ea8f8628e6c804507cae3fa462a95b4240c742f6a96f0e1039e2550973ab0a6850ac18c6e4c53c8dafd43c068178ab29766e8c5be3cc563f733b45101ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b07cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb6592287e39e83adced71d9d20fa56a20c018c6050e1c3ee70ceae0d5789be2072647ab1dcdf4d5c3137f67bfd93f00d793a7e175a2cce3e27e232037f9786268f4ee384515a4325315992e61dd957f0fa91f3858fe7c079de59f56edded51de86716ef40c102b1701970c7b0c34e6633d8a0ea1c89e7527252fcb07e63074221d9c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a857d11a8415a18e7a6ccf23640cf9bddf245a5f90c43b3014d08d3ae19faf9527d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe57b3190d3e10f0b603a6a873690438ef191f74245bc7109aa9a0c7525d2cf3b015832154fea591ff628377c8622f8d87a4b673afe06c3d8737d3c1692dcb1e90916bf1865f0ddba5c80877463ad6650d7fee66931486956a07884f53deaa13e2b80b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864eab723ddaa63cc83c9ddb58dbe9408729b67129a29d7b19aa1ad55d612f8b26316703f3012cd52dfe205d552c430914ee7b572d5e383442fdfd3dda0e55b7b74936d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d91b9471b621e0c1a31cafca4a94dfa01cf27aaba40391ffd744be455aa37de5b3f48a3465ef81745a43f23286c53050f247a5ab4fe777406749d7c40bab5692dec1f17a01e81ed720ebd0c5c18afb0d43c4c1b1928b4583595c4ca35df07645a7cb628a59a420752ff3279a9751c656022221e468e1c0a9754305bda681ec0889175b80f0fd759d48de2f33001630dc4905ee3786cc6097fce9816326611956910c37d43d98fc8efb37853e67e52262498f21dbbcec07f75b9672f3cd1c109e5548e0940e8a6e8861eaaaf90853a685fa803c4e039166060a3c921c8d79001e3cac496b3bcc37452f0caa104b2205a8a19dde0196a7791988b3b74e23c2174c1efea0c6173cb0d956cc37a0750834fc83974bdeef818c3f8cd20164235baa103516fa4547451bf5656a8624083945404367142c2a1e93b9e46c479ca81ce2b15da01cbf770530810d20b703375d8c6321d438eaddd88f3515f5dd3fb062ff9c72cba6faa5749f84248b3e73894fb6731dc558af01f8f5a626d8f44ba6fad469770c0899ba44a3545c5e137ead0f121480c1d6d3851c8d481f1d6822e39a4cc60d3e1da7c8767055d6672919be620398ef57a3774748f8a127f45f622f75e814c0212c39530681945ea51ffedeb2fc0c40adb221506fe736bb5e06b8aae823872093187953f573f9ab820d59350f45abbce0d9b1e17fed3ba0fbece7a569b6ae9de0d5fee7e421b7036b765e824e93b90068ac40fbfcc70fd15ed8753f0ef5282357fc64679d04afd125b18d94661380306493fd72d3ab4080498b82ba4a3bc3c8bbab8e176f8ac3f124486622bced1fd3d4716cf540c331962730e4e67567858f8661aa2791ee42184ca6bbe2b98f8337be1215e6249fb8b92ea8180d3984d492d185634112441cb1ea50786b8415d180c38850a0a4526823d496f774a12cf021b7a9fb8aabe9de8d43160d87699814085e5a17475934aa1bbb61062e985774b95554b04ceeec6388f93dbd3786f0f300ea5548d0fb0f583dd18a573517e3493ffd4cdb858d5b1e91e7fd6e0688d1504b76b95bfa4e7db97cdb4322afc8537331034e4344a41c54f69a4c3d45b5546426cb7419fe0f774a0f55264393e78c5634ee2ef2b8c5ac373e814f6ff4b859d01907e8433035ac059b72c9319d7e2bd0ca4402a6ff1a27dc8cfd440d9629a3cc6787c12895fdb1df4e32af1c5399d45466137fc7600931f644037ff05e5029f1f08ef51382e2e07ece5a9aa95d95519d53ff651ca04bd30c5f74554b0e2d8ce2973bbef3d51bad2b3efc260083ee53ae5321083ddd4f435342656a092aa6e4f26ee61b0283d059c656074aa1821d85b20214b4050df61dfb7b51cfd095b17cfabc961032012e9852c5484b3a951d9c9c808fad786c5a1c24018d89dd81d62d81dd0f2256ae8b44e701abcfc081c437704bde28d69837bc04637da1b6d03a0ef9e97eaa0a38191b777a92fe4bc6fa4a0aba3a5a3f079e1aa8167fd59f04506a07830f8cb58053d2ab9b93d119d854a4480ded2b5ce125423dffc91f1f5ff7ce6da8af2e750c9aadba6e1f090058855808c5cdc4f15b9769ea2195792cdb627ca158b2be4e19cfb41aa04f1b4a3f2bb72052e475aa7f7a97edd1fee4457ef197ec44afd414e5128a534d1d7bd4f0189765a6f75eb67cc990f534b89b2146704d48f11dab1a73e2020b20037e45f08f0a6ee07caeb6dbfaed82130f028bb31f6a4b8a1708c8e25371ff6098478a3d5838fcb603b38b342820de2c1d71626bb53895e90ba333fa25c71a542d7fac413ac490f689d62e2e985502320c95ef785a174696afd5d100ede8b12d6abd9306189d04699f03130c6c0fe9e76473ee2fcd6b0562fb8c77988719c7877fc9605c53f0928123315e5e5f957245fc50b12fe4abb3489f32e73963866d5e45a0253efffccbaa382ad099ccae0bcd947074c723070fe5a96092aa9dd9c15283266035e6aa1267eec923476c20c3bfbacdddaf2d2025cbb217af0604d89f6cef19728002ef8e93d1c6d2d79f4c572fcc5c30642fbd987d3f9354db0256f21d8ef8cc94055e85730a49c7b19c51e9bb2a5457aaae92d33e1d67aef41d044020d4ceb1dd263a4d4ddf59377f6f963558d32bc066e843e497c01f3bd154e9fc26e3bb24ebbeef9029baaa42108d419b004583c43362c0f6073e4fd8e0a01d938a31bc6364ab3c91c7bb845f9826ee7052a614d2cb339f3c8547aa167436ba49daac32fd3f0e79ce1c79b19e5e0abcbdecd9fc63eac94431ed4a017cf85df23d50afa40a911f47a2b6cfa25a193478aea2856f569c9a475810b4fd7354e760f6feef4212b6f3f6a163155fc245afea1223ca291ccbdda8c27d856f6fa55e43f73559d1049118fcf1288901d7d4dacceb79198ccb64aba401738cfe5fd7936425c36c8f3518c02f4e098fd47a36a8502e237938b7a34808f52aa198d0769356ff1f9bd7286050ed78caebfcf7c159c8ac4c6583c9e40535fbc56be59231eabbab3a663290ecda6e4ae6418f5735be6ec9260ab7a1f7e8f97c8bc2ea1ff546a0599329f7e6dfc225532f5f50e309621a3b5ce842afdd7b9c0f4bbe0e879882cc4e67509c3b773d0d45b9fb07cd00ce07ff84f412160f0006964d2a420a42ed2b014ee33d0b3053b2b37b7c14e519c0a84b35ee638974f6d86ba546ca23d4ae6906f164079fb1f341da9fbc0db12f9b8bf8e8a2160dc8845f5bdb0967b7683dc02508fe5674bc292cd6da13fb90a851e3dac82300d6dc66ea2115e04a6ea002bcafbb62949177f15a88f917d37e40df8aa2c8e2ca7fcbaa19e46c5775c67401f6d84bb25e8ea24c71a989bcd4920cae0e91787e660f0725b24f694994028aa11f5f09ba0b694ff77fa5fca1ca5564b317906c91135f44a5af1a7bf4d72d4e3115b45c010e29547c43677e228323d474ca913cc316d9b876350b1a528e404817d61d4576398fc4797279cedddf52ef2f0d2114d6c2cd5c0573c95987fb6262d6eb3c1ef1110eff2c3a2f167c4cd2c4c601b2ff790293f6fd9a2d6dca784f9bc53396a4d5a82468042bd6598af0d1c021e6d302a227a56c14618c2602461f0b059ddad240490fb5bc6a246cf34e1833175c51eee990a43e8561cb8d31d794161b4cd916f7809d316d4aa7c4b834f8870b1e04d3e797704e4c39253652656d934d223acec95c8328d516dedc7e63e7da5e16c470bd5b4a7dbb2445cb67da867bd529c246654a01b1f907b6fe8b9cce6851b0aca6eb9981404bd76080542dc7fd8482cc541ec5481ef827b246278218889ce35c2fa755a6aa72662e885528e9ddab7d7513e7abac7fb10f4abf4ee75c2b213b777564da9ca5fe2b6b76331c46daa8cf70df503d047712556449f1d59f64b30db298f3cf095eeb89b4a6522185473ca493d06f3f5075acd2ed34d8cd3a198862259a0a78aabadbd8fb8c54c426b7f4afc2ff547e69d3179450b8ac46313707651ede4fc3a48f8756aba1558c906f0078710fc4d0abc889588c8043fdd224d4d14d37a7028ec9ea027abae0a39fb71bb6ba8fcbadfe875da8c00c7f05d255c44e86eacfc3ce8732aabb9216a1509d3f9cb5ee497ecdd64069ddc56ebd5f219d739225dc212b28d983c44c1e91e84a4d1238bd00ce891a086a7953d8f48f95c4f6d4554f3c480de0736d639d67ec64429b694697b7fd87e2e522366062d3e35c7b7d8f616da808509b80a81cc594d26c1e08643b36dc3d5c6cdfa9cfdcfb3fa9c5c6a6c70954388ea8ffb3b6327e2b5be9006cb0b160659646860db22039e87704cb511d61458ac23cd01a02bb32812697d3c2908e5daf88a449c7bc8b68c815e2458fd62fbf8c9324d6ae9c2e1706230a72f28d2c327a25850d41ad413c4473657b0f071e221f062888b3175f58886a277b0b0960c2b1388a5185575694bdebe47dbf77f8db880afffed09153c13948870b69a9d77e51d76987a740f312f12ac4940e77ba6be11d85d5ff8de464f93441c207fc10479ba55bffe163952dcba4d503f7b18994012a699bb15889c20888fdfc742636319593bd56e3d84949e2367cbc99e0cd42fe7470b848ae83d14532bdf5fd7ea6c96ab19a0600cef5fb7b3b9efeb312854aece4ce0a89c3a01efc6d89629c3c81a29fd1c6efc55fb292a754207b1ae8f60fc778b4fcca4021590e90221657bd78bcea00ca8d6d44fc3d6a00d79833ec9cc1641d83fe8a2835d65e943a5608fc7ef6ebe7a1a8331a33391c1ab25d9dde385f9963b642a855ad9ab4b6f3ceb99623362f14ed08dc6a52b48eae7032f7b1b241e7adc7aaa6cb918b945d6cb28eec6d81a8cde3bc8b8fa2fb09c12f3447ce821a90b3529998268b32f1b15afde3b42ea2e0a85c63c0ba98b3a7337fb57ccfd2343fda6ef60064c6da27c795bfa88891ac10febb03f30645659f948bcff63c2f0e2466869b86f3b2428384bd04fadede50dbfba5af9b1431f80a0bdd4be361478360571526abed5f3d9ffb2afd55eb5a8537a6e7382865fbccf086a5a9883726a6e4aeecd033f763a8ead635bc05160afb7956724f3b529b04afbb8a21e5f58e8b3136d4baadcb35c7434928ceb3be56726d73796edb501fa9734a7b8be8e1fb7cb17a112d4baa589eee58d8ca9642d9888a2cce321158a717b243dc4f869a583f83f7250b47dc9e7f3fe887b166a3bc4c720b4b753b02ee15439812d5d0028f5063a9ef08b11c89b8b9dfdb7ff7c2f8ccc5622e5f7b632541557533e4274df77804c84b5f923e8627dde25e5addbb45b458a91135607a673a9df25ff8f615cf5554545257a6b2c4b870b8975bea9adb3efe6d9e05c17906d133e9fb9f8c2d9893f0a90e8d9aea81f574e3d77d57a825f50aa6451135fcb0897f6a88250ef9ab4d1a0ba62fdf86f0120fefa8681e28ea768b91dd19293ffaa36cea5bca15e0d47be40979e270786fde9ae264095566268989699e1fbc21d3b682ccfdce025318488adc94175fe0a04f373322712ce3832e7ce267dfe9a68eb26795ca224ac9787556a49b04d3c00cd6d42f218865bcd606b41ed8517350d8bf9e56e60f45d43e05c6f75ff63c2730776a1f886d9d8e0371efe44ddcd40acc126afb4bba2325ace4af414b20bd2d8005ce742168c8d17c354fdbb8e80d96d284b11751b23ea926811f341d1c831b27fca9e7a475e395dd4b901ed0074a9a1bf66bc961ba28ffafa6ad99714fea32167405e8b728fcd0d5ed07b98fc70bc32beaa6e77de5320d94de52bac7159bc42acf75d65dc2f91ed1eb7dcc634354a5fe9fdfaa9c78ffce2e09b96d45a63ce96733a7ea998b9df4e94ee2c40b3557162f36dd9952a19b6442841a65b5780e05890e7c40f9620e51c509a4e6b88ec403708c93a84a3e60e299ecdc2e40ddd191edf0a6148682cfeb39d85589b80276c2ad2a53ad4ff10dfdd93ce4c3319d12c05018fd7ebc68810a27e7ca07d144224b24c32ec4a50b963a361d0c9bee6849a7866f2fcc5c17e65a8d04790303e76a3b3e4fa89b2d0e2a73f8e05d5819c959d6a3c59b8d22d3e1be71c8c35df3fc84c5684b6a9c31f175fd7525cf9f6bd66abd083e1f62d66b78be7b00724be5e61e2cc0c63ecea5f740da7cb77662908f65fa5314652d9ce8471d51d6ec15536cf1b5d3f4eda919d817869ee27eb99fad58cf8d672f4e248bf585f0e0abb10e0732602d6d97d8687da4d307a6f55a492e7c47a4289b6c1838bdef562230347924c23ca203abf306c368fdbf42d883f2e29a3b7ff6c3b0a3127ca59b3e166d806f0a9d8ea6d0e0d5bf9d797615d9403b32f4903424470b7a9b46a16c2963b553cce5f439dff38eedf06510fc05b9e172e6fd2932cb5d4fdc7f87730927216b59d27ed9a0dd7da84e21ce9201954d2f54cc14eeeb75ce35860ae2f07b5a86fe4962d803e18e844a9b33534b7a18061d00057e8e4e0c458625a9e033b9865d60331ea0477ec6476728088aa29605d6d1b5644df10d457f7628fc4ea1f9df4bc4f50a6b6e49d2373a6014b83af0ecd5adb16eab60d470aeea81937c02fdbfcec705e37afd39aaa641468b0c159e0b58102a6b0d0ec2e027d7b4bb1ff76b8cd0952998aa50fd76b9a523d8183e13faf6284dc80ae17e891b56933f8562f1663118638cc536db592fbecd918e7685fafe5258a5bdb8c2673fae5878f47c3d4e7528310ec6905b27168f0e8497b01370a3493a7e7dfcd819aaeb5ab341322e823841236abb8cee3843c8af16f3d428bb11e8b70dffbaac92d6028126d2b2f6ac544dd8fb70b77251a2e6dcf87187e160bd83f79e0c5744151d3728c480119b65f93aefc091872d176801ac72a29c110247281482c5c0839ef14c4b734afcec6672d9fe27c3cbfc5e62dcf65a308e21f9276f61a1d456f40092ceb86f194396075fee69706537ad201c924820d2c457a38b4d54638d6f9e36545be657fa974892a09c298d7b2eb416fc08eb7787ecc2e51b14853e28e9679dca4d7c9bcbdcb36c4bdc7748ff4ae5305a659d03e6694a32035a0e2f8efac28735a20e1c1a307c17cbebc3d6d7c5cc2cb6b9262e590da5381d4faaec49ad7c0c3921be3f580c94b112147addec64e768f40f194754d813714b1c9b6d93ac2fcf435953c3ca5503670f103823f63c3058cb4fde26b80070e8fec625758564a1df03a4be1445abee1981621039695bb34d5b7ec791cceafc5d47cc26bd2c6598b06e79d287b4af2971fb9046a74f99d29a361479e40c3f63e05a129b4f2e06514e283942277c85864215edf8da131722a2a7a80489b26defa48e30d3ec522225751801639cb73619cf47e9d7e6776888b073fe5663381d4eb4b1c2131baf17f07d593cfcb79cc6540529d9638c331bff70749b7386f2649b3fe9713370f6ef3ebd4300e21c1a8d105e906248ecccff2225bc4fa980ea705b14b15ba12beaf6d9bb540d280edc97af84db38b7ce09f506bbd1656c9c04b9095936d7d0f6c98cc34f5e4193217008709e9876f8dcbf3424425ee4a3e889e2d7828cb23468fb83db524041cb60a3e475e1ecc891674b75bb23b9ed2f4670cf2eff9d6663a4eb89715a887dfa9067c89dee29d3a4b76f6a4859481e7ae46047beb26b99ac728a472e2efc43efa2428f8de235637e226b86bde7e24cc1e421bd0c7add1a90ef3982b7f824a921c35557ff77b733cea1e3229e36386e2a084c50d1bff747fcf83e07a57571467653a6f1dbd9d1deb8aa62f26601282d236f8e33e249fa71ed0289828735449218b6cc4a578ccbde76e5097592a2dd4020f52eb1887d21ff096e4ae59809275bb8c2dd3f9c6ace6ca14fb441291bc976278f0336adc907c713ddeecc29bb325324f76c8dfe266c1cff398977dcc380c0603b9d10bc0e601f1a934dc87ba80a61edc8bdc0043671727e9e305af27842f394105b025af77265949f1ef1ab5188bfcbc9112b1e195bedf8cf05c252025f7c05d044490910530dbea509d8584a1836ff123055e9367021d8345835a3b5cab1de7b950edd98007f597469a36503d68679e2c6d90b4166f9f40caf3532a28c00b7a02ab840b4a7fdfe00292185721199971a5f5f7f2786bc477430f0b6e684794a98ded7449ad123d04edf40577326e409635c8766bbeaccfe3f3cb7cb89269c34634919dea33697d16f295b9ad97d3c63fd957e1ee5398345f813d986d4c15d34da7dcfa38fb91a82743602787ad10695935f0c438e0f7caba2863d65d7b742692f2f48610786272bba82fecc815a5cd5cc2fc968cae62d18001533b5a68a2f3bd068c9275f6cd14ffae4ec6d4e736aab1ea6411a9279d5471da71580f24beceab0c55ec520301f99c442f8125e768b3ddc2e68320a49c821bcb28bc0983a1167a9e35bc2ec93dda186ec48ae782daa54b794ec11b7ac84cfb65b1bd2a80ed9602b730364f059ab294aebc51942f5ecfc67df9849d7eda07bf4f5f283a5803422c4b617075d803ab772f736fd29bf39ad61b392ac9ce9bdede3c759194f0a6266c72b7eb2f7faac0be733ae5ece14902fda0416e71ce90032c5e3bd02d8d192a5f6fcb8eb2b27daa5eb4dd12beb61349e1893387c5318a2c10985f73f8f11b1979821ee4e30a0f652d6c92004b001ba91c588882e2c6e571dfa6f08261b6c844fb58375741aff2ca68e45037c5a4fdba303faa8e1e3479aa1bcc40022e235d250c10639f02add4f4342c0bcb25ce32c77516822eb93e53e763050ea1bb0a3662cc71b50be8429eef164cffceb621252d7219dad2c9f48302d563e622123fd576646e16ab03194ac74d7f15e7b9fe871668dcb2febe811fbd0d3d66a39e3e4f34a0880b6ee43753aece9c7dfcd3397c69ae62c6d1ca3dc8711f6e20b637cb92f6353e6ec30792910965b296af3b0f713b41b6ead29be8f60525bbf70f43798182916218c6eb7be66b65c9f2825ec7671814f89cc51841c0124459a9f0f5f37318b9276b81456de7b5107f27621b98d6636b61768d88048289a3bb9e0be4e1480a7c85c0ac07d9051b85d46474badd04d27e8d8b6d54e2c1236418ac7d7472df3dd662f626e581b533a25bc945dbdaaccbb671e3fba4072562aeb21848cf4014e7ef52c48af29eca911313f1680d9edacbde2f60c341b20207e67de28292551ce142d075340ba28852751ba84864ffef2d1d10ee6f18485931b7dd8bb9e7a2ebeb6e55ce27d527281ba37bc3446c39339cc73b6a309f1910aa63548a8a7ae48e7372418802f1f0171e4e30bbe9b485e56ac22f643c6ffd198ae1e762b73e8657dc42b412a8d29b6a161a22a38cd5fc3740d37891003ece52ba916c87a99e20e94762435d775ccc1c7b44cd23b2774df78a1bd4fe9544163747b5d01bb5762322e011aaa0cc15aeb6e88ef853e5616fb8c086c6ddc4098d2b8e4a1aee7e06b841445527d9832851ddef3c14b84ac5a20355bfa7bfd62b7bdc5d62943276b04f51eac2070b37eee0793891c0a7ae419560e00499e8402ccfb32d9e620275d88397971f60dbe151a337f07ec0dd55d527a5ec23a71c7c4ce4900a6aa05c95cdbaf5ad9a1f5c3c1bb737f4ed15bac66596a98c3171a4df595581bc66d471d8c456ec27438f695bf48a9c5dc89a8bb04231637c923eb932c1629d9687c61e7f5fc0f43053ee6a3d2649f6633e71412912a98050bcdafcdb4006539a59ef354ea4f551512842e2763cf5632e270b019c33748caa22475c9596688cec4177bd1380a67b41732ed928ceb56ba3731493436eb00bd070d424fb80ce7716caf94aadcfd0c910ca5025b82697fb3f569f5c0bbc5cbb0d9fbebaf4992113798af2405104c16ad3112650895f83f72bf4f769f26d3600c07015e6dd6a38172e9449d2bd4e652c3a3b16fb0f27cd81fd4eb5936f4a8a3d1ac09b2a4e79cbc04832414d1d1b31bd4a4ee7ad04157c2092fce1dd388c4752e9d6c229f0efa166a4dcb57da9259ffa8d5f8b815fee2a9cfaad683a78ad9dd2ed1fc5734fdbdc69aa3d11be14ef86fd15d6e40558b9a5b9b3e13deb37a4d0538924a2fe7d319c8013768139a6a27523c099770cfa14ccfde478c536d07573341c1d30a3ab4e014d73fe6720b77546af425ff9db180e96451564819635b15e09c8efd9a12cce0ffd0ed0dd079c09b3dfcdd0e46e71f88c3ceb52be781ddd142b9280f130b351646032bf0d24b35d6d35fe133eca3c198655603a34e4a0fdfe7ef4ef9829623d71a36599c589b2c1404e3b8701e199a58d45ea9738d4d031190add93df029bb7a6ca5a5fa44b26a8e47c18582a324b3f90229472b7053b9a6371f675d37b14492683675668df88a8837b638549ee1ab3d7f6c08c6b556d073fb3232f8e8c1070add9b0791d280d651bd8c9e78730aa39c355f6c2c05b8ca9d960f782b3bb3431d0ec669e7b26475c96ace120233614f14063ab87eea58ce66a0fc2622a5104372148175573ea8e5165fe952eb8ae90896f2e73633cd096e4c1cacc28e6b500df1f81691854253adca4a6887333982df1d54ec07cbafbe945a2bc46eb57d13a0abd92ba566698805bb4df33ac57595f090f66a94320d9546945c4e938bb9f9b48aeee0534ff5e54aab31c128a63b36a736e2757e673d531c258996a5cd8911e66daccc107101b28ff857a64210d9dd7aa2f9076b8b9aa500f1dc9f63f3a958b621076e78dc5bc86c0da613d9c4687a8ce683d46b2d6c947e27a8f6056477eb0855014e87206934699395223612a0fff8ec5da7757409f19fbfe3aad747126ebdc673ca9158ac8215f713d4d2b8f15095a72986f67a52ffd8827bc271f638e6bce89c6d28ceb2243d88c64166cde8de16f8cd8c0270cf2f3066eb6d73d24460ea1ec79c64e83b82bb7152d4c97c6c5b1a075e8d1335d08650b8bc9712b422d39604612c652ee2d2ec2491bae204be56e56d17ac4ace5c82a19ad6a93726ea8cbddacde3e2cf9a088d24ddf5ea66efa309107a9de19db5299c256b27021f2fe8399b7c9eb98b515c774900c0d47e7179671d501876bd74311d1f576c4ad00d0dd5405ff44c27b75f81f63352afe19583793ce6ef35144cbbac3fa7c3c7a780cfe45de507144fd6fb37711b089ca57f7a47c9e06545492440f270c29f22ceb9912ca845fc91e3b67071012f3e3ce273dc42cf3424886ba45b6ec48acef28273002954a05807bb572bb75b991f3e0e84a089de9f5511183d7d3db9b9628113d87e9709de7d828d2436d3e30c512a33e07be0707392e0efec220ba9accc26461e95d72e4c4ddd3d474876135b5033145bfd68a7e03c0e0dddb3c725dc6a5c2e1feec3265dfd2131c4e0d5ed378419f149b087e5d872fd4176b72dcd271d09de9646929ebe2b6b46f9ba9cc18fb671a9080d152121d2d82e766a9b348e6b1cef37fbb0c5479f97d22aa9941568343a953f8bb86ed4008a0370bbeca711071564593c652133f026856bad6a0d6126fa28d68e8d681d0b4e3decc53a76c7f89f78b8148e19b05535b1b30efe999449b40c623b3b038c21ba2f6307ba9a836a9b0ec01fe9f97741e9b7d0b37cdf3d108715b95cdbbaf78d0bcc42797d865b0a01a8d24207f7b7afc716319751266f12b48842fae325024d6fb51b6c39dd0f252c8125d24474f630369a452fe1ecffbf56d809794aeaaecd2d107349b650081e5fa035ef5228a00acf1333ed69c7d22ed1a46ea8bbc84172b82b3de7ba42a71cab83c602466ce32e2b6f20f0cde0f28ac493cef2b2b9fb90be39680c9405a69c630921f1309d0dda1032e04e05d096de76cd2bc65b9e45bc0d5f47eb437a79eacdde5f21daab54127f16bcc4079fe69af51bd92ba1d64194febb5c8c28d44c972e968dbbebc210a84639abe7d5f457a9d17b50741ce764efdcf52f71b3a2f72490f879a90c7aed57a6122c26ea37600335e8ecd0eca3758722c726a601d2384f06264eaf3aee82d8fe41abafdb417c81ff6944369c8e14af12137cebf94687ba7e25e7a20290579d4c30ce1212583cbf58849883a5b18711b1942e8fa42f174461535c1d8f3ecd4bc30813b2e8355e1532e72200fde501802b5fd3aa9778d2634c4fbb52dcba258a416c747f0343afddb815a4d01aea269990d5cdc772f419703588c3e1fcfd523e73b0e812c787b9381bc638414c5d6ee95c0e5b2f49623ff89a077422ab96edcd9febc2335a0e6578d87410c8040019e8436921f8a2e1cfecf521e7b145e6029f26189748179b87cf5da4d262f3eda1cc61d74b3d806af3954744c9ddf4650f318f176c42f83a421b076e75bd7249c25a56ff1c293b768ad270cbd69bcc640a6a875213a1aea99915d94c879fa9b12e7c5306bcbbdf71bccb722d10ae8e32bea1746d96ed9471268b2951b3469b4a8312ff153b71f44bee0f1d3dab5111641e0638323ead44f9a7342ad76a3d64299d24c5562b90569d7869dd74f4fc4b50bff56a28299efa50d87c2d813d7b1c7c28c4ea5e3610fe90ef01f919824ffae8316ee8790ee0d787527888728ae695e88022ad8c255fa687207ce431959e3eb82fa868af280e67cac0ae361f57671d338887945c9053e93279c7369094645e167cc1cef3ffa76055afb4b416791a89c7c72ae9a4d319d2853de986bb4cfef529c2a77f4ebf850a3cbdcf0848e2aa7c64398340d5450a5b112b5d4e22d750b179c1cf0ab12958cabb8f5a13a46081786959307902c59f4543f7ef8093427be138c93a0384ffbb2e75ffc4da110e9b1c95fb1a39fce1370276c076d3cea55e493c1d3594e859deedb9a0f00075669526510debac6818d423e8e6e78f9f4fb98cd6ea0b8f48c3f1fcdc97db0ab4ad4f9a3f4c49a230d3072ad8bb2d4e01303dc6d4bf1fa2b6ef1d74d64aa86a5c93ae0b990fdbce394d2f432ef877f083e5cb668b5f797e59527518c44e25d95062033827bda005d15d2ff082f228410a32c77a1673d3ae1a2af2cdb1460703a826d94f2c0a32a0485dc677e7f180b92c6a6d8930df0c0fb8d1befc7ea35bd4ef8f88acd81c84389eabe55cfbc572f668ed34bcbc669af73e9bfc4f18d2224a211753cf90b2547cdf067b03365f7fced2b9106114e525044373792b31e5ef115eaf7c9c6ea696a1e5d3cdae7647d1f6ece91d43f02c11949b066be3a5de615ef7325aa305a4415788732afa646b3b4a73878b07a9a6ced5e88884dd6511e98ec107cece9e87a2134abf4bffb04429784a18cad0b8ee19164dc6031a86c3577187ecb4c290f985c0168515e4ae9697ce2e7c3bfb532e25d6c962ab67b0718194f4dd7016933e1d1e22a6b80c86ca250c335c4ac476c9edacab4a4c51e63dc47a38a2b7abdd2a19edd00fb2813c4ade17f656a1f67fa77890ad9a9e0da35ff63c88b81fcfbdfc81c452e23085d7db19223f5f11bf65297f920802aa2db2216d874e18390263c1fe871bc6c4ad97661941e286845ea1ea8929a78aec196336363f454625cc1c04d3bb93a3656181f0b5747428c9ccfbae6036262397ba81867be86db0e001df694939087e2e54be0e96ea7da8c522e0fff35ee5175ee6f726d9e20fbfe7527e8fffa2b0d3c8e665a1924f5ceb199a430a3bc9c50d0f5b5dcac5709bbdacf3e499d3355c2b82439a381da491dadc731bc78e148cf215edf3b978b159b7c2db36936c14a31a9acb1ebd4de256cbd592200f6c0c7227abc6f047da9da750a8f301154f37257c09192f052609557af4f23e152951632396fc83d64decb699ed5fa4d995e605a2499b0d6b7274def2dcfff61689c7c981f5fd76b4aa6959910b74c47c6d573c538fd3cc20d9bdb2df71c9ae136bd163c313fb1baafb255a1cd489b9d0f36893797e19bebad3718e40563e43e3afaa1ebfc9cba38b6a57dbad0ea81bdf68929c512e256d6a5b5a321a41fada5ff5ae7d93c929cf9ca350937fc6c5bd492f61c61274ad6506e88c95f9578be70f6a1a5c4bd056185cf3bee24f42fe675d34b48e3e6be277c682d21ccfc0aea8eebbbcb24e5d9d9cd969ae7d9a8605406d5401ac8332bc8a1d07d0daa1144bd2f28cc6f3fdc3626d3e9b31488327b4a491354a065c04fee454a7717a28938799e4eec26f1dd3ece32783189a0ebbd8090d407c54844be05c8c8711226f905c49842f2d67b0acab4f8655786095b994c30bc3035f896849f8ca069a867ca85f5d765cf6436e4e321c6ab38dabf800afb71a9d52bed0e9a91a5592602b6009e732a0602cf27189451a5c5857dd141a2be80ec2498c6a48de28b88253419476078993b9aa900d347749b67be332ce647209e8b45387b7ec3b11e80264a1d616eae4a0402bc7af5d87def02bd50bc4d1b90fcf3eabe2c7f5abb6de199d5ba31e237a558d95279c163b1a3d630a2cbcc90d4ec31e59a1c32452dd9608d8f3948735df8bd8bf9f0afa7e14105900f3680f947365456a75950cdaeed1800a96d2a6d53228e1587ff2fb80c1ac9f6a270c813f77417b9952f9fb2f4dbcbeff8a3f1de5f95896a2b10eb97f40178a29f7ef679fa30e9d6acb9cac8b82abfc602464298e2e22a1f8e5ad7f5bd1777453c47504f5eeb5130252229bcc9c29dee4764377cf9480da8813d0eafa7b08e8216d1fd24039005519885f583311319de25a4cb1fb5b53d5f69afa573b0331439b34ec93173855aa2af30cb43afe5a6e368a316f519cc9efa27c492503841a87a588e2c7120b03819eb3dc945313e72e10ec923dbe451cd517b9acb3cb04a8eeced170739b59e4335d0bc65df63350c386123cecc0d6131dc878aa7fb60816abe8f743d8f88022aa90d3226560223bfc49d2ee8c27db30e371b33155da52e98340a644bc56159638398713b8fdbe67d2bdb904850fa2b0745f5f9d3f15cd5dd65bc6554cea3ccb08d31d7ba21a1b8aa5de60ebf4b7e1a0678d0f40d5712a3b923c894ea67ea3503c3bfb5434f67632eab1f86f4fb97c6b056dafc10ba76396063bb3064b317447fcc34ec1a7efaee63612fb80dd781dcd4bcb9c226a85ffa93f0d9b6a7e36f40e5454a23bf4f4192973f380f29dba342642b93b77e775dc0e7541caf2655d9b3854bf055c25a2fb1883a07d8ab4f0469e483cc3c1ec1aa1e1faa8e0ee05d88ef7a9ce9ca40ac55377474c6c3ede2f9c01a8e054e6bf0b1eedf3e831a3f3a85da2803d036d19fbb287d257592d6976fb3796d30431ce0c514edfa8799079458f47e592e015abf5aa5a35b62188651dcd86595ec1c3f2e3308a7818469c5678c9f026154d4d789e061921721f1f30ed193c4162197f84654402fd864508005961ab94513c3e411008f2175c3e859e6775588da570f3889eca6b3917be88932d695c0c3f8690d0287b2999df675a1f637bc345f3e516f0fabdedc9253e28b948ff4bddec15053fcfba2d7d6fd7dbb30700fd8c66ef4fa4ef6b7ddc35be381159d985657f21ab235233614ca6c1145464213a77b491e813468107b19068abb0977e8f7696aa099b7c24fe99d6204fc9cf4ca949f8c9fa16426c2a198edeb2c2551052bd7c9e6470d6b1100a76cdea1a5ebc3b4b6921d87d5947a1f8db74d5e89cbb520a4378e98e414491d7e96936f84eda6d358433f459ebb00417a7e5add5543f1f114fce90a6cc2807cf78941dc306dfb48dbdf8f447931d47f5b8c99d62ab625df644776c64ed707f1442ab0d332fa1f0391a4f06710cea8d6893d3a32c246cfed899a4361a1db361b793a258d5ff706a088d197df9a7ebc8c4852bdc67caeba5f94573b7df24e21231cdf88c337b97b51ec592ae41fbe9757b8979acd0c4d49638187dc933b4e67c4469e1141a386cead728ae7f3179d1d98cf834313fa81fa13f410b44b5bb6947d70e287c203d578bd7e6bbaa2d6998043b5caff9ccb56c72766dc085981cb1bc5001477767220ce9c5feb0b812baca5352f58decf261aaccd858d3ba2d40602fd2acefe33015e0583c97c2c986145354b8e687103d8a95f9454fee01effa76a5a40f6ad5cc4f702d33d4ea31a2f84031177925075f300e2ae98971ebf44d415d3d9a286f34dfe38497ef5c80fb071f2254e6bdac32d7b7c81fe593410c520f152b460ea55148e6d77d84c9b82bb979743474e1426046af59599a1422826cc3e460c64deb750c653d35251063e6b1516af67b2624beb1f9e0d935c6fd2e0ddf289b30ff6e1c4d2109a802705c599757cd61e2371e74e618b4033d07d85ba29c47f3736e1244a53cbde885fc25fa010937bea70fe1b1fb370ecde00fc063ff6c3e5f974b1512c4b17834325416f136d09baebc8a1e73ecf903b0d8544348cc6d397c474be18f7db355fe74cc1ce902970a163a96a73f57e9ba79863b8a4335c37c1134fa8c868a472148ac97d408ebd38d884262f207bffb1e0ac606e657de22aff5c9c672c2cdb585bedbf7e9c6314eb3ee29ea0926c57dae71ad6f791d0d8726f2b6833e2b8db9373e2b6e356b32b488f7a59267d6d409f9d6fbe63c32f4892093c13f05f23a086ba391547843e7729bee0a6ff4d2a230b23a04fdcca69b4b48ec6c7835c2d4e086ae86faec4044c6f4d87f9587a116db8dbe652e6de6404909eb16b4fd875b43f27d0e0fa38926e4df98c1373dfe719a08493cfea36df5cda7acf056db94d0dd367a4cc6cc87419ed68c33d2163478ddd5dc7ca01e9af9156660c22c5641012ef4317d0e59967ea135bbbb07b6bdd559a71bdfc9e37ea424807d1b1fc8aadf541fbd7e52b655711e8ffc75c1a2c157a3bde71f5f7325e886e143d863c97ca641304c1f2c180e0b6c2d27afcf26d746f7069fe21226ee8422b5680c7b6ad4287fae146f9c0b0fb4bb48892c65e28f19d5b692e1db8de2f8ecffce2e0fe2813d7fe3f95f38188f340da66f8afaf36349f6aa095e947b0826cef3d9d84d86eb518ad56da6cdbd9859bf400a65ef4f06c00d730b8129f3479eb28855c77710be48745ffd0feac1480005ff6ab5d42f411ff7bc7b48a3f101ae5c13ab985b97ba453cbe8c7827af23599f4400169981a3d0e3a027e1733690be5dacce6c0bb31b03ef6e48cc2bdbdbfe0fb7b655e5200a1bf7475d945bfb6fa3ea03c0d5f4027b55d1ccb59f2b18f37436db109114819821b6a636f32a9cb9a5994bb898a0383376a7df125be34aba5064bdc26c7bd1fb34b43cbf0d7f8daf58b20c0b871a9f2dcd19143105291afe2ad081d1b88f245a34f3dfe1d6c7dce06007b72cb96f067fad10ed5413600ce6bd6cccdb73e81719189c1a8f6f776375c8668bb3ce8dfcf6ea7251279dac02d6e1c97cb03d75dc973417141640fedfe0ee2dc63cae4068525e64ef6997feaef615ebe300e508235544294f7dda571413b1bf97efc3c2977430db2bbf33b4e654f40ae3c36813cca87b8789c1d307297eb20fe64693d74f310e0b5c85b5c445ca95d715e9d612fcf893924175c08848b461a98f4a6915fd88ea98c88a839a261a595e03466313fe741ca90697bf3fba6ee5f1976b87960ba65af69d3d146b4d7f214f145652eace7f54cee33e2591fc25628ff8aa176cdd76940b436c6612674723326c068fc95c51bf7d7cdf29e1c7891d15e5d5fc191b3c3e53db44eb2aaa81198fe529ae135c86221c4e69f36ef4afabd3109b210f2e37b3b5d3fabb36813936d455486914bea201a01e9240b7f9fb519360bf59571032ab90d49f6bdc601dfed156832c4bf06d56e7bdba52b32bdd1473dfac14d41357ab2158395f23b29676e76dad9a7ff1bca5b8d6933cf990a3ff620dee06a5363e5de27e00c0057851497dab2d853ed45960d8136af3c332c33434e40bde27c4be8c80ef0ae92aa522136caf84b2490ae301dd4cc5c15c3aa22a23935d3996b39eac436d3d2dc5cd5ff849bbbc8d84b7d4b86f12950328e87d8e5faff0567c5a821f201a83f6ef5529ce0a399357fe30789d2b9d06abaac2cdf7924720bf40958fe86f8c97c6afda5b8cc660d54a95d05cca699fbd4b1407a4aa050f5050084900da0b17728357591f6d9c52e7f2cc190bb198aea08f7c85440c694b4179f781cd35646f31d24523f20bb249192f0f0e43b0b0a44b0cebc87013118be8f3ce7d3f8c93f9bda32b5f565f3365e2879bb69ea252ba65e484d15f08b838b23d45b3180587a378d45b8126016d306064524aeeb2f276ebe84a621597f6484f7bd721a365e834828e474b3675da0b6390e2a9eb81b3617287692a9bf199fe9a7e1b8e1f67a295eb13470fb11e6e0f8c58d1dc8d8e1de2cca48d28cbcf9db838a30ca9ae66455d5601bc8c4e66f37385af0a9615a4efbe65d7044b293ff0cc2a3623b1cc3edfbc32fd2ee9652b22f8dc1798a8849894382e42b063306eb25271458f3cba930aa77380035b5a3a74927dcd6c9e5a56c43fb670c649595b767879cd3cfc37f1771d4d110998e363fa129f6d2d9e82ae123b02fc3cbc928fc787b98138ad9b9142bb1a775eb827c2649766741369c90d385efc12990127d08e86d3ef25c6574efba2fb870c5a5e8ce77cba67fde690e5b8c98905f84e0096e22b59a58ae6a6694e3e54355e9f2bf14f7b8a076c6c662013cd4adf30e1ccbf0ab3f5207c69e108335263f3bff50c85e325fd4bf4f14f454847a4a895edbbe8166bf69215e8ecc73fb2ed1978e48ece1e3c32e4f1ae3e15488b44d49c099503723c37ddea55fb46035f735cb389dcec89e0f2279d8697b548dcf2ee1659a9740c3ea63f90418f620a9dac35043c1723b9602374a119062b73a4345e0e9a56ecf76ff5c534bd5df5d00df9caf676dc2e89f1c61cf7426fe62f8748909be7e1641a30e54a4c53d7e8b873fbb005ef54a01239e0f4257a273a622a96a001c2f990efea4d805c20c50638df72abecbf660e2d03b01c9239f2eee0b8c308de9158ea1d43ead7562a37515b0800cfe8b430b3dd4075042deada9af1e87773448d8ca803aed5f6f8a80e8f73bdc4d09749b214d125bd4493c6a08ba0da2984d5150f874dcccc7c163bf8f33e967f8a4f1b052eab82e85a0eadaa1c2ffbc0ca6ae50e29d1655e9f2a7015f33772ed4ab87f3d986682f37ad7a27e6428188b86cc0ec92d72e63f730ecb60e9c9ae64cfd9fd2d2071ceecbd50f4e9c1208e72ba716c6b4451e2292476084a980c44416ca390683bf0b6def3158c10e5ff812879b46adb73b28d1345b96f921f724ba84ed83c9a5ec980e523c2a7080f77fd78ac0b6cabe3e4425cd745476769f5a4dce9fcbc5980dc1f4e6679e2b9ef4d45fea521a0da39e25b0e384f54c6dd50bb30ec13a349800156c9124b2609116bf1acf6dc38b71e8f67b8f479817ebd9b604f779a5944df2ed4d237c5eb1184a25d60720f19a8fa667829a02de71ff8a9410b43014f91fd6bf95507e1b5756192f4d370a8aa628ab9c7b343f649b5ccb4a9d6fbf710c7616d2fdc7c0cc0d817fe382784d222f6cbc2c557e7ba18f0bae350286880e882cf368c96c6be6a4593580304fe46d7aca6fb3f6830e8c209d8e1eec441da83bf185e65092cb7e83a6132aea359a0ffc36e85dff759705a91581be7b259beaa33e769952524de5f98a7feb021f56eb5db85606e1e585ce5f6a2a8099af0ade100e4dbf6c4f7cdf2f38189e7dab260278c79384e084d622559ee317fd99738a98fd1a895fd47b7d913811c68b7eae3c7c30c1a1cc07f13e91329f23f5d283169db6c5e4b49d9ea84fdcbe44f432bbc22e245976dddf855223ccab363ae2e420a81158cef5de2cfac46c6d5e47e7fd80c40b7de7ce8d3b4815bbd755c4daaf7204d07ceb9c2dea264e891ae3723119ba14439ff8049b66bd3dfce02de973d0e71b29b019020beac01307a0e192fae0b5687cc4da15f00133e8f2936cb4843c341d24fe86f9e6a337f58660dfa6aa7cfea49f7e378c328c68f9915fb9aad7d12a05039f60cde8d3bb3569105dfb2a577a651669db68da68fa93974f77c9ffedd4097cc38d5dc9ec3f4df2d47fee2af225042a864f5d463e9bd8774f2756d211ca3535d0f6b39d4150785656f59cfef9f95ed61698b131ee2127eeb56f55139ffd93ed3e8e6231d41fd5a1ab2971a6217cd94fa1c7a3643db4c93a5326b8be1204e2cfb13302ee54a60d7b78fbc977098301283a4e21400b446ba3220ffb3d742e1e8d09da55813eac56069508bb505637404fef9b21acd841ec67f056660d23acc8f60e977a4dc200336a4512281bc434a10a4405aa44aa06608505e885ed2498511c2d8530b70a7697b3d2f6958498366019ef57a3a30893f7f13a241f9cdf1d11c68bcb486617720f1d1d13d50b8c412bd75856effbae1ab56c361d86005c70e7d8eb1342bd5bdff6b0042f3cb87807a288a5bf30f17df2d173fba68f57a1fcca14b6fd8dc232d6fb87096a93e0881cc17a2e5ea7db0480ee73cdddb862177374116bb49ebb3c69554a7e4928405650edb9b7d06283078721ae6081df01b518a58a2fdfbf6f691b9f01f8c2662db4b205f1e2e26c73340c2f13d9adadce92019f6b245f33106f68ce63c1638463399c0754c116fb4b787c5c8b00a155e81d2f6d4ff77c2b4f99bc2f9931c187e6bc79724af4ea4d2a1def780618f5001277cdc6cd793f66ac3e6d044df91790b8d7d6243bd88b6f3d89cc42d149169f6eb688177adfbc10b2570345d7a7da806947adf4028d3a7165923036bfb2f412801fe87dea20753b2d027859eb1cc2d84389d9c91af834b8a3223dd9ed4133c0f45389779d1bd80c9439c13e90919e262c53233dc1c7896bbd0c5b1227ab615b22a299ed2c418d13fa8ede2c5e6e8aaa4458d6446bb9f8b713e77b2d3e7e5fa4ec217ffc91ad29d5f502d0943c7c6a7479e49f23980457c97f7899fd4eea07f0baabb691eb317111b6bef10d4fa5d79fb0481d3af842c9d1e1ba30e02164900761573bcdfada6bc8606301c59babf318097f4c838cbff1e3b0e6002dd2a040aba482ec3fde818b3b0b0635cdac72307978fee217e584d7225fae88af1b85a9584d76d01d730894bb771cc5bf52f6886cb71bde3f3ceb56acf1c57f9939bf28db5e8a301b139a51b0bba262e14a10b52394c3f7abed95e2b6daac785a490fee35ab847b2dd57532b767486eb052d80a2a6cfc485d6b9dbec5e9dd9c311d187ca74bdd5282839feb154a3af891dca128226cf70df55deb93a44a27a9c707231b08ef5cfa01ecec8c7e0c75ceecba1114972bced757f8a5fef935b55b75556a0e407abc57b71b694ceb0c472ece019addc2286b518b05c73a985cdf09e5f6379fd68990e54cd95d14a59b00b40fdfc46beff6aa8b08b5f13a2c3342171d4704fff785dfdeafcd58be2108149fd72eac2845bf85691fca210d4e6a2ef5fa545ba019b6e1fd6932563dadb539e2c130011080ed5cfe40c31c1bc9963905123e02a146362df5dbcde229ade86ce6ebc9cc74359b84b32f76b03bf063cd5a6d68104b036bbd8579e67d8cfa1d7bf0f6889638e222867587c742661f7b2400d0a0789874f41714299b4c3c9b21654cd435765eb29663615affa725de66f80359072d31545dabb2aceccd70171e6fabe07144fcc26c52402cd5ddbb20b8888e46bf4729234dac05df685d2d18d77cab339814e4b1e919fc3ac4daca1fec076a7fa28fdd8a2f18218ddcdfde86690f4b7f2ba4c40545c11a6bee22c787a5358b206037b592877dd2353c22597a8145e06637d34a7c3f36851d94c826296234542680f634d91329e5c9b66b7e55df8ef41c2298670b646022c347e5577d35542ab9d2e4cf6c25b031be8eb2c7fa6e6b6638b8768bb83f26a6480a8095120edee27eac74bc8ec4109ed3f8461aafac52448f96fc27e06d1467daf8f481b8290255168168260b2daed6e4cc26f26655d410bee107a649bec6f3dd97cbfef8af80413815487e09b72824aa48fd2b1be574c04a4b4968ca2a1664bafa1cca56b44f8135e28c72c8b2928d815628c26cedbd2475b4a3e975890760765881f2b39d3644ac136d384e5361f3ff570d557798012ea5aa02093650715bce9764aa6bf13c7ce0cb826702d5afd85139720129619f4d5c0b4c505328fc7559e9df2b55bd36f4a09c925ab1962f9ec7a97e264413235508a04cb313fc6f88c2394041a6cb1b4868a9d466436220699fbb761ad35d4e07bb053ebcc1d6c53b2849e433073af09f1ebaf4d8ed9c317087cc06b697eb5c82b2ff6a3e9baecb455d91376dd4e317735784507a83a0a873d66834dbcb6336c71a8eb3159e4b926cc9552f945f86151b12896451320127cc82f0f71d3cc4e499a5960891d0f8fb7cccb89f99854e51ea8ab302cb60de94c18cea5016a0e3407cd43032b638192f95399308ae089c086f0ff047ac083f350a966043c50070e5a3fc1a9c75077d49e4d40651cbc744fcd532655a0414b5da5559673a6728152916b7f44d6954e65131a52aeb8f1e641b1fade377c207fc313edd065729b5863d82da9ab6e934b5d5d67a4b0ac7dc591c13d172412f4f4e351123d426960f95708fe6a2f68c2dea4bd95bb72a5c233805e6632444b3063ca53b6150acb5091a5e7288db7181971fb923d050d5cf57de9436b540acb19d72482d345b3a6590da0a888baa8e931f4da37d95ff39ab8b15113391992400b2e383855106f483b316f68c0c477e8e5b1ac92d7b27258b2165b845405adc9872aeb20819fdf06ae1cb1fd7a4c68025761a52d76e6cc8c824d36f72330650d0f4a96dec64185f7e9368cbc83582e888a8056e3746f98537f1e09ebb71466ef40ea05132951aefbbe2f9deff49891599af5c20d8a42e00a0f34fdfed8853856a9bfb0e8339450682bf681e80434d8e4525847648dc268bdabdb447ca1fd38802e46c2035a6b06bd5f1c819b3ec56b4f2d6f82ffff49f809344b9ea35f61e1d92d2f560ea59f391c2bab8a52df7574097ec0c7056a1d9732636c0fd74c46d8674dd00fa615c17bdef521951bc826a523aef9cae2ff225b1e395190a32df129d3f98f174f982339e2bf313e25a848a6a8446d03a90d2cccef76c1b7766425a2f039f885be666cbebf8b4212bdda0a61d05de0d9ecfc6349add6a7985f2c007fe8bdc5083ccdc07b7572c9369cfccfc39a8e159faf5d2004ca2e46788185317508d4c5a0fa61f97182c6c28adffdc0b86f535c85eb8b9d1935c8f63dcd502602a4925bf0e3653f84df89b2041d013e97284db7a9c2860abab79b4b15f33f2eddf0b5c1e475717ea638d83d71df8838e266c089cd0b2b4a71094521f9f56b7aed87773ddbc99b8fb813c863f59fd1afdf8a796b49f9fde6154b64066a8409e3b07d6a8455b9c28e5ed9c54260060591d9a986cce46ced15edc716d917b3c2b6d37dfd667840ca9a3310965b0f282ceb1bf95b0d69eeb786e9b0ea8eefaed9855f8e48cc1274c161f99bf6eca6175d701f3623244dbe0986b5c792f10919807b80714db8b98ca2bd693d5322dca587613bce7530b33f37cd7fc73565dca15fcb8077e5561b77ba23311083a049f0c0247c9617d126cb4f5fd192fea5ac7ee51d7ae6b511725ae1440f2617657a452276bfd8f3d206aa2aaae0340c091aefd99ab34632b521ef6adbb586602f3b26b2745637b269044bc42acd4986d392d8412bd4eb1bca87aa83b9cd2f1e8d9576d1098a2921887da56974231b990282b7bbaa312cb284b907efcf8d8418de38e1cc9bc100fb7351a35f30f03016555a8eeeaa9931fc94c202c788e0b46eeb1404142f8422026455f65688d2d0b7f926af57686daeea475fd0ddbb2efcba7fd7523b1785b7152adebc9cb0c23d513d17fc1e7433fd5faec46c462640381b96ed2f1146d3e4bdc163008d4816711f6056e6571f9b414ab20c582ec198b949aedf7a9fd75907bc1d79e0337a0dfbc7015cd896116183d8c82f2eee0d205da00016c0842f42678d792db7b0edf2e8be11ab08dee519f098e979a89fa4af876fa820d29da5696fcd8e7599e985b23bf39bcdd2fa622c84e7695abe0157c5b5364c285873dc064d8a996930e8487d7d4cbd2e7836f7e1fa9ef67829066980ff7ffcf936eebc8ffb839e0fa5cacf22e9b7489132feb74627ca834d5cfb40c1a5bed0ad8cf8a295a77c0b33caf689353972dc22a322f4abd6040f3b1d70234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4dda277507c52aec2a5eb241af64915ae04b4cbad26c3d7444b05473d2541fbdd03cd61f071a0a663082d85b2c4201c0ad8431fec01f786deeaae2a510ed6f658ad67cb9b611b1e27b0d9f8c54370d121c5e992d8ee4e1bd1009ee6c16058ae9885fff7d2b1b616c3b290e721d23508c4ac5333386ea1c690d3c20cc5be8c099ae0202b68971fa764c5c0c5d0d49e23d91abf41f1cb87b11299756a2f8cf89b973ed3c5a2f4b6977a3c35f3c3d719e64bef4ed83712498e3f32c693187558b7457f8eaf3fa81104542127f8b40f0823d81cc7b32c46dc9b056a825751482ba5f7c63a059dceaffb29f14e0c81178287eb9638fa731688f0e13dd54b1aa1f872f010fb3eb3fee6505d33e8839c6905f0926ccaa7053c873e2a0430e8593928c1c131225e7953b3236c52b036ab2c7e67fda938a483aded93ff06e5a129f7b981c7df06778fbea5593b7fe83965a6aa1a7ff75e7f6fc700a91093e970166f11140ffa510b27642f87eb93b9ed4e1ab191d5a47bf8093aa0ebacf0181705e4d2cb72b126a61ad2778789ea9a22803fec5e8f4856db4038cc25b9fc767c0dfcf5c5a7e88e9a13ea38713b4838bb331b19d5e25ef92377423e7200a4bdbf408d55c93ea8df433591e3d2faa773b9fb5152b256a9765590c258028023a328f0e524e12df454c79c46274b11c5ce7ae9890fcca4b855a611b0a83c91d6ce2efabed52d685bd7daefebf5a5b008824a15d4633cef8da4ab3c531f9cc5613f1e3925fdf75d8533bf1a28591c749e29919c75289b751f02f965c2dede2a4584abaff89a1d5836af64d967caf9638826362b0250baffdc4c82b55e969b9b6f402a7eb63542040bb43de65b2ae60dac3e4b22f52af3639b71b2981e28b1407f45ee8b0a67fecf57fed231728c1c33aa0e9122b8995271b6532b2b51d3c3b0cb9ce5595201487d61d5d3bb136fda5630c13c677419a9ba821d6cf5ca98b6ca613fba1bc199d966c756e7399da667a0b93f0a465eba6a03c3bfe1a8220a973e3db05d3354dadba4c8e048e20123475776fd049c769256c6c9ad56dd2427f44cd8f4f4a788a237d8cac6ae7116c569038f43da8a7d35b77115ff31c54560de53cbab92ac13de941cb5e777c7221ed341205b6aa9a516693ff13091d1615e57e8854a3f41ddd823ec4ba0734d9f600927a6d43ab672b04153cb1cd2f5813463c62c42c8199a60e5a6c4a99e78f0bd0a4ea445010573d1841b1fc3e38a35cbf7a4e3dfdca58b684000f167b6aad6faf8994c157f1f25d13b9c0daa551e7fcf120a3eea46cc2ee0f921a4ddaf43a87263f67fbf1114cf7742bab4d4d793ea7492f6e92aaab954ee3c1eb9d2304b550440995871dc3eec9530083146568868f5484a55eb06720750d768798ef8c6200ce5b3bb667567b4aedc77470f06cb6c46440c197f17c87b6b05fc205c57561640ca91b2a706291bcd8beacc05c076b7cce7704808eed8d8cd10270e8c140aa938525ae5113eae883c011e855edcc5b3625f3b88ff6d83b9bf85fdaa85d3938f85bf7e8b17a2d6bd7c679e4fadbd20ddc56d73da7c3d4c3ae23d7d32c51945183af5dca417b4e0ed66f04a76efd88706b10c2dff10d3cd76107e1950c0eef3e4b253131b220087307a32098e16f2f4fc5fee6698d362f6db408fe129db741becb9e342dd798bb0c286ae48490d87d141439d8ab08422f863705cdbe9e9d7dc32411e8f5297de3ade99963947468ed534db240a056961696258e1fe5d141e0ae6512d2008629fc71493a30435ca846826f5d2a0f026b9ee1dc44ec99d470810cd2572035e6cc1399bfb255d2244b18273519ed1d427ae08a1cc8ef83068b56ad98bf054c32a62edf7d99cbe1b29b3fa131f713f06f4756ded25d2a95d12c76d1427f6a03e2934e521fd8d1821756c4dddadc94295c358e7f4ead9fb9eb3e862714692931e939c93cd6f818e4611b1151034324c4289ddf2b088b00973c2b67c78b309461e223fb1a7defd2b16255c57cc303e6404f5aee0cc7575e9bcfb029500c2cbebef23ded0973be7ab059b9f6955b1801ccb5ac0caa057dbfc1793613fcb360e6ba4c7115c216c7d807de942531b3608e1517e54d89478c19d4ca3abe939a1cb3c07493e76839564cd86ccec1a594dd5ac63315702cafc280833db3ea675205c3d1d158a1baa242da292af4c7f818a83885a17ab5336b810e169711d6bdd30ffbff4feacd09c00694f35f627ba07e912d542ec795a65a2368fef8c8b6350d8ca52c12cb395b5cddb6dc28c2400a8ef0e683cdcc5b581f7033ecbdb8a0f73d27f28bebdc7371ddda7cc7b4c9d0892ebb617fb4fcae14d6eda28778443de33ada4eab62113a78a1c971ca41ded0cd78a8c6fe6054e312f29796de3565e51b1ae9f3dd319f5345b8a4c1be1067d9c632dc2c499163160097a6524d19996cba7fa4fa50ce943227853e5dd6fa3760dd6676c5f62da265a3abbd8552f0231d84d0a058c9268bc9a8d7f1a2fd80a4baa6f7afce0d67cf5bcf643536e0f7e6c7c70a29cd0150c1be04d6058d03ce300b534cdd35c8bd9018457ade1de583d43b030a6beb6a15f3d7398e6e5f790e720900c6b2e10552bfa7f5be9a42144b827dde688364d7ebf38da31f7b4dea076926ce48f1cdd4bcbdaa594c92e96671051b0474d842f3790876df6ca7a37bfea6ad45512feb33bb742e908da6496022f1931299e4bca94193abf0beee17214aef5c1086a0700ee5e6863ff51cafed07d1d00face65065486e0bca3441e3a7dfbeca8f6452098bdad4ead4c426e108322b224e7eaae0aa2b9ecd80e8bbf1cae9aade792b299e66a5c2792953443bc8a3a0f22afb4df9082e5744abe35745c4a04acfed0a80af0b7641ecf264c1d799e4427a09388180b31e269f9dfc0da5fdd0c54dc35aeb2c468bcb074ac3f73f31f89f2d8f5d1beef75e764c1d0764ec1d552368d3079ee07183a1f55e962b74d3aa3690375422fd1d2677952c2e1f6339d8d4d04bf90e86fa4a77ff3c9e1caf05c38501f52d6b37fa6a01969a82bc2c8163343825db16dd0bf563ccb8331a4662a5a42563bb7257985c19d32cfcf51b50e8b1b523a23bc947a8d49db4c4517def766dd1548e73984df576cb16a8afa69b325c7f81ac1109f0ee23ef5567c9f90275f8ef5df18f929ac06d5529daa42fbf86d44107a60ed6556f248fb9c3f0cffcd0a7f26d1515f4ea8f763de0bbfb5314d4a81d7bbf6afd1025594500506beac4a657cee09cab036a5ca0d851ded383438345f66bd366ab58edc67766c38ce67f2903811b5bd644c9ef24332fc7aeafd2a4c917c589461d5f9a13f04027ddf29170ea2dfa7d0b10a1282c0bd2bb24942ee2e4a8516ccfb062485e7e8e7303c6b487fb5d09de5a4100a71c4367b2a51f14acb27f114195a5506fdae13ff1fff53d5608aa99479fce65823b2b3f266d0006b182250c230f4da40e181b29912ca76066b57dc16f69922724a26cd3e67417cf4f6c00838cb9ba71aa936801a7059413bb744d9ae161614605795e59dc45a1db6bc46c28907cd96977c8788d208a6f4647478dfdda615e22456260cae04eeff23a6f6edc9a9bdd7bb688c7b304ae969506c400925f9f7bcffb6d9dcfd89a35385eed121327ef7dcc77b2f3c20bf5e20592633e17b91a8a40a41c14772773fb50d9af57697181ca667c09e1e23332c6410e4d8cca510cb76ec487cd00109ac95f349a0aebb80093ed8262a2648a47f5aa381e16da670f10cb396d3b140b76442912112195c29a06599ace1546c3d24427768cae11bfd74feac456fbc93b119ed8253998c19147b7a1e16a5dc6708d42c56794b142f8d7200a52e284e5d7c891bb7699641544ac2ab81395731bff896733dfb0bcc300f77209d7ef2dc9b9dab7f4131ecba12a9bd8522e3e1a75e0a53ab5f026b73560974bba044d7f96dcfd81c0448f896e9c0cff28bc37197eeeafeed8269b07795626ea1934b3d7282c9bf6629228208a2326cad3d503968ceaf6a65fe8c00b73495f6b13053437f1e4c26fcdb72b01fc983b0d89d8f82fb0affd671cc0d65b39b32a9eda65bc73e0fb82ffc8fd52cf627fe8e5adc9d82767e074e191f07ca2cd78d9a188033a9bf079e8c1f6301236b7c62c2ca76c0bac829ad100e98f8c86eb053995ba92735bc2540fda15ef4acdb309f16a0e7b138ef8878461ec4f415ea1894b7b2147248a99da80fc50c44542dbb3d0dbe18aaf8a028cdca96f9c91726f80487e2b03588ee90335000a8dcf564f69828de1e3aae2fb132733590444cf74268c21531b6b6700445bf511f68139618fbf7d548602479b466e066a647471aff29334a0e997a2fe487dcc9a813610c5cd7142cea9adc2e061faca65403c9f63c74ca19c52349eee261f765ab171ca4ce7c9943998421d576cac1f3583e074693be4abbd6891488eca84e539fcd6601f856e51130acc3cfc62dc79d162fcaa893819300a1f49d54bbf3ff0dc1a612d14bcbd5371a0e46373fdaf0eb567a447fe9e16f2cc7d1b6b88a10251ba94262c4819bf321e41859682a7a81a960e0f96ef18ee48dcadba07d05a34affbd6cc9e7f431e913d552b8798d251b25d25ed3d99dd1af00e09e7c978a115d11ff2d87cd98c87de68d39995d997c70352e5aa80d5fea944156ddfe6d4d3cb5f3c079349fb47e0b7fe777932272b368d8200f59cf3d43d4e679281f748198c444dbb50d0838a2736f5ae965eaefb7f977cc0a4aa9e9a6e6b7ac5f9ffda07e3dd4a7d6e34d71c4ec9f9cc2a02993c066e846c61fd4102d5189ac2418220802a51c28dd56cf0455dee7a986f433db68c9da67f0f248cb95a6dca3e60342f03cabd4495ac1a6bc8eb0fe432570812594277c6eca2fc265d6542f7184848916b01c5ab6440648ca98a0dc7a48a5fd08ad182aad1f898658fc235ef5d6652c8830db9d1c2811d0b2ca92ebc20a67025058f445b98a6097242c737072d2bed1c5ea6f6a06bfdb4c30f12f874a76c12e16f7018045daae2d38be22843ec8f74c1e294c5a32b013bfd81cc716797aaa202e0ac491b0c6de59b06e4c4f5889ac4dcf69524065be322ff852e69e9612cce380416a717b898dbdd01ecd7603a178d049937ce6ac2c59443aa39d8e4f77617c7d8ce3cebaea1f216018567d4f0f1c4aea4b19e6e76215659f125297a947a01753ebc415bbfabe6f2728c4c257bc3d6b5353b753c2a3731d6fccd46b24f8117bacccb446687715f69ad42bb30b3a8ec38f839c272bfc84691071e236ceccfa7075bcd34b296bce2a9be014abb01f5afcb2643cd82b3f2d3c1bbdb0b6f229c26d0a4173d45419d86e448aae6a8a9dce64b8b44c372235272be2eea5418606fead66fff9bad1174c5e61b318be6a54f9f18f728b785cfc63b24638da819678a175c6456378eb4b38ac89593cd0a2aa640adcb3ebfe0b39059bb1dbfcb06b051d390fba06c235c5a9e42aa01273f98b30ece7c1454f5062e9d81a819f7a185d528c9a3d4b3c1044324eb34671f04dc686c3cfff7cb5ce7be1697dfd5c0c645c5d91d6ffefa6d945e2e58cebb3218e53018f27bcc2bd64042ac04034a1da3b690081e33b101064d89feaa668061cc74da0e50664165a3238b91c114f1d2b31ccf841a617bf8c121edb8225e2a9a426abfe35f5974e1c016cad2e03ea0c7dde0f38df48ae0cea913a2f35ae71f981f401bbf29876ba80e37cd80f699a2ba5b51a9807492e58c031836297c31e7aef78c944e7ec3f26deb56dbb6eade4a8e42ba538a636bc3a49816574dcb1ee69b73043807be36c39e2f9e183f158ee5e0845b2a27bae4ee3025cb4ff07a6d5ea86e1b94556573209083083e96469b3271d6a844209f17a5e8bc302934a68c1497ff993cc0ea4413ee70cfac97413d3214fa9652bbb0a89cc2bcbdd96529190d450f78f66df6748338e201944d4cf0542d9b76fdc2887cd120280771ba93e0926b187db22698cd1d984af7855bc6a147fe6736071c0b6fd199ee3ff60eea634e5ea36a81ac33c4b33d706f38b45e65c1539f6b8d92889a92470a91c3f23d1395b617dd272aca03b0c3b078f4d556ec10ac93b016450bf53d12caeed91a4571811f2458e415ed1e5bd2a95505e8ac2e2d1cbfb8b19772483c2c7c6c0c1289e6636285f74375a10a734748b89de5da40ec307f760ee576034a34f4b0063485a62360a11c12460df2a94bfa4bee34413e2a347e8e6df4a917ff90dd8882589415739c13ae8c2f4a31e0dbbd35545c6c69537fa8e9304a1d403464fa8aca58e4582a1c462ced3961edfdb4e0382d6796345ee66f331be1cbe921494df316f1c9f00311e56e085969db9020415b58761071f843585dc2937ccfe6d0a4982f6d76ee549ab1a0d36e67e766708831598836971d9bcb5092a4e40c3f149199ec0a0faaa9b29ab53be6d8f1b994312b3bed4331c4a43688408f0984784c13aa458a65898269f2998ed43c145a2dc21fb876d3e78aab11ce65c3ecfa1f87304b0104fad3cb4f5db6931f00f66443eed784aa78dad0a97dd30a1d19f3f4b224fffef749aa447bd3662577fd92987275c6f3f85f7875369ee0f0354cf1719bd9f2f4019649825e2579ccfb89ef892d65fcc5b565da1cf62fcd4d852cd4a3142ed88d8e98258f18cf969787f58118c0d86664b6dee482b5a8e4eeadf3ffeadce3ab4f3efc2a9d7c139a1de87bd58c004413649834c17b2808032d74dbcb863a61d36d68c484eb7f588dbd12a12c1339945b7e6b6b1a2c840b8843b1f7b151f8a125df645808fcd5eb09a6241046f1f24cfefd4eca910733769bddf9edffbd5d649a68b9971df6f6081a6e55d7ee8b89c3e5941b9991f6966041ac554ddb2826ade5433e4aa9c3367a020407f7d0e1e367c6b23d1354fade2ec10d41347e2b8fb74e71db15265e9f057837f22e55e88e495ff3cad2eac580a2e901d15f48620a1831424488b605af9079acd5e0b0bf808b9551471407f649e65c082a7c290b9ac54dd201dcb04c45f65297c13bfb7499dbef1e18fe2d05b9e034fc1a0d8803d2a796b62460fc7465c5412acefcc0d81465ce160f568b89ac08e48506170209711e013e3c54f31cdf71c66c51514ac17b28b6078be534aa05b1569963f5c2a75509407693ce16ee8843fdd81221ad328c347e83197ffd567b38095a6f02f7cfc77dea95a5c859d1ee1285c44c1e26538bee508179b4c911cc4f9f6098a41f313955d7a75c69245ab64798db60e3f69490b225e9740d77a9648c28667452411d150f20bce92c3e40c897df53358ffb61c6f010b1a626740ae07b73b4f1ed9bdc94d1bc8c691940240ce167fdcf8fd74f7b6814dc131a8445ffcaeef869418745414e04c912574542ccbf956b6997307b047909084a6a22d6b5ab12b7787fea10d10340c136bf977f7ac437cf64a83e05e0b9de7cdbd8990be21e387b89948d72e746f345618be454f60c396c5dccac5aff1f0dd35f7614764d9df1282741c5ca713a009399e9e4132d0cc92a1ec58de2f51cc5743a8f58da82a9238a7ed87fb7aaa4cfb781a27e34a50926d330e6d184a99a4e9511525cd8c6f795b2f5e87f8f4e58bad55a324c0e55b4c9a4a62d6a079342fc6590c54d2b1a02e1e46ddd129ba92dd4df37fe7650ded262fb5a83fc5924067bdbe5cf75c9fba21770c186880dd6aa44ccfd9096f36f2c89f4301502d0c1fce7598a16a17f1b01d54cb637b1e5b9c51bca064f18ee5d3c88c85e078f8e35175b2a2dc30e7a1a22e63b0b98d792ae7624a9a7e531481db0ed1ffa0f86b1825181d03a80662a3fba9dbd57f7f54160be275a49bceb7dd8fbbe1f7b7728728ef6903a9b7ff725e40fdf4ea27b0a5c40a597cce2d1cace64922a21ec0466d2a0dd67b3693134648f8525edb53a08d5ad022b12ce363ca870efbb1fe17fb4a1b120cdccf41a3020f3ee685e56b7f0c33c67938c9992f1a4f090197b9e5fdc2f728bc282a9fe6ff6a2574d1b54bd705d0edbc7d29a3c96e8f2a698e7940f0096fedf05138a6248f9735ae055bc8dcb2108ccfdced383c268ca5cbee4c7c7a6bf435f11df79e41a3d462180d8750f4e7931202754dae6eac98b00c9abdac02ae9fa0328c422c10700a92b0916af35a44ed176778611476d3f37c344a150f20c1be78d88fde7226d2264b2d656bad67c0c176993d3da11204e4091a373e21ce5192a1ea11319997edd0349c78c874754e755afd4417a09db87624ccd4103d3ec3c0800bce94a8f4e88bf53a6db4a4d287a2db7227fa1644bbc9365453e15abcfcc946a4bfb952e345eb19b2d501baa1231d2da06cff973cf3140f3aa666899d167e62f68e8b11fb79a344a3b48c0ffbf4bec86b6f22ac9500f95a2956f683f2ee7c849161ee9d9e27198ecd45478f78f20a9b41e34de6036471e39f0da38d2e9747e5e25a181aa4208bb05ec0938815b897ad9dcdea789f2668a7171075a5ea129d0273ff05cf097ed5a7b8aee3852d16c5bf1600ac4020eb32f761b02a47f19d1f1335cf052ef6065feda5a9b4ed4cf5c271cbf49c5a8b6287021f376a7f50ce64c3c2c20c62b886cc73727a76c278309d54bf4cbf5b2fd0886b3f6f85109e48cf48e6e3112ac0c66c2edcb6f2458bcb95001e9e691c75e93e42f7e2d072062449cfa8e45c9b9ac538020090b1682b1041c6284ef59470dfab431f30394f9f198822e06b06866c2d2c72cae979b8d9538dfcfbf6881a918b06c75943d09b819f07b84bc42f829d45b2f1da8711ad4b0607d801273db22273f3b03520102935c14eb66890c1672c2b55aecef122f93642bdd732aa942d95b5d29d87184ecc8b4d699db508dce7ab62702d6cd36510c5e76277adb6709af80c180e23de9fc20ee43ba89527fb75ec16a21f1d5c4b8ea3e3d750f4dc61b5107ae677c092554397d8d571e3eff1b2fc22ef345dae76cae33c4df86fccc27b5250468f84ba0062b651b6d6e21e1503424bdadd5622c1ea8c2601c4d643975f6fe7bf25ea665ad567402b9f30119275f72f1c767bfdc7e50558d94cf866cdbe997b04ff05719adac5e269a2501e426549543a367b4e3eac8fa4df7fe50248c3930f30a499a6dcf8a92cb2e58f631bc27b8d360eeb42ac46ce2935870a95c8d9058a55dbaff18c9a85d7b19577f5f17198b8477402e256017eeb014b320074fb14e8583d929b2b9c3c85256449fc16b87cfc948d67882597d3f85b0fbc1919ffa58b698e39ba6f35d49ccd5b6a2869cf92849aa5e6c03f38386e24f8cebd4f83a125baee40996328c0cfd91e1ccefb2450cf9c0f11d7c39afe0adb80bacbe17f7a65aef577e5be2ef8979dee65d8559dcb062a442fc66fb855cbc99bee090fb063a9d3b04e5d1e3026078e6fe66c20bc44d1b1c1fb735af985b7e4eaeeef8c6b3aa82b40796ce5d8951ec7540d7d73ad74018b1df8d27b4de3313ee6dbd2313886cdcd8035ac0944246ad91f0c37d259066448b629bb892b557e759eba3563846fad70de3f577cecb58d070e3c0500b32804a1ec4618e591dd21cf6c7b04bc1f370b574faba93919bda0f3e9a6f2f4a57d5747248991f1086d5216643b51ae0c154c8bf9f22729d886acca7ea85d64f5ac10d62daf2319f46915a9fe1d3a1354c64693aea376870b80fb7d4faf747b540dccea94e721b74c8b9d8e319fa5588bc4454257917690052ef74fe615f805f64a6697fca2e09194d23fb7b34cb84810da7b9a2de6d22f24c45a77541e2ff9a5f775946ece3456353ff8ee7fbe0a1cceca2084afd00ab5019e29808f0eb4206d9f74f2640d3aed73471e8773cfb34c7661d52947b53eea8edbfaf2d0e17fddbe61432016d10de01959600ec2237d42ab6bad8c671a51c337cdc7c905fc6e8175cba9bcf5b7cefe0f763fa7cc6a2a224d5a5aa1bc457cc284f44539098b620b0ddf1d1e15342f80a29a0dc283261fd3d7b3755ac46985e08d8e3a85d51e879768a024d442be8e2b6af873a87414e827e1dd83088272c227fc9e1293a66f883837491bddad79f567a93627463fa373a43cdaee2412354f65cfe645b8f8269e9429c31a8cb19a4656410ed47c43acb74c17d79a3286d73a6316d9563df41db2b81d6cb98dc1fe6492532d1be0554d07a8053d7ca09184ce7e25057bafaf98049441d15e64cfb0bc29b0ee7e50eca3cdf76519419af32a94d3f745ef76301d18c5e559e1597d453c8003d93d96fae6d6bc4bd7109b49effc83fd4e256ce41f4fe9910aaf5f6d53e72293fa67545e9a358b0ce24a5fc2147bd64387da81a91ca36d743b9fca4ea6be61f9e68fa0bed5d06925fa5fd6400a3f512bc321c35de08442fae0bcd7cd8248565cd849588680787b1f4ab1f715e3137712dac77641374cb7ff60d0e99ae33f5643226ae60ab57de31ec6860c7cd824ae51773d6fe51e945d8ebd73ea1eb2596aa800413e971742d5b449786dcaa31ceec461e7f212302b376ac9e64002e92f083f5671af244152eaf837e21482d1833cc006c926d8d61fa8463ca2281cef9f710377d330f813793ee8e7f380c9a31f46e7b35802c405021a5e818dc3b3f44f34eab7fc4b0448e42688f1c1935efdb977d114ecdfbf2aec0213d2390fa8f48d73c554773c4e90a30360fe1e2622a459ab33d689f4a899cbd1e7f3052f536a06ce56ca5d9cc38964e6da672010345179bcb32d07e1dffaececddfafa4cc585ca2d6ac27a4b3f0ac8d03a001dd193b6b96ce4741ec4caa27d263f6f1032b5ac83c45b13fdd06da70feec6a60893c2d682dbb70fbd00e611691bacea59645f917e470dd5163e8e74acd76c25d1c7fcce62da2d67e0f8e3553ad0b38d8accbe35d4f005c41a7c75cd4b7d36417226e46296c5aaa61deb176b894e7d2328db7e66dd36bbbe4322c03bf9a392184e10ce9e2550eaace1d44fe576a1b62010320cd84b1df3447a177107cc5e00f52c46254d7f8ea7544fbe2609e13d58b99450ab81c4ec8376d500f9f4ebefa2f81b4ae869e0f0efd58c77d24527d7735706be941f7c634c19fc339518dbc0b0277d5acdb257afae6ce0c2871f8523bee9a6e36c0cca9db43774c8448a52900430c512b24b0970c2a9d0492f2d9c01e0526fe21f7e54a2777ea31359227ecc6259c79a89460b39adc452f501e677dd79d701fa27aa0cd6e2213a32171e02ca00574b0279f7aadc630d2732419ede1b9ccd08e1c61446f3e791a54e142deb46a65cf2a6bc2b9cb6252507d6cb8511df9d43619805fdcc017d736cee00e687790fedb4bdb4bbec5e838dd1ef522be151127dcaf4a878e383687addbd367aedb6da0acd6875c21c4923a7d1601e3df23ecd3f71aabcfcc26ec2ea4c05fb990f9e958730971fde4032b8fd057c2dd2034a74b518a85300f4f2ff7bcc8e78567318c1b3f231dee2068974a8609eb039f604aa608daf7db311cf1a6e0d40dea2a24b3c5e8f0722fe245e762b11eb77d1b691da86cc1d7fcbae05dd4918a53d39718ca1fbf923d46f4681c2b5a1d5d398cfa4b8b136f18b75a542cbe8c3d206cad2e18578d3b6c0f3c4c563b43c00ca8df9d7594aa5eaddd5578db679bcd3cf280112921481daae8419a09d01c87cb2875bac3698875df2ee4a2da62f57493596db3b718d43689f5f5ad329b0067e11388735295d9841998f3dda7d72cc87cde170a900da9dab6fc5ad02c51e3ae2d376332a4463c8cae2753486a81795902d290c02b0435c846e4e82172a891cdb87400e5a8bb622f5cdc2d1c0e16ade32535f013a92a515e021f2f6315c85ecf94d88680f1247924de02ca686ff2970d37ec5fa6858b3e43bb26fa8693ff1228c1c1bd552cf4fe9564d2c6377171f814c3e4392ff5580fb7288838ec80e38de86e9da0b7950450bad2b70d1e58cb576ad0296a6138c75f7bc13c7256d9a9863f48a841a1848ae914ad20fb757e972ca6e9735d5234d2d545d02509b82c34cfe881911eabd89641d2593715e88a355bcfa727b9b474cbae295c1b98f386ee0bed54664400bc0ef8a22d18af0f1c8ac4eba903bf7cf4166880291af023b439d77c76ed9547bcd17aeec3c4a1f32dc78b443dbb87531db69a25d749889027975a4984ceeae04dd165fbb2ebb1b8073528065baed1cef4b975a1c4ea33f3639d32b75b8380ebc186fe2738905836d1f209b9996ad6f113902d2471366062208fda11f291d3c148e157f0cbb02f382ec6c13d26e63a800afcdf8dc563c0a7e5bff5792df412cf850b5273b22ef58ee8a1b03b781cb9145128a7cda37fc3098fd9bcf0fadef4fa111c2f6930de76ef17273a7842f2810a541b3555bae82395b0de999f700f823b987a833614164805cf81e02829bd38edef5356f2355c55a561a6aa77ea833ddbd0491228b5314003dd339412d057ee65a8c24888b86d06f58752c06498f3da31feb370ea90be9dc1dc6ba7278070b57ec043b664b2155be4bf10c0298400ae095a76b51911a92e072ed43652d89edfad1287c0615bd6b77449c984ec6ba427bc77e7e854b2d4efda5b2742432478d813d617cffdef9b075838c1f349a05ae14ee5850601ce8a4d3e5f59aac9f084bf8af007a781bbfabb76788c9128dd77eef23d51d6cdf12b92a48cf46f30f08d5707bad115ab99ba5255d24d0050c301ff3ab06a210141d63ea5f1a8cc6706137eeb29710d6b9e636fd65284fbbcc845da5d26a632a464b9d03c0bfc458ae4827d04c7881a7af615dab33cddb7c010e3a1429c6e3179124c0c85a0b604a3a1fd40436720a3db7634d82b3b390a1def4bc3492edab2f4c648e0922e27b3db9bedbee61c1de8951c3a9e8e2ab43c533b97ffd3ee909440b87efcaf3287ff8cf4ec9d810ca1a0a1205a0893044e8bcb56db26d0c41bd7a48dbe659fca5839bef6bbb537f2f1b5fb4189d49bdb88fe747930ff85b90c89b99cf8fc57ff7ddb693a456dea3bfc777507a6a52f3f291f9195321c78357e3c643563889927e891af9240d933dd5401021f0c3dc3d35397cff34b7a17dbe4ca4d18534c4ec9a56318efb1cab7c4c20b855d22ee569bc44f82d3e70bbdaa49da47c952af05f75d5650a5b093e245cc50ad7389890a232ce8881e4c2c219fb5476011d4add3eea3de117f1af0f42a3d04efc42d082e5f55692461fee28e779025c41c534b9800175d009a6676996c98e8ebc10c0fb4f044ece30f1d40ebd8e72bf9b646966195a73f42c14c6a485926d35c17022c7b86f24843c7c99aaf6e5e320a2a480b4e808ba3635e3f6622be2023543f368617f996df89c9c015a6349d221f5f5b86daaec75b88b2cc046dbf8cdf0ca01e6640578ceb435c1b6c74c665e08a00e3dea7cc50e2738432fbbff70903e230557b987cc92baccaf148cc8a26a56bdbc4e4ecf5debd4dccaf6ad0a6971c3d80cbea1507c3cb1536aac0d4a93137030216679528411d33d68593ed370d5c1d14c36c1720db922f39bb9e3c72cc0d44d2e37e34cb47a7d4ba11eaa84949cb71c91a8fb7aa9d04875415f787f092577d7e23f7365a435652db243fa9fed8aa5e9fc2ad5d0bfe27d50bd88b760675328a6f7eff19aca9124f108be5a816d91d7e2f12f05ac4420727e2461c25ea5d047e95620239f35b807ddd70e037198e184ed10bb157e9fa37da81616f3aaab14a54a45c99a0300c37bfc52d11b99539373ed98ff906af45b1a14fe2cfb4e02b8beacef37e4736f971de2099d6be9d6a4ab1438ea5b5bdc9c4307b51fcb784919a6588808a6c544e35cb152621f20a1b215334bec01ded1d0a79c3fd5cc44220f7bf006726177ffaf21fde42e0e1b7c4db5ef28cb8f4fbb8280fae5299804edd939e67a206c9e6a5121c713ff6a062d87200cf5563f97eb906e2014430cc047a5923af0cc125c8494a20206d61cdfcdfa04cbd579e6c68609440e9a9aab1fc0f814ce15faf4f75716e47cc323ebcb28308c3cced859debd71e99f767311320230485e6d3bc2efdafc48c62c0ffafd90d34d579e2853ed85553df5ea390bcfc33cc7060e10bdd3de68f8fa6b2e8e49b17506bef09c46138cede86102d37dc08eec32affb664566510a511e93e03564ebd44cfe30d2f3dc64a96cd9e758eb843138b78ca87498eb022b594332a686fa89e574b9de55526a3f5500a30b626e2f4b292914169ac9ccd0ddaafc2c55258407a020756b5bd1e4599c1ae0d8575d54848c2a842c94ad88a6ebbc27d0a743e599b6c9f617334c16250c2f314209d438c716f21029ae6fd8a7388748e55701b31449a892ba968b2e5188654e0c8d01c32d8143ddba58b37e16dc3ac15b5c1c43df9adb1bbdcd1fbaa4b63a45e8e27dddae09f266520cfb942b7b71ca26424abe62452b795b743a73f9b351dcb73647d6abc48ab623cb6832a7d011fe691162574f38915d73113fcdc2ad520a0ac8c30d8efaaa42ad8514e6209e786391f68fc2630c031303c08cdebe25f499612b1e0623a794099b2ab87d02e9c6ed1996b71f3e0142597f435a5c991039fe329c4bcfe1dce65c719c6373e947d657fc64b44773023aa992e153b05edb74f6981a3990d0378308412022872a5a8d8113be244c522fe739e076096438b78404cb32df3f5146b9aa4bb91c7dfeb99f41d0837484d5f4fc394dcab96d2ac668164baa24942b79cf4ec61fe85119b7fe1b430a7fcf201183b29bb190006398e28172c6978be161510ed4e336e950b0c4c561a041d9a02cee707862711566cfe390f5f80d2709acf3ac46314e0f4e5a310c41ad959ab836672d7922e42b44b33669f9939b92ebc3d44c87911f29efc36bf22ea910eb40be02da38eceb7da5fa2a7fc053e8cc951f9926da2ac263b58e43c2ce2e0e91a70f195a320ea9a656f0a0db573f791891133419a3ea6957228d39edcb1ca1ce79f9009b05eecc7d3dd391fd39d47f0c7d8626235aa3df873135dc79423bfc1227f3a560382e3abb71a82f8cd53f2eaddf3e817e1eb0c7ce4fffc144385a21b0ee92aea09b5a33f6514f65c0947e352e2a34716f9faf8325ace9df1d764690d4c7491b696161c4317fb07c82033aaa3e39af20cb2338c5cea63994e424afcd9a0a66bed585106967849e0543f2483c684151521fccd31927a65876e541d467819d58ccf544229bc17c7d9d9c93c6412ea74e874c29ad640c44970db90b030fcc89066db085e5420ae63853273c4f3ca1820e0bbb05904095b59fbc3b9e5717d5a6ca7826038e5f5dc6acf85cb98e07c9157ea6aebe8030846757dc24c8a98d0e704fe4ca9a8829f5e8802c8ab53195e934a4b1731e5d79bfef4841fa754748aeace561597881da2dc6c5e9cddfef911a4dcba1b3d9b94197231491f07445396cbe533f746b8de7aba6556f437efec846ecbf98325e43e38c699d7e41359773cbe33c349740f5e1cdd216880506e3031cee0f658d63e0b57303ef16f5c9e9a339b2fa0851e19cc2f9dcce574e406a6703bc4c11d0b337e6872fc2c20b068037eda048f0d6c9f741f001de81974074f75c95a342344fb362826f663fe4df9c5dde3a0819504bd54aa03fbf37ea26d5a3b0c2a8107661eca24d50b918558be3fe9d48f6a7de525fa76e8ec602cc61f8a01e2c3d610177bf32e5c5fef08422da4ddacd78266dfe2fa9c67f89c88a2e8a6eb241a5e2d467f8a2ae0af3055e6700267fc35abcd4eb015cb5b0d0a09b706a97be9c81d8630fa08b5f434a28c0685596ef42fe9e7610fbf38d637f3360ea867733c39ffaca1fa8c063d375e0594b278c2608f34fd3f7af406249373e1d0a051a057bf41b660bb967d7984a6cdab926785a9fa689507f953418d081007b2b0e393d227e0650e9e7338330cbda51a751ddd692d6e0e12840b010286e3cb833ef72f09352cfbebb548a8eff603e5ff05f484abf1d5fbe3a0e9d9bf054015010d1a18f17f85005c6a3b6675fc92edb51655e3a7afee074db9b9939340374ce75fff3e1611d6ceebb4143ccad2447c182b9ddbb19f0e1c0b8878a0cdc8bab28b55a385abf1e86c504aaa93a879550bff686749fa59f8b4f6be858734b27b35dfc34fb3bac365fc1dfaee067a7eb4abfb43925e256fc894391031d0b61bb94ca1cd34de268079b61dcff9f1ab4e9adaa2e280bf74384f9a49e49e39530cb9c30e30e4486728b5eefc0acd11d0ef00278350a434c3538b15b1b06d08a230bceab0f7dfe7abb6e60bb7b41cd604dea015bb58fa201807c4f6609d8882067e6d5bec5ad21baff215124150614d224537ed5c3044847809397f906afbd6dca40c3034ef37f2af507bfb3b45310d6ec8ca269f0e1a0e00ca111cf94ca613274c862f85c8af0bc7adab4600a2fcc79ed2aa4a351f2d225c252467d7d0cbb12cebaaa206db710fa06d9ac3f2f1cba243047afc3a8f70d8509b6034c770ab6a2d59250dc8b007de8f09a2ed9d16f6c2d47ff731d1b434b39c2e7fad2bb4a1a833048a5505ea38c56794eb3f3c32b8dcb25a9df3d7520964882cf57fc84b5a197a79e61e64c5e455d9d90bef95f7f47729652b87ab2fadad1eb872e05b76745cda2481e7e9b8ec4ed5d71dc15e114db92fae237413945621a56bee3b5bbc47c906afe686889e95bf37307e087b9775f1ef0a2acf509ce6062b8b090ab7d1e912612b74de81190b39a973a0c2a0d95bb95d55d29f9b026fc8480810f35256e9bc488d54b0b16fbad5e531ca95073f239d27117583943976e2b7a4ad0eb947993b142b13ea93781de569b17bf26334f200aec01214fa2c92992511b1dfb98f7528d70e379250f5a448ac2b5bcc2a1709f927693a5259eee6853880f3c88f97db5a1df33b097ecd5d554af78c24e063b014665d933d0e0193a6250dfabcb69f99097676775cd33c11c4ee5423b605a90117914cbf9d5ef9ae5979db64fba455647ec5df05fa8cb75ab5470a6dd9b68f29bb5114b4a56306f431c16f501bfb4b1042fb00062b540baa0bfa397155d09c79acb1b0c636f6a8f254117ef53efe44c84a7560c8a89d79be6e7da0a0b299d21d939822a7628073ed863d27894a8de7e758e8f510f942c285fae9de908fdb72e71a7aa9cf166b3caefae8f154016953a444b6a29320f8e8d974b969297e2b3adb7e31267ee26f4113e42b3a0c43665a71e4607d3a5c63e33211898c3643f177f945c3b14b94b50b78ac7d35dad3a5f4c34b923dfa1f231c461e259523031a3064c5d739e1e84d37de8f9b9db1f60b97af997617a2c9dd930ce138e659dd0cbf44f2f76beb4058738a7b7bad5abc483c5a3ca7a5e18b2ae7e879fda26cbe36c72637d0fc75c7012b145409ff08e848e60f94f5a770e3cae4cee8eba9346cb365d01869f2f4565b0fbe6757cedd50eb61c2e4abeb19c54dcf75fad31c52303d63f783f39df332f468a4bc72580f75f6497dac5ebc8357e8f59e855ebbfcab75dc1f0fa5a75fd693be4dec65f24973ddd2f9ba1120a58d2fc6b478d65ddeb093aa8f0c05065aff46cbb6090cb225604b303bf4ace51746332707d264e2eac7929ee5ccd44a8b3a2f60999a0db92e7cc44495b436290e3de09fc2d79415c0f5384fd628a003cb2b899d92d0d4e4f0e56aa58478ebf2b267b178f47bab83b91c5a4a0f4af0db4067e19576f51c13a65bc380235020fb26e7be29b6b79c4c9a6352aa47c30bca26575dc13819e8ca72f7b9a6313e791e64f887b3d25d0c37cc33a7062d4da85601646a75140ffcfe250fc0c42db4ea5fc673238206d3158a705b587e680ecf2cda001dda4a31e1d133acfead1004dcca039fdf84783a8b43028ed66b5add747cf51e58678db719aefe5d1320da9b229bc8d5f33b0fdbf22ec70b9429553d1f3a43b4e3678d2684144753707ca172bd9931e3ee78b9698d6481966a7e1ecb9c51daa19a65fba167d44fa0f3193342c87464dd3da7e76c8a766a34e64b880949136875349c1cd6e4c243864584622b24673b5621fcea562b27585bdf846215044a0bac49cb71114cd470c0053163ef9f457086e0286b1743d4aa730e7573ed69fe3d0d1c0137704c04b2db1dbf256f48103c9e2d4a624160d759018e8cd5afe628decdc62d225fa49db0415160b48f4b27f523a600addcd441fc6b9246910a815ecab4f63633ff114b55f26846f03d942f8252bfa0ad486bda52361b1377cbe41f8fde09575157aebe531991aac2ef74cc1ff96eefd07aff38bb1c6bce23e8e5b8fe8b45f482805d782eb8429d7e453289093d0986555d49ed934f9641217cb249122a182b918a07c93059fdf222d95710744968cbaa70790da3f6e81484b1cea2ae0f1e1955326ea47fe02bc7c2f85b72c2a6a094c343386319236f26a0a2834764814cd96ad1411087eb62a934fb1210c7768b16fc1127c22c52e834c6b9c09418a2910b9f05e1a17946aa2b07905d550898a9b1ea7c4c5510964c70c82f67b9395e318ab133060bf93d8147ac2a49abae83e0719508841a0e5655f398f7754554d595accf1bd3362660a79ec1b10b7cbcd5eaede62af4978046c5a5215ca62308596cd5689cb58b563a1b01bf07218b8186cf0e1b5cb32d34e5b94df7dce45f8805be1301c15e782f1112330c8233f9f1912caa51aaee5aa6d2bf71b1d3aa1ba95b1b24974beb7931930b8a5f0041e2f701b4b9595977a2a5f80ac2c50f9ef8bc5dd05966c8ee25e4c1c55a013882e19cb6dc110bd214124c98a68aef8b54425ac682232da19d5a5e9c654ca19ef00c582e9f96902b28df74b71f158c420aa6d128440a2eb85a2c39af2e7ff8c50b8f77403ac730822538a6d6272b2f91210356029ae029cc13b9d76d0d428f7913cc11c5ab40709f2654501ef054906687322c6f3581faccb4d15d769f96246a39054949a113a458fb5c7887fb4e2b4cfb8b5e74f217c6ca1b3eec82261b808f6ee9583afdcb23d98f436dbfc8bb19e8d52d223c27583e033d5b5b6975fe2c918be75af8622738f02cd371d01d1f2579fb4faa3f366a9c20e746b51340c94e516f0f1ecffe1d5eb54c534ab81184fda497686ba85e613e78e5bd947db19f3419b2c69ad809b98dafe853f2374d226a2c09494376f222fff1f5783a6b8d5073aa9e47bb0ba09588addfced98fb0349d22efd8d09bd24db4f5fb80e499e1ce70b82d5c8e836cf580f1509fd1721016bbd9d6c382df33a1e2ef586856919070553fe2ac3068267dae118f18a3ad5e5d0f22079448bef3eef15f60feff732447f14722a00fa16628631eb449c75fe58785b89157590e811a278cb5574271c85ba5cad82ab523adde58130f7ae917e47b868f9342afb1921fe94a651b0446381b07ecc93d1a86464bb9f797daf392b0ba09b44447c55d6ed90f7d645f97c672d33821d3c87613c7f5ed08a5200e9f1f1e1eb1993937006c293e36597644f57cd2ccccab137a9e4f844bb7e9f8e295a996c487b52a8eaf899bc0f2f473ef44a71a2a3504b4d23f07214075995d5cdd9a490bad8945aac27fb144ed47012bc13604b08012cf3bc66e6bdeb76dface52854b260923eb4ea1783fae29b9de3ac239bb9cda07a0f7d495fc5ace6e1b4e0d98fa3d6bf32340e2f7c176801e22f55f22a00cf7192b7cf453cb22f9a5a6be8b89097691618b5da37c2f4c426e81abbdfe22c537c55c00c270e90a09437b71a75adf266119a6038be00493e84c2cd7a99ae3ebbb98c7dbbdc88ceda5aac09c2dc677c07226b06c57a4f7da3978d129309745fcb819d13ad9a9d09dbf0192066b909ef587d51b69e246f524bdb49381bab97585bcd1072c135dd064e865295c00acb4869766b1eb00098975271d946d2df320f81e5e07da422efcac034e947124d7837decc855b7b503e1a40cb1e0a95b619dcb052d0fa0478338770d90a3252a69056917702372ebe094663cfbd7d53c31e6a6f92e891d4eee1634dce85a48d942fe4dd89bd8fa74a5de0c4e3c113813f972b524f46cf1616be23778bea878b8c6a8225f6e8f281ba54a9d67d1b227c6a2858ad3e105cfe93bc824261a6dc22040427e601321b86df42610e2d07907a7d052b20794f2467348b0f350296a47996ee6141cae9cac9b83d0fdb875458fd5ed40fc59a2256f02e824af88f6c0b4c4b1bbd6ac4e6b946288e6fdfcb0fdf52303d7d5e8737d16583bbcf9c174725b4c573796094a563b39f02adc662d08520346ca911ec0da2c0fa46bac302fe481fc9990a8661d8d89bb994fc963888acceabceefa26423c479c594bb55f09e651478cc4f3ac61bb36466a6cd446e5be6a5b09f5b960e6f1f8f07f1c01bd36534191a51d4194eac7ad59483471b7a1409e70380002b9fa5c6973ccc37ece19d12c200daffcc29c011a4c31eb71c2f14b3706f8f93bc8d7a505d303dba4e1e2bc7d6a1e48d7d3e89f024e2717057ca1c855f971d0e3d68f168d0c4603eff86140907197997aed17857214fa309ef0a8dff3c997c89fd23db712c5958d1922b79427fe10fbc26262ec60c61bf1afeb91ce6ca1a904dd296f105499badcd267a6c10bb15fee199da1c11486dd9eeba5e546d6165d1d333a682218b29b5c248274699b784b843abab1f498b7e41aefbd6287fbd92013451bc7947e90859085b6518acc7441b79b95000246a1a51f2c58a615d83b0be9008529a8b78d2af7bbc0402ecb0e6ca61dc4a3fb12ed7f3af5b9bc1d2e736895dfba7c86c6cf5e8e26c1f1573b07bacabf9358cd55cd39ab3371b73ddde4f4151870320d37306dd03050142f64aab6feab54f5f6a8ffc99069837dddb78931ed58efe41d94c76282e96522dd55d99657db58a90b0f38b214ba305011aeb50d8872dcad457604b01e6f0516021c263de26ad6df9afca3eadfe027ae590f10e3d0a7f3c9baf6b0c50850dacd7c79b0a4bbdde20c526e70676968abc274de1c84b2798bec8895ee7638bd406affd188cdac3e45197e6bd320d925f92a92fd16a6dbf18991b36eeb002cbda21b28ecf036e8ca8dde8e5fb5fd3d966eeeea5c0109f3b5a63f469c603b18003997d296ee0708cd66dd5f783464b8fb94a296a037c91b100afbb001f9df0fff3170512e7abe5b70c54c2724052ffb92148b8abe03e615f14f329fc9b62a915273c74c58628e3027008884d9d4be3f7d51d304657645967c395e60bc027aa2db100da0a48590c1184b8afaaafe47331c5bee3e7970a53b3a16b6062867fd17af4d267577cbf0f6b3a3a433311dcc26bb441ca3f6783a8573d3ed91de44af71025309e9e58bb6a901431b15e42e0652f47b00ecd6b0367509bd7579427e160e72a287062df2a5aa8006726964bd66376c79d3a52119c2a8c7020812f3faaade99ebeb5eaee5d26eb324d6594957dc8b1d143ebe386befe59aeb4243f7554f1560a6a7cc3c9ef7f72d005e634fc92fcdfcdf00207d55cd754a2cfc3b0efdaae02fdd1ab77040661766c35a792f5ab268158b7115bfff4db8e044086d3dba3e78047a49a55e8a94aca1799c683ccbe4d4b00483595cfdeb3f876322b3544a97e2b8b1b22c10845a661bd918f2120b2bee3aab051a41016a049b180bd185f80bcac24d684e50d691200fc8812d13c5d1d3a47252fe5cc4ad4a9b253c0603c58847bb89629c475fafdfee4ab4e6aad56eba9b4851d8e66c26e39a1cc051f394ada0391456039bbf5c84ac1633b6cbd0a26af0cbebf0f308786b00a6ac5acabf440c069da9cc976c1698bff7502260eee2b995be1c9c14697e5c2283388a9e51cca2549a8f504ce9b26e15c3bbdd0a4a2cbd1b2e00c8560d950ac5f18db28f486302a76ade342cc954342eefce81668f7bd9a2d399eb37c52ebff11ae6c603d80d92b852e31928d9aba2de07f8dfbb83e466b3191fc0680f1a50554a76384e36aec7ceba4b1d220a0203662f914b742ad8484466c47c577ca1bd79e086a339585729eef4378bb7fca7d3f25c079db1a20e47e98ce59d7f0db2e65f53cee246027f22d0edc7910ce355b63d0b4df2e29b8476717550a1e2c68e412cd0ef37ffe3e6138d6fa8eb166e6e04ad52599da9b854e40072449fff27b72385eca163da9a185691e8eb92324714e11f77a0c0f1ed2fe87b6a959628cea90b39c946809c72469862c233f7508d8438e02ab59269effb1c435f751ce265a5ee4ae075b4ec3c41d922a2a6e5856c0aa214c5467ccbdcd8b06700372b3d78af3f363e86d1ec427b21ac31722cd9f4280369175175631f60198d2e367d5b029810af2a5508a8f673ba68e8a212cf21a74ce10fe5d896e4d243166de7ea6fc2b05b6ac5944959098386e5a3dfacb06e6f8bb9a631300c947108e844acfb69e1033220d2c90095b286f786043c7750ba77e0d84fc3fb4b8d8e6616557440c68e87a0a79b4465874efb1f1ede5db680417ccc5f2ee0779a09a317769c5ba434dceb6d22c249ec11ad88b763ffd332c0da10e361f2661b320af11230713ddcd1eb3d6a926fbedf99f2b280318f41e4436dd4658b6ac8cd998b1d3ff3a5cd3f7337156cf9cfda2538fffc63f2b2bcc59385dccfef0c5a6c7fab61c45cbc4c6efac5dcbf4f2e12100a00a7349422deb2032c433b284f54ac756d9312972241efa1ce34922836e092d84d62f63497099678ff03f9f25d7c87a1b6405a1f24d45997987ed23922d142029939c7a5382717d9046fea799005757b403f84869d61a0f7644f09019259ffd2b5e39354116ff33eba7184050618fd24f87f71bdc51c6fbf78bc0aeb3e4b165613f8a090eb81eaf1124e18ad6fc30de747658ba907646b01a6b21ab422517278fe19bb7f1bf15167cb46778e9bcdb854fb776baf8e0556955af475c1cf6e74cae8a528d78a2c5c773d933e0856ae0e2c07bc179505453523baa925e71998220e8cd407f7585fc487fa6df2f65f8e1ef3199ac87c3c1826e4df4aa68fccb704fc0c5799447f59b8211311b639d9d9c081183371a50075b2e022934dca6fe470a9b6c05a2d8719c9f761e4d87ba2a57d9acb7cf49cbfd369f09e58e98c58c89c4121a15c72fbf69c637695c124a9c5399d7d59f5d46157262ecbf2935f329dd5e61a4815d28eca934fe3499b37b65f956de180d33cba40fef8075c86e47ea70eb0919cbf7e0a25c5455f88aa78840ad1892ee1ce6e3409a68c976feff0be9edae0bdddd84fbb2ee23ff8e5ea2106ab8a02b690013a363d8798648f571628b3f6b1723b1c1c548a6b2996e297e17e6b1d0bfe075d427027ef11fbb651ebb7ba1e5e96e15149e58f73b4bb38fb483bff07ccbba9f712bd658d0c4d45e1e4bd6c0862764788f327d7662a9f1a3d4fcbf4b960041d5063fa35fce71cbd58da63753a27f453cae3ee8b28d89027117c2006110a96c328ef45c4c53de46434ce90145b195778673a4dc79451b3b5b086eb0e9eb25af16a0d5f80c4e565c1fd020f5314025214d9683f6eefa4dff89970485ab64e060a8b14fbd3c0864dd9b94d91f7928263e2e9ebc7385990894d277bd781062c44fef30425d994d097232078c4520ad8367fced2d6abc4e9288b4c26e42c25709d02e01305535888bdf30ac8496689b036ea0e4dc0c81c7d234cee5d3bf05aed9bda0cf64001153d23cb9b2341d86d7124d4ebbf6d50c1ca67aa207bc496d6665132414f57013500303dbec2005098db67d270fd781711fed8ba1f46368cc53ba52a0a5b39b611e6abb03d7994a7a2b5c2b876224265f242d94163b1c92e2bad4a9ff17f43fe68466103b826c41685cd136b87add1e5053e4fed5e7f60b293d305f324df744d3cefb4ae743291113006904a09b17486103b86366bf83026437b323dc87409f09b923fc3821fa23e8b47af4cb39cdce69642648d1c2bc83269d26adcf5f634a98fbb8ae40ba2e468d4ecbc60d522fc34ad8ea25e0570829df23f6b99af5344284f4deb9d81a8a21f2c7af7a001d6dc501fafcbf775f92379f1d80bec8f02bf515c0816fd23629182bacbb3ee320f834fb90ff4fc603ed37ea17dbd359ae681007c9582e3702f5fef78138c1aa57c37fee828b04f1c4f1c241f201990d9bff9204375242d0eb00a54ada2d3465bb94c5501f7ec26c54469248871f5b7a7cb54bb2b463e8dd3438ab8bd1652cc636a5ab3aaa50a240ffbc217657e88eb3d64285e6a8dd85a811e29a570d4689b305e7bf6e5f0228a77342c69637e86a67849f5d28939c87f69a8dd55fd7d069dde6b56e25343ca37f073de33f2e216eb44226cc5c2e2a2a7c1b6c967aa06c9f3add1009e2174d6ddce8dbf307174f8f66a0836d7557ec635c843a3e85a1fb378c7895d136b4f038f42485058cca83dd4a923f9f8be32a2dd615b494b852d4a6ac505bee3c639eb0e1d6f5ede55a4c66bfbf56bffa7bc071b7276c36067e86b89ea1f0d8f6803d05017085f375b35a34cfba69846c66d8e79b620c27eb1e4040f914dc138467ea3d50fbce08cd35b17a661c92443866a6f35be1400038cd2c36e45b3e61a1d15fa2b00d32f1824f359bac36c7c0a11a1cdafba38d27c9d02a868129411a0117063416d7f8e35d4292ee838a85a66b607887e1aa22a0510bc02d3ca3a498620ff3b276bbe0af07f522625c80ecfd04ae9820aef58480d4071cfbeb7c170e14f99e92d7f9e71400fb0eb04012867befc88dd27a684a835ec65e65bc20c116ba5de743cf76b955e1f041fd1087ad011c6fdbbb7ceda2ab943820cacef8bafbe17eb7aae7e96d1ac768a8db1a117ed32ada5d353c78254fd751377766ab696770f5ad7f9ef951581b5a3981fd4d582a07f3426fcb18039fc34ecee4e66beb3e5e70213d2bf8e7b21fdcbeb21ce63d636abff794bf31f480d8fd8b1bfbb7b2e47e49616d82a22db73e95ea0392040dbaee90658fa0f22cb86a2a417c57716bd20140938c53c32e9ba0d57ea586322c584623b8f225511da4e606eef3e125e9595d5c04f83af2ca8c07851ce69ce5bf7bd2e929013721df1102b1a8ba966970e2af8d51db8f10a4d450d46e282fb6ec3a113288af72ae7023ac702db44fc89c26169e554cc7f887e7dcf9ad1f8ce543722dd8ef1fec681a004575ecc99b20a4001391c01f8feec5bc25f878f64ec922d7dc53d93d0c34cec1a52f65afc5cfd2c0cd2ca3a1ed9066c591dce9f5b08ddcf3d661ccd1a25d1a05889f7f721ec17a4b3ae1bb625b0b03c66cf0c361a15e87b2effce6c91fcb09830f6aefa1df9829295a70f57bea27d30270aca9129139f384946c2dd2eea989a10c839961aff76ea924199f1bc9805679f518382970c99010c6a55afe09c39fa864dfc3c08a2894722d0ee8ecd920aa4adfe902c79db11376cf6ad4225d23cc74a8753acafecfe690253772d946bd18635b4b8390d2eab417d257b954b780b101707a05329d672c78b2b6956ed21ff0cf9a4625c5855b56b1a0994ffd00816bf92485cda6dfc66c49500db061b1e67264b1193e8f82fb7b71c399d4b6446828f8a2eb298ae70b401324d9b6b52257e465feaa27ad9a8cd2b4ee11e4949009d0db90f0d02eb98927df6f6587fdb3024cdddd84206a31be7e253129abbc805d43f8ccafd55f55c519fc12ab560ddd78b1359d2489061421be40111d7fa0e9cce21545e6a3c778da04eaee79d1d9e722ff1029647ac423d77ab486b53cae8d6ed2294cee5a9660b26587a71850a268cfca77b74712cf5acc887fe435c06afac566c46762d4e378b1c9e6f36014b5901222faf8e35e9dde8bfcb0364cfb69ac4e23d9442cb1c09fd4e67bf03eee9152c9a05323fe9b0bbf55793dc86a083c004b2ac415bd1bcb4de4b1105e14aff9074534f8b21a5088dff8a46bb6aaf9c57f9778d7b2f422f3a32359d16a3e795d2eb1bbee473269d430c2042fb6bbc0fbf462b3ee5c33bf37bd88267fde2a75af764a3391cb052330a41a8450cb6837f758383577b954c1a884668f906f16713ffddb025222b6574aae590613b5d87fe8698df796448584f3ed8fe4491ef8b7155e0c33fe0cb8257bde9e20ab321a40ed13d6a3416ea122e19946f720ee1d13dae2113fe9d3a720a3afa568318f3fc49c79982d0b2fc4c3811bd5eafd02de62efa7f3ed054b4ad97ec4a1db63a53c9ed01c5befbd0ce20e2eb16097658eeda69bbd4e3a1065fb1f63dae0edba9de6ff7a35707cd6b1c375c14469419d30d7da162076014e5efe9e8e3b88c7ca68ac8b4e5607a5ec14a2a4a4408bf2c364c5b6f33911d8a65f69847f7e22f3d5e418857319b96f9daf9e9b3c6508b488acb935c74db94d8167eb25d66a09fbf164072e801294a08eec032e9de42a8c6811187dd828a1023f6b090dee58d87f7876190f0e47ad8250f5ed416ad5c6f4bae7e1720c2148f7d3ac8901b8d0d355a6ff4ec10ba3185d17046783202cd5c7674aa45c50f2a307a39cae32344e9299dc0fa5fc9936be266b85094429fc2cf5149a4ecf839f81257242e55879c594a60d1304eb220fd70c09a5a854cd0d64adfcb9aac06cfc88aad48316744a904b467e4c9ed13adc8cec012146fb9b2aa5c09b2dab7c5c634e496a4a0ddd19b7cce3b21955c0af8dfb75aa5f47b81a8eeaa369054da363811c0bcff455b2a1ca92d404cf0be33fc362ce69d3254d552dc572f7a7ce7b3443b18259dfd3be9ab5350eae71b71cd2935f176f0ffd5b823097ac056e6f416f77c59b91875049309ca47eccb4d911405462035fe09eb4a9a9017ae323f9d7056e0341ad13f2093483df966b734bc54b20e8026297ffcfb9ccc413d5f2a38c2b16e90ba1b80b68ff701575287676e914c87e93bf4d51409ab2aeaeadcca318054dd87e564aff62422e0f86a97a4aaabedb17ab7e30c3df16a79ddbca15361765f479c530868603cb3186339e4be1ff328b4ae68d00118b5f5f6d430d763108a493f23be57875379221c41c165b4850eaff2c7237f62e0303c72b6c8b3b30352f25566790ed1b7556784b4994ae098116388b111fa6c48652a406d63be141924eb211cd06b56dba734a6547e44907cbbc25dd445062ca272a0e9ede00984bbab3b0030fec7aaec48a6e9ff86816c6137cbe60df65b610ce94712277f604a0fbd31e24ccda9009f530c240a62b4771751d274cf7d38775fba8afdfca20837d20400e1502bb6b3ec470592466c4b1de181ccdfa195db82d1c1837dcf066cdee54d820d95c36154a30ba3c4ee9c9a99cc5b6891bac5f836358ae030f778d1865f03de2058f2299ddec66a5640106cb5eb345be8a9a07f7e25c4b391b61964692ce59b784f3da9e790688dd98da301a9c708e9b8de56e2a49584c19bfd93f308c71e7e4256785a3da7280e964feca6624059326857882daee22b304409a8a26b4de2baa015d2656754d8e4252f28df76533455147e068bbba61399a7a56185eee68c5f951080cda89b337c0a22728a2a98b1710fef98905d708719ac367e77fb50eb884e1ca6e798ea2fa1c46d9c1a08f2afc00cd1d2f1bdb0403039624e970ea9a45ef9eb18ce4676fd60178ed46da8612972d96b88ade112cde886ea0997787dd4f92c25d79803a9506094ca1c2ae4402d2caa7383cba8bacbb44295e8dbdbd77782d19cae30cb19b479cfc1ffb3a31d2cfc4df864137d02ade4330ea5fd06d47ff3e48b6aa49446b46bf4c1fb25f242d2e204b79c50306306d751c3cefbb0015511d7c371347879953773bf92b047d765e35c244c1b4fd7e1231f396d4bc14a30358d2687f4aa0f3450fb6f50f044023993330bb3253c97bfb4a4ab99944ec4db67348eed2bd7d706bf76d7a8e59837f1670e5c1a3ba83b68bd67dc99e062f6c0c5fc724046dfc6ef79cf939b2a384ba31ceace6205105ee5a479d9d930b1a85611b6cd4517f26e297338e3907c0f1a707ecd089afd07dd6f3b549b1ea35d65357fa00a3ef3361361d82ce126390fe9019c0312a0bbe49d583ff00c7bf2fc62371609090638e75ee821dfa28bab2328abac78b7e09ced302bb33f080d38ffbbef4c40f8f6a16dc44cc23cb42c155d6d19ad14bee2b7df51d6746ea33df33c7ef77e0f38e146285b280fb0b71f745d59fe9cfd38ac1d6cbb5ad3add96fa64626e07e2266e59b0435c58be69a090e8f1b6d180cf09790605fda84cc628e00d55625ff574b937f3ebfe8567426d4e13b7eb61a99532eb3310b203b2021b42e896e54c6a8c890396cd49c0a936b43778929c043d6f4bf3e10c77cf0ffbfb3638873403c0339d28e61617429f39c63e69bc74bc1db5c8ab11127042b82fef6cd54264cd7b00503527ba4365882909017c16ab0d1e36d829ed11627c337ed6b94832314039554392817bb565f6b1078de0b6d1cbef66d5b80e6eaa45d87bb097000e1d781ff42f119c6fb281312fc8bcd2ac73470e0ca2a9f0b569816b319f781f7873afda15a2200113ab40906fff52881b91d10f76d614bdef3da8a245f1e20572f9ebd76f3d5dbe08aa9edf88540417486d801b431f964f1bc92c9c1c8b389ebe9517760b6f178c36695972ed31ad25ac9cda07fad5bff7c227e7b36d4571a97f9e891ca34f476cbe397a24b4a9944bae58a1d5be7ab1192ea848777a8d1ecaa147a1ee9c8ccb5cd8b46d6aa9f2b3efa08b9576f34637b349c3eead988246aab9280492e79e76008d6263c03712a8012b6ea42edd9460d582ecc8de45ed34c50b96c5311ed080f098e31d3afbb03b87cae0cf7dba253578595f5bed14f3119e67eaa1e69735bb05651a5cf51756b67d33d6e789945d560caff43115209183764e43f6cb3da5a390b4545656908572b5f372c994e81edf8f48b740cd0f722542087bfeb6102e78b7b9b2966e3086f453b29d03eab0398018927a3898264aa2ae8a4c86211fd7405c2fb73d6138194420f4e4588f20137432385030961ef73b323e52783bb3d739d04db1f23449c2ab98464e7e2fdc9c41a254e1595cd2a6bef36df1481bb13b0301fa7aa375daacd8c7babbaaaf1788146882302094e69b9b30a91bbded5998c88edffacbf9fca1739a257eb19d6be983b82d9601f62861ff6a9aa790c65beb77445340e84eb9c356f099c6ecb4ca5442418c62bf53318de0780d37916252e1c7905d5b69c66a0341ff825bcc30e0a3093a83ecea4d5fe3aaeccb9fc8193322edd98aeb3b31a5eae460ed0917e31050771d14ba9724f1818d658cd2f0c2a9d372a9964f27848c6896b50f269b9326a49cbab28e8fdf2a6ec325490a872ab4a2148f8e57025df8f6a18db5cadcb286239d325ae53c182d2ef3d219c995a85bbaf1d4f21fbe2bb4e9443b92c43729cd72054ea8817e189ce680eb77c9a914cc4764fc3c8d6a56a19bba7c8f854f4893f5d273ebb8bdf64939d8823f40c2a235a21372f5cc7a6e97628846119daaaad13c40054a43dd3490e83e8c0091cea2a55c6f14214df0c4f338d87082b22e1a52491ca648e130518c9aa1b5ef8b1a841da6610ca046731b1b591f582aee5ef2b2dd21c013cf68f75997d8479c013c05e13afbeb100423d6ca3441ef24fe78e86a351d1a6c06d2da45ddde22b8f5d73adce44c50099de07d1831872eed8f4bf62a40770617dc0fababced1bc3259efb6338b8eec77a0918b87e85c9b707ef4bf0a91b94e0cc7e4c99d2dcfdc96bb6a617b6660c744bb433e4b5cb39e8c1ee1a94a9d6e356ab25f92cd79c20147f163d79f9f3c799ff6e3fc767b94fc7b2fec1db7678e6dc54d81486ae30580e626190ec0aadb6ad2cea5448434ec423637709b0809a2c71a066878fa2fdac7c3fb028e090592fc43d863673a74c0f23114d35098ee0c796c7d145808a93948caf6d48b1bc0281de2fb4a9a915a5e8253a082d7f83c078fa8cf7102e9632d9bdcc1a47d27af2e8d652ee315f347892f7cd7cc78ca6fe0bbd580a9515d164bb71aa59eeeb6f709389c909166a2e37ba9e99526056394a2d2ffeb2f06eee8b97a29761d819e2ac29fb831f9499111bc066a7ca92c83085ba16d7a67d67b74d1aed506dc6fb7e356694ada8c063c87b91d7a5efb1a038d1190333a4081ddd26e2a64c59ec61b1c1b50873d41e1023c11383c28ecec84ae5b252e6e9fcfc4e70acd55e59b4341ef279afb3d717f57304e3f7e54eb59545d645cd3cbf75b3ca18d57da30d29c579e2eeee94148da5422a6710c84c7c99641ca45db0ecfacd281e4a3ccaa7320256dd14386ac3c813c2a0e71764a2dcfbd2a085e9f02f596f15c1e0db5985cb4b730e0ec1e3f7f5868dae3efd1f629ce04399609ee2e5d8828a39c0af6ba70f37aced118d6844891b9cef5d01dbc6d71004e79e552762aa4df6fe88cdfc8e9575c860a3e5c51fab9f3b5e8ae56cc70bb4cbd7e8a5b80bdd1f84b12ee81d7b973492f6872ac325d62d3394428538de4dc4cbce65f933cf946e1de9b5693b0324f8bd0bb0c09533595951fe696553f162e8ada862f0774e439c3af77b7773fd6953466498470c8be677f396267f6d96e800541ac296e597f429060f5643f804a1959a777b082c5e052760533a0af2c214075acf293fbe1cf2a20460d16815c91fe301ca16bb965448c9eae17064ad4d48892fb124edee436a7ed1d5d691918626205a6d3830eeec55b1d32eb64c26cbe98056e153ea1c9728cbf49c228edd0f16c077c76194613356ccecdc4391793b10a391576d0b159219268dc2e080c23c75951930f6d210dc55e350f161298426e49e454102ecb1bca67ad4100bf341a8f677b487bd6200f724692f646a8b16a562f183dbba1d2a218a632830707bcba30c69e73e5766d08be0ba6ec7a75b9d6a6cb232e1e3b7e2acb35abcc118f68b2ed2e31e856591bc5e262e8629d1ef0561a536a0dee42dd95cc21cbfd68796ad59b0c43fbd7a5671a12514b7bb0aed38dade3642ac00f8368bc2aef80b5cecf955d1eb56183b4eb2d8932b25ebc8fdcead3c781b6e52e9bdc2d6e0807642e167c147452943d71213f7a2ab75599ab5f2f916cd1dfc508b8846dc5ef04f2262f55df0847fa9c8626c552044b3d53211ea8faa3257c584316eb870da0fe0a9ed7eb21d69678c893fb5d0ad5651c3ada66978d5ab88d45041e3bd0515fefca7874be888fec7cb3329f482fa52e535fd8bf7da2de80e49aee7da562f1f3af1be2b6d3bb29685c28966b2fc8ff812a01e09d1e99bd28ac7550d9e2ed3868c6bb9676ebea155aaf974a46bf2ff3fffd66e589d27bcfc651d997b6828d7bed8ef60d4a5f14e2f5522bb4c10f0b9586a295131bd637cd9d32cec94bf7ef07f01a9711d10e6577549a159393d404743b4066319b3fc9ee747df326642a1218576d89a834d25053cccbe296ec639527666ed6f5e01e929576c8169c3315582b641d71dec8bcb7b1e4f769596ee9dbdf823b1e16c51d2d790b056e29b98a5152795749c3113b147074590a17c82faf598f51fd55c91873ee6e965a0fac0d3b4fa0b91ec70e7c5ada152db86699d209dc6c47c0a08e9c3f61646c237436caf16c02779cbc05f69558e3b0e0c29dae0d7c0c7a7f794d5a395ea6f8ee1f0b67e26582ae6898d853ae466a92d3f9fdceebcc3696df60ff2234aaaf673d09a74d486adcfe7d1949c21df5bbe125228d5e192cc9b52c078b65d2921019177ae7e7566261371f99ffc5398b1c5a1326a3f6b96dbdfe3db686ac837e1f9e218d488822bfe5bf9740d37c2a75eb79dc623791516889c27f5f07cf1d9a7859a434b83d184806d1c885ccc2bbcde3eeeb18b3cb9cad1888045916bad8b257a3bbfcb1bbd947ebd800a73c8c513bdc6897b5a2955aca44c3371bbfca015533058a90959f42b8059e00d2fbc3a07e1e0b18f1dd28075db9730f5a504fd08d3e9bb98619b8e22e7166c707eadc4cd47c815343c7f9742059e4fd57de63b0b76f93c465a6151f086583ed2a66695cc2961fc6940dfaa3cc72f3fdb812a68ed2a6fe22e8ece344cb6c62c21501a449613fd2425b254823594b222a677363b7fa3d771a34e0cbf95808cf7f4d52cb7e6ced64ab4b7f631771e62245783aece1b8a126ac55bb993136114485c9b988162224ba111aa686cda72df3efcd9fba05cda488bfb77c70d72c3643d67105d71b2d1afe33d8bdf90f1478935c5f6ebd33317fefe8f14b71484d823e7e3ea47b334a19b240845b6c8bef6adbef39fa3b3ee81d58bef95d352ad399541efa55e5fccbe11ecae1e9467ac63432975aba373ac368fa008b73282dde8ed6c973d4120d9a4fd39db4cd09164a1d09439f077709a0f4a1b750b3c71dab741a2351ec5449235c076f516644b340f57ceeaed468802e3e96ec36e3276abe71c53e0358c59f4273be12e56dd77a14799fa952c39d7a77a4d38c9411800e22356c15f030fe94b422a51324da0faf44cd3c91a303269659d81a32d5eda82d1ea627a832760480ff1f00a66402f7f9dac1bbeb27689abbaafc29c92e9751dfd83f14a0bb1f69430fa180c6815c8dc03aa9dface816c40f10e71c8e87a27d1c292d5081ec7fa4ce78dd2133a7f0144a7d2139274b82ea84eca26991c1207da1f3cf7472adad3038f720fb4687f3c9662cb4d7b1460667310085d9ab2604aa78bb03d79418caf719edbfb999dff5ffbc666d2bf8adde26b73e89b295014669616e6c7917d8ddf5afdb5d398bd3ea13c85d210674891e5221dae2af66eaf065f8640151571537da082f2d9ca1f0ccb2d8b1692f7c71d4b21eb86a3aa952916ed58ace07e81502c813e5c12b6eb750252a9b2d0b69fefd1dd9708755321322f24fb4f06051b6b46fc685aab3a60b71726167b8a288940400cad939edd74bee4873609f337e6cbd5163613767ef22ccda4ffa25009392f7872ef560726dfdb42682d9ac38685a0f5613fb5c6bc2379aa4f1d1bf7a049e6c6bd1957bf20bfad9f46113dc64ebc7a97a3fde25020f2961e26cb2ddbdfa152be227c5e6dccd9541376069935f69961a5dc5fe030e39442be5b1a5c1f32d4be5c4f3ab63d3b7dea7ea090a127b587fff9753dacaacc3608bcb7e22e414bb81f90d473312a084e5293ffb996aba70e2828fdcfc0793f7c8079140401b6856c4bc342462994dccf4f1649a2c4f60282f5a4832a9f9572bf5c626fbc91d96ae887e3f0ede36d41a7c413de2db408af5e062a430327b26284c2a61029f10f2c576f37667f583a542f4ec605244920f438b8d14d5fcead7b4c67dce7b5ad05a5cb2d04a9a9b58548d8625748ae7f8c101afae662bfc5b6aeedecbf166c39b5bc9b6d7ed202987ae06e7ab78f98e86b7d4c39f548569be885f2811a7ca5ee7b58cd87a0d8c5802dfe1905078e00ed8fe2cd1afb402a39f83819ee5065c4e5a6d7484b7af7ffb25bcadec249cec380c7f4b20f71c22e1373ea93fb792f9abe3a44dc0d5d1e45ad37e305b04aa7a2873d2fd29528590f61156852a8309579f12de494dcd6cbea59576d0ebae078cd1a2299bb680bad6d644ae61b2e6136851982366a1f6eab14b79353684c15b621ad2dc499103e7ecf327f226393d90296e2c064c1e0ac05a5da092dc23548a75a4ec00ba8900ffbaa58b79cf3c84fa120cfb2e03369890427dc3c541c22c480f225e17f06bd1ceb241e588cba43829316a61f1bbbf77d83dcf6cde3084285b54cb4fbb9171981b2f1be77cc7da3e2a4dd52f609b7cf2e06a174b9d1253ad2b1c96789112aa6ca9e3d7bf586b706b5c2642b02db8f08c5114451f7fcd2ba546e318a2920301410b667cf48f64b55309e6d8983e6b04018324a44fee126c762f5391723d9fcd952afb32907b824618b8b250f855fb42ffa20509a6548e99d09005f3893236fe1250c440e47bd43db1f683bb2063298c86391b73277bd939049c4a1f429c947bca226d20bc9b2d9022d562e1df5abffe780d5920b2689fcc7b94b4671c7dd320deea8f4190387760f26ea611772daed040b7fd9f786de14f069a60c5b0c5b99589dfd263483212b212e7a2f46d7c3df6c74d9dd550eacde16a329a11d6471c7a4abced71d572cbfd7d9702bb6f658f3a87c019797c5d5319b50a17e0f2481c69349cb5f97af134fead57d832a8a9e0fa3ebf72253b1dfd2bb8dedec94a89a83d3baeaaecb5deebb4df98b1b2765813707b5790def9235cdd444e0bc2ebfbd0c990debc8a46c1ef2dc2eee6b4dca897ad8a1509b95af5a9cbe15b198c5df11f712cb28cae3689ad967df67125e2c98123e09b9b263241193cfccd122936a5026e4cf0f8b44d4e9b59ac2fc99543d1d9d051e4d1c1195da383fc8a2a533965631a8da24acfe5d0af24c08934de3bdc98bdfc96404de22fb275b287fe7d03dbab4441d0bce6b3333b99395c5939a4674f975c328041275f03b89f84c70299e1bfb7a5479a7d8a48a4df3fdd2bc8f01b31275f0d3d3c3933ccfaf791d2d2b2aa0d94c99a22853c5c397aa7738a9ec395e74fa6975eacfdfbc4b926fa24b3b4a8caf7e57b31bb2a61abbb019fa419f0b97aaea97bef5efb35a3aa157a0648867489160a4df5aa4da1dc648cc9309bedbc838ab3744b77ec4965c30203dfd555d80a33c9112c1abb0729a9a5a86287292698c14dd508c701fc6838227c287a21cf18169fb98ce84d67319cf8e0535600e7591fdbe2a5a3b203c8ee7e2efb0f5ad3baa474199c69a357c849bc23115ace796e3155b05ebb0b9d9de3c11a3d06142373dc5330a659df6c96553cb229391e9bf728cf8e807b715b6bd4de71613d5a12b559118306f0efe14f287829c2c71a36154da486aeef56ab0dd77d766633ec4e4b25d6e18ac3015fd1d6e5e1894a990e6b9de981ef38c50c9b0334d0a52d473f2bdb0dac931df1122fc15bc1e97fbe2e843dcffd8c8d544eb87e94b2328edc77da617cebf918d256f8a3141a4f7a4091d65147708c745116a15398293fe2f6b41e33418c6c31829d08a44b1ee0dbbf50d635b48790dfd9bcead03c1bc07b920562d7362b918c39fa434976fe5e39f88684a6b775b414aee66f78e66a51c57978c9db3fc2b86facc41a6e6134ae0a3a13b8a5500c9b0a7df125768c4ecc4fd41ac7d530a9a9e06661eed433f351dba8f21700e77acd327e4464d3c1ba0e71e7aa50bdea6c4a71901b225c13e6a75b879a337784045aaad680131ec128c965dc7a1f393b2e546ce4d3da81a38c379498f05a80a559cf09e8005d4c242fcad1d4e8302df8369d6ffe415e2453f8526053fbb76f6aa0a4742e4d97ccd5ddf36aa7347b0c386bae437fc9dd8b369286618463f890ffd8a2fb5fa9b79e478b1f161cf1d693aa5076674c195975f1dc58b30e539e8def55fbb7ad5a6a96adae11ec4979d6644f75461b866678164bf1a7e80bad5b60a99b7ae3c698f4c8a4591b082ffacdd912cb300d8b5a752ea98c3a60142de23fab737859a87c44c0e14fefdbd22ff695cada5940777bd10a4ab93e0183c859e31622d4925f42fe1db9173b622b60d6c1d7d0b60e029d4ec6a75d3357a81ef300884104e452b7a3e373b1653a2cf52c6d28253cfb3b9d645f937e2506403806c1bddf688d2936b45cd176d0eb69b7ef86925f635098845bed62cf2cb0258284b1fc952fc492703a4a31a92222a2ae7677733b80da9b2b6bc86dd04c567c560d82928a296dc5d72ca46ee0e15f283f02549a7ac8cb34764d33802b50f226d2fdd0f3f5eab5737da515644930ba85076b3324a72f9265d146766327fdb213b4849c740ec8bfcd60fb3626d79f352f2219da7fb72636c3645403b7094ec21188d8c7ac9f0e88df0371a73cd9e3cf69949ff766625cf6d655404bc6e9ab180c5a7121573767d280f658ccebf9453ffa4ef2d818eea4fea336145e5ca054da7207eecf0f80ce4c3403df6095b96102487815e943dc2a26cde2da494d5ce913558196e4b4ea3138e6c740c72db726c53955977848148a468f0a43c0417fb2a38139c25aa5baeda99cb8fecba63669f95d26f79d624f336d27d5b35efc0f60496b9b4e392e245482041e4f7353186f6f6eb24eae1807c2a65ad4e0ce94ce62c377f3d86ad35c157f2e3d984ae3fa5647e55d407f78a42119d81e33de76a64f40e3e6061e93caa268534d37497992f1ff6376a1e8331f4d2336436d632480ea447600ef2afaa38928b5e798a2f78034fe755eaa4d0c4d5e50f66c1be6ef830741b02226783f3453ac5614150c1ab06d44eaa9885f347be069cd8a4bf08650344f14df28e955a5e86855d5e2161edbfdcb1675127e30edb2558d0b5c2522c7443061eb9cbe37b268fc63a4c1a787de61464b5093776cf020379727f5969e9f3dde61d3e1555db593280c0344de26d7527b209cd1fa072c2f1e31ba48ce4628fe27b9d8cc39f9cc343269702a48b07d59ff1b068a0848b130d7cae469db8b48ec16eda76881b84ff355f7c279a84d84d8169daccf707f4188ac7b22c47422872b504ae3e22ea7c616e9ba7f21b2313693f049e0501168b2fb8e4d4bbec0f97c5b56a7f3c144506635f69f170ddc8df8bddde89045c2870ecdab5c7d6c07e16df54ee156e0e62852befddca02d1d4896254db918fbed07c8ae318ab0bbc90035ab770075bc659c4b005a9381a8b86177bc7afafc337654877e5eba21d486319ab6911eec262f97139b2b63439ed8715530e382d3aafa5f0f1a26700311cc6bfd37dc1cdc31a7e96df1e845e757b94e9b23b7d101223b53f4bac539aa91e746acc4fcdd05021b735605eb041a9de318a409d32265dc8a7849a00fc40fdb976f403d92b1003e35389d6b7d8b8fde54c1b82a0b084ae846b37961c9494cadc97dad19dc09835799802230aa1a6c20c84a799fe8ade7766a2e7e1572fa36ac31b4c7f7d069728f7258b5b591fae70e2aca17870e47507faf34fa327272be6b7f93c867294b059436ce714f79f693252c4ca6369fabe383724bc8e002b08a34eb3df136d7732ae6e13ce4cb99a89aae3696e29724fe13b0790def11b08b2116028ceab29f7f4025fb307a9e43b9a86b35298747bb4f184fd499ebee639e7fd941ea5fcc8ff6235de01aeecf338f60636b66b0fc3f7984268f674797feec45ff768837f79c5fc571bd6f204eae2da3359999dbb6e5e17f6bbc507cff4ba5319cdf29f91190be469a83dc95a5c51656fe549fd972a7c8b4d972d67d824d4e8a77f745c00a24d1d540e58f4db949cd5da424eb57829dafc044aa5984928e89298d8f1a3adab2b27e574586aacfef0b73459ca4e6acbf30f13aa9b083e3a1f8630cd03f303cacc9a53c900ede20e7c9205e625f47fe3c429ba1f284dd3c069b9fd524d54c239c7a2489512ff30399ee834b5c8992fc0f4d8b5a1b641dc951bac4c84dbad28efca65d1c2acc8b8a3e0c458130e9df1b541b9fd019fd8ffaf74fcf5222ce43a2ca75754ba59bb0cadd375a903ef98899902c255f16cb751f8a01279869023a04f1be27dc00f0a2dc8572483e3fb959ad35571e7a66449cd147014f929a1e96482a0a87518d6370d46ae01f810000e8003cacb84ae27452f682322d9b2516ed38e21ab4e03054198d1256373ed6962f0081d35a53a575e58560f8dcdd29ec1e199412ccd8c5e9a51510ae8b355415766ed7f58fbf000a2810a86740dc6bfac1bac5b6abe58e2eca0f84bfb692885f5cf709b2aee048fbdfa4a6d3712705dded0c94689f7c9c4b613b165e11f4014e347d2b8bce006a214152f4d14750f95d3b23fa7b5831f42dc0bad4f77058f93dbcde15deda44dbd15e3e0d4c880c6bd33d25d7c1a9a6f6d00faf085d3067452d549561cfac9d0ebfcd94c443a7d37d8456e296ed83369ee5591663967dc37549f4b239811925646c51d3aa3227819a7fc6e77365abd58de985546a5e99c12849e798484e205d6ec93edb765fbd76628e49ce30d0c7a332202dc8e1664cebcea33889eba7f0688dde20cb7c5e51c621703bbbc8538874dbde5fb842e8f39d86f06a0faef119aa7a618fda0108cec4bcc76ff1cd32e85d75a072e862abe75a4f00c764949da68b529443235bac0e6c862ef854e66b9159e784d8ab6564a7a51062beca995976e68a6352a444d855267c21c637e8a95b66d715bd2b53325d25224dee6d427c4d58da6acb936b1597df01a98d9050ed3044594ecbc772dd05b0cf2b6d46f601e2c09b3da2ebbfb9a6145cf267644b8ee982d3359e6f71bd3fa954d88922ab4f87e8db0d22c7dec6a0c2f7ab8006b8979c73225efb439e1dc0f933b7f224ec1189e51b12e484c437f733032d55242e7b5682de0c16477a6c88258c772088b4695f95b8c104cf637479d30f7546b94a248b1fbc272d9fe57f11e5ed52ca69438aa4d2603b753a4982921963bd30fd12ac5bc4e16e77ee8dc9f8b732a5d5066e612527b9628cd6ab2e693c8dc4cb345c6b67b0ae7f9b855ba30bd79d85e45161e8fdd9503d840bf969f985f0397aa7d37d778b268be56055a7ff39626c8ba295152a3427347a72c82242063551b41af96848dab20e45c35ff88f68fbc5b2aee00bf34d83cbf355e6b5c3d928168e2920fc08d8a748265df04304f25be829f2bbebd7babfc1f0d43b4a918c2e0777d73fd7264f230876009159ed4caa6944fe87b55b6501a317f1316e070b4ad3c98e8330003de357d8d4aee6be06f1e6b8c768de6f92741599564274a8ba6866b7a7619d8d92cb0c427427532e1fb8fe04fee690c7eeb6886b3b05c25ff13ef96a5695adf3fd87b32be62f4cf5c6e1fbbfff7f52f78eb36f3abc323f7e8f833472e6957294d2aeb52a44ff0b6636f9f230609864899e61636fb29b1be1dd3fe546926e72d2a3235ad5fa219c76e6d8a1a47258a4cad19a33e40e12a661c789c74e0392c43938b5621ce96696c038fc6733fddf10dbfd4a1aa0a853b6c19bd56b77f6dc5bf0c47c4ec418f760b22f92d904f56e5c2790524a3a31e1e3a8cbd390f88f7ff0bb191ceedde163442f13bcf952797fc8e14152103619980b488e75402d782bddc63d0109919c5adbdd9e5358eea4ecf44ff9c2330994930941aa2f645362ca2a29be38386bcba99666c2cde538cbd836d9e1379dbda7819f262c4174e906a223b6e38090fbacf4bcae0d41b49fd9418ffb51abf6ef13e7a6fc72a1aa6107187fbaad1d593ac5d8627e52e615bb3c6b091a3ac87d2059a3fa9c54df753dbdb9c2182de1a01ef195e8ef60a782f700b46a6705ec0d7517b6a9db06348bac7aca0cbbe046aa434157229dd4a387a0e43615d025aa5de8bc9cfaba8dfc7dc94ed09149b556018c966fccc2c9a05def48efc5761879a6ff77ed8040b53a87cc9e5226e57a5baf64fc867c5608ac8cbb83e225efdc14e7a32998d4f1f8ad2732fc9524f25b7dd6fdfffcebdc7e5fc1cbe05c876c7fe3145ffaf18f93539b4d85a5cb071c3eb1fbee6055be78aa7e8908943f075bbdcb6684b835474d7351213bf38e70b2e4bccd25b07cad4023b6dfe349fa870111b77aad9bfd58e303f40c455618027d666157afec92f3cd518c0dc592bb6358b61fe72792497a86a663ac9f3c54764d9f20417e2e036efab2a81ac4f547a13d647abe21f17477fb16757c3a4e275aad1253e590171f1edfca2083eb7f5bcb7adff0ba1682d3b1da5b01145561e763b942d12cb4b84c6c5082c08a312fe62588dc82b9ab9f8c7322c5e2e577692b558218a91cb50b43aac9954a8cc6bb0adf7d4f281695bb755fe72de48ad0108b382c99452c603ef1a7150cda978705562ea983cf8844b80a7eabf7a24f005356f16a0951f4c0bb65bd3c6982d9a8cb45a986e6607288cddca170ec7911f171ce2beb0e7693ffb931c44ba5a403d6c872cbab961ffca21d0ded96ce60cf42d1c38ac5b359c489dd53efdd658b80e6a4fd6b76e03fb5009c1a77059048f086c1c223fdd38aa64ef453e95d21e60c6aad30f22c72d31aca47c9d8b3b1264eac546c4b38e84f9ff3e31b3dd60805d5a82ef28fc5c6a7c294e116b8a86a70e0e415c8e9531881cf0d5dd8d46076e42a6459feb8e6ead68bb4198c5249dff9ffe970508c09a7b4f99f96d103086ee355fa2249f1cc998ca0518c0b4c1bce7ad25cc6ac6d9e0ec243f742f51be25bff52e415790baa0c03c2bc2c46a139d379bffb062cfdf195353df00eecd4927d5f1c95653755cc958b9b28ab4b836844f16ecf2b4e25ca90448df47f46a14838182abba302fa8920c34fa6a1c7ca868d56df03134786cdccc37a38c2c03ffd98f0b4bd7bf084851dcca6e1eaf0ef57bbf78c3f09c5a921b73a95ec5992cb5b4728ccb007f8eb3e96246c3cf789d50b730eaa68f2aefea19e8d14344070e655ff630bfca4383e50aa470bacd112d3756365e85693e747e79c50c01acb27fac49161bfa8a18e5eaec886bbd7d2f4474d5989f0cf905fa53efd5621073dc58a2315adfd34371445ce9115f1061b732928c03fbcb2fe0636ae2451091a928e88cda6eaf070d6a5f89eb200b679187fe72c2db9d4fe0d496a831660b827a458b1bd609d773b59221e95f4ed795160fac899cc2f761c704a9e51b1719cbfe293f13148baad61571084719fd369ffa5b09e299a7c1774baf68ece69a68709e3b3c39664a5a98de3861e3a1fa4c9f079f177d59de1a1eea62bd23da65571e6ff0eb951a9ed4072d150e6bd786bc76e8325f12467b085fc07e13d1b4fc5e1d2b961c2fdfdb73ea3f10ab254edd895dfeb3ffbc59b41ab4c2b68cb982d2cc48a6c2031d4525a69818245e761f5598ddfd3f720384fff57cb4a282ce06ae8d76de2544f635a44a508f41ce208419467d10292b1c207ece50524e625d1e68e5a6c4c13333a7db3c6b39ae33d342b3ba59c0a8ae835be5b33d537fb0d0400313f1c01150ccd6989ea8054264eeb412c07fe4fd442e69953dd7611eb53b3717d4c119cfc5b54103ac994f9345c2f782fdea2c1446d061c1e40531e469dac7930564db5cb11c25fa35fdda12939373bb6b033c4f3969b5398c6ac41da8d4da66b9fdc25f91ce18eb037089d8f3b1bd7f3d6fea04515496abe223139e616c4483295dab058476cbb9675e40299005ab6f68d8ab851e226a1460f247ecb45f32a58e726e616806f0bb81e9df790c6c6198cda48f7a1dd778cea459f6135fb0e6c6d7a1bb701f3d6fa74f7d5198ef9731d45757242d78f831ea3c9dd5987ba6e4271d586ca2906d4c2aec1aaab7e305058bf50e9ee29f13473df1f5e0057fbf093f6e357b393be5f6176ef6b0c0c9fb9e716dc81433723af77648d60af4e810ddd67eccfaeeac29ed4865727eefa08d8371d1c69cb0c758be8db68331137fef4932a5372b135ef4867ac04d0a74548489712fcb66830463794636f09eb8f1b5f0389f72e1dc8a9190b9691d746e25f85a4ed2e60cfb84073e62409fd6a3d08f1f76ccd37e0c8c67051d71482f2167c3d37827257311689c332bb06fa611d13ec6638fb91b54a23bf0a8c5d114bdf792af2e2521b644fcdb39baa3797be57a6e21494a5f2962fc620e29315e88e2cabac6079e8dba6012f37467f2b93d4ba2a95f22cec4b20fe1de7920e64c635df394706867a8d5b09f4d5bcb25140bb373aacab145ecac4e5e4c7c04092f4d302a1379c65c28f28a4a100a268603a4a7780f9acb3c202a96c7ef525a2abb1b3b9fd6c2f4911393dacda0020891351a3d1b0036f324330e86bffd157257fbc3e89c4836555d52ea9c6fd667631702eb57acda3dbe06c1c829ed04224311c58a8fafc6115f17eaa9e0170d39aece3b539d64e373885f6869a9057155da3e2cab0d592eb2d759caf2ad1f11688f9121814b9aef28f4f9be4ec3bdf5f4835009988553a87e5d9e12483650dd8d0568aeb071b8c95828749b39f9a41a1a841f6f4a657ad097503bc948a85bc4cd582f03b525bc9bc56ead541b7bcc1f3248e5e3c17d6ca04476a6f1b6ec267ced88b40db1802c979881ef324c57c93c154750025408a5505664d50e67b0d43ad494aa33868a5455ba3d5636a978791813b04070370e7222c6d892bdf4e89c0ed73adeb0e749aabd8bc69f021de72dc1eefedf2ad0022b281b836eae155a8c3ee0edc235cf038d47db0e9322e633f8902dce2da566986c66de4f28e29284514911280f7f62774c7f1d3f94f6c399c4497025f8798e20269fa348d8df539d09d16b5173c93c29b6b5be0032557e0291c11a46e03f6f4e8e5e6eb66207b68e1623290d244255b7aa022fbb2ef7865bbb573bcc8bf977ec8b43ef4a0e3128e58ba9d8b35e7b1329a4a54ba0df01a07eeadabfc8c318af39432d0442acbc59648f6b82967319e94279b3ce4608b8a561652f10d9ad46b5af3556cc131dc5be8a0acdea4cb9c6f178a07f82852abc49b548b93e56ee3a500d9a838fe86e87013c0f46ef52fc93dd322905547479623c40bd8b0bdd52b25b27c9b7ce47ea714ecdddce968b32a16fe563bcf8d7b3ccb3c33ee59f33292bd6bf2e9dc4f5e7127a102c632c06d821111f529571f09ef7e2d3ebcc0622a4151a4016cfdac9dde660c5b8974cf658309eb6756003c7914c82c024243c73a3a3055620677da0b26c17c04c2917228ac322cd05964ff2105ee83b810a2a1904fa8a12116f2eb5078fee3d3b24cf7e742fd83703a26dcb13405360c7bdc7eea500159152572a317c9b774c36418040878a6252c734be90ccff4cb3deaf15982f0aaaa5a148c43e49fb09b0aada1d2ca8877b9e35de91e2cf82b8d6f327d5a641c435bdab9cc2fd7d99e2a453631e6a2d782c2eb1e5be3dd8ed9102f5da792302d1f853cd732550db5bb57c9f9d2cc12429abe05c08459659bb67be4ef72fe999e3cbeab452732730ef8c14eaffc99b277df8bf13c3d32c60a6fb5df5a964203234225a68d66f6ed5f6f0947b1d378da1fd30dbc6bc1b4f6fe32db51a0423102ceb463ad4fda5837503e0710c48f6562e4515263bb8f3ce696d70f7477e9e049805389bdd2d4d4a1a02898be5b1ed6b50433375ea9c49407d0443cebcf82eb2a363f370f68115d93c938f47e33be0fa33c6abff7e45ca64bb2d3678fd6b653eee65dd3a16b5d83589ae8cfd57b2ec30c15f292a5ffd748f383dc9ebe4e8ac425f075afef771c925c44555b4875709d1bbddc61102842707b090273f1ed02a6bf46d3ebd3386921ae1490ead01cc9a6623a1a7cca37392f9e20032346b73b3bec08e6e08aa6c92438f588b75182c3e3eca5955f3087830a24cace789d3fc8c8cfedb8d6d563c6b25e3c3cc93438bfef525b489ff39f5f7e977b7205059b86bc3f01d58723d225596d15034658c852b35d85f3cff35c98e57e60d6bac735acde0f5054fcc2669b83743133833e597e39bed2d80296690c7aea17752942f391e60d0781ac456f1c96095029e542cd20eeb80fb08fd4395229504c49c74b982149f87d70013a8d627feffa01d0efcddfa8cec7eff556aed459a1aabb9c1d9981d5252720111b3ee8a537a3d2d15cd151967c68d1adee803a7936cc3f8ce2643da2e0f54234e566e8ff47ffb259e49edc38ea8978c1e2535a3f785d1d4111c6e05b65af34db54ce7e825b2853ce49d4247b27302dbec15a4afe285a2a5717ad351c703ac1ac9410d158f6191f8a33279b1ae43084fdf6307dee2731504aab3d5ccbae50b0ab183040269810da3ffb339b0dcd66349316779588b6cdc7177e1c393866e747ce3a38a8ff89fc8fd4f66ed14de4a3cc0ecddbfd84fcde54b625f72f707f532f7536e2f19e979d0bed6066672feaaf080b4123dd0d798c9a34362605e9045e1292c0cc55b54aab2d60ce17fd68430b7294af26ba45c33eb92f415b8cb707aa67e0f96ab0b0cecc3b71ef3a31b6be097d384c47e1312bcaa9e345e1123988ab2c90c15bfb4fac93343e5159c469dd698b8d6f000366e5520848c3fc1cabbc1c19e9c8b7d13d26bcc9ecebfd8550600199bf85a691ca58076a2149befdf79d740a16cca327a68a41b6492b783ff28ab67ff6f2281e17e8beebe8ea58f2db1eaf088978bb982ccfb5e3d572a90a67b3c8ec9de28c3f631621f3c9d23f76d4fcdcd6144a7b0f7590cac04789ca54793d0e231a79b450bcdd06c2e81e1296e2a717b68d9023f99d607e0edd1d3888bf48ee768566b3095266f6ec0d4992cc1cd9ebb73151202b65cee06d7452fe192ac65a1ad17894be90d450d52a5be9ab3de051a6619224e3ffd5dfd2c5a5937878166f911e932db19e8944ae9f0fb1c988c0b12df5144f57d317baeb3337b7f8b07f6203400261b4cda5a5bf3b0451ba515fa93e0b069b4c21f85f45a697794e0a02f8cee82ffc9e9e82ad27ad2577410d3fc72175e86b154c12622cff6c52acac369bb05498d18b27168f84492a25b0061a728d2e64b29cc98f31a1d0ae4b178311d11ebda07892aad3320670a82148e7106df21c0f64bf0f6fdda6e2152661a4910e4be76ec239e0c208891dc01201eb911996453a0962c5806ad4aed8a97251ff152f8967e446f29e1dacd9cd19e44766bae9231306e5e23dcea8393283d058990b73545af7ada2465811c22a537613495dce7247697ca1a1790dd18951d3d65ddad733219099b921ddddaa74e07d5c72667a82b4147ece422941d6f16c0c38530ae8403ef1e4c1b293197fc59bb609d3160cb52b220198c5aeb9173b29bd7d7bbbd099fcbec6a6ada901ab68c22626856bd6b1353402bd7d684395808aa89a885f0f9364d42cccc10ca32d35d228d17a6203b89faad7bba3d5b06b46a7969eb56906244ed3fc891a538c88081af637005159594be8e9130f70a0019641f03720f0468dbf62592e782183a19fb70dc3d70146dddb07cb18e79ae2c5158db81716bc0ae48428cc97087df3e69535f84de4f73b58ff4f89418067a71ffdc6199956daa7130bcbd7d7656d56d64fc0db968f80f29dbcc34071772e9bec917e9d9d13e96f637feaaa2c519caa7fc3640af7afa7b38d2c22221380d354b6e6189fb8bba3e190564ae38be1d892abe083932fc9eda3176d0882003f3b6029a2e5944756fb25e79c19533335f6f714e21c1e8a1b646863475d9f812e1d4784c82b7464b7ef7ab9c687d75e1a8c62649efe53067dd7a40c839e229ddec7c10bb6841cece678d87d8c5b3aaccbad5ceae866d5d4f93bc7f60f8cd4cf185b8820200fc0f5b5ac325964b227b5231f017434d0423d27ba381ee13511c789cd262c280f4d7ad67e30ef762300e210b2ed13cf08805e1214c279ebc721466d9bac68bcd8428f6e603cea9f7414144fd0422b35087e42d88b03b9618d125cce061720974d9ca749abcc8a58842610a5b680b7c506d33010119e177446aa998c3415bf8fe13fdf642fbbf445aea9b7e8f7b0f2e1c868563745fb379b91aab6c195b933f30e9ef88c0acd4a31fd80e1fb173764740c73c36d84cd3f713d6aae04684d2e3530a0b2e9b5235973a874186e7fd57994e5cce37a6361f619d3906b12ab814c37d4105b7d6ad87d653e9865b90e72c697f84a27c9924404524b1fbbeca2381bb34712a5d44ef33386fe7c3d6cc96d91661d37edca4ca8e1f26e0e776314b95aec73e17e0702ec07a1f8526acf58708d1c3aed871cc65169a33bc825165f9b4ee3171fed4b7a440ff9d49af5b25d8ce8454d239f00c93d9b47be230f5b589d431690b2a5e6970e71941234f45252e2aa284b0422a69225ee4c4b2799e60b8a000af7fe5c456cb0851b011dc48ec0b81900c3039b98194c6ad7bd5cdb8bba555938658b4165005b4c6447c8c0960f4c40a66f4eabff4723e89b1038d8127ac8802c06fe8b80ef0cb5d3ece62d50dae4b2d7e23e3772eae8fb0ec7b067b250e463552aac4349a28f50cb0adcec793ebad7b5141cad88d0ce73a4ab486043fdc03c247a93d5b535c4db83ac0a68be7a6b1f09a37b84be9c762373b1edca06c27f66cee359bd76395614abb4074ea1007e33adf06bb7a240d11115a13746b05c703b337ce903fc5631321b2b904672bcda86db5a0ada9f2a53135c2d8b8191daa26194eb34c959c9ebebf18a41bef0840b80784ffd3f9e65dbbecb9aa33f1e279613d9735e1926bda0d24c4d46f9a30d4765f8b79f501574b99edea63cd9251aba12053679c67938db83caf3100cfabb6cd7e11de8aff440fbf21ec08f33536e4dc765a587ac148b304352ea7b64e2b6af4609dbaaf5988dad095ef9d965c6e7211798cce34773a6b97d30872dc2915e8a309ca8520724a2cb6f86054819f3d510444cecf3f38d9a30b872d347ea4519144742f721bc3f138ef6cbd17b19b6ec1fc2e39bf9a06a51bd4defc12cd8f2740368afa370420b405ef4c52b8e8ada641d626a47d62906c3e72dc8199538f56b572e2de3f6aded75287f0f332846a5a7db51ef9b367dddbb9b05a1254134e2f41e05579d053cf203bf0ec2c6264dd40ab0e59dfb244c2449b0a4f996f8f239d3cf534b15e08895363dd9c72e2da6a0047ce1ff8d2c0a293fb62f0595b54c4bc0702fef5bbb7fd5750314d93f2cd79552765d01ed9eed848e6e88c1a596e349f9735f50cd504378182e823f3010498e47063e8005c09dab421e8948be23be1990dd06733716c0d3891562f85f4a9d320e9614dcbfd0def95ac45ed2ad1b421fcad24dc473f2bb45e4a4c3a9acaeba88f5a9e59a20505425e69313a3e4688638eefe46f3d1ea155bc783f78f658cf3e306856bcfafa2e38a11f68a9c2db19cb436701c7e856802831a621cb971dde95d7d8723572983e4fe6d9bedc6244a1d56f3ad9a41cf8aa79ff6bcdfb6b4aeb0498d69a721384cebdfe697b177d7b239c089161327aefbe742c322c4c04c20f5faf38c6b2b3a2323e5e24a346dcf5a8be3572f2abb35cb5e2bac5f462aee0bac7f879ab6933c037b333085933352e372bd4345c40f381cbe71afcf56e59cbd651605ad7a34d502d6a4a5386be5bb951a63a7878b507d0fabd96ae4ac3559298d87c4c98f435590090e80c9518ba9e0313d8fcaf52d1f2b38a25bdc90d485ded368a5244cdffad61edf1376bcff9e3f3908baa3afca6267526f5b9fa4ad30614213f39712e5dae36057e75831c30b8c95c7f0bcbe08a3529f43cc1b1a0dc5004e3d9b0041abcd1dd16ac7dc69878191402d81468062ac46f3c9ce7b2742cfc97d09156ff60054def9ba93c5a9f10631ea5f4a565e1b92688412181e2da69ce6600035918eeb35f23ff0419f659f22016029fd5447e51e470dd1206a4c441482b204fbd5da188ce01b78e32910ef33bc3fd4db9367f0be32dc162e9e6407ffe564e2c0cf9e467c633176a4e9e57fb00fbcbca8801042e96a7f12178b9fdc598fc8a73cce6cd8c66f72e94b4a1c90f4949d20321021c693e0d856258ce4c5b856560e240cc5ec4c87c1d5e43a7df8666d5634c77e536bc0bfee131c6b050ce3bd58b4bfff50b0f27eaf386d6d4ce974d3a720214a6d47040f600b5ccf67a049a71722466adeca5b2accaf77b3666b9735bd929e5b9967aebc736e69d6328d6481b7896986440a5ae355f5e64bd1a9ae26ee467941f4ef84b5c1f5bc9b2735fed1f5dc8c9dd5ac8adb5d3e8e9156cbcdd3a1712d1598af71f5ec84be2da8282fa5ba95852e07147b54f0cd8a871c53d67fbe3608f9b18beec58d47d9a1f1f68aea2f0cdb0b5bf338b1c3cce62eafee0fd7b91182c72a8227469585748b90cacae7f5475bc2603aab4b527e9df3c868aa210694dc8fe1ccab6d455784ea67db356b36c2154eda5f32f65e890bc52f96b65c954f44c9bdd7aee9630ba09d39751d1897c8c4347355469da39ce87261848097ae0ccf9498f59e1fe7050fd9d4a5fcb7bbc35f03685d0b39ade47e280b109bad1b8a9d5832da52b0c8519d14284374f0acec5e8e072eee8099eb957d2d8d874df61e51bce5fbd1e5ae8433e61a8cb7906cb81a13f5908e86b6d5a8decce77d891d9b2b0c3ce4526d92abb2be764f45b9a226b77fa9e3324d85187e1db593c6011c561e8bdfa9a9c5f4b87bc011f2dfe6180462cf17b2845bb52c69844753dfeed36af82f1967ad62ac451ffb9e6fa6777d809dac874af47b732edeb2262a2fa898aaf216cb15d8c04306aa86e0f10751699e545c960ca35593291ae2ce49a68d7e955712b0a31cda4b3c8118174cdb206a5d3724c6fe405573237469e0fe437b3f7d041ce4b82d4df8f398897cbc82404571d35200ec20e57938df63ca105edcf7c512819ffc6e8d4a6612c831fb066e736b2147807fdd55a5c3a84f5d7bd59dcdcc6a06527298af1d79170fb42d02376d9d05bf7fee443bd292f4b668d052a7dccc1ddc938caa57abcd585eb47b680e73611388c77b7ab8ab17895e8c11f4628fbd6697ed758135158e06f3ddb88af9e33d37578a2b28daf5ca422093fc948ab546dc6e026e6deba0b70574f628c51000c52ad14459871bde46ae94a09d6e60ca09a14edf8176fb0c9bac0df142e160af6215f8063f6c741603918eb6c2d4cd9c8b3f02862bf507b280d8923425282b9bb8273827ce18708bb308e9aaf7b91e5a875169e26af7e28846aa2ad4d19435623d9d37f2cf853c6c2816862c2bf747442ca5d903d805fcbe16db474f3668ac139686074b2117c84478531992e98ffa5d09a8dc4127155ebdb9e70d48c4e1b03884d27e38669b8c6092b13ab85c7a507dccf8d039fbfd755ca9d18cf37816d7c8cb53caf5a8e128491b41f7939f08866f652384fb3f057f025412241eac746753ae8b1ae7232c58a7f6c951221ee473a31e401cf1902fe875cbb4fb977d721c54170acda89086ea1ae7dd387596eb8f2fb6a5fe3137182da0a8a585b404364aa84c5c456dca38525b1ebc6013cc01a4ca9c89e72bfc3d0b5da16cd001ca2b622647d620d93db59679d30974d1551b0105b7c440b96373b15dcb6d2f8ba18f15138f4d52ace354cdf3a3edb58359e0f943a1744e451c2525d0583d435140ae582636c8531978239a5ddbf788e84103edc738639166c6b33058b23c6ab3b40783f7c31016ff0680783f822b46ee87b30e57534253bc351fe67ea797b7e1f889a70fc57ca25a6848f3fdcd3a2860a959c8424d945631b74d75dd11b3c3e6ed4c9cbc6f1c2a22b1ee1d59bddedf67cd3bc57e47354be0dd9c70d0f8e1c4c8e87e2e491a5935c298ebd5b230354015ac9eb2b9dda8afd9dc6335fe80ad341db52fdd8326b8dd642981da29d9d2c13e659ea055d28540b322f96ec9bc2851331f30ca05d460a52cdcdeb01f850a8588744415b1b80629be875aba316b9c122e5b537482763f501678b30c83539607b5182cc540359973943be8d9e227bd0bc26d6194fd43f9cc7a282c3cca7bf75a9e3274e9459c0d0598483276db4c1681bc7d60d5eee8a27b02a17ace839194c354e4a608128961fae1bc48569d8a933a4c8e8402691ae2715bf2abb28ed9ec108893e8b78f1b98ceccad5adad5a7bcff24a0318446447cfa8246586f7c67ce2b38bea71edf7808d75eac4555d81f95a4508cc76f6f823efdd99e56b9ab55d8ab8c52a8d5e6efedecd3d212382cbf142d2722189d20d4c88f16e89599e24bf34c7f98ffaa6775d9ae165ea0cd8dfc52f0fb4c005de16d3084d4be7d33ff8de88a7c444cca36da13c413f505c174f26cae5609adff0702926a4d7a765ba0630d7a1bcefeb76f2bd59e8742321c65b41d9e14d1e9b3314d5fa51a91766c0154e50e5ecaadb454e9429142aecaeabe94f1ffbbc3a68badc02f01d6fbb0d728038a351ed8efe4cebd80c0af5396084805e4d810f43018eb935ad9692e815fac474b200a182fbc3fdd25bd0a7a26d27f39a06660c2e779ba02c48a8c7a27509ba17542a7773aa826b2bb81def4fd36e2a82bf02f81c03aeadcf1ebe6b5af52cefa2bd7c1fe7aa12567477398f361fe8a57aa6b4221911f53e931d2f9d0e452253e6dc66220e3f2d8a68a5b28a7a4ecaa597bac181dfd0a0cf098f9360df2e3f993c0e0fd925a80f75fc0e9310fd93b00184e5ae7eaf1cbd7f62fe9bc76b343e8cc38c4d996ab98ed6da000f22d318ea4edc97e0390b37cdbd2b84c9b0c55e35b91815a2414f51bd78abc4e5dae3cacb2a3bb845d73c096a1acf6aa2de1f52df01476426054206fd926b647524bd7ffa2057eb7b9ed036fa81811c0ef3f2d8b464c1de3692aca9146bb71bcc8cef2e5d4f01e301131ff3e069dae174949c6cd513db735144f3e7556add41b41a629fe5bd89544e690d11c907e281924a2682dd700a23146fecf94feb775a71ad480c1c65212bfee152287833f2d8892df7644007cff232d513c4bd22ce5926cabc73c76c4a7e6890c81e63385d37236d38c0ce60b45189e5c74d3422f26001cf688fa8c07540459c239278d2527b1f099f01097474ae86f496e64e0f15bc1abb05317c3dc83d23cc40d9811bf3d8a94720d5da4c30cf6227cd2025b57807336f8797cec446515cba702783cf2e27f5a07f265d81d483cf25e6c1984728b829861b474b8b80c884842dd5ada6e8b36ab4a091b8d92f95a26bbafeec70f28ed986554fc5a43bea32216a217dba285d35f1d50429b297c824189f2f56f24f8217787bfdcf21711bd8dcf692a723a339421d32b143c1720c5d2ee6e328a238fb499f716ec150f8ee06daee231cd474c97bb51d3469fcfeeebce121d481ef004479428444475471236bba4ebbc03ddd703781f58f244c2b8ebe394b013d265222ca728b5c513721d607261a6e6561514d9100e76ef2eb7723af5bad90972a666706be9fc73ba4397d0d6a0cc16eb1706924b90300a1c055c5a3c393de3e08dbb608cf5091a617867dd96c89016e26936a623471f0e0799e7e626c28606109ffb0b9c4959688a0cb775701e3427ddbd9323a2870e321ae5628a2a1b5e230eda3c92359d1dd58847c88701bba8cb6e88eb8b845ef7a2b1907b2ba157b28ae8d64ba3219f721133ecd2260d093a0d8b31a2e6a70ab27887f36919105546e3f8c56a0e2f26c69ae262fd8aaf62bd6ab72e11c6e3d3aa9d2c435e7729696450bb0ec0a1cb9bb4ab75763d1d6e544e320ba1eccfccaa73934d51ca1768116310be185f8cad1e8e6d0ea252b0c4ed2b64a7e3d31c2ba6957f744281d31e1ba4e5ab72c3cc433ec350eb539f67c9320d249c9a45c4d21858c98c5eea700a6f40c91e253cc6bc59cdd5d61708aa46a28eb2c95dcc9f14694c1398ac06e316fb6478a0c036a546b20c98ef1576d17b5e631c4d0ef57831aaf518de21c4bda149849a096db5a4e6ea168700556fbcb01b7c6833d9fb0e0b5a73f7a574b6d9505604ddba4864ab3adc700bae157554cb7a6c1df663c49651cc48b8bf1f192049653773ea64da5cd24b8f0d8196fd4659829bb6f30639bd9856df938658994a1988f4071b1b4d60435d9769715c25ada58351486f0bcc55a23a825f553d36978cc028be954b1ca99e32aa6ff4c08c47423a1013c653f2c5e98993ddc749b1d516021e64f68d197e39dc19d7cad0f2c5b6182bf452724e4ff8d6a3e881c674823941fe6121ea6bc9a0d958970e2dcb35ad32549fa741e4f83da9107b2ef5bb3299fc7148bbc522924b0f571b69369ba6985e5c6ea8c2cc85e244b0197ebab577160251be05b15d3d9cc49427b769c1f29f49f51e39890d931d573f88dbe22df644ed4c5968db87de797c11c3f213750d4566930571205146369cc3599d384842081d4efa026c29d5e86465cf05ada57e23aac94ee847315ef0c6e3b1d4c188671b750e9d69b0e0bd9559aae53f13d7f73282f17c6fa729c96341a2b589c355a098d1db0dd50012d92fb6e3e8b27506117be4bb0e410f6b9287d621401053bd9124f3f913e8bc654b8af6f1c8be6bdbf3aef622a8213f42511c965560b36a17018dc1452894f83175f987c2d56679ee85200e7999ba5129132b603cf05f5d3e230696d58f973fc58ba0c807b8a288eff2a1093ab95bc6c17f0193bbc2983f2b12a7e57f7e750cd32e32faa99f7d15d181303d3264f7efb3bc4971417e27df8bbd2387105c147b6d939447390e79df5365741a07f1a13e6bd73743a4f8e65aeb114e7e10a2ce810cfa1538cb6ad98fa9632f775b3c1244ad7a189beeed8f1e51e6c0db38958055d7ee4d2a97d3cafd93a6c88aab235a5713c690bc7e7fe18c6ec46926a983a71df0e23ad49783beb80ba5581c81b18d31b8f6be42c78b4fc901c0deefe6433f48987d989952ec69cc571ae6382a71f97af3c7600caba154174fb5f5301202dfd573652865fffde3d7ab0ee0a4126f617457273998761922a174a21016cf3114242c4af104719e0be12b5e799ead3686066173fb7d0a0477a5bc4834131fa08ab6d83c874976e3bef1a521186b48a272478cff9c789d44018354b0012e93798bb16bb70511f8f2acbbed4a8745e1f82e757b305a8f0b81c903da76f27885bf099b7529813b1bee078c4303f605c26778e8d09dc4f566f99c854bdeb9bfac6462756c11fe319437a44835c60c9e9ea14ed8982c7e005d275d24a2aed91dbb60edfd2ff2fbe3aa18b135fb6bb510dc5d70052e395a80d24fa159e8381659e26fbb8534509bb2be5630aa1b03dfc9cd78a339b0d02447d5a6822dec31281db4959cd015467049ba305636db585710d8aa00c32ee16d7aa121a58eb4951fa87521a5b770873c270a453091f86b88f71b5e8d00b860bb3b5245e0a5a0aa255654d9e550d354b955733c5d4de5572008ca7248dc58a9eb4fbe4664fcec949f4a7d4cdf00681afdaf2389a0dbd4512e4482bee882dd071fd30ccfa7cd91ab677eb7ab57254cf5e7122856857c5645f0227fabe176db78eceb47a391320506fdff2968fa336cfb353dadb10930d97c21b5527b7c2912be95c1e56af087212ff05bda48aebff03d685b5debeddfea0a3d378d4754d20d36125195300adb55a4954e649c42b67c7f3652b7e8e2c542dd54e87def1b486761b222137d6c2302b155bec013a12b32dab9e5a0c17944d2e0f02781abfa2179d5608a7a448ff4d74b5d0c3dfb0a99cae37df6faa9cff54388a45f2920521abe0c99faf15f12ed57da62f6eb7cda14161adb01ade057b189ba9e18a90ee242572beb70f2b8d2bf939fc420d4822da48968e7cde51ec743c7aa89de3ceae297272c676dd318be6fb582dd5170747d6d1e1e0a3bf78604140a001ab1e53ee18d6fc20c70379e0b209fb402fbe02a7d82043128e84357bd806bd87661950564a52540f2814bfef0a612bf1db488d977d906eb66c1f7f90c879fc012050f26846d3e4cd9627d4517b0fcce2126fc1e983d40173be91d9b7287c56cad6906b34d49bba6b532450f78e2969768353c331dc1d718f6f2c864c5596150ad565686f5aebed529e5d77bd2199361b4e402fd886fb510db8cacf12d6970d98f0f31f170ce82a6a675f5ec82aede48c702a850ae6f627ab4ed8ad7827ea621155fe3b571d1ddd52fe77c3377dc87fee1f545fce96f44a1bf2f1bb79799ebadb901d1d681b26291ee36d9f960eb6cf77e546c09ac1a96f7025c7bdc01d0934a6fb7ae58ca82256caf1f419eeed2ef4244db9cf5ac3da7d3c9fd4ad84db6cf4e5d9be5fc451e00a864e0534ab8771973b0f334e49514ac54e902ff20bdf36f9ce791b85ef690e2d6cf5d09456b0e667e72253b017998012bb5958936b96a85dca8ebbba062194fc64ada27c38cc583f7aee3bd91018b29f41dddbabe2f03a1f4cc81f042a0f8caee337e62013881fbd396efef265c47ac7de29672dcc7da05d7e46b79e449b3e4c50e345fab653fd8ccd34c01cc917590673e95d8d08c5ff0a92cee0692b0cadfc6f56992cd88ade8a64bd2114342ecae16fe440f93af2964b4aca2fed8a41429a33edf52b182646c35e401a435d6980ad2242b479e3a0f59b7cc38f32704b7fdd4db5762d515ccadf13961b537eb697281cd1f48bceba8ee740aa4a9497e5588b2ade695d579d9704b15e3dd743eeed16766013f82004f9362c7e2ce1860e7d9fb546775f81a74fbc5ad098eae25d8c8a7762c28014c56eb3614d84fe3b6d35be3840f819b349ab30f43930162cb59767bcc35aecb2596b733fc8c0112779003af23b994c5095a7a92d7c86eee9a64e8559b996e78a526d7bb49597293c70e4b3b7d69bb537810163f9aa20bc2284e6ec7569ce2c0d1855d9cf808ad38b6be02046657391827b7bc14765be8fcac4b467726d187f518538ea612012525b34efb7244630b03ff394560cef5a11f582e3c457274ee8e886d8271bf16616c9e4db60ecf84aa0824c8ec173d5f5ad20f4c51ca0ee59eec2aeb3d9ece06b8209ed639a64a5059e3441335390463aad008a0a7200b30b9d5deb2866f39ebd942aaa5b4bda1e1615f032b663395d82c1eff949c843128860283e4e048a3f3f54dea4bf9eb308b8b92845342aaa4f50816800f21ca8265f0661d1974f480b1bda242e5f4f85cfbb56e83a327ce020d3c49f7d8c5638a751c46717909f72307ac7d76377532eaf6f668fb209c28e98607a7e5337075c22a4b9a43f6a716680ff2d4506fabf49812faf75fdc41b246b152890d5d868f3b1dd9e8e94def3a37df91b703e6a5c2e928cdbf36751be24c410dada009521f1aa4976895891ca238601290c68d4a661273211b717779333071f762162c98ff0037c1572f9b44d3b394acc69eb53ccb6d5c9fa32d8790528510f1c03c2b4e72831d9134cc01b4724bd3642e50ff2fa422298925777b5a9fe1d0605b7d997b021b383fcc7d27dc07170a359f8b772de205364dcd893af862cd2b337eb1c2218af6f8492bf93f9b16da1e57b788e4c161518a2a47904416249564913f79743de0a7d44665986ce50bf3381da374da53f6bb92ed5c52dc0410cef0e2129c525dc63ba8bf330fff857e07d69487a99649c9c7b7453a1b5f9ff0dbfb02bc55a3a977c9388a25fc45e389aae8714680fb6f669968ebbb1fd005a6a676d69979cd7f109f0a3112ffee856a8429d13fbf3beb282ab980faa0bdfbb9f7dc80f119daf8bb642c5b4c7392299e870fcd44e5e25fe913447c3ae3d7cc6fb259d720f2d556905bb00b5a834e323d5c0d0e7195f9841800d02e85a5281af95d39d2b410a89df4801aeb5cd9d67449859cc4ef6131c2df907027dfaa85ca0f7c69bed08bd309f9c98abef59b887a53570ff0b59b50ec8c971cf14148f702540a1ecc59a3e2e6a57cf7f8b181a2fae01687aac0c12ff790a5b394d314c022f8584dd698adfffcdd8b871863f01605b2b09fac220cc39861ccaa3c688f8e082973c729717ed4956a4b2d79552f4a8ca6e8db8ce16766d8f31e41f5b1de01bcc5abc79f4b9330385fb6beb44c84af0a76c622c849363ac4b3580322d958982cb48c57326823c7ad4c6085bafc8ca5b56041d667ecbb03201b56fccba6bba3518a2a5426ec6fb9cef75d564a6a0f34c0bae9589c80649d98f3ef977bc6772a90615ee8bd92eecb17fd626d860e37832aa84ca470cff8427c5e9e1123f1fc5d731a38bb1ac734ca7452fb94c1dbc6a155071d5e4ffac8e01c4d6904e0b40a5a06232778653f354bf9837eec06a65d303baf5566cef65016ef981266d90458fb22c6a5a9aedccb42dc8e0028caf0c11cf35a9c389a4a6c2cdae884cfa49cf1a462e345d66d592ad9f911d8e13bd71d3519a3311ad1c25b3284218f5b3d443edcc6defc873b9dcadd7a87fb70f1468edf57693fbfb4e2587164fa57de198f39ed7e3d858639a48628576228fec0042fe6b1048a17ae4808520155c35c6edcbf66a18b34670940f323d3d4034cebb6293b9dc8ac06807eb73ea27eab57c8baa2191b21204b1ed96ba52cf42077edb9b057ceb90abcb00b128171be2d8ec4ececd2f9f9e02a344bfd966285647ae10dfce99963fdcabb633087d437a2cce1f094efdfae230b1b5216703eeb8267e2c6ec7ebf41729a21def1e001f6c2cc8d06c4ef1da57e541a8d5d25118edbd1ac77eb52eaf84e18918b86a81a0b5115dd35ced2d9a4edd04aee4030102141a66ea9c9cdabe8dc78ec1dc3dc041b48fa8e505728f261519e7773aa2243fda9f236e4b49c11ec71f54c0ac8d102652303d17be140238690988d79648bfcf1ef21dcfd009d15fdb9b5633f3caba2f216979020102161a3c4b4781829203c4afbf6b12ca33448d4115b879c97d6931707a725dc354d01be098016b8c94ce05de25b9f7fa784091333a37ec027842638198c3a75ce75ca077c3ff75afd7c86fcf70a29b798c1141fecca50cf430c8902e3e69dc492891fa4d73283998a24eabc7f0aac27e64d2f41898eece72ab642423297af0d37fd8aade75480a61ec7f317ab1b9df3bd6a019104c5e0db916665ccc6b665344bb1a517f0f40496ee4c441d2f1cdc0de411b63635ae3bcf9f220a9c824e1ddf90c5241bee911cc37ff8183b4b4909fe8517271836e068d8f57c81d5f3501fd87a8cd80a565396405f6cf74ccb42f0bca656adae015248f114c4be87482723c8c8bd04b39d854d0fcf53f0207ae8b8423a325800894c49046a0b6a40a1742746b405accf2d87add1a0f87afcafe734f680709fcf20e04acd52ba810f997051640d5a90385b167109a68e182e5be349812cdc2407e0034f7979f6b8a99d34aca17b6b9c60d62f2d93d96b33d204ab3f5f25c0191716c117bf67d1a321ed5546060102deadacaaa5f548440a94638a6859a4f78d5add81946b4ec840c80f67000079d77cb1678e8fd830372564a29dfbf655fd22ab7f29d7fe7c9d0307947b73094181171ad72e451e493f04e900066a3d9a779ed8acfc755403bdaca4993c561deef2f1d7c8cb355072391f90a4a74b99aa70e71fa0402600caed8d93867563e479b1c42af78d6fa91d742924fe3e3f478df3c10a1768e0c4cc37e8a9687bc879c6fc096f7261130c3a8cba5a65f4d3508b948dc0e69d3f38c1b52d228a8b67bedc33ba25b09d58ea9729230dba44b9dbc0b1120215ddf63c7562f4320b49fe96c765bc3c301007485ac385b0b35458db76df165ecdccf15ded352aced5340caa8de8338ab1642f1f164f2c925f25e1e701633294dbd408e80730a0ba7edef1cf06cab75be40a528ba0f6816f3a1c13c7d52314bf7ae594a941f18b8198f2d336e134e0440fcf456180f21f3e16b12cdf9759edeaac6df8ffa944b63fd2f20a58d869f2c24ad9890572585b39989d368491d5ef14260244b0cd1a77e114e5d835a7c4a0782442683853f08a0408931e1a2d97d33e78d8e4e1c8d70cbe5100c0204394cf5d7be99452e39e74321d85fab5eef8a11f9e57165a97479e2dca80f2eb1d1aea9ca9b763142a4cb8e9cda04075f85b83ab9bd3242e4833ac7530206e7412a50d684f02abc7c14df31a99b81e4adfa76790b8810b19be2db9b820b5e3ea6af60f1571df25993a99bb83b44d556deed2217981695ff3a38ac1c0c87fff863c79e5d12dc865817c003ddaa97cb58ea6afea9d566bbb1aebf0930d67b379fa10cfa1cc3cde539985f06dbca0ac654fa106e835ded22b32b7e3d253666d9c5c869780e159435864453d6b86bb48128fa7801e083c47a8944606c003195d25500a01c4e80be825170857c2baf03e632a0222a6e7307b582a345eeea1b634000627ed8fb55e7b4234bac3e2f9d4b26814e320e4a364af55af96277989be019d49439e17579e65938b3b8503ec8394dc8f9ce3202df8587689cba2fcff08b6c1aa749ba716cb83422f085135de2379d865ba6829a1096411f9f8a736df8b63ad390f73af932fcffab6ad7520941a4dcc7b4fbe94d5ce201a2107ab6b87fc025a835f8a74aeed8ff4772ff1a6391bbd58326c4dc7249753fc4e45a8f78049616020645c5a0235117eced6481f9d9c6ac4881f6c21dab8e8b42f36a3939001cd5d240f49847bb5b8dc5758c943a3761cd3ae5f6d33c250ccfbc2e9c76406508baa7f2b8be083d441d9ccc63ba1e53ab716c07c9806ead4f5adf54758ab787000ff655f3187c19453d2814b471b0c01b9010be1bad60485644d266cf0ccb2583b8fbbcdaf509c332d1a8dbba67d25c4ed88453ab5738701b69b5f2fb4d98534a17a02cf97ef139fe59ebe73ac6d1734bdc00e66e7ddd86264507a712cfef3f931234af62d0aabdc36fee1f05058dc5c37e9632781336c9f11e0fb0b5926014e00bde102f94f4002e87c640bd41cf2ac54f18febb51b2dae23b734bc9a79dd742cfbf140cc7ca081913d8c7346ec6ceda5b9ddfc13e1f228cdab7576e024184eb2430c5f49dde2c5288c567c75b52c845e1937d729ff9aab8d4bf042d557e66c5b5944b2e7bef73e3484d4f221f367cbffd5302ac09ae3f9d7898dd6fe0063d8cafe237247c47ee03c07a60046361fb39d71534f42e2fd09f194c52134ac19341fca8c671734cd2e8ffca8033a0b633bed0ffc57742b04a300d93fad368052ab79f60f511febce141ab42f032e9e335d32b9b7186ca98adec3c91c03a1e2c15046e3349c7fc351feefd7be8725076355b32f0d76788578e1125242d694681e99fa2d6f1496c9bf78e333829b66a4c9d90c95fa3f746f7c1a8208986a62154ec301279bf75da107577eec13a180b2a5f8c57f12fe9f6dda5b9dfa644e17b5d96bcb0f279d328ea7637fdc680221acbe5d14b9d1d5f5b16412f87e9f48988b8731dba7e6da1d9df81573b2c235e8db00c0422608c8d35359b081c83c7f28b67ed25360e34ec9fb6c12d4656e247a2c02c83ec97e52559ceb1c84ea5b5385b878b2158a81e733c639b1c1d1cfeeb4cec6e3af2dcfe339e1bf47116779ce4ece8c03f80a9f450ebd142393f7f1695ccd3fe0efc224cd3d2831c7727b4bfcab0a69a994fdb5dfff0de5bc5ff845970fab989b00ede67b7cf3d04f3c11e3cf507e1d0aae20248d52eed351db5e827bc625ea5f0e2a27c0dfe411d284a01dcf9349164cc45f52eb8b476bab260258bf2739f36482c568445bd5057bc08ad14526ee61acd230a3d7dab72ad8ffd252a4e6646c3cc53295805e8384d331689ec88890dac23c21cc19c5fe1d6737521e1e73bb290405b8b6da95c057c1835d3af719253a96eb7edf6d649a91d4a2a1520214d0df14b9cbcf9287d9b5eee95e43e481561a2cb5ac39f394cd103c4efe5b6780f943a62dd40c01d497cd1b1ebb27d6f26d38ffd8e71d524fec879ad3594616d540b5d3c3d11d3b006e480e062e211b565aa4af507f77bf215cc86e6f2f93f2fa7b11d873d26cf5f1922a2d29c082d425fe376fe9ebc563a50399ecbbe4efb50dd47fc1fd4416fec5f3c61f6759f7110f71ab1b79ce68b50a689c826fae8045c4d5cf4d58fc9d4ccf2b3c613d14622c274be15835e41fae94002b80668224ff361f66b6fe48406ed410d5d8ad851d6578b0ce202697fb39889109f7490f58c141e48bbde0ff669a951158320e6e01ea4c392807d88d7adf30c824d1ddf8dbabe5f7804dbfda9b2440ab70e3d509a3a750f94ac865c8bc6c82cf46b86472b6a66ab89902cb31542e3d517dc1fb9b720e6b3a3b252cb5a29f37388e7cf4c5733639c5ac54bde4c2c36c2485c905ca263e16b44ebd9959fc204cb1a8afb2aa0e1db203d431b47f6b2f00427c2434fb2eef7cc1414225494937ba75c973bac10d6e531c3fb97e0a2c592a06476d52f63e566aeaefd827cab98d3c2a8ed7322d80617bbc425dcee5f26342c4822576a874aa521a52c98d4d124acfddc7cf865a4bf08a750e7f2f5d0030f15b9e1aa2598445796d3763cc3d25e321338456c6b6fbab3a133a6ac471ba2818ee2ec569fe531128fab8cd8fa533cbf49edf0e04058ca9e0647992e10e4f1388624d8cdb83cb99d989f6cb1d3221bfc8d9db12707939c544ab97929ed5a8cb206650ea96ce9eeed80b1f46b9304e3ff0c13bc6436bfe412cbc03cb35eed57c07081c33f3aafc2d7363d31e40cdfda062ac2c08b47d1d5f080a2cb9a4a60521762083301c73a7a1ef6308da61a7022f58ce74555989d09b6472f06487ea80cddc685c9877ec8b95e3d5f3dad36be8434b569e2f94065e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc1e3c0d6f2634dbc41f0b5f332031e34c0cc455d5e6f0d8080bff8e4788fabb05c20f21da071120f1a98a46e6cdf20cb2616e857bfe9d87665c1b59517da103fc5c7c4670f455ec3a353e545cd808ac3ff688bcd1d99135382516b0740409cb7b15a23d942a61f8d2b462090d64d9172f3b74be90f53a96a32d6b2cbdd29361ec5a3961136f5b072a7f127af6fc80865f599ce721fa53207eed8f868f53c7090ef63152030480f82c310a812cb5f0f98667eb65ddd8aaa216b41de21786d23db32ab2b19490d8a01a36f37d082eabe3d3a29d0659c7f87c25773b248bc3b8d26aa8fd70da565f2c8d4e9c21eae32d9840e94ee5b6191f62157e3c322ff1eb957b5c35566f7aacebfe22ef4ea8da45e2dc21b68de5e024c1707ecbb46c4a9f2725865e785980b4dfaf6f77064eda451d10029ab51006fc5eda1f1be3b866861bfc12adb4e29ea2a98e03bc750df3167a57df65dbe702827751408d849a1bf5bccfdf3ec75c56fe37375df35ae4b85a958e770e0177f90685a5e76d90afd7236145fe839b07433745929a597a756d6a389716258619027bbddd8d2f8bf19eb76ed92327211fa081c867e781b12f3287117d0cd097ab818fcca8021cc12140ae15d38f7d272fcf770f1bc5a6adca9b42a41a58a4b444f2f7620fb76a047e1f2d0dc04de09a535d5520f469430a583a0f1849859dde71053fa63c14a0d2e953ef4ab4e4e3eee4d648b2ea7e2bb2796d41bfa34684364f438608e20399f9118da42ac66950d0be10892b5d373b6fbf35da105cd5509b519fbb917076bc85ddd59ba5f5d7ff3d91161b3c734875d10a02a1fd7c0d3952ac0a606684db44fea42d2765e17fb892bcb846489359562f5dc18a8b5264408ee82dfe8088cfe395493d82e169ad6e4a2f14a7745296e96e75273f9dd5216e6030310a5506b41bb1d4fd6f09a2fc61de07a0d0f412e0419623fc0301a46ba713bd4291784ef3cbf1881f2a0412a5716936bfbd98e8ccf2f661d842e3f1c519e9513a4ac748215ee209633172a8b44b5e296602cf984f653f19f64f858959b13818961008ad88a476d2927caa35cd8443fd5e006530a794e97827e111c6377b3d960c6ca96f4246a3d1d52a90bb9e439c4a017ae704d79b998dbad6e818e02b5c5ce9c84d9aa9ca12344b9509461fe0710c625baec4155556f7fe18b28457f967cc930086786a6e3500992d7947183e76e883736802f31aca9284a0d88344341ce1abafcfb49ba232ee4f55dff8b75e254781b3d1aafc644ac19dd72dcfa4270b0f0ef2e4e2ac784848df4977758c57b4ab5f687cc5d2b3f9be62cd67e7334759282f439bea48c08691f3dbe60861713b1a78b76ed969e1cc3db66114110ad2946c7f4b766cedef2762d37802445b901a1764b14509524efa82befa21caeb0483c80b1a7b3a9bffdb968774d86b22506deabe23030ef1a2aad5e80f3b701885ba969e36c225f49f4492a59c2e032fe1547a9458747f383fc79da2b5c9983262507c3739610ca33b910e2691c01edc7b1846e32eb656b6c9a4f736c86edc4695ed5b353503802c2f917bdf3c17f8bc2cc28f5635612c781c2e9e407b4cbad81b95f5f904e53766683e2fb7c6fcc2c5137e1fde3290f936ce525b38e6739a6af49e3f72e47c9b73f261fbc0431f6ba1672e9c078095291801ffaeebbc321d32054f93e3bb69950888d7d55bc350c124c0337187af1a5aed6b0a52fe47747a6435a445475d66ec9e944b0615744d0469e7333f35979c0d739b3065c60c00246dfe0148553886f633d7e808fb78270f5d064a08aa31940bd511630f4e5128453777ae92d2a636b1fd1f2cb96d0c61f1ba43f8b281b43f47eda904e0fce8e68f5c903ae13fc9dcd7c2545dcdb1db33f3136c5e18ae386168904d2ddff9fe080a08484c7eaa7281d041074eb2826874e271c9b7aee5e01e33169098ccba34e488850e4c3e0c4967311f4801a55692069bebc829595859e1fe57e00a075587f63150268ab308b38dbc5fd0bddb17303338db3776ed2f9b1421339868ec0fcd113f7369f0f6cd3bbf56083d156b2b7e6da2be31a52851a2c7755247be9ba3cf3db338edf0d4c23e46ed30650acc0779558ec2197a180f74b8e06f92029ad2b382eca6a22c757ed8f85da6bf7141c376607526bfc67e3d726fcda42c26d9de8eb40da8a574a1c3ec69c0bbf8710ecc6583942411e00e7118d0eb1a4b5d3581169e76b988197e383238e7f8738ffc78d3aa310b2a774c5767c379de57751360990c457a8a5f86130397f87ac595fc7458ad95eee25725f0194db557734cac011be7ad3c0d6b070e65a37b1e5b8331d0d0547811c23526a47a1363fdf8d4214d9cf254f4140d585358f9281144c07dc24d2f306d486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2ff5b54aa7b436bfbba9232bc5bf206fc79af551ae55217245ef019a2b3201c88c1776b94315371a5e821027fa3f194776814952daa4bd6568a6cd5b7da7c5bccb7e75e79c8c2b73e6eaf759429727fbbb47fc5302d8fd934cf98155ec27730cf9d486cf6c1536256bae77f7e21d37ccc2228f1e5b777a1336c43878d57ebb2e2fcbf086746f47969f8b33473e8c087cb0f7747785fbc5a56ca3467007aba02139b7f21a545458e8ac8b0de99492b3a2a455d258fe367df8634ff5f2256e0caba743998249af4f59fd11cb2bdbf029c1c270cdb299b65f4033beab0602b6c91410b74d7809c6c9f24c7ae89c9647b42a07894b89acbe510d1657cd0f49888516668d5aaa80f732afe18f5b9447b856f19561e0de73c110333a7f0d06b5a56f7982dcd2e59781333aa7c7449d50a6cd4f84b45c31c03976a60f9c6e2b832942e02771c3ca06e7aff1233f4cf005ce196ad563971ccd87aeb555cb82346a8fbded5230e1d5d346c15718b7a7627603e3133a18a705a920bd2e3ade96eda8d704f453a70aea12eca240d62a08fccb931366d6a4bbfc20300b1d34ec3e586e3d2dec6277be62c1db02743a56a4bfabcc98271cd27a1595b1d8d9c237df7426aa21202f13011ae355541fc91744509bf7efd40f99b66f6a027a3ae5b618d0e39f2f2f71f66ac0828febaa4d9b42f86b4c263af9df935f17bd2f2953aa14ab28e0169e84699416540205490338229a84f9d50fd61f2daa36b54af47beb61258a700d5ef0e0a9876ab2c269fe64e8125f638c51dd8f77e676849715a2370987ed81d52f8c4abfe0578ba8460b8a2757a4c9ca288bff0a34a868268e58bddf83abfbdeef1c71f784f1de10efe1a416cdc0306244d82946e44bd7c01667e0ddd4bc8a9df0a565a5f1230f948019bf49393e300f1213bb12812b1e2a560f00ee1a0b071d3028b16af762aa022ea39f4776ecea22e8bac14deeb4cc9c1bc9ce45a77568502c5ca534161507ddd00ff32c10f462afc26340927f3f13c004df6ebf43c9546d7d3a2a090e9239328c44e297571b39e2928bdc5583dc88e76f4d47cd93d224b24a40f0b9af37ef3d3a64ba319343b919aac419eef65ed0bc833158844344b68da0a899468fcde02dae16695eb558117035dd1dbce62c5360e190c9038750fb8a2542b125d8664cce7b389fb0b31863c9f12fcb12fa0ec1830484f7ecc64c8b925ccdb03c7d292c047959cbdadf3f093c8cc33eb7dfe663fcc4a79661b3b4908aa2a47b877652f288cac9e94645d705c12caa9397700877fa4306404f7965271e418ca7ae05c1c936801bdbf5040e173b631cff03ef1643136e0ae10c6f7e15aa5799a2eb0276e2f83b716aa19803a726af556180279ea760bf69100e0f0148ed2379a89248a67147d9f9377969af9465b99eccd877dd9bb13769036d49dc75e14eb8cde627930003ff9f6740706d25cdf85082264ee78f93927686b97369178dcc8d1bffe646393da7b1d8f1e9c3942be8d770ec87135af4fed4d827ab18d7bdc58861c861fc80eae7c95fb1caf75496358f0b0f174f8dd8fc8fe4ea619b8f88ce0f9210eea8fde875ace23df8f0489a0ad281b02ba8db8103fa62cfbccb83f07849c97f2a57e6a500417812ad22ab86354976f9046a75a51e825827b8f38922419c11e554b42ecf5f086e7f09af745b3f242715c7bb7023d65f05e96834a05d29e6b4e8a1cd2216930d31ef647f843904520cd4172390d07e7ce7499994cf21985e53c4ab666f51d9b9afe4664e2ac7623483a2f781dd5940c85b801922e33c2b89b4b3123f2c31e7742f73c8f408d4d4813b924d4b4f5350af3e3117e94bcdffeaedb7b3ab28847c4eca37c82338986d72f9c6de54988905da2935ae8e9fa9f5bbbd0fc5f1d12033422e7a3647b5f77c5697cdf3084d789bc3879732cd28da25dcff3d67c09ffa2792216b306fdb338ac0500a901117e58345e2ae5861dbe8e2cc66f5e6f42cad1f2596342a430dd20f4e3503da00adb62ad2c374054dc3d04568d72c25e1656f487381de99b66a060c2be1442eedea8cf78d1dfb5a158b1a49c87551e785fb581258e341d853be0589267c9a4fe9916c7d90860bd6d46e8e45685161e2c89eda736ba4c5a64c470f09c2bca8a67bf02f20d90700efbac7fbbe38b40a0b3a6ea9bb8c3d4db87685522b14b849dfb76a0074a573bfb18a5570add27973766d1d0946f7ad5c13aed471aa883be280f603109a1af6634d34c201e5f9b81634d133785dfcb46320a6fc4460bba5ccaed6c23ca5b41301a2d7dae4bd64105debe466eee76f57a2295d92a70e155bf1ead4560c51758679c93fcb0bac3d9b3df83ad8170b7299276f71d705c2e17c65eb1ea20dcfcebebe0f84de4047398d7385cee588fbe5caeeb851015a8d3a49c649114cb89832cbcb775c8d84deb337b4c99b682731e7ee4fdd718b71cf57648d9ebba0ed20960fddab4c522f3b487838088cfeaf0d25f34621bdfe5cb3d86e65461e4041d123c4580262a4563e4b234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d45e0b6ac8e6a4e457c2d12bf6179455395fe6178d9bd7a70cb6e2b993baf3064adbd1f4ae4b0032e76668c91013aefc83ad62732833a85d29d1f410dac55ef26c49c2d91449458c48e396dee52435865681f541f4a8641f4b0782faca59bdf59f0688260510d64264f31b38fb30aff9a94c46fb08eb67e950f9b909a55a8bda40466e5b0e49d8e67cad39c0716ec7553faa1503ea49b5e9161a77a5c7224fe00fdbeb061f3b1a3ce52577780b5ebddfbeb759afc04c5cf77e61bd148d93a14d130d93bfeaa6b1273c8d94fe2b5e4744e9a02f87eb4dbe4f9a94c1e37bc6172ae66eed1d3391c8e8dd83498bf2c439af911f72d4c10418996f329bb44057b92df08de4dcfddc5b0ae0a8997e6433805e4d2909d582d259558207cc3e7630272152f703cd9c04b05fbf7716cfbecc67f449da61ed64be81161dc85a7ca00c52905881fdb95238d31365869e2a501e8976ffa8da2d0df546ddbbb3561de7c75bc247ac24ffa1065cb8b452c9a047ab6e56efb2f71933b217bf3c98cc78648a7824b8b3c220402950ec362a6fcace96db432b059b89ae33411f65485b2df9c0d4859b035c2ea7c26c62e7f976f68c1758b1511656e15230ba00f75537cf05ae3aba2c533fd0a32e4efebc50dabbab4e6396f0c0a2dd17fa5d29f0ad08464e46547ed7583167719c68065409ec957b76e68757fe935d53899f5beaa1376479e75d371afc08ee913d377294a21c8862261a5d84fa9a518feea5e5011d8ec1c2295ffc8b1d04069d96a7af4ce74781b592093977884b9970a45a45c4d35aa555de94183ef6da5e49b29da824546612f6b8c63c320060d32f5089e5fcb11e0cb1865abe35642952058f28bed9a4d77ad962165c563ff729160442e64ee0f1ff3fb60fc4ff2bc518933428ffa24946a0985c5a30d8243627a38b142a5df33f70ed90de4848257fa0fe2048dfe48d1d4621401811c64b4e54c93562489c5a4c923a351a5d563b4a9dc7f2cc6aa5de95ee06211ed099d4692f18bd56bbea82ea01fe798bb838936104ad3c96b2407704ba80f71acc7c3dbdff1114ad29b2265810e820d5e104a16cab41a8f641d77f5c3cb94e7ab34b15c97db8f816c124bca9ebad53340c01c26c83d4d9a912c4183bcfa90b3318ef8eb8c8fea3b90e37822dbc6bc60ad8d9b82503a05484a3f09422f6b3259afb3cd2d38de8ded4f724837f5de8e5612b5b97cab7f3abf2b14be971bbc1c8324290b4be583c209a8898b69bd1c29e4aa56d51e045cb80dbd83017df9f59973ad4761ed4f8b17bac1e8fc340b40455157b520c57f08f518b125cea7b362cfa579409b5d4434515ce9ca1f7fb9bf81020da3fc7e7e5a062919f3465c77526fa405da545da1af0ce17ae497ef34f16799dfbd24eab2a42e101e9d58eac77dd98ceb2e60419ae3a26a6d6bca21ceb3cf19b13e0bb04af20ea517d76d6f551278b433360c9e0ba587a26fc75606e30a111eadaf4a7194690d5ce12ab93c74587d8ea450b97f84e28937b6e0e6ae0f89cc8dffc2088daba059febe6b7fae3eb63db0d8d14343d3f95cc1bdc585172293541a3f355915743d922452559e787d280dd52b61eace1e85b302cc3b94e49bb2d2f036c2ec0401862059709d6e7df1f4a25290c01fda91f66c0d954ed7d54fcde11dfe12bc7761fb147d9d44171228b766f6ff8a020ea5f343f0cf101c81a0041086abbfceddfa8c8c7899da93f3ef9b55f94c326c622cd0d396149257411e233b7aefa4c705b1c0d3ebf372e8b02878b574a74f5fea3f4a6efafdd50a9acb068dd07ac631f22d5b78e1510bc885571c49556f4d9a7ca49ead96deb0dd22c04ca903d99d60fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5e50049887e3b22fa959ee4873c348217237ea236994cf26d669916a013b2bfba2ee7c609181f406927bad5eb314909e64d8ab3562f8c644af796e6140a949df3bb662b3280e21871e0c76919c61d036bf03e2b009ba834d00dc0c2bb9b119bb70ad972b2b691ed6af9456e77dec9eece05459e46d5c6a6c563cf6969ee63486eaced54a39bbc538fb572bbfe2c317445a6230785f152512593532821317a924d078427c13fed288fbfe279d0437da4296d0d7e8467d01945db8a5d5ce038119597942f99cd2b7a6536e0134bcafd356b96d4e70522492645e4c663a83014236e8425d42b482e2fbe16f304f372a00488a7f3f25a8f7df9d2234b8e5a41c8b1bc62142646e5ed33557713af004d94de3a43a3046dd36a0c0064c387565dedad6f98f1003e17c3a8bee02867e91e30d05b571607f20af69697b35aab39644061cde725b36f76dc367067646eae10e5a8f29ceb6649a1f6a152c2bbc1c00743f9ec10824237f946f08ad48635987e522e804f6bfc02f30de61e5d1fb96beeb1cebf32aec521d6a3039371cf8b41218c415362f1c7d53ee1de444b5fc16ec797a756f9078fefb0cc82b5f538b6f9d48b2ccadfab2a3a1a40af0f6fbe3de3cb20d80f4173cd68a309a9fc393b6eed36c2ea08c9e2e54536c42c40ef8d36656eb77fc0fa80662bd8e7e2b9e17bf58d1294959204ee100de4bf5c5be775e3160392c48518b04498571d33edeb1f85b5d97f467dd31817cd6750000f89376770df29e05620b5eaec88fa91d06c7a89466fce4e72e5d89dcf816e907f99dce6d96ede84703a2b5b9fd8541d43f24d2d39f3908c9fad2ee3698ef302a6efc42dcf2d1c45d6c325b37a0e2912ffb5403a03de38798ad2a69ebf7915a52cfbf79645afb26fc5009eabf5fd3b117e77e5efbe58fff42c285a6b88a3ecfec93bf0c62e4410b839f985ebe421a11c524b09c0658b935149a7b9ff935d1bf784c0a4cfa305ef6d53f2b36af0c8e3a87911a132a2fe20276e02daf8a94ac15fed01d01cfb13f986cd56f8c9cc36646fcc725a5a55a7366c2cbaf746df5062f52977f7fe32ed0d4529c2ea723e2d0a312e7d5a012d5181e043cd3484051daafe8760aa1496a2f018ec18c5b85affd900da4bfd3607ad8d9b3f80e433f233e41026894e9421c179f83dc2fc85cec0b5b108691dadcd50e0d5d02da69fc1d9da08f2ea1b9b54cd144e5dc4b74036072fa0786c658ff9095ff646c6c512115e3aff37f13199608f097009230af86c7f3844492779ec1403cc6fbccdd9def44df38fd0384df6f75adf574c4acd8240e63f947c38b4fccf195fa1cb1ce4f874e52633db0ac29bf9c7959e5dc8c871672a1597a9eab7cb952d9910d8af4c9810e1e1ddb519de79760865607b545d11a3b470c7fdcadb863074de22d587391bc09668baddb81870b8b095ccfd93b214bedf5a571c624579fd1c757dd050b386d12e92448161febf92efed66ad9654d93de918f90e0ede1c436d571d45847fc1f9791e16a586e547513987437a88225b3d0cf8906baaf1ccc4014dbf2cf9aa73124b598c61940d4a4d6c8323b0594bbc2e6db3f3d7ec9ae31c2d5ff4b37fe7f25126948d04af9a93695c6f43ebfcb84810da7b9a2de6d22f24c45a77541e2ff9a5f775946ece3456353ff8ee7fb82b44aeb2a7927ee5a749097a53593493058c598a02fb4352ead62943158d40569cba5037d8945de43c2e5d33d53f81015a1aef176de1f4786da5bf420b6285badcaaa57fe8352dc0a0b8423dfa8081be34c0e550857a8e2f1b00da68b631b87cbf59ab36b49d70d34770b5d0af88c32f0ff9394387723b95ddbf60f2c3ba3e87a86f73f3550f6a963c521cd120e8131a776d59e987f8e5f612dfd435e17a9e66daca9d217fa7767eee13f2a6db86607ade68e7c9019731ef53514cccf464286874b62d7476547013018a9102ee9c518049726d38acc2c66454010b349abfc8fb240fc442ea8f8628e6c804507cae3fa462a95b4240c742f6a96f0e1039e2550167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a9c783234bc3ab6495d94c9ec4dd6f1b2da48bebb10e8768977bf8a812bb83f2b07cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb633cdc6cbd24a3f0d2be595b78836bd968e5c91ec6963762bfe375b942a4554cb4ee384515a4325315992e61dd957f0fa91f3858fe7c079de59f56edded51de86716ef40c102b1701970c7b0c34e6633d8a0ea1c89e7527252fcb07e63074221d9c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a47e007cd5bdaceddf5e06dc5189a4ccaf243bc827bf6c2a91e4514ae0ef72b967d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe575419b49765648057cb8d8f9774b64e95b9a00c13c817faa4197ba5bda06023b8bb8dfd375b1a4b3bb0c0c69d7faa9bfad93cfac85395b7e4ca57bde891bfdad175b8ea8ee20e6b7f89b49a9863ba23bd33d433b194c66334cc792277d6b49a4b0b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864eae43e9231be5431ee74cd85ff0f425660e5b2d76f1d35d93498bda2a48877f5c5c51a55d0dfe5e51e0ed97ef28096b6d84d78f93d265cce305cbe317540878e6e6d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d9b79a0a4fc403c3fbfcdd5e9fec9ee09bc4002d580257065c528e2053d9ec655ce202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf000c819741e20e54a0e0f436222bd284b2de0c61e1909cc77a8ee2c72a032108e2bdf7db669e690fd61f5ac3481c13c9aaedb16275935a3b631d8a8deac2dd6d3175b80f0fd759d48de2f33001630dc4905ee3786cc6097fce981632661195691411989af652039b2889709dc93faad540e09930e003bf4ab712d04fdd481cfe26c7d0bd6adbfcf39b1f493118d51bce34d312aba588daaec6001b175cace640a5558099ecb22408bc1ef27280b131cf73cb84ee19daea55225523c25406e10f36cf08378ee94c34f9398fff96f0c1b9fc760bfb58753b206c849f7adc53fc00816fa4547451bf5656a8624083945404367142c2a1e93b9e46c479ca81ce2b15dcb65c591c9c8ebf1d39a108e3d1342fcbabf460fefa42e3ba39a0251697777a70f62b8fd3c25db0337615230332d9d403c6f1c30aadc674c07b5bdcdd6c7d990ca1f27b4b38a4ca299a2b231cd249ffaa8621a53f9fb5e43897c65cbd1a1af09d35642d75bd4dff58ed31ea300223d6d67b3ec05217af5f4925817608165099116217929becd6c9f454de3ed5560ce54d85cc951688007017744b66de7f4679032f517ebb77cfb962eba3eec12b364db75f9be9c3920f35ad37ddeaba5a9277ef1f053337309f465175828f41a397a639984f1ca9ce2e16c892d2df8f2c0fadb5bea307d426ac3a9d25a72f8cf1b02c8490e632e57c58954151538870a6d9b56cf604b1db65152599569f1033f8da062740ed5d7e293ba5e559767bc3b9ff431f152c94962936a6dcff046019bf836f0717b10b130fdc7cae325daf0001f07303fdbf0241d902194a0d575f5da3a049444ccc503525f1b24b85ec7ea116ca57069dafec2c5960c654d139af69a9fe74af9d5df360af918d1c31eb763e0b9df32d27b82257ee2d4e7ec83b44a31f120ea25792849121b13eacc0eebc0b732b14cd8c12addc8dbc4d426e3dd4b1ef27c63a5050830fa195b6e7fd67ffa4763b9525981a522b393c31bd4e5604f9591211976eb955cfe317392dd2c9c4f1f299a3316fdad518ac6785b20b454da9bf5fe661d39fd984df16322630e19e4c1674d295ab38793a02097b97dfaa31931cea7fcab6ca3f1eb4e1b92d042d5da05000898be4f4ff8761ed6a2d20a8f5032ccaab51079de917dc19cbe2b2f17609d0077782e6afd48cd9dc24006ba1b7dbc0ae57582b64632fcaa6a6190c423d8463ae2980f930f434ddcec08817a3a9aead06c0d7229d871ef2bd1dbe95e1d7e06d78ea776181c31ae467bce302021fd9560f9b7531f2ab3d2887ed2052a48a836c4597b917dfc49f5882cd41bf2553fc183e904ecbf661eb787e75c0d7c0ca35a8fd0e319d1501cb9f30c8f03cffda9ee4801720ffe3b322c9805ea4503ff9c0f9252b9672855a2135a350b99c27d86f649104586d8c176419a881da046ada908156d9423db3cbcd3b9d64775652fb1b5c1e271005d1d5a2c043469e9c6a7ee4493c4ecf9b706063a72ab95af8dc4b3ee2bd0ca2bddee27a273ef3bb31c80c77f42f32a6f6cdda8e4c9c84926d9a94b6b20cd4914fe070cabab2ea6c2b849f6a0034026ec38f9bfb9d6cd60d5d789fb0ae2a2a3753179e18f2c5aaa63f0dacdf50f0d4d2408d14cb0652a5fdc9ec4719b71a49760f6677bfb08228e8e611455cdb7d26ad1fffbde039fa9c34f5b0cbf7dee9bf0c1f074b7ec8b005024c976ec62676230d09a2de0c37ec3b1337038f06dc97811c2deff7d2e2083d9164ffbf0d2359496deb9a561866e4561cbe230bbb0c4ba10d6c375ea6ba29b160b76eea8f2be2ecbab985f7511fa491825c8a226b7ad306b3e2cf4fbf91c7d29c58e67ba751703a5d12ac6d3a129cf534eba93c5bd438b9358bf48fe49447cc567b5889ee4289c953c6a09101a3a1934ea571f809b32737efe0adbb0643ce0d94c60afc7d0b2254b16954cf88a10c5ccb81653906d50c6a0d388ab0eaad2e5f736a35c779adde03156bce63aba4441d43d88c0ebbca2e6d82651a485d47a8504cc5b2f61e732435846e9f0399d749c5656fe6c9e97e2c815fe6d70e27ea373c6f6bf405ad92c6371b1ca186a28c94f79c64a0069bd523d47bcd1c1cf9237c457ac3c96057bf5699c2ac53971339cc6adb50e43cdf69b3413d5b857ba08f483f2c4fb2b47c8f11a9bf1596a49a6648d5e66d8c71af1728a1d3e0fbabe935dc04e3f398407ff407873d8bca4dc8c00326774f67be38b7bd1d606a169518072174c190a99b4055b5a57d024867fff300c22f67d7ea5ffa078e574c375474bdf64fae0ca7608402e954c28377b90cc69c3264425c49a4cff3b24db9c6571388ba59307347ee654c8ddba28f33bbb8acc75628a549c3515acf7df95767612a1510f0cdd9ae3a48ca825f70572f422689baccf4f2b6031283f159ba47e93a141367e0a303b599665525c3c541ac16b6b50b54b08aebfe66e802939bdfca4ca5ee631135c5a077e04e9ec939d3b8f96710ee024883e28234e301ad3b5255748b7a85362e3af9fe1c878a9588bd9a0f0a221bc90f3a3f8d66ec84cf0878a6f11ae6ded6f5912d784ee5a9893493c8396af1e38d12b90408e6d4dba90305da68c13d3358142fd78d40e4bd261eb01efe20539bb0d80680d1b0f993834b459fe205a5b80d5cb8fa6c7d3a5dd98d480fc8d0bde8a0e627e6c5890ca956507305def818235faba049bbf8a2c41c49dcc8fdd5e6cda4e0d322f22bf3b91c19aa47234c6f4a782e2bc9cccd2a52fe16f71b0bbea4019f6423d4e0da6b08b4aacd924152593c334432455c7f58225ebe64b00d698a80f15bffbfa0589e1e53efaf87ee44593710df0a6413ca1ccda0fa16450a5e9c1a7285381df6fe94618124840db4506e10da8ea4787e37468c6db3528f2d94e44bfeafc420526a4b06e1257c0c0cd57853e78a9dc1d84b8a3a5b7b06648cb832a2e728017a0b40671e08c6d2fe35d48a5ff53e4e3a9372656ccedf7ec96949b590c32e53eb7d44be8c70b3b5b2f130ed038c18dc285ea2a278d5ea4b01db6a3f1c4c6cecb3732b5b473897d2379ba66b1b97f2529be7f3154e6efe03d87727e923553f3617b8fc69c265074a9b6e5de69ed75a66f33c36464dbf88354b2ba6f0d24dd80393a8320bf81f4ea50f04bc6de555e34dff172e3ddad52029cc514480d588714180daf03398e9b9813b23d62f316b09e9145bc6c954c704a4e3d7abb4a54e4bdbdf1a681d885abb76c2e39fb03190f518807648e76ca556176bf6173b527be47c0d4c344a6b6a60b22ff2efb10c4a777cfb2ed4c7ef08d5f730726441aa0f1d821577418605e49dd53530151366e43e23b2d199af00322579de26cce4131819e354e16ca699b273f17f810e834ab81e5e137cdd91909fac81d5c860d3502dd3077af08ea7139473f222ea11b68aaa08e877a71f5c7e30b5fbffc8ac778360c48b011a66f440b7e02b88da6581561813b34c581551a208f50717875ec2ab941e475b7dc2ff756021c99dc100821702d489a35f8d956b8548340fb9173d0af35f5478e7f71a7bce0beebbc4ab55d3bc1dc11b673c409ee3524a89fc2cc26b77ec5a5ce8fb10a21d53fa398763f19fb2cad484fe8ee0bb712d3ca2526caa5275e036b573196e4fb0e745a3fc909227536b4dffb6cc606a76659ecdf16a8daccd3273d62b9cfb1438eeeceae66e2f95f0e22e8f4e890a5aa542f364107ebe9ee0740fa4c8e3559e59fab0fd2c864980ca83ba1420118e8b454745f3227eb7ab6fee77a326888848401e7a55081f53c740b4592cb676ce9d2cfdd4635a8dce029217ca0d9fc151e6a95f6a6858c2ba579b5d9c52dd0fc10caeb3e4b942930b0d22295910a7b6d3b9e4bec170d79179912dea38cd7b70427cc5b4360e0bee66594dcc673cd39429014368c923f4ffa69915562c8514932bb2c79f493ec6c57e5a5b07a1c1cd41e71c0b842cfe8d54b19c7920dc71cded5be7134f038ce3c16eb451d8749628c04deb9d45d6ffb71d59a9fa3db01e919651ab079d4addf9fe507a4de74130614037ec2c36c63d24a7eb771707b1333a3f1669b7fd7a4a2d65b29f5f939e2788aacd215ab4a4dca6b84da88dbf80994ca57d1074733bb6eb2b6754bae71cfff5db3c61c62f04e499f521b586eb6590477bbb3f214aa86aa46faf1effc65f77b7295d34e29c000f1886c431965e3f63fb02087066ece315a9766566e86ff0f9b031cd9dbf0053a806ac1a6c3ff28505bf55c63909d3112c959f4510421c0352a16ecd3041b9bcd329885ef9d7b9c68a953d90020b8d2d794bf2a970f7e675be791a88214bf1b0e1acbd73287c5a957381bfead1bc4717e7b9062e11aea3fd7395b62de7a539bfe05901c537f018be247affb28bc143b5ba4e538b50d9a8a2f7d49e5b35d2faf44129a07de0c214915452c341c99be2c70c62ff634fe35d1db324dd87b09f9535daf2318a409f1fb40bd07faaff6016755f0fd521195539e5c4d7660bd4edea39a3445a312647bbc301a2d9a2d4f5bcc8178126349428c5517904172f1d8a08d90e55f6306cc261209fbd4ed617cbe362d0aca80f85b51a0903b62ee2bcf849ce83ef0f31fa734d4426d319d0952b0ff82024acaee660b1bb2fedbc8c04d941b300f6123d09659c555c9adbe8e699b22f7c9072b34b4eaa812041044d94220c56ff8aebdc3a0167a4eb68fb63ccb4dcd31439bea8d8b5acc15cacb8982b642e46f95b6118624c0e12dedf6edc82c74f53885355d849fa67a71ff05da5c7c4151415f0192d75d2ba96823f5545d2c3873a8d80e804cdf41315c24208834fe38003d447460c4e06e5f50efaf06a00d757d2e2fc63c54c71cc981c47b812ad0d977765b71252d13647f91e07a1f94c1d3be83a062197ffb1e9918828a38b473b6ce7cdc715e51db7fccdbefd3422acb40326a04ca2d30899ad6d847c9e8250d5f96ba8a727ab46c13fd8a352a44b9c717c2c5b8b8d413cebf6e1100fe04d10ff3b7501950c5a8fa8d62df78d1e5eebc0af2541b01824bef8c77f31508dfebf248f5f90bcace2d49d43f56d481d8e31c1f80312303abcaa8217e7712eee1902f9999aba25d90172874821bf1cc0c00c183deb5dd51810342c99f95fec61a2138ca8c5f9f36a37931d718b4036b1107fa977419c639aa97888eec24c95e238cfc50dbfb7a0859c953600dada1116d1ff78b18744b48f2d589141bab79daa67656ece5abbff4bd7831c20688ac7a9dc53ef88b8d096af027f679fe9322825df20c7227df73471231e1827b6c487b4e9bede400713471096df26b74e6e521587b7b4aa2ef9d4f9cba0ab4877741cca3055813c05464206600f628a3de56d3ca5ebf33d2a8125825f1d9aaf88078f16c2fe5d96fcaa528ea905f45273d2b9753d06f8b4d566f5be48252c1ba1e5cd21f30a757219f85c815d5e92168b79bebffdfc4a1c1d5a3aece92609611d57ad76fb433b4686a9c50efb8b8628c08056ef63a0701019b9b61f85d61b515f32b8c108043aaba2390e7864b1c6f11b553b42b8a5588a248e6af3d567bbe84fca07ceeacaf5147918cac89ea02d35855cc46fde8e4bb1504d92d22e2f230575a0d48c17a02a71d37a4ec6ec988f3eb70f10992bd865c45ecb4149a322177eea5bfe9a65c339a13585873988224c87a94567f1492a8b3af4365f5fb5c31f07178d6cf4c197caa45a4091206c27b845fc3d133253abf5497e104eec6eabd9671b1826b25435edf6764d453dca0a4e75ee2c626f3ebfcd3460b938f4c8a1b5a84a2ec296bd1ceb66ce5d90d76d3fc1974d553c6f5c02d9aea3fcd7b88a6f95c159dd579e74d4dfd6536db27fbfc8559c69c2481b9669f9c406cc8b46b9968a6bdd8c99f1401bbfdf37329fd5d5e5db78c23214ce6dbd823b2ae3572e4867893b46193cf1f17a01baafb69663e502fa3ef8d74a01d9eeb8ba5885994d743024483af6cc89b83f170085a55d5c4fc5f2f968fa230432a49fc1b1d6c3ac3a247330faaa1a2b25a68da5d0eab2e9e5376efdbf90ad47d4a71d6082ece770a60b351a5c826a423723760399da22a10edf0374447b52dbf37692ad17103cf84b1e351a8ea0e20eebd8ecb6a95685359a9daec8f1e6756349a6a1c92e31ce7a408c62a6d3b72e6df19798a588919f0ae6f17e2a12ca0495573728941f56b4a718a5e774baaa8c744dc3f20aa1bd416e4b2e18e05c55c2dbcf12c108ff1d4252cf69e391034c20eedec1d7e6cae32b39de108b2403a9017bc530a4f27630ba7e8b8b56ccfac74f4b654654c834121e3cc43c3954651e9c3a8971290d8379f376e1f135d9452c90bd4696bad167d5fbc38de3a227574a976b9a5e6077cb02823e7d004b0a0185fd8aa32a6d2b457fdcc0fb443c83f42ea781b369795b04108ce49288bdf308ae0c6ad6afc0c9c8f5a6e62fb0d98fb3974da4e869a2fbc9b80d47ef9bcc332b282fbde3a3127045cfd4b273cc5a5076327fc063ceb1fb2a7b0e77466c944f66970f55026b6d769803f7d9b0dbfb954829f96b69cc3a3a371912be9bccac762151684d8c8f9c27808a4267d3ff32bb6ca43e242b0d2367efc8c6d4804ab10efff228e14fcb9bbb605e1e3d4343bf58f9f0dc9af4fa2a378b5875920477054ebcc31c7f80a7934c7a68908297919f5a8bb355bd3849558e178190bfa671d1b6e654b1bf7266cf7da02d11115c9cf9007f01a20a7b161fadb0278427afb3e9cf363e350f73ccb517a7c801e554ce64b4032ba9b447588a850a2f50be0b89cac228c2f46e534a2e39f18d736d9fd66eb272087eaf2cc87fa3bb197c3efbddde67370025a8340c8debdf42a2f55570727e74c18ce0c6e915cb9e47b0220cceb6fd56eedfb1653f44ead13b81bb0e39b2905b10ab4a3c8090a329ea7d19b71f37879f64623d021f76d60528048412b106223d75fd993814a0cc4928d7b89e2f841530b395b2443e87c46c3f3a18d8e00470ac7c8e044d4a1c46ea7939e56fbb1f8766c8f1399968b7e9b553f268fb796722973bec401cea4d63d573e4b6b30c847e8e3538431c6bdd6123455606f01cee21f391c3f9abcfd389c4b1d51dc0d0a4cb571c51ed980048afae523ef37a972930a2fe9c2941b5b0ba0eb8e23b485bc0ec54f60ac0ae7c06a8a258812d2774113757be757d59435d726178d48c6b6988d4ff1f7b68d4c7bd8d99b53187184e0dcb10ac18ca294b44db936085478a7e01395a50a621753ce271a4e36aa15abb923a0f2414c3a8e7f3571a2b7222de634dcc35d708d0986c41a96fd90601778679a1ff3fa8237e4e59330c098eafb38362c8a2f799b50640e4ec48a2d0e389f25e0c25007eadad0b46b3b53903869a98a3b09964379088212c809d62793dfedf45d771a85802ef4d26c39fc5d04f6f04efa3340c888a9f097069d93e82cd7585c4be08818628096017b0e9fcbabbe659656ec2db0b141e7f8dd15044d66fe4a4907e1d6a12ddf2882caa4966df39b8cb4679c61c74973ff53dc52bb947d2a586ffa3258e5ef19794d1d687c930dcacb166f62a6d9fea271fbbaea208d43d9759f71845cab9fc531add957732be7f90c7836a717028412d2c01795a9b0efd69f0fa2a2ef2a59e845e70629e5ea954ed9cc8219cc7ed392cadee8dfb7d47d62f9c246290817ef3ba0440580f4855db51f89d65a6127eabecdc94dc8e3c2e80e929fec6d0aa50173ece752f1ddcf462f36d13a28916ad31865eb4c2f10faaba03ba5179e4e0bf064248731baec648ab95cd3da9481998112eadf1a698e16997658284ba603c61069d7ae45a85e93256ffebda24061469664098f916f117704868a4dec31a317a1936523d3057f9046635566cee7bb09e3e43c4b72d4ea21d888f5c2b5481530e34403581ec4b6a918908e436c78ecc16fb67dcc328b37442690a79fb44ea06ff7c3f9ab56aac8d05c2201be7d52fe0fbee0ba03f99d6ac7482274bde9cef10912b9084ddfd206f5317e4b5e114b65614bb04bbab5a7233388381a2b2be3a4424bab5b62b3d123de95a8d785e49e2cbfae0a47959af9604dce7ec7ba35cc1fc8c909eef9093025c17e3e17d0956d50f2801da7859bc7f798b47ec2623139aec29b9a7e0b906aaef02d18880e0607c70079b5f61ae4e36687543ac3e76fda372667c2ec8e9ec57ecbea9abefaa979af816366df6f10c46eda56db5036cac3324322f40b921b3276fa3c0ffd2b168bfb7074de9eec3ba51c2484f3d5a82542032f7e9145d5c7723b540a699e7d8814c8a6cc98d7b92e68754a4bede6c1146dd70eafbb2f34971f547474608e48f4f28d6d402cd3af337c952576c572208121a619a9c78895e4c785b107f11fa12b6c2ba3230ea47b7df8d6e861a0f7a6d0bab053062ceefb5fdfb7a1fa7a6ba84270d2b6e867dcc5bbc8e493c6ba6fe251a165b749beff147324b0e2413dbed96ce5adf225964f74efa6a84bdeb021aff43ff8c7352c6856aa5b8caf9056ebbc6bed25878e638fc357edf2d72e180fdd1fc5e6da14c7de48b8ce633d52a8a18e9fdb0f02cf78dbc4b6cdb6d5bff5f8b784338e3db0e48641e21e916e4a0fa5b1086a71455a5d76625647637be72440932ba82773fd3a4a50f61c36d5b8c3edcb1f3b7daf6bf41bb81ddd05ccb7357d9ed23539b67668fa126d930f709a388a547ff0d8d5a22df7dae55614951493461a4991d7299f77ec156ca5fc8157cd1fb4e7c3e6baa49fcf07e9188eeaeb9238bfa63b7e2c3704dde8854d3ba7377e70073bf65df417a243db4a870bdacc27131d2f131de8aeb996fecff3d89d85fb0ac16d2c729b99db28bd2b19c018dc14f044b8d28cfe3bc331b50a2ba6404d49f9c6631026a2154fe0d032bcbc5c0a61bd075640e1c2a50d557cd202118de9540251bbff05b1837892c23215e3305ce474a223e5c7274abd0d5c05d9e85c458597de9300e3e817b28feeeada131f37e12f2fd25c603345faa82fdcf77170542af7ebfb4e39be82dfa068ade3c8ba5875ae9d4c3a1f4215df420d43d85a86566eae3b0e222a472e1873399b6a1865a26b00b2449dcbc4a0fdbb3f06623e09bddf7d22d9f2438e37aa9e4ad797f31f40ebd453c402f3583a1ae0491c6be31f49cee70cf08aa0074108e022f1577d655f0e4e609f22be2e1dbbefd9a793d2e22145ca7fcbd8c23ba7de7c1bc0640896370c013b23daa32cda8fc6f7b9a7a8f0b5f8d760e20e9d38025bc57d328127898e5f4f4185a3af620282c11e020773351d7078d2a40005e3d240b5fdd64e5a0b2bdd89eb47ed5156a4c5fc6bcaf550b9831f4458d9a580d72eb355de4ec33203462949370fe1ae87bb7032a4017586c138badaefe229d924ffca49c47f5f58a4bdf10ee6f9732d528744bc47573b6ea4963f0543281a8b37c7fa727543a3cff31ad0ebb22b7ef4eb22ce88d897e46dbc37227d798dd457d6a5027b55262589cd5a32227387076f6b8c13bd17b757a9c0db804080b56101f23c908d09197f115c401967a461dd4290d6e012a161c15d8b993c725ad7e494a0a1206e6e583799ddc53d1614be555bff59a07f86ef4e81fba27226829b501ac51cb4c2c5eb7ac1ca5acd3db3619a1748067b1ca8798983623cd61e1de7b3c8f969a170601ec60831e75e07521ce51c10e1fd08cfbdf832702bc61bcb3e2dafec9b684b91f6ab2991df6940d6abc88cc72e4e4e65380f3b7a03cdd124e08cb0b247830f524058aa0a203f42c218da48d0149216e4cc2911c3441fd9af7fe17cd1866e62d5af8e7f7e8cd890515545320520a611ebc29dd387cb78a70f031ef0a7a0a16ec03cdebd5dcecfc9bfa71c25107792e6cd6022e43da0a960a1b051c181c235038784f2088c3b5fee76e7bdc4f9792504a2d36df8290308b691b3d0123ffb16e39336e17239dbd1bedf1afe3f69f2ac2676c4dc037f9de18adc9c2209b3708570b92024af4464cde34a1260f10d8e5efd03bc4109a790bf9f8b7d48f8fbc23d14526c321af8a76bf93ee972307dab15f236885e294fa94440a447e0a3f8556ed5ffd23d8a958e66f29e7fdbd82d400f6345da996828e4d5217a09e6835378b3537c9ee8abdce7eec1d6c98cfa12d10ba281d300ae6626a09c02a8f5ec04b55e36546e14ef2bdb3262f5049b679d8c6c678177df5b67a9bf2af57064fdcfcd682f151b40ae2b991c26ccb1f562da023561b40ebd6cb2a3e59f5846b556521a26ecd8bd7a84c547ea51c4dfe573e7ed426470b09f66392122141cc99d5df784f96d89bc0dc058f7883cfc8c7c990e527d2c434cc9baca97353aacd3555df9b56dfb035cf4e8110a27b19fee5ad8600894b027c7880a48d75a383e0dd8b0d6f6dba51b2766853ad8195fae516f6fb178a3d7bca8a0edbe73ff11529e42be7e4a97f4a8d9d03820c4b0313c1f49e786a776374898a1cca22f4bde99d9e7892466cd648259a6122f6670e8d3afc7950f8eb0ffe5284013db78d00d5a408017854c05c8886f97b88c808a715c6039d9ff3e4f5323b10d00ccdde8b7a6c7a8e30f65457baaadb7dc1e80631288e60d6bc30af2176b664c966c1f72a2df830369e5c4ad708814c7c6a3bf1ed0e4a5c5423cae31232eda9ee7d76c52d6ef2e9bffefcc85d591971123c8aa5dff36cd6d4e3c5191338bb102405b42b4c694218b8aceeb010f3a00255e2f49d5ffb8eff8b078f9a38e0ae292b0a1ce3c99f69d3a4da58833591ab09fcef0ecaddf81f5d91e265908b6c33698bbe5b6dbddeb52d61ab23a2ac19e73c9b756e409e36527fa512574abfaeaf4573a3965ce6f36e06317d12e3229ec94f5fa835e9f25b02344924cb6a6bec4975e319ebb147abc75611c92b6ee7266975084d8d3ffd7ef3b8f983e454dab2a4674ed4e3400b9d263a25f201f8cc0ced747e46ad9b79d3c15fcd6ec3735a9e077ef81a0e718e0ee5fdbc64be2809827db32800dc437ed980041e0161483b972b9f840a5c9bd4196f1653d1da1c97ffc998e1ed1b7c178f4774b6b59fe874e6af53f60a04c28732995b4270bbbaf64696d65de1dd5799832ae384722d0fb4abe293c44361107560bddd3f6f1fb30c44c899944995d1eae8cf1de23734ab25595f457ef57a14b0e21fbc0d11ce18d1231f4f168145b4d6daecbecc2d293c7220e843dc9179801f8e30cb5fa6692e36ad2bb587ae0e0449cdb730acf49f49f8d9c0d0f089b7bb59fa3b96f9e62247a7b58855bfcd0d107c18899f44e0cb336e1589189b7cf1303beedaf830d30c6f1f6c21589155b66f91fd15fc909e49a8a8d38cd7c52def5fd86525df9a55e465133f0f53611ea4bb16d0ef42d398fec9657c3ac7f247cbdea598de8a646e03472ccfbe92f26ef32dc122035727a9c3f50835549322b08b9087408676b2463968694db30113bd1b86fb1422fa914892f0d161ec1d79478302478148d8bfd0a409ee1731331fa759dceab573f5142a4b3773f21eed4c3ccd8f650d961591aeb6ecffa0b0aa6e44306dd994d999fe1ace63966cf6855f918c2192af1bd581056b4c96fd3dac531a2ebf1e95e634b38e774d548fd04ce24d49bb407029a6fd04cb97ba5ae28da99043e3e33ff73e2577a222beb9d1ecfe94dafd108a35f87d8157fac9ddaada746b98911b69eaf5820177afb25a2cbe4eeea4d15e19f4ba34e3123bf717329736c54cd122f7f11820da9f1ae15e7315047593e976b2c8f6bb4b4cdafbd436c08eb116e676a544b00de2fa949d33bfb66530c1c42a4dc9729a19011e398b81aa5986faee399094cd6e4294a378e16f4999c01db707849235de7e23ee40397e0312fb9ff4a7943d269f28a732d457bc41d61c85714bce803f90b98d0b50869ae847d0cda025cfec1a3f107dceb6f5a730b2a54d47f9a06fa2d56fcac7a289a41c41c6cf1d7556f7437c908236e49ab2e924d53065883161d09a854870224c1d048f98b5cbea3b68694c38ad2080ce75272934938769e3b96b624af4f2e39ccd387c0bbd02bcf09ad06cbd006921a9167bce25a17aa02bd889df9d8d96d40b23f234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d44eb52cf802da7f4a5ce4613a3c5b170b084154658238251b9fcbee34b9fc55d478191b6dab9858516f80c7a9f1e5bbe0eaa02a3af786154bb1b157dbdfeaf679577870ac480db440cec95f7a047d9199d779e59879ae230564a32e1f4bf87f09088e99206a31c0987db2d7804ea48e695572e6e057b45df169160df8c3fa6c5317731900b0710875ca29586fdfc9dadf389851e98eb96326a7568a3058405f343217deb25dc675012459aa19e9f63c21b338f0f89db7fe5bfd29c699dc332c88db29f5cb790c396bee0d0d28bfb4f5114874e778dcf5fd1d100e792be949bd19aa7f9220b7157f80fadd110a2235c8badbb3eaa3d9e0b66e003f4d6373444c92c681daa83c109c97e3479ab9f079b1bcdb70118b55956787e4da67421aaadd1a6ae557b98f47f921e9483037ea11309d581306d183fa78eeb8a68122b94e808ab6779cbeb9c328c2b445541761dd499326e66e70525217c9f01151dc9734f9e79ef7ec75c447bf45852112855fc86796301b03759691ef5ab0437c74cf59f31c16b734fbffee7ef8ce70e57bdea6e1e4ab7cad058996adf49a444e7c92b3690a02aa9bee18bf5224441bf802e2387bb07c159f2c4559a9130ebcce14f28463937453bc1a3f17737c63891ecaacb2f60bf3655e7e6e57704c20470c331c639aa43bc9cc7ce4ad5ad30d89c0f3e1f6498cc01d8707d1a752b5a283e1e83dfcae5ed961bcea3020a4776471e246115b0e8f522c019a7512c02104002c45e163ee01b0da31c39a3f418ab0ae954db9f3aa2d428e9fead2e07308cda74454401767dc9b16be5e6c6bc2468a684357289aca1b8473ceaf5ad36062e693efba3d12fb591e893f50cec95673c452ac297408f59fb529e29af888a4086281d1864206db83f317da1b77d500863b29627e9405186fa60d067551108fc6a65673867f3aa0c8a4bc6923aba60f4b5e369c0932b733d640f60bfe57b1a257faf3fafd3d701375fbb7adb0d0cbb39700a48fd4be270131aaa7dfcdf9fcfbd920e4e37bc8ab76d2c28fef1431ae6c99f6f5d9906236da215f53699f62577d240e38efde3732421eb5f49d085fb935e07eae8865e31913a6799b075f7504644e1d5e74430e0cca44becd7b1b937e57a8b147b7c53005d1ca87d435d78818af7f7d212f7bd77e196ca915b58f711bf0188c3b785672de9381e1ce33dee35aca89e25e55be8a19cdb2442485fc962d5a1f3c9de10a08937d69d820b6925479927df9217933a15002752881430cb0df8e859f32f648883dac57aae218eb4163105d26bb4a3d9c257443d3774b59065bd0c9f3d42d9a90aab0c8b95d175bcba286af0b323ec34330707705e747698557f07d2aa31c68c41277d4b5bb6e85de9fd52deda93ecef915f4046d777df076e5f6be25abd74419e92f43971771774e7c1acb3aa89428009e22ac56f84faea9c3b565910f7e5f8b14cd0976ac5960d578a3680f87c810850db81f13ace635ee8a418e5afd72a185daa140178d60d2e00f8ca5c57786c0a4fcced61f48ccbce12eac858db736b38c61dd8ea7ea5d6ecd5499255719f93aff4eda136420efe394febe7a4552b25fcb8fa8545bb7e855340c7f52dc858ef1e4f5471aeef8a89960b2e4dc4641155043a2c5ee31ba8b0d2edea20569051a0d358d200198db620c4a24d4acedcdc45a5a55affaba58c4f7fac002aa7013afbeabfec6f9855b1228127ed107705a777088119e295149dea4227b5696de40d7de6ea48fb167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a386c3f84b81844e792c2260a6982ab9685ca69eb5986a4b430e79d26d9e03dfec2d18946d83607ebfa059190ca5d4f852addac2fb1860eeb79f31927b6c7496ed498871e6122ac1864c0ff21520a8932c492b30dffb39f33c35ceebbf5629616d1380c8a4cf8afe816dc418d7740695eeaf93d5789f725712e4000bbc1542c93b05fd360a7920fcd8d7cadd6a6b31e2e2cfe04d14d2c37ae60925560e25f3864d9201e7952d1c07393074a9243864e0de0ab69bc7be490c4842142ee303a01b387f9ce95d67647cf89c08e83a8e940fc9f25ba30f197618170b5c7c5358cb627e2c5bc8ccdb4a32f87aac04d424dc0a508619edfb815015b261fbd4a8eef6c905cf3e8387449c9d7b20d0b53cac91788c2c4a707f111d0b3fe442f3981dd97ae18f79ee70a535686af990f68b3029c634a01223fbf37b1fc2e553581383b077a0a83a7260495e8fbe51fa668b0fcb6cfe5618d92ebf7b0abab8fc9eb4c032adc0040c999d0c2fea35a928b41871aa9ed915e368c39c740053d5d8b808d8053094ebd700714f51bbad41a0eff2550bc17a5bab018ff26174f94e3cbb8ca096eba40983f6404df0a6c6c93e01ae84f012427976b201b7d52e8c26bb1c0f88f998e44f1a8c9a296816f529a94e44fce7ad35e937220f514977592d0ab51ba8edbe910d7aa8750ee85908679ce99b6d402bec550033aad820dafa86bd28045b4aaa439ba6a3cadbb5580f37d763e7f8a7eeb7ae69fe12ad7dd0158640c74bd4a8bca7d5966429af1a5d3154ab64760011bf8d951a3a7d1acb5b94a4ca58e7e02c68fe9386c47111c7842990fcd507f66ada255f9865ac2eece84907f587f906ba29ee34d887363377670088f59ed0c7f2770f1bf4f97709f2cb899b663b4e7f5ca1bf02fd4cfb57477593f5df40cec963ded0e48dfb3c966e44fc7e15b6684b0ed720de6bf74a652af4edfbe306b7fd1fe2be83ee17d2a641e14e3f099788e662ab561e43a8ee59201c1591a606943cbdc66a76e4bbab0f245cb8e668904a46dc75741e2af44d461ae716c023ab0725d7dda2c9c26016c7c30d4355cc6669714d246900d6f9e273b063d7eda052bd76aec671b34036f64c3be125b426d88465eb7760de101a1356d3142ab039c377594fb158d8d6f83e597d88f5a0234d25bf1dd0cc890f269ecb7714fe40c02d53f5a165bd4c2f07d4e2f8570af82896560654dac84b0538e2b9048ef9b882d2a68bce3ca726c4969371371e5738b39e06715145d77e6c7f3bb30c2189f956c007ca31b42a9c3b4d0d367f99e55dbf498d327361b2f43ff7cd4f0b4ff7bf47260d146bd05ad0c7a0478a621c5ab818d09ecac2032914b0d625a390fbf66d2957d6e9f3756bfd08dea50b1eb24176126b44df11616ad6cdb44410db0bc6c755ea30c9d380e73c782481a821090944bb17b6b6aa44238e93b3d6ce5fd144a2c741d83e2b4e0d07c637e8ffaad8d9916d481cb7fc113d5e91235271752f5ecdc8dee633ae5f6693aa821e60946d25bb0f6c3baa4461d7eb595baa1a6fa5798b1083692026f8e35dd7ec7bf177218ac91235343716ee5675b9aef9cfa1418c2d4e5665d0e3fa6bc4816162b5f07cbe1419a04e7da9daa2bc928992764f302266d5cd79a861db03a5cce54ce2e49a1ddd5cfbe0bc278a0964eaedff6cdb4ad4f7c23d46d615c51e6f30488299ada2622952a08ebed3376c0eba54aac174ad74e3335311188186b09343b8aad93fc6cdd2440927f197a29b09b8d2b4191735be8fb36ed91e73ae3afe5d96350388707bf719322b2395fd74f8f482f391a6931ec025e69264fc2aa21fb4c4bfbdfe4285af89eea567245d68bd93e4f2aadf0a14b10e4ef6761a807a87505f8a937987c813e006bc238a9e38cfb9d4f3b03929edccd674157288cc00953fe428518ccb82ac6646d37fd2eb6144096e3f7db16e264738ba0fd97b3c37a7ae6d79c08ba99056f61204a1178ad853c31ad8c33d16f01a02ca538c1f4134e1c23378dfc580f13c0c563a1e2501711f44fc317f19fe94d7454550a3f8e26f80ff59f6a5018fc9ae78f3b378707ff50e886f8442dfae9147197f75f75ba7458b37fd4d23079ecffb2d4e924f9dcb1fa53e9ebea239e6133dfa7f90d49df5980edefc52ecdf8a3cc0d226ec1119eb9234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d3b90b59ed416e39384fd23ca9b411e0601a77d2aee981b4081fb9cc9db15166717e5373c0cb991d3c2553b003d2535dda1cf9d7594174f78e8e918c9d85871233c1e845f1f9846e5d9df64a332d3b97e1056f21928051dedde365712264efdbcdc7cdf2304423ca416504afea7390db347aeffa8179af04208c2994f79e6c4d7c033ce7093a441cce6325dbaefd7f2c9a750b905379b58bc27a150ba1cb647500a1fa6e8ab398cb23656c5942bcae90d076dfe7fe75f06055e3b58ad59773fa2f5f5563ab51eaf93f8698caaba0a91f716dcd9584881cc9e2977ec7d394d09f72f1b4355a645e550be5538116105deda690b23df5727dd0a4ffbad72a38c7c18a23ecba34ac41e28de734834801b768e4089ccbe506c307c28fa937c2fe4095fd828052056801b612693a72280ea046b476c5249dd2143b55c598c1660bd4c3a56021bfda2a797c7ee3913c270688692e464802c703e499c00de77b26f25fcbf4f1a1923ab61e71076601e5cb42b802e5a504cf0eb08469096c35dff2b9863e5b91f200d6d0d5236058a4d02296debee435da5813bae68ec459327d81b9d1dc2f2b86305e4bd8b4b869f7ca0194503ce15750d220adaf89cdcd80045b606d10aedae47cfdc26f0840e8b2a732a57407794991bafaf5b563e24358f9f5d94431e50235beeb50bf1d7279a98f0e9bb4140f01311a99b66ea1585ad2214406a8cf62d9975c19591794021809e4967fa353727861af4ea5cc8d218cefe83228fc4b6eac7a1748f159f810822201d1a4a517cc8304e674f1c75f72c1e1ef7fbafb4d3623b6abd4ffd6c89cc626002cc9ddec1e93ba6de7afea72c1061e7047b44aebda124b5d109a8610ba32e237288776436c1e9ca774b75549afca80711f1a3bf12e56dfe9e11c72eaab25a5b031f24df20e7180291b4d8224d20a8ec9cd479b25882c4a7c0550a59cd0b263505aa5bc578f248c0e6fd794177a167399dc197c847e804ca41edba65cca86621cd957a2497b23871bb0e362cabbc6309d827366ad000ddde0642e10e78f7cc61e2e16d97aba660416b30f7066cefcb6d981bc2da8f16461f1ee85d2602affb03cd0511d99866a1d6cd5488eb98b405ab707861af0106318dd5887731a26ffad530ac29b07eb934ba628ed0e844b0228bc05c336828b82c032600e4bf2355a1fdeed3165715f0854c99730cb2a554f300843d17d2240d3d285e8dc1bae82242b17d68f4565f68bbd7446d216b5ecd639116716881e472b3d679d326d29a0e0be9b88461757ffe01a89caf2003c9a50879893fad95afd52c9ff53c95a43565eff1f0693103f7ce91c20082eba2ed3ba04acc6e398de835d63fbe8a6b574a773bdfe2bb6e55bb1dc672818e7827185e8480780e03eeee5c4bd84f6900f2678a74387dfe1453b6f07f014cf14fc3e2a6ba2306704ee035e6851f9abd66a3c08f795c8f5e0b5cd2e4c1b5de10e70d8052cf6ff6afe862bde2f6bf04c3976921bf146e39560cffea695e268254b60745eb0262d22abf27b0622d08ebdcc8922b564a6516e5fefc6f3d3e58ea990f29bca05e489772eadd12ab6a830ac8376d65b5ec88cd0ef8696f4190431e1fb7d678dd12ff54a2f8ff979c82be78278aea7e81b6fed4ecb8b99c56c50f8409248fbd763f35d76381d10c0731af6c20a2f596d1bb30d1ae6119ae0c945f5b26d953f7ca761ffaffb2304cb0ef85138f6fd38d0f3f979ed61209506fa418ebed2a341fab06d8d279a6c2ab25377ac5205a966fad40bee4d43fa5fad31436696522beeed2752e36fa3578594754c76b76a5b2a8a7ffbeb141cc88bbfe8b47f53da084760e7e1bd8b7fa39ade11e11a7d85f24e65c3f2b8029ca5b131912f09e77996204ee56d4849c010b63d4849bb830497dda53809a46b51f20bc683e9262673d6a186a4712a11edfaf024c5989eb7d3d02ee8154f3e020e5c9aff266564ccfe6f92ed011e9ce2038ae70b42d9cce527b4185f9738b50b8cb62ffa3822e28628d98c2192dc5e4dc910090721475eedd86e03a4a16e2db9b7c46bbc79be55adaae7d0b15b21c60b791f79f71869eb3bbf145e6a1e50d7f3c0f0c9d09b65f98070468a3eb27c3922015398e3fd0e8c01824950c8e99eec06d9627c34aefe76cfb712ecaed8887657abb4ef0b722c3f9507b6e54a21fee0d29af964e531eaff79605ec0126389c1cd103b009b7d87c473ee0b3ea06acedbd5ab5558fcb90c77c78f8e59a86d8667f416cddf641a092ae89a0defc7845a5d815604073dcb66010b2fb641b91ebd4b26f4dcf1d41aa3657dd8d22e1b99c0e2d1d000f8c75ab34a267451ef541bb623ff568f993413c8e9c43cf4551bbbae15112c39eb1653a6f5ec396fb2735d128c07327cf05451273df1d9a073653198d14240920b226032b4f1fa15406d0724c4c87f13eff2d520f306e749be7032713d71f28626c1267010c588c475e215de5adfd218d8b6f48a5d0996fcb5caf1c9cd94d897347cbddaf973cdacf96fae81164efeb4d43e445e87fc98cba53085249b2952e20fa8dfc4ac369499a6fe8e4a8ce9addd74d05d71bcc35e5785b5db0c1805df94e3600d8a9e92ae52ea550e185121ddefc8121c480dfa150bffcdd20b43e3353d54fe8edd197ce63fd876d06c4c5525180b5badeaea996af5464b0ca11c06920f1c6b82beb05bf984068451ba631a0db039b8ac87446ccf2cf757f405c26f5227ab90d12910ff974387431911369c55391643d989154e700b58de34d079e2700e15d8f4a49e0dee12d8bbc7eef825966463e4d4cb7e67ee0a42de21240b1dd36ea126edceb2b300f7852efb0c94c1c0f45206492f813110326eb7e8b1252701e563a75c52a1e5e090c28438449cf7c2911cdd0ff774c82f74ddc13ada6482706e5358a9b4494d9f5690a0489bcc2f9fe3dd7979f715d61f82e14513ff716d06321fb6082a5964e7840aae3143f92a16aaf367f482522287b55a23571ca9d48480e049fc5d65623afe7a0b052fe9a85bb79dc791482768a4b473780bbf6fbfd620a430627a9e24fef224e95e5ccb1db7e1d839ca831df22b0588ae95fb1c0dee34b894efebf3420ba9dc347c80d6ff5adaaf75c34e3f734b7c41998a764585f750b4ed3374d65d93a73859b31f4d4d38e25864ec4866cfe1eea2016e65ff3e3808bbd44f7b9aeb8bafcb157e8cff87cf5e60c38c8a2124904bdb008e4359e460db78696f0c3c3e38add2bee45aa39775d7977b771fa4bfedf4a4f47edcfc4968a1b185f5d0b0a8e6520d25f658339441c37febe4082179366b779b65d4e3d40ebf89dcf3e881548ffa3d7984727aef714793cab69aad9a6b54f6145cae4b00f7e91509d10e550bc2865790ea8907cb0e6c51b74350f0c4c2aa22e0da6768b20daa0b24cecd3645f29d3a7d2456612a140162dff7269c8c997278a1ef9e2d47371479981904a7cd09227259a2ed4f9ba9a95069bf858becffa8f854d75711804c5e06e261287a04ca02ca2118a5f72160c09bb720b1930f1b99683c20141d1aae55b0bcb5736f82965271052d54477f63ba77daebb75b43ff8a11d72bfadd7e6621a4860458fe1c000f8501c7f91bf27824b2b732608f971cdfacd3cb7a297dc4adcab3dcc2d6f670090ddbc958384512035f625b588a5620b665b9df7a6e43099fc5653297fba4218a34a6072475acc9728cfa1c88d568c1438da2369e5dbcbc27bf7f93b7f40bf0dac0ab69a3ef637de601d82f667e0aae55bf2d5f05f415fe0fac135218bca5bb55ff1f115701290029a6d3f27d7e94c8262ce56d0f640b337c77cd5bd1878ac5416aad94c4a86d6079ab01fc6d56ec63a7a10c0d06c58e9376fa8a0c90694a5edb4922f8100fc5a99ce798c71adfcfc35dca1b7bf889ea5f4e51971684bf7a358c0791e5f9daecc91e534f8cb43c13092a94012dc6bbcbf5d7d13cc287e12541f777c747d6956e7d588448b564c4def116daa74c1096079a1f7eb655fc8cfd719ce31cf9684d19b7d43b52709c3aa965f954f8b3a64ad9b5b493885cc69616f42001f2e50bc54ea7e520831d1e94ad410c37b2cd5d1263ee0abd5ceaf7e0cb9afc49bacc32bd3179210b3f43db08fe7465698bfe6f5fabd1215e96aa402c0d7233a22ae20ea74c362ebb61c2d4f51da289c767dfcd9dbcea424d729f89afac422b55af7d46f430acd398cf7c43cfe55eb48e58df14d8b65ca833ff245a77924d5eece6e94396a4ec96a003a2ab583b0f5ed754e39f9f38284d76c578576b361729e572e608d4984077bb68b1f7d04b7c82671364b9ee7f1a2c5a2305e31f600ec424d5359aa01dea7e9c5c291921fd801f84f2072c1ce1a57d7afb6f70460a4f6ecbfefb105ff9abf2a716dca8e932c035102d43ab5088faf96ef6adc03748461f28b2b4d7efeb4ba8f82e57bfc70190c5b13beb1be9a13889e98ba0f80ef990d3563494633a0cb97cba084d5695e83db931cc2775cd66e8f78c8aa59d50c09df50fa0327f76e047e7fea468e29e64525fb894a9f888961c5ea302793e763eddaaff5792a7714957efd84336df913cf4326f1ea619a38eaf888916cfe2a656a8f6ad59c3d316994f159d84fb90165fb4a7549a6cebfec6c268f5cdac8a53157fc9fdb2692f3dcb9c5b306c58d6bb2d6f47bad55f7fa90d6749de69c8e3629fc4f572f079192d6e93dd466a6a0f4a21b94ffec7af294f6c84ae448eba91a1627636990cccda19c4819014b011d02addd03e61f522d53639f8ab3d0b359a22fb2b3f948d7361bc97b4d5c5c7bec88509de553d557cf309b98127d0117ce6919971ad502739d9c41d0edc85d9b9a0cfc585e6a228d419727479123dbbaf9fd8aaaa0fac004a61b32543d8f0bb996e625713e4057b14097b92f1aa5f9ea30821c55e142e94b9aeb45ba5f4b350dc478233a6d2a14c8e0e7119547658f560a7a9279ef179073813b6d0245a7b1ea324c5b0fa4d53c083f86a0eacece6888fe32a3a23533f746f687869d1a15ae599a43858278277e64dc331f52eb03747507a4852ed05d6908a9cf55ba1567f36bf56a2cfc7cef99f9d89cea980a50b1d590973ce69ef9ec0377eee0ec5b76392b1cc8f7b825ca5d20258cd430335157f8e0dfda7b6241f91b9e5d780e74e25bf071147e2022419b32657189931c98ba29d752e83124f322746007fa3f4605516b4d6e7d1136e5e02a592ef4cd80e68f87b4dd8fafbdb44fcab5d04191f9b54d9b024c29f968c05e7b70229d50b07194a7964b38523b8b9be678f71b1ac9a6a3b87afd401aa352fa1edcdce8e3931ccf45b7487a1cf64b265099a75970e249d32b2ddde58bbb60baffa927f073b97e8a4b828552a4633846e717a6960d56daafe7666f258b0bc69a935f7de86f3c3e224e4ada463dd66ae97965b3d195a1fa69772b1f8acd745db14676a91c997a5ac946d67d617f03cda397283eff317dfa0f01a71a9997a7a63a35e58675b711c16e538d90085d9bd0f98808abf2c15e316c49cb7a1dc28f9a4dd0b14a379b7f5137c70a38c9dfd3abc15c7d456498427d5ac730b457963a9c40e99b14b47e6cb1b7b2e7af69844dc5b2735b0fcc641b3776a00e00a798983e3565f415a4df4d805f442df90ece8a38c1712cefae2f9d28e3c81b59f1935fb4d9448a3024458e949e387d6129825e15db58773f0a3c028f688a8af89f6db6dd98c5d15c2950e141297029822fc6f5033c80e1ab40c5ecb5d611ed9e01423fd0103e1e0fda0225cd09fef1de58d43ef2d63862abd2ca35d7c06a6a8643ca324ef7c271d96495f19c1b3e59228be3ca715e5a298fc1ebfb972a93e1eac7b617bcf0946b20ec8084fc31f7bd863d6e2e18cd686002bb72346e645e19be5596e14778ed32127040e984cbb699a1eccf4d8a7639fa1acb484b7ba7839528ebb9f0e5500c9fea02a12f136ca4582f2321170bd0f6544e785dca19b6ee87065f177186a70646ae5e411804063076c53a56106087488f26101927b888e13edc917537762bba1996b3d885c172dde6ee832010fbafc91bf33eaba4719acead93df377260a5beb512a0f8202fb2b9c456b87ec39fc7af29c9b02bff74851e0b0e12c9d938874575a3deb4eb18cc3d35872df244d35fbc2295ad3aaa294f8a21dc3bd95cc1ab5d1390b6c410f991150967e87cf66bc55f686803d39c9267bc5b840ac046b1ba67a7d7809633a3ee6e6f856ece931e26e3aa3238571a79eb6d4b54854706f2c41145d6e90912ff135a800761cf540483d6e4c40ec2e3f4fb06917e35699546576e352d4ee886bc983bf1f28a590e1ed51711207e2c4a16e61c6a8bfc984ca484ce055028fa1e8fa44a9283badf30d95bdc431a1547e485b38bab3296cf33f1cc2fe94b0355eafc91b960c417e65878658d3189d81846f6f10afee6b292ff23a6493a36c1fa942fd6f83c70c9c9534020af72e4ca7861d1d3c4c392019fec3eba21ec4113aa6f0c9d1ce79ad8c49d9a0d2ef8a7b01dcbc9dfc50db6b0ca55a3e3e9988434e933e18f36498c894c335cedabfe9b9383f18146635167499685796892ba8fce679943bc31d645c4189d18225fae7d683d489eb1be6aff605460035547505e80d444bf8651e52f5e2ee088a4f2c553d5b3bef888ca737aa1dc36dae9b9a91458be1a5708a4b80f16490715e15cde6cec8118617ae959f921a91ebeb902275d5a3abd45077d47e3e1c75d6ca4c2acbd3fbc7bd90a327e0f549e6fab5fd3e8ac49837c40e81052b4f86053fc1a47df8474bcc6858d78f493a0aedd170ad1609cea653b261a377f88239315b53516463340d9ebf24f14920d7fe85cce699db0bd4345a8a1264dd79512e960a5e26609b417da83a2ad9b8e137cd63e0d46c11279dc193656d6d30d5cc0ff09039fce62ac72832701375614d7045f5e665a27d3068d01be4eb1d6d59f24517819a80df422f88c5d9f7b0c3443ed93ab0a2d119b075597ea5e159dec8945b26652da9440909e59524badb92a3368a6bda89b30056dcf726bfae78ef4baead45440086916da75b9a6846b779339a70a6d972f1211162dfee689b80057f613c1905caadae451fc9e9669d201c97de3eef6ccdff9968e2479d6411803cd1714fa0ec9b52714e2754dbfa62e724871670be4a88a7b9ff55736115c111453193a5fa7b6ebfa1417000801b16de258f1f3b8e9edc706813f2040c7fe17cb0953e1bb6cf2486dcc51ace56f2aa90988b7c96164ff14743c9ea90e692720275caecc7ac18245bcbf0c714530dab763ae448569b05f834130ff2e18b26d9b7730e44ecf85755200dd18ed2a58426a1a830f0164bc0a245176b674d73903c87acdfd8372f0e105c1028d475d5c76e44fff339e94558b0111960380b00a838da43c108319d3df53c9f0452ca0c069c9e29865006372c5c7b4e6fe78b2b31980ba0b3745d2d1b24cce94f36e73ad2bea1f540178983e35aa9111881c03dc73afc2d5aa0613fdea8f0979ce45018f3c5e425afc8e39a7f57d43dfa960a99049620cf259042160c8d2510b7848bc6e945978e53a2ad9d1ad5125b22018734b3adfb9395b5e3b644d50075fd689ff89da653aa4582babf6455bd8fd4d5bca562541d543572fc0d1baceb92e130d0f3fcf6a8fa5f4c17e39cf539f9c48994c30464290bfbd18835e238ac6a30fac286606eec461da08e79327951c6e0877e6e7a3439388cbc270b3b97ef05d51d275baa85776cd46de6633c44578522ef525fe94bc48bc85c8638fed89c54c0bb88948be827c897938d2b503577b9bfc7ec4c89aa533fe10ab7346b066cd26aafd08f7a6d043ca13c7506e73a3c345df64e93db49055989a88b6fec4ebf80facb249882822110e353aa42cb11ffee938bcab193769bcfc5f5b7ea8079248135d4a5f135b57ba0f3ca08090de1282cca541054bbccc9162038f0891e9b984ddce9dde10425365b769d0f2795ac8771d5010b2ba02b2a94ba6b41c2fe452198a5adfb1d7c25f587ee21978ed0628d124c69bb809d2d8cd87e75043ef5fd29d3c0a4e3ed64348d0b0f9a31a591d5aa117b06aaa0be02e380991b80558c8cad755268ec5093fd6c6fa9a2a976e2458106e2fe98caf35dfcc3d6745d162f80d927dade1e5edba0e5606b4b93a6216f428c060534dfbda3c156d38d8bfb599623cef118e54e5e72207e554b3ac4023ebb7c5709077350d9fe04f268eb599ff1f595fcdea115e6dbd909ef57bce535cc895454d8f0ab224054362dcbc61bec80e4b239e17e67305d34d8549fe63c3c3c842174eac5410146b16c0a97502d229283423dc3d515eaef7875da13d0629a9e27ef456789f9f8b39a5f0d597b242cf405d8dff3be6467e6c6fe8ea9a7307225670717d94af39440837f2993ae1d279ce4ebbb58538deec16f9d18fe0ade1d4a237b73716ab521c8b59382178a964ec0133d05d7522c02e990cec1622819637408d79b480d56b2260dd52fba99f80b0952eaf4c49ca4505941ba61421b4f130b2bc32950c5e449101d1fc41229b514f6fa8853c970cd349081431c1258f80196072116fd7e6c22693d43dbd5e1b048f247558d69c993c2beb4ac59f0ff4182828ec6144c66d6fe1d7cf7cb75530ad0bbfddc16ef9c176bafbf530c4fb2cefe6894a394f80a278b64913d9179ee3cb4de1f84f2af3558f90d90a0d4c674d94c793e304360255315d4f95a15c9f7b0cfcec4b13a01f7a4bc20cd547c61de80b907c5645a3f3fda394b1062eed7eb61b1063d526392c9ea34c526f4c861fe6bc4853b64aea669eaae42fda2090fc0e64861f3e52535ebad167f28febda9d95abc34449ac751665ba988f48d9323cb47fc715f4bc949b2a4d83e39d4edb74960bf3b8f19cff15526a228fb49c77037dec62435d66d0111a551a8a4eae3035992a985d0e91ca3495f6ef61e4e9f2dd8874ae873af329287d184c19cbf2b339cd063cc0a83de55a1fbbf8332453130e1e7c82275679ba81d4d37dd2262504b3a61f0ccf4d05950dd169d3faf076ef99e08739db1fdb6c90c01cff80d9344a485fdc37b7530cacbfeabbe4882b55c1d533e26860d098935c1ce7eea46836d93dec5279694721157abbc3b2823d580123cb3849c6368f49170ad8aaef8412a9dc467b71d233f1c28f05798d67a1e4f743e61140acad6b356a253f86ea6440a6cb949b7803b1cdff13536994e949f5843ab7dfc99cc892c726acbf34d476874bf3db65942a9fc37c3d5adf743fe6c8319105f212d2c92782b0ca93480300470659bd108ad8fe4fbdee9141c1984499640350c5c2fa175c89797a60658e0179d5d7063ea027f95505fe5dc6116f2fb8d6554fdea1b8d12ee0468e6c0893749f7b8f827b46433edb56de3415873cc6786df480b1b6c5e0fa5b812d5cdb8a4e61c44e31f66a89b71f11109498b31bb803a8bffc3d9fada6d77432ad52d23922b4d1243fbeb31a497832b892a31fbff3d16c849438d5586e4d08ebc4f9207cef2126d36616463c821ea2c18f8b0800bee73dd2cd50c03af95bbefcbc5b7fe11fd01ec135d4f452671097b44a67184cab56741106240e23bd7dab9fdc8128d77ad49e4682a4649f3580d0acb22147a2a3be12cb8879018cc674a7afe307bb74b52d796718f93d7f97b6b4e98c309c93e71dffe7f5d33b6017e862e28ab44d8befa2aa14bc17f83e959a692e6df374f56b2a7ed0c92e7e23733ba13982b57d45d150d34251a809e1f0be1062d3c7e76e3cff7853ff0f58f698f74dc13deac0620a9abeb85b91abe734c5571cb95642734e343842e60ad361a3a66a3cc7fa10f7312979822155f90fc5f7a7a0d9fc179b6206d69940f0a1b49844b60dd898e00e1300100a4bb7a9865928949b28a1f3572557565d1424fd33f11fe966aed5be1901f1703b5c26d416668a601f7f03dabed3d7c67b6ad64329649ad6b4a6cce39c22a304d46b133ac8b6cf7bc1dd484590b526f116823843fcc37a325bf8940afb579b550593553caf18d545b01709e6f4eccdf733ad4bf69bb8d4a838f6b41191e2c9fac69c57f29599cad4126e004ecb34784ebcb23530423b4f9e8d8ccb350c5b5375aa1cd1302ee7f018fa74a45c0e06d3e2b436f762508ee768c455278ba5b271971d596bd833224e9d5647b40af7009d20a2d7b7e37a3d2da6772d33762a32646b9c072f9d3b8535ccee3b4b45ad95c2948695d46b4812d6dd4f269c82771e6dd59e5e2e8c0f01605b01cd1853ab27630ee8756fea4621b623f1c48559cc5240546f3e501b5e03b47e8be30122a5435b01aa9fabea0ff88bd0f62753174b4340b90d9dc714a6f294a127bbf8cb751a0ad35ee263a9bf7a3457ca6ddbe45c8b9dcf5a1dc9d67ec8d25e99b6b5971cd8780f60bdbf41c4552d23b682a9f33d2da91c240c8d5c8477bc77fd8d2e7df0348b16ea8010a03a2637fd960969ac6d0487ccf261e763d319b7f0616ac88c20f67c03fa0f77f7b1f6f3b5d4749e8c700a04eff52c8f79cbb91c0171d5640af0ba7fa4b982e3623c94b33612365a74635a8cb63912911bf9d209f6abb4aca009452bb6c6f5afe35beee69f28e82762aad49cc0690f86996cea249bb1281ff198753ac3f52721d14482cca541faaad901742e40522d37c7f0e27fbb4a763806f2d20ceb669eb869ef5aca3e72e4ed897a735f584d602b675149b0f4534eaac3a8ad4e109b65e6092696998fd1facabcbf457c8358fd2443255110ef2f3fa7c53b312151f9cec2de83319a9bfbcb3bbd7be14f428f4e14fdfb7d94bbb0d0dc860023d37d60d048683c9a4c1d2d2cf76e79199a1c677cd2efad1720b429304ab5b36d2a56c461d1616fdcf6c26833a2c676b66fc4c510978738ae4807b01192007793f5cbbf0951ca1ae35c42002098bf839b5c429dd4cb147c3e641251ffc8cac86ef24d9fad09bba16604d87a42f2f09ddba106e3c6291ca7aa892a941f2d260fb4831bf5b394f11e392a6f94c40e5b7e15ed9bf4c22c9bdf84590b5db51dd922a1b5a41126d8b0392113e1adb2dff923de588b7df14d41047090b63aa5fd275abce0d5b45428a83da0afc7792eb57fd67c0b606557adf4f8fb2d35fdee34bf7fe6c9eda907957bcb1be4f3467a19f7188ed9ae980ea8b520a6b0d5b5bd9ef6e059ac3fdb1a9fffd28d8beea58a81e19433e00e296e2f81c03944ebe07f33706f113ea37896e1cce9a07225745fa100af47e545baec834cc14d59b318083a6db7eb91e24d9ce211b2da85b19cf1a02b5c705c79d07646527407dc2e6bcdcf8c1aef108286d67463f96cbbc148c06a3b32ad88d985a527418ec4e5cc806a03759ee22c6c7b835e31532e9e398467cfa647a78932a73a6a23e20d4d4f246f5fe19dc64da435837498edc4184cce36068818d19e0498204abb6be70cfbdabe18e81dbf77f4383eab1876502221791e2245e42f59bc82c3feac4465c469178826170cad3c9306ca0b82d9c100da3a4f74f2b0a988b7da3dca2d44476ececc9be774e8e0a640d2d8944b247ff5b84c01a0c55570250e695f3d24e09393fc7c910a7e08b568b0f95c11d42e41154ae6fa191b81f58da67fe3146bb83192c4035acedba58fbf9a32395ee070261af8a4ad4040e821343b2c1271a5e010511792b5a29eaf2e0955dce2a9b1564d8b496060e27d4dbe689eb50d999704e9fc01713573e978854d8e73f83d69467fbc2107c073f3f1bee7159073dfbe202581e2c7c906583d70438a52c0b142e100138148070fa4d9fa9cb483b370422294b6c607ec4e6bae7de5ed9644f54c0b9566a05fcfce77d72ee5c268a94c562cdf47e167da022562aaf4869a2379facfeebea2b4eeb2ebe5f40fea9decf5f1bf39dcd76d8696c90c29aa6f80dd66580e51dac6c52391c6afa6a82e489dd33c0adf63ba1c3f2aa5a76d25ea9019444c2b874a065d8ceee50205fe31768580f66c147c56c2729ee10c3a16bc3c8a621a86ad72eb347bda36eeeef9bef55f3c8bd6336f9a0bc843a020474edf223550ee48e37ca6800a327a924eec263acdb2618141905fa4b35853b2b1505f20e97e75d2134466dac75830f43a0c4e2d495b00fc061b1a87cb1734f4b3b4d5fcb81f4e26aff45429f5fcb2befd2b0adb8b0362e1d33890f1676c2648ff09258e9620ebaf6613d939fa93b1c57226abb81440cd03098d62c2328bd7e219e95b5093be019379836bcb3659bbb85a7d9cbad163b89ab03357ecf3ab26d1651fbc27ef30e48522942958baf17a2a19b64acfc34bbea86ea9eefc0853dcc98ad4b100c03be97d3b5880e779a871deef1bbb8de4ed6fb3d4428929f6c956568d4c7b73e31c898b56d33745bace43d2ba96f9d99abd67bca096295b3c1cc2a1d10ecb4a9d216e1f2ef25574e9641944365632726d98eb89cd7a879911be7203a00f396cd9746269322dd2af8addc155cc727a1aac4692deb6e122bd2fbe66930b11137c757c216e3648a7b33d0217ed36909effc3a39b9550c3f8d04a749abf7b385c7a9f35329f34631f15b7747f9dd69c5bf12f359e8571c6700179eecb974f95709fc9f955b0313d4b98b3a22e27845e24c29d46163dda2ca927a250eae24057c18376b22486b153c5c1189e254ac92d9394a7b98129ed1a515256d81ad467fa479909ed1562fc16dbd17d805618217d3e1756066da2ee5a55dcb80b6d259584751f820b9a9ff1bef062494224cde1aa80023c0dd2b9110c666bc1fbbc570a9501f89b74530cafcb20d3dfff439b346236aafb91b002810858a4e503efed7eb52930d19d2a0efd165aa2f690e5302efb94b01a0fdaef55ce68c106a17f52b86a718a15b70d26bd91dd00c08050e0fb46412125e99cf32fecc24f82dd17c0779c0efa133fba6319e1f921adbf6e0feb3c4d42984ebaadb5bd5ddfcfddd4991ddebbf16a1ecafee950071fb0e696b4e6aaf662bfa961d80cdbb06dab8aabfbb704b3072cfffe74b82acccd16c6de8f31465ebbc247411e5874f7a0273c7e6e75993bf56a0d944d4e459f5f774f94049993ab2d2f12bb64d887bba4a934038e730d1ebf30eddd1c64d47e0b6e9d04aac0a09d97b1de2a5f30895b8685b25074e6c0608b0553f621797061d5e5c3de36b465d20078d1e9262901395c5fba378217f87ddac491fc2eebdd807ca8b6789da064513b88c4b925a090c8043e668faf53d6ab3af682c827dee24dd0fcf5f97906ac4c8ce3f53870fcf03f63e30c414bf700d0d2fdb33ee687b26a72f178fe233c40f063584c14885b5d1b2648b50c7b36acad7190cb804e5dd6019248fbd084c7ff99da4f094cf2e679b1df3a8bd6b4eb8d074a13841e7a6cdf2d5d896e238c0fc2a722b39dd8e1400918eb12c6342a71c06f09a804b9656e310fc5db4e7500fa69ea6ed3b6d15380a8dba46216cc5a0c3cafe464aea61cc7265ac0fa512b2c618a52cd0f36c910eb7744f14339f80fba7852fa1b09aedcec14dd4998017b034595cc55ac8c4fd9d319186d52149540aa975c7002036307badae14ee2143e5c7bb72d869e7a2a2e5ba95023de44b8db5e58e6329035c8e2fd620487f2badb5aa1ee22024e855704c61bc7d82993729e0a5c13abec31bb5775a2a4816980ef5f62ff82a3c2dd2f1b30f5f0daa78934772d52129df3ed138e3626774db912eac7806dd628d901edf86f8100414dafa13fba7c04038ab15b7a7f7fd62c44a63837e18af0cf0df347154cca45a86abafc854c5b60731fa8d223def9def2a5d4527a1c79263af2da3cf237b81f6964a36b3dc47ccae849977369920e5780f93601baf12d16994cd10dd1183a658557fceb1f0e401ad14cba281f69ac57ccb76669479a589c39b6d1efb8bebbd61d17e5ea631df1a3da92573240dafe3a85f715d492f437167644fd86b6fd490808ba9f1b1b3317aa01e802dbf45e945e3323e60f0242615c8141298a550bffb23f2c39a27467ee2b0504ae4da4677da13039d57d5497d7eef25b01e0221f2b403a058fde82d3182efc5baf89772b7f2ba522540b3125031cee911f93a140edf4430e4f2874d01d1e030a2ed466764ce9fa063137645261417f53dc3b20a1a9995d15b53fc17c8dd4d16c321cc9e323158a69ca0b0ae2cec1f36e5012840d30a67742f1f8a6685f1fb4731f640a0663dd5961029177b0947b187a03454d5deb1904241b08335db497f8c4ad43fe1ad1ca7cdd7a9ad4af1270c72a2c197077d2fa509efa75a339238b98976edf18c5f2b9ab184dfc18be82a626dd04842030e8d5ac97390caea72a3d5ba35bae7c8fcd8da6a3adaa23c043faf2d7ebed546a7ad23ef3b42eac5ea741141e1da5cb1c9baf2e4d96c26943250277d66157d27b9020a4f25176bac9febbcdbb6f4e9653b7f0977e246951e5d5aeb08d297b65d6b60711ffdc1a8e34a26e8e623ec5e7610599c7e89aa51140472351e29603f3e670f622b733dcc141f16f9dfc4bf4ed70ef38c1c01e0b13b0ed6151abd4ba6ec5b56c6b86d179df045bbcbf124d373f03f05c6eb2667ee1b99a8c51f25bb394abcbeee8ba043206777409e2642329e78b8b46b751a1dc2b0393115e092a6ecdc754e950de0e12569fa2075c1fe020f5a568bfdb1c52df2afff8364b2b448a9e43860aa18ef9f8539155254507bf9e6c2fbaf4dcf5d4e6e38d4ccd58e55ae49b32cd461a5056e4827eb2d814555eb521dcf5bba22a448e13ac0b31e51dbc08a6160e04ad9ae3853282fbc6c863e6c3e9beaa8bc49dd1bbfd2b1988d447b3d7b7a13a6b24c1f194cd21bea7f75c046cf7b2b15d1a2bc0a2b169cd9dacc930dcc31e9909427a12b5d88262d032291bf20432b7d66bcc28887de05565b50f126fa089012a74c71516cc24fdb0a18b45b8d0cb018596e26c4a773809683ba6d5dfb36860c9bc0883fb1bbfc2e4f0d9ea2d1cb95c0ab09dc9b1ed4a1cff1d8458ce6d88d8f5b5ac3737dc65a4f437f7207d04f75435520f8d0e6ba56fa85dcb353ea0dab01757fb8ffde2e0a1ce0d5ceceb69962eee351350889bef9934e3e5615822e12e5b854b63f9cf41d7c388de50e66b57f6f464871cf4acaeee44853bd35fe55632be2522bec34cc9870a47e53ab82b29155d8750e2d683631e20ffe54be607ba52fffdc2997ee6ae29439ac60ef3b0455ff9b8045d3d1f0c94563078e0b74b157b6645c9adc97652932cb232b258656e870deeceac2a56dae43091aa6aa970efc2d25a364954aaaf926267d667ec10ef04085bdec67805d541b901976dded26d25b06182557844d6565c667ceac91cc2fa7920ec4edec1b7b23e08805d3b0445e446eccb4ddbb950845980f268dc9de54a4c52fa34d52e06c387106cc11063ed7e0d37691577f54db4c86e16fe90fc1fc3a117f02ee81b0b33905079d98ae524d44e1ad0234c9b883bd4303d49c79ac697256e9c5d4e2d81f8b75041658a0b9d6cca47a19e10ecddbcc88cb88d455d0f549c8cd0c07fbe8f4dc39c8efe3b6eab308064a84b410d1a8221650c4f0fb46468bd7b656962a3b32f5a843ffbcbb06ab63ad04ccab5192cdec46da35b6f1acbe2fa6a8d15feb30ef02510b56e47ad2a45c8999e367182cf001b3e4f60a53f088e13c800c8f437c5e6e22521abc49f0ebfb634723c54b2f0f6973428ce0dcb930ce76315faf832adda75a3425151074194f822f3bc2efcdc73c77d5398d3703e15a6c833ba435a00bc99885f141307cfdb38cd2f4299308fc3d29a366f6e0a0d170400b56a867e1db4d11479ad6e0aa54b3353e7ce10760bbb4e218c1aaf9177db9be3df8c5fd007273b2e1c4b4825bca870c98f4d30d6566bfd1496844cd181226d8c4b6bd78507b8e6d4ab83accaa83b39b9e046bfdf3f92dc426e58988576db74121c6b4009c7a6c86d1285b49bb890ac10799f60b191dddf3d678ec69db86bd4f8db917272f27df18424fbc2075a2106550327866d63a2f80cd0498ca425392afb3794046d5144d5f100f617a0ca39f68836f2cfc46e60217d55a7873ac7af099c1130ac58aca1e420dd074e207103799858ee39e3f84814c1f12496110bb7975fb177342d8633b961c74c46ef25502b194fd42f1dd6b2eb6a5dd8a74710bfd30efaa3d3a49976ff9e41de4d3294b476f76e26e465b5776187503fab97cfc187331feb736889dd6b6b02659071fba7dbaa7720de3e2cd99815ac7ce782b2c739a41bb845aad2444693492494ae7ee53a5a932b6969556cdbcc225bb92020dd929ba7fe0390e566096576826c26a8d15a5c99d7254071290eea7e13236bff43336fbe73daee604658fef92e7344c2267778172e1ad1b32b1cee2e14dff53929e9176ba4016c85076a893391f6da493a8530fd48c6e93a2270c98d18a0726a36c9d604afea03574534a4eda00f31bc0069e9237fc8177689b06088a761f39b8e6bb5a94384c5bb8aea5c587febd7a43287b4a37b791ac61c821fa884f2d667091940d0e5b3c43897f1c9737e5c9f34f413d436b5440cf431a80e3c3d1515a93642569fb42022fb617fd39e7709ed7bf7cf9ad988a3488fe65854e3514b89c8218a46d17a026be3c34adf506e4c503f66366334b58ddb876c8a6f9307661542de7a0e69987eee7e4a7ff24271b69c484813019d54ba53e4181ff4706a38d146705460885ebef857b685204b03f7982a62bc59e2d9088a3e4736629b01625946b96716c66e13e912d6a8d69be5eeed80e1ccf2aed505b407bfe87f424c27ae251547f516bef158d58381c84938e2579cce4f5e7cb1b08ca7fcc4a879ed2a0fbbf991d1b9ddf4417e61fb873c3b9851b7ba2a1d34fe1b84c4409f6992e84493eca6ad3a9f619dcee1a1feb562c0dc95361ea49ce7bb1b887a9dd5c2d3252c8bb39994d5c0806e235f6790c1af34d294edc3f1dbdfe9f778549c955054a76ce22ccb0e8f19c5e0708baf0fac49aec2767449472b9d4aa11d75e6eef52bec005e5c29ff7dcddb1a5e363328612550bbf1b746b38c052bf34d182e030cc1e0a406faa6d0a6cb6f78b65cd8702939262d7585b751d427d7adad3ca2458015d38a80e401536f4740cec1c43c92b0f21d06eb64614e1b8fcd8f8880b524d727555a5b8756d71bf20855515ce0b415ff932f3db362ba6f9d9de4a4be3ec2a65a9d08dd8e4b992be4c6c26a0f5fcf3daa3914478313f38ee9259390a92c52f89a7ab0a59158c1b7f4446fac96d14606145bad28732fb48f6237d23d851e841f0116c50debc0369c4f795910726e7941a99304dae0afd020dd683362eac0b633f24c5efe0a36083ecdd37b5e7e2f5691c49776cacddc84feb0985ac1cc2f02fe62c81bb5f86ebff77d28db5bf8cdba2519ac16179af92383944027ceb69afbaf248ed6c9421839eecafdc69a75f00c6f11b53961e94fc7e0f5604d59f4e41d66f6c6c739b252f55138ee98a82007c3aecd65353097c3e7bbe6e5553277c55e434f1eb4c9bd9837a2e7b2d58468e60bf75a3925fd3dc4bea72a49c8ba8c1f0f4cf351f9561d7e7d6fc6fdd5b1b27457b9d983d83ae2f37ea92dc5379c5e9c5137ac292d4538845e3df31b2cb4c104e5132b50c6a41973b8dd3a1f8fed23ca4f8e7547f4a39b44521cdcb70f5e902a81dbc97002194f77771ce83a304dc83457b39be9a54a8f61ed479524e8d655ccdbca31fb6c05935df72e1c3c40cd524cc729e13253c1f10b06ba607327e23819840d878f84f6fb97bd94b962525d4e26014dd64c3e10abe0730a52a483cc003e9b8fe33728c8cf59b8f0f21224ebc4275d2d16c76ba4b5349ccd04879e00025c9d4c5e9a1ce1138228a9887ad32f1d357bc0cda6a4226cabe25b8064716d93df74f320e716992d1b15a986a1663f8bc6b561dc1dc0448a1a98fc0a073c78ac6f4cabbbb8ff26f1865702146c8fd7d7668b168fcf084969c8edf004fb2f0ab63a4a26d080bedbe6112e213a16d85593e253d4bf05abee677c732d1f30a23a8afdf0ea336f6401f0a1fefa6f890127c695be322c1c341f7673eaeb84fcd9658ceb739e7cdbe793c1fa75aaeb1c564c7329e7afc9bafdd6221acedbda1b28ce763e24a77c77703a0b1683735214a67cbba3944aedc9b86b1974cb1e921e4a8231199932df3bcac54f22551b1a300f924ce3e32fdbdec76465d225e5791ca15a8e3961f52cda42465ab700db67a1a56d04ef4ce53e3b7bcfd6e9724a1570f6bf8ae2d490f03bf830cb5ab8066ee2bed75370e974b211581aabcbe4374a8d11c9496670d3d886e07ef0d825eb3a153dfecae227b6cdef764f80d8ff7e17cbaec5500f6bd4a6ba35a6b5ba5cc1e40e6257b419f86c5b9e365249c918792501e476f946dcb089ee44b48eb0a3cf675f6fafd172b09dd9662d214ad67dfc3aff257f34cb7281c8df2105d798b83b900a3e8c0e2ce2919e691a88192803f122073d046fa49b6149a1c13f3862008346975058094da9fd51f488dbbbbb121d2c629353c98d7cf4780bf6982791dc97af3d61259b7e845fe21010bbd808433bcd6af79eea7d3b44a5a3047ae0de3ec755266468d0ed6fb1eb4876242d2bfafad9fd50d1c0954b0e42f2db753a6ae37c34b7ccf33b3ed9ae975d1b2161b9383bb8705058d0d9ee34882d265597bd68dd02d3ace390db933a91e48edd8b68658365e9392fba7b6adb3466337b386719e11032e202ee89acf989d56df53a66ec477f7b97bd76fa4d5801c3af2aaff2ba9fd2e49502818f15727d6f5780b1abd56527b5ae5d5839866209d983ed67c39efae1615cdcf882822a738522904a7363acb8eb03adbe73849484cdae0463f61c0f1b87a6934390b7d511e4c80e2600ce25ae962d73613509fa02af73c764d1f4589b905538b5aedf68db4c7e4e354bee4b237aabeaaafffbd73e260be9098bdd3cbccc5efe86e5f94cda7eb467a7d04f1c2fa6ba4aa944f3d60031e59753eabc33af392b652d130981bae73ac18176084b83574ec9232c61c4ade6b10e593b5dec9d8ef46058a2da8e1ca38548db8da5c191fae7feab5e30e1297aaabc18a0cb47cc1b6b64c13fe8ca0757586e234a0f85ac7db2abb923c3dfd2a2b253c49120e0c0d1bc31787e4698a648b5efea9d261cd28560edabcd55c7b64ca3dbf9af52d3b7fc8ad4b883fa48c8b4e52ca7665d5321736b6b712fae3dcafdd5fc5d41e218b333949ab63bfaa2b96eb399d735496c0e3093165b1c60e2206167af056c5e8f105d9b142fd9b5af440706f34aff0341d0fd3b0b1c44645c2849b06ac803a24f9d4bee3092f5e67895d386f975f564b292db8bda9c0f47ecdb69b4872eb2eeffba1e3a37dc96b04f38086071845a082d06185c7a5dc851dbe2ebd2e1c120dc2c1fa0ac68ed23d0477ae41bc8b0ad43eef5e881df0da21bbdf20fe9e9a0b8bd37bab8f4b3dd12c0efd4e795cd8dab9ce419db320be978b48e575f6b20aee67755bd405d75c0c92272b4aa21aeabde355d14135edaeff8d4ff89c420c002d6c5b68e1499c7fa329cdb958d29713c5f4b5c0a11662c0cc3ed94cc4163f7b84e45d3c4ded92b9325258078fa8b6878f93180de8c870b55f61da1889ba1fc8298bcbe04606ad99adcd5d7458da150e675199d3808d9bf075a39c9b4ceaafaa39c0e78ada186929bc9dc112e9e480bf70d98815e86e74a5f5ae3da52a4e64d865d58bfa92f7951e0043b3e9be84bfea6691783d4c7445a1920c218084ff883a9270b985897c8e90c3719c2e81bd7a49b00be42ffb58e94a1deb06ffd54b7f7907b130250d93b5df5ab80c987edf4f7ea2217b5b2d320cfdb268fe54fed1f5ee83af8ed497688afa35ff3bb90d8078c3184ffa6e6007b0785b2c6a457376c92633d4c03576b1393f9821ce67b0ca0e6997fd6ced2340778af148b8de052f9e0d4b7f2b37084978415580df7741ea5b15b2702cc1e603df243bcb6afb4b24d2bcd7c07d72c5bdd61afac2c88ea75527993f980344698f6ead81ec6afb43f6f825309a9335f447508c489b73112ec4b2be8b258ab63afdbf95fea49880b9d681a7818953784bd083e8aa72dfb68c5623a0ea25788450a3fe7bf0fc97423199cccb8fb62489ea531e15b4b008d9a9bb5f6d04a724dd8b47b918650c44af163cafd531032a5a8d0f15114eaa1e006482d7eac924414faf94001394b1c82ac7648eeab7c5c1290cce5a6d2d061ad38534c23361684452400a50d2dcc38769b8265c6ff5ba9b3a618d1b31c1a41b94069999d89e0d5436551806517cb3e5e70c8cbc57db6090f118a6a59a27aeff63518e934b4d6b10be2daf28345c0bb1bdd411e25efbfb4d12f8c19b30c1b02290f25c72ceee2dc2b9926b66964d53f24648065fe9fa2862fce53793598f3c669baa4626b57c9344e8330d99c0e84e577beef95b9dc5ee5b7b1eb7fb25d671b25e0d5a50429004a89a6bad0b701888d952367ae197ece60ea4ad4cb8f5b81079e9ddab330699749af8b8170e403c6f7cef0591ccc2ce43021c88ba82948634fc38c78685bab29efefb250c59ed1cf61f508f659c55bbc87c3c46f65c4c22176035aa0934fccdc897f30ebfaee9d95c605e2a77f0d9feca91be57e6afa95ee4cbc4b0a97c5dc83be6faa1d48a2d0a84c1f95beca5cb95ecc3cc178faae64b1f62858a2fb93ef8851acdebdaaa34a536a37ee6012b7f5f0cd5858a813a1b46361f0499e3de2178f2ac5d8faeb1a9085ff320a123c9a8ec869a600f88086a8dffa6c29dc7daf90618e76312daa2d6ffc84826e9fa7f1d26274ffc0e67e71dc223bebd383fc32f285fdc56ef4153509181ec7ffe290dc513687c2904580cbce75cb87247465e9541cc4cced2a0afc05663b48831eb06a9a496b980393bc072400ef60d2a552b0baabbc94a295091919cb253e83df39f37d9aacf5c7741ca176e49a8d6aa87aa8d3b6a0c06e58bb5083554144d6614a34066f7826a697a2d1aac33e020163ba26797c5357b2fa92c962a829d252b0de907258708c67d6426c8bd2e18ad71538ca1494625dc8f677d97f66dcb36b4a87d5e7eda3194b46934b4cca236eadffa727376ebab958d74e11641ae9d6af939cb6b7a529a8b426cd84c97b7aedae6d283846f607a8ed297e59e1245d761e104f854fb5f7832636da116e8187e3ca0bf0923e7691844f626ad10129e91e7e2905a39c7ad49e0837b9b720f9f3693b82259422858d676abdd7615a06528a58f86aa615acff70957bc2b61d7f50599176a719c72c637df2bd49594d459ff6ba9bc768da41dd9cff8b29d88d0e118f38889f5cffb71bec24803ee3c8a366fb50c170b3fa817563b18e7520c092bc8fe597150c49b46d603309f37aa2cf6ed9a60bda9b6a0ec7209dde28f757f1708c91a215a8b988c0dda5d5c7c71d7170281d0bd6a86ce8fb60e72784dcc311823a985bec54838a1abfcb168fe79fc09d925419660d940a3ba2bcd99c55aaf170a84c2ef068aba8d5300b22763cd1c62047393422855d8068d8e79381ab51054a3a181c8361a55a2a70333e620a36b52730eb61a86d9abdefed0a9e3f0d4d66d06977bcf2c7b47f86b254cc60583df20b1e229e4bbcccd0be167a9f492213cdaa71156ab28d4a17d9322e915c53d9a90c858c29623aa6507ffae71d52e967e2bd9fb764a29a7d86b638b576e9dd1cabc7487f8f3ca78933f9e316a230184efbc090c1ef74a9b039421f8f6bf17000bacd33156bab828caa972185cd62201d8f03f2625ed1aba6ce5ab45bc22b62c7e880f57471e34fee89567cf7251e1d54112268f832f99844ab3e626bcf6e7de55a8d58e4ac0bd3505cf1b6a16a8cc7f73e2b493b2e809fa9e5c233c3963ddbea4d660a9eca73f8022a148d2c119c9d267cc5c6c5f5b742faaee6dd0e993279b0877246c8b2c97e15a9faa920f02cfe00a2602fe7fa48880ca59492940c4ae0f31440fbc2861442fe683e4e6ec1836ce04fc10d6f3d770ed478a928fecd51f83b66b63af3b6940afbd91ab1c823793a1a69f61bfb7b51c6953b29d5df2ba0b2f8e09154d1e34c257bb5e9ec247f6f3cfbdf7cda310c575d230b2108057dbeb1c41deff2633b61d2835920eedaf23439836416621dc2b6087f3fb74f6c22ba96d853e036e51d4eae4e22d3337ec5286ab41e4fbb76117d33857881ac89b6d61db0dc76ccd0b990a7805744e33fcafae4c5fe251c477579f0f2322d9c5d170fc95b18ff923010163d4b33e90ea8186797f1bee80dcb7f28c2f822e5535fc5cc9afd67c5a310ac34b83e18c70bfe6467ae5c06921497b94fc28b66288061b31ba385b02787bf6fa12addc60badba23c55fc3ae601fa211a7a64c71220ddc1883f4128dff844bd5486a30441a29a3da00945b3fc08d363db1686b4717e229ef90c635cc60ceb854fe8e387c16af702a031350ea03bb50d765787d80d2eab2211ca3df4d63b87de4dd48e4d828121ed6afdb37ddfd6962a5da691a467244ca133b93ab4574fcb1d65401d8164221ea1a3f0b8ba3cc5ddd5080ac561fb8312fdcf89d4c7ff0d7911a4f1d7a7c03dd0e3887a5d89344bda9ca08e1b98ad76f290f6688a6bf40ffe17e878f03c66dd28f4bf8e41b76047ac06886f9e01d9717331ec65b54bcd131095dfc05643a8c3750f83cae15e3b2081c6709c61b4d02023110b0bec6f56c374176b26eff7160057d488f73f6165fd9867f3f10c32185443031344bb1e7f272733c0edbea52e476000a6c826bbeb3b9a3d2e3cea9147efd09afffbda96f6de0a44346812fcf0869239b0173a4e42cf0949326759509cd3e24dd672b4e0f05eef69ca49354828f5cfa2210d933983e5890cc2a6c7d4af6d033c85c9cccb99729f84fa82fa550c799ecb678deeb0afd2323c91a1525ddc8e575c7ef5aacbacb2a8f85505bd418c3d5d2ca4b4f00e61016814e370a5bf385dbb2c18edd1044ff6f2574c8ef45cc4a243b1073b63f86e4700e104feb916fd3e331b9b8633af103f6b29e4cb6f2df9667feaaec98c9af8fdcab6c87ad48c924f2261605a437eb49c937f46dde9ad9ed627a82108d3095077047877df4d0db8ee259284a00cd3f71388eb59bbc83c8a019eccb6fbca88fbc02312fec678c587cedc7103a171b9b7ab1f8d739a78db15ebc5e584de1a32caf7716a53e5a4f455ab79a864d5d7569c49c7d61653835d2c02ac3f3865afc0f33a7ab84d2b76078171a93ba11c67112a5b21f691e5240faff57e8bbf8949ab6ff79b999b3ac2334a24e03200b2c56637ebf0c5d42c0ce07301260afcc295ea0047543ed8723e4c749b98c6c1cf09d5a7f245dc146b30db661bf26a91250078a20843328b4574be2e8a15a5556cdf69d1832b708254815a8e137cded7aac835bdde1a6ff410715b9436090a69c2309f36d4d9f85d0d5eaba86af2c84ebb0927712249f22de81e996cc918f0d7f5bc1e1182ed74f43a438736a4e53f209bdc8ba96cbbd3927b9f9b63ae3233f9f6a069f0351063fe7f27727801d5fde87322ddd1d97297a14b3d6e72340b25672f629c9be648464b5c176998258b8bbaff8690c9d6e7fbb11a665d332899d7f9c57819bd419c5a6f70047b1da1e668f3eb1c12808c5e6ac61356841f2f08604b5475bcd24cb8a38e5a0f31d313c582fd073cacabec8e664780c960253f9a47b576628b981d4fbdf3f10e2fe311a88a11ecd578e5ee6e9bf7fb6d119fc3d6a3e7d96d2c9ce81dc5633e46fb1f54ca0f5e67ded89934dc70b9b6cb818237b409e0caacf50e4fe56c1e4e8a2526195358b45df416f7ca6c9e701ef3b7321eda8cb12ce2d80d1e1046e970e91bcfed907fd0ced4385e5a9b333e487ea19b3e237a6969803a0c7b908b5ff5d0491dbe2c5311ba25c6cd27ed8d0ab5284763b95aa92083c15b26c9dd9eda6404101ed5fb416b2614ef1c64c5abe0dd646d3676aff416d20afc82b77edceb446d99df41af5a06aec98ca74573870ea9c86c4e1741eb8d5d2d18b1f728e487e26ad6de18cc1c60a90f98781f78359fa351e257b773d3d1f4beffeb6b535c787c015ee24002291a7fdc0065f1d0a04f732b4ca97e3c537413119fbeba39c490bc9a9f0781654785fa8902bde12dc3ec0517d94ff5b8c8e8e9461d569f37da27c473eefaa628126cdc642e4c1e328e34f46aa1467fee6d28751e81023c28e3c284010cab1608115eb50cd603a5e993ba408b5913d258a7a87981d4e7b17d7fbbeb4907f7f2be48e2d6dc9bca47c3cf2030d1f250517488ca5814f50bc31aaab43d957b026bb867c0f88269c9b34435d0ad3ee2aff5db5dae0fdc3d81bd917c3313358d6f546aca7919f5f10a0cd2024b0fd7413d2da95cde9f433c1edafaedc3d997de2b1f62cccb8470d1338ff6a15807997ac4bfecc524d01e1f5c3862764f3fc969ce0ca34e1ac9917f0d22fd8cfca9ac9a79a23c49706467b389881a01eab9d1c803ecf7e594ce8a1e63597c493b6c7da0c9122074eecef02ca9b830a8cfeba8057ca9d5c561f10b269a37d18f9a941b8677f0f52adc37339c019710bd828e388abcec46e7f5058fd82f5bfc41d916deffd2113a3c6a21e0d4263b95dbedbebb5b2e5824d0e401fe2fb2da28cb4bb50e86ee5c36e4a4560c7d27e9a8d9b021123b2f2621356aff5aec6a8cb09d2245e4c5897c09067526cb0e54a1a780aa71e963ec9955f0ddc46b5c5cb5a4fb4444810bbcec97e98f56b591a930041d4329a3545628926e96196333666b7d54456bf7a0fd0867899ee8b28b348b6edbe357d880d4c343c709488fcb2cfe095acd54d403a216b98c302729b150c86c9bd50b1006a9b5b847f2ac6835e06033afe08b110262f7b5265343ccca08808309f66b7783cd76506be9ba434fb2ee9556767df91b1a28194a5e12a4ba956f4a7d4598d26a40c9c961d4d3565aafbc5188dfb8149b5a72896d718118df38231d85f28ec8f2d455c39c1ecbe80749648eeb63821b8c52d947eedb60a8962a2700fe3a3f124ca09cc46c4c1bcff4d2b74146372abcee140b61e3cc0896350fce1168544d54aedf916019c14e950bc94a6d278f7d1b9d9daa02da4d2c2c65815962e7c905d9ca1be01ac094e0b0fd0997f53f24f6593082c240ccef7b2c844646dfff7d2e3280e440c29740b616b3dc8cbc6c8cf717c4143ab39e82b574b52d46e7db7bf725eea646d33691b47b267745548ad115d0b722e8ce460c685f051e741a91ff0d42e2955515fa9257a2b4b173a2e5a5764a32e56affa604c276587aba6b5cf8cb2ea6be600031017150504942ac1679bf94b8dc30f39ff0a2648c6d76a912066bc6454b6c7ecf3e413b131e4d50b290ba461341a4e79c50ca53915cb58b3b3e9146af92ed57878d67e9fed580b8893ecdcecc8bf238993da5dd52ee49c9e0c5f29d15c190e601622c120d4cbfb833666c4d9b6b7970df8e8f62f87b2533cbbab9f23a76b750a81d2fd62a01361c957db07a686811b02adea1859fc4f52d4bc2747c8f794e37fc574770a050df8782a172d65926fce9bcb92eb253b275763f64203f1d2153f93b331dc33ec8c79b232f38a815c22ad92802772bedeccdcdf51c371cfb49c33913ea149b36494b2bf7ada28f98881ea62508bc9a3c46a727378b9cd0a43be67cae009a15f7f93fabc8d56e216d3eb2785ddb35c91cd10247585238b8835fa68daeb25415b7114f2218c8d3abb024c4a0b820011bfbe54e6920b66d94e4f566a1b0c322a7e6846ab7603f68ebec5de35e798c5294264ae1889a6b0be3b404f33e7953107ad81a208e731b477d5135abd6d5642298811c1ef474a9f031784f54cbfb682aa44cac004c5725223bf7f3be1fa6bb778df87b980c764be04e84d2c769c0071466f89072d8fa99981a0ced91187e46a8b6ad60480611b261b366933f0836882fb930332d4a1fcb72ce457c06256548d917acea114b794aaecea88408f3c13d0d80c571920eb43b9c87ddd716c4642f21eea1e6b340ea4fe6c4c32208950721450c0282b2cfd9eb78057d6bd43cd89d3c2233348413feaf1a2c77f6fc451cafef1b2b562f74ac8c55e21e5c8e80d7b07cde4de3458f9796739822e028095bb7e0dbe7d56a60e6d892db3c8d608ff309abb4029184ed567b18a3f9fcbe8bd6916dc706357bed4de2301e102a078c40c2fb97121e3cd905b0b3e2c16b48f352ca21f7808a74ac2f92184282c52586928d86219d25b3966466f7f46b1f32f6b08545a41bfb5d1c1a090e5b3d6a8a52b5a6df50ed3b73c348d6301fd3c50e6178d8f157a21ba9a2bfb4ffe4cb82f28e624f15f2aee4cc5aa3538d599d632cb919d422b7d8ca67515f822c6a4eef5b60eb0afb405cabcbbd7d0071e5d6ac5f15105959193e0b5872b8e02e316e1898e1a1ef73601e7e870e70a8651837603b40e18e2d9fd5c0dffd1f332001e9a35193b05956a91310a282839c83cc63b4158b5c122f562ca779c1350b3c1d6b6245f54acf4c59ebda0d6d72e7b53ed59ff4f5fab1bfb78421f97baa7b00442af0cb5f0de9a60c10c79088d4761f3f230dc0159808e5a9270d2cd0a02471dd8be60bcbe362697c837710eed1eff3ca4a049e565e177129f220282eaa0870b660ea0bf5d6f32ae192fc3ff29070605359006b1ea24414bd87433f44e7a4dcb39479584c79d90c85fa1ed565aa46ededcc5e09d297b455e353af755a0f66837bc48bd52327cdc653653bcddc36239da2109644d9f86cdf612534e5d8ffa0f13db6382ac9eba4e4dc6c92ff31fea0710944342b79791e729769ab1b2e9f2ecd719f003b2291dd444fef990ed07671ad5e4086ca42b23f043930faceba7c0c08eeceac25a9d58aee2c01827d079df1a54ed9d30688857f83486017c15b8d9c0b27e691889f646216c57ec9996dca8323ffbec65494f9f131974ce761525e44507170ae46a9ba17123bf8dafaf67b2797eddb1ccd1d36eaa052b81e53d75a8bb3506a15d69659e2429ff001e3bacf3812e68846bd0f5e5c793f4888a9ececb68c9e40e2b70a96166c6c290e739a3950621bcab92256c1c9f072e189f1d9fc06904158f6c106669979d7265c46df91ace3e6c8af462e9e1b2205f853d6bad9a7ce76ac20c3f12a105198a3d59e5ea043e3790ce56a83ced415278e2d52deaf910be3dc99f3b7fe6a0bddaf7c455962bd6d1ec2fd76d690edae765d219b80b9f5d5aec96c4da80585ecc4aa108c47ae12e917d605e24b197b031216b7c6b436589c9825eda37f4177a598b8ce8d599250d87f2ee4d737b01963648d31bd2bd9d0ab689fc4e1db575c517ff5a329b9f3032ceb529d5232ce89dd321cc43cc47e2f9493f80eb8d99e503b3ebc24701e23a4bf1a4ae3928900fa7e8623ba2a1ce5e0cece2c3dd0b097a9211920727059f4694600de691dea7f6edd6c544b4081261f4f457a7fe4f6e5e2fe8f6fd10203f56ca531e93e886af58b7d919d10e221646614a99868d5345cab039f9bedf1063d7955658e423d62ac8c52181e8c5efa7ce145511b8d56627fd16a69337d2a07527db01f5fdf611854bf1282e84fa639f91f4f00a89a356ab5d50c99fe20c29c9cb768d4f9461eec35707efdd7f75178482a745c52f0192736134b3ae479041c19aa819d77c020aead1920b9ff25918e79a0495b564fe18554c4df08919d0f123f789010f8d26c0c1447e62a2b5f9faf40b7510b4c85ddfa8cfdf230a6fc2b193bd97d84ce459e8b1ba9ae1d6246f597d3511c6ba5b79ac098866a62cfdbe8674fb8afdfe298c620139f855141af76b41699b91f139c26a7da7d376f7f81f3cb111ce3c251e7fe86b455827df032eba18d14d00c040463f50eeaacb4143769648a8d9e5993640795807ac38d5a7591d5a67dff5d62731e9bbfae543277bfc2419149550d081d446ae309cb86db0ff7d6d5fd2e7ee4ed31a8fc952d25a2943333668d1c725f0d838d98f653d8d1ff836d0ca856b3de9a358ba8777d8449212e7d6b6ac04a773a2b76649c63fea39b054b6938a6a4fdc9cbe4d48bb29855fd488ad7674a2d6476b8f331739e21d00e8d6aa8dc1bc6d79716c73cc5dcc9953925124a08fa0335fc424cd46c939c396fb01a31fbf36bcaccb11b63ea3af0f07806edee856b1653b51671284296b14da48e111e4f64ace243e0195275fbbbafe3f9474eb4aea43f2e1c9ac265eb8becd50f6c4fbd5960c90316ef52b205d5595467ea0af3470845518143aad672519d99467b55a6dc3eeada676c9fa727069e1f24fca51373f6002d179e00c35f52fa6eb7733db55feab245d029661d19739e1dbcf917e44bb03661a3040a182d5b9ae48a1fac3fc78a32bee3018c8c31983685572de98fbe5c420228eb56b88fe2766d1b3e3db51601e3f018d7e9731a439b652433741fa3cc38ea98c069a1e7a617a44ce8f5352504837873a74e1ca7de7d829289800a22a52956d6dee8069df4a7de0482470030fba3f2eb94ac385578f14b1556d83a92f1e06f21dd382160f65a001cd5f79b9dd47b2849166a57de461d3ea37e463b68b62ffb04752a43051feb17802e419e0aea4a860153161329b4e6301650815d39f28685786a9fef93a00d74378370ef93fdbcdd2ee67063fba5550f40848db7a606dc14bcc48b7d026915f8009e94c11501ae824ac683a0bfe27719610a86eff613208f02080e077c99d34f9d920d6fafe95ec6c785177b9b0669f0b7d2b8c28e125d1395a58ea2d12136e9c80976efacd22460b466fb302af85cac07299bec5fe0f7060d31e8da096e9d9d9a92f87ca9b13e6a07aa3e8147ff2645a2fce25b15638fb230fa1ba2fb2b1ffa630f198811d0407effaf7db2ae41d1ef7ad25513f935a46b4508a4b8e93539ee5fecce42362f2baa91c0b0f1157da5f750fc8c2ee8b0d52d954c7da3ebe8d6a0c54e7a22e1a3d4776526c8ba43b0d7382e48400de60b9c6ae49b1878c6c9bf8f9f599f832f47d75e44e06ea32371b1b616819c99ae722db049dc6fc29413124f6617a78275d751fda1a6422ee50e5cf85dc61ded265f50e4f8f45cc08d4fa2af1b374f88ed15afc8c91af9e148b73716ca37053d20455e2441158609a9a2eb007d10ef1bd5cd53e5ec958b77eb9e5b7105bbfd79cb6992cdf75c5bbc3cbfb25fb122a72fb210b958b562730cd22b8169880f57649a7f9b0f26f3ed87c24e45eecebb59426e6b45b3c1f2e55ca042340df59ce50f9806f4912141c652bd35ca8aabe7dae565058d134028f5d6b6b6f1c6501c3de203cd18bcd492fc260fbddd5944416278e67048ad8b1c6d953f950e198def877884977632641785d2c41510416da6d457c193cce121fbf37bffa4b1ff5a6b1d5e51fe586a9b1bf13c814d47d664af81599232add8aff57d0ad69b08c1a66675d3d54fdfa7dd294e43ea30344ea7f8cece9f54952ed79f451c37d5863902ae916c9acc00806281836712b5340b43e95f8bcf47535907b628bfe184b9eac38d719a4c6063f87a6acdc96ba39656ad823f0c1522b7a60d567e26ee4f90a4204a1d07280f40d1506104c094f6ddcfb853e193314cd9f14736caf82ba2936f63b6da5c0a4774a026b8611c46b57059502736a7694c58e8105dfd3ce6b1a515a15c303e9cc8f3690d5a9fca75c1fdc1bf5a1a98c455cf3b5879182c7d1afd97f3f094c0cb5744b0578c6e7b5bf4233664918c3d092288ed1d789f5cec81c759fdf837873df46f43c434de27c77d04b9553296ccfe90dae73666407c4a930260dac5f2488f28b406a1be0e5dda05dde493424ebb96f3c61d66cb3eba04af4c4deac3693402fe4f6d20b522e22de8dee89338b7621dbbbb63d7f7f6db7d64c3cef003f0817a64147a3c1e5c755a0f576e0413f608c6d0890b51d2b2de32a34699395223612a0fff8ec5da7757409f19fbfe3aad747126ebdc673ca9158ac52b47fe89ab2382d893931abbdb0c523727e5122b6fb40cddc91e16e5e3f5681f2e41166c365994477689b95b6f846f25ae5756a2f9e68103fbf83147ee97de0ee65c4c6dfdd5a577cd732cb358af66d691b70bf1063a135b219b0ee7c9502a3998180481731d46832c81c8a44900d2578b6562be298c15099c1d654b1038f771808f078fab1283072f3cbce1c997d1824492218f2ce7f3b9d652c4d020dabdaff7a5695657fabbfd50cd9161f360f8a44ee35ac2bda4b6c7c38b3657e9d938dfd883639a5a357b08782ba4ff6d74988f0dc8e3f0fb0e3d5ce9ac20b2c8ff41e7c0fea7cf85db64136567d54e9b50027ebed86eb56465a55323add191cc5aa61c8c0eb5ac22d567711396226ba8af0a41dc61e8fdbaa9110c23acea20706a61be331452fb95eb8576de159e8d28fd53c8a03779a72d7a5cc357a417bede8242b728f4b9788744bc7bdd65a871007c8dbd3231671b518094114ab78b0fc8c4b5c3a972d8884810cbae9413f512aa6f1f0d87b4ff744d22642bf77ef5101551f257352f4df80704c47f59b58dbd0bad1a5c2e44adc7ef3589378b5499b9cdc3992473e85d030fd60b2af662b391684633ba36837af57dcffe979e3d042246897041aa4e756d36f940edddc2689b717fc9431159d1cfdf8c39b0cc3f024d44ee74e2da06c1c82b4520c99c217b1f07f9a5b138e95584816f4aab90d5d8b4299366c40d11d3b2c6cccce6580e909be164b8e343a13bf89ab1c36f2fbc1bbac68a0149c383b4fee4e2936438e8dab2ea1c43ec1b9ad2ccd87dca88fcbc133511daa3c9aaafc1fc042e7c8ea7ea1247132bbd559ab6380608769c186aae22ba6452b3b0040ade311df179bfdba0c2a344fbe65f2e840760e820a3cb9b75a2c205933166b32c812574453934ff71f52578aa89e47cbe4c1496cb57450b5c9bd89f87b6876b14ff424dea8df808e524f75ba00f7cbeed618baff27cf6b0332ad546752b1e031bdfb98cd1149dbe1ba9c66c7e7193fe4ea2643ee858cfa614db69ff6f5d369a226af38d633a8bd69bfbfab88a4e750553ddf7b594f799f0b7f42e6965785ffe8016b1cfab6ad62f2d27623207b29fb48b106cc6ae5bc69d79008e8cb8f9cec49e4fdf52b5824a6a6bbda9a8ed253076607ab74861d13a6c43484e09edf40c77ffbfb1de68a98ad2e636e6c7938cbafb5d4536e7d3498870a742666f65c4bc3f91bfd829c8e6b33f939f93d8f04045eb9078cb1642b86023afc1ce73cd320eea1c8147aee067e8c44b9ddc89ae79ff6881a3108992245fad955dc0d390b8364486cff50c3d4b33ae8821ec34c74b691fe6cfcf17a6578d80273fff3468c008fb6becdfd53671ed67efaea48f27a79ef9a58c86e372233e40f0088af7c6cf7452ecf18f638225bd0668e8208cfe9a73a8718b48ed69fa1d19b5af0d17e89263ba8193d719c1fb3085f7b5ea88524d6c86cc2c157dec6ce02fe35d994df0012ced78e78a6d0dae4dd839242de3eb530c99ebd56ac8cef88628cf8983a27674bb33e7d554e9552fac9e4ec9d5564d9a8913e3bdf0f04dc16230f6895c1eb0cabbc5a300bb0fe8717725d53be85e18d170e62967d95188dacbb70814005e88d2447c7ab1984a70c0aac248a1546e83ba36adefd29198fa1d8cad12ffe600bbb698a7e52f3074f8430adeb353e6a8f0e1634be3461687f0a3547872b16d02164ab375d247840c64e9dd8c873b4cd0f190163914e69108fdb84fde230ee7272ba2342b2ef0ab2d163737e30aa6a11c241903bf528b8cbccaf3baeadcbd4c7412602eb4d2be51ca6c9f45d418d5a92cf52a9166aed40e94ba2bd6a6d6910b58a99073e661713bc0f86d81eb7ae6d8fb48f0d911c8c7c87c2e93d753e09a8c116c114626bab5699234baf6629477366a7dd49432639c8cf621c29c26970c1901425d4d781fdacb79e0b76fc3a270d87637f42caa659f1f6130526a73c09c0397f5199c0682d8929b44a2fbbb38f136b1233e1b2adbad0c269275093ffeeb5dc865801e40825b6cadfa8c8267eacbb734cb7726609f025d6a2696d4a8e7570432fe848eb75194a410c70c71f9dc5e4eef6cc2043c621b12c18be33fb00e9f831f007f5adfd090a049a241638348c89a3b4cf545b8b42374c67f5e0a004aa3c934134e1a76e8833d91aa183e806690a5377e4406f2ddc4a531bca702afae1d79c035a380791fd7565526f3e40d60d56c0bc3ef27f8d11c882e9936585680670c5d5d1411a3880e5967dae0d49f5b192b47b3b969478ace2945f5d6ab6a938d00d89fd0b843c4b9b0f1e7209b16f7ce2b7df99bf70f030d4aa52a022105b4975a944a8706e5f3b84215c025dd2f1fe576948c08570c29d10f3ff9acc132a3137003d40b70c2d9b9cf5dbe9a0feb5b239aa1d51ec99701ebc02cdee7eb38fb3f4c0adc2dd6f9dff4d63290a480d974eff1ea5c38cd7bd788f1dfe0d8f8f457cebc4e04766dd273707f8e30fafc8bf805561a22a34766fe4acc8e6d7c4cc19b636193acb126392b1457f0791f8b3c994bf2293d395002592babef21e06613cdb7b5b068e618ad9aa5583000a078d160c2a5c8dbedd68adc8bc2b81f28259022a1074d17ac420bbe73caf2411fcb9e932d23efb712654b41a3e6e0e9b80cdba3e8eb317524d065c4edf861e4189078d90ae095bb14078441e3cc4b6ab1b74dba5f7806c871d664e11bed2c09eed18f4130bce49386d51895aba106c78b4d673f0bd581f288cc362740ab31053f367d6b5a98f4a5378f0eca6816bf04969c27c7eadea24e54d71df5f4a4d69dc837f6f7909404dc4f7c5689deeefab94908698f8016e1a1e5730896d6b92ca11fbea21c047f47d498450c249f5073fbb059f28a988cea51d1bc6e883457a5e74f36b7e3589231d4ce3db4d7f0181650b17e1abdae664db63d7fcd2a6703bcea48728ac546391798eba429a7498297142b2f3fbe4d368035c7a78912c3089c5e63ec0bcf9310169c1a1f88b443992521c14cf3e4f56d803cd076fa49698806ccb67f98158eeabc0b31e433acdfaf6df21d3e4f887ed6e4a439543434467bd83ad75182e089017b5cc0c7b5030bffdb413f0e14e8c14fe5aab72cd20e2d05d1b8e09ae383233721639cb2f610b158a0bf39335b5e1e1ce3976219c8ba7650be5996ae6220486e589b3ab7425c93849858f1f36b2c5c01d5141f1b28007e0a59941a14715067ac56c9fece02a9fb2d60cd7f268d26144463936a8dd1273a21d46e058e8c4ae5003ddd1b003aa5d30b1b87c84201b95f0eee39f8cee27f3d88825745c957adc931576ac540b7f9ae22da3b86cd79250b2739700d1fb271a059c6155c972214c0f6e8c03cf51cfb34a2b5b227b9c45b72ebf26e35ed9310a9086234f38125f0fc8005cabbb8a04969e253b18d127d9ba9bb430996fecf1d26ec9fd1bc52ee5d156329cc2f2fa623745dd139ef86df9b7f07ee672c01dd1ecce01623183a29a04bf0b65ae7c2639859ea0c3ea16c8f5d279df810ddbae663e94a32562c0bc66af48a80f5c232f862b78c79a844d068373721a8af82883eb19a10643a4239eec09545288577337bad5b7d470600c27cf9d5186e9bf7ecaf030f8d7580ce44fb7b74a6628e01411ba4791f9154494c06750946e39a18e708a508c109acf5429f6f898dafd9cff6f1fbb9d10a82561ac5fcdd108fd9a7cc5e37064cf4d18a8d2d5b11272fbb314bb38d448b645b611e511467909a9a59dfa3b8dbbb385347aa54e9182bbe0a0c798c4367b88e63b65b7310b5ca4ba8d0ce15c4b35b1cf4ef805d7c518ebcc4ebb2ca29b115539f84710a930e65fceb41bf6135a090ec9b900fee7f55dccdbf0875b4e2f507dfc8120c4f3649d01167556949715d084ff218749c7e0caa270777ae4cd8bd67fab11de3813e4018e630a356d33ae1fd8afb080fe66dd652f604f4101b875522b5f18d4cfbe9598167edb1eb88a6785818513ad34c52cf499bc5659a7591eb73f002a814afa24f5056c37fc81a3d908168bca3fff719c5e7f68705e7ca8042b917a2f90b7fef31c45064a399c9617aa85471dcc7ed59564ccf3033256988478e3759f5c9ff08e41919b1cbaafb90645157f64a04a60975d6e06990665086867fe12ebd8138cca6a78e6ee1ad855c81436aae06df340c9770b9538c5a23922310dd657c6922865cfa1fc5d32aa70684e5b6b696c601e1d2542e64a6b197a32f106d8f196f03e140b00819ab961f0e07c7e8872ff8585399de72af0d0933dbff7d04b010bd09cc6d5d2c66163fdd238f7c97d8dc9f44b764539c5ca5c28cbdca6243e2af9d27b2ca13489b7147c5e5c816470941ba8d9bfb2f83fd084d0524778ba4ceee7fe43f49e8c42beab1fa846a3f70651d24c654aed4d94ec77e6cb4e653a09d25f7fefb809d366f3ec40ecbfa5dfb873ad3f311d5e3ac7f5a10192cf7af9f043a1b745308e03a50978be620ef0381fdb8b78aaef699f7fcb12de41db3947ec93d7a22d8fa87569be0fecc4e2a49a20f082076bb27ea71f658c85058ce3d180a41be0bafd15edf22ea9a7cb10138d380e8a4ee3763af21220161b7393b7758491dcadec3f569c2250cf0b8d40e6affa947c2a988155d114a66e0c6e4ba93e5bd2ba306b31814dc224cd50c27fcbab0add39970ff0a927450fec9d3f5949024d51743cf7e15e8f5a21fa58b29506a4b37db99948131347800ee2a3c6058b4cea250827de02c147508187d0ea2af2d1b68d7ada7263467e3968944dc2beb1ce64eeda0e95782fe20d56509811bda7db2a34eb1f6f78daaa05becde0d95700f0b81d89bcfa38fb6be745eec0990b9a42ac4bcdb57ff08196ac58209c611635c1f2533de901615789aee29f25e72fb8776560bee2a33cbdaebda02c3c73b632907b852fb04512645ba59c0e6c2c245bf04fbf2c370152d47c86a9659464bcee0aa5947fdcac85731920144d5c7b88442d4272a0127edc5b9c38f2524e342901a96543a924e6149323fc87c398e5cc8e2b740550d50709215f7bff9a94fa1735ad6bf09ca09913cc62a16d06c950264f38eef743fba5b6a5f48a8eea3c58b89deacbf25fa3fa525657103fe6b1f57f31c9c221c0aa8c4706a84bc76ba4fb5cb856b90bd8a749ba7e9bc7f1f8180c3d5a703bbe8ed451ba82e53d613144dde460eb3735cfd5b10a499eb29ee98ee7bf3523741a5990cefb28c0a9b921cd1b2e61fe780ff0fa0d6b48bd3f80ca840e667e9a3724ee957c46f91a0897b6d3ce8dbcb38049d6d84c6127480afcdad5a0361ac566f0bcba4045a20e32195a5e026a102ae1f900238c3b29dc78aff4a9edceced26c08a326c4e2cc68d5ae256991d7b31f0af771743f809b0d46793baa9b0917488ffe18e625b8604c5e934fb14bd3a4a7a3fcebeccd04239ded0c709531947c88a914ea37eefa5acbbb4a5c88f53b38beeb9df11dc9b74adbbb44ca84a9b8922f1c4aecc2a9fe02f49fabbb3b24ffca3c2e1f2bc6751618ef21632156cdc206c02927148c595d574c1c2ade260dc207f03bd5e83220925960e7a5ed65a7239567559b6ac19b8295d77ad7c7a472f745f902fc8c33a296cb416748dcc15b61c18d649aa245da1b40977b68fb8416947750b51152cb02e67ab660639dbad7148f29dac4e467a545e4e85283fb2e5edd48767642f6dfa292583ab054ed0751d56e2885a0b9542594c80e413614c3583cc6763a5460e63b5fe040bcfdf0921842e0c8381c9abc6bb0ef1176373dcb65d40aec0f5d4c59eed6065aa98dad62bfa0aacb28c2c98339d694863723712fedb03a802f99ad0e876685a8f91e537e5d50d7fcd59bf06ab18a9e0fcc9c9f77585d884d7074bd290dc88b950e845a3ad6405a7764cadd68776a61b35fde7b4e3769c43d1cf5a08f3f419cd4dcaea6ff2dfb8fe2be153bfacd880d48c059760cfede7bbfcc19a288b3111c726dd0dcbaa44b1b77c5ac0767cd2b5fe7bda3a646d84f9faff1c4ab38796fc378c4d311dd53528dc1e9cdce1c007b1b7196cf73d6f683c258aa9e09c87eaf64856bd7c239fd74bd7e678cec18d0fe64eeaaf3e1c09353d725776a000ced0f254cba3dfd302ad0c9e98bd62f051507f3cff45ca0db947b209ab3aa0f8c6b91b9f915dda5145402dc52eaabf742bc11004d6ef624bdcf8032f9e54d3b20f3cdb629d7bc75cea76ea4c5d849691a6844ab92d8e700f93567d256645071aef4ecd7a308bc0b1110fc039e4f0fd45d21db168eb722a2fb4836881661082218ec8a359be2187254b45c36c91f5cea9e0b59565156d8184d668b25cc14f1e90205f9bc4efeffb86c203cce2516f28501565b5bee8538876b9317d293abb0f0bd1fbda24c309c1f8029493603959657b5b9451c478f7e65ed28f53be2f652e968a6ecd1dc1886ce993f1e4f5863a4a44bd3fa34280d29aa38cc31ef2d969f94de672fbda1668154872dd477c722e77a10df5686ebf4a2fee61336d2675a617daf117022b5287887326a8a58a197f4ec7e3eea9091356ca37bd130d8d8cf8bcfd082025503058551f4170dd787b52b8651d4fc81b1f042b596bae3cfc256bd7bff7c5c009c50444f54d2ddaffa3697156c80f498090fa288de763e97085729cdea7f929342a5af3236e903b1fb95966716dc0ac56117952f283024dc509377f46129c5521b42a491f19337593383fa11f722671c7e98c46df4b886bd0cc87ee7e267b49b98dd479fe977f8276c7aac5b71e8d216891bcfc3bf8c40e42045d91e2000cba85fd6225b15b8f01b174a4ba87e6485e7e6da8f66537a8c319248259884fdd0e4ef01e53640ae712aae227798609d998b6242d6891a3738c85af0cf54b2c531037ee493a5259f147d9c14d0c8fccb1c40163ad9d510e86917eee1b22497f4afeaf332164a14dac3a618242db7538a51025bb048a5105a9ad7b3aefe7f751e2fb8053ab11c72da47033979cc86e1eacc255232473674c9c65cebaaf6be2c8524eddf75648cda4cdbdc514cbfdce2c4d6ffb6505f0992568d54d2b7c21b701c88cc174c7b8182ea67a8ed32014654fd1914d633a730f4e371e7026d8d1c16994bd26753d8d69cf0a2d7712e7fa19325abd57a650ad8dd6fbbfd475d995f56351a3538c23afde1f5a7f7af92a8a880f8e3e59bef5b5ecc49d0027619acd9535183502feccc19ab5dbdd9881ff41b83a08c6429e5cc4bb4c17880d4a2dfd8702fd22767ffe1bdf57b2068e22cb5bab46e003e3840090ed866059d2b89308211b2b43d87439de78de3478f3dc7fba470c5821e4684a961668ce28cede4ca27733b8abc37206f8928179e68fba66262f6de6e5819ae93c7ac7504699a84f41a66497e3f5ee24ecd1d0983f67651d58228caee37da6f7571286fd0155a5db82ba8a81a6de3f9c01f6503fdee074a38e12404d42b02f7cc6aeefd0d73cb04c0224de8528cabf7ac57b6ced851b23c48a9802beaa67bd7b8153b09d5cc8bcf5028fb0db3186df0a58706f0735af53ce35e347bbd3b2850d26e661539f58795d644f0f4305ced746492130d06e6f50dac30efb526334c3da76bfb70b7ca2e6f9ff17471d8a9ecef228f16631be12ac7e0f4215850d06a2fe490b010f21a0c67121439eae0e91d5493d7052eab82e85a0eadaa1c2ffbc0ca6ae50e29d1655e9f2a7015f33772ed4ab87fd752aa8072ce71f388a0ee8336ce7bbab1dbc1b0cb1a31101828a184edd35b622eb6711b95c45747d52f7f0ba3b686ff402a27115c2a7ebdcaed44a981ef84df2bbc605c41d00f76cc7e514d57e47436c80465bf44ce2673d9a0ccf24ac00dd63c0e401cffd1e2edc032e91d2e2e32bb267e8acf17d5d32f247160323453a5e78ee09d1f03875a9ccfb6976b940c32cfbe7e888a13f488e0eaaf2e4314ad0b7230a391720d1fb25e87e6a006f55ca562546643a9238766f2f612791c9bfd028ed68a2ad9c2d0b6ba9e15c5a2ae6fcfffd6ce3b21b257691dccb3035d4a5a243693bdf1c1fc0212b9e2e485a3d7151de25cb077e6bb72de28712529857f26a2e1e0ea8b2b97ced13843bf7faa8540154555503b26c72483bbc447337ff17c5734fe28f6342804bb43184c15d4ccc05d2127386f17771c885cc1cd50ef2363b8968ad44e7742481868e45f402dae26a5bd1a09d3eb5a73b9923cacc1f70e060fd9ac2e371cad1b49897ffaff3e48ac03202e7abd41a7771b0fca64f271aa56793c980ff268ecebc80f6f3e7e40259fef686d9aa556f14c3c2c095a37d9195fa4baa7c0134fff9806d81530c18a96188cbab3f0d2ffe1da603b57c8ea7fb589d4470e04a591905edda66cf77d3eaa93f2a7f748ac1120417c28af618dd4674d5a495ac0dde98d858210d0d2dba81ab24464a6e75797409b14628bff49c5d0b68ca86209eb9e3ea73aab7f902a120b1ff1267929602813807076232990e2d634f0036ebceb87243edb864575481bc4a53d42cc09c4a3aaabe7391edc6b959dbb1ac5f1e6c5bb7c3ec33619d4dea28c9950d6304eca385db638973013e09462f24f423b92840a5adc91df645bc6487cf210703fff219e88e604de7710cae2e56792ad171ba8f503450add76e27b6967af9b80ea67bf1ba850e474ff55587b3e15c513c28024a5294b22ace1f3d3a18d4d642e5309d05bdccd695af0dd23bc656a9e3d709de86294c90b3a82c52ad2ed1637f6500fded51d5e4856a29a06ab7551b9313cd0569ed76d72d5b380aae684384d84025309729b4b453e8845b1fa94b40ef4f78e27fd88e2ecdf4b0bfe5d5a4590574cc717f121c3d14a787ac6cd4a4aad82e222ff568bb0d91b49e3ee09189a8fc481f25ca67115f4785546aa2e88bbbf106a928269f7c67734b3aedd55ac872ecfc471299449fb0e7c021986fde6d781c55ef5564143a5110d5c622916bdc366cffa75fae3a231453facbdec73466b83e8dc728702e73f7e89df8a6d75de94edc8cfa0b8d15e8b6c8fa3ed767e5e27b87ddf3ad32d5ded88b56ff73e091933e4759c10bc171fe68d38c466e927b972e405ce968d3a4adcccedee0af0151774106f487b83d80983d9e3cb6f67b905d9e4790c5b0200c7071d5e793c7244d93c1c363c2d6cf272d4dbaa0ba6e29e93cafad4d18653b178788578fb37f7f43489cf48474516ae260b4a04b536e83aacd85d514e0077a9176522d15c96baa64c95058f8e6f0b0fc5ed24654c90180169a4bf63a044fe4b3bc0854ef57a4269542bd84f7583b818fd432c88a8b9bcb320a4a32f7012236043c61bd3be430b5bafeef851e88cf4d62f7b332e16b8784223c20c6115b295766e01cbda73c5b211969e17a69defccf1b763e2a74a7cc433084662183d04ecff8d7d6c247b2e2dd102044f5094ab30e10cf448cfa5b8468a7988533e3526ea52b088f3f9b72a2e015b918ce79d6d0e9d2917b226830b20391244bad06ea201b51b2353cfd48a5d463600f7fe553ca6654a970113718319858f4cd3b799a08000bb7f28fef470dc71162ab5134200c962630078383e78762e771ba481b2e99b361da406faaa7cad3717faadf7a200c3071d1ba1ae60488d8f780f2e508f3c956d26835107443bbe5c620e05fd7c1e5ab23e1cc61c4eb30cd02d393848577b9cf269b206a497ced0df61959dda960b4558fdfc3091abe050c63ba1140f0ecc5b4a3f496e8f20da76eee3dad2afec8578c6a8de099e12d9178b3483927acbd8ce5852da82cb1ec8fe7e0fbd363dd22c99bc69ef8cbc6f91576208be783a4267bf1859c49d044fe055c8db43e49506a0ddcc839d52b379a19a416a681e5aaafcd040cc485f60162fa6059c0dbce21d6cdc023534a83d4fe41b9a337a1bd6f601391a2d0a9735cb8d3944593d4f7fb57361886d8128246e80719d9d8e4857955616bf97c63be3cd9a24f228d6ad838e672843bdc9d45734cfd588f51213f79d7bf7a90324122b8897450956ddf67fd848ae44f1637f08c77cc53bb4865be565b13ea7a6bbd0b2f8ee7dcad591be4cf22a469b514afeb9317e998fbad54a4b72794404d1e799a407f60c22865d5792478e1ade8465625cedcfc3e4d2fa6bbaa21063ab643dc1669bdf7177825d6af50af33a95bea60153688d50d876069466234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d7c6026edd17515d08c6a66a4c95fd4f437a525bdc8289bf70dbe46a15d1c65a330caaac37a040f1b4670018f8237274b8791919f7816c44dadbdb2aa22025d8c4ec56aa5b2832c1993428ca41d1d1a9b5c29d51df7d1352ae7fdf193dee0ae942a302c93beaffaa1f971f836059abddae2d6579348c86a8f7ffe3556737cab8c8f66c73e7678b9a6b01435db6aa2831e008cc7b73b8778da476b0e0c58b7339bf484ea6ed1ae8f36d8a6e0258eea00c0d90b5561df42c43583c9996a622844cc24ff0d8f1b0062cf0509e2692476f14d5b14d2cd9f90dac1f3fd7afa9c3688992133070a1394bb9ec42e30f71d5edce1b6f8785cd00aeae3c98f600f4b03eb645676de40c99f7b833f3073309f4d820a7fc33ead39a7b001c11ee24b6cbed8337e2163a6df1ab8349cd5cf8ce3a78eceb9860f024887e4cac3c7b69e6a0f321f667c733dc84a5ef2d5b4864bf781fdb5be80c871d3c1ad4206bc557895546df0d83e61486b564e49df6128c7ca1e5e7317c339f6a0066679f76fa36b4cc72374524c89887cec4944041e64adc5d7b3661ed6e94062d6409c827c40e7f3cc24b563ee0744362c1b6f131bba664d8fb1bedb2015312da3a7eefbfad3d1c1e8d4bc1ab2bac5e71ff8896f7b0f6a9df01fa4077892961a05b5c78594ff212c5f74499daa96182dc813ec80f61a41c2457129268b7cc30e9819316122f934bbd1850559f74dfc55187869618d4a0de12487ad6a3e9b238f63d5d90918fafa727a0d879347c178209e94010581dbdb1f505d44ab69ab305f5975e813fe4f3f30f33910329e85f2f26eda56b92f1320341ad99042921a1c12dd9e195ccb8dbadbe6941fdf0c6466a08d56e428b8a5711edd7ba4c3d6fbf8cd0b21d9e3e1a481982e1681c535ee3205ff72fef91f6c5a722e613a5449101221acb0b04a05199c7b9c40a7730c79d1387b4fad7f3562b29ca033fb3f49c92bfe8cfffa2afbde88d6a3158fa8cf16949148e1246c411846e1ea4b8ce3286b857e80f6c4f8211d2c0e7ff647ab1cd0835a6a81e0a4581dbf2600b49deb7adb0e6fbf4e2c302ab6f533567d911ee9aff90c2545d78671a27e9806505444558925e18f11c9bd01a63bd0d0335ea9e569527c8ac646468f5bb5b657c9a088be7797a38116cfa98ea6bfd0d21df161af9d0ef1281011796cd1e8b36917ca4e051bdde0509b874eab1db0179b35bd0fca2364469c2ce1d5d0e5cbc028a8b04de6227e9cf1ddb49c071b46c59affd75534557619867a7548779adca4684313b8e881712c29c94bfe573a7bfcd6341ec40c5c9f7983711c9948cda56e56c7f381975da6fb5fd1c3b4651c581a846d170738150f959b2316905ccf3552d2720fe6d6641eeb98532f79b71f86bd2161520045f905a9802da1c6d2011748cfe8de59285c7bec8b14fc3297b9479f9e491a2473045bf5cd00ca07eb1382ce123f2f0ad960e5b774976baa79acd984f3feb1d5f9a488630d9331f67d7d70c9e5777a9d2c18e2d27aeb5236675e6689392a1fd540557bc29e87ae1adba8c025ef57007cf9432adbd4d290648a29cfc8a8265f1015d8444b2db4bfc5477e5011945509a8a82e047cea68ca7b883555d02210500a3452a9b83a0b10b865423f77d81cb6e1c2e434bff7cf0cd5807d020b0d6c4f7db65d49699240562810812d417084a8c9c13dea90760e7d5adacdcdcb234d389ea05a6be0b97dbb80dd61df79a01c03653ea168149876da2a3369e176267d4ce62cbe72931f69c480d58957ef887a53c4446c789e3c978dde182d5a8e764a1dd89c605815c3636b318cdc33828ec5abf8fd73e7d0ac599d12b24ddb26beb2fe74590cc3d0baf2525eb8081f6fae065078d9a3d3965e2ea5ddab6301be9fe24d1ab019599969c79c319778a152e232fff0f7ebd131e14abcdb55dfe1d5da909906e539913edb8c73c4225b4e9e547c0703fc19997e93a98d55eefe1a32748750ba5e6264f40f44cd3d82411b7891eb60fffb43fc24de6ab58535428d7e713dfbaea5f118a82c04914c55cab5820f3609fa9f25f89f42dd525ac6ff55ece5cde62611c07043fc9a10ae0ea393ab6dc388be8076e9571c601d0562ab265ae0635fa1bfc0517347ecf719ee8d54ed2c6ed52f9b953ae61144113314a9d52f235175abddf515473bc5aeb9736ac5b2d16f08cd7c25cf03cd3ec488239e982980c567030e0cf1b6c27521083763c84765442a59d4aaf65522d24b9d2218f524733d3de56ac223bb5ef133ff48e3bac33601e85c7a7fe5ff3b0351f4c94cf54821292b57cb1e72fafe1e5d16bd75218c1c469705261e43b7c37900f1b995fcc2c5f60abc6dd8ce0d3cab633b709b8dc21209f1b8c2f767266878f740604a223b7aebecead734096fbc0c542ced9e712f07c9f00ccdb4a4640f1a7d60af99c196574d5ab8973f542753f7f59e783f94afb99f988fc3766af3b3a0fdfbf50d4d486e171204a8ff60c2b0301b1447225969cf14b1278c105f7187d16a732d08cdec2a6bcfbc8045df789325e414301a31af88504d17f4d246f8efe6273e72da06110cff4f100a84bbbffa016f39f0e3f23851119b83c336f9b8e413ae32e3fa348f2a141226ef836b1bb7b3f1faeb9e37c4f46e8a82da3a4d6a6c53b6a9b8b763410ccb71d92da7dc4a40cdedc020eb57032ff52632780257bac477f684eb3dcb1688720af2fb5bbe1d84b191d142ac43e44f08253c1613b3c4c990f1830720635c02f5b2a109f0e20fa390f80543c9630f3610cae37ce7424dc31f6aa522ea281423e8a35754827ccf85b5d676e50fea89b6bb19fd46555c81f9f581e744bc5e0e0c5eed0c0012832a57357dae41c4a0ee189efb04add028abd5b4df1d59f8a9eb190b3abe9c4e9824050900d896681acddd9c59fec44df1718866056d58dd58dcb91022f880eb917627a0d9773720884371a8de29e54ece6ad40702da7a5a8acf1e2f458969a5d14b69ec0eef65e7432ff2b7fc0a8790fb53ee5c12de7947db2aa0781b86775b64521281f34e3d13a26ae99c4542293bc1cd983371a2fa24878a452eabac3926274909ea6678243679211ef6a3c3076b67330a846e641af46c2f0a1db7589abe1fc0967b217d83de76f11a5770e39ec71a5c42cee0e4711e728ffe9e5975d04c91aedb57cc7bde5468e4f92a7df627bf7c2ac72262ab81a2f61abea573c7c3a32a2f5e3d4f9eb5a6fe596773404a33cd2a812e860a48081134a4c713c75642952058f28bed9a4d77ad962165c563ff729160442e64ee0f1ff3fb60fc4f0aecbe6769ae6921eafbaea8617998afb33dfbe61e6b7a94c4f8c0ed570eefc982f2f4dc9b322c8079cc2cefce4b41c470210d77b30a340fdbb611ed5e8adf78fe08e521332f5c0de04275391efe384820f654e2400bb5e9cf667a29ac093f91408dfb3252952bf7caef40281dafb36e01dc05687a73c7d11e0cb18d8103f0500fb932b5007d9c7f55693107055611cfac867faa5fdf6a9ed70b4a571fe841202200401af8a87a8cea4cbbfc30ab869058fe1d495115cf6149194bf58a07b340e049ee79fbce8e36f64cee27e8521282d941dd941eb97a6144b2fd635832337f5cbde363dd7dc6fc60c9626176469d96f37549419f31fe425e168c6bf9da31bc4cea07249b439c34c3e8b78b54ee4fd126391e25201fdc06703127803bf538153fc022a915f85fe0631fc9b8259e2b2fa87ad4e1234f53b532ea5285aa75b62dd7494eee7554dec733dc9885f96a38bd8babe8b619b7978bf2217e6aad52a7679e92be31d3fc4db7c7d4ffe401f42481f6349934c90ae3c72fb0901aec4ac498ae47966df4477ed4118d32f979e973959991cc920338b3577835124e04874ab9c07de01a0678e2cb08cb3bb8d1440d4d27e3634a2f5a35e3c609382e6aa75598d678ca7b32b90b6f50d2554352f3071213bdcfcefd84a3a124a289aafe2fd544ac37cc6e9f3e1579b02d37968da4449957b4fe1c578a28e384abced83dfe07ef00e690d0c1743c3c9bef28d8cfe253a1f624adeb411ee1b39fad8a20a739ab969828a0c78f9705981cce47f2ccc04bb82ff4562a455a031186ddd0f34dadc5d59997adc83c4ccf706a86294fd7865af0b342ee23a6bc69c2ec7385955e7b8bf8b880e6212b7c36c7808d120bd98c0a54107deee7353c496f8c042f88aa78e6dceae57466a69c677316d71a765894470d3f96470eaca06b8b485fb833b8b735b9f69d7bc33bd44763adb279bf659815c6908e94c112f8a3ea1234f7367b317cefe11eb44d305a4257f7522c4f9970733a432af9366fc94267e2fb1f507e8f449fc8d1a2bcaa26ea0f86b44caf3b8d6f77ebbe15333cf10631ebde112d8f32a04c2ff855b11e2eac83ba7562cd1fc3cdca98d6deb04de19411ffaae18817f4f7823c9ab155aa8da73a9444227cbdf6bfa320e59ec9dd7570a55fa1552de85bc52526cb935b1ad8d9deda891d86e525d9ee0397642bbb90f95f0d093deeef3ed57be6af4202da8b3dfde0cdc63ca44a4aa71c4c4ca9cb7cd4e84c2ddc57ec5ae867c1f950bc8c95932c623bb81d371e6d210ad5112fea656ea9caf73fb99c3e4685f27e0b3dd048e8a72dd80aab3ffb3a493ff47dc70a2820f35b44f7c02149695fa3129fb0599265f3b5eced13415859cd8b1d6e64e1569327896facf2e21d312f928ab616daef1c62734d675fcb9a3337c28efb8897d34a50b6776f586b360e4bd1c2757deffeac8a4922d9b3ff925112b628ad00b0297d3301107eeae23c5761738b45879f42832b5c7194b799b0c7650d950937f42f78da3d9f21a0fd37e6e84cd67a6377952873f9d574c2955d4466ac5d8149c0748cef7e566e776af903c83c6c86d78674f87c9bcb2d6c0d34643063bb03611fdbf30f1da13ce0832f0556cb9d1461a2945efacf5ffd6c1ef357ced706d360f7330a1b84a998b0b54ddc9710fa304e3e35dcf303cbf36d5ed9690c1777d740e9ae41910ab6195da72e8e71b753c90062f2ec60927206f9dff9dd396979076433b38c7309670792e182807cd16a5ead1f0f92f238d2a749439ee21c325efbeecf3c4906278f71cd7f1fbc60ad9c14eb92553e7ade5283f9bf1f978d7433a178ea6c3ad20216a0531f4b2dab8316c32fa0aaa1261e658d1a7b35b2cc050ac12cfd33dfd8e44ec0bf09c8353b72de4c62739f81839931e32bcece570651ff7377efbb4f36d65938f805781846462121fa3e68f8e519ff56c38e6b2d80c320116c9665936fb3de86032ae0c957c2f1264c2842cf6b64fb18251dc7c04d9c8cedb2786ee80490ae66e7074ec2e357810683c0112f762055dba406292799017d66be06a56e35ff23ca9d47a5c64866276d17c27696d0463a67dc3d055d77fbf3d405b417f1dfaa71d817b0cb0a85d11eb45fbc3bfe03e6857b02df969c7fad0c12cc07bf13851a8c871c4b79ca2bc3f8ec7e6d9edba7dc41f631ad8a1fbeb253d90980262ce101043c5ab2440a99ace497d99a9362bd97bc49ca456fb0f700d298cc109d23738581d0f2ccacf41d162e758a1b2944767eb61a732f7c157875304fbaa85b2eeba4c47d8a23506e9a910fd06df081095cc84a156ae040bb52002abb88543c0004a249b883c8c5bf0e034dca59428b28a04646c050bdc30df5b13c89666cc6306bfc72432f10b1742ba0a4e844feb57755ea39d15a5a0434d9720e5dfb3bdea9fe1a3ef98e8787ffd9818ca1e6b6f2172522cf63b13aa62876fdfde11577aef5871506bc818cbf1e549849157b733966eb539e61db3dcad62b13aeaf521ddbf41c260cfa40541d5e27a3e02bbad6e98d7e6ac18f84a3f7231e64c9763312493d6f091aa3dbcf52aa07a35ddf637b16c3bcede9e2776b08729d3f392449bddcf63d76b197ff14d8604942decd5a11fca1e275cda87dff8d62e0926eba2bdcabe4b5c5cc1f3641a0810cbf5aa1cb87b30bb58e14356f9361dc74cc166caf33eb5cb10918f0e823c39311a4835cb579f267d11650fb9fb3b6f058a46a683a12ca4dca70265f3cdf36bd7685210a073577e121c5ee54d2cd875de2e464c102d6d46c4b9666ecc690a767809fee737d4f4125e2b5781784e02b87fdd3d79ea8ac8e7d3b5476dc84718343034f6e33ca576860a617c018471a08fca14c02c25739198bee755ed82f1f481bcd2aede4eb6b66a1884ffdf374990739c808450d8d333ad631dffe67fa14163ee921bbc0be5a529db8169c9105836a5766e7a9b45762fb270b92f844ac1fc1e579a87354179bca1bc3ae7dca593353e929705b19080466c2fb04d6645d6eba842aa8942c3c3abd08b882350fb5217bfa76aaced51694ac405aa70a5894f65040d72392a1351a29ee7109c3d64fede70e46e54c2e8078340a7d977620105d69e4d912c840f2ad7fcfb9c646fd366f56db04cc69394afae7728623c13a1f808f3efcd3f384fff16117939d396e6eefd1163b33a270d3c80438882fd6d079b9748f8f7c2dcdd337718ae82a6ccae90b303e093857e0925f84590d9e9d8543efe0d7caf3d0e2f94623ab7a5104ab68433bd4660574f2150f1f5d441ab43315808f108bede6ebe577c63c8279f39cb2acddec10d629aa7df3f0e6a1e6a630714e8b0267fa2eaad78c2e11b6a21a1a7efa2747da87a44b01747e84dd15ac77565d769e8144cb08acafe5efb4ceb7d891acc6424ac2b528e7c5d93f58dde6c01c1541bcb149ca7e053dd54afc77a0d5a5ac70148ab920b32783c3a64d417ac2c001c2668d7ee4ffc959e25f59b773d653877c92b98eb36eb593a991a5cd2df448d374a48f684e5c97e9d35d57a659a0a78a1ae42d5890b5d7122b59c33cffa021ee9f8d629ad0b407cb8c50d2e0cb069a51ab031af4c2a6d3234f2c3dbd32dee189c8106cb2a3b0bfefdff1c2e882776628284689d2ea4eecf2d9d4f15dec1864671c681e74aca0b01fbc431f5a55b4b298ab10905368e7f0b596d9af26debf6ee7a3c211bbef8cfd42ae32eca57e71093f778e2ffe65885f76b4d7cfe7c0b6ea99e5143b267319efd327e5f936a403016227ba35be6e666d98949ac6a7efdcf221c3a165a3ba9b67576ec8cf89ed712cf06c07a1a955e275517791681acc280f4b6afa42630409b24d430afce84c7cc9f084b625296b216f2ad826e03a0efa4ac9207b8235b1ba13be3bf7f57579070a3e89c47648ef9d77d616922e48d18b2a9262acdf0793e6183df9e8bb7701d440118d2caaa7d2b12bdac4ffc3f9023fc18eed071e14da74f702ada24a832b1286a0022d11c770538a27daea3a0e5d8b07e083d3bb53bae5d7f96ffa8522ddc488a8bb9c24f2686d4400fa2588a676c9a3772c1d69d54c95040e968c603d58db5e868867eb93ba82df001f716a33ee690114c78c3d0c51f201ee6a1d8039659612762f1add3c9116c9a9ab2bcdfaabddadfc70ce18235b19df480afebb0a7c19135d841586beb8c2fff120ef72a63f8942196b6d473911351c640902bde7e01a37d61669fad7b70c9d622a8895224b2ced0795dcb7afb84525d64752aa9fca71e9a69b272a3c7c0172eca5ca3b9a5b1c2de77984f69c84ca3cf27065f07ea63b60ab52a7c5b9c805395b765bdf442a7d2674b8affd12a29860c6a6b2efabf5a1b8cf5a3ba6256af6e3fa772bf3464096de7b14eafeb66404d7a98e8db567b0daa49db68eb254f61131994b47e67d6f1a92b1f278519344968bbbce87f7c4d37a09f35ca543a8810e0afc67ce6b07479041bf622af3923da33ab747c62765676f5740c0a7699f503215dc6e371e332b7a7f5a6fdddb840cbf55ce35eae0d5ac410eb9054c563cdb01fddd4ea1018ddc1f10d56ca9f6d78720a3c80ccd18a6124ddaad8bbcc85c90b219185f0d8b1a54acda8952e0ef3c07af30af7da2de8b0be54c96a01b6103155900bd8ccb22cf7664fa6fb9b80d7b6ad431de8bac2381c0ed255747430332bb0783355ae993a9b65230d7ce56e1da37f3b9048e94c6dc91ac02a816de92cb7fe77e961a15373cbb61b8dc0bd8c1964609e24fa8e798fcdb285d670058ed1cb3f75498da270722d15ee442934ec76c5315059514c728591e23834d5a8f2bf91c350e4acec8bd07b8d3b725f9da92b944d93ea3dfeab0f60a72204002d8ed29005d1d30a54b6adfaa4ce6dae80ac4e54c2d8efbc5956a48ba1c6eebdf7b37b6b1244f6c9227fdfe6e4ddc19c21a1ec353ded45930990cbdd1c1d1c499b173370fffaf26c256851765e4a4a5c3d85ecb639246db4244c37b9d2de1ab7caa08bce48e22ad45871a3ee527cac2b99a52040dd159cdf07c9a4df54819df6b9a680cbe9a681062085d3717eba14ce1654585bd7d28dc79635dfbca68ac48ea785ab195861a69e122a7d88ad90ec8768dd5c4e60b62bf2e0ed9eb0ce656945e8987fe3e15321cf2f8dfdf3dcefda7397638818e14cc46771a19c08aad1a5c208536e36d138ad9346ec8ef2235bff6f65b84a88e5cff215cc732afea2c42d8085eceb9cd9d692b4a134c645121517edc520df4569c208606dfcbfd9df6d1f0d62907e43e6ec2bd9ff91d37fb4b3157ea34e44ee793297281f88ed96c86183a185a99b4cbf24b9f5ffaf46b52ab64de1590c79ac0d64dea75b4ba83b00f9ae521c9ba2f1f0c80953b26efca67c60925a1c89492a79dac18cf5abfcab285af95deed0b6df2abce662be2631a2949d0b70a9b175e99dc3e4b2f12846f4f33707fa4c464ee51e8c711be4ed47bf5007c51018f0cd900368f608e5e2ff64d2d3234a9e223d4bb97656f17764fe96617db18c47294efc86915fa3433937d76291bb68ec7d220dcbd8e4f44957d9bbac74865363028aad0747fa4106cf2381e08c2e911236acbe0bc1e63b65a7dbd7b2c982fad31bbcd9ea5ea65208f82abe119fae124cd5f84fd4070a0b6dc908ae4df442648dac556204d163a3c42e13d74e9600c918949150f5b25bb434a389f51aae392f21c24aa25c6e5157e8e2cbbc6b854e520b58c12c5be2ffd22aae917c87245ddba128b9d4cf5fa259d917037c8b93386b65e3f7ec779427d8c99777cbd90ea15806dd7a31a4c33dedcc9bf448e82245e2131f4a87d5684aa9f0518a171e02a55b934a0f8207f3c1ee8002644f0b6de33382bfcf228c3011beab21a90f781273bf4d69978df8a5b1360231661b5bacf9eb0707ab8d963c229f46717c8e5831e80198618b4243e2753b901fc7a352aa59677f4666ae06cc85756ddeaabe5df939ce2bf5685a25dbb4508a91b01ac62c2426a5ffe7751759c0704ebe16a520dedd933380e5bbd1c2dd8dfb7f72cf98f3806d8c334397461f0cb282911c2bb3d13f2ee9ccfc68c67a6c49d61de5b32097ad997f2743d4a65c8216d0d096af575758926e9f0faba16a506c3446a2c2fb4b3c21bdb60b81074ecdcbc76d922e05528e862ac3e2ea61e44350eba26e6a153e6c74ef86470209d7d7a43a6354f2da8b49c7184a93d189a719aab420c283287470e4c5ab1dcde4353dd3d9bc8716cf2670a8d220d3e7625399d229642c4d989fd387353f3995e542d5da565b446c8b80469af051ec2af8230ad8c9b450591844756d7feb3d622af30316086c503b31cae96dba2fabe07489616e6112e77d9eb403d87a52ec5fe4c89eb8cf5451f1bb6f61bac6d4753d37b7b5a9ce452a62ac32e0c9886495e4a4337ed1d1992d88af017758f6ec9a5478b080c92c6d361ffade46596643486f1fc406a3bb138348b3811e719afb4e646d6195b3099629d727a20277ae9a1b98de9f3e1fedc51fa0802a3aa4aaf446072f6d9e5c10484dda62e7b53eb6e84d6d8e8ee76736cf24313d640f425eaed8e9d4325af8f5ccd0dad2e4ea0494cea3b2c8d88fa82296a667e37385d0e1f127edc777c4182eb6cf8d3f88a16095e372ec239b742d54a0c69c6ce1fda8b52c41ef117b3143c6668e919b4e860f342cba2389277b17fe1e7a6903c1d4d77f02f841bb8e0b7042309473979251b2b77e94fc1cc4ecd2d280036bd23c1d2a279a789212e2190fd6f357b0fdf864d50f0a62f2eb43f0b937fc3a4cf27af7e686c53d9b2b1ac9ab9529b661030c1861ff6add69d3bc808475c77834873df83d3168cc99d6b84cdade7ee285e4aed5c0c60abdd42325a2235013484ed1a28a49292bc77b037dd4c86ed200384bc09c52d1c8d6ae98a7be678f208aa1e241b5ed293d8a990832daa33e3a5665e6a53ffea81c088e1ecb0986982af12e04ac1aad247dee39c17a3f84880f52eaea6753c23ea8bc886a986113d83e46bab0141cf151dec00e2fa7df5fc02ff91d133e7b74f182dfe441be3dc8764d51223145291d99753306077f9fd7b7172ff1b519e7bc7c9b82566fefc24f29dad144250ce9ff9d66ce6aa4574de028e3308be51b21872a3b14cefeea9fb100ab14b205350ce268dd2fdaaa76c6f858a09538ec0759ed88ed40046d7236108c8958f8476404a947cad70c1b00478cd6680a9d9239a0ba3e80437beeaeda8b9e58f20035a1feef426ffdcc7c4821475eb72b4624385742fde17c90633419b802e4ac9243fc4d5aa4a61d7b9860c7f87de27d6f8b1a81f2014bb71c9244e9a94c270bbdf5fb7a311f1dc82fe982ae00af703ed554d3a5967af949f74d389a1eb31808dbe1876de07ef8da4757e7b28c9fe6026b088467c2294762d47fcfc2a808c27374a00274dea9b30a115b32c6f44b06f30bc083de69965087f3502125a74dc3a2ad25d15817257934ea2cb45e2b8dbb81918f5bea661b9d287614b2522c6235ef4e702aff54065ee8255b513f78c2dbb8c4eed1c25da87bbf467257c17e6adf01ba34875fdbc8801ef60a5ac819e11d1dfb567c0950ca2ced6e927ecfab314a1623dc40f67490c8d0fb69d3f0ebed16b41520762a1039b46d9e90c50e4169cbbe09fc79446fa03747e9ebd0428245b8ea51f4ced1136f93e5a3558394bb5376ed8738241c47a6b9d085b8efb9a538a5ffcdffa6e724d1c2ffd846ccd59edf296a20eb6a9c91a8b9df54cf48d654d502668405473bbf0a541b381ac68d2f6e06d2edf0d9504bc2948207a8e915dba4a9cfe25aa6a2f99b5d94618190cd5be0b51ae668bfd828788c433bb3deada5137f895abf495d283e2333340129fb9aa6cb11a70ac71a224aa208c5b5ee6ab76bae9e10e65e47aaa0c1cc5b120868af4daa6571c95cb60e8fd5a44a966098b20959c7b66a100d111aabccbd0c08abc45ab721ce424f7b22456f1688e6964f3ddac35fb8d7b8f80c2440b2984969993f6f88279e7b826164ae23a84a030b8312eb148b41ed3edd18ebcc0dffa2210af15830642452ba96028afc979eb1c225369bacd682340a7b14e2b466c7877812fcae64ad0c30779e29fff14ff37ed909da75dac8794361b192993c37ede9f1b9200207491ae45ba496612bd819a4c9ee7e27c387d0a89211c876486ddc943b1d57f00f79e6849ad7a15f4bc72c0ee67aa9b584b697ace567a486acfa13f7798078cc7e65f1441004c98a97c872cbfe7db0f88559e3ecc1bd1b436b8e8173acb33381ec60bdb94c4924b6f3b9c4dd2547c252629d4e43e9a1cfcfc4a0f7f42dba35ba80e091f0f9b5ae97c9a7dc993c29e2fb22ecb62b8d21903f5a3ab313540968b04078c22a498871d21f746d5be9035a76f9470b3862544e5265d79dcafe24a8a3a8d61ada78e00f2bddc918cfe488d4f72c251608b5a7aa59749239e4f12d3bee4667579b21099c2976612f74509bf4a8617204fbca01854da6d7a3ba75139c35d0e0a8e8c8b54dc9e02200fd3297c4c3591dc16dba703c9426de66e7230cd5408ac43699c3c3e185dbe7bfb16a0c9625e84c8ce72cde7a36c2bac6333c05999f26962d137164032d5bdb9f2a06e2496abe84171f1b5a5c572c16ae0f019bba6ac08591411d1f14cd5de2f28144c96b29fa0e0ec30c68d3cd60febdee6901ef4536fb67f5b453878cb8a4b3460368e6f85ca151d59cef67de352847dc3b234b137229eb0412790848c7fc5ac0ad2d7b28677a2fe708cf6e078b3d32cadd910cfe1a53c259bbd2f0d3518627bbf6d9e1a81e25926a51483170c415c7e9bb9026db34392f2b2c39d3f21357c36948df0865af1fecebcd92735e583eddc11e13af83c2055b7b0fadbdb47a0f3da068a17bf4281bf97d49dc515f625ebddc66f4dc93de4eb4a2623e11c9317e32be054939ee069ae58eac45cf22b18a1192c64fa193b9b1b67c03da165fc4aaae69568c3f53eadc118f42cf39a41753be627c67ed998e7cfc2842aeb1b82e3de98a1638e1ce30f710b1224e0e471368eae99de43f4620d5f23234490018bb3ae3625a4759796f4e1e1c6df8a99c299ea4140acadcafb43c0959f586dbbccbd0de78592a878c2ed2fd1f82d6472a4cb432f2657f174b5b1df2315988a1b734e3d7097c1a978307f7e2c0abbc6de25e72e6372dde7e905748f94e8bd5d21f6169cef2a21b7d9b597f7ce4eca416ff46a08e35cb461b5f0feea87da96d00ae41554a86aebf8821ca492520af5140555767fa47608313bb8a86de505d9d080dcd4b467895e646989dcc955c24b26206be47bfb9f926aa0bccc41e6ac7ed1fecc5ff534d028b8b40110efc494a6ce368cfc4f71a80cf7d3d87cb0cbe60638052e341e3c1fe8c50928d50463b590da59e51f824c39b6c43fdf3595fad71dede50d5deb9b08c09d48921d613f210ed0e0e9bdf5135e9b651c28de684dfa50588a132603db8ec9f04e115cd15d65515fcafc8f03e70a72764ac92e75a803bc6351f7d5b4391e9eb08c96e5850ea083f071c3ab7257afc4aba4d7a29db06f58324b92bbc2356fe919d3c2b58f1a1842948cd86aba5fefd11411b397efe153228e850779164a80735e088296aef61538ac616e71aabc75966698cc69433ec1786fa7f300b7e939092edefbccd1e158d00c66f9a37a8012dd9377e0ffd4dede13aa05154eeccb0362f9cecbac656ea75a75074d41a648f4bef8673c23ff24219d1d982ba830155706700d72765bec543d68ef0d720e0c356e37be6f69c2ef13c293c8b0a1157fd0ee11106ef14076c897d156a9617bf8abe9a21bb130217e0bcb7ad096202eac768d6f66f4e5df0498f4420874725ddc9d6ac8cd6d5147db1044e9f9a08fc741f8eea14e7ba581618c8fb6d7fdc5bee1f71f733bc9bbce39e0957b6e9d32259af2c51cdc4ad99649c6908f52f39010f288f474bbbbd9b13c358c6eae318f31f2294b34db9da746893b68faedfa6469ebb50ca4baeacb400fd93ff15f3d8ed30bf2238768763e769c43bb520ae6ed7e614af4339cc1d30f98a702d189e6e404dd4f8128eae5a23a577ae16c364e919f855202a87d93a300058381c2353754018c61f09ed21a60580828dd123ebe01e8f31e5a699f950617687b208571c1d3d6b79f07864e67d73fe7fa2fcd447e99f1f7bbdda60a3d410609e40f0f772f01a9f019dc6e89cdb4c55914e135d3aee201291ffbf787d679e4b7a4d081703ddf746ac5933271495a73b37d6e73568ba48066298565ec339de9f4d63ed0709c4ff2c4c3ac7253dcf79d40d7bb1772f52b7b9f1708d73570318611a1d9ec069ea3b854a99f90adaf7c5c474b1ee1429e88553e2c0bbfdb01b1d764d52cf00cac9cdca1672f85c851f25fe9a9729ec0e7a7e582c0a2632fe0b074a515fc65e540bc167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a58cb1aaa16723b861c22560921f2a452d4cd97eb880aa334516e99d30bc9a3c47d85a34cdc733ab9fd84b2b4a0dc7cbfc0690c3e0c8844f0e8615dce482e9346694817ec412edff3a669a6ef6411f4c2f8931ae4637bb31737f731dd8d13547f3b7d140c918a0bfb3cffa34dc72a7c58998cf464a4c156861239e2b95fc53ad4dd89192ada65db1beb55c395d05ccfe24342fa9cfb8d81e9eaf824bc769e091e134e13c3e295a4817c0f10fb55e301fa8cf82c5e212827a2e1f456875830c904b8d7774c0d847548324c629f05d32ac12f7a0279c5bae6b9355ff2d5a15647785ba3d8a1c62b3bf1729426a4586a7c3b1ece8764bcfb266ed52ebf502fbadf2fbe938f0720fb4998b19867ed32595f0c9ef510cc362f141b7d0aaf8a2626fbb4d1022e93ba47cd5ffd3b6297e049b38e9d972a4f9a25e04830891473db04d18cae8da481a12993a417e799c33915bee45b0fe23850153c9fe6690f6f37ffbf01dc0b94514c25d9aa3b3432c48dabb0a76bfd0361bf6b640127b313f75d5791533ebf61550847eb2ef402486a8e2a891ab0320d55b6e6ca25f88842e1f2cc30c123b67327ad86a293ea210d66bed6c1380581e2a65352cdddcf561ce6636d13bfca576056da12fc727faf9e60e7d8c922fcc84a83b2394d8fd82e001191caa3660d9d8ebbefb699712a879e6b13ea5b26d40b0c187a9d027e5ef2c2d49f88dd80e98b21b848fcea7cb1725175d0787abf0f72d8f71ffd18f88f5fd3dbd25efaafb3092454955649624ee6e5c60f4911cbb6abfdf67859653aaccf10ccd3c1b38c174c3934f6d878924135795cb098b6d1e94c102a89f3573c90a177ffb7426d506bf1865f0ddba5c80877463ad6650d7fee66931486956a07884f53deaa13e2b895d866fbc7b3eae0a7ff4901d3db6486af241cfcc8a4bf6e7b5ef9f8a1cae9ea38d3cd443fdcf696e6d87617ae79fa321fd8be59477b09c7a7f40c9549cf25ea0b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea71c1a96f6cb6415d423fe6458520b6699665f76a09979b8be44fa505f55429cec49a90a30af47705f8f4c5c1385ad729acd0321e839d85f4e05fc3cbcd2f2cdecbac8b79f60518f0b4cc42f87fb4337c18883345c883c3329506841ee951a2256d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d9f5dfed33b0addccbea2166e15cce9ad4c3798c76e7c15e5a28b1eaa659c0beff87d2ed19375569b4383bbb6e5e7b57e01bd1da3e623036d08e4e78b10fa5c5017fd56d7695255e85b393f339677afccf3f60dd4f458e932465d3f56f0c75f7f7b126307a9376797d04ece9e379f7bf70a7d6fb9d0a9626858157893b269b77920f2716c7d23bb74994fd85cfef42be5caf7e302fea2a1c7bce37aefcaecd356d0846f6c904df572dc1ded00de5511a8262c2da89f9afff6ef1baba8900fe6c7a0fc0a818ab2bec7af14a8e05273d273126c8e3f98cd442d8f09d2a5bf6b362167e1ca8dcd26efc9d22e2af5899794f5f01cc1c98034b0aedf873828b99eab709e7aed9dcfb59c70b8c7947f3392e5d8ba03fee7b20316d6988ecf9e14d7bf87138cd8f394f13d0e97d00091f1d430f74a4ec42831ac9b92eb02a706bdeaefb6f2d0456eddea2e5bbc551b8f572d1e6f6ea6e197fbf0b1c81cadb8c1a909c45f4f431ff68b8270c0ff1128bf5ca1222ab4a730a424d0cbe6ef593a41c4a183a70053f04fb05ff6269ccb1d606c5d85c9a38f71a5afb5c8d0469c69f1fa56a57fd83003c7a3aeaf92a6c20840172309c8a526af6785e2e8163e83b635fd30241fe6af13a963d704190c5057786af2149e120cc77e9b0ccb0c84631541e42a9f6cebae259a9cf38ab7a75257542fd9277c843e29e1e4a3dd4d190805b6f68e1c1b26bb99bc297db9352bb40a0faf0fcd4adf64c7d5adf302711beae28a99f2f6821413218889289eab148108b12a63bac61c5873dbc2e3a95663634118fff59f196bdc1d2650a41c5cee5ee04823a8fc69b4f60a9157df0d5a4b731370fcbd026674ac837a944188cdec0eab75919d6d139972a2bc804cbe2c6381056aad82b4957cb5bfd0e2ee78c83d1e452c62c07779f60de623798cde1a96708295b821c7fbb2c6b9a1e1e003f0b7e21ebb8e38b4d754e5147964f6c35808c63d26b5274bdafcdbed277909cee7ccd56fa251bb5c7f63c07c44f766291fa44568ecf0ccf9dfd5dbab4f0b7f4f1a69f57d3214aff88e222467cc3f9626cc0b5da79384ca6f1e0510415e2105d93eb05c31ea77a727bcd51da07d11c2194020ea4c77a79fecdf66e8d82444e3fb291a75cb47296fa3aaa0ff4d7d7ae94092207eb17ea521ae6b6e036874d53bc65d5e782918c4ff8d2e176a6a1ea9181f644d52720bac22881204fd211be48777f020c093d148bd1a1fdb60752b9e51a3e7bbe7db9f68b871a57339cdb1b5178c8d1da916f488a49d13f2d7a1c10ff0cd46d7f71fb5594fc08a4faeede03828029d0a6dc0b435dc258192f30215c3ded35e4abdabb188f443e7128a42e9f52a43e53b1124fb5d0e5e63166e3ce65d38da11d877b229a44885105f8918ab34baed10dec08ed2d73a08cbafbb95927c11790afede96651e216d472682b575f63cd0aa8e8832e38aa24af411a50ecaadf608608d5df7105a96ec6fec24a3a02c5689b6aa74f05820eab5c4af2b8f077e547b9041c5f634b1f4e04a4b4a8525e9355672ed15f3e6a2a3296ddd2ddcbc10afc74890d3e80a766fcec4ad4cea8676fbaad4e4ed015bac5679d21598402ab7b5e5a78598802ffc4b19883971735db6df00c726f53e0963ba0a13a3f64ff965a4019fdda01db96d217bafc5101ab5a0330410c7014587c45701320d6737f7abb0cfd3edb8fa089beff58e6134afecf5d5792285a9e7f5dd8f1eb6f5e61243db0ff872ae6f2893834f333c47d74bf011bab4ca37e8700ab17f3115df63998536462aa76de0be70e4f71364be8c9511192e00ca16af9db2e0ca5a96d3e926508e83d96c45e0129e92d583c0d2be5624071ef5b3d2182282afb4ceee710a3a083cf2efb98f0abaf62f241c513ed03f18a5167e1f996ddd588348bbf3824839ce5ad87acdedf03dbca34a20ce3fededc4c5807e734dd94b0239a9b6deb31c39268a0f98e4b07698ebffc23ce2e54490104cd7f7a7ea2575421e36dadefd9d16f7e68fbe43f8c50aed0a56653cca0af951f7455d458262b56e2ad0016342ec9d478fbe2a2bfaaa5081c6153cdbec03522586f59424b0b9aa334745d62cf4e5edca9fefa66dca8ac3c9254e216e9a9e0c517d3c6fa88f8056cc89bdde1c45cc7beaa73db8197de324860795675c42596b077b1557b877470996e767461d7526410567b5ffd25d1d9809dfab10d4921165ebd15201f32591b93fe966fad024ea05aa08356477ea6e2dcc8f60e0c65b2ca9f47a7be03ac04e477249d8260ac05ce5cdd25bdcd87988657aa46ef49dc6d2cb9414e449f0e46cb7c2d9d6e5250e3e84503f345ffb16d67f530bb247a61609c3651626001ba2123c53f08d98a2f6ef92bc64806f43d8fee46a82eef364cce361e2cd58bc163f726fc80ab5487a576871d45db4f7998062f541839a9c8e3424592694f55a14103e7b65d0018bfec0a3c0f172b5c2e0503f4c32e96cf1f1f119d146593a8243f1990a90219296f3b578c790bc896eb28c49d92ab9e958f9b0ebb9551bde6168ca82370e87a69f7014923a005280542af354f546fd2ca06dd8607abf2a6e3da0a899cffea02fe1d6e4fbd3bf9234b36ed8e836b0849b865c2bb71853e9e87cea329f70abdf5b67c2db1fbc4de53761fd391a1311de6be8b41f231b76f0bae9007d3e29ea6090cb759204a492a8f1c7de42390e0814b3132e5b8489cb7e75bbeb8d916c1d1efb4d17dd6e6fc82d793eefacdfdeabc4eacce1dee0e6f73271ced535e969f8461689681659e63fdb5bb73885ada85d79d4ed3ae69d98d41ef1995529f90b8e58438f2f36e7afe11ac473bbecfa75ae1089ab79685daeaf17b3404b7e35dee8419030029a17aa8b7e875f699267851d496178f545f6ccba9d0b2197ae6ccd5635f892e287ba98916c356ef044e6eabbcc7bb565c5e3a9ddd0b09a28b8b501b6a20f7d6c2bb899343acfcc601228e71f9063c8ab7173e4f94f345aa1e54f514fbdda67a9a04dfd86dc1784effbea6a30860897a6871443ebe8bf40da3a7c2513de6c97b4516e723b35714f0a6d809c4d75ebb0a0c64b280897c3c2273603e11f9914c5a600744f8499577e42cbc847c725f5dd2bc5933403c85d40a521e02f80d0caa46069895d34979b036282fb742b5e4ebefa787a51103b4e48c50e04a71ccd2fc139139698d632af6677f3ea0debf48c23a999b9829b4fdd3b56a62acf7c907703ea8f8cad64106246dbc380883de3fa045fce55a6b90ac68392ee8a3bba9a443c4f0ca1bab8b11bfa8620712928b27c82cbf527ff44bad5bee63796f93d0b1ed446507584d8ee7035112032029144f343334e1fd555444c067467d2bf6828ab60e0751da12b2ee64ea05d20e90df1f48cf55c0dd1beb984954702adb7046d477a1ad607973334ca73f2ead07d38bb27e6c08bd664da36a9a91fa0f74c32e541521fbb819d237ff0d7558351965ab587da954c504fc396230f57ddd177facdde661d0fc77035587a60f82d8510f18d497ec26f9a6fdc538377744c628b9c6b723e68c00457c146299c2b85916224f966d2c9ba124b020f1bd975b414f088769364952404e56eee530b3e953cb1c1da632d783301488709206e4067fedeecedbcb53259535afacb6f7a852b4f3ef3289bb68eadd2bfec61cd1923dc49420088716ac2edd4a2d129f0af6f1354f2e3abbc8a096b3efd56dcf5aa7b37a19f9019714508b7f0ed2b9495caac47cb879b93a58ebf8da840b269d0175631a3a0ccd0675f26661e591cf9bdaab471b82eb990531b77b983aa7b7405a7bedc486dcc24fe288ce409944c2954a3d8d54235c613fe8e3998eeb91a3d271f856516f9ad7052a193774bf4462f427fd4067ee2d1f88215d470cd2ca7c0da09f19374fea57bcb49f1f426f75bfbe3d99770252e0d63d6d9e3c73d9c327c47e426e04665578ca3500bb7607dfc9c8c1692292216e6fb88a9fa1e961a31291e8c572103a91e83be395a26c9c3044d272dc18e0bcc79c740222418350aeb07d006f41275aae58a3797693a290fd3d2a63086f6e129ca4600369d21845dc04d41bb4e20d53693eb2e1ff242f379fa0d10cef3ef8fee9a4db8ec785275b02194aad0ee8f079135c3a2e995350913b315292b1197f925f53788ef4695933d7dd14d5995d4630e518e3e5bb2fee0100ca4f4e043ebe2adcc68568a9c4e6c1f5144dea19fc8c39a64fa707aedffa359c54cd8d572fb3bdc1573000da9375e6a99cddc298e0d3c0a3e12805974b5285555502e7ec200e116dba15773b707ce58aa74acd07acaf647d21e03e48f11126db68530cf24dbc6f88be5563db7740a5ec71c4d629268ffbe02bff7151c9f8f14e615eda1b9ef136b99f34eb324af706063f81cd1b7994d9abbda1f8c1cd65ab3ebc2bbd697d211f2674b8fcf09377f19bf9b397e30baafd77b46b4d6aed91a519398e5374942192629d2121ac2e56670a1702c9ab70616cc19420edf4379407b19f68efb8444f93f43a070e77caf3e35a4adab853637642565ae9e0f0c3a2e96c430caa6645bc1988d9f54e89e4cb5ac4efe992371bba4d513c7a677da68a0295316e9012703dc986afc089e335ceb0071d1b57e16cf675d5af4c58242823a601c27875337018424e19954210fb60c4ff8749667f85349bd638afc9bdd7476a56d9f7365e9936835c22182b8bddd126210634b7e2c47e4b3305693aef672387923aa3128e66608510684b911aaedde0b126aa3b35fec3d8b4068a0ef098274b5c1d9d8bdce8fd65e1a8f6acab20549975c7611136121a65c541d43a9efedc9536d92d82d2a4314a7bb05a31dca201eeeaa360bdb973c5fd5f02097846d28f7b1656129fd99ab4ea5b0f375c74858a9da6081d4da8f6d87bbf5a9515686d49c7ebd4f03db3d682375fd002bea2f34941bafd4b8b7a762339e7e594f836254dd598b1acfd1839f535aa2c63b4089e9e9cef2f970115872c8d7d095876b4cbf8308e8ab2306268153f084c51ab30dc58d76cac58838971ecbf39be978c1416d8cbad7256614e8a21662a7624b047011f66ac375dc16f845d67f90232b68f4b5ff8a917e9a6732a8dc22636eb59e8606861df0d7667234cfaa9de4dff11ffc5057a09100b2799189d2da9c57e3570d9c45f9bd9eccbd6b5cac7059b0f9e3ec5e3a102e6d96b995c4048f5fd8abd256ff3ee70faee59450d7b1ff4195d7e0c1e82c5d911cd6575edbede869bfd103df73e2795ffbde7c92c6abfc53dd094f86c5f5d2bb2dbcd7b2e37d750a403ae6d37c1401d896c79f8561034d156ae8877e4586fba3bb61858e0f380618b6b46ba13716e771f3378780c1c839e80a6c5ca30226c92b90392936257c95b7e72bda66f9c1e11ea9132ad52d40656b2db4c4df4c66bffc7e6d352d75db24de8334805c7d99a38379c960747d16ee4fb5b92a87b393f17e7eab7d62a3f251ee649a1bc41851a22b0dd789a13225ed0b4a334cf918cd86ac0e2797280207c03d4a50f6452a869ff9426768c28d57266514b6a1bb1ed3f3d5639708d46275fad3213dc42986e3b58fd43763c9da45a69b9df9b84b2d681f9ec5168f2abfdc22e9409c256349bc3d45f3c13b058ccba10e4e0c0bfa4835f1763496a3506772044a7a3742150ab531f487e84bceb6ee2cd66a2061a4a75d6d8b59e282671310bc8a28100c4c330c65124dcfaa89c4a7fa2cecf5b74b01759d243ed02987f141af428289b76ac66455741a1a673b909484c370e59a38b1d3ddd2098cb5605c6ef30b1b7b18da983d426376f0b2f81bba3686da5723bd75ff5a02602c6cef38f47eaccb200afaa13288b5f16a58120af3dc12daa6b0285187f65650dbc55b50371969cdf211f7a9149164174fb3e1a77d162c5df70f4730aac3f2ab6fa68f59ceecb3bd045268fa8c3fc250aff2a23693b8bc40326b6c804fcd8d15d8fcf583987580a814582b768cb5c769f8e7aac8365dbf7b7f888c3640139f8faf3500ccab4f3108414b0695cd6e66390948164024040d63dd771add68a519a72d278630ebe16df7ff5ca155aa4987555c79dc7fc573418d052831c211d1c1d9c745b3a01895cb311d43b5ee04a6bac9d832d6bfa147d4fcd5240f466ac69ca355be89621bf66c3270eacb5bf95b9016fe7b892656816e8ba4e3be25ca7e4edebc9d0536ea3216852c67eb2d06da2b152fcbd748ae71a5bcb8d3d80b518810db92ef1ac82d3a318eec9a60d7d993d6330af603df6171a8c63d1303feae7197f1cf0ac795c96b2e829038a3e932e0e7f84064fc9933ee47a0c954c625b6d5548dfa4a6679eda13c6f6b37a1b8297179b15cd6860d0a55e9b35b3978923571968bfa798e2240c1e5d73cc566b751e8733472a78d65fa373f0962f92ccc5d7edb2d5f0f1e75a28fa14cf45d489d68fde5435468dffdc1c6624d3e49bdce702e6a0e53efedd9ad9a4edb7118ec7e342756dafc12f0eb0692f797235da24ab8fd65bf6c17521c5f9e075ec75a43998f6ad51541eb7fad01b08b45047dab0bcde2fef32914f218b97cdee35e1ee66616013709eb1c85ac8329480db2e2fdd6f5160a0ba43ce9668d38ece94c60adc80fbf552c78b5397f731c4d81f42ec56eef094bf495b603d803781862edc5be2a057a3a0c6d3c932c9639d1c87212d6ed3273eab540c714bba4de007730901660336edffe84c8bb8408f635d39dfea57c2c5bb23ce2e4d7b7305a6edefd833c6db5de7c188621e8d2dfe2f4cce25b280fca3711aced992997ba078348b6b88e9f50a155e566f6412b82ceb9b63d58ec3e7c8d0c144b138ce13baed4b90bc60279a8e6b41a4201e56ef2c42c6ba615b4ee9e7a69f5c03963c64b38f5adbd43f56b71626c0715c3163568972fb498453572ae6fddaccbbc33bae1c52fd6f224634f1e2b193849f101fe0bca2045036ed265df5e0ec9280db49d25a11a4db0d32817cf043ab3ec5048be96af525703dc359f3ef055c3eaae8663531ff33a9b3970389e988068a8e723d05dcca592dcfa0a677b63107cf8e0671b5cf1be417ea8920161b108445c4152ed7484a70e2810141993e4d3ff9a818f9551f550957cd9080b4e1f6f93ec4cb51b52f01bfe072b6f3a3569b4a494ab6136d56613180fbfba2846464b6a60576d0b2e5b9c172d8aa299721308988b90b3b345f7ae3232a731c4256905ffcd85c6479f3d58b2fcc9464ab02f8471eb21ebf63015e59980221ac3cf2e77a3f8ecee64dd3d2bcdedec98119d0da2a57d58a37d87384fe52b1dbca03261d3f9a807175297577cb3a03e168e9361bd8854799536ab6c0cf2550d56bb879d5f99ac52737fe00448280a76b216f2e3a21ab35ac59543d1826bd4110b818a4c10fd6fe77c734e7f6c919c3b1144cf850b83be095174b84545db25d7a7ef68e4d149d03d3105f4593ebf6b563b6fd911825c53ca33d952776ed26178deb01a87f34fb1f1ed1d81375517f7bfdde36bbd75b8d024be3ae2f6625f08bf0e9c9838b87b99c66549f0b1a77e2a4dcebc2a5817e97bf182b20d9241e9f9cb9f93994dedcf201ccb44b96de213b0b8fc6bbabea22dd6ff8213e8a302d956a0e9ba579f7f477dc3a9dd858554c3e1af95a8e416ddf66fd94970ea6c4556f9e6cd1be9d679ef2d85caa75cf5b977ff6af8901d2737ddaf64e3c1b743c798f5547303155c0510978b00e9670d1079c7a8b1eecf3b1a1e24e56afc977b021abeb946a16ea2341a60457c26cac08fc7e9ff146f701da5292abf27d000e4eb94cfb0d6aad5659692e0c6eb279c81b8c38c11770d1f843deacbdea240f40042771842d5f230a881dad2ac0f92ebf2d50e02a5b405d046957db00a806c66cd271975af2e080e3a20e1d166d5486b9761f20a0477e0b372ae60ba9779d41cb3865be76d9b7b003102c28eeb18ef53475a00588267779a818ce8b65c6b8c4cbad2e993d9e443f8513987b1a9de2e5cf04ce527f91a11a5b2dd8ebfeb93986bd198157e898c30aa838721b4fb483bcd2fa63e3da484f1665c98cbaadb51f3cdee1e9caed2df3b2fecb27f34d664c2fb065f1f82595f76c3bcc7e98a260e247082a4bde9181fb12a049d7a280d298a8293bf78cf383f68bd8d54d882efd71cd716fa84ddd6b05bedbd0a1aa6c97a42ff15f64ac1459aa5ea944184f4b8d9ed40e2b3cd8ddd0a4493e0ec7b29bcf484318a9120fdea566646944699e480d6b4e7eba09bfa96b484a2c2aca05eb128a9b7753cc0fa976c9e387ef99d70233400dd7dab29293b5b2040f73e7ed8fd989ff71eb3831ec56d18782654deacadca564537d4767d9387fe75790227b2d169be7e4bf0aece1bc0bcf9f6efb49095484dd22222a41a97d0c1876b36b1e6de1292aea80ae0741f23826a3bc3a5b837e9cd66d9005a03181627c6e58d2ee14e65cfe7052350025618fca7925b4f2cce393d416dc2122ad2ca2f5c60d6961a3e676253d01b1a4fffb4f751e6a623b996ea4b1b15bb10a3a53b4bb6e4aadf7d6752a314733430bdd51518f351d077379ae51b58d3e5286796a6e2a49f655cc31db3fbdad0d43325d7c5b3787d79a363f596dec49d0812c3ccb03ab9bb244a737d4e2ea7748206b56e1f116059bff244730334d4e468d8c5f5a061ec2f45f22bc7fce91491a12d89dea6eb11a53ab01a21c3f7ebc64f498dab3be886589ff90f54acce8723554c174273339a6931b2748153df8c81fe091c7cfd5b44961f8acba06b594ee57e01af74d4dd01c917adbd19c4b2306adf1e2e091a7314f5332bc51b4803919ba8597ba96af364ddb1fff6bd3735783ce7fd163685aa3bb5f17f831cde9c4ac2b67cb23a18c08a3d4cbeba83860e461b959a6e24eb47695ba7470af28421d8c50f6559c293245ae5e525e8a9261f9fb80a20ce055d8119d1c0014b52597b9e96c4a2b9a7553c31b5054b4c42e987bdb1962d7c6c56abb65225be595156fd9f21dd2be99119af8f2c9580e151036b65d09ac68337e4ed82b4a4ad88897ca2989ceb7b247ee0edd725c9f5b3190c18edbc1bbb33eb1553ac8d81ba76a32af50dbfbe77cf72d20c2d052adb2ab00dcfb9a27028aa36b5cf4c4daea1449d38ff71654fc30174ffb14e0b7d8656d73d01679816b545ae14a46f5f8cc36a10b3779a163db1f9a8ba47c7252e801fd46e4cef45966510606693c4c99a27caa90a13de63c7546c601aceb1256f23d570d3adf69a9e3eb3118029ccde4cdaad466bdf7b166f672ed9e6932792aa75db83749246f6e97abe30ffbd8330b6e3b8322f593e16cc4f80af2522dfc78fb8fd2c66948d2699da1c778921abc159ed3c7ac906d529bdd6ff9411718cc270e7de7747d9a3eda254705adabc9aaf905b179820d18fd60a40f7ca30f8702f6d2ef18e0f6751c307b90aad059f748d3237e8a8adcde5bd9ed7977b1893d92b505909f948dfe60a410098cb18931a6cefd8ee2d2848b00d2669aee88ca9dc62d41acc276c5bb93150ae6e8eff8e19bccc58ecd736d2c4851effccbce3cd9f862dce9fbf0f2b79532233c29f0d9c7fef94b33694fc488a6dd9841afedd54776e0c18115b51c31198e739dcd340e8677b2cd2a4abacecbe87b18b3da97d87bf775a5e1991dbd88fe3b2d750a53b55b2140a94b4b1a06eb2fd21d3cf8462aeb5eeabfd76851775b933025a5a0153b215b53c5fb61297e9b9a1498196339fb01df36b6b458d4773316adc464bfd4387fa3c0bede30c194ad0a377242687397543b5c4da0ea34f128ad79bd39a748cc977f796ce7a1807e25938253af335d3969c207c11228d715b165ee7809623c6fc6a6ebc0586d729623ead6f326e7e807cbe4eb3f2e2bcda2b68f6098c5e6fe72dfa976ef2c7f20e61587e3a1446974a3d240955e877b554959b75aeb6c87d01d9521a6fed2dc0db0ac33f0b6ccb24f5c7c0a7d9586adbaebfc1fda11e2d3445ca89c56d09ce561c364d5bbb1684bbfcbf4dd50d6d1c1d2ea31541e9c98416696dada229485f75a80d6409bcb419d94551a1edf37fb212f43dc60cd8d19cafce0605bad50c4d0b33b464b99fe3bec75f3ddeec4f90868b336c80aecbe6f7c19e4a2cfc02fb0dcd487dedbd587d842fa2dccfc5dfc4105bf9751c28f900be8cf602177438019b4ff08e1bb5622f1e4ec025bbb3a7504885e9beda5b3eb74afb7e450b015bcde210e5e9ebf094ee8a28b29add98adf7a9bab971ceb8f4d27060aeb3ffc29deff98d0705503c107aad5b81a0f7ffbb355b4a5b0cffdc3af6773b3d0f03c22be846ca705637f4621944c4bb2b42c79ec391c1645e74b32a23fe16b037ca99f3db73a9eb6691809fa0e87d726b4f460d18c56c2853e04c62dc9215010bfd6fa3e44848e14028aa02b455ba5f0ba2672cdd6a8b5e4e3304a9a90f339cb24ab6199903e0de78293e3caf738083061409a815ec26da85f533f3041335af543adfa8b7b91da125994f31b518c5d72d504f753ea5ccfee28d8f47e791460688387ac6c717cdee0aeb486ac59294322e3b13b75d3e7a8c961170d1a48595ce0824d6810c288ccf5c9dd1f6ecd6c1861a6d1eab9d7142ee7f3373bd7ce71ef5e789b62763ebb6be0ac7a92d3085a4dc09078e942ba68bfd0db4083b99844c1c5cca22f6c997c21f31112b1850a6b66bda2ec5e774eb9f399c9947954fc1d8da256f1611545f0d14312061fbc2fce847d283f5501468fe887c9beef359d2dc7fd362c33f683f369ce98269f7ebc919a56ce0f53392800eea280e7ef635de816b5717619f1d7c9005e50a44654f759d654509422a0da1ee7a5c0814793a04b6a637590b9560b79017e47c039f904ecbd57e26649fa69bd913e12b673402bc49f9a27dc3cbe13bc9a38fc1be5089f33f9ddca68b578e811808b20e1d62d778a482efb66ff3f89b99cb9b0938b77159ca47c3cc57f0d5fca0457b313f694802888c919692a0e952faf2da8627d6fea564eea5cbef7022744e607940e6b5563b280dc43698ab2a6c7e0bd9424e831830a211cb7094dd75fb55e764f5a13d83e89e1500f7206a16eeaef1a4127e6c8803bba542bbc0204167eff7be048db22be4890afa91de15ab7d9b7dc339734152c572f0ad03415c867d8c2ddfa58234cfe28ea4968e5d99376e3edd4d80971a2e043620879a2138755dc32d1e98856da997635c349bdd69ce4328c776bd18f509092b427645ec1aac21d2bbdf8ebaeac043bbde05d8c868c81aa66f1d0e9812635dbf9ea8f5a59b9730ab5b8241ed916ac01100fe974bf1c9b2aa45ae4be8e7303e38d9d925ca1309aa1b071454402d2a77ac00890882030be9e6f71cad0761dfb836a853682122cf6bb9ce904a4139e01bcec26fec4c2427cee965832ca2f28496e2e343a6505e955421014c1b55bd2e01fe3c6a1f388eaccb47a5e5532fb13cfff765ea0d607cb8c8f833282efde6b30352b9b87a7ebe4cff6f8f3b701a941f652f2d999d8fd55c46bc0ae3bbea9e9b8f137c6839901eae82732e2ae4f06c33f5c6530e5f373d32a90e11271e2c76f8bd8a76abec9e614f367c87468a21a9089695f922b6160fd712c78d99c8ddf081f0ada8d2e151cf476da8c2b2c8074da29945e12eec3a1bfc5e1e5aa559832b8ecde77f9a5a6fd666b8dfbd37d15669aa7ef61686ed341ff1720a8169951d5dc94e9608e850e876995aa1949faff7580213b9b8e06891ccd61307ee59622e86ffd5edfb6153ec0c7ba524adf1d8702830141aaf461a884ca73d04f3c86a44a43cb11ec7d2179f4c333155337e0ddfa91e5f89be082030d023c14384dcac59ce5148a6a2f81cd746ea7d8c81e3464b6467936b5828a78e784e8f976af9fa92725c8a4fd99938fb679b95970ae73237dec6174c50a5d5764e3f6290224f4faf588fe978757532c8a79560d527b926e05109a0dd0e0329e9cebcf3a9028c523951c09aa330bfe7de7e0de02001c3a6b3c0be5ededabe0241087ba8b966f5edbc454967bbb5b13945d360f087335c5c979f6086f0362e1f9d2e7d0a98ea373e6ce08d33f2b9b8854ddf45482a5d4fefdaa147990cd2a1bcbcceb7eb0a4cfadd1a88f9f18a4d7f282df9c5172dbdf4d3e2e4490fb1b751cc9b1fd3dda26140e4115d63d7f5734de85dd68dd3fd06b4765b2637369d929cf232ff50c9c1677b92e1eb52bfa50998fe99cf86b59e2ae2a2d2be3f4a18d8cedb8d9ba2c73994cb1b21c45823013d21c18490df7bb55a7918623544c145e5c87002d9ecbacef14539a968361bf84874b734296d6127efe50817ab31f3b78030b0c83df41534803deceb1394d8df54b4218fe1600d34e75cc927005db8a10d62497b4fbf3efe4cad52cb59e9da83d6b2bc5d72aa7fd190aa45edcd103ce599ca27d4b2572037248364483483c48afcd50cb6b12857222c6b135627f17209716bbafb70258c8fef2c7d27fab45f768b98208543da63d671073f1fb4ada28eade98c2a874b8eaec2194cb2cc3a68096fbcfc44c42826dab09b939025bc0b3e34bb3f5d5eb25ad45533c41e2fa0d0c78e3e189582291cc2a8e7ac3075d14308d96f6bd6121bb89e8e5df074c29035fd6a13e6af1265e0ebc8f46b0331e8271985e512abac8e55eb8cbf7082db7873d6da92a446572f2ad8c7170a02bcc32452622fb370cdeb6c02bb16e718979a72bd43da4689e5c39b5ba7989fd30a8ae8f5a9141ee5cff0d0af830ef766b2236f45c167f49581cf086e5a3dd1b59113b29e36128603431911096adad874039625ab5e87b42d61a091687fd45d7e3f9f8b4d7805e63bc17d371f2450c4b09d1b1487baccecb7a94da5902e163c9c3bf6918a98e5958dfc9f4db7d727c8b54d7579e2583df9f18ba9db4d116e0b9895ffac54990f12a50e2eaed668b2e964718e6215d9246fff690fac9bb975288ac46c493ac673690fbc12c814fee2805fa3a89cc84ef3155d07066310a03d0ae97509523619b23ae533f7872ae315a709863cd93c874f7fe3499aa5e0ded2b455e8aee05aa02f9bc4ae0d3097fef165e3b16cab8a4719f7ab82276ab16bc4a169640b21bc1b7f00ae99be2356bbeb3f5d9655d2fba5c5e99c16a01a5b339cc706e02a6cda543f30b6759743f4d527da5817d4b9ea63aa88514e29e57b15de236244e5d29b6970b4aa79dbaa44c5b1f3f01b5c9f67539ff20ceea9052c5e0d4aa721a9fa3a42a7051b5142a19d5becfaa73ec33a927647ccdb766375a12984e49c5a86df417d96e8be185411befdea129940d6cffbb0b537b1140f2fefb2476de7f70d3df212cda46961ca2efb76ba72029630f4288a87280f4d9033a6e147fdb4992505d9554b82672721d5800e1158fb46da6ec8507e81f29f3906ec4d765edbd93d3f3ce2a3ae2b0edd2f244fac542a496b316065e0c2e5235021729868d416649376ed37f933962398f40c8cfae5873306f235e9289158bf96361988f0864ec10fca53ba12150b8cba28c7521a442a5406c440017a6b0bc46bb7636a7288b4a614a594ef1bbbcaf9a91b49fbf59dc3b2c8ae6a49ca4a9975b3128638681554482dcf1fc1405051a0913151d37e65350fcfdffe864e916e3178e8b5ed4375e4215219c225e594bd846a6adf82023df0c8d58b9f9cb274ef2b33ece6225428c0a9b79336a2cf236b3ee2f77ad1bcb86b4fd7dbaac5463edc0719df27b3762abf63d0ecc60f5dbb75164a2028a3af8ede02cda60c71d5f979598e4fdd99726e054462682a1f56326016b1daaa407ee38a76be4c26b19a897481c6e4ccbf2ee06e8d78273593af2f4bbf7dc98ee338c26a3a388c3a25d1134a499f9f0d6eabc9c7f465699104ffb34334247c7fb02f2dc425f8aa9b8ea75510bf53e0da76a6108e0bdd67f4f384dc278893fd442d3aab65ce521c135672dbdaf27a0e9400881d13788a103ba66f9a993ac4380d7a647570711e267dbf891264f0a49964d67be2f913a331277bcda9771a3daeefe258bf21a67f70e6d76b0df68e4d73af523fdb881c1621e423fcb38ae9893ca22f941959a0ce67688cb4a616955b061ed58fd75995d07af6dbb28495638772a8ed3bf66c2debee878494a0480ba26f33ae647e20bc541c2e506b9223cac559916a815b0ce1023656a57bb984a8361d34dbe7ee54cc788360c121b92c8130a4cad2c2c1eb02ea71b483514ced2f1f20dd342a1e415a38541a92a8614451120dc6137e3343525e346704d3f27c68e2dd93ffcfe900d23aca20a7c5a0eababbc70b2330cce333463c541a7216862be7aed1c388873c42793092464c41032a02e13fa1a2c034dae64796e3ea0bdd14ddf1aebcc7130fff1f66e53be5eef0a1da3b2a152a8f1a8052182dd8a1b399ec8c0827a06cc41d954e49f94ac1abea8a9311a55f3850b9ef9ebd2902c169e36b7dda345d7ff93efb072f0397da4e500fe4130e974a8b36e1db89504184e778e89dfaa03f492e47172509bc1db9fd510d123cf775cd189b0482ec750f3f33bf4f7cdf2625f63d9ddb0a4f19114bf450c99a11f0d373db737e053f634d4d9bff31d846381887062da810b6c117b0cebd4f70cbab3b9df5c18049b6862ce062b0a7bf9b30ae58624fd87dd6a7952b6b5e649944d29731b8302077b7cdc5e6f83fd6097452ded9bf26af8a6f7bc2c6b88f7c399731583cfd60150e6e24eae83e518873f275f62d48af884ba86b6d9e864c11583cc8d80509efabed396e73743ad819ab5b56bf83657353f92f805a5df18570e2e5b62bb14db80247fff0fa098af5e27b078f0b474555aaf4d7a362e3f39cd3024a3e9105712d9b72289334e98b95f447a0ffaff8fa6ab85617dd51b7250678f38d2c9a020d2e47fc5d195d18dab268fc2971badecaefa633b1cd12877aeeb31004f79b5497a3d59d9c10b9d6287a77d965fc82d1767c69a302c2e8933b814eec001ab8a4f02eaeab5dd9c6eb2599433df943a9a17148a7071f0913f05677a1390dd407ee47857cdf6a89af1eaa1a90b836e55678680a12e4361aa8fa28015a18aa92e67a3ba0f13fa326c01d9d2d059de2a0d3bd0453078ecd6e2d6da2aeead3a25aba1cbb23a8d419e64c95e9b61b3b95f1f371fb59cace6c55b3eb729b097ba2ea6f44fb0d4cba465f74be71c035748fce9d73129e09b86d3941f31325b2eff028a01736171f5a90d5333e60168214e9f9f6a1ec38559c620a30dca867ac03fc9c139f1856df7acd0b92cc6a33ef8be61eea72b1fdb390b7e37cc208e957e61bcd238c0f5e9a9b24ae995f7fa03c9566c6607cf278b7e4bf2c2a29faeb0a71a33356851f6be27edc4675d1bae532d0ab555c7e4d52be4ca33fd9e1a375fe7ec514ccf95e23ba956ba191865d679dca8dc8024d064a750c935229e21849813e1e4ccfbd9ad074e9b92f456432e93e3e7ba268b68204208cdc20279b03923585494948454bb4027259faeb32cae8b94e47bd4f3555026d511d8529361b243e7bf8531fc6e7ac91fb53022a7fd7f129dcb13d2149ab538112e03b2d0e8f0edcf749ccfad510bfe12832deefc2942b902335215281613aabbf776b788049cc2c72269dfc8e0f45541de38a6f3cd052c731ff507076f49fbb2cbbbcc0ac78e680293e7961c705458aa941dc4cd591a8f97562a679814719aabdb713118744fbbe688d1a7afec7bfcbac64a5c3c713a0033e08a20b7cecea193a69fc4b5f0fa0f79cf099a9c89c503cc1f5698c9e9d3d098df9231a1e9abbeeda31b4525261ceac2974849d5925ef51a1c312a669f2c728e36caadb2c459c4525db9750fc16d809bd2921842b3296957abad78d72348a99174a6d773b9a1d596cc7c23edb42ed3a2ad33f1faf5b756efe6506afbc46b3676e3a89e26ba4086f27e5ee7b2bd798313d66698e311b7d7841b74e409ca36435840d49f6780b52b22d10945166b0fdffa9dc4e52990fc822c423d3843ea7ac91618fdfbaa2397b271c43d7bb73cd67f3e70d46175eeb30f7a5a7e57a54a4a0866d20eb25eb0924d6e09b947a4f0ce4d04d29f1677b9cd2effdf640d00aebae9a89f0afaf4f710c42ffe27442da1a5f2ff73405b308456ed928a99409c4ed1495eeefe772bc98ed9b3acc7372ae640ace135250ada57b22794195d232ce4be34f2131e2c0a6c02d0ba8c6e67c232a0ca9438dada42cac8e78a26528058e62cf1a1fc0865fc684bf2f92bb70ad4372c60cc343b569b8e271e453709de5ff56aa80952c50d81230cb8c02d34e8f14ae5b751141a5b5dccc3d982a16a160d3d18fb9c633ccdef887b23ce1325d7e9711edc98d8a9347168c738b799ec49190c3a195eca869b9a27aed3a2c9be223d85b041a4e8f75b85de60a1dab51c19fd975f5d8fe30f5b3727eeda4a0a2fbe550009377c745d23f614a2f13668c8b434382138bb15d82a096b49ceed4b39e120d9c9b97b22c97030ca79991a657dc9df2b1c07333be8ee274f3c22aa60846d02a10d35bacfacc69b773f6e1c5a1e15aed2313f21a9c02ade43b50f13388f9fff71bfe7efc57e8a3f1c635bcd28ce7b776f6323b5ae8e52e0249822270fd31d95b2f3a8101149d881ad7ff6905e7f790fa4ce8f4f70e702973d308ca60baacde5776f5d5a810c36754cc3693a11a963f293c7b985d4904f4b820a86493ebbcfd299e78b542f9e73c2f2db836d98f12312be8f633f8c3c171adbd023c761a67de6d7475c80fa778002372e2ad022b22153de73df2a612ad7a37bafea1ecc31e0501eade634768731b492f72c7b339149f7c56e24ace4b4389f60443ce0190d2eeba340195d5ba9516180d81ab7c7ea73269d2a37e665fd9be1714290f548f528f3f4b6d70d3b5fb621adf5bfaaf1685f716bafe3bb8992633f5fd7088725c9ddb5ffdf4af75d69a4a1cf8a38e16e085d41cb79b95c1690e48885c17d6a2b3ded2b127550f52871996144585f437eec0a557d8893ce60c4c8e06c8bac725414b8e92d4af26a15f98aaa38f94f346f161bf9e6fd859980ef604ab16f9dc2d0b04ad01957d202597da47497ccf2687d0ba5d76371f10ea2c9226a08a45c2045f4c517badfbedfae8516fe9fdbf8a65059a4a03fe2bf64f1359edf89d4e707b043bc54183eb3ebc25f2f52cd886dcd2c8cd890fcf711dcc8e7d7f194606d0c23bbb81d267ce7140555c08e35648de66c2fdbe251c910b9cf35266364ecc71c1c2b3c8228dbccbef9b8bf3934afb3495f859042b63997bcb5c230a2954c04e98e0662bf73d6eba63217ba99419e4335bba4363d886554c9ce73b6c2901bc15c08c2dee933ba256ef81bda7ff71fc91e2d9a381d3377b8e95e1edb71aae332a96baadddecc64cd02378f17fe109d1949e7198f397dacd0fef41a1d6805289eb61a4066830e49a065b4480761c5eb26cfbc25b41b014a65badf475e5c6cd3a03de68955e29eb901c79ff08f272abf062dd9997fb8240da40b5e122dea9cd01397f3602b8238278efbf988bf2cf6c26d8ab22de8e4450da72766ef861e3085580afe284a5d4052a01040f6657c84829af5a57baccfd5a93153ff92b5ee86e0020ed31a9ad033bd419ae62d8849edc212b3f917101fa04844556dc3d393e36954b743787e70ed7d16ebc58a129a1589c9af42f4d48861386223747e2e2d9d591336a59e2324184ea50b98fb3a0af48ce5928ca9b809acf6dbcd6c872f52c3b6bdd273a0e074604b6aac88920759e2c411446e6ed65d139131aedf5330566d373be13e203497c541d1f748ca1bb9cf972ca86469f29342773b8b0bdbcefb8f06f696667b0895818f878995cdc8fc6b93373fe8c1351372462f79170c0111f9b78899f353d621a0a7ab62dd2db08d0e56763f5676511871aeb81d49d6791f374703e3c27512bd9d9b100d80eee4db3ed62a04ab2c45e43cba011324551cefc0b25815bb6d38369f5c2d4af0e1f0ac8923332c87e2f6d884223cfb24e17ff1a8549722da65375d5aa0cd44ac97fa112ac300da056ad8a2bb52a11d094686021cefbb943a0ed8b45f92c8c222198056018a1a9478f72ef9007b0d7fed7de70fa754c7d559fb32ddec6ff630893b76dee95b4b9bddf7d3dfb12ac54bab58bba7360dd6fef67df7cb2a47a64a0b6f76c08c74bd1df6dbdd97c86b32f153451b3ac5445703559f7b3dc58c71ab11b7c7e4b93dc1c833b36029ff60ffed1a2b73d57fb66e8d0eb091fe4ead1c49de4a0a992b924527a9ce86574c7071848d1a750e319ad204c69ed44c2be514ecbb4c0520de8e68f7bfb1a291bc410ff9d57789a2e5cf1b73040a6cf6da89a683b76514732aa9a18707842dc75c53e6c062cd79e01f71b21c59cbefddb714919b2b75a2a34ffde05fe6377009d78113c0d749be078d7f85e85600a047e8880c1040ee09812b7a5344b79ea9808b5dfae41b7d37532d4c5b89df396d97f9f33aac0ddce1e78afc0ed5b0533954466d82df4cfc81f7031baabd44ea5e343c4951d9418f102375d3901e342cf244cb5c510eed07b459f0164ffeba955f2defa658f2162ee3aacbc69a9b4d364444f7e9331719969a895383e715eb2de83b3f1f297da5b2d549a1190c17d138a9bbe7501a96bdfa60a4a13df1331c2e832216e30689e5c68c18ed0a1d6b101153578387fbbd6ed766bea020aad331fb9bc1d5ce410bc8376a201cc4abfb382b9f3c689620b9c02305b2be84b8aac53546f2805b95b67eb99a425604511fa1c8ab866b04715e999f396e73eb35fc6332d554e09ccd5d4ef33c1abd0f38522efebbc2f864676113fa5ebe144db76cb7d27444f66fb0bddc14f02d3974d50a92a3f0633ee920f112ab9fa88c5a94721c10a09ce7f8bb23fecb7487784ffd80f823efcf2603f9b204f46a7268292db74c69863d5f96e1d0e559eae933d883295c298e94092ea4b395749322dfb4ba072cccc7ad1d64453f21ccef80ed097514d194801a787df43dab807744d4238d66835db1affab472d012e99318aa6f3cabad654fcbd2db3b3e645b6e88e83960ef0e1a67e4b73d669e5721dcd0fdf77ab0bc2f5f6348851a981d929b2120e22aebf2db1f4294a592dafb288968472428d2bcf11f59332a03ff10095a2f275add2e13ea1cc8402993489611b11407ce8579ededde5bec215342758caa512ffa19fe876a3a10c9aa12ba538d3f588d44ce4c9464a90a68316aa7c4c9c02d532587aa307acd55d8eeda380da81af67e67f097c8d68d53bda13db45bd4fe755524db614b8ae7fac347ee7c2d7c012d76dfc34165f428203bf8712fcb34730bca3a57547b295a061b73885a2faedd6d4fb6ae769b4440a0eef1a8ffcd3a92f1d0cba02c2274e743973f91e9d2f43561d9661e8709e0ad15aa10ac71f96dbaa14a6dcd386717e963a3fe71fecb2c85809cc9ffce48887fb1855eeeafa4907130fb95d6da823a07eb5cf8204ea6107daffce16dfb77da63bff26a29d7436d64f1e5abc9e394d333874d3ca3bab4e74a4039d644b7f4a4307932a4fee4c617530fda325ddaf8c00f62e816c907f5150583adc09d400ed025765232dd33a6e388ac0ff37a2ebc8aa2c6f9cd45fd2da25c2a81253d217f5ed4d44f95b95140083f32dc651c0d924490a6cbec0573aff6fb414429966f5ff3ccdcae22df5c4872766a0cfabfcde6a5d562dfe9d1ca72944363a5bf099c3b691bd045166cdffe34b809c9db0cab5cf719620a998e7afe572b2d6781816a6a84f7904a85dd48f692e790330086e7e401eeb255968d36233b91f92ef1431f4649b10964247f539a0c00db1e80d17c19635359bad370c2ce0847fed1e7aa7277d9be9be2e961ca1bab963afc0a2e0e80ea1083fdb9f3911131251b518f8fd4592efbe39f12ce983367d3de8a12fb196fb0d7d34969069f13fc739f6a919434df81f12521d6a4198aa59b0099d0b51d6175c51a9fea3197b1b6a2ef81215bf21eafe346198cc0d8bef8582a8471654f9cd7ad63209c6c184067543b5f9a15a5b2f4716355092861eb1abf316e88ca58885e8f7681a63d65c9609f8107ec6e280f2a814d8c7726d71ebd706709aaf50ee080b0bac909cd449646a4f550e47aa1009fc790f9e229bb599abbf56b03fc79395858d55e3a0a4264c96afbc78e417e81df8a90d307020551ef51c0a633cb9abd6c0227263a8632839dfbbad1c7b0abd6fe137f2dd9c0994e18334cd403025c089e361611c8cdcfbaf904abd9c23a2d1e6d17c68f4849ea15b04dabb3074c989b31fb32d09e583c3e22e2e297146bd4ceebb31a1ac379e50bff202d7065b89ee6111c0559c3b1f280048a98f2780333c7730c970416cbb1d46961231f1c49eb7e284f343cc35e87a576e32653e1cb8df8750cf273b93f5cbc399f022d1d997c7987830e1e869c966c6789791a66c7ab845eade7fb76ae25cee99c15fcf7dd0ec53da08de5dfdbbb9d0c60b00443d9987d695270bc8ae192115266e466efb2e3072441e2283806038218e19d69bd28df53778bd54f0addc4d5e98f9c8c2a6412466ed949fc8a0fe656f3b4a7341d669bfea3cb7faf2ad48b80e24809c5424e777eda745213a50c6bf56c5189f8e8c63154e2556b0f7a0bad220ff4225880075d27659872e14a4b1e1f45e4dc9c451e9d29857d7551b49dba338487937dfe0a1815b98302571a57219b9a397e882ca007e663e45391766f0271d08ac397d20c105f1f4cacbdff241d803468a88c1b250a04930a10a022ca0782d73389ab3b16e2c6a5e05ffdade91ff00a1dd01083b8cdfce2e138ef5bbab84466202945f6ce3ef86e943cc1fc5e9c039614da3c282af6840cce394b3e47e4d1e7dcf54c320da4d3b316e0cafee0c99bc6c02568b5896141ee7e72df47643437e00677e6b36dc9add56f2522a9e61252fbf3f17fec329101e87e700cb8f14a43c63be506a545f690523ba09bdd7ce5a94da53aa126a6c989659b332dad7fa516722f06f42ddbac73ca5b8c9f7c4459e3f77266071abde559c8ab150cba9f6c26bc105f45f68670a36c70cf66a91c03377c09483dfe30ff8c72a8fc813c38202008b9c43e8274d48ecca6c078007d3f5f2f8d8332718955495769b1835d7a2c8f29b7536038c79736c945cfe0c353328935f86ca2de7e6cb8ee5b5bb036ba3cad30f74a26e184dab33f4418cb0d55f29816f9b300dc229b83afaf55468eb7595f723e8f8e441750b75158df0f895fda223ae8442b15f96d0ee985ac74d78b35ff2ddc943b569f6361cdacca65a1d92b3328f2de5f6db805e03376dbe0100130cd0a1724bcac9420ab54b80e3208987451f5c91a84a4d25bb6da603e922da3a70402870511377a445edb38189b1cae04a33e09a54e8472df99fbcbc00b5e133a99ebe54813811c20ba99f1ba9f9a3b518b4efcf44246954817cb4caae79312561ab589c3fd2cb866708f807d2c9214af600822c08b4d2fd131d4b974581937cd448140eb3e29498c14b998bdd0bb63b4ddfa6d5ad1992251cb67336ddf5904a8154b7b4d2590131f5878793d3739ab4a911f776bdfb7f9dd45be317ac67ebab46ffc537f27b524c710677eeace7c7025f3081fb909408aa04abb652a18329d65458f4d138764fbb009267789ee403b514f93066f2ca5ab59040b53e410de518b3c1f189379076b81756d4ed5b87a89c78879c5809e31932d148fa6b5c2e1256cd7d8568a66c304e0b11fd7f1723d12bc9ca3006c6ac641c0604c7f5e2901f22345a20926ce052f4fd7af2b66d1a0b27c9df82082c2de4cd086e6a2f6ae3ea11d2ce5a1184f27a94b68f6e027a6814d57c36a00195795e1806e88152212b46810f0da9c615e110ad266435d421a624b242f52d2c42724db625afc22e7acc0234142a69065ae6dced6d5e0f9fa7c45c7142da816465ce9cfc4efb085de907724ab91502b9353cb328a004310c55dce9ed39b758648788178944e540a8319d91b8fba301724fce4a425b7df29353ac7749331165994e7f5792b2aec7a7ba310a1eb6338f71b96a499a76367b7115399c1a01a016a00522df7f3ae06bd9874d5e7e82f220db26b9167aff7274e906445df1ab35587fae44b07ca77a43a1219227db887a5ce11dcaaaa56500eac94730108881a971fecbff1ae96450db1e93dcc0ca8cf22c71baa523c1af1d0a1901c90fdaa45c215e70ddac5cf1250d7b6a9eb53575119dfd0ecb34a379813b7bb7ba086bde2bd753234266b10f96ddcc3de5885336168cba84b185507dd26031af7f9cecc6f1950ae38444dfc8d299b3f6ea3ab31fe90a47283d8b70c2282c665c8bbbdd3f998156c43f4d42e0950a9e40c717244de0302a1f21982038a03ec8f054c7f876fbe838298e749cdb57dd0c0a504196654681deca52876220b2cd3fe50331e5296a28d8c6e10e69d429ec55dc59b47c18df112c0de64a4770f7f4f8160e0c47b48a5b7d1df06be82c3b60655cda7136691e3b703f35f98d3028eb91761599bdc24c7cd8860cbc984a9aa961eb6bf17cc132973da101c36d5bfa4909a4495132d912a6de083e5a59f6cfbb6ea85b2475851f18e4afbf4abb86a9e7d46f367f13c590ead52b5204c2fb9817c70d660ab220fd1fead025500db740a969a6fb6d16d45162295b4d5c31178cb12e943fb59974172987de798cab8323ad7901c0af8180b3a28c9cc644c24fd838cef971376390c23880fc3d4b56442e37c1ed5c538934b9a3805ca8091fc155ef99b8df6de7d250af9a8b038d39e72b39163acf120c16f02fc6652403ed292b5eb46ab0db8234b25298bbd676e745113fcb50e6570ab7633e777853f5e251cc0ca014d1a170a330b24528bd3cb0e0d44ba701b602ca678b3e813e687007b70a2d745c641823f200760bb435f05a1263e0f766fdf16bf14498a6dcfa47fe12a5a51662e1f49b17ccc94c8f877620866a4756c73239e08a1bb1b326a3927b262a3039d70f1b4d9f249ff92cb2e222925de3142a8033948ae8be0b1e0c911ae6d9324311951ee845609f6944e7f86a1e533b940a6235bfec735a61b202558cb11fc81d0161a3a7fed424c80c84f25ada62880b84c9fc6c1473f12ab806bac587885d1df992d43d72e1df7b428d481e354f80b01afe10a65bbf9e2298f9b39b8a992da582154b49ed6d180e4b5e48177e838e50703a77d8cedd805a3bd66dc9acb17c738dbcca34e4d48d221e23548caad219ed0361e39b468157a398b8a015e1d11da4f5ec1094f9bf18da7599441450358fa0e6b99b93d0b41e070abf32292e6d053d704a988f6691d95103f911c59ddf62a3eba3f9cbdfc70c2c781c082a65118d209ec64dbfcfb46b4551f40120b24354b213905cb265f3a1e467ff4268f621e75132404d112f5e16ecbb06c32f1c1e185cfbd9f9881d62b5c1c28a019453628518aa196ec4501bf08766693cf9f13725936d7a34fd719140bbb79012c1fec8d4e57a11eafb8a13d445644b37b83c0700ba12ede29c879bf8f995fc7e92f8c946df9b2a465d79d90bde5c8745583ef4903fb018d9e04da12b9af60bc18aa74c545050f5d5612aebe8c03f60593065d94d0a19b4ff915e805ee71a773ebc46c5c39a8f85744517b3ef4b8947f8e6f2dba5b81ba9e40d17b884dfb67949305745b912236fddaa944712fa490ead590ae0446f5248c33d6eeb688b9e6795dbe53a0977729bae2d3b6469182d8dfcf9b72e35081792b8f40ce71883114de895c801b56d414d250c91c6dd0e1c6fa8382e2149d69e43eb787a4f0b3b5249bdd6635a01c85bc563a22ffa5fda5a9df8e7ccb123fa2e70f20a4df5eb330e55fd35b8130a002a4eaf55d1bf8e3598c1712416a2bf815032a2d7d77a0a99cb27d399c38911f528ba6e1b3f6a355e33073e27ec5c1d855eeeb751d0a1cb1d37303eef08e38d5cf46f7ac4ee610d454536460fc271e6d6893df4c267b3f9712c4eb20e5798435cd70168f8ff5a8bedd02eb4978dad28f29918c292adce8ce5b15e973360a5823ba39e3e093a33ce9cd78748eeea411cf44d640610a50676016fdd365515901c68e2752feedc720997ba081456a58f9a648b540a96e21c3d3fad2c4ea5610ade0f465d96ad0b2103bf0ca871d3c27d5d9166fd665f4e51b495f702836e21d7c9cd7db30b2244e299e728429a106ec3ea0a1008cca48f83eec2988b58d0b5383dd849286b67f9fa73c1614df00945f04a39783c88b6a49f676a9b12421592b96a62b1764a461013783cd394333f49a3069533e73a8d8689f197090cb9cbb4f8014989cab5b5fa530ea7ab67056fe1e95a6c28252b4e49559ac991aff62f23f8c07076c29012a44fe8e5ebdb9cbff78aa539fc10fa281fa73a19f25d07cff982ea584a6b8f7f1b0efdaa5f6767c06ef710192cd972510afdaf632ee1fb4c43c9cc8f896bb9be6d91acd739f372fe953b647e7c241bd28c4a70c7eaf1561ed617fb2d97d596a9488e8e665d9d791132e64c5a7397d880e655931080d329c75e9db1d5d5c49d6cf8293c3ce12e60f334387362ed94ba31db1223d1a81354775e5b69d2ea853b75523140915f21412319b438d910873ab55b2a1e3cf7ded5c0928a623abd1c02617eabae6d41047a15edb41c1970a2c9ea853141f7b0b9f61c79b3e6375397d4840ab8af4989865d17649de2bfc689f158616235851817b374e021afbb7ed0c063bdc6acf91b0dd741409153fd9f2cf916453a927189045116efbc30ee0a22bd25f5d5a4d6c46c9173495bb776727548042d9169f1918836fe4212e27a2a2c98ef94f449cc3561425ff48d1c236337f95e14fc1eec5266ed6624fd4779feaee21f586af206ededda7ba9df7e3fa6a857d73b29bf988f191b91606751f96962729194d12ed1de1d7869ff294c61280c95df10f292fe5eaad155cf651ebb6f320c6c4f981d48062e4e6c0fb7770eca69fdb23630b44682f1e1c551f727d7b9a12cfcdffb04a1188ca37146720fdf57cadd6700a670c0c8895ff7dd9de30b921b89535d1981272fc8e9a06ced03c0997ffdd98ef9af9eec3265e26f5507ceb97aaea7b1d0b7a51649fe755831e29690b11a9b1398cfc12d1b2f70b7b36258d702cd2cf6c80aa50cb8e654925d01ad89e8d7379d2b597c87dfa207a6bd0dfd6328a333ba8760fb879f711aa3e0a8b297ab689bd42035a43429137e886e33f9ed4e374db06c387d90976ae765077be935441f4cf00e0b8852f31074a174108d6e51faea3e3b4aa34952bcea437b1f478023902f88f4744f46f5190e9fe9058fa05a235e7afeadbd990b8359d23a0c2fa7756d14b6c1bb2c1b0ec687ce983eb7e70029a66544c2f6b9e5076ee4019dd4889c19f75cd20afe052ec2d66d1f2429e172f265c20a3a2839b90009dccba98aa410a57e2138c871517861d9fb44a24603adea634b77fb56ed9d82d8d75a68022f929bd0f7ba6ba7e1e6832a732288cb676ddbabce2fff92cd4189eaa39e41e1512daf2a4123bdaef834979c17ee85236b1491ade3f3b006476cf1251ad7c1c5a893af363eba2e9b529023e635a851d204e5f9b015843b065deaa697793b11c7d3d1df59571274ddd4a3de2fda3637359bb938b2b09c4a23b82060305e5112d0c5c1fb251363bb0ffb4d8dda450d1b03693a5c9fbf18ff9fb424d8a6a80bd8e62c0e364d3250dc7b06a464cddcd20df8f86dd5a6b034bd7eca9936ce8308f6b85499151a489630b016d23d1d9c742d841a3fc5f945e0f4450578e0dd0e2771cfe86c6602d745a083a77aa23c2fd34e04dfa93f37300f9cb4b10fa521b546b6f11fc205222592cc658c6d1774c95c05190df825f0de2b53cb6beee78b41a3896296e3092531311185ad3be65f01824d9535703c00ccfd8dc2d129d2bfbe57fb96e133b86bd80bf0684fafcf2f1def6b0a8f2358563cd3e596619710c502ede280d4c63bc7a2d377ccc46403a1eb31aa587bddb6e74822cbce766e9e426a3f9e3d8a693edc9ee720fb8df668d4a2ea3dcf875a0a3a4cb795e0007d72a0f58b073648f0760e207726f516ef0309a3026f75a51b422982586087ca072821cec24335c207b29466b5dc7ee726c0f358422ca5155d25972a87f68640c6392f57bc36150799ca34bd56107b8c9cbf1015d6f679ab7fa728e02743955d6a3b03b7043604db9f59f3a25405242f94e680c37fa963354240f39c0e5030f37cb6d58c26d605b944a61eabb4744d4ae7b366517f5257cb170a5d6a410bf45493213e15e7333f798b314d0b6a278462048741d65e0a53bf13ef06f531266526488df2da2fea0f72421f58089633118c2910fb5e308a0c31ce910b734b3cbbdd140183a0d827821b936052ce7d34875ca1e25c99910b751bb16c9217eddfc63001317481a9580bb739c044034b80a4731c3ee1a59616960a69b605d4e0ec40af32150460a58da624a926d1d79c27aec7072cd1f99f660531875bb752a402dcca041483c041db573bca093286f58e72160a4ce0d8f09a5390283c3e12d1534bdfa1cb0e1a6a8854b338b2d29e25b8653982743046232b235ee8f2037f3b19154074f9e4d989efcdaf4f4e62e3f6adc628a6cf41d0a6d937a1ac08be0a57d21a927e46157f2068c748c1747221ad932d97ca35e6490089ecb665de8063d5d6ee6703b85fc636a9cb5278f3bcb4a635830a2b86dd834c8c0deaacc24c7ab4187a1174db083e7dcf1196346ef20a3977de8b6d742ee35c955f464b7a3a3166b2bb5f4a08a1ea769b7ce0f1ec492bce7dc51575bbe61e5974a767d85f4ff33d5959c9ebd71241b713adc989a1929357e77ddc58cc33163cec455a350332c9ab0e179ea97b48a84685a1a80aed8d32f5c1905fc89841298b475fafdb46ef9261b7331b23099b67047bd8be0445ab2118d6d11532e60cb1be45695ba4486239d51252af60fc45eb0858acaa754499d7745268a5f18d66efd8e993eb56078b850e4d0bad2458ada6b792b0d0a8cd9cbe561c0c217a90780da2d8a0db18656ea97fb31f8abf192e25905c55e1f8fcfd25f2c5fecbba9f629c5fcf719f5a49ed9d1749563f4a753d5bb303c1691f596762cd218c8196f5d52bc01869eea0133c3a29234938d9af214ac764502f66bc79579ae2f8e11a9b1c81925339d8a505fe8eac43b229368a0e5a458d3c7d31922fa5e7162b36235a9cbfa4c5f804e212486fcdda54e929acefb3c2149469b1baed030f5da8e9fd6f1e3d7b552c4ec7da73fc01a8abd336b84e75c513a7ace68c686cb0234c9e31c2028b377a41f7946e00311c03a306a8cbc1360c91717c7bfd7e9cac09e4ded558f609d73148b6420b28cbe9ff5f086ac3ce130d5a0b1022f4d3083e4dd8bae13eea5ed620de48ed7605154df1cd01629a50234b9f2fa6de6f57747af99bd33bfa4d7a04f5b64e0d2898ff38aaabdb8ebc2343efd2432c2c7c1d36927b375184189b990d6dac1443493286858e9359a45b6045c1fc35192c9cc6c138fb14fbc4b7e62a82933b7d13440cfe30a815f1c03f18cc8571200cfda6d8f2c6d38d61202b5dfc80c605ddc436528990f59971b235eee6c7dd3129ac517d4e11160f6b7143610283fc79b0f397a064f3346701c4281f8cf2996eb87632d3a6d34d88104ba4d154b0ac05337e17691f92c83d41b29fe9420c7155a6ee68577c0b3e6ea94fed6260a714209200d613f8eaa4b644ede6be7a0b8e7a49adba99eb18b1b81acb32ec19eaf182069b4c5ddbc49f6409507a7970b0e346a37b26951c314d06092bc94fd8e388d76b202156e407efac93c7166adc0b60df8509be552d73359a2e12040ff5d28cefd43c2725715e3044c095af6cb9ad22a5323523b16fdeaba34856e7cdda6e62bf7081a85c7bc679720f4e4bf3b9c624460222c0e00174c0d9645c4c1170c99091db87d82b4fa61a6a660c8931889ca8b35d749ddfef20ef2138a4c5c8c98c032b24a8973998bc82e3672658e0fca0e011cb7d22453b6d70d3e9b962d0d4c4618b481f555e2df9e761c007b150709d0f3f7b6c2322ac0d64991528975554c1dc8cd9b12389f19d14e746903a2cb636a6270834164c382bae6c7995b852e034a87cfe6e555248e3a7101bee52b2592718a7c1d89df840a029833833c51d4a103511491949a1c91558b506483d3f4cb8c3609a2c6858eb513a6530974b4e0e11b01a332812502f086c2123f3a37ff1a3afe53e5faf8d28dc997f0b9caf536ce95d2887bcca2963918c7fffe30fcd93a730d69dfb4448b66e856320b858ce65f19cafdaa722a4374aa2072e3bb014704058455b763fd16370c0b31b32b0f6c2d4e8757535ff5d417d177689031b7e02961a74300fe48929e0f4df97c8848858df176d77b82995d3066fea3be95339fd8452f3d9a2b8923a80f39ad319ded25c09db4b57e531f1c35e2286553c2fc840f492270aee9ec564d121e0b4498f02a3a1bf384d251327c0d9afe5794d4fdaf4de870197818600a7c572e26ffe19740526545d41a3b5e0b8836ac53599f76aec9279e896288873ea16c93bafb8caaf573f285298233d06f0ce092424842a14dcbf68b5eb8fbafcb338d868beb2c056b0df302430c6cc12c62062100c768e3e828186d3a9074650c4e90c798d7b11fcf0a1e287ba6379a281408016ae6886fb12446522b4079e43132a8c54bc2a3a18db6e32458227e06ae79a356f827e76dc3e086c58e1cea1fcf752821407c2df40195d2426a6bb5616cefc3b5147a3967b71794c64362b0b5d337d835067604973bc64e3567d77113c1a76b2cbc9fd6cfa549921135f450b3357408a16641f2f69ac67d339eb407c55867c15c83ce63af2fee3f390b08299c78253e58372dcc349bedcb72264b7fc99341b413911c14bf39966de405892fbb04e732c17cae2a874215b13e714e45c0a0fd3910d5d8c9dd7a0f9f3f368c39027bfb2dfb89082795a4e07a10b5a58a62f32e79960b33d00b7e03e20b0ca87e3e7e9138364fa713c6651d5dc7467225e30d6cb5091c19a406d0e455ae045d7584662c299994bcb1694ba0deb5253861e47dfbaea14754e759026fb2e12ed9222c7417ebce0a5984c0ba8f089a73de5a2d2fa8cdcf962bb7f7b4b4377aba7ff82a58f2e11c7933ffe8ac8c72ce6d7cfb50a8e037e37d7e51869486e85132d7b509dc5209c3c27a75446c863f8afe973f07a63b83fc802da8584e7ee26560a07ac7aaa6f38000a8a2a1ec003ed5e25cd4c989291b6fb3c21f3f9132fdbd8a7252de157c7702ddcbcd6231b9074daf7d2fac456988e961095ed64e36891727c542baaee8e781035e5a43cd4212236d3e004a0280634b493ce857afd0883e61d1c46cc74ab376818300b1fe9728219276245bb7f9d4591f9a5767883b2f5b5b2ad0aacc5a7b4bec22864a647daaa9fbdc00d509f057d5a50e0e5421e0a78e530869b5e58a855201cb569e73df432f2fb69d2c0c2055d249979ec77e258c1fe3fc81c4ba869117e444e5d9124985a3b1a0743b82acc20ace356b6cb72ea104a62194f224bbb557f249c93ff345b411c596b9a5a4cb7cafce5c5df2bbb41fc4bed261dd7c67448cd318e705ee2c5d840da8f6aaa8e6030f78a60e254411aa361a205f7e87849e236f23e64758c20c54b9670a85e23a12610d645ce631f83c0a85ccbaaa9f0ab5c02f4c6cc932455a03fa806e72600dff73eba8e4f40b9bcacbbc0f8967d805a3a5726f66148a739305c3f768413e102828dec69f18626bf35056cbd4e73b7929c41c870b9f20ab0e47bfb0c6fccb8e8529ca81e8eef64a5878938f8b9772575315a036a5586d7b472c5d4e51172212b1ee723062cda185554dcc132cd5ea304a7758f95a0391b12ae2305afef05a2d9103592c5a2180f6b4a2733b28f2e8bceb42e262d40b1f575fd02b0dd5dff35063243182beff127f1090e75c9518c49ed69cf344f3fd7c807f6e0e007ed1d3932e370f2e973d43b3a654700fb3feca3a28daf84cf535a1c9a296ee954ffd9e6e32b4984709b67956b2e5a64af503cc7c7ccc873a8f81e66305d9ffa90c46c5d7f88704688f9ff2a4ecc9d84764b1481eb0ec09a79592b496c6c19c87e8e28fdcc2c9177b831f3e6c972740997d6d7affe7fbfd15bba0863081fae669c26ef0e3cdc2a6d4bfaca3238a24af901d88edcfb56e9b58786ab94b0a5b11a8492d9854111019b2d8328985aa8e45e2bcb70fd4336c2164f81272c43ff91c902b89aa37096be6e66789230938c43307d14f2d10ca94a16d661fab3d3ec45a39c7860e6ff8ea5826c6334948eb765cdcc9a5fc38e676f6364c9f5d903d1d15594d57afa09057d8dce6511fed4ce868d241d00ad876d3c75c76d45750f00968638778f95862d25aff2e18295752bbb11a6a332b54beda1bb08527d247e3de1f8b197ba0e311059d1c22118ac363220ae999821670fe7d9740d66bb7649827862cc3b8acd1fce456a91ff12086e34979ab993e658be7df970622ca9ba063d6c852ec7bef3e3fb6b7a0449aaafe051122037389d29881f61ff47595a506cdebe6ef830c03be6fe491e0fbb575eaa4b64f4e13db56337dceb66185086e69c79f938495ba6db64683d699b8553589d4343d250f2f17a7386a9c99aa7254e89a086e2f5d82f2d3a1f00e2fe9541cf8c322a8c61f71f3de16abcd6c54ff395e743dca9ad4b8dc71f3295bea215789d6f4bccdc151a0524bceec50b0d4413131e8e20eee33a2da167c62d272ef5a6a2680429ded6375837100626d5494c314f36b068867d4cb452184a8acc79d1bfeab844b20ce1d141465c2dc70000203f5ca00104a1f4b999915515dcc727f890379cdc58654785c73881e6e0edbef00a412b4a2799c6635d97a7702f66bb0081638306066c28b906202c7e80db897aca45610f4fce5cfaf4ba84233bfa9461f3afe5d36db258aa35c3fb6a99ed80138597e6a818fd17b7b4905b9fbdb214ed1356b7f47f8783f6c7ee8a92f42723b2d39cee1a0e98dbe00044fb91a1f7dc4052882853541d1af29686f9976d55d269048a19d898eaff993daf95bc7bb5d4fee85ae9c57b6cef0d485d194cdf957a88c20376e91b3d041467150bc2f3fead7b983f50d8b35ca7a9f39ba63245aef1682a6370572ebff79fd65309fc7ef892e3efd6e7b7c73e203639d5e46fc4e29f6f939043bc5c5acd515224a064c431c6385ca97e925a1b0ea54bbc3992e45b14a62e695a0599b0820e40dd94b49851d8232e2faed06e2ce08db3679029825e6c485e5cb7c00f449110c6f356b1a4d75bf87b6210915f61de0e0f43798c2802cd82a1f397f5d5dd6c580700924f4116e3f9148e66b8d62ec9c0b10936ce49929705c8094c4933d44c20019b4cf12699ee03fafa7deb642927834614438bccac287f547dabbc0d5ce097c1f9d16c44d9fd3c8e7df855957927f0d7ee1d93d6f7f3ec685ffd2d73d8d015085a67a9668f7a21a373dec9f4f97975a4e282b5196dbe086c101a8a624bd9b4877ace04042fd139d39b097eb5da54430b6cb327bd09668145590c657597d569fbeb28e1d75c28ebac8929202840dcfa955e1e824a6f7cdc11425a99d0b358ae866abf227726066093ea8758feabef1bcf0e77695c7d8d7c62ba81f532e77d9219dd6d4e1d97eeb120f8b9d44afafa75a5060be5b373875e8b5e0a13ec4f376c24aeca8c2e72697e4b930d7942e7ecd55ffb9bd8b19cbef8de279e576a985d9770a48371cea53e51402ae77631112fcb1e629041012b48679df248df40b6b317679b1b4e6826594c1a869d6bbc6ac26e37163aa37382eb5c0420ea4a645c3598f482c893257bc29560576fda79a2e0aadf232638d32914cb42503ae4bb5395208ec9d2bb1f658c08b8e133bc4c237d9823b25b39a7be29e59aa1423553f3afe7cceab87b88d525609a74b2ca28bd38be7fca05557e4d79daa1846478a18dc8e2211acd8f04fdc38386944b2fcd4cf5c61ad65c97b9e97c1836a1ad081a5eb688e8f0df1c035ba297a85906b63a8bff2ca3d49de32e2db25c4ee11f37ed9c32008ea9c75c3f1032fe8b683d50f60e56be3afebd1c1b19a254cbe20cc5cdbcd724b519cf886dda7671e2df66d588e4e21844373e7526e3f74276a8238f9ec716e9beeb9b845b0e965236c72f2c544b2997e6b33da3547c9bba442c249e0437dfb0265ab3318d9599af4d713c6ffc9012173656b3b52085a28f573a70c15102212f6f32eec2494c1e9e820e30848aa766125a88d2ad7f5e7e264c870b9c2057060404d655d20f8249acbde7e9d85d9f3c71e64fe397143e99bd31ce79904460324015fb41486862f8a99751cb8ffd5264f662aecfd7690fe6989e20dbb4ec47c36fa87f1bbf4fa24f5912150f333e67c5aadfec39dde0819679f7d8f3b00776a6ab783071a75a6ce7a1e4faf3a11417cccece2906e2c0f5ddd0d9e79ea76bcdbdc7ea7a269f26fcd5b700589ee318f1c13488c1ee8d8ddbbce92033ba2476a7eeb6925712110fa62a92b2d3dd89e438981e531d2280d226a746661a4de7c6f3b96a264f424c22a4c24e8ff15c6e22c39f176a4cb908c03a15a63d43d803ca1ee9741386a64c73f97cb07096e17ca99c5fd1e735bd0946a3abfb176e63bbf05e60e77f80523f34e6fbfccdaea52d8f0bb1f2988ebe3aebf6d91e2394dd5b8bb8a7d79008758d2917104657741792641d81ae798489649e8cb315a8729d17c7a2123400beacb9c850206f38c3b80118a7458c35af4e35cd7e56ef9d9f4c35ef439c021c73714379ca184e3c1e70bff833ad5a28f53e44f1e51b09f3630392ba841a2fe5560529de33bff7b45eb4ef6810000415f5f614c59c6ec3b8e8aaea6919c2daf1b8f02ffb9cafaf9fbe5bb3f6fcbeb46ad7128ffd821aead488e4940b25b2b959ef5d2397d44addab09d38159dccc50576cfeac5708901db257e35d14d50c2fac7de29693d40fb1e0f3cc3e3053f945666c8047fa02f9e316353bf4edda57f17fabb4d68c9c3982c3f6c7a27590aec938ca0c6093f9d139ab7f3f2ce6bac00681ff560d0c568e7711249e73a09f235583eb04261d3561b3284dfd52b22597fc0e8770b2a77d7f772d87dba9a65290f45c0e282bb5de93a4cd93666542dfeaae8439f5f01d03449b778d608fefeca455340147d20c171c3d4ab3fc2d0610bcf2231dc994837eca362fd5e31011b3488da063d7f61a0995e54ed3277b148c84687054af7ae7c434fbb4a3e23cfabb11dae0e73b55df192aeaa1b4a05e59a8dbd1a9904fa89b8fd2dace9bbde7f57b6581f0d3108a4d93eb9853260dd569aed2cbb288678408235581124ca31ba605b8748501ed9fa0d0e5a2af376e32e6a6d9764d41995d8bd1cad3f896a40bc650c25319174d927d689e91ce76d66230b9495b53023d24e3956dfd510d65c4d3f1bb6bd855dcff1ba8334303e0b87129d72521a908c78b6b4400715192884ace4e5f0c0340a142c4032007250c13ef3dd21f14c1f3d1b50f6cf33d0d6ba939bcf6dca34f9a931c98ca0ed7a97a4477cd919b1013b97836932ab13271443069530f6dd006a0a4900246a567813f77e16827f51de7e63fc08f2b7e9cf1773011a7715c55d98c91b1c05d4f176618897bcfedbc25a89be8bd4608ee5feaca9014d9126c3e205c29e8c09f85eaa90d5b0de573b17d4513188fcb91560f8eb1c0b58d89fdc0c1001be62394da3978cf7e366fa6fd6ba7e5ac0e750353bcf15afd00a2fde7a0b5adc11531f7d3f8814347f48b06643c04201dfce95e55b46c2d59f522ed32512041e562f6a9b4311dd93433408e301254cc53502a330b4af790e8568679748c47bb297996426c0b89da71c96a2eff88fdc402bcd063c0f359879947c09cebcc1257f990b13df87e056e7e51670646eb4bd66e4be518c17681cfac267a09baeef5637b27b0b5cf9643671ec0f65dad7eea544f75a81224974b38c364e43536de6f45716347bbe40e64c0c0bc57cc1a24c2832980911fcf28d68e07fc79d9ad61b0e5474c3f23b992c9c0beac1f1477d4f492a24c12d7ba2d5c426a96747845bca5b1625ce9a1ade2acf45ae4ba1ef0bbbc70b7d33a292d1566d2e6dab80cb2d62152153a35c8f21d0f32310125b25d5829162e0d18065abcbab357793ad0c74b4c576ed1b5a8e538bb926db8a8f51756714e8ed7c4a8a16eb501c4cc3968d90ffe36b8326aea7d026152d3d7c383f3864384c85c8424693c898d98f147da7db7c850bba17ad73b24edc6abff3d6af88ac76c27adbe4cc38a0ab059ad31df9ad4082eff05a3437c3d78ff658cc6ae85cee592f0c0c028cafbde27554a73f787cfbfe968719bc1de5b23a90180f2e16e7b74215ae14d94cd123233d331af45071ceafadd3aedaac7d1eb243dc0b88c68ff38629c1c7e28125417426cb698941042c854d98c98eb2f5870fd9ca99b3e3446ff17e865a00aff5dcdb79a861c556197e0371d42f5334f970efabf2ea67932d054f230b9e4ef5a68d687ed9897d3ebe6c1037512d1c5e84eb16fff39475382a1f9df4e45abfd18b9c7205ba063ec8615e819123b898be332e473279bf08a3b530b4ec0ed3ddd7157c4f4010c9b728b88980cd4a23b039dd2a5fe53f77cabf1b9238edc1b871f3058419e6435287b987776fd035d93e0af4f240f797fb93eec29c2abe3557e281d2891280a2b76792d030ce6b1f58b930d0fde5632ca403b5789b5a9e4fd7429cdc4f534153f3c231a13b51803b0409b08f8303a53c3c8849fd84758e819cb1e2f9272a09f4922ce04924301390f608933a524e3d9dbdb649db90c2f5ea6b6dd8273ccc821e6e302f8cdc5d09c4416116baec7c8874f911d40fd2a530ca4a2add22ed4dd09407d76f47546bf8fc1b78f58f3df2df8c6d5b928231abef9f5248d641102b446d291de0380a1dff07dc0ddffb5f42086ac32c842cd696c2d60d065560f6471cfca6cff0b9af356219f8075f555aa8e17bcb78faec5a2bf3076f38ad8a090eb6fa5f76872d64e90cef98e72d54744c2254b8de98245bad75e4f0bac7897c99d5faa8309acdc5794fc3eda7fca2e7f6e64cddeffc138a75c277e47a26f0fcad5a5fafb360f72bedd0d58b82bdb3da66b5278e2edd16e80eb1c65af1f1fd48399a34686c5b35f6a5d434f90d4d8b88dbb539b77c2d66193e6cdca493917d9f5cd81ad88e16e52d6b6ae4377d841800c73d870ed1ea332b79612b905132c7ac42fbfa870c296e882ecc998b3c796f1f82c55e1e3f1359d405af17a8ccc58c76a44ef07f223471427516440d4884cc60619398319dcf0eebba968c42f4ae003b1e6510899f5295b6b1e9b80fbc3e90c61c90447229a3f5aec85f0ea264f9bf5ff78641529c917628b82bdeed901816d88f3087a2935e6a8250a8124bec55969e6eb97f67584f480b2e129cca8f92ac1f254345f7346ff4068b49d12c1b1183a4fbf903d00cfdc50ea32fb94d889a0992978d421cb48bae7c93237fb67d81a2b773e1fd01d9dd45a98b7ba71bb6727b911926e7cc0984bfa7589a77a4b108ef52122450b35d537b15d611e75dd78014b9b1732dc3630c5f59b59bd869d32cc86a2275f6fd71e7457db91e244a59384f769763eb32add99f7cc60856704f4a1ada5f2b3178a0996df72c6160eaed911b531690c3d5d0e8acfb4cb45774726043380a7b0762f29ab7b93ccc85b6d90a9b63bb955d44ac815022cb486d28d5c67fefde8b1f363ff220423c3ecdde0118ab5afa2964f7bacae46f3c03eae47620b39dae79bcc5b1a9ff736aa29021c1c46b6bf37851f949b4b9f91c17b10af8de4cf956d205ed7149cd4dd15a37df036e0cbc19343885873b70452713964812c833b2c1d841b4040297a62d528bbd3c66de2498a350c1173b2f1b39cf74307c7d9dc3dad712930d637a9c9ab6f08fb569c2edaad320c2faca42421ba948af87fe5f18391294794d3e2e7bdccebb125960d7736a9884dccfd9b31ef3f2b0bbb47aea5eb58c56cdc3c0db2d05780ce5eef2b407fa42edf862136ed3fea25bda570a41b6c60b6173934c345fae07dca40199b0c4060cdeb032df03ccab60421a9ebd985046442d70791836208729f882101710f1de19f639400cca6f4c6ee522a9f9f85a636287a20d4ad680a20d4260a4a3302a1e6119cb1e3ce3d0b80ecff8fd785a815e44830b2605470881d9b905ca2f2b3e2d811c9c317f76dba70e349b6b431d335414b92fd83e6910840e10d4c8eab514e9fd18b4cf616a97f256229336b19ef2cab811079049116637242eec82a6664492aa1599b8da3850b5980957c5aa23f477c96789afaeb8462bf1f8190698f3cb02165bec6c80eca2c25eca0b63328babac2a5228f276e608064bbeb29052ab41415e9a397963d1f1d9b073e68fc44e0cf8a91554645197bbfecf307e3943789a3bd96641084f3f5b08d4e872b1f034a1e55f3b42deba02bb6312058a55e52267a5b6525f8cc38226ae4b05a5e8b27e7aa1c51ed62a9b575eec880ed1c6e319caf6562a37928714597d7d7fd19de8c3ece85123bd635303809793fd56ffb4d87b7a8b477a4358ae36daaba66c19ce4db5c0b781866323cdaef13243658152f5a9934f72c0e0a077e806ba6c306f8a07b526e1f36f28a64aff28761d079c384c15620db5a9243389c09039d4080fbc9a03de1cfe4d8ba5d4de96384ba2ab842b821fb5c8db435749c49d90359d765bcf6374615ca9d6d035713af5620afed24bdcd7a74a18c0746b06f3250125a893bbccb35d4ba1d5b17a806e50b09ce73314569a7167af49e7f4bbd062af743b19f9354df9658f432cffe4173fa7d2aabda026fb12ab6341cd735d5723014c9ab95013e53a792e09946e354adeeb318c7101169b1116989030096157623a9d1315aa6b8622a455a8d08b6f045534cb303f7fccdc6db05db6dde4b22055eac346bedf702b7aaca537f301f83c373b72e832c04c3b2231f98f89816a42b4dd9390a6e7c3104068d1854010c8e8fc73653b69acb51c25bf5f871039fc62c57706732bd472df81f9345fd8ce1e925d2f07e97fbffda7cf1338716ff1414e424c41b40a42f43b8037850c5d14fad17fca1e542f6dda4701a8c82b5e1f297efeb2222681926b19fdc4a4c1cc74b7ed3fd465fb0477afac9f17c6f731fe8517d3853725657ffba0366f316073b5a7f4830a4ce7d49a899fe5c0413d54e76ca3753a0cb99c2ba4c4cd68792ed8988a08638f44f66813c0966095c8c195e09d893ea09ef73306136194227596e306e23576b2e47b527a13eab22b9d2c418dfc29cda28eda239cb931fe0aa3e60abe4cc74cec2c966be4a4dbb9f018d108c50ded462b9dcd2553191c0de770983076c34e44b0ab991212bdedc9615c19e231c31a3bd82cde266079a0bfb40177bbd0a407270136a2574184e72b390c0630248bf78d5d47f4607dc54c9b187e4a1a646a94aba25a8bde8342a73c05c3fea6e6e3796c46310e5a8153a44e71f08df11eeb0317e01fe6ddcc905fdfe765cb14cc6698620214c837523d55e6de40194fc65a1eaba1599010ff011d23638b5755e37e4c2fff6b07d52ca50ba7f8f1fe12b7289dcefe682e9943bd984aba94d626b9490530a62cb759b43c30c1b59b66d1e550d7927271e40d9fc9ecf4d06df5812534ac03e05f60183c81835d1e15f7a82f3a384450067783501c1b34577623090dd029fe041078932cfa25a848ec290a9969658e50487b854a7f7c86d725beb5f684bfb393b73c3bbfa78f4e2590f368956a9879dd5a9567efd9f05cd08e3a3f329ad115a0d4c4c177ea7d255c4a2cd5c41ed3cbea68650e5fb2fd00a6e7de94aa3abb9133663d3ac0c75a1fcefcee04836b7e803326fa83ab67a8452dbdfa46e4a1b157091fe3997dc16f7697a64d3a173b788e4f0bc2bccf084879c0af68d6b07f6e755fa5c751782495d69d7f1e10abeff6673b03c6986cb9c4927f13a36e08685039ead27d048ee3e96eccbcba1a3dc15e33a5e127fd3e4d8fb7dbc5d5d20a7e89fbc9d4fed62ec5ddd7614c39beb61e77e899ef69f61b49356d40b1320e7ec16059d14147bc58f110dc04cb5c99538c6c38f8fa7e220b85abe304d63eb6f59d08aa7fcd0f9cadce773458fb733a051db6705d53bfe3d2e0a94e8a73c3293d4d50ae89e7f1986a52171d26a633f748446ea2d6337ccca85788ae2b14f9da3fac55f79cc31963b9c76bcacbb041fcf76de286c9977db2943350d929099f741f51868f256db48ab12ccf29f937b5519cd3b02a66c6a459b9a0b8bace424948cffa357e2056121aafc7f72b90a3960418b66f063576db437a58340633b094e0f0424c46c884af0b4e2beeeeb1dd4753522545215829c438219283321fc7292d3f57f2fa60667508c0ef31b332228816228ae7908dd85e8552e7b8783ce8601f56c14df0b2405ce7ac5644bcd74cec6160d4f6e7d889f87921ad8d93c845bcf1ede900b6b43f7331e9686aa021cd44ba4189e3f4ae7b3f9a4ef673ae04ecd51f70f1a87348f24e5a41fc775aa5ae6e9ff02daba261e9a0f1eecd573cdc8f40d4df7a046fcf836250b17ff4b3fc9a7310e6a1fc6cd0d81d7ed3f4c7dc9f9131df493e4207a53706249aabca9f2735f327274565ff9f4549db1b41721f9ce15c4d7e762bc7555fe5090af75fc38c9fd3e8b096c72a11142a12b25b04705e9a92eb5354e0c9cb4aaeffb79648f852f20bbf22a423244d6ba596639cb9e7480a3963ff0f51d66ac2cc823a774bf49ac58ca0efad670932313238dabd6afa1f59e66bb84c67ecbc55a09fe67cd35733e723379b6044372b3933ac767335c573363d7069ae69dd634463721da2fedd70e6416c7c08ff6d3dbeed55c6ae78f1e7793d00d59428b743109d703af30a14f921545b42700df86b9221fe34196e4f2df6703a2a56fe507fa7b139575faa3295cd6bebf7b720ff0487eec80e1213cdea6e073fac31d8618d15dc00658faee589b17a4200328bcc0f5c289c0b7798950475d509023abfac8f0b24bace21d6ab7e2d60909dde3295563fe46dd2bbafba07605843ba62b48cd26c5234c35369b571a39764cc068a807ef7a7ca94fbcdbacfc74705c877586fce00fb5fa0f348655df88196425698beaf01c598ed258de9a114278d62e7cf091b424d55def46983a5f25bf721efcb12e078d45aeaa0d5868682e120ef663c81bf6288183d117343a47ec7b532a23bca9c4e3275f3cd93f2e1696b6982b02f0042ca0b7db5b4d5172c56d47fdece2aa91fd559c841ceff7de9229b5fc9ea17b3a101b92c5fbb037b63715ad34acddb3f214b1918935b3c147effe1922ab4d1f2512522deb133b25bcf240a6705f88967c2fa06bd4aace1cf1a619dcf99c832f8025c0abc03d6964c0c0ddd414d12cf58b6c8f07bb2aafa31ed552f5416800291ade07981c3f563a5973407401f989f765ab00badd2443f4675edbe4eb91efb0f4dfcbe3da4e3920e264c08ad2fb1dbf4c722e9128bd7558c1c7ae022f6a717a0b3c713adce1436d38f71663afdf62727c71d6c4bca208cfa5a46cb921406e04d16af16c84a6739a8e2ab419b6ca83c1622d5bb21cdc84216490cf2fb2f7fdd4e78773a8fb803368ae15a03933d10bb9e253562d315503cd29b1880f3336df56b500fd1964c087fde1cb274714b3b0d196d6e6a16d2d8d40a10f1129368b6ccd4abe7fd28f38d9769d6ce9ad298fb1357d19ab9426a3d83d8e7fcec26dc649f876fc602c856221177b6879f353a825654b7547f26da02962e8b4d85b2dc33e825d024a69d977e58c1734f59ca1229624c042be5e8b6a18c28b3ef7c0a7de174a7d9aed8cf50d5952323877c9905a53ac1bacba39a4450d114c16cf7623fba4049d8347ee9d385e2e68dae0b3a48d7d6c17732b9b27f3d5c48b58ea83921295a4d589cb907d9e364b9ab520c44ccb3f0e0e2ca320ec36de2ed4568a0caf88a59819ec69a861d07d2804dcf6ac0acea1ee62abdece94a720f28f727bfe25e4126a32d7280ced3c29b45c06235c2cf80ac52008fc710080dec1117278c8e428f24f2d6387d5fc108458ef146ee66fedcedec5c754689568b5feb356c4780bda7d07d0eefc07db5bb458f66a435093f0f617cadc9dd8f7c07973ce441aae545b59016f5dda022ccd4cf0b8ad68658a8023fff7a30a0571ff6ede4193fa6d108e4fc66580a4420850fd28c95a4dcbf1368a208cffdc98c8d65c5eec4d7291dc3e6b59c24fcdd0cee6cf18ca39bbc4a214cee4a8301628c52887b33042b266ea2137ad5a5db7ade2153b91dec9d722630c76aaeb1234362b90ea20d0b046b05ff1b92aa4ef3d2dcf0cba55e89205420c5b1dd48b58db610234db703ce48bb38a311d81ea205bceb83c80c47b9faea9fb7b982abd697b2a58d6f8a7c21fa41bcf98d0d796ae0371f576febaf3193bec0274bb59aaa768358f1bdfab437c6c124f184703075df8d5f6ec26e74d19366a17feac2c3471e91d86f3bdc60f86f81b3e44f5a96a2244f3184a7475ab1ec5e69524b623e3760866f07cc6adddb316c13f6e25baf4746c71451ca95af15c7676bcfd5ea7fedc784b3745332af99b04faec187e5a0df51902824535cdd7b52e80f707dd8a3ff8da2070c7d98fc6b469b92b67a971418761b8c7bb22ea5909a11a93462690f47203811a0bd5fac52b3c6d82e7edcd3ee06f752e9e6d2b64aa19cf8e9090bdeee411af1815576915b829cdeecff7ce226e175ba0a72f055e131ebef085292aadbfd8fc2078a164c85a87a279f66d41a886b813ce2a0aac92daa475883fd22aa08706e77d32d5c8e4d0e9d6d8e779bb9923491adc18745659de01522796dd7a45ee0c63c4ab0aa9670d9f922f3c42510f8acc62cd7a51743ef10fc921647116672c1333ac1e582505dc828bc4d6f80b1fc9f1cbb1d517a3a938f624e436c83a710354adcecb8ee5b6f93c575c72949ed72dcf2e3cdaae01321db4a4d4d21ee92a554985d3abde5fb99bbe4ab659b4564eb806690269f43bbf75594f69ca38dbc01f197818d9ad04b2284a9051b81694ecd019bebb24176af9b8f49d8c9439ac9bc133f70bec923975fd3854149e5fa578d2a75f3478ca1c4a9c3f5943b8ac54c195b366656d1c6b581b4522735bdb226bb02731cf82245174bfa09ea53778748a820bbc7390590499dee9715c085a9912396dd30f677ee3ee02cff9015ceb38194c30ec9bb893149c6d95fa626a22f2fc9a3b6495a82ccd1822d0ca194fbc63d41c27561aee07e9be90f9b604da89b5ecda7aeb45e2ec211b0050ec6f783ef8088e0557fdb3dd4eaa3b7e7b639be344ddd4c6be2379d6f82972ad8eff9460bbec6926f64e6a61188592d852d86fa4d092e4a49e886fc1ada1c1c356e40149fa1f55e24281a8e95cf9251f6a5931c087da6bf8535747bae86d034320748a1793dbc1b8d70089383c26b9be8f749dc77f8adeaebbb2742eb5de592bc764df34b2e63a8cdffb9cbe0e4acf43c4033c422640cdd3ef4e863b70d544b3a6b5a8fa391bfbfe5eec2337665d0c0ab74a8657dc6df8a521da00a2be859cbfd460315ac78a349862ae455d369208002b79ed526c173d45792d1c2f55f5a722cbf5a333e54c9d2be597918383740fb1dab80680fc2b89bfb793b77fc2bdb26835352b37050cbed2957972a0e465d4dc0e56beabb9416d866acee2e7e6a3f48ba6c7e73c5197f2b704d2c1c423ae79226a5bd74d3b91255a0876dee0c4427324b20315aceda737369f40759c452c79650d39010693f43092b39322309c7d281d159fdaf06dc45c40737b7fbad97f6d772c75c5b4c82210365daf99563afd8b9cae69fec49d7dd424c594a434a858f37050c1f5acbba9e6ef203b4985233ed01836eca36c9b8770c2e5d35f53f0702e7bc2335f87a9b201659c425359353bb4b97a4246dde33e76c30cc6017c9be21952f12f4d37b732af1289f0e7b2016f490dcf57849b349a625f0b938f979d23fa512fc6ddf5553a99f7b648a381c8696339575b3194027be6d8583112d81bc246f15a4ca096f34186887d48a5e8f1c208c917dc4a15732e2a6e6e620331b032e1fc3af048e260b7af61514c26c370ba12e8158a804a0e6481d3b653b81f8da997373496f667a2ce6195f932bda36b992a5d893b396fe6bedd981ed806a9f2d16c089e9278674c00ea1ee50cf850ab1585a3e213aab04f861444c0e9b2f90384816c906158548c0ea8441f3cd6244bf58798ae0c1e5a0f0a2b528b15d0b203b7351051ba6442709d99e21043640507befc8e49a0c1baad4417a526187a2f5025153397539459ffa3d8a97a1a7db0476c1e3e251e11ade8ae1e9c2781ef4a7255f0127f4de7dbb2b8d431f5944dc3092f712d1f3d260a3bbaeb820b9f446348772ad206a6b6fa6d3f619836af5754081fe5a62462813e392089fa1d5ddd77699c883d2ee6fa1a0e79e8bb8c2748d2d3d76d9efa7ab1a6f4b5451be7d04912700c8a9dca3a43c8083d1535425c35e9da2f1bed8af56ff76218d33f1602b3669dc2fa043d3896a08629ff1e2b73fe8e03e989725d0b0c0876118a165cdcb194b29fee2c49b7a71884c04185c94d219b4f44ddcab4c54a44f9c080034c2c3f428d805c9e885fe011eb7f5fd0db174c7d920ee1a44220de27937534f6b6f7021d9d3aa4351600f5b086c5446d6865d184a4612d89ab4a7d6110de3fd9ee9446fab5a59e64058e184d76fa36a4bee198141762cb72ab010386c1a961970dbeacde3c2b65bd48e40f47729a1d1a6b747282d634952a47061a11c5500ea3df46d5a74d78454a988a3e44a10cda1fdecf3f92c0426a00699e9667f0eaeed142972c09c725b671781bdfb5ed2bd7c90eb49e1b40156d19a61478e337b1c046323888d4786b9d044f2cd94ffd659078129c0df01d34c6b80c7bf1ff72d2f11c279346abd2e6ec81c38f04f7be3f9ba7c456ef79c7bf8ca076eef6b3167722548234cb7b8f0ab225ffc6071f81b2a3aaebfd2c7988403fb9fe38939d4426e2f486363be514cb2c2d08a163cd9f9151f07abca118bac2e19a4ea4730bf2046b70720ed61974c1c97b51edf23d84bb2b31e5fefef186941ed167cf6a7ec5f62eb82aacaaa8c990364a08222fa0c272462d2f6786697ef88e83e9068404640b17b9b69c2e844eef4f16e95c860ac0344abbbb62b756f0d9e546d5de5e75323181aabb8bc59727bafce79667c4481b5410132171cca2a298d36c3001ba50534962fec36d22adf2d00891929c182968b5cf7039e9a5b80386d67497a539b3b0d0dcc10f586cebecfdb842322dea7d87ff6ee79c5d42bfe139f4960defafade325e6d5ab567533405f5db558dfaf2f2a38575d9533cf29fc8d9aa2c849d3544b0fcebd7f8777a697ed951e9aaf4b9a4900bfc466379ba88e3c8724db840f7e364e3e7d89c9c16aa84f170a61ed9f610113cf2847008359e39009b7553f14dd1db9423053ddfdc847f89860729306a1bfac1e4bc249053b65fe84823d700283e29a38db26c40029ea64bad249a4422cb967606f797d5a39467b6e8e8305182c52e61bca381b043da59d61d884e50718557d5f2fdcbd6a99337df7da26dfce5aa717c5525ead3e8fe730e663990e61c752381c7de23b0da7e3ff5ee053760a618b49a68e912d45dd75e116b3f687c4217a423c559bcd5827c4d88340d9d4623c1a8af968615dae8254c0b35c9009753f2ff6c476a1bb58c08daa940a2c7ced4fce2c03c323cdb6d9ce959973d7a382ff0cb9267fc525f5c893e9d0dc2934d42784f3fb8f099f98687f3018581963c5ce11cd759e89384db4f42ef7c988f14fb48ac0f3edd8f82fb06a573a94c6c80b2b0dce0e9738fe3f7af4965d84da63d90980c1f26b6a901e9ddd8ae04361389b2843c72dbfba5e4baee87dcbe0a8a6a08e55f54327f9450df1a051d716d3ec64c4030e8f7d0398b84e7844fac0413cf7c4b3919daafcbb2e210b30bd3187cbb35f814ac84e3ba8a8eec467b67887d6747bf5ad1a126d7914dd5898114394ff570cc6e1999e494cd1f5571bd13f9ec69687d38283dec3f4dafadefcbb188ecee1f1cf967051dabe669a51c377918f74f13f0712d62c10bdb709cd4552b29fcf79f60f104169cd3f652ad00d8def62c81ecec1fc01c739aca328bc9ac46205fcaeee7db8f7f376e7a4755be2b06db36547b7e8cfe962c10764b74518735c1bdf6fe4993c8bd1854574e78cdcab0513c47f732c26824f961dc312064e1d58fe20446dcb0869791ab80cfa36e364288bad2c45dfcbff20b2dd471de9e05d83214f534d5a151f8df369b7100fe8da17a6c34a92db1ad4333b396e87be08c715d13e58b1eae51aab54f8c3c4ba7081c3483cc4a65d914dc34dcc3b0acc1732f892eb824d33b0c8f3f57e1d4c7a89f2ab6784011bc6c5a8f958b4dd4b3beca2b97cf80e07700d88ced8df791b135c2862f6ecf4774fcff60d11b9a7b64c321ecc66d0da23c5ef40cc149c9cf4e0b8611bc1eed37ce9f1491027daedd508f635fd0c9b38ab608fbd05dd0415e2b183e87520a5fc6bd6d924a85f43977c4c6f9a3571ce5746ea3a0253f707b7c1ad9628c3bb6787ebc099998b07fa1f81442b1df66143f99dfce08965be05a85f61eeebe091b131f4439a2df9bc3c2e135f6d68f76f18c9cc37650905f432eb4fe618356920ea8a56917dacd992839102a40197550e88ec06500d2b87e5178683a9a7f7011f1536ed08539f0e1ad24541357eec97d56f5235237b7804c3b296a95d58d138e2421130611e471629c5a991738fe7f840a93a7220c5be40d807b5ca23a2ce0ca9942bcd4d2bae77e1b56fdbf5bef50855fd077e5b2f580f280fce6ae8d6307f9b98decafeb9cfa141e9352f0cf890414d891bcd7015f95c536d4d354b961febfc5d27bdb3a2c390da52302aecc91d522662376e2b196293a1ae9b8b605acedeabb92488714ea28a0cfe9eb37b925a9a2b4ab09ab40fc1e54c6d137bd979388868356a969ca1ec71e939983faee6b32300366838a6e8216c0c63f181cb83cf6c9f6244197379700924272a4cfc85a9201494641bfc8e3014eefda4633b1ef9bcec5895b7cf70b211c5562c13a6eb82cf6c06671fbb32a979fab2c3353c6e0126c436a998abbd39aa70edc25fa4f11999bf64ba09e22eb4ebb5921f51aaeecd96340de1eed0a0d3003aae19591d4d02df25597607ac3d1a2a97eab30dac89444be786b8ca3a226fda88e04a1679d48d355aebf3c4f98e4a0ef07588ecac61f22bd036d88eedd22b544bab4971724b24bac44290a08f87ea320234cac57da428b28a4cfc1f637bd0cb39d7d2ab851fa19d25d24f99755419653fc718bae4a9dc24529d0e8630edd8be7d448f19f21e480528b8d2473fad3fc092ac1cbf21239e94231bc048c5f812604acdfa0133a03ef85f87477878383be64b1e4d8c346f242829e6befa0c54c7af47cc45363891fde341340582f3093f045d3e3d25e3798d68702e3624435b4cb461f55fe72dffe74b95caff7d4946c1fb33f60ec08d74713dfcc2d06aa3e697ab178386cd80b95d924c32e6d1c5511a9aa53d6660ce2edcb9156e7822d66cd78280020472027bd99e66af950a40b7f8fa11ac5cd0c6aa8f449768e131d3360b27dd5ec0a98ba0ef90a8a2c886f5d43352a562a3e1544f1b72456ee83c233a0d6ee08dd5d3bdc1c1b95e877fe34b9f68ab2a61a90fdd37a64d5c01f18bae8fb404fa35c520d567fbd029ca2bc2035f819d6c5dfa7281881c41ddaade8d7c0776f79d5c7a5967987c7f0eb9a41e570daea7a11ad6fe4995f71e23bb0e4a6f2cf19d1d2bb83b3baaa1433da4df1b7d40f5e9cf857506ec0ac3371960a98e08987b4d47275098f392adafaa6807ea9c9455b869225f441ef837812de8190351ab2c422d932eac608216d4b2dbdb0a0374993a9a484fde22e1f9d73a5ef00d1501ec00179fa2da8212bcd1d08f73ff6b0bfe304b5705078a813d5ec7af7d14d304f1050fe7ad68da5353b448f443cad797b71c721ec1cdfa04215746e3a47f556cae6fc30c9152388f0da7d2dbb8bd0d755e3ebac50b8dd158d6d7dafbac3b9bb9627fbd75707ce202885b7ef7151b2a93e6f9af47e02d15966620791a7d3417d9a37980a76e6864e822a4fdaa0edf96337e8a3118f9a7515feb697b677d7c4fadac4b102db8229dd3d64d4f9c542bb38ff53c14fdb89768c36bb420b6d014d5c3f8c5c0de3b440b2671e2ece7fd5f8a932f70a22553dae95f426744c86bbee9bc8ddc66970b23205cfb220f18d36655a6f763dabfa8beda9c0c0faf3b6df2ff8db026708cf18d20f693ed8a948e775112a6b44696b8efdb3b515f464e65762ed0806d43c48a8b2a83bdc658f8a7eb3d1672189743a95f80e0a9e04e5f4b7df3fb0ffc9ef609b987eea95a6b80090c4deed8244c76fcbca946b651a5b1aa7ea3d776a2a9f2fdebc3a8ae00f581217de0b0d6fc5828ecb28a23270ed4986c95a5ae8e0467c2ace8ed6e48f317dd6f7d9004a1eccb718bb5969a29709b868b0ff59cee4fb73965f4d028ec6e372cc00fcb120b676477f1ae08d4f71701755308bda2c18d6909a102fc17b63eb1b5ece851749962f66f8ad42412ecfcb4f5edb8d897a5a2024a20d551d583855e4e6ade8aa27961f93d60ec5975047f74895e7abe95a187da144f0294a31141691d59cb58bdb21205385d90349d3562d948798af73990596d02dd15dabd7146e33c97be5453d4a23e787831659214c8345c1df6bc3b950cde498312ffe999aadf17c953ec5f9ca6224f1a0a43d14727eae897a59a0e8cb764a18b7f2be89e3598e8ab3017dd5f59e801d71342f2a244d43634095e740f763b8dba516c9767e7e062456ef64a1cb9e59944b79ff0dcdcc3a2b564f7b9f63654d4702e8ece92e231fee2083c0896736dbf6f57e7810d7ac750c0a045567b64fffd4a976f5728b707dbee14a100f6a3ca49e1991fe268c4639e4c5faa5b6eee12c561e09645d93881273581eefeef98f0731793c16cf3da168892d86aaa53c7d184dd1355255595ec295d1b8aed8be10a7c38f64cd96e225553e79be688117ea134b9b23a24ca4db9c5a87688dae47e15a8bae795527d92aec569aa0df1d29786a0ed76f7daeb5b7d50b4a5a464fd908ca31a8604cc6dff694bab40f6cc3647e91b2b54720c227be196cfe7cd81428b837d9321b43b6a8ded6a9a10f2a5d9022376e03971b8013b45f9cec99a87d657f23f1f32b3f8b287a14575662b8a304cb8016ea985c196e7eb77aa80b8089684970e3f52dcbd88731cb98ebebbef508f9a263e26d84af4a5b417a78b14db718ad997412ea48525452cf302701769381c2e7a56ecb6c2a1daedddee5e8c062166c018808ac6ba4e52cc3308b81e7d110cc64d9f64d1c2b5826cab318d3f5827ec9e7ddbb1e546557a6a2b6a5b5864da4bda5e787f99bcaada94c94d36737273b279f9c18448965e7a93a236dc7fae36847e66dda9c0ea1fa3e4401750c18996d2c52ab3611598aee8d285e62fc4572b09a8f42c4cd6fa6a907beaf8925927eb8b47760174921380cc9375f2ab41b84fa0370c58730ec948c141d51024552fcec525d8e9a4a7de4d6cfd2243b6b4359b67bd45966d912fd00f7daea10390683e1bdce1536757ee5f85b42b3fc9d82ea650ca288cb5e663ed84d289d0f07f5389504f997bdea79a7a9af07f2232bfc1ba45c46c10ef2d3b8a17bf4fd043885a5d3795cbccd67b1fc069c1efd436c005980ea0fca87922c04e3f707c95a7d3f4bf9911fbdc7dc615af320508c70ebebf244e5df6ace512b8aaaa83835126586aedbfc4f9c2cbcbac338e9dc126c38ea63210a9ea0a5c0ed99ce59739f65d9ec1f5778ef3eff072d040c4aff589f036e237fa096adea6ce38911d962a88f71e4c854a7ace6439ddb5e91877a872f2a39c329e01b1b9da15c0e3fa7d0d205875560e067b1135440c672f4625dbf1e1893c1c0849e407e3664299d75c15cb1050b3fcc010799c310038a5c4d2ed6c6a6b9a927ca78e81bc8bb3407ee9f373606d01e7b8efaf72f4826acdf581569c0f9ef8262c2b1acd0518e2f97318f04be6346361147939ba8da0955a409d2b4799762528e1b7a7365fe67211eaa24085c5d9fa6c77d44eb1999d6f98cb7e92004412a7587c84895e30491ba64dbd77eecd111e9511e511964817ee4bd6859e6b6f064feec0a46da955485331194acbb3bbef98bcbe0881ee10b51aa57c20eba7b3ff442bc9b362d288d4ab2040ab9dc6ee7d641824aab3c8df2664edc9980ce1a46688bb079244771c4ff7663d5560538d211ecd4ef12fc22000cd5ad2f5874af8c83a5390cc682c939d3b255f5e216d76da342d746f56066b2695ab55b63a1bf31fff030e5b48b1f4d245362ca696139dd017a37217d6c6f3393253bb1704342e275454963ed18659c3269d632fbcd42dc3b3a1de619e9f279f04535c6f3e14da553c30ce3f45be6ea088d0c0cfed22fec504d99491dcf0f5930b485b40e3c5bd72f0bd13ee6b2e5c10f7fb8ca938f74dafca8f2b5fff990a9dc9f1a638fe4376f1545853968bca0591e4d4982ad0d56f7d694e3ea6e21775f545ffa1e83ee6917a9d3f0997dae0d4f3040ae378ff3119b7056b0d55afd5aefa0f7326b48742dc073d3d7ccb2598388f5ed0fe2d32d51e6e5534d67fd13b7a654ad0d48f691cd9ecce0aa707c4bdc05e136719d2f5b39c5e21354effc6e14c946e270ae2cd744e4a2f7d0b64c6e6811835acde4fd0ec16113362111e5de869545833672176c779e327d9eaf2f1c9a0c05902d0187d6191302aa1cbffc14038d9d6ffe618b0eb0bd44fc173ee36301e554b083fadf3997f41ac4407590fcaf3e3cc0be1929eae1baca1f0c520c4d05f6bbc90f8d776fd5a712f67d98d593be629977ecec0da24228a6fed96c85adfc841ded8477e0067f1eda6f5b62c8cf0ac4a5778a33750c0a3d199bd1153a336f23d3c64d39322b7a42e914300827a52e83d405497b7374f9f7f3ba4caf3b63a5e19abe2a5facbd95c19fb5b93e24870e1c4b48c7aa3584a29802558fbe8270d8467be44505613b4c12e8deb2938eebd48ba8289e6de6dcf704471044b3b9f7e9f7460e2cedd7162959752cf8295fe4837a53f332e3d5ba658d58ffe443adf94a5e46a4828c29740953838de7cc80cefd5617f5e0d43c3f0648c765ea4cf82bad94a1c0759a29bc7247c83e8dbb9e98a36d5cf9f6835b8ddfc81b0dfffa1bbd48f23a6f149857b193396ce7cd406f83aa89fb815be399ed0ab564be05d23e4034ab81244ebd302ed8b06adadc42b88d54302e4416aa649e60dec2c20d09b858d3fb55064c3c09da4e56b197075bd30b1f57ac169672589b972dfcfc27a7cd693539c15b6ebfebcb6fbe9d22d26e2377bb90fee90660218d51868c75a8f0b4f32450749cfa9fc662b2beac971b6659f7c68af53754a4840e76f7f37f67aa8773394280ff947295b0657028de5d2b53dad9851665ab5c4b88cf854ed451bb2d714e67f11e3442bc4edf75b85c195c6c040d2e8ce2062d988b503da5cf8be23bb279befdc6970468b66df04f9cfa6170b55eeaa87a79ce0e4b5dc2ae2590a92711530936a3f5557bdf5352c0aa8007337e88bf24d527d6243ed95190c43d714caf4d2dd3200e3aca8cd202970c914e40849ad567e1e173bb63652197c9b169037bf06ee1e7937a1a0db89f7a2eb2a5a3f868b8bd0bc700b2870598997f17f516ca8809b07e18908539c9ddf2a535cf3ce687feca1a697da7714eb5ebe249783b62af6266518c6659bb32592199cb660ee4578fb5b35a35222d268e90eb8b37e81c93a2a353593252c5475ddb0ee1c77d04c252f81ce9f2c367d8c14f1d28cbbdc6e464c1bca1aded92a2f8da798c4c7a67fc22eff39337c25f995690e17a407382d86c4cfa4c696bd994979c9eb84e5b098cf14ba07a103ea5caa7db56556f4e743d33068f5e51eb43d8b9fb158f813dd87986ec4ac6818cdf7b5516e0d162cb269544919dbfb63a352e37d84c7e15cafd2c3ce5707d9a70e99aca27c153dd7fd670c31d696450ef233d349177f53f88e67c6d6cabae1106267eec8fc2bdb181e5a66f715210b2f68608e7a618bd0cd9a9c54fb06e9e3e0d9a375c46269b397489ff092bcae4077215bde4a6562d1153a9bce3415b51a43e965a8dc50dd2bbf4e81f034796d1104844198e34ac5a53972c6b14df045b9882244cca8df03a166f731492465cdbfc87b2fcd849b580143c81e2cfa586d8ccd52124f57558b17eceb714f9efee4b3ee01c1cdee777db41623bd13cd0010b97cbdac37c2bb58ad5b33693943dd9c77c75fec488b8662b60384b591689c8e873239eef9b972b477e438e0f2c45c2dff922c9787ea1a6d5a2c1d9fd4711f19f309fee65f431caf4f41d200fc31e63ef8b85029cb1a6836f80b8909b5e61b9efc0872e1b860289d2046b2dee7efc499dc8031a9e0bcbeb04aa39ccf23b7eb197cdc4a08597522d9a5a07945bf3f412992274ad993cfe0bd56c0854b02452fdf5c7c4389ad99240773859afd4fa23e75c49fb581cb09f27fe3120625b2239124580918e40a3ef4f80c09137d85c661980456f250dd43b61cc685458eec8b381ba81a92e002ce6401cd2d5377ba0129c27c243e32333c804618ea6436a13aa16ec75bb388c8007c5e3d4daf0e4c6508cf1571d0e3ff25345864f9cb67ad6637a4e157ca49dbd25879f10e8c7c907f1a3b07545edbe0024fb67130bba208f0c889e6c623df3fe7df044a696ec6290b9087a64fa1d57b65a3bbf7782d87009db984f47ce56d21a367c8465091fc45dcafb9675570fa656a09fc83de0d2e40d7ed96498ded5e841b5fd0170ba99e2a211b10b544be84009d5c0441086300b2b2316556854d7c41fd751351e45603e892b8562d72433aeab26626934aa0fc668c011543bd3b31bc7b1e1f5881d308d14952a44dc7e3da123154611b00a469c7abdfabd173a50f9831f20b43b9fac4e1afa3e11eae3bd34dda9058d98ad8094ec1e6bc8f52cc160da81b2d5636c98943b69cd06c2c919dd3a0e2433b8afe73d7e69aa4dbb7ab43ce55f1303f9654bd77b92de30cdbd6cbebbf1bca7ac56a187096c7e4c0f0503ecb9040b7f1d1a9b963c89b8b1cf431af8c1bb79f16b7133b7eea250d415c659f407d50bf4955efd3d869ea6976c64389832bf136e8b34d855275ceb945c5541dd3ff2cc86a3afa3916832491b4c802aa62dd0b54780a73fec45912e89de9ae1b50893649f85bc4982221473437c63312b3f5de235fb5aaa7822a8145e3d0195819cc9e3d1050936921bfd3b159f28b7b6c2bcd6b1fa0d1076f601b84bb4fc0a16594a9343c383f070bcd15c89d2f354d1756f31cf21e1b62c084051a9d43175702e911b482e692e45284e94de65a64bdb30bfc8c1de5954637dea5e5d118c19ba3fa163d13ce879e3afee07eabe8ab5c816ba391e2a26b498ccbd3882e56fe67af03f03356a2a543bd5a3367de3ec1cd9448e9da114ae3d85ce8ba3abf29944823e34ff454204ade9438d4c831c9a2220fb5e66507ba19656c79c7287e33c3aad349d05b1839fff25e9a874acdce0d08edb6a475ebd09126331d8ed94c5cfed2a5414e65c69bbbac3139765edd33381112874a7d3f5d9ff6876474a58616a7862c7876871d73cd919247b01589ffe8b839b0398c07caecedebdd907d538697fda95effc877ad2548d4014b20d652ad019d5fc56458d5b38b7370b1e62d636bd0c1fdf40d61279c057d113102c539a5eeda1d52673d91daf52da464adaeb080adf22945578857fac895540e7f55e5b6861d5f66478d37f0005330338344d6927754c4f4c1b5327af3a9c7fd9e232d4d8d5f4a029cd3dd2b40cd04f5e85975dfdce8c6b9a792ad5ca0a6faa88612322d277f2b26a87607c6a896f294445bfbe0f14980f7838e17d77ee32b3226289e59bfc6a1ddadf56d2c7e2c7260d47e522abe5d5c1bf7d80b38286dccde2372e7d5dce68aa9cd827c12ec7741d2dfb230aa651d988ddbf9b14e9c6e6c30bc56fec912e859a462c2d2b7d05c7660b3b8380b73f4c9164000ccc99b5303562388c44550a332322ce96e46c86e717e6111ce3439a76215435c9bd63b5eaa4232cecdde0f0a587e03d7a39927a6597ed39339606eb81744f8b864f1526639b24135ce92be9635b7ce2e439f0b8d51a937f32eea17b268e45bc784d3a388436d9b314cf6f588cace10d4e0085bfadf1c8bd74b7e83d5a0befb9d98927aa799e44726d97b56a66aab5b7c5f88003a44db805db94cc6af077b925f81e22bbd16305fb4e25b191f7f644d27466af2d2450ff84ff55d66baebf0299f0834f1b1d36c9169e82a81a6b2f8f2083a513fd7b73436f4ed0630a39d5730a53bc82fa57c775ef73072775eedcb64d045f54b7f448fa67f3010ccc71616e3ecf33346a34f92d9d341cf6724d405d4bcf1b70e2da8367d2dc0393c3827bbb66e6644a7def72411284970e0017a0bfd3916315c5c59c7d64e6439a3e2fcd2b202a377fad323987e452ae4b406ba5cc0014fabd297731100346b58affcf06e05df17cff1e39d971f222a4e19900b7c922517e56f759d92af452709d3368fbeb9afe619ea71c7ac699a8b03d3ebb95d114ca94e88130b4c27d8dc6ce68a18304d950df3879029c3a7126c9e163659b978e249d9aa912aa5beef34c24e03dceb9310093d5223b3fb06a834934f847ed6c4c6a69735545d1c1d502ec35ed1da615fe9e13acd400f0aaba6e9aef345ae6d6cbf93a7c24114115f351597a7e6059d360e433b51cbf1960359e08d17dacbd28c658eb78fd2cecb3d83c856d307a9be91d48bc383d053dae999e7217ccc86b3829217bbccf61db154e75fafcdf945b8dcc2bf3a39f4e8eed7e1c8ec1bcd3b5efb8674afe46538f846a3814b2448c8bb226c75eabde1ed59bbb5418a7a3226b2bf383870eea0e7aa3a4844fcc1650896da8f7ed50249f78324cdef2f8d772e9b2065a5555559ccdeb1c8edad417ced300cd0bce678e57aefc70d3a30bc988d40e1468c86d787872c2b5ef2b146987cb6de59a1a5ead6d86c5fa73af3292f76c70a1ea7d0871edd5e1239923ca10207b944d25ede806e6a63a978c306543ff56f4d6f902bbbc2ea981af40c8fe5801b5024b7a04408cea912e1511eae79ca64e4e24b3b7a57ae2ec412c0151ff8049143aeb9a09b0512a460f7163234cdab34cecadff02afef57b1b2df9e9f8ee53ff7dacc5493b7853a13fd30d774aa56dfc89339a55e3a49657414a03f204ca65ea16bd2dccd0ed2ee2a12d630188c590bb427db2db6304e4e19e21f9b93912992b8a6ab17edcaa762d648c08c40d7f467991e5b731cd00beaf229755ed1cd74fcb7d4bf879dfe7a8e57456cc552448549c389a61812601789e8f4dfadecbc6df39f51824a6ef60db84d8aaf91f580920c7728e2300b9f9f1ebd58755651a4d6fe7a44e18c84c7072defb1cec39f52bf4d6fd3f88aec0c29431e237e08fcade0b07258d177bbab119930516f83c6b09e203cf5702e53b83128bb095298ea2e2faba7e943e11afb6cda406bd7cc6be424bf6dea8b25839e9f1046a9c8c90a9a787214f3d180c8915cebe284d5f477a7171444ce53fe2aa8850c129975aeacb8d83101afbde1b134aee8dc9dd4563a017f84a412a21d13413d7e0c5e14bced1257304fedf26872bdab75dab183cac7aa1917739d86f6f51df6cc482e3c05c4d921cbf34fd43f99d0f5c7333717ff12beaa44a77753ab1869d41820974a8591ec80db7396e32697433a6fb7dbf8f55dc06982f47276310cd4daa824fc7b538458da8bf6759dc274c814937cf54cd5fa9720dd89cd91b6cbe9e4bd5cd39d538b70ffba18a11980504526a35b82f184d274b9078860d4b643864e1dce114218182521c277e072ce5fa307a0770b02070323ce5c6b02017e733f6359bafc3f3c68311f2d9238c040d62b1ce65c24af757bd47f3efbb161cb22d3c4635fd0f265e3d908cba7a1e42b8058d9276409bbbd9ee2abe864de85c86a08fee96697de750c73e5432dc67b8ca0bd985dfa14c2f5b4226495dbcdafd80d67ddda8a439ab462be6597e6686e864bf99445aa42e15b478c4439b9ff064a646453c1a7db9e0f843424f9bce3618af5d46bbdf979bf05ef69e1ff11eeebdfba143abb74b640dccd02c918b9e3689f6f85458ab189a2158bb9f77d74f22e9f4098404e1da4db72e76c5c9d35f9cbd3406c9a89033d3bfde9e8bf297b223295160f94abcade1278d73d4bbc7fcb7a589e778108f28ad59dca112e1e3ed40f1d84846a8c7c76cd761e146de161b3fff413c5c4fb5e5341ef1ab0dc8bb760298ac8e1c7a63e289fe01b56cf9dd2e69d045d341fef8148693d20fa8287588e270fb5ac8d658daab1de7c83614f0c94651e6bd3f6c9c946ec6a4c78c51f20ce132da36c66f60889d671c9afcd2f11cbf4f3c10e01579e49f59593a6ee08dba79424b1f8ad2c97a52c44637eb6e26b084555a5a7cf0b50f2903dd7a0b66787ec80eafa2614c2833cc4d693d2a30d883d477c87f7f7d675c1fb188e58887facfc5885680b47ef8e241cc6db3cabb76543609b8eb9ff7a71bdac9a551602906f01846050ee6b78a4740d6120322ad228e628eee535fd0605ea3ee4abf7714e0187d28f506a4f2272cedfec3939dcab9e8c70d40596c91c4b36b577cbc2d774aafcde9a1bf14bfe90e8847f752264db0017c10465d966d42d5cd183134ea250ba8a5a1aa5287acfd714d801400ddaac6625b49254adb36c95c00e3e671e37ca9cdcf67fcc104d1ffe16065696dff191bcc6bb417e582ed1f19916b5d8ddf165394c3f72d2bc49c4e75687f664a0f14cb402f3662a635fd5b3a95959e661c91153b68e4320a99200931c300972070590ed95ea0346c56ba5b0c997fcdc35b6ec71ce6354ddc7165f690806f47d630987f8a591cea0913990184ac344127e135e21ef0fe5ec4095fbeca1aca8f5cbb46295aaf3977e2f325a0be7c35f7d48cd721ca9fc25118137e983bd24e4c5051dd8c7f0024c13e3a677695eb2b8cbc2d774aafcde9a1bf14bfe90e8847f752264db0017c10465d966d42d5cd183db7ea09e11d0916a1cd73e7aade95f4f9611c70388f41b5df313c509bdaaa336ae6f71abbf5d6ba7244040cb1de4e877a8e0c817154c99e7af52df588b1a2d2496a41d1f894afa9c3aa53d7f7f4d2f045db1f8dd7baee45f7376d5910ac5dbf47066505ea3fcd092babef84158003f6be4fb9e1aa9cf9648df5cb18fa9a07fe741301735017fab010ef5c02a7815ca7c6b03a74e32db3c73fb5a917c3696b237d66e363ef6ffa24441f8970427617c34838ee6212ec3eaf749c79cfcc8de5fea3a35376f556eb9e79d8b6347e653fcc857a9fae6dc7f8db5dfc3ad4804cb0f780fff4cf98a17b73d7455bcd649640a140c278c07d64627724bc3db84f7eb05b583448c26ef64ffc76c4b88fa232190ad93e5e14f298eb942d48c37a9c31a01bcfec43a1225273e4dc416f707e152a5c92432663a5d034b74f7f374808f8070dffcec9bc1bee64b451a97b64e29ff71f2e1bff8cee9520853db49a6a571d0be1ff7cf111dafe8530013cc41de655d6e3335b5c9d8655d847d72ce6d73aee66dd66eb473ccc1b272ba64d9d64323f5d7cc52f019ca08d461e72230038d224f5b538407d3918c92224b2debcf5c2f5b0b80a58c58e352123a174439f1d560a8fef4e777e3c3a0f1a4d891c202f9f14f13a4df9cf63b7c54a3ee9febc3c8f47b54c7fd27cc0ae8804a16a71800501c02f34988f6945d17aa2d89af29f9725d1a5c32b452d6fcebac0c82c124f509d0b5b135ce45f13ee9bfaad694e89e3985b6d9aaa051783626059cdb0fc0ff649f846256c93f061450ce7ed648ac8b0b10356627c7eeb5c5ca6e6f0e4c0dbe421b9e24509c27b9a27077036d3bc8beb3ee8e68673cd29845a51ff9e8f8ef96568b9fde7e83e2238e70722aa9fdd88a44ab7c9d59ff2f2b46d1632ecc83ec176348b67dee1e84b7d478ac1c632855fffb26a8ef3e66fafd9cd9548d6113df615c99a49c67eb27510feecfdc905f7932a28645de7b63292467e5e36a24d9a30a60b9403d4d79fcd119d6002072b83a6598837480470fe69434b12aa43460667b706d706f870e1060681e52fd0d6938c7096075cbb592d9ab1791a934c6dfae54b10a4d1e78b23e828d2212c8b4903f196e26fed0fcb4084c9de4fc75d1325553ee1de545e2532628f6bb1d1b163eb245a95ea4dcafb235f9c1c64776afb8c51f03ae5d4799ce5606a2a8e55cc8f668952c452cb332c168b7ee37100bf54fca34f0563956b7191c71296fed3a645fae7e5dafff092220f14b26745fba0d60acb443201989c70505a9f6f1837bf2e4ac97b37b153df1c547aca4de9e95748ca01ea7855c2ee2c0e5531f36d06a9c5aa88afaa1149c1f2fa621efc38bc4d243bdc7a5dfd6ea257ad33f58664d9ee774858e8fb961890f27e44ccc634d33931cf1a95acb9922a05f91f6edf4dcf171d99ef20ed0777949df370a25149870c7d9c04352711e434d7469b90637fae6fbe81835c2aee48b2037c92f8b0edb1894502f1a9956d4aa45d2456ba75cc4b9950f526ddc8064653c5524c443d7c9daa2c6e2519626af2382d6e50c4bd1f51d906a8a7296e4b7369c8ca3bf033a5af7c90d2d70e8ce0465fe84f96d53c3b4f4584f91bc6ad5ed978bf1760822b454a23dc019b860f0899ad4c9f9c90797a078eaaa290c7f3411f32db9375da4892397865f620e5474fe87583282ed049a022b1d51f0161e801ba06299bc9a5c7071b6bcafacd8a6df192559ddc2ca2e3770c98e675ebd850cd8ad4db93953781e9c38d6555a1b16a921685f60a3f9473db356e65be57a42f787281edbbed9a7494655401054da126bfa2eba2d9f8a194c2fe0040b4b599af14ebd2936f8f866b3e586037fb8a67b00cb48eeb1a534625423574880c94bec016177c754e0eea47f4df96996ba6c3995b5d5f507b6a9134c5affe2c93e78018c8db0b262816b25813e5163cda0f493d314fac6977ba2d79071ba24d62b93012a6cca5d225db0f6957dc22d254ec797f3e3aefaddc216985bcee013fb69f453ac8ae6e797ce06228c84a26e755e336b122b7794c38dc31663e35c51721da66b032aba9b56f588393eb2b7b4ea1f527d3a1854e35e6c4187dfb3dbca46f02629a5b05fb7dc4ad81968cf9844a6b5cdec4fcfbb127efe57b0235337bc08e3c2b85264e8c023b194acdc8e7ad601e89af9068f50dcad77a1f713a352b18c010a8deeea601b226f4ea47d48608fa27daaa2906849625e530a86050ec87bcb59a4fb34f5d7bc7bb03403dae326aba8c97edd5b15c3ff030a0fcffa6d0fe82299f0f83e5e5cf37fca44e97f844bd0b6b4d3eae534bc8fa25ce1ec9b9e6e347043f14e6f143769557e2f663ba21548e08749b9953405b2bd771757731d1815c29b533b5713ddfe56924ab60a1ac5a6c003baff7a6c727580f4fc4703065b6056d2c0819f12099ceefdf26c1e4104a20cfba44e9f57519d9099f0db0bdde74ca3e0dd08950de3a13acb51aba2c460f663d9d6d84074e35f55051718e2a31e2494c74f4de11d9826faed430a4d794b63f6554a1e64514b47ca45f5a1be926f1420e6c3f240ba7f1d8b46b2e15e4e514ef1341092950441f9c679b09cdbfb18e0f44db5b89aa567bb497e32031fba7767572b8b2f85b1d258c1b33e58a10598d80ed96e3e18c3633baae2402833b18db57e956b9955cafaa4753ac7230f0dc787c9563a286f7b96234c1c0d99361cbfe431fa235ef361275b1f4043ad8b0d229c64dbe17040134aa975a6b464fb0776ba338f67a97682f10a3ba068b7c71772950e5054c84218641123270e7e2ede9ed0e175ea7fe3c3990cb5613a72d7f19337f5d0ae14c451bb29823f19aa3df8c2baa0ff4ab76a5244711ed662cbb921bdae1e0d00cb8edc8934c9514db9e517b811a041cb5567a7cd693c47accf22a162c15542c0205fedd63d0d29b9749eaa38a514c97364208df623831efae6097f65b87ae9178886fe63349b580de4d3ca903f187170ee09fd1d5ea526b54d824ccb8c4fb85e308c8c85349312f8832a74da4484095311245f233476c0366f2e4bb9701e50a15f948cc6da54a7116a7c68bb997bb54617e28b3193a601c8498a45d24aceb92195a611cfafedd8e7410aa7867e93447457ef0467918b27187b713d2937251daf7b68d78105668410a563c271e20d3d0833203436deb4f08b57044c0a02a7c0cde2779e3d01972ce5911227b7d9c58d2f24219c93c58f2185a3cfa9478d31f1a58bcf2075e556ae2fe61d2ca8e5e6250e78a8e2c2c90f074b992322817adc15801863f617e9b53e09de6774139720301f3c5f5bb5f2a72a97cde77ed6e8dca741d1de148db613a92469339481a5f32669fb898d710bcd528c394149c5171dd34e34b563e98f69075407547fd8bd5fb7e584c64f7e3c382d865c15fd82774d07bd368a0ee921234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4df25ba8f0da583f1cda4003f21091923a948877a4055f48ab15d27935eb69ae0bfc8c84c7de6a668a0cb3d80bfe573516bac1d131014d882099f5bed58acfb7590dcfedd4c7c24237b52604dcd6ea36b8d65bd31d1ec888930dee2fac57c3ac46827f7d88cbbee64160ce42af576774832ed01873a9a7be74108783839ef6adb162bbbb79f7a44347a49c6d275a482e25b1f100378aa9283de0996e0a6174da7f15f81b33a46a9392fa140651f7d0fba58baf9bc64df2653541e782d6530211965c9cca0e6d5428dd79afe419cc823d3dbca57e3148db7d8add262e549a8d7c424d168fe12a20abaa2ffd21157567cac548f2231db2098dfef3a03e18bc676f0663a25126ee0a3fef243746df42e47c26734e97c065f84df17bebe414c0b33405ea6998e7659caa34bf2b1f1772f19e4ac4a233ef9a22ac2f2141f235cd0736940dba290c29ebd6d79cf70b06c655dea11f4c8d087c5771c8ee2b83336fe8256ffb49916c8bb1437202a758e3715341b7539332e1ed4666a776c57b0d6bae5956b1dff6fa34bd80f52b4885f3572ab8a7e73e1cdf50cc4f550255b2b709628c42b5bfe40c7b5b4bb56a4f1587c3ca17018daf265d37cb7ff7f542d27f2dbef8ec2c6e59305cd1cc4325928bc28cb96c41d23f5f22eba1e611cf37e85afde26e146ae0fec719c09c5c4ca87836eb3fc1d9edab94ca3021d36da349f52288c52b92116c16c8524ca7eb4cd1f345c1b4649c38d3f087d15f21841bbcc29529286a4d01e536bed9525ce83e69366a5581a7b2b36f66dace37e7cf3c4e504452295c5f1837412b9e1df1561328d0f74d83a5dad6e06e6d9280d881ff48b3dbc86f8ab18466f55420beb7b1a36455d580566a11ab82bd5cad681f5e7abdc9e9425870c89a4565cfdb19296fccd45616a9791bd3a1912d2ed4b597b383cf2a523bdb498489c0a343de5b8e5de760606fca4ec8f365b9f749f4138879b201abdf2fd2688055a3eb833ad048eeeda7270c57bdbd265db3f91256193f02ed0c6585f24e9b0ce3ce8b40479b5748c689a9cc4ef1b01dd2efbb2987b3c1b0a5017a4f2214f927d4e928858ce71f2ec30ed9ecead3ecf985d4ad0735d1767858aef1fb9f1a522eae5a9ecd04744da405dcca6b918586d902dc1c524fe008d7ac781c9f12895baeee85da7772e7524090171600f0eae1ab1b10e92ad3bb937d27bff014cc1987e47c9f4405c36e4284901dea14197cd902577389539d5da04781473194bcafcb0b13a4fb7c8c638ea59759790c73a34a453aff697a9a48c1bdea9ea764248d42b960fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5ea314ceef856473ceadfd87480b17f60f5b01e4712eb2cd40811b27d6c0f2ba1c62f2f02f9b16f6a1121ed8e22c1db50f80ed8faf2c47ff2adf9f5feac09566859b90b7112503f9513176211c3bff7ef951c5fc62eaa3166be447020f2e69334a54c98d46903e23cf7a925e01ac49ab95eb7a2b12dab2c92c752932db5828f12ae23c342ca99a9333e90533515d423b93cfe696219faed8e96c2f737ef2649615afeccb7685e97aa15fee65bc829c0de0fbad1892996f94c5d75b8bd2386a387fced5f80295cbbf059c602687285cfcf4910bf45a42a24e455aa26808af4fdaed46b7b4e5820d07e6fd3965ba49a23776e211844d44fe51841aa73f1358300963484dc2836478edaf1b1ae0bd6fcf69972a0e2788b682fb4b7608fa224448b6a094f1e86423ae401ee9502abba20358ae687bb7fced931ea18756e74f22d1cdf863f14cd21f12e50b52b431ba8c84fa4283c2c6b51570b571f5abcf60b2db6c90e4e47a66e47db824248cb6f3f4d07983c09294b77bb56cd10735d522a6987109b503ec1b3112bba8af9c07762f6a4925acfb2513d4c2746b4a30da4f0e084447f4da178239f32c7279df3fff23a55b6ed7c3101424dd9f8324a979cfa122415f42a8dc49f5f5ec6f9d91463748063c2d3d9406f21aa459bb3c7dd60be371d91b685893ba452389c0e91a30c5acbc198609fa4219101fef93f691c7edd387a34918789ab3e72d0cafd3c25d723ff10e02941153c8eb037a7dfe7a83af9b32c7343b3ded474ce1bd609c5f142fd3d2443f8fc367e1c786b70c4af3db3697b1a7117273369a8969f9070ef41bc2686c3f22a8d6c02d0ec2a046aeb969332c5cc15931d1abd4a04e48a32ac7ab53c17df311ef58dfecfc554c6255bc555624b03bb51e12c1857bf69b88c6b75597b45b9ebae99e542491d345d2275821e0d24d60f5ec05d308660d9cef84576fc8e28650848e6a8573e062180440d0f8fa10427721e02015580b6d7bca90dcb6f906e1fe75efbf11e6fcde81624ae32ed33178d23e2e0ca79724b682922d8540f9f4d01a87a0e315e803b06cd938b6fe258a603e99f83f9327fc81e7b8b6d6972e5e7487d89c3518155b2703e4fafcec02a6e2672190d5020a7a62af179cf842bdba906daa820abdacc3dece9ebc5fc18324036ea2c552179eacf59c661497c53722a3dc8f016439936bfa04e31b65d4cfa43f7a35167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8ac498dc1e481575fac87732db505f315fe7287e261429644e80a09f03972f002bb62a9915b2a67d924231d58b61546db355b12a0f54735647c1582a7228e0240d87f632763418408623fb89c45058eb22bffcb33250ccdfb2d811260c2b1105d0979de09f585d2e3aa2f1921b32510c8099eecadfbff12a22700265e1a1142c649097fb7c729c59605413e5f90cd076cb2ca92f3fcbfb8c0dc0d84206cde981aff3b9c0bf8245aae40ca899c59053a43768a8d8d88bdbcf13d191e3aa21b1d9c106ef39c95d9ab8925adb2f5a58368f5084b26c9044236efdc962321b3cd593e278a9119f7a76d0b71bf99b9ad360e5d60f79234cd4f1d9ac4a272638ec028e5de2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe57286aad6fec75f38e4f481c0590a71252ebcc9faf6cb72029deb640bc642ed0a08a9d245796fb1e8e5d36fe8382f7a260d28e65bc5b32e824f902b9c80d8cd7c4d0d700eb31763b7d46fabb310d19d4a225bc66aef72104317694b0ea9d8b6c7877720dd9f63ad5c12ffe764bdb3e5c0562aa013828ace7876209a2170ee996dc5f2b450e6cbde1ff93cb009e27b241da122040128533cef62b2a8f69d58163f4684c154572103fba4ff94cca765fa482a8e5ef5fce2626094a55330636e783b497b2ac555f23a44813296a2549753a7da1c5e46e5b36086b063ec09043a9cb63e27ad4f9bcd73993fc1544ec91eb839847777461f9b3bcd9dac83e9dfabd826c4d96d85eaf16d95bc2f13a369bbe4e5181d11b52f6b4e78f75e39ea040a2f4ec90e715bf01153c030f12049dfb0156b1f5a23e047260056818bd90028abcbbb8a4473bf7385539f9f2d0dd0f0bd0a90a5988b4516f242272fe736a856f1a37ae21bba3839c09f06a5cb9757579d6347877b8a1e659a54d2fd23e859702a57e20a1d5e3f16677846262251129bdb8667a309db7f8cd364539c6e1b8ff5d312c860e28325a443b03f78b25cb265c9034818708dd6be7661007a829bf18805eaad117c48254d4f18d600218d314f0e3e92fe375f37f5251f868b0d1678f48efcb9f9275db2d79e8db27118664404f97f63ef396a7af47c1b9cca4cb0a524129d44f4cfe30a047b2dcdbf8e1d35ee21066af9b292853af195f0aad4598e8daea332c7cfdcf09ec7198e32145f2b682be2717219e3b870137d090fe1b7b5b839b55ef2cbcd3da490eb3a9dbf5fb3fa9d61f106434bd58ccb899b6fffd402600271449d333a77788ac35205094453c8c08d86085462b2fda3cb58a7800cb7d98f7d9a4e1ace15ae8b5e4f9b52b42a9a709894cacda47499aa776acff2a2265e26a05a601612fe7c0ae19cc0ab046f72b6e3e52258304e76e785aac6f33e336c783af5a8272ca990bd67062a39fa6d9fb51e9aba9c849669b2761e12c39a002472d0f4fedd9e6d8468c8825ad3c5a9d12a84d488a190a0fc72fe037ec6f47a9f3d6f4d5bc95bbbf7a30ba14404fac17eea49bf1ad23544f1ace15a435f2974f0ed1c8a510eb034e6e6e66d7f631d08d8d4e10dd448996ee6f70603d3706e0712b46d83a02879970039dbca060b4886bd67ae2b32b13b911bb3a987ff2ba60f4f4bc470382f01dda1f1e3fb5cb408bf551b6fafe95acbabdbf420b1ea0b2fe0eeec04f311707365feab0d51317e32077c16a380885589d92e50cf5d2e8359cbe8d874f62d917e608dad160a634f785c70e582ea253d2d5106e0a8a150d11ebf93bc54d7ac599816b7c353353858c459ec73e7986347f4de2fb5087355a93c05be090505d8474e011eaf0d6775ae09e509990d18025012521ae9201ccaa415aee44235c2de111688fae879aab79be41ade2504e75fdb4f0fdc8d0fcff3be8ac869fe113641ac7ebae52b5bdededc8fa40ffa05721c9f9593dc5d03120e6278b1e51a706aa5984bad848ecc5141fdde31938f92cb634085ec666387f7795a2bd03b164ce208090930be1dea24d65519f798404ecbfedb87154c1849d5d416dfe5f746991df400e76050f329d6a05ae4f68d6f7da898144217480e9d829bee918bc2d53813f572b7fa5f92f979e857aed2cd7b23dbc438a2489994d9b46d4ecb1c2bac9f64602c4650cf3ca7578a24688c7c98a88fc207a97be06083e16d55d2472fd85258ffa839f3445a590f5836d0d4227e98b3ac36879cf2979bd486be80b96670cd80f960a9f263686b9652d8b72945991d918443a39ca2b30e7760757d5e9ad065750590c0e4a78cb5017f453e7cd1fdae4e331d2d018b718bf27ffd74e5de7a6a17ed6bba8fa719fe71a98aaa49c78a4e9d561c4a12deebe3c5f51d6c6038a9dfd65c7895609958513bb93614f7519349f9251a86a3264b8744141a3f7b71175ef2f2b04e2e116d15c9ad26fafa6c0870afe7650f495fb761257ec7e44404f964d8abb5d0a77a8030eb15d167e353b16457a9cf8bceb0bfe8a08bec256049b1f3564316845b34b3d2fbc162d24b05be28781ee3a00b10376218616d72b935ccfa8d12c4c2b08ab76ac835937c158dfb5abd2b132039b5dad48b3eff9bf0074b7de5ac763dd9b85ca6a30510ea1ccb004f90ed82df4908743ae93b5b20d2c39e0ce7171c05eaf0f56eb09d804eeb9afc2828b43fcde4506445a042a67e44718d80568305ca38808161db026b4c4cb22dcb08c62e282743aa11e0192a9279814a3fb6205d27f2f57e16503317909244d18bf88d849bba45b8d59a9b77d20a67d43399acd849edde3077baf78d50362894fbc79cd586d9cb3ffa344ad9e9e497ff5cd8ff2766d8a7ec4b041cb4f9eac5f565e3712bc018e5196e93bcd215e4958bb40c467aa156b35768760037218b71ae473af9a59514a2ec2acad4fa5463c8fb0b862ee15d11c0bc777e681a88b26de3d5c62673a88eadf31474d5b92787f44a5b18008f65e71f793d486777afeba004d5bc90393b587d9e01ce0a3de67f1f53ad4dfb6b25498dbaf2692a08ce3d7330e6c0b377667d24ed0ef59c06952d9c76441997540d7b86ed4409a04bacef48431c916bf2b6f9b263d47e3023cfdb52a37bd9c0d1528c5062bc7cd4381d4c1bfcbd648a253a555088502685249eb221f71da9ab4e84991ddb111e891e6358d55c0ba66ec62d01544d2a658cd0183e3565bf7a9aea46c19be6509322421198431129b75a2b5f4b204c773acbf421d4bf6ecb41281dfba021f63a2d6ca95688aabe29b126ff85914d56f66b022f6b1b3c171bf5c2e3f66f685fead024a2136e55b2765aa3b6adfa56dd6766beeb3856d1a1913fb9d9f5678622d4f3e58a143a921bae245e3518fa044273fb6d60768a1aeb188d7826a82ff4c1cdf2912d56dc89eeb2ed67a2274d1291d9f2bedd6d137a164a67bc2afe4bbbbe487ebaad3c4bb0dd11a6256ad5d3e2dd36c0b58226b37161be921ce59ae473553c88a89041abc6c147ee851b6c0a3d58fc174975035ef4e58b2d7e566e173ff5a0f490313d69dbacd9cbb5a9836ed3a0fdee378d1995b25ec4f87b602b01afb2b722c590368cdffe50eac6525f5094a7da4f6f61e7dfcb695d37d07cb1ac3ae9bee42fc58fe4158344c5216cc52061a8645793a0b2eb7f5f91f86a719dceb60b6b4c164b2140460c6497a78ddaf85f30043144d047060eafa49a8963efbf497311ab4748a4b8637c9ec9f74cc243ad462b4ee7ee8072245035a43c8717a652fa061bc0d536a412ac9a9c14384d536cbc2cbe1f4537a569500014bc5cf1b8e3505676f08344ebd231879ff28dec0cf49b52f3e7129d676740e3fe8919f6d449732ac799c38f6bc78241a356f860328b06f4b6fe82630fb40a45cdbec39f912f5b59dda42c8aec30ed5041c0e57b27f2116cde1e9bdddba18e13f4def1a1b577e909d55d2e403c648729a9d7d0d3c87fd998ed407cd36da7b71fd84491919e2a6822c011ba0da307850626453b1ce798297e501993906b649c5fe53ede17cdce3a1388227d8bad71f7e2a8e6f58bff88b7070572361eca53005da7548e53537f6c30cb3a1d16b84fa77b18d45fb65a6510372fd79d7a8aad704cf4c3ab46d8f3ef02d01da16438050e761a22ccc443241238d6e54f653ae5a566daf6cb0ab89c56c04c4668ce0d8e1ae1de21b28d73e1debe07e2c18938b57fe94bb49776c60cb311fdd57878bb1034918a5480c4af8c015befba1412bab2f95b355d409cb7120e1d737bb64231b63ec8b0d83b2dc8746ebeaccd58032edd889eca3deec888b41b0e88d4380dca23bc09afdbb99da6765391449e9eb58b9f94b1de8a4613ef1844c44f90f8510e47e41d40da5a55c669c93f7d6fa902760a52d493490095745dd0db0683e122fa7a74fe3ac050f18037f0e86fce347e4321b296e126795e424c80f179f33e2f667da0f5bc18f3495166fae73b80760c2ffa4156c93e89f49f255e1fc3e8e6b060a2f611f5b2061d1d4b2968004d3b685a96fdf06b67ba4c12c18f70ac37cba73cb3132bd2ecd3cdc22ff184e000810c0f936f1e16d04a3d826b7386ccde9bdbd8fcac33dd7a316ac2df51cf10f17da3dcc66b0ca8e6dc410d26a59812aecdeea029fb0f216c392a332720b56c1c1eb96a8ddf53322ddc2a50a30305a9d2a2b140ee6b9be892f65c4023fdd670c6b0abf7a0ab4f0b254da725f76892254ba75b49ed4cff24469f737516aa0e20879cd68dcf8944f85753747cade14669294a2f02c2b4ae85b7600e541a17aee874194079d5f906bb7e28bb98194bff8e0a9adff0146afcc02482d64e6f0ca3997ec627d5641aa248653ad62dcdda6f7d2abe8fca57b69d09075f61d4c852b36e26547ed0c9fad313d2cfb8483e5290d564296d12ddab4425cdf1d5c6f9a70cdd7a04e6abac5056b721cdab7696d353eb0610c01cf3847c53a6030f1a8c8497bd7fecb657c508e9c088edb5cf71ccaec186ce561dcce380714213ed9530775150c8f21b08d763abaeeef8eb3c82f8112f8cf63850b414aa19922418d6d968d8a61a0cef2bcad2829cdb91b78ed5b893cd4ffc08fb5001bcb114d30a61842270c7afaa9602903e8ae9a3c49db3d3566c2b8ba5c1d811e6ed0f9a2c3fd5c7e94025f08c1c398a069ee155cb1345b5b3c7ce8b2f83ffd3f20bc7fd371d2ff8dfb4c8b023b81f94e96b041541b8db95e1db0b249ac5b9eac2ea46b5232b9974d78fa15de3e12dc2a93662578ff8572feb604810d40378540918cbbf8fdedabc73a9636daddbe619dff43ae29432ed525a037a1dca56d2a47af6559f8793a72f7ec6cf6150071fb939bf677b03e5d8653cac7707c6a0fa5423fc5cc9e2b3e8d78383946b23ad033e4335d475b4be70bedbb9e5285031a08ca2cfef97b1927078adc7efda7daf30d877acab706b39e697a41a6181a1e6e9ebd784711ca7bd4a51c0f271d583b24d63e47089c3ccd4a1a5062a6ad276f6d057b0e2397cd1182dbcda9977c29eb3301200777010e1b208aa487680cff951634e88715e03ce8b56ca26a33aedfa1ff004dd6229f7b3d6a2579502f950ccfb3e92edcd8dbf26039111d3b6607b477e9ec3eb8ad16465f2c257ceb7227ffaf23c648aef1e294156b5b56b9c0d2062729fb2e37de1a04e57ca83b05294d79181607e1f513703bf93da2e798b0086a0ffb8d756204c9f90491c51c2033fa40b9b58fcef5d1709789af1294ae280a6b53c7afdb86896a2e0a1b6cbece8a2d6b7259f8765e9a58dc9899f48b2e06a59f779aaec1a05f120e5421f3ec429465e3bfd29f2244d19aa6d6d6985c8f79be25998746fcef92ffbd8a19ce8e528ab7a1f1eb7e7b43bf6b33a1906b653f66f1d39d5416e4e5c176916cb45cdccf25ed7df4dcc0cb82bcd5f2e5a020d5c1787897208fed394e0c1c7e7cb890cc20124384dab75e1ee3978b1a00743081db42a487c517cb8824a9625a65c4d51bb672de197494ee6d3458ddaf1d4fe843b2e029b199093fedcf235b97eaa51169a70ed7e354b72ee172301f9b8043843801aaa0de7f9f7e34d2930de00bb8b5f4f95661ce54489e0b56aa1bccda3898bdf149cbffb196cdab32117e42be76862e5051c1990c929e849eaa42555eaa2d60a54c468e7ddde73489691b1d129646aacdb350e75d32075a0d3afdfa9c77c6a4470de17205fe4512bdf9a22c9f4df203703db7f9b383c2165487ebf9604c8e56f33b89161409c66c573066f095caf2947678ed4d3c4c795591eafdc5331a5114903450fa938a8f3d27c821564c1af0046b6ae18bc120b2f4ae20922229b85f86821100c6c8d0e0fcd2fbb0b19b1e126d30754e90e2ff3085963a3289f8803ef08577bc98b3c1e8936af396d4e77bef81b7f0391604c3b206a55fc3e56e04311c87c909936c1d484c0d5a7308d16656bc2ea4399ae10f08b819bd793b74819d0620ffd1008aca60152aefeccb237b121a881d28905b96c3d23ec01c85adb33dfc5c3147f8d883514f56e09f46149237140c0f15c90de7a834f328909aee866b58a7b4773c450f91ed8669a7fab90a54968d42e0efd870ceca7762b21fea12f8ea5c81695870ab685108c0389fcdd1b24fa34e51c790c7309cf9587481a30e637d12e5ec00e916b7f4c0956a542bf479be301cc0bb2f414b284975a07e0452774fb3a0c553179f664551580959f67360efd1ace95fc060013d1f496674f04936abf3d5503b739cde1aac6beac41f7efd3b6438aa2431a03220dd82f1cfc4cbce5e825b80567331086954b2b87af8acbf1d7dbb673a20e918588a996a34d7a9c2cec2df9017a5f192d109acb62dc93d9c2de07eca68c7a22709e687d2bb5baaff4aad64d1f9e03fd93fdd5102745543cd4337f97a09b86bf03da882c6610f177f4244f104c3d61c3506960fbdd6fbd7721ffab122ebe0c2ec168d336be0a72e3bfa1051d334866efe739eb2055db93203da71fcc05c7482105e5166ae1be1c57415f9d2d5817cd21cff724322d572542934160e2ab3b9026f7beae7de82bb485cba9cf19bb6451b2e86ea54a868e3c811c031a20a7d6784411fafef436255701d57808dbbb16c755f9fb29266f23b9c6b0fafb61b217693564fc2774afdc5a44ec38ce515fe71bf75c3da6249bd72f8ad91d3dcd031173718fa0b7fb5a86ccd9f2191fe6d59e5ec4487d60bbbb93dd2147f02f7fc36b9730554670b0a0f80a62970a7ffebe08d0adb563287241b2e2d52795a7677055b22deea6d89d910ee4a486a1f385970265daca4c245cd3c330cfa66699ab47741d4c1bd21e7775861740495a72817b35d9ccba3c37ec6b11d7c3c9f023115612b848b9f2179da0ed62913a1b3648802798024f7442aeebd97304a455105feba2e15b9ffc15df0ea743c903de156cee9dd1a030ab28da8fb8f8fa88e30817638b7935840e8993ba837b3a1e4856612e3fbe0d7aeb85f5ecd0602bc2d26a8b63c7e06a0f737b42b46c91563f4577f46ce4e8c8d2f4abe0aa1e412664fa7599bf904ecf00e361adb400c0e45f77a2d69d1c03fc1689a5e03b4cb872849a2c220228543a6eb2b69641fbcc5b2c3cb5ada14ee76afd2ce40d5e40bb2b63e81b379943f98f82f0eaf837c0a235f9ad4587d6bc7905d36dc9673ff510920971b9dd5b66b0cd0e43e1a2d8a92d399e1fd85c1f48103ae3e5801f18acc70d2bd25fc574881a5b201ef6ee6ac8d993682a11a5c2600e4df6ab59e3dd22c5a5cdce3905f5a84a92563d3d9e48844e332f436d1da5202c645970c97c50f75338c5afbc8e0b6bd8bb9c842d1c03fc8f6938f520b021efec3310365d194fd4388a287460986d438d08e3f644f8338099fd688061c6d0308f035a683f0fb14d617b4282052177f433fb7ffafea0c77341832c39ad9b527307649fc33daa7207bfe66c4846c292d9d719367b43f3b0dc488002a6eb692ec58d111507d8b5173e0b7c1aa9c3a901585c7cee18a760e10590cb7248c4c224450603aa502a36d5858335c864dda533db9a707f2f376278463b6a42cd8c69ea4a53af0bd13e04a40e01718c403fc47f58d9c53145cf73ef154d6597188bdc8b45a929bcb1096bc438b63bd400c0c6a8ad84d4bf700af5e93855439450eab718098a8a87a0df8f590d23c544b44ed40d09b191fb0098f9ec2bb6f6bd01f54c593e628ea97a1d28165be4f450e6d67cd40a346816402681c9c42c57ff5beb0bb6dd8449deb6e06a50ab95063915acfdaa3636717ea4c29ba17a8fa71c54a40c72c582ff90b07e480ca1bf132d22b5fa221c4dade8a5e2364a3f105c4930a05d220632bab5ac61f31484b1088f8fa60d3238226687b9c5f78b383bdf5cd7adfca52e49e22e9675826fc2a5a9924bb5e071a21f370f0e9039e6dc18f9de0fb827b244a37a2224da0caab45cb2d08b81f8ea08e648b1f575c95a425c8564816a749c5941caab780d8949f658ccc1bcf04aeb517176786f573751e96cafc53338ac4db4ad2e17aa0cd0e2df6b0f586a69dbc7c32d8204016f3d8beac7231427860c7ee366f42a353d00c563dcd2d4d18fc1afca2537d86878d45a4621bd0b6474f61153cb7353250c96c7a53a7cd35c9027f065a704affd9598457b8ac2289dfadb5844b58cd9975eeb68673ccb4b9b5465f7b4dd079af32d706fd482cb9e595ce00ca4f7121bd8b2643d10806b88e4cf5ff23fda818862b28de24c78c75eb3001610c1ee6abfbf3296cdafd425908a33841df7493eaa3c24b3f4cd07c4739ce1092dc13d70cdcc76039740748985caa90a5d34ab4b42a4bcea91e376fd1020da23ba8e299efe770dcb72d4bd59c48785bd0234567bf5d2bced0b47c4200f3c803931d8f0b139b9d3d285980073e6bfffff045b272ab79ed972525befbb4d06fdd6547ac5e153e373440a78d95fe035a38cc9936cc94f7abf5fd580296c0258e711058a75af8f01bca7fa6d721ae954dd128dc4a514ea2b34041dd03f65b31edab25c022a02e009bc2cf45615e74c7f366d734c9d20e5a71b22e5c0ff356f35cd3acfb70b9c835d2b9871ed6fb0cdae8001c89080f4ed15e28a4e75fe626988e3680f2d128cf79446a7a3aca1969e953de8288d1a4a183dfc920ec4087b59dada363c7d182b4d4685ca29e0c8d86dffac25fddd1e277aacbd37e49a904aa00de4630a21c99b86d04fe4103c5a60e9df208bd15f5bbe443e52fd62653467703899ba826550df5e7d57c1239d69a775b3043b4117610ea2437fd69609d590c65ffcd7501333695e9c05eefb5a168abeaad7b719164da4a8ace89c87e5c3a78a7c699821e55746a405046d0aeae457a0b077d2c704c6c40fbe17af92f2f19f8999994b634b925c6d9228d996b32a06fdb661970529e5406aab2194ef5f1d3dbd5853f1c4ba3e15091ea798c37cc292ec83a27e3d5d5b2521666b995ff30985fb722862fcd950f52cfae2f17dee90b4e2715a77adb1147bc5c87a88b4acb1c0ec0c332ba8e68e855b94f394a9ee60648ea94548b694b13f42c2fef34b2af201d894b254f3da9246d6121df34d4431432e934da7c18a53f96cd1564e75839dd2172e999bd7d1c6ea25d9f6f69f1828a7887acd78dd297ac828ba3e7b0c6e06f80d214c922b3fde06d6f7b17c87a28793b79f54a20c64489c6258d4c23ce9a7c95f455bf6c6491d449a87bb5df9c54867468dfc14996de9d8c4042afc06d7861c66ae96832c329e7aed3ff1bc229343eb374d724fb30a7a28f30877a28c804dd79e72e82ad9289d642d201c38b29f3b399ecb514eea9d140b1c355b180380ab7788529a0800da2ec75942ede6c626e4b8e7bb8d5b514aa3d4aae003fa90532c6fb122624031a81b366745d8268b1921c61df9a6d8f3fdee5cb247ac82d2dd94fb24d97047d24d7407dfaec562ec477696d4fefbfe72979eb3e19b18298352b03c0cb5bdc91ed7b478e1efe8bacf47c2d74e3a027cd7812d4631e39fcf43cd6f8722bec1b2116531ca90977238ed4d89f386975762fbfcbb182dd14d1063b168ddc49c476a250dc42c17499a7010f359ac087a64ca9a1df59bb17dd76be7d8dc0ce4b77f8130d232863eff26b94e33e27dc70741d3a3e7fb9de7c2e07b16db1d1070341f377634dd6d088471c905c139f7f6dc574a97f6188596e39cf027488bdba88a07aa987c0c800b821935550a1a4ab68fa94c968ed7a9ae9463d53fa2863e71328ed3daef62231765d30676995651266aaee9c06777ff2467aef5ae5d1df1799e71d276a85cbce648b21da6d609615d619bce00919b7c559ac75ab5c0d9123a7137511ffaa72637a4cc1c1a3dc6b7737fb89f624f94d236b971fba7c698959dfc392fa2ce2638fc864e83d472061803377d46dbb4a8001014b670ffc31dbe050ee3693941df8419d01b6ce113f56ffde9a49a95c7780d4a5d9354af6d554447fe69eabc2d75d9d712768fca0e35c35eaa596299db3e1c89b32a94494b77361e35bc308f001edea74d4ab8142ab18e928667ab106030ad61726ef159ec79f54b9040755094e65b1bc15a1b6405be387fb12dcf03df0225ffcfca6c58b31572078b40a87edacbbdd7d7fd28fa621fd574f4150492d20cabe6b6c944c371a03b6fcd5f1ef374f8d7c9c4e04e360a41515b4e6f0569c7ff70f42228e2bd4d9ee6e56e82cffb787578c51d24dad817ddda34248c229538df63cb45259e861328af4294fef9708283ce7455d9257c08dfccdfc1ae9f0d2473a2dec3c1874bf76a65ce74e59f394641dd2debf04b93716c82401c479c31a33c2715f6d5aed51119bf72e8327db24d72485df9a136db2a68f784374aa2c1697121506615ee4a9b5c6e9037615d006a80dd870f179879004bcdaa6b80e822bc6d5480aae1fba16388a7a0d44b762584a9e448d6eed8ba5826bef08c01004034725d721f19dc3d293bd693632456eb7b482ad3f51507d872b5bfb683b1241ea055e7612cf6914ac81350e740ec0e0bdee19febd855c206fd470790b4048b291cd27dc741c09cb35fab3ae7a0e9114bd166c2296d894330652ed63c8d33fab4713cdfe742ce115192451202d794f8e8c81ca84f3463098323b30952d3e1ea96a2ddc5d847440299c7cd9c28676a62209c23cdd0e2233df89acb7c1720aa1abedcbe0882a766cbe3f6ea9274bd01d8e650654844ce9cb1a4d4f743e9181a33a18d8d8e01b6d71bb4c1dbf72c2266d89a40a8fb5167cc9dbde50cdd98213eb0aa9fb47655735cab2b0f7bdb268eb7c6b396ca82e6bfea4fa1dd9d68a7fb680620bbc836ea5f9191cd6ff19a7d3b6714a4cfceb9b39636eee0e5fc18637ce5aa09a9d210187fa6a28ef6884be3b216ec4154ecae13cd11728356451889a6e6749bd9145dd392eddbfaff6bba2a96d7f2c952728e43a773dae68cfb0b6ee2ea49eac0ecf44e39ee91f7a485f3f69b1da5626b824b3e91bd71939bd242cd3f16d7ba291ba51cc131eff4b2e049aeda688731cd7309f67514fa2f771bbbed967b7e5e1fbad3982bcdde01de43ceea7054a745f2953e678ce4adad686c62c63dd2c5ac38dce0eeed934672aebcd879e027e9c34cbe37b67a25cc812b39e6bc32c6b65cc4ad2adb2953b874c373ba203493bc85403e73c5be4894285c248fa506bc011ed396d5a3820ba197153490839316fdcf1c53a63cdfe8cf79ec44db2634aad7118ab3f2764e56e93f6eb6284ae458b95a2da569d2d360302266e29c8c74946dfc6a605b44fcd3aeb13e143fe866efca73c82f24d0b0df9414a3a0e14d3dce584bad9e1fc8b0c76c8516c921b30bfe1c64461287fabe4eeb9b205f84ff8de239d72fd7e6b095be3bc53b1bf1b00d47314a0554056f853239288ac6128302b52d780072391cab368c0e2edc5f3adaeb082ea4899a367b9c1c7ff1ce72947e951bca3038134188253227a1c1f1812c909aab5b47a431d4eb6ac5ec7cd60cd7f05c2a3539a54459382d9adf4cac582ea6bac2f3d8906618e35212a660e643315fcc2269cb754f0c6321fcdfdcc0e460b9c62333fcd1a160de15f09a64f9f6c51860e6ce799ede69324cb9597b219b0588820bbeb8fd297428e06f8d2b82cabe950a093ec5da81f2311debf9f12b23f4f3a85755f5ad79e2ee70d1fc51264e4bc038ba872588c446772ecfea8d7dab6ba2b32f4f4018d996f17182f8943bcfca7c52b1b5c87d527e2ac3bdaef0a7c9b3eebcb333cc0d88f4dddab82471bb010a1b09e0c8e95b20538ef672d714fd7a24ed4e0778c33f2476d026c1a86e2725bcb74e1f5ab1c105f3dd100d9133e2ce014475e157b31351cbd571fac6258dd592f6d27f4e22a47e425bb5431f157ede3f10bae7e159df7300e8ac4629d8f573869c7503440d62400371b7c890e85118c25a80ea8c8d47844ae2f8970f4907e78d14910531be87bdda7c98bab43435be08a57d3fe7f1f2c6706bdf9242471f73da7d6453023851fb0aaf2654e246916df3feaf128fdf64a11b99377482fda3b349a52262e41af141e8b4da43f7971f89135bcf5da5a6d9d734c0ddc61a20390a4d391e157202a423b26a83a9968d3fe4f6ae0ff29b970b9ab9552b6ab3eaa3bb523b66a3a7becf65fdd2ce7a08b062ab5ea563b3168ea33f5c7e0f86c0c559ea960c9e44565b089946101cdac6810981197ebbd2731eec0e606fad44cc386b0b6a318b62f8c61378771b2b076478d9a12764f6725e009faa5651b4d05e05ee56ba1e2ceaaf653ba13a8ab9032b133ee6b79cb88f1b35cd89fbb89f018853274b0fdc3e0ce0578948a2b69a5a1d8bc69bfdf33d6ac6497d3ed47599f5c0e70e5466f24f1d5b3b6911b100aef374dd67aa3bab81db48bf0701bf3650f27d24d7c4fe5fe09432b1a5cdcd566df112a773a81795cd7cfefa65821399f53d99859f2d629eb264c4aca343eb82f97f16ea8589af3841dbe39c6051969eeb7837d9eb95483861df45491bee21b790f0615affe31b605cb65f5c055e217191b75519a1f70712b3f78b1e5579ebdaa6392c1871afc401bb529c649896f0704deb5aae5722ce2f12d151bf50490992c7b17eee2cf17c2a7765adbe56f6e04da8fc0c7f091952a304665e4c79859fe76203533cfd7afab7a7c1d1811d006bfe58c1cc571a0eae6802ee6a2e2cc1f0d708b8dc97ccc4f52d8a286fc46e632ad4b130813689daa8f9b462c5776391df06a9ec1a9bac59e9575ce90772bbb0a2ae16576ecd037b84350b9d3a8dc58238634f39c48d8d368d30f44c7068f2f099671333edb09dc145893edddebeb6bdd1a0a1f063b20022d61b343ef4200f729dee0b3adad6994400bd6c0cb66dc278e853ea0bc577cab2957d183f057472a5f90c6a76c61b771fc0f483eb6d724c8dd2e12c45a246c592c68b9d6f446a953d2ddf425b195c9ce8cb6b9a563bf0a8e56c43601ea957554ce229be61e1303cc3a4a07ab6bcdb8320d6a19b10c875238a51d71cdf24f371d7986dbc1c8fbfdebf560573ca63cdfaf8192e9097e700b78684d435f568768d9fd03906f1870f00e9b4864b2d488e15e821d685d225be634efc4d4f9adc0a707fe8e3cb307a47e6facf9ef8cb625f22ac5ef56a4d58d1df72c7517281f6894ad04c70286d051250828d5c84f45995cc025ebfda8a936b6a09967ae0473bff281340e0e77f77c2de96d6ff0a6289561a8da14491c7f4a93afff0778be6d8463847699951a8e50469bc0e95dc4a77e9d25522e17b6a7378567325a96e393567946d16c7ebd8a49dd685c211234ea59dfbd8dafe06908fbb0b806c87fcf2c968abeead798c0e6ac2a3b6efd27254b89c63a4f096fbde3875d8d416bcd52921512cef031ca03f37865faf52ccedcbe6813f91ebfe63d7053ea886875efa24b152cb244e8a9134c718268c5f32f88e6e9cdda58e58872876dcc02ff0a50b6125678a677b0113c5ef05b384d1f657e36bd5bf85c3d5593e04c63d10f5d71710e3bb385b005460f10f5a2fdf4af91894688e73789eec24c05d17c353297222d617b18830cdaa5a388ad97269148adba357a9162a9c0a91e0cb9392cd37c246f460493af2ddb3ccf8da37854812db97f27cac589a16cb3e83e548c88132199da5b72c31528c37dcda99b47ef8102aaf1234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d950695abcf5741680f9b91ef571e7d7dd7c72171b3fa447572599770a9fa42c37eb4e61a7b87eebdb0fbdbaa31c3635976084a50316119132ab97c07148ea99df885288a8b91b08cd1aa3a249cb79c540f9915e7c060932fcd7cc143a82e57344f4ceb5d2c0a24c82e7b591b8aa0952e0d27aea0a64cbfb3b3560dd12ae261a62b59f28c17d9f8d3c97505bbce810e03da8076c701da23a0d94ff864a0f45fdb235130520166dbda9df7446cf32fd7e9c06fa306666eeda120266e8aadb5df1ab796775bb0fb95df1f170e3c2ee0bf4ab08b221a0e3c31cc15782a0df5515625d13112f981f8bc32c13b5a49c60a3bd73b4e8ffdf2853991163a02081838ea656fda8156c78f0027d471fb038eefe50f40d47f0b8cdd0c2c871d327701417aae95e2be06e187904c63054a94f4de3cd6792b2999d11c2c4c8fb1d13371cc7d17af222075f1fe3ec21d74eefe6a381b7df49a94cff21f0dd3c689f90cfebbf0f9559dc8205b94564dae5b38869cecc8ae42616e3ea0a042741e5dc3f9aaf1027f975decc5802edbcfc37301a3aa3e97debb13f48533353d275de0430784182389f3df2eed44c1691ab56b00cf56ff5fab4f4fdc2ba6ab633067c76edd8d7ad7b6840318bf87b309a7c05f9a73468d0416667410b52df30e2ffcf40af0fdbb309c727b74dd1211c15cd390ac92de9c0fad2d797cc8c9fb958f3c13780407e57af1d13c07129b92451e96bb7c3b534e4483bcb3677e487e9668903cb87be1382866bf46201560ec108330ec9447a99411e0d9e4ede6e4b03664cee3429dd43ae74687c1f1e044e29f6abd37a5ec879c974efdce052eb84ad9b0b7f8b5b5b94af6b013da3c3bd182ab50c83b693970b6dd7002976f5e5116fa902139973cab237441828c5cd620625bd9e39ed240608d34cbcaa40ff62abaffdfd183e778f3311d79c2a2b1e0813b9b66bc047175f2bc0249445d887fabf867bd4e72793475964570e87d43f574f0142eeb4d56eb8fa41a3faf2095cf5f2697240b21440779c823685b3b98d34cd7f299a1a9e5568ab08a30547141d5d84d0c7e8c6d9fc723c1c9f896bbbf7428ab21facf68d7de1d0bb35d20543d1af110ed30bb7dabc3890cdea10813bdc33f7bf813816a9e18fdd3c8a2b340afaa54cb4e2707b8d17d1c79372a0529fec73c27d87e7a4f2a05a865c53a6260111e8841d6a29ed683c47c94bd0078d2f16955b9293ef18fff4661598a3de221d8b9b0c1335866f6a9d74c7abbce7b580b478a5fb943a89d6933555ddd184a7fbf4cb19b3bca111e4271161dfa5906ef910ba9d427a691313f8492a592fe8559607db101c4d1ccbf49ea93a03235d6092567b98125d0dba5d2fadf955985d134a4a23f39a74402987511ecdad2d24201c34c85a16f2a93ab87e3f57a55003108b8e1650b4fdcc7b6f3493ac89757676b342e6d17146a95b419f7f9596c0a4765051743e9dcb6436c2337be08ae0183e9ff23754cae6941ed828c25ec72b79cd2270e7101f097c05e02860dd99c577f98b95570ef24f34f3ec12308e9d26fd7339027ad39de9433f9f12e80a3fb42bde5f75f5b282bfb9c58f9f89d54b3e6650d3fbbd0d1edda0e398cdd60821df870aab83dfbb3b782616f81b5f63c82f038b2370dd908e5bf72907f3d39af638951ea32f48decb10277da018f8f3dc6688b6547a00cb28be60db9c88ff4b4412cd24fb642b5d4f3d056785e52995c05b5c23360f7a9eb7c7f8a26c70bdac514fd65f5b6eb19e7c52779834bd71bdeab257f8cca5b51dace696b5482c2752c562b719909ea8310d50d367c58345e715303ae9887d9fff6c2a08f882e6bb3a55e54f345efe6f3a6abc0f90f2a9a905b3222755d457a0db53cf64caa154f8328a486534366790874960942abbbfa66c0f0446b00259412ff70c3f50f7014e562dfe9802725dc8302cc2f9116cd2f4406fdd3f814e1de5b567b0af41a329f70dca2a29050cf8b915dd8a4b2e6b0b63dab69c457bc98712cfaeff487bf69024a7bead9ab6a0666989eb958c686549bb7758dc8a79a9872dd43a6d2b02fa5140f4938f44db36ef499834d36ba1041549e050ebe31aad4d2a8c68cdbd333eb42b9718d1f54caa946845b826783243bffbca053709b02470ba98db17176df5f780312feb214c3d74133aa4b106f9a14657a730fd6379e29c25aee08bbadc4fb5b878efc3c5120e5a6b5808452d13d62f87151ad3571f995a1b9699ab43e6bc2b14f2a3a4fb03d0ca1e8bc52a11d3054151f2c5cbb98c3fb14e2ad3dba058bebd89c1bedec39009a6b8bbf802b60eee088a73fa187aecfc8ae59093a1564f41c63b7c84adb46793737d401406ef4f96adc8cbe1fb39dce8bb730b55fa8e82f99553bcca15b14dc5aeb9fbc41d4fb1cd4e776b6c8d343dad3bfd99ef99e08519de8d91383a716157609638471140dd012992957921f1130e0d8e87d5be6285c9867a96c3e3e669016b671998cf4cccfea5aa51b598c2e2018e7595ac173687183e80c4e48010e38e0929e7df8a6e423888633e7eb3f206cf361aa667b5312ab425f6eebc5ba30a4b9be93a1d475ee09b6f6883ea44dbb15546c11f161f5a9734c246a52ba6bc37f6590439c7809f0feeca1c2ab59cde8f4adde90892315c084c4ec3531e599651613329b4c452e1a787e3e62532a6bf48204066027946a3cb0cf63fe3e66a1f0889999322d4cf3f621336a10e56d08fc8f873b162729c403736035cb100721301951e6090577f676180773050bb301aed2f3099f08bfc8c6c542d53e172152f7e9abac3448478f2bcc9406602e769cda057c60be6a0bb24d8162e06cff05bb3918a5224f2c29d8079ede9dde5c94c19cc91de6f47b9e307fec0755744260678f5d0a8e0a4640b5b63e42fb0f2521bd2ce06880e70b7e97fe609cb7db8dcb139c425aa5fcf8da442b416bf74d9d78ae70eb93478999bfe9ccd71fb70eafabf9582be12f6d966b6d9d2b5a90f3df4b880767a80ac3243ae6c09ba685121e8bc4e328fe1a3af3f3a3689e71773e3056966fd05b5c01ec8a0e2335a776614fbb21ab58d0d2b1d9cf4e55b958be4703ae359610d8d2af56b6fe4678188da5e3e07b08b6b5c423065f187d9fcdcd1f6fb75c22515a7d63f2514baaa16e4de7a6d5b3dc4e36e53eab0d65ce6d5c1a51638a5be8d766826e1d2e6946e45b81521c17a8dc105eb33929c64f088e7cb73babdd410cceb48c343e0d15bb2d7063e35824498283e1bedb985e8809ca36a1eb22c018e55104d5a13375ed0d32852e26fce547dc50f992dbf4e5b3f0a16929009060a80a1b149fab15818447bb9d3c9d3bccd3160a4972b0fc09dcfc082cddd6da2d746b34d15d4861f8845ba16fc5e9b3e3efda7f93cebd903d62efff9cb8f47e482ae52ef382530edd4dedf9b845fb226b117e5e9c5cb1412f904277412af5605622fa0ba4f72d46bda4cd3aace438ec435909cfdd930ddf711964ced67ef9569cf6e4cc9496efc87f6608cbdb7c23fcd75823ddb2d4ad88078a90ab45289cf37897f76861874e4cfdffd09cd72f61f875f3aa7ac699b65b55ab9fb1220f03beebe88d4aae5d7154687508757aea45cd49318739c3ad5248c7c304b2a18cf3767466cc8c940544f236e0eeaa893acf27a5674d8d38766e4554142691c67f4634c09d5f61991d6b50c65103131069930216250e835e9d71afe9e471e5d584992627c70b4e07b761db9ef8fb0db545c7bb44e19dc36e5b7f44e98ccf5281bc91e10b9d41e987e8bb246071b293cfca2d4637250acfaec8e4a7f8136fbfb69f5b87736a0da2dff5ccee91d263cb8c8be2651ab1fd81a2fc26ad01a1817e72f8edea8ead59475a03d8e31e25f7a726e037fffd1c4f94f2424d96e9b8a9ce6858743416b21a03a05c010cfbde0377dafbff206284160f33d77f5b4fd4f4936a76ce296fe03ef5fb5c49d6bb647e7ff973d3a077aeb6d067d06f01aea576b3b8fe77e2bf011ac86bc14db2307bafbc0161e010c7ebba7891ace07e7211f52e64c0517a90602d43aabde5d61063046b66d47ba0406cae0697526c97153e501f1399eeb6ee7fd63817cf14d133012ca446cfa791bb1d9191c3aded03ece3b008ed2766a11347a715085b5f8e875d73d063da80aeaceb2acfb2645658190095e30c3e89749cc28fe9464ff1f753707ef9012738262fded60bc10c7e30ca7daef967b76d10544db7932b576633ca35f11b801b54eaf7f8a11234db13fe9f8c637947b4cf597313ce5023b59cd8c2a1e67e7f96e672442554e35e77ac359e2765bbdb23706343a94b90b193cbb0d1bf184ed72cdd92b7552c377c3abf06fc4b64877c8294388aaee95c6ddf3d5f54cff9ff9295d4ce5570778fa782694074e0d44151c1a00792e43dafb519805dba0f8eacc5285e76dc3d046d0929adffd6fb59de628cc0c2d46780a78d9df23bf988528b26624b78c4659119660c21611d388e1a058a329b3363f20ad65d4c189dd546a442bdf24c91dee783d8b75acc086773f2478b9e3cad6cd696e7cec2ec229111e0d2bc9d7285c50cbc16bfec49235afa4e2803c49298250104e54ffde60153ad85e0a1b143d034d76eb0670765093410484a1af7cab134500f008444aecdf6189824d2919745613ea9dea45fac5b1ab603bce55ce1a729bb7bdde33dc134c491aa7649dac095bb95399d35607fcb4b4d9989dc5ae3bd0c634d9cbb54be75e5e01bbd60dba594fe9ed6af8fcb78c8248eb539719e6cdb91217087c9c43d6b979ddfc31609d11c20ec5db8215bae636eff52a74575af7d44728c11cc0cb4dc4e675b2102a10977a4213790a7bce73d5e01f47b7d991d1d6e5c262015b950131fc681f029185f0a6b97409b27e3499ac37c992d06df213dfa8f05091422fe929da476aae4e45e2ef96525a3de376aa79df771c0c1e53f6a24e38c249847675fb23f36324b315e17a164cdbee3284d86d8e5fec437de9bbfc9723cbc1cb4450300a5c61e09331ee0b89e294a0d0fd3c56e6663dcdfb72821e3a81b7fc375da243470251ac1ed2129e779d594b63853ae9a3ded5fa032c094243b0e03d4c8591341be65dbec5e118dfd5fe37fefbab87bf2e7af939ec646721c57cbacaff0d7c6898f0bec9dc521c1f03acf968a5d93ec4a0f330a6f79fab94b67b51877e5d6524b09847896360a5ce046894cd1bf8db8d4491fc7bb43b5b52f461d66339755579c4967ef9f3a38e264582ea4183336ba83ab0ebdb4c04a5bb76bf8c670236ff225a30e9bf78262890370af7102be578491add2ed281ffaadfe67db91378b3c78b7d9e412f8bacf4c0ed4f5454423d95a644a158370eaa1ff775fadc07b8e2d6166c05aefccef2090cadcfbd38a8b216a255605100737a5c57ec48415694ccf0831a123ddb7d5aaa807649b52f3b77a22a2bf0bb53525c751e50c7abe86d8444d23d04aa11ca50fe8c5042c1dd917e95bcebf088b36e8703a146f79ed3629f4000a7e1a864452edde5dc5b0716ff3dfe167167888fd12bf9d7f1cbcb12585e3ce0b4c9432916af947389f6175a7e536adf4dc819798417619dd614c2b678df81080255032344ff7a47da6de9b7bb45256f79412c8babb82761236890a5746001686124c0cc71cf43a1b66b9d6c019d2138c4b89ad8fbc0bcca257d86db4bf8e7214d6eec3a85a746f052d2392119ad059041475f8be0103409cc557b3ce59735f38a4fef90d891ec21a18a8870245b59c65867b02c75f537640484cb994fd57b6ef839083a7784dad03079ef05a423572c94f8c6c1ddcdeb22449824e54af47bca441c81b251709dc78013324d8f082c1e425f1f01a25b68b27de5d5dfe91b6c1adb64e950308f0ec15f6a426cdcda3c3af0c359f29aaa1d7772a1d9310b3aa177af1041e98dfecbd055f5384ac352e654dc7f3cbecdc45bacd3a31e20b0d3cae95e14b4dd53b775e1d4ddc3d068c97e88a14c61bac9610c687a9b6b21e068f84b570c0aef4dbbdd8743004d7733b4bf176c1c874104f11f4e3654142f8069736c45fa0ea48591dfe10a82d50f70eecaac635954047d99f4d59cb3d9d4b4bb5203e3ab5df490825017d0b1a5bcab6c09a1d40b6b38821aa18e3bfd6614646d2df755992f95697fcf36d2d86d96f761ddbb98479dd181d995c4d45966f31459a92f8151a8ab9e2829a395d02c96c0b18f552d67c6a9b61c885ef59b156d8f9b96c5c8a0b0341f0afdf4f1200b894f1c1526badb7b8a43999acfdbcb2a8aa316775f2aefc14fcabacce4ca64e1d266ffc341f841a40d2e783de0fda91e7be60c5ddcacbc5945bb072a48640a1eeead7c4eb67f055c82ea87497d9a6c6955f646f2322a964e5933ff2ab0afdd80f62f92e3f4d99311feb42ae8875dfad897f7b369c77c5140e64dddbf5e92ad4042d422068c72fff3644327ed3aff6db5a2d8a60fddb5b500f49c923c4e27c730c6f782da0e02763f7a5d85451e1b2b4b03f6c55d30222bc260fe779345b768fc8cf7dfff9a4ebe3082d5c9caacf5536163deb039807d859c2d805d77846d965e2380a8d77f6b9264642315d0cab8799c82fb617c1f361b4603a89eafde231bdb614e241e02d06ab8a8f66f0b0e8b54ab93ef5942b7bd3794786666de36b87505ea1791d14347ffebe4832e0206c36bb4cb3e14c364a6baf94bb1e95b5cfe98fd9eb95f6bd4a87b8bc50bc1f334f46449a4d4a7e8255772dda1667f23c52b18be341ab761579dbcbfabef333487abaecbcdb6c54edc3d9de7b2557e1dafaa397a20b18c42f34d778786112f1e4fef1e31fac4b713ebb90ccb5a0130a99f7bab718adcc42ef60f1fa95dd41638aa41e355fa56a7f91077aee0a0437a0770b73ad30a872eb848ec148ccf14029af75b8e986ac78aa9330f89f89d25f63072e331cb79c56708ec32de042bfbf1e1717700dbf68efec4d16ca9bc261748abf56a65f9fbc6e89c629fd30001416668e60705bbaedb11b2ed6dea17eeb826091638c434a93bba6e769a468e6b2fbf00b8983f78a21d955ee1d6dcffe0dd830d1c819a782ad4e3bdebb7372d24e92019697967e326bb78c58f9d64ecfffb5f39403bf71511c9e2fe769e45c1f67d809261c1267a502281337742ab7d4827e7222383bca2f4b8b52a5f99d94237b1f3d4bc3766939062cb16ea0ee7546fe2d75cc801790d96e3b17fa7f47eed942eba6075cc6d35d01a0a00c611a33a5f2dd54d4bb19bdd5601dca3b3ebcc3afbd87b9b334800a727b05a63a7ff1a17a9d8c0e9a26e0b4b044a0d08c3567638805561981c467bbe33a21af932f8900181ccec5460b66ab519b7e5d9ac1bbeb7d4f7acca67a04993d6175012d2d1012ef74653dd015db4e93b2b25425fef973beedafedb813a31f4c792fc54e6fa5647e4e3026729fd33fffa30c34997f04dfcc7a63efd5325e837090a5b903f310f9336e6dd91a64b2d13391f43201f58d5b002347115e1329cc7611f23369a251a3dae6b8baf9fe26840575bf8648a95ac2fd5efa75ef4603d79919f0b3995f470ac0235f51581f7321f7139913e43afce385b87ebc872693269fa88677a63f3ba676c98932afffb0745d6ccb376e0f570cbe8497f4729bb3812d919cfec8d2357cc1dadecb36df45c6661e4c0e20201ca3427f313e7974d00cf66203aaec23864fce9a6e2387885443fdb7e6174580b8d839833fd31a198dbf33219762b5a1829ad189128963c41f3edcec75a4c400a778ccda280356ffaec62c9ea5493422edf163f801b2128636f1985911d6b11e8dbbff55d8043dd3bd2f2a5fd93273286de9bb8b531dfe3956d6400e2c85cef74b5989d4ad5384f03612bfe897d8004538cbb333ab19706edfc24905cb9868d7f06e26d97733ceb9639b0e87e6df5d9b9f060429195cdfaa2fe3e5133f6f1c7d00d3d6cff6f88905f5686d7dd80cc5f13ebab87d813b4217f3bf22a858a09180cdd2ec0e731e86b5daabc84ac3118009584c3e5e17e6e461f060c4d096311a0d893202a6f803a157ef6a39d3f743a1e77d976b2ac85dd5f4b1d36416f99fd012d888fc9cd3261716778f84d1e79f9edfb6db5b7ffc104c97e806e8784d6c2c4ca45b72cef66a7fe431f5c525e6d4b744423763ec727fd375a5daeab93b57ff2958954bafc4c9819814fd6087decfb95c337fa69824707626de3c906935c02d7fe980c3d1d5d8dd4059e4ed33e186334670c1e787f45f5c046149a7a4482f02e4b420fc43c6f8e05277bcd72298ad4ae0e3f196c72e54645a007c31c8ccd2a9641034fa4ac4a3bce3661b9cda0b77ccc0d157e0e8ffee5dac37564b2b40cab922554c10fddc59f2212bf823772d8f42d4b8f92cf2519f82a836b6a95221ac1192025b6e57c9c68e550e2d6c6bf691bb3865af8c934afa2ddd0232fa7b94626267d5d0f0803410ed23ad8a6e098a6b412393be686d61d7131244a877fc235aa91babd61cf04225eaa8a7fe4f9a96cef95a61880187489af45e0f0914ffe3ce6bba6f4347ce130eac2821335e71b859b4825bc3dff33c93027a0de96c561212ecd6ee730ed4e8b23950640218af34418d9675c1cf4750b9cf33ebca156edd5dd8255a03c0a29b5a962ca137c7fe50414f9a719c703b2c724c8fdc6f511c627724402eea7523cc333540b88bd1796f621c2a7d7fd84b79c3ed168bc876e8ada6715f13f7acd064829950f361ad61e1c5d5ccd68bca4da9d83e518b89a6767f84a1a0b345fcab942b18b8ff5b97a8491ec755ef1d888be50e4d345a786d5234607af543288a98f3f6d2b197b6d55972f9eb61559247cfebb9adb70e2205d6bb35628e43c7c0609dbe91e36d62343557295b86fbb43d0c7fd880d9501c777ce3f09fed5b40cf0f706202558f1198f98efb9585434d860f8b54858996bbaee47f95cee637d37b38f0e38786c440e4e02ed1e2a5eeda887798c5ad4d6ad0b1db3db90ad3276b5252d55ef57909510786cfffeb1046093cd9cfd226186a874e068d31b508f1b89dbbc72f5089c99a8efb1b16a6a0809c410a048a866e31b937908873b71c2f150263b339627e35734a89296860c95625aec4f59f13c481726ea5500aaa025bf9758a66f4805327e1822a679ca01c11a86c5fc91ac11ae9367e6921f4b49d701006b13e2ea60404b576966a1eb075668c3f6b7e5f3fdd515db9ed73528e1a5caf72a595d67ca6849c7d59f11c1735b8cd13247084a5494fc67fa234b98393f3d1a688a19abee5a7d797d1231b6f603cae08fcd53f6d0b486e72567807990670e584c28ed773da60ce45b86ce24e2cc45440bbac60d062580ebf6549e07f333ea77c0b470cb34be8e09df6e7ee4e258a68418b6ae002e5b9ae78d98ac26deabf2943bc66f8229c92ab3dc3368529d309350f634c1db2c848243116aaf0df87fb1b664eb33fb41263c7faf54938004f263bed891a6273a4d670c2ddcdc66ca48860798bacdf591bc3cb613561da692d5e0a31a4973adff559244883fe21df9f696a586fc9b68202a5abe8dd967ada9d0d53b458b585998d88338b4cf8ac041c3b192b6f4695bdbe65c68e2fa09ffb9421165e3faeb12e018e5a9a769870fb8ef017ba6b2f011d0fa2b68fab718f7924dffd28ca100eb53b6673e5c0119b9396d6e2fa5fa8f8cc8509c5ccf33e76881aefc096c58f2a9af545ed06d1030c4332fa4338e4e0ed0450a6bd67beb866946e4e3ea92200cfb984259a76fddd504fa46cd497db3a4d5fa26d389bb78df95531bdfb14ebdb134c638b0e19b34083aa085ed8da6db8e2b58427cc7cda2b22e36af33c819cacc51e1c5b7ae72a62ae75ff8cc6bc9410a647aba9859cd6a017586248c18df2b5313093687239e038c67722b2ad816460ad558449da8cb1f4fdc3d29a39e940f77ba286c9dc6367f52ee4ee6f397b1cc31fe3ea73e63fb88ffba17a206d1e60647062064f386cd73f02e84a0d7a50e74de145bc3de226187ddcefca59065885d3a8f97ad244373a67908fa8962fde3261b93fac265a00b5e64c700a7b125046d906fa10e3a49b6340cf47cad7873c617bd1d7b8e043ab941470d851ffd7fa2aa4871b8e3f60403815bde04aaeac0dd5308592451ac299cdf8b0b523d551ba2b3975202ac97e10217d7208ee817e658859c3b577349de41efc61c57491d50fdbf07c2e7d3c1f5b05dd61de2361e45a90831481d78b9a3ceb0641b00d4bb468cd76f598d817b1c751689c49907c58353e342d2b522f46dae55294c604f25f4a768a7aa798b660120f3fb1f79b7c8d1e9f39bd0a66d122926a1d4a0d0c009c47e2716238df8805f9512cfb3847cf2e22f4197e7901c80ba253d453cc2de2474745f22b269172b83aaea7650d6de15566b35697ed11778d4730f940cdf64f25b4aace36a2df434133db7b1acd38186ad736dfd40d37b02672626606ae89ba4eeeb89d610316c36bbb02e735ee48d8ac8adafa62d134e91fd427c1b196d4596e827edbfb4dbf03f8c96c85271261372ece5aa03fd4fa500ce907e35d060b3c9269a9ec1402532186ca72e529e19c9d2d6adb6bf0db3822f995b05f95ed407edc4b748be5feb170df52c2303fd61107c28ad99b7a5e5a294adbf5b85560f2a24b7abc923f9db798502f3c02b744b2a20853de7e9e10c273cc163c0ac2830c8c043ec7689c9241a46a61c4b3fec86bbdc9f55dd6a309bdbab02cc6271941c1d7c9f2fa7082c5ad781104e222bc2067f640322d9fcc807e6c17dbfd9eb9279c68daa14ef8cde3a20ed1dff662d437a0122f1f7e9477480ef680e65e18d41310ceb4aedf3f8ccd40f819136f27a947aa37a382e046253b54d7eb833803a6e43bae455dfc5d837ed5d07b0516a5bd16aa2d522caf0ebca4a4ce8b65dbff43dbeae7c4378fd0c03d26343454baa63e7732dfe5682f744e7b5c8db6c2b1aceacce8c74789aba6a79231482caa5b6972305e58537e75bac9af71ec15aea9b78f1a6793fca5948f2a410187a05ce4cf99d950f041f4837fbe1fd3a24a43510eedd115c54cb8ce5871bdc29c56b80a00f52af9c77fb3f9634fc866083266416260ab422b8fc0b8ca82471218c42f945923b3c1a843986fe75083483add49ef4fb767a637a60eabf4f44afb37c2f71ddb0e2e8dce227c7420c6b11ec16e07b934f19720942fcf3eaaf7691686680e7cdc510543165da79ba171884f2b620546d9e8ec04ec86553b0c07ac26daa91655e4cc65b99fdfeaf03902b2a57b243058b9da9629e1274d3dfb8db5af35d2714183cb069f8be6df2e9743e0b590d339d894388f39677c97a437426a21167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a874614e9ff0ea832df83efed6872b8331e5856a1824b85fd28f15d216e62c092a571c32b5fc9acdbd4cdb771dfca0d71e4998609c0c08d1a14d14dbd78190506dd5801dcfca5a06a7cf32362b015ec20d745898e2980f8a031da6c8bc2837848073b47e4d2c0f96e8fa813a9afe5bd5f1d420419d8987b99f04de806ba8b53cde202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf0d70633b55609caee695bf6bc87247a2fdbfca8d6f232a51d5f086b1beeb5e57b952d9c0ea43eb2ea234d97a0d3ed6ab215ca16dfd815bda082d3ff63fd75d70c0cad866b564397c8290e7609459855d7af29cfa144e91a7a128ee32d5be2cb0b25df936b533ce8be93c2f0f4232bb3309ddbe7eb2af5ce363a5a892d261b48bc4a8b29f83963784889ca3c140873326e1343a191074a9ca70c032fbfd7aeffedd7da3424c3f2acb5c027e8849cfed22323351fa15646776b22fd30554e0162e25037a3a390c26078c672abbd67854d6c426849ca4b45415c17be7dc33b1815a95ef4ba8fd76fef4fe7d7e2eb16d2e6e7809addbdcc0218e395a22dc923f28d99bd3c4c4865905d489b99690d2e0b05a721078ffba41a4da239218be52e8f1017f1cde5415f1242bd0cbc123ae49f4baba240e4cbdd14f08517ae62b21618bebde4ac1ecb0e09474f459fe2a93b2308184924972263df0715b01fd5e4148aa0b6048f70f186e3ac6feff817ff0a2f5a880042c053e957d8da9163a8d3065836999092ae9a2d77e00d1a26d5fa3e142b255e9b35afc0984ffe30b4886ed6c23f56b6bdcd528bce555b2ecb58e8a1624e3e13e09312c31318023c4e86b957e2b01f735482e0920b15d8003a014d29eeb25b5e2c6e2428e6818c20514674afaa73584c18c645a33f6131db29067c39b3166754ff9121c05fd8f7786df37d5fff9fda687ed7c0a627fec0d969ae4425d2dbd220bc762844fb567297b85fcb439d5c661732ce9a09b974c81f2ffbd8b4e121db43beae41b175741727d196cf520b1acf663138fe84b18185639185453a7f0d57ff69c4271e8337ec7200628a4697abb8e45b39f5a2c077bce85c552d0ecd3e24ccd1632b1fbff300da160865f64b6a53f1211644d0a652f6d7ed8b92fecd1626d23db7875f58c8969b63dbbbe6be4773460154439f9e8d091f155b4edaee15d5b881209e804dfcc20ace04d73426a9f0bfba093329e530773a8a9c3e318b36ba5032574580868f7a51238dde538161a0267f0c51d1e03444163ff4c0c54bcc7c2e231234b45cf1f9e08d6dbbc35f2f04cd08a9bb5b71ee449edc019285f0ce348e96f223fa56acffb7cb74b2e27f2a6c7fc3ba8c463fb73fc0cc9370f10a06f3caaab26bfd1c2424c139bfcf9dc2621a78a765f31d951419ee586153b093107fe9ae0a9b454294ff712ddade2ba86604d9c8267a003f34f849fb0767621e24969d00f6604eb04733ed3dfe52b1d221d72a1011f20ee944975b24d33b9997b502124492f683ae80723a84baac9142da4fb0b54d5ea9a1f43f15a4cf0ddb7e35b0df7c8712d8d1fb54c7395ba37f189a656ac03a952a47bcecda6f4cd422651a837f526b03401ffc621a1ad468f173bcaf036f1c3a5b1afdf22f43c7b7106d5c556b94d5708f0251f495f2a5a5c57355d0c5f95c5b380e9fdd0742521fd067af0eac2dbacc500a2fb9ebb947ddad87a1f397f79dbeea1c6f96c317bd4fb0f7f4879d875b89d5a02da1d89d316581917dd6c73cca7071af61e7f5eaf263a6f4d04f607c8faf721276d9b531e1bc13ac3c3152e1b41aa528e0cd973ee9d0867cab53a3489405c78abb354394fdb7c7e51851768ec865426f4688527191f351764345cdd5a61f0034c980c7430d733449ba052eb5228975be948f813c53cc6906190e20b4162ead181cb8cfaa6021f84d411705b08f292910e172d2eb5e54f5e1da4f37be93bce7e53a8b38e5354e4b1d668dfe5dadd127595c9d7db675c30fe1f5c83b948f86316effa3ea472a2ce51d4d90ec94fd21e5ec1ea32c2bebfd0b0f2bca09b36cdd312be93633cea8da793b9698fb55a6d8835ab1ca730c4cf68db8c0996dab3d648489d5176f0e20b1789e167260585bde8a83643f4a7f3c66aad9b621aae0d11d0f9fa7cd90bf64d6441d8f1c2916f1aa40db99b546cec1e66a75cb9df0add1e58080cfa04c242ad6f47f969859efc47fef9777ebaa3e83f4799f04713f5e82e158fbe74bd4c77cfc822f40409fea233bfd99c3b2fe7385c792429cc90fd12356a4a88109f1ade56a4ab219d6a268137c647440815bb45736f744557583a04c362cc31931e6c18fbf9b7b5c7991feb5cbde1b179e5fb2ff4f4e49b4305c44e1beb9dbf9ff83516e19af94e5e91e80112b41273b6c97c23e8ef9c1a0b41255e2f2de752ab2a13db346525805470157dcf39429abc6d798fb22301342e82df2034b9b003a73478c68b86fb92454a4b971336efb5b9443f654ec1b70b930ff705444c08f4e4947a05a0c07f24203ac40fa1fd319b680a3a4bb93b7f33ec84aee8ad0f12b595df98b17c2d98c5d5d0ac01c7c62b3af2d310332bc123a80cf37503686f2c19dc4bfb6acddcb9dc9f6433b9b5069568b3ed1fd03038e5d8c00155629141a2f5a7b31cedee5a118d00b910df2aed43662b758d728f0d9f9e51fb47878cc6b56b3c4778a6255575d3181e8023e3890d75edc64049faadb72247a4af42fd8ec9d8d9cf01c1e5b2bce67248fb603a26f6fbf1835b5508559e4bd783a9c60c4216cbe60d19f911c0f922bafe4d225db54dbcdd45ef67e6674880fda1ef23d6d8ab25bd35f784244033471acb4186b02815392de08454cea8bf2193728822bf663e13dae60660ed82d2b3c7dd528919468249612c05f0cd72a4912422902c74150af872f08df1bbd4ad9bd54f1bdace07f93a97c38634d466716d7d73973542e9d34c3ddafb1752833fd2f0623c3ce74a325a738e4c9c71cfdf25796aa8c645268dc2e56ed6a369dd177b362ae8101253a9baff68c7075369c93bdc30bc3ba0bd8320b7c667cf3ce7f759c6016cfd00f51660bc4ab9ee47396d6f3eb79160cc911538e95d19cf886383e6b05289621e804077cbfb727b9550dca3d7d90ac5942583718689df62cdb0ce7cf018859121f7cba947ac52e5a544226cab0dabb34ebe6d720180477855c59d723ef645b476b2850d63d4c66c4c9007975066496db4cb54680565a86c1d81ac9bd4aba884be5ce6667dd38da032af3f22bfb003fb69383f8c84a5bbac792e3ceacf32fb47acbcc3e94ff875d30b20661b665dc95bfb706396e8237f99a5208b51f15d334a8a68db1299e9bc0c6d87768e1b467ffe1b0f39e2f7628c147d0e031e8c296332f423cba29f82547eb57fe92e8924ab7cbc6d4995808bd3d14d6d617d610c57efe601007d837a349dda4b20966f2120d5921fd83ee0da928bfca9b399669bdef0572148d26a5a35aaee5eb7f3df8ed8501f190f4be5c79f2ef57440855c7d6ea950a6a2356b891a3ec1ce495436fff472a9330b4141d76c1e5151f77ba49bbadffc6789789f639c2b7ca6ffe3e71826c46457d0726a3bf9c4451a95028a6969c9278867dad1c2b3c2392c488b60e8a6ab190fce3c74079ea24bae83913acfe54235c9b4b11f6c915cbd98bdb189443eeadf32477eb1639b19261b15635c1a0587d83b8da0bc9c011afe1c7299c37f5eacc1dd93e4fb02be7ab2e6164adb5208cb72ed46cba617beeb502cec6036bbdd40f87cde83673978a44b72b425d242304d5408dddaf54adb03b0a9805b10828b2958f0db51500c94599084a08a4f1585af658bd101a9c5c1b26806f9e9dbc3477afd6f7966c37ea16a35adfbb2ea9c6ed1d53c53b4c51d24809b0bc34cf2140267a07f4b164ed1bfbfb2e9fd0d6e15d09bb897dca0f48240a6d2458c5a500cad9da619ae5c785cd65f479bb67a2ea3c0ff744e7b8b92d67ecec325cccb2dd9775204028a354b200a18bdbc655e56dcf9170e14e8ce7ca1c6188216b85273428a1336c99c97992f64420d2b0a13ef47d533e718dd3031fbd20d31186828686f4360542e37c17a63f44855d80df65c36ed5598841673c96d610ea71631833917614fd3363cec37c86498e1f188e990632f1ed3d22fd0293ca94a2682a5e0d9e736394f828de70cd12eb8ebb0acd25bad72a9508b11132d052cd4e66384c6bcec893ff05cfd5043509fb123d78e503ed4d9cd08b40671f1e4a0b3d3b9f97dafbe9b852f7463a5f4b3221853f46a1e8dde44f16a87ad4b569ca721a75c94ddf38d2046d2cbf21b54a886e898b0cb6ebc6742563cb6f7ae89966d07aee3a421513cb2294fb96e2eab480934abd33dd5c42cebb5911658b2e3ebf2372aa26e9d8afbcc1398402d74de7255c44afce508b57979267f8d233fbc17956f056dbebed4a5bde75c20dff49c54c6f81b81de8e2852a37cfb0c2248dcdc4fd3d928e6fed3e6b068d2041d14221a8be3eaac1545dbdeb1a7024966366a93d051318a711856c6dc61e17b93140ee8a2670d7f6b883a6ebf14c635f3835e3d05f6fcb83b34f83ba172dfe0b53f6dd99f39897e25d0ce0a128a4a12d05ab3c6b8cfa2ac0887e2e07b8c5283281c76cd17d68ff94312dba82a8b259d6c231ecc78e7f01b074370fd5e2d2b36b72cee7525dd283dcf9c18851420a40b9f73d32d51d29e858f56c692898e41ad7673e3e477a5e24ccb102508f1ed600101b409825bfb47176bce912be1d37bd64e90d67cea6f2c40fa83911f97b7dffad7715eb25f39ca4c6238274ebe0f73913096cdac9f7f7011456f577b8e11d587b8cb0451dc9bfcb2fdaae74a1012bcacdc44823c9a0dad35e19e800f08a12f5037e4ac01f776c929b6300414e66cb0a75091e29de40e8d7b85a539adee969751327e6d017766a1bff3058f25d238ac639f3ad57b8c686951884109a2629cdc2130c396ce35ea0524334c45f0ac461afb84d744052db1fc3c881afeb3186d202fcf43de8f05258d7fc6b3ffb3469ccce724b8ec40059f75f3451f885ce91d96f61f88168c6dfbe09343a61c7bf3e1e705f3511ab2a7bf9afdbdcfac2ac1995cbbee3e8aedc89c94a03bc9d37c6b3fe957ebbd65a3ab8347e327c8e76edc221e5850473cda3459bb7dbd8c471af7d1411ef0ce158d5757cb76b519300146429a26768d8d81371bec7eda613ab8a90b836e17f5470d2ca8721d0802b12c9c6c1873db073f942129c344e4f17ad0afc768e7cfc43141d569876a9f7b4ac8c958682bb3f0f794e5de81c9c67d44845e2c335d36aad324ca59f9ad20d81c4bba8a6821e2abbc9a0500174e009ced075613b3141c00c7994ecce4a62bfd9e5ce748c76e1c75a49106083c1620a813a1dfb1704a55d3ab654146b465ab82bc9a653dc40c725d54d5fddc067ddbff705d494eefa4f8a6259896a8bcfd503cc076a4c361989c8e7ea9eca28d4fd353a2446011340e5397a6d60ea75a83b6bb50ef24529f4cdc6cfbe2f4cac3c367859bcc5100ccdc901f0e350686f0f985ee4c0447754eae0565fe00a3d52e74bf7b41ba57fdc334c88e96925c0c21e01dc207825d94445e500c7b1f00c27d6b2f349c7ef956137166b64e42bc7f35c36b2dc158559ba56ea9bd63cfee9946a5cc97c461abcc598a8c8a59023a12aae76a4aa51e42fee6c70ad24109c8d02f7e20b011f06d368e6858cd0d624d35e9213728a81281aa82e5fdbe86ca99229658738cb48591fb863351c0f64b1eeaac4d4ac37ffa4f4fd9be55abe1381203c1d35e3773f90a3dc581fc9613a32c29d9af4b4cbd0172f4f3afd70a566173d1acf394d8a753cd9c70970dbf64bc47f8840d17a1cb3f534f2940a293bdf54c89af4450e05817b90acefdf0b3392e49ca949bb23b066717239f82ca9460b58b7a578b8d9e6293e659895d4dccd02117d3aa2dec05bac8b7ca7fdc2ab8db63e79f14f386a542f84ac0007d14e3dd1269d2a7e16f19b26bd0da56615610ee35c466d89887e4cc09f354b65324a3d7744b1e04d7490fbe8fc425990c23a23065951d509aad41cf79420fcddbd655f8b5c745ab0b6ba03d43a5d335e31e192243cca68041496dd6a3be94b3dc59ee0f041ec9c10f4f3a738441298b63685fcd7347ceb45ee49aa127e8a3af12a03f8fab7582d14ce32f2a175f1fe68dff7762378613e8453b48887dc5219e605c79f073e32f3f0b7c9c312ce05edb8caa961a7697c7574b30bb018e118714bd8b37d6e615690886782f59ac09492f8b98f8b9249420067a327b43ce62439a0ae6ad266d7d6f4e36feae3ebc8581c9fc0e30f3610f9b3caa40dcd9e9fce002ccb165bc0b859ca7011457b5e32d2a0217f89e77154045793ca7b8b735adfb3e196a4d2b8023dbd341c263650c0c3085fa2894f392455b4feaa161495e55bd0b1d5733fdef62f3a55906ee308d38c88bc3866c3f0730a05bba40eae6ee58379944a869782b5ea7bb9a7548e71f717a936d4e3ab3d62b63094037e468af4638dadd1452c7d37441edd14e27d48a75dd79fd8510280a66da87fc8221090049e02ecd626dd255befaa339750e4973ca84004ecc430acf2934ef803d9495fb11737fa7334dbeb17d93020ab48a03686028a58e707b69211a85eeac3a04dfa59e6a165aee35cfe2233b55bd8fc7bbdb5ae48ea6c8a91dcc93b93e2be99c0f8ec11a478241bd641cb2bfaa496f0d6db30ba76666dcfb5ff6348a426757a80299d9c9d2eb9d7b04b0973e124e0673594e1bc6b341c5eabc233968b48a986f61943fe081733ea62442d204e0bf72cd38b8111287c3acf2a8baedfd828acafe45e4cbd901e478dfb077012e3ca1404970327548efe11f03fe1aece51c2574c3bbd05a17e305728854fd5c9cd0f2d6e81f75fcf38a8d1c8d882e0eeaaee4fc904204e895a1e458d1e71b376047e39d069817a34510f8832a7bcaabe6227b0e12608ed2a135ce7a503c706c950b7b2c796d2f055e9edf29c8aa09e7edb15a983752cef1830c124859568c331574198d673abd0f636d9ca0d19fff065de49e7a7d8ae69504412c520325decbbc2c69f23481d32e05eb0be726b36c9d9af3c9ce22e2aa0f98ad696077a7ab26029f8086ac26a9860bd3871f61df647a09b2f7eb2dc2b9ef519abeed1ea91e1ee442ae717e55541d71e215959453f50224eadd35450d692133e58110bb4411d050da1c35c2dfbc160e9c2a58fc76462cf03731d262f3568552a88357fee050ffff1ede180f251731f2e40fb82fdf949ddac123379a87c9a13ec340cdc9f5218a1479e927aab7917e565e8554662d76401ddb41b178d261fd1ede079077e53972c8980ed77a20421555ddcbbc36e3713360c4fdce28ea30cbf2a1447f9ff5b6eba950ee842e817f2de127b610f1fa9634dce1390744d1569d1659c9c5d60359c064036512c9cd50eeb9b93def19fb0fc67086ef6ddda2597885e2d09973e4485b4bf11412cc5b1e468c7d47a1294e2d97b96030f27434007e70153c505291709c393d2668a26a81d2d3896e5ea17413178e28d864ee7a544bdde03378aa2c34d396fed20b43833d841d894075dd08ef9102d709b9c84980727bb19eec2bb418e16331c8960fce88a772a55a782576c065bd23db8f4d96c18175bfc7c8bc3228671807da0f586365cc9097f072dfb6ca3d52f115433107bacb075ddef98024bc278e214cdc950a6eff1be0f43695cac23f92430336ce6cc58fad416ebb9aaa92405eaa6c37121a2bc89f42cf1bfa3fb43410d73181ca611dd7f7a1d710d4890db813b1e9808fd3f45deddf682cb458750b06d18567180ea677fb70f6378ada72f0ba62479426cfca1ffb0bed7c8f33a51eb739653e65c6f814796c9aec97fe9f98212d2c6285f82b5da10c651153c491ae31bc9c0ae0cf7eee9603a6afeda3258bb88bf9079810408093a6d87e2c157b1e48a15461f143feb2d13379b3884a2d6398aa0dc0ef2063b9cb15fe7e2b4d45935273621fc9fb1a74df2427f421c31b64e2d7f5848dc952bfcc4dadd492c3200fde515c19ee1e0ae489a0cbdcdc61008ad791aea9790a731aa1051dd44916b19fb85f84584a1ee358afc92a1d558819aea7a10fc181ffa28723a296c4c44758a7a924e6cdd1d1791befddaff78a1fb17ff20f301b8f3e71fa254abb96c240d21808c20092772ead4f282570681557a3abbc4c32af0f7912cefcb606c20a8b5eaea12742c32893e9ac418e9f989047f68150b21192bb95d2017b202191cfae732ab385a2f7c221d820957590405d12df23a2c67ca127d59793b17f694376690b7513693f8bca6faea7c0c9d93f3cfb5b6c6fc58ddb77d528c105b15ff400cd2f2f342a47316e4ce544f252364e2b2fd862e2a95080f1f803a6666351d4bff422bbafc1c6af306b17821ff4529b580f252270b3d9125653c3d85169c1914b70db07f67f3a9ea77e54f0ac0c765eb02cc06ac273e061d9941405a397eb6bf3c728d02209a09215aaceba43527b3905a1b0cc86bea543e79af1c7717f06acbf669cac55f04077e445ec2790f16db57e072c3eafabc54f7f9afea2d24ec75d93b6a7171c90f33ffaa29bf8e641589e693b778adda208f1a0a7d066f6fead60c5689c0a1f247f16f9148b39ae636c0d16a82f31121dc97f845dca0aaaa5afb0400507153e2eda8ad5a47efcd183dd60286f847d3a3fb1eed4902861e76a1a3007d4aadf4802dfb519a9a43e955ecb577534b8d74685b8062618def7faa2bdb49e7a7d2355088dcab12ae1265db800a97ba4d5c21b7896367bd6f7cbb64c7314b84df17f68dd74eb03a3b37d47a260b3408c82ae9411abf169195c6312e47c8067734b87b264c9bc2bc2f240a79754b7976bd6d81894cda33da0281fe49be94ce04d5111b9a3b27dfbde9c41d7654487ec905cb5e200e9f2d8123b6c38accff188de478c2d9b851b0f67196e8ee2a807154adad1ccadfb1549c641d2e5370a4b9fd4013f387148679a5977e1468dcb49919b4f4cb73cf36b6050d2d6fd6eb1a6270b4357e5b0efac5886cd0fbc0b3762fd99035c472f2ffae069339dbc8af92e6c21c694843c31239ae836de7c04ca22b09ea599e3a6a4c70b9360545fc436ff25fb9e9b43eb5cbe72f78dd80893cbda429a2eb15eb09c1915f2314844d3f5bf033e816022acdf521c1aca7c4d31326821029ec4feac9b21a9fb1230a881dad2ac0f92ebf2d50e02a5b405d046957db00a806c66cd271975af2e08fcd09033fb087da9d4dd04d6bdc2d50da7ee9b4daefbac87b0b0d274be550a86a06126f69844a7193862b85d4b01b45d5bf71d332e3f0d9c892e157897e759b2164af0996017702b36a2a3ce97b037acd55fd0b0f7e879948440df19fc9141141a55e08f87244d79b8d61ba9085c296091dd245f8a773e5ded7606a746f3c75e4d8639c5219896f76c16d9f111f2227fb6fcb0c65b0add4b2c84cda6dcbb1365f58d3df7477ba6e9cd24db9fa138d3dcb86b7014d77c16a3d2481dbab6ce0ee688ff347c2b6b07281b924c6bb31b070eda3242280007c06209fe743f61233b013e645ed473c9c41b27d0f86abe231afee666699d34ce03b2aee93402a83b7f5f78e6d52554b670d9bf5990dddb18b240e51d59a09b107eec408baebc0c812f0f20047593676c188bff71aa239d5343b8ff4c04efd52501e9bcd65607e99eb31109ed7fc2b1cb325d25021fadecf90103e980bc808616fef8b93c3f20fb687618a07e4b4aba0f4e364ecbbd3ee7b231f9bfe15e23c050cd5a930818155fef3a9284ba70d3a68f4ff56e19d1949a524481cceb25a9d59f0b4189940aa09e6d486fb3570e66abbddf95d2fc93abbc56aeec42362725ec01c5ed8c0f8477800e9b31e65b16d4e9fe605ba4108ff122827782bc8c758734cc812301d12e03f6cf2298d96be04c4c7b4c47db65288a77c6855489be32cf3428f7d09a843bf05008b19db1176d0fb8a7242644590859d04fd4c3fba98258f5dc32071c5cf24dd64d4c08dafb5e8dd138cf26603b3850a425b3589bce7c2a4daa12b558ab344e25051436c4483295dab058476cbb9675e40299005ab6f68d8ab851e226a1460f247ecb435f6dc2c75ace8556c87c843ff1f50e74ce3c0199e4df6a78dbb4213d859858fc4f682b3ea4d5fc200f5e5fc51a34707de1ca17bea253a777ee3c0a08d872d62c7042c040dc888a037f189f74997cd09b218df79248e6318f5bda6c2a7408c9ebaa6342a273f4801059c4400ef5a600bf49490e196c39ab43d0921abd7e58bcc54aabb86f67e109ecccdcf45dd13ef79d324863de2b2c3f411d1c60be342e79077e51f2ad79d7dedcbf186bd22b933da3150f1052edf753e7193054dbfc3f9a2d3a3315a8be7507565d8744677ec10d8f6f6570ab156eaf2e6b70f8e18dec5bb4050b9b50b29cda20b213082676d1d427c6ae794ab3fb64b50388911243269c6e5985d71b322b232d62c9395221e712b0fce17798a1da2a72d3f162923f992aaec8488d8252419774d45d0c0870a2e59d305735cb9ab3ee3c36dee36cf864ea1d7f4eda85a88f1098fe7d7a7288461f34e866f1839915e12790b6f658d98d8bf62f16c1e71c7c4c4bd6bccd88b708ab626df2655e73c9821e1530df70f3c6400919e0a2658fd934c899ff06326941cba6a04646e8daf148ef831cf878449657d6b33c7313a0659d9808e7593dd814d2897aab7b1292592b441b2553d62a9f9b315a780cd4fc0be066d32b594460c4270dab1ce56fbd9af661748152dafb83102878739ede2a066d08ebd567d138ae66e647c8d880b8d71cb02d9c82433e8a89c8f6cafc25bd1072e5a14749c3cca567b29b253dcc6153fea4f6789615f1cb3951efbd6db0bb3df802b25f63649e3375bc03554d9bbec03f97f17f5f34fecf97a675afc1e3a8267c3ec4364415c1780723abf0a9fce8bb642e21f3b55ab87a92de2a966e7590b5ed29492c53cf54b681c6096f25ef3161e8d09ddcb3b3d20a7e5b598daf8259d7e6ae9d7b07e98915f3228736b3febb4b1ed7c94c25af4d10e41fbbc38e8782985df47335e2a384f9dc203b0d0e2f4db1e443dbe62e30b5501c7343ddb4f7bb717ea10a2b38f0dba99850dcd9556556b0552397a6fd8b0f1e823c83ba449bde01acdf18da5132e876caae0b0286de7203ed5945fa26ac76c1d00736940f97b816937abf2e3df8d6e2a1ee7571412cfd45e9e8441e34349c589602d7cca2df84f20feea131e1fffdaa575ef57939f6162d052e749dd1fdcb1f2940de1c0a390de5dcf49e2184c5793fc483e5e48d9ddd4c3e05e029a482cf10c6edadafd8a750e397c124ccca598c4734e3c9bf372c92d76530e69d80fbd17db0717b9bc3864a4578b63d248a8ca7b9cdb32ec685c0e5ffde2efe8e78cfebade629b6107ceb32c27a9a8a36ca5dc74d38073177ca20042a3ef273d670ed1e1e52b94d7a460eb3ada1decfe43a80d1512ac9e00688c745ce1a4f46dd04c2066caa5b4743c03a55f8cf2a07adc65894c33038661af8f39682f10ceb77bd41e71d96a95a9f4dea43c321d2eea04bda53ebc6bc01bf94097139ecd8a0a1ce52752a6c53e15ce722107649a8d239b64f323ad4ad630ae2733944dcbad864fb77fa4bcfb716e01c95cfeec3f3703f42bcdd97a4740a486b154cfd8cc0249bc60a0a465e7dbb5a1f6bb0d8b4599910a9606073c288fe20b233a0033ccd67106537e86d0ff9d3726d5883c3a5c9e6a28ce42814fe73d55d7f6ae17caf77053cccc590a463146d882224dac90e3672c551f72a68169697b138254e0d7f459f839b0c8e6932363db0a1125ac974b0612ea576d17d45d75d2bfdbe7532deb5e9aaa4477f0c9fcc0c8c38beda3c9f5f4fc0833f91390fb0d166b32fec844353a8a7e8638a06dd3d9cf5892e52b2cd51eec8e44c478368f4e3dd646503d77da38811a83816b25d9bcd60bbaac5f2d3fae72b470694d0d0546773a73c349265d350d69ccadc176423ebe9d792a2c02a88ed9cfb4c504b74230b6b909581198369e5a5d8731a510c075c3da22c433c7ae4a18a26191947fcd70d43d57e9e474a8502c32d9c5069fafdf7e91e4df65a354e809315e0b7e772a8619aa86f4fae83509654915684617e57efbfce06108f4cb8e1640de6b0ad38c46ede7db1f0727b245fef50d5f6b78dadf3bc3b335cdbe5bb24dad7745995cd8292d51d37718fdcc20312465d6626fc1354b5d1495667478713c060155137f08149f27bdd79c8cf77c4fe87cfbc13ff39280de5ac4656ed6f2ae96ac208c3120bc99d4133f8c7b278d6dc3b2e31a4b51e5d6125ba8087d116aed33c122fc053f3fa8c55997575d6a911b313153d2ae96baf8cd1f61a07ccd94899b3b607b0ed64854099fb54a9ee904b120129cad75271c11e69185b04474c9305ed72412f51a26dc22512b87cb1dc8d12953282fca3107aa67bc42b6b452526d2ca95d8588f8288731a0f2557240a351845fa6049859d207758e727c6b574322a500d7335a589aa07d69de48909664ee2c7d752507e4ffa1409ada88e1f488b793722099bbb3a698b8829482dbfd66427774d2574c215c0016423f8148bea437cae6f8f6550aa16175ea1a7a332387b5002bb502d1f17cdf253d2aa4bee3fd5e8bdfb67ab39de1e7555ed70b4245bc7bb4fbc2703e1d860d62b3dd665958d420d2184f9a3d78c10cf3c5d701ca8a32d7d932a5803e3572fade89405b82a9eb457888aa3c3a82adc616ba342a7e4dbbaec6c5de71c9b03be739ab3367d84385817cd5e827cdef3aebd8ac0dbacb12a990e29c92551385bbcbff6dd2ad2ff2f903e3925174ebf9f6a6d8a96aaa81c238b612ac89320101e2eb6c0ad75ea30f8ff059e9376b150644db8c7fc1fd9297b98eac5774f69b4f136602ec07d2efc5687db70c2de14627b347afb3f7cb4d417f159d788dc38ffa8bdcadfc349b3d47fd6fe8575ca6ee1c1b551114b863681a42a464f9039ab8d05be76a1d8e86bf9b7c44669fee82962bf5963c968132a3e2ed1d3dc3d6686db3194dfdc343413b6ebcef5428db3848093e79cd9df9f6985986a1eb56952f5299f14690e9dee1fee90f0afe54f68a29026cdd7d444349fd4fde46ca935668c1f9802c8b859444a154778fdaf799ab4a78158769600463eccc8c612da605c6bc9480045fae03de5c3538b324f674c432062a5be45f38fd4ec24d0f1fd26ec25473841585705c87e592f788cfb0b392fbee4e568879fd6eb56eb8c5f4d1b44f92ff14cb8873aca52dab57c2ca5ccae2f55f7079df693924e3d5488096342639a7f8ab8b43b5add4924c796b67045447a2333863ea0ddca2f50ec50c8385657252e2a476f256de75bc0d2a275afe682542ae1b8d359f3e9ef09e2d47367a8928ecdd4973d576e89aac996a98f6820392ca5ca8b0db362007e13c03f217e475593a67c5db9af8c09f364ccec8515aedf868766550f308efaddae83a7caf5663c93392ecc710e806badfe6abc9a160c962368e82e59367dee065e8491fca43c33336d633f3210dc72548ee1f6ccbf8c2cadaaab7aa92b2d83f8e8059f4863a958078e2381dc014cef81e59e5a95637f6c5b90eecb4c804327a7450ade57da3b3900c14949e4e89796ce0c6c9407e03e9c6f388ed53c96d1cbec9a77321dfec39195348b3ade8f040834ade8f7d8575b8a5b783ce9ec7bb7817a9b3c85be00acf5f4391c09bfc2f4826022d4cd8cd6d2857851ef5900571c4c507ebd1930a4721b7b60d85d3317abc4d68a8513ea42a38ccd5e2eadbfd959abd874af125a5ef0ca97bb3951b4040304ab3c3be993f9d6d6edabd631f6e3367ce0a2db70f3661fac83b75bbd6f64a224312923c0680d614966f76a588a7f9dcee659644e099e7961d7bc73de87f9c19a0b7c0e6fadcea645bbbd69b9b44d98b83e300a0f2427cea5105f88e610a5f221b9368a7347f55cd11720cf502835da1248acc8e9f7adf13f902e190754a975f2fc5375435df5062c4709a5d522e44c5a2ecc962b0b1d4fc701cd9a98c17ca61a554813d23cc4c2120b41ce29ae0657affa1b7a2049830f1919860218453abe3c92bc6f16e2e1084c9346215abe2f537f5bd82d776841ade65a62d8817d16ae485b73ae022df5f091b92a3decfea399a172eda2e67ff1e7ca482676e135fadb400a17c2eeaa55a209ea91ec0243e43f9ab9c3280f9ebf6d23209a78a8b62eff08446f846befc7727f458629eb026dd39ba42a51cbf4fca46a6260fb971960e43eba9689f61c45bc9c7b02b46c6982d620994c26877003b4222caf9656b59173717e3b0b4435dfc2865c03bdd07ab08e8e63b96989a52849f363210acc503aea6e132924ba3eced7db67ae8ecc943d7fd128541d852663b01aeb8e0ac2531d2d342474f1d6f4f9913982bc819dfc3f970e82af14c543112ff8328d2e83814c50d4f9013803aca8e56699702292e68da152331bb96a19440b743d8d99e03e18c373424acdb3f5ffd7b4329eabe219715caa815d70bb5982273d101c75761c8ab115d8bc3d673f2941ae26f35225b6faf09439fd0e8c49194527acd245c29a94c9b72c0354455cd1504937c9b21f7c1c85bcc0acd4dbdbdb34d29ba9181bc89b208977a37ea3b46da84f5292b66cff6c52276138bdc7b14f174a9493d0e9d6016276a063bb2c81121729d497d66498ed506a7c3ba4c4aaf4b0a6f657d447d481927d1f1522197d600aff3e63f6fd638bcb2863c98df9acf0450045edfc4036fb593fec7fece54dc7f3cf92b173327c4fd16548a2ae94cb78f07e5c00585a819022512888e58a8699bcab78bb3d5280dbce9a6f54f803c9bd3cdf8b44c994a590f272a0355366cfb6304341cc9155b72894b3112693a8fbc782cec606356c32110ea14c811a714e62aabbefbeb98c50a800759041db9c40a3a9b1b3565d6e194d50086908b778e96aedfb5312a7bc0f461baf458f703b3d1445e2a1d82c79b9eac8d752d79a78403c0ff9a026c6225e3bdf262225fa3ddd986cb2b555e234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4df215dafc2fde61e81927732831ba48134fb2b4690de971fe46f6e7fd3b8673983a41fa053a2adc2790442a92d7f5ed4b4b8f86c922f40686e55e9ed70fb31883a2e07a8f9f3c4a97e9fd45863dd438733b036d54e5dfca64b92e744e15cdedd6d9dff27832f88a8a613ed9ffefd33eb3054986ac302b77a5b3cd68c622f0853966ce56ff043a5ad9710c09cb5c874bea809dcac0eca2267afedc1192902c991efee94103947ef8c89d847c0d6d3dc5436e181d7fee633c94a77645d4c4b809c31af7111a80ca52d8866df642feb723001343540de38e48fae96e260f3998e97e64cc6bfe5873ec30cc1341c6a8025e8be57d3aa251f57d38efe6fabeb907934a7fdfa2341b6b8ef6b861f137720aa6d336cb2817934ac0ee52ba58fd436b6434132c926c938e21fd22f0c80345ffb65bfea6f0a64adc36164ba7e53826e7df2ac841e31e486bfea41212440f6049d74870f92cd81235ca94333a64f8b39493651c74f0188af307153016ccb7bc1fd9295a64ade07ddcfbd8d8fb0199b657d8568a88eec5600f8e39d229ac67d57cda647e0eb3d59ec610493b69ab24cfd786ce250f916e3dcf21669277d69db53cff9994e8b703cebcc4123ace6ec3445e83d8910b2a29f5fb9a446923204e56f867b8e9e0c80cef66381190b1e7ca0199d07ebfbcfc210ba919d3f157b6c006713f0eab68cf6cec5438b2ffc52fecaaf411d3d7754a6c7890a9b74007cbb617d58fb4deb1a4053a6e7ab610413f73d0cc942bb74b3bc311d01186ab5300966454f635462214fb378880164c1bf06913af7edbdbff4ab0cb78cce206ee8dbbfd159e6ac8035cc53fd22019f57ec41ad469268bf4ff1f4ec5de695828984915123d7934005834d6f46539a1da518f221d75fba5a531f3f18e95a7df21bbbc5db678dbcc1dd4d102b291fa726ae36e3bfc04a56cd2ad7b51c878ba4da8ab923e2a07e1b33da243f2fb36b6dd811797f2860d6321798f0a3858468fcce111d8b562840eaac61415f91f1be1eea2eb91307fd26670de4a2531fc99bfde5de9d81c5d683b65fa3d39bf9e0bbc3016d199e5e0f755f2ee9386e38f05097a3b4cdf3b18ea1eaac1486b34cbea1bc5356947166888025e6a335a97369ab9c37a13cab98f79673c48fee86454827202b9578ce5c4f821968b33133138a9da459025ca40710db82b9080c62cb0d3dd5a39622dae909dbc5c2078a309672a162bd79c53238a29646ab3369f93d4af4ddbc7a8e846d91bf5db27a6acbbe916d64a0ce6927305a8acd4b69069c0759df3e3a475241ffe1b19a863534d1fc158d62c2802775dddf2dba019cee5d508d4757e02bd5840ebfdb3e477304f8fafd16dbbd9eec3949e52608365d3416ade96af4f19b0c65da7cd9a5a8aa8fd35438679324285273fdbe4e528055a5bd6037abdd680e8ede22c59f604ee5a0839ec024e3233e7a8990e1777614dccc16c841ba246667f1843f190b46ed3eaa51842df5e907d974f3e1d81f3ab80a745f0ac4b1277caffce1822042b5072024aa58e0a9a388f1c4185bc3a9ec7af5c96cb96de3c552a690d52c21fc014b4e79563121874a7fc217396ebc031e2ad82de7a51571a6bd3c8cb88f4fdd056a53dc782c457ad60821bbaeffb0178f8a31e947856f60bc2fbd397e585a4847a8d101554c8cc18c6bf7bcc0d30136bffaf1b6927b8807fa54b6ae1f9b59ed53f868e5e0c5b95d3f9a7f402d0ecf14cb5f2f1b19f5971d47712c0b6d002ab26762bf083a38848f52d571c98e273be8dddde0793b6bfd30f1072247b2512214dbdaa4bb1d04d61f00c54a53513be5bc2ad6bb74340b3baaacb3c068c3cba4687fea9a24bcb3eed55824c9a49850d2b1711cd81f59338f64b6c3bdcffbebfe8d110fca12bd94009a6bf46bd262f094f6ab3fac2bf1ddcc11268717de600d9430ddc9c7ddc79e4a13aa3e1715c983de907794aa21ddf7a23ccdb87bfc6c0704123b3ef5053cbc9846a5114066a7588ee6a27c21af24c541f5567fa36f84a6190c22cc71fc564de57af87925622594f499e76a354b8755a25bc206848a6d0ddd5e6b77696caaab44c1e2600e052ed3cff24468d0dfe1c14c3fed9c5c5e83f95c6cb9ae8632535b1d80ead672d79b9a66ae8e03832b915ef59678c204aaa854d6e6a5b80e9e4ec9b76fd6c5c0d9e29a852393ebf91daaf3bba2fc3fc5eee8a07f9b2d655d58623d41d85ab6206696980114dc1626ec7e05ea6e0981506e47a72644ecef1a247ebeb02304e1b927d011e505f687ce95c5433ec87e7ac5390605bd0ebc5e4dde0bf175fa5e8c44539ae2ed081222707c17748ed9f5e85059838c6af1eddc1ce1dd399d5e630ce94456ae5d094a17f596a12e5eefb7a23411eca6546d576002a2136f73c227a09f44d31305c815a2d0cd2cb0454cab8ff5c9338951cda2d9a3c8b0bf358f14bbec1da550486b487713e7644fdf1724df1ba7ddd33d4c083b379bf81c6a7dc154829b48d58105b5b0fb769962700250469440340bcdd27a6f4ebbc875f4a245131a25c82bfa6b6e92f01b1ce9a6d58a3c87d15af1d5c45a63ad2f0d3543a455e8f96853b929a44bcd912dcb0c49a540a6e121c766620f226d7edc6c0c2eeaefd89eef6147e437567cbc6775031b99ba09c6884c30ecaae7db35abd484fdf4b5c7bd754d2cf3c3f0ed05229f257da1424e9734e5f1ae8484637158209bd564ef0f020777341f0e9d2deaa6f05b4def16dd0c90d2ff2c894222522c635afd6809c6903a8deafd47c4e4bdc1f14c3a494c652868d062ecdea527c8e51793303403d32958fa5d05be6343baa0ec81aae217986b3fdd074215a1c24495b3b92522a7781f2ec1bd54981d34d3df68d0332cc6c1012841911548892793740c2347532e774c9729f0fbc7fc0e8912253696ec1301d5bc0746e76d9da26ccde36a96c7355de6e336be6ce46141181c7cf0a02f1b064946b7af9fe2f94ed6bfcccebfad8fe98de81ccfe2951dfa196968b729b0599e24f38a92e003b4e7ce1af24ed8c7a23d82e642b33eed9d3f72d91a617d7f6ce29de726f5644676aadc96fb82cf119842679a3d109d48242ac2c2ca3922039e5951daf24e6cc5f33489c617061258334ee34168edb1d55b050b70ad5e6b93e3f577c06e729d4dd7c7a25cfa5b63342d329dfa6574b923e527ce96f2b07603264f29a9097f1528117d6a65b73a745dd3fe1552b7f358f5cf6016aa0941e78ed9682a6e68871ff4ff9967f21a174ce64518c63a49fe04311ea62cdd03b3f8e7e8a514c9daa85e7ccedecd4a19ebf73cbb3c3d1ffe7b8ace044a3bca081d885c30828b7a05cb4f18b4935e72914204a8df41c11910003e8b9fe83601c1b1d2feb798f34f79a9e195a2be9219f9b7f24eede7956ec7041a00f98290bc319c9ed7b019cfd0329787a362f3061bc04b812df2b426dda2240eb7e99a101ad4cd74b96bdce4b41b1252d3db83e25da61bd430468c3d217b85233942f65f8383eb2ee59ee002e4a6cd24886336d03336c0557d9264578bcb0747e7329e30ed794d1006a87b588845178d7b1b19fa2d0b59eb64f1355d0c69cd39dfe65a9a31e00697adb6e7f34c06b05dc77a86794a0e60e717a3adb1f33a0f798f0025f7aff9f7f582fc7941825f2a353a09965a413d8553f04d40fabf027db9287a50d5e214b2c131e524f3b0889cb03e7ec51fdded39da06c4af798dba1091e63a9ac5b4db3c378bfe071df05ac9937ff0a13c6b6c12e43748cf898b1a2da94c1606eda20346321471d2d0312b328e8b1c14ab7d54295e0853be5d4bb22c537bf25e916093cd7c6cbd3e6952784ff4fa42bd288a755aefcc82f5a2c0e83c36aa8af8aeb408f46072b1804829eb82ad642d33eed656de6187a64fa2e8c77cb9c00c7846675fdf4a84d49ebcb9ad6aa51d5df95c033438c24e2ec0fdc04289bf8d5edaf5ede6e9bee6b71b7f39a4538e83a30b854ffbf9e857b5f49838a76e3f0733e817ecdef3f098f507d016bad6abab47aa6d5fc23b0520900e4254e6558eeff3b98c62fdb023c2b7d649781fc36b836d78b973a49e225fdb3025226da5ee9d72fccf80f4a486a71badb217a3806b1c69bc10990fc99db7f742587176521c192d098dc057d4ce6aa62d667fe2cd6e06e4f5728636c4818926882b061da5a008caddb9c206b04adac097ce0a0e7c2cbde134bada58c959cdada460d4d937311d313cb7fbc127f0a5367e3ae87479b83b24dbb053b9b34a5c77a417000ec2133ebe08f4278df5a3b20d16e408bdaee99703460ab4c11ab7a81e6e39ab49eb658c2caaf6af67ecf0704ed313c21fdb58226d0eae8b139b23a8fa84383fcabc47573e7e6c56a2ad7b3a6288de4f8d31293c20294be36f9584307f7939545226e7c514355f8192814502752c0c62534d8437f752d61207499b98cbda402505c397ee6a775ebb10d9db31e639e920ac56997cc107abc65fcdd1bd0aeda897ca8aa6f16d87333becb720be6025163dd861c4c49451c234b4c9eebbdfdd8d7731a8f968d7dbf419ca228c29276b9583eff3c76ecfb473722ebbefeba7614546d2a6fe13940af9fcda7300800f8ee5b00031795daf0209e507bdf6c751995ace75128b78439431782f628f12583fd93a6fe0bd05f42b6cbcbde39936d1c0e0d33c91a1a1efe52f1101fe637e448cb1a5bf8dee0b137db4f72b920470ccad7c38dbc7f2dd75f7628e131032bc1974bc4a4ee4853e0f3cac6eea97869761e485df976e2098a639e65d901990b855fcd01684059597f980b2f209d2f53ae58d706d0685b0bd8d2c6534dabf3d936ede299f86b3c42299c0e3d7223f88df15b8bac4b411544deab25cc709dd3a97f99060a423bbb2ec9ee14645b752528687055613aff60dd8103b6cd0bfebe9a3e29bb1e41a175ff39c767feaaa686bd4371ebfb4dd8dc45b0e78a7bdc1ba9c831394a7bf2c1740ea900975c3d58710624f8e2cea734df44729d781a34436c31100b2aa104e4a2aa6a6e81e5ea39b1c717bd83a6520a5c7a57dcf66fed7cf93607a101347031a2394d1f427fbd868427b7a1d83993bdffaf6af564c536390eb15c453eda2a0f485857779888a35fa34efedb1b328d9365ed5f2444cba4df9f79185245931a1a17077d6dd848ec054eeab9761480df919429b5d916ed86433763d6308e566916a522e7f8b8bd4372a28e127ec122020b469ed48d4b59d87b10d51fa24139f82b13ec699becc40c37df71c3aca4fdec626f605cb69f4db786867d58aa0fd214cdedc477cf332c16c4847895f05bb5938c61cddae4a20e6ffc5d852c3799ba1f9d29dfdf3b27fb048624807d7dca19440016324d714c8c30e1d7334d849a337092e8fa4f8ebfd52dac37d2609efff67df34f95b136373e9a32aafb2e8416285a4ec85619e8ecd9f4d027452f258b5d1fc27197b60ada99b0c2c7dfde6b9c6ae3714fa40af4dacd21623d0d95266e20343335237d373d2af136e693916f36e9af92936a8ad9e1851c0ebb0b25c3ca5a5dd7830136bf77943d5c5545df130e87606c04efd2657d249448bb3a6013403077af3c804522dcbab2b350e3d26cd693b07db1c9e977e258928bf1e5c3217674a8712d6520b8a6351323e1ac2758e3dd6624b4849fb5b82189c63c8db35c59bab50a6a063ac585f8186c96ba4ff8ee19936436006f0255bdaea857e7baaaf9293ab9d605789508c023298644bfb032d60b83ebe66b353e26f11b60be4acc8542b0d8e5af1abed5f592f15c1681a10151952f12cb296a37b09527a5254231d6fe9d0d4d050ddc0ac2f9627eed0a23162c5a44ee36715607e43fddb19cff9c1c3e9376b9185eff696258e22f8742b6af8f605baf6e74bfcc0af2a6b1d6cab08eafd9dfa2a915a18feb6ab797f851eb973904bb226db2e467b9d668675963efbd597beb1db6d8a2e4f8f4b944923476691fb8f763e76ea2971ed7628bd32b2706656bd6e93be1bc2f2462944cbb10278ed49cbf815e522315cdc27283445a91ccc574fea1fe07cdaba6415c3a8ebc2d3243e460f65548080031c2c13095def59706024470ca8f4d7aeb1da277c930968f144846081dc92a10503e0e85f054f1747eaf3159ddb83b5ec0e4f0a27047fb17508a2f6b7e143a7c284417bd9f57f0dfa5d8805c046c25d1b94e310529dcd773a96dd586c6768179c08deead3167a0b4fc8d6d2a141c6fc62f29ec001f741e4c886dd6028d258da08f9c64397540dfb9e17a85df2974bc48d96a4baa809339d7e56cb1a89778c73d68f121243b326dc09fa73eb78c0e44b02f2c82bd385bb58f5d3231533072f0471a89935887b43ac83262476fced8694202a5fd2236bbc53076725c08f6a873cdcd63f101bad2ec5d7643c6daebeef8da52be479e8c313ce2a61fd402529d4a9c397385128aeb4b2bf9723cb86155c5197cfa6a747ff92ee5e5433260621e4cb12e4a5dfab288966f0acd86db8673e97c8ffe2ab66bdebe6a6b512a512386a486e42d98b36dc594d2fdd0596f676908e220020733ad470bd1c1c118b5ccd45779e16c43ef3224ae855f51c6b7ba6ba2d977a1514c35a695fdee4d27ec6cb53c0a795b0d63c83efc888835a12b3683c7606751c4a536f9b7928fa03af1edc99ed2f3d4a3f7adb11b14988221fab817adc6c4ac1683bc1105eebdeb8153d7a44efb8374821959ad4e9e2e1d12091f96910fc52d90f4de1b9a0ad28fb856d724d037ae1d680cddf4826c88df8047f1e3bb81c724d353bfc3a8b244af5c1211a21ce9fd57e411519bee0c1833f64021bedbe0699f8effffd0470ba3e47a39a20e7320adde4c6456985902cf260b833a8086d70737161d4d5a297555ae152496dc834499e1f5af98f914e7affdee12084174533119ce2969ff90c5f976ba4d9b7b9a73b3c876efc476e516a83eba1d69a9f02238586b108aaafc233543626e6b0b50292ab00dba8a5029f4739ed6af885ce8acd37cca225b8ab233675eec63ec087676e3c939afc861c9f9ecba23805d5f9786b855f9b1f560fe4d81707bfe6efd2331495c583d3741598d6349e2c7cd60556de44e8b062089efda7bbe98b368610a168501e9d3eef6d5c9999ccf33ef4e542dfa58adae139e8519005cb8cf5510876f9805c0d4c5e1b2bae3fce865690abcfe1f6d3aa437854c82f76e6377d884a6e709c527a95bcc24dc7449bd342292314720188c1aa4ebf4649bd6071e5032eeb9c3fcb2e34dd6d819c78573b6620c15ea877483dd9eba187a2cc0d3385082507e67141fe20c9ca1b442a24db68f1422a958d65c137d2784c9183f36deb6c6db38871aeecbb44fd50cd271185e929b0ffbacd82c2a1534dc8ca72c6764a68f2783c2fae4f629d43739a3c0a8aa1e918ddf4cb99057dededf37026b110f1fee3b846b337b50ea87536615a8b86785b794bf20d16555ea163f5435030df5bc9df37321b0c756e59c690f6b9e74129fc36ad43048f3ebfd7002d61f540eb9d237979c655c1732a80ef46cd054c63df2d936d23947cc756c1a097a2321147fc86430937c4ae6b1f3929006d883fa61239f0881dbf663ea4a829080e397ccadc0005cbe349efcdf4296373a282ac341e2d63a70d4dff6eee45c22e230bc85cfb9314303efe1501c59eca266354285695ea00bebd45f79e8e58f191f5314e05129f44b87396cc9c93635314f94fd5d2ae0b5696fa6906ef7116db1d725877e1bfb2fcb991b2206fb7856426de1a80023ca8e20bbd5c4f116ce43f3be3e3460f42bac041b5a2fc43b3a9d47ce0f80777d55b6f6b25e322f6f1b92c3259f41b2800b343961e88f35da260a3c73478ab66b71c114d92b241e91d9ac271a3115f55d78dc99d116dc43d0377b36f6a0b9643cc0fe94b9b6072070c6ce55d157a88e742fd6d4632fabdb73f952f258b2f6ead97879bef659fe03ca3705fc314fc813e3decaf597947d7c038826b5d96b3ea64ff82cecb61ac43f74f9bbcc46326080c1b57b0dd6d4747f554f6f6b3a5e892f3592bcc08242ef61ffc6b8722a15021f357fbe98ed7955ad649f3ba7a6422d5f4e5a87dc56a0401756e6f1786c5ff750586c49f08f0850581f816833029e9b44aa2f73320972592df2cabf94035c387134d2dac8285e89587164b673892a4e194770a04bce3103bbc2a0de777c651968333941077c4a4ab466fd6bf980dbb15642fe81742762b54b57f618d2d0d26ec386c7f7bc51e690d0284211eaa35b00884a790b8e86e7cfdfa9e9e91fb0330690b1b1382d1fac74c49327dc5e476fcf3bcbb0e0f6b67f1429a34d569c7eed61bb109533c8753a698d3de9587b9a631aa36e849a2c7e64c17fd70631ecbb1b474066a51b50d89e539e43ae0908cccf734d0ba4eb944c357c794dae99b877a4bfc8d9d716e46719b12eb5b5f128b1df67d678bfc689e7f8b6beb68bf414ea35b95cb973ff1d006df1756d25a99785fffc7fc52b50784505adc3efc9556fd4e35ec55a2816a18c49d1d3e4f2adfcabbb736787ac0b49c401b4e31cfff2dc07e8ab1298af3d02d43d1348cc53ea25fc4a14a6b80cd0263c389aa8a442df01200758ed02fbc2ba4aec29046e381fd6a667c5c4d75adecac0f8183b95b9601a43c1fcb3fc1417c3c749d07cd49ce4df8201c779ea0e358f3dee1d2d97196855c381df8170362cf2d4a3d48c2910060a27db6610e295163cb4c72dcba382947ddabbaa916607ac2def9260111368ac337288ad39c9ed7bfdfba63ca295f551136ab3ac4852f26f3cc34ecf9b7fb40cfb85d1aa89c029ad513894aa0d6cb9035d9ab4cadca2fcd75e2ea8f399915ee0f101a03a409835c86474bfb740a802d4c49d6bdd1b67859af1ba886603a3332b5528b58e6fb259b9eb3061ff15da6ec6d6454a73351a9ba3f635f02dbc58321a471e0582973ee2bcd05cf6cefd11231218387777929f41efcd3f5cd7af9e3e605158218d7915626eba535c8e12059eb91a0dff55f9e1ed58bb14d9d77b4b951378ab5c40727640285b5a82be7e2e9758a57618ff6b257235eeeaf5e43591566963864e6d126ecd0f224bcfd8ce3ee4b9c50f44b78f8cfc194d379e9bdf4107f10a284e1c1de2ec59a25e8fedba376d0c64fcc2dd2cda1544995c4600bc169207fec4df08be418b4b1c273a51d8107317a83e372a602c862358f29a12e27cbd3442aa4007736e9e4acdc0a920424ce421d2e9d7255136af4f3ce71834870979a372cf6adf5349944697107211404e790c6168eb74b75247b56a8aaaf528e2ab540d67a9fc8b43fed7e3c3614327c6c5c6a87ac552efec72f51a6dbf75b8305c3ccd8ed44c74cc56f34dc960149a1fb7a13a59b18b38b670d013c8b35c7231838ae8ee1b88c26becf56495e06ba829bda83761deaad97d36ff266d35a2bdabfa5d23ad09d6b7a9393506ef882889a4ba5c1a398291493d52906418e9776d8b7c98f7e0ac79607903aa3fa686df7167862a89ca2b9383618e7fe088bc793389c264b34515c5f54c113b2468d40cbc0ce0a6990146311e8c7e471f936a530fdff48102659ffd7fd5ecb87a958f74bf3630fdd1946f65f93832e229e5f6a20a8356862391dbdfaf624a81baa127890ccfbd5fe93341a9ba4a0e61ae290f2efb1121271770a40c2ac63295a2563e60b2beadf210ea700b727d2ec093b1e34c39cdc1be241754dce0fbe86fc312352c9cb3580b5ff1b927406cbb4038f4a4860e6ea4538c3bd5659cb6a5d51d9f2fd5a9d7c187b0db8e96a33e9dc0d3b1a6ed4b7a111ccb20f64daaa79057315530ecbe86ac35c7ac49f98d9e22677c19ed9a525ade0c99723f53f04721db17583751f61b28a2dd833c70e2f47ce5102308af2789c958b7bb045cd3cd3f6f347937635b92a0a9a6cd19d57829c7f96b0c23c60eda0a48ed665f339c56df8cb6752f253a8edf72fa0fb978f60e4103a31d9d1296d54988f01ac2206a0261cf47968cc8e702140d27960212116c5ce77b3365045376a4da11d4bef70942421abdf91bb3ebabb33970ffdf4dd5990dbe3c3d347a207981f64e1e88bf06eb02eb1c3fffa98b1a92220b2db4fbcf4fd646c2d79ba8587ced5bc044032bd85b4c7748c00160783307ace148a439b336d3fe6fd69c0628e09c41e5926b01cf05a1c9adf9b61253f8827cbea18bd36686ab9167b58d91f8181f0a6ed7183e40d95f2d89fbfbe817995223a7a5e41179f5782662e08ccad7818895d6732c2101dddf3e062e20b73d5ed2712b446092e21b48943ba88b12fc28a9f5706a9f3a4a3816ecbbff1e5a714b7d2ce5791ca96127d84149660919cce2967de806fbed33279041b45d3246a52cad97a8dcb641dab9d1b9cb8ccb646362feb1ef533f10f02ed4ca9b85bbe55a37078951145a51e82a96a507a7d19e17553ad0cfbcc31b86ea4947db929a445e7c0ee91f009b90629638c187b8440f1696e4c5784a3554a04cbe95a523228e2d1d24653727c00c57537a699fc423ac8c6469948c3358f0a1132091e8b500dae0f3f22557df62a683f08fe2b8bcae35f97e66c6e159753a3bbaa0f490ffa707d2d3763a0d37b6737eb45f23e9d7fe870e3e46790280625e26fb893fde5e071a6877c9cf7d6b5df62c26efddc277045ff1c2742ec6364e18dbf21243769ec3c41cec3d6539ce00acd956abe7f72b761fa9bb98dbbfe55019d21f3f047295ad0dfcd04400d6af617c720b36262b07c841928eb28029efb9751706275ca890b0aa0888e0839e199c020a67eaf50aba5aa3f54338571fb5210782251a6ca3c38d56a0dab007f0fa3ce04f15c0c777bdef16059857f40a6b650da3f55f4065f0ada245e40bf68f375444f1da563a9b8c150bf8a37f39e4dce844cd6b30fbd926f99e3d0472216adfbbe09e94a94e34b1429f54636fb1641d04c5450cf3d7017aef9e64ca8b2fc452ad51c41203a83facb5dfdbeeb9607cb02d35d21794652b7fb6a9f6541856ca1b3c07ab624fb5bd167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a7e04334c6a7fb0ec0d44bb62b4dbff8f1cdb87aaa6d21f936775d62232876601bd1180f6c78d9837b40948c030ac4def0058642e299a9470d47cac757d615e4aae1247a31b7d2d931469fe448e87622d93a8e009e6b2da886f2be3e153e7f5dc2ec31f94e85244b1c890dbded6adb223f2049242c3d15e7d511ca8409c995fffa6275764fbf1684235dd27cd0d896e63c08d140f8b7b5216f8a1e8bb086b090f9d8f443a619b778b921158bcaff468ee70fc1952413741ddf0cc7491a354824d4702485f56e5910f0387223f0a95f3fc4a600255b6a0d9a298e04e5c48c14338e96f10cf2148f3fa6c021ef533b9b947cb4bbc32a0ae40a8cb7174ac98c673fb4b876822d1df4ea482c1c349776073b5904d2c172781b779b1b3727fd7449a604109eefb3950008d8e403353fba4be575f33d5f5faa717324df2dfcbf6c24e3cd904b61f95f4edbf53197c816448430de184d397f28acafad017fc3fe9eb7179813354fb51cc112d2577b7013338b4f5fece9c11b008fff007ee461212961d682b519a5b603924c3565ced276385e9449db8a7b3701a2af02c86713346d719af02c9556e9fd7ca110785bdeb424fe4ce78663f4ca502d35f03c043e7fd5dc1c8e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe57f61d8cf7da1363a60850c121c9ce7652c464a0a9397ff8ad97393f070d882ec15cdfeb3793950490b136a941b42aad2da350fa50ec337381d6b7cfbeb968579b0fbc230a5eae4a2081fd76bf505b66e021a39807475fc73d2e7c7d87bb408122aff32d5b37644681e6a2dd933593290822f15df70576256c0a716d9955070d35df6fc443c240fe4184663733fd37f5b4f3605a76c94eb1cc08c638986d5100c8c97e2770fa255f2e26fada134469dd96bbccbeefa36566b25f31d79b15b12bc7d5bebe2b0c06ab90933d669916330dda355cc3ad23a1c7986768d0b974b66eed466d57cf4da9418fd01e10ffada83fbeacddd3979007c7a0c0580e386f5d33fad9a9d876575d4ca10cfd17be4be6b6d5dff36da45992ff1009de94b245c2c89af1941df462e26ed51555e82fe711c40df9172e43009dfed69585da79127e27e738cd00edad774d66c0530627c429f14d0110227f663bb6c54d1ec6d47c59a1abc6586b0d43c45dfc08c7c8e29f715eb8380fe34186fb52cc511103b0aa257cb73c3ba19c5d16b175f495675dd67bb6ec09dbe3195c97bea2bbdcfbb75dc4f5a5f6a685f05c32dff1f568893fad4b6669b43bc5b4c6d82848eecd837ca64a85aca6ba7697c0ab39134c6b9e7aa5c0ba5525b7f1a6cdfcd15395b213428ad526e5e202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf02f5606c04298c700fa76a5ac01fda51da60f9612162ea5ac6cf044a7e0c229cdd9c89ef017d9307ccf5e22ed85759a1b853270ea28f52117955f88268fea8e752383688f63ab89913d08d2af604cd2bb7d5077d8911268475027a02cd45d71f98e4267c44e6b6bf1b77bbba57ecd9cf9af344cf415f65dd60fcd151a8864d3280e5af54800666c8d18a9ffd27c83f57a27c112faebc511571d387474e73d0ba73c0bdcecb87439e388eafa0595d458eec725f8437333e96556fa66060aefce8f07baf318eb7e59af1eeca9df07a2d31026852cb943736b9036da8733fab3f95dd569154899af004fb32f4a14ae360d6e4c31f31db54a232d572484a387393f36ede1f2969cd2a6eacb9e20aaf10b6c12c37ea1dc660325712bc4b1cc24538f342ceab4d195a80647df3379c71e2f208255c7dab523bac647c604fc2c3d7e6eba8160c8cec644c2ac3cf306d480b3dd243947f14760adfceb1221b6fb31259dc6ff2b358dd47598f5b97d65a25d5a7cad742c7de93601ef11ace84d5d756248b42dbe8ede6b1b462ffa99423e2d70784bbbc4b4e7137bdd763f85ff665cf25366d5efb5c423361b1d09d046b26095d4255ac26a639ee54676be677a5c2cbdb19a44405184c9fcbf3c4db9013ec6a194b014e5eec2a8413deb17ee0e81dc3c2364bd9c06103a1eac674772db7242cea59aa6cdbaf66879c469fc682d6b6d9113f6d6e7fd02fb4b578db06e3cff8ce9964786a2d9097cbe24a2a1b086aa56d18a170f3396305f14065a1a475285d530f3e87c4b53691a81429e7ba56e768659efd4a8614c95b83b87d2762ed3a90d092ef5733975f13c1c3c8ea47d0ad9f27490cae9cf42cf5ab7028a85940ecc2f80966eaa798714c7ba575efefd8efed433d36084e4382f30f7a69dc9262f1b0d5c86fcae09cdb2f7b1a0e4a3c8fe4bb4d087120b027fc5ff9324ab76a233fb29552354b7f4209a5ed2dcfabc02aad9d148c7d0a11050a41df4883bf5bc49a297fda04967aaa076f734bbf3be0bd31d2234b0e6fe2ed9817c18e76a57018609649c8f36b50e5664bb552eb66c1a3ae307b992c63dee81a4427d455f0892cc4bdaa6cc5769363be472553b58672d14148ac284cff264e33f03f109b3982528ead0c6b147a9adf330522fbb0dcb92aba12d65bd51f22fb20fd6abbf8a3c2eeda25e130819527d5f7cc5298d69c7e491936d728c0866ac01ecc29e3712f701b69551c16df2ad48eb2bc8dac59642c30651aa1e35b21c42821cf4ed746361f45d2b63e2f84614c10ff3747d317c09bd85e17825d4282e642990bf84c9da5355b39272d6e8123e01f62c0313f17d548e5825c81ae93aa5ce58d39253fd305e2cf26bc83bedde17a22ac96b7636e5f37ae931fd2bb4a3c094b73881c2c523cfd70ac6d389507d81de7f32e483dd1dcb41b630634cbc20abe37ce4c690d3d6e1b7df919f94bc346184db3561f5d7eb25e669bef2272bebd535353a615aea023aea06ea32575898301426539baa26b747cb269ac2714d4bd23c5caa5f5e9fa8df5806517e9a5ef6336259db7890e2ff4f84f2445bc27ec3337b9530b2589cf7cd160eae86b64d395ac3fb88aaf90266b01fee462dec2775f2357c5c571c002299a72b415466d2ea1a4cc78e9260f46cff6feaac4084aa7d80329016f8b700589d4bd34236c2b6be8f5e3d890b1d2b2babeff14d9adc59d401d17fc01d862e74ec1a54fc94b2a4d175eadcbdd4d0b7508c8b19571cc42ebfe17496337dda9f09f19a0041249dd9a7b597e13e6546d79622424a4ef25742e8a411800a88849043f9483917f79536596738adc8598393c02e3a002b68e472c7b1f74974e2f82fec30d0c2f7e83ae098e99a2a5ee07a931e67f023bc5c0061ad02283b794ee6d5cfebf60623185d00524baae2176d20bbf3c875a7e326c2b5b9781ccddfc234827a69d760ba539a3613448728c7f0c3f126a0be855147025ef657e2bccdff6a6bb1502dd3f9e02df74f90f35e3d2ebd82449480fca2446298d61dc12bd0c3de0fa974186003cf9fbccb43e3a644b6ab3fa7aac78134105a554512f8cd2235434273c0b5a7c202bc402c34dad5d9debce1c2ce9a118fc57f313ae9547791a472240e18ebfc246eecc4fadd6970331fc948a504bb05af23cbc9ea4d8c787e1adfc3eb5c9f93baa3b7b8f94be5d73b95bcadc4dab5514f2621afc7618db7849343ed2015df2aca14132d8aaf7039a5bcd3f296b99c4e7de42fc089d12a7b7b7d71c370e6b44057222ac41b44ccc30085fa09d9d6f5b82be5696301d2e6a46ff816c10b402d3a7153bd416d4ce495682c8a30ecf23a335bdbb58d03bbf94ff1fbd1500d372b49dda7722554762f049029674329893238df67b5f1980ff28a5d568d43f2f3d2dd00947ace941873708c3e9b6edc4d3ccf28ce2d6c769a572ad345aeb857c53b9aafce8b499a12831ecb33362b539a977fd5378251244bf997b751ca5ea8b590f540c237e1908a5b240685a89c4353688fa29ea65f03a426f4468defc4da55821c74e48740d138fa660350b2923da037ec6d1c00d9e082711d420a18c13b7f539f7c3367ff34dc37c5dc32e3bc07e0e6076918e4a8e1673bddf3b97ed984eb51d3c88de79878c23728a2a848e5feab90c6fb886c74aba2465e06432f8a4a914c72908609e828bb915c5bbfde8a8ce5a7a7f251ba7771834cdf6cbd18b7d13b8162a11317177dc3b66cd2243cc12af0cfb32c9cbaefc82366b130069485d8f9b09f379733d56c396bedfd170f37482c28495ee1f761a5a6a8268cc80c29f23a29e6737ebb9013879f5d2f85acb1be6c610fb8320db6ede8b85d68947085719b81e4ab2393b25f5cbaa9b80108302e89f1d82ee9b832a39698c97af8ca4e886f4ffab50fe5f699bb2f48fe9081d3bab33c48f795dd3f17e03ceef73bd8f8925ad61cbabd4dfe684522508bc2f0a8b6e9d6cbc972e1475b96de34065a8358e57e7ee0fad6a31693988b0f7d939ac08c5f5cbf43c67ec5b4e60bef9aa8dcf0f395291a0299301dbb6fad48fb07d88e89c698993924c414b845502a5fb9a5b91fb6fa38fb68b19064131fd9203dd2c7cfad4856c6c3f2610dd3fcdbb506bf38d7dd601453b327c5dea82579a96e33ddf7086430ae3f3eb5a15557e286a50f0953122c9fcbda3b1ea000edda34858b2e76d58ec9ee5b1e462eaf8abe2be374b99a6a59e94d23b585253de63fca960419962e8f2ee62894af514eab2690fe8779250762317906abd9045826602c092301f01db21950f80d6ae6eea075da895a44d24b8a5eef1c419a4424e00e23b716a2c9cca0d6efabc1ab281abc8671a88eb5572c9197782d0dc7ddb1e20ddea9da5599db98d3c1fedea820b53a17453b9f34628ea8f2fc5b27fcccadd25d356c67a4897584cd151afeff5b1c92192c49d0496fdcc041c5e4e8435a3f2560ab6a7d6343002c888deb130190398dfef62c87d6793cb8ab88f9d1588d9d6dc144fcb6b2684ea67e7a4664a5e93d975434f2c23b19b77ecfd15a9817c15dcf9dc407bd592504d1b24aa6d39c7d0399b0b66b629801ca111ca3795b9f9ab207ec833dc422a53f5674bbc414e21c878d6f5a8760473d27f8623c7758edf72e300a76ef3a65e7259260f3ded6fffd89e1317311e7228adfe9cebfb8e9e87ac7ac06960eb408e3882a35f7f4fd0b33e1430da2fe0fb3645b264cc58d01e42d4d36c99cf8662bf198d2cca20c6169f3e9abcd3235f5667aed02caada9ea632a2bf4c593b84a19efecae01645684616a2f8ba38a245e4da7fcf9ded0d1796349639ffa7e895723d474f1ac31df6ff2555158ecd80ed2d38bbbd2801a62239b77196be3a9e9a1fdb796fe99ef6e7139b444b6f1a4be59da53600ce6f3c947eec4297c2ec37375ec6d974e2cfdae29f5517ffe3651c71624ff663bcee712f4b0fb841abacea85c0c7a909f52611b6ea5ca5bb25de1aa610edb76ca6c218dabb6532408468e4e252520f7f427a2cfe6d612fcd338fe471171f8fdc4f360a20ab33f366bc44c707946cd094128fcffe38e46febbcad378302e958a0c47197daa4291a03fe49eebec8a69de2ace911d09db465683e3eaf3d0a7eb5c3e290184de823735af2dc201ee61504373d76efd60de30df325cd79a544fe52dff1f6e160e93966be41316cae68e4c599c839c89c58eaf3674ffa3de4a71c7180b53fa36942790e925c549c6fdac66a6ea2a4ef9f6118c02c1519be0c73da375605ea7381551647700c678cf396665b8ac8d14541bb4c58167747e9d64deb3f04bf80914124a59a30cc3135bbf4e334ad24b3e3809e4616bba118bd80b1a2ecbbe17eb6509516dcf723073bfb8c6e6ed1fe86193983fe2a7d52f2ce0ef1b886fedbb4b794b23879bfa88b5a811821adb9cdab8e387f737e7bb7913a47b801dad5f946843a5f635cebc6acb07339b229cd44d092f86b250bf6ca4fa7450af2618f9e2bf847d83179d24cab31009bb0c0f0ce908035409cd7ca0d7de1032ab9aae2d3a21409f176ac0f0ca54b8b187f2442593861df71fe393a2cedd268e5dafba56687d49b000056b3bbc8d2bc09d35a3767c3fe31e9a16b74c3907b84206c3616ae15af0de8578752326e1f07eda9e78ccb169ab75c1c2b24767fdf7f757c70b0510c43229103101dbe1d1c81ab74beef050acdb55e42fb7697f9ed566662e6d926cf05be4434b0c35aaed110231630233b9465f00ff50c434f911f003a8d0caf653f8a0e7bffc005c2ce34e8c18bb0eaebab334a91195011af2c319bf0584a22b5e0618e286b9e6061f7a423715cf685be936f8711037d67a332047f9c49c91eef08eb2e2d51ed9bd196113d21ac6d34472103a1ab7286b778b4726e69ab552553cd063a7208755b0298be4d3f7d6380983ff57998847df1571d9b64d9043f46391272bd7b4369485430ff0b95496729e67583a2005327386f6523a8dbb40523bcf136be7e69f28d82d1eb138ccdd3d719a34c6018bbbca70599edf02ff945da49876f6d58400ea8f62d61d2602549dae93de76675c045acff5be8f5bae3cb17085bbe96c5746db485f88c76d45534400afc7dd6505885bf1c16aeba8a156181e68d10a60cef6b93076f1e35a05bee0d118ab406f18fd4784d1f5cd363c62aad6ef24a21e72ccb1e1fcdfbe4e0d4eeb0c2d1597d9b5daadb6cabb2c52483c09133ffea8f74e16964b1c2c93db9983e6ee94172e84a16fdc83bdc5e801c76a7d14249cec1011e5bc3b9c67cbbda7ea0ce7d49e6a5200accebaebc0ee97cd7f46c8a6536e1e34258111c043b2514263a19a1bbd63f92f263180803b60da5a42fa72f48121e3a53939c8fa9e8d512c104a521b6dc1f922d49d59ce9aca3afd3cdcaac29c2d3aaf946fb5fff09bdd1af399f0393604e1825db4d50c4e229a5fc9060115edac2ee9110308fdaccca49a5c6980567266146d5fa5dc6904dcd45981f6db24fe62fbfdeae0822a23805adb207e6c911a92025acc30bb5b3063c662a7fc167678921431e05fb2d1a71c9f6b3a1fd1abac400f3e1506d3d2d2f93bbec0d3fcf20a51524b05f29cfa29f3366dd16bee67a8645d78f58606f42e0dd87da071adcd3f4d423ef6720f3c7b9b8f43b414e8baac13ca974ed0d4201c25a9ca3329a23dd61d035adc9b9bedf22f06f0360f55786bc117fe1980f0e75807bca29348336b51cda6731793f2cc2cee363cba7494c2667b861262472c500826015538a0ab8eb99f2701996546d2f8f237eaf7761411783ee74037f1ffe6898414429f1183173147fdd6f047473c46333f7f64ab672cc1718fd8e06341454758ae69e2be226b20f19abd4c3478d2b1e92b44640a0e867dbcce8c850e1453233b0e78548fa521fbdedd5ef86676a8e2cb9572f371aa59403dbd77d5570c8d8e245aa541aa789ab9b4ff0199a60c163223e7670bb44f1767aacdc2f125f52253a95eb702cef00fce3752ad24986835104700c9786180cf993d97e8e745e260870069317e0105b003fb7ec9b173f6c4c44bcc0dfdef98bf3da11ad69ca61dad07df76fc6cd332a6d81d68a5ade8f4abe22a35d94223891bfe079188aa2755e5f155b7100f33dc339892b9aabfaea5d9e3ff407cac4788cdea183ddb19ca211e51c7d5283f7ad5fc00ad9ca4819927bd2a659c9254b1210da5f571de40672510d42092c74ca68d6d415b54abbf2cd355204dc2552f04e6ab5536d14c2e6ec2a7490a6470536bae28240deef07303fc0b4b8c1051c4e64aec197ae958e707548c8427533c75db9438dc96a449a95152e182addf00b463470fc4002c7fb70a67eb0c2afc73273fab8b4bdb1bd2052dcfa6e61fd23691a7ce827151fb4a799f48405fe5b956113d8ee5c1b10dc15b1935f33e57417ddb96ad930d0ac74769c2e6238115be182572e7d68721ad898dd44bec8d53f5ee20e28c1ed82f3ee33be75b123ef8d1cb71484bce8717dd4d89e5a6eb2389ee6fc9fe450af720528438cca2a85a3fbb0a833a27053f40c7486071e1762ad4751401e22244ff164c37313822b0d6d3a939efa595a317add33403cf109a24b67241cce9f59f45b65ee813f713efc67b939bec3db33a390fbd4a0fec52547443720eebfd9c1f40572b0416dd6c014ca4c0b560f1ef0d73d5e3aa4a3c73143d891686172105a6bdcbffcac087123d6512be15d7d9084ffd145d9bac72932373cc6eac6a9065d348355595780b7bc43e594a2224514627c8fd79f522a7e58c33b2e229621327c191e10b0705ace4ba7098f30ae7fdc6dc7de48841c45c5a42730a7aa76dcee129dea1cea19f6f928595a4c67da30471c1245e3620e7a792b00f248001e013a09c230889a35945054e955b410533c3b8fd3d813fcfdd5aef64c1e8af764148a338ff3d8fb51bb2cc255347691c58c86b477c3bf25fc2a72000ac13a95bc4e48694b5b13bfb7272d4468e744844e13b3126c05bfac577695cc0c9388728b73a4a1e5814cb8d78c0c3206a48c51372a5d37560b328f18843622bf75fe6a521ce0e7efb7bb4fafa5d3c48c7a0e96e940a56b2a9249ca9d2006819a1458738d98cf72c2979117cff4e13ec148ce57d80fa4c5d8954c12ad57c728f6c18db508f7177d0f16df5be1975fdbf68d4516fbfe0f9b7f3d4a2a116b7e6fc4ef0dc1cbd76962703d71854f47bbae7751b2eb15e9f4a84efa1e1f62f12001e89affba6dc10d3b4d24a4e1a12f02f4badb09bbd6d5545f50b99b2e697dd54aa3b031b54d971efe324212f6f74c3a6864fa7a9a5551047faebd44bd03dc124aca1619c680a885c393e96712705d1811b5511238bd197c57cba1eb91b3da43a8e551243388f5d249e6560b89cde88e2ba6cdc30da7cbf680b56bed2051dab251103168dbf5ee40ac323c273d24f94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d234f9a3d1922a1de4d653d7d84ca148d78e383d62125c8fe88fe30601fcfc0fde1860ddecbbef0c4a599a436e04b8a00d66bbb7c26c6f469eef27cd4978bad1d297bd8dfc94628aa5a79f7b3fe93e65d741ad0a802aa1eabe8b860fc2c9c4fd5a9c3467c8f0e3d6aca9f978176166fd074753c9f6f3b51d871fcfb8df22b1a73f44c775d20c556171bc3bebd75db840fc2c6bd98ed391f0718e17c52566d35d8f1b0c516930110cbcd00a1820c77674d8bc6699be9247f828a83d944363cf883cea8110aa6c96c43373ec1658574e186bac4ddacc0bd1607d8328ecbec74f968efa7d9839bc8006b01cf352419e6ddb892b5f6e01b82afde1663574a8ec95bfa86ee82dc74928634842d082f90e061fb80406e573937fc697a490cdca241673fd970a45787978c311960073b60a3314b60745601dcfc769f3139ff41b70f98ad4aca5c6d8fd9e93b0f7781ffb65deb02e9ea883980f4675ee56ddea085971dff39454a0d299d09521ddd37ff6bf5765c98b3f533a27dd087335f0f60322d352319dd6e4575ef9993420d9d8357273ac88286e77d55d3a2bab01833676c24d07218fea7ef2bafcaf7792611c00ec797274742b13e0e13e19da06ec5ca788aafdbdb42e2e4134cdf71966dcd9f3d84e7c050abbc2e993ef2ae022a5f35dccd5d9593ba945e4da63b9387ead449d7ad41aa3c7d1fd828edd9a12301b2480a80188241619702ce7efd762d1d07cba0739b9ffb875b11af2826a84938af2f097e64bf425b7c87269d29ebd1737a40208c180ff85a647bb9efaf2e4aee6a228cbb402b6f15a965cbead2e39fc3b7d5f00e58fb70ff05e13b7a0d64d4b6c5e1bbd29e7a9774c0afeaa260be781faeb7f5b9f3612008f5b7344fa75fee577b18859c53a251cb61dd64091872e93d9ce090bcf52aa98a0fd5a2f667d68df4e561cbb7b09f47f9f1b9a879a80878d558a996891163fc07a5520bbda2d338fffcc081c694d1fe5b8d88d3c123d941b189283ad263187f303ca11699981c3cef8a723e3110d5af9902bb428edfe8da457c18fcc4b1c805e727ec3209d1f39d90b216fa15cafd6fdf47a7cb6cba8d95df77a116d5e369694f612bdb11588c8e787db15a2f5488a53b0c2877150be20a2493e68d7251ff7c9d92bed7cf0215889af86d108ce0e7ddc4edfa927c6bf7fc20f25c74972a90eda68ecc3104192ca7321d9b2e4d3566fc48559dd30a03b2b6fe42bba3dde92316009ec9181ea7eaa36d3e42e571262e5d8e91fd407a02c694586a429fa7160116282a8798e9e28899b9d200423fba5cbbb53c23f321a293b8346f2e2d54d8159fd20db3ceae1c1e1f599b7b21ac9fdc2db15ba5a8017235170f96c8a0d252da5dfe79d251d57cd6cc7be0014c454f892c6e974635570e42dac053cff08ddb55995e84f7fcef6138dcc017053483e558dcb32c4156481861b35e52f0076be609d43d64d784d71517e273d1327b2fdfbdc2ec56a69aea6fa8acf139ea1c82e1bd8bd68f3fdbd9e3b09ec7f16d082cb638d9ed7fee8c574a12f5285871c77fc7a165f21dba3cb56f76e0937a326410cc082b83ccdb8fc085d1235c230d62e2825082a8cf54d55c8b2f3c135862858aa2d27d93f8cc4821641d626b9dc16f2d358b9c11688ad7c5646d75808b4ebe0b629f35edb43e8ae34bab7df989a1e1ca807e79619df70f3f91208a873ed60bf4003f295f16fdffaccdc558eeb3e0610759b6b9a1e0088ea3266936cb52b7b758453ab48a024dfdef89cae08c7492b884e0d6e0fb0dae0404e48a8451b51421c2d122c65580793535068f638465287f1665ff6818555e98fe149c82b97956cf39f54f393895a068fdf595b7ca18b7b52fe967c78cbf3b6cc055fda6a592ad85e3ae4a44d8bd876f8803f153ad3fee23ebfd61736120e28c78ef780b809b6c4204329541fc76ca92eace4f9fb32a4a19c9358e25f73358333d8280fcade531c74a52da9681415406f5b7213d78a76c4e2fbf01ac467b36d218586b3340602df3c2310e14c645a4bf172c6cdb70cd876fbc3a0558e47acb4771aaff0a176dcdc5e330761d0ee8d2b01aaf59304970d4e696f07006422867b1ecd161c644a339150a4d9745e287060ee59b1a54a0c591c3d1f6488cf8cfb1bb122d61b845c49a9bc50260963c34761c8dd72fb9395b5126d6f896c1f3dbe7b997fc0f481af9af87b9b9152c85f69db03ef3e4f13b9ed365f2f475b7de3d542dff7ef2222ce3707aa3c7f33a6f6009f76b7598236b8408278465539c1d82d95b1bc53fb372f0b868f184641411169c3ea84cf1f32db82c111ab892a0db5209bb2bff92ebc3dd713c2bae05ab9f3c382eb1c409b079ced3909e2950b17d47d58d8011dddacd56da475f6b7d31bc358c912a9980cb9945e58a72b751fb3f77be0b5b6ab0f4c0e3bc33544331d15e8eac46dd5e67edcb2b7a35293d2bdb535fe3d5847be9f260cd8ecde899f755119da86733192930f9ecadb8d47b11f70cb86c609d5c5deee354e3d586a0eb8e9a75b2db9922d8654b0947049da470d162cc3ddcdea2037c6cc004ee4d3b4dc471362e2186365ccf9405d385ff922c4f08271ead366cf2b0dae03be948c6448e804c37dae37c71ffe2e1d64d8d7b1a361ff883318856920b67543b4762fb6075dd4058c15cc50b2086a1cc3fa2e66e12798b8d162804f0fe9a1ca15d2b0ca76800360ba3fa015931a2bdb42f07b159839cd99352009e84b9f365093958fdbd1f75036108b6df5509ecbbcfb5f30386ef3330fd6fac4e4397fb3460efc76c69c7dbc04d512350f922fe33580f6e64093dec2f7972f0c53d8ff11baf4ac1a6779cce3752c6b2f322ccbfdcd07dcfb58ce90972f55badc7503310b0e055ee7810522c86db1ec76e40e38abd038895e4ea343feadff45094e40dc21311a9518df6b89b114e3f328f25740a6c0e2193ffb728a79b02a6b5f34c516a530603c13b4ef0b969df73e5cdc76c3895039fc8ea01d8ddbdc1e88c0335c6ea8c2412c889bb92863f2de62f3ca568881c8b6f2762c4fd855c11aac7c0010231f57c404786150a53a632da5b18b778b62fbf3243e03373f0d6fddad8da44beb515b00b88332911841e83444e3c74cdf89a1c66a424113558c9d2328591dcdc37e2f80085ae0bc30c14fe75f68df36541d3f0f655185b6512048f3cc765cc7de9da5bf939ee910653ed654244b0880179f301d33d1881e3d24fe3d72599fb135df01a111a7dc093b4c52f307f80990d956bf578bb6105d176c1931e3267bf65dd58d613f8109f2e93f854e2e410f217d47c024fb6aa4cea183eaad2e60b6d711a0972c7d23b9634eaf828f637515d2aaaf52f97303f43d3ff5c0522bd73c03587c2f75f563ceb4a32ab9e1a54e3973330e43fff5c7750841ea0c62f9d9828b8bec0f1b652a75beb0a06be4c07fc0ac6047aff557926a4c717d4d6022e6f19dd20b8d15ef81093aeacf1ef12736f64c09b9b504f542ec7509a78c0827ebe77a9e660aa56ea43bbf04157eec41adafe7073db29607b104cdedd5cc33cf78ec69d912d54810d062d89a4f6b50db2fbd5a551583338a7c7869b4ee02e042784d5b61283d1e483c24b71fc246b826e0f5701b974d0f19c87013645df174818cd83afbce58ffe5fc1195f3a30fb0a3d973e0d154952178d7da0307d27ced5d245456a73a9db52953bb71396998406d542d11dd4d4df52f1f18e9b1a8dd0f884dadd6fdf82560997b11410039cca208380244a8cb1e97052afea2f7280e90e3513b96058508b4d40fb9a1058b03118419b29865fec6675a97e6833910506cd4be680e20bdf62ad5427ea7b5487cf9e8f8586d351e77ae8d50adc1292b2060b7cb89375c43f3150dea69fd726eab44c6fe1aa70bf8211e021d1cf752c943d1304f00392575ecba40f48302844f8cb179f57cb354a4d6ba986eb86b2972bfd775612dd0e9e9da5705158b8a6af73f3c67a978bf060664214ed38bca36876dd6c3e23e592e8c0ab5dfb14572a7653b09eb89477206d1ea414e5ff31c821823c7f8f9e7c0636831acf0426aea85600d5b0f9f6ce912dad335e1a5735592f96ac96f1ba469e74579e4713cd9be4c0e918fe63566855142dc4b83009bd8e02cc7cc5e60b0b3087e5ddbce2307eee5340a1a3c3980ee400e8faab486feb003dd6de6ef175efa1b75d9dfeb22b18ce7cc6bda6b44100adcf990db8d39471a1544dff9341b74f08707d831b727c16078eec4c45338d70e9160acb8c8f8ae9c74e07af98c61293008d94c5672982c9ea876ee7687735c73cbdb5d8212dfb6d6525d101e18a5270ef0447d0c0ac9f01978aed5e00f92aa63d3cf25a7a43aaaeccbd446ca43bd054af68f2d1ac519302533866dcf7d65a3325ec50ceeb4501800d2ed91029a06fee99991fcc50764883c861f90df2d9b79ed17ad838e637f2c5e46739438b47e297f929c06b2672b41baa9665d40a5478395327ddacdd7a7aa9687ef297818d16b3c16339813cf32290a9a529df23d5f967b8def860a0eaaa0efa75bca89fb951635a4740d919bc412a478ddaed232efb29ace588ce73d075761c4a99aad8ca682ee9822dcc6ea4d8333aff7549c7d5b27df4678d183639afbecd563910a7c375a4f30dc15beea4e4ffbb16fcc30612ed994bfc06f6334127c1481007146c0b37bd98f1fc61a0ba67b8d9c9d4af6737ac9e86bb7b4a11d1546c3acd4d9b24835af6d3a6f327efce09baa6f33ad4ca396eaf9285ee8cbd0da4c9ae483a17cf51389ea5124240fca0297179805cf90940549469443c4fba48a23f8a7626ff83876fef3965e7b0cd1d98af3087b38cfafb684c04efdce337ba2e50e453979987e203b54693c1f21727f05a8f075368d5b3ed8b0ec2c07873f337b9c4cb5d101b6ec1da8d204e8d991ea071f1efa2aa14bc17f83e959a692e6df374f56b2a7ed0c92e7e23733ba13982b57d45902053241d6a97434d417f3c102824e2f515c34a9a10eea4a6f13adc3f4c5baf12f52a92dad3801d23438e6a426228c3ad3691d9b141e39aead5684a7a4e7a173e1b89490e1ba1d01b7f8dbc24baa732a0b0230b80fc31b5f4b7cc55141cb02ebc0411bc5171e03c0b961b269d35e4fff6f39b9bad8db2db21c3a953bf6acad637a6975bd89d235d88ab693379e7241a14d253797de5958f3e35d85b8601396dcbae10ba9f87f1161248276bd52bcdbda6e72ac2f5e41fe2edc8707bcd3f1ff65498c20875fbc1a5eab6e3fec7ab6f5c5e95a331a23dd0fc7ed296d8bd0cdd41e93fc42257d9a7cb2806aee2d2a9122f175ed074dd0be4280e00b258dd21eeda1edf874ffded4caf54534e55692b13eefa82194b3198859d835608f631829274087fec8006d32cb65624a6aad1037a15928830709a19c791bb0d1e74d3b391a83f39c525d753c7d5e0c0b038449a847244140a313a35992fa2e024301f026920347a4cd8e20ae1d89b339888c47a70f6bea6d67ed12f5a300b315c24875f53a6652475aff8bd84baa066eeb03f81863265a62c915cbeec40cd797bec436f4017642b5310222c50b2add7bea27f4e224601626cf345c7fedaea6806d479f83aa62adf3eeddb250371ff4b95f068c45ed9a8652f36f759e9f8a7ddd16c0af8010f36139bbdc5a4428fb74ba8902269d3c5767e1c2f2de653b71c99c8b8dce3ba7c946a47cf8de0ac59216ff17af2d9101462d101c7c98c8e158815436ce37d79556e4df177d4937e814b7f6737c15a0883c5a8d5c790b11712e2a5e895edaf337dc0dd097a72af52395c5afdc216e8c9b5d23a3c3d87bc5f8bcccaaa02f45865c9c17ed758af5cb7c7725db87fb9a030871683c284c47a38b7e118fda66451e399db1250f0256a507ccd46b788d0d60522952b1d13f984d5bfb5f1c46e576e696d146c6b80ffdccfa790e8bc31b9000cf2702d25f5a744946648ab0525a8ade3270a2f1a45b896e325b0838400150fee6e88ed86ba337a4c301b1399ecae14cffb377d5ce2466122cea07bafce0fa0bec7221f3eeca220b4a6adcb678f41273d4730010da9e9a95a1696da752bd09a39c6ba59cad671ca73a9f10805b7295011c9100b8963e3846051ae6b9c732c5bbc49c783b93f37bb5c5decd81c94220baf180947b190c876473e044cb5614d94f2b98a2812cb60196a200f59ecb20d061dca93a4449b192c1f874e82f7a1d2f309f6fc48a9a434f7328ace96a15960c43779ee6696b9910b1623d37120c2daf90cfdc867ec5c7e3f4aba7e0687ec9d88a222fd2109330250edca87f81c4032744cc25140d7906d304fa3d36bbc39202c60f45627f936847c291a5c623bd1c86cbd4db8d64291e45640f487f724c4806309c69d31c5ee6eba0d14eeca66e58b9111ede433ce1673274c617e953fa1afeadefcd2f721c6e4cece253372ab13ab28d6a8e77564e71d0623acaa52c14d31271a61719d10a1681c4ef2e1387aaa9a8859c93086b8952bc601720568bc3b249f4ebef9d7e9a706ac6485270c7cd11693427792477351e42d72bb8e834c68e865e1bfd6bc2dde0d2635055714d539bbe6646cb14b149f8bf49f96bc1768bb8475d5b5475b93189d5f6797568565b5fea59ca0cf9e64000a3192c16ed4b812de369fc8a0acc02816ab5fb6fe091f06ddb04ddd7a94711e48d8fefcc91066679f855b4af0ae3707881ba7cab5a16e7e40bfd68468a2d48f875ab334968cf7f3aad794253c5e4f49b13cae3cb779af4040d09b2b9d264192d7d6ebb737a02fad163856b1f8c7a0e930714baef3f3b7b7579df9e0b54a34db1022fd74d3c55c64248e871e87c48d482d8b36b6d0c8cec079e3cdb853798631d3efcf023550cab4bd0a518cae0048c550a406d58b686b70ae188648f4f8015a71df3b6926437aa66a718f44fe57f2752e2b8545a5e1e6c6d8a49ed6f4fb7c5f5eefc916aa002df053d4b2d9de739dadfe5339f0caf02b07d4e2ce0521984a2f11891f439c25146666fb6615048b532dafcc5db858f577fdbdce92fcf744f70e40306d54ed98dd5dcb2da82521093029a03c3e3e91436cc9faf89fe93c461626691415f4af3078ac99dd6b43b49c34d899ca05c7c7254c5e81807cca69a046efd6d08fe7d1575bde32ab91bb85662bf959afaf0d0b0f878ec91063f2420e9fb68e5d914270401e7793bb0379c8e0092b291fb393aeeede584961256f1a43961b00b0d4d73f5ccbf135411ec50a34ed76affabb43a316871ceb84514354100b857cced39f82953d122bc44d8c537e537c6510415b552e04c417e107b3b6ae970cbdf61f2104c34bec929436ff601d9d3c3287b88816e92608efacceea21078d9a53c6811a731c2c0a2066287260ff01a12a9bbd6f35251b7377d76ce97d7cacc8d7f52afdd44d47a5b208a740e5e160a8bfb9ea35088e22db90f676de2a608bee9fd41dd96d70ed6df4b70b26f4b3a8a82c44d4db1d5b166810182eb7600d7d14d196b49125e75761abfbe712fce731ec24efb5351283c5272951c74cdbf333b111775f2d077880c7be5f00cac9c87823bef81a4b09fa0672ba38103975497a978a15b0a1989b7a4b3cc9bac1713c4497546b2bb521f29a97ef07bbfb2a40cccf0a235e34a6c79a1c3000a34180a828001ea4c5e101154bc7e04c0c0e51572932b6b603595e3fbacbb542265eadb6e6deb48a2f6cd850c29d8a8ac9e7499c0bf0ecf53cc6aa8d4ef1e6555a28234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d1a8c603b98912baa1c06e0b529372674c9796446312352ccf341d25d4b8b522f13163be13e576a3e3973972c204a4d1a3fc2a2d495e3c9f0ba23b2f64b5bef25f03d4ede4661f7a42a2abeab3d58b181f041ad05ede8e24983798cf8d6665ddbbf5566426a8660700c10d20caf56bf3ac3f25120a6ca49acaf09dd43347022f32592770b4006f3c63c555dfb21fbe9801c30c3a7ffb26b68785e41f19841eb1e1bdf3d7e1ee4d715b6ef26d78f3ecd3f292dd53ba527c463bd13aea79d1aa8e95a75b7e8e5c51f6d15b713ca54f68d4cb142b868341a5d0b1f11a7260f72266a0f26ca780b6a183c5525113269869c255df13f92d923e5860d0a675a6b910ce9b584428d5981ed162cadc1d72595175041ece9801bec84e413892d060662ed3777c066fdc5a7a7593f81ebc3e3b325b40e16eeb9f49ae378870cab99c10ac2e5b3ce4aa50eb8b114e41308aa4340b03dbc499b314d8491a4ac183a2a026dd9f96238a9400752788bc311f9f18b132c670de3e157c94ea5f65beccadf9bfae89b44b177b25529be4bfb810a36d0630b6d0ccc411a7b94ce5dd8cf104208494199242ac7db8e9e0f36af7418e249c46f467461af36a2c1770363ed1b30db328efa07ed20ff01de5ae33b5bec3eec582fd2589ef7da12933a507cc6bdcfafd76a2a34d97ed735fe8fc1fa91fbe19bb9441d3764cceaab3a59d53614de1c3a5af314e65aa3f2908c60265cc0aad9908f3636bac812d238d07a5033acffce51439cf98a8499c2406865a83bc6e5353d86b98959105b274a11582209ece02b31f85b68b92a927eea07a3751df9d83e498daba890c77a4e2de6b67f3c75a73be2f57c11c2af34b52029063b94adc128c07ca7c08aabcc367934c063241d8fdb2186a216eca4d822fc8a308be5070b2161bd4caf7dc945df7f3a47193b90baf8d0fecb29e36caab6b1ca655697cee74c2779836d04e77036892cdf231e29792d9297edb87e7e3f66b1dfef1081383aeac8cd0a5d8dbddd14c4c38b84a1e5b1e242261a3cd60974d2fef3a8e092e10fa0b4109b394063e830b7cc258605f8e65f9e39fd305e8b15d233d3b1d1c03e754f223c6b01cc714bf5430e74b61f565a10556b6165bccf04962f1120a143451a672e28e2b6972c72cfc2ec48d82f68c3056b062f81ceb7aaf93e689750e0a82c4c3e119f16d0b64709e43dd3c0fe475f9642b6402ade3edbd8c897dd18931d3aa537c43350d87c00e8cf319ab45d7bb4f9395da2b0a7b02dbe747af084dd732d6ff4403f0115d47f0b1991e844093e5249ecee49af6e0f63a0bbf6a9dd880f410d4896522153328d4cf14b5d6f3008c3ed81294eef29903233e5d2cb6afe1da1ea9939a3a363afb8c61432ca10816af7783cb7ea9d385a77c21c2b3db952e4b782fd911721fd3a86efd3a60bf43c3929c43364e8cd4804baffc9964a04f9b1e476e4acbfb241048076a9ead0959865f97584333950a99b502483ca17d86a5f2aea930ff822dba1587688a22bb5e99940ca6e27a520916ff4366ca664c230ab205f28c114dd60fdfd4083c70cba4c9a0300251d43bd7c76ac93fc114bd4c7565188833d989370f0cda557495d1f137707a203585690697211de958313582b2b9a919fe71f8abec0ad6b0897d73b1d286e32906eab15e2fd4e8241831032d9bd6dccd526921ffebc2a1bb3be45239183831e7c8eec942cff310d6380de15c12c3475cec0b78d5a1ccfe65a1b66e419fd66e848b33574bbec8ae197dedf84759ab3767da2a14ab6c7ebe8308bd22a1b5c94db1f191a5835612df276c9ad0fef318a366bbfbba9b6435eadfe94af0e6adc6f3b003be8bbe04088bc11991ccee3709587075c6d457b7a0734ff4d30ae1543ca531e664775806edcce0490fd5610348b89116779e494f4294dbced79f1ed06394b2202368305dde608b527c54de0fcbd2d1f6666d5c4c3e14fb107bdbbd613a8335246cd51c4ccb5ea155fc6e9701240a82218ead9ea3c3e54ace19a8e744b716fde553f59243bd9ff9257e9554e1706ca665cd33ad3bdce5f3329f0d9287bb6e720acfbacda88d80ecb40d62e1d425dad5a5207f1c4fe4571e8efd8708535b6e44ad726dcc38083702ec2d1565af4bf99edf03ae75b79d477c34b7c141265cc31e2d356446d0ead507605f8026da1d7b8522f235b032b15578b3146c9321b350b6997c318ec9dade5b2015d1aa4aa033679b0dceb7e3d309dd601eb2ccdc60a56166aa51911cfbe4a497a0e0d0a0547baab4930bc60b3c497422d6f78c2b0536a229a56373a6d3fbe50b895d88a30ffc066787d49bff9492c5bcf20c979cd3c97ca19f496f9def8789be544705d79ed7b9f35b0d0e627abc62c0127b07eaaf1616e8ead42f7cc47cbed2fa04cb2f815cdfd8108b55ce1e77431f164492128fda2bf98c5a78464b058a50110725c6dd5dfe16530136809ff39609f2f1a015cda8bc722c5f217aed6099dd56aedcb47a0d29383a8d6ec4c313c2cca252c7d6c31f02f60158420e0538fa1561253dbd2a9135934ee8fd2300ee7506402b53494efa04043a25e594c1ceb1716f64a331e12de7e5c88e72ed457ec75d9f20072b7086c4354789027d449aacf727dc0e07f52de360fd6d3b3e29614cc220d3919465f59c8598a46d79b066704ab8d31d75524f38d0f6c48fce46839054cd5713a932b020b6dd96de82cf0d9ab3c96370fe46992e01a33ee827d7fa2f497c412cc8ee4725e753a3b6a3c6bbe7d13978d7cf56d5a99e3718f030bc8457e31b3ace68a09b4a9c5b259215990965a5f40463de1d76770571a62825491b85321b0a02c168c8c2994f90f28fdb6845b134032ac4bf6669237c5d04ebe91f5af115f6bde17c7fb732962f5dea3dd33cde673ce2a1c7132ec44f5ef78de0ace5bf9e34dec39f4ee745800f54472d8a5022a2770d70aacc892acb67c722de85b0faf6222a6b52f1af09eb6608f41262a2ca009fc8a982677777a0de623d0828a613e084556d078dac3070f0fdbb9682833b3eb83fdf183309714045f538272d0a63bd2c8446f51fb0ecd96a5cbb817611c90cc36ce4ff7106a06c333798b34977f345c1a3056d73ca0ab5f6f2536130d87eea4089309172399d4a5db85e3610a1d08ce5edf069bafb54d952ad413d718c876c3c39e00f1ba974260ac0fedaf6715ec83c0a6290f9e7359ecc95b2a13fc00500370b133ad6cbbb392af22ea9b6c363a4cb6a436c67886adac7cbe16e34c5e6e6544627c56c9f11fbca3288b4b2ca57cb326a1b5e2d90ccb729f53dbb93f4f3a9802e4d0028ff666f5d2629fdb344b254d06daefe2092ef59189086c769870b1cb813711b2cb5ee39d11e507bd97f9f4390bf6e00ee244ba2a67248ff72be35c0e2c45e0fdc5b654ac14392f26746c3cab101391635c2229e5283c8454c566a7f858302f878f9a341db78aa36c6ae6d0580537ada32c134b81eb013436c4d53f82082b65332c75f1e3b3a2dc454d18238738d682ac1133063fbf86ef75b89b2bc69216a441dbc8a33a448710862bb5c56824e1ba0adc8694f6ca35c2c00a06fc4c37bbd76b8f2e68ee389d15eb4a4d5a1b4e12cc23a1918ffb5a5e2dcd7a979e28c9bcf9aaa4bd5490cc52da71b628daffe215dd8da30246f8e77e6b78cfb98c5b74f67e750db7e10d1ec6ae98c80cebfd7dbde32397f6a15b9b68261df832782d3bd475608149858ea98eb372bd586b319cf2a8edfc4eeed52aeb017560ebb7b498c365fd03e93577162f5c16c6834944a596e9251ccda58530aa4f90662b5292a63e6de2cb3ffbe9e4fd00b90e2b98b31c8f992c005025437629a709ece3af1a9f391d17528be2d260af3877eb5569368742ee95aa440223de00bd88b290f2613fb72fa81b8e1fa637f73f6c16b18c68f647c6c96668de2d10fc51361433f26094775fd1375a600b5b04bfcf10b631c57681deaf4196a85873751781832fd603dc2cb0e4ee64957732a510bbd7617b2f95a9a0c34f3100a9522f36def26b9a47714cdf432b2de616702a2569737567d8b3eebb9bad7da3efefb59533b27c90f56904b49570b633740eee9e00b367e1c940e24f098ea0bff4efaa7b45ac3219a3a2a7369e0aa18907ee607492804412f6c752bc8c5390df28364242689dd5e9b9b384a70496002a6cab5869178e59d83c85640b6c151bee0d674e3a587e584d06d2ae2f32900f11c32d044cd230f8cf99374da7f3d5289952f752f87b0e4dc03492443bcdd175abcb0c6739a175262e9ff17e37b6cfc6331c584a577b29af7f5407c1dc51ee5511258e8b10fb115c98d3a8769f7be95ba9adc1eb60a3cca7b8680b6cc37c63dd23046c82d9bcded551e38818f5eb468b09539adfe0b61e89c703fb2aa51279ef1a54c8a21ade076ae37c11c20e0af1d7245a9bd1bebb7876c7235235f9c0ed13694f239dd627e4a4b72aaec162c9335b0d14a317110fb107e4d84332d39c0bfafaeab32d44b24748b31b1a59d69e5532da3aaa22807d30bc53b8524812a899d7dd4029200d8d1f92afa748e09d47725dc9fb7d2eacb76d2f42a39d7d262a9405e1cef8bfd027a683b4a204fe4214c38f04057d12f3e5baba7514237a491f5b5b8150573d54dd83f25b9a6c6edfe4a8b2ddb660218588aba1cab22445684d63858b170d393eb0fe19a51d57d4c5b1dde27ec53c475c9ecbb1015b5e575d163038681a82e0cf4f82deda22baebd8e7440e0665fd680a6fcb2564322cd2cd122888ebd241ca5d4fa29be0680c4b7244d1cbeb279c660d0065c2e4999f63269876255bd3a7711eb156d5d7d2a7ebc99f55bfc329da348c4f270252ff4f36862d6ff7f47f1e0bef73fae562b3b19e8c3b605d63fe56d4cd48a906885f3b680d8181ca56d8de3ca7b057f0dc9a6b2fd98cf269bd16e1e3ac4764c0ae57ae0653d0153536b834611e1b92ee04dc12a4729acc8289a4527c6c76cca64fa89a89be4b6ea0181ad29a30da6b28dc8d8f17bea3d0bb1a7740b2a750493e59be3ec4587c82086e2596e75253dc89374d229b2b42c6c639ee5967262dc0e6e82c3e8292f3dd0549446e2b40bb43ba5d8a9509bef8fe76e5c71b7f30c7d6a5e460e91f06ca54d4b80095fd314b0e37bf5a1b44e4ec5f79da5cc2f83bf4531e163308a2f5fa7376097451220b7dee765ece4f3894a390e4b964369eac256ef83e367bfb8759453e83d8da56d950704c22e418d415df3ce9cdbc7d2f40d99bc9c399188792693c70d7fddebae1daec3a7ea887f30684d6415856b240983f6805b3c56bae4427dae8d0ab6d06ac02759a0d2606cc4f096e17d0cb9cd6b9badb7c50ca25c90c7105d08c5fedc330902e5143a2009cfdaf3bb464d21941adc7bddc401859fcc7c4979d81da4e4f63843e35026447bdf2a3fd91ddb06f8c22eaba89bfa71c81b4561a0731b1b20ed37a86e7a937e7b8947280849ce4ab2605ff493b6b5b1a37a5ec7fe35f45e4ae50bea19f4a75923b73346bbdaab46ff408810804555ddb67d27078e65e160f0562c2308a2612e95e33a568cfdf877dfa852d70a8ceb5ea3c7e209c0df094bd7aa906a9fdaec80a6aad3be3d70b71716d58eb45e2d9f92bf55b8ba807d71b886b2d89c4223719170acb0abeae67ec9a5d765d38b4c49da6c52db379a1537450255e0fa6dcf1a76d42f823a8400ed604a5ad61a8d05522960b8a06492b8bd806e69dde71eacd97994ea385d8ffcfc4cc7204473ae87167843fecd80958b6876adb96ec1a4a1fc6083040e90bde6047432ba05c609294bd1931ec6261907abc29b73e1644e618aaaf4f62df0669ec019819669c21cb2457f4d3850c3f05dfe6f2ee05ce667b9735d295206a5d44da9aa4c1d48ae5ecce4f3628d0444192eee6bad44f80bf94881ef64fec707000ba8e7be67aa32c7124a90c36b3aedfcee5a38b0e6c0ed3d2cb9b893bce55efd718acfc0bd4041f3cff3a23cd9af2d27b178c8a9a839a44c92c9e272966833106c21f5a1fa9706fde4fc830e950278ed7d9833826540ad10ba2aff236fdeb295c5fb5bd14012bc8c9293cb5bbd3ac6638027aab300d326c9e69fdb025cb25c8cc0677f1511a21ad503b31c355774ac4df9ed23cf9d74bf3c1b24fbed6f44c0df0eb5860e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe5755c33dc2a001eb0a40db097f275b745fb83d73d8988edd2f69fdd49be2fc9dfa717bf4706ec03299f99523b5105b1f8e5fe423b78296d5336206ba5e78ebbe2844566269b7aa236e5b165e9a3f2fce8534baac835c5b31d0919b5b8c5cb5f05bdc58d787441d50c1607bf0017c757c484bc62fb794bca4b85803131c6a22a7eebeae044a2c49c82fe75ce7b24b342df205069106f26a1f69afa93d7b762e17bfdb7ac2e2326172956e253237cefb06bf0b7517ceae42b1583fd2c6a04bc67eb3114f22aef34e34a66879efd33e4e7d76ded9c07b80a0bc02aef4ecc18d76b6ffc9c1ca5db2d33c189a29fad3031b509eedf92fb321f49330faaaf940bff0d6c93dab19619956f27fc4a13fa1eb0161fc13b916d2da239bdeebafdc6ae72d16158121a7f885ebb3792f7937cfa9e9efb34db762ee82b929bf69626401301d36e9bb4451bc5e4cdb954169f3d911958b15af1e8c6c06c1ff819c32f1c79056c264677056408851cf6556350b5f61699210f1f5d6ccf2616cc7c8164d41c831d47105e75c035ad69f2ee37ebc9860ebb727ba36d0bbe8f87e4635a618009f20138132de063c14d38c70ec94b5ea4a03897191118b00682a6fbeb7ff57c1526533ddb51161049c1edb1f4f57bb96fcd5e3f85e752cc279b5e94e90a7e9bc9de6247392039c1f59e209e3bd6af1cc05822ff3ffdea230432dce2c00c14e55907fda90bcbfef3ffd58ddb96aba5e923857753890ea5dae22bd042475a5332b02853a935239d7fcb872158cfb0f11c466556824708f57b31a51f331d959fddd6ea3e7baeced9cfd4c49857d91a6894cbf6e5c75cbddd0aecf07915153d1606c62de167aed2d13fb18bb88ac3a9f1244c11f92dcdaf062bc29d912bc2ffa994bb65787010869691fb890d3a316bd5138595f0b0dd9911e0af30ce6e2fc500ba80fd3d9bccb837d1d675f880602b1b82068969e09668530bfcfccfc4de0747a40e9310e87d91456b97e94a3cd868e9214423a6da301475ae97723aae3283ccdc5122b5321a0d14c9dce2bfecd4ac3aebdb7a2850710e6f75866a2042dd9077547f1fbf0b18336e634bfbe7f9b65578a0d6b313c0b444e09074bd5839a8723a550383f256cd5aaa05cab676ccc3fc44a9e95d4669be5a19b8c0616514ae93427d978a3a433e5e70bfbc5480b903b8b04c944c6b11546ac31c331e5cdccdea098ec6ed502049e4dca1aa85deb4d2f191fae182c0d680f1648094599d04713770367b004e73abe768d9fc512e7e662082e104b77a439e04464e4afcf2ee31bfe82d95e9b81d4ace0b13ab2fcd275679b455d364e4626919fc1159977c52584253cbff536a736fdf2c635eecf13080e1fd4fbce7e69a82b8d12832740d3ff2c5df5e5261ce4f21ec20a908de46feebec0ea192da46b4f41693cd945c069973a82b8374dd1f1d1bc71ea692048caa934fa1e1ffa718cf50099e0a1cf27ea343c988cdc0a984294533526e7980920477b24eb6c4d9a1fc75cc2d969e32604f0237e198208ca21176b27ca8c218b7f5a730347698317ba1b5b293edb36a5285ed95981c0f06221d25845e81e4342d98c234ae53d4db569caf6f1eacf83f32df7010fb31b35473bcff21b59bdedcff96e92301a2f0a1c8e1309dba05d973eda4b14e128972c219f9cbbdf432fa4c287df99524729338b3dbb8691d0e3007727fc546c7050dc44df76de1c5526dc321e1e376dd04bb3308bf3c3103c8fc18b6920c174a67426d9c47787dae9347413c8557cc43ccdf391311b055a9bb65fecac665e8e1af139264aa194deb241179f91bb1dff48cf67ee9492831cc612a97f943fb73b9cb237596c841fabf7d615e4d53907c05f4d3c038fe687f6a456ee7e250d1b7c2a89a3f72a2f8fe63a768620a400cf72e2061f6d37c0af4a04944fd69df11820011f474ef4f83f41f898bf29bc2cc41280bb7ceb9a34c39044eaa7d5c07bda674dff4d8e26427eeae6ac5b135061b8f5b9161228cc9bb1cf4fc766b72d09710f755a2cb3616b8ae6f63ebb47a529132037ba9d57a01ab36e6aadf9c95dec4cbd7f0ea2ee0cc37770ef41df56221ee86f76066625302624e1212dec077804f8269008e81ab67a420a87403c35cdd924504af330e57523017fba8421a8ce92549c40fa6f99ef88ca5b204a84e814f11df22f0ea472d466a984cd0fb1cf79e7e52b05d27494438e1d33b6d53fb8757e7ec5b502f7e54db732bea2636b4b9388077248397302f08a7f51991ba19877e010a6a463f6dac7203b512cb01131b5ad1b3de0e4650c2137ac4230e0a16d74b036d551d43ec97b705a30fbc291e5a111dfb09e4a84cec608c4148b7c05d7880379347584819c11c675799d4f61bf7d0618531403c56bffad16fccb0b9b9bf743d3c1ff3481002c3a0e1137d800f054e69603b3ef10796e8be6a4cf1f9a1a3ce66d8af78f061ca7e7974d36bc9d185370c0c44859d5c707aa3a31c00b04b228ba1a5cfe9d2da12010dfa20a5b139f0cdf29f20ac96ea5afb9573ca3e216c1efa4d1f9eefd97040f8bbdc39175eab8f069374d7b532d05156b2882d588605ea4d2f94d0e497bedaa162ab138159d81ede65d293539cc43e276572d20fcc36d3f5e1a41a10825d811a138a6d45e77bc84a3dea10410941ebe2a5a67a7e56d2174e155b2321d69ab158524e45790b457abc88b71a3b2c16898d97f43d373858f4cefe8f19062676a9589fa6b084c4357ac100184b8391d244378c797ae33caea94a7ec6e0a9f7817e65a40faee02caedcedce988672583d5de5e6f25d44cb736e6fd440b9d2bb40c5559acf54b7c5aef89f28d16ca4e242f6c1c20ac3772261715e2e658b18ffb7f0cd93985bf3dd5f8ac88ebc970aeb923f4d4928fad952332a39084a9ce421f8f18c85ea6aabed7fa31959fd58051b8c753fb1918275600dd6e21d510e8f001d3b0030523d9f5119fb845a231083c53e711ce7a859ad0362c8e45f3e52bb39c034552541d6a6493dd3cb24437e899e4bfa84d210f4825db0278ed3ee3dc6c8f12ff82e322ce560073a72c52f459ee10fbf144796c5cbd4c90d5abe898e18213b28cd5ca30912991b4f2869113295541a6eb910b6539945200de82d4ad4a1116cafec6ff5ee4abbf7abb9e315fc0a45cbc30136d7405d9af90d1621635d702e27e685caf129eaac3447e79329f92e199948bd5555ec002bb6edd69510bbc85870713a7de54b48a7d7c5c0d7f15b81417b61aa7c91110dbdfab0703b2fe78b0400b8c4aee7c2d93944e2ad5827a47e95e39ba0eeb7206b5bca0f64e2080f991dc46bdbe799bc3711904bf15aedbb360577cba79259de56bdd0dd867f71dcfd6699c06a56a3c49b1321e4dd66b283e0fe66df5565f1f3531036308810d92d6c4fadf117ae1f2b6d008f1bf878ff1e15be9b1e027e9d4783135c0a7cf4e4e4a99e9b10a9724bd2f8c67672f8899ab7f93fa5bd8b48c9d28742771d4ce18cf296b4335e1a8cf606bf970cf0ab0fd2b0a431dcbbdf7e206062463b0155d00c0ac8e291c8635a6828258f215d726d4ca513b1e5e1332a994ea316d09d921c4366f5831be46c1e1b47644bd7e2b2960526a3a43f918d30678400240584878a6d3b2b16b9b0588349640a68b524e5a2ecc48b463f23865c9767753a69cb9f279a3f276d16a52e6ebbccb6e90c122c54d78284729bae0a9b7a8c4bbb31284a9e94a7cbedc01c62d7a21c2d6435ac6f774dc9f64d0789e188b830b5feea4c2ee6719067cd450bbf22feb6850aa52753d622405e880e8a068421fe9cbf97819e658bc736682902d6a26f3f98c86c185c8f6ee8c5143fd60c01f5d948309e4bb16d0d229ebb4e8a35298bea7658a97b7f831625844c1037f605db852415392e69fb18388bb5e4bce82b38f9242e0523c98a74d3544e784d6c237291677d37fd5324c119d2b44609b03cb39a6810ae8ef014f6f3569fa3856015c161c006669ae67ff6118219ca91f7c1c1b6da20a4587a53bc82985d12e2d5a0bce2119fc3251a362aa7318b053a308f488a3408788900bf364dbcf910f9949666be08b822571ed0ff04a1c2b931f8bcd9c63aa6ca0c0a2a7b22dbe511a2cd53b35bb0f0fb93970c428cd9571677d1298cd1763bafbddbf49ae688f31f98f5be6b7946d4241adf64e1ed2d2a5e40a7f064b907b2bb790101824ab1c13a89317b031fad66ae1ba528b1b7a66b486d0cc3f450bba6a92bf2d9f89c5a86b4f52420830410b7eb250d206231173c08d89c3c61a7ea9898da8c43aebe5b2ac6b9fbf3bb719d4f8ddeca8673d64e52a17d9e2839f1e466fd48e032bcab246a00af2cb9b2bbb04e6777d4c4c7085d92dba8b49ab04919501610660ddc185b8a7b2f85d20389731cdf2c0777ebebf4f8133a2203ab882267bfae660f14092816a62dd371c93144673a19dbc1b72cbcd3d53360ffe016b032219cce3f01eb2e91a22e22645aada76f70c16a308d9f61559f4c6a4c88ada0b866efa46d59a77efe6c0025674fcdf240b788d759eccc56e0c3dcfb3d73dbbeff7a4e2322bb77e40ad253db4fdabd29104f8c1485c3b8f2aaac5fd65be309f809b9c9644cef58b9b73c990aed1772dce364ba755db208a9122ce23e0e75a8f20b1ac3cbb3d82850e7b3f8bf8f0f7e96f0d3618c011d1908ef39ad5e317c042a55fabd5c191e9f31e0afe60f5e1ded209ae83628d740ff03650549bd72568e17527a4d60c5d81a94403a67a2ab4b582c20ac0b727bf746c3085c64bdefb6450fa121fde1def680f7151fe18a54e650a1a3798b56c4ae4b088c7a639aa4c60d77ca47958ca976f94ed6e7fa572fc686cf5028d3803fc00bd2be8fceaeed7a17af2b8896eaac9bc8a0a6a3751672e9a0a4a5a547035f9cd58f2c00c929536cefd1dfda1f8f1c09df3f20095325fb87302dba8b550eeca54c4002da68df7dbebaaecba82f91d8b27a195462d2014700952161bbc57e647d55cf0b74dff42fcc6fcf651980dd0bbed96754c6109cb0fa986e484e78307dac32e1fe738267315d9aba31fbfbf0568eeea8d7fd81d4f151d285116899bbbfa30b25ad8e69ecb1ed4e062be9a22890ae50187c188e0fc7fc84a89f35f4811dde4d311b5caa8210405108c0a1245a268f0a4d416b69e50facd454dd3c49a221f18aa1170347954308c5d2bff526c1310d339aa384d096f953fe4a05d60abc451d55ca4610e56b1d289eb2ad4e6cf4e6484a343dcc8928412c3915923424d6362b7a3d2e1f77e6f27505a9232315584a613b8fe73a09db28090ef18fdd66fd7f6b40ffcf2d0a831e94661e9c4ae2eda02596ff84f8cbbd0106a892f0f8a1f7348c9bcfb99280f14d7913d238a3f5bacbd07d443e69e4d8da8ec881c14728c82b64ead6f21b3400db58c8c3a749ab436e852aadb8a8967938e42703536f61bcd8b5895244b1d09dee5e140cefa8e6398a6f0761f068d948e2ccd0e54c393f66c9b31c66644c827c50565faea87c9e297b8f08a80eb6039eb75acc98ba2614571a06a9bea4ef1dce9ebcbd81efb714ff5f341ef4bae7d9c1b26f1df4d1b47f5db4d7d1f97e96bb169350a626048d3d42ece19d8ce3ec62698c90364861a953cacfc1e302a00098e0491c2242d72a59f541a0131dbeb7b5ba9d6709f4b740a42f58369e9216926f08ab144c45d8cda5692d84ca4c13b1396fd540d8212ca4e81fb806d0402272985e15f7dedbba140c73ce5e618f96240e7683cc48bd32c7f137e1dec2dff0ce93cca867b4b307fd0f756553e42d5b9ede8bfdb644c4f538a30e6094949e1acad4f610f5deacffe6042763650c9122870d2d00fd54e7df67537b11ee6d5d177d9a862d19b418c669ca67d9edf337a362ab40975a2649bd7388a3da1ecd40d33221ffa9eace60093a7b6d654f610b61a74fa91051e80105cc5c6687bf0f0f6d1b926aab0af22f19b82226f93404cefcf6c3b3cec34f86fd6bddd0f656cf2adfbccfb3e27f532d7c751356efaeb76c20a309778442184796ae7adbef3f80d82580ee5b0cd2487d069e9ee844837eb19562e4019baf237afe4e981362ac89186888fb4603356d4503236c0cf642890d479f54b081c250014ac503d120020dc8db15002fc11fe9c5b92d8aa337d89956fb334fa7286d915592c7276cc4d04e1c4729ddc96ff7966ca228170e8dccb3a9b9d75c9bfaed32e411f8dccc4219e505e6c57f1458059451bc91ebdbbdb237e03d9024685ff9343cc2e3654e4aa3ce0193992fd351d44b5eab3480d781fb8996cbbfff6153ccdf1b717b0dba359a1ecb3ba3946e82c926ec62c9f1a47f705e7e4ec49ee57cf151ba2007ea45d9fef32ee15efdaa3d8f1806dd1b473908a86cc54f657e6939b2403198abe9a92f6108cf118052de82b16835b8326aaae431b8bc57b0eca2b7d34c1e09f00082f0046b01556efc8dd2b709c23ef13072e938232312fc5f93810347a714c956a5b4f90428feb3b988755c0da08eb1ad296162a63535a57dc476c3b03882a8409fae0a6c1b4e28726125aeb1abe21af4eeea4796a8f02f79e2f1838099091b73ad9e68d0dafb52a46e935e6a3ac4ff285e6e4709de87a80f8a464bc9e619206b00f47c8460a5a71dbde5e65307492b67287809bd33312fb97b146cc7d62a9d99120cd0e8d7cc1c4239e77da8274c1a1248fc58574e0c535fa6e08a92115becd60dc6771806918b2b9cd46d2ba3db43d0adf1e6c4354cc94bb2151842c3352d736737ba54397fcd2ee366902a2d6a2a673c82d05d85cbe7864baab12aadb5b5968765f90b89e73283975fa95906f3bbec4f0b254403031b908ad5c98fbf6a11944fbd07d72524d3038cf8972706e079e722671891801427e1ea0d2a4adc57666301d55da03fe273904271fb31a0632bb9b34fe0d22a2a8aa77c90989f5d25909653949a6a32cc3d441ac7ba842f9382c3270d0ea24bda57890255a9403dd43fd6f18a78730928bf2e23621b3b7a0e48a405aab4e55c4cad51015fb2cdf066699a7ff2859629707528dd1331e593d459b84e074657cd46d73f1c205e37ac3746efcc16c8802e389be24cae88063f9a1e9ea95b3e4024fe8babb60ff344d76aab7e15e3ca3194dbb07704f4e489c3083ee401de694b82bc5d99a7b5f3dc63c036b0917ba38bd955cb5efaf3c524f05f959827396003f399ac3a33e6e5a55e93d535e0a49390ff657a6f8aec6fa31e51567eaebaebcd5f926d2642893c3855cfa1950e7d69a36ae044cd51895935739caeab829820bdd4ab6a30e0800b235a3cfd3099f719ccf364416f36618b976bb314d111d9be8470b6dfcacde30a0c21ead155ec1eeb3422db62e7f54a5fa81da7f3ad1d24abc2463ab49acafe75039c3f3054c95739738772da5643a57dbc0109d90d9dad62d11cba825fc66e15925294264a7f5f610181d32cf64692dfb4d96405bcb0c14bfea0ff9e49e588cb4c9214725c46225ff4b296009e37945cd7bad049a2253b2d6b81554d9f1253af01035a0674a2fd69ddb4530f16369104b936ad1d033696033cf65bdafe4d5e2131069fd2ffbb7402e008f57f796f45ebcb6ca3e22f9be0a9d8ceb6f7ea94952e5c7f7b5dd85459df0291871c20459b30ecf9a0179fbf19a8f5447bf947a8072a5e748810a3bde46f6ad7399b3fb2ce31275d59dc6fa3339fc8992355e6392827332a650f8fcde970e627fdc598afd915aed4dd010cbc2f4cd7037b727b06312897d8c4eed8e6b18a4b6a2b14149cd3c6ff98642766251841aeae6cae99cdc67e89dec166c8e45d7f82b31d7e8fea419702ce13487d4918b69f87d1ff41ef5ca5b42724b8e4ceda5049b69cb13a7314ec5254cea16dedc389df92ed4051ac34a0e1d2df3a026ffb2ae1e856a1619c552c0a93e2c11bd5bdde32d85ba28c8c3c28ed11593e36c487940279729d1fa21c7df46a162cc3706e496c374ef01639732d98a43a9a2da7b8012d54f182f7fba35399671b598bb28c6ace0f00af287a093cd8398e3f74e4d0536fcf4f5597cab70bf4b4a4a42a0761602a4ba2922b21d883c76fb6b76cf0aa6736ff543b00c48fd75e434355ffaf72fe5b6e9ed88ebd546b5e1f676ef9e1b320761722a5e18b243e4d5a1870581cbbb9e3fea365c4aadf11059e16a5e72ec24fdfe4fff137b388bd78ba733841b4dff72145969c111adee10557bbb06b7d47240951d1432cf57f5a1edbbb64ba339764423cb00d48cfd04613a504074fa5fc17cb6d166668a337e106c695a9cd56d0697b63f7d233d042657562c41779ce15f2652681eb034405ac97313556050a99458bb884428fdd02f5c326a47bbb1419df2111b26a4f541d3156a1c8615f34a7ee4aaecbe063c77129e03d4e4d4c3010a2ea5322bf6e2b80a075397432941bf6570629357631d5937f55545e7173b5c533c682db167e52ccf892ae39dc274236d1a18e7a4c2984d81688ce4db3d7d1a72bdfababc7664baec3de903838ef59668e0ff81bf98d744078733a68536cd85d3531a419d7e3be9f66bc0947a7e639aa134e69e947cf230907203668d7fc377593674e0bb591cdd52e595eecd051c35c67dda9f4cb0aed3893f48e349a24c216893b6673b24334f1ed27c8a6796e728c48d046170b7605268fa24768832955d5afa631ccbbf9edc18b2dcef967fcd684cd3fec3fab02053e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe573eaa8677aab0f07f28e77e40336f6ee64426b23d0653db7ab8439641aa07d263c1a8612bf623f19e78e5bbbeaface2bf51ac5bcbeac03359d6bfa3b6efc53ae3c32134e3de9e7829044d9dc5731701a293ebb4fc48a73a060ea1b36611a78e9671da8d0d5ace71576759c4f9a3025317ebe2a8ee43424aa3f4aa5d0b0053293afbffa4c439aae2a4a5dcda5c3577d6f08cee6071c2cf22fc38e0db79573f4a47f9eed77a7e32af611be08aee36cce190254768cd0fbfc1af8c0f71497a83e1e07a6e8217b7bea81ace424fb918e1400254cb2ad14d380ba1abf8aa7ae82b01f10545e60c5fec4ac6f44fa6f2df7ed602b4cbf55a6c63b3bf23f93e2e8369d07bc43ca883668c829ba99ec364f564169003978d015565a70644dda57353d3955b6c32c3d91d0cfba60959fdeb75958e60431d70f2fe7516b0e0749e43868eff2c0db46d4fa416e765a55372ce6963a48d5af41bac8147d918a7e3e06803a3dd227b6b404f5681f557fa3ffa2e46e6f2f0e221c97a556d52c49f3eb6d2b1b20b1e1410004a91e6a592e693d741e9e62897e28e6f4d43a285e8b2423971d446ac00df581ea578c30017dd247c83ffdba42cbbd37608f046c70ee6b406826bc2cccd188644790b5ea7c67074502d6e1695171952414d2823c7e75dca92e22bda116b6bf782b86d7648100e8d9f5166cd5a08de042c76b5db6a16017cfc3cde61c118772224c1f900138ab92486e8c0ab152b1e8363d1733fb5b8c246d374d59460427c04d3c35a65c806065ac66bcd2963759ce3bc50f6968b905d7758cd19dde929c58949112a61ca034dd9f82898f21b48317753cbe05f93f0fda3c686d18815075c7ae07d73ef5a2bd5d4ee1b27aa1e7b1131e04f17b819994cb4dd034769670f10b46a45f0a1d82978ba3aa503d3822a01ce7b779a11e1a7145c554a1159ee0a6e9b6e3f198fbbb34ae135c674f56b117b0a62f269ffae376ce545bc30469d89607077277b6d1d793728b3a217e6ac8eba3bf26d52d154f39d4b467b4933d048bf68fb173b438916d1f0f3d17f393bece47067e1cc32597bae8cad888694ace53721c717f5ea1a311251f468fc85b3a78fcba945b15a8b99104146e3ee68bdbf8cd85cb02d1d58df9df157488c8a8bf8d52a25070975af8e58ffb1fad647303c3754b79f58bc5367f525e5a1b113e3aa1c1a2367b21957076702f32172f8ed51fffdfd640602c800a1dfd226b4962c755fbe80271daecb3319572d64c142f76737a9d1b4f978b543d404df1603c04e7390b895766f8290d38a6ea27e8e2821ae4a08bf2fd62314d9fa1adbf16ff8b1d326ce5bfd7f911cf5db2e59d5562a08233e218875d93ce2d8a9b7abd2bdc88edebacd8ac9685688eedb9e423027290f09c3a43e153368d5e890eceb53fd0e4242fb766cf236a5d096312f72f6de22d2ef2d10c3bd9f18d373f8c07b24ccbe4afc585a0d2ddb34304614213836bec0d904e4090a98be1b9c056bf08807d6241046bffe90c4f8536184355a63d7111d9b3dc2b25df00e3bef2658de7762f7bf497bd40e8814ad03f81acdee547d4cc6d77a9ed0b7030fac22e16bf0c3d59fb0753e739f01214d6ee533a381f099869a6fd84f8e7e3361a16c55904fe4095ff009f0d2b653cab0201dd3abee7e64a977aa753b06cdb222dcdc5845ae9c808926b2ca6d8205849a375f36ec35dd7675338a40f5269ed551847e7ae8d055de3744220612a3882132fc0b0957a95d9bcf466535eb9b59cfd6079c273b3889b5dae5df9c249e4216266c2b153060650428363283c1d115979e614a104bd776a4b5860738f73051f82435818b1bcae3966c50cb946d0d4aac87abc4817354e333c3ea0ee886dbce372525d1684b73c713accd3f712f616f55e5f8b718c424dff6a761a43c458b6a30e866907b6a367652ee60ca9cc6d54466e5a6a3f3bc5d04ee926b70bcab4c5659eeffa03d74e62375c6be857e0e90632275f076055a892a7df32e9f05b3efb66418f1fb7ea28c1ba977ff1312077309dd306c8a8874169500db3d0d0ffef7cf5d5c928db887c31077bc2e1acf8496ee1147d813885e150a2277d9d7db1e1ddf21ba061f6fa018fb2582e6122dc0ccdf1ff61d9059f07a263916f4463353057d160c6ea1a2e23901a1a106dc585745182eac52602abd8fee6584adf6b5be6c2050a4631a7b0db01185f6d2a3b8c7d69bad519da5e700476de162929723bd40affdb57feb68172a62b0cb2166b5127e93d23c20934d1adb813b39513b985b0db065e27004828989575d7a9e74f853b69e2c787f9a6ebb47dabdeaf20313060cb169c5c9ecb0220c8aaa72eb8ecee1a8a3a9a78c10ab78e7a65224c9e9ad0250c675c12aec6cd1ec09992c351ebf0c45187b456e6c5d8d3eca0591547ecc1545ecb936bc90c2a04832e2d5557309568edaf4db36c92401cd9388f53aa8f57b5e1f4b63a36e9f03a13eb2275d3dfdcf3e7a68fafcce24262a9cad00efe850572c1dd2b34012b0712d378ebefc1b54c956c315393b53f8c5237f90947e4bc04d96bb68253abafd4ef627617dbf8d50ad979f3fab5d416e011865802cf991db37e5686ead8073d17e2364629f1776ffe46418d304347deb4d681d496a18a94fbbcbebe9fdef5179212fb0e3909c6d38f721b23793c965bb455f4efb9687f7e58f347237f02f997283e949b3171907a6ead5f825f8bf91ed2e293fcf4bb1b5f68186e8a1a2c74dc7294e3171cff46c49fc16522fe7c5c0bb4a27eb35ffdb84a166b738fe7b947143327d4d3a1f56fb1fdffe47e38234d2ba0fc4fd03c62883d38b99f073e277a8b53c1d334efd82305268d29b249414a254fce312752fb598babafff196ea6aa1bf9a9486c7719f778b86fd5382594f1568a5f0b9e2b0b01b48719170e5dcddd8c8ae347d17055f45d2228fdf821cc5ff75a18c551ca367f777a3f5af1bba96bfd48c29be4c7b785496620f278267a9475a584738063ad891ac8e48b4d7c61f26af99f1b9bc073a9c771dc4b5ac7ef1d50ac54fa9961f1445f85be92dada9bcd239c1e4bc4d7a20171175b5b8eabff23e6b06101b7c056d9c443d2ad8c295d4b07d1c0d69eda2e5249ccdcc2094ec5c37530b49d8cd600b61f538fe71d1f44b20e496cc1d52b85f0ff68883fc4eeb07c9df2039f6537ce74ec911d9474830a245454dbd7e1e7c8002c08bd495bcb6005ad5f3ff84632d56e55372792d3b64bbf07c53da5a60562072bfe9c020b11a190a4c3ff2be3989b6b880972db3b379875e1f2de8fc3b7820cc395f4323f371d4d90e6297f71d3b4bbac49ab2ac822c4d88866ce842b886e533485edbb922b1e72ebfc0a57dc3a5d914a2f2fd729137f4a101f042ca6305dc825b0e60ed33a9063520913dec8627a441966c912d12d32d37ca0881e4591d8f2592b18ed43f35f1e9d1758f1734ecb4fefe4a405fd0b6153d5eb22985076f033a7b75d85633e6b248df13d5a4ec6e901f9187e9360c886f4b117b2fd37e0b9137e6163f8aef1d6ae8314896484d6eb9575d986f32079c97737a7fce1367a7d0f0b37eb64a7f6b500c6af5cb10b7a92a4a8ac384be91082b055237858809b134749fe002d18aca304d29f7a59d1b10babe96d07d9d40080a20e29d34f30c9c7b528341fa2411710527d756883c3383a9247456dbd5ba79d004c26ddf2803476cc2024a6f3a5d9bdea910f95ea11fe82ef35b7918d440c9d443e63b1aa2ea60421cbfe3c9292853986cbc78c356e200e66d33423c799179ebd378aa69a8193814c96d01ac892d823f83a167360c71997a92df24df1efec3065086cdb33e7f0c286c27e389f741ed020c3c14f005bdc12d4de549bb4cb57e322aa1043e0cec6d4235d40543879924a83d9ad5ddafb7995838df7a7b46ab4ace348c3855b534ddb7aecde148e294489c49b3bdcb6c619c6d2b24716ca6f184c85233af12722339fea8f580a58b742a07272db3f7eb9c693c7bd75fd9c203ad888d274c3001a075662625ddeebb311111053d2f23187d09e044f27a5b23e33d93457e167c39fc5505a8c4416cae151efd98e32359de55bb5f6abecf59f9f709598e3399774b67c2d41807710247af278beb1dbe54e6a1fb9bb2b07072aa787c6a9667c66963fba3c092e78a2719856ba87b6aa61926f6c61cd4b6916f55e51a40f303d3dbf2188975093529fc1c7feabcb26c4532f1e3d2aab55a6a467a338a1ec841e9c645b1dfd5203d130dcff0f087d9d43dc05f1a6b13af361d3a3bcacc3eabd6becf74d08cc812161e6dbb615d1ec82bfa78bfcb6845391827b14963493c1187ab4d4b07ee9f684b960c34d4fce06cd74434577d600c03c2f5c15cd2676d96a999170a54b040014fb676f4438f363ccb41360ffbae02346054395da2c124d548082f5479c065fe8a07ea34a3a1f0aa95057cefee0b0a20a11b3875731c0842bc4f826617b9a37cdf793ea12c43d8e907f096283ff6665ece4e273b96e2078fb9cc7575fe87cababa4facf48081321d49170b6bf0a1badc263eb20105e193a6ed58b867d4b74a928d977add527136f770d8de9dee134be9cb03d21c9fcda903f7169f9322e18da96f20f0f796b934bced18798f3cacf9fbe8bdf6c2c807fa4ef1007f337ade5af7499a2b2a835682cb2862d41fdd8bacc03da95512b086ee09b2533947561b0787604a4c64a11351511fd88383d912f75bdad2e87519abf75620606a0ab6e3a52647abf25701473564ab5b126e78c5a8a2195bdefb07ed1217eefdecdb8e082fddb2813d1aefa52d8bb70407039469252af149a0739fb527f8fc701969ecd95746b2310e2e619bdaa2f8a95bcee7a29cdaf511e65947aff71801e9a6e58aa8d55d92cb107c70c2ef2e0f08727396a486a9606306c3599df8e91b921568d3fadc6f2d719c71e93181d04d035a64c3e251b0f6b9ae72cd01e2782bbb9af646eed6468e12f71ac9b0784198ea083f6153f391c5e5cebd75953daa18218ae2c997746fb6e9948dba83593d385e77ad4dc4d515519aa8c4dfd8f2abc115d9b3c507b6e33f485955b37de7683b15a8c51b1aace543325c77ce8306bafdac8500b6ff6199f373487f33931a14444bda534ce556d212050cae92d05c6445e1d40f225f1c2574f86b02f16092fd4db32adb2ddafb9ce6889f6d455d36e12f30553e1939d3969b903bf2436252ffd39b065c64e459b5dfa733f6cffeae666c30a7d0c36716a5847762e13dc89cf555a648208a7670e2dac95c7dd6d6f1cecd9c6ab600ad92ca6354893669556aff53dfa9c6d69b37f6cdd2c5e564e66fb61ff19b0315c93873d255281775a9f49c47b07c66604406d990b29204f7df701d77ccf2c9ade13f7c9f209206494efbbc4253c16c5e78951e198d3a22464f6a7759cedb4ac82c8681b17f99049bf89c742812d608d31eb56b58ff818b0de4d907c5ed628c1c6b9585b875d2abebaa9b3e80aa70f1d6249bae905e1afb95c2e7687cb8a9857517ce41e421cc6b2a974e5d046c03f7956e6557eb85fc55e632d13b4a480958e54ea10b6084c76dea539f3d9dbf616a77262b3be6c87ae1874ca844b2a31ce5c24a9990947e7288690e26dff7205d6f0325d64a1ed4711e9d4dc08316cbccddb0c7ba24ed032ed76173d067f7110f9f5e8e31ee86444c145703baa067df0d1261e39708198590c0f7d27dd53f22e910e36b5a27892a7bb36b91b7f6fe111b802b5448c2e96734d2e8af2eaad64c90b4e1084efda51ba31a783b9788aa2beaa81a052bb7890be35a7c67e7f3fe574739931a92109efea0965e01ac1850f9195407b07ffd578ea82a827b2f19bd009d459b45e1aa0cb1ede34849d8c5e02b4fdb4d2c76fe4fe67dc2baa2a6fc88ac0d28afa0571e481d0720c4a45b0ae4b1461d3f61085df60f764dc756c9b65464e582d51b96fa105dcface480a2c5274e824e4dfb20c5f824bf0c887c4e5ba411cff809e28a83f448f9dc93b036ec644cd6ad9b604664e53f83831ba742c2235acc07b45fe9bca0d4c00b80810ff83e00fc9d9d93ed2aca44501e3ee9d8aa7144db6def6219e41da414241e1d283d3df15aba1eee597bd7a2c931bb745df53ddb1d79608ae504b2d1f2f7d498771ac30dd077339de1385400b660054419aa8bf7f458cca7c99e84fd6ffce6aab4ff1e5c27aed3e9ec1b19cf9e0d79996ec1b5d0eefe50f79572a9457ddb54cadeff47567aca193b2b13f26660c9465ca8ddfe3a13c1c6159adf8a691afc1eec1c784c6e738bc06952d89fe0ad9fc7f52738ec19d8bd90d8ff3210d019ba89b9a44a18b70b45717bea2f2f050cb90d1de46c104d4595b8979e63bce0254009a6ef11fe131c594fc3fa33443f3903ef4dd69747e76c67f022b82aa8da383881fdb3baf621de8323d118439f53ccea28a50562d568bc9960d13afb6af44799d3fba8c04e04d12b6b8ae2fa15e49dfb3014c6ceb2884b655ab371e2a0f3d6c2afeec4676d0ae3ac7a4c2e241c51a05e2fe3dad1ffa8ffdeae1ee554b22492981c0ca9aaa4add3ef199f5ec6f311885666304c828a0bbc2d2a26e314a324cc573e74fcb6e4e25aa3024f362cb3ba20f44031945417145b7436ba292e8ec1d04aa2193a48d92adf2bc1bfacfd3c61036641c85fd7a100e5b5e22e2e6c1fb42eea3db9192342f00e5c773da3828c8517e0c29906e3804a47d3fa785a9a707f9cb0e1df1152032f41c685626be414896c06238b480af688b7297076941fc15afa26f7a7cb42190a9d836446105f8206f017a257d1377874d117faabc49f968dcc6252c8107073829ee199352801c18af66cdf84db684fc017e1037afb7f78c05d04d5a75e9f4ce20d7a9adc4e2182dc1849919c20f644348de7278db8c9d4dc578cbc03c9bb2d9a22b8dd9d7234f06dcd512f4e410d41babf58cd1da9dfdf763f49f517beab31a601aa9890f6bd1dd22740f8823380950ed147231f70aba917c1354d587f2b1cfc40fc41d77d3562f341052b31c2389fd8bb1c393ccb8c90fc7d8b2e8e48a313bc68e5eab415196962cd7119f0000e6324055fef6a625faf85320325d2bf9b4b5da7f56b9e71aa0f9081ef531553df7cd40ba400158e73e763e10515f62e900581f3904084020b9c3dc19e72ebbfb1fefe23cc39e6cab5c3b19e5b1c823946c51a29c268927e18b8fb606fe5688d93665c3e3efde4b9ac078a3e4a7878889844daf3d69e3af276ab823eca6187b229bc274d2fcfa5f6e7b849ed9bb4910f6b24d230f70363eedcdf22c2be96a42c0bb18a45e0a47467ff1faa4704e982c1e7fd105b5987481a00072a64088972068b1a7a40e386c7dcf2d8b94a2bc0bda561ae6ba3a3c6063727644c373cd412f275399a38d14df47202071e5d89941e3c2fbf46bbf701fc9eab2778c38c2fc00327697d5bcdb9e9d098c5515381307d20be7986dd2b4b08daf7483a6a1cebad06a753c2e0b7fa41855c281afa9b3aad5b1498607b7151cbffb2627728f1bb611556061f463b389596b0cfa93eb4bd684bf623df54d36f3853ad5e049f091a4b99b96896ffeb00dfe4088ccbb7ffc063ab4550b869b85f12a3e5954399a41e6e4c04822a95cd0e1056de67da12de79cd55e3652957d47784e890f32d1e2251526cc5c13f9bc750a442fc4b41da896be625425e8c1ab4268e550a0f7032fa89f45c624aec7a852882ca2c3d07ba2bac695b2811c02011ce79f8d0059e0571acc3845b9c2f55a73aa4643587914853180374c4d4e547bd40a797d2a416c7bc1403d08e625f58033dfb364f2c592f839328037c249d907f076c67774276f6a1484b444ba345aa94ea34b8e222e5c83d742b5fab4368b5653e6e06765c7a31364c237075a00bbc8c5d44bb8a0fe73feff67e2b9b4c07730f5ff45c39354c73eb8ae07fae27c7490d37b7764e9e0ac2cb04b0a6b1674584163999aae6d971af9705508267e27a56b0603e69fd3465be595013b8c63ef5ecc761385ee76762da996418d5096312a69814884e7d306535624b48b639a4a909259b472e3dbf35382c7f7246dca704995645804bc318940ae8aa1c503673099ab95ba0ea737fa79b2336565c49d69ea81c0743d0128aa24c5c82cf8a8756df89cea77ce573a822c34f7e01f0b7091488ba6a19f114ef7f67ccaf7150d0035deddfcda7a978e38b2c3a3761e0512f4f11ce272fc4497cd8f47e85b9b3aa3bd1fd146fce3ed6ebf3fc01726b5478c5f694e23ea0936ec053201bfd11bd67c62ce84d484b073ec9909a82bf74bff877d639f13dff31e71d7d14a6a25387d18a5a979a04329f80402233af2ac62f20f4cb0af93c78e17f8094c36eddd06d751d2991f6de6edb842c64df37befebd6538bcb693d8e337cd1611b1c281108f8e66055a098aab02d9101ead653201ad7dd84eee3565282898117f3f951bbd468c0513f4fd95faf0155843167f120f7e08489cc55941471dad703346f66788c96a8df97c4ed4543dd57770f9c271add6038d3dec88660d3bb9e5eeec6c9b0f8c439f666b470d90a9649c9cb03a3a1a2430226c26f2e9cb7f0c0de958fe9d03406e20d8007dde0c345728791e6d792ba8182ac755007a3cc76821ca99839a294647bcd0a76817cbdf081467b250792e9d5e852fcc42e88ba4fe176a3deb3b917a353c3d999894ed0b68eed2317deb67fa7820a6ade2dc36e54089e76dd0ab0ec32f8ef38df957707a40914c7d2aa862771de923f1954d2f38638eeb6ff396b16bcfb25ddc0b6484cf74188ba084b0b1e9fff833db8ad7082eb7741dbbdeea9982c37cd6251a9ca4982f06a53a0846b00ac9be700d7c01d667cfbcd4d19abb142b5df24b871d3d7c08516a5fc1e1f00c1f08e6c3a20d7f67a168d12d98838a767dae3730d0bad552b3666ca0191637fcc5a01da9cb7f6af50baf41eb4783f98fb844c65b62bce381a0728d489c1609e9eadd6751dea8fa78ce77d2dac6c33bd10c1a48f5ab0304bef28222b7ed6a4784881432a4c95aa957420ec7d7ee135c1042f141e5cde84bb8f8e3f1211759d834ab7c199430e9d2b37331b3d0a2cd2d842e519afe19405fa7482afeb897dddeafaaf03d173c204f1d8df6763f9a6be614da494242f96af6d782eb02548700dc68ce7d2081607b53d55833daef7e1dbc77267c9348e3725c5066cbb8a417a56e05b5e40776fc387d3f03fcef775cb857d65b898e33b6d6ee5a2cee36459323ec4dae426620edcb06f325760949d94d3dbef66f41f3b89be2214e384163d94640e982fd4072397eb5f1fa3bf999b5df329e91eb0791eaa3b6e49e26a261f954be3029f2e23599f62c82b8e20f57a09c53bb9126896c60d8fa422ae4acd14692367a72067f508eb00428a53bc2946a6d42ebe9ad2782adc0769eecb76bd83f8b73a162133d59779be367b0a197c18a33bf2ec59304faf95c6cdb0fa7d07371bff0b79272e90d3d0dbc5ac17f56a61e19c879908fe6d5a8aa2514fa6a596cdabf2795990ddbebcafa4602838bb26278763ba949614121aa0570dbfb31a42d54faae004765ebc5f2b4754ac2828654be2feb8d7689bddae8cd023605acfdffefa73f2f6279134c2f649309c4e0bfc8dce1a810f8b253f5b461f05e2f6bee46d8fdec2912ff5e36648533903baf824ecdddd038eb9193b50183b9c78ea47e9cc182a5db26ede33968c41acc8c85792d768ca2681955a07e208094a8bf9c43f137db7dbef93df19ec506e9b570b65d63b3f75636c499c635b09d69f57ec9da413ef8ebf85fba93aad2bf93aaaecb96e2f45b87c13fe6a82cc227b58656793c9040a67c9144230430ffbae762c967cda32ba912df66d7e5a488256c485bbd9023267d78c5d01cb731c805172250a07e127fbee4a48e4b28371218e17b87bf01e639c14232d63b0eadc0938314ef549f375b6aa8f6d35bee44d45e2d9a7cd44ac1529025115f783913a38c084bdd5447844ed3f42ad977e0bab2c0bb595511b43fdf1e3ec89f2cfcffa9a0d33c5913717b1ae0652b1c2e603e4dfb115cab9ce2590e7c29eb4de7775a219407980992b7047ff3ff1fe577a474884fc79eb1eca421c7f7ba530af9b7ed665b87e0ed81839ef8daa1baf11f0f61651f68b610f8ae760fb1ce3abf227bfdc61175ad9d8f46b5f956fe72612c4519fbdadd8314f496a1b7926cec614abcbc2e1ad55f378ee994834ac367c8636285b03d03d73c78ce7b18051a96bd2198a0b0f005968d9893f05f4b9c6b94cc8fda697c7eefe8d68564b1b0281d562ac22f995593f25327cffc71c01d72500f333cd9e35b2d39009b1405f3902734cbc59eb1a55e0d7935e5835fa76ec74820ce4bfd2caedc6c6432bd73988089cb07dd8485c8d7f37743cefebe8879949278098eabcec824f93a535e424f9ecb62a35dba61935bce3492564a651279c82f2d8cfac03a5f4da4b4fc0691163baf2dc44dc8e05f3f242d0098522c8b2415bd28701eacb045e4219d913668cb658f02a66d2d70ec759935bd26ba7f449193570e14bc6b1eed9a112669375e0ae051dfdaf352ac40604deea4bcb6524ea24b879931706b1504affd891ade5a8b9a399b6e77bee8f91ecce5628afe08e0cf7a74ecaab80cdddc16e4759602cbdd15b360ca6a62fea7e3103ac0a488756fdab2daf9924270a8cd1374b30bab641e38e446276b1a812fd4b06007fed94e315fa11d2a021b6dedc4340ae6d54089548963c1486dbcde937a510b2f7bb093da97eb1091ce1b08f1f51d95f05f0936df7af6263e5444771d9db456d8e2d2d4fe153984decc332789886792931a0e884610bbdd7ad6a7335806ce29ecd6d2506f8dba49887e266b605d9b064a65d18c4af0008d8fdba0db294c6b55e4e4cc8aca74db3adbb509aab81c926c847b49680f285970fe3eb83d8e49d8b4390ab89231eb0efb97539cf16a8aa6b98b98b849fc0763aae4f6a2df1f038547c5a83df5cf7d6de3a228434731c1b29ce216f0cc2838616714fb9c91f24deb76d57a533c9583dc1114d3becd828b828c0f8a6e7077c1f6f3f1630458bc85e39c7c6ba460533a0383d76af88609e3d763d93c5ff64edf404e8c780ab4d1bca1756f3b08e4cb7f568f8f940f2fda3ec5e799c3db47de9ca27fa3916df93e3155270133b14e4b3fcf267676bdeb807d925ffcf60dd2fc68d591c84869d76913c3f5766c0b1884407df7e3bd9646f3a55a912c0e93d8d1f29755847d7758bca4349af9354da6a71bfc8b072221c92cdfb3841a353d45c595c9287bea7c223faad4921637af99cfbd447b90943d5f998cc140ab1872b4d1fda4c6c60427e319dde28a02f544567783c6ccfb175af183bb04a858496e04521df4c1abab3e227614d96bae29c29bab3816180a8f37ebf9c7e36306bf1ac14df911c7853175b2314023c9ecb37287b9315ccf86c85f759d08e0c6bf66a91a9cbe1fe69ad1b88c1d1754137ae866fbda556ce8530bf4dac2a8691b08b1ba2f9cc7e6e0553f0e1425b8909aed1efa8caf0152c1bc51525922ed4cccdb04f0cb86a0b21102ba9d2432179cbf682bee4113ce3a7abd5fc1ed98f5a7c93787efee17606c497664fcbfeb12858dbf64b979a9e140bc0210dcbafee389d73d772f55da8d3c844a9c2be8f28c9e346e00c15ec6bf817cd2253e37876e62631b6d0001b3bf62972f1d5a4b858e8e5b699938e9a05c3d2e23088f9f0abd5a1a916978192fc4c5e88b05b13af28b4b5f7a446ab8123886eec50eaa05d75253ea2e0264e628bee1fa7dd55b45b624e90c4d3753fccef8fff06131a050bd3cd118eb6d605637ee5675ce5d5dda5270ca3fc33e5c67ed4886acaaee723bd0242f31fa68a77c0ab01b3906dc8fdfd3f514c2198da1056774a2dcbb0d61183b9a5fdd5cafdcea24e9a637a59fb340c928d34eb3be028025c96e24fac1764752b8f660f4cbd0b401f21cbe49cd9264aa4d1efc029f7ce804f8afdd690da923d05c84baa97854917780be6f4aa1a9b09cfcf99586a692ba31d8815fe9f9bd25dde1d313994e065505f6f307d66be899a11ac8f2a3fb31b8774c9db580abe972acc45543ab0b56079d6977b455bd14260e993367650d9ea79a30a02dfa8b14a8c9bbb82b3bedbd2e985b88118e3329a9bd06a2b238b2e87fe422d4ea27cc8e5ef02f22774ddf604a52deee23c4aa9435551d365a5c6b21ebeb8e25bf00b1416ef7078ed705c8f15e4d07990f477f3713f51a372fba1205f3d490dc7f9599b6e844f47212c57122a27638c435b5d44e2a31535071ca7b0ce9d85b0be547ca3762d8a00ba24d068f145c0f92a661d6693374dbe2de1f028df21f2c96104b2a07748617ee50e7a4384e61d5b6d8debcb6c1bb7af76179b62209fc938d7823d2544da48628c9066b3803a870b7b4265e32eba097f2b4508e764e39163a6569e752ffc6a6e5ba3486e761f64874a97fcc1306590da61681a547545edd594bcfbf70f930c69e0d9c47eae9598766e8f4d02f7099bc3cd15bb7e0dc192fdbc214e5f167a941f7f40a3a34ee00f2feb7d0124e6314c6235595f288dbbd4eb54ffb80c940ec982ae208e86eef79896b9e816c9308964c3f63802b25d1aad3890d5c0ccb03badc34886ba5e30abe767bc8bd61b6b94f54f05a3b93201c242f8b4ab384a822a4ff8ba4720c4569b0bf577585b797ad9f8682e79de935cb3c36cf3aa94b29bef0dbd03a1e16b185134c914214fb40b0513cdae0d82e3c6ddca3264119f964be020ed528ff9b24ddf7f3cd82f34f36a011b82851bf6d3a8468b76fa3964f545c87af3833bde8c6df5e689c02d88239b50f1400e17f9925980bc189dcb187dc0389a0908a66d222469a932f0f982ed6428bd65422c16a42c44d52e7f8432e5649cdc3e315da6fc8ac2775e124695bcf114c22134a9538a1b9a026e0fe22ad5425e6655ad5aae07c3a247b59aacf1ec7160dac458f72acee6d568269a774837975f1df043441c44dfd61e57fa85f6e8b566068f66f2bf0c15e41a7a65f670d83929d1ad03a52bfdd8faca077d4e992418af9b311e7cd91d2b20e75c8286f221b2ea16fd19641acee6679bfe3a746747198410af3b0dbe62e00e1e37f189348644923c519f45e7c2e0860d081dd23a96c2dff27069f2aa88f967ead88c0d1a257aeb0b62d5e7427d78d488d491997a9b280b751dec7e22ba36ec692610f7d0713990ac8396541f74f2e1c8e6bbed3216a89f8bb8efc894e6e8f77da1aeece56433eac631aff1e923c9740db09a288d93d626c5f826a67143e5fba95c622087709faf674c4f0c0561d1753c26f58a2e52c436cad83d4d9ee7dcf48ef843ac67e8b159a8b1a6ae700b7569af62083e93be01abe32c39091f25c17f29c00fa978be174c854610dbfbf8fa5259fa80ad1139fee25d34180c100ec8b2d98eef26197d712c58a6e68ae693054cda676859f427c78e8c0a9aa80ebf35fc071e257866947d9cfada929dc2eacb7e7d8e023a5e0d758cef250044d51ca53a8c17399e706ef3460784ca0155a516dfe50fa50e3501a754ab38b81f5a02be8a7e9659e6db249ad800c359f39f98b39e886c57059cfd08ed0935399654d48b36edd656a95110f348375d337a03ba64a8b7d2e7fa3539a98746071461d20de050308ecb8b230e740e000fae969b2bf156d7fc6984e1b6793fccf6664b479b22dc59b8a7efbe6cd0000e355264b79e537fa5b6e9b98d04576ed66267cb4c69f2f50b3c1129a77c2912391f7b697fe23ce7613d26059117d69b1c7f5e7fbffe771a7f13664e7ecfa85c915648c20eb1a86e1425fcb821c164fe5c4149b0822b5c1455223ddf62c598fdb359f521eb2e4cfb02f40ba574c411998b3b6b83c796eeda636c75c90fdc2f7428cb499cc790b3a489977531a7a359345b8415796feb9be4adbf86347105958c3c776906535e2bc0c5aada45a1c0de559c10d2f133dbc027195c62987191ded0fc6727d25427715d73d0e9dacb1abd36132cf90aa4283e0e5c11e352c74ea9eb92a69d657402b300a7cc472a6679c56890c081b3943c4890df0a5454f175efcfc035083575622b4916c418cd21bb2c8e4e4e953bf6eaa7d536316bca059ccf724597887462d86eed6afa2b179fc1a60f030deb496e6eba015a309857f747af2bb41994f86292c3d5f37b449322f8dd5f61f52a5b097e6c447c69ada3f97ed9cd98b5d091e68c83f94fbe4b099571b13229219492627b93d4e7e5f6859d141fbd5c2cdeb3195dba1b7906f59c0e1bd6ae51debe1919f9276356e02ff36cc4b90e3e5c868380d598fa0bc8fe1f30de40b94cb7e3c53d05513f1ca3a03e64205c3636ef406c32fd4da86b8b6b9de05978ee03effb34250df2d3ee3e6a4e1c8c51d11b51d628ab05a13f4e7f024e66e7b07c9f43085effcecfaf7cd92629daccd78e36d7e68e6dd8ea6fedcd95d18d6cf7c9011c08b31ed73307218e52852bdb1f692792e4cfc2c8f0b97bec65916a24320b62b3fb81763a5249a3eb0a9595ea3f9fdfa83597e55c255ed706a35cb382bbd30627dc23af57a15463a83b38ccb0205b1ecbf6f1516659ab2115d39f270cdc85ae6da8d218afcbe9ad7113b843fab6126816afa7661fd011d3be056ffb47d29209e69d429a913a9b8d20e2764bd13472f871e0363d0a429e17be3de5f047330104fb82b1e39b7bdb32079b8d4b0882821196123bec80e495a2f0da474079c1fdddf3be66e501eaeed8329330b8121a4c432f2fbeccb04c5ba55e39582b5340670362f934c5af14ac0e1bffd797de1e2fea9734672eeeeb419dbcc4907200c2980145cb447b9fbe0ea44a3c37189e740f1ae086ec7653e82272e07f843b020586886f13a26c0045149e5bc354166176561b64a9e376abce8d3d60675b61c15b44b356f479b70d472d8d1e42802e6f42af01c78af30d81db5abe149ceda2dafeffb8aeefaf3c0123dda7e03ac1cea00e0304e190544099c05983ca65a92dd7d3cd5eb3c9a8bcd87cbeb7afe0f041d2a8df0b9cf494d29c62ae94df7ba2b1c73bc66e36cce613a07f3b1dfb19e365134872bcd198fa82f217d5db38e18cc8e88f9cf31cceb38b9ccef554c4fc8a94f1a1bf00637acfaac7b4a3d238b0da28fdd4493e2990b64bff9a3494d59c9025f2ed9f7a463190d96743f07c0cc30da33e61588f3861f36b61828c8655bf79da6b768324e9257ac9a913cb3d684f2c44f9c99647c9fad39838d0428b96c15c2a41164d868d63159c2acf67ac7d157e505f3f9afd66653e267e09a9bfcd1cfab7bd7d05e613056ae74f5e21889e239332241677aba36c0072384d99a685a800a71c9eb38a307fa8d2b3697afb682b6f473d303fa3f2a2d0dc768d6359b36538615d88de9892001f56d2c94fa8beeb3ea703ff2bf01fd67b3537a4601471143aff9533a39b2966f78c4806aef00c897b5cee7362c3545f700d9694e5e11c1e23287dbd7320366d2e386d3d5017bb284528e316d354d2e7614ffbfee3ac95c2cbafe05fe82d9eff4d5d4d23b09eda08e0a83cae8801e26c0e893dd5a6995f9a3c07e6d069985131d48b049e797811bf454108e90551e998a6796895bacd6e7a5c8505a60a197e58d4fdc8fd7a243ad295946d6f3fe5bd0d2767fb67028599ffa77287be526187a393b546a3eda362127358531096f5140a3ea09fca241c7e8675eb5e3bb889e299d4de54a35084ed1437979e1074aaa66bcca926406d3de7e6a127d41a8ed92cfcde7c694c38ac19fef7827d3c4b30099deaae4429323f6d3be369be36f55282639ef8dbaa41e310f0f4a4bb47eaf00446197ff29678dc7cd79f7b1dc16822f9300ac4abefe9f3aef9ed1b6550bd6e97002cd41575f171db9c391778c1fa99935907ced0955232dcc5139defa785b8d994afb73c8da3098db3beca6a8b2b55b74d3d81c51e552e52e0a5fd256b9130a599c8dcf8d7465bfaf35b7ad341130f9a17b617596e33d8053174c6d235d4f7981e256c4285ba201873ebf963f699bb88446be955843ce07ab1ae45143613c2cbd7a96588bbd7832aef363f550db52be976750bdf68efbea21bea185bf86d14c56a914addb0cc5911f2221c472c9fd495740dfe40a797952b1aeab7b8d2e1850756b02446a7f6d50bd38bca4857e4884dea66333145c998b788f838075e118d75bc8783a39f45ec2157e9f4401daf6cfc05c7520b94382d445aaaf1adeb82235c0dfebeff5972672469c9612eb5a8a2d77ffa9e726d2da9c0d18ad6deb4e00b734ebf12ddaf078eeaa1ffc3fa8c213037734a63c0784fb3706d0b28fc4195de09efc494c8ae0ae2c412c6289e563dba43213e1c54b1a0278db9d95a40177eb470ae89b7b2d1d67d2592cd331d2afd23b5dabe49a9dda3f82c700ae06be237379ff065fef169140f7b8f5c3cce72abf68f5f4c26105de792989c32fb2ffe5b005ad40be21d1cf7d45d5e64935b616b375cdc3b026ef1017781c45f101872da136525eb53cf2fd757ad29655d596ee223d2cc91b5323b8edd85d02a101a904d487d0aa7499f37824b962e90bd7f49f35e88ce3b55c2bc9cd61ed6025ac8c0101130cb5f4ea151cae78e3c84a1476ac9706a2fdea507b5dbaf413644369645e3bed0243a96e3f6359a9533ed7caabf115612fef80341ac6ce791e6471d6c34d75ab3bc1ed9dbcdd7d590a7626b943c2e93deec529dcd5bea70953b424b4636c85fbdd091382347396203e00ba9764c5c8f5183d3e44d7529e114c5b0fc1a115781f1ba7f98334567ac92c115e46fecdbcad2cd6325f6c280d6e3c72ed88a2199a21d821e8d2f62cb74bde1d4500a97cafb015f3cc6d1186ebfba30723c7177c90a9b78a731eeacfd0d7ca4d836d476c98e7e5378359eb3e2cf266bc5d20a91f426131bb0a2aac970da7f9ae525e3fd6a08cc81254e082582755f46da8e59541026fd74848ee8c6e842e0721f4d31f60f71660b7d3d68923f57a793c7fba9a201e939b69118904eea0a51083aab7491d2b57091320aed74b50693b1afe85f632ca44019299c5341e082afe04f030e6b6a0f6c19ef97ca1d4a8debcc6d80558424a0d3f566067262543cf2b647422dacb7ea0cbeaa2fc1247923e1f470732119ace2e0015ce69cc02622f2d71decfba6e7b9df691bb55603b335141ccb3d18e7deb5816a09692e8cd31f2390f2884a25d3ae448f436d017b6cec374a6e7d79763484c88edec0b0133950fa4dd2b141a7f6d39962233d525a58c6c4e238547ae442d2b02a35a5d860140e080d5546f9b5108bf0c30f590ff921650fbb3966d34352f37c9a03575aea4b34d48850c0ab64d9379dac7e1fe67c9d90291263393e43be570f5bdbc1b6b2c70fc7ee6e8768af2f08413ccc3aa083846ffbd74fadcc9924215800f9814ea37b8d47dbe2c4a2c28e673483fbd05be9cb765ab1e9673fedc9bd4ac04ce4e6f081571f0deeaf1d1b2619e260c619fc9d4711fa621ce26622337ce508826819192ee9bf1147a6d850685e8eef0e09c1192b68ac56338dd8358ceac404100c2cbba4f952c66ccdc5ee5c423576fbdb5576da37ea34550cfba311ff7672276f118278d7a4516cac7e88ed6ff5b005d4fc5362e9ac2f9903d255c69f2bd8a347f8027f7606d2f9d4975f79f28ae1128ca906722582f4a90c3fa70dbe4c969dd2ca1b6b72b15ae0abcbbb3ddd9e77481faf0e8170d7a9e986aa5367fb62b0f450e6a349027b6cd4a32abb1eb91ba6e385d829782a5f741057b558ad40c7a4bb210187d0c6f9297cff4dc57b6dea7663fadb5a9bb505187551bb186c5090a10a4709d64368a0ff146006aebf2832205203c2c87cacc18d01e4d1b1334a7e28d1b4df47130d50a9ec4c1c3fc3ea5416df1c8e99327893002a785dab15c3292c9ec92e7ac5adc58480fb087e98d3f5c3b13e13472b224e8eb0327812dbe41ef26bab9d7d00171826314bc1ee8c6fce92d7ed0e4962f4d72b05b5e0f6211dcfd0b1293acbceb1e02b3ec0ebd004ca91e6b0773db3feeebfd150b0c9f0d242821a6646d8aabae717ca1e71c2c104016c7e876be20764dc23017bd45822da4893465d561152ad3b07321799cd5e6526279fde70e0aacfdf344f7302edccbb0b4e6af23a6bc2c6c34d1bae095d0ea062c2ea4b5c42dc19a0ad0a61de335ad6015a6b3bf9b8bcbb3d2c401a9136e5d4305957ce7ba02530548973169d6373cd65e8c54bc5d3e0052a08339af10e885d3641cfa5934be5286e460bd2aed5fc5be2e3539b3838a75e345f15d7a16352734be4bb66e6fd74236086b63e6331afb9d246cd13c84c6fd093fd2f76b84ed667660ffbea6a8133b8912cb1c64140283dc32649f430d024d36f978dff09856b9a1c10aefaad1c0337282081796cd5e2e9d6b7ad81314d7713d995eb0486d1cf48ca0ff0c9a362a6d1a068c428434da5c6493b96a32de393b441f4e1a7af8ae0c68dd410663e2e7549b2446065d82932ee15e12d769fe381d5ff2e68ae5f96097c1dab239e6a5e060ffa726070323f33bb3b18ba017cc943e1c0b5412c28700ea29e9caf8638b9205303d81d5569a4a15575ea008812089913defdd8f96f97a7b6301e78c7282f32398b5db05c4f84699754a05ef18cb967f8eb4698a0cd8618e220a7a21572abe06d9ddf6d2f8fdfcf1fce2173c5c456014b2d77fdadcb13513767301fa0458826be315efadaa8a5891a02ba976b1a43b4286c82eb6a9e6abf90a4c639ccd0dcbb4b7cdc2571cb1bb3794c4bad347692f7b6c8fd456102d7c419b5e184452495ead5683f101601d358eb7ea8d0f5e29fdcc190fab62071673fbf2f0d22691b7e910e4ce5b8be5521a56a630742d48d10a7388aeeea7ade68ff26e02f74a71ce5e5a779a8cf1a93632277b90c9b96289a57a81d1c8ea9246224f9957a21f59c3aa59c6153f51a3d21fae154501e64a66e6eef22746053673cea89a759a6bc30a33fd8515d7ae2b01ed0ee5a457e7af9ce13cbd4789402d6a0fd8c37ba8edfb7390b0a152babb6836a61de42dda2d2396e32b8810aae2e2d2cf30a4a0f978b0d350e3d0e8a5be1494d2255775d0bd44f76ccca35cca1d53efb36f27a790ba8dd77b7a6ba379f74f7fcc51ee1b5811c57b076dc5c2003e5afe161a540402aa5c407132fa17f1376aac0d8b4ccf642f9b89d6c31f6424568b795536c4faed41a413c76859d443e374bde724325ec11555f1dce9bd6f8b47617f72b78ceec4b32f97ed670253a4637ee8020fd34ad3468aefcef84aaa7a01d0c36e8fb48fe533802160e84e65172b5063ca4d2cf9d51523c0d066e660b0824b07ec19f8a54c4b2f92100f397e469d5dbb91efcc979b5d46cb83350094fe49ba9d2fa9d7db39aef3019ee5ec0e09063deda6bb217669118cd2f6fd0dca0119b10eb81947c185f1ba0b2df0ebbecef1ef79ebcf2d34a1573bb80fed8ac14f78cde360ff5590a06827ba872f567f8caf8e7c7367bef6d46052b38df2347a75bf253fc5be5b0f40a4668dcc4f8d5ab421cfdf4be441882d4aee62f894f749622bca4fbb6d81b2221870663871e8ebaca354d10264cff0d46c21d2818f05894544bdb00743f0718f5f7f4349c244f02016d47ed5334da7e86c7d044ae2472fe2ced21ef8b461ad47e87f7082838c084d714da41c1304c6070e4a2ca7b4f54b3f4766fce46bd6e2a9bf7475f9c6d01e2767c319419cfb0019771d2c6f4b49746b4e8ebee46acdfb448c54e004e3e58e5964a98a795c653fe94d448d861485e34c2a8fe623c37c29ccad95a9e1dde06328ba2a8ad18ac5fef2767b58c41c0cdf655dfc3552c748fa0aa46bff1b0e33b6ae5f6f81aec33fe6f858db77107e054a1a4a80be34b632bc5ec57123175aa0b1b315ce0ff9f1aba1c3b2598fe334cd54d34cb2c5771d73c39eea8ed4cb8f220c8d0325ea95b7cb5577684629bc62b46d0d2e2119ae8b928a5b48f642dd6aad65b622d0719d42d4cf663951ea48b174320d41caf9f29b62a3387bec8e68d49d7f48b67160a4fa0d9d55e2e0e6b311603e870cd3e263faffac1fcf1a562116d3689e9743418f8d617c065716834e9268317864db2767a9a129a10316b3533b35bc58f2b5140924975dc3e103d37de75f61699ccf317c9680e4386ae48d42496f6b78c7e3d2a1ede87454cc60ed440feea379a19fb694d22222ad0e8976cbc2d774aafcde9a1bf14bfe90e8847f752264db0017c10465d966d42d5cd183feda74b343b3f23fdae92ddb4a1a07a7c794fd64d917a1e8038013630989b3c2b535c3dba0aab645b9501774c5a5291f7a8d8201ed69611fdf3a67bbd3f741ea8decfc9f1b8fb0c14a600e875e6a7a491abf79807e9454d00fdf79ec612b23a692757bd54c3751b409332558d739d5b6aed6fde720a7ef4aec52ab9f3d092b9c2a22a0888d881dfd1535e270cb879b7b40558f7fc160a5272e4d484ec3b8c139e0e144a5ba98f6952e4a6dc39fa94550825db2bdc4fb05a9b6ae927e9e0b381e7b0dc0395df077425f1abbca0eb8004985ca7465f964ea24c5d7d7d1338288d1945e00ed6ed256aef2b3d50f1295819cb8ea59b539880cbebd5519b58c2598bf7fadd9a1be8f5f7d369238f51a6fb4c5fe62a864fa3cf25b4d8021c4db47e300ea9562474e19ca86ae00603aa020d5be158943fde88b29c1ef2608bbfee9624355206e0c478f1874ed541440afa99959e13f87620c2c1f1da70d613f8c24015efad3b90e12138e3d5c79d0dd1c658c6b8db58c6ae393ea7375129d33003f05d4f88bf3fb05f278b2f8ec664751a009e78ce4043c71d6139ee10d4d68efcd436df57cafb9a4f1c5d3d735fdc0c7d5f0e841caeab969e101621c22f9a7bc1dc5c4b1703ded47e1e58ca16dd8f9954c89b083c441f4e29d30c7ffcd387bb92fe843bdca1bbd2cbd763bbb847d80abc4d4b557e15abceae24610e73d9e69437f0bdef3f7cb05d4b3181a9ba98dcb3141da2858563215c274a4febe79f7b5e2503ba2d701298f60b3cd812638e0cc5872fb0c00e5564180d58a58f7f2d3d6406c9b5780331def6733fdc6487c1fa12169b7b7de7878a13babacff955bb192313eda3ea452747255a9bcb17b3b7eedd46838a8105a4b03e2315df72ea178f8fe4bcfe7595061abc01c541ba79443d1e36126ac9cc5f57d2788f216cbf4f23195c6bb0fe601a87b99f200cafbe4e22d9c3eb8952e1082c392ff7b98a6a2aaf5e3d771665ccf1a7873c062457fde88ec767faaef895d63ac812606862a2fcd8800f4af9620d5c3db3691941c43e7b354bef2f04a7f3934478b705a2c497dd7e36b4530837fd526bf332092a031c38014845d9773fd82f5618df712e46b7c2d77910b6476a781d8f21a7759538f88f26e3bf01eb44c0b68e5088032979b34f142a702d2db80be81d0e3d7afd48672771017e2abd9f5a344f88376954e9bf887a264a9cc5259d653a24e34950fa46bd867caeabbba2a1917196874a969959d952b276b6060aca88f352e5b88409b82b2518922dd30c923ac36ae3399eac6ef169b24701f0b778d6ee2b5b35130bb0821df6d8d51e85085473373af80004b22e92c2aacb8713783c23299292e65782136a7e6d4d17daff45327749beabbdec777020c96bde9c17b2ea313caef8af3b38750ef494a12080654dc47e1af494b371483ef010ec865c5bc4954b480d7b18d59d3ec6de29dce1eef1e62a196bc8bf354c134c4bc17dd9181859429e8837d449aef94cd6c8ab5711378393f984038dc26359675a8aabcc243d756b0613a3c97c32d2834d3d97c8e4f9106137a43deca3d22131cdc69c61d81ffd9f0e6012e3c2c836cf4fde3e2f85ceb58cd44bb8c5be866d79278fae1d23ad69e26ef4ce4ba73a5d7d802f4586d302913874ada180d793a91590180d26d25fdb3db45cc8e5d1588484be9c4fb6f5906cccac8aca6be66b44302cae9017f94d2676cc0b470f09b071b5a6292eae98a3ec5041ca10be4f2f23c43497c9a5e3358924374e2bdfd2cc3fd681bdd5124949cfbcf2234afa0a6612f7e5038b59a92545f39891e6cfe7ef2664a44a230aec7309da43e9aa865b046853534cd3703b109d66c34265669409c1d84dda3fd9ead93824f58d00e8c3ec782f3c5e757377af30065f8ee20ab1635897b08524f4529031bb0395fd55dde6694dd16accce37306680d140ee064ac9eae5d562d6f6f0dbedce481f5aeacfa1ed0d2f6bdabd995787e543796f48d2c2adb73135e6eefe03e7c3fadd79c8b18c88f7f84794a350e871c2441c380d5f8c438401767718473532011d4bd2e6b8f04e05d067c6f997b339431798e5795477a311b975c30ba9455b5b6a398e9208434c7a92fa1102ebf25ddc747c5438d3cda3865a1f36dca98e2a1f304ee46a1ad3235222857f892b9fa1d7cb760699fd3642369ee7ef82ba7a2259d1eca375d85e365adc79334307d22c7f9a364e81c0d5c06c7ad4da3d075e0f6795dd8440e304872cb91543d4e3073559313db24194775dae829a35e65d94aede43901da43b52f8a50b0ef26a5148995b12c02eae0163f1e9390a90baaf5adc98734999e5864679a7a4346183ed6ad84cf6cc30ec58c5ed2a884c061b2adf188e308af2306bcc1c023e61bd0b86075ed4782806e4a553349d7eb0cabc1b13075ff955587888b9e0b238c8cc9bb7ce11c25e0e0a9cd338674d14de20b0889465a7b52d65678b1ab7687a98c3cf9ac1c97811f6239c4aef1ef2c9b221854b5ede1bdcf5e09188993d3058af6ba24f8fc00edddaf55ada60dfdda17e34da8b355d2d5351523d0ee6ff23c46b5499ef26c1bdac28180ae5862bf9d7f9225439a1146cc78c33835e7e1075e9239e5d5d3ba665545342eaba237ddfbe451cd00995409bfae01f78fb7092f0ef11940900ecb0e765008b7dad10f73d1cc12a8564df239319057c149e01a60dd9f6c16004d8d2678bc5783816b1fc5322250111e04e6f8ac0e18dd874d9e7842afcf76116f60e0d082a4ab4bdeb46a4864fb307f43f60a9a26b19f30a7528195f7167b62b1745df7494ef8c2c5e615aee6fee6c602a257720c50d531de0163c4d581270129b0558cef3a1c558b47da022392cc06d3564d1dcbc86bcb2d5bd725f4eb8e3a7ef16318488814e23008eaad17fa38c281e558ac7aeb64cd4d4d8e443400d9c3dcd1b27196485a71fb035af86cfef67e02206f091992746e5921b12bcaaeb2b9ec9d6b0bd35e30dbb426d36d910e417c66b53aa94d4904f811aa1803816e2dc98e0485ea9529e2c972c6c7e4ea9f615090ca4994bf239287b7537db2aa3655ce1302b079aa3af533c9db4cb826adb315c36e7470e560dedc0db02592aaa53bf12c4ff7c99bc20c97fedbafe579c5b5a3130576d0e3d03b13dcfda53f30a6234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4dbee217c061655fa1656928a34118a2b2a31acee0bc22cb2c6f0ffbb422518d69c3a181dbbc68f918364ddcd73cdb1526597d882af9c12d9f29202660746add6dc37bc783815c9d9ee9e15523e8028550d79bd4363ca140d42125c544d9ea61bdf9e67f8f22b87369d82b9c7cb2c6a999bc711e7fe9115fe96fce6235b64cc93607b872fd952cd69b701976aa696cc2a0eb9d366469b392a3a53338856b6b079fb86ba3b9a12f7a0effd520f742648bb508d01d884faa47db0700dc6cf96cbaaae3d57b61af9fd40f3df0c78a0b661104dde2526427fd9d71ff78ad92e887c62c06e485085ff04ce29830c1cd4cdde5d21f3d550d94aa2beb96d6c40d90da1ba13ee3dc8e1e0a4c7fea67d985a8262f1e322854125916f73ef1bf5402806e2789aa518a213f7a3e53675eebba9cf4a131edced41f4aa7a0f1051718591a055b1b1d14d91d03a2c6f316e3644730baabf774037abd6a9d83ea4dca5cf872ff998471010eab8fc56b4b50dad23dfd01a140d2ed0beb77e29a1eaaa5f98dbfa6934f2d637b579f40f350c92d84b23b10b63db57a08f19aa318de6f9cc159821ac1b9d5658a0ad053e9ad72cfb6241078e5ab966b3534bf8d08be4caccd662aa842e4bf313a8cf2b4d9f7aacb7e3dee0f66f9fae50ecbf0db1c6b6992a64a21f206211ec69e4d1aeb2d54d4e66a6d8e005dc5524e1e21089fd734fb01249a06816f2464042c3d68ec3fd33f4018a691bb4d5325d20db45229651ec9eff492d64e2c33da26053cbbad7ccbaddf38c41e675ea2e20db07dc5c76bc79064efc641eb820d296d9d057209a7ccaf588cc06913932a2308bb34906f1a72034bb561890f28f4ae019478501bdd878bb5fad0fdb6872d5493389eca6ad23111799199483b17f8b6ee40cf380634ce1d3c867dbf52170620f36fcd7864004339e2ca9520a358548cfed47a7e40c5dcd8d1c0469667e4a7c4c14f4b02af12598144fdebf0e2c6ce9a4230ea28ec145d2b71321bc1620e56d8d18a16af40efce2cd4864fbd23f31874331020f6044da41231a1a561e87702ead4fce1392165654cce13167838f61b752c6ec019752864878a3c40a7cd2d7d5905cb31c8f4738da1340743f45dde09f1116c2a2e531a723dc39038f0e4e1954ff59cfc142490d4b163f8dfe8e8097a45205c38c20e1fb3aef19d308ff9c7f16af8e0fb968b762a62d5b8e23494a3982e8e8e404a936a84192306012851ae060ab18d7131b7f9388624918fc380be753ccda4c3569601d4a541631a7e12f689ec8bfbf68e1255cb137e302ead35693eb96332ba91cae4f316046e71657c911453a0b5737ad22f2029602347c047a07903c9236a6b48f1ed51d1f414e3f38cf7e07d4496a6374447a05fb4cb378ae4749025c82bdb080bb37624633365177c83d517a5a57620a81c815342577dd27a9ca8dffd4a7b70317f1e6410b3a17088d962ec895c91258c794742f7488c4c7fa1210757b9d3525898b0b4408d908ff5255c43e293b964eeaf74d05e2e45675d4935efcad5368d97c4765c2611fdd4968d62fecf5b3e558c1f6998de4f5949f42dabb590fe1c0de040ed4c1c9978cdeec077d7f3fa82996099c971678d775e09b68e1d4a9b0ad9fade9ff44ffb37f5fda0c11db4c8f7cb61266cedbbd5f2c2b5e50eb7ba0ae3a70d3cb935f4144140933c2fb8a394b8140b2b4af2a7c3a81e596d4bbe710318dafa06f34dbf32950df20d2a0b305909fdabaef7a8e47eef5050ac230691eb6cffb52fd6ccdc7856a7976ff6488bfe5a6a7275bc38058732622c461b7de2fa68b581a805d049af5249c0ff7597a4099b31597678dc0a03c12c91223f4ef08956028094ee4c28fa9a638cc9611f971b5c744dfc07c6c62d399cdea565b8a41f96bb3465a3ba757bd6d93e7561754093200890ba3280a081147f3c970cbde879cbb70ff837061d9b32833323cef3020f0e6c27410336a0775dc432a3c66d6d1b557c30cf4f79200eba1b78c4d5825e27a8bf73255873461c3053770db62a6d7e3ae0395d9d87e4d098ad9d517ee3eff4a9bf815faf291a1e4e3b293d1c7d5a7c9d7f09c874f10309c3c05b4a482700ab44cbbaee17e4eaca102552f90905e56f6f1da652ed0a64fad3df4bdc3b701e509915804e87fdf81c4c327c5c23e75b96b28b4c03f490f69d274da3ea713e0d32aa9cd651ff869b33457637309f1d80abbc791aff09b2a8f02ef397d0feda63767324c2805799dbb6f4436f615100e620e38183ff90fea243a2564c9bfc7fd20b413d8aaf9f50ecb726ef755231eba0af6eb1e857e89bbf5db09d7a417160f6bc0738cdc20efbcbd564e4915d699febbd2ef346997871506b23037cc49c597c83cf1e807ce7df7a35a05a480e7c916dd0e108002511040677baf715a01da024a9633be73b7f93d180c3b2a357816683579fa4b6bbd56238ac00d9545876e5f6e909440565889b19967e6f475221b5a46775511ae2c26423cd2857373e76a97f0a1203c0db742682b793add39455e32ba28cab89d7bc8cd1acf10cd3386d5b40eff6e1824f05024d1559033013e65656582dd6fc38bdce8c828d38a55da2d40aac04237c5075322f39a6aeaeb101dc53aa62fd80d978a9e2d292120a5b7089f166d35fc7aa4286ea94c65820902c77ee7ffa57c9c35485c6d2181c0d3598df37f3caa41e2bd650db171fdafcae3266116f93c8b87b90fd60292ffe23461fe7f6ded813468d302378f5941c809b710851c2db7b770b880e42da31ddc6092810c2e7cadad03540f3b05e0f22d756cb7af4c152d5f172b5bc2c544bacad778fc6fe1e6b8e6832999cdc453fe67d7de26b3297ab2984110eadcf5f650d5ef1d5dea18921d01db97da150b82a48aeeb60e1580327c862909aeadb82a367a0cd3122a2fd322bbd74eb2a8be0167d1418e2fdfeaac2a35067e98682a308e7cbc6636a76d1e00aad98a119a58e54bbda079045c016b00e1fc1655bea522dbbde5a3e4eb4a1a5c6699f7ec0643d281e3fbda82bd4974cdea4d808d2619b9ec36aa3b343a747358b3725d971cf9a3c43d029976cf817c11d2947ced552e04ee456b8c84013cd317aaf4eda053b37b3f973bfaa81b2fe88d8142a13e36cd6cacd14effc78577c13bdd7a57a7fcffc335d30b5632c0c594e16d7c263f0a9aba0a4dcc9af798f8340e72dbab0bbbac71436c9bfeb245e39779a41cee9289c24afb0e5abe75f283e3938daff87f39d9463a4bef071dda5730b931e5b9f8e2f5a38a804c503ec22de40e464f8d577d826c62184014d755d0fd4dbcdfde5c732df23adde96c10750b868134e40c1ff5cf820ccc705a655103fff1497c84b99450db54ab3cf285f8c832910629ecb97e8f9ef9dcfb8c835016aad69b466ecdfeb9b7122b78ce4296e4cc93fe728bdd2d2d4ff64859ae0dbbe325116cb4c3db77137d93093ea8fca32f13faafcf76c8329c776561d42c587f5faf04be88735e6f2abd2ae757f53955b32196df146b5f07d27b8d696526f2386230df22d48f4260f07e374620411282521a6a26544a31453436a7226ca80c30e3ee4a2cde4c2bb8289039041599adc8b2fb88f47c30d9e060e45862b7ca15c11ab28385988e12f508f197a26e21cbddead4e9b262072da3bb05aa08036249d0673aa038cf00b53a250f6850d775b5d4c24d559d41ed8f008a528bf18aa24cba39a32b8e2075e0dcb4aa1ea021faa9790202834564cbfea3fd1697463a0795405353b6ed34b0a7c26ed8f8c9c74535c7d51434cb4a27e9a66b0a8582e3ee2d449a239ed86587964f248ca1207554c15a2b5c08ffc678cb03104255179574a700c16303f1e3754e915287cf46ee61eb9d5bd48a60678510e315a30149f0be2943c29c026f4e29fc543128cf1571a8e3834f0c94d0047eb8be5364906436610103931b5a691716c622046350ea938df60e02e67967654406cbb8750e1c21fce5bbf303543d74c7eb2c40364e3c3f03fad3698f6dadd673c25cc6dc07b4a7e5f33a10de34f4a0d88305225f79083e4e935014bf974846f81688e9c1ef78423fc7378585ab338e321605b2a2eb7a479885541d1f159c52243d3ef6ed60c2937cff8da1006663b61c59ff7c80a390a813610eea53c342dba69d9793161460bfa5e6163ba9a12572c2bb14916fc0d7c7bd2a34662ed93a7deaf2e89c7af3ad787e33c5dc02d631a8cfd0ecb0766c3d0aa722b778df3c0d9f47b020f14f983756f4fdf86b60e2bf45ca2021e8c99b60e92087bb05b8b00ad766b8814d26ccb78642f68a4f71fe51a94cbf6a165c7451f70ac852152790c3c1eb2ac5c778f9a643a36fec89519831e89476917d7512d1b615440804a30932ff8e2055484e8951fcadaeb22a4b143b26edaf6495768e90f752d6446d1bf618ba30591dec26220de16462de623980e93bf86aed7f37c42eadd8de18c1223436a4fe40b89e70e734d17e2409d742e260129ddd6eb86626794b04731e0bb4e84aa0ca52c79e5d5c0bdea68b1bb62fb05ff9e47c7683643e4c7553da48b8b41e4081911d308d6e7e4af0f9e5fc8ae0b29964c93ccfc6a8b33934f4a9d758c02b93254893b88eec97cdd3f3ad726af03b3b9051ee6e840f1385f483f7d910ddfb9d449f27284f6a02e22b2e5722805bd8a2b7173c5f72045ad0ce6763972382be126d96b4b0516cbbd1e788c3fede0fe3c1e6e821393661fe862ba3220ff6dee2abd52a4cce900c86696a8527c0b32b7b77bcd4b0e0dd35d661c5f20a4fe8a7c0471c3baab9244bd5335b6da26864364621b9a3b7ad5d830b28d0159898881fea97449cd0770da92f361347f9d812a6fe9302f423c0a18a4a6ca1860f9bc31b0b50a15720a722a9e2e4f41ffb1f4eadaf017b36a61a34970a19dcf6728423f25cbf33cfb12076325444bcc631db39715edf78ae87ce1070ac9f7c719d026117ab3e9edaa3a2ebfa04bf6f2bd1248ed6efb7900c7e692a267d7485cc259c7b3c75865df54b63de1902b2744a59e84ed907bbc2033b0cc237654b76d84ccc228df1ceb633e0b9b5e9fd6991d6bb53b09e5fb7baeb5782be29ec20862f01f4f612cf2e61c2c966a9ae67be21dca09981f7589a8e754f4f34536b06169a185ccc0f5d84379ca457224dacfa433cafa4c971c8a5b42bae9a45552834bff72d9370b30b072eefefbeac1981f129d70070b63b220df14f630a457dcb0a39aa99c295759823a949da2854b2a85b555d3b9c64632cb5f2e642bb34f3f89d94195f7ea30e995237aafa8be2453cd5e5eef0407d5ebdf0536fe99a24ca001cd3bf65d1a8315aef5b8623f0710298f5a6e4b53e5b29d27113bc33eb4a8730cb70911780765dd439fc967eb5c481845d11c9e0822f90940b133e55349b9548337bd47424df87f4ca5203e5f4afd6d29ba5195eb91ba734af2eb536dc83d069e5aba9d2963a067451b4686c1fbc61347fe9a267e165c0b0ce4e1ccf7a0723b307461254005e811f6cf4fb1dc9e0d9fe3c5e1895e5fd09c2cf8c9dd59b3c84a4230dd0f20c7e2c0f3c62bbff5e5b2e5eaac8ea71711e3273ff81f7780bd5a1e994a6e613bb8faf2a4d9ead7842aea400ad1fb853bde939c54f0b0554195357719fe2085e7562fd71a6353c4ac4267101b5d4054bc8f06dfe3d46085b23fabae548fbb4a904e204f39b857cc11f508ff60df937a51e409e4b24f39ee60944284ddcc84706fc36786cab40052d5975fe4dd99f3dc046a4aee437db09a8a965b81c3f4cfb22e1df8ab399fec2bbc19f8fb33224fc841e0702e9ed892c57f285aa6ec4d981c91c226043e5875ff504bbb24c1afdfe6446d53a11d69147a1ad9b996c6e4228c43c9bb505b363f6997b429121b2422c4ed16dde5f3e0a861316d2a520cc4a90d9b9a142565246c07e4c1df81fa4f6c860ad86257eb62c4994f5d49cbedfbbb813dfdd3c824f357b5875301f84763dc18519249a922df976bd89d13c0ddb602436147e64ca36ff7ca66cf7cb30eb9b3b93fcc48ea4d08787193fdd3fc958d4ecf3125aeeab804e89c48ba801b953b6ec9ada5c835fc983ce4dc9690d981920c1fda0aa9841ab1f5d3b755dcff25064c3aa41befdcea3fc661e89e230079ae2057bdd5fb029dc41d98d4d8cb639fe9d04240d7916b8b772c42eb8da06ce9e752f636674704d44a75dcd7f95bb2888de206b6dc2b92278d2e6a30aaa42662ff5fff88b6312f94ae6ec63df67aa61e5c83ffd6b83886db7b21c023d7236ec4201ab3274906a76ec4f8f1b3dd3a82a689c860fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5e9815f4f2114c07ee6d3357b6a7785bb0d50c3e10f0d52f0abe7e70e2aa118018a1223c82fbecec32e047286d55ca2c47d5902a41aff90215e5b4f3637ef17e9d43fd142582e67a107b626dacba76d4b9f61c0c7b47d412e94c257d56b51346e339d9105c4703123df7e1b633b741c6bf20216e0688e42c42da91e60cf00e903094d380b2e201d36e31a038dec34ff4b47e5b21944420e9ab17c5c76fe2219aad992cef6da116f49b1f3debe3f18198e7981163cfdf9f849d1fed10242dec8bad29a33cec4dc2bd98ca3fc484475ae89343b6a452bff08b936030b2c507ae1703ed5bffed0c6d222878253f759a49fb0f11d8fda33e62a9dd53633edce4416ce011c2a5855f1bd1b79e9b84a7416c05db926f30e0aa519eddc0c503a3b9698a0dabb6ded251bfe58d56f15b7f26a04d7e68ef5ed403c4b530a6d3bdbbc89a0a0cfbdef3afd30a589e03a906a327cb72e5769226a757b270f47a3e6f16f5d05c7deffd9b05252b5c7acc115c98f8f06c836420105dc779932bbc7c8875d49c7cc6b8af916fcc28b5f950c0889d25cb39d90c9bc187cb19dd4cee34b04f4530380c050770049a55be559e92ad165ba895e864c75f139314184aaeb0224fd2aba9592a8b6aaaf1e4729ff12b12c7ae8f80e7776569af0e8dd5783aa0c1b31acacf1bc9205b2086660a95eabc0cc526a1b69bfe0a7774822fc64eccad4875185b9e67c6c7b8bebe94773ce060b6747b9a227571e0fb3d52cfa6fd932f7d7a6eff36271250df9035a5f2f344f480a0c857529753170471bc8c7d2289757df970218d8b5d4de5fd77dfce636ca668f044948b2492292726f04084e9c307d554ef91a4553931b7038f0e32e550616b996cc81aeb7c5ed4dc18c4aafcbd2c19d8f0d7f1f4b99a7952abcc6bee67deb3d9812787e2c09691f8f4aa9a0e86b89eec779168a8ac4fc541fd58c97595cbf6118e3c5bd6da26925ad7367efd96520ff7081ea1b42dc4b6aba75cb59621a435bc7108df46cdf79f88a4b9448e3df6b50ab0a99872f59b65972334b1597d758c31b59bc598277a6e48fa6665c19a7d9deccedd58c2ec8b5a16c4e578acc4acaaa35d6793e2456b28b7a1b4fe2c579ce966af34a7d7176909e7104ef2a1314543ee40789e19874ad43c7306ddcb46dc25f99b4d285b585c05ab891f097116d978ea799875a3916c4058dd33d5467125adaf273995ace9ffbffa279a93c6f490cd9a3c10d37cc723d520019055d324f08e064c1a9f64d1a3731cde6f55afc82043b09b69c70b461d04715f2f514a33fb325e9106b4a1d3485e111bb0398130a2917203bcd408f734b463a74f702e2670798f298ee085a6e5b6a64b51011a174432f42481922efcd195b0004ad81139c70977cf686ea17f9a85ede6e538f3c0aa966ac158f38a20326f3fe868638c195d2cadd07c4f12b5dc6e3db8056d41da92244b7249bceb40abf9f35ebb2146f4cfb61c84eea976188394f6764a11381d72bc0e052dbeae330c4db04bb0ee984a3e751c561094dd478a56b7ad77dc271d3313cecc4e9d61eedf2a9d81c09843c520346ef2a82462da1b6b768e908235d6bff38abd22b91a830c2785f14b32c4be799f7fcd0443a3415a0a5249c5afa6849b3a12075697337048461058d38159b7c92047eacf6e63a0d652da6d7fd1b8b16a226e43c7b670097be3a66739395dc5660769dad46b4b46d2881ebbc478cd6e77f6334b267b4bf4bab9d1eee1b40b5a7610dcb2d1c0bf920d46530a5f7f7b2e8ae1375865056fb1c517f86d4904635b59c40c51ab646a75335a87b5e8aa67b9c911f52d655c4d61aa26e69fbdc0d53d1c86e01b882854184b1f2c52510fc121556258192817d71a992819148e8b1acb1f11d9da78b777d72c559c2d72602b96648cc13c4c03e322198c2435d11e27c4c4754dde0760342d511c4f360b93ee92f6f6f6588089fe34eadbc25a022ba21141cd65398db7ad60db2dc6fd7bea5257712c757e7a959f0b06f8a9f8c7bd8777e659b266c5ae4e595c057efa4f8963d7c680c17747340638367fa7c9f52cdaffcfc71f43ec621b494492cda152de08adfda2bfd6ca61f93f27aa9ed453a96fb6bf2875de77f0694937d0cc0461d65eebd4a52b35385b4396d55a75794bd939d6553a1bf090fd1af792a7bb453a67d2114f0eaf2a0b9be28dded117cbe9dccbe3b04c93923d11ddc0c5879a0d4931bc74ebf21ea6464c3af4d437b0f8872045e424e129fc4bef13cce37df42dcc72ca63204c322f383c7240be2b2a9b1c418ac0d4b1a90a14fad787cc7d11e220f0df5cf0c2636149129012480fb29008861f2a6a76b5b6ca3caac4e5b392e6e6fc2ebe3a499ad99bc3de17e75f1540b6cfef6f614dbb1b9762349c78b16256e77fec95550a659ad1beae66697ad8ffa0ac99823350eabf08d407d331b14395fb9380680a503803d6deb5a8b8c98bdd4e6242bb7c335c78a8634922a8002de2d7fe1ab1575b4a464684a3a6f21a8e610ad26e923b0335af8e1b633013138b2045b08bea22aa2a3bfbea9ac8e75a12befb44f4609bc2307ea201b256b917d457f13ad2e9cac01948f2f66cc66f77535be52b345dc4b905793cff5836e7d610442a3da7ffcd88e05c818b24130b3faa0f8aa1f219bf105c4fa6905871097648f63acd054e0366756928029bcd8c5975d465b559795a6eca90a44206c8fa19b9e67ae6eba14f45696c95c7be73cb101a58da33d66f99d26b150a2342943e2c64423050cdd36ccb066e8a31996f98a152865859c2eb38a0557c44787f14cd88c5fab19fa39605d42475c0445e5aa45dba23dd35f9bb64cd4b29ae3e6b4070800a88fa76e2a6889373eea5e88afe897b0c3fdce850256ed5545b222767261665b36aabddbc4bbc4d90b9378ecdd8ba95f6fb16d7ae0e489f2bf35e2d09968068a4fcf8ef6850b0b51c70aaddebfeb0128cd2fbb896ac9b1e1a4e429966aaf762bc85ca77b9c870dc895268718a6daf93862f55ce4340b0e8d56f05694305f2bcbfc60022f7bae19a04841b1717f650f331cb613a7aa96a3a0b5777a7bfc67f958e8cc9355a532142fac1ef8606f7a436e1b9a43db44ed9274dad158f6c724b098a32bef003f691493cad1f245d0f9c36439234e18c513e7f8b06049ed44d152e59b662dc6a992df42d00862dfb3f6f1d46b71aacfe3a64708b0989fb5ba00a6d96adeb4ee6b58a795b5d681f1a3ec49fd86f83a577666f019d9bcfea396a932657fc46bdd7948aae7024b90f015d6d7ce5e377a6eeb59dc445b5d768a5026e2b68afd28d49268a30e1a9bb5b9cc1d84d6e936644f677eb6dd02087921a183945d9c686e5c73c65aae337c601ad2635af7b1798669efcaeb29e5c56ca32b50d4e196d5a810c5ff38ef0d8c60ce142b45f93606949e05c538b94f882b3ccadc14af27e2d2ae86aa11bd27c5870a3488565dcad8acca171beb340b104d0d3b9cd2eafad56a9ca6040b60b63d07e01434dd2ca3749bd1ae2cf2925773b2589cde8fda6ff94d74cb9550d89f0f0c35878a04d56aa40f9cffeebde1ee6e70f287cf721d93701323721ceeaeff585418167b29ac8ee4f7002f8e47b3ebb2f9987a3c4f4fd85ab0fc9a77dab17cea05f66d30aeb8b9f3890dd1fb91c01aac5a1df6f80023f459b0b4bae05fa9470334b5ee983069de75be767adeeab101b9adda986411acb028ae05aafa53a4087ad6a94700607ec3311dabac4240b6825ca264f96ad4d8a707bb372427307cb706591fdc97ab81e8d75f7b86b2d38b5c053dcb6917954761ddf9e0dfd6f3813a0ec33673a2d96fce7cfe7078d0be5234a427c57fec33c81fc645155415d4d367d56cecfcb84733ca5b2dd808289d9ea21fc2378fb3772b49c181cc3b6a1a2b3bc15ed3005dfe40447d20fd28079892ce2034863731f95edd3e6ef3855a36b305f4d9a200b58f1e3acc5e1a859b7467734d577d98ee630d49054bc87727e2d71c267fc6903d38c1747ac8e82400333d8ef419f91f494934fc2c78ab2fe1720383db280d0ab25766bb8d565a91fff34d1d0bb604a0ca42e9677a583b631e06c89f45df7a8498ee5f6261a671373d54aa080c997ea814cc6188d6d288ca2398b9a905af7c23f8dad4f4445b816e2e24eee6d4b9903df5d3cad459e0546e34044b77b17e5c3ea4f09e475e82c016f62c9b66fddb6656f9f16f1d061ba268482164569237dee0cf89c59714eee2c4cf72eb33dfd143d3776f8fa0ce65fe51d7962dc9cc30a16766b5f9e3619eab6615a4663cf6532ca9c38aa1015bc16738d581016565ed63bf1a2283a923fb574c46b32fe11bd9202fd43ee18576f997e42e6a0183d269d2f0c7fd378303438d7db2177229887d78b0b10863d043f0a0f731b84c8ece95e5025ff5a14e224dc3fabbac96334cc35057f1a45551cb136814dfd820655ed430021f10ae5a85ade06ed3aacf644d8a7ff913369e361e4606625ae6a96279053da61d1426e751768dff2cb79f2aa6ce12dd48c12b6af7f694f99dcc1bddfaee93ffa45ec5f2093b04368b39e675fa641af59bceba359362aa73e1cafe778a5ecb75ec0eabe8facce953710d706d00d26a53675e34050227efc7ed9ff67c66eda30605d790c9261daaf480138a00b404f2d60479ec627cd9f41693ccf6ed706b322c8b314e49219e5406c8e75adf302ca377c862ad940107d9ed12d3eaee875ef8f78d1e802993a09e1d126cf63939e9857d9ccd1630d7586105af981e383712b0c4cb745c04115432fbd7feaa9bf4d593074e4e655f998dcbfb447645f3b97f5c7a35eddf44ef3ba40859cc26b7c791cedd8b953468397678ad4550daa3d9518f53be5139fb60d4f396db79f45e2328740bc51197fdb6ffe4e715792dfc10330b9ca2907f052502703a944acc5176e2308fbb057f00f366cef18f537220ef63c877872f031a81453f1f159562d639840de71aaf5540effe63920f4ef159747179e075ced7d8679e273397764b183546cee5e77994a4838ae708e9aa21d130ed8cd5689415735b4df51690496c48947ac988be4e208dab4d9c3fb569729b2344ff29450c3cc687888a9cb75e19243457bddc07dc9819f70a42142ed12ad5065c62f08d2f326c791b81ba5ab5d56f1dea952b75a280268c04c98d1fad892e5cc937b2adf2d568c7b6ff9361a4410e0a855644ecbae4802fdc7390cff81ba3e7af632567b43ad88a6cc2d86f8c331f9b73d0330fadeea2b320a3702926c8f1b55068b8a0a87fb9a9f01618796c57ed6c24ec627c3cd4179c811b80cfc590dafaab7f0cf448a5424cbc4c2cb54690c71b197c2cd92fab7c9dd00dd5f2eb29e71ce3e040f3b6d0fb7f61a57ad6cca10dd814dca9ff48c2c77c01ba6ce48ee9bead8740af88e970857e25a99f386650eb8ea25989d74616c3ca1e76dadf6d034f8b54604a4afad17c28710808c1274b340caed661b9e47dda9122465cb92e77d67b0b00f071e7c60d382bf5cc10c74a8972dcffbfedd98d7075cfedd25f517327541c96ddd6ebb6c74398babae1efa8efb4505ce0b5d3fd359f1126b616b797bbd8c560470e741ad359f5497075e820e614e25b3506230918df1b67c4a8edcab36b8700c008574c74048a930e5ed3ff8ce4eee5fe36f4f0c92a656b088a3796e0455b1d867fcdc18807e2edb4e73e6ab9641c7d694817c3eed09ff2ccc9d5eaab970117d30a33d06c78cd659537b0e5bedad41cb5c88582e0a4c8313f9c0e770c4be609008393ab2cc107885adbd15c6be53b8a7edf5ca22cfbdfd27170b817434ffb6b7df9a0b36101667d38c711dc08d565e989a73a7f7697ee50758e0bbc37e5801d91036a9d879ee425f9809f81496805e5de572f142ddeec104a60c50f082a60206de613343b1df9d0f032168ac8911ef67482a9204579b962e9f08dc25ddafdf1c0da00d0938feadf61597bc6afd84db384d7fb015cd73406fb3087b972d3d3e0d9490cc439a9d11b92e6bd79447e230c294e631085eaada4f35a56288f26471249eb02c778c8ee1174ac56c1b831f415e839059d300943b778c6bdebbd8f19e2f7015db2a4c35125434158222b19a76e65090cce9e5221033959d69b97587ed4f6e2ca209cbd51a9dd7d8a4c8ad571355f1043b261322bbd0499c86e7471805c16e52cb733672ba3ff972ef6e8b6de52cb2a0d4f3fd05783fa5be35c5399240a561ba5824f898d7d789c296e66f4bf3c9ade325c8ad4b8f7e026667f0ee7c103b34e8c8115b7acad48012578c6a5fd65c81d9afe8b69b678efc0a11464d0621c44dcca0f198ea02acf82f228b9c4d10e576b52bda331b26b4e7aebc9c240392ed4cf03b762f96c142f95c33005469e1ec34b9ac48fe8b222a7b979de5a64bbffbb275d440de38ac6dd77ee9f74a811e836d492d5d5e9d48d479d93efbd472452b34ff2da3f031be3664928ed42bfa40eb014cd48ce4a5dc788ad0e1600496bbd653bbcc9d4b839f5c4fb258702f187346f4e3907a02e3f9f2c3a2ac49944b7db46408fe541543d0164b70a114fa7085ecb0b5c45dea98d6def06e2c013f3eb0665391fc28af97b1b6598affbbcc80e7b41f6e6eeaffabfa191de68c98d284f934d955515844c6d735ccf8f426a7a659a805d8abd9402e5f394f3702a9be4200485de4189d39cc6266598afd8d37da87c23e91c78a58a6f9b5aaf2ada0286c02b048bbf93a819908682afe55f14e8df7b88dea20ab62d20305770064e906d999ec9a9d64d7071bdac1d53342c4101417e0bb08b0bad0e92cbb7a3b40ad95957bbd6949b1c9f135e937649524f971d8c30090c37f5a4dce8308fa50a2d8097fc9f152972be3f5219a3aae09d7cff297688953cb0aad67682e0386036692e60e893ee28c80642aea2cf5f012a023f76281347014b563b6a08a19217689bd1e0c21b3d219e2258ba48735285b0601491fe84ef2809cefd26ae3d37d021b414334a0b4e7fc8c9e149dbbed49590051562456c7b8fc2da3de0e23fb36de3c03c127f7e6dc19e788978061154395aba3d1f90e1cbda5b6a0264d3e74732901f78aebb087f5058fdb98d2d6cda6d45f47dbcd3278139a6256eb40db49aa878a793bc4f1a9005af2ce90004b3b18adce56bfd242273aabdb900291ac9a58eb7874709e6ccf55fc4ac7eede3d024f210885fdcd87b9b05d61986a480e22f5abd271b4b144e37fc61c60893d1c0553a068a56bf4ba3f72db72d8d483c2041ac6c7ca2211d4181bbf4bf5dadf8eb090bbc8d608880ab49a37f3c52fa7a2c9b1eb9d12cdad9f71cafc7a5c503e73e581e5d59db2b24af24493deef1b34e48b8c24ff79706a27419ca6c5c1eca5ef19e7f94521080ecc0ef4a68db4969d22465c4fad0cc023b3e3f01c8e2e74077a3738453e97fd61974bc6c98fd17da0d52c3324f99d33e654c9b91724929c8784062ef62b4094fc6301b4cb27e889cbb98b731118934a7b7a7b1b71d57e27851968bb87cccb6c0c84292385f5045032ac56159269eb7372b708d838fdcd605abf837693e6348d8dfa42abdd664b56dbeb1397d598dbafb5f4b5b9d236613d91688b7b2e9714f9e868c75a72c5cee2a2f2beb964d059c779d079ffd8dd615e71179d8eaa7186546447ed0f3e58fdd859496ddfcd35a8e9e550e2fb62b81a0abc306bfd54dbe6f2535a4381afbcbb94344dda204ffd5b026ad4ac94cc4368d211b2297d013dc8a6e1d94695fcaeada461370c6ea94387e8548d5754ed64d1919801d2f62499fb8d90a99429aa16058032900b5f3fad97e2c73e4175b53fa4101875c1241d82e4d068d5a65ba41fa9ec10b68b5feacd51cfa40798b90b7f6cc65ad498d58a7f6e788077f0062887976c838ad476f96574bf2d740135a817bf14578ace73cf24fc9f6054cd7ad4853e6184a4730e4cfd18a1ba68b0464ffbab9ac4458076a3c2eb38fb82e54a91f1a507cd73cb71a6eb793a38e44a00115fffc47e99a24d22c77f2bbcf7ae862ed3ceeeb26da009745d3084f047a86011d882b78a12a1ea4f8b231485b725f6c0f7c6d158d384c5f884452235f6a2b14027793fdf176d1e2a2c379fd90ff0968485e2a6104afb7f29b3982020baa6d5ea4f77c851823e95cefc878c6a71065efac6c06d13acdf3f637a7f1be85999733f582506b4a118fdf1b4251d7f0ecbade8d3653e2cb218290510da99dc61b72bd33849ce380f3d00d8da0dcc1806b681c8612ea7a7a3126d34f33b498e1ea5ce0764ea51bb9352e68d6f17938890eacf0562a29e6a0f0fdef19f3fc0cb96697facb77ac895652f8b72217108ecb864fd388c7ba6b7a29a15462965c3ee8eb5b3db778c184ff7c41a42735a0545149a44ecabcc48168410d54b4f6895acaf763dca32a13c08afbcb6c5d67d61cab8f3cd38a0dd04ea24b6b1b469ed48c2b13376e6e1f76fc9681366f11fa61392d3b54b3f4e581880695ae3774ca34276158f5814fadb0e529920647f0eb35dc82e49b5a08eacc47c3e79cfd9610e66ca9a684208936bdd5d394dcf8be34e5e2ae6851ec1d461d525a0b33cd12df0ad7cc9f6e222588420799de6d58f4bc5be7a5a49152c71984d7ed04f3d8f2c803a3b9bddbdb8cb15ea7bd5389fe51a93c9b6a765c85d7228199f91029cd5c0e04e5b3d15233696db0559b182d33df7ff9d459df559579fb074f0deacee8ba87a431749a4c0fc53d834b86a3456baa9792bb73d01bf9c16fb0d8508ad4d3beed3111b42bc9cb38348e712e5933ba6d441ebc893cca293af2d04aa059f49032d8f37b891e50c0d7c9ae474392dd8e7c5c21e1692bce04720d0784551fb8ffffac1b2de5cea112e38b9925639d9789a3845e983647fb7e65b345548438351b9c3e0faa6e4df4e4a468c59990f7006981387b9f08feb4ee384515a4325315992e61dd957f0fa91f3858fe7c079de59f56edded51de86716ef40c102b1701970c7b0c34e6633d8a0ea1c89e7527252fcb07e63074221dcccc5e8a9a7ad608a04f242530345694bd7150bd73315513284142b6a39ba4b7270ba7a489fb03c6ff81d85e771a70ad0fdd1105dc88f7d2c3b3195babec4755b512d6fbd8366d02ff67a1f3f84ad5480518696757ca88a96cbcac3e6b157d5d9c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a857d11a8415a18e7a6ccf23640cf9bddf245a5f90c43b3014d08d3ae19faf9527d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df6681f6d936b77738d7d3f02f525e9c4ccfe34fd25531f7f4901201fb7037564600c8a26ba463e7f3e5af9fba211500b697cdbe7a39d09212b9af88ab372ee7188888c6c58edf59d717a75919aa0f132f027b121049b513352ab2ed3b180ed60eadde8e4e587b8f6bcdef3f4eb2981f6d279cafdb55611c6fd42d7196fe8dba791440186b5b1636326a43abed3562c94acb9ddc8e098dcf765dad8f87fe0e101e0bda091c0684abfe1a101e3f2d8c0a9583e67965e8c15c180ebbe6a5e8b1ff34b5eb23308c40896b0f9b2cae5e2b34494e42d16d4ac700df526eadb1796e259f24832154fea591ff628377c8622f8d87a4b673afe06c3d8737d3c1692dcb1e9091ddb64ca9aff151b541a754094fefe44b0afcc0203b86eb5e7f004c16f2c0b457412c41f8349d3b638859a18e087cf04a71b7cdd9d5e14450a73b041bfcf93f296bf1865f0ddba5c80877463ad6650d7fee66931486956a07884f53deaa13e2b84cd6a9b364b95c0318b8bad07b0b5e378fe3de1be564b194246827725a98c1c80b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea5e38e1cf447f0c0cbd350471819eb1bb737b71da3246c222911172d8c11b1c53710cae5c83e1879b4c989def97ec6fa87107987c7117113916c6d2edd82b4dc27387a0bdd8031dd339749a465d229209b96a95a174d1461d295ae02fe4ab3670d86b0bf4a20feecf69cb5720a80276fc1587b25aa3507dce9b231ed8888cda217ca711112c92a66f5f8c9292113d4257efb456e1a44d3bdfa7ad400124f41c99ed5313b61f19d8b8349831751467ecc87e41bcc75cfb0c383beb297ea85773dc9e7a0344422313fac77e33f6678c5bff83a201495acd50ea26dc36255f12d8de8ae4ab36e8d1468f2a994e38a1279af82a0688b8d21d795d7e5cf08c72ca25c66d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d9a20994951af9fd765061453bfa74d7ef9c790aefafb8d541d1c5dcea2bf22798cccc5e8a9a7ad608a04f242530345694bd7150bd73315513284142b6a39ba4b7c1f17a01e81ed720ebd0c5c18afb0d43c4c1b1928b4583595c4ca35df07645a76a1bc1277f5706234eb25a3be046c9023ce01f1122ec7403905845929cb5428069e387af48bd30853a7ed4727ae7b971350e255513006d7bbdbd62ca01af63db8db67e025ea5defe79155e0d6e5c63dd041317ade7a369db406a28013296e6bfabf6fc17f8667d6f21249ea10d04c9c367cc1266c1090ddbb9bc1817d341090248e0940e8a6e8861eaaaf90853a685fa803c4e039166060a3c921c8d79001e3cac496b3bcc37452f0caa104b2205a8a19dde0196a7791988b3b74e23c2174c1e1e15b8b27a7f7632d62db16a5c61a64ce424dc499edaf170eb58af66b14b768921b71df8850641a6c01e6cf4c9b06a1470a86002a1edcab96592c8413889d65f10c0db2a86b193fef35f9f11936f2804ca69824b6cd06dcb2629e4e9212d37f5c399cb66afb3af783964694f2d92ec35c3396cf8207fa46d5477af6fd08e4f5acba6faa5749f84248b3e73894fb6731dc558af01f8f5a626d8f44ba6fad469770c0899ba44a3545c5e137ead0f121480c1d6d3851c8d481f1d6822e39a4cc60ddfb724d800e7962de77dcb4bd42214a1d650cd6b047c66b643254343da13ad97cf82a15df2d645510acb78a19e12011c53a90438cf1e2b979557ea2ffc0ed3114eecb53cbe6f73c346ee8de67bbdd1c3aecfa9012d58b722ecf4d7b0605fb78381accee02dc4ce3dad4d73d08a030bdbffc0beb350a5a104c506f2e4aab6b4df6cd524fad8c3de9c2f3a2625adaff38cadbe27879a9a435e0b4f98a59624d4c547a942c80a157433acb25c476e9a99c8f68b25cb9858d2167a48eb1300a3b4944e6d0fb96727029b75e7292dd096525815d2c4384414afafaabcd0d096018ed2383e9aeed9ac2ae59f0e22721fd166b485051c405517e2328a0932930b111ab043487ece9b15279d861f55fe13f88ecbe3ba90cc620cb3d5a2c526621e37ad664b44d948cfda6f310c567e5cdec5d91e594ac3db1a2a9b942005ee5fd08bf397e04b5e5b2d13f10b3502106d763e23f254839eb7e172ad0105cf9229f383d11c048a317e118d1f6da28ebcc6eac7a841510f55e58efddf30f8569d826dd8c36e2eb97d3d51790c4571005767880d9c92d72e6d249ff9a9332867faefaf50524f09d97b52632408461cc97fba14747bda16af96d00c033dbd76d0e6bc69d5ab2515ee88f6528155d15a0e6fe57f307ed128b1cf28aee4d8403b53e035242bfd5e0a2010ec485ecfbc40938cc8ce8e72ad92302764f13a37fd5f4d3bb0c502d164835f0d4e7dda202c0020040ceb260af1664e0f738b3b1bbf724b850f8988b50ba960e8a121420a7571efb2b398d6651fb4686b3ec85b771a3c6ecf017c6a7661112812664c7720db1c3de44eaedcb3fe4ddafa6aa63fec47368b34b6915e1a2ff6021c28d69dc6920c5c9ed83dcfc5d9c25ad267c8f5ad1c316f5cc84ec2010ec0d210ec093f797b7fa6cbfd9e7b5abdc487daf7b6cb0fe635bf17526230d12a432bf63888e0e480bbd6284af051aa098e9eb761368afe6e5335bdda4c26b5f124abc2ea482cda4dc5af3291f60ebf481b31cc543834885f66b9f28a6b19ce3da69d61165d8223b28615222159bac80c9ec47a32734ce1dcaf5a017d7854aa81a6e4f56b4e76a8f047776038850ba39c064ac4420dc486b7c71e0475a4ea804c7fb15863835db960612ee62b6b6a71ee0ecb42a98e3d66a9a813a15430ef5e278cc93563f32688d78b0d80bf456f663f31acccad05036a4974b96f53089dc715b5d6a4cfed6d0b16e042a12ab21708dce103fa951aaba4f2eb5cc9c459a6733822325a20678ef7a2a34315f0b8d81694f2423efbc70f534325d90f4a1d81098fee54dada412301236f052cc5e9d0138fe6e2997b341e1825fc3df192e04f0adbf96ae98b4628e2c1423b880495c4e41e03321b0f1bce980106204bc143e46ffa14c79b7bf678e558b2dfddbcae61532917d43c76b1790bb97fe9356c67334832a1be9b99efbe08c828cfd3765665b3515dde34a3f9af80f67d5c980e0c5f319b5044f0f83e670de0d78a3e80009d2209448a574655daff9ebd72f2062d4a5d5edd2fde843830b50ac0c7f0260406fb62b6accee153d1459c468870a732656392d831c455d6035a8da74f9f2128084dda6568f3311671bf630417f38e49d454ef7e1ad6127382f294c0a10aae6caa1cda39e91396d1d9f4fe992bcc206e6093a4d2b0348640c336153e23b9082dfe23aae7bcf47bf01a422f960232fc5d0d582da4fb6991d77a014d5750597a20f04936f0c629e3d25a9a34ca38737440005f32094ba12ca668eef2823f505ded20c32f3dc3a98628eca65051ee449fdb1d3b92069fa3358e98b67fcdd59f3d89937f9da7f72d43bd6693ecbbb52eed563d101193b4bb312294aa381bb23d48abad2333f5bb89773c1d3d5b81aeba246bfa8847ce3347a83e999f6c181e7f16aac75d8b17d0023e0db3579daf12d97a323091bfafdc5204f9f541dafe99a67a7e6626d5a6b0ac100e64d25262c5ab8f614990fa3f685a07029739f78efa3017662af35c8d436e86637f7e2e7e9c67b7c3858e970c24d37f60cb9a6c1f45d0f5c5dc5c4118089feb1467a06b8d242f1f8d2af4c6556c19adfa6d9c6261bcf6a627e504c7af63c65f34088aa23c1bd464df672efd19019d8142113c9e43d4f5a3624c74593e8d9e89a688e1e3c14d74f3c389b9f19ace5183b8037d4dba432e5d0062059acbbce3e11a3e1008adb93e37d8496ca2c51687af893ddff57223c107b4edf5427dde5a202892091484ffea249814bc8197fe540e30363b1fbf11fcac17ddb4dc4f0e49312e1d94696884f690b8070ff7311aaafead294ce7feb6cce5329463cc70a19c7885c37c42342069af37f0dec4e9a2abbad59f5a5f5f6809b78347fbaef57ce5e47a47e68033c463314dd0e5a2297091092e9b0a42d33e3028aa483becd201acbc8d85bd78f463cd1a69e5fc210936948432c17ab716c8aad1cfda7b7cbc582e6b17ed1d882ed049600b2f983dc7ea661f4bada66840e2dde7326ea5ea023b20749ff65833627d94db72c6f4b54922b65c953bd09dce819462d2aaa41a7f8f644a7a0fdbae4105ca5b666a070f61a8a8dbe1008e504db4eaeddb6b3e201cd9d55f192ea5fb489c12a463a9d9df3c1bc95d1b0b7162aa50564e06151aeecbd3a3497192d28becfd07b21ba6993225070b7ee79ffec1cd80f87890613acede16565aab9c5611f606dc468ade15a74c0a67813942c37f5d0f9dce0f1d60dc2c927dd5334aacf802cf284f02b9c9d21890b5b412fffb3e7d52521d6d3913a0a69f1e71f7d92e395f2d3682701ce2515c1fb6469349ea57c329310076afadde5bbbfef78c644941561f0e223b25d885f24edfb3df40fe5ad649d63a13c6abe932b378c8add30dde1077e173315b1e53e488009bd8f8685d1c58feef742a6480387ed5545aef782751b0a5cb607c087c7eb7ba568716986e3253593e25dd86817015ea0766ef490cf4c84d86454034ebdb4a0e49e36a9c39d3e9812571a3b4aad9fe8dc8eb160a53a3d8137314809cd7e05162e46f0037066bdd7fe325ad55ad25f50149f9cee614f206737b1d427548d75a5db224fb1c3cf9497f985d39d4f36a4f648ab4d90ae85a27f3d786d080ecfb8b2aaa5a9dcb448815c853dc6e3366be9cd6f083f329d7c7618d427c25ea3a7f0b43cbbc9bd4a22512edf8845f91316b268e3f2917115929f40ef517a4c63da7f19e32fa04dfc0949371a56ff89e27f58bcc876565d08b275c9cea5a98d8d963a2059f09a71ade891292fae116ea174d41b67a1191f29ed268fd500e65804ddfec39d1095c0f77b6fadaa87fc03c51e4e0791993e78177e7fcbcd0b8b33b6bbcedb0584d2f70c34e65c46cc3689fce67f302a9ba40b56c0bb23633bed1092a6280db7afb01e686ec577f086a6e026cd4cee22400cb4dfe36701e5a3ee42fd637eb0b2abac881e5b078fd37c880809adb30daef49caacf5d69326db9431bc5d0460758da76a522aebe8b2088af7f71a5b73d16ca60dcaf6786b4fd3774d6254757cf7eb3052881ff2a83ba566b7090adcb820506d129437d3e1d6a7689c7e4ce169b7e17ae6a8ab59aa32e10ae71177d3234fbe7fa4a91aec048b693e97b7f5e42e997f7f46745e8dc7a55518e3a66dfcad3de411d375e8cb7aa2133c0720419150028e1163fac53080ec6f12bf8bf98bbf3995c9976abecc5da12e32b1e4b80c2a3233a8404b020de4732f6d44ae5effa15619d483881764d63bac079f791254d6394ad111adc678831035829f8099a41227bd13a2f420fb19819889e9099ec15f6a5e1d72069df9939a91640327322e240654110ecee743df58c6fd905fcdd4c40287e860d09cfc28a2c96ef7eab2caba6d14f3d217d4304c664c89840a19fcc56c30d6a21969ef8a00dcc4b7d2229926b6e78307bfaffe6f68c0a1a2b2a796b4d33473776069c9cfccc2ef5c1958f4553f417ce96a7b78b301a52ffb241d9105d3642277ce63bf1b5a5473b5d04b76a664ddb813ea08fe6f0b3a921a810933d1466686bfe56b7cd4fb588e0d02cff51b3f12181a54aecceb74b9283cba599c5086d8dc0ee2e75494aac5fe0337c22ca0ba1a3acb07e21f14cf8be98753757ddba98882e6562024a54ea265dbc51e47eeb7d2fc6b9f42a1f8397b9d4757e275444bee8205a8ea2e10c2e571754983d08349385311cd5d4e6dedeff5c800ecbb301b4cc86727ab751529e3ea2c4598785d076539b3a582260ef2f19da65e4c1205f88bbbdce1eb00e90f521a3e2959974f2acc5e657d817787b8c149bd294b9b64029a85b1ddd2dd9c3fa93eae77cc750083968a46e9461e062579c3190bc7ea5a18b14e9f5141ed194bc38771db17ff29bc84a7a116ba3d5f10208ba0ead3eb401e225351674e65f090a1ba3e5912df9842c919413d87ad01775ad702aeb611108fc95a353eac12db502b881ae8f3606e67ae9e72dc34bd6498a20848bff369839a8744c0fabcdd465888850a06deeeac7aec48f5cbe419b62dd4f8f062332203921340d516d024283d58acec597edd8fb39060f247e3c90cbc6b1c50a00b38bf5593dd30d5dbca4b9d6644c04b4c3baff382e8f8e694a1df048f6b8a8f893b5513e5ded1ad68a75c40953c651bbe1cd4a09139f674995bb9c2c904c7577d0639203789ae35394104b9c76db68393955d85c4e456ca7e3ab2d940815e27a0a25784e8d9a0ce273ecf231cbcf15de63c3865101d8dcc7a09899a7fb2295f3044820eaefb464071930d1dd6d89490fe581079ab855aae5c2204fb33e12a83442dd9861dd435ad8cc185f55243da5589153c01cbf566ed99aeba7be8c91bebadae99bd560ba4707eb7b86ddb4cc89d5f3ea3cede79de3bf9da79c734ce4180e2fc7aab34f1c697dc946bee005bd76d19c2edb5586a8be42f72fe468cba7578f18ca49eef7b35a85f2fec4cd096ec46e0d49952c83500297f8dad22e2d879fa8bb73863c6d9dedfd37c5e2373ffc36e935b710a560d5038a3d5ad98befca0a29de05f63f610fa684f34860702dd924ba7ea564b4f512801cc96daf845d2d9f30b781864cb5495947ad64afc816aeb1829fd1a27f213917a9538b925adfa3e081b00cb9a73d82cddb9ec927eea75a083bdc2a82120f2b1960be2bec0a89f8f26585f0291325bbb1d5d70127d0fdcde7eaf1fae1773e5fffd9073af18d94db91bc650b94c3c097d7f1998c1b9fb39479072e3e140e7b353c1e7850bc0ca647398dabc2db81421fef5f03f1c331066b9452f65799071c084131b51b29e5fa12734808cb0a1a57f91cdb0a790cc4791cab8300e3c4173771d1aa0f2e3310f0b5a6b8519f1f5e28186dbe0acc9ab1c49c658e21c959cf9c30433b6aeb34b91cc2fb8f31c3b3634e6330ae48bf6ddf3b54ba2654e3a594f48b997c82987f6b13f4c213a5421fe9f3f596281a217713350fa5b16a9956e3dba4bc057c8bfc9542eee2d77d8fda25ec691a9373ad35a52e03cda00f1073026c43aae2b26a505e3a9ef44ecd35d3c01b849e30a1ccbd2d17fcfa636122284555b01c7ef86d4bdf157d73bd4b2bcf18ad1d48ba744733dfeea112591af398d00cd086e3afe8adf94a0bb355cc39c894c7b37b9fe9a579037f0a2ab1c3677aa6128ba9a954bcd0e5fc521f3f5d1017381c50eac89cdcb64f84042e07fe5285c7feaca409a706ba9665e0fa19c615cc82dca87488832e1a49e221f6e579818577f669f2770bc6684e5e77187da0ca4a664610aeae9ea6b4326895855a384168f0a9b64ae1b2913fd8bd3de2eae851b2f091839b0717ba9cfc51c141a3d3eef0d17b23f81fbef80ca4807c1cc00005edf17b25cb4d486f1d1d10fc9b0561c4516c3c8248e24300f2a389ce10a02deba0939079925a4d83b8f7e54088849cc6e431723a3d958fab69d3fdf1965f04e97437f64018471ad00859a49c56cf085c574b1273fdeebd0974a29d738ca76c35092ba634ecc44ec7e3d6afef3d2ac33b996f9e7952052a67ebf90b08d5c6e6e7fd73c4b32e3a437f4cc56a1c94abc873a2d3b641426dada1b3fde85ef4b7a680a461f30a7b8ce2f283742180a6c5a6a017b694078b2f9ff8c7a831cc979fc3606ea9633fb0a1a1dde12efa481ed701369f08de92a10e6186dc4ae4525e69362dfe76b8e3d17eb64d5e896d747110478f05974b04c961273db81fa60da702db3b5ad453fa38c235b0a8b32917271e5ef26f9a1356d37c77ccf68d00b55691bc0794a252fc8daa0e7d33f13234c80b267c945d98ebd9879fb515d6d8fe9e4995c64785f699fbfa3c0dda04ba9cdf5a8a6d15c8995a14599d8d74a3d440c51ef3311ae7b5e15d8b8af548532fef476a2b2021954e9818cd80fb0141decb13cd9d49c380cd799337017e22b6a76a0d8ae86c3e16cee04bc113b2b3d4fa2979225d7551f5a1a8d34d86bcde5b04aac2fca5205b58a5a4802671f29d4fd4508b818e32ee387fd020351ed6f30d7f7596c371b75cd67b8500f15c527611c64a427db77a19e71d8bb044906e21b903e1cb8a96c3854feb1a918a9be9225bf61d75c6de936cab9fddd621a7b10a1fc849bb43386a7d97a489ccd607a748b6f36df5c17598d876a0123ad42b9a6e27515b428c91941bc0a54663b4be1a1d6757f8aa9c2d076927b95fc0d414e1eee6d48e3b21a1d74287d65fc9c8d83fe3243047b162a55fb7d0b4160c14f56b5178c2ac11cff22abb1786683c5d657211a4746f4c7c75a17cbb37dfc643ee3893eb05c122d02b7f137b453282f71f814588c21eaaca8fa1e738a857b2081d3559d2ce33dbfb83da786256585b479312e8491c1a94bf7cbe09096d3deb90f3b30cd56b4c6d69cd30bee464ec1b4dc2390ce161e75d1d7a6812adcd0def2f0ffcedda9268805b6f1fda68981f5112e6205ca51143c405420e3744c8d71cd7683c87ba4c45c901d697ae4ba995c054a836491035a98bbdd7a2a16b478e2a11f4658ac44077a29008ac3676b57d17a8839440d9386f73f4c216fb651c7c699853f954db385619e5322b209ebe5073cb798603399fb79db2cfce6121116965a9dc9137c1b598c0795bd692defb72003f734028d7a4dba1c7cdbe199be58afde2d8ce49551bd050aef541dcc8a1af91c90ced02dd327d85ac70619d63f57bd47521d492234b63c4f539cd205fd498bbae0f980ca2522ea1bceedfece2b4247a8137e7cd94e1f95846134f61b78fc9cfb8be67c85b8ab5eb66617120f5a7ec4a7d80df890c7cb3fb322bae9c4e0b12ecc3586ad3b42f644a32a69e5e82ea5dbc6d50e0e0c5d90da05dd725eb3eed398e07f68674e979f9f39e63b1115ec48d2a546be4541c164217325821a69c2c7a9b826989dafcd7eabbb6973f4dcbaa1a912e56d5aff29973b1e929a0f46ffff95fb7f291a279cf678c02dfa1638de9d228c4c0fb4489bea738f358d3481cb7324de55d7a6ed55cbb87c796d164b607c953fde1c0de3f063e891b4653f7d0f11dda3717920e919960fc2243f1d55f347b0d5c6e78718543598e7e2e0e9ca8b15ae866f00fabda879ad53157ce17794bd4c5a77faa252cf9b3b59c413ab91c36265a3b1c830f8396c55466c78d12a8519cf1e2714132255fa42b41dc13278118236bf2a970e656bb75b8bbd1b97a0d6bd3f60f124be6576133e786aca9bef41350d9ef4dd71c8026556dd244d3c18f94ccc85cc120914b5faf23497f5d04ccce853530d0b05b2bed4a33ec027e0d2455c102e1b2cdda50013701c73865f01f0ef4f6695bdfae37f96ba0bb8140e2a4de1e8b54565fb92cb3e47c60dec34b020f1d7c68b4afb851413ec85c987e69fd944d4dc1f786c026812a6a55c195d94e1d2054033bfcae0d751abf139aa8bb793a4426347f349702906a28254c51b323d9e600d3532ef704efe746cbfc47e1102b614aa67eb51fdee48837e45193d29d88e60839dbd9d0f16b3666c474074cfb227c41ba815f48dc335fb03a5041123a213c96c346680a4430477d7147e17f3fa0138feeeed5cef3d3d1edf9dba022bd967275ecff6f74f2a80ea287612c3f4156bb97edbdb4c8c572dfd1c7cb8953afce28825f00f078a57f204c6c0b16bf8e38f5ae7c3019e42524162de768e67e771d788b9c35f17104b6ea1eee8011b19be839ab02ad7df0f7ae741ed0beeadfde7a7ecf149c3eec5ca93ea2d42da18a5e386e81395ee88484ed17c478937128d02715fe2c412b988d8200f2c119a35f20a5cf74ac26dd5f891438c548c9cf6b8a83b68bfa26755190850e3ca479ae006ca45659dbe7bb783bf9be00dc372267c1c760fc6471ff5ce8fa0dd131aac7ceef7b50bfb6e2182a9867d4a66b858c49df5832e416dbc67b83bb42f56d2056b647ea7abedd40550e384a844d9164484ca69e8373c0a257f88cb36a44c3bcd69ad312477749e2048c9ca5ec391e96e8cde3ec14f08e6a88df7ecadaf1fe87c9c324945091eac4f3b36ae93fc5ab2eaf5dc5bd94257129f58ed516681fe2f3844bee046c78b1f03fa128dfdd240b02938d8b6ad1bd432ba1fe35150af6e5de39b135919f46d7ee7479cac3102f8ee708dce26cbc93615331f6ed5a2109e9601efcc7aa5701d35a025155d4856e9242ffa5d1e503117c13f7d67a587108926024af1695e5855a30a5034ae949da434a8337cafd031508c48818fbc60016daa621f657183d7b2e52aee1c02e3d9f233f94e0c85cc70df0c1897bf51e083e8111c3eda4507810b187364e46ca69ae65b02074060350666098a1a4a8a812c58b5ad845c81d3f1825b29f24f809e300fa409d9b84cc29d695cc43ca7825495dfae9f370159f9ecfe0fe9965a3c18f80728b060a5b5800a6ee2184f478a5f0ea3ce7f1b9a9cbbc9bfd8348cecfdce139ece4377c6a728a6b3c8580669354254d3ed0c5c9b46c666183e5e8ef69b0c3d99cf4b1eb90c9a196ecdfa956495a647d926cfe517e41214b5d9506b55252354f3c42ca4cc4ed8a5b28d4883d71b836728889fe6111124523a180282318342d17876c8c971ed48d77a1519787ed61902f598eb7d1a56fc3f82a08d765a8ffb58ab134d146c9b69cdcb8a74c30bba9b78f9d0009e6ee1853b3f1765af1095a3dd69357c29b9321e0303e79f65ea6bc55b8b0fb1cfcea48d1ca721b3735f82703f597e5935e398eae22c13d8003d3e92c1c95d39d97c6424f930d5c0ed31cf27630fbed7a4a19ccacdb183badcd5af0d745f17a6e5082efdce393772e798b71085d23f466ca9858af11f135f9bd917df0c3d32263952d413a3f64b32b3c24a09eff38d75fecada3ecfc29067e9df7d92420b199bae16f019b463c4147cfd8625a218b6d1345aa104b47ce34e4eb6cb77ebbab71d3f90214afd4f5e26b67d7e02730a8b2ed42dcebab2936a21abe47e200f9497fcc12b4c68dec0bf4ab503b548a92235f1f3218855fbb84905237911eefa468d93a7064aab2053a4bd55c1ecd3374067e72a8993bc2aa77bae0d1f280db016f5d0f469ec6159ea75b7ce88c67b97d53c9a64ad96cefdf0d246a867379317d524fa80d81e43d0c4addbd5b897a45cd88e71a00fe115f8227586a5a2ec9f7531cee883067ede4f54b85cbab40961f5218341faba3aab9c62edd0eecb01e77cadb0b92bd735c672fb2a87a5fd074524d0cb3cfbe142e053f6b2c1a1203790fc4f1e8d4762b5e315499f9dc10e5533a58e98c5bcb7ec63465230ee9ff7885f1c1ac9c31e8b0b7fb3ff170feebd109c493957c4cfeab658c643cbacf919a42aeb26e19c0674ffa807d98552e1e75dacee3f0ead5c68c1e1d26d04a19953d24a72e3983881052f1a0cb6c63477c5f61ffed04af4933075459bb247732544b77c16b636f1f6d232c491ae97030bc09f7c177b1018936930f88d1148c810092d28399ce92aca6cef469c4f7bad8e13705a6aed74a68adc21de98df0594a5eed0cb952c371b17bd31f53bdb6123efd99b01f32ea6b18e0c8272e53153d2967b50a54b9f703ce234b8321c7e8b7282efcccc051d0759a140a719edf32c6ecfee44567250d8f6a35c0b724881337d5d30174a0dd8a64b985e1ef18b43b2d45582d295b6843cf94ee5dbc1e498653cb4fe93d1d91502405e8c53ed2b33f593f7ca8ccb19fc3675db24421195f52b05161edf63820d10cf342e24e6aa09088cc1f358298dc34b2cd82769f73c3501f4dee15a2c52f98271f4a2f22fdd9b32b3ba4ae1d704e531cb28acd8de2edaec0b1e712b152c1a3e9f210f1ba49aec4a3d15c63be2ce5ced17955b1c9bd81633b6bf2531a6c6f9ff95c7ac28fa1c67ebe9202a06cfdd4078d499387e6cbdbbc450c428e557ca9d66899dd12a40d47ed644d81d4dee71b5d78c1d7e295ccb351e975429985827f86d820287b8e42e514eef2af9e03c3ba0902a3b1003fe6f91f2d73a4daac0c51ef4a8dc7af206d099608a61ea57947c75ecf990ff851ca0ac10193405dfc0be1b5ae6032f55a466f333c872395b62dc54f1c96ac169377fbd3e8a6d941e933a1f06caa92b117a19e38a751a251ae103e791d03bc137912b566124240d6daeb079162728898ece742b349a58fda6c7ac1cb76259ffd293436efc880102896a613603a718824131667e34582c0dd03394e5b6acc1b7c8f707dd900cc8dfa10922eb57371cc687ad35fb9b15ba4cc5d32799c9336a00e05d32af6fb95dd6e0e357a8e9971be03102288fef03f857d4340be2feb4f0629940095ddfdb1c3ee4ca6e2ef63b4951784bfbf9182768a35b3b4a9e09398b80dc2274364fd6f6171167da496758108238840cd9c6bf76e2a94bd3bcb99ab85ee30463bb9d4a252e76bd4b09a3226b9710cc94b9061e486580e6d97e608fe84bcd5ff6331b860376b7d175233b3977c21d0ea3e4547e2d402e7b44cd78cd29c242acd64d5096dbfd4b8c5005fdf7c927e762fc1ad604f84371d5e64e3e963b3612a55d8403a8e8789a7eccdf328550db46c32d936a87ebb73a3b8fdd5774b07644e0da8c3a2d860b12721f659cf0e179201b6838f9c585f2c179c26d863d4ae65be0d079519cff7a774b66e50261c825bcf91a3464f15abce05c3123ae9a8ac525cb6fdc484200b140559d2edc76a1feb1029b66d37d3c30685716c1754c40fefc62d4f8ac9f7186657285d75208b2b264609283fba0cdb0d279c21c6ff007fa061cff0a80b19edbd8bca359c59ad5fd5c4e5c747437029997deeeb2b072853e0b2c79d990e710cac912ff9ef5c98d401b638c730f64d54569696ce2e22bf48bdf4ed473f5001e33269b0b48c3d942659c623f9366796e2db4a439b7b5cf742099c0ae155431bc85f57f666b8c1f0cea88d19593cc305e69e9cb9e6c98093d55396719f19ddeeb952f2ae40bbad04920a12d86fc07b01637c56ecb11ac8c69c692350a6a5653217feda1bdef847b3ffc1de8ac2d1a706e629725d14789e3d6b84599336d2240c52e1437f94d5c0bde60a9154aae8bc2ab410e9289c14621dd0e3a4e4a55e56e629008634d1eda0f66b8ef8ff5ba6014c221aad9a43bf9ce6de233074c83ac1e53808c58cc0f1d7de03a34b17481fc78591f6122e4f8e6ebb939bd06b63f67db77890a6154c4c475da48e7d01cb3fcd932c935cf4e293945249de5f2495e411a03e6b248ada0473d2b24170573e51680444f7ee53ecc5842dd4849e57f8c0aabf5e6b5ad77a0f8ee3ad334a12d201e3fcea9227e1760180c27e66b771f2190f18cf5859c83435cdefb3e2f59060e9b267ec986b0dbd15ac0476e1151bb306428cc023627bbf69226c54862b06be170b262207c671bd4e4e7c3b5286605952c45bff4fbe891a83cd1e075190f0a0113c72790e2198be4e4deb069044d8cee039e6395319c328f53087970a963dade23c22b66f74ee29c507031856f2b2a4be638d733eef58305c4401c9bd1fc80b4878792491b14dfad50e2b003845a58f5121075cb9c9635e401951f5ae7aa140f46339a82948669c0009cd17db3a4bc658ab94085b391d8beff7e478f002adf40f024198afc0df78a60ec57a96fe0074169b8cc127050ea6da430a3c151dd6f9115d102e214513d6dfc37ffebdc3086224b42ee0c24e93be69f805de080f67e8695526c4a214b08c53cc6dc4c0f9419f6a995c82c0f7aa63021444c3ee2155469e1360d6af8403ae6768246c274df7481626ef008a9f326fed4f79ff1964de325ab3e6a02e8f379beaa8d14b7a2c23f41e5cb5965420ec5680d3a5a356e21eadfd1979618455e9843dd9b09155c9e2e3047647505ebc0a737ceca6d00d74fc20dbb4803869c6bc49cd0b5eb30c361dfc522254f26a6b1c8de00c10c3e498eb9696652519b91df6f6736f55d0cd602a6d7791990caffb000841a86fed91e08ee7f83684eec46252a35b48b70524b7107f63d74b815bc532ee64663809aa6b864571b0c66857ac232f21bd72749f725900e6bfe30d0569bda6b8096f8b43bff80048aa98a783828d213a4e796faa98885b235f454bd6820f8b705edf5c1d13555fb81cc0deac6eea6a1a0920d1658551b9f08a4fff731f2b716571d351e55ba550833dec912efd5e939d9a7a68a206046515a1a334e3de3c2b981972fdbfbe15a4cbc9d5a3cf30cf6c11f812e741d0ee791bc9d53af20ddfc6a8680133b4d9e3ba957016ddfbaa283d096d613ebf8d03e6cbdc27e78fa66d0dbc17f2f04e29da7d79b8be90ed1d3c6314979a5ea1bc031d83b622ae4611edf03b4813675c8214ea8834e24873dff877dc5e5eefd0aedc6a5ff92a0200a19684def56bd8a0270762c277cb75f5d3355b84bda57351a5f84475973c0eb79ec9eb581267f7e48468736464175b34e20661300105174d1fba07fad6158f8fdee757630f5c19600fbac0699b4e4e5d938f6fb7bb0852c7518da78666e91800c1b099d4dac501fb355e6f143d9c9a8efa574039c640293dae56ad7b9b5b3b6a243a4fc9f75c91c6e014e49720fa7feac0ef151e19cc994a5f13d72ec77398cf3a6d54a3164394239c26eace619c63644e9da6a9fa15ab9818cffb4406c2afb67eb5955d2062fb35bf0f7487c49178cab4c76a255138ef971e39a8e4f525e2e16e75fdec0f564a56bd5cee527030d9493229e00634ea92c1de335681503d9ddff6499ddafed0b06032a8ceec3e5162f932cb064150bfac76c370b5ccdd2ddad7b14a703173e17d746c1a630dd0d45b59b7b486c0b25c355089c8755451a24868a0aa65b6575b6384808ff2e5fc6c55f3144fe0ffc79c571dc990073eac5f10a0171e996681f23cdb5c582aef019658d51dc910ead15ca68ed8065dc463e99e203b92dacc7494c000871018ed6bb18eeb1d5b4af58de28fa64c925fdce13a87567f39d0ba23220551acfeefe00846153217671e53d47bf9fa034ad0352b55753de13b6cbf451577ce7a027261882138637f8f015978f9c5a54a2f7324517adef37c484dc5257403ab124e6e69c328dfd90cb717ab58842573ed1144eae238ff5ecf45d1a6fcc613083381a00bf1ddf96f3d9a3e247debb77b4fdaf469596faca6430f9cfc237a3a2495802d9a2b87abbb038a372b513d6531b6f82a4e88224140016f75ead45ea956bf955c737b2b1680f10e39822874e7a1b39a2127a4fd5bb186a1b44a8467fb1ef3921d7d36f2dd6a459c7b34d70ee6294fc5f30b6fbcdf82f18a4d848ab0740197606f861b76b0352e2c481ca90365f82b1d807522d6c484bbef4411a0e53317c880e061142deb53aabd391fa9e07f37c0ab4fafaca8bcee0d8aedfefc52875fabb5e5ddf19be4edc15123404b672e3119b66dc9e97d5baafefcc73823dcee0dca37c53a871916be145c978e7c327a0417a0a221452832ab8024c1a899cc933ddb30c291d49c7ba4e5bee58846ee55c8ce99d228dd4049505db6232798d2168ccf7898d25ed68ba59617289c5c20ae26591b7ee53dbb2c3e6f499d791bbef439292ceb38b0903b91f11b7ebd3bc759553d57c40b2bc5e97a2357f7d512ff4c1ee72f4e270c9cfc73dff35636ba903bb1dd3a29a0d4dd80f56ed604194cec7981c7e0f99655d65d4deda4fdb1d21f2545f6d29629d60572dfa968c6dc98251424d7208f0b4eb5b1ca25ca7b346ca1d573cc00b7d30a6824797782fbf6efe3dbc9f3807d20a3009fc5ffaefbf81519682338b4d36c7aaa9c40755e928b578b33d99641155683ff70a7344d9e55ad55398aa2eb708725c12a7efb1ef86f56c5ac7780f6df0cc35a085569ac8b244ca6aec78589fbd3032ffe142105979361272393c3d04a0b100dedf659cd77d507d60f34d134157db627fcf016a8a3dbc07560ba9c89a7b53109d82ad2e085afc9b79657d5d35daa76150ba294642e65c14880042d4fd5a11e0a97eb267605d56abb08b0ab39620f393e49d0776304e3c44b3275c7796a7e69f320c74d94052051a3f695f936af97aa339366371153417b0823816fec1873fe1fc313dd7c6230becf9ecee36ddad8f84f2442ee13365de2c3a021cf9fa62d7654cc691b738256a5e944956b36acc2dc3d337356db148f6d8e0e4d3c2ccfb6d75b938fd01e7520679490052ac9c67497b0e829dec920eca35ab429aa99b599785390484985e4afbf76b7ace0eece24b167bf48ddb6636170d05f399bbc8f2d70760ee0ed200208969120f2d160b62703113b71c5c3a554d174ca356cafa8851409c0d1769f79ee7729a83780112501a5fac5b21d01225cac5dd6850f334b2543199fcd1ff064e770a64de4f0ffa8f48811d50b1efa49ac1a48168129405b4065cd02a8f36daf9e1f81b903d41e565e787fcae26eb43e6e2959fc40e8f7ed703ecc8aba6894110988adc668b597f1fdf51a91fa028d7b5f1a06b9f405f18a318e2a7be5d3d17958ec5131a885c4510f587de918d82ea654cfb7edbde3fb53596e0b12d16b8de920c464ce9bb1e782224077519e689b2fcb54d31f14040e6cfa44147e400b7b154d5b6876444b5c70536a489e696cbb9619b3fdc825671bd0e5cb261f4e9d46ae77b9abe798113289141859c1178f91b7f0a3b57756478bfa47e08de1982f9e9b4991dc7a8d53d2fb500bc55b48ade9316c329d3f5c387c2f5719123dc935f57813a32086dffc440b32feee218c59f1874ea2d52ec20a49efea8d6220d326899b435695665d6198c0e3b94c3c76ffb9e78c1e6c00f0cf160201c2c192b028e9d2a005a05884ba5ad40d1660e81812ad8a622b8f5d0b5d7506a7497a7b8babe5b254ff843bb8d0589e5be7c9a77f7b07ccd34a95100f68ebafff6030363349222e333473e9e50b5efa1d24947796bdbfe4e5c0f8d3fc5dbef354407d6a9fbba44db9e12ea6ba5d49f498609fba4164b7d00002e6ec57b949a632cebda0541edcf11c4d1904a9495df90fc8fbc25deaa4f9e543cb97e45fb947f18b23b155a82238a74256c369256542131dd75b1ed621544ea3c48edc8544fbbbe2de96b5d508e4b3b89b44f940136f0b34d48b7a1293154a6a574dce7d214c0c215178f68cd7e32af0aa82c5722789f7f2a18dc9c1a4cb9634adfddd6090bf96ed59ceea1c2ff2409886dee423c2fead68e43e23beb4f89ec35eec05b674200e4cea0d9b5f8998acbfecaf5f1d69635001077ff6b4065771bfd09fff709fbe1000518bb4230eee1f1d67721382463c114abd8c86242fce327241d3ed113aeae571ce9d9c20fffc65be2565e2e435ac2dd8d625a9c068fe3373c646843bce562b35cbd788c04c594d85108602c4b80b63c645ba31219a27e78e8f17684487cee6505a27e35f79cfd83b8dfebfb1f4b539fd3cd0c47d935264be8da6a8b5496626b36aee61aa4d6f56402cc53018c843c25f60d6634659196498e1a29b42f336549a86a5a29f7e8f66b45b2d352f3e3bb0c1848760685f74d97e81bba22f439e3ac84a6b479901726176d4568334eb426846ff533654f25ff50be4f7d38c1365495fa0db4ed213f515a954309d7be808058351d35bc63424e6655abb7bb09d4b7edeae6c85bece96f7899df4cafe754231b9cb086b9aeba451bde0681475703da0d27da8eeb342344e16fe9f18c66dfc7ec6027d8b90aaf916f2d5ae7a098964982009067a3f483cd2955ac6d80826748487cd93f7cad8c14b05261d04b9a81d83ca2166e9b3ec9d0258a5bcb7edac6e1a2a4cd159000d275d376ae8e10882d93e1d0ddc32caa200d00de74c5c9ab63737dc00e9c71768e2edc44f81b340845b496b0c35ac87803676449fe3792c8e2b24e65e47e183206abbfb7290b9c4447d0b412f8b8fe80e2e070a97b7bab84b494dc929511896d1ddd0cd61314bded0d403d5ecd807dd21a69261dc2836f1ee2c1dbb9c7e741f4fa04dd8f1eb13bed50407f8118add051a9ca0354e96ad2b2eea8c8c449916d83ce7dab8ca8e84b71fb0f09e13f8d79d199d765354e7aaffebc13590ce6db39af0b532b8bede93b952ecd18db7584cbf2692942e78f14cdb05b3bab7883bb50a1dd96a86c1866a49e01e0c58119b3be8f6c26e858c5c40c3bb3a83539570b8e5781a62c50a721e2794d3e7a40ff26f0abf1064e66e78f9e60d1acf27c7710a76318ac455732e7f384f4e90189991627702f1061fa6911c203842fe2082966b332f6345d053000f60040f7689cc829dfef7a92db94f3897edaad536309ed16bd09f34fb3d1ea6400f2992aaec636f3d1ac2d23006d5e36c36217a6947d2c359cbedd224cc5cb6c2d17a9cf778b0d17f60f3c48bd1831c778782c6653e22f767c0117dfd924edeae38e9e637008cb9d2c906cdd0ce31fad3ccc657820497e9c0cc0a374c3cad66997b2f9da5eb10b4db54a6cc5759c80b338e3c439fddcf58ed1c7422e883ba9bd3325352e36c4da2e5da48ad39f88776f36c3e8d33579102fae496d2f7218dde2d0c3bb8d8977c409ccb6435f36f676d225b9acde78bf12f49f42ee9f0fed42bd5cfa098b0ce31affe9d18090b5a5b41e76b44b45b736abc09ca48faf05c065471958f66acde2e910767ec7c696db49e0e61e1c54aeffa79834f18d88776207a8ebee61e9f29a32f6fff03d659fef2c65f454b0c641e0dca28c04e8db5e4f452f53981f2548cda46202e8872267439c417581162351faf09776ad2759845fa88eb0da6c47004d78ffe38248aca7842bbdfc39f0e11ee95498bc4faf9f7cb1a3fc560fc49deb5325bc9edb0a61f5f733abfe0df3dbaa3666a0bcb099ed8e9f3c8a24a7a9d6aeb60fb1eded1a191cc706e532c0446789453f0f8fc7c2435219f8f40fd9d054c58c9a2f34d00bbf8a52d71b0cab37a72c40ce75f15637423c4ef57bf08d7de9920bd581deeb5683056f889ec078b633bc54cb662017c717693042469c8c9ab098d2be4895de7a1900857e3864b5d18e8906212adda2aef59c2731b94b4dacba08bc4bfc6f7bd8b727c2621ff4dd1ff45b314ffc341aad415abcc213446fbf82916d4e773422a4f131afe4c8b0487d1f7f061872457a67aab27dfee560ffaf8e94bf1a06c999e635e9b3280e345d08014f60917b2fe43e0c50670461951ba778d03968a2e39ffa39525c9ab5ce7be480bf97fbab7947fe1e72a4a700bf27444f1931285bf9a88390c088c4b386e62f131e5b0204ff78f0a8d3b966fb72d2ebbbab41a1366460bf8299d193477a51a8029b4a2e577ad4fd5041beaff9b0dbe841792695d1cf9ff63f1d9b78e09c051e68e7df7c5adf85b1d4599fe1f755af6bf80dbc3bbb07ddf1685c5d7c01fd404ff24da490c64dcde261fa4c5936efe1d8bdf28d45f6897e7d760ece0aa4ad75f62af8e0ab6988d2176b11a44ee74a1689b80bcad3ee4e123b9432765448de3bec3f5cfd146bb7ff85324d1ab845ccad57135404a96dd7d702587c78e5a4cb6169a462a4136eb94dd985323745d74a20d69177616554f32a62bb3bcf34dee93a04dac74070b10772bf7fe6adf464697a314bfba81405218fe3bce11c49bd0f3aadaf60589f9d054c3f086ce0f5b9176402af07d53ca8fed99726232740df856655d8e4906c9b689aceb8d79c527a7066a6b7c03296be8b7a1005fe746f5a6bd625ebd893458a404b56efa174417d84b76fa15b69265d2986288ea02104152845d26ce079ee11d3711b072b66528e72c1ee00c8e1cf94d5afb0a16bdc4ad81968cf9844a6b5cdec4fcfbb127efe57b0235337bc08e3c2b85264e8c011c3b8a44149ca80f6648fb3d0972ad4543d6a7def0fdd0affb8833db1f01f0b515d7df42ab0966d45ad87c9c218ec34b07d5a90647101b9b0191fe345dd8ee7cbd54327219c354e51d582c214edc49a68a65a38e30582a244f074ae30c0aaf3f36417a741954465ad8d7eec4d71619a64c6716bd2265f5a7c4fef651416d34964f777efc70d887c6696b09bc43cb599e70c772d022b3f7d8c157ed7853cec906023cb4261aee97270cc565a742c2aa3599cc3fba9cbad6bd2fbd8a5cbeed899fa36544551798e070d3d310345205b772920be12b10d6c9327f5a82910cc92290f9d64acf89a378266ad82f486ffb6c47626bdcca9115aea26f82a1616ec22ecb662c9ea2a1e959d707d0c522f713024d19fafb430ab59a50320863a6a2e31aa273167de2fbb33029fca79fa7cc079dfe74241f1956cb4ab7fe4bb4025f587affd1bb37cec981bf15bcf6b050c3b35595fcb0dfbf913e2ad3fea1e25ba5d30c99321cc566422a3cd40d52f66db7444700e29fe45ee2b42d95266f026ab63ae86f7ca49fae4be450e73535e491960a54f8dc7421afd8f4e2dec27cc6ea6d7c0a6aeb8994ceca7b6c26f58a90245b10c28f8726e8e249fe183982b8bc0dc64953edc2dd0e0266fc08b213920bd9305fbdcf9433065227de4fb7c74faa7c121397f9bb35dafab6db1c21d19ddcf352bf36603ad45487a6d3464a0c08e7aa85632dcf2932c589537e2bd77738bcad52a3909a9b7b199d4ef9b4b688ca515d95449686828593c371f73298414d2836b3e58b6318930fe6ed080d479f1066f6119c2765534e7ee6ce0d8aede8793752257bfbc62f0a46795236bb4dea1da5317ac54b7866f142f3d9cf1162debdec368d738c4e2ee62c3b1601a996ac8819a36ba08428daa7701858cd63e50eeb363145a0b64a769606189d4616113245eee8c1ee41d4bee7141da6caff5f6dd87f57c4f6b6a1c745e18868ba3349b6fe83ff4f447b67dc1aa63a5d8f4146b544a92a287225909dcb396bcb26f4318a7815b60c6c67f63cd985695109344323d06451f86c31158cfff5c72b1be459f6f21fbbd4786be0a3a5f35974efd1998aec685aec69c68d98729c9be3a37106729ef0ee053035a4753a6c14a15513f147e82fc882fcf442a3f485ac6b91371890470412de30afa61013a226326185f060d8be4851dc40d7d70d4bdaddc0ec802a8d21dd5010da920fff5dfa9d55ae3c1b9aeb864c691c16ed27312ecaf43cd8168f095e566370c2e6f60ccb089ab07f4f102bf3e9a5c920491c9d5fc46ad14961205fd2d5b132889d67f163c10e4523f77dddcad5621bfde40516c5f2f5fa259d682892b4ed606b6bb7b4b29fa65f361230ef635a1909ea4f942710785c508548be67a165c09cd2c5fb3d359f8b90ad9cc7df75dad203b674fc997d0702eee61c120756d556f8885495c41eac1a3f5e29c59770de718bb160bb8010069a83b1c3405c9c63c9a3aedab9001f2a103e8df28749746ce168946ea2660a8b3d1376383a48267de218125b48221a862f7345c345145ecbdef663893c392f5276b54a4639070feabb822ebab0282a8052cd9829dae01d5de966a792a5cafa0b9ea65ba9dd6c51fed88916fd94ce2b0826e230115aa5d73279f74f7213a9fa3fdd5cc3b915b4ef5b60be40808b062b0a43522730329e0a24ad16da5b389f7df1cf0b270e42663c5ce48d56a505be3394bed11d6ededd76bd4b830ef7b09ccd4382b9b3d07ae50c2e407500136a4b711e80f86be8aa7edf906a6b9152cbb9d41eee8e08d6d5b376a59d0ed134a0afa81037d8c535e27ddd549901946a102471e20b81565e46b5ed34a1e34fd5d100741ddc0641cf12964aebd86217fb63291d38ac1910d3933432ecbaa089ab0421917527db33d6b748cffb0d0d3e4b944dcee49a4a9e3921690a8f63537361de347cf1e4efdafed2ca6402095955cf41d05f2b28afc3e39215656db2c0330325d9c291527a6707d81ced8c111c7d406da86edc29d108c6b82e28480f094ebaae7200778a414e0acc5aa75187b7092a09df240c3e679cd81642ab0e3ba8f0df791a4cb073e046ec069dd0bff1865898a86ec5f9963cee6867359caae07fb6fee06885019bd7894957b70e92b19105814b84caf01c315e203ccf39331bdf0a9819ec07e26a81264564c78fcd5428c54084c99714dcf60cc0877b2fe599421898186bb8366dc549303147d8b5c1c8e5e9c964c27de205df36f564edc80a6d582d786284961d7de79c4edffe28a1c01a3490ceb20811df1cfe5954b13d9aae56b2280ad3eda9cedd4666b761d3909c50bdb97d645acdd5c491f14ebf6ddf58e0e5fcc8e643e5c47bb665d28d4a10993917d2c0beb3db0f38def694185e739ff0c0a92e7b98f49183c3dce752dae4889ca777dde1656d61a27015ef743f482a3496cf022cd8bebf128f578caea3851cec11203f7a8ae6fab747d0e31aba4d58797b81ae01f7fb639f5ba71236308a7e5e0aad5f5b8df43d06e143179a438985a07428fd27c618a3630266b5fd94d4b8068c8b372f1703cb54e62c87b5e605acd87793f2dba08418a08461da69a250d7fba8972e13eb6a6958bf50bbc8d55f1b7597301c8745791de3ef52e4277ffe2bf53ab7cf72ead06fa1b1d91d90a9efaa9fab7bd9bc4381105b117f76d41604b566ec96739cd69c72a64bf8e6c490ba0ed339764d3f270fe31e597a95a9cd10dceb06ffbd0b0642e54c21c75680c9566b58949207deee15a9fbf1c19d70cc3b7de3d9c42fa948f6ba6971630d41fc8a3d14b2d46b2f56da67594f4178c1b416435673f4b43e35d210ffe7dcf9d894eda8fce3faeed6bfb2f5dfa1ecf29161d7d0eb5254e05a1b3cf617577f4498f6cad276e3cc2f616fc1fb7a1244fb6512def51fd1f33e196cf64477fb7ac247f3ac1f4b25d31bbb98fc178de44a03778486156768a49fbd8c3b03519d8d7c4921c56463df5ec179146f77be7c9cd0c11c6b091d974321ae2001bf48151982e43a3174d42448a194e053cc456bac554efe4ad8af209e27bf42cbbe82fea87db846c7f22d9e7cd67ffa5c517ac12a56aae60e03b20e803ad8e2b4ba9ad54a5e12ff9276f9c6ebcd0fa658f3d0478d4f6abd9bab195afb0a06220491ba6bc921c0e7c8191213be897e06438c5813437448b3c22c3ab62fee9de01c2725e38a5b519219f926b910c8db5e2f82eaabdec9345e8f348fb1dffa6ccbeacff25c14f1527c559e3c3e850a30184d91e624b6ac2ec75dbc4c51815520acabce45085a509bb1cb54f0f46fe8cea76220cc77ea095cbe4a23199031c25e06ac7d6fc0c861bdc6b663b89e4fccd63cf26d0a8552c82f77119dcefaa797abe2659bf9b78843e9d8ae786699f07a36d7a6b89776c60034822159694866f81dba8a904e446199bc563bf0a273b956127eb97b1125eb3d5b9f5a3c0825b87c11abf109ebdf778896135d9e2b89aba922c31c8b68f9c063cbe61ecd67b3815fa13be0dceb9d647531e0579d6199cf9a3fca42b10baec5799145fd40cc5cb8e1a2a66975ec5d18cf76fc4fa0c7adc8f3609a9447683733504c7a6da8e5d894f6333481bbe6c916d510c093e091208ac3f2f57c838fd3878e05645cfc931f917acc30c75f9888666819b4cc15b81de3288b4a10258bc2e2821b658356fac6ba114b083c068042b2a16e4cddc24c227695482dd792829a0cfe651d61e9abf52d34fb1b924b1739cf9d668ab0e002769d9e9c7038e64685d25e5d6402da44e116099a34adbdcba015f63c14472bb5bc068feddbb19ef25b9c55cfa2cd7eb8659434d68066aa8df03ce981efb3a17e6400e8a45db5097a937d7c1015d8025fb044b60e4f4411c8f1749a4df618fac02e1e138479e046c8ed18ce7280a4d848367cc60cc837e54ad87f0de4615905683572394f8c047c321e1dc7c47cabcde94d5c5ffb4583ccf59dffc722735d98b9a51d078dc5ddcd4fe25c976560afc4fec836f2555a70fac0ff8b06db2de793fb1bd6dad47282de2ec592bd29787c848674a8b203a4b99348faf3d781fba4e13416b04a42d2a7e12b468040416c85624e7f99c742c785010a0df5f1ece5ac7f7fc6c699e24d384e597a88819d874360b978802463d368d2f9357c594fad6fc0aa4d580afde968df6b75b39bfd055f7e83891c85a0167b9f4f0950ac9eef7533c3f7867c90e7d72026c6500dcd948eea5bea83988add5ab266e4c682713d393781a4cd02b882b7a78a17d6b4a04e6e1dbcf9821d94e21975f996ef797f378e9277ae83cfe6ba699d87ae7c59e139d37c40474febcf1f2990e087d4ba35fdc2849d6a4d11143080cd98824037220075f07034c85073eae621d6252c8e081c3bdd71557dc2dfd425da2b89f105e24df1d711c6280a3fa807eb301b75ed2546029d11bac749896b82dd8cd76d0aa3fb7e285add695891ad6791191752d109ae3410ec7cc6c5df9774859324f5e29b3103ff17639988fa8825d187f5282d57d480b48c1920cf1b5045d9bf6d4a5b21172bb6ec725e4ae8930624676ddfbc4946fdb9e48fed5a23256db5ac47c124761a57fb479a5ec75b0aa23d78ea26577ef247983f9ebd50e5132d76f1fce760e0b8fcb22af3fd92b0d9dd44cc3eaac75a36c1f424178df851f4b43a3bb2379339837d97ddc0308030aadea8e20777ea74dc84bafd3abafd54bf0c7d92aab5637a918140cd032c15a37f8f072a75dbfd59ca4eea96ae3ff120cf9a6b838d93d95cd043886ed679e9e9ea7a1398a68cfabf4035781b405fe0c13552ebcc55bc40802529cfe9a3b1808088283096c4e6d70d57754e2db4faf8be395309b7497120e7141c03d473898315b1d960c3edc88db8a32daa9a9d03c2e862bd9b3845a09bbd5bf0caf33eed8c2df58157aea57792b65159f46605ae337a2f7da7f73ec1fa520845c7fec664d13ef53e283381c1ac02f5902d296943ae98dde48630a55ac6118863c7f93157124f147234906f43caeb64d196352c6b7f42a96ee395bcec3b3fe5d6a098a35e952f42050689cd7006b83a4a8a20afbb54e0169fb4ca85fbf0935103df8ce956908312a435a7db0d68543e514686a4713c77d68ed475afc4fe4f7357fc105cfae468042356edc47cdfbd9f1efe62a47a26d59aa36e0cd48caf18931e367ccd55f144c7a99b6645589958fc43efadd1df9197bf6ebc42922f2dfbeac1d879db2a61886578d6f9d08d6cf99c211597c22e44d3c94ea736430c0e1a09cf7865e3d47eb43bd7c707239f28dc6d7a5d26456195dab3c44e1e537708472a7f399546cb67ead1cc6c2f124deadec09baef56336f5d5b99c6cc6ab38668f086af01938b3c54599f5a1ef3a19db19536a0bbb41c73031ce2b6a84087d0426c640415a4f1e9ec725e0ea8d5e943e013fed57b32e24b24b3d6fcd74b407e67c62a8b1209f6c8fc1092d79fe36717f788210bd5cdb9908dbc0f553e10fb272411e4edc537fe7f02ca19b0a3544ca39aa193ebc03152f05a52f97f1d319d989281dd6fe46f49b4e8d464f488efbae291c4cc1a8a57986f576bef189faaeddc364960247eac0f44e8e408544d37d77f61336154bbb1dc5cfb068eec083d28bea154a4b7534918d51b215b90d678839f9ae3cb5b732a1ac5ecd183dd1b2439240a7e6baa56a2216c1ed1956a4d9f63938521471d9b667e110d199ef9ad638599e61570f03d237fa741fc3cdfa60ab451d4f0bdf8fafe433855dc8f38343b1d271ebfcc1be73dfedb4492410b82398e64d08a83d4127284152c5d3991d6810ff44dc8110d5914386cd087f53f79d2b9f38e71eb382d0333cfbe5f5baef89f4fc6cfb7630c1798df90fc08d0a64f9dba0990fc667f778a10ecab14f7acb290586ab4447c949d463b1464e7ca472acba7e6cd641a53a01e4c96bda2aae72db4c84de67cccece3b757e3b6855a1cc533412db184f19ab51985e647911f447552a5581f9e64d2384500347dad9f1c2fc066b6ea1795b56d8602294ab494618b9da8b7da35b9c73c117745b11f0eca342c671d7ebfaef61e8871f52687617ffd5ddf3bc572648a2b0d23f739fea4bdaec9426d48d39e959076704f6004d068066c38c7de41e9cc319cca4afe2d10cac4732981a0ebd7476597133a76afaa28e5028bd3911ae14d19b4b87dd19ffa63c0f9f3e78337ab0efc48ae4ec4620eb762cb35beffdc14554baabd4a33374e2ba63a1833f3925be53d77911201709663b13bba0d35a65df773149b16fb761cb03b03e9ee7abeac8c635ad43fd528f9e218cc4f2856e877f772b9ef6eaad5ab6b40cc24682f6ca7f661cc418c24354911dc24f9d196638c41d9fb8912460626632d2de516790a66db8221f4b80f917e99bb4c48e2e21560c551e94d6ed0780df144c8e5dd7755580c4191644ed7ef983c70a72207a471065a6c631a266b01d606a9df0c7730748c2799dad65c2a02d0b52bd18a5572449cb05b366b5e6b9d3c69f6a544a64ce65ca788cb8bbaf81a54f882d18ef472c2bae32444c86d03ffa626c36fca9adee91d5d9497ec0968460dab77adfe9dfaf6b268153a84fea84e5c8cd79b033c7717ed01347e98f2a9f66101557b66b25f4a6009905d1c7bfc895788001a8d5174c0f12fbf24039ae68c4949f19ed5034eece81a264d41f8629df8cc79ba114e0e51345682327fe99bd70ab9d14ea529a1a2e72556b6f068b772167369a718e5640f0682d1c6f9470401369476925fa94e2a37a92fe269ac702f8daaee4bf9651ed99fb5dbc2e44a9a7ca5821bd35931b6057d2ee6b5722eba0aeacd64a8a35257216bfa12643b31517e24acc1b08ab3bbc27ccd9950e0018039177a9eff67a3b974d84215c49ac0a8e47ca1ff3e6a594458490b811d3019a3adcc5ec8e7a4d8d2d6bb2d679af6e1819285b7a514338d8b2dda0b9c5800b86cd8267b8755b14d6261e723a7380988245b8b1c7b1eb26ac9dbd140a7a3512fe4be8a5d15a2735e683d628b691c2c4ea2bc3295dca8b33f6a7c03384e03fd86ec4001da67b791a3dc0d1f4b60129d3975f83a0e4c4b4f43c48ee8bb593e9357f361e57cde775e8adb096783c69e5f64fb4b20d29c12c8f46decdb7692fa9fe3787a39c7036c324af52827667473598a724ee0767b3ca5daa7dc176ed106b2dc5f5957292cf7513b2c0a9a22ac5f618749a68b3a7bd8394acdc170418de8f81126b6fab14fa2cb43d71fef0f2db128624fc8500cc3dde07f75e8f80c9030aa5a4c6d8d5e9372a7e350da4d06fedcccaeb28f1285836e32d10d2950d3f6e42cb75079875104ec4176ea6d83bb99cd3ac0cf2b41c81b255f80ecfa56766c35f3575ea42f4867047116576bf96ba072d34cd5f7f56f58956c4dca16c00c1bad761c79cf262fde83f8d0522edd409b02fef6499d25d8231534d829d8ab535f68bcf127342ce0e82a8921ee0375739825a310cb9dd23f594afb7c4470ace137b9752c9b7366a1afea271cbad19706c315d55c4adc10b0c55ca98909a00eefd1717e5353c8e6591af614104d66d1480f65ca796b0ec7355537eb4d4192e23fd10f7f3d5c65b770de7a7073c9aa78b1b4940d8108bd7b78443bf025f46f68a9c310881898eb22d98c53583b813d8826d836d80dfb9fd20945e042973b38176c9b874e9633cf0750056ddc34c639de21f8a101d17b5c5a9414246490497700cf0498d41e62d74859a19d8c538060367d92ed2c1b3ea05ed395fc08ecf71970c1b01fe24dde44a2b1066848a7308662d952922166eb732d9921d1f89dd18f73c3d38a11f628a38bf6d920c6aca57ddabfa66d4b41aa62f51ebdc8984d7593bb1200a8f2507dd7fd6f80b5215257edfe0b936c615f149f8bf6816c1a14c5b86f7ba47fe2a69054a7685550bea46edcda02a9cf0d654ae7d26efc61e6a6d1f5ac3b40d5ca0b385dfceb7000b7fa6505030fa29f4ed5f0ce78e76fd5556b1fea224ac2e02ced94817af1318d154fbf46af9f5adff39609bb1906753c3ac2211c5f14558a6ca780f0f8da6e86a398eece7796491a6f91e34fb283e55d0337cd549829d0503d32592b6265892324b5cda8c7235f8e68761a1a8c88f19ac8f353dbf8138610eb4ecf81d25c4b862f306732d28c24789303e9168b209be83a97fca08a18597b0f05ea5b21ff42f529e2382e697a2ba45f6deaf858e610b587b7582e6ffa585c7a172683fa33d6be85de6a82456f5bcb67b196ac666caaa79e70adc63db25a2391853e081e6bb0d4c34b2f1d1ef7d24712d80d54ef283b6bfe939ab4bab55588314cf748165e3987fff941cf9f86f828c43fdf9b5f9b9a705686ce992f71aeee10715109306d297924536ce9259929fb1461c7cd9967d29703b2cd4550292d58836fbd477575b018b815084ad196d794441c8b433f267f5d70604cc24b5c953eae30469a5fc9b241b7b0167f4885643cfb32ee2acd4ceb35c0625ce89d169d92fa29db13e7daec80d71d99bbc27c6f36c33a2456327678dacd50875f4db644b344b1a579692b087f8664209158f61f5473820cbf1c0fb284c18ea4d5662b970ad4ba526f4b83b318860ca5a8130dacb2c666a39afd834572257bb6ba6bed07c6894365c99b46d8ce72edbd08432e1b67384255ee106da602c5131081ef2ff0ddad11997cd8fc7c19623e3c43c78d385226ce27d79b64b53114db38e5d8d08792ead26733c00c949d49b39564cc608ce33d6b14a0c003d5a636f9ca93df582fc028a65f913b1c6ffbb2c8d27f88269ff05a1b27c13578700cd58e2dc028d6905fed9cb9ff13c101fe74ba8d847f878c81c8c724d2737d604cf74a8c4975110ff5d36dca4b78f592a80d3876d14fb8dbff890149c9f1189aac10e3d21125eecc182f693dffe2226bdbabbee09fa924c8bfb08cd4dedce46267e7684dbe50fe49dc0ee527dfa3b8b5f39ec408d001c27322076147a8b0b59d383409af98091f393e3a04086a7e146d742b80e0ee626e80385df9daa1d1ad395377276f00d243c484540554c3327508c1ac176b01817e56502a8fd2fb869366b9d7ef8f45f1064d076c9589ea909019de686265ea92369be0adb5a51459eb485741b7178236da0329f957d60754a1cef2a845e8afdd05bd906b345e3828527e4af066a36304b662ac0813c77feaa11ef6447e82621469d91b10e355efd6ecd6dde86b6765585d8cd007616ce443e79fba97d6aa50b0ce8bd31ed107f3ec0e40977982c8b402a3bd7a0d7111b925f66cc28de135ded09d1d6f004cff1a223eaff4e2237038068faa0e19d27136d27be63a43782cd0cbe653754ab1d06b49b467424d772b76b1f63e7de4b19224c085c89532af1547487bb16ee4f017ed0ae6aaee174d9f18ffe43caa010d41760f4568c99c89fe7fade9d6302bca9c7ba734a2940eada1eba0d886a42569f5fad8ff45f551474f9adcb73ca47771cbfa227e2af7d9c8a967eb1ba5942d572f3a4f2cb77180f891cf64dd80b88beb76fed64c4275acaaf2f18ddd762ba6f71619897f9bd4171a8afed334b34d7f2a5e64d1fdf671c477e24d8bb5200f89569fa1076713413284e364589918018de94b48dd3137606811addf9683dba3ff094bc3c160f106d3a1c75e446bdfe270bc504dd92fc018744f691d3392319c32a2fdf93823dab9396a70a700ab47aa5b857f2372e46e67993f0423125e9a9dbab0fbf8f423627e097a2744d88f78a994e668a8b5089ceddd44b777fb26331d0492daa56c48f7869c3e03cdb75d8d94e3e618b24e6848557081692841817a9f8183e26b5f1edc79d0ba87d20d9f1e18b722d67a1f5eda820f5d0c6bae8cb9ab69aca4a0099dc05dee90c20aeb364a3961ba2acebc7509863a5764a79707b2695af79deaa390bcb5b38319c6d7bbd1c8e30dbc7efd2eb325871c69d6afa62410c3c2aaeebe5b037c98ec0eb8856c8783b3aa997a6846bfa8875808287f21d0439c97b89d4efe8aa16349f9b324e4f7920e917562e15cacfb87ee9c0fd8e6110c34d081518968626d4cf8558be5e1c5fd7a7523393e136ad6fc1325a2ca09fe7bab476bc52ff8e7c61c5a526035fc9e6582d9e0f63614e6f2131244fbf35103e5c3c02261372338dc54135c3d744ec56f2c5db67c6e1ad6037fc510f7127132805ed5b6c3672660cfb656a7bdb93e869d3f1126748eaf8086c839d11c1909a2331ed03265c3a4f8eaecb4539c32efa711c9a213749da94af956a8e71d4a302a28e074c088bed05a9dfaac78dab148598d7dcccfac525b7aaa6e9b1cb6922474f45c1cde3bfd3fe3a14123c27322aea9d9531265d1f494c801c81a677ca3122c340bfb47ed6bdd7b2faa681e158714e9434442def05c42bb94b9ea515ecbf9c2fccf0c51adab75c7de02ecddb1766ce415bfc7708b3e19dc5d6d4f64a53b0804183873edafb5a1a1c2e7ebd0dbc1d2e7d9b601d57c1e23cbae12fe021b5dce804532a5477c5a0fe27ea7dead30b07b860338f15012d0cb229fd300ec213e405a39e7bcb471294a24f79e886e953ef3c90454de3add00c21e66ddd2cd56fac7d210d04a6c99bb0dda1ee9b6e655b31287004d57293e28e69790d1c2c06be1e9cda9b2d6f3bd5d84f3daa37bce27ab7d43bb243e33dc5790f03b9ed0ce9741218bc99bebfec2723aab950b4a51233e9c15a3b6998a1009330dfdd4ab1399d545e3de0f908b0c7f33d043b84f3b38e3fc0dcb252a97f5348958260d0543eb7485b3cdd4c971a5aba9eeff7de2cbe834687accb053096efdbac6442efa3dff805bc4f9249c099f428b0189f34deb85de8433255dcbbeca5abeea015653ae8a178372134f3410517a7c92384d88fd1f4c481117f9d98fc1aea99c57aa828ec567262ee8ab862900ff306d76277c8feb1c5acb1e1edbbc81f46d8594c0508fb755121b078cc7c14f1e623b8c8b60e69cf662600ba92ed13adb785061dae4497af97fee95371dacf4e61032a0d15dc8f1e6f6e8739f81ee51561d1bdf4dc06dabdf58a5b6abba2103fdf2b8f11c7d631d813b3b2116d3689e9743418f8d617c065716834e9268317864db2767a9a129a10316b32314cb0bc39de19fde494be4ab57730122dbd7787930de26be7dc9cdfd6d97121d0cb4700e8d245b2b06955c9e949f498bf99871ab07ca9824dc564481d16e65cbc2d774aafcde9a1bf14bfe90e8847f752264db0017c10465d966d42d5cd183df542979ff93a540c2185b871da926758b2ae66a3eec2cbeaeaf5ce2f731640d31badd78272f030cdbe091536b3e425209a74493435b4ee860b90602505373990ff3ceb1c92e261d0d918a7ac5e0c36ceabe2e8ccb8b5f4037e2c31b0e24a0780ea0899e3b5e51f80081a44e95b22b4527542a8c7ebfa7df96ebf11a98f1e1f9255355fd60cf80827b17ab9da739f5ee8ce689f1a13555ad8044011a09557405ef9db46aa1d546ee2e8a8563f15d1ef7e32adc6a0fe5342322384ecdb628372588a20338db93409c27976103a3f39b5f41152fe04b180c0513d675cf68aa3aeecf166545e8252e1c57452168fc145b274c188665e7cefecb9e7b2682ca99b570d9784888f594068752107fbd771c13a2be7ffc545d1fe16f10dbca2004d926ae49b64c990e4ae393738e07e66afa3451e4ba68e63506b3bf38dd7452bb7c7ab07a715464b5983f411d5d2e0cecce9680f23e50c02d1ebb70d56a39ff033b69f74aa89fa9c087008d9e732f4e0ddea9e7b2ae176300f0f26bf6dc808b52a40eeb99c781882007a14e0cba0393e88f5125950502ca799332a3bac8e18772f0170f1081dc7dd0db5dc9ea8c8e2414aff4b8fc534123a54832abe6c83559ba8a0113cef19bc8a429ddcbca8a90488f1a520b23f682584397551ef4a608d9a1e18b7e01cc7f13b0fc364a925631c85e4dd575253f2d0690e76b7d58798e45f36bd5fcd246116de35961c6f8d67d46e525dfac865035a0d2ee20dd93fb6c67523b8074dd953e5e478b93666340dc276062924b6b54574c6045162fdfaa340554c67f874d5074292dcde2cdf2179a2f945ae6c67d0c31b34509f99e6740af729df5c4b320d45c3b4a142c907e8104e2f1e02362cb1e45a0f8237f8cca739b9d8620a468db629918b250add48de66710a5079eff668d01f1a42ee64e5287a840b9fde44bf1549fcbe3ad7e96a23a1063c9924e87ad18eabce61c69e9b758bf672891cb8d8752b0913461505779f7afe1b23c25ec80d7ce7f11d996ed2f799e7683d6f178168729b3abaea46b4af6972c91ad01c8b7d2a95fb6a14639470f7de5035b31e9a66de338aa85cba3be1994e7fd05ff0c4db839d11fac33ff17a784dafaa27b3cbddc3077ea0202960ac0feb24f8d67fa33c08bf80108a2e644bd6b7bd37302c800de5200a5cf9a5f9856569f5c50b35bf0a19b3fae7310c0da67d7438891cba195d612e884c06372847c9a9607adba628cf04d17fffb2b45be366f68e9681573b8e5a618916c12264beaa4acc2d9d793ef8df4e436cf5bf1a6cedf7ad8e0bfc544522d0eb3fcfeec56dd073edaedde616cffc17a064474bd59c73a2b36aa061b4991a241f9ff1d90adaa59b60dc0173b6cdfd9402df58359d9613a163c94480ff020d4f7cfa611d97f4e098a0c453a1e380e61f42147b1e101a45978894d4cf34a9887b84445c004572f17dca3c76a216dc9cf50f2d6bfdbd811993d8a62d0089a75330017bae849dba803f09f9de747b6ba8d166a73821beff10040b6960ae135cdfae28a401c39e0dbdd2c6745b9575acd1c6cdf72d5129444976a01dfb70179fd398b75778d652c160801949542737117c6221b712d6ab487cc05de1d2a566119ab487af1be54420eafaf525816b135ab16da2771f7e98d4e95ae0383fd66538166c22dc20883db3da9bcc7745b7279fcdf3ce7d6c34afcf67f5f607bea6b9ebf8c881fda9f5fec4e4ec97151391e5ad2dcc3699a212ba8d9e288a9a77bd246acaf26eb9640d6fb056ae426dff4c489de13951515ab3a81222d61a54349a81eadc1753e20be70b00eae054d15fe9b3be2fdb8a9634174f439f157941b6bfe514ac902159ccd99609fabdcc584d489f1859e099199027bd51e1e9ea6df54871cc263c119b8f915af78ab4a03c98d80161b88eb652f24101dd220db0b0949dd46063a16fd96e054c4b41b3cad427919a5d18639dafa6147b5f175afb8b444c62be70e74823b22072f10ed00f6365f9b907b39b5564a71474963d5893f0c9ecb24d8743c4ca4540828477976cef8c1ade72ef27f59497804a3527b1fe4d7e678b04106daf7358f412a97efba874216f732b0c03fda1ca25653b2228b55d7e42b69a60cb8904bfde5f98340e404d53fee1b96d4f0d3dfa0cdc22227f3a3f52eba74a60884875d852ce0c3b1ea949eec72fa644ff3cd0cf66f918694f92ff59cabdfad1e378dd043e2fe59b468ab5b1de44d6bab944846684f1691f60d06445f87afcbe7513830d61ababafdd636d1deb959ce75f1f918669655106dbc9b2bab7614c2cd20a756c923a12c056eade4fa898c81677958cdb13dbe80c3d57773cdd9a3b093a4c0f670b023aea301a1e664559ee1ba88ff1ee58557fee5ce27d697846724da2c3a704efb993e53cacae633294732efcddad08ff4e71eee54e68b90377bcf465392750cf8cb040a238ab61308ae1a722653e806d017a3716b57136760a9ff7aac9daf810226065317dad81887104bc5647daf1b315d7e23133cd3ef1eb4280bb48ac55a8608727c17e50f0f1296d4652160ad155103879ae4615488898dc54497fc26d0d66c290a484e5a50936a560e292476e4d0332b86b05aa6a5fae183c90dd32ac0d291bd5166f56908fed4dce4a8c17da3fecf84064e50eaf19c1bb40717f7871dbd061340f36ca987bfc59dda03af529dcb6a579d5d8680020789c9a3171b9d60e050d4f2dc020f3dd11bfc5eb11376e9d65317bddbe1cad68f10e75ae28d8eb6101261bba77e5fdbe9b2102e7634257fec37720b799aae32245bb56690dedc652ff0260628cf8cbee710c537e67ede68388796b4136d05ee0529be132bec2996fe9377e2fe8483b56f8c25580c5683d7ff6d72c603c9cf77d81863eb70bd3bc837f7c1a9ef5746057f0db6e761e4f424a25dae4afd1c4c4a993e16f14533540610ee663cadea8632555fd21a0e520f04766e5a4e13a9a71a57c594e0d0e91e1c1f090523e574e7ac5026430a815614575c4bdbaa9df181d83420095f281f72f6f258859c73fc0909649d418de58697f94976c04ceaca3f84496a68c8bb65906c2e5388b2853fa51ce6bd4f7ac6abfad27d8b69a2ecb8a1d7e0ebf3cbe25d3cd39439e48cfce80f6ca0c7b7c29452a0510fbd7d3561cd77993c28c7db54263e176c13bc620e4543b89ff4d60b36e0144e3f8ac76e3caf870b65d1adbd486521804a4e227b5ac831f8cdedaf58fa973bcf29bc04c2cacc4adac9d23026f95dabbaaff81dff9789f32c8a176b6b6128bba64ffbbbabec3f0244e75eb44b3ef7b1079c6f15f880437deb4dc2f9b1299ad582eb797895acc56dbe29594a4a56e3a0378d7b4cbffe14d7c0c76b7c6e97602c99dfb5bd8e43a90cdb02b406c881d5bdd25158af0f215bb4cc0035a4e7300f2298e51860e67442f420e0ff8f82f613bb0eaa84199daa5fbdc4c9d00dccbbcdd4665d7d1eaa3d5957942a243aec1d2707e81accb8357fce05870d344dc9da27dee5de49c39990c6540af2ad554805ce18354d20ee373ba4cec22f54459a898bb3d5a8cbb64547d88e842a234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4da5dcd53f16a82347ecefefbc5346260e9439398e918339db2c3a9e6a07dcd1e64069f1895275106614705480b1e0e9d3d2c1e0084da12f8cebb111e3d94d13abe75604baa0c4b410379ce39884bc6ba6bace6c7601c07020e0b6ce4827b689b309c567dd2386fd86c55a44845f2e056fd115960700933f9381e9ba29c3154b11d30717c4e4bd1ab10c2ea57e5930c5f9ec28137474c5076403fcc300ff45cd4454eb5d56c5d33f9fc60e3850fb6a774259ff2b8183e88e3e4c4bfafcff5ce7e116f829122bba2d251db0f3e89bc17473e653596729f2fd25872b261e66a363e13f547bdec44d4b9ac1c45230f848805367011a7ec5d8ce7cc1a721538b3864c9ccd3a157657d898914c826cc71d0ed928170d2494a916af9aecb4b1fd8a6c63f1bbd0491d08adb71173dd30c63fb4b3a1bc97af348cdbfaca69e795e9342339f247dc26e2496b39c291a6a800d30b560ac2a1302fa7a88de8857d06c5f8f37865980b5b421246cdaddbe29184437c7fa55c924125411c6312a9358d197ed4e060d1ffd3703ba7ddd2591c1853942d1e9286a58d24531f8e94e641e7e0b0c0fe7fd154d95f4f641a7731f3a5fb9fc7cdf4618bb5c6e3742073dd18ae72a1a37bf22ef2d8ca80e9dfe6a6b1ef3bd4a6a3707b0d4eb6eb52c066eb1bdd13ae8ed738f5fbe1716c166a0abdb69403e02275f94304266b0983833f3c6ba81e226122cd320ca8b4d89fa76e754b15e772a4038abcb5a0acc30263194d10efc6e3bfb98fc4a7aac10e7d66def1cef054b4a36d76c4eb189170268cb8b38bb0fd24e2ea537b03886385238a7be0d136052a518207224b59bdb97f27a74004552dda92e220366838a6e8216c0c63f181cb83cf6c9f6244197379700924272a4cfc85a9201aa755a813eb7b905e9afe3a654e37662551f5294d78ba1f621cb04e17653ac2f370a80a1dceca1fe90c359eb78248e695ce3455908263709e5d021721d0c7cafcff3d415796ea5e3c12c8fc2fab52129df7e35136fa069347ffd2d12fd172640d0b038808fa95d4e1e81c1523e65b885f942448b3962a82a8f91e3b6e06aded14ea59d9b9ee10591ed884237502a4435d35876150be29c2c086c10cd4b85feed3ea5cf1ba50a5b06b5c9d70d86b989a1a10e69d3db8f482e3de692499f63b8033c007536abb6656e3cdb1ee5b42774c081a92ef141c8c9b7eaefde905bd8845b9783633baa638fb4332dcad15b16b09c440f3efabec589602c36f10817542a435b667f84feca235a7adf834384793155b81d874a13edcf1b714982a367e124e88fcd99e9c3e54ae7c126fe7583b8554e03e5ad08457194a03757786c026c65a47457cfdc75202a1da4447a4a6d6a55d660353ae60a577f35578d75d95162f1a23d26ba48bee1f7840feb3ce6a15cb9cec4413cc1b5fa9cd994890aa6a859fce17d39a3582755aef29aa938105202311b23f74a1ba073dab8cb0f0d9ec349e4a2e056d0289207915629d51208a923965d4294a50a95238fd221a70a92b76184bb544f7b6a4b2ecd62313be1f388c7e431d3dcfdeb2029eb4e569818a323859f637a1d34cbf72265a4ad370a47a1a349562478422b5b982ae0b58342fc92cdf3829148798745429c8b06f87f5db8720ccdc060a618ad7a885faef1847506c9052ce761d3934231d6a4bde991f79de781e15a0aceb4e48b32b80bad801c70314fe14fd6ede76999b075ed61a4cbe81a2913b9a3bbc9f13ff1a77a5eef01dd76adf1e7fb52207746f520e70583836ec30109b143ec142a2d6527e3689ee3ce35bc29e4cb8686d1bb62b7cc1a897bc8f597a4a3f8cc38c2cd6fb3648049006020de98969f0baa67f3b081cbf8840aeb995aa22b58a108fa51651b0c84607ce24c0ba8b64fc6037f656ac611a0aec3d1d305951c6e534a81f1663a4d96caba1eb8651c29032467bd4032f4705f2cd06ae665910447ec060a8e265636f8afbba5604d406237fed201cb37d889fad58dc8949d26df8726757d24613b51ff092b60c6db8102bdde563556708816d9a76c6bc48ce08f26b009eeb633f5a10d1f06e5e56b6c7a62fcd73e1a5fe9a9202a134927cc07efb0440ebc708c6f244dfda133462f810dc8af9d373e1bffbf585d187bfc4fe2bc10dee95d5ed80f01f78d3cd036966fd5feedee9f811814ebb5334835388663e8d9b95bdde78ed75a531c267fa0ac7def250265b3ed93b12fcdb0f49d52b0ecaa864100c3e5b595019104410d0e3a1bfa1d6f516737955bae9b137c3a0e48b214ea7b01fef9aa4f46ecb7035934b12c86ebfdb2fc23b8d2700c3a00f292a9c2ee80c599f4894729f7c04a844421657f249c8b98d71587fbc92e6c0cdab5ca2c5dc82c05e6d1e8c0241b55ed245c08e8497d6e82c5c7c4d1820972add6018f822711ef2e497c6e15541cf03f492537451d7f6d86cbd6e56d98e33f3fd56fe40435e41220f9ad2932c9ced50daa6b36ddabe7e290a5555054b92c178c553742120c14aa95922867088bf364fb69072bba02b0266e9319f0ed09910924c64cafbbd00905095079f8320f0a72094ead4d22ae9f0c6a7bbde7451820f90c382546c08c940c63b6827ea2c1988096985ca8687aabf37d4c343764c48513005f39563ff732dc802b18a84cfa49d386ee8e44fb525e0585c1f142f9f9cb85cd0c162bbaf3706947d08b2a45e0d2420f8f8075bbf65ed83c891e32e4b71d7f07e8d363dd182afb13eb3d7da8f64d82b1a014a1720902e7ebe8cdc10ef11bd1117d0687e95734c5e6657053bee4e76da7f36aca8c038a9fdde0796c27ea56e908801de8e8513bc511b0d116d371f901afa39b0f4960ab384185afb976706a78ee7afd8cf7d51334ebf14a76a374c914d4fd3ecbcdc7638ce02203493dcbab5e1a0435b5679ece7f1904abcb0decdad89574ffe28339805c781a89082a99f2e42ffa658c4cffc31131d9e7bc26990c3bfb83efad529c2d09839a62ba59d5a81eac2d5ea0202ac217074549edab877673fe8dc0209c5b60131dbea223eee09363dacf9ad081e354b019347bc170fcc5f27457346b2273c8cf0f82ee211e396b5b3523b5fa3ca9002b1b91bce074d6d1505a7eb7f4f42c9d0778e7ccc1224a81e724385d53438eb2068ef219d44293ecd61d2f01b7f2d038777ec058a649608cfcb8fb5ecebe1cddabe4c92e6fa2d72d481babaecef2fc3946a3a8a0cd6cd00444a9c713c2d658ec4602f17f3015248fb41f0732c4d4fcf4f2dd85e069068764cc57e03bbcda8746d4379b1b06a5577a546d4bfe5205167a3ffd2b2ca7a6142e07e5312cc2c011711fb4317c7352caaeba3a9bb17b8a0dd272ec38c14c68932be32bc9047f832a62405e76698aaf67067aa0525455cfb9703827002a664791d3fa6d6588815b961520137d716c30f7bb798a83b807865003f5c30354bd8493699019b233e28c903c5b9df119bbd74aa50406211a035d90d2b33dd41c76af28b5f0d2305995aaaa907488b35a6963e174c88b2719e196bccd83fbfb45f143d023b8f2cd2238c12ea1cf8024e46a2262b063baf4c99c9469c763c4f8ed7d12b2fadc0a5f06a7c720f267ff74309d76f3f6f51090d0dd25b3becf29709b68dd70e2914e1189b59c88cc255de54fd0cd3163718658b0600cb303c269e7fbcbc2282b64a98c38f53a3d7774e987fc47cc54c8c727508998d08d33366352fa2645e91c9da6e60be4fd1a9732325677d2efc2ab47f57f49a2d41f91c05e7f74a02019cc7fdbf2beb20b9446a6717ec9725a9d13bad8e37350729805e1463b7ce064e12c8635762227d9ea862525317368ede7a7b2bf4fa9b37231263755823bcbb3301dc34ae573d43ada2967b10a624c505943a848d1b5f1d48e4e40d23aefea97569b67b0ee924870e2839e7167aacc032ac9e3881578628e1cc510a1a0586d368577ba98044dee9fea0eb8e7df7ba184d230817f3cc063dcc6001de6301ece0de6fc9e6012a9065c93ab67a236884e1077a6e97cc200dcb827083edeff227696a60c119cbaf2d7351dd5ec1d449f69b96594dd39877c9bc057a3103a3934f2be5ff0d74afe27f2634a8226aad1700b14ea294c45ab42e17e8b82ac49421ea114f1b80707dfcfead5875183c6f62a61c8ea6223571cb73384f3cba82a56955957cc82647507795e745e990bbb4324e02280b77ac4538cd462c65b79103cac5b8965d3515ff718369de687b2ae7834504edc67b11889c9a769066d876c9aad03329b45041b62a1f14fba7e2417846bbfe8b40852d35ef1a1569d4fbd9d440b4f7fcfd0083c8ac3a46bc64ea1d2a56a88c8cce48de2754b8f626fee8191b5b7cc1f3fccd7c2219b23fd17b760b9534f26d6e3e02093a4d9cb6864b7dfea75b69c79166dd87966f30024ae79869419b071adee3d316131f04745d484c6201f2446600ae334c9e7418ac07488a0d3b7455061709ceb40ec66d11e966843ad49dac3b48c4a8a5f7ada4c6c434b24fb55553ae5e863e95ebb3fd71e2173ace1b7c3cb9adb8429ec0103f211e66d7c1b6c6f75fa74308b2d3d603be88d046dd7a5c935a488704624f3ddf16b3e7ebd2b06712296909ec8ac1430f34bac4d632204dd218b4bbfce2c0cd5f512f18b0492453d2050880f8b0679342ee038bbf47ce4b85ff924d77bb67ba7f99f13bb0f098505b9c3841c210f9122353a6840ab2faad53fe8334e578b662ce72d053b00d00367e977de6c200ece5f50e1b52b11421d5278a3716acf0cf0180e5e42ddfa9e68bf8d7de13a4931234212a7c84ccb87966707a29e909ac49197e6815aacdfa03564b049dbd21f5dce710bb1bb2a69b26c5a6271d9479b31750899a288de4394232411963d11f392514d98aae36d3f4a10d566f19c07d4c80c4a90d91a47ed0b6df7684bc84324bd74e0e8c9482d02138d99298b32c9f77584315b4a96765501dbe189d9530e17cf5cff98e85899b88885ad6f5c6a8b14c67aebc71189726bc10c5399430a8b39ebe13d7b4df091702a2db64ddd6d655ce3731a67426b0999caf25bcb868a04002a810d6901584e947c6ceac5ee52dd33d441121796bdca29ae259df95bb84022c8b07f2be8f0e797af72f5e3fc7e7847c3cc59e44371b07f87bba5be9511465bb8f85a4efde2b58bfe71424f8af66e82581def8c122bd4ae11f2c853693ce53ecb2d9fc894216cab9758556472454ec9696d7300372f5719cd69021b949be0cc217572c58ae47ac3228612d6ea44f3339d670577d63f30f16eb5b53b22656c24cbce22bb44ae8e4de32ec073b1961a0ed4b21eaecaf00906954f2fb4d0581e079c1fc9b303ac05aca33962d2372b868eca29eb8019321190c66bae56fcd329c5875e417cde60c9636756fba49f25e8e49c78894f794cf7642a799ab62918c4cf007c3ec5f609c7929fed10260e26debe23925203a270649df45fb8366a8f09c4303f13e87de5e6ea5b40640931fb70d7b273ef24ce4e9a0d4032d37aacf475d2a5e61fd88647c75b43a8b5557853e2323edee256e6bfff9ca2f79ec616ecc0f51400de147c1a97281a33928dbeaec0766c22194f78b19c276b3534c06d15a840b15a40d9588ffeef26e3c7f34dd132a67a04c9985187e7392b0a657bb0167f900bbd00e403483066e415cd7f9dabc73c489b711cab77b53a20e766c395a89855654e10436805adc0f00d1fc71eed4f2fc850463b82d4f90007b6f03f0c7532efca26145ef585842f79e6a6549131791ffeda49f90597cd4e7ad5465c8164e1a5b4420516a0700d41b9cb3c4e85f568382bced25087690d16c710a605471a5244ba5945ac4eed862b83489f2ee8fd48ff5d6ba1e299f781b7ee5ac3f87bfae07b184538d4b3a9a098772d7e3d35a410a78ddd46157113ef6484bf4bd6f7a70dcd55f670ffd55ec31502e9ffab7002c5252c1c5cb8f13fca0d81b940e8d6e837566d4db0fe04ebf085fae3a5e279956d451422c435f512f97ae900741cac8c23698e713f5a9a23d13b353ed6c40476cb7fbd73e92bb948c12ae9e4800b9f5a7f89e0b704ff7148c701889f228dd799214a898aefa829ed37dea529c104a2673aae46b10a9480e5d206b19925729accf3e53b3f36657c824c0223fe834bb7cf7bf6af88cfa4f5b95d52f79d127a827bb6930029140e95fb26fe7dd0e49d6311a1cfa83ac4380462caa3234ed1c72aa933affe768328845a4acc48ea33ad55064726a053d0f972c6770c67e59228c24f8db7e662f44d35c4854d97ea1194e2de277ce0c8926141007391bbce4edb99286b178d0ad043303efba51c93437572222a1643621fa7588aa934010ef3d4f1cce28d4a2fc41d91a020cef68d1a6e5143a8a48a0457202987e7e5b76f16dffa174145f8cffc14a29723050190d58837fda519d61b1b63b5a8c423faebd4a109fbfaf8fe0c69836c87945292c95dcb8e52fb31b329a52a726db5fd12eb10f76a17d35a85616e1805865871367dd518388cb52c1e9ff7639a07093960a216eb823704e12e9a6738da157189200ec6c66bb4d36d189104c2eeec0c88e67220b66725d8caa52f5c2a90900edd87f14cfb47b28e25d7f61f1a542791be72462d2a6a9b74eb9d12f48b0ca84a668cf55f5eafb8e19a9302dc5037db2bd5e0022ffe7f0bccb7cca6144c363b72d790783fa4e14554c055b089f00488bb4739ff22845379508ee2bc8cd1e4863264e78ec1914254e3c1d15b34062e3402ea4cd742ceed98d3320411b0aab29fd0e5de66b7291de92d8731c06c37b8b043943e8f9aa96c7e6f38c070ec02ac2192565edf8c091961cdfffd3874caccddbf69835e2ff44a8b9caa774cb166e0d444f6431e37205d07b6ba4b844b57b26e3da1cd82cf09a3f7a61c11fe8d9acb53be3b2f13190467c7653fcfea4611efa1b5b89f853a8def59f80067d2a1fbda5f78e4e8f0079f1362bf047b3e6524d77a6f930960f0d2c2349bc2645f656f9d084954daaab81973ff6dbe0dc23cd4fa8397d16d553a00c56957546d2abbe05b9d60a4f877d1b374143b14da47cf04c53b5fe8b929151afd13d7b84a483d45954cf44b0cb899c994e01ac5672856cb92a6865b9daf9db17485698133d22734279d8fb12d5221e984bd4d4acaf932e7f1bb8a090fcef1469faea0c59b347385241c2785339a2a7d29c391c6ac09abbd74d51fb3a5e2a0d7cfc2737c7cfde6d3090138da644a681a8be4e7ffe9036ce33e0c5503441c2d1b4383247c5f6d729cb2d4d355c908ac103873cf3d3961d6ef6a5cf11d2e124c24cca42c0139f627b7a39f2f21550ac4f2d75fabb811bec92fa5903278b70c1310b8c814dafd33ef2ff0b61bb68a8f58f26946370dd6087cefc6038e9902ca684fed8dfe12bfb7cd76ad8276dbd974a9cc2aac9096d83ef758cec8499c1d023a2a4662af2aac68ec5e1efba30542d8863d721d1b7bdbd7731c2c492f93b2ee231ce38cef6f23bb9d17b6eeb885de7b53cef0fedd8439028ff9b3c612a7852bc854b8f3cdeee93e29166f7afa276ef6b66f86f6bd022af0f903dbf12a3de583353902e887709cd5687f40bd6961bca743f818f6425ece0ca33fde578df73ece3ac96ef751ca0291198b125c075d9f4b28e0d3024c56c69e524d14883f74b981fcd0899bec1ede58aee847b28da73a242685e1e4386da43f568b3f226d0b01b50a0c0667e9821fc6075b14759224a7f1026775cf1f4c73aa83abe8f83b728aa9938d24bacb879d3d6f13c18ffad7aae3a2621c3bd758cbac2e7b2447aaea2b13ea26f3f9b7dfbfe2e857317d38d821aa3464941cc862fa255444e678a76c8c4c8c70ab8d0ff36f4ad6f8e046abcc6a0e2a2508efa456474f3b530867f88464831a4e032feab445e2c771caf9b3f0866ae5ab7631a14f206ee44d4284fc2a7f4de2d7fe7eba5b34e28f3b69c13cd32d962fca6035a7a18f2cf56a31a68fa144e8b7d85a65cbe654d0a495c58b4a2bea9dd7445b13372c5d538972b4dcc38ca94619c354c597b0f7c1f8003a69ad21624a71ec14395ad9fbf9871f45e2f0d17545f5965e7d4410abb79de1a09970d975261366b086a2fc36aae8f3c34e5b1f002d2261217382ec6f48778c43fb53b0f9222fd3e363610c6bbe2052a574f823e4350ea405743aca6deaa92684a669b1b06dd16011f15c249f64f0499f0b10d35c8b1d1022fa3a977500b932c52bdd94cc7eb2f17a0c4f13c83d4eab5f9e60d8db208963e9146b2b52cdedf73b7f3005d9d47da43732f280143d35a0080618928664219a116a6ce1e0cce23d87eadb39fdbd8261f17b49bf32b6ae3ebb5314feb09088fab98074dfc64f6454089051aebabadf776fb410bf4cad0ccf40ca8d42efe99b220be94a2d130de5cdaa409aad9f96f748562d012066a121487b36de7400bd961bce3c6114b0a67f0c9b3c817addf5b8f989045e060d52e50acf2e3e0ac64c7ff7774964326bd6112e429f30b097136a1128b4ded1c7aa0752b905ba44c0ffa23f111d21fc56c7d0885327e82cebb70235f0f294752238ec0489573df954b8566f1c4f4cb13e7a27d69e1b19527e787d332365817dc2df59e288acf0e514af92e6c2f384abf2bf8aa78a9a0e888df7b7be5417d5315e78b0f963fe73cb12309c857adfce2169354e067e1460e12dc211093972ba517e15a7d18aa5cdeae562d6816ac1f80e8ab6a279720eb7a74f1cb4f9a92a65ab06d34c86079af0ca7eb91e93262ae88362169be450421f91bf0f2000104c42a955c8495cb1ddfa90e69acb81cd00aaa2f704b6525b3f8ab7e1182d68c1c3e513aca78dd5ebfbdf1aff2082a8f544bd7a3afa512859a6819d44b19e50935fbe66a90cbd9a7e19da7bb7e99b50360cc13dffdd025eef383862cae96cd546fc75cbd447bf3ff075e593a3b12d066f6042e0c0cea01e88d5650c5d19ca43404ab8e6b6f6eae896a188689c2f254bb4867035948b10cfc6959430ab0fad170dd4623daaa41b689bbd79f5756f11949af7da79fee69048b39781ecaea3e03e17f801f53ca87dda0dd671c1f1fae62b3183b27a73c8e79eced71a3117c7a2b74fa985f42cfeb48744a67a5f662a3e44261af435097320a015bb6872e064318b7fdf821079cf2d25ddfb7889f5ac57aa51d7eb6d0520e775de30f477cfdf95f966206a4e30574c18dcb651dcd83b63363c1fa5aa6692fe01e4d3ba4fb5fd4f63ee01ad4a9fba8aa7d7ae97c6e8daf9e20c1398f97b633f8ab97405f06079322d8f6511b717910dd09aff9cb6acc847020992b35997ab8b1ad1f8828c94e3008ca376a08c7e4b8c9c97e8fcd07bff4a248ebe9bbf2cea49b77a4edd455c0ba7ac80db337befe522c1e18af6c991412622d7db7da1bd9a40ca146d5ccb08bec9b183c8cf2ea52cf38a5542c4e13b11b0850acabfd279e20bf8e22cc5fc19f37df34e2f6634391904c0821650293116f50e1df14cb5862086f3c4d716ff0e8af12552504bad9098a339181526bdd1110991fc1855ae0e4c5ec30753e83fef598ee481e5074335ab97aaae5bfe038532d64e26dcad195513e61cea0e0c7437f68da5560ed9376431183119ae05e77c87a1eecd93e409de756c8863bc8f29cc84107526bcb74a608b6149d181ac65bae80bea472155ee32d7c52050d249b105ef938a9de7f34df2d2a9981f1f7750a865b25a1255533d294356ef0172ee2255ec2632ac8baa2492c579a2811a6a6f05e83c5fafbe6b093b5bf0615215ecaaa0c318653dc499e2e4852f366a49b2bd378b1d899373fdcd486c88abea1e661bf2a8995f94493678aae5a9893fa38528aee20486e8d04b78bd3ce4b77b1cc94577c11fbf4c45cb41d57f5f026244ac3d14bb6797eeb7bd2446e7315feb8445d7060915078ceb194034f85dc73c0e4e897c516639be78cf51759f689e31b9961fb881d64f7e631439e1a224bae11d60b6e42b8db60f70433b134fbffe77e0545337be8d8a6ca205181501badf05be1863cc3e01b313f59ceee003b0de4257eb27d06cd3fe539a1a0ce66a0ed3d4ea2d40a37327c3fe9680bf32da2ecfed5d39ea39b64b8e06e782ff96bb070e60274666a82e79b4cc430d8fa4f5bf51187a6ec94db1d94d90fb2f11de515308df025f93afe92c3c0729867adaec4b2d880573618b8476f8de5ba5ab8d06e317ba1f4d11b8b1f09f1a184d8c82ad7c9b6215801737d169b666d661fabf17379af58603596f3e2d19874538fe4a52855d222a24d9a1b79a936843f2a7ff1cae02974b7657e39139f7ea71e2f5c93904a1736610fc4949f83ea5c56f98665cda786bb142d69f2d3106e7328c6a0984bfbced3ccfc569d08c1572a11669c268226b22b5fb19771db9a29051c4e815aa503856da783ca008c61e2ad38a9a8c11b354678e1d0e09ad249d31a2f01fa9c9e895de86bfb2f8cd427ab41d05f2c41e7c4b0a82c4778f3976281a53d461f17e7f594c09e9345d60354820fac4b7a15aaaf55b6a96b916eb67d6835b9dbdf53a8f0afe9f8c5b5d34fefc702bd3cea338189ef839d5c69cd07534c91d88af6f40cb49ef9eac0e434392ba3be7ae3d1b1031e5ed454f17d43a05e0b582d214129cb44977ff23e420bd4a32442f09f2870250671de11ed237bf31bc0a7895f0727a8022ab6e28d166fcf601dade4c8f2f452efe261a478996b8900876d19ffc72d99a85ad466f75e30be24c328a35be8c48292ae99baaa08a53dc7316c089c541eb539a5873e9c986ae9ac46545a3639eb4541ebfbd49babe91c104162d3f2c520825cca79e0e9f4fe634777cfb26543da8473eec89370d3d9f34e2d5ebaf7e0519fa055027cb7530e4bed050c6498159747ff7791effa490f70ff1efcab261bc1b81f73a3e09b0666349b17fc6b45cc059863d618865fcb19a2e565b97ed8eadbe2117c1f3534b2d7c58ca250ed26399ecdef13b2c74fe0f73c3fab18f625c175f7c8ef2c9e51030575888cb678e84d60f9b7fefd669a842ec17441565d50504b415bc981c15a4a3ed8e071d096cbcc7af6b1ed96529db30ba94ab6ae380c26b7705960538d688e8be8202276b66fe819d63237d5d401b8f7d5934af45d2fe67b716130397d570c853b8a39cc8b607f3aef52bc85c8dab4ab36808f4140dba7e01decff52a188f069b99b9a848e83e455bc27b8847f9baa04d30017cfd789dda2671185673e5ec0179105a590960b0eb20271bc35bad29b4fd55f0ad09ef7a059f3f6dade50b643413fc03c90970a7372abcd77644400cf7f70d0aca7c257b46ac05b1b679b3616d0890516cc5c63a87b87a4af9e911119a55f913784153fcf138d2785201394be4b9fa9a4740061db140ed1a3df6a02192305cbb7bed101e995663c996b2d4a18f564949543b2af6a3ce41e94d7517232c49842b770308d5ec221b289fe9cdd62779c312344d9163bbb6120b393d166b4548ca4b99ce4f13343a5cf6c529070a29c83e8e0a054e74b0911c123b00895e491b8b6ffab5f9aadc583d4e26fe0ed849e1016073fabf4163d5d7e64e46abb46761854b56141bec1b3a15592cfb5f7f69481781477cae0f066fedaef18407799d134c89ef8ca5672526d6fb2dc226d3786de90775c7336dd36aaa52692e32b31c1157e0d3f427b64e377ec259a2af8c89a8d1cdb2e65766ba4f3f5ec9d25837bcd45dc16088961d480f5668dfc0a61872484d523085afcd8cf13284b0c0400cd5c96688b12b0732b461aeee050fd4de535f6a4a33b655ad1f3d8e85334548e7782855347efaba0a364d89a10f987c7e5a8eb35878079970781a1496ce17a8a70be7e99f61e429271c6324b4b91afbf2ee33a8098090e9b2de08cbd12359006aa3eabd7bcfc572e017d22cc9ecc11b9ef9628111e1f27149cbaee8ea1753d10aed757c7c5b379e79c1da5099a4f6fc9df3e7b38b280a7fb8225bf593b4bdea3c2f6cfa940e51ba39c637146398eb8ba6def21e0e1ed18bacd668b7cd0673f6989b0102f3770093523ad02abc8bc50fd4ce508a32ca694042dc9a881beb40829c290f215e2a8aad8104319a8b6d65fa2e4766c34c4f179d4e805eb1a425d6b28cf9da601b0bd35dcd22294c0503208923e0e29560b42e8dec48c6272dc131af3c0a021cd55c5f758d55ffaaad5f454d3e36ccd4b9b18257d488c87498c1059fe2d5cff386b78e4753a11084372b918cecc33b9d2a136df45f542191829c3548bcf8248b30f72ff3e14e10124a1550e352bfd95018a3574daa6f08c65dc6e4fc32bdac15f6c859aecb4352f2f0d20cc0a985808ce34e2235777d094904f0bea83c3fb604b96c122256bc5b8747d050a20558ef0acb83feaaa6a7dcd63e53eef701ac6d2a1b37732e02e79d6b3b4af052fbc917e80baa7c2a2290f0585bdc1db1aa269fa5f2a817d6fe6b6b46aa35fb2cfc34408ff4835298bf616a0790d0ddcf0b98848aba6dddfdace673c25b6f2ab17b9c05611e8ea381df67b447b166db4e5b560fc94f8b327ec9c4289b4dbb04511f2e68a7abe7a72356926c7e0f245d2abe7ac0de5ef83e92dd9a2a96cf5013cc3164fb1f5392234c6d88d388cfd6e995efda58e3590e5cffc229b681fc3073a36dd59c9e53be46dbe52502dd754cb86250ccc6741c931feb72b335107d223d024121a142fd5a17b8db68996dcc35b956eacb22fbdafa31e76927fc19ad963df80b922a7aed0fe3c826b5499513af017a382ea02311096898199cd09c66a1f0144dcf755c0cae3170505714ef196542769ddf9fe8e8349a48ada4d21b7a9f0496b86474b79b7641c2f2d9bf06bb63f16aad809dfe549d595a1a394adc4dda8aa898b81107bbf69160e65d03cfdc38c3b15b009a5bab0c9996a7c8c3c8ed7f0279a256a667dfa70c343570b15691f0b8b646308711d01076187c2e569bf48d06d25d7a45ec98eff0b13f70722780ec1283e7458df7032cf6a9d441c22a10d45fc57229d33f0045933a991d5af4b30efd85ee4e8ab7021c647c119c6d77e6faf81f63bc54cdc4be846c694065e27c3dfb990c8a4584b2179f128cecde88403d6e07a369dbc0ca9999e0bffede413a365344cd442cbc7d8c43d92bc70c047b4ebc02317ca5d6ccb9f56e73375944400d587d95a93a0d80476bedb53e77057c13a34453d5cc7545a1fe92b573ec789e60e909c35628931348557e8aa4fad3e196ecfaa1eaf7af63c6f90f8f36655e83df2dcf3d3b43bbbb3fd6d29ba8980967090d48913317d1c0717073b5af193932a63e73bb93910f002341b12dc4163b7d9f155a6811fa0dec34610b0d99d4e0c273b8dddcdaf35980cd7729710d425b0fe9da3acf429f3cf31a1de7bf255b096c515010bea7f1ed08b26b5be1de2b5d4228006cb3a91a8e481be65a3725ef85cdbe13baf7b70fac26e06cda370404123fec76e9b0a142e357ce4bc1053a0c85c458c328c3ae44c4427a13411f5261de1feed7a4ec64d4d699ebe0f12dc3dd8c31b8a43ace67fc8fc366d389b681c382b9e90d85c3477f6eb661265f64f584f1d1841f461f9d49bc482df0ebebb641586b1002aac8919834e5b03f42bc9db87ee905c4d75533d09ffcd551175299b86c9c1be58a30573a5a65b3de91e6ea94af0669d21badf3e03932605ba3602ea9be391e474656fcaf7bc0382ca8f192e594a37dc68843fc81adfa8a7adac171c9c1e4ab217bf0b278d915e9fa5f22f077d5043728da97a9eea99a5b502642714c78bef68b02f1802e81b674a1ed9b4b2c63e7dba47d4095267ecf7bd67b1d18d77d80d3c7946410259cc3aa75517a0450b3a6976762fc8c033a0aad2b377bf1b16e9cde331fba0fdae920baad6eed04b64ef8e18cb66249d0ec057ed1a7295db826a46a8a75142b4745d844132346bc1b605061de01df9a9c077f26bb329f8300dd2e24d6354df813865a3766bfcf5def0dca3590f4dc7dbbc4c4a8d1a997f22dfd4f3db77935c1c52552bc309cacdba5efe71472b27ae3eee04e5675621802ced14ff7b344f86fcf0c6380a8ea4f4dc4f59d03028e07f9addffc2ab0bad8b2070eb59f3ab4e01857f3daad6a072bd0384391e63ce8e3db35643ca211fd7914dd2f8af4ae092b70baaf46feaec0ed0ea2aa6044d3f2c445afac9d348c4d7b432a13fc35e0c9f80440c66d0ebdf6557814a436943139a3eb78ff8aaf3bb4b7172be475e180cdcb7f0692c09a4b2e6ad9ece97f5fa59be843a0d0ead6c009b8dd90e2c8251f601a5823c5d14a0b4ee1d405ca390ef233fa083b1c6907139ed8ccd0124de35376eb5d6f9a05d944f274534a23c536e1b0534520db233c54c00a0930e888fb0253c6015979350b31c08f0664b3d3a5c43abad7c99f30f11ac7615701f8e3fcedcecef67143a2c33e7d803e77024a76531e497ccedf4cd17c32b435f9b8fb8a38f1a1ecc1864fb96af931efc6c54dc0dac0c4807deea64f29a602ec5893e5480a3cb682797fe55a66276dc2d8732dc5cd3f7677058780e56eb492b14871e9b069e61a2d8b58c30231b9ac425f9f686addabc83ae603aea4a17d9cb57b50dd1720f2e2e1a26aafb82388160387d09140078c32f36eb231007360599f4452d99bac630aa2568e1249ceb6a97a601e3a44c46639a00d8672618e5bc082acf5702eaacdfb04d042a44594f85368cc03fe30f9c3984fbdfd10adb3fab06d96316798d8ec5db85f4556e56c3b30135553e74795d685fe5b6eab38a32b8fc27d875f88afc6a718ae564c91d7e16b1be4a51ab63132b22a540b91245b84d348466270f0d6fb9f78588cc7290a588d888a23f9f8a1bd07ee2da47a04e40beac5db3812c8f2465be723914a897a2d203b6474f1d1a527f63f27a4e5d3f38bbef5132c1cda76d986f2f2385fc4819277476917d39c0239345acce69abf32ed3ad3b6c990ccf8de2681ce5e6e331c862fcf43101e9bceea9a73834c5907625eed43713173f4d67baf6a54d30015fa91a1ec23559cfe465f33a42b70294e6b023a9ab66fecce1e946102fbf032bd8407718aa5c8cefac6d4a9ebfbd721bb3d2e9f7619ecd2b795375558d9d42e4888ca036359a725a18ba698be98665b92cb293187a20818215507cfd951f9dcafa164038ab0f4627a3c76a3a9ae632f18680990c00556bf02bec717c69579d8a85bac6a359c39a63af745fbde8d734cf42893ee3a36c48e5928728160c392b89527647b69749affbfa17fda1d8a7d5acb528b101e8cf14e985e45c02eb7fa41d3ff90ebb8455ab7b865b885f64c697a9771c61e49a7ba6aa857f55a6e55d47d248201713ccb4ca80042f5164bae9181f7e534099cd91d1616d4c0f13ac548cecfeb8fd047081d7867a39b54cac46cbe6a0f1edc3ffc94b3c5da3b76c789c23c717fe36ff9c0c9a7f216c4942e2656dde5921b552cc9a6f14a8bdc41fed5af90ae47c53db66ebb6d4db6b96bb6a373e739b9f1249ab5de5fe7b225e78aff2c0385ebed5e9bcd79b748a16409033de2f8d8ba20e457d77f9c02e2f363395f534ec2ea60d9cfebeb52cfaf50700551870c908feea649387ad05118826f79370cb9d25306b50d5910ae7e56ec4afcceebcc26b9f0bc23fecd6816fd6acba3f58f1f84ba74a238b8deab5f946c41e7594489070cedd0c7a38db9965dfbbee317f3fd004aa0927468c05753dfb3f144bac050b10e7919cc978c4e9576b0fd5a168b444a77d834ddb63f4e6b6b07cc3b0f7c16dafa81fd1ce66751f2cfc00bd1572f6e866f5b799843680c9adddc4403f4bd9285481e19cd680d4e9d63570e5ad6a36b1185066d72d60e1a7771d6ba5396f739a8fc07f2da2cc81c4538b30babe4b341f390418d2685af82faaa3b3869f17b2f233a9532589eeb8925456d13e309af202561ca41019cb3c6845c4cba11421d8166cdd39a176dd069c5aa71adb291b5b420cbfa57a5461db2f9f44c8704d49a528cfde29a91a505d55f609a2f93fa9ff393ca76d63c861d94bd3398e5d2d79a333dbd7cbb4c0475af016516af146462ae14c72bffca9cff8e6e5606d92af51738ba12f07b439b20163b3a34f905737fb0a90a6a414708d17ea72e74912ac0b2182ba47a058647ccb0e91a23ca5f645bb631279e057766d9ff763192b79ae057ceb1e03a9300816528e23c47e044d23b15841d056206dee794e8b55736ba6a1baff020cdc8554f4c503dfa32ebaef4a29e124514b9490fec690d4f5562d2da865866b6a3ac8f892583f71e34cc6342237dac3befce6d49a8fb0dbe456a0c5854851220ab861803eff52b89e7a58d353d9409815fb88c441af3c1989b49f7d63ba2dbbf9dbcdf8cacf597195dac5c599dfe8cbf424d92f6d7de6989e36f7a9532a0bb1dfd42c86341f111e0edb34857e47e581c3faa6c85b23b13262824054a82b636b87c436543e8b73a9151dc883d8f94ca04ff9f1bb04b7d5bc1c8f47cd7ae1e6af433eb4cfb7e9e3a8e6466964fdfae1b795016b70bbc8a2a8c8f6c9b35e8318f5adf4955a57866285e69e40dbb377d1501f6e1bc2490bd79c765046e2e5c912344a8f4c799cb1efc880182b96ddf81807dc8801616a35fbdd0a3304520a2f6e15f7af04dc3f1a01a43651f6f64890196a923db3a41c97ca05ffc01ef036ddb145120ba4ef7203fbdb5dc0c07fd085cb44ea034a0e9357aad3f2bfc4be0fc288cf0faeea36aa9d28cfc32669a4fbc89e7faac94c6c170cab12948864149f3b5da016b20d9a966b8c8bb29a46e72641187f013855713a4fa7b2a72d7e5b038e4273fab91f02c07eaf6345de540679b186a17d628fbb9a73ebfcea325f87123470e0b5b1632f6bb737c9b2aeb07d2bb93a6bf074a4116009dc58316380bbc6c97c994053f5c487f20dc03b749b17a6c5f6ddc2a8f5008d7eb42eb6bc2b722410c4c845ae3201d6a8114d3c1fea396aed435a455ed12ee353b68f6ff2a8e47faa54a5a1f13a1d7e0a3319127b59239a3da842d999dd3cc3f5cd70df4fac2b44bc3c06194db6569a9d18055f7bcac36668ebe9f6968f0810efa631a9ac920b825a56911291c0194610751c22216c314bdd4dee199561e14c6133ff7ff84a1bc5b834cf02250e001667c39d3ee80e03898addd41973bd766ef7db27e8e3e8c831a1fe716382ec498f2690dd5dfb11b562d910738c7f04a1a503eea3aec1438eea4d082ec90ea7254f41b1c996a3c617c7b9b284d26828dc4096945932f8e4805862522e8db0d225395b26b0b5fa29c5a33b7f93c2d8b6aaf95a98b52422d64ea095f0dd7c32dd4907a77838be4f7e889e4b278167addeab099be19a0f5d2ba129a8e1b7f04b85b3bdb57b0e4f203eca31938ffc7fb130ba937f56eb33ce9cfd46b21120af5db3615aceaac0af2e2a5a51fd53cb2d5cfef78f89492b3fae2f231fdd238126dd42c9ae4526d5c1ef9368dbd2c20c50e08f0c67774493a73740a5e419761fed283a47001480db3bb3dad272e095893f41eac08b4ac19b5924b811f658cd803d40e7acaa23d9c4f698de3f04643568f983c688fc93a3972bc76f3d14e9829b30fd7840b754ee51ba8c5dc7f3397edf7700b2777492b0f59e921d8b4d4851c52eaa719700e828c1a326ddafc0c68e0f2f9df692a66b631d7f97785422accfeea09554d17e2966a9639dfd6b3626ce6f5c6995c6b2502159289e8069b39f99eeacb385b06c2a7f93ec302da3adb6cde2640ef519ab7f64634f5a4f2b3d87edd787d244ff6f08273e6f05b9a332695093557af69fbe7ab6f28dd7340ffd94d2994adc2346a6e263fc514e3d58c1ad489e6f223ffe1b8e0abd39229d160153c14ef93d8f3a05554404fe70e666cfb6e90c984837e108f53fba6375ff79db0292f3eb62eb63a37960770494be883fee6956178e9a2e1d981554e809777c8acd25843414a547862ffe6bd724e96e51e7fd18c6923e950e874d9e225b25ecec1e9c1d8e8355cacf71a0e2f31bd10ad1f630059c77e481d3c25373e0f7b54ebf9f4ccd05bbb539a0824eae6119ea60b712c269aceba93c496c68636d20d41df2c5f44d19e936816570b8b8aae7024ffab93aac4e3476fc2ea090b13ee2154b480a7f188ac47794f3ff9536e891f204ae0ad529df29ff504b1adba5e941478ee1174f50e46a2f02dbe08d6dddfec15ac4125ebc9d95f7dd6575bc54ae601b7a5bcaf9c544dccfd1f3103032296f6d3df7b852aa4ef62521bfbca008f1bef28b7b158ecc4127ad66858fef825a71d36b2b4782c797c5b2a8e4a86fffb7656c874e65f79cf97a3152570f71d93f0b86c2c8d72b61ff93395233e5379716da6f942cabfb0fc7f42c261b5877ea8cafd380fb37d13bb4e227db8444561ae4bf24d69dcbcb19ed58fc016ff3e607efe10fe31c667a94838e09e0807b8e5d64b9f09045eab15ef121ce14d7de236698f99d2a4d48f3087ea741203296111a123fe2b0f7844138e36f51e3a27053d72d9ac80b04ed952d5e84a08af96ce06c86e9ce309a6cbf23d66ac567cec84e90a6b95d399aca1091eebc27dee0323bbd2e9a7acecf550ce4d9624c2dfc47e6d1b3970f56de113f10eedac448e5cb1a078ac653d540f91184f7b6af60092666b1917527abdb721918b45cc4825bf45458e902dd57df16f709a177a53ec1771d6397c7c4a116bc55523cd5f3dc8a7246cf7f6bbf89c2188406b748f878dcf954f85bb136c8bda226bc5870e7e06f3895fd46ce6163ef952ab5412f2b32e2f6a4b4149722a8832d6b780157214137e7799b333e2eccd28dbbac6d8971a6101ffb97395206db05275974c20ac0a6a6688dec382bdb503d581dc313baaf6f627c9392c68736aa93165f4d7dcd5a1540dac25b3b05179be6326901bb1c97e29e261845af382a910c7ee7f27c652eb7b69a75e942508722beee1ff121ea6e2be2eb32520d3e0d649e52f565aaf46f72547ea6c2ea93543787829d424c2320a01ea7197fa64e1285e6b6f38e004b98fb1de4cd666b3a6c115f06d1eff69bba43b1a69d4c7ad226d56e82e7fad19c8440af0c78fd94930aa49aa749f047aab7bfcc6196c36936098601f3800a07a74c9599f4faeb72fa2a1e26ab2028a2a0a1ec65b363de5d33e727af72bc6aed279a611dce63ef74d5d00577b10de58b0027a20fd9274aeff2d798aba25243f9cc8f06d140cc91a41134ef2241867e43c9e1121de4301a51ed48f881d5ad00015804fc3b5da4ec85f77c45bc469f402311c9bf2a0ea4c456c64675ecf60fafa0421db25cad96f66dc3db7ede77b5403da445cfa9abcdabbdbdb85ccf1ad6c735fc9943521ed7629ce0355909c47140096040e6566436e63f9ed0a49994edc21075fd95ebbba1cc4d299e8f4e23994d45aa427034395f98c1fd7accad5615a1dd230f1134b1a9526fbaaa093350d56238e8c22583c5ba80e2e1e686a0519102ca6762227bdeed31fc286e9ab3f1d56223979089c38e5ae3854418e1b8e728db7e066c117282a8c3bab0c57f23ef444788ee35fb82cacc569bd6935a2b8cc8b11872c6966a1d37279f23f66ca386ff103fa2567a58001a015139a0c93dc12d73310116f1265e8ba53c25abcb899c352426f5f7f8db07a88e465ed48ab2d065a42fc85ae210e7a4c9d86958f73211b8366b1a9b7f49bd216913643ad0070361e14eb1218f668c500ddb2af84bb4f3f1fc48e3f40dd373167dd62ab7f0ea3cf29853780825e12f6f59bb0f1404a297c683e806bdbbe4418f0aa5a8f1884a85f1737eb0e97375d01c2c87c2c5f4dd50ec5563b6497905ae6c09fd3f9f10417886306e87a380a12f3751746ce78cccdc4a1219d51ef07ea9441395525d6eaa46f396379e7bbcd7e457c63b3aab72d0e95c963a2f02810ac14e5b502ae4d5b677c15c6fd6379ad45fc848eb8608598aa383af95555fb2315c1b3a4a0109a298aa5e020e97ba75c1f6fdd4960322eca57f3305aef744dfaddf898cee42aee7287df7ae9e083257b901ef42373407bb712d816bac57727610773b6909e8535ae38a280a4a42b38cd3328b331e947a95b296dfc779a8fb5a5d75844b709dbe6be7b0614715a4740e8bd633fed6809ce99e6ff666a058318d28913bc85932d6f997e570139d4fc05c735cf131199630dafeca09507d2783f4726a6d9c71b49cedc3a21c54c43a5a5ab03540fce2751946d3b44a2b4029db34cb1d248ab62d9d817e22eb434c3df34476ca623df477d17806131b682b7912c3c4e2de22a56fd817e12b16992f3c5f2f963cc64c24f958c55a9b3f719114e559446fa316e0fb83e5f547666a6b73e95c6706f3db07adf050d82bab2dc1a21aee3d2605c04e81d25ae0ddebc4bad5c2a717d922b7cf3cee0b3427440ca55f897d4c83cb9c2da705492a23aba7f3f1c9a78b969957f96118b5f2945e5c2cd8e6867c4a51f45295673eb654887b8a832c72b0aae48b69eb7eabba5a519bec9c3f9331d0875ffe3c5ad9d7cba82afc690378a6a2f13bc40958e301f7ecaa64b70fc4e76f2c92b9e34ccbf9ba04a5103a67827678569ef6cec84da8179c5931401cb860423c39ece283e2b51847e335e3a79d15cba2168d2009b53a03dc2782ac8a778d350d9ce7d580389cf18288cdafc4384a22a61d0addbd0d94338da65b2b04dde4fdf015393c553caebf5b017bbf5ca04a9073f5de19f53d578cf08a22360259146930ed349b9ca9b1c69920f3568436113414b8a242881b800c74ef879d92c3da47a7bfb41632e297f6dc64d2481f92a02d2366964bbb5e9b027e75835bb7370ffd888d1882ee3124524e8dc066a1775cae7e98085c658bf77f541a35603d092136c87985cd76e2668667fde523152ea312e2d3a3689013ae4d5f7a30c570cede77306ef81fab1d0ae1b6e046fa7dd7c5f9e6805dc438c768d669e5e3af61fdc772599e10fe58db26c583ee63c2b1b3e6585558ea19514c2b2657e4f8f4fc01daad1ac2cd0144234e3bea55ab2f79e68bddabddc668aeb7d34f58b54af8f5edbdc1d2df5f10d883eb0077651589148ea89e2cfcd292d3f096e467ce17ddf22c8a0f0193e6901d1e14ff3ffbe9d77211fca0a8c5bdd6ac7c3b68e410e212afb0db3765f142960b1d4b346fb6d66197c015b2a1415096c758939fe4e3dc85b1443317b1aa8b1e15437ecfe7c5f7e303704bf8af0cb90e96a32699d43655fe68f55066284cd68f363c7e688aa1d4d1d6921399753883bb05dce6fbb6f4ad3c4f364b28deba3e200cfb1ecedea4877e2117f38b2c86019545a7aaaeebd1fb13e8d4cb5aa067fa593a0ad20cdad7763b81f529e08cb2f622b27baac4b9ac7147ff7aa583dd4259582fe99bc0da31c8c67f7c7764d576623fffdc1313cdb2eb8b9a468cca13d20327c554109592723d8428a05390fd8459adf4c044c12b4480d09b17f44eb764de6b316b9288c1e21f0a5de534690bd844f0a29a2c736d4468dd4063666f5ab102e5cc49715e15d928f993563db37b027ce5925405ea5c16df6818b80330f4ddc5f27c21ce1969cf3787025b450fd26bd8e47333b350c7184b0f3495ec0ad477fc6e83724f8905d83752cd01dd00278a13328a4cdac810874c56b9060da93daf01a929660effc8c78a42d100edda899321b489e60e091fd6b72294c43d895c03440286f1cab5e779ec3d02ebb09ec3bd80ac91b0a3aa11ccfca78acdaca1c9202956a6e84bb02373bde8587ca7c6002131eb8b00cf75d50bdd67712885f00edc0622949f330fe06c84d5d500afb8ecccb770b763d3207d68cacc38deffeef9cacebacfefe4eb65edb8a2329f3239156495db7798f4cbb65e346364ea69e1a306fd11efc3a6a9c48ab86dd2a00ec296f10df20247545e2cc90660a9b977aba18b2ea2edff336c0d3fdb23a621bc6bbc56d51d214679b8aea3c9eb475c54d89d6420164fc3e43ed61d623cce0c3bcaac062fd791dc227d17eb70b3cced191737ae89750ba9ddc2b54b061bec85540973f44b2594a3205aa71a9bfee12732870e41a0ad8d72f01da9d50944a48840cabbafdf106e7f3e75dc8b81833fd2fb3a9b2c30675de723b5b98ac2d9f69f6bf4dc2168306e12d8292bfa386b7c8b0b8274afd9501a36c680bd5f5cfd5ea44a7101edd12289b8afee336697d7748ba1b354a9dfe311b87588d937ad6a294ced1a7c39f10629fa9711f538bd5b8e8c16642a563bcc949d28a358be1ae33bdcb103fb77bf6d4145044ad8154db337da498c1d92e303cc7b8c932d40831db0e9a165b802e79b6bc9502d935dddc7898c7c524282c62cadb39703f583dffb4a1e274bc9677a66b44a3e445ef2c9ae9f87310d46d491735b3f98c8510a4467a543190b897e399e280895f162ef65737a5f24c0e6b76aa5f7165d12d5e14b551b451ab2c8893234b7efab0a05e434c92b94f420a85aa298aa3b48626a8b70b343b5c2ecff782661e0ecec4ab689c0500911b6372c7859ad6b9f0d088179c1218932bd190221eeb48a96100921e92f03af8093613815c9e26f6bacf1cb8aee9ea43d56b4003441d6838f9005adefdc329208cc35107ffabdea877dda48375a1397c95912a81a5aaa07183962c5ca1618f523aa74ceef526421fcf44eb1e6e8e1db616a2a95c17a5cc9fe9165f5c78151885d1a484bd8aca878ffbdb140489ad6fe15a3188594f04d773e8b0db6c752c853adbf69a9c6a123ba7ed27050022ff92eb8f91a9fdfc6d054950c735d4028f2b97f53ef173b97bbb098f10f7a25b2553eca3bc21a99facd7c9cbda2bb03bcc71c785187d5c9f06d2510f6d931a133549a2198077d2af07170d186fd9e17879683d714471e6297872fa3c64639b41828ee029f0be8cca3145b6f9972c03c567659406dfc8d16683fc7e216efcc871e93f261f76a68adfb809bb69ab4edbaf140064fe6749bac66e8f9454c7f01e0a81424d7ac2e605dd63d99e06a983c3fc623e3c6adefd3708372b3d80a6c19ae3632b77b0606bb59c6dd789b44147ff635b32422f551738e931f8d5b6e5ed952f05ebab8a3b28b2b404c920d16c35a69f634bd0bd05f100e6dec59bbf7a13681993f9be86db5ae2ae38e082b8f8eecfdf832ab2297c8bebed034dd08cb1a2e79110c67645bfd97b47477ffa91ee9c29675a0c15979614461a019a77f074c7f388f9b093cd633cf48715bf400fa541f2311f41c69257a18e39d2b063ce7b22c4a5b6e92c26526801b6e73d07b60823576cda8112a8e2c6d3bd0d56828491af3140b1896df2229f71ff899660fc9d43c84c1b5fb7472d235fb9c883574377dfbe8be9bab2a642dd3b13ed79de5b20d79928749ec9e14a523c2246bdf19ebc205a52273799444cbd9a3274ae954ef6bac554ef4c85fa41ebaa23f9f3de4c8e870191702f04401855792fbebc29fc0d678d493d953ae940938fb17f0702fe8f8b451a5445c7cc4748187483664b53b5aed276c11481af0f582804321518aa75ed3d0cb728a9068f33a6a770731c1d6025bd04b3a5878e87569c0226ca44cd78c9a1d653e965eee15dca95b27761ca529975d465ddbff5240a4a2612b1cf8bbff534ec06e901b14960f801f0c817110488ba2eb6f37dfef2e21ab8a7dbef7d900639385ffd13e8c095a23dd23304f13b81a683bb9cdb7405af09805a02ddb9d3bd39af5ba8e5dc84a9aa0c3bd1b38ed48ca023d59c7fcbb82eaf20fc15513b378925d07cfab41c44abbf4b51c52613f1c89e08d416265c4dc7c126193c8470f32250e303f65fbd6f10d58e894835c848b68e0a709fd4e5df235f5d498d41259aac9b66bb2c8d0f9b36dc3b07b2c639c487b7b261d4b023898ae7ecdaa85478085db59667b86dc1adfe31dbdb4a1effaaf2b01afe80758ba88204d38e16d9085348d52964fc0010a7b3882652685fc741750c964d1aa15425d29dacb04524dcdf212fa15ea25908eb68f1daa0fc14d5ed64da1a1f872802d1303aeacafb3f339aa8aa82be92f2a50edbe4c36d062e4f7b662e1bdee29bdf33ed6b3e853a7828d886103c6b438db205f9465e0ca0ef0aa4d48a547f4e777809caf4054dea7a358d381d6378a103994f5da377f413a3e2b114a7764ead4e0c94fd01a215880e2605649b5bdb4e0f6d21829efbff28479e4f81be7cd285e0c97dbadc02da6ebaa992feaad70bd5df089c3d0f605f02c4728ac8d0ba0e602fa58152773e00b0bd4611a3da25c0e3d92225bb8e151b409cb550d7510f88c3a7e2d691c8164eae7b35a885b88267ffcc53ce99441d803715b0496ca1214dd516fce63a5428e8e4c02700fd1b641e36e4b9f1376a36b2291766b87a55f950c87b7d8421a3cfc6f6ea94931f056622e379f62caf5ca688d28d8e10f77ad1182efe981a482e429969c985e2b9a1c22a1277ba80a73705e43802279fabef44975829bdf2b194e9cfabdf7127fd6787a076a1aa0c2c2378b68572eba27b4691e1c4b43dc93568d6a10a752eb16edf22747f66a1587f51419e7662fb57acb19cbd8008b2bc061c04c536c4d8d3d8aa2a97d180034494b92d45bb52dc025f24e550831c24698ae4c69f2626d35e2c19ac744d578579cf4bab7356eafbaff5a30ce180a9dfe799dc194e9f5f6d61d644fca10720a252b7f1c4695aaf5c83fb88e5d528a08be7d8b3ebc9e18a51641de04d36be0c2aa8c4a74771018c4b4d44c2336e33f4cff11a2ef3e4c4bcfef232ff60918efc90b54f221887edb64f735052436994a1489b642d126e560ed6fc05a8f5aeb59fd17f272758fe054a86a567a4d4aa7d27e91e3a86807256c5431edc6de53b1e7e84598fe8fc9ac8be8555bd1db1bf55331b1ea14b7e98bd3b40b51de9556138449449eccf638a18e5b7b5d4702aa59e92cf327c160dd9cc7916bd518db5593ef3019309f3009495fe2eeef9d3339bbc74f0671ce6733dbe854339297ffdb5f6225acd36d25b370da0af037aca19e9b7e79f8b8ee2789e6493c3fe2d6a7703feeb9e68f5d106f90040f68bee6e2e275a9e6ddd90356d6d733104803809cd816acd3254d3f8c1668801a0217c8d96d0bc5f34f0def6346cb42a01d837769630addb388ac10e663f1c4a3ea20aa8799b57a7d558f8f5d4c0410bbd09024c9b471a9e8621b9803e6ebc8f93e34462a5242d3b5ae93081c73ce4b14bc01152e39a5ed49f3995a715231a1922d5b147644f215f0ba2ef66f92145c57ebdcbde7da9ee53078bdd0927464fd739c5ccad973f71d842063803bf5a2c84f8cf1d8cfaf9f2dcc99488579cee3e5aece99745aa9dfa156d29b1b5d529c01663e1039a0cbcbc392f26f2ffb28283fa708c78e1b2d7491f50e020464ac9f9e99c070774b7460c3aca649cb5a0b239fa158a010d3ddf01551b02e1a159c2d8908eaaa6fa0be981a9a73cf402377dd99ade721e4498ded0e92e22f3fb5c1dccfa7b060c316aabdeac4d99aa290a1322eff43b99650faf2b15f096470faee9d79cbd1b2b6ceba0346500c4a6d8fe7da276abf8be67e778be1405d12f99fb9e909d3de7a9e7847b94f9f79ca727afdb73084ce2d6658f705ae51ea54a7f5cb8c118ee92a30f3d4947b961652637ba0a228fc9dc409e18224c5093fc164b890142e36f4dc982b7b233ffcd7ef9d68a305d3e9f6677bded4d4996d2ed473f945dd4b26a8c9590a5b14cf31579a1173daff03c1a02bb486b7a8f5e1bc0bfdaef218ddf21cf7ed75c2fc87fd172a8e2932c2f2ff2dbcf28e3791275486268f98024c582d998ef187d5ef1789c5f905fde93bdf6d464682aa74d355ebd0335ead5d04ba22de0f4a45c1a19a6fe720b5112fff995d37d252c683fc02f1e87d3012094edff4f571da39f99e3bcfa41cc20b9deb001814ea34f971379a555329ac88956c4fce3bf7cdc8b5da89df264371f3f165f94c66c1063ae776f63c45b58b0d36a9b751a25f1a68a4c868458a5e35ab119cb85035cedc6e128c80933517a6fc17298f79121f3e23f0ec074fd7f6d3362e4e01475dd2f8915cce8b77d7976db4fc1f11bacb78cde69cec13c66d383f13aafb4ca4309095708014a40471d6b3e3946d01874b477f40affaf007dfaad255d22158cfd643da2e84e947a82cd3efde3e6476dcbd6faf8a5a023c67c5fe571ba02d4981806edfdb034ec6e07cf87421c5d5bcdf46729de0fbd9150588c8ed713051a4780b95f31926798caae9fb2510a52bd5c20d86defc5332ad1f6be7a041c1cf2c4fa08073bd48c4a1e53f8ae259838e9d40b88e852c192b4474247597c0a9561dbc134a6a89cf1e48ea98f201d73d3f35f5905e94863d89bc52d05d30ca78d1f576481138fa12ef1086e399f6ca1e44ecb413c839e7ea4843fa2464f79015fbd193ec3116e4504cc8faeaf3966278b17a6511d92a8d3e6d2bbc73b997238c3c3fd6263728a53917680c4b27456296da360c5e3d70fae66dc72582b01fb5768c7c57b86e0ba81887a4a3ced83f38a27dd362a84fb68fc7ee4b50e4a9ff755a2aa3c7b6e62cd4a01db891dc3fa8d99a78305f02d5068bd63fef11eb144cd2d60f491881c933f9c27e497c72ed24aad541e33cf2891bd8c15c10f98e46dac0866b71af921eb3e5d41884819a23dac4185669dcd4e3a9d68a752cb067413086ed188cc66e24ac79c70cfb7b55205f9ff7c972fb30e4dad30a9509554bf3bcb6090885697a95e6163f6aed42b9ef22a9d531ffb1790415a52c5fa10f407413f922f8b05fabc2ce20bf87cce603b19eefe115db4d351be97541e93949eeb5a26d2e9b382b340991adece7edc24f31ec74d4513a8b2b2065812621a5d734167a7baeb5d8a815ebfc02d598fed189d271ab85940b5a7150d50b7ae4328e6253b0f25d23c6cc92ccab2243bba5158080431ddcf3134c8c0ade8bb0e98b6bd59e3f597a19f2c512bc1ace84f52659b7cc20e3fe1d67f98d5cfd37d4919312967c6a6ade75ba97a9e8adc41bb39a3766eb19a7f8c9e24c79b3fea2d2158677a1693d82a85bf07b0091ac7a5a3b5e23bee95e7485fdeba9f7983a4fa7e0367c7e31f2c0a45aa9b94a1a4a8aee64edda69f634032bb3cf2ae240f6f7858d47b31e7de38676cb2c5df6c42e0cfefd5a13d7de069ef84f61dd9f07f6b54cd66850d85967f19ec070d31c108b67fc02f146db7603df162a2740de4417e1dcdb44c88a8bfc2b23e06aab9cc010da8c15d404788a06025d9490369f649ed2e2817210918f2f1fa22a6648431157323b836fce7b2c20f40b1b5f9631fabd9b7bf6bfb97af7f394a29aabe24f1688594e043c0b6e8ae834a5371288ed8f4e4767fe85cb0b9866e8cf12d768c5b4d542adfe5e2f6920831b5bf57c80dbac25860840ecd3596ef226292909075a8aab639ce225db63e9683dd7836b8324e4faf8ac2cb9fc5c866b8bc270ac4c99e164d148fb6fbbfc07f929af3b1ae3019c2a93a74eafb4d6221fd4772472a2117e5b041a83395aa39f774d89df31dad26fcdc16c4940c3895ff0a40bbd6eefec3e64fa5407b4659355d9e9b7fac0d35a76b068621dee75eb2f79e949cf3341f79e946f7034110219df9a767d4128f775932c562d6aab34b7e4c258fda235022a393360fc5672375e58dd7102ae8bfb9dd84404b2d4740812510b79f7c7e236e18f964bc6b6aa183b4e133467e56bfcb7a3a88146503519dbd17a872e380d7e2744d7125428ede7dcadd22d12b3825bf103e509eabcb69f3e8db9db86c6bed0535fe7972507881e05deef35cfbe3606dc767b5ca1941264ea29bd63d5de7b948398e12ccf7d01ce83ba1512008058f79e98ffef48be083a48b1cc62f39cbba56da1b2ff856d40f1708d15dd02e6ce2b53a8b0f84e6bc0ff437f2242966952914121a8a2cd5cf358ac33a08101058474f20232681d33cb5c2bc317a48ae36827fa06f53803f5cc8bcd013645f779316407cfe50d65ec1ba97ff9e242781ec7b37d807f18db7a616a996cc06b7a215221f7845c0690c4a7bf82bdc1b3d0894e52919dc2db6171a2e815e0071585a3b8b7b639e5c0fa901b909e3b0a6fc9b05a9587ddc4d61f4f648368d021687ad526ff3910eda276233bd99192566515307b1d025f78b65dd340ec5065b069f54406359e43d01bd86507ff926167cd62153c9b3df2f83125d4cdabae656729207b1e22586157fb18032b2d4f41e2eefd47a18210f460a5dd3cb121e8e4709bc80f059100f2b2cfbd18b372e64002b5dab43673537e3a23e0d2324fcbf64a2d5d3e113fc67ad6e28f25bf479296feb976d10c2b7a4658617ca4b9c507e8c2c646d007a3d096d8b5ba9b39678410436d0a92cf355a8199fec917b72866e7454ebc9ca1bb5a055eaa5b2f57f4a4e3544f91e2f896386395b61d0fdf627a00868b1bc36c8b34321f26f696ca865c2ce14b6baf47a3184b6347784166de82e542f79474cb6375302254a533668dcfa184cc4362349c4f79af2ecb89bc10b533c8463bd76918ce9f98f1f122794606c3eb925eb5ff0a1cbb3463cd63527ced9d6cecbe57af0d69baac2428afa7c20f9ec67625693d73dc7cab5c0193c7014b076481259d62812e6233ad65465c3e97645d3fcf35fb24e3081a2b7638733f6cc0a9c7c6192fc21a4569cba07f0c6f4f0e4a2cb27d197dd8e9beb6699e0f396f47d50bdb4abbff2e4c911dc354e1f19590bae03ebc5404c63766f0befddff00f9d38c34b9c6af3d7b9b85bcf8fc17f9c23b64f9545adb519f65cf35bd5283ca506960b07b1eeec049dfcb126fe33ae4a6a93bfb66415f52d55dbad48a92db7e44cfa7c5b3af94570410702ec634ce663d9df43c93ab6a0327a91bd481328b230cbfead7a245e6b3837284702d29d43907245389f5e098fa3dc195aeff7fe9423fa7337c148e2c5f63b3e1343746324c53a6a4dc9266865c21987ee0703ad11a718ff189017bda67b626f362b2b9ea30058dd29829e8aaf3d3145644243532f4a3a911161b7f29a4ecbca7abb7b3402cdedd6922458fb77edea4af06c90e16e753fc3798f48366c1b625af1a490773c9d0a09114bbdb71d89a13f31b53f6da256a48dd830f6be86b45449f7e3ff1028c2bb3df9bb7c2935516acecfc7626ee3853fadaed5e9cbf42d0f5781cc5d52409242d42b0afac8cc24228ed725aa2be81747587fef238822df8ac96b5769e4eee918c24ffbf4aa6f0785b1a3d4325c5bafef06fc1b48f09ee7025db98eecb1da0426e04912c59845a63d726101c5663005c5a6cae0178384d30c6452ed6678c7014ee9a0b2f343cb9e9558084b437c19076433c0ebf2911705dd44a2a1a7d7eebb4939f0c3905213e7782ee9dba721df860a242075c01d1a96c54a8b0cc3331871256fdaa774b62405e33704a1aa897827b0fdace83bf5d5420692e8061ddfffbcd55a506f098319cd5503060ec7b7c6ef86062bd615a4c16a6c36ecdecfea71ced5b8b8f2c64fc6a676566c4a0d038fc0302c6013b48826ffadc4d22463182e383836840d9ad8d8661047e8c6d142c35a877f814826d8be7c10d4108e19693ce39a98935ab8dcb2572936bf9f749913b433ae860e53f483a7012d2476da28557e6fea9ce3ab54aef4b7653f79e2c30037a20aa3455f12e32e2aece4c3b2c981d610c2b0206381c03cbbdbe56b89ba1a70bf6a0505d79a6b7d33aff077b91d2788cd9d8b6696ea56780ffcc1020c4c4266b6f91090227f5835b90e882e281260dc0734bb2bfcf14052eff30076a1da0dbd9330cf3eb822890d8864d0a424ae9800f1408aeb7227af9a36d293f922e246eeb6b21fc41fdd5698bc8f70336d7c5cb8159a269aef779faa382b721ceb4e7f0b1b038379d7fc7947720700681fb976eb30ee5455423bae205f230be8bcff50a8f35fe502b4e9817b6b7f5bab7672f7fc56cf4c4f243baedd7d247709f10af16122277bdfbfdcaf423cd1ac4b109988a2963dcf163873af7526b977010d266edbf14ec8f36407794b0964dc0ac607b0ef05b902807e5b51c902689dbdf46001cd6f59c5212ecd4c29247a794a972da0f9ebcd94e0166ffbe8e2404fa0f753e1091f33382ca5adfb14fe26fcc14a484f36d5cf7b04771b91512df4cb7dcb08bc713d9356e82fa75af82f3dfdbe1c75da7250edf7fdfcd6c77a3d828291b5c031372946f678580ba6cc115ff0a13c9b5758ba042a8fb111940e98ac409e4cc244c238f880ca8106375ce9800cb81e2218c80004d9d126b80fff31a7115e672f333c18c7e90743a7d8d886a4cebf4fc6e158a40177e5afc28e77ba9662591041f310139c3487d963d44237f55f73576bd8fc29285a54b5fde519ea39e8d505294d268c50910f65e9a5959a0243ce7834f1ff9ee3c41828f7708bd8e491102c172ee8cc9066091edcaee81290f624537f5b6a7fcec92a769ffbebf8bfc6100c795ebda53f44fe106d1ca548b534a83881f5bfa01a0681298cd0f7bb100df7f518296760213e6d2fbbe473b768e539d2b9abd4dddcbde10893e98dafc4d76eec529741c3f7618d53b96492c6cad45cda5ebfdab5271a9b252ea1096b59ad7653f14f2b2fc684c259889bd8fceed9b63f792fea5859a41cea51335ff677181dbecc9f4b4153167999e469070e242a4847265c7d1339919c63d2b07350d5fddcb655768d0dcdad9754dd220c6cf68b84db47693c222ae2c6835fc844666beddb25cac4b8ba3e4c0525b8f621956f1388211b34769307cd681e9fab82c5a8ca507bad2feea3ca05dec414daa9289fe31085f89ab9f9c5932e9a5e8ec50dec167b6f782c8cd481a899a7e10f78ff3568bf33b054c26ebc927f7e035b8ede7c58cb96c04f3ed67e955c765de7eaa7cb2b1ef27a77ba32b48b785dc4e4fbc5c96cb630029d6ef8738a68550f1b6f8d7a80917e1ef817bad55b75c7f78db3ebe4ea66e709c0dfa4f064b9e0b5a0f9e4fe90b71e3a09cf3a8da00f70f48db930f195d1983981b3fd0cd8c889edfdf4f53e4142035e50cbabc8999f14101d0f937fbfc0faf7cea6c7e2e077483dc9cffa6ec2c485cb97d311bd6f2a8aef8878cfe7100b36a111eabffea12782f806779c20837a9ec2252fa4c2d1b256e350f3c799de7dede61b17449cfef0f8f54381d0f9a167ea96712bce07024f27dd8064710827fc81b273c5a266d4a3cb89bcc60e948d0b8965522c4153bd546499fde6465941079df4f60eadb364ee18fbcb6d2b81290cf30d75ba2223c96ba21492fd817f67a25bae0c69201cb896b371b3261f0a71cc26c148453fefdf8b15d5bd465c356368d6d52d86280749bf4e91f565f2608a7de322aefa5f68cc89f60473e205e0479408acdf71cd78dc8a10cc9608eb93ec3633f744d6f33e8a5ed437e41ab9da22e26c96f65115a1d09589191b7efcfe272672fc12b1d0e4b30d56db419a5c639576409b8fe71b4e9a63334e61261ce05fe4100cfee7075774f9ed086ca5a21d74c321a2a966cfa6057d37995ec55de279ead3790e05f96e87a4142a3c6f694c19c76ca87af4b3964ddc2dece9280e19ae4e576e9752eed8ef5736e3e0c5579971ca934f705d21a171e7664595a7b4f2d09f462b77e30635ae0dfbeeda73005c66b72729a7127e26b3e4c6f7aaa02f3eb8e1956ad5ce13b487513ff7b80040b01409d522a22605f12582737a2689595da001a1e1a90b40a3355b43f684617b32a8f03862f6ec67415e83ecd7447178db35789d12355584c86230af4067fa89e6ae0bc42467da6c8154a02fbc55a122b7e0e946059613d3d238e0464a709ce38e8e7f9f615bf9d6ef51d65f60ff1c3a223388f3975374fec782855f4d2634920eb48e83cc1a1bd4fca72d2a15e44ff25e21d6269bb339d41a8c9a095b2ae1aa65a37bad8c6524d1bdea944132d0c80cc147c0ecdaf544604a09c2cb1a72f63c6fd92ef9abc007828c22936354596061628c34c218b0a0a7e5640e4594cc077c6f531c2ceba365fc3cdbb820e2f08cf87ee3e2092f9abfd51b134c1c70b0f2bb68594cec591b303949d1fd141c88fdca67335013ac637869750095d3047ede0b9649b88d6673d87789ca7daa631aeae2dec5115705fac0a7d848027d0a804d0db0e2235aae4368bda4c1fdcbbc8b3fa7ed728d58e2484a9cea86a3fa673674fd596b09ddf3048dc6f6da8cc2069d1cec7da0d24b2a41d741bba4d6be8eb405779433966966dceddc6a7f7ebf8166f9312a1070501c08c4dc47232b76704e965bf029bd6cb732a70a9084d074630b17452e1d9680ab05cae2f9754d4b4255e656f7b12dd9b85a1c0591851007036690babf2130a701e806371f96531c3ad66b2c58341dce2463601dc72ea8b045d1d98ceb9f9d2123b55f3005be1aa1954558b0c43b4f336d6d1c471ef45994e572aa559632acba8133fc966d9c8302bb03793c72ce07a52ae45cdcd24f4d8cb1564457671b91c71720086e264ec9932b355a94d3f9031774db5ab5b261c6acd6fc3b647cda1c41d426037f5e89818fa4f9e31e9fe5e8061e0f70759eba32f7c6cceac98d20d8b775d4edccb627f0af4b5464a206b6a174ecb3badf5ebfb5386838bb67b78354461a69ba875347041e976cbb72fbe00e932f23278c27339b3ab9c89008e5ec5fcc8fb214a58fed1e33980aa68cf3924aad9a846a460fb140c7c87fe44e13ce2efed0d8e2180cdbf8f0f89336a95ea88d832515534241a846bf9fb048eca255289b9ed98c9b860d4c78e3d79f8ee0a505ac34c5c4c3e7aebf65b98be6ddeb90a06593a5f20f3b5c71c267a3e61803b8fc22c4a9dd2f7703ccaf1c6c3e22b1f278131bd9c67f429812b2635cb91cb5919c8b7fab708a957f2357856939aa1c98959532209cb13ade4907eb64387c7337041d96a49f0281013deeb9c845b86cc717bac8b37d84059a010c396a81455b0c3943d1e1732b101c1ac058a8d12211a02430a76ebdacd7038c786abced42f3f85920431ddd13d696b2717aa83edb4dd89d887eaf9f82c8fb5e02c366997c2c1a6e4eb95284332cf436f01845b90910c63b526e420c9747ae3bb4b4211d0f97b327ac59ef9a663aa6de4902b834680c5c6ee55decbe137ab51c68d3cbb732a418e4272ee45306e93af3e4025d030a30bb8c5588e996e22951517179222bf084028c64dfb3dba53aece1235eb50b536599f97aa3bf54d05c43eefcb47da0c2eb8b21f1fc58ab00b474a99b0efaffce11e67f81034de690025041a3c1c4428298c3814bbd42204f0597cb42be3c66590865caedc3edcc86aa71b0c15bef2594e9eb234b0e3a9ff12b248972cfb02b2f72079dc8bb54bd1b6e6d05562473a5944e585741aedeaa7111a5f48b7b8c16eb3c2dff5ad2ec8bfc74b6fc712344c5f07602394a67e4ff426088c0a1421ae68d06cf0afe207e13439fb6373da0c7b09543460899d9ec6cf97423021cb9b99c5278ca3f812afcb5e6ca2b5754213de3dce9d50e830a5dc05ce673dde5392a2489efe062d534e29e128cbf777dc8a241b2ccfee7b0dcfe5be36880bbc0b483ddf99a5de18f6549c00fec080923acfb9528738ba6320b1e518f5ae4843d7034b9c6832dcb9b217c61df9b949a1f8679f2e001a65ed9b31b8f5320d2c745a070af15b646da8e1cc80ad40e710b1f9c9db4754e1905af6ad18b840c491faff950a27ccac03364f6186fc8d9d702b3081aaf17f4ebfbbe4aa42ac01d06a9d66f16e552fe453584d953af1d17033caed08c49d83683de66fcb658f15861077fc1f30c5326f6395220637f056783e34fbdbca6dc7f31723c556efdeaf3004a2f9a4fb91d7befb84d937059e586145485aa7e4103572d7b9ec67bf297b089d00d7dd78c31308a9a13cefc99a8820d707d38a033fd1240e74c3c073036cb6f0d60ff270d4c57d685c55f850fbc5da0fc374429753202abc73e579f43ea7e0c532ba22ee668e2adc7c398c00e85dd9d2dae2453a3087972d6c131918fb35de4350b1db6a5eb0ae3a71edf8228a2899ecf2cf6638d8043db399527c1b350b25a097d0a4d60b7f5d5194a3a249c64355ee4d866044852dc8eca10febd2c7fff93d448e35440b71b8cef14660f8a54780045c9aff386a166330fc05daf66143fdda4bff9259afbc47db217617d0303d2ce1c0e15d7fb1d0647ed5e70a06cf93c27b8be76efcdd288eacbfdd4a25553dabe77f0ae027fa7d4022467eba87f4b4169ea04247e7941ccb8d3fdc87fcc66bd40e650bc499ad6d1d5e0b9d2686f83f994f7d90b1c293bebdccdcea6ce69f8cf218c690333e0a732b4d926c6c4e1379495f42e77294352bbd2efad97d9f6b2eca8c99bfac86de52668314853eadeadd43ba2132f51cdca3061a519c9363b6b3be899c77dde244ce77e76f9a08365e6cd749d59ada20fe51cd25a91998c2eba6f20746eb130666275f205d67de4abe513947f531d178205ef31894a5b0a5af0db49117694f2c448fb29eed65fb2f720f4f14f7977b56216e4ee6b16b39d23ae07a321f7a066d885550d7d0ad0ed8fb838a267a8c10cd488adaa45a2e8b9f4b347ad93c272b247dc87d4539c241a71685bc2a9ac02d119bda9f121bac61d868bdb86046e8e08bf04131d924939d45321f915da8ed98508268881ef491e5cc8250d38e91b078a8baa7b786ece8f35d9e36a435c20628ea48f15c13b1ea4aad86fe4dd246458e644978668912b60a5972434266f0d41bb2fd3217637e6aa0b39c6bc6f98d10029a3d656e78315166f0568cf2ae2cfbcf7878c2fc17f35f4d8dae99dd390dd711f4b69eafb1c79e526d35156d364edffe46cc8e5be724a6d796d2059f354eab7f6401bc55c3ff05c02636c8c5efb8746efa99d12903827706348ce191f20762b43fbce76772ca2013e4f40f2627dd164ecfdcf2e39743068cae046ac9d2269ff34333ce16005db57638fae3e5c83a86f861a34aec623c713fd1faedb1865cb37c9f98b64b299080d8a9e436ded6a2ea2dc491014458e0f59f850a8b9ad5c609de4850b1b9143b2e495c614c57c580eb694869bd65556349df0dbdb449e24f5af86933cc8f00d21070ce1b4154af31ef4f2135365735cc2090ad080d96c437c614ad07543d6898713fc9741e2d47282493a8b7bb3eb1a0ecaa60d1490508e6cea6179be241ff954528cd5346eedeeeac3e9f7e6d828622b663ae761c806ff6fad81399e3948d1e1d4a228940637631f21dd3967ca6a181074908bba51468c7a92978e9d163ec3a59a29430b74dc892017b245d4cdf5614f66c48f518142479d6cbbe4db59aba77155ab1f2bfcb581aa382cfec0c2908529c5beb446b21df256e5fdc99e3a75aa228080b8759626242ebd861dbbaf1bbbf2bee9dd50c1492e5cf434925f25fc69fc9f8cbef470a2c79b7133012171b594b152a5810946e823da0c3c89a2f8b41f1a55d2eb13c3f1a9f5e81efac60858d150f3d3e0c6d9f32e24c1a02e3a40bce9e51418f2384b1b905c8abdcf8101cc34763b4d12bcfe61c24b6388506ccd88544275517440772a652b2ef883863b5efffb8d093cc6bd59d7f92b9104aa66bee949c3fe52b02dcc3054118c395e10727a49af12c95e034bb1272f46f34c8937917de2e7a0116b24e6befa811a5d877deba56b40463abbeab98e528e8cc5dfee05484593da25197b9cd50e76affc7ff08de4a6adbefd5613f00f48da3381bf4a8e918ffa3c182312f1c3e5dd3a4d122ca92556c7a77dabe0623b074b2952945f5fd568352eacfbd61d475f2568d26f50eff58073127b7fffc2c1bf8c90b80aa3be985af3e56366f2a5df526bdbac2b09f28389d32f5be6746fa9f5055cfb273196ed0c05ad6a8fed232d9f952d90c7d21d5ebdafccf78bf64d3d850036cc3cb0145bcd51202239b466904d673c01bb40c1f9b08e206d4d97d26befa53a64544f48b8b53fcff27231e0c405e17d6ab6c0c21ad0161618e80ecaf00e9028f8531b3444b01e489c5dfb4c0e70df0e4f1cba84dbec716eb13b1b01e92f56a12be553c35365095dc070ba58d8f002817c4e6f96f2921210282ac18102df1680d96d0d1068499793a50adfabb8b15f5e503dbcb5679f5962313492360da0245a2d2b81e24433b86450748e4f291dfbcba464ca80052a47af2ef3302228e58d96f7d8c74bc4472492724c87e7e5f74655b7c64a67d2e8e993fd946c1a5934dc4e96468009c89324e71d477668a4650a1061cc741a0f3c6bf31c82b96c449f903020ddb3a27e5bd72918ade4ddf1085b1055e05feef3c428ebdb88f691c42cb68b8a12c0a6aba5e30f3d4b7d6d1acd728e598e5f3872752936884bd9171e5e7855a3d2a0c6779ec4cb685c46ac3508b2ff634f6eb8307f08aa2e45294e5ce38df58f911503d74ee3a8e8e8fb0a88cff5517dab575b450506603116f8a280173b8ec52bc040204a2b1add397e7effa0f55299d092b1af778d497f3f02c977e4532aeecf4e960016964e7015e0eb77e5bfeb4dac4e716fb051de7d16ed9163ed95a15c609a1d33d8ce787e7b88f5811845418ac53c5bbe5f3bd5ac9ce5ea87ae58e70e58a846070acb42c76ccb262167588342d82f725ab9212d1752f69c1d6a81a8e89db4847533ccea940e22f37d4b657f68b86385017bc7ff60f4afddb30ff2cfa26c33c98c7b07b867307b7284a8813d218038a85d2f64dc606a0ebb8fd48c645edcb28fe2b07c914bb504e68a04a2ffdd46d8fc73f60cb1d0a68d32c2a81493a10accf230bfe8f0c04cce279f4c511c918035e79cf0e3afe84dd2ce01d6d2f1ba7d66bf23be49b9755968633f1625badd6690cbd534864366fba40890979e31fa7b48558364374b9f62a584f4ddfbcd2666506f87687a746fc9fb9307240e83b291b5080100258485e32b52e910838392f0c44d0346a046e609b99e06db466b18028db67f44c52cb310c7a1901810b74cc8e3824e79e3c58af56eb1db9a3a61d6c0eb2a50994f462e764ea898f7fb4e507c61d2c28595addb2b2e2357f65acb47b504f62c6d4fe0de35475cfa0f5d9b78fe593a20a1d406114dad2eac9314ab4087131a78d6da77bd5e5d162ac3139b1bda01b597b234619c11304fa9cb753b142071568c99312eb0e7720f1640f733eb8728c5df334cf40f057d34e50fc977d996148af1d136e75bb6d756bc8f561e023146e5428351971d9d616915ba875b9c7aed0c5644e731070ab55d336b1b01e9bbf05708435e57b78c05cf0083afc9ff2ff666b03438cc1850d2b52fa93b2c626a5be4c8383332775e959d89a4163a62405dc4d763034aad19cb97186c2894a8b5a1d5bf36ec2e7bfa373c65a356cef4d546feb34f9eff93ef3daeccba3e973a7faa5a8c26fecc29e0eab8ee2c8a6769c171dca873167ecc5b68338035f1a35443bdf55e70f64f261f3dcdeb21b6debfe9923b1445d36493c559781b7e0ca64e00ebdad22512861339b843d6ccc4254708029bf092decccce29af94a8d0f22090524c979a82310a766db3ec3fef4c6db42f09a0a2a3492c944e98913c35de19d778b6e53688fd46e3f46c92a66fe82388402e06f86bffef038456ba7f4a1ee9439a809f41a156c93bbc91c9577b6b91f8d5a7432eda8981671eeff6d4e83f64f0de976218ffa8540af071fd7dcd6594f764b46214b2b25299b61fa66de606c9eff8dfbd052b54e1a4e2691561a2a2bd83ea334408d2deb4cb239668e86cff4a393aee66cbb7d897d41a111a79ce0e1b9e4b42dbd23534b3b2244ca63bea7b2762d3662ad07b4f624c0e73fd4bea180352de852e41369c3df8752f446463ee08eb412b02079faa361ed378d0dc918ef0383debdfb25388928070b32c39541cc1483a88cb18cc91c56fc4d3743e9646bb4bd67edb394e3d5dd2b2b1c3dabdd67d554f6b43a1ef02dbab89728eb64fc36af78ebc9f830ac8cee6b60c10acf51fb2fb82ef644adad1f5eb1da4b7db0c8af7cea072cdbd2dd697e5f9dbdfe6e04ef7e0ebe26358a08df0865cec97b2bae028d0e9283906aaa9084a17590ab2fd82ee8c648c147a9e8a77e1c03a07b5fcf98aa2c7ef923b38b3db477623fdde9f3bf407937327d3a39ef08f23beaac8c5b5ced54df19c98cf78f556c48c7bb5d6b02254cfbde892842d85e21e396de9828caabe5179ff7353979ef7ff2e31bb7d126f2865e8b6859313cdb5fabc969513d200d0b40fdc4569ecdc612a2ec93f3d3291a055b775b31832b8075078dee2e8f70fb5642c1bd246b83852de90037032d368551fd6b477ef39077d2b983a70a159c0cd442435f5cde827747d996d746906e01145dff3ee06bcc6c0165a559046ec08e0069c5b1e08054e03bc8b3f4674967c122d9492fda72382e2e6683e562be5a30631afbd4ea7e39ab37f073949011a5709f88a988614939b88d191944701c540087ed93b65527fb3c9654b142b889433688792ad891da6616bae15292fade7045007e5f0392a65e5d847b9a0a2cf19e028b2a2071ae6b4014c5a2d8a780e813f360ff266087b53f063f525e5519295007be3406363b1666022f42700020bf7945a8bf0678c44e7ad4be9da57c4c9e56578438995a02810bd1dbc9cc63f2a0a9b93eee292a583284d6b3536013736db2ae921c50959193937ba4e9859cd41496eeb11058acfc9febf7b43b9fdc31f9d0100404761575d2f28106e6a0c7a78a74d033bae47d3157ccbf142680cd39c834f2bca36516f36a844006c384936271c4dbd184aefdd2c23afc37cfeeaa00c770cb59642d3bf5c848b5623c32b968a7698277a4316929e02323251eebb4e6ac10610ef0aa29c14811173f4ceefd05e42e04203481ecc2c3c769d838dc9b27e62b130944f5d5a02e20fad827a583425a25e3f68e9c77ce315577e0295476d53cec12925b7d9f9379a33e375f64cdcd1ed276f299bf171db63d6db8ce153c4715e080094178e7bd86686006bf346b00028be3f300cf3edd10058665e230ac784768e7e5a39bfc424359b8f5f95e5ca99bd8a6efe9c514f8388f87eacc76cb70a5aa8063cab444382edff8aa738fd6ab015495ae30009a0e58d74ca0188ad09659c73a699ce550848d695b239e10cfbc0cc7c014cab83a219ec0347ef62d22e68720c2e106915572790998ee0c965d41255ace0f96e53ea399b6f954bc7ddafa3367855ab39c9c68ffbc2360e2117126a134417a9cba3800a01fa86c83736f30d17848b178de35e592b5812a59e0e8e647f03222a1b60b950532c9b40d10df47d4dcee6c10f4f8c6fa23cfe4c903d4cafdc713f7450b8ee6ceb192d8fd15866915e0c462f01c33ad749257133fbbe1683e4495d42074ba607409ab9357b85f57867d03bcb5e8f60bf979c8391454fb356aab99161017e9a183685fd2f451a1ed95e10143485c6fc99ca7ba5152618a9088c048c2e753694c1cf984fc7f71680db9318672acf3fbb88b3f612cef20491b48c620f69b75336461ea0db0b781091f36e3d4348bef61b59ae3b906856105f2f8a155680848a0fae9603471cc4c808bfb07f07721351a9f00a14c7432c50c7058c4f0009a4610d7f0e87a2fbf1318b2042af7edbfe9761cdc22cd540f0e52280231addae16085c1c2a923f72b368750f9153df9c7177077cad84b05304d43d37ab072a83d9a23ee75dff18c21f97bf8d97de35d882c8ed13a9bd6c261ee94ad2432e91c1e055446665e2162213aecc9868ffdd4cd8d7b4370e32061f5265203d21dff3a13f41a814cd4625e1028e15ccccec6efb2a8a4df859dfb8b828eeffeaf734a4b76754a8961269824182b78bf476e470936fc591ab297d71fee5a22459e49012524d87288b9fac3fce32d999bb8d29a08cc4ecd5782ddb9939b1b2abb778ca74dc4d85696f8f555c3fee28163f81993288a4c1d35ce1687c8132814d9249ead8229083c42c5a73a43d0d8a6578736bb66fa7388ca4cbeb8b70dffef1abe6bdcf7cb52ea7baa15705086dba50662c1bcef8db695ae514db0477d96528e660927f7169f3c009c10e81b135cfb27dd238e6edd09c29a13cb06acaffff4f72090ca344d599d9cd5cf0309f5a3875c11dab1ca70113a7a0a2efb1ff08056286253b373fd67bd0110b875ace434ea27a535a95ba1d666d463e4c5e991204a6ae2febac2d57db02668e892d70026a51853f99e99f40f28dae92fd2307993d20977ec5e5f1cbe2f59a718a2a5dad7ea3d43589c3ee6ebe200f21d50d87dd0950127620da8f6fe7bc530295169d40da3dd69e887ff7df60f9036221f59eb8d1e0c031b770f68e6a8a3e7afbbebca623a240094d3d45acf0da0926b09833c4254dddc2a6566a39e8f1368f5183e6228bc70667497a5a471c01dae2f327362d4f94047fe1a0df350562605411f0a5068f92e3572884e6dda6fe4383e131a09c26abf3b3f8e801ef865a501d71d0011cc478224fa221e7cccd45ae08902bf80186989336d0c29b29c6bce37470f1d0272e6c9bdf22c4d6249b51457e108fc18fbe6408dfca4edaa9c9f0f43ebbe0c7e97857d436ba2f80ed370beca11d65963cb82cf6351c264106ff9c8ce5547fe2299f761e8e8b666fddf58635a7deec59dd0fdcee8245e7b4510414f218a8e0e24db5d193fa424721a984c1a4612ebee15d0f21182942f2fbf4a3283d93e3c8b0a6a50e3de6df85aa4207056f4f79ea8674e7717806126e8aa280fc4f9b78a266bcbb12189dd53a6d24123b6c34885c657e00d76258ec06a3898991594540ac820c8375a7d9204c9b8577099a099e454a02980d386dff8707a8650c3ff43cdbf3e6dbe8ed3e4c7e5fe922f336217d0e4915da3ec2a16f200b99832982a97ac9a94ef54f70bfb8b479172fc0ec44f40c2e9748a252aa6b983a0c03e8cc2da22f796db6646a7a6e0688080e2c6ac603a401a76ec6b16dd5cdba26cbdac6afb930a7503bd44f63b2a8d99fa0cf2bb98ffef393e9f3e4f01039ba5458e6d15d1aee4d4cebf14312bdc7325be9e2c072499d15321273dc40b743cd0b2b7fc59b77b8ce7ee132f57ed77a106aa19a5aa3342af51c69393f1ad44f700d260c001433ea8eeab8a746c7654657b4111a8e8b6b36c42f58d7c6b678b57fcf733e896bd2682f9b286ce7bfdb91952c0c5a63397782ec3b0335315bb74de50e9b891961e52ac6647993f5871ce15fa5ee560108aae356a23bee423f276c218d0dfbcadd9dfe2e7dd18a8a68fda90003cff8ee93b775c6ad6abb869cc41771fcdaa6fc0ca60d89964cbb7233d1d9b5f4f06b5d47b97a5f0b7111aea31eba9d6c3c086596a0239cbb65f0c8c7ff016a628c622605941900351827682d58b77d39d30937af672367c05c1a03a1ae14fa8231bf28b12a8e091afb9caa3be51a2b97582c1ae7f8c4bcb4187b2f0c61a36ea2a5884c1e55f354804ae5f4524adfd7d8e42ea8e33bd58df29d0b31cfe64b9f2d4b12a2579793bbbaad61f68b1d6098428c927c8a0e98922835b1e974f0e79e7272f66616c00eb0379f6ae36fe587f08a2bd6d0ac17f2d69c0e47ce230034f2dfa522fa4571e939ab58239a1bb9d8b241969d7abcfb1c6e17de03693487b6d2e980f1e4d370cdfa379669fd6ba66bf39b6296502afc3e1b0b759d3f5d86bbdf3f885f8e663bc993a4410aef90643164622f1119ab9f239b6b11a8bd1b2fe8eada4b2bb05ad99ee1556d568986664907a69d981f95c3bfbf2d3eef4e2bb9481e5e1ae994ea2312853cb401276897e6afe41f7372ef142713e9f45e08e75a08a369c8051878cb2ffb54acbc5ca6c1d9169e2a2a3dbe7aa9ea3a7c4b5a00709188fd1d80a61b9b89695679d6a741f888317b357c993b991a35f5967d9721a0c11cf823d2a913fd816fddc2614395557ea15e97e339d44d3c24370794cd11c0b924c5d81389127c20b9c6ca769b00e102af173bc0c238b5179cb662fe94dfb4da0019a03078234312dbc417a64c764c6ad46032368dbbb923d07449a97f36d83bffa43fe25ca6b8d46588a7b647cc3b0d77b4d1c23407e7802f320938106139f37f91056074870a391b88defb2b5e59141ebe82c893a13188bd00c0a9e64d4060c8e0f8a1f99696e0436ae76b5dc207e5823ce76ae9be0aa7b62efd117bec4557246738e6189b8dc0559b398d8b3617348e98e779ffa20867cfaa377d24d4fde93d1e747994fdfdc8ef68107c1bb92e9d0e11270d486068afd9042940dc98ab550f1c27926d89d970e8416307e4930f14694536aa0dbd261d203a6a24510a30cd6bd6212e4ca2b15ed88c2b9dcd5a4eb97eff636807206e1e1f037a1b015649eb8146411ff8db6d9f0cdcbc4da0a524dd42b22fd5e29467b84a352a9e46dd025879e020566aa1d2ef77a9fa4f5acfbbdb560f6907013db5ec02946af757e457d54e7a9bae029c8cee69e8ca7d9ecd2a243f7328d2312f0705a275939533efbbaba830e40bd39840cd64d054a92b473c1f483b0a10a158a72bd2c337042cb4c9c593229ec26ec547cd1ac9754515bad767c141003aec309913d67fc0a2aa416290c45c65750fdbb61cca0db577707e6ab0a04778c9433de5ce9ee283db6d8bed56f82b62c2b6d0610e50eb82f5749cfa768026dc19baa26f8aac494eada1ebce96a5185a3d4aa6e3ddde4a42ef690e41d54456b3b9d97b97aeb4f21822e59f0d2047775c1514dad9f8ac473489118dc1794fcbc4160ca0df38197c042e7bce6b264ca721633d5f3c3793d58a783bbbe0f193814a03e5d8ceb910e64a5da3197cb8b90887ebb9e1b566761f821285c3365afbf49a7a2b6c1875015325be5016aef73f608edb9b48990d29221618b893dbb89f381e79a5c7e2dff7e8d2086a407c52aa5986498a62501a8e74075dfb9760e2f384237dcab1802a0030e37716ec3a2cd5ac428b44b9bb2ba9d1cfdb3ef3b1dc8544783cad9f4959cbe9d42f6b44c71619a338121e0d4b3754b86bc0453393a252a228a4b6df6f7ae8423c39aeb911ced7ca82e77d55fb2da616b3b0e7b93d4288e4fda46d74f0ab7f58e7979a108e945aa57af1ac4309535ced3535bed421c1f5856bad99f2c9e4a150241e3e3abfb3f891ab95ca418b079caaf3368a9268b1ed04d05b4953c22e9ce86cb2453cd790a46a7571d36377c604eadecb4475c2a6c00fe6668f8bab580b05afaba183f54df34d53afcb590bc2bd79d28eed6c9b8b65f6c24a90c73a298bd6d56a5086a5338f6518671c3f61396a6f0e285475ca9d3002a7bc753a911591cebea00401b35f8f11a3c00381fbc01870423230052a53c782556ac786fcfa3254ea12eae45334f95a167e5e6b1914211aaac26e99c265c1fbfff5234484890a897b683080618eac32bb73f2687c5a2d8459f5693b816d9aa3c5a592ea9c6bdd7e58be96ee7b488e7594f9de87cb5ebff015bdb8c4f304387ada43aa10f63cefb5ade2dd6113750b271b973e9d07e4aaa8f305f0a799b88c9e7b7b087f745df4b986341ad02ef90259e0ef3ce342f84a3b0b65ee0a2b7234e3cd64294b59268d8125fcc00b2359ef1e6d18f4d69f4c6fc23429ea3e768ac646f56b2b2b523fca7efd9e7ee8b5924635035ea8bbb4f1e43d77eff8e2e2ebeef30bcdb933f5411f7476fd9fa0fe5d51486d922a1bf0ab3b5962ef97d2e5344c305c6bea0959542c4d12fd86f57b4cd627197010772fb27af0482f43acccd848e9393ca9b2096a237c5e2ea87c59b700fe690019260257b3fd6731ef5ad4acc9c362474fead0e8fb940950d6ed47ee385fa55c652c241add926439d025ca786ee9a863201cfec8471171d9f434973d7fca8616d8963f7c9df4f028afe775d3e904ea0ca293a16294fa735fccc85d5e638eef7833100b5eebce68d0d479655aa34d27b9d41645368b7f13c2d6af1ec643b73f17d285195de254b5e31b6e86d9b2f98fea098edae49e48557e11e4ce944976bc65971d80c43fa92931307b97d3061f6a8cc8173ff2184baa4edad511ce4bd9498a7cb45fba84c30c80badd63128be9d8406cad1265b9c75ee10cb9bdd8a2047d938f6fa493456d7bc27ea17355425bc4c51de9b4bca5fb593b8773b07bac44ca4157a0f8cc386e2483ff844a01f32ff3393c6656b39b449377b8fb531adbe25e33188ac9028a1c297b2bf64b17207d0cc7950901d8636fdd01fd9e12a954ae6714c85f3c48b04b90b1ef8c71e6d48aaeebd280ccd47cbe92941bb4f383ddef3f3394efc59d74efe8356ec5d00b469eea4fb3ce1e66ad1f1b028babc307bc44f7d8b14843779c9393c98b6ebf3ffc803c6ca02d293e676cc0c8363aa12a44efd7d0d687ac63aa2dfda7c7e76ea05284a76822c681826ddc2ca6c7eec816b31b1105bcd4593b820856973a6051c6af060b2d5c3af57e2902af0ae0ce2f9844bd1362ddf3f2e9f59e8d1c544e04c60883ae5227fee7444d547a6bf7f6bbb699ef004c2494a4964b8521e8e0f2d1a8e1053284dd9c44c7862cdb8f7960bcac0461bfd4d9652e0ae4e46e4e07cd71c9e6284a460e1a3ebf4e20f1d5f223c288259ea8d297d75c944d764cb7ab6542027547c66b2fa0f2f8c3efdc4a04de9670727c3d4d803c6ea46458c35c18bc7c9824079fc7ccae606e3584da3cb2e46c648202952f0ddf72a4d8b8482cce5836cb6f0d2774f56f59160e048d06ab853d4bbb2d860a13181c763a43d437fdae0459ebeb457729846ed8a94f6447d6830474efca2786c6bca90198bb618a0ab363d6d09b643ac6ff8e7a89d951c4d6df88c5748b3a42739848124bf719c14593fc824209de641daa163eefcc19f051f47d61ab6671c8e1200fe1814517e6a62c9afd15505d67d96ef69734827a8d6aacea45f27b624d8e0e4a703abb036db9dfdca372894aca8df4d861affbf6eec03a098264ced9f61250d9bf1c6b2290b086f2ca6be674284ac04f158bd7941666a97623dd2a7d9bb8817379197c55d66f3401471dc138e048ec45e36a53735641f3e6ca9a9f80d15370a6b7f6d3787c5b3640d82c5d6508ffd8fce13af8c33fc1503093c60efc5a940f8d81f52510b7e83c1890c02417978a6565a260b4cc881af46e1df72b33794c27269dfe035f3e2848dd1b8827adb17a6638b3b595a131f49bd4881737c035cc17406d16d9d8ba22f0b000fdaca9c0c7f48b1837753901110f127ff4852efeaa295035e3c69f93a3fdc70ce9a5c3f1c6a8ff1c15050c864c28894270820f87cc61a370e7b1dd03a00d702ca6f100cd8749dae4e28f3dde685b14b7ed0f267d5f2c19e1a4b5a9112f9308922a05d259f46888d600f300bb0c7069a992e816c96db4fa2f64dafefe6aa2ee90e39f9f5b1a80a511f408a50874f83e454c98359255fe8744e1cecff5fe507c60d7a72d12e83b299fe11f1d94819e7f81e1d99184993bae6c6e3ee3cb351d63b0470078cedb0793c6eae9353d6890aabc56e5ca5a8f70d3e939df06089f954c7ca6e1fd24f8e1fe6da6bf91e3a2a33a7c0cfc7c99bdd05ec7fbce4877248e5971b08f83f35cf613502b03e4e1b1238384a38a7e3c91f34cbf03a3164b3751713a897d46583ed29ea7328107b1cfaf73244c305c34c0fcd5efa5c3a91e8089ff7264cd54dda0ef13c37187fc05c4e1c5e458a8dd2c0bfcc2bcd45d73fd206bf0850102f74558bfd21a560229aa5d448fc938f9682626ee68883c05702516edf1d84d7ff9792cd6db25d9428a06b57b6d2b908928b0889d80ab059ababc82e3bdd0ce0f0b4e1670130c4124c1741fff833e5822e8218585d7b8521ed5bbe5e99edac88e3a1782dbfbbb87d3fa199adfc2dccb350a6581f35716b3a98c3cd149970b014f63a86409f585bed71cddbc9b211faac3335a1fe10127ad0b91d2a67d728b7dc4bb5851714368982315292178693033493b56a742540058f5bbe6f9a4c882bb83bc0868dbf00c30eacaf8d1a161817c4140bebfe00b315ad5b38faa9b2b3dac722eea026a501cc02cd94ca8d80e8daec25273e07bbba99d68733e3ea252033f3ef898331714f6745ac78c26dd88a1a3472494cb177c647244d3683597a3afc2b8676601c10437f7a4ea7e9cc351f27a58734c6d2d8185813a2676c1b86787a19e803ba80b6b588be24d4251e23322d95d98b8ccf8a09f2beedb4d6c447feb79665a6ba654a1b9d14b2e00d8fbc422c4d6fc61767f0729b1db58690e4d07b4d10944764bd48051f9a31ba4cf8109ae454da4eacd383735eee0aee8cda2c05b4d1c1dbd7a490bc3b94222bf8f7502bc3b0e21cfb5474c033fc34f2463cab00f2c791bedb5bce1d501114a757001ecae1ac7d2f277b03a17fc02c9abff27aaba13644d2288a425adab9f82fdef58e31f8b1068cc2afa7d399d15efba67b18e3a8bf8d56310f6c3d8b28863ef802463f1b8682f7555f5a791b61b14c836afc743c602afd58c1e7975180547109a31150679f473bec2f1e86c3e75206e068104aa3b0fda6f7957df166f3f565d0882f7de837cc4459d410199e18737a479233215aed53ba8306141557e8adf0b05f43e52ff5e11bc17aa6a121635667ce5be39f31134c71822ac1fa5d3e4adeee40bc61fe3bf2bee755c91b228e9bfeea96df36b0991284661e37515100a020b51343ecd94c3d48838e769809d7e4f36722bb55f13ac6fba86a118a48fe4fd1fd9846737a57b0e8a52fcea7ad2e5f842b331e18baf88c8946d6020db365e700792be3234338264d9baae97f7a4f0c191bde8ea9a31052b27ddda9fcffd99883d338b64048d7dd2b3a5ca2bfdda7e74d7515de1337f25f9cb5567a3d185f6467133427a14c95e39d8b7a99868c76c8a577f65de5e0e00ef1f56fb538bbc96f793c5df292f7f250c54cb241dedda644d1f680733cce5c18b676ac074c53f3198f99cf2b972c813bfa4229bbe6b727f4f3c1ed4ce2cf18b6a365d5034a7cf9bfb1efc9b8a18bfffc8b248c5e8ff530e491f84ed5eedf726e5e4b10ea6469383e789bd6f210d252b810421c6eb5802630dc5ad45cc306eca8600bb57133e728729e35a36dab3c075bf6ec26a44c614686e27bfdedad6c5270de1881e38eeca08b2a014c37eb013c8109def0454fb8ea27979161846bea4315d272bf944f8179b1703cd6176029729d9e5cf9d4ad3fa066df477e237eef7a5812a92a4d45903867bf9d33a7532f94a6bacbb2ed79a7e848cf8718f0afe5f046aa2af6905eaa906ce2e376cfb63213fe5ced6992f1988ff3c6f3a999e9778c9dd3619886d03b3970ccfd68e75706f71f4f2514b00e67ce359c7e6a3f04c4efa3c28e0c789e43facec2e3e9dc5d8bef508a98cc0dd214929c9d35b5279e8b64f08e1008217260b0c64febf6c564e15cc57161709af52015d2fde3b627c02d356a3373238f899fbf0955245f44a7b3d96d82b5aa8ad3b871981142ebabf58de22c81a8cba2899fd26ef5cab414380c7d559b1b75345fb285051847ffd874f289e9810ff97a2175193391b59e80ab2ee3f5ae08970eedca066394263cd294b126981e32ed7dfdc251ec233cc42ec80cecadcbf100009e04a36eb57445fb46bc8a5b884359aa5ad38b2d1529e795e7ff1eddb46ac800c488f3bc94b95581a0d2198621fd3df1d2087c2405eb281219a08f9e735508d7ae1fc26f6cf2f4a489a5f388df63d342b22e1aba79955ad560f169f408e0e2a8438586a3b76f57db4bb554d397b9ae53ea12bd31c874a3dd857994693165616d9e3d4a3bee99f12eb06f49f3712e66a447e392622e0f85ba82f5a4d8f268584ae83d990c46377bf143c22917c717cf2cb3b9184fce331ead11b8b7a367cd058eeb159c4176ed00f5dc57d57b70a318a4b0c4de8ddc9ed6942619420523245231d5c8b9f437c382c72537e78714f09b55b648deddf9d2f4a318a55209cdd3493d5c4bcd8278b458cb488008a845963a90ff517415f66b187d0620762343cd5d46095e084305533852531a5fc2d512fd56164b31565621796134045c00f629eb264b62ba1cf360eacbca60fcac352ea740fd0db4c2a95530e4748cb0b5b06246f2e0402d609953d2c79c8d23b24c053909ebe2bd0b5484bc3bf421b52314394ef8d59d39ed803b1a100e23cc72772e36a3193722a10e90e00f0510dc9f56622c2a8920887106c4e8d20b212d4d90a539ad8cb1df4ccca54901b09e7c545d3999ae3eba20cbb86520ef9764b544dcd31da1890f4f4cde8b176b86cbfdc902e0374b2c175ffe7cc575dab8feb8f4926c9e0535f90d4f5ba5683cb22fb43eadea8f5483cde19519712d31a61cf0c676a4ba6089b94e117e863f2110bb2e34445932af61154dbe0337300b8bf2201b9f3f680839e445660fa00b414ddd962098c25d7d5b76e0773634079e2ad8c755be14b608c503184377aab5aca8e26758bc531eea5fd001d709b8faf13b9c20f9a6bee0ab8f592189a2eec98b910a9fc584736780ce066f3019e898c4034dd340bebd726a40e3b9636377cbe3adf64b94c90494fd0a2228b9001c114a8462a90b0804a42cd7fe6bce859f6b73c2e315932b37d9c304f54914b3d1b5cd7f4ee510a0aee03aa6f7dd85b8d2694fb0e82cddb1b43365b03214518666e0f642852c531b6c19f6d1636e76d014c63e3d06b3dfb8c5ce7077d8148c79ac4ddd12d2b0ec64f6e7a4045e05cf5d5f34d0ad27f1d972ca5a0d7b8255a5720066473faf088f18d78f7ff3508ac4a22299f832720277e5522d2616c882d5ecd87c60adafbf81697d9c411894591867ebcb157cd80e92d6e7113232adff463a82910618a0325f25a8602d1dbe1be494f66f45d29e8270b10f1f91eaaa92ff21f193ba266ae89f234acfdb29d768a1c7371968f60e8d242c5833d9091f8cd3558ef2119ec9f3f2a8177c77eb08c54fd7d7499092be5c58cb894c117df65b44b887a699036d90bf35a9ff1d685e358c1657c9b43487458fbed1b55b182bcd578cf91d2615f6412360794bc4c17628a1bef13351145544e7c2aae73ab61f77caf0ec59a96b34ccad4d690d3af9e5de39065841ac153d719480605c161dd63a999e4ce59a280cfb89e10d81e9161e3feba98827b9f324a19d5a4a4aae996215a0034e83c00ad35f0d9d6eb5d464f677aa5e3faed439457a9ad0dd861f58df8581cbf4e4c82755b8210dbd7a19da3966740604d1721d9483095fb49ba330e0c8a100303d1acfce4d4c67d804189afd40437c090eead621d9269341f8be5b963346bc3984bd0d2ed8103034f95232e170e3bd09306da59edd6ea7a5c52b7a368b8fe992c2dc455022ef341a488deff013df62ef4a54787d3e5eb1ecffd6171af935a916352ba5b3312ebf203a65886b8f846d135c0de6816d28f2deb110c17a4151330ff012338b7b698648a544941261793b85de06e9a85cac5f922dcb94c01be67e43cf04c54dec07e8e0825a6ff335ad98592aba21911da3964a1bf4cbc9132c47f0bf2d55ac1208edac20e8043216133007cdd82742eed9243ce30a9f33df78ec0d3f8651dc4a2afdf4f0ee4ffe74811155491f521228d275e12053b8ebe3b0f406023a2afb1e9e345495ad332fae436e1849acd23e7a6052c0187e8b19782950bf3097fc6e9c9d2e2e767505fce37966cfa9e7febd90f750fb8489d64ec22999ca7ee4583dfef57700404bff89df167c955b88020037b5e8305cf45783f499e0d3917617165ed5d53702739260f93091917753375e69e97d36021f62fdc3e9d93ce73efa332df9a2cf3108eee07ef794d84b1e46c42260ad4ecac8e8a5e5d6a9109f277c4f83f7aea99daad489ebcef413dd5af1957885f8b07cbe860364960d5a79d810315386ae6d07bcff4f5b697f07fe4be73124a366a05587577274bb04cf27c6e97098c174d4fbfb19336c036eabc81d2a5bf9f343c06f4d04e986a99332b7202a721faa20e40c7ac27c4104a77ff11b633ec8a3385e4a787ada35c05156c534c13f2ad56f99c6bd6d5db5e9db868afa99126e4fee0ea832e6bfef0e83248ab13ad805f89aca536faf921d36b1f6adaa731c4bfd361c179c8e11cc954e6e5f0f2cb4f1c4f022a6737ca083762bc933c6c2502830adb12e857c98d31a3bf1facc5e69007eff0d033abb7cc759dd8d46fc383f2e576fb31e9fa25b8cd0fe9102513b5758fd9fc3c50949d3fa87c17e7d84a17efab3214c32091465baf7ace2739a0281d441d17e8f3ace96f815c7143a0d33a56ab43760fe517a4bb82ca6cff47e676fda4a3ed827bea58ff9b6347671aa3b4ff21576b48ca24a82bfbd4bce3d62ea996895ec5fc4edf7e1ee9e06fe4fe567929eed9e3400bacc9f753a688af20207685c4bea13b2820d1af7a5092c2520667538a7a533e43b905ed7578785a442073345eb589e1ff278fd59b5d6a3684e12dfe09ebfe8d361769451d7bac511aaf19545f8df223882437c67f6f1e0980a01f63da73c1cdccd20da3b59289121c6dbe2024438033b2d765085dd6992529e63f68e31e3f1c8a9c64ed4ac3f3953cbd8eb948cf05a5b9bee4e815db94a7a552eb0f4f8571ded24cc9df959a50fe43fdf5f4f42978240c13bfd84d7c99668eb1655f065c9956539ca00ace02d05e39ddaf0a519c12692a26b55bbc62c9a70b02e964780d94b8b91326aeec8a2fa69e6cbf512469b10cca6910e7810f06a4e1162ab5bacaed39f8102b9c918353342e807c3208d21db1fcd6ebd2228fbc5d6d564190f7da2138de1015c03148ef29bcf11974522121dfd3a6b168a427c4b775cec23d574e7fb72f450b2b14ef12ae78b3b332e6cdb5486525246231858d28caf6999df5f3350346eae04999f1d76136ec3c9dcd54908ba98c5743ceaa26612a1458477d5e54eba731d23196bf2c178a21c185cca442a3cab743c381fe3b9851d96eb1ebe8a29d6635df2aac0f36b1700fe9fa369881c9e6d8b445f8e8673055b93a0ecd9785f5a6f23407a4d1e2380f43f5ae6c91a00cd871ec1ab71948e470ed45834db13e0c19bc824c1990569b25fd29c5cfa35f92477578d00970f1ebb76ffbfc29302b17e7c96c0fafb0cbc38c15fefbc0a661868708ba37ad0393b0371e2d191fa7aaebbc675ffe7742a3c45f9f8dea0770ed07735222446dd2587d11ec240f1e6fef153aae1d658e479e1591be9f3e0906bb385d5473a78f71b9a25b8ff28beabd2c55e532e565707040d4599fca3d56116475f8d9afd5a9c5c51d4fa5abbc61403b4fa6d0d921d6746848c672720f34afd300ff1d10e665e80dd6a4e8fba19ded608baaa86bf764eb82601446da2233c66288cb54ea6eba2c67e478b5a0346bf49d6d4e65829155cfe7230b4446c71eae8c8df9758a8e8359afe5c70a3977cfd066b7124185673c340fb98cf6bea66bbcb128bcca0504fe9bc8fd2ef8d1b2d772c537e94d295c53673bce41805b16ad1357af530a1b3aa63df9679d29c1f81f39c1b9998cd824473c0a64f4c61665497e0c365b131bdd65b2570f6d75668f950b23fc87d2ecd9f2579a82ca3d0ad48d48a0e6f18502059aedd89c63a0d08045f3eb380686f2856fd3d7515f5adcc660f0cb09e5f42c9e68efae392fa865c3df0441b3fccb11908c160f59e90a50df72baa5e4a17eca40692ccd540702dd4ac88ef3701da609f0faeee8d8b0a443cf826f1bf98a0eb1cc9ab14e5576cf834b0f5d6dcc8f36080d6c8ab058b706e242c62f093a882886b360f747bbae3d234e3daaf17de494bf155cb5f15bd56be86e8ee940f90116a3ddeca887ca5baebde429550a56248e92c4ab060220d680280324a2ed56556f9ca8f62f4228043b31331d2a845eb7ca7ceb4c384976d48e9a695f60bb7596b37f96ade4e896f0e37e478be25562f77ef73bba49956755eaebdd9f09ad52ee36f5f55feb37414af39093f19f639df2f36447e9297e0718af929fb7ac107a9e3f0d143de2b3fbfa584e1e0ad9e16dc70528e327fc740c5b601f3db8245419189826daab749ed01a92f2999c63a373796094390267df0172a74e9f73bc28af3b3556bdfabbd5c443bdec2b627c8119a34d2a43347c2189263a7e430921971ffc82c91650c908f65a1ad934ad7637c7d21fd3dec9b3c940ab1f5fe31c656a9a89ecf7aebb9162337f5b8191624f23fda4540c07c13c296a53633fc14b001963ce99a1e3de116fd5d6dfac6e23ff005471e2852919023c701bf60a50ad35e9c70b92b3f09286cd01c74caa0cd5cf3969677482863bdce3f746acea414a755a4c53554355ead91e94a5e462f82b25cac733225c110b54a6d5629f9eca311083ea721cd40dfab4235bbed5371fd6a2ef4b264f62fe1f8a0a7cea6536e94abe36f7772da6d495e550666b637f2fbf1f94113662fbeedac9e4351f194da4619cb33521c2039bf09edbe08af55ebbcf647494d19464fbf09060a2f27d307f676d01f7f8ccd410558d996f6eda52e38245936d56eff1736467c64f715719d8841a75c4c1b969c53c59158536f582c35fa6c67b557bebd70b727efdda6d39702d1d17d63555ac79c217fc331ff94da7ce3700e10819b32eb927699fd7704d67f8f65a4cda99512ece9e67a89a53fa835b5b6f933605482405bcf2b8ddb13f26e7136f36b11c00b61511b580380af4bf26efe9d3dda982a3203b85b84b956c3df8b8807c31be6c1f910e954a37718170a3cef5504a32d8300dcc63ea35c8a3a5754aef33f799b12cde4e926ad9bf518f2243228a82d3cd9da3cd34e22317ba082769b261de5dd93af8f5b2bac46a5d62ad8861b4e9c63597e245e068858c007b89c19001586d6348805292f636810cd98589ecd96e40a3c15e46528aa15d668e24e999370c0db30e820ebd13ed6acf2af882ffa1b7f3bb91b4dcb56d743e19493943fcb44ef0462916b15bcaea54788970320be092e1648f1530fef66fdb116f4dcfa1dc13df7e56b0746f2471490dc83a208adc12012c62bafdc98eba6f081c16487fd4771085c5bce43175a086a37a64fcfe40e8f9b9b838f499b5798e295109556fcb32ab964da11550c2e0595631286a84d34daac518ee11f7503e5b80d53329696035413dffa7e15e899fbffcee4cbe3843c2e9a136c672b68ef01c49776b7a0a498bc2f338f1ec30be98aff749d7a87ed740ce8d5a67a1fc75e23ba6d38cf0cada8b0b1bf67c737fa2c6d784c876ac2c90892839704a6cfc1692d3c1b08926bdfd977ca675fb666d12a55611d2756c58d1857e2682a55ce4e66629467d2b16ee1bf18fbba8e017cd8a8be83b8151add7d6d03fab11eab846e5f377e3b7741e7ab41749b48e143c57883cf5ea06474cb0e571f278fc49700d9edf2a9d9aaeed45e63118a10d86a652f1e89670a51b2dae0c783ede419bf72c56f58f776cd69dee1df458edc28208c398a66a06f3321297eca37ea7473f6e6677e6d07d8c4257a17881eef7f10a6cf1d21fe5d2a40521b2685aa8004a9f8ee4977504204b42050568e998fe1786bce4e0137bfb67be403338c89c29a550cfc382feb240da43d218a6a03243ae6cc179206ee713966ccaffe62aef08cf4bc4889bd48e200a33ada844748b370dde236ce827b2b7d00ffadf00e9f722510cc3865fe868f48f108c773ddd502ca0758b3b8c8000928f235f9622f01743b8dd0db33624dfed4b09dca7df58867ead4279f11cfc28529b0ba2a9906a2e9eb9553a9b29b6e812486eec3a7d736ebd47bf8274256a7045276b2e6873ee481916b1041be2d5b224941c3ef47c43b8389d9a01d7354e6e46c52ba509133a4f614f7099cbcc20438bba6f537baf653967153778ca00af47bcb58386441a97c572f31a1005bd1f1598604cdc1c8f4b1c981f2379a0c3382bae4241e68d128ac0cb82065111d5229e19b1a68dc4e2c6a2a238062cea6913db98ead39bbe2942ebc6351b9c44bd38392bfe1acb359c8d357a6ff2e5c97c738df1a5414cdf6f3074a06e87fab6b097c3c58dfe789cfd50cec5c92d9d740bcb39e16d5c80c47ddc74d2fbb5e7de81af060014a6275c87af6fb943556ebb4d088b9d832f8a0c275323d6a23eeaa31e70c024efc8a4f42ac23daa99f3c7056d136116a8373ca4ed758f5dedebe8a2228b605c42a0c39c690eb0f23a044e64e8fae4348e4a09c868021823b00defd4219d8302f2af5316a3a6632f70a8f547ea4d9f7cd003b51b905135a23c38bfd8e7bb2cead3aa4667df07847d0164b0c7d45b880fc0eb1b7852ce6139fa9742bf570b01814f6e58ebe0bfbbe85c583df80035c17dcb10a94053062a236b8874ae44cf92bf687b14c4ae3ef44262a909459c3fd734dd2988324dcb6768ef588c640479f1069c8f177fa97802ca763256a67e78b533afb581ec720552a15f404aba890777b1efe43f1932db826c5fc2cbc3e422563ad58e3e030ac7b6f805ea9932d2f79b11f14ca4fbe97b56447b9d2055dbe799525d122bc5d1d6f492f3cee3d98c22514f404675e774af694f44b19906fab79cb3cde5692ec7012da2624e1c93175b1f964d76c1db431b3bf1b3a0428859f387fb01928e73461954c22794edbe1ae6229a81ffd35c76c25ffdca2da8aa916c7720a95956e7ad4375aaae0f44af474db809cd0aaa9df7292303993556beb9c1faf37e831f3aba1fb11452d9181ce50556291d714b1e077ba9d7331d01f3db1b004ce7f9a32b509213dea2815416e382b4ed3396e381361f999a1bd188e3e396ac554961a5452aab50047f7d36327197fc95aa4800ad83b2d6858f9be00dd4ecc0863f76f2392de2e5fd196b85d9ef1d7acef0e6c3c9dc58ee9a2c5068414ccdb27478aa49f9a2fd6bced0740785259ce56e59c86aa703cd5618c7e48683b3f3163df7c41a41d59d96c4cb46e4b0fb55c39d81a9cb8ccb7374f450fe8a1a9d453fce71b39c960af0fadd4195eb385558c286f6b691eeccd071295bd24d07ea7428e5b4fa575544428972d1a30e35a3552abd92220f1629bd90fce3fcf294500ca40379695360f74e0ff45ff705faa73ef977dbf28a29f2aa93527d49251d5caebfde912afc6662a2f88c1a15ce0da2f75cb55704f4bbb0c3d648387e6d83763257721076ec950ae4a1ac22f64a9caec56d84fba68e460de5e1742b00ae2e6d6a86a01a998a9067994877b4d2f2404e5f75d6c30e7c49b8f8764100ac29388914a5f52292986510190644e75c7b0455de8b5fbda1ff7ac0ade94a51067fba6211ed10ad77ee208191d31e76e98900b7f19d07dc3dc22a5c94117afd6c212c4d68e9fbeee5ed3d40892d06c0bf975f7121f818f4b43de4d520b570c8537a798fe3f0568efc0b0920319b7711105b11dce62bcc3ac99e24bef51a13862c933ab0cb52e016802b6c993e2d36c685c1d92776af32d656338bed566957be1137ce0a3a90662c83128d52dd35379899b192e834a23ec2f6722231d2070e90aec4205f246c8c1d6c783082f8670d5d8289d46ffeaf90b558d9b9d983cdbef69208d1c4d0e0fde7d416aac4ede67b42b912232b32bb86c62cab27db9686baa4b03f20fd287fd615cf82a27ed2cefc185aac2d65872807598edcfba07382169b30f1ad6e86622d1115029f6a1693ef275c252acec1705be6033afc5934d5077c2321a666fc25400ad2ff5abd6a1eaf88cba2a65496ff5758ac84e0be66bd8776dd2bef03db90f34e01f16c477cd0618c18f6f9a73d0024baa2573bd9fe762637e7fd5e7708614d62ed92c1901a361fe320d1490cef4555016ec2bb123628e1a2740128566370caaed93d4a51739edcdd4201c23174634cd9c93f895acecd35dc8f337901f5843f74eebeb8cbd34e64d5a875d4a86498b07babbed10f1ccb905a1d9a8b74d49fe83b02cd0b845f91a3d80cb6ec3fc756c8acfd5a4fa482e360e32f53bf28b88ae60df49f15dee90813fd3a440259fa1ad4010f12967d4863f2d85681e49c4a7a86c8caa049279b0627b12cb57a58ac888cb23b983844912359cfc92924646232a083cc2230784ccac646bd178e52909f7c1648ce196840673d491978e28a868bc1c45d97308104466959e7fe4388dc17969220b2c31081dcd6da04f97f6356fcad24be7f74b28f4609104d6f9353cad445ed4c9d3e0152b6dc1f4ab51bf1cc9a811a3b91a00a86733f4304ebd9feb752f522210b985c11d48b26427617ff457efabc50e0590e71edf64b8c64fe16040c67e474c71ad7f11cf8879acb9f6529c9e8be1479c00481381525d2c447a5aac2a4ff8782ccdff0e8573f57c478f94785962decf3cffb28afd7c62f8f62df7f51e8c6aefa480915cd66e0e9315ab53ecbdcfd6047fd4320e55c744680f9691cf6173255c64bae35c2069b26dfbe6e85932f5123dc4d7894aa5de5809f9b2f9234467a416c038376f467101534578f70d6720b9bb2c81fc431421674f52d752a146771ccf2ca6bc9a26dcb14ab332720510f37cce30272b3483671f5f4b20212f9400e1af27ac5b694a8bf2077a332dc7e4767d31dfbf8add20fd4e0c54a3312c387891dc7f3f6c53ab090a5da079cc797b8d0f032c45d65020f8923644d88079d8c4c1334b9c5f756be576041114887516b844aba200c498ea797fcb3f0347f47103f1e6ba6db7ca71e35e9dca350b52fcbe143e736d1796169da1ec79e240941bfdf87bac42332b475c881b4e34a1d823989b0d6f1c047fdcf2fd6e2c9523e67d4e7610759afc5fbb81a5cd8427a71a79906f7553c8962d2b93ad9e3b2869d23b32fc7841e58e636279538a8978aaa316d7e962f14ef3df01c72c79d1392a5a2c5950d9bee4b0e706546e0525013c4edb26eb1622e0a1193a0895f3c51a8d663e8cb3738f7bdf006f1423eccc122996fc05cc2a9f3658e6967633033dc1e951a4323f7aa946e711d56569bbbfcbca9aa789ea61575dcc47a7a14086de9e7d5a4827b0ced584ffc305958777bdc45886dfeae2a9ef46018afc19c47237d168cc0a5339df9dadf5e2f2cce6cea24ee14aa571323f25a6f5d63030b578a4785b8ab39f57a48f3053d980e9af4cef34fb087c43a67059a06c3a978f9b359f0850644ccfc0255042edf4ced7bf8459059599ba479a495c6343a50a8b21328d9999467d6cbd861b02eab8d749343de94381808cdcdf54b60eb833dc1ec4a0e3ff7284782a47596a0b65b77f9cc585d101d6baeec9cd75cf01ce12d9cba709e03439a487a40909cafe3b3205a75be52469c5716ae8a3dbb32f2efd0da2124b24778bc129ad0b229ad6f662a4578723cf14c812ecb85296d5f3e1d8d74938f8a294b53bf09ab7c4223bdd08d1913c7b679d81db081ff8edfa44e583b3a37c292d9d0b75e3c262c7c9783d1846e7c87df617545d414836c4ab8e4f34ca0b7a12bff9d77b95f5c675f71c7bdeeda619e4c9d390ad4bbece011c8bc586fad7443ae802b72db5196876233870da5eb6faa11e16b4a32c3a87a8fbe4bbda4bc796460f068ab15c26e2d010ea92468659646c18aa6413b0204ff4ef7ffeaa8c8e394443cf1fc0c54941bcfdcd1ff05740126165252ff167a95b5c4dc7501688f938c554d8ebbb3dda86cefc48e6538bd7ecb7f88ae35ce749375c487bdf3b285d39c218395fd79dffbbee954fed70e5b1add419690e848dd4440a26870175696d2a0fea2bb599d323a45528ad3124ad46a92ba5c920e8d4880e8cf3c356e25b6d5acc09fc405df6fa5a99014cd6fcd2546ff5be725eb1ec843a5edc25ce02354fd59ed2da8b7b5955327cb52ed9f8c2db614e8f241d3042cfadcc21bad18a03b74b0e114e0f50220aa52211f60c9206d2138943ca47d425fb5e78cbaa79faad1745659f719551bd0e5057708f80cab9fed26d5d17ea6d9dd6ad7a65b82fdc2a04b601fd6dff6ec5a108489453bb76830c9dbece201463b9e3b5921e5df1eeda9d17ef5d64e9c8ccfe071d9dcff8b53efcb7730024ec5752af12dc1f0811d3254f104295529ae871e57b2b0bbb2033e19a81cbafb3a77d11aa2c2017696f61aa69dd23625e7c99e952cb35ffef0ddc514cd04c11c08c642a16a66d91f215022b6e63f1fe3d4c4841cc01721103584e0329879ccb3cfbca76f3d9e4553a68270e9361b6509ed83abfa1c4a6820926e1e21c67eecbb14105c7da0f7e85d2ade10c9f908400cb858531b8225ccf8c14f537d16d0a36c7cf242afc2168560ef74c0381f4e409f9499cd758139fe3c2fc491d6f11e57078360e2db4c0391c43fa3fb0ab262efcc227405b7f1d89e7f751289d08e74502a7548d5c2b8fc306c4ba1cb3f0808c0c1a45e93182299f87f22eda8583d941ff485ce91fd45915bb4475438c1e4d197ea9ed8a4b054025fb1870e70702e5b3552500830d9abc47adcba56c15690d5dd5311609cef60522ed704120968b0a257e0c194d48e59ef19e2aa836c38dabcd0d6fee7a3704c6cdd546305d17ae2ccf4f19641e6b1ed8a6edd3adf158c4a7ebb4893db18f306d77697a929f4893814696c6bbb228f1a38fce948e199d46bc7556a2e62e622b0816b8b9ea6b39ac78777f64eddbc5d41513612a621ecddaca84b6994cc2cb98a0e0203f8f2a106c3cde1a5f4aba0bd80e324b540cee9513604de4ea9fe4371733bf78cf9b96357d14cb936859d8590965688d85c1d780a782291b0ec547905df5368d15ade264cbe19e0f288df83678a9e007be581bafe4e872d2004a9f2ff934fb2b7cd972cdaa89be9d13ae5962c1d4d5136c8fd50ff6e8d43ecfdea1ee986820ec1a8077377e72aa5028f6e57cab1f1762ad94e24ada9f65c2c0ecfaff369e31ba7c521f9c410cecd861b942f0f98b6fea6c10a02a4fa038e38186f4f03cfd2cdc9b5e0e54073595b200456913a643a9e93dd7cc197d853bf52dcc8a9de580fe87afb27e0299c7b2c389f48c02b658a3c580c7f5d4779405183d91932c4f40f836619b0bdc5aa074182e7f109a1ff14cd7b2d209c916fdfe3c5955b8ac9cebeaf36bfe2c7d7ec4f5047b94011e48b62fee81dbeae300fd0f9c4b18e5c5aef124f2cf5f03170357e41ac535e258e1bf2020ed4b5c433ed3ab9e4ca3828ed7b8c420108619ecb13c77b190369dcc0acc5d9071c2f0fdbedf158b35dc77187a02dbf6fdc0d07fd509370b0199c6d84ca8a4d63448b6788415374671ad3a109b732892bde96256e2b09d095ae8316dd0e25870dc934b05abd3294bc55850c1091c167763562e3a4fa69173bf2cc331c7df1f5b0edccd349751fbc9d5be094f6dcbd66b2ca7fda63517dd3b752ec5ef30b632ccd9051095cd6cdd74e25f9e94ddddb8d6ae3de176a45e25005adc6085dcb465d9add06525328155032a1119e7a9d8778fff3c3bc1ed0f0d7b9a0c4e4736566f31dc7e3c5aff85448e700c3a3f80ac93cb6b3f21ed3ef4d9a6d8d96602f988362b92b8cec2bf5bfe5b5b4e5157e051022356d4bff4563e95e6d36cf780e1a0666e3a73f16409a93366059b69659f8647f00f0c9ab2c629dde2265ad5b952f1a7104d26b1bb0892266c2afd590d8b68e1f26f2cddb3db8148c99b2bc00a82a7caea5e2a627131eec6f4a622da988957c12e275a05c98f3be86daed2b72a2653fff3d9e10fc2bce512c423b6e053f3ef7cd23a462d7f2c8d9e10f838199f7d36150f0a9e3f63358b44bd2be2164aefbefbd04f7a61f97f3aa3ce8f48d74d530f509a2b90524d9ce3e17c3b3f9822603923094935279c91f61018632ae22be6c5bb819967a02b4d3b5fe76e83719102c740e6d3a929ab64e5a5571df4b40b5f3f022b98ef08645a5935208c9a4f5a32a92fbcf2417eff22bd3bef2e30fd45ec3819875fbf7f781f8f0d14d322db89076164be4f84b128e58b08f1a91262cf5887f483649f522889354f0553aad8edba40190c4fbf4a1180a9609324c28085ed718716fe1b903f21dd70380561a389ef206b787f28fdf01dd9d5b5ee3ff0b73bf75a9b901b78774fc07f7b1b4fa4e9c034b11d4dd6d0ce6328326c1198c28df833acd2a37670760d4d1393fbcdc64dda03eaf700e6cebfbac665bcc1a2dca1dabc69cc9a9d7c3b178cdfccaaed3070f043be3ef8219f398befa4bab2b980bb203ec029faef7cf5aa87b0f9f3a08d187c7c7bb163eaa0e7bbe8ada617974b189b235a30960443cb3484c03c9967eada38c1805d21f0dc5f06e7dcffbca257fc04ab96095513a084fa02ff0e92cb74825a97c975daaa2274cc4375d882009133c7242e6b2d226259c8b3fb31d826d8eacc11645fc65d8d5498177c797cd6a92f1789767db68df6390a6cad2b3bab4f8796577b67184cdcf07a92dbefa074be0f4ec029c0fea1cf9bc112092bc2a8fe90b1ef22dc164b739911efa4c7a7d1b5793e02ba264f74be26f2e8415ad91f6f67e846ea057d5ebdae9e44d5e3dd5a3157f4422dc1cc6bee6aa91a71d55a82dbf2ce934fa5d56c1bddd82820f82ab6b0bd20dd5dbe06a1835d4baec3d96093d9182d435ac218321cb2efe9b2722207286931a29dff0453fac70473a08e54838d0c0a833d40530820d4d635b323638bbd8a2a6900d6b0fded46fb4eb30e9d2a1ec1d94cddce0ea644f9d333fe4f212e315fe0f3d1d4121095fcd71838c224377a2aedfada43ce0ff1ba720f89d82bc28000c3994a56777e7f39a99402b0c51f6cb6cc38f518d7b17e864d0e7ac6ad1a05239fa54c0d813daf4c1041a3a26519b212bcd2e12e3877e1b766a6263cee5a08ec623fda21a0fc8209448ae73dc79bdfc0692f5215ff43e365924318644b843aa97191cc7bc59bad6db5dd3549b4ba5f1a648b6ff2a9113287dd3128754e29d9b1923818a42ae6d32962ebbe6b8668d5e35121dcd31ecd68c78cd3c6829ef9ba877eccdfb8990340d4f78b2ac04caa4aacfc83abb82d4d950009eff6b8fe923fe8cd1d34cddb5f1803a7a99c4722f7f905a7da16bd2fad30dceb48e8da2fa71ac09dee92e39dadbe0a912fe08a2c3df379a867fd050aa0a27f85a946a8fa6b4dc0933ebe4d3fa6f925cca3130a823431bbfe0d4a448d8b12fe4b8edab037a7704d5609d93d65373032f893575915730fee0ca3c3714c61128cfe88121636bba3cd1b1253aba1af32ed7df748fbbe1457899f1756b090a61ff1bcbbcf205e9ed1a843580d5834de47d25773ee0b1960a2a4a801d18f316f83bba316a9b38391340363fc8d07b12caac3cbcc733e3ce4ef4d56ded98a9198a6067a1a6dfff5d732f844d1c68961520e630205e42da46e2e71f58b424ebb68550274ffff0f092a0efbe08a383b5e396d3f24d75a0c54d21c79ac0e1518e073f327089a9eadcbfedd5b31452e0e9a9dfce0a5a985753ddcd5400f6687e4772d1618e40aab45bf5c03c5e11e4f05161fa653dc4bc2e2d2c84bef047bdd29cf96e3ce451727e578a2eec5f69b204bb423e73993caf537226452842101c663c2912f2cf90d76137236847784f3307e60afd9320e30691b1397c48d486536e7af5105476f043dc8c652056ca8da41d3df077a5a0763afad62b969decf5e35036bf68049099c683aafddab3c86e67501d5f634eb5480197bd4bae00ffc1ef50eca750ab3cb11c0c9a816d530659fb487b2aac8774e94ddf4c37daedac9bee83894427709d29f9dbca21fd28a6f46de131763cb0d25859041131bd96454025e135df851dbc2393aa329c153deaadfd755427b2356bd26ec404316916dcb99f9db3c905198715681bf6950615b2df6dd21ee57b1075c99ba30d6af2d36eff44c19461213cc70352d70735d3e339582212a9209dd75834c2148440b97f24840f153df728d8f1500ccae063e3604b54b39d31687e4282aa625edf0bf8c73fffde3be645a76834080db1bfb678699177d4f8dc6709ba03ba9c38b666c46ac55e324ba663262119af9a6402b3565f521eeea392b869167cd249f144e0cd0ecf4ccf652c41150e149f760d82ef18faf1a7d64dc80d0752b8e7507831fd906c303963e7be50af45c2018920858cf303157b7aea7c1e782ef36edec16dc341ce7814f9aed7683caf6ba264c071bd8c833b779d571f86ba786b6300b7458fc4bd04414b6027443dad6ad80333d24004756becc032eef97af424980a761603f25aec95e15641b98da24516c63a90793112da8b0a4260e9141203b6f28020c4ba637f1d6f6ddee933dfd4adb45b95230912b50e5dbd03a8f428a3bb5965ae438aeade4351420f812c7bb0d4843ee2b46017891b25fd4fd613c72de6c563cfafd7398108b135a67ee63477dc2df5f9313326cef4506277b82a6ab9b9d5670dde5ce5f6414fc7055b1c4b52e60c70e3befe2c6a6025ec708a94fbe2c8816f174eb7350d734fd2201365e6bd9bd7d393d3147bf91163c3f08b2b00b359b8458868fcc2a2339ccecd09dc8c30bbe11f933bce2b02f2dcdfe7ad19625dacc856c086a6e79b0c183678f3afd1eeb24c2ca82047db4c29dd75afac92bfa31d2c04720463eeed0c26704e11b87a78f82051c982460debdd03402f8e120be00e1d51286273890f6657c55885bf00333cc5665405b2a4fc41c709c446438a94ebcb97174d478d0759b3439d52051a059fad08ad1be76633d9595d2a1a2a07c7ec33ad8df954eef1a18c8d538eee32aac73a6176472f6eb44e0cdebbeebd1d7abc3df8e68076472a1ed4301cbe180820b165b927b931c26177e6377d494e60b62846d945e0b4c1eb1ac5690bbd4d52062d588d52b78771eb00a1c7977f385c633f1aa29ec096d3187c8d680c004704a8376a061807d3e0d737441ba5c07a95e96363a139080bb786719f43e693ecb3fcc608bd8029e507aadc8ea64494268ac31c60b997b3fd1990cebd3ed72531e4c0841cb57a42ae45c7d3de2e335294fa890aae6daa29d089e4a614c0c99b0ed737b6e26590b77e4e47bcde7f1a1bd86c20ad6528599de6713f03bae3ce2ab8f496fdc82d17f198af287f7caaaa13a399093f0c0a43917fbc304010efd6f0ca540b45b00c224d3a12a2a6e1e008e8e395ea4b899acc565508971dbe1f762e620253f95cc289eaa77f1c8186ef9ee9f6d09e6690593e9325a25b8e48b42a28e958fde45d3a7322b0ca4cfe65576eb35c91a2cdf08bff23083f266ba25f9d93608c2bc2dd372f6623df36b4c9874d009dfa13d1726047780b04941d532d3031ef219d7cd7fd9670a60705885a006117b3fb61a093e5aa5c6d211533037e981e79861c1306764a71fa8e5adddbc4f0245f18b6c75f6fba479679a9ab4fada67017939129ad36ad189652f140604235d1462b362e034b483cbacdf567bdfda5e9dd37a289e0b51432e2eda3e6c8dd6ba09b24e5d6cdf19a0cdc9ec7bae1c859892cb02d1916200947bab3550ec653d70291221ee368117234e66f7dade4b9540872ce489ef8980562446be88fc4fbd10ebd2c1c6f91a934c81bddd00feab1b9386bd80c07b67f76f4fb2d5d6cd4d4d767d7b39f7357eefcfe6d841c91534b899ac0b7160ccbafb9356c14f03c01a73daa93d1e4496633a08cacc399d2d355f6022afd735b5c32b5e50acb2ca7a4feb5f3d80fe72fde31ed2e2d9eda4e51f9f31e70fd34b3e7547a901f691589b1057358006917d0e8e8fe3f1a28d1234eb3f1362534d5cf3f8ec2f800dbcfd4cb99bc30c8aeeed7dd43f66593f7e9bc2315e57ed605d876ddc69194b6b5052f9f05e5d8e5efdcdac2626984230aa65039a0b4089cdd37a22a72ee91df5b675a434bf9b03ec2bda55300fae9902a146d5e695d95e1087a65ebae219611d20da9d78e92a1011a0379504ceffd2cf8f04990563184441e9bd52b6ad3bc982d543505c571c19ffb2bd21cf10f3317eba9f6e1fc2cc4eb8b33fa36bb8614290ece099b7899b1cd6e8e116ce42b06df7d1bbba292e62132b57dc0b41dc6be3e01b3a5cca26ea4505c318a1533216fd09aa25b6418a8a6a095975581b48de0500438e3cc4c9f30008f0688d71fb6d5b8ece233a412849e36fbb8b0cb2871836067e704d9b09f93e95616d6289783e7563d1d705a7e73751204efee46fbcc4a98d20e26e8ce508b79160ab589a8cac24d06f129e676b6486806c2e1e7425e53d64f5bd7433483a73c6545d879c9db2b86265a75c7a39fb0aab799b3b504a2a7beff566ffb6bdc290cd361ad41d597e6ab2938aecf08e65115f1df7bd4b59a1438a5e563605cda49ff939c38ae31f90d8b8b7b5c34012875667925650c2bd445ffddff793917d59e063b7337c9f82846c410c3babee491e0235429cf504f959eb01b31842b70e9447bd2c2efec1b08b81b53567b0ae99b7615393c7f9dc1c71f23aff368c1bf5e147396b72469d204a2aa1074e3b57b9a61bf471fc12ce73b266d06167c7fc5f96ced5c74379d1b0237b2487fa4d58e12da06336747db13a40482e4e3151c1b6c7daaa5b66d6c2962968a76916af033f0aa84f125f682faeadd798bf872016b15cc9b14ea5cb52e7390c0fac692d79e6234b80b12f7b2726161c6ebafab6c4d996a912e7494bad8084acf052928455b18d7df947f94049c57d1c11a9ac464b9f931ed02f7c359ce231058c1e37cce77b81c2c85ed1dc987910ac014738745ae16ea71f417811d7c9a7d32edb5a2b6a5254e4d72f84ad46d18f37192b365b2d5532da28c1952d2e4e87de5c6340018cee8df26fecf04076ccbb2dd996857a2ef67fa5169686a7219feab030443db7d15ccc7d87ddf1b275e9fccc51777dff59e267fe7c6a37153344fc398e6c42cd04378830430dd1cabee05d59d2e588319a03b262f32123b992433bcbc7b0be5dcff76b3278ad8c20644cc89e2e4eeafc9f0a6755a4a53e7ad349f9098b4b39b86dd0d2c40bed2f20c460a96414a7ff996093f459b8c3f2498e9e973fc63c5b5446b09e94fc7a24172c2baa19912f0dede029ba38184c43b3feec243aee146de9d8dd4b472520e7a7e1259333f091a315d8b9c2a04c39a69e1e7bf472e00a472f2880cbf7441d95ba87ee976015451d8e68dc7188748d02243983aae14637f649cf74168d33c20c27d4d5e19809f1ea4709d8427f2599c65afcb9dba9e6b694e8f18e70d01c8c5c1c2dd24b0ba6b7115186915df344441537b774e59c09575df116e35dbc9a31d3aa717e105e7087c40804cfb95b54faeb93dc30cfb1d6317c93a6936cc39665c957925b954e38e4d9a2b8930cb75b36485867dc478f15ae5aa203030e1b71524b5bdd9858ade399ee338af5f3a1a712ba5b0efd7306476c4c55fa711d8dfb4f24e4a1e0285a332e33397c61807001dbdb0b39795f69cd3b1950c77cb5719adcba60e1c6f301d1439a053747de19f66b342ba2e46f6a51bcf232318bda50f0bfaafb3a794e9ade6dc2f37e26097ebcc24ba3fef11c56a8fc11ae49c5e161e4a6ead19c53586fab99f57c2c13cf4e0581ede7c4ce80de697f8e630a2fc31e735b77918bd87dd06b0db8a4850cd43b86faca65923ec6a4203df3ad6940c9cc89c01a8e8f6029ca75d54418d600530f8a09929e26f7ab9ca20dc8ca737942d932c1fc1f81d49b84783f72678ce7bfa70060a3f6f23fd16eff9e2790160fdafac042372a012083e492d3c0f744e5f33bc0e255985617c252651f20ca722564b4fb36cf27e3cecd06826b02c88c118e6a780993551e5c938327bbaba18b056ba6dfcfafd8b963b4489e35a77402fdb7e701a4ebbea020a8f61a0e2484717209c8a1f1affcf24ee0e4fb7f7c070294181a5400c1bf72a1740b60b2a8e6842dbbe0dbfe319822cf7951c1eed69f71261ab3694cdbc7189b56bfa98f655d148536d62d232446ed7e6e8f71f39795956e03381a7f6001be420881a22446b6a81a57ccc20ee10f03a67f322c7350ef5bc98628869c1582b1843aa3dde09f963857ed58241f71b9056619d645303db04d27bfa4a34bfc126e948b32e2b4cdf7600738ee1ae3e54a70487152a482ca91f78711bae5c4507999f16a531e3f76fe2333f353a6f5dc37a75a09f746c3636f46418bed291e6336867ac5fb1bcdec4c1a97d200c0a47d74bc927db4e213fb39e1a21e62c1e04e5dd768ffe3dfa3865552c7b337b70be10bdcfeeb715d22f2c3db011b52cbf3e115c01e83f247301f2a85bec2aacde047f1357ed9bb091ad6014d795e29e6b0c082140d2c1ff6176bfb1aa1339e5e3f07ed8b71b59dfbeb938bec4da1721660095372350c1a46712eea063b2d093a9f60fe2063891818fa49c916442d33e5e63103de079783d982d4113e4beb1e9580b66a5987a29e40c0977cf3505c2a28b2d249d2e07eab17e1d32fc3778036efa36f74e1671ccaba587ce9f9657d8839647d963f239c574b978b980394f0cb3b67c34c966a2a805337c1588e25feaba033e81f0a7b4290fe00e9908b44ffec758e73ba4212dab356664e519ab1508c2dc438e0b40a73e40600c43be57dce6c9d1b01b4017ec9dfb8c35c0ad44608e6bc5ef9c84dd49e34333c539745c0fbdcff3699df0de5ad910d65316d1e7c73da6219211ddcfd939d4a9a51ed9b50dde14ea027692a7c838352a7557cbfc85eecca3b1f5e120e05831f9fab3bb7f522106f32caaf4a818e78adeba6b3f9fb12d3f4888c3d5da4c99bf19ea9a0a7e3da4a98fabd8ac09ea87e893e03c517b06a0f293c3f6f319c79917e7bb578b108f8d3241ccf11a8560eb9606add79e4054d8b78e262fb94e90f8db7780afd6112d89d06090bf10c355c01912fed3bc4b5df51e2622273870fe0ffc001b1e91a9b7deb0c8bc8ed277e01f51c2cc819727cdab20cdee9182b1ecfef64153e084d6feedbf0d414905b63c95d2e5282554ceda83249faf3d60e0184b7942a6a3fa27bf3bfa03a1c64092a172f057567ab56fc5a2151767e0cc5b3012a89c617984d67c22c1a26871c4d53dc2253e6c23104c6103f9d3e1c89409974921a0b7acf5b463397978b7588c9897ed51bb49afba5e3a0f27fbab0cb4216bcfefb22b64b1977c982d03df11eca4e82827f93f7160d9abc00d39b9a661fd7c2d1f7cd7f1601595872bd7faee53b3bcfac31d0e48419f60b09e0695c449af181632d0e92e5e76552293d4c4637684fb3d041d0b793ef1d527e6ebb317ec48b32b45fa1f3b72f3ece9e8a212158ee26a0d8643dd49d14147450984d9949cdab15425e65e807989932b8d5cd4f02441ca092992d1b5fd735625aa71ca01b31597b67989526328603ca6f761449fde8d1b80d2e2324dd26f9616d75405834aa0837745abf2ff778f0985c911c163ebfad100edd032f255debc76067588f476f95532a4cfc7e9f56095905ba5c5fd2c35e7c31d9f6718f0f760a2635e06c7385126cd1051ffbca7da4b3f4cc035882077557c42856e3be75a2eee0745ceb9f8b638df3117efdab3cd5ccb49cda2c3e42e4b9ce0a5372c93b6ad402351b21813f90f0e5577055ebc2710c9bdfe31d788e67c553c7de0b99e21758794e5d8ac709197bc69093945cd7d619e83eac48fe7836d5066268c65d1c1456d52e009d971a61a42d48ac2979a06b8e4bb97fb0b399b942bf9fa7ab04c5414c4a2e3b41563ca82331b1c8cc31fe398bf8e611557ac196d089166e86b552c204511c21a2132e4e4f6c165efe763c1c3769f52452dd930b0012fb5341a288c1bd708247e4a7b0675fe3573f639bc018187274c9dff94e646021c259cb4912b1ffc19a5dd9671f48e4dffd98ff10ba4c916a53a91bcc56a3c46b77ca760576cce410309f5e2823e663b1493325172bb86cb90d2d58f381e29c640061b1b03165ad8080f19ad363553938ee517e5221e0738b3f6267fc7cd1a34ec9ad163c6becd4c5d36b271462441608bbd6110348d030cf07023de6779bd39ffeb4ca4f67987cbe9556f8cedecf5cfb07ca1ff226e1903e3d37e401721a597e7a26ed49bf826b01530b25a6d62a6edbd842fabb5b25366a890c84e5e01f4baebfbc5a8a1e3322ab0bc3d171e13d74995165906c8b5d46305a9d90607714ae86546fea0824e8baf35ee392b4703f4f3a0f4907bf84f4c2a2c72b2eb255b4ed7cd726c110076433b1cc6c489faa918a10e6f8232843bc7d5be341c24d1f6f2d05a2369b3dc688cf05328c5920a7429aab945418a5988247b0a483e1154af8048f3d8c93d1549a23ac86416fd496903f303a9d08a98805b941688302576ed8cc19888af10d59b94428b59830226893e52aeba08921bf3dd2e263247d83304fada06c5c3116ab8ab9096d1f30ee0242f38053c7916ca7a650a84e0b6ede28f24b95cc84242ec561fdf239dc2356f8ca56af716652c5c5087cd75d7db817d5740159a3e462209822f2cff6063d068d1f41129176b2af2089de530a8f544df51512f41226097b983525e6089fc91ec8ee0383b3372fd57db1b1d31fb17c21956ae2f6bd698d68ef139aaf82b81c46d3bc60df9da7e8d902f95c8d0c01dfc43846767f5c64b004b829c5c72969fc4929c375a98b4a016a279bed43af5b75d1fe753b0be132422797f098c2dc217efe51a3e594580d3c61ea4ac7d6ff957c57d127e53dccc9a2cd39fbb69e60ee81e7f4bdb63846764e413f16f8889b54b624e1e9f600a25da93b6e670408e6f7310ae055a93b8d3aa9f07064514d4108b3bb39e3d3fa2a6129f9e6d776d1dfce884e791a581a8cf37cb12c2330fcdf02295f3fe78a86da7bcba177ce9540f659185d22f09adab7d161cf89791d4ca2ce7c6ef475b42523f397d0e1018af0ab00ac123746694758ae9d0a073c8a7da60caa20ae2563e431f4763345e8efb040d7cc2319da7c549b46aad0d38233ee771e6fd2429d1928699862d8107c420bf2f56fe51b9db295bc82ddc005500053d63e088abb1fcb4bc45b0be4f5c31a233bf3de0373184e30963bb7129af7d0de6cea303121d182dde13a5b86662fdf89ade74ac6ef603539deed16a24970bd66fc32f77125c41a23cd5ba34d0b0b294f9a4f5503dee3f5554c1a3b9c76f7b4df411d135a33f47a795839e2f56ad6ea3b2f0a1e7e0b97af793f9ccb3a54015bc0091485085c019d1706d083f3d9e39961365ca724017b23729a76c978ffa47f634c5f073d1451a9086f415ead039fcc3887e58d67fb20683569dd4817d618dba70776341daa0f535f44235f1dc5bb0714a0e89f798f046b2ba4386627231aede3ff0a086d5eaec2a7f1cadb04a08cc5ae2095283fed1893a1333dfb09fa441d714f69dd5b2e9633a3bdd9ba038604f887d9f1721c20ad88968e235e9f8535ca365d1c21ffdae72e482eb6e1fb882b2988272199b933a28accd799ba9a42ec5b38fca70283b43638f6e07d7e3e521c00a0a723d4b0ad588e3fc0752907e2f7442ebe8b0babd5ae9761390aa0a552f532fbab6fae30a8424f215607cbc54632084b8e684777f8136be5ef355bf79e2fff48af6fd654952ee614a348b8274b1d344104ede566f6f0e873fabe121e2e0a3f1f406b8b0252016198fd7706720f7eb2165a23a6a6407a719a80fcae16891eb08aeb1dba1ed91bdf529df9f02f18ab2108c54aea27c713986e12f51d6f187d5b3e6be6b047609a1c2252d3aac7a3df820b41353def34ce7606101377f2d5bc9adaf65aef0e8348c05c5a9ceec6b47b7c6b9b2b33df0ec124edc7bf8d0f323f475fdb6b30382fc96162c049d2feeb668009ad90f37f2829ef9f0315df8ca15f9aa4d53cbdf82d5c7348383eafd675e8782d159e8b97d72ef49390d7e5fe2c8b811783be410661778ce1b81ecf567aa681aa5e1233abcd81e0f202d57b0372a2127dcbdf53dd9b372d33f8341e33724db42788cbf76671b2fe9b9e017931c720e11f7efa2fac7075ea5b360ee800875f892371e9ac5bc5ccb8b06bb66107c2845c18311b49b6699480e17294a28e77aec622a324ef2fe0c5a083b5e13fefd7fc4a01d0a9c8deebd2975ceeee32d4381644e39443d8a2d5c6c91a879cb161329cf8eb3fe2db04fc29d3791526975af340c5c04e83d90879f396723d1bbd962bf673fce272f63cc4d7a45a5fdfebe5d61f071f2b55fe68533075567f1e622dd875855922119a3179742348704686419eeb889528fa7297d83acaad5510074c4a4b8b22237a97490803643114ff2d44c107674169ff89f16c65b5db225ad26f65e4fdc8a0dcd8f36108040c353ea3fa7feb1327612437e38966af17e93764f7c27362daca4037817caca94cb12c520b5ab08a5e12993d55a4fc8dd0e8fde130ca80aec34566371f99c795eeaa67a32abd118188c2529cb813aca1de97258d398f1919ac6cd01448fbbfc98e9b072ea58fa8bcac52a6b2d9e86b4a8e7d2452944a2610acf532c5c773cb245d3e1cf837d3e600ad9d8032810b73d422cc24d883e38343e47bf86d405b51b39f448defc186897206aee07d8f853fbf05357b51826bff05bf860bc85b30d5959f0992373d0341e41d61d229fab87dd1fc722aedc66aec4d2d7de852959face8f32477d6314a57f964fbaca7727efe953930c697b3c15e9bf4753945cec7e1fae2bf31964ed97b2e0489702abe088573de7b6bf6664eb0140b7d64a3900beb9177ada9b713759bcfe569e043dcf905b7e76987091d982aa673edc756f2781de2eff24fb9a08047c01856f04b6d4a524d45207c7317e025c7d97300bc26896355f9cd62cb355ebe633c7a8c32cce803eb5d59a96ac98e0097e956f1450b9d661c1026b1a70a2438ed98a61fa70a84a81b43cfb84110880d8206cb303ffc6ca2c098e2a8bd331be624c737f0cb7023d2721a6e091ffc31bb6f63dc94dd1d3ce6adea8ccc1f0fe44b950b816cb50668f0039671a6cbf63b000e27398e7dcd38baaaf00d5168e8b594b9bf25f4b552d5ca9b79ebcf015b17944950eac1cc51e78d0aee8bfddef4c8493f825f8a5e171eacc4bbd571f479ddaa3bb803b533e3a9cd5fc3ba08f21f7b17c8ea3c0c097b4918349e8556f73ea32cbcc7f75b0bf075ed2e945284bc587551759ca6b9c4ede150b107f5599d2c7cc2a0e9239e52da1acb1cde6bed7c77e8b854589821f32919e09b5f9353590fcb4cadb3beebed28b2e23c8f5480dcf8d9641992fe827fe89e04c492a65acfe36ac9975c8e57346bedd1fb43c3f9046086de12d7fb49c2c62ca3e87c847948fdcb3104ea557ee967f43f448c0b553ae5f0ece79bab21e8d50b1137ba0f58e8caca530fe6ce2d89c1b38e7ad11781c2cf1c7186cd76d1332b027d2d740cf8ad9c0adba63d5277f977e5d501db64b1cb220fb1cee2d381689c2e703b08bef3e9c2f335e85e1bef5c382ed3500ba671a27c08e6e3048b95b725b3376cd6e898ff9c221e009f273c4319aa4a04ef97784b6251c6e1727f394597a98c26d34bc5cff0a9a9cac3cc2d3acfb7474291cd3e0e29a66c3487dc0e39b9110647d930fc1fdae832bd1bd901babee2985cda70810a1939201487c21df2107fd182fb823f0561fe29202267d10926ee4ed373574d7d71fa136bcb26455187fb6483ef88cede17024fe8b70e6f06f92b41354af01310edfc47b717403c54e3abc6466450a5ae09c5a2c15f51ed62fce0cf84219bd332e64548e8de9a59631261993325373714df9728bf332a89c6c8c9538e3cb0ddc7c4052c78a6f163740243dd0d187e255e938210a0d2ba4f3cdbac7133c83d31e454a61dc46848804477e492a4d705337f0de34101561e07157949f1c703ca907659150e8050f4c0e2b8c87c9c8f3f4fa520d162a2a668678384cb14d9d46100dbf4fe93d09ff09aaf21afe336871808d98f4d5c340db614c16553318ae59ca362ac5fad97995e305de4691055b144f5593a51ab878d1ec205cdca31cda5de37ace7198dd26226f23f94afb082698fd01b195a4777a3d6f99f9d143467cfd2f5c8e06279b26916d88e1d47b4353bbdabdb2269c6cab15509a7bf070966116a65ba1b4217e9754862cd972cc7ea3e45f74fcabe78b114a58b3a34dbb40fcefdff87a15cb74f83ebd4ecd126ea9aeb4e7e8da1f3bd7902fe365d9a602439b907575bcb7678b79c2e164543c8ca0dd588f7279897f895f9b7f8b94890f17734798e388304966f6446302634a64ab0189817a6a1a34bdc23342e29a0df2147d54072020941e1087f6324f4a9d2458e9a7d4b3f8dbeb55e56be9a5f323b9e344e8b323e4187f5d042ccf5131faa2c984f774f10fb99e43ed29a9f68d9bdc0d09884fa0df898cb4a9e9d3db0aef3d534b150c032fbcfa9ce0bb32eb391ff77c00668695e08a87439b3670abaec2665189a27b8f65af2db5faa893f28dfe74f9529dbf1beadf32bbc50c862af130b7cae4bfbd308b2ed73c5c442fdd9c38a3a6dd94643c6928017a2ff8362fa371300ae349eaafcbcf28392a36a2965f6a8cc65023893ff1a7aece499619de830e35ad217bd74526a042c5b329597a9e01bbba9bbb22abcdc61c5d1f130c7f398b07551a75d5783f33f3e37a9fdec6a5b9ef07f33a7d9cd20de1afb4c89d6a6ee3f0115f2260e57901564769d040a24166f24322de8d0031f9023da944037cf355378e1dd52f3a946d7a713d3e003fb6aad799350ecf7a0e896cf06839b44ef83d2b9fbd5a6f6eebb9b87a85b1cb341919f97030301c722bae6acf995a242bfa0d90d1b367fc2281be84100520207fe22c406d42bae43c6500bd9eaf71fd4247d7fd8a083a4c5b06e480c971208fc379a4ec299c7aa44045a363fdf63ec604c58e1933e29029c7c50c02b9299b979adf1c12e10d0474875fa7128f4224471ff3ad63045ff4a7d1b34a12f2068ff1e20d0d32012b916cf004c47f54d31afc6ad0eda95e289cea33ec527d669a28ec662673ec94f0e9d0ecbee7736a5de7f100aff97df43f1c9b098820d6278fa92b3fa25e97cc7036da4997c66e1f896cb4e203f017910afaa81c8e62bd15b57f67b71cfaea47795f4f2f3bfdc8b3c565f52c58b20c6f470c46f9d1633df11683de880d46065634824b41ba832a51245ad38463e232f9027c812404f8df36ac1ef423e818533102ff812f2feef86d25d4df45f89df4872405f55f29f5eeb58a6952040e46e563092f3770fe175080f9a226ccd47264893d5a425bc068534287118994377c6640cf96f9c5177f092ea996a3311b48e3df4506e6b5a9e1afdfa80f06a93405c838604b940ffbecbbd4eb71db9d26a7cda8272273e3825fe889a849f9cfc893f7841f3c17c39f3736520313f594db74d19427efc297d061c90cfa05640c19aa41651485b51c4c0b60c4387b992f425a92ecf0aee749483fbf0cca5162934149824d218f89a40fd33e38b13c12a1afacaedf0ccf2e485efce6d7ecd93c5c594ce8ba897ce0d5fd546c4d54a73f05fa2c951229553c5070b12060961f78c801beadba9494266409f7741980048fb0ea672b0d705aec2dd895fa8983e57abc1de37126fa8af02ed44119150f263e866d0aa0ac182f9a7ea2b9ba5220bd9c39e45b3feb419c00a39338550c2e6589bfcd96c52c263d918a306148d045438e65bfae9d4ef45e7d39d5d54e80db152c971748f6ea3b36bff04347c5e4e235525b6123d65080a70ae7c0058f1583ce0a5f25da8deec9d4001e9c18fb55f81a79725a834b32a2b4abde16fc2f670e56ae579f192e3ebb57e23f4f45182a0fc409ea97e53b105151e6ff2015c7c8e52b5696dffb040f0488c0c8c8f0ce312b08a374843dde3e517535cc4115cf40708e9a6daa2f28bcfe78b913dba3a0ea0a9bc091652132b3377fe5507ab44d360b760b416d805519060fb53f24d337956ce54d9a780f7fefbe9ade6f3853c4572c257ac6a36dc5caa4461640d3c12456ebb939078af1b86f61840c406f2f21f5d436284aac684aec6367b292578eca8ccd26f8e866e9e7d816674b36dd46ec4717ab161824599a66a6e2f42613d556f822d4780b912e66fc27839e653ac65a8f1c3de1ff50dc55f503356222526c23e774c1f3cc52c32ce19168c5446a8c982aeb71db9ef49d32802884ce7aad2e252f9ea460fda3a1ba91508218d49d70b6a89b0b7586f0f79c68eba96738a101bbfd9091c3bb5c2607d5a8a599fb4c00dceeb2413431b38ba2e912ff5b33b5039dc6c2832f068c69f3c437ac6db31975f727e0d6b16c2ee70a5c113a6698e4f3cbb4327cad2fb2c2700c2946eca04d67cd0c0c45e8d25bf335a6db9e3fe299a2d1416cd23b1e0cb3bdd52b3d068976a9f189a25faa7198563a096d070a1703f806611fd99309ab8becea988b2e59cd2485f6a34ccdb329f42ce35bf0942027e83e00cdfb884cede467e9f345f582eea69ffd11eddde6ac5d96e6e38b88bde4f2d6628f7f237bc980f5fb2a258a6bf12ccd1179f42ccc1a0c840155f455a144e57c91e48a4717f1de9cfdae4ba574c20f1b114a2406ed15f18022327c52bb2c810fc90e4371f99883951ef44d361ef66d6c2b5e430dccc552901ca473f6c7edfbfd83879db8a73c81b14097f121f12bf0863fa3d454985daa15706c0563cf39ea8cd3f6ad4c1bf7f477a79a41d655bbde8dbd879420b55a60e979d9443637942939363e84edff1cb55ea688b7a1ec3f5accb90f4ef0548b9e4dd6b444b965c7ef5d28d2b5491c1b8960b7f3178d62fb1082d78a0e168ac87e73e619a8ce162d6bf7749c3aa796f3b779ca621428a2468f12de44c5055c5e10b742302fb6382e5b87039dc1190c313e61879d92de0e9efb4376d200d0dae0fdd1b1f7cca9bfd75b664efba9926feb46d90d2bf650c6439827958617d9938a451ea6cb853585699d0d1f55843a43e8710469627462c7f4ce5253fa03de322ca286f0ebb6785ef74c5953b9d11cc21fd5dc6209cb1165d4bc0c89b4b3cedc2e68485178b835e9f36972abfb5ce402ffb297937620cbb9b9ffeb4122a3e85073d67a6e680d0a4d2261bffe845e98b0ea8a1283d3c8e7ead4057f5341f512083e99ae40ab0ffc9af496e648bcfec17088355b211168799a021c6b1d66744b5075b40c07eac863a70a9e93132e3486b4f4f5aab4fc31064a9928114787b64d4a2ac1a910cc78b7c8026b798da059823d5f00e64a6ebcccd20dce63aba96ad87fe4c0ba9abf8c995958b72eb2088d9f3d51a41d5e7eb4c55e81bbc8f363d791963a92b13584cc4486f4bf0b706bc6854ae1b1bfa3c6e7f888e0c646b459eb651a5b9c31d644af857cff960715fdd6a5bb86a10ad2d8ce4d3455e725e8ed2f29d5a43fe0bece03e963af4f738dfaa88348891dfe2f40c1c22d91f04445b8a8cff8867562320973036c4ba59ce518f084c9baa2993e1359c005ca8c128f2da2943bf60c9a41ed4a4bd95f82bec55692dbef47f2a3da1936096ecf46d5d521faa6009e0cc6a97baef88ad5d693ceb107fe45c60d66325d4da5affd5f6aa9fc59bfe6dced45114a42ce00aa8ac18dfb2695ac62943bdfc27f7d1be2fd7360bf9e36fe8ba2ce7ba5dff4e66d657e53f4665812b91f00be3afb1d38f0160ca423a315f1497a46d77c021cbb8a532a2c1eaa627fc1b1ecc6a8d7fde1b118c6fa90e970c7fac26a05b1a7520b83b4b6c74171e7e638f31fc5f982444c75fba94d820179d3ecf8e4841da27c90b1f659561f8814d2f4aad681dc193034422514c2f56a848b5c1d401485a844b845c1f767725e592645aa1796536b06122cf40a560cb41a24a79cba58cee6f79beb3b1b03e806e5dc85717f1bcf54410daf4ebb8682bfe39ef5d4b47664d8358ed0185a42a58e8898e33288f0968699f8e5e638d73639ee4c61e1bbd53cb207dd66093eafe5324203c17118f650fe54128921e9c1c00498118a83592bc8e5ca2e1f218b9f02974a670a4d770ee942e1da4ae6113e2e02f4704cb1fac17ab76053b5fd04192cab0e8c055c8b3ff9bcb0a58e0ca2529411c205d8cf29bc9359f981bb402b8d6d43fbb88ec048e6e3dabbe4b893a6ed243df8f95e1f0b125292bc09e6c71770c6f59cd179c039627268053991d5523eb86e5bb848ba46e6ae20efc3708630390655777fab9c6029f35c0987cea142d4d03c4fe9b227cf130cb172ecf49ae5ebcf15ecf588e903d2628a294591f6887680a07550bfd7b45e6fc76ede0915c55e8ae9e357e480fa7ac41fca76b94269fc78eff3bac31fa9c1a2d1f0655ad58d440013f99279dd2c98f4f005d821d05e02a7d6a553ac437aaf484d0830c29ec85f9cfc8d16cb86f04f17f9362f8b9f00e03d9d5d539222d55e04b31858540f9705d604602ad1d3b1e0d5ac142b5015383e27a54d11aea8eb530916ff2032514507ec59777b38a7c80c1576a40b297177f4dec49ac058d20db7e6be8da08af96958d0bac1b3876b67ba8ee5ccac32fd98333496b860f611262156e3db092a7fa52dd8e83b39f5663be8d5000cdb40ed17babebaaf724ec0d2a4d623c750c81ef27d0e00fbc4ed41a6fe55c5d191416a11cc7ce304e393d6c0eb86a7df665f4aaec416389ab0577601ecf927d68b0d98b79c019e32c76030b8f0603f7a198d8e42715a93013a11037b435cb01af66d3820217ce660b8394f9683b03affab2242ac7a243e3e9f11708ffda5b7168b0587b8e5ab5f5cfcf7f1abe5d71f8a74827552fbb74c39c747f8ff91898c5fcacb6178da7c0c456a731029c21794e55ee4353dee5f0e17e244e0dd4aa280e55cfddca2a796f2f4ab7b8c2833f7365a876ad39a170974dbdee72c4d56f5e5f26d9dce17f0f4fefdc60fbafd31dcc5321182792cb0b696f6966a9202ec13f27a0111cad86c445cd4fb6b75d6bba4e5d43f31bdfdf9f7828ca18861f39c7bec0f0b954bda33beb987f08a22a587a02122e3d2b416eba6d82a7047cfc3f9de8550bffc2092b81f6c3b3d75179eef2f9fb1e4724f59b699edcf70080b67a50fc7537b1cb07026c81ee8cf88897e9f8bf4dfae9833b37ea1b68bf07abfe841e087a2eb5907e7570647b23178427c3a692252be15943be1431d1273ecc5f0dd4f1d3cdbe2bf361d67327a4d2487c9533cf89b4ab9f922d7555eb9f5b626b955d090627aa550a7be98fa55415a5f7947e2812beb4e0ff2ceeba46cd2cce7731e6545d060849efb650032584ed2e3cdd3ef18a32000617950599a2c0af534f2405f5925203033b1036b0e86ff5a63e170c5b9b20d6dc92b779dc00920b3cb0231296dac993456e946eaad1c4bd4848dad4f28c7c68fc8d797d1b870e033b2ee4f1320601e3bc98dc114156015bf2edf6b98d8a7785ffb5e1ef8ed066a38b2b1ecccfa99eeb28a7e19fb93b5baca09def765f43f7f57cbf3a8f3381d98ad114517dcea00050ee2542c0c4fde1c955fef73eb8c029c4080ee08a053b05014f8e2493a46afb9e67b340837db780eb62332674320b320599660842c824d96abaa0740d8173e52bb1948cff1ac8c092fbca8d32237fa927cb20e9347485343efadf5540500144146e93a77a745a32ec68cb1626798650fbdb85eef3fd16717d7f53c270a778d851c7dd15f067b81118252db3f3c83c98367793f309075089f082859e8ca7f8f3c16d74becf077e1b5ccd86a6f67e0b5b4c95fd68fccc21edc2874075423c43c6ce53ff7dac4f05107f33a1f615c2fd3fe249e8a329ef5eca192b6d038c778b4871349b4916b1aad8380d941c07efc7fa0fd36eb3aed41d6278452da6613fa73cb4b8982ae2a481a67a7f469d579c764ce37ce2e3f49b625b01e3b987521a112802cc409f377bc8151f0be70ddcc1eecf6c9639c917af230058981f68b79bb3b7b22a2f98fbd99cd3b4f5f7539cc6fd2e0d53c3c45416c599bf38e83986047302116412d8d27edb6074ee9d9b1bdaae664cb7d8d7c0b376eb78d7dd88e69a5606d24ffa11aadc6eb36f59599527425f39c41cc33b0aee39f59f4db88de0848c75cecff57623b94d63993a8f869a27686df4bd7b7be0765317f11670c4beb7157eba4a081affa16fb75ccad0226f4ebe7bfd6d2c845947a4e684ddcabcf8d1246f1f7a8d395e7813fff0fd3a4dc114b635de7ce668073cd7c713ff2d79e9033d206b8dab457149d1ea76628c682d2ac77e92af60b3909b1aa7dd98967d90954066a9a5a9e6ac5c6149151e391ac37bc72e28f61a79e790b62cfa913df6b7154044ad2032eba9d9571493e03816fd164a203d7f8eba483c7363c04d09f05ae0f6401a7073901bef1e210a5ffa737ba1e4fb80e3e58e9eb7bb8c84e609013c38fbadab3cc9b05baee4a5966276fe0344cc9de3d57aec450b530897ea4c4bcb0a4028749b5b925121c45a1a867c58f5d9834ac7f8ad73f1e8ee8d860833957e5e1bb06144540d82ec4cbbf99867b345c4160c913538cb1a4becd0189aa3407171656e3e1fb4bf612aa8ab7a5871c909e4229e3d33c34e84adb30f9eb51de37c43f6a50f57383e9220702b01429f48dcb7b7582ae62294232ccf393b87eb28309fe8bbb3163e79ef4a5bef46a638870b8e56b747b1cb2a2d4a6e3ef63f0e0c29771883b39a7d9743fb5e4fbb5d69b601fc098c4d1f549d0fc1a11ffded4cbf8f2f5d2c0761f4d5d8a10e26cf2aecb2736f53c2aa868e886eaa9c92ddb194fef1bad4b01feac1baa789d573c4b0ac5b44ebdd361038cddef614ed999dbfd8894c3185613fc97197ec9a5db63b21b58f543f878d2b2fa9ec9b925cfdcdb8f8a8531c230002896e50b85d0cdf38540ddc714d8676a36d5eecb38facd7400f1e043c37e5fcb74cea332cd1b431dc5b69b3ca6f940402f17debb34e9966f2534e3fbfd1026a02546d1fb2fa2835462936f844941ddd4d925240f764d0f875ee2253549ec8dfac6c1db24f8639490ece7dcb9415d608b6827a30cdab464c262f7ab7ba0514c0aac9c241bdece6271012a6e202778651db2fad569a1bffc4821ac7746e4cddc24e492acfce6a45c6faae890e98bce93fc175023dd5e974036109b824e975f7765ba54f2a65af8a7c971b1c7bd71f601ee1dcc1538d4a9bacfdcafc0524d41155e3b9a5e62bc0783a931e0151fae21ec9302bd73dab30c19f2b1d6ed50747f3f31e3333cb3c019dff18dcc94137068dce067c6162153e215965955ebeae0fa6148b9170048a24eb948419388656c768b23f39c8f40ea660362e40acb5dfb4ff39611eb18e591a645b12af95af4dd7272bdb3a07544fc7fb2d17e5e2a518a735adad9cf313d26d017481fef073d2d9dadc174425dabb9411133b13df793e93a242c0487b93059bf158241be1d821e7fb5b610221a484490943940cca338b2b9e196e0901883450d79c7ad72dd81b4bd2d308baf5d7857721370c5f0073c3b37323a60d3887acb3af0b39a262b258bd0b814ed7285d1913e741823a0647b8392e93b6ef03517cd449aae628601ae5038d21d77848b12ced58575ba0609aa92e756b988a6051c908d1831b9ecf94234f3992b806f8a4106577d1ce45e5ed7fd82c520099e932ef49f1ec5d44c859a0c58e8b877b19ee8b0d667ecb320281e2fdb415add483fff17ae659e58e4eb69155358d20cf68275ea36bbf776323713b4e8e73e68bd4ce412e1651e665111b5e336eee95bd739e4bbd58ec3f698d4d74a4eb9c9f9be897bbe351361b53a8713e41387d73dc22c89cd5c0b557ffdc8eef0d0e2099d73f547fe4f7f4ed166da7ccf4a1d6618b3c7ddfda42e8ce57c09dc4fda18e7ac5f1b89ac86928734adb5231b1df21dab54b8ec563fe33c377a3c4d1f5c0c397ea778b98670b1c4fd9bd7d13fad281276e4333c84fa6a374396d780f6610802bf9a5216570f2fbfad94e4753c9b1d3df0b4164773b28b9028976b64b5102338979574a3fe5e602e14e2264b30b2629faecbb3a36bf243d4fe0928f933063787c56402d157f0dc1325d2f3e241309e8d1996ac385d960fc9f31830d26ad564e9db25d64a33ee593db5be67e8dc352549ac9863081e118ad139c648455f50023cb42c62a3bae5a7517602e27d2666892bf97f1056cbf60c18cb45e7bf1ef9f00238438af17f9b31ef61e5e5a6d61e225959e8930883f06cfd0b72c555f692e8c863e710cadb4105979365c14ce538194a318ffab5fc14f3d903ecdb62da9298f65b387ecc34c683c450accf600314f2262df900f0c886709b0e0f2d3453bee2243658861b6b3cddff86915132fe5951c8dc74073532c13c18541b743f8c8c7ee8b325fa83d1d531f8cde96388a2ccec304095ab7708d31e3ae7f51c04c434261bb0ebdcde0f058c4cff2b5826cbf57b6dd7e4876ababcf7904a1af145c793b75ef48b7f2ae68bd0964d795a07841bd191499db7b18e18ae9fdec54e3a1e9b6152648840e60619e379133139f419475f439299b6d25af0baac2e070ce4b88a4e3b0642ed29db016b11c7567faeb25b00f9404b736bf91508bf5fe408a5acfb0fa374b3653abe3dc6e6f8100e5e159caf4b05908e3453b48263b4a978326ef56ff32fed5dba48a4d7e9b780ac6dce74ff11f779f5eb37c0ef86ca6a725f77456e389c08c47f7028459a1d339c95d5fbe71e25da34674e351ea3d97024b39c1333b98b34074cc09daf03e8f2bb371016dc0d2c36fdfa1122062d964a7aef4e6b5551d24271b7c00ba8d725411347cefee1c9077af640dee64e75825d8a9d95e395bf462c4b5591643aaec746b8d13539c068e6e003b51d399c4596527a5131f00929cf1ffefc096696e5988a12289fb32fbf50a239837602413f8935b947ba06132410085360fbf240ac921e6b2c1316b0b5cf22dacde814930069ee0ac10ff881e0ec1148614494f3728705391e4c77abb9ede23989f4506c1fd9e13bf9d41cba7b7fb9fd80cf97040f89e9d453ed27d8749617301ed218ee484339c56582c3089b5fa73810281b7f4519cc5696a3b5baa16c17ebce24a6f0e8958dedc104926702f89963e74d9ce19b45010b9ee8e528e60ab84475538bea110bb472088aec18112c42108ced6788e27608677f2f9f8e36acc16ea63d76b8b09665a922b149b13ff1a9bcf40f00d25ea7f4a25c40b83f0d303ecda96a4460898da43772df822ffb638295109987b7e07ec846e58e2758a4e9a718c232ca9c6aecc0e1621f8d6eaa124ee5798cc094b32f9457355d79ddfd2787e4302fce77c79caf0b5cc90222a82139ed20804b612b15e94da968f9dbbac5c3d1db9d09afa539b5b00634d82ba11e427e324d02316bfc4af09f7ce1d1bd8b52b6a9edd7e3c441b0b7a352c7990e15091496ea85dac6ab6300e1a2b2c803628e107405a9f8fa69143bdf96f9662c57f4ffa7865dcd585366b8cbd605e7430f1bd89300206eb503e04b6ed6cc29094cf73fe2470f6992453152df4faf47e37d1896edef8e2ed391259f34edef82c29b62f6d871ea00502d12c79e79fb6f199e7ad98e61271513c54c613045b08b349702749f20ebf0d20bedc943d277b2571c4e15f7cd8fa863243423a2c2d84b15ebc3a2c2839bea9f5b5bf4aba772141cc85425f1d42e4be39058e3e0350b3eef6546499c141ece460260209a1fe078d10a9799df343f7ef9f8b3f535e13784a2ab56022df7708607470a168d6f36ece757b6cbaaf32eb8d1b833dc19dfdc4ea34dbd0d8094115630dec954887075b0699e5855ee6f671a1d3ef1288e2109bf8f37407523f42c7799a3122c0efe733a7261f67e9094bbeb9aac8e16c4a77f50a29c096748d7a433f49e4a32796b4d73238f35d6026cdfd3bae6631fce8b676957d708f8732ff46562d9eef5e24e51f8c9ba2f105d1d66416f00da8d822c9ce0478280c3ac8a757cced63e75a6d889c2796c2ecda189e858709e8d2c19e0e2fdcbd07cd5b4c92aab2f75a18d2407a2ea2d0bc5bdf838c878cfc5efe278e5c9435a6fd38597006380680f96cfb74d75ae592231cde3cf77c1a2caa9e0e17b51a5985525c3932800da904f0f5f7d0bc2a6c644ef5e29d12328fd8b33d286ab5e4c15fc5a1dd81ee910c0db920500effba3dd1fb9f5b730db52019c0a40dcdf99948a6d0203747571728c09824285e56c4a214bc0c23fc5f87bde2b5e4482e27dc0b08e4255105f6248f2e2287660b40a154e0b7ce0be0d5678396709b17e365a89eb833c5e3eb6811ea8af09cf6b89a352c6e2f82b3bb1cf27921ddad8638f4086dfccad8ddea021c5cbf45966f4e07dc6b91d243dcb180414d22f9f05e701e0486fb8eb59119567c0c32cacde68d614a05acdf91365221b37521c03ea1caaa4621500c314324a33563110e96878c39a5c3c4bad456fb4222efca9a0b19f0f098f6276108f445b0c712505ac376a11d5a2f601250c4d295a417ebc487810d710a81d9e23ff2699c48c8fc31e49a6d2f80a632f89bb8b0f7b3b39d3e1d0a927d949e9b121b387adaa017943996db18278942bbf56e2cf5ac509df3923e58b90d184228874ad6499f6a5816b49f2fc100d013983961e9179a0ef650268d900c696168cd2d54fdb424f1d90d0a72ea9619107ed84e2f953f0e30afdbea85e89df0d3cf45c80f905099db97612268dcc67cb9c0baf24fb94c8ef0960cd24cc66b28cf4ad49b15102f743b85f2198aadc1f45faad31db3e593de52f5b207577933839598a984d5a9cf1d66a746ecab9f04ee72811cec4b9eb221a83f52fa2d1bfa4c51d45317a1673a604fe4bea29029be8f75ed9c91067c43f813848573fa3176239c20671316b8c832a349951f5cefedc1d49c96251fbb5d1966a7c0576b506d105acaf1ecd295b281a5ab60de855382354e90aea8d8c3b6ea54398bbde01d508b4bc9f4d0f8b10b84fea68fac1e34c05f7a46be5127b14d4c5cc8ee4028ceb158b6a8ed0097af7b97cbd2cc4b0c4a6b0bba09d6582f05087c5d684f23e7beddb60e0588e3f39c3acf5ca2777004caef08c65befe834538e90d9bd49156274d5dcd09fbce2db63f2f69d5eb3600c75b331cde310afe96722391ae13d398fb2d4ca46dc8ded22391992cbcbedfabf981d9bbce7df49e7fbf333ea73fd0623be62963c2cd12aefd3de0ba1001ccfba49484546de03f996c2f5dfcf7ce29c498458d1d0906b15a606e7f997be4dec459bc90a36726bd8f6ec8196825155360541a28ab73147c96bd7ca84186f47d7191d6268b220c198ace7fc78f1e95ff6f2efdc7f60b45e9ffe8a1810839488449d9cb20f015c5acd11c5e33f918eda42078784415cf403f40b7a6205701d2b938e689c5768a49177319828558b27d589ae3c11b74a3821198f05833e477ab39a3c5e9b40d96210a3e78e4ce4526fe34d53fe90b9afee92a52bc7f182d0d51857f7e099b8265e434b74f0a63839b0c513be924297a9999762be565e9bb5fc66266f0a4697656a67cb93bdc00a40696250993386cfa10f2dc9adbdb4de3e3378b3238999183bc33a681a3ddbb4e2a8efddb8c714635ba2c9549f0571774e57b130cba06f2b1ced7255e5088dacc96890e874f0083cb675752ef4b75c3206f23a5a1c27b0859383ee67e3593633b6f0a6c81f29d8f7688972b2c852c6ae6a0485a440b935fbe3c83239e82bddd9bcc38119e8721682285af6685f526961c883724068d07b004428e6139158ba296ce923bb3d61e8fb0de5a6c5114803ae032d2bdb33aa11eca7fcc4c8c3017972efd9a66990c2de66ce2abea88b747f485149b196c0b610efe1d7a90d1447fc40c7eb179bef0301627c3e61b7d2b50c98c6469d9e2cca8369ce49544617eea112bad57abe1f8b8494a6f658d001083accb5047b3e5411348f5fc3d9cb9436fb01dd719ad9ef6a6496db4967b3d023fae60d526139a46b44f82ddb3e19d405c510f5cf49ec9a5a4f7a62a76abb2bc8169e4be43ce5dd810d32833e9f4d1b208b18ec1a1a4cea0dc51a68e6b5ce228b5f6c2690240acd1811eb09f8b9396d1993193e00d2136b7135bacba4b3fe0ebcaac84f73a5a0b0ec738bbdd847b59b9232b99f92eacd0cf0266d18061bded86b65ce84c83785a3c7c9ffd747f968a1ec234ff160e2285b1f881751381b04d0693b556eabf681ea1cbc06b13573909f10c4a0804f373d3a426786fea1a10c5253378e4b25557b9298f9c5e4b0868c9711409f49d6a13f93700bf88a148ce4aee53f04bb27b2c74a683ecd0ada1d15f23294ae7b465c5ee4bfa6b8144e859d3ab4f978f70efd2a32bca5a706483d2c4feb46b057675ffb3c1497c2a5263f2e79455eabab99a8dace4191de2ed1bee0c3ec6c7daec6b87757947284bf922176f88217203d4da79befee9e33dbee3ab29ee7461cfa82f674929ceaaf5964eacb325b1bab236ec1694fdf01a676ccd69040060dd679def4a8654c87dfcdde9770ba91d82f005af3396062946e0928550933c158c880181258e60f9868438800e1e4e24688ad9f4a3d82c2b92eb36dbd5cf443249ab6c9cc1301d7a4dbe8010e3e22bef62575dd871b3a8a859d3403108c6c008bce9945cf00b0b0d92638197721a823e44abdfe000cfeee71a2368080d380d3c8eb25fc7f38d8961142881f1d5e031221c81840fc800b9cf48d4eb4bc8e629b13e81b0a25e158d5a8db4139d27e26cab4b51b2c080d2f16d504be4ca952e07ca41664147b2237d492e59f332c3b4d19730baa613b32074dbec34194425b78b00a2495518e113cd20a83ccd52cd1c70df828ed7283201bb5b14980d8971f0da4aeff04d9b4ca9f25fa41d16e503e5c70232412cd62095cd7bd93dd04cf201d8eb2bc4e6e724c0f2ef23000dd6da043770d09be2e4bf51d72f3f696e330847212a40eabe8c04848436bd980d8fc8cc19e5e0fc8d7828d6c6669420197af3ceae87b68fadf954bf090b41cb54a913ee2674f347b13ebc3b07e8d895ee56ed4328a2eb76e6ef831617636082bc0127aacb032f712a472a904708cd0fdfe2257341a77e37c11f962b9ade58d648397a1c458322a71af72d9064c1d70e0c6a58110ea2f12b7a7c76ccf4c23e853b2fe2f74edf234ec37f3a2a7b4cd82a509b3cfe8f5f81f98ef6b884b4835cf9be2e9484122533d908d4fffaec8f75d423d8c47ef697612bcc349da7b3737ab4bfdccdaaaf06a048370403ed5fc234b80c3d8bf66298a7941f7e776a9ab3e3f83acfac05c372649b5df2b67fc363ed26d9a667189b341a3df796ceb2385c9d021de3f35d2c37b60bf032ed93e34fa36fc43abdfd28ca22346bc59bba01e3b76bb9e896f28ebcf4bdf163f6d5b479b815eb0e0c6167a0f354005cd60b5c6360159b691e365e36c57fc2d9c4a404f277d30882b611cddab3d670a44a2fe3bcf08b2cca6aa7d0e25070666f9ed871cc6fc33e93a722c47d881bcc91421508b842f584d7ccfd5724205f0db187981d799798f0de4c583b12574a278b2d58253d8910d34180596e5615f65c7cfb2263fcc871320417da9dc3b0ef77aac2fe89d96d604580170a8b7b50c784d129afbd778bf1a347393e80f70250c78054d4f2de377e01d6c630848dfd2fb944c968d5fef3b2fa677ad9803b24caea6bf773d1fac8194037f9962ec749abe53f5261d8576cfa62f9d2a031c0e370998ef29d62a9af71d4e10bda76562fe760a59d773cd513533915a642d915aca3e06fce06e557d74f15cde0141df1ef124fe6971cbc0c42bff4505fcddf4b310b59f04de07cb3b05503f59139198f72fa340c557c7eb42cb97575d226f068652dce298678056da6f1966312d1cbd5cae86b0006f0b52830eaa09d6f9efd9773c02af6034af966dbf4b9f6287583365cc00e81c8a5b46295697b6bcaad5b621d63faef0004a6266736f54f7e8867fa74e62cab53c68e74d6b55123a555fa1342a5c6500682918101f9b3a31fbf21412912ae065007799eb0b007f70f3d84ab1e224abe1a2f2df831f6d953aa1321c9ba72f71a4e9a8aff3959a19025e53d740db456cc5f8ce29ae616ba4741b8ccbba378ba988f63b519eb08f511d85247bbc24cc5fa92f0b5d42c94d8766275ca16290590f24844136b3d24863719034df398552f6eb37242ecc1c4e0e862eb34999f32981cb63b0b42ff851b3e45c0aeed01018f67e9ae1b6eb7599afd7b94926a83ecd6cd5b5b250cab230f707a3bfd8d275e84ada29c408acbd0dfd015e885a4ba9715f9083fc3b097fd80e2b08cab6b21ea16112a216d2db6f48f065f0ac9298ce322c48b378f8802f4e72dd90a4f66927f98f9161967a8ce00e11093496a40d7075b49a450750bd44de28b1e049841ec7930e5bb475ccdfc1f02a7503e5d7311f03eef127fc482d0be21f1ddbe975e44eefc788886c31abf204666a8c3057fadb2e6e4425acc5533308074ea907cf82f210e6584d2a505df034fd103d1c0170c74240ec8e008a553beb605845c6e9699973f0eef3a4b8d78418b139a0a80959cc763e8a906a934e13b3126710c88d590a400b66880953cfaf888f3eddddef62fd6c20443f2a80ca81d28a387a0ab448db8076458431919dbb9c35f001ff4cc5f6e6f902bdb27bfbe9efd185d922fbc5f677c64bab2ec2a4a4dd8bdd9a77ee1666b43afc577261e49f86fa081e8ed3264eda9cbb4fac56c242723cfba225deab8af694523a86cf8e9f50cbb591dbc4a7b2ad5cb34ed2bbd71b9ea876aa7f37ae29dfb7d90ada40889ae7f03f575d760c72f2d73230db73d42f42ad9492a2cacb415e22a9debb35d99228840a89cf034aeab82e9ad26b6cbd336af955d89258f17a8531cebfb36498dcba235325a39ea2b60c50261ac7317a211a1d60f46ff43403e055acd64225d004e9994fd84ac4863755782653e50db33c8ecac96f7e1ab4e107cf4f6bce70069591a6a7da777bca129a06697a33f01431dd0fd569d7baf5af8e20b9eb110d9bdfa82fa04adee5da805e1708bed94720287acd4180f50d05d06bbb7892fe99d762bd9c585052961ff1d3200c3bc2239e7937cb9673a574ca59199222595aec5ceb866a29c900f1b2b005e0b6433a442913c4ef21ba23219bc08d1367a4328679d51259db2a04fcb7558067fb83c5117731d1eba889892894ae7b1e562c79ddc23d2d4a165e966c2aabb3f886b0f9a7455b908014395f81ae30d5f5fb6bf44af508a5b6a293417c42c3d255e8de60f5b25fe043ba5114c17bb46edec027d7553fef04d4b37dc7edcae464968dae6927659131cbaeab352f9b77e983f4bd5f3170569554591f9e335b94b0a1ee4ba161a66dd16ee869ac26d8c685f80b1af9a6761d44a217bc396f7879327ddc2fce2f8a3e9facc93f55eb7f5ecb289a9bebb3d788705aec54c7eae857ea347b0067a31e10eee9f3782d7369b836e80fbcf8e4513c2967f4d3afb1896400012cc116b8cc5a13098e6e68dae06ee7ae76e2a056c4cdd5c704ab43be0a7a46e39eea399d264fd0afd59769071fc8cdabf6f4a27bfd78e3f0e8768385187389f70629befc6bac7b13a2bbf720d6518248c1fd172d88e26990f978d43a65fe5cada95a6c62e9d0648449360083ebff8e3bba0e7635b0563548681afeec3598fcbdb987c63ca5ec280a5b4e8e59581f7ff2532ba2d0c6683dc8fc7d80ef9baadb6d7bde9fe2d4324c5e3f05cdf34ba4c30273e4207219c1cee63856eb24f4a5ce289e936edf52788d8be0b7b6574cae075e3b4b7f28f3c3eb3f9f8022e37c32a8d0a03033d1028e4a6bee54db1d6300890cf8d774006c16918d54d1338ff3d6a6f984dfd29f05058e23708077eb3bcc29bc0dfd78717a5598902dfeac5be5d8d94a624dd5d756025935a69641d7031fc60c79e2596d2a7f4dd9abc2f0b56f8f3fe9188697ae6f437306cb8dc4611f3f6bd2324c5ca3493885d86ccdfa21000b1052993342490312c593a3004cc1db95898c6e6319a13c29c3fd182e7883e7f2e1304823ea9c4f963f6a17fcaf761dd567dca79f77c4ff38a2f484f03bc419bd22f233b9191761ff3a7c259167cb764d7df354619fcbb8a49c057267550cb7a95750669019b33ef116c8006390655463621d0c322957b3fc07fb27dbbedb94837ba0376278e3c04d75e8159501b17bfa82f4c29cea058c65544fb5ad7f8b454cfe292df714c6a83c20f76bb3362ef667aaebfd200ea5588dc09d7804514a53c334e43c51c903d6d95fd03e96438a9717ae57326f194a84b97d056edb9129edffbc69eb68636f413ec00365eaad761a9b873ce0924a8bb8fa24ae0e739e04b23b54cc6a59c157a81180102931a6403a4fd1e8f463cf17e4d0ea9bb854b87fe984ba0bd2b7eca1d9f262bab06f075d3e516d95e2ccefb3c6987591edf4f9b7f74937903b043ba87c6ca71bc5bb73e0fa491aa539844c9849f4bde0fbac5ae310ecc611d23c11df40f2075da9c6c701490d3a7c3eaf3615c69cb9b282f7ff2394eff3284df11cb331132a2cd223c216e6df9185768bf021584cb36eb82bdacf8f18a8bd895fed6d353085ec9f614e3407659e3a5aad6bb97a654b45f9a64cc3d9ddfef1264e65d1286f1c072067ce7c2e03d375587fecac58381d0c5d9ebc1dcbd390ecefe08cc9494706190af5612537cc26c2962cf8726342087b6134e66e021fcece0ea1ef0d369611a90ba50b6f3d36d7ee95320d58e412753184db0c818eacff686919a9651f3488f6b7e200a7741942470411150338f2c05d47e41c21cb99331980862bfe254a6a752eba41cbe3863235531765a1e410d5f63721c027a64d0d8c305a7141a7e40fefc2d40412b28dececc25398739ed468eb355f469fda17b0412d8d58578160b85198933cef903c6233103168f5d8e20da8e9018b965a9ced07d2130c4948d74f180351c5abb887a89a45f72c332c8fbb201a7e9a69f6c6cf580b7869e4764b11bb249886a86ad4ae00d90c51297f756ea910ebf485d3aef6cf3d9fb378cbaf5f583d46485d1747b075e46c75146254771bb8a6bb90c178066f284e200407ec2c53a4ec72483b551572833d944ffe70474b65d16f17fe27e68602418950393d05f49a4e0ce098ca833d49ffe16a28feeaf4fb0bb4ee8b50304f643a6c3fa1def52e8091a27a08cd44c903eafc064204fb3900eb4b9c8251fce0908e228e58cad8a8f3a791ee67fa3291b6bb04733d11e6fcaec1cffb5e8494296cfb948afefdb3965da79e7b0e3b5e3bc258c698549fb52e059b28fc8824823531ba4f4dd9a3b9149e80a89a05957052c22ea1c0cd051216fd3edeb46e8d8ad7078d1a95dd24f7ee1f2c7c2e74cb72e2a818c4a91cf1eb9b9647031738bd8e88c988a44dcc58934082f0de6d1947c106ad5d0093834da4f4173a98bd25ddc8a43919e4f24203a519ef5b68d64cbef0598a794489c0730df853a20f029abb0325d11c64c5ad6eb2cf92dabb9a21cbbe3df68a71c0ca349cad70ed1f66750a375fbf9170ee9c19debb5826f1d0d890264b91192f4d06be1e942f823f4c7c8b1f0560a7250e4e432bc9978732bd0832dada0335eb734aecf8e348461bffbc0f3db20931091151bac06f36d6cf3151a2875e279dcec84114ad5c1defc37e14a92f277085af9646257f4a15bbf19d178964bfebc731559811f5d83e772116c5665f60d01b54e3815857dcb1484cee671f04f29cfa0bfc33360eab4d99a5d48ec1dac97a0dd03e10dec350db0a35a68cc89f9368ee8f49cff8cdf03c228f494e78566e507e7a6a5d70b04861cac9733fef342575ff3c6d328bfc7b7e05476451b145805f7437642db4fc1e7b6606c3f87170df6bedb0d03f0bfaeb76b93462b11cbf0cb926a7db0e994ec087ad1624f5df1ca77288ce778c031c3156d91b44638f44da5ec4a2b34074197a24eb5db0a702e9bf565a8c4cf8a6c0f90bb72f3847a5a85f619725c398d1613d62155d48415de981127c6657647169699ca9e8d91fff08e9d9568ff09f0da1d0e64d62943cf5bf3fc77a46648bdf7aa169d35cee77bd78a948160d0ab124d0017966441b4f44b60cb28b867a4ea7874f5df5f626ef882a780cf6121ff9f525980f7fb5ea5b2e1ca7c0b9a8dd37d6d2c0111e86830b61160766c2bb8f6be36c42d5fc4ea022b84d7ada388e748303e94bb163884ab5a89ff74e5e6e07ee4c666c20abefc6fefd370b8682955861dcffb84a56e79dd3f97cf34b8634c64d778c7c8db72e8c8a1ea96d66ea43ce952ef32c7fa4448d2b41be0e25f9fc95f361c5d83407e134b96215f6bf501859adfde93ca5528ad2fa4768a66417326768dbbe32d4269391cab408c39f47e858758eb258bc2eee7376cc01752290f323838e9c059e35dd7735d89548f5b8936175fb98afa2b724d8e8c2107941db5f9f5d7a6056cf0cad18149493ac5415b0f3b92a1cd75d8994e1377dece5ce4a45d10962216b282943d09c2a1e211f031e09684d4f8b3380a2415cb98a1033f02df0fceca13cecef4a492052e720f83a68a3137e2e6e25dfb05ab31eef6787ca9d32fa736b15c0637e38d6e32908b041c97807a61f599326336e855b25b6af67b16daa5936aa0c01f9bf0463652d943f24809c03d86c92bf668a58170b4a923bd6ffeb3d7d184a9c9aefd3e706a59f17210f4fa8e2910aa79b416fdc47ebd7203238c1be1b67eb8335ffe96f80a68fe2230b3df798065219f548c80be35de8c9b1a640f26267bd7815c3ea2d89cb51d54b5faf3e6e2d734f8a7767fa6ffd714a39d0a74bdbd002eb4be30af1f6e6577072ae4c06b7f4b65901f78bc13bb051e55d7163c1c243aff16d0d2fc9968147c2be0412e9c40ecf20c85c8d0f5f00b42a041b990cb4baa4b99535743165d9d01aea6e4e60001085076b2ac5c4608df96cd294b29700cb9d58d62fdf97ca24eaabf32f9d21e6b2f06d9d8ae61ab854a635f984f87d56f508bd9493330bc88de1c6b5f7e9bf862fe9900d079429c76baf1fb2d31a66d68acf4619c9742c149e1618397ee993211d215232fdd95416580a621aab419429948c949c86734de27638fdff29518a89db960b501157339055d3ce467c46f8ffad7c5f6045ec0fd61c5d3a1d67d171248a8d98bbeba4a3ec77767ada2266af0f5cc55d8090ce7d3c4b044bb5a91f4abe5613ce3c5d9b5f1d6beafbeff71804b218e9c178c8402563a6c4b3e34b00605cb098b8a679eae9da5d534567799e7b9ca9368e05d5df44666af79bb06f17b50e7cd3df9b3d888a818e20ccf50243e2ec8914d7f90572f0150bb211c968edf24ea3bf243984456c48a1e57a8d8ce4f78e504b6340cce1f0ddc1a80313ddcbb3968e982d91051c23501c33fb191c98b868ba288638db33d3551b76cb7421d30081ccefc3a090d38cb0f9edab4fd380aedd27554b963a121a1b5bc1d7a3d88f29296d6bfcc2ff1d02f652c108feaf658fc48f0c585025375c0ec937cb6942568b031d2c3bf85c69f78e91b453e36a67c657bdfe81022e31ef9704fe09ccbe8205a6f86cd96dfe47bdcb7f4fa45c7f9e259aadc8f845e40eaee64e4cd1ff3df025a5427b3437ae0661a7123edf5f48a61a9b5d76af5ab06d15f13b5d9caab9bf5be945d922b65a60090e3fb46954457f4c2d801eef997625750306894bfa5d5a3c90cceef06f99cbaca3cf02521b38803b759cf0f28369e221a66c2a482839acf7ee449016127a4b2d978ecae3eed5a44d2ecbe580ed6607cfdb44f09f3286ab29467f314ab761ce23db03a7c89a2f5aa7aaf21108cd7644ae644bd4da3ff2c3ccf14911ab26d8dc45c85af8dedb6da7e146f4a7f68f5ea17c21d5b4faf11d5ea49dab0cfdd96fe8360a75a71171467f1d84e34190273cb36ffb38013a5891073ae7d27d7b918546fd9a5302ae94d976b7e8baef58a952bfd9a01678deb8fa52227e219f523f4bc6deae347dfdc43f303a403faf53e767f662a4ad3880f9f08f792fe88c01d2d0c804d0ee282abe9ee50387926f01f25a852967778b527fc9b9fe71209fe0033ad4914f0af18e9ed60c70ec6cbc8465418d7b7a4287f9c4e76371bf784057c19b7a06a48e530ae3a316ac1bdb6bdec2c0ed1463c117f73a4216eec7b1e2fd8c5d7dc7fc0dca41642faedf8ed76e70a332d4b58c8a3094a34ee2e4cfc13a2002bda7481d38e3b66a391303fc2c7d9444c7e1b5a4f62c3d9d34fb047d5a403cb07c75e5bed2d8331ddb9a2fe09b287612fb3c49b5d1f568a01e4541a054f8cd1debb9de1f905cb9be81706aa8132a045b14418437bd5dfc1e992712f092609163ae8422ef9bac29009e345bcce371c8f9d54aad3734ba124a482c983251c5c086beb35c47994a46de8a7b6b5eb5cda90baa722363fbd12f918f15603ecd594ddf12ea4237a91d60cafbdfe259371446987a42c2e3baff1c759a3e5b7b0541c27cb147e7b6409b7a9e66c621f9f1da1037c2a406603e3f7ab9e01d01b4836b11bcbcfe003963027d8dfbaf235429cffbbd2ae51f52f673eea0be92176176aeae530231e024e31cb6ffc43e180ec71b007a5d731722636038757fa02c0b092185923691d4ae40fe689f57703fff70380eeaaac7a345fe58a0673cd1856eecb5fd125335ddbca418364b5ef9421e9f32286bffaad766f1816e01d397879ff2ff6132f23aa6ff9214bc9207bc6a45ab70ed6dfcbe7caaffc7de7d4260fb0d9b1cec60084dd1f75ccc7c89c272373dcd60039d61bdc0a6d5ce7e50d6feeb63ec80d9e1595e57116622bf4fad5c5e33d5ff46f388518a93f3baaafad8f339749bfde287807217ffb12bce505ede83ebba952e234c93829c766acbcefe374cd3b90aa5febd86220e1af536693c60b368d8449f62d8eceba7fcd7d2fe881d76e0641b14dfa516fb351799944899b465291f992a72e678015be574776cab2e42fdfbb95442382402b1c3f9ecb986fd6f08b3405e2e920dcc17157d1c852e24c455ded2340ac7950a37d753f3f8c77f71b6c54070dc3197712c2c14e316a621ee4e9541b846dd890cef17fa91b4ed1d1ff83e770ad4592fca7624a6b081ca7030ad2f67ecbe7455fab0dcd5c4a295a184d5d3572da0a8bedcd7068fa1f240d261f3b78e3f0cc23841a479da1301e4fd09af03695e436fcb374097273b6bdd29a47974df395ded4e7fd17a24e33e9f11103aa08986e3aaf29393fb5958bf488a639dded188a3087bdfd84bc290b59428e9495cde15d220c4ca7859258558f317684ba8bf457133ed00c89864d26867a5268928be22430cbb517a246b6a4431aa686548d0f50ad2e04ea850263c69a10b40dab62a7f9d7a1ca7749975a8a4287878a7868e23afff8d749773ae81214d0a015952720ffe7624e83d7c3401b5aa88236e6fa12a967656a53048553b8753e69f3c8bbf7e28fbb43f7aa8e0c85b77ff05053059334232b05b2797257afeba93c53f15fdc996112f8ba1c0d999f042d63afada43786e6a0f49f34e7b9d8843b0af879e79ed7a8e08933c65e177cb68881d27438cebf86f9ad6dbce1f03a933dcde40be3e5dc0578d56db7a93784460c00e5ce5ab70c09952773e4d1dad2cd8877faaad97ccb1d662c56c8ac98e030c182d14d70b7e3af2eb6d4e151ce19e37e29d7c7a6be5025d4513f1c28fe712a98458991f582de6e74467328cd13f359c5c19284bdd00e8bdc32c4f48bac743cb8df35ea99e7fd6d5617d241a7abd7aa851e32829c128f13c49e96880713c48846b32e561df6025f64e858e565aa06eb0989b1763fbbab73a545fa6faa78fe207418bd10c5cb33d720c4e18a63d3050de71003d3028e17144f2460f837a0613843af3fa8859a638f48939680fd8c61919ec9e00a1ebfee224a408a059b40f5c366730fd9b6dea059dd798676271d13ea11fe5d904eb37178ec2bda4aba627187d61f56e37dbf7758a6537907de106c8bdf93852203e998b4c86fea7c632a3321a00826cb09cdf1aa36072a9ca64315b1433a73834432764575e8425664c919fe50d5c326115e6dfdcb80d1686fb59420776bfea5d9286829a895507cef1389e80e878a488e6eb581e25d67585c0089ab4652732f11b4c4e642bcf70f734baf8f185d3f94e9a9dd86e9c8cdd9b3ae2943e822ea11b2af19722e0eb1794ff61f9765613c7262b48e3b807f902c9818aea33c7d4b765f54aa57ea15837982e03cfe9cce3197fde16a5855109f07a9ebd59b0f44a0d1e4eadaf95d07618cbce2855d7c438a73cad4cde08f23e4aab43677cdb3a7aec131c6282990b01b606637dffd5d581d4b888ebf18596862f75fbd02cb1a432c82c5c6a18b45cef10fecbbf33bdf15af4bbca31722721da612942980c75029d322faa3886869a124f7c607acf736929ae483c7bb8784453880ccafde94b660f671592e7cf7623580d89a952e28d45a9da4525d6f98844814d56d29029e92d19f7997717689a5ca574e48d8f49567e0da9b842f2f2cc0957f0d53d0ff2c1b175307cf7b30c57db31bc140f68e0878225c186be76a0c486f74ca16fdf4d5e74850a376d6fee938f2a8fd0749488e016cd6462e8acd0db457a14870faf1d433f3a8b36bbfc6b50d26fc6fdb78daab44d25e26144f67100335284412be1575c3da0988d1d7180a54d93081a6b4067870e5da786d8763da2da3168949195df13cc8fd67d6b582d53594c4d7fb8fe693d6417ede97af4ec6e9cc405c2e1947b1d3335f0f012c0f1ea3b60563d59a348e5100ed3943ef59e3df05f4052bf5710064b789ec89dd52f5ca51cec1d07c8951ebfe39aca4b3bf967dd8765073c89dcbf4164852dd73d06bd085d3da6135b47374332fb1fc4c88fa4b72c6dafc8a5538f5e7a0c0d98742459e95d57e0767671336d7ff49efdce8c7932337ef55b4f6d490f9b5649b0e3be2e9193cda436d793842551b31df344730866b9eb193996e305a145f87ea73001f57cbb6eeb9b9430c2593a176005dc7b664706b146897dee0866db03e81c3206a9fc8578e01daf13956615e1d46e1f2f3b089e7671928fbd1a54d3cf50193cc74b01875ef7bd1587ccc95c71651656645a19ba2aa55f66c44eb324d012da6e75e0583b1d67ce94ed8422e4e75d38dab25939085d21d6a79db3b2c1704fb96ca718f190f493e89643bd8fe0e709c26c06966c5491be10b24650a82cc766b5feefb2c20759e5a85757346c24f11caa715f64dd1854947a18f2ca2e3b26a3af4b091412034584915ae6d5a19de5afebea9389db33fd15ae824af5c75c81599f253baa31a3344d44e0a00db6d3c37a3ad253b7c012eed350c1946f86c53d3013d8f0644ffceb12d5fda3774ef7b60ae1a22e72dba04e33a6f01c4d417e23d2156ea85caf4bb94e07e8c38234346fcce87126268dfb073a49703607fad9548782e2e2e3211f88acf7167be60b95f603621c40bc1a7c5b1cf6c6a058e8aaf30fcd6d0e0a299d190525ceef9d3801f8418ec6d5b569f0f2016e6f384c6a7f6fa65f16ca87e367625cebf9fa4027360ad993cda4a34b4d8c0dd2203e2e8a3a01e25674e621a88763eb383b9aad957f5786a556ed2177924d80df5a5b9afdc9ceeb521b38d7cf65c1e4dbfd03f3184df1d6e9e2560efd680eb70849b1ac87d015ea61cf35945fdc77ab77d8ea568602b0d81ed8e6d2a1fe79e424ed153c576b2afe2d6c9ca5378e611fe76a9e815224ef81ee78f4f62a8a1a2c9705ef50d973a0bd33accffaf0d12da979c6bd8049e16cca295ae81e84df13aec50ff3ba5b39d17adf346e87ee69a2845c9dabff1e55f92db6a5df16e283878ba06c6d0fab0be4eb201907b3a955b6c8fdc0f3b5b21fe51929fe82bfe978682ba4c9f37e4c1087f6e34b2418c030a2c8ee7838ff0a3f16018ad6aff06472327630bebe93ca9f9106c18ad9cee2441bb4a7825fead2817395b16c34a6d43a7a590c9207ee1d5ecdb8d3b1525a3218d45518ca69d6512012c90ab3817baef34b6d4bb59ec1fa9071831eba4f2f2dec452e8dd3cc3f395cdb33edb3d2c3de8cf7de252e0b1105ba3d8767fa389244bda3ad482ea5079deb35975ad928f27c3003db2cd44b3151c7bef910fcd799bafcb95f3e098ff2f710f000a1b1492c1f76a72ebf7e5c4ef7db620e6591fd14a4f8c213b746d2ae2ca1ba489c212f67d9761e1bf349e472bfe8a7f2c8535b6292c62fdcfeaa5985f5614b97201b95c255db438b645f7c96a21f9017e6ab19aa50f661a6eacc4d388c52c95974a97002460b5450e5388e1a545cbf7ce3044383f6114f2c239c0d55d899c0e9617a89e8edbc0cedbe35b77e25833662336b708d165b5b4aeaf7d5778da5427f824e37c29648f588943781d159b0e4a066b3dc9af0f273712b18bad0594027764955a3951bfd4b6f65e6fe93766285db29695558cd916e8e9c68f3f5c127048b2278b8a0e4733ba1615d96c12c52563d1a7b803ab4a3a95883679627ecbee02b24e1a43566d8cdcf603cec0fef3e6d2ede1a760bdcbccab70bfa7e582f8a80a1e370cb77a3de8b8463048cbce4e9cdda1432cfb6cb9e31fcc09fa9dcac477fb201fa4e716a30c7dd5492ca1d119218dcbc059fb64d4df610abaf174256cd5830b48600e9adf75bdaf5fbc88ed8b514167c1154775861400d616be2d2a3671116115fb506c3b99adf6717bb549899872b7cca9eb7f1b51c2811eb44b3f047b29ff25674ec94818f206129b76f9f3180ecb0224f65fcf32cbb9632cc47d02acb5aad973db36eb92607d357c392eaf09a98f15d9d93966a1de3b57fcf0049eb8293ef9d35fe74a9ab5a362c5de20c836444cf9e331d6048acd530b39e98119beb479d1e15c4adb21e06eb34179951fa475eac083771d817a875c03c26786f54aaac0728477a01a690f86b7b13543598215cbc0bf5262696dea733ffdf73d1fd00b7f14e47e5f790905b939a91f499d48c3b67ed88e4b193f5a83851147b87362de05e8f893a6a4513f3c1e81e0d9a719cba33b75989575a7754b4f286a8adadfe6bdb2deafd7022a5f171ed1e02dcb65c1376896cbeabe294911cc5c91ee444d115fa292929e34f842686faa8f9f5de1039d9ed043818a04c4514e59a7b639df9d828ef4bdf528dfd8d624e98734b85d9a9d609c09216838ce796623c682876bcce5492ef003a3ea24167b5c4f1093f60d06cfa216848ff27e1b67855d57974fbb36be5fbbb64ee4a6ab8eddaa07321ee1ac6300e40bd0196a21eed811a33051d074c4353680f79d1b244fb4825d39cb30e0f8dbe5dca6f6f354f43a123123c2b4fc4fbdcc71bc59524793e4f5027d3bc5f12e12a43baa1a76e28ce8c47dbe6d41c171b1df419619822c35554174b8494177d9bc416883edb50adb7c216616572d7a9ec18dcbad77eddb43f716131478530cd43e428edfa8b83d1b85b9250de3ac80db8aea671a79c4c76bad2b1e34857748ed7a956c0a28da1cc2276e355ab519b9a77fa2dfbbea6251d2ed49f6adc925c4639bf495de0735b53676b28d89a61e0a1e478f1f4d09f191cf30726f2a111700d0f181494969a3bf1e8a74a19a359662df57a68c5b4110d339f43b55298a06b65605880937e10a14f01e044401366b9ac29973ef178484acd82f59faeea35fc4be334ae7a41375ea93953f1be1b766c80721b788222410210504eb4396e17a130755d410a1df786d8e4b2b563b3267946d764c267fe6ba1dca18a678c9a33ebdf21a7876eeef4007eef8b2acfc1635a362aad47045339e5f54a61072b86157946806137f936d3209778c856fba05f50df73e9b21f3b394fead56fcff70f4fd8b72f03dc1370bcb9b24635dfb128454991725bd23b68bae0a5532949d8bbd26fec5fe4ebccb7c7727829c3dbc7618ba2139b97be1af17ecc3c866bc9ddc76f5d85d7f01d9e5dd18ba7c3664e174f8457cc4d35aff41aa5caa7380c9a29db0e4ed95ecf40652767c88bf94e0482dc301fe6b288f1f26d38aa2b76de63e2553477e6eeffdc8cb35d2dc1f18a639f6541568c45abd57c1c7cfa9e6831cc4a933a2278ddac2d948f850d3a89978381704074ceb91eaee1ba75d06e4841d4b28c4ab3344746b62d68a9a8011e85af4c91c35515876e557f644e1eb1a7e686dd9e77ee20900e603da6d21962f19822630e344a8ed594d99d57933aa7d8a21a0579417a5507f7f0a095e3e239e887ad5d729ceca18ff97d5ab498fb834ae969a143c7c3b3ea6cb02c939f22fabaa0669284abdf8a09b268c1f843c85517618ecb23971a8d2767c165dced1b3926c0ce7bb83ea2565dc207ea883bb8b0deee1cb22ab7371861daf00f4bff659da14cf6ab08b19bbff314ee49315bd5601d8a49b0a9eaa7704667804a9bfe8a83dd6e9bceda12c0a2f581127798bebd77e6a9952f4b7a4cf855c4a2312791264673a55973b6682d26c6459c14af124548961e33a0dca8ae5c7810a1a56199f0b35278149a423602114ca4fff601bcad22918488b5808c8a256d27034630ebd21ba3c4c30569a9e50d3e0eaed91a8a0b9839f9369b6648e60ee77b9603942028a859134ee1009b533ff0097e44fd5e9c007c64f8fc54f5a5af769cd95465109c929519be4c53677af396b6624b8aec909d02dd3d04bf34bfe5e7ccca135b1c7bcff9588d5474a313496d70ef4162aa5c32ab7dbe2e291c414e611ff9ad0f8a4711ac9d1c8de6241ac1444dbb71d1c105201f6e79d6c7418ac374b2663879bb7b8d269ee31a8a13ba4ecbe39ca704adf89d3745be6b8796578170d0324e8a65fead5cd9b2e66eb7c0a665e19d85cf38ba01a41f5eef50447f31fd9075cbdf63a806c5712090aed2f50664e0f984f965b977ec1fe8b075cf56efac87a45d293e974e2718b255445da3a85be399848ee0f57836090890369c8eef729b92f7d10852ae1a92f0d58b2982b33cf94e2f1855438880e2efe66c187cefc54a1e6bb79d5885e2d3e213392689eb09712c27002caae05c9fe70107ba73415db3541b67688417750372583cfe146c170edaf0f5c413c89d33ccae0ed1e31c4611c81e582623140b5c1004e389d348f8d8e797663333e5f4a150ebf5cece8c6805a06d746f937a96e323acca6902cecc4aa59095f817b4d9fa536721cb726db0aac6d3a501bd32b727ef4f168a3bd8dd5b853bbcff2f68db8d1499665491d30fe5db87fdadbc984322d123dde1d7b2f7c3084447debf54309da78fe8e97bcc89c8c8b5887769cf9e069bfbfcec495b804f1cbdbf14b71719fe9d823198aae94d63fb096424f2cdf09229be839e7a2a8c1b3c39f6a15e31211b339e8d4762825ba7300222a5320fa1acc45e18aa607b3415c18f9a425da6942221bcbb9ff4e98c3c539ec4cdc6ab4e8442499d1c460786291ac3e0a4b61d1f27fdbe73481fbfa711caa71f6b9433f6eec0fcaf83a98423a6b0e29ca5d87b7ff94e83d068b0d4623268978f61d3a28485c11132ee6121cb165c26926929fc16440c59b84c07d07b61dc7eb85d4aafce74fe38f941b276df67b123ba8cd3d03a039ba6cf6f94e7ce046439ca19bc98ff34fbb3be95c00d81ad7ab6e9534baf1fa7e269d6ce00ae822a54accca0df85ac378b323fef1ffcce0cf8e9b3768ea684282281515ef4137557ef320560fd6c4334c9691d624040be6de0ff96616612689d4f6b7a155ea2ee93451cdc552123c2673abd744b6b84266c6f37933f2e850976141135282f155910bd0d7990c066b3840fa364e769e214ad034f4448485721e5702b28d906901b1a64798d82c67f1e3747e2f7d96479aba32ac000d7262fd291e0a745e7156a10acd025ca988929cc2a399d33005460223e71f4ec26c9818c746322ce1884153eb9c72a5dc93529b8cd9691d188c654b3fdb702b2314bde27ecbd6a091709d1bef6779deea3c2f5dd6a10bcb63cedae4ec0c3669f4cd0a19d51293593f7564180b555a9b6bd2908d9e3d2491e3a61d1d9ecbecb349e175f9565c1db3df5d979c87de0f1f5d364d2e9b994f553e4296835bba044e2ae0f67e545f126b5ddc5aa28834c42f4418ce6c2c529d3c29f45196154636a6f9726a5b799f5bf2be12afd1cc9ef1e0e19b5ca822c486e03ab23961c5d2e024bbcc1421b711bbc1968153e3bb0d174a5136cacb8c9157bbd9b1f81bf3badaff7088e693ab9ea66f610dd4f75790f8b572a9fa726ae65db6cb89ae63fc8e49f3b9634a7f361aa4959c172c23e770d10ea4015188cb418ef0e97557350aaa487fad0dcbb4fb4eb9cd03541548f32dc793df0b583de466cc8eb356ec13c6f3b5d2741bcf9a589917885230fde2e67868c2c3bf613b1a28c6f8526748bd5568082696e3e0c7f4aac85497b6aab44d571b114888388d9dccf5de1e772cd3526ee59a5d5b62fe1c0a33fb7f39ecb2be15a1b6119fbe21d79c0bd1b055ef87c828b4cf8d5ed94c7dbb8d6c57cbea421261289ac340af605ce483ea6bd7d391b7d4d932afdcde0b5f1240acfa1528e44c3e9d6922c249806f99a9029e4dea81d37c4d46a2060473f32470b37b0666fbcc9d75a7c742146f413ab9a5f42bbd77a1974da81b4ceec7734109bfcfcf8855dc65a1e28382e918a62979b2093ecdc46e54e260a6cfe2872a2129f0732b0b6807071197644938970e40a0b950ec91539bbda3a5ed9866afd10362d75419b6d3a82b80c1f97ae4b49ecc538f7fcd5a5280ea58206cfbc35a6e5bf44d5f5f601b02f976f51b7d11ef668e19b4d99b9ac56a6fe830578f290b52f1c3e7cce56dc2b5dc357b570b6db3558d7eb09dbbf8ebb6a925667e0a910ab89e4d6b51c762106e991db269e72f121847b79eafdb3b2aaf8c93c22f07b1359b0c4e0448c3f6df706e1ac72d638d2a2557092e70e3ea6ef915d21076d67b2e90ed49bc7c5e153f5f3ca8740998f198656e2912a4046aacbc1ada35e3660c9461fc17c0886f379cd4d3ca3a1e3551d7f1dde2aeb168dd109217ce3134381025ed3cba55c1289553949e10b221a0bd73b7e98b57e5623872577a805957bbf44c5b975f9077101f041d22829f2af217a8b20b6854f88a0f49cfc47f929b38a5e22edabbe55ea9a45e1acc042e81305199f3becfd8816ac55f1d52d766a733a6647237ea3740407172cf3f33131676c7e34d568b54292903ce753ea0737c0e6b879db7665651d6e0fc7da3eb60c205436048e9c33e7f73aab547bc17d9211b2c501674827192f54542567c30371bdf33bc17554e7e61520be8f0238e0f76784b809104711a84901d99eb399fc45b1eec0fc46b1eb1b11c17423c07b30144ddad44708c03869e674bd0ea3749a547b1a4c0bc644c98f521aadd392eaba1116127090bd801587e5ae3ed39889ff0fd43c191e844ac9e9ccec51e44f0df23973da80578851a32b64f73089b2a87005a090e04b2e2bfc45bf7a0ef18c80e813877722809e6311545f37eb632920faada2c685b3d47c7c756701f97027f45856626d5fdcab6ae740e5301857a7c5488d421bca7e4c2271d33a9ce8c0233265aed8d8f16c300df93bcc99713218dfb05bed3d6e4372820296704922f33a21b757d353cde63d73cc95b0b62236ebc19b52b96abac19e79824e3a9178decdd4eb8fa24644740430778235e2c44cda4b6c0146527d8388cdab1c6c72b1833607a4b0da89ff1b85eb2e22d28e2c3a4e26724c8cf0a9835b58541b5f3eb79ce2c61e1d01685cefbd27c4d52c133231c3e40adfd3543d8ced90d8978dc1eca2e75014cb869e27984f56c7e71a549e7144510b395151e64a41a22eb3077e1125368637b789745d8bc6375635a4a42f69e9a98fe161a7a34ca1cd930675e1c913edbf1c8e684dfe9f94c347ec7ec981e6f785c1c742a58dd85f1465ec37ab762ec0e76caaec4317a94da507558640e76b43eb2f55a97fdcb02a138a26f29ee822b193482579ff61e00d8c97a31f116407c2f13627aaa44e3052c7b644f22a417c45ac0a1979f323984f093165b90b8d19e731dd2f0e4b0ce4717565a8047af373a835bcd5073f849c505be757e4ce88eeac9cd2bea61fecdee125c0859e3f0f14423938380a1d42958c2480c3dbc552208300932c6facf9b89cf8dbeea83e3f35c21dbb47ec8248da597a3b5130793112be15419241b76366411249b1ea1ec7f8f0d2caa060103d6f876e5be984edb371ea93aa3761fbc593487aab36e593610b6369cc7fd5e1a9a6bbfa04a02478b2b710c823b731f97334aa381b2fa21b64242e0183ed7b2af9d8fe58d4881ceab55996d2fa0f6d8ddbc6d0759665c986f8f98b3e3fca555db3813d2ca02cce322aecb582f8aca003f9526c0735484d4ce13e4a0cc88835e51e7d1f089da14d7504a928ce8e2775b5886a1df2fb9c9ef71dc707eb3dbf03ce54ce3be4bac825a7b31b347a65a92a4e62c9c3e9c3e98632e3dc4d8d27211cc7899ccc842583247a890e68dc80aec5b3df2678b8dc9b2abeeb86801f9b1bdeb1b18a1704c3965b7da758017d237bc523e83a06dfbdd9c69eb1e585104f463aa95b67c2f09d6bdd5c3740aa79e0c36a3e444d180d5164d3f2710bda47d6bf5be024617aec2ead43ad651d8195a657fc33dfa4f422d712483c6f24766bbc78bf2fba70fb3c9867c709bbf5e877e7c09eeb427eea499aaf401b7d61f211c3e641f5115453163b14221b1b6ce69d9d33099b9bc7f33d80e7c72ca71742b5cd5e53c4a7b50fee6bdb33a6ef45cd0bdef19571ee6388856051f4072d8444508196cf3feb953baa94b0562dcb3f2bb0f6918dd7ff8301582e89496e243a6428a56f3fce21146a5dad636457e805719879a8a4b598abc6b21831766a4f0edfb2c85f1c15fc1675ece244b0dc33a23d12bc0ef121962a3cac5a9c906aac3e572a02276b504df9c55ef49c4670f898385263fcaadfbb39819b193235bc3b3f6cfdedfa8357e481cec7bb704ac9c9993cc9174ce18b452b6e2372b392055da44500315955440b5b532f00cb76e79455036a4eca5b51dbadd12a5e5202f371c8f0c7f46515204c881e624a85a8be005d17a03153f52775d4b2d6d2f338a0a1ec3f52db2ea3ed8681885c73dc5d35c081a0de66c6942914f28377aa8dde493584f7f174a86cbf888f9b92c36a7ab56526174131e1ab7a4fd4e10baf0b18449bd4249d78580025573277e22ceb4375288227a9985f97dfb7b4fd6be35032a4f0de6e77e5edb676483d4467fd38299ab866cee9f3b7cc1835db4a7a2abe56da517c1af9ce0aee5e2c8b63153d41acdc18da0fda763444982abb55134948c0dca29b761a601c5bd598a1731d8d23d0b00db64bc6ad61993e8f901ce0bd2b6a942d7f314d9cb7ee956dcc465e38b3ea28afe8e1a1d279debca292bb504291e8ce8c558684a96c3161c0321c92a1c35ae8ac26f9f0bae944dc318d63507b4b4a2a83b608657423b7a937e7f7c5fc26db67dea9b68c274d63d523bab2e7f736d2d1a37f552ee693953f5be99c975e07a7cbc57d0e833dc8223d65c8bef291b496356a4df4757cd9b50e3a7961c933680f343e1522ca24e79885df9c6adb9d32026274af7fd48d9b465682b993b53d64ba85a585e3a1584ca1bc5544e31f9c01a47d11873aa89e33651ca460b4ccad1d537e286d8bd9e972c226fe026dc30eeaeecdbe7d1ba6c2688019212efdb741a11a3f32a1e327d7c63cf916af91fec3e25bed81d7dc933c2d4d3fd85f65f1d5bc30a26d9583ff915bd48e08d1c8dfdd7c21d0b35c57ae47c165168778acbd74aece76bfd874c1f5a5c4c6e102179992511b13eec139373b474c7c6fdb7ce5bdbb08ad3389f48ea1b918c0ce86e19abb5d4c9de5fc23d6329b71f25e933c1bae61a7e8adbadd3dbd2f65c31678f7b134ff483bd75948fc345a6172a558ec4a9145aad8c3d30025fbd5883e433c002f54a2396b1b95cad078949e70d985641d1fd99d2d9501e821a968eb1f733a12016d6539193db8cc7a09b951b462e43651a2a90fb640fa62d85249a8227526117a8749272fee5bb0c0b5d3d5bf1ee0f260daf2c46a904d0f82af5db353eff6adb1fbc55993f38728d794a87c5054627fd7fe40e29cc346c8e341b020d331733d361c00d80153a7edfbc99d7b478292d6e88a207c6662905a9e3719ca2795a65dd061d131304ecb337a380e918b0b02ef242c1d25cdc7b9fd5e15bab111622d779a603e7549cb29427bed7a4f37be9e08925d40ee284d88831e6aed2df49f921b30d597e05ed0c04fafe350fee3e4d6e3a7cfbca38e218c5db9bf4bf0aa201105754b3bc28f63fcf7ca69540df736b8dcbca896f6e2375828e0186d97989b9e9b81d3b63ffe20131963ead0238d0c2c5ce7c4dc868fa6e1cb28a8e2e2a429395ce9590ebdc9923395f316c0e018cec616563530ec4a20df08c2e293094a236b298383148b218e7320d82db52a8ae9edf6ce59b0670e0a71c2212f1720c971a31aab1d83bbe7a732b7ee428ffe4aa2ffdfc517fa34fc1167f0cdcb15cf88e7d553ad6e911f1e68f6456623c59eac544b36b898d2142b114101a23208a2c11d9e24950525400c8ae63f84e7253ed5ea45e8474822f003b167451cbc7013f64f8980e05b2ef30f4429d1f26cdf74b8e089805615724c0bde10b9877d9a1678b84d1cf4ec3d4b342c1e719e6c2992fe113ad2dbb910e9b552f7e6f43e7a22e616b4c20932fa941da0959f34b414f30e883d2f9900819cff4aecee68573e2c560a073dde9ae0ded91c4289a22cd19a8559844b4464d7591b335607000d336e2a72b9798343ceac24797f12e847bf3daf8f12ad8467912166fccd0452d6095a7e0b1b9458a19bcc4793a7d6edf3977ae5bcbeba60302bf3e7f6d0e6b71242baafd1303251a972ae2cb036d1357fa7e10b4d4c1a774a8bd717457af6c1e0494418e416fb6eb28e0aeec0ebb057a8f18b3bf3e753de9d444715ff2a003fb08e3347b01e33d3976ed3d13cc33220c8b44ffef82cdfc18016b06ba8a48e1560c0b4c30ef65979f2c426e411ae9eec71ff24c54237ead5972b956362d107fc84b40f10b8c2c9f26ded8078aa1b9c7f1173c94a808f4eecd4d1fe2e6e23177cab42f44f18d486c146f87fc7c16cf7788ab12f1dffa6c42f71eba05966b9992a602f099f9d8d9252f7a5224bf218c38852ed80a1b7f06a5f6e4534f65a300ce505c7a274cec1b1c84cf6768bc8296fc1bcc072abc10e89ee4b634a93f14839ae3e0afdde173664ce28a7f34a3b6f27546dc194da1f4769a0baec2e29522f7092d87482c5b9b02b117d00536156746280c4431b4673971ab6da442e5d9e15399d68f732884de8a035a206c6eac6d32d4238a552bbc666011bbe6318e152c5550c82db8bd509ee0d5e779294709af68b2249547ea30acb50e52a30f2e0886ce4418addd10ff5c375730957d38312273f10c121c727969e42f7bc509752231d5ac7fc83e829e1d9c0bf0343b804b9f7e86d0630ebe43c628fab78207a8cdd826f2425cef032653eb8c242f355199da96545c0a81b11a0da365e6a809a9c2aee328485536616a3cfdfcc268a5fdbbf9a965897ea1565526a5c82fe8865523772344a3954ec72ea7c4557ad75d1c8776629a76b587f016c4b6a6f63281a1a74baf9d343f1f849f47d2ee5f45b2909741790ea79ba9f8e9d55419f4b4d3b10cfed16bb818717272766d88ed7c9468ac149f3db66dbb3c694ad42b1a6a831008223d578f2a48818face5abdca6d29ed047739edf581bf964e1dc86364e6a59df50469fefca8d402c936b6349b32efbc7b1e754d08ecf46bd5b0c704fa454886ebb73771999e3da3bb70d803131f059fc12843cfc862326bcee3ad01845adeafa60eba1b6c674ba0c4ad34ae1859c2ad436a6fb5264607e6f19d8bfe9077fbbdc6f02be8281432de67db8f57af6c2e23c7a27f148bed5b7e91d5aa9d937df8433ddcc15924878d2d6c319a5df3822b5e879df02b7896ca9bc48be6f11628f07d4dcc973af84bcfe20720fbd35b0ba998dcbbb1a8c47aada0282cd20a3540b5902824485497473cc5a7e003d56ec098c85af6f492c42e5256d7fffb3808d7976e77f902d3e1401453bb112f0471e7b295cfc1081c26dcf10e02333579f8bedbf44862a26aa1ef759604508fb2b58884543fe428fe4124d3caa098242952c8f1f57fd2cafc56dccfb716cd389c5c41987b8e01d7c54969d22de8977dc8d2b5adec82fbaf6780ab36f8bc7b71cafaf9b5d59cef86750bcb276eca56f1c2c8b9264b9cf541e04ef0585553bc71fac095be4b0fb2ba1330b549c11f5fcde905754c3f6103fbf15b4985a1304d468fd7f26071cb9c2a03409c44342ea4508c38ae05453b8dd7a2241d76db72b300cd1cc76d73396380aa61f523043fbf7bdb1aa8df5a4401b61406b979e0e77376f0a616955775a2afebced865c481b1099272519ac112c62afb709d61df3933594b8a7805dce29e345b13aaa5eac34301bc1bbccc51a4f0976243cde4b10835ccc7d1bd19d92f6e7051dcb9edeb43483e31bf7d3bdb74316bf5b4564de020dc8805043bd43a9446a6817d6678610f6c8c69c0d1159fbd942e009713c1f4b4741238b47c8705d8529352007aa69392fb4dfa54aff49d7b0156ce3dc90dc935aff4488e431d6c3a68425cc2eb6dddc649348a0d32cf83dee0dcf2933f7189974c7222a6a4fcfd4340ed3d925e70d381d1e901854f79929bf483df76167ca98df7972f4b952d13dddbd6cc3e9fc75d5591d45a8d5a74cc485b6c696c5513be54a384c367765c44fd7161f4c6690b3c50ada4e112ec4176c6ed66492677ffe6daf218488f9a143adce7082ca668f44d29c5e0b6f712f6cb1147fd771c9febbb80003793c7a3ce03ae7207493482eafe18f9455f116af8764aba8d12fbbc834d461a8800d81712bb060e9acaee515d4eb1a69390294b65d7954f4bfd22aceee14f03e06240f5689a9f9abdaeef5f0530267d487f6af9d3c3e65da060d2da7e59af0ce628e16328651496c0f18d417b02318f9a10d7c71336c6116e00c9cf96389b2f37d43e3334ba17c1a755c86c90ed2049d0648ed7c170e156a42b2eccb645b8f09035ef643fb526b2135b2f8f8ce13bb999bda863e9d2081b998ba79575db38626150dde9321e0c98c1d1c245258d9268089dfff42b44a1d68ec59f3444945f00b1978b7537f54d9be91f5117e6896b985fe1ef69c0062e293db12958c0d2d36fc0b162515e3261833e924820783dd060d8f0cddf5882a41ccf5e4fe4026cb747f01d9de0e4ca42bda3f2b6a945234d5770212ee0a483a85e32e63dea663ec22f86467a6fc15e520dd2116d80d1ae541a0ca53982ecf80274c82022f723edd38d7c3221d5fedaa068fb76137b25f66cf5efd3a759627d7e08991c3a3d330ef5eb465280aca4989514b8a4ad59a64afc4228a0629eff4de6f54a3d10339dc9487149c96e468d25f300c8f874dbb501dbc77aa5a0c489b137204643158d2b2a74ee48c59fe4f773fec9e5929965a418bdf35ae5f460ee916bdf099f6e3ae22673caf738fb2f4f15e9393a6f9f4b40ac0a38b70e83c72660d14ed4cfaacd24361051b16ae987f03f1570c5c4a59416c4bb005f794b1c5d2712de60ea95ea652c7ded6a339422c6c8fb01ffb62dc4d27d7f9ba6e737aaf7a7514ccc61ad171e4cc4b4ccbff9a6f2d7ad10b0514b78523fab0de0ea1eb7efa830e99e0303f11508a5f93bf4a9d8df22bbf36c2822290716b504589a57b6990f3884297324733e5c44e1aeedda8d7b82a07bb0ecdd3cd3b7fc261e523fe2c2c70328787e5e52bcced949f8be9e27b1b0db7f98535fed01787c2d80cad2213d34fc6dfc8244213003d27bf17fe31a1f4fbedded0cd98dbae4e1077d911007642246024908b9256f004eef0b8d54f47b4933aeb3cb338cdd7bf7493582b7d3d97ce165762c3eab365f66687b2a78b840c5a749a1168a97868d6b4f0df41673b4e5fc19daf977a290cb4f67e02efea9d550c1fab95491a367c17f07f0267be640f7a55099b6aeabc07057c0c46cbd511d5567ea6a51aa1dc039d777d018f7b37e2fc9408b1a95de2ac4cc052b906bca5b7ae58b9a112c14a916080367c37b35faf3893b2e1ee8bd4d4d2a27f5db466a0b4a720c1d5939636556f7846124aa4b823acf73fe462aee8f54e91683a64c0e636c5c2170b896451810fccf4ecb98baf1a546d9e6ef04b44f3e2df487af825156b5553bfabf352880924feba3928812398d3f7e4e6aca65de4f28e178fa6dd5002e6ab0769f04c7308498b3400f04d2118d7ccdc6ffbc86ede3d422582d18e247dee99fe8500cc49a8f0a30da487d68938a2660f38aa65b51fc64ba7df3ca71c4670296bbfd8b9c72f99cdce2ac6fa84aece4dbb6eb98e34e8e74fe7f3c1b921ab91e13e2cb8f2c51008a4efbc33b11472b45f08912f827072d7c2f7b72c5654097d2ed0399d10127d0aa4520c67e0831fd4096c847fef3de49a79a4d0bd42b847936445c858b6e6b01ac7bae1d4e77be48f9f7b4992f24bb6d6a01080bc30c9dd75a11060a164abc19b3d44e47218af5441d557f7cd72dec54d3ac0d9a351ad5ea78cee1dfe279b6628907419bfe6dfe2c6096f05e7f71a9ea961b2029ad5eb0afd4576717fff50159f7a053523eeb3eb6c41ee8dfff6aa7382cd1b8ad0ffb15d2bb7f17c6de70eb4b42dfdbe66e93aa420872304f231e27dabdf95a16700693dc423c94a0e0fc2bce8d72bdb290538e2209b454ceedf36ffcf8681a8b079cd40efba1a02a9d43fcf33c3598f1f705ede331b23ecaf2855079eac602174ee7216faa33392798efeed0ab962d5e50a89e9bf99b9969ff20bc73fd6aaef1aff1a61d00857d9e9a7c84024b70ff3a2b843774902fcbc22c73a954d5731c407fb329b38d431f25a693438a93062837abffdc646634770e554187181d9fe9e474e250c8904dedfa3dda067dacde10964b0c1c0b939bd623110ed54019e0365320939542ed4796ef734dfe7722e5120958af4b76c966ef441b6a8c863fc7b518e23f4f403c4ce9b5df4fd1268e7f33f0e0496eff27d2afce8c7e00e62244a1d13b0ecfcbe1c616c783e2583c9a575fefc03c96d5d750ab8affb84213bacc38ee1b68cc0f5df9ea012a01399ca0f24bb2a3f6fb82ae8e004743828b14dfc1d4bd362eb23ee70a74f52b14437d50105e38c9386f6d32b672af13ad0e645b20d0dbd97e60e299dee8cf63a0e15ec14131ce3028ba911270df8b7e15c20cea940f44edfa3fef13df4d8f0ad1ecbff0d037c9b89bdae8eea7a8bba809209596ef6a7c5acf4da328b5676676a7522595ecc256a55efe81cfa377809a36cf30dbff6a198f66bf75fb623596c23bc1fb330fed66399981930eceaa5174e89ea9f704f4dd6750525f3c18b31d860e9b32dda0baac4a50c8c4613be2952b5b5e4a90cc1f0ef094fc4b29f96f987e5d54ee50d5ea8a5c03fca7243351cb7d798ac6c6f79895655955bcf32631e9e0a5c3491cbd2fc786b8ac5fe60d6689a1c28f3b7dd9f7227c08bd1494103da8b81ca80d1fc84171108909ee4267a3ffa5dc25f3e6a8871338a3a3964793bf606ee445f06d1bc8f3eb353a7a2d490a16d8c5648e375e59c5fd481806ad593ce7bfa53e92cf924a8321d46c1a155b148124ae1c1489cc9efb1de891c729277d13bb4f5d39523db9d84ab2289e241966b4c8abfb3a358f8fc457525bcd1ce67c17125b5a1b60b971b9fffda379ebc9d9b13dd577497a17e451b9f45750e28e3c874e41b274817c515846e9d48c645926b0fcbd42ab0769254a89d5cd431cbcbf86c9e20df62bcb7add5e10e23b8a94e358f29d91fc61b30cdfd5401a616d30ea3a3446e3de844235f3c613025e0efc0f1569499c0c15e9e08d7236958efd35d71faf4044475b11965de10b331c93d6a64c68ba48259b94f9df15ffca300305ab130783f4f86991fac8262e6a2f61302d4216aa4e9a278c01d2994777b71d72317a40f8142655df0c8bcbf33c80a7fb5f6ae96c33fb455868cbbbbff97cd989375b650d5ab19603ed46da0f424050768653f9757675f3dbe307aa375296a49ffe5279cb299e902fdc09c273cbce2b91531d96047d0f2d3014e69a55808e9805fc9339f3b182d2c91920a951514ecc9efef26d08e4e187288a628f65210f86aa775717f9196658b22d6b158127d421032d944bde21fa0564f5e095d37593c3ccfe2187007247b4470b735b0cc564d6ebd3b7654ca6835c143051b0b4bdb527e210d96e391e8411a531ed95da57d98e358a4157dd21665f115333986e03f02194e27bd637360c99f0ddc44e800edd02563ed0202e9584da6f112f75abff372cbd05b4ee52e80fdcee383546e887518156ce92c794b4192906d13c8ee983bcbf2d911f0d5b7f7f88c4e8b707c114fcb0147cb92ab8aca03a07ef5e4106aaebd9116adc578e49229e7612c2325d4fc44a1e5e7af3dd5fa0d82681f681551200028bd30f354caf15aafd94c1a16df467aa80521cca3de5c73da7dfc051b3fab8053233940994f6717297f814de8e28b79bd6703f0a570e61c0c2e75e62d7cca2a1a8507522316d5a5cd9378bab594b649820bf0a6cea1b062d323906a56c4b44c40235cea03c8f2a8ccd6f1f652efa823722873ef0038c302fefee5a110a6e8aef7571e5660d1e57ffb6be0622ee284a54104f5dbff0dcd00f1c229fe51fa1efdf1b64d4cc15c525a365be714777f862806b6db02072acc62eb9b529aa603e97e3cf96731b4725e176ffa197521bbe266d4b262e6a623dad24c22e58bb17e4a2359b26094f5276b135b92e77fd4db8c3f863bac8d0a3630a1261ec3151de6d4b397c1015cddb49127b8885b4c194bab0fe39bc9dfc128e9326d90d4a331cc2202354eecf76910c2bfc1368e8c1eca23d8df78bb5dd30f72ea701fb4bc0bac172628fa0d53cf923dfec0c7ac1f12eb69ecfbbdf3bbf3a9fdb3325abee5a2ea4520b0698f8e6e9d9a5261d575654c0917f0732143a31531b294bce5d8e68675e85fc30f320c888ae7b8e34065d9a88f680d9e85e8ed0b4dd210c723e441410f561491c3f27ef8faddd4b5ce17831bf7c62fa9489ad2e2b50f493ead9c1374b54142bac055a428dd1e79f681ddf092bf0fabcd502aa7d1908bda963878ae0855c5ae4aee8067469356f74529b27a81136aecb01d907aac4537c0c841447e13685a8ad066f49ff41982e0d133b5b00e24686060fd5c9bd799da2bd4c1c4e448ca444c21897a9e0d538f6d6ccc51b409471467ba2fb406d8bcac7675547da02cdbd9eb776a615a9b4bd9f36cd074f688383b37d1a7831d11e5473d4c4f77719bd0746001d884907c6ab314147bbb4602b137656e258805647d9ec43b42690ea5c511466bd7e86e74004c69759dcb90c452146c991b43748a7d43334c437f7f5d875238353fe80024dc5a006a16d6a0a9b22366f8d912793a3a093d345966e3958f447456324a9227921b0bd6cffc58c861020e3efe056bcc7fecc1243b5f43dc097b559e274e1dff4e2a2bb83ea06c6f798de34d183283b1e3b2b7c875ee34c1ba3d7844def228cb485eae230ccf0136c54994dcfa6b617b8038bf4fa848fc7d2197b32af50959a20d7c5e9f94e7beebf7a8f595240096941d08d9adc9c6c7fe15baa81eb0280e5db5919a563432f54d97e6caffcdb42eb365e17fd1e5629184889ba21960e1ce46df40ce2b8400354a41ff3a16ffde9a43f81508d1d3827b25309b37178f9954292f552ae6bf1d50217be9a0cd6b3dab9acc61221f521a4ddf8ed6c1106f0f421a838df6db9e716f099385663d248c98035f9c68e3942c05bfb5368be15dedd48559f5ecbaa9ad92f1833b9852b96f0dcbfcaeb191b82d1c52b5bcb2e5aae8941930f4327fd1b3fa66250be71758f5895eac93fbf7471e499dbd29bc7c267983861c01b1e6d33df87573ce66ecdcbd2cec795a39eca7d970df1e1347c73350d882fceb5d4d2daf02a100a96067947f29c33db715625a07b6fc01cd2eb297b9212de8c53465ff525e79fac363418e618da2e2bf011bc8b3bc25a4f51068f98588d0944fb1bb8f32d2306bb5da2f7e85f617499a99acb096b0f5e435b0953f91e957b8b4e8cf07e699ab7d216f3fb85a1ea9735c91a77e28c1d437af79b7a25996f306b6d7c11e5ad96e5ce450af61b9e0953c640873b20488c2adb452b0abc34d4b07a29b6e47d1578695818facf7288a8731053dc4602fa2b4d0bd4e43d976e15f731a61d482e9bd43ec2f4ab24e137878bf7d57db09b5f96109d8b5979dd31779d4018dd25fb2b655333cd32f417d7979a4950964853040d4e5960a480b54411e7ed43508fe573db472b36719700d45080ef206cd0c0699acfa74f4873dc2d12a89050f66713bdf211f9b521ff9d4456e2b3152315a10762a0e5f14ed1980f8a31a722601669fe94a3915d58215a35de40c161b7f8eaea7b888314ea555c0bfc50d51d9497cb5fa5307245b50178f34a221cc29da77a0e1431e8d536135f2a3630332106fd5ea44b2acd886f5d8d1897f8b67b2a41b17522891fc7d9e0e22e2d44d02d750ff19fa676444998972fc4766373b565d0c215a1788ae0f72f8d4ee9cc09c1dab4b33d740db11a252f871ed59ed310bbde836b6ac558bb6acc5b6290cfc9f15de887591f286a6daff86064c8241a346b3bbfaee2ad41593875b15f702866ce16dd276b79315b7901b336425d7c216904c9b6c2caf691e7bdd06fc992d630c2a519a8b060fb9600d3be1f56ad0f8b811251da667e0bdefca56417484c1dbb356d5cda0a6f07e63d80518ad6f2cbbce05102344dfd8b9a14aae3086184b1f877e70375dc43ed791a6d5dc72bc8fbfb1b9f3b6ebe8a9083ba80c0b4b8e0753cef4bd13c5de40cecbd4971dc51ec692c401e856d272d75584ea2cf2f6a66be164a21d220bfcaefff04d021ed19e01d3cf090d48e105e06d1e5be9dc68e923bd15603bd35060108680d6a18d1b735407ea117747b0d4c222e0f5ed473b800d1b0d10d43531fb4c0ef3702182bf5dcfe16dd9c94bcba81a3cf78208febe8d1943fb67d6b8625be811cb2e96b7ae9b478186469ee1167b415aa13b142bb93c23f02ff638fdc094c76b53b8f2f7d42faac57461129d08f90628e15d45601f460d3ac859f3d3c35167bda7e6005e630fefb5f8f72efa0eeca47486aa4d9c93cb5f38d2841d1bc0b3a25547fb511b6bfbcf252561af763774dc48a266b52ab31a2dff4672c64c48176500edc703b19e97a6056b3d1dfcb9b3860b2d1e89347f857514257720f453f7b0711ad0371aae2c1af020a81164d22c0af56c6d6b408d3bfdf2bcb9bc14aa50c5d018380f9f667bdd40d877d82b4270285c4f8b27e79ce946f9e3a975e12b902467018217b54ed3465c368df1a7e8d6462566e12587b1867a00169eb29964c381f789efa3e7603a8d0c7ba196802ca8e2296764321fa3479dcb87bb1a21d2927bbd2a7766e07ad80690c31ec1dbd7ae796e2e405ce2afaca71a5e9e43c06c6d8080489c22abbc1542aad2cc7dd9b118300c7858e4c0b878da81605088df3bb3ca5dbac57b9e7aff8b2fc35c4060ddee3d63ef0f119601ad42a0745421a6486de3babdc46abd5002c54bd03f5e5ccc0ecdd72324b931d773fa92d2f24fee677942feabbb4430353ef5f1aa20bfbf20f7309849883f5cab193b6d2add47e8eef492715c78ca2b8ce76840d4297fbb5b5194e7b2235e7b5472bf49282bb75f061573e3a893f5b4e2db70d2d2ab47cee0a9b534989f9c419cf8768a13a3c0dd5abe069b3ffde41425de110f167ef638f45c40a27dd5e031db2c18104a8a8ef52a9eca0812c51d70f7390d6eb5df0491bee988384074e900003b94db8d931af65df6a1d60135077e959f605b3e6ffe3d6bc4fabcdf5dfee8a0b69510d22fb34c783b6f71399c86e8fd9caa4cb00d58cfa3bbdf6f37649512e326485e4f53991a378fd73ddc9d16c2cee7b4e497e1f29aaceef840e8f17e5bb79a75d96cd74c49f606c0e0aa192bfa7959b95b9dc55d136b46e30c2babdafc5d8a156f0965441d69513cf3fa2ae8f6bf61ac5a7063c4cc5a412c8227bc8631955097930192db9d8b0d38f57d60c3e9d4bcdddbbf9d0efeb86b438c43541bfe41a8339c3da7a4878437fd9a5e432d522c392982d897d994489081c3b4a0bf2d2b13bb1ad3d09e1a3da4d0f42522d0cc143c51d6f9b381863f4a2303ae163747e21aea5e9be6ce6d8e0d6e5e55b215e929103222dd8621775554a08679713e1910a171af1ad5e303c92098c4f36d8191e3110b0b3f25fcf1f9d59859f0aa9d707a8ff9392748f54aa6c5b9748180a99c192177ee344d17310071714edcec7360d68c9f50720d0c1ced43b2e4274bbf360db1a7d4f54633464f89b02fa970ce1c141ae06859f3558cc4858966c945723fffdafd1160082a6b8d41960e0025e2cb15b3850b0ea1ffdd6a0f31f6ac34e0d43ed448df2d7f1662a1289322d7c314b40d35cf8c2e8b16475b24901718d7fdeb6e3e2dcb4e9717261cc4e099fbe327ead6ddfacc1f2845d61103fcc78c01a34230fa7ec1bd8f9bc48b0319843039e3878396fbd0503aba42b2e0b4219e77ae38d99103be8ddc836bbc25a55dd0ff54dc0a6ffb739c05018758de990583349f7b9d6e9047c25ad81ce17674227a5c8bf570b421314478075366045d889c2f85593fdc2d345e3dc038ce64c59e82d259fb7b5c7dbd40a2d5023efcdfd54e0316b9a9d1c52833d72495e66cf74626c4bf198513a3c79790d5129f62e78360a206131627e0cc30fab17615626f59505a2a06fdaab0080001fb1043819813526ac579ed2399c208effddc8cf91855c4f780ec827fa8be3a1efdbef297ba9785868188121ae1423440dcc3611088a1b660baee3fc46335a77a99f828cfc826aebd0269c96b34f05bad2c60f5b61c6339c1f1c59a398061a0e1a861114773b3cfc3c6d97d454a8df58be8ef763b6529bd85d55e1b5b7593ca1081db52bbbe6a7ad52e027fa9ba7467f05739c6a650f4ddb41d8f07e562f61341e8652fe50f1a5efb51125c4c234cd797571f51c5a7093682e0a24f9a43fca95f6fb39b8634a59ba8f673e7e550b598a85ba1a64ae26dccff9cd14381880b9057de9a7192fcc079642175c659a0b45236e26876ea9a224a7185651031b094935247b134da404c7cf33559aac073f7b37186174640cbd79b0f74d3ca92d8cc2e540d9dc8daadc7953a5de2d2965c0b747136a3981040b73eef6b0269e503fda0fa28f0464924cd57cd38192a0e23aa378a9653cf47b999baa67a5d632e19c5116c606bb4721ef17a727673d8bce51d893fb0137022ed053d6c14945d3dbcb80450bea440937698c665373677cb4de38529194d395a257d95d7903fe391ba2b02a72b990d89beeadef85dc3fae47c640cd3eb52bafa43b782f66c2e253e8d43ed4c0795bf8e7843c040e2bcbee5c3b359d9d923d9e9fecde6155014b9a4238e2c6e009184fb3d3e924aa1e0a93259e67cca612688f70ac630891083ca5f109d5b8a7aecd8c47b33be62eede78fa595cec335af73849ce693acf464ce730af344b442d9eb08ec9f6ba17209f6327c3e24d930c643e783008983b64588593cf812aaa54902fa41221538fb503863eca285d41c466b518270d4e87ebf62bca4fa79a05c9d1b7fee06d5398578ad498b130f1bb9d24101f8acfb1841566e9d4ba451566c1fa1294652271c4a9accbeaeff2cbfc9d892ae5f2f6b5513e88ed6d3d76429953801e2726a03dda5e78d135e2684a99b213a62eed60650daf505045adbd9c214f603dbac013c35682ac0eec9508c224c396cecbaea01a0b891ab1cf6418fd61ed282a252bb8ebca6ddcf143e163e9570ecbfd461cd4bc145fa5fec185a1b79a8ea3028270092a9d21858a3e892af5a8f8e4bdbd4efa25d95d5fce9d3b283f8d2859d8c05bb7f60160c3d787581e781da90c51eb5f8763b652415c49228ac5dceb40a6723847fb2e14c4497446ac4d2b52058d14183516b342630c79a6683a41a09e78ab7ed89f984b02a352404754b45716017fabd9ad939db9cad291dfb26c8dd25356bee405dfdf0e6ed88d05f032491bb719e42ec65694cc73fa69f8467e4cd35a9fbcc1495b9d5b4e6b3a6c0cba3e82fda3ad525ac1e14a5111a54c7c3bc9d24579bf5d99a5dfb6fa4045884aaa4584e06165a9bc48da2b368b7f73181b0628394be073c047bf3dc284ecd6a162403a1773fa0d24f4aef94cf9f241ac211e025804625e7d2e213b8c5decb3bc405d64277335f8881e0a96cd3e8560ef1b75fb3284df7c1103e96f96f55795879f1d19c550144dea8ad7b17e211b468cf3ca9af2e076c645907a3667f3b5ad9ad65ced41a2aa1290dfc9d91344b94426e3c2e65d27999e5912d9c93997541ec074cacdcf32d339721cb5c729d85554902bd3ec3b57d49b4718543d0267b64853ed60bbc6aa66dd6c0017ea16a271969885eee7dd7e8d3e2e62556cdaf1f4e5ddfed8808a21bfc33897b2759ba2caa63be334eb71e3badcc14bf3391090e4813a64a107507970278fa37910ea4434c8ba396026d88b64097c5721a41705159fe7ce882987a08158fee75d18cacb6e0fc8be0daba1be19a9eb3385813eaa26d0977e83a684e4905dbd5770a4850ae2e946d9779acaf0cd70cb2e6b2202e05453356507a85d812bbbfc918aaa192706fcef6bc3ae397db5ec00e53f83e786f89ed59d250db18105d90f172cf745275b76ecf2f8da097c31fe15387b3ff50fe4a1763d02609462741bc05e15b273bcbf62fbe1a9c5b8ecedf16511f8f2859a0de37ee414f142b9880a293451a07c2d753ed2c3611c382a53cd43f168558e7e7d59a7552bf2af624fa477de1d2bab0977b9a8f573ddb0424e7c30c30f9c89b0ffd46847952687928c23470baeebafd973a45bfede2f9dcb133d522a729861e12f7bea4fcf48feff02c65b0d3b8fa34c8ee71e666290800a4998f84d3373da0bf6eb778797c6457ff3ed541a4692e787017ad5a6dc1524608229daaf05c08b9db986fad885ed034864bb5b1002f250f43294a6fc7f4f48d93fccd4dadf2abdc489dc6dd0944a74ba1078eb0941bbb3f326046e320a47e247bff61b50cf541173ff3513bf4a1b699d00fc20c87c88d5bb36398d16e553a2d1a2d1f7026de7b76117dde5942ff607d91c8ffaba6fe0353f4b1bfc938478cb184a71f15fc709d6a5c52d37c4a92380e2e72cc3bf0c40f33d34fabda8a3de1815e3ff2ee281c7433cb2102ad058d3cb595da0f7d8c5f6e5e7e92254087523fded820c78b4ec6257ed3922bca4b44a274b1be3ec3424a4b60fd8d1caad9c1c9093a3a8f52528d70e151bdb19a28c4098398ce605a7ce8226b26cd7883e6963f8ad02c8d74cba17813f18b07a3a36a04a00384bee36eec808633ad792a823cb0b0a0243e99b09a5f6a1600417610af7c546aa0fc513bed375d3fa5995ee566361daae05ab6664fe7321e93ed2fe05ef110aeba5af5c1846b5d48a71ab0841c16fb4b43838f131154fc35b7ce728d8e2a8dd30ad5adae825b8660a7b1ade4a2436490414094fca9a4ccd4531eea769cb74c97000e7a24cbaac204bf8865f77a3fe117f5531f78949caa62ee446e55067254b3e81034ac35480855aee0787612d3e9250d7f6c3ca6f110f7384f1036733256e5ff0e0bd9790ea4ee3b346a75e82ea14147b13e006ca339d66eea159c6c4723e8421402627b9f1ad7d72147995eb9e171be2295a93c076ac7ad080a9a40fb95f21e97cb20a64b230588e2a99b5b9acd7372394744022a6049df90b7b79a06ddbf601d1c3e54f7b1cd61f4b776e2a47d55e5acde65c7cb921ad0c35dd0da36683209ed502113a0cdd63a8cbee5a4fc0e4771306db4112829071439029d5d42173c7ce067cb350e2001b02f17a3e4a8d637571a0ca3b252be461d3becb7f97d1e85f7db210c8e42712c9f49ea40282cfb88289643b03113e72df50e6f45723a9de9c28698a908c45d3586229569b433d211bb90aa508a0e4d76d5182f4ead16f13341f824962f34ddabae9e928bf507d08938ffad9cf364d1bfa2a8561d7e8dae11cef0b16dab5e14cfa11360ca2adc14d86acb5cecbf099139d9d2306e9ed9860a9a3d9184ce8319a86bc944b30e07b736dcccb0497997d97465290a7fe66cdc48c46e691cf0c397452f0f0ab7f3a4897e8067a4d3047e42fa9af61e7b3d3da718cd9e95d21eb7ab283f866b2c7eddde1f2fc804d37c5cb02c858befae4fe84e6c47b10ec5b7f23e3c27934a5b729981fb4065680f999bc604b4ead5f92b267c10ae18b4c79b8daba30d6d607b415040785b88dfcf83e991dce5947358ff6c15bfc6045ecaf1853d3de761ec6d3666ae7f68ed90f3d03c9d8b78ea2ed399fc140c9a20d2407fe8a4dcbea81d4ade1a7dbb4f8545d1f0138eef39843d2ba5e01316c7c3de702657be1e3566f6c58c333a75fc3081e1f8da078bac233c676a7c0c8db95bc331e8fb1e66bfc08c3653983095466d090d4c66482570f05627f4b24087226062daf0a40bd7bc9827d983180cfe46ce6d7da811439ca6283f4abebe9647fc782f44e06e91ab1f2ea50e6f1b939eb0c8a1ad074bce00fb23dab97531635463d6affaff8d2176d631aa8347aaf458535519b1836ac48b9072211bf4dbb914e9f6acf4375b2c9b2e60f23a1a0fd87176d568dc5450c7a015e6fca22575b61a14bcc95a491ea44a2264527ed3923575af8ac9b2ae52603079d7a74a95ac3bbbc2e8d208ebec0b10281f98b13e260bc9dec8b8ab8af53ed336554d2b0a290dc1da9e776fdeaef9eff59a5e948cd5759c32aa3fb0b24f30ca6da4dcc5be15e64823a4ae3a5dcdc7ddef6ab80ce7570d9c66daf8bf1e0844db0e7b5da5018f8471b7d0dbe8c2f8bb0251d8acf222d132cddc7816f245c4594c9b2827f72b991539a7b5802b3dd4b5c5d9076dc92bad7323bfa3f81f003749c1fa41fcb61b7068c926d0ac861dd85418b087ee0862800e47d3b95eb16ff4f071398718c1c72e17827475e509782da85d1b9ec7dfe24e5a5f5bc7a0d14d35f79ba6dc7bfec075b0023a8b47fc279b06b6659df957cf12f69bd3deffbb2e9ac329f329246fde633c683565dca30fbcadaaf45d8e2a279c1d5412abad55b091aa1a8f490c5106d65d26634e3db1285b08b9031d36d480876c3ecb579314dd5f9a246da532d7376c4a051b9a21a415c0b0da46ce62cc0a16a79561e4f823c84fd4e35f7b0226932e8283cfa3f6ce8670c6def2abd44b0d50ea8eeb306d26012320e6aacee8531823b0ec9b4a88d31b849a1746eb34ef612e3457529281c6b22f2e5d9f4f510e3a7f0a9f19b075884635444f86fde7dfd01832b7965d8fd605597dbde31866679a058d49bab29b2f85b6298026555b8ef6c5c7ab0b2aa7e555f61af5abba393f66735b1c5387c65417b3ab8030558e60e37680ceb73b87c1396084eeb68dbf850ade1b9051cf190291c0e51bae4c310b255557cb84412af40d6aae328b1d59383d5102b31b2720dcfbecbe9cf9be5083353900933a2879e3ff09ce14e0841b7173f07b8ee9c1b0def5e4164c44d782a43ed0f411780252b0f18b11c7dd23ab2bbadc70ff134b115a7a28163f076608ceafeff77455dec92470c0cc78bc4ecfa67765aca4808efd5f738d260ca3bb0400c504e8cefbbb846628bd6ae0c7800cfd56453289f1f9c7535011ce2ff0caa0cae2e166e1d949769c11cce3285e7bd771d4c3d0f1057c97df917e174e781b92b6e2ec1ed097e2b09383564e03b348bcd574bd5023c4578186797b0e7ee14b2935a38010acf6c001504ebf91d0ef90d81339ef4b3a37d7adbc9092c94c45d9fcb678cb1e03909559849deb71c4cc18a2ef35c197c23333af8837c03c8d7fcb53a0938da2d28535bbe0c3fe263f14b1f451133052c9e693f7ab12740177fd6f77589a1835ce5a55a2136cb8e610bc7f4e9834ab31f4ca403712677d579256f5ac3ceccee2b77d9aca32a3f284ee8b1e4a8e3a29dc0aab1f0ea2a11f7d9479f4498bbfc92e8ed8cd9d2c421e06942de13e361bc961e07d62fec749bb405d07f9850b956e57b79e61706f330089d93ea802510ed1f5a810045a4a0601be95d165241f3e685e98c8e3bbbed43a6a25a937a471d1a1a34e79cf1b5fb247e391bddff5394fa08f263f1d6b80aae6ec8896205437557989e084fad08b26ab7aad0ba5d4c9af8819c47cf74cc647a4461438accc3a31bb4c3e31cdc2538458650f82752c946a0bf3157f6f7c7fdafb6a7231bea5f42d2aced26e9395a08f363e506db93231100b51e9ca9828bd201e1b6a0f6f408a71b19804ed919148e6a051cb07a5485c26f56cb8e2248e8ab3fe987a505b089c1e8b31929fac125321cf28407bbd70d3a4659675337db44a53243a8e4208e724bb106d7b6bd436b56308814d597c679f8cbedcafcda27eeb97a5f69d2dca741f2cf6d4e2963b0ea50f5995ce0fe6a1faa833dbcef3ca49937ea41ea04a1c65980d1ee8354a95e6df2785b6fb52d01a5ddf166c5da76b7188367a6b78c16e5aa72408a705f1922f3df7baaf21843ae0ae82de27482eaa8e037517f92e9cfb05446dafc7f6d143b751aff7ab2dfc67ac739bf2b782c24bb7027a15fb6fdaecf2fedc30ad3d07d2978082da0ee55b9880097dba7418079ccb4f6b2ffde3ee216e977d7710c30a5267845fbeeea6dc68f824aaf25495491764cfbe6537f0c3aee16cbfdabe18eea39446112643808a1620040bfb090c24ee7bffdb6b47e9ef3a9af3684a1dceb25200a78039b60b78df1bbc00130de90a9a5e637894026e01f73bbc864faf1c4d1e30bb7ed8b5e33c4487351acf6cc28d42576e13e94a4da006528cff06aa2d9d6ab155ab8f46e88109d1308763bc9d5a9d28d48e71607ac2f2be351b76d79ffff68a818fb65215e3e48024c3273637bf2ad8e85b392efa1183b146cdb8cfd89dfd898370a4ca5e4610863c71d6cc4e5708316971554967f97aad2a6ba5d4cc2c897b0fb87f3c097733ccf698359656f40a1db2da18e1b488e5d5d7499e41c4974feac026aa82608129d88a844004dca23c1e94cf0ffbc7e291012d110f63cb2b49936c67964c41b04372324561424fed5663d1d5652121cfa6da362ff70866c9ce84c3d6f5e0dd3b386a96df4e492967b60515d5b10e5c59d1d18de2af3f2b307a546212e048d949460353bcaa7c7d4a6ad5241df6968f2f03bb463c3a8234e8e3b8c86352786e30625d3b48d8337899efb4685d8374cdb04486c9f20c61f76b196dddba4bc7c72f40d03f68eceb44bd299b014ae6710ce0362f5e92d23bcb5e3b0bd3bf7b96fe361cbc8bc70686191d039356d96663fa4cacb264a492551129afbcbfa0d3f96ca30bb738685f517752b7a10338c4b1e9bd3d40e0fa2d446b0ec1539a90c2a0f899e09e9e020f7ed6daf7f977fbf3c01c929d418e868d69aab08b352565b5c0f61e74ad13130e178ffd826e3c212f5aa5353bfa98dcccbe6a14bfbc10df78d0cea1b03d4ab0e400dba9db4dbe37cd9da36ea53805b207452c014314c020af6b4bbcbf549184efcd935aa72fb1113f5ca954a7030c630f068243de5537e341cfdd5b76ec0d4b74f2bbd127b12ed0d5752a51cfbf3013170ffffbeffe33ca102fa71c1091cf2fc008c53f3150f31f05298a44f02ec5a464b6e2afa72a21cee11f360ff0a3f80e7bcf4f7e7e4604e27618566c26f74877d6acff12deee86732c93133aa2df9f0bcafe3cacfcefd17c2288a4612e3ecb9d845ae9f19a0c7ee3de153dcd362793192d63f52e96f9b07846bf46318758f27abe3d5a6b5e727d54741bc59a45e63c55cd0b3068d72c6e309c47795983ba05c77ef0a7f63497859eb28a9db681b2e848fa4baf1553c26987c193fe93a90502a239e685db711fddf3f10ac7c15439f2cc405b8a8faa7b66eb822e89947d18c55d2dc2f33b2f2d493cfbccabaa97385916db304c9b0deb6ecf33fdf9564d0b0027f6066771af648fc91852e2b261d713998b111e326167b3755d637a0e582acb8192d8173228b3b606be45a2642dc932bc5a63c4a5a2b9d9f66583bc52e54fdbdd7cf80e99b72d98412d94a7e92027e18e2a663c94a053132489bf7899c5aeab766447b8be0911cd53d8aa58d6f44e98553fa9b1d2a7113150419f72cf80a4b05d2c5a2ec3b0f210042a52ae8ae329fc5d288a48f9cad3b61dd44924d80ebd65a36d6515567b8b44d86363c3ce8ad6a8a1627540147367dba68bf5c37d2a7708b19fff87391a01bc74567d6b446f025bac8ea3a6216c1f29d82b04000e66ee51d3527a482d962e808d37e0316c1d19088bfcb5f1ac3693e71d8e85a3791c205d4b5a18e91aa9a15ed647e726ff802a7294087c335a61874c9fe379160ba448a2a3d81faf22cf284cca3953c41cfa4116ef2ce823acdab95a808b710918f74247e1bd80df91e6da5bda26c0e4d92a758c4f40d1b5b33d5959d4a8fe79440ede764cb7869ce5c817db06b7a187bb44391362d34d5499fbbb7effb1d6c4091264f60285bbdd88b0971ce55150f8bdd02f77481c4cba70376907b3afe8ec168deb6afd2da78741d6ca35128fc84832487cf8edf49cdac147aa4a498ade667651c8ca6bcb12f01458d864edc1dfb0386b8c5946070aa19a5e4298e5676765e46df2681b80dc4868e9d0b1cd4a1c3041e9f2a22846206e5aa7456714b754e6e1fb5f852f5dce9bb4adfdb9dea5e3fb0bfe995ee13da1ca2996462e69c47b35bdb9628a8f25d5a2ab9eaef84fa2cc35e726945229d8ba8a7e07da304dbc6e66c755c8b20d75607d03dfce3ec72af33cb9381e39c6596d7b5687005ddfaa4c37a9187c1b1e9cad6f1a54bc51eba4dcc66deff9ce4a6eae8d6372723bb73e0b84459159116276417c7e649019c56ed4c969d27e5d9b5836d5d8fc7747682825cf1b902fd8f744d5413c1b3f7084e2e1e912245ac73b878c0cb2e4c0603dead2ed1cee7ca403ff695bebbd1f1942530416cf374825d9ce713578640fe814deb5f1aa3154b8925df0c875d665e40e1e2737131a9a02f0f24ba0a15e79194abbd414594a31c87ab2fa4c9cedeeed0627b25698c9fb224a4916f216eea64348775f4278c05e5bd8b98f4e44448a93a1bbcee9aba604783d7719e565838cbc32c3be727b38082cb000c91edcbb0f03aeddeeee9687d890baad103e210870ec73c0db15de9644d6bb8770a5c9aa0ff8a3ab6caf4728ea9abcba38ecb028a8197897e4c3a7e3ea539ecf993179d9d06ae2666984aa52e5a04803aa17b6d331ba73a8d3a5e2ca993aba1cf73958dbacbc7e19b159c08b54f4c8d663218e454b9aa932a346a55f180898ea62ebaae34e16c183e32e18f978b0f7d373289852e7d1dce0ba740088e9f9952067f6ccde015d99bddf4320f0bb9b5ecb65c6306709fc61c35c3cb1bb3be457f3e71b36a70158e4525488c8021b88f1f1ffc6beb7801d17fc267369ca04184b229b2e4afd0527590fa40e3bf52e3df78b909bc2c419ffe4e775e5b437c5532d9300414a75775e2fe87cdc6b00483ab87bb288f4cf74c63044d5e9aa710196147d3f3b4aa77af93a8a40f0c158793d9c129bb6a0c7082e9c79e56efd7daa141c2493fcb596fdfc949074cb093b375bea007bc5ab6dcb39fc6ab82c28371374a00d0fa64edf833360eaa8028b96e6ed83c40ac488c3c4cbe16f77ca5942db1917de7e54213a01ffc67ac9f35a1037b5e573c9ed08a57e5228afcb35620a7d9825f3d4a52336ae563f5583b06c660ccb58a460b47cb505030ecb4d4ed34f921f4058ed530c04422302c62298d665c4f4195f02d605607a1b395dd9359ce4e46fa8e6bf275d956148a89512ff22bac8cf5a7123debe5d987479401bd7ae8f5aae389d5d987ffa3c7a9bf16d8cb05ae4bf02843025e45cc353b1bd75d421bdb2c933ccd5f793400d3f8104ecedf8f5b1a9a8e17bad20481b7f889caed3815ac3fdaed4f38ffe80a77395c296be2d382681976d18af05fcd7ec639460717f1d28e065ece3abaecab45e84b311233428b1561b099571dee1ecced6502bf2934b1d5e6f6883a8f011170cd4a99d119215b3a353eaf744812f0792d91890aa68d65cad89fa2c90f505bf98158a2a57e73717da48240ec44949b82d3c4a0464189c369ef97b858929b6f2965fcd638b4f6a836e522f1c03883db4556d3522529fd6a54907ce4c52c632377c6c16bc74367531c2b97521f454a3c9825878b75c1c63aea737a16e9aaafbfa39e7101824ee07588cc93e4d0c0da2cbe731bec6547c71273f742d36cf90b3eade9d668a563660d46c6e92667480ef4bb6ac514898a796984738dd67e3d378c3aebd4ba2548a7e47ef9d2f9a437f3f3ef465561a8775b6004d178e8a6c9a80d2194d38201a0575f673119d6273c5be9ff3c2eddf10f8ec70c0059e4441304ba94ff43bfd5fc6449dc8a3e7c45dbf9a011ba9346966da218496f01f3703d34bb27377bcaa76bfe0b5c4139be21215474f035ad0d6bbdfaed7efc59dabcce0a7dbb9fd8872d5b31e9d16d664037a82e5b832fda4e3464decd77d5c5ad8588a752f892289813bd8d98c2500ee8150810338ee7b51376b293be091518c1e8a8361fe187a8817a0608b43048a6378dbe9e20f3c18c56105f92540be61be37f1bb9bd4c58bd4b3c777e494c32a1aaed2e76efc064a35a871d2e860b732b2bd5ede7f7ffb6917fb20a3d955bd106d06fc5126328bf8c73a2f7ad0d93317c6a682e520507f92582c7ebbdf674c37f800b238b230b9eb7ed5a17e7e2e88efe555f5d07124c3ca8ace1fd4a85b5b2568fa13f7453f2fc45e7b331cef75cf6bb264bbcc1c7050869c1a533b19ca6e17171bdd68da792f0af1f52f6a3a190e3049ab189ed1d28305b034ad65aa90e51fb2c47ac9b6790c78b3659bc0dc1e19dc9c91159b469516d66f2745f3d1d17ee7bac3cb62d4ec0a0a5a7ce46b714beb8be4a28ef122bbfcfa112247e72327d778037736f4e6ac06ef43e7ce0bac2b74e47fdabe1e0bd21b019a7bd45c59f9f9038d545666e38d825c764173d16fd8965e02e2b4e42ec6389c2ee80a7beda37c4d6efeb75d7b9ca3c5ab9af0f88ec288520de4f5260489a2d68fc548cbe7ab9120c693b8856027229c3b0148e96a9e8901081f5276fd0346b36bcddbcb7fdeffc589601e253ebafe09006abb89f99ea2fc353b7587293059de5bd94cf8100bd95d976a459baff2699539a2fa56930c92a4eb257890903e6fdc1da0ee2655f7648d0a9472ccf2c514ea116bcdc1fec17c68efb079d2294e5f610b423eeb8706e7f32e83fe927f50c69ead671e0cb234178db6705b57605caa09d11da7f413b41c1460d9c9663c09d06fae454d0965a182d4903e0337920bf0615e2c607ebf35e90c86f20c3373f690a5642c385034d6e2fc0f349e8382553c4cdbb76ab692690f6a6c97d55da4049b8ca35fa272fdf9ba2454b7890de94cbcd508bbc1b81e0e77610046310f1389d9f3bcb4f1ae2b424215d4d0b42e8004f64c835c643dbf901e1ea7906abe6b854f5051f985a27e66ac872f7aefe1335ec5596092a96406e164b9f3bc5e95b210f6a6f3ea931811540532f3e417702954b7dae443c6e61951f267392e7357c15810099db22cfd5de1bc6bb9da4f31c2629d096869f536ee0c735e5e0c34716492d54ab82db4dc41e79f29b631d3142d954da49f18c0774e2441a8bc781835e6481630eb8acf6b4b3fd10539d619dbfcecbebe1ca1125ccac8a302817ac2c037cab2f755889aed94fa00a177e28adf3ade28e5e53af5bd955f36f0cba704c70f8a32dc7f03af1a88c104ab60eb938a252ae5875a342d801759b4877379ec235129fc64db016bc127f05cb3d258fa91caf80897355b82ab67de88e08bd861fb9c3a02f3669b998794f02f6404d2a242a4ce004fbd797b95277009d1085083801498b94c453fb628ae208e5b51e91376552054cce51b06f27ff1895c77bec74db186e7aa9746fd4ee1606dbd3203aa3e5a6bef363671fc75650b85a9dc0f1e1a8cdb0612d1389fee87ccb95b667d16a821f5c2e3b0fb6c5a3546fd83636e1d39c5e6bd2cef29907e8950d864558b1cae6bb9897a58493f061d6066de2a537d511b1c770eb37244cdfd4d7a32459fcf0257f16d278647b9812f50790ca54a7f56d9ffb704559bf0deaa981723d032cc82efb80fb71a3dde825239f3f76b337c970eabdee2d3460d0c4fd1738f081aed0566269018b74dc39fe99c4b663dfa06dffb6ba0f33a905333de3a989d828cfff525d2ad4fca74299b8f4e25e73150ac4693ec87e9681c28aa2616c4d316b1534085efd3333fbd9a66b3e9e638a2ad1f28dac36a81ed1bb9935ff6b0002d3ea23f8b3b5607b8a61eea5532526507c194c323863f6245d4434f4bceb5733cc901a2d05d8aa6181be64001dc7c7758fd641a921d802d0c4bff3efe22617f2386947709db78fe0e44e8df4d0951693c9b2a2422693e1d2e131eb43b6fea202695143f182314d472d3c973f9ad698153c9beeda3e59146e5bed9daf9ff587a738dd6f79cd3df347f06d9969feb011d5f79a6815f199fc88779c8751c2df84d40664ef69e34d95aa34ddf7ee504591fc5b5d4e12f04ea760ecd057801b84d466c2c2407bca6ffe201b6716d57e418f9e08737dde767d3fdb249b9d3b844ce0827aafcb24753659827565798748c64d3de33fb6a62f8be880c75f0926188425598e75a8a5b18312f4b8ea9378c6f897245c16bada1b623fd5ce56b2d4c1bcf7bdc5d4839e899929ef2f63b18e1fe48976cddef76f2c5814ff9dce39887625cba6480ed5b97dff4e11f6e2181910f4629b907fc717515895f9dc860363e20868d7c1f1a8077ac1edfea61e26f85b7af6b8ad4d1100cc94e2945e897fcf2b08fa0e6c1d7e2f5f820d80e65ccbf7116c50b82a67448f4af2b56147b5010bc50474b4b7d26922610946fdbe6c3856ef52b02bea151dee8539786ae3962e309339b65b01838de799458ba776fbcc1370aa185ca7fc1c6ccae50131d37f2e9ba9f67e896820e36e35668bb1bda2de73652678e1a1f126b2e24cd56206bbd54da11dc1326a7ab86145b383396e04709c248ae7826ac400938fc57d15616863987f61b4c08bb75a83782b02e706ca62032733615f1a4def807594dc6027f7ebeb62fedb532961dbad69888f7cbd38c3ae00d7e79dfe07eef94f88251a77feb93c98c9f58acea468a1a496ebc9ba7245ad77f64b44fa942d400234901de274698908a48e172212ea53396f08f0a5dbb78868e2c293bc84afbf70341aa2f775928e1208f431832b15c2d2c6060186400c16cc81170dfb2ab7a81ceb3826a54282875435f1de4b4ba8d1006035c6bf7dab11658fea468def0f420efdf62a029df18a95c17c618518253052b4e230514fbf002863c20f033b258cf9ef99924a91459fe4f0e57020c692893956439c448c91f3f1eb4327149ff3c8c50ebf584077678e7bef008719540c0aedaf8fdf31d4d8f9b67163743a27471685ce474637185eaaae72093744e64fd57f20742a1d94529877cfa2f2716032e3d7be0b0bd6c68797c96e0867310946529e7076f6629b23a4a4b135bdb60f4d2cf03f3cec2cddc78021bf1a1c22b098cb30807a0ffef588e7a89c7e2f0fbe9244926081e67d077c2f537d6ea18c19946af7aef0fe5263097fc80214bed0e5929cb11511e5dbcecbfccc5262ddc437bc1eafa4016c75fc7b4565443c6006727bb23789406840c34254ef16a009daa86680d32355da7117929ecf03a893f5e5dede4ba07713f0f83eae40a970743229fccfb68ad0760114f7bc9b57ecd64b26ec68887bb0520d2d1025f551f66b42975f87419fc0a3895478c615fbc061b963a2d68acafb2ee78709f30d6fe9b1632e61516021173f70278c5d2fd9a483abdbeb0b761eb420d9845c90ebfbe171ab191adc194c18612ba8bebd852074f538d7f3c3a14a10aa0c7c0c7ff747799fc003ebf1d9d7016c4c98c4d4b21bb3a7c8eb2a57526a6d1aa6d4b3df3a1ff51bb211eea257ae3abc9a964ccef75a262f553006d5888711a8278a5ee628ee0526626abe183dae0523bfe65e46fa28e5278616bb52781bcd57cb700de43a14b4d273a3cb195f3db9c3da3035af17a3b5b465ee4a4243b05d346e8507d2d1e43ca6b557282ed3f524c78de041a30020f3b7f50e49889ce98e4d2700fef1b4279aa8628150234572d7021ff382d49add214867862eeb1f1e434f6772b22f9991d3fe0ead991594672ac45341d93109da5fb1a9e3516073286a792c4fbfc43d9857d0235498f136011ac4bfcd6a1fd106659342001e4932270ddbe37ec7423e04d33c79f8724626879dd3ae01ad06252530305a3f3e5a3c408b1e0b12dbce0c8055bf8f210fb6bfb130fa7e22d7402013c1c6f0ef6eec5e1fd7ba1e2eae96b8fb5a10af7f233bcb2b1b67857ca0ff8db348e290d8d879664b769e3f36119a1d6cea59e61c5423683659e5564e5903017f875100bdf6ba9aff0a1ddd802412b7f2fcec5259231023f38a61008379bbbcd66a0ac2f3049ab8d5193111c01b8a8561192456bbb11bd2d8b202ef0927daaaf30c41478aeb0853d7b7bab2671ba5933326ea0b5870f7b4eeec6f9441343a1990353d85eaaf6d62ef123c1d5bc46d3ab5ebc833cbc12dd7b68357ed5ff9ce6a2dab61971e185c739f2463d6386d711247e498fa1b225136fdee925055cbbe69233ea39ae8bc5915f16f47cc39cb655bf8e7c826e9dc4185f63e34b72c6c6dc236b3fc7331509c4760ba7fc91a903d33ee8a4264ac8507720451a6a4b20ceb89b2db49a33dbd03335688a50f3af5fd5036549428703cfdc796227bcde418103296ccf86b4887f99d1abc3b3a5701f7732a73a5f015fc5f8de2ecb444038259618e4c47d1bb434c3fd5544b48baf6f85bbd3cb36721e1f0266c618ba85786cbcabc7a364a0e0f3613ec6b3a7d7490dd9574ae54e05073aee6a9f59eaaba41f552a06b67ebf933e2ede37993eac303049f8fc6686f5121cce20811847dd615136231b4de9c39575873ae72e3acc86f0aac5814ff1c735a46c3fd617762bd3d1fabd8790bda89fc88b5a191b097d5a20493fc1944e8ae88bcf917a6b9faace3831a8c2403d695814748c860ee7612e4d828d9f9dcf1f2349f32258b9d22b19634e4637c90d30709413fe77fb6d4af875390b6e9d88b4f2bfa8ce6be91f4fd2dbc4d60f0e5669964c7a9e8b98f7b20a4d5cee3ec1d033d60e36b4d8725fa155d61328569df51556544f116afc7dd855b50a5288e4faaef73681be8d6e10adf43e3926f094b19a7f0baadce6af043b41f498f2ef9bcd84e60c77f82a6ac53a1dafba283e12deb68707b205d3ed336420351ca40beb025898fe327b33408c3bbff88e9fa5b8cdcbafebd305ee70582b3cb0cc64c76a977e4182dcd8140527439d6145762bca88858758884705ffed15af839160db6910112f4f60904e6224bf6e0cb09bf0e72e2dac8f48ccfeb22dcc4091db23d262cce17b5720deb249c8941a9d29512787115439887fe32b69cd72f7cf450893af5abadc97263a184fb415aaf7e59f756cfed163960c425fae116630e783df7231b1598461d2d524f762e29068054d0da33707aecf5e2de49699cfe03342abd0664ba2881204b8f7b80069bb270c6424cbd0d1092edc4a222c08b68b40cfb39c5fd35d3f9e1153b6de7083c5777ed8beddb2c432e36cc9310f311578a52a0b54ab046e3edf7261af4cc7dec66626ec651c6a5ca19c278c53709f6234392725b68e6476316318f4d3cb65d2ddaea3b5dabe319ec66aaa0d17c34c8ad12758dcfe5ffe55bb13566e71756737b9209866d9dcef5f16685a7c787a843b4c10ced5e32de8d3c341d00fe71d6ab7bc503c88dc5fb81ec6dcf5a1a54515bdf8b8e8e7d0fcbe360ef4c7b16b4ef3be1a4a8fb4f842655b74839d96a2434aab13a1eba3b46fd102259c8912d4b0d911ada188f514f783ac83268108c0344ab60221342640f9ee1325bcc4da0b400e5754eee1cdd653c8b4d14fb20cba4ea0ce4411a3fb84ad46a8d0809e8bb6c5f57d87ce88588b4a89a3d4b5b8af93743389da18e104a466f0fb592584770debe5aefb7e4afbde8f0bf75230cbb827273dc722882e1d2d91244928ac7fdee177a6780e8937e75bcf4c1df16c9246b61564750faed86f446b6acb4d7a0461bb8ea0f435cf979d42bb973d97b2d2b72bf44059f1a5326d3d8864c0c5b2d09a1b748132b9eb4ad98a73219fe2296feaf34d2377a413d0acf2253b306ddc95af9162cff12d38651a44470e35165e2192169392c47a06db7b16720f8f50265560c752069219ad38adca0bd6a9c9026cca386ad3e1188b8d4832dabde26c953e9ef6643586b917979185ce09ba80a23d3d41ea65faf8d4cafed19744f872b8d369414610d7fb227e5e6a75e38ea5a5b6372653e6ae3068d5057dff69190272c65fc79156a520f5480d36d813c07de6440cd8e323ff1b957c5cf3a0bb323a67338ef241fcfa1645cb84800f46e5bf6b1131a94c170a8a7b65e50717490fbd7bcde75b638707a29596b79e280c41f365dd59622601cf2846f92c1a49ef54b2cfd633d6fcc18d3b23062493030003e035db5adcd6e331881af160ba4178f888b340e4afbd18fd4726e1f5b51a6ffa91067ffdddb828d200f0eee22ebb71dac89edc62152fef3b85b44fed998a8d9b6e6f541226829597d4af2529587c077d398f49f8af63c52f58d7d3f24d8b88e92581e051fe1bdb6b0f093677d50b32abda688736110c65662ebdab235602caa1550fc573613129ee8e85bfe2c360125ae77dc0fc3598d488e41f367c2b50a8ce034dfb8eaeb9b05f2181f5d3007e643b9bcb4f8fc0b51d59375c07fe467c7fc287dd8acad2b082a33e8db01025075bdcb7b9d700cc12cfe5a37477aa472eba33db6344e35536e30d771d246096f775c1e65becfcc365480761925ff4d065e5ac3fd6f98f0e3a47af4fadada431196ffd5a8f3af346282b95ce6cd2af8677de5f2fce09c872fa43e18835be5b5c1cf50da12ae67cb3e3a09ba8160291b9f7d03ea8341e78ce2dcff756f97dceb85da45db9d154e615000e97db8415d85c9a56eb38656c8c787e46437a1e0506ca35a1cca34e2f1c85c7537605fa05cf613e6e969181a9f5261d626b04c7466034c30caf1582c8b0665f30fc99aa479396f81d9b2065e756f774020ed50b2d8d0fa8cf92945f3903462998e6a88ac22acaff52999843eea151f07a578fde90ff809a1eceac94e7dc8d11264d860bba6f71366c3ba8537b68629fbb94bde5f5330a03032c08d9680560a2d7e693b8c7e9f9a93eaec129b6c88b166b4318207d832e055031382e2d5d8502742539ea2bb5000ee91b28667ea036095f9e90a430e3078e736778bffcf6e22a5904d04d01c2e5d8996b53cf425a63fef8b26ecde9aa70369e9d626d45f4d26abc5e9659996122757c73acc2ec97bc2f3a2833bfa61f48c10ec37a54e568d68696b9c3d2fedbfca87c48dd115054a630afc7a1475f163b907de7f68ed203ee33f391ecdde07a21318854ad36cc4874c11cf85fa385d3cd0bca2d6e080c7056f29531c05a9aa3299981c432b0e5fb24709bbb051a3eda3c4793250f770a67f8d987373e050fe3067aaba5bb2ed0c3a70e6cd3ad198c6d429b016b13f061cb812048cc104103efd1508cef1bb77787b776bb2f66cafff8a768a8082e244ed547f1c168418c9249703e3459a1941b5481a7d733f9d29347002c5ea8c430bd009072315d7013509eea1e720657cf22998756412dae735799367c708897cd474eab9545629a02719b0d39563fb982c2ef56db5666e83d31ef7f51042dbbe8e8d2766bc305b180d6d3f7696a2d452bb4a78bab6079b120f103cc1f4fdfb87e12d24ce44b0c31f37ddd1f006d03c9e89de1e5fa02121a229d479e22a53500361482cf0811edf09a3d2f63cf903b7468b38ea39f577befcfbf351d5dcf7f9d7f57f126152932c074641f72ae4630cea083b1cff7005ef94cc61e391c6922af6acec7113f9a41b4d02440faa27fb51f88297a5774fc7c1196c7700eaa6e25aa9ead43421658edf767ac048852c25b3474e5bcffea395bf344a553b8c977765cbb26d868b8a7fd1864815802db95e1cee9fa1250b4e4d11b44981c041d22ca69f33d06a1013629c482cfe24c68aa6b1990a642f958dcf221e68a5b9732a7baf042e5a3c657c29048204580dbf14d8c81c02a3979cbc746b8e56515611ec0756e05dfd3908214509de0516f8e6b2f1dbf4762e632e49b641cc78da7c8bb4fa1e1e639c0ecfc323f0b22056a70a55369ed2b47a1e512a9305e74f89ac988f3d1eab49f2931e8813fd0cdb76f9c87f63c79a8c9401b268b5c369c3b1422db880be7fa660df7e2e626eac5d7721cdc50164d2d6578d09981cf43a8d1ffdef3d58828b9ff8917e23003581f1dd942037de38c3ba119c070cf80b48db4aba8b1d553948241670b224e8c3b517cdc72bfe8345078b91521a24a7ca97bc6c1ac5c247d0478e82de8e5fef71f994dd26ea2be06aad3ace5d5589bf2a3e9825a99e45b44d2dadc67550ca1fdc34dbdbee2da033fd7104d627120cf05bb20b3565c2ea8dbbae2a76c32b2a9ff454b9fced8a9e3a30d778f982a69c80b616f0382d0121613d1cf9bc011a01e22740c3c10a05fe7eac502140a9a96acf75804d24eba5ba5403842fa4885aaf96cfe46ecdbc25fe742f2f83c19435b17c70b14ebffd7fd66b34c5af2d4201158908ab284b3eca7f1f16e65f385a88dbaf63de96eabb20253faa1a70473779e3e5fc650ac5522d34fcb69dde92d24ef8c01de025dfbfb72aba19f8b594a6ed133d0fd39f73592c1c208545bb14b3b6274c71e50f6dfea9938d9354fba88a1823a15b6ab397ba14a6c59ae99b748653e4f212f438b6c67dd35fb0321ba31738797e649d1864763984b0ceafff1ce56b539a93c646efea3b534656b84ebd767bea4f9daf20dc2163f6d3f0618aff64134ebbc7aea75ab02777373cccbccd379b08192c8c1d42ebf723c5f0a92235d1661e0e781e12214f2acbbd3b46ecebd614da8fef4205b469cf36087af1ccdf967c8eaab64dbe6fb20cddc1f6a6eaf5203389c0f6b59658139bdb8fc24e9c2408ecee8b266a7bd71a1e78e393cb5694be991d65b1916dc1081aee12f2949628c66f6f5dd03d28fd69b54f630b7f02000f8858e9f3db62a80af7ab1c24bbfa375548ae584fdd5368b3645055461e4be9160306068bf5c7e3229affc59a05a0501ef5252d19fbc1d078f8f0a5b978b7ee820f07b2f919dc8ce22b80aca1e8c164346229dd10dd4e9a46dd4353d2b96a7697d93308cd19d8231d4db9b36a11e009482b938280ecb1ef718b19c3055d35c3b1debdca4d7f3f34ce6125b7759c80984d0d72e198154fbf5c2cda3a59fc806e0b15080abc4b444771ce2046860d3a2cb6c50651cd6e83a2753444d7afb7fce84b55a8baf8a43be4d1be58c71b1a0bab09afcada82a85818207ddfb3963c76cc3765adf2cdbc8363f0c29b1a4d67e2bd09e163daa6c4229e39e37906c69f933436a72678e08dc7a5e79e401f7e79df23e5eea85a121e3313e6c30a8c16ed2ee1097f01626536ecf979d8c0bad2c6957070d89d91a4c853bd9eacc34035ca32349fa3280a9f9883d3fa3321878b125211a409fd766c67c2af0f23b86ec675654aeb7b8d5299b3aae5359d9f826b45b477fcd66fa0c91e0620e10cd47a6176b9ef663b9671d0dccd8df9e92b4519a92c3c9b17d0e518c3e49131fbae9d1f6dd3fbf0ef02e2e54f77304c4943d2cf493ea613823b9d09195090ec3d25f24f178a163f6366f2026c13420d10c34ea525b5bc368d60cfc538172c36ad4ef6fdb3bbf45008dd3d4ba9b83860b4d0c9de67a6cc28f2f659d7a0f7cbe360f656e410d7be9a6dc11e1f880f76dcbd5a669dce9d05e8670a426c35887f318b86b947f4f3f21de22b8d092d0ae800395065e3611a1ce064b456320d3be39f1768ccf6e259355662dcadb185dc711cbaba1ff5665c268f3310ac273d0f3821c4c0609a8a8b6122cdb83b8e36360fccb74be3e6ede910b4063a5494419372396bbde9909057ad2dd308b73f00559ec5807753d33ec20816ecdf0412c26f45e371deef91ea6ae05c918624b948550efaf0cf33b890bfe8d701978d67b18700d57860bb4da515fe947f46bd7f005ea96d06bb27976e9541137e135bb272e684979e3acfb667d055386855add749eefc5c0d905a33c7299e96f064c269745f129469ec1a1f6f71ca44f0e439a7e30821267e8cc2b60f28bfec07c1db204342893587acaf2ca8197edbad90dfdde290522f7c0b834a5d801d16bff872c9909901552b8a7ee9148c614701145a1dfd44d02231b878faf350aed30dba4116ce532bcc20f907497b6e4d7a9152d3e7e1911561ef3ba706044cd126af5efb1ba36c527fac9539b27efca2b8f234aa462f5c62ed14a8e912c353400f44f18e4fe8d82a9529fe8450de6cb1e86c3b1510feccfd382289981830d1c0d84adb210d4cba36369614d052ac14e8022377537f4b084c50a0526ed417e1a2bc570b6e9a8e63850a07f1095a3f4c8fa93595345c6d472480eead73fb87c6a3b7a2e7b8aa4aee736d6ffea323dfba9f29772f4772c5a3615b54e32c87482ec253738eb9a983f2483c2718c6d889c9b2ada7117e0cc8748031b062b7ae2fbfcfaa3ab4fa5f32663b7d3ff3ec64820e8c8e3109e4868f8dc0f029d61c70175e61333d67762808ec01e02329af43c010ccbc35434ed6f9580e9131eadd2c9700762f871cc9451c50f302cb0403fb1ffd340ef8f455382b274162e850883a6cd1513f729e5120ca09f8b8adc585a2c37d28cb222123873ff66b01bc1d7aa43dbeb03d5899a3a8544f07b7c5d1abe92f4ba7648d391852133fe1ea6923b533a72375b5474a8b0ea94b4656007ea1ee864dcdb12973bf7d0f6f60aac391da060a1b071838588e6f5bc43e7dd1773f20eb776d3284e406f6f2fcbebaa1105bf44fedf6384e206e7ad0d67dbda727911576630d2c028fad75fb511c23be67d9f280ff8d8da7f0d17ddacf3102805d193bf70db9e1f91d490cf517304cc9565c9bbb00122107669e8353dacf78d5e0770b2ac2a3aa3ac45dd7d486df68197491733b1e9e118fd6751e89c5579825db0ecbb37c3d0d749c22dfb8500699b0d376b9f1d69ccb6412a6da77395cc46061ed678ad5469239cef16f35764913fbfb5f5a5576ed39ad62568057ced4c0da1c2adfc64c68b2738b2320873984838b6866f5421135fc65ffe7953bfcc4e6fb34919fff0ef2926e9b0fe55efb4d7a8efe58428202075837b52a9d1516aec62d4aebbc9cac1808b2a3d8a35d09c2f3f8978bd2bae9e1fafc869f28ba5697f622694b98f9876146d8e928c3f630d35ebaef56c3d76c7c3ad9f16720f516f5623b20e7d51cba5e88f7f9c8f5f1341d0daed23bf5d0212939c185649ea810cbc44692249c5265854941c51b38f2ab1143089b9889d0ca322a2bc8352c3f2031a483e7b78275188657eadee652c8955b1b8da505e6779bb5b1873bd8107756afeff89fab6d2eac55a7dcd56e9e05528d5a54058ac5f192861377a74bb8e6a87f5d78c4f19a7d1c260fe19acb0ef69ce53d7b7babc1a00592181ab5987314505dbc224f41b1a1825a2e65905f01ccabd79ef5c5cc8348bd628ddb8cb893bae83903178c01e4cce69361bb95d86ca3134b4672a09c64b16a695078719c505149da16c5ab726e6c8f57b3a5450de4411b7bd4e908f111bcd91b61e98933e35ea85ffb85dd28e682f31935bb547fc42445cdefd72bb599268455f2c2838c1b4761ad12267366e5334f947995e855ffcd448cad42830b9b1534c72ec07cca4f2d76224ae898486e5ad23fea897e72345cf6a044aedf2086364cd65fd9f1260e1186c659068303b5b7eb58b9b784a8df06361b5069933f92331203240ce74acc806ddaadba55a8bf463825500440d45fc53ab6711992e92fa9dba0e3e07adc5f6a71339568f0a8fffea65134653acdc552a4319fda9542393196dea1ba7a14891a2a2ffa0657d61a3de9ede988d18ec23114a462388aa96d99363640ba86cf30397eb87e0632bc0742881e96475f67872af820104ec3b461c222475468c4d471dfdab4733107c76859f541fcdf09cf90b35f3886dd5e7fb93c534db6db2207e1bf2d0d3125849f6c0ff060bd84428351f9985c9def25dcd4bc46d9c206126d9fbee0f3004895cd2a76262710f0f0e98d68fafe55d62665a5846d15f18b4cba65af02567cdd83c864654de45b1558b1472c98931f1f3f90b0e2f7d733c73e44e7c61a8fd9d4902527e3d3d445eecae04c3159f84bf9f5dc579df6ceb0a7bfdd771488aa02fbb9747bbfa4a42a5843dedba540e17ff313245c7ba016dae0a5ed75324cb87a65bad9fee157f7a3a0cf1cf3c377dbddc16babcf779aae4a29c1dc9c220ec651888b53e421e2eacdbf6b9173f1c11300567f3cf4a2bf5b5360bc44ff8fc253110ec33ac606d833c9ada53413b52dc2d354fd5ab69dde6ca85143da0b5bf7ae107389b189a7fcbce9fb0d41fc86782f903535558e310152c26e371f6b4e156de37db63f9e01f96fe4892fafa877f50577e7021cce17645d1bb4479c7774b86f33ec281b5fbe27aa4ffb7a78f62a75f0bde128b58830f15473dcca4dde9a66c745ac87835b7752be7ba11e5006c3accbeec97750d460acadb244d2940f2bebd8a9c829a4ffecd296c6ce0da1994e8ea4b9ccf55b9423136949d4f22f1762f8526e7d95d9825498718591b6483edc1c1849ccf2cbbf79d16f712eaeaf83cd9fb7d199c926e7cfc2772c181ca43893f38c34d6aab07e86645570a9aa07328e5300bb2c2402d36362c3ac1f18b452133eca9d7224dd57c7ddd89d09b5dec57ac69fed1b2a07f05d54d6225f93772f472f6fa1c801e05a5675edd4226b20aa09f07b1e659095985f881445f46689cb83e2ead642ec97faa40d1802d1222ebe76e1f3cf8de7a11a113eea0d60ed46a86df1cafd741b03e91e378f0996abefb159f009f64d11d754afa7e33038af8f5424667e93772c98ee1506173bc80d2f6c6eddeb55c3159bca3054f972ba6c80630ecd7399bd425f78b71ac2e44e654203bc9325dc12f6d3c7a53624b78e252ade078b9e66b0076f032527272b3cd0a90659e4bf1706c689202389fd8c5730fbf52db4f8ffd868fdfa9a754bb31684c7e3dab0e262b6840e607779d22c344e54601718a6931754ae77ba786ce2b04d1e9fd5ffdbf9e5309674fe7446204db5d13ab517bed3b166d79768d82db52dc9fdca2265d2fce73554d21d6a8d686547aff870617e4ebc3131f27f6d5613410a0cd8b6806e109221332d7cf1bfcca80204c80db2524c0009e6a375b26bd435c66df802280c18e717218c530dd8ba86c6b5a8a1e5926ba2f476888d8f4d1ad1291bcf28738684c46d950c137f2d4c470a57b80c2c9cf7481e04c298cdd645d52227a8ae7a887883d9e75cdaca5a72c4cab35807cc1892ee82b17d03a8c75a1a052b82b83e4ab282bdabe13aa36ecf4f86b3f712971d15e68299f24468bde8f6d5085b09d09c02a4a914956f52bfc86085922ad4867a3248ffcc0eb30dbfde91ee4f9d9d6ef1753efc116b3b258399c301aa10d7d52585e5ba9e527496d7e87e3fdb17a07a1831e4a6d905835043827ecdbf8d7abd54d592430d963445d9e827bb938e404985d5f3d3947174cc028470f283f6d40476753347f75cb910c157ee99a9d0becc1d78cbf59cb4c5f8fb7e78f096d8e6152deceec6468a5d29e9193a47d76876379342b02a9ec7f569ed9cf335bf1055d24561f9ef9c47f0c174ffcd91b3ec6f668c75d40ad8f2d0bf9b3473bcb82d6223de3a1502cd6350f8e6a67ff89f9cc2f9d8c7df6ba3f7bb77a8385b821bf0ac4e87a992f967c5b06fa22d146968619ddb4a024de3b3c54f3af4c0f7e5951328feaa5f77f50d9f63a564253c284a4069299e15b5bca85a991ba11f0b093c5bf9fc2705125288b3ce104c49631a37e550c9b2da50d377499915f344e3f85c40d8dc4a16709d6a10819b45660fa721cfc031f4a7ac1c7fb465cab6a8c9b634801eb449946d1503bbd297dbc5ff4e9e4d7cfcce35de5cab2e8402cdec993086a0c4b239e03e1935650cb2cafb732ee804f5661eff777b04c42abd0895d76aea4c5d430246d39101813f3350f758755efe7430e38ddb2e2a68cc468188ff7411bcd6c7f752d5ff1f5984c71aed2d190501f9e9ffdf2afebbd5b55ba746ec64e16ac5bb66c51ce56da52a5a9c96700ab1a979aaee276acb0eb58bdc8d985c09c7f54ca6fa42eb1cb3764b92a41412bfa171e887f108e936d417528333890eede90f9de97acd11d572b1ddd0baab9378350f6f754658750d4f583576ffdf91fa576024a476ed18c61b9e22f4d7449c310e2bb21bb73a40381389cf83e1ec1b4f24b7136a9eb79c93c452f2bbe2dd026b6e179232110c857c90ad75f27b0d52cf0d9c4159a996da557fd478663e763072cc0a98db75cfa6f165c296aa2618b90c316d139acab722698fcfeea2ab19aedcd067d0e78bb5b5f75e7e5bbb2c6c1513e4ed53e17ce2d09a7ec987b8935049ca9c8ff6389faa117533ffa651605642585ed4948a07753e2b6c8c3c796f359ebe0c96656920ff6c914e0163d11ec7e1c7e9db4930de8baa47819745628de5d61cfb3caad3d9e1d12c35727e469a7a100f7410af44e4566a6b2d1e51e7692f1e0023027c31d34330900be82e3bb3f9725fcf54d757d84ac7f39038e19aeae8823d0e3d9b4e9c0af9d98634510f83349c43cad7da3807491a88842a4c29bd9c78e647be78a6eb3a2e42478376c82d589448a6bfc5f24a53c011b46d014890c010814e5b014aabf21dd42e838a445e710b6e91400b068a9d67fe4a7e2f428fb77ce7f3c0e6065c240f807acee413618d0a1ed80f1aca101c0a43410ccaea614f33c17764b36dd216005f75257d3addb324bd2e477675f6c624e10c4faf1bb844301ca57225aeeb25f3428248ff5d91e1f593a60eda70e415625e1baf1c5cd77b4e7b370266e4b420095ab328b550a1848c8e5aa2a4e07ce7392ce6e8988bfac7688b64785b0a59dca2414426fd8e2bd0e64b6aa016928947b36d864f705c19d4c7399eaf21341e5c180062e306b9498a03a53f361a5f20346eba4f140fc2e8360e563e8def289557c04334f11b1539f3ab3051c111d2ee313855fcf83e7ba734261f60cc1d3190d085d390f1f4744ba6bf473b13cd692520022104c9de519bb2cb928a0cc78b0a9061fb4cc67e82e0b6b05a44aa8f543a9ba395de0fd54aabb6d57e59a484e0d5a73cb5e1057be72b900a6c044425d606836c9408cc474b70526f4f1f058f250e47b678ed54c8722677c40df732de921bf7cd51fee8b99e2d0c35144e12a487d2c4d1903fe0892b14635acc9b7db77babfa19f421ac6e1b7c5c3cef3e940a68988e9b08eba2a9cd41d15bfd45c1081243f07488826bdc3169229e13ab9286a3498479b9bc855be89d235bc95a787b85079b3078e1d85c08aedbde652ff93e4ef90c1ee19c40970a819138ede507ff150b1245525cef8b963a44474abe7d3e08ef8a4c7b63fbd47e1c641dc6f75c12696c88a874d8323e0a99d069228e81d3b3822cb8fd16cfa556dc54121e26439a9963275a1439ea70989ec159a4d291ba9dce3e9a692107e1aef30c1176648fcc32e46bbbc1e56911161d930bd9a6310dd524fc28a78747ae2adfdf494d5e54f8b2d3b2b525a6538166d3c991a9c702665411afc0c502a37f3ac57b63132435f5ad3c3fc7ecf3536b0cb5eccffa7569051d6af18c4b22c20d663fd6bd9172cee76d4cbc2c1487db2518cb6884c65ab2d1e2f55af190be30c310dcbca653dc927eeb13166248840eae4a342df38d3b0a910ca87fb0d7079ecc41d3241649a884a937f74dc8874abe878c7b6f2520029b9451ff20b79f893edde036e2cb4cd68312e9a86a96200ca7d1fd41294b62e3ddb0ee0112871a493d635aad972ff31db3e4ececfefec05cf055fcf98967aeb456588bbde1fb98b33d605fd31e41c69e8d720105af627fcfd04e3ee5f44bc702dae2e28238677454ef3e9de365150b749767037458c6829cb73fe996be6c9d0d3818182991f5dd7c2e7b71d9a6f7fe6d26a090c7161eb6bcd19b0cdd39e9d4dd8160f26a1574a99955502ae896ae71670ed088a18fc7e24f93279f2c943c6b1b974e22c0e270b5f7458c366be17a7fe7ac7f09125c1012232a99ea92e1b7f78222f00dc81ed47e66dbb765be6ba7910e516e897a4f5e278c8013cfa7db3792b98a609d4abcc44e9b80cf6d0575ac7ca415dc9a0a808de7ac77b29a2281ce6ae1c371b71525786bbad4cfbfbcca2fa4664210e211e0afb6f3775a7205245633e1f795c11a337566f721b5e60cf48d385b0e2bf08a192f6fd734e85e0177cd9530e5173098d5574945338fa210f0554a131f9435f283138d0213119c779cb394d6682c5189ebf1e12bb2cf9028015191bf7fc5c039afcfde213c0f7815bd42a0718cc88b5b28a22cb1adb7b2bc18c9331953116c95bad0dc28f81cf3c71accbeb8c3424e3b7aaeef2ab0b3295e552715834f2ed7ff7027489e3bfed716da54e4e5feb7aa906f630c7e1999d8dd80a5aee92613f6472c5918c33309dfff0c9d25d0e3f7ef2472112537ed8692f11448c4f0db6261bf87664bef0f0e07c2926bb70857ae7ce55b607817745e58fa8ccc535aed2ac46a4c7ffd6f1950fed115f99cd83926ef830099f51a3e3a314bface05722123e56f6dbc4adf70026938d428f6ccb4f8c767640a78338f4dfe17b9fddb71d6ed20adfb686690fc046ca6dcbec40f29c1595971efc08a27534b4f7d4ded526820db7feb8924a0280d54f81c7e9289d7b46d048557c85baf2621b3454fe2023d1517a3362b710d741650be35773fe97055d529846373cd272157df3f364e761d55bbe69ba3a126a8f45fd57c63122feaeef9be5450e717eb2e63bcb15c6420534c3533c37018453abb646dd86ee1f7cff092a8c1f29f6f526889fe860e526c4d028913955731134a920f14f5b0cfd3f6b99071dbfcff7dd79875291a1c2143b05f437f309242b2ce7def339982060af8c28b7c5ab69434dd0349058fbcf5384781bbd79b1e61417e1c67c5b50f19ca3b7033514fbcf1e01ed1f1d2b210827bbe5cc2e80d85ad35a0af0e6f6f42fc008985f04f75fe822fbd5b4441b90f2e92b85a507df26bd0575c6226c4babf7fe575e83bf370565231848d07a58d96e13d179953e4742bf87390beb451e80271f7caf06bc49b58b1d7096556bcf6e639262d12368290561ea846d31491b76ecf80a1329bc60d5b7302d8e5396b24c2fdd8efb215c94017870ac0a5f27d0accc9a0335de1157b4c564684039fbd7323719c314053909efd16f60f0609b12369935b23a79729a4238db1999f72581d15da0ec60b5f34e64debdfa4687f11a8646ad5fb27ea8041629d4a432e56ae2be295c56d25128652e837d4d1cda77302ab38fdc32e68bc40abed8094f5d7710882f9d0309758b9d4517c040f44680f061b08f807d9779408a9a4e1f0f4918a1493dbfd157cbe5dd3cdd824211dbe1c8d3d5556286ab0e08bbc28124546523a0491d2f5a7466b565cad4d87de29a834b3a71841e849763297748d0ff1208e1f4e4ea98a60b16080d6fc893724a2a0da48a12f8f92730f2024b107e9f03b651f8a82a8f08fcb1b4078167773e8d54af08d1e92d5d992c02e49e53c468c207025486e0875ab52557bbc3d4e467fe0ba837d8a44fd01a7cb8fdeee80a07d0e5c9973a2270a792ece0e195063645cf3646e615f341289dc39b7373bb5202531a64e469d2b3078398afcb91a042428c408018fdfcb1c7225dd35827247c97f0d719558f58b6404280260a91484b1b254daf0ce6310a121f3b49d5717a4c9b6a7620ff71099296c72d070d6fe697c445a929063f2868e742113e8830c6bf53a8fd5b12705112d1d8aee514a948576cf8754750161bd6ae36d55e8a32a83c7f927dfb8c50339482aaf0b547def5faaf4b760050347c560e079585ae2bc2565be849c5b11f26d0bc5b473459155f573bef1ace545e5e72f8c8cd7e22cb7e34bb147163ff30436ed150d1784fb6e9c558bc93644d446c3e55135aff53e7c904afaf296d1b860db55c3853c1e3988377c7d0069f81487378d4c62fa5b47fd951157f8cf08fd5361113c152fadbe92c173d5959d5e71492fe52502b9a4036fd9d23a5172f1a6e0ada8d21e5b7206f7d2f07a8887b736a9156abd0491f32c79aadfd5bb888d9dd7e0ca5a5807026795e00fcce119a0ff64516ff81848debaa70cb0d63a173e40bb4e11d3f0ad7130d92fd239df7bc09ec55fef6c2546b8481f573db8b0b5048daeddfee9a8bd97120bb68c1d97b22e125dc715ad24a732ce740d4334e0ea00b17cb8317e8c4a8d3e7b70eb8a13b0eef50690c9be8e20c0221e65da9073716e71c7707b8a687bb0023a8de027dc7ccf084b358a5dc2a8765f1c906b070e67e26d4539739b14e6e705d82aadf78e463cd97fc37d6060e79bb668b59616a7c22b28aca50e0f5f1544e964f3c22bff85b56204e9d74a5ee6bff9afded733d6cea4060d57041bfd04485935dc2efe61620f6f997440ba126192ab59779baa1415308eda4861cba3712eb5b6d062c2bcbf28c2d6becd7462982eb5f5f6b9165dab37093063cf38cbf9f9810641a10669b83b594cde02eddb6e95f69f972f04cf291074c44ef1d116d5a42f5b5381db65f123cd7247b18c17e1166a89b8680337068e293cdebde8dbf74996c5c39e4b0817725ba2cd19b0c230527d01aad6d229082700f150db7a2b108d4ddeded1a32dbdf3b3f759788a62459a8d6265fb83b9e3d8fe90fd598e10ce8225663b2af19870d3899c6eabd41eea11b97278200dbb70c275f1ff9e0a497093bde99ff16d1b532626168f2dd058c9d7ac332836763210bb51071b7578b8796d701981c51c2400a9ca333c5fe4afb14d9e666248af6cda2afdfb6b2d47c78419e2fd2e57148fe883ebd543935d755cedb7dd4f0ed5d1084ffaac96fca3f41768e9aec96de7908edd4ae4fea72731e83ae255545ff16e7023dd5033a64808022be5cb6368ae30e56dcf4ff2ce064fb2bd122b5f426de041a8f7c6d05036801f5c934371e3cdfbbe71b1f8b1bdf92484c4041cc404566b88f27fff5893de4d81ab9d575b1bf15495722ea3dba4993578083e2ef208d7ecff281880ef188a3052f83740596694a14942dcb6099865f39df79fa648543990e07c3455e0fc7c5ac8ab2fccf1726bd0c2b30926f6411a0f8331368e3797c25bde38ce25e24b6c9490ac11070f45427517f8ca91279e2ca2d61a01922120c3e901bc9d73791cf085795918ae178da6b71c82355224f959d653516785e0ec1e731483aeceb240c939b98d08584229478212b48c7331857acfabfb8edfe8257be54026c08f90c6784ee83f3b92384173b3e80400b414b0a77a2293f5429c7187dad6a7e980fff478d5ec9d2807670de163bcfe76e5a0712a45cbf3f28535c2f372d9e9fd464fade200c56e1fc80a40c4479eef8d9fbfecbae76a269ebe0f5b93fea7cdd9ab8ca706c9e68f05afb66b1ac6a656d5d58c54fa6f6041c92fa404a5cc1e3996f984ad1b70ab440d1b0689aef879caa74642aa1afa363e7b20843e39f2f244b6420cd916dec2d54b01a0f95b819c8afe2e39c07684ff057d4d3ecfb363c1a35c6c417d2441fd87e6bce0eef4aadaf3fa40e95bacc40b31bb1c0a9e55a3b2f300520eb9954a35b031dd0367d4f58cdbc8fda119e23c55845d79cb6b5b7ce94cfb667f037faece02c71fd7ee36f51e4d5679565b22d60af6a8fc745a225dbbd609ae6a3efc9466b9efbf70eb9f9a57d2cacb2ee2d7b9f17485384019ac03c845ce4bea941acdae137285746d04a2651efc20b53be110fc32fe2ec1b22409965c50540e360b0dd4dfd174dcc52ee6a976f18e41b783855798bea655790785112938da725a81aadb117a7f1a0ef744a262dbb73b598d52096e1e513aa022e1e1271804884d3f436297aca35eedb98d893183f0e1e8854198d913e839aad73c92d95d27788857c3f6ad154277e21d288660acc61d252a3f0b7515c28b633c9d0c6351bbcd6d7089a76b8adaa0a5e39b32744bc7ec63555ffb8466e5fd807c5ce564c981cd2ea14702923aa444910a9e4993cad13026b5c58853be223a055cb527b312ddac88cf81dd2633669607327c8918eb45bb1264e32df68b702ab0de1b2a413d39ab8198a849da55f023df8402dcbe72b21530a0ea1be46bb8cf3ffa0af1b6d99871c15cd9bed6b61fce0c0e8e3e75aa9b9020d97478ad40a2c2b7111a9471cd37faf254f712556cc7628d391d8c0fb70f4e04458c3a2ba04b67e58ee8adc2817868e58d3530520bdee49655a7a884fa10035b04c4ac31f1e97d8ac7bee602b14d51628075a072fd6950a35bcfb49d18b3b207b640a3e457a2839cb2759f9a062f691828beed49c69d6f022184edd1b0ae737894bf8adcc93b7fe912fae9a35dcadcea429664787aec0e01858daad38514c8d0df521407e2ac94206bf6a7e2fedd5f45764d9e2829dd3fc3c53f50a37f0f1b558bf366dbf2a97e281bc2ab3fd141f15784250940bbfd7b22c133eb8ac10721e904c09d54c2a379798d7b9e2fa555cbb6b7de640cdef2c2e7bbc521af83a1760d1434fbebdf2808acbb8363b2c6438680ca31227c843462809b622ba05fc1cf896b60228efd6049ba21c95ded7c0127f20aeaf67ef5571e0ae7e2205565b30489d37bc76d80750bf2ffd774cfc250331509c3467ecb05ff1395d3b3100ec59ea73d9ea8909e0371738494f143d8ecca71ba74a106c466c7d994a9481d730cca7bc90d5da2b4ed6f62ab4167ba657123e18249d3437c8423452f45bc53155339037e0e4d658ff9cc8d32ac0838e143166a7ddf7dac4d680afe37b0a5a717250f55225ed04d8824ab5b6a08fcef3574ead6916e55fc77bcbab115b1e2377a2d1d0f61f019193609707796f0a3639989b9ad8741438a2072872b2d1e0eec07e74810c294739f26bf928b00d3b15c07b721c4af8f575e86f610a90a8b0dd86a4c3de74db5ae07d492c258d2bb0e0de7c61910d1cc82b2688215c939d50ec9a9ef51b4174301d4afa485e20f0f0d8f7d25b7caeda7d84edfc7a2471532fd630002a48cd664ac15bb4e881e83bab0743dc454f3025257851b23969da4a7b61cedbc32eff90594ab266892cf01358e9a6b2f784dedd8197a3964887d7c20ccc70f7dd4e29a6c4ad1f7773283e7098ea796e2a25f9d216a3f33213133651ba08a3e7101b0fdc4cdf7f7a6ade9f738e19c50c55d526523b05999738e65cac5b4fc11a0be2bc687e1c43994782a86285e8eb228fe9fbf8a7c9edd17c1a08f9ec4879e472a27a5228ccebd886530c60832756064013ef8ce42e79869d12913f312a6e2c054b5a1d72bacf0d3a1ead201fabbbaf0d0879e50768ad431e2baa7267f560b8d21f2bfcfc5bbdd3b1dfb46346de04cac1727dd7c90e74a0910c6947ef0c3c6cf93c19242834809cc9ae77d9e53dfdff8ace8d006bbbf934b6623a623336b32e79072538aae331e092b38093b1f060fd6af3b4527bfbb24f964d6ef3f543f94ec83b45061f806090b4f47c473be24f653fe46e75ee9669edb23b36071d334ee2c4a7e42ddbdee78014cd54a24ac287981db7cab7ff71ef62d8e94f60f4a37025f527e1b86a0d37df897adc2d37b007145fe2cccfda2758501819b053f687c530b3d6cc9cec88af15b061f473f9ab450725de36a2a1cab758a3a0c07aa81bbdcad566599202948f867fa5b3ac5c68f6a0474af2c92441c421bde8a0dbeec758c542048fa109e3d3b84dd8d00a9292c2133ade3f3d8f9b1fcde4818219878e03c0c7ed386cfb53caf7b9b7217ca1b878f15b9191a5d9f84fc0849658bdc5b7c7e63c1b5954b976d24bd4c294285439c677b299e54d32f3e14aa84b5ebd493738d8de7b5018d248e8fa09840be6b519bc2a485a23575a3290351990af03b8596c7f2b31d800a3f55723fad316f21e00fb0f395c08b09a8b2d1526e8be4bbb44da550c5b556949ee5f7f319898b9198822d4f012e05dab34b83068ecaa85b66be6705d0083eb8d07fa0177415ce9cdaa49b4609f4a1a35edb12a67df970353c700be08e916a26026a879d16d55bb78dde337e45e87384075c512422a0ca1064d553ea7252e9acc8afc4b90b16f9bffb4121457d70ea98f883224aee65f1f3671f7ed908a0b904260fb6122688c3ed7d60762f55bca4b94b032185a1c6a40ecb1347a6a52d9c51dfc67b659a468eae725b60b83ce2c445a55330474ab413e7bdc74172e89605b5b96b8fb386f5009a5b030b940466e9bd4dc6ac0dc536fd967dab1b8c568e7c29186cc311ab3782bf4187808ab5b768de13ea1a7f56ab99c24402275751a035bae3e63afa2f75c26a53504c0233da74424d6ab6c5a5ed1f44b0a38b24b32d0571d0dcc4dbe94a14e9031f116ea81ee4fcb0ff2f6b965a6baea3f26f37a95208d9f27dc978b3ab0e66d5568f19a143f484e9ed4ca62a79e36ff2047190cd7c9a45b18bd387d5a4bb7e8212c7c81a5f9fa4c3a3ef5fa12e734f5d5ea04d8009ebd7cb74ae6d10325336ed86567abf45850ca9cb61cc81fc35e1524067b7b86883b5894449278166466dee8821acf5f5c3195c2dc60ba8284c2724250dd3267fd5c0f67a1ab3d7cd693315dd24a9261fc0fa2eb467f9660eab90763deb989f6e78f5ff98ec8ab4ce17287514dddc6b765423bc98837faa26bc120f2cbcfbf5a7a6c0c9c861e3d61e20c114ad936225ec300c2a89b626ce03a269ab9829472310fcb517b1399f1079c7017fbe075dc43e4a773a9f684ac8db345ecdb80400753aa0309386551562e4f2b5b201b67b5f6767d64c87d2779aadff9731fd5621024daa7f5dafda889747b45326ed154aef4b620f6b14de562669c804a7af013c7306687a3863b4487f44f45e9147a5e4621bbadd670720f3fd680f1d7ea3459f0bb5c0f953fdcac3853bb2eaaac05764b3333b3b134a94299e4c484e8872eace01c13c681f0d07b243650a14d7d05f939750f1dec269c1cb61c22c006c57c868abb423e80d245267e7b020745c7128ef40aa4d6982b47d6aa20ea34270f9e732e6147857197d32903c734f8823bf1d3c9d115188d5a6f31f69e891a7a2496688230f1c64c9fb8a2f643d319e8fe2e738fe27f29b323d5add9c0291034f76c9a940ca5d9ba4d14eee2ab05a39c0546ec215ef5986ababc92f0f3256e6dc7a5c3acdde26b8ae045b4b1281b701025dc0b584446b77df81f98f3c4b93769a311edd3661cc4ea5e4f536ad100c534584abb50435ac86b99c88ec0894d7a36e6c6fbdf2db660220b83450313159145ebb3afb9106065bc2be296c9b6d9bc94c67ae1e242159e946df0186a5a3b7045e3af194ea2cdc952b1dddf7d81996e10f5ec5abfa9f72f2a4048df588a3d8aa3ecb95bd97108d14d39ca581b4200f4eee7813828f7d464191a252c2e95b9d701e77c08ba92e6166e20ca356b19e485cbcb069f5eb8b8f98af64881a50accaea1503ae7de3d8a4f2041e8dc378a580503f57f8eb2dc689ebfa924c3548ae6f9c82d3b4d1362a5b2acc6b80780f73bdb32f84652a9353370d9214f90ce55400c55d8eba7d60505e4460d947b8642075b919f57db9eda67330085a5064ec4e08ac1c0ca73ad404655f052bae001b989cb6871e1da0f72c8c80d4c50c841ed775a75a481c297fd59190b3520c552fc7b626387eee8d61a4f9c87eb331abb2268c6e59e99046eede324874bd5927d15297d90c2e60e7a2d6105e7e1dfcaec25ed77669703cd7eb5f46239ed718ad3ed4dd09b53cae5fce755ebb1852e22c16db491a2309e2d2c1b67550256b6a2f381dcca8a977132567a304bdc7256bbd49d97748f22ac258fce496ce05c27a09ab03dbbdfdc967e96c71d1dde66017ba2f17343bbee8897419db12494583e7373e8ada8b0305e9b3da865bb1393e42504eab86ec0e7945076601cf258db67ed0a7d813c76bef1861c3ecc93839c44510a63f83e18fe59f7220dfad645b07d90cd7d6de06e25983baea3fa7d7359c77b5831d9759c6b5fb1ac4394d86af3111c167b76881b8dac15c02e073f6a9a7d8970ce9a5a03c52949d46198dbb06a2416835aa120daa78d55cab8536084cd466d79aa1573cdb0c23f1fc748b3c53ec4c6325d27b1bd53f080d0ee02b3f5318d1d064dd6e4c1e49cf4e4026185814c5903cf2e513b95ddde811bb356a9c87e5fcd6ff514f51cbeb6e90d510a4e4557adc6acc7968b11f7b2e99a27c401c0c2444fea22d258f26da63b00c167c99ce85ee7bc6c44dadcfb8a26525922f484df3b553a1f203bb54d80279fd3e9bbe83f3066311cb480355967ee5e5502ad67f973e8b8945de1e15002aee4e8c04c39535dbf0bcf3a592bd8a29aa837569dfdb0df0f6a0bb72f13246b29e554aca257ccaae28674799945901f4c934aa0436bfb31ecbeb15b27f8738fcceec407242a37ec5eb37d3357f1f4e6259c4c46d37da9898ba3547f953646049f89fa16350e759fd2fab442b63d4c20d6db59fb0d8ee3ab4ce5126b69696916d03ecb7313b9821ad95a70112cc3105a061ef14f375bfc9856e4780bc0ba2a65308a5b9f89a6727033eeaa2accd84891a04fb3507f19ff5aba425744b38e7a111689ca9c8971c3cdd8ea2f4c6bd853c5dd4f58c971b63c40284b151e7890722c23d6513338568bd2509294ca8c3b98a21f21a146510d4ae8788315d9b201ba78a0099f205be89fb6dde595da25349f5e1e52e74e0ce82437d9d886dabf9e5150cecb950af74def85df6d885678b9fa094920791e01a15c4453e7df4d12d99d6c68f27bec5d948937e23bffb4a83e656afef87a9b02015e3742e558c2e8630e446efe7a48b1b23997c0025839d3046f729c4971fab95cfdd904394b17db927e292b20398664f7d3a21249ff4a311816514e7807f7f860ebd9d1f72b5b5ab4980eb09a9d3b7024f428c762f42fb5d671766cda8873a2988488bdfeda2892943302616783ea6dda59544ad96363f502845e5624eb11e3760fe1f8b0bce509b6617caddeac7a9c7d48366e284f5d899a3491a6d6e493591efccc32e70e61b844785346e1d68b4a2febb59a6d3846d83c7b5765f1f2f0df7f68fb79934140bd5503a53eb9a09925d7e8d31518f156bedf0a0d137b991e470278f80e3c639de18ad7823e81ddc6a1b57030d9d1afcec8201de301958659e0b4380635c5e03fe07a2a7f2384428b6b037c45213dcf2d63d4f43d4cf3bb011160c32786df1082d51cfbd007032e20b4c4c735ad1187677b2563ec04fb5527b7dd37e11c159fd222773fbc0b07518251886a1b399460a51e1d1c47594b5c3c1faf3046fdcb0a2aa79bff570918215b4d0d7f2cba69bfd88ea299d058cd4cc4a66b12f688fde4af65885c4facc875b765d6e7746d8ed3f7bb98002002a33b3abdf44410987c9f518d979f306c18ba06b7aa3e1ed009d79e6dbf3c3e14ec764ae64d06780e5a89ea101969b52881db9ae1b36b09fb9c7729aed078dd788ec9edc9c6654c73693fba557b6edec08018e46cbba7fdc675df46c9f39d8dc46a593b9c6cd30e6c6b54f986e556594652d46ec788d4baab1a67f9666581f7dedbce310689357cc82559683f2bbdac0ac1b95859ea089fccebb44d6c378e7a82d074faaeab4a2eba64d6b6a5c677a28789ed7eacfd72ab65661df0976dcd5af4f12c4225af1b5bdc33338bc13ca806468db8531497a287b18e0171ae9d08931da019d1be72d5c3387345c684315f5b223dce828da1eb5b78d1d927b6fe78b0c649b885312e063c10a004b6e454d00a06183c9ac45dcc697149a51b0b16b4d5b3dd4dd6dcd6344859ea957ff46161a2e290d67a5dbf2d20bd85164b07636274122d48b76f73242363312b9c1669b33d55ce0ddc73972bc97b22cb1313046fb7ed972f7723dfc42d07ccdd006c070299ba21bb07064a3942c177d0550053c23063d1854cbd5e96d702ec75d3af24ec5561d2665465b0ce31da9047ed9bed0f34213975a4a188ec24eced68babe4c47e84b8a834e78e07eca2754516adad3573642470430536189b93f1b1723de6a1b17792ba8526859d11165d9e5085c974648229b8d296ca5c8443819497ca98e8812b074ebc04815506f0834bba6b61119c985857cdec12d63106a86d73e30b8d4b206a65426541fe3b323c60f8353f75b49bbee3906a229573dbc50fab3685db6c544a28a1999d02226a58095778f7076b671527ebe69480e663d0cee69975412d9fba3db65cd74c742d7f09f33facf4850f8fb93c3e09dab5fabe240d6a8f7de46dc7d9ae6344ba29be9d399ddd69dfc797a36c8a514f8deaa38fbc3802c1e0db6fb90a063caaeef95ac30e6bee413f88c97be438f4f18c8f07a5dbb8e8039979c4c1607f461e866202d4cab80a88defb3359627eb78f607d3bfd978d1179c30333227702df433c22833dc0b7cd86ecf175df0e557258beecc3b15e685899c8179111c78e522e64891d56651cea25e40c93f79e608b22710ed25a29ec32397f405e35e37f62099640da0d88983e342997cf4b882e58dc445217e797766a92fd7387d2d0d9d303455d13c2e1ae7165f15ba38946ef7593d3c7b05002e7b61a2803edd6227b3b102c81fa34376fe451d35aaf0b87959b2365ecfa55061c1655b3010c6c32c1e04d1e8f4738edf5907ebac3f858d951dd4b49bbf5d9b2b5081ff04e52b4d725804a6467be76e7dd848fd8d7d09bb93ec75794777e23b056f90b4b658d5f7fa6092aee77112328d9ea4adc6e95831b30108f5a3b3933c2315e77084dbcf140f59d2ec7f091928b6a1bc410ad88f433364bfe6b9c9c57ec57c969c1b92779c7d99ddc91d88801ceb8ae35cf1949c70e40441f7ef20bb9f581eada5149e94ac30a1e640020d90e6b4e7d0c6adc391ff8304b39c00917ecc59c3a660cfc225e424e6338eb58dd455035e698f3a2327ea13403a552df2c7fd6e278dd3621114e1e0264a0b5d9264df9d5eace60c8f2dd9b35277fa55da4c6cb8dbeee962df478545066fb9007a2d4d25a335be3c2910e406fe9753851af2f5b1e06bbefea4f9d304631170b1ffa007f865912129ac67966827035d5a34b4362f8a3156a56e298cb995386ce77a6446e42e75d6bb306d580aeafe22f203cb93c6deff76bf6c5d186dd6d84a7686157cf829929e358b033a53340fbece765761312aabcf80659d6085649b0eb5a83bc59cbd63eff69edc65dd7e7274c896121f4a625560933a9341d3356af6e4fe2bed876fcc3a8841debe325a48a21bbffb5ac65e4da9aa1793f2daa6a1b1242ba9fb6d3099bd3c8561aaa989638067623db04b16cae97266ee7e591f86364f0d813214425f7ed1b4ec28393f286ec1a8c05c492674fdfb7e04716b05dbb10c6efe6790138468102d48e0becec9d206579da10ea3acfa09545374f1218fea56a27181b44612f4d1b6ce83bc9ea3cdc006c464c4b571de437a54a75b06a84fb03767e21ef56388c50eca5eb14f7f0b0a1ae37323e8bd4aa0714dffc8319646f3fca21d3860bf21ec69c04677d217a0a855ef93d9a44c85ff29736ab732bf46bb1c1453f9caa31863e54fbf773057dbf398d46f544df92b19d9e98cfee4ec8fc7888ed4882624c0e6a13d726710a0c957981928522dacee8478200408a0cee5fba18cfa23b62d46abaae93c0bad7e4a0fa4d0504b4d097242cd730c35930b55b030c12299228e0bbd75d0f5879efbaea0234793fa77dece92646efe6adb6f5f9832a4afa6b8ff974fccdd54aa0e1b6a6430508a558fd263ead90eaf70bef262e4d5d63c2dd6e2f68a047114578ed48de852fcc02fae4c07dada7ef03fa89a6cde1cc85720506abd087412e54706bd9a98d325f8f14873a1031905572726e27e105b5d2dcbd8717f1ea554dac6095277f818db74817505ceb1a97b6e29eeda6d785ed04db2bc3aa3b53d9367a4edb5581e601749f4136ac24fdd6c5c1de451db7e3f99cdf71d476fdecb8a90ac6ce663469fe5bb72b6b3c179a68ef35fa5a7e9e031ad9f886b842a92781dac8722e7976a8d61273f656dde9aaa657eb3a9f7b46b965cb1b229a9c2ff859b364767384f088bad6c847f7afe0a9e07a9328d8a02b3bfd2a17ad17c8fd1f27ae14cc7962219033190f6f8ce971ce9a28b61196aa9984319034dea808d3714b217d10419221410c28ae73f809f323b08d8f2a1551714cbe2f6c3a33360b4ed179cc62fa7ecda27a462552cd740e1409181cbaae1f705704e1aa9fb82a5fcc372b8ecd3d9a5edadf0aa974318554997754187f68b4311da2bf19320b8d891a404d025b84532108854fe0b02fee7be12bdbe7098807411c125b19b550a86634bc3bdaff0dd92738fe5a453048a1b29995fc6b8fca42f5238e2f0b1b9eadd7a46e89b45d2d887dcf1e86c7a8ba2b4b84b20e86da4a6d1568f22de9d37cc3c31dd8dc9e14fbdb1d7d986497668deaeab8f8792ca633ccadedd4a28883aeef6532d6e4dc8c91c26b7d4ae4c1384bd8e1c86ad755da1a7e222da5b9a2f76fcb01205237a84270f6369e4f303aea62402fab80d45bcea168a66acfb7f84e7512141243bd9cae6c920ed3b850be3597fb4a869a3ca0c1c8d28bc4743626cf9aa07c542d7424154d861b1a79ab6a8c085cf66a4555d7e1eb676c262bccd85ad32fd3a64ea715ff4841e90e996b10fc16667946dc0d9a272afaa4640262e0040b2322ec141e0459fac9a31d8b7d5586f7e36c1c4b0c18929335de01ea57bce2829259519a0648efe6374f244c4b9c8a40958faeed6957477f856f24cbb5d35a0a71b2ef04a8d5f98ef9f508f30712d73b0ef35e56d304d56e02f86571806e3e70f108971c31e7111a91f40cc525faa8b7544110546e79640ac957125fd1ebd24b6e499ff4ec2dd04cd9a36af571fb76511f0a7d6a9b230f532876c0a7a6e5a3c864117009b28c4face77fdd4aa12a12a8041f3ddf2c0cd7a5bd216c7f044769d032f6c15ddff2277bff0ca430dbaac86d3aed4e2f6ea05c453d166b3c37d478019df6c1bf47f4904f63d7871a7a4a41bc5e318b79b4ce9e4e1a1f2dabe2fb0126a6ebbd4f35d64d12c98bf1a2ba91f41344f893548302dcae6d35db3a7d404e282fd99c627ee802a00febf421e22f85b30dd5c82c1ffd66506a8a17dff60cf5f869164683ed1cc4263a975d8ceeba6588a75ed48b327ef20cb83c12704699ed21419e260bd892e7ef0966c74b2372798fc80a5524fc1c671d919df0e1707182d31209ace45943b084d4568664db2c33d9fece06f8496bacd03d884213c2f9f866ed7acc333f4c6392dd1247683ee6b6a1d08e783072f208e4a3b4baa46b3ef1ddb249cf9d25e3a1b6b45d7acbcc2915342baac40f492d9ecd58c4711d2fb619dd5a0223844d24f4fadf414f9109bcde02a25c58428a700e6faa7985e8e38acf76cd579074f5b4e7a755d9fa786b2308b0e8d13ab3199a6f4689a7ef1d865eccb6fc53486f5da7e94b282c97bdbeb89199aafb079a4922ea57250b2670d305c20b195ad42dc259d05b0b94996907cfbc30543c97a41ea437f048291719155b465853e9ea4a22f4d96368e1054810cac8119d15959a58cce1ec01f122ce71caa8f2234a130e180b13e36c3d51bc705ad24c2b1486588e589d677dadd58b66a395a72023f5a876cb0db4757b9f955db59981c329b4b75efbd1803456c302b9d36538e7ee56e36d3a7e5573cf62f00a214bb44529750e34335a88cb89b2920f4b85610a01070c32d4d52b62922beca99c00ed580aadac934ee17ccf3bae296d2066e1f67b86f2e711df55e9bb535e505a00544e9ad91104ff22b528863b74b7ca92fcbd2861ee593d049fa45d71e448bbd662e3b72286d1702fe7325386624a93eae9f9acac1e57453c7ba05e197d42f0387f4b8a879572fec914f08b107fdd42f0502e727512ca48b9769936bcafc385dec21de33312189d9d08c8080453a4ee6b0f872f57bfea08949cba74411faa5c9e612ec6e189566a05c031772b3e75ca940247322ac6d6754a6cde2d913eac39976bab725fd981eb2c6f6437d1c64a066d676702485335d5926e80c130984c99a75c025ed16934108624783e86000f9396ac3b8c75d182d8180011a0e2869b60055f55eab69c9d36ea35144e2aa0b69cd134d9a068e208266d0e0c483470b3ea8419fd18ba993e0fe77a184e305a135b674196e4cea25f3bb5c8fc79ef13a2a5461b849bd839148b994c9511f9f2f6ddee9d3d00fa475cd3f55813edcfb1955febc33300520483d38a0c017674faee028f665e0d78875fa657c62f7b69f4af504fb9dd28e6ba6e4cc307e2dbf153a15d335f462b22162402b53b0d6cf5ff0f97114996171749d6e99803da19bc7612b334fe01388a3449686d8f545ab09830c6b87d8bbfe63283c90c9e55333f5118c18ee1a1605dcc51498651ad65daaafbc07226b111c996cda80d2101faf0cecba6eb290be6d35152e3f7ad587bcf2f3cf284e69a96e0311a8b3ee89387409c640f3f2e670dcddaf9f9891391316cdbfad63e9ccfdac04b875795182fa2bfcd925cb419d572671ad26e42c2f51fd95186f8c8f181f292b1ac0f22497ef93c589f2f848d713154db03b71f1b23e6991e6d7f1496150394c6b38a98ef17138c99cd7a810d458db4835194257a547e5f12fc53ecbc3b9054142ba35afd65a10bf08a4e7f4e7060db4701ba9b17f9a7acdb42e614954a7c1ea480b0ef27ba83a9308f42597b9808c99472cd726c689082ddf0972b7657fc232b9674dfb4978558a9cbcf8c66384501375ac5458f5f71976ae10c17da738e5208e120dc8be85f9b71b92f129570c89a678e0903954be5426668cfe524b9471889a4a4c5ee666994c4e93ccaec0d86d5a7370f7725793c1f591a2f87e7fd0b2c60d3352ec1581cb4f5b839c4710642bf76c231e022432d8075d0b576a1aa04f3f6a551d42bbdf9ad720b79dca81b1dcbd5bb901c8e1ffe27f143498d2183130c2497235e6db47e6775edc4a9748abc8435af1d0a13e9a8dacd85ff75070c242f4095e36d9957e6450fa40a75917efc7e31992a7daa08b0f02d1a8265583603ae8ff8238f2bab075567edb2f47ad18a25386274b5e70e35702c380baa61aff5ac6a7b494752ae1252ba12009496360cd1d002c186b53c257cbcc19fc081ecb38248a8312ea53894a8b6c9c638520d5add4b20490adf4c62e2ee2b36c7a622c060b7af7fddff1b62d55dd072cfeebe9c5a3eaa7b9d73368fa022b431789a09647df07c15fa1813694a6e8a71fd2bc857fc7c210f790031f72cffc451ccc2d7f325243be171237b6d0a16f3c69eda47c0fd7f73900ac1cfc1a79ddeca5f353931e252887b2efe169bcb89fa5dd8fbaf84238d6d276179d3660f757855618f6ddfefdcaf0ee8380323630be4a5d6a52ae445276fa897da5f39aaf47db1ce6b0bf77a632c5c09d5ed9e92a5bae4699eba8f93f9028c1db1f12007d9e2583e3bb7b2b605d5a706c337af8923e82519413c8d8e39efa15e97d119782fa4f3ce1681854fb3a848c11a3bd512363f361c9c569897701c1196d7cd13583ad62fc766a0a61cc705e200e7fd93fd8b04f553539dc610af05dc1d9ea145082005d1af08eb2a783ccf203249443d682e12c47ef7044b3464aa32568144cbfa5c57b638c402da6faaa109533ede82e9f2764c76a1718b4e0ecf362c92d4428670056f4a6302a9e9fdc187142cec993c5c075f608d963f38530a92d3b2b1448985c6f783d735c7cc9ac8aa324cb75ab8dcc35fe8a0fa8c0c8bace6d675fde6c6ee92ddb195215a8a5d20403a2604b668216eced41a11fd6efa0fc0734bc0f25070977791e563d09b63eee597407bb499bb8ec25843242393515bf346a756c643e738ec0c76b697185efceae31e56440df9f43343107366a30a6bb689ec78ead4c46ddbe46fbbcc6b1d59b6060cc062ddb04660bf140c8de1f929df7b54b08956c3cb33aaeff5965fe6fef9f95d4a33d448a3ade9e2f1c8deacb64693a7fdaf78070129c84ea3a57495f3ffe887556dbff1aa1c0dbaafb43047b782903bee53b6de099ad0d12d9da80a37fc01582a0e41aa29ba2933573f729fc6933bc1983df6cfff45adb9483cbb647ac80503d9ccc25441b01c1390d72f06f9f59d0237d85034e87daf71bd62a463b09b29ce866351b3c5d29db25a2b672f48acb8c34688768b56c79518fa170638be2c2d1c666ba61910775be5e162e181f83aef5ad550c949d0087d0479142937cfcb0207da5d20d2945813d3f781507682ad855b3741968d598136bc4cde248ee988e4ca1b96b784f3408545a1d7c1dbe9eb57daa4854840cf2502107e6623be2411b0b341ecf3e589a03214f2f60f5933c9056ebd0dfe544eaf0729a3c283a93520a5d4a2f5e6f2908686865438e3d1f4cfff06a5354909b6dc34ae566a6fe800525afbafa48c649bf937dd6a5123a70b1a623ad31b616955fc04dfea98f1a756393ae0be4f25704b76625249f7aeeb5496782377c389a2f5954e83e05fd711f35ed87a1378e2a48ad856e9228894e6b59fc7d8daa4c40fa24ab7e2f632d446817fcb0a0c365932f574b7991eed2898b18f4a683bc0331c6504c559f11d7fda695fa6a3f6656acad88966500ad3e5735f344f5d8a4f180aa0505184fcf171af983cdd79d80420ebce83d554ba0b6578759cae1fa83d2e3f31b41f33bb42e5c8038bf93342effa46a5af97dc08d1c08a8dbc55a2b64db013021d9d4f08a62298960ac9f854df7a51e1e608cb7282ec511a93f6e6fbbb633284b93567c90f5d59fbbb7914ae4f0454db1468e09db71a36590db155f14724ccaf0344147cfb35167c7bac93d9478ee0019e0a3f67b14c7dafb0ccff53fb0df42ffb7c18705c6732012a2134583e80980e8fe08ac0ecfe235ad1af155315b40a93dcc8e5910cd9b583ab01b56a044c99d3e197bec3d065d70d7a9d4955ae4cceb5988f0a3ebc36646352d8539659176b61ca242c70b270fa2fe3e182dce87e7838fe909c44ec8ddefd0df546b1f851e223c40af403f9d836d95291aee454e5da2ec9c8a76fd4cb71ade669fb94dd5dd2e9a6740c4633498695d51b2b9fc8d63e07f7232e218cf4ba5d476ea917fcbb8e959e6bd22e466b4b0d608a61ffb9a424c1b8fcf8b9430fefa2b8671ef3563878171d786bb5b393db85315373b55f6dfc510133727dad880e455d8203aed20a67b40ab50fdbdaa9d5c48c157bbe7470069f6532e5f1524ed8b3390f4de004c2cebdbb8e9ee7adc3363b1b92a0c5a31fa2c62cd636c61e4096fd82ee1eb09056eabe92ea9b0ee6ab13443af8d60ac30d5c759148244eb09c591fec942fc22aca098dc604775dc02982e66eb6b82f18c873c7eb86849df571457399e4b4e5863016a0a4512ba8b25cff31f6b01400b7990031366bf57b6ce6cc615846c7c32ec0c8b1ed5d20c0ff44003e27078468caee755cc6b5b6008ccb33097ec413f75fbf5e73e21dedd0e378e0fd8b2b71729c46bffa701ac17039c8d014c39b11492b0b33c3104e1546ca6163c5b6868fd2b4181025710d72d42a237ec29eba577e66505844e55799fe6f05785ab27bfcb5621a9517ab815597d9f81bc30600cb0dfc0987f768c07b62a198bddaf8e0a45710dabc6d02d607c42f224b53ebb69ac4c7063606b49fd6d20f6251b45b7f7160b88ebf80a76d4f77f73026011d427134f892a18ac3021b91d835b4e75c7fded2d9cb2628bdd2189b0aeac85c593c4a3d72b113ba0ddc0d15eb7b4ca72ff2f08c58d9b5a7c654be82b029e346f316c940d4b5f0381db305f0263f2e1d6a6c14829a731f17764dc6dd96a080fdf84a404d2d12a8c0f04bd8513b2b5c2e49ed0f4a02faa7c2127125f55d622c0d7e28235320c11720352ec913f3a243bcfc4db1ddc1af258640ee4f1257dc3d990bec29153a5b7d2aaa1014e6e38a0f49ea715b28161e2b399cb2e4529995f11d3b7e458b6101906ab2d4c169cde5e96fefb04ab6f09ac06731da16fd2fd7c0a4f57d98944ad5fcf6be00ebb4b29e41765f66c2b1c2a1eca58277f18787c3da4230136815152fbe42a1f3d68b4668a3c0fa9f5fc4043c32f625da20a921287b2188ddf63d09da5980923627087f3ddb5913f2173e0722bf38f8c47d21699fa04b0eb665dc3a652ec1b9d29aa3db58c9542974b9bcb25f4bf2cc3156369dd312a2f6437ba491b24bfae6418cf20a990d51d3a734dbcb6af0d04faa1cfbd3e64512d9c01a336299972f240b6ae779c24c3212a7c723c72853a1584a519dfac8641a448b6da46a79baeeeccfc2e6f6f41925a7bc6866e637d948fb4f4473f97980f013596f24e8eccb78fbae740d2af44be584334893bf1ec104d6a733ce7e2d09d26058dbbc377ec60cfeda5f4868b224d0c35a418aec059b49a2734453a225cc863f4f4247dabcb7ab6078bc48ef54403f3e9f6a5a7d30ec591e3889175c54e35000b053e894c3b014f59c94ba8b3fc2999ec345ca893ac870dafa79c2b1529c0e52c9f5b4e6b0376d2bc9e37c870dea2297712f470af2216bf6c914fc60fd94a92a8648682412959878a7e05ca143d6a6c65641b44f38e6f09b1accd702f6ed98b0b92c793b29a29d97fe8fa0d36926a573480b50f1b8a7c9314b8f416887bf3b63e350988827b59664a28ba6acb2508f4402e259234dea0f0f914cab51d8fb194a9c808322a72469fe1a18c0fce5b119f82e4f53083d2c298c1fdba9aaa016e1568ff9b42de87cda58c3455261f7a8e590b8970a488665d1136d2e38015e91d989b2672e6d233dc62fb09e42df6706df4b66af03bdd4fe52c7b118539a625274cf62d7c743ad09bffe7744921237e4c022910cc356b23a499b8bb0cda8ea7e4261208489d70513fd4e5dd03c0f294162d5840287428d1e993516b71173b7eeecd91c7c6c5db4bd72a15b921f5c48145bf907638b8ca04e593731c333a11d10330fcbeb0c62f9741730dd81630eb890879c4f7cd31abd35165afdf3924162fac39eca9d33ba0e12439154fb1ee90c7be2bd130b21098a387cf588091b66d8a9da014cd67a150d6f3dac58fb09eadb74c048db5b1cbbc6836f192badde7c54e05bd176f754d5e42195896cceca864520991cb67002cf0c0e3c5a7b77efd9d461fa915e7194281446f415227225905e092d6f9ebacda0671c347e3c5d662dc4241428706dc6d2d1aaea7f67588303094a2c856eb03536ded2b11a6e8e4a90577eeccd46fb0d452ef1f8bbee362e4b76e85c24f9458c9490d8945c81b4694b0a427b01b2d2737daac371fe8a0e028653239febac24e434da0c5118d84b23c357b8f2a80331ad7d7dd726fba6cebc0bb7827f7a5f0d48ae752b124002cef56f1e01bfdacfa530fea6f75b551125eb32f59542116c9a4859e1f27fa6e3f03b3a1df604d78fec9bd57afe776ea34994b9b57138a80a855b6456af515f912ed2f1ff0ddc20790b81b372500aa9391fca89ed7be649e8403b4e57ae560a28529ed4f999a4a53ccc5e8dda3fcf7c290b0486a241381774d5abc1c3bb6d82a52ef68e271fd1790fcb2d89254dca81c1a2ec2f869dfeb1c1d913ddebd33a47e9767dbf8906137f192f91d63a494b5819783054fa5a7c55edccbdcb2a50d2a3b848df057ac9b460b4a6b59107691ee5f6815b434bde2015221f8b3a0b95617a4e67f26e66096a74713bf91b1259efa1065c9fe023f5881b95bd835241b60d580ba67ee376d33401f73afc6de9469767df96fff0e67f549c6370577c8140d02bbef8f16b601407386453d70839eb2198b3249655b1d4e23a1803f298adc78558148d638ccca8ac317e331e7a211c8a3cf896ec6a9d4173864ee86ef9650d7e7d71e1811cc722dbd7b841f6d99071423f9c02bff3a40fb75715726af5494d57b665801d7e762e1fbbef13c1320d769adee719e38d4bfa0a01efad1af8ffdb4ce7200382f24b2a638fbb619ff2dfc65c533560fe579ffeb546dde9ca6f8327003f4c022385309e11825a5b15ea4444f64fea8511856181042103cc5ce4ce3b5169dc2a093b148c2327b750ba1f6711d11237f9eb4f8123946e01e7cf79cad0dc40d06be5b1886d008ebe4abc70e9c0303a94b7160da68e97fe969d26cec4caac11a2daec7a9ad07ed4b883a9de46fd5fbfbe781ea343ec9ed55c0f4a6bb324e86586ea2375cefd5678d15f020a4759d734381d9efbbe1e560b3e066ea4e982293c862f39d4fc7d3b0f6748dbbe4de2d53f4d706eb34e5f2b5b290e57931d76ddb0dceb6d5bfb3b7447b9eed3b4672b16fb650867aabc281ec541e0171e83ad3bd52889517d493399204236f12b070927484823987b019aa368bb8894551faf53683092dcb86a7cf94701838abd600de845594e601c56209bf35b743db3d910763d67ac57ff84aa6eb2abc008aaee07357f367c2cf570c32a670c09fcb7236902c9928a65f533a4ea9853630d9ad9b4ff7a6bced959219f289829f3d06bb422d5965ad6ec21a8bd525bffe2acabd026dc86b43888786eb3b93f7b1704ef6e94bcae7593010b1272260f2c7d20eb99a908f0d2cee783e038539a0536df1b8f10fa2f5f8b9faa5e727d7217a1343c39f8b776e7f53163385ddc38aa70053d9ac1bcfbc0e3ded5d2477b3eefac17b4fe118b9f37de3280565083a5d6d371a33796edaaf98075e041e5a4adae7f0fec3add165fa4ab491a241a3e95399c40de7634d903419233c1ff37a9f2cef3386b827bd951b2508f806df45761153d8fb4c24e6bca331eaa81c875950413bd07db1a667ba43e6f5419dd83090462375d21a3a1882c5f0292ea443c000d369e8e3752ab32688885eeb9bdeeef6f96c7736e0f8e817f20987ee973fc433b831f37bcfc9bd0e85fefd1fdb162f4c12b3bc9a0f59353e4d6132556911fe7e6828985ec0122aee36980a641d592ce56c77cab96663dfe706db68398d4b2e53f0a162d37d678639a4a4dc28fa9777fab35d08209d75fcdb0a0a726573661d418a21e268f5d8d4e40c3a1c7c3e84d12fd26a553e156a10c5ac2cea92cfa71ab55251900d51f0c509e704f2137a152e9f58001fda6ab2c50f7af842ad6c1508cc1b13a0127c7ffa02bca6c0705cf17f8bd4e64956a605b584a8dbffbce099e66d19a13fe2e4eea76f51b137d6870963b8c3b34c6b21d05a54b75a09a180e861c341e990bf1e4720bba7f6b60add4143615b65a267f2182fd26f791e5f745f6387112375cdb0814bc929ed2847f93c9ee1dccf1128b8515056593966f2b44abe895399227270e0c59e4bed513ef0876d145404a49e6d7b194f9f8df8ba2e1540b27f1b2d2232e462eb47df4c96b2bc2fc76a0fcd28a6a153c4182c408865adbd16b3cc67185110be1546a8935408c973fda727136b21303e7e353e76d1e2adb973ae88096ed2b7fa1fcdcd636cf82081632358eff39596871cab10ad75ed5a4c762d848ecde9480ba90358edd0bbfaf436c6679176585c5e9535db9dfba884ce369a98c16c9077b0a8d3e847e1ed849d672d3881e52fe22c8a4dbb184385ae7c589a4dbd60b9fba317d2ab5408ab2bb0434fe8edbfa300b87eb098bf9bf315f84037b0a86bb01baba0a04d1360c89bcaf80d986e6cd8320a6e91bdd07219b82fd7c43439b9d58142dc7018740d5b9931e0f24244ed1c74fbe5061d3ca75139ff6d35fd9a077a339c40c5209a363e8f6d6c3c88cdfa41f717a77eeef942dedcc010d5c5c782aec13b95afc4b44484361db20a62055be176418442c85bbb9414754e3429c878af3aa651c3c62e9ecd25118effd8437c64bdfa9725580d2ded4b95f664df8380b03d3ee8c93836b89130dd6f13a902c84543626e992747d31391c9d77bfdc1e5c649c313c6f32e6049e25dba6c25c810c09d8336e9484c64b93d59f7fd4259db93f3fc7212007e98053d1fe5a14b59f4eb1ece915a87768870a9cba7ad56873c40ec27d1657355f5ac4bc04ca2be76ce9c2aa9b813da25ce661e507cf9274c8b5ded690331a20a552359d6965c0bb69dfa1c09768057649bdee06c7dee881e9f0ca7a1711c6208a16d7d32ac46c4b9d798c0bc5c85439228582fce32e4a432f4f559ba11f4bcfedf8d482dda9c65ee30ea79909a609062215f5ca53b754c28ba4c5ac20cb50ef047b8b5d6b924d5bdc026cfd1009a4750e8057cc92c2ab0412f4e10fc30ea51c1ea1abf66aff4f8ed17909c4d16141135827807b3e57d506687da282f85fbb444c2eb22faa033a6ab551b5887dfcf4694f5a8634909e9b51f79895db4afb8dab367efe250e9a3f963ffb93a4c6bb8df52dd34268636a3a3eadbfae305389b3788b32cb42bc8337d7290d21bf8dcf2b68d4ae86f4c1d0ead0ff42786a3147a41cfb53aa9300f5396288a74fec74ce0cd04e4f3fa46f6ec12b2072807d42ae19b806bf4be69f1c2f33aa555f62d47d5d1c89c207f481441f058ae5d1eb3182019b8e0f0a39fc54524549811d1eb70a647f5f5962da9933acbbfbac30aa59f385a93b2b2660b9bc77e76f3610cca1d1c2d6b1f5863dabc26068fe59166d1f9d1d9fead667c22888b7b06636314b3ad94341b5d677b0b25c5534e868f0b3b9c3eea2826c840915ec6ffb985027f66a25853ae917f65d4814c79dd142287156d0ea75566673074c910f3359db7e71ce907f736bfd8e3a6199b9fc97695d117c92230bd96b286123d0d1d297b3b3d6dfdfa5f733804ec9e8071349e8b499a9f7bd2a3bc22313a2cad34e198918731f3e8ca3210c15b5e02caf65aa0ddb5a1a2a2c66a53367917d14bbed7f55440c6cd28dde9389c1f4fbeadab7851c20a74492f106afbc99569f771cd53339abc5de47e4aef0c5d149ff6d76c21d57d416b68fb06628da5ee3b9fb9f1b6c2789bb91506b2028c31f53803de250f8714e14d71ce91fcd24ba52f4157640607d0bd8a3719c05a2a59e240e61072aa5b972004b71cc3b5858a6eb6d01797bac46b950cd1cfc33ce25489d20937d0b0866faa88d185b59f5ace78d0a408f37252ab9a6ab0d27da292a6a53944dcc259dad1422318a176c562cd69b84550f97e617ff7cba2e3b3ecfd324e66d2686f1ae4a0cf168271fef995b897fbfedd826a8728f3433eab5b5e71232435843c3ad8a290bab75f9a3e2331b88471478b531a3f1f67798f802ffa1d289c31427ef0a67c5fc5cb4584db3a3cc4678a25deff1459132d0398bba87dbdb09c061a06fd267bf7e64d95884512d1508953d63ee15e8d3e7f1b3a8b5c464800814cb938515ddd5955ee1fa62f5adf08d89c1b168cf998ff77b490dd5238e60896d11067360bd44b07972fab70e64c1339b58b868b9a766b381624809f8af64a0ac40d1a2a64a668922f1b572e78edabeac8bb1ba05aa511d24e0cfd91d52030bb1da0f456714a44cebb9241b706340d537816412a3da541cac0267ec6f5d0f65755339836816f7e5870024d7e042891ec2abbf9371d5cd061e912fc60a1d0cec875099bbc4c6b861aaba76a006d90d6016402353618fa75a8e3333618f0f4313a67b966e09dbf9d4ead14bf171ab7b27bb90c067e42dfbd6e65500a41a4051ce23336db7f6193a8ac9d2115388c196c84f5fe5cb669e054c4b109a04722b2bff1c748781deb40faa82f276e059b1f1741cd013a9d6c3673689497b3a673986b138adcc2d483a773a5d0105425c55b629e943b2bb0cef270133a677a77e315f6aeb5d93002b011444affa414a58821a93c3148d5c0bb85f30f137d4e131c5c7f27604966d4ab84e6eab99b9cdd63fa6f81f0373d220a7589eb6b096530532f87cc7f2762641bd68495ef991e1f87ebd3b719217dec628a18bcff030d59ccd700bb0f2dc40b5d6db44adafff6cd42c25c254f059a92d95510c726edc11041e36fe784ca462322a6dbab17bc4ddea6b7179ca042523e29523d2a1acd48cd0a530d87b722e3e0b25adbc8559c2ec4c2901ea359836b641afd4e8ed7aee91d21eabb9396f091e9d84840caa24305f6712b1f993f9d9880ee1c5d4d068e10e333b4b8f38f24ad021ea254c0ddbfcb305df6f9783151ab626f132d14e57c4e0b7e78d91b195eeae11f595ce7fa5847e77adf2d7ae54f0c40b4dafadb70f647d5fecc4bdb8f557641992970236d349f8db6c3efdac604fd57e1606b862f87152f7aca2afbd30b9ade84cff04e248d45495890947cf328b68663468e42cce9d85c3d1d33cc4d3890fd5ec6e7b1fc15895aab30956d1e51325eec86df85c79c00d97c1ad6edbeee57d0195ae8da5308db0fc70f74daceab9150b17fab756432a109b794dadfacac40eaf78a797d98371dacc494512d968d2f0d937c21ffc01f5cfdb947a6fd88047c718bae8faca5bdbf9ef80b4d781ea01e9f15319cc1f9aa8a14076c871694cb81a22e2f9ae764cd0f2c5cd8dbf5cbb53847af26de9ddae68f95ac23efaf5d5d68938dadc9e97f589869a4a6576bfe3688e734d9bb46778eb63825248206c4954950a447217c45c0d4cba683c59736daae88f8ba9ba3d0bb1c3fabb0579797b775da25aa40506e9c5781c814d87f68b860ed5003dcf7db2aa3d4993df68b7d6b3fb5d2f580b658f0fe811e9422c10f5444e012fd60ba6ea7f0d861950aef23e6b67bb5e6fb630637307030025fd0b5614f02ccdc0ea65fa0b3ed1c12de2360bc453caa1a1d120693bca4873132611214e6cc0091410c262ebdbf9ad207a1b3f8f5558371fd4b968e8ea59fffce186f7ae82626d2e56b388b950de42a8ab2668e98268cd9f50041b26947451d2bb296d1a5ea14f5e41986ebc101074e81db331d93f3c16a3a4afd1449193bc72925008354158a3a0fb919121e50fc3d11f9ad839e630a4bf704c92b72ecc33e577d3cd72221a7a5599817050f4e6e8c4bc46b692c09ff46bc908f1428a8c8bc688f881dc0032098506067ccbe2d4d31dab88e170f1af4f9ce25e78fb9de4c24e5071906697ae5cab03e29676b8548fb80cac7cdf5e6468a6f58bd82e47e051a4a3fc29b860f54dd78f84e434a25e4308e05deaecfa28f697917b7bbb6e9d5f84aa15e482465bc5ff25c28baf598d769ec6902df7340704b9ad1d058d6d26081228f84ae97f0fd1eccb4858d19b6166a402e6bb652aec8501d6f5e99329cca835f116b31fa7a3698a36686de7880835bc85f4414250b6ce1ddeedb5f6bba6daf5d0853d3668ccd93a96a2b92dea9b8ba0ed921163a48abca840a1b6fab60692d3c5cc90e13b645c854f352647827c492f4587abcdc3cdb4ab447aa9773bb1fa0c8e4f7a3d73a7ff426c447031acc3d85cf0eca3f65846292b9b797dca289ed1b309dc8beae61f6d292331fb79b6fef864dd241721edfc68193ee9b7a59a70363bca372866c9129630243eea097a12d5e196d3bcdd1760809eb4536453fff421c5c8f44edba84e278150f0678307c775a80e16e0e65a9688f0da8d25c61e27e41d79c8ad4ad1dfddc8ca11bbf487649e516408493cbd9b36f8e4dc400bf832f4cfcdbdbc464c6c8b39155143a996db6e5b3be22c017232b2fb4781609a4d478aefdb729be34b21d70c526a14c07ba80ca5f252e55c50cec83b737873090da454afb1fc16ea230fc68dc2c03093a9994a7eff21b1a391129308b3b3f7c8760f4ce7a0049086c0df62278950a9cff3fa78b54e226c938e1996e5a17e2a26b08c3be96ec0bbcd831f9141b9028020924659a51d22ae3a73f251e31dab7baf077664f2dd1339efe090ce254b137dc1f37a86e80d7469922d4a7bc0412da1e2b82d407991523e13eef54c42a7443fad751e0be7f742f1f44b3de1cbc82e3b3f6a1cabae6bc8eadfa139495354de30384e1371e038cf9b630a34d89365ac3721ebfa85228a7f11f102e58b1dd20529af3ee7cffe98833ab0afe3e22a305d57d9f646621ed8a51d0c0825dd1ca9b9a5dbf5be11e24c13cdeeae2b7759a2dc26b92645edc66edf60bd0732cbf940d566114b56a8e55a560996f64e88381e08fc479638d4f938c6b580b6a2f584b5779fa1d3d7d0c436b5a9329d3c630e083061e4ee2715c542959bcde158834b572fdd58f00a64cfb4dac2b0490dc8a1940b03dab6311d545fa3fdcd7c7a85821a44cceb3cfe900e28b52d6f2e87ae84189aa5a19f3267478346f9c65c67793f8be6a3bcca3b4fe11f99a4ea3125a09d05b53342207828b34139d4fd8f4da0d4c3c1d7849cb06f41c795efbe80a23c53fd6ee0d45d6bd8a12c05f26d7224bf7baf2375fa44845c090ac6011aa81299b6191223a736481f80f244ce45a10590e9c9bc06efb357b5e58854ded1f2dc6da450c0102f8416109a021a38a5876423181366b749016b4bbc1ddaa7a92464b58ccb8854ae74182ab00c7f290a404b9ae75359e6a04d6b91f64481330c3716335cceabd00eeeffb8e5cbca090806baac5d7834decf7bf33100b615af15894a0e8bf1362581ca3d41b84e857c211486f80be7e1903ea6ad5a4e55346fdea9a81a469a826f0de2e18916987d09a5a429b07dce472d2007a091f50a40f9d611e2a817c7226ce5ec19122fbde6129e61b5ab13c1121db9d221210d856b54499fdefbb570694fa2a5a59c84970ec5b421041b2fb7d8a51289a4f1542f4937db3a9475fe3fafee45714d799227e7414269976272ffe7b4899f239c19628f5701521f4af8904f2496e7c0ea2ac273fcc1d6c6b4962bc1688312cfc722a1273c2e1d3f0b8030b57c06cfa63d2996c57e841d59764c90f84ff697c924f3359a5b9103bf356168eb33df46f2119e02baaf35380eed92e3f8c7365dfa6aec57866dbebc719d17ef4738c5d2d5e34c8991335fb08f3f62798a37e8318334e5efa8078837aac9f84fa283d222ea4fe85d17b3a3536897208e6f0ae64f9a60c88170bfe902694e78c6dd01830bd25f34c4f9c1847d44136c9073cd90f5246c4f8763365e8834260824f12a18d05551022f12b2ac03776a799f1c7178e34fe63f46b22dc4c470d7df7749035f0b4e43e50a3c0c3edcc3822ecd2343441b8da6372ceb0bae7c9c3fa7cb5c604f8ebe2fc7e5c821892350ff26e428e8d5900fd6f2406987ae81466273d6bd433b23f5b279ee44df4d6c4138d3394d270b951bcdeace1baf9c31633a19361ffc9660ce839813561079fadbcee12852e48d249c412b7393f48390018f650a8c5bd81959705e64155ee33769d717259640db72f44c86b37b304d5b45a4af7acfa4221a892c2ee75872f946ce340d611cfc6cf409e786966d24870771cfa57c1220d7ee73bb8c197dd6d5f751dfd251f6c3219888ddc0d6bc8a2154364cf26b7a2e775f725a6904020f6ca9a34958411db6293cadc8420519a9e5e2cd94d71ce920e1fac5bac7570b524fad97f70637d1ff9412ffce64a2687c5e2a2444e6477b5c779c5660e5b02fbcf0e6389b249f8be96ff531cfb4a48b03e8d07b371a7cd11c7525c45129884e956b4bf581c29b50d0d4e58580a0f92ff80a48c329c9824b3b26334cda76776fad8bcb3303eb81c5e2dd5e010406788500f53ef230fee0f3ac615fd32c7042115ca690d3dfcea2fe45ce1b8b319ff24b6135a5a105767b6d36dd2ed7b1dc53e4ca66df08c23459a1947d6a07fbd432d2c6911d397199cdb69054f85b23936487497ab7bec79b82222a33ba481ed627f4bbc8b43d1ffacb19f252f089c55479d414ccf70c0fcf82c7f0c1730d22624dbfd025db8c6caa398086808f8f05af658c9ec3ac05443530153c97cadbf1cd9c05ae2d4c51aea74a4f0a2e3e21ea78c0950ad2527262c9afc9ad1d018ca90cd2cd7313d37797dd9d4423b236aebf65a70d27c8d542639537f4c48df88087c2a885b0ac76a3dbccb7a35e28ee1473be2e93e8435017eec14463957568800f6c6e21b55539dc99e163e15e87285b73b422762ffe74fa1f17f0c7219577bd92fc66e72da1d2d1168b048ba9b7a4dba8a5ec100001a70c102b3d3ed54782f96c94ccc5e6643f4ef60698d451b2af7f7771eb02f0113b6d804094528ecba570c25ab68eec06423ee5a9e4887bc686ef8f2e2d408a632d2f615e8d4acd7592759146893b70eb1326564dc1702fdaa67d04d3bb03859176969055f8e102b13f772f3b712c869245829725b5ec8a15722295fc97926ca2c671b535ba7986f8e610edd38fae86150e6779114b7fe3b6e0b24aa0b0ff10e6fc58dedd49ca7fcff0be6fa34ea4847b7e9a5a8423ba336fbaa375853a20cad804f524955730d8e28a4b140ef9c1d0c02fcf5c8bb582466446ad5946b1d16d17bc354154d9e799c81e45b90ce2f0ef24babe94490cdac2147da2b911be62a27e2dd43f3d4d36ea1df3fd8618bd6c44393d52fd087fe7a65a20c79520fcd7950860f00a4568c53cef2b15533b766703eb2fb791e7f4542b035de5610abafbef83cac762483a09ff9f3e41b0784ca45d2db271702ff3ae5ecb1486bb682802bd3a746204b7c2d06a1294f9e461eb746f1ba589502c8e5fb983c38cebcc518f4e773e5457104a3660b34b135846805fdf631650d9790211ea58cad635681a2c459178d93e0e089d409881650ee5b511081b7435273fa7d993ebb3d773ef2fc4775959ebd7f9e9754c06b5131266614dcb764abe33592ffe0bd02f8224b301a5c8b9794cbf056b7b0f3ed83a5a0c7ab946840165ef06784a5d6a7710698ff81c323a54ccb6855c5b32dbdf711b0eac04be07526b24e11fbba759322df18a8ba072f02026bac08c8aff4fc26010824044d4ee290d7f9165388d9cfb3eb931404e40ce71d2a933492c8ad5572e236698735f78b7a324134d54cb932c9547cf9a4f8ae4286c4378860967572259daa49ada891dc376cdd96e245ce44b2f43a654e191e17ae949ab2e01b9b4cc34f52626c67fd70f8ff6742a2359cfff107d4f7ee8d6c074d5723748b4a5d390044b6ce95e5ee73575ea928550c72da6c479df149abac2543ae1312cfb4a771382deb7eaf95b6801769f0ef496f18ad725adc2e04143cddaf00617ee14c8b2e677edb4bae8687479a5edc720152cc888cfc3984fce29ed57c82cef480acdb65ae850ff194b264bc60dfdb44d8c5ce206fc2ed11b7f4709bc88e9ce4ea6a87ceed0c4a5b5b0719e9120f408ef07607f76d7c8a87b5b0d5ff6c57281971aea1d4cbfba4361c7fac860f9e9607e1dd9c7cd7a552d34ce5aa3dafbf84eca87fc86fbc5c4c517c6a3f0f4a5157e2a4164f276aef3fb6d49d26af370a5c0a24dd98c3b6a1f04f19e904f2bef8d6803ebdec2686123094307106df1207dc15f10e573ebad4817b6ea1216c4de6fee9aa047852d046c93a6632b9ad1d2e9dcbebe8b6fab3b390a3f18feeb2e4ecb5193c6eaaf757ad852ff75b2a5d8a2a40e7a31c72b2741b2ddd705a030b234d40d5ad5113b72eeaf49ad55313cbf6c6f8ff275d5d2ce078485927adbea8922b4a0bae74e06f84a56e7a5d1c4a5b1b24287fcd9b0684581d7e28103d405c4c47bb32413ba3c45bff69b429c3a7759a01f4ca28f5c94cc310f0470a9f1b141e123b203fd96b3522cfe4c065471cd8743d085a7798e4ad3855328a2d156aed89bec557ac48180d5d17e91b1381e4c654b800c6f67f985f152bc41adc7313436d3dd6c9e98efa206f166597336fd21b09a0558164d1740aacabb2b8f023194275e0b6d796258e28684f92ab9c6b243ba366404c5bb513a9e1c7dc69bbb7d56c4ff26ae1aa3a038bf4893dfb0e9beb7103dfc0ea1dcb8b90d4fe540847dbb04cd68fba454283fe5cee1556ed3e427e1fec97a76cecd1e825a59d04d2d6ee2cb16adeb2b90f5d14bebc6bb69d68f0a79f22535108f96d647dc7dcb9833d26bd2174ee0af566d049cdf2ab8e6c646cb5e5f801e7d5f263af0e2b82b266de917a3461d152425aa634b3b2b5d6f99826fff0f4366d8bdaa7b8617cc058a0ff1e289eca2165a9e5a7d98f45e2f8ada52546db6a4e61816b41c0c49b87cb8e16eb477fef49041a9b4af431cc7c82e31066039db555a87b425e74aef138d7b81b40511d360ec683cfd3e38d2937366d99669719348906b1825a26ec658334cd79527e56810ee185561217394602b455021b07d1a1076512de28c6920529586f2ead3284f9496e176fe4a9f8cac1c23348fe8f9f920369ac8b4c17e6aa9488261e2b08d76b67fbc4421a331ed2ae227ae0b0b37fdfd8f31c7138e4d40c85a9bef3d5c8658607a6cddb157838c75cf556565d550dde2e107d679bc5a0869541db123741e5eb7fc81614dc29f06464103cbf52d48e2d128bc6b2c90c200d4e41b745d615e36e4a7e778e7d2c3b3227131e4ce71ac82352e545e550e83865108a7eed63c8a0eb484f2182f55971462ba16818e2326639726793081cc1b5f406e5f831761e4b9a8096bb6addf2e1cd979b342fd603ed32ef39401873eae02a1f42463efb3990336cac2282f6dbd3e46367ec349164255d40a5d289428634b7467efa35973e417ab85493929fe1185d717eee64f5de55756b15478d0edfe409589631f9adb2f3a282609a2566a9524f795e739b756de458009fed89c1a4a99ed2c42613b84acc42d402613c6b5e78130e0f42034d8e76a0578e23dbe5fcdef95aeffeb1c7ec490b3f8a2b6a21dee3b947b82b9ca66995581bdf6e2b6706688ba7d8d8ef6f91ba43633a2d84920915a147188fc090144964b9bffacba1db1889baa296825298b41a8450dc5c4874e7f9af6e67c197a5fa69a46bad563a6443a8fd9985c08dd07e86018684add41a209d0ddb25cc30fe762a5ae82b32d64afb38940f974dce737c7ce0be5ec5e012fe23414234830ff08a2565517a347176d6aa4835a1a2752faf4e4efda7026149e5711b990fa37e321564ab3bf21f0b9ae0607844aaaf4a702689c30137f8a756a5ae680c155a41dd72b5046c90407c7d15f6bc26893cce1019ca8e1b66bd9aff06f1efec50e092e45af0d8e6d64253fab7ef24c3d4fa780a4b6082d091386a237cfacc4330aaab2c56ad0dadb269e6768caf1abd7c81d355d51f580a95c8ba4b19d89b0154554fd25e91bda8937188e369365a80b2f49e2bacf306c7e991649a759cb5fb2fbbbdc0c230f76ef1c104c081528a84f1e11925e83a876b6f94a21722534a86f631a57a31f9d87b4fa39c0944d30c6598015cf4706582a908cc014afd482f8ddeb96326a9ab6eb9ab5cf739f3f3babbaa612cc08e41e007c5d163b69792fd03e7397836cdfbf0bfd2398bb8afa5172252041510ea21bf722f3147bb580f213ab9aadd8e0fc4c1b5f0af4955e5daddf0e34de7e2937009121845f9dec981523809424e5f67139f048559f628e7fafca03da1913d23de41a60496e327de5fbc9d5f4e5498e120a76832bdd98815adca7dd93b746cc0a0dba89d3ebaa09d82a3ea040c174a280870f2815fa1057bed0d7becb566be374bc742a0e0d07965a434db1eb1be45161f5946eb449688482b3dc4ba2ab78d196a4646d46cb8a4ba65155a2e0b3257930422f34394aaa0d705b0bb7007e007c194f4294e972ff6a1e0db589c8d2f23443690077bc70244ad594ede1a8a41d781c23d7a6e5399d9654f149d68e746a8ff3601c66d4238dbbaf9cb77519ed6e50764fd6658c5caccf24f6405db3304f3b4a58d139a23c63e0827cb4faf534a2281ade75ec8c4c847051a69b5c5588816e125e1ffc7a7d8c94a7edbd57b58c4613999d0a6714857fab983cc8acb624f82f538133ade38459d7c65cd50c5041e21de5ead6ce61fba3db89b4361bcacead917ebb1b8c0b97f657f6a0c3b763bb3ab0748cb4f0bb491e82ac80230fd05c983eb6fe7f33e317a08b370dd2a75f47beb4ca6cd8a8bfdd06982cc4b3a213b6db485c31813bafb350eb9c7583cc05e6e72d47055dc849993a902d645e174410d8321968df6554a8599c8cf001d066d55c28ccf2a2effaeba3a27b042fa8cf4d2d93832c1a4e1171cde5dfb253bc9bcff1eea7fa39bc8c12ed73f685395e363e25d0830c866eed940ffd47d64958a5c5a65d3aa37255d139ba4cdded12c1001019d4d2cb846eb492df985d3f8180731cbd6d9b3774a8dd869478326042d5ef3651f2e7540e54bb2c38fee0a7604dd8c9d0c1d980f497c6c50407a017e2973f95177a1eb14f4c124cd6bd64bb094313e7ea1d4dce8ba48913c1eeca65eddbbe4e476c4f3cf8905e956b1ef2f872e6d8f3127373ad24801d032d44a4a9e313790d87ef148d51389b58b0faaa65e2597c0918ce90528bc1215abbcfd10a7abbb2c3db39e89fdeaba4a065b5f071f9ee98d09b9028d7f8cb5a5a7ca47150db4276fd103f0cbf5cd30c5d2c0fa50b1e42c2562058503f746284244c62f81c1d74e5c7c48761435b830a2181d3814e47c222ffbd966326734d33a359983c86ab8f943bf1520c55e4e57244bb69b45d651f0589163cf95886154ea8bb172af5716c89c5277e2e960ce601bd04a01471f0edf9c31637f60d527d74a79da142ed6ee21de3261d7abc6d5ab08a91b552b91cec94b71d9406315315bb5159bd644ae37fbd898d4b9d6c7f178c8c2892c66a48e94cc002951514be13603503905293e875d3db5d0974db8be3f0753c839a46ad17e3e8bdfc48f6c7ba2d4ecc8d00b03bf861970c4efb72004b6665ee14b264dd57d2e2be778a47026d6609ec59c61cc8bc25167a08eb63da5e7b0049f859dd3c0a57b5644f590ea408355b2f5579d5126a7af5c468a564bbc9db6e638dc53e4cb8367b4146358b49a4e7252c90dbcf818b28c0b5bbe7424ee3137086b5bf8e0ef93cdae89cd6716c33a87d0778e907c34378b81b78a985fce8e6f83ac012de50efa93ea086067f220dd006f90f73ef109983d177af2df1c3486c90c72102544ccf3d098174b7c3af1df2e75146163846d096157ae7334b1535eb994b1d59916691f3028c41d3af5a57534bb0ddf7c51baa6d0a46df72ec6a236fd9f8247e4cfa38fa35af4bd9402dbcbbe30dcf703ceedbc88c4eba09f5e2e4f8fd46d385a76259c50cb8fab2e7c2ab391d623ee4b85eb44234d38f59b7ee44c978f76b4c9871246337ea6e602e633ace2f78deea74fc2e8600cd52423105b878d8eacd9ea7960524dcc8f28caa26bc9af3ebcbcd69526464c52843d5314dcbf83172c265d49fd4d6c787f6cfb48831c4dcd72c2fca22605aceb8f29924dfbc1e099efc0bf18cdd43a605ccd915b76c188ef7eb4c46455d7484dcfce1c4a0b38664f2b75fa8d80ca91880731dd0a429759488c08d2fc5714f60d656b08747570a3c7d16c00a69b44b013bb12935c5ad57b1be65eed29eddf3a32d909f88265358be873885ca9bde15ba7499ebf34ee3ac400ebe897fd7604f1614c58ff6dc96246a28e24b9416f7f9d1ac590a4706326e3141821021b5ebdb6a55ed9abc45ee6571018590a178b8385efc564ff0893b374e5f1ff6748bc15ebf7a47a28116be39af1e464b2ed9116fc13d6e8cd3e2d0e66ac64c5e65d825e1692cd2d9f93e99493f02776d9b47b39de136aa5682900dec215124165035c0cd8eade344d535100a8b95987a1211ffc573314ac2579fa246d99a85f4431fee4e0be6b0a25a9c32946541cfe0f04cbfb065b8af3d7c103f4259f967313827ac02a7e3a835a1b981d6f76b508ed393ff102cfd54cf7da546ed1bcfa60ec684fdfca214462c7f353f2d9391dcdca77d42ac5050cd0464f51e058787baa1eb035b56d9204ca4212d50a9427033f81530c8f85bb2560249022cd1ec7c92a8ec00161d18b6801299c1fd5528c4bf348e941b12e2cd4f9422bf56133febabf2b22d7e6bdaf6898054d142747fd4f0645c5a36129b3626401dd150e479657a2f120cd0c2dde7aea947b162c8e42d6d6bb22a84298cceb3f81208f76101f2caaa56b3699bf6a1cf0d566e1c88f79cf674366dae19bf49ce9b45922b1d12f222c0d96e87776824e3389ce75ca7cdc54ed3693b4f2201fe55f1a79dce92e32e6fa91508f7f4af02edd591969fa8502e224fd167e9f535505066fde18461cb73412fde18a1bb67808a27d6ea08380e44e6e741c66826d66f558ed8fa26d2db87e887cc33c5efc05b6beaca1ef1716a80011d0379e57f5c53ec39bcecbc3bb7c747d46354770f9aa3d36dd6d1bb2768053a19c230feb4c7933215d836cf134d604dcfe6941e7d84ace320a9bc3f0c5168d3db0d1926ec13829dbe8d78c9fc531c1ad17ce569e89409a2999aa87beda5ee2ee3a164637a169e1dd12dc725fd483ba6cb23d0d28bcf795aff0a96d99a73e8eec8df7e7142535f7cd927734d59e87ee88b8dcafaa97ffbd426b86fdd28886975932951d15ef2162db4034ae9368b2c0e8309f1da0c8eb0468fa669b0775c7222d6fd3f8a4f073b7daa635f78e83e7de35c98e75fa6e7e33272159d1bcea72b7f5f9153f64b989d6433bea1c21532cd8c1a24ce0fbac38f75375a5e816771b7d73dd3e920112a9a073bc71e3ac0540a5c0381ec7b94cacaf5f05acd417b89dae7a2276f6efa4b0b9e9d2279ae3987cd2a35326b6c7eadbb62c029423403f92994321f1d41541925925d98cc73f998df7e18c2fef67d60297ce21896f8066a0cff169cccf55cc6fb05b793ecc6e28481ee9cc484a042eba93ac719753afd712ef27283fcf0762102df4b0d204d302a62ccfb6ef4fe1b3f6aeb162a11b8f825ae3b80dcaa1c85400f39c73811051c9f34a5c92990433ae2bb630ed2d45c25dcd7c73bda4cc241dae7cf55cee7259e43e0799a1ad153445f506566506d9f2d58352d88cf689285048a1dd718c861cae687625de154df451a78cda4549dc3a0020887a183f954fcbcfecdadda0db7c94079b4aa95a59037353aa82d50b134ff37bdc1951d196333dfa5ee191c1609043ccbdea93b21024f49ac5848d4a02aeaea658db8737cd677b2f087fd3a644ddbac2cd41e3286f03f599e374ace539de6d1899f32c18f596ccebddbe57230d0399d4742543fbb738b9ef60f8020c80868f2a321aa35c0cf4b8b5489a29a4fdf0a1589cc2768cb8867429f0893bc16128b8fa02dbf3bb4e04a0083134927e1dbc682bcce23a114a3864cfa304fc3b185e4f0aec24d27949fee7bd033b531fb125816f332879bb44044aa7c27071f7a4a53676c0789bd1b57f9c8298a5be51a7fcff3f86f9783ed58e6f941d243421f81999a3793672cf0f40f9fc0dc6ebe011b0b5cc831159548dfe2dbd2cfad730297679bd1443bf481cdde91fe6ba8e60c22c3127fc5b5bf87a3e8e06a339eb4904d56f0369951bed0f805863cbc4255eed423616b0c3a46a98b6b4c622c4751df23c74bbe77ab90e8a8af35a614987d112fc3d00dcf320d2b2498410aeaa2fac5bc8a71822419d384df6b0462fec65f2a0777675d012db87f061dd176aa18ca56a1c22fe260b810122efa62d3685e2d57fd909ce853df14d746109356a0b2ba75e8ce194eb272439217554a95716053c8db8a7e8832e1ababba8e9dfd6c5b40a3a6e4f96621df55153bbdbca7df242e09a53cff4633f3eb956d44ef2f6065248849567e938b61eebebfc86ce4e6192469f04ea67599955c4ecefcc1efefd3058c8954c27f7d1781c2592c7b18d5dd4885940c682fa46bc1c96ebcd65fb450979c6264b84f059c5d1cabef22a41a74655b55578eba3a49e07b53bfb929f3e057227eecb3751eeec819af5e0a7262b2167427d388dd180d0ba7d22ea32be729eb7d446d0112d1dd2b83833d529e9cb3394a00f4fc36a2ccca1456141e05a93e11bf96421c58aaae2b9c53fc776bfffa51346228cfbb5d19d8dd4f5e4334b26b99cf52fbd3dc82510b9317c0f4f093ee29cfe9b361dae417ad1aa993ab853e5b679dbdc4585ecba6b96ed14f49485a8e5c5505c156cab3f101f07e877c513764a8c3f7f0fff7537e04f0359aab0656ca614862a88e4a6bfe877eb54a8f149efbe461e8bf1ac1df11959026a4c5fad714758e0e389abdd349fd1dcf4c43fdf998a23545d27f6f6d5080fa426d68a6677362715686a7c984ea14b1d74de64e6639b5ad4fe76607fec753eda6e870e16ea1e975d26d6067b177d8671a349c09b1f8e5ca19d3841d8bfb5cffd6b88898c44098a3855515c30ca154aa39155744743c8add7a33c0f65c8e734308b7471ecc177057e273672021954ad450d30e0331c3318cff6bea4874ec3b213e002b5ab2c15d9c6bfaf1cf900e385e1289f04b94813226306307230309cf1263db4ec67364b50c1b9bccba8ba68594c27795d2955cb1fdb53fbe3dc1d710186fb728ee7acf72f3160b86a81ccc29ca43b03812696190c963dc8660694cd98f2ae9ba40dbbc0c5a6ca417c419b1f41ac6ae620b9fab25a5bff29459aa5ea1275a6df6d852614274f0ce51ec25c5c9fb4ce86346c734d23eb460f9523b10c3ed753b6c1cd1ce47a5b17063e04dcdd02fe78eda6bfff7ed8a2b4b0a4b9719bfe17f339c6ccafc6f499fa66d54877d6a6842be99229169b207cb623d7a944b495ea6de2fd20bf14cd4a861a742feca577151524a7d26421f78de6eac36699bb15545ac8e23ddb6b6acc482eb21defa6cf971a0b203cd04e7d5794a00c873645ebe19d5c3564bd8cc13d98799892ca2947881b7d2b2e634a08b25e1902a90ac4ea68533403804ff1c7c8b8edd363503c010309cf2951bdc682968d154a385f191d813d85f4585fb6b64f3d445f5cc230f01c2a147f374ba68ee6dff408e3a7a0515fb0d48add8be7e98a2f2d5f77b77b86ce09e8922db9945c9433ab1ecb4964cb2c8298cf3ed405c75dddb36d2dd973dae891c36f2ab8794d6a0b948c961913dcd489080d521db350d735d50af26bb89267ef60e2c78f35b0c7e859c1d899566faec89407b13df80d7aa8af6c7fcaba87d0ee44e4f4b897d837f8025d6c77dc18f7dafc374247dffc7f16c5951189e9e61c1211d5ae0f382cced8ee3b0e16170b5ebc07c373f77ef6ab7cee7cba99747265e6c2727a87f5fe2dac75eb0d8abf1337745345ca4e3a5d9a0a0ff77a9a79d7524c8436900c6bd7f643b1f76ba244da446133cef5fd4aced264777157525dd558e4590e59253871ff49000a1957371ef9f1de269c48585bb057b40bab088bbf88487a8797c6155fd83ccd0146638166a0b2bccf544448be5d68440f3d40c718ce83227170b63ca5b202870606cd293beff5685d658b320f3bec15b7a61a7f279017b31da6ca7de4af49ec7c8d390e41a36017aea1b187c2cf1477f517d555cc04d7c9667bc1b504f47b164882e9c94d46d72d67676932954592fd96424f8254b6d7160238620c3b04530194b9cf8aa8df2b6a4c9a35fc98c7ee59527dadc6e16e3c3b7b89a9b010f98ab085256d44e43aa4919c400f6fe83921c4bd22f9fc499fdd4ac4a5c4ff1c691aec1e659c1097c5948f6393294ba91b1a58a005e4c84a7745ac40edaae0c61f889a9a4131a0e162fb804f061a513dd6273c5ae5419a7fb02fb3615ad9c326a524eef8df719f2ea75fcf9db0352a2bc415f39fe8716b76b00245f56c1eafd92751b7158c2f8320375db5f7fe3a7230ab191ca1bcba6fd11464b3972d456dea55919cf97c3ccb26f9d5a1a690139cdf1c4c09d35d06261ac8ebc13bdf48deaac006132df2f68bf728276c651165b95adc345a304ed94f01101e484ef73f111278a225c74c8528f99a5ffee79b97f368ee5e5de6a9d88fff9c6870db7c3f2b058d2760dfce716f30be6390e877a11e2692901bdfc187bf144a95f5a2ecc28f932627755d8e7b9b7315ad6bdc66add5f22ccb5404e32e338b47302ef649c4d134ade2a1ff02b1f33b0414f0223d7829e586fc93acca5d265b58bbecd55868565e391513feb5d13f9c0d1af2f7fdfc3216f001cff8d146a8a4f5edaa729dde272405502ba13cc88a1c86792425f651d981afd653e5cc1dbe3dfb64f85ab921646fa69faf293753253e10d825f8712c282553eef3f71ccae60e3a99db71df4e9daf4317c3902e406319e4efaa77cc9effa33fbf70ce365024c5ca0fe784a3369c90af4367f6d66ac98948f22f4579f5378b7f9bfa849dccae42423a8d17e816efe07dbed7aad1145ffec8f3ba95b13fde6ea8c2dc14f60dd58ecf74a687af6883bc354ddd3e24a0763813c8d82d69cf5b2daf4cae2d65e89a6fde287310cd3c83b114342eb1c12596c0a4bb7cceadf0f9b69806f95d6304e02101a042d248f34fb910534d74b704cde5a721e3a1993b5359d1085d341be57eace0ed10143b65349db1f5e225a48a50dd3411b1b22913add55c0128191777b7fa0f514ab6a8cb7ca25f34045217ac4436f3da8721d3817763c43140d134f1afa53fe5064ea02b744e97b5fefe71a82fc20b0f47c2d523600581cec2e83d4a992685b212baeb2a5bb6b894b96a0d28a351177a5d00643f185bcab82f8ebf5e650332bbfb669070d29553e971f9c64acdd708cf63635a00ea0095d50b39dac00ed39446b5ba990f51c37d4ee2df6af264de426c70b1d91fb3bb1f4017beb55b1ebd938488e7191731d20b1ff3d31c925d28edeec87367645a882dd89bf518dbb9ef02bd0256fe323eb37be7f3463bed2cad670cd7069aac6ab5e49af5f051c8ed9593ea50bd706a9d4e8975e4986ade3a1b179bf38cbf5ae12bfabb41d8d2a357d513f79fe74883928e151dabaa8b498738abe4287429b1580cab7960b19ad920db331926a2ae908602547df9702a386c40f912795adec1c3e01359b4e4eabe49cb3e9ca7327178dddf2998c8fd2386087e25ea8ad0ff789d07e3d0cc84bce1e6da71cfb70338c6795ef202476ba67e6c90312b396b4f7959210af3428f3616f4660a7c569e574e828a64a0455c823851fd801251249b6bfaa5b00df4009523811256fcb045d1e6092d1e63e78636bc6939010e4683ef4523bfebcadd00f57d2ba1efcb168a664b6ec731fea098022e871db62784ba3e82ab98eefcd9c83ce7ea2ef299c12a8919b1ed9d713e0e07cd26b17e73471ece5822cf36e0d20fa11226e0e1101ea4a1d440419e26c9843fd5b3b21fb0e55d576dc63f992614a323d0591bf258d31f7a1bcf133f8d646f5a2bb4579bd9f8435c4ca5ec53a464d44fb988fafba175be635fc548c0c0526469ef0ee9db545800b508a56321b8417f9c48ec41a402f9caf5689dea58ee32e60a9377d0985cb320fa4017dd337f0a0cc20b82315855d29b026f3725fa6404e61902bcec83a92a065648ef2e7e47de5200e6d423ecc12ed9ed1dcfd128cfe942692b4c802c43efd3688c7745060d8a955d37c6e42d47343307af855e363d6c39ea13a418a5653dc9f95604e99a2a27f0cd58d549d1360bf2e482bd189ab2c87fba6ab4576457257e6930b12646cd12ff574d91eee7c7ea5cf4e19acb111bc644b5769aeb177fa85015dc2c90260e5890bec253307908c400eb63e69f9bf818cd168c2efe5f8a8fbbe0dedff67f98eaa0c3ee130c4471e4e5b7fabaf3f0dadcd79dbf8026a6297b48b90fd765241d962e8f726be6e311ceb79e03504c8c9265b169945933c7db7ef748a585bf360be62d5e4b1699988b3b2299fa993dfccf0e7b6043f4263ac2c436b48a87e4f72832e0c91d6686159957fe29f83132e3b53c53d991e422d24d49106f3470e1d1788506034783b8ac7d07600bb6220fb61832cdcbdda4fe37acdf3ff6b8b145d595a5041eb4c2c1177d5a398d93841f679a8ca30906da6f3054dafcd6a657c83d7ddbf48ca89c0e0ac9a7138929748ddb0b48005c6f74efc6709a54c6cc2ff310b87e3f7b67ebd82f39f94a1c3c7d3c20cdf0f8ac5e4bd4233a4e4eb9bc97c4df95620b761ea17b90b45f536323bce8085f492dfe0ba15b9478021d1d9534646e74c6f81f17d34a34b9f0c7b5ed72fde95d49b35cfb084ad6e001fc5b4906f3c826bc5a2f03ae88f784758e79023060f4b0d59fa9712240ae08583b4fa4a1b7addf399a5379a75cd288e9cbd4488dcd706ae57fe0b90dc2fa9581f1c246fec13ea152ea361f5d03a293b0c5413f7d71e6acf4e78379a334cbc2d7eac22711fe6649b58388e7a1b9f9288a3ea8752fd0f16f8b873710fc7136760df36d05f971a4eea3862b20fc5296d5b642e98ceb05961cee015c53df6a1cc5b36e8024b9f55ac42afcabc50f04c87fad6d20261f18888cd112411a737539fc9334034f6856d25e39ff243d255b8d8e2b0b3bcd4bf0ff3d70f80c055db646fd3599e5bac76b89e57207152c55a9ce2d25a506594d7681cc94f5e51b1c9495c0f0072ce63a3b22bcba672e8e52de277dd6fdebb4f6466b42105e5520ae466845e8d0dbc09c05602d95eed598fff4e582175c2a6cb3a07fd0079558ab20fa2bc7c5b6389c7427a834c81569cedbf0ed0986e0df50bc44e0b1107701591b8991e0f97a62c1d43e556d022799d11cbfbbacce61c6974355eb39955296e36fa9da9a656f353c49a06bc8e40f35d85837030879eac84cbd8b024398b8c9a41cc3f92a2b49ab0a5749fb154bcd0c06940ebffb22f2c4bdf14b2c7ff192f96306b5ac240920da90aa6e5fa310a236d3d27aa83d0a69c5ffa81e79b995402e344dba3ba5fc4c38bf7feec278916fb69bf5ee2178737ae567cbbc9677369b09f595a695527260b5d15ecc354088ea92e078919c049c012bb814437e1e116ba25712133fc6f0368c5e7311c26385aaefb4f91ef4ae7285bbe0d6fb842e9360b0e74684b14da8e56484751b0bf4a056b830e068b4ab166d78da7aa094fd7e3253405d94d953dd3e2189f0fd8500f57f5ac2c884a4361b8cdc83e68c8ae62cb0855707c6ce8400b12aa7632352e8152ab66ef23e9a5d99e8b3dbed1364db93c82c0a6e97b4be964fc7575740d502865d8aeea7689ec686876b760945ecdfe2a4cb393fd3c6ae463f370053d291190077fe661799e0e7487b42f2b58b20cca788095d64d8938c303feaa137041600804745db8188b85a399bd3259b0b600c113e73ba2db960522ab9a00f24ba6ad0783a4e0c0e467387be27933d27ecf5751e647a6f39b9b2a02e5ff98b0a4fc29bf6d98df5c6c5ac199129fcdda422e64190940135c5b2f8d31b1b9717694235aee3087ddf7ee7bd20655854bf58d642c11097855de4281b99b698d9762a6bc334f9cd864b51852f6b1e75f2305b7216cb5df589d301542f41dcb84ce3726d5c1d1713744217a8d30f6188ca648bda7603a82b8b53a855a4e4550cafc2410dcba8084a2ffbccb987c40c092ba2e21629824ad6e9d584b3838291b7805b65009b65aa4c31df50cb4e14a44d6894e352056e3481543f00d4001d17aaec116d702e45502032263a81c6d8a74ba77490da65ebc117c636d31002188c5c967feb57a7dae22d8befba59af130df84305c691f73f0a3489012b017f4a38a702ddfa5b1575d5fd5c8ba920ca1865f9730b25bee0a9a751acca793b1865ba6aaac965b153e2ecd1f34ac118904953b139aa068047eb013b6a40242e668b9f331435527a9c84bc7b93ff1f41e6534ceb6579bab35615c51413b8162734568503837e7cfc700bd777b47ff1afd155d756438a89792e7d0a9f5d02e81578d97f2e4527b86b8ee9f941336ceac8cc92c73368912d8d022ded8d65d7ef581a268c00bc6d06b1d542950aec6bc7d7effcbfd9433875c741ff6ec1b59edd4aeb27b50a28104446634f1d7fb7b7abad1319f1c3c02fec02db81814389fe3f428ea457e1532b62b934b600c3511dcbafc92958c8e58b4d4bde14564ab0df30985707f95d59ceb03531aaba047c06f239ca4bfd014e4a1bf34c65cbd9ed13731cb669b005a225c09d7cc065918eab1c18e35aa03e9986fff3707e1b473a179d8939636f6eafe18d49747e00fce4cf8b355e28faf98849c58447aeac736164324d39d539e814f039cacb11fa6f244cd4fe0513f8d186cfec5e82bc2e116e4d06ad26b938ab954b70c3dab988337e235231541303effed68248cf642a0a2b3852501952e50f4ee9f27f541c9115872d05884529d7342cc9f9bae244fdaf7afaa4288e54dbe4ea06cec16d0420d15e95fc300dbf0d2a29e2c732a1cda1036e5be90741d1d1d64d8437b0ad05d5448ce2037773294d7156a3ca8b4db9796ac527dc45bf1deaaec923539396c73457697481777dd6f3c9a458ce750710d0062f830d52c67ed28d285e95f66aba3a62aeff924e45184071088647c80eb614e7f0cfb96745ee6575bdef6cc5847445b1ed1f3db38afae6d742e900c1d8cca1006314dd7a794c155afe55857e7a097c36cf8826602d2f454f84ba4cbdc06c73c468d38f8e6f94c30f43f42f89a9236ef2dd91bcac4897b2b9df63491c3008a91938094a58180d57c40ea67f8563fec7582f488c750cc1aacd01133b47e59ec055307d22554a2494e12d1292a54cec7e171e737c5c8098d59db188402f55ae333d4eba98645eda300be7ade5f0ee5f4f4546fa46e618b8f13f17b3dfb1cfd67b713abf68eb68940ea07d8b8c7e841fbbc9ce76efcb87c42dad5011e2f83e6edb7d63ea10eef4cb66098a27f335cc3d22041902601a3060989a64f93e68cbb978ed45fdef83017971c1264c24d4d4523f927a893fb6ceb943d078df4dfa30a6dc4f3bc9075aba0d350745262e98ecf2e45e4fd8d4e97eeaf06cb4b3b9120d62e9473c2ef832888175659cf5cf51a788f6c781fe7b273c8888f4955ec6fb2de0bb1a576a9e2ef07c2200a167db2dec588dbf821fc24fba33ce39e7d7a10d3d85e8ca85c5c1ae300bf7a602ca20070a8fbd4e1d6259b5b2229ecce9afc4db6df0674d00c9c72731475bb48cda1aba900e22d07d8603335cf435bb13a8e4761360dfa1908fcbe6e9fe4ec0131076fcefcec921ed4713b0365be702e5910d4c2df7e9007f891a0ae3e4131653bbf9b4d91f4b0c6a215aae31f46cf54efc90ee8bc6cb52ea7abee80e55fe236fd970dc1e7738d350619970a8d7afb3989e471855783d70839fc23b90d10957f69b35edf92f099f207bee9aa73c632b781a03dccff406386da1c076d29e7b5edfc12a6279b1491013650aaaa329845bea6c25602b93f560c46f70f4aa448406d2a97a3fee330ab59df64863cedda62fa75595cd8df7d3e32e45a4a3a21323dfbbd92ca767b9179f5089a7b3af5054886f05aa44d67cd1e2ddc3f10a30f08353854eb704064c6f99967916be8097ec7ce2c1b2b4c383afaa93e928998d82de62aa77b0cb709f9a036622b52636941f7fe795879870088138ff7d39237b1c13141f563e21423880c7c8d081ba953ee28b32c3fbd74846316677e9c3c9a6268e1e46f2134ef9cc3ecbd39d6f0237b01bc38bb9f02400771a4ba0172ef962e4e8618239c92d7246fbeffdccc57787cc905599b9e0f7fa255e1361931fdd18401922f64f950687fa3d90e2e790f459d356a0a09a22b00b973221f98a330caa48c6962bb0857eda320988d8a6e5b8c8a64e4a41da68d75af8e73c7ff53d6d0184a6fa001941799a253aff9fefc8c25c5234ac3d1e41dabae57cd0e05d6cf72f992dca26cf75460dba563976c94cae2bbcc93f716cb69335f21e97e0cf61e376160f01c0ce82a89ac1a42dc8b37465d54c665d4549efebe77828ef4dcf346c2a967967c52f4b776fe3971b7efbe95f0c375dbec63c507496e714c5174d446a4ec8a4ba7aa9c6b0970b107b9b25c61b4c1473aba96d4e65a2c780ed654f91c02d313bd74dbea3ddebf1253323f8df5044eef54eb2afb8e8bbaa8b85194b607ba39396a67b9d19001ae0b2d4a40058c9cba2731d73f1433c07e9dd1c2e50db3f3917744e2f001f708365ad32084b482e5a573548ddfe9abcb6f27830b02a03a6353c6497ec931aeac81b59a5525c976686ecc01a01fe971508d5c1376b6724ef55db291cfeadb59681149daf50c6e36f49bbe9e1a3c6eb78c598e8a1f2b14b061d37588ce93345613e8b7a114235306c35e6d5357b958b6d853a913b3527c6660d22d5c65824e0e92219c2a96b2733f576912ea8b01931f0066d845b394c6e9d6cd9a7ca4f9e393c38ef0f460d14a21f7c7227111c4891d64e9e93818811c001acd3bd1a5fbd15ed77405292012419abe37ddd0f2f91edb0f1c92594a4d20312187fc845b4dbb465e4c4655e62e03c850e11e66e117b8dc9854fe81130e22ec709e5616e426fc2812e905d5eb1259be50307055b54779dc110fbf21731d86d9f0524f1357080ea8b6674fe2cae4d6d68ac4dc20bc3433dec46abcabf20de2046d0f680651a167c27f416a18edd7943e02c8c2cb6e12c1cc758f1471c8267ef9abb527e4d81b814b524d2657748e076d12e94a8b5a27ccecb406bacdaa70536d1d8cf3382b51b0257750abedb1677bcd88aec08a6bb818c0248c99746356bb14c38b52c66011f40a478799d484a774b78967afdfea5b04b75d1a9eb17a1075c578770603ce8819b662f7191b85d24aad7f6c4a2140cac269e4a1fa4d3ba3c350e6f06cd152b53d322f72c639ee4149ac560ddd01635b32a05810d11f92fa159368239989723abe88d706ea673a3ae78c11eb2dd9d1a7e5e9d223e359320c13d46179389157239cb139c451656b3c838e7cbe568cb0fbb8f8ff30d5ede140e9553f0c8b971e12468435ee9592c4f31053e4f45adf85c28a62b7a2c50298b63810bce0ef3578a2d9a34e7f9bcf8561d8c6fbc454d70cb5a772a12b229c4437f24d86aed95da449e645c8af54d722b84d2c7e36395dbd77ef9d4c53f99bb6b23a5b8e53917b0a317bcc832c9adbbebc795ef7a08f1c19026139c6c254741b52c0e55fe6fee647809a7697a242cc22dd2ade2eb55204941849e6ca593176a025ca64d16ea35ba1ec3c20c211942f90fcdfca104f9570b8724b6032e9696343ca941e5200d8b10c242665fb81734c40dfae6b01b6086fac39c401ea8a81ab964721c8e094d49f6f60945ff9de2f5bc379741a34d11eb26f4aa0354e853b2c5d600c9df5bfacb99092cf31989a4b6760b0081f0216648d2aa08f1147a12387032dae5fd0e99c7d6b7d87bedc5611968f286a6beaa94cd4d603b9972b0acdbc90d2010019c848a1b1c5678df08f3d0cfe0e86d67cb2bfdfe2661d5f9c36735e28e52c2e5bbc371b29a66fdb9c1bbc4ba0ce0ce24c7d5c703797e2769248d23d603b871a05248371b37981b555c40874743dae5561b972d36f740f70909b1f2fa20bb885ea6ef2ce59fef56d8a56a9a7564625ce364897b05b9bae5b0bb5cda35b33aca28cbaf2f898a336b814bf556a98d1a6951fcc29bfb629a694e2c35bf12f1bf60ce933b857be5d5f21397b6cd93c945b1be80e70133861fd885625078d23b95ee4eef068cd2020947314e60b6888834b5c621400ba60cff5c810624d2a66a421d5cb68e4ce48583f7c27d7c3ad46e8703a1e7c2c374e6bfd1d971e134d72c8b15f8507f1bde52bfbb171d170296193f2d7fc51653967857272c4baec23aee4d69edec214161fb3f759931172dc7b3376289e2f61f01a1d8744879abe6381e2f7566bec31650d38aa36a091527ce76401a63d0f3343efaa0296d469f92fada24af463439d1d6839796492c5d442de8d1eb28baa6c3bfd0bdd5d47b349154e10b987adeb8cb386bb406b43a7aba8bb7303a94247d4029633b84528ff074f1f12fd83fbf56f78d55b4f23a8b63950fcb78f9cf5dae604b8521291f5df0f9b43e296a3a8b7cb757b5d2758e723de26e724d09495823c9bb388c52cea757b1cc9796f51cd0fef4f3b1b439289430807fe9a646008a0b5590b41a1a864396d1aa5ef184fa2b34ab66fd756810ca2c9c7f940d892b0fb966bb86b593f0191e986acedfdc68fc64be0055589d579d29be198b206e673d7509a6ee11c388313760b5354c61d6fb93ca424e0d2b3ff57f62220ce89d8bf6b86b598e293c2032f07521e86466ddf526d0598b59466f53586bfac00614312de1cd424e624923c66a7c9eced74a5ea41c84e191abf3db83cdbe782c91b6c0e4eecab9a2087285875dfcbdd7b1abff97d0199c8eb464d5b2cc4b41c5dc4e81b9d66546674444b5a6b64d2ba732404c7d7b1fdb1f4205e095fdb630fd554ca5f4f511ae4fb0184fbb703d63282ecc05a557ca4676fa7cbd61dfb19456aa1060c5755a49c5642a0538dc9071e2954b3057c4d23e15633eb56567e2fd9aad5699d80087a4a1d6896e6f3f6a2f73d3c0cca2c94278efc95427559409294046a325af32f876322ec235dd202b518bb1e09a7f675e2e81bc083606fea8d8c8f2724d44773c7e3f5185adcac2f3dbe5739cc9728f265adf86664b798e51876cb79cd461bfed2aa1f8f873b0a274dd57b965b6aff2bd68219b53d21aca7dbbb37dca64ce99b9f6b2e99cf6c1a0dfe1cd84f4afb173fec1eb45dbbe542a0622bb33e2b207f82c3f15ebcf17c497ee2b3442334287e3027aa5dcb34d143ad2650339e72c7c3f07aac7f860226f657e74978a31c81f611cb94f535759b51ce201856851f71bb0ea874882e618527b17253f2e0816af99e8ddb4d12a57a71202ad75584f7952beeef71819501c64aa4177a34b6d1e05a8aa0c1cf5c3200c5afc9ed572f145e24cb97165a1433622021f4c28dfb8bb696f54cc64019e39e2dad98513ed4dc3c19a63a4cd747ec2ad756611cd94b8df5899d0a69eee18e3c97888a5c7a3a3ff337279f70451b3c42b37809395f6bf956e321dc5ef43a84974ba99c6478ac737eef3a8d75de19348a13a0f48f4145815a20858b21e89de798b2c2f94b01d91c4080703f6bc9d03848b8bdff939c6e02c4eef3902c6595304b2c483fa4e498fb48015fa78965055af0e6096a0e1abf462ce8c475d4fb7f9347c7ad1a48d73d52405f760c7e66848e3260c18e1b4b2c280e9352201aed3fe246d92b7973c37cf84a3d0e2f0553688f00410ef0cd0806c9bff70a4305effd50d33df7f26dd6f3aa77876f02c469ec085c87005674bfed0240b065a9ac51fb8ac402c75d7ad1c49dddd3bd9fd538fef06b8cb03492cd08d5e73b75b9652065e918d9e89fbe46bfcefc398830bb04539220a9654dfb360c4b0debdeca4ec646090504335c22bd927cae709477c59f3b08f92d229551554b06d636055e473ceb2f4ddf5eaeafd33c556439b35f383734a8ad448c45c213f25418a45a24ef38bbc12e4916415dece5dd911a375d69d62fb6184843f5db51fa6e7039bb14a3abd0e4739860ce487c7fb68b8a3bd42dae20a6d4c3c4c52c27a0f514e5661a70126ddc2d2884ea204518e8f0f2f4fcdc991a8356ebdf391295c9a517a585404a39d1b70b434a965059bff1798cf630425d1936cd6e587d9015d86182363f46908d37f97e392859fec583fd0d240996b9484d3db8bdf27263b2b296912b268f47b33b15674eaf1dbc4ebbed845c76ad530b6e29ee8bc185e0d992dfbb73becee3663e042c13e2d5fc14583dcf536159300ba029a9e8cb2a9a20b3ce4a1eca5456227c8e2fd7f1611609dcdd90cd6eb2893d27f6119be443d68e00ebbf91fca17654fbe1af27e594835d9f2a0cdf51b15d9c47504fe44d4b7059101e9397fcbf95346f658033ab4eb51104a3a77c7d51583b9f70c5781a3be7e3957e6d65dfd2e6893944ac46e4f5d486575d0a1414440a2a9a9a905cc1a2c6bc355a09f67733aa6d69bb36449d2425980dab875105fea20d9c8c4a93c3c186e540ede3771f51798c985eb673c870b274978a5a6ee91d5332d875f55e2a2473fe1d32d334c2c9d11d7087da383ffedca26f07dfe596d92a7de94c0114721fa49a70cba876f278813d2f1eb5cd7c042d6619ad0b1b8752ba8dc3b57e957ceaf24586889ecc4902c9f752e0153cbba66d1558908eba4de92a75881bb44f4148c5f0dc6a28f5bf7267b879ecfd6d3c7f38819dfc778f103ea966695767350a5001917141af36dbdeeddbc0a4c46c042e1afcd1b1e469451463442a2d6ae794ea72d92b34c6a1471310a030af04b3a64d7a902cf540dffb018697b39e929a64084d2809bdd7426936232fc294fc6ab078e6bd810699db80ad60bc84b5b437e362e34b7024de62c3335c88e347a890619eca47ca23aeba044f1c8a86ed0becb4c948d7a7b4b9fd9dcd3f52e5da878822d19daad6bb7833fc4e41b0d29c1f1d636486ea336e17f50d17ce448a7b2d85419a3d6219662d06474909d9ba874c9a78cbe16c1dfda5b0863dbe907aaf87385e101f5dea1b3915ac1460ef3b65987013bd29b3535a7a848ecd4e5ead43ccc8daaa8d0f04cdb36099ba00f7e70723c0a7b5bdedd7f4cce79299875346da6a55e80b3944adec0a981c6dc96eb7f3ecd5698762d4a89ff0a55e2ac43ea104c3de6cc299fa263f826641fc35d92599fabaa3bf5a88e2b81370a8d0b091437807fb48d2b297ea9831109d86407eea0e57fc94b26bf78cc7666cbd61d367f062b44ce1c4d6d87dd26eac4a15e009b6a5cfc6a4d6069087f125fd6c3c01c1abf5bb5b2b32648570ce2d463a1541ce9dfb6ee6c912603beeecc03de43fe11ce0206d44991c0e78f1f1d158da74799640e730d169234d5b3a2e1dbe9ea3d3e411a929c978cfc453475e848321b2da6edb090e2bc8b2c3150ad68b4bcab4eaa05a5e715cf180fe229ddb9d45f5adde681da7338a1aa3cb8040eeb0db3f6c17e2d0262edfc0fd5010510b1b213b359dc314e0e800d5e269f87ab59a1059786d6ada9c495429ced2bf55104f30103b2586d2e022e466329dcf176f1a8eee3d464cb8bdf98db3e9cc0830ed6c322f439166e49006d0bf26dcc160af44ef402c2efe412c77fafd37d38332ab64ddb7dfe55497ba666940b8d7c2eabb8748319c6607bdcad92742ef0211b6eddf14235e9dc576809874b8a323a275d9ffcd3c245d0c1eb260648f6ae5a2782b673afcf39683cb823c1138c3e246e89efee6e6a81555e696dba6f26201484db7c6d383f1f09ac294829ae7917f520b2f8a6db9b0e0b73705e0ff54c1cff2b568705a936103a4a3742be655e05c8d7725ab76bd3182c5b4fcd6789be82aa66a46b679d8936d72561f9661931329bd862f61c2f2ad7be569e6f659557eb34491ebfea5a6e4e3d96ab73d40a36da853fd7c3dbc37bf4d1f1ea1fe69a8e7a7090cf1b7d2285149ae39e70b0124f14bfd80ff37fdb7fd8e0b5bfdefdd9a59387f221ec273f218c8c0d4f2bfd1f44b2c31db36cac9cee4a28dbe193be1a3aa6a5a781009712e013410e8e39c96c13c269d2a5ed2aa0ae6f563f50cd0be223eec1904730ccf8a9f395b0d7648dd54d35e10ee3409e2f26ddbc7f620923f0695670ea0d89d9ea97b1f18801226693b8736b7292e53ef16c4be2f8a8d6021163e2f7762b40cd593d7c990fdff80cc78d7a72f62546cdff58cf61faee77c150ebce74a9ab84eae9fcb0fc44e15fe3bf7e94942fcaf7f297e341b7f4d7be2c26a65d61a1766f67b0ca9f7bf4f46adeaf9953a3192b9f465f453bf6f1db28b973a37125190ef3a89dd7870130f22aca6b55680fc3f9e2026694220840f16cb1fe126fbd7ead99cffe8d1a29d5043a1fe0fd18d5816e0725907defdcd4011071709aa9ba51329018bc0b145b3da812feae5de291a572cfd571bb7761625509e45870f299c0fd1ac80ef1c9103bc75e35bb500df6d2e50d6afef64bc38a882a63d7c1fd965dcb84676292c5db50d2e75f62a8e6314596976315d54812bbed2d3ac12abcae96224ddc3b3d63a7f4f9bacb591145e1c2f6bf06aefd38c993419ef2a3e7439b4546e2497ef50bba02a38bf0e53699b3546bbac4e1a552f725d924ad113ca95dc831e3176f1f418df096ff70793958e8cb62cd048b168ef38953e785f28cceccd58605e74708b4f0940dae44f6c31178b491e826d64a612284e2c8e9ce3eea11c606987683f73216fb61ac2a2c1adcbe6caea5f899eae0883c1e5bbca35d76245e0ab870857647d96debc71163908de6d5a4b999534ab7ff8fa0bd4d0f0045efa6e25fce7dd598d94940ceddfd68b2d751d952fac2db72e563e9469d8d7500f526e7ae1880d831153360e89b5c0266efe93117e8ca5263a5c04e6ac0e2a640189c3db1053d1bc94a06dc3b666fb6484e53e4da552be246e68b796e8232261bdda5bb9d844f0f7a6a95467d2df31543169e0f88c26d3c847aaf2691fae41c5b7ed4b1c625db9fd62a21c3efd2e17dfa0fb621765827a1ff8db473490a6e8002e9529bd89a12eab98d3e3d49f5d2f3604a3f623ab5164d18c0b81343ffa332d1d0587deb937288bebbeb84275355cd479018b003fa3c3cf50cc256bd4e97f189c525ba493f7da6a12d21807e2a2bf244e12a0e2bf39f1d8018173dd005fdcb05e51dbbaf4911d215f9a2c6c28301b543c2293a8dd3456341be1506971419057da322f80092f88b6688200685e55d53303b3fa01085bf57954870ef29cbd71a9229f17dda4bcb590e06098d5cb0745a0cc5ec2be0ae21dfb3d96658eca2a5b5a218b2111c89e1e3da48ab0f0df006800d1b35d5783b44f6fce5fa6a154266a283167c8c924ce251cf689476aafb4fd81e6854077588874955387d5057de05ab07b2170aeb6e6a2ae1b2bf0dca18b87dec6daf13a7a457ebf74ce1b5f8b887b9f4410e0865e3c840461b05bf94532756a5b68b19dd001b284035e82949464144c1b8a846abb6db72127bab5dcdf5eb09e9aa152335f4b56e7689f52220e4b19fbbf2caf7de8c7d93581a157cd2e328c8d0f238d570e4a2ff80500e0b213611a647bf50f14f0748b4de258f3640c2625b58703ddeea87264b895ad8c05de1a4f25a2a7918a3e7adb40136ae0a41c0e45998f1cd001fad4e412ab255c7e8cdd724a61bf24ed72f75253b0390e166a0f7715acfd8bcfed66ed184652c26e49b7f90e644afa79bd88757e9305979ddefbfbaa973ac427da6c0b278fb133a173060d2d7dbf140f479728450e2685306d946c55eb6840d5abd4e6b10049ff323fdf1e67b31bcd2cf1fc801d8c1bb89be541bb1e7ed7102014c98e2cc9158f7189b46f36703e4f30d354fbf1d4fb549b69786801c110f40a15a114b042fda8e19f6dc5c2c91923a545e1e0a0b3ce0258ff2ad110c348521698fec1dda83466013e858cc8cb3212dc8f5c9a694c31d108b4d97c384e6b44c84b8dbc94d2ae86be0f058344a4544d4bb0924cddc8d668582c56bf478d7367d6e8b34fe1854c04bbe296fdd7281625d0fb80914b84be1d0b1c4d68b29c301554517a49f1700fb0d8d006cd38ca93bb5effcd61e9468eb899ae8c3d5969556bd2df597d3f09bc7c6e8d262b860cceace4663d5d0d2c36065dddfa2dd619047ad1dfe3974c62fefa64744995347cefe74e4e7fbf721636f210d8b8a420881d8c6686ab717cec98a350bfaf8ab5a0acda7e4eb03f46e1b5ee2f366bb04fe764d8ed037326cd354bdc6df4286994c21af8d4ea148142116092e6fe5ea2b717565f5a6ca31533b998a340e75b59f41648f59d8c5aa20440403454008c91aae2ff70f295b4f54f4088ddeaf1ab0af0a81c292615b3b3ea2966503b980458cda720f72a000e04ab7ccd9af4953d32b2aa5e20a7320a3514e45847df908365143fb40fea6d680512932afbb5f35aefe1fa04943db0ecffcdfaf9f537f95c653fe1df9906e1dbaa701bfa80bec494619d6deabdda372f3b157762b56c11175885a760f7882953e309899bdad33961b9c8d69dce06c3be5e7a8d8c53d5e497a774be3f9e32e8e2b74248dece85988dc9950fd888211f580570857607aba0e6c6a62bdc165ea41f5434df53087af109843a350635cca16035bd11e44a21ee0568504c55d811979eb17f8ce2a8960539c01e74bc3dd7119f4c34eaa5e0b96518692db4c1eaa64efa0147601608bf66fc62592d0e7f339251a20f7c9ce60b27a54fdb523e444a2dbba1896cdff4fc23f944a3cb327ec388ae589fc7d7a26bc15391cdc1fdbb1b81e7aa028d8e29e489236e5f3f5d3ce6111e0ae9097ff850df228a688c6b7a9623a5e4d92153f9cf8a29f546b614c605f843cbb859e3d33731b839422bd1c880c0d8977cfe3c289e73e24da509f210c7ca3aac8adf2a880e03914844a0a3e8edf5b72e44a3c8e3317b104c80bc5a80d2dffa0aa8e9deaf2dff9a7314d4df0101850da679a67f021d932b3cfd7eb8f9648531fe9366e4ef1a2cd88652044505f2bc06140569d3421c80169c70896ffbf5820e79bd466fd7358a9bd9b0cb42fc2de19eb622f329431ffae9544d8d3a59c1e0ed71a2ac378ba5d6375edb78044c071cab38fd20194e432c44b268992afdbb2375f29c178d311efe7186be99acb04ea90496da347e7531563b93aed9a08feb08885b5cd08067f5775c6e5fabd245010471d72417a0945b050a41658d663532cca57d9dd511f38e0ef1dc9961bbbe9106f5d270a043602df161d7346463f855acc9da464b38af55bbb1534bfc85f44cc8d171641195bcc5efe0e18a47520111eddde98e1319097bdc87215869fbaf054a89470673c208873fe2081490496cd903674ec6b165dc13baa8c6250fbe9ca079dacbc73007e25e590c3e82f2d8ba588c4473b2577c410eb52e91b1dd3f1c962f5e82728ec9489e9942fbe1e1246e0b230285b71da1a2bb1fd4cf94582aa40d94f64a253165e8e2b0e75af11a96caaf996600252e6bf0dc9feefdb904d2f70a3186befcda52bd798791b8dbba7959fa7c3415d8dd6bf4f2b4f2324e952f94769e0ba06c2a93a353d74dbfb0cf3e6e1fabbba8d4e3d85fc190ffdace792d5933ca91690a4605d7081a62cdf22f3bd4b8bc3ecade3402c9e7018a8f31e3693abfe838cca1c0ec1d6604ab3205e58a1a1a4ec09267484d9cebb507012c64ba6359cff5cfce94569ca3e9011cc1962f51c6b618882258220ddfb65473241e8ddc347f595cbfcc8b2a5baffee7167a9ff9aec98aa83f60711fd2604c268769e8c5f38422c90208dd83c0eba5442c776744fa505a490c3bc63e174f03eef15eae5a4c7a08a6d9128ef2ed9a1ab047d0fb9b7aa890bcb65af02b200005891aa3aaf44c59103ae3be0e9c4cb108baf9fb45864ff6dfe254aef48e7595e0fa795c694c5196829867a6e2ed7e950bb4f672f4c7ec7b891c86d21852948ad64a1bc4a8637da718963fef7fea7a534439ef9b4a0603433152e48f7186ba6bb242b53259603a703e3e2b2b2742cd3f814837baae57c2baf0c36beac6c4b5d3e5acdc689bf1c4ac3d3d4fb12d969237cba6c5c6d5cfc7258753bcc1bcdffc89594eae5cc23ff903c9bc7d6f5e4c1735f52126552bb9f77f99e566ed060c254aee0c52326657e074a9d624605ffe4acaed197ce030042fc1f04f9ed8ccefc433c7dbf533a01e557bac6858cf48b61d289483bc3a53ee186acddd63e2fa5d353e9515aa68b7b64aeee55b96e53c73b788f071d25b06b3e8c224fb980ec1c6a756198bc15e71d5b559adf0ac5802594a3154a577fa7b83957f48faa32c746b08643d1aabed9357d4a12d53ef76005a77cfb9ef3ace3c04dc391374f3edcfe404fbc338c8cfec45bd7879bdf78f982655ad5fe28767765279bafc81428f76066fa5b9947bd082622a4311ee3ed22027f0021c7d538911f839c0839afbc4f8a8eb51168e34ce2aca8dcab6365b6fbf01a9bd944b469e8c3e19d6b585f65ab7dfec7e2600aecfb077bf8adf8f8b0930c98bf196bf47412519703ab351a0e133e48c06891fee08bd17d6e349a3e163811b98a2f1de31c81086785bfec418fb821128c17f8922bfa7905a66e07a3c00c058d34be5134f7bef9bd90e15e93f1ef776fe6450987237353b9683261f70e377eab1c4ae2082a88036cf146da6004f8175b220fa9eb790c1860763c161e039a200bf368ee56fa17de6f36ef87bef4dfa9a1e8b3db2e62f3d378a556f661750efd5d45bfc685dd00f31dfb4e330128c090a50e7afb75902c9924371b722a6098c3e65c58eaf503b2b8bad78fef87d18d34197430c92d949d5e26744ed471083cf1a5ccd1550636322455b8e37264fd346eeae85b9f461e4b0256513fa30ce564a9388a9045e6d5d98f11cea4ef997ef7e4c9a67c0d888c7d7bbd3e588f77651d7839ae8e4fcdc806740bfc951dacdc7513a3f572da5c5c754a8b849600f1f917b93b869788541c74d7be8e110a962afd3327d4013c982225253153d00e67c1a7de17f51f02b1cebadbfd4ce41a8245583dee989e5c9cdd5ad5aa380b690c0e1593573dd3a506fa3492884b3e0f38b7f53602a17bfd55e293cf6703d29258cc52451673afba988c60bd5e4690fd4a60d0e6ee77a4c0aa6ea677c706b44271ac660eeea36890a512a002ad1d2b093ed8da55d4d91208a5dd90ac2b84a6b10273247ab38188980e20c3654e1d6abc741db88ceeda34bf34707a8917ba67f41847ff342e4b21ebe0ec9b36b9dd5f5e33c6e9aa49a991a2dfe4d276b8ec8354a1fc75a231e93f8001a9f5ec8f7d89b120ffad81bc00f3bfcdafdfe429c1ca242cd8364def1e69dd01515a7f4cd7f3a3dca6c877c05728b3a5fb5281ef6f0ddd191929f7e2d458e8b28d5fd798514865c6aca423ab4484c29b175b88c360a2ae2738b1ca6c2fb9f26ffb7f5f559f68abbb56c0629ac1bcb933e31f872beba6cfd9f39d0a8b8b3331354c417acaa1b2c0822e5c14b3fa63cd16d97333a98596b99aaf4792ce2edd6c98e40c804d4e1f4b61c7754c5c9c7696dad9fcbb74dc99e0195f86126717cffa672e1dc116de379d225d7461148bb1c2b476924940093bf7ad6a47210f06e18ef1af2deb50b25fab1e2cedbcedc151f425fc1fc1f60c5d8d2f839f3f58b033e88c0fd572c99161790f159bb618d520b60a915656bb2e0a13529b38299f7ae0d885ecbaf515496b03604e14cffddb342971ed068d9209dd36494bdb91b926b8c3c644871eb2287a50a51acc009d89a02f0f063388229592a03501edd67bba988318c700e7ac73db82022fdd3c3f1f0856dc47fe30b3961fa8c197deb3bc066f132fada95b5755855ff64795d2f2dc861585c53fd4477e631c2168c56f090308661a1e840b68172833b871bb44967c49f0180001b194d256dfe40ea119c49018919ea110e7dd64df4ee87c12e82d283277e56340ad86651f04caff45314f9c4df378a17f4483728dd208e33305c3487af0438002ea6ca77f4b562cfb24ac79827d33dd4600695f19213a86dff335d28329845e6c4783144d687dca0d3c5ff2ffd0c876f2574830e55c2404679f7c26b17148a98f12c55241c43560238ba2887c26691977c01ea89a689da6af10a846325b558a48ae53c9b915ea6cddfb9fb652342c74441e87682692733a1b10042e5b0f8efdd65a1657d4784a429fe42fa36d94b844ab84c620e71c8bd4beeff88a87100f4cbe099f70621d7037b2ac90ca526e7afd31a510884da3caa0b9cc8ea2cb2d39671656fc8e5548e3b1468726ac313b32b51188fbd18593e8316e4315a528559ef7f691b08179cc356911a3b5f0a28b6acec6aae0706a8329c503b8ecb41036d6280f6862efc08f9afe2f1c70e6cd76ce053d64af137036a3565c9087c0291c6bb676dffd8643d27e0549354db05429b972a12eb16efd72d15043370f144b6d31820dd3dc854036232f117e695c7b356ac9c8391bc1b4a4c14c3af39d57d4147ebd422180a24d93103499e82319fba2c48a4edac4e9f6129eb434aad5a57386c860288b78affe321135804ee888af4df3f591ad6f2846445d89df88a5bc2ce08879bf5650f5c628b6f30667845e60f99188b2e1904063c8cfe58111550fd80a5755f5220c511cffeab1434007eacf8c1fdb782a5660ee289fa772e22833420f24081b08e6ab8d3639398c66d00ad1d806b2725b1a3e005a5fb6f82f5e21db4b2f57396f81406dc805206e141a696e8f8e790798e162908a6036dde6bfd39ebcc4b90f309f81d971a482d4d664d492b74a735bf2c28d90d8190795626fa288e71ed0b1d230d974c6a4f1ff8f7913f895bc36c2f4dbd550802b10a7e0af74a55a8e42fb412821970937665160760ce28a93b3626f8bc23faa6dce298789b45bb16cc3ac870b1b2cb8211a8f2420a11a82f9f0144564121c470beda4f208f86363591e5c215fe9c160a554907cf751ad7352d046a9ca42b9e29135a43abe2125d367c65581b8f17b513bd4648f3044188ed62e68062e652751f2ae0359d1db3774d695f1ca558421f1cf48b51b49d1832925913a8729b4595e6c37ab790bdf9912fb051b1a3b80d24765b5b8a90507d1e4127fa0ef4820636862e6142d9e3a3448c3f90bd66621e51e1ddd10f291de6e0d3f8b208f302fcfdfa8860a63a56375b1f076cca1515ddaab10bda1e46c98f7d7c3498abe72d4ed04255a602699c54cffaac8ca3e72730f479e607fac4d8f0ac09961e802d3b37d74c3720b3bfe484505f6a95766638495410fb788639f9b05962a1322e3dfa9d69b27c65f7df438355b512c3d923928ac482b9c16ead373dc2a0ba7dd4b1069e2d4f47f2d9e4968a51a2d082a888726690cbd61a775b3f92e9bdfcbdc601c8326555800be30eb41f3df887157a141878e6552138acdcf17137ece7c10c4cfd72e1f19aee26d042e5141c814416e6e4197f909bbfc0151f5fc78ea12557c0305d3b57adbcd6ca6d33fcf4d1d2a0e4ca709853083f1a6e503e5fdf3edfd56c020b88b43c37d7d4dc78969faf18c22883963e068b079d565a3fd965d53f0bc17ac8c89aaf0424629ab19fe77e5dbf1305788d0f13c4d4a77e59bfe3aef3069561c1ec1520aed87538fc6e4a545875689a3b6f9deab696ac6d7df9e4194bc85febfff411cefdbbbad6c98aaeb1619d6bfb417c5897b780f43a25da20484341865ddd5384ee144827ee383e5c158e9879b7b2d54682a05b78dd7dbbf24d59afc6ebaf8192b050eac86af5279577849ddc299991d08b1b1f12ed8d9ff61dc6390c130727c4c403f05fb04d2247c0355a156adb25d832ffd9e57c8ed116fb300987d9cefb9d26edcfc221df3a3d650a6e1936bb0237e5f77b9efd5cf049f6ac35b53ef284e72ed6cab1ff8ef7cf396138fed25ddfc45cd5b96ca7cfa718c6effaf0a3e35b3b5454e64d83fee311aa3aa5fd0eae2ac347186c2a5ff49c405a499989f4c70832ee6495fea0f446a4469d6f9159f5f9ec47c29e128232a150f551e3ba896f1d8676ad8ff9b6cf9bca46e73391018d95ad17af917b4f86e5f334e338df88b271c88fd684a5944e65c5db592c8bd01cd0172a5c052184c01c39f9d0288c950f64a673553704273ec50a8861a90f3a82f4073c44c8f8da7c24076399588e516b82d17ebd589fff01d8e70452e52c525496a4a903c73cb96feadf99809b93b307cefb2e89446aae582925ebf04e859850364edf41ee703532d91e35b2e69d28dd576d3bd1875bd2c5208085a83b4e5efc60adb6d78d34ee550728d3364ce9c80561865356be7f3bc6371bf1d44778644b069281dd2ec2be8e7ff5fd8c17448a574b5ac847039e8330dc1e4011625bb41e2e1f8c18aa3cd5219055d1d8d18ef01c9d51387c007910ed001a7a83042754438ab8d2fb5d19793c3b4c05795aa7afbb00083dad14ac69363a52253f332bd581995d2f1032c5459cdc4af0b7a48decae3b972b7a8c7a2427ca822c1a804868108981891ffa628e79b1b269b309786337566332653be3893afc95ebe97fd9bdbb31c6cfcd6c40afe666dfb81bb7fcfb8ff23f3f713cf8abbc0d1f043c9f9639a56ee7a320845228fe733f342373d3214533434d49ba2c7edb79235b96e8554355e2f56b1a183db38d8fc2f35d13665da2d1f1c39738f9946c7b58a4dbbe031833d83581727dc4e9997c607ebe798a383c3e88259e699fae513c66869aae701b155d7eff4f6031a2425471032b9ea0b0028bd214ad9ebfe9b665d57dc35397f052fb3693eb7f6a6164a4ac66bbe87af31a6dc4674ea114bac89fc015ad4fb95187f80b325a59b484c7381500aadf9a799949e9c0a7f2cf1cb958819e1d15c1bd4ec12431a142f1cbdf03a5a50ae193efff20e0cca0ffb2ea0ae10fb69c760108c6e78d69bb2a8187d5cf4627eef92dea3e23a24db1797e13f2859b6c99742f09428903e414969db35d8976d316e453a769b20f95dd008a370533d0a121ab82ace1fdc76fa31da0cd02df69538ab51327e8ad7b78f467e7fdc94ccc455f7c393877c064deec6d315a5aff38ff136c6c5157cb7c30d7b8bb14c08adc6719b5e661c166779752bfafbfec76ef26c647df086633a61a0fede6654746b706e931ea8d99974631ff28bf0112e94f860afd2473eebf836d2d84e638dae6711416f43b13cc7c84c9d60c03fee9578288367c52db1a218c436bb076ac330a9e12bd7443fa3d091cfb36a07f84de7f92b41400352680d829f0d8295a4729d7b0eacfab21786ed614a1d31d60a6307201a145b81bc7f8b22740db4e5ec10969d8cf99faed4368881ca6abbe65ac2a02995549fb027c1ddc8dfad0d3802033d2bd2bdae1040cb6fa4df3de3484bb306befd4ea299220f18222ca1be0c4f36987efe47680b7a9c7731ca3fa8b6b3eb7dea9075422b28e0457ac76b7e845f1f89c4b66a325200957879dd9871997fe8082ef0edf05a22c7b9101a9564431059b846d8b68b224bee4b9785ac0fe331572bb45278b2a3cc07691e0dfc5b00ecadec6796503933dd2274d2b2fd60256f9cff9d63711ebf6508cd2579dea1f37113e51cf4ebf0a706700c915abbf67c1b7c1d158fbbaa10438aa2355a54e5243b5cdb1ecbb1fb781e7ad84428022ed4737e62ccda2d16fd8db845663895f340219e982ef0c83e6005b57ecf78d5ba1d1fd901f2d7c22c486bf51d7b3f9024035fb293e237602b2383beba12178233a20c6a02829e247fdf83d8e581cf213650b56e7673bb2e9f0d7a283a32b245392393542ee1534140b459798f731bab817a1eb9f5ca98f4e0931d81bd99be3feb30d1b10486cc0776284d6852a69e205fde3a497f81589268dba232456f7c806aa6e05a82d80c800dee229a78f81aca7af57a335ee67de88e304b623fb10aa7d2290b5caf570d6641def72fb305f8a2021902ee65b29c0a291809c11874b68b4b7984b11a5836b5f44e2a6d9a7e69c4f564173255e8ba5868fd2ad23c2ad1ea9688ef9b44542727d6dadcbdbb855dc457464f5b04657a857ebe479b07771e4528ecf1e7b2b34ae8ec13fb0e0ce1fe079497c1750011e7ff11479f6b259df9098d91818c725f38019433370b5dd121f4f70a02b6e571a9259db5a410aeaa8d04bdc00701a57eac711a2f064f521229fca2c58c656d10354cb2ad8ea50f1b816d60d0ee4ee808764397f3ed3e1d2402dfa852d7d1df991a92535452743fb219bebc67ecc47125ab9b02aa38f1e33a65c22865bcf71b60300d97865c8a3c78915a6176b4367141228f6acc7420fe93a99e686ba1587e1a5761a702fa178ae396de6df5fd7f51243950ef59a5d5ea0237ca92a933299d30616d755e465b9805100641ea1abd82a9d72f84646c16e3a3ad3520398e893fc4ff2eda917c1872e66ddfb3eda377a2b79f3dfedc7c577fccd030d5f6295a0283b6e9ec14c0f0e01c94f42698f21e5a1012c3cccc2c46c2f5a2d4e1039074d42e32e1354f8388ae17011e7360c95bd9b3ae919218bbfaf864b8830c14f832906962fc0bd0512ae4258f55023e9b311f295f7ac1776474ca2d6759a4d6c5a5f5d5c13acb3906523f493b3589e2e5fb214f0577a04ca8b57e52c91cf833f942233ba24f7cb2886244b1ddf63ada7d9a9ff7c9361656eb9ad1e9208b0949ffffb11e250e7f4dc2f01fc9b55884cc264bd84b76cd70a66a7ea1b13539e6eaceea7e12ef1ac7310f8c33228083af9f7c230d09447a0e5dcd666a18d6cd9860f85feacbb1e6d3fd226181d2b6fa34f45f41ac88959f8bfe8de1e1e2b8735a29673632a6d45ab9aa2875b0d5839329b2f6e347ab8a0f6782611134291d07d58ff73f161ebff3e6a7001edddde95be6c57f56e747ac1aa067b2a089c65148d0e5287633ca31649c2126c0945304fbfa0f7b58973a18e843c3204168875bf840df96076588b7d96d8d1d340c298ce8c0c3a8cf15530b1c613ebed09b015b9891bc05b8a5aafdb21ad221ce655c944f5bdd2888a2da02e8bf58a5e2697e0e6d798b11e298ea7a403a0df4a611638ab36fe70d07a213bbbe779fc824d4df79cbb61be1be9da83cb8a81ab3bae9bcf28ca748764b88b0091323ef3a309953037372e0c55ddace8368337315002b2e918e880375585711df73a2594f86a44d2148afa51be3c6c992922ec9e4c999c039fd3db83abe44b19e3e17217b823296d6c768bc103616cf0304ced9ae2ea1fc21d33ebc6a1bfdb3f415bcc7c91fdf21b1b13ce150601dbcbca9481ec0b8d110b135a213f00e470a1318e8bb50c8524120f0bb52ad72da9204a66e0cd5b7d34708e8fa891d13023233ab001e3efdd7f0e5a08f28deefd6a7107ec3b241cbc008db5550df26bbd53ffad483cac6b71ec743b193563b83946c11508625a67de7cf8f455e3e32c4162dee392ae5c6d3f5b547d179e15a7b7c232abcc4b93fd74fd67d3d52b405131b2595206102e90761e446a9d7ddc9540266f566ee48fd64423347fd5f8a0c5ea948aed5a50dba7f4357823710861043b3cbda66678344c8cc7fbe9a5e84ea3189894b7f4403a7416c8b65b22c1936249165968867eeee8dacd8410a879114f790419618b3476868dbfeba91ad88c1f844f2cf5f0b5c82de0d11de12481a6bbc1e2e9538285217e296128bf595120e7d093dd352164c95776243ed14b5bde492f8ca59442a275894002a2e92fe30abc12579de5ccdce24398e097124f9f237cad6aacc51b96c4703f2f0a5b538aa2daee0eecb99ecbc0b8c65592a93f85a2984b8de1b807d08082b7c07c34807e530272d9ba3f223f608218e46a6ff709645f5ee7d115b2004f24f59677731a71b5de47cd901db5acda2100fed13698f331d36275879d49eed24b3f3792a44d92a6436d51be99e0b947d9d4673928dda561e9a83540b5e77da95d6088d2fe60baa0ce2b22508b5e36f99076d5874a8ddb9f7126e4cf47c6fc41c97b866ae088295deea1e28b858199abc32a02fde44f812a64ce841e698492b1037cfadc5940a837eaea35b50c96aeb5367a5464e15b5f978d31638b4586df47d8b5b30b4fffd3a50796f48864079c365fb37302122c43c87301066aab148cf724ace771ec3d94fb989c430a1dbb6093df4a71a61de4e2588451f040806bfc92e1efee50362a611c5379806e87dd1f0739ed5dc27923f68e9053e95d725f2b50e74baae62f124fecbc09eb3113e1221fec65cb9dd0bf8cbd895474ba4150240874ec3e02716aa60772acc3d85112bed043b5ecd483464fe39d74cd9dadce3acda097b1f99ca9c39f60ea292b31333dd47437773c1afd8e529e343a0107f3494b981a6fc2e47366e605ec8c97eb0b974bb2cd372224c1cc139363d69ee980318b0a68211360ae69116d7556f0ee3b228c85f8b32ecfa2d06a2446de18e1e27ec10a4b4d4b8fe8f07773ca5949686139e3689b890fbfd543062610a108c8247ced089d9c297c76e581969014e96c969e99fece79d1cc7e994a10168796c2aec6f872c0b47f45b8c7ee455b501de7c3460c700ffb1d4c545c490da8cfa70f177e9f7d5407dcd44d3c641f3a70a31a0410da268c5bd48543b67463e0f2f3f33d7ce9e745f825a2eecd13e5eb43bdc82dc08bfb67c416731d35ba274f1ad6e0e980d4fbc074aa00dace27bc01e535e57d9406b73a0f8e9c47396369ce272b11c2058d4df498c319a3d961fc543fcbf338ee3e20d715dde516b71c48ba3100a5c48f096f413f03f7f4fd72a167397e0aa66c74728dcef4373e0c3444ace01e989ad8f4fad434e00382f5ab257268d0c4eb66a5c34d473fe31019cac1e23ca7db81985469701ee0824d94865c23e67fb9e1bf5290a68b947f2387f327b91187f29613bb254b407c836092ae019ff84cefeac4da9ad176e3336dfa1ecc659698b0dac557cbecb8beef1bfc41fbff92f9ed73dd182f94d7f5e9bde141dadeb4dbd1bac69ca2ff4ff11aa3814f6e048372a9feee8fda803f1cf3b89baacc4b605352e22d5046def69c3a79d66b43ab23fa0f49f9ded5484d3547126347848a21c905353376e63d74d85dfdded89889a75325602cded24e305d562b5419e27113936fba1fd56cf3124df406318804b2b0267fdb2bbfd5c9e5de7d35f05072c93e2c4f7f4b3926e1a78a6dd535e703882c710f02b84d51b25e8f4f11bfda2144af88476bf665d0cf04d7a6b1f18fa3adb915a24116413563417ebf872cae46d6da11ba741e9a9c2922f6609449887c1e8df9143107fec4a7d1406b9325db465768c20b9af6f1737036c3f817a79168fbcfdf3b50b05ee1531c54efa2766d49e82d0d54201fbf650d49651239d356eee8c54bbd0061bb423b88ac134c6fa6093125ebce27acb7d7d88eec118252fa8c0c40029ae81d0ac822daf9ba97de20a8280bf2a699a26b17a87931268a8e13b5c204e8d23ad74c028f8548eb9f5c589e4c303ba6ec3c9f2084979e51b974d9fbcf4e3e57ad003dccb9dbeb8738842455ea11cf8aacd81263a41ec6f4ad099f1c241c534d0e9781ed4e140c172b6e216dd8e122068a006b52dbf76f50b78100201ff669f0ffc0032486e92bf38903a4c6c9363f8a348e77d1c61a0c973e520cd3aca5b38e306c1933484b837ce515820649c8e5f72ac974034cdeccd489187181590456080bf1a851b99afc90e2020159973fda006b9c69fe8ec960e910131ba902814fafdee2c95fc480db9d07b7e8ebd9f80795bdce62376ea31e33e339587f93d4bf353cad720eddaf758ea0241274bd0c535f5db7321ee95dd160ed384a2721ee89deb5d1dfe199a6fea3ec0a09dee63c547b78e1d4db889d122c7e3740dc8fc6507a05db1ec7c96228b149acff7a62f665cfa13a410a8e47ed2fb079adc9348e3b878d26b370ba0cdf944d70eab9dad2656559988400049dd925ddf34049779dcae4c4aaf02c02119aed23d998ca8e855cccb24754160fa89ab2247911c1057a87874af5e2d5df92441c5016217b4518f61bf3b5fb64eb6fad4987f46d6734f1d9a570115345baaefe531b7403b4dc772cfaf5d59657812690e849cd8ce43915693dab9c508942cfb4ca22665373b4c9e8bf1d38426941e5c98a4ea4893ec89bfb4b17f50a38abfab3ddb50f49103708d6d1aa61dd9b54b01e578b4bed606c4fc97d59ccaa9a025db1e317e0968aa05952250c914ca0b0dd3e9f906e4083976eac00155b51ff05c6e342f3c741c964ff62c56bf1443c5a6ac0c23cf8b4ffe8445a8f820e9fe453af4621aa53f766238cf4e4764552b65d487e0c023a484559f0fae6d44519e956fdf83ca9dc9fa788d15001e9ee7c6fd8b2a3390dbf2e8ecd98f5a24c90727ee798261cab720514ed9a59ba925fbd66d9d8741bdc2f57f2ff480513be10b035932a4b3b2a5f44d038a29a940ecfd9535771fa71ed38084f00a42bf3723a77a7f4dfd42874251e5dafbc16766349e79a57378d45cfa74d18cd7e6719c9fa06ceae325b26c4f68ad6c4663f6255b3182d2654913cfd005e1f6ea388832e94095f6d99c82726d123de307e6cd388115bf514cad53a44edd55f215742447ec8bad35ed3659495056154a6f397f9be4bac816fe255054312c2e2fe7bc89c2be4b36ba64b0c0f7a211a8c0757770578b807f8bf3d93f09bb5b976a5f559baf135d87f23b801494200f1f13456dd0c21bdf2fdf533cd29d09a02fa647c9848dde83de4f201f4b8c8468eb1bdf511e80f58f393e53f83ee0458a460833c33e47f0e3be870b226cfe3df1247ac66e2d6b3b3a40f16d1b88b75ab5a1f7bddb0b0548317ea4c34e5b79679e6c082e376f09403160cec405a21c5dd9858e1693013e4b624b10d4fc3c5d7bc17b5de10ae622526ab122fa281b862fc18d12c34940baf68b06478b21743961d61d9604f21d697cb9cfe2897cde3aed22f1cb6eed6e3ad0a003911e64f6c4fff8f9d03a0c2793d86f1da8fafd96cfa44a2f3a587583f35a03f90d2615d026a05ae2ee2e4737991bc61c4640100dbe5aef37a5c92aaf113427abb70e605c141d619a7b48ac369816ce01da1787cf97d66347fb571d7722df28e1f2f558ff5712e1969d32f8cbf840bdbbeff28b2a089aa8e4d2e08777df702f94409c67638069cdf03cf902613a75a4d6c439d614a8597b7f9774b1ad05e6dd69e2d7f5cabe6e81583cbd7b93fbd3f7c61b83614fc4eb9c47c4175f60c1ba5fac77f24af5d004218abed020ab4126bfd3e37ca5b69892dcb3eebc63fd54e63c08901291506c33675c096d8e428925fe57d32712d8e53598c0c1ecbc3f06aa979db9049402d7e4962bd3ae89a6d7418bddb312d9de41db6663c44da5f0d346eff50012e3b55324734ac77f666111380fa2c830e33ebe42c724cf246333eec4463bce52786bd7abbc609a28481a922705943447a9fa0d402a7d93efb6981a89bb42234b725d4988086749a1d16f1f62cc077a66a446c4fd34e46fa37509b4c3541f4c7e36de9841d2eac634560c20e7fa6a4497428269008c10aeb72cb2da95ede88c1a70336a1a8ae912e689ac55045ae9117fe24fb0eb234ed7ac226cb0bbae4aa707bc88ab4b7639e2af03c9e03cc064ca76e27ba7f3958e7129ff6e154ea15cf3ed10ac4987ac5628dd19cc147e72a73318266779862d6b4f538c6c2265b8b39d3aec6b2e2b05515b399bbb4cc9a30c2d82cc6818b1cae4d16dbabf25b8f0d3dc9addde9f17ba2e8b3a3d363aa254a74b2dec43f630d708350b32c5eae182ac0df4fac2726f59334925f3af6d6df09711d6c2d05d356d38fd1249169a2cc421e858b84ef4eb5eecdd75bf6ce00f5106ceabf95fd73fe98d3b37e0bbc1a420527677aaf3b3ae382825df95676271cceb6f9e75d3e8b6e0664eca252c08031a37699e541c74a8c72d682ab76ac105797fd31f939f4c499e57a9849b5dfdbe52dc6e3d243e0acd4ccfabbc821779c6a6fe0740002f136c8f653d185e5e043e83b8d6996152638f4d448691256ec92a881b448e6b4ff76142929b001586c49b37dc6b7a3891bba8555c7eabd73d673ca9f3f5aa8c2f05891abb6012e4470610e6dd7e703262b7ee164fa185bfd17b94a399784adc1ca84ffed861442f224fb48166bb8306c1da7b3284239f691898289350f595984710280bdec6b7980a4f67f5fb71028eccaeb8b0d5269d3c9e1fef38f72b1f253111129983cd4752fec968615428a10d960956b906c4a0ee3fc86e3b4409962a43fb6181cd3a228075cf5a031689bc14ebcd5f50154563a4070f394003a537c9f35c1014d93c1f5192054d17db6c9eb5d60c7b92cf13fc573bf8b0a79e908bf1eecbeb9d79555f323dd1d4aabca21f19a0ecbca28f3c7bb03ba2e4e9ef57fae29dac419fb43439c480f6b9e5f1e903ebc1359e6c4b383db7c9341abca27b2530c01de68f6d927b617dca8c032424086faf50b401f24ca0e0c4b62adeaf3ff78813fad8a7f760972812890aceb7a959c24cd84437805b1f80ee9ce995adac066e48f9c4051cc1609f7d7e1a38a95b745c964a460361841d493aca3cb7e387b6b37cf301cf7e5f5256a7e7b0a209d16b74262172070bd64fc3c1e41e5c78858ba0abba1fd0265d47cfeed1d4aadadbc388ab1477bc5b1c5d13f641288a3cf96b2611f459c582a9c06b074c340a45eaf1437bc751b95a8f514246ed8e15c63dc0ba55d07e6384ffdc391f181f8449b5cc5884bc44648609aa6469731162cc225dd088df7048a884999315a0b02c9655e2fcfcd8e98bb1ecf1e721896b86faa413a7f9956887ee6c9883a05174a07383330808fd3edf95a1f1416a7ee97130638e0eb1a73fe98bc1f0268b66311f168d2d60989dde90a1651217174232442504e61ada4a23c0f19bf717ef0a14a8c606684c80c6cba4ffa558ddbb123149c80efc927c53270261c1654bdca99dac0c64ad933a73ffb9e9bf33ca5ee6d495debc9467dac7b144f12120be076b986e75c90ba2f349c213a531651efc6eb2f82a68ebbb30df633039b1a977c8e6efdfdd290d10a2af3efab2c5490c07b33680dadb2cbc1f725c164793437fe216be012f01b5b7a99ec30010b19b4d7a9788f21f600135b7f161a24feedbbfec027d84f18a16947cad35fac9a803f81975bdc68694f79daabac4b43be4b6d7267e2c5b9780467c026510b5bfda36e9a516fd1d93f232b5b668740c5499885b1925c6171abbd98fc4c06acf7ba067f97da5a059abc5aaaaf41057975d9c2cbeda38524c620783c7fbbf800e4c006524afdbea2a4a908492f25bd796c6bd0ca70ae2c592b6abfe619ca95a6a75ea8fb12d1e6ca9152883f9096fc705ea3b723986341b3342849d7619e9a05d3677a3ae1c584a17a4452c3bf070973ff63537602509a0ba9b1dc88af3b108f0ed4c4ea5b774b6980c7af08d2dafa83767bbd3da147b5d387e663bf2397df069c8e2339fffc3f0ba5c952a94abc524951e2d843479a7ede1533e184a8a4a88c549971ce69045df4758351168b29b8be661adb2f65ed0769e456c39cd393387bbdaf2f9215f51ec4f9403031c43cd0a9bb2ea54bd2e7852ee5bbe77cda0366087d4b362365064c74c0706a9aa2b11fbf291dadb8f29bd29f2d3fb7731218182e47dc009c9cb56f254e83b85ec6008ded5b5e1ee4db22e3b09198b0e71d1728a89983f50dce961cf95db6b0ef4553601ca1a7a652bf6f08c4ddc227fbbde71579e8bb351e130a030bb41eb2f77570a028c1279627ad71e5b8e0a151adb56091660016c59756aeaf8988f4a4cf131f75730ddd4f7f0144ffeb89d86d100b98c9317c77b1e3bde251636587ccd24e916d8c6004fd92ca19bf51c381c30fd77169fa097d2d95cd8cf587d55389521c9f74fc5886d979750b728274d3d31b6ec1c614f471bd2c5fd8fef2dfa19e643e6b1950bf49929882f079f37502755115ac34396d9c726e9cc04f831bffa7ac8cfe7f8371be2fa8aa036b67a4069da5d745537c9797222a193e9dd11ce3c4f9cbe682578fee28555c593865c9d8d6ad45c23d568f40c564aaa292bb2e23db4bdf7a305d63f8e45bb42b1d003e4dbe0da713f78098cde783b176126bf4f6cfc37b7107f4fe2d925da47d48b52d5ff9d890ac33878aaa94a90bb03a3c2da16efa8964e49ed128383a72e05abb1591e43c33ea5c32103b3cda008bed35c15d74a8e6d9d1cb27ebc9c5319e0bb668a1c6bf69f34e2bffda4a5ffdfb9eef8065a1f0a6259b19f2915b2ea9d1f44e4b1d8ad64cfc6b3b8c269e372bc9d2e6fd2f2efcd7cfbd5aaa05c3ff9dc919e27cbbb2c7f690cf320c49fc0bcce14bb7390c3a7add840a329eaf1121300844534f0e74e0167ff652b6acf62a004cf3e708a1360d2a4f1e12c0bee643f6b108c48d69fdcaeebb5bddcbfae0ee64760e72ffaa6e9e7bd76c51dc7c6e52091d673f6dc4943662014b69438fe6794e28ee548e8e718b48e71f891e0e1961e6ee1018183e1267d138426e10de3f74f692fa0072b09e2d9052f27c269ff53d068478ca6aa3f8ad04da969a70df25af2faa6e32f8734b7a3b82e653f70a486ee31690defdad4ac36ae60cf86975581872455ea5a2de6e2ed1e602d2e61f01b5ce4ed46a9af7442b7f6413d7c22b049e142caa298f21a8363775033ac58aa026059db3c22bf0a97d99a6b62db153aef6a55c65ea5c5c45760c87689a6d8895bbc76cb1d97a6b634bf1a2828dc6246bf772e45673bc4dd1f9ba5a8b92c6872efbd7f5be0726ca455d2f0a0de183c32bf55a87c9cec2912983e2b7f3ec2efd05edff7f2499518a1a7fa924aed3c4ec3c3db9b8872b73a4d83baff5383649e4cf0da76f2d132fbdde5fa7ed9c4b68d1a4b9d1853099879c518abce5e125822086978e71cc927806eda2ceee52d4dfa0073b7ee35806ce2d656c16522bbbf5643313c100ca43e001c5476bc1d6074368a622b1fca2156dc0e27b33804646cd17b0bacdeb2f8f1bb819d0ee5a39f8c008cb20edd37fcefea85f0f0b90e947f190e45aed037d6ffc347ae3320cd5d8a932e744c59b6f07006181fe2a2b6f8e78d11c53d1efe8052e633177fb260adc7500800c95191e32cee0f81bd239d1ea54e4cc6dda0d5639754120cf90206edb2d4f9a3b2794f77aa396c6ff7579947f62ad4d2b98d1ef9a68c0af220c8a32013176c5fd4c85fdc2d68ea895a052b22c7e670c5f6150b1b3d32e607fb9d1334bb40b6779421d29be6c3a659f2d14e46190bae8c49905371c7694401f415e3e94e1ca8c965e11be4d5613b8be89f10ad2c54b9efcb87bb1ea9f14e1d177f3de33c44528798d93fa128654cca425903ed994ef19f2a1221c0a49d3a5eba3f8de003638c99f1e79b3c4097c2f2c6bbf0cb60eead25e2ec89c5caa84b254e537e9644ddcb98c5c0dd11d18cef148fa181c2d94e8a2886c70fde4cf9201e6a89ee0ac426eacdfdfadfa130b69d6b0bc621cae1f18272b57de5f1fa584b50b1efc084c634941f197dd08b0082f5df240c6e97a743299b098172118dbf06c85dacfd0808ad7143e971341135a8e12a265690229033530caf5095d4169ae6009bfae2584d1328378d5f6ee140c6697fe9b6c7c2d67b493e723f569439eb3b5f70bff3aba76c0ebc9124248233554159a3227212a6879c5196e647bcf330042fc7853574af8632a4a15009488fd1ee04e61231256aeb4fe4587c28da989b1016e1bba6953efe0088bf0842e82d83dc2b28c7c58028a066acda3b67fe0e3204956dd7093dd743eee212270d448ab77d71a214bcb532888cfb74d0badd94e075a801593da2fc33b9d563837308902beaad5e71d4426be521424a7a52ba630eecb30516c1c5e32e3b71c6079248ab2962811189eb6d070e01ba28582797243abf7f203c1434612d626d724516daa9d5bf7654338ec1f054bfbb36a221be1a61cea31ed929ae83dad652fc8d504415ad063059585fbd4cd891d1c89c9eb8b8290fe99b53b3b5f4ce66a8b312d7986a697f21578506ccc263b0c5949d6f48c2da21c23e2008e5987aa9053ac678f1e001542c1e8651cced36351d73af2d1b66c49e32590cd36f8fc7ff43373a079370969e882754fbeb119087626f6c81e717ce359655eda81ac8ad31c79eccd5cbf95b898fc842ecb26374e994c77b46df645e8dba13eec565c3859ff5e301537e705b0e97bdd070dcef3ff9f2d216c5eb86099e2badc51c4bd73d587912a9029e57c8096498ffabc7fc2a67d9266cb242691a561fcfaa33200fa2d249a1fcbdfb7e1cf863383b683b4d34703757a5f218163d3da603e518d327431e56f45f0c2530e278e2db66261c2dcd41f1c4de401f98db5369ae83787b6e369645d0f1e9add28cd5026e13f5da625fa2f5ef2f54d64cfb94177c615ee0b77534a3977664b630302807bd582b41f28d703cba80718443a9a8afea7af0c2edceddca57dc1d4e3a5593fb5934c5edbf906a7837a9f04f43b687bde307ca2d3a9cfd3d7c22165db641bf408a3287c47580b7847c9ff710a4ccaab63a205d4aed647f71e8556a1a805bb971c08d0011bae80c0a3eabc96d2462d92010d6010c1dc1f7c4fc6c012952172a066b5031a236b23ed7a1a1d473617f16045cfd35508aa3b87a346eaae89d3aa77cb928d04a47686f27ceab8662e4cfb050211175c3c605720978606ea321eb088a5d4678c6c71300df161e57a01338fea02aede14f3424f8081df542ecdef0e05bd7103b11dca192793b2c2751f7d3420cf8d2280f380d319e9d19a8f784dbe10903e4ac22b17691e0faa39ff207c8b6b054e745379ed7171a4224ea1d11c02ea9eeb00a680950039ea3f95884cadc95dd09b025f9f611c5e260111dc24b73291b77adedb485931b175b919f321566aa699bef88fef20e8a0f577d852ef3fb709e8d952fd6450a24860d7fb0cf50b6692b8a2a49f5f7a3561d878abd52d42d386c23d265e28f5fb057454fc30cfd48e6067655240135eee4da33fa3954b285a9d5595f70d7fd5e59267f5a33b9e33f1560a93b06c02678d96e0ff3c327202ac6cb04fe35b8319288ed629a1e83660f209def7cbf097424812ac8d70221f8312955a211edaf5f01ab9b68868ce8ae9da696f08fec2a33b3a3b98d9b2071641615317e5e1dbe772be4e881fddf9d0faa1106c42799e4e092b72a26d4808d7bd3bea4021036963aebc364adfa6d31ab2cb125c364e8fd38083d9b465af8794183eb70103748715d75ce0afd428caaed071eb6fd70c996d57dab48100d0f03dd3f495677c44313d6ac5351e1beb08ad90989f426038a8a113cb534ca0675565e06ecffd502baa6217d412cf08831e8cedcaec607f0f1a237f9b674a6c5e5013d92ce57672a4ae952017e1c74cd95bd66d9b6f0ffb050cbc8454cef0251dbf47e0b1b01ee4ca7c8142c1a399c0aa1ff487061bca81a6f5d558ab10c36bf106427fb8af946731b5f92ff5e43bcf505be8ee2b5f1132689ff35cb1d00086db31126283e1864dd38a141818fc1acb89bd7b0d8d8b2ff2ae2202b7405ee70e2e050cc62332366a613c1e1c5249497a342773e76c6e5bef7d199b82c7907ede3781edcf472318bc9b0f42a3065d4c5b74ab864278a4a7bf1bc5a6d9d65a082d28f00a2f0e3ff385341c7fb267592fd45d32d78e292289bfe8759f49d9f835891e1c6e9b881ef09eb8f8b953be1abb9981fff10c3ccf6072af073e777f3114ea678c1bbaa698613df95ac2a5d03b8aa9001d75a43d0684d2cc61f2ec09123d0113059d8e1646e7c6dd987b7046fe5af5f40bf56a6e725418181aa4911f3ce8058fffbff6ef8cf500b9a7727248e73a3c0a22d81fa43ad80fabf1c55e6f229db35d6c81d3425ab7e1cfffeea1e2d2c17fec98ed9fcfc79c17014aad70e35f0a5dc17c6459a62f7a048d0fc00d30fec5f15a7bd6ac1db7c0a45a34bda16fc45336824f8be3e759f024585dc0d61823d9128b6d28543f465d841179c35a426f7a5b8ba5a3e18ee6d9d917ed5894a283bc66f43521fbcfaafb8acd81589d2e764d830eeb777e494e59dffcf59ea45032ea461d151d821d325e007c0d0f7cfb80c1c5c7c79f4d5e4fca477ea81e0fc5ff54764970ebedc4ea3a27d1b4fce3d60c3258e757cc3c54ccb63bb974b2f3d6804b6d29d39a64425f6482dc2b83a14feb47592f6e6bf509589b9d286361a3cee16e39edc7abc948b844b30d038b81b026b027949146300b6ce293276a0a09067390bc06fd6483056c75a83e541d11437d0b0038d7ca674d0ce835f902014647ccfd4e22a7ea278d946e593aec92215a62db9f6b40d8a115c74ada8889d1d7074066e4f530498b4a315863b714369b34e8f7fb0378f681d7850dab5435c6ed1c170230c39b68c83b26e3a93687de0dda923370f2a9d29a0f50070bea21a33ff519a735f810143a67a2bae18729f6e66f9f69aae3e1371d54e039f26c513f3a51e652f75fcaaf82a7fc9f5c052098aa2e5680791d6ec4549452b447f1873cdab48bcaa128bd8f06f64587a241741b27d6685c8f60f0ff0ed0d0009094461dc0ee5378a8248832fa58a10e3b4c6d1672906be95e0ef1becb9f42a2b6a7db49a4b2e1353c92727a1c8cc805124a5cf6c50abb1e3b7013bd78c634cea3449cee17fdd080f892f0356935d2df18f39e3915a0aff0ddafc5324b0f20de21b1e5c856b73bf0184c41a33c628f575f5eae1b86462c993ed012f8dcac5111f527849fe682632e0f081edcdc99b7f1ad80b2bbd0a4c2a4cd579a2839b22258658ec5d581fe666469a9b31024d7a8f01c4c3917c05c46c4f81e438b617411c67d3fb82e4d5bee5faa52e8a3657e713309079c918606023150aed0df09694569e6ef68d22639557c9b1ac0a055cd4283b5b1a21b0f34c61f2119f60b94a59265768165f33688abb34701e5a54da54c6f87346447b51fe852ec156b7a81fbbb9329642f72fc95218b1f10b19c2cc78cb3c07b75ad03d787604ab0f582b9736780122f6c73de56030c4b504b0ff131f366b1f95ef28152cfb3427a0c84bdc302b2bfedf26499297b5904d38230c85ece14298382103a5d5a6958a3f0717c91961bd3a333f371759c22e94a1b9dfd7ac929a057f8116c1ac711ec8f9c4eaf966e53ad0d9688297f4361e8a68c048a23c1fe42bfd11e8e8dcd167dfa4558e322b3746a266088dc2fbcece0a65fd5c193f2fba1342701faec2a5553776a1619ef60ac0170472b79e8a2d9863a44a6a0bdeaeba0bacb1c789e70c933654eb7fd72dbe04705e60d51ba3b625a6f45b9a18b56e7549fb1f520fc6679c957fcfeb8d43ce28a649e57316f0dfc725815e2fbfea82661ed7b4be98413f9b6cb5ea800312d5fac719e31f42468fa295343b1e7f51b44ba8823e35385380ef877cc429a8c668862d39b60becee18987ff1f5b7d3cf24dbe853b2c5641dd70a39e33995b28242bf1cfdc4acc3b4b1ad186508ad782cdbd1ef039f00d039c200f4f972b4c995dcab263d15bdf6683f9a17e56b90aad66940a7104ea78258465c4c3249a5500f9d54d8eed7de5c93da0cab68f6c005559968b49a87be9900ed41eb5cee23d42b3bcd7254bc49191f6a07ab6c63a86744c093f4abc2888327c5d1376c682fa8141c1331d632df198b736f0e567bfa4c0fb38ad655ad6bc716f9386a0bab6b90227cd7b7a9aacce3687249ad9eeedb1ed7fe2a4a6587bb994444efa90f05996bc6ef5b548200794b850f31a884a33773cd38f49d828cdde3c33e8e3d924b366e521740094ce4be18d1394da3388c734bc1fda4ce34f2d6da0d62f048f36695154fa09ad40405af4b86618d75596b24a2db445814a47fba1ec5ccbd1573d0c18819aadc7d5bf4e121f2239a9b50a9eb39a4088875895662d5cd88e54ebf99047a0de61966489912d478a4818b2125b3d521a097db7e9cf8790d9d41abc1b482d4c39b35c1749b6249ee5b11f74c83c538bd3b6d6612a8f3d9465a12ba5a6f122bca7a3b57b6746061e1cade54a3e441dd194043fa5737cd9dbe29511e89afb1e36a1617d118fe334ce0e3379b0a24d31ea3e21476a559a20745692069304f3ee9dc2059f8d72df40c239fdc9f498e80c0f05d67f8909dc5559dd0579c793139f61a71bd804c01405e175d5b27a3f4ec34bdc37a6c7d4734960cd6b79584d887325169f35e6ef419bfb9b67fd198f9d9b76ee812ae84f302c006996c47333b03d7455ead15fac32060356e97ea8463f86f05eb87ac44a765e07dc7e5eed6c572bf5ef90b35167ea4c917a1ab896a2578c97d30813b6a088a944cea21746fd9065539b39279d53c9e37aca7b90a4a7a7a72968e6d5fb9f8c436b6b7eaaf88865b0ffa4569834a91692da6142b0ca03354f1fd88d23c8df63f20040932ae90c38f657e632528c2777d39f1c288e9e60fc0fb0f7772857d89bceacb655be0e197630ba3b210cf5a779b4d83a05c7081759c50a82ccbb11889865287ce5376418aceecbd9bc4a4fe48706b76a57a1e403db96fbaad9f1e9540746931dbfaf275c4e9e32dcdf0a43d1ef5d06858eaee5af52358556a096654bb8b3212c2d19107afbed58048e97489b6ea6a5616983e91ccb4759ceddd5d8b66fb1507f8ef8148a37c4ffd93bc8c173d589f9bcdd4a42753abfc8027df6dfcca3994713e6cd3508470a77cd0ceb7ca6e88e9a9e1b31d42a919bac2b3a5c2ec07e4f3554da64bb1e2dc093d5d1a19caca03c2739455fc9c59a4faf2bb84f26077ecfa2193c82894b40b2a28e0f2b63c48443cefb8151baba09e7de3991a4ebc0d1d32e5e929f168b2bafe6e10691576314d3eca41588a5602dd7e24a8ae2550ec0421f82d8cb6c735dbdd2597f67ac034a7b2b287cd5255e25a371bf7ea28a9d7454fc45e636cde33fff1b83163b0dda43158b9fafda5ee7752d5a6630dcc1d0335f3b8bc7e863ed1c074a1e3dfcf8507bffd8d0a033da5af475e99eff930fb7101b69fcf091a183c506f428abf2d2c4cf292c7f17b6e13e0520f81faed47f2a5c0ae10db2dbfcff18a6bf1c9b657596e9f6f4768345d49d2b6f39cc4a9ac99e3ceac29fb985a650d5bec323c0d058f4a41c219a272f29381f4562ca0cdfc610a67d591233b55b2096ad488344c1b288cf21256ee3876bff83091c4876c67b0240b079e6157c2815f840e6737a5256394a30f9f80f8f588b8f6b6e1db2cb7e9b3bcce6c5b9f5730cb4a8b4fb6f2dbb8b583fc75258960b1d3da9acd61910385c08ad051baea3602d72286239366fc346c70728476c94e8c15684db0df67315b5d7210a8b9c600447030d26d7f4b6d8c4fd3557a16019d0ff54e159a20b6a97fb67157f0d5a276f4fc3bbf548f38b48e250e53fcc5ccf9a85ad376e9055458cac0435e1244352da8b3981224717fdfae2a3011f0c68c7c03d07f69d09488ebc86c3ec4cd21e3342cb3aceaf062397100382913c23322ba6c4c172a4b7fe6d417ff8ee36a6f3b11b75e786dfec395d6da14ad7f060b7d88954826f74919534a63f886a1c7e8df3963a400932580fb8ea933dfc2546f4a123226caf456c1911266920e651148f79bb767da6f37c5cd0ef08b7805b5a3e4d1d56a39aad51684a0a5a598962a4387bb50817cc44a40b14b682fc26953129b6efe2ac518282579af2a1a5fe4fbc223d6654e55377fccaa1f7afc58f8aee9674368a961f99158d05d15a82cb3a102f3a9f7811c1f6ca139b6833abe11a6c140eb8914d8c389a96ba4f6a8a0ef40b44a624139287d8136c8b90d0cdc7f442658e80a079195e98d0a4298385a176f897c8aff1e19fdc54113beeaae2521d6d86d4227ef52a8203682e69378a19a137a2dfb843111bc51344dfdddc1b03a3e3fa5c3f681c909710ee3711e1f193ff2277ffb6587cc80a909a83bf0ef0459e2dbd2b7a3a628dad94e1e665212470f541f90dbcb6592056c07ee21853f06b6e07c7e0af884020ef5bce8773ba421238b278d05e1e374929420f67325cb56af19c4218716cd1be1991475b4de5e0190aea3016a517cc5b9d2bf8fb2ef6cf52525a6fd0c27bc13db480711079b255e18e214da61778105ff1af989590330ac2b8aa69e9e07eebba8fe53c3e47ed636fb6874fbc600578e69b0a34967a188babc5b2c51a6aaccc4fd876f41c4f1e986c23f3aa9beddd1d66abd3aacda46ef8810bdab6259524a229837d9c251a13e06a0a59540686ca75b749a3e6db33bed118ab99fa7aacd6a20d61db2c8286d2071251bd9af3887525de6a09dfb7d4e1d2f21ab97afecded6e73e76dfcd40b35c8e5b545667b1e9660456ba8b7adbe5ee492b1dcf26e1d4b4f8cffb73847d1c270864c4a9202bedcf7b4f2d9673702e760a43b8b25f0abcbb502387a662ac67747ef0d23b7390d2e5190ff9b78e933ab9f6c24ff9741dfa9d9bce25224d20824474db8e318c08d188e53739c85db3dd123355b48c873219de18677252768acab300c7e925edb11faa4cb733c8757392b92bb16d3ede8deeb9434d78e03fb452b36d128601c755fa711c43a1bf37ffb44bee1b456e97e9525d822a9c4d193add329d9e5498226cefa7900e024ee6be5c2f426153dc3372201640e830487bbbd1a4275a0517c480a70e24be81b393bfe113cc6ab5023fadb13e48083d16b9d2c687dcb6b037a73c226d6c2b3b5ac5a1ac2f038ee2194c86ca91a0a35748b8a88c45b3fc49ac51d6b3bd83098cdf66252cc4e98ae29c3f80038bd4824f2f578df5a9e7b6b49e86a4007808e1c03f327636bdf9dba3a3f55b79e9c655efc544900dc4ee659c3f7a630706544b9f96e08143a5e99cdb5a276143229af35a88513557e069374f6945ce62fc7f307a6438294741c7485d7b8025a92731af252c2437da181df82b696864914db831a170167ab46aec37bc105c96a1fca924402c18e556f824df955b901280275fbfe880cb332aa7ac389480dbcf91dd4a2645a0a199f42bc54c68f39ed74ab1bfdf14d174d3ef34101912c58c85e3c9043eba42e936b48458104fe28a6234648132e331b8b605f1e05d22e65b46b47151e59bc7ff845b9a76ee3db00fac8687e1df3db0e50ff3aac6007c42f445d3e20dc9d707cbda579963614f9efa6b4b82e6053aa91556cd799945e6179572a50f33c10b88bd4fd623c99a1275315a8457a89f16b92ac39c95c91a824c46a6998ed16e914c979d40d4c82e2a0585c1a7d2833f1a00fcede608c6604c8683473440db0eac45a09a59fde61b032ad8b70c743d7385e2a85d80f1eb1ec99010116fdb03f1f3964d1a49c86f72e0d27763e0bc00e738fc271da7ee487d3e44c21082e02fd93f863e8fef971acb957107ff616edbf8e3c3b93163a037b43faef0576a615ec1368f218394e78466fbc3b07355905c60540e3253b83496a03b71ab4b4de2e7efdfd16ffadc54ff7897aad68dd39a7caa5060c0595bcde06c7b6618a0c8882ee52397875b06a03c2f96aeede90e4060982d8b4d81fd9cf5773ddbbf3af55f8d6bbe208a46fde4fed944d6e883f9c3e2350c009a529f2fd4f835e1cc0322e72fd0533411cf5805914e024c452c1c645abb8e5b5ea135b907cec7f817358d44e79f90a6d02493abd05b18fbaffb1a5aebb41c6ae3777c5dbcfe5578b7ebc55a8d6270f47e4660a0556657514d8b53fc8e8dd953a1d2b0ae9f5c98122bd18b647edb441e8a50f7454d7f2044d2a81dba6331890745d41d075187241afd0f919ae0e5f4c1325bd63623c11208d04ec696bb26d772173d0700244a1e03c3f0e844b145dd544481b4249325c582d0302476f23d5c45ccbdaff3b2b4c0c6811270af7a2165707aaa550eb85a3eedf4c76f9b25f626ebd0e19ce8ca0a35ecaffded2d93079234423195f72bf05334f7a0727491cd52a09002461c570ea0d125f5eae20d53240fe13589ec337047a4c6005a5f7df602cd5b7002f2ca01591659272f821318c65c3d79af0862ab0bf87f3961972dd160d9b90fa82687ca10dc648971de11ec26a320d302adbb8f3f1458e8d754f00fe89a498a8df496fecaf968ae5e81c70d30ebd9dc4dc3b016d06872f1c4deafb2ae98c59789d0aaf49d105e2e750b50d4c66ecc66e492265b40e9d3b1c979e67c3d7eb5ca9b998483e315e201ec3f940d12946440f1249708e6e36d42ecbdc47c9529f73851e9335ab6b0a1540c84703c30e86318ceb61fd086e08d2f715920335ed81f411bad30a4bb1eb43c15d94ae037b377443339a46e306e84606373389f63102ea7679dc3ca15ea1f0c62ce4172d461f282c9f63f132f22dbf66a7f8592d27e809ca46a6040a2817f38bf7b2fdf15b4d31854af8b1774b3b353d2e7038a13713fb2651c0086c33568ec4b15a233b4a3870195944a3513d4165b224d35548a4fd4a1765aa82cd4d58aaae6f1938b38b72243043929e9a837c7315d00993be29847debdc042c218642946d9a3d0e59d2d04d283a4c9b6387c2f9943e50f108d406dd6e2941ad9967beb024bf92b60562c6d3e4a4703e8bafc09412da154d83d8675ecffe653057cd01ab63f229d7f37dad5505abc1af6f4383ba82750165bed5dc6928c46488860d631960ddedf941af50a38b31106ddc3bb216589dcc1672c8919b9e9b8d2b4e4c0f2824b9293b4b8d116b8786151d4a0ca9ef4445092f68a9bc1a590e9088259d36e814307e060ee316c6ab02578f403c36f4340764a4e1120b74f37f7d94d88425bd7e5b67768ad75106433f4c065b2f3470db3e02f1d541bfbb3831da205432e0a20e6391cab21f2e7b8f0c282bd2007085b4d7837a741abf5c571d5cc20368819f1333be939da196b37324e858fbc36c2aed4441f2961d13adac726dee4c2d5c759aa772165ee5d9f05a0a66a8a2ec1f1823e8e343e2366e8b240b22576d7b0f92fade8d8e89630f9c60d2ddbc51c96932bd13c435a886bd834520512ae99e218f310f2be8d6d6b437d576cacfd4266a6b45c99c9e000e9e3bdd411638b2ad019e85b2a05bd3cf45b330bd72f3cbe18d31cc7755217c477cd7bc174eeed333f106d74dae414786cec012eae796dd1669308b9561f284c814c7cf126c9b0df752624e0f684c413a4fe2c741fa6c7fa2650f3141dc22563de485ce911d0621c0453a6455168bd33a24ea06a506070bdcdba039ad16e41e95432b4125803e07385f7ea43fb83f426dade538016a31505aa8e6ce07d7205c48bc889d8f60663c53a857637316542f53c6858ae8204d09c3767b5d493ae9ad6e70a4063c9b24fd10676c0da1a082440c596d25ddc4f632adb43b6819975a743ef57a6b6cf562c3292fbf27bb21e23c880b6944a56f2f7a1eabc7452611ccf30a80ecad1802e1b992b6ebd2ae2d9ee30e68901ba3764f1721db81c869c2edccd16a400071da0a27161cfc9783c5424efc9745782eafa6c8f1e84ebf7d4eadd5020e419198a0980eb9c9e84c77b7d5282965a1ef25740240706d5c59bab8887e4280d6ba796073a26d397c4f99448c889f2a86db3781bf1f4762b0e77d9d8f3c481cb7cca3d05d461397d0dda5817343cdba4937fdd260b52d2898090324c528ffb20b26ecd298957591b210364a7f9365ed2c62cdbbafdb95183d16be408a0fb060bdbc20c3f17b229bab5fc4105b28988dfda1ccaf765973bdf3cbb7f5f4c0082c6614edbcb864b760d75eadcaea03f6c306e417c61523eb78d080a9a85593e612df79d1c95da49802a20b8780a797115bd2f5a18ef89765ce9936fca602cdc2c7be44e306fa56478d2485c13ee1641f111e0d358ba1498fad0cb08400120ad522f01bd46988e6373e20521e43a61a3ff67b14957e6306d3e76e198353d40b41dc0df8eade8c501896fd2ea4f107ac6ae8b840b97eeb5c6704e71dd9e1a4f9835533ec9ca5b648fc34c0c79796d876cb07b33d611858eead57b450c452e2c105324452b02ff0b5e1fff96666259b757fb062a891ab13f7e7b7bb646198fefb4393ee46fa08771ebefaa09d3f5394644e73ca7bff8dc8c8a640a4dd01421b0e7789863671e70cf91cc5079e1d0ef5ebb1d6fbc82aa1fb09d2d3d2f376f0f1807165e78af2c8ade2abfb5e95d171aece644ce5260ab624cf1719c6730a5b5f9b8044490a0d5c96eb52330000aa1260183505f3e8990602059c6c59dafd156fd397bedb3b460c21ea8864c5bfa7f7523d5a18145dc1c53efc66808be23ac5c991ac7edb54f342d59915a72b8bd6e0cb0ea623e08ea39e21c22c7198ec74d1d8ea62d8f1c8e56725e21d07adc8e845acd15309aafa350ee9574ced841d524f2c4fdb7f93f3c2e942e7c12d70ec36dac5426369aa8e59c32f08c45cff3fafd80a1e255968f7e4f3ebcbaf24fd352d1c3148a8d7ba2af034f9804dc6f1c9d586b8905e3b47996d22a37e352f7fcff828cbdda9e67d13ff200f51d16bd110e136a0d5a65da63dd5a15734ce4ab8fb0adc21379ca4e98034d71c8e45498cbb52c545bc26f32d5a5f628a1b10c84f67fd082e4406bb686bd12ea5699c4a10348f730a3e415c33034f0e78b8cbe8643f78e7affab843f111196a9b04e59fa245fb7af83230304ae7151962021af34e2cce51bbddcc4e5facfe3e017751fd2ef11b2db3f32aa398195f4cb7786519b66b36f455e492f5c8b88bf46bedfe3a2228db4279bd9ae1bf277b1e7d5a0ff4dab7801ec613a703c4979462ed03a93ab0b63521fac20e63bc5e30b7b2ee2c978d0defeb6ce807e5f199bb2b8aa1641e213d30ab414d09ef8371d172b722641d21f7ad568851c391a7397d71f85bab2f72e4eab46415587949e57887f9750cf7208c4cbe799bddc8ea63d00b9bbfea87a4926bafad4366a1d642c6d50bc196bce7179c37ed7f60878e144368291f882f756562de5b68e01db5f7ff771d3ed149875f551e7a389e0fed7cc06217afa0f0d4fc060b84d3631342e1a45a73234eff5af7d236270543e1f23820604c29ef280bbbc88b12fed9ecfc09544b5e262e38c1dc6a547f59a29c83f4b83aa2342e493b974bce40bd76d21fe90227a7dede273ae48bf6ff81cd7355535f495a7f430738ea22c3f7500dfc600b400fdb67f8c5fe2799bf1b7c6d3164ec925a0fd7697ef8c9ff973437c13b7c743da244e8d2dbd72f1531266e0a2b5266314fdbf57ec8bdbb2adf952c6216ffb97614fc043daf814566d1bbc7d31d0b5f3e22200dd7b80beb97ef506be693e94a2bb3d464ab5f2fbbf0c6c1b30ac0a5c60c945b7f78bedf091ef7a58080e0143e9af94dfd74ad8adc0a15b850cddad2dbe5cf3d8d27d52736562e4068a39c6c7f9ea2a9e9b3c0ca7998c89ff64f4f1f3bc7faff8af594a98d11b3d6dd7ee4c7a21601522278f8e5b986b45a55a972e35ffdc63be74e79e4f2f0f007de62f19c690852beb472dd238043e70e24756c8c61fdb053b4199c0ad1c5ba7b9a57a4c6381498fdc33763a559a12a534683ee503b3f4d87576b3b70083a4c4143f186f9c7985a81b10e44c51d0dbe5633b5f69a1164ea1dca9d96c3138b6b3d0a0f3c79adb987efdabf66a49a0ec805f4f1344e64479855ec19b92709b13f89026cc76e910192623bbb2f6386393b035feafd61fd438cf0ca708557175537efa70bf5196a7b9ac4cc27bffde6d49f0cf3ecc04c5848f69db866ec6fa41f3f46cb6a6ea147f894ad104c471b7eaf7f4eeb17bea129d2e9ab63fa76f693dce2e60dc2671b4b2a32b5d5b6650660704f64907f175918dc165748759a87dc06f300f516efcdc04538c0adca8d4624b2521547576161b357acfdfaf8e2f434be5e2fe125c5e0eafa03e3e1dcea23d04d1a7939fb9eb74fafa6024885185862b623d464190c282cc73562afc39de7b990a5cfc1466a9f95feb88bb581c1f3f218b76b1c961a119637f2e4d4a56cbbac576ec215effaa5b18cc44000d1f7ca81083c7a4956fb8cef653395e73e097f7b951ddea37c2cb475615be2cffcdfbc653c4146538355a5510730fea1938e1bd5ed251148baa49e661aa85d5884f3bf381c9430171ff3f97fa243f5ce06da0c1a9aa8ada833dacb3eda4308546094c850d0db4d902951f8744d47215c60a2df4d8f87b7240e66c9933fd51af01585d3de7047cdf648a850774e18219ae740dc44fcada442062baa0d13cc93eab7e7d4d4d9e781c5a8942c35e6bca11456610cc33c1de26e21adec5c0bcd8e5ce459b2188f2626b9c3dae0b5f0668d07cf7fd52e70c0bd5585e1395532ba3b5460ecf7ff50e1044028021982ffa5f651801c50f177200ea41e8f9ed92905e7d0484e447ddc7f62479e7579e455ecac0a3c6a126938020512f99ab6c3da0e7bf1f1d893dae3b5704e4eec5d07b2091addde5a007b19c18d2202d312e37b33850215e677f3902ace2298cd2bfa9cff10284c4726230eece3397a797d0aedebd76f624eef54961b7b768d590f5b5c3975ede11c7f83429cd26e199a29348c7877ac2823212cc4cf60e745cbce45f1f20ec6cad631f618dd35d0d0ba0df646131a67b3ff9a9c601b03ac8203420382ccfeab443fa85fdc6f5281706e8bc372ffebe1dbb6c42667b7aeb234ed5e71f9bd1f9d9b3a631edaf0301756646567c94300f268ff221713c9265ebfc07132fa1514455ccb3a396e0e257f9e185ada5edc1f3078133af0ec113c077561edfd41a17f41d2dd1b1263613aac3fd22be559926c48801543b1eae3e351ccff95b9ba36c9224a72d11531c666892ad8c04ed6be523c7b3bccd2693a1612a6b22bb991d5e8b0425887991414a43dc86a50ce8cc92613cac930bf6af5a19a646b327c869edb193c9c9714fb35ab00b5e8dca9bcdd1ee90121ab880b707e695dfd8a55948105c442a462394f01ad44ed4f9178bad179895f2d2b97be89e1fd7de762ab010301a013cd602c4fedb2240269649f1eac4ca7e584e3e42a31eea4e7bba7513e89d8c5a663cf27f19ca6dc50376f79aec7146e34b010dceb07984b09443151c3367310440a647be8dc1de4fd7e40ec4f9d8a229793e90b801f3b7309146589883b23877e3a6af10cec8c12e9705a116cfa848457163f843e86cc27a734f49f4a4413243e31452931b8449a6b249fdd38993e49bbf3b578e2458ff5513ce18c26285d02b5df05eaf07629d5d979cbfc64ff0922fb91105fabdd40e07da4ad7c40b75ab1eeb8ee72f800b6d51393e7e2b33d2d68870736687c540d6e6588991cd297f59c658b22c8c5b86f21b0b850ef88ec108e5c0b02b43c893f5f278c451f33b7116ef3ac072ba22b2e16be08840109c1b3287a9316388ded596e53527e96caa501d53e58428d4726231de15d48094dc31dfde395b6d42395dfe9f13befcaf2d3b5b71ddc67eff25dfc272d1acdacdbf46f0fb130f8a97c8b6fac1519788450eba500975990ef757bc47879c7bb76ce5b2fa8f7d4cb0a23bd8c3675276be9153325e4e9569ef49c43eab17d461b3243ba452079c0df24b1b3e41559a21fcbfe1394c9149e71ace59cf70637148f9ea2085baf2fa5fc18c5eac7bc7ee0ba035290707782a0e413204d43c1eadaecfc418df9101a6be82a814b30e1462baf5f149c7f95598b0f8fb124c29bdf63a2ff42e7e04c5b95ae82574f030c275935d1989bee7fcb221b3f460356de7d0aa5ba0734a3b5ee7e664fbc08a2c589bc40c91c9d7aa5fe464b34840c28b1e9ea73816378464737b19a17707751d3083ee6ac2a9a17b01a214997e2e87b4524d441a457943903edd26b530d23e3fead8b778a098d7d2ff6e14517729f139d53113ab3bb8f915451dbf1b48f069c6e410ff40380e5f8d3eb4eddade2f1e121343f179e47a3746f5e29d96e06ec8c8a2779a00622f4082581d9b4bde1d5b9c2463694de350e21c8b58cc247e613fa3d86f65a1b8174f408a5655efb4f41f8e86ba73e001ca593e495a50007d83980181dd39af76358e8bce0be2942bc378cf17883fc3037e93624a58019a8378f6e7fc33b95122a9b56c9007bd0a1433f4f5be4b42915c00ea8c426f7733ac45d092054de4dca1136f027d32108eddb922990863866cf73d94b13e771bb6f6b8b6d672ad529bb7ccd40693dc78da5f46708cc57854f46d85ebce445171740e25b4d3d6b0335aa168b3eb0daa14102e6f56386f9c08d4e0d71201c41855b2d85a848747c918c75abf36de2bdb8211cf0935daf1183e919e8105655f4e238a16594a2586b8449dcfb167e259d63551e346f9693f031007a3b2a39f7556a1751f7394e708e094da3172e801f3a41a2d765e4148c22225600285b84d266e5f7be47501e54470aa9f99662b04c0112269b160a340b3e7da181b9f6a6a733073a704738fb86752a3af6fb08b91ab52ec559124c68c1c33df8cfb23839737ffaf2d042f92e448433a07b4a5383427fdfbaf332ec78f1eb315646ac4328086f214457d0971d81fbfebbb4579ddc63864f89d5b43e968cb011c9d790959e4ca086242a06db0b4f2a9a06829b36808e9d5de01f8cab7b2bed532511befdee3460d493845344b48a8f779bf4c21019f67fa960a604c330dc9c941a12c4e109398c2471f179cdfc46c46cd76ca85e5fd421a09934832e5537217bd9418ef1389c35e1240bbd5d97b8236f83e7b3cf506a13ec7793b3d5106a5fd363c7c6b6bbf832822f3f529f1c9226aa308ac09f4fc131f49c0e966c3558c653621906c16e90bd44d0ae7cd765af65f5772fa1ddeeefffca66b26fac2e2daf0622bda122043713b5a4776a1596137bdc9e67ea91a9b5b11312d090da0562bf7e27ce33977add35cc0a4d4f3e3957101b337523a9b640b4587a8c22cbc25c68ca39c500b3f308f7634731f829a3ac1f1ebe58814a0a672d5832c7d28b10950be98c60779e49268807ffc1225540c775f287bbd6d237a80a43a91d95639695ac55f89c145f692204fb43e66687e2c561190e0918b0592afe6e15b7abd1c05e6af63d239fe6b0ce9c5b5088eba35511558f25131a29db64753b72d3f471de64fb531d413e5be023e20445a225097c96e793b0cc7d6e3e3bf7224011cb1c21ccb43db69387b90ca9fd42d0f9e744be0bf3d853d18cdc1f9cf61c554a28f1640eb7348465405444a6ae3d44e22c99cba363a61f16ba72288988ddad6a831c023e61498d2ded6f297e5d79fbab3cbfaa228857a9143f7d4f39d639d88a1a7ea50e7b42eaceb3e282953b9838260a3a104e400613cc3a778992552581e46b9759c63116b1686ea1c98e99bd91358f799d42b41cc163520f546e0c4aacecb89c80f6613f1d2b216279b47781a239166501226f3fac0467389540ce0b5fd140b7258bfc78fd5e2f996febe5fdd94ac899526e3025fa28d6f73fedbc580400119ca2e3f484d2aeba93327f1ab2dc946bff2af91f13a9276a85c454eca999a51e2d0f56c1a442a81bf6f7bf3ec4cfe01d84f856698bcd4d8eee777d798f73156cf349c484a9e1bfbce6b0e5eab08095d3c055d43657008ad27f80c20e7b8e9276857584b69d4e7ca02a24081be9ff52f45399073a773001b92b5fff35d5ca79b1f7b1cb8cfe058f8a6037fbbe51332d03c0bb5b8d15b507cb8297264457108a425b2ddba3fa1dea9197075291a7fcaded8df3eaf85bf24ada5e1e108c2a4a411677490add0213c3004aaaa950db1764426f720a631c09b9cfbae0d5b8b6eed2cc56c5d192b3f23325a28fec71e5160c053a3eb5d15fc2f414c798ced31bcad6d1b3cd6a9aa75a33763db3582aef1d7bb52695e27941e2b1d63e25f344ff960e088bee355e91abdb64f005290b2115035687113924382519b582693064c099534ac5b82003881a775ce61a0034642b46ac949cbbf79fc82e8db98da9e94739b715babd754ce16f17ffa5b8c99020335c968eaf9a0b1c44b3b8df6aa6aa1021eebe1c032ab10f2a09f3a5f87b1b1f2a80841eacf9ff9a434f64abdf9c8c8d7cf60c76d54c42e794017011bf5427af16f9402f36c00415d0ff87072e9b9d0ec93de1d8e882339570bc5fa4350279720368c65931aae3f2e28a4fc389aac8d2dabfe5fc3c81014326dab9117a32b212f5ef64f5ef460a981bc1bbd4cdfb30f23461efc7424175bdbb657a510af84b2276ea3781f1407cb4f14e2158b4f6161f94838395a81d5879dbda3fc0f8285d96e3eea687fda5debc41ff65917fa6758c9b412b59ed61fb502c59259b2efc6921932f8cbbb9ba6af8656c59f3bbcd74618bc2d75742c6322649f5a8db841b7499e4659433e209c83b51d08452359f1bc45ee0fb00d778b17a631e259d537728178be183e3d3b8a920a5b90471bc3fb672cd98e32d390d866845e49df171e6b2cb08e258590c7d02c8ddaa97ac507409629647057d3de36152615b6d0bc9467cad0fed5acd33fb48deffdd1079a72d0a442af5cea9f82cf0375437be944004281d3c94a236a9760d7b729d2df087bdfbff47a7a886bf17c83cdcb6ad516d8c010762c3b0c2d89bf5f51b93b0a87d8b5724b94759858f733efa84709ed237d38127a62ce735bcff5e8302098536d90f28dc939ca1835aa1d255b11ba4c1c373caebbdf20c3e7ce7bef54d07f20bf5c2b7d55c76153232a9bf54510eee133631974e589deedd4e15900748ff0afc2406d28aa9cf16a75fd73dc6bba1a7b6d4e5a4a8c27aa66128658d00a7ba27b6237ba59922e696f39c25e0ea34ef350b7f4ac72a930b1cbd5f453862885b81279a77863a0bc96e4ae703c2c598939f1ea9a657815eafc76b9886be9d69ba88e39d84f0056033b8774c0071d8b8f2d68f3f728ac0e6a9002954ab3cb097e63a4be9198bdcc803820a818a31756a021e3df196df594770a1750fc71b04f08b8807195b005a1e2ea7c84cd1893b1d53c70cc547cbd88f88e6614b2ec3d8b2b58e0f799affc9737dbf0ea6b3f2342a56fbed1373a1820fa74969644e789a5a1550ec0ec7ad746c0b9ca32ea9eda1434fc05ea14db9bb8c4ea2efe7ab9a245da09cfd4176c7ae3255cd6df9eea38f746b7dc4fc6f2f9bc5de83b4d473bcfee7b0433f772242036d867f22b0d8582de6b37bbeb455d00a3bdf920ba386e5f545a42205e4fd4355be232ac1158148635387c81d88bb929c47372a2226a84699f71a3882d9c70ada67b36b1a312daafbcdeaf720ec6c0e76a53fc5da09e130104f2818853620d25811430ec7d2aa42b43663e39a6c52587709835dfd2e892cc0a5517217076335592d3ad4e55257b61415b68f9b5be2f4a3ca3616b9c5813aa634d268e31689cce7952e4284f7c754f7c10ec3d45fabe1f0a9e172a71a7004c851cc1db764778dcfbb155bf9441f4d056cf4631eceaac45b5f57fa2f4d8afb2951d9ea5a2207e25885ff39053bc9a25a10085792c09dbbaab6051803246772036784e8f545119f362a7b4afdc2cb1cb1a540099aba992327714f41024252375fc0d05a8c037ee1c54268565d881a3d65a09db496b6f5527216cafa5eeddfcdc46da68a577ffd918deaec42e949a89417aaae163b9bc4cfdb2f3f843c1bf3cc272931ea1f19dd0150dd802e613d9ed4820969badaaa95f085ecba3a98e23abf82190c7ababe88742b61ef6272dbb9aad3e828bff40cb9c83a260fcf4de197fb615bf88cd0963f0bc5f7c57a34a5f8bb572c1e6fc2b3bfb6f1925eae039aa0d9bcf8d1a14abc3b701a6cef7523d9bf408e89e1307930294ab24d4c5b56f1138c6ae8616ab554f2390d2ea2e251a0b0c9732a3f1977e74345380c699789d2b47983ef1d80d868699f97253753b8691a3fc1a28a27ce1d7d50061d02c488fab3e4e0d32670272578996c8a427e988592e1da615fa22ea3634a543884968b77431001d0e98d8e578b3759aa201e9c07c14fa8aa819829dbbd61c4ea283d1123f385bcbcf65e3188738cf786eeed382697eba383c5608f8da67bde309e96b5955da1bbd3288f978830d2d713406cbfe2929627a36769354fac8515495a9af8bd703c5ea521dcfd66b4b0cb9958713f25cf48f17271ca50c2d313779e25a92c8b658d114d554ac9623b5ef59a2d8ff22d87905b7c364f711a6d387634bf625d27c000d772640d3b518d90a08bd0462a02ed53f172a16131b7fcfa7b434198e79c61dc6205a1e349f6dfd97085eae9776cc6706a93bcab4912d3bdf65ba8db23e5694d268bc5129d7c749358f77803ebf459c806083e3d774d61c838d6c3d9c0283c21a0785c8715ef65cd22232ff3cff8384b940605d7d662aff53dbbed439c1e86913b41875b5fdd0866dfdd680687fef2f1fb94e64aa9483d2de061d571f994a4bde55b1b34f2b0939fc46479dcda4bc2ed8a0fa756d63386edf0eb55fb7e00408520241fe398517e2e3f99c8d52bf81f186c992375934dfd8ba684b612604d51892b5c771f01770ce092071f463422dff53e047e648ee7cca49d828e46aa43804c656edf5d3f15e18aaec72e8ea9efb806f4d22fa808b86a7a5c199d143a52da790d1fe46c8a47cb933558b0991e334fe8dda8a303550e396fded0f5423d98e8970ecca6d63755ba2a4593df19faa580059fe31ba6243379994db5e50bcc439081e369f1acd97a1c525dfc997b885200a1e01722c2f026690712efa661ead74ca5ea0b063a378097bf50e41fdc61bcc4966f7aaa8c0f0e7fac8eccfb2e16c588c19ce5a8e2970f0f38afca2e3f730a4da415b4342f6ff02fc829460539cbf0002c7403164f6296cc845cc5b47fc3a5f44655127adfd58f87a07faa0672eb53fb19065debf3ad427d5f17c5c3f2282f22e0faf61e4c5f44599f0a9a54b48cfaadaee9094f7d906008e27cb169b195a42f7b7d28c9a77cc591e2f81f6142de67752bf28d0b64aa6006f644467d43e45f0869e3150c8a680d7afc07e138c67a020c52385351e3c6f8b9e66136cde8af3fe270fd6c4d2b574cbf19f70a1b0e197e727829ac5db539c20d1584b87dafd068be82ea5f769ece0fcb7ff733a35435c44ca2d5f2dede2835593ae8d59b072c5a21bd4aacb540a1cbfbd69bda3aae83f5a24bdc49ec0df4db71e7f2bcad7a049877cdde761a11370f2587490d9896b355039f98b6e9e76bf6e9f08283beaa860f016b4122adf6429fe08826d8c19359160eaaedc0bd7fe8c3b8b5ef27813e35d93c2c35d4c2e752ed45e47d10974314c8b497a32ade510dc6b420fa7f59f9feffb1cf2eb3a8e1b1a2fdb09efc9fa7d410c42337bf07379f5ecc2edb7d4ae2d476438aafe7817cfddbf08540b2427c9c39ffe8a8ed73a332e4f80eca2e3b0a445a96f66d96a302d531cd911a34b858b1a499d4db2544525af0876f1d0715a1ffedec855c7db96043ff1c6393907316cf5e7e022bc437e215f461f49197936f571d2ce60b84c84173de86ef36438444b8e50fdd9ebe2df8f34aa4100784909851f8db056f152dfb1143db241cde61703be85bc7e74545cef5e347c01a5dca31491c9a867c40c59399cc4a4b109b83ec9e3cf5ae56a1b650488ed2ff319611c7af18c7e93104e55911f6e3f0d7c47fc553db4565fb6e4e3d2dd8e8a106e596df24942eddff9c9b21945c330874a995e16ea6faab6287f3f1d86ede86c0eb9f88ce4e0076dc0cea007a5275b6743eb4c43c5264f9dd28b91811c8858ecfd8f222a6e6b9824016c9ea34039bb4c5a7e65ff2d61d6b39bd929f667e8f7324099b042bf1297e668eb2879a17147b83a0398cc9335c486e0bdca76f290ed9a03194ea4d68159835786b46bf13215af526b9f1d55a6e9ff50e363beadb171b1e436cec2521047fafa67c1d338e5fd7e79f83cdf99ce973743de395b1b69b839ca8f576aef9e09ee559684b7913f674905e2d5de0adc4718e982dd0adbf93282c63373a10ec340a7acecefc46bddbc6a39a3b0b10906a474145f6ae0cc1358c8bc7af37d7234217792b9513face45f523129879b81b35972569b85d77c31d23d42bfbf9df346660007d1c1d7fcc1c51d99b8fc583e178a9bd0ca21b34fb8af8e2ecfc98b6c25a0a24881f08adfb05e90472c3826a2c88fa4ef0d3e0f7c9e0135595c61efd2a33d8f07068844eba533c6aae71a501ea223b3e8571bb26fef3df239fce71688271e313bbbf5a76567c7c59303ce1db849938512e857d36ebabf9d6f744269619af6064bb90213f4d3a3c07b53152b501f03692d2624040928ea452304acdb8fb20af4aff823489ba95dae8310e00e9f99bc9f2d16aa1deecbd4785fcf60b8cb9d4d8eed2ef9cba2cb952bfcdc132105b5d9150233c5ecc43bfda42ebc61dc7e48388ed69a3b23efe8939287a2e36a76e6b10ae867e2cc48ac0d425bf0462d5b2a23125b36f372debfcd6da49ead87467a0b006d83b219d9ba4bd0973f3a1247350a9b39fc675481201bbcd6951a63c891a3356d037232669553432b67c39e524e25bceaec52e70307de2c21fd3f64968f3553062f8215b30b00a811e5fe8ed9ab105adfdeb38b14998f7f4b93602841d8dcdef312b8a1a8cfa02ac88536cc5b603f6fff7941252f7d96c6f84b19ef4359a28c51ccacbf09eef64073bdc537e2e5400fee3e916e4ff8a6810016a082b96aac1bb32fc37272aff1868dbdc39bffebd919923cec8e42406c74297c0749c1f42ad7076321752aebd0b5fe6b881d7f071a67ef743c6cc57f6edfb214eb21ba9f6030bf6c957fc53aedfec89c5f99d8efbb83248af858b883f955a5a8f4ca2812e7311e5adf195c8eb3280dfbfe7ca2c7e32980c46a94c16d343bb55f02d4c71cc116d01df5ca95223afc0c07b634594e412c1bd9aa5b2e4348773ff3b29502e5f1b4105753a16f38b1f708b59d29653891330ad3ec517652a2deda83b55f38668d3a9b7360245619578ad6550ea48bd601d50958b6eeb475c3b8b3e6a8995d7aa142b8c0d92425d1371b38072e8e09aa643594e3e1d3b724a64b6cc00db0997b15dc420b20728e27723f3b76dc2c277908a7f9a027301b01032b79d544dd3f8f1d1f503b409013fb299ed7f6187b9375d5c1f88d833d2ed309f3238da6b44aacd6cead6a8b6716ab8c3d99adad6c27fa68c6ae95ed427dd742e0c8405351d5a2de16e7bd1cbd9470ebdcba4c69620adbc5d121933500d9410be649491d54bc2b2595e9030f61df99951c5fedeefb5d4f54dc6a8619ce2d12e2e45b46304382cefa96cf2ab5937501ed8993833fcdc8a4979182f7169ca271c1060d43e0711572fd2f324c9b0fbc7865e91cb1b81d8f1e4eff259fe195b99803243ba5f30ed77ce5d1ebe960168980b857d1bfa4ea197a6f1f4825fbcf7a6c286420546a614888e156f0b1bda09f9d3c46657eccc696a06711e7985f0cfe8cb4a87654f56b2b4d64f98e6895f148d67e4eea37046d86acab84fe930a2529b47c53fd2a298f610da966ff8ccce4f3ba12a1a9f56a9fa457b34d266f30bad8847158096bb3ca334fa1120b7c4d59671b023917f4fbc86b255b501b21a97c58377593d1b33449ad2f585036989ad1a63b85ce2ecad21d1dbdeea124550839541dc8ba8c4605a501b426f095c508971ad2f7e1e5f35b0c1339a6cdd46657831db1dca2e59d4b6926eb887db456babdaa36ed138bc32b285170b782cf8518d4547606aafd2a809a50fe82ba6818eb767857cd535c3615a2f85af1fb8477cb61a02c570f3a8dfd75abd3e7d8276017b83aee1b35ad0ac786e76f1c13a7a33be24b21cbd1935dc9fed3e643989efdce4ee0925bddd223ccbece15df1e5f63562f4cff72d0fd92c9b20162267450935d23a246261c21f1d3dd2c891c51d4483859af6c7b688d96970a996b2d32f7ec6853078d03365daa0d68ec8e770a6bf502de28bb86b0b61127deb86f126719fe6f680053f59afe55571421fe4d84743b35b5ef6498c6b8ec00cc1226b8d1881cb9e55a1362ff508e8f634e07d8f6a8c1b5c83f7ce670c70a75b3d4b8480cf19fb0c98add8f11459d8863c0440c942d1169c2b6e1d8785d1c8c558c8afce98e206ebe8352f90529b805a9ea157ebdd3e976b7afc3170be8dcd331cab40a368cf3bb2f60f38b4fa6a37c45ae00aeb6c4c0b1b234ddd938b4b4a191691d08d5feb0b069c0e62cf4a3b6c7979bafbce25f7a896ad26bb8fa90e546ea690d05bed2fa2c76d95a10fa6711b9b82d1fe1dc08e18096a30dd4fe8fbb1dd285f1456aecb44fcd74c44e16ec266eedb264a1efe1a82c59b51e7307d4539f7dc4aa2f0dd83661dc62296641ba544e7bac6bd903c7c8f888831d6769be9efe1eaeecc5b03105a72d5e025f8b2d9e852f9e584283ed77c3454f39f2ca3cd5506deab5be238603313a6aa97510208e9ae035727d04581b67165e62fdbf3aa1965e811f038d5cc4497e7c4a19f12bcda4416a918490b7bf63ea5553fe0ee4c45a1c883153da6038e91c0a140af7d0f02665617c6ab891632c2f074dec86fee825754d8afb4c2bd103f60d34e5adc1b7546a26800365cc7ddb04ad947cc3c615329cbc7c1325cd609199f6891a16845eba5e65c15ef56772d891c14cafb6ac61d54076735a6bc45555eef212e2b5d3359836210a4d72f8661034ea72cb437bd7f791a00e3904e2e3a3ffb9f75125a682065ef5c067ba5ad9301b4231f1c2b75222198e8f295a40d46e78e5719e60dfc464263c3ba8afc98778bbea13a0770a5f941b1b1cdf04bfc1e3af4d931d18f168229d00dba9a798655a7f5e241fef5bd79ba966620ebca9b683c791e584016850dc191fff378d8fa7c1dc27d9b6664e069b8be025df591ef3dc62750e1d93a99e15795417d2f36d03e5e89384dae36018618d6e98aebbf5e4eb22268f17ca91b88c66946eed1357d231c95d754cd4fae3c6b2e8b2531337a75267961017846c3e1b5faeb26896afa3afca7ac48f28889d32e794553d72f5de59436f97a4edbf3eeb2f305b92a13a203cd796f43bfad6fa7ca7db17d148677e48ff85017acdd1a1cd8fe302db3070165a88e0188457b550d285dcdf83d3392bf795fd67cf4a3bf45d59ecd9c4bfd5e7af22d635f2d4ae74767b70adfed0b3d945898fd37d7a06257e7ef6cf65beb37b515d8edf6008ddcd958567f21f064840d89858936578e6bede2c5582461fbedadc8eb69023c0441d83abb7aef740165c41bceb8e5e1695a9483d0283005df03914f12b21cf1fcfda2343ed881d1d1f272e1caed5316bbb11428f065d34df813bd337acee969279128ed2095746b384a77b662d47df637630b5a23bebf9ac600232d6d929c7fd4604530620aa10660db77c1295fd5b56474d097f9b918efeaa034bccc4da98cc73d20aed653ae188c42cd9aab167d6debb70dd47ec4e91dcc6a5a9fe83c4cfd940359d4a72f4c704832fc52043fa6212e37601c79e9f2e992a19bf612bb96390408ff812dda9cee909a4227a1ee9cbdcfce4baa995413cd03af8f1f009f1347a0d7869e97a7f2eb7a1724d4daadc3858de3ba1fbf711b7530d21df1bee5368bfea05a93b0c65b3e333c5d42388dfeb0364a1231639f4f067b6e56ced356529d44d8e5e7556db3b3c7abefbc3163c94bd87a7bc2fbeebeacf5d9d31b50cb2a3305e911284e5a98a2828ced4a6f8d3eb2112cbb090efc663f3a83d52aa7a0557cbe406bcf00a78188091cdceb2e080afc78385549dce198424c41904eb7afe523aaacfbc3ed98a0253ad5138a864c947c31ba80ce88e51bf6b713d92a970a127d3dd65a014643592b71f2a0d4c36cc9455572d7dfd38941c57d8c3e2128941e1246950e6e36e804f744c16de761f09da5ef62be8d4aa07886031e8dfcd983be1d288a2e3ff7c96e5d10f6f942529a9c934fce274598ac84565676f36838ecbee1d68399431202eaa30af186d5854c60946ee3826eb20bb8974fb90a8ddb6e83856c0772e57907292c39a840e7074c26c0d198b4c1369121211293e16e8fd7904c671d9caae037ed25c39a9d32efafced73e04cc28bf9fab4193257ed2ff483942ac580bafc0751f2fc1f5324372f618f9a85c17f8038d4d8f732b70c95f1db0566dd37be41899d50b46a2371674b825f5a17726cb94377dc700e17a1a8cfdfebb5ffd809d3c8acca55a3d858bb9993de0d66a09c39a3f4c0035a88283721153e23bd81c6cdb164ba8fc4ece323892fcd97315f16dc1dfd397de9f4ac9795c3d593dcc6a030a8af70b4b3e41399a1599dba11279ca5b13ad0ec267da4cab208203b4d12913dfe6f1158ed0cbbafb5b4929c959c819a44fae679d99017500072c7a98386382f764d6174018d101db48545acca586f2163fe0008a74779fa88ec6f82c31c5137b844d05fe9e41a63f0af18887535ac521d2a26156f0ef78e59a93b712c2f0502550c63ccec25dea9fb3c84b27867d7e9b3a340b024072c0eb60c6909649815ac374604e5c1a505f1a9731d3d1d6643a72997ffdeae34ca348acbcd146b11a1e5b90e5e59a870c860c4f9a6eead2ffae4bbf8db96651b05bae8ac6102abd67373cf211e8cef69727e734b77c94a237a00ceacf2c70b599025a4a2bcac6916c5c16d5b6e07ea0aad6438e1ba28d0036d0c5d14c5aa39383abe62452781343eb8198f6d55ff63808f7a3b2181e23097f3f47603f466d595fc8d4a5380b5f37d69f3784de61ab6a6af2d66683f0797cc9228760f117f107d5add352c2c6839d94b8e9f6f74d1a3a332b8902da623d384cdbc23f0ca8526c2345f05a667f050b81eff1854eb0fdf438d2fa75e0590b46967c1091ae442fc2209f049d1591c5e7bd128f3b67ac4c5c08bc4305c963b4f5fc07a39f15890fcf8efb0ce08281300c96559794993e0f3bb8521b6e74216ff2bfb497a46745cd1b5530c75e228cfb32e153d0f045f494089961e146199eb16cf116f1ff7ffaed3d6e7906569e405a9d07d39ddffdc0cd252ae6e0bda76e6ad9150abe79ece5300e2c80ed1d84f7152439114b865cccba8ce9d9ceed37008c01137ed3cd3578e78b0380f82dab2a537ff538536c1c2642a9896b2c8d1af9ea9dcdaea26698c44fc46a6f2f54aa136a1f8afb54123ac2c740c0d83977fd4e56b852e34f5caf3158b73844dbb94ebcb16d32b5899b40638d8f9b722e1b4994b2ea61351d01013685d7c8de9a4b1c1b60d588f415c66ddb098d8e59c66ef70c34696872d8448c6a09357070a13752ffc7b3fb55daa35c5d78b8f211ce9117dc0b33acdf4299270d267fa3e19ce2c3a25b87668e86f1b8d5dd7b0f8f2e559f0d9e54322d1a2ea6c71987184c81a8fbfa69b8549a3939e9bf214f447ab00402fa09c95d00561f0648b8471c420ed5b533bafafa94bfd7037229c9d470e5ae906e3b1717cf8475d7838a896a4c7fe91f7d25d231367f0fa5b36e88c5fad9cd1ee02d3b4eb8c37779fb2583180b2af5f910ec05d75655ca5bfb1d4b5a6cc06bd747813a1febb7012a8df6078afa578771b133f9f0dede0e292e43869f02efe7c99706f2f4e23e2bd422dd8a94b810839cbe7a886c252a82b0156c2fc5afacef67f33c2aec912328ea7120e88113a5f1038210578142744bf390e81898b62c7275927265658cf2be920935245e45462504306883bcb43675b2160fe7d881e299cb6d51cb8f7bb97a83a57c3691401e6bb7ddce6fcdc9eae45677eaeb2bdd5ff471a19aabd4b72432bcd5fac27d885b5a90b867c0a2a9a4b7086513e88715c1c629fecbdf3387836860527663039c7146fdbf5cd255944e887cc83878842dd0e4cbc862ba8acb86d7238d4feab36b16e47cb4d85cff734295ef9a4e4d4f04b7de8ce019f83b52188bb2f142df7699ee8576fe42d90934ff24cdf28deab20486c48b4702c473375b6d91e4e6a0286475e5f9f48ca88a17f7444af053b15a0ee0d6d73b1c508ecbe024c544a6d61d2ec2fd2cb473c242ec1fc16f64768ddc9755e3452f076fe6060f89ebe8ee03751b6f4ae197aa642f0999252efd46c3f029780952f3415ea5682a4a4bc7a3f90fce4e313dbe0133d3f932c66d901f5146b9f8d04e4b95726a351966983f0a41c3f0332bca649473cc6488acb9ab488c51217354f46a7040e68a6945e3f26a7b7651c6589bdc6b9133fb790172eb3823312ddf1b03ca7b90b16beaaf97b24480084bd4f09b033fc03115c4f383e0b3509fd70418bf0487f6ccb1d802feae43db574fd61e57ae5f2e883870d8bd971967a1d25876c0cb0f586352e9b391955efb3b41d3abf6fd118e8d319c3355284c4620f194c4f357f8d04832ae4426f73d63328c24c1c9acc9d9f36c91e41054fb4931c76bd9f12ef2aa55b7c561dab9fb6cbe02ed603eacb85719ee9aefb9515b455b8115a6addf1c77b9fcce9a715969326823cc886b6cd1fe4128231eb962cf9488f29e051ff4c86c697731d07c9e5b3e90b2b4a1f7a641721bfdd34278d3945b455d8ccefa2aeea55930c10f8e43391a1d70ffe44c589364185f0947680e51b2bd1f34473a898eed4f862ef930afafa7433cae214fa5645da9cdd3494eeea1b2b4418d2fee0e1e300739eacd1954d9d7c8459328fc370c9bf247fd5bdf6b53f95044eeb2a4f8ec93f225a217a157096485f0ad2a445f27ef3a0228970a2c48db69c7e1e425dca324cb833df0578ec61a40abc2d1fcee1f9824709754eab5f31d7079d8c21afb4e15920bb16cdfa7ec8ddd2bca4886557208cb1ea095171b9e9abea7bbe98396a7c7b4017e4d7601702fd80b274b34ecd02cd020b8ba6b1a800b79e1c237326b039f275af12cdf403ba307b2c7a705ea4d587f5cfc7826e501b135a6aee0393ce789ff375b33757bd7dd00b975ad7181627734f9afce39df39c4a282484aa2fc759b5725968721dc416ac8873f5804735b475cb0a9d38844da652000985fb421838f09d3c31957bc4c36851c5008ce45106aabc9e8281570a96b74be2cc6bc191bfe03fbf515c604dd919347eab2fda13f4c52ffbe04c9f7590b9c7851cbbabd4befab8a098f8751884cecc2c68368b60ede35f992f427650bd26c067d900ea46b08a3f854e142b57ea17868d65f725e1dd77bc2a839b109e4143cdcdda2e90add0fe10cde914a6a705dc6c4c13060138a8c20cd1903c7801fb4f59b4bed54c421b08a8bf2f4ea66761782fae903161a822020902cc25eae59a7e98b9abec2f8d0b497dacc309b948bec27905cb8234f29523f97622836779a9cc3eb8c69a2598f702a216638d2eaf0ccf84de845988ec49067a6529767ff6728b3e65d9e8f686c7f5207855a4cb4046be168a603d405472be993d927ba3d8bad1f5affca11d2a7802f4b0ae2c783e18af79b97edd2ac548f75db08766498d544c5411b7e369feb510c05716b1f9832e6a24f6e4f3bd7d6501af057300fd9e65c655c9ab990d498bb7ec15985ea01b21a90f5b1ea952a367c5c25c29275b7974e7a8cfc152d0a4e74ff6adda0b9d073e4706aa4e3101a363ddfb83c5f89ccdeec629f98f2dfaf958ed9f7294be71b75676742660cb5893a2578867703cf38feef705590c71173fdd7f80bc6416eea63997623472ab0ce7290c2e1834e50f20401b25a7e6230799500d3b00d8e6296cc26f1afe88a6f2f69be557da32fb3dddcb2e87cc1e48b0ea65ef48b0612cd28a355c1d9affd4555c078320cb5cb7eaa6cf4aafc9f1a7e261df7a2f898fe7f9392c31eec75ee1c8bf3bc6d0f191bc1e255ce33025ed6b6e676ddc73e55a6841dbb443652914a64d021177c499a125f2a8b4b8cf9797818abee6eee4973b4a6183bfde45a0539e58a070a582647500c867daa2b035dae1778d4f37f12a8cf7774657f3af39aa989f5cea806d080870643abcb91d056ae772d495794db8b70ee266cc2f253720b0e6e8ef5bcf272bde8e7c020acc0bc0ad6ad7198d9ac161fa4feafeb848758a25861c9eb4c2d549f39098b5794bd1bea443599683c6262f349cf4d9e6ff27b0c3f6b6c75d1681b3d7dcf02e3522de057acf920ac3f568466f9e5ffd7385d569fa495b62cfd399a28873b85d43868bb746adadd8952c33d28c0b70db0649e4566571ff3eb7ae021d88735928c8fd5d93a1659033663e5333dddeb88f1f281d169cd8c7f33117a47b0d3ac8fe2fbf67cd8e644d730204b19e26220142ca97040a0162c2310fab3e775a3e757210c6fef41fd74ad9cea5e7995f2c7858f91c3871b459350118ad503be6c79499a95f84e2abb32ec8e0a9c06add813dd0c2faf06e9e8d94f7a7b73adb6e1aac67efcf847a263a5fe2db698f79e715d9c01885d138941ca1ece4163f442801d244127beb0d76cedb1affcc4a06ccd93b8156a9b7a09dd7e91b9166486a084d3a6ccb6b6411c369929cc2aad2505752a59889bd5f062deac13d09f64be2d7e677aa7c2359cc7a593bdf141b975c01a5ad3245415d4eff9f90a49cece5228c7c92df7c7eecf4f0cfc2bb6a9cd6c276aa1b60fef32b63ab11f41aa20b3c1fbce93a3e77210c1dd8c345a46c2c0a316e847cd91e7807a0d4d7809168a0f4e7c59938c8a8483af3ebb43db901fd37d2e4ef340f9dc35c94c9cf62bad0e98c7c1fccb0e7ac9910e84391ba58c027aa3dc1c93d23e1114d6fc16b3e8c9547a643af36cc1c9d775c5754b28bd33f542e056a2ccf216fd05db5b5edb043e69f1981148007439ea2d4b195c22b00c29809b453afc29451ad103ead85101df6656d9673d527f6a7878373f22e2f7cb9051ad115beaa6d23fe9db5430710259001dddcbbc49d8e1d3df4c08632ebad9dad762b7f189201353aa9cea244cdb34287afc95e7dc773e123849ca6fabdc7e2a17c77478d967ce6f59b9733873d3e61f308d854fade45d57a7b59d14f154de10470355cdfe5a8152e178872ad0107280604732aad556e5f632ed458ad44db7cdee31d54a86cb7c9034be019d45b346222247a76a383f777a6ccf94f629d8e91bc433f904fb87d1d57923b71499d5937af9e10ab84b147649c274251e210ce7eeced5023dcbc8ab5042a7061285e072d3359a4b497c2310cd38f87bcf106f6a02e95cbaed445426667f880eb7c337c8f70e3ac879465326d5cc663af0083c35b0751c484f885a5a4cb68575d42f52dd858f77dcb051ae3f45e1115582770d292d76e7984bf789163e7ca12eb015c4ad9c27644cfcebe1bc388927493da444a292733051bcd050297271ccaf08c1c9eb019a612cd34af4c68560863cd441dbb9a4a04f5e91f9551ff178f09ca9532bf9d9a02fb93075feffa3386bd93102ff00bc9c605b26c959aa8dffd201becd7c55b4fc297cde8e2b1577f27c38e98130f95304304fb3f10152f6f1861439f62d7ffd77728f15070e9fc908fd9912b1290c361429bb19520ccf22fb794274d0ce825ccc5c9b962a6925ea12f21bea08f907e105bfbf20324231a117b8a432bac7a5a4aaf81c312dd95940580be1a3acc24a97ea1995fdc07c049e9ecbef07ddd30dce07b6cfb2a2baa5576031c8229fa3f6b03e69519a62e0a349e9c31dd643e140c493b0d2dbb9bb99020fa4e54341493fde568bf881089d62ccc7491f0cb03d27b44651513d85db9914ae523aa40dc402f19d9e9d4adc714ccf34b6d1a1c6dff9b72c8589c122ca71241c34240bcb39ece6b703577b5102dbaba43f6ab0a1099721c968e783ed0b67d58f4212bdc46fb2e56a7a2056c15a8c4b7b4e0b664131e8064b124e57f566bf3b1f76bbe7429ff465bfe767ee692b9e05b299b09c285411b9bc31bd199acb995a7fcc1ce2d3002005bbcf7771f284e8d6069d03b81841655acaf724b6dc012a136c22f79e3b63d518ee3295b4d4abaf0068bf98d46955fc4b824340418ffd5bbd5be702188ed17b87447382efe53d65a6067cc6956e4589ed30950c4ab4214c4b21cf2f89a612541c765d9785df9767884eaad29bfb85dbb04b6424970dd1c2e878b34c3d9f5fab029617ce4c44424cfd09b22e869c44aff4097a2dcada4acbf506c64fed8ad198b6009eee586bdb3b1c4d66000507b25ff21b78400b76011af9129006aa3a241970e9a3cb8ed0a4f9e9f386bc2cc84027bdee97676a0bae33d289fa9fdf2e30c3f08286900ab7b077f7fb05c3e2555d356b424c3cdb4c10f2fd46ea9f4e3bc6ac681aba9d9348aced7fd1c544d44aff6fe291feb3edb26fbaeb422cda786a97317d8267e7b04d519853c393ed6dea6458035aa37f224bbe493f51ebcb4590ffab4f3f0ea3650d3170fbc29259987bdedf239a3271376e50bfcb923b962b716074d6bba23747e6ab3f24f8bc6be46d8616f05ff48d356557131aed4be339a452eef75b68c5221ac12281dd121f5226aff62254df3412ff23f00c015034ccc7fed74a1db37992646b1e5ef2e0bd85cad8450602e6bb5700f7b3f6fa164aaedc1b1f633e3f61f458788fc1bbb42d8318c02e478af91e88ed23e0db5f5844d58d9ddc75a60b0f634d427faa2add77021cfcaf42e927f57e64a1bbe69714ba142ef040656fe1dfea9a91de0b9b01167cab6d78f47165434818f6dcb289a2f743226c0d7900b399b7f7a93ee47ecf5a63ea977b48eca26f056a674da7997e5a4a92da229696519629bcbdf1e211a345159f7cd115408ee6df94a6693421ac61f281215f710e31c8bdc82b3bc441ae93ee79501e84ef15caa2a1593fcf579ec9aa47c66c6a9614443414ee40ddadb1c1630ebd26cd1754ec9c3709f865d3712ffaaa1b41857db06b2e61a86ace9317a56028d75e0a2ca8f0ffe507865a2e6d1caf998a1ed9a5affb2bd10b4f7be97c591721ea57bb2447db96dbdd69ce99c75108cab9393c1f36735ba5c54c32d146f642b3d924db6c9318a2ece7443ec1444261f1d5246ff7b7861ad2aa318ecb1a632481fdd856b103ab7faace60c11d151626353a64aa185e03695dcb11ec1177efc83a9a6ab29b89f5cba71d3ce9d8c0b0f3d0d636d635b6ab840dfdf554d3683281d990f2dbc4140c7ddc58e49587c62910bca3e3430fd4810941fcbeec59642a32fb95c624f1bdf480a205f7b865c1be8923da78248f81a7bf38af1dbf037b71979c33b2b9d5b0d122693f7583d6cc50f90a8e957f34718b65f142b21f952de5f36257e28e1ff080a024156a7da1931d18498dc86b798f96c6617bf42c210a2f359cc68827c7f7891fc3cffdb0a377767e46f1a78c86cda4e9adb3d3c47248889c86bc9a93526f4f8e818e84faf54e800787c285a1dae107bde754d0288a63a1006d6bab58a101290d8cdde322835410a3c7ba38c291128b3f975620c8b81f24b107f0629e22b60c1101425dcfdceb9d1e35070557608d5ce8be0ca949fbdcee5a6b78dda1c458b5e5ba5fd7c272dcdd9873637a98a72c8a3af94914b6a1d1d794a28bda5a0e8c236fa9a90d11481a3bb470664291754c50fa8d48cafe3d710412c0cd3af769027671d222c491c55273fcbde0b1f3dd5b5a1515ad11ef96f708719b48456ce264c181aa741f6c69328c8e907081a2b2cf0d01497e3e6cdc385c2dcb7ea4974e1c538f2f65ec8343552960fad85f9e7c2fcad7d022c11f1d9d210629918208853415338714691659889d82992d27dc9fec1d953584b3a8178cb46f2f00766446eeb5405ae12b992b2775ddfe8336643c020045849b105353affcbfa52acace3a360f280dff7972e2acf5aa0fb1c0efeb1d0e154ff47a83ea5baf2d569e18be5162901814a743d79b3da7d6e68be4f0e1ee4f1952b8466f2ca742f04c121716669520f4f7378a639e256d64e05e992fb520fdd2a0e11e9ce9036f33ba141aa2633602cba66687f606f61d587d86fe939882caa1e1b65baa90734b1dc1963586e6d454dce2585b2c4e897c42baa7b830160d5cb5c06e7c0a707a39c657f598c4fa0d2011e5871235711900c820556e7231cc339041060837b49e05b5d4fba3f331e27460efb86f10517372f7ee6e48b7e7a85f20f82a14ee134c359edb555ba2690bd7ac12aa329791a57f3cb3b46363e1cd6b85a7ac068fa427dd53526b6561d89f0c6361e9b1d18db26bf299b5a3c39735cbd736a35f82d6e13c7d602d811079625aee0f4e0b768170c8cbb90750654f6643d25682665b1c3975521495d1568625674050f2f03b09cb667ee87ea4e49242b09f5f4eb02e1d074e1bdb6095cba63ec1b6a31f769f098eb5da73ed05fbcb0f9979d68094d9b827be73fe9444335372409699e0c43900f5a437c35290041c298236a9ccd6d004aaa756a4e84565b04e8d107855a541052863a66c693f06f1cd4011ab038908c7ee6ea50a626cd9d2ef83e8827649c85cd3936d55172a2ccbf3f2a8bfd1aabc98d77ad8d810344d6604c7876afa60bf651fa9e62fa534273a12cdf98d6b55f24d5a23ed8e18b40902eeafa9c83a0ad8e8812ecc9dedeb506ecb13ef2a8e389acce91f1e67ad4383390f86e84a48aeee43c7ba2b221b7a60c7639322c24616167e910ef9d3602b0a42db28dd551dc04eaa5a6cbab62f8ae6902bffb690b12ee033dfc6dbf5601b0fe5b3027fe3265fcf3aa1feff1f76d702c6ca2c2da6a9c049783b8184218d5366b4b40b8f2a80b2aba4c3f6de92793e50ab8ed243ef903c127306b3f9d18f7443b5238c389ed04e26718850f41f4ca1bd7759464e2e36cb1d3700f20b8d563cebe3bd8230e4b54d85810ce0944130efd5faedaa76982c7c0b7ac2fcefee698fb23e695c08e0e13671af8876d3346bd0d412fb09e4aac0e4f2cb18a53db512ab9970101fba2e09870587c0b5f8aa823027a566334941cb706240aecea24693de8f7bf320ac5a3d8a22ae00f6b86df98d32617757314c659d3aba15ccd95f936f20fe31299435d8b223a39da5e6c0a5ea63864809347803f1dfdc6ad003e16d18820f7d3dc47ca7911b5b4556df24629e2703517851d6d859622700a0d48d2878fdc9b1b3733aee8e9ade33b98430ddf1cad8ece99de8f720720bafbc58c7655e09ece27447da15012e7410d52846781c6fcca3dfb8b5ecf054da78398b7bfc5302a550f1330f22804d3032350f1bff4cea58f1f96f676a6abeb28d0f5f21f956b996c8ec8693b70aad9cfeae0fc7bbfd46a1243a4c45fb94140df63b2f026ea61a0769d92a5fbae94aee14559255f5b42171ef2f87346ef1d27cb96a72446d737f6168ad7a65656d0d3e06a6fdd24d04f555922c619ae079c057c191133db8bdb042c89eaa1c1258416df08de1350b348e5fe660991948c95f98f3d2a739d1856c958be9c3a19ca31031cf60de69cc9d51d0eda4dcf4fa352e73334768cc23adb9ab1c51335fed5c2098e620711e804a5b2d6d5a05edb58f23a842b74191a386f20d471b3bd95397cab4fd81aee804a29c0cbb27e1bc0d63edc59f9871f2b1beb503ab43751c1b8840318c675c71123eb8b4e31403d40677bf04fd3f14a94ba322e1abcead2c0c2ac86a2e838af8d0c01f5cf76d3a876e3d14e653a5130953757f5f154488ce46e60d5d84e8814313a5dcd012e3f286ba3236dfb43c55ac68e27d20985d41b67a80cd604a1555f51b5658e0b7ae461c4dcd1f9ff9c91136a6c15ec889ee1c8121db2a29eae7729de30cd996eba0eea2e845737a7c0266a1410445ff596203421b8f32cc215f05bd9692fb2358bda995588df45985bf7ba3f3f35bab9a6c0426274c119dd624d9f737186edaafeaa9b5db67b805be51e300dbd5783b0a4fed6f934720b12a6eed41cef0956892eea2fb1188e4ee36041fc7b73e70ab6bdc82f5f3b8462ce7596b4a746c971a3c72ae038be670ed2ca458e8f6c2e21fe5ff54e6e6bcc55807e31ce3349941ac274c434c6f0b3e82b8b29c87a8debf91b5f10d0ef06c7e6791e883ca75d4ba26a8ad9fd1efded788fe13f97d3de86d98b9493f025e5f8d2f53f3bcd76868cc32e7539d26ba255c9c5dfd3e8ef3c45c7e807aec65994e0993f0b85c2eeec030e0c828ba3454f577f8fbe284210a00fb39a566392fc5176e945c71930f058e642f71bd295bffc63f9a1424159fa6bad6d2784087edcce840764b07ec502d92ab6236df211c2e1ec5a905e3015abf53dc92e0388eed12bce679dd4ed8445c5d276631139b5879c0b416f4191eb0b744ed899ea9955b1456bf215bd36a3a091132fe3ceb6e5c1630f0f400d482ebc7f932fda9da432f1073019b16267d57e4de42ca1134c0224a5c66233f777da7e5dd201d244f45bf6807de898a50206c0c917429d2f985e64f0c3344553ea316df4390cfc0995d7fcc6c96344265c9b974f7a41bb7b5055cb6b58c8b8daeb612c117bf0da9607d5bc38534c3ab27c12d40bf74c59b530b9789fa6cb5ebf3219e97159ca79d5b542f8b3b48dc5bf3fbbead3278f061af2afa6b84da152bc8ba3f45623f4e73bc5e7ec600bfcb8d10a63d8765ce827d3e4afc08427336a13297477fd86a5322e9965b664ba573feefbce034da1b00e6053d32994ba87ea4d72fffacc5f2e4e9ac2735fa14a5da81830923e790101e6cf866e039d9a37d6e573f83a403c7d0f99a13b997141f97a4421b9f3fd0a996241eec12ebccccdb4cc7522bb0a7c2a2fc7de29e1f2960d7ced5192d725ee0b0ffc28aeb7dcdd9f498326099cd793c151482223da2e1871b47676c84ce61a7a31ccc5883d866a04a721e7939063e4444fa6cd51c760f9de4333e027372550237922e047aa1e157fc5e5c6f3a8d5c082f8ef30b3d9f1e0be00bff14027955fbffe1d997d176b38b1878c1ae7104faa80cd0871b82e397f3bffe2cc5736b1f327c0eec520b37565bbb100146bcf90ef25ba56ddd62b81bf19659f38743d2ed755efe310d1bb82febddee275ce92c9b905a208f43e6291d8847da209d17995476104605f65d2740b0c24a0384b3ed1c26a0269e01e3b56d345e715e1fbe0acf46cf08083fd100ab195a4ee7f2ba21a477f226272fe494c6c154360294d807cf67af6959567862ad135b2344072b1102fc7cce5514bf3c6f8b86f5638cca73ba4cf9ac9aa733fd802eac31da49655f4611cb44d342282d3083214be25ba6231c9139576e996623e1b79744ded25f0bd030a410e3dc59754be2665aae207d3a6b902d10511d0b2f1c10af7c24430a2771f158b1e01e79259004d9d5e7b252819e188bb698bd96ffcab12efd4da2306bacb1f29ac922422899b9ea98f06630b7896ede5f9d10508533c4f189d79315662c8e3ba2759fd1b68ff7e37ada558de557fed7f1679330cfffc41710a48a66883094230bc3eb7f3ffcb138e19c1c3d76af23dfb2e88f549a54880d6fcff62e80f8913faaba8e3787ab91861359989f6acd7e81ccb308dd303e1ffc38c6c8cdd2c01b51a88b28559a97b3f2d407e086a1356fd96ebcc981a178fbc7a361ba51857564564a4311906d7ae557654587d388fefbcbdb60cf70dcaea6410a24282630b199bcbb8d2e6f050eab158ae1e7cf8155c2b343304011c7df640dbb536a91798ec6e26ca55f37f1dd9069474f228efe1dd354319a405bb2c86d136cd7f9f40da243b04f73860d4666cf845953f4c5919e93286f3c7a4b13fc8923c903211dbeb9853ca6d6038bf2806c41fecf70976accf26babeb11569099ea010c5bc723089fa8dda96e2f6c4d3d44bd619baaf7024826ba9a3bce376ed22528b92a75e2920927af8f2ff5effa4bef882cf7d6331d3eb0cc42d2d094bbbd018582d20f5a1f765c74381bfcf63d3e435d38e867dbfc1d71f6cf0c7db6954583b07a2376abf6d149c436e061228db2610d8da876311512f44c886be938b9cb226488df42cecc35152cbe5804ff6ccbebf6321e106ec99f7404aba4588c195972d070ede3c31eb29ea5cf08e3c36e15e55d67a3d29967cd8826e6f8cd64bd7ffaf1136bfc7c201d15c4d6415cd7440d9c30f55b810714f3c8be3b9859ad8d43059aa7b957dc32dbbd5d5c9be4c9634c6e0f2cbe6d7bcacffd6217994ba958e18843bc5e19ccc5e8b46cc620d16373e47f53eeba5e872568c261e4e19dc78587b60f719d2d1d23461526b4856d17bf543af65651f4d44944db06328750e7fdf843d2fcc3deb1950409d913d6c134cc223262a668d333e8bd38b7b05477705e7dbbbd5e9ced874a5f6a12447bce903b70323c69fc2f6bc0557330a85013595ede81a6417e5b4c107b8f68936c5bf16f3fe44b40482caed4321a3aac363f625e3e66d46e7607e1a17fcee863b48f9beab02bf7c69e49ab27f300ef6b68c8600d57ec4687f9fe10de4dab392395430b29f69c5e58602e8ff278f0329b002001991700d18df6bb0eccce96fb5c6adb93928741c569360ece8075ba4261fdcae09543c0b2a2793a9bdc7dbae6e016a19646cfa44c15fed75c0744b7b20a023361d1c1ebdc5403a253120c87ab8f33b2bf783596aa82f0a1b2d6c1322cb8822ece6cea382fa6aa268b6cfc1740de2a9aae14927e688ae755c9ac32a400d0a1201c79373375cc818c96a714b819a1a37a2f7e4390dde789ccf0811f6076d46f542214644d3bb6bdafbae352138c27071138bf06994d5f90c62726dc2f2ec9787f4931f7deecc8b81ed1ca0a7f6a5f39ad33273a5b42f51a3fa234791bd5823b47ec84e67ad00268000845190f65e3e3668c6ec3c6fc6eb4775ad57fbc88af2a732030a97f3aab414d16891b0c771a93e1935e9db44a789533a2ccef18967adcc8b5d1634a0de6dbbc76b6f0041e4765c413cd3ee5bdc58ca5e6989ebe932cd3696f91c25ee227fa521fdedc2a1bc3c14054bfc572d5d74df46553034cdcc4342bb5dfd6b5148fa0606f1f3d609de36062954758c7af2d23457ac2c10fb4334746462d6175ac55b0305dfc9e04bb009fcb241c84097959263de58a8d71c39736500666007b5aac341125a37b72bfb0ac00d7b24c7fb8b6f04cf94bf1343523fa8f03981c9589749544bb21881efa6bbb60e7454068811acf50981d105f2ef10a81f5a2af96a9cb862d8e58ae48c99e6b2d4830046355af6524dcf4b8d15b9c573c364b71f94aaf4d9adfd5afe96217b69013b07771eff357b75c1646a16673b262adff6a2dff13056601c283f631732dcb5829452e17a36f659c09d7f65b29d530055ac908e57103ed31bff06af5c299c739ccf7ac8bcdb440d289582c4863bea628722a3b83fc8e3cf14ae011fbe5d9b578e24bfcfd22652ccbfdebf771bb424702723d421de46e3a6b3d8dda02923ebdc6b5a367bbe1baf206961240179d8cd3a83dca6e2d0ac590d24b9ce44859e9c7ccf80df30ec4319e3df0b6ca5a57538ab554f9176ae95acabd38491e28399649fb935e5cbb7ff9287153da91ebae4f427d3d8c06a4b8d636b3be71d42726e8165a12a483ab4e1907e939693af85068274218562b060a349028be9e526ae14acdcdd6efa6656a3ee1819e9d6e5e838bf347c57fb6ee7678796c70718c1a6633623b2101a2eb2a866098b098d25d9799058d30a634aa16636e9663b2331b8406f8458d08a09539fc46357c898ff833a97eddd2edc51c641e8653707334edc16e32d2f9215b86573dfbd84a35c4cb30620ba21793db9f8b94e4d19a4289a49cbe83a7d9d65064de2751b393189cda868521759fe56772e19658b2ba182b29ff32678098447d79b9cf7a52554de95a4d3135efa6933f46a19de523227e9e3d16e9aa3fed36b13efffd7cb03481c50c2ed2317c8e74eca5cdcd8722a3fd76fee0f11d6d3ce9d248f00e1a142c2b526d61788b68d1fa36d3d3864f12808cf31282b3c3ca4029b32b72905d2f8e19e46078f480731edf7ae50315d7d7c150b97a1c45f51beccc5af4e984fc51a8bb74bf616dae633bd7a19fd78639e311ddc7bbe8e8b608e074579089a5e3aa38fee9b75cc196476370685f1f9d1e0d39e86b5a5f3c02b14bdb684bce6137df124e51c995cbbd8197b7516e451f686b16fe7ffc8ea15dd195ba4fd409ac5abd9c20fc3892bb0a0857aa033e5b3e7c4f4706c7be4240bfa4dd32a4b3ac4b48c0da6d95f631bfdfd8c3501fc1c2a7062461de16f426f788b61497fe7bdce9b4e9c81742893dab762747fd5da4da95981e3af598305462291b7ebe60c5173639d895c90e8f44f4adeaab9e4077493a608ceff83a033046ebdad8a570809b6f412d792f2e31db0e6edec3b95bdd72e459a36bd6cddd01b6a5ba68e8b3061264b63ea15038f4e3b2e37765c3e7ca3c3689c67480996b1c0d86734dfeafbe1e06cd3de5a214f6098281a2be30bbc5e1967e7372059dd7ae916afeea63fcbe393dd4d8176227707d8a33f498f5a15d504fbc5e3947707e619833849b8524e70905589730d3de554ffcb5e6fb502e9b7a1bcb6b7af209f5d90c1e387b898493d60268944c5e6a4592f8c9a47275692bdc92974862adbeabcaa777ff391ab6ddb0c5295ce7d4311265634191029a5902c8a7a2059c66031cf0dd14b50ed4c6d634f3d16feb826e29737ec070c474a18caa372609f81bf52b8d816aa2a7f9af234fccad3a995d572c721913ee406378f86791435274446a2fa91d9528f57180ddcf3edf582296a66c89cfad3e9ed0634e6d904724730ab5e26d9d9fd6124a4c03b6aae1802f59cff6605055ccd39b7f3000728ec501e5202193ce241c143e317150faed9a47f58bed59f0d8b263468b78cef10f2b2aa0bc6bbbd274bde725b34a15e7968497208a43ddef6c6bc44ac60e1fe6953bda2e370a932dc08ab6858de83e56130d81878212e9490b7181959f67665eb17c212dec88e692480cdf3097d23368c597dc3b12dd0230c50e83c4382f30fd819f82f92cfda3cf364b4a740c2a5155f660db4e51dca402330e1e690bd3c8d12690eb5860162cc13c55573268dd0baab3db0b3cc35eace569ea8b9400c25d28e73bb8865a7de989ddfaf7edcb8deddebbdea196285ec0413971fbe9c749f1f725252f4390dfb18e3aed3c45f93735ef8192b7dc295b7c35f21927be80064d2b7b07ba60f815aca2aec7682982995273709597b051e99b650d8935e86c9cdee68d9e43038fd61b285f730ca021cf579a81177938d78d67a2b83ada215cb446215e7b6f2b44a397aa3c3dae76846971926223dd08bc100bd5bf8024f7b15600bb278e4bbcb60f22c30019fc4e9df46258e5f4123e1ae1b9c9b4d3d5442a11cfd2326d0eb75135756b42359cc45c7a147174a2ac1580f67c6a431cb3867a3916001cbaa6563ebd1af53065c20b9cab1428d8e3eae5588048f015b34ba4ec99587254e3990260cafa2b58d92912a4bef26cb52f2b136d7d2512e430d3e2c4f52d31ffbd0081d67a61c88694fd6e19586bed43855b7136c866f08210bde6d0ca6388358fbd4ef3ddea41b8981cbe83512be8c28320440906aa73e45182803cd9fd77bf6e5279e44f8a7b5b3de9def7f7837d3e2300210752a6f120a479bdaa5ef612b4c4173fd537f1741bb73303f3538b93232506a51c4c64283261ee1c74fb1195ed3114f3e99848b29cd3d3b7dc7957eb5624d5ae38e73edcfed2630f9bc61d79087745e56b1fc9dc45a41a1efe45872b1e34aa209461433b1427249247920f30a78e8cb5f52b1f06571655d826b4a8222ee3817adc263fb7f91907f5481a732f388c7378b45b8655fcf83e7ba734261f60cc1d3190d085d390f1f4744ba6bf473b13cd692520028fe08ac0ecfe235ad1af155315b40a93dcc8e5910cd9b583ab01b56a044c99d3e197bec3d065d70d7a9d4955ae4cceb5988f0a3ebc36646352d8539659176b61ca242c70b270fa2fe3e182dce87e7838fe909c44ec8ddefd0df546b1f851e223c762cedcbfc65dec7cd36fc9cdb348799f602267a37607903d4122305a52aae18678dbd255a626ee241258d78b1468080d6604829b0803799031fa58bfcbf27113bad0ecfa047b3c8c824647e765fd2add6a28c4eceb4993c96e4add3851824a6993f3c2545414a03db2576ac565b457b0dbe816adab9404cfa6c8d180e8f90e2e74b1fcc229b4dde3fc3a96643dfc4330e95e20bee2eb722c643c077859aa83afe7e72d02970718415f70c22a0c3a732c82e58e44c833055a88e627251b15de8658b8c7e8e327f76aeceaf796d108719e0332c8042ad690d1af7cf69994afb582b25520c9e61264359a4a14a75228a261c9d78462de5af40cdcb0a16f30e9478828c084f575a5086d2bb0bb4b13c0cf733018e7799b6be7da0d4e0b3b802b35072aaabd15857ff854bc305cbd7eeb06e7d12f44dc3ce153a4b4915518a2bc8600e6493be690a6c061b2d7098e7989d00eec939352890efcc3d0abe6361d086aeba977b4885a290157f157964ce34ea570a0a9d0a8db0772f3d89ce2fe03b1fb5e4a5e23def3c6f9b4d754dc61ea978f2241078fe8ce7c306a3598675c8ea2ef52e7cb0d56340009c0191740ff17ec9a1b296f759aa0c645970cb45400724c5c20f049e841d346514a959ff0933336e242bea3a5cdeb6166344f8ac0303eed5c1cf380ff17ca9ada72ff6a7f2dfa1d0a9f624b579938d8ce692af083d12f38017d610725b5e8cf3a73ed6f52d60986ba407bd5b8145baeb6781cc86ca71a3cd754fd0f9fd2ca66c6753a3b21aa824790328464362039dc9a2e0a0d5ee09d88e0d97cfdce43233ffe731852b0eb3772a2e342c1aca4c2a867beed6c5d41a9a8351ba450795cc77e92130a1e3cd747aa98bfac9d0b05728fa022313e02cfb4b11f8c133e77a0b4740b27f9b1749730a33c1762bf550f9c8d13b8641e7815a3a8859413fdf5d4baa89aa55494eaa93817fda840475d7a07add3e2408ac152fe53bdfb98f5c7a2b4524c529bb9a0c94f944d49aef0b20c3070c927f2fb6cb20edb427d17ed84d35ad06bd862e889bfd1129b3ef4efb782d3663023bf6ce48676c6dd70eb9f9a57d2cacb2ee2d7b9f17485384019ac03c845ce4bea941acdae137285b465d87931ee349262d1ef5e91a6fdf50e015355ac681ef689b99aa17de905fcdcc52ee6a976f18e41b783855798bea655790785112938da725a81aadb117a7f699806bd3e52573667b818035a0d867598b95eb0b6451333540d949df9e4d7e999527cfca5fe0992f6043543ef35b0f7c7eec39037e80d82001b20d176dc32101be5021ba5a5e373a6d3dd9a56985070f60b9c7df039302b1c4f4f01bea0b95adb052bf63eafdb29dc59d1b8394e4c293ff6a5152d9ae5fe536a7bab3d64ee7c46d512d160fc8ed74dc16439874433b15b4cacafb1a6377a9b1f23af9c77ce7b659c9248b04bac265c99046cc4b67cf2f37cdca0ae9762fdc334e69dabf4e55acc04e1de8022a580f85bf13a86913c3501f674803b28d0c2c5e465b6772f5fb0ef7bb6dd5bbd3f3da52462e91465ce29cd5a1b5901637e7f5a4e53baf2f2a609774b3eb743c607229add8a4e5b681c68d6480670fa7539faa03edae0276a8e6514f924d068de06b866821e92294d0da1606e0496b2e32d8b8b2fd0274a62dfe578e031f26cba30e72ffe22205bc5afe77c7b329dc6913ec144a38c189a911b3e14ae9c284f98f1d041735dbd544911b38192cf9901011ae89ea4473dd2a73152a03a2858f249b0415ef804e4e81064e395b7315ecb885fd9683fe5b01214d7c26f3361b34505aee57a25cb6027a144786748f7102e3320fef10f4d340a7eda92ac1fb39aba59b2f8dbbd8e5a6d0c76ac8f58d0ff954df5d0f15517f2e28a9fd5f8e69ad8ef631bbf0ac0ee56c774fb511dbe988e3dbb62a9cf233bb8c70300b6e39972a9bc0dc1b01e5fe0c6567d07e2ba593ad049161f02f04b5e5acfd1848f23c1bc7a5bddac58e5b2451743c68dda52a5701e8fd03cdd0361c08e12c4090cafd4aa6810f4de6a73a239744051737226fd16b231fe5bd403b54d1e276125c986b475cf03e836c508d8aa8250f1bdf3cd875dd6f7169e6ec14f6076231aab90f316a7022fd7a89a46baee11460714c3eb6c6ebef2939a3bdd8b86b81442284a45778abe00b363cbbe9210e1f71a32e0b0bd3ef00a0e9d84690a2e1559d8e51aeee051eca01df842c27611b98e6604092857a355ca33750797493541f23856ca2d27f116872a497226a19951662f989f630aaab9812af2fd2180d0a1231a90d641639adb12c6d00e0a6fa001bdc65e47e79bec213b8d9edec7ec31a072830cf08e3dde3659c39c88490cba708e3b59b8a6654c98258d38f3da21fe5b7a7d6d6bf6bdef06c98768ee4c4a02db69163b8ff50b786639b0caa1f6ef793ca93d4914c77699e610ff7d85357f0958c3d275a77788a182bad676e4263e93bf0c1873241d0c10bec76065794ce6daf753d51ddc70d79a86a2ea52417963b0dea258866a4f0e7ace4872533a859652ce841f5c583a897de72d82ae8a09374e7e59e03b3b5a5abfa867948f263e245ee71a41e0b8b27f2220557e96734714af00d9f3929a2f38b7d961adcec5dd7a6d2e67d61bc68552f58cb05a8d9dc9095fd8313978a61185713e90bfd1af74c408487ea6d47bdf5e88a9ef0229ac714cfb9d49f5d0e069b6f7ee004a7b948cfac9d49e396da625f840c9ad2c9cb413c781d2c0d027a19bdb0942523cd9cca8b36a7cde661abdf8ebb64d383a1c798c72750577bbdfefd356bdc3310d235064be4097e5c06c879aa6e99924e17a482edc4987f281e4f9f9e6a61b140d1b02f30dda498c6ec2830460a6cc63d0af99f29ea1b45005cc88701268ae12856e329a1c9212ae73f5dd14d438bfaaf73b31babacf110d59602398ecbeaa6658b281c4a3242076c605bbe81e27993d2756007d11c1fc119d20c88eb0eb1b808e82f9eac70727a12f260c9b7868f51b56ceed23e4d807142914f889f0233253012987124ebec20d01ff5fef89028d6870d084eb40fd8d8bfb49d08ea8a4863d882e3bdb83f4ee9cabcee699a424d9c6f90f0c50b0a22c61e35e9a41acad9779e30bb0c7715845fa75cf20b0bfee71a568f7134bbfcecc28d44c49f5ce45312ad8ae24c7e59c10f2fb164eb6324136ace45e9af4efa2ca4cfbbed608b509f4bd4fbaffb8ac237d8524f9103f579fa19925feb1ff1dd395c84133f16fb2d5db7bc677fabf6f694866f61a35560797d38cdf2dd5141852e7d301f078f16586ff0981705eee6dd64a1ee3313d7f70e9867aea1f6185315d979f134888b8bb5c2e36bf837f5401d304f85aeb22692e477103279558c6749727710c742044eca45959e7d06525408f47055c8aff39f1588078b68d3fb1b9826247ca9528b02deff629847c8ba17876f78ff9aeaf7180ea29a18c629bb243febbe61be944d8265e259b4896a7bd00897f994577e62dbb5f43c792ef1c09b59942f7834ea3dd9bf3fe6465572a28090c0814d16a77b7e91cbbb4c7b16360bd8fef925cc2476b3a5d0c4051768e4a4b421a27095a1bb6bc2366689c0d42cc1598ee5aea96dc8d04b1f5ed7966f106ac3b22894894c6e1db0162c402741804295f57f534e957a17e0404f5dc5390d0834077e921717fd19a894992a076ef80fac65b7335bf3dd3f8e98d84ecd3ac18d0e84d938f6008be0177492146efca28ad58357b94067ce291e2c5f9493b91c75bc50744fbabd1645decca604f7f9935106b325173bb1da80fa0b1c51d5da0ee3a3f513e1db5b1a19fcbb3c68fa59300755f1a2c541d085d4064329f34f3f1287e8730f0f83bdb2b9bc6df310f01f9e436de8acfb1ef0b45c2c7f25100bc3a5f62f7d30d26870e9ec48399b52e7c1e13bc978802b74628322a1751ee118a3b9288bc483f870aa71f0210e97b1a17f3771be64d41868162f6ba5be5021b7ac2d3704e1334cae3b3182509e1cef03318ee115048cdd3b54d7946dcc548035247339f9fac47f237450e28d2dbb407b9c05489ae81d36a973b4b5c7a73536b9bdf30c248ab9be637d40ed9e8081d36113dead8c97f4ea14210b0f59163d653c923170ad0dcebe4ca971af401c8789a651451c821287a44adf1a264da186497cc93ccc939158578558ed988e285c91ddb92cd0b167bc0ddf79c463f6cf6aec9e373b0742cad407a44572dd471e3d03ca329d20328d8ab025b54d07bba9a20ab23cfff1b3e1803bd1cb8290bd68eecacdffbab244d3f648e5607e3e2ee51a68e534cc907bca263979c67c67ec126b876f9cd612530e11bb4de91e2aea80fd373135d782ac7505ccf85df9cff4a750337d915dd6213da24ec628995d193f1625884ff4d011d4b4de27d56a362d6db02ff4995090a0ac183374e29bdbbde38f562bdb5a55272ba5a0894a6580bea97ae7a25a6f260f3c45c1b1b17c5c9361b10782fe647f29407e88147dbb6872d74869650e5e14ffc9b403fe53974f6390dc8e1d0b064f2b15b721a027d39689308274304675fdc0497d6191ec4277ea5b278e76e5cd7740a2d55db91299195632c7debfbf62b0cf48c49129aa6a57287f38ea4f2b18661d5629de1d3bb1e79aa878f4c8d5202c4f4eafcfb3e049e499e2852ebe282a59e7773970de78a63d711ae239f73299ab31e82083ee208ab3be6da108eff31d01becb8cb618a8c7782f2bf0ad2363fd27a44649952b3254fa6909e03c72eca1932c5a22ae7e86ab6f7de05b6347cdb7fa669a9bdef23c673584a1fde97ca5ac83ca6b20238bf175622df910d5b499af0935ea0cdde5ec8de5f7b8b6b58b5abdfc312afc77c0e2d21030aa966bd466343a51911ce8e3f036e717227776a0232ac136f94729f586fe082aee92b08ccf2e66836e37293358d38c732779bfbc21ba70d539bfa106b00d0aebc390b206d5a4c9d2ffb0bd6d0b8536db76113b7e981cb2b1bba9276b57665947272a21d6ef968b4a585f3c0e8396063e569d36543857586952a814718e6b4da30aab635ba04d0d78ac3714bb79c501459fd489b89cb1fdf7c6e311a3c803b3195d2681117ef62b8441e80f8bc949f870910917034c231290587b2f1174ab3afbc053a9c37144de645058db27b8a0a61693aa54a1e597f425c2eec5fa82602b37d067b5a86e5b66084edaae89a69d1683fe4f4a068e43c9729f1ea4379b5ed0fc72b0d1bc5990b0158267bd1a04a9dac1c10e75137fe714062b6713f09fa7bee211d0ff33182499346b269d259ecb0af6d4066f27ac4c9095db4efb65adeb465157781708ade7464d08dbca4a9d5941f3f6c0e60bae4b0de6f3af2ea16545e55899fc9c42e4c2dddf7125fa7cf076eb830ff3824a30aeb1d5366ae97ad30d4d89364f5a4793dc75d9c5808389267ed549525a1668899fd0c348ac6d1f52f3d9f4abc08d10387c8666cceaa5c552d2920265ea95d9c18d608f0629b3427ee4677f84096116b542aed73d48a37557eed0d4cae5182aedf8e988b013b41e4c0257b71be4bfdef4d404eb5f7b800269d30163e98cd84e12b81b5c05b9ca16513f59c0059dc3162cad495decb1281582f07141f775f33fa4d002e7e73bcf547a60b6b1f22bdef98fb4111ebe33ef147bf66483e20b2f7278d1db4ea4ba84334bb6f68e9e0b5f04e2e7b7e8a07f99227e58b0b0d37b2a338ff73844b1897cd147868737339384cf5f67bab78b56b22ca8d06df67ceadfac11a0f5ee1d54a32a220f4ec83d026337d4d53d252102b74283cc2f24981569bbfab7e99fa8de65069c92777450ed0c5102fec18bcca9e1b1c1b31272272ae276f5320627bb300dde3b269b0a4e93baba0aae70bf9cb85088dafca09f3d1879feba42eca6b1521cfe2fac03954ce7ee367f766fef0cc4c5c0ad613ac4f198872d69e210b7cf90be7da5d6bd6ccd7fd721343babd67f855aef2eb98e911196ac359065cc942c953e66c943f2bc079cd331cf0ee124a934632c922929aaa2b01ff794a48da86196a9da44f4d160d4508b88d2e33d461801ecd680e2394918b0e43cfb4294d5bb0ddc4cf4d004fa675bd040662cad629f9e374ce723c485710345c5008aa91aa684ce141688494a53e54b87dfce1f54e3c315197047ac79ceb58b81ff3af020bb5b04397926bc8a4f8ca750e7f8194cf6707ab48daa1f35e8d3fa4d38d6459b0d98a6639e1df25eeec612a73ec7c6de7a64f5cd37861a7bbabc8027dbbd558fee87c217ab975fd50a7e81f3bafac7694ed453ae0f4c2415f992c4497b86b774e74f4f9f5630e3052b8aea3d26c71e7c5a588670a6c7e87dab38c77f09b0450412994c47743a2f8960ce662fecc8ad7b50e3aff41c9f391716e471ca4e0adc128325b5943b81c21f0c33248551ca0dbc2e2ada99b80ddace3e13dd976d99c4e82e4b617be21ffee29bfbe3cabbbf48181e65ea8ac5d380276ef22b6707509d85488348bbd75074915478a89c4f189997d3e394fdf9ad417ccbc103c2c0a18d74dbbed8b7f5ed7e7bc28a5edd8532414fedcbfa0b91d6c6a2fae410614effb1d18ce580d79792110cf96853b47fb1328bc00d0924a37e11f91ed4911911a0651a8f9ba0b5cbc0b470472d4aeafe107552c51d355861f884ae6d92b581edcd003fb54b30ac3ac3110cf855474a5f49c968af9c5c1d9fdca0416c0a7cce017a2a65b172b47d55abba8efe5eaad9baf21bcb1e1a30518268939d595eed97fecb9fd8ee4c654bf5c32f8fe3d33566aac04cbe4f8c5db5febd3515670e3b9cf64d8ca8cd44a1b361ad72970cda304039e50f191c0635b0939b6a785469f59f3ad4ec18d3b2b4589e86fb788b85d02b9b4498eb239b233c4d63fd426cc8596c5a7eeabde6955cacd03a4b6a9338e4965bf9145cab29c364aed4694091c5c328c55251a02d920b0c79c9949d388790856861a24d2ee7fba37823b196fdfb3b25661554b22fd4f49f6b8190ce38f5f8aeb39812bd925631e14eb48393741591349c3035844af9d23b15806df62d0084f284d220a793060a96e027e34e00f39b903c81baab1229331027f8db14cc3636d1fb21ff3c6f8702dea770c3de25832e90c2aa042f8db08d33f7a88b5509c6c7d35550e3d6ae4b2155af39f4bf0bd8793c37878db99fd01f2c20454b739c3b577a725f022e61f5e157fe1c70f8e977763cbf8d1c102750465a6dc35b4f39dbbddde384a0295028954ea35edac8fb3ecf99c2dbd87cd420349bf02a7879e8aa9d17c43acba25ad46c65afc950e59d257dfccfc5dc386dc109663f4302298531448bf541434e4da32289b477eea89d9bd73a8f1b677da0313ee42e0ef961d241c7c5d67b0a95e3e63377b5435d9ace05af96b06d779405b9aea08d70f2e80f41deca6e57c1b8f2971e218cbdeeaea81e8df8b2b8e65a07e9542f71604f36dba9c7cd003d028ab5e15198e2c4f1ce52601ff414832be0e91fd2683d3e3bf7269a3fedc2b86f01de1037e507b271b05d88f1fed1b58006168c438dbfcf2f11bb82bddfc01286805e4e613dd3bb33101a3cce7eba62ac2d1dda4e1ec0f7225028942cdbb1cafd1c9a2670e33d9b4c9f2c6efe43edfe2f1e1de7910916725569cab85746a08445606c8dbd2d233b48367082a0eefbb2fe09a46f7936d4a351cff7df64a35980f677091c7d42893965ce0135d347103276b686e1e319258dbd2958f36a7bd8a6d3d53c803710e218bdcfc5c0a0037530104f16ad1f4e3a9bdd48f1071c3556037e3499ef8cd27bb5bdcbdeec160e68e02edce173f6551b297f97c8d36adb554e0ed92412b83509b5937badbababb5799bf47ee281f377e2f6c13e15d8514b2840147064d420492d1570b240ea0295860566a2cdb6b034b85299f413dc677887b94fc9fe4ac750cb9d6c0646b00f4f13419266befad666f2fb4858c83e5e1f28424f91c2289d215b4d1ce0d3cbf960b28d50bd67f18df4443ca76a271c698f997976cf135d2e833c40c6a8c1cb68786ea296b3c30d092f23bff59b3f4196f40809e4301765443b490d36334a9672057888dc7bb47e16a33c485014c7b487e30f559b30b523429ff87a7e5a975d649694cc658fc211bc15fe3cf35b6a7f6288fae636d1a23fe54bda4f9fd37a87b598d9eeb62953fd0996fad14c812110a8ee96f4bdbee31085c9a3fa2749d08d2028fdb2ff1fa434c167b79e4a0d91cdf0ef7c6d15c6e4d9f18c56968c2a25cfd332f0c21cb746439bef6c4d7d220c20442b2a4892a41461641def2bca6c0705cf17f8bd4e64956a605b584a8dbffbce099e66d19a13fe2e4eea767d2ab5408ab2bb0434fe8edbfa300b87eb098bf9bf315f84037b0a86bb01baba0a04d1360c89bcaf80d986e6cd8320a6e91bdd07219b82fd7c43439b9d58142d4280b0c0a6c400e84a63e55c321eb1e9d030b17bfd35b1d202df262b5a30e17131721d221c2d8813d81c2385d6602b3bceb75ea4dc4ba979bdfa9d43f5b0600dd5301639f38d45d89aeeafd252a01cd67b0e532e73acfb5b53534ae9aefb7da302f668a097f9c4e5311b05cd10ec58716d7cd89614b84af12b5e4d4c343f228954060e02f8544be186284027116e3044beb07dd8ca40d02c03e43314b894990d49ee549848e08ebe7204bd1e994463d66b5e7a0a0ce094e6ac0a7889483d32b7bd2bf710044b8d7c7f5b8dd1ef2b92bcf547391e39523b848d25e76783350711d648cbebaaf1c493634bf8a41852c6a1fd54f7df9fdf58b51bbb6ecb76a30ae518b810e533f1b753efdd5edaa48caca04af20772ce3477a27eb80d2085c39d446fa57802afad849662c9f8aa61ffc6e4ec84bdf5a7e98ae4cbf5962dfb978015ca2f084f45eb4b715b6e6b4e0c984fd78c6b593bab477b9524c33497caab9b0da6815a80ea2f732a5c20853b6ad8736e8d27d673518f1407e4662e167d1120a894a65de64ecc9bab3db3f58975ecc38794d0aaae95aa73428be131c1b67e8b52610f368a3734890a48f4f9a2a9aa7dd763bebbdfa6e4f92694388192eb92df3f0a01288798def3fa8bd9005662a0a5ec3d9b61bfd6f569bcb660fa978533bcc31b5e75eea1e5204ef8f6b8f4c89037c5b2ddd538f7541a80f63f1d79ead2be68575ea894ff2dcad3fb02b20a76321c29b405182553ae8a650130f08d6132242d694cc1f9a81fd07158168a7b62ebb99738f54cad4509a133df0d0d9351656934482db2508500c274306d74cdf0a9446233b083c1e5302634b909622c4bb1ffb6624d20ad6cd07a774f15ddcfe31c1926a5056ad96ae37252e5af55fcd922468087cfd33ce14bb783e3f5a99968f2c0290f67cec3eb1c3d3e956cbde8f9066458760b343d3d880ce1f4f7cca17211dbfa661ebf8781d2d900e6c14d7929332ecefe3facce8b00b57607ec2a8698c6cccb3f7c7a352a36274a9609629788241a4a5002e2124045b43bbd8843130a5608a52079f79838e1c47b24163df3c0c4b3aba1e78dfd17ec6b23e868ba66e0ba477384ed49585b0b77da9a83526eda615390d0e8d2b69425acb65491c9d6085959471b603549dd21ae79eeab82b468bc8486a7f205204db896ef1811626fdd5f53735eb64ddfbe4aba66aa535e87ea97f4c8979ef4089c453b7d496b7e361d459c32c8566e492448cde27fba96dd549b69eee32683138bc7b081172382292971056c92938d7fc1bdce83908da1587756e86d73d37358f45e36f469f23dab96a3d9f75627050d258c302c0b7411e7c8609c05a5e22a54428b89c5780126b0608eb651edf0fd4e2cb7e6bf46b9b24928de57cc5d93f3c48108a0aeeeb685379b55f50f61f427c82b9b5d26eb4b7d4461ea9deb4888674ec098062e8166fab5e7ea46a77a4ad3761abff1041824f47de30fbb558658352fc63be1e03720416df4ba05e259be4c17d94e7388479281a65d8069503ecc2b77e17a3475ed2719eb93b3cc5ce1bad553acb47eee1490d2f9b8d2bf171c2430b2281468c2629e3688bdbbaf053552892cac2fd2b4640308c41cab57df81c46e6783d46952955e4245d96a6d0330cc9f39c812f874ea8024df876426e04f9e243f460ca723d85a5cf4ac2f0d980b2e64b5963b4226ed1ff45f693d43667fac37dc7e93bc39469db98eea44d67d3b3e643afee4baa03842f730496734fce245bbd673d0ab3bd4b8f39ad5221331d36b6d153495d410556bb848c7db1d485e692c29ff7c1107c19a3342e63160aa1e415946a619a2494e87b945c25a2fc56689fab781eb0d9b0cfbce6e2ca233226a925a1da0277aca1948edd052ae1bc7303ce87891542d481aae2b5bc83d8e3c3026dd995ea2a4a8b0fa854da5d2ccac80d64c1cd38f7eab889f5f394af52234fc691c5c0813f5f49914a5811ff6a8aa1d13b157dcd45051554d9593014cef98d4249b130d07276f69326120e99af680b23265f5d5b57b668c9fc6c86f6fb2d98b40caef2c7434ee7bebf4c3d9bc8258438e9d6f3d4dac679f89379cda5b776534e5fec7a099c4f6e6caa9048fc6667bab6d9406225d7214c3d15fff3d45d9cdea01a7833e22af18cf9183199a90f7d371b3f13c5f26206063a15dfbbe84cf8f67d2a391d695338905983fb5120933c20abb232892344229be20b75f76ac4a2c5c6a1d771c42e1634b0d95135a41dcf594808f77c25d1f949d07c4a1f91e8ba74958ca55bfbf9f18592a07de4a226bc1de16a873fe95bd3913b863f347bb56d84a7bf4f402f8dcab5011933c358fe986393c22c37d9345466b52037abfe3cf4f54a2cf714264d22454817cbfcee19091fd96a5e276450f1e121f67a0859cf40a3d8b132a062400d5d18298ef97ca40dd24a361bee4f85aaf90398e63be3b4ce7aa0c39688b77fdb9baf3583cd3d3998c8ea5de81470f741adb1eded7f96f7381d523b06032ec55aba3c654e3901b84884b9402e50f4b3a3afcdf4d1854bc49f80e33c4097695d8ec07107f996f985548fa1fab43996ea39bfed99a083e84f254f8253e62dc3982c95058eacee41e61568767589e6118d42b3b05a2f45dec2abd659d35bc517d81109b832606f140000bd731bf09963af1cd3e0361d51995e737c8211c62b3e7f7ee562efb274f82393520f665b665a7f7025ae5e7b75397fa15025f89976fbe631550cb1490a5e3a382b0de893c3c5aebea4dadb17d87c7bc3e7f8676ce2f9eeab49f103c3045da2e8211f426d1e0c537a08277606940ed24366ab93768e0bb03803840a9701e55a9bc0dcde0a73c85e3d9341fcad35cf673874225e2582ab32ea9a1652bf906951258d7efdb57cb2a9b8d0fc9e57e364e2a48ab9de3f8ae171d2e934b0b447cb001db7f64f812e14b92f420d77026910328d97ccd31a0c60e06b9e3dcfb113858453de6ae7ad549e3aaec7696378aadc6c19daa62090d211b44a9ed40baf11c39ee58052d12023c5801f4235d66d611a7ebcdabeeba1485d297cac2a5c4c358665124eb0cab6b2af78687709e11ae6d455b443192268652259be55af8936069c818c913b4d20feee521226015bcd565a79bc9745e62a5de8ad4cfead2b1200aa1f29f340e4955ed41f2f894c2a7d8641b277ef266124cc30c8f5d9a675e9807bd0868d1c2c16719cc32acbcf3c561b064af3e4083aed2f27b0b12d05c06998f982db00fc59135c5d79d60e28ab3bdc168c31388c658f0df2dc5e598faa99f5866bc2f7834efa43dceef14e5fcab484be4669e5e618cf325949236f4d94835abe575107b2adbce9d5f2f405c043d8f7637ab6e67e31207c9c7fd0d4145ba55d49668c5e62cd3995558789d08a8015763295caeadb0ebc201e9c4500650872219260387ec8d0386a0bc36e64d79593fbc39410411b795af400e448711baf47746efad5b708332a66b9808e3cf537ba12ffcda23b0cd053039be3f878198024673e9d3425c35611205589c034a9961d8cd79ce091857c9bbdf7c5abfb32a0f4ab394b83d2179d0b5f168323c3f1eab3bd46cc3aa015e4bd3ba7d4308079b52d0d863e047c36fce52dfd71b7ad34735fd593549f630d242a273d8a76c912e7a8780f9c71321578b8fb0388ba59cd8ac62e2a5379d5a82c0078a7e171b21dd0450797f1c7071838145c907cd3887109b06b20a8c4f28285d18d96895c56087997fdbd1fcd75cc3f34e8e35e84f9b34e96673d6748bbbcdba4e74e98182a1d14d67dea842dd10d1173e59893ca86ce47a0ead786d85c7e06e6b7c3a894fae618396a906c9a5f25c9530be04ced5fb2ac6ed8e66798a53bd891003a4c0005e05d274fff0853a8e13f7360326af05d8f53c875d1775159f952dd58550a13e468403ca64621d7282e35069414117b117b61ff6169536e247e3b16751a346ba59cab16cf395f6c910f63b30436c96b3b52222d4d4b9f1a7a0cd0c1c8bba016cb090c983804c72799c97ea7950b74ebdf50aed3d9d7e081fcfa86340e31b030e9b2e54c633b8017faf41539f80dcd151968909edbe3211a01ced7be3417434e7813e902974feab2338b48952014c30d49f54511a3321efd3f0f2af0a998737a7e8f63839f6457314e10c997656efefde5c40bad2bdaed9dde0fe6ac2719e99cb1285b6a7a44b3c19f7321aaae7b239f22549cac71c7a52cb057be9ce61df2d88b1287515333c6e7f6f2dc76d6f1a4a6c2a6e0bea88c837211ca319b595fa11327c64d530ed071df832ae26d40063cbf5b96424849010513d4376a3d013d514b689e185407ff8c53ed56aa9507a2d0064fa6c0137f9c3874fea857ac327663f255c3f6ef62aafe0b0006f41aa6a5a01570d1f4c7babd5bd118f5efe0fc839d48958468049aa5673429bc467ad056632b2175026d860948eb13567e634860d408ff315cd8665fd6eac34f86eb84abd956de039874c1e009c9ed47e47d3718874ed54d1adeb1d547c06275e21e172094f7b2a900c3fe328bccca0e57f9c5256d441e942738acfded13a54a01ef01da1835de8fe996a4cd0e1915f7e18a526f4479ca4af990a74a46e403e9613d300c9727cb104b115931969f3c9bea6399a1830059cc1100a2a9b6688ff5e671e8a248700e3e4b002871ac610cd913c29423e9bbaeaf53879976de48a1e7ea24f21d00386d14c7b7dbbf82c88ab375ebbdaa1933af40a85f287d7082727f8f6754b49d30b65bae8c2db080dc13fa3a31dd298a7224b2f28cdf71b883fb4574c3cef903868ddc69325e7dd0ef706b6edd4eb43e6ec923a82b5d2b304bd51a1d60b716c269479662006065ea419d5387d8326e68448b6dac492d9b57b524b26ca6e240456ad6d3c295e143783d758d410e473499bb578f8bf30d90787b9f208dda6833fc9bd1a2a47d01205844365d1a4b6ca80f04ba95200b3bed13a99fc0ad6f9ef4298a63192b2626971513693fa3f47b19500d3ef1b60ad02790fe5facc799f8aeff7312639d5f478050c246caaf0b088380b43777a5cd07956acb4d6f023f5b52474ed7801ad9ecf7a8d5f1903a4b112c81bb22c0177d1a45699c014f5c732c559a6fa0475562be698aa7c2749bb3c1c6079c988efe39fd4d3cc6c0f9a0a9e1d87f6f7c4c626f10cd0e9ad349df17ee64a29b9c82e83f264c4c352343b44a6b59c9c7ec8aa8539d3ec5c74b044813346268ffcf7d3e1db0b7b8dc50cf55412ecdaf05ea84d38a67ac04262b23700e681cda8956ff8f677e26daa7dec0cb785ed7366a3e9784a0c3aa40dbb7239954aeb83a91b661c1fbda11d95b5fd30c412d4f2dd2c0f1e457351f51b4ceed68c257ec5e4aeb725c00e5f84a30eb3db9052a972934ba94be6bac5f7e79a00621b01f6c1c6d2b808dbc1290c45674664592e474da7f04e2351907b2b98e05f00d5ce2e6163075854307751323c37f0e476a4ac9ed382d7ef6a641368f62b08b9242850dbefdac2d86fcbbcf28b7fc6a0a357f963e2059127ecfb7235fc9d095e5df3762412b8648f4b13bc4ffc6f00c2d09b9d1807964777a2e340f338e7cb17383b887578adc44b22f572e98352bcda15cfa70b5426a9c6988a0f075aa5f3de6c41badd60664424406e312d92250091fc99c8f89cf05ed80e77c4aba7e605a9826faf8db46cf16281c6b5d69ca3c4987bb3b48e0750d848dda4c4906498398f9b14523dd836e2471c51931d621891e88b1364a8475ab2ae96ffbef42c82d15ee39b0c71f3e4befe409a460dc49a69e7b75b174e40de073e09e6b42e3fbf5a6750a97efbb000625618d7fdc56245f06adabd32b7409143d339495e6e13510c2751f3ee1e44eee77aba0062453ddd7dedc3847cfd0a075df749f2154cd552c26c7f3d0e9b9f0830fcd37d932f729446f74d3ead815ba3a78bcb688f56f12b744c9e987b1ab0edb0e82fc46f99eb545649f974f7f108b327daae874dcec9325fff18daec864761e5b56210d0426a9e5504e9aad2b876c00981dd8ab5a6c32833cf6c5a48eb6a0a2d357e5af43b4d2cc54f74f4746e5a8a062d294b7f1ed71d7d5abaca80da26ec3105b3387857d59de210d1bcf5d9e59d3cc5ba867e77bf9fffc8c23e68b9ff8a72709a81965997c585cfa7667114e6bcfc94c67ce8e542e44aee15fa0b30012e861f001493ac9854a3dab9a345dcbd138e94d37c133ecf356d90551a690e475011bdafb1bb95a1cafcea86e1a1da5df122a4280f22129653596d4c0b25e94ad22721907aa0afc67857202c0479cdd50e48fe2ed1bd10a5508ac8e6574c346a47c59889e33186222a51550b9ea4b86e8ad5b2e40a757e0cbe09bd8215809fb05c1a6aa746034f1c3a3ae30d0459f0d0909f0d4ac2b4775bce2b4669fdc881324365be7ed47339ebb3f54562c41abf3562b5c26534a6cd4f36905ad4781b2b442c3db25d1903fa0becbe50bb3614740731dbd47e357b5dbd0671e56c1c22fc9d50218a34c8391be3ab32f71d3ee7759bfe154e1f3eacc5fef1783a286509df85e77122cc9d236daffbc516e3a4cb1e840e596aa05601fab75ebc869b058abfd99716e2af3f74dd816a917fd10ce60fe68d8102ce4041fcc4d21077b168eb48cc5a57acfb2f687741d14519f42fc056a372b239d08a59ea0223359ef9f3873f409893bc6547034de1b20266bb3c6ed90b7c62532acc03040ac1006da22b6e7d7c998289fbbe0e7906347835b8ad5c2adfab29f501bd863ac8fa2e621b328bebd6ee39d135cdad0b8aac3161c8073e5b1fc4197563208fcc734a57fb9b2464683a80c4cdd87009f74d69b0e1ce8caed29e8f1e00836c946f4c472acbd3823db127b5b9ecaac82f65a36eba8a43c89a4b0fd170b7616315d277a7a2c0ed39f35ad4fefa5063326b83bd46bcca2fd9801d95db7304a90ea4029eb31ab7252d5337bab1d6a230f26d0221441b926df0a30788d044c9bfaf91771b0942c6ca1fb44c88110d9cb6ac430ce06a2ec0e485e578b5b8b2f0848b0dbaa638797d9fb43efda85dc1046102a8b0423b6092eec374ba2ad03049a96481e38b638b4f81d3b817e43712e6ed29f08787575cee494c749831560c415b2f8f94982c71073dfb423d8f0cf4420d0cbb566e0081f5e3b8ef7ace4dbdd2ad8cdc8b2cd1a1ae535ae1278a76bd63490687de3520bb8ea1d7b46092577407702b102bd7d318aa5f3a6edb0711a7a4d854662e407da3246345043b41606cc103fb06fabbf767a0b2669d5e954c357a495345319d22421efdf350c58baa03e8eddadfda8206a42860dfabd81a808874959fbb31ae8e3d3e3bc5275988a4dc474e4677c88af0499227fc0bac5552ed53314ab46572afdf9f0d16e2f409625baefe0f7971668dacec449010ff8ba2322e8ed1dc8316a743c3401792b750c66388c5f3344ec8d6c4eabde02ce939d79b938f54f260ffb86679ca76a1787d4ccfd658617abd61a7c4aaba169fdac10413c834242b173fbadba1403a9cea6022ca216f766e85365ec4f8dfb4fe0ac7b7569bd19881a2ba64ea421dcfe02c2d6911c7684ff6e4d0c1720d19380266f24d011d0f5a48a5589ea9000ad4460d535a92cea28142eb70c6fdcec8757ade15b01a143e17e7007a94a02be48aecf97046e0855dd4b3a93833b33250a8f215afaf1661e477480705b8c569ddc540e1201146eca9c3c6a8338637cfe0969bb8735ee44f896814b40b6658319f0d8aa92e0a370bdf7f577fa68aae80015602665233ff72339503d58008a862fad0ecb588567990fd593a25fae85c15e989793262909285182d996189e847cd29d25de11aabf0b659dad88cab89df27210a8ad2a199c0270cf292e50ea70df742da7867386db12714ba78142dfb37d3a710db588013a3b8b7843f19e5d37552778f218b6720fea98beb8e78c1a2a2c3498e8d1c02ff29df80f388ea106a101ef9a0e841410b08578bdb2792ba6b7c0a27dc4076aba08cfcaf530e538d224ca8c791713552ed7e0b91a482bcf0129badf5e1b300c001b7a655635e7df80be8717cedea2a00675bb8c3771b1aafc3075cd2cb28edb638693b8144a7055763acb4c980a1e4ecf167b58c6bfe6e8e9cdeea89a2a9e33a35a7cbb58dcb114793c6880f5db1f095c9fa65f0f8791d645ca44c95b8d030f7892add7ebf84765889bb67fb7d8a7c08226dcfed4dc438069df08199a1a3a01aaa7e43859fb149d6fbb99d0af32f9563b8bd7d01559c713f3db0b72218374a94786e1d252076387a1065c6dd4dc33e304071607c5777abc38a7359f43caf6abcbaff82365369b3edeecbcd7977b9d5f3cdbc3dad03dd2c90f025d66a7c27eaaaa99a71fe0401bb54c1ec37f245e3a5ada1457567576d9ddd2bb03cdd97dedba20970dba83359475afb6ffc82532cbcdc24dde655fddce8b5f3cda0c286821fbe6840fa1ddc7e80c0542f50c9c8f1e5307ce918068e027e26b05f651d0cb932c36452f61be927adaf7829e3ff77bcde7b45e6ff397df3f7494066b0b4db86c85db51f11a5be0506cfdbfca51d557e806d9973da7929fa94d375b8b6f5cbdc6df1bf5cab87bfd62bdaedafce94f7c2d19aaf4768cb932aa030be6f15a7579a1cdaf9e9fde5df65af73a81173e90652566d0b84497b657e489b06ac9e50d6dc1b8a97d46c8862e175c85df4f61f40f106c4d68393ecc5010b4d2c4732db52bf517bc4f1a72e5c2fa318dd8843b9fe223376d8c880a10b8b6a552d8cb40e5b5f9e28e00e1883a7883d897bdf6865ca7c91034152a64b98c6711459bc3a61d7b7950da51321d4c942c0020779d31c3e72bfa50bcae7463c93a3da5591e86af7452db462f4dbf5abe47eec466ae73600777cea16237147480b86e5c980a70e68f75ceff85df1af760c37876777b378e3d1790c6fdb160e0aff81a576f6f059550107c631ef4cedf11d1796361a441871e0d5a401b8ece60005b24d934180c82097da20567e1cadc4412b8d2440bf3b5a1897183cb36808e108a961606cf61cf990aa77433c1521240c37080d992e2d1924cf44935d56a15fd71aa7823a73e417339f2c7cdc6b896a5a5c4311011399674b4ebae69fcff8a8df1dc358d5dddb3e0f12febdebd2df772812ae1690e60114cb60a846c07c200c5d4d98790f5708afaf07fc4f22415ad1b4dafa4c6215e0efa3c87789308b2938a1fef355b3253f81f586e11284a31887b2a512523a387de9368dfd8a776911e080246efb1bb2e6a6aef7ca710823d11d761ae0e34ebbf96f5218be0b63c76d236cc08b7990d8eafb9a9b5a7ea2b150f453070e259094a7deb8ee60c5beb1af48e0ee24e533c595e131ef02a57d6146f9ad3452ac30e11c351167216a92a7a1285d067b2d80ac1817742212b07f82305a1d7052ba74c653a29e7387b3e64c28aa7096b94729150ad89166b5804e991ae501074bc54055f8b6295fd3e8b297ba42444a5adac82e0badd73f88581c481bfe05ef624abca9fa6fefdd12dd380a17b2450df68d6244fc3516da84985c3f68b6d2c1b72affd95ff7e87051b9d3a787023d88d203f580d734a5cf595f2d638c9b8d903b5420a3f55a085e98b4ff00b5283a0459cd4ed37a0d04c7041a641a25bca7e9ea3f0401474f4d63055f55a42878767db15dee341f09495b00e51094aa10b40af63727aa26da770d987b6dea0c3a4e23dc274ec9f4bd71c7dc96ba852b8eb3d49bb2ab3a34d6723d10a3b8b2c1ccff93fec83817500367fd3816491a979c34f6f6b1c672fe0ead995a5e8a2437f5118c585efe8a79348cd74173fc1b8e00a7f77adc65d7aa8ef61f5f9d313ba7e628acbdc837840e4144e95aa945f3a271e0533584e48a01bbdd2c19002667bb6818122a9115b1a579f6a6fb33007712487f3e7697fcf7dfe634ad3895b1160e42b4c171676d9d0ab32b92780f29b831b35595b2afe3d7788fc5a001206653d3664ef00cb1fc0bd867d66d0d74986000da0836a4a4e7573821cfcce8588b7839ed3797562b059f2d9d09c92c915b38db48dda6458de502fea2450b0a121670eec9c8980e96fe06facad3ce1f1212b87c35b224a599c24afeb2a1b5acc13f8114314937aecc77e1bcfef20ca66177261be1129c9fda1cbbb27c1ba4bf8db043de488ec0ea8e136d22568c641d157859c6f7b9e35bd9229ac666b2f0f41f87cc6387520d6452443f6c607785087f140e82c428a9de2432a557524f4be849b1ed03dabbdce49cf320be128676e9c2a26d17bfcb9f13ac1b2e20a8c788ab3ea4b739ed515fe337d837500788ae0e67fe8b40d1857b90aa01c2e2d36a6e28660ed3ff614a66fd50ca4a87c3a72f55983964815d39642d427259f95e6ff6c5a6a5ef533c23e42808b0759535608e7d55344ffd9a61cf3472df039bce77b1c947aeee0007dd585bc8fff0342ae32cbe141d9f5d5b4b14c87533b3daab2b5115c097a379607fc0a8da2f2bfc3f8643cd01f69f5fb14aa2c132e0499c59e2bab6e60a133ba7d4df1c13797d3e8d4e0b89f00bede9bf0f58a57663a4d100eab72909aa8fb456e78472d0699da60ca5a69987f5eb4aba7c42e987010885ea1b646db46bffc1a57956fb1fece69f15a9df65391c183cd24acc77278f621eebd7db526af12c52c98152ef3a306e1897d2951b0e93f89c372a43cbfef5ca4341b38981815bbfeb8fae9773c22349591e0cc59d40da5e178cdf5ee13265c3026c94f6f64bdda82ef925f91d19db068cd9c27b5b9ba14ff7593348eab621118da96bc4e2145409b07d9a7a5c3d760e699e657fb17a8d0619b7863d74ddd1e69773e765c8926d9f0039ab1890d34f73128b6123740d86967d06f050b979bd8a1147dd3e55723c711e98aa8c313bbd5d476c415bb820be9fc7d6ec82a821586db80344ebe5a44b308aa13425a6685f50752c5cd2a5768ae5f6d7882d1948e72453bbd8713320968192c175a1d8a257ef3bd935da8bd248356a2de8924db07113b82f28b35f163788e041a954304d4d5540b1eb5a23656a08f236b3cbc293d2f20650e0e4396f81d68422d05e165f4b841ca11fd9797a52895dc09759eb015bd60e0d3f0fa299a4de731514e21476b6d3be0215c56c45f0e056d94da67fcae5c0293b09004b8842ecaccbe10f258a956a31a7c1b64ad1646a62e3a41d94e666498c078f05fc84fcc48d67328186b3525ece25554563fd2bd4386bf563e29479e9e5bec6bbd3d3452db6061f1d874d4666017744d363139ff1c3f60e512a8e128afab6b95167eb4c47c41e009c62fb5b71404c22a83ddbf5569000e7e848fcff8c9bc1dcdbe21c8bbb47102f948b46c6cbb7dfc5a5afaf7fbc9986fabf7a389fcbaab32f01a610cf032262109135489070c67ec6cc3dc4449d35331faa90a19ab3fd0231f932216f1e02e931f72e2066b2afbdf888e1a9c879e3f7f77bac378e9045197dbaf012a79138d96dd008973ed8010235706eaf3222a7795268257060d33d4ebec5e6d12a1543b4449bd00a468004a9c91c30e2277a95831aa033b40a7e83c634f3f73d183a6a92a71388a4dde0276035dc2581bdbaa5b1282bb23c3889b6b25271ed0cd493c71202a280208c2ac491e805119b557fd99d1cda0f6f0ec58f0585bdb6e972c8c7380e9963edfda7321bad0b7365e2d84c5ae68c9a33452fa5cf122d65f352714a06dd592efe11a472d7f83c4b5a89f6d81d9f9e9225eb86c97eaf3ed7064485bbfdc2357e1ad93dec84e5911fe3c4ab45e07f99cc2d2804386973a00b231df54d32ea5e01dc47e30fcb3bb9fca70a870b7a10402ecd029253cff013a2ff5402d0bd5281108e75ba33b4dd03869d65bdfb1163d41d90622c1a5fa11f5f4f33d27d3418e7427f1e1fd6ebefd804e8a8f8119f12780a992617dc42be9a38768687db7f277922330284d4c9c5ee05b80d5697f75f36e96d9640bae69f4986c379d2b004a836395c58a2eae5dcd593a868ddf40f1ffec1ec7488a7790860654cb2dc14785edb90272a5c5f9f0c0e11a84d6ebc147b74df5d57fc9bccfff74d79db868195db4f7c63054f443947bb5d14f949d7c3807fb7eff7d4afc7992c84aa1585e7402c16fcb5efc6712eb8428a5c6013ee8cfce167bbdc7f87a4d0b0fb70e3293621f68cf3c3d2ecf0ca44224aede39ab02dfb3c5593f95c6fcec137c556b59cc95a043b064528a9f66b8ea75e40c7ff4018779be253557b036fb4b4f6797f23ef3e84c74d31c287323962b62ddf3a268fe58c6d4777886a17774d7a5798028b73661e31be4853188a1cf75e909b52e3188d5c7b307d0d1fb6a42781c5e018d50ef57466fbdd806dfb133ca6547cb52416059034a5417577d48355c673c9ea8b599fe4e3ecb0190a3e084d0aa1cf9dbf6502256193197732393661b361c4cfecf0dbb8dc0bcf88caba72649dcc87462f018acc6372771b19825bfe98634e6858b7f3b8e9a4680ffecbdcd5a0c69a9f90f8d5aec2d973b52156c95df1d207b4bff755eea3455fd64f2d88de3d518b25c7321b87b6924903a56932a25859a7e2a051c17f0f242f15511d539c8363bad613f764031e48b788c46fe89db6460d91d4f5cc15782f7017e557fbc4255abbfe71ae0644941615842216d22fe553b73970b536b5966a856d803dbda542915719c679539c7b15a054b463ae160a1dc8244f5238590d14cd7a9f79cb7e937e25b40ef060334920d1885924c1869fbc7d389d79f42479168b325cfd3301707807e1fbd4b380f0c7d4d7b40281300f8d187f98f4eddc67e27823baf768c4b6c5784fcd360b8da821b2a71affb9f9ff1b288fb150a649f7bc1048ceadcf5df8d88211640942df7277cbf035af3addfb8f35308be187124997b9cea1f820a55ae8270a2d2615b9151151847955432110c6939b2cdafad31807ede3dbd4d92a4db0b14f3217b6f3f9f22e135359e289c533bac10caa67a3ba3eebfcee14d2fff6595a7e78af5f7b71cb20bba792d3c0dcf55d1a8ccaf86679e490aefe1c07d6215b12d3c6ff4f3f995d76af463fc04cb882ccb7a0ee27ce8138885632b587a33081515d63b9c0ef9214105db49b5339314c06a65e00dcf029a1504c697191ea93f807f958bce59343a024c53fca0bb9a2212384e4e55bee5c24dc1e70a545e25ceb7c429f1dafdf27f253e629fd08c2db80e52ebd11b85b63fab5ebf5511fe894e41dcb0d4841877ba7d6fe5a88491a030920058f1b1b65e5b108602cf73337f60eb3a04b4d4fc54f8228f1f7c56cebfde5b3e090b4ad03beb4873c33a10a66add989bf2361f6322aa7e1adc2e311c03a846284c865a5d02f48442daf6c3ed49ae19b3fb24c166a26a11d9dc2507142b9602c42d455e06292aaf12cd77472b73fc3cdca9909f3009b4a4e824cb5d63317ee2df3fbdb9080cb4b460e129d75d4cf701194e543a0d1648b3fc61be3a3e4a8226780379dca74537ae42f4a64dbb2e687efa0de57b555d51c993d8dd189f38cc45cd26b60cd2d71139bda170f7fb2bbeb478049f6169adeff9775bdcf6dc5a2f765a94bd265a0f1a375d379f05a6e85ba1f71d152390c8f23d6d38da49134487315dce34b574e99ad964683096f0db30f7f1661216db59e945797b015c4d6f1381ec5d646263593002af5e3fb45abb3c1cac775dd9ff392aa9cfb65b22935a5876534fa2e1c32cdeba210cf2a2a091436ef7ea5423b0d41221f72943120a793848382704718775e8334ba6fc65543b9bf466e6ae9dbd0a12897c5335090873d8653238af2ab35bfcb6ac261993e3ba8e96a1bbf6bc40a7b2126620341533da0c747b79e26cf6e70dc0639fee9e2c3338feefc97eef6ca90dc722b045e97a3512ad852bfa592b86f94099e68ac05322c132b2dd8e84a8e12758ad1e85141cc222052f0f6da51a3e6403724fa68940ce80365067fd4ea82982908f68dfca803e721b8b89db9b63282f0e2531acb1259c80fadc2efb1c169da94d7a84a42075c2da4ad30b118610113dbf896e6b36947757dc98d67581bddf518e3683de685e07da520ed4144c2616b2589040279661de8c07a368e16d5b810c18d46b569dee6eab0dc1be2c5ff3cf036b1f2c9348edde7cfd04f28ba70a2bca10d9f222a95fc0d554f094c57f22681aebb6b306e79671d0560606be3611ffdb232b4ac8a66cffeecd4927267f3c20b7710295d163b062a0d14aa3b1a5678e2717a33ba4eafca32d32e4705122d9548f25151f8380679aaa9848153c10dbbafb9cc7cf285e61ec418c6d293296fc2f76d83e8075d0af8794455dc3931561f9d1627594f6b188c7943b7b85d07debb8e731ae1c5a94e32ae17eb6e0d851efd51f8108d47384f3e7b2c74dd59887e592da5992506b5e9fa6378c00abc45ed161e77c97343ccdc8c2d84798d0471cc079ba4398c653c2b23b27f539595209c15e1eb6cc39e0c4e719d1dc9ef35f105433ed3fe50fdd12d81066ee0c2f22f1bd464364c96ef519818640108bf78404d4f3fc918a583c9efdc890fa6d04954272d02a93e5ace2cb88a900e4d8bd89f623aa8a997db94582eafa2f8e78cca5f27fdcb76fea6522dc95c30562e12dbab2a72b12e77ae5fbf995c765108bb0d7b7d0a4ce5d6ae8ea3e854f2135902ebe5002bbeecf9d426cd7d05825b2a69f547616bc8ccfbc808551da8fa41df7c1339ce0958d386a802351fc075bbab4c9fc1d7de663aaeec9b8e03ac381349830f57918dba1a8039d83b14f60528b75da5b1d818325c6de2eaa823e19d74398cd81f5d777fb18e37f4b88822593bb2eb68eb348ea3451cf2defefcfa38a2358acb94d3d11da7c1d17d55e2b568ad5cd16061df5231f3f33df5c11e0c05c849bebd3347ef5bcf21e9596932210c1683a24f11613b4b2776044ef307edacad7dbd06084d81da0ea76e4be23a196e91dd9e0540f26e202803d879cf5885c6db779f7a18f9004121796977588cc9ee3da56c3da2738f83a84510e8918099e15694abf9e9380b66a320dba138693719bdbc11708bcfe2299cf1683075a3bd77ae5cb7e960b553da7e602fd46f1286fabadd030ff269c23f0cc28d035066e24f26a02e24a3d9a19e94e3051f29a6e722a475c418f154b1874b6e45351c01ff455e5ec5c71c33594c36f88c2d13982531d766bbfed005a05e740fd677ba2035b4d3c8227b51955a63543fef78a5101ea584707896ffd45b57ec82d4f1e5593483625f9fc546eec71e1f6a8851ad12b6ab0bdfeeb16296bded68cb78fb89571bf9f1a588558404e47d5ada033a25a008c558ee9d13c60160c5614cfcf217b5dac7ddf836566275ff8cf07664eaaee41667b9fe3f3e9c575853bc72b6de9a6609f22b0f9c72a21d4310b4c2cdd501de7c13f07459c11f0ea4c19d4f7ecca6cfb8d272bd319842cbb591dfcb514d8a419b271b530f5851948d061ebdfdb1e9305e9caf2e915287ae106c8557b22123275760ceccbb6a17e9ceca3d059ecaab0acf582f16786c1400855baf28a3010356bdda4ddf4c11cb22e7898c70fee0b21809c121d53f753993599859a495fcd92af29132a64a81326399f6e8868aafe7fbd14298d1e03aa40b4584277ef56ad32f7f340e202fe17d04c6d71a0e252b0268c5d8492db7061615f27706cde4dc6de4595d960cbf6f38d407d63aaeb5f24b7dd1bc58309e7eef613031b1c9e5c977213d37082b51d826f91551ff88f66eea87336973b4ea1303b77ad84474a6f8db6460e304c7948a501681c083ed53c0b0b2b2e76d3e015b33c563ec597b955597c8d3051faaa13b4791b6de670765b2c2e12fce0af8e05b7233e48ffeb1d20e2998d9cb81f65ed3eb2133e7163f6ad88989e63a3de527ac16febe968244160c6e7c1f3adfe9301b2d0ef22971b2d1eb2b6ea33b60a16b7764d5813a88c39d1b1a5a5718e8ca3ef475c66ecc04c5c8fc35ef1e7f42c9fc3c5c4458e71b7fbcb46452df082c34509d63a1205fd8ba62c502a6795f9cd5bf0a4fa7c2565495cbbba5db5546475e542dcb14018935c2097e3b3696e848f12b567a0436214b4f9d908819b90b81b8c919eb098dfbc90d0ec761e30ff4da3442d8b07593e49a5cc720bdff55c22fa38aab05b6f07c3c53a4bc78b14704161d079185f06486decd29cc72b6def81e1e2dc842e5dbe7e83a49e56d460fe8ed09553c38514dcbb7386a43b6f508d8057be6345e530ee3805dfde7ccc7e7dac95bde6ea541c2e53838e055516ad65989fb4cbe47572e51135e15efccd44b74f0db8221e067d8a6065625a03120e728f07e8b6f2d5405f2a39531eb26443bcf2a1c59709095a774967660c908b3a99df91a47936cee9236a6eb0b84ae997bca61157e1b227372a1309d320327a3c46f251052f7fe6a26212d8c56b360c491d65a8cfc60695aac3116e08f383f43df55cc08b6f8add7bfb63776c199035c9737ea1c8c9d9f30dea7cf9907cbe3447f878af11972e9c75a7d7e580efe66a4dff7c5227998d86cc78f24b811a1a05a4fcdf5bb744f64ff325337ba45033f80a7b8725a2300e7adf9b8067d59efcc6b01f8526c397afe44935e0c58ce44904dc758ec894ea89e40d0a8dbdab82272b98918a6abf50e9f2bce764d098625621a734ff89e554d27142b0734b22331b3441f0ca22c8ba6ee69a464ca13edac62320875b2ceea20259a3fccae739b3dfd6f8cdc141cfc842569065686090bf02cf162b404180552d7acfa90e124018e707bee9769c9b3cd2e2de4828c70d5206b061533422c2104e7a33a44bbbe1411eaa0e49b2862d94951b6181f0096062ad08f2e35ed34544fce94f6a8fd8241de6dc061f4da317f41ae387daa2842743e95ff209e77656f91063ab9cfeb3851af22837b0ae244ce939f62f564903dd27b011fcb2d02802867c3ddea2ed11429606529c52105a0e210b23c99a6f706fcc5aa29d62868f3899dc8558631f94ccbde90a57e145977916eeac35a5a2b29974f12bb6e7fdb00d7dd23e9fc95b43df4d6fd1ece8026deeb80ee29ab7f860835afb65eb6194db1f33729a1cfe2f9263f2d9bfd6d426c8b1e434207395fe031b371f1565ecf581c4fe662e9e112a829a3fa7517abd7fc0abd7ad360fcfcb1da916ac2ae141f6ef6e8d4e6dfd779967ffca5fcd4456954a047267c141ddb0bdc9555c647954bd13d15a3815fe2b5be651080a1effa20dc911665d99fce9bc803519d83cb4912567181949a6bc5fbae7432ebe15c24575a0fcd4e625780d145f9380685550c002f68d73a0b40b64de3e355311363eedc2c3b07db442983220c9c358d20c36baba6eb30f266628716a3dac22e64b8622fb0e5a1a58fbace90707e9d59d9e5ac543d5683c928597b750695deaa94e6cd8ce5687e87b83d7db945da12cc6b81596cab48a696e4e970206704b0df72a44f53ddb515b6b24d127f245a871a0738b6428cab5c9fe26a02f90840a8171c532695d1b7324f733157d23e2b9802311d1056afb5f1f4aed8904f7afe5a3ab7351d6d1d6c0eaa0e9f67fefe688b9ef6d2f176c1afe966f7feeda33d0c79986a2c887ce36a86cf3ed524c9bcc8cc95e9a95d60c6278cc90adf7b1604ddca34b07204f98af26cc49a90d0dad8ebf28baa12f878c5a6b4cde449669b857d95b864756cd65c43cdbe9d9fef8b1d07538b946623918738da6b55c56051e117996d3ae5c75720d17c2327e4dfc7e0377a2270a8a50f2598170c81617ce5cb5dcb009616762d0937c8a1f8b7c9260d5dac6cc858d19e89da9046e375b154fe98dd6818e5fba7676a9f11687f2ba9110fc0c52bce8f10cf60255ad25006b41e8e284231cbf18ec1915981c4f985e1de8baac29b46a019ac863aa1f28852bd4e5402a345e1b4665ac8442fd07e888cc94b92c79eaa31f163f8903832aaf59bb3e0ee4bd03c32facd27b3077e13d0cfa78ef890c7537391327aed72d066ed1668fae1bd4886445596963eb8ba7fd2a0171f344f91cd69a0046e7295660a506674aaf9705803ecad9f166e0a9c28ef4ba2eb07abd5832b0926cb1b9dc1acbe85f241dc3de0ad87322c802d5c3d4e168078bee0fcee15ce499473327836a42122a2bfc06e0f8e422f4dcc8c936866bc701def55eb9b0c2474ebdb18b5b3d9986f76f55c3b88cbdc6d6201241891d1b18a747f2a7daee7cd9efa9a786360f4d50a122645e4aac5e2dd617bd7752e812e5a0a30b03ccb1139570ca4a8d194e1f57f2b97e8af5feb848d684a58afed98afceab6595710332263bc6991853ba19a29b6b0a8e87ed0adba87ecd3f5810554c8deae207937d6a65ea04a74f4de84aa8f40d58995ffdf176d56f38dc1e415e30966807e34ecf1b77d32fc69e4055a761c259f652eca1c2cbfd1bdc90f541f6d6509af405827ce64c520e42a2784346587924a0d9f5fe22824ac8a006c4300271cf5c0752dc4a7a56fc4ffa98bb1e0ca2d3b113fb95b6880e698ffd004574762c957ed86ddfb3c2c1b72c3af166f1512e28ec5fb9fb287c2d759b25567b5759779370e9ac944bc588cbd7fdf844ba13ba96a542a360a233afe604e272013e56255f778affeef7498897ce98abad0d74e6e6b3efc006140b4c9db3aa965c84d1ce44c7cba0024dbe0b72669463a86b9bc0a110bc217213ac0cafc77d19289f316a2426917ae9490c25f8d17e98dea59ebf98c72c8757f2ab946c4e36dd0cdcb64e2281a46f80ce42df41e24d96a36f2133093cb656ea3a977052d98b382b818394e23e8c6370c22df2d79d4b6fe8328ec2c6fc8a4fd47e2340e1581ae9f8d7fc961622205803d530c69ad90677c6942e9d80d45f450fabbbc1649fc10a0b0a55c5670156bef1cac332655d1986f07499a9c6b13b4ce3549be6a7115fb71cb2f1c40d2e8862fdff0a7269393d4aaafecb9aec3a07d9af6064de3c953139cdfce6a14401958f1c65cdff636afb13b30d49b16f93688d56b7d8029dac9c749aac3392ec9b5a976fcf783fa2189ea339b13ac2bed0644861ebd045bc903685151ca718d7458a1050d5d04284ed46ae3d487da2ed566083daa43938ec481655f1d3c8656bc6ba17fd4f48c59e647b01ca49644fa5c3fdc23a28b7c810593461c8944ec916e4e2b2e4c2ae219b303b154b1d5c2334edbb99d81f8c4c76da86fc8d2cec7e06b0d0b161c62e285a5385d97faac918f6449f53ada865e084f15cd75006abd808a7f6f7693fe75c68bbc0d9ae170df211f4d97a1bb778479eb124085f15dcfd1554af7f51be16d3a0af6b0288d5134b913ede24315ac96d57c1236d348d14c10a561426466f74af311263428a0c2d838e98b1cf2f8180ea3e605cd6cbf7c14509034fb89b70654f3aa67ac89ea6af15c6945688536cb3597b19897095764ad2055b21cf0540dd07a91cf87d4beb1aebfb1eb8fb9f9e700c4a067c99f37be37ce6f208f060c64a566409422153b97bc49e57717d3356cd4ab79ea4924df92d29122eed5ebabbfd29416ea908b54ad92f74da2601d4162b96eb392d5aa25847d5aa9351e6b4fc40be8adf1d6c84fce90232e26681e5dcc8e854d44cad9064c2c5751c79455d8aa348c678ca207b12933b770eb1499cfd4b5a1a7e1c89505b07152575c0d41b9ce84ed12d24dc1b0c6cebc408f0dafbf18e884ac114adcf9b665d1413177ee5cabee6d6840018786423e22fc9834899bb68fc87e73f1b06ccce67266cda820ede9c31cc7c817e415daec6ac7ca99c04b0bc97b680ec330af9059a5412c1f0f67e73ab62883049c86df6ec8923d1f2afebf3d6104b2ab6d23e327fd8e1bea2792e9073d6423b576af3b657bfed701339a9eea909f871f449055fd12e496c2bfd6153d51d0c806390172d964de566835cd09f8a13a8d063e66709884128740e9dbbffabde7aecdec191e10e7615ff247eba92e7e13be16c7c1bb6d24bc627b477e0dac1f40d4e58950faa51fd486375d507a0444008011286a4ee2fdff05a8fb6f2d37fb1d8ecb43b678fd5d074094783302138179311b92ebf8805a8c17b675468b1b989638add4934de6aa54414e93ebd683bb3283d36ebdf757e9ef08148125450c1370543170efa63a1aba5ba088a17bf6f29c5a3a0970a6bd67cdf90cac334a60c1aedf42f9acc390bc7466c644b32803ac131732663cc7bb09c48a0cdb2311c2e471f98ca2ab8c5e36e20263d11ce05a907aac79c97c59dc9a1c899d0957a9ceae9d27d58c84bdb428021b9e4f186e3a80c54a642f1a4a50c4b66200c953a1c9f8d869b8749e17271e07c0cca6dbe93db1a74261e63a028ccba70bde664e7d5ca76f028ef2b57b7bde4fab01f8476459197fe4d138b43e9a87b37554b43e1a6a22746e5154c3d9fe0a749c089cd75c3ca739e369f27d6345c5f2f7857e402b2f1daabc6f72fcdcb09da590e851abd0a38adfdd9e2539e194c69b084d786eb200033387de179beaafc3b074187dd66432e7e3b25c21fb330e1a7943dbc20e4148341d9515788d8bcd147ae6c565addef1e426b01eb2fc68b57bcae57ed0e02103ec6617b5c55da0b3c931adee95057a8c6d4dbc009a6bc759ae6b84c50fea04b4c3fc4c1ab80658c1da6f7f267773fa47bf31931e180b5c9cc3f271e4ac3c74e271ca9e2102512403e1c61d0f27702991064c9e749ff8ebd913b2a0b1b2b21c40c7c159d9662f1130c347a05692c2f21d0bec53430ac17b1d50a0137eb26fe9505555519bda00b276ad25d28bbdaf0d229a9b7f9f0e4fe65831f28fd0f2a394260133e7386b3b8f7a9db403e50fdd671271e16b7f65692e15d3ef3c6c20598c8e08938ae91e52308c92ddf69ef6ffdf5deab3c95e5da53bc79aa702e0e7dc0810d2f6633a8e0eae4166e23da0bac5a550e8e8f951f49a5257671cb60566650c767c7a0f3acff3c0f719a7e78c7b06298b323ca505e738b316ee27bc26a6c37e3e2ce9f556c2e5dc78fa2fbe1ae435e24333aac727b8edb8eac6e5566e504228efd86711e4ec2a76fc136cfb0d1a39e629853ce8599c97e425a29ce698d1b4510c0420ca6283ae52e06781f4bfd0afd5044d6a894cfb4651dc1e365d4d9da00389a3ffb4fc946e7e37d70205202c46ef970277438534f2cb370a780c5153e424ff3436ebdf1bad45dd3402cff0d8a9e49a2c832d435bfc1bd50c098af2c9e3ac38d2ccf78176ea94d9f7c560aa120b96e7d4add345dcd8cffa0892bbe2b0fb8516bbc8271969172e3a04140f88bd13f64cc05f86d623d7e1b18a34787c5a141c9e6df82782e9d8838545bec1ceeb790959b51af63c2bd1caf707e48296f1391ef8af8ca5e4ebcaab6acb48bf761631d2ca55006761e7b3ce096a36998421aad0d3557513027de07c69e57987e902fb85943ac8e2939dd209237c200b15030f6859ff7246c8969f03805291b1de26a1bd73c34e34a1959bf8512b8828a724f6d481d629ed5a2b730921b3cd051fec5842484b5e62b847d8792f39aae67388bbc081c58990021e9eb4f7a4ceeccb9002e8b07d18464d2e44980111237057011fecdec6b18594f30d2de158f0b34c8ac3d6bf5985fb7bee093963a3c0d445a55bd23b2c2f65708e450f5857beb2deb094d7e57afd7e8d96593afb33928594246ad5c9b697bb617c0f160f2c259e2cda15b6eb9ce737c1e1093a400217caf5f0e18284b0de6ba9e55668f9a443102fb5dfbbdea136811627e9ada6fa890d9be254758fb596f0354f6b2940cdb2f83bfbeceaa40b1bea6a9c0f603a1b3a614e06f427a19915545a5a78718db39c54dd599482977689fbff6bc926e60a60e1dff038cdf4fc8e7ceac51e1e2cd461be2abd7756433feec5274dc7ea9289cb7ea11d57a8173295102da15250cfc103d15decf2277b22ba35c758e4f6459d9babcbf053fef6da86e5f0e8728f2d0830a77b031b30c513539b35a6e336e032802b4583e85ff7f31b9fa85228c5f0db286be66d93b70aaa5a3f0f48c1c4eabb9191e9ccaa52745933d9020854b72158c0c8685a1e87fdea05e181da6e5a06146a1d95c63fb7cf10da197eff49045b274e0e302204c28d943d9e883af021bcfcaab7aa254659f0ce2e42daa7a59484c0660cf4c7644716e1108000cc030149bce024713c24c92e9988ff59f6d42b67ad7e88260d4d2b77ce6be2da6ca918a8dc39fa6d7bdd6cb78890f2ac2234313c632b4656bf74fad3f25ab6217161e9476eda91ff32529ca738eed1b02da4092ccce0f200e273cefafbc59f20c0ad0242751e2f90d26212feca627dbf3149def296b518aeae7b455dd76c2eccd6e4d333483301a97a185b16e38cec56c172a51761c585c2f8607923c9e330d2d6eb290dd5f9dca266e41dc16d8940862076f30ed2dd0149203bc5567a408bf8ca022d6b9535c7efb86f79d18894fee6e8e8a54b728b218b231cb1c78bc7d52bb65a12737c333baa450851689b32c8c734c3987dda5d268f542c69d4c66a96d21415324793b80358b4c9a90d0a3d141dd8275b672e30ade2de7d7b9d54b6d83ec64df77f2e050dffdb643634351c7986aaf4eae90e1fca78593a30171ff899367d914025e121f2aa001087c4ba28fa8d8d25522ae6bb2e350f5819d4392b2e0f3547b0f0854dbb2eab7d3874b0a6bd85b1fce77552a37cfcdf14cf048d7bdc5d6cf991b740ae6da2a5befd463574863f91d921d53f4424dbff00a98e334c4620c3e33f6693ca895991429b33eafb076cc4b964d455edf778a771edef963558da076da2316df33fe6636e442e4e0295ebcfdb20b67778b13593d4c4bd72c8ff7de2d25496a6287901b8ffad108549ffd2fb2dec5dbfd868d0ede480ef3752cdd6ab6cf647efbc443606c395b73553edc55a1dbaeaba968b36906e1e21df2516875f6c6193b86653bac5eaeea38b11d2abccbc46d60aa927e054304e7dd6c7746abca399cd0d562f9c7e24fc77f4173f4de4106ccd08cb9b198869520e74f53773836afcc50c4b0560a1418d35eb45ec0784c6e121326ac192e9071c64fa9837a8be0c6721c548acce6fdaca36cd015f843408c13ae87ca6995835eb8ed07a44cdfb929457d3f1f59e9c0ad67ddbf6fbceeee272f73fea2674638c94df13f8f3bbe560a86ac4d0d4670d4fb79cd61c920bb355ff8650462e09f7b68e3db21c332c99258cd727c9ac740b58b5e7d55a7dd3a75d376a0e6a6a8d07fae1fd23e073a16b73661ebfeeec0764f93788e4de1e7145161004b6789f39aa7cab24d8aae32cd10668aa03ffbe2f6f25821313c13859e48d5ff65d6e1dee110f774c9bcea79eba895d7292968f1ea1c7e10656b766add368c00fe199fc9ddf849357472de6182a7f1b67c4cddeb59ea8061241022820d200ff04dbee44a0e396fa8c2907b7c48538082c55a636d1dbc8cb5a0256c1a657dd8025776a8e22c223fa8a5762a0e864c16fa29c137fb6a57cdf20c5853142f56b965f6c0eaca76a091b34a1eb74d7f3bcf82632d45a57a0a18bb5bc09e2c81067c7c33a5af4d3658063e1f54ae858b5ebe58cbbdf4f8fd6e522ae37933032f5e01ff94257aed16569fc31502f9055ef130f4a20ad05ccb9c3e7d862ce5f7809f373638a2b4cd9c7f9410320d5995fd7312ef5d55263a90049920b79a649228e642ba1393d3fde88a71ef7e8ddcdaf3e4d396e75cf40f5c9edb9dc09fc5aebdbe969bff25a599bcc3a47e0bb38c0abee14c5dfba7d2ec3064b6b7f2984a5a10994c4fa2a4f133b4f54cd63bbcc2c6e3de2cbd4e39f925f968492f2e5155d5ba6116fd8d38b8ab4f62c31cbe9e7fa70a887984fa5d74ca7ed00b165c40e004c7309dc796b39d63be6051cfcb29eeb19995faab61485e114add25467be53b2ebf6db0909337502c4a632c9f21ee415dd740f80a5acec1de7c109c99184a9f902c9c4272f00f65c928298f1e654aa1c7e204204d70939ccd5a595b22d6da4feeb0f9b0fda60a287e77a58e0210aeb9525ab1fa2897b60ac2c51092a705d479ab88fcba6cf3805c14f8f989fdd23c0fadf19d4ea2c924aa168cdf9b6746647a8b92c864c4bb2981f9adaf81571c35d64cba798d511e681fb89e2b89532019ad6ec4423d9964e329c38342edb4b99a2316a1247447810fe30eceaa393474f61610a933bcad15924399ab650817ac02cfcf3518012894dd13461be4c80a5f5b5c4cf0ee899afac0de70481438e168dddd4aeaed79049b3243f73e9fa875240eeb4944c9fd16fd20fc9c4d4e1510288a57f3f2828553c29a0691e91a3741491de7149c8f4eab680f66495bf504026995c01df9934f2bf0a2ff541aace0d7aa5d66ff6dd6c83ed7d4fec7cfa548b6db38f1fc7e7ff4da272ea29de315e3e55adf9aa7e16eee48e055357e1643631152963da997d8a1d4810ccad0194aab14ef9731685b3f7febd9e89fbdd58b68d0b4ba236ab7b86a1622c3a3f8310b102b4b7ade4a0a2be49be28952f4c632b7b0011270963d63b9efb774b46034310cc80efad9ce1a832905cdadecdd4f37761dd4ab70bb393a8aa25d91ba17fa9a0dde004518e7e4afc11c1a3ce5b3b0c82cb8ab7a8752221de49ebc14032af180a927e862507f04daec30ef6139e7dbf610bcaec118dff301874a9ce020ca60c042c54cac4af3b84abde13489801e2c75635cc0bbaa5fb0f08eec2ba8c600601c87c1548d8091eb4a28c0102ab2f4380cee8fac5498c1837ed192a131f31a9fd0eef69e9bb2d49acd09fdb84bb7a27b40de624676c134a524b914fc3043dad3e9417c2ed6ffda533699f4a173546ea879c4e1aa7b219e79f718bd819b20242d42b6877c1e41eeb5e4a9913989039b38a181f61bbf4be2a7e71bc3e9d26d6cb50e6f3594d32d8e7d8d20a420e770f5f7a80e41657c69c438acab6e0dfe65bbfccca256a5e11b62161f38741120d5aaed2d30b8a6b920927681ac6629ce9dad2ec34c9a136d9b831b454aad63cd4d1cb5ccfec55fda10c30ff58e74cffe1952cc5041be1897f1895c7035225f83f63af77d295946964458cd7f913edc6e6add6bf372371ebf5a041917c219eb17502c1037600ea8a07dba022e3a6796a9b007f6cdc84fab78675a43abc597f15738a65e1fea511a7defffd2fddd68fe12ec042d99f57df695fb230c998aa6bd029c2a6f1b29e46a70076212183584bcfac2f2a212aa956f379a8cfeb4695486fe34addfbf360ddfe1a457e35a5a0653719c54079a53f738c36c244d6de12a564b847c8732385bd937582e7ad742d7c27ff75af35fb23e9dbf43e73bbe46b2d877ac476d14f47370e5ede077a38c8596c0d905d91bf3bf5623b5d59482aeb3aeb6cedf1f4aafc06a333e0a6db625fcd1119696e9a8702c974a844e6eab8569943ed50f84143dfee6ad55116fdb3b190ec50b672251abfa2ce9f2515ea8a0ac8c1a407a2a230d2489aa40e6ceb4f202140954328c33ce333cf6782e230e0c67896a0f2c02804e47bcad4a3ca4fa180f7d691f5974b7c84a66b5b2deec5df4389ab163cf958b3b236b1006a3043da065429c720434953e21bb09576a30d5d8260f3005b7167fca3fe4bf86e2acd9a85059b1b1e0358f69bb900d1b7c198180e01c0fb1923016ef2d918ca8e2355f230d2499650e93c71bc345be2bdc743d3a5f1a5b151ee2c1f3fc40d09f52192b8a2d3c26eff9c4226c44c43da19a5f499e642c0c1232f5a282b89c92170bd3339dcf55ab772f39428cd2158244638ee55b38dfe232bc3badd2be2668fbc8df3dd78d97550f7b0eacf0750cd343d87f08c59f19a69a95fa743a0364bdf30ea6e68ab9f9b518c2f1a23eded009f355b2f7c8bf0f6a39ed7b8ef9438f60a5d94a3de00ebc8e3c98840d3f499061976220e5b586b394d7442dd99b16508d0f6c5bd2a32ec36d0bd7ab2e8d829e24a350d77380cc6838aed5f20c1fc5fabb55db40c3df73d23c0442b175a260b7751a43da5033321f3b9a2058f4f7f110eec9f37384f6d9186584a6cf55af90f49115985eee08a90e12a967d4b8fb95b8baf3bf903dfd57a571ae58261e0edaa4d6ba663c05ef1e36ae98b77cc2323868b69f2b07fe057972d6414fd9e771691be1108045a8ba68d892db155d5294b8fff38476ec9086c5ccff11675ab52e188143c6aeb582012428607d91c448fbd0f514b5133544aff62d443763ae07cc9a52c034ea383d5c40e9c4d76120237a96ea8ca33aed00aaa71c33d73fe6fbda2c8ee0db5138a11ae4f9b1c68f746906ca6b3d89bc0862772f09528d6e91b1aa0164cddb0c12480d0f21b733ba26c1e27f6309cd7798e72f7e034acea707ef55c1eccbcded7c09b36b56aab8d4d0d23165a1fa56183b127cc1e306404dcd67d8b438f75e090662bb58e11b00d3b05a3ead869c6a113ad3b986c9f0b9bd4528eff32634da91ea1b00d64f8398ce4e162de344f98cf588bc6408fccc1c378308a2f56262194c2db25bff1cbbac404156a8dac3098ff9174fc306edb9ef05f4f38e78b8bc4e3635cc9072a6045efcbe63bccfb45f9b9b15c1bb36e9582e61e9a88da1278e5ac6ab5de6352e09ab58040e3bb4f9d9c035b2ffbe15e091fbab24b087b099a5620bcf50626bf90f6d3e37979b826fdade7f73f20856fa5b575db847cad235e5347ac449970146309edd0bc2cfcdf50b2845456062b37712904d8be8ce0279063041362a2cbb15c528652efc2bdccf3631d5419f11220fbc5fabfdfb122120c68294b78136a64f8bbaedb1fe4a5a621c06f9e8ab77ba394a6f56dbe966ac419e48ac9510747f9f5ae2ad39e07a333ac675faf977cb9b8eb9178c46e17a59ebb668d55995b7f97847e0e66950c78bd889f6b4b5aa433d5603256b940682f2f3d3c0ca02690978e97d9339c55bb681ed4c47c123f76d9435100f113ebac55917574d6b67391fe0474b38020811a9b55c90973510cdf729843a1f2671331234db3f1187890e848f05b78c9e18a09ac422a8fd1de6fdb6b9a42f25d3799033385baa522cef3f1e230eac4b97f136f715cc28a25d4b87b1b2ac8d21683de072c61a76aeb9543134e76cf7aeeaf5a95243c13c6e3c8a92658dbbaebba0f5f6d5f9feb74ee0c09cd33f3b82d1269e05632731468557436c625e241b1cd32715bf5ac5a31766af4550afa409816bc27375473ce4f159d368b14729411d5ea9ea4852e742c4ab3df5fc9ad5caa69d976ce6344666d647af1b2b67e7dfe3210150bcb7b355fa551ee2bd4ce78a834103d8bc9592ea238f1327378000e087e47aa8f6e134d6741d9e03d0308e4e04c82ce7db32b827a7ff6c74eac4ef0af33f41350422ef39985c4c3a8a742f62d4cbf194e2e7c3b1988bc2106074bc5a74eb50e7f748137ec8b5c20022a7f36a8ae9167cc2f17ebe4b1c5a17622adb63551d9c236bad442a7e344bc76179a0eb9403477340c9cc3118475ac2f8dc8b263e869c057ad4738b3228f45f911f3dd04226dc78bc674c89af193abfaf11f0e55c86414ae379e56b829bb54d3958d5aee50bdefedbcc2283a3811d32b30ee3af8b8d99d67a6ff950b7d90706ad610e38f631fc0034898e5a1d6cb48cc1da618238915c20168fe0f3feb745eea8eee9c050093fc9ea84c2b512b79753ed421038deeaefa29bbd902388ff5b3d7e333fc5ed388309e8418fd29b0b198c4f6b8c40a5f23eb960d9344b09ee761216d08d8ffaabcc2ff899bc882df191f1a565744f259364e1fd335ba53e3b6c60c5ebef27acfa22d5392b35b922fb7fd7f929f473dd25fdd940ee90a6a56c1ca0a2df05297fa0aa11e72ee9d64d4a45fce992556002b092268328980ecf8dda6b1db1643eecff0304e8b9ae5825d929a3daf8d86ada9bed3968210ed144ca7bd25a96c48c488f5e4aaeb0ac344f682ada8564f7904dccb6542b0e6ba804e7b77d089122ba583818341a6e8055ad8edb77a7cfd624b4a88e13c08f02ea3258baf1f17850b0392a0c4ef30a86ce4936024c7c70629a9add4a9a664599e8485ced29e80ed5ec2fcdb5b5c99fb997d0dc5931192692c83a2f73824157ad2752ea7f4cccc1a9cc0bc82e5b15f8d19fc0230681617b7f28febda92904f6aa9bc3cdb32676f7e48ccfca799a96cdf5eaeb0715d633ca92bead715a6d0f5718f4def9921e696eca069109893fe8e1d656a1cdd0e44ce94486043d394e21e89d3f322d22a291f66797eaf147fc73a3acb5d69463d8434d18671d5e45ea825131023f97c6f84082c1039cbb0e7df62f6581ce8c8cb643d52c89727f1b57d893d49ac29b169ed4bf7b26bb4a3abb0f4189e974b5957227a49da34c7a84703e72198ded37b460529565a6dc67be9c535bcf21c5a2fafad7e44ee0badeebc910e50bedc96a679703dc74ac133b4c2ed2b53949abd42ccb8f883842510b00fe92ac047426330b9ec85e03eae034c91118858ac9f0d673e70dccc322d59ed6480c6f3678225b1b14f759515c03c48e1d254e017a7ae6311f44107207a968d039f7ffd5e79b3b08e521c978b80ff66a26fd411cb7e992fe6477f9558b2d96d2db1643789468e638fa3276bd992bc67b0c5037fa4d1adc39883ecb010ddf3961b4ea6269b2827618a54b342a11ebd8825d3b661d480b6ea5d3e2f4d9c5f39f3e90647f9fc6c53a2650a4e39a34636f9cb7297703b54cbdaaaf2c5a48d0f5a5ba54b9b2c4a9a7754b4f40dbe55342766cb646250f1f4d03e15fc09e9b7c176c5e2a9b7f08bc1a503029748a659c9d9b81f67be2ff8630716e8f054eeb9bb83dd29362d8f717139269c253f008da3ec150e8b9cc2d3bf4c0d6c6d1071774f4e30647c7fc794677565c21a7d3a416422669f2eb47b83c4267eb13215d1dbb5304e50fcad2475889b4d9a2de6dd3faa6ab5c4fa2c530fb7b4386e6b6bcb2a766cf2fc73dccc049d6ec66e33855c6520c7d9d2c9d882605a678ed0eeb10d1142ac627c06d5b0fa775795b4f5adf487cc8dc259bc363cfaf79f43b458d865166edafe919c23650e0bd21171e08f10f138d12b0a33bd824edf56d6b24953fdfe7456349707a3e7688b35483af145867d41ea23029a17dd3c1092b70986047b44000a09ea923986ef4ccc85e5f9785f32269c08d3e5b8349e6c0ed689c30cf44d3bfe8eb1177af8b82766eab831d7b5de37823d22eb787aea0f629538a86488fb191409c76bf70d5fb0f7071df08f98b807f9166d44dbfe2a8e6a21d8f9632a01c17ec563b3597edc9c831576188afef3ed0f8b44dd71ef2ee79587b0fb99e65061616f4df415239c8aee878350d7ca91969c578519f045af0d1a6d78698b1bd381957b86a188f62e5758fa7ecd5ea69f3c7c3ce23ba98d73afd72c57dc6592346fd9d6bd6582b40503584d23afd8caa4dcff0de53e871433d9195eff4e75e42e88ea95917ee9f8f5c27c55e52b31850de43b503e751cca6b94c5c883911684f260b4b335325d128fee40db66312b57e064b51df40d100caa772cd7842a7c50ccb7a739399fb8ad265208c620a30c1a8dc28dc50ff54f10d535861e418e0e09e8b73e4a8d63e50aaf3e905f308ce5a193ba5b4823aa6a4138fe7642ec60fabcaf0b07d84d01766e11eeb17289a6e5492668942feaacba149b755e592302ac9441d1d7100e9174b6ea8b0cec02c38c056d16fb7f08b0ce9ef574d94cfde014a38ff278e480f56c7b384d4ec9d07e6f0daa89139d6680565575d043f60a2ad14e3c1c194b56abda55af57f2d91c209c4ff91d9e7e97f98cbd3507717d4c4d5010abb5c2a67203f2742f3d34196c78d5a663dab974dd695e68f2f6e4974b987df5eca6120f97ce44e259b79bc1394457dfd36c7dc5eb5a87ae326e5adfe8f36a6d3ff275612324a79854462240ad2f979bc9fbd1c5af8acf3fdbb8de309d4dd396cb88ed71c28a1130c4cb854ebcac7d1ac259c3d7a9be6fea7145ac8b00972558de763f081adfcc3d7cc95deeeb40db893b1b4628a14cd588a7eb39547b404c4d6106a28137d0fb5b1fca17bc33a6d5c8779b39f278237b45fa7a885c474f22e9151e7ecd96e8d16e81c79dc9dca22040edd400663fe58615a9b470ff40eea0496d06786174f48b7788d60e47a65e60eb414d6d8a98ce08f39eac02a200d956d245ab9a5d73b5476955c9b6ced68dd83ca1bdd1b82fb334859c30d94197ebb1b061e683a932b6528223f288479a37db5d773655f8285e0179781e32f596610bd314b3bdf7989c63fe05f4c71afa801a2eca51019f2963adf2662f39a3316bc37414f49605d802718005715c21f98afd7d57adf9353c22099ad452c1d80daaf27152f5c8e5aab74ab18639e9344f6f04c350fb8e680c77e4541c570a1ed2f16ea3470d39acf2fdd9e4a23e583a404ba00991b9d183b5b72fcd4935fa6a5f479b907f331d407e338056fb5833085422c56c35c7307f48ac685b5cb0ccc2c83a96e2ccb1e20bc20d7b4753c49f93b820fc703bcbf4fca6e218bdd2743409e5e1fe4ee99e288683090def6f433acd30b436d78fdb333b041ac39e325ca911a1774cc432cd553d88406d79edbb35a1f33f109dac9c4947cebbbb0c6a8f410bd1dcd7dfb1bfac38ca042527020916b5c0dd3fdc8843d4b862e4b2dee88fb81b6dab0265cb2176e59489d387e353405a3e0948c7f360528d712937034a69697220c9d79945b676799b5d41e54a1bd8bd4bdd686b7a7f778e29bb6869e7d1442c3aad81463113ada579b6b51e9fd737b73734fca5a6fe9ce592a68ae4cb755731d4693b0f22a5f683f9ab9e06d549af192880bac822a48cb0f18040000bb71ee088c56a690879e29c70618e040cc4b02f697ff915f968726ffacddba3667cbab6c2a61b602812aa7793f715ad599ecee2fb3a4eefcb44c5f0d35f1b579bfecc1c18856349d983bab4ab7795cc315f4e0753ed8c47d81ab24a28c56a6222fe60c306d157ca8a9ae28a684b79f89dd1a7496455777267c788a69580c0f2e77614542f00fbdfe67440465794a891e11fd3b13c5ccd073743718217217d9917a9340b71021ae5eaca8c2cb0fae5f90810a8016b54a7cb6b13b12414c2a474085f6206e748b4c7df8e0244083efc1d1fb35a7b15e7958cee675b033f537394b583a039aac1634c6f4f48717bcb3855697fd415bb30f27ff538be8a8487afd49c0bde90333f2124feb06bf6585f6c43877c974bc429c40e587c559a8fcf2044c2695cdebd8b6e6524591b1fed07a38fef5c1537005b70ecd569c6b0c28126c5b78030e79345d0803664127467c3f3595f6000c9d8d69112b447a75a8a3f178288418b63c64db8ec79aa65b35c37f1e18cd592e5ee832ed4d990bdc68b1e7c0bbcaa7973b3c6b1c238c580c8212f3b55f087e5b37cd77a2c251f1f4dcb66e2806456da8e5ffce9815eda6e3df51e4b16347c7bc36667d6e09b27c00af99891904d81a6a9986a0d81224e2260ff5fc5f85693b1151143a308bb2d7baa1b796177eb138c464a1afed9d92611ede3852c74ba479a6f613a2ca1170e45b6efbee715b53f1ffe86a5816a3476fa6361e3c7fcaabb18026ba26b5be39c89e3ab70255c8e21bd2c64ec6d12724f83ee8bc5eaf92f41ae986f29b29d1bb03026fe71752deff42d29d50fe044e335cb2ed5eacf8964bc0dc527dc564a62103af15a406ac479c3f1d7927c05b32cad57afec5e635d40aaba87f93e99e2c2ba395ec20154f55c209054a67666464c27565c7c67188ab621d19b8185550ff1b280071da228d3cad5b5d624f95f8568f246449ad98a0d1d2097aaea1f499f00155b8874616f72c64b795530460b572cd374259dbc62ddd545fd0d62bbbec588f068f98426e6105c1f620588bc61aa8d6d148d4a44a2c3daa80a61e4779593330b3a07bf7c6d294f024c201a5c2e1457dfba32baac55a9330a8e94c7ff2a928b4955aef3e9a1f1198e7485249177b9d73914a419bff292a3bb91bf48defb8ba5d4c37fa76c8297bef831ad587dc9a5e7c79c9d4412a66562ba47dbd74d183340e7a5bb5aef8c96aa2dbba41f11baec0419e9a3f5f897eb8f4f1200b0fb9c0d3a68df79d4146faadf88ae759151ee540c6324531271e745ab51b8bc8f102e5aa25013a5225f73ceecf5dae7720385ff047a557aeb27c17269f5396cc428448c24b6d6335d9ef54901e702b01a684ddd8e10818e4508f4c8bb2670e0f9cb64e3e6932a44b89377c1c24c8580889cdca9cffa7f34e3a551cd670c8699a58c8330ef6ce5f1e687346d7414d67ac9c901a7f435ede2f7111d39db745194533571a8ed25e6167eda0c7ddc5fae97fdf42265690bdc875f134985e9b531653764d6baa66532c005efb804f8be1c44a3dd36639d2eb82c356b4e55533815f723031975517ff7a250448397f87fd0adb9e793f0782e00dbe5babb162f64b26b3e87be3322e83150f139eed4449b0d9c141ce35d96946d91f5be290cdba14b478f398a0af1c2059adc1a5c95c3a521bea2a2bc103cc0b0871d295e8edb880ba842e967ad85008e0c21099e8af6d935880394b80ea5dc9f40df2a5e3b498bfe60a2d85f57819a803aaf6fae38b04c05280f98d1016d98850a69fee1fabb7dcba6c8f6e7181ee885abba5b6c6fdbe77bf6ae61b564b22da3f0bb3bfd090c4e7c129ea42444230e37c1c3748f2039c2b1a3001ffcef5fa0e43a8231f21ee85e12f7ba3e373d3b6d30e9220e00bd6ddca645629441af0289dc02a0787289a8f331dd16a2e617ec0f2471f661ab1de8e6012c6180aa4c298f0062b4d04eded215d181675db86559e255498b6a6264b8eadc9d2ad9b35f5b9f7470c7f7053ff2afa45dac337f80e0d9b5e817b3091bb7aad025d7cd6aa9948f8f5afed851ba87c6f53de8dde4c854ff5998303f6c82acb980e7e50739c19c20089183e3925ad7975c494086fe2ea5b1af83a7afa7bf72ea45891436e90b6377a532cd5d6016adab474ea86656046d96dbb1a1a0c3ffe816b18c5e81c1e0fa241f7ecfac1212af80b18f1135ede2467a60e96df203777590d2006b13a2090dbd6469103f8f46b94739478971c086ec50de8de9a3028a08fbf42d6583b4584e872bcd07e7c2008ae4372485c5e05fde9b9f4dab3c3ac5b0fc1966de8bb2193cc827fb9812add57c4dd71637ebab8a7962d57ae58b1c2474c7b3bd792ad81d553334ec008ac1cfe7d478dc06d2a78b196b01c80f4a2e9382be6011989cb0782b5801b26081c7ce71be9227b4ef6eb07da4979ba6975dbf0c941159bb083a11e24af18632dccb4eb60c633e2ef946eb56d90043b8bd0966f5e5e14bf0d66330f6a03ffabcf55b953541693ceda674a453574cdb6be6351382430c5f7675d31fe32edc8c9c36174bbbc1664efc1f7772aa7896a158b142b8f12869ad44acc3734c7c8330fc9212678aeba3cef7b4a575ac9f5b1aa8185d0a18220b36881c6569b4e0ae6d1f0d5d6af3662bc8e65d78d4cd08b46c9c60d6bb96d918030d5ef05e2f67282945338cf185e13b5aacb945a93e4c59edaa4978dfb53b96152ac5542aacdc20d5f8d8d9b53a45923109c2abe52c06f20efb05f5e2802fe46cc22e0076af507d032706bd63e28a7d53a62a01a30cec2a0e3230a1510a86583719a3d945ba52d2e69a2c45bc689751f4abca97ea81f65ce88aa06ad0eb1a44e4e5551842e37838f7c6dc8c4ac2c217655bf691d795949268a3bc4f9e84f97ef23877204dceb08ec20cc2ea954e72110f10ac7680f902f3036df5c6f7d8708a5ebc03fd3e422de3c9a85ddc97873932c72fb837de4afb6fd4d8a4ec887c4e862bb130552db40bb5e7700338d024851e6590c94bf5541afd01e4513cc884d7700bbd9a38fa936d26464366376eb9bee03ac5357cfe7a46d39a65ff6fc34a3b340eaefcac63fefd8d6e7e9f5b5acfe31cb61639edb2db9a93c99530e45d8c604d90c9c15a426eda7bdfcbaff6e864c94e041805fd5d5893d14c4d16e1859e0642c33281a2f58f677e731e24b20fcb6456ac6d8a04d6355978f7ae28163b0f13ee38a355865e47f794da68a43c2fe43aab1b79e9dd2cd0c2456781c05632451a7b8019342fefb10edb480e05ae3155da8423defc0a8f3a31a29f1552371e9088fc39b7f472022e974fa77278ec0507e3ac255d045dd32d7084dbc06e4980b73e06a5201aaa99fb086cd16f11a94954d76e2b425ff1fa07d016d2e98537f1404694beeb902f0158eb0576652ed20ac859e1f11a831592e703ec048b460e0eec4deb36dda3af090cb63cf384631fab83743f4ff72be3870144ad052870dd17ee8cd3d0bd03dfb46723958663bae0e909f71216c0683336d1e0672de507a3ceea90827ec5c2bfe0f20f1e5f866063f9945fb04a49cba8274a0fc9fc12fdaa40d3f148e1e8ae878864ec8f034bddd8cc592468bba352d75fa945a1f41f0487ecec32ae9e65d3da185b7da87f25332e75333bd3e85231f5f6173219620a4b7beb0915577489effbaa7cb026f80bb29f3f00d0cd6d01f0cc697519958ece12f4ba92a563496f5f7b09603b7790fa0a482aa122b411351d48f417602bee5896266253fa87592255cd2e5fe74a0346d56af43809974881a1629378c52228eff41d92d2aeef2c778864971454be9c4504f42a61e1cad9a0ef14cfc2b5dfb801910fda1e84a02c4aebd27d34d395f335917bc09acbade8ac83eeb61ebcf88f75e2585fc9bd607bad3f1abcb9a381b485cbe95000e7adfc89dbb87ec710c35312e94dffc191fe2e6f489a346e0f3e1696bd2f53f7a93e88db67d2db03ce237b57c4c190c398a074b956c30671f6ad9d5e442eef400cea27e04fd3a5e53ede36ac5210aa853c4a48c9679ab06590027d2431da011617852f4139d4ef917265413c111a94da493858fd95e314596e9a63a2207c4b01d777a67b2032bb9a95b9eab3bbbf94c43e5d8d0843af243493688d376960555a4f49be81b2e277fad607bf2d4647f84faa7150f0c33c56fce9071ef8167e92addcd360812b2d5ff065c48ea95110b6f68924ec4bd433a375eb1c314ed4b4b81eefcc9f52d02e2f8f04c9f01c28f24263c94afb843580d893056fdcc1c9b7da3da0b96b30aa88715242ef1716cfa7ed999d02d700f26d88afdfdca6d06e0bffc303f56f204eba784a5a356608030a9be0a4f8a6eef467bae8e5e94164e8c38e440383089a57be421414ba6567746e6c7a6a87ae1f22e4e63fc86424a0d522977735d3c151919301e34f9052942ce8a14616510611d872160524df45f894d893a732d8553045e56d9f535b82f9957f40f3cbe1846e19e02bf0f3a0d0ebab8a771528e9cd4e8ddb8e34d9ec4cd9c32bf033ead0d8fb773b00b75d61ea2e380d8bdbfb76a6f0cda0c44917b202132b973fb3979b66c9ebfe62e79deba5b6dbcde4e19ac7865ede787b6c7b2f54361d62aea27c3c23777515a7b9a03f3963630a6d383c7e2a9b04d257aa071c9130331de6d8de53dfa7626f52f3688f4e850cfa534fcedd22e717f210d0a909e781cf109adbd20b5f9190ea9f7fe216bff9f756a32ff0490206a38d1444fc6be52aad5e3d256544ac6095637e1f5ba133ae534cdf8fe0fe1ed5f49e9d6811847d822ca2a93c2067d7f0ffcff61cd3fb2beeba22a2987947206077aaf5af3a823de5633643308e1237ed6fdb83722107f4b524bc6d30451d051ecc8d692ff8b0351b10b5cd2726de90911ebc8f67b32f4caad3963ca3297d8cc361ad32468a94c8bafde342e8e186365755be6dfb255648be825275b2ba07fa0022e3e1bb4014036e789ce47239658e023df12a14f5ec6de8ad5baa76015b2f75bdb15afe87578dcb89c19a0e528f7373d7f31f17b57de6ad52f82d469a5732d6fa14ff63a719bc1f144369deb95fb812f5356a148ef063921e875f5e89d9675c57171cf5b9cf94475b48a1f97142129059edbaf49664aba8f7d4642d2673f795c7bf74d85d79e11230379f129ccfa6eb75a00bc88c99d3149855134e8af535e3b6a5465d09dc770eb56a776324310825c5eed51a0daa470f85b9e208b19f36391be3ba93714b5cb390957b817962ae5f71e91202771bff1a8f8af8f740f1d6f4fc54c88b39b1b2e4e1ad249c29af90e1efd2451aa623d9b7b770835c213d2ff676948854a2fd544bf06a1a1b886a24dc8c0351dfbf87ef0ead58e6f95984124a5720ee37a964cbe2104c2fd8d057b02281857e54af282890092d2559e35df4e774f4ad89df16ab8f9b7164b20a6a6de9b7c806d118911d3ecc642b4efb25b37d49421a4ca557eb38e6d3260ed25e4b28b50e24b0c3ed4161ba00faa95a8dc1ddb1ee63be1d0978bd08917fc92a66458f2e19cea98a1265ea5f7bca461d5bef4f2722e085abb21fa772b3c4233687a78fb13d8c27043f35ba0df5772551cb3ceea42106b535cbe07d93c6316f0119a834667ce39333272573f384dcb92be0e4252365a09fb73fe661658e91c6830e420f2dfb6022ef2ca37f4a67373a2138dae4c17e6fcd4e03cc33ee5422f93a486fd4f8a2ea8dcd818b3d27d1f369cf9ffa364547d39a55f173f4d550c90ac55104e3d5db1c5a169fc7ec4ade780f21646c188468894856adc7a55e4dba09927741d6b5c9c328f1d053c21dd7271298b75526e0662542ac71078fcf529a793d638fe9d9fbadb01cc2c905d0f298e95b870bc4ab688ce391bd40010b0167f82fd746eddaf2fc1ccd37d8ab51c5b13f99c6f62a73b231db5db629f3fcf2d370ffe4d0a8b0ace30ad3ece0edd28634c18678e01220e4746fcfebe4a870bda593c6c6f443771b7efad4bc3030d78d76fca59c0cc152922dbdd014fae314ae47123b5302a9c9aebfb6355bb70792412e3143f29fc3282d3cd89312d1a69cb31ea1c22533eb56c64f1945bb647268e03037baadded5d4639a5ba340026c5f955151e2c04a93440b3ec7ca97ec72ba6d598683e2c80ab2bbad02ed2011722054ffbe94bdc54b1ab29d6ea05400d95abc630618338d51dd0dffdbf7863560ac753cfc93561ceb048a94fc29d0c96543cf96e843e943234170aae96f11558381393be15ebdaf727dbe7e70e3ebf6a9ad8e5a5611e96c628dd4c966a0d565152e995ac2a7e886fec3b9a3c701df4ec5d18a8b90fb49f3068f9b6cd12d472f4088ed97dab9ae584a9ba03d9132f1c6ce1774c0fd726e6420197de6fdb07664267d07ecb5900e4e7fd176fb950dcc5d2da4a2d397a6441478149571fcbef92fec9445fef6a35b38242e22d1009aecd6c6a9be367558a70c41ed018dc717f7aab2b49595546f15e6861135284a7303fde5e214ecb31a6810469fb5ea818af506a3a797932d76263a107c4c5275a8349cbc1fc6bf0c1809802e7ef790a5903f16d29f8c59424c07e08ccbc214e82c088ae69dd126aeb1f97196a13d105c6b6a84d202bae02f134701e925edaf641280578a7383b54c442a86af4b5a30a85bbd15d8a17a17d0e2e45862a4aa41ce3c50ca6a0d943f19e4a2a1ec582ac6f4d3b2eb08b12d028085b7b27875d516ac4928bb151520a785496a572de5da846981b2121a2dd42d174c49446f5cb2e167f003225ba286784e765205bf50998f8a165f6272dca34eb7e1aa11574dd4b142fb0b0465787f8fcca51a5dedb7bd8d735f4ba378862101430f19b0ea50a9a2377462981cad8b2b8b2f6cc6828bc03a8ec7f60cb167a16698fbaf834cd52aa355fb605e62cb718ab77b133dfeb49bf64ee5fb776b0ffd6eefc7d5ee16a700622066c4a0d75cc301094364a03baa3c286aed47011cfbb6229a746cb7f8210d17f24f1d07a105e6a831deeaf474885741af4847e367fee59353a482ff8124d2c74d8ad887a22be2eba7b0b88a692b2a018b2955b18304078b09f745b1c8cf674c6aefa2fb7cbab57f0b486578e0ef5ca29a1313615d64e34475f1bd78ad153a760301550e4ff8c26e15503e2287b8733f552abe0a974a798635ae15f5931983193245e1f7bad8d1a305d58b3edfb4fadd9e8afc61724d1a148c04e58d4a9afef5a45d9cc68b8c41220446b66be38b711c6d78723de761caea61c108254fb84bb6705f594e65cafab07cdba7a8a6cf584d49ee0ba2239370c9870efbf622a4a8d8b79b2172e13da891638d1353775a3c3d51cfb98dfff7620953689ec7a6e20627000078121cfe77a1cb1562b45912153229497e3a94daf1942f436512d4877d74b42e46323ee8331810ad47b1df09e28a5e514a5722c64dc0ee125c900a1ecc7274e7f46033bffb97d358fc401aaf8987d1781e875cedac3d846afe9a52c5a3020ec9cfd3b4b380188225a74fc0e2d74adb2b120164cd03e6d05114a11c568cca48aa4792d2a0172c1cf0632d267d7d2fd2fe0faf54273db23e76b69b72524b0f72eabded479e0ad9618e75b0b3c3f164fc04b419f4ce1406690a29b4c85a999ab38365126794ffdff8b7402511c0dab239d664d3dd2ecc7f20f18e9e4d5c94129629d782bc644c7d0dfdee674d04473a67a88faa57feee5e5e9034ace6def248a313273579e97feb717d29f38a90c60ec8bee2bd7f1faedfc92e32cd021f350dad6169779860edd4b56f251dbf120caa2f937e405e2aa8a1dd7748ce77b0e32185a809f2732c7554c9acc830f7bb22f06ea6353bdbd6379be7e6a307dc743853205caaebad70173ae9f276bee1f6ead2ba26c728b95de043ef27bb096c5a451852f83b7a5aef78e2a19d9f711433d5359e047f38e923522ad8710b8a13ea6773040214de5bc7605a49e95213a99db65c5a210229bf2f495fc33efb30c3a0357abc47f4883ab16a907bd7dab9eb5d13d738c0da34cdd8bffb1d4c98414951b0991986d35829d2053279db0a74ba87ac748040df2e82777305f7e42fe148b8daae9ce1bfcdbaf4b13703d4c84e6c8e202e9789fcc3de721208c1509e19761c12d8a419b952b8830ad39d6754eee312da44a55cfb62249e4613dd2070f81c00a14d28e9093909675a70d2d5a83a9568b46140e7b1b2e38c41cdae882c453bc9d20be8a639b68d9f5d384fcd45359acada25b2a8e0083aba8d459e7964b1617ad51a5d88ed2a568ee6b5f170acf3aa35e715f8b7df0e995204428e51736c1acbd3f3d19c82ece7af5f7a898ad35e6e0136f8bb57a3f9510bb9db7559c3d1364b6bba1df7fd618f1a23628a1379ea7bea8255c334f4ab90d87d07f89294b44f3db3b0b7603675dff5d1b1a80c6ec2f487c1b47fc759e778cf64f8740d54421cc99a799ab261a5d5b95367cb6dd180a0543471e890cf2283f03535481ebf3253af7ceeb444645c10d9c1c86cbb247209ce3c08ba6e46176d111ac53cf05c2a06df87c94950bee06e4efe9283d7e1a219e093de08cf58b99360932aaee42fd952cdd65d14e19361a360198430558bd8fffdd3d4a8ce5444f15ec493e36728b680f2742045bee3955037f7f1588868d91dd791b25e4a38f1ca57139dc9693162f53f8b4dd16f6692289d93f8275dadaee317ee60f4dddfb7281bd363a4d8d0a9cfb6f0c0d3dfdf2b62673ddec97fa4ce4e794714ee99c180471c3aa4bdf9d2673d0a03b76f97343442b3c7d8d0a3ed4ce49ce74f4212f96f9309dcdae824df1138c4523774690e24c3e2ea6915cc946026da89a79d2f0f23b5ce68146927aa34231dcae75bb421f9df54e2811fe43b2e465aa0266990d76406304d7514ea32df3a4e04a661172dbd70679019a96adff2eb166a96a828a1cb3ef873d23aa67cce83bfc97da3f423634eee37897935dd4de13bb7309be2470a4dece17c67eb648faae03912a33a45ff12908e5a7fa40ecd6d3065857e4e30a8a475ab7dc201f78b9de7f9261a01742027e5d785c239a205960ed53a6e84b1dfafa6fc07635b4861655e024dd9c9fc7c2baad68c8decd23b33cfc0eaaa6c80b6f2978f2ec122abfe061cc5e9b8d876fb81d5d86053cc23a64883d0d400b360706884669e666a35340f5be9c6141851a13432244afafb1f5ebcf393a02fbf0cbd7cdeadb3a0ba813ead9ec1b4bb2b644505a07a3b1d5a42ad446983cc2cc2e7690cf4cb4a05824e91074f46743c4dd763115a123947cbd70a22438063933cb0778bfae50dfa831bcd8df452b443bbf1512e589e4f3fc7012de03cfe229a23352647f65642ec84132cd741add95dad99d2c22e6e7ec7959b8a9d119eae98c7feb1fb40eeef948958db261f64c62f0a9e53716607d8d04fd850c34e837df3cf04fb45c28c9a235d4d6c4937341604e8bb8231db7fa57afd4bc4a0d8c831cdc71fe298b4741288d99472187362f3129641a60adc0381a11783e5a0e10d204c5279d60a8086e7cdcd3fd43b22e2ffa2f8c01222432be5f3cfa64df80f05598dc3747b4c8572115b4176745828e2667378b34e88cce0b5ee803b4216cc7920c797c388fa00d08264310593b3811f5b23f620e1f3a964f2abb58032ca9238f2af2893ec2b2277ef25f900ea43ecb11dfa874d280d9f88dbf18186da3bc1e1c0003ef349c81f6bbda270b914508c89ff0374b07198b43f0750648fca407b2505c4c37325724e01b7e23ad59080da3861c41eddaadd3d655958cc1a37234c24da3c76e112a2a4d1057ca828daea0e8d02a275936985c20581c97fce85f5f57296d1bf2a0db0708285ad0d2d031fdc4f6a50fab758ccea17104aa13ab4ea9244da4bf340f13b8f8e4eb6dc270454240fb94268e6747f1993cae00b29b1c0959e79e26e6d2ff56093961fba3b97e965e2679a7fa1b89416afd4743e273b25cd374f574688fc29b73be94903ac7ddc3483eddfdfe87ff63039f8677ea20954f45d94bf2dcf344e94be4e85fc5af6246936d16022c0699fc33c77dae3192fc38d6bca35bbe7a55f9a497f5c0c3a8a96de60bc6f5a1a1456655c07570083297d9a6cc15d364e1bae962de507b1b2bbcf831a2ac154aab376f722f94be9f2a192bc04f941f52941359924334b47bba001376d2abae518641312017b5f0e6f0840a9248769287a10b469b84a88b5af864a5bf513ebf590ff364fb6e91893522326043b8a4e2d4bdb8c9c295b6c064ca9d6f16172bd9a565be17dc8446a235bbc5524aa57e510a2c2da23d19b3022ec4a43479250dfd3db050332e47a1f68dd8ba0706c68504e45b9e82a1cd74a80dd7f87c1f8e62455a6cdb1c648394f4f12f7d517b4ed5488d40b701935344360a7e718c2f5a725ebc8c11ac638701bef552c050af23136afb51ccbf04ba34428c327c57c7d71eebcab8a29a00b4e1c2e8c68f180ffe3e3bd00d9a7ce71e60f592310cadbb9bd74b0cdc3ac14320bc604f4a32cd479d495e4f72bb45df15db906986237d4ef79034413d5752ed3229712d30a3e0331a6c55615f6383e9b29d0e20f1dbfe6fa9d2a6339584333f2e73c061d7a6dfde22aa364c3ef41445138c0ed98119e40f08cdeed28e43a05fee42248f9be4ef91614c9a4a0f46c408dcd1709050d55fefb5e8630fe8c5534ab1cb4a4060b9d1439279a9c1193a777fb00596e2cec7767b197d2535ba4378b70867dbcbad11c6a1f81b17295f4f343c9ca2a1795c547dbdb43a19c9ae891a1700cdcbc0dc6c6dc920c6faaecb7b4279df264fc55528767791670947f6337c0febf6412e5b4c0787e8d486347caee3133d7187f58d4e52e1e17ba264211e91059a959660f7675e0a6a92da1246736115209919a29a3fdf2d2df61f97a60c97acc09ca3222dff19d95c295232a4cc9a1833864846868286258b0e83840d52b21c1e0494d1e16b9eaed5ad74cab2ac89423e928f4fb0c498d5c21d08e158d2a8bb44d2ae6d30bffb9a5c7162313d58127301853f21d7ea395ad50475e0bc91a9535b439975f05705c3522dbb3bfb2e07f93068f16fa3352f0cc1415b3f87bfbe0b352dcb15e6e34f41253c57079e4e37d24407888f95c1d214dc3833057516ab0051cf887912de032b429c2735388f04ef407fc0851c1582d3592e4447e544e9e6ca4db03b562a047a52aea71b4a5fdf9180132d0ba8fc1047a76eadb2671549639b664547db705192de4497b505ad7970b7440d3566b06e45a51e39da0b31ed0e567b090c325be0d44d08bb5e5a33afd9c8bccb23f494120f8638b63c8d1ce7a737aac688dec4c9b1265387eea41ad7c7983e6c58406730a13444de71052a8dacab2ccef04186d60a6cbc9a5f2a31043d61314dc0640ede4629732b2189addbbc3a91e992f40f744921e1896b83b6063e0e637db3146a6b023e417f4ca7e19c6ca1fba2b9f01d21a27746204f16267a2e6dce0703108a6aa96868a554a5bf1f86e3ffda0a857fdf48a383a340c44c1c039c7d41e9f63dfae27c76d72504b8d9f7857d2c6e9586e44873f12cc6108b0255d02fc967541d0a2f2e78875fce48c97ff7b07dc465fb4bb796875ed8560935f143b975572f6c0968be5b0f129faa4eff189a74d8792be639d53a0d6f1bedeced84241567c5f48e25f7b602b0d8be3cca8383758d8b32247bba3b07511cc31c538035ea0187b7f2e6db0da014e4363826d7744e74478a156ebfde9d16214db20c43045d8fdccbf1dd5ffefebef8768cc4ceb49ec14cec710ef7a5c5976c36a520947ad145f0ea75b322c341c545407e9069e7283d52f47ce4cdfffdeaff8b4752dd858b7385523471973cc9b4f0ab3f8d7a9ddeffb4ede37042a706b4e0d22f6a9d219af9dfdea19805cd6ad4bcfecb13d1726a6ba5c183d97cc70d6c2cdf3fd51fa7b9c556ab12ccc89b8f5a60df055a8eca7e6ffe5c28b59dcd41e11c683fdc50511a87048bf3236fa0e77edbc655d8c198a4087bab1d78c9e577ab4715b79da907c353b2a66cb45b8981e57a3366f28f339e6d7bfdfec0d0131dd42fb62554aa411849cf83c579322be3e401587719eca484fab1fdf50cf41aa1bb83a76608e07d5f5604089dea10ee3e9c1ad5def44b93530c78fe660e202e8b626b130858ce0e3022be8f437c6f2147d4e25a155464f21c222bde9d6c1c34a89bfe195d9bf426e2062bffc3342c1cac7fc656710d057c51b525967b1a2751b308200facc26e9bac5e2371a49b206fd754ca79f006244f627d6b858a0073756c5af33defc058857e017ed0e56b24d8f5b7161b50080205f566e79a435ba6168e094d41882a5e17954024e5b7ea95659016d5e7eac22f48dc9b1806af01c0e21412eb777c6ffd318010f907efe56ae0212eb0306fde794f21063ba6c5c8f13d43362e9d1bc3687b6d52daf0932193a36bde01c1624c02c6ff42734ff4f01c98e000e12645c31081515abc35861f146cb6ed962371b5983993384c6243ba3adcd7f20e328ee9cf82289d53c1bffb4ca1b3fbc0c4861653708fe7acc1ab11b1901b7e3680f48aea4d675195a6cf496cecd3551c43c8b9e0ea617be14496ec0038c73deeb21ba56292b43c33371eefbb90500c09691f3b120cd2549d47d83ea27f9787b8471a77ef4e2f6ae08d15544ef033262d3dfe4be673c47e7a7eae9e59b95c34ba3b76085d7eccc545b9e02683f616b52df7dcb796c029557eaa661d5cb4dd0bc16f0c90b9b2ea5860550c1e85cdae1bbe5f2b17e16ff7159961a5c5dc45f2924cca8db69683b26b4496453e7d7f529a98b07b39abe7b1b5e80da95009a33b9845c839417363073dbfcc6a090210ce81123b139471bfc5368d635370bc4e6574493b68b6a9f9d397f26bbfa6dd40bf30fe82607e94d4f686a57fa2e496efb983be91c5a9779f9aaa56d95c272eb752e904a66e28022a40d15c00c7774e32663d90f18c6265f49f3bcd190d42c40d6acd079d5bc93ffd7d045f2e7e0d18e3aa76980808a0d9047c2f0d97ee7e9f61c805d0ae33b32c627459a5f60a746dfac490dea5a7ffd6fdd3ffe5af09f43fe67b3d7dacdb23b053a16a7bce988ad1611aa16b0db3cf38008dcb6233fb6e57db55392d10965bead733a6479ae4090e4cdf429a02b16b765edf5c6c0d4101d0abccd96b13fc73ea707a53ced44ac8ff44a13baf9865b2014884ec0b34c728719c9ac032824c72b5fa5f50c9ae7a50733ed07c979d6c22883efb8fb5f5a1444c5a49e41930e605ad5e80bd74cc38a79f0f4c6ddef48a2a404dcfc897b88c6446198c47c3dff21b46075bcc3079c4d5028c8eaeff80c2d36df5a0a68fa1828a24c2f2c3f5de67e6839536eb039fddef9fb2f36bd9e8f51142704fa18bc548f721de3c00b28806139716df999a3232021427037ff44c189f7896ba2e65de69a4a6088bbc4ed37a06381fc6448a1ea1702154004a0f130a0214aac5e27d0f9e5e46d1bc337d65e038613a8e24546e7757245361a80b6a0cb7f4f64ac2369c3965473b296e36d560d64bfd6fafd91c5a6a98ac425f6bf8720613a0541eaf0e14099afdcebfec6a9495d99d243f5cbba38d1c7e4339accfe8be0cff596c75445a6c155e9d10a36f023a2426ed06ce5c6a6a8fe46b14de72292adf4cc7e7aef58e3b86021bdfdf884a56689bb8e0697943ef383d4500b1f32ccc43a5273b41c67236395b2131cc24fb8a78be83d812772ec7d69afabada04ee58a4aea3e788ecf2a8e09029d86d32f5ae3546c4862c30d33d33e48368bf63588d836915afffb8f6ef969e110c5c1542f24761f30b17738d64cd069600bfb342ef0e6e8c47497e9e862868fc96db403921bf70b31f6a4e4545248ac3362aad49c00c5cd56151d974f8bc9202aee0a3ee73655170fbb97afe6e4e913e189a3093e3eed10833e21ab04e4a764c99eeff9d68fe8f675353b3de40ad18232d10e4a911e5baf1ad29a078c37a9c6a3fdfc33b0f4d7efcb54b0f866c7dc495c4c35b5f83e50e95087b5ae60a63f9fff731aefd252f14fe6cef1d3a50f99c1f540f79b30fbabd5d23c0a2f9138a1ebf4069f259dd4697c41fa36eb4ef7bf80a4d00f1476ea25f4c2eb72ddf335f368f61370ced1a137e04ef9d9ba6f82bc54888cc12f509547dce1722604b8597bdebceef535eab117ee7650eda0915498d239f99263fd470371797426eda451f93774a1bf4adba85d7d5d346449466d0cf9ae1255355c39db004e02b673c87d578b9fe8541da0bb9fab58fec9b5e4b8f8eaba4b9794529d56f0316b53c63e22cd529967966fa6df1aac18236424525bbc27ab66b2da87bab341c85d47dddd49aec9b40570feb544fb8a64bbd336765bb07c74460cc89761f4b699e895bd45eda2c5cdb50abe0842e314777f32c2818b51ae9db8e657f92f66631983d6a3564d09d2452d293709a6de3c51b92f6d9175aa394c43089e4d844385a4dc881dee4533af4056d9493b8c176d7c564e7526e3beffb3b972cdfee8f5b0d136ab7b9783e3a6dcdbd2b4a9cea13c2649abbcdf27d435de7899840e93b22cb8435f5d03e36269c452de3ff409cbc67cada96b62376e0b3944402b771b7adb57382e032dbabad8d3a63c4b345ac1ae9a227a94abf5845153d3e6c39467dc274dd43cc6f04738e90e8d8ba684f85dceaf997f0272e6fb9ca7aeba724e044234c8e4f3cba3f4374b924e0298f192127d87ef41521856a2c05670394d563e60cce27e2629df8c3bedfd24d468767b83eb995ba7ecd602d6f2c582048434e2316a7ca92c80a0760df8ed4c004dcf35cf26d20f409895973ce5a07845c282783e06ee3499beb5bcd6b9b6931dcf85089f478d6eb950ab085bc4d12867ff3fd032a3e73bbca45fd46424c03d03bb7f302bbe1db48b3e10723195daf26d0d38cb59ddba72e365d672f24c657cc568e8ac87fdbe296874c9ee4aa0a0e20d02963ccc0e0704b5dc1754ff5d38af3d7e65ac702f14623e2e9b8be49879b542b4abed0ba1d9b3cae71bfcaa74ca50356b823b269e5cd7c2102646386f0235d6e3f8cb4d4ab9f117ee871ebbfce6087f9bf9a28644251cd8b5819a0fe49c3a7a4501c26a0183bf812c6fa4b2c9d6ce6ac0d8370c15ee87c41d59e4dacb45cd7bacfae5b3777435c11bcfb5445b770075668d76abe07118712c2b6a2a640249f0278c8fd59b66fa0f997a760a35d3fb8384073cbcd8f6501a385012705aeafd93c5c0aa50bbac403047418833280702565d53ce63c28cf747a6191f28bb790255f8fb8a21b3df9db473f05da32869a4bf5276b5348f4660358c483b1ecc5b4ce6409b7c19f0ac4bcfb002af1e747a45b64173a3ec1400db8ad227bd4bdb3a9b9012c5dc9ad93a3b8fd15a89f43298642c36536638a8bbf6971cb3b9e22ffd71a9c0a9195a7870fc8aeace5771e404c1fad9ecb768cc43ca30ab865ab8f716cff1c7cfb98cf950afe004a73c42ee31909add5128df85bc2ed76b47f37d3554034e75404682a4d1a4ee04b2b37b3a1ad92a51399e409a521a5d4918310edc4230b2178ae95897457c636d29c0d31a755439621d28de6426d30018a25efd3f95843e25f75196f875ea5fa11d5a89b5a5a51c9c7a9414b069e8bc2bae3546a927f794cf2843f119fa8730763d91a32169ad5a24c1fa66593087ac98420366325024514a53a6c1a4d3b185f51197deea8d1470d21103d8ffa630e00efc2baed0f09ecf1d889364181ffcafdd496638c9e1ac8d1ece4a605c2fc78d37734f941845141aee15d6f0e13910d15a4e220f05cdf850047e44a2473de467ae9d1c12983c7efd8fca0804bf9fdd5e80d4b2e82dd667c335423b0681315b9a9631b3c609f86ae20a26123f892f82227a1cdb013778ed16a669361fe106657ffbe4a791d68ed1477b6b2e51ffa7e4edaa5424a79a3de8c481b4585b2b6dddd1131e7127030a1e9f13e09282a68ba8c04db1bde47a602d2f19670a161c3ba418ba6d179fe3f44aae57e983b4df57eda6c8a5cd640dea78d1ee0c40f5b24dacbc0fbed5b6984d6a529994771b21f2e35bf1ac4f492e8d339da259f8c37943589298eb4ecb08e9792085d4ee1e074ba7226a46739d8f0f62e42c01bf2fa2929960c2dc86fe3dc67b1b23ec4800474d92730deaa775288fcb8fc791fac8067a87078d85103d890c62a68ad4c27807f76c6945e60c4e6b5b578d06e321489a85d4424655461f2f63e310c9cb483638ddfeb6e1d592c998abeecb2d51659df2a36d18a84e16b8cccedb4ba425ff4c876febd3234118aeb964287ae69cd5d3256c1f8b6c13db8e5e7f34b193fb495ac9cf30a20742862391c429bf4743945e5795ff86aff7e81f1859945493c98878488001b1da4283e6ae230ac90e469f2e6f36898d2365faed8c73b5a8979e693e9a8a101d0f7346188fa45dce916460cc536b0954644f56db51b1d895af0908045232afa5e19c5ae4a36d56cd74884dbf462819aa3e17ccfdb1466614537b75d172306d232f0c33a04210034dbf7f1c36ae5d47a70c41812c8c040ed2e552c475bb8be7d737c572caa5e7bae5373d4cb594350f6667a7bb31984908046c887d0d3f82a45c4253fe0a2737b6ed24d53dd7294c8ccd08aac65559016363092970ddc642a0c8bac35af5e053adc347bd285369b5ccfb5f1ab60885a152513c72aa843e11579223d01743c3f828e3af7697b66c3e7d550c11726bd23cc03a1ae361f969536a4803156c0f31ff1d886f0de8b8383a936762809e34545637ee59664d6cff0babba69ab44a247fa616f6dbe315ff36df013484ddc636b1262f0cda518eb4f31b1283def0dcd99326eef590008abe4938a1eec1943901d34b75dfeedb9f91ae9ee490e8d06b632a9478d383d1e4bc8bcdd3183ee9b7fa569dba850c3d274321a5d9938b67a47a92f9aae7c65bc65154e6c4f8d4d60c4611d7e87397de18967808f5cfac687611e18b073ce2e4bbbdab9ad058b843cac1b500af11c8dbddfe650859f25e1e8bceb88b6f13d1390e1c81181c582a64545b9b90a7cc1b0dccbd64d509accbb6cd48955ec8dbf6c39c3156384bd9714572e9d0d05351e1bc9446d0186abee1132ecc386aebbeb36631914e5c066d7a44db045b544dd5e70b7f967afc178fa4dfed25ab1f525788e0ce9ad7194fd996a12c37dee422d1e6eb1b6e0e2812d164567d8c2add4acb1b551bf5638450dcc214d5f2fc634134bc7de46301bed3f8491e8b506cb815aa1e81b83a9b81ae40c4aa4f85090ab368cc58c5c37afcc9fc341374f82594bc3c20a3472e1d0241374c2a88bff9d4e302cd2048c0ed2831aed0dd33e06d64c1a0f8acbd45abb8bd151a09c0b783b4c6c752a90f2e5091c41b22326ec2ce3db3bffeb157950111a301a16a9c68de756cf7b43507b780b8d8a209ca45e852b0796bdc0f333f896d59cbdaa24cb362dd38dbdc462f72d9af3db3f1880fcfe922d7811dbb4eaae45fec63b1ff8bead24d15b16bbc35f3d651db87c43d9db7b5141afc27a3f5ef5b0a0f124dd016cef689e1197230eef7526400f4d5dd29a8d0b9ac4e863bc86c9af9a2a8335c810b57caa994c1cb9c2828af7dc7f1351060f705f30557c03f28ec92293de0d82dfa80d7af1dfc764bbf47e2be86178acef0178dfe46fb6fbe59f72d09ac5c69c95b238c789192aa33551118d30b19fe8bffbf33ad680596840a7ff0892e370cb388a806c264c7602ac18047a9cbf57ab98a9d55d0658c94a56fd5cb26aba95aed918a3dd340c6693110eac09b41796b71786cb84cfa90515e6f5368e2e6308a74c007b83566918c67f4bb364f3fe0602d81d7127bd3b7cc63512f31b613b3767dbc8ecd84b5bd0f8fecc4568aa524856ec57cc61f0014527ec7ca44ff63c97d13d653bd74bbbe8e6ab048fab791ee27fe5b58efaed98c6ccaa2b22edd60a7bd54fa76166b60274cebac1876621eeb755ae49e8ffcafd35a0fb072fa320115b6496db9f2712cb335fd91899c1d256557653446e7021a3add9e3425edf8dbdcea593b8a7f99e3f95d287e689cdcac47b70a6fe1b33deab0fa27c52fe600665a86e2643d2a9b3239a02238d6b5eff46db53e0ddc3927a5de98e3772b17f4915306dc4c75dbe0772a591a1e066a9735ba17a1bf564cb66400abda85cf5ad344c5192a0e71b3de2dfd6205ffc2e33817463acb719e823cc679b61d0355dcc33122768a72d06a18b673d000e8904cc35d5414a8ee983037b64c3cc93b8838d40bed2379a234b6dcbfe1bbd1086ca181b29c01f3cbc61b8a2d145cd1504e165c92cd83a53cc2a10d121b9f65e498b573d0781db5499a9639959a87ff1764e077f5c6fb5a0ad5e7f7f8411932ed923d1c19e8201979e0be64ca1e445ecd041aad992eee35d2e066073a0935749408d555592051656fbebca6a32c08ab9b9e1296e77bb4fda51a6efcf2a7934db3fe315516f08b61d07a0404cb69d3e1293ff3c38894c310d45210c56a21c2d3eb03e1a046cbabc14b7e7e8b0c09a2eb728fbbc739e9881a5af26935008052b3b34cdb9f30d613fb439abfa6877d53894180a74e5f8d7bd5a77ae4ff021e4ef629e269f33d9aac19d592d9f43273a809af4367a5cf0b71eba7c7f3301918a5741a7f7289f296929402f0941e0ed2926be77a28080940938a3c64bc6b6d2ccfca43528108c446a3d71f9b0c59e671907cae35235b16fcca82453f443f275d5d9913c6484db30283f8d8d00bf8e943e7eeb0964031ce8a820abc4015ad4237e0c0f7948669601928b2e33441039a7bb7599900a942f3f553fe6506a07fc35e770b6cfd3973c75353f88c875e750488f87a4c63948dc5eb9524b2d622652462b907b5202afbb2f881fda64a119871e794877d366bd8d7821671157e3774a179885883f6fa07c0558637d60c51dbd8310e1b3dd0d1c86a5f38574eab3d172e591a8476e2f5d29b0652ddc51a8267adaaebf8d8e51ba8e782dfe8ba9519cddf32d365cfc6a930be8156b0a57e61f0c90c5aae83211915bfb11b3751d0d6f89daf242ed54131276e727b22c378dca2a32d612f0e0acfb2a09fb032963556bf3a24b2a659d996a517b04672adcf56b35030dbd06b8737f5edab2f05e90dd8d0b9ffea915f9d2bc2bfc612a15bc4e110e83fed883419d77884e3c1529f85af2428a397f6f6123c59e5e16baa43ab59be75fe393ed9e726b2fc7732703681ee327a7675e6d81716b527d135ee0abfa8bc60f8aff8f287706d3d9c933f1103454d7d9ca126d567f24f45814f3947e5ffebd7d912bfb00ba8933d29c0e9dc91be6fc55d5d33bb78db71aa95b01497213f3473e575ae45e95095bab1b6ae302536f7647e2ab07e45550c462b6c06eebab6c5b94dbd50478a53787e0182f9d6bb81a1f675056ff8b1146468b204fe16738e2f8c63856003d76b184807c21438dfaba03dd5540ccc14c3c263fb5a6cb85a4cbc0276ade25ca951f1c1fd8c98d12e6c28f8b9fb67303d9ace9463052d25ab7edfca5f74e638a05c3a45a111f2b377e682d4fc856a729d60325f386803568163ccaa5e46ed2bbcb4ac1bcf85e2de79155bd568bd6705d043ce69162fa6d838e16d31e36c1ad06795a58f020502afaa4a3305631b68ad145fc75acfeccb8a1462df37680070d6b96c44b5b2d321ea716eb2a9b229e90753d842a9fbfef21c0d824ef969d9060908bd6cb7792ccdb4b1272cd9fbfb676cadbba76388b20d7f1198c4671cc647a4f1490e95540f6a9911d9185ab81af29c5106a2ae3457da360b4e985fec58e9e4273614ae254398e826d28f0ded48870376abb07148b2a0b2ab0c3f25d176effacb0be3901804bd1f3a10249ac59f05c22b04a9238d45990d1b27c6223e67eae95c67988f740a3f5e56fbb805e9431768db573068e9040b4cf7d640424e4842eb32ff92cd5827cc27295daeca46d652b20395de7067ccfb455804417d817e573f5b54ce72a6f1315949a57c5fe0140081c0b8d1703f12b9962798f4290be7f8f4d08b28b69d6cc3e66756c98b6ccfeb600a3a11c26409518631c26eb05fe81378f4962fec25314f1dac1b03dcdc2a8b31413ccb5cfdb4d79b2ed256078108db21f2c364b460ce4aef4b6cb7feed703041a137bdc6615b4d78aa6afe4b9aa6dd7b89a4220288b44a2b70aa06cbaefba5ca8858abc90f5eefdeaedee5069ac3458867ef0bf098a3ec0ca03087fd250cf8f621ce0f5ba1f1991d39da44f9e43790cefa0965b6eba96ed3c2155470d64b2cb16af15de2c1f5b4738f6de7556b9974d02245db0727f09e4e67d00ac3674d7f3edaddfc5db060cfd29539828b0edb0d171db55edd062352990c0ae7dbdb0221822b998dba3a5c3bb36a1c74465e0bc095e810e249f72ed28c580daf4cc00038ea522ac68bda212fd31db7d69b7668b3ac595c6276531ce471f3df70b8d981315ce403196d407f725e342e14b8b51ec5fd33c60c179cfe87c3a3058d1c65b2cb303880726997bf5cf72b111a8ccd15b7e6c23c59efd0b82865ba34d54967045f9601ae1e357768bfa605bddaa66e46221880ab87eeb204d37491ba246a90bee159c385ede1661f4b840d390b4559df2f685a481e872af01306708bf803bf9c3d20989c87805b77b1b19dfb7adf84518c25a274c7082141cf8879c65c1c9d948eeab6e59a6686fe90d3e55360d29503b5f385fbe3cc2414d49f0d45a7dc3aab279baf37ab91c79006764066012ec2460bf7edaa5c0418316bd7ac99c4d802d7f0abbc22d9a4a1d422f9b4caa69ad0d7e05b5bc56f53b02c3601c3caf172dd4b237e2566202bc5f87155246554eec7787934a6533cc0ae611212580a2ba52372478fc51281af9a3956344b41cb479702eb40f8441fb493283222782227f979cc7f95b3ea71ad0d93afa1f7cc2c7871af91094e93e24227aa04ba4c091a51f860205786ace56b7e7b714fa20748d9259fa366d2a9c7fa7b0fd12e40f9bb5a8d147d759160ae32c43b3d1b150be011e63363d18f6826fb151e67c9f17d046a7df5b9ad9d2ae16db3dae91643724f96976798c417ef94f93a910c17b6f7b58e4a9fc2f12b0ad4db657f7f402670c4b8f985eaa840e8af79c659964aae5dff24b196955f71b7cdbcac6c2c1da398f4924d5522212dbef886ea3bc1a447903d353f5827bce5925b0bbe7fb9fece83105d5c7037b9114de3a8c702c868a8228ff245132454be82f3b555ac48c91f86c9b64eff55ca6c228779064f5fbd707d4f8b35b8dc8e44b876aee6597b22f094efa26c0b5f6beee42fbd6af7a4211b000a530003dbc348dcaef0f8a090842e39a23b1b2e9fd09132b1f4b25a21bb8a62be8f800a75d5f5728fd9652a485519d4486d808b89528a0214d5d62d64b24b6bd87df2416bfbad9fabcf25c48e831e13ca94c25c0c04f4028a135620d75b2b06f716e4c351030e3ab5cbde73488db2f2805dad96b8ac83589a0253823dfd051c46e92cb81ee7b158410c5753de251370b0091fa16218b9a4c6d10233b68646b4f28a8424a9dacaeae71357e309a8882f35f45b2790dc80d35e05f8f3df11712b14e63fe3ecc5e51d045d9629c26c8c2eb8ef12a1fa0d6f0b0a9592228e1db8d5704cabf90caef39546db806d0b684a2e3eb59f613d27e9a5ed0a9793e8b208d6f74f48ba3a76ae1dc47983445b3c4f273cbec31bca7a8a059f8272abdafb7bc4872e8324a194abf7937121d828a41138066aa1e6459332a10c90ff20487c6e31b5c91a42284643bfece4502f0bcbbe7a643ea3f9b4128d65f759c0bc23a33d1d934e8d4f95a3b67f7d0c034c0e89367e81900b0ee48c0961b2057545a1e3c98795c80abd0e9b5569b8a5d674eaed3146fb019fc5203927eb1eb5c9deedf4e9e8ae333782b7d55e22161718841abc47884a60c59e76011958b7ba402617f4e7bf506d59730c4c880db5862dbe030c82fc6680afcda95545c4ed9fb3923af946ec606ada858303b9ffbe4ba86358b5f0d0faf1fc46035f787b95bbb3717bcb75f024004b9f1b19516b3432b3bbfeeda76f98db2840dde04655a9285bba5747a3d0b6f948e506bac67218ebbe8379c46fa45ac162598dec2d96fd7fac74e3412ec727cd35cb71abae393bdb16f39f845993f6784da49f7e2bfdbbe3b638b46054d5fdb3cd626d890a5dd58088827cbac27b3f26e63ed29f7a157a559024be1f4e4c572105a786764a1f795772f9db552151fb9c38871492e708064335871fecf6bc4fded7517f9eec42e2064fe8ccfe3bf0d747e759ed0f55ed0895c8438b7a8bbdaa40ad329b9f67615573d3cf1e1b05184c9b5f7280c81c991f2b02fdb060482c9f68a8c87142f97f706d91a3aa876e037ca7e87d837485715f761b77598ef7d427094332d39a9b5aa32beaff020deb6adf8da2069230166e2092acb76b9d2301cc182155cab41d66e4588872bd1be87bad93ea5c019e04c9649efa7595e6211352e5f1f611461713878e6e38eaaecec9073ac8ff44fb17781d1eb0d24e865ab0ef873551093653f9bec785f758d91ef4ce758c373b1756f644e4ec17345b1a286aa9665ee07ab1c455508c86b9d5015fade717db9def9b2b29b5e65b9a6b3dcbb91496716db7a5e59a9e178082c46802ebb2683e6a3d49aa85549988aa2868fce05befe6e4e5ad50453d3ab05e00d6485929a2eb0f263532ed9898c3eda894dcb1c32a77e898c7f9daf88a0aa03ae39f33805b810bcfc982c32ba9be17fa5e513681d8cda7e99a8247e45deba23e26c7d1af7dededcf2bdcce0a2e553ba868b42595f6a8d1344bbef8890e813ed519cb1e898ee3fb718f74c3ee88f24a13093d0cd0c6c493b8bf18de65c350cad6a1bcb5b0292696abce6f25579515ddc27378b2ded3cd4599ffedc9e6a8c20f5d4b8940c528be6bdfd8e9a8f2fdf9d03404c1addfb293120a34a29d1fe63e5ecab30909b19c80434ac78c211d10d2324dec2d64cc02e448819f94f1168aec0371ed9099ab46024b3a3a645b1188a622db6e5dcf20feb7b1e75a45967878d65454262e2d0b311066d82611774eace5d3d68334ac38ef2be357b76e07414e7484fc93056eae72c9053343975899511e51426bf1fe7341f5234378ac556b2264bc65097adc99cb7d819d85786acbad9f8931730b4ceac66fa4fdb5eae3bda182b7f46a392a569bf02611a64aef0c989437b34da8e5f607674fdd341fe8f6988406daf4df4ccc3e4fccddea494014de822ad5aa2e6be88ef56b7c2fd7149c2bfe0bdeedce3bfd825191e1eca93337dba65a8056373e5af17abad0935dee8473208bb631b34a4da281cba78289fbdb153fda984205ff0c7396767c1463bb02d3ac56eae784a47a73ab0eeeafda945a1366e76dd6bc4f8b6846f115fae62090d7375ce3555eacb951e4f3be56c1d0b14b1f8ceec3be64f307cee3eb6377b2d91e5bf69285a14c4536eac509097a066aa9419ddf7697c227016c7353df9f0d64fc4fef1f07324d990452c9ffe80920dc1268b6512748126cf4c709e3d48b4352a6e61eac20158167522755b4552875cbab94b0fd388dc2840796afcd67e4b3efdcd22e1d8ee039c679dd0118004b5572079a769cfc560e36ed6da99621c4cab4bce300d65b0a289654db90ef9b2527f06421eb89fef707112800d21ec12905b3c97757669101e1841615e5106424a1e0edabd9a389d5852b321f735afceb9f111e3e6b91410a53f8e7d56ac2ea176bf630a886e6ea9c321007e9747c3bc2b8333331a6af0a93c11ae2b82e2aff04f0a6250a7c4f30db250f973df608051c25d92399ce8392c0a2041cc90b539edcfc3be00a4be192fcf17de0dabec4e5dda0a736dfbac604c2c755758bb0b9dcbfe39d0873a3764b9d7ea42a1d71758804de0be274db3d8464093b56c0380d83f380fa70f2acc00c308e084c8dd3c527478d40bb69f04cea0042ab6cb541fb22c0a660c1fb4b0b0e7c8fd386d21893f97d5b5a8ecc7b7a858d6c18511939c8bc551f24f9272a64662d3badb4a70e5ddb93814438f2e2afb583a9404fd541fde8b22063c7b3b9673b6ffd1b74f3b36085b05ad456859ada088c17969af1ed09ed60fc68be2492dd68deb8af8efd16e7af1f29ce2d07b5391a54a1957368e2ed6d1da94a3b9ce0398f1b78e135aaf6ae391eaa82c89b4661293cbc2df25a9e06b9421368325477a41be9b6c6efcfde9bde38756fa3a5bbb14cc44a676d24bd89ff340c1f4c14954b6f9d74e8440750e9deff57caa880f544c2f595fe62da0c7cc021a5c5e858fa6b521837b8cdf64ebaaffde86af17c839c325ce16ef5923c42958ee12f9fd31ba5afcbf063884f24649bafb2485c2d721a1ad8cbbcdd383dd3bdb772629870cc85919c2158aa509eae6f2a84f2572eb647c385408503461fdb2734e455c55e3c801e3f04f9a19b5b530b75175b5c85a01fe51be45aece030caaed92789716776095d216126df559142876b2f4f36cd7fa536f885ce91fd9db5569d228c5bd5c8488267b3622965a77f0389f3c0bc13b15fdd078788f13b073432f4588550d2fad4d126c33e42a636f20ab739e839c653138780eaf55ea11bd8dd24b796094c8898ce7b5ba06ea60a4ada4bb65ea645ac52908a3c15529edbeb8e90ddf80e921c77aec5c7b4d49c6a2729546bbef5ebf70d635ecbb23469f5ea61c320c2929f572badf415f28b1cd70b45b00dcc2c224eb3699ae1c3d88837a0151eede1610e24e8c315a74d848957ba035fbdbc7ae7df0858fbd67a50cf227bdfdd5aadd94ee4a70a4d0880c727b099f4e7bf6a767e7165577130a10a4d092c8d8edc07f18d634f72544fa084944947f374549321fc7a59bf3760893c4125a28848c035d3fa49202e6ca29456f9b0bd3c87d25451c4c68afb44a88c98db1b0fc7c6fb7f57e6c9d83df7dcbc7102c99f86855fd942def29502947f9057172c344258cb4ee4cd89ed92d52994e999e22f6672834262e7c22bc7a3ef4168e5a9e2bad112320710be29413526734302d60c89973720304d30e1af832be3ca8a95a457cf23f9694de41bf32b510cb6dbfaa2ec0a872a6f8586e1d33cd68b1cb45d47d5ff323ecd0442e6d05b2275ec4ae6bb3127dc605ffe8348626a674ca9cc842c6d38ea8280515c6f4f9b0b2e5637d465190a7e9497385ee1c34f362fe7f6dfea62dd1cda409cde3a922fa29dc3f266d28127eaaaac226bc11b8fd29d88cd26592e229e4b4ed386b710ceb6c83788a5ac28f44582fbc4733cc5e78a0c9db46be5a50fbfeca67f7f9b65b8289ee227924d8f348ed7580bea11bfeddec883babc8017a697a1f4286418bac64cf6c90801ca291dc38b34724808d3c164cb901b3e2e88cbedb0c952b6c857e643315c735d178dc6a20f596e84325129f19b80ee089a50e959e44bd747c6594719ba9d91b9a5768ed7e22dfc54ad00859be6fcc5424e908030f931b4ca44c1d4cb6989cf8e8a818cade7ec9590f9714d15b1a4884d70c5251e14413d4a1cedff9f71f7e056bdcef47218490cdd19928a69e7f8f586c35448ad2db880293bb0a74579b787d67a175fd598b87f56b793e0c333fa9e3226bbd86a313c6a8c8feddb23f809549fca0ff0d3a86d5a25b52747a714386823e42965f62e7f749a428019cabecd167ce65f3e435757361549f74d607dcc18e2eab2ef064f69035dc6d29d9feb352cda46c81f941c76efebbb9ac65094af104182c558e08c3fe4d923bcdee74313864e7b5cec7f2918b06272cc89cb9290d16a04943ae2a07840083a688a021dac3405d429de8ef27e57e105abb26edd74c2246d9929905852ff00c62c31ff7d40ee5ebd74447b9b90186144825a4ff5fbe7b6c03da74f56327545931de84aaf5cd169a8734e968012b1296026c89bed6cb9a0e736b02f8d432cbd89a99d067721191b80c2a003545bb25f81432d66569e3d0e6cfc279c4a978b989bf610c2fafc71257d64b5ce2ad5632cc16de62af16884c29b05fa227f2f9cdc9c1ea25edaf99be1f4d43f5b69b54737c4e348b5f7f9aac46a6ab0046e14949987ea5fa480c0421edf6063056193a8e09f54a6787be79c5c9091ae43238c75d97ded29521431d5e2ca63bc480f29205eca539a58459063648015b213a84005553c73a9ed94485115daabefbe456e840e9bc7dd62da94be301cc0fa3dfb3de7bbcf08391380bbc58c6ad791e5d61d90b040e38758886cc5a99370386a594dfe09e2fac8ec78ac6e2a0f905bfce617d40ff923b5fd3197badb3abded82441537dd837075a10e02ea986b12367bf9ddeab3dbb52475d4adc09264768dbe4fc4f487cec391f816ed5bcbb4b996fa2a67b232b6cc510b13085e8765f1a8bf70822c117ef51ed187d14ae4b403839a08760f23db5c826fd4f0bd49fc63d0b8ed3f2e34e2948c1e8261cc755d90a9e80c305d8f9d1475d0888ecd24f731cfb5b1282b18297fa31d8bad7440c60bf22bfc431e0d1d2a776710c21e47a2ad7b0261c175a201f4420656025a8c6a470da802e7420182eb8bb20429b56ba6d3f2dc9406d61854e0323d50576997011a77a978e7e921715344132aeb78988f46019e0f0066f6180ed4a783ab294a83688710fb2de039a81ed9a19d70defd41caf2f63ecd92e30338a44fdff7c3051a05bab7933fb5fc61e24d980c1c96820d24ff6a0e9af9e7f4332938beb41d3f7d554ad9be3c4efc1aba26931aab78797ecb202d97f9bc0a04394acb91214b519303e624c5592853c7ef818729baa60685ef52a07383916562bf763d23017b52b57e1e406421154e475a497fda6c2dc37dd26cc7e5067258215d6285af367f6bc084f37e0e33738c0c1700997d0b2edad58cf9074f0760c14b2e662c515539a91cdbbc0c949e2675e3a5749601f1ca09570bb0c43c68042f55069173dc4f04d3b37ce7720da4dbf6aa38fa521d9621162a87d8da38f49ea49448c0df3df5fa788049ddd20c058fb358dc122f0d493e269fdbd6a4735e51fab91bd804500b697291b83bb054f3d36d916314277efb559ab6a80a93c48247b1e5f5d0c74ac201033fe9c45ac4c9aeefe526d9359a1b690019790f5089ff99849b47a21159b74336b02ee35847cfb4f31d8cd6e58792e41e80b6e48a44f927e6d9f1c8bf08063f1a728a6ec6914771a146130e254405513c5d3b0c16b7026814b0aded1e65cb991696e11817a161528dbd3733f25a04b8992c8ad0d7b8021c456f685f185aebc62a2956ae0146bc12c4d2278788e4c7460f7d89ff15e8b201eeee55355ecc16c53b4ab9b18755be615a09a528e98370d2e7b2d817fb9f34317c81aea3db7751df216560097bdb76cfc75d62aae67359fba094911eb4d3c02f405913dddc34430db40ae0ebbe4d46cdeb288ffff4da9b1360fc832406934113724ad886d049541d3d51555dfc0f28af4a2869e995f795d1e191aacec344ee8bdd335f90d91e9a0556aa1e363e769cda4b910a641bd0ed5541120a6ec6587d3f170aa92de12c4d166c63f3b708726db179e6e66dd7d31f49e2633bf2de5da58421084dd59a438e94635ef326000c7f3f7aad398b7545d40c1bdf4a207095e4e020aa2e0b6f72e531516afe00c17263006ac685ee2c0fb649c2bd5bda2321dc119f46071b1e946a0925509a47858d1cdf5f6e8bb4f47f98d65c8e284a9e2ac712f4ea6d2aedefaacca68c1f1bd107d862f0abd42063266494ebb2ea2d1f75dd173b6735df4c5aeb6dee309960388f8419518cfbbad6decbcc11bc4ad6dd30d56db9e9300784314c8e0ef2c236ddecbc3a3fc4cf0df3867450c65b84780fc0fb2f14073498c9ab7b861f9497f3ba5e9a991e58157fc5849467014ecd1974576994722585e50a577f5e37ba35eac87182f3101875bb48559abfc80f53468440480571fc7b10e2626f124b06d56ab53d22b43e1c46627c6a2a34b8b649f9d971bdade66e4ca2640a6e9f29be530a6400f2bf8213e6e663f6b6eea893493e0efd3d74e0f3059729286cc904e747888b40239a7d29f18d2ba0ee40ea9c3a3fd6618a81215775f6eb1f8e631b7ecc46aeb618841d17e8cb88096f2e284394612fbcf945d2ecc2800e9366c53268d30796e940ca95661ac0bc953fb44676e40efbb5f3f372cb515156a6db33e353c93606c5c899646b17c11cac0f464031c8f5ab9615d3e503a975a46e7f2b5343fb4b64417947c2e9dda33283b6ff09d4529aff3f177e6d473cb13260a4ddca5466c250f966ee33cfd377772b0e82b680b79fc2a522b475eb40a4392e36ac8dcbc55626397fea1106e6e5595f90d4e2068aa322fc243db96ca5b3f334c0442c1d4c4f8fdd46df605b535db1e9ef5824472fe541db12032106a2e7e06a2d2ff604bd964d404779b35a31c4c43c08d0697d3d51d60e74a872f3afa2152f5b62b38bb397c82f1a23c66db949d42814d4faa576bca071135d23c6d17d3a82b838a0b72d343128f135b7fca06a72815d00e25fbf355d094285506d4f274296466d2844cfca0358152607dfdd6f2afa08e56983597a3c56147211fe92a1c0f33e2f686b45383b9da0133a662a2370f0f08853a06688b823eb28701a2478499168610c755caacb36f955657b051b78cffab126a37a34e83bee9618366ae9918a81f9e3e2e872c1c880887fd71b6068d00883bc087ec88b9bcb355a93b0aef2a2bed6fd07347855ab911eb72674ead7bb97a36871c0771470f5cece94aa86071e35836b49265dac32570d486bafa6f31d942319fe6d56f44b4a28d1b63dc2c9b7592e1f3788394ee7958c61e5a636d2fb635eece77070120b6dbbdf120151f821cf5ff5d231edd809e10b81d18c053b539db38e40d88240dc6aec75119357e22c09117e9cb828bd90898559635a5a92ea3e6fc2342200aded2de23a047b9d1e0c7da67c015b26cf772df6527485c27a1250272df3eff05a8b17465f6d4823da29924a4511652b82682389f1df4a6e8225ef127c9ab9e9b63316ed8e7a2327a6ae2d3a45015ec73bfe6b7aa68c629b081031820fc771fc4d6ba983e090ba1c0b84c1db6d8f46087f70d0c1e41c02c45eb475eeaa4111b3698b9df082d867f3fb4480e18fc9b582d907b14f9ea33c99d71651f238a59119b4cee3778e411a1470e07e760a37e2ae5332b4e408af28b5cc910c72859096602cd8236daae6e32f44dc786a42d01b68275c25ab97f9679f18b6e1cee680dc74a2055b633ce26a977c25cdc47f3fb3e81082633035e0f2fe471dbd0fd2f351f708b08dd60019018a7cbc8738ce04d7140e0bb546efd9d67fb3ea5def64df1a3906afd4d09d064a5d7ded9060409bfbcda96d0e35fd6027fee8a85c79c5475e9fa13910f486442369e0310412bbd7d7c81fdc2abfbcf33fb5e7453e14e68af45f6cfe4f66c647ffd88907da78e3b9056322e3090b55e057d3844485b1cad1c04de3707862a7d0a724927998821f3126f94ba3ba79284f71dda2fe3635beae44199d67afe198a96c34872869a4e5d8ba8a55d380d43d10e9dc90548ea604613a13bd20e8268e5c1f08554aa5dfc4bae2fe94459d576bd07f7ea9194f58051d9ef19ecdaf9e56e1856ea8854effa33e2afc04eac576920e5586bb48147085fa59f979b16b36da4cefbc8eec41e861ba7b4f17f014624f73e90053dd46df4def967cc8a1a3a72566d4ed66eaee39ce84bf0b7032d6922f3dfe3934229e52665b258a6216144e7d759d2d857ab3ad35556014abe5ac5056b01835d76594668c42dc9e6030fc7af0deceebab87a6c35d3211ccac94c4b4bf0f6942e5933da1efbb7c158d27c154c7fcfc5384843df05018b00ba01c6466698c31843fbf14140752e527b827c9c502318ebf99b97813f49a2088e471b5962c38230a680c66a87bb47d7e66921f9c9d296dc5021d876db218f6650f38a5e82ea34d14e1ff4a91c81d081c2680f2b6b1c2dfff52cb8712315010df0cb1be2677a2f1f12aabf45cbcf93b69af28694ae5cdf802fd4b0fc4e8e254dcebd794a3a1f4a7cf8b42019be83c72c3bbb62bc98ef0fc894a8943e1861145d95571eefa74bbc2f4e18aef318d7b82194001c0ea80f43b924483bbf60fd7841e467d9a2632298dee2085bbb95af00593386ea94f8b8c98351708eea0d52bd83e197a1e6c5ac15699b345844d7236a9fbb4a403840416823388793942a67e836e416d4f8034c8e4c3fb041fa6660a59828e740e523522d854931cbc55674291680a2e8bd15644e9e42bde3d4ff3f040af7e7f1cc5c7fa03d261bec1d1a17c4de51ee259f6be3961975c570c814a95a4ca0ab8503fc2c18ec1aec23bb8c3951bdb05b3b2b4b1fa62762ae470effc5b8be6d43c3bd02026a04ddc48dc1708b8899562ea10e372b1244cd02d654d759a1e5d126a06bb7bf5dda72e32664856b305220641f94519c18386241b74e237a467b6af2307c5de6c39597e7736de0a04dd5af587c2d033af748e2b3e26a25e1b274b7cc63845b6ffd9b4861489080da3efc2b02c9dd79182b76eeb2de2899c55186b6a9b0b1fbc72deb98b74b463153fedebe7c54d8df6b086da1017fcc70d9cbb3cfb988c9dad0db2505f66c679e0bc45dc9c6ff4ff2fde889da040ff515a018eac4decf3c345bfd92b4f07084d6b8ff6c2cc952b07273cae326c01f269e09425d96de5d7e7b7c57c103d021be2443fd705624e2ca6912d52356defff5e1b38c2c5c9c788681847847f7ab6829284990166ddd13163019085200e755b2da7b709435efce9e25677193f4ca4d51abd5a6730ebdb871943ab092046cdf631ee96f2841a803c100d10b51d6d99365f27ae1f5eb89b1f137c55a8020a5ac6250f0d12633177347a295430f354f3bc5224f35af177581116a459f3269403b2d2b0edb61c7ea8196ed98c0ed1f14e3b7e2e8faf229caa2e274f69cbbcd9a4ef00a4821d346c0470342c4ed72f1c33d57059b0981534662aeee3b163ac265946fa007c59af221a0b874df86faa11e14f8b39fe33bb4444364aa303c27567a7435184c1d7896319c411a1a519e2f37e73dbfe6fceca551e5e14c606b3ba4c3c0ec80f24345bf92b97ab3c4f7ebcbf385b52c4bf3c9fc6c9e7d842d7336bf9e6565043612ee18b338d4709f3d528e43f4ba65cd0bf2ef4f2fecae6d88df4bd30a9eb0675397d3566b8db99ed0b38a1fb8399f0ca91d9d076e17c0c634b1a71bf9d839dbb489aa3f2e6a0b07990b62afbca2769f9e6af886955b1c1a30345ed409e28da15f9ffeaa761a945937b07dfc52cedcea7f8708ecbd338bcd2eeab8eb408845dc2253efb2df72f4850a506f7099f37f34b0d111c3bcc6115ec64c87c96aafda94d584ab54744e18e23f707aa76d524812654e100cc1f63d3b4eed077858c88ffee222d2f748f5f10a63ed9e294d6b6efdb68d104503e436afb2139b1f387f59e22590d81ea78656a00c74a41df529f75f1cdf4872f97fc3635f197ff876e5356b7eaa59eb034f9eeb91cb38ca47eff77ff88d549c1717ea7977be42f249b1a83874e7d52532ff1a3180463cb94d8efb41262ba49c795ae659a8faa4592a4499dc55dbe18f446f7bcee152597d27727f23f697a3deb4ef0b701bf01f3ad732b9aedbe0a088798150d37d6d2966b230af8a7ebe3114d6b91c35c93d19bb23ea23499048e7dbe9f3e257e099c47b1c0dcb76b47bfade0af2946292332ee8d7572d1947046b7ab344f43d20ebe37208d3fab1557dbb26d56606b742daf8624fa696864386011385608a46d4213e33e9a7124d2f55c48b9e4928ef9142624a249fbe3b8f8714893dc217235531b2aa4aa73c520daf3ec07486346bff51ebf0d936a52cc566b0676015c6ce76baa67e141699c88252f80edae5f7dba5c7114d8a5ada30a205926cda11f4b45aba273fb6a6d6d49fe070676046ce19dd13c02a9dbbf7d186904972af37ecdab07221edee4dcdcc1843d763196c7d6493da738b1fe189f68b95fdc90c77bdcb799733071d17345652d692581c80bec5c05b639ff184d73b573fbda058c6674d3072c5384dcd2a1a3868c08ad93e75443a60a8e61facba88df652910cb37eb69cf970ed2e9a62710df359ac5c7cdc640cf2e003ca821f7ca44f6ac8b5670940cce23e77e18d01867f5b6285cde24d2e8bd4b10d1759451a255085f1269b6e568269d3a0e37e093492e6024ec5dddc6017f3d26d5da1b7c51927e815024b562bae4a04b89c84b7bc6291d0e51f48655b5c8599ff25fd88f37aa3f029b9de3d659243e27f1b0d9ccfaf45c888ca6b42359208bf7e851c44dca16740133cd175b1f5da5dfe008a05fac833fcb63d6a5008ed3d6d53aac6b59e9480064654ca63f4bbaff51c6be314c394e1b1761e034f1e5fc300a52f720dc0d723ab73eba859e2429646ee792a019256eab66ace2f0e1fa7a4bb825e1ceabaa56929a30588b82d9e47f8aed286dfa4746e9fb4f60894a6d78dc912bebe13c0448bf8958f81c11030370cc7dda84c8d90c87242ffe1ccd351ea0a890a934ed57554c151bfb619f3a9a764167c6085332cea4bfb2f6e83eab7a29d29e41df225885c90ea31042907dc767f98788021a3cdada80406b9148d39cacd1304c228c81da089326a60bc5637d4f4c6d649469bf416e314705e93c4e5acdb0443612946b4384c446c2ec02e94f8eba76ba69eb0ba992d42a66c689f638909486180a7b82be366260204d64e176b02ee71fca04b18694e6884d69f33a6983a7f295b0badb5808fc74b6d52a472ba492af73c1eec73c876e3994c3a606a149213db34c6ce69037f94830abd423aef44d43a03374dd0f0d64bdd0d6cee0eab2a134996b9820f1e0dc8263f8c25b18f73e61e04b2fcc1b32081fad357286cac9d248b51a82b92ecac138901454506fa74dae04b774a9f227eb6310a63a8a9a34d2ce567fed3986de97222e2eea2111cc774aae5328095ff8a7e4a9eda6f97efccc1d398e162d806ce6092faf4a6eeb688efff77b415c549eaeeb77741c45b3b67d6b469df8f4fb4d6fd5950e054943deb21703032c786b9fd48095995784f5df9503672a90788c6c58a5da88c948eacdb57844e056278ba34d8b1349562e3820871af4cbdaa1dc8a77ad2b2f137a32d7abe2b635303651a2deb4f4992c15e3affbd6b66d3c1d5cca6ddf3dff6313ca03f518218d32a4a131e091fb4db3d45f10e8d64bf1b08a9da05448491dd62ef5c7c9aef4eaedb306de7201d1885b7154bd4863a896b2f885be6c0bd70dbfb59b3613703e70327f7cfbcbfbb536939f53dc7d0a2996e17d740eb027a9ad2bcb427a6ef7b9596bf6a6d83e57ebaa9aca9688980b195a76befe06b30f193cfc19cafd9ab593ed5abd0788f0419011438e052bdce78457505ca26b76bcf888f771322e82da6b1f56ff2de4ae0e117d8de38ed63d0af9a9560b7b3a0c0969926d2d88eb42f6120cbd77cb2850bea0d1cff38b5bd99ecb8c0d096419f7fd90bc209ed91be24cce26ed2241c3375863fb121cbb5606e35f79f022a508ff7fcc8eb22ec8bf9cfb28548d35c0407e39e38c2f39ff6972fa2fd448bec777bef1cb8f6342a2bf5d17df6abf46a9b565922c1a915b2515e0880fe0844059c743674408186487b82f23200a1b60cf465e273fdc36273f8d47e7c57244e8941feb56e264e11f5016c18d42f23d63aa078af82f0acff5c6a372cf661a3c765e931e255c391ccd05ef7069a548a219ce21c9f9648d19895b58c2fb225a87c7869cfe2699c6f29ae1a2a83ba20528ebdc74264136a6c5fde54bf1f86dec2205471c731031967d5111d28c42c1717119fa8f6003a3ca2e61cd5362b19737db79729112728284dc736bafb038f6d7bf979e3793cfc0c42c7eb9b497f0ccca385833a210c401d79ce6fccb8e8541f410c2113da82c3ca79840df44eef6a175d00ed4f1f6cb4b0ee6e1ce5e952f83cc87ba6e141c0c1cb2c5b583f90607c202ad5a156d500d08780e7ee64fe1ba339ae8b3ffd4ebf315141ba752bcd9c9ff6c169b84eb736c34f84e202e99e1736ded28827495291b752d6c3480f1abe94c66e61ad805f5793377d1a7a658f27771da98844225e26a9561be31b15c9706d83b9244bb386b7497c0b69f0b285d5780980251c5f829b482b276c2bf0b744e4cec26d1cb43ebe3c7b5d7795d09f437f645f6aff71f4752c27610e5d2a432b174253b564eeafaf8477d296d1450292c0064c7efe7358985c703186b8da27010c8ea5728f78a716ec2bee16f356c4a103a161a8d02fd4090631dd6ff754aae64325ea33e4e77a98b0f26dc9d7d9e2dc7d770d7fc8b1bd89bf6e87d7c541e292e419027213eec52337885b6a4a59645893467831a310d4a796f150e07befb75ed273392894a9cfdd7664a722279f50a7600265a7c08c55787712ef53446d1490e8a56ba1c8be71fe7c7cb23dd6f21650ee7895ea97fcdef5f6b7ddb2e5286c90dac292638857f8ff300a642d2ceffa005d8d42eb934d940e40fe5b3a49a5a17b1e89410667829096c8afe5c2efe640b1a8a9fd936024722a152bda8d4a5033294f45b8b4e8f205ebf1f300474b6fbca3dc1ffc261675c970aac3e05ae71771025a5749cd724a7adc9f25312a94775ae8919f6fdf04103497380c4bd6eb04e3db7bad99de6fea175d5374b7b1e5efc2e3e1b8ddde02909badf5933361adffb61b46b3941b5981462e8e8840f7af76275275d4a80c1984f439c59ada0594d59162594fedec12534b8ca18276c25a679ad42b71296a9aea4c8867ea87894bf8bb1bab8e831d8b32a8c8e5a01f24293216e97977bcae4598425c2e06d7d169a104fdb7e3452f594e7a81300e6fca4f75509aac97492e41b1ac803f64c40842f4e02095a65b5f3a3a6c91b56100848649bcccad8047eedcb8285064cdbb481a5e37afc4316800c99ab70158fbdedb0fff6a55a4ccfc8e5b0e5d788c35dbfe9066d2cc3a94e943c70bb1b80ff859902022cfbf3658d6c79ec36c4082d98007e510284e01b634bc2a0e6c60911f87d000ecc34072a20be19d946bf60fe7eaa2156d27c28855dc7d2c7bc91b59a6f56656307899b37eeceba8c62b8677934181385ea587f3c86b610be5cdbb8b73f17c46c15c4029b6bbf1820604bb73fd8127d7422cda0f22b1e33a8d60f8a23e028ee0ad93ab09d9685fc6f6a0ba3436059f177d7b873ce2c84d695917d249ef612dcad19ba8f0b5ffca4fbd0261a869f742a210698caa97ef7c0c0a4cd28743194c5a81fe6ffe1375da2ef48dc26d75dd58722e709cf13d4de33b267be9d2e790325f5da4c806c40d0b33f2454f86f9275c896f88756a87ceeeca77e36d0dfc35e1aa8bfc1d87a5b29648a03c50537cb2884380e3c227e9aea323f2b3b33b2ea80a4f145fff7838a191eca1991021014aafb43ee5f7f78bee920ccdfbc1cf42ff701a5f2408a47d321b761940ee4d012c8c886987622141027ad75ef3fafef880ea8e8819a4fd3b6c3d8453d67e119cb2e5afca6b60a560762cfd53c11e58c0e5567c35d07b166eeb696af5251c98c085f7e0216382f14be70f2ba17b347a124fc43af4245a42ec4bba10b1fdb25ff645a2c6cab7fddcd673dbea677b36ddfee9634011d7a0597a335fba7fb19c9e961bedd88f9e96f7425b3ff6a31df24fe168561538959d1e7e8a33ea0cf42aa6d713b0d1c7b3f44874c1a65afd3726cba64b64d09d73be17e3bd824f2f7af8b426bdd881f34d09424746b0dd731597e0c5437d882dac46bfadd9e013f96247a337cd50103fb19bb899ae479335a35a2dcdbd7e41f68a8b596a91420221dc1079925629453b2a56feecffbc06bbe73d24d33e3d3b627017a0cf5441cf7f9dfbd5fe6c48ec062e84040fe5ffb9482d915fc37b122d3972a45279665982a23605e7fdf340abde5ea5e631fbd9b02ed6dc65e94cb31821c88ae88841ca345139118e0e7996923186bfbcc0638b68331fdf6e28c754cecaa6b387731bbcdaed957a46d1658257df415d1d3ac9ed6f6cddff84c10e82d1b4035d455a28c325e4cd7558c1e58b25d6ce07fb390dde89124fa738e8348c865ca35d1e4a83d2d4771eb187f9c509878ec61a407150eb8412eead6f6650d3616401d7a5a84845bf2919d2a5bace1afcc4cf05703738d1af8dd6a2560c702718f72ca83f6b6da134274d0d95b26f144f7e83ebf761ddf50b7588196e88a77ff9dc45437c739a496fa0fd9169c55154a8314a1a0fdff297da1938a3ef75427dec7cc2437faf5ba369beace8a1b6b32dc27fbd9f35bb80f1babacde7d6e6c6c135cfdf10fce4c5a8eabe41f698bc373981334101bbbd5951f21562fd90b9eeb20094dee460d44cec2980c10da46ca58e7931de47712d8f0326fc5b68c1adc3783539a106ca8902febdda6c5e5b45fa08c76959f362b750c7bc85ee60a8d4940b3c41c79ec67e0fa70c43800ebd7387fce45486042ec952bfc7b306aac33e06650f75229cfa322290c382d852ef9cf8a4de6b37b2aefbea35c6640ad31963cbbbed409fc375fe2df815a535dff7d7b741b16a277322fb0bc738a4062b1ba203e04ed80f71da355c92fa51f75cbf258724f4f3676ffef83e4de502f18a95e5452c13d15a972e6bcec4782a2ce59cabea64fd297f1b3671f60a05a613a8b13d03f4b233539758dc6853a5659b56423027fd9086679002d262ceef3cca85b323219d807a1aea29a3322e782764a2594be337ab04a396225fba39fb1494c629ffc434a95093c8dff051eb99d1d1175e065a99a571738691905d9b3dee9f0d754a14c1f1ef9163947316359e6925725714665173e1fbd6a1c4622fa178e7ec7503e2397da4d0d1607720156dfd309bf397453483059e39f78eb95898cf331f3fd261d3b08fb6e822f89fde7f0841b3f40a7fb49b669adc08632d385cc1b532ea91418dd684cd5f532c14fbd1e75b6993f88f98bcf17b9adad87e29f6de5b12a18ea621bbcf5eec7f429bc3d2b48eeb62e011d2413bb3a91554d66a10fd454c34d079caf2554ba08c515075f12a783de710bda525ad7a6298cd18473ba60522ed00c7f134e729ca9df0f95bdaa276abe952d9da4a5b91119cea7e2fc99a1bbedb27c5eba9fcc1ca0cec4da3beac8d43795cd5627afc9078594d7952a85fe6d4d277bde2d34c9cd181f857dc0fa31849fed884f03cff3cfc1f7b5178217de549b8c147d5ce354ecd5971af3e9d8016c981103b298906874161ac9e7ffae36f0e8a76d8571522abb968ddcad1b680d404b856562f89969caac31aaccfb0b330b5d3780bd83377dd819197970914a61e9402913a5bb4fe8374a47b43f3f8ab1bd8bd0d858aae9cc8886b058ba53401f7310b5bbf64807d63af93f6715f0eed98228d1f991708548c42f86d9e6c2065e4749fdb56dec32c4843f3a57bb00e9e40756e05d5c3ced73b104d6d1b88a0aeaecb0a733debb9085b9306c9b2817a84445d17594eb65700cf980dbd885521395ad5a95f95ab6abc5c6a8dd213a6e80428b0d86e989436865ba93d6b6008db3e7b4c4d62a722a7210041d2f750740fade1e444359dceb7b69c9d742114e3e5d1efc05e70f2f32eb34d5c4fea8f8f8143015fe180244f22835b1bf2edd337dcba9d96d3720cffb3ce255c38f4740ea631a5acdc4122be0a424112d2a781befb634bc2d1e8e13d66b47521ca518c212579db3059aed89bc69c3f2286087df9f35e089b8e44d5ce75631d6bd77da4d48872e3af1f44f93541f55a1a35b7c6c5486f9aef2524f18864d39327b8970603ac0c6d266ef5ec15299472fa7c0362ab924ac6084312b2744d078e390968d49f0b1793c9cb11bfe73db339030d60d30380553fb630d39502e9abe6a0bd2d4c08bf868320c20d2ddba5078bf39c8ff5ac1672486f51ad5a84a761d56d87c3f9d040a4ec691024afd01a24650ecdbfa8eeaa4e9772bab2be8a8462b4c9ed37b36e3567da9d0ba7eb4c4c24deb734b08bb539217f741c2d84bfeec9d05ddca1cad3a32e14b78a0e1380dda2cd6b5b9448d0ad786add71623b70540348689274aed2a63cdc801747254d709e5783dd0e14e4cd8898ff7d2642ddae7eb000a263ec9d14714b39f83b0a00ad1146d96022bd093fb0f0a4eae7ca260c9396d36f7c1043d32290870095b4581e46295fab3970410ba6e007ac2bf4c6024102be49c495107b5c2bfa5b7eb6feb03cb3f7381424d3155933fa6bcf38d2419ecf5ef8b8b401139221a0804c1569623b49b37ef0e4f34eef7132552994066a3108fb62d8081c33f1fb31d8a01602ce798ed81632fd1efb4119e5f2574effc43a0a4c495e0ceb2ef2519271de8aefb4ebb1eefafa92d5d521ece42a602c4de57ca9ee890bb73aee877b57ec421151769c700230898df68e200954f361f5566c5a71af56de77a20a0547aa6f487fcd0d868a8d516877735b015bbc30f8178fe873892d6cdbdecd3c25cadd5008eed6c9b1cfe82d124dd80cc9391e538e07be05808af6263b5c924b0493f91919928eea623a974745e6a34e6bcda4a17dacf3a2cef40358e7a06a93403d1067743118d02664a035524b2053abbf809851fcc84b4c2790e33d565076a916660a4d382c883f46b25427e6f6dbd10dc8fe87d05034dc6843d281c26abe30cbd464f0500db7491d67164d36ea3c720aa92ef642b67c8f94f3c4ab01d7ac6ec7442d939dbd804250a5c7719d42075385c448cc65b3ddff55085e0dd89f7e70bd0cc67323f6a580fa79d156110587346c7ba06348de195f20398f0853d37c2bad0114b33827eb66ad08308485eaba5c281975b20868af4bed0aba1bf457b74dae9ea876f584821a6870a24e9c9a79bdf122caaf5d411848de9404b0461367de65ab7dd8a2c5c87e18b8d84675fb910c7310305aef40a6f8a9fb8048597ee040e06add2ba03dd407d5f3cebee05659b85706e7f5713377dfea0c4dcd49e62873f2b04b7ec7df0597c3f661fcd7aaf46596452c64701b4350f4d9bebd38e4b6b079b203785341549fb6ce7ff76ded0eb963347c00be892c8b831380d167b8382027e3a19ec1de90d61a067403e1ad31037260529339849e85badbf07e7af872931e47df0d469f52eab066f6208568b7641c5e3cd16b51c8d7f075ba562df6e5d38de97319d661d599d15e4537173112e55ad56dc73e43f5fa551e7431fef449e872ca43cf7970aee2e87d70d9aa71500eedfed5b98b25b493c142a65005d69a8693dc9860b070698401c09d81661f65d4ee0f31d71873156ecfeb7da356366ad2cfe315cd9eed1f7b4df2ed0d3c417d03edd8a28b986a1e2f4aa3795f7c13855349c443f9bbec3cfd33b1138cdbca73855026df14dc03eafd63323ea578452af6118232b018aec935be71a92f84d557843d844e2acbe40a58db714f7cdf3e73c90b5e9c46e7b4f3583e3d77820888a31d641ddb391714c19109ca261aac3bbbbc0930c6dc6c8f35f54b358fe1c26e82a8e677b9a6e0166ba4dde3accc13e0e6c47d96b750a5bda1414acccb44706e449ac9620fc66f08273eec4c4823d30badfcd11c5406dafc74b6d986e1326797d5fc43a08e5d8eac5339137d32e7ef4db89d727714f3da328fb7755ef239f84fb80a9cd2935eb3c2d1e80a344925276907a31ca395c08112fd05fb69d4eb60e62e344fcad05edb85b3cad03b715f5247ec78897c6ca0f6e2bd18ae9cb474bfb3b930e0cef9a1bcc4b8a43f10184db1371df593efeccb5f55bb8e26bcfdbf174647fe3e004c415ed1e6bf87603f97bca3b6605b5e6bbece8070cfe7bd945acce3394f71736163cd5959c98e816fabde712329517b06f4fd10a4c2b8e9b84c0cf0a7ace2c4397889baabcd2166959b2f3dc5738bcceaa9840143dbd33a48d0f8a4daee1eaf56800e1a01760cc0605e0740a590fc85c2289738b9f09cb07a8e7971cf8259dc9af2ac0a42a3df7faedda78cd8bb3e473148cab5e6bcdff1d8ddb9700aaa79b1428ff1b648f2f16dd7eea2e43a9665180b248292aa1b34c8d04c6757ff879251aa7a9a03aef07d520f37fa5a78048605e007bddca1c3ed446d1be9798b4d0f1312eaf7fac25ed6e40c3f0b05f223171c940f4bf227269f1a0b376f8eb8ee67db8b47c3da5cb4b903654d07e4cb3fe5da04ba4d2fa7ecaeccd26dbbefa0af8e97abf52462498cd55131a6185bc9d55b856e40006666e48a67f921c64c846df73712a3b723e4f71dfa08c16296d0fb7ad782bac59fd796532547cffcdfa68b1f4c951537fe8b2e587fd9918c84623e8d6c64dd156c3865f91fbe93e1fbec42190ab22c5a9f190c34afe294882df34501b4f2940dc4b05d166840ab5f4690ff819c29c318fd63f194cb347061b27e02f291f8639925d94b7375f0bfc03f6d9ca32a680823f14d0a0c537642ff2e1312887a2babd600b6c483df68783251e7dbab2ff7a554bbdeaadbd3bcbf22c6f78ea2391413db668b9e7f4f68a259f8ccc51ada2f234b1c0e8b03cd98473d899166f9ef554a1bb4c4ba785e00e5f714179021c19284db2621c894272286dd616a95e87222ca504b2f22b1f7aef4fed1aca0a4823300fa797fb6205a6b8f3168ffce01b7d01b8e40eb2bec9f27f903665bb6c9677d0c1872a7954d45025528dbf57af7e368a3fa71c4741fb51ae53b2426bbdf226f07b00c138c708a8e42b8915b15e4d2cb59cf485a24ec636355935b45358c5c722d9e2de7a6062e2a9ffd6115d8d55503c16309d9505c87c1c6fe549068f728186b546ec855476173bc7a3f4f8b4edc54d302e5ccd35a399d45abbdc26b85afe51c6a89e27a1c43353d8ccf8ebd48b6aa7d7f9c3d6d5ca55468de77a24bca1cca87c1356269edeefbe4b6790096804dba6444aeeaf63d1dce1f757a0f75148c4da2a7388a992fb69c57083187d42c8f0a81ac8602bfa96702421209878e72eae3b2ea421de2e5fd7a7e3cb54dd4049a16de776fe005724aed2ea05f129c29971563beb2741b60fa38a4c749873aac31c40d830db7857498ae949aaac833e62cb19f24cd681363196485b88e346a032b321ea5e43e0a7b982f327c469583347d38b10fcac62fcebdb49370a371740b2e6395e1f42c07b6704b3d1a64ad5c288da02696fd5a8b22dfab8f82c325ea2044eb524221e9c58f94bc05dbf68938116a8ed5cf61c07e3e12f98d124fbe3566828b1c07ebd59025c5bacbfdf1e1b3c1e8403ec1c7aa73600ac3ebdb1e75301e552cf1861d98bf206a5d83155583651befbe68105e8cc1d602777fd34894e2f7641aaa724377c69c524b5a32971e0e962b174dac77c525d08413edb01030235e128d062f34f9b215877d916637cc72537ab53618b5e31d84af4baf20ae5a870e7b14935b4a241d3e1951a5c5f4db233207849eab46509aa412cc39d89556c6cf76fb85b52a73a1cad5f4a9c8aab53c509b46ffdc9ffc391bdeb5f34c90eae52559d43e460e871f5f0a9cad63476d17f0808b042ed43f8d26736d96f59c4dc4573522ff9f358a364a4f6c07ff43bf8c563a6d0a75a7e094527f768ba5b084560eb96d2cf1a23f405ff441d3042ca63240c687aee051fe6633e18cd6efe5b419f28b00a91467d5d91e6263104600d98da8941f0fbd0358e5f6519f6d58e7652fc9e912d939cd10fb983a6bc586417318c7d1c8f750fc108558bc49d6e4dd61dfc12534d3e115aa49383640cd606c69b93c06a042b39bca3a50a8d8c658428f01babd4e44cb4493cceb6aba7d90f78b76cbea6512c486d57af99158c369dfb59804aad8c9eb48026718661d59c3f756cfcc2dfdf5253c926a85fc6c5ba878602bc44a2993b50c070605ce3a4cbacbb0cf09c5fcc77e0b619a8854aa94da2bd776071700fad59f4deb1136e3de9ffb2eda9f62f18dcca9b51c3eb6a04e06668b8fe30985414211499908442793b6a31a560c991e10ae7413782a3adf167d58eaaeacd69379dcb56bc54bfb5fabf1eea778ae2a1fd1505c3271ce3d5d72db41474f48f4904af49c4116bdfdb9ddef93d45a4206f5457cee9698f05e33e046d3c759c581b952c0ff654ede31f28acc60eb97b27ee02d924ec593de83a6e970aae331eaa2cbcc7fe27e6d6d1f228794f9735dd9ca4e2f4339837c5e4548d986c7be871fa1d169770ebfb0c7092553dd270320cc90d5a4cdddbc00b926366d1d54d6149f265872d073892f124e57edb7999fda076f0d92511bd44494d76ec8ae0a2519380b84147817c10e3fe76c03476e073ab0d6b6e9e922a1a40f5195fd64e428bc373f6f3da315d7891df928eaef97b995507ec1de2d8668bb653759cb118eea5e80059ae633c36cdb8fc29a1d1880cafcfdc515cd8242bfb20e36372649430c9fad39e4f048d652b90377eb9fcf73dfd4fa8b34f8c38192d7953170587764d5f7894265ec1b7f41a5880254b0b1117732bf0f90a3d5c005dc8a1492e7f861ae8834916bfccc64e5e9559ea52cf48619d462c0f402b9e30c0be8dface0b716488945be8af95259a95feddf140beb362dfa5cea64d6f9b9990f445d3ab56fcd8a8d5f61d222239cf5931f156ca176f37431b98012f5d7292511d91445a7ed9b4c83b0687fdc0828ea1193615dd521780cac95f3224d09a8b40d02b3d6110309c14fb320d3d944df6f9584be17f6da08770590a336a1d3b504e60142cd1db56178c72d876466c14dcbc1e900f45c889b2ed290c1f0f2b3ebd4928968a7e37f5d90ff4b654d45a46169ce7883abcb2be6483821c7f4f5074bdd3ab3b33b9450c278ac13d2acda46226852e356d17240828d1787a04ce7461856d7f9b0bbb4ed00dca18468e568f3e44d88d5949197c7acb8dbf50d68d031601cf1d745a154ed3045a9354bf5c87576931d994ffeee7f15287b49d1eb9ace9d2119f2662e52b326c38321bc86be8eb7b76c7cce124e7ed9010f0da6b5f1b85cd3931966b6cc89f0ad0f75314fa78822e73f85456c041135c681bfe290886877537ce20f6e812443220b93d37825733a158639c3bdc42d9b261a2a05e7ca98f34d85a17e06be25174deaa559454c1ad1551c3f910d9cb7ce22ba152af19ac2885769a31e97c217810399ce3984315fd0477317052b06eca8800fececb8331bb58be153f49e5dc68baa2c8d030fca3f8ceb202f304818489f59eddddc03468b8ac7ff6a1b45b18b8c983501caba87c0e7d17cbb70ce5c7130280178f418b5ec9c990d51252c87c29c2a9803395cfe2f96d60d5392ec0080aed4f04676aebc530d76526dd178d64ad8a3482a6f3b501f45aec9dd84af25a8580b954fca337656a7ef8522a87768a61b935e173ad3746b4b51b024e43042121d103a2701203727315c2ba6ad520cff4e7b64c3051db0fbc1dfd704286b73611205ebc5a0fc4da8f0dad049ce1e26fdc9c01a5ccc66008ff5d1e388bda9334d78c18122ebf24c9cf29171453f6eecd572a0ced4acaa3c3cde257aff14651706c916158f06eca337c121cd986b0b6b5dc17513e010303cac8b1632c4534d25de661bdf6445ed15f6db3fd6002afb8e2569b2c44a5c2e68a89dd1e63c239bf2063eb2e30eba5e1e109a68d0bf7d633d24d46fd8b9b738c921950909087673715fe55793daa99421189f98fc4e45811820f4fcfd639aca14538ddef381f34b2caf07ec62e6e379b961af6e8cddcf0f0ef0f3299bf35e5698c100dfaa1f07a18bc23aed26ca3c2bca1f5a7d99c6e2abbe542a558ca82e3dbda58ca8334cbe784ddc7f9f314b1f0de2e109e2534e38b8a502c61192a7d7561fc1619a0b43aad8844c683f1c49f24ee26e4a1319cd7ce3fe61c72b0579e099f4239f88c14c919221fde52da929fe3d35e56d5c743deed684fdc182be7e1bd89491fad1a10db05be605dc8b9d596387171f8cccf6e62b24a81ce75d90db5c4517f3f048dfe8ca30f0738917f2dc701b6627ef6e7eddba548414dcf94dd98c4bd18363b94ccf1ce99f1d5bfd759c34ac8481990f634f268eab62a665b55726335f997c7f04c8718be18e049d0e441ee66288d96ee335ce4f8e50ff1dccb30e52aa9a36720914aa6fc6faf972ce696bec01a0536bf14a54015ddd8a0fb06adb7a14c73433acb3ab9b3911cefa615182f3304be22e28ff8b99dc0bf606b1cb63aed8de0509203ab898d31bdfa40efb26f1318916bd8c04613d9f399f495e0b21cffbd19b338f55a4d0cce4f54139cbc0e250881a764637f6d60d2045c6c3336ec203340d0a7ff3416813fb0db58568a355abab30c2984319903ae0892e6359d96b1281cb40842488696f7fd9e7045686442fe84a8ab4998e42832ca2e41c7227663e046d530d1e8f192b3d44d8eb62a19fd19c2a44b314abb6aa50606a8b6b42e9c5af5e9582967cb697540b8c103ae500cb5ad797fdd8a186b650adb957aa23b29eaf48b26e7f22fb916106ce67152c5e89e10afa4103476cdc0de34a6eee03a7fc6d90c0385d5f28e0816d7ce35fb5e4bbc3800f71421648965359fe14182b92afe322e5df57fc2aacca679c0f16f5211d76302fb45c73ed3b273051c7f5a987fe4f3533e2a7239f8e4a2e1480cfadf77ca87f157604d4122691208cb52906217cd7b66cd79c6c963760ba89c1f0d965dec4ec12786d012287d18bd570042dfaefab9fb909e672227db0443aa72dd334738f6a69fa41f209f6af57c192a03984273bff40904bc4b024cfc65927bdf7fbea480913336088579bc12c381bd45fa354e43e64d38adeac48a0206fb1eb16b791afa8295c130b8e17ac3046c013bc04a4b911007514d43776c569cc2f54e2543fbb38224b4a3d7fd97580ce81fdc756a030c502be768504cba721fa54c4b4cc707f7bdfef7d5b61f584367a1a9cd594ff9a739b3b8d9dc8eeeeac1ff85dfbb56fa790f29621298b18a8bb9304e0b32027c154a10b46eb7e54703f4e63f6a7e841e82a316aa88ea512db231b1bb743efbd8e710fbde32072597982498500b72a110c5634f62142967d9bb59d317c55ee85843038d6d4302f2ade6bde97129f58503cbf494016af01fd83dc55db7359f0e2775f09ba8002492ae6a24382de0161ce881101581b2b465abadf74817056b2ed03eef06ec2591abdb7eecf19a775d05beb464f333800906b5c6e5fd453d54a6432ffa736d2ed47b670cdc8fb8d20e21a64bf9bcf744c8d4799bf3d0f2aa9ec8347f674e9aff65224b8ab565b371b7a852e94e19769acbab6e11339f861a0a31e09d9e4d344cf49372a3dd8decb98c835aaa7b182dbc6889c87e01639de76bc003961e24346de221183ce58b13a1a2f34af37276643df406a17696f35c348d20620523f42f00fc6d68b84862a985a6ce8a83ee40d8ae8de2e8cd53a28acf4ed4b1dcc90e532a6b9c825d49e98f1939b204616dd4b9576b7fcfff3227b9b7743522e361b4df0f36e04d327e798a5399c33658b5f646d8ed20d4a4949d7c801a52b0e6efb73d30822db4f302f3d34ddc66d5f18492e19da85e7b16596aa19e125f261c2a2f24907b49cf5529d71d6a8d6aab787f1099992543f41d22e215a5e5a2b60724647cb99d895591a330f2ac771620c350b715c1b6b53d8825d11ed781847229eac33303a9a733a78fd61d1946e0803f469a4d9439bf7105afa884e482e470e85949f95242c53a48599d13344dbba7ea63fad2f468cec574a672e3592d7efe30630adabe8bf0b83ba5d210e6bb0959334c295a10b320ad4a8b5a7b3b54a17653d97ab231466d45bfcabb3e1f493f7f7a47af5c7f53c67c001732dcbfb3578fb3afbc8e3ec1804290b07589f3942847e42086f3e112031b87044a47b2584cccd48e44ecc737eda166cef6cfc742738262a877145d06829b7a38d76b9c148e79d9202bed0430f7a15cb6d9e85e41a0de7b1d0eba6e4d8037ce828944e16e8f0d604582ffcd0a3ca310c23a5ac513117a012c7b7c1e3e7940f5fcc2cf320766781c5e1568ad32e8da190ae3e4b0f34425719a1c1d1317ed859bca42cb45ba567d496069b9cae59d84face169238cc7c112be15334bead2803e74b6ff631047ddb395ab13ddc9b90a93a9b7479b79d89107d8e5a0ac541dd0ae42ca7329fe3e7d31d695c222854d29bee68038029b46e868861cd93f02ae6a05abcb1d3badb24794807bf4cf6c4f24b7c1a973e3c3b2974f6be6acc50d440fd59aa55444be49b001148630c921e85d3f56194ef397dba2e3865301faf43c786778b239ff0780535825d5b390e370dec0d30956bd9124c2c681254e92fdd6f6e285d4e8d7263040cfd9806da820f71895851ab8ac6d136935e31fa0fe6f18711bd3d56605c907148efc86540432dbe6bc8b0cc3a732782ea03bccb6a5dc10498adc2c6c76cff4b25b4a828993f63948ce809193c67207770195d1048c01fb4008b3d44456bcaf5d75b1a7ef6a76b96bac888b44e8c9a12694b1b54e04fd5f4cefb6d55cc5c603ac03ca9a1fb5f28b092993e5e2e937a3b02378e27f7a3c2687c2bef440654be2eb85cc9225d820e2fbe37d4cf99a1f11c9e32268fd378d12aab7c10368d0ed4f4dba28d1faec4f78eebdcda6f2c564e0cd9159c0c06edc2a184b09e60d2ed87eb60c9c7f47a24bc6033ff5b6b2d08aa41a8b4fe19c8d3610ffa0173539c3842b80e82fd547a20c2ae33cf509692ce2a701e4fd22d969c6791cfbe9984a8e66010f38546e425526c7d57a942a673722ab4c74c4ff0876ecdd431d8b950c513909cb7f2aaa24599afccb0aa3628bdf2b5f37c36394777342c604c431131fbf3e6753bf5af0be301a5ea4066ba805ec368f93461145c8110b33179505145dc3ed76ed4f1ee897fd8a7c278209a08e8ef8a71bba2fdc84f955fb7c761b525fac34bb06d312fc3d49ba06bceb1a3d163a110884904789420c7957379fd391a8aec8f3d0d12a5c9b9dfbcdb72650d5906e85cc545213a3e812cbeadfb03b1ce172eadd94d04a72ce3e62cbc86a96154753c664d50c206726c1bc930f71c4bd616464d29b7c942b2d28ddd829f62205da8c00ede2ef00c97e00b409c3a76374b66014f61136d0350028166a5146c4ac6661df3f16dc48d6f458a8a064b8be0dc2d76d4a09e635c14f5677322cf024d094a632ba91215cd03537201168363d0a8a8b6aa045706315d1ae9f0cf922d275066683aa25a6cfe7b737602f3c72ab6baf8c8746cf33b58c63c4d5ce7daa1fcfcf8abd746e69c04caa176fcd16f8ed32a372437ea00cc7ca8c10bc2675a1a1f247eca94bf47c74fb4870f86f0e9ce86da9231fba016273423334e3fb64f2c15bf199d7ec006677453279795697a44d749fbbbf51951771398e8b0e0bad2f5b113bb463cd010867b846e301818eb72a0c24882a72404fc88f402d4c4125b58751da63dc9105de65c58f90ba7e0a9f0d387f20de8f2807e5668dddb51ce7fa96e65cd15f8d0ab144193cf9d431ff6f78d901cbfa9ff6604b8d1eccfefc6b722907e48e1eb398d44bd878762f395a4cce230ac9aa86396385c61ebd66ebe6bfef53c62e6adab8275f677564e6f0a710e296f07581dfd9e77d21e28ba84bbaea140e91e214dd7e5c9c040a8dad36aded24ab8108c1c491c631ca033e9c4cab629eda35c1a88f035912d0344f79fc653893d3c761631da9026c194608e6585e7a5afd8e1dadff53bd2c02d05cb504069828d9871fc64fd6c4e4a1cedd60ff4e172d79cd509b77f109c0a8700bb123334714bf80b39a9cd7a4c5f2817910eadadc879f03531eb5f83205fdbcc22af231058d993faf6ab4bb3cad4362aa758101925d1b75e49776b91e5332d42298cff498674bf9f383f9c977e01f619a1e6ec246e11065e6cbae9cf03d9574c8ecef762c9ae092285968ad976a36c4d114a5754a9afc3efe0460a1cd60640d9d09a9713ba2f8e7057deee151dcab2d9a5477512051d6de6de8da604b714a68d52103416ffc62ac7d4fcdc668559d3fad0b16b8241e35038ffdf58072c684e554283263e31bf5e516c68fb812c94173313ed794ff43e6f35d125e0657d18f4a89b80d97814a243e202fb6e160b5d01855534e9d20fb2d762c5874adb1e4bf1145c406f6fa125dd898eca9a1e26b7f6b911bdf29ae7cd4cbf29db4020e717c55e7e78c8c811bbc1849a681a6fc658db7d4501ff060de720e319d11b4ff98a0198bb6eca2c0efdd91c15005ac39a8b800693753c078f58896e32866c75c04978041976d70097bf0e7845465d64064199af29c137e4f5d7b21aa912f208ace4c91f530b5b6023b2ade90235cc7c1e3b5af8c9f5dcc23b4de7bc09966557f89506ec8186fc20b24f17b530f595bea902e7fbdc424cb72b46279fab567f9bfd616ed6a31b4b2f266f3589d9eed4e673df5ebd94ac380b6180e661e9321eca448445c70a74ad0867b149ce4ac3417d39cf42affd9982346ef77c2b5671415be359df2bd4abea1d99e84c47b22d60b18c66bc1d0e905589a2ca415013fc821babbdd8415280be83bfb61e467d8d50e60170dada97d5bce34c6c3d6494abc4c188126cfb42aedab0c6c1886c8e847d317f65b49081bc6836d3842a1fbc6b331b91c2374f4cb60938b597d195e0df324f1d39a6e5f92f4506c0d951c8c4b71b65551700c72e3cf7c0a2d0e81d3d81c9013888ad304551308309757960e4682548f63e03abb9f8286eb739986bbc11ac65ec85073f6bc4b7d45f877febb2d7b0c65f121d6215611f5f3a007319122e198d471505bca982f5613f65a7dd5f45c80e4f70c947f41a6748e81c6026bbb08b4a2be40618f16f6cd186fbcb5c1324f31d6d18b62d14cde647affa0f7d6b00c2d3def0651c1acc37e0f607b26c3c228ce4e314b9ff345e9d668866a95a38726c6325e2156c5a274ec03bba851abb6370a9a05f8bf745db886b3ac1e7c4e04aabb75535895c782e60c1b429755e701bf19e4f45d92d67f99aa805f9c0ae077634013cf91a578fff7c14161a780117567ba27ef11290026f1ef176532cb5d24b63a0d34543ad81a266481abee9c11b41fa8bb9834877a8cb64c4b226c1e4eee9b8deb9079e75d44fd8cc77dcf12f19ede0e5578d83e8a7b1f5391c82d5c5f79a34901dbe3cf855d4e3f77f350b07ad560c24d45339d9855f46aa91b250813ce088f7e3582733d09aa5aee21de59b4d15f72a362ecbd4ab904424646d98024d57030e3e27b41ff9b2694681d3528f85538abd61b13ee58d8ba3063a1372cdaa003f592896c294f44cb64a953c56e3cefdb453464938642579752d7da148649cb9c637e14c55fb8ad6f8c720f4a187f219687ac053759d41f6627053e7448d8f2b6de96c539cb1b67d262c316acdae7b914c1913afc7bac568ca854fc1bbeeb3e36444c985011bf546219b814d91299b21ed699d0da8268e8b7f6578e1735f17239cab61dfa7daa17d1dd810214d2599b23d694f3416574ec0af78a67e871d86d836aedb6b26c76ac2cea2698368a8966fa9e2d5f426656c635f58a34044d8f8cda49e18afdfbbfac3357edc36701b49f457a6a1b26a2f34fcd369b698e134a87590839ac18d7a52b3ad7ff518929bb3aef55c87325d8f3eb764bcb51e3f77340031f1757ca0e77eb3f522035b53306ab7dd831b47c34beb4ef26f6298aa37d6a0a12ecec169e3fc907f2546945438d595a8422f73e13972a0f53387dc0d235c261b458a139ce9135f7f691de86660994f720f373570c06fbcc84a7ae36502e9e5b30ea82d36da39a3f46064fdb9f8a420045e684834f2d0fe664fb4a17dbff727f0fb413445d543863e5619ac09a0becc8b071b68d71095722f7ba3918bdebf425d29b5c19c7800a4489bb1dcc89f8fadf577124a10e18778497f3ac09570c1f96893f1364402682f7bb2df6818969527c5662660b85a2646c95e7573a2eba7a00cc96ebbd1ef8689d83e8f046d07647b4c75f0f4f35eface3ac14e0051b150d6efe4dc9e2b2252c76c68c6a3730f705555a635871ede97280ab8dbba35fcff0bc0a4e74a177b8f630a9191aaa7eb33b1f014fa47ffe672502c5b4d475c7b3ead4ba07b990e592eec1ebaee6229d347a532a3c8b4d10952fb72b5a7ec07eceb61cd44e4da9249f3d476e7c16864b74b5c60d4700246af23841ac5c3ade1518101f6d645fc8caa9a301a00fa3a255545116db63b4d46071eb0ae7870f861631bae01d86c319d28638376ae4b7e3d8e27cbf8838bd3b0597e007c1ec94f3c99158c38e720c03b8e62649eb6ec84c3820003d127ad9947f6bb797d06f616603e3682425968e3d5d0ff518776221ab610bf572882e3bc9cb24295414be4d319913947103b345abeaf4a0c19a9fd8221a539f96c47748961c1ca196a7a7682a9303ca08315b8dba4ba50e1a1ffbc804e8084c0ea5dc7d4b74df53656dade1ee36e606af34fea66048401590b0c602e96191acffe71a015ea7dad4016dfb34fd5f4641a4e78d7bf5d4953329bd2dbe49d8d54dd1c01b6405bb954cebdf225230d2054cfb84deb930de785256e76e24d61721bab379b571c5de7de2da1d77cf67605052b1e41d449b490a2c5f487fdf2f1ad59086e091340446b2c2b699e0c8af47dd07cac44cab614c38282b3c414a6fb8a1f5b194a29aaa87bebc21c25dec26929108bf2fb42e2f9c35272c83bc3133a25487614c71154014bfb4dfa5e7b44ccf1e88461d492c719a7e16ee92cd85a230e8dd65d38d9dc029128fcc82f088d9267cb2ec553ef4ca6e5432b1b7f3fc396f01843ecb5b6878388f2f1a13e0039f88396720c988b202ba056cb8c136bd9474e0e182ebd982b6417b281386fe1c5c9a0230513315fdc966d5d9151fc72e575e96c343c82869dad2f40f75526248af0edcd4a69ffcad4852e774f45cb693b76fba0f2b21f0b0cb6b4ca2af9961ed912994877d06f68f3e4866cbdd498652d91ae2e61978dc8b0dd29c57970df218b529f8d27efa29469305c573759ab3e1056e22abaf2aff4baf7677d520e363296b055035336683282f0cd55870b0c9883d13e7347069a956d4c589e95c69cf0ceb660612ed3a538617ceee74b15075a8563210f000019f4aea59c4365b62f3c1ccf32ece378f7d30909db7dcd00d2cb4ae70863e441a445c902acbbd5613161984de4fa7a85dd0037448f0ae20da29c58f2138a5de8d5e721a9289b274293f6d4fd122de41d9b04ceb1345fadfdf8c307d2ae6ae56ce2c2d2d2060ee4bf71a5a8a86d22fdbbe7bccf32606eb1d0dd9ecda08ba1e0a1a695ab7bd90815c68b15aa363e7bdad70e4f2ecf2d456b2ee0589e7a924cd177f43c8ac44ac9a7a736a48d9c546d649f1b75f5ed1312a44676931f7ea8efb79b1aad0fb83d8f189b326994f0d0779449ccccf85ea6211354591b9329f6de5a2707dbdba2d1fbd5cb72e18e937ae200f2c81ba65f884efd1a67ae29b0591fe3c0a713717890d3a9116392ed99b5a59bfda9c3b70613194e1b9830e6ada97af831d3b40f443765b98b1fa5b96c8a0a6a9da7016d0336245eca204afb64da91c4ec1d2c2bbcd6813518f09b3e96a2469580f035987d6f4d79a9d9a3510e953a48e9d6612599538e1f3d98bcdd4bb6e68762900eae8ac9ef684de9444c2f1ac5dd56229f4b246fc521005ab8bc946fe4670b5d4981926ec632527202ba89bad39a4aefd098ed1baf5a73767dd8eda8d0250822e0333e7a8fe00d51f6ea551824611ff30194489031117dd392cde9fd6c737129d5d35faca82e066f79a26d5b32936be60ffefa3a41aa644fffe5fd71704ad8fb0e9ae5dd9d4cb9f3900d0792425ba3e384888c533c270a266344416c3451d95c4113833b321dead00704c11fa5f3f4a5c32edbabf98f50e4ac85d6387bf9d373b9954cd30036e33c4d464983e2e36049a1b43bac74a8a499f8ddcd2e315f7405bbea90c9ede27484dae5eccb8b520c56c57927b7d7a2761aaaccdc8e1fe36522dfa54cdde02560a12ee62c191e38abee5e8659dc30dd4d5b51c03f666bee737014b512beaea22619981109c214460083bed2a17c4a1274ce50aac095f41473a19da1de5e2710a70380c911ac0568aa9a6cf3f36e6771cc9d59ae11e726801307da803f7123e646c0c18ad1af3efa87b93b767a7247053cf404c20a7084ae6f9f23571c167a6ed6567b8919bd20f56bd7bc523c6863ffb39a858b0fcb33be214a751bbc93dec4e075affdac271097718c524f805ce380408801a5f414c1c8f84a0027e3a13b2d5409f30c4d22be26b7462b8b02de9daf5bea5f5cd9a5a63e696a177fa5b12a7aea712a225994a4825cec06081f200aac31a7c28d6635c3d09d0c44712f05c6ec1b6c29bb3a8c154550be2fa0d882516a3b8ea9c41fc50c2bf9769e1ba997833b0160dc8ba02f130c396fc32fa90ac25b6a00f2d193f19f1841b335dd0a2c2392011b20ef4f59a5d4666c3e557760d84417bf89ee87922d141fcde4a09d20b87f275da4cdf8cf993ffa03c7ea865dc8e7d415cf4ae1274dd422f69c3fab3deaf776fa3ec41e03f8af7a177d33dfed3bc3a1829265007c6f4867d283c4aec22f23b4acaecd295fd8fcbbb57ae3c0c46ff906229b8c16af5962c4dd62d65d02230541daf397271c96c0c2c3eac30a2c42cdb6d5263491888318add9a08d4d03a0837dec7702ea9c2b236c678084eda3f7d804a0d962f6122ad96d6071eca7cb6e9d3928df8a175df3cdd3a35cd84e2025dfd2c961371b437a8e351c8e864447eb49d16f3ba5ecb10f80a341c5308ae2c6d0017390ed71e18af6cd7bfdd19b490dee105657768a7bd29cfb42b286dc4d648d9b2e58ff87ac0a5eb6cf10f4aa592b8632fd3128bf2bbe3cfa90c5e1a0a1048ad5f652d7dc44722abd47abfbdda4e716a6efc59d5c44bff3ba7fd212eb5b5996327f10c8fd1745538e6e2ad1cfd9f7df08d6da773ec8d99c8db9ec3e5f9c29681970544be1120ee52771a579bcdb6b785866036b1ed470de722126083576cc2fa8a2be4fa05d05e0fa636271cd19c2d9d7957beab8ca81563c70f95d78fa305d2a2daa9c049cad753fdd7729d66620be2cec53334fc6115dfbfd7be5da10933992dca692bca4550d7cf2ebe774ffcbebb8569bc228bcc278f0afe6133b7a9a956516fd6407b73c81ad7d55845dd629bd0c0ae3971dbd8ae188db43aca8322dbaec35b1bd6718a3408882ec3017ae41cd6663fa37749146fe198c3724f65d8db57062bd8f4a687c306bc51fa2dfd2d931c5be707ea7134e2fff5292223ab4d1c06513a78d2e748b09acb0a9312d6deb717a967e343ad19a4df228e11ff54e02ffe4917efe3dadc6242b318150e27fa5700dcbe9616b2e42282118d37b6f6180e0a8161d73fd1670a6aad3fbf6807d0d3a0dbe1bda521d2ef950834320ae7c2f1a79e1fd94da72f6d0e819f729b1fddfe8e1209253c60978414d930f332de4b27cc62ddd2c9720ee074e1e90e66181a12aa5edfcb0bde128d069f0acc8f7733ce53c7c957f507ee980db03a862ce354c49b008c4a1889b325bb700684b236a6be2f15e65f258c6851adb8dc1fe44cff6f0ff2b4c4d69d7a754aa7edc5eb6dfe9ce2a8053eb69ec4ac8c1e74659afff41d922aac32929ea73d615da786282550009d23ce3cd8c2f8933d347c418469e5cbbb515d0bb820198483a01fcf0467d17304042809a70d4c972dbb1ed3790e511b3fc15706b319dc1252352fc45cc54dc447367ab150e9a6e9a092d0fb8374a8ecb087d83aa9362b18d24c73d27ffcfee472cfaf0f37dd652c67444429c0e9b403a8fa13fdf9b7b1ddd435ad0033713924f91e03b35f00cf1d6becfe8d58b7fcd75d4491f3283429d3d89309924a63e3281ef3568f070af47ca39848cf68e2bd1bfc4e18bd8cc9a1841a704a2d68100bfdbc329390736e6aad75368375c82588e396af69db9127fb933c5546585ef2e3e958b5c93d46b7d08187117e356e4f423e5a4f983c24e115c2a05b3f3d93d309c0625aff5aa7de9da358c1b543f4eec7233c1e03b891c24fece143649021f7c32a359156460e78b494447e2bb1163d403294a34e82095fb4befa41c90e7596d7e5c658b6aaa3b28420f36e416e406c155e708468568c6eeb8f068994024fcb5ceb0a4b68eecfb8ef844980a581e60fce53a82e893e7f1a6dafd574921410c5b7cfc62b950423354489a4f6e50719dc47bb88e377e1d94b997d96652a058d8fe0e3dde8e0f6ba133e1c574958738d02d2bf4bb9bdd5c8cf0f2b4284bccb9e4e0ec2d4baaa896f35de09b68f7e502d53309f2e36958bec81e3efe8277cca3be4e47626b543cb0aec2fc7cea9746a79cb39a7c32531535080957849160c741f7c6f1c0f68df96bb7d184b7af45b023b45ba9867225981deecd3fadb2f55ed107115f17872655cf8caef47c688f55302ae17ffb7ff73f21ffcd74c821b7d1225e3e3d5974f94dfeab60df632ff1c46626d0539369bda465c9f540308c97e92ee63724607e08e1746e93b7dd2e5664fd70eacdf3ed5c19e0288d3e74c366143eb08dc028f6063afb23c87a3e848e7f34a160370b099cf9cd8a3bfdd51d5edaf43de9db5d32f590565b08bb403f4ba3ce1d15fd8a22b31421139196d4cc63f7a9a4dfe914a07eddc749a26aed359e76dffe1561f95ab0c4549f0412f35c3b3fb15af0b21b4368efe82c7f5ba28acc4ca0c2110d52afcdbb3a1368f740151e5a5cb54f7731f2b07ae36988cfcc8c4ee01c9d517fa771587f628ee3dffd35b0237fb8e6bb90e16bec87316c240e8220025171224c25afc91cef94f4662beef267918372a8cef06d4273087386da352f8a66795acfc71393131ff444ad83728e6130a3644fd97e81a92d237946be42f39fbf81c84ed0c07bf664e630265505d1e9dd3ac43693f13526aefe532e95d0ff0feede0302343e87b728ad2b1f05556ce441dd98b8df44be3bda0bfad810583d11b67a42225b66ae819e10bd6c96d381b05871200e94b3b49268e6605a29e30a8e84ec0b97348555287c9bf7974df49c3778b66f5c5428b994ae9ef5d154d35561569aef14709e51b660864b38fd7947d7049d414e98978a914c267fee89f642bd76c44fd83ff7ac5e02010fe9e6dce305219543d1843cafe768adf45c480e4aaf10c9a0f1bcae7cb08b55d185ee8ed0cde2e62a5c43b2673ebbfee8a890da0738fc807541cfffe1ab913bcc8d7d2c9a99c664889fa5aeffd91c4087cc96a223d8faecb2a70f672714d502675250f3065df1668ae289c3fb89e987a29d311ece5b200a0abed0cf906383fbd33f42407d72b7a0981b6dc0c4977eca0ae85d3558a101355b302c123b4b143076e401bfbd00094171baf16995001d200dea9284dca8cd4616643da38c933af5c622252571c7dee72d81be19c9ef91223b5303d39db8b31ac40baa36cf7b1d171e072b94c04a6da3048f0b6e31bfcfcd5da4bdef8e299650d9b93c6ec5d337df623d5e2b57aa672d4ce89bbd9779e123ce822fa0f8c6d22486a4b2e39ed0f361be897971a08bfe4b577b2ac00d199977d0340de81d12143f94bab2163a2f7a3ab19c811225dd0dfaf2694f3a4398e12ee9e91f52c809d071a709b0706d5dacecaa7b47fc3010dd82aab3c0d7a34093b7ad86acbdf180ff2e87d42b1510cb179ed1c5fd201cba62f6505e937a114dc7890a7abb1db01039f5ed212781fab72b9f7da825f9ab5bfcfa68ff9b24c9806ca15cf56c5aac2616962bcc27b60ac55cb7f7b549d4912a0ea3470239afe0257f7bf96610f734c3e26b731240f9f75bb6d6a1e6f8c80608b1d298e6ac626ace6303fcf250914833a6a5a2e348c52e166bce354e3a9fd544941348d2f2d500777f1d2cd9ade5c028120f7ee37d0e9f4298f989b2f943962ff164061372996f09289b2e583ec80150254c5925dbe44312e33af8944ed274fd3849bd410e1df3886351a7fd1d4706bdc37cd12ccafb30dc092e4295ca8dadacc5e4098948722888043f839b732cab065fe192288aa41f6c8530d22ae1dce21f4dc61155af949ed45526c8d4e5a4d0c8b5785f12af6077f0a17c6438a01402b8d60f320e14ba1cf9dd6a882f7ca7a57d1c022311f79544e580f949611448fa8d8a050edfb922db5c58099f027ac7a9f2c439ccc971f09ff435c3f582124a6eba03f42d3b0f68b5070c167bcf1dfca47868091805bedb4c2835040203a27f849efc6fff3df2d03291dc5a83cc6d27f29a20587286fd93954f5b576e78b8e2848b485b10a7b1a8659060e03ba7636d6ce8a3211fd7da4671a1fcf8a78b1e84c6b032aa268c3d8b48c6a146daee1c04b2f1e345e9e3e57a1531d5768a1141ba103eb6edc8633dadc0a16cdba720e7d0e4ec25b55b9b71d01f2d52e97e6b3492b86697ac39b62593585102978c5393e0ac84b6e569c051cbfb77413e26a88e77967ddfc52a1a66f483c14e104394c6546755f15641816a243de735dcd127f4228dccb76dea55208fc1890975f0868f50bd4f63e8ad9fd59508de8a1c5015c0a5fe39b0e78d9417ee56c979dd1d840880edec76f0ac3ce7887b810ae5802d83d6b04d97c7c0fbafca45fa129b670d4072b3d0827de3f401920bdf3bf2f67169605db8e4fd633b5317e16834dec2a3c96254783d1368f2d409864d2862dfdc78f8da3d21f47143b4c79aed202086f71059dd1f5ea93ad57b28b82e7d5c8e29b11d99da6d0f7da3b0d76230aeec4bd5b47c75780d38183254cf7dab219addf8fa2263f2be889c845f29edf930c0d67c96af3ea559be327687a420b4af64e4c2cb06b3fcc1ca562c82a0c8e9e7c2b7f1f105fd33522fe7ef09e5aff9c38231ba244a52068d4bf48ce5fa4dcbadddbd0baa65ea6a318065f2639ca8438cf918590e04b3dbb6721923b63f3a515e1688c3d946a923da45fb6af2293d40a50dc3e2d534c720e60c93eaeefd7f5487024372e6fc76ceb8cf010439da47130851cfdd341b4195465961dd7bf1e40aea4a92dabe0d11374c23b6c8bc73f54daacc03c41eb25067adbf4cc2b8ad8e33b5755c7c82bb9cba6e2130d383c7e4f605754e6e23b4990053c7d3f6d19519ecdd76cb070ed98a9a01c948785edab7ae3a4057471e7e6586ea70bebf997643062c22febdf1d0aaa5ce71ce974c5cbb6ff9735195efbed02cbef8a1f1e9a93c95884cfdae88a6094276d89f8549bc9bc99333d6f5ea39925dc91cbbef180da6acd3aa9c5093c1a95f0cb020f04af675295900651e8fb64a3e6250764c943b8732d600761edd8d4fb222bd2483a94974665aee185e0b27aa3564275b988e8894d5a63f6d492b4afa4b372f8b584daae697c74e6cf28d5daba934e3efc68b00631f037fa241611eaa72c77f7bfcc9db1e23b79e874c3836025b350cf2b20665e041b86b425699bb38ae801ac4eb66e7bed75c4e2fb9fb1eabd33ccda5e7db45e6651be8b3963a09d164dab2e8798f3cba7a4c08393d961240ad6543c8c612460b126be4b5140e090d3ae94186950a8f9ca302d1172a21f6daa42eb7d0d3a6e6cc032a3300d6160452e9d2e8546d1370f5075b0fa10320479bce41df796581b002b60fd4897dec038fdbc049a3c5252f670ade10e0378b4738ee7b45be4e0827f587e3bd8fa07e6a18c7cffdf6b252b16a02eee0f20fbc86bcc931db6e4ffe3acd6526e1b977454d67097cfef64e52116a60eb7432ea23dac8570f4bd459b2a05caa5a287434839762020c02131e17be586ebec65b42d7af858722e9c3c14cec337a5d1b8e8ef147479aa9e85023507ef88da06ec0b78cd93109d90c10f847b403e9c42e1a7f0cd196bcc007090eeb146d2cfd499016feaa8edede937eee2fc6992c7781fb3e63879b4203d20d4ee67e5f63274d4fcc3d7364dac20bba6905ae39ddee46c87b259c16c3be2c8d7eead1458a871830904eca424262e76ada90b6e4bf5633f5d6bdf3931c97348b7b7dc2ecacb52cd304e363eb9a210c0cefc84e6e6f3ade55221c48b636eab49d5eccb71161e7a2ae0d9d3d8ecfbe96e4bbe8c1e84482851287d07705cbf86dbba5aa6067c4e1bc038445f15aa95d1036d43d6e60180426fd97bbd39f676594378ddd8d097416eeae71580460e3085a350127cd2f5febe9ebd6be49a71f1ef8672a29509102831c7700bdbeaabae3c6f5febdfd9b22a6358615197d45e93d23e57b1cdeb5c5895d5fd9c18bae26e6867507c3297ead472e326fdbb230d64bbcaa7d14530a9905bed69002552a8f47ec3597bd1e4d6f870209cda83db81c1bcad692479fd399b9b2ed6bc6e85556aa3254d4410fcb281dad348427f6992f5f3714f762b41f821f9994d336bb53e92127a77a8c7586e9775cb8cc55bd15276df16446b70a9b6ac050b73facdfd1aa9870af30e4cfa27a35444d3ba6c122bb079a2191309260b3a4d3737859c77af042c6e6bd74f463aad5cd5a4fa9247ca669784f7461d8196f42845b126266ba1d097ffcd54ec1871b59355fa4f1b3587f9c89a190dab49154d5182753d53e16d93b16e9f0b777c993b08eecb5e647826ce30c76ef208c223e0e55c8779a3aa85a8fc51d801548c90b8e12216b26332611be4034cebc5794d58b9627ee70f872120208e85fe3d5c825dcd0d902109469b7e397874c69853300a4283493da1e09652c1ba101d440f3b4769e97e26eb740082d894d18d45f94c8fa56afe6f8965bd57bc4a441887d37dc86c901681ac44a1eb48d8be94744c2fa71a3598fe4a0a9b83bb6c79dc84b3de0238ccf921a133c465b3ab2ba4df98d1b7cd9cb37fce77b2bcd1ef90e2c3f01b1634d50b348e82c10015dc6fc3cbf41781be48d6bcf12964498c567d23fac65083b7990d7212c453861bc7046028939b11b90ef12012c1aa80df792741501dd330688aa351171580cb7604baa6df1a1a144b78e01180f2e72d4fd36cc3170eb3e612c6e7794e63a0dd47a3a1f72f84b543aed4fdef571555ef9322f258adc17801470e1d20d69790e6b14c41c2ea47b611e4f51cb8d4157fe366f1f7014773e8b0577a367b7b4aa2da99b8d4c0d3b2666041d07bcd27fa5300c847b1213f597617b9642fe9999b7d686b603f6efead28688ffc1c589dde9068e933574ba8af4ea4273bc20f363fe4cd0bbfc5f8ad3916ef198cf06b0c8e08a7ffa339236a4a936d184d7ad4b7f0c4ade86066f26bc98ea3192e877ac4630f1a5cf4f7fa1453e3d5eaa76689c6b674e2c3b1db3d815cdae0cf7acc5f225055b9b049e62b7fa9ef404c614a4e2c9138ad6f69495718ea03fd77ae66dfc7d93cfebd8cb19b365652fe68ab4a115cdb2644d1973f33d7d546b53d03a8697a540297cfc58a47cc77738906f0bb33b739883439d40d37042e54f8563f43ce1d04cbc527fcd898c5b1243fdb4aa474c9f2a288a987237a2ae7c4042300f01e80502e70a961fa05d99cb34baeb00de132ab79bd5fa52bc33abd660110e10780714afbfe5ec0c924dee39dc32a9f1a32eecc5af8d6f54fa96f3f4570e3710da1a4b68a445bd29f383a6ed7bbee75c1439bc047c1f8e9c92f1cd109547d2123d28fb36a56b008e3df856e02db79b82f854cd1cf2887088447bb7fafc719427c8d4e3f8468472e79bf56cd4a97a0d8a1bd70a110216dd46247d492ff0b96741e91391089d8d8337c409fe47f91c48db32bce683a296d489c6a4cf9adb43c3914b91fc450adf7ddf0d6ddf4db8f55db0065ac88e1dac3afa3a8da5857da7dbe62b1feaa843067451231a767100b9898da87b747ed47e04fee1feb0d29264306e47ca83bdf36c29c40244549efede66ea185858e165d42e1538b7d2e3fe7066db6d551575273d378dc02c39790a96c09dd31e0c66e358f9b45ea0e2d40d91a3a1fa4982166116ad99c670510cc9de2e8841378fcad3a6406921f615253d6da65f463cd8f44a0f9caa8d886cb2c4a36e93f37f41229170ce23b3fe3f15c29d3e2bc09d34c41f044d9432519bd78b93b6287831650c947c043994eb0cc81f69294a99b6080a4e24080b0bd6e2db8684b67b555d7e2853a52ba3d585c1521f689a4d2c74559868b6e1dca563f698f17932f7f32b82888f63b5111b046f377a25e703b5b9f2cc5c6f574ea0460d4208e3cced1b1fb95a9b3cb6e91070b47db36c7925f54f654245a8a1c6f105d2db6879baa732ad715822ee6be361236d52261ea3f48fe5345aeba51b32556c57b9ee1105d9d129fa71c9c0efd883c215342b33eae42e6921787e216c08522574c28ed7e74c16e8de9478fccf1a49b9148acd603c0c9849e764cd2a06da3d71d9e70f4af7647adbade47e28ea65ad4ae9f4740b41018136d1fb8e627c5b84a23f9fdecb6ba361940cdaf961b97db64d6af4cfcdb3a4297d115c355975991eaa97650ea606672b327658698e5d62f775b6899c885040539e4e9a6220e52c284434b67f3a6423530be656b242cf17e57a1f6452a814c335a8b6187bb59b2d4b8aa40cff6c0acf31fad01a2b2497ee0dc57ba5862997ceb8b68126e32c4fc20c0f19b95756845b23e5c325c7239e6d10ce4009cc511dad6b35a429d2693ca67a6685ebd55fbcf40af00d3c1995228f89889f5ba39abee5b8166a6ba40f18cb38b28fa9f4a4846552f66ca5a598ea048c9ffd3a5d10e9019a2fdb10d2159d146359678422d1cd829fafde043086d6ffe33086980f949727d4377a92280febd24219746087f84b90713ce78f61456b955840100923052ff156d5a9ad7ec5a3df781817742abc215ddccbfc4a44ca7066c9c73303ef52d67bd68499dcdde0e3e1728676995a3985eef432afeaba8df2c3dcf93adfd3e34048ab55b7b042db3a11250d17d03cd2d862913a5e6128b5f7b77a68b396c4c2dbdbd1498a28e8c51b47b6d79626126a35ed0966e8572779d5b4475dcb965827c2b16106e3b4da726328f6160506133b7c1f3a8bec5286fe87169bf6beba05b734c21dd6a28fd347c7877f66f9e1d2e18dd5e964ae31090ff5dbc35d7a52d35f35646fb14cbb96e10e2719c26da0c01d6e54b1d7378213bdf32b7e8e030dee5168df326bc3a3d083fa9b716bf8a2e3aaf08bc12f9d3e1f14545ee64766cd2f4bd71f019e75e0c5a517e131fe9bd66d86765530aea421264f03f3045103372999572ecf4b9786d67d91338c3af714ef25129ec280a88cdd1bcd34e91eb06ee17295efe3c2f30ab590ffe26d56d6c7b6baeee33b19bff93371ad72ad545b7f30633ddf5cce673281c6b25ce3eee520465283971a1591c5d1921ab6744e73a4af556966c11a5394fb052493b3fc042047143ab6a21f144d3a4f8b559f5e6ca5caa9b57bb8438492975e17cf531797968b3bad7e9a09f08c12746260d57231967e5068797b1c741ea00a412fa5e28e3e6fe3fec2063cd2f6e481e8e7f79baef0119357111369f6f74c2e503785b679a6c4fe921a9d3db7520e37b6985a3c70e71df20e62144d30ec4882941a810aaeba7b2f2c1359396bb33a4a2c10b7437e56562bd836f4857054c0274a805c4701b9f86461e8d3a0f3587d47a3b7b2cfc2dca40050411bcbc02395fce86dbb8b23c5ae790cc347beca7b18141883fa18a1c5a2aef3259d53a3456c8403f917569cef86ada976e4d0e650c21b887b992ab381e78e96d80f205be33a1ab07590de3544c4512a25fc7316a684a88bbface2424f6708aea6486381fe2720618401aff1d2803e6208e238e9afb5831933df5e159d5b411d9f8ba86fc697ae05702b13172a607c946a392898ca6a8b6c28a7f26bc64adf15d4c562998f2b9b9bded76051c1aa939076652708d664914cdec0f30f099bb6c1b1dd9aedd8de972e87d192c31d6f0d3bdfd1260fc6d71d76cbbdbaf8755035884799e36953613d100a740971a52cfa1580c3b0cbc514b1d959ede36ff22224e56335bcf1ceb2937ef6706c5648c23cf5b45d24f4b9ae3221f2af7cc13a74ca4e5381c79db1959454eeaaaabcf7827b7e5ead65dcc4149df69f1e3ee4254240e0680c880f3159e95b58a4429eacc840fb3c1830084ae60cfa795bcd7d77552acd91e678fa0585a0e5c2cb2c430637c2ca77051d0587f737065f74a7bbbafe13729889d5116aa693c9985e608195160f7f7a61f445ac4372bb226c993215f42ec5b55b07df331b13e07362e2c86ab619d48367eb14d11b5cebb7d4b13eb81817f24a190de995efa572a40ce53e5907f1ad55d3e0d284dbdae8e362d2b4c934d2421abfde67aaa4fd91541a16240b33cf796a7d1b2e417f4b10a52fb91921601b249a789f2b90986ce0f35ab82d666b9ea73a2f3cd8fb764f5e66ca6274077266a5ea3d3060efb15ac575eb62126ba55c74f1424e1a5d0ead67d3c37f546b9f5caf3752eacc0ce504fb77bfd5d86414eaff457e70a1f9fec530806b7896f052cecdebabee1eee95556f93aab4db658c01800b2ab94c85c0887447e72be1fbcc340a09cc28daf52351fc7b1e013ef6f97635e150827ab2d7197bd7732b2b74c37d62283365dcaf25b626b2f9609cb58c4fa8269927f63b4282eba084ecff9d5c8918ecc1f9e938eb3259e875a4239deeb34e8af38c6341521042d80f04606ebb02441ffef41cdebca01c695aa264485457a84bbb18d923490e05a7b1456476e4039c5b3027c778ba9bbe4dfd746e46f9d201903c75c3c5ae7b4add63cde7d391b2b4e247d7fee8fae7b64d5adf5d91f30bcfb50d49ec14909b99a40176febf842fcbf37023ad72ca694b0bcb7d91e37bfa423799b5b0036f770d9936f8fe9ad4d5d93b68d2ae3170fc38a2d1ca48978aa7d6f70ca4f2ec6d79ff8eb8b83f0c8ae56ee465e6990731318b31bf2272261a0b748c6a315ff547f9dc3fba9d3889c0aa797ebb123fc46e1d93741516f7c1e7b29e02713e887bc3cb696e162ee2a331d58172c9f1ea5a7d5755dc6a3f9851d47cf22a6b1b99dbada1c2b40bc8478d1902d71c262602c6ba3583b5d77c8d97707355fe2ec5620d66b1670c3e765c34c125bb6ef0bc139863cd27f0b1d8749cc2f0d18ef865f71ac125b2c7144f045783307d070abc1faa49046113fbd4d91c00ffa7ae72c67de4025618a4ca9e59f7ed4d91fbffe1c46f69040ef722e812dcdb6f878500cd14063f45c63c78bf6de9863664b4bc16a02222ab82228d7451fb45a283b16b3a3f8756762d97095584c3d3fbc6a1f4791a0fc5009f94b13ab47b27cec69b1bc31b6b7ec151fdc53c512f085c490c33fc1db5be223f93a00dce7c7f1f9139ff37375342097cdd58da43629f1c62c533b5e1b906d85b9eede086b3e2115e9462324b538bd522d4d44e5363b946893d23b0e4d9acb8379a66d31130c846865a70f88d380a51921836b99bf2654b9b6df6a8f4b7973e607a9c61b5b9e31e79dba01a20cf34e182a438cae005f089b4f35b61063716063a696d7855f704802dd21da659b1adecc65d369718fedc88165c6d870b64ae6d02bbb94ebd65214e0ce130628bfbc4576ae9da5edbf9f5f92f095cdd39e5bd431cfafca0b03a25dd74d82db44df2c86ebd6cafac1288a2e3cd2bbb0d402f7cfd71157cfb479a6bed08058617c0a5091267fa9d5982e577ece139d3e015ce81ab549d2b8d0890c2bc2924ad6fafe3048aba525c918e6a62bf4d79271c84c6d2408b3d56d82097aaccca2b8cbd2dc9ed0f01909c8fc06eae06e25c458083dbf4d43ee73ea6d78874859e44768fe0646a0b9ca27a39149808ab057edf82b3dd5fa58ec8d954a6e144d6e34b260e30532cd0c21749044c3b07683ba180c7f47a0dc654562b0e5fc25d395b6da35d3f52487cc6a915aa14ce59f08e03e4fc714b46b63195bf932bc97f6fdae7b5701ff7de864e399b5af56cf8d87ba2b37f1b9ea11b7f454064ad3a72e07361244780b0a9da2dff02df1f050acbe378b1e84dca0304d9f303cd6fb639702b16d8ccdcfed0331986e373d1b61782be2214570c0cf6ee65a9942ef0eea16ddced65515c6e9de6faad3337ff6df72a44c0fca645e7da59a3deb40b98010a6539159892da49ed42bdec73c78f226804d23ac3547c6cfb4339571aaee2d18d32f31a222daff6d70b6c334628c533715f3e6a98b0b9da12fb6bad2a8ac2aec91591651c4f9fa54b7fea41c70f2b68cd338efb0bbd1f0640b74489a308fb080526501946228c6b487e74cfe6e8ab9c1b5a81bab0e2770675a5714d59220469ebc5ceb67581984343bfb12ba0a258fbe61de6527c7961e893ab4cd98f3867fa4ccc05bd7c42aca463c8c89b6a288ebb61b8767028292f8765e7dac51f73410a3e0b6ab67f09d0f687989c60d22d8b262eb57c2172f9f4595bf105bcbc5d9ed076809bccdac165f1802205be53395271d2423c6db1900791ea29aac8d48ecaed1b6a43d57070d28117fcebfe9b4e0d1442b9e284f801f6448f68871d4c604e806751c9b62273fddccfe36eb869a69f93f4e07cd5165879f78a8bfaacbd911d77eeba32a14e2d6e0bbad224159303b850b4d4473dd05e37743cdb24f267eac7326fd79a3e9e32d709e580953f7102bcf50952696539737973086a18b8d954e688fdb6b86588a83f4f6f392c646f4e04237f2ef430b99eaad916284fbc46e0d1bb023e0eb4d4a950a03ab35a982f3230f433fb41db73d3ed46ff3bd6e78f12e5aba2ed6a879c070c31b7b0f16016b1f4792c39a7593844f1076aaf8258511b74104941b1b64bf0d87cd95df665f31a10b55b9c82daca768b029f0d057d974f46da672ff0ea8820a64828007b83b9a2cecb1c95e66ed9e377b73f951979e6d07cc6979815a9dfc75b02df270575e081908936c8934802bffe6af0a39dce67bc4622ed78a8c60739bb556e20bb42d77d8e42acaf5f4cbe1ecf0fe8ea2f060aaa78aa27fad7db8120fe6041922b3826108f19a60800d4115ab0468ee26b03ceeb0c29d6f8fcfd0f811aaf7445e60b53c392f1221654d61cc3921277c3d149fe33e2f998a28d6740dfca0641d91500e4a336cf12cf07c77d9bb1d03355c790f81f76fabe69818d4d36fe51526bc76f4cb780846450c0980b72662032c9573746abfbe4474e53cd257644eed7355bdb84dedcb28df39ff09a874a87cf6d00f38b9682ba3b7894a5c6d38b5a5603f13324e2bc32b7f765ce5d1a59327f8a0933490852cb12fb80a9d7ea1affbdb863b7e059f72f9af916190b4806dc99e4d66c991cfb08bdda5e21f6549dfd4f43305746e63b06256b29974c2e7945feea0b7e71759749b3fc220da3708f0474164af4d8b6c053347489e46afd88f728a08ac280f31b1460b7d1e25c9cd44ab3ded2e76b03bc7b8669dcd91df0920d313f645e2530f792597d9413e79ba0211a2808b79109302445995673c6669b3bf9939b482738ef249386d7ff572153274b87cd5010742038b1dfe4d29c1dbb82d80609f29aca89183a999b1ccda1c9273c5daec7e9d8a1916e5632010df4592a6170ca4f0314b00350c14ebf10d59a57ea1b34d9f2d31d7a0640d0a5629482328de69134f78d8625178fcbd32d56e52b12ef670acfae5ad0b33d8ea8eb5562cacd4c421e954d4f8d2304e3dd7ef636b52dae4d703c724c891cff85257152c7cb317ed1ad772c6beb0703ff1227374966231a5e788d155eb08bcbc462361ed70bc42cad901c213df435c3e0793501a04b4dff73d16df07707c7812dec5ba83d659e595daa550b0b41e411aba70a884f4bd1bb56e38eca865aa22549d8cc9ebc0cf29930d37cc086b3a41ff6e488bf62b1be0edb232484c2eabcbf40b95dadb45d7c32adb8806efebc7ee25cbdebe8607659a6c5021737498fa28b1fe75946461dd9ddfe37980896e2fdf948bf438bb4515606d9be002dd9eb6b2960eb2f99541e974e80ee96f823b7f57b2a87a7b67c673180688a542a67f3e1d5bbdc7f6b4cbf7d424f1125fb5eb8e5681eaa3022753d6faa8be1dd7d61dd1ff432765275acb51c305260d7a76fbfb095c3e7eeb35021efca372a1d8a818f6bf0b3751d28e08d515c422193acc24dacc095822b178fa52b93bcd821ec7e9434481f0abd8b2cda9b99d4641b4c6f052050e83d2eb39a959047ec995599e86615bae38c714e5e683a3b0e5d85e7cc371682b1d27c54962db574ff36a69a1460cc5654ed310971f86f5bde01caee32a9cb5d3172dc313874b7acae74ab57fbda8703e83c846268ba7fb45bd42db935ad914315d55fdcec116d6caba310a044396860a088d6c20ac023aaebcb6d69ddf83f7666439562e0cc6031f67d939b06e16f0dbf5ad68998570a01b9627459ce650a61cd7e7127fd046ff1ae4020369a6ac790cf261d46027b03335fe353fb4515562cea42f7031ec80d67833b5d98f3eb1b648d6610882dbb084277d116ed634a82a9d36d1b2a7ce33d48dba38a993f22b64f563c7c034601ecc8b0c8b06857f6b0d163a2cc1856440066c7594a137156e00a1fe9d8b61c1b969318e3801e8f46c891ff3753b559c284c343314dda1bc60fe902bde5861a9db1d81f9015b332ae6a05522d48982fb72db5e20f955066f3c9295617314fa371690bf9a257038f9fd3653d9b5f7cdd9426482d57e6d16787153007edd7f504623c604b86c75c26a21542370f71de91e60b8c33f98c94a2af7fd59813f163f0d7227efab17a8b5f5cfd51099f70fea2d38ab7200afa091f53427306a7a5e430b22f8215c809048e5c768c9a113963d2d42353dc24c8a3bf2a4e48c8350d91ef0fc6b0010da284f3a5a04a25f2928a8d6feb08347f4454b6f02c944d60c7635c8473ef252355f6c16478eba1ed959b91f4e5220be1139928fe7f31feaf130ac603a0343c473e2f865044f52a6339906075fa19d0e84b372b497c9d9944367efd040d983f6bf39e46b77649dbc6244c956b653a9f53cfd4aeec117bbb6acc228a293a63f65b3ddcb9fdff70c5bd5bce92b54e78499a9b58d6e88089af31fddf036449d7f80f091ccfcd340d704b662ee504c0d3e68ca86541cc74c7b8574f3ef94d702a8ed113233e4382d559ab4ccfb4d5a6b3847266054b69ca2417d8df28709677c8f5a61cd4b2310b8cf83b7f5fb7c33fbb1a0ab2d7668cd42af9294296c9fc8fbed2bd0d34a93e09c02080317bf071bb22c05c49c194664211bf3fe5c6095a963fd62168337ad60aeebf10059303070ae9183b1e52684eb3522c5ee889e3635dd4aca0eca140eb0985d6814a797f98df6268c899df1d0793761300505b31a68d5ed03b1ed8ec0e2cde1a3a158c6cf790f176c168261f9fca5bc1e646549c244d904b5a421627e15a301e1ad5c617109242e5c375ccf49f92ad8e62d37e0c01571bb1c3b401fd5ec704c14c4e1d1c2f36554466314f38158d870edfa985081e3ae80f60ebcdfeac30903d6219f7bbf3c429e134b84f600bfedbc39a3e733a60ad6ff94c36825ad4440851c6eb34927b10073d2f28d66095966082752830709f6a410d57b9f85ebdc3ee834750db4f6b24f4660ce59f2f6b134d08c2e5bc81d43582ba0ef53734626650b44b235fe00eed8fc66d50c6eeb99e9a02ae74e3937ebe0cca21c3a3e02ac827d2f8dfc05d32acabad920498368ac4a0d1f149bfa69f763e8acba80843013b23b7d9e009297de1bdbf310ec9577aea9dd31fa5191299564969ceb7140c886c7bdf55ffb3e61475f131742f70210566b57521180d8fd8f9efe102415c357fc0478a965463f61633e997e38630321fc921e59d99837af52ec579d3df27f43cb88033afdc408f18c3635194fa8f943e71e4b1676a7a68b60bf0c758eb099efb83b66e58a8fbed48c6fc805cc92d2645ff6b46983cb223620f2bb6df619f1fd8e356c6ac526cb982baa7acb2a29aae6b3daf466ee2f0a4ec0968938d850d0e005916679aa5245f52d517e5ef75a95cdcb956f705033bf30ba378dd39d6ec82312a86d54fe39cbbe46fc7f0cb5b325b45dbaf565efacfa6f5582a5e792e6fbe2d9f8c4fc993345ca3755042fa1e1119a5afaa1b59261a01f8bae4201156fc29816c2ec7555e3388de5fd3b7f533ff54471000f515dbb57becd9695622e97183521b2cf29a1aa5dce64970dd615bef0d54a9a45de91700695f4d7c4e58d06cfc75b0e5b2dd69fa64145bbc996008407551b47f0203ac7375d6a504ed0c129ec0c6dc02100685f4b4a975c2bf2aec7bd0bcd4c09f9a473d09aa8f018644d9ffe359fcac1fc9e94f439a4a825254663c9aef01925073a7e5f6e14293bdcb66e4906e583d09818550148135ff275045676cf57c8284ec676e2b0770361c8f0d85b12b14e0011e511499d86de064c5d0999fe159033a50ea64982f05fc5d4a6d7068000d62700a995ae529c945075f6bd83e4d514ccb174b50b2f7aa6cda3214a95f0d7d12f0e326be3b899a3e1160e424c40881c6e99cce15d95adced133d3583e3809440594549e344747e23d1c8ea8ab924f045f6c24b08badc89a29ba4ce5e77981cf1da3ea1b6ab34f4b59f298ddcf1079270b84f02ca5b9ec09bc37c3967bbc970a687afe6b1e96ea2f14fdb3951b1b3e30c858ca6f75f08aca9a9c4b37883d68e17c4b97634b1b55044d867c6c2effb99a3e9dace03da1dc9f67ca2c000574aa95c27e0cf9e4acc767e128fb682fc2634dcf22de03c2fa203d6b98e457e0f302c4634aaf0f296fb1da7eeac845d785353482992c371d1c531f8c42d4983238fc7627986d5b3a801b3f5c6d9626a3aff259ab286ab716412259bc1a1a22fc5adc58f35fe147b0911711db0210530f225f4c86466ba7c0fda718895fcf80bb65e03e239c1830891fbfca7f315d31a779be8c7de7f3e40983fe820481939f34f708e36fc64935f34fed65a0a6a91dcc2573d4adfe4ab9858fb15b12bf7c1e892519e0608f7bbd1c635fe4d6ffc6fe30307f91a739c6454e649b5fd2c1fbe8043b83ade4f7fda1fa4b679433d81a91319b222281fadbfa81fcb3ddbbac56648c751bb65d32b55675507b740dceadb7b873929fafc1ba86019e9f11e3a144f3441945651668e76a10db3c17cba33ad938f9ff6ba23a50267c1f1c31b10d6223ba55fc43afc7ea20a4aea3f7a979b8f8d65cb27aa0649dc354cca69855c9c0c6c4a681e9bc91e44876043de9189031edf8cac0c68d73d4fa17a172dd7a9c9b9e82dbf97b58a79cdef955d95172a396dd38d6b868d4e0dc95b88f724810c8172cd32fb5ea1fb3d9f68654a63385c2123270095e7bd5cd776a6fdcf92805b3966affc0ca73fb025bcad931d83887aa68c25a7e8252ce917ba664bb7dbc8040f5c292654e3e8756fd448a94dfe7afe018ee36e2fb454014de6d3bdf8099d4b12d3950e4ecac2605853e6b9d2a8107308aae8e6ade738eded9ee8753ef54ed6b8ab8435bc1eddc1f343ad3610a36b701da282578e7b997f42b211c56648d4d4135b856600f7abdd59ac95796038d6e5508ee455f4b349af36ad65ba0a2932804d69182cd29b6f91c7e02138e6623f29f63fb9f0438a6303456900135d811c64a4a178b317582514c34ef2cc5c88c57b8803dcb5b7ae6eee9e7fc1a93f2fc09fa1dfc33fcbb7c2a83b4af8fa9c7bb9d7df8274c134d86154cdf3920d513fc77aa5a03631868da475c23dfd30249ccbc4d3c17ae24cabd8191820ce17784738f5dd20aa3523203e7f86f2d54dfe7f79e15e4fa0d0c88023502fb7a7f2e08db2ad23bfd4d621e689b5c7271a090a785c719ca2a334fcdd27e7bb03d9c5721ce76cd119a13cdaf1cc144511af56dd610240b3ab5d116ab1410531b3ab40f4eaead8a383689b2abaf18104a6e68527f94ed4ac6e66a3c24db4b1ccc0101ec3456fc79a6eac6046641ab814c1b4d3a96d65a2841dc6c0eac4b87584de5bf0621b5ba5168db0f957f3c599da317309e022db94495d1bc8439690074ea8c7b3c3037e86d8666009fcb8243d40359589602630456f398aeb20cf115227d0e167508d9c38def29bb11059835ff79f567efdd5780955baefcc71da01519792313a2f07102e92ebf81aa33c41ced142a190d96fccec77845a3035aa83ee0c4fc350326b78bce60846f97e6d083e37750d4c4043357f4df939acac7a6e43373489474e502c4936f2016bca76dd365e41a7d705fd5ee250b171316d22be289e4b9de39c989238f9d94df4b05c0138608a4e0175cfcbc0165f11377c5ddd06445bbfb18d1e15fcd230250d63d4979e681dc644d895404340d2baf038a375f3bf75752ab38f525618bd21cd24e05b26b9b5da12138f2cc3c6dcdc3049b5e568605ed85bbebb14e53cc28c412bf1bebddafebc1437722937e303afc38faf6d3190a4406066b8010df27640c0dfda2e46eca6b14f337419dd8f4e83be5beeab0a319c0bf2307566547f6d4902f1f67343bbe3f4fe35b9de5c45b749f316ab9349a2018767895c67ec253c96f2c9ce19d9112082d78247977041ada8a48ec1846cc5a35ae55dece3d9a85e4dcb1493689ab16d7152e57e441b4b0e902a604fb4d49609291831b80260e98469ca93b1a0358a69445f5df7dab3d45eb6642618eb7505c7dac264b2db03b3eac745bbbb14aa28caa9542271068e033ffb2a51ba431b44b7474d5bcc02fd64abe0ed2766687aba9700102aa5918a1c0a5f26500c47e9817be3a598851d32d984da856e2f60590a6739c04bc0ce2703a4b2a3166d6fc8e1b3290cafe58abcb00b3d27113d244528adbf53921d8ed49433ed385b8db61e1c7f3c317ada201133c50f2d293d3f52609803b9214873fde348d8721233b92d939f0e49c9bfda0baf9bb375a0d0e272bd9337e1918447d37962f0570bc07495afae9ba674b159736bde33d8fae7699259b05b15ae47b249139d2e7acd7314a2a25501e0103a674de7449ba4d94e245b786548caf43e1c3f1a6ee7725a7d351039daaedce7d8dedd82391ae47484e484bd84814c0ddfc23bfdbd7387df0ff51a88a15a292e3ae824c2dd30f9c1dba8c23344f39a968fe750986b3503e20cd8a3911358cbf1ae3f9be2427d6bb6e8c8c5c2e23cd20c91c52fa657437641ad0f37041c78de22c646a10dc9e83a4abd52d9a3dc3246dec5fcb5e7c5d5684805e522f4b978d2c5fdb14a096138a065561472e3bd386fc203084180273ef29c931e02306e16ea4c8ad61e8b321f2ec019c85c6d4becee1590797658c29f7172158456fb69d0e259469309c0b335779d3a8afc1e3169ea369fc23d79fed86677ad26ee093371ebdd0f3ed65e6512905db3947c689d96a886b9a745f8ae666b5502a54b423afd0e0baf87be75680ee6e2ad2a965f9fa213094b1d1d2d8b476aa6fb164c37cf530e17500863213fde7a9606b0603b04073159a7d34b8e538b4ae44e54a21e0c6d50460cb9897f67f6f1011b46f43871cf81f5f8b6916590adc674db5a0a6263c6aa3bcbbd608eabea45f9c95a85df2b904fd76c81be244d9644ae3f0a1950f34d6e58d1651db786e2fe96e3c80b303b46029b2daf54a02a4458a093cef5329442f12eecd9c5d444f1911aecbaec1c1ae74eea780d3230751c0ce4e00457b45d0c94f9263be378a64f540093b47cb09182487c00fda7a26c91d9137a0f0dced4dc507520d9e5da5b2ef1491bb20b0408393a43d3c354ded5e017d68f8a4c5bffd8e1189017ebbbbf035afa87b2e4d8837ceeae7f8c33f3e01a8a0fc9760edd1f14cfaeb71c268fec9c532db07b3855238248be8e10509cfab566f75b4bbd356a3270d01c6e502bf05c196f01da3d7609677d1c444f189899901ab30bdc43cc2cca2d4474ff1f6b761c799163e4406f7b0b4b1a0161df9c962bf6a9f0df0e9ed51c278710260e3da090742ca478f80506172224e85f531ec446f4a3b63c60ee4aa690c7b3df051e1e9b8fe539fe130396962989947bca6b193f2faad9684943523c272346ed85a43fba7b53f5e629e195c422293674841698b1b49a4f663aaeb9e8fdc18de85e2103d42be1ec7d64d6662b12fd0e61e556f364d1640dc19bd6b43f17e333c144ffd20fec4bdf26fea458200c5a77f66e52785595689b5f38a7d52d6add59c1d02493ce2a21c57884f2d7b0198c3f0a1d82ca2a24d5cbc2be66b13eeb250a8b281adbc495c7d43b5e5ebd66ed636d6255a0304eed34756a12957e57c8d5cee1c13e23d7cb7317e25dce3f9ed06088ccd6f8e77f014baf2f4fc729991b98232bcdf943db948a6129304a202a57740ef09bf556472b51e87beaa7120f81ce41650d2d3db5717b9159da0d79a170578769d0b63f2f32f8ff6b01c885461d1152ab116acb670da32d77b232938566f8ab7a032c9970d07a0f5ee5b3b28b96c3ab4626223f5acb09e19029e4937032dd7ae723850c46df44c6a54b832d07451b6bfb37ca3a72f1749025abca804a3c63bf096796da3479b4912cb36d04cf595b843f18f321978b890d1b8a4a99603469191a5fde0f10c8f426c351677cc805beedb040f9feb788fec9d5f994ad38049e9910670f362199c0acfa9be7fee3abdcb2e2545566ef15d019a84d82ae9f2be9540c4fe218f161090c79223d83b40d3619cb23c33b81720e4849e2104e84f922f8e64bafdbb8a124690b9ca696a0a51a9dd8598a288f29be044ec6469110ff2d2461a6081844be2af9b300cfe9c8c6dbae929b6009547c739d1f5ab17082be68a649238b710741579fd96854e649a34a9ee5e9054c6ee139d68209d5a061caf3dba01d97b217abbb202528c699425fd2c006b37a79d55cfd509d7d230a1bd945f84fe55c0b10c3dcc5482c48c5ae2c75afde988227931bc8307b89a6aff998b9f86eb25853e9d0e07cef6564b339a9f6a47866fed958db4f4aa22d0bd2eb0b8fa28cd9ac074ddcfac5354fa682c9fe5758c4710add73e87bda9063b78b7e1a9ab20fe6669bf5870df3a8092c80f5cd139f4c5d65d3dc49542f9114f416dd3a18565ebef5bbceefceb10e6a0aa1c3902ea0fb595abf4db3bca3e9a95905407ac5cdee0c81021a779054a065ece15d2693857c13768b0d0f0193d44d8cc5389975593c459669912ed5e9d78a32760ee0831ebaa5ee3c9c9fe62da465e69feea25cf03e1e2fa3e8714e07db8e876e9ac9048cdb2cbf979b5a1797219f864e7603800fe8d1438702645f75ede19d27190d137991fc9f01e21e184ec8178acb1954139b7e4fa02eb52f15a2cff9cbac752bbc442b7ef019ad46b8993b0b7268fdec1e3b9cc8ee12f4255f23cf0b265d744666e945001bc8c6f706e807d3962438c8cc9d7570295f0eee1514d47ed92dfeb2f40f3f24593b9da52cc0ccb0f7ad74be080ca32dbb1e4d583d0c29b0626ac682743be68ceecb273c487b6e2e7b47ceb729af7a77702dadccd7fec03fb93494d01ebf6bb6cbc569deddee7be1816896cc7e560c7e2ee727f930ef4ed91415e126d22fc781a42162927dbb2b4ad2282a34097df99718d29f228defb918ba5f25a2fd2b145e292f19d0fbe04d0d9b0acb779ec9801307d7eee842314fd01cc07246b46ceb3fc1d41ea6f56a383be2debaa1243f1f60f13e012da43891fc56c2ca22ba34511bd37d336ba373d1aa66a3f3f5f3b7bad46a58e77c490ab6eb9d95948476d1cd4845efb9fba68a31d4584914c509180866be9414a50b96d9c50e772757bd9f8499f451059fb79014d752c5e3bdbfc64a998c171a4cdcfb334af8787fb69a4c66209c0a1805f4eb0cd44c86cc24b999571b79e7d6ab3dc49d8050fdac2c65a866ba1068f358dbcd07c56ab4c2c68a6b96642c745b73587b8e2d3f6c90285e3bc083fcece23cccc885616d55080c96162dd9d23e58054882080d37a252af869708b8bbf99e90016874fd0204ab4c35702e441501bfcfb0152c1d83e337ef71b02037d687d58aa61f71386072d325ad98a43b898528c065954cc9b72491b71c3290f102350220f404dc025ace873dfe7c3908ec5c6f307fb5e624da46b23e6e49bbee8e5542a7aa353c970f533d3e034f842d5d6b1dceaad42f9858e7f9e6facd28077264a2ba7c9711ccecf6f21f83592779a24486d1ecabc4e3ae74cff3a39b26601624ac2a49c7ffeb4955edbd629b2b8210686610d2f3596fb5b564426a760ebc1d2e9c47507cb007315e8682c0c926566d8262374802cc8ef274ef9e81960786dcf1f5b8797c816cc7273384cc5a45b9866df7384d2c1e635de58f5c94f37818a7e99b624b3a1b6499fa7fbdbf9fb092711c7f1eb457bf0a2609df385cad5b0b7645d4be08d3ce585e21adb06d209cac1cb454cda872aaabb0e67676a4366698365610e38a1af3a9b026ec0dc014efebca2e2617d1bf83dd978fa6a888a9e1c4f5420c8f9d41627fd13e6b12e4ab80876601e08abbb55650e311c5394f9414f619650613dbb077b8b5cc80b093689b988d414c897cc9802e2cbdd04f513ab6d6deba8e2206bbe0fd8278a60075417af59edf50d074d1d8bcf752cf8b918c9aada7d6f722a0e32b7ce93c893a5566f7dacf50792b795b1680632f9949fdc859fe4261610544521f66a3c9c992213b65c9d0d61f016c198ce576cf88e6f073b573e6daa765c1fe579f385089029c39e8d38ed7251dc7e0c05f95e5ae70a921430e998ac9ec3a13aa0297068d54cab1d47cc883bca7ac696638e2eb009396ca9592b3629ed6eb7bdbc7ade9107d3cb1975aaddb3669d4f1e7a3015ed367ddcdc0f019931cc10f9c7af8ff9ad4895e27b2304693fc0d22a59ea217f0208908425c236ad0195eed94913aa2e9f65bc880cca9c6ffa65988c51c1ef612739c8c17bfc8dd869806f9be72f086317964445b83edf2327ca862fe8dd5352742dcb7285f0438fff77e95c053d81f91b8d53ff039b30388f4e20a40d446f1af5e39ca72884a7404babd8687d24c97cbfc59acbe315ee955f54327be664f5f70cfea3f00ac77fe1902c6481ccba4cb82e7c279a649fce9b619fa850f3a1f4f17b1ed002c694a1555ecdc6e380f1c1159e7291096924e99b3b88cf47e575f6007b8721a1c59dc7d646ed9e35f97a9929104d81c033ff2d7edc8b218cb315d5b49bc4dd9d221f0b490a1d6be8279b046e1c9a7f8d34310e034cfd2550f5800ff5c291c1b5ce190aa55c80cf48001c5c9de0ea5f62217dd66533ab57b975744356563696b6060b77cad011c41164d30198d567f43a26d9538281acd38382b1a63c27bd7bb5c9cae418b8fae110d21f0281802a6b606a08efa1018e03c344060dfd39ec0e254b8901d280f58bb1b46e1587890da2028a5fd2acc79c8d01f70fc3b5a8118e7e178baa0a10c7c93d88db6716be338c027b731b7388fc7fd9e4b2e11ca3c74890fcd194a64c69a75b792eca15d3229883bb09b753faf921a6e602c2d1747400744adc68a9be899715c976520c1ced73409868127d5681a56e44420821c527cb1e6bafc0dc4ede7b6817b8b67810c1fcd01189f8e2850d6ab49ce9152acc91b3f28da6f89059a97e3de1d0b9f039cd7df1ab2e05074a0813252de15a97c52db403a5e102f320067006b279c020221b830562942d72c6b81bccdde7758d6fa05b87856d3633be131e503895067cf4c44c2f415524f2124afa76831e341601ae438656ed09e1f8c93beb7bf6981313b79f1837e387111a38dddb3cb8deda7e4afb24b555b2184832b6dd8fa5d7ac1a328259166d6e11f65b0a67ea628749de56c2a3dda3c75b691896a0b5e17a798ab3f4965a14c23d3054ccfdc83aad7b3b673567f43f1007c2ab6307fe913f386c57813d186663de8e7b2454a42b050ff4656f0f07d76da6905fe18ccbdfafbaccce4c4e6cde4757abf97bd3844ec921e1377ef4ed36b85f5b318a6829bd4089f35f85ce93d6edd91f0a47bdeedc433941b2229a6f13a23556d2c565e7551cb3b104ca1e8a14dcf40d77989ca8407b4507045ee3151bd265a232557dc77daafb2b41fe1caf2e9559632ba30e532e0a7d14e8e6c8d2248007141bd792a1d0a966d00a91056bdb93aad0fb4931e78c8d6d40e33bad6fc104b12dfeff6e515885959d70f38f7c4bf41da68d670f7ef4bf21ab4ecf7f54dcf28884a2c08e3c827632b9d3ec42304a40bf92cfd51e003206fddba9644b3fd385e9201347425501c5cc3de03613f15ad4dc97d917f52c19ba8c05628c5496510d1929ed07e61d266ed246ec8b6c9eff9ab51ebd4d32358bd7077fb98519bb124820b918e5b202238ba5d8be7ecab94cf4d741126a952d6aa1cd02e9d14565b3347199bed1fed14954b66e28d7ea898cf400f2c569b66f73f4dbb605d178d202ef0b34aa3ceca81b47eaf7cabec49c4bd2b6555174ff551447bb0a354cb961fcd9b399545c7de49c58eaf626d6cc57070996a2e53ed6c64a4e1725e3ce593d5663801afe247cf865582e18bc25d0912d38ed8691b8973d048b62ad75187c60f08d8735f2856291f971e4c0284c2d87f7cecf2e82bf11c42ba42706f2e99613690b07ece3723ed8cf9f7b1478b2f60e5c87a1b5967eeda8f5e020537f0d319e4fb9ca601abdcb6e657b9f47e1b30efe95d04e46ae7417d27162ac5b3d86fd15a53d7fdda428a997f23373a846a0ee09c07ea67c86bb5528f2d4f555cf334ee1224d7930b204e9b5e1a4d0ceb779f44d6c3fd5fb920fbb9c3b2766e561b8a1855cd9fda7c7f8f3ae6ca333ef565a09336631aebfceb91be39e6554915587e2361967ab1c9caa3bf30fc3dce615710b348b83fb8d65d76a1df93022e6f86b281ffc92bf0b4993d0de3536ab32180068c0f760d5514c464e57f37873e84e1e4a1862534d1c830d50539cb76a944655d976324272935f4716ee3bf4cc234c9d3f20941a2889245de6f8f5fa9d03d8424255fe348140701b06cf26eae149d908e241be0b868c00c22ba5417a7c473ac985a3a72cdb59bcbbc610bf8ec10e1382a790359e63ecf074983c583ef1ce876e5631c4bac494bdf1caff8d2cfdd111d4fb06e49ffa796984e8457142f92c4a2974ee792b4af5aa4a8799138b095f83dc562ebb644d4bdae8822d1c0bd2e23a0992f92011f4b0474d3c3b0529eceb31666e2295cab1b8a20969a5e40215a16b85d7a9f13d2f9b8afee33faebad1ef57819c6278c0efc5c031565b751c62b9759486926b0b157d91bcb8d8773d15659348ac755aab78cf5079c7e6de1abe1699f72cc1a79897a6eb28961e13c661a768b640cb768036287463832e8822a5d13988e27df209bc1141f90bf76210f9ae60b53f8c2ae0fd11b1600232d9de08a26d5506f221b67d7a24d9da3fce6514f767aa75aa2bb96e336a6c1b2d808a5234eb6079e206899419d7eb5e8b7940ffcbc51dce1a27d8df262f6d61e1e1f01a96b2fad02ac498239d2eba1079250bf949ef395aa128bb5562c75f58aa65b073e4cee3691c7c5c163352885382621531f9292c82b5d8f868cdc6b8fc0943eb8a1042e11c004a1c0f5a07364302735a799916406a0533547a6d0ec7943502b91e098b544a41f42f40e2c8371f908f754b6b5e9c3d7dd4b9aff20451122ed72c63e5217604d9e054173e60aca6f3c98e6c2de340cb2c97c5e2b806dcb04ed98066aa1355f32bacc0cf96bc95c1c7bb734a20c423aa93ce9ca6bf340bed5f7a92096c36b3190e5c1b60ff6f81b7e539ecaa16002766b6bbbdab4c4f3b810fd4e9641ecb619509f284494cbe1bbd5aca36e619e0dfcdc0eccc9cbd558c1a7581887b0dcc19a140647e9501a440c172d870de37966c3d1623a20f1875390670ebc38b80364b33e1cb21288ec427666d422858e75b08001df12e1eb70db6b5e77097d4f04437c895fb769307f854ebe265f60e4495d6933d5d13fd2547aa8475dcffbe3fb14d316bcb3c964cdbdba7b87225b555c5def0c8a760d877480eecda7281be0b3c38b3e6bae8872b5b916cdb79257b1472d6557a1cfcd15df0eb528d18d39fcf5081cf9545cd954d25a3428a038b95a035c4eccce0ca56bae08acfc7c9a303c32e339389d8d91e641bec6b64a88fe360505012ddadc1950be90ffe39204770fadb540cdf2f25fce3baa38c34370e2be122121b932ce8c2dd2dc0827ff0fd7364d416a9729586eccfd6a1f1f5bc61a7c01b09cf0c1714229fe95695872021d9a195261b2bf1edcbf9f341a53a51038bd5d1856546ba0e8c688bba9c43085b7be8346e1855854c93ced346926be140c1904a1bf956d9b4b7cc702b50e63e7d69b862964b3cae256eecf2c8f9471b3d3275fe962e02b0247f2b19803d955de0d9c234531d49c038b6aa309e41b78e8df170746f16bb0c5c9066ada200963429f2ab7b974f8996f5b8e47192bbd134d3097aa686ae06792cb67caeacdf864674a02011304dbee94e28f9ff1bb7130755583e0554a019445cd1154c94cc90af14be7618e4a3d2f20989e0f13c03cd83e0003dd5085a1513c12b3d399cc055af5a178c74052c0b1328b83a8a62ed33e45dee9bd017ce790f0472a656fdee56b2fa682be545e6f2cadec8b45dd5426b6c71b7b606b1ddae9bf6c8ebcfb656e4f1d23b3766bdc6bda0e20b8db635b8313a4e43919ce2e3c6ceacb962eb05240706ee6ca9f37bd5387eeee4e10253819612e0bd533ecf8767d24214f2d7ac640eb40d31abf92701f5c064154a8691f1e61e933bd006ba997d75ce91ecf73b3d9792ac3805623e03a0651afe4c587f7792af227d2714645d3a7e3f3bd8042fd2d12ca5ffc8907ee29642ccc6c5e04f600efdd4b9e17ae095bada00b5d294169018c7a3b8dedce31996c03ad3044b6c768b79911431ceb469e711966ce3fb0f40dabeec8604277baf339ff9710657b3447d40c26f1c7ff4b5162636733aba668c38a41a40a8bc10f1fdb401fc60e212f07100cb2654f556ee793b9402b22ce3f75bf63ea19e24b3c7aa2b69f3c20f68bb14dcc5f5e48bacbf22e2bd7081648a3d9891375a4837a3358f7459cfc4641efcc30d9fd3d2561ca845df0ec9f079669c5374a8968d8dae49c9c1d1a31324ce5ff700ff70da825eea342e698af82676302aebaaa6e47213f979aa35a4e8b183d1f7968015ca468fdf57131a900faf00be39c179745820f5d6acfbd4f550f8207d720bcb68cf293a5d6e6fc2c6918d4361c6a8d743228e133fb9f5795a3641432a52282ccbcc65d1a04cba385236c2eb9fc2b04b670955792548fc47cb843d1c3a2a2e19d48e5a0b17ba8cf0825c3827067ea5d5181bd2b50d079349ffc9c5b46d53668c2f93df7e07ef8f2336978209cbd903dc0f278b2b4871d55803f87bf57ace1947b5886bb37376b1d45f5b54168fcce94f437cd6950f4cc5e1b8687ed51ddaa84a4a27d795fc2b7afecc3cc9b67dc188f3f0b2e5efc02f88034c24f4e4c846d8588b002b6270ee8730d60c3c21a0667bd0f1a8fb5fa62ffc261aa774666e88160792f3ffb22f932ed846f006ed92f9f2f286187ffba83f813f1bc3ccdf442e4d1383da6e8e03473dfa92d44e79601db8f72ad4b2938c78ca1fb90d59d76bf9d8c95d181c335928c3fa736b4008d9834f693a5ea8e69ae8cc031c066f63de0e8c3951045d60757cd96ab9b1c931ac597709b6d831326c9802f8da29318a325e55aaca538586e2b05c22398a006a6043a4be791dc4d3b2566465289903c644a427af3b56afbe394c1d0243c76a889f3590df0f5d0286266c04daaffade8a773ba00f888c0120977e8f9e2cd98aad6acb57d49ff7705f875b0b2c35ba91603c65e5538fdf7fd39bdb53c7c0d23fac7d16c0f3cdb73aaf9bf6f61e4fa352fc03586114e8f4e0dece29fbaf075518dee7b37324ca54585fefd06fa1683e4eff31bd39cadb08e79152eecae42e40b9754d995cbc08ad18ec30f63db293dbe941357206a5786a47a6cadfd5b78943220e26e00739fc7c4212172cfd0b7e746a43c008d4702211e9e72b87dfb17c4e86978767465708f37faa97ce5eb691c07d629f8fb1164ad9d9544123bb4027de8e9e5605c1445d24fa84c27784904af536084c0b2fffc60cb93c30f9c89cd345ed56b09d0e9aeb94f06293b15afa28996d60fa149c7393d6bec5a14ed0ba81d51e4eac64b440c05bfa0b0f317d438db9387948bb77c5167dbff0a53636ffa7a9d9d4e1e6569200e73e8451908be06cd4ca29d985a43c109410b8333db7f756dae89784677a152ac23a18ae6e7902eae580bdd9c355dd10f19717b6e32dfb8788fc05b8d404ee0b992fb76c5765500c2b1e1c845a4fc558d552530ceb26011500dfced4979f6ddaed1a88afbe16a352bf2c114ebc515e8e3378156d038c7bd55959e08fd65cd2ec1396b8e39fd7d7937ba410a325756e550315b29e792c7c91f99498edb66c92b992a096d96cabea010168edebdcdf3a563f823c62606c562584e63416ed74bd3a2df98404bb09e974836a30ae53790add224c7e2d7f4e78265e1c326d71a5947881a6cabe1067487a68d145c2a51eef5ba3e74cabb6a6376cbd3c352fca078fd6559e6c00852c7eafe6542f99a6a358662a9d59aba0447f9b6d94e6448da4a141981b66e4831b113cc121d360eb1618f5585c22d4594bd4ff9693878494aba7c22623ff86f5971a99c897a5565e9e21b1561c06220ab27d81fb53607db62c00d01493ff554fbd92aaccbc7b25d3a059b31c25e5d312f49efbcb0fe66e17a218eb925ae7aec33a99292c7e04effb3df99aa9de74ef1446558da563b86be9bf7753bd57f36b6210301522af9fbccc8b8cde5c2b60bc8cdda6eeb5eda192488a27fff097d48f94f321e0811b219d4a83582597fdaab7935595bced7ed415137980d022f0d54705046be8f13ae978440ffea691c8d3ec9ce751c1c80a5113692e8c7554a3a6ca3329471458fcba568eb4d62bcf24f7ce33d92245efe53de1cd99760d9ec22da04d3434f65ca9b173167498ce5bf22c522b1d53ed8087fd369af6672020c07395c999c857cc0f75ed5b1f218bfd895942f145116c7bcf9212e72b7cc158afeda2b092605914c432852a7342f8086ea26d0dedf1a9969a5ccd3e5048ad7efdccb79f07509703ba9476ceab5663efef2815d89932fc688cb14761cf1a641996722ce7290c0f23e7910b9f492dc659470ef8a394d9c5305663b0d29c80ee2c7e927ecc5b0294b2da84540aa099dcc1014ba27bee525f4644176ecd168225b2bd6b57e0b391a6fe810ac9a358fd4a6dc0dd49f7cac3d73eaf904116bf57c333b4d2cb285300edd3a84fa11a6dff1b88fe177fd1279eac74982cfedcb76f67014fd638bd4aaad8a49d1e94b808b791323bd5ef080f3058d75d9f691cff63de5d4ee3444e17d2d0e190823c23c83ebb1f418e8d3b3244ad4b06168fad546ef35ab0715e2ddfe3872f179bc8c6cbda5d96c2ffa1bd7f01f380a1e6e1534caa01e4d0b76768c19812b1248441dc6db82cce4bd50d2d1d2ff41424ffbb22d3ec7e42f17078e245da324bae62b2f333a9a5d6cb3099fd65cf8507c3e107046c0cbff0d68ec13a21af6f44928bf0993e3b793c2f07d60487282280d14209f7ab089c5c62c2d06e33a3acfb46e662426d9e316485b842ab986984b4f4ecf0718ebea66f902a3624f1e2e1a32be1ad615c109ae069c7c9d5ec118b51f500497a3602707861a472ab3a570de5fd52f433a8e75e8a558bdba086d7390607627176628e6e37e1d157a082a27d23468a72afc2795fc07bc08c7d6eb65a029e0193bb1a1d495c4ae672b0ab2f0ba8c686244ba6b4edbaab818338cdf019546327c14f7888ec242a3d274f7d252b562b0fcece9f6eba5f14b894fd91a77c1dc7b666c706b138d7a2c0f9ccc8168d6a45e9e5246911b6c800fef55ab0a01abc971fbce5891e2df226b4426c8c2d2cf7b9c071a5e8c862125d7390dd110596e46cdcc8cf076616a61702a3ba59765fa0c456c43f4e4542ff539b6ea58a5bf7e54fa177cc743f6da67ddefe7ac58874520c2ce0b99c29432a56fe921bde20e7a809dc99e312acae30dd03c9f9596a16b588c97fdff9938becf989ebe7eff341362828258b52f8e77f1499c6531c76d8dc65b2595ee53722d49e1b8c416dae67ba82e9dcf86d63054068bfb5e932c52e16058a09f35bc781d37bc4ccc252feded61e88ef826106f3f29d11f12ad6ef0e5b44a356a0ad1a4da4c32f4b5bac7cf0ddfe0baaf176cddb4e8998c61d7fafff6bc64232fe6f44f35fb85d822889a0baf3414f323b70907ce782e4d990749922f3b1545fc1992ddbec26984cf280c06c15352712162e15ee2a33f2856343825ad70380656b4784a78ee38fd3c9cf7aa2c79ba5134f57bf33be4401f180eaa452a4b94fa45887fcfcd1c8a33403af71765930b1c286a20b5fded10ae55b33f96bd6bec76fc9c573213460afd0c6834282fe0ddefa3ac2dbd941cb7fd796bf38fa3c4109da777a03553c9f373beeee11303a4fe3b15110027fd5d50e1bc10753740e9d0659e7184d42a97a03b511d02cd253c896ebd57d3e8b1ca223f49d0992db130f254a1a8d7690cd95a5c316259d77a3617f3413f2d7e365faf41bcdfc4231814f6309c11d90ee10d7ca7d7f31252852e0b805380ac7ab4fe67b7d33894cf3ae1e487a31dc959a51fdf73a00d9ce0c1e1a876987aa6c68223744e07263cd00173a69abad0be05b05b6d2c1481b14d5025d22968ef23a3a09eef6001c163cd0b763cf63ab339eafa56017208b4d634df85d2a122b5e8a0fe0a696449cb6c83ea65345f33bb2cad6bc6bd7644543df73e82d08af0beb29d691a8c9017a2aab08a7613d76537a76ed90ef8aed243af66a83e19be945431414c7c148cf57bc2a02748a5e1ada2d480c5c1a95d022e0988e7865b8b365050fd40e0c22d21961ccf7f5d6745760e90ab010bd819946b7eec9c1824acb9b60359f393ad9e9c657b22a667aa72bf6e21a0bae78d6990ac810af844ca66db2cc33b43e9994e904f9cf55a5765a462638f534854b6500c18e9c4e40942bf111135d44a609b0f16bf0f0f2f01090a950981f52120f2a2090dec148740b69980f93f9ed89725ed25f955d576f97bdf8ec6ea261d81e54981b91aba0692e9fe61139fbf352dda6d057514f31c7fbdfca2c9fea178b809f2fa00b36c926d2db60db55f08e59311245b6b742ff9db7cb846040f501499e000d6bc574230972b1204051059467f8c276f5234f310f8c27a40c27cb13112e350947e1f41ee40dd31e273dfa60a87ed54c493cf1967b076a72881429a0a5b7ba8a34f6f39fb3365dc9a9692b767f2e43284413d67980b44054c5b74617ef392691959520c5a1e910864cecc96ee761935de2b9c46a946eabd8166eb2762b7842ef8b280eaf60ef1ae91ccd6dda651cb37a0ed8e08ed6aeddd644739adaa830098ed8492336a0e3f17b83a189085f09d7335ebe5dd9bd76b45dcdcb9d2585cf46c231883a997852044e855b514b5ce1f40eab8928db449792a4fa6e0208129c8a542845d7422cd3e6717f93507b05a4a7b7b51d980cb94f93a108b0fb6eff65ac2893f4b39e58a2b641c010381afa7e6a2332bc2207d4fb61cf04ed43c844670e4a7f436f1918c6e5f15117d77f320bba67b8092b1fc843ca2f8fa20d25cf7a9d948fe3ce86ce57e0513287fbc8787eb575393a7f8d4e770029938841ff0c383815e3c19862b86b93303e75c4af605b004c0f0ee278d866fd2fc28a8edd860cc0c8be957a7b9e13b6d92fae89d45ecc94beef5d19f0945a657f2ad82328b829699328ff66c184d45da84dc0be1e42a7a4130ddc175a1f9cd592a573047975425c7e80fb0ac02bc7fec6a2fb04b4fb2f3d6e574bd613c82a50bb9404a50b96dc820a6384aacfcb95e22450a1d942381f39d0d762344abb6a9d2fe67f0270dd57ccfaa4461c8fb352d027158ca064ed86c07f01b9086f6b3a9bee14af3eba6485067f83c5e42300a7e664accc944335e5e8fa09929dee307db63fd16da945153a9427a690fc66bb7b84fe83f948320ab3a7104661eeb071206ecc31ee494330c41f6a2b6fd1e1edec49d249097eb4a88df4a5355095ac36a22883bd6bac87e695ab207165bc1eb897473a27714876c69e0d6d17310ccb066e3c6387eeaae496cf597c5fdf6ff2d207fd032770541314908697ebe6f3f4ee395cc5a4a68c0e40d6e89226e13b77c714739791aa71086aed57cb8aac1f685bae59db681208f4fcf17c24a5d828d548f97e8ee4f907bf0568dbdcb54e1b9dc2d904ccad8420d6f2f4d438c7209675427f0683e079cf70af17b8eff0e2e8d10a1500fe7d14870892b8b7492d7a768dd3d1c389600e8ee8cd8dff630c157b71a91f844f789dfa6f84fbd4a189fd655ed14d874499e0157c16d54220fa5b325be402389c048bef36ed55b79c504eb461ba8b66c092434150132519232588c1136f6e5d4872d7fbb22d8933531579bb75c0622fdc7392c9da08af96a1cf6e9c9314c0d724e6df1138caeb15ec5e841b53f74479580d8fb7f2d46e8aee20662ad44099803bda34792ca5fbd2c94e3d218c656ddfa435a51d6d1fcf01f3c008b56091c445382a63af6201b609b9e63dea1c175d07257d7605cb837983d55a5abb89f1dbf3b46c414774c139f16d07912f32dba6114273406a9e39a3f7bb48db810d3adbeadd28c92812c048afef5517fb33f9fccbf3e14e30ba5333a63d7bb08226184a7b0b4e2ddc15f3e3e3a2223455773bf14674e64722d0a8acbb5c69499b553cf7485e2f7bfdf990ae20b004c9b3416f1917e937e0bebb7154a7ad022bbead0151612fb1a1462a0b8ef4da94ce509ce61507f3fb471209990024015f9667fd0792f1a9a712b3476bd7960436d086806ec446f25c96fd94ce4941d9655f2298e4100e38b318c1b3aad57c1e763726f1c8b62ff5faf5cafd7bb0924b292c5fbd3ec7bb4950b9f13b3e15584ca90cd6aebca47cf8d882202d8ef378e62fd580ddbec2d354c1dab18a5985daaebe24e8a56f7f97886073c74001b172377027daf3338a6440da387e48df89d44639684559a14abdf0686f53d598f7c909d9c30fe000234b497084f4d33dbcb9c804eb9fea3c01c51b20388183ebf01fb24b9bc04865885e3314df781ea08cbbc04ee20976180b58826d292bfe74a17eb048fdad895384e4e948ee2c15cb6340ff2de6362e8cead23d30d313068a3ed506e98b4acf1e7cbb3be0cf789495afcb721d06bb785bac195db68ed3a38ef802ba9fb426c3e93eed2df4b1f4434e8e0dd7e3ac2dfc4a2accb5a120dec1fd25c18c64e72be5c54845d1b871c33e8aa708482e005d5f1b895d19bd6cba2b1d3a74f161ce3405a23a67d1e806ba65ea579e555d0b4c548b450a3afa364353b1c8eb3fcf06ee2722e0ac46b52a70c21fedc11262647f434e4b6adeb80201d27a72bc4b89e411167d0dac9a5f95ce2c8a2d3fa7e1f42c3c7426ee0aa7240e33765558164b24a2f90d9fa5005eb60e28721b595acf6b2651a327ebcacd6904712e1fcfc26f2eb43f6208948bfa69d87cf76aa0e655ba1d99cf5a4b579d2f227ad15dcc3dc13119c3f7dc4c28dbaac0c9b4fe920c9f3a2582665ef6c351d67f56c1de4691b3538a0bd3e37c1202db8f4bccd20bd1322c9a4fddb1f5719b294d8e9c151bff70e9e009d4ffd682127b9a4698027750afbb7a4434627d55c38f7d4329aea2eb92ddeab8c218a83d984c1da868594c3ceba2bcd6fccf43b603b082c53ac19dd688e17c2ce5f45d2aa257dde16b183997e640d1dd8ea09548d2eea08fb79f6caef092a56178ef433c05d4e4fe33a8eab13e00064051b534429da2f6e363fe783c91fbf8ff6ca99031960ef256674e64cc9cb636622e4adac7dd8dab4cf5c05b6fb11886a68fda65be3afcaf74dabaa7806fe745b19c2e1c8b6ffb55fbc30b334dfaea238e292fa15d47be9a7a14b5d8467b64da521893a31f32699a4ca3efc8045288fc5638b79d2a5e74dbcdba1b1b18ee66aebf6ce288d2f32fb2a68017499471c67610c380c03a9787b84b77c9661be18ebd03dc3e8a0f64bc77f92c065764e2b6d3699ff34515e8027f1c6ea2c944a2b6e7a053c5fc170b79ca2e3525c5b6249c05675c823075c0e9933d62c39bcf7d41eae4138d70cdd426984e56c7a38e47c0f86e28fc82ddc35cc809adb6a02490383a3ff5c134b224c615745661f5a03f176e2be035c374566a825225304c2b8b14424afa45e9205eba2ee5824c92f5fbc99a8c0f6eab8982dab3a4df34d4ad2c1d47d2fdd1bc25348f48f09b4b6d8b8c3a6ac91f5c777faa03747a46cffa934d468f44c0dc80382357365e491d77bd3969ccf6832081221da093943247d71db1c3742816af006c627f7ab8aa7641ac6e5d6738f9520f8a0b692d81ecb8f1a94d5d55e0bcd9bd4a9062770790f66174a0252d877cb7f8501e7e514430fdbaea72b7bc1a4ffd3611ba9d652cd5e353dc253f78e150f900547d08990191e653b54b54afd3d731513838ff6f9df2de3ba2ca5f74b4f606b35f593789cb713c12fb307068638903d94df66d7de293649af04c883dddafdcdafa027d7f19d40dc42444db7f2a0dc5873debe5a5afab97879629309d5a54d130bfa303a715476b1c99291e7448d4fda5d42eb921e9f828e00b730f8da4b3cad1b3350c79c37eece68f27902c00b917b6de20907951dd764b6cc309e13a497680f963b9333601633b4ff919551e4596028fbba13713e49c0d644cdd6491334f39e692ca8cf97ac0b196664594d90881c134d9b6f460088e71037e94c3fbe0ea15dfce1106c4fe8f7874c8086eb15b1b1f54fb191843c0340856f5b115482c68d008a47f7ceb0e790abb3d12b1540cfc7669938984373c847249003c194b09a8bf52dd78e3e7c9498357431aaa654c4306fab2c0618a90d5624ae7a4762aeb8e4b5046e876e7fbcd990f31aedb8d914fbf1cbb114c978477501da1dc4b26c6d3a2bbc89c106ad8f3a043609debf7da3442e2fc00d9a19b3588230a718f91859928e23681006867a96728c70c86a9cc5507c4fc07eada0e590b6721d31e41bfae059679f095472bdb35fd6b84652e2d56d95f25c13b6f8be04085a2a68a56ceda1dfe8ba871319d72315ccff11731e67807b54504a460916bd417a1896941f17992755d852f3309f6042e2701d803976008cc0dd2c193641ae8fc8469da4a0bcecfc5029937e7f08d1f80052cfc5ef369842e7b531cba790007aebfb88077f98d3ee1dd3ceb00990c4ad9c16734db5f69d75a7b04ac37d56e512da86bb79b219e20dc06d8d6b0d7c97dec281fcb305b9ea13e81d8a046d5df6b35240c4270bae57ad1f12050749421ffcc8e2e4c5ee2676919799ce8cd664f5a325fff459d020671f43bfd1fdeaaa178403d100f64263738faf462e16f7d4398bc5028e065d9bd80dd1bd071b86af5d884024fcd5308986aaf2521d57a4c6c108026eb7a99cd2cc88cd78ded6a9e070eac8bda8338311a7c0c64d1b0adef2798115fdcc2d0a5aacab885acae745d6472012ce126c28eb34f63e43c59ce0e78f7aa70c65d806ef978d9672b7ec11ba86517e23913f585ced7ba2138b4f336ef8430c7812fc36285b548dd8e7cb015bd8230ae6d6788f626f12f900fcb11b71e3b40d0d93f4b79afe7edb7a549620561b1a2b55e3e5197e89b29582b506eea3cbf554fdc6bb3385a5076c3bd3735b626865d41c8b38d5ced216338125f3e2b2edb5cddb67561cdd02cf0163df52ea7faf254229aadaff1607ad13116f325e84fbd56ad0dce7fc60e9b2dcc9b24ea18a49dc09dc57d3c3c47fc66c6126c058265eec0dbab2234e8166ed87ada19aa922c15f1a306c40a8d6ac6249738a359ec5f73b201d4e98018028aaeccc4f09a9c2ce68d3e3b36900bbbd337b2b139d149af331a03c03f885c3f5093b15d04da360a1b8259e9ea87a70219343b0173b9c03344a12fc0d523631e54d7a5f3826152d6e1573f05e8beef83adb4f9342e17f519264834a828423b7a7b9c78357d23657d52d0ebc34ed7d5b23038e159a9347b92097ed95e6a832387e686874ee1d02fc48c78fb016a186f6742240dbaa9593220645f7ff891748b2020b6ef00c5f9e4bfe6cfd3739a8ee8e7ea10028f09024c672062c892ad5efa60dc65d0f87d4924a2a4a1470e05a167cf8464a1172ee5c6f471590992574b57cc07ab58bafc866ca21ddd231244a72d652c23b8da7021217b736a224527a6b7c1775599a486aeb9ea1803aa8de67c283b394acb89f1a03a97ad160e9bfd10c9e26e4faa7ee9c2d1f63d21d69e1a1ea818bb3c7837d6936ef36547a0f637a8763fd869069968dcdcfd9cc367dce6362a2721007cd74f17e1882ecfe1eadae535946d5b5cbb9e53492f2bbe039954e685cffb32616b0435ac8a1a4f70448a981bccbe1f3ccdc17f38b34f8715e058b2e31c9d6cf3d56edc92c3bcf26101bf969dedef7e1e2c2180e206b04a77b5229495e103b87a1532aab9d5c8c4a472588f290d4afc2873892b4c4750ac9ad7c723ce27645998f63c3b3350e0c905c817a46bb95f34b53fd397616a153dd3ca537a3696da132521c8011d528027ff76a0ff8335df2c8fd90b54dbe5f71669260b4f6b77ef38165872db76995e4e92699a29a504571ee4ada57f4c54a81439f8864b04fc92a1149d14d91eb59522dfa7fb0ffa68cf658c946fd6c0e2333cd3825b25ca21d568979aaba5783ede9294f05c1be3e2f42923f3b5fb2b63a4480a086ff7e789ff36992a0a04cfe40ba24123db83375ba5283b5e01119f36bd7011e44cb27c4ce7e3282415947fd464492a09289a26566c174fc56bed50090475d0dcb31c1c2c12f782e65e048759598f7a867ae05d4394cc07562e055bafa4f8161f7edab629b904d27709c434e3037f06294ceed673aed531b3f70339f9505c07f302e03bbc8d3681d2d431bdb88094133afc27caeef4be06f874052768592096d30b458859f918462ff1f63872f764bcc080659a2c3ae5e06ce761f69b055170f5a864281c01fef416b6bb75e671e7d97a54a57f06a4e84e8b61549355fa01aa42c787100bbb50e32d641dc34b204c61ff11a9a14d1d74a0bed00898f14df587de995a5341cd79ee8c3af655a0fea1aaea713f641026735f9ba76d2b3c8e56e86759cf32a10102fd0381cfc632287d61c9c25578958be6e5c5a530b1237140d4cca317d61ae43ef6bf2d3ab4ae14a5dd84e466d17f3b290be22580bc4efe7561e656776bfff5766878115a5566d840e6ec1334be6ef31d9de60d0b449a7c6a7fdc3f1c6a2e4a032af6ce138168ccd8f0aed6f93aa015520196665cfe1c69b4670a4d1767f60baa404fa8b1e05f9af0f7019aeb6d54644a79c9ee5660463c2700919064fe1b5ce3e7031efa33f493fa4c173836d4e42558a854a229ba338e643d1f61b1c7e076995fe453a0b49cc43f1598035aa9d5b227356e10b1990a38cd2c04518e58f350767d5aed7791d8bbbc2b2a070b46e89282ca304eb24ca6994dd7300f7d2399dfc468aea078c75880c8c70789d4180c8f406e2f95ae8582e442e033666a391b5b932d5934d01a9abe0d9723e91af240329429bf97da6fd6f29f1347b526c59bf189f99aa58ba0816927b2b6d7beb22c38dba9e5ef8238f7d0339fd3b8783c5dc974f7e44a8e6266ea8d14d5dc75ccb4d37ce3cc312d35230b53a6e9bbe5891dfac7972a13f50b2d91f539a2722576d86b98419c9df68dfe6aaf255eaefd0757816ce222053d6ffa15e7688491f44e83a647bab21dd0092e2663505eaeda4d6f0c15109d53f65a6985ce8b36c1b6cee148583a097ababc9dcf3b813acee4ff98e339bf6d5714d0bd8bae992ae2844a247c68ec386810912cd1de225c5c26dd8a9fa776a2a1b37848dba94b82ee9b8195d2227410f4c1663a4c47935f915f5730a8a025112f1f6abdcd75032a3ffb6b97a6bc68ed0041331f456d1d761a95013296bc3d60d3873d2058e46cd1c5ac19128f6c2116fb994704cbdff0e3fbec559e8a578215197a8da0d9688fa799873976ceb09c4326f396770b771d5971ee821dff1f772c6a410ea6472eda29bb476e32fe6a92c82493e435cec3412ecc5e87d61bc1106c8e6f919ede8f3695d22fc4cb52b0b653d8aaef073385ed41e8313a9c75275071112f153a7e65bb34524da9069178942016bef9cb141ebd1c31068a87e458f8169b9b195ea1f3db13aa20fde5fd3f81d6624b5279db2a2d18b93bb3b477f791dc8f7fe773d49f5197de8fd93a1c8910d05318cfa3c278a341696cb724067970211e6966b26a2f62e97af24c45b1edae0ac0acbbf476c283f017ccd7c0cd31db5623af1da4da6fb69bb4fbfc9106c334cc1834dac43d66d2ec04c4a89745c8e4dd30ce29e97eb2f8a961ac0fe3b6f3849bd9883b79b9ca5068607cf676a19fe57deae9c5b8cbc8f499a85a58ece63d5b98b9349c89a8df5e92f86cc3bcd096e5a25029e33a2562ef0cef2115d3193ba3585c17f704b90d67b617b7d15d28fe103b2a70bf0737ce9048d49d1d49daeb44a1e21a94a0587b7e15e2bbe05b0d79b1b8de7f81825d58aa6900ebe4b689b5d0e9d530b1b0af4bae89ac2858881b1f3a331087e817333918bf0cb8e44cd5f89c6967f95353ec84760af5953b28b43f8c178610efdd535958a0d87bf165e85a1107489d7c270497af2fc690efe378601b3e57c4caf0aacbe45ce5628be6bb3bf5288890f251f17fb7f6c88f979704b38413196b3c4e4a99f2b61580ea7f081256b35e2d594eeb91079ebda8dbe6bb2fd5a21ca494794d3c9f27fed43b20bba3043c8f2a2b24d6807fba333ccd0563cbd38fcfd1a9a428e75828b07cd6165e3731bfd9ee9d4dd11237a2419d366a0c82af701f3dcfbf77ca89f3c1ef02e2b2c2e9573b1e5cd642cd1ee3e723d1216daa32d53c19dc4fea97e87516643819ec679152fd66ae7201e6f174b14197e0ad9dc2f03879ff02b91bf76a0abdfbd4232829cc31d27569f7a2c6fd70921003088502f10f1bba4a4d2296b5616af7bb3e317be4df0b03117710a5b3f59380b196d9d4048874d6f40d5271b5c0df6341e07f76d7d537b599ad378cd4495eae662578849cee3754820e80d8ab455e2f672405e433cbba89928a95a968cce86395bdefb4591e67cdc86a8271f317cdbb810926e121be392345f36777cae1d8d7d79f9b74dfe78169e1e3b7ffc7917f4f9adac3ccbdede2b5a8c2adeb1b04346432630921f505009809e2228191af2e26e73140ad807993c2ac92a3185d0ef726ed1830892b8847467ce12b502de01bdaa745106ec8a0de4768b9de56999a7efd2207c47b40bf43e0bd2ef56f855174f1b7862a7fb84a2e9741de01b0654cd7e00ffcffd9fd84eddb87246a6ac7f9fd31b264bd4383c20871ee146a87552a6c118dac0ceacad8d10df1e41cf9ae72ed8ba4fbc8b110c42772f90a0298133e2e209f9fc1a129875335cc705fe4d8a409b3da045714decc93c342c96004bc5e98bc2c4c31095891b74be77968d63732c7c8a4361a92050351fb458dcf19a315c7f036321047369e8e49b7c945b0f65fcaac2226ddd8b17f73d9c720fdcfc4a6af2301a905895d68ad4beb6959e9a0845eaa8d681bee094371d2ac29e4eeb3dfbf10ce9f125d42ff3bbc76e190bbfdc3864a2639c83a4760307ef071f695d820b15816bb4963270bd40cc66588d178674106988b48b33b3c485bfe53ddddd19cf5546e57e0f6a7b789bb93ab6fc0cb85daa675f976beac7cc6ca731da5a24156616a0238d35bbf5e92adcaf321d9ccacd079bd04db9c053372ab21bdd15c25dc2f9c503e9fd73dd3cc4a861471b246e7a508a33a610a75f83fd74f14d1db4400a8a4ca26e61e3fc949f4bbbe4b0e22ae602b8141f821c647a508e19e1989f2fa25d38580e4f3f6f059bdfe455bebd73155d81337fe2842e9147718b5cf174d2cb894caace41d6bbace48ccc947d2d749f9632cbb2f1d3a734ce5469b319f57da732af330fb7c62f8763840524edd713446937f9cd96034f5e60a89ae8b9a2e8c0e86b429b3c68c86437bfe36e6beb12c2d2ccde2ad55c3bc0928a49f1313f44fbb5a9b648a2a86f55e53e40e75683bd7b38f22b6c7e24ad152af38d021753a15025a78b4b86371f6dfdec34e0f8b00dbb9d415903332a21f746a3d444e52f632239712acb01f95aa1e3da27f925af9e0c666a512e694400b0509a512a4e69236e62678d7f684dc76810e4134ee386a591b63f7ae0bd8886e77f2fbd1a133c6d7cae2d992f808514551aae01fd645703c5e31eb8c66146a1e3a527d16430ff589262d7c631fa70414422b7646bec91248473924a7b21ee0577001d6db28967b3749b71a2602d88d46011bb46d8692e8a9ddedf9b53514f79c092e085c3c7d2652f25ef14bd226b5d92e1de0d166f9b3269534bb0eb73ec291c0720d3f699fd4f1bb481ad6509680b466c89679e1c4b7e14ec5856e7b21c53856ca48ec9b534160101dc9b5f95dbc10ea177b5d0cc148fb547ea83a456e7d973ae280f4a6e8d3da4bfacc18114f7491654e3fdd0b539e41d6c439bcd061256d6e56ff4cb147f53d73c07d09c2e1e82740ff6f0df86d0ae2b7a6f0a761f159c778619dbd037a5fe84716c55e4e8ae61317f10aef115ed276dbaf08d60aad6a4a9e5bb85a80e96483ccece11594a68d53b6ba3e28a289f73d0a941fb19f936311c73dc2520164aa33ea0bf0288e50baea52a40552ed18882607c94427350d8e6ea38053fd2128ebe9effc1592748eb0d128bc8e4842ef635df24d4e7e19b8d34a80252e8835126684807febe6368167c209182a91ce51240d82b3b17220361a8a5e10573bb055d5fb1491c2473e18fcbc19faa8d6056becf14f7c018126d25e1a50280eb9b65458a52b335de801b193ddba2f4daec19f399d2c087a6f461b38ba1ac79af9a37342cfdbbface1dd32de3f4601bf3f33175de8fbd11a4af78a0458b442d57250c15740bc17ae14952ce2497c795873919e918329d299048f0ad5d7afc9dc538f574d879953c59739d019b34194795b05645a25ec0a67731c88a1acda6a15b2dd598b73a06b5967373c71ce00ba84247d024e10d3bf642ed0b812a3d4d480d078a797e87908f1afe73cf7e6f43b9c798ba70f5e56d1204b89ff0dd85a6d4b7b78c74fe25d81651c3efc9ab2cf3f9b5684a7073fa99809756b1131565e2412938762110b629ca80ad08da311c59b9e331a48438552bcbfeb61f2ebf47e70d4a116b8cba7f0eaf24ea1ce8798311dcd9a8f43dccf5ebe9f2c80d11b0a1e263e603359f8eb14c9ea73efe5363b7fc567b16c90e8a210053a53ca0028d2bb048c2c759a6347cd8386fca1961d85ff2c3132d61a4f81f53f26bb2dd50bb2fb04e3e4e3fc74322e84b047a5f624276f403c8d21a05253a9119e537cd997234e9c69d913c1c0805e6ac055b6a923a0241833c524d5bd29e29800010942c6375d57dd893f0f28149d44f5fb879bbcf57f56d45428dd1b2c406a747dd549883bf2c5655cf2a336cd11ea092ac9bfc8ece3492f2a5814b831f8e4f950db596adee8a0c0ec1614f1e30b6d051a6f1a617fa3ca8f1c1c4a1ac34ba6f2cb7d113dc4d70ef9dbda7b1aab59602ad7bb07a19016ed2fba4ea169887e7bbafde9301ed8c60b713b3185bd2533c76ff5084fe382c23a150cd40ec4f06c5ec64d54c519ff402969ddb65a8fdcb366206da4f0b969a2257065555a04de4b8fd1e641e9331dd6c7567a7f06c47ee6be434e11ff81a208a1b1cf75fd94e76e8d56973bbd8058d00c84fc5921aa00612eb72a2d96a845e9d803d8aa88060e3cb43ba57f0f96390f77c0015f0ab63db7dce0fba627025d87a8029fbab3580028e51aee33a9c7a31c8129c351bff087edf0c7872156ea2208930e8416554e18711a1c04b7a0f07357d8abfc5755a1bdf4bcc416823136212d4144a66471278270a02f883109fed1802604c4118c10d7d34122f07124938d02c33cad6b27f9184bdc0bb99050a85bdb0d98d600efb0105f40977fd1d83d763a7f6cede3a28150de21ee44bad871fa6862621f98e0b62a4df150fdbcbfba74384f1b32939b69f520df228eec97ee626aeab929dc3b7b4f811383e4084230ff1c402b576227ab21184f4456c3abf91cbc33cb6b1b66b7f8486343e6a2125f3185cd746946647478227fd09478021cfd80810ab0751aaea50bd38c6c22da6b4f94adb5d86c7b4eb5caa1f017bf5c0b693e81c39d5a89b9ae290b4a1ac88c5b00f6ef8ddeff721ca2427a3961056c45a0c99ca6cccc1e884e15f49a0abeba60283c03c904688318d8547975433e9443bd015bf8677fca3163849605d6e20c34ab00dc983d8bd8138d57d116c24dfd5bf68c4373f70d32f97f4402a0059f8d31757d3648b3dea93869c6f0b2361a12f4c1d8404ec1b59efffe995f4097dba50956cfb543cc7c66716f756b76abaf7d7793f19b3c1f3a5e0cbab4b2382359d6354dbbeb4ba9c43a7bc23b009d545e929181120cabae9ba9c7cee0b02416c1b0a2dba24f66e52e20a95f60dcd7af32c78fb93f512f0fce59ee988be9fd34b0ec5fe3c6cdc5f76f3f0cd7d11d16f62abcc800d350908b4b44a65128a00ee4dba624b5b6e3b194e3277ccb6fab772a1ca9cdead8ec68dbf0c23d7c4ac1bb16c8078fecfa34680a17af3494da82004382a1eb3b0e7216e65677f01beedcf62a019c97c0466f9650ba1cea5b9f5a9e9b4f2abba6e73c50756b894bf967c09d856aa286add8f63d3d324bf547bda9037938516e3147f91c26b0ee780f11ad2a665e3670c2bf7400ddb82fde58f1b8570abf571116fb2ca720735806a22e9f0856534026b59d87a1e1bb5f0dfa397cfe2cfd93504760a7a0531b32b800aca9556f438d7770353050dd92cc66a552893d1d63f1d839ffbb5e7b65eeed44c7cfd637179d8452fc7b3863e5aa35a1d9f48d8b61e7f514b9aa1e4da1509ba3c2c88c243c06fc78a085f8d2759474a7f26fdba272c91086d38c5e762f07317d6cecb55cb43cdbed63544246271cf151ad60d17a18812686b62f52f081e1d6d0a9990d178b3a7d8cb0d7cdb3d2f337833220b0cbe3d73cb34abe2a15ced29832a70046ab4f0e9fcc0e871c6cb8ed943cd59aa2ce0f119ada8291b5d8d16345a0f0be300089a6f7dac0b32a8a24e1289bce45c25e33077bdd9df0a39d0b4c7f0e032253aec778598169d89ad090c4ce9d4edb63ed8c64b97d7da38565e10e194bcc89aa8aeac66d63cb199b3b3937aba413af9cb1cbdfe93dd73e895ba5a24972eab782e1a0dc26d20dc2fd7c21567f25973cc0d8150ce424d7f7ce9cd4a2912b86282c9cbd00ff5558ae5c3286132ca799513ea726cae41f3d7c5825ec55d5358270395193ca62b7420f85a61b7cebf4e2da9f49cb3ff1a0e35a707ece2b74a295ffaf33e825a830d85cd171854bd60ed2bbe0f0dff80820744e21094aefcd74ef451cae3de6d6e4f3e56d45a572898e9fb4b8d31c84cb180d524bd0ae29bfc2e29e5da6eedc25be0555fa835ad9ca46c4e51de1eaa6a1497453f650f0b82cb28e4dfcbb72319ab54687375a1682003a4b70eaf22a201f5bdd8fa6a40acf575a69c5fd0461d39a29c0573eea98d23cbdbca3baa70142b463cd18129dfb956c5ecd228190254a2a5c906bbb6441b6b5d5419ec8b9bcf4ed40ac47ae43a80dcc6fd6a7f162b76fd2320e58213d5fbc10be8bdfeb4435e57c1c5ceea619e48e103d0f974a0219ae4b25825821041061a6f6f99a0022da75bfbc45b6718c12bda8b94b7469899b3ef36b5e95092e5d323189562517e241720766ed582fb5c1134cc98dbb043458cae0e7744d3e021cfa65741655468ee5817fe3e9223f53021b0371af7179f64eeef3e2f37517a6965bebbec283448d8ce870e65c0d61cf04e4e565b09f289e28b3f3280467b0fef147500449417bfd9a78b483989d8a3a4d96f95f2c75986f048c2787a24a076abd7538da38d6f1f447485593c23876633041b67ead3f8594f17b8953135a2d658003365e188469566fb34b57ce5e40bbfd227ada74f3e9c244d4d3fc28e3dd0a6043dfdb709b33fead3982f16d1937ac89fb0a50f480785a96db9c254aa21ded5e75835cd8cc8afda0e42f5ea33f43b328c9f74140926762e54aa9430cdb0beb5248144d3bc79057efd24599ddd8749b1fda3980dd25bd203f09326daa24d2ce79b6f4beee34125ebe2ff4df36a6742c4f50ce19abcececdd591852cd04c0c33a4d7041fb01bae6c7a554cc10fd1db1d549ec02eacea47dc13ebc363872b6fb94ec5d31ca7f05f5334f10bbdad6ea2c3fd127735dd98ab49864329f5f47f7004a69258cd61418dc7ab2c04ab31c879addcc943998e3696689cf96d4e7eedccd2e9b3fddeb6272505465344e737818ace1a14a931c780d4a86938d31c78ee93025bf6a6fddb8d26dd7e9617b691d1974ddec7c2c05a8e7b9f4edcacf2e8a0705a10bd8190d28c94dd13433379df6ef4f68b2cb7e8de1ac63af11cc239abcf6d81d9c59724655181aa3402636e303fda3fe473bbc00b40c199a84b089368851bcd8a8d941aa6a5fd73c5f0084329df330957bbf35fd59ced1f7e308b1a5ad4c94dec5cc2e86d95b888c73d5718eddd93959d6e3d9d6c156ee3a826085a73154825cd7bf61c3c351877db0cc2fe6b1d99f68eb63c5b3ff506419109fc7a91d4f9a639505b00633b6cfb4f4f86ee2afc90c95579bc32184c28d3c60d750e21337ea284e55f6689ff457b28fca6b0e208f485b9d62c236828b40322be905435bad1516cac855de21b956b44f3df7ce539519e5ace07cc34bf69fa4e98a01e74b5ec51a427fd02f8a506e248548c65482d78829f038bbc88b2c2f84c1aadf590eeecf474f332755d5eb252fd7edee94d24c8298d08b77cebfb4669bea7e9f533be6b85eac9b3ec43c7449e5352be506941af97f10300bf9c5e056bc3935223e8ad9a26d515dddf1695449f44022e7d4132b1f3ed8a7d15b425e8253349818c2379cf0f18b0533383b1ff90779a366bcdaa115c03d847ef3f788391f0d85594990aa3cd8ca86040b78f1c6253d883b944e15033ceb99fc9e505df526dce4930a871d8b6935d13837a598c1512604ccb28a9dc23afdb7a7335e0984914692ddb21666adf3a96d22e2ec926e36f945bce12a67748f8a1ee0b8233033cf15d1a894da806191c58d7733c59c854ba9181104e5c441080dfc6b612bb40ea3dcec2f615efa13188dc080018f22b878fca91e7a0a8a3f1dbd79399a8fc40c469b05f3719acc267f023663c0c2138038738da4508e9cd6c2c3c4d5751c0aa26021b053907a8485b6b938fe66cf48e45d0f8b23b22287f1ef2e97817ea61260ff4379b08111b98f33094e02f6a93726750a21f7a8fc7f7cde505162f273bed2d8bc46e52d7fc8c7ba7a00dfddf9863c4e2547af6188e7c06990f72e6235050a0ce3654ab6f28eec6587cb8397f05146492dbd02297e087083fdc0d7abfb40ffa8bfc49920467837a495cb35715c0769a875e4a7eddb7aadedf463316de3fbf8cff2a184c9d26e932b2e547d6978ce77e833b049f85948dfb1becb0dce4763fae73af43f8d11c0ae976c61d17ead399b262a90f5f3a976ce91d488423adb20e356116a33d546be1c92215a75b085d612b6e1161e4f4d61dac99154ffa3335b31e9eb11072dfb00727ff348ff9114f2b274e1b6232b35e6f20ed265b63650c42da0a1cf24895a4264daca87798d117ca08610fbd96a7d79f9ab8746fee7ef498b7a28b10cc4cab685178ee3e04b19cf8f11174b444ae45a4f42332bf1a754cb3e59464a9da41de1495e27fbc2714d2c91f00c282772dc2b000cdb303e3d5f27b94d208ac052d6c7d69474330140cc2838ec8fec7d7fb742cb7534a0d931026d6be96d222a4180ec4c507faaef804e4936ed8d9b8f9aa0d8acd52454bff0e54812917b9aa65167bc497bd839aed377e630d192f443ce4c03f8cd7baf4ff71396b94ce7aa781219cd3531ee8e85882cc9e2ef8c39f51b89cd8f1733828f8a43c83096e8107c5feabe965e40169113c4e2c7efd94acf2e4e7545ffaa898290f739bbf0b88984c50ad6fab5f032d34623705954605fbf2c35e00f65a4168ac2c9de2bee824c562d5484302f063fd5da44b093ed5525e820637239f3d7ab98ff84173620a300a778bb02a5a1e8d73f5d53ade45962e38e3c8db1b3b3a34a5a67b401cae99a37b92c1b1170a635d206c02acfc3a928f4be012e78af6b879d8192091a983482ae62802a66fe4efa4a685b72f533a786e8b9f9c42b70f1b4248f15843cb04c3d6d11c346690414364cc01eda1f764a7ca4a5c5986bc37673bdcdb1986294d0187d48dfa0302560c24066d555edc2b73e6f25a499eca206b7c4f0d45c9e64e6ba52315251aebdead28159a1693293fda9277e5d1fd60f54e24e1d81a4b4481640db6e0434674f5500aa27bd5f958523c50584a3ea8243ec11401826c82d5eaeaf8ce043ca14947c977e9959b9692e29b696ef693e4e10aaca82a2070850b4f69929ceaca1c057ddd334640606972c94ea9391ae98b978cc0682b5aed403eb9b176cd6e97d0747f9364350d577eae4f848d6ff2196527af1ea06ed87be5b60bec28f8f80783e7bad5a59d2199cbdca1f79b3c2e5071bae7de499f4bc25b6875d7df44c096bcbc92d3e699c2ffcab16ab2ab0b3accb1315f19039a92f0befaca8034ea317d8ea55a9fe28308f4b61b7f276b9fc2e442e4317ac9b3684ce5277d7c1b0a58cc96916adb92bc7a2fea703025b5b9b661e7f87345d025d5ec46d738882f698526265c6594a1000c464cfe7862b64ae3579060784f6e103b4c54ece6e8876bf194762bac55bea1000ec7b37e8ed9f1c8e261562784179791943e9f5b3707936f84b901a2a10fb2151976462e72380e031a417a399ba23cf0cf02c6c9730059b6308a99250234173e19eadf25d44c15a5321cc52961676976813108ba4833bc8687b1193761b74e6052ce65c8ba6a7eda31e9c71bf4d16b9636ae439177606392b903f57a4878c0d177046323ca9c4426f5630a56ef8589055a16091228e8972eeba4146e9eedc7b29001252df4ca339b76b03259083aea5bd7a7e5916f607a0f4dad836d6281b7ab59beb277852947052be3298f878d60eabae8664b38bbe649a960bd56f2c06f476a8dcd095ae46f179eb2315a048deb212c9c8bb2871eb1a2ec148e27c0410904c0a71c4ad47a34786259bb178bdddfbc9ac27da4075a5fe86eae0eebaf671276341b0dcecb3fd43874ea634c99140a922d4cfa92c64de7b89182383d9001ef6e7b25c2c7ef0acc7fabf07a1483f5e18e5ccd1dcce3ca156d7959b2839da58edad1e1b566254bbac4a5cf28ce38c67c42488767404c1e0f359189dc2929c4d1ee06c3e191f0f8f21ab48d65b4cca3eca5e464f42411f3b76deec91024a80b949202d5823d93ef1e7d0ff518a77b0d668a8d19409669682e91abb65b7d67c680345a1fece3f5d551405c7e94a4750c7cbd17ace8927dba3de4546520ee2d9de441936f9c404b10bfd59f5c0e180cba2507a6c3f95ca0c5a7b8648c107bad06b3f1c3ee4a388bfedea291ccd15d2fbb5a1edcf829a4f09c9b85b186c3a6755cea56c31da870dbef5600db527489ee3a43eb3e2a702b3e339ef11a261ad120fcd2a6761e3b1dc6924039d7b7bcbb7383f8f7874a06e0360294953d5f43f71593f9b729f80fb33d3fcece348a0f232e6474a00992913f76248703add77c328f7bf55f29f31014ce91195a2177efe86b7f8db9809859c8a9a3e52ef18c78f4b994deabae42772670fb0908d2c412ca1bdb7ce9ce6907a7c65475b0db0937943dfd143daf2cdaccc9dcce97574e4079360b560ea7cd3af43e6b985493b9099866a389e1d6a0270af8ce9ba931ac7f93d15f2ffc14ff5067b84230972ece38049d5fad2127b10881d2452addaf481595ffa0a143e0f804b897b76692a82ceb2328c06b2e63dc42a0dd0e8389cd066c708fe0a8baa4304d54d2fab2d4551ac4d9c61edca8bd5e19e4aaf4e2bee1e68a8065e750537345b364bec50cc3a9d5b934a809ccd85926971409d338aac0f6f51c87fa64aeb7150b34cdf078a118bdfe886d5861fdfca7bf8e777e0baf21e5be13ef20d06b6e18cced927bc410b94c437529afb74ba7340a181e85418e2f8ed197f296d1d54cdaf0e0068efd1718b6846e615c8e61b919beecd45b82b366a38c8f7cab82b567a9906642ca8d135b3c13c8644c68f020d9b70cf95ea8a92a286671d29237767deb803bfa34a42a8668a717eb1ed2ca67a4013e5175defc9e78c9d4389d38b60c7acb39e946d726b8df0fa32d7ac59f7d575b7a3d3d0b5fff5986a8ea4d922119cff1c52f3275a2d1b0dc49140881056997e1a97d6edbabbc1843feba8029e31c2d223ba29ee14276f3ddc385ab2a0e47098eb80fa45b02b18cc3534f774e8eee049166c09225664c45a1babdfba1183e2e32665c0b1979fa04159d10d3aea45547883b4af3e6ac684c69c8fe52c0143be2fb3210e58b22b9246f0151cf587c8c67e2a2e2067a4efcb45b718ed5f92377345e3dbdc77598b63450ac1ee7168c5f2ad0dd5823ae823ce1efd2a96b76887f23ce58db1d1c1dc97997615a046c28978da2cce25bec8cf20275022daff29e2e0a12beb08cfc7fb08850afda15f917083c57f2debb5c5a680b347c5afa4f02d2a1c1bbd229c3df6d9c75359e598a5d9a96a2a5e52c4f6797c0734ac9b2d4ba654e42c488e3c6e46f915351d04719dbb1c52123a3cc8e6ac1427fbda9a51634eedd09b653de241438b661628ba622127f94a932f61d383438b5be67292324d74214013069efdb0c24a784d015b6f43090e8018d908ffb7bfed25c9f7fbe6c1fc0f6f042082ff6e275f08b32b2e6116efc0fd0ec5b8eb1ee2e5da9affefb0d2e08d5dbf7bbf2894b10c97744dc3505d9976190181294fc760d32b24a3f31d48a541405a665fde166e3f072e5d3954c5d6e0aae4e41349886503c0e0b493c649776f475752d7458271e5fedeeb42b28ac822553b6867f7ad8df84bf0ed45a1b4cee3f96b26d1bbc2cccab564f91352b48c5817843740ffead8609e45caaaa831954435e84c93b8fe6196e2683bffcd5bc683d2121f66746ca6cf1bb4b927ee532b014ec3cc7ea70f586852008b6044b3236ec1b63a6fe7fbe969487df3c247fe28c1097d0f9bb10a2e46b7cfb637557c33d31d6598f06afccbb7e4272e91a046af168ca60b7a50097181ea8ae6b51589f117231a24d134331327b2f4fc4aa0bcd4d934773dfa6fab2116b5c6233a0b24d680676b88b9f9fb4d989071d898280e29edf22df4fcdddb094f98c44f8d2fe34050140437dd2b102e62ee9151dff715e377d7e5a152302721f7455141015e9039a80bf27810680f018909d32a5f56970040e022f4cca7dd6d19ce36d4c90c258639b48041de64c7adb30fecef8d872bc70a5d313aaa311d7a65abaef016ae394291e09311684a65cea3cd2d5394ea6f60cc15795281d8806e0087abf2bebc976c47ef686d3c1032634f525f58126c329b69b439184c912013591bf1f039b2ad01a145f49d3db55ab1147ba7cc9fe2fd74fb4d9f4b958eb0d497c38fe985bf3872e279a6135b473cc2fdfec253b0970d4857eddb0f3668444c073f2732043cf9e6dd990e6c41d4a6206ad27c6d3261490d3b077ac64afb9ea491c81942d184231a27c30ce333bb8407b67b19a891165b1661acb6b0883f25c8c186e8ac6452be67862c13a58f628b5f27a65a3516b5d4b64f735f205c6b3c234128bf1b4cdb0061d6557910960ae33bec219c89d00fc9c1bef02be5a122b5b8e905c4ba136a1b627e4d890fec488044243d78fbaf82ad391331ebb8293f2b833f86a38ce6bbc69eb6b9556d6ba580be657853655e6de2934dce09b4011e746d35d971b07cc97ef215757da6d976784859d8a17c4dc9d5c2ee6991444e250f07c99cc2a9440863c31671c55df94b678d1a7e5b082dccb63d9edb4f1cb3e5656e361fabaa7d649d1fac23dc4665d19bc24daddbdff6299ad6e1a6ed82e03001fe2fec2caa09e95546aaedb1026a2073ddb3515dc2b01fe65459d34519fa2d2600464e55d60be093d8e090f0483262000cbc7dcdca79d40ad75ad0b735d5d0fd8554f6eb4c8fb08c1a31543af2c61423733abb882099c033277d7a8449687cb86022b32674eb9b20cd222b157269e64d7b138d73a35b64f223ba1510ef45ce50c95a95dd9ec18c9b5ce984ac61a7a46dc79ff41be718d92c296148935fdd1b630c97d0b5c7deff68019dea4234edb74c003c8fb9ef6e4eff00b5a03025ca3046cd76573311e5249e4458f5303b2ba4921ff753261317359d5be67e719e908ba331c18ce63aa72c53230074edfe574da333e358a30e9c9fd4e586909cbb80bb77806bc352c99487d1c569b4bdce70a5276b27eb53635eaf0099d7851fd308297c6a7fa6e7e75f750f0b82b50417f813d6f3d6a482eadffd1829b2dffa5657197d5cb5a0c0416f8f1b3400cb13e5fb8e390a6bdf76b83726dad82f0e5eb2cf59a1800d3052142258f0098c4575ebc396150536d42363b3584182e50fdadff65b19b15be6790442d9f2611767d52d5700ade1d50eeaba7677b058a48721cee57a47b9f21136e5a7413758c256592e611b6f9e431334e77d61d8724f72542f234e715a664139246aabcecdf41fc6d135a5d1d06ff831d67bf5a2aa23bf10671074f0baf56713e9e430f45ed0ccbfbaf7ad28949ff67c22a3f6bc93d3fabcd52a60f5a87c8a7fc1b40d49a31da61551cfa6160c5a2bdec1dc9463f363488da4b97333ab3d2c3deb3befe7a1b701042a70885eb85bf4df51223ccab586bc32e40a64339289c8aa4ba42520722bbd1dc125ee0ec22841d0cfe63757aa8339a8258d811209a90bd6ffd2d0b099dcf9681c5aa75ca07a42953a2386bed07f54ed971510dc361554722aeb1d70f074ceadfce1220c055a4b965565dbc3cf7681c052c933a4067251e316264098abe3e81dffbee9e298d3b6ec2d244506313a948aa365f4b40046c2c1eb425d8e3af11807dbac7f11296ee383c53f8935621b519fc9b95a86dfeab3b115ca624e8eaa16d55e67046d36e9ccae42ecba20cb648cfd4faa26fafed8c2f5a8c433a68164e462345e6ffea9e2b44af0888b3d75cbf68de3dd9d7111368c3e0c5e0eb148a2a723858724953f5e9f533e7fd96eab4dfb1bce656092f389fb9165275e83c31c3b985a1aad4726f1e1ab2034736c74627305ca556c93334147b5cea4f6d911c5d279051a6d9937aaec65b0d1c42935fb1af80e4162fd140cdf38cbda94d408072a8d4cf6cb7882fb642f65b9d256caa277ab35a69963520261a9d5f98f2ce12aa445d0a1939bd51a88653a52755d0537deb9d5097122c85e7805e345f0dc8392c79b648cb41530ee60669e07c97412ced914e604316554107e0b1bd1d2875e3a6b0e4bf5679fc1c92abb3038d5e2295c6c31a184001bc712149df95bc64eeb7ce4a26bf12be57f6eb1a88b8bd7cf5d23930c7b17de86dd3656446a66dc211770f3ee85dd662bd0c27ea845feec22628f8c274cdb074e56358e2db02acb98fa90b763876110d6e372e09a4a22ac87828aad06ef1fba526bd1f6f5fa9446898845529c902e3be63c29e033d78ebd44ab3aa2e6edcf15e1402319a0bba89722348174bf51f1f5921b1196a60822afabdba656a7efbddfac19dcfe8b914f5489c209cd1aa560706b478915612ceaf6682480db0ece440a903b1af9bd4b9b50ac5d13dada535d0b1f6f6d2c4969538149c5e47309088d370175349aebc92cac1a4cceeac7c6579b775adea4a58dd1b209211ac1b8f3ba2fae846bd83ddeff22f08a48aa7213f63341dd8fec771396bf01b09af5ca0ab32545eeea3b2ee5a2aec7725babcbf8e707c6b9e3ce0ce3af65fdec1e9a7f2b0da698bce64833ef61b8dad788a3f486f05c6cdd9d424b007300dc328d824a2e4dda67c5d7139933670b772f2d0d351b377712e31394ce2984730417da36d6e33cbdb0533b4f5e9cc3efed2e29994b73827ba564dd85a76f04e990adbb6ae4f6815e0fb280a1a35ab37f29d99b6f6e5b77951a29fc2933291caaa9937d7bbb5c2578d8f523383a18427aa25137af4d594b0a628b9041b418a48b08627b37bc58747ad2098543cceb01e8e2f748a622092cd72d5148bab56f44c5388bd29e0e49a51b8f6304806d7114e66fd6a94c09d99d7fea0b84625b5349d0f8241a71c79a2b3e01181cdff4ef08a0641d2689c59fb0d0170330340ba565dced0737c2f6c008d9d39ec73183581d50b5857bd6b8f862e378eb3a5fbd75a8e1b4d6589d1746c5ca706da56c21c62660ddc0353f78072bdbfec0161ca982f16ae6115fa47c71f3514eb22e47e63e90a6d361246d1afa3e6687db389dbc1f8dc677cd1a827f3430e6380c2fb271bd9a633bcb4399be6b381a69c0dd0629c4b7a74051e9defa7c4fea1c03f21feba079c0e380794806531490943dfeee4868f488dab180048639f27eedd088f9611361797ea04c81bc2fb6fbdc4584ea7378b4b42e6da9ee040fc24388aebde2be9d0ee6ff70a33dddbf61fe8450f1ad25ecda088cf251daafb3d4f97e1f4fb1e8c29a467fb455f6caccf71def78d67e6527650aa63af2403a1bf0860676903498d7b08fb40cd599211374c28f457d36ac28804d23224790ebb8af92651ad2f4eb466cebc405e3f281de19b429855c1bc010a4720ca9235ffc1584081731ce76506a29ecd7bd62802379d10aef7b8799e3ae98f919a51143f9dbff9a3a2b5e7721bbf8f0ea1cb766fba83f3839cd0e4be216f57ac030afa3335dff210df8539f2747a926a1655e188bf721b3f9d8fc8b8dfcce8423fcb96c218cfe84f51a2fce61fa7f7c678e7a613d77575b3b6e255374d3eaee0b6d4cc59bfc541d1142ae643444fc43348d1731015b35730619b7067878316f1a7f90a72adffbc9e2bdb19d1485b095784d0df338a1a94d5de2d3d189be120eb68586616dcbe40cb3a8685eb2ebfec393d5dc6b37b600ba45e1152d83ed3b0a20fa1123d86324f3753d06314861600f98b14cbcdc23a83fe89176fd25b37197a73fabb8b9ae6870c8ae5f62b7a8d8c2a875f45eacdddd781510562bf3cf41e3f0dfcfa8656df9969460122d894de6009d016d4d9f8cb60dc5c8508798e0eccc717dfcca33db1ce9cd9b67fe4df9b85aeed86e14d865cf9b7a313e41febfe296e045329141bfc7cc49f2897fb5c032cdf678e19728d08adadfde32b9ceb8b8f6565308a3005696de7271d7208983f3ff6914af2c7094735ee72e4d9af6ecee7add6dc4b761d648bfb3ea69d9840beb5675992cb2ba19f62fb13d3240ceb7f8ce04ce63384d30b2fd28a31dab1ab678ca7d64bd512f8405823bb25f658953e99f18f248abbd946dc29f446d9c9d6b34fc60d91db2f58f1229cc99760bd5931b01456d1c8c0a1a7ca996a2f67344b678489eab1cf73ca48c6c98f000f91e3527fd2ed5c623270b5206138cb0c35588a08d76ea6b86f2ebfe848036fd425e1b60bb4978f2bb82ed16754d57e1046ac5257b76cd42d22712b42f05b242d906283d4352e189ff44029654ab1f7fec55d7400bef4be2d9e91a7e426f8265daf447cd73e33148a86a2d7386b5a86d6e74a75396c4a5334c66731d07aa5e8bd9bbfcb51d32a84a1acccfabb62499a3528ae6218b2040fb8d95307a897510c131d4dfadb0623feba9b9547d76a80197ba494016e7da7ba6b7b4078ce8eceeab67f259cf6b8b6a898a6f2cfa3c6a14ee1cf8699ccb6e0190e4dacaa95594a99e15325fe740a64ae60f94bd59303e6ae71f50a7969458e71478874dda3f36c5072468da3e15ce021362264f2f7c757745ce4f21480f9d89d700765cedd024c2c38357e371329210897f7955f192c0d06f758fa40fb21b9aa1bb5a8d783c2b8db75d26fae0f09c8b26fd22a54f4dfd6711531cc168312b86112ad091992c77bd544fba34193e906bbe3407da1c5f33d731ac6ef78de3f8fe1ac7eb4d0ce28f20452be09d59110f5ee12f6b36f422ffafaa4527eb5e06c90be4708d0ab98b911a397f96e39f9292422ebea32894eedce3f5b6f9742a7cbd27d93d8588cd8a131f481ee4d07ba8cf842511b03eb4d82e2f613e4c8b539ae7c6184d01fd3ec62e260dacf2dd6543074001c25a12c3645eb06fbd1019dbc5341a39732a84afd62e5dfa1f591ca5d272c7d4530ce4b895a1a16c3acf52c2c1f615f3d6db0ead28aa7427f956729898ad26619dbfc3000e1e87d805e2e9f6b7f4479e70610334eddb52e2c8c0cfc12d1b62080f51a72943fe6c32d94ed27c4f9e7a6c6b47a78574b98a50a9b97a1de0b0c7ecca27e231967e238793de8c610eb44b34d5415627b9178547635b0243bf21767e3ad657223955c5bab63cff50d5d1dcede6c9e5b03855065427a02d662312969380a769025992cfb8d94efaaadc12026162280b8bf1ecdec77cdb68b8a2024102bb00d97512f2190862ef78d5973341e77ce025491171ce4c06eeed7119ebae7d2a88067e4939c9d180c79804ba60fbd148b65a68cc80de5965134c7b36e7c8c4fbbcd1c14a750f9550489e0c95c0fe6e1567162ccba530289cb24788bfb8bcd96338594a2123764f84b1c7d0a954f9193aabb8ddcfa7b085a304696db4d5f3fba37c81b9025810ab81892ed77e1486a2bbe95fa9d6a771731c6acbe372f45181b429db40a2f06fdda877f09304228f59eee8db2bc1779f98eea2f3793c7c3c3de8ceae9b62fb2774678094e28a02b2657386b7bd552fb98835ee5604edfd15047ea51a3f6d233412cc8a7956c9786e7a620e2f881ca217acfbbf4da1786b3197e0d61db96bb65d3a78ee36c1f017ce97b59abf87b8fbf97d7b1877b37893d85b218fc2b3d8c7f1a4f0df9704ce5026783452ee859e99386505f0b20bf0dd8a0a819dac273642ef232719e68288aba8e58316e1d67594a891559a53257be06807a4e135d0c72d75542fc8700ac70a662d6ca64c9968e96f7ea690e1034ca33edacd580db0e9f1eabf9bdea125be84da707b4417f6dde0a2b440602f3203476908b188a7766b42ce5f30888f6619560356be9078ce067b14cde7fbee072a8f706e4ab9970b81db54314848d2c1c9c646158bd82860ced0ea1e4ba3c4fb70500ede66e855745bb2b58dd49f766a9898e3d307af5a71ab8e31169b1cf29d5371719e7fd3b5f5c2ad2e0c3c3eb7170c9d73d71fcb21a27fe969dea330562c664628405409ae15e8dc71511aa54fe80b05012a04d4f246b942dd7ec627e2f5a32d2adbba07d33b41e5de58174645dab780aa5ca447d3cf6314504a0458d209d100dc3d355b1f2778faffe7d892f64ced4aa7541e75d6a590d8763ed80adcbc414a859a9ccaadc921eb616fa53ae5c66d52356e56ad8346f8a3854eebe535f3481956b6b228def06329c8dae3cd5e90432dcdad19d6a4bc66ee97e6e0a28e4daaee1733804f5592150aa3d8b4f6fda556ae7a6776f02f2cc4ff044c0d4c5b39303546b5f8a16c2765e8c44f71aa4a3553d5a6730b277c0a718a05232ffb1b71ea8163edd24b7896bcf1b234e4956daedaf52ee22d55586c910cff2dfa3f74dcbecaf836bace77fd499a18acfa2744e83d55d5de7e8309681deb89e3118f7475ec11f4e00b9be0cae04fc406aca1d367dcd78c8888042168742a611dadeb062dea9391919d509f10e323866cf5d28d15d1958b8d945c8ece856060de619d9841ac28fa69a924834f21cb5f664e9b981d9a373eab846cfd02222f4b0901ef2cd962de9773dcf958de6751f0534287304c76df5f5898a62eecf55f414c6c3ce7f1f802a829298d1c6fb0178e1ef983a721cc39cebf65dfa707c109b6f7acbd5f2eb502e0fe6af477927b5b91e0c159245aadec298dc683b669867bfda56ba9b46bb4c973d6eeeeab32c974a25bed457fc3363967ce34a9cb16a2ea2193717c2629172a153647bd50edcad1f1947b6d1273d9ab81cd9f6d65f9e7abe67e1ece8283b923ec876b7bb6d2468601adf0ca5c73ff68c9adc25b001093669439e70b6da73e004323f5b106af7024e3c83502bb8b2c3bd02d31d11d04ae4debbf8245a9a654d8db16929f250bdf5dbf38abe0d31b27e72496b77930af1bc987d1bd4107845c40d562d5e8969981afa971b56a78745f5391bb135420a6181baaa9de4f4fb1a811747bbcd52225c1f06caaf340331625b2992da76fc94fd5584c0daf83f9447e8d79c7f48f9c67c006d66ac9659279a672182854a010e06f9e0b208c1a9e4dd6b415288adf10db01f521a0074e5e8d676aa43105a3722d2a3d48cb13e89c216f35094ecd48931fc9bc7dacffa1b039813a4e837c02bc2c1fb8807f9dcb70a7a2a49e03c7c7a952d27616cf4d85815a037b64423919ba39d505e611f706186c62e598aedbc9a202c1717e419803ca8f4969fb932e76a3b0361cd6a2003534d22d2dba4d6be2907af369497a8ed53a2b0380e99933a3fc51205b63b987b9341d93a0de643fd30f8a0ef69e8daeb6d1e09aa4666fd540aeb6e22e82d55738b6f1b07b6f6387d98648aa8972dfa4b86c7d46283c00ea212d3e1baa81af469c4e114b19e971b41211fd7b124fb26124f3d80421c9fac778826d75c2631d40ea527b54210e7a9cc79497c604d53a498e08abde1cede328485c29fe1cde750476d921d3f00bb160fff624831f19fd9c0c02da6775957056ad60f8062b57d2095f2a4a723822c979ff06c6b0fb7021847fb8afa9ffe4dc38294984a328803437914814c85490289ca4cec0e68f651a49420e704162a27570a548e2f0372f62ac94037960e0f9cf9ae5b7465b469155cd5da297b81be09669d903726f28da52cdb6fca88c9ce67c3de7f5dbc3acc7b3bb093660926f797f9260df97a98bd9440013a7bd290df016048eb1d3d63eb4e93945d312aff1fadf1d61e611049bbe1e5ed517a3a81979946472987bb98cc4b251c56f02a91d25e973ed1370996afaed6792004030bb33ca0b0183f82ca3a4be0e8b2fca9324e81e15fba5480e1caad95cfd7261b2a774b3e495a4360353d752bccd8a970b79c96ae9ae2ba50903da07b0c6677017a0ac098ca05b3630c225a11ce4340b8eb44c880ffc10d43ef3019adbdcb0d1baa7cd4cb3fccbaea5b4232c9f9ec918498a9be9fbad15247d95960995b93878199658ade3003125e67271e9d2852ec5a585d65a659b817b578f029d279f17422494c9ee723003e0ece8bda020fe7df7175b8ac97fc6c0103285ebfae63a6313da0971194c33d92859c28fd1eaa4d99d9c0acb22808e3e73a0c295bd69c4a73595ac52af1c5c4bdf0649d5e17e54431a3d2401e0f85c437a8be6c32f4e9218a2319de5e89c13936d7648aba982ead8bc6c63d463db9b1c3f0aff6e86cebc592c702372ebed7a87ad11c8f663654a1d85c2f2963ad0071084c8f55bd7e8917046e97e4b07491e84c8e7fb88d5a4490ee561154c8df4d2aed5123b73140e405ef90834112450bc730bb8ac22659371b012b57fafeb90c657f1a3b27d0da9a4302efd425875eef7b3ae0ef89d52daa0239ce1b8cde11360c7819adcf1e118d4dd18c5747a74094cdb3db875a82a07757d784d734cefaa69952005bca3f804001089125d14f54c2b820c20fe3038cb1abda39a78f39de75d0077a1b28cc16ac7628f1073129852fa98fae6128a1384c07e2e247b81c95572ef2ed9ca581d773e880d1774013126f9941895494f26bae1918ef176ad846363781fad1a97ed5dcd0ffef216d409bfa84767a5047a6172eeb72c56089a958414a298bf58c107f6a0002851b5d29f3d7cdd7e467395f92a1c67f99fd871d54673cebeb8696e64a286e936caa446389fb73ed6020f0cf04ff89feffbf0df32d153a7962871d618abaf3f7e2fdb618f151fdab87c7c6786f241f4bc4d47924fa33dbc48e6e144c25407d0f4c1871978970a474403e80c954b5d72e1f67261b205bb55ebc1b1c4eb8cefbf57068d791158bddb95cb5ee5d12e9b796e9694b58a48f363cb546c11623ecfd6741691fefb7c9367fd1b81faad570fac99b1097c539fa0723200fbbc63ff1be6e0970ef6482cc9277ab4d3b39d27a68cccc6fecec9480aa3be6652d4c7956122d8574194612e63756d44f87fbf49c569d6637adc91d115918dc06d6cfad451b120ceb2f5b5f8d0e37f15212268e26804e31696834198fec890df47321024be9b294fd8decaac57284e1d6c0ade6b12df69433983ac0d591953aab0646ebb6a0c885864ee92343e641b5d9b69174f0f993821d4b66bfe9befd662c51596a9f85eea505d6e9167eb30642a102fa640513f8d3f327111623456918c77095d6dc358fac334fcead6e4860a772ed0877d8ea64619083f738d60d0305d17191dde0f5e733dd99fd2c930f4ec4f47a480a08dc3eefb3b1a3772783c68b0ba7c4dbf677fd8ed02fe6b58770cd45f8d735c4cde4c34f58444b2c56f0443b34dcd55bab4b63928dceddf7aeda5cd597b4b9c8b0711c8b59b6ab0a666280192b940f771905c7585038e0e6d2889920aa043dcd4aa0ff74b15235fb919626dd11b6df8f3a800ed0edea49b68ae23b91fcc3040341e173c84445e9454ed2c05640c16075bc17d9dcde1066f5d077f7de9631c13d2799c5c8e05382cbca327507a7409df20de4e436d2d1f11f88f7f4d299eb443557c4c4858b6462512ec8a013aeac98051509b635c93d99a03689b989aaf21cd385f549c1504a5f0e39894191bf761dded0d7d19208b820a023ac80ef5db4362ed7f5ed4272880cbc9f02d68f4d79005afa3e7dfbea9e2949bfafcd385759e6ea75122669ce27a7eaba804e90a9f18e1659823810ba7990c23573dc3ba066376f84387cec2b12721f4db75044bc69c4052a0a3bcc623235800452dd6c0b842e5b51e18d1753d89af27711c1a216e5a5f82f10fc9e30fb551a6954bf72fdd7997776f2a89d8e93577db933d0f4e73b7a411d9ff64ef1ca538a18e04e4875e9eeaeb50a7c840794075736aa0ce566a1ae233a612145cec124ec9410cfdc264742f8697c78011bfea382c49e82e001dc840d21e2613af9359d68d8a1fffe847931a488fcd5407d6bf7881fab4b58c73192031b332b64036ce01b7a7f4f2c816a64068da2c11ef0b1fc1970e669b8ecd2bd25cafad7cb3e6dba164f6bb9a6f2d00601b6e955e5584843848ff358595018da1c957bfea734cfda26de4c4d3e5161e97b1f994d60dc3629fac2aef9a954e3de82c73a5f6d9139bbb50b2949b9a59dc3dd390ed2c976d3df960cae08019be8fa1e7298255dd19447ff5f1c2be2784dab1c1390135c1278a028d3d9917d1eb2a65c1a6835fe66286f3ffa12560b8e56365f021bb08924dacc438549065c1daddd81ac4083eb772576df28267f5500d66b5208fc79d21db38dec48e3635dcec19483ef8cabf03734a0a82177f55cbda17b8c5d9f90d71c8b756751775be49c2f50766b92e92cb2f24c50c3cb2f1601b5e6534bd4a5d9df576a99871d22d9bec0194b1373bdf2494eccc17c30fb671e05b61ad1cb4f6a0e3092efc8d808e61730fe183afea41ade3b4bc19918ae597124f70af54e4740910b821b54ed53b623dc07e7d88752757bb4ac29381adb353233694320a0fd6612d253bf0538edad3de64f56b100da11dfa8e68f4876c9574c629855b46dcea6ecce3aa2909fb71d8480ad0e237a09ff5198590ee954b52e97c54b9d5341152a3eca44bad6fb7c5930c9bd237cb9e9778653d769a64bbecc2dd5fe67d3cc877bf9ff9ce42527f18043b399a0bbae56b278c6fdd57dd0eab06095e75c0b8aa1c92df31170b46f51108093d5cc7dbe04dbbcc02df5d6588ca14db7cf146903c784fcb1a04781b3f409bdd4603c69fca5a3bd42965df22abf720d8d011060e0057b15d3d5a32bc517a0960380d7e4ce1b644d337b2f6e6f6795ab276d8e625cf9dc140a5b917ba51fef18981638f4b2911cb311a34ff599da00fe9e1c9f04b21029eb85975f77000c874014b9630c706003b3c41fd7df49b0a2e1f5166b6979b3f2843118dbe000bfc40e973fc80ad3de5ce6ac994f9aa79c11f23cb1821bd00067fa7d0f2cf2217b68a59ebdffd60dd6a576d241de4a0f3710e12f2c4b9c24dd3ee6d79b19fd2f83056af0bd5d6912e216945260c6abf7102004347218695a0151acc5fe50bc49307028b7a739621336a0a8b20ad32b241d83f4c135ed7c7364afc357cfc877306c28d0337fa6d8c9c354e7b7b7f586a467e1eb4f9effcbaee07c47685d74595a5dd440c1dfdf500ec4153ac0e0ae5ce57ca4a9bf058ac9ef064472a992b3d178d20cf21394a1b461b07e2bb981c9e4a2936ffc5de65036a05802e230ede93bd96e6f005810c35a964b40caaedf1d664e71efb4c00280a370ab83ab2da72501433200660f3e7c89fefe9eeaa547e4a44b898b9fa538255e1b32eca7c4a217065e327411d372d62f9becc17cc3b26e90ff296a4cfa95cee18b45264977f22b6272552f41e7bf11c742074cfb6f35c05f8b85d6d3be7cea321b5091b83ecb45b3f83e905b322e8381ad8ce63b19f34ecadcfdad79d0e33168816a14e649a35982ac65cc0ef71f784e5134f4b0f1b3f0481b9776016b563927aaeccd4f5e43c5b6eca76d47a671dbf8b6b90b499122c41092df2616c3b6e499a5c258ce00af955b5f372fb8c035f71c6b88d55e5c1b38fab5a8496763d3c33dbf50ef34d366703ac6f1ea58b14396983192271e6131eace78a6c991359fecea1467a764c1302d6b957046e0d6909238ac63d4e931f6c579b7386552a6b0190ee0c65c64aee51d0652097111f81fed0832dc96a5946ce54c42683834409c7ee6a402e1e6ee3a8ea256767465c526ab5c29c1f5a270415c7bd2b25315bcf4b2b8940fbf19682e38e0a9d3fe7e05015e43fd61732a95301fa39391103ede4a73c7fab9d84def8cbba9b492e8cdb8208c479561e1b1ac2c9e71652965fe9e3e78e9a189189c07078ca33699f7d0d7f5b09e1a86e66b5405dc8e3720aec9845d93918052c2e875ebccff6cdb0874da16108509ba46fdbc714326d4e2be23dc5ffc99c5cab17f10e1c145c0f3f90431db3c6798d5bb7144c7f692ce3c1a561d9b382f65ccc2d9b161ff7f1f7a4b9f43e51b9fab2c093eb70143d3a869c91923d15c22ea771c3dfda6b0bfafb5a9efd730a94584a1cda12ce35d9aebbbd0e29e77f44a949905617cb8e5802a7c538d8a57fc0f505163c5dd2e0a06ab7a10490ed04cbd7394fa933f4161a13111cecd36b562287d3e6227d2da79bab6f4975f2ecb2e80aaa4dbafed9bd20e2368191c4f65507951e0ba807b6ac5faff518a3773c67196015a2a4213868bcc63a194ec8a5acc4d67df162b2089ed60b72bfccf8b1df637854ad0791d352349006b82b92b28267b3fc642ccc5db4d78744f5c7e5a3c66572d8d474d474a3e097ba5089f931eeada20733d75a0eebbb7614a6904528a65d425e0c4bc91350a9b2b2eb69ef804466c341074c69282c47497945a01d53d00d270b067ebc0559de68f633959c35dcdce68c30447c6a96d9978fb5886faf88c65351a8c7ae0be29e190ed995fbd090bf692d5b09a346bed8ada809630e0c7cf050d06afac70aaf270220157b4945a8f7e3ad7a262f10d3c0b8c3565686ee28a420943a9a740a67c764d90fd794465259d72fc10d6f6ce00f6477264934add3d412114c716d475e2417f8f9ec114e622e87489e42a4d335cbc3d67da9c8d603aa3f71314ba3692a28eb6c42f26f48311dc021152bda6561b7c1f8dec98020aa728c812d4714d38cf0ebe8e9107c83012548a008a3bad61d90f1e8f9ec11ab346f2c310cc09f6a03fd3e9d0181b45f8f2c4c7ad32b4631a261d9641852fecae8811ebb07db589ed0694c2bf6e2870abb7f8491d46a3aa456510564495feda4e508917f0a67b5f811ea6e8a48daed0a06ff75e98c47e0cdc731983e316c1f6646a434acef98e07c944477a62f159e901c0884f09151afc28395d83b0febeb60fdf2108ec3b3de795cb59fa37bcd347637dd489461412ec6078e0c69730e828f363685f6cfe7d2006a8d57644435ec06c11190b267548e9ea0569328d5ad97f485932ad4b974e9f43b1ead6460a591e93a206529ccbf4dc0935a3aa81dbf7a13c070e6bcdb23f8c759394b6fc4a480c9893518cd07c9969e82cd5871566dd3b8022c09b3117510043b2de9180c0fb924a0dbd352cd676ed9af69bd666b66c5a464f609ab3acb18aee4131f38806a466111d91ac75af7e057fb66ac8869fb03ea712a2473e40c52505cd7e05ce0203878a9953f647800d3d1d479b03517277a50c6a9347ba5edea6d023e15621fab1648c9fb53d46591d0fd26c5a6675d310826d6c4e3b924ef71f6db581eefc75c3e8b47793e731173c8e637e38e1c0abfc42214e5f51e2ccabb21e5fc94eb26554562a25e59d9dbebb3a342c7f6c1d7284d12517945413846673a99fd583016a9f85f32dc4cebc775b7017455b8ae9a8fef4236e735d1738fb9abdb7ed50d884619bca1f2e67017f1ab83f3c2e07e36b1e5fd8d5ee4f9f24c36ec58eb7e9345352ada0d8fb87a3e73cc7ffb179f8d9f431b9e45d1477b39232c05ab4990612f3ddda65762621e836966d12074c45deffdb3dc0b3b9cac0f5588b9c2bd6e71276513c63b0b2028dd1f381a6abe3424bf1658235b8c6f5df43145f7e2ce5ac89c10c0efceae7081c128fe67c70788ced998e2bf53a37198b89db3a26df1fe4723b4311e73bb15a630ea1ff049b6d9d1d57434331ace2ce98dd938a382fd946d785e3581454fea3efadc7602b74e67cddaf27ed48df31c8abbceae56a530e91761d4526d654069762c25e9c05984d9c07e1e2762ecae3e41cf56810cd5f7c9e3d9894c7b881e968f98c4f7be1004970a7cb0c5902d5e913f2028c3e4f65389891084536d4850ad1d2330591a67f89871a0ef07f19f243aa7259ea38a5bdaa4940e136a949c698cc35fc8853f6a36e6503e53b256aa2a3d8dfc4a75a80f9008af6992e36c097817e7e78c38fc9414fe4c618bb21b493b2cfd918326507a8b7b8a7dfad33cdc9016fe6526c5d364c9aa07a8b5bbdb26188775c42d0648310978a2c08ab43128c0fc8e43e288ce1052946101b7b45556da2d3b5efbd9d8b57249df2300f139739d42475b5317d7c76ec3a8a7d16ad9670c1441cac98e5527e9708ed56776ea626a487dad5a2fbaca245b2f64a5795510c66529a97ee68082b9d4b73cd34ed9f46d3a8d6a613bbf6d73e03a646c5a1e1a389cd81c8e45de824d3708ee8656d1b2503665d8062b316290266c7e4dd3bcd7f038325112bfb8dd4a0fef36bf2232dd42c774b9938e31ae785a43e416b0f40d532c149e344a024dd202671e4b8692b77ff85b7e5c79b5b98d73ac2680ca5369476a57ebf95709fb72711e168642358872deaf1fd8a2fc3bf0a7c539e5743778972e54cd4f5281cfbdb42916a1af2dff05947c330e1acf593fe401b7f397dc2ceaf8dc2c3621c8c2d57116a420d313086dc531a6afc9147e63712afb8ed4dcd493dbd215d3f90e35c98617aaaef4771832ff4354a086b89a16a77ea4fae920c92758857be72327e2694b776f64babca1d27c8f2827009218ebeaf3252ebd6f6f768bf2555af245b3dbedc155c312523ba5fbfeb23710f8f36b1064d677fafcafa1f24a55d6397121a9101e491c727bbf2571c8bb98733dae46560d1d679cad59a3a8b77b33b6143bafa7aeeb2464900fc6a5075c7609a0b30ef69411f9dedbe5a0016e392fce367de5fd3e45bc207dba5286125a8aa9bc2e6d16f64c261e5e17b9cf61d720b9981c9b263a265b37d845fa8f93508bef12f6920f07a3e6a7f735bb438a21abe018694c2dfedf2b9a584d3f87009a53e426f00c55f8665646c0c2723954e2cbd185236be8694850ad422b5a3a5b29ecf49e09608f6eb2835994907103a016f8e44c354babf467589a755209a3194d148ab4fdceccb1e3304f8a992d231a9e7c16f05b1835b6525aeba58ace97c4e39406e33bfc5e6cb17b4fe85c1d23f757c6032ddd140e7fb370c2213e67315016d24e62c36640c7156648beaf267fc2f30eebe2d03278a02d09d6f0426b41c9e3f89b114868b4498655d672b1f8851e91a39428d6348fc8dbf02bfa0b9c011a8cab3d99432d6c8dce739e4524682e7fe187b2ac0ebf358668b87575162f83dc2bcc91ecc25f312d7ef921429825d58ca1f4bc67fada84a5fe089bacf998e40d4c7223bfd034d991c69f7a0ac9f4af312daf978eba2e8f71867cf9c5ac2c883e36375060c1b4c7deaf387b238d965ac3e2777085a5adebc95ee9a943079a44f02cb0182dc1b1fddf446ca6d3735ce1ce08786ac4272fbda23b6b9dee55429648a63e7d9278fa10aee61847f3b79f92b76267390b0e673325880fba18fd83f8ac4230af9150937650cabe3998564a40b0705e6574f4a5d6d64d948c8d273c41bb237faf7083d5efcc2a1ded7074857e792de438c0d81c55c85dfe03e20f29e848de9f4cada271bd0d067857847db4635e2a0f72bff8bc11ff46ded87b036bb72e782d67dea91f5736719a37c0b92cc55751698983570d0b49d2f7afa6f3ed36a5bd6b0a346e2363810ae6986a1be5f0223a34786822139f58173024689b1b497f2f3c77fd3689b4bf6994ef7a1bd59970ca697d7c4a8bce3c2878891245663aa48315cc5cfccde136a69771cf56e36acd5981380f0fdf4b9ac7d26959024b30f2c11c88ac4cc2017c79b65fe165d64f4c7778090d142f3290f2fe3f17f21b31e14f349cfc0b68d3c8bad53248a70c888990c3e322f3123a78a87f40af09f2ca106b4cfeecea59cc9ea0e14f0d20df555ea053f897b0fbcd5af97535bfcdd2f6dac61a21568e6a7d94977ccde61243a8c3be6a680f0dda87c8e83e4c0b52e707db857f2ab07d9b13fc03bdb12299bc3b9b2246eee4fc300645ad4b257bd7a9fea162a92b2409d9ebc121f7e75afd30b8e9bd8acdc0fcdff6c3003f91a8eea5130bc6f15ce52d42054dc7468e980044f264bb01bf3c4f78aa0f43fa96dff61703a350cdf23b1a88b7e2cf1aba90121c00b490bae50afe94862a8b8864b9fb1bea00c643d4851a1c7137b88d0d6c73386d5548eb4ae07021ce45b7c14cf5e7e73b54fe0dde5f2f16117e54d61b48efda17105574432fc60f5314f803ea36f1d64b7b5d416eb38c14cc2c83d603c0552ec5170c3aae1bf2885f08b50088b39fae8c66859ffb8dba9724d68359fd2350eb30bd550b8b3a5d588a859780e0a3451fe2e26fa3b147bc75b374c67d1cee6fd0b26018cd1e1363de4e1ea83fac53cc174934332b13391d25d4bb6729f6021a779dfe82c3b22cb0a56da3be261d352c7a9117d95b2d991ed0ca7395dca5d7eaafbd9094b4db9960cb0413fbc1a09cbd751b4b3f4e63e64292ea567e974fc7df738ff1038d88df9198593313749504be3a2e0bb39f42b6bab0c0dbd7930166a48f626249cf138aefeb5c68920998f20f0722c3e2488caf9d6f20af9d76b9e30561c92a14825b1a23760a8875c4ef29f327079a4f52273b9da65ff3b6377b58d71a79c1b4f55bd3d83558188f81f9065eec048da46efd67ec44524140d34e8c1e4897c5543177739322e81fe97a6cdf617ab5ee6903f7c87d80641469a871c636ebc423d55b48b2d2a5d8fb2425b0325050131ec2895603cefbe8005ca8eb112986219f2af9487074dfbaec74ba1b77fd2758943018db905b4af27c8379e63b617a05fdb55eb38d2a282c90781e282e3dafc71b563acb4fc2565b20015c6dc4f8bd5263153d5ca03100b28ac6496ec4fa0935813d16fb735d115a86929a05687bbb42bfc3bdbd46a402e523b51ecdbeb0bb6f86d704732de4782d419cd654209ad2e9763a1d43bc022845005531e40a0f058813720c99c94d0ed52f8f8464beba6aa12d8d4688524428f0470f62d79ebc8cb9294c585d754199ff90963319bc9746bbb9298c229d560fc3585a42d011781f87368ead65b7fd5f9fe4cec5406ccccb93762ffa8305dddd75e46a1e8bd5be6e6498c913696f0e01cc322468fe8e2483426f2bb83e5555f017fd4e62d8e585201690652784e865d86c973dc6755e08698df7dbd827d46ad6c533b101481e09390d564e8cea93dfcddda242841c7fa2a090055c0dd32588c91d3be3ed84a3eb824a288be161a733a6ea1fc429be0184555823dc4675a1cd6edfcad3dff64dc896062eb8f55117a0d78c764675767d98c7d183225afd7b65a1d661ec52f3f28b70f6b26afba95b863c2872f2bcdf8be13d1168df8c9712da264e694ede87d8e39857fa38d3ecc169f2fc0a6b52563c55de8fca062a88ae929bf765135d49d9272deea0b344b6106292d17a24c43b88d81394f270d207371e0ea16ebb58d25d6815e54c0e3eee7f1e74360f46ccf7687dfa1dd699ecf0923679cf0d08dfd9ebc50837c51292c735f3c6498b51d1ab7db56469a1482ad2176070300ad6d6e794fb22e0d5711cc14fede00cdf7d77458bb2e99bf724f30dea0a06e0356e2c19d1282458d2b0e264e58b86f19fe9166c3bb97508f3ce7c819bf1952575a0e376990cd9c7ca51cd429fbcd4cd5f4c338225872a168b3cfaf321440a4af027f3cb1292a83b00a0457c6e0c23190801f017aaf26a295c9bd631e2c74aac18cafee01f813d667f892bb1f309865e29a75ea74f06b0b68ec2fec2e84d6026d841b46440c3a51f6e7af6bc541f227418164ec6252abc25f17e5043352aac8668824fdc32160f2af47c0b53a3d165cf455ed01f47b00cec507a29a8e639c767176df3a71762e421b674b563572fdc33504624b9921222592c18cbf81e40dd148f2b6f7656f07a65e0ec1dba517ab1e35d21491f6541cadb86a5b95be35465ccbbc11c39444ef12b4f6405ceda31163b242b3ba17331d0450b6840a8d0046ff83ad55f0083f5e6f099b003b32322d78dbcc356f61e2b71c4967906bbc3b72b665dca148df2c5d7474108f6e3aff0ef4fa76e911d4a4f5aa031516076c0f61123cc3773b6848dd5b10b7b677a08734805683a17b7a411571c919b5d9dafa7b3d0bd362836d475fe9e6db393e21bd65dfa8ee806e1e814be764d2a938ee2b5268de2ef432f272a52d98a5744d9894d54ae1bb23bfe1fac5280d0c7e46d5d79ab56228f3ad8bd65db45c97de28ee49934949247205923334c05541f3484ef1761630b7e3a0c806b944722f8fbf411ac8b93e34b88a323f99e640b6f6be7cf04c264efa6c5b44719e9842df8de0dc125a0ea9a2c2aee605796a4804035cd87736c016a4ad797ae6aa5be9454bdbbc8eaaaa469be09d10eb5080665b7e6a097e6d6a1e795a1ed0665dee1078aee4d374af6d2f639b91f0ed643354201b0f3197d58d6134fdd193594564c31aa545400c2dd4b484555a6c4e0d118da65611e705502b67f0f9b0ce0618fa290665d456df984426230dca9e9bdad29d14ab12c48ce053001f3596d6caa117c4bc08b5c0a3dc7d729a6621b421b7882f9efbe0a420e57a700bf37d333ac05d0431f38c5b0636a61ee85c9a61b86e6ffc4fa4b5d3573fa1c25d934a3f7e59cb3f1f79267413af87b46a1f45e8258668f118a4fd7933112cc28b8cca1000c7a9fb7b488592e8a3f55edc9639ca497c050c7888d0b57d3f2bfd51d6880235721ed0a88a38e17aac00616a6c729ce60162369dbe9dc44b21083bef62df73a3a626464783b3763e8589960055e5b1347a8ae10bda2c8e88c3ce4b905738f0dc96aea22a6deedf80817da4b0d8aa5e03b464437eb3d6be0afd5f563f2d2782d1a98eb1fd13a0c62ca3dce12d6b5ec99ece5bdd99e0c6e7141021e14834b96fbd988e3a89a0d291f4c8d728e056f31ea9eb4a2f2ec23ceb519ac02b3079e5d6fa83db067eea38881913ecc7be6602d67a615234d63418e218952bcf88c127d728528a761c02eab33fea426d4c48961a39d2d7a17fc62277da868f4d4402e6a34cf5183cf5a28cf399b82b35a9f8fea37f83d214259f8c90a8ca7c455019a0f387a6e40fb4771412f0f4a2412cbb147ffca50a55e348fedb469dae844b9795f027da817d48d8a02b490fe1248190d8adf8ff68adf888942664589cb5e65ede82eb721b6b6b85a8a49988274e0e8230e296288e274085cf2b4db311ff9611d8c709dd648c6dcffbe7ea481bd8e026bc9a5b4f31f4983c896fde7dd42193b4266949a708ee105dea264225f2590d49501a52ed2dc65a4c06cb2ddeae7c8c1a25e3ec26eea7532b016e79a722f99bef3346a0c051e4674692e3ef745ddaf83b7fb1bc0b5d7ae535a70e01887bee0812ff7bbe400f54e9c07270bb433f2f0a92312188085ce3019db98ba2d4df72d058adb0e1d152798a71b5d941b5afcef04b80297258f4e3f773fff9664b0f136876633811e1256d5ef884f4c971378aad04cca62350aaf7b9c6c5b0c5f5102bff7ba2a5f355e7f928dea765857e368b12b29051f213ce0f82dcfa6909ce51444edc64f72cd415a61a2de9e55c3f41602926ee408ee6bea2c8a4528754b1b97b281a74b8f48b50fb2ec01f97925a5f8b1977078343a320a3246735bb25d1a29aa5b2eb402fb5dd3744aabe385d24398e703e37d97fff8a10ee46cf39eb0b86911d3e01567b6e498c8f73ab6d6447fe64f2d19a0b172011a785aa65a88d0b9dec23ad22732ba517375b2b2599a175d2303774120d4c92987526ff7778b450b0740afb31066aef928a3cd25624e937cf7e6f6b8a27c2f9143126961de5e6003aafc52abe24e7067d1d7336340de805ee3f79c5b927f82705bfeadcee24b7497df4032a904e3e73bf20c34067b2d0aae99c76a1587141213e5b53b4ec4323fce2374aeacde92ee623ad7991cb14a9630123dbd5e0ec401b0108e6a1b664f4086fe40402bb7930367460d8caab06e95b74a7a25727d1f15cee0859541d033d8b81910f97ccc12157eccfa95b3170d7300de5f3467161212e5431d2750601f2694aa88d2bff841c286787698aebdc1810607feca7dfefc0094ed62f738c2b39f1ec9d96d1cdebb6d482eb80b80a3c3ed7d10d7b4f13fd89dcf858c992e949d579f5d76801f218b34cc7bca3483756389dfd73537b7547f8b0cd37c06a98912fa54197a8d73bd9216ab40c92dd24839e2f4e3741edb708b6cb6966b1c527c485f859f73b1f8b2911a0771b83be02fd313597ec88e5168f5ef093e119656dc4292a71d62d09749f8c915334b0202c8241ef458adc4f390507bd682c44dc509d2abf8fbcd9b90c879fac528d67151d5bb084c6307fb461c16281a8f7830568085f043c6c06b0103a189d782095dfb01f86522c599a06408e93dcadc318d03bae43329bcbed8c06c93e4368b95d192781dc80e41671f7ac4c15d21a29b4ad14c41d780b6ed8c669cdbf408dbfb5b490f2baed71098399646d72fbb21140b968757d72562fe843d8044ff119cc8569d0769551ef529b52138f022d900add07fefa401af855dd0b5091cb43c0a25e41bc94a2379f0462e25bddf9590cee974e7d4abb534e63365a429345672f861066d7eab259a70688310422d8701a07335985be6f569df87c80e64d45d2d4f7f8d49efe8a5ecbb437027b01108fc2bc3da8ff93904d4c62fc35c6fd6a6fb3e7e5aa5d4037abdfffa260e4ba58fbc4e27af82bd25bf4afc5b388c4d1ad1796604b4720e8a25c3d3b514bb107ebe3d0d4d12f175d9be5c49a35bd229348e61d783cb1de6d340a9322f7fe7f673b746b7c1acb94b3dfe93dcfea761d88ae5d10c309bc58e2189369c80593a4c0abc470b160c341499e4b3bbad74cc2198581398073fe55af59c001aaaa797472f0d9f53b398d01b33891a24b4b768b2e17d12f399fdc0e1e49b6b333362256f03668e91eedbe8e9013637d45f470062659ee67ae5477c21786e0f821fba90be525cc75e5e60e4ad55b27a73af92010539e9d4b509be5e77e88ce857d1b901fa7428ccdc680461624f35a097dc63117403d45e0cc47ebe41fbc84b0764e0e5bca875353e40d6f000aa2a381c684243a27df1291b0152a87968593e1d9f3ea084870029861fa53515c83402d7aa6cd7683450fa13a86b1648daf17db29055429869d85bde420a6733dda02f90d1e028df285665f0b1b0e0219f1957425bafa70abc4c19c779578fea72d83db2ae9ae49488b85ef8602c8620b7d5d565b2e1d79615d203a307db4d97f35a22cdfb43cfa52707ebe035649410526469aa239541bac39f701c4a39bed142f145637b9e5db44b8c4ec1e182ccde322b192fbd51f5dd9cad64b22f1dbbac000f6ca17a1305d14508e7d0ee2c7f1eb2c1021726a56520f2314e1e20ebb50a79d242ee65f51a8e88a506c217cac09853f4889e9b06941fda069ba4138e9113772ca915ecf8226eb3e618946f8d8b6186218317553fffd9c43cf286dce6576c7a228b0cf2b755a9146d59a32307be8cc300c41fbf510dc817365115d3a1fa0718e86f8ec96e11560e03e994fb1955803b906e692c808b615079f3f7951c0d5c8efe5fe668a8384674ddaa25180474f3eb1c6c78d1037510aae9ccbade3e4f4c39bc3275486c6dce04071b605d6c5fa68b3e7f3bd52b3ad057b3c8ffdc7d73b5139849c3db48547debcba61332a58cba26b92d671fcf9cb7204bf435c9f55698df0d5f6be619581dac190236a8a7bd6742f8dd49f784e1acffc7502425ccd9e16410293659611368030e0f109d79f03220bf4cf8eac8c0be8947fcd7acff577a9aa5aeb76b8d759f8f6397058decd2498ad402ac87b949fa5a5c199a4996425fdb96b2977e15fcf53bd01fbe77b96d10f2698f8f144a7e8e1a9e8372e2883d4f23a5cc893d29af51b64f33b118fd8fcb1a1f932d556300581b4874d3ee7b9f829301f9753aa3770c60faa38accd6c99d3678fa41e9220e7ff3f32125e5499ab2ad54b3b2cc9faf732d944dc72533625663a0ebd09123a3a8424c7bbc74dbf4ad64e61f599e453cf658e3349a4515f34ce8f969815cc44a7f3af6ee674e5d66cbd960275de5445fcbbea93dfb248eefe76f80310125c05511c51970785ca56ba2353b32c90189b54643c79d4a0057756c02db8328671d4ec4a4737d4142ecb7d523e0b31dafe980bcf9333c245d0e988900f7df7fc68576c9bb01ed65ac027f8343498a532af8b6123335e6c5e04f4a1e36d0ad51a2375d36531aa19bf7ff0ae4d0adee9658a2893a773035b409d92c78628b6be77641c28d3c3ed8172f862e389e66e05895bdf9ea81d532055eb2ad078076c6bbffe4f536441e85e3b900a99910f4f4663ef9adadfde0faafddb9db9edd988767e8df9b5904d56db930cd1ccc2139db7696ac14b490d0d3175ec48f5820e94d533a570cfee766a1c2ca51249271ccfb5c7f6d5ab43b5c2ff6960e310b0d067ee8a07621eac8fd15add8155cc7edd5f1ec706090b966f66bf69ff139e9af42ae1fdab6e8ca706a400c23adeeb391e829890b2cde68b335c60291175b7f762c3a4a1daefd330aefee03d0fc960cb512d07ae841cdf3d1ec6ae7c47af967437b5135d9573c80238b8bf7e0533d61ce1fdfbfefdb766e09335ba8fc66666028e686a04b46ca1022dc5f06c406a867507a11e3258f44ce4731edfb3742c3ec74a91020ce276e958e85319b5a1c0cd44eaa9bc0fb1d38cd3ac765602f4152785535a4ff5e04dbcc754cc36e78f2b10f470de2a01b3bf1df4d3044dae1c6483f336f69d3c79cd305db59fabc709af4b722f50fb20816341458138916df06923b4adec4965fd0c58d7a1aa9cef1d6666c77810b9eebc3a6c3ed924516edff69ab7384ec4eb8493e39073b532e80baac7e87c3451ec75e58dc4feb54cdd35b8f76404727fb68740998fcb1b627ee9ea5ccf4254c28a6318ff24d417b6ccc37e71415163e87806f181471017bb12a9788e27efbbfd5c557ae25373315ebfb626bc9faa825400b39eda4f2fd7bfd6b2b67d51fd3b5be50f0745b2ae36b518b8af26181d431e440207fee179299dd745dcc0e9b9406ea6781eb708c5b14db2e9284be8c63bdac68a75bc91d8a53094900ba9d855284744bbe232a7231e723725f49b1ada0ca8e912a5c3f4ae564529815310eee4c4469fc8a7c0de08598c7537a7ad67859530037369b48d20953ac8005675ba866597c2b1680d614f12cab90da216a03411051c1ceeabcb3992ee14156f78018273b07b16c0343a5e9d52c4c1f42b51a7dd283f4a1bf47c2ad595f87c75fe2575833c9e597b10737097ad99f190839d8a1e99fbecd5c271eb0aa5b2473ad9018abcf813b5692a04b64e6af591c5ad07dd0aadbd90e570d6db7290a52ea9c444ac3a669a965d01a1cee54c32c7098795830227e6e743f4fe844c95ca714360332e94e581952f6cafa7819721c6b51f70814e92c556fa79069d7e621cce5c0fc9ad4e52e6abd7c26bab3ab877a6dc8e86c2d7f56a9041a24be3edbfc1aa4798860864307534074bf8f4a62b25791cc7a9b1c22e24c23edcd22f0104bb308453ecd491b28a219effdef13bc619a88c62148d99098c2efa3e64e2949b879a18af4f97fbd4baa3edcb2014c90b1ce53ca6513dd6aa7043880504752828d585a89f59d5d36ddb54feef1fe564b495aafddb2c9478c70aa0902e6b95488e6074e596bd6b2474051a15375f21a02f3fa76fa978566d64cb556ba106955623e3754f234b541296a248b5127646221050ae6711adb7d4fe02d50925d46c03dcd12371e4eefa13b75e0981d59ee59dafff018bba288214e5a2db2a4401b0fe7903fc43f204a034d1f19022134f650e8d06b5d31cd565508b47192aa37b5540e929a18ea1d0932f7b4d79ea04597a5be824068735cb11c0bdd7b50874767bfdf17b1c1d6717b16820452121b9362ebef2fa385a4d9fef63c038c7b5f7a69c77aef9a8553f23a9ce002bf7eff2be4c97277aab03142970fc041ebaf394884afaba42f104e12ce7bf85546800f7dbe295b7ee19653219e748f95afe585174839a4fbbbb45b083db85b86ed84d42bc2d82c12f2c0d9855ebf04a217d9f4ac4b551d48e85c059f1ab4424fadea6713230ef29de1c0a70df87ed940cb9e0b52f11730907ea7e9b94ed3cff106ef450ca56555c71d67e5ed76fb0c236c5dcedd77ba32042d49b7c20b730a7aa9b4bd7f24916683c6b4403ad6b05650515ecafca07c55d10c31cae0812f36a5eaa37a1f001f1f1f4bb6962c29c2e568e5fc0eccbde4c439c64015ce79a33434c5c6aacf990997c43006c5fedbcb2e221729a3b772fa8baeeb0ff643a6a87206c71b5e0db40142c21c0a5d76738a65e4621ea370382573981e012db6bbd3bb0b350a5c4c17ce9b6e3bae523c46cd2a99a3d4c9a29bfcb1c2082de890600db5fd89bdd1e5aba7f4f9c93800883611f7458c21ecbcfd0d6be89a9dc5d6b3efa57161ff0eee0d177f19b72c82683717755f43e9c3e74e25552b18aceab21d01d35db6ce9e3f757ad4fc4bda06de821def66d58de058343b92e0944c3774f408c3f502427ce7156108792cf197ea4ec934ea1123cb9ae3913134236269009712dc23e8ef1d3386f7e2f046b6b5d63d8920f309b2f1beadd54fbb224adb8d75213ec97fe0888e3d7406e581b8112d119c9563717d4a8652136093ab7716efe54904362ff62903a634fc23122f6f2344919e133f5a2957c4dc9616eefd611dcf10be0745345a59a0648b443ab9be0b27b61c3ecde96fbf13edb1104744351ec26404d86c80dd06a6e0609bd7e2d4db9994feccfc147a0585ac10bb639608ea856cd40474911a8d249a2fad6b843f8dc7a0fede0bf41692440c3b2dd4a1b9428701546adbe1078c7274b5be725f1ca90d86c3053d037857ab221ba46da7a9915a92ca987fcd482dc4e6c39347a6634726e678af91e472e3ba7877185513f443f65fe0ce8f4a220002cebd98d284fd5596b14d0ff19d6901d861caa30057af134861b58b2e03b9641bf2f8083c49785685db00a48b2a80bcb1fe2c6f086f03ba459bd26c3772f421a69527200ea3a3ea5ed4664fc567447e625e11076699e09d47fd6cd9df21eab26ebdf74010b072fce94c903fbcdc99b48453b37a919721fbdf028f85b1f20727e928b87b21adfc8e9ffd2d5611784d2d0057ecd352f0cf2774388d1eabb9e498e431bacc8144e271061624f5d48b68ac57b919ba316c223c02f7b6f124b048036434acd8cef7aeeb868cf67b6605eed0b11ba5f24081051dca9530773233a808e82ad3466a10024322dc2f260a66868fcdb36c6986e6fa16d0e79199f7f8a76adb5a56b943f20b4fc90dd9bb37cf5ccb217f180cd1a73b3da80d7c13767163ef4f8a68b0dfde445b80ddac7300e3611656fb6e451e4f9e53352da263581b8cb7b6e1dddb2e13d55b88a36e522df52f727c1e1045c8ef5736bb524f619738b9307bc51a5572c6b28a161140e247b7ba48d9c224f48bc259e53b936331b672abf29baa2b723e364a909a3767eaca89b89de97d09a81c05aa0ef7a616a5130d8cb0df59dc75d6a34f5cce08eecd6ff25d7d75cdcdfbfa952498ee8f5be7d2a3c32d7ce34198d9bddebc3ed3a3519b7bccde361acd50ef1a0fa28a4ca78ef628bcaf62e6a3469ae0e57d33e5bdd7c5a71f0057c0c033124a726e0f2bba0ac194a2ef3074e32485083e5dae6de3bfb2d9575e33128259db4d988c523f12f4a5fe0a25b15e98a014e8114436e43762c88d2bd7514cde412376854db24d0277d1c95f9816016faa64b730c8129ad2cbf10d39cf988fb53b07d8c078f6c31cc26ed6db11531096f29eebf963d928a239d50da4aef34ffa6a6f3e8d10e7b8efe4726b3f2e2dc99a614192f08f8ae2550dbb9861fbdcf82a389ec7918297539a7284ee70981c55f2111c9f3b840b50d12d079c0757eec06e5cdf93928c23e09950a7558c73a358f57bc41c1dc955f839821e986dc512139ff8abcd3cabaacb314b071796d77c6b677a7dcb6ed337432afc5d27c6d9422ac418837d390c0b82357d26231cf8ecfb65a72382c895b09f3b2310379802fe814da1600819efb6d59bae121d4ade14aab3ea60f64f88ffb6a33ef5574919251333ac2e780ace41026e7986040a4cde5632dcfefa8f6ce931601dfbefc7e14dc791f68d0b00c420e3d04f615a0329e09490de24ebd58182647f2208e6d36d3c9ff5ce345814397acfb3476e986989c8367c4393be4421b75eb5e486296ec26d0812e5602d72a8b2103ce3010bb8a6067c356f8bba82c362a33739a9df43c24b4b81cc14c87340403d79fdfff6a4f41dfe381f6a9daf66618297ccf0c3631060f4cb609acea9d388b2eda144345ff470ac0036522e5f917e73f67219d392eb778fab23f35b9480148af287da89fb5573eac9f2f7e507deace5ddbb68a912a2e12509c9d0140abb2f1e3816f470cb20297ef5cc846d4b1c7fe3a3ce9a235f06c575d8a857abc1a342ba0dee8d9dc4f4b5c3b1a6181deca68a2020e4fe7dd235db7732cc05cafb81d8999c84113dd14cb80775b7cfd9662a1efe932356aa49d03f6620bee80072d9abfdae9f17b02616a4585ba39d4d0d72a1615d008025571d70b90e53c90f736dacd871175c9cf73005649720eeaafbf12ea20c904f55b5e3ed61b309edfe2ba072192a502818487cd80a9d37c295255236fc4e83a3069c2b65bcb3908e1936ae61435c385fe01d514f3a483f887d611ded1c40d1f7450d257f8a9064f0dd35138ed3d8979feded87ca207450906e2c25721b3770eabe084184c5dbc3728ee97bf7bc189bb9abe278d177e54804ff234c7078d323926870860c249486fc9adb0d225033992a4a7f5934a1a47dc6c314e7d73f566c2f9a67698117b6b009af42d9730c3c7c20274c1f24c29434fb9c9c0ab95083209539bae29926ef03849e1def32ebef72177cd58bb22b81aaa5376543dba951512d0cd37fc4e7a02e3e92ac1528e91733c9dd1f61e87579e64ee92f3ebe6fbee3b92c1e4b44fbadd06551a862f0a10efc0f1bac72ec71e161cc4cfffd61b018f9c3069d321cc9f8d5f1017c455c5a132bbb507ceafa0c23b24def573a270022a3e0e46e6ce90a6244a04120284132fa95c2fc1c708a70867a2f6b83c338c68284bbf3aa984a354d3cc8836daf6862152ff632fca9a13839a24bd3e96c50fbbd8eaf084f1ca502c9507a446ffe8fe36febf80b78161130cbf32475974e1d7619a0fae2aa8a49b112ab5be610302334891a898436f94d410375b3c10c10870a6f6ff8b0e207a2ef8faaa9648d91053590a3ec04c84bbba3d2ca5bcc18ecb812037717984f2ef6a31f753f0417675378b6fd2b0400bcf9865076595f4c324171fff496b7a8cde7e69a49eaaeb4f3e4aa74c3472c11085cefb5722e21ae5961a48d63d64cb2ad8cf78d495c2e37d42f203ef9c9af269f4d53ad9cc0c870bfad3c4d4e97f999944af8afc2d476c240860f418ad4b7b1153e9e9b07290bacc3cc030dbed51b95d71e08d72f2212bce1a0160ad67b6fde925e8932b26faff4dd0878e63dc6db1ef6c0bb8e72daa9e460939b5bee1054845130e2ba897e0f96cf51c7f8e2de21306f28fd3aba32f29aeaebcf7cee1c1df9224c644d90eef3853951067e8adcfcb78141df3a89c88d5aacecf3279fbe7293f9931b94eed78ecab5fb17217820e8852932c3a99efb098ffcf4503b08b3a00bdad8b070e9da58aebf710a02dd9a5ae20bf66a9b61e1a6c8d46443f86defeb13c5697d4289b4ce0ceb36a2cce694c60f18ecf1badecb00d3b29d398e3e092e6fe4643db81c4a85574da2fb1f0501256d0cf72f934390adcec7d3d3bc3725461919f74f9aacbf0be3ea04e629e6dd313d7fa8223bffb0a63289bc9d9627146512d002a4b34f48a2c1b1a549c14394ffd079137a191805e0a55ed04cccb6a47e6fd9a67b0dccb03ca98f382d1e335eb9dcf562b4d354f33cfc237d1a9a0455a02e8b399c20294e5a0031c7d353e0b9751a27644a491c316cbe6e3382527b7f213228eda5849122053c03dd5e4fd7011ea2341c4f26b9b943fed9b33de7b580a7e6522ad6fcf30bbc29fa21cdef80b665898a007d7426c388b11cc47b6b5930dae90bfcab4f8b3788f834670097afdbc721d93134e15edf805745333b1cdfd8437d18d19b975701ddbe475498dbc650fa4399ac4bd1c3793678172c29be76d84d4b2a72c73919bf8c15adc148a82f45b7d2245036a47f9f75ce724773e043f99683359ae71f7c31f99553ff17865fb42cbdb4aa5574828a895eccdc53ada9b676b5e595a44a845e61391a866bee8fbcf6a04fc8b0d9257b5df0556cdc7ca9c70b80dc574e11e8fa5dfcddf09fcbcbd5fb09ca516fdc903c2411f0b21ca8308b9e4b2afe7bc722db7e78077d93385efb4653a89a7e7efce9e34a5e0757ed33b0c7fee9f22c272b6da739c2540a8c32265528b5f6c0f18053354f2f07338296d95a376e56765d7ea31b512d46eacc6a203303ebc8d1c48f6b05bdb1a416fc63142388ff847f42770bcbdd73c7781f4603ea39c8dfc9df1f810bc4153e1caf0c32d58e8df6edf66aa8a33affb17d309db5bbe2a3867a893c85df38c25d5b914bee43dcce447955bd4124ab61ce4123dd186251e6a786c7a2eefe55cb0613c5af72ff625858a6a9199801801116a4e550fca10846fbc46c160bf29551ae59df0f94ac12028c51610d72dc7c6c695961102ff298bdf98d04627526e7b00258db3123f04c48e5acecf2db2c815fad9f38216b6a75469675d28599640d034023cf17a5e5e1a666204e322a16b8f306006f44198af3ac6b2ae583d6c50b0df315ef2347064163f4124e28ace2d2396b443651359c79b6120bc793fc3a009f0ddedc9af17817e6d9e98c48c02afe9148c50484ed8fd5fb1d353a368f0224c133d38be54fd05f40d07803ba2c142b88d9fb46a6823271361cd8cae74a959186680bfc35f6515f86aad3755f15a9cb32c6ed90b19ccc943deb559f99d6a4bfe4fba0c2a0639aa3daeaaeeb276a45e127e73479f93ca550c2b71912daf1cd370e6f948afb8985c291c01b7e1c6e30bf4d546a0f5d14f59f463c06e6cfe3c8fbc854a8c0d68d879d1d09d5fb9b99de10d1a7210267303e69a3d4233207f325893651504d8ddca1b250e829ed562d3cdada1d74e87796dcbde8c9731880d40ec5bf28e6fcbfab43ed1c13ef8dde32ec0b61a56a2d4d297fb723c2252d3d6c2049f02022d78fda6b1345f885a626bf6d681d606d88ae4cb6915b17a84888494263ea91082e7dae7f33e82b218d683104894da54e2de4d6959e7535fc0f9484746147d116cfb13481cfe5611592c9bd8fdca0f61c183e4547b110f1b30e3ad0c6a9d5227d3056870edb6ead1536078eb7189fdbe8ebe8acd7501736b757d0b7bffd8cf3e20281a6cd08c8f29b63a3a81a2f76173c171abd41a49b42592a1daf77f190bf46b2a8563ef001443a3014920df8d4fda7a66bbd2f271d9a090bd497a9d2afccb8f68b89d982183ede433bcba34e9db4a9354a90b99d44cc4ffb66cc139368293f27d1ef29f789a6f0233ffa40fad75ce333135673ef5b06af2dca5d90dfafeb7a002c0f1d49f2915bb956c8d3a23ab8c55a8fb4ae4ff95bd3e297096d5a1c9305f07b9b0d2f8e574c1f17b4da17b0c270eb309cecd1ae659ea7284d1b47098405480d0cf71d81d238c8383011efd247de9a92e8e06445cc5192afac9ca9bf1f84c589db3e88fa1910121a26e929ad983a4b0dcd4e30ce470ff3523093f16fc3d5c0288a085aabbc74c1358e6ac237e41288247c632ff4b9bba15a67242af143cae9c23101c7b11d1867d9c3a221d8abdcbf05e8bcd44da70136cdac47e3db01f23de9fda72ce1900ccbc864b861afc76ddc89d2e9911f6fc9e26ba9f28f621578b6e405e1fa50cce48e9e04fcb2b5c41b52dee640a5f2d6199a3eab971c471d65589c1e4bbba7fcbb640e59f0262960473f8ed0b694e60da1b267de594a915d826ad2279cb3db4955187202bd52d5fcf2419a519f8ff9c76a81d0e6d3c73e832e97d415e51b1cb8e6a00445e964acae6204ba08c38eb2b4d8cb9dbabf2441fc2c35c6524e0295953f0171cc3bf00d10fec40a852a750478e7492a7c39fe342e73673ac2508d67fcd1ca38bfd6f84c8ccc88c4435409c77600c7227079ff5f48ee27dfec48722acc0ee35328708713cad85bc2adffb3a5bf838e79ed24251c00213964831308a75437faecf762bd1bc22bf0e08eb837c732a878cb020330356b5bc53349aff9e62d60abe234bb1e7786cef835341fe31a674a74936b5dae90efc09f8239590437b5272515fedbf149c1750b7113053b54ac09d357ec187554b7391c1ade2af6931412ecce80b1e873c4e245229b17311aa7dc7e364aa7dbce64c0eb7af0ff48d55d85496dbf181f01b5f08c1c30ac049ea55fcc304f482a35d72affff6ab95870144cc0ea9924c5464fec68df948a1007fe631d7e6343670c8710f3d5f630477ea1b2867323d6dbac12f2b373f1b8e4d4aabcb7d2b0b5ac34c822a8e51279826cf495dc4a5b8968c314a0606c04221c5d7d7e1fc4e57160d0f52150325dce573676791a428dc55e91fe656f326cf8fe6136649842b692045fdecab5244da575d2e6c86fbcf9c0ae7f16d7ccbabe551e381281327a164c32bb4f5bc2b770ca41979576bdbe6a1980f69f54213a9730dcb998ef85f51e139c6d0b5d04d69248e2d4195b102d1a8392ec141b7131148450ca51a4d1c0087436a11b52ab7b59d1866fa3fa26f48223f14a5e1063d99a8f872bef17fa2d56265b739141ca50a09d5765ea15ca6266dcb9c772265af149a4fc0354eecd2943af3607a12f3d3091f525e87d53a70de21c04d646e734e1a0c836d4981f9beb76a2096653fa4d6c0f167442a48d7f61b58b58130b14f2562b174eb5153d73aa68bc11ac1a974108674925a645f0094aa391b4613d31f0e889ed3f610b8adf4ddbaa8c4760203b16ac475645ead2517ad35dc640fc5d0dd77c7d1d687d7a7d3fa0d6ce1acbb1532ec4e02abd7188d1bfccb3ba4d8b08a5d98b51f31c316f711fe4b7346e59e583029c75b53d0739612f38c56730c1ed873f2b01e14ca130dc37c0d19b1955a49901c3195e2d677f13849be9b367d974ab7eaa1455af7671acdc5342451d47a6e69f1668982ad2924ef32cb0b96f8fc48fbd5a58f2977229e771eeda9f14c37639bdd0bf37bc2e211a8bef517e4795dd724d64d653ea4cf557da9e02501995c5b010497e002b854571de48d59c3c885f3a49be88e3aac873b656d4004a4d000e36b6f4fc1e06b6c0d34c691055b0acdc4457af67a1bb01472b64cb09d66d6bdc5fdc4d7ac5730fcc72f8db38c1c7cb8a66f4c47a22698cae461a87163545b462347d040a163f1580371be3a7498714f07e744f37a4c5a575a4ee562f2c115066af442227295114aa4ecc458117eb07ffaab12db476f0fe16644f689dcdf1c22397700b09a4494dcd4ac5f26c8935c94198f41954246dcafe3c4f042cba8b781f15641ba98b2c02b7ca0c9057900be523b328765967e66b095d1497f131c27d15590902386b580217f14300e8f75c4c4f3366ecf1936320f017a9f36d80ef4b6aed37581dfaa796dd64244cc6c2fa30c631395d60d9d67689199520a93594b104e43ba92b324a65bdf879047964a24ae180287d5cd9181b37254c84bd6743caed8ff9aebeb4f72f3ae3d37994da2c87b21e4253f5990eba5fb05f2e720847b90f7272473b5564014f85dfe63ed8ffd72c8f65e3f3459f3c16562dd6ed924d0162d398d70554fcbdbe7ab96da142f2acb008cea79cca166e47ae0304c80bdd8002f5d6b0d8fe40b5c4b499a090a36b847bc4bc888ee1c431a4d84365ba803bea856ca42026e97a084c3689cad679e65769a9763a7e205fa0bae2ed82b07a9f06e128e29710d5848e927ad1b34b17de988a178684c7a0036fa21e5a88cef931de74038b5ed9289196082a8a5af865c37c028b8fb592fd090a34b003fa0c4602aa7c985ff9cf2bea0e490c78850691f1e2809d1b1da850c04360da13c7f9e7e4ff69d6695c14c77005e0c9f507eb70548271eb2e8f87d70c702b00e5ab6f9df8d0d7b8cd7fce47ef7aa7fefdc89838835821e213fb3cc0c3514026d8cc3500740dff4e66ffae69b4157d925a5a274d9f77219b39d7663ee677f710692d1d30d383b5b29a311d5d43e7d92f1bd822610abcfa7dcd2cecd47a6f82629311ad65d64ee96d578332813c1f639b861424183ed4dcb714b6cf577d362568b598010e8a758a1163d3f0eea96e0b7eb26293f010a05fb1309e2ac7e88a7e0a4ae7d589dc7b5429f1a7aecffbdd5398b474a3f400b843bd90e30e634d1e25c006d1f889e18d4a8af010abc9483992d2b21859cda8e4df12872cc135db63f645f459ba33967be0adccfd6c3925c07736476881d38d6ca2a38d7111281525d54a929d63d53aa88674cd2b2d3b0adbaedaedbafe86799ef3ad6ff32cdb138a708b24f4586c1b5e92dda2923ca50a4245896f89ae34f8a6c10bbce91e359337ab9fa3b6627de2acb6238add2754179abb3ab204f1a79e626e1979bec24ef4104dfb4f831140e5cc94282c03c0154c26d1cd2f9d66a0612291b53ec712b6175e3380c42ead9c9bcf77f30b3d6447e841c4d24cd9022788f11bf052f8876e4333dbc84af8ee34b4f5c9b3be5c613c95737673b1a60f79ae693f928bc632637fa4f7685b0b0bbe62646dfb9865f13c644d192d8923606c77fd989bd674fe1becf49e22a45e0200fb1cea4aacaedde790f7c44b7a23ad683bcc240abb7f7d61eec144990c6e776aa3444ff83de0a911c596413f6d143de899d522dc53853fb535a8227f503176380b42598d430d1e33252f1346b9a68c3b1c18eb9f4c44aa859c1f0ddf16fd841265ebc223a4c56b113812cb0ebbbdb46a085fb68dd6b4b90b553269bf3190709acad793b96ac3899acbc2da589ce7a5903959bef5f9f0c893e86207f76988329b5b0aaef82b7cedab04e1746b1538683f9084373b6ad34d84256592fefd24d6ccde8a51a9bbaf15b6ac055ad10952dbab4318ccabf2fff5f0a15242edc4ae889c3464c564da4480215ed0e22b3d3ad4f85240dfccb8e2e45ede9a0cdb083c5f3e84ab65e5f99c10c0c129c0ac16bde7d26012b6c2b37237649f8132b31c6a336b73da9a433a446566109cb4dec18ec527489cb9137a00dface0ae1c210a4fc9a781667d915ec0ca0ef743ea92d07d8bf81e31a6e44d8c47943db41cd2a4ee04379833f2f285c99444c618ce5cc92d9d6083ec7f8ad197af881bc88844352c8a000070feef0cf1f77405e05811ee6af3434db9abbdb3bb55c9fa631f3ba0ddfa195d658220b4229e75e35bcdc3e388b07870ce7d14024137362ae958adee9edff8a12d60188ba8a105bcdaf80c0f677a59121ed4336c8c204d0ba9d5eb50d6d3bdf7f7cc0907d9e75423fb29eff510117d94ed86fff68ef0b5a6841fd31b72375d767e9805f27fd2419342b76b5b73c497b5d669af84607d99818329dbe676b46b526acc90e7f509eae1c92bfbe667de4ab93df6c474258c36739bda9cfa81886d4c0bbe8177013ad25d7fa500e0cf63b44f36f2103fe96a1fd5627bc1ff90c3dc29d55623e5885ebe9081eab565b5b8af6fd3a0de3dffa4f00810773aaf15bc58cd647e094c51d63aa07835e436edb7008ef4ae8d714c1e523c6d684b74c258f9028b2d4ccafdb2d58cda9a551b43011659aed908ac7a594deac65722f03c7c5ead116ff6d8b4c5b24f97c68e6981e724729c0408153c50b8d1157e65bb989f2e49c6ac84946aa6285d1df5d21e71c97cfe7b6502b245c15c5f685c4e30e4df5729ef13d58340c87e5a2adb7c3676649d0caa1414a39a010cfe989f9defd331d42d79ba31cd735f1aa9b1faad295c88686d57e76485e12d5ae3cac0b063ec69416c0656662b7e716c2e641285de351300403249566fe7d53a3e89c18f66606f66b70d45de1f9cc3d2a3ba2ce8e3b86c7de6daf92484b3440b689bc9766efe198c9f6b38c88cd82c57bb9d2d4f780f0e5773db9d9d9089a5992a6a0ea1d14a373085ac1acdf193292efe15f6a5c07dc79ff44555b3c68bea592a6f444a5fd5d1142f05060b27a5e0da74334cd93157cb5a183f7351698b07be147a1c8dcf0c0603b54730c4c1886a25e82e486b00fc2bb63279032b7bebd478667a691681256c8087ac28d9f97d9113418277d2dcc14644f7414d27713e6e8b1c5837382ecb5d97e3c91aee36409c457c3de1df34df729b8f8da957d07845d8ab12b96bab13f2062b0425bb9a3feb798aa7b91656c1cfccc01e892156058a776dd6ccb21ea3836c19a21662e9e58e26d488f0c806a1fec6a14bf4c2b49ab4475e8b5815d5982cb8a8182d18d52a862cdcd07a577a2e77c9022d3088200293b0489ac56fcf61793bd45b6ad95c2888f738804f5040792fb2145bc9ae905267714c3d170b6591a8ca40f14a03c7b472ea77a5a626cfed175e53d2b3ff745d54f888b3e48b205fb61122a69001af2747e71bd3d2376f868f2547bef15e9c0c49a96bbb60428493e04136480d0bb1e5e0019cdb86c953c252ffb8485e9bb821b9a21ac563214f8ce1e44699a6b3449fd8e29ae4f6f4a63edb1997d168e32d696bc6ca83a5f3824957d5b7337db65ac51cdad81ea03db81546216cbecb297db93aadd548b896316a654ce8644254d0962e37b01b86428eb4062fdeabca3253e61cd7adf1b7733d74d2a993c4dd5b911109ee113879a744941e3cff659ec74a26fe345f206ffdf7f2f4e8b66a7162ab62484cf9ad01d9892baffd3eb4b620b45a430aa5d01b5dbad80a086cf5abb54a8a692b14da4a5fe09101c186f736c062a0c67ef3c48485eea114478b508adee91a7a96ee42e8ebbc87dced99be09f4b78a2f4b9ba95eb32fb90cba388647d8d919c2c6703f8bca16cc6ea7a769573d2ec0da64d90ee783cd1a94c79a81ee88133e5889dfd1b710d205f070586d6e66baed704081b61753bdfd6500a94ec37fa60bd9ac4fae0328cbca4abd55c34c7c1331c10d6de3b3710d3835d7031339fc255892dab17a14ad5ec24ad52518e2039b46c3893ae22f485b09337c967c447fcccb27a72c41bf0834eb3c6a015a4ea57339a5e0c776e9e1ddfeee06624f9ae5a059fc5c0b595f49d29fcf8cab22b46cfc691341d69198abea862cac92e517d9a0c60f6493ee358ee0667cf0e3434dda7c2a2dd1ae279ad666bf797c33ff38665dcc4c0da829004fdff1801b10b977866ac19557937dcfccd42da5184db4ca51c8b8e4f6ef98151d9437e53b673f163567cd9ec97950cbf1593b0a3b492ca1d59f805527050c294254568bf8cb1adb1c2ede74cf29ba4443a3d36ba686e5fe6c109520d40086e86ab047340da0efc611b23e7d6a31222e3e405f56681fe5cfedd9fbf4991e9c458b27771df3d6cda033a4e37eeafd3e671d4711108a7885d728f46ab9a4a2fabd428038d0d848ea7a98adde7a7dfe867e873027d2ba226ff0878d5224f61dac26ae13d93a25adb0bdcbcf7aad5051c59ed831e92d90841c257eda8fa96cb9709bf9e3a528401ad9744e2e16cd573cd2e2014cec1d617c0712bbb853a246b880d1280acdb7a2981c7fb8aed0b20120037e77c0b88a55a0f1a2cc65b567707c70a271ebc06a4f3157f1eb6e6c8a265c172100c0877596ecffa4fa6aeee161b5f0fda828297a1cdcef156c2c0b163f6be6616abfcc643bf5799518cf967e43e8988f3ed2a1091523bd83dbbe3c720378b4a07ee2ebfedebaef4e742e4444f48153aa92a0b925d2ecbebd4a2a77658db636e071f841063efd64bf02966e1f50b7ee026fe2299667e71e66895b4ccc629bcfb180f6ed789248283ce611313a29c9353857410c427dbb71ea52ec22f56e670f0f48fc3e68f286fb53bce278cf2a40ea9c09d71f53f6dc86f387600fe2669bed8e5ac6a2f0e38c6f1651e6ffcdaa8c5ac492c194df537ef5824ccdf3a85bde6afcf01358fa84990892a2dff5b9c3911493c288c7f436b575a113795b788044cc514c04bf3cb7dc8aff9b3ae2992266aedf4fe1afb64dfcace1d8f37e4bfd8cec14cc59603b134c4b1a207f3cecafef92f40ee1bab4606f144f8620ce5e3f8520518e7140032cd74577df13ca646bdc061539ff5fc88c92492fe487581e95da9d90adf6a6c2a143562167a2b6a3eb31c7b6ec062fe94281c0b0b96e057c60cd9d610b4bb150d4faf7d5957122711e8c229c9890834610ee0bd90ac80feb3b1add9b60633087f1dfb3ebb290839239c07aa91274d84bde813f2ca78461c6c5332fd66c90c5f3bf23caa2d54da8eb6238a7756ac3909157a7deb896aac81ae9c3280df0494b91034f4764aa9a274345efd9f82ec130123e203453ebca7591615a099255767fe472cd5ad2b32a956302d26d7381895840e8d1702704451e184266e4cbef188744fa12a662ef6ce13beb9530384e07985200bd5dcc77aa339af3fa90ecab26c63059d0aa1f53b3a5262f4f7eb6ed36f70f0908b6009772e25dd6ce8a566221ab7bf65ed9307f53f5224c44e9c1ee6fbb82ff4a3c342699111b3a3626a9f4d0bef6aca3305ae898737d363ccbd3d56475f8324826bac61600edf430285541b56b586f1ec0cf49898d3222fc9d0c2f5bf262eb60a7eec774e7246470cd98258390a1048c104ea388c288f2cb2de54531415f1e6e8430a8563906ec25957d991dc4b0694d9792896728a30adc21af5d28f44191cb9c179eed5d383111d8b7a519630c7bbf62538db531640b3b50a4ef36f179aa97d191e7246ca94e49e9699b4d139da6c35eb8ffeceabaaea9b20094440041c7393871714160b696ae75a6b270777d342b14b38f9afd6c2795a11dcc236e3a52f61e43a70c056f3f74ca707adb046eef4bcde2d8635ec5afe7018de9774231c68f501a6b8d5bf5c7b9f51acf93a8679d6c6d208b4a80e8410a6eae118fa13be77950407babf7aa6c75252f53f27bdfa954881f829808a3033e1897b9e5f575ec63244e0e9e5d899005e1d39692336975962a78af69bcbb266a40ffe6d25f65da29fd30712ac56dbd0a186d0a9f4f51ece9b7996ff16b42e45f843cbce57cb4aa4634cc8c2d6ec7df203caddf1487452849bc9a448e6b2f72138123d537ef9b8ecb4a84a06dc093ce09257ce82f9994dd5681249ae0f5c2b8be970f571442c04da3b604949849ec1295d29b936032052075574688ab1278c0fdb0d802c4dfdf38858459b3915ccd5738a8b4ed2edda2f8b755fcf5db82f9e77b5ca4c0c043633029446a6aa59319039ac66ce79b338111c6c4624147279a8fd1b82e56ddf19315f4468b5ca2de7b47ef960b171fcc6ea411e26ae729513a45283709b9d09a5a85bbc2879cb7f9e990f98da8827889b522c1ec875d0d11180e32987961a97728d266a43a49a06d3e1d5d30e1db92b27364adfc15cd3241924932039be7d95cc3d01493b416b0a2a4ad8947c65b4ab41ac46d748270452ade4a2d6bb5fb9a2df1e9ff78d8720642651b5ac392bac1cba012ff966f8c39f104eab846176c7c8ac7aaad13e08e3dfdcb208ed5c17265f7a76e1e6ab27e449991332cd969956e500d099d64c0abef42da2735c52cfa96c24cdf9ed75dc5f6d29d61f57cff16463b227f81fe8ff14885283fcd990f833b7275fba080896fe2a5242dedf9cbd7fcc5fa044432ee906a28768e7c5145074e2077126eda83edbf70f4bd3e941daee6bfbe469a2e95c68e13df0b1a7b050851c909dd03dc309103cbacd7e48a56ddb1e33494c6f3e1fa213d5de264d5f76b3a6784957debed7a03f3dff68ac085bc93b18c35b3f25322154a753eeeb1c02b08995e77dd0cbafad74f64cef503b3065715c4842f920edca4fdc2732b1408043371787a2835cbec08bfb4073448972eebea4f5fac49eecd54d921bbd8a2c46e33d661b883f7b9ffccb4c5c32a23372f08b12e38e599519f347a25471d9fb68c0805bb3de0ad0a6edac5e73011096c65192b55784158a273f199bf00d07705cfd6b5eb26cda23ec7174397e1c6a7204e285eac4b78dd55cd6087a56161130ded3130fb194999813fb4bb2c5ca8cc981f1e322cd1f3e9d018592f235cf35ce91028899eb6a36e84e6910ffaf8a203eef5f8103e54d8eeb58797ba6b31d3359f88196b663fcfe8e7a4ee6e7d3289d6d62e1daf85ab5bff5498da866d517c4233e5dba93841041df4b6019ac69ec2471267fef57ef36346785893dc15aaff034aa364367a6196520a5804e4fad45b9238d975a0eac95c3951a42f37a91664eaa47fb27932e33db65066f684de00d3291d58123983809300e4050e44f8cb9e611e77ea6187a59adf92634c8c5daedebf514ac0555bcbf6b5af76062bcb7073326529d9b0bacc540d6c75e570385a9e5d6811ed8ecc18b29c0fcbdc6a47df5ef754cd8e4591f821bf0fb86b8fbde7ed3e1b2b0dc3317593e5bd39b3d21ef56528add185ca1da4ccd6efc35c46904001d56b39eed7c7310a8b6bca69aa200c30e102b36b617bd694209d9771382fe2fb7a94d8b4f8d281b063ac21bc8b6f871589390569ee1b184cd4c48b0b8fcfc95554ffb3b5a4d5083f65dddf385ee64e94fecd38717d2a6fd9d0f9c5138ea61a39dadea2cac4317324dbe26c8e37d59186c2846c37790ec7857586ba2a7b575ab58f2768e00194821df48fdaf95afef59ca1b15a7c24534f55bb16381e2b116660fdb38b07f75f0cf0d5c19395b4d6c6565917b035ef8cf359e230e82e3e3e455286bf622a32f62c3e683d325874daf65880ff9ef854017f81587a0619817dc801c915cdbdcc3cd0fe4aab16a6ff10245626cef3dc3c62e572ab816704d79f01346c569deab59717894b6b37903b2993adc911b545750da2c8e2b4509c3fe47b73d624d362d51a9a8db2c3a496a226b41b827f1f18cb32f0f65d018bf44216eed135376a3a661d6fca68b8538e889f9d2270592bd7b3143a0236cb9a401c5fdbdcc6076a049065de81d90b4d696538a593a30664f78984d3ec1ca831fcb480ba1d8e9123e9480e54fb92ee15e791e73028d42616d7bb718fa8adda4d3c91c6105446823535ccfc12a93833be0f60dd7b7aa35f0b8facff1f70a9b5505a27d4c09dbd9503e37d586d208ec9e7ce81b647b770e9ec6e198832acdd00077b2c97b3ee88b5e24fd37b1c4dfbf12108fdabf6b2eec19459d22738f3a0c6a61195d70dbfac32e2345a12142aafc60d89c505c38a54f99b6294ad308ff4430009abf35a87e4e32772a6fdb82e65cea7a92f8a089468c64aa39bd96339a00f0f9b433e3372ec70ca6d415a1dbcef3aa2b5545af879cfccc127d728519d0c509d5452ec6aaf37488ba2998d2c8cb7fb9dcc715148170d85ff84da49c3ca1b598b52d392300bb24f1de851b270df805880361c65f7329910c93be8664bcc95dcf8553bfed24df7e1ddb83d397d723d676a8a0928c028adcfc9f9bf137cf523af63ca014d9ef821bb752e2c250a197fe48944e049ce4dc69cdc173170dee75b96ea4c83b52b5eed4eb63d55326996e2b728293d4c51f15de0c8f1641a83df09b3a14c469544394ce2c62d6b7b07b8d479b2093cbe0dffc8516b452300301200f96e3b1401b3bee6c0cc90c595b6ce8a25783cf714cb28304e75a16d2b64c86ae4efdf465dc8a20808940449a5c2b4102ece8fcf4edc72dd1f7914f1569f7a19caa9740225f2ef976f98f727219e40f41ac4fd642061886d3a7a916ccc806ce2ae9dd3d88a2167a63f327aa0fefd39cf3346832f045d51a78c28812e5f6b10187ab05a73bf8d0071e56312109d19dc4be3b803329204527a15071667ff204322e796bb30b0784819ae56b7051e4950106499c97d6c28dd1f7ea59e7ceadc7d74987bb1d071a22bd69c05a766195866f2472efb4da808658854f32d05809f988c1626a8c4f25f8ac8a0d0a907305732a5f60a47b9c6f5b2ebe1f3100cd2f3380103ef4398a525485f59fc298865e43f9871c0500ebdeddf7acec1a3cf0d13510a9f7db5b9b5450384ed3cce902a9290759f79cc0dbc48fa45fb1847ddd49f171798dd1e004520234f8907f0b593f999b4b82fc583576f76d116f700cffbdb2074331bccea11127397cbfe7785b52029cd316d18e844cde94dbb7c761e2fdd8eb9eb9dbdcebdc57872065ef0c12a94025c5833b5c47583a1f946b3a7809d8b347954da5a17e33708ad49f79e3684a9ab0ba58ab9739aa7d2d5811e8b4d598a8c78ae1ccb24f7e2cbe229e12a3bce3d817442fc93ef0b39d053dd8b64a58d931aca9d52b858cef3f6c1754fe63220cd8aeee89b6a52d423338f7127268cf5803d956486e150039718496f601aac1a3edf736c0a29e2a416cee97f35b17f628cee0a17f7e9964dfe61d03e399c9e7abeebf3eb653ce74130e8add51a6ec0329dde6b33c590aad77a352b78509f2861ba2f29bc5e6b80b3b7680bcd70ab9766b6512395033ff05583dddd3a6a37e07469c2671f0eb139479fd73596c5e8ae97b090e97b0ec820ef9fea7abe334a8aac0da0f2b54c453ca732870c4ca454d7f13a8e70283fb78e3f77a6dbc18c17da43e9b4b5d32ff83a662b8aa4bb6852591dc8205bf5ac3c01a27c43510d539107249250dd49c6f48e79a7747e6e2dbd1e9968a07526ccd9483c1728e7ca4dde48169c4d668331200231c8f84bb33d9ba01d471f09b1dcf2c8e9325f11e3838863a7696306d7dda11cb37eda6a2c24cccb2ef9614efd14149a6f92adc24df0b95de230c58467ad72b8be33c687f072b4c0364cd973d2d591c67c7217fffc1d5f1187bc7a8fd59fdb1f7c32aaf83b8ffc12b7f89521bd40f6113ebbac87a51d9a1482637c2e6cb9a98b8fe5993679395bee998b49ba7d019e22c765c79ddd0fe8717c71b3ee8ccdf8a7f4cef4dfea358625c3605dbbb4bdbeb8d858a0ff1e88b8432731fa52455e116046bf6d0441155a8995d68b4a9b768f9042b5dc139737d4f54f5243b7c5195b688967929d26368d67e6c0da54fee219f3ba9854133463d0c3cf6424c3cf492e729b1f6adc0c2906b16f59e682dca91f848c7451b0b3c9c6667a96c9bd88ac7c7544005e21d81a577b38054b161fc6e7f1631ef589b4aa4d233739f316fc3989378b4c8914e1ce8ff4d8dfd637d5f99184ee03bb8567e21771e5779181b4c6ae38ea96ea06de9a7870c11118497fb1b9147ed215ed18506928274f74da66c7bd73528bb33f768f9c0f1a792dcb9f7becd018f384d463a6d028c53f999d7a00a317e50cfe954b395a918060e28d10e7e6604ebc4364f604cc5b91903f15c66f1191f4a8c4ff170f944a04c1d0cc06d06f5f68333b0e94890eef33e49d38cedc160935b73f97a5f00e717f3d100afe296f467ff1eadf3cd70894c9281aa24187dc9c0dc0320e068bae4d131b7e3077a7fefda6fe29dd3ff5e59e9efbf48dc73af8fce9b2482807099dcea5e292c23604e6d0f85b039be5c92b461ac0e95f641d8afe5f1a27ebf11a837cdf0e7110ce40bf7fbd8e3ac3746f0c8e188d1202a1f6cd63c184d8935b775d6e11752ea9fd7b123d2561678680553cc494ea0457e9ca78121767014f1e5c180acab3b703b96ed2032ce599f001fc9aa65913c99d95a016900fc46338836dd37e0df48513ae311bf0c6a5de6d9e1a3c8a2939296478b763e0ab19936b17e5f0d77374ebefe6c81023fe92a4bfa5c41f4225f3b0459233e0f4d9a91ff0f58df4ecd71e5904ab0f92a009eca2d8000216d79bd60843ee23137d7cedf7e97607de3d6d96f553539f301f70e40315f5fd0525b7f2026cb5dcfa32ea5b36ed62ede6d2645cb5cf4cdd208259ede21f1053f176b4ff25849d3a829506cad24488a9257c085e2078ab2a20ca5971f8c816707d9bcb933e77536b85c309279731355a23db1341888cad95e7d5cd140bc067203fcb4a5f061d4ded9cb4ebdf356fd6a8931462330d18f2be6aba7ae0860f3ee13eacd8e98e29ebaa7d070c17d3602e7d8701b3cc1856af8d83e67c1cf6384db58fbf256f6476a28d9a6a051133bcdd64da25592209dc84a208492cf9192e2bf70be3237269d85ab68330af36a2ddf063e1fe3827f07931fc1524a73e1716587fdeedc24d9c2dd6ad34efa8ca5a7f660868b2769885937cbdac3e32a99d286979e64db8dce145fcea12109cb95d580ad219fb69dde9beb5e46957a0b92d7360cf1e57f193aed669a6b0b2e3b1bd4f2550a81e3a63eb77c419b1c5775c2200d15de78fd88cb0932e67e025b2aa8e87b57f69e2747b796eb458b21187b5d7619bfacaf53c88b3a18105d2ae3694e1cfccc8fc829687e483d85e6dff5010b0a135c809dc89430409196bd1448cf2593194a0e090785c934d184c6f3ee8263a29f6d6f08fbdd7d21be8f78b1d521fc0557eaaab722f75e2c73d8bf8354c2d9130815458e645c6eba33d9ee8a9f2fd336dd4b2f05633a4478495bb4d83e037511c8e22185eae66e8cd8fdd7cb9791b44b611a619d5aed995aaccbf95a149464d4af2c7523bdff873ab2d1cf09b4327fcf5dab6392cdfbee1835ab723f3145160fdc5603a42972ed24da059a362189643b2acb7d176396c400b1e5b7f7a59b4849a21736f139d9105eff903298a9fdefd2040c80c07f160692476d92f85f5088e6290b24ec117375f7d309e5d5cd42e01ef1df872c2b2616a1a3df10000170720f23566c458bc9b3564f49648fcc31ec8abbf3b52b03b6b689fbd82c9b75d893370659e9154503da2554c753f0c4ecea62a275e286a5c6ad926d7debb15a9792b4296719c76eaf0aee00c96036874c0d30ada65e60e43ecbbf41a37e875a3707f6acdbd4bea328fbfcbfcab506b4a4a2a306747806594e942e2b7a4a9ef632a954d24a395cb49b84f876f0fd0df8c47a55301299f3b90dac7edfce9122a5ce97cc34b07e24dfa756fe19e382eeb9ab51816548506879f1b5e47d14c5243c2bc7819a85e48df1d7b9757ae896b57a88474d0f0dbe80b8081a800c7c6b1d733afad53dbd9ad741762a6202ce8aab810823d19b88778efc20175a3557327bd52cbb7a544c086d0b25770df6feeb4fc7e112e7bae4d1d7f541a6a77ec0adb89e009fe6d3e789832f724ddd917be06c52a475fe0643076bc6603bd6c8098137f7a3fe42fca95c266af1565e75f3e21205da5fb9d94dc3ef945c0ba4c0ca7cb2d0545ec644a07a47dc816e1ca8ba49271a21fb3680b7ef419c9ea0b2664794547344d4c785f6978b74a35a3f9a55b392d4ee169e25ab7d5c64a03fe0b3435e789e59722f597759c81151256493a8498e9d2248019c3deba348b3f9e198a074cdd31111108c951e836745e2a709a03712bae4227dbf74198a59a4140fbcebdd6aa31557bf0eb2137275dbef2aa3e36dff20bb8c7c71a7a3bf4395d1037986d60c6c484ee6ec3f74c96cf99e4b59077a08fad110d13ff9c4f55d851b3847c2493f3656d590a0329b03a55b20f04b11eb8b99c71728cc959981158d5323f5467d9df844a55edf8961a43081b68c15b72ad0671a11175c8e8b8d32cd9113780726ba2e44455b8a8a18263d2b384733c5ad36d962659d890968236c336ea3354787c25f0ad6d57625ba7b0c7b30501d232994c1cf20ddea39ceb85f4abd9ed61c9096320fa84877794b73358b935422914dcb780aaf02ed82a3e305f2e1ed7880b173966d294cfbb1eae144b43d2b5d65a179dd3763066263c1d1b8d1221f492e2b7c29a50cbd5c7cc5d3a632b09f6fe1657b6f8bbf30f3815d1c64cc602d5ec49f4261d817627af9fcf258576ba713042c95d08184c396e1ee3fcc94957d8fefc96166402ad3b6e431cb4b1d4dcab6839a59c6f00fde68edbca1bc7c65c3963b7b5ea526cd3da8a8184461fa2d5792e88e363c626effa8decde6cbdccf9bced68cf4ac6c1f5fe1918f3d72694ce330bf5829bbf21e89976f52141893e76941a16b1bbe0de241f6f9f867b62a1485fe492e7814c1df44f6a7615c3014fd06d01985a501db102a8e8a92cd1d5594bf779d324f8f007c9d9c247dd3a665100a24e91d1ac365f137de6783cff77b17c56ba3dde14ab1bb5a87840f65764aebf1a3cc9f9618ebe0bd4d8abe15ea63526e77d63add326a9c5c69aeec42b80668204ad826336af0c1e705a0f4e57fcd62c4d031f7f096ce424add6e2017ad7692208a48ef305f1dfdea8cdb8aa773066a119c938a93fb3edebb6e742427b1f9d234aa41c388f3ff686bc22dcabf8742e674737449e89a2b3b53858729f6ea27cb78c04f523d849dcf8b27fc9ad251c903ac0c6589f1b17098bb0cd8378f44bd98d2048b6d2074415deb1137421144226d57c839d5daf1aa12c46fa7e902f97b39782bac9a0136e27b2590fa8544b743489a932bb002a52e4369d5d121261101d1c00e17c937ade240fd2e3dd66ab3bc27972781ae2ea09b94cf3fc67e7f8df11f265e666823feb5cb1ff837ddc6d752704953f1a3bda6f16687e34664d330d35e73619d1773d8e2da8b9206ff3d06e83975a0b908f26be4518f47964675abcef502ec427ff1c1a034639b13c15653842e1de487dcbc745518398e83df51a4652d094ae1f6a5e67ef3b18413943d1d82c513514bc637a171ae24886dad08919a33191f385e7c9708c6f04b8ca8cc0af136031eaf93f9d9a3eb2e6f0abbc00866169254bbb96efca38b012f6f804102adecdd2b14883f99f12ac0163b01456f50ccf6cc30518e8f88303e54996696c29f7a1437750e974118e1a7fb0f31a794ec80057974782d48364059144d051adb7641b1a316e6cb445d63b4c6990d138be7e44e864707f38c59ba46666289ad15e472521e7182d9014930456994f7017fed3b38024d982b487ccdb9c24b9c55244199999cd2a48d7b80e7d0430b06c129c32a9e9f11b8821abc809d4feedb10c750e0243400ed034d4f7e42e1945818c1ebd0b0afb373f14e5d86d1c4297b3bf9f9ea1c9b317c52123141d9f1ce9b953fa2177078ae41b753ff3c3e8b6c14e20d4b9de6dd8aa459a1080ee6adde5e76f21e02c178d19fd57cd16bcd34265ab9c28cba76c3cd768a893a9206d7b5f722e3016be10735a19186583d436ddb1c8f9d5ba6767e0984fd70fcd0dcfa16fb9af9fdf1a85f8f725aa9dcaa711d440678ccab1a4b9ebde911474471cba95d3f9877af80933de469f3d7d3d37d8a2498ee8b184d344dab62a1a16c07c133f4c4188e66de867e31c58d6f093e0fcac30cbd4336ada924861964a7eb29a4f5965df09e21cddf6a72ad973b4ed4f4f0d9b2ba89df1c948c1b886e9cf12854fb521f354b2bbfada1ce0b17d4b631a328776c381470b780331425f699f4a50523e10dd94ee62f56e3ccf45395d506ff8979bb5e769c018e793a1bb8e9dce7ec7bce6a6ccab2f1a4308b325f6128e04b7525d1026baa0dc952967ef5fdc2b639f41086b52511c3c4b02d5db997cee01d54fb1750cd3859aad239905cb9728f1b4cf6a3ee445d856f54a39421269871fa6aa781db092dc97a79cd397217c3f3cfd0db2a58caec3ccea04638e9907eb8ac7e1237bc64b6006f039c4f432fad3498fd1990d508a3b054b4be449716f742a86ffd3b68b71765efbe665bd78eafa37decee0b404fa6844e5a7ce8da58f7ee3bcd1c030fe1c9ae0ac92bd303e219b41addde8dcacf6691a8c60f5ce0a356572dee24908602d0f0bcb20ffacd4c13e35b475e3a07e90c2a1f4f46ebf1033fb4abb14298fd568b9a5a53d0bc313693ef3e6f2e64e874c13cacb87ec62b51956de899764eb7c05f2e6b17c3f1a6b68f8f36c3f601e26fd4e1297f69a6d60858e629cc12724fd5a76e376308a29ee6fa17d1ad05451a6dd19065767c4293ac9a7b14aec597845a5385e7cc09961308d0d0096279c575953b55096b89be33d8411b7cd5b285a5bf47c70e3046f5921a982d0a78afdfd4d42d8d1c19cba395943664ecb32110e18e48e822abf2bca5349770841db089d54a57e9fb8a4259aef65d74452a4620a634ef76c0497376c6d7d34956472f11cbc6301a15a77fbb5b3a4a44eda6191db356f37cd760b8ab9aa046def12ba637862b3d1a78cae459bbba3da8de84a06d2998ff324365e4f83ccff9de291de08f5e3a85f7e56c500054ba8a31af18a69c24a2c758516c9983fa3e993ca464cc42aaf95a072ae5c67aa3176aef046836f7deea431e05a23d64ad1d0ef80a454d442ed2fd5f6fd3777c4c9779b63b4b19bf3859827b34a70ddcc1d2d64eaa233dc154c41a8d842442d01675888cbb4caeb015d8b4f9a1f237d87f090188a0d51a76c9d737ea244eb109b606c4b0d87491ba44b8a9b19b834b7f14d68fdd94b06aae5d1ca57e91407a79549ea87bb399e8c3e434a559d88df1ffc07a0735a4682076b485b5c3761ee6a3f793b12fe1b5b321432bcb3911a1815ae636e19bdd1bde43d0c37eda81dd22345e653000a2b93dd474da54d5f6a7862295913853f92387b7c45a0660690a52544513dd9d958536f592df82b469eb51659fa50c6c93e2980b2f91b63db9621f289e159b8e33f69632a12a2ce24d28a236dfa0f293ae92eecbdc85f94fb675de37a776dda57e0bc463db980772a04dfcebc9f5ca5d82c2b9be07ce544cec95e5fbe3f64e6b2e3b613422e846ef155fe5dda2a34b9b08e4da039df7171cd138c3e3d381ce549c8b1f4f24e09f2e99ad7163da0fcd437717a8644aadb220e594bef35403b80dc432069f8ce68c142027458e91a60f19a78f28e43837434c9ec826e73cbcd9a56a27d1c27ad21405c31ae2afe876bf8d491592b0bd996235d93843d5ea76412ea034d6f6a5c37c32f23f80370b9371d27e457f0f42b6231266747e63e9e65b5b0fffd04b981ea1204b38b238da5817f6afd90d70931c582c58f42fa8e81460395645bffbcc772e577cfcc30e65de8b9eb2595c2c1f844e4aa81702ac005e872a9ab8d9a5da462863968708d0cff25a5ded36e0753cfab1fa9b73b7dada39c6161773c6c8cce97e9367fc303142dcfd51f5972d74cecdb8b839206e1bdfb617c739bbd9290c4a30ac7d62b784b83c2ab27908f20e2a9a873a465e3cd7d2d3f7b32581f671b65e74390f1d120405ec705aef1f045c504bb0a222a9db59e8c870eaf86e303dff20dd0af5189d5b359f752c1be38fb86f4c481ec6af56a0343316d7af411dc572596bd884e3063c8f5e14eaee5fe3966a53c6f32cdc3e118466f7c4b0f5b3d7c9f661d23db2816c546a9edf2e40cb6466d39c02dd04846fa31845c3219d9987f0372534d86d20447b567d782aebdea274fe0ad33d2823d6a489804a05c6ecc7420a95a75404fa93d64ee451a722f62b6772c74eda613910d7370099e9ce8de1334c70b15580d836d32bdb8151c828e10c0e6f8d5d28d037b47aad1c8191cf91ff8a6bc503a9fe7a30b2ff5e458d64ba9104f9c08de0241be9f633f6056194fd13bbe56e9fc96732ba82dd02bd6c829358e2d887ce6b492f79ecc58db63f8decd92e42cf7a3e3c5aa4c3855f45864b3d54ecc8ea8ff3e0e174ce57197ed01c5efd26af220c3087b91d93fe7b2102921eb1879d6474dfe1f84fddaca8c08610fff5cdd567de09776538829a44728958c3c7dacd254908eb9fdd32fb41a7ec0b6f169807660488a3a00488082d85b29b27e64d2c496444fde5ac88660686c54ecca6f37df5a7dd689d3bbdebc20dfd3d0b476bf2c93f2a78b259521ba6258c741885ea62c642428a7958b4f8408bf3ae8271e48ff658de521b5e41a626ab8b5d9d46519e9d98c6b1708225deaf73fd768acbdbc3d2583f6e08b8240ff4d9212920dac67c65c95dec22041494239c836aec96fcebeee3d6f528e76392d81b9a3763481d229f832664a6009324cb3d0bda1c872b6623283d6534d5d32f3ba6d04e6cda48c1c319ead719006f95f61699e638d6493c688d86a47fb08e8adfbe975789d48dc5edcd8811d5ffb1e455f7894099f9ad7fe378447815a89cdc7ad6bf229c3dde7c8f4ad256d5c71fca4a38b3c6275ba925c7b96fb94b0e715667a40ee1e58e7bef7509c552f5dab63e3bd3f051f41a5564c7c650bbd095c535cc7b072658f5f498e095bcf222f9813bf3b8150ef3648eae445abbf03935a90bd2dab3f6db1dbf77e9827d19ec34b961cd55bd64c7a7b631aff764e7481427f6ff986f61bcc39cb3ce622e9eda5b78b2c9a819e8a5220a0bd226da37bf3468de2453738e75ca79337863839f5285ac3dc5bb8b695f4c2f91d2d1f34d5ad86050fe97554302bc148f3b902084b5c51fa5f53212942b65e691a1c01ce7f45d90f41073169eedd5ce30882353d8a00bf4f14d0ca80e51084d36a06a3bc0e3ff8792b5ac3acffd1d1800bf519f797d7d1bbfd48f16ab44c3dad7d9d2451d6026104bad1ae41bf95fd4cd5b17ee517fdf0e26aed5b781231f677815010bc1fa58354c3efab81ff412ebc1bd8f47ee34b09aec6ca469f50a89d13ef13115df66f27469e56b2c332013e4ac777c2f8087f2a0a369e21acc2b221fae2b088afb627c1ebeb8c75368f84da7a5b0bb251be8efd1dbf64b8a35e756032395f0b84e5a83c82747242bdfdd432fe9d89b70516495d64c797f8d5a8e68001aef68714fc8ec6711b008d7ee7278d1696ac78ebe2dc072b566b5cfca5568d71822c3e8a3770037506f60ce06f881e6990d7ad245c7479e059367b92dadcd18386b474f23dc6a5cd1ad5672a9b7abecdbb32f0623f6a38d2988f844d80185ab6a1e8b414bd9f6c9465f64e0fe1c41281461bb9c17a88fcb1b0744a576a15c64347dbb8a45fe95374907974355909181c82c47c5a800d1d2a481bd211f41cd3974d8689f10f02ef293e2b4748d0a09e70d52b1074d8c3cc29ad7d91848483edc14e6f803c5ecb231d17d2471099095df650f1d90ccfdabae90bec70273312a7bba2e01455a9b8310bc7e2ea8f43b86f9442e0e054697365c6c9d45e6dfd91b4317e4e5953ae9254fafd8af95f8e29647ecdf854f6279ab981066bd7993b996528e8c9fb3f2d9a14f98396fac1dc9f52cc4d4561a2e698e9cff01d32aaf64e4198c290e680900e0217eddf89c5265df987eab9d5a8f2be3a5993472c7f4053fe090bcf2ceb63a18d65de8f5cf18e9e89cffa229ca05ae00447364c48b1abdb933c869553ee80bea6c578d3f315a7443fa7b14c56959fb413b6c6157b9f3440074ddc57fd5c834d28b8718b0f599827280d2acbf85bb685017c57753e8077cd8479c88d3621ede5be46c5ddbf8e57340ba67b95607678cf4fa632c8172273eaa48b62e60c85552b9b61d6078cb8548e4c8cf3fc69a2afa7e4c03b9e7b7b1c2eda19bae7cce8cd33fdced66f0937eee1dbdcecc0a266c2031656b74e5a623ee8efc7f20826f84213d550b0cc7aa2f5218cc8daefde98d378dc815587fd73429dfc9691e7a551f618963e47c256d0a37fd959e2fccc98b90a6d7ccfe9935eb6dd2feab47ba1a29aa63456b48d4f8114963123734d7c88c74483318eaeee75b7a01476a75bba0c21ebfb71618b68bbda5ea6c76ababa79ea23cae28ee4418f1723cbb7a8c338d9bfacffdb11d5504530dfda6cf12935c405644a38c553c2b6f31013caaaf0bf6a3d67c9ab8be304fcab2e9a5d7a653a0dc85ff412e7393d91529a371fc5e86f4fe3646999d43bab2644111817fde53b36b5549247bf3801f76f4d115dc7bbd2f2dd6bd5e3d4e68ed2f2926a4108136526da3b362cb3fb5becdc532f7d54b6a3b669072e8984ba25e87738853fba462e5bb89f69dbb153f36988f0b9aee18aac71325565cbd449c0dae6569f6fa25208f94ad23cfac2e84f0189e58c76456bb2368fc7127a785d41fbf18ca0047b93d16d500245bccd9b2143f10bd7f102a6ae02acd603ead2ee742fcac146de2f4051d3bdec0e58a0fce8bb5101851a03eaf9db454919c30677a578d8a9a53ba36cf71d918db4352cb185ec0216b21df96ebb6a6757c39a9ca461753d33cc57c7983e89afc34ab127e6aa5d4017606cbbce043d46b843f7c561aa9b3edaad010deac4d3474694235af93d2b79826fe6431816884f9c9b6d7e1d23e3bd5834e393e45bed8baba5dd05c45815c98ba88592ffd9801e6c2f7722fbd85b90469d9b17e90f794749dc33a063307f0930100b761b0ea56505f68375e8ecff744e5ae30a0b7bba273637cd4648f763406d524a96861e219c2b1043e52cf2ddb8be0fe55f93d174a061283cc7fbc8b66341266c3123730a88e6dd5f7eeb76b39186975916a7afe7eb6c73e4838018f991475bc0a10c750cf105f1d1c013f46c9a7162bb3f8c78a170a808f3d06d2cbaeebfc34ae9baa418a403513c5eac79949610e906122ab504deda0df750a1de5b280afe85f018398181c6d32353f3d66fddea4dd24bd4481bbdf900dcf5df3251b2f89f20088efe2aa04e272623353a06907bf9b7c47fb8f161fdbc1b3bc96e3d2e430b2411258509f8cade3ac9e85de26f92f040dff1c31bca373fec9dadd32d15168943897ac193e5ca50f7d6c410632f4d0df9e789b01cff1b7e4a62d0354f0a12a4772f6323dcf387902abc6e1a3b3528e56dc8c684f91d4032893d8d0b64c2f9058afc0d9e2540b53f2b5a874931e3b226a16d0232518bffbe7fdfe1094ed4912df6718bf887acb5502ed73726f386eb0ec56388aaa765fa1d12e20d07bfc4d27ead474f406fbd6ad390e9882f8acdab3ce9dc5489bf1f15ffc4cf8d5e148e4c23ac4c659b9da608a15989172223c707ef4b917c832ab8ec13538ca469154f51d0ba354784ace49d99a0be95e9c2e04fa9a9790c1e8fc7bacf8d50f7cd6dbe74ceae43d08fae599726e48b72aabb689535496e8d689503d16e4e2c3bafc354aec4defc4c82a41b0fe2c056150e1023fac08477a94da1faf048324809df6a6f0c9a852779b58ae27334e7e5772b428b93f78a5de12cb4d06fb5d8cc586e19b6a3c0f4ad34c736e60b6a1bd286103181e418c6c5b2e770f186d7763392a8a74b7b1a5ae4f3ef6b3c9b38e31465e629d53ba7f89a99a4c61ec5e6410cab87595387d935f3db32c6abc2e2fea71ca2bffff3bc47b6e0b375c4561c48bedcff152c0bcfceb9e08bf028471b6ac402eedbaefca17294691c9bc43863dbf983364995086be06481084ea0e84dc8527f0bd97d45df3ae915a9cda7f03f5dc80c4270ed3f272665a55c4498f5ba4d0e59adb0fb0e6cebaf7a9ee47b613c906f9c05214899738fb9a923fec7f29d151c353c943461ca84a0af4f3b996d7c0add11bc2aa21f5b0e0e52b7e61d0b89855d9e2645527b13cd933460c2ba0b51fe6631fb2bc4726f0f32a61596215b1b012afe6a34140aa2b6c19989470a850389a1fa5e18cc39eeaa6ace22187b7c12844e4b10590010852f058e762c9e277742359a3dcbf4e0a41f9e030f81af864d58f25b5718d0799c82eadc155915a258b84957a1a3b2145e6fc9a95b69e3aabfe874dd16772d8a0a22e3271d634b1d1dfaa5f8dcdfa8af6b43467ceeaea2e62c9436153cc8518265cbeb1aacfe11f140c4296f4eb072553cc56554da98c90a7af3221488f26a669b1e4a82acfc7d72202f0921a356239f9beb67bba9b1ca57280b8460d932d6de4d5baabfd115ea8b20241604d58e8246f5cc9fc683c9942dd03d5804241de758de6691386dd844470cbb523e3b8f8171796516e3dfafa5c1de38b7a5a66dd1c8fe94cee7756d36fafbf5b4a282ec069c90631b55ec4f8f383b5cdabf75ded7e4bc92752acfd2fe6a2f1e0c0606cc8319b44d48db091b4b13b1c74847b83fa6d531b6ec2f140aac9ec99f6fbe43b3992d82c85e93c216ac370806f0fbfe28a86a60d2c66edec6976277892f3f75e484ac97e9ffcd14a7c85060621c3fd06b76b81fa834c716b312bf3bb462c2d0fa517a1a8b7cceee62f66e1bed1a92501adce55fd564615113795c8e52f709041670918618bdeb6407d46736214a1c4d996ce68774822ec878f8cdde09bb50c3656f2c1fc57f52ed44413765e1b1a5fe2735f3698ba5a9332cfc7c8382c1f5ea1d1fe0ee6b80621c90d7b34e707c449ac5e13aca5328b9049178892507a27b1e5c7612af9f7560501a51ae3591bc222a433ae11d874a94c23a88ef4dd5846188824feecb3de720b9e4dcaaa7154b83509a43b894cebe78366dadd86c6a0728df24d9e48e7c7a69a4139f4b359216e88046f6ab291e40667839657df1edf048a2623bc8449b244e3b4a013be2d73e9211ea1113f3e7eb208f8f9661f151ca769f5ca54728449e62293ff9cd98f085b5c813075fb4b6042bfe1f3061c3982d6ebc8aacca519918460e87f108605b2579377e7437229453f041e83939367e4c541f40f60a668557b87254763483886e2ba22bd54d9759fbddbc9668a3acfcf870adb08f7317fe3ae7f1fab9d12c600781d638fc893bb854915941c7b9014e3d151a08d99e04d751815b5147d275916f78697b4bbe4453c33d802084bd77b3b0332990807882ea7fc8d4b8f541c95181c14201002b3bd9736bf581f734614e6c2fede0453d2b52e9295db4950f688ebc3ea15aa1dea40ab7a39f38ea605ebdd830053771d8f44f78092e86cd21610b9c4452940f7936d2fb28d1d5b54b62486efbae81b1f594cf245596c94f8ce55365ed433955586b2c8d3aef424ce7ef0ab3f05a06213b26195a6a91cf06c8c0bffb83eaef6f17c0422e7b0b44953c05fb2df8fa7d682d125eb47e5e100678915aa2e92bdf80f6a18f9a8123c385d71ba3f10025ef361e9092b3fa859039286ed8c4667b01346d305be0aa7a6d76ae68a6b8abdf4c2534be9fce2da23784007547ecfd61baf9aad651371cdc66d678176af1ea81e2416aef2309ffa0d58b1d251a3b125ba9fb8ec0ba8cd3db0b9e880b9a7bad848ea0a634d04f61e025322465a06cbaecbedb7ad5d340506d8b3e1a74d56bada71e86ffcb2eb36ee69b38206b6334ba423e58bec52310ce31881ecb8a6bea41fefc0756bcd0fefb2533b91d905f9d746f24f3391be6f123a33e3d11f29ced302d69fca460f603c3037d5e95479d58a511d28dcb32c51f20de9341d03962ca6f6b44e52fac4f839daf9648bd4f89420b6872e4bf850589cf45deec1e506da767a15326c8ff9561fd7bc4b3c534756bc5586cacf97489fb10b44cfb41a110644be52dd02740246a145c8f56fda9dfe9fadef6f7a9c1d0d02e1d467e7cf55161925f1da74ca013d4d887685f941e05d7ccd15da5e0fd9169368c19c3abd8106aa2a6c2574be807b617718130d53a015f7b2bfb914fe94fee6c001cb8fafbd01f6c0956f0ab83827d979e57b746a02943a1be66ff9a437cc4e573f97027ab37cdf2ab8697bf28b5f587af91f5906ae4f455d2b25b6623beb6c625ba811f121ca43d79a2160084cec5e6539f73e4bfe3867f76fe596a7eafb7718ebc329845c5644c9545d385e6248e6942c17dcc47ebf35dd6d18a91f2ed19fba4beac602c2f43e51f87a993bd975608a58847930f6dc2b7a431e50fc949c419e183c97f28bc134d7755ce1f9b0399f5bc77d2719f47aeee349853a4626d111faa6d4f899a15a43c39c56fe3dec046eed4eaf3008a8e3eeaefcf00a6f49965bdee58d89611033d5aa06f97744725da5bf614193477cdec9542bce799ad6429528472c7b96189774fed8d58c2e7266443db7e3870e11ff5018b3744099e8a435cfb5a8ae396e80f7935f48e3f7d7ef162c0cb58858715e038bef62063c28fbb62fe0696f98a8b8a5b068e1b943e29e860969520e6488e7f8a1c2ace0687225a8f81a00d2aedee300b525cf4a5f50042547c0ec15e396e056d77a50a7ad4e8bb4c45649a91c76c2e6ec6ceed5424c5a3d9cdeec1f56ab9b8f7c321024549280f85e71de73e7b7a4cb995766f63acb54ad8f0ac9281faeda8f03afd5d518974f70a23f08a449e996250d9c4f6c32aad3643268ef16589205d11c696562f1239722c6312a77c40bafe74e671ef207cbcb1a54a60d6000059ee16edc86a0e6259ccf7b78bb26614e28a6af429212e42fc0ec4ca26cf11c2a7e82bd8fc8cdb3cc483d837467b1e3a497174f4293230bc2844a0eef266a0edfb0ba1c2c18f16f90c7ee896faef06992aa3d8432e7a812c824b920952c6730c0aa531e0bd98301110350307759f92e744118e02d164849e2c799771220f61f10d5106d34231bd4a26a32d23cff65916a0062ab4e756cdc096c6cf5aaa62b86a9e15101cf6705ab266b2edd2872986ebfb1c1c46ed39a87f0e0c6e6faa983527cd6ad541c57b98fd55ecd9889eca05096725923a5be3b6f740c6bb58cfaea7d094fd9b8fca470dc5b76179930aea976f6e828371a3c9fad6ee2759b8edb303acb0ae24a676e297e4ae77b1ff95e001a7e9804ad41bb89534a9a258e311488b3206394afc70d6394ca2b2ff22eb06e46df50fcd682e2129a55296dde64af353e62a0170d99623aff807a994af227e1bb7bbd2fc295320af3b9179910ca9dee75db3c11a5ca63bb626c7a10e1e4fc0fece694d8742b68779bc154626a903420f379c4e5d33b9cd9ca2ea1c574199e0282fb7346d9b8218a6aeabb05b0ec8e56f4e543d31a112fec804ed4909ee8b32b492911a32d4f68e8543fc380875e3becd40a2f63cdde5d0bf31b0770ab9d4c948f160568e9b5e08cf10ed8a1e200adc725860d4cad9451f63adab104b0e189251b5db6bfa5d589d7b49081efaaad142912fb07d18319be05ccf72950e318a276a60168eb8a1a8b695bc2a02f5561245a25cd4b75ea0c7e581233623b0ff5b9b224884e1584e707dbd0c9aa4089e44edb92be59ab7cef3abd0c0b090ef08351eaa3a71d4dc4fb126cbe723f39718bc679dda99c58b903ab0fee7a1426bf45f9537f5df7ca69106e92e1a6915b76f4415dc7496d48b4bb93f84a3840e99bde5d64639e6ab69a87429abe643c305420b3ee7c52cc621b0ab61f7e71d129496075a9a80404b88b394d992a96a2d8b7a66b05a589f72a343286412516407868f5d10d6c2b987ccd1abc160ce53803813bc06e5b12a57472295b7fa9a9555989c909a91a4e837b0778d98550484e8d5bce7474ab4c4228566b5f52e87ac9f2523911bc689879f776ed84d4151eb8c6a155f1f3d027a14b5fa6a6709d2ede18daaf10a5b5e3fee75d35f71fe7ff9c95a03c9d01784f2729118fcfba742afe08dbcd82e93e6c15be4676b6fbcdd21f84c2791acf73f3b19350bcd2128cf4ae6234f6ab9a04ff4aa17b895680a16fe06cff6e5625eaef4d250b4918e9c506e98f2bf3e9235ce7e52c9e106323071a96d6cc23321c878c2ea26a4607ecae2e9569347f76235521c0bbe31702275fe6cf1003addee7f779f266810b3b24ffefe84c9b926cb3a7fd7828d30cd7fa83b7e553bbd78459cc6ff1948201c66859399920549ae502b595c0f103f82abfa7d481f493fba646c534df01fee292729bd75e23482565437e5c473cc734bc19c02d4b9761b2b69252aa93e384ef1e04ef0cdacefdc213700cc3dc9b4fd848445bef1e1d6c84585bba07e0d4107be3d2454fe1819ded74c2e0e36e30fcb2a7cf42172bbebef0ad01ffbe9895e3e661a3ffba2890055ea28aabc3de92fbf1b8006b92196eb315b5eefca4e7e6cf4be536335b9a64064e7aeeb1ac4a1fe55b256295a696ba4b47bc5396a744ed2076dc08307b2261dd7a00328bb77a7c6635d277f41885b8025b05f3b0f4aed3ee6d36763edca402ad0b5eb39ca31e1eea9728f5c244acfd68b66006925917eee968aad6114cfa509b6b32bf621d21ecb67863c0c327d7fd7760792d15450f6b1cb8c6c8b81f74321a8ca9a40ecdedac41eebfd0078129c32941244510f16bc9031fb5bded68e12128c41ebf65908f76397cddd76766fd33eb25989a8a4c8996f137174d3bbc42567f8d0de066c9f1f6a055b0130a35f953db979152a6e3bbe3e73163e01f763242334b714f60c9a14582abfb4ac63fb3a2c222dc1f647119bf378b74a4aab8f9f21faa0ec0e1e51fbe36e7f3da90fed96a654dc9a43ef94d1367d8a2725a2d9a23b87c82b6433bbf2fb784f0fb887964031cf851258adf8a317fcf52198ae73b59e5c5d7eda6c6e13e2b731a328ed7bca3364ea0850f538321de43480e6398a00fff8f97f08eba7ab50e23439e9ee0b09d4af13dd6c64cd6a0a2ec1ece9d9eea0626291c5020ce37a9ce650efffe3f66478e902e478ed47c3ee7268861d0b17fdeaef81e52fd67739e744b3af5f83acc849cb5fd4c4194f196e8dd7975d81c2f282c39eb2e3f8a61ce76cb6e67f191968a4262b8609f4ab9c20f474fa50f62f106f27ead785d342f45fd9db18c3b84c6fa285cb26e04be4d0e81ed9858a6ff237ad8ced085741e30758b21d5a2dec8cb1a887a82770732eab20750f9c51da58b4a9b7c7d16b8055c7ca290956244da5cdd876db87c4c1c6d4e129b51d17176b91bf97e809693d83ec23d1cdb243b704742625abb8b7bad0aa54cea4b19496e45844102ac50a82ee3762c340d0f45dd6ae36ebd71f60bde8c905fe019b1f153b88356cc23e2f73d4bbf17134d27dd48e80dd74e7a29ed245b3c95d5155087f7bb9fb5eb0545d656a3aad073bd6287c9f696124410822bd3d8b455f4f6d4db55295e1a6dae0a860a75dd9769d3bc4ce9c7d6e8a555029c0fbeadd8678eda9c0f7e94f5168dce9c3f99ee22168ce3423883f7d5421ae496463fd11d1b4e5750cc129fa7d4390b78ff7fba7a81c3d9abd24d0c4f1eaf5886391247d75cf3164091c0324921628f2bb0efc575326a62ff00f4cd763c8e97cfcd2019700ec5405a23f69d698ad853bfaaff3a62085bffc17a9bbab5eb12fb38237e72d681b217040f41b52fd32d0da6643e39530118928ba32408ff9b738196207bed224e3f72d7cd72eb66d1b3bd191585389b00f05ade078ecd3b66dabcface5987c6155fd08678bb5615852e7e37aeaa90c1d110471ca32e4faf45c3fb2ab75fddb959954ac50e2dee875edbc551885416e652fb44715b845be19bee19a57199950aa433f62ab5877b8b4d69729299ed794534e08006eb67ba2ab60ffb775da780221924409dcaf155b4ada361009e20ec32a922ddfb57bb001fc0196f15c0116e29e5c4890ee78fcc99e1a6f4fec12467a3fce83d6081d52dc47fba9f66e9cce4176c15a0fe1eaa4665389cc7f9ba82634deead4534aeee5658e7e16830b781b9b7621dd03c1369783a5ba0ebe6f161979be66ed3a5d2ed3d497bb6bd3cb4bbf53ef1cc838d3897d37ab187e67fb92295a018587806050c3d50245b22ca35d2f78366205e7dd0e960d8fc49f6e914c5bd3f5f9dea5b6b8dc8579c090b40a65c83a078fc803d4432f439a0796e465912d19d044dfdb61ea15dd83c0974df49378c02d66feb7a1e7e23515ac77bbf665716f968ed0bca2f49c063ecf9b18f39a9d623068253fc9f6060fa607bcd7cd310ada085463f28d3f7ea2338df9c5ff604f95052078a462abb7afe7fadae3b08b74ce15e368776b63faef232f394c0da5eda9178cf7c8a578c29a0ac1efd20c587f14a6d61716b9d5b9ad583a2d50e26cfccccfd41b23043c6c50222b8767fe838fc66f83e409a757f572dff1fc10ca8ee0c73773818b313f7664e1417763f0b80a18ea87176d4701d286bf2f6a52d29bff888df31c89eaaac4badc20101b533132eda536b0a52f52628356f4a0a6a22fd043418a391465012330e1507f5479da5e594d30ad86952c6bb4cf51377f87864e9c082406cac50fd1edd7a15134dc77a7ad61d7dea0578cacb0734d5575491f5fbccc04f4e51071db954df36f95025877d62851c5f56aaec7653a6caaf2292cfa504bf0ee6aa028279335241c3d39b3e948b8b60c085704a852b2e2820acdbef05ecac19804dc3e627837a13a2daf7b4f81c63ac18f0ebfe1d4000758e99ec761ae41c1fe806740bfb6d3d77226d19e6fdbb1cc5eab187781c4264c3e6e944aeb6698f057c3474b84282c01098da16727a665d05d6a686aefd7e53112145254d9645a3fd6407d010160a3a975d90fa7669bd8a4114b6738d9181df1faf4732ef79a85009782ff45fcd15b04977900a69406e5f4f2640849d13305dfae8ad27e5af6b96bfddb865d9b72c352987228ede3fbf3059c09e42f4afa71ed9e58500ce7f84b90a9a8cf2bb7ca872f3294cb67110b283fc1bce71fd4d92e509c657f0f515f7d27f53cdc5f55e8cd9e7ec5e30823415c2cd525e30e2252db2b5d2711569f7401b7d39bcf968d5f7d2cf15f2084fb497d44ad10ead08367779e7bfc5eaaae7ca64eea095c98d0a454e00d166f315f80d79812b4d1a12079ceb971447b5e9ae0b01e9989dcb7310de0c462bbb117e21ca03d2504ac1ce395d0c05860e0ae9530a3ee26f84f6f6b521f1b92ed4f55f0b9bc7c30b8f5daed4af6813b56d8f2bbcd3bbb7687432111c63c0a59280ec61798c8536184f2b6d1590335c45e2f2f2378e6d5d14f1521987ce2edff99a288b1054f46f47d0fccbb903866e6e113f3b6fa6358f264f4286a956b0454bd179556cebcbd2347b6a0d53bb94a8ae0815f0122b1afd348403e56cd343f24e8a3f6c87efef1fefbf4d4c15d3dcbfd6084c81148d5cc26b7d1d8588ac0a1387b3de16b179bed0dc7fc8614b685731cc6a86ef8123fd6bbf1588883043ea16e3d8ac9d8896bbaef5e460c692b67c159898a554febd391b5342f89fa47a4b1acf3afed7a02d96fa8cea894141b29f1ee79ebcf100719e391eeaa7978741ad19de8914d10d786cb344f898039980deaab5ae1576d19a16da86e185ff392365ba22666251266dd988c32790ed7552521969ebf7f3f8497300959374833a94b318ebeb884c0634e92de4b280c6a75b272f7c3cf68980ef0483f69fdb03045b2e53cb50cc33cea564fe7cf181a80bd601cf175d41eb60f65824461040b8e0f971a5fc92010e74410b8e644afb192dbd1528afc5f36b1c467e28e52e7b5c3ed3ea32f578abaf90f76a4a5d92c014206e9e33f4cd23f4062575aefb003f89204cf9318711535fdeb8fa5247a228b9738ac58c064bb80e0396949e50f5bbc206dc616de4222432fecf57a19c2e0252e8c583f83e50f74d77115ff334b0a3c3fbed9ce5ebede697515ba57a96e5282817869645e2e9335bada13cd16d0bd0aa66a8f0d54f5d7217eaf094e7023fa4c92901cd1f3816d7bc02a22e162c342dbe3816f0ad00bae17f2894a71e1795daef1c1903d98587330636718cfcd81f470b07b21ce7ea9f83d33908350c5e7c390feb644ed6fe7485c685ff7bfc0630067af2fc99860623c93c4c1874132567e1eba40e630e27f6f581ddcad38c92d56a411ee075dcc2204ffef1207b8ff63070ba793dade970b5e3b1c12173a5af40b6679a14f1ef7476f3b020e436ef52d0259499e3f2da8b63d3cdafcab307db3e6cadd50ea5f0a700f8681a7c3a1510e1da8be192c20933b7ad6a4f7b646709edcafab23e9bd151866a9b11fcf8c3111c78c9563c1ebf944cc878da9c9d22fc7b00cf192ad59f844ff972a500a0f6342cd329b198294d10ba00e1ff533e0877159c7fceae7c175268fffa42a0d6aebb86559fd8aa18576e9e3af9d35ad252659f0293b54a282b6c4a99693a8ca44331c9483b1981fe7ca3665f8652f5acab1e51014f864f11addf620b9791b52b6734d57250934ed326997f966ab2c4bb4d65ad7e88a2d0f483834a9c87c73a4af5dbb9c9e337fe1400d785a5db75fcd1b73bd9202829f0efa433457b86981516c80c2aa02cc5988e4b5e4264e7652abd594f7670ae5097735c31dfe5d638b90c5eaecfacb96ef2010cf4458d81fc335c3efd353cc28c02e4726d5170345eb4ab4b357c980126ea3af28779064cbdec266e534376d451eb35383cd1bb94c02980f23146e4a6c676a84115cf4bf9be9f6070c42ec56fdacee9788df3433c261ac3a9fd7384c90eff2442ca37bf524025dd79107a23f6ebe56f65267826bf90587bbdca090b7b041224693f6d0166b4c02834681b7bb1b58b8b14696959aeca7a0466e85015877860cd85eb33c04689780316583b81cd781c8eae2f609af4545af4a4073a8f67f3a7491ba52fc23fba706798ff378fb6e0f629b604d7b2341a06fb374de687c746a4f1e8021fda233b3cbde73ea57cfccfe68cde0acbe015e85f782fe9af1a99d097a14035c26ab5c2d25259b53e906365ecfeb64d6a95627aef168543c38acefbe6fa09a2ab159ec75c8bf5de635b50caba413001132ccdc537ab657286f1a07fc240610fa6a0999aa26fdb00b8012f6e78362ba21bdf708a37e959e2be72a797a452147bf803973ec7668b2195b264f0f3cdb75f4027d70feee45334f97da5f80cb459a211dfe7c03c4860adbec59ecefceda8131d90863f28a742bd00bade3808f07bfafa2710af2b13d072561d84eb94cb1e8b71fd2566b08eb60a883dab891d693a1edfffa89c67c061146d4ad6fe91c84ac0eaa131e4e0cb61f6a28779fcf9ff5d17131141a5dcf6379e3eaa4ab4c48ed7cbf3b5a9824b58464b289f5b2f9b80465db1f6f7e1a84bc5dd0a275fea9c5b04eb29fc020991572df0fbefc4eb73c3e2270b544cff78d47f9aa64e727430cfa74bcff15d21fbefa67899ce8fce207d85c82176b2474e347c03f60fd5e8414900a9f3bb7d210afead7c0fd547ed73c67c1119a222763f3a76c1073378b237f66c86eedd67387723d98b067098f77ee6a57d9c251c517417fa65d61eef42be126f86321e8159156071b5931df362545e185b8929b261b059afd9478da310b1bdf9fd97d923efa9597353a920ffe0c9884e1a58fa8f9987ecfca76f6e405183504d128ff157b03f499f056a987b9c379c6f8efbbe10c4dd7943db9dec8e52af2ea2b8c3aac3c6364b6db09f6b3c837a6537d587507f78156d3a31e85932b2cee344a7348a910d86498fd6184ad562300ebe179150e883c92cf92f024c5bb7fb70b662f54f98bd0aaafec491fc33679209e109c3a84c3cf4a5e5fc8e7e1dbbe81736bd3e4dd9a1238050f8e8d3534e90b13da535818b72256d61f165e4d0f401009e499ed023d98611bf66fe60bb75096973082073b21b0251913e129d9fb0a3441d7520eaa19412273169fc7b3034e9b19889c69efeeac5fa0d51c619847e62dbb103b289f4a602f25de8bc18de84309de7e4cbd473b7f42f805124dd58b62a23be8715af5e3224d740510563c8c45ba448123548e8e9d884e28dad4b16257b010a40e4e918af9e92523a39d8cac4376298372c4429ce15604b48c2f222b071b4e1e7b5bd07e194f64db99f50802d4809b98faac1f216ace61f00ce104bceca60f072893ff30dd266445005b88e9b7563c9d128729f1edd84439fed9ba3b4c864434eaf55ce9963ea93e95e271d3b1b751d4e62d533881539876defbdf377549a513e6cd35b2b9f318cb941bb8cb2785bc86652aaab755841b51c3b76508b399bd3424b98ccffc9b859b3a5faaf1cb1e266c715b2dbf1e0da47452f3c4282eb96827a5a95fc6cffd59f2a30b77f56917c5d93d3a911ff8552f4f4f7093304fb03d28ed06dced4d9b97f14a46dd614040f8704cbd4abd82ff297b6714bbccbc1687b8a28c34c5694266f920c136f1dce6d905d919498d27384b4a94b2bd89ad6b54f0d8c62978572128884c2e3e435445ed6d11de1a053e33c1575e2751bba03dc1165d848d3d1ead8264cfd51351e9084e02303525542e29f37701782a2b5887dd078f7704424b1cffde5529d64c6702c89e72dfb310268d7baf999902abffc2cd112c47d9c352e16eb5580b0e497434c94ba670b13ac7d37b0a223947a9149212b895b5bcb85e647db706f173fb3214a1431a4fa1d071b065269527d59b5fb0c90a56c4ce55845f23f23005dd9b2ff4c960c17f61168570fc930064c9c081bfab78db9c0cd49e0bc60553296f919142799b3c2b2d2d2ce24891e0f643326b1dc716d2f0e88bb8fa5c686f2314e43b765bf21a7c3a63e4e4267cfe16ec90a6c0951f7c0e7dfd9b42eac49c4628aea3ead8afee5042d32b64914a95dd3a05dcc83c8facd9aa84d0ed7609eb3db3766fc0f02c0122a5b3e8f2eb99173a2cf74dd8af6763380544e129d80c6ea0780ff9a01add28910f5720c9cc9f90cd1a43519ae800708f34c89f08270c36b265716d8f681717945703b31b483584fac09705ab8d2ce7d3076529101e8a350175aaf6947937be9922acac82a41a07847359be905f73024b8a5c93ff4dc657b608917e8795332a724a6310dcaf62e63a41bcd4085c89d47d22505098a7ac38dbad89d85a693940f2d8b62314a2f9b9f3ab53c44d566c621b8eded6efd67089d668b8e64cfb3e56cf50e0835824a71475299dbdcc465e9465399d742b3f4884891c32e6726467b95eb45a960462014551a9895a4335d37ca7fcc4282f7dfe750c585a95a3bd1fdac0c60967fb4b02cab7b1c1abfcf4f5c950e1915f8d8b9c512d7cb9f7dfc35069c8044366972e6d70e93163d0925ef9a46001af3cf54a07a474343597257aa526f0a2081f9e9988b24322af501ad8107c4703b6eea2090fca071fbbdc640c06a2a0dd4b98696d30cfbe94a67e4b03682a4686b9913f895920ed0e4698d598a534151d7cb46928729d8c2ee67d17494befe4c7a2a278ef19020d1b4a5c3db5e2558e9c0884fb6e2690083c1434d13ada0adc8ca077cfe428a721dd1074bc30ab543680e24660807536c237d5ad0c7b20aa900b3b523671c29c4aef5e95869caef5ac3e400b142df95a73153f5dd73dd28b6b45e459940c2d33a9577ede4778e9d5177dddcb460d49d87ed9e412e0cd76264f7c58aadb70da9826679127d57f61eb8cf43ce8c16a228ca1ea9bb9a8f7f8a589416bd03f0a47133ba9148a422a336f7545fe6ab3a4f5afa0cf36cd04c7c155ba0fba9b3c74b5a0517003df45adf4c33286333251ecec8530ec68c5c5abf60782b1935df5b4048fd3cbec2918f9be1945bf15630192abfba249b699c670c5be82224c2da18d0b8a832a44cee6d50baf0113020bd08cfbb75bf6b301e63f4b390b51c5562847951d80fc43249f6135365973ed724cb9f119ef6400cf1aec33289714c87d70b159d5a7336e022273afa0f11c210466bb2347444c18362710ca2f31e8356496f175105382f8b41d215c24a550eb4d6e6afd749800ef4a8cbf60b9a905bf47c1e01b58682e4c076916034e58c29a2bf0ee1bf677478e47e2521b0c098fb441cdd9fe1936247e308fa06bec6e4c2f202685f0b761941d2990721961cddf42591f874c3ccb2edb8518143822848f995a87d9224af2aeea2892b83ee72251347e4e5a820a0b67acfb8e776d430b0ad78c751abe98ee37f7259b994088a851f1b3276c67d5d263c4cf74331f9e59535619ae15164aa94ca3b18a6e20f2aed0a64dc85b52615bce1cfb85d76acffa5d7bbae9b4e71ee7c358b295ead0f573c8f5510d31e7ad80aa02eccad95c07acbd11ac139a0007eba1daf0d88a0ddee719a0d3904f0748dc28197e5844ab8bc67b956b34b1b5e02255dca13bc8dc6be4c4c3782c2d07bc25453131c776a6c3e1309e2062304ded9aeaf8f06929496c0194350c0823c1bca76ef0d17d59b7506e0cdc91d02dc7b041b9ae8727f84877b854715c0bc39f941f2f2ff46c02ac95bf2085e33a1d11d2a16293f43c10d6b2826de5514ef29e677c403411026305f4ba1b93f670a9806d294832903eb148a2de6aa393f22872fac3ac49c67bea231f46e943605efad311121698a64555f3526c21f8d1f8175781afb5805b452e61afc4390a607dd77cb5fb0057d87d3e62a497ec60a9eb14bbd53d1d2172a1e31f525c6da39485f402caf093a15efb76d2211c405604f919a872451bc09843be16503716642d4470c556be68dee18ca70cf02c44fecdbe77174b769e6227e1eb97ffb47dce6b098745be00fb9bd90ddb5bfe8a48aa35c2b22d41b4912fb58094f2a0bd709838f65543f9fa6204c3c0a1253aa9787c5fecbb90bd660a90bb50fa66326193f773fea5d039c205be9810600d810c04119a0ebf3745e2cc0b05a5a5034979f5d7dad1162ee4c4b5553773ef486b62d41c48ae7bea34742735ff79777f414e8ef3b151052b82b48b5abbb4014866ce78cfc5e78821b9ff64381dbe1c87d7986e70dcb108eb22ba7a36349ea85eb99a06ac1750c1579579ab25b88189d411cb1c4c5ac70728210d9ad9f0df2b32e12c86312bf9b4d76b3745523dc660ebd2330b7806630688ab3410428fa5bb88f9e247d2ac9297c98be85a768c036f810356ec37fda6d8e9b157ca43f4e76f0c93515fa11dea22e11d96796dd528813711081b48dfa697008d84bb94937a15246a00230df2476c1114221cb421e88cb344b6fbba5f7e40c8c1433b7d4821065ca1752aa073811ee1ea98ae47b519c88a1e52120a9467bdd2f8f6a2179272dba22ce7b3de2ea824912f45cc8888b3fbeca4c374db71953e77877cace7574f56b4fff910f3436f415600f86b6c7f91d2532a9bd7ad5b8dc45df5629bea4c278add31e300fc030720261ff0ec23e62ec5844930b2bd55d5d591cea5e4bbe698ada4921c99a158bc08e3a4bcc5c75abe509d38b1f9180caee101eefb9834aaa686ca78532efc810ac010f4693c355189efd631b8441899378da476cee1247acbc0c9af2be3aae91aa6ac2afa4606feaf6b608a2590672de9b5ba081c4edc302e53d150d94b2f22623d8e3605253ac0ccaee792b4dfea72f0ca0d767a98f9ab0d2b38565f7826cbb9173f863f57b9132406e73dd930f2e0694f6056c00fa10eb53400c58089d7d6965bab7c70427e989e01f9946e8e7e91bfacedd0e455a8e9eaa871c5dfa9089154948f4f33f5ad9e2a6bd6100ccf7d1c6bfcbcec97351336788a9ce597a258e97283fc66da4c3ba753ff8756786bcf0e5fba67fe12ef84ef7c73b0d03434dc7c361ac593b18c45b902ad66eb7017f561928b37e9572089e70f8522afa417a812126654fac647dab73132117c2cf454a8117af35d06beda5bd195e21f382fd23fc26b29c375df8405b2aa8a24c1ff03d70da92480f8579fc8f0d7192c884323a0dc5a0143e35a56ec21e824c28c077f9dcb1e8c4ae43f36deb081bab71eb1c3115d3c16074f3e60dc9b4f4a425597deb01e29d8d6d37c63ad128ead552f6aac393cbb71932c85c27f5a7341974e2583b3934f060bff2b8ade2a762e7958b6cfd620b9409795bdb06b60b94089aa328919408cccfccf6b007d0dca4190bcf234518e4f6dd6a7aeb252741d66f190c3c0bdd977cba5bfc432e65910da46f4c1a76e320a60b5a6ca0c3f10aad4baf1e862b11c0c25b1dec14e9c850ff122a0283176e563d8f87cad7f40c71097c23fd679a91813914ffcf14145d7ec6dbd3243b2a50f532f491dc42ef2790e5aac506867efa49ecedbc434673f833de46f02e3c2a990b50d3ed0822974d81dd2089f1128b0c9a6118731e6373881aba6489ea8bc0ef534c1b2be6773edfba013a49c8c4525a7ec1e6cdc319c7b442a946548c3c7a4d303a36848235592d6f96b1264c5e59de12cccb7b15e3294f6e40e8838185860e5e4966fb741aca901d8dcfa317bc388e86567493e443aedd470fda41cc4b9f9a1bb8afd23a6e3000de4b9c98961712cd4166eeee702e36e7d1befca67f32a1155126b4b7e01b95e4cdd580eae64e23dbaa56d924267584b251da527a0e209e1bafb6930a54b31dcd78c7764873fffa02124df2ae800aca7b21efd69aeef557738d0d780613f67cffefda170009765a83d6407f6a09b38e3cb2945d48f4092927e5cf441c8241f219c310d2c2007b06bef7b47811571b7b0d1448d5729e468dd16f95c22d10e8ede8cc59c1a56671c2db422c9f96bbe18f9aea3ff26d930b982ca7b5a1ed628421bf839a3ae641b37c965b58e1f06e796ca24f751f2868766fb3330877ccb8847002e8949ab3a7f43e1359529a7409d9331ca2d0567a9a207f3e5e54233a788be8913cd49ef278e5d1ac481e7c90f4654631d8ba1f515466cc23a80bb5ad6e82e53447f630f67400a983625636d68a681baf74f8609d58fca2437078224adb1be0c34bf55120859b73b39f06ff0038d951ebcd44abce2487510b05caafd27718d0c754ab3e37e934bb30cad82d646b2e02d31bd6216f742a83d67e3264e6f434f6ecffa632f700e6d837e0e10c88d2f0cdf613f5df66e9a8432059b359679429be8113ce2343b588b7fc562d9b5f8a419eb2d047ff7875368901767338cbe0952813e8a03f224f2947a85d1bd61c04c9bd52f430cc9fee2ac1203526feca96910da9bef618ecde505feb1f2219c81589f921f9ad9cb68cfa670e2099485298feab90ce949e349f4383804f9668ac5d4a598c929df6c22a6cad16e03440001f4c60caeab7eede1599c7d0e9e817d73c788c7e2c99417b7d1f27d8495c30d0304b8c6449ada597c6f13a5f3628a08a1b66cca96313e255364c04d4ca2bc464d34567e02ea79bd7de8d024186ada6c43caca31a4c2326fd03f53ae921b5d948c7d4bcbda5ae98b48c136832006593760469321d833a52514bba7346e937581cdbbf7186a2baf044664f1c3f70e0bc24b93bd2ec563a7abcdd7e9a5ad338a9e98898afe4c7c9a38ec1c47faf7fc97509d5c7fb7b0bf43b734defcd73919789578c4bdc40535f89c4b317cd245d3088cebeea8e04dd897272ffaf47b3807dc5445f1d6ba84f0d68ed8ba215f6ed2ba40484fb0a1497e9a941ac5a74c595b70c7f05490497736df977c19f25d161ea767dece44572e140faceb8b6fb9be8c016a4ad43ab1abba3f1a8d8a094561da7c4fbdd072fefd6b9f016205b3453dac373d71210265f7ba1720301cb7d7ad75e42ac0300861ae60d32f67d61c21c075154f8a006f28d787ab4f58a58ffea04435f465020b8952e675af8696098d4ceecb273b227809aaf85c4c15fea268ba5a4e1af5880ad4f3b4270df5c5b0674153f0de3182e378d94a1391386e8298360364058cdfac945bb81c4c71ac7dc58d7596f57b06c723bad71d4002a88b6179b077fea8773b41bbdef86c718d58760b06fd126c3a9b3ba849efbcecef138467be0e869c2f1a9390282d3ae04f359996a0c7c0e8232293e52f8d3bd8adaeee2959753672d118339075300bd2129b1d5a221a977aa643b268c4e11d9369a6974d099c4b0dcc454c84273f27df61cfa650fbd189bd524503aba45efa7753ec8eda61b0e540c982354155a06f983b1afe0dbf7e9e09fd07e8779c693323f353aa03334b63147f283636bcafa5a017f85d8031d209d497d79a47f9a47732b1c63b1f99f91f4b61b920737bb56097bce778f87b5a336f511c70f1a35bfd2fe0f33abff3c493293e1df9e1ac79c979197ccef335c2606878360f51a7ec563553315bb4983d03fb2d9a78bd715cbd052c4f627f09ac53674761df41711669eeee1d66c79d36eba25c5bddc1705a6995ac9107abd299a29d354411c76e08b4729d615117e45d95305ed3732bcb44a08260322143d5d03dc9a3dd01dd0a8ef0497399b3e0c84b90f51feda4d3ccd7a0feab89cbcdf70c1e24d4e2379943ddbc30ce240d1f7ef75dce41a7485abf536521a2b0203a029632c5235d7f585cedae3f5e944993461199e22e3fbd75360d771db34b218fa72af6c6f6023dd5a30802b48c04f3f5a5fdaa47889d7d8d6278aa10a9f23b494ceb32755a5751e9cf46b1080aa1ea90bc8c0ddda16477742e2fdc6e2cf51079a9cc9dd737e3fda1eb79f932c13276f6f581b2360c8c36ae0f45c268c9edd490bdfbe74f8ce9484ed2e6d7f0b9c333552cf6cfc409402172dedc1de71095b2ce28e7a306a056413cfc2e58d0ca795051857d50ba356fb5d22a30e15fac1f75376424d872afc974894c1ab1bbe0649e8858a4f65390791271de0c5cb943d6f1a4744c421a76b67fb6eac2dfb06928babe7c180b315c5f36020d29495886b3c16a6014720e3a78602cf8b91e92500fbaf2761cdb0b7e2129113ae129d099ecd1b0494076cd059d7b35dccac25c49d0d3e97024941bb9af8785f4e7ee0d589f3d12dbe4e77076bc8135065e9a203f58e74a1e30d782995e7bfcffb13965caf361f144c14c4f44f21c746a85b1dc9c08a1789458f265399851bb9a8a7727afc0dc821a4bc4ee5df54b67ce1437cb1c4fec7ed7cbcd4576219ee6af1130afb7488a33da81aec7f8e97d7077d2bfff99f7f63fd67423a3b06ab07a5728f976dc1c89d43261dec7d7d10685cbcec0a8b2e2362501aad2059b7a8f2d974072061df93573f9a24ed1282de21c81cf0baeab10387be4239527b5c16f2c3d95ec7fc39e77db8200403f1d67102350f1d4fec0450fbd3c9893396decc42c30380a7723883691e25ab734738d2384dee8133dbc1712f0e6b50d1c5975ed528ef8a4982cab0bc397ac2d8c8ca02104ffd937f6c91b94bf84a9655ccb75399b566d2d8d6be70620b6630c904810d14f91404181ffb0bdcc0f245ec8e52533752b8f064b60d4cb7a844d3cd94a4d67595933e50eed13f26a08ca62b04c4a57372188f8ec00ab8da7e34a5156a8d0891f6e4b43e7cabe0b6fed321efaa3fc77f854cab810222634994a599572c665b081a344eec42c94dcca186d0dbbcd85c0277ac4c70e6df08de75f7984d58ee3ddbd9e9645770c2c2fa26141489b51058fde274d505f5d820166d2d0baa4776de629aed43c5950d866c31ce32b40ec1dbf0b6660954099b2e8ac3c2beb0d8456efcf43c6c8ba2ea0c4627ee86f38cb4cbc1b9d8fabfc3a8d300f08da61ac98f8884c130497b23d8e59969723691c8a77b1968cabe28767f37c01f570cf36461e7dc10f5bb4c0461aa61546adbe97368681e4a203551771cab7ded6493bcd68ff812103e410eea1304fb7bf8976e56d62a69efad7ea0e92aa8af185af783937833c01e53d7a3f44b9643885a023f44fcbfddb8221e76a575d6320b24711d853e1d1ede73e5c13392d44fa71974bf5bd53aa6747c70aff00dc273b8ca171210bbffa305990fb64bf7ba4f56b48708441c1ce9f71700265544a1a9f532716920ce672675c450d451202f71f260a24017d08eaa15a4c4aefc93e78be5a5be389eff0db2fb743132f1ac2e88ca9093c3d1831bd5320972a60f66315846d341f30a9833b2ef89ffec4f49876b9677ffdac58c826f746867a1e294890a81b5860f36159a7afe411e13f1e0dc1f58288d87ddffc5d30fe7b37b8a584aef73446cd415ffb16bc0ae8d4596466a4dc57606ab9f1bb513af8bb6a1fbdf4fbdc68ec160b91e52c3ee1ffeadbe604b3813d1874c493e1078851fede70d73374faeb94067959e6b16f68a1a999b73c6fae99635856c4ffa0f7faffb086a25b51b0fbb9d4966f971790ce3b02e0f93b54d5baa6fdfcf475dc16c063e51a56bb57981d99a71964d933e6cdbf2f0ef1c73b5fd91941d789c1550d0b837b1cfe5f0880827fc7258799809c6dc1b3236704907a7d126e1c2606bfbbe855afb2bf06e9c62a64349ebc1862e4a6c21a16745cd2e8373573024d1c8fa02b405ad0f0ba41b3ad9287f0f4ca5678796afdef78c56e169ed5b0ef2df2cdb28eb26736ef85a16414effaa9141be915008de2584c367b4cb229cb7872e476acf8462c1d30433969b83effa4724d701ea14f010e3ce6c707f2319bb5319c0023ac8b354e282c46344527745b56d4deac89af5886bda0dd96112740534216f72e7cb5fdeda326eb9fce0bf458acd304f887009f370f6375a48ee28a598f12404a6a3aeab5293d39acdf7e4b78d78e09cb4e59b8ef0da6693c3213b26da221f979ac185f99de8848257c7f27d1779e2d104922ccddd2fcebf39260c5a5a6f8e5d58058349068642497e3d245117beb977efe481eeac0e3bf1d83a9fd7c08132b2798cf0dcb418e519c1d69508fe6663d83b5a7cf2044c08075a189d3fbd83559acb39ce2d1116228420d009b976a03d9ebe3a3f33cc2d9e717eccf7bbd81cc518bd5d240ddc8533526defa3eec838f90530c40a8eadc53b5342dea58528337224eae2964c921f1604d8da861c4ed09ee84e572d5db73ef4f9c44ec374248645ed2edfa570c63114242bbca344a8b496422cd9631611a0a8ec15007a39c26ce6b05fba4c9077454798d043aa4e2f37d892693dbe08b79eb1f1062df995ee98dc16b260d18a0c1335b1edf8dbeccf9f9ef08bdb53b7b5afbd40ed461f9e4f56804455d9abbb0d6436ba5e9069188a10b3a258fbcaadd7819074414210ea3ec7bb8f21709cb61cf25a91b7297c9a214f6be91b4c1bb0ed2d415ee18318d618c96f45ba8713bf5b51e60451c7c47454de9b5c40249fd9ecc268855c84a2d176e587c976ef815b1d28f9a30dbf725e13b3ac65e1df3f425b21fa655c28af3785adb1d5200126e89ae09d0b91ebf1e994d7c0cafa6539a4379b02bab0131364b38e3f06bf49004c27ad2cacae280b332119670e2e18e02cb367b5074c9e05acea3f09efa39a66dfbd103574ae989e1846ef40a4ffdb5754130351493a6fc2b602409ed25860f83b37775d8df477d981046fcb95d261eb395956d65bca00ebd792986dd6e31a74377e35e55f22b9d155f53516a997c48a2a8695ae3ff21a6eda01ccbdc07925d2470cf0e838ace8d7c22644203cffeaff43dd1b2e430c92e94f65f315bca0b2673cccec26a3a878eb919cc17ee125ef6a98856385fca6b19b7f403b86958ac15396fcdb744b5efdfb6007f415aa8e9ec7cdc7618b7ca5757a635dbd87b5e86b407ddc258d7e03763b10c8620cd6d124c0ce51d5df9cde3bcd044b970c13cd64b0d3fac177981e3ccaed7dc2ecf8ddd8d72ae2e3a62503ff4cec61c58e1a182a1b33bb17415ca78da00a15545eadca7e265474398aa5e718baf26d62e0ab64b0053f1bf1df10b45088468d6a27fb14907eb27a398bdb428b7f11eff884e764df256a945f1547b175c76dd081e78d98f3be8f966e96b6a252ac5fcb4224f676b0033ff6897d8429fd502d7d784935f3104409cea371fc8e35c12ebaa4fd160ca47ef1677900da8189fd8f11ed2e970e82426e19cfbb490a5692cc35aed7706f739091a1456c042a8c631a53f9e72b927d79b402124dc0dd931aa1d06db8571ca6ba01280b251f63fd28cfe4f17fd45eeaafd4c73fa6726483eb25162dd1fbfe2fe2b2a66a1423d00af3152ba500a16135a9739b89824ceec90de82270dc084a5e773371654d872ed05e21e9f4c7e3d4a2164768de90081ac84777a852268b6a369c554ec4f381df89c04550f615f586f165baf32c0cddfa3ed1dde0c541e8963a40a0b7a786f4e8d7806fede35372501d77bef51cb23caf779183b90b8018035d3a0eb0fd125a38a7a7ddcf82c3270bd1e592507f4f731feeb3ccabe930b38657e0a6dda576fac3ba350869c33eb52861d85a65f22b62990655b07d7e90ffa181bc694ab159f0f637c050a7e00f226e2096c4730a135b6ea5481c83d65033310eda96a1c9bf95ce21e185e70781f56fd862fbd652c1ab17901032f94f00f90f96e3669a77c0ed13efdc74109f0f4f745bca0621024010617b63f0472531654ba5d55ee4b506cbc72858f7edc76865aefffbce50e7aae6058cfcc6eb2c0160adbe0afc7c10bfbb34f030b9f9649ab35af2c3a7a290dd308db3c23ec2052c7a2ce7c380e14a04cbcfd5895b52c9126ff93dfde982e6e8dc72c103fc6c0d568d11052229c6590dbed300f6c05ea5d55d4354d59a1c349060a852c401bb8708f9e0a14ce127e9576b4cd98d5047ff9b2640f5d5174d4784ba76f0590af16b2676f4cd8a16fe2edb3f27bf6e1836546559c59e79a5f664d50ed5d320e249ce8fbdb4838a42b8bea79bb91286660ddd74d610b4f387072114fdbb5bd14926b204162aaecab236e16047f5a4021e250dee3461dfec8252b4bda4a243e8c7b663f20421b7c25046114849e04c48e039a87c972dd30328e6dcaafa82c97d1de20c83b05fa44dd89cc318a9f033d8046e345d7b5fd0a8302f21398ebd82d6d154d1d48ba5d5896d41bf214fc48eb81742e781bc18a7d52bef0232f6854281505f42702bd36ba6cd043f6970418d5a5915631134bf3f2141de783dd2b8813c730080c8f2429e27cbe19ffb82045e4895b0648f9ec899570e53999387345c4915dd4ec0e3b5e23e0a2d19e85c3614277f4b90df19b28ae06a0a8a6d6aea6537f690bf6c135e50359061d18b221d469e820b0eefc72c805e2b7fc3a0d1802d04320f4126a04f51e06172f639af22fe9c0d5ce4baeee852410ffce1a667dacd448b44b04a25c92a7cd5705e8d513ce42119c1cecd94783576f60a72c3ade12ad5962048c993960c6d40d3f197c469e54215ddbf5b8f22a8ce9750c428de8bd51e0db97964d4bc477d8a196a0768da701e0e5337a86aeac7977a5b86912a7c3a0c19af94addac020d6cda9571d4b8fed8c6581ed6def2b00535672cf5a59d6a1ddf848d0927bb08afb17abb966c0066739f8708d9007a5f0e971001c3853782e652e58176b13b248288e640c0ee07f4c6161a7c061864851c10c0e94e6342152de78e65e3e60e509c221c95c9eb108eb6bd28145f41615eb07f7fd7a60f20c249578048ae7beb4186f0a48d4f39b0556cc75221e2f99d8c5a591c1ae4075f03532ad875ad26cf6ae3d96ef0baec56af5d8b8ef6a40564c3f9d30d0d07fa886690e7c16d523d948ccebab5b0a80ba2ca04178bd09358b29836a43966497f51ba65a27932faf9e78994101d92495049101f4d8c941a8196f6612cddac37dc70142d5e9a6e5bc768edd2c41fed1779ab30768227ceaead9d0b2aaddd60e8c9ab5aab1ed4a1e365cd6cdee6705f86a0428e4ce3305f6b05b1213c14824c371c1cf0b6b47dfc7e60f79a7c81d3b5b311545ee64bddb0692ffdfde97731c324d6b7a8284f3333b342aaf4690f07501300fcb98edad9efd37f17b5da759032fd51113f84f660b7882210761664153ca5eb7e57b5eef92b93acc46053365a494e041bde7e950df756287c7c46496c8ecc15fff359ea0e3217b025ee263a51f60d7f23ed593881f7b3c09e059a723e048aabba8532823bff34d6b2aa358463e4bc1dc26374aa271b0ac1e662110d76d871f8baa7942f0b946241e606609410214e1aa8e3548363204d9ee668aca8fc74c4b6d755b0ddccb8cb0977d453e6ca64fd87fc48a081e79d28db8d8886db28bcb8868858a06f4021b5284dff0d586e0417791cfcaa9f04953d40484541cbe79fbec6826e0839bb63b9a2ea58bf03bad39d6cd3b4438fd573efd75efc3760115a692cb61be285f3591e87b2c97b457ed00c3b33f067268926c587fa1509829ba65734cb93bfee778dfc922f4adeaa0d886c3f775fa79d339a4044ba3fc3ed4e2f8af536a81a3d2b6391d8ce8c07da293f8a65e778f0f39fdf46e9c8478192b56c2f32aada2ea32073ba8e42406348eff3eea2ddc17490da8a4c380c1fa3e120847ecbbc6fcddcd6cb998a8c7d8d96b0fc201d17d507cb23f11f7ee0d05d4d9e2a05f26fe7d98f2540e96553627c6cbc4279aa4b3950cdb60d6fa6f4d4351493778cb3e89092374f0702736ec63f3db546bbc43ab9210021fab1b3bff1bbe8195cf5cb588971c3e6c030c67382bd44d7976dab2155e5c51a12cd3b0bba4db280cdba56d22f8c55e16f752cb60dc27cd3417f984234e790b9432d110d848a1e64f10014713c38943208a37cc5ba34924dce1e458779e6048fcc8c1560fe51250286d1d3703780c7c5ab9a998ebdcc533ab281d5b4334e0b91b50016881c0bd92fb009c3754504c0397ac5f0f0467bad710233ad4ed4425ccf9ce746d5f894fcbbec406150c04d7c74596390dc6beeb03bb8e709a3e511765d11c3e92ea059672100569f4e8e84c7cd7386e92226122524aeafba017aeefd0a38c92b7f09c5ad196743924289a8fe174f5db5562970f67b4a9a4e32430626e1a4865f0899f0c72ba42f0d05720e3f575c805469bb1e35b394ab3c0771f66128c5f45d29071ff874945e0b859f287c9dfdbd643db134f3a77cec4952c16d49686ec39f7396a70321061adadb777fe21b08f0b5bb80939593b4af8240ab6f6bdd4ab7fdb5ba3e2aea17a27c8880d457e0995f3cbf3671449d4ee50557a1001a3f2e5b82a3c22a6e66b687e4bb502977c84c95832ef23c12bd4329037b207ceaa5c1bdd3a56bccb319137875af3417d8baeed181d696e2a16520dea40e5c1d3c35fe37d4e072f308c4286833d305a6c7e02cb1fef824cfaca2980e30bce10a4ebca4ce525efc6175d70661e6dd4d08daf175b506e5be459d94c40d610accd1219c8cbbe2b09a2fa7cce86ea89284243b2bb468b626f2ebadc7e25694498e1004490614c38ae03f1e2b9639a6fbb5502b43795e41e37a5b9efbccdc64437fed4ead5eef9303c5352326df41caff2a1a10ae5d97fbc6ab50cdcbf2afe015fff7e85bd144dd511f7feba72ff774bff2b6bda7e9a74fa69a9396aa87a5e394fefd93c0042f6087cfbd92b7ca3e2b7bd5a34f9e1ae05c150ed9cdf6f505975b456adb5b86d3ae660b37cf1c2a670e9196a926027fdc76156b8981ad8773a44e77b412ae36a9156687167416a26782f36c24c9dd05041fe57081fb341c3882771e488af1cf0a6de1bf3c8e06e6c3812e8d318d94b2313d11952e461bc2ff017f9edb6e4099f00b3509fee7568f72dec2a25198b7836971910acae21f3977fef83f3db74175ae30e1643a16cf145c7774528fcf7586c75924c9516990620d2ada291fb42681004cfa72bd70b8ba80767e37ecc902e88fbe6e2f04025b9c89724b4adbb3f1540b10dbe8a788d4af524ad195b87d4cc0dd9e33b4595aa9b46098c645841c4bda7144ca2e9ed08a6e982e220c60e41e2c62ddc66a39d89c6b063e0a1bbeb14a3a78d09b4a76a39236772918d3d3bf3959ff3199a1c7248207f0c23b6b065cb4264e8fc9c8bb1a29144974a67d1374e6dc05ec2a8e2306a67c5f0e469753d39854d903fc72eda5552641828d97bc3073e48ee57398eaf5b017dc91d8bf013fbafc2c9a0fb6f26ca8ac4d7b13bbe0941a048c6ea6e6570cfd29204164ca91793107a711f1ef249715e40c20a16be21f5e186f2f9a7e132bd987821fb159fc554a4cc9d7548fb66406cfebcb99f6c59fa80ecd9606e0891d5a8046fa479394361216141d9042f4c256d38c1ea25e9b91f947d035bbd746b91e4da153eac47a84d28242e3bc82aa462379188f834a6153f6a25bbf3bcd3b1f76562e445432e8c79991519ac8ff26852aa84beac1b5d37d5bd1c0e1cdd1caee2610c4fb8aa1742ecedc6d3048de800e8d32959a87298b3e5594123846e97834acf04fe40eafb1072b44a20f81e20350a3b5bacd31b0136795c4a4aecd53a78d35f0b28e380986ae5e4b5a0241475b2466b9701a5a4580ebc03efb3ba1eec2d2b24f4863bfca8572cd8a477fa269e374ab8bb428686d1c8bb3095eb022a2e13ba5e123cba7aea0452ed1381bfb428d6b628939babf648350dfc605c96f024d006dee114f974fcf07d1ea861dc15da22443a0c0cc69d1659d1158ae4e33058ce340bb0f0f0542308c8ee52ed954028b757be9906d5f86c4155f51e2a4bc9f572cbc7421cb57256be73d3f28a03cdcdd151741d8a86b1e4f7fd062bb458a2640f0643ef139e1d33148777cb05bc516849cc77d2e66a51622588de4591d2c75681ff131c36c96bf50b330185dc497e6deee6bf802e368d14e91cf01c5eb2495df740fffb0f8a50cb9010173e25407c519d8b1299f692c75e797849c44215431444e2de962ab064a7df7cdb7c20886af9f699c1c68cd1561e6647bcb4363db68abe6a99f7892bbf62bddb6db432d3436d3e569d6b8a3b7c252137f0872e2788e0f4d98d1e411bc31e03ae6a71ddc2c3c310e106dad66e581a57266f6ddfd0853864b124749491b0a8b11b94680f36bf0bc8419135c0a12b365d64d3d47fb4ee4ba184d6383fc5c66fe29576f0967428cdbca7c5ecf7ac65abde2b881963807e6bf57c182859f8ac0331b29b566d8b652260d80cb8e880ea7c6f72e78657719ff8400e24afac9dc0416f8ea668c8718d250d152c49090147e6f621c439721af8cd94e222f8b3a302d464ea3e184773c72037d8646fa324c42714bb6f5c10ec1e06f7cef998f13f99c9901c8f76963206ba7c7f46a59eb49f58bb5a7084f4e263f693dd2db98d03034ed916568d35b5d24c374b069974f5f89bb89628df737193b94249d235da69ed670508972dc3b5029093a3921b75f231df9e2f9be6455f7d7b7623293637030d4bdfab53ee2afe1a41e4490cb91f3e7118acb2d75d02b1a40677d7753b53c3e1baa7545b9b213f1a5f9f8e5d8be7b56dcfb208e7de08596a0e51dbd705658d95444d92f3f78504e9f7baa7a79217b805f84df39c17e4d4d958d63e4b2c58f373b0f71312e37aa2fc3a5f7c823f86cb489f1d503f4447df96fad5b1ac578fcd08a66afc8f33dec1bf18657d3e30d8da2b37246fffc60235916f198d88f5b36f3d8e22dcc8f7223a2fdccf2ca3d6818e86078ed82df4a79f05688d599031757c220ee4c6d0fbb20bf5abf26930415d5903a745ecf7f506b163b3285e20e15524d721816c01782de03273aeb5be95e9b14b3776db8bb8876ade8c0d0833a31a706709a1f86d627ec67705ca0ee250d9765d06b12908d679344deb8931e7162089a6389d564af3be5fc8194a6cc91588886a1b043efb989e05a8b551f0241e37312cd9d9eec9d13b88311103d64b4898dd072bcd1af668a2f984fb445efa1e4e934250b40d3e753b3c242f611da24ed57cb520800d60a19321849d8a899fe474c9ac89e8861d9c77998bb374c3d8841df66ebae146c5d818436723759629482293ebbdb0d4abd8f551ec222dbe74d94bc7d49c49b8424a68590e385ecf4e873acd487a97fed21adf963e2f905d1e668c8731ec02b6845f40c199f8e152b49a1a3341743377221211302d66bce74060d3a34b3eaa92d03e12747eebed18d299120e89dce142186ac87ddcfd41b233b5534a4f6e917feae8203ef27105272217c88d6fad614b34b9c01828d9bfe684a4b43b8764432a3ad1361afa8cfcd9db3838667f7c8b463e95500684c24d29df5879883eea9b1cec19854a9bcd04342f8eaf190093876189477e17299bc3bad8f7962c129997ddb08ddfde2a3d970a0394a469dc563948464627262838cb3045249c951bf839b44af578a6fc66e4be86a7acecd3683cb09a4f956d4f19fdabe4056bfc6c25fc1fdb0709d1877d09f6941f4ef7e355ebb39e7e5e6cafec50009ac26da6e2db1633e2a9f46b82b21f315e4127f020d38a935ed469962a549f73f515df75d328744e84bde93e5cf929717ae7d0e71803d23925bb20b06a82d68983dc68a47598f32675e04efe99138e48533ac83a49d739fd21c66bbbc7734d5ef5bd9347f2a9676a5c127afb192e949bf634d2b9bd0dd86e00b3314091ab78848e459a10a6fb32090383853fe47a5d9ca2486efc44867249d474e8b89a16cdc29637c9f0e2726a8b81e67ba918c69e0b9142f088b28a65bcccb6e8bd6c6bc0403746473c0d60a23e1099f9b25a058b4d3c34591335da1091f47123ad8ff966dd86aed94bcb7ab96e444dc30a33185ce78198c0297afb432a4a97c3bf1779384df9858f7b2014f10982af51b83d602a8eac71233372383705d529a23f03dbf1de8ce5e6eaa4b5c5cf45c2ce3ab73ecf41a7b80050f43d0c371c8187c712dae2a03338e646f6e6265e8e631b9d3f421b2d40e932d8724bf038238429e9c238c9bb760ce5157531f0e8fe9383c41bc912de94880106efd6d0898fdda955650fc905e2eecf7370f697e2313f81e02ca170158f4a6a4a8a069b9b2ae58b88414c56e9b1f4e1eb4ffa1ffa03463c8b565e02b0e8886f415410630de61aa1470a754cbde685b7b9ed6600824558bf8e826b93586cff8c5006cbbc20d78028728442f0874f474a7ef114c48b2cf3bcdb93bf6f089b6101299483a4055b723b8c300bc3d40038a4d45dbdc1a8558f549eef76a2881c0b47b2f8b452f1369396a6179c321a184b89ec93373f5fcd1585082ad14d8e0a94a7e9be06fb570fa4f57a391842a528fec0b245fdfbcbe2e402b998b13a29f8ad47f19ad1be32de390941e98fd1e71dbdbbbdce7f147dab48ddbf37c79d908b4b39ac5276d4ce46c59dca83c052741d468b819cd47e84ff146dc133cd0dc95bcf03c6495b9915bf0fdcea88314d1d72c10325dffc3469bc5f4ff290a6ece99e72d2c42fd8b83d5ff466195b0304808ad611764509377ff983d03c83035cf3e24c302cebe8062e015329eb155831497a9a4851040cab8dde67518e4d7fc6699913e542c3bedc365e166970cfcf44992ac98b2172595fd9f0880363463f31b3507128f2e6bef7083c658fafa1a64b6986331c3b989d34bf15a2bc515cafd459673df8f58f47acabc15f97e33428cf19c50318604886cf8ae466b8ceded77539b53731ee13900ecac758cb7b0c65cf74d7bd41989489a7bf6332d74ba8fcfab77e5dacc9e7f6bf1108cce5b7a4dfa61a621e9919807af771af28f2853c14ae5aaf146652d7d5e5e3b9fe2d2edfc6e345dcccef3a9cfaf78581df2db33644b0bc0efc7e133cba9c21b320edc955fa43a1cf75d9660987746100e6b2c90c60321d6492601ef9ba4d3725b9b5b04b73c4dfbcd0c039c923ff287bb6503d0acfe1fe8a9faddc7bdea69155c81e406b7940a5b58b871227e3f135229908c33e5926dbb7bd88b1ff00b391be2dbb4815b23352c4b123b66b3e04900889e7fec66f28618b6ff93fbc3df343f3c8df627b5b8c7df3478ffcd153e6ac403bc7d6251c7a5a98a1cf999d914df278ddeefd64482eeb6fb232b23c5ecc12d760c5cf149af341dcde6c772eeb8ab711b84439e26440e0e705e2e09ff20e7d6dc302dae6c4769ba553db50d26f0781a3be934a055f32f9aadfa32931a3a8a387db72306ebf098cc758ac6a96d40d959c96838f33ee6f2de2c646ea7ad32fe43d037c993a4c5e7076d3341917fc16a96e2141a08d3f4ce0f30a8e7daf0a6353f0d16069d47db619951fdbcfcbe38179ba24dc3056ea68ce3957bae811c6ffeff19dabe629823805f526e3c82d6a8198ac51f79dbb0970959da8047d96845021f2ddaf041c13890545425fb93152c0212a3c7c32cb9d862c0b430aef84a439c1bcb6f8bcfb82caf4b6b13d9d52b4979b5d491fe4ca8cfaa932721a009f9a5b43413ca1a9eea7ea1d57aea5db865bab8fe9390d1849bb5fa49710de2f84ef1109e205608055446396455d43de55865f7364b0013733f201b41da69ed2eaae8c90e2715ebef4b6b0f5a7bc5ee6f40ae1d5756d74e52f28e5d9799c4b89b6db5b038812dbf0f9cc14ced34cfb7de6f8a4395ac70129114c162e90a3fd7eb8c164139513a50fda48e0b2a7fbc088a65a4c8fb91a3faccaa9777da9074a0d8e3b9ed02b5ca15570bdfb175aa68ec426db7bdb06aede9f221e7826cc617d2c15b458c96a8294b73e2539997d6b392f35a6836153b3ddf94d0924aec354c5dd1679793b2cc6240f016a532e17d04bfb2b2094c3cd21b5c5ccab0a81df67c031cf75fa1eff81ae831bc5df9ae67053c88fe95894e03eada085d5e11a07d8022b24ed5049465a3e2e2518a5283730b99f49ba642b62533881b5b125529568bb54b4da40c7411bdf008fb0c6ec34d27841606bf119b718eb6dcbb1584bfa28c8d4c8179902375d9247ba666dcb15f5962044dea59f9746bc00c210ef395e96b8b84d33bb7b0cf58689302b7238c265aeb8f2a9aebff6b6e2b6c38155b0f29a0a80dedbd3e393b6b750631443a79661f1a08ee3a3442bdec4c2175ddbe50a0cec036d372218dc2e4c84c35a41adab3b1b54409edb73e74ecd1902df1224fce7abc385855530535d2af81d34e6c54a6dc1f19e1208eda82a443b2d50ff811c9f5753d7098433bc29220da454e54625fbaa4d1809bc2c6a05bd9343305b3011203fa2207cb49e842285bce7dc527f66f9f95d0bfc5597d825e251229c118164486d6f7b1a4023c599c00987baf114134ae74c95fb2cf5327d0fc05564479d666301dac4e5d0a69b707c1d6975ba831507862deea6505a996c8337b677ad92969cb531989edeea6cf0ce11e2d8ddb2f95178af80899a10712a392e2a7177c4c9c39d0b918152a5d4383b377bc95d9945bb75ae843bbc0c98ed3b8a0482acde8e9b1551b0211cc4ba02bae554012b53309c3ab609f5b160ed170a73be33d473f90d2a84b700fee328e3fcda68154aeea1af8d1f5e60b5aea6dc3fbfa78b034fbb9b0da438672d85c4141eba453cb01eb0e2041e8bbda666321044c67319cf9a9123168a56173588af07a5ed4ff8e467ed42e94a77cfcfc723b679446269368cf5d793bbbd8965b05aedff40881f4ad26c8df75ed3243adc4237a1cfb3f0df9c712022777c655c953779f014d2119c5b332a0b8794adb9607839e9755eb8b33d212bd65c170a893e5cdccf4143dec003cf3e7173969886b048256bb7cdd060dae7397e023b460f02792aaced3e24491d19cdba1edc295278ff0e99e6b57880584313840279f2dead71b5453581fac8a267f37ee7c736685d3e485387d7ba78a105f8b7a80865929983e1c13c79f1df5b9fe51cd9162a91b1f0dac3b21bc72a942548d2334bf573510c4b1c99296cb5ebe13a1dfd0350459b1188f8e8ceab1b99588a8e94641995ce2eecf7066fbfe1668ebe6c9ce8de3f7a5958ad62a5e3635d82d2d38d73c2243c808775d05a3fcfbc36571517ac1827c7bfd583f1cef452972737456d65c4fe0884760579991cf11e22a8e3337337893b4a64c003630ed8287d809418de4df74fcd50ca595e1911ba28413e30e3ecca4730af2b92099eaaa5566d73c7f24c091ae55e9e33046ad51eab1e188856fee90a82e764995d812f2773c3eb1989fd0507682383b8d2dccbef0a447318e143b995e9cbe183833e91cd7ca976650d16af39eeaa3ebf089274d5bd936e3ef235e565112c8119cd3e9c6fb1a011e843416b7c3cc7b2fb14ab4b8d46a4e2e69aefac615b422efcbb76a125f1ca65e8082d84ac4b0de4742508fcce745074efef364816de665d674f239f03bb904cda98ce00ba7a7092c96a35c7471f9168fb23bb9479c1bde6d883049d259fd919ec0e5bdf469f5ed50d9f294198f06bb6ff9d814a233c8f3214acc551d307ab5f712fbac25bd5e0fb3305d519f83fd739a04d7b1c714b7bf2850ea95a7ec063b30c9242fde2c1d723d5435fe6570817668e3197a0abe774b2fe62285469c713beac5de6d0c07cfbdaf6069dac51b59c19a3ebf36c8e412724e887b617e401b77d4e9ff92a7afdcd49e9f650e834359c9181d4f4a5d11f7229d6e41b5206a3396a2d66b44cf9533c28d139791d31c14947bb31efe2417d27d8777481d7c4710dfd190bc3758d1a9390894c8b47cd9a22472383952844caf62e224205e7d1faf23c85afe325968d1ae561eb606bedfba5cbf0dc35e41e785850673833e55b3cd1f61e597633280f5cab40a924e4360e7d920cb12d0c5d642a565b5cc2382ccd2f4aa20c5d2c4094faddf43e4109833b01486e99a21db09421f3c6e442cecdc11ab03b6f8250a6cdbb0487fd003d3528d744e1c6ca894b747cb6a906d9518f2fc32fa0b9e33242da861d98c360a183ab88e0f9f5e8d01f10074cd1fd51d15efe1c1fd9ba72b79cbbe9c59fa9b61791a3bd480570f324e87b922018a7f6d73c5b3d4daed3db0c1fe6a18153c22814b4cc20a93a2cb8ffb3e4ce00d0a0f79617688831afbeaa17563956d765c33999e352f5f085eefb87e8fc2c99031600c8b2e6e6f027fb1a35e4d7a134602a86aaef9370d22a28f2db034d2bf125d179e5b6c0187512da59251e7d6b588462be88609c5ea4160e2b49a33faf79a1c5a53c9346b9e6600ce4491a820c77480716802ff11e81b5b8ed48259ee11b50ba0910cc4b42c2560146e9cdcb02f95706a07640ab96f416d6471ada93e26da9531a7badc0959493291dbd9e0e10c9c2efadd99367aa7e542cb8a65dfca24afbb1bc58c67f9b548f7c1a6fe594a6dbb17a5cdbd27d06924c7942a9b7eb4b00908f57e4b234d2625007454b7da135383af15193aee97a7e559703bc94e9b1ac36952b66396c68270c47d2d360e38fcc1bb2e142745af3512faace1d7148f08926fdb0fd8baedf05a7cb6c5c8af0c9aebbc86326886cefaccd05025049a921afe341e22470eee5af04f74387c801cebe25e96e147a64af1853f2ff3e91f863fd0d1138512df9d03096fb629eacfcca1c7e892389ce6d6c2d559f27bdec6c7a412153432a8d8395837b7872fea26e6f14c6f48752f8ace84c0c8c1e4d15137aefc660f5e270134a5be19a996f19afa8776a2699b3244c648a364b5c2b22989f0319fbe7a88407df47ecfb3f13fe4b2ea8a5e014558f2ba39f15022c3e4d9c130d8d183fc1197a20fbd132e18e9f6ad5bc0796ffc96b7b870238a006906f166e75b37af59759a42b928b7cbee18872fc0ad2596eebc98dc6fd585fe914ec187e7ab81f19df1735d4265193fc69901b3c5b5d304ed0eebaa80db0ad238c6a4385f95a05b4cfcd5afe7d5430689440c5ffe3e518c98658ec46078910b4dd214042688628fc07f21b05cc0f7d831d5426df1b00bd3fe1488ba8b00a3d1935e24397615e5a56dbbe27b51d2ef8bb399ee439ed0928f0970d4ae7dbc2bf089189d8efb18d0ddecf863357d98405cc55a226a46f7e5badc9d7718a0b283abd95de24b0e3fdd9b7c804782a123226c0081fc0ffa967fc161768a912757c3bc30dfd6856665c857106d35070240b54b0573c71c0bf035f4cfbc0f37e04e64a63b8380a0d841d4450185d413c507460365554db66cd4571f654ae81a71d24683928e29f85e04181faf5a71d9cd299510b7d340ed3750639eb233fa8d7ed61381f2ce0f28a5efc35847f43ac173e6b8aea5266010fc3fe471aefb9e624ef0f7a9da913278785f88a0e1eb395c8ef82ca97368eaaf3a7370d41d4102cfcda70d713ffc46d6ad9eeefa5216b6dbfe5683920f0071c54660fffc1a3b1d302ae1a1e48882f20c8460d93f637ffd7c1b741b07c2e29e206abdecdd6f367c3c697049a53a848495561c524d18baa3b4f4874758d5093c68f4e48cd5791888b884f9e4d8e4b85481c4929bb55e4ea4dda7ef8e6d8c8cbb12c06c2de1ec5348ca4d84ce0c226b36ee67fcc61cbde69f51c8c9e79c32e7210eef349ca9768ba56ce4f15f2fbc14dfbbaf6b953d286b044964155915686af71cb7aaf0723e06709a22846ce821696fd89cdaaf323733ce5fc9d5a286719a4a7985301f848d4cb14b868cf9c42f281ef54a6a46efb2c4d2cb52b836acdc0a30cb3130f9a86a63cf2186c8df63881c1793ff722d304137e4e7dff9974ca9c25eee77192728a15177c9ed77bead2ec3129ac974345a2915f86ffb3bcf13ec72e1020fe1fd5c85e989a143543c539a54b4b259351be775714c5ecfc7e46f63b55136a646d57f83bcc82adad11e2b240c05cc2e701531f097feab11276c0d2b3e1b4b101b50bb37823fa8783ab2e3bc0ba9be3ca072fb513f19e979ba93565923e46644a1fcbe97e6a56b9c6d7f779faca72cadf1be6d59d0ff4c7c5937cfada9ae544c0df22e18b604bb007eb5825a043203b2bda65a3116dcfc1c12d88efd7d572876a6758525c92ca2412a4c2b116d0f524e64544517917bee41610e227f43ad3e5411b0d043578158e92b5e7a92020e7fa91e98d54f9efe77f6995e88dbf8b66f89bb5ad8226d96efdcceb923805f9f51006a1512eea9efb7faef313153b5e62594d8082e58737d4714ac180101817df098b4bef90c822b2dabb0a55529a6e56948790690d4159c8bded989f0a3eea99d7989489aee42d53bbad3d2b0db9af16c7ae4d8f90f6cb8e2627624d5fbc6e039d2feb3554849d6636e0771759655509e5044b71ef19417588c350aaaeb08f440074d62d359ac83692c4e9d0875deeb691532634275d10cf807460bfe58ec1e452496778c516c6b99f86cb52afb3b08536f99fd0d2fe48b5189fd20ba4115cbe3130ffe2df5bc52617a39cc66569a8e462d2197e5927d7dea69d0b0b99c318b44365c04c05811a1781183fec75ad33f9219a9db7d605847de3886f99b606fb8aa1eaccd240c5ca9136c3eda6c6edc52ee0932b57613af56ba9b83065fcf760b44f8c623d3889c042ceb168873c789404fc2c0a4c50ca7f461966beca59e2a6503f0182f5fb6a6b95e62da6a57c01df8187da0d230de270e1171081ede3cf14055874d985e4d060a9cb456a587bb2655d84b86c24b28dca8fe5d454c8c0a5937a7e5586d361afdebb46bd1b651f95defdc54838e73ce7073aaf97622f05133fe4874734adcea79de050de1fe81c568ba834030327f0a3922cb16ca10c472eac617eaa43652fe21410f783ff39b4f1558d7a2d82d6112fbffd93ec5e008433a4e6118329d5e301212589dd92e1aa897a9d1f0dc00b181e13c1d9adf8a1dfe9c1b939e6eedd48fd75b1ac796340f5e342dabb4d6615c70d296489e73c51bd1af67014c7f62f8d92ef53a6e9968c3cf966d955c5f170c8605f82e080dd01a759203d330a53f8b833b6551374a75a8c3a940ed6310dc60b4a40cb3819d9c2154b9133677de84e517460381ff5acfcbf7e41d27655c0bc3ff1307251eda33729e800ff31a3a79ed7acecbc09601cc1d22d4401871a544dbdbd6fc61e8e1af8ec0116d9e7a87a1564330e3ef5d0451d2ce579816635fbf031713d5a9b0fd49c978c6bf737072b6e4a5206574786e01e431a54f716b58e0bee1d2c4b892f3484a947169a408de971a5f1b0551e8345114125c16ade695bfcf45472733af90dafa3a7d7cce7afd2820a42e06e5839c95c41e7818643b727dec822cf322f47d6ffd5b362202c2655173cf2d8c4136d19d20feb6dc0d76bff79eb48f7fcbbd6a24750923bf8a4d868cd4e6ccb4ca833bb1ab3bb287c37f68600217d0cd47fff24f39c577cdd2e04ab33c2e027ec5b0674edbad755cb29eacb35857d7b7e6111bf52cbadfc2105e2d0ccbff27f30631a2bd755ae4d4a0392da5fe6935809876e3e32212fd9db535265fd510c23a47a2ae2f5c9ae9218ae6a5c1b7d9c18bc9a88b71ea21a9155d992a42767a15224abaaeb202151f96f370f37e126342272b6931a55e3e05621c18608d2cf5cddd42d4876d59fd288cba6618bb75e1ceb0235dad4eec52042ac2a08882ca445409146798f15664b88edbbe22f27582c331ca451e01c67aa6eac0f0b7650f513e5cf06917c802e4996bbe7343771c0c18539af70bb8cb350d81221b980d6917e8c0bca2b1e42c5ab77439d12d2a8d3e08277b96f8e265d5553b138021c969d0b456e594354070d397cfbc7c6ee6bc9cc4cfba9503ff0f29702e19ac4c48cb8157a9d30c4bd1629ad02a8518c8743e0eb894591f6f9ccdf8a2c210ffe0cbdd8c1696d3108904adbdd03c8ef9fb2e6489ff826da9f62850b8dee60105df5429da051a38d761d51e2a8f3263d491cdc53535c8e8f44e250ba1a74fd66b42c635678ceab293301cf4547cbe33c633e0ceb511ede31662b02bd29114a7e6a7bb08bb247c8f3d2f9a500827b26c5e752053ae05c8362c4939a9363f165220c7a62f8bb53064a8e331f71942d9ccb7a850d91be805334d8c110c8a1dbda7f2b2ef0b21b1d59780ba22919139f2e43fff6d4c99de3e90ac568a5594e6f99ddaa5424f6ca424c7a23148eabd953128df980cfb893e345ef3fcace0d408ef80c16f588883a6efc640a8d78f2e0b249c4f36accfce2a54b5cbe072775a1ac37a1eef11d5567e82c2ec45c414e8181d739126bad939808e782737ac30625f6b709b01e65b4e315ea5018814de3b124369632678dbe389bc91dd682ce6af9e4b084bbfa6855092ade50d89725074282d7444a18fab039f16dd1e878a819d8483ca8ed1b09ce3b892d42d623ad114685c7f2170636967615ce19d30a43f55420cc190bf9c143038db2f63f8bd9a0a04eef8a14edc0a9002bedc161957aa9712ce871ddbe780ef53ec27e66d90fd8c07852f79f0f26014cbe3d593e9f0b75f174435a795898d18a8cd31c7426da3d5069019a40004b2070037323438878f4b4dfe6355e91455234ed3776e100bb5e2c5bc9b96229cad43bd23bc82bb410b662d59d54dac2421c319b73cf02afbb9de6998692a3d5e0df19576a0e8d2f2587a746cfcb0bae7cb698b67d32a0a8acb966081eb6c8bb7e39789180e3dbf8b220acfdffd8c8c775ae3440443a752c28713aeda4b8daa4dfe531e01ed3978c9f99a034a13efb745889d501dcfcbf05172c3d1dd2dbcefb9b339a108307ab44cdce5e0bb0cb4f86abb43c27e7b6669eca61ad81dce276686cbf78ec84fb9b66ef787ea6bb0c4e8acf9fb78eb5f7c64e6d5756c2f97652ae164fc28cef85d8ae90899ef6a860618edadc5b7ea7d198002b4e18441d5f05d7a3797ade7824bd8a84252304e0ac30779a1765e1169d7c6694c19c7e47c89d6dc5762f7e5327bdbf9a9125478fef4cf756ebf06f910b4cb97b653d98e76f163cf99122dd03d4d9074f724d983d73be296ccfd70cf9c877bcfeb46e7eea45765752036241b697fc52527abb1a8d336be6a4ebf656f69833166a06a9781e6f46b83a8f6de098cd21a23486d96c98adfed28652664390686ae58a91c0c813f1824661710446f420bc6404347e83c63bf9a144de210c41c5b09533b842617015e7a49c83fec2c320308531533bfa796cb3b8f706b72c1105e15be179c4ae68e8100ff5598fe5655e299e94c3b31ea183a907eca14cdac0cf61ee650142abf51d50f8e1b18934fc31e04d380c161fce8cfd831c391e82a8a3ad8b60519604112b6515319972712fdda9cd46e5139f3f87699e235c37c99d597f6845c7de951f91811da47bc566aec3486d9234467cac51784cd1f2ae63b515e33ff7343c4fe78835cf646d870af2902b94df0d1abc80b65c50943175a1854d87ef99464889fe629aea8bd9b44c1537e0d9c2c0b6fd7759b4d11cab90148e51974c93c02f913ced968d12bfbfbc85f5b7196a09a7c1e751226320f385ad55756b08a77848e09a3efe9f25ead1aa032e22b56936909f7401ffdd5321d6612d714932ae5be26120dbe970f2f51604ec0ad8da0a2c11ae7a7ae44eef310cdb87f02837644086801ca0bca6164d34b518e08e8f9b80be47abcf627936655b6dfa6f3e909a358a70bc411fe1d113f6df4b762abf97867e05d499fb18ae2449953b9310461b0d5c462221be62b6480e83d564e64be4960baf2b7dc4b3fc234ed5f9913179e025d9b82fe6cfce1c12790968d57eeb4df770b64328cc1d34a5c4654ed374f0d56824a30c1f92b5a253772328e8611b64ff150db92947569dcb0fe730cabb2558b773942bc32eb10b93821591854312a5fa811782409c2bc3b1b7fd33b42e17428a879e20c028067c2af571b5ba3ff0dcdcfcb5ce93745a19f50b36a63811deb128e3fed68503927d819fb39579f8eff89500518db9476fd3129c74aef079ab0acfa075771ef95deea4e7cff6096d380f911c405b1dfd2b06f6ca6589454339e826164ec10025dc3a0ebd5391de0ad53c642b657e00034431aeb1460e95d10528555cc4ca76a35ce22dd499327c35c2278e3092c3c8eeec12862324e3006d857be0294bd5f31f29cdee5f0588ffe23a7795950b95f907bb1fe0a887804e3695a725e3b8993185f17a745a1d7af76270d6477778e09e48ca1c9dc3c66d335f07e2f1f910a68e42e6c4c8ab768ec43ac3f117c8be3b8e251c57067d7a87bb403f5b8683d95768de5008b52edbd6572243f5cab0933af3e18adac0c931c766cb929a5ff32c4cf1ff25fb603ab3df25912cc31c8692e1585d3f6842176abf29bff6655cfd9706b9f860a8290a5b5afd28690d6fa317264c0f4dc1c74942f766903a9109084274e94eec1629a64049a621be049eab60977e8d155eaffe156c23b560f1b3295cbb807b4bda8c0ccf79877332238e7dd9c83c2964d57b6c77459a4a75ee08479421fad8ae0a7323bcdccfdcb7ed65b6a63e817765fdec352cd459f72d08297f2d95c3ef987f55cdd2b212c9706f4f0d39234f53f8544917624b352fd9d961aa963860b4c9185adfd1b5a76da4c0fadc084d3ba509becce759791ec3c1b32b24cb4dd714b03f91a46a63b6764b8aa3544813d1e03db2547c4a23402d40dc7933321cea390470f2fe00f917d5418b727a3fbf54ac06254514010c798ae2d437091ed42bf3e51515454047f1e3ef689323bed623abd86c22f0cfc098c3d7db8d18e85940e6d22a7d5e59e580b5f8d756073763718d4feb6d71c82abc636fecfe844ae12e8a2f2ffa3c64a554ffbe3917dc029e7177f99e1ed2e5f97a1d63b77645a5d151bd154429d7e7c5aefb2aea5585f203eba2245c0ce6f806c38ea4aa8b46f976379b15abbc2e60fd4cea33541dbba5f78bf3f32197d6d230bafd7b0e14bba10c11e920bd9f6627ee681c80edcedad4a0e6a345e48dfe11322bf6ee6399b4295df9b0bff2995bb2b97fa48e5fa7516a6d70f0ffb44acffa7d430c5ba74c6286eca58ffa73224bf8fbfc79b05acfe4e9a06ef339e0797817f9e5b40f4278dccc56b16af94da2c5f7be27ceb92f2efd4647820d0f9191ee3e8071501fdb94134b4626f54e2b552e6933d13b0033d452617ae66666a008156bf31c38fefd0964d6d0d8cdab00a2b84608453c941f86bc0a3b8f584a549087510704fabfd8179c3614add91c36bab2f617ade49ad6b1e72d59fb0fc7d6101935a0a08362a57e36dd2548498cdbf3fe0215304c495dadddd5b1c527e245fe5867b6c7f4dfd9a0c5822bd283506cbbcbcdcf79400b23ad6015a90c61fc58a9c7980611f5eb9c71f67b305596b14a7770574a811ca8148be262b18ec4cefd14c3ef3f58107c7d982f7f41501661036894b80a07270a30300ba50d04f2fc5935055620403a6c47fa16100b621de02f86e5e0c4b22473adaae7b58b8291a74d9a78eef62b1dfa6237169a8c70bce910c5a5f2e184e2bf9be8e9374eb8c9207bf1e4dfdec0baac3b5da87796936a7d573c688a629c18e4ff2208a9281b99a3eb40ac0902c1a4f2f9847f1057416d255e274c908decd1f82b82022d6a65581643b6d52e432515c0075b147d7438d822c54491aebc7a9c5f20fda29f4d5d27133dfb2528cdb2bd635821008bf4193ae9b085ec9ac08fe455237af98b9d68cbf85724ac8b3168769a05ce7b3515be9ca1fc631c74590faa0f5a01dcfa82864cd1da077efa48bebaf3d0b1dbcb8cae10e86fbc703c537dfd4fb302ea171edf3157ad1aae62b1eaaf3d5709ae7a94ebdddc6733e01c2fbcd7d9931ffeb23919f922625454923a8bce06f2f7e2a2e7a669f5abf45df99aefb10932626fca105d9890d7e0a5d385d44427450e6ee7148078275b7be6f24973bd643598790f86cfcc1adae5c14e65addf28303aaec4b3ee34ddfeacccc4dbebb73cba1e31043bcdf036ec6e88eaaf7c98931926b4ab0edff203b94a19e7917027843f1327bb271736b86f5857138a035d39425dded99e2b8c273bf3808ff6a2a4371b08d4b91cc3fbbd91a5ac62e1b46944575740c257dc7fb8806c3d34cec0b662ba364fa54398530727c4b7481fe34bd15a72de0c1d7280d7e5dee3b8912777603a4b5e850ef8cf192474266f79346932f484c24f7e5f9f14731df1bd3ea25a30aa4a27579f14fe84591d1cdb9847a2b38c4639b9790a173e32f6b9e6e687da236b3908acdc64d0f60e3e0584b6b240187dc8cb5b6a61aa754fe841220c006733964cec956c96b4d450adbb0a75107c91c73e3cc6eac4100eb1eb621c76ba22dbfb36d3b3411228fabdb5f5fb52b11e163017a95f11584d0cd05d505c1787daa30f998f3ac59e6ba72019ad76ca5ef644e9ed16b88af08219081d45e9b5d9f8c80e5b7ba1f07badaa30a7e8199f6cd48432042163bb97a60cb2324fb1a38a7c0ffc656c34ad9780b3e467b3d862b626f8750d8808f422f30e5cbd1672fcb2ae77628f343834ee515e40772885a5e51d64b8553cf1a04f858b16db5c55f0f44b94de4a3cbf2d7a09b4d798d8e5540bef226d6244de19717939d2650f550f8d957659da0e54bf4b3b85749a3d400a4655b214141a785eacf3df69be75b8b464a173d5cf423250c830e6703df5849dee19f5f2df9127c2e86fd5d1f8ee84254023663ab702a14256eb8efa4a4af2176f4983b03e9f33f74b2b2fbe4f40126a1aa83d740a873aa1bb40ddc208baaf7eb6f5f468ca8235ecbc238514e20a6d29e2445cff5a853fae7d9c2050ef31b41c0ebae2fb0f3e749698a340b7ebe5508e86dcc39a87d780db8a2ffa3c892d811b58966f9d65245785c47ab22be19fa2044c52a6a75a02b1da7f3083aab2002ace00c294ebd798fe8d9377af3b463733b748cb821bf69e950c67502943e69715c6a7d03f100c0491e18bfccb8357493ddb137e353b5ac229c72ef3ee1d4ee44c544afdde5e54c5745c16d8f62fe941bb50cc8072d8b86edceb19fa7738c529cdeed035003ba75e71ce96bf100f73ab94534814b5e9446bf849730e0a43279e278cf8096664792ecdb6fb656b933f9c0ab4f3bd6fddfc1438ad055d8f7a488810cd824d0421e99c6208009a2710be9be1243df0cc232f18ccaea28f685a4d28b97c5eab737bdb1aa62ac1e565795f831df29019710b2396e56bd55196333484f8dfd64db7b69bf6ddbf9a38e53c0aa2baa84b7e1cd940dd210db95c6ad28c3a2903f97e4f9616f89a3ca46e2a07978260ad6315ecca544c234e6425ddb6f071ec9c36de190a05f577850f2db85467875d40f46b8b014d0b3d00e7e20e0b61c29a695b3029274e8afa62a28980988e0e114d92bca5a7052f9d0081ae920e096a5b8a7e75b0bd6c2f3c8f690d7c2484be5681209dc074c06a7a88dbc924c66d6579edb4b439f948afbee2ffdf4342d2ccc40da32afe9901f3060475ede40981f5ad04957ff91c22d3b7f65b761468d81ca77a16b0d15e8b15d351681c15b7331961bea758056dd8bb92fc4d6b6729e9e6f86de58be6dde2a422c6ac8655373135ded43df6df421cf8d103d9a1167c3565080b36eff20b9ad262b159ca658da92e290450683416f9ae2db9ddf2d15b16e1cdeee2f9e846b8f0fc574ca8bbd884254ae77559a0aa66941b66c4d516560b8e7eeb77c70bd19079f4dd051dd0a1cde47df6763aa7288772bc3ed03f8a0ab2e374a9bd2e104a6b17e037e84bec28267653de0d607be3c070eadc9969eb892661d375a54509169fc109ac90012ab71299fdfa89219e67b955574ed7d4696ed2135801f8305e3495c4967b49c43214a45a7b506e27db713191fb5f6f202ebc8a18190eb3c148c98db6c7d35b3dd8a8fc2f4570649d6e1d4edf2a5908d1766e749ad5f7ab7215ddb09437f8eb953dba6ab6ef49df52c31d8247a020d3241b4f90447dce73a584a6e6cdf7545dc54597c186c93daf412caac392489ea4f0b846626df0a0a67976dc33a31793fde3f6cc28a6ca1b70dda758062ecd482d89d97d0aff2497a05c70eb9bf3f2ffc1911b7c78d9a9d3b3e45872a14ca7f0c1a2e896589bf06ac3784f521710560600f59b53423ef5081a421c9c9164ea27d1f02fe5b3e981c1ce47e5171bcdaaa78aee49c299cd48a11d48d3e034787af6011ce8395d2713df8e84ed610f840c4857a739dbb0a94c60cac940bf071a66135cb275d7f19bd3a0e432bb88a39c740533468cfc44661709c21676545dd466f1fa838c7d084408af424ccb2e9a186e3ffa1689bdb923d094e38348ae3c08a6087ef41ee8f36b2b5e205fc3ffff2cdf7ef67018f29cb86d99b1a9eff3e3cfef150bf65e8613c4eeee1db1b70f2ddc194f4e537336a6e9bdfc6b22f7ddfc9d83542c47b268a8a70058bb160fa555014edb5b55a6a6ae58915948c4fc2715c75b4d13de1aa1454dc1fe6d12af221f1e77c65723cfb52d2072e03a29bcacdab4115f3782fa90dfe86e81e943269444eb7094abaa19046ee209bd1c6d700808256cae7537d8feef4e32695ef789516e42d598bb9a26d56c623cc857e6545f9175ebeb292f50572566edc2fcf8c2bb5c35f0d1316a819a175f94b02926c1e975f0d1d2ea8cccc392e27759a32006036da25633173f6c3e886f2a61b0fca72b5564206deaf2d6e2ce770fab0597c2f4e98d1928f917db90c746c6101e9a69e335753204eef485b018d5a9a943af3d3cd748334e32120730f48346560f66ba08e02a582d52d137317c1c6952532776e349b3d029f7bb18b6b2b65c781392cb21bc2c34db865a6150a2afb38e5d6e5f23a48282f48c4559decfd7b224cecae2eaf71eaca4b4979d3a1cbeabd1eeeaaa87402a01a1e4d6e6167bdf9e66b34945cabfc6d5c24a24adc0dfeb0fbcde77e7df07f5dacff73de8d28b8baaa8a128032d6e8cadc352c03ce1e337e3a4e0bd4881a39d8fd6affc0064ef1ac7ab3aaf8a3b644bc5169080058411fb35ee3abd66ae8c7ce87d907d53c56216ff4b92ce13af4dbdce3edd20cbe5fed05b55a21e598ed1c9bc66d4c55a3f479b969f43b8346c3a353522eba58d3986ac3e29883ff3b16c52d27a293f63bd1b61778d0a1f619bc2b732a1021bae1008e44a39ff72dabfa04905a7bb16c2a64eac80b5df38d950acbcd794a3793cd628d487186c27eccdf6de1d2477a804c833305e6502162d09fa062e82df9a44bf7c1374864bab9176f599d60685caaf182cc846fd3a9159185c0d7bc156cabcf18f350e2ff71c26397d237dc71dde1a04d61d516d91646339dc7b73718e7d9973120fabdead025b95e17ef04c9fa3c6947ad4b92ad6d54bbaf8183bdaf941fd9cc276005bf7bea11cb3ab2955fa3e3b5e402f391474ada7924f0f5b065d1a7cb747d5eaf7137d4ae48a29bcd336688061e0b37964752da17cf9f4cdfd8b85e5cad1558d81ce49936904325c325d21538e4ccfd10f3c786d66fa84dc694df8b43a77c739621ff65dd732e79dafe339ec6c54edfd9e698a400fe16dbca37cb60afd4d1045c1d251e07a37999329f8c9fd5b6e2f442c467a32ef47abfb16f2293559fbe6ba64709cb40a72e1a809b52db4dca802f53e1c3c5dd8e585f9af89094f792936f1520e53d97afd25dd1ca25c91a551c611f752c4dd1b16964b70a1a259274e68a8dc33eb7bcf6799f78204e98b587ac1f1f98c1a6a27e4e8f14b096067d9418fc6170d306bbe1810e48d68e81442e428ffd8f8ec05eacc0795f012bdd83ee9e321ce9e9dc26c1e0716c005e78b7bf9c0ca402723f939eaef7deb2f31d1ab11ef11d1a49de99d38428db1054da01a623e18ec3f90fd4544a0e59bce8b7372177075f09ed9ea912df8ef4724c63b0328e1ca841b689e165499c4acbd772ef9e678e9344ea26344438dea6841b7cc446fccd53e1d3839b15baf392936a7a4bc6b4fa29bad5684ee805adb9bc0ff77d2903d66b90d8921022532aabd3793f0925cbcaf8c6dddd2d96ac581826644413549c585cd34fc10eb3952e9d34b84cfa9e40065f19f365564e28a6717ed60c47936cf0d25492c984b55bf1614a7e58f7a0e7f67f410e84de67b88421622058152066691dda381e907b03e6263c249395f0cee86d09df06e01a39908f007facc844b738f0f39d7ccb17e2770489539a49f67630074248472fcdee5b1c7e284b99beda7677d20e8bd449cf655cfc223e0aeb2b5dd0461893c5e608d07145ae77fc2c5f0215fc879bdfc26e24c2b03c0e15c5be2824697629665a86e017e087ba0fb343428f84bc8d541c4ac32b75508b781a5b25d1d4a030a64a1e8c9b69292e51737e6e876ea915c4e8d7b2293540539c1966dae7295b22685e022f04ad480dd47d4665a83de2bebc9f28f9f8e614807531c8c26cfeaa80eedd8a3c68a5d2f1ae981f14f34c6bdca3cd89fd67c310fdf73cb86a926b7f57a2e9b7305dc37563d9b0d573e368735ae2cd75a179170d3a5b0ebbd42f3ac45f91f1ed6246d17ed206ecbd3eb6e58118c2ef7c2251950e4fec3ba53f4bed1f3d75805e2b8bb656bfd7235605ad2598496bb4cd97c90815b6b81f1c3c5ebff8bb374e018237e855ff9d867947f544c1e56a3615f2819e1a0715ffd8c9c0bb9702009271597795f72f0e5b8e31ce21f526144f6fe66313759253eaa85c26eed0bddd461bd9146befcc1619aa12335f707675be6ffbf2d54ea9cf13cd8ef6b2708e7d36b027acd2ae3448fbff46a332cf4c73e48318a3445a504a43a1426be1ac6b2eb06e889e37c95d45c34ee296ae2cd5c0bfcaf8929485644645b9fd9e88b310039d9a4141ff6c64495ca70581157f06d79ae615d2853441dc1c4ee38cc2e6543ed8ca83e0acfd2fccd43fb3801944fc14406a339ff910aca7584051c095791766cc43a9644425d5a9b0462b86fb4cb2711e89da3e51c6fdcc4ea0d1477a39d64b81cba4668bee9ef4e6ebab45b388ecf78a022885e2e271e29ba643ad99edc056092a245dc3ab79cdb2abd30d21f42d5c8e9f1c3a2a144585e41ee33481114bbe110c781a3c345813fa212077a645987b8c2fa2202dd4db182d8ba7e37fb1c9de54528ad26b1289dc26701fad75b6f5d29bb62add062e2f43804432aa71678799ce41e745fd85352725dc50933fbee74cdf07a6b0558fdb27c2381b70bb484622173d4edf5557314038e865273360883d0b73c0ade3b7c30ce3b991555138358f2be1db15c67559894569f34e3fe6e2671e7694ea9a8a901cce8a78ef7ef5a5bc24ec9735b410dea1878966e981523bcf19a0885c310c205f29c434a8de947618b2ee407db6763f892103953c0ac10e2818300ddc1791177138d29400a18839c3fcdcdec6c9538a81378013a44620eda520967e7f64b7ec57b1f61c56d88b83b7788199fe61a1dda299d324d07fa35582be5ec2247229965128d54931a12ba9e3c2314509cefb71533b0d046e4ddc2fe07bb08801648c744ffda6d6994f05bd559d3e3c46e51e572e27e04a3177e8f2a05adc6bbd65915ef1fab1218c8eac9c4cb676cc57ffb293a3e5b64b0e644a33b1bff286d08e53d2f5148750264c7d6704e66e6fde8da4cf2f82771ba3e843932ac6d97294ef0d75b4769bea8bcbf61974b9089adfdf83c2dc65069c3570fcda22f7e0d7ba2930adfe99f175ad869108b3bfda43e8576e0796e1d1b61ff586a947090bb5376074e50af36517071afc92bf2dfa5cba31a751b00230545d4177e48db1ff5e3682cba5fbf66324f5c43be11be33bff71c7b7b55238febcce641ff6784aa313e0467c4c618faddcdb05daf5040bf1d9f4120c50726695d5bc987f16906d0482c3ed132c222d583f49b3b881339bac24f9540e577c867bfaf84d803757a0f70c4bdc008d52ebd4c3e315db04fdceb9b69030a2bf8041f42d5d01afa3eee0b120e158f8120846085ac1ce3256ad1ae66b12d339d29077ac155d1d9b46aa29b4afc081278a870e564611651e7be2ae5850bc05eea822c8003ecb1584f1074ad56ce2bbc6709c345969e817596b7d7d2f522d910c2924021da6a84ffe1788230e03b0aaee2428dc3da9d6e475fad2777617d4993eec19690f4f91d39e8a67a4dc924b00107abec377c94ef52dedd636ab95f774101aa8000bf20ba7d25e0537a7400c1f334d568d2252ae2dc977584dd4b08e121ee5da2f7600298c02b7e0ed321207c38a2b980e1c6cdb27f5c44cd6a3f8ec839f8d1628708e98ee57727ece47e4196ddd79a13faf37f83d8c717df6159e0b74c1e0c98151cd0acf400e608d2ad65d1a765566d8c45a39480462f8e6c5460665d94de1d42de61e8d3d61b970d7773e29f27e9e11b19c14d2bc84d0f27417de68ea12b3aca37c827f17bf090ff864ad5ae4358fbc9fc123cb589908ace74612b326235df5efb021f5b5075fe2fd92aaf54de8453285132944adcb9ea4dc7ee3fb69a73ac2f3ecbcfbfea6be70ea265cda651201464af72d14ac290813cb1a9935fe67b2774578e5c8cee90eb58a05e4d5972c6ba54d09f8879403e5390f611ebcadeb9f8e7e96173fc83a495f680cae2ac2da5944a5537755940d0c1364daaeb023e3e4962fb967d5b63c02866f3fab10af7136d4cd33b72a858b0d7c1513668c48cb4acb21323164b57f12cd04fd2a020e29ac64e490ddd18fc5d4705738aa22553c93a58836a0b16c0f116cc23290b8b691452a4a345f5506d79c5dd629133bf95f7ab2aca34557bcea7f461bd66c1fb41ba1b16361e9564effd59db273a99a69dfa97b36ff71b5b007b7a8e3d5fdf3d69145f92105811be112869ef6b4e2beeed5aef29fb9a2eea5808d2c8a2fba6a6d0e5060400c397129a632c6b2afb0e650cd4252e36cf592dc8e36a453b3cf9fde3821605c9799b9e3facafbb2d729ad567e036f4ccfd5a5799e93d7f318598ab3e2af09fde81ef74d8cb2f25935c13ee2e9175fb42c4718465eda90ac304f8a8ac24219da60a819a833b74c944aa73135a8e292e298914e9a7a18e799c6671a6b2569ea63973e4ab3b39091efee2b47cd1147154740ccd75dd76a15289f9af88d602582e506c7cd411d5ad7ccb4120d6a28c4da15d4c73df73045b4919370cb63a64d4c68d818562010610eb69d1c7a83d835f0923f281047b05569f3785af2dfd9f0d1cf4e9f7122a3a576fe4058c55c7a41591196a7f22669066593ff71b935be7ea7e58bb8d481979ba49cb67aefc76345f1e7436ee70782edef06b2dac69c37f70c58e173839049a7e4f02309332fa15b732a40da383f3fd95fad494c954f2a84252fcb9041aefbdabf9015a5227fe959011bce345ecd8c28badaa01faf4f9c137a62d8712fe849dc9af76627fca14247b2c9ca866d418b096146926f3ed6cd857265f1b0b4e218d6f3b1cb2179fb722341588154117acb7780d97651e213045f3c2d8ce2a9b6a805639a0889559c3dde30b8312d4a22c4d298c65ececcf692d88ccbbc74aee6c0b4b4e35ee897c0a46c154bc2ca21195381373eb720fbbe83bcb8f984723ddb730268c900dad5d4e1f93a96ce9346515eaa3dc1d94b87ddceda0d359be93cbb335ed0be36d31d567e2b06a4884f623a92da23485f82ad28af2857bf798e5d46355a3adc46db03727e5fd66efac77a1aab9955f7e0e1c052c057592f63031c21190c10e2723f4272e0a569a7660b53ba1a9673e0bbabd7cc6e36f2b2f4cf90f2c3962320fa471ed30c26786baf38801706304ab94cba3934db2a8c116a565344e7592b013c8db8eacc85d2c8cb177d5e65c3246f17526ffaf5d30a79801e518d83b5613cf33b2349056fa4a971ffbba06a9b09182849b38ab9792f961846ca344004dfa362f1e68585eb9bcfcc6c13d210a72a60bed8a47fbac68592f9c30bc72b87f7f043459d03ef595a86cd58b50fa9ad9e92bdc1f09dadcc9e87b6fa2ee54d5819011af1b415ea9498af9b378759251982ab39479dee997e79abcd15cf9e7c259875f2a425180bf467e19c1bfce06a4125993058d234fdd8a3f193b26ec7810e2ba0335456276759a642b62196313174347fbe4c91fe105435f6eb21d2574cc075b3053950908c474af8f38c15d4e123d0d513e77db903864119334d9b7c6a55e27069684e0d002280a3dd6507f474aee6fae5049af3285027dcd4b41dfde60ad3b1d3eb282e28d7603f81faa46cf419bd328718f7b2252f877c12934a8e12e4423168152db93daeba0d0a0d8e80756875b76ecf676343fc7f03093c5ec1191e74ed40c9738062082384597cc9dae2a01e7c8b751f66440d12b25c649417da502579cead358a8c5e40743ec37fb7dfdf2826e519779f4fdf49c28c5a82bf43b482c118582650860fbf7e483e06fa09349ae041d33851d5959da1a37311a89fb0e7de6cb5d15715b2ff6ba36f9c3a1e14f4650bdc7316ce270b277ede0cd4365daa512432e8630436bd4e4441fb3abd3d33d16dca758430495677c181000ad00ee97700698f710ece200fbb95a3b9e12211deb30d1cec1d17e20c37b3dc68677c8e62accb1774aea8b485a8bee5be1ddd900039b1e2bff122aa62db450a9da50b8fe5496c3ef889d6366c213eb5fe8e44efb6ff4557606d3fdcd5919f901781bc18c67befa429e79cf6c853fb4097c0260b6181eedefd1fd0b2d1b6d6211cbbb669a8f4f7129087d48b4e303034a73e2783fc1ced13b4727df5f2ecb027b4504660f27ece27135c43b40826ee78b8da43670eb221d6252668aa343fee74d429ca53c0b17274b7f0819ee90ab7028e03f9549185897c3b7c62495ac6b3f86737c2986102c13c81d0517cba1e9dc442b4627f37644ab0a3bee1b4a7e8e2ff2cf6b291330d7b4a95c5280ef0751dd1a10312d6decc2711bc4fd690e855e04165a26915b424dba59787a10a1f1e73c52464be0549f38ca4e5205aed3e3001f688bde40c950fc9dd780b0c7b3fb7b661042456e923963306a4ba903579d1e793f2d2f9ddcc246710fc4e760367559a7479fa88b400e1d62d876845014c8d2c1b3a2bb577259d8f8df7df0bafb643fe04336ff88f41a9f39a00fbb2affe3f196c0c96f90ad60ddcec1438b738b12ff43545383367f412a07c748b4ff7913a65920c1a2eeb655126cabe48f7482e5731e394cd100469abb79caa1e94476c123765ad8617cb1310537623e71c7639e92d815774d22ceb2c43357f7f04e9988ecfff5207fa4c860de5cc4689392889a427031635dc9de6ab66b3e81ee635685ef7a0408616036b82f0db8d05a655bb5549c8cc709cf15c3ee996a885f9cedb492141b1ccb3cdf0a9d2b5512a400862888a2c678cb106982c9393ab1b777f8ace307ae7de4a021b77316dca6d8da9642a4a4214b4707b6663fb24cd9b4f436b46373d9372174eaf97dda61a33ce269ec188d8deb95720767f6326f1497eac9b89be447b402f3c06cc0e48327f0b6fcdaeba136b59282711ff7e99f23fbaae8d4efd05986bdfd39989a31b33d229f0441daec9e4702d6e7191f6df114b2c0519d768854dcc404c94c953c7352fa007c742c8c2d57b238285ac7ce46a9c722f23a558768040a3945406d4f293227b706777d05d917acd7c366c325ffd75bf98f0fb35f478138b857ec9a79784fdca2ca39f6cba1d98a2fa9a23ade3a9b9c9a099627816b51667d743a7007d5bd9bbea9be3cfa496f1870e5dc7aa289c0c3c1398c377e23ffe6633aa76d0121e4b1af8eab9d8a5482cd1ede9d47e38c9d88c78cf50ee9ededbc099601b5476d78c41ff3c7a48520ee245eae78ba17c87bf3a7c2b556f7aac629eff245800ddc31fe80e41fe8bc19e608d9a04407f351a55f58826fa3e5573066b90c2e4e4be30ce85a53f29192526cc534190ab4d19f6ba1006a79f8e6aca3b75a54fa6485e621b3e5fed556acd8b3001b59bb7633b32d45f12868cf89ea630b1468a8044dd0a8137418ef240e24b1123cca335d0792622c2e8085d3e8038272594231be77623ad1288476ce05548e64144e7d528fb744b4a653e559b08b0490b5d8fbc4f8cef00b77431c76fd0c0eb623822f0d0655d49f405ce9e350310c0102df703bfad2d05f3f5b12b5b0cd579729e9b3ca94cd4350d7af4353940c0b41612d126201731390c123f5874736bc9bec171fd7ef254c5e3abe7f094e17f5623f6350862afa53cbd257fdab04ce55c61ff0ae46d083587405b361953cdfa6c369b8fbf3ccaa79242b75bbfc2037ba148231249b57183b635dc1ba6a0921fbd244b3123ea2e3fdff2fbc1d7687ca3e1e1d885b490f68f2ec72b5a6a58fa5ad54f6eb88cc412cd74682a372fb453c752337c81e331b370fac23c39c8c3ed6a3dafe0761bed9e9766e0c81208b194d2a24b1f89982cf98c0ce51bdeac8d288452e3a6df2a62bdb177f2a5e108308519802a2c9f9898f5909d9a1262377f7a727428bfaad5a431198f75d324ca169a6e0cc0573cd688003c17f784388c49e55757978562f5ba84e389959469bdf0d78d2e76ddf9f76ca2134af464ff4747fbef8bac423ef5526fbb77e064e99c6238dc26b818c02c5ee1ca29607a38221a1f8d91eedd263f1b67e93d9b2251830080c1fabe509f6822f8e1a4950ec23b177ae09a7e19d60b769e3fc71a4ce335c2c00d629459992c5fda5be3d97da4eac46fb3068721c63255b2d1808a6c927a3e8128277c808bcfb1133133086ede09b33caa24d7d7d2e7b4a89c8c622c1099c2f9e7ff7878e2bbdf719d41bf26c7034bddbc004fce02130c732a7383d0475624edd15f4e074cb897a03fb0509575bb905cd4f2a43e5702c6a92af8b6dd20836990ed6e29364a1db709b07cb2fa96b7470e1b0cf537e47e4d6fa04ab6e7d87aa1a0f77cee51e40eed99ad5a8840ee1c4868c9aeaa5ed01637f8bd5eb913955cb2cb61e39a5dba470fdac157edafbb35a2339fc2d053065bc4c6d97f82d9e096c01849d338bb07d5457216936a08f680dae69a3d14ef5bc92744586359acd314b8ca0159adeea32b32cba14c8d96997b63e4cb11b4ba891cd4f339cb0725d1c2d38cab0d77cd6c8f9cd561df3f3fe2573292e41cb68f2655a6b2accb9558424cda2496110a3a5a23f680aaa56fae41d643dff025959c5f89460bb2f9425b2c6515959ee95793bd37097ef10e5430cae340ac98564479a61d51d86ec9fe26a83384edce2cf4948c56536595b69b1101a5e762526687b32e00f015f695a6abf0fbc99bd5c9bfd649857b3d056620ece150512354d613f9731f4dafad5fac44cfd075b301f7253cd9316d2388030c6a8e026caabaf057da3d9d9cac0c8a52872774b31b23985b6fb616d14e1fbba4b6ed99576f014f1366f3e5cfb2dfff79aceee52a625659b209ce1369a9cc9c9d8bbcaa2d5314a82bcb62334e4d59789a5cc66aee3a8f136108bb5f5d466796d078847c4ec04801617ca6022bf4e9ce4cf22db687c761cb9ee0b8231da748684ee98e5d0854bbee369e7832a9e3d0e846f762f2c2b36bb3bbcf801ce8c67003355c068b92c768f4d7996deefa319568123d163ebf59c04b12b85099d9ddb33bbeb288729d25bfcf3806edd33d4d60899a9d1663ac0fc261f841035a9f1a1e66fee8b99fef248374a28a92876911115476d681e329d70ab687525b8d75a9f2ef9833da18400793eddb009a5f65be5745074152c060a26eab2c1d76bba8bbecaebc49d8238eb02ec51c304c1dffa2f9b41e8ad0837dd7e17313738df412578049a1e30a4235b3445910738912ffa8cd2c7ded11f956e628233314238abf7c11f314623a7db5e1bc7338b29760c809ad632d42a393649f97f37aecb93b1c082d084d87ebffdcad5a2e4472a27cd73ad72146e1b2f469124e33892346681962c3a2c5805ee9f9d5178ca5039b14bb446679ae3c36e36470b2fbb902493c0de7d8c14b6e2d234f1e5ae54a9086f2d9df477a31840dfaf35d35f129c108f9636b63f4ced1819cfefb97b9542de01b094900246cb33741444d9e8154b517bb1162d7938b1e3536b0a43f7b1dfce626176bf740eb8765b41f47b028ac5f9c5ceb1bd565be7b14e90de1291cdc02f61b25c9af4102dd435ecee25fb7eb13db995fdb1e77a2962ee0c8d5a842c0a678d92240ae2adec77d86a5add1b8534a073167141946d9b74d022103445bbf24944e7faa58633ca2b5da73f244bcad6917f6685343730fd403a2966dc0ae1e6651b061e060c95c7650d94e485ebd1b399b35bade14446d23f2c910771382c6da8ab007bf0f1a9ce6547e81ddd6b59b4819f171c05e581727a8bc1f42b20ced11db8b34174e3b5e5fd44ca256b81e39506c5738465c820a627ac6cca529572ce233f018cfbe807c3c9455f22823be0c6418bf97198fed2fb13ab434ddcc531033bb6c0a13aea756a90adae037b3bab070929acd9f8a2e4b5e0702057274a3ca57f8017265ee0e19b8d6b17bfbcf7543cb6be1e054f80346385e6a25a97d1a01715a84000452080d6cfb2e8a64ca495471192663406045cd1b6362a18bbe96396c8de1af869fd40cdf6bba839c36974c95d2b10bc21ddbbfb12b54134f17d7c80bb1451fd5e0f804c3412af81ae3be4d1750c77dc2804097a62a45a036185fd54bffe9b74922ec2186229c41ca349fc2050b61957056ffb36754acd88b3cd6b307fd7cbc74c4201d4a4041656b0dded2a364fd957bc95452c74a7f19f38806b6340c275ca9006cec37168a9f3ff18d60a1b1bc1334adc68707a2c6f155d8df3f986a0c8369801162e9feaefaec7623ad8a605a72ef469b740a90af58ffbee01a76c090b0e38d8e917043600d2f0fa6e653a822c16ecd34ac56b1c61e589acf76dfd33cca2377b8c8b18c3d6ba543a20a2284cb1b73a69bcfe1d404fcb7228a3c9004593f67145dcd63945c33d8123775b95817afc2298027fb84bf0bf6c43036dadd43112a6f6cb67aea3071a64d969e2c0a6f001285e81fe1c67558f6e5111c914f9eb5218b989468722e6eee638f42fbd731cabe86fd55d0a143316b686ac1344084e4b0d66fc63c942ced4374aa76e03e3a649aeaff5230e63567e00aace9f95c8faa50ca3683f22aca7984032a2908cbfb63b925d4dbd7df5b7312706a1dde746969734fa1d5774ca6daeabf4e6ca1243793b9149ae45785d4175cbf4b1d10f297f8bf1eeba250aed46d801ca5e0fdb5b0416be6add7cc70151e6a220c24c1fc5c33be7d0eefacdd81a0e8b4e6aaba4bf374323aee91eea20a2f992eac8a3ca87f21bf31ed1c42354627b84f7c280e7c971a80d486b32ef01e9633652c5fa351ed8bb1445fc44a25b5c5880c6d4c98ce9fac31097566c1288b2a1ccf24ed29dc8ab45fb0e982ef3e08fadadda0b69feaee8687c41aecd48fa0423692cf0959142f9d9b7a5cc7b49aa45740dedb9082bf4a537874ce137945cab52b82f5e225a833a9625473245b877fed1caca94f5b1f9f0f362505f36fdb32e02212248f096b38e3722eb894b4190c92e7c7e71d69b4348c9d7973e24d9498c2c7b5d771775921164aef138cad9f6306d124fa5116c9e30a476b84060a80fda54d1090e15fe3f9d5e117c7864e45283979603acf8491b0ccf5cbfdb09f4c8627c0bec26dbdca1494d398ea7615eaa7ee5e61b41470b67a8cef697b4c5b43e36118ff5d770da6ddd3db9ca03b6310e15c67686678e1c5f77a38d9e0433b658afc37029ac05a70bdb3122aa0286df8d8abf72ad09eaaf9616b8edfd34749662ac8ada9d86e284512047e5fba49310eecc2202e1adb9d23c58a1388a11bd327780ddb9681a3c41de0a29c123c33b4a8b8592205bb19696d7c96ca2f8bfcf2bd02024ebe6e686ecf59f67952163925390866e0204f4316a9fbc6074bafb3d3e374f30a98d414b66809a4fbd25febd2c1a51dc92ce02abe427fc6cda033d33ab962d4d4475975bff41bbb387ce7d5c8eb92d23923eccbc8847a8db71160f96ea5510f8ff7c1f0b24426a54b18a569bb5e45e203c4cc90bb8e8e4a6773bbcfc8ffc55751083aa8d89fe1f38af90fe144f69c0a143098b8964f6e896b3062ab08689a154ed6d3e2f18bd962d0547747fb8d2bc06658f919e42d2a1e9f40e6b985637b489b8e553e9c65d13c4924b8df2097ab52c98cf26c4042dfa2bda7cf534d1923e15596c32ab5bf70c756ccba087d225b3397445cdb095a3f8f0ebea2349dadbb23cfd12ad527b9798a5e088319d1174546a8e6437ac8a9a10c52edcd9ab1b58c77b314e5671b8fdb92488ef5dc84a1e0f9a56ac94e3b85ce38786d2a1e09711aa5c10a5586d766ae2a6ef8fc3e3ad58e8592ae31d57a579f1aa3c1c089b7d92fd3bd272245ac54ae43fabee7b1602cb024e530748b3e694112077c02f7fde2cb787254f5f27c20deaa0e47581400bad00b5a5ee0ba4eb3c00c98b178a4e1d93b70d99609f5bce42062922e6b59d662e54241055623b84a5b21ff38dac5729d5a2a33bfd70e0129901996d2198b43d099a5bcee344852fb00188d67441ed58621eeceacb7906332b4d882e1419377d42a3ebd7f1ebc0e507819d562322e24d930ea7a22284ba89317b9a765fda29be83202caf5c336f906e03b5d42d0cdb47aafa08530d05b41892bb0dbf6fe5c832e49d6e15fcca803c6953915e9e9495cadfe67bcec9805f18e43509eb6dfda56eaf8c5d4d8ed30ba6eba0a836ce7c80939e597bc12f2b0ba3260d096737f7c4c78d39daad19e0bf298b1528548c63c8d762f7bff68ffb03c4613ff54fe6ab4a18be9429c0491e91dc2a816264939a58283cd73b4159918df60bda64651465ce2ba821a6a98482fde5c1922760d37233cdc6b8fd277d4e5b14cb5abf142e55a5870a3b00f143d941b64b7003d4c1fdabdc8992cde63c62e4b6c8f6dc2cec8cf82e4611144680067a9ac6f0caec38678edd94c73362f528ea9999454c27cf4aee944ce07fd43f50fc20baef5fc454ffb2fcfb851a8e8891f8e3755173fb23012c280fcc2669b7189819550f5fe1d4d41be50593f620154f81050180c1bb3fafa54c2e6e0ac4beb9338bf26e6aabfe90b13db1a9f322ef371ee7e4327af5c68ae27e444550d4529f3a3fd01c49afdaa8ab1bdd32a228248987c9b502b9960b92181bd21f25afba2991b4d8ef951b2c0e52211698186d63344eaa279a9d5d1d1c3ab2345cc82e74df81af16dc3e190bc7ce7c977474f92a9d6b0dfd12fe160cdb4ecbec132c1b63359586f4c96ddb1d07cb05b71c574ec86b1019eeee81e13748c34e8d20059501670b8f88afa16f6f2b42eeec1b14ae002ce97836504a2e72435730ffad611074ae06abbd50b98c0142b46a47f215ce667d39f9fd55ca412175fae4ba9baf404a2439083d319343b9fb00497495656caecddd5b513c562308dbe7094e8605de06363b67a7f3358b18d88f34ee7329d8fac3d460adbd7c784e04b91746b5cdfb81e12f5c2f79387c044d1015146eaa3df509d915889d06910a8463408bbb4a73797bb03e48afc7f2bbc68a82f1543dc6bd0c74595802bd28fd5f82e32edf1324f8ae201bec94a2930f3f88d6f933294be9100c8d7294f38a73417bc25e392d93c4088c980f919ab26b643d78ad3152c4886e5eece26dd952b2bd7482d14e15f8941fa503aff2ec12c2116fc16ee9f67ab5c3c8d5b5349abca98c8d71edbc6ca6a4038443b2dea5522e357e18f2fe8321547485b6453d7fcf8f60b32fddd5ae1015b33d63548b7f12afded22a6f0005e770d0e05fbaf6515516a8f62abdb72f666e1479fe4d1046e83462917b7884a35ec67d827acec9197e4a1bbfc1420e0869dac6a355ba64c7d9e7e9ae8343470e8d8a9eae43b9921ffcfd26a12ad1b9dd185ae691148e74a27a49c4709ef8c42a497a48eacc7bb86a3c9d7877594ac634eae8157a2f14e33f2b99d44d880c088d7e9913b10f60674637041e289626c52a791c3c357c6e2cf5ce43319692cd65af5c0f2ca1042ce242ab37c6b04cf34703370c3454a859259b539cab889f9981a6ea2e6c7e883004c12516302db64790a5cf94c864d21215ac64248e4f267cca53628fa79e9674661a5e1175c77f5019989de3a2bfad7128672b879ef7ccd5a39a58ca001aeb8846903ba6259b8314017eec06b4e1baa25f9163e844b51c5d96187a6d703c80d116546d3de51725ffadcd784c2da39b1600f01f479380510221b36e4b99fdcd908dc380e5a21c4e8c3045ebdd700973fdfbce286e24a8b1181217124f723ca916640f7c12d468776b1a3ce22b08e89a8458dc5c7f8537d91ed24113ce5a75ac0abd936b0af15b0f5fc6d257fe1052586dfbd260f98d8971554990dcc3e2428f11bb88e0c9eab4277e66ca4e776215f15a0598410666265088109136d890f258707f701d8f51f23dbd3f0319acaa906e7a0fbec059f7e6074368bad7fda6ad10be04df1620f9a52f5b8cf3bc3e8e10e958402fcf0217d7fd674b041024a2da8da0de0e4a01f472fac33f8e64ec8d3269cb8eea0ba119373792e8c144deb34d654819327a26b12c8ef5e80af7ffd4b955d6aee0296b3aa77a230de266d228f5945c213a853bb4e37ff10ed6bdb4a8e44f21fe8e2337f6cc55e30e21fc5128ca855fca6d77cc67b860d2cd5e95cc493c2d8aa6b9d9fd5cd62a8c324ee668e05893ecf3d38f0c68ccffea3862bcda08944bf57d927a5fb8b35ee62049dc51d0f7f20b681a6c943caeeef8b75e4913f2e51f79a61d097538f633642016ab7316883b175fdc2f6ee6be401b84317cb0211301e21b4c546cdd1e268df72bfb8ac3153bc2e7fe78050d6d448ca3e41fc5328919a6b25bf8934b94ae72a3d80053f8c8281d23e47359520e3b5e64023aa4eb45c09da89ebfda3d3f4788319de5769ba636e79c431574e98f6ff99a84ca065b858e563683839bd79390ecdbdb6e89b0c3b4d8b2e4abc4c072071e17d41c14edba24325025fb0b0a8dd5692dda14768a8369128127c370e4f9831910913cb99a96dda6cb88d5a004f7fcca74e55ad6fd39ac9e8c66b391901983bc93e38e934677dc42a3a3efbc1fb993910373527ac05bcd81e20788a8f60dd6e36050289099e01a32deaf8af9ea5e4fb790881bfb867d02a0c21412a67cc256deeff8ef4b34164697ae1c40d212694716240cbfea5ebbe43fe63254d598a9e68ee8e8d308391f15c44b5339ddc01abf628fa2e5a02f8595b64d810fa65bc79107e1447e4dcbbd62eece03cf8e4d4359faa5cefe9e25ae15007776f7be5219fe8614a75dfdf46d40a0bec0fde16abcdadf0b6fbc905db7ac7066c91f15bee9523f9803def15c8afb305380ad85bde4ccd79997e48214ce6482f3268f7a5be5c3fdc40728575a416f39b4a6d92363d59fc80d160423c01c3741b4f7fe5c9459e45da5d56281cd24bc6a720336de045227b9091ad20b8c0402aa5293e05b78c818d297c494f942945c07f0bc7f31915c09c92c07f6ebd6a0744a53a2b9636c0547be86566416d73b07d68d88e199e855af6fb3a458c53b2d6c105ee10b757dace31cb17167f5a93b89ef970dea0768979ae2aa703efe282a3e8df2807940552e5331b415a4f0469b31b2e5384eee057cfaec9607a6f5a74d1604e63815f49a081843337f7884982555fd344f86e78b2bbfa338be0f7a3071b81a642c7d3a5beeaa578710e68113d2ae25ea440ef702468d7e2abc9da79f6863d17f6240641c94040772e7475c7246c326dfe00a2a80bc06c9864eb51761e527340d965db80f37c010ad7c2ccae177321dd011614a7dba4bb3ad225efb637312a4c171b9b040d1a3cec746d1aead630f00b120362f6e0cb6e1154e94f9e5e00f4fa095d9a3f95bb1992e7df0fff7aa5b30bf51bdfe7449b383c38a37aef6cafd548d7b6ec9d68a4b5160bc502b2bb9842fea898bcbeb23ccd84d9ac7ac789cf581a4f7cb2a449ff13f45ecb72c4e100be542714ade78e77fdd01394006db9d6f74f2d652e637438827b0479ea2299e0a00a9f6a2801fef56b885b33b1745f7a8fe88580f7717e78ab9f322cd6a45035e31c906c6ec42356cbab80fb8c97d091a7f15d21859932e5252cc5341c4375610fe7e959f947b6bf4095788d590192b105f02a97b5ff30250e45ed0b168c6fa75d51188576d0fa01ef9e32145dd07ce938a1810782e18cc5fb5372eeb0cda982a250f94ea863773b5e553635063b5a6fe596d967983924290812e2bf53134e5fb35b48f23d8e105d289a7ebb19359785d72937b5dca667a4124d79b94a0df103ddafee276a3831011d1b4c358409344d70f648af0e864eca7e7d8e1ce2196f41387413cd829f65b5fd3c094408c6266097fbfe28aea785208c313cd3fdef2dd39882e61781bc29e418e63a9a9ed9d35eb4f17b684e10ae2f471654e9d739e4cf0bb8b3226d8fe9449e66cadb7637e9d73d083ff4b110b1c7484fbf68310b7e6b3f8d2c7828a9c77164075a024e0a75108ae88ebf308510bb83d47a592e40163c53815c7419b54a3020c987cc0b1bd0d599b0ab20f85c2ee6edbbcf8430fae6575aa05db1061fc38561ffd259d7c379aa37cba143cb86d7503f45704586efca4902d44cc4892b5fb4d0ad59eb6f1065f2887f886982bd2786def746a98d90cf5a18a87828acd971533b190ad17e61ed2c6c3d96d26198ff4904046394e8ea1866b2df88ae785b52534e3e5228cfb4e77c684e7b43f591508d8b5d9fc15df1c178b9ecd649cd87c5747211ed3e7da5119cc1d3a899eeab3cfb2523332c130d8c2620bb5aba949772c15a685d3b54e62e179a1513f1d1c510561168cea4a5bbef6c83adb83068eaf6f43e36c8009cbbce7ba1964e38642be0d24d198be272d7bddb42a3521d8fafb15e16b5997faa5f02d869db631bd0dd4a53fcb50a1997221e7c89194a22db4651e65d7d0eabefb1080e89b4455b41e32be29f73fa5af0075666fc31d6afa727075f691ebc94c0dc75e492c8a2904b16d72ec62efd2c282026dbb82b24149613af6adb0d1e8f3646058ef52e3d7a8873b7a12bb7fc917e95f90abe8c5592eaa9554394e80af7d8d252a7766ee78472554e6725c9a974d005c34183956e184a4d8c7d58b00554dba443a6069cab4f7373c2aea1fcb8a6bab3659b08b1938a99c44cc8f00e9531d39917f1e8fe0cc2f3a8d64c2e9c8a2d873b5e10c767cfabd1d3d0499da06f5bc0d317d6a70b4c27a30670266533c6191ccb52f02b6fe75ba548e358afa072f2c4c8faf5c080a2edd3adb89bb052154a564ce9750a6aad95861b2de018fdb3cca99915eafe932553204e9e0a3e3c62132c17883f6a208219c710b409813c39d62d841fb316eb944fe20ba3a4e36a960f5f3a223cce02e857b86b9edcde939fec6c22ee00477c9241af14fbc206f4a05982554c9f6cf780b8e956632cf044f8fa794a5212ac58a56eb1ac45275f7502234f7a967788c23405df208f53f178813aef863f5002968d36103d533e15b69ef238947abd984129a7b376c3eb176f47fa35fdd51968ec9cf94867b8a4fefa45949d5f2ef686581aca910ec15e56897ab50242150029f59e43c072564e2123e1bd7c9b2d7d1e426adbac6813e5501f32f6e4732f2d00b2524256bb661cfef64920a332b920128be2cd029ab145c15abd0696aff3ea6084eb43fa30ab07c1401c820320e1ce0276055c4fe7930ee5ff3cec44b8876c6f022e61a5c6f79278704581cb7b3ffc6a7fdee1c724caefaeedaa092f8ecd988520a0305464aa352139998ecab8a3b9c15ebc9283568b3203d71101aa7c0be0dbe3f7df4432553c24ec0a98ac4781a468a19e954a3725a162f999f2342e7e2701a68ead91b53e93ce7051b4d31a12e8d3deac697dd8696c6b039a2a2a4816482b41acf4aeaac7c87ef89ec08d7503a7573390e2ca958d23692f735ecb01654c5ceb6f867dfdedaf896c5f023c249a51e1e94d6679ef8148c791c4b82fe9634a547957badf9c7fe6c6dc1a4cc77f1964b20ccdd90d4dc4ab10f049324aa0aa39d70f82ba12f653de06e149b47ed3572dc092a0617d7ea75cc92443446ad4c178e2ce889d24b87c71fba43e0313b5710d8eabc6b16ff7c3600c03161e5bc1f15ece3e3787ae88db3f1b8ef29dfd5b91ac84a787c79bcbbb579ddebe1a1e764f1079fd79d385379513029351826be797ea9240cf150022487edaa763a376aec7466f082fa76f246c7998db510938e4dbf2af44d4eb09fb332de1f31a7b77eb54f647b6f26874a5c3444a634ab66c813f34f43f66d4e45c423970c6b05de6fb75cc647cc4028f5f5a550e3528d27bb917800b9dd6bec476c52b35c18c2b28a2d4eb0a0f9dc193751754c4a67d99d75937d23348aea82f469013564f79752bf63e2c514908ca3e2bd3190737f647eaa901bc80d1a89aa865d25f64fe69d116e436e7a9241dde1fb2b8ca766afd23b30ef6a71316367275ac6a46fda9eb527fe7cd9bf5c5c4951c7596928e40fca26aa9333a09ff6e670982061fdadedec9ba7cd73c794a9e07d549d4c604c0bcf1565c74959cf268a19f67b3b924b93f1bd214a2816e8652eaa4b3161aace9e4cb863068da858fbb4a0166f039748bdfaa13c8754cf9db2fe8d060f75c7dc09f46ddc19c7467cc86a975e1eb402f8691b27e3233c5eaae962aee99331dd170090689ce2c397bdbb9816f9ecd0b030babc4de496bd9954ae3b62d017120d26b6ccca90695efcb0d64b731a32350a1b77f901f3e624de4cf81494ce27b2534621923107d6b7aa0c950ef98f148abc72da81a6707f8eaad0936b796320d8b79e0e60a9f859427ccae7dbdd83e8cdab8f84ac04a569d2b9277235e868ad4666a06dd3f145014df54876768adb707c96e715d912c5cc2af9cdcde7233a0757c023ccf02bf9d74a4a20edd8a4af3fe25a60c7a6ccafc3f295d2e6e4ddcbe13224d8c82fc36256fdb4e60496ca698028d613d240b603ea27c8634128f861c3c8a197ba4d4bd55f9287bccee5eceacd640e7e6826f44ce3a86689365f77ccc8fc751efa67685aa54046d8f4fbe3892b8debc06e70f52a9ea32bd31f7c0cec68e9c6a3be4d6e7e7be4cd3ea60ee084613b391d5b2acb653069f2ddc86a096d3e869834a0df55057fd2b87ead632e944be8a27976d7149b2f2c8287c233946bb402f4a939b3227809c2183403cafb9170bbfb36d65d5aa43fb0d4f666a44a668704593ad6538fd56e3fe8d3e67f0db3c873c643c1d2db2cde81745e9420ecaf45d06e00b597d98ffc9dd2259e12ada810f3e00403998dfef80720e548842c40b7ba4a1be9c4aaa3ceb60b62858077feb5de9aa896726778d79a6757437557a3d4c8f334fdaf8d5015f3700fa65d8be6c696c3bbe1d7d991e63d8008583304a82741b15005fda5517bcf8b41689fa11cffe8f2835e4372dccf1c4ee6c8de3a38cc05452b26c4259c8b0a3e0b050d481d4cbcd10cb57bfd77c73f8ae4a08dba45c28e0a93c0b00c1d10206df7720fa883787940a867ac291b85d35f77ca517217408d0939aa58f7b43f7757374215f5c2c2aa74525446682e5a1953d0106468c16d3e37f47eb4b8ff9fb4c7b945247a63da523b240edbc94ce8b9a22b0d6b63aa9b4b787f81159911e49bcb11cb7facca8390876d9b207e5e1c006898832ce4f73f487903f0b9fbe0731c0f250a0a1dff7f8f81a5df74eef53318a83bd478c40e5a02dcc02c6cb9c743784e248da63cc8cb901a47113ed054bfa6703c6dbffe4659fb89d1424a992677de89913cd6c6f557f36485ff0fc657da834eb70e9c2d91e42df5abd83eb9d80796b444fa24655b507ebe649f0e073f85fb3acdf7c35f61779ef903992a57bda708e50fc43e6e332e1b0ce8da5892301060b4d5305a17b8310c22264bbd619a00e884c0fb7c9a5bfe8fb2f64003e8aacc57783a19031c8b79a3a1f8b3eabb7ed18e6e4411017da178914d652c5b5176c08724805379557fc811cceeaa9bdf6ad1269ecd5d16eb17cc20188254c8d85d013185e05670b54bf8daf5d3435811026cae97f3faaa16bb13a192bd24f702dd7f9fa6cafa4a73495bab42947d50aa2af9a6377fea989e776017952c39957d4c9e76430a23ad8928c03e4c6b01f03dc393dc551b15490411c22c3e615c0c5fd33538d8b2f066220372a66d2ca4348b92fad95dd0a9e57ff1257aab5c1494e980bf0e560c83af1c7674eb1997a7896f19ef4c747a6550d22b96d44edea6ae42d285a7c73de37cd2fbfd629e3adb11c9f27753869d3938028384c23099fa75936f8cf4734b48ecf1c758c98b92068b09a8ea69711a13518819d2651b93c10843bba38fbd97b23ba4de17e9b9197e6da03fbb358b5a06815e87e7c7e578f7fc96af807fffd9443c5cf7d141327e526085dcc7c07b0beb956cc6e0be07d6bb22adf27edb78ad87b7076194ac5441369c339eda34da4cea8d51638b90138f19f43bea4f4638d88b5bd4feb34ec76b9dd0f7ef06b57709029f431098c41991414edf2c39f943647f1b903a97c8fa1c264deea281f5dc4f426acc46a5fdf80e3febdc28e5efa892c6506d2b1bdfd3acb08db807e27b3a5d5b339ed8da3341ac67673190b0d15254d21982882f9d4c88ae77cc547534dfbfde0a0459fe2378a2e3a0431e5ef7297759a97f9a10146e737019c87efaf77ab958ab4a048124fc619378a3cd192250a171423ef47be6515b719d3f66f8f3eb59339f835b2361bed000a3ef3c0159c80bdbd25fe7ae76011ac16d8d643104cda865aab9381152202a1c01cebe3496fcbd1ae4ccc1caa8ea493a7ba1f7e7fa8fbb33d46db71398cf68c068ed889b85fa9865627a683415748b6428d5c47f94b65f1222a51ac40ea7e3935282a2fe9b6b115ee6e7d6e1a4f26fcb7271b333ae035b308e0ad2e574554cd68b8359de64ff3f9e4813319c58547037e09aacdf3ff37d48c22a84a899cc4bf48e5dbc67e99f07776069f917817eb32404919aa03379f04ef6d75d653ec7d4cc329f671be79e4529fded80244dfb3d9f173a95a4c3bffefff5a4b1d77682956355e272ae899bcc7be7d4576a77dd140820c71c56cf35b5b15e1d08108e79869d8f260fca4387fbf775e91de646bcc3532ee843042a457b73cf94df2fa6641d47b243b19b1a2866a4cf26d7a99ee2226e924c7cd593ce3ef76bd866b7fc0d348703c171b0b7aa0281be0b96b58bb1b3fc2ed2ab6bfde0386f383dfc421d8546245072a549e279d0c302c8d59ec19009205e6413084e4a0e11b43cc00c77dbbfb49c0e41f9d9ca84ce62098e239759cfec05d4a77d945ed7a23d04868c07f9344639cfffb8bdecea7d3c012181105e20c8b6374d188ed8f75ed6e0b42b7030a39d0277a9006a9888d713db97bae8321514674ea95e5334b02ef95f93b2835cd660df95fa42792101d2fbce94a1bd4002b052e960756b2a0a0e1ebfe2afcf68b1b065cb30635e9eec9cf4a71519824ee8a2ae0a017781e71b8d70dfa45ae2ebf3836076912b095d45e4c6d3c7e6a730571004b0244012e77f580e22aad686426e891d65d3945ad37c8b1a5ce53b47fcc2aa9d32a08eb298c26f79df72823317ed407c4b18e52edfc2000388e1ba17346c4a41129f16cf744e62f745329baffd164ad14c3ea6960337d354c114ea0cc86c999091fff8f2bb5e09ebfe8a10463bd44179d10b0b4def910ae34b5dae1c03a687aea9ab798fe1a585936e70cd5612b4c622a09c3ab5235835e36822c960257ea3444cb5bf5d4d09c72d9b66d193a85bfcb6546a0b77174f4a9eb1f473fa5a510351faad179b07d4c056a2fd75b89a5ddff6ce06037b9911ff7688a475fbea7e6c59f3130b7ea10700a0f7249d5d1ddf7e24b56b37073071cb2b91134488f3cbf75cd832704e02daee8727a53a1671b25348f182137d3ed950c8b0f3741d4def481797449ffefcb2a96287a55b00cf8f985c96166e08c67e697a1d25761c7468af7d1111e5f93995f069136293d477c7b1218638433b487c590f80e7702726f7cb14e43ef0b11b874c2bc4a06f02dfea5d3b4a5af426583d069cf2ea20cdb10fbf30eee0db547ad369ec6cc2e14c21156ccb703678cb9beac6268f5851205352bd76ea307d329bfb2646099e343685debc43a6150e8892577aa48903e14541275ee5dae9c31bdeea62560497ed3a3c76b4753595b0d9d4432bffc654e46be27ff0a9c509d3b12f26b582c6f98b1531e2cce7d74403f76d87c1ee39d0b157b51ecc466f86cf4916cb15392705b9a4aee2a8393f72ba10273312947a9d3cecfdc5f738371ec6edb6d872c4c890af2ce11038245f12cde08f0fb6339c2fc2d8706301db3ad726dd7ebaf6b864fc06b2e4333ab7f9265ef944ae56b837e2b61c91b39f8126d38373f7b2253d0e484b127986f09a4ecc45c746ca6810d0366b8fd2acd0c87f3e11494723b7d9c645a1a8ce01f02d96b2ac7e242fc03d5ba3e9409822899cf1e3058548bfe373afac87bbf0015b98363bf2e98a45bdabd6b3157c8ab30c05ed4177f1d59911302d85ce4e95b854c8e565b0bbf2b797464c8b19f208d1113aacc827ae3921992293772141ed1e68ddc645664f0e996b70ea35ef50633a4d9712bddd933b423b0da111cb69067d28e78864578448ff11faeb5420a74717c7adb0a8de9c93e01ab1d89e652c4e4a4dc327c6ba7d00f75de24c8b3aa824ec53792d23b020287799f63f08318ec577971d08317c32079b795294df9ac3cae98e979e2846d30a086dfba686978d32858d8953113247564b277b5b8db210e019deee5bc616364e547d6136a60d68700499914fb75c2ab59cda0f67a7047a70a32fb47fe1f943c7e61e18c6114d40a29af588399ae4d7d735fd52a95ab572684005f2965b062a963ae3cc55c2392536cddc2aa8f3e66cd273a9502d154851e6b3a155a59c8a1ff59422a6b65f2422d6f1339bee0d5d00c3c9399aaf147bf9d2a55498bcc105975130d013b4d662a16d1cc4697b0f2dcae92de86c498d4ec7d0fc362c718dd2a28b4d7524eb3e776f6b0a9f14c836de2eda07a4d0a35dab148482bf7f86aac4a69b055c3bf32252b3d3ecbc9d7507749c3dd24caed97dc2873a210ede6404b9ae127bdd198c4606dc4a55d821f49adfa0fbe3795626cbab945b416b64925f60ffd27addf5108695e3c0e6df8989e8f69008b0f19cdcf00b668228d9266adce37f31f64dfd2eab44cb63ef5160e6aca0bd4405ac2f54fb107e3e5da384b09dd8ed97d22693a4397db042ecbc68e6b3936d0189e4cd53b4fae4311e643ea176561ddbc09550a5dc796a3d8ce11f77afa0938a4ff87b4f95efbc41303cbd9fc70f29311dd127dd549b84bcc0c297540c3043d066a7e802e7fe8ff241fb465b80082f1e04ee56d4648d099a0c4f56457ba87e10fbf6033739bea374814a64fade3bfc3d51b57cf7ed5a7abcbc24080071b7e11c9a2efec3554f220e3d83e5afbc03a90350230785c98ce9de373ce2c4596d7adce902aee86ddb1145d7a3629873ef68c33cd97a59c3cdb10a18c6e56cbca86b5e0f20f609d246a78fe9442c3dfe33e5e84fa091737373faa78e8a1ae21e164bdf0f3304f9dc88fd4be9ece1f76f7d1819edad5018a6067049cc6f05259f717779f3c97f233c24a162e15c1341742cba1e1c6ea652468ba653d5d3a40c3acf425ab9429829350692f22925c14506fc455eb26cd4e3a133783fd0f2a55de5c91d904e1a58e3a851284a51193750ec39390a4e7b54020e93490478a308d8abdb3399506c5a6420f33931468493420083d55c8fe60109bf1c9c67d5359919339215a1682905c49da12e3d45830fdee19e55a093057a7340441cc6e152b9cd152a29bf4bfedbe8189df66af11c702a54227243aa678e2e9331a20de1b779b99fd7b2bf065f294931a3f775d23721f308b49c0dd94e7149552d1703cc8a844ee10f60e2acbc40d428fabc03afd697b03ef1eca3df5f91a7f609f773ceb2995b60084572046f19763b5f6074bfdd45fc65b42db09b317f1970e71b958ebf217eb6a931baa5aafa2b0373680c13ac1fe0d15f97f4e4027a0ee359f5fabe38c106615a8d09ed1262222d2f4af4f2f387105785b88ae3869d4ac9e6b989e320702aa00e41576e99e485b65048ec7d367fd63c99e6f6ddc5bdfaa7d77a3921882dcdd4ba5c80efa0bf4c5bf2f79ce6875413f686ff9c7839d7149d06ba8ff2afa1cddd5a41b8fd8f5e95519c64b7b270b66d647c72a09bee3c69681b49ddfc07d6c092aa8648e3619ed51bd0826e8aa89af031d320eb92011ece774c53d38ddee306929e2dfffbbad806ac7061d5f50fb79950eaefc6c8cb4b89b971c7e4d09d7dc43d53a9fd188473982f96d87fa1f7c9c23df86902d1aab7224848d3a575181833bdc6a239d176ab16d8ffc829e1a78fb80e6f7b6bbb81bd2f57d1733be35a345378e2877b678d2bf0c4777bd5c3e1fde0d566b6a94ba3a78f912ae2b10b3e41a373c3146e6912f4bba15352045be7fab0936832fd477f01ab8759b9cb9e433b568a9d18572ce7da5f49816b95ef627bff8e6c5737b9d717d14c6f79d2c1f657d2b6ad7d0fa75fe217241034950ef06f17fad4dd521d29a744e2a623dc2d5af77ae8b151ed292341c7688b3962abff34b68c2ec063d8cada8710cbcc315d583d78e71a68fa5fb8aa9aa2c361d1b1c63694e88f5bd544328e246003b8094e38c0e91cff26d4df6ccdb3e8e921913b40434d68670071385019c7dc83b0dd711fd7a6dec68727a9021a69689f9a5c9f1f36691f46bb6705625e1dffae10822e444acf50e16f71db102f08049620db286e365a3108a92838e48966f56c3a57ee7b220ea6c3f2baf4214adedaba5f32c7b0890ebc176050a901e01f7cbe87f024b7a6141d2d95c6c6ad2697032ff014158aea994c7900e79908e5ebf3fdd8d9e5b9c90714fa061968d3fe690add80980fb441fa7b99a96a7b2731e500defc70303e680c9075fe3b55198b10dc681fe1827f5be2a6a89df9189cf40d8679694004e0c295ca21846eba4511b6abc0b4531dc2ed5101679343b14d04f8bd7c5ebc489147c86c90cd2fc487db1d0f827e94d0d7616e9f773d7c3f9c0e6df5738c53d202f272bd962ef362442ff37b3ab25f97d6a9ab4ff676c0e353dd0738a528282ccebd79ea009dc1b1caa2f26e429b29c3f2a031fd8c775228540d118536548cb362d5bd90e7249faf6d03968bba0e886bb5f1c036b051f164cb5379a500a9a658e3a51696f928708fb930a62747febef83c3a9c99eb780bd620f13ea27b8df2ca4642eca8e154cb18c1515bb0fd4658e4003dd8b23291ad01fad5e9685d109bb89686d0f85bae7c69fbc3007fc0a1cb18e98b292fa0ec1bccbf9cd19ea3d490eed1b1d12e958e2fb6c6eb0044a9c925a5c9d953513d96e36b2755115a2386a9bc0d66b38f1ff40da262e5a0ea342c28f629cef6886a96ccaf74cfb1e726664580d1636c513e8cd83eb83ca28414aa468e3fdbc15224d5e118f24270ee63e9fddb4fed508fc4a86d2356077eef2c468ca9dc6f4d8fa8d3a7526bb86e0f820cb3a4d0ebeb402349450e3ededb5817fe9df431276588b487bad36ba2e22ca6fcac3aa9288708165e91d56f785c1248281c265f2257b7286f720698f7f71c96acb4c891514cd66f22070e48d4bd0602251c6f35eae24d58d5b70fee43cc60ca566097df6caf6020c161bcfca0b0bffd759248803bc314ec077a9ef700149a2d7df3423cdd188bac321b93f97c4a0283624b63786ae0f29e2e42aa1d4fa0a8b3d712f8c5304f3fe75b60ced5cc8a29cca6439e41b28c35ea25bc17a7eb72439c0cfbd180ed321813dfc794afc4df7bf5af3b92350e90141b7cc5b1b23ecef7803654bc54fb6ec882ddf23b9c880dadea9caf5f62131cd4069b6175bf6c66b9a460f048531182a99b2f7e99acc309a586206ddf927f0af7978a75673ee958bbc4f9c2f7bb9c26e05a8aec90393888e05e898e847e6adc067ab76f696e426c34c72f3cba0afcb49da45f4a195eb27f5271a74bb98e4dc4d19cd1bfbd05f5bc7bdb864bc061a2d2ed9934e134e755d3b8cc17d5fb17549f9332c6594e2d770210722cebe65a040c59cacb1920b18f5f91f82a0ac94d7f3bd8058e0ed773227e0b1d6a1df8f8e6a7614bc172a8fd5d371b50011a4adfe6330aae9f7c728f3d2dbe2ca6a30e737d812c8f97ec76b7dc97ec8670483de8e88b15dafdd54388a04322e106e746f0b3315fee7d1a3b73547d4e8d61b3fb6cf44166639dceb0c760ca2ac289c4e7b51a2a4529be2ff09f5413a1d65ce5238172793077f4859aee71c8cc757936c4c0c67e7f417c82b7319164c6338077db6435008e52a31a1f23debae536cc0f52234512e7b45fd6f983df6bb95faa8554e42709d3a03f9bada86dda7897feec86bd0d1b8b430d1b90b57f1300bf34b3487ffa3e0828219e778c1fd98d06c8df47ff61d0282646844153e174698ac21c7df6c9413d11db41b5559679b3427d1f987a2dd8f809c72a8124269896ba6d45e4644460821383af1ae4d7350e9f959406953160b0317ec75b7076da4da9235ee88d830b345c03ebcbcc815f14ad6219bde8679d98d4778b78eccdceda9b8220e5a295f6368edda751538d3e1c6bfcac68ca9ed0f64758597ab0241ccd769da2c3128f370432197e14369f694bf56f5a04e43aba98c627f7d85398a4d2900e10745f54dc7cdbd0e5db9762630b06a6addbc0089b908098e1dd7036d56be62f9baa10138aca749c46a95543eeb11ac9f92cb82eb55f0f8fe8336fc37cfec7b917a09030eb68ec27d8e6256f0cda0d1b036c7a4e76d4800168d7021c62707e803cea5419e2b24460cb7123dc91a005b2190426e1c3491090798fe055b17bb2ac7cc8dc39aabb2e8d772a07c915a0d91b3cb4e1abc7b7061768d85557af13cf43666952575c4208c77a69d31e0a2145870a2115efc4523e505f78901461582d4d0603e46c3294136fcac5ffe84b6d606aea29fa8a934eaf2c00e50c6da9ae04976fd3f41aaa7bc6f0e1d0c2957c8e08b32f215cca42fe9bcd446d9ae155b90c31b63c7d3ce3f25e3901a370aed03d8d764a4ed60e4d2d4173c5d843c197d5778349bd16a0e31813dabe2418a2005304a2efcc2b40cbdc28c479b1940eee5b81df58052c056c5f1c7d9fc7f45925c6c7d10b3e1c95c246f7fc67f86b8800d5d0afa004d17bc5535b1dc9cada0f2cdc5579c1cf3489dbe653c60f4e1fc4438506f81c4cc9215f0311d0f2e7a01580bb1827a30f0e94907d8d44ad7dd6bf30e61b57332e1858d4cb0c176651edf44f8ed70c6e2ae18d9f352bab7206b0c7d993ec2a6e895e1b263032acb50cabe2e93233cde1dc396aeb95e73a86e613bef5e6a10a5856cb32bee6fdaf229548e5e999d5a5c99e3b9e866c0ebffd96fcfbf67720cd3fd4acc6a508b8c0122b9a96008cc24697b96f9f656b688e8c0433eeef9d4ae44a6dd10eb38be287807123a4813471d68b1ddd59d55b29933b001e2a4c60ea3142179f136c73532adb43624fbd8040708bd58be28d7c02c3f847bd5f9e0da019cdf1262e3916fc5cd270793e0924276ada6a8a9062018ac4af2f52593aa9459c94ac28c22feeb1cf6dd60b6eb7522a7983f15898c2ac8b1b8a2da59d86574df186fd276a95fad19c340c891af92ab160371d4d696bad3ca8b4739f4f4a04550b3ea5722ebd3cd480b6973acda50de480a0ae3a79cf252d0a53ebd731548aa97d05f1607aa899125e7bef187765ab42900fd3f70aa941f152783785a5d2b66ae9db9fdc4151297ac3b53d1ed1310c3c65f5ae814fe50ced990ed608d02424aa09ebb7eaa57aaa7480c58641ce902d20840f891396b2b13bbcf3411f117aa7954c87e4652bda3aba1ef480d44894e0e4862fca3fdb51e9d60b8e1832c8bdce7244b1ed2f507fefef943aab13db4c6e1eb5ba49609d6db351bc86d8de4a7c7c0c7be9f95acb7d52bfc69af4ea79ae33dc33bae9876cd7510aa959847f43b916a36a6dc52c2d53c1e269490b4d71471d31585a0e59bf5af37286353e377785d095f3133dc5b55d085cfa4792676cfd00d322b4ef7c9d1191ef3353c92ecf293974713bab561a5db6bf1bfb8a1c19f1b7e4e2c09de7cbf028eb61ff0addcc94af624079a5ddeeca37719dfaea95f35e8d9b253408b5d395d05bc95a16ab3e5ecf168d3c438e62aca30e0f825b28f753ce01e113d2de9b9cc9ec1981e35ab13362284736d9aeb46e90e4cd118cc575969343d232a1dff01842df879bab7c5140cd373b3be5c972944cd88b7a9886a38dee7030e46859c0fdd906bbd307fe88ae91ae55d20d9545b73ff0e140b83b016919a9e894ec972f595275f9fc3896952d970940b8c8e18f37de1bd8d64216278493c639f66d9ce651151afb1082a6f371a6fa916d39074e3ae74868637437e8e0c4073a8f5ab1defd4243a00b8d684ffefa0b9c8873c478b40de6e6ba59f2b47cd82a96df861b265c7162874fb749bfa4712e108ee6e82d56e4731b8a158ca580f99ffd43fa84dceaf183f4cb60488b4c85af8baa380c12eb8f9cd6d7428a75f9abb7ef5efec41f353e50305f86893237d13b8ba254b826b1a71eb6f6a5813c00b562d52b2de215166079bcd89816f3cae803f1c58dadb4850c9c1f7c337cb7b37c57730867f91a3a5a3370baa80bb4edaca542a6ed596e962173b017d025dfa8ec713965229d4c814e9ae483d7e7e443526c63d8a992705f42ad7227f5ca39135469e4121ce81b83d88dfc6c70b0c79ba1f61698ccdab603c87eebd2378d5ebce4ffc96cdf50d54900e9d27d73464cb0250ef215a763f0888061c7973142553fafe063558fb3c839bb921054597911b61f6c2221a07d8a72f150ff5549758b172406c3bb5e91abf968177ec3ea493f18fd5f7c64dad4707ba00b4a31098d369850f8cd12ebaf1e50b82626dc9f517a0bf777fc23f0a8f35c139adf90155314b03118356165c86af492f7d23f870260ffeb0bc6b0b69a5e1a06de7a929a24dfff37e8688039ce20020cb92205bb705338fdb8a50da1f0ff1630e26463076d89bb15ab4653c7eda4c07c576620e8a7d7ac5f768b86829b157cb326b5a60ed4670ba9c755681028121cf3535fe0d3b7cce9a53235b9905cc3abb2356020a8c08d022959e3a6d6d527a8374e85b0e582df7e3f03f05107ad27372dd2b8bc122667963477d5125155947aa006717f6b048520148a82c8a421a9e3643659a7baf6ec4f9d733f4421e6ecfc8cb1f91d51f94fca5bcd98ed3c6e6fbad561d396eaa443518f33c601b3e110135d543b8b2d0984586260b9363f00a38bdda826f821039656f2920e72c7eea268421919fc06c7f66f87c15fd8547e6effc5b7e76db1cf4aefdf601d4a17b88279ede8b5f9e681001425b3fc6a189cba39a4919b3448b4f7835e94d13f790803a6f3e72d04e109d785e1ccd966dd41e62287a6641c092e475f2a64dfbca09c2c04288970f80f25c5728c739d74a9e962ca49615ac86fd7315bbe4aa950ef33943a7b1cc122b3222fb882c4163b80313df09b8b4224dd5acba273a3ab3df9b8800dbfac66a24eab45eb70542c54ffb609d404279cbe82a531c5920b824c7e5ec9c42dbcc91120b78667978d9387d604987dfe303491b6179393ce0a481f0dcaa12694c76e99af7a8eb25fcbd9b2795de922e9af97705a61217468c7cd87bd52dc16841f1c063ca35cdcf0caff3932b0d69f62df8ef805ffbc45507b9f69750dfb0bea32cb025e2158fb65ccc7105d5f7ffa55946b5bfc208c5f442d650fa85233a783aaa063123ce6faf01e67f5fb291bf8fb33cdc60c0600817432c95f9b36b63ec365b5805b5bf6ff5537cbf8666081af2325da71e8f52742e8fa4a36c7a832913d36e077e96801df0ebfc070cb2f7729c4a281931d58c9e5596236d903e85bc5a41ee9219347298fed8f14004c2df3939d0a5162a3b37f11ba07acf1f7ed7b3d226e73539a8e718766a6e1d1155eaa3ea324f9e97c4ec9f2b1eb694edf8baebf8df4ca9e5c1bae3b0b5096eb2d98ed10008a5ec39d9a7c885f3c956cfd6c9814f5050cc31a206a0c2449b889b4a7b6bc187204bc07e5648dfe6766147f345e8ee35b9ac79fa13a18079d2bf755a82a98315b800886f1c2e30bc743e79b73bddfe06909fb13a9de00608f63a6ec3b966321e5cebd703d147412367fd528acaa5c54d4fc77e1edaeb09edbf1ed32d12720c90bd2e7782290273d4df309aec1f1f46b452eb914c44695d5053c28752378f331bbffc87db96612faa0228dfa9cffb62956e32fcd08377280fea4132d7bf7e4c8e2ee7559b57931a09eaee9fabba3584916e3e65c1701eebeff5a3891f6b682bc98a6cb839c3816a4d0eee83979be47519b9cd55c0e790d62aa19812e4fcd3f9c81ad6b3a47c5e94e442cf266674fd86d1a5e23a976ed35da6eaf2af033c2a0d9bb4de99134c81f39dbbb8972da721598fe3dad3c5d538d283ee3568b6bd7508b5ceb3907f1e69bee9385b1ffa5437e22d6f463ecdf4ee69962f2328bc407aa778d127b2aade9c5eb8bf02468f4b3cbaa5507b7cff538c5cd094e758274d605ca2a4708a09c0596eb982506631c8711cd04665828db5160c9e5ef737997cf6806b1121d464963a2325ef75bea7bc5686456f4507a20335f8fa91b9bb7fe63f8e54f5f5a7ee1a7d02f0a9b4b53d298778c4ef6fa328f282576106b8fbed55b3bb5a5f752f01aa07f4ddc5ff5c2fc1bc106fa882291da3cddf4d014cc5c2afeea08da5bc75aeabc41976ae2ac1f10d1ec3e116b39ef3d213fa18a033b1abc7aa5303617e40516a632b5e546458a67edb9fbe4e9a86b210fc2bd3439430ca1ef494b0e790c6c7b441f168b8f772ed479c8261fc0398876b4851cdd2271841c7b603ad549ab4da5cb0fdab8884b4eea2adb34af43eaf7ae804ac0668c1841355227a1189ad5f2bea29656ea7bce43e17a2adc6c58eafcfe54fe5bbb7ab9623b2ed40893c36f1fbff745a1a4d1740589df2cc43273f0180e4d96f562e1be0ff202e6bc32b377942b33ba943d06c75d44f29bf13b405ba7db7f07df997ae0d3b824e33d81415e6e16ddc1c5c8170d64bb2b3de4432b4d75461bdfd4275cce25120a91eeddc335bcce3f0f292ba6bbb95b7e348a12ca6fabd885e419045eb9542935e86318b7fd1645806dd051002f3b10fc4e5830da038893a49a5f03999b94862fd30ede28029cb1102e0803b9673846d3ccc57c34633f1b3e21ceec8678b1d8c2c8f43927c8cbd55c954ba7799adf11af692621f4c0ab43bde68b157c9e5f7171f4e99b449129a42c39c36746366f862ed5f588395cdaf7ce3f7e75cb888d783b195b45124bfda2da2f9fbcd9a3766605a4f3ac6e6aad8cecef29ae1b092caba090eadecd5ee4df811c2393e30dd437905deb9833e1b1af5d0a3c5c4c40e5d51d357cbf44570d781c704e3c552df899b056335a061261ee93d952a68fbe83b24da4c545a08b8ecf8efc31cb4b3d07d5a93647b1c99e590791568627e66359ad844feba964ac54b9bf897258e68457ba59b5ca89e264c01cdab5e9dabc153c0c1fccf611e0979c19e9fa8cfd0c672874493cf11ff402d1884ee4a9c63a8f44e70f14c3923e30b3050d55e25eab21733885efac38adca9135af82264911117dadc222b0fd2f72febe0877357ce9faaf8189f4dd8de41af2dba3a269335ce155355c682e67f6d073e1c0b2d2d90d3166bbe8c8856de409ffaa7a870f21ef68108122922b4cdc3d6e4beea7e2ae9b259637b8ac9d386d33d567a53f23145862a53e2b0b5a71b4335192f82869ccad79c9c6cb4ca594f33c8b8f0a7dfa086c1e3fc6bfffa8147581577445b1cd5931002986c169606e6a0b2a10b8cd58bc6dba50d17efbfe7e27170c669b049e79dfff5f9e91c1b2d3579730ac022577527b4a9249bc5ebaed1d3cd1c734d2341c622fdc5d4ae9a5a7796535974038b5a576441558f75a5e8e8a61cf42435400de302c124c1080ed76a0d34f5dd321aad2f518973c4bebc37ffaff2440a1516dc19ddc4d57d6707e8fd151f1470701375a892b0ac0e4f357a0e5ebd4440f39bd124850aa5dd97468a31f270254da115f01281d1f7657cb15fb99353cf76f3a484150289b0e28bd0ab5d0321d92aceea0171986e851b120aab67754e9606a444840b0761f7893f9bd22954f17d7e661b77e965d4426f621c05860584136a3f71dd470e69579b0563ef4b7d172741d01ab497a3ca32014e52315c3fa82ac4cf90212cd03b1d03f5309bd1f6eb16ac3d304057b194b87efeb294fb8e19e07c200bb3ec3180e2e42689b912eafcf4c5f7a3f68c4bf297467a95d19b2c8814c5a00a013b3f48ed8dc36bbcf26ee9b56aebc47c1e2c808e579702ab3dbadd6c49bc1c78151f8dcb9225ce6751f7c31b40bfd82d09ebb626f9d9d02f54f9fbfe22acda9b3e03d89a7d404867ce679ae7bb297140e800d90fedb7be409b7b3398fd781c94ca47f44dd1e8bd5be9b8276284db20c9038487d77ae1cb8331b1ff63791d3bf0c77da4b94c751c30190c4332437a78c6046819d3c1c21d29d42be2faaba095f6df3c4f6b9cd824abbfd2d6c3882976c1f6b233fe28fcee8b9359bc1ed1b71cfad384e63872ad8d882e2b13a135073bff1c3a1517dc6130b27ab369e5ce386b9eb565de526ae7edac0d7ee4448f563a5a3bf16572222d1ad889022d4403890429a11d9283a834853490d907aa0cb5cb5c689e704f114a05ca603af45722252a3894bca6d27f71e94f6be724b882ba8e6692a5f9cca6c521d322dcf7aefddff5d2dd4fc2313fd6cc1c911922a8f6a448fa77a4baf7493225fd9f487dcd369dd88bad4bb00c948303cd90b7ad0b1d8f067b7ef8f835628310d38723e99f231d43fbb6b107c58f821f390da056e38994ffb330866213f9b415eebb15e3e74749fef383d55e119365c8fafb7ebb4ffe7c1f9dc6a46df5824ac245a80c3f9164becb9b1f748ab3a31d9b31e23db432bcab6dca1fed0dbdffe0f52ac6b67933031d426035bd565cad1b721fc20fad426f417e8f16b1b8dabf29574d8930cdae718781e8f6c5bdcc7eced44f6aec4182b278a8091641ac2062831026527a35d287711a31575d6f6d4b34f46ef1d1a996e43542f1da1aae29fb81fd5fd2d0ebfc0b2ca87e98b16e29af715570530843e8c066a7b7a549f2a83adae42a9f3def998d074fcac54c76f35ecd9ee11d78202ef475224d02df0030c942ad8fa3ea2f46aa596b8cfeb870d590ee2d68800b35a36b94dfd9e25bde229cc16f43632509b1e7ddf8f3ddf39c034cab5807b4a0df2f4bf4c90bbbff1efd7cccafd13133eded625b15f1e9d6e7ed135a6920897e5897919a46dd5d01b7f361529d6f744ff2fd1aa8ca5f02c8cb8aba88c7579bcf7b52c81f4d19a81813d96feb6f0a775c5d9b9bdf8bd72026e36effee179d7a60f5b337f389512f2b5ed9aab9a78e7dbc8a465d1990fdcb1a2366d11de0da499c904782b605aa91acf1d6ca2f61c0bfcbcc32e56d2eaae819a7e689ab3d127998a23e7b70b50f1673337a7932acfa3b90f998b624a8a33db35db9c120ed8094dc4a615b88a39fc5d90055f8ff79416bd6f1a2f716405e36668b618f08bd721470a45f2b571dc4584435f8b73303e6f543e6db7965801ec55c71fc35868631b7fca35e0fbb6d5157db7f3065a8c303aa23978e9f3e97ceec8938c0812d669295a801b3ba0366cc608f494debfd700e8d4d5c8b044720c92ae2c979dcb4fdc82914ddefd228f93c165f0c538fa127add7f1917ce9b06cff98cbdd9e285edf3bb8e2f614ab189789f4c7ce8c3861f3257f88717b5a6ccf4d901c4c621229fe454526697321d47698551c93103277e9deff7d38a57cfffb7f156889a6edf87eaffc0ab795567fde105b4fbe5c7a9b7467961e56b71c5966fdbf588d33fb7db590f84f000a1dddf32c2c1e1e6ca30d37498459c02191a48c3e63b2da226fda24a9fa456bb0d4b41551002d32fd43e48657cf6c8ce7735f9e9dba85b9abe637ac92e648decf73ca901bfb2fd1bfb2ce10f30f204faaa1a12cf20115bed38237f3683f49905629639c1ee404aebf5ba809900a56fc026b54841aef374d15d2fd906ec9ae7a375b0299df9ca3f207e859c904716358506a3df93c9bbd776798c689a1cf56a762395dff8172579890bbc2966722f885b38408a14cfe4574d1080939578329e96c0c81818ac25fc8373fe9059246b52458be077106e8bdf277b64fa4254959670cc2f6f913d6dbc7fb2d02ad57647927f990dae6ccd178dfa831293d551ff116784b7d09f657c1ac8e8cb5258eb8c6a8cfac2ebd9b2a9d7bcc61db6133ac33b098b505e68ff8fc9f8aebfcbc87bd4d7ba6b532795acd21b6b3d96f9d69bea72ef0ce3be438375f3e4952c6b5b9b462f0c8564c429aeb975debd7d55af668c7e48c09efff6cc096a6b54c0ccf3b937948721bbb0c246f09e68bc3497ce139cff85174309fe9eff124282eb2be3bebe87ca8436d80e7773df09b9f35cb906b63b916995c524f490a58df3655deb075c08cc519ab8ae458c647db59320285e03c01f30acdfcc009f0cab0df114ac1bd366284c9ae9a1ffc1c38738d05677442ed73ff3490a0e21e2ddc07986dba821f21a3c92b0893ad55cd8c7eb6dc531ca0949f9a63957d23d4543a85d5599cacef746af551b91f5833bfc99e0d4df379059d1c8bd62a3e6831d87019f12cda0a7b8b7bd4952671f806c1f808bec9a92524abb165f46bf5f90d0ba67d132dce97c3ac8f6d89b19ec63c6e2d5f20e40c6e733ac54ba89a492941623689ba4404e3941870e45288779bcfa58eb16d0eb175691362ba65d398c8119f7608b9584d1fe2a7a60669754ae048c74533485d27d85783ad3103ebc3067e7ab3989db1b629f89c4ebb149171eee71dea9ae10846503fcb78c294ca9df02505be5060d6d566f61adf64f9a178bae1933eef8a99713829e445f4c67d8726ee272110ca36eb363ef85db4873507ee02ff9719a96b7addd07e5d84ea45f9418af39076c7f9c1cb4fb9ad1ca0b1721732686303ac1c18b08582781146038535542ce19c1d407461ec9ed5ba57bc8ef062e11018400c1a7f1ad292e09be2698444f7e009c2c56fa5002ac0eb653cc5d25fb6f4089b0f5bce0774cb398c2af1033cd085049a1a265f7df69b00e8a5d5e8932d952f5e001e488e5721650dfc56f717771067e484cf95728df432610f8d2aaaa9ef91790185d24d59f2e184d544aa9ec220e797e667ae64566eb679f36ef259ed7042ad429647929d71060920b3d541e9d733d79c9f1d216e5fbe2f58a50c02839f796da8cc2722d471fd1e1d06f3f2a5238e12ddafeae09b74af77a166f0358ab654eaafeaaf83bba87abded9a855f9a8bf4bd0b8abc54a463a34675df2edaf3e4bdc1830e806b0608fd8d27c014c1dd41b9c6dab030f825df99d4c1d5b0c8e8f14d90716747b38273bc58b5fa36da4fcf94ab1dd2f07a3b478f9dd43d9c3ee1e91fb6934dea7e4f34fe48d9aa14d8a0f6c59af9ec9b1f8d5c46c3c31d988b46bac7760a103d522163301b26ce013a2f87bc0c0c3805573a14bf260f86ee8408710c6b049e5b15dd467bef09ca1e3bcaa361d05631c43e2aad72f88d1b90d81dbff3874481db987d525ede30a9a44cae877c4e9218b8b8ff3448ba25d21260e301a7bad87a18de0f32b445c7caa73c6b4a2ad199e8288f6dfd30ebf48797ab00a2bd86aeb9dc1bd2b8c0f5fb3cb2ecc9556d2d635deae53792e096e8d3750c48c9ec448cdb8e9ba0612f6cc0cbd3f6d05003e04ab842f7b5b643d4ccf47960cb35ea693a9ee345fc98dc9c7311de0c449e5d5a581436e206f066d17f0c0d78c852489ea2a4819b0bf8bb202a062dc12debfec968fab34248b20788c32d6eb81da66087f1570e9671f2d5bd2158a26ba162815de7abbeecab74d3fa9a06d1efe413c350fa06c4ee6e7222f7064361bd4d99210a793f79ce6be44b356e614498d4d3070564af46a696a3c37fd8f9727178ca28d785d99c91e3978acfea5354a78db659216fdc673a1fecbba5f0146b10e641f7f8d80cd032fe6b9069355b686587fdd082bf71d946c3358c287f4793ee6c3f296f5c4d33bb6fbe7c76761adad9b6a8b6e49cdc71d88bd71fa7feff7e2e12c1aab66cb0528360c343aad30ce389c2aed8fded4c2c84d5bf7b97cb16d2f75fbb68b5b915761e5ed3773c9aa103dc493e93ccac935b546e143d8be9d97bab57b88112f21495ad688ec77ea97a476680a6b03f44385a3c508b878c22041f59397af60bbc7e1a9e95c6902c85e54488c04d70c88fc11ceb30c154c28358323e6121bbe7206b03175fd94fdd750177b06488210d201d8d0246b7707987bdf0a3a71eaba643cd826013259adb04fbe16401f015dbe495a35c02fcc24847b5edd12025983922bf56ebd1a899a0e0b27ba5d4471feb5340981c2293d6b536400c5a7c0969dc26f5422acf86a67f9ee2fc20219c6931ba86f930d6a81a074bd0d9fdaf90640ecbf65129f082ebda884e47fa1187d2ec09824e117a85417b58aa25de0d1f98d3ae2feec8a0fb11c08409d5f7184150acc30c523d5770cd81fb3f52f88b2f8a4730c506292e786cf34ed5727fde004d59630d6a9caf6d5bb71831fa8413563c4cba200a8939ad05ac6d8bc5222798e909b5bbdbb4e990d56a95c5aae11198f50ab04f9baaa2550ace4e7ef4a617a5c2a4094904c005f42f9b93cb5a3301fba606c3803305df46ff974fb0429836ca9c170ed152531740c8ca626ee57e044bdd0c50a283c516fdb7e261caf09a0ac192adcd3ebf6ae08237fa06abcf0d11e6cd98a6c151f7fce3d35cdb20dd808acb8107d81b5a21e8cfed636156ddc986169c22113781bdd30a199e8ebd083cb31fa9c2fb55fb0371513bd4e743b67eab588c4c8fa5fd24b2a658dad36322bf38290fe11378779cf2a754d211e1808523af8b3670f7a9732903daa1190af123518a64145c895c8a079a26a77bdb77793efb8939568b0912fc8c1593997769757a9379c374939a6781d32d73915240ad51bf7e74a99e5212e1c565fefc74785fc0d95c5dde1edf3aede1b0ce9b67ab3c48f384c740bd459896d139b09582b8a1477cf0395d9845479d7d5742639f30c589283020426b0a7858cf3ed36d2986c6fcc4c201dcd01af1de5c62fbee1ee9fc95495d64aef497fbcc23e009cd0674e554dc8467581903b989da21bfed220ea2271f8aef510185dbfdf5a71bbdc75d9ef0bc7e1d2095dde13eeefe1e72e2a8ba30de14be4052f619c3783af79a71615799d773bbe7edf0772c8a90c2d54a77eb7c3fefbf2b098e9503f402f200142169ea0302647e81a579f83e8ae260b69d32c5fbb362055a9a3d53c15f3d7352bc915729bc21e10031d459cf3a28afa9b0bc299114a5bed87d3bced54ef543d4baa925a0b6bfdf22440b512c0d7309d0aa5724954ab4c40b990171ce92cfcc6068949e40519416ccc8383f9f0cc8afd3210c83016c937d13fcb954013b8cdf5d3f8ca39e25e480b71f9fa50c11c7961b24a6d27257ea99a321708222c1ff92f4d072bd00a66fba49ebec505126a20e8df922b9c7fc13152c6a9457d17d963eda1d67e48a36f8fcf6afc67e54b763d89d569a9332b8054da58c65516ea44f44a9ff67e9e3ad97f33bfbe6d1f4deb1c337ee37431b2a481356ba0fc8697768585ce506a8ea0b0076ca9a308b350c262f6c88ad2ddaca7bd77ceb4b74f6e700c83ced86477b864f1420ca6afdec93478b76c619e2c24cfa16c79b7ed4d03c0da3a62b4aedd623c840a764b87c55b401f394d87330b1ba30db843b932ef8ed3b1bda6767239d85746900d254bf7754a943a7ab227de37e97e86955c035e33de5d7980ddb11ab6254f1ce0f34d888ffd6426a14adcf49ee2be485676f6ea814f37536e5a3dbbf69446aba119c26c5a58bb343a8345263384c3a2f40551fc084e7d50866147ea1c57f836569a9504a04bc7091eeceb25d74ec39f46f5c8d8d37b9b0880a65effe6ba6a5eeaf183ac90927283dafb1c946532ce45c39eb13f9764d7fea5e8d4347a34b834af5801fa0d4035518cb8bad4a77503d309bc739a640072a8fd977a2b4f97c37b4d06724ffe41bd4889b2389ab3a1ce2e5e626bcf2c70c7d8500bce86a76f7245f236e982c02459db2e1fd759042f8ea9da4af48a9409a41defae75c0a0ee08f46718294124b7dfc9eff7ac2f3611ea3e7877e40041cdde35d06b57fa5a18413a51d3a9e2ec31cb4bf683871e99d6e60b7a5cc6e708c6154a161c5050f1d263deb6022e2be7f8bd5da51c9556329d62983421c062468356adb6a4b72851a9f8c034e62f71ad9ca2657b0e019c487808876019afffac8429821c81b6de4954bd42c655faebb380b09ebf11ac82a31fde4478482b622921e864f25968b4d4be1b27360fb3630bd0036d9dcdf9c46fb9b640be910965a6ab2407aa4da64d74b6fd3618364e5b46af5c830eea19c25c55d07c9d78ead5b15724af86d9e933f55cc88e9cc3d85dd0934cbea191dbd18f21e5760223366472c71332387b843178f8a4e5aa05be7025f976dd477261ae4a34de1d9bad6a320d0294d476dd9c2e43e27d24d9df24274edf5fb559d679b8b75cb0101a230e03b69c93e978ae679e1bd7ec42638a9ff72dd33954ba850b607b717bc3491d73b06df34180311261bf37c456b6887135c8da2123c61a46b836980bb1e306d72d5b171fe8bb9b6460d0e867f4b92289e833b6092ef273e0ec92b1be53385feb9cbe37843ca78263bf530ee87b96b2d6544be42460b5a2892ac9aabcc4f97d755531b00af15a38f3ae29a8ffe59b749af57de50a582642b49054ee9cdb4d76d81d202e9391192cb9a5de063dde2a60688fb94ff614a3eb5bb0443d1409dd668606b9b861b4a32e44a9e9f14d939e940c0ac67abc9510f28674f267a638251844bc0c0d6015f507c4b07d745e9fc84757f1a8f6d02a3b97d656305f48e4b4832ab9c380b619749095ed2e3f1066a9ce13d7f045ba383b0a1db511569a02c5c317c005a95db815221dd1c313dbd218c4cc057883a179f3f29eb28ec830e57232a4af9d545ef25eb0c77d8e4b657943020ecfd462b7056d7037b3433db0b07d3c4f2c82eadd19b2a7cf0fa5600b61e9fbce011e62e40ec121239baeb618b190302227308d93b9a19c23da75f2494886cec78387ac5c0c013a6a09a162ecdcdc29d23defc6b7c47a88e3eeaeac799a6834b6fbf17b4e53351d744a95873359c779c4b64d41f057e6e09c968f21b413118cfab25abba28d851dbd23bdd859dc48a947babd211003bc79784f8ce6ed8822cf07506e60d99c1e794337eb2b0a376acef3df8bcc311570b1665baf7619b7cd79c043e4c0f2227a3d0cf5173e6d95f3a602f06ab13efe2bd8d46757fe6016c14f40aed935d0d9337b30bf2b11e1b24d0deef64e89bc6d599d80477c387a8ce1428aaedb74c69eb99201d6e828fd097e07a1f05891d554155cbda075077eebbb23e06101a5b875d00baeac370970c04ef8673c6fcd588ee6c28ca77cb76314eee9b2f6a21c188659683e53c56a616e6e1518e4cf65f9423bd10b22559fcec11573507e5aab5ed6be09e21de3806e603252fda2be6e36b123a0a1eb51f17780d3e967a858944c6351543490bfcc0b7e759f9beacece322d731ce16697a011c844b9003a5fcd4b2d848bae5cb96df5ab952bc74336819beb0761bb34a13c2a742b8b59952a7ba2144d2b0ced796360d7889f1cb77e74355a7eb4bb70da63bcb7bfbaa38674cf2104703001ef54f24559af85a9020026adf43c44da8ba9a8657071842d8f840803d56ce9728cee3fb63d9b91c1556f8c86aaf852b788e96fc7ec67f72c3e51c5bdd4f2d7861c984d2585d6008c588096cfd5a633a9ba11b26b6caab69c1c463bd440414b4312af22c1a788065f6c7cac8e1bd92053fc30081476280f1b8625583aec83bc6c685d1dfcf5ddd9f3d38cbc3d63fa1fd56f2588ec6e4e665c2ef633bd6930ef970a10845b62c0629160896ef8ae01793290fd31d7efde33d03db93bb78ee36e0328a6e3fbcd33a1424d6a24342fe42f1ffd9660dfcc0a4df48548baf312732de75eaf8e90e442daa44c11bae0ed367dad99ad3a4a8874b7c1828ea84052a77b9f436d987f4d9fd26d82f0c288a95d7d49fb53fa253fc5f95c3c040002e0b69404e9d7a9f58fea31e954d96c4d314c40dd08758cbe55433a11378e503b2236902f4c9d30eadc1bdf8f33d088c393a623b701ed0559daf988a6b18e1eac145d3bda692edc8b86ded9963ad825ea7a18bdbcfb0a4758bbc9dcac5fc9cd9bcf58074a0748954c0dede50e943a93b87444c59ade34bf357bc4f4dd6075370166795e6e5750122a821d9c144b7dffd162d19aa1c6c881ac1938f5feaf08d8cee2c42fc886fc953864fbab84fbdc7b13e1923ca7656e2c12e0d5b9a1080300bff297511748100cae0a8ec48505711c064698eea5c917768eb4178dfb8eabff0514305c977e17fbda74404ca8d91a44779ddc6c2983abe7aa4acdcf33d62a8fcd61c39072e6c4945d683226a5b59edc1c54d762de07ec054b721c982ffa73bf4dd13193b1de0cacd058b0376a2ade7c0dbb1fa8518cb9e55a32226496db65585b87f937d0bdee1fbcafc21e0429697232a838ab40a03ff926cf239ba9adcc982003055684d7d7f994adf55dba5ef518c144e941bd039a6e17abb28f990e88d75bc1dc7d7d5eb0034380f7d82becebde04bfa3188dd620b44ce81a35d3f23db7c0d1cf854926b04f43113b09d919ed58a62317b57f1dfef29c647c8457b46a1f1396e53b92017024dd43923a2f0e82e3d48e66c635fe7a4d04f522b53516c711672d9d47c2ac3c2a83399e0a136a81d7d1e46e2a997be193f68ec2531693b20296934994e61f0208d746c829863b80ab8c80503048491cc9dae02094911fa1f27617569325fde7bc37c81c1e5cf0bb8d4a1025b4db8776d2f18483f1ec110f7a5b590a0fc18f13595e6d0dbcd89be52b67dc447d9c18b2b9088bed9b24893673d018abe82eb1744a4418150a0bf770dfb0172f6aa6ade94861d13292a407d8af79b93a0b56c702380825a71d318be1807a1d730c99194166442716ec1231bcf93303ec6f60f225c2a72cd9ac499a9fc0df4c6a6b021571331259255a5ba0f284ccf5911c2a6f170bff756b47e9f350a3ae4c494191222bbdec342f36c250eb46cf44faf9e4b7763ebddfa34f16b2c31e11f3fc78ecf3ed2843b797b7891cbe82d96afa85b0f89e60bd0e5a47198e2dac604ddcca82525ec35cac9ee4be72639616262d312a5b3639e5295b4862d00311ed964e2c84b857ba43a7faae639dd0edc4b815b863d231432b5e58656b6383b425ebec47567ebf88913ab5d812c3b2a92ce37c035511d12fe6ee129801b59e5f2eb90a7d3c0e0b1d4472f5b995d0ff70a23433221bd5ddf1adae24315c9d15e35b4ce792aa7d3f7ec7343cf76ae7810f9cd8c62f775ab6fc028a3549996b7f5ff32a26789a1f4d8ee80fc15b42488b57705f4be29285ecd1282ecd1e52cfa3e1856bc42c5708ec2fc1d437642353e02c5d19510a13f8110e900822bf09e212c7f2a8ab4da3d3d9b0df792dc557e9c23fe04c4d4190905a6c9983779a518cc153fef552fc995e73708a3a0837b054c224468c714f6785982f0e843bd9914595c32e9096ca05b7a21db887124c744d2aaf3e2ff4f147e1105274a89215e6a3e464c96677147b061c1b7581bb15293d37a8b8fc3c499a99f7204bcbb9ba1b0224f4352fd3767203445d6b2ec23ec9bf2f0a658465e712b9843ac2aa0192d276e69cba46137cb544d2030c333bdd90cf5f3e383f0801bc102b253d2a350c76d5b2aec8185b226927575a7c745d2c3fb8805e763b543912387c8c6529d46ec581e670e4fd0629f61f562d9cb012ec7bf5f89322fdb889ed6dfcf24481063becb1f10456119515472ca981e312ca19b89b832fd6824b8f37aa0063a704dae3b909f211c45f2cf95fa27f7cfc16836a5f928412e9bffffaa614247497cc733ac34b7c4269be0fbfc467b36844d5bcbe728ab905a0a0e0665a324c3bb4933e805c5f93e5dbf51dbbd341b64d0febf45c974ea35f13785d26a3ec82b65d4c04d329ad58cac6d2b206fcd412a9d75061b156f42baaf264185c42f5b702fb68ad9a4aaefb074594a2315d08920f7a98b2b340d457801c41fec19a954e8f12aa9ccfef40785d642e932d88b7c9e04159042eef85bd2871fafd386c51f4f1acbcd48bb984c17dc41191895230c7a3c384c12a5bee8e7c14db6e25cbe0e7cacea373eb50497634af58784bce8d25315200229c6e5cc6d8d7962a04ef42cae85e94387ea46cc067bc1ce655fbff6649b5e6f8327c2b251dc78c634ba042cb413631081e314728e28ae40dd255466cf25e56ff3d5a43051057d39cf7a87a30114486d9c94d90a827c5424ce3928932127bd422529321e5b64dd1f3fde73bf2f21dd0fd7588adb17f288f6b98b308307895e9ec3c06e13f86324d3532a298b5b873a8379047f2bf05997bc12a00d2c28f7a8054bf1b1d961a7f4f90b9a1095c7cc28c310a91dbbe7548499ea4d7099728b84f5da7bfd6fb70695c2d40ff8c08b8d7caa95eaf162225d0b0ca086fe9e4dc449423d6158827f31c69b531e52bcb9eeb4eb46c58a47e4307bb2e039601215aea169ced8e131134154e503a019d4b2018d656cd1a5699d3a530ac2275eaa137f728749030511c5482ff39e8050b8659e2986b54fc6d8313b3ba83ad5500f0436a8b8a158e95c375a96951a8ee79e429c874c9e75a83da35081454374a75f4127c34b4a2a45a5c7f2f7973b136259fafa53e3daa77ab3b08df1f2dee8fa66fd6476cfee1f90448aa040a78cbfcb2fb53053269a30f709740f368deafa4f179477f020ed46519414ed8e79df447d74f147f4ef00057452b68f2688750ab6b239c45bb9d73cdb891f591bc1cd739c1945245ecb136c1825da76155f81b9771f891bd29e0cea6bb2af50bef8880b6d573c730f7a63ade7a3b6d6983daa868ceb6704ac48e75b6838f3d89efa573714156662a87b4a3033d0bdb5f1c60cfad51e84aa24394779d0da53cbcd758289ed650c24f903e96fa23df9744a6193be261ba3e20da6f7757839b6d54c5e33a98dcfbb762bebf0427234e5ddc6b0e4e03c2016952e25b7dc2e4598ab1a16acbef7ce09762e00d938b6c36ef8c3b198a94dc2e6fbb4c02cde2c07c2b85d88f64ffc8f48dc388ab18859753dabc5e6993a75ab5da40f739d0679372d2b9a37221a6d219724d752350b374e2bec519a0a90cb86066970cfb901d9e958ba2c45b430b2120f3815213f874d1dc2235ce61153f05a4ede6df4a67ffd3a32151ab840d970f10b8175be474a60d166ecb09bbc3ddfa148fab460beafb3c2dda5b11d975106ed31be4898f2bf60128e9c1c69463725a7fd4e134eebf965d80f82b5c11c576c46ccd7065c2a2655dd79d9c6f23c45943526cdfa4b578a06a32e6d5848b4060899c6862b8d424eb19396cb7e88aa6f5ca58615911dfbd99d99838a7f4d99d72f5be3cbb8042ce554a1dbbf97625efd644849d0595ffa50c19a27baaacc89d53289aa3db70fc1ed1a5563427bc982e79e449f50afc18cf143981d33a1a4c00e4d38631c2e9e79200ff40add078dab800f22ddc3bca75bc2980f262e7fce1d24e508018fce7c6c0dec9df690207061961121e450f13a8b0bef023bd703e246bb7e9fc26e7ba1772af06de2986d1db6861ee8a30e602009cb7f19508cc681b0903758e86b33f552faec740f20d8e7d455b1bb95b62d0c13f7a67727cffbc10f274693d1135fc42d8d6967b900275c303a5576cee33c36f820bd99135f1f650c046e64178f82b8e38fca33aabf12222a61f212d6e154bde61a344eef4d1727b94e837b27437e6179deb144bf2abf38062fa038e4a81e18a539c8742ccaae83e00baf4ebf4d186ce89490440819d62c045b54aa5ec726948d52db24c55896f7edff8720f67f58884b37fa525afee51c852ecb1880d86339ff274e536914a34929ea6a66ad8428accc48618756d0150a225747f463d95cacaf79800afef845b0ccff5757ca75559aabfa9717595e2e2f85d602b7c8cc4f4b99cfd98761641f868edd11eb3716cd1aea404fc1570d20aa5bd2d8bd458bba9b576f4db6902c92c1430315a70c20394142b924be59ef641a865d0772e64c25af90820ce310a5f178c2ecef2c3d442d538f675ef4098a574e6de46523ee10ac280b14afee395264a5e820bbf1bfdeaff479afa20cb06507c3d950f08a64f9a192ef8fc9cfb05642261eb73d806cbae656b4ffbc2f5e7320514810fe84aba7b3bc30a68c5a52d2fa6e5516ad11b2bfefbfb1f4e3dca8d054718ef1c4b4f9609089a36f14f1482365a1d251483b352aea7fe2b4f4de010d62a20858743702383613732145ca2348c23b412dd7d3f9f9a5c6411828667dc7aff484776045f7959df08c38fbb646e968f83411cd36f12eb43758cdb4581df4988793eaf5e86ec1add05941daaedd7f65aa970f4a5bd7092619a2d32dc0e20b1215b912ac38392f48e0dfafbffd74aadbef4d28e1650d631e147a7e418d62f064d5afda0ba1610c8c269b1c396ea1d6549fba115a3cb3f75610537cfa73beeba6e02a1157b678d2e0e953c9549ddccf14ef5bafda39cb8db25ef4f3a0aafd5e8ff77a8df818ab58c6c2cadbd79f7f8dff2d62c34e3bf66f32a66f3952e2b86373dfd8c1ff9fc8b3c1df2e73f63d42ccbd015b6a64dd29d0c242d1fea0d7f8b7c493f4a3d451a89e494b11425a93b2444fbadb50e7a69436b5ab31d90308cdfa76cb03ede6d734f07bb2fc6ca731fcf02e8ce07297dd7f1d4d3d496326062e52124e3aac2d8612ae3833dc45b1c2db811b80daac6b618032001adb7ec56e32056e2f0f746cf359d3beac319aad68d412a3b09a86cc7c27d41f26bf052f0530b99932a30e4552805b5ba09e69749a9c6de57d2dafe68d9eb35178197703b89bcea301cf0c497ad37bb99989e6cdd0da5d060b842fd95db30566c770524d64fdec7f5e95f1f5b06a877e2c3dc81e7690ee491c216e4eec00c29a258e1b76ea87a4bbf4263caba68ac991f4327aae9ccaa448abd4b72f3b9b6e4bced047004d564a33d1ed6cf2962d8eb68b5969ca7118ecae058179a1a9ab1d61d641b142ed6d758eba978d1c40ca2d7b058848af7a12de45fb1cf233c87f53a08ef8ec3e7097c74139911ecafcd6007b59663de5ddfaa29df0a10b52064b3dd12f90c7c5f0dec13187407cc3401ebd26bd1b742cbb495de129cd832dd9d807e8ba7af568e38df1ba72c10293bc3007192c5b799895f00287c40be57380bc7401c535ab1522f9e8d02b82478e13876cb3a636d4829166465c68a51f403153a9ef7ea07972b2325634afbd29dcb38b9bea9746fffac6af5be507bec1efcf22b4cbb57c690bf20655e4d656aabd76220534e454aecd84d0797362b64b67784f26493de6c9ab818722c6f7d2f35639f1d72efa83225f487597c372ca04565962ba8a8faa338bdd3b7045cb368541da60a4b17f0689de71b63f363230ce825169f864124323752cdc2828aa5f5c0203cc9298552e8524e742ddeb64a5be9981647b3b286ecad4cb11ff7e85c1ab94040850668e50d6ed8ce8794802b0752ab066ca101f85f7bc3416609c62713daf4c1673ddcbf98f88c014d61a026a42a22998648d5870ac9a79e0361c9d0c9d4ab51e6a824603feb4b115ccf1e459e0e5cf82032fafba12daf27b63082d78fd7cf315577a21ce963db12325e4658cf5b752c9187a49cc3feacb3970343df61553ab7f3c5a3f84817789b39ab20f2da1b3e334347e45c319d30339bd95f1d26db40100cd46ee2d224e456c0ac83146650d28931b0f62a6c4e92483bad2807c05ec99ced447d9269e410c2e30bdcc511f5b721708d52a47d695f8a72fb9945e4349b35dddc6257c1d430e47378a9c25aa8db4938804bb9c23af1f8c94640703e4f848b752ec8b8f7767f8b991acc746fe95eeac78a1b8f4f466d59c0007f7b64be3d3b3bb02fa7ec3a0720d094fc2993ade0fec49440c2257a5252ff901e19bb49e6e9df91157d04b85d4a7fdcb30c4491f5981fc83fbc5be9e37640a1dbca5388473ee3665fc4303784763397192df51064eb244ac3f1133fdf4e6afcb6f86fa5cf16c560673cfdce47da756befd832fd77cf5843c4f42e099c4026792d082fb9ddbad9d7abebfec5339991f9c6590c9c23019887941954689476635137e062d52865461ae44b02728b18fb031ca328f1269594d51a5de4c33de745f170dadc184d8d7656918c8c8df1ce28cc140c9b6c822aa11e3512baea0a2bc32fb53ecf47b2b8a2ebcaf44ff3aa722a401b9f7a2da2ba594c3df897c9c28cc4a94e84d8dccec1c0d52db9923fbf535d3b74bc5f702e02a1848a0c7e1d5e9cdcccb7223543d07b6975814dd7a0655b9a3825aff180199ce838b920cbbef857402749adfce7f9921af13318ab9df40dd00423e7bbd9bd090aa9f8c7f7235ccf5851b615a60596f1fafb12cf9f6bd6c7544899055fcfd520146851a95326c145560ed9c8d2b0e60953474df702b97b49d08a8ccedd977e01b3084671d40646a5ad0289f6798177963ffb471dd352a77a66ee48e1f995a6ff01a0e7407bb1da3c581e96dc8c09a8aeb8b76c36f6e9a2fc5288e036832ef3dc68ca5e58b76ea92f976650c8c03a247be14167daf97508841b535a337942247aeb91857d541ad697caeb87e94cb38fe3d2a168453b2c1a8352118e4bc0de34cd72270e64d50f016451ac8bd38d64d81c5a0b51f2a44dd5cd8656b2944f16073a858bcfdd47aa92822a61cc1a7d12c5448205deeec2b94c73a82f3493c614a4eeadb6bdff8adcd82554783007f3b308696e5c56696e90572aaa0d22ea7134f61ad5bb7314457de489d1cb5709cd88ffbcc161a238f3bac1304f4912eccee3e9e8f642829c5159b5b085681f3f7ae07355bea288d4bf87099530b0b02e9a715d2be7a0db5fceff0a17e13ceb23801061e1f8adba2099923e8c4f7eab4a6865c3d5b757c22401ceb43bdc94e2056f6b98fd1acd71e081e67baba709f1cc8e503aababc1525b58d9dea7c41078273b696bf9c1d1b5bcac20b72e57a3db21d864d5258fbb3afd15346d6b2e3dd8103f6259488d21916a72b7b18af3b4e0a3d3ba2a4d399f2498dba44441479c08ce6120ad077fec2ea84174f26a16e14c5ee15ec1f6e2cb5e2acb122234e15dad532dc868e688786faa303ae83bb1d2a3669e2d7716a5a29c513518c0a7ccd2164e6d5403750e28ca01fe16be70fd9c65efcc9ae0feda39c3ebda6b4aa9309a1676156d6d5e7cd1417ab7fc2980ec40ae03c15c1407b1c2fb240645415440b63bf15c978a8ff7bb7b21bbecb9375bd639284357e9f308ee25686c174ccbec5b3902d1a1f497ca198fcf39734a991aecba9e8f7de277016db8ce03e5917c617311fcb759ee3ddb2038b7de18d1bdb620c070af05226f78ea512222a430070161de07a7d12e4845cba3a8f45f239b9f758af25ded1f625b2db22f3dc91bc78b582be9a3af1719b255a54ee3ca4cd2542f1e91b0a6292eb8869abd766318aab9e60b0eb6c357ea3217f47c0cf8a39a7195dac5bda06955e453d3ebc4d7cdbd1c026c80bbfd4716984df41c44699b16e00c44b7b0de19211b1cb56f3dd9f3426633160196178b62a8fa76a957bcfd69e71c1e23ebeae49ff5cd8934e587502be3e44d3950969b0d7eb92b174037de31ee1e3a0d60bb511ba46a278438c24366861d4cd04172eb3df2382be61774d6a08564e79aef50a72c09eb45a56673acbcdf85650698e843478c3e8f3c6ce76730e225e9e69c13f6a6dacef777329bfbbd47c712100ca8c0a5d56b4eb68e5422a147fb819e56955825f07b00b2f968c8503c33a68c6f5b48f2ab558ad5a9ad2448674f5736d2c3eb1db2535dd359b8d43c01ba9e218cb7152ffed8de848ee3f675cee496dd1e0166f49eec4ff748efd729b685f0d5b6caade0c81c132c01521986935d6b63677ef47525b8de0a4b981697e3f598d86223f123c600c88266a996747bed67bf15a4ccfe8bc5993904206b958a904214f8ffbe67af8cc4208b2abe5ae19bda4e87a2915b46995f831aab8b924fed0395f9dbfa34a2ba682f7ce91d71700b49c47bfd77d7e9ca8c8e14d4793272945393c987cae008866e961d39324fe5d5943b20675ee16c9ebf1c71c259a9743b5bea1f25aa76a42a548385e14a3de2c2c7ba0a28ada60bf4421a50db9ddd16ad76eee53c95fbe49b5c528752ca04702d717acc2c12b4505ceefe88b6e832c5166252728a870839eca87d32cb9f7e4f70f1eded2573dfcc2ecac957e69afea0444e45cbafa44d0fe8616d7a3de8716b9131ba126cd34beb3d986a75e9cbb78ce469f639a2a8168986bb1831910beef2a8958fa4cfe62bded47056f62f3e17da3093bb30988fa57b279fe7761cbdef479fa4ea6f03b80589f508c17a55e1d0727fb81e4d0d27708188ae05a00290f10a05a727eeae7effe328aebcf8a015dd093144f78eefa301eb845060a6a2296896293d5a93fefff125dfd484087864385b709cb96fa91fd0c38843df2faeffbd574946f1c1e6e85e782ff3519390a724074fb467dcd0ebf7aab4d576956fca28514f229f6817158fdded1eba86b6e069525ccfc4829fb388da9e08f631a80038d0e14511f14cf5fe76840a7c80b8b20030cac4359eae65f1e3ece2875896852e63e6bf0272859a80e4019dfe0a1445126a62355ce955a88a02940cf8d9bc6e6325e0ba16b60886cb6e6502a5330964016e01cb145e49dce3456808b9f6c91f701be821583474ed55176ee0a2bed6d603340404484b30c0260faf4451c4bc9d961afbf0dc86dc58c09bdf883c198b08f4cb5ac1ef1dfd5fb3ce7ad4b5e2dc28f601c545fcba5a819ff6512c931b97def40cb17d8d2b55941365009aca1d11fdb79b10c364cfb172dadac6b74b0c6af4661bd7aafc4c94f876b7da551a2efeb56f0d7575446386f4b7db97d5d4e40b2de20271af76009eacc146022284cfd68acfcfd10401c37f40728355e3232942bbc74c63e760cb82df88956a10f5fbe28e16f1fd59390325406aa8288eb64586ad6b4754269434ca58d7a06f721a7529603b985bd30eb8828682e852c52cfd7eff935342c8cfc176511d54993ec54de8268e1f3e83db6b5e13fac7853c72489ca4268acd9f253078e00647fe533cc976b935390e600f7ee811a6ec8464e735ffbb7fa6666d16da2aabf85e16d395d9c3997fdd45695beed6f893e56c6df6dd4dfd44db2951d095053e3de4192710340a8f0a94b1f828c6dcb3ed56100f80c4fc7ae900e51d0d3941ce4fd12813b09c46856b033493ad0232a6dd0dd91842a9c17b5a08a837e013fb99e47e5f9a65813387cb74a4769b6f43bae3e4d8e69305c2eac9a62948fca7176ae21a97fce0cbd39b87d6b6da3d044af2a2863bbb64b2a2cb468859caf4e0a59e70badc98302d32d0a9787625f1669c38a6ffa92a4331db11cdfde44632f90a244a1ea040feb33742cae6ed1d77c7850d53a3c090d32bad59a8630596c67cc6c1b9def1095645dc0ee2a7713e4762fcf28c6892e0a34d567d697fd4052448aff2fb20f067a57e384ad31e9ffa240ef107de46360a5587adb968976bd68a05e12354672c935eedec3827725c90373bf58eb44f3e220bad43b5fae96b63aa0b80104d901fa5b5f6e5c1ade20b34b7f04a9c608e004f1d9855f31a7031cf17a0a6e46a935e0773f6f8af1a23e033cb1e88274a356b9c2df2879ed35b5c5adb47f12b4151fa06b320b12e4869def31e0236c129dbf238759c01caf559146a905b6e82b19d4af18d4c24924fe446355c3a7ce5de38b89b4e14c234b9da5ba0b7fdfee62ee901eab755f289e9a04783fc5962097a1fabbf1db9a88394bfdefa0ba52ca164904e0424dc416a6fa34b9669b8f0974705f3a029093e59c611dce4630e6963cf769d03a6ef15d009350c15994c0ea35c52dd34eb2231c533f9522e2d7d30e918635ac343fb3f4c30f319c50b24571f60e294eb956032e6e6f09569800e1a337392fb91dc305efe079357af6762272c38e0a96b59b72101688252c4fe119415e954ccb59fc83be2e295bda1a7f73bfae28a6c4a41f3fac7bdeccffeb84bc881565b5433c4ce5305237b01ee5b19df4e212be947ac51554b7f49dac0ea6b2815c062ba64f9bd3ddc1c10f978eaf4e6d8a2a834bdc97c483c14ce411223cedaa2064e8fd01f51ed25095fe9216117db984e7171d4e0834bb31afdbbbbbf9b4e7f9f1116c61cb6b5c475994919b2b46c61f1b4f8a4b2d188812782f60d13027e076e34a54f52ee692daf834f9f34b26c300f0ab4c255a602ee215cc302041deb15824e52c80e67d3ba215a61f18b1893b296799c4cc2f98e33c6c018dc60e7a5fed6a19b945485d7b41d151612d9b6c99774223e95f5d92c959a330c7783e0c9f9e5014d5434c84a5ecd237fbd24f38fed7e62b1f6c7b2d92b381d274509480b3a8efa93512308f61e2727130678730af6d84b9c3f92d42f6c2c9e7dee17df45b4158cd0eb4ad80888e8c5512d7583f8a0504acf447f04595c2054beb8cd85292aa3b1916d41946fcbc23c0f345003b01ee40fd3deeb69763a4841ef6d8a58d3a91b787b2f13e7dc7e6fa0573b43f8191051d94d58516333670654066a30314e18d769bf7375c472659e85712920f508872866b99b7af0479f816038485393bf4ef95cef507c3cebb409f9bcc97d6a5ff641aca591e04d32717317515f9dbb3a2aa9ad3fe6a7fd6ed52f844762c7bb0375c7a97cdf1e0a93f92e1ea1d6313239be61fb6ab47e827d132debeb3cdedf05e3c07c50501dc6bd2beb7acd6bc7c6b872eb5610260de716b46827297a32750243efadcad923e2d765792de419426e39921a38536a960990c8adfe2fb117a961473bfc5fed8069f0f9dcb8e83b501fd1ce8c947b47eaeb4ea2cf958bc081474f8d776b0c04426a44ac6350da6bf653064aef5984b35dc20d322dab779d444b82aa086769667e991630154ee57be3f404b7fac08f8d66133ab7c996d6f1b143b0a40c7c39fedfd48fa2d4f37a452d5caee055f1429cdedd6004a90552f69f2e1c593cf46841d56810094f5bd5209f9553124df29bbd0b6f8836e5aaebb1eb7f86bb40d4c1b1dc888f20b6043dd4e7efb1b9ef824e9f264e0d547e66577856abfb580785328499f3b75017bc607a0df13aab30a1e78af740df6d11ae8c244ac283b7a58b86ba494fccbf3ead38210416325cf70023b4e8596b3699259e22d800a713847b0b4997248c7b279a8b5fe94e36e5445f27049933a9e27fc59645be9b33f77a3bbaaab5fce81696c3ff0d547664be919de5381bb01321a5bccc183dec8e57a205a4bb45d38d0cc4dbb6504043aa72f558fc01a1ffef107d2bfb7ab6c83981602ce02aac2c197acfbba653fce2bd922eb3efa118270c8b04229c31aede1cde7e49362cfbb626129e21abbe0ac28e8afde04a0904a31c9cec69b545c77b5a3cedda129913528b66212bba5505dda26b75483d67e04b180d3673360d9aeba75e71b8bdf64710846e24a0955ef1f38f137577a5049dd58dd4b867463b21fead5f4784179588902f9aa60f240f79a09daa24d771b4655addf022d11c296518f870b9f9f6a38bc9dbbb4d0adeae9d6933312c7d88ce41bb17536c8731cabd98c6d646ab8c8c3c44487bbc03c3527b35ba94c7116c6558dd3adc1d78a7a67ef2551727d8da22416d2fc877f39c17d026c31b9d61c88ed4d2fd80a5137f1334f717a898cadc1075c124494a65a65cbfe44aa9b21d098d0417ffc1d9083c5c5da04848dcfb393f1d057b9b8b351411fcffc1e7ffec47a02c821519a65a30d83e21949b58fad3b1c33b41aa0c09da80ddcbb0064fd822a4746567656d276a6316249ddc3781035053992699388e88ad692da70b5ce67eeaefd3975c6c746cbd8bbc6e4ea1cc04b5098e905d15b219d36cdd03922459803d829a918433de9598d974e2f2c2e4622c38d171fd690ba3f3c74dadc49c6eafade76f00ed91f0af6aa8ef2f466c2d75dbb131d3ca655525b94f9faa59c4796044f564e14b720fb559d6829f35db19f5ce1b05275a7c0a040012696fddb0e50c0730e8747ea02a3d6eb362ee1d202190e57f5ea92efae4f0264dc385879c16aa7bf978eec50e484212863326ccd90bfcb758d42f0d33605db4d2d35e8f64ad615d8ba0f9cd58df5bdf8ac34c98810ad34c3c758aab19f069f650769942f3bd7419edf2ba2269f6b0f0063b7ea3396a900c5965f8d245d5b493f2ff0f6380ce1ec27ef5e3e55efbc9be392773d91923f723ad6cc897bde7dcc742b96bdf8c8d76751c80d22f1157765b6915d4b8221e267c2cfa9b4709de9d84c6d1b616eb742bb67664a3f646e87f34235d1b42c6747b0f7af773db32930b709f2336d6df981da6903d3a172b3e446ee91b53c3c88f370e809938ca4f037df5f2a65086718355d009194f40fe8da7556e8adb46ecbac5638de6712ca152158cc6faf994cafbd6b70759383758f5f6fb91ebd1572108644a7bf074118289668bae217b26610ae6f8107d9977608f58186028fefe111609be8ad30f90e390a6ca647a815efb4710fcedf00831a6dae2f18dffc58d9272b4675b682d9d045f8ee8b6ce2b73bc281ae6bcccc4ab1ba9b3054c3e2fa6d25b0622f4d59d8cd6ae964f4f7d38039b00164240eb1927e313ca8c36173f7a857f9e375a322caf3ee85fd875af8df3cdbc9cb6248270740b72c3a5317eb968fca19fb1ad82f65203d414a42d8edac6ad6805e2ca13f7d01cea46839fd7ce446441b348adca0f594815df3e63cca46870baa812c424608e8e54ad788cdd200ca51d6bc79b7521c35dc5b2e103dd2fdad6b270ebb8d76ca3fac29ce192aa28963f7930b34e2e18c0e12f61b75cb50cf02ed0674f325906bb0eedfcf6db08e9c57761e5ec4d7bbe1b139642fff1bc59b7c471152d025b9198545f90070505f9393d0c0e596dbabc7cacae9452629f94f616dda55a3ec80d105219981518290bc04f2dd716dfc3da1673cea415ce5198c3d0aa36de38da61b664cd953451b34f3299976ad071f6d08465573b7cb7318ddf07c00d00582a32dc2a1c68e0de806d3c9a043cc80d109ccfe42ea723cc168fc1e4d6ee4f5a7cffa64993bf1546d5d9e8c0c2263fdb218d570599833b16aed0121c8ab2e24d2e976aa748abfaa9e96d8d92a53d0e839627eea5b5af1b26c41fd1822b6ce846bf9357268f39d59ba8b268fbea26909e63936d704b5760bbec9325c001c42e9ff5abe90c6ddded240542126da7aac1447f9712aa36e7294552871a88c5342df50c3512f8158d5308a0fbf530b1435ece68097d0a7fd4ebb5bfba9b4878092c09d68d804699e75be14be7c8379ef83d0f88528fc25d2119dfd2278f793e0284b80a7e57e0f49226fbc95e976407fa4bdcd5f94ff534f5251c5001d721e72694dd84911f10d2da450ef079d93d046b05ba75fde2ee8fe6c769f8701db6e2bc61e8fed034349338665f7b85295f0c41c2291298884ead13e00c86bdf1482b13c24adca7de28312df025b94d2752ce2a3ab161046ef9336f3626273a378a889d751aeef4c3590dd21628eea3a9e250714a76c89e389f1f87fa61a95b634ce110c9d5634b492ce394c5d2aa340797912c9118e257ef8f92c44baed4313a108272c9e8c26d928ce5d81f65908aafa0163722137b698584903c27c8c389518156d36a6d1e1cfe59a0a12968a15b39c02f8975b286b224ef6883fd20d2dc7b4f6d822473d972fcdd2e0c9aa9423441a4e7578961d9e2703606d1c9d6c05529819ae7ea678a276295abb46fbb7a24562c5c76447918d51f51bf325429e4b6382845ca17f9bd4c35b2fc229dceb9bad094c70fbe3bc41705cdb8959d18fafa011353f8dbc3e8b3898a93505b6d662fec5987567ffd81283d51fa8684e30c9eb0d305860eb67283a581b8470060d7587aadb79eb78b5e0e02ac1033c2fc3151960344b27073e64c182e445a7575b37e025d453b7edf41347e614aabfba3561b4d6662597e63f04a837ca08d02955e3c3293556ae87c1fab5207fd8a6d790c360308fb28bcaa8a5836ca8cbaea78093701882d9b646d79354b4e1ab5b833d7c3afe70856dad6eaf89dc1c379046fd0864606664e2033a258cc94377e154d3abdbee39689fc60aa81f3bfe3a03e0782596f83414dfe04af69c5b2f84b7679dc1ef606831790f070c06afa22150bd8b6a4fc1e1a5f7e7c8615e007b1e7692c8e1afa256049db0d70b476e8e3cae6439b328f538c3e69d79891d9d57231d9fd3d7bbc7c487e96bbdf9985c0f00b753957f7c60a145773dd126a5d0a7194510fe5dc8fadaf46a57b82a54c6ab1e18bb52e5994d87012f905aca0246bf34a2532b453e76bb163a860cb76088dbcdc3476947bd2edf97a9d06f70020226ce8b8fcc9ac282faff89f4a040b30f96ea2174693a099132e4b02244cd510d558807189a41c2822868774c1be9bc218b9e1130e90e71525faac7050aa307cf780e8c7ffe05d318dfd8c77a7818f578c5f38583ba35997559fbc55bc9a7038e9ad31bab5ba1722afadef88b96ee4cc15f3a2397dae1d762049648c29283429b0e6e26601876aedf30fc9bb4aba8dab8e77d1bb1436cbb64f02dd8924d56abbf53ce785f2150585ef9c8bf15f6e839b4b6eeaa65bcf06cf182dc5a1f669288be92c016064a7f2ae66446b5aff45127a56a2bb7759f88d030faa0b2df32984dbce4c1ad2ff6d89f568172273d197f0bf47a877e1a16f99d65a7442c1097e1e1bfd5868738adc4251c24ba3d447efe29a3fceca9f3381fddca94cfbfff9a75a9b4093a3e9eba57d1199c276ea07dc7392072670e86e19934ac764193059464951c2537ddc587e5607cddb387f48b3d1d3d30db164e52115782febd3932f1791a547378dcc547b4a2a2a7f8d1186542497ef846e5693dc11585ff07afb8e04de4cd5c23d233964c2c243cb66d520560d8bd579e0c9859c1408f04549733f412ec4b14571e362ae8fee858c1c65aa3a482446c396bd19e2207718d662f01c74856636166c2210fe488ac231e34fa87cec21df9bff110ddd4f3b456a9f1706f4a6fd1696a6656dac2a3a94f1fe00c1b9a998905f1ddee626df1e71ebc88816515a87aa649c2842bd5f16d8affa8b210e5877a978bb37152b7fb97774771820dac513cdeba61b7d340e219e22d9f39666904cb016ebca3e53ec498230cc28588b4562f8e8df53157b671c6307c449398fc2d4898fa05dbc0172e06ef15ae12321581665958e580094ec3a313453e17d8f5e2e72d1a20416521c93dfff44ff36861d68b2364a93213c6cdd80591d2d29efad2be60cc3f1ab462684b7125127ce34d37403f623e18b1ef76ed3c50b8044f7069eec947b48514412423d42e1931dabc5828f93be7c7a3d0f41e63e07cf9142d3d79571c2d600ae26d426c44d137189ab4587c4a472e0e6dd5a37e2ca1abe029d083e6192f009439a1705a3fa10303ddcc7c72c7a2620386d603b79ab728d7c9b90bdf18d12f4bd878f2036e6b61629fa3414c97f0622e5afbf3a20be881f6bd167044538874cb39f6fe1b448d95c54beb838b2ce05ad7207c4e2cbeffd5dd011026774eca59d3d98eef6c9bce22089aaf16746001fef2926b5d58b5daa24c1ebfa2fa8d599064cb82c3ba89ee67fb740af463813fe21a1c1e652702e79979d1913eda66569dbbec21507cdd5f07eec8dcf104c616470392f6706b995e3d11c093f4744ec046bacbdac10cfda6fc6f65e9916dc16232f4b83ae9ebbe79d7cf7676cf65ce9f81d9acc74576a58f1d2822888aa9f71a5bd571b14163090691f383b02b0b5048768425f189f5632672a94d5062c69695591586c0ab9dffdb2e3d0132b78cab6e8ed63d4cda1f3ba48571194f7987d2aff4cd59d065642baedd7eb4876203dcdfb8bd4e2f5fdd097e39870c7d97de9e179cf11f626eeaccc86db7d38cfe0a3885cae75b4ccaf855978b3245c53d8022b3be41a02e7268e542bf7e530afab901ac70a7300902c4991fcc348f5077d600eafbb34157ac705b620324376732e6770ffd407f77335f91b42ad7de86d36c980e72db1678eb525dee1be8896a2cbe671873c9bae21a547abd48fbb20cc370fd7eda094230e2c4808ce7fad0f763ae031af02ea194911f6361f884a0348405f8218cc61ff53922b79528927a83f1afa1490c739b76492a22f93523c56938f41113063e3b6b253f0bb330e35d0d28c2758fc0f5467e995d5a35b680eea65e4740fe2c669a92a52cbeb2d751a5ffd638831c81ee0233e518a1c1b3a6c4722663b500e7c4430dbf974fff51d70248518dab004d2f6ad46c8acf826c3b7a5313ef13037dc7acb384ef6f443bb41355e64dc71386ea80cd05b79b434a4d45a8fb3fc61bf76969d6c5fe0db3175a6fb0d09e80ca48b80501cf25b6f8d8d4c2e6b4e69eec9a24290515524f9460223c571a8dd19f1a54e9f79944a3459731203fd08bad709207adbc48699c7a5e10d5a3a8b5b196ee70c9225b49470fffc83e429d6c32461e44bc1f6e0e24c890afec5914b4a9351b1c9b2e1fec26cf25ceae9fc8722c766ef510038840469b3fcaa8ecfdaca8ca71cd30a7750fd0f72c061db7114e369b577bac62a76ae8f6894f1a3c606fd309a78512ca75078a4d1292f05a5602a34c5176fc93d8dbae76ff2575c57267693ffab8c2e0597e418d4d77cb5aa43c82921252d22f266eaf9ba72c1f127de208d6704b13a3b9a66335501d8b745f72a54689f01f6ea66b224ca7ac28815036678df6deab671fdc0f7afdc54ad9dbeef60caf27c53c38c45343a2b68e690924568aba4f0b08472bc326804bc83d6659b6899ecc6262a7f450af7e9db08108786af52731786fc13968a144b73972e83163c90f6e3e80911c44d140d68ec089e2aa2a4fd6efee0252677d4c44885a12bcc1ec163c0cf56f07d09d2f95126a84e9425813372083524d08339826a088396357bccfa6f6c38496f114afb3dfa01c84ff1526c23de84b632cb56b73e44b21a6f2a2d944e11f4e33d942c67dccab2ee118db0cdfed3134dd06e9e212ba295d4ea2f58dbacdd676749a26f0bc8665d5dcd45b23eb7f0fa6e6dc8ea301a6c7e662448235598b3950fa722ee3bbeb9d318d3c03627f14635554c68a650711f70dcb511121d4058265569731700d281663af92bb7b89ed609b0d1b6efcfa12dc75fda2392f09f1f58fb10962d4a88774ae925282e2f2fa18bd2a76f7ed0604b502d9a1904507530d9a71ef6ccddb840d29a447e121f55a1eeba2ae055186aca2511e193e3437967557405f9dedd781750dabcb9c711b0ea02dd2d652a7a955a3648c5de71a70f168cc7e803cb7841be4f789f4793e9d24403b5ce67fed88846dc1fc202a93ba57e751e1c7031e0166fbf3c831b8a55d5d22aef300ed4f257ca00d9393adb1a197d70e77a7a4481a69e3c7b5d3798b30cbe3844b3741bb129680cd6919365d77fa46647413f8f38027674ba6fa7be64ebc9e9e2428b4dc062de8f7fb0421f2443db32b3e63b50df464d1a699d0b6c8b281524e00795a143589bd654e960f750ac4c4fa0fbe20d303515b90f6ede144f0e935684018b5a894c33f3770313ffbf99715df38e8ff7d4f569bf749b8891cb9db4dbdfd6bc5f0650d39f51a5311fc65807231291decadca5305f08bc663557048dca22a95c9662e5aaad1a4944feac94d8c12f8dcef41aef22d2147228c049eea36289e0cfd25c8ed375b2da6f3071de21a2dc53c495b0e6e4537e150ac10f016249ba413af15a072c853ba1fcd5868bec955b1852b75414e4fc2fd220b1bb3f82c108d0d5e256eb31f6bb3e3d21d765d943c39bc59fce514a7b1d27c43f8d2c318a2ba19deb1c15f27f25e7c286f28f20693d25926c6973f0186b181da8ad81c67ddfbf82c64bf762cbf815a6f80a2b377ef682314f3947335aab698a3ab7798015e4927c7dda57bcc0cd6938ec587a7e015eb71e8a850ce133fcc935b743dfe6114593efea324ad0c22a46cd666f12b39b0a1d48644b0a399669498384878a936e6a2fdc2a25059797fb93316a265e2d008cfcad2747a42092ea038a13783a32a80b1775f4de07ca0259245ed88cef44ff0230d881c236deb7bb3122bc216d482d9045aa0fa0c12cb28d184f3b3342f1073a7650bc275fae3782d23f3056bfafe652f054fa09fe87f0a0b36fccb3a3c5290936d9e7a71e7ce3e90fe27b9bdd72807428edef516fe8758e2aa728648dad5a68597b7ef1cd6d8d673aaf8022e573ff7851ea1fedfccce3075ff1f87f40a535c983c75d2b18de37a636b7321197d6f3d8e8bcba22b2b5bd2c78ef995012431f45f4cc0e24c8f68c4056c6b92750d5f7398eec81a1ab704064e229da6d518afe515367ca5f2a19fbfe769667b7e336e7a0c665f93c9c8f3ec25a410c79cc17bc07771d78701a3e12f75c9866e8c71d234bf01782611fadfa4ad7298e951c4070557954b084985fe04af5a25394a258b216b79e4c1ae5be1e59c8420739d3d05025b7c5dd123b9fdf6617a45a9a91ac5238dd6ab6b342e56b24df39091800c8a1e40848bc3a640aaf349aa7703ef00235d6b5ad319c98e8aa1a69c3d729c210d920e09bc3aa07554c22b2853bcddc454546a904ca5fc280155e51c9204ac7b13fe810a992348d2aadb7ff2504748851d612ebffdcc46800933469640a42e44bcfaa3a916c949645ceb6a4049799ea5555cf183b1405d2e10577dbada58975ab3b1e787934ec6b4a83a3124f73b9990257c1f76fcbc57c5709ee17a25d544be5023457c11b92128a1a98ab3bdbf022c59460205b69dd9752494446bc4628c7989da8e2c01ad7c0cdace4ec20e302f2f7c0932fdca4f308495af8ba2ff0fd983983e572bf0a5a7a7e3b45d21894b4d5d07792403c0a03ac8db46fad3c8098055c11846821105c75ed266e482da84773ba48ca4469311d97d93bfdb70105ab7825963727f129f0eb4c0674de256ab703e8566a82614d5b257a91adaae5164311092b89b33065226608f11664e7f2a04f5fa641a1c6ca109fda7cdec574b784620d555a50270bdf49d55cd6c3ab4e7d7effd354401a9ba79a276cc68a253cb8cd6992561b6cffa7560efbb02a7e1d53833aaaca595d5c9d6e2f2793f06998afc916e8741ffee9faea58ab9474a496da8be55cde697a42e1a3d69580c005fdcd0ee813ce577e3629d496d528cd46f59ea33560f58f8e1bd23b149c45c0e739be77ebeead0267bc64fffc5e2b10138f7d50e13cebee7015b3ff7f4ddcf60ab244192260021070e4af8825441b2415fe60d646f11c8da38b07f3b3c2863a559feff4cf000ac759a08140171367cbf81e31a60593d33f256830a210cf0f906fd4693db0d8e7705138dc476e802f0840b86c3f98eefd981b05aeb42ded476ffb0ad25d4e29b42c4c9d96523b528094c9a09798b841cee2252cc1d25726b1986a87ac2d6c4a7893a017791b13bbc3e3fcaf1bd916f498c49aaab6b2d4e72b19b44bcc966f9996e4f632dd462bba57258eac7e6fbd3a536882e3f5ca1056674df8e2c2d6714cd480d1e4215b82602e4295f511c038826820c04c4024f34fe6361b30c47a5cc2f75cfae93b608e9cc7691859d86bed7068627543ef8ba4058842dcc3f5816ca81d0fae25c72f2d64355adc264e4d6612fc03ddce973c104a0a84a0e49ed0cba031dbb2d305c4dfe938f280f54714b33dee9845753a844b7b6a145d4834665223f897e759e34ea34946e5e049de80fc406e95be5b5fb259fadb7d824441bde9e99928ec462d67f14a29558a980d1aa484e784281956dfc757e5eb555c5ebcdaa31238f80fb9cf9d6c7a2a3eefe937490a6fbc110a6d10fe10c41fa11684b1263a4fb0e4079c9e407ca351fb22bb7712d2dc82bf16843f000903ac50c0be7332cc8a169c029594f83e8484b1692cee32ae69e2e818a892a4c181d225da816670e3efc89aaf6d28f84dec7732fd12a5064b627ca3a8aba931a774120497947112441f947ec8db15b9493b4649342768b9bf463e1deeab9a68256eb1497fc6f13f27667c31aa9719b1511b61edd95500937373c9334da999315537d197910afea5a8574ad5f2fe00ed524d812300856a39d1323ac0220fe65fd15e345fddfd41998c4e5be323d7b961d1347ec448a7dc023924b53d652859b9be6d27ecfc073d185a6a3b336cc02ce040643a36975b447d7a7aaec17c99b34b5daf23b7e8d3e2b17ebf11280dd8efd3052de6700c87fefebb457b84bf5d10869c8d1cce2c1a68b36791778314cb595d3c91bea48ba3cfc1ba38e83344a5e8fdc9f90f619a8bd279a7b0d46aa35d6ed37d8b7edb8b686e626afea145f059407b9940c0789398b15c9c1db81be573714a86816171073ce6e9b6f8b003e75597c31ad1acd59067c05967fa5433b5146b56351ae76526ddf1572802c779b2e9f9a7d58d55a0b196c0c814c0a2f8d9c617c3352585ac05f573830a8af551d2874cf536783feb47eac06b878fdaa6d0a364f6cf7f1e3322f5c60be6c7809913ab61ed6a28d750e864e408d89c726d04794536db36055182c3a72dfec49b8f9040f042ce8f8652d82fa22776e2e5ef898531de2ea4b710fea2d7555ef437e524c394f2cd96165a125da7dfc3f75ebac9bee9819f06323504a2f049df1bf5975231f08182b101299f9af765f7caaceb3b58726b6f9a7710d117a102b0eae9714b70a4169a9f0d9e144ec9545ab560357984206200087789cb923e2adc37ec9edea3d981c3cfb2549d85d0ec3c16d49d0e90e9c74030e009a2c7582cacdd390fed5134f0a50166c8189ad5907bad9433ca0452b964773754ed32ab638c3c77784090f295b7feb25ddd340066ecae8a1f85df0a58277200a2fe6b0f53fc2d925583434abb65398794a42da7dd14d9b71a575f8d015b501feea14282c3266a6b7d1093663dd94899aaa3d9818c30585fe2a7813c437e37cc43ccbd6cab55e4a48c7b0565d1c2c1d09d43a42a2a88346a29d683ab781095d78cf8b8c5f43bda965102026525ae8b9f9e64c0113151f73520a91d483cdb3ba29628f1397dc2abe6f9943630ed849b1a0d6752dd326c16d4bd124d1b68afc675ecb1320e076983f9bf59aaa170e5bb3dfc0919fbaae158bfa06d3b2126c89fdfef8a20eaff627bcbe16c8ebaa1ef4ccd86669046d67f89d7a25bac1b16dba6de16ed33289a4f507c53610fc0e39cc8bd555eff680a9b7b41e260e23f57c422602f192f9709e3ef4a25cda129b101cff304eb817181ae275d9905bb4b96d7909031248740bef6e132b4048d7df44e99ae5bd09a38d06688d7c618b7029dac5374dd6052b17d2baf8572b9c5aa0fea2d44509379fb6f97e1693bd92d0172169f6071c7707eaecbdf2cf1c1aabfae161d6dddd00992f1375b537b6e624b9f024a4375465cd60898443c7b1db4f17c0c688006a502435a444ce56969ed0b70f718b424903b60b5eccebaaa068edad7952b56bbf480b17de54f8511aee14dd2f3ccff59980ab8edccb408b86ccf28a039c623ac72593a2eaa0d4972c3601d985eb2e05e32ef7f29075b5f10ba5606dda90fd36fe06a629e321fc8ffab4552a9aadfcaba83a7426b1b9ecdc8ad5658146cf2fc9288bbc35bc64a7262e67eedd4700cfea4ee1bfb7d636abdd1e575ccee05479ca39412b4b90ae48674003dced77f5c472453f582319b2743064705a6c8579bd727d0a9009f74279a44c7443e49e6d24c289608ebe30da3a806fe908428b4239972257c9653e2e274ce48e64b8d27114fe94598c2039f6d4e43bde3992fa7fe6027efda4aaebb4a8afaed1463c081799a7677ba907cac2e0f12c66e05ba30efb085dad1aa3b37bd2ae0837e8bfe9c3e27b249f03273fdd4c2f7198040e29ea4b14d487543aac27676e724617f036b3770bfd978ae5f40f6bf60af2cefe36f41faab86a9f20995e85f55e123146758fe3f138abb5406f8b718f5467489e829cdcf1a019fab3f2eaa3ec5a98158a1a76126871334dbae44ab4a2afb172e62f2e2a97a6899b763e9d81fe162c8161601e2d97400e8e6a53cbb95a3307234e1ff28242f146bf920cb79b667f72873b654db0e3e2fd9de0825606a9c3450b9cf7ecdd3966c10c671501af9b056977bb491b270eef5dccf9b605029d7f752d7ae97bf37c86381014ddcf7b1f1d1d694f4856e5bf0c782172ff3c590024b5508c55fb5c2a7e111f8ba4682af45f4c0755e934dae0a055476e9c273bca7de1c4afd00f6054cc709664b600ffd08aef2c0bdc22f554fe03237c7611722335c9c0229cb03c61fe3099882098e2a1fb8d17ed8ba1ddc5c6a9af7923c2b447187c4f1c0d74b8e3760feebc1966c727e2f45b2538b61d87741f05ef02da066b21441e2e4723315da3176135389dcf363982315886c6dbe37fb8cc6c9b62340cec0d4c632a17f346091eca60cb4b941ec4bd7ba496eede79b00b27f3d24af2a56b9880b00b375bfff0b186249188ca9dd125170d3d2768a4e5d9ebb5a62d2b030cd75d824b4d8e56a200e2f23a43fef1171539ab9a9d9c8e5e85e9f963aac264ae069609f7d50715b2afc8b3e85c8529ea03d94c796818a98e9a00f326d60967aa615ac46c1f64f4fdfc21599f55556f3924c78c5e0e0cfd9a52c420e661103609e2cdfcbd7ab458d93f696f1d686729856b8528ed622b4c11efd0e9722248163703d1f87c0f20d02295586589387ecd959a732ba01a4273183ed58a6015bffeb24d47957faf1a7901978d1d60f6660bfd6ea084a8cb07a1b684d18624d18b2eaff17c85a1cf2c3b673a0528aef374e854c5bf66c3c171c5b221f6ca17c0fc6d4fdff2624dc4e9475f7fd1aad177e19dc57512a6dd0321f5826a2a96abc61960958bb065247a5bb7ef7e263303af445a4f1ff1729456f5031142f42a66218f1541f901b86515328b813161dae52d47f0e3ebaa6c16f76df01a027675affc4f5228e44876082e588b6e8b814bb898489bddde8946357cb9a22ea3964f63d9e298e55e552a6482dc5cdd2a4fdfe43294c5ab82b3b5596ed3b456ce494b55cae84de2d7faed92b9a2ffa8df0d6676c48eaa5d926814b2ecf88ad219751dcbf4fa06358fa9bd561d881fcecbd7ab466f6d36f6a6d545fb22914684b683a01a839d6e8e6214f632d619fe0ee65a59ba470850c683c61a579c0bac68ff4930a24a93eb3560d59392decb4c19d422c79a6371604f7190260cc275eed839c542d0b61667b7876ceaeeef22fb2d7ff5fbfa13f6daa870b349e752e93d029a141811ed660107241ba8ce5b201d3c6767940bd2eedbff3293486be53a10ed6b71256480114234b2a55d2bfd8f4ca115cb346e790cb73f93c58ca6c2c32f1a09c3cdaf22b300f7668faba665f99e57d7697e4edeeb8232829a86c916200740a24207f81f6c52524e497a7b80039cef7cccc39529be6254150115e44d66a7af0da66a2bc546820bc1bfac998756f059e2d92e3deeb9577fba60cc03feed866267304ad38004ebe0a7acf855cee58ed618be10d2f7be31d331b6abfd49b50c978dc76281c3bdf8ce87aee45b23d11e92b8a4a9f505a0ce282685ee5ccfe5803e9ed2490370b48174f30fc77c69233e761e2ff7f67bf6a8b06361a57fadc2c7d566a4e6ad72079db46fa7038950df43f089580cb6d47d6aee8d7bb5b9797d43b44dd8cb096c10345bce6e06bda822499261b7f5704d56c2c0c6ccc44793e47a9097731011b99a41d89653b18cd82798a727b15cc6e7ab8c1c67855793463047a592ee78bd151e393be24354be8d2df8a219aefd6f8416d25d5e5d2478b78148274574c8a696ebcccd6130da39fbae947e4815798c090015c8cc730778f1675a0ec49385d5cc745e0f7403f45fa2d8ac9e4323321df4c244378cb9886942d059e9d0ba4577182a9cb0b0111d89a1f3d47e185feb59c5a17dbf6046b3008d8a9b8a83b56976d6cb0c9519d8df764015917e637b72bb32ffd77afa22e92f7d6113d19f4dce3998f41617c896c7c8822d234c99d90c749a4d032c0c74b01122c5d2de06b51000478a6f0a1ad4cac72d71b6ad3ca360bd4d88cac0a4a4788d89a1da156026a1d6e25df8d616fa08116071a259aa886e6cc514a51ad845ba0463b69c1a8609c568e5660c690d3b8f05f9924891fefb861d511ad3c287672307f74608c41883924cad328b834d7ad035b40088e780dedb2637ca9eb21cf954f1b03a3116e4743b14ad40b084fb63681b97275e3f37430d77322d7518bbc049e1cad9d8d3cfb804c7b1d7543bdaf3bac0a18693867bd61cb45480410e7b6593385c47faa921137896e0389142de672edf1d8acfd3f052024b4fbb1847ad718a0706c82e0c4ed7e9bb6358f852e3bfdb1f7affa1cf61ea9aa885e6a08e09f3ac0bf2aa706e5d5054bafda66716847f8154d26895b7f821f6f894d6528506f5535e47e37ccaa814dc17a15bc7fa3fc82053005365c031a18951d6437ea040d358cfe303b20a5ec7369101a7e17880918db32e1397ba30acbce8d40f838601c9b0157eb61e40e66d53dd64efaa8ba263edbe4e50815a947f71e4fc915075b7ceb114c42574454080b7b3681c419f8813ceff2cb1d95e6251724d105a5caae0fa95e87f9f08e187590d12b1f7bebd4fc73e1202904f51a7a9363b94b10f94f11a2ad66a16ddab3c8e65bfd34ea1daa08317b879e431dfcdececfba25eeb95e4c6864a9ac58420f17a8549006ebd589bffb20f52afedb52aebdb4155dcf47145b9689094e585d7e5015f92b541b79e7462ce6a213b01c94a15945d9f981888bfd5f3853dc04a4c75135907607b9f59aa4a6b4ad0c4f9989dd9a7441ed1ad072867383e809b15f65ad7c504c3f9a08376cf3fbb691d1317dc2c08b6685014eee1b8abcfd6849ed573c4ac29f2cb68504d17526894d7599cd2609af8d600bc8a4ffe21185420b9c507efcaa6f4b4075727078241284c7966792923c5645f26fc862a33c6f97abcadab6be40b41e6eef6a3f2bf97e0ffba8315cdb3bc59a53deea120f6fe6524a8672cda95573e57448e701dc471cb5ca2bd15a18c51520dfaf63c0c5cd1d9e254a9b1b76623f1bf2c74559846813e6a066e00a62166faedbf60aa7ba2833adfbf018810a4c60a8425fff7d28ee6dd2f3062bdf0adb6b578bd7a3b8db94114d713e16b6f73a11ae850e0162dbebc48ac063376b1916c55339169b97200ef0bf2a0da99b0d4864ee505f020c3b6d78f9a3a69be6057e8e04e703d8352d93fa9c1c1c1c943896078e21ac24d0cedae375e48aa94780a7cb8b4f1db6b7cf989a40ed581a11029131cd3af3567f5225521b67b9c25f06e5d41138613a57f2b9426e0cf87d54e2da4cecee994d5a22b41128b91cac333d4ab0b158d7806441de4fea4818f9b5bdbab53b86bedb555dbf3e8b849c40a750692f9272bf869ef02f6784e085d842e3e46171c031502776e1722bf1213463d70586666422c13fa94eb4c05625f9d68e57f2835c418199b7f58696c23c49cc989ff7f53f2cda84eae5ef5c4cfd46f0889085101be35e0854ec1077e12ac31c684d495d02c2a24a44b667ef78640b275b968e54da9ad439f9a6f81bcdc01e35a80b8da971074e6b9989d488e9970685e472edd501401364f6417aaea30243b8185bf02f0781976bd767ac777c770a162b229741eb748ddd1ab17589178f9033e9edf748b81503f63dfa14dff7776a51d2ba2505637929de8271cbe89850bf110063c13513190785f252a949c973fc833c71179a36add8699090537fc7594d61646a5bc26bfafc107ac9466cfa20667302e0861b1dcdb91a0e9cdf5e81d83dc1a75007488a04bae37450b627656a8b3154dc5254ad7da56f8359582cf559c17aa30d426039d9287f45f74cb18fd3f6d306220d016f53b73a54072123af7b34ab2085b365bd2b43fbea8081b5355c08368f9dd6738b1425971947706d22da68b0c6fcb57af87d0d7f2b0e64b18393f82b09055fae0b6b724d0baabdc379d11354b9561686e9ad24d0afd43096883232f9f53aa8beed234e3987c3e8a7b9f3f57a0428ab66847623338675ba8948253a3ed39201ee862af84cee313869f091f8750f5bac05c7c6f9c30b4f6c476036c2c96e9f56f84b25d9f4087a11cba91478e562783f452efdec9981bae708671adbec05aac5b45f4be53134402bc133ee066ab2502b41fb292c22af4d20ad88af7f90ebaf7b3088a33d061e4d4aa327589bb9cd9a266d3603309b6710957435ee8ea3a33478b86b611cb4d0816494b7dee46044fd1426b83164e8bf3c722746e006f36d119dcc1bc84298b48efacd0a973f165e29e29c2283745f43e73e15648e1b42f7f82038239ba0cd322844a5fd362ff33775f2bccb46ed651a15c4ad994c04215d7e23e7eac139c00056e45d79823a72b096b0dac6b6e12e9337a62fd5cd25483f78e569d550abe3903e653ea52d6d0f50db0a44fd36a1d6f8f4e88b0bf8e8a2e8e876b5982f82d18e2020b00e53a0fb4488ec59cf01179d63383af556023ab84affb29ebd4eb0e62517c2a0637b7b78b83b447f387e952eb1368b56bd6b968bdbcf3504edce4ba486e5c81cd82a797d0ae39eba544d47606baaa140d9a5fbd907f25ae9b3671cc0538fef94d86ce668cf50b2c9b5c7bb288720a0eaa7850a128a57bf83e9f76493e12d52bf6c0a0e9c8817b08b7ec5c00bc91b0a40108173562ca996101687944d776a25d419c10255a2d84a56d9748219b8d6f0f5091d8809dc65cce3c3cbb8d143346bfc440185610fb720caa5f059e67369902fb828992e33f2ee828ae98afeff8e87f2d46edfea785b5aa49972014df988f030ce71c18b097386f7ca19999f0eb073badd9569c12a84bb6c9c0e332159a2325c59d9e2b5556c15be4b6a716beb0a8c2a37599e145232a22eaa2ccd72fd61ce38f9d00f4322839b3497c6391571463c0185cd5bb0f6434a3290f8cbf13cb1ed66679b0eb7e0afd2c17acb3ff5d0974bf8060fd2a44b1bd32e0dcb41de1acbee7c84c6c2146031f3d3436ca9b90218b55de536225203cc4fab925ae673a1641b09c9d4a2d3edd51acc6c4bbc3d0c42194597917887608b6272a99445b7224a670b6da75f570eb5c64ad11324d77bd6176bb9b8ac3e7d3ac1d5fd60d83d56b71fb2c276528130d64157ed561aac6ef161cfcda3b0c6e8771e203b13e709a06dfd00012863084184e765e9a86cf1ebf41e1b72bc32afd88f15e1ea3693c275a2b20a6a857297e9aca7e92a205470e3c9fac5d2ea12fa53a7cf4ef1c7001ded287651219c31346376d4f769031aeffb46189204e964fdc0642abef0f344c63ba921d17f1f0afecd818507c00e5e62862a2b00de9d7f9d330446e4b51075101f9f287c6e9f1fe460c2b8217250a347e6db50c7b8967402383908993b97662145235ae8b13aca39d1d36c0935ac7189f9f3c62a10cd72a98ec6ac232b7d5552ea09d56cf15a4aa4ee62370afaa2b0233b0426a60541444dc59311fb8db5304b07583e87c05ff26fe76788ac4b3513dee276f3326c7ac0c8961548ca7b3d3185d8fbebb7396da232a68b00d380d25eb4cb7a05a01ab0cd9ba757d8f86894e7dfcbfee028570d4221c55c000fe58aa9bbaf5c87d6ba4d33b070274f9d2ea1ddc23ef2939b8bfe9c2eab8318f3f49f4c5968394b3968b8914e9e27879c9038b2557953e23532e2f3e9995c804216fd28623ddb75b27869a14227858a9af95c36e80b3a7c48fa00105966636e298250275ca5ac951fd67ef3df7c22267fb4494b237303df06d5acb3d72a33db6abdf583ab0a1a5f97a65070f4330cd138bf8078c6fdd45f052e6378d7293ab797f8043490fb64026e7773def24e56ff1b122b6b4420b18b7f42a7ef2f1386f27db976d60814130bc8f8006f5a67c2e663d36a49b3b30409040eecb723e9616bfface20484a31e461bec9beefa337ec8d26cd2a2cb7152a989c598ff5e955fb25ccf6d6d9df52f9db3ba9469e5ea62fe3ab432ef08af71b947db549b8d7e4a7c63a0e7f64bb5316da75ed0744d2d6bd548d260bd084d54e2d359a9a56c699a84670bc158b08fef4822b1b5aeee8a06cfb69ec39bccca5bcffb5a4618e27ae6ce6f0fca74fc5cf990424259a380e5d2427ec87d743c55eb1e647da0059a133419038e5f75bd0cf13b50f2f132db074fa0e2269455ebec9d664c3d8381be5a4209ca926bbcf0ff4b061b3ee987a486877fc09fb1ecb506e3375652bd97d925c9cd1249f27e892663a3beb4bca3a4069c0a65afebe0d2fedce82bb4cac68ca45c57a6965c57bcca3e36e67bd1083803152eb5ce761c4988b7da1be507863758a6c94e7e03c87f6cc564a3f6f62058d746b5173c7a74c41e7bf4ca3e909db504e7e0297ed95273ea737930a9d374b1c8848721132e6214a145774c272f4978cb831341515990fecb17cb8392ef4ac02e14a4608b314f215d58c610c8d5c0d5bc5fe27872e7d6402f7a95696968001d1e16270055368564458b057730c688efe00a18703178e3a9b6f2e6cdfa575b7a7dc8ccdef93e7ce89b17ea23d03af4e71484446636e4f1ddbf827c2664981eac5f150ddc1c5bcf8809eb1798bb65fe05a23c90c24f0ff0cf4c55464f2ac1f07726204624f2f8bea6206bbc1db6676291ab063abab61bb35d170963380d207d96c1845a5f2f94f0473833874b627870bce89f77ada7d3bb88ad9f8927482439eac8361913d19a602375db0ea36fbac79cc6c038a742b276f11e386b572b68fead0ce3a7d83bf13f65a0c77bdf9085c6614225b8712a074008bd662763a9728292e4de947782d2fa07416a048789a3b0ba6930726298ca022fdacfc911ad63edbda6580879ec43c4dba89ba43922dac9146e8c585a3aebe3772a64bcb454ee8d8346f86f38bb2c1760a3c05e854b033882ec8b992aaf8e8e12c9aa0b142b561e2c73db1d3a94ec5acb74371047589dc4a26f3ab118bbb69cf3cacfc9e824e16ff2e6e008db0cb8199b81d7e82fd415e2f8119ca3a972ca60aca85b406f9bfe1a730116dceca72c75e34c5f6520b9a9cda1487659cbc399cba339c77885f8095ba1ee155bb88081fc67c15e8699fa46c3eb443647e1bc27d34095192a13a15c2a4aaf9beab9a193c188ca942c78e2a3bc66725b2a69e40719895cb23d6e33e28359bc189deafbbd331fc06a8c462c4d96753d98918398dd68afec9ae5caac27c7d8a6e4a5325aad8dd0d2b03dfb985f094af02e458ab7a95669593b47f6c9863fe2be55b6e92a29c715ea08ec7877d256647c3e1c7c05bf8473c787262effa9dfb0af76b38d7aff719906ec44db3298077d8c46e6c55fabcc72b93e1dbd708c4a8c7af82958319460afd4ebade0c10036fdb3c55242ba144e43b5696acc3920867ab0c03d05bd42d686d48f6a692a77d5ebc2f10d2c80d31c5ca03bd386a9911f5da211fbca795b3b496b6fa25b2624638aa85b72b07fb410e74fadc6c58aae232d4b7c81be67b7b0894d7a693cedd6ef50c453697f36138d7e36b71cd8c476bb4306558ad250ee74a6373fa76a208950a7b34f01052a6def20b7aa09c1ce4b33098bcb26390928cce8bcb9d185cd401b2b71fdf908a46e5b6051ada7d0e32a29324ed7ff435baf91b05739fb0c6c8f59643eac27be0d7f979319f228d2ee880f1d3e55014609368215acb4c936ed3f64195d96ff04f844f3128cbd67f5b9f45b464d27e3be6d6baaf821b3594e340e731a6d90fb4c362ec158e6c264e9b5cff5fb56a3dfc10fa5d22210dd6e1c9749ebd8b2df1d1558f17674a0261975b147a5643581774ab596be383e32d0f53b260ce1981a1c9a830f391faa003ba7bef2f72e808070661556f558f56ccd60a19bb6164e41ad070627c87a0363da99517ccd860247f5af7385d152945caef4da404d9a059ba89f6e6718fd7343b3e1b125f09ba4b40152dde7b9e977e1a60b10bb609e34d390a3a09324b024d9c4cb37617a7ff6364147af9d6710cacfc724920fd6f2553e9af5c8ef3bb7dae2f4b715893fcff4f0a2d54e354fa9a1fd03e5c5b343ab455ae246e1b1bd4b56e172c0afb48b84ac9176923d2516f62219c216b5bd62521e9938ff033278b75370f119decf87c13ac76c9fcd40fb8f34ff9b774a539b17c85e08c69e5ffce9545220bc16464286c06d753b1eb5a9425517a6191f5ad0d689858d33da599d5136090d09edbe56940b71e083bdec47b4ef844e76eb993023fd369239381b95c9c5c898f196a167122c5d3ab41d1cbd09c0dee01c4a64a30a5657647c56b22bfd85feb8ce02f798df3e4d22f8180c4fda560fec1ebc53c78d94bde7ebebff6ad27b3168191789c7a4baa62eac48c9e78a86dceb50237a12838901be8f282ea946c43a69ecc5d22c88eda564a55a84669c180aaae315bbdf0ffde10e405afc229210103acc72e19096d69e27c5e443d49e032cb487b676f5005a24b8e4ceb4849d937273442fc2b9ada508aafbb49c6d64f05ce40038def5beefd5da2d9ce043ccf66227b948e5d3f35fa3d9cfd984bfa6b6110541baa4c9495b0d62faa5b7c9f8facd1d82ecb42e29649cbcb364b4621527715f0e30914d0b63cbdd2e0da7b54b2ea3eb48efa51888e7a00d3d32b6462f110cdfcc252e1f37285165a889b515eaf09fda4db207db830a17cc6f1562895b94d081119441de88a20b82a0ef67cc9269b58bd03fd69fe9e9f3e56f8333f54c3571f39541d7d0095c81a1364d8a244d784a0dfb1b2159ba9eeedffe66798089210e49071110d29b1eb94ceda67da98b0f95b39967f589ee0791a30c6fbc39b420844adf3e2e5aafb344f0922a1916245d2c2320480e76baa28188cd2c80574a1259e57f06843683e94fb76bc6c1765e96bb642679aa634b12b1c8b30fb282d6f4d0410643dbf2d298573b91bea5621c179e4df8702bb4ea0d742160430060f867975be795ce403857c02089a090258b3f1c07fded1c61d71cb5ee5b8b69901add735298ee4149662130090c8d7181968a9b23bfa424d76fd3fa079d0f5c96fa097a67b99e6c270d93bbf14d316a26d9383fb5caea76d61e12ae54de4bc3db874caf63fc796070b03cbbd67a3c5597160a072d7590f902ae58d93bbd7e710ec82def8126641e82a9b717ef5900ac59f29fee3c3b3a9cb014339071b56bec49a1c657009e0407d89e5aaa61f8dfa5eea5191f8dd9f0e72e2f0abb0692790796a838f36617dcbc219d8e19a2dc8e59a244244208f67258ae8611873b7d61f8c3c8df5b66db9a389aee92fe2f90d00025e638aad0b8eb119e25524ca2b218e022e3f59d3ec9acaa6e0354cbc343a51c23b3194a68a3d6015bddc00b026a7fbd5e0af5de99dcb7bce54fc5d3c6a28f170666f3081e5a7b93fac8acf1f23f705a84acd5f9242ffbc901c81e4f775320420763efccafcd8ac6dbb69f528aafed2537c82de9e6a269ce2bf535b5c25ad054fe8fbca1506f4c2ab2320d350eec61ef78fcffa2c0769300023fc509cdd200d74733e8dd1566866aff3bd6ccba49b6bd8546a9d88f7ef948d61f72c4b54b7d395413cd3c541994b8f2ba31a702008ef4b89cc9f263c51fc8d783e46eb655bb07e1886e920ced2b17e902877579f8d8e863cc6df0686ed81688e8ff077cfaa43c41b06eabed0e92630119441a291c52df9fbeca379df4ac8966db2ce14a9c3ea56ea5a5f0371a9b3bd476f31838b294fa397971800cc4ca0e2b5b000d2e8357aedbeb1aa826545b8cf6eacce37882b23bc91e6dbc3779d51419b4b8c2f1649eb5fc3eb7a978b7c98c041f26038c3e4362c940bdf3e9c52d39639c9b36b2886b37ccedd7955109fc4301efa0ed1d7f76e1da41ac096a731be9621e0935c55f17bd3ea2b729120b098478aa90f5906b141d309623996228bbe490fea2dd3bf0f2b5ad88212725f5689011093b0fd5c8db3febfa88b8ba5d67cb500aa01ad718663e04475f82804f953e9d04f9b04d30778e2bd04f62bf07f9044f2ea6cd880f8f6cd61e3e599e53432e34a62ae67c1ca7dedaa8124dd29597a3ae80821221bc2768d03e81e5927e573cfc13e855aec648f2accb2d061541418bb9d84505f7e6f6ecd2f1ba51e0316a731b9f36a9428aa90a9380da5fa0054aca7b559bba20d98cd153892cf93154b60211fcb95825afc4a5e3aa77af9915ef57b5c4d83f28402f709b4af4c592aa74d8a73a8ea9d3dacb02b93a6d33b0b2fa1b1f95bc358805831eb5d1ba096fe009ed9064a21f0a9b53a6e3a7b2b90aa1cc4977e8ef9147b328194d46e763d71a6c33de8a7143677bdc398f456fe1a68fc425add57a807c895bbe58857d244f847fd3ac3417f352798f8e541dbd0107b298a2a214a9467754895394751f60e2e1ec6c68c04ee41ed04b1a6479890fcdde812574368c7a50da3dd8d989a32c15a943d557b1c7531dd99ec3242974da14e5d9bfc8690a8e3948d0051bcd29c232aaeed67f8f9128b414c65958ae9c906369ab821dcbbcf32563dc60aa88fba4d0c0d9e5e19bd9ba86ca1dd2154a607d65c50cc7ff10947f75f5daeca640d55adb6ffb5d6cf36aff27c650cebe7780b69e8d67d679c2d2e815dce96c929c28a508779d410fa8d0ee6257471f8b5d114d82eae3ee3feaa6be88f0856082841f6e6b2155cb94faa82d45ab8c1693980e91626a0b4804ad0d9a2662eda59bb9a029e8326b625953d0a97d235e72ff7ec3f14ea1332b0938127e8060741ad147d2a9a14287e8ae4e6220b9b14f5c4acfccba92dae663f050c0f08e7871e61d17146099cfc8ce8997a0fe435752fa8ea43282e8b927b2deb8a10896433515a0f49403e0c326d255ff3d40353366cac860031ae47dc4b9bb85ae81a8ae94199ac87cdfce81b73712165bd7f619d49926efb4c82f392376eac31b7c9580c3bebec22aac708a51f6afc6cda806ef66668b2cfaccc3bfdfc1f068d217c41d7031ad2aab245b3bf772c03d9deb6bed7aa808dd6f46b6215bf4fb8c4ab966f7c39598ca310cd0e4c2282b2131782e91be346c2b1cf3aa511f015a63ebeef210282fc8873115ccae6988edb3f5f71cef84b20882881a9d633666e14d3b44fa29958734c4f00bad363780e0b386ccf8abe2dba2b6152fc021bef4e0176c5ce069441921370a8c2296f5830ce23665421787b6cf6229da1b495109c5114c8ad725279f050031c6e4e3bc992f6538f41061d9e5db738c2ca33ec73b3768bce0bd8546e153523611a9b1469934ea63535f102ff35543a42acc6be7018c3a26db27264c5752b46061c9c8f3a670d0f4af64b4f96718eae65c3bf056d8e65f8cf78779dc2e36972a96e46320f614afc8b684740e99882167f12387f50fe5e3f659dcb70e2aeb276fc19050b6e8c01e5430bd34f277d7ebc7726c85dee784a9d4b2acec6462622f02086f43426b7a00530bcf85aacf1abc11e71d748508bc6a8b0223f610b43fef2b9e7f1d431e8f97896bfc54415efa1c39eba10ec11dcc426bf325c1f99fa570c9213e7de8ffcab2a48d5badb381e9fd200d00603951797e65caa47b0f0ae601a4de9ca9e46cad9d20afb5d644f0b07f103b7b648b2c8c2bb6043d3cd728b81010aa3889fe540d3a6ef75b01fb008abf4e6b4d32c99a8a93e9e0c36ebc547140cb41096cc800c2aabcf1a07083d2c506cd78c8e276cd5ecf7e3fbed8e5b1d15e5e444a700bfa79a03ba02f9bde626472494b888caf7c9a7dc6563ee0924ca656891bdda3963ebfd31624bdbba9b594a6e5f3e6cd34d9ab6b09fc9951e58855d03b82e8f8ebe040a8fb5b66431e16e2272650e2ed2a139c50f2fef985ae1d70c568e4f5a0add98a739de14385abfcf57ef3acc5984923ad7472eeca2bda2ce0b76dbf21c322e69deff36757d16545018023f2cb3f55fd6c16be14d5e3bc6cc2d16a4ba40eec761fdd5558d45dcc4932dd512d44b89b0a17ef3715b5ff8f6e5c67881277f33caac698ad5d48d1ed5acbd350470e68ddd32b89bee0d7a1804c9b3480c34e8a9d47eafe351831c70c22276bd4ca406deb70fb7abb097e30ca789f2447aed6033983b1fad6c887f51f3a330685ab76effe5780085c4cb6f68d4ac884bb064df7bccaacc01eddf4e6ff97dfa28209ed356c8cf3cd4ef0396f31ea7760141f876836817d9d30edd9d3d95812786b9d4049b10f1c90215f49ccba322c4723e009ac3b59df2b0f33a218bc3903f6f12caf74c83e40944991f6c0214096ed8a8bad8ddddd32663d95e5697d29945fe96d73d5500883f2317a22fef5ce9b4220a5e357c6851078a1c956f1b3b34ed83d003d2fc62627afd93ae9030efb9a303fb7e5fe3fe15be7bb47c97889e13b708c06d7674c2f66f7435e228cf2be22bca4f874c377efe2199198ff91fe07084e3acfa687473106c301db5f1f01d4afcf304ab1d6d90bbd9bf24bd083264742475862311a3cefc6f000a75913663354d40121d9d4283df2ea3eacc702a4dab9db555bce5b444d3288f7ce0be74366bfe785b327780305fa1f3ba9738841518c742a735436a83910fddd7fba0878d68ea4d9292ea6d3a1860de105672309dbfde942cacb95ead587d4b59bca940e3ced9b1a532fd00fd9d753b9aa9fddfea9cc4f8ad17f0d0ba5a6e01ebc050dc50f875e380be22a1f265fcd850a85767f2d886dddc0fae8ef4dd7d9370de2b32cf3e6ced4f2faf6d718784e0b97425ca6b941284a73fb29da5c94765930ce89f5679852ec407fb5e9d56418e6d537d6447e5fc9a1dbbb7fd8bbf7777176efb8aa79e690ffd96072eb11b23e77f47a2ff1da44dcc5ddf089553ceb0ea363bf530b5ee04bdf337d6beea935ce1c195c3ea883736069c5ff21c07e1e30bb358480037dc1428363af1f74118dd54ac225413943db57dfff92a60593c9ce73e584be33f829a9fcc543613661c567a70f4a76a310d35598fb82a0cfcc7202467a44f16b8c55d5fe13c0cf9f35f181731905afb140cfed2a2c9d15a2dc5618925877358809a9e33f99838a61050d8e5e3b6423ca2082e02fc9bb81f2128a5a3262f28a4f0d0f238bebb9a22402ac729f3c5640952cff0da8aac2319a7aef04c18d753ded16055838bc8c3afba37aee18d92f2ce2e749bc28b54bdee02279932575d714c105de8c9f75fe40258f7178c4dfd61b77b6df3c6319f7cb1117cf87c4027c951072e266a3fde37238d5b2e126eea21fbfa80b0d5bb1b4680f110293ec674208e99c409bd627ce883e7ed278d463c95a97638a153b4149527a20f62de1ca4f2051f41ccb06888c76a4f061f1834bc11a55db49bcd9f40cc36d331732d55d4228bc4978c304d8a86b71c337f426746d502fb9f711013e4dc9af4b3c803c632921135c1bf838f4bd1c65fbab0fbe8d2c21a63e1b579ba6fbf199770d8bbba502a4d06c74d7dc71eafafa5541276932448771c8dec05d34dc17cf2063c65cde295f08e104d4489b6d5dd3b3d9c4efdeb825ce228cdbb3e3c5992dc936abfa5ed49e7a1a89a0a2b538dea2875544bdaf6c01a57946b891e6aeb5d9bd6cbd2088165d3beaf83d184b990b845b8e829dde15dc065a4f14ec121b0e025df9b840732fdda1efa8bc51fba49a89f68d5338702d951d0c89719e2b7b627164f52590c936eb8573d7d9dcdcd5f6a6ee9ffa9e7b719d14e204b7d14213aeeff55bcf7b48ddfa0779a19e86390643dcdac3b9ced0f947146f14583705530b9479d9bccccd3423551379bc7adbb3b5d0af18f343ce1a384321407360156fa8c852674363f496445f75bae3d0bc15cb0aed3f8bb27cbf2c40bc732aa173b08c6867a6166c0d5843da3f892dd249bb6058b1d6f048f46e48d5d03427956e9c2327b1c8b90c45437f0464b906b9370cf7211831e79d9a8937f77ef9065ea8ce80aae1681b7918ea9edb1874b97b8da6462b6b4641faf89daecf670f66f55ef8e69b9ad40724558196d5bea3a67708a7832ee5f5876556cd9a622e9cd6a97ee6631786373ca10ef2f8ff303215bd80935d8eae19d0a89326b2ecf94e19e7e3585800b480019ebeb6e0df3c97ade54583d755478cf1e7d408ea1a4c48413dc747d12e073109f42967933814ced5aedd89dbf29fb5745a5e7ee6978390d82c55cd87534ec912c111dc565dd99d0efaa8a751bec07f0fbb7f857ac1dc86b7c8f32088b5b09d292c5ce0058cba34e53a6df1074af64b93202e1e3660ac2e3f5cfb96a6912eb540a703d406287cb0abc042c91deabeeb9a18660b5f18b0e24d9e4b9dac91a98da9773a06460d3c1cfbe6d7dc4f9a5be0b3dfb72273f2ca4e07bf1e92a2c99d458e1806edc250caf07cd40f83bba954ed9175c75f25777e0deb51770013fb8e54ae717b7e8c782391ad06a021a65733a7f9ce28a1f7a85c16e4d6e4e920c43fc7cb6cf80361f1a1596e9aceea36f13e8d8f95e21952fc9241ea588d07535e949bad5b3b226995a67cb5583882cc5f668e798a7bb94e906cfff1f38a3aa52e3172e1666f169b97cad4885ac5924af2464dbe1d4ccfb69c5f3e0c168e7536eabe571ee6b3398359c7b49ed35e48412a42af6ebd8dfc5c996020171cb6dfd28510f8ff2b615fceef205f5a6d362cba46db45b1506f16f2918ee2c3305656d3e4e0e8617caab55d2302c4d0c2edf35d348177e4c1bfe3c800d9eac80cc08e203c12faf8a945df683480e52cfb840668a94e8894edfb5a48f949fae26046f6fd07ee6f19ed1c092f5976e34a276487b96abe841029f422a85dfab462e9d5242a3b96370b2126dcc8e8b8f8ee919b80f545c877e7aa45296df74c0bed755f981fc5ef55301ca71b9745bdc0b98fc0b7cccdd1cb4156f117450c419595e39796dee95a57a229cd9aabe14bf6c1e6fd435569d257e9eb818914911e58a1be1b3ef6f6ad559f6b79bbc3061ea8cdbc82698e4c1bef45c7dd5e570f06125a492ac0ac8949535f6aec852e2e40c032182bcfde79410d94fb911a62784cb62dbdb98a9754174392559618693a4a41f25764f9f99eb124bd46b2a3700b5f5f2c054d78a7cefda0c66bfb143b74c0be7758de452367eeaf78352e54e59123430d454bda09db4d70db7f66ebf4a6513f061be2d7a9270ce477b5c5225fe70b5453df58502a4a8496bc660a08d1eab7f19c1f4f96c81f840c3884443058ffb78be811e14570d984aa31b35a47589a5334a07631be2df377667278a9a116b0f3cb389588c0ec123972a23ad0d9cd5e0716142c74dc035b05c0829d15df21ace86fd6cc5773aae1f027bf3574bfd06aec941b3b9e9f5f35a5303b9858b605d423b66305ac6d76b31f5ceeef619c50c5a787f342e3036867f086951757ea8a175dadf3423126e6ecdf68e213eeacbc5e8a81d7b04fce1cb4a613644a8f1bf8227e7e578ccf144ef35534d3caa649489f82cb8c946e0529f9d1bcc0f1dfa7b6309a0f304fbec02c2db41f92092d8298e8fc45f1e5376f44e242f1516e990c8f0d4581515183669ba34d8720643812c4e833f6384db868278ba4f06b84e03411ed296d2261ffaec512cc6e22d6c8404f0fb7e9f3a3de02a58d55195d930a2b52c68248e8149021fe2c1e808f4ab96c4edd746e995313fe81cf19148a318cdcec2f16211c31f2c4f06f3eca85abe25159d7b426c3ddc67124a7568af02361f3eae3ae059732f8361701824e74581939c752565b91a4740aa87801b431e86642722240c56f86f7d8752cc629ab2b8b445e38b6e8d34f0533baa710559b555634e0797e59e2281eb198174c01691186ddba1368c6bf141cba5ba04d7db240cc823a40653569c9454e70cd542ff40a848c054aab679492ae6416417fc7028f57989f782946e9be3efad63a63f34b0eff46468935aa596a6192580157c73c476712ad5e2ad66d1baee0797673ab05f87b8c09e6df329119fe0c11dbe749c107743abd0e14668a8653e520121deff78ea46a45dbe3de91f574577ea4ff603a223c370c486cef77117fcae3bced4a457548eed89665ff93448a70dc60118b0c09e5340e9a7fc75f84378244e824e6d6344fd3a91555de6af4d36e06fbd29ed4f7ec3d4b35edbb2cc00da5ea6015143ccb6bf863c136cb5a1eaf06524ff33efe9a855ffc456b46bbb55f20b080397dec05b13aa138430f09bbc1355109d49eb3080001927177991ea5a752178097fcacc6ed378b9b4a3bbf2a7f57fce9f6fc48832c479be0e1ef033fb2cb1af38c8f738b2cf2b7c3f63b900983f565e2bb542fe6602d8efc82f8b218f1502232e27a460e3f374ff9d118f6b8bf0d09e82bd56ea5110be57db7b50ffc4d4330efbf9238a6854de4f7317cc35acb65efe8d87656f43c0a488b0d81a37fc7e723acf24c0a7229fd9d01f83f4f4f9551a3e4bf6c77b274c2c8d3add8af0873dc20b4e10c4304ade3b602dbee227e94242752f2d8667a9189b6224479fc1e15e5a68554d182f204831f252715294fd77f2756e72d67d083541092298ce9d86241dbee484570139b0f27f25ea995649457ef695e478de0db3e1a7b3f0855e0ef696feffff2f1f5281026d2f7d8a4d9c852e33f71e47d94f515a5574d0e2e9555ec1bbd86f99e92fc058ad7ce0958deabf34e05705816272ebb65cca8198137e4b2104e1d8f24cdd763ba4da3412e520354ddd908035cc4abdeb76865a31cfceb5e28cdf52919f6295fd7b90af86a0c64e053010dea9d088c21dc4725e7b74428340bfa1159f8db90a1b2b48a0682e202b3b9e7e14da65ef5e07e9611d79f4a8fa6a96b23f876b6be31a04cd36bdae87aca9d8185cbc9dc7ec577f7ed52dabb005acec31066b051b67945c6e0000959c5f3b9654f61cd8560f9cc625b9cdf31b9e457f70867b607c65b32d742dcf5bcaf9e838f11f454313dd45153779cfd85ab2b2694bc0ee56fef69182569d2a24dcc22ff67bf9b7eeeebcc3187d7921c414a0de16a781152e8e26250430092b160b02aa7240733498f3f61b131d3f3edb626a8c6a8ce5b8de7be1eb88cb88c0a7b17ff35ca90345c632bc7f6412a5d4c5788e3aa55b0e9041a370b8beb489082b8be7fa2102bd65d1cc6f8d5dc4dd3fa02432a60dbe32be6a8261a39f396d7bc6d25df4c95992cd7d96c4e20a1c05c2e53c75c6699f6c763e119e22524681cd231b881dc74c1f729e2601841c170a54faa51492da70ab582c0ac297696e33d2c690a5651209b5e39522b1a5364e7505c87adb344848462ea6f6e4a3d46934fd362f06937c48c62f0058a062d9b644358554540f9e29caec87aa6888954cf77f67b50113fff7cfe5924d452e81d83c2faa22fbe8d96ae52512e6a1da4fd7cf5bd023f887fa978b7ab0e782cb5bb8728527ec2eb78c94bd8d8284edcc0de5bacaab768c77c1fc132af1f40e724f04a777bfbcfe8b21f49e34d5eed8faa6369e9e23f64e2fde772112bb1e63adc56a8dcbc985be8c84f419f949a4cc2fed3d9a97b0a10d0360909e49f41c70e97b50793f302d9d195bebce6a8cabf07191ae6ca714d43995f4710f8c802007f3002ee7df42f64cacc8be55081360a58128353118804e0b5038262f9e1e5ec95ec6ce2bbab4f98a0806828fe8dbfeaf5bc80303e4b86fcce700ed0d08a83ebd0424290ce5d8fdf077dc93ef64b63d1eb3539e3270c195a4ab8f980a97866c3a54bf08781f22cd1befdf53e2db45376f5ec08bf1bd531903303a2f22468fba5d48286e6d661d3d134cfdf0cad31fe2249f24b7f793b67342ad96e121e413bb2b09f0a18d4ebba02fbbc8a5dc77b7f92500a56867b5ff60bd50527787b6a3458cdfd001eeab445634fc45dbcfb9a3571895e03baadf80df2c0f3a36da16a2ab0d21e67325b82e4c4ba81a71ef30a70a162f7f4880257f22dbd911e4743e3621022878f4764f8e0fec6b255ac02ce6680a6e32c3d14dee303a585efd3d0cf3215aefa77503ac5c93e4561be2907c628cb93b3bc39581ee4e9ed809b36e07ea37e66254d0a2384552ec55df8e8d4d41745697c087fb9b7ccf1d261b1990176dbb4aeff7f928c78ce0bb258e7a68d1444fdbcb649b6a12e03e2432c2df74ed67b2238932f3026a0db6e518d7cd690fa91ae27726e4459f00cfa8b1bbdf95cea7fcd159be4cb9beeb90f7a67aafbfd4ca44193713057fa7309227c46e4df440b8bb39f6204a0cc69dc0bd0209fcda075fdb46ffa9ca8192bd5b6c8816846a8bfc711da232933ef668765234bd1ff3984539de8faf39a651698f359950cb4123b8f94a1018a73829292504c3c5f249eda0eedba642561b10f68edf6a1c66b9d8f76631ef9f25764fc522687f41e0aaab8a82a6bf2f06d1ae1559a9ba0abd41d80ece032344d5b0baaac78ae1716493b97855d5e779cb566e04adf4fef2fb4a9050a757a9d6c7c436d303a9fcf1f7b68dd50ab23a354ccd03a53ee0d99eacbfb300b290945d124083d7418090cc8e1eece29e74db4ab164dc4c6bb750e983460f9e4f18e69ab5727affd24495183be9d777e471ab2f93db05cdec70d427b1c3d2363a72f6d6c27589708312a9c77e65238544af911eea9996081b3ca4308087469fefa0eec4bc49ae7be4a3b69923dd690921ad176f3b970bb5749d8d56a3e4991317a6b700541f6ec3e6dd83a247ea3ebb068f848a74763bd0b9a22a69b907aeb09912a381a68c29e1d7288dced11197409ba093db778ecaca4f29e04dba870669d089e56088f5c04c8fd78754a6517189c0ce8f7f3b377e599fa523b500e04ed0576247981a91cb63c9c39000becac437f47c965b03b97e1e72ee46d03a71ba71933a1e8cacbc9e4a7455c2564bef84ac9dd2c29da0e1e8820a096d0a80436a81acaed87e3bda8572c01c3632d035ce8ed383ceadd2743d4603efa431c50e4d38317a594deee50faf8d219375268a236ab57ccf81358984874f695920db00e1330e3a8bae9836664a77fe7d169c831aea756b8e3ba13b620ab4c594b6821b66c10e41a0ed444d75452da18304c6e8fd9f79774640bb7a7d39b825106f22d726076c83dc88dbcd27f2dbafbfa97eef355408d0936fbc6b4dbb32a2f5c284fe96d8ed91f3822f3ee28cd71c1adf7ebd0179736fdaf34cf2b4f1814be1a20fbcfd9724ff30c9ac952eaeebc6f72404a42000a5765a010c1f5ec2cd5b8d597a5da078023bc9c4d4d0a9004ec8172fbafab07cc26cb06b7e176ae338393f6a07c79a2d1cbbecba75e98904fd72e1db7c3ab8bd12fe7355f88d78fa05367612f7fd24202a598573ce67e0400ff4bf984517748ffd13fab801a55359658743b712889d78f676706baa4265e3c7c38c3e0bc5ea048adadd4bf70a5367fca86659212d06fe1c4a2c003edb533e719fac3b550198474e83dc24f3be74291a0df678060f49442c8f65d11f3bd872691c60db995bebf762cf14c58d9cbd16b4bff93daf9722bb7ff70a6487d309177cc4158fb4ad6f46a20bb157b59cc1bc4d154776dbed9f6670cffe0ce13dcbb88200296c59162ced41b47a8b9e2f07a24b3127571209c4703033828ed1c1edbe0dc7b8b73ffd285487db597f638e5f7b76ab307b730534597075809b3f85dba6bfc8f259d89681647dbf4e65b0312e16c0d4ed997d4232f7680471953bc82d61da7c77487de288cc03f165457f58bc5ed7c455b7d964db8407bc81cbd1736180506f97ba8cc86b873b822d92e9c2b99174b45758c444210ff92f60316c5e02dbd1fefef85948c196d98ddcd71c5aadce93ccec2df2afbed92f97c2adad47edb311e45c1297813cc61ef27db87cd657e606ab89d8850afb7a83e452ac59c6b116506f6c7294978cc55eb15727b1636172f85d98f37a68f30eb705f092d9ba85fc4fdbfdd964fde2382e7e0e11ff8ac3e1c565125a6a4d3c053539b34085b6a01639260493bfbd8fafe5241833f03f12104394dc132ab99069bd0002ef5388a5651027fd895d9464c0d409c9c5dbf8f4f3ea773269c46afcd5eb706edf39d90f81d17b8dbea29a70fc9637a96bda654f941680e429ccc43007de48e4f549a3a84a869abfdea67bbc2148994a4f77ace91e578ba2ba270a33c950a9f1c69d424afe2f3a78910657885178c8007f541667e59bda4408657d446a15885a1cd966de240c998bc68f5ff0d238e5ff52b3a0da99d44d9eda20227ee26763918900d22e69e3ed229439349f59ef244b6cfb95e313ef2678c0acd1bdef380d0992402404f1415cf85fe6076f6c8dbc061d5f069854135a07bc98064cbc6e1eb10f3823464a44f406b785cde22e7006962dab34f20160637028570c55e9dfc28384ed83824605027298c8bc0a7bea57d7ca6449ca3f1cc187648247cbcaefb2480c06b0fff35fe2648a9821220b65fbfaa4e36941e2ab2271a0cd4563a710437ccfd8d0ff365b3c8ef9ae1e30c7dcb9f4e6839259dcb0fdd8cbde5db134bdbf9ca158222bc4ca12b937feb8ca2d32e4edd33a205e723f390f2d424dc835b8a689fecf5ecb56340d5d94ee3a72f6286847924c1f835b49460a069e3e21dca5a0fbdc5643e5d0ceec8f8d311004c93a51ec7bbf850ef69bfb36f61dbd28db75116be4837e44436f4d202177bad00558242b3fa3beb0122d923a206f47d4b54c4a0de58f96bd300b55d863b2d7e85624cc3243502cfa0c7d8454bb67dd9aaa7a1928bdd5dda8ea25db278e0ec31f0d6794930e8c3cdf5137b61c6864eb284626f15ec7d0578e66e8d9e258a90b88bbbce8501f966ec8d1f8af3dd1262c9cfb7f315b4ed43ca9f4eb72a06f7b0fea52a0704e86435b896e4fa79c567d347c816b378b7dc0e062843b87a8c41e015b8069f207162ba980603f9062feaa883f13f3a4bbff3dba32fc45b5fb46ada6e077eb6df77ef7bb325d95ff8993bc854beddfcb7ecdceaf3fc3a48675ee11a4929561a9a97794e073aa88e37b791ee0ed89cddd2465b0e80bd3abccb3c419a11651ebf6a58b65769f9d2a5f5652845841b756fee290a28d510eebb2765d3fb7b55cc9240f627fac10a40928a7ee35c43d7976cbdaca1fba48a90c0c25da08fa701bb6f0b3227c893444e9d87df87fc4ff97ac57ce5f13bac6dcf29c83d1b65e96b5d45de66f588ac8561a122fccb96329f21ac3c1f5fac86fc1297cdea8d0f284649bb1208ff23f23651ff26cca6bc93b6dbdf852e9125147e5cf16bd54d3c3008bfcbc4919c6c5e55d666760b8f4ae25b0684e1a419d6c7c02d14640b8dd2948d252458734a7a083d7a0cead2d971ef33e68ab65806011aefb5bf9c54770014da99d64b0bb6dc3f478cfefe81f9e0821cf071dd6f5172897c921d3f40f42a6b4d17672e9e421c24f1412381010ec9189ee1d2e12be67f62ca826a1383c73b9e92268c8a5ea82d3ecf25899906ce09ed145f254cb0836f0c8a4cee55bad441f7543aef60fd3335038b66fdcf5c371d02ff5d08c1bd6c30e680650e8cf489b9d1e0e6463b6395174d2ae6a7390925103f857697183c56727f8deb4a1e78a36ca19c0f63c84eb012978aba2f1b46367b31282967a58ee1415d0c8d7afcb8e8c7000b701a61dbc865d9622e9f72f0c173607730b0782691f8cb97195f113abc5cfa0900c0b1a9858e51bf084acedcdd8fb3a6e23cf3860b1b3b2422a720511380dde8e56d8bc41119b92ab765ea7f45e98e938b2af712497b22fe0c77f44a1d4805ea5e58d0f363c9316a36922b3ee4749503f79bbe84e267e6babec5074c9b22356ec4ffc6a9a1d0ad21325b26b2bcf8807d5335042b608c2fdd5c9acc2c5e228f90d9fee95148a7211827bacb8979c5b36f160b92e58b0894cc47d10afff90c74a6123d0661996c88e1e9912698b4687eb5eac75b10965558dbf0db09331b03077eb467c035b86a452624e02b7b7f8f9963960d7a4725f3016ba1346ec3e7df8ebe2098d94449f4e5285c453cb9d12b38454532b278b813fcc7ea4666dc8d6cd0e14b4600ff9a011047c32ef2fddb5adfd67f6941469342bbc472138090612f90913b618e966bc3c830d1ead5137dffa843eeb4ca7cfed501a6c997ae12ccece84a917185b11b812bfc16aa2639bb7ad804fe1bc667ed97eb7a7054c1a9bcc1b76ce0062a7c8100d0670824f5812892514c4870cb4f89f1c965fca8b276d139cf9ad826513b091d8ad8c3f1a1f02448b6fbfad0752c0089dc088b997c3fd37aed287d13e380aaa1a9deba81b22c1362764c96c9165abfbaddbfdf7d2e6d81bcec59ad971c51e8b874fb6ec3f568d09614114d4bfa3d33a1004aa0267043913aa451e7292baa6bc1d9d8b122b547964be8afe1c24927e24b623b1841d7d7832fc2d106eb7e9cccb7d1ab1cb832e8f3901690095f730f63107acac960bdaf291cf271e20f1c1dcdca30ddd87b652eebf399d57314608e1990a6b834873d289a45253fc7da34c7337beee6912e4e0696b51642217d26c7d0218a8da3dcd3803c37cbde8024266210ec8606a870c4ee09dbdc1df9d073670f27849aa729622152be0dc281140f312ed5be6e3027190b39fcf359afa592d70790e5c1f5bc884591720d2324a35e681c152509b6f17290ee6e9b3b82009b5e337c11017e5438e10da36f419192776b65386159b328af60d9e587929a09d42cbe6d9750bf8894b8b88cc746afeec637f09fc5ccd8162aaf1a4a1e9fc62d2d34ef73be297293dd3ff88a6579dbc103f91024d5e255ba56acf36cc6b98184394ad35184fb35a9da466d136b72cebe984756012d134cb97f9739305dda5e50033a9f8c42a3624306fa39000e34cab446f5a590442793ebc66b5f6abc2402da7c85172660987c26b9ffbf2fef6e7d4f09e66c14e1bc5922f5c62684b7f8dd964853d45757fc1d12327ac6b89cfeaa8462d9d3e221dac883c0cf17bd7bafa79c3838abd7a8f507deeaf907d7130547a9e2e605b579291ee07adfaa6a50673252ffb08c5f323a310783ac425a693c8cd78e9966e2624c136b005d25524311c2abd1e49f791453beab63fd55dc735838e4b793451f48ed17a44c10c1b21ecf58c1d2ea467c77fdf6ffe0ffa0c27e9124e2a377dbd8bfba5fa51d879efbfae1b557483ebffd5482f6fc62acae9870ea1b812781a61252e3b1e8fb5ac3d61345def5e5cdfacf70df6dbb128d95bf7bf055f9556952d832e5edd10287dd8100062289d4099ace95fea3ddab20720ca7f3c6df18ed51b6290bafef898b23c0e5119e4eb977d591b2cd2224abac66b3bfc23a554d390e5c6b022158155a413cc53741c6b42a49198970e9b076957b8c978c626d8f0a7425544f679d10e460bd1969a502fb9190e8c2591eebfa9a38258a07734a438d41f1bfe37896ef07d852c23349ba82cb9e3c3f8606a85092810666190b0ae667d516842a2acf366444a48bad182b053a97b57864f79be48522aa9ec65a392833307b16d3a2f188df970feb7aaaed4748b60846f31b29f0be2daff4c9e90444375252cdd633f8ab2988be79402c080cabdc280da946c6d2acfa0b6dd782b6fc9f7704285b2a60d14b08b22fc097c5028b274ae47648de6e169759c8d32ad5477eadd6b43067b443f8b3050a1b8a3b32955c907b46f4b52b2600051a4e8c977c6dabd5373dc3f6d213c74468b7375ae908cb186b87aedf27621f1decda668621b4f2f093f7fef5de06c95610341692b2c8742855bc77f7e711935d51d7664d79d516a26d24723aeffa83feca6b26c1a6aa18ae346b4fc1ce94f0762ab77769d04a7ac44aa18acf5f3e74cad13a0fadd218a8dc01bc201a52d10f6f38a57b351b11b96e07634ecbac39d599e048b065c64aecc7fdb1c73cb6df526360a46eeb559b2cc48f8fc73169df5bdd980bee258deffb2fb8ecd6693186d400baf128e602561a9560b50580e8319a1d1fa46f0caa8086cc8e74ef1f8f5444d6c9be092583f1d787f3d6814569556cc879f6004390252914a92248672824bdac1579c67892f2b4f78f21c3485680f1533002771a268ce869863f8684c0fc67e8a938a6276ae99980a7719f34ed8b1120891196a97afba515f9a6cb9c9646d0a2cdb7a3e89708bf9ac0fa98031523e05d5d62c08ee116fd4a437f66538c95eac18adda10ff89bfcc0306b37382cf8e2f75eafb6bd8696a4a5e360110e5cfe800485f4eebe55aacb3464df11c54c49fe23bd549a11716ab18752195b5eb2bb26680722a8be4ac888a23ab8e6fe814efe81910bd8806f5988d367a628458154edaebdf4ccbe49024d88863722a774e92f996e63bcd8d4be2bfe29ab7440d1016a37f26aef0f11511f9aceaeb182eeb6c02be4bc33692ca01c08a3a5311668a3d9cce96817e7d9e21ab407178c962d8673e1e6a5768f814d0f35182b27f88d198d98e3f233dd5259c97876cde5df8085cc761e931e6fb8496968e6e565ec095e61cf682c725ef67bcad382641c9621d199f211ee781c49d6a1a9738b01d5a592eb37f2e6ca5bc2084cdd86ccecc8231aca350893fd5e2a149ab7a6765409a974d95d69169b3d94fef6f7d6d6b4e5caa79805e177ab2558d7157e394a56feb4c35ee783f05e74e0884fdc4d4638a0eac43cbe0046ff3a2dadf5b51fc22cfdc555b2d6eeb3ff961c7136a1845c523155be5b18ce47a25438b9f9cbbca9fe81d32c70c8c7e903e1a195e4b1f88be9e0b19fdddee0c1c427f8a0ce0c88e052bef03ce773c925c895cb47e15777e861b914916c59404a941da84aa0719aa7dba309739c8de77c2218f30ac0ae68b2d74f271bc054a007f047d2c8083deff176afddceb0b60ff1082eaab181d62de16fa19de7e2085daf97f6639a8ca3b03b4bd2fa1815139d664c26d10e2b5b054e621c8d80c268b751e0e935f84540a38a6e337cb88b4333d315b9245982ade87542b4f75c966c0e3d1a449de440b3cde16edda0797b289221231ed84a83638f99f50f63e607f2b6f9be3a19b004e1ca9c179cb08f589e297714c65a5dae1e6ee70330fef57b7ccab7ba1487c4f503d014a3edff140b0693e5e18215c95fb2089cc703f59d3b5ccbc1124102bb98b805027abec3b66785427f4771c0ecb21ff5ee77a31841d5b96e760da4cb024292a97f5966d2f916e07f23818dbd1b04489e0dadeb82dda2d1f1c3f870579c15ed5b705ce2c3e1d0685a9f1ffbfe75b85604315c9eb55fe177e3eff713ddc561f0b824e0a7dc21bfb37bfaf42647e2365bacf7ebaf8a73d337e163b57549d73537f7c5e7cd3cb16c32bf2d3a76ca9d6b2e4a37961cb0a508c16c0eddf345ae6420034912bc08b89a7d8d96e1074cbfb0ebad5945a60165e5352a6d9ce3314ded494d0f0d64571bb3f179afb505e0aba174813c678bf82841660dd6d3f60cdab7aa5009ef910654a61422f8d3c6f4bb2994280562b0cd71933b2f542f5a7963a6ec057aed00439872eda45cc5c3fa26b4944597ea9d85d01e295cf35cc51ee87ef3c8190a470b8c04817f7adf136c166f6b3538a4d5b2ef065ef5ed59083027b1f6d886197ee649d2026513233da6d8fb3b7948ab1e81e18f75cc48dea6fd641b5e4446edeac4a1b7e5abf574e4f476b2dfef5b0cdeb9a311a417c723a00d2bb24d72c469c1904187197a4748c0a349333525f45066cb5f1094713eb9de3a934e9fbe92638f603559a6154022b2ab92d406a729fca87b06d08b2bbd181eedeec69959f796af62ea2a7c4da2a30d158897d1d7cfaa971fad937cc0ae5ad470f1e24ee0f2039e5de1520e52dcc9b3cb3c8c3da8c12c146c422fa0a0d0448afc218124f9aa1591045d359b47373c25d6ac65f90e62a4276cdba20d467ce3e4d337a2943d92f32cfc5448d562684b83bfcc046d7fac8d32952ca13b05c88f1217e363b538013390c07f4242b052fe846a828d1d1b8c326aa6dccbb4c36a85ee932f9e6d3d59a853006ea4b514b6be735525a63986e60c5c562253e2d72946e84b55e3a7b1331e979e63378c097593604e832718fd9755516fef0e237a11e73d976a174d39b23285ecd17399d44348bcb3f454161b0931cae7c1ba38934a92d87839053ce11e4fd6641fc968c64ea2776772d54b03c618688e8f50845d5fb4038f967b24072f29d5a482f50e0ea30e4221c21aad6ada7af27dc35b6e39ff305ecfaa8dcf46c960cce98d319b18f8f96d6959583bb8c11ab4fdb6273753f3bcdb30e18e02d66bb0a2d9176ffd12631f08cc4aef11a31875ec66c3486e73b1e42157e4083a47216d7be48a9ed9e0a00ffcec493db27ab258f6e61511eb546ce3a6bb9f3f8c7887a4148c0203a1952f7167f8f7de41e74c211a14b4dc82728bfd6b8731bad9b0f53c9b2a4aeb1aab8bc7c20227c3dcb2c0abae25aa01ab55b83215d1aff697c12a96480ea2185cf7994af6f898963bafb9049c99b2b5641cdd5f84529026ac5dd1c7797c588da8229af0f848e0044a203812c97c09689e080dee2dc712dcf83e32d8f7bd8ffbbe713625cbc66a798a2f01c388e43f738e865f1c2389b6064d7ea936fdb0c2891443e1a5c189aa430f395a84db558b8b0f8d7d8e4dd43c064c5a7dbba8dd7906b237efeff2b3290081040406233fa3dc33d1c8baad3d23fe34ec9ccc196dfed750834d0ec5d08e09db58186396b2de710e055422053824cb3361c0abd08398727faada9b75b7ad422062f2d5171da8b211afb06ec0b0f0ce4b7fb4b206706bfe95682c55dcb2661a61973264b410df99d421f7faa2c97070da4e736e3112f0bbf6955c6c1c807a545b2eeaeea25dcbd49a04e1609776a9ee94d3cb8326a296434e50089b9a752e9415211bed17d10123ddd9be08494042e2a1708b0bd431c46a0d990083ccadb7fedac159bcd3bc9504deb238f476973623bddd90dd02db1a20dbbd2098404297005dfa05d5eaf3997544d0faaf5b8be25be32679888ec5f6d74ec4f5e054b9548a8d047de291d223588bda68d4fdc7818ac98949c373077983cd9b14fd7304d02e17da5ac8188be77ed79aadce90c8b72ad146e2014285af33ff20803308428487900fd9a617219747a00bdbcb653a6d1aafb1973e200aa0534278d469d882fce48c359a690cae9c8306f1afa097e7cc21ebad733810ece7ef52681d3e785e6ec82660c305be17ca01ceb2d25feb5b02a5e6a75dbb27cac1d43589694c2492cb454d998e3ba4ca035abefa98f436af621642e707aa9b2f5181b535d2808a2c1943d045989f65a0742f5da51315d9e593fbb20d8f9081c34d029e584b40c4ddf799194a341b4bb2545011513498f33f7f0de1cca5ea00fb1a11fec81f0a290a6082ad08d15818aec39394d41f9f87af72297d8184da9e17bf5fd058a98ded1b494c73374bd88f6a5ee446a1adfb5a499e4ebc50ca136a3e7dd6220d333b460a466f895b9613bda1b9529fa6c4e6e098bde3f4fa95febafd6aaed92449225d5904f1eed74e7d44be30198686673ccc179eaaa58433bdf73b61abf331c1e84a033df54616b2e144b9dada82a4b922d242b9ef5242ae35619b4af2194f9bde1fbd323d8af0c144109cd2154a5b22fb4ff05e491a1db61d5e23d4f68eec3a472ea9917742081f25ed2b13bf37d3226d0d38e14f39663a6cd83c6bea8806c911218e364b570e729e4526e94deaf8cd5c9f9c683c2a7b49deeeca6dcb324de8614c8303614d95b93449257a099e02b3a962252f44792931e870c11bbf5c729b6923d7b8d963489f73c3e6748f4a9992f43dd1a46ce49e95e1aa468ccf8b5d69dcc3fd2ad02e0afbc0f946954f3f21cd84d08ea1c02701c2df13ad7aab4588823cfb048492e459faa062c5ba473eb79c25c9479e7821235e31ea7f2f4e5b0f74a08d78c9aa197aefa51393442ce07e247be683b0ea4b1d78c7bd7312d562168f8adafa30af9928321fe9510fd7f57ea9b1d19bddc1403b8d7e84902ace91532b192f472f27a76612b9a61641cd6540f3d48e00f8c14b623927c4e6657812455424872ccb22971e005d1b6a8610e20f3bc27a27be74b5514c94fa1f364241ebf11cc25e277e84bb7f75728e5cf84d3c75891d98bfc348f70dab842f9f02d3440670a62d92127d69ebc5d5146ab514b118cf8235b977a4436d8b0f0a56b67e8a1b791048bbaeb9d88023cab6a5c2c01e0477b695665111cf3146000164a98ec9de43063105f3db730be42c2d14b738ca0e577863dfc9304ee0b8317dbb17bcfe4be4f28b4117f5410632cb8c5a2697c1e9643de16331d002e0bd26a7c3f139c87b15530a32e136d44ba9ced57c407e5ea469b1716cc5d13f8d9e1991822bf537d058d5205094d225b1c30bdf82ab53e599055a570e2ba3007e3ccc30c99233c790655f6d2b6cd82448c9f6672b0c9fe10e9b26a178c8b0df56e455385763cd66d40c624196821846b017149302140490f0a0f1f5ccc0bc1bd5624e6453789ceaf84a457386132bff8f1937c0f752a7fbbb5eeb2b97bd86895a14169f91d4d24812deeb496cac2d45f479ea2cf9f3aaec95d3735db205315abe34d828ff3dd459b6e4a45ba0781a52c5d4f258a25af1fdf3b1aaadf4588f663762417bad5b5ff6d60e3281990a625ffcea68098c83c0143bad5267b58c618deb67834a666241e7d16ba258f1f669504096a34328c9c9cea4291731d9f1fce99cd0947e47d766912553f80a238d1c78305ae21dd2f8eb588c6eeebecac0e8a1c7fd696adc53c53db51d291aa9f3b737e486e4865d417a75494050b784a8ca2a70581631a854725a0015b4749ba3750e778451354835771ea13efefffcffa553b2ce65db4144ecdd7b015e301f2da2922b121d55a2798ff266f24817d4c0682d4d2d064a5d9313651b3ebc631cbfac1ef0c906fc6231b99cc367d2a2feeef6cba96184fea52ed29ce85fe460617ac6d32ac34b13b7cb4a77b033444d8eec520746a1bd51666f5e6562720bf580dad406085537794d4bc0315a0a229ef0601ef34c35a3ff31fdb44e8918583869272109b439a6f8c51c5a9600fd481f7133916c35cd37b5f8f0ac093806d27a57fc102534b0c2e3a9ef9ac5dc10da922e350cf8ed43dd3d8669c22332684cbc55f1639a4e1d8da712c448491b4355dfd6bee51e34fdeeb714d18b7ff57c205e20be42076e900d7e2d1b0586e15f7b997baf6afc8310e2a6fc3ac34b92c0384cda413a7462375a3779376a42cc0fdcbccc3914583a45dab8c252a0cdb6ceaebbac6d2b229ee74ece347a4e25c751315c025ee8fa585f1506b9a462f43456e476dced23656783d7b460d6e9d11cac15ccddc2ebf5ecf0d5104688efcfa0f3cf68b7243d2441e3caa4c7d64a61a0a6b7e4446952c8a0ebc0403014ff9c1d2b2beb60485f7d16c0a56ae6b6058363c98085f092733df44bf843d722dc2e4668cb29690c92f57ef780ed2ce0d63bc50d22296cccf4edf7a6b62612343f2d93d703d1f65987b48c4863261f318a09618d0728c5f4201266045c82a430fdf2ec5256c64f0f37dfe0470cdda3757355d8f35c08a64db9478208d157aef56132d34b4fce3161849626e20e1abc121373d628f21c2784205783946a05f5263c47855e77b4fb960767feec82dd49d99a5f60370544821ac94a64f7396b9341bb4959cd92f74ad896bb8b349922c6c79989197adef88277d0eb541ba96637d18ddaba1fdbc8a74ad33ebffda0ef51379654935b52528fcf44fee5180e4fc4c659db27ad2defbd0b359c8f5468089b09fa6f4618c50c0e25c3eb9340d808fe92b9f42903f7b0ad040c877ab71cf7310f0507cfc4490bb3768a3638b4fb8c61a23202360e9c25d16ab12c64d32c05aeed00e23257637162c8c489567ba4f5c9697ae5f8be3793d0c8a2fd05d034bf048efc8e0c4dc5dd7f91f1ab0643e83ac6a626436b4d1f07dbfa6d69dbe36ac029df7788b50572a028540b294d226e741c44ac0b412299d54d2fef570a2950d624f7d7fa06a0edfb295e8761e40a0cbe69e02131de011fe25dd023d9c7acb88cc0335dd16fd78f9507dede1d571c32b7a2bc44ca2f34a08c43c9de74ec573bbccbc2853b52fb362644d5ef69c97e38c72436e03c008f6f1c187e19f09f5c156f37525d6bcd823f26b6b67fbb5f1e2c5d20402111c1732db5a29199a6f719147a74eb7a7ee48d8bb836537afbbc8a830fb19aeee5486114ea62c5d53481e4411a28efa91d35a7ef6ac984f17b84dcdb149ef27a86fae04928935d4ed853b633f91ad35e5d85cdf8e0b6800919043c1cf4f67f9a15eb77b0e3116a9d916bc87bd3669187d360efb913a93ed3914f0718a427be0b813c6307f2f9b9a2b6ae0db4143d1ef703259f71425c931f353682f1cdbe48c94a4c94aa8a7f053562730d41104b0fa1912d9eb2351b75af2dade9dfab9248d07a6daa6107c89802b066371db6ac6dc8cc90ed116da6283603baed8452322cad723a53d345def190914affe791e40bb0aa72a53262e847050bf175cd416962bc0701d81028b8ffdbbc4db57591a48de5543197837082ddba8b606de09eac4359d2631e5a362fa71efd926ee00645084877561b643774de12359e1235d1125ade6568c37d56e17a34ed73c931ba59e96ca259e2f0725dac3346d77aefab2f5d36546fd81dc9c52ffdb549bb7b529b490db952c447283ca580877efc17ae8f83aacc13d80400472bed01033a52d0677dae965e039b918e2cfd1abbb25e266fe433a2ca7ad321826d2f8d19ce0061eaadd72089865e909decaf03957d39b61b39a8e13ed633a1c123063404b55fb1560c0f917f0c58ac237687ea77b3fd7deaa0ab8058de3c3306269f6ad1ff924f27684977e6ba3446b17c8ff12fbc6653b38235dc5181e411f18e9c53b24e2630bf69bb4b3aa29e05aebf8a67f3af1664927628264dcc3939ce85b21e886adf996fea5f57700b7e51082becbe35f52cd928a37402b66a8f073e80034863240930c0c2542e1a0d9c0a2108bd971078bb8b510a5070ebf2b726d18ae2e8357fe8f7109f4c902ee9750d8ae10a0a12d72eea7329aea28162b5bf6b74028f2bb3508b2c8b7734a9fc7f7f896b59b5446c7b918ec83d56858b57832dc2ef396ce67d295bee296edb780812ba7cab6da510fe19225e9decc0178663505afca183d837be59c5a95f09af5084f8c1f31c53ba98360942e77709b5b6f167d8cf365e380646c4eaeb7d92d9ae18d606106db8596ae8992ef3ec4ea6bf2752f585e1b882538819543857bda7a468d090392e75e8e7af69cad76d7c9fe3ddcde96b4408978487cabfb3d755886306ad24c3ddc7a82215a6fed5865950034a343905d1460cd41ead1d9a9ee45aed112a9b1be43926760c83c6dad3e57cdeac0bdbe2a722adaf056aef9a9c03d5c27a31a285fdd503719e957a47a79b3e2a79ec8a06b1676141ac15fa384d97323e7607339d32982b8f1739defd61ae9f3071b1ddec05bc99c52c1d9010d8fc5c780f0839f4205ca5cb1270acce0c0f761c4a82532344f0ed34aa75dcf7788a4ac64dc184e0502a912bb0a568c9b5916207ec0e7f2b0a04ffa8ade1c7bbb6fa1bbea99580181604d0a07308ebc2a9ac4d5a37d4bdb2b2326768b911bfaee2c3921afef7059392296bb6de3e3c0d3c55b6443ca08844529b365f5b5f8acc7dd58426ffaefcb99a22ac10a81089108110f68e7e35350de774cc2782efef5b294106569cb3ade8488c1f85b5e1c125c84d66a49b438c9b451fae4d53776ca926274b1ecab225d854f0fa01385b498050440bf9912e34a441049cada8b1e023ce9c19c778f57d662b4153d6aad9f0cbf566b3f84c743eec7b54693501881662ea44e30094686a6986c9cf30da21e7048e2f241ab4441f632a8a7f6c7b3fac985c1fc5be3a6f7039dbda395a12f19385ca24b90c8911d33ebf36f135529ef26797c546cf11765fc9d92a457ce21ae6a0c6248d8e11e4f64d52f7b76e9e170e5823f5db1baf22d14778ac35a82b3b1652ceefd174b8d0c37589d07cf8b01e71bcb181ea5e5895b22b38e95cd40d0e60ac594b10c6ad2073a7a3dc5d512a5cfc1bdf6a7de1021ad76aacc58b4c0e9770fd551ad3aaa1a77e351196fe820729d7ecaa7bd8ed50fb64c4125880be0ce8db85da7d97f68af3f833fb0ea465be0dd13dbb7cb7d40defd969edccdf0116c5b68f452955f2e32bac5ada525be21bb3ef1793ebcbedc709c84155629ab74683b03313a5e3611c4df42556da9bda621e89b142d6e6da75fae28e4ed357980642eb296f3a4ee8fd7c804b3176aec7c0f404b5c634caf4fccc98e998f70e74d3c818b45d1e9043f1c46bdf4a612631e7c46ac2c093cbecf064ffb49ba39755742758fb7f5a1bbe51a1e24e21cfa7bf10236965ae47e113397bef297b052a037f7363bd0a366e0cd2739d45fcd950f25c60b91fef2e48a0fd0032f376664a04ea2554fc66a4f1031ecacff3418ec3e99c0fe95a22b8e0be293f3d047f6b00e3e6d4fe36ef3af07b20784112f77d0f7759aeaa9a1840b874a2c392b589ff38182fbf8a14881c5a2b359b7796b1a001fcac8f08b55725f65ce15a0c8a42236390ff86ea0d52c69e391e08100cf6b0b4c89f7b4656e113c9c244fd974d086dc4e8e4ae46b90cc68d3e1ffa2550c2ce7b39a285957d78acc04f419010cfc6e0576677c2c8d14ea16ad3c6bf65824541a32a92ee3c025b26d75c6dbf1a6cd65b3215c205e2cd5df897173b93b244821826c27b494c519bb2c44b7cf962a7ba2f3e9631bf13c1310a73c493991bbf3f2b9cccfdb8285797b697206cb1ce08753aa46fff4c71d36dcd8819363cad8f86e9875e2086bfa8c9431484fb00439a57cef8226145870db99fd08ba6bb6e16af73b29b4ea05e7ddeefc4e40770472d44a126df96a56f31a517dfbdb6b7054a62fd66f95fb45b2fdd1c2eded59c5702be3e028c26d2c05f789c29f4f9eba5944468b6829342590157752fe008de38bdd6d0bbdea5683ce63d036d91f24b03238663ea509e7c272f857ac06d4c10bf759e3a9a6f5ec224d92accc5687c9d078a2627ddd323496f42d03e90e268ddd182e3e05fac6ae6cc02680d669112092e7b0c72aaa0b2e7b555d1f023589d0b6ab9619d23a664529edbeb52ac3edbcdacdb3648dcf662085c87a593c5483076b7b3984c15e5ca2c7b96d60b1f96b719609b427c8800c63c14073b96ef9e66e90b3c3d43179435c624c2044f1e69d41c9a7de7d25387818a9fa867c8ecdcab58f6a12953ece5d21e46ceeec5a3f74ee78276d773c48b9654dba838d743ef35a68bdadc33955139272d1c93668e652643236c108f5d59415a69c2c4d1540d8f2398535e1cd81d03741c44d58265bd36091d1cd3cc33c78b7f054ac34aaa2903c53c54f4ea923cc37195b3796b967c8a66f50515e0b4e7b457a3dad7ecaa01b0b420b785e7f82a343e4cc44ab556214aa9abd93ccf0c2f69e30ca129662b23aefb077261a9ab6902e5bbce37a09ffed1ff0940b451592eb20253a27060879a25f1d163ed078e0346720272ac3c3ed4ef068a3b566315d723bafcce1e30a5df6fec65b128aff5691a1462e85861e1cc819d031b9cacd45adec154f7161bc0afd4080408a31a6f2bc7f075c0eb7c4969b312689c186aac103bd21b5f9703634f86e8d4b3ce7ab2625141ac7aa6d198302d65926d5a53a3eaf53820bd713780da9889506291e720e67c73cc9d8124829d7a9c0d9aec498dc440c4a08edcef8b4ddcc2ec60d358f96ebab2bd6c49fe5e5242cb7926a59b655e807cbc3c8f497da11b6b8d18ab5fbe0cbb0500c706d155b3ca78892f9fedba92c7385a1c092732c92030a7165e9e3cb1efbb5901a430dfc289fb393f85a0ecec63018de8e8cf7d261a38c452d5ec8b87af17d4c93f7e4e8ee6c09425ee0f59b7b8a76a54364484c6de2bc95ad81ec8b236f7339132dd78f020ac8109ef777e728e938350ad84455fba255297ffee25f3e31dae8f0fd2b6a256cb0dc8028e12857ffaaa2696323e0ad5adbadb5bad4c50928029d6faf8934cb2392eb86c24104cde58a0292cce6357e665b1591ba5883e9b98e9d2a635cdfeed48b955269988d76e03cec0b33392bbff456980902bca0e08bb8db0eb751d55b8b64da49961461ec96c591cf4d80011fb7f704d9f460bf16a9bf4f0da245076c5ba6b86110d63acab5ce5b3e8e61c59f969ec14476a54b00e1f2c6490b401b9d060a6e2335295d8f7a81274c8974304ca6ce134368db1acf106e0d74b42e1f58d7661fb85b6c0d4fb15920461ed5b40b08024d805fd52fddae1c7f1e2743447cfe3c26fb788ccea1085cca03c6bc4bf0188d6b2a5b7fad66f19b24d9a9930bf44e1b8aacc01355e2638cdf88dd555bbe36bc91d740b32a0ae13d1230c20a2b34efaf18a359c7a9c704deb195c6b0d65f953e77c8085dcb2e36307ce90ed377668374ceab3fbd0e055685f86621d18a28fd65463cc83ed47860ac4ee0d35d2f4a22203ea3441e8b82458e15fcc7c4bb9ecb1a99f2466a0de70f9e5f08585158ab69936fad80b141841f39ac2788d4495af85017c80d06556daf83be02ad2998de9b42b1616aaa938315912a9ad56726762c5c474bad2c09e3d33184436ea487b9e5bdb3a12ed50d0748d59ecadfaad2cc51977d7f988cdb270b48399332553999ccaec015026311aa5797de2f868b4a5826f87ef4a9cf68aa6d0b4a673d7e22d71de462632dc2807c3fd17508b55fb921212f4a35372d6db0d1175a519ffa23b433d62210a5fd69769e2610b7d269e360e91a99153aa9b35e49800c667a88e3c09a549803f5a82c2cd0bcb3659dc897be609c4476a96596e0d0238e145d949c874c47f80184dcb028872af26d53679510dea4393b3f3c9f2ec4ebcb5a1850710451a1b2e2c87af56c7dd05506fdd2334b3a67464a69de9a15cd205f0e55bb35c826fd73fe44283cf9219c2d2a7b12f75f3f9fcd6b6023c45fdfcc1b164054877bf57597982793d3f556028e4f69eab142b861a860afc93b31623d6c1b7cd8e960615b157a36f3dcab36bb6d892ee60b3eac2bc3e08a574ab83704f453d1e892859a640ec78e3270acd2a27559c139d51b922af9f2e43117296992d1ecaf592ff54a5da12c1248ccef1bbff60f2201d4cbd23467c2f900d2fb3a6c46d4287f7bdce0403e05fb80455e079e616f3140073578d82fc084d182d88d4df06e2e9a70c8820fb39e7849733658b0dc60ec84aaf0c39cd2287d860dbbccaa9db994338a89670e7fec85da26c17ebe42a3403eedc60549a171a90a96c6ac8913225088663660d3117e196a18594a055a6dbe2765f1c4e2d19abd1bedb198c765dbb3f2bf967b4c1ab6e7da388f6ece398ca74f95a6ab198d1f8f942df027135abb1564827adc8fca551d6f9a79b198c763f0f66ea0cb3c34ed42c07d2018b673a7412c9b02194be2b816c64c325b2e0c00573b96ce2fdb43f93c71cd5def90a80b307a672dc3c753c7e3cdfb455b9758f966dc93ec7f92dac400b5f0d2b202fb63bbdc88605b3920b336a715d5ffd50cc2d09b50778adc8e65505c4be5adcf8495869f79e125f83e8a86156ce60dceb704fe87bc96508bbf2e1d46ee4f486f91d065ec2b5895b85e4253572a27d429c7bec789cde7f1456bd33ce5f00be1b7e4bb772aa1420d14a0b45289d10818e862a07fd2b0b19d24953a7d3a7b0b967440b7bfb98a9f5f2e31fece7dada92f6c159a294b2f3a075baf0953dd6670f296ef7e93902c786014419964013c8085deae1657031aedabeda8fbde4b415d187a31830e4affb1287b2dc20d7db8db4a748b62c655358b1801a4f0ca9eaa7040c980e301a6109f8ff92781cd8861615713a5cf0ef4980055fbef7bee8e60f2e5e30fc0ec73b74ad81d129c54e6794f84158ad38aaa795baf9b5cd8436919ead1e4e21c7fd960989bbacac4e00ba02f129a35bf49db2fc31461ce17a5497e9d12fdbad9ce966081a392baf041e93f86dd4721ad4f01c7f594e3fc298d0cb5bc4e3fe2f98f5df2f14b5518c40aa52c3207c74afa8d37ec327d3dbc065d287791f5f1c4603d11b4141428dfb93ea76ba40a3e4f3bdfe619659b91e45f4d1785e861bfe40456a0875500f1d898629c4a9cfab6fa80f2f1cf60e6bd3f79680f251fdf652ef05fb781465dcfad6a36eb94e91bc8826cd76170f8a0e7ffd37ef007adfc6cb824f39c970a205b909dd5767f64c8b734b633e281d63d70a0e4f8c056ec6ba84385190fbb25d5d2f82cb903c7e20af3190ca2163890a50597f70762193b9b0006384611373edcc82ac9d5ed6d81fef664ad5d4ba752ec2a504e552196517963f629114ec2e37e572fde5f12c943b3c4fc3ba060a0f20a551fb8caf0a89fef94deafed973f8e3796d2fadad007d5291fdbcaf22bf7a9a2ff5c6748d79239887dc53a36b31a21dba8981c57c38f28ec3cb270aae483fe1b543bee4b9d1aebe191f02640a24fe3d72f8143fc57a132bd5dd307c30ef906e7438e4478a8cd24a807c761567a7e9e4c8e27dc3114b1d6b4d2e57906c3ab34e25fb97e37320512a74ae091647b7b871a6efd37369de9bbe3d52a1a8595f0757fd113caad31452d4f3b153ec13307def46c7f8a03db90f5f39b0821b38e423f7e53ffc9835b43a0b81eca6eb19f45faea0c260513c60dbf079262f079e9f46058a64316bebbfc21bf2eb82e1f3b40255ad99e9c01cfc54a7e0e73a07bb0849ffbd3ee2134e2804bbe9bae652e1072aa36e4d83ca6fe2ce0920797918ad4002c5420183ccc77e14e027b6f821e1d4fc457344e137951f65d6507f56e483ae7379eadcca76267da10421d80e4daf7d77224ecc6a990e6e10ce568e8cc9e90627370c72d90f92f011fdfd0c8f1744eb85d3efd0cd654c67cd111e95a340ee536ef201c690a0b012a21396598de5dca703aa9c3660b2fb50ec90377620ae54de5e510e8ca239be946759f8d1ec50c12aa20a11930a5272a0993ef876c9173a564cc951dab1634a765d2489f4e1a0a8406c59fae0cb7303540e5008e4ea332c82829ac4a2e38352a4a544f13fef1ec0b668e8d05fd9ffbec89d4dd140d354d869218eea0239dd986f9edcd262ab914851a07a7a0424cd54ef836ce3517382aae46703aa9078db14bf8ef7659ef90b24bb61f451dc91784eaade0546c0decbae6b4b264a924199cf99640825d83d98cc4f93238e0b9375707cf091dc767d992e1d1ee41ec28c83eb3a4e918c6195362a6b55e7d38999fef81e72bc2c6fd17eb82391ffe71796cd7cb8e4747271084ed4c7a272693952f316a0515feac364be4af1a88cc41a9178794d07984da887d831ea497b6905c8cb6ff82149466971f10b229d81678a2d63c4bb201e97c4b62f575408be233716ad6e98452708c57eb17b167a117f29779f6133a3985ab5062cd61c7f608d9befc048dd26dc49ceea4945d5ccc39403a66afad8dd047bdd1eda97dc3fb7d45ee399d8a40828f101741352a93addd314028f3fdbd0b275ed3f1979272c19b6eb136bcde7a14868b27b81d9e8aa2e1201ed43f6ff10a23620379e38242fc2913388078c63fbfb934ef0d01b4beb777b3794807e671cfeaae6e9baa3e6a5fa546861826e8c89836f225f818ae6a46e060408eae04bff8ad6f191d21bb8d93ed96ccdc761afdfd6b7ae82ef5e650b18908ed82fbc684fb36e03e7f31921b3efe39743b262f1f6ffe80b04e7ecfd6348803f37913f8ff3fc1b23c3f3f4135153599f978db6b70998f73d76f5cf426e95ffcfcc8699ef72469f9e1f63bc17db621ce7b2d2800b569be3404bc2447fb172f81bf16c2b46eda310a44c083788e7cdf0ad82817cac56498bee44861925185df75438fc2ec04f7170e8bd4837570091bd88ab26af7e796d611a3de5107c23358471a5de39a946fe128889af25776e623d9ed5e0209b4e054c33d00b45b9194167ddf55d50b41802c4db591d9751135de811a1fd9e08c62fcc96ad367753876ece119db2ad962f1ba0291b6fd73e0369f0152b9323819b64c664fb60850c3522af7d07af9d0dfa59f6971c382f9726772b6291d3035720defc70681e46d5fd683af735b4abb49cced0107ba535a1824f7c4ef1affba1c6d8b09172db0c005e225d601d816d4a0b5e033843f56337d4d3857e2ffdd4e4c594d8a9e2e3177911313d1b8d0d662c4d923b2884e6cbaaa3f73a25f39487d6c517848d6177dec59d51cd527871ae2b88f11c821f3c78e11d331b531cd897cf048ef3d8584511d982ce75e19384026db4e604041b91fbea26c30621c3f86f97890f73752511322ec821a9e50a3436713e8af4a8a20adadcea785b27e9f104bdd007f448fc5ad34ec21ec3216a33a69436edfc907014fd451068254d399a5f92e953599616820be1ffd87ca3dd41a8921426919d91f0a2f627d7163f0ba25b86dec214b3d0be552c81d813bf1853b48c2810d5dd91203ebc136ea4b4fa2daa45b032af42ea3e7cf93dd75d158f59d5e0ef71a92abb9915e26c859fcd898409eca9f1a065f9aac146d35d07fbde6e735432fae9e4935f7486522b0d723b4f2b790ebe7a6983e4211fb7a5d877e392f80b6625be9a3fd584257a50b03970fd326b149f864660262fa4cc608d6fb63b8a6516ca103f2a57a617cafba4cd5632de0967fcde5ae3eefb7c2cb05e105bc8ec935af5df94e0112ce9d8efe5e59eb59635c3e70756748e58f86cd860dfd04c4e3d00bce45be9fc69eeeb68582d863cb2f4f365a592d43c1b800fac846abf01e743dc00b963225e5edc77fe76807d8603aed0d49920df502b2bdf2f58fb07dcdd65c564ccf8f65d31c787111b71231158d8c215102982ba063b04df21632d30615ba08641ffdfae22e98b5be801d9cf3b12d9bf42315ee0d28d2af712e89358422db82082dcdebe54c56d2c81066a81ea663cc500c1e9bf8bcdbdcc4529491c89b5c241f73bebdb63c0bcac3494ce8d7c2f08b9f71d7cdebbb32f3a5ceab38f1e1afa78f755ef7fd54dd2294131cf1f1992ee6ef8545924606ed96abcaa58fb7add724129c6a742259205f96551678c8628636af4a57e676ac9473e07061b44776b06076b70ebf93ca49b7ebc446ef2dc0cf1865852f69115e6dc08f3b05e1b91bb1ee3c9aa5d2254fef28bd5d60607953cd66d0e8ae580c6a2d858b7870c2df9c9a1ccb1da103ee9705301ed8dcefb84522eed754b7606e2c6244c3702f84ed049ac2548a0d94b78382325f9e93a4bc49bede96e388dd5c5eda67d5712de2bb8fa8ba0d14bf2572a079521ece7d82d11a5a03ffb05a1d400089602ed4914c7235e2173ab5af5b59546a04dc568afd52e52730c33bbe0f53940afb8e19d8e08a54414684f9d6ab37bec8982c0741bb2b579684974040e39fd685e19814ddf5067a2befe825b9b17d53606ffc9d0690be362de43e0aff481baa20e9216f3ae98179761905122d3d6362ba779556cb39f10c171a60527d217a18c95b79af15dd66fcdbff67147266100b696ff35c66dce79afbd107a41733f59188c6bb71c1b335e9fef22516f7f8b0281a8fd84958a70c52238d7210e8edc840697dc90201c2aef7e42e25c05b14f9eb9a498bcfc1cd3d6a7e972af2472c8b89e885990235dca3ce177698ef2daa25eb2be792ab440b9f1ac890f63912e7373574c8b8e23d82cef4ddd4efb7fbd854d64c41496550f26680f241d792eb97eb6f72fd5fca5f4647ef3dea708b13a96c635776c2f5251290713ba5b1f98a77356a7f2a4dae0efd8a0961b80ba4a5f6fca6653c8276ee417cb62d4d0f19b5a764c88b10229ee3c44d419d09e46528c6dfa5733ddc65ca871d71e041e9cc570384f23fbfdf3fe9545078781aecc97a0086293159294be1423e3b7fbd52fc0821457bae184b91c878419fe3a74ce583dcee53e79b3dc7a28cfc73c5fa432dd7713f339e77e3897de4b49ff01860571458acd27d9f194494a6e23c08b677e182e04d750f1d32f106bd9d9b94f19bf593574897ccbb6f06779df782b43b653e0040e18b7bf374357c9cf8d5d80d992c2c439f70f66105215ea63d6b4040db6cb7e184c8336b8f67b1ceb1c4e3015562927ab8bc4d873caa8aae4bffedc705437daec9e45da3c52dcc2f484c47d15007a896a32f9614049e963b4148af9adb1caa8c771eb56d31607dba1ff9579ead15eb2da130c87972efb3abde42bbf359897b5085b9a74008b7fb80eb3798943503ccd8d50c761e1682465bf2a9812a1bbce97a37a12b9b68096aff3ff940567a1aae90d1ba9a256daf8132e6d966c5de8aac598fd982bf268f4490e0d4aa96a4565e165216ded0ca963856234960ceee574e39662151a8966ec665e061b5e55a34137c3ebe9052d3e058903b3d968ace4fe0ffad0abadb456bd6a2d19af6e7261c68c0a5463dd5cffd5c14f902a0fe400ba133711164b42f4384672f29990b0b1043170859d560f26e9fc50f7b4af0da6cdb665d5db9d2185df887233ede8559b77034bd4fe0ba02f0659b29c4c51b09b95fe30677ce940c6efc61165ffabd922a64e9f5f846f9718eb6e90000ff98dd71eab5c67f153cbbefee91e33fc892dfa8f94a99cf09f496214012d74025151a99761c916dc6fa3b1149600dc9758555372e3ed7f3025f28fc3aabdf623d981221f0d06930702d3ce74566a4785f91cfdb513903ea72d3c1edc3092c53cb8ae2785b75f25161c44bcd66436bbfaeb59992c10861561b2c9d264a16a50b39abbd31e2b60ac9554794392840af3faad1a88b5cabf153c7c386f4d4a36f7da0a66eedf50f9d088dd1bae3b9369259ba638d4ef1ca7a83b95ff82f8e191fd48b25f3039411a88fdc4b92526892d6a78ed87383e06e86583a3087a94572648710509be5d28fadbff481166e3efe71493b8eac25d98ccf5ac9ce45dd574dbebe64020456874d46a6a0c353f79141af61c15751b79593e9e8f505df7104851fa499b18c9dda7721c4566dc20476bff9565b1efa85ce870fab768cef0be50e5ec715cedd55c93f99e5926804824755c58b55e27569a88342a0368b5aa4219f1dd7c8ec28efae4236bc0d9deee5f33d4ee99b237280f27aa930d29b8a2c7a649b9d6b5bde8bcd3b919bebbee63d8605fb8a97416d84e2657bd61127e5f64c63c554481c726cc5dcff339b0edb3bb75c6c5c2195d71209207b56ad1d10f8eecf501d0419d5eb40c15747a1deddca500afdd537e7fe2811c000d35d098720c3fafdac401726b1e43cfcde3c4dbf5869cf6f314ba7b01b3a09b09b3fcc8579adce0d3185862a291965cd3051f61024f8bcba995f4aede353bcfdc7e57a80d3e37d6023d7e1de6efb7cf28207fd2df5ef642d6984238a8ad702554acea384b14127c83a9fb42a1e420e72e7efa71b80c25972cd656a81561a2b64d1eb823af2d871f065b50ef30f2b667c33be2515d04eeaca13cb3cab30113ca2766d1790a2d92270685d3dd19196c4abbc9cae949aa2511bfcf699f4fe067a26b3cd5ecf36d74792e14f97b34d2486e8607486691cdc7e02ad44d11f15d2191d772c65ca9e646d5c99f3361b5e9bde0c5e270167cab07e90c1f88c817c647ea0b25aae993375181afe8e42717c885b3f265b5a84226d8cb75b22718a824ae94715986eb0d27c26d5a7153ea7ccb680bc1447f95b39060c806670cdd92ec14fcdd5b9388cf35db010110f77fe276e8417511babdc61499b84375da33a8ad6997cf861947caa48f8068486beeae26da0603422e122ca2263da4ed476765a1878721a7a209b4e98d70620362fbf05cedda1c4bd347726caff0394dfb00e57293f7a475d9d40f09067e53e0b28bf6a241367bc62825e463e05e0218756b0807c6480b5e704913b1e568d03d462ebb1e0124ab7c7b2137071f18daea798c57eace7df164bbb0e532f895ecd24b0bc298ca1ed7eff7d13b138049dc5424e46c3c7bac818db2f5cbefda605ed2d1f8a81396a1a12090082f0d4a652938c45ff8b21aa28847ce51fd5a0d22dec15f874380b95fae370667bc15d276e267d3bd309ae4d0b3bcb9c6c678089b17fdb13a219e3b47876f2c21b8a4a0005ce36ac2332d08ee47ffcc783f1850010cc2a606b50d1f717f719970e6170f7e3176a312f036428cea30a21343bbddc1e10320c60b2b964eb76b7820537b0f84d86d90d615c09c162f6e235dd65eff9c66397ad3c7a71d559723d9837027a7358825f2f1800e5f38ba528247085d3b9f1fe0bf128072e3b96593a7820005994cb803c6b95310a7def9589e9bb47de8ce1553667be7e451ae737e88bbb37e9f097fa641720594a7830c01802822cc186abe49a1842d0fa40b159292e0dbcc08286a2eed9d7221e1e5e58d304d34340c247d450e0c61c7b759d2577545c2b4a4f90083bafaad5752baf391201de9235bec15c1fd8ca8ca3c2cffdc2a7d72b3d288ffa5e10f9f24335615f49c5606cbf94b483ecf6dda36d1a3d8376b8a404c969a3f0d24a697648fb797b38137c2f68fe2437c0b5a6e5ad55fcadc9db91b6ce539328d0fd1a353a063fe850bf20e8e1a34bb28bd07a5f174ad99a9fec0db20d088c056ab8733c513198dbda34f2179713ca59da191984b41c9d09fb92e901a1bbd6c4880f3a31bee8925b0f7edfd6c8c5d438c5eeae8e25460b04d51eb91167ca4a93eafd4628086a7b422aa80c39867041c8ec750854c055d64c6c794c34002ac2af8f6734dbd5e2afc776bcc9bab81e2fd5ef5130b24896e16a815c95524722647c9b8509469e7d359da3e676e7cbf26c71740ce195a227c1bc84010e82591d2213556df18dd8072a262336d19df60fc290b2d23500e43b170246f7c04328b41be653cb8149faf73b7e9b0434b808278222f9c5bb2c7d4c5ce3365aa38e48817aff12c55d133834de4b920c5fb629b0b35818e183128d96a14b2d6b7a38cb0be8bbc84afc8db4976cadfee6e1db7f8534d2378be7d5bfd93238ecf6925bcd9db1c6ea4009f2f94e9b2785172d0af2a2781f2fde007cbd4ef546ec589e33ce497cbbf44a6458df937102fb3f907241a2bb8c02392b005bda736938f343b9c7560bbd49bb6e8c4a9b8ddce88006a256b70cfb2b573d681b0fc81ccac92844a99c11af9f73d18e85fdfdaa7bb2b6cc49da5a3f0cdcfb7614234b1cb3a9ecb047ea7e1a8b0282b5a313715593900bae926c21018aed7c761ceac0bc9bbf5673c6f984b6ff5af200785816ed5c4272a9e16db106d4f9e0dc15a04d988e28eda9338815e436221cbac48eb142cde68ed5809a4f720ab22c63b5ce0401a84ff7df70c5054f8409295476b1b811c02d42e044f6d5f2ef35acab40476920084ded66eb49bca449e6e515dd8598df5d5a084e703a34e02cd665e25ed060a383bd7fc8467e92ca2a8d2adba5c272e174293d40b92bcbd205d5f1200c1898dbd1cd10281ebb9f4251ec6ae6de2ee0ac9924fdd9f1577f96f9013701870d91a1a5841b4eaa1dfd4694ccd34d2860e0f10563b042474b90ce92d902dcd69273bf1c452b3d3453a9db01129af2bd938135cae941f2d60e40dba1244d0384a47fe3d18bb2a6569cbdb25d4c8309fd5983ecebfc0b854dcf698454468c4af376d2f9548b81e13232d04ce14c6b02996aa44cdab47d502c00a8b9a1a442d09bfd6edac725f099ccce45ac7a34532e2db1e06ccc8f2b0299a869151cf0f8253b9940f4c9e69944a1f016c26e6173ad5cf1d67c813f4106616974e74782008262ff8b7eecde13c32e3089bdf1e063376f7d71b2664e5e874d527e8bd1ce0803b552f0f63026e54299d5ee113d938ddd7b7b6fc4bf7c9d045afeafaf0be1c883372ad452ab18a5a71160e3d202e7d84eced1bcc541e1c4b563e2dd7dcbc2f13561760288492a352257c6dd56df4dc880fd963cdf8d828a13b5f483d3f4f40ee96c3cc8ecc2e89b0ec7c1e89c2ac7d26edea30c0dccd130c972b8b7cbdabd0cd435c85368ba26e394dcb2f16f84926da05dac502da566708bb728efdf58c23b08094f0aa7ddbb182c69ec2da4b516e0c1be59670089b461d5fd5538148bc51a2e1f606709ac325cb97037f57ac7a460243c06c3a0054e0a2633914734a95f80c888dd1705b3f463f02da7a321358a0bf1f43f2faf12cd692e723cf561acc65457465f05416f7e3835e7e076c0f65ebd9c54c231a1c80810552b2d499aa0d2087000408dc87126663e335c5504c49a32f88dea378e01a987d4c2295bff22cf65000f4aadc0ca98368ad017d5638adfaea76c3716b4ae017ef6e6149c09441533b9a8d3a4e4d444134fb98272375fcc6579768e3ae75f2cdbb84783a6c3200c2c07a0ca3c4ef299260e8bfb90582e616fc6490e8d51bc04ed942e70f0531201adedda524dbb30e69a6139261a15425e23cb06d7af8ec0c7ade3dbb020ae0ff94eb52272e3d87eb7b8efe1043c08f2b6e602db49f91c48bc820fd2cb96abe86e6a57e03aa8a45c40f1acf91ffe50bc734f65bf194eca200eaaa51eb51beba3238a3a95eedbe05ce9120732ee2696af230fde1e06dd0150c2355129aa72185643a4c3d578bca4297ba9394eea8cab4d0f2b6f9042567a5d307e0aa47027011783342afd0093aedaea0602ea3411b9f058100698929b2bea154bb75fec1e820939d659c6043c63226d3fe6d71d7f6d4b91f6b12d9bfc72b778093e40dd2388a2ef6ae8a750da8d832cedb0da591eb9a99533f9e0c79b4dbb723c1194ea7bb3b5c8703815569ef023a29defbed3d442110103553809ea89c8816bd4d696dcfedc129f6824aef5ba175daaade67b7ed38127a0c842c41475091b7c23b080be890c74083228d412046248cc0ad22ba047d723bd43aef5adda51ba16273c5b89ddd2eaa7d67e53303d2b175399ed6ba93f4b7c5cb406f6f807f35c35b1bb2148161c7c7780107175f30136dbf9a3b3715a1ce070fa751ca94959e8f1a5fcebdfd5e80e1139468c2f096098e1258f0187dbfc3ea452f18e605b39b4942569c46a24a66bed3eed392463acd1ba9a7c8ea5bac10e03b327a09c7d0ac337e0e1390c59fb71af449e1fbf0d8cf41d511edc3fcf2055b4a61441247c94fe6dfaa1194bf5a1ddf08e794b8f45baec3dc371991b6fb234eed2d7ec74e7ac3e966e0c860579c8347dd157f7a79262f6a20a48466ef17bc25d5ce08effec500145b8d8ae7fa336ad69f941e7588cff66264da343e10dc448c8d2bb8dece57b7618e9f42ae2a7ab1a16e6ec3cad7c8d0efe1eb96c994fc556cb7043eec83c0c105977457c6e9b910bfe6a833941a901549299cf94b9a72adbe8afad8edf3ceb5510d22cd29d2e1097226a3e22eb42d8ee97cc0764a68d9fe08b458ac29e53861da79070d388c8e97402a37ba32d782797ebd90989d799c7c73b8349893ab9e1d03c731a89e606185eab183710a96ec07425701683ef6a1ecce00c1e4cc1c1a9925d7844ce00c10d7385f0b5af7f13836f80663e3359ca49231053be046bc45b06977cae04e598745731ead4be637c4ec3642e495e8d6135c03c6b5d565f085f64dbc9f337a9410ac031e256583afeed60d2c8d5ad6ea24606cc917f02ceb704847cd5e26236ed014b54cb7416a0043bb4e6f967f0ff4667deb97b1e0f4226011fc3b1b803c447e47574aaeb197e7cce826e3d4e92d1a81f8053b85053c8017607aaa53d48326d943744e8b498fb2d05a6aef536379f79aafb75c1d44be7a448fb61143836117045a5a7af9471217897c96e2bba35c5f7a2deebb56a948230b5f1a5a4ed01462ff6b0432d29e1ec6810359adb85fb0c8ae04a167d7a6d9a65425ce3d6565256f1b2b88d0c0ebd8c8d944bd2fe7358982c564ec5818da06e708b644e84b89444bb29e4a4f2a6e0cd537f4451de27c5e825e133601df5e4566014be3f27f2ce2d5125270b068ba462cde5f30294e227ed9cc9f5096a90cf0eae57a6494b06252db8ed367bae9c2680ceb85c8a13b232be36f9090d483a7858c946f6ef2331404078534810e56afc9eede9c40f765569999f1b1861d0ecc15cb1d87c61893cb86c52d1bf1a68557cba1c0176bbaff614b8e8cc39e71f04b8085d55a337ec56a41d497d70aade25ffd1230700df485db2ebcaf9148e6f597a6797c2d80e7284fcd4c7346720b3b88af8acd115d096ec2a571f36f63f2a8acd17f66078784d92907c0a34467c8526cb640e3e26c1ad9bdd7cdd84c6ade19dd3c1c3291460382d8bfcc906335b08e7d61171a4280e4d44dcbd8162def83189f902ee8df95398960d5bb0a52973e5b2a2d41e60050d289538f6e0a48e3209ca7e0a522c1f346004ce6e39f8c044bbcfc45831db338a7a3bc6b487b465695021f417da00abd5b9fb37c0440c4028d7f27819dfe2530866233ebf14296f290fb36999c770c1c85a0e6dce1d0da956dd7db06ab20d91ec799d9ca6673230e7a34471ae92a63b3be5e8022c7227abc2c3111740d096b3cdcb9754239aafa920f8f7e6b934e4e2abe2cb34e5d0e5b11a11f13e9e94e3c303fe535e98eda9a6a59722cb66a657690a89595bf75a28909f2bbdb4b45a22a3b05f7c2ad86944e73b2fe5355a2b440c4a8bcf6bef73fd26e92a5e138c06e240d8898e12ed6e93a42b05c34d3da92c0d8ae584b0ca47cc8a48027b54046481504afebee896ccaa46cba77295c052f06f3ebef3403527c1deeb0e0bc3f8ee2684be893b8fcd77d76ae629d871ae00d06830dc17f820eb84caa15707998a98b46f7c65d653028415e83070bf70db578e40b20a928b51febace7d38250e2fa66ca254a705b488465a2ef88904a278323f6eeec77443acb6b6aa2a7633b14786c243f4490fdd27188b9c5f4fc3b5e99e4775128a4540d3c2afcfaae4a25c2ec271d5c005654007023bcb47b1cc3ab884e3a2830ab7eb7512e310359b5cc966a8b153681fe2de86e4f13e0982b1455a1d2681cc4d48278f505ce4a8b6f33c8215c4279fd2b5227dd3f2568ca73a054b810ccebf540bd38af362f98c0215c538831dc34b78ec8f39716663b925c6ad4639e4dbba1a9b0afbdd5008cdc9437cf44f470aa493c723ab9ade7aab826a04a00aceb1fdc153fe669bbf8fade6da0cde770dac875dac17deda00359ab384539eec9f25d2566187f7ad23d3421086e0f158f3f23f1467fa2fd0d5dffe2e43b789030f1225c5f85b5bcfc4cf695345bd12eaa9d4e5b10f8a9a76ffb395a247e15d0901125f1f43112ea74633cb2298ef0dc90d6e1cc751ed6b06702ff4b0e271007f60042456fa69508af7ddff7f509724e1b81516869c7e75d02472f567986312a81090465da39703f30ca1e8bf0e1216d42ad1b807a2b1738a9013912562d68b9c1831f3eb4581a1787c4d71d6e36f55858e8107c375db325b640fcc642914c06d234f22c81b1f5367a80afb37889a17f9bfe913322592bda7b25ac5c8a5020b0cfbcfe305e4588178200820a54f555f854ead03ab7ee686c91e3cf604e88f2bb0c9a9f291c341d8fde7b484e71dc58af0879b663e420cfddb224eed196b3cae184fa331ea2575de27c3d391290b0a3817d3847aa097299cf293b9c93fceb13cf99272e04f709cd98891de3819f3ad2dad3ed527aae9ca7686a56fac89cf0a6bdf74bc05629870c85236185d56f6a272abe2cf56025244b500da07bb4fd50101d8a4a34d0b44008e4b9d9a29b4ee048d8b5ab2fb3cad2bdca0a2468984ecaa9896a5de5c57c2af7e58886924838e3f1ed0dbf3ec682cf7bd63551fd568f8454023ba268a497094b1118665b3b58edb0c5bfea48f32c9401b13389321df62410f1a572033324f79349158b64c61a4a3c30b0eae63473daea1bb8ffeba0cc681666f20b3d45b347033a4ff21b8686831c96417316ff6288b5d2e2ae651246d384cb11722be8af49881d7d6f6265b9d73cce7abfd16365471a3b0d5db00cae9630e5a3cd06fa542b042958beb8923101e1393669dcd1c73be0f4f7ba8e2d1c40790fddce82ded81b93bc2bc3b40722ea4cbb4f12ba8e206cf34814c842f59049a25f9704ae59c0b67e24d54b09d2265f1d2429c96d40b7fea833f250a637ba64ffbf4334f0cde88b9de4750352f8b5475a489831b0cb3ad0a371574d9984cfe40c24aeb02ab5a1ba57dd0511fbe592dcae021ec0125b07d5736e3894b6a9d13701f1c3bb298b3bb9cd72a6c54f58da01d9977143dde6de227cede859d25f776d48f046552df938bb52f56d8cfde4f45dd309bf8b985bb8db927b3cd08ddd4b5c0688b5dab4138f91e6f8490411e3e2047c30d20d3ebb94cafc431fa941bada7c8fbbd90cda073e773eea6e6d8484e9eb9559dd0afcfc5e7b5d007315caf3d00edc551ccf3f4d26ad3c8c22ed55417e53b77e49aa2974dda7a14d2f581db01809457f5ffbb9afc251631c04c85ec44135a9837bee98126d80652ac86251184ba2d94867543611f5ca703dc96ba58d498fd68854f372d6616f6efde863857355b1e49daf71ca246fd568c2b3678128e27302df34e6816cdec186f1bc8d34df45597ebbdb978d97e65a0a1bab8f7bc88138abd3960900500d194716438a38cbea011af1f71f6454f10d5447fe0b60675eb4bcb9696a8ba856fe294c0dbedb407e44ca7899ff041ae4f4dbdbf15543331b5e160dc85671cd1f2d50629a7e4e4ef44f2b3474a6d9c8f8342751723ea2a3d326865f79a8d5a51934282d9bc9f4d60e2c15b3e08808f86ad5cb30506affd607b8fbd8c7ea07bbdffbe3e9ddbcf25f29a8198702625085dec356c89885273b1688dacfd60758b3d3e064093946d1e6668184e1065f273d237ebdb16ef5b12d13cc1f6a555ea4169e7ac88f2899aa64d4cc06c2caf5ca45bc79d49cef84771a39d9a431e17179f55fcb658b6cb10441561a9d641484e6a5534808a8d421ad337de96c30e242cf6b1ecc5b5ac8659a6822c428f5d97c54386fd64c0c00e48b47f2cf45cde687f54af43f3ca12abfa779c95551ad43e124022d20b119c2acf2ead3f075476cb668565a3c2d78352a17c7d6a1b784f7154c254f00866732764cbfd8d767d00055b45bba57ce23017908a4db7af2d1fddc9d7e57bb671c61d6fb12295492e70fad839de7c8b43e047e10a72702cb2f3ecf9fbe545d5379b605bf7776983750c4543df81aabc0d9bb5e979474046166f53495f4e1335ec082d2b74297671f2dc3718c7afc72e5326851b9b40c5927ea53c8abc7a4aa15579316e743bffe046e05a6773e20a8c892960ab6d6e9fc4d85f116ccacb34d0669b8ba1df737394f9c47e1fb2b357f4048b1919ca33b6728eed525b0e9eba41f11f79cd0d197062ab9c71c905da66c149e769ea1f3d53c127a190f0864f6221340759f7adc4bb83b3150e9b36785742017d4e0a334338a74bb323147a19edec1aa78b72b79ce62c7f27c6399b1519866f972aa1d323419fdd5dd319545fd58c38dd6c951725192cef7624899e6c1d423fade1f50a1d9b9b402a25f92fa139e9c1ed6a10018cfef8f2d8ffbbd0666b70eb9a0e09d73f7a67eaf0e273dbdd6994833f9d6ebd1bcc6d84207783ddc9afb5662ab3ab8b740177c7f7f364c6d9f40edea3e8b79e33945c41944bcbca678a4954e94e90af5389e58aaa090398d3f78db5472ec96ae661aff60a8a97903d96ca6e3d40f74aedb6d37668b184a2e6a39baed844be87fbd8837f972580435490463f62e8c36ff259fce747829bc4eb6cdeda9153f6c6ac549e70f218372952acec3fb2fe6be420f44f782a23ac9458c03fae8e3d455b1718281a176220548110a4138c571befdb3bf8c09df2002a76ebdca905fb5d036d229e84a2c9c34b67ecb5dc24a274e04db8df0ee27c4aadcb0a21b74e097c9401df9c776b5fc5b3351c7acd6097865391e212c9dc36eaa8b7a7fed6a5f1c92afaf80e3f9bb761fb90f87d35632e793ab56e63a2c7b075d012ffdbdd8df8bf4d19a92139bcfa2eb2c0ab40079484b8ee8d081daf6116e971bfaac9d99e5a3167b1d6c77baf0c12fc9f7b93532da0960a34ec3d76b65271c1d598ecf46f77c9a86d5490a2b5f4e8cc512822774ef4219a81f01471829bc037d7b1e88e76e6baaaa6737a2b35920e1f2a7c0d1bc35a74a0cb66898c285f4b2eb4b90cfb6f6cdb41b77399c9ef4f3515e37d7b007d4f752278a09c63753e53a9eb2b5a67692268955c7bfaaf483ef3bcd0f62c66b288c52e20cc267f8f029bd36a28aa33391d8671f0d714cb3451c02fb99b040b897bb9ca55bfa5c20df3bd8289cd6353f4de528c99d951b95ed09e148be33f163a9de9e5475d89237c0e960cbcacfbcf9a7fc611b675ea0b90edd974971d367c9762fe71d28e59a2978242cf8cce8a4601119f0e7972e479ce08d68a3db7152ef22f69f70d27d00906eba571128ff9cc4e58feec1df4cbca34fb1a26ee095bb42a0340576cfddf900dcf1ce315b821377f55b02a235ca47271bccdfaf29e3664e8c79a980cd65d615c9ebb3dc68284e8efef770c740e1cfc0f733030d74cdfb03a17963e24ef462eacfe4615a51be8631ff8920cdc7baa2f76b2bb1b36215ebd4438945f02dc4231d6d6ba8f2471ae1640e86c69c49c74ab81643c2cb8361b93c94e1a15b360059853c9c8ca7affa4f2bba4e264a1bc0842c256f202cade013afbc5200eaf0f2ed3363da6193098a9342cb1695feb1a83cdf7ff7422fe3d3f18b94b915d55855876985cc887acc06f74d93d04005c463c5b05e56f0fedbda31ff13bd599d9e26c19277e7796595f835e8c85dc0d8ca3fb8e600483a5f4cf3438417ef07e6cf462ace4ca0accaceb17334fd3ca94e75c36754ddac505e0d6a5a15e7e5603d3dfaf989ee5ab19ca3132abda9e99641cdf20c77c44efb873b63f4364e9defa7288da4d4b991812547f4dc77967141ca35cf317ce4c2ece7bf186405bd38e7ed1e3d32b27f4dd3ec3ce25de0a6467439b4012f649d1c33e42bd5ea928ce570fcb5f39ab6c2bdb730aa8188c86c596633b4ef5501513347266c27ac73cf307527ab232e5c4f2376a5dce80789c8b2b595f2ac56bd916af7fc56e94f7d07dd5ac11bd2cfc284e4e7163bc709bb45b24f45ff3e67880a652cbc6032d296430501c8b06a3905e7f09a525e5e1a34ff975ba73eda32ff82ce3746d25e941d17245805b4904198c8ce82c628b61d04a4ce7ed0e98443017d55210aa18dc0b480b1f0bea880537d6dc14be85a50571f00b49dc050c4265497c51071be0fb13fe556f9ad4ffd833e0653a25d08dc386da6c4ad5c98f75576fb8bafd75ca449d3a7d265b63b7675b54dbda553e599b82b21383fe6a71e5028bc9caa08fb382d591b4a43c2dd91c1d1133f7d473acb2542e5d4a001da21a862c6ba28ad36303449e3ec5723ba6b368853031a502a0e1f431f4d39a1cb1d479347ef826b0f303f9ec3dfa2f657173e6a43fdeb6f1f5703eda47d3adf935960645db02b9319a4ee42949dbb808331c3ca39da00b419220895fe0b9be0b50d2522ad060efe39c3fd375f7e2c8cbdecde244fc25e3c1ac7bb49c3ac78c4b91e98191ba045cfec0b803426ce404af748dbcc1ef02f21435cdad231cadb9a32ae2f606f2b50629139d4c987df39d0fff970515a0b1880125de0d7e09773e3285b845cdea5b3fa91f9f9402f7d9debcea65666d7214051cb329af327ce84d3e7ef8cfb37c9be7bdb69c41efe41228c72ea252572dcbe47334997ad217d489ed35bd5f02eb789ad62fce137eb9c9f222cb0d78ec491c4028d8c6ab29e925406a897612a988686306fca3fb7a858df8b48601a0652a2434c415ad7846ac57340d75ab16a406fbbaa38a47f84d8427409050bd0af7961632019e6af18acf560b64fedea143d11c90c0fcea0fcaceec4dd49531f068b64d6d4214358f644303543c90a77c0c76456949fb8dc8d9a4a13a362d0fa644acf1b44f6f0444b75752fb8f1141d3a0d4e082a9a6f3d22ba488601e15679d66394e39d5f9f96868574d71cbfc4dfebcd4766433c9734cecceccaea267bdc14e2e8f8b21dcb6430dede71c0809911470d4c404fbbcbcae26efd9b1df872299922bb0e62981e624480edd1de8146a89fe4111450dd783ee2333fdc592d668a968ae2551a7efebf761216c635d4c92d230263731c3530750a63a7db21397b09a31cd28d7c2ab8e6c12fcadb3977bd910421ad1fb605932b448f8c7a486d6115fc4200a5c3f96b7a2200c1c3d4e5b1b64db10f52bba6d71d58f28a256fa49408d255d0de59484392a4f5976cc031d8bbe1ec83527f57d4bb4b929d98f259c12654fd93bcb6c308d4f157df9df9702033aafdd2c8508532e1f2cb9a5fd07efc7eac514e78a4be1ff442fda68ff3bcd55d71578e2cb84ba5ff0399410e796800274348dac9568adf24cab7a94532f08d716feb63c19fdae0c0557b8de83c80a80da6e7d90ee8e9220957795659e7a29f7385acf02df4f067e7a22ad0e26b4add3b43b9a8cb45b322bf9885cf167ab9f6f28d0efe3275832abe1f7957bf57de054fb1cd9106daec165b34f08d76ffdc133f2fec8136286383fc7707e754ca1a60612690c7543168059c2890b0d82abd9c545b02033c1139b976d7658e9174789ae143679aba5c55ea39bde1b96c7887e59a69d0d58258c66c2634b5342aaa5a86fd1c393b0fbc3fb2a03b07d2ff3430bf5b5b973291c5d1ebe492b447fa20aa6f7c43a58671981fb393ebec65badabdf1a18754cb67aa627049597eeca046a184ba197c6b3a094507a4e65e9416c75039306501e93c4167f5d6d5f897bec9c689f9202afb8e10ff0d35881921a533104b8ca411f6842b78938adf0590a526839f56f7aaf2b3ed232be0c604ca75b25aba445c209dac2d67ae50bacfe38d4d0c5a03016a4ac26d0cf947a8e5b4e1d52d3f45f3265fbc2870f9e1da25e366a3630ce38dd0c4787cf07e4e119bafe71ff3526d9269e2393e3a52500d215721ee7f780590f8dc734929f95d2c52a1933179d5061cababaf7a11da103c608f56d83d038e4e0d8106cbafedd18872a966eefa8eb6c1f474d577311b0aa00afb6796a3879b7c08c9e027f68b310d74b3b25ebe4cd0060a19b5f66616044152697c8086f307cd19245a7385c034d063c3c9b6bb1bfcb64966f6e37d5779d388cb02d2f2025be06d5f3aec1283cb5c7d0b35c81c09b844d36d29e14f4a85333e723774798178e34b5914c7daf8e480462713a30382e8b743fc067611819a27c35d1d4e1eec77c8d8304fa4a79e50014897fd6463786271a65b0f7975c15a857df165ae4bd80ad34c10613c7418db6fe4f69709bcebae1e8f3120d29c0e1d5476141678d22e72b71eb3295ec126f4f10092dc2d4047908b347a8e10cac90a30aba3bcecd7eabb2e5bfdb8d0f09e3cb4fda3255ff76016b68f0866a70c067f0b84f01d5a176a2711ced9b6308d61fbf9ded3521bfe66e67e1cfd7922e9ac16172ca9da0f8e6e3f9be006c1fef7a74862b728ea798816c33fd9e986f95abacee5f7e9002b80fbe7302f1c33346ae87d2d5cb496dbfc136c55a352743d2172a5118a3f5ffac8dbcb3ebbaaf672540299a46d5278914a2194bd12acdd41b3dc0377fe1620c3c2a6d3bf5ee75063c2293cb1ebe179f2c933fcee27991222bbbdb1de631db5ad62c6268dff6d58831abaa622344f34349b739565b48f8dd44e8ae2cc86968696ae38caf3283812aa415fb0cd74ce680dcad3d0a0d4d9eb33a78f51b34b45a80aab428c4e4fc78816522226a482962740fc56e7961e3c8b4d70090288835a64a9c912fedf55cbc58aad112531b87eea10314ac9e5706aa6cb765bd3f671285c69eebcbc3766d6a9a60333cc931dbb2ad127ef9fa0d9f2ff5d8e40449afdbce377370289b3bb74f2829e17ac2e3e91005007386dab6560766500a611e6a93fa09286c1736562cb0717f190a453d6ed103fede3db27195c4fa58d97c8cf41d9113b8d4178da309a17f2ef43dcc1dbeff649b5b0774fc83ab6b9a447a335c3e5def34df85da08995d184a06cd388e0f274bb6d01b4c08cfc679a419fe12a31b378c7b5575a2bb4a72cc76f470e1e7a1c60cd6eda470c9d0009ee62f1ca2bf49181c4af476d0e2c2bbf572e063606d41d3e5063720b804ff319a40ee750614164a719bf66a089c1f760c0ab7aef70a7b2c7f42e25e71917dfeaee55aa24bd18cb65ae7254fea5599b1a40c83dc3429d113d8ffcaf0aaa58b6b86c7c2f2eebf08f71c65c07af89ef34b0b5d0eea79ce02d29b09299f135032a9c082df367c3e605a9a5ddfcb617c23c6e11145823a2e322c4e28874aa83dc73715cd80e3a794e9844dcfef2cc91e38353f3ed4126940135a2f96af14f187fe2b6fb7487e18e7be09ce5cefb39da3f876e9ecc5331d09600b22fc36b7ec5f1ab35a70e863f389e747a127f849b328f6c05668f7217943905bd2daac78ae50b4919ffefb7878e6de315b5f866436bdd02ad6ae94d92cd2f2ff2f0d7d0cae59606b2cda229bc5af7bec49a0c4adc642fe00e781f7fbea5c5d48647165268b12900cb1185160972c76d33fb016d2e49e24ddd23270791befad4d55e49b8f50d001a062d14f65fcc2228a9c3aecb574b0235dd38b50da3adf238f3ae05ad1d2bb743834d593a1a942afee54da4cecac602efedff71374cdf6246eef38241ed9c45e37ff4ddddd6de3a0ea8ec00a37d4d5d961357d969a61f18a37d94f1a1e9913d1af24609566dff102350563caad69fafb2c95f63b22a9bc22ea88ea4d394de5247e12ccf5db6c6af4af3b8cafc9cc2ad226396008c766b9d9ca7122df56229f7d8759c87ee784f914a60c7b835958f3e3382392e39b1656e8768061b13226cc80ea9e24ba19882b8869f6ccbd0e581b02d23a264e25ae8646665cba735ca62d93a688891ca0c5dfaf7f0c4f68ed98737f49c08deb69dedec0637d20c45322de8e493dbe10ea69fd6389b810d3e1a6f8eaa7c79cb7e55c59aaa4bcd70ff849bbd057dec522b9e2af5335e3c0c54ad62a78297ea37d600cf78385f5f2392a8b99c0eb19bc64597737f41621a47f43c04bf313ef8c2c297291efd5e1f25f0eb485c3dd0eb2b2f45f3b821e242e7e202e0c94557feff93fa03e4e3b95ec0c23d0157b8369239b63c97bcd62ecb9e0802ec912628bb67d4dee5c51bb833b475790e5a996345d5e22bdabedfdf101b22d182e1533ce9106d4bbe11e6b6a63adaefae8f48ff29a2ee5e316e8fab1eee88cab0f698b00bd060d2af132bc2c75fc944f8a8a610da16c91fa1a11f4d86c7a201e4fd30ff9baaca41205d16cfcccd375f47a8311628dc25e039c25bdcb197a2a52eeaeeb80a6da292d8e63e03f4902dada9d3120511ca771b996d772a6ef4fe2a4a24c19c8e67491deaa5bfb030bca991dc4b3426e5e12cadd3acb4155e29bd5641e9c74691cb868c560c81d8d09ad23306aa2c448abe34e9927ae2bd71e2dd491d83159081971e31c17d815b8c3983ff97480fe9fe38dfdfad84e8074400c6f4d50bd60106d721ea3493d6795a24b4fb38d16346005cdf6f81af8dd81db5763496b9e190b620eafd9a0e07e54673c722c08ac4a498c66829d54f2f46033635868adc13530c9497e0b134aedbe448e8e48a740af83d133d3ed84141de5f37ea116e52efc8b8a087f67aa31d58499ed1f7f6036ac48a9d6863d8d351c7be3b14e6f91ba536e4e30441f8e9592d05550eaa1875548c5e369713f8c33e989c31b2751add311c5f09b5c556fc2c1f606e1f543fc18209dd1c7421a69f732f11fb545f47cb4134840e8314fe9648d8f8a66ae929a86edfb51baf7f8b53b52397d49a9bbefa7092078308e763375fb622ad150e2feb8414120cef7d80a2510f954d34be28d29c7c83c1778fef604193c3115179cd83018bc7da597c3bfb084f3d45a97175572b12fe78a5122ed07d624d7c2fcdd4577e0f74746c5b71d93b46298130fc81344370593ea33a12d2d5c516afd2db45228100d7a38a87bb591aac90c1507cb03465301c95cadba0d3fe70a5f3a41b489c0cfb5d8563a34a4bc16d4c6bf24eec0f1211cd229372ec9311f65ae9671649d1c6998c966dd156c337362776ad414b6cf1d79f36af2f800f7a09782163ac91465728294c53a0d286cc2f58e120a214d014a32a1e36298d1e34a8bab2ed5895dc5c4c3f311deac8c69d0970360dff02c2d83f456f3778319dc515d87418a96565aee14791d84ec30b3e179f2d53a44b0180fcdb69a0543943c2db11335b2a3dc038d0bd0469fb6c0a28af47a2e90c8645cd092e36f2ecac7956c4f6cd5bdb89843211e0e12e14252360d3da9bf3110c63ed25488ffb600582e398983fbc606c79b253ab291998da4d14ae2f14a7e1975715b4ce0a64b27043c39b73e76bac85cd3813ff47c70df4a7072a74e92843f90d53329304ed048098aad39b9e787632965371d49c9a15087d51ec2aa93e0fc97542b04287fb78761717711f7ecd491f5ddd89ce1d25e05fdc46bb49821472f4b54da1904c7c5f69f49d0e5cd93a7ed9e711fbf3599056fed330a774b109db18026e82031c12777c29b3805bf7d093cfc301aa1a5abcf360aea715b83a40df2139fd71fa5d2eb85799fa91423336e5f577cdb2276da174d305c760cfbfdfadf52aa95ddd59be1186027f6fe6a4563a4cce0f374553e63e797b1a9c097b6e24b55be74fa93bfd7bf2e72c2f0880cf0b66cc635e97b48f1168a5c75938ecf39c7009347df16177513d93b8b840b481487f6e916fd26a5ce79968589c008e7cabb5b8e2602f4b905e0b81206a51b15d85f23b8f881ff645dbcc9527a6a99656ddc392870b81a38938772e17da173eb2a5759c472d8dd1fcd232b1fbd49b917daad84837d246b18d8337c58c9916d2e4536d79cf677582c94175e1cce454da7228d59d3c993600a8f2177c9317ef0b88b4b90fe43ecdb7627512bba8455d28d0deecc9226ea526a7a9271b1ca71e64ee2e60b6b60f34e6bbf742a8aae2fa2d19f973346f6c5675596b3b39a30c6c4dd606428cbebc1854a0fcb134e0b3630d3417ed715bffbe5bff1e0b3c5b3c15cb3ed1e4dbc743b514d6becf15144a64c218b38e1dc90e833ab37b8d5327c3f7b14d4b4c1ea795d47f12d94e109ce9365cc18507daad69340c60b71cf2b7e04a87782d971de9e6ce63e451f9677673b28444c42ce443238bdcbda01633acec888f10aba181d45d10b42a8cc6b4041dc4a398d0850c1a7b36a8ae9a47631b80d0d0a996ff621bf85e62b3293c2c22a6bd442289d24b6cd4fb720bb384705b4cad1265d400a3d6d534843aabf6480a201ff414f05191f87739e4cdd1ab6d4c3c9302d69cf3c69d3276f2a1e20212ad5c22b180d2441653b2c345343b07938069376b0d84791412e0588fbb2c6a75794661601babd4c25e4beb9db17d8cb679ecb61fdfe80c264341825dd56828e3aa8fa2ea66e60d377b287d7ce62e5fc88a4cc13c68a17eec4588736a4cec36b9b208a71e7364f0452c6161b7f09ba0f5e234aeb03092a8dd856483643e86ba497767398239243f57351bb0593de622c675944318d209e18c4318fc8c3dc7d87692d5be3b5efd2ab6b443c2ca99d61e6215509f4d4019dd4b5daf2339f279c7813538ad6a82ee1da5ca292dbac5936b66258a14a59b379b9b463d020cbd5c4eba46d251e706838cd25017cc69513a9cd6eb09f3417fb27f4dc096a3529b5d8c8adc9cda31ec34be7f8f0170fd0b0602986f6c9787a95e4b586f6cf6613a940ca961b3e42127c71deabd56476b7909365da6d73afaaef5637925153b1e5d0c71bf6b1d15c9e27a367bbbf3125f194ce49885d8a7f8b045a5b8f05c4ab83ac5ef0020b5435036a1667bbedf45024e808831a7d3d50499d413373bbfa82db81780be0da8804c4033fb8e7fa8b105f348b42e21bf2b0a1b110614a5135f9a1fac82ebf25ffd3e9721d4de2073fb8107997e749570effff22ca2d45de0b8b58e6b0667694cdec77d8a9a580338c1a15824d2e19cd0b64d4fc2f21c0737fa9732470866d2978e16da620d64fd3389ea5018b98444845dbffa5663d36cb03f1ffcb4bac2e2f7f316cd95df6136a4d0a7d8cebda38ff12cc2852c8ebbb57964b9e1a72b6c727e12588695101998b114eae8ffd1422064285c4302de83a74869d5ba6dbf5e63bf53810225d868cdbddcd3986b46bd831cd680ce79aea626590e636aad3e236a2ed0e3e6e97e29be450a90537396ea8c2d443dd8a045191692714ee8bc2cc77c04426196e1ce9c55d82b189eb647742382ece73b6f1f69f8ef8fa5f838a3ad57739519aa5245058c679a6b1f168ebc1ecb6c786ed0c8e3852e924146a64e3d36fb41bb2578d8501de212a159b2eb49294ba700a3ab4b85e76152ee14c57ad78800953d3e96e4d47f644ca884bf5aa140253e84b0b7728ff43f2d0b28261a98555e994aa9f525309207e621985769cdbfc3f5cde75f861ebf18da3dce1a4d32c70529bf0c065ab980cdf2a6e507a550af810bd8a9a83e0ecc466e0ead6ea7fafc6fde6e1723f7df63a38897bfd245097b503b46b1ae81ed0245d5012b2db97176788555867fbcec9f50740f13052b94c1a1dd7622759e629da7008180cdc99e8d3b7d5ea35f904d505130470e4ca746de80512730db023ac6e06a995ea33c26f566bf2665a902626ddb55fcac86864ec51e60a63316a18545bb05c07adc36a22043284b844d3e409347911fc5289b99e90c1d117c9bbeb58b51e499455255c8a19a59bce302676311e85dc48ea74d41965468cc160e08b98f7a5ad4e6e1c3cd7a8f5718879f10bf380f24ec2ec9ca941e04569c50cc2a2ff2bd29dafdf713db0ba144d023d3b4607f691f92575c22cd30aa4278c190f6b8836dc348f9da476fe3edd51d32b388cd6a54f6eae296c006d40343e58aa2ce15693af1a1d977cd5ee6ec26dba6035fbf4a8e026f6fc4a8099ba07d4db2d487e3dec1adfff5bc63d547ec7ca713af12ee365f6dc8ff4bc008cb75cbdf4ef64ef6fd2e6117e5e2a7dde5b401acbded41c6c33a416a3f2a977a93435d19698a81d9fa9f8744f33c7e4a66ddf44f6734cf2dd43e0c276c44a3de075f034dd1518a963c1e67d59276cf5c4ea2c52e4326b13b0f4627c037bbf966066f5cdaee2c25db4e1e6a7fcf169fec23f97c20c74ca0d6e24c3a1f50d230b27de9bf2c5c43b52f23382b09e69e72ab459127e4bae7c9f69c3ab9aada3a8c8f160f82e04e76d12eba605486fb2f4e7480aa205caa1e69490309227471fe514832ba63b9a5e992a9c657f1e9e07ecffec33fb5518c9498d013c8d5e5c372fa81786324c7c6eaab03858f7465143d0bca371900d119593d0d341d83c010b8b50f4bf43a3902cb03f10862c3a9535e1fcc4bc11802403800a8d92a62f1e11a8dbfc59285d3b16ee124716b839f455f6306b970fe0eb0415689a095fd39b7d43542f5bc961846ad3c90b403ec52c9c99fd5aa958dc4375c62c25aa89bee23a2cead2af94792553a9e65113076f6a3d6ba4cd451138c80b994b1dc32e7ae0928a60ca4e49a35c1af00bc6d48d5bb6d0e0b7cdc108f8bc0abf8268a792c90234060359bec6afcaf09b089af8c3608f0e11b1421486b5f9c9566ec00682204389fd5462c6ccb95bfda4f5fc6188467e8fa776294507b6b7447efc19e3702d39253c14468e48e2cea2aab10fc7f3b769af45c9d3d429daa68f77e560c6a4f86ab9a1609879fcc35a97f36699658441d85779da7145cf920cf63458bb4f37b0d56a4c70c4457ed6629939406d2c5b8b4a6eec163c418b5262baee50ce18e1f0407e843968cd562b9a946dc5095b915faa00e8babe4b190c1390a9f659c04c7cc04b604beadf20924607b38e3a76f7aea0ad61f6a914f67fd56363b051bb1af20b720dff7898166dc9af77940ac7ea2fb408b551738bb9f71c58680dbae767f40315bbcb7167aa1c4e88af14ba00d64d77c989f232ab544939bccaa47a4a1c368fd0cc34273536d403448775c851b38b2b4fe48db3736adf823987971ca6d1edd49bc9ac30a55fc8cbcb40a384ed64d834fec2686294dd4541a77b6f869a6b9b691f68d7ec6b08dc8a0d072c24740bcd9c69a862a14eab08c820d8066d3a22d73c560fcd628bd23afc46ad21d778670232638590dcc2836f69700a024608c595c77ec178a2f104bbbe261345b986e8f721260d7f6b9a850b1b680a379de8493fe99bd917e43455ba211f1a6288f7c5aa6bf3bfdcd2cc3c915820ba0ccfc34933eeb3bec69997c44af8c9c59ebe27a4f87ae312f036a85ce32673c819aefcc53f140f8a13895b91b1c55e6a86f1a56206e17f12f8e5f107c5c3ffa6a5535163d0761b2b5d8bdff5133895f19ad2c42121e962e8e5e447f5721c3084614f8c972023c2d5a33f08ef66a8d9ce8c2e7a51d02ea56304a947a88abf84a1c1efa3e39e450ccdbfd5860d0501031802f1750c0486f9d9fef4bbefc50bfc3deeb30642c3ee53e50cfcd0e8db48d9b91f5e9893f33262604735379e8a653edf6f1858d3a5d262b492393c8288d244930d69245a4c45c074614910d43ce2af6e4e7bdb7d03635ec88f87b3b36e578501ae926b88ea59a85798a048dfec68d838175294fd315d3de07973d361de9c7a54e23dc697c19ec9ba5ce7518bea4d4951267cda7fb857e37fe16aefc08626c8ccb10db1ccee4608f6bdfc270d68a706ebd6acf8bab3a5dc389f8a1c74f3ffc9171d7db713599bfd173b404aba0fa10582115cf82b96bcfb7efdaef7107f99b2430164f2b96099eb653b31edf6e58185b02f884c09e26aa3f1d55dc2c809c541cdc6d335ba8f4c98c17935352c05b3edfe2587b1dcff71d58ec15d5f73e6bb3a50733a076d32f35a65b4cb2d78b266b44a58e0379553249317956e196080df7d90f565ed610929a2a783df1f68b54ab945fe11a3db5cae60d83eb1a224258e810b35ef76846a20e864a5b286bbec80b70fa95ab21ea1a9c9c7629e4a1fd3ecab6a1cb77474b512b6b919bf97176b6e2c8ce305f0f21616c8f07bb84ee149173019a1547620d36c211c4c682760eb7f3f9db80822dc07ebf68da9a12f204ac876fa532187ba0d907b7705b2ed2bf39ca7050b59446b826860eb34df88af05760f1f67a56b239f7cb78c81baa493666da7458fd22ac7893373eca79521bd2cb42fd0f3830fe4a3387fc26347d3854f91966e37dd8d995ae77400d2dd8814dae81792aec74f96dfc2ae045359156b77facb0d3232abd6841cbea1b083b6866fe7ead5417e623a4646cb1ddd5852da1406c6c37f83d43a342f48a08c6668e290bb5d7c46298b5befa515ffa3ba0d30b89201e87a4ad89c51ad257b85ecd784859308f3fdf565840fcb617fec19d4ad482cbdab5c9527bae033592966e356951cb8a2900c50664e0174b94ed7d34251297757945afc47fad7dd0931082cdadbbd444684d32b9151ccdf4c559463b1cdeabf1b189c4b44a58cfce86dc598e548a64144228b61d713ac5d884c45f6f5831e75a0ed8852d6dc2e41eda77d6a6c1b6f1fb8eee65cd867de5295bcbbdd3a6b8f94fa1bbbe55dc8a47f88d82c7568cd82041c82fb83ee25015345e4db44e6c65dce9bcbee9149ed79dda54b37aa7bdbdad821618955866907d7b64c87a9a69c6c6b4c08abbaae9d5307d3bf23c85628ba349692205e4f38bf717b234d26deb21bac970ab4caa4352aea7219752c95b3773d17e1ee165e98124dfedb01a817cf9fa3dab80fb4f19823d760785078317a7326f485783621ca2fb241fffbc92e0882a7a90d75ac571526f7c427353cf235193bdceb7c209553c577a4588c580ce1f458c110425824c716c064462ce73f1415e69f7cfe54cd65a947ad3dfbd9dba40db6d128bb18158edd438463af87778343d8d0c2efa8044c899ba0a0a92851b2d562497ff3e1a798f2c6f6e95694b430edb31ac5e004cb66bb3bb45b03c0db2c1017755434dd3f8b2e9afd226356b812d1e1881aff9e607ed11bd1f8b52b35c559c633ff7219432aceee648726c7314ac6a0cc58a84c51357832f26a2527820115c2083595bda05bf745a0db2a29c3d7cd3152bfafd171ff420044c6aab056b46b1b8e35f5d2d14b6115ec2382e683b59f2385f98893b981f7ea4d32267b3715399120f0a018bb952ef1ca2daf68a80afe04b19bd3653ddf8e6c7127429cda39bed814d3e7ad824fadccd509069e1128573e7e74dd845c04fac54895bad014066f52ab3e64a8da8975ed98167563725de3ead6d35a7624776bfd0b87a02a1ec0ca9b2252ebe6ad034c59c8e70eb9fa8d169eec1e27bdc589e9f6f2c7181160940fa994dc46170413b2e342fe57be4109f7c57a53b4f5d4d7456a83dd21c45cc62ef24879f7a67fef3371f669f7fb87acf1f031efc619190670f66370b7b0f6d491ed0edaa006ab858eb231e58f2ad8fef57bc76244e5d2465eae6748ae43f622344cc9296ebff08690a5d32fd43a432adc10775391e63201268353992154e2493fcf2f0d831948b3fb423e6f2221c4562989ca3ddfbe3d6316e9d5a60c6804dbd95f6289ac1c4956c086a8b8827c82bb14a1078505730f1a7d854543aa8a699839c9b3d949e73155592233c53415c62ba06ca4129ea2e4db288112e5e57c810ff2fd14810acee2be5316c8f49920dbcbba8a475a70e268b21e3ba092a358065f157b2c968782b415f3e5a85d36b58250ab58f4318248a93aef6fce9509577f7582056eaef215c8385f5e20f2afce113b61d38ab16c5d17df67651144781ad4dfc452b17b09f1e23830962f823f654aaffc493e12f2df0b31fe87878ddb2313a5397a1f6325cd31567efc00713e6b95a636c37915a958437986e33a563af27ead7e9a56386661f38452262a4f4b1c416f96113c32c5325ac3cd4cd09c6b660df41ec29c3c97671aa8faf7308fbed302682a978c6dbfb0aabadeb114a2c45482e9dc911fb7c51dee8f297019529934545f70ce6fe77cc2ff721edb939b40e84ef93ff5d51b43840ce61dd8628c76d026caf76b8760dee9da434bb7bd893ee56a214379ab7c51bf127c293ef432d8b7726c98293d6e4b9e4424d5dcff601524fa51e9165ebd1b76e8e5375e3eb6481d4c74c10cea63ec7a6bda67735cad06e3fc82b6b9cdbeabc6bac1161b209428d6e37c6131359638840301fac5b9e8ec3bf3eebf77ca3d8351f5c620317da01562567afe83030858fcd211676704c3f285254ccb5b11420a988e286f7d887bf81ce125974a1a96d7d6280eb097da4b9b5f8d4b7a3ef1c1faa247ea802d987871f55de7cb0b567c16dca523cf6d0af85a82376a5577b8003a6c346127cadf27787ac580bf550a9839e6723f4930efdab5633cc8d879a99b4f9696fce6871846fd41ef3db34addc8cdad67dd885d73c8b92cd711ab9afdffc074dbaad5c106b6a2e43960e99f31ffd8328d181a38d2be71506439052b6cafefaf813ad27a222a6c014b486f21ac58c47c8f71b2b799cf4b2af78b58d46ca3e3fdff5217fe20ba6301960788bb56291960903984021a090bb1dde6d7b4b873361c30ddfe65c262af586caaa188eac714eb450d68c1af9068959d7af0badac0582c04478308106a8c772a32f056afbbe39b620941733d28ce163486beb1b642225ed7598df52981ac4b94ee4de89c26497ffadd53c238b6c470f2e3af0fbcaa1f67cf3d4008854ee17fde0d60783bd69a27a87ccd88fb3c05c6bb344684c983eb7ceb4c1c5463e9e946f2e5dc3de8367d5416c25beb35419671aefdc59f9e35575a616fc30b950256b966c6dc4c02e461496ab70c840059af6f12308012875d15aab8332ae0d466733af71573c198a7e8bec7f972891d8e383b264483edfffdc116d5b411456f6d6c2d02bafe5f60913014307874ec99a0ab334151a63d426ec6f982cf7fe21b3363d3598afe0fd23826999d0af2b0652fbbd1ed82280ccc4e5a6ffbfd4236386b045d711b27f0b4b2cdae32db52696d57b486a4cae91e79d1d476409a1336302c5a18713cf6b1dd8937923992dfa788407bd23dd1e056dd07b87d22f6cb10a20ea2913dae875a23951b1490e043f50e56b70cf7750a1da7911f1a39f4366801b3dbd18ce274f5f8595bcc3a141dfd281d0d802ab19f35f26597d6e9aec27984bb5cec89431befebe3fa2fb137d62b46e8a09fc91dfd70070f5fb74d73dc4886eff6c72e0d49ff404c22131cd7467d8185a268054d6ab9c52e5a93f91c78be5efa0c6619716e301fc048a3b3d77c897f7760ae7f7fd1073dd032417773b25008f9d05a2037fc98f5e3d7f5684fca9e0bd7730cf5f100263dbd9a039e9497747e2d83c71f7e0d07363e1a78ada09cc8ec1c5a864feacfca23bc1cd0fbeef05810931e8902c5a5a0253122b07aec3d7c5d38e01809a1e18ca12a290ef371bf3c342072417a430f7cbe4ed626335e3156fd3be90fe988902243a71813da5b3e33fab5c41d7da148fdb4be205eeacee1cc29c6ca96dc9770889e84ef968e6bf8d05dc709d913e22deb6f2c73693e87472e07c298bc4035eb1269331d0353177f4590b9c489d9d76c573b324946ad8a896a53b8b63833645d50308a596ae775302df23435f3e9b01eeba0fda2a2b72eccd0d7be743d5e6e902658aedff988ebfa6ee0d0ef161fc284d75affbe273c9584eb7398cd37e611d7ffb44533684b4768410fc2b1fe9846d9a6cfbbfd2e2b51120387fce92ba1d0816f6bc09eb4a0a13bd672da903c154df65433212df02d67cc414150a0a10bb83877597f340e201cf6d5c2f39cc4ff73165ddb3238689c20765b6738f68cfd8806d4c5856ff7b6b4fba149f662557a0e850255de23f785d94e9617f76e21af96a1c8aa7d5b30f613a41f2cbeef9cd06e0ddd61fa8b9620dd37602e26a5614089d4826d6f739e0e43b05ab6e50e8da310596c5db02f727119d0289665d7e4303cae9b8aa7e8cd89e4c1da13100efcfc4f5c9e4955487bfc278118ebbe7d89722b1bbd76f02906a7ae59c60c47163a497def1341ff4c12251d47fc5a138991e94a7d09f9426cf790cd2a454f34131d1109e16c1f828a3e236248ada2a95ca421e7a658345ee4cc08471e9d888a715d36a5fd28854b546082937d6c5eb204851bcd6fc731da4c4f0e65a54d5b7205e5a4c9436eb9993c510229f32a78da256ddc548327cde1759b96b50b2dd930b096003a501968be6117da115bf56c4212ad68a4c55d3da656574d18f310382571c8e571cabb73af018e4beea45adcee697abfbf94830f8cf8701ca5a8879d34680417b5a8ec408c4f0e1a4fb74a79d52591be0223c6d794563b5b66da82e929bb787acd3f81c1b59d16f6188367249516085e63eaf142923de003bd13bda84ab4beb7651681dcd60a14c1515c38bfcd8d0d025212e4de0d927d5abafa6af2cdf3c43419bf8866660b1c302a47c70c1eb61d30720e29499401b0170894df5d7eca9a5f935f778a11bcc8ccbf9f77725d369506ae7905fe4476eb336687def724a5e803c0f16126c8663fe14b8bf76bd3172839bd1c0afd1163fedf91534bcdbaa43d6d04efe4a8c9baa6acffda4966e72563d6549ae1c12177a0112a68b43fe8ec3d21992b008c6336acc3e2965eea3fa260d2843ea1b0d2accb9daeeaf8ea8d3d38f1e44c23ea1544fa3427f7d6ae03ac42c4994d253d908fceb0b328dfccd00215a15b8d0400db3921a39873cfab4e8dd248fae36a98d70a0ba662d263e800cb1e350691229a77754bcc56e04d5dd064b2770961d426e56f4e269d3baa87acb423048449619a401721d8dca12236a0a3b03232b080977cdaaed66fdf4be91df514a05d521293c6e052ab85c9de5451b59ed411113cdf95b2cc1c48310bcc7277d2ea04ccb020c55bed5f1ec387ae0898561039332d5079fcdeb7f741bd901be3552c2bb0da212f54c82c32db98fed5f4467c67407fd058bbb52917d536736d20dcebd448f8e7f79d2e1275b846eaa082cc0f82de683067d44daf02d89d88749a8e50d6b8be39996f840e556783239ecf467b12e16e4825e2455e2abd43678c8acd5710db81d634abe9eab3df1f2be6a5047d489ddc60be4d05fbee3c8f7747e9bc9d8faaeb4c756ec0fb69cd5e2cadc46d224f24fcc006ac8ec99809281771e025c53c4a59b2740c4ecd43aa7f999e109a932f50b0d01f8c623ed505ce3f9d628c4639f45d66af824626f7d383ea42f587738d77728cdef361482c74e07e6b96ccb46f8971deb90a28fd51811bf30281df29c1b395d9d2659cb5e268db80dcda181c7cd855b99a13beaa8aac280bc0dc04d3841a196e2abe55373da1923e175373a21b4e808a5dd9dfbe25be168013736f13fd0f5c3a3dd7321f57591b1d424b9fa71ac690cc4a81537815f061a5c8c91e931d7cbd134e3fd88b7423ccddcbafe9fdc448117cf7f7d278f1dfcd70d30be5bab037bbde88703aba3db17a26a31e59c93e3a0b626a70d6d6fd95750ca9cdf694793b481f82d1db91187e0ed87aeeb504c6dfd5bf0c6b28e434f5ede6a302b66e7baf8a563215fb996d7ab739b6f2162a7b73f6cb874e80893fdde313593b81a3772e05f1bf105f865e175db53721874b1f5cf51679deb31444a2bfeea12305b464ca9867cf7e1163aa81e651b213eeffa53ec0120db5cf8ac8b2da2c68acef8c10532381a0f9155c2c5111ccbcf120ffd32b2a3b394af77b2ea1dafbbae2acb54b7b159bd22a262275ac84c6919d15606b82b645d360ba36fe5b5e739a128fc3bff31eb0e1b7993cf6eb24e475a1401b3e953dee13edd03ce12bdc742029252978d66b879e77a2176ac7f2876661ee413ff1b3eff3a2f5c73e1182f98e4f455856d2bf501c774a9e5b0b384bc937466a94c0e95529305b07b8b7c2967f53ea8127be508806f2b6f0defa6eadc915ce454a802d077432497b70918699ec094e242f94d95daad22788b1b047ddc89a9f22b31473f227506b41b74e7a019754d368d5a69749f84b2657cfb7322c1e727165da60aad1beab309d8ebf7a0fb23cb47e377b572dcc427b40ab28eff3a66d6b4750287e8586b80295694b8b0dc9b9726211f7c8eccbab967a624279879e504d6ff37ccf34cd47e617a53f255d10d8d3ee5677f041f0e35027874e30f2703d7a3360fbc81412a43a85fcec8cd442932e201af8db90e5216a96ea00643ea2aa81eaab2ec284b6374a56f4ad84d2d341f62e6fc98a006ec441b19cea3ee958b451b28fd135e8a50e571b4230790be735d0d8eca1616d7b73534fc962860efe53dd69c2303599551b380b9cbc635a92bb5600e1257543450caa42827a715d964d5769f22a6c42f0c1400af360c754b751d4bfdbb2878b7a258f87413852cf28a42977f4bbaee46e1b4fa89330813ada6a04f715f8e71c76b98236e40e61c645a7fc71142a8843e5dd795fabbfba96ee44e785aeb12da0a64e46e636a8fa8347d704c90ad2881e91ab45097bb00e2eb896e1e5a42aea75ddd6696b23b8044adbfeaf8b9cf2b393dca8c79c285cefb23f134cba8ab350b9d3b84de48d3e8069ccc84a1549fc5ffb37901fa27363582e08e8fe4c584273f6fec70a7d3e4d67d1fa320155f35cc9ce45d5ae64399d43af24f3d21702fd5f16eb7efac2d46f762f7ea2d72e11921f7c7bcb32d1f8fe7896647b5424417547f361d59828e8122f98fd6aa58830f5ca74b4036cf693cf55211da56238f8f453a0c58fb1907303a83a16b1b9bcb7a391d1763b0b4b1eff24557b4f88a913ea136b5f29b0b7452e4b16d770bfc19a529b638c023079a07c3a456be171bc3ac699b9f275c8b9d93b473a92ce8e5dc3cbbfa4adee15913ad5f5ad38b1aaaea6596ead42a5e10f5e4cd92236244d3f708236debd54175c0c8194d6fc47d14f093476eca47c08ed0145fef8b4a4c5793d613fbbea9fde7278dc55000f2c8306b43034c818257a196cedf16bc15a9bc3a6dd7affe90481b4743a22c9805e797682658ac2918af0bde488e89974196a27c40919d2036d01bebacbda1dc79ac4c4907093f7b6c6d00d5774967c9ba9d7327235b9a8ea6f67b6cd32470f11c3ba4e993d4d78be1962a27e0e71be3a051a58fd939c867febbb647773a0306b7767999ad35f4a845e5278d03811e1de1fc2690e5e0d0d02f317377abd45ed401f3b18544c5fb209e396b2ae495e32cb80ce43625650c04adfe72a99511b1debb362fb6860e3d28e40891590e6b0eb2a547ea62daf0b6f55eaa90e0f0493a72f90c995403adea20f06eaed593e193aab075cf1f84cea467c032beda1e65ac2452f528636584ac1159bac819ed3b8981e0d759f390a2f076bebbf7e036ad680cd9497bef1b2a6703165ef4cb33e4dc84a602c00695598e6503cda22bca252db0199c5181adc73831c0689335783a8d805a8ad1256c1201d16d506a2d5bf965fa685931c03833a538b9519bba74bab672ade25f6f946540676a62b67f591070b80d2626f5406cda46e68ccfaa2a8061dbfb4ad652bbd55d70dcbf877f1c36e866beaa49057c9b21cf463f20871e42149dfa831c8895b0f68e24e8d09138ca82a27583554bf6aad960b801e990d30ae34484c5cf435cbc5c415811094973d17a4331be426f6b653d5cdaca28bddc5c61653be63ecce77255106231f4ef6fd312f44eb75c2a3a1162b12a8f8465e33127a644e35fbeded86fdd2cfaea8ad62014c153f9a90f0729527f43294119b7d686957a4bccc5afbc7771a22a1eae78f3085a0c15284d945d082f4b6513e2b310de678dbddec04a14edf9a84fb149a29d579f5d049bec80505b3218172915494a7a316a9be347ca27410c90b5f1afd264a2f38c436eea11937570703f712d2e843514be630e006e3d061da557419288a59bf59257bf258dbe29380e4dc0afaeb7907ad3da7477271bffffc11aa54ae3c52e547032568221fcf5945aba081bca5ffdb94d8a3299a635830c27d77425991ac8007dbca0116c6bb9cf3824aec05fbb15ac47a9b31970eafaa0e0bc53e2a6362f852a55a880137844f187ff6ede90061eb6d1d2990ddcb4e454d163277f834e6b94f4a028cf725d32dc56dc0920e37a4aa0929985da6f2a62fc8bae40cd5bbb0b3931987cb73ff7be3241096a0f9208f8d450dbb40b084c458f264b5c7ecfd01bacbdeb0e21698dc4ee2bfc54bb04d90ead0bf88185be8301d5f664d1c18d740fe2d52c1e2f3dd5b9d784253488caf932ffcbcec4462466853ac900a172b95382b813f3516ada81e691abcff670c06404df5adf94f93f63bce5bc4a0e9a56be8e0ad9817267abeeb40a392e7a673ee9fc6346970751ffba1efd491c3a237ac5d3845f7d75551ca0e50dbcfaa67af1ede4cff90cfdb10201bfdb36ccf8d2da44031c5694d2963f06c99fbf0cb90ec8f359247b19b8c4622b65f2517f28c6e04bd846a4b0613bb35b91ac42bb40afb26d572f588bf31370b123d0290080a3351c8433a9935caa02d1e77df14196a161b319412890078eac8ff4276e4c11c6b3d1e921a76245a9f1a1fc0d474edb1d27506f0d1582cf9065babb215ecdd575cfa16de08518668c469e4312e97be91446d33152932f4cca79bfae4f73eb1b73d54bf3adeafeaeae75bd922d7694a1a36008a4352142fbc77aa34b43809d9239e301b87dc99add4ee32e5fcf7cd1542f4590b43a3c959a9966d6f0a2f256061368f174561e598a9a0a8104cdd668b1b539effea69adb10a410c790e566cf2cc8da655369e2176859bb5d370639a0ed1a58fcaf923faab76aad3870dfb9d7e32b7baa623d61077260a23b3fc16b0f765fd6a91d616a73755d63fa6602fd2d84dca007822d259ae9760cede237d90dc89c85de479ee624de2dbca4f99db61aaa4ce3592067ccd9cfa73eabbb79a787da5ee20ff2d3baa43e105a8ffaa2d5bfbb9bba2cb224bf117812faa3ff1e39290c37782b45e553c063ab64b0b8a6c65f5cac133140ae68566dad1056411693fda433e313faa1cfaa38e5a717fb1ea006de79cca58da14721c9c3dbbe85000b7dc3498a554f9a9d80ae9975b2ee552717f92d3cdb300c546ca201479c8a71bfddf67e1e1e7cd10d5dc03dd6fa165e71325b97c3d1e446950e8c33b9bb284ceede3bf9342e0648862eb936e383fcfb43b8f3a5d3c4c5671d9180b2b14dfb2f0a800b5834fe92ecb141a90a90adf1be3b26d23fc9b6f77f3530f6c39105723153b30326cef11f1966176f70e51589d708f0ba7f89b7f96092531829e41084d73eacde3dd11d39f7abc216137de2441ecfe35cdfc24bf5c79dfee2891191385d48d9414aa5c3c20f36ed7b14d7171b4a6beaf4c1cba61ea837da657a3402ef9c75b52b225461e9ac99f09786d672c17f19f3b76d424f25de4f082e5b57cd1f7e549bd5424ba6f1edbb17f93a47aaafb5bd0223e1d8745b87b1a875eb42dc802984d8a93e51e2c18bd9fc283d4bc88914bb7a4a47b587ba3edb437acf8dad67db74454399bd8b095bc5c449a127e0028e486a133c002660c99e2f9c3cd7aee48c27bf6184eaa68c1d57e141840533a836c2aba5dbe7b3b011fa89a16b5d12954b370c0e578fbfb749f9338dea2988f31aa806a1f335791589ee386ed8c2914be4474fb6a490feef76ac7e1f0d87582a4663ff917579ae5dbe14cea40c3f36523a900733e29e8f3683ba50aa088fa48f067c5ba3e9403c0842ffab42a0ada4882b493b99c84730544367278c0f79b919b573210f4fd89e403fa616ea23d5a5d22a04f1f7b9e686a545976f516f70020fc02f8fc756428f9b36b0fc51742dc7098d74733f15fb4c339cf52d6fc449a0dcb81d640db3e6ff5011ae6a1c948227d67d5b8f3cd1eeafcc0ba5eaa38aad6c04f2ed6f7fcbbedbe3d46268f2aeec114ad1e51aca9dbc8f3c06cd058cce42a6c2706b56e87ef409e7cfcb574a8a20928c41b2ff9cf2e91684ac772f5d64e5383f9fb7c411a83aafc18b2cdd070aa5b5d6935123ff592f526870670e1080e1ad4241c7d5f3375e918859a298e3e03c97cf5afaf8a0d6caf68b3e50f75e84b4d1f28510fdebeefe5b875de342617ea27e166b49dacab2d2806450234475ca4b143af4214c82bc391a4877bf3107607a3b1c27b45a72db6aa2ed32fb8ede85346bd9c5f696b9daf5d9ad29097eb3fe43ee8a074d95e60c8fe6fb5099fa8aa587dcde33e13741659a5e7b1a15d0c3dd20e7d28a2dcdda51ed69c77a3dd6262ffdd3711080dd09d09eb3ad53c6b5c173d4c3bd090ee798aebb06e6a174ec56a5243b6fd04603cddfebaaba4b815d78808bdc7b6094d321a481f9ee7df525c685f6355a9d4d2a3e2f0e2847427c25dade1828b827afce109b7acd18faaf4a7e42a5c4bd44a048c1a025cf3f4044c8465e9057ba4349f47e1c86cf15a34833d459a6a70818bb530d7c81cae8478bea8d52409a12c4a911f49710415fe0c7f155f109e6a4ab84466aa309336eabe4669e1e1dcdcd023d6a55c2c5431a36fd63087b785f3496c863be8727ee310bc3c9a56b1cf6a1b939e4f03620102cb90632885d4d36f6ccc6bec7173b5418f34e7a6080e392826f0cac6eadae96261cc986636e67fbd80935e0661a8aa24da2e2fc77d32d3d6db33ad8afcbfe779db9e5ab7edab1d40911badd8c41941d245917c14a55a361bceecdd8eedfe1af541a762ee3f3d1e8ab4c4d2e6833041df476bfcf24d86417310b179fb715cb82a020a2e9ac76f41c52c2675dd767cfcef2129b2efb37a7e23947531f8ab7956224b2b2f9df50570314ee154a68370bf2d2aa9149a2b05423572b8b7df9d672ba2055a60f749df089326b64bb703e6be094c66a19090657cbaa7829d746fc4bf541ae5f5722ef121c7cd03c62d916afba7ec9742da7e2f22cf04152f69b536069a262dae29cd5bd1ac0d1f9339626c533d4de7aca2cf2c2927d7a014bb268d235fd73c4fb86411b9ebb594a8099fa9bdf79d466dd070e8c595d668c3d70000ed1f37a2c74317c0f658057253278430f7068e2b9d25566ca01a89b59304744088500b627e2fe97d3aef536612d7b64870cf5abba0071bfba553acda0e3d90e06793daea29f84271819d0149b3154890671ec67973ee1e33f84a6866bb99a6899358679084f1096756404200c8118c728ba8576dba9522dbbad40a972275da2cfa2bba049c7a8c85fc1f78e98ff0c9b7daaaf40f1200663774f127764204ebf7f275e4e01319732da4cf65e94ee163c7e82d570f0a7e87c38467f062cd4cbb292baeb86b0eb962e185cc5ab67ec1b1bc14fbeb807f702debdb39533911b56658ca552a327ff329bffad8cc8a3c35f271aef0c15ae84bf9319d29e17e3b713370f6431fb1faac99ca50f7bbf96a8ca30f9b969da9421f096244067676c73f41e27b00b3f706ebdfd8c7e309d54ce216f1c4356f5ad88842af277db927491bfd47fe904472af2d79056757b2b0eac18ef59607581ce4cf4df7a0677ca519f89f437f7cdc37595670c6093d416571f2ec3a160d97e42c78e35e5595c1e147a8c33845baf027d896a555ce477183d35ef7b66c82a7c378f986bcf999d46e2ff0fe0259974970ef2969c2d303f130495772e51a95c8cabcd53d8754abc0ca853a41a47031b265ac35d4e3cb4ec405f57bbdd1070abaf2e2f2bc02edfacd6ed61453aa6e3b5d135c7881a58f5cd50868d135fccef3f6a896e60afbc92413187410db031d9bd2b64b10c766fb777cefbdb82146650d557d747fc1b399e0f0fa0f7797cb7020903f3fde09bc11f3cc6714ba3afe048f38c263f8f4aac12cd67e87742dbca2223e27abf7f817ad5d97203dcc7316afb6599db4d69015b3807d2f3336df7a6620b6ec31408cefdc4260eaa9f654a54b37e6668c29e8114c01a985515d7e17f13276d1f80f9ae6b19dfc8fd07919ca49e4fe3b252278482c3e8262943abf2c60c9f85c10d48579499c9082654d340e7972202b55fffcc517dff57b85a30148fe88ce0217ae6d9794381d4f7d11b3d957ab51a303bfd3bb8f319e649076b31d13df9e04ad82c7c6ad588274a42706e54d6493d0b37a6d642a62807d8950323a78bb578a832fc9f47d3c6ead0f0234efe9a15b930cf75006e5b86f104961c4b7a236b75231cc3d96cb6a5c71b10512bb06421dbcd75307230cebc66563208675890835740843cb4fcfe9e1ca3e5fffadfa596764ce0bf6ae102e26f65969831d04d1b5be772bb0ba938dcddd671b2e24a4f5152095c5d8370bb3c80f8293e0762297ea5a95eabfcab0965cd569ac5c82b0c8f9b50c67ade1421ab3904c2b07fbc1db7a3d344b7802bab80d2cc0dc3288a50b94388fbabee1744f5fc04c015bbbe129eee64d2dae7be02bc57d664361862d8f6b90530cdf9074f51a6df26ddd70855c67e01d33a9f58399aeb4e78c3444e660442808ad92aa06003606d08da918d75aef2daca0cc2963af4417e4585f18cada8fef03e87042878eb88d0c4812483b32f788837d120fd090905c6ef0992e4057d8142175a3355556bd3d76cb8773a7b52443508374ff85d642de388515a4ee154688ed33c1830a7d055f05aa8ba520aabc2c8a9f75d1f1c008296345dd1b057c29d85fef6b2ed4a618bf62a89ae3a860e8e24c7fe684474672967d9bad6e1e3d4e13928008063f9a87c31ac1fd641ed3933bb9238b49ae41a3d8c586fb4089bf0161c1be119f27b33d65a809ccbf3d825c839e133aaf10b09c5bf82eb10a4702d878d6f6514f119d0b7ffb8a7a5ef734c484bfe05321960293d2176cb6065ce60be940513efafc819824f7c2a73200bd80ceceb60920e7db2d2f3e7ae4c8c58e33734d167fc934c99ecada7c39f2e51a375e6eece5756eed7e9f1279d3c3a85cc100add9df199a89dc58e41921f7ae4fa21b81b1d613c5a55906d7397f0892c7afc4f0182e3f25711c6fdf0c5b536e37da322ace5d5a12a91df967d545dab2f346b5649d140c49eb2a6db6b75f797395adf46ea3cdfb615fb924cd73e12392db74fba62a2d280f730095c8b046c059100e223f15ff89d99d786ca1730f835c8d615f89793d3bccc177d60173b06fda9b03d326da80004ef9e6abdc8878425c2046c6658207bb3626f1c77c9aef7310edc6f282bef010e6b3597a49faccb0ffafa648f1b4973b683b18fc5fb796a11bd45074c04cbecfbd7e3de5aba97be67c39d140331f5b68086b4b19be59d8a73dae48b5b28deec3d21e19c35de9fca84c2836395162d3ac5e1d817fb35e0efb582c688633177bad581ac33c8c6a662cae840d3ee394df90d8dec5274216370cef192a484ed21257040ce4289b24b2d571ba7eddea1cdaf724630bc7a724a0dc07a719fcdaa6374276012dea4d1c9bb96f14dfdaa1eb428e76b3f7c4efa70331df79a7ac177811de95d07584d8f6a91571bdd0b325863a4d5b9435a954fcac99538cac8d517bedaf32b6feba53a014d2b54dfb47e1dab3aa1c4110e87b85af4e74d210bad778801fcc481a5ef0e708eda1ee7d2a4084eb4953d4d6b7b880c0c2c2dfc821ac096c04c72efa28ac51b1452b6014fcd80fc390936e426be3122aaddaf22076a7ae7443242cf466f39557cdd33f4a90d825f5d0a65a82d82d459fe1a40a83a5cbfba51ee85634953a09c4b071cfd86128a2ddfd2e0034248bcc1cd2f77e2d6fa244d6d32d699743140ad21771fdaa02f670eb970fc09bd62fe04e6a4edc380ac232fb2112c5e8242b1db581b09784acaea2515bdc6454ffa732fa427e9dd81f7b741bb02a3cdd224163258ff595dc1602b37f87ec978c74dbff498d3c5645fc62b4e59da32133b99900def9c7ff9f4ca97da51ae516c3f26d86711e100faadc4afa49c93ee0bcf1cc8b70cc6c026e764aae1c801ced00ee69b68a449252b5ddfe0eefc67307cb4e951aec1c85d780d846d89765013741a6132bf6cc33f409b88f93b57510722a64f4848deb59a2cde3b340af9892cebcda0c07e07b0b52da2d99f25444e46b466489343fbe4972caa61cd9c6856cd3d74d998897cc1b3229e45a1c92e697a4f82aa32f6d2d7a37817df9c9eb04d2e7b3240f4a6272f2b4131e80605b9fc74b326538bd95b6c34cee99e516d1e6d3f0e6c5ba0cb13a2dc9d5ce517ee81d686482021295d68b44565cdb0182289738fc8099b47d6ce708f7ec4be38546c8bf371831356e592f51e80eabd5bfed039f22afe3fdcaf1a434ccd2a26a544f0e84664cb862e1676fe89424ad6f5126569123ec78eaf1a8ced1b1877b44518e78b5b19ed684be94f27c895276bcd484c15e415171cf5cd6cf1678cfa49010450c658fdf73d7a1fedacfb8fac83d457b9572730b67a1dfbf00853ea0d24fc7b22109219124a50199de3803b78b198ba3be6d8d11a2ca903e79257d0e5b648c665f358257cc40a22bf5a0b0e5f73e1856804989437957237420c81da9057be279653c7516dd105a8165a42691b21a50fa5b013f5db760a2ab871e47b08916a60e7599e1b07df6027b9fd7c7c7d50ad176784b9d1c361039c7722358e94b9c9d3f7b9d57571b8b1899c5340d963742ff97c27ce376accd95ffce6ba880365725ba19a1e9a3d405912102f62ff443be464e96f252e8a31bb68684687febafc3d358a6737a08e9430bb16476e3cbff48a3b2cff244276c7a6a18565f59a0ef932ad880b07319ca3146ab731ee20745a0dcf57c80f6e21b79571686c49077ac2855007fcfc99ea569a41152c97ac55f3ed716a6395a9b1a5103bbec6eb6773eaf481cf4ff3bc4e0830310a51a8886145edb637143d1c4050781879a8cc3963d358940aa811bc08f4bf2bf71cd3286f3d955c04abc28465f3f2519f034dcf9b04a3a28ff7c0259709c395594a8b745a3b8807bea0da30c2b29a69f35c697fb47791be10bad3750fc899a74913292682a59a565a792ea9656e60039edf33bc3a5a17702b8a08549fc05cc2d611da811cac6f6ec1d6c0395a12cbac897e76f105e29aff39724c16c3903ff3c1951eb518a9fc28a9b1933d9cc9fde36250d3b98b08883fa7cbddcfcc2f4c6199508ceff037242e87c9e7533bf95bb0c62288b0d5dddcce3899660c4ef2a2d3c088fd76021aca4e6ee42afd24e31f29f0f24314320ba83d66dad18f17b8743e6825fd0500c545b74a95c62e4eec52cfe28524464bdc9a0915c96c78067576cde7e17ce1aac19c5c8157b8aa7b45f32a5a227f8e13b86abb05e03f0fc143acf744d08a57f469d68c24f9c590a2731916313a1e99133b356306e4b1697751d599db7d933b81724d5e9880274d4385a9d299527f82b9b47d81657156f654a9b8a9f33db72ecc76c809f8c0275e5dc1e10436ff16e4bb1e4d730f7aa5a0cecfd9517c53ed97d8bee5925adb456f30b55b318790bbe4eb54c8c2d5e1f0b352133c50bba38afcd8f8d50b2b15bf1b6f359ef0280ac175a021878891c199be589dc89b1d3151178eebb48740bdca5503c0123e75e02aa6d2e89ddc360aa1c7c8d56ec0fc6d4dcdcb9592cbf10be111e41055fb19e4739546d4c3d7dce8cab072ed001bbbc9bfc2f920455cdb6ee219d789e279d0b184d91e646cdd591fae7998d40b28de895a141e56f9a4a5c0e1f4ed411379d5bcec9856b83f72b3ecbe992872a130869ff3d568a36528ebee13b22c8977b7a24bf6948a3eb70e9296f86b11248bdb8f3112910812b660a996b6575a2c047d5086d2b3924f359cc3006be085a2a8f36322aca49c16460b2608599ee19d25506794fcb1278d7fcc225b8e8cf53d13d9d4f5e2dd2570bda5ca764020cada500b4d4f6d506aab9a438853fd259ff623fddb7d9720ac7caf8911eb6d18dd6ff661f779ca03e0c2c7409f3a16165f289ec05edaa0ee103153f02770d72086f17efa50c4cb08d59b2e572118a4a59f4d402cce23d17ddc5c3fcf870af302bf144dca0de6c52972cf59c4f5fbb700cf87168d39198d715b7ace3d191137e4d0340fb914aab37bb91291356184a9dc25626ded736662c552cf4d0a7e2f446d696611f0c66ff6ab52e679b732f459e430325455888e6c50fa93d8f176683fbe4d03db7859bb075fddb04e11f5667c758ebd9f34084a22cccaf22229a5d1dd20af259f0076185818079afae34282432f6f7dbf95fb28f88a7699df91d3ccf694dd86dfe70234ab7680f83cc0eb8ea35a60b5c93b9860dacd86c1ac2bb251ce4591c5ad4e5e8ff228e1907fdc4e677c8ea419f050c63bdb2537a75ce3719ca356e4c12e11aa8dcdc4c23e0638b307fd2aa86f4ab0f9aeec7f8ec08f00209dff935620c3d8203c780faf0e5504bcb05e3778fc513476e2e35b711be58ecfd9bee06dd689c2c6e86424c1ce68c9c346e0a1f1828af7396792011f2d5d95ee77ae0361701cf6ad08d8e0c136376c0a661b7e5c5a24d3832c70d699aac984d0f9f1793af24775d2b1c884cbefc0ccf7ee93ce82dfdb95cb590b5d3b9e73083ead78757121b7a111497813e73f957936187817976a7073fdc0dccf9f45e0a23c44e78fb6d4da29fc45e1ae67bdbc8b8d6c66b7b2de520acca37d974dad2d8fb6d81ddfa6732b4bd0022b3f2f4f3ba81101b65a8c0f373a4426534ca484a5f51380097c49982550d25288658e6505a48dd5ffa1755263c2b88129ba6a25f72f124ebfa4b3e63f59f39bcaf693b75d8a4c5fabe8324e1ceed04977f21433451f9bd662de13c25734cff698028252e6c05bd14636d5c402afb4154f84d7e58ebaeeaeb10a752608e7a7f12579c5aacb1395c556064ee9d0671e50ad6ec0831028265efb39641e8a2a6de032fc0f79ca52367faf07876f416af526a730287787ddbb45c19f0a8c6ee1ce787ce6ff2ee2adf5cedf1fbc80078e0945cf263d8fc39881eab36e23b320de15df9f5de9970091826cb9ee372c237e27166603bbaad3b51bae3a55b3d49454cd014f7ec862afcdda021e73b5875bfdb4635d108d6fb112f7cb6cc66f0520eb31fa80a989f63d7e320cb5ea140f3a84ff7c54ec24aa0dc4b32d72b1dc3ff59369af471c1ecdc36533594aee6ab9c8a99b070da376b68786f97b5ba3e59312d60dadf62b09c2702a1c2502d127f464f2ef8751e236c621a25865dbb9d6aae01dc548c9e2e182ec4f02e309fbfa2329596fe5b306b3c4d57ae4648c4c099a02a371f4049aecbb0767f00b4f59bcefb4461dfbf380d7f488bd4cd8d36da89b0fe1e994b783a0547ccb151330a82b422505f43b780ef2b76a9d2c7dfd254bd526096aba38698800c85d5e2d184e5553de58a48d1bc51d23357b8bd0599524cb87513917512104fc3919d8f2544316fb678331ab91fc34c9ece89b0880a9093b9f956013d626344ea7a269194e481fc4c258bf03b5d0c913259c70980ab1bfa9115f2c34ff62955f3f0060a82d32a9fd653c28c046ba53dfe8269bdf088d589342491ef136f1e1aea732ad06c2d465e1d74cb1ac9ddbb3060167b7c4a072b92292b3bf73ed049643324e2681b21794e02170318f32fe64f03ae3275c9ad516227072684f011985c374d25ec473fff94d745eb87eb785e3cc09f0fa9cc83a125671a27ac2ac9b08befdbfe874b6cef963f8f024f88baffee4671add128100c59f2385668633ef396f4f1bc67dc80377a8a4542140ac20efc68c4b472558a53971e62ba3473c7b645c42697aaf8e5396c003fa4194649099e1cb2fa9a2bb90c2f722668f26f8bdb703828e54c9d065e5a6c2c108a02f518b0560d1f53a43a7686fba6ba7f9020a2ad837c2dbec41aedd60fd325f60bbdb76ef97474199044e77575d22a14b5317ff966a8ead6e12fb67d9a52073a60aa539a7b4c2685e39879db3c380e7a3596899e41e15c2b2b800cc8cc0bf1bfbc811c5ecc5d6f2060db63a8e4e48f83c15c4eba3d6771ddb6bd2068cfa4f6b93f2dcc8ac28ffa2f18f8702d85358345abc718ec51c766debcc4f5b71dc2901b207877193edcacc9938ad0e559fe8f690be3fb9d56aee46a87de29f3df1a80fbb8412b9f3fdf06443f89a6ec8c783ddac176df8b09a85ab502571c4079bcbca9be8c8c4a896f608199bc5853e769ee2e158b56c3ae47f234cf668d241351fee2fabae02d0a5eecc57214520c41dcc4c4c0b72789fd22e5357ba6073a524ced43dc4b49e13e813d03fb016459342abc9776b5ccaf1e574894637612dd1810cdc869a126c4cdda9aa9a3d92a26b7c48dd0c040ccc1e71d7f36ea97bbfe483ae76edc764bad37fbaf0f2e24426ea5c06d6fe57df1082ea6c560053e9b2d2bfc61f1ffe2ab2fa1113bc2284720e9803eee1100fccacb8a31d37e2ddb1b603f6ebc929eb49608287c606f5fee5e532a646241fb9f6bd9065fe1b3ea88fd9820892d08ea830ace5bfe2bbeb473a00b700ea174d4e572301ac245e2fe6f1642fcaf56d71b19f8bf63ce35f72422074b175b6d5c836a3ee8f6a5be83fe81c8c6a2f8f69049a9a27fc9e9659107df13b461f8051b2674eaaaf404b64b8717446916cf419faa7ea436186b08a0927f6c17684992664adabc46c17d9228b93431d320a2191ca9f2bea17be70d403cda77bac9c5cb896bed2df0baad452c2506fd39423083d46b08cbd02b1b5f92e9da1212f454011eaa2502fab91c475d4210392b648d1ac9cd3681d53f51c4b46877b3259cd4aaa1e81db5645b70719ea42df3c50dfb4ba7fcda3f7aa197241941fcaca846621a10dee4937742c10b91129f25be8e5b22d0754df9558a39c68ecb33218dd739cd8ac28efba296b8ee00cde8d00429e1e4a894e63ebef840e0f8bb166662542f5a6831feb179977fc058b180e7d558d1d11b8a0c6857cac8e0f4b28dbf0394eff2cac0d2b256f182b950b5ce8e6eec2cf7d25acad2e65d1ed417ee2ca32e7c5bf59045bc79b18b889a74789732079fa44e04d91dd835b56c5a4b6aeec395923a44c20c81eb62869faff0ced335cbe32b493717af9d80a779f5fc0aaf7dfdaff11c2393c66ec3b6c3d19469d0442a43cfecdcb0c55cd304a1d0600384635b38a9e1bac4c7ddc7b500e56001ab633d9e9fdab8dd1066222887ff082cc4837283f03c8107ce02506bde25d065ee69cadac24a40c41268f43b36f8497b2acf0297d8fdd5b9ee62d78602c44b15cc96f837fdd896452af2f9262df5936d80dd2910e06bb3d119f285ad4bfdab902ecc9613ed82a680365e98f93f8a8880ff2656dfc98d212cbe82c1bc1ca2ce3ce4dca1bbb1d52c6a62a61412505253c3c6a8a876aae2cee2722be875796ade64b574904ad78e422130727ecb5003606fae5787126236d3e153fa9f1622fcbc82a834b9a9aff1db79fe47b73b90eb0a450f752c1e1823bedffdbda21f1bcba5b7fa0c19d393cb248e1b9629be3ef6f2212d19a6796b9b782a6725a58a4cc7bc6d5c9c5553c9ff367a583868fdba226ac4426ab32953fb213d88b9159c9c105415065e73757f6e902e57b1a0523c3f07ae3d4026aba3c0d71449a8b089d62025fcd4d64e55b9f17c2b211650b038baaf7dacd62ddaabf49d7a4c1845be88a6b70ef8f3f30e42631ae0fb251b144affdf1a61b883e47bc24f20b7aed52588e853eedcf9fd2e43c1bf3c4e12a250e3fc07cc7e047e0dcc5156d66aa5c6776153eb1071a73b8c15aea1154c24a6030b75cb711f36340b84d8c61cc572e83171fb0fbe9d220f175620fed18309cceffd1d099d6a12503dc388b29f76286299f64e8a9759815d9091f70470ab8c2dd007c75b51ab6b039dd402a77ed599b18aa098ce5ccbf1441932ef47fdb3c8450b221c509c273f8ccc4e8cf72786295d4af3a0eb9e6a9e7e33c27e13ac78fb2306b74be600b064d0f00cc102c87d4ec6eb201675de9b1bd5d9213cfeeb5b4d1ed92ed579d7772c7791ea44521623556f619185a36f647daf6756bd55de104c3562b31fd44c424008830863e43c1a2647cb4b0e24dbb94981aaaba56a8a2e26948a00bfa925c1daec9964101c4353d1ef4fb5e5eb790128bc5e0b1a9fb70394eec20c156854c16fe70172c82a38854b4bdb4b352e6f56cf299f898a9abb7cbf90b5d76be900298d86ad7ef79e5f3092afd3cf36c46d7dc2622f1004ba158cab5419903ffc96fd7ea66e4c55f5adadc4a741bc2101c06487e1553455c769068da9f705fad5e6e1a74cc1ede149d53240d936372abc91609ac44b692c3933e47d896f2e35ce23fb46c11b18472caf893641d63ec206ed70ead297d3df87ab33f7e4b01822cf4c19c3c3bfce9a86b626413e5deb33a2857151069825a309cc84373887b1f94bba62c911ba44a14a4e8dd1153866fcff3c8c16c69b4ea6d8e2762563806383eec2762dd246a850e5c45b04a5ce42483dd0fe116591ff35cf5c59e64dcc81722bb44ec27ec3e8ee39b7c612e825309578b75a78dce4dcdecd13d8a4d3664fecc9cb081275bf254e09205e8b4aa6b40cf0b6c88463a23665daa7754a5c7eaff7032877bb2c1b6d5cfca8944f950b4482c85f08b45a06bd159abbced5b4ab3eee61f8f12ef9afabc77832b7b98661a80dc5113498d40d27e3c309c5214ce86569c08110ca92cf4a816bcbb031e8ac201c096a2ee1b76e9167c5721097ae75ce77d935bb85ec7e4b17fe68d9a563f05c68ad518f26a4faa6781fe82ff9b868c61f1db7da49cd759c30f4719c0892c082c005fcb7990967ab9a888c96a7b3b81082754b8f9de6843b811df37442e1b01733431de36a4d25b24656bc7d98036c14e66c75ecf47934af86e7b3cf62ae9d1c0c0a044d96224ba3430ae607bf69e877d1e1d1825c3f4aae8a8cc2b072d5ddbc86d12d960645f18f4f9da19913c11bc232893cfeda41dde4b0a64f6d50d726c56534cd474102f8226663626e939ca02e682f53aa66c284d3bd47a28708b4afb4269d472f8249d883f8df428efd28a88652b497b2f485dfe3b9ee5a7f54efae06087967a87ebd07ba611623753185d4c0bbc0f7cfd81c95dc38c18e4b0a4c1bcac852ea717e3afb2493c62bce6343c4383936275e89b2ca85531769753600f42d21874426c8f94dec105b6d59b9ec2498a3447a8324667ddd759b37db378ee4ce675b9f9e14f1de94a21d5da4863779a82906f39fa197b92469c9e2912721c99192d316a24772c3fa667b27fb3f21f9101a0f3c2a1ea47aafa6f247d846894009ea9eeb93c9aefc4fd61d95c0e7eea1d53fe2583be0d89f6e719d3fdd79c470658b3b8048d1755bfb2fdeb0323a2558046d2d4077773415ee6c0e45505c625d35ce7b160e484e62dffa8f70ce4a7fd866580da0754d8b86f74263bbca84ccaa4a6e87248161310e1e577e6bf172337bafa99c9f525cb441fe7ef108ee3d17e857b36bdedf6e6594f42683e590fafdf9cb268f830d3e6b9aca715bc26ba0bb8905692d6534b8393ef55e2e51a8b916c13ead62e8da5beae10aa7e2723bf46de98e72493cb88a406461696e74e82f269a55efcfdc69e2980567c0d8282c1eb467037975b1b25c92567cd333e304367ea1a92c7e3682f9d296e74fa0c47ba9b686e1f3789077b183d56dd1ba9fced5a3ce97a381275de19a89eaaf9ef0c9ba935578e1e20e85b2663684c0a9a75dda00eca4c1480badf85e0d96b1c7d8baeaca5629987761569299541acdd4e39e4b7c0706c18e352145d9718be18558b95b62ed45b4fd5df77515cd59e2bf5a9a34b93c916636f3b881212c247368db0e70fba994e948df1f623a883737e20bdcc11b6ea3f4fcec6ac0070b8de16becb0d58079c614fd35fec6457db5b3e62eb0670ea0a305edd3c1ca0c1c4220ff43bc39e9a439617adcc700670ae0fdfe12b28135d159f8754cdf3da09e7f1f28d947fcea42df27c56a78500b571d82e96a844376184dcdafef4fd4feb52891d639bb7a2b9e3e52226bb8421446dd135172676a203aecae8aee5cc909a2e29d6c5144f3483bd9c3ffe3c0b1d0a27547a2591f44a078dcff5c8336879d40e8e4503b0acc2514c3892abcb5592e632605ac2fecbe7714470802799e45ee6a9109573be3883fdb69a91e9e944b793eb9a97cbdcbe6225698397ee575594f2f10e1f0f2445d4fa656fea1c1632558b0af765046101be122960bf337b4f0a299597ba45df38d6129f5d4fc8acec52b020ab3c2caa1e1eb9fb091b54b2d63db84abefc7fad1bd67aad6d7bfe4346dbdc2d5f2f6f984ebc5929e30c2a8d0f7626e18fd76340341e2a9d8e2c19cbd3694b0a1aca58d6af097d8b8c38ccf9e00444f73b43eae9e82d72b6dbd010f696879ba9224bba5e615745f433a3aadc44a72fb6ce903d1f5a56a648fb25159498b29ed29768a0136e525b9ff6a53c206f88c8bdf2410fe8ad8f2ca040aeddd535efa93cf20c886c9e16bfa307f4ac2aaf47dc57ba252b544099193946da710f1e8e82f086646acfb530046fd759604cf86891f91b0010124cdc7befc1d4e9080f9e0856228ad8af28fab7ce45ee481693924d9a2986e009f2876d053c4f39bf75b4be8ec7eaac99e2a8e3193c932e6094313c80819be29380a480048291f7dffe36ee2fa4e3314455baad7be866c8fbf35abcecccf207386931abc476cac9aab899750a21f3785635b73c86c0360b010f49a651df834b01187278ee25b3ba0eea6e83e3ff889391202264ececcf7af3fa6ea24f6bd96187c4be7d86da1463675944693ae89369c85203c53c314a6a4ef499b831cc93395407035d05020f0a846cb4a91b0dcdf6158128c3dd96ec90d8c79b5839e3921aff8b12f2d74e85c3014a4979cbc0cc5e685caec28b6430c1dd032c1d20fb5b77336d076c48abc32fcb94a1f907e8f5459a2477ba0528b2be02f0b296e91c08c74c5036125587c7fb4ba842d07bf6b586e84e62b2e7b4eb61e7ecbcc016d3708c54e85684b5cdf044d2936c2e46257920e5816dfe1aa7ecc0191b5949aff7c0eadc1028ab1449c006c3df53aeb5a3afe82c5523cc67716f40edda76ecb8b39864939f1c8ea919dd84475924b741a10aa8c936ef766e96da406167a7a9dcc38b202b997ae773047c8a04c4f6447afc77ff6dbe64a3bc04a8eb2b81817df5dde4ca91a1c7904f8fb70104c9d34f0e977272d45a86acb47590a6c6bf765845293e2f44c0a482737417bbfe9c83b44bf4b4d0249e92dcc37bb0e1d52f4fe254e85fb1b68f7ca60d33c63bb395d35157686fdc150339fee7e57b74183b82a45c75c8bffed12a2b25296329f6820f666c4681025fc2fbfc74ba251043222c935ca0df75559cb33c2b4adc03bebbcc383db4a6837c6e5dc75cd78a1fc2f5fbbf25e765ee36321a76fa3f409a8b49110db67e0bdb9118bf0b69ed6adcbb8de41dc18f1ddcad9879873f00041288fd4cc67cab2c86557eb86795d12581325cc6327cb60682807b3e79195d2871a1fe0395ec0198f5cd146b33c84e0bb8ce15b2661e8d83087ff4b90fac376fee871ffd47e0dd67f14d57d9f588e478ff09007111fd984dfeb4c62a9727816d05931db08a9bed0646a8ca2ac7e2d90a5becd14d38f495da26d3f27acf5336314fc1826037aef0ee7e7e7bf54b189c8ebcdccd78a58779c58a79752a72764047bc298cfdb7cbcec4e4a11643f7ae97da926ee9a721b99a9a5eab1efa4c65678f6a9db84294a5eed6377a0ffd2f4de59f1d1cf11740641a60399b472e05b3c759f75bf8e8c8d34a5dbb6089c7f7818b6a184051cb78566ac289643271e6a54eaf38636c5f0eafdbc4cacf0aa912a994800313daef0dfd17492e903e4cf2502b26a345d9fd02a5e4add5a259e465debec3e970d7e8ea7185381fa8e5dad513fd49e82da7e717dc9be146b448a1c141e83cefbccfea15ad586cb9f15460ef13c41d70b1e3151bdb854436b763c860f87626209c62ccea946fb6df45bf4fcfab780ae3759a24b372d9b17f4a367f7e1e3d6ea7c9e683d75c1bb0500563af6da4213bb8485c35fa6192a4a6470a2b8ab6a69cdfb8e7366113f708d031216d6739f359cec9d2ccfd8d2458a2a6337ce9ff12705ce59a5b07e87b190dfb994f47601be1d35f911f2315742331067717ebee3847c4361c11092120c33200186ba4c869c747930514f8b4def699221bb53aa74eb1933ec529a5fc6f21fa0f2c314ffea5b51e86f20f85125fe643323807047ffc7e210044ca58a91f341698ecd4802c5a3810ffe0df224b7447df5b0db097113a16cd40a2720c97d2a2a828e4d750fa2ec9c71d63fdab746d0bf0928d1efb2319889e9e446b3163cba677e54878d847c7b4a8e9cbaced871c06bd42345df9e3c95aff02f3d61e2f41febd4d9fa87e7b30208d65ad55a3c25fd3bfe2e4648a0020a613f68d175fb2c498130177febb68b352375e7ca31c59f3e56da35319d6fb99c14690c5b1a47b2a51797423ab10053c7a3eabbe71359d91c2e7cb145d8c6ceec418f5fd5cdd5a5f5c1c1ba4c4d2819ccf41edddbff087e28491fa6bb6b87f138ffc85d4ffaf3ef76f32c052aec385b6f415e6dcc1aa8a61d473d668fd86e5144d0f5b9f4e3febc2aec7c7eca3d307783e50b634fe72022850b584b73221c484a8f70613f2bd2c9c83ef5cad90d10e04ffbfaa5c2ac575b65e0fa11ad95a06bdeb2f865c93e889ce92fdb258a3d5ffc711ef0e67f1a8a65d7d5c9007bf32b86c0ef4e6090a3dc369505e4b3d1d06847be6a7570e0bb13ee12a811b2acd25192d622f9671a584e7fcbc567457238583cc084ed9f75362b7ad15d1216aec22863493d3ee8190369bf2c49b1a827473c18537e3ea473be5ff83f32ed6cca6d8073c01ed0baf9b272e97b534f865bc30f63d596ddf2d57c5a5091ce383b9731d63317c94c1f1284be603b7207742f8aef1409ffa7793282db006fbc53983c82da54200e60138ca12fe825b48f31d1e01c279b6c6dbb372583f8d3683bc9aa3e72160133f6c1029e602eb333f9b1fbe40d6e96eaaca690f0976ce2129bb58456b102a79b656d640005a12028f2167bb3eeea1469dde5da6677546a17e2140fe699de86661ebbfef5a9b4d7e98202a0ff4be7c9865f106d102b96fd035cf5fcfba1bf2d01ce0819528edd5d7471a3ee42a4718eefd790d2ef7b08346e31daf2251883f42f1643eee850e8f5daddc78ad50b07b1b58babe0bac9138f4c5ce5932508f0f02e76f91a0856769ab0c9ede6abcf0f580b04b7e07466c8a2797d572897139b331aa3c283a5a9ce27066c21f300fd4517faf9b0ffade67b08821cead2e734e3855fffaea94d2201e77e5fcb4a6d22859d8c4df63d610e93a00e79d44a12aaae4484b82b7853bbab3eba147fd1c698ccbe60604d4b93968182428f2992f87d54fab9fb83b235b57d4cb8b5bfcd894fb79d03d896626158b235073d23d091a96dc5859067a4f6db5c1a887a1c8ca33296a2dc66f3ca4a6e7b7c71385bb12551329bf329080df324c1c3a64f5a782687cca454b8dc2302d9bb7c303c2998fb3c04788f66cafc1d2e44a45d67f3386058779a94f2235e4eaed287177f27dcd4036d2e0a98cf7de021fb6a5fe81fa784c51c96e5592fba9c68e956875ab4ffd9233a0980d712860200bf599fdf8945942c918c87d0173e7da2c6000d1ff114967d54f538ed6b3b6b5fe458d18f759fa8d49442f4758f29d915eb409c5d53f1f3791ec4cb805d7d6e43322ee934c692b3d38f6ef6933f6ab67eb704f6345bec33ee632c5bed545fd7ff8610ffaecf76717b414ee6941ca3610132ae71f9efba3dce1d53f41393a70132536957bef9503ff6ccb177943b504749dc3a689e2efca2150424fbeb1ff77aa2b6ea8b29caa062c01eaa2b8a2950608259847e5e26f62758606073be9cfc65227af09b51880c8f1b72f5302fbd7b7b8d3fb772b4f5890dda8c80856b8e11862aa0f6199e0bdd519c9c4497af49db0a50e3df572caf711010a0eac5eab95222a9ace77953aa33355a750ecf2410df7a8728980159fb1c1c78b5cde953448eb52b0853a9384f4ec474c786b409cbad3da8cefbd7b4a7b3b32c48da346ecd1089fd7f3e4b67d7830ce851472e34094f7c6a1438fffe91ddfbe1c613464fed7a98e692c4dd4c58281a7a920c6191a37b98fcddc06147a6d8907b2911fe7c37133539e15d150eb0a464b5767bc48dce0d0c8f94f947a770105db22f1128b2dfe4df8e50d2e591013a2b8b9e81153fe7cd4292010e633a1564f77c8a588b3a37caa6a9fd97e1dd26d4b35478e7e9a2fae89f1bde4b9918f79697a5a03a7a51a3553384663b2fc4fd6f45f27f3a1efe33333ee88ef9375a5d3bce7e456851ed93a355de18f55dd395e7fae2cd523ca92a73e901f81920911ec05c6480878ecda4423384315456a719567ce7ec39e03aa6528161a256afd4e3574b2403e29b94df53d4a2b31a8bdb969ca03f2edd994cea415a079632ae72930b641dddf913b55d89e5408fe977eb9f00dc563555def917e305d586ef9b2ffd7c330387f1331e4eca6af8414bd5811fa7f4747677cd8fa60ef4f9685e5c7c17beea54b93199003f67af06de9320022631355e7d29e6c304e0a90ac8e961fd4ad1affc99b4b17c8b090e179a22b7b3e4d784fbc9677b34ef976cc90fbea712dc5873e64f12ae20da4bb53adb8aa8b12dfdc9e33947b012a5066bc5c954625201bab7f59eb8ba0f9b562c9d6383f2046c7252e058f82cfb881ad28cce8a418a7d0be7c7a78dd33d760c250d3c762efbeb58381249b3389b6dc6f73e6ed1058829e500827715545ee2fee937877a5b00fc834cd1921cfa88b0d680c29f72fc0c839045f36166030d920ba610e8f3e11f1c66f33605a5426123cacc2d37679a6ce28001546a95f613b7697bf46a9c5392430cea74e061a7299dd929b70e702a4df82434ef6740f28475f25bf97415b5228d82eeaad8f0e889a7a8123287b111937507457d90615cc404e03f9aa6492a9a1df0932aee8f8f983f6bce15bc7a6d04e2ef9a713a2d04ee2d6ed6d18f4ed0af1a853637c7bd09136a351afd2095ea5c533d7a79e5a1c1075cdd55cb21e941f9d412b6499ec300d79275dcfe0338d231e5f3a0efeeea8a31168ed49e0db463d5efa89a4623c7843a22d74c34fab00e255ba695bac65930c4ec367023e02f0013cdb248e5fb013a32cebd6cbfd1de930aa88918ce736566037320c677ee21d491dde13e3b8a11a1a71cc50e43f58acc35a95777c897078a03c28fc60606bd7f21bccc5ed610adb5ee9b6d184c6da853a179797a590e2fe42d6625b733408722acfa3f8f3501177ed93cc5b1c1464d1cbbbb13c39d14d5dfc7d78d6b1547aaaca23606679ec2ef119b93fac8c1c3959e57ea4b5e41585982d164081406b99960a5b2cf8d2fcd2f0453354fde6675cb98dd4fb04f34e1e9e3ad615f39f7f1719c580c5516811ab6031e816058eee1cc4ff123131824047748e993a4857767af6a9b8c9719103a2b7f0b0d60334c682eeca1e5c532d50b58e74596b7392dfbeab5e1764b943c5af2ef86388f75eb01ef387b8dc823f513568926de822096a8ab4de0addb5347fe38d2f8113a6b72c5d2ff6a1cdff2216a8e984424d7908dddc4d465cdea38aa274a2e69bca5c3d1f3350a30e22ec942e1d5e34a95abe63f0558e8907f10aeaca57a30f5a697afafc31fee7aff0f3baf47ff3f790f8f607085be0f93f5ea1efe9be489ee0a6c6aa177c45d46e966b0bf66b1c8aa0b6e2085a2e1f93f7448cd2822f40d18a82790b331e007c3467a94ac154d57b077fba44cb095a4da5f20e9a15015adfb92927ae9c3acd95fb93907aeea25a77a871445b208fd38ed469686a7e4a4b1bd7c36c31e9c4780d229622f8b0e6a1cd70e1f64e0b18abd764460d943d031926059c454b57572820c98287f8ccf1e804db827e54a123cc74d98b2d68c13bc87e777f2b7a2a408e2c97ecfd191aa8a4c550b60abeea93a8d37469ab713356dad255342ce33a6a88dc1a239d2b328d3e82e3fa3efa5e8993cf4fe6ba064ce085628f9fddca60f429bd2620bc1cc0dd796eb79e4c8b617fc90cb714ed40cffb2f1a0cac779531c73a1f23c98b512c7d6cba142c8524c28f35a824ffa68bc4e6bc159389a4c58694504a24a7ba0f7ae4fb360665a96d5fb30775a9d091bd3c3364a5fd178244dc2df8fdcf97c7a238c6d04d2a6ebe1ed54299afea29121615530727412407548ff727fa48d094d891d2431fd7cb7c4add55a4de61098ca9659ffeeb223686bf93dd117c16c7ca2d966686818c163af6d074cfd7ba4b3fb159ecbcf90f960f603d12670e1715a537ec12a93a5479df3109a79888437b6ed8f8588139212bd9398ddaa37d55b0b227930d08900b8b2c7aea21a0acf2b5630df4874fba1525f956f6ddbfc6e30a5a85ca1d6fb31e6425b79e92b1a5d940773460126effef5e756ebedda618a974bf7d1005b4d4adc3376cc8944ac6435c5b20c112d34a98d401e1151680ebd39d60733e57c2a881a8d847c3de6e038dd2ae39356d2015e894a3e598f8e987c842a9ec246b8b960e202fea79b48955ed3777622f8404af1d3d79fa82ae29bd8950408e8a00eb8c80ff072e0e3484a145b8d878b813f8641d2ed527da011a93a3424b63a34d4075199021759455f0249e864a28e56d42004a363ed2aa1f2ce9b8cbd34ec7c3dc64986aee1f8e9ae735c50c00ad82e18593f1c4a00be0cf74ff759df00e68bfbbe050eb82def566cd85057e15ed2018cfa3ad86d224f93ef2c236382f183988f91524801c4ef854182839d23a6885ecf1a5a67b0a420e41e8e4cdf455be58bd099264c167e2b2131f10ee908226338dd2f7fb74deb383e0d750d25304ed4a7a2dcf9d4c9a3b5789f548af4cdd4e39a0a1f50dc98469f962bb3d87d5b366d8aa7748515b1fd7702d92f59378bb38b4fe3fe5481f8f9d94772bef77854467032ff9f81374af6ee08fb167bca0b97b4204b99b4e9a7fd525b79025d06fb56122fb77e2a549fb4fd5af50ca49d8dc7e644938d2569502a32ffab503273dabc74133aa048682174ce94d5757928def99a1c1edb491efcc8f96ba7f7487a9022a74ba328115a9ecde5af875020c0df96751773411aa84fb7f266847465385d1de054eafaae59495588966ff13aa1bcf8bbeffefd1e8e68a278093a70a3a5595af405faf4aa6918cc0a63dc1ff8e80f53d6a57327a1a39e5e5b11a521b178fef07ad468df8a43ef70b07f6664e2837686778102a182885d56176fe8b2e685b3bcf1bc1b233ef205ac98275e6fc73c495036c59f789c56c5e0a238be95a76d580fa37b3c0171892258b7117f0f5e907acb02305376269626a0079f339a9a436dd20310b0cac821f2a8cbed238a25264bf98c3f0e68e069bd20a429e2daacbbecad47034f41cb62d6ed161a6752cc25473b0b938b9bc59f2e46196d96e5b2b4cb34d722e5f79f4eb945828510561c2d84a5682f48a4f252057bc1fc43abf04f73da8e1bff77cc5d0145355bdd81bc65d25e401f9ea47403eb726ea023e1163ad9da714388e4b71605d1c5aecce8f203ecb20b53342fa8f23ee698a0bf6df83406e6f95783ca3fc3abc82e2c7a2b7dd58d3a8d757a7f6dc0862ea614d7da422b3567addd37dc697423615b2b8630b5f6274330625c07e8b9b79a8d8de0b6271d512c401d4a1bb15bc050703cf83151a1fded9e2defef2392a5ee24e03afcd4e90f52ce65ba9b85fc123f6b0220887f042db757e97a4eb53c924f1eeb1b7d881a39c08d721fc648dadcd3175eef3b848dad0bb297691fcb7f795f4820db75e471c40d390a5c68e476e527509f2bfe785316505a74fa4f27f48456acc950f85b3fe41feb821be4da1ad36f2d84310ad5c785c5d6c9323b95a074b3ac6808521bbce0c6b73ac5595ef665c76bdbdbad2e0845fe2193d599b72dd426a266d6bef9cae3e48c111ee32f853ccefdaa0b6211620892f6475e64f2af3a8663adfd38964531448f6e4425d3786843203de9fef9972a61878e0460d31ccfa61cda3c635872ff3b3756d01f2e50540f20c3c63273980ee2103d98872841b56ad5ee1f10aa30de0ed70009471f500a5bff81224a9af22cc2d3882be6525e3f013dcd73cb6168f2e54af4dd3e3d21ef96fa093538360b0047f054acf79a5d99c03379d04b3e46c132c7a634d866ab5bea57108c8c440a4f6036cd601e93c770e39dceae8a7ae4f8667364774472293acb818857e34e0f199670291a382c573d8abac0b62f160068d46a36ab38f470d96d619bf752609f618e55fe44fecc97024989cf1a851be91bd56719d855dacb649a61d68d5b03f0d031a5c03cfa361adad2b23c85f1310e23bee2c36ce64a78696b35c2a00b17db2c423c201013d7cf52d809e832c3c68e8ab05d14b4f44cba87b640fb1976a14089538b08d8dc2bc795b0d4eebf53a21fe42339ee95068c76dd9d5e61b958c6d44100273283004aed0963356358e2f2f2474b2eb8ba82fde8356be5e1cc7cfc6541285c729887b6eed1282b6f6368276acfad6da1aee3b9ac4d8048b6c51bc17851bd762106d02324a70767f13d94486d6f4db355f03968173cab0374ebc299af1535a9d9e118c607633297873ffefee7979af93d67ed89f0878b13c9131cf76e177586a62247061199dd224d462e334cf772b44a3144beeef99778e88c85725d7766695811274c68c8c74cf4590dc7b27d42bd4a81b0f9976cdb8e4041595d921b707548fb17eca3bc81298ad3f1068d0683cfe52df61e7ca16365efcfda6bcc5ed58bb323f4b93b724378931ade0bc535a420da9d2d18cd6c380fe393c7b1adf920e62b708b8e959d9f33090d1211083b0b805e8c4514dce2f35927876a0c0d861c403bb90e9a34d9fbd12f13f30c561aaa904f339947f0f5068f3aa7f35872008c60ff8916018989cb0191b465389fd18cc1f3c83e52ba3e76c312d83bd5a5c0c69f6da4ba9263b1095739851af616662898933fc9a996bcdc4f9d5a8c8ddf8331f235abdc04a109a8ddf92ed689f2b7e323714f03b9e230db5393875786f0ab2817ebaec1b98db9d4e50f555d9249942cf53acd1605e5568394b29f5193b90006535d41a3501cd87dc82925af2f241de03d3fe0bf14ec36c8e1bedf33f6197606d0e658ae22eae935fb06b898ee78b75f1e93d2b805a3c7d533dec1ca48cd17a1d841a5382cf15572e642ea2e58e5e203395bd9f8f4995b8b3f32b940e5c76a875c6c866d9ed7dc40e8b9009d7d9db9bd3680951e18a041fb9e02a2fe8fe53bf762452e9b9421e25c0a0d329746680414efefc1dd35e86d130b6e566f75cfd674263feaa95c736290eaece12dac53e77c84d51e353443b50857d9e964dba8af2d8d1a4b41e6101045e2587581ad8c4518ea8761f94bea3fbf5a6ce811409d7811afc62baf8af0867741ed1704e21f92416691f971333eb08556d3b7d1517dc037a223212d4fc1c59433f6517bed38bc94e2389765d850d81429cea043912eec8963472aac46b9716c0502136cbc01b27803fb8f13eec4a5561afb84026e75646e8148654d23158f3fbd364b71ee26892f4b6415f9e0330b0c8de30945d6004fb17598fda570e8b1da1df5cfc68a485ec9b448388be47c935914bca8d8a9eab0b5c9710d88a7ed7c4c61993453a66d9196e67b31d78a43887a491f2c166fda0a0ecad9b015ebaf09c3e1b488ababeda774bba69efd1abb164de399ad407c0ab1cd7c3812bfa06d8e5e1b7fef4e65056feaf3b88908f91fb8c75d83942d1c49d041720585d48a2dd37d203cf8bc21618bc37754677884eeb5311f8d227afc213f79225f80c2686efc10ff9a88a321f70c186fcd55ee2b5bf726df4d04017ab0991163f66672106ac61237f704bc48827ad52ac4b57fbf544682630e12927814624a6b031062b01eea623fc80b7df128c7479ca711cc50c3c5856f3508002ad5c2ac44a6aed6f7c35075aec5ddc401403bc5dcdf79fcece6b15973e7bb4ad998ac8bacc15932d6b175641768e4c6f396a349325103d7287c247bb02b6a74ac3334f85b94430237ca07e9fd78ef33fe58dce3ce495ebdc2a10b0b3073e297231983d53fb683029c7152bfbe0689b5b2e70ee0f7213b12bd427e0fbefe6848e2f1d189a86453c0766563bfe71dcd995867cfd3c26c0cbac42ceb29d3e2b3b3c6f4ac17c9f6eb76cbafc0cfa8861cbb0ee6f44ce79dbe98aa8db0022fa9acdca56ed781b1a7eaf398b9b38df0ddcb67e07aa2f371c734eb77860dbd7b9c658a2068ab4aa52f1a7fa4f9e52d37f0f3ac20fe0ec2dc3e4d639b531a2b2eee9ed375f32db011d09211ac8f84c514fbf9f6d33ada9be44e41def127fc6884f5074ffaa8a6112e608f055d485780362cf9f6e15153fa3f669c7246fc9545dd919cb122630901f442f1ec448b3013b2d42e88408e1718dfa6e98f5486022037d337fcd3f3d5980ee546bc135a76b4990d5294da06c8a9dec025e130294076f987addf7cffcbb946b69e92375b714b212541cdfa26b1e7a10ab701c23c06c5c01758aa0a3e90582303b34de7ee2771acfeab23949333b54cb82775212e13931e8db5087b1eb0afcb9462849c022e3824a4000033885677f484bba9aeaa6081f6fe857c28c743fad8f6a874d7c0c0b495e05eb1f24b190c0df0dbfe5cad2581f3bd1fc8379e33b3f8dca678ab6cf9fcde7e7c08e7d5203cc08f5f9990a7c2b239cfabfe92bc4fc7915513d5365706756d8795721072fb7988008056e131f1ce376932f2da472a072f3ebc8f7d59d354549b485ec8c46b4bb4dea816a6cf19fc7833a89bc0045c5da69f1140136f1062bbca2c8cc827d1c2c14494271f4ef8b2da28e678523455835fb6ffdd8a7d2f05c5f67685a90ea4e573376d1074d9ce3fe15b997572e6e8db85ab93fab9b5bd570b584a067755167387ea5fa6e6aa930c63b6e899eaefa58732bcfd08bc699f77bbc74ba5ce4dd783576f49584bc53a51d438ce00a7a2d045a180677688754533e069b150395c75fad2dfd0b25a741fd3d9632a2a3c168fae68c122f7527479a2643b338e0a9b1535f3a76d77c85b66b8b7591b772f6f668e78af7f40524e25d0ec06091805763fc4aecd27d87fddcdee397e46b740a83ab5b8509c666419b303b8b674a286c2df9c8da87146b019fbe80dda904ca28072aae46dd5ddcfcb25871f3021abebc14ea8babb9821a2c94387e0c79341c6ca9a0e038c4563515c9880333347538d961acea6e27f615f5784f08dfbbe4861110ac344469c338b91b628ada422f958f6503a0ada0796faaf9ae6ad10fe56885664f86dcebbce71965bb81120e7b02e7c489971cebac61f86f22a46f58ac8520ef9f912cdc6e365822077d1804f142461686fde446219cfb3c8d578e0cd6bdb9694a3801cb9c7c7aa207db0ea643e82756bd0d9ccf80b5b77dbe7625c57157b9562386d8905da47efbf367399cac6e72bb6dffa2d0cc73735f3acf68c8ddd71d8069893076cb05a9728f60570e4f65a9997c99709a329760da5fd2633509d83ddb714c80602e71fc34128e2c07657e15c8cdfeceac52a5e45a779013a713b4149426e0eeb3a58deeafc72ae212999dc968c61194afaab6d302ab3f3b5693c3014b7ed082ee5bb87b0c05ceb91f4dc03f9bf041d8c6717a89e9094c20d43b92bcad2753714460936c7382e85c344dc573950d965fbcdb5b7bd7d9abbb431fda8efe003dbb2a9347d2ab7836a20011f0d4fed3439422581b23e3cbbe8ba21031f5ebca70ecafd44252c23d120bf57fe48a7cfb4ef4dc9ead4f7d522247edf3dcbb094d828f660f8083ac5cbc9c8fbade4b14126199f4c2fa0ea573aa398deefbab9821e02a746b12b1da4bab075b9dc048855834b8083e534580073a6bb2291507a77ac75bbd16fdefbafcd82cd2392739eb81fce2085166e753b94245decb019e162c829a4312bdf2781d2bf82ae950cfbe150037d2c66526a4e920bf6c714dc9f561135091b0fa87675735fb935085ac8cf706f98e6ce48c3aa9ab3e85076e8d85193e7d2f5b25cb815501f1910db9c20f16608a8b18ffa49a698791e9e6e91190b21f7c3d5a523b7cddfc2b37f5c02b30177757e687ce59ea63de909ba478cfab26826e4840be8182fd888ccad914bdfc4a380a1fac06d227139861feca295b8a8d4c6b9fa815bfb0eca49fc29d63d40ae33e15d6260211cb5199436baec6bd13ac9bbfea29da474632e7851e2ed605fa21a86a029af36e0024c8b2af41bb5602b457823bb6018089ec3d4148341ab7cab208088e3ef0fb42252bf0f01835f175fd6fa09c3cdedc492e7978c1fcca39e40caf3ba70f65fcadef35c8e87d416c379a63d101c3517a91afaaea7ca935fe8b95ae201834881b77a579251f0eae760c4d60f129111749b7163b993740322abcd35dbc24da9e15bf76ed9d92564bd1a42f33b6f245bcbbaef55a3d2dac36271cf72b9e60371f82c1b6e965a23f136d5130f826e0bf105363eeb404092651c2134e6f080104204fb1e9b9412de013c1e25259c49c8b3a5aeddd401b75a7592b6256d500ff01b4f6e24f6083937d61ccfa3983de1761a42357123fb82773c36c5ea007f81e36fa7b956136d337d2a938919c52552abf57932d84df6b9081a2aef210b54f11997130dba9c0e4b0fa68146ab77eb42c5bd268a1c3d1f41188460a1f292e09fdc36e72d6292ac282f115ad434f4bfcdbfac75eb3bb3959aa1ff35dde73f8bed191cf0d0fe94580ebc4525620a8e40c867e72ec63bd30e4a5992139d1efccc4881c4d4ff061873328647b219472e13fa5a4345be65e2216661d18529a3f0a2e4f5dc667a6e7544f0499395ef9ab656f77c7ca36acbc9b8c56a17e8ef3866796b8c11fc1cca7a2ef4f0372292185100d350afd7e5e140f72734a39dcef291bdec89a67222e4e5e8f6f4df641f56cf0c84ee61a21e9a1e0c07ae0030fb0226efae50f612c12d302421e706c269a289aaac508f5be9d4faba3741930316f858353681370c6ea4272f89b55a993bce68cbc43b84ae503785dc9f581128cfb837f83e6d78f0df378e3966502d5c0600c859f256640cf4a1cdf99eec2a6b52ee066c4a0b6ed5fff01701defd1454f9e31cd14b5d82086bdedf4b0897c8899056c09c9682023497bfe239529a11b51266703756cf957ee67f4d2a4de88a43046b3879f31660b3a87640b7f3edede8121d6da5759195bbcaea0eaa3f238f9329aa1dd6b3c553d0d73031a4be4fe729e5fedcd1d7b7df2cd9ac9baacb740d4fd794ebfa87f078f11dc2f61cf4624a3c6ee887dbd9c50ff9e499c13b7580e6edb3884804ffba14275b077741702e805ae73e4d45172d80cc6ef4a7fbab2972803291b3bdb39bedd440cf210534786688d0c3a1b2343257029800ae77fd74562bfa0a065d27cc2c8b1125ba6fdfffc687214cda2a3c68212304f4150a2012cda2623de92a093de5f290cff74c18e2a3900282b11943e648011c0be9216906d3fd096e4ac30ad486eda04acfce222bd5e859db46aa7b8f3c3cf8a1225171160cf9672715cd0cfca11076af62fd7dc54b7bb25dc39a18df612af20a6d9d5739049e0b629c0e8509deb78b01409ff5edc7ad63b4655d1340536a07c35b6667489a08d62d8ffce200a1e49996783ff67c4184c654e328ed11d02b9e4911ceb739e9e27702dcd7580863697f188d7540f5b2d0fddb99e8a10f2c583c952ab9c26b9189a2fcd5ff16094f39117093bcf7ba02f4ef783b7769c39ae56f1a1d76f381a8253a2919afa9ea923a7e32f66eecc6ae318001ab9cc57dff6dea002eeaeda30f01cf6cdc70b8a2da8ca4badebd003764acc22f43f258986238d9b034be222fc7c24ea70ca03e6c7c09f677fbb08b58011a719ee0b7f6a93fcbb2557ba9aff6be40cb6c41306cc80d9422f77eeac739c84d628d66533756a0d968e9d1817e3a457cfaf1d9c6c9b33bcb1561ecbf040df30564d6686205404d5ad774e596381ef81737d95b0b2bf2e5acd01cc0b217973b5ab728f5d699668d4363430f7b41abe2eaa4ca093432375603a38d27b1aef168b6daea3b45c7888f4a7e3e53a87c5edf2e0811809add4c5d17865446fbd3fa7fd49434b13123b911e1f9a00738aa18427f553d8af3dd9828d8223aca6d0408c4b2a82bb5dd17cb478064395590109af4090049368dd7ebf78c736634486dfa1a2105a062304e876f3ebfdef1fb91931236e21c8b95e2387c60cb0deba1659186308a3bce7b6b64be95efdac6d21de7a1d4b588de86ec3ccf04ac43193a65b1958d84d2cf84552e2cef1904ab6b3b1116441222349790f608cfe5a27d2552e68c8077e062e31a1caba78ce98f23c594eeff9bb3140d4ff8d2929162196f1d1a46f4d6d876c7636b97c17dabbe37e77da6bb1843cd337e884a2fdbc4ce98c23bc47e9c8df30221e6d15d6fe972d1074d4756cb1b265f6b7fa8d622f0e3518d41dc4b796a2b29731c0cb2dc762cca6af90d2f978c59dfdf3dc5f99cb145c64bd37981d737b46fdfa1c0a80f9ad8ceff89c98c08f34fa1fb7ea482a96d2a3f52bd6d7ce0c36b63d982fa61140812f5b9cc316fed79794815442cf1cbfb3372d3b52429eba63f6d8c68fd4d553f07672f545d11e7aab6f61dc65cd6fd48f9fe5854db0f4f45aab7b0e26e1925536d4fde87db61a98eb8a0feccf9e383b1fa37abed5dc8ef98a35e19b526b1fbf8e9ee6473db961a9b9ff7a8743cfda752cbda86df5bcedecab95c2075efbcd1fe15309af34ca0f9029297e131082d0de8147b9d7f250d1b87ec4c94d52c6ac6e5f9e2a1874291d67a70168fdfaf3f51323e32768fb7b2385498b2c7e58778c1f929a7764066c6800d07ee778e3a13b2ab0239134c31199a7bb4e08d677a3e04e13f09fc56fb00b427db9e92045131fdd10982276fa34e823e4d04e9997e2794e31bc4f2fc47cd1cabb92f32b0523ec66dbabdcf6fc7de844cf25bff3ea95c3925ede02b2e5a12a12ce2d1fc40b0a54fd22312a996e9faf955f23d037740d6ca858a2433cb47ef52821d5807e48545be518fb67f244cd9d22341e2e90622248a4647e48b1c06a273c85bdf8ddf6d51de5278e7f4c9bb443bf8b50d8f15c84a77bbaed0663baedc24fa33ec05a025305fc237f366c95cc824e3cfb49b7257a3f751cca4524b6716c3fccd012c7b08347a49d228d5c4a2ae3f27149b7450395a503d1b7821368a0dca2258d4c1b7ca3f00ef1ed23ae369d414e6bce1ece87f4d796a3c281e49879f313b760e4c3e3604f580dd1c19c6687512412adea145771c6ed84618e1a33fc22fb2dc67a4158842499107afe14684a97ce5f0488efbe809cc28492178021d0b8e86344deaee1921ade64cd4701e2a04d314fcd969e0c3b3678d4e9410f950eae0ab0991776989145b71425474d357036fde8fd0442839662ab16366cdcdf2db91422084b61ab75dfe31bba88879feed3756153c48b523a9d6510d3a42abb8801e612dc6b621b206b362bd0993122634012f480f48ca541a7e5f124bbfee669e71440bfe910859a93ed869a498c54ab2edba0e94e151b2cd5858adcd03e6fa824591be36360f58a35f0761f8a0e3a7e01d40b2082b53777b59c42fdbcc4c96d471894027e1be3aaccbd67f07113e1696a2caf813bb4d604570c6f2a1e51607d09243dcbd07b4c3e8fac4c23f0cd3be4d9cfac486fffe561dc7a1c0a83c0333aa34ea195ca891cc730fbbff5f743d47fe421f5e28f655080773e1fe57f6cfa8dcb8b0cc9338c2151bf8e5c4a10e3dd28f4d0249d3c7d011fa273ae93f5c3e21f2ddbf477370a6bfcf9a42aeabfb4834cf456a2ea6c94033ab9d5ad9ceba63ce88c18ca9378b6f32568572cb34f919554eb66b730e171161055ad8f77f0332c93e61a81f6999ec2303c1ddd33a965e336218a9d0fac42c11fda9829ad6e010f9c2c8eff3074cc5ac712f0c41b4345e6af05763b101a15442c7af1a3d357f4fb767f093e8358e687d48f35e0d3dfff0a9aea8e3a3fc6000f8e941a2a3ef4cc34330dc23d3469a65130d019ff0384bff4ed02e0a0ca7d380dc59b65220815f652272d82ed81c467cc5812e16092be6bfac397b87298163ca924963b4283e2b21aa2210ca95d31077459e0c0ed34f178f2845e74baae6ea0ed129ecdd2f9527a709897821dfa58ae32836bc7c35b6deaef23944b630e771e5b4c9cd28b133a78380b47cea792eff79c9b790808bdfb613e601475c5595b9b7eef98332736b615fb1227a3704dcc9dd8cda72c07ad7908d190403a98cfb6bd0cbc80d4cdf1190f10ddd50e7c2e9c25edf75c7e388482a8ec34a403b68b6ec3e7eb903fcb2db755e59ede2ac18e7e18f888b9f6cd464c8aef96566cdd32d57fd0bb969a6bd591dabc38d0992ac60d3bf42abb2747c9a9946ac9b171e3dc8aad40838b39a31c7c289ac8da8c17b319183e09b5a25b988df70f1f8b3ec042478a2735a4b8adb2ca101c77d61ff5bde99d7369dfeba9b1feccd52ffd73682444ab204e029b5bf1eaca6c7505758fff986de769bbf71ac415fc5a2013401d006c49f6154a8481228feae678e214d24f3e64229ccef1991b3cc212b866938e5c0304a2c1bce1d410c4b320e289f0798dc6486173fbd93f286b91d898298daf4dcc86652f308d5279af2412c6ee294abf46e2402247f96a00767fa1bf73b8000ab8ce921933f4a8b5ac60a2c5cb8c151c44adc5064275fd1b7c6ebe237c2a1b35eb8f949e34871544e2d0e119607402dd1dc63b5a6f5221dfe8d2eda72b916fdacf196b1ce9f0481f38de4b14fbe41325fa17767b135d28bb752fbc41ce34240f93bd3a88f12312253f9a66117351e4824814966b28aafb80b0ea2e1889b15de3c9b41453e700ba3c23db618b58dcb8d08792a52fba9f11b3723db3ee0de44c58335f3f7a929276cadf831853fa057944972c05fc50dbd714249f9b79113eb009c2940b63f066d9c5b8ad56bca01da73a57afc58593d7055ec9588e9532e195b333d16cf16bd2d6c786f70e9a51d086c938ef6f08e4d82ec2040218fa1f19e207922f5f640812299b925a74a34b48af328a47eba13530231dad19661222b3accdb2c3f2bad21bb6fe0ded21bb517a016e5e10140c7655241a7794cec2e5acea45dc3bcd9210dc6fbf170ad7004577ed291d540d249abb8b1f8fddfb9009857d8815bc1d5dfa8cde4663ce55b2eef12c9317127dc50389c0a02c8290fcf6d0758c6a2561b7c7f73d4a833fd656512e4c2e81b768fabfeaa8881143a581478b5833b44a80731dded53948e04ad0cd6f5076b2d831ff7133a78e6ed6d2b42542f0e756713adc761e7594ff99e4c1339f9026bab37a71485a7b5a20fccd13807bb321adc0ddeac0ad9745395d2c741cc6b20bddbc43b23f5d32e15697cda846736092c4e49ba0e21242d6a42b605bfc43f5b5af34e50fd48623695187836ffb8f568e9283a5e8e954858e3270d459f0b50e416be765d428adc17d0c12b5f36d3e49691c1feb3b5f9cb3e9c182027d7d40cac1bb1607ce649804b82a0706b34112fe28aec73f7f5734db0fbb11625cec3cf1381d72a6c59e6e3037270c9d2f26b65490ef29c129b716a5bad241372f55796a08ba05c3a111e7609fc5b35c7440de418b6ed821742cb47942059bfa3bdb734b0963507e55f02b4d17065e92690958d8cf801bdc29e24d9b26955c981ce5a833bd4c1ad4f71f19cf85412ba646cde893f96e17a9c35a9b074b47c5c84eca3d42b5748f39b080ffad0008c656b39441534d176455b0ae2687279059f4ec2c17df5a97d77e1d4602e9f4d1da1f7392ca644e9277375efe73fe80c92a0d047eed9f496cbad03894f25f254ee2438174b01aee301f402467f63342c80692b21c4c1d0cc870635689ebb4a0e4a4477f89fa71cf7f14269d6109062e52157395f3b998710d9788deabbaf0ae1e8d1482788a27171036495083e8e3f7ff8e5c2079106ed8517ae2dfb890e9fe6bec295086faa0d3c2d187fd4e9ca71a7e93ec836009a9fcb5b5e09bac2c40aef664e57d92cb3ee990bb9f3c569a83634d7ecd3326b6f6125d61df11af4a61ae2792bd16cd810d39e8b21df94e62170eb4a7b9be8355b9bd041a70477e7d93f2024f0859725872feb2c16709e6302cb1531f872edb8bc5d2c9da3b4c3d5eba3f02730fc763afed6b74cc838899ddf33720f85862d4ee298d0e47d3404c0c8e1611c813ecc82eec6d4ef8b9b61d49d715393d609316b189f06e2c458067f2a7d003421412ea44fe35f4cd24dc2c655c5c236786f7dd083087eb57e425bef2a5836c6dee8f229da6a04dc04cadfed08b5fab5d4582e926c0a242eb2d9a42bb28cc34439859a1a3daff05bd7bef206901599b71febd97c21a4d14d1f76d7fdd80ed3fae3d856dd7909743c4b20e445b9360e9c46b09412c14af4a3feb3f0c77834045e4bb3385ea77f35aaf829eb456dfac9059b9b4563d3b5212d2b497d4cde3ce1417f0d47861f107863e1edebc4ccd2d95fb425b2f3a618fed468966fd2d57b9eb03bfd5609f7367cfaee03d482347afe2de4f88b66be560e752ccf5087168e5fb7501ad7bdcb9b643bc865d76675aa2bef9c8c1f7a5b0936423e418cd45f8d9cd690432ff339b819f1b3a61ae53fb2423e58f6d0b9413ac4bdf25bbcbfdc0eac58cd4dcf31ec8065c84daf99423095302f7e84e1b4f4b1d026a0bdd62a67595b30747b37c4f1c1d37aca81541a0e9e5480bffa6364a2e950c5a53d2df9e7eff22102ff32e1d1f8f1db81905bc2f111d3d43081d0121f7ec2ec932d359c8cb7983d31ab66bc582b0427554723bad48d53ec0f70acde980a6977b46bb9acd42d96d604ee7f46f9a114878e5fb745e8392c8a37716b79057ed025287dcb03fa721b43241c24f3fed05129306c69859ee37f604fa65725c1edd84fd6dd6c1b874404b6b8a7fa71231efd7b5dea603f820c72944cca29caa3014a1c76e99b15a2b849ad33717b6dbe5cf932382acb2b0b99540368233c5639216a106888192e01ec014d36dbd216cf1fada10fef4fb7319cfce60afa9c35b503885529e645c5ebce197dc1d1bf636c4b8323085bbb9f1678615c1a4e0d8d558fcbd1ba4360c49a1fc643b1296da6e8fc26ad114b7887e5cd1cfe74dfe65a40f9b2a1e811fe6afab3b14464c5527c38f698511004e1a7674d317d4ba89918516d7773efe92ef4a806232e89084caba1be2b9d57783ae4cbc37262a17aeadd122340368fa140f21a029fc321c8c4f270015f0fe74b18a1288ecd8cd44cc60d81b420f946347b77eb5d9d13db071c824f0260021867a7fa58e4b28251b58dbe2701a22cabf9aefc6d5997ff42a6af7aaf7a0848ac401033b90725a8ce2ec6e6749ccdd5de9cbb4bb0134f55fde81d5fabb117521e789e14a2cff1d09d25ffdb5c26931511934b6e2ed3484c1183d70d2d1c08b5162d99828edd3a3311052e9fc299a81f3cbee9ef4ff976ed172c4c9b97b1c7c58a20d37d9b71fbf919ce95d804e04660661596e0b510a26dc13111a14490667ef232a897e5f3c62f47f71f7d19ca0e24c41b1c5fc0fbad83503df002f2ac814bdebdad85d52f41ca2083736273d8722465442139bc03aac8c8decba09bc259b2bfc7e8c38742a5ecab42b3e824ee83a26fa181ee28755bffb7b77d5e3cfba192003967c2c3fbc7806e93ac1dadf96351dbfc8297840e9f4b5234d4d062a1babd365473012edce0a4aba8101c955b7ebbf543d6adcc3717b4e460fbff4d09c7741ae4ca0f0d669ac49c7d289fb0fbe17d2db356f20e9f2309141b4d37a2f7dd6a9fd2c1d54dd880613ea355b335d549adf624fceb9c01b535ba7175fe8d96302335bc32b788078af0463098e533a9ccf3e16f8e05bee0c96c0c80b8b14fd1544f84dc2a19a25f38722e72762b8d73e20569696fcaf7f8ca385fa0fd8da7134691ab738f2dd098e384414e742cb9728634f5bd44a09b671a2d95459ad9796c87669b33ced42b5f56a2ee17fb9ab7d85d97486b0d0aedace0d4fae27bd74fc1ccefaba6c21eafd6466e7527737513a9e4d4ae7b901b01027d0d9abc122d0dfc8d9073ee7a2fe0323997aed90d69cf19821321638e415fa1efc833d6036f65a79b3e65e530747ce965959243ac7b28834786624fdf1442a4232b5f1628326e53c3b9eba7f0d81d0819baf94fb523579fe968350d90fa017915365023f8f098f75db156d0c6043f3c69c818950b315e7661f6fee2bee0da5f074f560a999c2268cf0087a34791572fec85959688c6beef9de0bb2123c0e55f46e88ea9f4c431bf092354781cc424222c1cddff4bf6ce7f84947311c61bc6606eac3d725cade02746b6c971fe5d670d07bb56021397a82107b1db43176573a6932c49d2d6f7790159e791dd3f61add6b8d0cbc32bcb4e69785d36bef2d898cb21ad5a42d4419f3f0030e991d9a71bd5c3395de4b89f2a137133d83194ae03c90ad4108c4a02fa3a0f296fd7bf2896aff00fa0a1dc587fe265d1bdcef1ee1f47cd7487956a1a248c2124b96016fe3eaf7801b6446e337438808e4f5714101b5f3c046f98b20b713a59d03d9304d56fcee62019279567e7956d839f2aa1d9066b6e4593b1176a5ec8246643a710d754a4a3fb5714bfae83d890f6201ee1189124ec7d05574726e7635ef3f1183e875c17a26a940f59d0d35fb0354865e9841d84f9e2bde23fb50477910bbb2ce7761152b9828eb3182a38036f6442ce65f50d72b5817354d846d740825db9569b289e2471d6872fa1cbd6fa03a2bbf23c2100834da1973386e69382c2ac29356cfa4db61b49641aac197aaa8452e065de338798ab4b5eb7467cb55e58cfdee1137c3f39fa02649b6f1b684d1336b829155b3c48681be2d587c106063ab4a4ac872bd1935a0828d3690c917ed6810d918d3f673d8a1f0c83ec5b54c37cfddcf53c662a137709556bcf6f3adee5c12c0499b2c25b94b52b7c0ade556469382f54e905688c584af22fb723fe0bd195ad3a76f4853a6ee99b99c5b56f07ac98fe96a237805032b67457750691b1fa25afe56b75f695ecdc86c699915c1c3e3bd0fbb8fcba33bdb245f8b316e78faf4c5325d701b1024b56319bb52dd2744aa82e0629410f190f33fb4a57995b21441a3b9009a8c1341f4037e38860aae7732064d5de3ccf2eddf725ca4739924d3495a4f603cdc4f8d10193c010e26640b1b3bddfaa81eeb5694d3e3aef600f04c37c1232c31ea82c75fb0eb29b0b7cdf81e1110c6478e347aa5bc689092edc088317409306d96e039c581926af86b7f9853266276cced22ee14a5087a9eb829d9d2e3e5182c6fe007a4d1cb4ba9eb0693e8bee35095397e9c6f734b163db15a519a97ef0f0be8276fd7bea1d01965399e48a997aa7b615e111fe8c61eddbf8143fcecc4ad4a344a8a479c08285e72dad89396b0d0f5cdf4c41bec4e2736183403dc02e80307211648e0945c206947255b9d9dcd5a5a7f1ecffabb6fb47881e25b0f2abada76f7a1e69181d0e3ce9f3e2b87eec4e6e2bc05a6840c98f5c4871076e10c4cd77ddc074d8d098325af0462d0198ef0b587e095d8b47dd2426fa6bd05d77021a953e144f93a8021003022c868ef547ad145efe57c318c5675df3af0c170b2bb0002f048551cb126c4245ce14e2d503be3737fba7780d2c29b819147b3ec66afb022bf717833225e6f87bfa296fd70bad117eb082c2bd89375bbb2bdb6f50ab7c9924ddcdd55dd5d3c9873b3899197745331157b8a3187e0860693a0e4b371d1ee142c931643c4cc4f7c25ee34c5f3e09c01c6baad7224c0476148b01c85fa98aee38bf3e25aec16fdca06c7749a8b20287b118d17d4646811ff0e4e2ce7cfac572faa4156ebd4ab9a17995c09d41c8dc2651cf97dc42d7e14ec1461b8718cbd1092008e7b2005435709633b51dd12f31fd1cb36d9716df411634904605052584bc680ab799fbc3ded091f318be156445535e08bcb8ed1f40c7838d5cd3732c8de4fd3489490b64d4835833bff3e19c5387ad6eea06b8c8532cfffe38e98116b3e2556c80d80e07f94435355ac167c4959a3d2ac89c09b01bd975dfff1134ec89babf164c9390c9d1bdd296d54236bfd5d3bd87a968aa1667ad271d362d50ffb2e98eea9e684263ac042c8c2223d25a28c5b5dc6fa92927bffff5a638362632da133a44b016ee854adcacea26ef552273b73da01dbd03015b7dca823078b710169e69f5ffaf4157b3ed4b55f5f41d6e2c9de8d316a34f3de108da9332285384c4e6fa507077343da0ebe30c3ab193182c72dbdbef4e703282ecef133bd7adc1bd50cba1469ccbb175b5e0ef1ac21039191cf932175e180ec6af175ec9de5404acb6e2371aa054cbd7c1e3591255387a127db59a827086055c7d7bb98bfe565bbb4bd9360de1433b5809faa3a135b77b83c32730806aad16886f2304b547c3f1250ecf5478aa952605e69c4914aaabe15a3e25d2c85059b81ed592f9413fabe443238e61ddd1b0a0a7fc1a9be1a2cdc557e8bdb347bca51bdaa6b00dd0d6799877719f277a1e448b33c3388fba9c3f33054334566be58baf12e5d85582c5d3827c5574731fda059e44bebcef92227e4ba7f4910fd3bb44fe0565a20a5653f2f719870657b24ce25407b7be2583726bf72cb39cb0ddac1702a9751dbddce1357dd9fc431d8bc29dd4e532ed970bdeb95326a6e78b0600df11675297af7230bbe53e7521f2b64c80d1be8a5bc9e49c5d5d74fe1739c44b937a187067cca2fb662cda885821a2aa55b8a340d964f59ee9212f881cfe8762804eb54b79c3ead340868a9269412b6c4fcfde2f8269f25b3c52ad1a84521570d6249187c374dc66dee23eae1405a6c2533d4ec0511cdc9ef50afa886933adbea13e07f7361ebea3a1c2c9714ede01f4d84889b9cf0ae2b781b27fd3bac4b25ec549a7703296df3857277623abf1ae535fa46b21091db44d64bcf41b53649d2727a56a9dfb6d4d55e1317efd959e7960afe16166a07731242c9c6ca74823e13ec17ba24d07483cf96b6f0d82b02a933c0ebc29d536260477dcc0a264c2e1f1a429f9e215309996784f87e1079e079cee56300df6a4e04f59ce846e365c94f495706f3bd355e3e4662c069c1384b6da5be6e4679485ef737b9235f1896909e29eff82708c70a2d03d65cac7bd0a43a0c803e8469f93078ba6b0312be0f7a9a83190257dc5ba8aa8396a233a30c40529fafa758b1e33492ce1c56dbef757689b83574e9801678aa6934dca6a5107d75fe8ff6caa2f991cfd4d41dfd3d4e6b4b5c773194b0ae075f4bacbd3446f879a4ed9d19ea0589c91dce51abd7f7b7de7e07bbca74021478b6fc0966fc0c2e044ba91671f96310698cfff35ca4988991d988d11f3a1f75162c542ecae0f57fa67d6c0757bf33a6e829afd9ce3c4b87b62b0a2f384786e561f83f4de289df71fb0d3ec565924688bbf30c7d6f0dc194c57a787cbe5ed69f2d73ee9967e339320df430fed57824ab12bf80a239357721f34b54f27438cae794e851b7cb069fa2d261d756c6b609f402b813040618ff54652489ef3847f15c9616400da1eba6dd1e37a076881ab650061d10eea807f1da2df2bfafafcf46a56397e1066687c670959e6b2a10fc755467fdccb28aee72bfcafd7bd1ed7c5eae326efa0e42713e31a10ae0ad09f5bc77016be56c3a6cb285a1a36f892802830a023c4ebb26aaf06fa468936e1fc7f34431dfc2192e9b8e7609f7e8bfb2ac63189b98fce8f98ca20beec20a410dc25cb37a4f80f136d9de62de3a22b2806cce1afc9b7f9df70b82f9f7e94eac2c3da752bfeda5005bc016b990982a6fe9dce85cfc057af4616230146c6ffe3a699965c02f8f5b136b7d2014ce6bcb48136c8918d79f74909c889228cb11c90511588d2388a5bb4c48c25ebca655e406b40516dd732b0943c5d0a4bcda665e1e83afb8fbff6948ff5e210dbd770ee366aedd34465a7f9220536078440bd80d6796bf54f9cbd1406ddf32dbd70ab57fd009b10fc776dca02e39be726801822b198baa149613263b7a570fcec409c9c8e854f22884464f0f40d1c2cf4813f06b1ef6526d8d33787e3f9cfc948ec44c7abbae53ca772cc010dbebb43e0cfd7f43f8ab4ddef5ae873c63eac0fe96225b9e1c40cb423452afca5ca69a72a18894342162c1ae3479864fbcbdd2d806755ae55ac47f5183fba033be9c96923f972a8a492f97dc8b5e881ead7bcef7857d5142c52326abf3c8f7d2c008ba18bdcb497513353231af1031c9ed1aa6ca51a1bd092640da6822c22e462150fe9eea8eb47d6c3997522b0f1bccce50ecff98d4266af53060ba1b8bc8e534fe446e2f1a3be5a9aa51ab3ec5df37e8cbda9884892394a238e19c5493b886f1daf7f17e181ed2b692d6acf01fff0d5450e4dbc41834d1c05bcc7bc1c553010fae888765f264128cfb6dcd96be3bb49edc458efbe01aafbe5b3bc3dc30a055ad3524447290ff956b2986add681c7039bf7cf788ce6efb76c0fa9b8004534c4d6066398430fa67ec8556756132844a16631a9e2a766a37fe9dd53a4b2a8d48bb42e5cb93532ff8d6aec76e2d3a995949fbafa2d7b3b3bf8bee9d09df5033f2b6b525f66054b979e1d2d63f6ef2addcf9d5f2e198d7060fb193fce3f43123a62626777c2211e345ea9ad8469e4fd0368fa606a5363991bd559a3df255bf98aa73d795dac029f85194dd6bcbeaf3373404829a4835440667a050cdb1acbce75b8d6a885c47da8f6a6439e9909a8ea1fb064c5762ef2a7e967eea5442de1933ccd1159b468e4902217a2249d39266f9ef561678f6f9490b9e0375003ce559222f7f85236f05f3a4501169dcb584b11f173ce4bc445a90835a3f499ca8736ff11bc1069cb6d8aed20149f6813f8dc5cc033b12aa8f5b0b8feccde4864919155849455c8ac0a4527a257df8577caef41d88604bfded79aaedd5ea6b7aa0d4390b497038df73f98520e11fc0d9af295a446530cdacf4705de87700c74a35765a1e988f0f6e9a4f41b09f9a64a6315649d5dc72efe242d3fd587bd799e2ee0395a8eeefcc774d479ffdb65ab1e5cc9d3b67616a7f571bba14db8055bc596f40fbe2fd1075641401820ab666e063d1247782e766fe70e956acdd74557fa4ce7186b1f590ace449793d7042ac9f9b86be6a16af6299ddba049abe582a46e50d335d526602ee533593c74a72fdeaa729224708cac88bf19109cb0949d7f9ac92169d7e49f57210e5bb617956297a76636e6fb75560458a4a70dada65501329fd0786dc05d74974e025a55c5664fea2d8288a50fa4cf68c9689bc03dd6261cb08e0464f7c03494a98a8b0ba68e16dfe7a953bc2a1a55fb6459e9bd6e81e165f98d98d283d420f8782cc33a407983ea2f3de9e57ffe8b8698cb6f41b362d49f519c0855cf9a4edb44158902f3a1469121abe495e7d548432de9e32eefb6519b355e4e96ac77450c24873216a58e03b073ac786a1744ecb1ecd0a201ad71d7bdb775e6ad9996d5353c1740e1cd8ae7735b0ee253e71d902e3538db2639ebb57818f837a8c0e3ac22e06252d47f3f662bdf01f096015bf3779646707c5019e5d3febd54027a49972b32455cdb7ff0d1214fe06cfae3f9fb5e3566c48d6d7a58f02c894e2c588d294a9b958a8bcbb1a1a9e709b06dd70ef837a512aafdfb4c2b63f513bf64755815eec3cc2daea56d645bf740ff79bf2c41c09cfb79a59439f8138f6e05fc7d9117cb58516b30336a52ab7ec01b1fe52954c6d795c9f26ab14837700e544d8def29b4858798ffc95c4e8c924403826ed8b0a06fd2557b4628acc313eff0179283a4f2843645b99455c3178019df15db61e9c5991c093b98193563e078b373692565e12fbba762e057f740b2ab27a2cf7d689df931a886fc5189c2ffdd5f1665af8b1116476b37a76afbdd4ceefa754ddac32574afaac7efc42c8ad6e2e635a61402af9d296e05e89e1603b87a2624d2c01456bb8081866a1c75911abc4df605f8e836382ccdcbc6a6461a38a49e8d5aa2bbf4a90057bd8d389cc9243058f35afeb76a200f1974525793c056c9a43b4308fe23bff6bf2ae1b576c9f87a156dfd0cff0b85a0546e0d213636abef665abaee7f3bcdc07006e8b0a4153a1311eca50605fc25b5cca53a2bcbf8909f2e0183d86ec2bc57b71362bf8b04749f6a94564955dd071fbc9dbb8194609917800cfadf25f033937c29ff5d513a24a4d3eba069ec10fe8fc14b816f42cd2a491169d328030fbff011c5b061e814bd0fc1dd9187c08ec7d05794f43a1c54def6f1e2ffe64efc666dc64ee0a86c216aca0d5bdf3afb1ee603289a96a69fc3146a526fc23a42ec2f164f26b06288e3a6555affff4e73c0d05493376fed71127eb79732dfeee44b2417dd7730d1747da29539c1f2af12a0a3825a173d71971f75a2ab10e5f6965836ba40df4d6e27b4e8a8cd71be49be1f0d3b3943c8a56c0ee48e29371ec9cca5bb64639f702a0220f379b6a9b4a9094251eee061fa7792263e0d92d7c429f6c795d8d93c10f0369e1ad18dcfb7668a5fdcf0057d6df26464363058ca8e6ab6f45a4b5c4f19ec7301265df04e770091003332206926339a4117686cde9d2f006ce15a8ad48344680eabb645f569fb21dad32989bc147ae2f46ab1c0e055f5b6764bef242470b8959feaebb108a817d403ac29bf61104e31926014d1e53c8c00d253780bb16ba29a4e21045fe6c1755421e479c66d6eaf9b33cc4fedadf4c6229afc5e0ccc745e83a67ab607fcc155b190f139f77959ac8b7826ca5433b264bbb8f77cf8b5639574cb0216400ada811504a8c106ba34d6621ea4e370cc7fe76c98aeb43abb99c018b4be90b8c201d160907b10fe67f04f5d8b907e7b02482a9ec471ba231cf83d9b4572953f0b741c5e7671141a5f6dcc71058a78829eb26b5bdace27f357d95bd56916b6589bcceea4dfa432efadb1ad673b8e287f3f40f1373f9dc47d05a13cf7b5d0362ccb173ead73c858cf5f9d1de92ff4b92d4aba10730d618bb757ed882da067bc190c2b0d3a87256bd75b310c76d68a7c95f79735009359ac458b4189893979c96bf578bdc90e1c6ef2ceae4feb1f7a8dd6f4412cd9d8456517e5b7df90b29e7e715cf19b7c29676fb501bc8817723f0ae07d736886b5a16846815b9798bedef3e98ae89ca8c53bd52d06a0c1672900f49510382081980111f9143292662b06bcf1010147b7b7d5c2eb64bbf17928adeb27ee8b787724bd86ff8d33c74511a24959d6a6f1e25ee0b7a24d9c3d565af9a975691523dd237511f50f75382b4d7ac1f42dcd370e9eeebaf5cc9dc76db77022cc8aaa7516a5113197deee31061b65f5e2ffbed6225cea4f9157743256d344f73507e14e371fa55fb17e708b67b39d0c22b0ae49dc3c735c4f78e8ede815c963831e570f334c93823d0a65181c18a767fe619c57274b8378b68b69a0fb107033f26030a2485af0cc142c357950c100cad08b3bcab8ea0027c6ece70576fb09c0a2b87b9572c8191b08329d64f5fa34463d7ecf6075628ed4c009651aabe649a05b0aa07d285a59c38ebdd66fb96228f04d950b94e31d528840b157c67787ac1f014e5c1bb7771c9b3ae6210b03ece69848f19dcdee0531141b22821f553cf62f599b0028d7a7b77209a905082b19be20585b8ed48d27e470ce8118222c35e5be52989d9164781e264efe3d132356a623c5e208c048f2b86c61271fc10b1bdf0962958968a0712db6eed45114b98928cefaf5577d563433c2904d70c7d87961e46080a497746ac5cd80deeebee142949babcb75a5ae819845ed92016ed25c663400c190f395237c8c582d8125e26f4ad70a75ef7847b2e878a71651c6b51301e83aa27c977fe2d08e44dd2c601ca43ea5e7488e05df71308c8b4830e4f875b5fbcbc6bf42125c0cbd67a23daf888edb5490adc724e4ebb94abf3755c5cdb7dcaa20377b6ffa3c10b9c8be269f8a3b0e6365a04eb9279cc683339152f6258add6d77bbb4f8b244ffdd4c2b59e9e3d490ed05e74bb0b127bdd896b539529c3b18a39b943bb1384776036c202a4df164c33df1cdc66452a9088c825837feaa403910b166fecd0fabf9e89c7b4a5114869b3ada6c7185494b4a00caea768d836134a7995e929fac45445deadafa1180bf8b0007e6bc1ca0101473eba089d95417eba7e939c94419eb0196185090f8866dde66db3e8c7325abf8e6c9008475a6d334e35300a29bcbfb0dd7f380fff5834ac809daac8e78101a6c34c63f1e560fec9226e2ff2266e52c4a316f1f0a6f5b95669e32aef0eed442dee1cb7292d815a179f3c496078d0d0335eba20ebe032148ea67392605dada3672fbca81f5a667b96c10e5f2cffeee78d1b80cc0e5bdca1d46c3340fb3eb6a7a63cdead4d2ce18b31584eb64c9b1a1b59b6c10e6659a56ad98eafcb53f3abd32c953b6ffa2509c54d9a59bd884e340eb5c666339ffcd7033b3c2c26a97d12fb2983ca55f825dd4b56576d2cceaa4340087d8bd961f9704d4361d9e22e737d038076294f1b172deb8f5fdadab6f7c539eb799878b25f360d05804e1e32ea32b3d605971220d4f2ed071e3508308dfe3296ec570a9fdd3c9669bb2725bad8cd763e23f1d5546556b9fd4cd003ac0277f254f9286f31fdae57b32cb7768a4d869266c557f906e8ff0805e7935f54b765c2e74875d56bba22d70a9901f178b90a43456c92e88b0120bbbe1d67c78628ffe2f357bfcbdbd9c13be43d03e263364825a73ddef2b68d764c385661f40debf5301f147d44f1eaa9281210b9f2432db29551a88ae274c73788e53d3496ea8162854d919e6ba512bcc5d150eb52c12cb4c7504eefdcb997ad7c1f7796fc22098400ddd07e909160965724f49406976784fd6724fcf232067bb9bf41e04843bcd5d27342c4705709e7a5e0e5559ab08d0c6dd7aae76aa6fa42b50e84b47ada2b3a635aaf3cadb7b9f93bbff676da27bdc566e4a332124f21bbf0c746195d70f9df7bad0bad78d1108194428d7616923d514ccc152f7cdcd58ccbb66619f56b2d337b797441f2eccdd5874dd9c65e5f9b44c60ae7b254bee3207c08aa5cc266b88b073ef369514ac935972ea3add929ea5dac86df1bee305938601a3eca0b3127efd812c61eca894d0380bfbebb60fc702779ecc9a08a34fef4894bd8ba707dcad0e381c45e657e5a014ef3228b107400b24fc0a2dbaeafe231faf8d7016f8a114750848a80db2d8c6bca4b51a942d30706698c74830b8c20a8df7a29db7f835874e216b1fab846b42e82c27f78d7f11dc007e263af130ad9135d23004fc843d9703c358ee39e3d2a493d416a1095d17fd26519b30fb4f843e65028100abb895f80c123687293c36e86ce63686645152d932c302f32392f28ece8d9cfcc4df0779cc1a0a6a4dcd02cb674401ba148b10c496feb1006c15e407e8a07bde4bb7ebfcdd427a4c67a8327a6f4190e430cd7e2246bbd4036cf64c5fa4141375639c60094731ad8e553e83a5f242f67e94d04a1c1a9c13818376a78030cea27e3ffe768c6dd3dadad2a4adb8b09407c553e29ee5e51bf5b024abc2b8fdc038b24ec866f66c777be976c01c823b3be3ee093286e0f52a4445897bde5579c095671c49048af7189cd6d8bcc3fd61fbf85f34a7b4bd6b8049feed0b881938b2525aff35bc159e4aa9c5ff062ff1632eba5ff467029b4eedc8c92afda28729fa779286277aa458640d4f471f55e7e7591e5d272e3f4825c1c7993aba893107fb98b262e86063e248e35523b6e8fd2b89027c7a20e3a5013c9acd4e6dd6ce72e8d1756dd042ad54da0bf9ba9724e6475590ca529f7ebcda488c822e3e5abc90ca8a3164bb377d97d54b3774f54a548af7dbcb1778f402e3e217e65e17742852ddc55dd727a8b36f8dea1e75489e1c4ba967b610a9f5059c82e77f3868f518bc871f904637fc47be5cddf499fc99ae12ccdab69028c9d0bae9138f866c2cd7f7afc2c36e9c2e45f9573e9a1baa9388f3977e899865f6a3cf748450a23c00a58d4935b28d725ef49597c12c3df7ae66b20d6635933f89b8457f7a4617d5ccb4429bdf94f74f445fbb60bd1e7c79f95f6b7eec97dae6dae4a05cccc547a34fbfe4eaec8ff4316b58727cb50f7ce6d7c2ad827700a899cb329857c0d44b0e9f5e69d2121d79af9364bdda04a6a1d2003e71f114ce4670767d4b32e500282411766e874e20d39f101f9de81d754905b205e16092166d2d76d24e26023801f05ee0534af00cbf87fb5df3675c990f03c4ee4f31465ed60af353f3ee29a447577fb69d5f1ffd4a4e95d5b843652afb6746ce87808a3094f6d8a2c13d0c5c7bc9c53026247edab761e9384c646eeb0df0a450a3a85577562622f9f3340b8878554be8e4cf07578e6f09a4586f72ca4deaeab7cb3eb9423c6d7a0027d70fac536bc05f7e4821d42d48c8757be5bfc89504231bebffea6802f6b4eab15f6e3899ea77b8a0ad340915d7436f56d1258b817785457cd1cc7682bd0781b13a1d4bd18df88c2575868110464b98268841e6508a5d9c1181c12f819d2e5052c88b4d8df1daa197f402cdab31e5d9f4e46c402e1fabd7bea0381940d06b3a5c2ca65a7da3f8fc90ee4b1aea198924e1fbf8b923e0f7b67bca09ac276e89db5101191038afef91ea966562c07e2ed976a483acf1e0f7f281b1585b999c8ba098a1f5347bac0eed996bdac0725b0edb35113157c00a30e33cbf47420f8159c4637b3b2ece2a9bacd37904faa4f0ff39e043963fffe5e80c5346b1d6f4496466560ac4c4ea72cdccc5b6dedbe4ddf93aaaf5ae744480a29fc8984411c798cfc9b8990f9e947f0da2221ec90763a306761f00cfc44a2baddc9f142401a0807a511be0f3d3a6ff08186b9214a36d55e0a38ffe8f5eb893e8425a410e5a0d9de35254dc7a00a30c8f66666526b437b52558a33eee2bc259fa4995f9dc30a3cb11d3f5bf8b81e3d86cf6186ada576b920f9db65d219cbc48836a2a6bdfd32d30bc32d1bae23d264fd49b565df9834b9fddbab0985f57274622eb17135141f4b15d926e85b5585704a5adbc759b2a01747a053be925cf8e245985a72b31e7c71f8355f7b8f494be9d19567bd0a58383f1c8d2683e23680ff549a761c6884a8c437b08316eefce041a2791f7daa57347b3bd9116cd36772deed25a4aaddcfeb4702766df1f672cde79fb4b6f5bb1af4a5abadc56291c82378593804f592aaca72df9ba2b5230155af215587663f968edd47288a3416e81f2923e20b4b7465978dbeb4fb919b5b83729eee01b3937a7fc8664034d95097b3c36aa6b2a371f3408aa8c82110e64e86cfb121cdbd0787f303b99ec9f0f261a9bbd38b434ca248d93e495b01eb38dca64df4b7b62c5c6501de4dca58704059f21cd869c0dca97ec5dd02a1331eb22fd437ecf05a09dc02bf36597e33d486411e1e13ed48c0045514427d119a05fc079fb7c30f00ceb2bc24882fc6f91d1cae7b0a7a3a435bc0e7859b8a1d3bf4b408dbcd0c188ef479628ab6a2987b05334e3d6f1fcc674108a42539d415e2b412799a96c681157f7454118ec4421a4b5f02117b0f1ab96319c75631b41e34220a1ff43d971a5bc1acd2ae3d93e59409c9091a4f56a231286b5606a72c7a295d00ddbada885d8aeda9d49318e00bb91b1cdcc5bff0aa2aa166c1377021585fe8beef42532a0529533426996e2858ef60a82f042d971d44f15d9c47e398d1ab62b001c0df2a97860af3370d99ff6b28bd06f2b87fabecb0a00f2b7dc6099abb46d3004d55f3e27f01c43004ebcb05967ff00c48767279b55d1b8acf53ede304137febbb4a1815b9a68cdcf5c283a0ef8e9c06e59ff123b45127a3c38ac29e811766a4ede178aa47837f710aa2b8e24baaf1e6156598e2cacd26a8f563f44ab3f74520706078b3c70a229ed7f2d9809fd6778c3b92c9070b798bbb0cdf6f8f456ba7d24509adf99bb5de5a01b9d5b6b268c91386b067d735a5ace18d91dba99d533ff67f80d3b4944aee86836a6bec25859de72036ba4a5f14200b7d27d37490b460463a303c62fd7a8d09d64afcd790aafeea983f110d2427c70063e93cfc3368aa23d2148d98cdf2ab1a5e98d9f01046f84e8881178faa559600f33dfdbe7045eec17bb3f7753793d8d8ba29226e74ceea56d0d25abb433820113810ef03ad101c486e1f0c4221e7cca6d8f206778346a2aaf8ec9109996d2fa0a5a2ca8afd3dc6fb515f90efe14fd30d15506e4713cc4078e50f3bb6d8070aec4db19d765d7c8511e1f8c0fd960edae17b6e94d0d0c361f4170aed80672c9c5290f1129f70ccbdef7465c643f6eb6818cedab45a51cfa37c1226a90d59d1f7474a65758802518b0d00f6e34fd93ddddf2fb6e067fe81272a7124c7cd23354dd2e8b193aefc3ad3eb118fccbd9e60d4da7cdcae7f6aef4557294ba0353150c0563a9519b40e2ddde04aeca0ed0a94a4c6f3d47eaa0a9ac0bed777cfac705fd729d23f82ca65da130516c5f787bc410c75511bc4e2a71f93d951fbad7040b76dddceecdb699263f9bd9ce61bd98a1bf5b73d8d7f4bfa3684905a8a8f84eb78279351610ada90407b8d917504f2ec84314ad91843505abb088aca03fb0e732e737efe90f0745006e565f79e43fec065226794cdbb487481de192c140e91d3b763ea21e50f196aa904b907415b9de7054afeeab28eff0a4eb522a02c4c8d8136d84779ab26ecad59bf3993cd7dc69b9ad29985265669cef673ceb5e533549f09f82eabb1120ca99f1e006cebdd16fde3a661d7de938e3da7f2701eb1a259ea085c8f6aac3b57be85483c0583b910b098ca8dcabf2eac38d945f8180dbbed361bb7b0789f7c657992e3ad0b3efd0ac7c321da99c20a738337f86257cafad914b7f7708fd93dc52728b20dc2fa73717036bf77c36a7edfa7a9a08f2a7d59cab6c716dccc7a142f5d980fd3b14d12183ac8af79f611b1c41640c6e42a9c2f0798856a64445b7741c0901e41fb8a284b5b5d81ec89bf19ec324448c6d95aafddcab11700825cdaac62fe1ea362576164efe9f6bffaa339a5f20db49810e65e301b1f479e245bab9154af2534af2e33e596407378b97c0f03a1c6cdc5e5449e9a7142d0041e89091d514f34f0263611f83ad29ef080bdeac7613d9f3fe12e7087ada209037a10259eeff6fbfb1dfa67df52ee76f531bdee7313eeec7c49169e9402eeee9953e512aef41670cbada5698b6ef77d1fba6b52b8c302d2ef17d9b05324c8cec8afd6a80462d84e9b7fb932a2e00aff1619749160ab82fa0c5d96fe59221a2bee01de6dd540fb2edc8838fbc2974694f2777906c60f28655938cada2e764bf37444956e1fc1e045d91aebe3d8012afe992834efca00929242c4ee9daa2526c3a5a97e7dd46f52f066b401f0a609e0cae53822c3aefae1dbd916935afbf55a3154e74b304691ed6fa2c8919ee5740a3749660a7073096923b98b4a1c44de411cd42dc44293ea515afb12dfd7477ee6e286f09bd7a6431c7f81ddfc767a0bc47fb45259efe1eba742b42d4e391473a8a15014b4660e08513babf089e61347f95c86aa93412c1ebab769467c45e3082b77e6ce69275339d80317441532af8067655bdd6626496f9ac50b328931d7f0374ad15cc14ebcfe2e4c0df976d90d0da3450c1669c92a7a6da7800dc8de4e4b667999cb86bcb50be54ecfe669bf158e7ba888ed446a43f1826373586377ce78c564a73e7aa136e2beca6274b4543d0d390506afa6159c64904c7a06bf6554d68b94aa5ff2bf515846d800fbde1ce3dd5b7d65efd91efc09ecc2759af45524abb07a5c2b277a8a6e317c8dd4216c31fb97a8dea5ddfc1efa8bf8f0702375239d48522e1e4929859d57b4e0d79d18b652f4b1f1cc53a2a28cc8c7988b8b61b121dbd77769f15db4f5d9bccd79072a3c9057e5c8533b6ab28a54b76afeb15e29780d2dfebe0595b2c7a90fea0b80d51163bc450e68b227ed520f4b88d42f404ef92accda35457fcea3f76c5f65867cd05241800a0b213ededba490c921e95e387c5a099500e7704b3afee8a4c9cbaa1d245a8973c36a82356bded5026ce5a82727473acbf255eabf41b0283a55b594c6e8b0a01eb34199fe1e78963221e3e8ab3a10e6de2e70ffaa683190e16dcfbd28bc36dd6cdb4ecbb5d9a539e53fc07e113a1e16f671a33c698d8e56832a2d0db1b16ee535089d6448e5f38f0f906a5be5f3a098350e719ccdd6f97dd727f158573a8a1ee20ca232acdf4564448514a2494a2a38464d140f9a3aedb191d5c2a8e391b1f37fe76dd956f4ff1496d1225c91931f1b228a338416bc5e1fab50639e355a2ed9aa67d90dfb8c350024ebdceefecd8d8d95a7175ab67f4d0f2069c96d2f731417664bb4d35682ef40e5251e4fa0e0eadbe2d44158182f9b35199ef483fe687e09a35484d4d928b7857778e87121496040767c283cbeab60c80c1b7414f95ce4ad6225561af1e6baeccefc26e351850b281c8e75100148b519072311555becaad5ed3f12ac904b516ca93143f44ce6f0484955b431205c56cc6496b92bc8d753e93422924563395f5ee1a3acced512bbd741c1cf0187d21bb78d27be7d09f1fd17f9982de0680f3f04a7ff5364821218fcbbd87925ece7284141925eb5346b648682c733156073384a4b416e808d01cf1fef10d492e0552e3ea193067a110ed277d7a0e4a2421fbe14d6009aee0140c3f32f34c72e271dc6c34a2454322b2596099ebf12c0b504da190b4a6f2d9f75b1aadaa44e189de89277d17189b2f482fd3b0ee4f0f4ced206c6a0d4fdeba94b67fac20ae155082c70653b96ae70251dbf1785bb500e12ba7500b712f6f8b53839028f901a94eb8347f0cb3d0b00fc4dfd73d36ad823c80900ccae9ac77fcde00edf6e1117dd17b0851b937fbd6d7ef4c5ce300e0bad7e95b4ce59579b4bb790eebf967f9fd8746c826eedcfba39091f863103bd926014840f935a0cf2a51aa384fe6676eb31fe6e91d57e07e09225ccc30dc1fc4ab9c47e9a60af79823c88e1b631463a07d1d089dfc76b9765be5841fbc1c9d949ed6a9c82f3bb7fec700f3bd0cc97b832a0f9168cf24ad93815911ac55b68048a54cb2a023d2376b24241958d3fb918f290421a49c7f419871302f6c508342f01cedc5d4a9d7c350232015877cfba773bec206f2a7138f45027dc5d36d50c44fc54bad9be89d299fafceb983f88dce9cd128f174211694c218c243b7a6a6c649cb539c0819fb7eb5aab9ed0d9eb5516fa604bb309396e57bce190b47510a0751da03a751ac8abd86d6fbfa1759560b5930dcb2662ec8a492617245e9778666e4f9cf7d1b2c87ea9f5d1081cfeeffebd4e3306d7c0bae205b7ff4734fc91253c8d1dad479d83c291387a2220bd40556f4b80eb510c6415880ca26ae7e8cd64e5b4eaa85e0093d62a25ba9ed886dcac2f27f2f47133d80da74f50eb868a623b54083a82bd29d39ddb03d30bf69a0e03163314924d152be21193407ab2a7be340f72f32eda544a437cd5de3f4d4bef99f84747ab67e5350e59715237e1c9b66867219f284c0751c77a397646897fa2ca031da37f4e2d3bc6400dd38c05780f8c710042d0ad70cfc7f87db2bdb13ed0f452e35f2959fb06e5b80689d702cb21565996f992d905ad302c01e66886b7d7c99df58a5bbf26ab8032bb5356b4958a8d5056688a07bc90d342f8e8e17017ad96eb96f1531081a371777b305d9301943428749e33283fb5f28a5bdf6a69ac37ec10c8148eb946eabc576bb1bfd72aadfdd5d60eee923d9180f3a79c9df397cf0a10416b92dec27dd9bb8de9b0e03970cc95755a92420f124412ce048ec8784a564150cceb5b40bb186b65ab5be02f22d2ea565b13872a6edd96c6e88eccfe052b0391267b3a5dccea3eb7b0fe84b89c6ef78779a7442482612dd9e2a1ebd3348adc123c9c5f7bf86e36e21d50e097efb70394097cdf15365c07280a58a1589b7e6e136a38118e071a1b3224086fa1b7debc6bbd0fe96a6a0436b49a97db87f1d7f3b4475fda0e914ca18d6124ac6408f10984430fc6c65da442a9736d8a5a20392cf24059947bd56848786f4d06667f7057fd4341c49faf993d0801fdbd45ac979cd033cab3c5bf86583e3917141f54ad1fd03fdb80932b96e1f1bab5d0c5e1f64cf4c3551268b4ba0a7b4073e1b23e757db4c04366e84946739337b00294c55f56103dffa72162f933d61bb47a7be430440a279375e7778a5fc6755dd2040b9a74706515fafe43eaa5822aa3182e4b70b86521890dab2746974c2a718a23387a49cd954a00c74f4c2c35db1cf11d8265fe9847a8073a0ae71b59226d38d3f24fcd1ea78da937857bb8dd91318fc8194961dcfe5edcd16705c0ef1f975371408ec38f35fc9deb3679bad5e21c3bab6f5172deb43e82681b07ed375abf3d004d9000641499353b93bf81688f50850657b1b632aae858c906c95ed6a8491071418246d03322f54a98a4a3d365e6612256ff969286055508db0cafb0aa7831ae08c4e3af8707829c649d7bfbc7e2115134a82c7449a082a8b1e42c19d6ef674d9e82ee8251c4a4fa0cf989ac6ab52cd3f72c5098a37dd5d9c34bcd934376752b3a6fb69479543daf1902f71436b1d9ed887fece1d6aea35fe1510089052ddbc47736487ca412d3d029e0af26e74bcb452c15f21170d99a15a8a2f0640838d73c1f97f61c1a1bc8c731f862c453baad40c96dbda4f01a629da5e3f348283ecffe61ca6a6513e951c549e695afbd47a05c0ddfd8b12147f9395c53ece88630a2b4836a6637f53477fd11615823eaef72362094311b479f14baa8e6040267ddd145624b784de738eccc66a25f9e37546899f9d20d3628e4ad122282279805f49a4689ab7fe809a38fdec73be1eb67736c009f4b999b82cde5c1670335ed11a91fe405c073f9ed85b9f3fa9e54bfc1cbb27fcd503c6b0fc9277b2b42d7fecd8d9e0847b232f79f9d24c425338d4593dc8ab68d9d4865e61ed3289b9b31f72cea5862073bcfa7300f13aae61e80c11e42f57b78ce56bc5719b275603590974686cf1d774f32ee56750e0c2be6a55e17ffda124dc51a26f47c9cd14aacaa48a139f72c4251c872f97ca737071ee1559dbbf9d6d2a12d90f8062a361582cd1e9b82b04944e4557d2f5637efdda30a5399a4268e4048c12b40a923dc6992144b697d4556914286604c9a5d3744c7749db4f35fad2e05ae7b61ff076803ebe048d860b4cca961caa719ed6828870c2a5b60e623f1fcfaf937065907482215c49f737b0677facaf49c79bc9121733d09f8f6d96ae30f4f93c32d97d54ea28e0fafb27a50c865793eb7e095866965dcb43ae120740fa39e7921b287235d869767e24e3b32b241b76e9c1ba7c4cde9704baeba520f6b0a5e289d32b1fd2b7a9cc3119ffed60d8c145391667ffde5cf4654e5a238bf8ee885d5104f2ea21c9fe87b827daed2714d361fe0a46825af407ba6de98eae8316333ba5e22ed883690aced896719ca3ab34a1e6e006bd5a20ab2d9d8202b2d3aaa326eaa3f40ced3660c877bf9d181fd0ad5ca1718d7ca3e9fe4b94e7842c324ef97ed21fb0493a2f6845252600ec9ddda192df07516fe49032acfc6f5966ae56dc27b7eaabb544aa9f0eacad4d05ac76458ba638a05b3f70c835ba815257e390b2c03f0e7a0e965c837f2a10ff4a9ce36af2fa8788ff8bc616d5ca5632f08b46dd7d0c3486b9a43364ab2d7834e0e4b5d66e06af6ac29654530b20e4da78c861afbc10e0e2c4fe550fd0a2135e7d5cf1450cc8103cfdd9a59e53e67c4d8be807cb3888b50da8ab8f09deb6c10608fd9fd8de07c27c7f0a922610ddc05041eb20c1862c7f70cded14cf2d7a0b74e9cd1cde4b458cf1c0b2b82aafd3a3fb2d0d20adf38bd6b1f12f1e95c90684c742bf3869f15125274122006ae4048e66613f93a7b13ace7332a48637c522603950070bde8cf59b78e6196cc447ddfe6d745e20c507705cdf9448c4de8d13798881b4072390355c2952277dcbfbc9ba468a32d6adb79e78766c8b15def98eafa6d174651194a1ce4382911366433c98a5320a64ec3bd74063a1a20afbc8c29261fa521ca447088e6375b0e6f7205b47db5ca4e4df3a5750c0d318802d6077f22d7d9f2e3bf410ab7f27c67eaf6ad9db38c065e8bc4d608d421c6cf2c2e666d8767b16397499e8e9a6471f8d2cadb073fa635d8055307ccc3068f26d3b3e575c94383fb150d2753c8c83d5d9319954c9feec91ce7781abe8c28495d485515f2bfa4b3d5519a270585e7f4923ef8929df0763cfd4c1b32c8d4e429864dc24a530a90cfb963f5fd7dc2760573577fea521edd20a28b9e9585280a88e2460ae9df6b2a0b01b8f6777c1538964f1f613512b226df3a65fcbd50cab4645d4652113a7a570ee86d92d1ecf1715ac2efa48aca35df3501f29ccdb883f0e3d73fb14995047e7711ca72e6984366a9726b8f872914195d366ffd2b25bdb4ee761b272987f125c45025883821dfb72478c6cc5999675faace2ed994d0cdd6b2d3d1c1a0d9178f323c4684d70440e5e230c80a08cd7a880b164bdbc827154b430a4847d8721519b45580bd241a7f3ae1c7ab069c0d3b27203cb02c44195bcb7ed4f403f3597dedb4581694aafbec6f8db6988e1eb87e9bcae004c60aed7df393d770cf1dd7cbee066fca8ff7a73b842162f05f3e864e3eb583b1e7ce3bfc77f511c9f074ce147bfd070eb1eca8befeef1da4c9016998aeea2b76620633bb663bf620ae4b2138330a7ce7d137ff8dd8acf772a2a12757a51f7517935eae292e913781f1ddbc970827c8f80f9a9cc775b36c2692c7ce19013c778955e745ab28b9ae1bb3b339e33f5397b159642a89b9990293478b7e2ab74680a7bece2ddf56a44cd9a1fcf2552446f4a27bf368b6f1ff38a2002c70e456eaeb3b58d6dbaa552dccda604f17b60720e66907b1baa851ab3c6f2ccd88184df86757e8013ba8ce5c75560c00389ba68f55317a26d7c2cbca6ba4ec72de6f665d32a7f476356378a76091034bca2c41db6b8de1f1e5d054ba71c32d54b09c7d339f2d201c8820c1b07a399302d877550cf3d0ec20aa20254b95a656e560b057205a221005d8ff507659f0e6d4644b7c0deff8814d92f1fae0f35691be57f5e0d501cbd91696ed3898916c2bfc52e678ca67918a8f680ccd25e97148f59f4d62484531e30a4c39c902d5cfc3c99a7136328f7a74ed0841a776f87049ad0563ba112ffabfeab65c356386dbbcd991b62b9c520766893eef4b8c0943a2245dbb13821a1b3c0d5fdff19709148388702923a7851bba0ad295b8e68b0607dc9839a89f083ad5b33b74044db9a54f3b02e5c2eb511ed921f3beb44831e7557d2967b967c9bfb6a7591a1b6ad2eafe95ac1e58b4c3e6cbb39849f8ef2a62ab5cda6aff9c7c7e3fc65c4da094495ba3d19cd31b6e0374dff5b701019344b6944736bef464f0323b122036b50e656e12a42ff46cfc07801e34f0cc48330891952ce9f98022923d4168e7eb1a0f32062ba1c12d6729415236227c75cf9fc68ceed46c5b0ff9b0cf7712a4b069422c00a755d18898b278a5e75e598f916456ae71bfc51a1fb47a00d8e7ec9c10a90c236af142499eb730c75514f760193d7a46128f5889b442f45663d83260ac91a9f246a9b8426280b8628dca614338fd1b3454d5ebf2d77fee92c870a93206f3925e1e37d6e496369269e5c6750a9849d38e0fdb2e6580cc2e99725ef7deabb669ba8cf70820f68a0e9943740b211379938802b962f0556114d937e6fd2ed3995a0158ae7d46f3ad28d72792d3a80969eade5a49535c293574b75193c357dbbc5dc620a5ed703b83083f524e6e49c0dcc80d58629591eaf5966b3d847efd9c9be7a716497f2de008fb5092eebae256763a6e0e942e773acf4f7e200dc2790cfb35044647e30d2506c39b0cc6b12341bf28879264659b26d83c6aec9abf1d257b051f7494d32db862cb7dac02590ea7f559f5c2af2fe2d6fea49b169b04e74e3391c306e331e949a39b80ee9672d88d228039f1039a5827de0f8db23f0451b71890a0906507c58db11fd510073e6be7f42586edd54ed8cd2daebc5e426692cc33c37e323fd04f0841fff116e0971fb7f45ca89e7192d2a8325a33a8376535b1bec5b29cc1d244209a0b3ac40230d5f8eca3e93418b854c738a5e86ceb6bdd7b91ea064d58ce2bfbe8787b728521f905268e7ee55da8781ca270563c79da61e173d1c6a6d287c4b5498d62c0fa67474b29abf3205204b2b7c60ce9a7fa124720d947fcc4ac9e4a612266ef20c444ed5a99fac99e70d6f64f55e07d609d6b834d4e2d88adfb7b5bf74cffc3e91e46c1af2fbae3eceba3a56f787313da146dc52f5b8f76b65fde86a64ec116578c7665b859138227f27e422a6844f664c415fec72eb22e04ff5775296d13545f3eb0c2adabf985ea4ce1a7ada40cce33b558a57bc09a6dd9850aedca337e70920192c5b9d1bd5a5404579827ef59687d666d24e359408b76f62900cbd8d6529a06224620c56727748a5ea7c29b9651527c6bee5381b0fb89d1ccb3a4210bb2f927cc2b76f6f2946127cd0ba5754f9dd94489391b30f9ca868de8b4dd6474950478f7153e09125c22b8bf46580d9ca01049eff452b83ba120b96c8f2199862580a0f473408a25cda9d0a047576cc2c52d0c9a4e9f975298ca1b44127baba8cc45bf4bb8dee5f2db0fcb2cdd051f2ee218f6245f86a84a8cd9c6bb7cd7f879cc2e1d4ac77f676330d81c7ee1edf052b44284058b4e7ab637f8d7608a0d842ade058f397aefe4583386d8f72c120e539f3e2b6362b0d01d72542d959aa137db92796ed0fff41690785d0a5adb51fa344979780d4c96c738e110b1a26514123f5ad24ee737eddcffd206bddf3aa49adf4eb69d5d77a71e36efcd4f6d8c789c2e8c2e620914a9d9da48b2aadbfb2e29e245cfc372fec4cc8f5439e511152ef31c87e00e48320370e7115ff858e56a816d45a818c6e1e875d7b7268d328ab07a9b8eee5c546151f84b07a8f3cae7c2b02de5ede3ef4cc5f3994784324425ef38fe894543569dfcc704c8a5ac719dd58476a77dcadb8fa92e142f5bfae23d4f2a6f3845335e734959b0969e832bf43ce248f934ca0e0b971c0746bf63d019f49f370d366c7daedf70439d431b9e3608cc8d1bd8c1119a3db8e53a0e5250642ac4fce7a641cd8b19bd3777862c9da66c41f5bb8bc50c4a4ed743364e593e2dd6a7315f05f69b401bf39c61280288cbfebaab502b42aeac022ea4898b3597b7e6427a9bc1035ca7e8bb79943906a8a124bbdc8f2e1f959a44a5909efa020bcc6858276d604652c189e45db6acf746399efffe8b6bc12d2efb501ad1f6261fa52ff684d31aac454463cfbdd9206251ed65c143473bdd121c78b9af6f9c5554c9588968a6b4b50d8f28d274cb9aa37ed47baf203ec46e9e5fd0d522a3d2446e792a238b596e9f87dcead19e1736366e83c991f27730a8f58ef3ffd41efbbe896ab696c9498e5c6e5cb942f68b19ba826ec749db02a273aef68f2a493116c17df0323c022fe466ad786bb08692109542817e1de665ccd0f2f4d12d674f4276afb8910f6679e56191a7b1450ae4d42a616cc2e9fe462b037c620c49630338a66eaad1e85d25a1907435df0292e93b63f5121dbf484488ba5e8097c6ec9a8ed8f3560ef56fd1da0459eebfb365e4634cf4b5f1ca54c20b31e51ebf117f038354cfc323815aae19411f5a365be9ae1ec5ea41a5e6f27cd93e34dfdabbca51de14df6786be7a95ce2c33b65ea9fc389c2e61127205a21d86e50e5d37240eb6a0a743de8ce028ebcfecdf3722dbd72e630540ac74bbdc8468766ba81633fb8528716fa5cc84d6be78788dea8d8d0f3fa13a70275da2ccdcbbe1bdf02de688e9749804709de51239b916878846672caaf893c73df615d03c041249f1472f1b4fbcf8b14f26f7ea26e8f9aba71877ecfd58cd8c5960777457227c82d5fb97d1307a7beefa1dd7dbaa07b3e87fe6fa5caad4d475b5f9a3ac3fa4f2803b3b0bf4befe3b1d46527930f2261a9c8d43531c30badadcc4383904626671543f6c87ba0978b0f1082bb474f1adb9f2493f0608b1ccfd0eeb1fcdb7bd2c0fec52549f126ec248e7ec74188038951d317e10ae7a4d1ad5b4fdcb44ed28cc42dbbe8c0165ce4fe748ebbcdba2a2641ff83030bc9734df205abdf7a37571370d964101e2ac05da99f58ffe3ac30a5919b7c26e93eed22d7cf1ec66b67f954b1e66e98b766d814def13c3cb1ad4375837305cbcb2f62f3d592807bac1709041cb3d0de4213e16f605c64ffcb4a490cf80b9efa3d736be9df1adba404fcdd9241dfc1c1bdf1aa90f9fba75c0f30bfe1b68b5a5ba6e78789215a848e8cde3b14dba398ce169e91a56efcbd3ee982b6db0e23c3cdab8235afb9f6fd3acf85fd96b7e01ec77fbd3070622fa24a6397d8da3d8bf7a00248ed257bde924270b1099dca77fab0d2f6934ed72e89b4252b8abb6ebce63ca640b2eaa51588fe51836588aa77d3c9c62537d8eafc9ccecd24e068f30106a66f6a4cc42c3442212a100d03d052d7498ef9ee59117685fd6555b864c85633a7f21ff15784906a04dd13807786ac1b8ab80465a6179f802f53dc9b21cbbba194651932178d2d5649fe438fcaa43fadb3ac2a5af3611ad8fb7353c4e420846856df7285ed7ea06294b7efcbd8a281bac4feb77c3dfe5b50bfd1da640c2634adbb9d026d4035bdcd3a38efb968f0831d48b71ab6461beb8746cc6403ddada136a2c9df59cc884eb96513d44a9469fee7dbe6eb066b5d361a7a40a6f888214ef584d2f6718ca7e19b57fd70b6b8420fe3d47e67172fc9155d8b2317c867f7dc454e3edf83f91c53a4ccda17632c5fe9a6e8ddaff17715f45a0cef566d6d93e62b2242c7b514d8237d7af4ddbc34d724de5da00d09f67ce28639af2377676ad8826f8e66e74eb2c93b38bc599b105d88920cf5903c48ceb7bc09115a9fe0fbbb17805bd5b81fd4a605806cb83773296bd6a2dca2d42a9fad853a94d46236ddd03b5f973d46ca227fd80bcd4030fbdde7d45348df95c93a903bddbb7f8703bee8717183c3db8e5bd9127263c8d75d60d2d57f3c0e83bf41e5cad897eb27bd7738f2e2ce6e6111f3b04d61f22289a81d4189e635c8e9770674041dfb8f7c14c458c984e571da246292045b6814757a15711958ffc803d6e7f713cc82f45d7aefdf996163048f64cdc32d1755f93d2a49b659284671c1f86fce292cfb3226ee2f026f7e4449f8168936fea7334ee789de6b54c52eb2c2f055eed87ea9dcfb4572266a73d72c473e6a3bf9d2aa12be266398302cead24793439bf01b00e81e8c2c91173472fe37956eba0940aa03abe431befe6064b01dc85109f76f8b1896cbb0442b4aa84642f1d108015d1a1f8ac4c597a06aa9622ff534a66c21a374db718fb75bb491bc18dffa9b90130424107323dcbf4c16076eafd579caf4a26e84f00c56a71431d53a42aa996a1d97ceb5f99fc49ed94f00bc1c21dff20277c41daaf626d3dc57b767ed1a56dd6d80add0ec95d755d66ed1bfbe7efb300d640bf3e0aa5ee64b46766281be57256667348171dd85bbf6d151c270896eb475234a28501eb4647b12724755c89cebb514fbbab7291f8fb278822b012d246cb5a175013c72f42b8915ca76b361ae0945cf5ef4694b0b56b203ece26a8423eeecdaf26c29f62cab031be5e8c9c69fcb513f96f4af52f9df0b11dea4f14b44fa4d49d10bfb0ee452163238e75a26d669ec02b5628c53bf1d3b5a8e8af29f025eeac95d3d1becfc322430639d2b5fdcf483a1e452788f65d1ba48cd22473ceb8a6f35d8121237450706195ef88a6170536bf1e391752079219d8284217ec63af1b5bcf6aac9e6d88563b20b5313a575c80ffb9b3b627c342295ec2232c8c5fe3ceab2ad9a6f6b6bb7dd194995401dc372daf7d6d81609747a9b7f3b875680b677ff5510d36588003c562519f04e82a84b7cd37280ed5504e7adbedf1f76b3a5cd2d218f7e359b4bdfd3f06174d08638e06e46ae87ae3ed8b1003b293b809cd6b00862bc606c3e4f01f98f6b98d27ffedf88bfe21f58e8009d27097f2f65780566e75845dbf818e7fab64bb4769e43679dc74470996d5e65201898c53a39fae4d7467322d93c2baf00a51162d2c7e7f8b838a3da3edecd0b3c5c594b8fab139a9ae2292e71d9c85f0bb47820d0bafeeb75e7647f24d1803570a2dd352c9ed106cc22ae78152b76380c5baa66bc2e792441238e29bb3f3e4738430716bb67f5d4d78c421d60bc60b3111ece4bbb0912d0ca479427af72acd56d78ad0e55364091ea5554e7d74eab2f78294938c6bf038bd90d52bb7075af27e264368b31ec83cac7104baa5c15de1d8bee708210259496c5ff06b7f2755f4b7e69a6247cbcfecf6c7c153c25d3d842dbe42defa8ef9a0ef1a443c276c9729d0adc69d1fc8047ec8413003badbd6b7f142340915b9f32bcb469a3b31c1095a54c03aa366ae8b4f70587af656a20289f05d09f88b4322556cc5d42d1069c09b31871074e938d8ff49992b733654ce7af95989b44ee4e6a35efdc7b5c7af598a813ec9d8e40f90fcfd4295d776c0c94ed48f0ffa451f49ca667be0f131cf8b781b52196357151df2bd0e9f606721fa70b4c31305c0b545753a5bdeb0bf132900e3a86d9923da87ac36ac04353152be99b3755a9143198106c3955d1ded1f392d7c2c9233ad0c69bec129761db480170847c426894b843981e605b27b645bbeaeabafe0b3e99408b8a8231396be01b303496ee73fdd76a00fbdbda038f6cd29993e6f2d13d3763a630847510cce36b1af1aff2e58cfb32d8f54a59484235dce1bb77f68ede1eea82c5969ff43ae45bf169d6f1b84b5376864ebaeb40b79a0a11b6d643d7a76c17530c0e8e35597432c9ed6a63f85ce958ae4d73bfead8a4b7153fa3d56b9bb21ad7ab3b06348a8793c1996aa0ed704a33d3b6d6e29aad5caec941a5553d23affc4dd8ff1de100cb22a9fe81d4d6cc65e46a807d1c32e67130d1a5ab0c55d7e14a997fb11888c5ce72292c7c9c2671048e7f48ef141b20baca979cce249d0aa22361f74393091593ed7055db5ad6f3b5dc4ca53cf785ea096296961fdc255e92afe543014eddcd6cd54c43a18cb8f2b08702c190477882cc3a4c9c644a778bbc09f844ab5e3601854c117267ac769bd7755720fee295e3bf8e0f7f7694b42f88a82e76d2ad2a475a35b8064bc90318c1bb097439e79569402968401b58652bf3f4e7d886e53a31e4b58f1a630ef5bbcb0443e9e2113763d213a79221a22a8960fc4c385bd572652058639ba156e753aaebf9a9ac7f2bdc46e5d89e2f5ded5036d44f162eaa80c4cfd9c9edf4ca92fb7188c6d8b55e78bf428447ed5694e06eec5ed7cb989c6ce84d62418ad5033fc13473a127716b16c954ef247b63be239aee6ca592849cb08907c451e946de3095ab050c2de4a1a74b04dc71afd01d4931c9aabeae2459843346e03573eb2b119668250b4feb5a837f065d75f466224de5c3490da69be2951678a395cb8060f99ac6937cc1ec9c4c92bf11b455574aaed595a0ec6081db24b411b427f008de611a676f9bdb9a1c5ff9c5f32ed60d45cd7fb433efc9e96dd13b08885a080da8bd3bdc1a19694a49eba0385fafa1fe2249ae3cf5ca6a66c7119d4270ca9669f133f4517af6c9fa95c744b72f520360b53b873996f9c48190e777741560e16d792dff860c619797cf22475df28d6a173c3dd91b2a5c1c2b6acb01ae927335e517ac303a11afb236e65c09ddb61e15cd949c3b46a4abb80b80ba4f5eaa8c5b0b9c2f918d5f8b1c833105566ad8090ed05b4aac270d500ba41cbaecf6e818cd4fde4f0d54c336f7a8bc310bc7a733f81a5c946cef5bd3daa773bff2d825215c583b2c2e498b8dcac75d23f633904e7c000e069329fc133dd0a82d02542fdf92e479733f356e5318d1f882f0b8ebf5b98bc5c3fab9a45da94e9f1a744e3b6644f24a4b0f8983b942020008def365e12504f64b6f9cb0c9b8fe6533b9c7cb8b2fe92e8328ebafaff68344468707edd861350e58fcea4ef1f630fbe733bf0db541780c31daebe1dbaee40c75f08034cfa136c10b9540df2e1797e12e44eccfb79f155e8f91c3fd79477284d88ee8f34e7ab9ece975a85733af4e5f709d1058984f118aacedd22e2c2b498ae910fd8164ba2b8011ced0cc9c9727e7a3b42980aafa51d17611955a2060e923f5dc8132b320eb3b13ba0b12ef16243c3a7dbcc35d8036ce091ccefa6b0a702397edc5f1a5558bcba9ba7f5a49730ff80b2e7d31a26088c92aac150a03f5b1f71b6af1b6515b1d016d57aa4f0c71a94c8b02547e3ab45d8508fdbb8050aa015b445d487fc089194664c1075b3b60ed226519e7ac3d23542567c75b5a8964c0ea0d54bd815ba2afff9da29d04050123e31d226c71e181c3f527affc7cbec096c6425e5b0160ef4b8cd070d4339684bae2bca6621c657c990414c4b860a1494d1df5754a225ddb81da6a8e7b34c0562f6bcf24f081e9c980f4953ecb10bb64e8b4d37ec4a79f17a3d6226ffea6b438fc137043dd4e37d0f6f96e86c320d46de806225f6c36485285e2f498b2331df9059728e1042dc643dfcac2ec00cd973ec2256abf6cd7f3b73726ded553ec5ee4543505283372f3bcff3d208a9a2de20d89d37636bcaf3c3bb05dbba08214b16b1150ce65cce6f5e1152c1d016e806189575ad6028ac9f16df22b4284b4679681b6c925e491293a400758a4a1d6029c765510dc1aacdcef96404db87e49d8433cab11d6f07caa881ed6703a3d5072cde9d95b24c8cafb1eb30700a23bad5ac75f757304a8f6dfca0a460361ce10d689f3c83032e4fc3a9f5b487bb2222977a9d00f45670c4354a6b97f57c56ec68a782459f20c4af4927610b4b7700b6cbc298da750abf116560d0180bd91c95544e715be28943a46849fce01897e43205100bdb6d52f60fe71eb4e0218edf24646a499e1c623068ebcf2e6ea17fa85879d08d551ade2eff8f181c85e58b28dbc4acf4057f6a763bf7e7c9c21feb72565c9e3c9b91cd4271ee4094a849a2ab03953b48ac358d9f6e2b915cfe1ba004268746ad612402fc435a47660354ac83b4b74e499b2c6ca837269e8c277568d887f9bbea8c29875b6b68ce71c616412e5ad6fb4ab2c2a2490c49a854bec33a3365fde666d4fe4f361702cbcae26fe10b1bdea115b64431e900eaad874f6230fa5476a66910836375a11290b14c462bde2f289000d82e88d4292a7ebf3239bf5efba0840e7ad0925719aec101161cb0547521de74e83ff056e80b01922c6dd91d181c02acb3dafd7ddb3f2a647fb127386f6b334192a38cd14ea5633af50c36c3818efef6977d9a7ce72dd01ec2608b6bc6066de203a9792849fc492342a1a0902bb48bbab38a936326f81902d24ea9cfb7e46881108d56845df71a7966e02205d0d30fdd7eb71378bdeedca0df12222e9a77247fe1fbc8bde4797b1c7c41595c2174c1cbaf716531d164d6bc863f516242c7b5d1382726389b55bf6fc001f3ab7c1946b6c6b40db7f44d2963f98f7e00e95a2946a1af6648a871c71f5df668dd985d1cce774894037b7862b366e5053d5fcdc19be81746c28eb1331269e0e1a672ce89e322a725428aa3fe7d0994856f6bef1eb55bef8e822aac0bdcebe3a08c10c8785e44165a36d7e423047e0ec1916d7359ac3fecd3dce56c4cd03eceb5763d7561bcd965592085c4ab4018afb49e924ce352e1bec954439aae522f80e67399a986e052f9232f5c5f5d200a9c65eab9fdd539da6758a4beb61fa3bac50a3b23ce60b7b0fec988d28059044aa7d7e42254f170b55c612fa518c3a04ba34696dbb3f900083809301bdf224756c581ea5d75e5f96c240d272bbb6fdbd2aefaa0f8b94167abaf1d9510ab33372c0c212c644ba0267b8336e8d4e32193dbd53aff1fc8066a0d516f5ca4e8b6d228dc29db6c9c90be94a4403e0f1066c6c83a29c55e98977a024f9f306a259f43f57eafe27cd79dc1070837124218dbd0ef44bc41e7f0002a033bfa59fbc384fea7984f318eeeda1a870e625de056e8fc81ae2f1e69c4ec3ba33198669da29700866a9dd796009a1fb59bad7ede648a2cb47238aa7668829fa81367490d220d6f260cc1cb75dae9cf483e0bb67bdee298887a605291b59dc75efe40fd39aa816c3319d13c07dc715e93c41cb2e9780de35bb78eaf720370eacd3dad227abb187481f4f2599612d84ebbad10a1e61c8e586300b83a9f9bd105786db7987f0c65107384ed4cc6ac5e1b9577256833dfb8d1ed71e0d95c571c839f473bb46c75dcdb1fa34403938001c96b66b56a9bac556feb598abb5a8d226803edcc76975d558c749c0577a3428fdc65c082dccc0873d22c136ec6b21e8af749d5a5345365b59b9765801c28612a2c469e3c511629f54ec93e2485e6f877bbac38998930f254fc8abf973412086785c0ddbfaebccfd1648e0071f0db2ed3f9796b9560082b7f4d6e10597ff5dda3b2d4f9e8c5af740bf559a8ce5d1895bc0b92ddc12e36bd859b3205bbb52756348f8108694cbf39496772917af414b62c8871d4fbc92e7838fc226879c0e79312c0c606151d8d5347e96b65e9075fba7a28ea3209f2ec9c13fbe93fb75e604df6f5b6a1d6920d9c215e9c397f554c45407729ce234915faa49fe39d2f09f6ad08af5f703a60d439e6d93b61cf7018e6fce2200ec086db7b86c95d2aa8553e73ed3e52040a81c2700202568417e434d4bf25b40928a224d1c75c9f09ce743e06daed2ada3ab42d6efb24c52032e2ddac1f9db519e9055924242dad671169ea265f0a7159de6304a8ebd754a30edecfca7727c1091a36dad631b6f2a9ec0926658bf466f32011bd90ea686057db8279a35260654ebb1fd11890802cf72a2e913bbacb1ecc43bf190d15cba6f1ee01bf06bbea4641359389ee82585a3aa94a4208701da86b3d2cb0f83e81289935a840cc2ecdafae3f185c17c4a8b57ddd915f4beea37a9c078872d6f3053b5ee0d86374e4707f4b24856ebb8af946492ea05cda5991c91cd920083b345f9c6a1bc6e58b454ea562d9cd46d68ddf922ccedf394c6666fa894ff0b12970c3581307fa5e851cd1230105cb6c4ef42da65d78d24a1eba75e25a5ea7ff1edba5e942b86df12f0e324542fa1a9feb04ac59dbf8a7ff82ea0c0bc5eacd0e3351271911da13876f77aa5e46d53ab2f1b635263135fc84dd909f55e86de24232ddbf9b8b5ef7a1d62247ad0a8ec379a0a9c33fa4e5ccc6b8e1b721c5af08083bbbab8982ebbb8e60f0b4319b013e94722bac96f5f53f2e242f3a03f7c72e3b166bfc39b810d24053fdc2ca101d4f2bc6b4c0b7b5a8c3cb197860b606d466b403e41774e85e4b66944902ff211a34d8e24ffdf36a7b778bd2aba7550f577bafd42102e8fd4f6deb6f4a49a54d9ce68aa0b58630f31e54059af2d68870b6d6e971661c35fa15be05bce400c67d4768ce461d35bbcf41c9d76049daaced5c36f5eb43216c28458f60998d73517c813a8512342a88e34965f18923dc3ef9db01ff8c45a9c1aa2504618e4b157d367c3b8d7b5f55859537359b68a84820e942cd50ffb7aad5d0e3fd85ff3ce0db66dfd64e685c159d61716bbef705a66a040c747af57d78ada0debf061b8e7e5cdd2cf5157d544710ba07c06b39173954a56ba83b1928d8c2ba1f42825d9d7ebccdb1ae2aca99606623e4971d085364d7cbd243c17d8c2b5085bc88b1f0209bd2b3e0635081a9f002962da8ebd50477f0b66b3bf86b35ec8b726c78446213c374fbd7195b2144e5f09cfbf0a709769444202689a3b25c23fab22aefc5a3f1dc4172492466e4d2709fb711e75aeca745976e6a87967c3e597b44d90a861967bbb79a535caf54c1edc1781eb417a2a405af294fdd7210e4780730cf36bd9e4d32eff2891e3fda019185f5f753d77d7f14182dc0993663be277bff47bded0115062db4d93f7fc9c6adb28e2b561354356995c758626d22d2c66b32ea18625de868aa4f09a5757ff3248bd01d3f356abf115595e87a894857073ca8caef9991bf7c4301271caef60b41dcd3817adf4723346db0c4262b010afaa206f6eb615656af7142a3154034ec65a196e7d9c75b2be17ec7d48b650f1d57e6eda335f22009a36548ebc27457366bb82899c95f85651c7f593a584c84a8a28e1aaeed218402e4edb1af2c3139f2439ffb41b83e96be8215439ae39a39fbce38257f88db381ada345712f8c8cde25c064c270306bffffae7bdabed4016c7449ee67e4feb4b3dc5898032a0153cc040c8473d01f5261ec414d582c16c99ba029602d90658f5f6029e5f1bdbca211c9a47a7f3d4b8f0b6af99df29781510358dd2b3339ef6d8d7583d90f6251877c780cc3b7b8998de95c6723e93614388f9f5badd6fb768f467056eea60f675c9b1d38d51a30eb9c54b9d684dc47a6e88847d666c6978338279148d52db579d22f474a8a2f26428c844c6819139e6c03d56e3b8e7f93f6dcf5a111e54aeb01a4161625173b4d6408af950530acfbd7fca569b37f28c2cedee5072b4e14cc2a5aa747a00f9a3c458ba173fc5cf50c937e9718dac32c8b0c9ac6fdb8380672a6263b14eff15ab0399df431bfaa82db65228fe66153de6be6f1fdd3ebfeb086dd3fb4646bc452ba25111ca608dc789e92afacb7839c033675a548e9d062a8ee535f64f840b9dd891d54d54e69ac379c323f4ea83ed450f7d5649a4fe82ca1bf067a84c1e1600d97065b338552aefbe8056f6b4a083f1114ded38c060c18b14e5e4bce633b03165cc4333346b7ca04d1e9fa63622587d4d21cf481641132caf85733c1c5a939b58a6e9682a266b2633d2240c8cbb217f04fa1c0fc0a4660e2913d1fcc35ffa8f419a0b17998e0b75d51a158e5ead034c17e4015f8b87e4acbfcd98856a0ae6e42b43f98644f5ec19c3b96b14a47af04a0e87f06968d407867649d45b1d1f3eb0f6964fcb646435490b3417fd1f56e2bf26b2cedd278dca725f500ed81e332f06293386b9f5dc10fcb10c624c8fa8327233ca2297c8b46f13d5b5695ab85cb18e5f0018581b643227bca486f3f672895d9a981461f6b5854709d404ccd19feb3b013b9c4c4f84c1548b522ae779bbedc9b9a313a6f35fe11a8651d92e9bb418cd91292556b896c9c85d70071df0ffb07ea350b160d450ce5631df6bfb1d37445328da2fddcbdbad1c552b1dffe3fd05362c81bf3651961519560ddca1fa2188ea3b880214f0133f315784a3544a11aae70246567c71ca953846342446294780674fb984efd9d72133fb3ec36e6037d2a71b7c911352dbc586767e55fd6e303bb3eb4f52b93bd51e77169406b9144a85f44c7240dd914dbf9e8774f84652ba8ac37d958a73c943d81820c95868d77bf29af04b217f89619bd7bf6801d0c1f0e4dfe59c553211a9fef8ed55d9db2b3705adbae641a7d5c721db7203a580f92e8d0a3d7222039a532547ef70a29920a051da56a0d53ece66d1392684c22defbe9cbd55ce10039f64e25fa675921146d4f114af90ff4c99805cafca432958d53d46a42bad2f3be6b8bd1f049fc10a759a0da343e6f28603abc1c16d9bec337640949c800c070cf65468e27d9de3326e435b81e21c85aedc8562e36fbf9c9480a2ebe4926ef40dcbaeb3d491270c54917e97d5e56a0caa9ee392e4e16d942bd67d9e3fe0850bb85e3505b323c34235bed2b05bc6f706b5df048076474ba89718ef1a40ea45f40198f8051ac3314c13d8d548c463356334bb987ff506e131aed5f88c8798705af88a7106d0eaa625d495e37f16191332c60595e07efe31abd13cafac6db1121f83e462b78fc3d3f5a3691efd7fb3b46f12a923d2765fefed4e618d3986f58efa92c970bfb552d1a5c93cb079c18fc9e0cdd633ae2b52e81f01ce2248161690ece72d6e00543bf1a62813c56f206a4fe6501319e040ad744db40115cc07ac31d549c014ac9f42472e92ef9b43915bcf7a00331389abda315a4085ab7a764875e891d2b8476621f9b483c50de361c29c4f90dc8983d852cc97df3b406507ae4b85b9aab04b9a0f6d955bba9a3945fc649135af9f9f6b9d98fe505e7bb1980926390ffadeb78bc63354ebabac1ce93c37f796d7a3811d8ff2100ba9c796bac17b6d7e420154e45927da24169ec57671a47b80a347d1976c1870f0d905a7739a3d7d248679f17c399bd07d67158320b4bcdce0916e694475f5b9020e22a1e005505645db48094fd6bc2b54062b9841d57621f9a9db126e7b78e1c763e2ed4a588f1bb55ba93b40d137bb82f2d2b807ba3690c2959f36145a578bbcd81e4b070240f60fe643c3044d28fd64329fd9ea8a2401cb9c7da3094976effbcd633f24fd645db4ef9c8652d96df4df2ec38e3339bc76c463bf5dae7e49250aedba15fa35897c11b6b2fbe1c1170482f46dfc0102ca0f059a6b20f529776679ef3dddf040c2238a6146942288de47629a74fe0c6d861c5d938d3a8a5d2cb51c70b25d8f49cfbd1cc5a7a60e5da79254a7cf2938106ebe4467ad31ff4c7cc9804a40ad62a10b44ff24aa11d56ff9db23254b69d3dedb322072e6e529682b202c0bee56ac6a39d71556033cce0a794d9b6c8f5e84f01e86cbd927fc67c62a418226b4d546bae0c76e1eb687b8043877e3750ce6788ff3106a29ca4a16f2b54a90e2a7fd24b150cdfb6ea2f98ac1ad65a89dc1d2d7dc7fc3fa3826b412629ba0d968250e88b432ef8db327d3548b2e8f55ec185d0c7af161a4c113860dc25b2ff8a89bcba09091eb459edfc40b89bb34b1b90b23ad80b44429c9610921ffe287b82361bfab9db59c1308c2857a9afc04dc44e0b67542e5b19b8b0fbf57bb7ac02b2390a333f487ea6fb28e974401c46370e7216fd567e908749ba305c2d9b3ee4862419e7c9122731105d7692656c6c1b5cae31f5b59c0d6e6fb28a8a95d97229253cea189a48116344ac1dba5083ccc465cda9a719157f1cb0f260c1c3861c1ae405e756e5c1aa5b5c8de006cafccb8e1ed87d8f16aaaaebc96e29d989b0caaade2e8112213e867b747a96d6041c3c7da73727e272cd00b3030e7c3f614645d7263074694b3816473ccc7856bf4ea84b91c00b67a625fa8e3531f2ff60796573321b03efb578a46770a26eedeed994c261afd96b49a4ea82934dec726fbcdbe2cf652a9fd8a90cdef051426d16ae8d49268cf4feff91749be71828a9d5d0e4428194201f53f1286c703e99fa72b8b181f910ef01d71663f30b78e973293a876135ab634ae0739cb767ae0f99b02fc7f84e0cecc3f3c52e1bb17878d2620732866fe16e81424f2ccc0ad7745eb0b2f47a910c38b93a6d0ada5cfce995f5b5d65a369d1aa2924e18af2b5170a2944fe9801a91f2e3d51fb9e83ae1cbb3536353419e3afd67ef5e9d24912e57d662db312ebe4614f9fde7f26da5953f55f3573dc378e2f44a0e43d2da2435f20fabb3d7c176aaf05fb887849bf68060157074271c76fe85bf7581a05e8df91c6723e3d9440d2a60cd41a6620960ab523627422b6476f52ab0d16aaff6bd795a86e711824a05b84a6d2c1e17b8762a46b466e4ab8942df5f08deb503b21466959b8d69120bf925e0b17525e9a8ce4525a775319394c86de8e27745c7b4fb7c77a3059e5fe71e649c3b58244461c63440f493ffec9f0c755a984fbe8678f48e16177776964bd05cfe9c1df27a52ea1e2246ec89cf3ddd117ff8d7e4f8604279b1d60ef4673bee25c615f20e4ff66b7b949593c55e8de80db8567daa44fc994f8ad41a0487366b678e21ce42ece95af81787f82fc77dae185d001c2c5e8819b64d220bb04192ade9fe0d47989ec78821e084a935c8b4912840619c80b6d292b8c914c742e6ae99b4a278673c42d9cd778bfa1e31a9101e2bb9a5b63aae02728595293646871038ced3d8aa72512f16933d6a76a4f46581661d04c88755cafbcf3e80b305e07610776c7c114b564c5c6a607bddb043caff4ef7c9b38067a739f284a034038c12590d16667225f00ce077ed0c987ef34f910d94e786bbd341160c2d756975b778f9d7cf420ad51033a7694ecf3df7a330b912f32423d6c7fcb8e847ed11069ba7fa6b35db9863b0acafadffc85761f0e3907b2006be1622b1c5b6c2a3437a7277b479a359bf1d23e6e2af9ff38c8aaf77ca26a01ca89993b683b05093547550a7216e025edfde958bcd4b3374d0ded1c2a7582ca9ed96fbcfcede1db788342571ebb21b7d3272271dd40df58c51db79741c4dfb0980a437d26a437cf8767758b8a4d94450cef58b98b42e078a2637dad6a19dd8231b39458c3fa789c5878bfad454e02f1290c22496e2ffd6c4a26befeed973bb2250ca4d8b6695410891cadb069697dae994692c0543284f4de79704e6f16020065dd7db82f6ea6df9fe5e058e788173eb82dab13d98c0e5b256058bc9c84bb6c992e851e0c583df659257f3e8bc27c106d7ec29be47d00fff3f43552941067859a365ce705d294f4430af0a32294f743c0c8b4f7363a547b1957ec2796e5b1208b7fbbc77d11666f0d52c9fc3f7c9259eff8cd424c1c7b994b13e773ed56a0a0fcfaaa1129100057b374174ffe20d282afb6cfa057a215c269da6ad5247bfbc98b8253c509c4f2372adbac7438078a532029167e62fb8a8b734116620cdd6d792b82b47f89da0e6b1cff69e91fe32928477b5868e9c6170a506556fab8b54b3384438be5755ef5256d920bbe2f48288a65c841acbfb323f678d6db17f39be7f91a5537d7bf5c2c319b5b3155a3249662d882a8398d7471e43afddf87fd85b9984f86a08c5e1a314652e12985e26f72470895d777d6265a4c0eed7271262903ab32cc17f21a7588ea9ad54f2ac0472ad6eea156bca446e68d3c1d8e39425c9482bf83f22058e23b7433eaacbc05ae409bea622f79da81abd43db5b993418ebd3d082ffb3db51f026a76f08a7d09c8288af03744973579b350320c30db08278ceee74b68b6127e29c8f91a880a6d732a2c8f7d34c982d5f2c1b0b9757da445d6535f60dbc89985713465db7f08cea5e8a1c03549bf58f60b73cd01441305d78f416178ac70a267988a665953d85aa048e60c213906651143cce154a2735efd1c06e9eea7e0ec6fa049370917a6144a5cf1939a55ddf0c923d1ceddce8fa5c9f008b4d9b7b4424556f344f04b28c0686a7b3a14fc0bb20465991e8bfa3ed2b7b4fe08c474d02660f84ebe5d87054b6b0734d21f8241a0f4a1e9d7bbe1956dfbf814631442fabddd072fb4b85a909676262e07b99cce271af47377df86bb679197e658de8ed49f8045ef66c65ad24d88e354e06295ae78810701d0cae41fc457e0a141439d9dd3e6e2336977ea8a2b8aba29a5f4bdc2272e6e8a6221b65651e68aae5c4705499056e7c553d6224b7591909677431b4a2941ed97ef0380c8b3ab3ed76986a1389dd0442af50f0654284404154a13ee6f20e28bf5a407ce8f5c55f6b9bb0f6be0dbf8154d505b93618bb937a0b5fb3b55b629fbf979ef9b4d09e75995648297e28d1e7c589275aec4a32ae0500a9b1090d470a8b25c9b3694c482241b9e555845d9e7fad5fab76a4c50f974dde18e80c1f726865328988a37b33011be501b6ae728aaaf877026816cb4721d1c7004eecdd6541a02e32fa693ffe7fb741ac2e7419d3983800aadac73f06ddb22902087221afc907dfff1f52ce5b57f41a358eb39f5f661ecc56e87518524e91ad07226be49b79bd05951f4d786194b2ee58424e0dc8c12b01e9ea8854cff7a46d05573747f35c2519351be0e23ae6c3585e6919c2cb2af5972dc425b44c66e5e3b600119e2d09ad149d018826b86059ef2ed2ca32a43be2ebdc3a9680b2ab0a5b339d9362deb20ce73bc9698a95b968a095f1cd0e859a8bfaf6affe9a2dd7f9d08e1e52d3c943aac55ea77bfb1ba8c7ba836ebe8d59f13de89a9c0bc67ae67b4feade2463b52fa0e39ba60eed0e4c0eb61028da0566bc4f48449f72fb38ced2a1ccd28a5d60c266b644623e8454db708195988b90b47cd1d05e812c3896069b18e79136256e51a1da9dd4a6e6f54448a3213ae708a3619b5e8fed300230514337d4e671aea050105ba84a20569f1b7cf8f391653762ee844357f7e875e88bccdc77658a37dcc6472456ff60524013cebae0b8f878821dff776a2ae1611a0afe80cf991828280594899681714f497ab3f4203b089134a3b3e458bfe654c57ff1b29862939df893e2f41159c7a23c24ba34bd4872075d90f17372074322f85cd91f95765fb59f5373f518667cb931a03585d9f15bca4193178af106665d3a4d25ecd2db08d9248648655527f35074b8c3213ce9839836ae8c3a7ed5826a01843a7a3046e53dbecc55a0e9799784d16369e7da3d47bde42953417610b5e341fd8b00641d7bbadbb07bf67dfb9a146a8e9a62ff7ed001a5eedbfe476ded1ff1a96eed8e615864da7e64db46f3609e52c53f2f407d824ad72ffdeb79840ca8372f9f08e132f19fdf5622a5032dbdcc57c50548b7f74e67ecb71494e61e8da85bf9f232c0f616cf1653612b1777bdcc47843369f54eb418441bd53ebfc270d93e702e7ac85de095c3e1a1d85142b995a139b6911b4570b4584c8fca5eeb1057054ae87adff2629016e904f359c9a93a2d8138ce658df42f08992af537b73b327a69d709f6963f1a1072291a86c9cb92fa875f80dfe69b153234b76af8773e372294c6a2f2521da54b0c4dbdc811f9c897689bce6161ad7eb6148096f429276441e9b8e19e860dcef1f31375938207e41aaeaf2fa3a363a70d9c65945c5eb3d3f38ec81b9cc3f3aa5798b6fbed9f757960c6a5a282ac4cb18631cbd7e7415d239efcfa9187e61c1024516b58d1da90b742d633cd3710e4b280d8fdd45c02c598efa09d4db145111634e475f1bddaa9ef24fd1e2555ca00379aeb7878dffc49fcac716d65b02f762d0f674f47ddebaccbe516c9c00bf6e221ac9f3fefb3e9f82f9021ebe37238bf0d0fe1bb5595cd19a420cb2e2b2b1235da454a17313b76054c513cb176e908b4b8a5beac490ee9013f6d75a45a73fa26d6517f6b3d423bbc416e7e08f4c5e91b25ab3f233594fd68209dcd18e98c03cfee5dc7ce971ed3d654d0d8a244c2f1c9ae19ccecf266a16c43a8272bad22157cfafb3601e8b2e77ab060e6b5c060fa3a3a79654d8d55c388411d7f23ab23873a74d139471077f1061019e9044425f403afa83d08a6cfbd177ae7a01c79af2b4bc9848aeb2b3977b35922e34e77e8798e5bee2a637505f9665b83c9fba7e62e83b5263a24cbb8c973419a0432bc7bd51dc52de9e97230eb881d821e110ec81290a9f7c6e6c39884ddc3be06354211a9c216130a7fda70b2a306d88f96f4cc8dbbb549274acfea075e357c829f02ac891e9c9cfc0311692c276c71f75ac42df858ebd096b5f2686ab82dd1dfc3ec28fdaffd4352f1b99bcb7179b92ae670c3774417bdbe64114d0b62bbc6788128d527e379d333a2f35f23f1c4d5d4c3de9ff007bf7be6270aacda9aa1c18174984b44d322449b8d130017e6013a8c1ad7c78fb994c5364503409fda994202a8d57498ff1a344908f75eb0d17e4fd6900e6d7931c9ead19bde2f5e34042a5eced349dbc7c2192873828984f7aeb6dc28742b80af9124fa909bf7cb0771fc0601ac8874dd8f581013f5a19b37722faca1e21661757cd8edad4d616449ed18f9b65a6223166505e66dcb6796e58effd268068c3bb5ed4efdd51a8f3ccb12679d69be452b12eaeeb2691f12d5e5d2a3bfdf05c3145784939531562c1b1977daa8e663126bb2ec2fa87557d14e3fb41003314c8dffa7dcae2466276afdcfaee4586f0ea3add8a158d09256acaf4f8ab0f3d252a214b30d9a81ad9eb2e3b6b7e1c8ed75f40a43db173903f1d38559234a99d69095244606685e64248dfeec9abc4a334060432d61c10af440b79479d2eea6a382edeb5009b83edaa9455b27d801c97c16b60eeed70376fb9c4d03e717c48a176c044a3142c06353faae00598747c0b969b75f1b354a9f97b923cbebef0c68a5151e476fd96738e9968333152e0e0c4d7e620d5e2b06f86f65c8886228624e130a80a2d59877fb0cde87b8c795d76a5f3a8e85607f0e51c989012eeb7013ce64917172238f5ffb6939cd926ab0c4efb50b60d1290caa6ab4a76b0e9924b01380864b420476b17629a149ca2502536247bf4ea3aee4e75612c8247638d101e5b80213b64f41ceb03342ae34af0092f8825fdb9e43889f40a03e6fc5cfebefcfdae980e70eb071349dc622d7194202d4354afce2ed205e88f1e5edbff5df1e7325e02ae303fdb2f3d7c416f2473bdfbcfb6df5a520fd7547e9c4243fed0b309708017e62283ae651383769bfa084003b588e32f91d9fe7f3fd299be1e7b10d72d0dd425baf463cefee025cf840788c5cd65d4525c25c880ac86245afe3445a4fba49ab708c74fb9df7bc8b4d225e51dd03cd02f8cb66cb30ce2a31221b55523d2852b96d3242cb72ef353c433c6df8c3a7a801f532e409231310cd5e308c3bc3bf155cf3d2b083eb3a6e93eb2b82720c76b9fb4c66bb3c3f42a529e9fe9af67acc426f03a96ff6e45a68fa5c1db0135f7567ff29124f5e46025c3d34eb314e562af44f3ae48b565e1ea8410c7de9b75c4338432297317b8e9badb4b51b6a8086f3a602857014c78b8e4e1ba9e6cd3fefd04a61e60f1f6746566eb1c716ba45c67e811f463eff01cbcb1e2d84968f65c2f9b263e45daf57f46334c72d9b413aba027c140857cf1c026c6761a3cee320698e1fbb018c77bfe308aa9f85a8d7dc737f44ceefe1f59e3b7493fb87e5e414be88bc32d0196e9c662d434447c5eb2fb4b86af76b11f88bc8737b855547b127e3077afcfee7c757f936f552828d3a9686ee8a25f8d2c7ea95cec9469f9be297bb8686c052fe6edbd7b47ad2d10a67160693a057cc60fb7f08e75e448a7fbe81a69a520f1d6214a8dfcf264ed40f812d6e2a456883ac52a1795e92d1a0b76381e5301a41325cb4dcd6016e94fc906ee8495aff701c16e4a02bdff500da369cab70dc049792cfc141922c1a2b2fd178e0d3dd344202d3b5fbc05013776efe1effd248ab60d732f3a586ee6ea3d4b5d9dedcccd66c78d80fdef8bff2c7916aab06cca710e4127f5d593b72f1971887b5cf13e566236dd16d0a96a9258352895ea27d61ac004946d3fa8e237230b5c78ace2f48cc3dcc5f22ff86fc6a5a6684a90cd690c9c702b104e5a948bd0230b562b5832c06ac60d2d878c38043802335a1f77d2319ecbcd902af846e961c13fe8b581a698dc8847595780b832c906ce87061e65235a9f8ab850a97eb63137f5fd22ded33acd1ac97a7efee29787c9132cf5e92bdec6ac815bfe78bcb6aa436b008103a40f437f579a398fdb33b3047afd7dc88d388864d899dce8e021acad444f81ce34c70f9ec1f57821726edfc18cac7da51f3b404592588832e34f42c05f46221e15e1192b3744ede74d1c18c1e87ba26ed6e7501c9c7b13851e8fd13e8307c64f881f73167b4e89c3b4eb40f7b0640c96e4d53d341562d1f1a39915dd70045350badb8f2f071cbe37920343c4ef547e4cdabb971c0e780d48d11626f43e6e8d23dfeebcf2ec89ca284fa87a6974f3d8e43fd168b365eb34fcb46a07d10c69d1deaad15c933735beace0fdd5093c938f25431a2174480e304f07db6be1b5873b14229277846fdad827957d75ae9a6ed1dc21e752c16d37251c196f6795becc7205edaaac1b0ba52538fad6960fe3b7c216ef86cb850e6b37abf83c0e7dffecbc1cf1240527f7f3b80ab54784f3a9212d739faa2795cb7592c59bad8e843bcbcf5ba85ca719024ed94765829be305466be76607e2717f2c18f844dd527409ae22da9d56d4a69db1422a63f09cc55ab78881f4bd35feebd1ed47165c0bd5d1f66a0a44159ba22e3ebffbbb2c269ed3ba8b2a2b072d55ed4713ddddf43e8bc9941ed06cd88030d560f953d0c442e594d62a26c0e5550ee682aca5a9fac948dd7daf2b6e4697f704ba1b9bcd7d7e47778cda292ccb2b15bdcc7e2e1bfb35fe64de676780e3df820535813970dfa379408e198de9eaa736ca9ea715d520aefc928f14ebff18be1d46023f1d5485de355530599df85a9edca4cdd2b8fc8deb23ff155bde95101637a4b76a6f6f8d482df4db7d802487842a5e4a91dc343d856d8585d5035d28e0cafa48378ea3f4e3b3a918780bb499d1cbbb9eb4242f8b0b5b7df920cc6a17438abe4ebb0457f04a055e9192f17d454781bab7b629881eb2d304776977df0a0a2ec36758d82d68bdac4a5d95eee59af61bc8743b89557348a8efde99bc2495faf38471b08c795706fe8e27bcc3c4feeb794033a88b6c278fe69c75cbfe61ecdd594d57bb2fb6605dbb0f1fdb0332c125ec3dc5a0da7be4b7f55ae5b0da4bdb451de6f9d644938a7370041aa5129d40da8b84886c91e75c3240d1d84750087ee566a4b7ac62d4a67adf95310262d7de2f445009bd1d2832d2af4a881d1b4fdc5d991fc50c310db088b98f253f47808e951c99a7049b44d5b479cde4fdeb713a78e7b7744b67056897410c4ba4a703766ae8cb96d22f5bab430099477b663c892468293315e12722faac57b3417918eac68abf53ee1b3791526f9ebd9989b738a70eabf6a1297533145ac92ad675af6347783ebe02f644593a2cf714d49f74222004ea85c5cfd0d501eb90ed348a31040b528b1dedab6218c2797475a0191868a16ef0707e3ceafeea59527ffd3b86c4ee71046d2d79e4bce9e87ac184cdc5913850d789c7cd6147a00edf9596d614c35d8cb5e90e32cf3c25530b8f6d49323eaabf1dc26294242c4b9b767c5c8ea7344f639a690acf3a8e2450e172c65278902151b17e067df8605611340f869404f495f1e7af4deff3b3f014d40efdbb8e47d64cd22fc6c2e2ea50e03ac4e6d63416db7866ceb1239b4f2411a82674b847a5dd9749a04002fdaf18169357c9b408fa0903cb32e605ff3a6d25c35281677be4c5b2e3496945381bb8469c6dab076580367504eb2145fb665fd7d3e936cb54f40a491fed5bc2f02fcc57119e2a5abcd16b44bd2fcfc53840bf64a791e3f4b6ea4f6ecbc287f2de32d9eb43fbdf49b0c6989036f8cbe8d2ac381b309cc2bef2c35201c4f6498a05e553e1f8c72df096576f257a2892c76654d668553777cbddc3c149ac079d5c6bcca2a2258ea75e558b3de614c9ad3f4f89426affa8b23760148293fa677e01b8368961eb881405c962913f09d53b895da8481b9233ca829b1af7aca9e4e45e03cbd933e78b28b792b9a5d7456a8c4a72fb83f18940b4a65450376832016e62e0a5bca84624f6c51b308f9092a34814d786542ee348303c2cb2cd2c0d2b6bc7687ca17486c1478b4a4352b9da4fa8c45ca888f50394b5512584d913ad5afb2d45f71824bc79fc50448d3da01063899a67d0b06dc350142843410e445494549455c9300cc46130a364d2e7ac313f8404bd355fc3dada52cf3e669f8f3f1447c767ee3fecae5944bd600cda49eeb17fec9afccb0f7350159086587ee9bfbfb7ea41fc2abb9af227eec374b88c3b57e55c83d3f6d0360820bb3873a7b5bb0133552c3b72ce2e15b0cb3331f548f8d8ee54553771af4f5714091091e36ed458a655a6f58f08d802c4541d4759e6370575c28f2433058c14a4b078c239d2d02b3bf9d0f904111fcec325a139365afa39eac09774a636c0d5815e19e4ecbef847e828284a09e51ea404e5ca9bb85344cc57b3ed8761f126e2ecf034e4bdb18f6be7fc96493de0fc8b84ffb1056f803a2bb7e3e2de1c8ab337b47bc53d789831a9e9f73151c90aebe450d691deb7811b59c6fa3e3e00d9351cadd44645e6953849705fd0efeb050adc05f65ad75eff1dc146073ee92f36b6e92dba4700a7154b049dca98983538975c52f40496bafb066b9dd857680ee77d39602ee7b38741fc22b72cfc80e5024048e4769cb70c916ea1b7fc491cd3bbc4be3cf191beed165399c32e5defee0ab85d8646c02800216062a3f8ba9728bb505e8543a12a477d7aeec1b45d70a60ece59aced50e8199368ebab606d7ef7b944f1cf6b22b8c5a8ca7f73bc3440d2322a470e7c22b91a6332174d7d990519b78923a5ebb41b7625c9c9d390df827c017ff50be629759d391507950baf001155bc3e34aa52475905e95c1540868c869f2faed165765a3748988e006eaa103e678f925264d8929de0f9d5ee46d5ad92c196ab9736a08bc0f0abca93c92aefe01ab3063e1f286380d894c77cdf2f67a4a063beca0b57ae95a2e721e2dac3dea14a6a701cb3c2ae56955139946bdb7b9c60b543fa303f358f0e8d946a097d3fc613269623b552b08402052a252bf4e9d36c14ff23aba6800016448ae90c075ceea4d83a04a704c8ec5214a0eefa62e55ac5cb97c59f1e9ae764870538a793a1f6da4a619a933955452e22e3065b42e37132861bd665630eb6fcd56252391c3a4e9e5798e65ba8d07c7a9f327e59e70da896f0a8b798913a88cb7c34d5ded6e146486cee272dd376bee63c0a979837e81928ee359409dc6d5515eae70cd3fec8344e445625466286ed0f767d779c60aa0913efb17143e1cad30653b8aef99299708ee5bb74284e34759a62277d09d40ba8f1cee62fe86bb00f92bd1a2eb1caadeb8fb33d352fdaac85a9ff8453f9add33927848b07db13e15d0523c07ca88998c1ea4cc279d71a83467cb4343db8a420b01616420585136078e67318071f6bde918fb80ef4cea7bf0ae373b2d5f1ee0a7952804627575a544bb6648d7e4318b1099bd8495b98cf39b1c03a92efa9845a5724992201ce0b1aa280ffd76730b6b00e767964fa5ca6b773295941e8962917c3ea419ad22a7eee7a7e7f0cb6d3f2b5908e4331dcaa73603ebad6399cd39b5659925743ac751bcb9a331ff1ad1dfd59f1747552b19363fcc1c4e7d6ae4272715ae015813c779db5e931d84543d8bce6c689e308a3238c42f69394b1a02efc55fe2113867a8c2cf11aba8a6a837b60acb60e49785371f33b8cf4f1ba210ac55f7156564e5461fb82b10f4508c0ee603d34b55ac6717551c0ea35cc985980eeb5f9ce1553c690ba049d9027f364e692d773605510cc988074fecb0debebb5f8bff09400638c97f14d197a0330cb0a3a63ed8bf0eb87d9798dd53756c4a915084cb6544758666306cd2ea7897b8f10ae130a50e0ceb6a1739ad28c359ecf8a96476bf321c841774ce63b2fa060eb6c97e63d8c76c708f7d320c2b6102db827ad0845ec47eea93f2139c140ba89e15fa5fbca78a6c952f75e58f62993d9341fe7640871ab5e0d62c9bad8dd9a84043886003cbc398f1a34330bf11e3b79f2ce898587b80d873dacd39b4dfd228772f25cc441cc498357a0afb82cb71ef98339c3f27cb8c8813fedac17a624b27cd371a25238cecb9df1ed7fe90ad243912f8775d091d8b96c7c296d7457c781cf2992439db335a4ffe15078fa62dbbfe6e4335dec72abc2c18e0e32d14dec5feb1d1f735a9d6e7b081b14682a165fc5774ff3d5af41d6203558d06eeddd8fb4a52c20a521d6cb83b796338e6feee5b6bb48da21d7fd957fafaf1b39c6ddaab3533ebed393b955aa15a3ade5c00b4472d45fe1fc2d79bd82669b413953e25946a18f35960ad10c5bb3a7a16d153f4ca710b7dccdee4232346d890c35baa33ca5b55528dd6cf046a1070245a27a943ffb1a33a54ae59e65c86c64cf6a1c19a29b890c115c8aea569b01a19d42a2cd6315ac45caf61b4b2e9b8744a0efc838fe264e288b4df69ca536468f7903f8d195af07c4bd537c39495f945c20418cb9604c3180d808eef8d0ac5da557dc23c9305bb7992884b51368bc79a2bddd6d19fcf4451b22353e670539f3dfc91b5f7fa8b8f2f73a7b6d6d8f0f6c86fcf69efa29caf6af555930dda1d1948f3fb460cb795f6cc0782441191652ce1eb4a354e12e62a3e6d3cd6c0dc51d6dd48f7673f9a34af56fb7fdfe686608d787d989c8004103b6d9b6a0c14786915bc3a9e2153e9397a9116b1870226782cbed01eb80afb3f81d725c352dbf5bed03f2dfd5526e126b9cf1a1fec565298be735409b96db722e099db9a2f7be5ca2d440318d037a3d80336eeff4c6b55f44cd7a818392ab7af0862575e2cfd1cd9ee5243760c2cb7bcac50f419cd29f9d6216d8e70b6c62d2cc3da3ee660a1f563ed87888eec6a2c68a216165663f458d53b17e626776f80f796c16a62f19509704f0d7e78a30eb2cd1d3fae9d6399c56c30d3b7f23584aeabfa7b1804d8f98937e36fc6bbe54f404ed530951a26a989459d70ad63284f224b4373a07bb7170e379a1df2425b2934eb250661578f8fd42e5b868e7634f4606538d43ee18fc0db2930d9c4ab3cd76bd24cc83d81d4033b96f7b95df3c4c558a28d32230d46384f20bcbba155a4545312764ea221a21f1bab327a479a0285ff4765f26340cd3f9a23e1200db9b44d420527e58b81f6c7d7d1b75d0c663ef851fdc3a19dff3e3e64918d6906c09487290bff1c6fa0250a4555f15ff479506be3f43cfdd05ac8f36cb87e846ed1a04415a32ef2fdb453dc15f0c1861c3d910a2542ca1010a68988ad680002b8a8d81cbb1c72d7f6486a048d8b683cd79975182845fc553a7529648905562bdd4802d4a4d27aad2a2f9c9841295aa43a46e737ffc9d31e04b0ec0272cab53d07be6d6f1e217b17193e122d0902e9c8d8093bf2ac88e5580f1d63a677c1d73f97a3db628efde39cb5aff3f1154fc8e7911eb7c3ee1141261d184e8a6b2503f56c7325ba322314ced7bbad6ec3e19566906ed567b00ec95412a2b105d8c39aaf4cac8ad78d16c10e0cd335bf8ad55de2f51f1b6bfb4d245ffd5b3ac3ddcb73c8aa6c5585856cb689d8e8edf35df331a015263a2077d1d8c98cde7249ca5bf09e64549d860227e2ccd66ee9308ed132942c144511713bfcd87d49f107f5707c221239e9a320ea2d0a0a5c39cdf29c28153f5be16612dc8e915e6e19561b2730e120d19521b835909f3eb950c2e05f8059f864aa5df873eefe8232bb4df039dca8b80b8a697d809c9338b32be8e62f2de29ca0403b33db3f5e4915ba208aa989a7fd53800c5c43ecca6003a20604e5173048852b1258f8d747179cb835924db9496e1053a8685b1ee9be07aa451fa55daa666fa5e4a48ab8b29917fd51cf9d122910ce323ffcd376328a2d1b644ac71453d84f5cf6a5210e98058c5bfacc5547a505f940d2cdd4953d74d5723b3722a7657510801575060a2a3f3f0ebc49c1ffd1bf0eb4b0785e0901d534b9c2e55fdc6b1f140dd23efc6777011a4b2163bdfde4c02ccc102999bece4059d9c79bc40547fd259c13fc49545d325cbf06db54c767ed8e3e04aabadd80faef58be2970a9c8064e51da16eca2889f833a9b84f93a71c58ac63f07c973b75785c74b977836a9d8e9d7176ad5c69953f55dc945dc7820bdeea69f47cb22fc46c684c161d3d36ea0c6942dbc93faf0a64086dc54340005242e3fc36cb1615f8bc2d636d81ba22ea739cd6fc4aec54925bd20306dc6d6aac2aa9b40abe654e9ed31290130a7ca882a8dde37c2e5b05898c15c120152b73715cd2a94d4bfe09dc5fa8c051079ed561e229f2502d475c4555f557ef438fa26c5a82d34e9e0d68c74bf15e4e61fc8875520dd74e1d5a0d5ff638c0060ee538da5da36d58ae532a9e4a852e0d239b265db9698b708c61cdcfe449bbe04836f44818aa79743c029f6d1b9062d8b1aadc79ca5c0605993d3bd23b45d4e57e8de07c45bedc6bbb9c5b7f60b2b2f1988a1c063dc30398732847a80c248660b40458c559162702306b0ebb3e2e20dfb5d49ea4df622d5ef9ccdbfdc30c1f4ffd1bb60c7c9b24d69e93c0af7c7ac003eefb1fa7ccb144d744b49c20d17cd82452f7196d6a6e540badcdda507f3353b0f680fbc9311a716769ee3c74e4118a797ffc29bb4c450047b7b1fbdc8d79ff6c19165d30bb9a61f5429b14d016706aae431494b5e4ee14932837366ec6f35a1abecee45f7db6f6d74ba2fd3aa2ab8e484ac5412c938af027015543d54bc13abbbec51f5b47e9f16db40332bd39fb0f4dc2b079b8dd10f2ec18900a551959cb9426f42d75b05d15977a7c1e216baebd03ec597db6fef2be169a2715ecf4167c23fec4b1587e54c6f1ff74d92a5174ff307cb5dbcfca2fa723bcee5daaeffc56d50911d08c8fb85725de0b4b2622ca2af5cac977454f7932bde8c1b1ac0090c0b95edf436ff42b26498ad052712381fbc55bfa233b82d939e493c717e42ab3fbc5753f5358b6db98d11cf0132b26e2c8706ca66fe1ae73119512b7c24dc949f48c550873d5d2af105fb983ee5300e89d40c86641c4c84222fdd05d91b786bd1f0c0e08cd626b28250d950774db68810b5e8733deaa6c1db99a2476313ab6775fc8017e210d0bdee2a8b7fb0a20d868e74f4c810b3eb5bc49cd6d155a04d63c4775e797ad80d261269366443183b60dc09e0e7ecac3c216f2ee17938a0dfa409cde834c0765bebfd4a5ecfd4c77a5303a249bae5f21fb63b006021a71456e8dbb65d7d8de2e2a8334b1de2a3eb7498ae8f351d026489464290bf765d24769ce51ba62e8c1217799b58e39f9f8654eaf6bb98c01d106987073d19a954b0e59555f4e472bf0b88dfe21a809590a60d53e45dc0170eae747809ab3bafc97c1c44b59fe2d72ddbb703c20378e74201c0947e640cd9e04ec77bf4ceae9a6adb2daef0b2aeeded3d1a7e2dd46e345b4a2a846b142e0f77c511f5dfa39233e8eaa063a15ea48eed48608f5a9463df5de82f817f200b73a934740de52ac5dc99a1836210b07b273b591bba960e7c1571000543e0ffa4f7cfd0aa1fc288b6c4f04907cfc84417b6ba112ed8c265a0584c47ce7898c76c9fce07d9408e54fb2653235c43cd99cac166b89d74db5c6192364086669a8cc7c49985557aba9c12c89a2fbc2f246a4473c885c5c5bf3d4054aaf6ead8f5091c221a43b195102cd881e73d22cb6b41aa921c61a2e224a38da0469239681950d6cb220f83bd63b5f289c3a43ee287c6da15a35cfb810e0577c89d57e99736cc2e8b0c4ded2a2772ec1016cbef144972ef0dbb5cbe8ccff0331d2549edc02d19552479e6274210421feda3d85874ec664530e5d2192d9b993e14c8600c735932739f58c71c7930a1465b6ed1495386658b84c065e4e146aea2633b909a8c4e7ffbf9f7efae67b7205e35080d71659f4fe0dc39b09eba5295023c53e9fce5b1adbb45db7e9dfa0908f233142defae15e753c99c4e87871f77336a9347b7a53d23e31e3eebbeba522c25caa6c5c1f19fcf568265396da356656b3d59cfc2a5c038c41a9e8ba1a948422285bbefb13e14503655df0217f62a6cbf85eecdbd98dacb5e12b1faa9ca95f4b78d9702d5af9a8cdff35253ae48ef7de7c00b00ab17c7f722d3f17ce4979e1f975a7e57831a0aa4cc492ceaa669b8f3932dcdb3a302a279a9e5bf27b8398223b2c180ecb9e1239471d40d7926957c14536b39f8bb8077d00172ecf6b48cf606cf7baf389218f4f25fa2b7b5400acda98db3dc8bad7010c9eb625666e9a73d781547560b9d520203d765d38bc714c5a44e9e43bb711fbc3357d61bda5ff32f3af8fa2cf3a4a7d625806488806f98663f0dd8676833ea89cc36971dbb36a71c02c4d1ee16c55dafebb5dbbd4cb5d238cc149d347e8b4a09ed8250ef0eeb40b27f53a71b7228a7ec509d9aae80387ebfe2c09bf63f59da1f2d0b028d94c1722838103923de88c5603ba6af1c001f3165435d17c2449451d2f151ce19295a6f6ee030c312deaf5894ffd43a87b052bd313d87c286692fcf2cbd334d60343991576e05f885c58b04e99a3f924bbec29bb72357dd54e2937104fcd3ec3eb8e7ae829d1192b4f7ea1b0774fcad2f3d1c07aa655a686793a242d6c59b421dd70c58c4ec32668759d755ddc104bba00107219f509deb10a7b2115d2f7364db2cacd888f767256daa6352682fa0f912a701c6aa465b64b617764ace818f09efe36ac1be532c02c6d42dfec4668685989ce6c6b3e845be37d67b1f694f0f01c6466de04be9f58d2c9a14ae5484acdc3f79c07471bb78c7ee7fead42c168000478f46c6b9455d61cbe4ef36522aaa66b278103052e1eb4960655fb0a443fb80e3ee1dee11c851b9b1886e665a1b85e68326bab0ea427461cc813b2da41e24d05d4f4a65c2e648e2053c17c88ed397e0c99fe098bcbeb990a099c7940bdf05df74c181a0d784625eceb17bc118c516f68058f3328ffa427f2412732ccdc5c4819dbdb9c75bb97b4bb418c38c2598345fd05e23588e6fe8328ad4a18aeecb2c1367446587175a2e60dd90e4470013b6a77cb2d9ecbad066c357b5c35ebc3c0b4dda9a1d33c775cf13dd0524f3b0cc7f4e5cab907b7ae293e97614512dabb94a9c87b145c35901ac68d17147c8b82c861a9f8a64264e051e312eaf277d1ce7893cd1bf478b2095f2801835d016b21843ed3617d0c051732d1ed67517f9c3ed7ee97a01149605df4fa489f9b722d8835c835e3b2bf3f46636acac32b045a91fb2931bed655386bc03fc904d6f9d8eb0c5a745ae64fb8be0332d3434370950173b0a4e5e067cf9fe50428ce3a2cda623a5348f46f68943b1b7e56605bae31465d469388c278173d00c16059e1bef5bd0b36c6e52770e0e07282f2be51db6ddae5a9886984c3458639b41ec83bb85953a2bde30c6d8c90517840f2072e4ecd9745f4b445892ebf27571b9ca72c814cb2c34e3908ae1b440870be88f034fab1254d27332d000801cc5cb71b0a9fe6d2b5141f4e20db731ff8f453737f011017d6aa90c95994c17f036a4856df5cad599f399d6de0ee85e266052148d02db1f4ae95bbd5c81d012dc114d998bbff2d4dc19b3fbc3b86bf940f9d6845bde97a73cfc62c5fa611e423ac8991ce8e4148333b703f7dd71f40219ba50311711ce645735a9e142970fb22488d8f619a9ca8623ec9c489e418fd9fec868811c825d480a31f7032d2e19945576515c5057ccb40ec3aafecb0dcb04bf0f5303d117a1a7540fb0b27c0b8bd4382853e6cef00d3beda192d105288a19f603c3da7a7686fe044bb5922ad6b0ead34c6bf15b02df5183e1611cbb8c464b7c11c4bcd807da484c4b09c8430d17113baabd785b95455677b14555a3e04de979fd5eff0ec1c998ae21d16e1ae0cff62a505eaaf46d74509d5d93a8de366866f7d9179d1e6312164f412426424ca5f4e049f8782f27ba9f47899726d8e22cbba6e3847f56d8c26e6ba9396b73cab0e2a1d68215d90dd42bf67bf1a744b20aea684209c3fae07c25a7a123bf7911b56c197325f7a0b4ea1b7111dc61a1d10b1cdbab06ad52578ce24653f4ed2ac378bfc750d71c7834b485d9452b3cd8534ce948fcdff488a6f10687a7ae73a2b9f90f90847fd8fad016a4b412d4d1e23ee60aca40e1fefdaad9488206d4734345e2444b99400d156d0ffcb70b37cc48a83265c04b744e39c0f03fc4d3ad8b0bbb319f6d11ee4799543447c8e522103181944ca2350ae73bff677ce6fb49293b4933427c188cb0ff09a53df5832a570647c0aca410c07733ebdbfc63f0d783c64e784dc7966fa2daa02baecad26f73861bd2e94adef9f95a976db15fb81ebf839fec6a2c10a24839f831fb64d8a3d5a11f57444ddd12c55d469592dc9fa4589ecbf8f5d204c0640dd5400e5e5db23d706c45562ab6ffbe3354c3730125c68b27aedbef79491f4634ad91cd772ecebc47b69aa21c42d25d4ce122ea6db3160227db17a08e5236479fd0598d1cbae70a7c141e8c580368cd4851b783222e0097eb38727ebfb1506673e4c33adb33e98b8c962ea646719325b16dfa9f398b35be034e4a6efb320fad04f8c7bcedddfa26a91cc4c550fcab0e921e8dd6db7e673fc5b2d0a1d05dad8d5b6a5f308fa753360e51f89cc18b19c1ddb78e3a6049de2b0ecbb454839bf3605d7a8d662092e806144e087952be04729a00f8b87f256a0011145db130b5b3302c55cb090caaadd87e77e9a4b5943fbb4f82405309292d39d48a2d4b112981a56ffdc0128b67a81f29e0253485157f853efb4db8fe82e3676ba1cb70ffb2940b820e87a357ef794633e17919e5e59b783e0cb154379938ba286b67f4ecda3ac96c19acabeedcad6d4ee78806ad41beda67e1325bb434085506e1fbe156015b87c0cc121abe679cc596f51e5ff9683d3d62645b6fa4c2c4058057066174c08b93a1fe167a61ed67db14395db44085a9edef2b26c1eba0336d453669cf039b30ccc46b3fb27235625bef0f6990b5a5d9207007aa32370d84ed340d0056b420d18dfed25fd249cc616fb2e7ad99d395f64fcf4a4d390e439f8d4bb8f0be6a3b50502a187ff3407ed8a558a2fcd737b683f6173e9c813c1b50d45f4b755056a55647461ba503de3b935953ab9e960f4a21b11abc1ee888961e079335bf12c97eb64dd9ef667bf2039f523fc10a4370298550e9bdd478aa95c9e847f6ea95cff1ffb9af12c2b92cac953f29d24325385048d8e3aa91fbdb427bd82388eb4f66fe907402f885d71c08cd711ab334d28e855460057bb486ffe12051b4b10c787278c1595c695d9d0320e42e88e58c17cc42e3605a956291ca2e93ca0d77754193fea3a45283933eb47bce8bfd7b16348f49de7bf4b90d1cf8a0d39dfdc7c4950a1367cf3d8ea43082f7e7ac8c2761ab2d1bdc4deab85c050e9d0fa0eccc1e1879319e970577c9e4a33557ee8e8bb12875448c1e5ccec11a376edc3df7ab2b6c8b988a779229862e8400dbf9c471fa02c6f371c3699c83778c066ed908181cf135d9ad1c08429475ba2b223eaf0bcd79bcd36df87c60930b5d68406082fc6521ee0bc3cca09553e92b4a96fb5dabbae063820a35dd3acc1975b9a0b1af8b21805901ba8e253a00cbb37b044feac92bda6d316015c41383fa593462fa3ab1f8c2354d385ee4646647225f778a82c8c27ed733d78123fbafac27dbc41653cc63d28eabfd71c3eb2ddb623b4d1464ea07e45de935702b6020cb411092765e7cb33967efb2b491c8ca8cf8152161f8bcfa200cb3f7d01c9c9bfeecc282e1521b65e847d42783ed85c55738225c159dfc9c357799dc65f2c755f4520aa5a2045aaad7aa3f7d766caed6c0e4ec14b103eb6f2297d2225285f56f276ae09525a9f2675bd868ed706270fe179154bd8507a2041345face8d4e56c1fc0784d3b4cbd575d9d357695d3d1ce32b0d0bbaa61ec97c84bf917721e382d5072707b60b9eb89a04e13fea26f73019f0cf47ad529fd5b6b3872df38245efd43285115b7ade539a8b19ab7a24db8490a7a6d6eeeae3e6a0396bd4cfee8ae246b25fcdc526c06c3f2bdf1b036f69c8c712a3633c197b513e3bd00b2498b8469517405f986e3fb8c4bd31f7973e3fe1049d9aa1981757c0612c56bb48be00ee80ba1e1210983543e8057e3399cfb6633e9be28a4d7e11d4d26fb20409cf928781972292dc2dec3cfdf33f471c49472f8039aaf9560f4ab1972f646bf664ac0b2f16f2306ca714c0a5e9a036b052d9ffddb070f53846bf6ed8692b187120a1d874b13fdbd72856d6fd282bd5740d10267ec1a745de71b5d3547fe5583a93c21333bb10786a267917e4daa8d0882eee24b0b7cb4b55fc942248427f59e88f9727cc93f0e093aed05047ce8a3d94f4ae2456d60d0d16ddececc04afe62ce2aa3d055340c954787f0144054e98e741c044cc922d38ae201bf1a319f59bd93601111897451311fb80f0918e267f6a8fd7e7b2cd3f92feac4c40bcdc9da0c428d35bdd368a515a354d1bc633e97a78ad249c51350c34f723c13f0bd3e7a703ccf8e8081440efc16ad6413e1bb67dea8f64894cbf90a40fa26a2c3fe312f4e2a4b13cd0eda3a5da1ab922ba51e0d4cc57161ce82d3c9ef429e835fc0110fcf7590b99cecbcd6fdbaf6bb0ea8ab701820b6b2ea399c223a0e552402c69972d2675054ca669d0dc2e6bf40a11bfa92c4e22268dcf19177e4b09ba2049233311d79e0ff113f636697f66c7c10fe1b5154739352b53521b0868bf729d188940c6ccb694f939bd7877b16fd35e899cd7a11899a3539c34b3f040ba6f8fe72ee34e4d0ac813eaacf8b3f095ac157eb18f3e05797e2c660c573604c14b579ac2f4ae31bd6ea7aca2a46c96d29a275966657c3a311a67a0b97fbe4c64424066d58faae994741927b479c19a0ce05a8b338a90f3a303f4721173e4e37e6d26bad321844feb0f8a847d0907fe04e4915fd90667c3a94f01c457924e7c5062e98d2f528afb09ce1b37bf70dafac4cfcd815c99d3baeb64655603ccfa9de373975e1dce9f5aaa320de599caef8ef80d920325e18af11cafcba8c3fe0d19a6c4e701bb014ac7591c9239c608d2094f44841de0667b94d172804474e236474afb616ab4ef1c53fec6011b7047018720431665449597a7fe0ca75329515a7bbfd5477adda96283a80b1a3297f05865e595714f569c7db0a2b666848c763c16b9391cf3c89e99246b16caefa70bd7117f84b7f9780911f442a911a731c3292e37e8146003e84ae797d81a60ec0bcca9fb30405bff0efebe86366cd1c3d0902a8089c73edc24c0e8f62ef89d4238fb92968abd9291276fbb162300c02427e06da179386a4ef65ea481f36b387f2e412582d6f37fef9e5a455f49772ae8887a4f147b3c2c373db41aff48d568bc3432f386941cd832590b0ad869cec7ec9142272be2144defca9ad338fd4e03f5a0491123a154a2d39d90b16ad8b26ee93739050453d6488fd806c375f5c600b0f870aac76145499e805632e28c957793532c9e9fa44d89a905dc3e42a295deeb4c8ad5ef49f65cec554ff1e00bd0d0588a9a6d57fa20dc2909ef66b9725f0bfc08d65f40b35fb03db0d60fa586f5e30ac6ab6efc89217fe83de08b8f978123e7f66b25972611fa41d0d2871b092f493a7021d751216c03fba05686f6f1ed15a27819c60e79a8196096fa2aabac51034e05d2615fd8b998a2cde3f730cff571d6e914cf61ae2e65db56ecda4148c6388b0992e39204ceace066142ade7a7b15d9e618d316eee777684cdca6f0584bd3d231185fc7ac349bcc7987fecc7cc3a0a8e417e95119cd277950518a43f73e2c514f0b8cae14467097f297420bb50a018293642516a485268f304d71036c1f3e7021507fbeaa3378d07eea26dcec762f68e47c2b0d38903b2c466611492cc147f5af1b18b3ce8cef91686660338c50828d3c8cc6ee897ecc09e5a0ddd9d19efa22d86ef0f00bc3f136ce6e4485c201b794f894ba99bbeb815f7d0be1be109b9f8e6cac4bedf4e4cdacdd59c27403881c40d1793ad86f6c073f53ad284034452fdc881741ecf0b601d8fd2073c50d23766fb26584cc3e70805de9a1e088811a79d0ec47c1acd5a1bdc2891aaa32ba542afc3d38e53bf3c8717eb857234369ba29173d0eb61f9837289e679cd859f1824f8404f5bf71368bedb18d103204b9cf0470104e00c22950fb5506ba1d392d1061283be8011505e326065f13e26e323cddf713712759c27c8bf1df9f45ae37fb31116f5dd3695e5692fcd72fb33877ee2be44b922a0acd954a67676c38032725dd731fbda04359c2107b6bef1228ea6ddbb63d03892a7b3f8e98c71e41acff45146694436f224970a131874d340f45695c3020f47d3458c77352db2be0e30e34aa99cd9d3cd6eb82adc1c1fca4ab77dbb9644eef4e7ca00c5cb53a65cb808429adba2e282736bda0f04c193316c83276bd48e6457119bced4ee53eb7b37d9de68136d79d111b9552b5dee2ea472b99f60c0d9f2c010b1e1fbb1072eeddb30b186caf5beae16b7f39572a72292d53fd1da6b4ad74b2c454ec774c8910c27ea098393964b0cba99ee498a9172147587590dd66baf2259a29ad7130961484110164bc63d6bdbb90e4804c81ced3d99611feeaeb040c244be722b5cc6c072cb20b76897c4fe838170ce24dc3f41e36ccf48a91e65a4e4dec23d6897e96148460691823049e2c20ad50ebc56b795173b616b3d52078d25c517a7357fd83a3538eab2dec3d397a0a786a5cf3474f1cfb303170a4607a0c70fbcda2a2021aba94eeed185ab062c45c3f20ebec8e1b58143cfc71a733fd398444484dd4cf5db572384ae153e0ee729d4c64fbb49ea639c22faa8466364b805f2941eca695e7736ceb582b2f63b0d3a6f08a5e8639483bbc88d15f870f8a95e173e1ce35ab5e9d775c83f4d4e754e7d8d67585cc7a52866e2a1d2a842b0a7052dbfc3ce7b6e3bd8ac88a942443c78dbeb3379e050264664761817459801c8a1c8d7b4dc975f0293066bb22f76779bd95dec8c1ba82342bad6f186870001c9f581b33c529974dc513901518649820b3c2c332668c5c68c924e3c07895fc0c7e392c038b5a84a6e16e2dd7c588274bb6f28058264e579e3f16bff7db5df4b567b1fa01fe189e873b3cac6484c5d2a168b3cabdab534b768a399e5aae9db0d720ba54f1132d7bce1894e29dab84e4372442149ae96a5efcba876dafb2fa3b6f9b0b46f0a1860218f7e959fb664efc4092fa23e285323510de22257ad99196ec4dac4058c29af201d8c48291439f116e8fdcd2ec2fbe7bdafd4d27cf629b6fe5904cef145f632abc0a779fcb7c89c5879e8b1ca338f168b9ab682dc7ade18ca5526edcb58705f98b1bba5acad9d3d2db3b105b19fca4bba147c242d45724b2211aea8907d6317f96c904a82b367a39fabda1a81374a15b09c5ca5217eaf48b30bd0136648a0709f340e4f3b0c6897d30aa3e304adb7594e6d7ddaf50cb579bf036e6eb8c63dfd6c43b5e94ccf2cec850302a3206b92dec850665f284cf92efd9cd15c70e543cc4ab95ea5b20d3154d9f869b3f3c76f454554fb6a3cd63ea035f988e85c18f6ac4e84e3a70c2b315d5a8458131cb1c3a382b22e08d1bd215beb19c1a7570d105f985d0d65376b60e5a404b00de222212082dd406ebf1eab7d2714c9c3832411c5866bea3627c2792bda7f63cf5acf298443ca0db559f542cce402f23b4d2d3f7ad931192c07342c840d950340cfccd984582e2647a3173cf75c885f0c796f6144bbea0a737b52fbf6d46a9253ff0a3b761a1d7df9f4bc9aabe71ad17095cdec8894d28e395881618e087f7410d6b58982a718c6d245ecd04c7f3336ed3bc76a91c067af8dfe5ae84dbcef715bcbb3d8b127450c68d3af592aed420d7944049a423120f5dea35bdd7f66befad57f8a371110b2a530422c9f59102726c1edce999ed16b4e651848898174d60b5906077f469b3a92339dcf8b9bd4d74052484d0609fb84e968dff06b981d9181d3fdaaa4ee2646aefa62bf5c18a6e7eece924d0d2927eca77e87b0533260deb7896dfcf6d57e9e7fd39080cb0d8c488df9cb25ddd42a72417dabf3ae5cdc99837d4d82577e4b9272e9535ab7ac55e0220caa671eafd8e874e5d26adf727299fdb1cfe508de24222f3ff661622190bae6e263f650ebb9bbb4bd74bd6d82f76a3c10220db407282f614bb7d288c294804612f8a621e319205f3aa1a176dea360f1a094b5fa737ad8d2b012ce3bf0a3536130778022435f7b3dde8e74a0e655bc02abb0435436ebc820baad466eb8eabc1c158ec07f14e0d23fd9c27cbc93946a2f879913939d7770b522d2c5062c7f2a0846705e6815c957c13365316470fab657c0084dcfd5a8573ddb6e397268d87aa600241f46062b96ede9be758af361698de26bef72aaeb4f98e6be7a894e5f267e2bcf6f7803b17f9b501f64127fb4ec09162d35713a55120d4ee7df035928352cdbbef18f096071d94628528b02de9600874f5e3cf183fce9bcdeca1a866d30ba24131834b35fe5fd29b589b13b28ae66f4a5c98e435ebd58ffc162e3395a0a8d0084e165eecc98558a33fb7f35d27b94ae636c046dfadfd70752b6f33e21e6f28d7541da81d7d1abf7566cfae84580f3fd64aa5d4d24fd360b3e63fa2b2916258abf574f36ceea5486751f4b0bb287ce734bead856617dab17a427ccda0b2ad1338e7e474ac319dcf80f7d4509ce7bc6f92729f8a67df05ca768dbaf5a31f1d2d0e2fecc676e2a74ca50d1a5b5f3518d08f65b4b2644fa306519efc56d272e08d373d21ad3d26a36afe763933eb762c45c170605f2c775d291a9ea8162c71cf98a32ea5ff240c2158b5b64364fbd36a792a181a765cbad6027e819a080b760a6b8feea7fccfac57f98f42930f45b98ef1da75497176b7064f0989f32540469776003a370a8e4d1865c427afe82e3b753933ac598ce535e66fcc7f131a5627c6cd9f62c202c9467b566c99f8615f53dffaa1f7f70ffb6af27e26639b2ffcc48cb039d779c52fc270e9fef4f68ccfd5a442ea06c43063dfea6964034f7b41572bac461202f3c8abf60b09d66e9339298ec66d1dedd9b41e352e5793148fbe3dbdec70d3291f896d034910ab69041ed974ccd40ea26c272046f09e16a0ef25041e1a8cca5b13fa308ed6e4451eeab276e52936a365d20ffe59fdc0462d488b7b660eab97312bd9c5d0be6e91f23c7534a607db8a955fa8a2114cba4252b3a1923f37f4227cf8528f8fc0bea569b062348260fef0faf1ba44caef68429aecba730f9f93fdbfa92bb053532460b18d0807ae1f6dd4a39d380bcee8e784670f999c17ed02d16dfb06741a780deb0fd31dd734f7546ec0c6804caf7435c6cacf488390edc089f357be41ae8f8a16bae16d143690341af9d3215c35f4d2b7b7a7ad14c80af3ce6364f55d7ce1dd5302943f56e59284ae2743bd771ff2146572b11d13c75b057e16e98c5d5a8eb9de71629bfe8c76a31a06c42addce96b3572c8974cd2404dda87aa7d97b28581bb440847c94eafb234416012dc117e3c600fab58b7ac2ed8652f5d04cfcc3ae558240f5d7d35d1129a7f4735dd9174c23c6a0cbb82cc79189e7cc5d33aaaa99400cb56f3e4878a70cce140bc6037b8cdaa7fc237980aa048e710d00930804ee924e38fa295364e75bcc17ce33666bc710b155f362041553967a37291fa3b42c97c826902a0446d92305ce2ad7089a8320ef9ce775e122b78363ec7119c192c5377f3ec3e91082ceb74dc37941a0f33771469518b7079e09aec46bcde99a8e5557a0b70a7b116fb9c936a502ec97bd156496e76d11020523ae29f9ca90721d18547babe6e8daee772928d03a6781a24f50c52049fd930bf37f68dff1235162ef7e0ca661a0dd60789560346145d109c40e47e05df5515d6db96dfb4b09a57cdefebbc077a8642027b094e86aa12aaab2fc8c4571f9c5ae04dae2e9d96b85928814f9bc4eaaf0dbf3c6f9bf9607d41097db39cd76a646abdb720ed0adac8b822a9f13af1e72d05351b9873325eb61fa3a60ac419ed342a835088eaf81a86bd2942edf83bf8b91e6e599b89e08d14b201ee80a3577bde8e9eaac4037abaa9f25158fb25eb9c6226e6b7aad8f87c354a65381a60ab7de646860f92741761845d01769765bbdc878d6bd39dd723cde962ab5cdd22e4a8f730f389966d8ad2b3d24a62b7a6b922adab5cf36e49a064a552e67468505638345fe68af824781457feeb9e7f59a61274a067fde64a3c7ce1f7ba2eff216044b3430ddecc8736df9d166c40993bb2f91029c0a299bcf67dabf73c2b05b7b151a4b85a9514db8f0e9d7d72b957c105e1396fcfd8300c0af1450c956dc28a473995972375ae9351c60f579e996cf6420c8c9aaad42416c792e357ae8b98ee7cc50cf4d008c1bd47d142e2b9494901d62c5ba5a867ca5e0ada678a7b28d795c452e1226584206bc927e6a43ad22c8ef108df9495ade4f47953e9b3b3d5e1ba80ccf4bd89880fba94fe5c557519d211df116f622233b7b7afafe49100c01535f4175982f14053ffc552dedc937367fcbfd618c0bd6b4ea2dea08fb715621c0d690f43178e3a0ddf3f152da2b4ee9fdaed63fc5b4c57936fa0c8123ac6a0436f1655f176bd7bb62c3e8710d307c88a80f0c660b0e8ced7a6d8a55e15b4c8d36cef58e7f354bf977973ade4f8a0c5beaaede39bfab5fdadae8e550bb4c9d9e8a1250e33b791d99163f8f11efdd64f027e2074b5e45fb66d83089a07390cade1c3eb5f8769450db087f54e0f96af42a6dff72f4eff6c97b1ff527ed5cfab2693aa70eb5ce4c918649daeba216770f60da35dd9733ab095dc8e96cfe4f6153740cf309730a8929cbb8ed09d4a8f450870156a488de56fcd51cf31a7f43e704547ae866c205f1ec01df83b0be5df2f97c1c163b4c43e5e936bbb52f3662fb73bb080b7bac23b9dd424dad8cd4b03ff5f97de362fb8ee9a2dc05a4fc345281f6d3a2130452d33df6506ae3279428953e600e451a1a5de844001fc0b89667c9eb56fcf35af4d99a32e7ef952b8e772ebce390b20154f3dd744d84193c708dac79396f76efdb948e8a6d229a6d70aad8616730b8bced373f56788ed1444dc3313a9ff14713bf3e2b1d77938dd645fbb952f32ef520ae404a8d24ee04128d0b582db96277bb59b866a55a2b2b86615855f605eb8c4ca8c0f86d176fa0ea67bef3e50bc152238102cf27080fc0c31d2a53e07711eb4add930fc55c75fb659064710078dc69586200f0c8b6f490afcd8bae87a6af530071067c6e3c2be5c6d2415e8a0e6efa1a799fc107710e80c2cffb0592942f363b4db2ea2c38f94874ec2b7555b76e363672383b7c7e875e5fb98d40928d58877a4e878f0d14188abf911da7c1367f51ab2f3b64c0abf665d9d5a9913073479498fb8b23cb4eaf567cf5c3b04d397e06731e57a1ff7d46f945000acb8428bd9fd76fad02547aec5584d6edfbba80cd916e833aa8f195f091ccd28e3e80831b738b63a75209ab86d46b4bbe1ac0b1c657deece2c37b4abbdc315f5211938fcc520d9e37526d419ee45fb072fac58d08a154dd3396e84bc606840697e004ac395cbc688864295062420a2da8ece9036a6d9add1c0ede4ab827f5ab9cf698f7e462411608c3681e8fedc15f4700c2af0bbd71dab1a20c0920b2c5292618ff80f51d23c4ff39e5ddfd0f00408270acbb8b68164a4ddb9caf35991193c468dd0c5bb3d2885b7495d88cf7eb413518ba9866a5cd4f1547f9b029347232ba2ff387734e1d0f6d576521df4be15b18402953853bdec26920409069efd20a4257d4ad4c6324a6105f5ed1a89db7dcf421040f4acc85d01bc4f1db38f4f7aa5a5a33b18e2b2f1646e1a3012162834fc7eeadf2132d5c445c6d885bafb3b317568f6d8d9be9e5b2acd214e23aaaa88691a44b26b1ca9280ec827c20ef203afa03ce16f27bf684b48133855f3bc4caf75be29b1e68beaebe7b184443892d3e64b59f7ff9b78b58afc46b2ff649237df7a50aeb32f0a8b84a096de585737a575563c938b14ab4f4a982d2fcf579a7eb53641cc84742f46c3002bc99459d13a961f9a3e51128c82be59122f127881f09afd1819a2cdff842d6d6373144b7f1a466624b786c45334d03b2fb1fdbc9844b82f155bdac5810eade21cdef72a26514b212042ad5dfa97abd9005dfa7f7164aa5d02c8ee408c2d7a404ebd239bd5e08edf560e0e3c926cfbc2427f0b3ea9b45c2645ad2791c09e50954da9eb9a01017e5b6c849d6035ec15607c84d38d66cc959c48b6b95992018fd2e1301fd076b17018c8f0daea4eefad1f3ebdbb2cee7366716c033c9ddbb15fcc10766795dfb437f6434b0e0b8cde39b4e63a4209ca53dcabf545c002a3c095c654c0ad14c1ac37bdd12d4b820ab5cd7a81ee5dc72a149f0c9f6a2a24182b347b5b049b869ea3f1bf6abab6faebfc9615173c923fd5bd35fd2e935bf9e584d9039187f125029a98c52fb35fbba2249e8d2e88339b7ae44665be43c9cc2c224fdf8f54d1c6371beb7b3b119d3a2e7eef15b88e87bf4e12f1b2aead474de54d600009680e2e6fad545ec4616ce71f327d9bf097db7a9470b73fa6b59ab6962757f701b9d17c8a5ec35c1eb077e6720b5803d0b8f8945046a9577eef2f7b2bc20f490a1eb1476e58fb633c538e4ee6de38d13edb91b37734100f3730bf3f1c50ed2a62174a94fed5de026dc18d51848fd1fddd18883b8ada03d7ddbfa7d5a6390f48f397dcdf88693f75e86342793f3992c051b527a00c270cd008d5e1822becffa925c1a76531f0bba11a80037bd5d676793108b46fb0d78d97db2fd1ca6b4c5da5eed66673b11ef19c7ec558d93792356fc35e0dc810b3798c5fa828acc158d5b2925bbd1a0f534e86660447b90374104653471df6979cea5787a873e5bd75347274bca32d209053f2bab45358ea52556127bb7a98e53e6908b07b3803cd0a2595b3c9d319c492799f762bc51063d22b804f50eaec7cdeb14f918aa2266353b29b0718cdf640369f9957af0d0146b74bbce1a43e121af60baa0a883c0d1e513dda0c7de3482a688516327436c909d126a84c7164bbfcff2e979dc127a4a20cc7c7a68635a00df0d937e9678346bb416e05bc41e538cf65a8636c093431cf2120eb6beeabae19aad238019143418fa5bb4da5e06bd54d0d1868d75b6bdd034f26cab29d175325870a890f583bff76e865a9e9e2b742f2875a1f159d9c011539882ba2ad29d302716516f5ad1a024e80c72d8ab411d78573847b77e562143a1c688fa7b783616d22b33d6930c33f97ab7314162423b72d19f1232478cf7cb97ab261b40ad44e8ffc4613d23181df9e2e94cf381909425dd1f435fb3a6f1eecc619e110a8506d324e587aea0a7bcc3220e4a9e4b85c2276a34f5632dd622aa00e548fd8e73fbf8525ada2d20fb3f816acd1dd7d60ea19e6c1e759d44eccf018e0aaf952832fa043625d5be9f0a5eda2fb767bd0db1d5668189cf8efe4a9b816a1ba5b5768d14caee6468b7dafd01cb07fb397ff5e0410398f21faceb3f575c7f52035398eeb5dc44c500b0a0814d158e06e163e59ddfd22e050cf8fed3faf72d79e482a27c58ea54029b35db8cb00eae84c78f7d833fbe7bb12a0c63a4131bec8905c8f1d9555811eafb4b596d56cd4e5cd69a4a3e74198f4e8c6d9438ee95c3aaa551ff3aff189360b2f66b547691767727cbd4c585f1657b7c6cbfadd9d0b08f2a65d934ccc922410f23380d838834a006d645cde35be412ec64df53baabd5833b643a6df7188cc4d18f98708cc04c02438a2ef36220e46137ee4d567076c482f8f2bfdf9ec5b7ad6938cd21a73d486560b77d52ef9cd7a5f0bdeb34ee1da52d6e3e64d4c3828715ee60d778a373e35bb3d040c4d6a3e29480037cb2e4d7be64893a874b563bdc9761b1bc293edf294ee728e41afbabbe59b045710c5adf92e70bdc36ca0c47937e274be8838432f1ad9aaf3afec8e33b12b68c39d0c82eb32ed3e1ba70f46e0886ace13d5c53af51876440eb763c59afe52d0f274b71d7e9c9bed9a5f69dd06683db2a6f6ad7d5256d7e6e04953d1dfd81ab897ef471ab77ebd9622a16c77349cd7329666f5b0e2f757b99cad89de04fe2ecdb2fac1f4ec77e452aaf30a34b652f91faa2637ce9d240232cb354e75d54f43501f46b314bb71c1120b9100bf5e2675651987722d5ba151150626a7ed73e8a49ca14f1978773eaa70456b359a30ab1ed0c62557c087862b30c7ff744c927276afea454fbe8ff374005a452c453860cc57572d7ead29adfd4f15747ad6392067d28af4f7bcb1425e0d2d9f146e1bd3e8660a9281015e0dbafa8beda6d0c6f310c140d2e25b7992a24afb314cac806a3f1c67aa5e160c4d587cbd79b5cbda239db13cd1dd2195f6e5300dcda8e62b16b23960baecbcc166b62484423b4cf8c6ae0ee43de5572ee560133a3d31d23669c5df44892fb4bb961b0e60315c13ef8d45e9eeb063765083b708fc2d3970f51b2595cd72f70924cfbb37bf7f72088f21c1066ef04c19933d599412a723fb8755bcac7f5d2ea0f03a13bf794cd597d995b6890de9691025114b145cf99111b08629fa418f805edff4a7de68cbdb0a5819b95f164220175f745edfb15d921192643ace522fa00f14cb99141a4ce82c38663d57c0b9ba94dbbc418caac8c7b9c88a3468adbb76f9ec9ab04ee1ac56ca0007abe74aba04689a180068d04a2ce9b244d0d937ccaa4cd453185d576e0a17844a84e06fea6e6f9ea1b1f6a1594423e845f3f76a4d17420ddff394c7a2fc9523334295327c29d489a4c80d939d79e08094f3c732ef06f20b994f5c796adbfa8eb75f76052506ec849ae73bd1e207bff922b524b358088d3e7f7d372674c98ee62b31fc28b0fef91df0f1a338f9fb900e5a70e5623279f4a61bcb5291c493440d8bae760a16efbc840683862b06117200bdd4b224625ecbb7be05c948e58361aa4e26a962ac57899d565442046c255b596912a6686b21d242aaaa858bdbb197b8d176ec0e5bf1c3d9fb9488c0dcc023abc1c2a599fef110d231292e10a7ec57c718e6511285ffbe04a8b7e98d311b9662bd563a130a8365cb72722cf9df1893aa2fb3a3de004f116c3aa75cdd42630c8413e032aaf0cf3ba738fef0eb521021a6998a52c331aad0de0971977ad51378c4523ffbea2136b0a9f1d520dd7c4ce5d3a72a21f3ea7af81f8068d65068a8760d7718a766d74f29fc3dd18304b6689d5d4c71cb33d79c4b65a0993ed0ba17a83989d87129cf3c9439fc8a5eb6c283ae4fe4a461e56ad71fc48a3618d84d2963475f9a3594fb56b684957dbb868027bd9b5efe693ad23d455f846b397254cacd00d4c07a46239385a165d1688fbe3909c7f6592df31f2ee11b3a7ea50dbe60e52774b61d9e066be056ed481947c08bfed5b9e8640f479791be0ae29935d01d024363db7d76a4437268697b03c5e4ed034d1d241862a60fc5d378e1f1a35eaeec1c2c92230dfb41366810545eb927981fbdf777e47d5a504d6bb07ebecb22f442014cd2502e291f8b71d72e8af59f1db2612c0c5657d3b243ec0d27c6363a79cef07c0518fd553afe0b1527a1b229f668cef0155e6b9992567823e876e51319a16b3244d0d524ce5e29e2351358e19c1f4271530e3b10a06378431910cbd90ce4860c2d3e560098d06d969fcbfcd4b5e73f3f6e48b5dca79434a17022b1a61aca2b27da0d20a64a1daeefe121e6c001e7b3bb388c8101109b2ab42eb9861236615132c7f1909f7881026e819a181d85b788f21e6e7e840fec439f22f9d821b30f757a492f8795d3654ffc5f4ada7827981f81b63b91edda0e8c1cb15edac6c4a055d8d5038a38a6567a6f65b33b5098f446509403623423996a6cd9c90e19175af0f0bdc0742c30a095077fe730258505eafb538d18c45a3dc501d4c30abf5fcda7bce4fc9fbae4b57352a879b1432246e0ffa2575f23dbda65a2c1a5b6c129b3e43305318b4842d79d9317caa98b434e36e254b1d38a76199d95003f4c61c72b29aa9313c82dd35e3270d053c86376ffce0d3d94abc6d110188c402d4d7051c1d6467a1ee16088b7176c37c464dfdbe705aa99b728e4c46a6bc636960b3149a202995f9857c575da778f031e438fbda58aeb97116d29c838874b7dbc05c9e977262d95b0b064806e39d884f02c696ad30e75a5d059fa29b18f8f82b2439cb88b350342c14a1f04e751def6aa62f2d83097de5d1b236743c03a18b86644ad638a0af6dc130ecfa7d3f67195753b132f29715686a7092ecbfb23e40c9c68b0702431ee2a93ce912c4737842eb20e0fbe065113c65f6dbdfc557f806f9ec08978a117decbd97a5a9f1d1c5692fca77a9e6d9a81262eb1b6c41a67fa6a0a683501d4443003d632ca3830381c5c2fc8f42a9493140ae0d1ec6a72794f236b09d8f07a0e45f1fd40bf6df4d1deabdfb5b0c48ac48948df6e950fe594a190969c7c40927af03565529ae997eff789805f7644cd0ea039090210fcb0746932cc91ec9982af5ef0d7187ee11545b5c61c10d73962cfc78e99b8d945b803b6b9484afa2e27dc96801502e3f444b9441dfd6156c431983379db95bce1948a315da5b2f79278afa5f39050f931a0adf99ac06fc88ca23454838f19f0e5344559f51a61f00475e35bcface993746a12fc757196b135feb66ef98b2c6b053639c9a3c18294ba2d002209b6fdb8855e203a7a40e4778926289d5357d0111f9b83d650813da2dcba7166a89cbf972352e9587694ec5705599704213693f6e9dab32c5569453f5c728e978604b9c0e2ebecbd5b26224cc070afdf31ea62a79f5c9585211b4d97a4751f782bb161a8ab0453f71bb1fb6d9249740b84945f7d5ff1c3081f3d9a50cdca19635a66651a6f066f66e3a31f8478d6b96ef529acea421215a53648ee7b9ad0bcabc35ffd1a0e1a1fd8fe2b64398dfb455c56c2657c148293801d1dc5e5522c7e078a9dbf816f0d7871db97d0207ef8ea05199a0c42d56d1141296f72e9d51c0090ffcc24203e7b6a0561dc3459e14843748990a315e92e924a57adf5bf881229f774331395aad767f5630f6184e31326ac5653d9e283626e6cc4f08a80f95bf8941fc79ff8baac99ae5aae2dceb8bca2bf89ff9a9192d466861472e93d401aaf23e9da3d259addd43b4f7d63ba606ec24714ce8c9931c9a7d43ba91278e4ca2c201cb576605a4835e825f23b9cf5b288bb4e993cf6fbf5c7fdd9b3b78add7e497b6c89d64d73cafab4aa358c819fdd9708d931f64468a1e648926043594b8bf69d4e0660caa0eaa0bfc1f41206939600b384d91b48f51a59fb882fe91c0c89812141a857e9086e1dc064c60819ee2c2150a3f6f559fc2179f224f5c251cf89ee22cb6dbbedf81872c9420a638433dbbcd4d4420300344fd0e4007f898b83e6855ff2660f32a965c8926ed39bcff16b3de46e5d713a0da5d4c1880ef6b3adbe01cf8c51eac92f338a100ed67abc09226c9dffc7411afee2edecef1c4cf939e1940e62539377ade877b72a49b4d5edaaae2456a9dbdb317fa5c25d213576cf018ebc09eda4f0f7e561b8290dd3fb6b6cb8578b989e34a5819d16a1f7f12c850fcd0b032fcb092fb349371df104a673addee3b0d090391526fcc210e236d96ccf20bafe6dd64490beb5fb731bc9a26f64d3062d3af455b9eaf4228a756b70b9f22b99906d1f91f6821c7a9facddb6e94c8f6f8a8ac244920280395d33ddaa2ef25d7e0b1a89e569b17f24c65d3f7a28077efb1ec0bb59735f949dd57901b4f5e6783c81cde5ee5f718d21888f7d90b85d240e38a85b1aba7b4355297ab2fc08a1b0f98cfcb0d575ff35dd548a2f13c082d01108c1faa48ff27045b9998d6499ac9fd889b55d098758b9d5bccbb918c64f816bb38c703180866ce1c477ced6b1b0144612bcf965d79cb7f918f0e5d48b41fcbaf1606f07aaf4887c43c8c016b6558866f596482a4d23413a4729147d1b68acf5fb2548f18157dacff004b9bad6397671a45948f4dddeb67ba0923f00b1ac218691214990ee67dd623ada0f3f76d0c0a8a05b96981c943fa6f704b015936a80ae12b58893a152077eb560c66f186e0e7ca56c55eb448b15284f928352e7fa0a3501e45d3d4f736f6de0eddd597fba2575cf35400f6bbbb70b255145105955ddec1937dccb887962ce68f027aeebe5eb923428abd3aa0c52ab647e1e97fab93229690f036c3cf3138f4103fc463370555a1ce037d67b0f8216aa6bf8690e12aa1d75e2665587263a842bbcb022a536e3e29c8fd79fce8e16fc9e64444160f50f1989e6b6291761f1daca48af4f1d94f131ae22ad6480de0c8d12b99c6948cca5f17dc4cb7120e09a9f8c8182ef2cb4d6659108a5317b44a0af312e17500854417ff1d4fee5929d205fda477400ecf66c418aa804d5728f857aaab2bbef5fbee8062cc34c4defc84f65ee3097cf72bde417645cc19f7c7c46f9bbc1c68d96f7b06ca4c7d260ee23d37901269e13f80f1e5f390fb4bee6bb458af6d9761b9e6da0f8f66f9b9bd8c07efc7e7422a31b4736206f130bfc35a68ef8f977b01c02036c5e9a83eb63ebfd755e6704611544b3a7b472b1440479ec5ce1199e8bf5ddc65499958c183215eb18a7df525ebd6340acfce75a5e3839435ee73091bb30f939bef6889dba1bdaea6af1f427c24e9bf04bffeee3a3fd7e49ff1cc43ed931c4d3737c05eb08794a85757ab7f65b86916b71037e04607028715c107cd48351531bb9f21fc8b8c6bb5d0b7ffdab69a9e8a22fb9ae91876e19b77d74cece13cd2c682aec8c8af5157702582016c1ecb34a4008f528417fc29e1446f2b5882bfb6fd720465ebfd26b8bab86b3d7b8ccd65d53367c65f42c8249c24126ec0c61d60d14050d227c4e186a18f798ae44a208bbf5ac06f99c72f51d0831eb869c4f31a5145c0757e60bbcf3a327e5230070dd12e19f5ae760bc79bf257490a034d09c0b9c71bf133c1200f2a10a86d3e8dab0aaa1dae6edaa91106724af433bb7d85653b0dca743eb206177b72b652e141c966853ea517bf188c8c09c9c4f07e96caaab97c18063b54ec8f83570ce1ab3fd20e4074d20df5b7ff61b79f291b64d39c0dfdd5b85ba8136f84febc1861fa839b50934adbf021b13247ffd925e957e4ae877bce5ce3b40bafe2ffc2163d14fab70a1304d78dc5e45090f5ff93644d7661608f5f03f66aa441f7045467298e35f370ecdceefe0dc7d1a288b2c3860ea20a389061d9def181197467dd816fd1f689bce8244430f8e3b09bf3db2571b724f4ec6b88d98fe259eee70b6ec977c7de5b48f974c655c85193ebd70e0ab69c033e5d100687f7334d0a35844ccb58451909dd7800164eb3b1e6d9463c30693c11f42ce51f455bbf6e2521bc5b69b03f427170d54e6d5bb03fe39537d221f039c1b451b03fee89fbb6766adb5f1f3e5f1a0cc33257ac61075578e2b6c79da8092b5201341efcf59ea9cb8821d7c1e90381f273dc887937f8931ac707a69c63b3b6748886d5d3230bbf75d6d8330cfc3c0f46a60bb24433c70aaa7b7ecd0f2d4ac0435a8be376af4d7c71f12322a78324f218fb59a535876b2db780ee2901cb338b15cad30616de85a053ed7d1eab1d6f02e567ab33fe26292490e81c8ecd758afe423b39a3ba4438e69bd24c0010c17d1c59ae35bd303509ef9ea0a72febc3635a72ed49082d3315b27933d87342c73d47402bd887aed1e0c39771689114889212761612a2b9248c450803e3fb2613f58174127ff1a3c01bb5755c408c1f1405bf98a20969c0b185048c5487dc6a8a509e3481a5322e2c064a74b823044be76914033ca575e38d9037ba7b1d491de005a57e860272cb8663a2c4b16290659696c099919b0a323e2f52cc0021a8f9f6fa196a61d4c089809c85c254e7650c515240c13fa0c286b64b9fc12f302974d64df255a192a9e488dfd8a6723793bb68819dc723b670fd93d73ee205ffd15cf0e76a950a86537596db953232d5320f679dcf6e177bbe64ba09032c98ebefee93fc44f38bf40f55770b1af6e51dd7ae5ea281663a6ab5c00a9fb417f39a500fe272c4566445b1cf72d8349e1a02764d4d1a0967ec5b00f38f032b76b06a2ad3cfcbf8cabcc15faf20048f406275c1fe575446ee87c48d8a4e675db3605fceeaffa195ed09ed6166114e34619bbcc2f14c03ca553a2e5b65d9d807cbbbd4ce259650eb17c3917f949b1a7552aafca278f119e0e4e88ff6bece6f0a8ff3730c373f4388e733ae634ad5b50891b444953471012f7518e8eddddd91bd733701d356821c5cb00e5033caf5830427c265d8001a807ac9b7779ac69c7a7006992b0ca8ff02ab618db5437574299e91f2b002ed249753db1b0dd7bc6f23a9a3b8832bb1a365468fd317dcadd78a63e2ff4edb879847a554a4d373e203a2adb9d4ca0626ec5a12ee031cc99b021a2112619f3bf453cbe59b1519bf30bcfb196f6c0ca71318d6926e5beafc854dfd0d669e43eed88d623b2249c8b1e66974180bfdec7c9ab9434965ac9a43c64ec8ab2cecbc0f9eec60f538d250d8ad97a0a0219865dae1fd7268739d0caadb3fcf54e47ceeabd40ac0c665f7a149de1a379475f10bac01762e91188a6d18cd05b506b4da2f2d3ba75e5a7c692c023604b3754e0c714527628e6d63ed903910baf7cbcfd47b795c7afa1b90988a54be806a7ffa82bb4b9638a3bcca841f9e3ea8ff2b53e1de15e4813fb18dcb01ca5521317f90f8f20f1ccf0477025b6786a50777faf3fa327aff82e34cdecb487ca9da902937dbf6940a56a67cb62ba04b9dfe5747dc56e41d5de383762474f4db8eb902bd9410f6ecdaaf4385ac03325a4366406948143b459eb8d54f9f645b3b7b39a5ce677bd31032f1e02dfc71fef6d5d4bbb3701b8792114c5dfececa0c4844cda76f6269f977d16d82b819acf5861d35009fe215779dd2c90ac4b032a499e8bfab7e26ddfb53212e6dd6c7bf841bfdcccb80e73f891df6d777140c1206c693e0ea52d250ae33236b83b93cbba4550f5282c8b74987ae4f54601f454bb25274b985878fdf326c56f4822fe2ca75c0c426c361e624ceff42ce109f1f85a92715d21cfbf06dabbc85509c37447799015851eac70edc3585682e635c0d0ad1f04ae79f6ab0202da6bf09dff99bf9c19af6bad7edc18d6ebcb30a880b7c22b7280e0a0e17023722db19aae22503242d179f411b92aa6c3ea3f40664011c168bfb5da3a959ffa96ae715bd73bc369a06da455b1f4acc4b6d99e19bcb330b1265a1ed99228182d67aaa78a48bdddac309554dad77d2fb29e816583e77e4c680b69aa32fa5f869d580fae884536d6a01fb3d8df6f8c661479078f2debfd479c8ab66a8b57412727d267292b7f7d04448ca206aa64d4718bb873536d8f3636c9ed9003082ea1241446874be145b7e9dee50f015ae5f9acc76eaa34c7887b67e7e83b4f780663de3e3a82ab2c51752457281eac73b36c7aec97b2766fc70827095a441718c2915c33fcc6f265c6a0db19b2d2c9796322dcb42456cf146d6faca5b1a002071ffdd39fde31e445cc92d752c91547a4048e8fbebec5c37da20e36a184c6c529066c60bee80112cf4a00ff47706c1c236299d52735a8dbed18d8e0aaf121d335c0acdb3a9f2701b4c8681497480f4a11dd0f24d651f3c9ea9840711a16fb4ecabd10748daec46284980deb84afcd18199105b55cb9eb71c038c79f4eb27b71d880c0e73e07601d836947338667ed1fd2760fb12b5dc41acca3313a9b4aed4e404f112c3a7404acf5ff1ac881077aa43bdc2739b57196ffc8f2ace4fdf41b61a970e695eeb5d1cf6b0eabe3b67f28f37ed07732207a83dc54721b057cc80998fcc8fb47b53d26a6ea75fd06e1da8bc96640db1ae71f9e69b703bf4d5c71c019c4f9e2a8d97eb0921bbcb03798a6fa61f7454aaf8ed6281c3d4c620cde7f0c571280a769c9cad830023138d0a0799f9af3bdbb8383a627df4a8688b4443c375a369d1dac76efb82896ec4292ed074a5ab60de59672f2a5ceeac7493b00fc9fcfae387bfa1d97c6a8e6f89df72568bb472e51b8eadd68cf862005c54de3b336ff527375fb2ae657c8fed5ac3e3b8d75e1d9ca42ad1c402e16c6c2e9b498afaab50b2cd6f02e60b064fa68a6713981ce6e173899b9db143f12fc6b3060d654d0e3c2a5949cf3fa75334eaf777ca60407bf6e76696c7bc0c394f4e743d1aef8dc57904f1fafa33ead601c81dac362e1fcbf8efdc6075471646962ba126823989567f357d9311e28906900b73007dddd2a5fc0158faa11aca596af79eddd4ee93714d9650fe02100bb15f4cb8547dfe70867b08bd321211bb953e2585a65c3aa33054ea44baec8c1038fd817a95f54855dbd8217943d100c7ac62052e9af4ebcb161caac8f3b2a6d612f74bd7b885c3ccd7741aaa00300698e1484cf79687e7ee965fd7e640b57426d36b8662bb47b75dd161d22915901482178eeb15b3659a4771d63e9d993ca9b641cb648f516e1637540c2d63706803ed1a111459a8483ef1953f961bc582c8833f582ec82d3c38789f79a9604e966d31d6eca67e87845d142ec8c4ee2cc480c5a20a003f0c8290d6ea232ae06e9cd732b4522614071ae1e6c694591a1577025019df9963a6dba8e087a643e44732c09bb490cb92201624d793f9ce403e9e93b453601d420f8782c178634430df2529af8a847fb5319ebc9822f184e53843ce10180fb416e7c6867cb178e315579719ceaf23c36d3579ced6b2c6e8fb387e9514cbec43e821811f05f8e007241431ba4fbcadcfd765b6c415b1716d7fbd10e35d3723d7266f839deae0c1408338846b2e668118a339048d707abc246040c4b319f74ec6a10cc0f9aa380466b1ea02d0f4453a3705bf75ccd151b5c72bbc21b2ecc3e1e45c443d3372818600cb11602ab47587c7682536e7e83ae3291cd34eaafca854f1c62cb71176d0a9bcc66df4e465a0be2b513ba958fa175de48447dfcc988c0b67ed468b5d8c821f02782483987500120eae6ec6a72c8dae8597271bb3c13221957571285e53c26be0b913ee00d676f353aa50c8c4dec2402a1e33f441d4f0b60dfce88b06665dd633af48fb6e4d2268fe3d2b91c4e297d93693cf4d660e07916bd8211b5f89a649c4e38ef894017311c7c7fc77438e2276dbc22b22c0f755c8722fb70ab9c4a33ea487dd8f4961df83dae578490689280cf4fa545f62325743b6009c61aacd3af65d3848fc310935fdc33422eaaa0241a2bca84baab0b2a6d3a2f25c296de177ea0a5a10aa2cdfe432f8d0e087f3445983dd13c56cdb7ec9b769d8f19eb5375c8140304202cee785af97f0a3bb3fc30dd6e96e1b767ee419f90d1d9f70d154d4b8717fbfa0494eef53c1a616ab64b9921ff4f2c0658b5498cbe703ac6262fcd05a08fd9c07f1919f714dcecde213e4ae2e7df2f765ccbc6462e64c08998f396d93e66998139fd9257c90ed2db691b17e199ce5de19ff73778d8d5511247bf7eff43fffe29e381a3347d65f1445eeb96c4e0d6bee1d18a1a7c6edb14d4da6c81f91c040d3a6457d83a10f820d7f844b6f4a2eee603177593044fdda096473a6ad0a7d3f55c12a4cf576eeaa01001196547bcd7b40060396e0b7542cee549d1ebed28bdeb098dd37de6cb4aa4f0c622c376ed94925bafe591188a1c8b3f13f74504d1d5734a2c780caf39aacaa7cf46135085de1cd01ca2ee55aa46f15be4d94ce25e1ee95f6fd6fa2d327ea1435a0949b3f52b3269549e70e98c03c8b00b28fc88d5db8730dd96ef1adc8cf216946b758f8016b2bdc6ff2c57420dc47c1553571f149b9e16bce191e60106dd0b370c40d0441a78a6c6d4da345e7fd37fc8c1042401b3529481efaf52fc29847c10f006a2021f96f6043f445ae12b416d92efa4c67a36ca8f00791dc97e95a7eccb6100e9882b78290521ef9bb000526591da9b6ceb592d30d44399d55399e33f56b08a50f1dfdc44cfdb59ef97f19e3f6d51679c7d33b55cfea7c7aae15e56b81feb260804b02b9246d980feaa3e4f6746fd30c09587e5354703692f8556b35e93950c1b663a0e6361fe0194906fd5f0baf4c28b209bfeff43d293829c8dfd9a05a24f6642206742be88f443a1ff9eade932782c075a7f3e15a39bb76f8c1ca160390a5febaa22733b990619662f9b150e08f342c9f6c9bb135c3dd1edb0c67db43f96e22ab827bcda24133a46bf8d8e555b2e8ec935a4bda8f22c1be08b526f9e2c477937f328f65ccbddc438ab5ef8bdff3cffa70919e9181755fda5183968d74c3944c7e96e60df8d9f23b31b2ed9dffde3a70f1b4ddd74c200e9d5eef9e491f0bcc3ddd0d40cb503f0cf7394fdfab7066b44fddc3492eb1f4c666314999ae8174497782d722c52483d3b0b3665f42fb866c00848a4a4e6181429de222d79bb5ec80fb8aafac71ce3c8d873ce4bbd0cf727efd379fe4eab0e698c15f39a3a212584710be6068cdf30e66092037df14548ea728569dffd1fda80efbb7e5d9240701029a718525d2f403061465c8005d27232b8245d4f87b88e34416e3f4b3bf5d555684871af25fc23909e39935bafb656e6463c9c430c440f13b94d8fc18eee1f8a02d73bb4f1dd75f1b0f9cdb0303e28251cbbb8229045eef8dcdf01503f9ed7cd756ac6237cecd98def83e7719ce1bbc103faa04d659305c0d54b36c2b1729a081a8e820f13c0f97baf599f0eb1abeafe09d1300e1c71aa10327f976049084602e291423d33090d8d80aa9ce9864e070a8476ffd325e4ac9f66dc8212f058e5e97a38249d9968a1d13787fa3c2459b04e5ee087843ebd56e9500c76156d181e4dec74649df57387764cd213ead86dc245c760ae952800cfc92eeb40d273f6f97d3d9a0abf9f0a31b40678765356e6052ee6b1ebb9eb606b928e984aef55d2a56bde66866b7a82d2ea07646f6a4f650895456ba14fbc682dd56dee24cf8279dfc91de587e9260afc38e131d96a96edaa364d7043fbb2cf2617de19a6081df5ae4ac3ab2d55fb30e9bade786cc1e346da23cfcf29fef97391960390a99c9acefe120d9a19a3a6699b7accd3f2dc65bc3832ce598a08967bdd855b07ebd96b0086b8553fee8f58df5ad1f037c17961c40acfd2280be175d8fc68808542109ec05d329733a05e87513615ac2dea2e6a32a77fb8f16338235b45713e6fcaa04b6933052fcf6df19c263a32c0a38d38ab7f332e6a36317081559f9b7419c4c1e4b8dd69559f460deafd3a832993ff02ca7b6abd4667ee88ea6811bf1fd0c571332691f98d262f1487b52ebaa2fef89047da55e923e13abdf34a48859e2309881ed16ebdc093fc395422dd93caddf80346abac61865266c20187582d22fff17aac63291fb8b521c30f85229dc83c6a9668f3f87e1cc759a8fd9ddb680b3cdd9b750b63e2a9135443aa06f44e1a907ac51b477e552fb3a92fc6524cdb937f59b0cd7ccf0237d7af75ab70dab2961ee5d89d15a80a295182e0ba09a1a9768cf8922f135f631072300110a2bb32fdf433e57480b42f430176164e732d3d0ec312f682d4c7ffb30fe903a1d60fb997a83ff92c2635a8afe383ca29bf646acf0ef163acc464dc7f16dd4e615e00c00a058bda87495137a1ad837ef6ae62f45c0dc19b00aff299ed497eeeb15707ed5de7a4d631d8f6cc37e6d83a1a4f685c605af70be69bf85930c2a7026fe3b7e38af8b3a5cbc37078854d86a7ff826c3418e14ad7dc4b03080a57e6deffe0a497b4aa23feb9757807173646e528d43d282ee3537af168722c4ab01d1ee9af5132705587fb3031dee68ef1dc109c96098a492958ee77f8c3960fcc919421a81fa6da464cc7da0e226b92d5ee6428ca3cb37ab6a1f621bd230bc5ba5e2ef346a16a4ae9b208f7a5ce5b56d4d1214ef14a0afa318af5deedb97d32990d8f86e5b3ff5892c427f533abcbc3629a84563efec5cffbef63c8f82de8c1e0cd2c50fdcd8c615ca6bc894354bad0a35e51e24dd145e5fd96b4f86944baa10b9c1c68b8254d0de728f1f81fde23e7236b6df7d34cdccd78c98ad85bd9637638e46ab4483f0da6eb890ba6068667c29d1fd43e5fe2e62d63afcbb69cd7f4db8968aee3bc77ff5bf7d58ea8f3f48d3c6419a2f6cb8113a41be41dd65fb4106690be80dd89d77e1f20bf6c04b4a6a749dbe62382c2f6f792ba5c6ab8fbb0c5e17e91f777ca5ef3f4bd52748c33b7c9324e9651487156317fefdcd3c41724531d3e1f2679344c2050a12414617a94656ef3f6b2ab6b9b709564d0e860f406397c79dd056247eb5ae30a0676796837b53abb24509585b04e34cdb12a77ba8d75bf4cfb5adb89f321c4b823af2eff5ebe016fc1203f896ad142f99066c978e81c3d77a558a9d31fefc81d29352ea59af3da01416d25448f8405267bd7591accda6479a95db5a2c04726c4872d810154ed3fc982c236bba8119fc201f1167860f8bc3ef60643f95bbfaf2c25db0e5fd0b107252e55c3619344de3dd8a1f979d090404ce3f7c508345319e01bbde82b468832430058ee8b12cae4b4731ee1adfc4e7599e1cf611876b05088182d220eb93128b36c917feb66d305697f41c565c20505a5cf64b1b0d4f0456daf1e3bf4f8d7b56abb311df38ba23c0ef35cfc12e1458be4127f74e4eccfac8fd437246ff382f9756d7b8d51d75d5d1050985083bd2c2f8565612706dbce7ffaf4773c81d4cd3d9f5f41612e4d74dcbbcb86fb215bffd90d4ef752290c4827d1f2cce91554d0c9c7a231419752125960d4f8c24d0d0cacdc1190376a32bd3b96e7bfd108b93f2ddcdf01638e4239ba5c6e45114ed534c9d3afb2f6993f2ee139db7120d2ef040fd8013f80aad9a7c1e87027a66de2ebf7926331df5065f2516e68c5b7eb71dcd9eec836f123e046481624d09e9a742f4cf57911cf7ab485387422c76290021fe5d8e67fdd9c79fab6a811e7ed3a0c325df5a815c9aaec34b01feb71fb2516d557878a276e54599db1beeef06819c2725ca64fe91ff30312bd556711f879dd9d36e038e1b652ad7dd97a5425428f6c599257243596a5bb183f19d5878f3976a01b92a89b8caedc12054b142595e1396af965e9c235bd8de7696d42c158abf1557076aac77b886ff3cf519d3f4f0602fedb1ac5444439d31eba72ee129ccc574e97a1e5bc37d3b7056bab5d00c350e1fa5796a59ee23fd87aec517154b3a98fa85249de5ba19f4cb47e84424bdbc5e73100baf8ddf3a6b98c58b4d7766c4462301287ac999d766b98a4f6814ca850eadd4beb9e51936ae854b4b0fe9a45efa9b944a12a6fe764f31f122561a9e306d7f6f7864d1e5c909148527c90e658e3020e28a146294f7973c89daf0a5fa415d3878407940cfe379601723257fd193a9f46a51587ef06c95ea7a86eaa9e9368380867883f644c85389f1358e54cc3c2b689d694177ce131a550080fbd09f14cbc0596aeb3152f01a9b46b7136a5244cce0c6795d310072529c9c8239a6e1391096de98e84f12ae3745b0c9c6f2680636ca5e0f016dea3aa87935cf8ac79d5317fe8aa048cfc9552cbe3219c482053c8769654dbc0eba6a8b928112bcd278b0cbef10f280dfbd67f3b5b125c4c086d123b7dbd34c3d6096a8fb58f4d9f9a266579395ab78868f4068773e120c8556ae082bdc8126feb6d8a11fe08bb3ee0f1a0fbd4ca82806f10636c6e14cb850846b40f41cb130a907363a6ed85e7347dffa8d9581c76baf3002b989a1fa6371fa2f60760286d1fe69ffbb8c0db1d67731332e3ac2f2da7f45191e0476cb23159ac3968f8b13581501f65d41ecc9978a3fa25da3228b8a0fa43e750447d9907c8c5f3e9e6a7a2bbdad56b9f9b71bd7db58bd1acd3ed7935eae04fd09e5b30bce1d528eec804abd331ee73a78b182a80ffe9c232b00c3a5625d10b209bc8092d13b044a889778f639be29c08212fc0b042fa649821de3b6c9ebb2ac6509ed7c50804d1c5ca338cfc8ed6b91e815158c58c10fccd1a5b7c56079ebd30242048da0b89cfbfd6b649c7cf074a301bb3c53bbdd930ba515bb9687414ed1aa8875f4e4e4fe27f31c3c5054015cb983942a26d45f068e3df76421fc4501e6188835e30c96019ca1b1825a2b0622c8446538380fe3664371b2ea0cbbd0d51a86fde177d90b250ff707e0f8d2eb9910dc8b4eee0653927a8975f27b49504d06a6e7f9bc099f1004f6c40857dd2ff7f9567bc82a2d550dede38b0fd05da078212c67f6dc950b84b7d1007994579384a1e446ec64b0cd83a2af5c4ea338e6bc5614c4002b42a4f6960c1acbd75324b7f1958b6593716636c7aaf1bf84b1bfac300d1aa8166d16a0a90ad65c797c8492adf355cd0a5eefac6e5bb9a3c8348ed204d69607fa54c6124b5b287c25afa25c207b2341e55fc61c8d6a73c557a051565117465c2d6943832e2bd16c6ccdda8cd6a1a5942a3331910be686473c805cd176e78a3ca4177b6d2a253fbb63622a5c32c220445c93562fd19cf1ec817b7bdeb6e3b1fd091478605643df1da19e94d994cc241d18ad364ef76301966da85f7c592f6b21de4a4090faf8ac3ce74632de5f286296d7ca4095c7117f90b42b7e8f1c90027bce2ce70cae524696cb4bbce474b0b247da0af8c48d812929829b8ddf526da1bf42291310307413aa8014301b6eb0fd0aca832db5a99951082aacfff10425d6e001b88f359399013c652d26ea4436833b82cac9fe77fbd91df69745e8fa71ca5c760dc85e44b7f22a0d8ec34f79a89aedc0a8de63139d69a05d2eb667f757af64f826daec9d0c4208495d04c762219b4c6227195e6322b6cf59228b0c26a7e83caaded5b5ad12ad17e709258b537a021597b4f24b6362d2df136fd348787f2eeba7c9d8155ee46427329a8de0b060a3c4b15ccf7c569702ab43da022fa617940c7bd00aaa8192267956bae315d72fa895ab341d915dd3042e5ff1c992a5ca4d60375950482c9db71135ef1c45d147cf2225f44ac35f89ea5da08bd2b93ad6d57883d71885d47918ea920eca767f90c11e26873931e4d5b1d41896d959eb60c157ed118c6738076363cf9796e52534f1a34970c8c8a8caee27dffbbaf481c8d0a3ae363219706273e6a38d61e0b9d32b14737a4663a19332b9c0846421a73e90d8aa4a469e3bdabbbd4d8cc2cff11604b1c14ea4be4e680c8f6bbe7ea3dc7c791641e206ed39c795590db49ebf7f985e87c7eae06b4f8388340bbff443727c7121b942d78197e43d6ece8b31b95e8f0645dc62dd4beaedbc2810ec590d3e6a0c2ed5ad0d4729aa1a63345901f03fb75af68bbbcad2ff576a93ccd37771c02a7ff542285adb490dec018ed977ff70a9efdbb5705eecc57a98a683ae2abb03ae424688ab26787a330f0b1ec78cabbde3ebda1fd828f8860a37d200ca503d1af5513cfd9536330f6f336df9f677b773e4f9d3c860800bd5e166bf12d3ae512194064e47b9c6100b9d438debb67b5b8a3925078e1461579e9b2f0c0c20f2a0102e643087486bf885b023265e4e31bb8555e8f2aa6cbf1a2c3413643ebe9321dd03e4265f63a019d9e6d923a8e0cca118a69f36ef2f06f6d0b83303882ca852b39ccac4b5c33c78381d9b9a83d943f17d0d01670e5b9abd039fad8defde060e5f2f74d4daaf57e588bc85e5f11443ba8605880f6cec4e01febf294ce0f14bf22667283aa62598b28a640fb5c79b2190805733ba80c93edb30f242f9758af40e108a5ed28779d8870149e1849d4c785a312df55415b2aee012f1b08c3d67b4da1e0af38282df731e3fde2e3f30d8d099ede78c9dec8a6c36d53229d16fb5d9f9f04a216abc8aee04756130397ece454f1624a8a793e9e6df2aa5c6e742d54abe0fa15609e0fcf83faa716019a566b1cf889276e36859d3981bc098b5977570839d4e1ea4ad92fded1beea3d1c4458f62fbe9fa58b18610b4fd8658052e1e713f731845c72c33d34269258e19b6aeeff2e1b5549fcecd7a936b0887c02fc8f3856b083a9760c61a2152c738b5a741cc5bc7477957d1b6a9d7e8056f180bbb95deb9cec22edfd0cc59a1ed05d73470fbfbfa2311776975ddfddb962763331b17204d1eb4333a7708dc0e663545011ba8c58ae1f4cae9a5ce34d2893978d6e02239aa0e2389cebfb16d727fbd83e5f51effda4b15fc7c870ab129c09508c28ce6674aeeb73f2533b90e43746b491cbc2d8d531ce3c0ea1422138ba10c65b8898e333b5ff3b3e34a4e44ed94738866bed29f098ac44ca9b15f3cf8c26cfeaadb91f30ce297ec188fe628714be01a0fe17e56dd8aa0946fe8c4f1c021335c0e30ed4034bce7ede5cfb94b48c48dc07afc3dff0f888fa685e790e4ebc3fb2d1e92cb4fa33517bef38d1af64f1494852b2762dd929cabec200871f05d67aa04724089b21b76e87fdad1899b9f1a6c3aa7e042a412a2b16683e08f8e3ef769b1a363ed33c27d51a1d04a59b42aaacaf13f0bac4e146ee16986f536550b3a70d79dd325ea66be0f108c462b238b5135d73cfa2965a14a974b035c52d64cac663609284dcee31d137c4659fed285efcea1e191ae63b04786c8cc09d344bb304ada2690026db1ba4ba0c4f2ac2739de53ad3e8a5e2cae46a61fd2bcce64c7e8afdebd81619858d86263d1d85739030b72340241778d8b62cfbbbca4aea434757fde6b71fcf547a0c32496e0e7ccac5f7394cf309209ab3307b5cc9c21a43758ada22a956d5a17b096e7881164e7e7767a4e4dc54ded511ced6dfeffda490fe605fbd4ecc8d940bcba55d6134a078454af050df5f00a759d8d830cf9c76541f4ccbd2a3ae4d09f970ec8c9eb0a166c6f56e6b3299780c60e84e18add0dc00b7ee44909b4b7e74a481767d7b20d88d65236ae0be8d78507accc8ec5404ac1f228a636016e327e33914a6559347dc5ac4b58aa382887035b4f393b6bce9ff1960310c6369bbad28434524e135b4185e064e91c00d73207f0f4270c106fce34ed0d0e2b87fca91753aee425d99ee9ed29c3be31e032809e511909939b3c15f79acb3ce063e1a20d22cf70120e54a1480f3dcf643f8273de5cdbdc26e5a8deb3f95869a4b69fc66bbb8a57b1fca9f4ba72dee2d2e6c407405b1eb375fdcbb67640baae32ab9a8ff64ee7e0a97d27d204666bd687ca274ff01f56997598713185a9a6e122d0247d55a85cc718f5723d6dad94fd382ad36ebedf13e1b9ac892a8505a3d163a36ab93696226346f5adb4800bf89149ada30dbbc957d31201038d7da1f981e9ec0f80c6bfff3e65d4efd67ef1f96fe5b0ee5d07a4ec0ab2341a8f1e26aa9463999be1db7a0f96c200be0b99f115af41cddb65596594d43c66c7f169cdb24aa8b938a810bb0434c8d5ae9e61455060bd1f682f256b1dff6b9c6df08c3013aae6d9b62c5a0bbf6f028edaaeee017a18b4aa89935c81ad3b3baa550ba8311a37feb7efd10835c1b5cad0c7683c9ef27b4156f83781e3207ebd2a737f700b7af29fc65738b8532651d6ba03f79edbe163a3cf6a1e204126b026ec72696dad662b28064d51d97f824b8188a622275dd284763b7384b83eda19cf137f612e89128dec01781a1198a728e1579e09eef28a40620d963f557dc7386ccb1c31af9478cfd37e506eb5fe7a83082171ade9603e909dfe7b6865caa3336eaf53ef6e455b40378ca7fe55c83e5b64a603d5d75a94ed6c0cb9c290c299e2ac26f956c947a3d73234839354e4480055f150b6372cc2811f521295d1a0d88ffc42ed0d6acf93c8d11f2c4bf219658d0464e67ecf84532160656f1ac13cd1d7ac4de4928a126543cc69367e389b172359673b837f1059dbece819d7ffcbecd74fe7d677f0b642f9bb110e636c7a9ca456405676db2f62141510a29a8b908bdf7910d01eb524fa88839007316a7196cd62db27877c0fd33dfd384c971d2bc6d7841827f0b3aedd1dd62daad913cc7b9cfc315c3c534689847b0dff2e3f857c966f38106a01f42d4af96986e0ef2bb39e9a661fe00d033d93d6a541505bce7f8b54b4e7f64d2b5c15347e21761c1fef4f78bc8cd3a7fbdfb20b905af021af92ddf21ead547930eadf1a9c917da8fc28fae824a3d8c12fa1c4cf9a954c1123815d95f0ee382d61dc01ae92538aa856b0f4d92e5d18ccc961bad54fecab38c1d16ffc3a037cbd1a3c54ae23224eeead5ea28dc8590df8ca5209895fcaab06b15f0632b146fb2aabd59b593c0951d28157439409088059f51385665ada5b38c85b8be518d30964459b7437c1fd6d5462abb6ce376c9a68730f7f80dc3e9dbb00d1fc7cb6511ec30fd6108d3ff35e81b3c394a222c540f2d40e740bc6dfffa754d0908985bdee14b9745401e13ef70e8dde05d5267419aabd92b5746e3c3e702cc63dc62a091baa8ddf56332b288368320bb2bc721d2e96f902cf7ab0df9a814804ad88add6f64b88f32be35ba7de340b9a08a899b2677ad3b721e9af243fea3b98f36f632dc29f42212ace979919dcd177df486cc1e9242cfa7cd1f8b170dfabca3d49903a280be49ba8edecc230a320750a64086aa30c74ce6d4098785b3547de12fceadb1f547225d4d5c06c8d0bc300558b21b35c64fe08756965288b350314f39585c75fa59e85566dbbb2123bd4cd36e19c71b54e170903d5350a0291a182c2ca4ae1816b33259351143247a90ad4dff3fd634e436e7c3eb446bc27e9ffb44e2994c0e668ed4cdbc30b4863882eacd46450d4087e95caf1d0eae669477c931aa7ce503ea17fbf56b3c40fc5ffd90e322eab444a9daf9d0b2523c9fde9ba9f8d8be9ffd75a2e26e409bdac1e1d5c5ff8933ba96d8aabe146d7349e58ff5ae2fe7209897253738c0155db54d1060d0a49c1aa37aa5338c96917b11de60661cea963327a2993b1889ed01d0554871862d3804024a1106d20b8d59dbfc93b44391ec0cec178802ae1819d8662adc124bab273f8a41a18bdef6f4547ca7196e83fc1312048e6a1f9faf40f23c7f9e1aa6b20ba6bf4c6a8101b9e4a526a3ceec49acb73c72a469803ac33532f413afcfb82816ce48933cafe5a37557776c1926d37e4aafb3a2605e2366a5a04bb89d4140cf09e845a3175819b2ec58e7b2684c7a3ee7f812b6ff1926d969d4c501ece89301c55c758f03fe2057104d575bf4dbe82503d699b2b4452d0d033a611acf954b07fa4a8a502e060ad38d5db56ff167d78bba3a9995440be747f9084188c406b47940cf32f79c1387e347444adb04d474880a4f394d0c33b799054f5cf13f2bfeef48d78a9599174ae6fcb9cb0a05b732019334904bd72682b1335195d47986184f2141cb11ce6ec00377952dfce759328ada00c0a5edaf213a17263bfa997a2772b395a570e5c0e35757aa8c9bb492d7eb50a7659db55d106ea7813eac8a85d959c584c7402bf3a9ca4a472a95848ce7d1cdc0360dd5dd6475bd5c99c38bdecee5767764e22ca502777843f1edede0ebbe2cd4e6d6c25a2d2c75c2b4c5354fb1133e99acc2ae36aa8b7af7ccd5beb33973a49a0c6c93189f873da0e6c4e355eb013cca42e183d7672b6a25039f05f956b16123e49866274cf4b379b169943fe8c6b55391b82bd3cd8c69aab1de0b78e06befbc5c03a39a8cf1ef5e4bca3191e6bb38f31c0ec4f85e04b673a08749da8af151700e14f847205a8258470c72463985c3425419b2a32abc46c79252d4d6d178dd014dc2d2eb10697d3b7c68b349b6027cc18946a3014a78b3d9707036e68227b7c8139a803b52f17b23ca3a8b32a032b0c6741ace174d9606c19cbba9189aca5c8e23f449c0213dc6f71aadd4613b9d63bbc6cd56c9d5bddcb821aa6ae0dfb3cf48d410ecf43043de0a533ed089fd66f431e4dc621f2d463f0037bc326689bb6e61f821a8e1be69959468837eef86588b0096ebfb0c20cf054ce762c2852639759329677acc99dbf8afe0066fd0e54798b74c1e34a84f686f346ddc9b250db97a472b4e7e0cc8c27d0643f49524ad68e2db7df46fa4ee5f486c91e7f0ea41a90c1f2a7cf96348682790834416bfd73b4aa9cdc0c3b17c97085d4383e0c44142f23e8fe0868d3162a5801dd694fd5ce4667c6443df1e7e1ded5589d33ed7b107f6eef4486031d17d7a111644a95e2289028e01b2bea9f52e62c056736c89433a6e5edfdac9894d54d52939095c326b0dae0d62df35c3b4547ca8d4a21eb3a095d2e282656df6e62f3e778a68d79ec0ac349159d24787411b9931a72825c2f83c65435afa4de8bcbba1900d54265d846d593b75372381959e8412d66f455fa6eb4c13d082bbb2b5fec650e3e1b12879e4798bcb86a787bd8547882bfa347c8727b5996a98af4fe30566636b65a8fb8f53362818cd57ea5e610cabb4e355ff10c80610d8f22e3cbfa82b1c0ae8635e0251e206fe7ee89d51ba0849dba2ae8fbd1d6f961dd1ea6696ca70f16abdf5ae26f045b2597a6e9509de79f6ebda9d43db5d16268151204acab599e9e495bc11bd13f7c5950768da6683de265fe89f64bc90ad649bd196cc4b5d283838526cf632c15d8292796f4a2304ab7b38479dc7e67119c3e855e23ddfb29c683b4439a3789ef4d63d80b458b30dfc45d341bcca1d4717b9846156dd67d04a0f083e1b1a425ea059697592d0f308f795e09165efaadff0b94d7b83fd7b105f9b6b4df2d433fb1febdd9cc253ad9cfc0ef4be99e83df9fad65edf692afbd9e6110de509c00354d17045ae1ee5a5919c1b1675cfe6e0b5eb538293fc9b86319d311835b7acb6e6e15876c2ab04c82d53c063d10220906b76ed28ca7e973aff00e32b7c829da148f9788568ab4c084d916ba70e1c20a9e55cb552818008d498127f5c6f2d01f1f2d8b2e2e34bd2cba3bf34548397e12b4ef18d03618853ca3582a274b6baabae7529b0f834ebdeae3684e9c2faa5ad7b88e0eb7c60c5aa9a8bbc46e3a63aa27d208c7f9ed721ad10a3de094e22114204069d9ba37aae999da9a6e1c64c93eb3003ba2af929c297918f179b20eebc0892c61ab3d0f934ddeb242eaec883ee403fdfd4732272dae55a5e2079bc925678c29368b6b97f5af1953c19c631f3ac33a9e29399cb59e7b950316745bb69b4dc58efabc632a996c09b055aea44597815435b6de3c897f430dcca73e894f709992069d70af05e5813e747bd73df0fda02f3fc2c5a40ccc70056bc67cfb72c4fb3a8186cc79727a4d72f57978b51988983638b276570e6ebd219e2119857849b49456f38f0c048921ec99c645c75a3c84eea103f108738531081044969ef3d37ec8e89866eaa3dff6825bc843655e078d7ebb5fe89822cd8f6758d63b4b833a23a49074bc104195feefdab90f4f0ca3bf8b16710b7275223268cf6b6f2e41d7805a1bed4849ac5f72e01bb7c190f5a727253045bc21674d975a85dc05bd6fa1a9c988e2b58ed3cb31052ae1617ec6b6ea0aab89c5648708e06d90d12baa89469c50e4ff7af97f00a4f9ba96d91f9242d1ecd4a0106da80a4d83fe33dd885f2aae4f28a3b4958c2ec0883c2eccebc18d143d17653ed50504b0df01c37d204d48f603fbf767ce20a3bacd8929bc4b81ea93beda73130f6b1c66e9118db08bb6b4b423ec1238aab1c71e5fb84c78bc95228c6a2223fe73ae9b27c680f29f3cc89ea59679e5fc565ce82fb3585f51a65360f5b3fc6aa3cc421fc4df8b0de1f4184e07ed6f0c940f17c82f85fb82ceefeb1fd3ae015ea4e0b2bfd175e2ef9689b8f6099d69af6bcfa13c9f1cb31f2a01103dd23ee10c41169faca4b8730bdf9830d770238b71e2bf7fc3eabb60c84f7ad1bf08489944248d1f2dfec05c1d5b90ce1cb18c358254abe8bd9bb6706837392e8daf7902925da8e0ee96b4cfe24d8b75e7bd9b2f1dadb2946038288983dcf973ad62f26c239efd67a36190c852c4cf42a9f7314c4df57e6e2e674ec368bef4331e2da0b73f014768ae85a161aa6d1ede6cbff9ee7e5d5926048ca91edd4d62158a2a134898cf07eb25c4bf8f5b1a0d30136088c8ca70351e06f4963e0dfe86271db8407305345d246cd6242ada98101b7f5b9db011eec3a1033afd6306baa32540fdce477d3315544ef17b5a07b0c269a4bebc04b2600e4cb8713fb4abca5f1fbe0a2c4efae5479faa98e08406d932803f364ce1f02f45e2f15cad17d6c0ab7742bccd46fde90fbc1aa10de5d5b5886b8bb6c3924037d3f290c7948c12d54f9f0f5c149cf1b5cdce3c28bf4b48ff7a1f83a0f0511c73644b0f260cb8895a5930ee7afaae1741c4b1db98782054a82a0cb576195131d69af47615643b7fa1914298242c9a222bbddd43e2c66cb8657fb6b527203a21381a5945c028aafb2f511687d61aa039a72695b1f35169992e09d618afb4228da13afdee3fc2f30efd3ce0451ae6e046b0faf06feafd4d672d154f73e3b2805f0a01f5a08daaccb5d9457bb040253d3c316284f64f80d19b4f090f18d6694558692d8665305150fa7d88424c8f774f9d1a13e9697beaecf895fc69c7f26c0642662edcffe26cf61e104420b51e9e82046a52b3a89f3ddddaf9fb13e136236ae02856bbd25dc53d9939412c89f6f70c3d7a9f6eeca01232d00a08bdef19f6a4bbcf24500379d59bc12ed3f8b8c108afa859d555bd1968b999f04357b9dedb4d24323fddadadc59b8c640f538ca92eb1e1acccea5baac8c669e34a87a314df5b3e19ec18ceea5fe06bcd5518d7a5f4db6b501da8c68115e14043f9a21205cd7ddc14591a41a988376bfff7f8d4f5721a88e27cbbef9864964c2a6b629a514521f14c3ff59f9d262e7822a7d77bce4c4780c61e42e03dc3c9b4b5ad3c72efe415fe8d7f52e524a28bd89f3a22f17d41fe8192e08e298dfabde61f086beb7361621fe15269d6ba661d24e63aa817c5d7263c0ce3c33289202d996ae9aba5d2f9f1a535b56fc1361600e931908a00c5001003f1f5df7e57a5b04a5d54053f4018d80163ec57587ab9703aafcfc25e06df69694e645624f01f69cf768995b87a80a6f7ed44d5532cb365343aea8391511ab7db5fcad19c3e7cdf4975059ef4211917f643f1bda9d3c7507a05d3ba37d2b06b04aaf66a2201a7093048d8cc3f6f016544e00883f9e6da19e1cf70544f1f35a552d47aecc75bbc43ed4923bb2c37ffadbb964999c3077004a671de20fd52276e4e597f190dd6aaab79d635395c662852d042f7e898e1e562862f2b70381244261fa133f31c8e050ec5bb00e06f1ce26a01c6b06dcd51332d4d825daa122710502823a9eb54741dd36cb1f3d3bb3d9e5450033104f4a0f5f9a2e4e5c2ed87ed0e28c1995673062844a6e41e3b2df5d546b1722302f2e3ab078da09bb38d7245729086d1ae0ff366169b182bf39249a4eaed913cbda2850a452bf0912fbf5864583c50ca404ee5ed61e118d826dd2352ac46f8b1f16c05f942fa27be17048973e3103586bbc1d6b9daf6d50387757ef8cff89561b43ead943b5c26638392daa669ce2f0a5c23309de3889c62b47f1792453cba5b67497f2830644d98b6e0a77c05d34e04dee3c193ea6b4ce028ee25ada9b764844f90ff2f77a46e74b06a174b8f8a2691502aa0ac528706ac8a9a7e822cbaf9d0145f82e9352b551b3169f568eccd006b4d6ce65f96fadbf89a1cd2b677e3541c14e692af96d3232dbb3627280622ec3e3fbeec6e85a619a7ce51390d68e086fe2c0b0288352eb2cb28f8a376c03d74a1b52da6a13a64f2ed4f6966466d1eb4689f80a51e6a2222255cfee531f7c9baa72ae18d17412533c679e45c00b163f96db2180dd562df30490cda3ed8d19a11f2013b2ebe37f284cc92d1a2378de3276e849e2ae0da04c63c02f45e31f9c3f65346d10039251215c8464fd4b12e4bb239d28db151fb109d637e3e0ca85b04539fe45d1c445f3a0d1fba3f4456488a2004028aefe7dcc2a91d6ff35031bfb24c529dbcc398f6c9b8eaa1eaed5c60ada16628c73cb02c75b8c8514a5177b93fffc8c8dbbc999006cd7240a943e9a835620e04847c04f7d06c5796b12bb7dad3d92cecd27d1b544aff7b6dd5207b3b5434e379b6edc32473ab8991f88f8a9a13e78ea0d29de7e6269f5111b19229b84b80a1f90a35fff95c3ee971673109d846d56d836d73fe95fe251d545f6af118e56524d9a3f9d4722ad732c51220a4fb4bbbda7e03d873fd188d6e07df905b2789810ec2e52257d1551a27ab42df4398032a29c4ef7adaa5f22062027a7a8d26442c6e309d55a9fb315ea8594390ef62491301cee9499c99b880db5b4148efb2ab7c4e36ec0d5a393a9701575dd86cad5258db81290f519dc7de30dfe4bb45cf229bba4c0d90bdd3a7c9bfc02fcbcfff3772d72c6e68ef0b23527e00e3b21d174f3ee1f54bb48010cfcf5d999e3318e39684b2efc51384ba005fc85c89c4250295fe25fd123305f3100340260b400f9469b1578973969efdf708c4e709842b48acac21f79f9abe0c4f391c2bb67a501e9d1a1ffe4106fd190e616ef3289061dd71fd42f05b52912908638b8953e886882b889339b605052f0042890b736ef898595c474bb74f32e6f4cc23cf89878b8f847cd834ef0ca0ebf58f5d5faf3f77b344467afb16bfb4a077f53919a8d2a3fb63b43b8a721df7a047e1658b9ed0966dcf799b267e88e150c56eaa123b394f1ae16a3b91afc5cd1df97db951c906cb105da3d2effab053ef66f4c88eeffb1152e1519dccf529c605176501eb12aa8e74e57027953c375e071ea127a68c2a88407dff45d2ba02ef26270a22e3759cf0b5060d2ec7e2713ddd88156ff65fb9aed7401851c9d2ad8c29077f15f0eaa2910ecf87f52025b811dc528be93d396f14c74c337ea859cc13f75c2dd90d8b39cdf0d2abba7930c6a619068228087029a7dab7646a5498f6a54605d85ef89c717638f7ce4c4bc52502699608c7ddeeac989bbff62cf0507088008c78f9c4890c29b43b4bf1f552eddbac0cace0234a2a1c1cb43cf7c3140d92da97c8816108f90a3d042bd614a3ed0a79f3cbf0277df69b7d184c0bcf7e592ab4a6a956cf1c6df59e4bcb6b1d2ec15db8b0a8a544f11b58239b10ffe70d79fa61194930c51cf06e4bc129c0b641a530d8cfbb82515ff4df3fbd17f9cdd1550c8f0b5a23588649661ba8cd93c4fda1394eb7b67159ac9e148aabf283f4e5421b0e76e0b9691351a9c0c4ad1e91c767bb8afb24952e487aeb390c945166b1eedfa3c0037e21d4181d1d3567dd62d4e08085cadf574ca23cb8c71e8eb85bd10222035ff7d20d9ec7e0d41534d96381b005ba2d3770898ce8c5cecf3f83235139801f7bc51d0ae97306fd6f2dd6e8d501ca5a3d58aa06069b59b6d74742ea21e930201d649f73805257b73cb7c8d752a87b59e771fb571cfc4f4083b1cd6983f0c22a84f860330f6981f766472fe345a56861bf0412942da7c26363c8505e801b5e7ceb107ccfc569deaf4e8288dcec7fb0dc16c3f9bc1347f76f52e8d41b9e15908bda66a698f4f912df29573fe8516d7082f10441fc01f85a9a75b16a8a9885028b5ddb75638dfaf16f8b32743d9fd3323d029c985bc4a520860482572158453205ebdd89663754c407ed3acc75ca8f98b4c3e4de18b5d36a259c5769055fe1f91428cc6400608dd2f9fa270719bcd170ee368f98e246e20f124e26061018f7175bada84732c5093161a7063563ca89cae1356b7abd2bd85e4cfd9cdd8276dd97e2502f8d20cb48092736022c9905bb74127d91d8cdd5b47f7b3b5c16f6ff258001d6b1dc7d6bc89da687bbb3ffa45253c19054f331208bfa090f8d1eacef1f8137a2e4f0bba43d6efd0b9582a9a5819d0aa77e17329d05666203fff1ea21794266d706a25de605c13d0d484c7c817a1a247ed014c2ef24dfc284c682852276fe35d4af21b05699178455d3a25b65c768ce4beed1abb279ab34b32585ad2d2e9d002abd84d66667a83262bfa90e7618fc51ad75d6ecfc1bd91b6c1a396a2a21a6421ffb48ef38d7ec6a8384ef43c2833291ab9a07d61250bf20c04908e3cd2adf691b793dc5beaef47f10e7a796271e6c7af905a1ff8fe852ec2ccc2684e0abf911a3a4cfe92e7a08b1bfe1c51edf473d3e7d68358e522ae88657000f204f647beec59fe104739782dafe55f9a597d4d964b602436ba9c794c3bff95e39e5dd888161b6f2264c8fb5c6a45478aa66c11598ba8482896401be5bc98e76b262ddfef3139fab81b3b32c40f6d884ed3ee3cdcd9844a7cef08991899e947cf239085e96655648b2e3dc82f8645ccd63bef13d582da13b97b9acf37a6b0ba4362fd606609950479fdfaf91a26c5d9ff5111db5523c0ee8133d92944649047303e7a7e03dc8b16155bc581605ec1cb01f52c114326edeb46bc3af1e53fb639a6fa8d59029f1d0ed2f50e0c421394651dcd06c5cee5aff2e136abe2c728748734b513bd554feaac4dd27322b1d04409de2605783ce6f9f363b23be9afdf45e3582b68d7d80ef99de0063596af650d76f52c3b28fa7270760f5366653a750cc691da4a39ebf73188e0095fd327c5939a8d9f00bdb8846ae3d43a6863ceb4e0f1e276788d68b5017d267190bf75d5a8dff97170c6462d3e39b89726cdd1748aa3982b602b344b6187b1f631fe43526bc339f238595519097e2cd0f219c44bb52648763b767bf2106324baf6e4b9968bfde02b205c0c680d2dc01b9b7daf6323019ea8b6daafe9f3d18354d35eb7443c70cd0595b26fd10c2d734309fccaabf8448c7edb33e2c62ba3eae94631baefa5a136dfbfbb90682eb588d9f4e122bbd8ce724b2d3dce3bcb582ff0b07138958f2a6bd5ec984cf56e6a22bc2393da717838c5e33b2d0081da7632892a30e70ee4e5238b0f2f0fcd94e548f512f9bef38d9802d8488426162ffd0a3fcd574cdc8581e0d116cf2f652e0a532dfd6b521a96c34e61a92c20919c5cb3ddb4b0dff137ba9c5c58f8e54f5a05c5d04e9eae8dfa5ea0a877714c8032fe06b9971aed4d0374d577a60acfec9e6fc9b4fe06b04053d54631b80eef7b3f539d68eb4851482a80eaf565f61dbdc72ebfbf184199faeffb5732909008e498e80053d0cffae5406c18d7e7630015404b2abe64ac0be0246bec8e530beb2d0335aeeb48dc197bcd882da96dae793a5bf585bcdaf42f0dab05d3f6ca2834866403a42a2ee1d11e5d2440907852b198efbf04ad5b87a5b92e6e7d15999aee387570e6b2575ae832bfaf7ba06ffa150dda6375b40d8d96b6b374a493bb1b983ba15855146b14e562ed19a8d31be42e68038c79c3cc80fdd8900ed542ef10f7fde1632ffa720764d8a431ce1441a3d1ac0ce9f5449ee9d92ad47dfa4e03626b9c25791dad44abafcebde4d893ca6cfe152aeda9b93e632496119a2a204ce0b556f49fe9a884cdec4d3da6ab91d42f8ec8cb4fd36f5f175b6cf3dec4d3a43f7e1a374247e2ebe95678cc58ea7b2f0acef7ae5c86ece96dd4bf1c69170ce70f4f45e09f3f3204744232d692f43fedfd87ab35f4b503f6ee2917d6f0606dc862b66d80920a81a419ec1e8bf72e0d89b28ffe3fc8db0dfb718fd516e7502e66aa9858a020eae2997a98dcce56a0544f1fc713d7a9209bce8099298dae5085f2d2d4bce8444b3b60efb1f67ed6ab96ddcd1473aca6ffd6b2e73fccdc2aefd75fc53cf62071549b33a1ef1a794e6ffc3e5a07887316beca32c790237124f854ef6dfd1c7f12d014106b0cf95545f069dc65f5b1effa07b9c45d202e3ab48325f6a05720abb994e79753a030ed1a478528d4005b0d5cf072e7b86c72c53ba2b11bf66bd5ca229995d8098d28167972073fa951adb189d153b8f7003985faa7309f84a112aafb421243bfdd7e4dcf8d849d08b4e72ce0d9bc314c4f63adc1f5206404dd791d880ec6fc166068094174c299d23d58fa4fe7ad32eeb8afa5463b4f06141afeb59a22f7a12cbcf942481b3de7e6887af10f4ab4b453b3769ebf55959b0c19e76f5a06aaf9cf0c4278fb3496fde40a682882b630acd1389f463357fbd635407e910047b18461bd2f6d026304a2abc0e91e7f66199ac9a1007b42c314ee4aa8a756e095372120975c2f733605709013244c85ce359f6dbba7682c7e703db2e6f42bd60f41e3bbb0907ad2fac3a51b3cd1be2ad58f70a0810bb59b87c1ee520b62a4cc47d2dce0d741c9d4a84ad577d86c4cb1466e865b22c8205d9ecae2f01bd3e7a108ff2935cae59e5a0550e026dc956802d9b661665e728696177fd3c30f89f98544643e84b003afd679d8a7455a3348b879ca2fa9ad7b71354e7c9f39738444594e371b269c2c44e5779a014fe111cfd2fdde5f5dc39f2666e1d711293af9bcc50d278dc397ec6f89404e0ba779b97f62fb9085b892c2925cf64b66bb508fb91e05b221e6be74b25efcd53f4c6814b9bcaf02ff41db474885842f219e53008d3d6251d7f0c1a9760d99858836ef509dafdc7a9ae6017ecb3decd8ea2911d85fbb2a59e67b69a0bd79a2df704a63d9e6311448dc0a8a700854f9a2aa58907c2f7cf77cad4bf81d7a80f31748d673c7406332a2be4df50f9f4d88fd22f268b866b754e0e53dbf47c1611e6e2a1a3681df0cc4322ec74bb12f68ab10177d57071785292a76d286268e3df2b27a61a5ff8436958434929298a2b2b9ec789a7025bbd89c778633eca2ce6e92c7ee33fcaa84bfaec8d7e37c8b950d52f6608dbb19fc77f194746135587480b65a4ca49492499d62345b5b54d185a2ddcc01e7af1b614eb53b40f00aa71c87e14faa71eb7e4d78368ea4d564dddcd2e607b065209f72402e2bdeee99c971dffa5fcf1ed42b88d454eed5d001ab687c7bd17f3dd95d836f7cc231f11f1d8574c112a61f66e7b19488d57adeaaf8bddcdd2bb92a94db827726a37162b221d22274e5ed3fa8e2b0de4ff2756716dc419bf2a2e9ca641eb48de102810511a832a10f0eeabac593dee02248f837571c3b4823771c89fe7b7a6a916d6075723430153de25505ad232a8e473b85ad45435c3100eaa985ec08f021d74be67398a554cc0e3e657f07f250c9d51b1b91e7384d812dbc77bc6350ab0096d0e8d30d742acda1f268f1ed89b8dca0c2350023f28e263c422a3cba11de419eaf0a393f27af4cb74974d8c3764d8b3fc389dfddad62afd407577b640838f332e8bd06c4328776ef514ea20e90b88a7b224e5bbfe597de6479549c1c70b9ad5bc00cafd2f4c6319cb05c121cb004029551662af3350ff578892395b3078e0bbfe6414abef67ae95998cdf30d4665b9cb8dff2e419ba4c690d88fb01ead75e9575afb9df6942d6bd2a6c4a604a025c71e18a5521b55c42a68c5620adb6f2ca5e02a677aa3ead9827c30292bcb63760059bec2732ed013117f482472c3546aab8fd18485b1908e50f3c5bd60436e82e601b815ce032b8430c4ab6ff7258b0e619730964ba753655caf5bbcc8123431dfe8df87b9cecf02e6eda21cc59eeb148f1d37058197e3e3789fde76695e8999f7ca33842ac46fe56b8a117f2d8e352a792f4d755fc92ac2cef59b2cb0364175d476b514af2c221f53239b9c91505b6cd73c89b1d2b56bddfc28cde68184a256cd0d200de41e4da32699b68cfc56e96cf430fb4a4e8d2974c774d1b3a633cac6227eb527c149c3bf404a2f6a6a7f6a8fe2574ba9d4d3c4552681afc9da3b5599f32caa77f1636924149287a7995cc7ebef0a79759d98146f31b9739ff6946b5de2b7399d4d813cebbc513424dfe67d5bf426ea8c6397680fbe247d5252f030180158f0cb62b1a1408a12658279c5305850a7e3675acfc2814eee459cf74305bc33773879aeec7195d0ba7fafa26ba35decdf98aa55479b58a39923c88e1b9c058a9fb9c036a6c3c4d8c204c529aca9dc21965241dc61c7d60403df01177449c3486f0e5fa02d26f6ed441a8c4b99b29fcc7e8b74cbbeb5615c5d66b2b858df1708579bdf3d035cd70a1d3fc32d3ccb47daa8fbcb97c35502f104cf95af5c235080e488627dfea981b8d270d97e717383de33d25b8460f7a4755053f914cfd58f6058296a14daeb91cc7db857800a9d6e84a8b46ce8e94ee5e7404c2a0b71868b2755b924c31e80bc1dc3bca52c144ce9881b80f9895a374efacaf31263378df5556c0ac2c20441f21a86cc585843aa162a4e00e85477cf8521be8818ff35ba6f808d2b60d1aa47e3a69555e2ee3c1fee0223fd8a32e3ef25d106b37de2e822d6ff7b23811bd2c8625394abc2ffb56ea998bbf87d34f5b15dd53cc0f5616573b789cf809b6115c2568e5349713cd057c3c1640cee638dc1e86c5a047a7e2c5bf20b54a38676002e1f885b63008451b8c78e63e268a493b86f8bf9a2f931f6efae015272580ee50c2503abdff13c1486e1011724969b478a10cc646da94ba2a2638f7048542d78a923d4706b630a9f629b6ba40490bcc5cf54920686d0209ae84a8cc01303f821043527b7f80ba7d3018e020ff03d66c5a9aca23a665346f3e030cc43cbdcdcf3347161423e0db5f294e3fd015437e6b765a0dc774c91c51316ab4b03f0a8a6b06d43978bd8b4da1dfa696ac5a6594d7c020986010a1645b0b4f7610d7ecfec30a1ba02e26e4176f094bb6905941f28383e5961cbe7e13e5182136d422d39323eb94a29d341d326d0815f16284d144b935e674f2c05b45ec2de0732c622cd39a10a040823c062f8beeadaa404d4b7ea9325fb75b6827fcf0c8e98faaac1eeafc416b3515b57c739eea0d77cfb8399245ee203245f7fbe9b404594266e71823fbdce6fc9a808cc5b3602ec4eb2a7b87a0d866bb0ad47c376e0b3918370ae7137033903fae2def0da5072a75f56f44b7fd70897eb7993940a4abb82bc8d9378e4c74c244eae8450645bcde72dcc83a85d24abaf91e228b6dcf0029c8119ed9bfbe72b3972fcfe15766b38a50cfbbde2bb0906fdaf284b5ca64789f6b9827b07bb9c390233805432445e2baa301ad7360a9f08a23b9dcec9232bfc10542ad04240fd5e95c4af3ff18d3c8e91aa92b67267b07a90dc33fd2647947e57ddf01439379db20aceb7fa45ee3861ec943ab74b87f08161d2aa521dffee8d7a7224cb703c7b9ac96fa0620d81607c51fc6a626de238d6724bf624dbe23b01a96fa098dfabe794fd37805483a51897d7b8b9e34a194a8ac4d45f1da66c48d282dc1c476581c3202a1319565e4ba8aaef619971874d3287d69b9b08f0fd5e27a0980f192671326e5524622ad2400585b312f1290cf6ea85bbbca4636765ac7208407a08863d1f485b7d089227c7958488a408873d672833b97991b77e73a8df31d5efe9777a20316819196826592f840d6cf784140747a0f470d24c56d6334a7964f9e93372cf2e1ab2e4278582c3002c99e05fd501357a723a57b8dcba07c40d93bdb05fe98fa27bfc8651d2f21dc30bdcebf63ccf97caa55c4dbf7dfe41ddb566592e2aa47c1f86d3a5afe7dc1ffa23ee6f5b103874003c1920d256c4c1d9e2ea5b9b60222d4e8985721ed00a86d8f49b9afb9c76c404e3d8a9edbea579d9e8e5e5697c4a37bcd92d1fc0e775dfe106a1e2b173d0e3c7700647b493cf6f078fcdbd99cd0593998a7bddfa70825d281e60dd063a2c1ffe5f21c95022b2d08c918db42cd9cf3ea63af6f0289f595289337874ec4de587ddaa0333c19d9ce37b67e3b01593b810555bc7d38629ba941252fb8217086a94e28cf55fcdfdc8351c22ba71bfbba18da3a9f20cdde148a8fef358848bde19b383c8ca6ebf1e4061186a4833307c91ffd21117df54507957b6dc03587fe9bb2c575e6debda15e6bbb0d960e29a320a8864b8e10d773829e32127ca5ac54bfe6318d11362136c5733ffc96f5722035e5956cfc7ad36ea820e1e4113c7e0a7a3548ecc199fade227acfc4cd5e7660ffe29fda446c148a467991cb35b3333160649d513df92f22a2ffbed8e67033be40dfe7d9fafe329903de35eaba9d03f17c51ee56cfe6950649e43e15dc77f6ae9bad87231d7644f68636348a91b81dcb54caaa3d4b5241b4590a55c7e7f761d7e87e1c066568d7861c6144e115fb00a5b90c256f3b920ef00e3e560099775680bf630b88d82139e2a3765749baa91231d199f95c78a60927992170dab48575dc3fffaaf4e7d191dacd421cb34b84d264a5cf0182790fcf5c5f531252b6cd8d3fb724d8183dbd28f9018101b6ffd242a0296283d2900a59771b8d947c8a1274d56433b15809ab726e46f72b97c13ac4cef60f794508d4c759b6d0a154cd7f3946acac0245953127b79be536ced88d3a8b2a8ca9e149311af7db922352ff032b2c8684be51bb39f0a8635f0728565aa58667652f1ec86c3bcbe9f7dc219d49be3e4ef305acfc1b13d676301e17e4dff999a100723edff408c08ec0b8c0e2eeb80c3ecff548a09a6dc04973595d05a394c0d3356829bdba54c9cad72b9e1dac84d427f9134056f6a9d849d016ae2af1aa3dbfd3cfbf2226434d23d28d7074952215e0bba53145a00b49064925b5e04b857f9b4d26a12e00313837a4b6837e55ac3cb85fcb2ef721a18494df96e2c16855853a53d91ebd867a03960bb86616fdc6b1e835219c47ffede923aacd89f8c66bfa282e900b35878b93ef585159495a87c647d29100cff4de6d762a885764b4cb488fc58102aca04c2972fc68da4090b7abe5ca69f6fddcaa4bb065f15a9b2379f58d8a89ebdc4aaf2db4a3b9ed33e096ffe04128c2f0bdf837fd0088a74f10e20407bdfa57bfbe97a1957c66897712b1384d57929c3e932f8f4e21e3a52aacdffc32740ef2ad0a332b0dbb7196cdbc4b807899ca1b52249451ac5f419199f0401dff4d31ae214820a352a5c9e0e42f1b8ca3196f63b3eca67ac0a69e0c316e238a26f7793795e5e4a103b1aa958fe8f237c754a026e5caf061f2b8d1d9544d937d998bacb481a4955bc8064588ebd0608eb8d430fac48b243372be7d76f34b4f222ac35dabd5b56bd3d51449a32290225701b0a71f0bbf165d84d3e77092bde34051b6a51644e7c17d73c7d9eb7edd5fa8c6ee2d012f166167cfdfaac5ada2454ccf4d64664c278e8fed5e99a147c89877cbf680872e5e53d3f69c49922d141c7f717e2c8e7713a138d566aa06e7732d098c3c7f8e781820fd25c1fef752c80d5e4923b32296b3b58e1892fa72413cd4bdeeefcb6e4429d7fc796f1a8a9de31f6c8693084bbfcc56484cb89a42202fd2ebde0c0ee25589fe272600dc7ec08338664b5bccaf15531c9965e2a3c967b2f987326f79d48b039a45f2963d976cfe8ceb8be82383e684526f93baa19866e113ca3cf6388be7a19f071e23c3ba5c42682ed220e54244800c24d9194c10154545d3b9022b8a5a36c8e31c26b794a34ec1caa489820d46f576093b7a62cb2bfffb395aa850303a8d05f5862962f115643606bc4f764dea41cfbc07c0b061d687fb5d436ea3046faf88c3c5cdcff5db4f9cf64731f2b560cf5fc0e622e1655942377bedbb250da1652b9d9a87757329a0f4f6239559f28b6b8a4096092f425c59852bbb5c30ad914c13ece468daaefb973cf88cb800b716cf2be212b00870a4a9969bc53013e598d9a6b3133427731c872a53017c19a90ffa005a3f7103994a71c76f59a71125a8a25f94cb22882de89425be63e2123b892e81294a53ce40fc8a9cea017964ca9fe5f483472d292e8523d72c9e6784ededef5d398338eddeb5dbcf2e245d7b070ab04efe4b93b1abea686b73fa7c23986af11e7a9fc29747e1b77d42dba7c66873a225c1b33f70e7c542eb6968ce137e740ab3a25d38b838911b98bee2dc0434d2e58ca53e51cf56805a2225f8115b3d27f898203440c8748fb61a17445685106a0a6886947efc4845e5f7bf3afe639d37a9f1c6b4e34242bbcbc2d5330a3566932aa651376edf42249603e31a3983e572638023bc8ffc5222086476e76c9a309acca11256a046df42e4ee8e3cc281acb8ebd72f185fd5360540b264a8c0859f2779f2f3418f8fddd0da12901e43833f681c25408897803b0e0ad27ba65287c912559da272c1e737fc78c66ef7a73ee1b127ab0393485d5de9cce2398b6d44649429d939de5f9df2490c45c7ce61ba5487db9d4d233dfa238304a509db0fe81aff2f6d271d78ed7ac503134096cf0df1b4197ac44a9a844d2ccfcc20735cd6780aa86e9a164d1426943c7b6669ed087c8d4b4aaa5bcee12e5b6662617391ecc6531e77b7d30802e27366276f9f5e68aa1dd3031908e739ed6c3532a717ce74b707d6c661f6a125a788145bd13a26514acde6c4fb9e803f4b870bbc527f000b4ec3629ed8985fae6ea8f1658220567430c7977059721f673786b2b36e7ac751066a13e363e15273e3d5ef01546dc6191405d4ef273c1afe6bb32284af7478645265ffcc1481cb8a29c108acd22b6bcf9abecfb3e7e9a44ae06c705951e7c28d3dc7d63ef9ab585e27d70c5eee12a71eedca6df360539abe5f53e43c365e4983d71ebc9f1866537b5f0287ec4ac1e801ac72c583f5871af60ddeffb682cc8a9b5e1c8674aab217f1a16f0b9441215e2c1d4cd90a965a2f302f0fc2cbe12e4be40ac3d39e75f3b9655681a106c78ce4719e8bb989738ff2a3b1d7207bab5de7b19e2ffb526d9cb8ad3df9ec668aefba314b9aad1575885d493062425c05ea67670e73cb722f6673efa6fcec558fdfe7a9132d62dfd00fbad5f616b5480fa921ce4b6d5a4a1aaf30ede8f56a89bd3fa87c38de93f63f15f99c075036d45cb29da1707309874c715acba3ce66ebe7e0c54b2ec47b0e690ad0b802aacd00bfd48dd8b5dba8044d57c77b4a3dfebd553928cb13e7ee9df090dba57cd87bf7c960f9f11022257a57f80073e54f09db8ae209b546ddcc9e69a0015ce105e6fe8d6999614391729300fba258aabd7c483450d893fe6b50812dee8889f2fbba6e95de3eb24121e756209f160d3be1f0fb18b36f35b8bead10909658ac54ef6a4d3aed03fef687204ae01a19a1f591d7106bc5d9b78d2a12ce9fd37ddf36bb429c7d93b74b7f1d67907e6dbaaa96983d31d5d7da9f7d0e9d406122390bfa2786ae0636379df286e9a0c89d3f819e664cdde24fa123d78ecef698a52f70db545135edefa9c443af9109a1ec735c099f873a0becb046a4c0911bca87a767eb788d38d999c7d0a62e17361757e969674bfdd25e17d913741d8dcf66414ee71557216fd7c0b1e55d428e5651667d91b56f258c4097c00258ccb778ece0b94eb07db5f80d2a14cf0906e7769edb66014e623284173f3b280d7f935e4f17a9b26a6fe3b084e9efd2137acd96df8231e83d3ec29906b6461e5cc7748a5daaf3311755411c458e400aaf7db413c746a44fc772fdd47d025733da72b24c67c250182b8fbfb77bed8b6f02d0ef1387610d029250cdce288f10948ef96253a377754b74f0992b041135aeb430c2d649f85fec30e0e2b29e3e29be628fefd9966cb4280c0412be76e89ff13df765770bdc37b19b783aefb76a5f18625e60796697111ff6adce134c32ead8ef3dbc7c0d4318d02d8770ac8c8bb468024be81f700ec0883b2ad46626e55dc30150cd9798f555580cbbbc5cb5d5c0cffa96e79b813ed94bbe8722a45babe3a51bd04782a3b2d40d93aa3c503df4db3b190ff169e1d597ccd97bdb024e9d7ef77b60cdb9238f7d9fb160efbd87980256705afc8123bb875b21c1dceb63a5eebdd84c0e8b592dfa56572127874f92c2892ccad7dcb5f0855ec3f90e01f4014537f635679a0f8fa73db2c1599c054666c10dd063e51a2d29b12170eb21afd7017a355299fe6e4b63bff1cd1602dd7eaa422ae86fae00b70248f5f1807faa53c9d601b0058823ee09eb2079847bfc60678b747e48bcab3cd8867976b33d3dbb0785d8a99262eaf6c995d195b23577a78be75d047f9ffdc05c8a4f12a98b2e43f2511aa0e3f5b4595f0f7098840966d1f0d7ed39cc09d7d7d67024a3298b6bf3a13c0d754c15c56659481bd5c89bef4c6e20cae1160bfc69681d55afd73d42cef7c56dc8c0c2546bbcec60d1dcb05b12fbba214b82ecb420bf87a0410ffff7de5fe7af3f034e44d9568cdb87d91ebc390405e8a2e564e2b856efa8ea42d4bdd4e0fa8a1eb6c731cce060463eabbfd3343a1d2d755a5c9386b84203b61eacfb5b706e6709da4586b5dba879e95b5e47566b0759038876a528fdce792b94b996020ce876a24a8335622adfbba79fc84fa1f2dfc03a14c70d0831a407923cc2bfbe4582459637632a4e0b87a648697a31d91b69ab95843a082b1a7ba4c9e48ca0857993495eb14d3cf9dac19f689a0f358f7bc16883af6b2612649e42dd05b266f774ea65f6ee6e95685de0f53ba760a730861b9dbe30f4a19c0cf161342952d1b1a989fdde52e14a9814a11eb3bcee1e4f4ee24d366f36e986af92a13ed6e63b902eb14c1618d10321401c090f76338147028c4b3cf1d27bae5083e421fbb27425c3ebd163c4071b21b2d5b39be2413cf5929f05706dd5b34867eee8bdfb2470731e651adec1b2eeeb98eeca3589ff9a82471ce49347897f4f69515478e66ebde3eb306a6b63696953725b11c496caed8b30257da9c0c7eace2151c3c0da181a8fb51b1d235b5c21ea484fe9ab46369678d4ae8f810ea4fc5d932af0387e48746b6ab98daf6b27fe64ec358e4b0c51adeb619a366d36ef0032dcbb549083541b231e8ad3ae51b279c7527e470d913b0c4f323593f5c83e1e4b5ecef285f087b5f7e65b62d0d1e74bd80fb2ce5a376d660122ded8059722b58b7dd8a22e4b2afb5632f9277d153c51d5bc574f6faa0bff81eb28fe928270ace21af92873a5720a335e8ebc7c3ebdb2297a09e1e5f74670724a400212e69c7b8c6466176cad898fa96f8af635416441cd97ec89feff887ab37162976bfa10eada5e89396080b8c1a3dd250889c1c97ab053b779830fea12d0f4384996bffe06ec9d0d3748069e7c9089b3c8b2a8bf6fd97429148e8cf9f1ad1f2cd2f7c6ff3c09385c7e0465f31affa13192aff0bb20d84074e15979be817e74b2004af3dd7259c3140c238133df20defb6653c470b6e77516154e70e101ba1a71340dcb2f07d653e0de04245e42ad8d09eb256fe69a7821347a254a9f8fd86d97c123a308bf62dbe7ffeb39f99ddeb6d00e8bab6ff130fa974fac2344bb744b16ef9a80f014e0f3286ce73a857d64cd72594fd22475d3598b55dcc94e47bf7b5c070e01ed1f22b38f1018e719032e407b05ca6497d9c2228c3e81b9f3a394ffbf1af22e26ce130f115aedb95fd05139a16f95f7695d6a215917e651940f876c4ab34fade57389644b3f91bab301f1472917fe8f6eeafa7db246cfdd63fc73518802b93e99ec1e8d27164ff433cba957b9055544b5d886e910b062aa89d4b56fd648db6446fde3aeb1850339c37fd3fd8df3f4b52f3d0bbd2ff56637388e3a338eb95185495c8e3706d955c36c1562e26fd618f52b83ce92a11f1c1ae326295c03be4a667b43746b1c1af68dd62d413b5aaddf11406af4c2d713e4e561d593a7d6a2bb928b96ddeb3294c7d356c99c3e4afd73d6ae57b7ce754283a558c7c7ef62a571e077e44fc604005f39b3c3f561bb5a3696023329baa9be1a0d325b8da4a129ae77ea3387b1d0176df1a4003667f5b351c1d9c628bc685522fc99a46539f0dcbe524d30387affac126e4a4312ad977ce6b2e2a186e72c6c2ef63d6663044561910bbe15defe3f9545fc3eb0fd3af53b897ce2d6806289511ed807fcb55d23a63a21e4e66a4532733708481cc495d22864ec3a9d87b33e1b0c4ecb3a6facb9851486f1427db710a4cc421c07fda2b18c19ac46c6e0c8f83b5a1f33386b70e0eea95a3bc9204c5e489b8153c3dcc34eaa3368f78ce18323aaf4f288e5b03a0dded14efca98c1cd93f506fcf029c6c328585044b279a38dd218a1047eda81b8a905f3054a636a905ef9bb7aa9c552c8f46f0c0f46e438b0dc6c3e8ce2aa502cb4fa09b14aeb501f4346a450db6178d33e7509ad07fc62d9a37fe2795b42271ae01648a7f76d540903383686fc2907c4c3e9d415d4de36460a3d58fbcf620d494274cf992956f1eaba016ca6a4dc99b252ed89ff75a367f8e3d92865ac0946ab0dd58d656c07566eca86c5c7969102e192a27ba464bc6b2a1a540d30c062cbb7188b45733a9700fa20e6da693168ea44887b65bd6d0307a72cfb5338215c9673ad7176506d5e6f4abec02dfa73fa53dd74c8705c5895c8bb7baf528a2b641c8a13b5216b27e9555f3ad6bf99f3a4b572ef312efff9d84bf8c7ce672aabad95820c90b3245f138bd5c8ab86d73bcd6b81f7a058a4c7028cc6ead056ec355eb9062b4c5ba01d6a55c481ad1fc60af86b6a5e72f044c918fcfeb50f6a69f72bc835d19bea4f5faf7511edf739167342d0ed614ee7f9540f7e3d14c89aaf83dfd9ce5ad41c3940d3e97cc445ebf410c7156871e8c3893365120cdce6387e3c508ea3c94ad6a97a06d535ea6a78aff7e77025c9ad07119d1ecac810ae0e6c40a6502293efe29a1727c907be8fc8febd5b94e8b3239c98dcc560b0b584d4214911215fc1db2fd9549c05298289c91be7b67f4b524aa5d61e61a7bce202e86c971a63bde87b72cc73a76c547cc2c481958223174188fc9ed04ebdd33ee6cfb59c8d8beaacb7e7969bdd5159c498117ba85789cd41bc92be9519de1aaef56426c594a4fe66dc20c5db511961753834e5e514ee14e72b05d365951b8c6125b6c519d7bdf11b36d489143234d62de9b35003e9cbae65512c44477a356ac37cd47e72d26b018a6a85fbda2c7f2541eb403a2f06f7d773fd7138f1edc36f6db5ff555ff145753bbc88a84b32d1cb8947724d6a41d7adc4a2fcac8fb883bd1db89d0a3be6f3cb7d43c5b5c27c53a93c4f0a473357a8658953830babbc201256a7547b0a526d0e51285106a945d78523335becf95ed581957b89db36861d10da224ca94ac584f195b1cc488ee9f0dcc3c54444c782205a5c0c0ab904d8c3e2eed1d4b5e850f3b632ea35eb2dfd8fdfa92727123f5df8e3e11ac557243997d9713fe060ac4ab4f1c91e10698c514d1b3a56e8e7c6c658aabdde2a447011c22ab166bbd3cc1bce35bf9de8ae38c757d7bd31f3d2d34b3b9b75ad6cb5de6cbb5012f26fe4641747de1fb15edd629c572a8c42c0213f89594ee5c1aaf913d1451d4252bde932df5ec8fc7ce6bda1de43abec579de5faf49167201026ed201464744f5d5be8486e4bc5f4631a9490fd8f343d27c231dad2787ebd09d93e797cdb7138b48a39b055e95fd7247203e4cdc97256bd1662a9707d51dd5ca70a28e57f510bb8737546d80a6e3530a73a83606c8cf9580363e9efeecca7b21778095791e5e576f00b62f55f90bdfe992e5a3efb3ef11c4cda4e7e10db80fcc3a081c9051121b7d5d58577c7874f12db27cd8b3ee1921deeec675e39ed26c15c88aac3bb0e74de43179e05cf1aeb6a840f85df692d4b8ae580c06f3ee00e570079e75193dda3a9960626f59e707efddc404e9d815cff7dac00eae922187fccaef46bba23fe220621e7ff145abc344658eb018a2069d190365b45ea993531fe832ee17ed4687e7c1fe4e504e496769fbceb5345e5e2b4ae7b03a46ba0faa6d1da4c86270b532348c4ce2c8e260a39b76aa572afcb1841be62307d17cc314a8c0be8c37a4ad1952d1306171f177f431fd6ec450305ca62d689f2c724eea01fd10208800e48d5b44498013c3a9e9dbe6d7921090a88f704b246815f9b3402a9436a6d45836069d871e9abe058213b882bb775a81d89a00fd19432eb1aac1d13db57866ba1e36a7c5bbe54b4a745cb42ace58d00a87d79378af623a8080be33ef05f86a064ff488200af72c8af40c905b039b3c3a671e1add7be1ea314bf270994077c0d2640fe15da33d973d498533770b39adb2cd63bc44e1579175bd0f1d75a5c33ae27bd40b6c3b0a5423ee354cf43b2bef8690ea3146d30a26b765fb98713ee61b83ba002406dd5054c0b158ecd2709c1ca26bdea8cca0515988e6419988ad86f855465c7f994319a4dbc0617bda93a71a666e7513e452155951e6bc33208101a60e83bac0a902259416492c21f3b6018506cff0b64a82903ebc1dcdd10544b578d2fe58c9ceea3a5e6c25946d4250d99df8cec15b9c767bc971a78fabd18623931568bfa3dfd6e1c6205be00369f61e3a82c75de59c30c3bae8eba68b6ef365c8ae58ef540e304e3d233bc5fb6c38ed783c1a5daf562360c30c1b60ee1ee4fdd8e6eb2ade03f4097e768a64bb8df35880f5327d3d9ac542c27265569bddb3257ed3433c2faac77884c249a5181adbf15e173822f6ba0b4006edf4c53004d93f045cceba76143d5356e0011128e590f0684a82e25a4edf333e7a8c7290eb88c69fe9b556a7dcba206aa3ffc4cd9f363f0c9bb3f2aeccbccff6327c9edb82fdadb96dde09935aaa31265c28f47b8dcb0bd3a18b89deb7659eeefe1825689abf37568f701cf626a46d8886afa7288ba552754781f55f5c51c4823efd1a3c3ee77652be732d2b2f15f5046ec80e011727cc860ec77e9da4c38fd0457c1d738c4e00cd686de77dbfaacaac22774cc5e55efaf3500e1801f21b7d4cddd551b8c5984b4af997bd005b73a79e140e00d902ac2e302217e2e6ba745189124c5da716bac2684574bd9e83f3f0d74cc92b2a032c9ab441dd224390d0521d5b1769e2bda67ae249bcfcc1e04a51912e9e8e5f9e7fc600ab944634f1a6c54b7cc6235be1fa30f3c5ebae7df2f8cb0675a3bc88595d78baec93462cea3978c7128a7a4961aed9d56cd8b0e50bd291f5882fb922095efb8bcd13cc10b356e335b2a2f18a83aa5b746103f47267d165040ae5764cbeb4eb81b53ff2b7c34577b9ff848bbe5872633b70c40a24c54ded0ea6b431bc86d7ecda66c2e4037717a51942bb67c51e70546722cbd22a7d35d2b24d45b3e22ebf34b7fe97dd5d74ca5ff5d89e99dfb13f68bad565ef0531e2752e883a19bc98a8c0dc676c4d5aa49a77d0eca1f0f7a85f467863cbea51e61281be7d3400e4ad3dfd71d2898b7826ec2d0a803b8cf475379ecc1dd59905704186289a876e31aa6d290ebf3b9f06c58cefa7d35b9763da49efe5433372aa657ede3bb91c3410063de3e62a45e0dfaf6ad3ba3a981eadd692972f807f70eee8fd08764dcae27ba6fbfc7404a2da20194f466b6cbc0a1c7f6f17458d0eb3440a679cda0d1a356cc8187dfadacee27e9777af8da4d260240181eddb150f53426d2979339758b354efa00e4f7ca29ec35b74bd4370566cb09cb5e4483496d0217b6a45a97579e0cb727c6d75947d9433eb2d32c975e727abda0f92de73c1a187614b5db0e177c43c55e5082850fd40cad55fca59fcca79224239f9d3238d4d6384befa040988bcf46bbc6a851e3b5ec37960b7beb9fa964c1b9aed1a6dd5fb06091e50f5a98c53562d7ff3de93680fc2f467b96d0c94a5e1c499ef98a97337b8d66a2bbbf7de45a9775e965e5b1ef233e6b150b7238c39f15c02c0a4c5e0fd7dc1a9a53d262088f230c6f695b2b1a618ec0e07d241988b66b860ae9c969d67e2f64201dfa715b47d410fcf4ccfed1a9b0d95010f318e5038889dfd3bcf098afbeef81e5ad3a752ca128e018b2154b6fb559ee87da37370235bcd403308981f2dc2a529b51e939a465e9d1e442db4666db01b2084dcf3d0021b537d4e0a41e3ed4b60798d0d68456796474d22d20d7e33a08e9bed88bd4be82449b231067536f94f42b37eef79a3e46c3c34282bff3dfcf0b8f6067b5d4bc266065c4178bb37795e25e45d8ce5186ab23614d6f5b9fc6384f4adf908b2ea94a6b67f3928b53ccf4a429b6bfbab5a5735c42b88436c560ea973f8d160a321d5bfceccd2b2b2c152830bf581594221290f701ec8106f4c3399faef0c30fdd692cb7da86f34179e8b060bf84e1a90ede31e21549588b3b7822a4b0e200b65fd338da89d22341db7df966be364053607773f0a46daec98461c3716f4f92f4c8e7846c940c7500a624d7264ee6612f08bb2b2fef2fbc41b6d8f68c151ed04821c6b325445e2383f85a82aaf67dfa31f20d906ee991988fe697e2de79c00edda292c13789c78ce9c70e5320c50aca8c3524a746d6399bd36a259eb1934a996febed820467c6d1079dcac89f6bf16712337dba4019d2ce041b71903559398c27c4b9242e8780d30d7f3ab71af7a49bfb082b3717d447d3c59459708795d3974aff8a7ce4b3164f4a4698e4d736cc36500d6bffb8e96dd46b617423268508d93809335fc0182840b454f97f310f2d87a01ebc76adf181aaf0957700270d02ac2524c9d8c78611bac97a3df1e05d00da07f94926e71f5fb1b8e06abb8d7a27c222e54604f2c9ba52b081eedfa9fe2eb859d3c4e6d3e5f3a4eacc4796edaaf568bea0c017bf222e1a1a5adde7a1149073a5dea188686498e1720a94be45cb3e3ae6143f5ee0c7c2be6cb921b7edb505ddfbab7db85dbd2d56aeeb948f64da3b5eb5bbed4be53fe9ca796855cf3f752149cb48b251eb9b46deab44bacce63b126aa791d68181edcc10de36d5df2b6a049f15d5a833a9a9d87fb55e7d65745f880c8d647fcbbe3dcbb51bbb79f77b302c8ae68b89cf14bfb2b70d3906f7c4e54aad335dfd7f0e565198dae3ecb4ed34113a6bf2de323447e48b2f54077b7abbb287b966e8a75a57a676b95d6afe10b95fb6765753503d1e0d7957ae634e21c4e21c6109c2002598a3f703a12f5805cfd81bac0a55463088df79839caf525512ed5493ffd144294ccc752d8e958e551ca683886e4ada4f2f826ee0a3bbb20cee09a42b9775cc50a5a231fc89b28077c27bb15934ed60598a78408533d6bcc3579602a75a4ab45cc3d4975ad3d6407df12e6aaddfa13c254e56cd09689ddcaba2575b7f092c4ef3a716d436c6f7a127749e699f92c24d93578ab4401b43dab55f36af9deb7e569bcd12eb4d60155690dbfbb4ee588f4c1d6b24088ec2fcbf5b47cfe4e1fda2b28db9b1bd87444086c6e280d18de1e6c04c24ba295c24e52b9c844916a977a8cbe747a9f5ffd71742032545ac71c88c6754ea7f4f5ff0891080f5a6f7ccc1e4857b1ccb3af9ee88060281be3e32bea8b86e1fa0913381c372251c0cb2aaeafda463b52c139d15c3a1302432bc62fa925d1ed5aa14b7c605d8ae33abca00567f1627dd0ee2830cb3b3f2c9668ebdcdd94ac1adda341f971a7d4f56f1720f13509cf5e4786f6485cdaee84a8ddb561e5ea3822e675965716dbf7b1022e9b128db482fba7e2bbac680106be3e7782f66e20954e76a2de817655317c372cf67b4cfe08f7640d0a555a84571978b25ed856101dc0bc6f1c4e10f5541917b106353d8334f7656dc8b833cd3e412812b96eb2656f2248e06b52e1fffc90d7f1ecd56e9f6876c74570f35434117236acb313e7ec239be8e265de3a293ed9f7d388ec8f032f9319079afa43881d5650972a47f31f4cb50174b56a985afb717d718951926d931172f0e7e0abf24d52aad93208c7373584332827dcb77f61d6f6fd74535aac57ac452d84d8c4dc401fef3f6876e92e81316eccffb28323eefaf7a8bf64f801da1a1c914f7c900f4e93d5a1c7f8066840a395e8026bf8315a98576be1b5f36b1ba7a148128f2c5faa946dc9b8368098ca0e26ea050e0917c41b4b3b23db508b37079e7696be9231b8864b0f8a950147af778170c4b9b2e3850cd71bcaa6d17fa741eacba6a5dc54b4f8d577434984bcb25b69e0b0649403b4513873c6f1610603a9ba1115842395fcbbbde45c7af76ab42aac679849b6366cad5b53e73e48551034a107f5afdfd9918586264c1f8c04000925b99c8ec52ae4e768072588975c133ada4c61f28cfac60294d7a2e400cc56903824e34cb7e4e888bd05722306b5dbf399f8a80f59f679e8ad57b36d523dc045d6a18bd51b07650f758f1d95c388f8a138692f73053b094fe55fc15992f7fa25658fba3c7299555832f764e2b6449c736758d7c076df835053f8074ab59c0981e5ca8cc4daf550260c394f97ff46a4ce35dc016c31d87cb061f1cfd1e990e4408623fe7743d9a6e0af3137814aa600da2b2e4726da69da579203ab5a6825dcb2af92891dec576324768ea77c80b0ff1503dff4e6416f3fd206704f3463a899f2e8a439948102760083fa0b426ee29cca40b501bc3b5dec4719127ef3acb892edb5eb4f130af7eed9e272a8e9f7e13a4a5c5864e1ad4220d447f67f38bdd383032a3a2fd456f02e845b1dfef327485fcdea7d59ad73d01e741a8181fa85d29fc3a615e1392852c37aaf84eb21d826ffad3e0dcb37941053792aa7b20c6f87a2746dc9940ff4d8611e80e75635b2ad87c17dd46c7016526c665558f897ae92f972928635a324a1bc54e2ed95656424642a2dd49cfc5f888070dcc277dcaa7eb8d0998cee7bedfbf1de677ea02220126cee6cddb63bb9d9eeade24b7bebe2d952889fa1b840954d0f20f06b1a38c6df6246d8d8dd7ece5b33fb415ddfef81bf33cdca9b62010bbf671dad2650a5de0cf9347a8810a33b947f5afb2227888560df1834345a9a2e7dd5e14456d78d1e0683c78aeb3f3efbc1640be6739d999faeceff70f545bdfa3920542085c55aff88ad7e92eb74fa63980023b40df7ae77dbc47ed712a7d18790240c81e1583fed4aacddaebe12aaecf42ae9cde3bf11622287b09872e6c40541ca743a8a7f8038897c4e5e2478402d86790d6f17e59ad9bca617a508eef2adff05f43b77e0f9c1875e7620a69c29c32f48c7fd9bc4f57893602989cd3acd6795a6a8928223b4e31594b6ec87c9e40f60a008a9f7b6a592ad161a16d0e7f44ab3d5c29b78c4ea6b04bac4bac289bc356041c112f50d2a8507fea179e17aa92edbc30236a57b67976e11790b770a4d11c91a12b0eb1608a604eb4b17664e854720cf55e08e2d153fe7e75faa6b3322f983966182923f7212765813ddea9f1c3504b5a26c32e969d4677ae2399e9d42d477eb5a49120bae986a824f16b23604f5f233cf7e21eb24d60324846124a1d3bac8ed2bf52e6b948dde8c1dd3b5ed93b38054ad72d234222ae9be9ecc6da2a545ab6a360437f02b4765ebe3344340cbcbd9341a53351c90d76472ded708c662d1d6c93adb118219bb52bd5b29f62f5d3bb94dba2512a2c83986880287b6e0b49838e2cc6e6bc6b4d71b34bd273c6c34fdcf0d0c0d124d1ed259f00e552b55a6734bba7e2359b14326c9f74e21d8ae3d6f1cf113b72e1e60e31088c3bd2efe48ae94c9f04b697c9c7e193368f354ac7f6b326bae08d854aaeb2ee90aa353b644192d2429f942f8fc696467e4ee9da4b783f912eb16b4c3081de10a0933ca4485179844749432e79eef81a88a95fcf092ad6f0a67d53fe1b785543854a2eb7c61618cf7f67882cf6ddb8ffdd53ce6ed7a290a3340cedb287eb2e756457cb198a98a36f9a7b26c534c81256cba5738b36e0e91a6eb55a12d9714958bc65e395f22380bec91d60a18fc6af8317cd15bce9fb5836ab2a17df741f5fc9004e6dacb7418f30cdfc63129b345d5090912c371f6dd25432b4359c1b7e1e0e42d3657588dab61ab79146c842c747c14783e1d23f69961f37b11e9a09e376e30ecc58809e4bc78a33318b48305011113dd020b2cfe5568d757ab3d9f6af30293ef3bc1ec7d5fb7b44f814825f7ce3d2774ef15015ce4803720958405963d17a886a125a93e06b08e86c16efc29e227fbadd13f5d0ab3ff9871dc7a2862a9646abb4d37f2b1b79193b4baabefb88f6f37871826b4cf30c5281cc4b789b5505114c83f208b482b92ee83bdea4b67d8cc28967fd60a70a6b057c23ace4ac8565fef9abf6cd03fc907439ae77cadee8b9313fcd988f13774fd5feed3199f1d3da93462d507fd929bc32af9e65cff9fd7a7f73c1e640b9ec640ddf92d422e2255784539a26527536536fa7b6017f1a43f001f67a2c3359aac26870a292594c11c1d4a9504eb56672bebed66de7134a7a41d61ff70b0c752ea8fd68a64b68c8f3b3b49f9078722dae5f55b3aafe3e6f69a42746016a26192ab4c9662f572df984db469fb1b33215d44d8bb3b9266706c7680fe75035bedbcf0dffb0fb411c1772e4851f855f9d2c97e15723f704c8b9bfa4d7eaca60dc52ac2f37976ef8fc7c59a5a8914e4d25a3f96b0bc54ab69b160b720ef0330b9496a12ebe6405992bee3d1362900640cec1573e642b60d0242f62b6d70dee5cd02bf9eaa9b607cf8e0cbb1fe2aa42f7ae3f305c9ccd5d983ef61029ec505860d453816c694d10499a87b948feb2e0769cfc34644cf8f5602b17750ddbdd49236b0daf9b241623c246dba15ab9add8408e4c39df5d7acecdacb73bbcc777cf0dbe0140d94bc2becc1d063353194086d66423e5da150c301e8dd689f1dc179e637fd7f86a4af67c04590a66e00653a86b5a6812e86d8aaf21f53bedc13dcdb277c2d16a13ebb8a426722195121e536f4cddc2d7fe5e11223c5125787a92a24cfc7162f94f25b2f5f82bee90f17eadbc30e1d33b55644e4792342cd6eaf0ab5596dbe2f52c7ea7daba68c2171a63bd6ca07028eae3744b56eed493e45b6d3ce2f844b74740c1525f620aaf3ddd7abba1ae34c8ba83b166c201960d90f4fef9bea865d2ccf6452f95aaa363b7c91ead34bf7860b3e424439e3498180f74dc19a07b63df873e1a2c57f4f3a0833784c4ad959e4e15c1c273ffa257a652c10728c4615793022529a6e4b560fced3db45c93e223d81a2d5d350b3e01d2e95f8a854bc0ec28cfc79fef17c67963f5e6944ce2df818a5e270ddb6ab51f623730b7e409ff7b3e38cb405bf8a87af2d27f2c2142d6b5861b1b03eca1954d5bf49e626615ae7a6ff900e30781473dff3f27bd692c1c8c66333979fc6135036de9fe0f0a5b7298423d7464028ffcd79f8ee36ec136c6a093709c72a1c77b0943f54641a8683482d9f27b5b8f02f2e1ce82048d7f71cf3ea3c464ec9a03ebc7a67e00073503d0c81f86594da6d2ac1d22c0b8f396b182781efde0504083e43f743d1291e4fc7ca6cad38929e0cfcaf8cc8204e619d5fcb2a6d4eb0410417631c8a6b056b9b105f1fd94eb1f1adcce87aad0a129fdf87fbf3ffe1ef370fa47561dda47e90156ea0670cd13129da2a9517e852efe68107a48c24b1e55417d409ca27f18877b157d6bda1f328841ecfefd880ffd804e7fe3b48832621462cfe84b17d8ede57ccbfa871962a75b6026dfaf2a77a01447559062040e1ef3da52be9a68e1b9623f547a444b883c3ddba0867bbc285bddcfb9bc90ff3053771e6c39d7efc785670640b1db9f129a6a5cb725b73d253391d28c13fc54b8e8919169a464cc1a4e54e8c8c885992856fa41ba0f72a39fe0c8f726e18e8ae052ce1ba17e89a6d43977b0ce0a7fba3431398f499a7bd8f8c2c47a839d9bfb3711a13eb52be56938eab0e6b1cb33dfd38591129fb6d5efda087a7088e15bde165b958d9d82f96470dbf960e1273eba1cf613cd40e4abf50eea588077df02c939827a7975d6b41d5dae8592614a811e5c90f5acdad8c783a642539d6c0dfcf1235b6e6752fcb6c2ad5983c247dc5922bde96911350519ccc96e495c705ba0bdc2e2f117c0b43e08309d7afcb5de2383f4ad486e779b35828f428468e98e948b7f57ed7e5aa6415c03cf9342c873e92d542dc1f51753df3d46f89e032da5674871e37bec6f4d6bbf2ce60d6be76afce6987be9cbf5d8f59e6a161851a6a2ab2ca4af44c348a6b4be9a2defc38ad37e0913744bca05202940bb49a3eb55c0001d7849f574f58fb92d3ea43f2be7671c832ad8a706c37481a159f52e4c1f44a65501f551d9175e1715dc225a322187e8f9acd102043eaeffac852952efb6c9e6bedbb43b3a02b8af7c45b00af56c2f647788614d5e2bd6d4f4820d68f8576cf428322a829e7a7bfb02db75eae39f0ba0e9811f7dbfd175f4220203afe7b19af05d5b8d7ae46362dee9edea65fad623eb27e30481037687d50ab5a8a4db26fef74f9aac0d17e8c4937b3b2ab4876bc2fa36b7e57f55fdd9c429d765988f6c3d01ec60131b224127f8b3b91f095e9126acec933aaf32b032e03d111a78f7f8e128e8e221f6e3122c11943e0de06ba714ad989f761d2396eb700427f9575572cfe60c46ebf39f8e84b141bf87a31815b9a0148e3f9e16b5511f53ece011cfbd7339ed31e4c0fa5ac1682a5cae2c58dc3561ce4aadf8e7b6c975c4d4b50705024fa5aa48c33c6f10696b9528cd5b3eb84ed57bcee939591d1747b1baa2b4671b35d2e17c8ed65626ccc33d4f60f59ffcdd8c681f798e2e3035dd8a8ed3f2a4bc87035d780bb270b9be684b4c7f108f5fa591ae9afaf4d95c3e266a950cdca8549cfba7132e4e316e44a543dc412c6694a759845b4970f84eb10a508b6777833f4bf1f4e34b39a3a919e6d7b367c5618f5239313baea3957ebb2b18d5edcd1cde340b75927a9b214db0b76854ba2dca3f2d459996bfb3c16663b2fb2dd7839f1ca61ea86a15e3e7f81fb691d31fbb743c7b3b9de355508038d4cb7be46f51a8ed4b7eb23b02d041c2a38e56f6a87bbd19d93ed3fa391b65d32ab0c06bb6b5c774d88b5cddc77a5ca259b280e411254d2d6efe4a0783cbd79b69b2dc0119e0c3727f341ffe4cefa3b65b2a53017b0ca89517a3475d4020cc7accd0d18b41470f84e24b236d7f3e9c35dea6acd5d1515399e60c7012e29fee37d1643619a277f7780f3192dec3fdc661c86e5842c21fb63b8fa905898592132badfc0201c1cb3d8a4369b31cc6932cb44773aed71be1890be01f895ca0ffa3ffa6cfb06667286fb319218397a034155b7e27d6e7fda7b733269e585c5cbecb629c42990eb0d9b333c61f52d28b8b179b022c94d98694d8efeecb372a5b9d5ff54425123a6f0d4ecf0387a9d352963ef874456ce0b4709291fbca4558f217c815dfac64941294231f1bd6e9fbd0264c90cb0cc5b67a22882a63da5386c084bd6fe3f5356cbbe6596a239a0bb8f7f5609ae0347e17276bc45bbc1d17c682ab72ad4049209082ce6cbdf6e7882fb7287dc3ad8c9c345fd37a9faf4aef7c340c6e40a1ec50603fa3fce1b6d54da017f2de95a87c0be16dab7b07386cc52081c13c37d70e3090e6e7c657f0da18dffdec26e099ff8533645faf4a8b77e6220f504a409036585d507046f2db9b521a8230330260684e90c864483f976818fa34e80fbe40a1a64f5fcec06c0000b0ab45ee93affe7aa16c735b57917a343d68f768625148efdc9d7db490501f09644cf3de8379775d6fd59b410d8a4d77fa7277c20e65f1b7cac0f99354c5994161546ee41621387df6d324e3a94bcf4f670a5f7a05c768d79436a74ff31e10f192c9ab1931db54221ba538a282371a27257e1571991c99f153fa48d7f80d2bbe01d0629512c7b19f69d446c4d2c38db7bb927cd9f77fa110da51d3217d0ab83d9c449f924d085e4060e951e58a83d710870330e6fc3400f107000395a4d1aff92dbfb212208bb57a83cca46b05252ddd9d4e6cee39a15f1c2a93757a64740ca4678f53677182744bcac4a35701e6e1fc31ec4de2810a8b75aa0dd95d825c395cc8a5af6b62ace19e8bfd5c5966b50607e8d8bde2d6c2b5bc9fd7dd43a620cc1e6b330176771e41a4774a742a53a2f50d38a3332ac335e19ac510349f7df2b6dfbfdb84d898c46bd3a8c145f6d4f41ce4b2043a764a55df3ef14fc4e30e9f40f598815dcd862e5d8a05725aaf36a5322d18293cb5511e645fa0f51bc00ccd4b3c627bea382d2b5a560a8055509e54e71b006d1635220c41950d18e9bb674ae890f73c986befbd8fb3a9046b96b8f4a4d9aa0e08ef1551041ddc579b799b6c90a453b5429365699752e54bc26ff9ba58cd42afd45806a7f1d47f89da67dc2dc5f22afbe507d479c08ddf8cbff624298306d91c8350d3c5494e8669bb6794c6b93e3487590330ddae4293434413912692e9304dd0248ec3295244d8c024d3ca665690ca72a3000c5e8e5b57afbe631145c6f77c3b817b3b0f48cd09ecd2676690de95870f027b746d119cfdb097862e0cff8ea948c4d8f5cb08ca8847744f40c9a97335c84273c69eae640e86bc5b604cff4dd2e77f7060346836a10e138b47f0ab5ff3ae6e9ae1e1f8ad538a522c61eccb0345bd4919c6d6b9ead1c3f5f41a6bd8eddd5be002585a39377818e94dfdcfd99c9ff3e5b33f5d8d19ad1c0de6996540c0dbb23f432f0ecc72b87397e64ae25552d1312ca559b9416b2ca5085f84088123c30af1cd6ecc046075045d679af420008c24015c5b4129c60d8281680b85b5d19871b064267308f1121df62c57e995967851db78fae3ad0acd4aa842c85c67c8fc5d5587e257cea6bb2e028b13fc4548d728e1b833739cff1ea97e067af3699d9e16c649cf344d2bb6d62a783fcfa8c844795495d2709454ff16250086ba3031f58cb1ee3e049c7a29a1801dd66607693cde73ffa87f4956ddfa6f8466195123ca0dcae3989d9d5091cf802ae41081e3ef4e5ad5f7e72c7a995c1428560b1ca8c4895645b763595669a44903a8db801e024a31df5b9c6980e38b39511e03acd344d4b63b7587fdc859cc4bf0fd47fb5fcae3d43887e2956ce54a0ae02776fbdf2ae29be9863b8eaa0031397563814f710c69c56b5f696a2a1a5a6e3cb0eb9d9e7180cedd67740a081523367930d48b902a06243953284799a7059748f8191a1eabea4906195dee36d74791d777d6fea19d7c24efa4cc828192cb384f32e341c831187acf47efb6cfeee21c2645dbc009cbc74306611a28bf607b88885d49bb835258e190014d357061d4c308fa135f1462a4d6f028b584586f88a327cfa331909508cce0365f869bf0e3c6d59923f0689176c201d0d6786178475475b78b78355cc25b4aec2cd49be14420eacdbabc5a38795fee1cc95d2529e167dc256cf6fb488d7139547487c58ebe08c2bae2e0dbcd7558c4b062b4ac272b22d101a23055801074bbcc7da98d048eb977225005d465869be4fb75d29501922172b260c2f280677e64d7ad167d74668d5337684598fc48214f3897c1b287d32f755eb6d4b12f3225b1a3cb03fd72a6e960522f06d9194a817e2680d95c1251e30fe437eba1a0848634f62f1c2bd905e517ff05f9e13a9076c7d128030f42d638fc379f0f222f7804b2871a3b7d223ea3436859551e8b0f96087602d1e79b2ff155adac252bf8ff24b912e7e89032ef24f1a3276d9b17cad3211dcfb655ec80cfa5bd10ce5fb7e0657af121f84adc787ad19b5df528b2add54ebb145075e5c140c2a01275064c635942f8fced1cda17dc65c73a3fda9e9aa0b5c971b937de18b478772111903cafd22d6ed6ab5bdb9ca91a277d623d49398ccb0a7cdb39ef00084b723b7720dbadf9081f2a05b49dc2f168a5ba6aebf3555ee66ba690c7d4886f9a03c99936154a916814f8b75890b37a55eb5a8dfd50e35ca47f35296d70b1658e0feff4cba41383ba42ed451c843efecffe62cf85bdbc09a4305eb89981cca668593aa76f3cffe1bd1485446a5c4933a7d411bc0b7c11a2ef3770cd5fff9a25324d811a4a6c2a534bc1042316e6f7bdd591db7128762ec51a6d5de4991909cecbb60ac1466a0938f9b328f0e2944d9964ed93bfb592d081844f1fe997d82c45b7df9827895f8baa8183333cdcf9676deb7bd7dc7909d65e8cb8b5cc996d443cffb7190f1ede8f61889764ee03e3ccd9a3f56c509f11eb715f0108b468f258fc6a8a4ef27c845b11dcd3ba039787e52801148f8186afb2c10d9b1e797e313a08e9034532bf1f389fd5bef69f5f9b881455cbec80af88636fcd408650d7acd505e74e544dddabb987b00aa3bc1819c75d61abb6deaf804200d7667dbe161a0c7a888c8983bfe6eab18cf79db90d807182cd09fa623ff4449c803fef0ff7ee740f35aa30d06c6daa826e4d4fa5ecbb478b2760753a8a366df47805d67795bc5414b37daa775d6561e4d9310b138bd9f0d825a2af27ad341f8bd9d7cc8c6e9c3a76193656c6ad243886b13666e59a8bec53b718e12c934e4871665c7ae7ce85cef56dc5bda5fdc6326b74a95e7058fa83abba503315a89cd5bf91a0886b1115f0a3ee0780b6d19a52b4f2862a81864235fa1acc9f599bf545a5a376dc1b4c13c5eaad80891f80607b2203f243dc751c66df40db499c5c2c365e2bdfc73e709b6ff1de88eb93565a97a581213091fa93071ec347441555e89847b79ed05f1b61669e7df43cd50cde8049e1c8da4e9509d844aafae481f6821dd576922a429b0d9f27a26eb15984c8047902757838eef6c07ee575c54a3bddefc63502cb34f511cfe3c2992ae2ebda991be651f5f9a62c468fafc2c9c04156234d1c87ec765adb1d44fdbdd5eab3f79b0728702dc55ab8181646ba1b922cf0cea23a1da13379f06ecbed2168b3f6221dd1a67880d9772d1ade4d1939fff0447e13e12ae349d42204838363e40ee259b93eea46ba173148a4cbd9e29751568e3dc9fa41139e94dc6e1d7466ba33ca9fed39ffe79d128a96a0de4c143d6dcbd3d3280d42978576b3e41f33ea1c9abf65b89459e2749abe36e1391df91e0b29a6d6d25511c3b5890a1808c48ccd47faeacdf12c42614834be3dcc40037e24f4583f3bade77708df42beaa04704291793e385e4f58075ff16272a817552665aec146628072f11516c3d184877d1b42231524ab1a9a197d8ed1cce1625d4af4205be5f560b8a463311da5a8351b0d15f8ce588d041595c0c74dd06cac69ce29771e4fe4630cc4e98ae649852a5a14de52dc507c31e7b5038a9807da8b207c7efb3c3ff7f5938938eb56153b23f1be2a3d9f3b1f4a1d91d380c75e6511240efc3f2595604143548d28555573670143be3303aeaea27164e03b4385218f4aea2bcb78aaa6a1d51850d410498b240ccc0262099007f7f9fcc4b5690a5007ed124e6ab4e300c7d5416da0494db05ce0440a3b1ebc54fca5df3072c5b0714baf01a0d6c81f1763f05108c54d11878684461f59163b2b286d0e76e1b283f6f885fbdef6103785fdc183e98bed687277069477920e7c08e5555387786aad520e41f367dfbf51bff8c83ac1705f59f9428dbfedb98c4405338399ba439982e9ec86f0e12017991e1fe76bc20f32375c06e632c896b9bcae2692cca101e0d85333b590cd441ea610099cfaaced0d06353ffe617ca143bb4f4befdc76fdb671ecda8c970c76a67d5b0b3169df9003b79b740c05cc450364a3cfa0e2d8bad648b1e511a425f2e7eafbf58455d5b929138b339196c0445eab1ce78ee3ff12d0050629bf8b6f20af8d144e3a539ffdc07ee70cf1d85af81b646bc41ad9ddc4acc5b8f2a15c38a166e5ba4189eb0e8d4d8c92a453190cf2c573d70c6c709a20d909bdba4a64bc83f3c0d6d19e0253557f03e317a20abd5490f68544e151b96aa77e8a73335f0425364048b5a1fbe1f02525d8fca844286b70407254139edb2a7a29f4fe1fa1c99e9cb9ea7962a7c2e1dc750e86f09da1baf7f233dc079cdb4b12beb10abeba52e57b12479e56b21332a145c847333c773f7ddfc0cc6470d887f61ffb077b98c86a5447f9df351c2fa640237a4caf11a7c19bba812f6c67f3f1f51c6a354c0a3136377f03780a551d4a47f434134b750bec43ce66e8adfd463385ee290039080c6d6d368f1c9da6ec52130520c0073c637b6be2fdb0d7dde4ed473f05907fe1a20d28579cbc0b67d9f0d6ede830241f12565b5d7e5e7be1ebb484372c7d704de59f51e9755f9ac275622c78b6d3c8114a63ba77d30836e75671b926b9a002042cefe3aeb353670de87da2ce07fd036e8c641fb48c89b3d68003eca90173df4d0d66f4205f1a7f48e042dc7031a1b46ba97b2b704d8a7bae0fd24c2a746b2533d7ef0defd6004a7bf1b4d9e4569149ee2440f85f7ad8f9c3eba9c9390faa2c80feec8db24087641a3458f03896df2499a8773edead22685b405b8b7d3eeeca2a6326ab470ab5c115112b8d075aafd07bfe0a82607e42a35c0f9c00c12b1f614c7be63eae7b925742979cd29585f6476d60d64fbb2036382b5075c02970863975c658f8a9dfe616bc31b743062a89bb9f286570cb9a8df5ea2e3731b4d7d2d2b3e01ad945897a91c1deba8bd774a9464208ea2cf55f0fc8ab44c8b29cfa08d80c8c599f1d5399450369726649f3acdda2e1de6f061373a7babc68039a715b3b04fe4efa65945ce85de3369fd1aff8df0fa7ddec86c32f37ac723e27272928b8a27243cbfad9d1cab99d5efa2b3cf1a27e504b9d69a1bf0eb8a515ad9d206452699f462b815c86d37a04e5d1b9548f9f10c6569476eba57bb48d163c94c699c0c502c7bb30c64f818b6e73778ed998483a79f5a724a0f2a51239fd17787adca9d683a049fbc945d4f7d54bea9162a62eb86905dfc134d853dd0bae115522c8190e1d9a94d005ee85abf73f8511108927773b594928357eee0fcf913166915db40c9c90e844c1f9d6462e0bb82cdb83d648eeca9c572cc3d8fdbec4d9ea92c0f70a03fcfaca61fab1b144dab227f9b5876a3f91fe03908eaa0adc445492a9375f0dd40b6711e6ac7400e4a1d32d8b1c970ea2b28a303a3ee931aa3403c8ea1ca1bece4f6a4d052da82dbde39f5bd804b638167a3ceddd824efd61fa0941701b8c9dc45d0880bed9d9fb3d916cc0189fc0d67dd4e0e4fb4338f83d4288de24999590f5b092a32609eb0ead8fb6feea228f87866853011159d35213168b21ae53acafb0fc5540540047fbcc80995101faa2d27a22deb175c04b9df65e5f25c22c748cff4e3b0a2bfafa55f44d8429636ab29afada8ff0b90e2b0791453ee90315cd72953619586bfb01a7f56da793f0757fef0e635048d2b408c5c723aa46894129f9dda38c13a789480fbcacddc73eb83f5bb0f00b92d5e3e503aa141bb9b7c764bc84fd8c9f7c0067ff8af92b32c71ef788090458d601cc2e0aabc947ebbde72757fbc53d5c3167361ed0c7efd0fbf3d29971df330e903c820234603210057716db087ca23dfeab636365f95b52db4e9caf090284c19939ce8dc41b5af9cba509f64d60db082a30f3342aabb21b80d573c1aa0654691e0390280090e9a7fd49cf86c7ca5dea09a804dcf692b69c3f921bcaef3a895824cc935004ea787ba9ffb1e5c38e5cb11e24189e1a265af0493c6036a2177d83495fc68aabd48150546b5ccbfb81866896307861b772817eddcf496302efa347828ebef4ea9a2e8da3e5418c619ab90b8c480e1832f43165d2364e66caab9f8086407a1e2612a20867d990e4ccf90740685c4465b5174f099f5ed269c82dc1db3f28c698eaf080f37377537474216cb98eb9fe52055a2c7eb3cb1e1bc1825ef592b4b352d671c93fd2123d11382a37eade9bde5943e87e6a87be83f292fab554baf69e80caffa8dea4f5175dd02305400516fae16c6d3ab4b17890ae286960dcebb999a626cbf3fcd34293ecb803afb839c7678c9d14f50c3b960fbe3f212ae087f1f6a1d31c16c137a00be565b159f2d995279f81c32be310a5f784e6cd78869bdfe5c45dc713b975db73e7a319642823a5e3cf742a257268b775e842d665afa861a3b6757a06226bc435a8568e9b241977ae0abaf5da5481dff67978aa969e23e37f979ddfa09b93edad895b68b0bbcc4d4d501b847245606382505d5f39a44e13e3cf2cdd02cb5bfcf79c10ce2853e191b4e7d881c795a33875e009d06586ff008e99367cb27666307082d8b94b55aecb77804664452044cf83ba320bc108c3a986425fc921bb6bc39dd251189b99f91752428dfb6cf3f07e95806ce4b93ac9153db7a0cbb70c575e4af3c5f159c300f3aa0eea9a68035afbe177163640253c8610020d1a8263c35ea91ed32984c4d5a1b648dd99e965784386bb207cf71117b8c94af809a25d64f94c97783a24bb1d9b1fa51c3ebf0652bb74ca9d45621dd2083f929d141e7d42b3c925c73856dd23707c74f6f8ce3cf5790b70d1566051c0504145aed1fd5e8e9522b450a4fed03337907f2502441e78a357ac4dea8d1d34b9ed733f5bcfb98d6d9a5dcac60fc9206a7e16cfc1af05fcc23a7ce6e397fdc372bfb109963fe5d4d300424879d220cc905d4b72221a8b9fb41fef3ce9f33efa7977e3f330fb4c10a4447a3eb40dbec92c85fb62c62871d12e8be7c82b78dfdb7a5593a80a949b676e439b318b76a8d770d198419f7fdac8310dd10c788fe594d72597d61761784844007803286fa7e69a171d969b5e23fe8e3c8ca42ec35325edbb6af56f931a69e43b18b7d5c4090fed928874b96df02c4869a429a45d7356fb2be883fd6f0096ffdb6593b4a981605a238fbe7829c2e300ff0d4908fb0e683f1418f511f9d4e81d562e34de910fafc1cd8bb5e01f956067172e70ea6e02132879d3af80b8069ddde311a07d13f1143ad6bd78ac92fb1d87f7080db97194d2ddde2d58999ba12871f29686ff573399834e69c76dd961499101ad60dfa413810487ad5dc95f537b870dbdffa936c1bb983299278a09d62becf3392fc50e59415afbb42f1dea68dc38d9d7416d3f46dee7b8048c9bf87158b3bfd9179f3d0b7583dd078515824ae15f344b18e640f4419b7aa4770282e4489fddc5e449f4ece4c3168d28d36f21483ebf8577459c28715b7b77e4650e67c66ad8c81b5079bc68c513c28dda7c262a48796f03b474030af22457842deec9c2f954657691643f629ff1ce9a6417ace131ef8d23c51baa8b9b32b7e307adf122604e96c7c5b580eea1b650d00474acf25be8bfabe7573501b2daf95ef4f7c738eab6a63c6e8004cb27e47604c6848739a89c0632671e7b278bdd54ed5b0fd472c49ce718439b4fd6770532b9186617fece0059674c9a3f968d3ccf52c627c95b391953b79ebf4241ae3b82da5d8baa209e4137245cd2062d233036ab6efae24bdc3d747509a033ce0c64e1ea2e045b56ab0cf9cac33dcb2f270d8efded1aa05e09976ec4047682a7e5226eef101330d636c450698b37d047a03edba080d09d179d09de86e4d29d4a0fb6c74debf3d0f6e2f0f1a6f462601e8cf0ee2f1f5b23fe60feb933ec505160e26158b39bd60394302449909e596d8109c3725905cf6979f52a2434e71f1cb326432f029043e67384478554e3a766457c91fef4b42911d041d37dc03ac459e895d6c05355b6aa830d1d53d147607bcc32e9cae49c7108ed96f213e86915bcc97aeccb8bf55e630ee9b0272ad9c6ac8b3616c5287536ce83df52c74c8a792c54848a3517b4adc8b9b3829b22b0838b50948e406ae6de8324723229b7e40bf658461424731af01faead15d8b1e466e43ff7844e2f3005ff5bde0932751dd6ed65f720b17317442680a6365728860210187172e5f91b9c78d8985a9719a10236519404d682b767bfaa16f1e3b308ab06ac6a78e3128fbb6d049ac5abc4abe75a2a355beb49d8b4864888aef641ffb1c2a2f9d7cceec5cf30b8859ed17309537a7bf469d7d845300b34acbe1887c0ed05ba3c3cd0d7d9037d675e670c0129f4159c62c774e0c2800edac8135e1c28f9856db3912d63d3d42f57ad532024418016d74ae092103a6875d26b91d1ca257f830d2232eab6815be89170d7a045e259676e353ba74bfa541d5fcc4e6eb592533d3bc08c587e5112f12a0db84243c98b5afbe8cb69f8da187269aaa8e04ce1a695d73707f6090f0d88d6536400f2c3f3163e5ae8488fe13405d4f7b4910fa6edfa11992bdd2186cf0c7e05ad12271e1742423cf9d1248f6806e5c19e0d786b3b141866b8a11ec6db8d9ed982e69c84319d7a23945fb3254f88a1c4a7253b20de9ef2aa2edb05f98901d823d11e394da99ae62c0560aa2936cc1ab4a25b2133505c1d3f00b69f0ee565896cdcf0842db46ffb417746cecae3a22180c9978527d8d5b5883f718be9ce7b95f90eee3598b5bf178ed72c6bdb45748659620e00a9080f137f08465c6e95abd333c76afc5adbaa3795b1d93bab1bd15275f181ec275f8dd19822e03c83aaf3cde458b9fd8886931cb6a47b08ccd3402f410756bbe036656c6d91d96b60674491280fa0c72bf9aede7b79e772c2797975d26cb46777b2864cb73b2221caf11c3137b9c1e8407fc21084c7a3904d48d2f1ae221d30632da0e908e23a42c3b57dbf45ff0aa228d8554957d511a587455a43d2b8ee93fe050750d0524685ce5d07219ab174512db9889fd3c08c3a7e99547ffc511ccb53bc95fe42c7a1e6ba32213c96af9715820ec35fb7c9c582ec28d80c9964f6535922cc7aa539c6737d39413c87f26fd5f6a229f55359be11ffe67303027ad6e4e3e58d5fa74b9da12224af8a90a475c82535660588e480bf0ef579e853026b41a1aed90df9df1b6729068f945264fcd3afce404e0a46c37dbf8862c7d7f5518d90cd7a44fea95b50c5a1c4f4ebcf30ab40a1a0e49124cfa36308597efcea58f940f2c56fa9896406a8b4d38664f26d96f578c07a6fca36b3a907d6a824027af6e5dce438e752c6f61658389f7a7249b3491cd73330483f27bbdd8e1264d857d14b61300066efd742a8f4cb63ea8d680d3d25239e2ba2d732d8dd72e0aa673bcc49c2e14132208c3a1b5d9b745ee31f03adc0c5b2dda7af0c7e72f8965e97a53d602bf20b3fa6a4faa87c36ccb438af3fb04cbe5a44c3c354dd871e002b4547fa1f1347277e8558fd93605970abeb73d96cd773c0205d72aafd04422409c7ffe42dc0a2773d45340c9bde2dd612e13d8bc5debc76737bb097ca2ad6f5180cfee125f4d1b738fbaf4a15a43fe35de27af79b78ad71eb64b5f48507d0ae6b658f19ffa1fa9dbc2b02ea0ceff557d630c249235902fd82349b8797d20dbe52ba122fb5c3c9c9af494dd190a1477f43c4613da69f841b6dec847da9d2f5d49053b3eaf25dbcca536228f5d71c69ab0596be46dc75f3870efc2f1d231ad9d308980785540ab24b722973e7c85392c4ae86c0b3c68a44a133f2267e88ddbbf25c56b773262cf00fad5e8e58ff918795affb4f91e0920be72b379aaea493cd98a0e8da397acfcb72e0c20eee39c4ee95f6bea7541f8732e154a7e28e1fa7b19c23e74bf41e6e3af8519285a0dbf3ead38914826b546280ce04d624e8ff1b0ae39baa16781f8ce3c06c0f8890ae44bd806940c9d894c0efb3e7909eae3372dd3bcb3cdde871ab8258363e3280975025d4eb4aee7524bd1ef3dc0252ab3968a8b346d8bfb2141e4a813b68e491e5a25af3ce070420065ae10a36f8af9b2a7761427094726590815c62dfcc4a4ef85f41000df47bdcfef51040f161d67d8e93d529b9c8b017d9df496ce7638e23a1b850978e75101431ed8ed20d76e2ddd5f90e6923d77581f12b24974c7251c0cf7f6fc055ff31fc7c4dbb977dfa57bf2a86a307ba2639f2111af44fd29eabf7761dedb8f27311532c88eedf4f4959e0c6b1e3976ab733301652af2133ff19feaa9c0189f9e9cb02804dfa5d97a1ed8a3a8cbde4f59db0cd19d5173d2b9bea3bb91817f6e2c53a32301fa89d87338eabe22f6d7ff3b9a1823adda5aeb1dd6ffdb534c69e6084592c0c25f7a7e47d6802fff081bba821a56ca04ebe92573845037e7f9446019382682c16c29814184325f5ee892aaf444ee7c9fa59bd4d48dc8740758fc7101b059fa7663595cb13594ac87c7a2ba520cfe1c206e673cb7f09af929f7e7a5f977dc3ab2cc0eb6006d19d783792c7c149ecbaa78d865bdb11bebc53a6a24b3c890d79eba1e42b025135d2738d9e4d0a77e8e41dd316aca6c2de72135def4608306342ec4b6213b873a8df4c6b765614cad30392493369312fe4fc267a4f18b1c1ae13d2a422b769d2131c81e448fe29b63f3df3ffa31020af5478fd076f9b6ddc652a896c7f2b04cee7e78ac738c09816885d028f8ec65af9a01ce88e9fa301f87d2842e8bc964365468b59dfd2a996cf41b61a861afa32dd55354831124fdaebe9551a4d6bb7a315b877e390008fe0847a666a343521bbd325dde1e718c9425f743b1498c50d8f827b40a3073be02b9c5bc260f08026988f6886e27375164f443ad5e510b2253b5454cfbb873ea94ba0df41def5e0d4a7841282f8a56de15f996f0892a1fd7c7f9d7a62c4e36e33f65350feeb3c3c8750add407450527a1f62bb4fee5043dc994a70946ec95f7e9271676dc8c72d44d97be1e7a942f54f26b18bbd26535d870c46c2730bc4a4de06a4d9a1a54ee5093f1f3f9fdbeb0be3a37a38baf62fc8f233ed24080e095f6996b308bc0531c40344e9a1091adba86ceb98bc04ee0cc701b4ef73872590dde95d6ac9516b061608433e72d60de7b494482e82327ea84d38534b7d00c1e52289218993fb15663bfe1d35d5367a1fc6f2bb3b82a19250592d7a383d7255b93d4eb95a1a320168a866428dca8e98d0c60b647049d6c7bc88cdfd7683e75700104d22f6d85f38be0343819e3a202180706b2470d9425a993edc6de5d780e13fbfdd71cac443428f036c45401f7673300f1f32809a3ab4306e1267b3d1d8288a6c457935adbc4f4032be31f4e0cf5ed846cc6e6cf6521ffeb6ca3ab6ba615dd7e1cb308fd674c7509dad0b24ac71069ac74adf5dcc57536abb89c958f582d6b1bb44f953aeeb89185a576161ac43701383c678eab1e0d5caee63afd199a00f340ee8289e399077617f3842cc16a32476c989daf9ed408145b96a05e779afb3b4a2d9992ffaa79ef41234b47a60222d6e9eca7828fbe10df31a6ffbfa4849f2f28881fe9b61926667a044b849b8774baf046ae537dbd956dbf7959ba6fee6bf1625dfe72876855d0fe602dcc7a05b7312c5df2505bd2b018fcee72b2d51ac989a7b1b7315c326c3e53f6199216384b9eac5df366b7d344a46d8ad007f0de45a234207a976190cbaf28166b56e7ba6e7f72ca602b2c4c447433d4e01979a644a75ab3483d7dc526fc70ff55bd609aa411569dbd9564fe209f4ee3002c79a50741706c700df90288e7345cb04a26bcbff13daa8e357ffdf4d17dc25cb6a2e85b0debb8571afebecfeeb2e20321d1eca4fdf4ed9ddce50245c9f8b5f451422a3d7cf286613d6ad49a3f92483780e8ad7be3bcdd53e8f512e732af79ac2041dfd62e7c4c657496ae59baaf333d360b5114614e77c9a03f0c1b4db0c2389759a8591482be43dc840d01aec2fb269e5fc40fc3e77530062613dcbfc6760804ba10e51518c1b3ef388a7bc060638d430d1818aeb437047119b5f57c7b998c50ace56593321871fdf780e39af4b9baad9b0dec012f1c8c029b668f7c1ce6b5bfe738f31ab0b7c42cb10bf8ffe262309ba664caee63fe5cf7cca8ddfb515c7bb48f780137d9f809f45726c33f176d32514a50fc4b1499e85de35ad3a3fa8be2e4e2cb8c581564d03241b6ea8ed4b885d34a8905526dee9229adf58a70c483b4983facdb52741ac3332bdff33c6cc3936b1838c5f6aa1ad0474e79b44c3528a88a0c99e3926e407b96c242b9fbf96e58a016c6cc242cf379eb750fa821cd84288db550b255453a6647c614287eb2bb2d965a862f313c3f5d45ade1226d9a083dea94710a518597a245aab821758cc8a7da23c5e828b525cadb1c7e56d7ef71c1b1f9edf91fc08967856484edfed789a438fd230e2b56d8feec3ac31a562638d9b12211e1ac10cbb3b142fbafc324e531417e1d549053014bdf5e84b0b1ed19a41e7c1a1b0cf381b01521e2a795e96d25d95a5c2416b0372582cfc07e3f46e70770d0375eba61ea919a65dd0248804a4b9df28a8c6bf6e8529c90affab310753ce1c10f457e1132c9755c58c4dd4edbcd4a91dabab887b34f44817ab13fcc81245ea753670c4f74d40448a75a5ebded131c9c6d23a8001aa2dcfd7f702387e6506e01848daa950c89a805ea467c2ac862e9ad559b03e4472d10795bba495b9ff24d59df4471de6f73ab28dab9c8e97f3f682eb5aff254d8a5edb9d355d44bfe809805b0416dffea4fb2563f2fa84e490be1719f6efaf9cf3ad148dfe73c3d315be41750c05da41deb19dff763b2e938b1180d14f22f66f1202a552c4e25882a6247044c44ed8d926c9da037582d14d91dc60897d1b60d6df32ee04140e9e8bbe5d2a0322912fda10fc94630b1506a2543768f9b097a8e86342b2c4e0ec4747ece636ecf1ba11f8b2b9a7633aebb52a3f7fe45d33d1bd36defd6b72923561774f0505ca8aa455f8fdd4f5b0d29e654d8244800fe0fd24b7fee9d5a2ca50182b9f1a79317fccb7727d1b9f3e5dacafc4d0e0d620785b306ceb2a35cc39a323026571b1a2b574cc00b4b86db5591f8c6a4f7886b367a6818ed0667280f839973814509f2155b196a13e30972d8ab22b2c58bbe97b136582275072229fc8912d8e56fb10929f19e30996eae1fcd30e6f1cf99d20cdd808b16b276985770f15768f665aef834919b1b5d095a905414824c41190806a1bfd99c8c28e2681294f2599b35f91f829f4908d928943feb5f152f824b990fb7bc19f77474d980025f5faa427af90a9538a6634863fb8af3fa7f319efcbbf1c5276e8cb6177abddcd91e53ae1d610c1a9241960eab82a0fcd93d9c4e4f674216eaef98144bd64d0559dd5cb33be5552f723fec7ec5586b9dd9a2187c05e3e48bc1b138915df663392e7b5b7a63e26140020ecb9052052790cd0cb2d24e1e76a7adc1e0aa23b10a2fba9e1e85f8fedc9a897f587012c4921485b7a0b26110c6b2a4d8c47d87b9192bf0c66b0468d0fea4453f091215edc4d35b94d68a5104d48799395b930a108d09d28e2c42257f33d3cc247707a7135979d8f19bc676f37070a06a684d6c8a4e5fbbd48464822adcb033d1fa3e5eae9de24b8631e353a2a0bf2305ca67b0cba80d825b88df195d9f7286a242aa3e9e3e2febe25fd2a0056db19e987d8ece336c72e7f7d4bde57cf68892cf7cfc8be010b4dd0d7b7c19106b13a744126d99f3ffde4ded68ecca385ea5518eb04373c125fb12e2397a20e13e2726f2f18ee0cda473b2f797e6d180cf06ca7275a9adec6543b59ff0a7b1a3670195bd5be682daad35da49c4902d76c549666d6e91e059a2ac8c657d71ce8c6a59e2d17dcfdc274e12fb4ab162fe0502238f2ef361c99b00daec14c7c4292afd4b60476bee952504c00db8d81adb51adaab710c49316714812139f0c778005b46c93caddef91550273b7653c448e9d6eedf0e00daff533deb834820e2950467db222d0cf8cc5f09c6fdf315044002dc2eaea4772e8c02af09b0ffdf58eee72763e4c9b9c4eb2255887464926efa60fa1e87e6b0d5e128905ef2497d94c58da85df39af6fe7ed6ec16eecbc0362581fcf28c9774bc1dd1730e3741b04c2eb6ade84cf3982007618a157e356952fe7814e2952be14cf22c90388c47aa07ced357ab60259bd1691b7f6827b39221010bd83d5844151e2157db0d6b3711901c76eef0e883a7a82385940474397b565033c376645a38e68521f9650c9cc8da3b4e5cbcd516f3e11884ff827694820629df7c921a93e08ce14cb7169ae86b0725ab138a665186560e9db88696587fa0e88aec03da397295877e019adfb050a6c6f29bbdc3294d81b6fb76c84558ab2c4b965b48d6146d7b0470f56815ce4a501d52f3b3acea1fe5a6b748dfee226a092929737a2c64e814b99cefa89d76c21d4f6aa23c3e6abb59eecb4fb54d5501c9826ba0645ed0ed01e7982266e908da13836d61ef0a40b1fd2abed5a0786f91bbeba365579ede2bfcee1f96b4d11360feea251157e34641e44aeaf097b4c19600db1b40e4071161f58c12aea56fb308bc116d469af8943330118aa6313248303abb353d1de0457f687fa60511d04c7ced325233216e0e7205d6bca727949bb45959f2f6de5f850a991652b9d393df737687c51ecedf2fe84e6fc72d2915c962593ea706b1d212941608ceb727031f679c6fa13468556c112ca05821d980fcb29e33ba08fcbe094c650d29ac57e9259b1b8a2fa8221d2618023ec795c98d68b70787e818bb4a46dc787ca2dfc01ffbb3f3e41cddf89329439657f105f71ffa467778b7ff8129fbb47b5adac79e8dc336d1b5cfa606e2f56c9ab65483d14e861fc9ce3689921502f20bfa9a8f80015a35b3e61aec1fc0ba1a388094b19d98ed28ec3b2c0d75d56ca5ef70dba6ec23e174bc130b98f9a59c20c6603dfefb7e8e98ae3ca1a4a089dbb6fe34d7ad48fd2a2a9c82ab2f44dcb2aaac2fbf2a1ab973f4ce66d516f8f2867df388a464cb99deef9e5a349a82501f760dc5393447815175f2a373e8c4addd7dd93dd5c5584caa5eddda75ed200efc18490e2e082ed32ab1f4bf1dd6117c7c865b84f97879a19932d76b569dddbedc4243b6e112be8974f8bde954e10edcf027d87bba0a7fa8a88dea50ec6903b6566da3226ac3968855d721f5da2bf4541682687e4c5b67e3f03027b7b1b29535fda03425d5ecf916c23675d7bf4d5b487841577879473613a44271a618b9e2a4942e122c064a4a77611374b76aa4fab2a91a18686e4f7b49201b03dffb6744f4c71e8418a121184193fdd6457881e337ad7d71c73f253d94b0640bc3d0553542b2cb5f19526b74a29859175c1d010ff9fe8bd4e64a0a19b8898094cc43400c5bd0ffc77479bf6020ba1bd41f214c4e2aab513b7cb833c72ee01054ef4a9bcac22c5c4d3756c64f6c2e27190084651b5d912614a2b37513c985f75e14dc4fb0ef6b210f6691f9b60263d1085ec723970cd0b3de5ba6c2647797de782c3cca564d82ed3af651984eda91ee746740138667f0cb87d995ddc40937e0e77343cafd6a8bc8f63aacd9ca7ac442e5a3c34eb67b233a09529fedc5a3dd13c62ab7ea2760590c071eabb530c8dc3a27b915f27e8aaee53775a73974ebece1c809047539262ef0896b4b7eac74cbd32d7481c88c806770cf1b7a75329449952070c4c6c9de98cce9718b78b7dbcc896fa86c46eb3ff1bf81f325f9ffd02175184426e0af9b732034d49e6a43a7445914874885238dcafbb07ed1093a782a28ac5be48b6c6d4da41f58d17a0de02952dcc47f8e5fac4f9b880a5f5453a73b711a2beb500f192f0402cc2466b6e02f4811c98cbc656d61e16c5db2b813c419d3516e410712ae369222f0297bff6bd169ceaaf8aee7889c99e8b7112eb2893252ede19e920f24a64e0ebcf5b26efa2e14b128a22eacec65db15b6a5e3e4a5674082294895e051073f48047ef57c91d431df2786c98acf5a6b7eb7dced2540531aa5c8e0c2155a7e75a9c8a30fe60d7485afb977b0e8ec58c6a820d13f1300985420de91a0fa54bb075c63dc96c58fa9ecbce6c72f263e6460b82747c8987b29a65f1c8284bb8864adeb2da8b149b95a522be83b74a3d8b79b9426a31b5315afaa3b07a9ca480ac22043cf7b31c10ad5cf980a6aafda14ee8b3d42e58cc6ba273495f2acc659afaf0e19a002c29bb716c3fd17a82dcb2dddf6137e36d54726de05c63e08e0196fa7730ef2aa12357b87952ac16bc1d7724b1abc83da0bb62db4e7c2672476dcbf54a9137b16a0b63adaec2d327b5189bd83a6b497b9972857f181c87b654ba2566a1371c8dfbbe1aedc8c29d1fcabebe35763b97d32d805a9fc20dbb51b6cd361414a9a9704bab38c52dbbdbba4c8fcc279c1ec7495b3ced82e0dcd49d5542e12ac2d01d006af9103013375abfaf1897ec032eeb45bdc8f14ed501b9dd936386fc9dbe328254efbf81f3d8542d0c08b2911c39f082af0b186a45a63f4384bb939265f711a3a7fb8ce72ff68cdc8ef9af4d08bbc5c8c94996d8e0652e0cddc9be2193952e47caf73b41681c81499f32e9463e2ec06b212518d72a30b4c7c78c58dff0737e69811ca1e1ff3383b25836eb13dfe7a0ec65363615829183d25c603192a17d65de2d95850c9b73a566c580c1dc2f73a56c1d022f47669bc8cee4b4a7924631954d661ab3db654962ba437dbf0bb2fe36ef92b35d96fbd58c4674b939c4d35c66e6111093b4fbb3153e7b16c2bacc67f1b2093cf3b2aa28d686184d97206ba9ff05eea8ba7c0ca2b5225393b5e893ab5e6a7f0e9cf77cf1249c8a7f9e4e46639359b6878f1270ad50a3c4d5166df4be636aca389afceb118f56850c8ca6707e2f9bc96ec768ed6c6058dda20713297564d47b182aee7dbeb1274bda0e6612585ac18e24c5f74e093b9570d869dc28c49b007f913ae6ac0d2f45acc4047617daa63049f7e7e9f7ce80aa7f6343e1d94aa9589621d7229a59be75a07d866cfc97bfdacf8c037123208c5e8640414ef19dba41529e6a01bba2331014682babfefa3218eb464ab1b1ce2d8deefad2295aac790aff21a0395a0f1f6b2af7991bd9f7d5a7b164647dd3e1c900a518d33dc4be25b16585565043163e839477082eed76f8c2af5c37ae1e751520417c3b39df4c49ad78657c29a237ade306131c3675e5ba84ddcace1081c7167d06b69d38155a1d14990455ab26c803f1df15a6de07fbc972e57bfa94b6e791ac1d7355e66d0b225ae7cc680eeeebad693363f301b63caa8208561928c35255a3fba6e0c3d66d5ef569fe69be4cc69530b6f3984b8af54a33130db50bdaa0ff7f03658c11ca52fb6bd3455f6dd98284980a1168cd9789cba9a3cd3caaf6899812c1928966f8756c2af3728096f384cafca2ee901ec1b6e483bc89c20f009fa6c51398237b983183febdc0aad4c6a0d2edb08dc4d91a0cdd362f334d5e97e0e9bc74b9b4dbb019e59a502fdbaf3d7edeb3bf91a1e7eab5660409668ca75cda7328b1a0befef31ccde398fb0d729ffa01418f24288511d526f60e5484f9e62e5c968da46ba0a133d0b25aa8991b9e18db8e3ba6415575866ef09c86101633849359ca8b6f98113f69827ae3c0b97f4e56b5cb0e8d376942fd28e7a208859d584e3fda1e2f539b575dcc8c008aa3e62fab61418d136602dc457244228f5e7f13de37260cfc4c8356806b40d0094819365a5b654f529860bc19dcf90627e8dadf94993de66f15f6f8d7ac4e1d2c88653e34bd6a1f86ab778fea77b0151637f70caefbd7ed6b5e85831e1af23d4c88d19adfb86f96e8739c2be4803a403020f5143effd167a22d397b2e6c497ffe59928f0e722d12917e527ea34d84ccd6b10539bc3b3aed1c073597fa2626fb85ffd0b0668671c2c0628b3dc4eae1aca4c52dbd52455f54a1ab8f4acea4f7eeda6d1ba4dc7ca86837496503a91f2a674e59d302b49707de4d3dc83be16b87ca0d2033f4fee0e068c4df83b99e14ef0130b9c20d519d6f418cfb2e9942860bf449a78cc015d4576fd6584ba43eebd6a6266e9eed4d31e1d115b429dc6f23886747d6e167a151a70444e4137eebd8c3b9b09886244508883cc053f5c79ac11c03c23b0630d7cd770ab15ea1c136c5644d57c1feba1e6e0d06821a8346f54344b4fe2f36afb443de44253b4e8416c6c5e1ac936cf1abcbf79f93be2b3597f0c5d87551259991eb349a12f23b9b7ee97fd8ee15e85a4f61b7225d7a012d6bb9b4b7a960560d1a612256ddcc28ecb29bbe8ea96141a86d6a6299de827cce011d09560a4f56f170dbf156d000a2d1fa4040062d27e1de5e54fb31746bc344524602075e6181ac445443a48b03a9af784f43ee265052b74f4b9809c83b354e0ac77acc3806220d5378ed3345ac2d0146370d87b60522d3436226ba7cfa74af2f4037db4bc34adb946d61462125b4f9abe421db0c248bfc63cb1789b03d25e05dc7b082e086a534dafa499f9d6fdbfa7252d84cf56f0842890ebeb5f75805f47456e28d9010098bf54785fe950875866af310c526749e75e96d4626d68704b86eefa5763c8be012d96d6f1c5d31e9eef9e5c6e6e5a3bd3047fd068ab9f7ad3c230c7e48f0d859547da889aa19a822517f61165673c9b11306c5a20c95f511b5fc4b4cb9ef00d78ee4980be733e0822892fed9f74ed1a082b34570c89b7f09502bfaca6b5ff1edf84bfdf9bbf896b477d08b3529f542c8b78da63b6d8afa3707cfab4912ee3adcd06f2f257a416c1f1a563010abb4b2faa147924e2ed3710f1756fb7f0f4c59e35153514368c8a1c6b26904caa9765559164be9b8f715abdb02b7abae2e220292567daac3f9d1297b17b0dd1a39bba8e2fb4780df4deb4173a7e7aeb144b25a5b620c23c445aa863fc966f081011e98266d678626aed289a42be5052349162b9ce98aa263c8f1b148fee93b80db0b99319fa6061d193c2b8af705d00125cddf956678323e706eb8d217497d47aca654908574e5355fe666b93fbc66d3df6aca3cd61d9b2c195da491fe059ed7adc8fced167cc3d906d3497a2663c297d5a0e61523197c3a49bfae2b0280b9d9fd927702a1ec195df2f0b8709e1c2237f067b3bdf1e387c5f600b7f27248e8ab31519822546ce8f99f1243cd2d18e00e05cf2ef10d5fbcc0e4e5bdfda8027626f794307bf888e08dd1fe7b71028be103b98ca267a098871e7182183d33667d34d81883e39f6d82f9957730ba0364070a7392952381b0547535a7b036e71c0cf1941819c160dfa03aeb4dda4666110eb194cad298166de3adf7df268b960664e68d43401fa7810a3a9dc2ee7529f043f355483bd4a342adee34c3ec9fa42199d8bea53fb004e79c5b237c704a1e987eae74f7aa2252c9d53dd84ae6f8ade31b61f7ca2a0a4155a900f6fe8f95f27e15ad59571e4637c4a4d8b4a5de0cae97a03029b25f08cfadf5d55fa35ca86456bd19d72737011853fe83b59d62b75b5ccc7f706454bd0c364deff0d45df98992acd764dfbb01ca53ecc0b3b3c47a75acdc56cd7e57951e4ba12ad39a298531effcb2a0fe0489701e0f3891a8f3cf31780660ae144f38e5798757f2c65ac1ee31bf7487ae6c8c8401b83445d37560df77ca15a149650fe4ef58aa73ab1a367e12846b4dfaf986f972fede3ef9414e1585705db15960eb76c9929e99133467c47d05d9af4b1ca8b483c653e845b4787e812954057620f9315c94334240c03eb2ed197036ce709f8c5c4e5d8401ad4aef544e941e16efb8898fce2623bdff481e6eac59a82df8161e6b19844c0cb738e06cf9647c96b2a97c9f8d5d23fa4437113e47bf2ad0d781f5656567214c814482caa424ddd51bc2aa51b4ac36c1581fd12c5f0c7385013b7c1ed564710360e0a03d0553b999693d6a9cff8f12b9ff83c31bd33362015391472fdbd80434875d0f0a22972c06a6b7e63d4d4e04cb2ba090a2ec1d9eb057728fdffb747d72d9261390838fe5ceca6cddb2c8c9dfeaa6329f87344f50d6dafc054c748f7d97bd1ae567f1782654892a37ea8970dacf436d9a7e8dfd633cbcf896720e217603b12410497283a75c8be3810ed7365bbe3d4cd658d7241bcb5f80dff9ea49569f12e146211d7915ced1ae2cbcd986a78ff620b6de1bb511266c521120449e3c7d0a834664a99bf62f85248bc02cf9015f6c3d1a2bb2e1cc0921333ab22561fe314943ba3d7e3b7ae1ed326a991500c33857c3cd1bd4aa0105a46c0104002664a3daebab7f4895bccb37f4ae5cfa4a0cde4b508203a01fab590a6530481682c94afe521e038224f1e972ebaa510f01e101dcac8bce2687e5965e71eafa7a6eb221ca17ba19a1cb2cc1db0211dd63ba5a670499b735316bc2361b1afee1f89fafbae70dd31db58e004b659edae9cce6a639f678388bb78b4acb1fd98fb7a3cffd7a1262e2e8613211ad331352f882410464ee24b89c09d8412cdc877a8656bcc12a8d5a54af015cd56525a6733bcd52262a9c7a2e6151a0b6a3ed32e91db337ba02041869952acf040e97b9faee66b15548c1db1e8eabc319956fbbe4e199227981f8513871678c7289ee00b1b25b4c1b1c7cbad17acf401809684e1ba403f1bf800e0252fb0c6903692b86ecca1c2b9588e74bf265bb481c1e50f1e5b5077a183690b814b742ee8e40988dad68ec1a234b4bb73b4ef1ffb8ee6818824b8e7dc2a6450b2ec74d6480be47a96586b221d0bddd70d4bd9d1fb7a135c5b42580c8cd998f39459f6e3d67c17f0a6b9366ff64b4bdfd3b597e6c47acdd94ebc7198029733772c90e91b9063ed6db57a5a12e0bea0e162bf7576376d5e8f20e538b9d200187dfe13737394a7d05582a7033ffa991923c0a2113697abbc056e5331f372572aa76f414f85047a20878a3992a64e15d01580e4020e6443c39c8f5be0d4c331287bd8dcc887ea68e099b95c38bc688fb22d74dadef35af1fd6e74297ad529c8052acd8a61059e6645c7e405305942e7eb15627265b5992c74e5dbe65ee9906be6ae6a35b817dc5c073c6aefc9067a06f22971d54248af5ce9c36066a24df476577ad33704fc31422d9b311f472edae7b843e421c9c479fb6519183c918cf7443dcb439cb27cac9c1d8e9dfd6d353b9cf7d3718e24fa30700b5abb2f872c9d6b0c04aab598ab33427bd8ca38008ecc18a69365000557e1614b76fd955ade3477ec4f0dfcca27b1d332ba87f5b2a1cb9cc48d692f97f43d3e29695098d8da07cd8e2e06e91899df8799c9a1c08d4da3cf98f69e43b34b031e516a69832b99e3bd5e53f779d83c1334ec66aec50e6fdf5e23d53091aa88fd646fd3a5c270f1b5fa61e514ebf29ef493f35bc44f103f4d7beee8590ac04e022757b992941df513fa31a3c1fe30a21fe5a64f55b5b302c64b8ba660f8f5630c3bd8d6e054e49a3a2b91f10e09cce3c0798236cf209e0e87ed0f6d8bba47c494bd5b89605e5482a0175f0ea69ae4dc18bed586ec8966b7b7957d2d3378a69a7dab7fdef3bbd5220a8f68781249fca175dd2a9d03bf999bdc30e5b6db8061578eca9a297e0546218bad7c03c25204bc30934529d709702a843be7707cd5077c4a8324b61e5dd8941bc61d26f149b2aa528d7e559cb238c4c8c966979e08e50f24c9d203b62233adb8ef6a6a087a4dcb84b842a22e0667f5826b76d82f5395696204700b4adbc4173ae7606060db81d399bcdcd8de8d8a6654e7f12c2ea5c1739aee18f20cd7d277f7a41c96555e28a179c626176e308a0ce85c06f53851ab890529a98756b6823ae94e8fd1185305c76466cd34ddbacd20d1ac7e610380e2edac8a3505d516053568cb6545caaeec5e7ff80110ac19e827309cb7aff29abb290eb532e1d03f97708180e00c3a313204b5a299b920352cdd901217fb4561e4b0cc7d043b7ea7e91b124912c751242c5b334689d34a8be040d0a66a725485f1ebc0781c6f92a79c0f57a76a13da7b53c56793356cd15de0ea6de3f8ac03f7f9a88d1ef18c9c7955f391f4a25015782d185a31567e9592f4089580faa543a8ebd1e77b1fb5318ec9a42cb2598496e57a34f2e3ed5f4fb2a017255ae6c4e6831bbb16703ad72c29f6d9901ef41e09d553bcafb4acf2d4625990642f767f02f0117207d76abfb305d82677a7e250f794d6af5608cb05219f8e8d4809441a16c9a575299c54efac86b31a8ae8950f4252730b26a8be09fdb4370ab444f7f4245704551b879b668792f806942bf3dbf86289d873896d8dd02d6b2208f66fd06eb800791490c4016273589e0b9639cde2cb536fdc682b1485713fa19bd34b7a9f66b3f7956057a749df48807ad9c37481eed9f4742b39204b4b79b6cab77e02c4a77d028af7597c4ac14b811a047d3d0c6a99cb10eb34f1750b4fa4c415995fc468ab42c6a257f45367285d627f8249710c29f327f79503bb36193ae62e19f039ee5e6379487a35f948d44c7329a68c6e53c46cb3b87b58dd9e0efefd2f28a8473c0b9176f4bbcfa7941ea03bfdee62470c65dbffa01779cb72e656c603f8d0c92454439cbd395d3133e5d91230ddf3dcfcc6b0ac8e28bcbd49915e63d801ff194b767e0e3afca3d5250f8fd3b9983f176d15e88f2e12a52f46aa6269ae9718e78d36174d9ed226b76c15846b6b8983cb2a725a5e82ccba883e63922cc5dc897955508581b10a2ca9b63c43392d73ad6583926186bce4f18179d5dfa0ef6f7cf156c69a6efe9a3f26bcdd8ce75e7c56efc58e6ccad6e69f11c85538892a3b64bb3bb68cf5430b5a2e71b5b470a16dc37e3f5cd602c9367659337980fb9d98eaf284bdc928aae5a523c761c9dddb3812be43ef568fb50823a2976fe85167b0f538932f20fb673193f9a0a1c37f15a498d18b0393cd1c6da016841f51493c3d6ff9170d088ed50d7355ecc5dca98351c64f03ee3c4c69d415d93ac47935477313b9ba2596390195cd1914c19682146b4a7436a86529448ba9a23492ab0b5bcfb5293e0deabe3bdb511b12c9f4de744d4ac47eb2c145353a7bf1d2aecff47199d0a419e65f5ef7fd6add2623426deba9b04004720a913747951cebde6b5e44964f76290f42fa866c74d164f7e0aec40af55842f2184daacd6d4ef94189bc5ff3e0a8c980581dc576cfea4cb21887863b8ec9a8b36e3845806cf7747046a03380202af88c641e8e8fb07ccfa436e5b6d5bac202f73b6945ee791021e5e709d2cfcc15d92f6486bf00b12ba6d786761f9b7c98cf709f25674e0379fd30535a6fc2d95ddb2c3a8b6304048e53628c307926cd23d1882fb86c69b657bc729f8cabb342b393cebcc61010c3acaa6c36f67e9bea3e3d9a9832c8cd1f7869f0b3802b6e5563cedc3e4d76646a067e0c2bf9f14083334dc3b7742a0b954aec100af294554a5fa63966b449ee2c9ad8322045a3cac2d5709b0188260861c9e7bbc18da1787081379f38ec65d07336f1aed86271a1d31bdaf7087c0bf566d5d8e6e84103ba78577f527ac913b4dac19199108f88448dd5b3e65c461d5b3f9118da392be05e62c9563403de56705c4b06eed9f1a5fc598cbc8f7a33972b6ca7d787c0d1c5439e2a6aa8fbde87bc347a26718216207a364380bd834a248793282c227e6b519d769ba7fb8bd1d04cfeeb77ff21fb967d4e23c05e86960147af3968101fec2f7e790623929fb984d496591cee5842c485c4e8ea97dc5c6c4f1c38b3508882d0afb48d3d26d28de8eac1a956c0b29a006b180129bfacc6b84a74a8b152f18f0b885257c18f90909468fbfba20d1583826095ee2876efc8c31a694b49421f43692050707fcefff9a172e3f205349f5c238d18839da90a389d32c3f8ad762668a17a0e2ef0839acd29482e1f3f33a3f0aee57ca434b5ed01d23f9966a235791a7dc3f610ad0de2519e21d5b45427a763be5ccad145310508071d42bcf41ac7f68e9d1501e81da6431e645d0619f300bcbf08f2e4d33e5d1ca6ef1db2b72db0d70b9d3fa588c0e3bd04ca98f8e107e8cc12243b7491ec0c93bd8d313373a404564a9369538cb1d369129ed25d951bbde3bd8ff2210e76f9803d4c1ce8bef5cc2561f8725e824ee26a1ed6ef6598c7f195653cd930e515f9e0cba918c2bd87e2c91724cba4f8abedefd579192ec2404840cef37df0552594a0acf25e3768dc66cf86c95bad8c2da9b98268a78fe612f57666017d7ba4cff0c82aa7fa28fefdb95af77d3e2fc257c267dd7e1e1888d07abb3b1423cd4e7fabe464e115ae83f80a5781048fe895f458efc9539c5921bc51ec4aa0517e11aa2ebf4c124b214078cf79006649275b3bebe2d23931acf87f68ecaad3f211c993ba0da939971cf8122187c5ccb73daa17fed0d12eacde5860b4792170085b80f9f19cbb4ed8f13ce3ba3c6b7550e9cf8d0fb1980f4d576426a9b512a7a95e1ebbd8d3b5185b2147d018f92a437391290b5a85d5018ed608b8f5f2ae5f5ba94f6ffb5e38d039cc200fb07a7b9a0196ef59fb17058895b7e44910531e58999260caab8bcc48f492289d90b563cce436601884e034ceb19e49ccb2f71c1b3f9d9eba2cce2bad89538cfd5def3a71d0307fdc15a197f406c67bda325f211cca3ab46084468587f093618e74e958db6cad7b374116900bd8f491db40fe48d6ac52d6e04e5d13599eed6fc2346c7efcdcf69485e34b790f530052575220819fcefdb857fe9b0ed2bdb3efba945b6bd6267e4cf0b384d52980b51819ee0184bee60a610bc87322f219e8e8cf8e7309db3f462a210183c62ca2d0d5260ce7e314269a353c17be41393568dc51f736f5f9ed6de388683d13f37ca5bf8fe74879746800cf6dbaa8166d19906f37604224779e022ff4c6518b27adc4cc34fdaf86f21d4c57276b357a8f34d1988ccf70e4235c724bc9a8d48eb5b25c9bc2118911ce5b28e4ba7aec6945774e35d19a1868e78f6ac5ccba6abbc59b327e6ec28a24b1ffb070e8b33210bfbeed3a1abdce9468ea6b31b025fa3d9cb15fea0582b4d7bdec3013f8edcacd189f494b284a25512cf8e28e33d1242c2c1fc23cf1c9bfb281bd1e058a60ad6f18754b3a893f25e1e35b73c382e4b4a340ee16d291b566ff8f7b69daeaf9bfa6dcf9b7cd58884284da1bb67a1a0c52c5720693b89d1aaddfe5ab1dedaebadcdab3486601b2679570ecbfdbedcf4f4abf39f12a71abfbb54d8f1ebf3eb0c19a83792cf92d8182e7d1e59c7bc53cfcadf84140cdc21ec316ac734fb05170f65b335b26fa109ff26f8ddba6b3696ee1d8175329555be12f6ff250e47ccb2651bb9ea048b7e879f5d8d5a32053d6b17305b1de278b3546ebb1e12cb57791de2f67598819a7d9b2cd2495c4ae55b19d12e257f619eeb6bc063306a38c2457d5a3c7b993ab54267c6fa80b2a966293d12c2b69f50ec673d50ac7a4d1d0569f6179ceedb5e253f7bd06c40cbf5bfc987e704d4ddc566e9c8b931d632d4159be9c287839ce726cdf5d011655adf9197cd265892e25f8eda9cdb4f86be3586d125fa370606a3487aa5879335fed2d0cc2cae1a7f5d65a8986bad409b2753376ea7f4a448a7ede77503f9b531ef69459d6313b44c0cd5ed9ecca6b4c8f42658d4e73831076d76835e0d7e2d06ab97c3b72770d200448c65c6b8d663e25c7f4bb393040805206ff32506b6c82b3086e447ac7aeb8e1301c93ddd7e2623370264b609cf27224baad3a63a7ffeee53db721e85310c2ebb8cea6008ff9819a9764108c514a03ca5a9a87b227f56579c5c9b667f135aaa996152ce705dcd2383afaece3bde9ca9a55dcd0fb2de286b3859106d010c9c5e127b8de5dd98b857958b61d5ee5ebf1dc7759cb8e885b57206906a26fb00258a1adfd1a192a04641720c10c34d82e8ed1c315d4295c5f803c13662e04153a26acc1fae1e4c2d43b7fab3778ba2b5d1621bc0599088c3a54ab93d7d60366fd99a88e86995db9f8643fcdf61aaf65d52c47d9203c7425bf504b65d24588516b15beaaddaa71de90abf32854da30c368898364a5121f81c45e08c9169d5470bd7a942986a8952c319f9ecb7e3fcdf033ad69eac45baec0f86c20b3c3658bf9ac42c7f3be6623e4959a73d696936b9a7787fe077974457cc90200929b7794e2e074b56c4b9b7e928ea71143fbbf552052a26a163bf31ce64edcb3e02ece3def09030c3adcd99f8f96dcc6d6d3972d1f9766707e2de4ec2d721fd6f80da66cd21950565f4231205f892681df98945a64468b516cde6c981def0b9dacda83190a8a4b6173bd60383fcb9bc3a9d4a45c53c077ff108ceb59c15118550e432f468442fed75b8dffdea7b7991f851133b23ec85015161f09acb3add394babfb8bc4d79bab19dbeabf012689bb59f8838216fa6e19bc50a605210939c4b41b7535bc14cfd6802d71033256377c12ccfaff4d98e00191c73607f179d3961f4460b81078d9633f8667934eefe77141fafbf7f28a2bf6f05b1021d775b6fbe6cbc7d6d3a311c0fcc9d9e4aac4c9569939af640d4a3fdded599bc037082036042722a094511bd07948f74280bd787c61561bac4b3b74a13a022d464d3fd6e3289dc9454fd771d6f9d74df2be3943b2233f1840edb9863a9786d555008b0767662afedcea63eaab56d6b6d8fe7414e280afdbe0ee4cb757a2ccdb3076a56c1452b8fb22f06a5852b45be997cf511c56a58b3192edfa063f6648eb06e2e6e65cf4d0d100bb18d3a2ae1b756d53c79175f8ef734658d190ed5ab677e9d74ba95b2908e0f1be9ca1af01afc2408dcc1154fe330d9d90d037cf050b758763e8bb4f527ca0a89d524d7e50c3904bad98a7f2927bd27c0b8bb71df142ca89f70c3c637a1081b7db748412cc5f0cbce3f3bdbe4f212e2a57c29ab8594010f6bdf19973ff63cb5431fa3c82db7cd6c935f51f6c8c9eb28e217953de441c67dff9af840f7f520ffe20c3b685c8302c0c130908aac8d578c9ce816f0ef685a37bf1063e912fd9494a9d1eab5a52248b5cfb00490ade86b5e4657e5005a5fcb284098683ca0e4b89dd40b83df5e57b4f1ed2d81199b624654c1fcd8b694effbd0875dc3df78003aac1a7c7754873c9797cc59d5a9dd9b649d3c96138d673f6abafba802679ecb3c6b8b3dc5ec2e0bd93cb6b1455f362316a995b1799223ab43fd028a07b79d8a0021ad8f9916806389976b681b627ba5b4e7facb5b7cc15343bebf2a7103bdc51d50ef9437392ffd389faf2a1af52f62ca46dd14e5114d7150725e6745627a0899a2a58412bab1dcd869dd056d06c39739b7fac4cb482f657256817fb4530020314c73b2d138a8610512c26a63bd4560aaa0300d355195c47153bf42da1603fc1198df9db9ac6c4f63ec3d50b0a76debac25782c933c59e1cc3958c675c5339d6dcc910e546d84f0a3d58f8fd1677c289a7a82fa33a44a65157eed6668bab09b22541710d0dc593c7cb191267d7749960b722f0692da57568046a703e145954ecac2b7e1b840769387f0591e4a5d15c20c3c9d0674357f05573202fe3af7c943a15484ab6ddb893ca3b736c4e14a5a64833dbeae6f642df1f4d5a561fb2544b087b8aeb8c7a59e293e8ad9281e3644129d673ebb42d31ba3cae5ed930c6faa7068edd0dc961dfa3ad9ee5cdad9f51afda3e5f4adbdd589004c9147f8c2679619f83b990feef42e73c90c85e17028d172b35bfd674c107ce62efe680ee7cf67bbceb78f37efd0d0fd7a0a08fdc5aaaa753f76fc73dc9d77c8fa01290000ccdb6464a924300571fa9f5c7839d95de8002ff373155440f8d68f4e54a6b25daee8b23e557b1cc655768dc9da65c5f3c8f98554f3b55c598702cd208c79eb91e5adefff4c900a435d906401c78ead1b05be52a859a861752c7320e072573e4adcc33717898762f468d944d19610084d8c93c1300663936c86cb1416a044438a6ccb83e9735e87ef3dce3e5d648ac29f0d22b3120f6f20465de1f3466ec58155110040ba87b9c5a21c95251015798b48283a4bc17637bb477cc99400351300cb27ecb758746eef535aedf03af25975a9c9f8a347a30d0a0f3854ecc01046eaf791e6edbe4a91f07f64675c1a83f12e63ae70f4b5e6bd1dd43938ff979dea9cece9dde9b36fc5294e28fee6728f887cbeb1def14023ac008e6c9aaa4aec214bb669c65218ba0bd0e8f34d5d8bbd75916def85a4b0756af3869df3566c426f311293816c533fbc002b6adc68f4e9b9798e2d96dc22f55d306213313b97d9f576cde8ea612c172e3ab49207e6523c303e808bfb123d083e4609bc0136d1dfa6b4ee52db32740a98cb9be697c3896e0daa5d395c010d1b61fdb85d64640bd9f1421fc19320239f122c80a373b991e5fe8a6c46f6f47ee0178c77dabdc4a26f2558de6c0dd273ed6558dc444f68b87b9b5b0c31d3fe75ab3f52c5f78a3379884cbd76020b772aac419f8396206aac98eabbc2b73487f1ef6322d4163d238aa4705ea05970dfe57e5122202dfe913fffae748daf84532ce456201460046ceda7ccd9a8dee16fe86c533b1b6c9420e2f4396a1968a0c132142f2c33e6c356b2bf255454ba001e1af229660befa74f81bfb1b5bd117ab692d79e01fe2961ca9e40435676cf5aa9a3dbe2a7377db3c7bd466c277273b787559fd10af2045b99caea5d22c3041941f022de24bcf785d9262efc7ab1090d193d54dde952ff8c781bd4e4aedb4474fcdc178740d7e53e9d3c77b2bac9dee46d372ae4c06cad3614b9baa6ae7d0185b2c4a175a6cff105929d64ea8457b3d4e652012208203d05281388ca96e493f6d30a35b90e9adba79ef45295a6ada7fe0a8de9a506970955660cccee7b46d705d72e4431117be35eab3ad5749ab1b18f13a012d24c88b9cac9aa4c9a4583095740b5b0e764bcbdd289b8112dc671e396af1a995b7637ad89b30b77ffbfede414aebfc07b3ad11f7b9fb9c192c5664f34e6b2826301fbe5c2382302cab97bdef09058375233ee2e6a4f231ceb1aea079f2b7a70b01c7d7fabfd7e4c8c1fb18231369c0f712df12213d9a344be8e2340055f2d15e89444e70fff0f72f200bed70effab5092568134804d72006132ea84fc3d3f4331de33e5a616bd72cdcec660950d111f6b4a5f733178708994d087f8d359292a6d9b5740c472bbfd6f322f56b33058706726de3578d32f2ef493b19883f3d320a38795f73c92b4ae49b177bac8d6eadcd077ebb1df14d07739f84ac5662b2f5e196c9a8fd2d2146080aad576ea7f9e2c9f9c87ebed8a0b0f568bc3617166f3aa6799011cc84f81310c2c09c83588976cf97cd752a5df662d0c14e56566b69e442575ef5590628da70366921c2a8a9686a5da6423f6e8930fea5900de58dbb16541b209cb63bb366e98824d1ead8721875d4f54fcf9ddd690dff404904fa8e8c3ad083e1007cab28e3714f7c04f23a2c840c49e840f6cfefa4a5d1146bfe126c95191903e6357d0d0c31faa331da6b09043d9521adfdf6f2f81e3ab8484b5692507aef4d5ea2fa80040ff31532a68645b4c47dca8ba46e9bc35e759ed83af202ceebd0bd89d140b3da5c53255045776db5f23848e11d2ac0c0cf113f162fd87187950982a49d29e63b49060e8498addb3b4ba29be7d4824055e8d5a821402c77b8d3110e9e22d97a9a81c2d58aa34a6d1df5e4b3bb139a89dfec21f386f62b4b73382c5a0787ee35691c2d75a203e7e2d351b11fed202c7b907547c441da8bdc2ec755c2f706a4948f77bf96bbdebb1c46477230fc9e38c06a3e227e2025f6bb656ea413006d3e1e219ca601c357f9df56e834673fdfc5f63d8dc61346e80870f33da13613eb5ac705e5b2f70fb0ff1d0eaf0c0bde9e88c12d650093adf26c2f034037232859018a356081fcd7ca22339d89218c22549c5d36033a8da906b4ef3d831d65ac3f3b45bcd3c3ddc9722d553d4bba9c8880928636726c1d1eb5394619343fcaddbd6fd5a885c2bdc5fe5011e58fb3523c8b7aad3e35c04ac089598d3466f15d616c1abccb0c408baa8042e3161c6b9367434fa59395d57e85d930ec31989dd71dcaff907acfe88aa1a4be19d8d1344483435037d731911bf6ee9e803e0441ef8b33132aebdf95c251ae2d2bb2f8044645ae5b963cea2d5d32c55b131dfd1cad5ea810df4841fc49210fbd15fc538d93a88f867dc11d64fe1fd788d8ab98108920b79fe37783614f6e084c2847695100e0ba1f177631fa053e12bbebd4b60d87a926665c0d89eef65e0180131855ef9a58cd866babb3b1e00ad19374a9fdee8326ba72a8a61d90d3c4c1b207c66b8be31cf6c8f79910cd909bbe148344dd2af42b44db2e37bbe664cfe2e2933b2c8d24e4d5824724097fe31a1714e200fe9bc9dfabee12daa14e116c4a7079a680c89449e9507584861f3a6e64890dcbf703471e408a17aa87859b7383d935006315c3ddeb8258ac8725dab66d2a09fb8e6d992d50da0f52aad5bffb9a8bfbd12e1084eb1f19f48d4a0e6a34aef6a91027918433952a3cc69a1dcb37ea47cfc574a6ba622a530bb4237ee6c8a7d8eca16a46edef3f017262aa8e8a16b27b52493e67eb2095d9da1a97e500047da650d78bf45a6cfd9bbbb315c9857cedf7229b67e544158e78e8143bd9913a30394f76ad248514c0d9f26b6311de0ddb511b58bc51258b3903bc75ecc57964bfe5b8e9a5bda1cf15c00467f0f19393e112c4495ebc585f77a61268b0946b5e53f460358d2c12bbe7e2b86acb78eaf7fa95a0c387130269780e3b13e57ab52a2d49ec47c7ca9d8c4878467f0717af50e9a06003c29848f08bd2effde708a0f085e7d3c1bec1a3d8628c3ba4adccb783230b9fce3a74faa7563b88887a5d825663283fa226dcb653444422374250b412c4fd0f48a2adc05a48b441bd90d3db39428b30caca6ea9e766c3d0bae2b43be46751c91883b969395f34ef568a1ef61d2b1be04d148f7c70fccf77a3c7d5d7ba5946ec614ca8696ca4f4bb92046f425a522508b26fe09362297064e7be53cf409fca539fa51fbde38c116ce2dbadad734dd9c32a62be89f7ae7c8dd30166a72ec4eb04f036c1a4c7ee146f457a4b7d97d3879c2d3080cb0dee540cb88a1589c91ffdb3ab447044ca95c4e46c628f0be40e367106504a5cdc9f428276792cd3ebc54d13d484a186849664dd7029583acab76b8d73a311ddd729aff64c5116e7345d87dc5577444a855ba50df7a59f8035f79f76b9d8bf24d0b933fd519bf4db370d49740eb2c5fd0baea387ad6024651d10aef62b43bd4f7ff20b4a912c6b5b18a5bbb8f2c42f29c2423f60338b83bcef17eefc81a2ce467d1e2510b55961108436a836fe1cf9c9aa86b4fa03f769b19d9e764b157e4b342cac4eb8849cfd80394715da76d3fcf275fef856a220bf9dd6559810fcc6ece8d92a3fd6efe2c584efe2f80023a2b4513ceceeb3bfc81157ce02f02626cdc0dc9c7aa372b2c0a583ceca62d122ee455eb4207047cfc142e7f6e67fa9fda10048b49c320e592dba014b56a80ffd817d467e5122629fb94388d52d95f0984a3c7759d651689173daa6bfb139c4f7df22d579740b626a3ee607c388629bb665103b1d2858756244029d7efe31963a90b6a68502231d8e31d5506ce77a8d0528a526af6aab0c60e10d02c772b369a6cb38bd9ec4bc322b7dc12f2a0fcf41c247dd1ceebc569bfc1eae6b440bcc25f314e2d604721ec416eee72cdbc21175f6550392eaee7863d9293bc36e0fa427dade57baefaf9101e7cc73c04ed34b8d947270002cdf3dbb3ad7bb21839b86532fcd9f821ed1daca6f5ca2ebe23f927edab9474d3d9cb3908fee3f060a3903281afbba79b920a7916ec41de908ee9fe4ce4369f265d2082c32ec7a586886c31ac55aff3726a640ae19aef5e3256ae3a3ceef2160f797013a9524677fb587978d4a9e792ac6a4520ba81058de5f687b24d1c8b98de6101c01862699d7c5a8dc6ef53c5059265bd43e6a3df88749b262416a68d25598dcd588cf6e33d3d6b9f431abdd6dd4bdb4736df1c54ad45696f56b3dea96508151a0da86d3f9f7c044dc7e629a6a10a32c0fb662b734fae044276497b92287341fddda786e15b8668771bfaa3e5c81b5f4d156dba7fbbd627d0a96f43aee4f27ff564377b872153e69db622a51166a1384b070d5f5efe7531e9810d2e86af0efb66aa57573f4ad34367b6db71dbb813ede15562a7368318dafa55450edf7d78e6727b684282c739a1782446cadef35fdbbaa6489246065a9cb3f2e51d3375b4e186853e3338e7545f6e311556c74614c8ac8b44525dd087b73f776b01a936baab389329e8a1bfe10d7aef85a19ede98bbb562ae218dfef06aaab38887820b9b8b5ddd0c6db6eb80541287416bd74797a778cefadcb024597ee8a77b3332bf160650a144a578931a96f6ee21ab7f9efd288741027fa6946883e806643c6bbe33f58a7b1e06ee1730530659db3e8f5d4d10136a391d9da78354f460d9aced35db0b679aa115b8dc3d8776d435a3498d2476c16cdab6f87ff771338b229b7e05393ffa916837ecd1f6b2721c03a7881288d4b2bb4093fa0b32d357c021705c9f7e5e6a6a6b9f1c49b5de5cf70b80790a69705ee8a1574d3d69e91da15b0cdccc7f28ce4567a885eb4714c330c3408c52ed35a14a109a9055ea3e16ac3038ce128279b6b87156403d93fbece26e7e1c85d1e5aaf14cfe7ce2ebf73d8a406fc132093c3d8a79e140247812b11e47d6cea30577b64a9c8152cc9f9246c27834915bc446f627a5e53a91853a3973af1d007b319cd41940d5c47cd19003146f015381aa60dccd09d70b481f893f7543d8003dd6f13278b8e28ac39132940b4c2dbdb62330130ce5ebe008c087e2e93b5ad77c025da2c4b050cdfa4e29d291748c05ac264a728a32673aab03b3a0b1a5975e504996ca1d52ed4db2bf3949a95f9cf3c4a1ca6450ec6c798f1d375ad43eba43e020566c082a322dbcf3a6320200223a7304af2e920b5a3dc3ccb79c03618b9f1ec6fe92f5d9b05d21f9da2fae64c05a0168d326f356ba8c763d2bf88021e6cdce52f4c861d5a5182f80f86eb53233017e6a8786c5c5299c2ed3136d95ec7868831811c9a560e15bffc0568cf20ab8ab5c8f8327ee4c4ccd6758c897969cb72499f61c5da91db46b5eaa5cb84c3abc1d5c6f74e742980b2965ab266b11fb107ff4abeb53180486533b9f2d74f38df7d53e6534f8104028876a7ab244141840dddc98e1930233e98111f50b216f8c12d72a2904441b612864e91106d2eb72a1c0b26ffcc67b169825dd8f599338ec2deae463189cbebed28559447cec6f24d700ac504e155b389b59838c894a0445de2d66d511a0a7528e3f67742cdb9cc708578a7af76d8de8116dc0b6d60cbde6c1f31a096a91c42c26beaa73697c9d2e4bae3150870be363f942e3e9747283dab13d299bfe76ae63bec920eda7be3f0a3e3c0dd43489c15dd985057016ac324e2e339aeed33a0d48b74448281996c8ecf916b321b372e26ba76a30dae2720369f70d0be6253ae380ff57a325ff2758ed1c804eba905f4ff68f21ebac76ee3cc75d4c9a25736861c55588f6a89767da5d122679654fe57d072054ed90ac35833348f9713a5ff9322842385485a635e384c3dc65af6b05aa4c8daf277272c385c946991f0ec3c3d9d92c567a2269193995ea005ce42fa32686d874fc4b5178483a62c8833715740eeae029db4ac33f071423a887ffb67027dfd37e429c1af1765e28e63d389ba7111f489e9a5666dbcb2612af80dd3cd4d43cfb832862be085fecdce18123ac1762f477a1e735d4c469f55e35032453c7d0626ef630da1faa1ff96705b7663c0266ed44583c135e643260c03d3014efaa9494f0139052310761406d29c8e6a9dc65760736a712859d9ede9d8e6a341261fa5bbf2d8ae9b815764dd60c718ceb4481f7ffe672c113212ebf1bdc51a59bf78086f204c68c8b848914f38c2c87c35d5393963e5d77be9ae7a48785cc19b9a69fc40299e535f64c6e944d9dfef1a886f255b04d66534c5ee822956af837b3e5c5e22ecbbca945c5d4edb53529489b20b8939bf4a4a69103c1632618e7170206636ef76fd7b10022854337b4110ca227237c501bf67ccdb16cd37eb1ddf794c6299ee5948764f5d178d9ef4c2e48455bc919cc0dfce63e3a935a6ff95af467d5c3090ab428a7b18b908866154d630b384939fcf6c9a02c2891e66bfca2e10f21931afe1b40b6ef63ac21f6d96c24b71648af50b5b56ca08d1a140b0ad1ab293756b4d4056155ca11ce5b681df8f80851943d3fa8b9d0b378a421eecea30742a1ff9d2bf2c711238dcdda13d57ccc63e8ce7d32fcce8dd6588993b13c61979f3eb3e2843e6f126ed315d94f07c15876f20fc0c8dbbf175b536dd546f38e4a7a65114260f30367fa892d59cbe5cf39ad584a07d89fc4797dafd33f9ef265e3fd2137bb792397b094ac656a0fc35eeb30bbe1e498c26f1c46322adfc65b6566da0aaf31efe4fe854e5a8b3c76cfadc089c658ba4d31048d0f02815acfd68a6ecbe781deab3160179ec44d4bcbdcc00a936b172e37867dd1e9c47b5cc5b9fc031c7a3ba9b3612093212e56751b39a7742d0fbd7a1972d9a1f812d3d883b96b73caa34b511318baacd1aa76b9b54bf19e13f083c3d46a8873479d7ae85873e2164e431ace6d0bd79210deb78f299545bb3468a2f6ee1f8aa6a57d74b2cc17160b8b890b34c231c041db5ca17ea873b0aa9359e86661cda36d9cf994455ba3450a7029de7ff6bf6c826ef4e6ee866538b56d7820d21d75668a8f8d773b2d45f97563a8198a4a9b4dbacb9e9f50dd1fe99e0a4f29d4ed2b6fa8a953885f43fbd8bb4f158d7c120c58a0ce939c69157841969d059f76e15457c387af09099082b9cac583c78192583665579c8c5ea19b535187f0e37066287084e6660fa23195e7aade69fca1047c6b084efcc9ad78ccab2b48e188f2e12f28c82fd8005d20c9c649a48079bcdbf47cb9b220b8764de693e9c8d0dc879b3a379db1f98d935246c26102dc01b792dadd5123926b13fa9e9e736a412457dbba5d8f8327bdf4afbf8534f907efb45e1b9d3f4595c8dde56f939012b41ced0e97b84f681929fbcbaacb2fe815e628f596f7cc2785dedf7abf7198762dba8c63754324068cbde71c001b2055360ba86d527c1426c49093183dfe6d2e02bc6fcfa9c92624705acd420d3b584c975a15bbcf03b889e4f731b298719a1a085a469791042ea9b8ce1ccf6962568f7879f3253a1ec02f9027091c3822e3231be940476ed33274b1767e9bedc123ad3196375d958fd53f65049c207c63e4d0f75ee29d54a89e8bbbf00131b82aa94397788c7088140ba0824484f469d16c92e99dfd864c09b3aebb03bcec325f27bba3bf857577b58e7f4c183f302f7cff528f9fa592b4cfb78e67470d27296853d40cf2e269d459572176561987ec8a438455b16165e9741bcb41f370c13fe77cd093b6ce5f10460dc22974808dc09395a7ad54019839eed63125295e201e278188fd2c596ded371b35f80b9c938213d89a087330e310b77f2b57c183f99d87cf8564df0e1e1c524c518bcb442b317bbebbc9223ae6c36d883797402831b92643ffcf4e2dbc968c45356b0c44487564eb5b316f5258efe7906a124591de8651556c8bbe6b3472c75df616af13d054f26e8070c366f42183000cb41ca1cae92c2dc125ffd69a2a73afc69efb6afb8dd0b7aaa69d2a27a984d81992572202baa7a159a6915b7874250a2ca3c2bff5e2a38137d5ed27aa669a411f98a792c33c20b9ee84d8f2efaea2ff0151440d493eecc0678e7c9a86fd66d64dc6857e789dcc2445b6842d3725894a1c8cab6c169c8d5909f38dd5f8c72085563c1f0cc7f08fafc2f0c5a417c09904a5a9180346104b19f0e6dbcfcf84f1b920f7afe8bbb3fd05ed57b44eb7f495d1b9ed3de59fd50b096a1066482468e7c990bf49ba0f137acf7d01def278b6aa389a591b328b0b0bf193ad05d59038885820fbd40ab0435d6c093b6ffaa6026fb50a5abac6a9d11067ff81b05dde79b815ff6e4399e55f9aed0f5ee03d4010c5637c0cdd3cc90457299b84a457f62532cc0640f71dd5a9696bf8f8b9a79e0ff06ad309f72147e734f726ad29c2df7dcf2f357289effff3d0e8a89d984c5e6e3063771687328114e273875b7132d17ca91663b8db37a4d7f09e9665ef3103afb38b8534d1f275ad5cba7122517cc50c0144216056441d57204d0fd7e985e60a600c51487d88fe6c472b8b65c1584d5d6d156160db71f74c458222b45256ffa86f87cdfea5ceac475437bb8abaaf7958d80d0fffef29111b7ec626b3932528131f3b79591482c9da42aa80096365fcee055ea4ebb66cb60b8cd5bd464634a077a9f7b0a1f97370cce16dceb4e6332db40fd0a940b8a770b8c4cc7c48a4f2335ad4d11b04fbb3148608aa66424d61227a2047402469b3708238f8e260e3cc7ae417d02895bd34e94e84419cfafff38937f1f3698a8281590ff3866f87bcd6e887f9baffe40ceb116e475d66673392a9b93496fda967c13a68c0050391285ceed6d8ff5a9daabd493a0007782080c40e932040d25600e22647d2a4ca48675ee78fea538fca592021e3c9e720febb421ba0acb0a7a51caa485f1d5f043871687e269ec8feda5c62661aac853ed2e37d831dc39731dd328e4974f249719f94dd8f3905bfa373012650cb6a3f2bc83d335c31728ffe961d383bbae3c987c1de2ac4a0210a1fdbb7780ce4b132a98fa6dde542a553a33adc5092e6618e642ee3b348d0d4e278444b63ff8b7c03fabcc5a47efc906c0e3f0d3670a825cd0915e2a09fe144851b88f6c7537e387aef9e0f727e4eefd47cf4e53c7ad4ec4ff237b5d7ff7ac1c2b7aec17ffa4c8cd2e1396eafd5170b97d24ed6e46e6118cf8e831f31ba69ede71b702eb5dbe44ce3d59be7d578f408f05f8773fe628b67dd2b24481c53809fab44eda43af6d27b84cc45143ee33dcab26e8aadf12b6b774ee7c29e7fa9a6facd880491bfbaaf7f1dcafaa7900b9ea1a8fbe866bdedbf479ded5f45332313b224a3192e4b3a4da2bdc24e729f42183912b4144b84e5141610d885bc31c17f019620e40d4e779615898ad24489329e52d434162973a0abde2e44143aa96f1c2ff5a3decf30604cc18102bbaa8770046293f64f49314cbc53249057e0cdfad8e950796b6f72e3c34291de7c8ee8bec308f4b44976c0427f6cfc7d1655dec4f7c5e470e9dc3e51e640734aef2f59b85ad3dce622ddfb8606a49ae5ac05dc1f4d38533d2b5bead751e4452784d6254660a5c4c03482ee63d022326c95bf74af971b592299293a0646083b7538799db7d81f4588655bd1709dd8061fed3db83ead2320d965d6d50e54646f1c097c476745465cf5d8bccffff55456e6b867ae828e14a0335e649edb9c474ec6f4bfe1ffb4f029a3f87a28264aeff5615b321be031d65d1c045d5f97a270a85c0bf83d18e73a1190839f55b4b809b6ca7885b9fa194aa4534522b2859fb72ac4e44d502a4a7b6fa59000242da5211947d04cf6d5e304e46ea6defc661df1c97b13b9595f6b7f37c65da7156253d50769df313690c3a462b1fc9dbb361856759dbc7c987571861411ca7340d1a4748c5a2d80ab066571ddf7cdcc6b46752c5832fec296393beb572e5749b67ac82d99971495dc4082f146c8b95c247d59b18517847cffcac1c0427e6b9946ab2631f8bf515d06cdc2739536866c4001102eca67ee45d799cf0102cb3595201b04ca2e02129f5d7ee232658c6cc121b5c82cf9ebd05987e5215fdeb972194450dc29d9e8c9db41780a2913f25dc88ec67512040ce11af62923577976274cd6b72183ad56ade13f357660304a049929004d9cfbbf16fb99c90a2cfd8b68f01592fa7b4d152917bc00720b65ea270638ad42bd7d88e69a5cc4b571496ff77ce2f33b8e4ee7aedb8972dcc1aa1c917dfdfaf6d734cd809cc312ad7d878ae37bf5fab87123e03fee530180362f2a687fcb94536ada302fbe34dc35629b98c6126ff65ab4929371fae3662592ca2d63efd83f716c82e8c61c072f650e9055f3bedf89bb0b54c79cac2f19d92678ffb9e1abcafe9bfd6c4a24d9fd389bba5ea4afe5c59ab77ff1e85752f4f06d3b5be3c00d648d0dad75bab235e020d685eaf4d07ac472871cccfde268a9b7c9788ea3b47417f0dbe98b585c0d36f2103d111f8405cd68c6f401e2b541b80fb8b1f979605ed3abf774dd89dd248be26b1142fa9695bd84edf4d0bffa03499f5b4983212cce86170429079bd4f8126756f3ed85de61373da2401aadc309e3bb44b84fda3e3018e29005b0cc4b2f95ce45beb4305d22fd9bacbfcf6a814ab7b0ff06694c10e79d4e2e24cba94b1094427987744515b3ece9314c2aedf67df9c71f6821f47bfba6d93fdfa45c1fd6fd5807bea7116168574d29f0765d80a9476cfd01f99e7fcb865db219d596b4e353faecff6a45301e74d8150cfedf4e481fbff39a3a0ea95e5fce67e11cd5f74808affe26a5c6bb793079608702fbb4ca06c795d37ff138c95b6909e3966f9efefaa0164bcca1d35e5be0a092e542c9c843aed8e29845cb9575edeeaa860d3660bde59d48d33b9442d29de6b6c8f7d0eb035d6ed1f55e4e0c83559379f72accf3a1a5046059cb04fe85f86a037ce3a3ba4f11d158ca1f7f11a82b75a8e788fa5455f52bc144e9f15ede9a4a4a71c0a7b37ce34060367fc546f3b856bbf37750d22c287484c307f4b72e9c0d6e6fe1e32802156576448398967449ad1cc5425cde3b8ef64320bd7b68243da28ed9a491d072ce37c87617d7de306c7be97a9c7476bd3daf898668ed1d49a517c4c9e1c313cedd3dc5c7061eaae07a77a86f0a391ad999ca5922ccd190c6d23db3ffaf23f9115a43f9322fe5d23e4e8bb08d10b16b27c9e92894af67db3062e5005eeeab8866b7e16b078934176aa45567c9bdd081c0a89d8ef741533ab690c6446971bbada9d0305c0655a53301ecd6e6eb787d01135584b91847c3700f7aa6750ff0e64bac66918a722b6041e784db56e58ad1952cf222552cfd61aec13ba8d4f01c5c72f08882b63c74a348899730c0535bb5a77726febe0b9cebee38cab01da45ef913c5d3f987b4d8646db41f767aad1478a25d8f0aa9b10484f2798345f22bf2ba5fea30310bd7fe6806a05aedeaf04867419c440f9e434c83a2a08735f9c712e1069fe5e2524f207d3705d8c0162d395813cba3856679a22bdc733644cd0f41444b534e738f5f9f5ef0bc59dea50ca6ecab55031de5bb060ca94c48a9ece83c94d060b42ecd290685b0f1d9ac8cdaf9fd094abfae1494ffe7bf552f178bc426c2c22604bad0c24f12dc0dc510c3b20bd041c6c2fbd67fe8554542444f345d1275ebb0522ba32a0d6d4b94532589cbdc5f4faf74f47d90899ef7d03f8e21912fe177c63cbcc95e3d8bff9863ece04143b31169869faea7c3aba192b983ec6a6afbd0a5ef765a56bbeda5f2b93289b35fb173468b71243ba60532ef08440bd6a42e4889f3769d84958ba1f417ccf761fef13fc49d82e19c96118d1d21d796a146a9dca1e6790dd88258bbe1e49af3f124d0d750cb0af74ab1a02f809c75117a76a2c23b06c3ef386d51fccfc949f511dc3bb5c62ceab3f49600650098f9ff3873720b5d1dd34365848b7cf506b44a17295bce517bea77bdf6ea8f167759ad38b293bf47dadfba22a11c055af2a7b12a70934f18f8608f56cc60fb439e7c04d3f41930cff4dbc567585730da84f50de9dd794a6d77e1a3ce3d220f7f1877981b071a6c153829e4cc048fd6391144f518e08706530c3b1f99e5c497ea7a358d1b2355bd9a7a5665370c3c78477fb249d6e365dc4ca003a8a08c73ce80a3a6770056fae6fb4b81b7294ab164e37b4114da9078242427ea3c1dab86c647329d48ba536332d54d0dbff562ee35ec1dc059bae84749699b4f49c0b610cd4ffe13ce3ccd426c92835054488aa5cfaec6681faefa1ee33fbe377e838d51985a1672ed4ab83af8a83e4e594801aa8a837ed7cd98ac5543896ebd2574f1ca38ca0a4ae0be79376c035dcbb97e73b4f11095c5195e0ccff513c570143f593922565b918188f1a8152e3e3a5092a1ef958d0e15d501714237ea10510640ef9694c77b42dc4a21c1ab66f0daea654f5c0b6c63964052ec9f682462e60115fa7c57abc205348465121ae6ae153e7820109d95edceb574553b6fe1c30a6ec736c3cc9a825a755d100dea6ee410ff1929f5adef4301c55dd775af170be326b3518b374cb203d5e1fc09934cdb803b3f3fe74e3d4d3a3fac292d7aefcef689139e70fd60ebafbcd33546f998d8243122c4d1476d93bbdc4abc1d79df3f2fb7aaacca6ab682369b462323ac4885653c405660fb76b47a98bb5ffbaf420d3ca53cc5645d81aa10a2902df44d1918bc698d9ddce50cc86a0d136ccf5a8ebd6e4ea91291ba198c7f01b757a1fe27aa15f4d844e1f3c37224a2e8dd3cee8468ecd644ad50be528743b3873ecd6795f7b5f83168cef8c7edf1fffd70d7c1efa3f2d6552714376c4747d93f4fe9c5aacf99a8c88303083de7b9b33542c6a29decd0d111c2266457332597abfd1ef51c416e7b7422fb4662f98b09d7271dfc03c8a450acad5eee9912244725bc0e999afa66f56cb1dbf5285d071f48f0f5bf61ba0ce64c9ec7e0bd1d4ca84ce8e51daad771b84d0c10fb6a044f19f69282733d4f53bff2f7ca451a5c50729a63c33e584804e9e67492cfe5ae24a9ed434e2dd2737ed8dcf97f15764e977770c6d02b6c420575c8656c08cff0c26ffdfe0a2f65f9caef9fd72522b9ec5de9b3090df6bf50d0605dd7ab8bb4dc5553f6bf338d8dce4c1d44e137a9787f92769556370f967c2ed23b610d565ba7a26a297c0a71f517853184623a8d4dbae18dcefae3731e23c8c55e1e19add8dd862b1faf9ceab56a433729c894402c43925e0fc6e85ee341d070667bffc3c059a5c82117c74e830d03036e39ffef1cde8619b4f52b2bfe822e8cf4d5298b8f706bfe0db8fc0eeccce3ad6945183813ee6859a4c0452e3144c9a36ac0a08b7c222e5c2358e0aa8639cbeab0e630682eb3a96d6c24d4c2bf64efbbfe65400932337fb1d63ecacddaeb4d823adf77ac4180bb77dedf3f5505cd4b87d617b0d0854aaec2cdb5c88c2319f0869547ac66ed2e2a208cecdd860cbf93e259916bdd9a11852b9a1b5e7ab5ba69db7221a55f9c231466c322c9016a5b51a47b52c174a4eed3e7f4b7947666481374c17664dcc6078fe4a23f66abf69affdd7ed901e2e64e00e480d53d771c3f0921808fc72a92a09b4c6a3470c0b173761844d0c75b4bbca380f4915e6d9adc9674c1ebbce6a808e2f37a6d5dad6a513d2be269b6dd4d8217ab58e6e0b73701dd859a6cfb52664545558c96e45d90eb565376247dd79d486324d805d6ca103dfb456ef2aa3f8a8e5cbdef026c9244467ff6414664125be9f0123d13f3c50d61b804d7e9273b3b577c6ffb4d328f0933411a264cd6c842324ed6049943da0745636abbd88e8aaf19a949914d95c567ab1993ab215d38abc989e05e73e9448bf5ebbb0bf26ed79e29c5dc6734d5becb22c68a0e7e3b47cdac368efc574fd8caece5f5debfb89150cb075296139cd3494fe6c5a8b5be4ad56669d525052812dc6dd4d4ba15efa458c2e504cc3ebd51334f3ac2202baf9af1c528dc8c77d03065ef1c10db949d435d940a8eba938a627fea1a4c09dd1326bab2c71895efdca4ec903b77399a30df32efa24c33ccaec0a5a9eaf8b937c9bf8d203e7cddfbb5201390576188f106f626cc104f037a0a0da4214c4dfad122c74ca4f1251862775a6a65d442ce68640f04ec474e15bd2fa00ff6b7012a1f4b77f310df394819290831f1c36a5795179f4cbd74515fd24469a0949cecdff26e31099533d39c7b9b28dc9de4d8b2a9bfdaebc3b2dae75006adaa87e24f42254ac2aa15e6a2cb06fc27ae3f0d9ec05e24ef4a44deb83e2491ea783ae61fd07ad0713c46a8f5268ede4b2dbad6daeb03eec51612c1447028a6c6aa70c9012210e2505cf3b620be7e29ca387b8b3495173fec71d7730d566dbfd774e10d14a8544f0f43dd4752a9b95ff751d8d88f9797a8eca32fc8c4f6cb95009ca29bc697bc95ce8e0fe58f4d9e639d80da30b5285a3503b9273f47bc1a19d44e3d43cece4341f43c7a3383e21a80b19b5143179262b7a4d5af24c2262abc52e380a89464340bc12923eca263dfce954d4d2d40bc1879c55155a011ff26959f0a1ab7e7c54717d0450ccb2f986b9e0535d84241fe66a027ad142a0f11ee516b7e3e08e35cb4ff1b2189a0cfe9d637e0853dafbc8f9a99b8802bbd3d161658e2bc5bd07bda0e46be86713400618144f0eed7949b1141870857c6ad4a67211679e5839186d179f18c912a4db7801116011d2b5154cb6a4e003d98f6203848473aad5631db8e20b075bee7e4614a88923a811104345c654500b97385e05f6f377ebf516eb4ae1818e983a42bc8d4859ab4bece817f627a4e64bde3eb4571ca46ac57c03ca93a5bfcf4141cd154ba38ecd77ed49a311b4b5cd5536a31428f460227a6e2af56662623b5e4e3a5bdd73d47a96d7ecbf10307661cc69ab776ebbe271777408178c630621587dde34d3036f2488d9dc91316c90a9e87190b63a3e947eed9200a702a54b6a12380d94b3665044adb8b6004c62b81daef9e4374e7bb449c796dfd4bdb8a3640d9119d67d38e0c3029c0ebe6a2ac03bfa7a8bb40fd43d98b17403ebd8e7dbad0a3ed19baed3fcad2c9c3eaebbceb59b9e1541d1a7af199df68731671183da174f7d8e2ac0136f9f47e8c68b74ee54c8f399d9175b45fa36868fa47d549d5457d054904a8cf74fcb3063e3e84a8619b7f71f9b2761dba7557f5d769897c110af0e54117257f9f587195cf421b940acc598774fc011ae4b012071658332bd234b2b3638bfd1b03a9a2bf632c42df383cbd3e48ba6dc0eb7ce420bdda361ead811daf8a72612df50b430ebb29c421431a6bf8a296a556879cbac40253bd872223e7d03bed76f453ddb51a918728bfc9589c4933469c9bbe801c2105132ed78d0fd96e56c9c009d56219e399717c3053c3627e1082d3a8ddc97a9804349d2413f6d75251f31795052005dbf139cc8646a5732d937b9f4c678dbe1856381968bd0ed14fdd70bd17fa622d913df15eaebc01e3500864cb434cdd9247f528626d0c0e2c9b7b5f5a3527321f79a248ccc866d798b00f41b707c3016c9fce4349f1cb682878a94eac00797a569d7e0b4dd7bf17777fa748d146a7f8ca2d3407a5196d9eb1ba4e4beb3ee81eb987f51386e254c50c80a3986185f1b9731e4559d11605a910e74937960bb677bac513a24c9fc06e58042e1db566275890b581430914ba18e4f593c62c50c9946e8404930ef5b5d81da57058b22c65a2f2ce1037af2dcefa821cfbcaef3df0ecd71612d2a476ca5dfafd2276e32d79881c8a343398644c04c2ecef8d9b267a33b9674c90fe26ed883b5a565c8d75eea0dad016b4b1bf72b22e71b615528f13b4f8334b426fca16160315c716318033c142428cc8c32f390f9f48484f08f7771efd316bb433305ce6abd905c9afc5444718ecfa8f4d70e58c614b26ce1436d3269506dbf507e729444d7c3c0a265242e1f8fff6f1886772bab6579428aa4180dcff782acaec68cb62243395bf19d88cb1cf89769b550bc14e3727cef79ec4153c4e0b2061bf64be30d964b4d6990416ca1e74b6a6e138e0f5efc919965c9593a9eb9ee5afdf56ae592240c76614af6d0e9bb4288855ea000cf3bf34d582fd008ea06666e3b90a679a65b1037519a9215ebcd38baf102d9f1f684c50fb8aef72d24b446f66ea88b384eb8c37edaec36b630e5388da94148ee2a0b8f3ff68a8cf72063d12b79c6edc6f5eeebc66f900558d24fe361311d4294cb8a43a2532571d70bae66e88c5f1ba6fcf047e1c5c7b9341bcfb68a72d534ad952e54aa5b302389394c119ccfb369b105e69046fbdbb4492abfc8442542ba2e08b81aae9af28e84d914d4fe4c0c9683f14d2f1abfa1ce82db1b8c5c71cb0c2d3c6810a9f1215634721ce9d950dcee1625e91564b87e76f31a6b385953fde52f174b570c739c21e892b21ada4a7bbec47f52c68c23e3a9323e54bce4a68e1340e2dea1f528cc4e8cdfb790242f927b267d816c1c1b4537878bb42c899511fa0227211a2c9209d9fc31d3698b103528a199e2454fd707f118f2afa267eeccddd3c62ed0ae52096a0646c81924e1ac1f8fa5c7f03ce5d0194a73bddcddca100b5d19ac5169e6aae169f343bb1f59da74fa8c7d0663baa830cb4fe0854402df3098c898372f412d9947c8dca41840c9246e5b7e3fe344ef9b0d81a8c93c4870e5506ff4111155ff2918add726e7e4a9319bf5b35652f791c8054908285fd3c2b2a4756ef78a2374a2b5456e84d57b8eb870ae0a232bea5ddc442350a8b13f0017a05dd10bb0b5405b2a331fade12a7327ccf4b0a5d11d9a9d8a4cdd843639392152b5be7539e877df6e03cd6cf29a76348cadda5405e8c06ef4526a7abbe431c031bbe3902b773b1c370baf8f3fb53d2c574cb5a74624b46efb4e88b1f61eb6c76f33bdce5895fc04b8128f2a273d2c3d493557915cc4ef1f4b325693689ba6e967603bebc2a53c50590d9804787a3e3c1216961d9b593c36276de87a3cc67eea08e43e82542431b3b1e432f668b33b1e81e4b4a2918238d1ea580629f28860e6c4943a1f60dfc225bb77546d122bb4fd8e3f207ba14c26a6c431d371fc1debf2d62e4977817cacf2ae6f2936f78e2fb7e8c4111ebb06040f1c1cb9a487929c94b4b8fcf2dcd185ead90dedf99946c435aab9dab5c4cf80031163f988cf24da39d3c80c552b38ccec71af1f9c4db2b9e7e30a43a8bd67b03d5c31d7b1a3dbd7da55c53d04d51a99ac5e4ed60486528b5e45deb346a264ae0e62b2a0be318c073b42651a36793ab2ec73bf5bf6ea198e12185147835f961abaf46563049c46ff4586e4553e8a81ca9d64af4a30f487ce1c0c3c4047ef4cceb5b389c7146e21dd2a833a88a1392532dea7442990af1c92d29ad6a0930bc130d81f31eb98c911b40985f9cca513a6ba764946d147d27493786fcfebc227ca8a99f837c2c2c67dfa623ab554779211b6703a56214ff4b486df2a710e4df7ee271f9c72814b0905ab36786c3c638e810cc9a22a8a1cf126b59ca2fe390da5b62620619e4dfb5021cba845c36f5688ee6a4beeb8ea7b366398f12195aac9bb9719defd9809699650c244e567f7a353a1d2c379c2cf795f161561359086092f6c2972f7979b6b6765f3d9c415dcde838f8575e872944fd62d027a361b57a803812e05091dbeebfbd04a4b03a8055bc658649cfb49c14907631828cd112381893a75a611e8ef6baa804e6b29b9d69706ee97e8931863f9c51c2f92416d25ea2dd8db4a133715669ff12db59bf5ac1a08bb46afc4b6c7794a90a3f0652cd37bae03c576ac864d9b3dbea46f3bc9661dfca40b6c69ba72a4f907f1872405c3071acfc7aa196bdc71eddf05c0e31780e95142ed77b46a043134aa0b5cfbf515659a66c70ed8b3a87c33682457db5777f373e5a2063a2fe7fa0a370bd3de5ea8834aad0ba8d3e4c9c83d66ba7aacdc861a96b83ea950ffeb9be799beb7a1f580706a2411c8240a4612700d44932d81bd4be4143a062e3548e6aab4fcc823e4dfd54005d3027e983e11f3017c80a8ca36c6a1b9283bc458595b37dba8658c86f3f72eb73157ec76589c63b710298a482f070dbcaa01616eeda01afe74263e3408a39f932c85b4c3008791458416a0cd9428ae701369a9c90b1eda99bf1a3bb9b20bad17dc5a5506d63c6d9f5b93f913982947e3dea1626f46cb8b530f2b62827440a2cafae517aead57880428d867d01027aa8993f0961f8cd37eed81c61981def62183ac2e2d67dabc70fb287bd1ce58706cde294c6894576bd5c317db2405409e0aa86ff4f91ce490a9301393a9e8d0c74a2a460e668b5d0165bbd1e5bb0c0022ab67a4f4f2edac9e04919433c5b762d53c9682120534d5394e590a1d519ed702277f16d8cfa5e68128281006c5b4cf19ef6c3e68c716c3e30d1bbc906df56a4603de639c3d8d138ada30ae72082bb24c194a2fe62dd1f3e1f44171800addb9a7cadd43c1dcb5917130062f6a959dbbd4fce477ed57f4ad10035f86a47fcd91b5868cc320b9748a38d34635a1d90cafff3d34fc628207b2bc9e193184806abfb4b2458b87bb39b2629770f3c4ce9e055cc83474167e019dbb55f89a63817bb38531a21787574320feae90113e8c351a89edab2748774d8797019c441666cd124ca2bae20921a68e297e410038f9771ffa4e616ec62d100bfe4c53b502a2f55a568c8dfddd5f1ea45539172f6d1fa3ddcc3a0cbbfd9a871896063814f0e03700d0a2be43362f93157679d20b1336eb15f914a1d89c3f66ab91fcd3e0e0c87c787da1704b2d0b4b81800eb54e626d873d55b9d20edd82998e98dc82b10ea966bfb6e26a241f982163636512bac1767ed4b85d7e31ec2c6191825e2ca1f02ddbe6dba747970b45b4448a433b82c592f673161b3716d985a50aaf1cd41d51e020cb8475b1cb10ceea0628d036cb308dd1f28da40532fc1b48bbae3b5669712d06225d9f501d349b8f3b312bbb0940058ef17db41fdfe5b262c03307be6fb87c7bb2e8bb78a699fc62df34e40eb2ef8607da5e5b70dc94dbf89575125538635dc3fcac639707d3ff2d2062ae410361ea688925a5b3d58ac09748afb5c444655bfd11a026f40b93d230f7da538063ffcfcb180f4058729d9449d58e7254f17ee54b7341ff5dedd2f9d3ef2ee306b24c8a161eccd7d1370f31a3082bdbede51ba963faa6036be89527c3797424d3b6624d31f1cbf97b768d2a72e51783c8e3a224160786f30c4688954b85802c0ec72707ee2a02d0f44dca6ef8ae7bb38838496cc39c5043e15be1b8067f878f586955cd5a36070a98c0722cb017071b71ca046516c812f0d8955e6ec5c8e5fad16e2fa98160ab1e5a7b80cb88bd8983f4ee3438362f7a552877b6cd089a00efc2b9e86b4fef5f6f99ae527d74fa1202bebaade3e316688a200856a528386dcc8e60969f71c8a7ae9f51d3f22a3e1bba859fe7b83a463c9df94b2e7d39bb8458dcd3769b7ae80d5892834fb668b46812b3c456fd08e83aa69763af93651a45fc80052912e80f4ccd79262df830ee53e029a3b47ac37e16a4f3822396efaf2f561ab83e4ed296ada2b5d731dd045ff610043b43e64bda3a6154475177cbf9354c1e17963e56362b168d64bfb762063e5d09c2f863b4bdbc5edbe594682e0a08e35f4ef7a7a6091b30f4fc78888a03f9d6e6fa48b989dfcf84b289f4744b85ad29e89574101fe98202f09af0c2b886fba6f9b8a1cf0fa9e28595ca6d43008225af892dcd885d26ebc6be3686870e13e6f533052dbee0f6ddae6554dd127d462326e64cb8be2565f85c86292e949a0a3dc44369ee6af621eef7337614f0eaf5fcd24e70447fec2f72270f94c6d874b395ad887f839efb9d7904b1ed858772f705912fbf40b47e249f81fc4ad5fca0b4122caa9b693d9d3017b4b8b734042489afd89ca2f052908f045dd485a633adff0755cf27869ff5e19e07954e31253f05d89e3f2c3636013eedba5a084de1e9588cb90b901650616a387a0322fa5f8e91dcb36598fbce28cabc3ec9068252409582dd1ac38d31e7f1925b3269bdedb61b0130321e0a8de27f79d2c80d024ba7d7f9d4a0397ef58facc4f4ad3ed0f3f1d07fd8ed9fab103eac84b08bbc49d5c1ad33abd09000d8a8b254a6c0f02da42e3ebda4c0450c517e3fc66aed96cb5b7bf35f0cfea1447aec6dffadd619ddfa64bc46ad7d2db37fb877649d47cb402c205e4b7cbe36975f1ebeaa90aaa0a6659243155b044cf54cc05373f9f2b747bf24efc308e06cee4fec0754f4eb2be93ae9982c723a4a29d2045cf586adba21e3d9fb85f9475bd1eb66d08ba7256fe7ee76d2e9ca6995e1610b808c143ec8a40d7f8e4b127988b98ed85587a55117e07515d22ddcb3b92c0f3c9c79a1ad9977dbcc2d934e313ac1b303431f6dbfec11b92fea794ac1dbda189176bacadd75a8483cf632f7d8c02f4be203872d3923e156bfefd609092ea8a7a1acbe9b3244835ac3bd5c94c2e943678adf249f62294bf889a5822abf85a74e86b754eefed5ca119bae2e892767db06a72faf4f9cf228c8d7ab088580b1e82a205ff42d16e291a57055089b3bff117daa70a1d03623883c5d3d3d0ac96e90d236907fe550a8fb5cce5a41a2a28193c91ef2b76a208fa96811e3a6141bc56746a400ac6e85c1fb312043813a203df39bf9aba3479bcb4675ff6924b9b101f3aa10398164eeba286a46c25ac720b6607911e1810e33ab5312b9d0381af8a8ddc4232c356b5affc9a72d957803153bea290ebed79ba3f5a52be43d48b6afb7e6025f26ff8e96a7a7b92f1bb8a1b9e78022fb7309d7011f88c7a0f54d6e56efc31f750a2167837686dfae4bd455320aaa70d65d7502bf94deb875e441330398b5b8577c02efcd7bf5ace9ec03d53329724d0aaedc84351ea9edd1615f6af9608d3b95aa23ad2582c5a9be736370948562f4abde1f65fdc0dd2d4bfba2ed183f3edd9b0898f1f6ae40a3992f6aea3a0ab0701f037f1797a27561df7485492d1c60a49dccb6194707f577ca1ce136bf3b396657748cb0a9825c4620ca3b943573aabed3b2819f057544230f9e241765e41282b35c804b7c9b15a3a32a48eedad86c31bad5d4053e17b92724f08099687df171d578acae8e2247d52f892a951f8330a9eb0e7c40bb120097ca508af71aa71691d29ba54502a60007dff579f2bd79c746058d517b9711e52eeb559d21cd87a631ecd5e14c5601226cde516ca11fb9bcffed1d8bd4071b58f96b067f875b2d024ad2bc1f39f081366d9f0656dea7091adfa239371674ee1988e5fbb89ae33931f6caa5661551294999483dd070d377f9c7036ab791edd3a66aa81d06a07b2508b74a9329cb38887994748092f73f954ff5976456a2f5cd45deaf4f91a622c671186b70c7708f8071e85bc389de5c323e93bbd772dc50154e1c247695b56019bfb5d911df8ab9187f15297610c1d76b0150aa92c3452cd52137fbd0688db23c69cc9316713ed1cc5005e1c4f263bb2b34d32bf4c483fd04ad31364932a87b48a89e482bce24cbef199f9588d6bf862c9d02f0c4c5ed53ace25a5e045bb2515fd46d5944a6af68bfaa2c3e181ecec1ac2db73aeca2ef20045e3c669ed99beae0804496675b068b350dc7e8e0572aa96469db6e102d514e4cf0b8c228de2932dd1430b75cec1f9dcd92fdcab52b966fa38d150910edfcf2a2be7ba3738e1fcbb22b8e668413a1cf1c2853906e55d707bf3ae0ea65599ff5a64a3f0b2581124c238994db1093414ac65775e57abd796c2d4740994fe6c03ea6e784da7743c43025802b95eab4d85c6282f96010ec743a09445f5beb9351e1f1b208fd9e7e69ca23e0848ab8299b90f37898b4721e85b6e2b8944f7d72b18fdaf3b5208536cdda23b4bc2791ff7863b46ca9e4a74f01bb1fa8eb2ba880669e9dc345a3af6546a9f349f2fef24520c3a90038cb9d36174c0af09780f194479016a421b5a14b841d33fe0480bf4b70209ce6ff65fb6c371990afc948cd14bcce218bc40e7711f541e6e339ebf2fa4f32c3fa34a23b46ff037da3e4fbf18403d438d99511d0405180edf1ef2cef3011381a8bc19b8795f5c9490a1f411ba0112be227985f31a60f1f138380df05f275d1cc0185e66dd41869c6d690afddd3f2f301503ac02223b7a0484934081dce51718540fc73ff39edf5215948f309fb2d100d5c87cd19a9c414e8d03ff96962d09e3f2fb9b25ba2b32390787a02f44acac8633792068769c450af4f8ec42b1d0adfc3a39ab89ece4be21cc97081889b02fff23f0b28b3c3a2ef69c074a137cb38fb956549cf7c80d9bebc6dc748c6191e2b29575c5ea3a70396148bc0a3be90ddf38500882410dab9f4fcd71d27e6851ac8daaf423c876c94f609e58b160a94c21f15bfaf87c30f8f99a4228fe04ee5598766a78a159e1bb5593733101aae0330052e4b3277cf0575525badba562030d43fb1939ce8576713223ba9bad517e26b7e14e7123e187f34bc2c3bc2a900f62f501bf46e31d996270c8b42990557c4e686bf08dad608ffaf0eb319c2600d3c0317725cd9f8be501963bf65ce1f13353baa6c06780ceb0cbb3e348ff946c748f5602a1533087d93705b69924ddc64035440b8298d15ec240d1e6fd77080cc391a240d6168fd856097cac2a53deb3e4d624e7882167fbdbace14eaf6f39ebe7e2b543c08fc617870b17ad0e80e6fa4e3e92773b33857ccad6c644612cb08602e989a3970469e7713e2abfe027db0c6b72f4e542e4764c02d8b4754a963e7987966adde272478c700fde64a603c57dcc1a435a15a5b072bf763f1431e87e10a953001e157e2b45b96d663430bd8054624833dd95ef46542b79d8bffec30857610823bc85681946a41a16b981c9225552f83a20150576e085c8ba7a57fc29a363c70f78c68ad7368e1c57e87b1b8b1be7b28d7c114bd4fa8136365eb2b2b25be55c0c2fb509793a4c280fc4fb178f971096a4921e375b74549a73092b6d7ddda074264183cac68361b9d32a87e79509d19f8b0e9a740dbcbe837faff0b75154701b7876b9cd87b05c7bbd6a34e4a046a95db9cc4794b5609d60a0539e31190b894104746677655c403c1abb7aabfc6e9540b43ff260022e4739f0fe344d68c46618b6f3b37dfcb8c07876c33d575b446ed99c46799e2b184f5c8611cb34b66dba4644d58b7f20fc66db6534ece11a1200983c43b62179f85c529b328326ce7f4ccc95aca6e0a20c825cf71218e8c9b04b87741c53a8430183f4a071b1ce43e944dc82035a3bc54ebabc51473d95dabebc36456659e3d165eada6147b8790aa419a2a951b5183fa7e04c5828a537a613a10c2af5a0ed109b20465ebaf9e33e8a08fb127fc156d317cf9f61fe094db296b9529ac194dfdc7ee9fdd85c4b3b6df336ed600c710d25cd3bdfb985ac322d0ccee207a2678c0cec700de24175b01897dde6f425d685dd17994835f67f5f948cb34d4bc5ac04e307cb78737793d7df65fd39bb3f462edb50df3f3ce198dbf43b19b6669f4f6c88b4a315976f953770fb000e04cb8c4440066ee9ccbeb908342e61845671ab4e9844e7c43a9f653e75f5959f7e9fb7995ed53df857ee5ffb22d43a85d0718afd2c839116238afd867903e56e293af25cba51020d8f5c1c78d44cb77a7bc7d05146f85b7e61b23de278309c2b7f2aa509c526638ce36af3974bdec6a5dfd602e76734b495d0da1dfc8f45f654aac692e49824540a0a1ea3e8250f5ed81132e7054f1d80facf61caf02e6cc6b98ae8f7ae3852862bebb6e4d285b90062b00259e53232b88619f8729d659a45c5890ee2c922210213452f71f706c517ec815022307ca9519caa7d19a829ab5841e1b69f649e517c711c4d3a46ac2f58a356f0397dc06fd3a1231aab93cbbd5473d936c8b95bfa36686cfc62186816514fb8d993a11dd8960e60663de93610d9532e0e7fe56a397be1be408924b996ff2d09d29e7a15023af8071b312c7d0d8124b16181d325d054ba4e34baf483d95bd34a02cf4cd83dd0baa779385e7eb6f921db3d731c18b5269efd46aaea8587ce73f0d4986fc6a2e0e484936d43f814a5833aba004cd1af82aaa830961a61ff8e3ae822d4291e144d32eeb5498873c33bacaabc27d00c03738da290bbe071e448bf565bd4b369f6960e895e64d5ce5eaa1683f2fad39ea0520fbeb1cef6c301480ee77fb0d7a0623428b464f177fb56f31013e6f6678fb31a94f07fc80695483d6ba63446651de0c875b8f71e33052cc448ea0bd36d9f585a74affa69ac267dde3d3802ff418cf83184c38485fea47c0198aa9c512fff0a607d9f513b74c99eb99472f3fa3e96b18984077d9f439d65c8fe3a2b677fe2f07c5b4c5ac9022b08c7dc7d57b183b160eb4979bf5d6c0ecbd15431b2ee1156f6121ff9097d4a8d2562c5b14b999b22bb9de90d7925a361bb511e3d1aa1edf7ac5f080e5f815a8db5c5f51fef97349df563f596feac14db30374c7ae1c170fbe4712d5ce57902f77ea1f90eb6e45f397fafd415ecc90bdce874d100ff8b1ff6b762552036eb027b1eb3890bcd0cae01e535639c9f1e78f7030f91d653c13746fc69b43954252d3a79c42701f4fb21d2a81b7462db219270045f1ca7950e819f60b090342a6549dec0165758de96395b7bea07617b50a0d3061a5ca9c09bb03a4e1ffacce904daaffa72f20f20e6b0275f9e3c06d8053211bf6a758b1a8cc2c76b966bc592688a72c3601891e020b7a4b8f53e8916da5369bba30ea834f24aaa1714c0a35f93a8ed97c430e8b042cae2abe80d7593125bd35a68ce5cf14a0dc99ba8704e22c1ef8756c5b5179997d5664aec98e58412d03b35477cb63bef232b44ae7dfd627ad9cdef27d5a615c01d6116641bc51d8be416af9ecc6c8664eba15babc578ea9823f42bbe150992d9d304a3a98214b994912b94cde97bda531876c1b4c9f9189e22bebf4b404da12eac0ff00b60d7039b2370887dbd67b8105e75800b34e7d917e05459e76dae2c4248bbec159dae8bdaee810604508a3bf49681286903a59295d694ec42a8de0fc9e7688e0e62e3a86d4cbc545e60f438c5f9b357de5d4e1b3d9dd6c2b519eae6bd88c60da8ab4960286239163a490af7ece028139944cb94a15c1d656ec70f87bee51de90ed00ba3871a606d99ca569414785ee8902ba089d58ccdbaababef85f75eaeee737b0e6b19b8da0226f6656b6f4b16b4bc0d01a2ab687244ab9d623285c41e8e4206fe8ad7a861bb23ce85cede38f118c775a9c10cf4cd2571ea858e550547d9b183a5a5b4aa8b7308a89ee4217babf04a37d6b1a9fbb5463c9245cb9aef95d12d39072129617bde1c79ed5b810e5cf200b9231953f1f219f11c69244d7b0466fc3d47879308575bb36b71f91b83f506a6c9e8ec9b1f9c0905c3c6f46eb247313e6751df88a215f9086b72add2518371662e6fe6095e796000d8120aed95e8d4f49bbe3dda4fec3d396960cc8dc4c348718c93ec6ffd70b1f890cee10d97a4a8c7d567c9626cf87cac389ac24fd45d1bfe3b737973cd87364cfef609af77fa42cba69789a43c212c1b99a862244bb1c47b0ba0e10675bfd2ed36f00bb622c935ba87aca5ca732733bc626bd5fe9466f24597941117857dfcd32dfa6de3389a7ced33075f1156d2b0e8b620608b3dc6865222d96e1cab45c58cc7637f00ae9afb7732037669338ba3f91962fbb9969139d37a542542e072af544ef1af59e6bbf0903f864a4a8cf254bb4e2d6e6b0785a01980db214e9e288846a56efd234952a8a32be06394057274118d2d2ece520f1de5bb0c82070d99adaaf27e8abbbfedd2d31b2f9ceda099a49dd287578bef04d62a11807807e07bee5e88c466cb576759411bc04614879b4ec38f6cb8bfb26947274bcef9b43263507aa667d4389412e93beebee20d27f7126e7284a694f1e8f06377a4a0700c334c3dcfe37f42f9ba915e55d984173e03b624ee1574ceeb0015eff798f8de36db1c0e96eaa8be0aca2dab25f6c0672d45794f5535faa130d41a2e0f29efe52c7622e2a45bc6183c6730333c1d9c26028867d24c2c4fe2ea0069fcd26b6677e9cacacc9e55a580dd3daee624563473ddc10fd6cecdd99f613c18f4da06d630b0657883985fcdaee5d61f0b6d2e3ea822872be1490259a75d925c289d7f2ed64fe18ff462124eee0fd15f67c48c5ee101d114a45a92cb70d02bef55b4c5bf397c4c6e01ffe580a7e6d3ba2877b2aae27926cf4a9d5cd07baa6bb27fe6bc14f0cd186f47a40db984b971acecb913f3db621845cffcf0c65f44f97acdeecb900e08c1c6f6c80a36ad08fbdbbf7a04a716f979c792d263b217abb3a98c2813bca5dd210d1b939cc1933de560853400575ff68d227ce642edb1b506bbacdaf3afb7d40722e3ba72d839c221229f8584e63c86e5ec82b900b608b88d3a25ceaed41251a8b56bf448bb6dd77bed6f9b1c010d208e3799eca23d6b3ef799bc9fcb67ecab2747b2b4bf6d60edc1eb4c1036a40128e78ab01464c47a9000dcbdaf3bf509f95c0789bef63555abbd7404a02c3e8702ead99285013644dc80cb7a731d3dc7a9f4edd11de26365312e3a5fe75d8b54d422f1907f29844ca2d6eb1e7051486c1f8ec9a202d295e9606aad4644c3b7e01d7e0c96df841da9028fdc029a74f35b0e57222a9fe72a12e209d65ce3896f0deb3117641added9e22a4a9d926cb6b30fe841fc90e7cea1482105ddbfb8476716a8475d034918b809225fbfcff4fa12aefd5cc87805847dd3af958b68b3d8ee9ddfd5dfd0f88cd1082670e0f6fc06f03002162c4790dc1ba0438dfc64064cc2df84ab6aaaa7624f480a32261957742e5799ae88d6e4096281eac4f8b305f4e6197743139300351ce5b4996e2d563c6b02247690d31264fae4c96cfd7181e87c210249076eb82ebd0d3c0001134cf3aff4626004c1d0a6bbc28b3804b1655949241e8517c0fecadabcba844254f97575af5b8af27d1bdea3fcc17fbd02b63130b5ff2a5f8f8b5bc8fdc720740b4685da0773eec72f857e6d085f7dc63b8a045e3e2be9bb3747280e34f132336b775608ac19ae58c73abf41a93ba9daabaa5feea2d4c364ad6e1a430ea71cf7ddf8535086ee3cc31222c3e2d77e8a2d4210ea83c58c9af1e3b0c99be975c6501b0c1c4d00558954dbace86db50e5a5a978ad89cbc48678e3355a7d3edd9e5810643b314993ecddfdccfcfc4b21c786f441c3407dd77006b9fe7119633ead43c9c7fdc2bc6c1f1629146960c4719da82fbcf881f3ac69137bf36ac00695a908f79c73536e97e257b9a4c6a93ed5943e6a37049a11a2555f59265f6e7646390c9bc22b5f3a95e979628c7335e286f3e832ef57d4e43bc20f9a3914b00a02e5825cfe4bfd054b122b74581383ffa00e59acef4ed722adc9d8a4af25018aca252dada4cdd2872212c82ea85e87b05a9ed25b2fb7a28b2bf60c5029cc56d0987e1e87d932ffe7a6e27a72504bd2ede3962908e229c49521feb9ab207e5b8d9aa0f460950ffe19b5227b3bfae8494f159346dac13def27a971e99ed614445c2a3d373708ad80171d2d91137763e727579332c22401255be5a6597a27230db934bff917fb11129b446810857307dc57e26d40132c754679e4b73c6d00ff093c2639814ef9c670000184097e48bfc816287e5c5b697aad3f5be679cfb6ac0e402995b7af714526f60f3551149f193237e59a7754befeaab0d0f4c2078fe6a0272e4378b00a151e6815869565876e543f28f70af037d66a72a29ec5c2f5b95b6c1f3194a95691de4388c9a6727872b37eec5b58ae56ac8dcb211658ac8670d954a87dc8f7e6c5c7a45c07f63b979a5fb97f427b241d796ac2c86cd2ca5eae05dbbd1977ca3dec36c378c03b3ee55e30b4425a5c0a7e92428b0e54c199150c65ee6bd0f6e0e972cdc7b965bc15fd12dfd2219d3120c4105557db746fa1063a8acebbb8cab940d4e0e498f14fa3922bdb7c6cd47f7735cbbd2e074386bedc354c3d86e4e40649df5b117edd7cdfe4d69ab6c16e449780b0634197d73d422a9a4d3e38bff1b2acfcac4dccaea117395d1f059f0d6119a26974e7ef7e153e80502bf6a73dd86387456dd31e82d1b1a6a393011b08bd767674eb4618e10f64bcbba594047a69d7e5c94b8fa7d438f8c1999b0a6ea866ab762e916ea458fb1d69516ae40a3ace313c17d3819bf8bbaf5362dd83b15a4180566fdcaa426397d7f6e23011f3e6af9b4341aed0b91f0eacff68bb239510d4b1f79f61b98bfdab0637ce0ef5645cb6a0bd855945b96e88b11d09139987ce3d913fb177f72bc80a04452dcbb2c68f63de17f838bf3e95ff6a44cca3ea9cf4d761c79b82d36e8c636a03bde209dad47bb41a5d6fdb9c90899bfcad826486078dda416df7ab38033d23d6f3ad51a013b1a5bc311c7086eb3b1ac2697abde7edb242a7f1d1984f94cfc5ba546084d2303971e720ca0dfc7656cc92f80a209004b9f8a4e582dde3419b748c530124bd9eb4bb38ce28bed9fdc063ed22ee9f701209e7898ada7a71902076a7e786567b9954d1f6ba5bc980efd4af6b1a694ded04eed3039aeb39e9e2ac395f6737bb0e8691c99c23c643dc732e23011695d8555e7c85d0b4621ac5a59e964a8c20f2e5141aa59f78843d11b5e9c400418af4f580159b86baa21c277e523067078178e277809cbac822eb12c7a3df1725ef31534217e912e6a13340868ac58410aff835ac3ad6ae7c43a77a63fc80da374008944d84559a72edddcfe482d2ddcc3cc334017c5b530b5504aa7bc499e2187d800bdfae1c2357595b307f82352e5232aeb7d48bb85457ce9f38ae1f8879422e9209f604ddf96a64a527ab7129b89f0bfea8eaae600c1c7fafdec69065baffb4fa85a2f6ca4089fea99f296b0cc6c153e9b2b42913902e71aad2a4a26511de732dd52b5e5959654f050c77f34a89a92e17cf7c5657e84110c664c52dec76d62c0508e039a31ae3f29647e5254e375e348b6e6738d6fd7f8e6139821abb057332ad53ef135f0210a228ad46923874ef5cca18ab3812cb062ef3a9ddf039988f4808449489c4e3d6f2e4bcf75ce0855e7f2f9667b9d827f327e99f6c96078093061e6ef64ef4eacaa6ea91160b53767ad0f04f55b96505b2669fd0b2a1c9f431870a6be37a667674da0180336b25a0711f7613ce0027cf52934a8bb079f8c9ec497efd45f85aea5d45dcc681e92c293557913f43b92de2763b0091192042dafdc32a0710bb051f1bece7c2866012d39c67020e9b6017ea7add1549403a9a1b64894c9174976eb4d22084a23120ef4ea500b19d38f01d0e1fa83b4c0245e59ab28c4e0bd086017c1f2bd3ba73513bb572ecd10b2f917535670360ebf2a025008f0a4b5c83a962086aaeb558449f5cde8f28f1b9faa81227dc2075fc0c124bad227cf9dff069da6985483dddeabb2f79c703263d747977cc91ffefd5a66719202ee9928fe57b44bde51c3b30241bd0eaf1af6af0ad2614da1a1b19937fe74835fd98d5cd31dfef9008771839a91874b1281848b0126a5a31de458b5f6af261d07f9b575960a62e87acf041328625ed0126d3a5aab453b1f59c968decf34b35f4f0ec058b54e6a621912336f1b3765936a8fc11addae65bfe48191f93efe6163b8a875297ebfedcd9c465da9b53b8a1736e6c232a877749b14fd5d44fee960623d6d32a3cdeaeb52ef7681468d1d8f9eadc54c38875f599f14c1af2b5d783eef8fcfbeaff4debe3a526c0ce0c3165e88d6cfeac78c3c086bebf3187f1d2189f1b92b2f519874ab2fd9e385e510567f35cbe43e2de047cd7995533109f7b71bcc05a1f7778c4e69f4a1ac7bbe0e1250e79f79607f37564e9f8aa3bf302628e90d92158b71e7f1023a971f8adb35019afbb2ad7ac697b6e044719bdf6e690637c52e90f8567cb6d35e710b38a795b428737c51fe76f936fda421c1e48f647bc7f62c07839ae303f10af58c1193db0c5bcd87c867c78ed4c08f02a3c235b3e75d233bea3fe17b66912b29ae39ea7afc290b0c9e52f3702dd15c61094e1a3c16f1e81fa3769a8f72d49e539bf614d504b63e416f00f8f8220a51a1252ece3cde94c42a139f2afa109a087fc09ad6ab54ff1bbe6aa7d6249aa821c3f208358c3033ed61c9a194b2cd123c1f3fab1d9b3ef9d8b26567d10939beb26d4377d555187a880010473be00363d0f204cbf11b7a570f7965d6bd7eee4c97300d4be3d00220f19038fe901d87e335759b0691afd8582db6cbcdcd50eea302c3e4bb3277d65ce68386270cb2820a145713884c8858dc210ede1e116325ae46f8520555bc31e418b3c650e6b5133f6fe0967dd60719e36e92f3127de59aed1a77244eb052464bc2aaa999a99e81902991396409b4f7db7a81e6fa36475f600203c4c1cc4f28925b0ea7ee3364f6c9ca1f5fb8d783351d5b42e9d1026e4d5daa9576b5a51e9ea2e496afa01e122bc2accb7091a2bdaae926afd666314d69e1767fc16d461b0f13ec64516e50c58c0e0c5110c1b5eedad6a9b235d57c7856f79123c51a80b5aaf591288845f366c70a843d425e319cb67e4975e45d5eb0ac038212b7c9ce882aeaf7006295228adecbd98930975cb4319543fe3f903daae2cc0a168f56cc5db9f648ffb5966afb2dbe7b4369a7ce8d09f0355f366ddd1d60f7d60df4e9746d18d356805d7c72090e0f52cf27c628e9b52b33d58d8f96b17849c9dab945f6fac4b7608c28f873ead516cc332d28ac5de035d0ff82a02d44444742daa3bd96f1fba39cece325be69ae40088ea9e23474e407ef3a1e4c8b7cd9b13f52da2f6d9ded55a92fbb7d156186b789b98c57a91958adc176a8dccacf4c8516621b342469f7e3dec7ca0ec3781d16a5733a3297a2120f442ec199edf904755145512b1d83764d08a72238ca30de88ced8fa094b79d404bea8feff5ee82b9d5cff4849937b14958526f9a8faa0d0a55ec8f768475f468cef4e48c7cc035eda480eb2073a976bc2ef6b851ef2bdd5e6e3799465e85a741b079d0a3204e2d6954a79997eceebbcda790cf3c5ab1ce12904b4bf67b2769f16e2bd5181d83e07883b99c4b163c28f047c3b5f14d5919f2ed3ec67a5eabf45b2d1fb692616790576532c4ba4685d31a740b3ea16903ec6fecf3c37f249015714a03d905916cf19b5dbaa4a291dc1477896d7c6ba34c37d44d2dc00654851abbddf754df856e6f9fef9f47c9e369f0df59d4dc0e3aec56c31d12bae6f33bb388bd4a4d01c3e4bf5cafc2a9df38cfead888b767ccf7b737959be9c67f33dc9eb4219d6c4d187804bfc016e1f7d0739eef9331ba78bc3e2fd6f14e1f63e159ab08f639ebf39ed67076e7dd271ef52cacc6cce5a4f1e0b3b6ff6a4adf0511d402f6c97d2f0ab81ba85d656951545f46c7ba2dded6c77eae9e71a64e6bbfd04cd59c2ed1f2c7cea78f1cdaec9db2f87a91889c8748bbe72e7f4bdbe353564afb5769063499ae381a5ed912f0fc1ec9e330c911bda8bc03a3dda9c6f01fdb4318b2a4b0220cbaacc1ef46550f337870428a3b347ff683828272bb7c36a2ca6d80c41d02501360d6c3bb100f7ad74dd89fb8c1be4cf693300c38a3e2f634d33c0d8a5e4d0d8126bb934b68a6b14c92246ca497a0d3885ec90c6720906e81f6a65ca6ea36c42598316918e35750cdf2247e03d3ddb6f94e41572ec7514ab5725344d49a849e7d2a2ca83dfe67fdffc1f1bf6a0c1bf495a68aa4c8ca158f394d6322299b84f664ed4890e26880a726c382d0f0df9e46d6f6c12d056c6f865c92f3f0881d2bcbbdba122f1b2273b3806642de49822b848b35cdc113efa2ec22469c3c97676d6e04b3d4d5e089dc9698e91194405cb5c482d15b4ed74364a06272a0e6f2a824c93f954a57b08bac7856a1eabd82093352e22dd9b15cfd74d19cf6b11df1ce8ad413208536de976dbe8a119c93245f89334e37f633363758be7a1a3fe5ebf10f158f2a7fe09214f3c9157bdd4870f4fdb3671b254c181d8e62b027548941bba11f49eae479e7ede23ab9df2047acbd9fe09d7fa9e44bae41fae1f6af469c827e218c8e07d7139cfadecf044c264fee4d5fa531d710cdf3eb801ba1403e72204fd02c6644cbb7d7c05bdb7cadf7e0c41344a7f63ed6f741d7cef169c02a614c82ca3240e8b9328ec3e57a5a6f6245f5e4c839964f29c2a3e8b90ae945ee437fcdc081bd06e0409a3e3721674b11093dea8506793db6c1d27f49311e0e12c506a6f5b8684112f6d5288fbfaf51b74c6b9bf06ed281205e157113f608841035a2c4002dd48cd5d650ee2d15bb8c3da3136d228aab9ad10f90c8bbeb9bfc176745418daf94c1af465dea4889fe3536bb8980d10cbc55ae33cf395e725413773dc7487dcc00760dcba1db28f56aa0a40e60e14e7b99a2b1919c28f5515e68bfd1abafc41a4320752ba0174c8cf72ebcd9c2c67b4326775e7d34a21db29d5f77bd8f80c85ac233a18342d1bc5f38b2bf1dcf5b2d75cf57274ac26134fe7e5eaecacf84d477516c1a48b897abc09acc6fcd9e97d17c9fc91779abc43d76e887677567bb349925876b16971b490282d0b18d4f8d5decbc1cffe06c7a19cc28fbf1329d4fac91d300e33387edbcaba3d4668171e46017881aceae41f2c26e3f9df6a082fdc584a8262e8053d921a777115bbea4774c9ad31351561256b21c54125dfa139e85d7d4dbcb4528a8e8a3e9e1301a69caae03bf3e03149b2fc1fb9c55fefd8a69777a58956deff88bb373ed69b26103dde5dd95152597f1fabb131616c6bc69f30a0dbffadcc62ef4f1b1d1ba19b2dc1a52480d351c2fb201047cbf8f459a964759cb55eead004dcdcfab6a51f6238bf52e0500ad24c7b93d80b66619b99a1ce25b144fbcce336dbf305ede30b35b0d957f540300b9151c37a8bf442225ba2db9d6663a9320ca48d6a63845132cd0513424372db63969fef98d34936b26b6c5242094fd4d8f910f7194646c817560de940cc4dc108da4ead30c29a17ef003a3755ad2605af837e411d29fc61a6ab95a99a012950026cf3a85d98162590bbe4874d05c8b157b2211e3447a2635101fef400b15f08c49f450a3c6ace5e8a562d7a8a627a576167c1c4ffbb6abb1be5a70955fbe1346dda6a60cbc921028ed7f782d0d776d1c8fcfd37a512aa9294dde3b792eb1f489a83c863a8edf79b648fa82975d1c3761341e0d587e3b44af31fdb34d1d4207737469cfeb731b793851ba0ec9bea88bba4860c37819c7bbae84207739199615b2b4467fbbcf77552c188edf29d69feb75638ea29137e81a65e40b457b66c5800f25de1031e24b06cd3e337017d9f190f2a73b5f94defce725b355bd37b6e396ac9aa1db98ef78e5b9a665d30faa634b502abe06057bd8eea3e91df42a5ae80587b2776bdc91b37577fff678523d7f9f346fe7d6fdca7aa77cc169b66033a58d682c568094c598d2de2d4808d5471259249add42d22aea7bf864ff6347a96be0e853b933f7d72492edf76ad77dc834a0a54108f9093df98cfea73e847d2992aa619a9996b0d692b885d9cac3e3fbf6d2469f49cf526660a6754a506e48e124229506508f4c6ae2293b8ea32f3b959486d16ac0ab2dd37430fefdee3f53152dc8086221225d1d070b55c37520e971977abaa95538cd29b0b6c817be1fa4151f5cf550dba25eae1f8a69299e55466af7637316d6fb8882940fa8659e44f2b50cc5fa0ed7fa46a6350042457061fd80a9a163cd20bb9e74c8f2a92db9da65d0e214e7c04ec33423cbb0ac83fb45da824d0f8ac9cda4a36f9fea1b1fcf2f5c02f4b7581eb2191558cbdd95e661e8724212197291c909eb2a962a4053f13c7e563e48e54af8a7cb2657cae6fedde1b68f01b73437ac49fa2b3e0c4c530670601089b70b9fde441064fa0561bb164c05b2262f3cf2f652da036f38baa47ca7c58e148bfb2131eba9ea003b3ef663360759df5de3daa3db4385b6ec155e09de665e7476663e870ea60aa9e682bb8f3ee9876b8170cc01cc83c12e7a26c26d95f512e74ed9d4966c4ad6f54c14843b9181489984c83e03ede326328b17efe04170b7d88bb187b963ade724c55ec805af5c92202634e699ae082c667a1daa2f327068f36f89b97308451597b2a53a96c9d4bf753e970dbc6814f7bfbfa1f222ff07a0be57dd3addd6c61f23b52f74506d6d717fba2e8eb1712dd30253324c07e1902be7d425b1f6305a10783f7cee3a26b9722d0c51f637fb3707fa0aac18883e2b314030d422f2a938687cbf830fff2fce8ea23d58b6c4306e34e9effed7de3212e5b9a8ceccf836514c6caed3c4fde8f31a4a24fddaf088193865d39c2a32155e42c39915f83fe2160f28751dab8570e0f890b6f135ed728b54a735c71e5c9cd1b6e82a43c681f8c8d6913ecab7ff14d48b2d9280bd4213ed9f13760fe786aeab78287e4566d2027b94fb9d5a68b2930282b49330de940a3363ad8632680b813e267f58eadb129b0cfa2630b412277a715a1c921de72378d3615a03ef0c46d21453831eb71d49389c53cad7c10c09909053607a0753fd3a34d0baa16a6d3338f8ad3e9c7ec7021ab60272bf57a62f1c1ac1c4c4f7a64cd36e4ce5eb0dad40ece919e4baa56819d7fd64ec91833d645e6be79befdd316ee6f108345d986f6060ec7bcccf0f52b2aa0141dd7d43558287cd43886c6205689797866bb41823d10e00529be896c7d649eb02f768490628a1a6467b84b9a4a75eddd94f79427e749f371a86a11f8343a392a1546d73209d4a60c0b9f3d4784fcf9ce06b91fe33b6e0b9185a095951b2b078e818e8e346afe5e8a34241e6fa420a01da159c871bf8ed66325e933c81fac194aeb771a5b4958e7b43c9a02aa33a721c3a3c0aa9b7209ffc006a9cba17b207eb7e20782d34df26e280a2b92eacb9d6be0bd197b77a66eba98cb263e826f042acc1335e1bbb87fded39385ef9c777e0b56e782447a987bf5d410054c36185812e9b8c15878692a1083f079a06bc8a851bd527fd4299be4545acd44e3c9d8125fb04882b4a69da57c925eccb89aab0149df9d19f100519b9706197012dfc7bc06afa3c955761c7ba4faf07864d1badf2262c376151fc3ada9a42755d3b42d5f75fc581c5d44a6c389a934767cf538dac9037be62d5383f65c11da1c8784f80312e8065cebf177e317a1ad97cdd80c9a5acaa548441e158fa2d282371a0a83c90dba307ba6d6b2c7994f64fc4728199fd516d36f714a06ebb915d3036cf5080ae5ead9371fea52eafbd5a7032c98ccefc3b34561c2b50a09b4cb56bad5e90feb4a053a51e240ab0ea629554718bcb3d27ad4d73466b1b480b01dbccd7d0f958aa4f5f5faaf5f33a194491cd7d0ab98257a20f919a6d17ad3079d2aa67b470e64e582c998dc0e4a0707b46096b33720d99b35f9a7dce879eac59e69b5b773ff58421ef2df56c788836ce2b0eb11cf3bc1e6532b8b770bb4b90ce7641458cfaeb9f31d69439c803ed6377e4bec3ef55bc7413cf317d24192049d1b10760f819b5803e7ce6d63800e759e4c7edb39b2db5cb8f2225c989cf40807b46f76cde4b0f00c868ab4efbd320fe34996e7374a59e0f0180c5a5b45e1d4e3d99e0839c2caba4652d89e94ae207f411af730a438dbdd49995e77598291f30a63c9b6a9d411ce8c891537322e2bb434e8dd8ea0a0a21f3800d27503998eceaea2bc832f23a2c345cfeea8b6e0b476360b7b32099dd03b702ccf360e3d9f158fa5f1ca84478146ec0b84ab18b78a66a62479cc7bbc2cbd52bf4cadcb8dc7222e3342927bf7a93d494ac666b0b901d01a68bcf14e3d169e1eeded73c0721479f884c7d4241104dc6a9273ca953d6bc1b44f25bb8072e3b578d3cc769cc3efa4f7ef6cde68f4c3acb25acbe37d90e7cfef5660b527aab6a0d4935887ae6ad4f3bec8e52671e7243720d6a8cf611fd665f1e49b06229260c9f294b51af034487d8538601a8e47142564f9a667482d2c31bc4d01e465cc86f0f852a032f32a62736a8745c2b23b07ba75833e96fce2c89d4e3ac3563a1b813f5d9524f5b1843645acac874898fe3566c41378f819cfd6284604367503363750a82201c5d588843fef83901ca17b8169ded832c6d077a2430a3416f1b8c39b2106850049da787207dc0eb261757e0d0c405312a5f0034b4b56db19c279464e852c04ff2da503fa0d5407608a1b4a09726ed15024743c7352d972d399349b7a499f2f7c86ffebbb67c50ae64e8d8ecc929d58c09290fefc4933d4aaa57edc265666d5bfe3e711a2ec98aec16bfbc139ea77c7c49c42fa6f160039d3b8217007d93aa8e9af3b5819f3abe280d97d3d011bf9e0a48ebcb5677f8240ae981e0756b3188bb21668e9ecf72c889f63a30bb2a1bbd792af0d2aa8ae7eea9146a44aef54fb350d8147c53a0fb8b8f527c9e6179997ec8b897e8772ce6f75b23acc61eb0b0d4cb245d6a9c9cdb3efdc6bbb09d337129ce9be5ba27cf759757990681d1f1247819ba20936d45dfc44d0c560400e7d736ae81716dc29d6bab1f65f41700584b517a596a81d8ec7dfc571ef6d4a7734f8affaed9e7d164192583e82f5ae8b3658d6ae333ed2f0f4d333c04b6640a311b6a82c0c77ae3747bbeb8b2e89a15834f3dbac7593621288ee7180545dc52ef0895e174241adeecaa291cc4a6bbef91f9f61cc270eeac2bb6c5773df0f33a8a9249f2bafabd00896c9ba783cd1b31e60f11cf1eb6404807731f859168f26c566d7ee898343764c095b2eb6a1de3e665f0562763eed4093d110f4e2929be60a3c463ae14fe4b8153a79885e5993f25150a50da6fe300447d756a3fcc48a23895c898acb8ff32e9265e8270dafae90d41d66a0a1a165ea2732e250dcd70b5a2915dbfe476d7d0731bb1f61cba64d7c84c87ef43a42707a75b23fd468af0e591c7ad467c8865fcafa05d8a97b3bc710c6895bf8ad5d3825854ea69e01a752716281f54cac6275be299dab0b740b37a601ed9ddbcca93c278841e15fee62bf89f903f21aea2e22e28fbbac4b670f78ba62ca4961a4ae73bb17c6d9d1b4f626a350119502dafab4cdcc94be851593a45bf7aa8333edfbc31ab4becaa6557da7eec93ccaf3784f35fa093726fd0e3eb45d68179aba2a2205130c0210f3f25c011a13a3afb57827eed7d28fcdfbecb6b7696a24359d293bd6c5e8e65443eb6a415f4df83671be2c26a57ba2b705e05e56e09984575d583de23e99d728aa4f9d8569e05ae5ab79aaf19b386f095e66a5a079c03104aec0cc251bd4e7d84cab12984ae495f28dea38693f1a39272b5f9b32f3828fd499c3d030574b96c50ad2ac0a97416208ac43933d2f87970cab69bf6f604b5171c7205c42d14ddd889bc75ca21c3f4be8b4eb09022b95e76e37614f4a6a80256bf98789324acbda9518d77fda9385c53f5e9ee493fe1617824ed5d47254f784e604f268cca3efda29ed7722eeec04180464cad2d2beb91b9090613ff95dc871b55c90b05cb2cf5f42f321b736f34344a1bfb8c36a7d4a92da02cc90c725a4f8fcde0db78585546268c386ccf6998612e8f11aeeb92d4ffad344e01c624936beafe9b45c4f90e4e9ff096d596228184f1a1742f2533986f11b810d8a7cb1d07c87f86124ccbf7e354da5b3a637c885c5903443c63717d05ecdc26ed167e33b0d3b97a5a4a170a44760962aa1081ce78feeddff4cb7929b8a59a0a7a62bdf9909d7466e3e17bdd4a6b314fc86c05dbab466daa22d17af849dcec3ce8ec5fab3bacad8d984c04f9ec4e2a55f724c3addb7fb08fb5e87fab073e568c3d56b680f52a3cca46185cfd773fc183af0948bb35c6d6dab5abc7c7dc215d904430a02d84a64b36c5e8d160ef54e75d278e167f05ff57ca353e56c382771f2356035846ed8deee3655f482fb03265cf33d794a7c113a85742fbd367fd228d5f8072ba4c1b30a180865998539ba8e597fc21e1d8d6539ff54502ffc8623c9a516adc4da19de13272590063b45ea92e11f4e2d9604e0f66936e19e1d21b3aa424cae8286dda227d956fb7b9bddd7dcf740ff826a61029eeefb158864f4e98101e780761bd67798558bbcfb01ed9c3a00d8ccc643d2ddc48fcaa510cb4b7a644ed3a1f17f6036506e931afa633154d8c6ed6e183ddcca95b879a471f70d9477b4b9f315a0f34c99c0f6b04b690c7c13117e9cf3f77b8ecf6031ac0740edaa24e120ddad10e91787098959b88cd9f438d55d953e7ab9c9468ca1819bcda64e5f22fdcf862fb67cf23bb976b86da7b5576889552fe7f5c4cacc2bf2e4c0b0fda895f8d6712dee16562ec42d1ecd40e32893241102c8ed792d4cc40e51a29b20610cfd5329b56469b237bfba022ddea467e4868886df386023de6bda4d4212e5999aeff554fea2aa6fe496df018a4bcf2f2940e86fcf8e5bd661bc18cd664e0ae9b6844324ff6160e14d5e36937c1c6d97ea5c829917aa46ef1d866e0baf303c6c4366c92002d54bc3e14c8a896fc23cf1385a1425934894c35b6955322275299f7c4f7d3e62a8af7b6f1555d3bd54691cea70da7541e6bdfd6f3863a60b77977bd964ed94593d1903f49476e86db9dfbe8e44eeb284687e42b99b878defa2c7f667d78345888ec5dae745942e30806600dfd18fd8e0d0a506e72c76f75605dde6c92bb3e393cc7caa3d60db6fb6d75c2517aaecd122dcb62c087097d69bc9d157c0b2ceb58a448e0b384346c67f1030e5dbf12786d8658a54d2f4192a39cddaf6b51c49687a6b15d3e9f9891c57212ff98076c1f744902bdac212460d036aaa429be98aa42fe2f3a6fbf5b86d79b3f2d76e59bd18e8ce8dc076771afabd822afc6a4eb6953818cef1b1c4557088c29106d9437d383e79ea42e58953a708196ba5dd8d30d923ea1d44957b24702dd0f7d1d237a1b93e532d94cc01d5d8cad1ed7025bdbc76b6715f206445f9374ed62e66efcf623aa6f54e5f7ab120b710d1ea5eea63313f8a5d71f9ff51016cb785dd0090ab2d17c004cbfc4c28b34f041053645e898f9d7a84f9331d0da14026d9f6c59aebcda98888ba48c9424b9fec6a7c2d0cbb17664d127073d2752726af73691b6013419947cf22eaafa3ba5bf97543d3ab7049de62ccda7d08e7891ba802390343059cae67217e975704400f1680402745f99d25dc35398af9bfd14236fa6fcf8ea2420ae3cb2b7e7683ee3ae87ae8f57dae739f4c5b2d5ea1a69954ef85ef4ef935adea0342c037df12ba19663344d79d36a5e50e4313dc8b940162bd017989c2e5bae60324a6200605ed06df4ed3593a240526bf028fe71c44ebce3fc37324f91fef3c102f11121a4c0ca3e4d261c12ea140f61f4eafd1f7f7b484c1771e9d4795dc23947b18c3946e9b5384e8f6e87235e4c37b73556d677b61e7d7d153e6f37b9d1f7d1a3b7b5b25d5ca4b5a99131b5785b4e0f5c807b34d71e3f53e79ea7bf33efd9ed266b08eaacc83d534f3a0989e6b0661bb6a8265b48ae93f5d7c19b824a1c07255c2168c803d513724d19be92d99ac057a8eaec2d53ca204432872fef07f09dfe38dbe7aa9be1f54e208e79327ab7ea36a4853ddb072adb65e600f8a0f662d37ccb9fda83d4196a4824d9359bccd42cfa375c654195e3f6e254bfa441567373fa85975b9208ba1eb7e589d6b62aa256be52880ec71e07b925f60648027df0669220b062a456da15e236831b18ae7eac778f1e74056396467ae08df25e15f84a5c8e6b4ae0ef4081c1b7714e3c4963f31f61f8b259ec55a06885874e9688487e7ac3213a91fa8f660b881bc938d2dc62f16d0d84352b61e809dcf769e2a0a57eebb2c75384db19c61cd12d315c5bcde7c98e273f853ca06e538e07a9170be9666f795972d76934b58cf3838fff527dbc9cbb63ff5b37f541c0a82c96ca174b2a02d96d3ab9ec166fedfdfab17a7a68b5c635909206a513551025ad558f30eba227af58beeb6bd8fde0b144271e21dca3e95cfa0fd0048cb8d09b8d16e146b5beca9fb96f55e9dee5d47f139d5f06783c43181ca6f1943d222f1745a8b8b96af07c0dc56ad962e1a87575e60f86be2b2faf6c16b36e6735c6df5f56e7e8d692c7847fe3d27373bd84dfb2c039258b65a051fa021ae86acac26b6ce7ca136b3c8efdca7a935864f12ac686b5ae3eb419c3f3928ae042eba4e855c27ab777632577321f8dd29cf2c462291c99c83c730094a2cc413dedb5063d306ec6c75fa1630b492a322c1aaf4fffb5fd7a57f32e365b8a4858960404bdd7db846750a4e5f0904c8f8a47459adf359275af596ddfaa0ad4542f7baec7e0b0b56fd543518fe3aad356366f8de6edaf4a9704cf233771662a9b1a987104aba56a8ebb9b9a89d23802ff057204efc89acebc41ed5c3e64050924c697dc01d3a242693d42c2f71e76745e5ff938d4a36265b7d3d8a687058782cc557cdba2d038ef726d4853a61bd49adbf425faf52d864e2b2a48b168d17a3013f5904af70d8eb3a957ae64166d34a55f489d2c10ad5d7aa7e9688bd3570b2d8856f6bd6c2dd4c7adec23d0bc65ad701e92becc0e2dfa220d82677f76276595107052b8f229099dce461bdcfc87d20e869f714e0cd6161ffac53008139c5dcfe99848de06c209ac7a487e96c5393a2397823b3f64832c1aa7c303e443f071341b8a466537b6caa707752e9a19d45f75b701573c699890182afb23b1c7cc2d69e69e5cf26462a192295e311733ab6b722e2c49a624fe4bb293200f8ee6f028140a61df8e12e35321b20abda95299a8b8453aeda7aefbc9f299c1ae42fdb76fbfc703ab1be005f5a411aedc772e7423326c74ccd0094759a7d03e5b35d430d81831ea796c70af1b21c243c5906ac51b23a901f4072c3d40ac2717f08cd7ae54c32f818a685f91f7274859bf7f6562b07f8a85179ff83596e83ed31131df87b7dc422b997397d31ecc40c0bb7d2873bf4f96690216d9da2921b1522e0d39abee32ef710548346cc6d85b1b14ace4c28ded49f7f016852699e983c6ee9d281d6452fa249182a82cb088b97220eb4e1ac6ecb5e51c5f79f329de5b6edeb656fcfcb1a0dbc57b71c38ca2935881d1254e813ee09601c3e8b6466d9579f63fb04d49a3f73ac829a27637d760cce23ccb0c441b77e8d1d15fda028ab0da677a3ab63d21b57406700039b8ff3860b5665e58397f92b4ae4de13a6b517dcb5f3792f4c6cd8b2e7f508024eac1d73c142e85f2a8cf79313e9d36a3a3f8c0651363c29c076abdfa9d469771e00be47007cad3b9773d932e240d2b1a05c93bf280e287e0442e143eec93493998af072852217cfb5d3d8937fc322c507744652f4766317db094801d3d2f9bde590cfd490065754cd5061939177fc2d625e5e617e7370510d481b72549be415517ef979a2b14d288c60549b67e81a0d8797f0d6dfafc9130f8e4efe35101ec7998303fbe0eaeb69eefcfffcb3103b9a57583b14250ffcfb464bbf23f27854d941a0fcb0a6c8f056aa40507e5ced8b9ae60a43b7949392427f8cb777717d549d50602baa898b321b5d26c13a4f8c12cf3d20e608e6afef2b05171f09389c851979c03e8dde4de5e0e87fb4d04ce61e0ef3fdcd18386f6fa979c67d86e364f7207ae75e3cd5eded691093c84a8da57b158f8a992409289a5d16e9d3c6d847148f7c725ed162b6d21c93da4d05715a8481362dced5090d7a112f58e8e8079d773f194d8f80101729cc0bccef25914eeba41df1b92d5e588e212a959eb4073e9154e8cda54c182e52974884c61f18791bad61406d7e51ece02082b8b28aaa56eda3ded8781cf4e5350260fbf46119d8d0369e08aefd70067c4deb69fcc7100d51a98a39363b7c390a7f419dc27803ad13b127527e302e978982993d3cde2be143d850b6b73cd12bcd9ee297ab49448cda8e2b67f8c40515f44a831d20d93807067f563bc523d5f81399dd5dbba603a1d44a0abc1a4a71f629508e16e89bfa9ad098fb31a682ccd78886c735d815f771ce7e276e438f07cdb457864dbebc6b771d7edb44e692e89d404ac4f1e7306a8486b9b2b200b0dad121fa8ea6517b86a5d30768ac7946ced260332e1b4c4a1acd8de1faa37556c7137b51256863ad8d96e87e3eba9f0c41f8e572a0d8643b28d115a9048b28f117077e1e115cf8eb6010428b81e5cfecfffe3a112b5cdf797893eac9bc875e7b76375f05c1f67c4db3ba1788fa83ad5e47b0cc0c29e2bcedd9a7ad430b67bc2eca2c4622cc959ce4807a340d1ef66dc2526881cef7b40702150bdcbbb30d0457f86625efb7c905ab3b1bd7725dcddb19b77a0140b6a3bacce79d56df8ad9cd62a1508771dc922a675a22321f3744fd8155483d6bcba5cddba6f63efa930f6d28179d329ec2e49366cd37c1f68bbfcc0fbe7b8201f5c9ead52f68154c8361d328ed1c4e567b0af8fbcfa0b974f5dea28a260dc5bd77b1934a558462f288be0337a0ed0af4a422a1083d6b03ac066ae19ff4c62b59f61b0703f0e13aec9494a3b202a66c552738baa4852c833a34099fa4add3f1bf38fd8bb82992a903ee92df1475395ee515993679351b1adeb8b5c22a13533be0c1e16705388bca3512930f7a455030e97f93e4be7822359f0fe03286f7747a815ff4440d74be22906faf81f6477190d886eca0f35cd13d03b27f1cb3d83eab6fb1eec28f95d97eaa3a828c3a749ed555c63ecaebc35a6b9bfc36b1e24a071eadda778dd1884456d1fb75c127304740e736493600709b3a2481a8e4704939c3a20dee9f1ee55cac02c32bfc87a9b7eadc82aef21f5af7f76570d8b886f962c2766d278c083bff5461ec913c9e7dee9078b0435bbabf396cd81494fb0fe078feb5f1b0882beaa73cb51bade14594c6396f32e7d2dbf8023e198132a806d6edca3c2ea8d0e1f77765d8ff46bf7c3273c7260bf43d8a4ff4e2709f1870586166a44a3fcb7d10fb401c63de25f61ed63bd4f8719b1026bb91698aeee1a71da08ea0b07a9b9f1721a7a909995cd23e45d213690ac560a6842aae9c3b52e6ccff1f390855a2b1e6f0d88d0fc1c9352e5066db7212b85f61b8b4a0a1f4e6ff9b637c1584ca2d9cd4b7ac1bb00909a9738881eadfe9dfc7345ed7643010d1cab12b88710c9f65bef990e13272fa44ffcb7929ebed4cd75ba668349715b10e6e25e4d40037da4e1449f57cb93f44fcc6772f4f2f37c650d1de740c24c66202b76914656e9ecfe0a1f3a5f088d24e390ff317dcd0a5ffdb77a9be009f16d747c801299fa61a6726942d7f0e739c5c6266341dfc4a991487cb08ae4bbd6d6941ce4c6c290b759715aec90ac4a823e64e8296230c0625d07c2d7ff470d9a7b4cf612f302a1851ed82be06eef7dc881fb946f796ad8e41e23f2b85a7da93e0afed57661b71fe39f09672597642771fd01188bb81a59087cef9f4a33dc226515a33d2bc29fa40ae872fbbd2050439fb4a370c1f898dbea5931d7e142362cd3db5450ac45c17c5e32e2e03dbdc81d91a11a41d0ec7a453a1fad7d7c359e739f6f8797b040a2b3a2b0bdad0d340914bab62f16d4ad3244cc7aa945f2e2791a9479db00705c32100e940fa9d4f57f1f676a248fbe7031c3bc2a922c7eb59e5c6ba672dd079aa61e062b40d90cc2cc68c2991add16e9645150217dfc36e51e23215810821ba2bfe3a9fac2de4565ff3f5490747d0b971452f7f37a894763f6f7b896bab603a568db22d16e6b65f9d0a74d3fce691920e0a1575ef8e1a4a27d25217830756957637fdf1b9e7bf198711e7f7fbf0061ca96dca179993b69e6430d1077700314d11810e252fbc1f918cc8e4c6aee3365e8b0b7515f1e9eb48153d0353d0c504dcea024d2f19510e19faf3601c4c619b18881227d402b06093cee971789bec59b1b1e48676754ea69dd11dddfb4b1e989e3dbc56839322579bd25d50dc62263312829857f8ac84ecabad89ad03988791949d884c31c253731c4acedb0299e5d99b63260697d5c6f68b7bb12c8d171e2b3510cfffe427c1610e1255754a3c9ab05593a7d89b1d3ed38a2f299249dc9e3cb1a14d65ed749ca3053266022488f6f71a370ea613afffe0bd092970bdf5ffd271c1dad91bf3b4c7a764b81d7845be3e46a2efa0402927e2784cf9a8150d8cc0ba2c869eb482a742d2ee5e0ea3a822e2e9be0ac19c671af774f488a721ff5fced131e32b30ebf9152b077c4ce51acfd4022d7570f0fcf3651ef4f4f8b67ac9e39864a1c24d6277edad9d518fa9a19a6742e3a1383b3bb1d2e950e892b38f56c0b0e35ebaf29d2f4b410afd9809e6c418c0f57cb7c6a02f00c24c1f8669406f0ee558944a28eda0793c1b67301a04b66ca093f07003fc310c393419815e355e76f1fb69692b79020c6d2795561087857638b63c0f2a7f510c60168589b232cba74c24e7e6109b8908de0a5542d8cfa9411976d85f841b515e873c48dda6051b947c93f6bd73adec0c7cd4221fdba0d95c9556bbfb66dae13d218a969fd102c9466d490f96ea1a91a37a1b95c335f8b9ea59b5c6c2f63226ac55275636942e614000b2286505bed3e05552035e943f2a5c4c7dc5ab0a2db0555e641e913b27cfd311bcebb30e987c30d806a425d9348b865cd3dd94f93a19b5a942a7c5dd32355d86827f50aa74619cd7ee627793a1a5530d9807f69a94b1d48c45c8b7ca11690a7323afbb6207d1d6f9b6474c75204f29a670fc92ae05d3a566e7236d93ed751ac6f27ae5d8c716e4bf5536905a191872eb446f4e4aa2eea7a159b5985f17a4c06232fc4f4f461de9d5f4cba56133aa761a16a65f8deb689cc080cd3259ddb8eeffe5f16fdd79aea8922837a339bc9ac659b72542721e09dcdd4ad1bb9e3b41985a4d5b1f0dab69bc21cbd48b7c449a0d96a173c0fd541fc9e791101d037c25b7c3bcf3c3f3bea2fbc2d1a6de73229a2e29b578d9f2307b2f0c67f08a264a76104b18d8b2785fa83dfbbd9e5446775fd32d445b6b2527779181d823a31df7109d100910b60536647f55c6573ba21cb1ca6e82d6692644b1f0741b01f792f0349d7ed8671e0b2fdddf2cc0ab3258aac140bbb392bcb30c00fcb7da8505c41df79ee30b33ace33b02e33b78daa8666a6edc8bbe40092b65bfd9cd0e14d83a6a2d3eaafa7f5a58e139f5b51e183c3b008bc2c259b4f4a52f4a53140f2e4eb56480b93f9fbc9a65f2cd4621e2a3a3a9dab18198e435e421acd5cc3d564c35eada778b737d555736a4aac3b9a589bac78084515ae282edf9248920ca40e9b294a8318d7fff7a20a990c0a361cba7e1bf20c396bd2fbe6767453f7ecc2088c53734f255cfa6459b57050a8acbb5def18c748a062a53df1e845d9e7f335380e127881c980e1c7240c6bc006a8ae751925e21231a953fb7ffb3d7861ea1b0e2fad021029b0580ce502578a2ed84bc3f524ab6a7ffa8cfa126fc430dca13863936df7805c0a7013d256783c2b4ea0958a1e6d90d780abbc5cdd5d59569ce202120e9266264a83618239575381ad17026a22455fb68ef54789f4e8b4118d15d368c15345b198e09cee7fd15cc5a829059666a3e1863d3cb9f89ff531cd997027e6af93383a3d4c01a9879036d36259308599acf70f2cdbd5b9983026716be25dcd9178effcda6295f42c642c0519842b6214084c66aef703281a4a699b94b26b1dfbcdabfc93976836ac87e06afc50dd35b6d13eacc69b66d4422a911898e5b5f28445db8aa7e398387b79bff009ced92ec639584c2fe9a68b2fdc33beeb244131868ebb691fa0e275eb5846ad322da688c47a8648c6cb63b5e33e653cd3081c5803dd43d36e78762bf526e11c5c9922c6e67249ad40eed9e5a58a4daacaff155521089a051772f59cf52554c134c1eaccb3bfd475dce1c29492818e05ff7a33d26bc2cf34afc8e1d030e44e35f2cf943cd597827d204af9cdfc9cc1ed806d9660c59d4678a6c37b8a325e9dc6feeefb38903ad3c716b311d461df14850e5009009af4081ad78881fd5ea256e99a67433fdbcee939944c47d8855e6b8a5fcc46429e9fc763a8be64f3a71fe2e3ff0e336be259b5f9d9a9d4c269b66f4247dfafd581307cf53971972745cd1351df859dff53a853e2d14a152cb3a52e82cde3a74c6827e30d1dd18d32ab4a73f8d95b6b68f0a4190c4a7c6f6fefa32cec9405e43534302c829f589631cf8b35a2ff993868b0194b9fe62a7dc4bc050a741bb77bebb69a219279cad2ae481fcc94afa9de03e6d28ee939b341d41b5126627611b1d44af10aa4a7778b0d4b81c619edf137fc8802a78bb1d77222cfd5cbbe49a2262050b498a63787538097a4db26aaabb876bfa4b3b9728b7bbf7fb7e1ee65ee92c61341705309511cab178db8b8ef7b705ff8b900d40eaecd7266912dd94c8702a735658ff2f2027bc0076a9c15ae37ced4b0b0c8902adae5efee44d9ca9570c9998b82a735ae507995d065fa204e04247b71bee6a77e69b9bd53670eca5bef4bbbf9673314f7fb018c2ca0b97bf08f5fe332dc8ace788a71c16879701dd29fab039d090b3e2071993839c1d40c20f1bc57a076fe6e3ade7ea4be58a6230119255ad5f44eb483a52d487bddd8f02507f1aca2ce825ba392212ce82f7d1b6430c3db8a253529c8714c07db2d05848cf1d97cf1d117e46ec9d617e8598de5223534ae7591176a685dca27c5a6938202ee49f7a42569991bea5540b3c3ef49b858cb33f093ad808e1b7ca19d5a1ba3962aff57fc124b70847358be0dfae7a4e86df00172bc5bde643bdf67b31c4d09befba087d5aa609fe81512b4df11b3bde9cac4d68b6dad01789e8a30c15e3fa9cbfa061cf3cea0cb90a7ceeb74c588cbeac20dec6aa71ffb01e2f3bd463ee9991d9a809f429ab39fdba8e755bcf51e1ea72b44403bca294afaf692ee4a5242e21824c1a85c3b68ccfe42c51517bdb57933bf48122a7fcc99446b6bf21f8e404a1efa297e8628f43c99617170bc9d7eb303d8c10214e6f09478289b94695438150ab083a13441aa7c33e5401ef143f19b865d7ad57dd904425f1febea200502c8d0baf09eb9a35764b382f2098fbcccb142d3c7237707d8348c97c84c86d01aef6751a94785ffce89ef68793ff7f5b3c74ea20ea979f2e1b2e4c2e1c1bc3536eb94b506e4788493db929f4a1ded9d176cc520fa804e6e928494e8182f6954d7502fbec51d3f3e15096f1353a6e9e644614a18a9e3f75db7558b99d4979d4709e6e77137948c0f556f491e2e06b0f6870cde269c23041a554d260036648cda4ce032f21c0dabcad41699aaa85cb9e7cfba2fc75f3120b7acbc236643fe9aacd9a628722aeed9b6c0471a5552e7d1d7dbc73d881c77daefad2add323004e617f80bcefd4e6af76f57e40ad3d0df28037513e90f20fa970f8aeddd74b2bff34bd04f6d51df8fe732767770c99b63aa4c68b0d8c9bf159c731f7298ec3baeb17184e051f2825088fcc0d146d6b5a070749cc0a354ad2d666a4424e8e89f4cf5827b1f6352ba4a5771fc6cb8da002e01d4a3bc41a59235334fccd9bfaa0ba536a46ecdeab967ac0af2505ef10bc1efd9044b40a137bfc88d7ccfdac7ba262067df22c742c61bcca7032e8d9fea52848270c8ef435d0d56f0aa4673c29eee9219657967128864d1613289c4d0639f65b4c4e5bec4fe31e395e7b283b58d7b6be279a2bd80a3bf80f3220a52d321e24f0508723dbb5c9d66d9859d579414d22175a926f8c3cc6892d9a3ea70fbdd9d0dbc96d26860634c6fad3b82ee4ca8e481560a9f6552769b5511268c274ab780ad41ca66331fce8698baeccc46d02a6319b758a4f3d53f92daee33dc52d84d9dfc8a81d64422f78b6dfbdc10efb820b7dd6c842605b49dd42d4f3f5043bdc04c2fe216335d9aa5d41f32cd10177f548c4ced434369c3d41bacaa49ae9dc17d635734df97b22bdcbd10859778230f0015d3f0a416ce39476a542074152cbf57d8889b1706a998ff370acebf712ffbcdbac797d27f68e7ccfd790641febb23ac539e8acb512e618b505c26bc8d41f471b5b4801a306a8d93cd6330b1c70e0bd4d930728a9a92ad2befdf2524902d6116d845d35460796365880e368ba87d40e20c34ed35fcac2340e976d389ca64d274d97e843b82d5e66308d510c8b8687cbee83e9fd50028436d2287703cba003fc9e9d058ee5534d13adebb8388645d9ac8d2071b936d01985c1eed180e37c6495f81da3ba3131abcca79804a6dacad12d04d1d9e15b6a2ff62fce2e0b7e4b04de86f0eed2955c89d2a9b52b8600087e1f07ab02997b6aa4e6ef0b02f8b7c3f089ac8c1dd2cf33e4a6fd6ce21f2373e70fa2a67a53c7ed887a91b315cf18d1534d84a9d544b53b9f0bab9f2ab046186eb04018df2e60a6df45d55fefc92714d3c581226636edf68a44d1882a031c037584f34bd407839f32adee88bfd755179ad1cf6534e79e4e4540aaa970eaff7154ebf02105fbb45a5efa2434f83f37dc7ff26286c5a37d2708fc3c64a1d5d2971aab0c1b673f14b2741dfd94c6ca77e82a0a1685bf8ce930eb80a14a0636f5bbcabac0d8c403cd60c479ea608ec3bde6e75e0e969ef3aa6fd970bca461bb47d688531b820c47d6cfc028df12454cf44c5f4ded4d823f3346bb2cbc546deb97f1e0141f1ef7d3ac02e030e97f292e6cb5a189aeed412386c8a85350443c96da5f9d3ef3cda12853f59064331f9b6d77ffe1f1109b978406f0dd2afe659fe8e4707ab17a8ed78fc0f664a8e43ad6b380c27b9c6239544959158cebb3c9ba13de614243343a69b5c785fe3b362f65d1c163752fcd8e9497e92b7358fbfd5fc6e7da4be8c583ea220073f136694cbefe1d54eb40d295a7f9279887b5bad2c38a307e573099ed99db73b4c0c8e2139713782442a6e1232130d67228aa3cff5c29ab98c500374b8c7ec52524c18022c06efdeb419c54ec554a844e64b758851f7654099217c3a2b0035123cf00a19471f461c0f225a245a4e937512629256c16bd47e5a91a92c53558873978d2df342ed992c12c0aa7f5e0b77f9bc5a3663d91f28cfa1dccc81e87540784def1de203df3e9d9addca8bee11baa7fba1b2ac54934377d68a027d5af36d5666576c279e63af849b055dbf37b2357fe32134b37f07e2f8da3071aeb8d2616ae3021954b46183598ced1f790f4eeba058f1fc8a03569fb597ca961fc708c75e17fcecc5d162d8f6d9baab0b1836c10c75144ee0417eb886d0e60a1699ea82426650b8f7f8f4103aaffb88582d985639cf3643535696a8511ad584e3673be0a7d107d447405a133479be8eee38f19178ce9fa5c999262b07a886b805ec468dc50f870fa6ee229b0936d58fbd72f2172dfda2d068222a095039a128dfe97c03163bedb35b5b3bf1c1da8ce25ce9bf0730ca8b057dbb181481e76290539692063824755d7865f93f5d7991223b910b1e6b80566e9f477c148f43255cf1ad6a3b0c67e07bfc72d34d5f6c95a904a8dfec4eab558e055913dbeafa6c93948c8fdbdabd5bfd7d96be194f6f2f5f374753f70053b968454ae74a92c649df5562e1d03b28e1cc4ef25264f644d9d7828fd404da443c6a41787eccd3e08d71ab108d921507eb9d3aca297139a7c05418eb7c180f524544a4203c2b439d6902521a5884ceb0c967be6e3da652cb6c455644a35201389d1a273cf6fb6f45e957c684d05cea01decd553b697d3506bd73a1fed1523f72e6c8dcce0239ba6f87002e06acf9b2ec96966f0534cd2ed71945e4b4d6804d69c2177f732ef9a6413ea874cf559cd404f997af1a2b4a47caa13438716ed556057d5d6fc90b00d22e04f08c558d4dd998508f977ed21b286ff63e2474008afa2306450d2ebfda8d772b86702a189f1d99926f20910b6086a7ce6e8f72b90fcd36ec2fa7630a35bc8dbeebe3d8e17a01dcf4fe1d8db047e2a61f5df1a927cf9ca3c73c58b96016c9cc2827dd8c023600688c6facbef38ea6854970914a803fa2f276f7380ee726d00bdeb8e9613290cd396c7250e38cf9401e0b0a6945df33abb44683974f5d4150713387778f7baf50cf53141f710815dc2df8290b03f5037efe4755a8af3690fe7441fde331b46bbe7d79d43c5a15e219a07cd51caf74b3e181e413bcc4db694cad87b6dec3e7e58787cd3fe2646eadf7d62271679ff58cb1d8c1023a50bec40def6bd32e5feaffa4d16051483c6983c90930b9d60905bf5ce382ad6fc3731ac513e3681be4181c9e5f02deb14cec0a59a62e5fe16ceb9d5d1ac9c389c578e168f6c095a322ef438fc6c3c431ba9b08a0e902c201aa96aac405611e27b7a5d98d151d88f8407a8d15b00b3a851a497cf02b0de87c118b364a2f42c240ae27d386811cc7699537014084590033e2c9b3be1a0dd8e9b8ebb6cb90af89bf4a05afaafdea50fd9f2b5364ee83fe42cf1347196865e106f9d83f52914cc7f1a49fe5e587f81f95285f8acb5f3123e9fc1528e99c2cf185b9d045559e7ace95757150b45b5db3477781b53d4f02bb0a96aebcb93177e137bf17a6c533e8812ec39d4a5230b4e828d6719efbdb4c5f05a0137dd6b85cb614972f36cc3513821dd14ca6901b6c8cd231341e4e48c5dce9c13203567e9f98e9741e2356cb6c023b6bed6abd32c7a24332a75262a96fdf332fa092093ceac5dc7c4094aeb1554aa419b8f7448c733158738cb55542e642a073b546df8b305295751f6a42146c56d6594713134e158ea3895716a6d194249e3842ecfba59feae31bd266681e03edac186edac2e64c17289900c0a3de3eed906fc1b7ebfd38a5e346571dda92c6a234d2b04c6887d8f0fa66f227b643809e2135e80b10e900eb111c271c56bab1eedc3f07f1c413df91c63086d0cffecc62fec696132dfab75adc97d51489d41c64e7e36d02d0f0a17bdee439f2d6a5145b0cb98d5b840622d50a04cf7e0a92fa318b5aa5da75d15114858b0b7f489b7e6253b6653e4d9307186e53f671a8b0ed0bdfb35a82fb4ed434dda91d77106398e1ca9ac060c4b17838ad01aafacc457312404b18b997c9bb7803747f881b3b83e230755333a76be364c6d87a1d2fafc9761621c384b64f7b603f49efcf6c730197ce053834fb379393d517c193da636e1b19df6364490cce11382f825b66f7363c90ba968b7517d227af90de1e03e749cbf60fbda73b147607745daf058b94bba7180261f621c8f126931d534e8ec8662b24035cd5c3a47deba380e25e05c1b5c2bbe1826a976e24625c722d6aa7b7487679b34cf60b5acfe443b18c6a58644c1f7a01225c4c98d1d8c4421af1884097fc4b20be94a2cfb4173e402457aafe951051280f9269d69bfc2856a0587897892590159e77b850acf8817147b996771d7e05a50efc57499ffe246b607172903d9d3fa7595df57a64d4b704243f7d0001f3bfd2eac1adc6b5a1aeaf31f01cc256762664f01cd066c93c66e2e08bb59669f1212057a49f9e3c36f123d379a03e3a067a53f8081af3efda8c9b2e7d6eee9116ab43a8d7e828542370d4a029a02f9aa5068464ad672b6f70149bbb6350db26cccd8883c02db96915a07b0cb75807397db63564739a724a1914f17eb7c9b9d11cfb4f596abf244db01e8e2ec2859b779f3addaf7c84423c5157869a3697852f59316fb1c9dd46a8a26e08936c56254375f606c01bcd482620da55549ebd8bef8aaed43a7e791645eb57b4ef69edd04c53903ea4db0964f9c680c707fabf4b20e13c89e633f9c16643f4730bebdcdcbbf609d01f6d14c885936eab541c5a4a8ada7089a3f294afbf67d00e4a55dd513eea1f52205f2564b22b226af77cd5b2a8f14bf3e9c7215c1853a84e6f3602199fd7090fab30e92ff7dbc3b6d16f30133d9c3351c4c9ce8a7f21901e8578e74ba5db63a04b890d8194f339d6ad15c6123c711b593cec9bd1bbf5a3e7b7d3e5c63a5fef1061cdc46715dad10a6f560c072a94a34db7d7a62023f5fb1dd6bab6384d1e1ae32b1523b9c58ca9fadd5dad055801fb50394a31a6d1014f8228d9df0446724dc35a007e114aa81c6229d8eb7e99c24902e1bc77b078a02326e4e92aa3825fcccf847bc16e9dcc87b0d0a6889c8f7f3870117a1173cfe16c242ed856d184f921b528d7f86f1378b2791097c4ee0a155a881c2e8c6a39e9a6e81f21dc7a6df0cefd5566dd51bc601f1fbe6a7274080caf5c5cb1b878746245274537c44d8ec499b7289e6a885160154c3af8608918074c2076f79d580e6cc2d1641c499ecfb2467ebbd9c84613ed7370f58a5f7a2c9331d275bef377519bf0e58d686dd7785c07d0355db7a2a4e226c9bad7cdea2c8afadd5ece6aa21aa91cfe0446d12afa2c8db71b9fcd945e6a50b1b5dc66e6f96e09eee95df6438448499b0e3f8a08819f1d27aab3986bfcf83c7b25c71ef454e13096c4359a0d2e05fe0a6c513bbaf468fce7a441a432752868f03bf13e5e15a943685a46e8cec3fd1943d37c3d4198a254dc13c77dfe742a1e80f008d442fc4b6485b0a6b7667f1b985515b236a4fd7e43ff3c89d3eb4cd5424f1879a8f7a41e887e31df5f6b73b95d4343aceed9710b65fc8544548947504068891203b0390d0ef10a50a17e14d28c5f4450497432e7cf6be0c470e1fe8fd3882fb697b0308aa015e2de930262fa06e3e442a1f45a55114a60f3aabfb6f374b0ebc647637eb02de5c33b155e4563acf755ac9fabad93d5cd7bb23e0004cf855a900d878160df672001c8305a38eeebc1b7b1dba652db43af9cdf7bc6ac0f81a982efd77d44940b4429e613477fea6f5dc0138db93515ea4e606456ff4d37f67a9178b25ff8cedf4cd23651d04e53eff7708d2e9a0ec571f4ddba9b6b3e39bf5668bf6012c2467426ad7e52137d1251c25035a4c48af93658806661913bf66d7b30c729c0b524b856abcb04feae2bcf4cc03989ca0a2423a523626bb8a303e898d83473757ed4b51c0365142411afd1fe87a38ca2582144dc8a02a453477a55d19ca1a54ceb9d0f7eebd63eb01500650f97cc6fd1606a19efccd56939cadefba2a2a11ad023f28165d1223461e508111dcf3ad956451c9567fb1fa1a4a601a5a02e3e1aba7f74ae2741e020800c9b843e5057ce8063d189e1c9ad5c61ad0a07db09238d155bff0448a3d281cfa51d1bb217f72fc69f38badf853d246ce206032cdd7db5882063fe8afc91a225bf7e4909dccb2f71a7887d445f8058d91ba3f787f08e351de704139c692bd9a7c204c27e7d907446c5691f18bab412d41d40803a7ebe0d1d83059f30df0b064aea4a34fb4e9df435f892916930645dba35e8ca3022fa36a0c54da782c72b9ded15cffccbcebba5cfec5f810327535c51afe824e77104750f67ffaa8704c3d20f7d7e6a7ea55a7ce7be23825ded8b027fd21182aab20bb953a7849972f4032cb57c67d7577b6b8bfabede6a68b58217a5081babd8fc5265a64257b978ccb490c7d25770c06101e337d04a3eff2b85229ed0ef364728fbc02cd12313854636e888d1fdd32abd2dc946e4e523a4d1f9864614ea569455d3583b43cbd449e7c71b36ef5118940b038f2ed0be8cf84907cd19015d98777bbc28ff4be980996f50699f0674289e9250860a5787a8ac752aea758ced5ed1941fc053b4902815e1619e0b8a146209d47de091919c5084c04709e52046b9043618f9f99f2b2aca301876514383ba2d45405e02884f93ed678c6322e21cf26deb86818a5a138aab870979cdfe212cb93b046351e5780dc174f2afcec60143ebfd6765e4ad9c19c8929c96b67ea935d9fda80b1e3650308a5066f86abce5c2ca52c72c0faf1dc72ce27bf07cd41b86761513cb0ee733a4548e1a38c216f1aa73063d9efa840c25d971d130238f9d857fd9af1b39d759bb2f2011e246548c0a540402e67c561b5e0a8a5fefed9044bb65bf06804c226effb4c08b7ebe70a5198366d260a479feb4c8e166e7c84c0f899a5fe9a2fc0b2ba767119f09ec016d0b16daa72671bac8f4fb01e1c221d40442902ecf4921473b172e3008cf397e987755e590b13f0c4da09439d67f1948e69e43ae206c15fd1b9b4dcb580357a876ef430fe2b191fceb888fedb17093aaf935fe5fcd8318b33966d7846568985bbf29dc1ac5df09f4ac10771e0346db35cd8f58ad86462e03aeff1c7f08070ecb3fbcdc3dd8bf26dede10dae6b3e03354a3717b0b4cee49153b65ff88c919087733a7880419bf3a1eb3c3c983808153145fad9e5cf54cf51842edb4b04415d05bf791c0e184d5a89fbf3ba3db908002f65f39fca035e3cfdc36bbce83263415288a0f102e253c8b32fe1a0c5a879fd2e31741f15d9c3cff4cb653c5e9626ce45ee82bbc29d095bc09ae88e63e14c3290da1200f425e9dae5b55bfd23acea5018f1911d2906867742db8f9805a6281855b556d541deb8469c6ab461c698942749bc25d4a45178e73e018e0a91bb5560ce09d0dc63711ae41bf1d93279ececdd1a18186f6d6d466b49bf86d87ed064b1e7d022e8933c9994f71b57d29021ba6ad274dd6ad18664cf100fc1a4cfc465faf36d0dd1df2c35259d8a3bf01fd81abc222b5f5d83069191add28be95a13ec275504ec43323992065e3c6995a2f291e5523ea7741311df030995107758d7a4ef05eb0caccbaaf88e9c76f5f2114a75bffd90d53fac63a7fc11db7673eeccf380175b988a5a892d50021773ae66fec19bbd5075213d2d47e2ec3e861fb340c60ee407bbd99862cf68543c5fb9601d326abd128834a11d30bf7336f56d75a019820a4bb9aa4e55da54b1251b9c83febb0ddc7a2eadce312f30f31c9f0ffb9d9d95a77b175789466e4030fa92f132669a059aee20530f4ea98195e15d37fcdadb6ccd3c03202758b8c2b677f7e3ca444652d18c2fa2a4e4fbd269c79d7dc927fd839659c6431a30d64f0e90901a4045545d7783c96eefe69831facb2537adcf802d01e33e11e43a40a7623b2696789c0d4b566647c58ae5ecd724c44680b6cac90aa303cf6c2e52aae2a2e2be999e4dd29da1888f2b20bfc20d3d916b45e650f6faf8b91290c024e3dffc024a6f70a2fba8a4a8c6c703bb5443e853edcaa9c5d6f432d54c0f6c7d704e6883288071bcd40d0d45f8e46e462bbcfaad685dcb7c3b7cc3fdcf5db35bc7c461b84823590dbaa2a65989dc50be8c5b464b731c4351485cff357f3d006694ddedccfa1c741cd7db35d39c32a18a2c4a348e91d9ba280589debf4f3155fd966d4501ca8b61904d90c5242aaa886c0e68dc27989de01e979819faf64d0c4bb554a8f203fbfe01ce695f65226530818633702a254850d50b2ec3d00eca5b82a3fee66ce550a59d4642e404e2dc36b768cea861bc9b52a737f7bf91a21430b0c96362a84d0470d8e62442a6b35544e47c1123319524251c40c60c87ff9da45ff5075b928594495401e4577b6036b679727c7f739b890103814a228ed4e47ab5d2f1c86853a23234efd0e9f68ac3612d95a73bc154e387b2710b8b941ac7ab83750cce2f6a4c019621798e44dddc7bf9667b1cce75e05dbd313a124ba601529fc4e9e17b1995b0effba7d3d61942fc4c2239a8896a3b62be03dfdb91998030413ad616098c503d0170e9ef0d2660ce47f895c322351986f3e7d87297157aedbb420191bc20568b6b127321b86c29e7f4b6c9239d09f33fe67df1d7911a380893d2ab6f2d55b44426dc0e8eb14e4fbe4ff83b1dc159fcc0295c1b7010602da585d5d14f1a825df840a22634f4af89d0ea1385daa20dfd26f5f4d0701946ad4f965cc30dfddd6ba0a968b50a2d274dd84cf719da0ef9a914dd73f276a1a8feba460a6aaaeaedca5d83458d1a88d26fde35b1404d7b5a68edb4a84929495b72889a01ad850434106c5deba1f7f7b2c3e0692f12af4c5a5736d8ab5b424a1e578a552cd1d1ae9f39b094c05ed45380fcec3b467dc125367fc80f4418cc2ab872f9f238859287ea416fdd1b1659bc3947b806a727d8c5172b70187429eab569453355844e6561b30ca627adc84a0642ee123707c28ada44fb1bd2b002463238709833d8a7acaa92eb7bb36cec8e1bff22e41deac19ab896eb16820d972013d2996ba669d02d6d961d66d226488ffed40a51460cd71758ece99ff6f6f795aee70a456e0a932a4b48151c56dcf3c8c73242f18e4e1a35397db66f940e14d70ad718a7275e04cc82f07f46eeecd1d4ae31c0f946db8502e72e0f3d1e271611e801807a121fc9010a2789efa7bedd06ee62cde0d5d1e75e2b6a6e68c23ad0915d66026ff2882812ce6eb9d705f43926c723740c1da9ee378c99af2c2846ac2c0c399428ab66f27526c0d15b3c393dc26018ebeda08413f02a0dd94cfff1614eb4b671e96d7ad200ad17998687682a4d03b84cc9522fc4ccb4ab177bd2a32158e039ad27ce9b52beb0f86f41043ac40d9881681d330afee584038e2d3eab9c383f49645fca57b7d72293a26951a0a308113fd52eb7a84945c372e3c7b2c5d365b3354f719a9c1adddec024fd16a180b9d4ea74c6e129621ea7bb2c3aecc9cddb5788827a9c6844a372bd7a52548da87f46266ea4542abdd73e0ee62a373b04555ebe4b5ad601531b5e1dc382a135c3a73dcc4d66c68a68880a62a63c7fcf128b4f4b273846c6d2cde4ea0ecd68cb0098619791bb27af8c2da2a8d7ecb27b8f696f9d1b48edaf7bc2de78095c19f4f2b9e2e35c90367ecb9605d7735fe62c220e6f685ca1f9e71d845cc47aaa4efd613117fbd124364cb7a13e3483d455142e2ff8059b42e20a12a373a3bf08733b0d2f0abcfa40de87259e9699b267ad3a6a43c3b4f59bd09a500deaf9b945978cb4eefafef2adf36a52a43f690b87de1438df485779b4e8ec636974261bb7bf3a56c3f3b84a79ac2e76665f58751581df8fd7b0bbb64dfbc5f651c9ac049e6617d974adf9903c2ebabff2d4642d5ef27d6c574d2e8b56a70e7c895c6d13f71bc254e6b1b66bd47e9d539390ec56d9195ca4564bdcd6b5373dba309be1db60451343c0c63845852383869686599e26bbf2b46c94220adf3252d5be0435b7d426967bfed25cc32789cd97c63d387d0ef3d891de8f3017ac82ed6ed73a83a58f15e471919b869afe184358e6bd336858da3fbb98f0b75571392ca6b6fa637982851257fae129879d9d8c2c34b1c09a58fa2969a907aa0ec103c5d5d824e6bb68fd3976a2cd8ca83127cd6fa1f56fc0756ed31cce120e4e0aa03c1dae7244b8c9de5fb6fcb884335fd343eef889d6763f2527bf641d429ff67a480653275d395492d3bb110a55107c3b12a5c24197ae8387b0e3acef8b42c44da85eb8bed3be78c2edcdfa802a67ef8ca666271f721813805fb317400b1c17d2de832c9cf68815e1676d3fa045132b291d65eff3ca228bbc38a339bb23f93141dd9ab47be92b28ebc3be6ef39f24fcecf26dbb98f03cda97468d305c51b4175d31490b6e2a3af38de6f8b8a376588f7adf601602889c8578c0cc85fc0640d139d3094a558575682d4f4eab7e600a8e503402fee517a1bc869c78fdfd2711da43e4610a92dd82658d016d13de173325f0346d1cbb18ecb8433649dde08e8e3a42c23527fdf040d239614ed01107881d2936a54f135e9ee065f5a473713d3d960817e530ec20b5db1662c3287b5fdcc00d81d1134bd6b0cf8754dc93a94276b2f4a6c1834da09111f12b950cebb87378e13d9ae05aa7062a3724c1ef358ce92ab4f10780c24e11a82943d3ce6689936b10040a2a9b35be3b38f9206090c897f8ce86dcf23fd221d18bc53a664164c174756d16ebc8188c2cfb45ade7cd2b54b691d897ad57b3caa4427b0e073473c992f96bf030310336bd03bed892f6cad5851e2751f634ea331e75b1c3eb5f2dbd619b209747af49bc7a2afd98604b49c164dddccaf438bc19d9173e1987892ea5433edee599eb11720fac5915d3d31997e1b45f7fe87d5bcaced3a31405c536240d4d32789641d4393b6a7a487ade97bcd9453ba9d8e0595576812e1ebdd8710c03cabf4cab5ceb1eaed069eddb1191c26e11eb5e77cc951e1619b414f6b5054e1ea3a488baac20d521b98cb1c37af90c6a0f7520e8b195ede744c0890f4e36cbcdb6bd6bb1d0e6b7108f0b25d94a38553adea93a39e07246331e915249ad1b4a45012b9e875aa075e99fd9c1483b0642708723cd9918954a5c61a47d6df4b2a23f43791492a8eb10a6590c52f1eb6dbbc13a676e37fb257d0cbbf83f8094314dc53bd75f3e50e6e25dbf849bc4ab78908160fa8f88d5531e7ed5d9c8a6f0670aea3d3470f94a376a9e08716c09361f01570beff89e3ddfd7b0cf344db2090132c137965029789c6afe833d057e07f4a4ccd289e1f856a2dd32356088aec6372430dc65bdddb349442780b85220a34b10f8476d8d7bb9205fce269b67f36520a65145c507766cd634895eadfce94a1e4e35ec755246b03b8983421b9af142838dda9b91c9328be78e1253ba02db07a78f15b453b3702278b96cbc59e59a5baff1f2e66147a56a656e11fe34245eef9254f3f36d737fcfa80589c3cfa97074ecf3b7a691bb51454aac1bef7afc1e80dd46d4db0142ce57d20b2819706c0bdd2e1a9816fac18447bbbe8372f4c0662de0140d3fa3b49e2f3c8dcbaf019eecabac848aa5a81cb0c3d543cb7d3d918182a051351e779c9cd95f22637e09b90c432b7c8c9e1cbfa51bbf548d9e019d83d8021c42d7594be5f30d4cd76d3e6c34537b31b6519ad0b67a8f0a95049bd58292ecc5fb84b54a7b984174a5ed2f7c30bb58fac574600844060ccf8b338994d2927976fc986e89699fe45096e02e1f350d5a415999655a0ca3b6664a36e3f3e726ccd100397be4647f0532933b310abbd8be2490cfa63b803fce4e16e88fe933fa8be7bad97a7ed6bfa6cdeb20ce366c3b7e5ca9f75f3ae4a01528e7144cf071b94eabb1b2c01609ab1508796040e4190332c3270d5b9f0df5a9904191d30b1021461df34ce0f7bb239251d5ffd7301df9e4f3a72bd00a1b406410189c4f522168b51be0619c4052b35312301b9a92c57617af285cae3bc2810439497b5be7b92f749c49d69394df0ee284c8e11285be307fedf91132bed26652e3e86918a97beacc2b3d126fd8a47a9a4d1e77a23a60356272db5fff8cc556aefc21ca5d525ea42719831ab0fd1974ad5577848ec16e461b0b5546107546f2c81fbd6fd92a45b97a61b25fe6f6be98ac02883e54aefffc274ac287413793f67041b46c42d2115dc2bcb879d715a903e9cd1acdda3250fb7ebc02a290def1bb745d6a1d1bd66ea0dc8dc1306c7fd2cae0970ec292be102484c831a753d858afbc377e9c87a9c33cee38f5756d4026742c3c392f196574a8df0d1ea6b85b0f90cab97f49d673fba4bed827da1ed0c517b665cc016c3530cdacc199658d1e8e32527d798c62c097d283faf904b84922b3ad8b133aced0be70872cb5e7a998e06d98a23c5094942fe468fbb6ed38730895cea64761d983ebca5bb792a4237222ce311f52717e6d25bc26920b66c235565d608edf27022efd589e6e9654011f327fb04832855577661d0bf24dfc619af2616b1f3b9bf5001e38c366668498e3970c42946562ff615f0ac7300490d9fc3ac63329f4ed96523f03a75e846f7d08a8c89608fb89454147f5b9cf06b356e5d3ffc4c2cb32d69c15d73498636a7985dc8df10be1840c7b33ce94bfc55bb383dc802887f8a2abcc73b26f173e85603cd8cde90d13a9c99071ea5900e610733b4f571a5bd1a9fc21d62c5a04f47907eadfbf21a8b8f95b0e9b9e6977179f111973ad913d4caabe4c4d4f6d49d9649ab48fe282ab7e9f5537814e1050cefecd512e9aa9c56d59379f3137b9ca7565c7e2ba9819c8c1c2c54c71910cad4d474076b58466e74c912be34e2b42158fefd0215d404c6705e3ee4c17c6d9d7ae051ee08ca2ba0100193f4122e14e9e75838bbbfb7c5bdb926bfd09d12c3856e6aac7a1b5337ae7312c347eb8cdd3376f638703785e4f3018bcfffcdaf579bfa25f1f396480e4fea7b71ae8cf7683ef42dbb3acced550ebab2161e58e94182564a71fa8d66c8a0b2dd3319a00df7195b8b5f7910deee577c5e57b88e8a378772314ebbe2f6a2f65d191e983a323b339771a8c3da712a627b8ccfe56b412897b4250cfd5f57f214cd41df15c5eed254461b22ae130d99894acce8f7ea8cb0a4be73a51507ffd1eaf2f6e0b4eef6a46fdcd7bf6e6a1375966c96790dd3f64c05702080911b1538cb83f04686c604a9f3894f9604f4a0037fc38c6851db1029dc66f3a108b15e1f35104859a1e1555e58a7301d26ad2ab86c895e91f1e3bdd38f3f6a27606a015284784714ab470eb1784abe3a331dce46d565e1c79546de93b783b4fb9e7fb0507aca771d7cdb9c653c0e67cf762602dc5e14e058c3048133af97523ada1b39f170adf076ae6dec21ae7bd6f2c5ff60521199449f068a3697ec42fc3d3dda77c600b01d3c3c1532d6ab67aa9bb2f8a24a9c4dc5e95701ee822a06beaeb8be985baf1393244a61583f43a5933bedd2a9195d3b52616c6e67ad022d3899c726811ca7d26ce681ede07277e095d2ab7a54783bf308471186ac57b6a3df5f1aedb320c4fc17b5dc9684091542dfc0982c9172b4d188875f36a67a53cc9b313b923b113af373cb475a9eca73c8c80a560bb2c0eaa9df4b6708b8e364348d94513f575eb548732d75b8d5e69c8911c847cf8977e504d49848e56a6cbc5c470b2960b60f622d607a293a78ea6a3375e80c2483562bcbb83381d11725198eab00c706976a2161980f00d90380de9a2f9e2b57c2f11b1601c2f87875f950af95a722a0d055b0b461da9d4a4e18e7a8111e552f359ca54908c09f42ed556893852b64288f50123b48697557d1b2b354d0fd8197738399bd96f4896a493f06e51c5cc9d7b0d703fa8be83ec4326c9b4d6d8b2aec77d40cc7599c1c32aa8949ff8ea8ba05505fe6947db263236d21ddf19394ca297f8f0ed89bbeff3c12f483aad20b52aa30fd8fd4f99bd41827e92e4789a620d4f1bbdde2f775ff0a8a1702de0646989daf0dc48fcce13c6c7d5a7c3acad05e8717554330e47c1379450ef514970a282446e5e098d55111951a2f5b32eeb93c4a2bb1c5b131cced0c75fcd6583ff20718dbb48ce79d7cd2160e350eb90a535b2e53342f3b62b14caeeb32c1be7c3b292d45121f154aee2fc51e4797f726beadec13771ee71915e9ba18b02c2cfa1afcf9a37f3d383fe05d5a767df0064caf10c0a22c8a3467d458b30398bf2c8f6a7e068a1f0126842ed2dd52b36651f522124d8f12de8c41a79578d0389799be113a40f0ab98ed4bac9a46dc2cc00ed629a88ea6c103963f93a89929d1359693c96a6231a19a6af7208d1c6ccc7c292b068d4029f0169ef03facece63f25b9f4efa304ce5ef79d218b418276bb64654fe707d60c965732971ef30be15cc0308dc81ccdf94e64b48447829b89fa9101392076c535a05c7c007aa9407612acd2d1a4a097cd84dd9af3bb45b6ed64fd5c4125fda6bee4867a4359b9050a2de00a9031983c8a7aa487c3088ac1f32d358803ad27c9ace8ce398ae91718725fc7a487140a0569aef96699ae3ee7d92a4844635e2feceb4bc013591889c137534473109de9c099d644311aa1707ceebbaff50338045b7e913869a0ad8d45c38943719f7399d2ed9a8b274d7aee5866f9cf4d735a1a0c289a959b2fc746827300db7574d8cb53f71afb54d014ca46dc8e3b26bf8241bd0be58c28e84b8c3afe66d1ff09301af84ff78270643abbf76fa1a614ceddcd6ce919bd2749387f391ea94b27d6c37c6418947800d2e6bd0595f54154526264c8b57d5f8f918602f5fc16bd9bc291160d3ba703a235a86e93969be55c1bca2237d1e073f61685be91e160e40d9591c6bd54dd0a0a7515d6cdee183c9048b58bcd8e7a94dc1cf8c0b7be007c81671b5f0536f9266678f36dcb332575d63a3ecbb465bb28016e73e611958bb04cb92a85cd6b6841f8d0bd413c36e95565fff3e9a6679767a5371f2592e9e3632cc13529223150a7d4f8fcb61fafffe0aa9e90e3dfa9755f35cef6db88a2a0ffd683046a5de92f07d3bf891e4637e91ea325c3a58cb67c72fb3cfcd89ab928c68daaac2b882e0b2f7575ee6eeb81d7786febf87c27e5872db1ca56434803332c8f0f7deec71d568e9d9ad92975e1a8c263cd33dcfce55d922cf4ad71034532a88ecd5116d53cd65ccbdabb1af0ac74dcb4cf7f4e49077e27daf7e864d6054a684096ff18d9b5d73cebd546356c129840459fc69c2c61944ce5aedc56fe7f60dfcbef306a5817de5e1072a1747dd30c55c0c8428e11b47b50d71bdbadbf6913cd0fd072cfcdd105476d766e9079a1e9c1d6cbfd8fe29bc8d12527e8579bf9b4fc0a703708418fd6484734de7fc48b7ac57c653b741c1337a07f65aea0c0f6fbb41b16d85c6661e75e3e9cf446e289a6e977709e6cd7b9dc26f828ad661f0d88269243093632931a2f8d343b09da233d8d78c8b5a7b229ac1e731c75a89488653c75c8db3bc58d54837947937c5d0b3bd23338f3ff6051b4f6de06f4c0b67779f92bf38b8538b4fd46c3738557579c1edb8680d1b7001f2414b808194dae51cee751d7651a437a04119758b37b5c683bcf5d346a1f4eaa70cb2855ceab26983b80ccaaff90940edb05aa6ec72c8c483e9b6ded074029df340aaead54c0beb28c554ea36e7b4b1ae079f7be8046b0cdb665dd9e659cc8725118732dc0890b7b5f7340931c51e305f865689d92a3666fb9582d36711b78f4927c4eb606ec92408256b68e406fd175f2d025b2270ecb86ca779e656245fc20c9c69caa41e424fa5472742693c6fd006ee8f086c8bbd37dc2310d985191f0d196b3e06282ddf1eec2e12c69a30e33d3bacc70134adf166572407a94cf632ee05e99bf330e2ca275331cf6c32cf94cf8485f04d2a177560a65587cb7eb3cc438ffc51388ce6de5c1252aef578181b6b0516e460ff5a201c6aa3aa3299f601d709dec026873e327bb48af45982965d4738a1c23b141fbe78b30c708b8e286ec724b71e193df92961ee57ccb351efb96d1afd2de8ac610f47fecd5c2bfaa76417baaa2dc4e5ea21ba2772c4e99b68dbdb25c418a1397fd8dfcf0fc36cb83414616d796a5dd63b98b626e9827293f39215040b5d2f0eda6ebefae4c17d8bb6b6ecd98a5ff2e0f07237e90d55461f905058c7383af93a8fe92e64039eb4d8dc884ecc1e07ee51816ea9a71e975dfe1f12ba7e384976e2817ceb86a5950e013e2fa436b093c9f7218b2b9a703ee0e829325e57ffdd5b5c1b23229bfd19ae3f07618610dfce9f365e161940bb1a1882f0fe091270b4b0a50b21f25e3095e4a3dc800a07aabc1b303b65d37a4c360e0913bbca7fd2c4848dce28716e646798037e5a83fc8958fe15698622ea80702e9d5a7702f4b3d65a01f676e336cc6c0aee8174f76e3ec333d4b68342f2fbe4d4f792ba8d905aa889472d69c5085cf97c17010be0f1f986d2dd00c30e544f66883f00a3b62b844565beff49f16ca2ce3639a4ef4c569ae743093a093c0bd996b520e1b2a8aed37889eda3752019daa015ee52b74d1aa8ea0640f6dca4b141a42c99b2f48ce285252c772a7c6646f950929c5533fdc7e90ec5162fe3823ecf06ab6ed0067730ed67f26a5a4e7c53fcf9c19600f77ff745d98b521fc3683f42458eb6d0494ab91ed019ba059f65b5c3f818dafcc0e3c4f01abdb8bb1a643ff0848c8ad2714d459fc5505192619f368a346cd92f0a2ae3989ec4f327ee64d2e6e6858f477500220d02419654dd455f55f0d27a81cdc3d072f5d804bf84926e101bbc576a720eb87874d32dc1876ada4cb9a1a3bab021dcf633be201fbb9d90fcdbf2939d6cab06069b65aa06a9a7bec4caacc42374135ad4de940f08c11a4df5c49543c8d759ac4d6c8689f70bc3eb26d54f0cb6d8e8047b3e47891ebbd71c2dd5d28fddb14f68141b773bf15bc52b42a4c2de928cfa9fb94cf4f3de43d86f4252e247a8ececb33a3f716dda63ff08fa895af7c5f9b3d2ef9076b1db09c3e6f44638b386ddc555475f09bde268dab23ca48b00d897f8de01bcc1e81e531e5fd6beeec8ca797c02ae1160676d9b45cf06dcd026eee309cd0be2d370db0ae67567ef8988dd220336b6177ac9d44a6768891017a895d6c2eb56d82f494627ec9c7e74183d1528d7d489dbc91f192b0900eaf1bde2c59c74b69a6bb054da5b8a061957977fd87d8195515bae24807cad9d5e6c64b52a1ac25fa98fa10cc701fbe0f0f50ba061ccd46ca0c0358a4811195dc292a9d434b2b5b3098ef7a9fbe12135230b88d377c7a0d003c2d25671961517579643c70415838f0811bbea68efc5efec0bd665951f9ad3936e88146fc1e9fd14e085456b7c596e326555131faa5fe01a126fb01d15190951510d12b6eb71b4ffe1fc7510e941d44b7445ceedfc26c64bc3381322bcd8b98c3953fd2ca30240dca9264d3399174b87c6e297ced4fa9c452c946dea83fce02807aed8c4500112bd1f853602ef9a443297343adf42629abd3262565d4b71b7f89a3d0587d44eab978b0d27fee40ac822f18309bac98f98fb5c165753910494499973272c927dec0d8347829faa67d796076350a8be5b29938b86d2ec00e7fca66561378f6f5b141a39476e0238af206ceec6cd4dcceead3f95e80e54c84d53b01e55f0884ce27470a793ed7154c6ba9b899950c988b64b15ce278b01a53c353054a2d10842fe2f6befeaed321cd598bc010cccb2eecdfc2084865aed83f5fae81cb56522f6d546f78c23b7cae3ae96604e6f0be204cbcd35d90753faea6fe2f3fea3e5b078b88110ac0973b90b618378ce70354e7476369258f33a7666c0fdb0b9751342e92cf8f1de1328e639bdcde010b97e758fdf2a5052f686f5570459fd5fc5da42d402f9b76bdf91b414f9f664988b0dd8c8a0b631b41750462bdae20354cf55391c63ec469f529ceed18245d4df46e1d092bf1bb6cf7a947f4b1e91a1db1d0c862d4ff59782fd0d5ea3ebe9e3c35b3ec43ed112dd8a1fb43ed93b22ff06e5ce92e46269e5a4ec7baac37318e0df54fea9911562dc7569cef35a5fb726a66544b24b1186414f4bd8124bbfd2c618f9dbd408141e22b139c0dcfa9fceac80a193689a483f98060f6bfdca197be0090fe5bf82fad46e32bea0e59783528fa33d6b11173914b70cca505d78d13556bb9b6b792dbae01ec58f2a13009f6e5c1e19ca6722758994148334859bac788365052c4d842cc1fc81703d348bb91865cf70d7897aba8ad8214b5361e7c4ed743c6742821131fa922ccb19ae06ff04349ac731b1f02ac733fbf84913c727b4e241db710cadcf176372d5cb6b763ad1090664f626984c1da2a1adb8c09b41d15f0802acc10fed18a491ada21e61f4c6645043ecfa48672738f71a2c7791278dd10477690258fceac4fd049da43e74dae4ad470f3bf8f18184f5a8c95219a8d1dc2412e281ee4fefa34309350706a8bc3b3a654da3a8fdc84af7a1e5180e796a5fcf7e8e70c97cc57e2846fe0bef340594cfb81c1e2e377da3f417367a081d59a7fc5ef09f8ff47bad3c3a9f0d994eb4f0d66c86aa633da7ecce0115c0a46c1f5aa35f9047eaa5eecaa668a90d3341cf464a1ebe1cd86066b7aeec33e96c146164f4ade8a83c9985aea4eb9439ec286e25c0e2aad022aa14ed87d8d9eb6af1f4cadf183da7ee3c818bd84eee96fb30f60ba01e6c9d4b808513d9e3ce5f70d59f1d23881cb9f64d1b83657efad959235f4d18da60d268c3525a2c730a9f52dd8e16ed0d137a804a5c21f723f9e321028c8dfaccc80c1c09586b91db28e5d5810d4ce8c396120cce02d2980b480ceb0a318462416794d101be2115844ae4885300a1d8ba80d2dd642560980a928ea024ebbb520a71117eec1722be5d1f88b5e2445b1dd1feac98e4fcc8962654f0b8caf0a12a0094075d05ebccaefc4091d74a0888db315e1b959ee87f4744bd129c104cae9f296118253aa4ab75070a6767c2b18d81674aa78ed3f05b42085455d76f03580bfd0d8749cf632e3a313cf46a72a0197ece1268ba14d1efc6b78ed80df5f1a09b82fc8f0b88983a5898d41a169793b7bd795691fbd0646d12a40ddd6dd4d94ae9b6722348063dc50327d7dccbf7d58a6481be9064f40e7b2697859a2c19bb656ef4d2558e546de5f66781d15394cbc9895c97ed1edfc379846ad0ee1feec6db411fdb850cc066228fa7097565b7c6728732c14a7244f7d5b97f7786f6746d8446b9a01b732c5bcbbfc7c9faa088713898e685568bdd4be2123b582af0958ff5f5386e2d484439abcb0dd3a05a4e46592e549889f9c496293875d7d33a135114095b760f29bb27944c009e17f13e03f285f5191c0ad4360ff27c757ffbb1810c841554200668363738a418a0a00d6fd41c6dcea0c602e5eff1635890824d92b22951d1d76ddbbfb3b10e8472a47a9369216f0adedcdc0bd14feac46775d7121d3944c864449e77bee5c053cf98c0d3d6569988e68013ec9f35798551df9d6e04c5f9f369f514fbdb3c5edf7bb4e8520f32914430872a6785b2cf7f3f2dfdbfc4af99fdebe16e48390f39a448a7b5c052448066d7090e49bce5e350aefe4364d37cc8489e653c212800674cfa2ca6289cf56c75d704928c8cacce42bce723c6eb5d9a5e178fd26db10c1ffae714725926c3b45309a5beb0bae023838cd8473e117679ce787eccd278f7f57d15acc123744f62b57a3f8410cc28322c15149848e3992560fa2bc6a948e11fcf9a25eaf958175e3d7f93ecdb12e9dfbaab36e434039fcbc191f10d8d78100c9b11178e745c476f941bdb3fc6ff96702ced5d2da61a0e55374666a13723ce5bbd58033b0607053f9cf29ee39233f95ff8189996bb385ad8c6bd2121827cf51b312e0ff602a9868b989c7abc2fe82ca965c535365b2d7f72e48b5844aaa3a7a2afb7cf424c44e4aedabdc0e0b744a6031a4a45d57adb77bfae06850181cb0129caba39ebde88455322a7da322637b58ba9bc7885f1dc067b852904040a5413427915321c79b43b14ddbf2e162757188522c19987be99f83ff442f3b2af7f7b09fecfcc44ae2c9d973ead2b7884714cfefe4c3bdb49ae2d3ba9d83e8f60ea6e8445902c07ef7402123871ea156556ca15fd8ecdb2130c8e571f6d47e98796e66505086a3b4d0e5cda39b6fe78c679583ebb22cdf8869db7315970b86b1765e18a494cbadc0356be694a3aeaf3a9b26749aee57e127071c142efe911428538eac745bbc3302b2baa4a50d4fa30b6c1204fb5e667e2efbdb8055b678cc008e4b3f96858252a88aa69df2608bf083948d93646d2681faca4aeed00377b6c8d2fd13ad9dd777353ab6f83f97b965ac307912ce0803c69b103b195527369c7cc4dac71c2de576a4aff7b0a16d4ce8eb2bfe5864fa152e22e63fbac6836ff1e170a8349a058b60cdb4c74df63211498f2b8068fd97d65a9db3d7cd746db790c9c59a8ac4561455cbe3c00dcc1a50aa9348f834d782d39fe1805e18fd1c501b941e218f2bb21fe1116aef061bdda501e60f7fbd7e4d434304401504f40f1ffb9a87a2c3e809ed581e8e62c38f796570ecbb7cf7ecad958e791cde102dcfc828f2412485b351c64da940a7c65ed91af6e28d13bed46f7dd6574622158416e12b0493d925c6c28ccd1e7f35d26901c7942cc7d25182d6612892e20fc53276288ad538cac478698786dbf1ba07af4723f2f80dbcc1fddcb9d8b9ac4575b83203657a784e73f9972071c60c0f8f6c4605ec34ab4b6dc3d8d5ecdb0d0cf9c6275795da990d54b64e3f61e799d0abc06202981abb2fa8ad320503d3f9db5d632d60731e039d225e1dd2a429c8c8e25f9f8dc567242203c0e234ddd2dfc46b1d64d88e8b0a5032788accbe5eeb943ebed7ac9ae244312a5550f2a4eb078e7b13fe42f63e44a1fa198e9c4c3595fd1a44b556a1e3655e23098575a4f9f033dec389256d9e06f8dd19678d0cde00d168c42c3c5967b3a8fe4994ae08a649117398021ac60aa6dc459a131ba5ca13513dab04a08c464a43b4ae31bc35a9ee926c0eeeb8619b17edf9670c2b4272fc468849e1c494033475ccec1c27d772683d54ab797cce13f9ff3741a7f26cba1ec37b7910dd80960fd66564a851ad6b439500e59a087641705289ced61682e0ef5e3b1d927bac412be3be75b8d300be3185c99f15868e1d8f039239072d24b6a0a5d462077e02cae3f48267ea31875991ac4b5577901995f2c2e92834d4e77037b5d984d4b4d78716f01bf674dfbee3358fd9c3ec62ee655d233a397e3141240cd5a6bcfc556c277cb23f5d7a2c285f51babe305598dd77a691fc4c62b3adea0cfa55a0121c73c52fc185013660ba948e0cc86249e5654b1d9c8f5a62aa710261eb9bad667d9d89d993b70b9d59edb4b54fd246fb8a2c263359de54078d7805f6af47916fbf74d11ffa2f2483f376f22afb228f761739f5b0c014b939f035935e942609372288640bca98c2e29f89da72149d756fd0c27a7ddf219327210a7531c7d128e648712879fc950d57dd61960d43dd32294b22c85eb2b7b3b9ad91fb3897d4da7a620c4c19fd9f6eaa78c9aabeed3de7239169f3a8a7b039f1eafc33315d1083aa020818438d0c925264c7c58cf385a13b83758cb372dd47b2387b827cc257a816f6dccf9ed280639c21410909a3aa076eed131c0ffbe6f62e98ff46d83fed9a0da7ca8e5954274c030661bd01752dfaf10f69aa2691aa09f385bf1a00933e707525cd1fd2b195d33f52d9ee533e981b5d15c3e59a02f36d31344d15840df13bdeaad21ade817b3f9069ec2d5dbbfe4bea86402ce79e3b72d353287fbe21eea8ee273c82348a0a1a72c2631edd85be7e97a1a1a64bb187cc42d2d01101c6999d430aa6b43db0c35bb8c678f7958dcd40c310259e68909bc954be55f0996dbc5b43967e118723fe4840fd468c251bc1165a818da3f620e3fcb689485682c4b1f373f22519249aba9eda00d89f5f6da352a1a0dd79b0f9ab685f571a990c29c416fbb888342a6c0800efe55414ea6d2f061bafcfef45d64fa3921192bf8763f4acf1b887052df96c5f85e7e112ada20cbfb99a5800051d2ad51fd936d8335e5d6f27844e2ef9addcf16522b9acd8a0c5f2caa530cd85b48af4d53edddbf212dcbd8a70996305a98bbd7fd0fb6b875e0dabf1446711a9f5a7e9d8da7caa717841e9d3ee28f964dad6c2ed4a23e13e5486c1e0c82423dd5616942748bd38535ff7b3728c5c17785f6e25af7767c143fead3a1dffd617ce90812ae402080b29d94c585be101e3ec4434a7bad5103a2522ea24b167256499c2a065ad320e608be2701ed666f5250639cb4527d5b3f86043876f7ec9c014972a5d220cf3ab559f9be880e8285b0ce4fd709cf322cbb142ac45242d8e953323a7bf8b07bfcf3c51679b1a042f60a803654121558351158a1b673aef85ac9753990ef1c7cee7c95a27dce022e2104ff1bc5646648232cf62ced1daa3acf711f68d549e995aacb0a647a3ea653d63f4a14f430d18e80fb60ac49660c9be5a56d101a44400cdcd90c090f4303dd656cabb2c98a2641ab7e595b9c221a8e5598421187ad10a301c8097ed610c131b23895cda99b5ecdb43c3cc33b6cc44bd9f04d983769b9ab3d427d402a9a6ca61d940707592a4a653dc5b66dad4b5aa64b0f8398e1141967b94fd79147cbdf73620012e1bc7c6296045d3145633491a7be010a947f55236bed3d9bf083dc198edf9087087478993a22a8f74801eb53998209012522baa65c7eedbf3b8cc0edf5171c0c2951e8fd8bdd8921947e6be0e5d72d6a810941117735a2c739e0bb9266757b6c16e7bf14754f7bd4cf4092943a751e29b8c22ccfff9aca7cc5c8c3056d2b2c23ffbf52418523b13c0138a107a6eb2af9bdff4ddb99edfac7036569747d6d35dcf054f605a896cca6a07c51070917eeee897813066db09ef2d074773757388511da5ad88d63b11940bde03d70b6ce55650aedb00d9feb5aa70517a7d55db5ba90f34574f10a4e53556ef76004422d2b9bc11d5749274a533a9907cb11bc13b706feb93da637be220310e53b5bc5605f9163abc60f5883ddcad403569eec7a62131eb07af743b023eb203caeb371ffb6ba1ab16972dd80749776519edd9624ec4a98497c83f553f5b97aa93672a3fa0e1c9b4a1a30dc196c9bf313500377274b820b6da9cdeb40377cb7e42c418b2f2c04ce78288a679ebe7c304d6a156c7d9040f9e262f139dc90385ce9dd644227449027abc3b413f9c01d7b91ab836e5fd419ca68686fb2be827a3486bba2ffaeffa85f1e866c3dafd6e634701cb3a0469787771b0e7271000f0d458524b7e9c52610362f6eda37ec4e452a92d13b0c4b16600cbf52e400fac044be6b3f2c38a319e6540be6c9e4cbd6de958e3e8ff95908925221a684872f7582dd6217fdb9a4de07301e5760ffded745092b1af9b6abdcd7af4e1e6afec5eaa9414089ebd49d45ebb3f58d3e14e13e95b68d78adbbd5c4197bac0b13dec718fbcce453c3963a33e175c969f3569ff72febebad418f5c867aca7e7a273ea6ecc146a8ff547f3c0d1ad776c9a1c6671b8c7eb4375d6749a117783490c196a13c324f4dfd35cf4f150f243f1b7f2571e1ae51e5a436c959893fc752f06a5197bbcda459d7dc6835042719b4cc64f58caabea1f6f962ea2da7ea0397deb64593366394911bea2d7a50a4cec49242b9995b295a21739d2385bfdd9a4a641dc81f72bbdd4df89dbefcb8ab6250a459877f8ad8dde88b3f5fb8a656256e08d260936348da9b57936db355f32b432c69a197a30a2f2e83be149836d44d09fae32fe4cca2bde138344b98c7637a893a1344f39db8d1440e096e6560f8f9a09a2282ddf01dcd0075fc3b6e7903bf3003e35772a48c7624cc29ce90696b558ff985740060f87f77cc9322814d5043f0b39f76dbfc9e22f655971d1ab9bacd26d95a3cc661dc1591ce79ee5dfc5d2ba5a2002d5dbadeab7f4bf82ac369ddeb6528810b70d02341ba107c69722c7d917031b81a611a6ff2ab0040589d6be58e6d3b129a0874443a669477a6b8b001d50d4c4ebedb6905eace1062d077be319c43fc039ecf7f25726e95511aec5459d81337046bfedede179dc65e21485fa83f61b079854b7541810a7ad5fd145e7a57becf1c920293f8f7a9e2f6c55e44024abec475423184b9e886550b70d5179e9e759fffd34af0cb4ae675fa2032b6bbd0cd3d9f7bee93616e2f59826852f68676ded825095a095c9133aff1b6346cd3c788493da7f5f55f4a0f93bccd21f3432ee4de1d1c6f5a582607d31275365fb4cf432e102697e8a2a851267fc9282d786e49f418916f860bec09a6cda92f2909791de624f237a29ccec330958c2a480002962862cd2112488ae1eededb27e939fc3bb1e7fa9f123d48890c35a6508f5fbcc65acf7347e2fc49799ff895f127b02cdb886bdf13f7ccdff89023ddba2ee2282b95ea3fb7a912593f9c63c4c70282606036e189dcac02eece6caf44fd38df0355231089c0f87e9b39392161a30e5c437edbfc49711230efbb5305a7752e2e6131b7c2cde63fc382d8e03345df9935b15301e1503dcd272071a856b55563b081ca8681c99781cf16e83336f3381e7b695d0b3848fa39f784d1b77d1915fc6aa2a38bc6eb1e56ab1fcfe71ee8995a1ab074e7e5083bdb020fdd36c7b49951bd544bba8b4daf2bf93dc847383ec008612482cf0ec816a4fe9a64341291c3c6c51abbaf3c9bd9a5791a61b0b36ed1d52017bf72f39845a5e285973ffccab54b454886a37dac2697fabee590820b71da57f20137d22a395cc5317d4629e931cbf086fd91d5de2b6798e69a7de884bd61f2d0ab19d3b5d94fc0cf169dd2eb7c4f8951a31a8f699c87d31ece767439664183bf815a07667257a16edb04fcb8ee1a6fbe62ceaee5b3dee41a06d3a429a0640b64c21690677696391136e6590ab092bc5035a706413d53c78678d5b4355e6d7f7b445278dfdc20e3e0aa40cdbec3c2f4938f1de8087e6b6da696b3c645eac2bb5ac0d79a68db75e5ad63c1939cd017b6dca6e895a33f3dfe1f43b3e2fc6c3cba2b07195001b9ac62c90046c67f637656f8b251f01bc41cf8e66ad1322d31bbfdca4a91ae464154ece294dc31b625535465bc1941e55855c78a50b7817fe5523774e58b62b3d57a2fef8121c999739b723d1abefb3d38d31ae41f8a710b16a0bc9d9fcb7f416ea58fcbf8ae9ba131bdb047a8e1e60c6b954f0d51c5f555b5e971642132193fb8bef5ae9255dd03574db52d5209611f31ba8a424737ba948f1db081cef4606fa2e399e860c6b064b9391eac7241b223c58557ffe4e1658f15a7c1a7fc123919d1af6d7808be3c236c74b1c62c71bd5ba4b41b8dbcccfc5b3db47c6fda537565ec14ca90192aacaa5d9e815dc58ba6d205ec390ff0787878b167619c646355c6419474d83ce555c7088dd1accb8b4ae8ae8fcab7b9343ec777965c28e0aa29e5db6d56973f791ac926482a138b983653d24488050077c8b8c1765f739b3c388efe84ab921363dbfc475922cfe934fee63cec6fe875dce0a4d26f005d8ca513aef6f4ae9fb304ebd1c36f0275aaa4ada552e49b7ed37b1c65ac9198ada10f5f47a2c2a5d65ef90bb45bb2a95f74a9007d6ce1d4684e114d3d1dab59d93a562363692d3c577344fc1a3919cae31ff6687dd540aa719ec238883ac5914811fc1fe4635159abb3bd002b0e3af725eb1b19cde4b11aaac5aebaa597e577264898e5e2ee56fe2bba852e827ba923e1f82756c577ff53a825933a306813aeb2025bf1c7c63bb437310f57d4e1ab6cc800dd1022ff858725862bb5f0c8056c2d22cc056b2b062781ec4a6ac952d2f49edec60ffcbd659c96ca44c170278b46c5e6114b832c06842ce07e9e19703930e425c63f1c47e6a68735d1b079ec6d6764f5b743caeef8538d00c32e2e08f70feeb49e247d9896c1a38e7424d586a43700e1a923990d020d2ddf965932fbd50380c77fd9f5c65f8ee5cdbc9598d63798c8e7e93268d69630db1ef2766eceebd8404017808ebb0c4d2b65fbb296e360f602c3bd1ffd95798c7d8058eb5c760a8b507fdcca0f70c0c5bbe4d78a63be8704cf506dcfdb396455ac0b8b5345b8cd7ebb4baec3c126acdf06911b3f7e3b7a09a92dc9fd43f596daeae7736e7a71d9a6378258639ff2aa6115aa104403df50c76d37cfc29cb67cc3a8ae7aba4c25ecf4e595b8aca1bcc3d622e0f5c64166a4e1f04f36ddbaaa0da6e1f0c9d2e06d9c96bba11b4041ef3cff725f3ff7877a50937eeb1eb9f2677f75dba0a09227f6b17d7fbc8aef176a671c4de4164fa785b7f207693064acc7d647afa04abf21b9420655067974635fd03887036bb4069302ed136439f3e3e266a3a8449ba58ec2c94315c9da68cdad6ecd4a66643a06d784f6559d81ee421b2711afbdd7fffd24a67d93897b3d34895638e4d9f980445c7fed09a8a893b0f5eae7dc0149d9f88a90d797a0992ae21f3afd431af5c39c4f448ea7b62bccc3239d514d1836649cc0e106d1eef78a7fb86044da5b541ac95e3a2765391f926dfa2b4ebb8c724198ce4df4c781f7c25a43077abe21fbc9865776f32376e36c46e830566e932ccb99dba0bffa0d76fd54029ad2a8bb1ec6314ad2537ef12419a04efc96c26fe0cdd063808296286bddb44fa64322458d5b0ce595e15c31a1ae82ad4efe6fad1a976af98f221d4450757374608da04af7310e301775aec116cf16716367d54da27f9ae9cb043a800b95915d066fe8feb6edf567d86f1827383d40baf6aa5eb695cb847ebbd5f16ce4eb82cdfb3fff9a7677b067e069d2b02c77fd3aa7952a5c46d6fae3215488871a848c1bd00fc58242cb51bd5651a7dc2c951d654d507c751c72baefbc31e38f183c4b0e9547f87749bdb65964be5935a3e260819decc6524bd66eae1b85fda83f2b5bf35ea66634975541c0cc2ada896d5ab87f583c49cc03b2aa7a5ead6204fbdee59206bfa791ba05c5db334389b47629206e1b3dd9297a09cef2417b823ea37ba5d39a74f8701ba04f24caa788f7c71ff1f2a8ace47d49e09b3b675520a47532e66e7a2ee09b49726b343752111db72ef43a44dcdfd1798f44a241199a0467428c881e3f231c7c2bb2e2b04ef94baa92dee4cb9f9d3d5e8bcb73141b9498fd2bdd5db6ac8c7566da83dba862f272cb7bcd760df532c400614be309330477c2b94c05bbc4653ed84009ff750a52709c984d554cca1f4b0f95372eaf08fa5a703151f4dad5e3d8cbaf06bfedfda01378881c6bfe21c7cc4f980efb400a320b70baf19b0c15b132deb87d3d3f3b6996791d96e4f24d686ad5137a2ec295c7075f61a3e2d43917f97b8f88183143ba4ed359ec166ec05d9c8b484f74f9406306a483083cb086dd5d9f840033939e7c0a25e23762a329de62b516c41fab76e2e75403f9b1e49dc2b80269222db5ee659dae506ff032cb1d464727efd55051b02e7b356b632178f4628157c7725060b482e5962e721cbf4c1900f1a7bd1c7c98f77072072910cf6dc8435d763be4bfa6a2fc29518c5de6a6ed60c69d817acdd089dab4a7bf4e7aa06401abbe5e8bbb03a6708437c41a56c749f8c69555fab853702874e0ef1f0c6497f4aad7e15a2201cc96624beef6bb07e7fa21a8356952f959e9d026273cd3bcfdab450e274a6e0b187bb67a7395261c6c5fd50897f32e044736722c2e065b4366466fac85b858e71f17ba24f20f6909006c32bf3aae34bfb9ae8a3d788a67a481e986d2ed4f643a8547e143e3c2ffa3c0275f84ca5d3e56055bc2d20d7383c2fa82c86bc97496f109d5600be81611b66f00fc7e0ac65effdbf7b72875b87a99b4a2c1a0d71861ce4d4bf03b05266716c34200ae559f34152a1be47f85c878284978b1befa97c12fb3e1cdee6efbae36e408f39f06fc641db5508358ce4ad5042e1d7aff2260979e278e36b46d4540a983a30e4c46e8b4fdc1e587ae864aee4e7334c3592195cbd17b78e2b8d266e33dc2b325a5f31a86ce9ba16a7a06d451cf2ff2c0c9eaf733467c2523159d91e4673600979bce8b599a5d8e40e4f52d87d9527c98933c003ddf7775356aa83a245d57ccb6e305692fc3a71be09c5a17c9fa9d8dd5a23c0839738742a8b152d59be8c2d0bde71f3eaaf684052f4f0ada4cfd096cced39080e4e6d824c697062155367d9a90742850df538ebd3a1f92e6d32681ec1b95a20cc4ec3da7f863594fac0886fd98dc4933396ced35fb2cb66835faafd000665102fba2f27c4369b3cb21afd9e29168f735e8c101f439629b1cddad72a199ef57f8a3ba936fac1638acc1efde5dfff1ff8acec8e99f9bce89ba56e38777122ba535706e8d736e880fb411a7e978a050cef26929b44a535a10f239f83c2c69a75bf5e63e9ef6fd06a1730913e8e049291503060d21bd51aeb6869c81eab598cba0ff9f64e4b98fe0bf2137b6644cb269858b6dbfadca10cd90aa38795f0cfc70d3bad359e783e092e9a01693f5e4f527879a09be78664e6fb8be952823d05b923f480ce6e6efc5db08b699aed703ad99f296e7f6e046f6cb679f9649ffb8462f143d0654f40534dcdc74066dad4be8acfa299a1e8fcdb6353813ef310b13fcfe4420e9905ec9d0cdf19c5ad34dd138b6f994e824989ce476f2dfc60d5079900bc0c517dfe791efc15a2b306c9fd4fcef20c0c691189815cb55116f32f180ecdf8811321934445c93d55c81f728c6ca09399b83acd9e8d05ad83518e1761ca005bdbdae37b062429ca716876776556a0d0c089a7000ba8be0515b642c7ab616297ba300efbade708de631b0598ddc4809b0323f75806e0625764bba22952f5143470274c7cb87269e48a7372958919fba676efe2449bcc3a21404c0c915f28fc98fd240b0d5ad00674b7b0684356acb2f6ae43de56645860465ffad32a912dbfff4cce0a94b33620ec979e32dde268e6e97bc6d61d2694f6d5a7bd8a8c1531e7fa65a32a5f9d4da3894da1db6b75c2186ac79596dc974c1e199b2022b9362d2286736cfbff70177ff1664998508cae5af862ef5ff246596848428ba1650e17977b05eb4ce9e70d18baba8871b1673e6eff379a6fbd16ec92747a2152ec5796dbebf6210fd3934b5feeb5288fb1b0c6cf610408687654574cf72e08c8b0c7b5654af9a528961325f066488bc632ce6233f9169d81bb0ff046755443a39c76d877b794f2464fcde054ffcd0f866bff6ffa43948ea6af949e7e3a95e843fc95622260c9021c7b131d80396050e1c0416b01ea8988fe607667adff24e6be69a5cd02be32bc640583e135c0b2370994b42cddfbe90f1fe6c3ed85109a00fc43a6f2ea3c609c2c1f2b9fb0ed94a0566aba9e03357a8e5ec5f6ecf61039b008f5b477e345749b9bfb4889acaf2e349107a9f26633219ce68026cbf3e63ee20d7942dfbfc845a93133d8d1fb654f6d96583416a435b3d2c9a977e3b75ddf9d25175d704be4f9f9b42da61393bc883b88fa7fff88bcc03cfe7b68c352d51a7d8fe3a86f5afb7743c9f59c175b234dc0714335a6da2f8a002dc7bec5d61668b9e7c4c8ade64a05aa3b87cb490b62b3e58eb4f6b4b275fdb3810f628279ceb13abde5ae19a084555eb207e36b3cd8009461d0d623184b5ccc1583ea24476d3ef0e82161ebf64f8b149c403522e0922817bc853536f8461702c6acf0b3274da46620a358b10bac77be8dac365ac67ce6474e2013627a2497b5c82c5f92c4b09bf2ac4012a3b7da8521d325186de61f7f0b39deb1f60de1456431f8e551ad6122a8342ba4192a4c720bbefbf868c474f1a90b2413112747ec70e272fcfa67f568df3b00c404422818a340d85bdc000f343bdcab0f9a313ef268c21e7be17e03f5b187afdf250f1da45f14dbb01a2999157a4e7aba239d4747ec5991e73f8d49fab7a0890d2f4e2554131a325ce658a815b015bb9caebffd2e344815c50fc4bbb28c4ac7e031df28f63e1a9ab3980681913fa7c196a5fc82760d2449c7168abf78dff312d155e015078c3c7b8ae5b3a93ec39121d52de31bc0d876da6c972e59fe1b5133d79056e1b3b0e2484bfb91f03790ab3b7165d99e3679e77a2d29bca28b924b4cdb4987c6739d094e293ea2526f866df782ee782bc644897cbdfcbc8206892f8edfc36fa7f169f94edb01634457edbaa1340dc4850b0b034b56beba63720e8b34bb6455fbe58f4c76cd20194c1dc75e6b053b89e8527c8138692e339be2b4be0a7f7e73b6ee60136663e3750e587e177d1df9930671ac900a116e20f98cc8cf7424361be3ce6dbd2a99d736b2ffbb9ea030c4045d20be621c38783c14c68a0643e3aaac8839c55c54a8fa4491afdc5e43558aa72c4bff82c7ad2795e7c4967befcde0b9aa0d85881a391f33181a19154f371a01a3d0fe75897c1542d1025d520c61731c3cc50f41537a20d7cdccc9af86e88576f1c7aa9e55b5af8085541f8afd831cec0ca280f624208f36dd52c1d1d829de9aa957428d692a71ab7db0f3a1fbce5c2d9a65e33d0b53e841379697a6e903d05e8cc6a88194d183099ac9c55ed6b07af7878308cb63e44d4fc70cbb38b52b43b9614b7b41da91193973ff00ddd38253fc21bf13cd6dc60931b1351ab8f3d9b09d5f09b6271cbce8123fff5c13ad38275e39341e429cdfa6f6525a82b71459968b23de488a5d0bdb57ee4742375be9ad777ef8a5a5698f78120fc22beb8a49c18552378e029007962da06e860029384ec375b3a16e2236675acfbb5d2b8688388a7f447c8e6edde6ca2911b9f90e64f77d8ae62f8cbe86fd348a3b29da2e205a07c6746c43221d84c9a745a419cd5611ce29fe5d3dab334be4042328a41050e4f7833da2bbf4a47ec7bfa8f6cc33821baf50767f999e88f3c59f899af9ce63a3f21a52ee84c1d1f8c518c1f1960246dfadef7774c128eb55ade49adcbeeb733e28bc278ae0011b52cadad34c175c58e16119d2cc8eaaa2764332f96dd2b9aa5bde54ab4ada653c8f94214a7f9b529e39349bd5070a4ad0d42255606efe59bc3b4f8b99ae4120b4a19627ec0ce5db580a9815beb369d72b9d26756b5a76ad6ee1613df3bf2017fa0aeccd9a8a63edf63cd57922d9837f96c643a830109942a43fb23738ad0fe5848b6c5649862910143da31f5cf34463b5138b6f3f086a043238b2d3a4d55bc1eeacb297e8e8bd3fee931de3377a40cc9f5f04f30dbb938433f5f71f8091a3cf35bdec0d067673293e475a8cdf2a9cc1f16b38ad8b50c5f3d7fd0b2061f108e4598c32419d00df3a93003ef0230b3d5252761d2147664110fab9a79f048249fd30f985982af157026811658d6c9411b4147ccbf09ebadc42293121c4467f6141d295e017a717545fb8961aacb37e0991301060946ae06a6e7fa251ade829604791edb30fdd5ac1462a25cc50a896cb0e48b0dca3f89db5de3a7888c4319dc9d6b10c18d00cf20e07337b8814f42871b8d5d5c1f7ad45af9695a6cb980a82fcdc14637ea689857f882b93c90263442a9cb02be6ad051c94e0109fae12afcd5ead979d6889cce2d08bc1acf5f1f42647a003d978ba7fc70ce8e5fb11b9ab2b0f299d29a8e99bc9c57da7a67caaf60c3bf1ae192933945b92709519c6fbe97a67ce2e71fc617854f4649776964d692ad94cbc87e491062288f677e7bc07ea2bb2cd7364bf1dc441852cabd689f28db89b076ebcd852c2699a0647c8bc72dea06c3ac39033792d37097e9751b52adb11b756b0ac1f61a823cc28ec09081baa3018b195909262dc2b5c6e532c8a7ad8348bf8782c2544a95e01ce01ac555a46f2cc71b5b47389aadacc18fc54f79617da9184b5599424d0596187b8d53014d074aab785755404599851c20c393c8cb3299e5dbf2539f3b750c821b2b2e242629191a81eb50c6f4cfbb575fd3e4f59439ff4da7ee36a2f1f3b5d78e239c5d6848db294e27bfc149bd2aac66c4db2bcf964a150d2fca742bd7f353b9cf61f35b4d9a32db05987f4fe62fe1a2241974f3875e66380a965e29fc44d21d31d1c7ccb9b6f23e207b743fa807e0c8db7139b0e8e5cafd396af9c46b3f664a430dd8693acd78d618efccb6439dcf62b9e95bc93a1310157e7e9c7e4468944441eb645990a3ab6e6bbb3e1c3367de8b240f9c345c1f50fe2c209835bdfa7ce3a54adb100a504fd2e8e425e57269feb64d5b1141589e928444ce1f8f0fff6a549b8539c4c98671f916fe1bc2a029b1f9ababdc0531a88701cab19ae29ecf5c85a840407c0fe90f9d0231fd6cd96c6248c42fdadd6899306352f7cedf462f58933b861f1c0f775795eeff329a1c4c683d801a9efab6f13f2f98f46073513b564cd52c94401322afafc1a54e5dde32ae24004664ded957835c6001d3debe009425e7a4b45470b7b391ab5b4223a4b49a06c89e3530446fc3c6d48f3b964dda2b044d42f2f753614dc1a5cc5077d198aea416321379b2863222095d18d5c10778bb053e16cb5c8cdc153abd971032d3b033e355e346cb6bbbc02993fd7d6e90f5f68266d376d6f7caac96fd491d8842359dad0da8867bacc7ecd302725c424046a2cbf56e567064eb652af24ae2c04fc354dda6cc34ee4153fc477d8affe97ca0b9ad6aa26a5867e704a03215c9578681d952e32e2611776f012b98889a7976f415becf3441c8d5daff5fa02ec52fcdc81793d60255b2f04ef6c999faa7d1bdd1742e4e37b8ab9ccdcaeebd0cc97ab61796ebedf22381702284f617e97013de423a360441d9e7a057d3b94d27efef7746588054d2896f9361498ef7285b88f4062ad1312ec1b4ba8c612f9edbf056ce6375c0a023f97bceac1b543b286df6f192110f4f01299d4d78fb6c7827e3b2f170692658a594d0353cdf569f5d9e48899c176a5fc31de994b68f31612368ff79598b53ef78905d4f6f69a8e57f78513e6e5668ed40d63c95c024f4cb4ab9fb10727d77362ff81e3dbb7f23edb75a96aebd697ef53aa75908090f41276743c5b83e0ee8d580a16131a554bf955cc984f1123769e3f3720bb35b363ee1e8966982c8ccdb571f375b1c0f9144d60a2b2529293e420cffbdddb08d6773dc970f44894844978c8ef0712446f1b4c5638f0b7d6f375fc9600e9f88cd6bbe475db0981336430aa0139940d8bdd4f589c5c529747a7b6be14bc79779b51631052734be6186df7ed2bd18d04fc13ed0b8a0df1137a3bf373e0f0e9c3fbc5caaf6948536fca08e5f36ca92e2400fe13e7b756182d6d7d023481371c3a3972e5f5986c778f03d0262bb49e4a62fcf5c4c9dc5f503112e2a54c8b954a352748069b20fe59285f8838d4128a6be3f6229822e01581ce2fe9cdc0ffe2f4f41f1dffabf0a1b6764009e4514220e9786416db4a3bb15af5449dd938b877997ee915b5aa9a273a773f59ad0e9a783ae3fc169b6182d80bdf2ed567449478215c6cff32791377b7d82ea7dc5fdc2d3f047d5ae5f4ae307a7be7d99e431d18365f9f3b243c3fff4f506060bfc70babaf5e08b4c338927011f882e0207fc7840be4b04ae75adc777cc52060c0921cf30dcdba0995c0324c3f2c69907c6d01ef102f9d9ce49d762233def1fe5f022b9e1279a70b16dde7b27da0f29bfc4eb5dc36a514c08de06d8ba04bcc1d1093cdb73ae53d47f89b8a1f4854274631080f0e3c6f82b142a264b2dc874ce30799464a7971b04e67f01d183cd8dc20a609f26bd97538b659f1c46909a9763eb4cc6c8406f428e365e5ba40aae0d35510ca1dc9e5be6d0cf87c6f22345b472be7fb6b9833131f4e0d48509060f643f5f886e88086ad2fb948c4565be22fa0070560c6179021c25036dfcbb189cd728b61b29824c1e53d7ed4f4b30b7ad19c7788148066e48cab4930db2d87db6df9c304b849c249d1503cb8bd7d38cf51abdd57b5e8e500fa13da162e99879650ed45213eb8635404c1d09a154960b6217739b6817f509d974dfbd64a8e3f9b5dbb22509d7990478092132661b4fe1c08879afe58054a43d3f9f34efa07380c4f7cf448b313608fc0aae61ae448e9da45b32ea799f26ae3c176a2cc1b62fa986d63d2a89ae4f8c1a3fa40717a434886cd6370570cb45ca7c88103c612e48e1bfbba6302f5a622a8caac4e9e7f8b215a1fc0866329d46cbe149bbfaedf5ffd36794fa727fe039da0ebac506cab65fc81a2433cafe43c26d550775378718dc540fd27e59e55ac9e393dec3745b57763ad6ec604f879b5ab0290decbe22b13b0ee0f47f6e8a3d2c9f39d5ba7ac09715ac5a0333fb2b0b689351c7325c7895d9bdcfbdce97adc8e0dae49f1d661a9d0d45040ac35cc0cf23b5c798afb266af7899a874f2288e3b04b16a3511505796c62118ccd7d72891ac369f9d2a826fc41e66fc68aceaae48ce024bdb878c3e28ee31d2763753707257bd20543ba70cb39b00428fdbd92ade5bf43bb1dd38c71cddac26f7fef6a503e875a353c60b1d3912c03f90ad884c4775b0b29489bfc91a42bd1edfb4b46c4dc4ebe42f9f3071f8b476d8a04d52c68a7c8a47c0729c0b65d08f58564c3a37087c7a51e71327c31f5ed0e57b65be8b7c9b9354f77f736e7ca405a32bf46b254228c5b65bdf38a73e63f6bc96290956d77750d2136d7f5897e2797e8796101dcba6188abc0623303832300e403b12f3844f399e7b09458c55a0472564f50e7a5b3b40dc8058fa6f3ccbefa6a4392f046d3a77ec63f24ce4d719b1268cf88c8432d16616645458e1b3b284c50a028aa2731efa830c978a4b8f15ff7f9845d69ffb18b4eaf3c0cfa3d31ef77713ca0d9e1ac83c1c7b36937c51da207c2eca90a5a11410ff9e30be8d9cd7a15b6c9b131353bb05e05bb1918d45fc9f47b3b12a8d254dc883424ab1dfd545f8c7f0dcc85dbfa09c9c28ee9db80e1c75c2779d00bc762fae52bf5273432cde42cbcdeb0d336abdc706ee468293c66020ee81054709fcf29e12a1ca85299e4e277219d07ce63ae650291c29334e6e412d75ed02168374e0c1d249aa8967c5cb8c56a0eeef802a6c00e5c117cb317830a6cc0314dc93a3e38e25ada6de118a672b8d6d087c808bdeeafe9db6fa864790e8abb882d9867237ad9792d83a95687c937168fc6eee0e96be7cf2e5f8ff8e6a15abba393a6c09151c6c1b4cedddac16e952edcecd5b59acfddc16e3bc474427b0d54dd8b8b1bc7de1a0e85b579a3f29487552b00b68d3970f0983cdbb059e74f641be17bffb99b3e7ed162e15a8776379cc95613dd1576500bd0e1d6dc877b1297e14895deeed5bb7b5d65c5feaa345343e69b3b5a3701a8e8d2dd57f18365344af28ae51b7df981c9a799902f9b94630d8fe2343ad6e6a2cc7bf07e5cf0f7b890ea50cdae1fa122d945f7c5a3882496ad09c2de76e7f773c242da3a29b2959dc87cc72ba77f6c66031c6a3c7cb52b39aed5fa20d2d1768d30fdc31508b8cd65f1e618be20652ad7c265f9a1c0324fdc4d2d52d14b59000cdeec19a3bd211501aa8a9f456b018bc585979fb0d41503602c3babe015bcb2fd2839e1d65347350c86aa5f818cced72df5a26ce974f1435469a742c3988bed5bd75ed570884a24fbc4e6994f8ccbba2e70a2dfd2799a693573626555a85904a681e3cc6e109e86ed59813d383d56085c773b590d1ecdba400e3a8aa20e8d2f5c089ec23dde6f79965a0d9a70e24f9e870af4e594444fdaa5e79519d3bcbb6609b0cf46bb3bdbe1b7e097d6ca018198db95577145132e0474024c85eca267f9ff913f3434544d594bcc56edb381d0f0eadeff31bf1af7bf3c2fdf6d4662d3a7252fa061c2dd81c1c078189bb87050c33e364b8916318e837288af43e9b9ea99a72b4ea8573642675e2619b2ef541782677e0baa0e1f4c5eb9e537b314b611a184674d38e3693171185d67eb476bed9bbb888b76aa17629e59e6663d08a25f8d285631d78862478c2362a09965f263cb2cc26e4e826eee3cd75fca5a57475ea865fea1accb895611c6b8db13c2c2c5522c4ff7839eb27dd164b7afb9d9dd96130bd4f89d4fd1ea6db0dec20f03323cf056ca919105d67bbc97c8f73cec930f52910fd3cf74011c94524037fb5a1932d5ece36418a6c0f911b592dd1b2f98a32310fd206df5aaf72c4e71378cc1af099a2e3c7e1e2eba890414b9dacb3dd6a9dd55d4ba3b267ec13d70b9f0ae7f8526765bc74710908a13c2ab7f3978c867a6737945e4b3ac046d9c425952668be8ab2a9e176c12de89445f49870c4bd71b16a00cbd470e576d1c8c71e752ca2f78afeca55d5d41e60b78186e6ef97dda2acbadedef215144a7813944bf7108498561d4dec23d7d6b3bc5539edee108acc5a78959ca8a51893624589444d5ab0f523808e3a45810c5190fdea2fe9a10d3e5f5911e008f60e384e6f99ffbc0617d619e9ac2989e860d4b1295d9aacfb5eb0ce7f8f7e895e567e29c14c190a9e77f79f352f264e8edaaedab3a8df3b1b4d6b360249c9d95df68d527f60fdfaf37a0364cc3b6bd3c3e914ff2dad9714d22a087a9493aecaa7b5182945e7685a440c19299fe335d037e50b5035f051f33d802a0d3915f7e32d782d89630631e523bb9a8d7604c3738d6dd1416a165b7b27f4829252fe589693b4eeeea5e240f5518776c6e852a48b3310a88228a92316a4f066376227b09cecac91dc8952cc100deca95d5f4de50873636ff20a530435c859c577183bc0d6a67e0d0e03ec61aa656a7a0b3ba0befdd7f24ede059051d00806f51d5b3462f31835d9de08db13a7dd7146d0eeb659db1681ad832c6ec8ed6f6f5621705459bb5baee49ff91d6a2fa144554c6c5c9f068bb478ded3e0fb433a8fa1fe9e3b044001a761864fd946cf69bb7e1760b745e7da972c18bd388bdc2f2159bb8f90919d9a46f3b0675db28fd3cea4e1fe53616d09d054497be166f700c68ecd98a2f7673694f8796cf9cb61d5164ecba4d3647a0727ed788ea3de690b00014cffd7a32775890073ed67afdc0b188114a929077b4f7c1a04e5cb1b7ea8b170e93529ac034da6878db0e9db7a72c218e2d3fa49ffda29ab6b6c460ede44372dacfb355e453f7995e9413a84956dbc0b658f6ad222a0cdfc5e8c3e819234104b232f77b9db8f28f8ee0b7436366dae577de571ff93876e99d07806aab40bb4ace6bc577d713f2c9e03748a9ba39e0fad28ef6390eaa58f5273be1c962cee7b18d957b75907160597b5a4256a607636dfbd6a9838978ad08657d4af8de4b7c72e45768e5a120e9f2a7f29fa24b78a7c6ffd205c69636d5cb8db51d1f20d5d57f943b02c73a9d71f63f3973de283f96bee93ea1321e1d856fe89df584dbf07ea6a06006d24580ec4fa1cf00229a6bc9c0ca31608af06903df45a9ce108e5a53bb3b7ec3877e663408e64440cf4f5720c9e0451dd58d1a50d9a0924143305d070d5385212ebbc7bcad81b655a3789b1e3fc88504bd13aacb267885887a2f928e8e075bdf69e1b557e7931985e5d668837649b99f34699f4e740b2aeb51ef3f82b35310e5e44749b3b298bb1782ed1ca987566cd736b581879777a3ebb903bd34adc128590a250ab874b4153887f2f6aaa3acc005b7c1602705d67bd746ea8256d30a16cfc0ba2c494fa7593cfad1dc154d340033491fa4ca8e21e7939f91389c26ededdbe7412c4313fdd0efdb07a6e397027e15e5f2a84cbd2a2db988c31b16964473fe9b1a779615f14a162193eee55907fa2702c6940177feb9b36643f248a9fb3d5be08791daabeaa39dd2673ecc1bb8a21baf4fb5621c6aa3732f3573b87f3f4ae7265d4a7845e5fb73a2108b385f66862a03defdfad88ea9503f97737417889bae6e81bf42a097b32ddf110116a71c2a55d482436f1db5d68947d551552b49cd953607c1b4dbb50b3f41e53715bbed2ace3bbfa1d8703d249b83ae3264530f6b1b973529ce889a5a54b8990569b08657e5f9dc4b9e95bffe51a4445f83c24791394ae63c62ed99182e70c0ca1ca29158daa387062aa4c18c8bcb825953c053d31bdf4be90f159d1740685bf667b17d38a838e53054c7fc4f8115b67cbba8e24f8f2686872e4c5db5ca8e5f8c480cc4ee72595e03a83785e0c665df23c36487bbd9f3569c202dbcba90a6562cbba3dfa1f4b438c0f990e42110377bc9d1b787f234e713eeb5c78d442ce9c1d3c58c7b51998fa4f78367b0b499260632e922379a209d2f9e60d530077e8960a8f52233553d308050313b18347f23871b3e352be88f7d1d4d9571a36b315d2a4508062b083732dbed500fa855de156bc0e7b009c727f2e597d6759a5928fe951cbce1998b3216e1bc93eb958ad8319da61250231512af64b49c43629e2905cd1f89dfe734db744c878ed42cfd6d684ae88e27a0fb0c1f0525f73a5e87fab85dcec8ae159babe9190e6b098ddd0921dfada9424cd9f7f0a5cad58df90b314a618e9b1f418b9ec247c25030b9a0a08f2234c52e5c5ec64463217bdbbdec02263441f7fa2457b6ee229a3c5034bcc0886cf9c02814ea95e52c45227dda7ef4763619f913e9bf40a966bf75e3461bc0fbfbdf1c507c0a95726baf6ff1204ddca10ffc832d013109f1ffa06ef5a2e50c18e906081718e5f24ec0ce17b20388b56a10026726de0f904288ab3dbe4837e26013e9a03368f90767bf95c2624a011aae52aae4d06e08173e7912f7748fedbb09b3525a342027f56c85e555e5316c9af534cdff1c356b84dc9c65eac4a040d9e95fc300dfe289c9e300985ed1602a57576bfb993eb8c1cd870704626f3388f6add52674ca0dc7607b1a525da818d9f091a1d3cafbea82a827044a63ba08480d31f2e5ceff6be47dfed8de918c67aeacb82ad136f5910ed93da6e5611549a419f6ca9ffabaf3d9d8490d3af048e0371d7986fd07f9c8eb32fcbaefe466b455e09f209d540dd06baab3cc73b23451203701c7d63ee20d8566ebfcbda43280ac37ea9c3ced9037830bb7d1b0d4659b2e051d3f5475d1d93e2624df7b0e1e5f0277d0e0ce931421f603fab248ce74694907938a38b5537774541e90b45ad5ae181488a01f8e051a96fc3b1b8246e6aa0e4725ace231be9325b988679f88b2d809c3b707509713effcf71c70ce348efdad8b1b3c8f17008843c98c56e373423c627ab356c702e4430ad854c0337eede8fa24282eae32689654da439f8e3dcb270eab1c04386101c23330bd57c26f4a25b9011ffc060fc9855e5e6d444fc91ad0d7546a661d55a3b70e06dfb5dee4195239a5964a180f264161d6cbfb8ee0ec79c644bbddc04586a169f69e94134bd86303ea87d38dd0d7e9b1f8ea573d278ae854fbb4533bd88bb15f4a08811cdd48a8e5c740a554512d4a3178c874758918e9fbfba318941d4b142c22839151078272900d37ad4af965604b21ab8db2c50f76e6573e41d720a2eb82b575f978cbfefc2676e4de8244490a075bb9bd46a460c356dcf589cd856b4dbc4c7ea748e9f2235f7b7eed0a07feb5e34fb622f2fd7ae963b253492931abc2034c03f5dce1fe04a88e5d4e03dafc57b915299e90f83d2f20b030f27c9f2fd050de4b2b7a422c9d679583fbe15076962a798eaa27019a74fb570fea594e1f7cb3e83e516157ec771ab18ac08f9255061a7bda3d3a69f69aeeed4bb00a66eee4307fafee6d46319f6e09e68ba79452170018c4ef9d9dd8bfa39b3e32e5d68d99b3c0368ddf13f9a63111e2285a1add83b14ed1afda24c166c8c63c20f86414f90806a60586c810b674185eaa20620f81f4e108d12f9ffc7cba9abe5b18e1692741992ebfefdd50c048f3648d0b5d3347c5fcd16e386f25c5f2a0d03bf91e5eca03f0a111776fd3cda81827b6ddb7c047f9dab3d7dc6b0cac3d9dc468fef714cb43c1c02c072e90ae6834249bc3ff9641a6e2481f07f1964f0b2faf490b0b33020573bf16197ae15ab6df148e0910d8010a57c12971d5a25965cfa6c07c14f539375f727f353d847575a5f5a93d2e592adf41f650b1a5aea01b8cc625c10e3ef3937ed400fc81baa7ab499c7ec0d3946201fcd35d84d30651e5c6388304c35bca3f685bdec0585288b08cb59c6a04d60abf6fa5e2f52011fb2219661eafed44c91a2ac23dd3558337d5d5493268e12e14e1f392ab3c84638cbea3d59c2804df6475923a706d44cffc1f4546dfbba68dfa829cf801d05478c5753cee43f880f7a6dbeef1f6d928afcaccf3940d04394b33f58793c118856c541c160179197fd3fab56d87fb700a84c124f902330c802acf76100657f8acd7e456540ca4a5a05eae830f8dc262154ea89af2e90eda094e03ff30c7df9a446c47aa9635c71ec3472228390e0fc130b1576572c4005fb8409f0cc44bf3055af7fb080629fb424ebc12d5c7cc635e6ea7e102db9638533c6603a9030e3a1cdd9dbf66c0ae9ab1c829fc40494c817151981f4cfd1b6403eae0ac9855816ec92a11744075e9b39256b71cf4c6c148caf70f1f2a3c6eb1b7bbe340d2222dbe3e5d0e875cf41db907e1eb3d47e9b92ef8535f5873693046365d7a56c148823bdb812fab46fd9648c661e645a5211000f4a8a9ca7047b880e510a5a86521ec44cd1704e01e2153914e572d9f74ca3288a86e84590e486a0c837e4b1ae695787a5e78fe80f7ffa2dc9a900938e01d01d9e775a8310fb16f3cf1e7ad6420f1dbd33a22c47d4f6c99a50e988909361a2f15da606e57288738853f293a00b69c7fecd79835070ffccf2e8e4c5ba58562469275b2850b0133cdf614d501775c5afb9e0692bc16bca5cf7cb6e5686d88a636a10c3aaeb76899cc7d569dadff4161b2b4474ea5ad3316d5d5f489b3c2c3962541e161085af95a1b6276ada15b95279e61b2010bdd731f0dd013360b9d13d5ac0aaabb33b16c3101587b0da9bd9731e8c1aebd33cc9da3d76589b83d385927b9eeba5a7ec69c8b4ff8a336edbafdc9e5e453e965cf40adb1fb8a90b19260a1419e8a9660c859280e3f6d494fb1e226a4605b205d968b3f5438bdfbc3e8877976d1eee672dac199d339cb227768e6c34fb0740e4e7ddd9052e5241bc9075066e5355ce524721e0d2e77aa5a2f64a839db2e9a2bc896718426eb1022bd1d820267bb0f4865a38f0631ae4019870f800667213355ad08f02b0a7fc9daae8ceee9f6eaee041adc2f91cabdd34a74f83a78ba3e4898b325608930e3c1af67600b46b8dea34e82d13f60a8337ac5b08ff98a71abaaaf677e641eac2637f35894c2c06eb76886d6330005725c52791d05de50de2fd901643db586cd274eba242873200a2e30993f5769ad62d801bd63134afc531aefd947bd289d6adb1631bc9581053fefccc165d47ebb965bfe2838768134315e99e46f0a80ff7851907832de26cb544e1b338df6d831f9bb5a6ca9c86d264ac577e360ad1eb9d5344face329de0264be937926404af8ae0810cda09b51b51db04d338fa18063b92d91aecbdc537b02593a0053e770188c1175dadf67a3e9721c881bc60ca4b80868d409e4674e8fdf56495174346e2f7fb91c850981e0516b41c2910daa3d9f74e44711c3e2fb4b8f42a52ce80d34dfaae7912bf1fa5c9a90ece545896d8032afb4fcedc7e07ffd68b0e2c3363e2cd837f9f8394c163f8d9c804861809fdad738732a91eeff59d4547d379fa496ec3401c8386f681d045a2fe79e94be19d6ae50f1ba84996597b1ba627c1a345b438eea91d67ddf25e35401638d0bc38c357009ea871abbd10fb0409b10f69dde5d90aadd267dfdee5ca41fee4755fd1173c46d5bb422e58629722c3c7d7a7491641d14db9688e27f77bd85711401ccb82a4c75b8871bd02bdd6d4baf10bda18fc754bc810d26368c6fe2874c88e98b89741f2c577d3dcde0955a2b8d49f533dfcc11dd038c22fd8e85ca29bf6f00000e6de38560eef9870613d2f5023e0842db3a5eb69c05bb96409f6e4ca5c14135e2010c63f0edf5938da213583b1e94e42b5bd58539683f97fd1ff5481cb7d0eaaf2297e6420f6b2d482a19616358d6159eee3167ad7bdec9713959feb8d2822c283452f7feb8d87c12d195d1bca37bfd5f4773b59e2df563fa1278d717380d82ab4a616d46606f7759c66d82ec67fbbd7a059ba03017952f52c5953c0981c6f30710d8c5bb4045e0ab038d730c3525fa7f89d2267f40efc5a9b515619cd7b5d4ec226350259023ab9d90fd820584279800a171bb1f0f9f1d27f4c55b862c8243f233cde17b53b53f534cc9ff4b1371284070d90f4f19e66c1b1badd8c08ccafd75c92c9cc0939c08ddf81c979fc4baa3fb816ed8faa355939a0397362301af5a2cc3ee118969cc8fa4f7e67556b47cfbcd0259737869f1673cc86b798fcc4c1a899deed25494cdbeb019d2a1aad41acf5b9e67be593ee671ff50b63638363262566a0feb6562346fb7493902672a8a3df26497b8c1bbc45492b7601923191535fe6cd243dd64bba2bccc7018579f9fc14769cd718717918b7f099508ae471e14de2bbc0e031289b924fd88c99673030e4a785529bbac96d96fed83946c1011f1e79589955fab23761149d7ea4ae9e0fd631e691a5ba4bf5f3539867bea255fd9b3ab8cb57ba52a70f7f43468464123dd6029a272f4d5996dba954b1fcf5a09922142ca5fa8d29e2a82ae890c8a3aab3e3796b21cc91515f218a405a07b9d133145ba43898c9607479b90aae602d52a0de41795b61a88fe75e734b0bf38a22345d941b0c20b161c76b21bb7f576d87b51f43d5d91a41d00416562e31a4781f2792e2d280dcc8a527a6b6a7579b2efbb32a3fd29f7ff9ba571f0c228f995f1a695de1b7680389f91044d85546181f9cfa221a6c51cf75951775add2210a3dbe05ad4ad543c7878eee7eda7105de1022f0958e3ac9523fc947b27ba577038a8e47daa2c70c0d3acf9a6fe882b76a197a69f3036994e37628509e2a3a4357803b7431e2891c0baf5cc24dd24dad77d50ae1f6d2b17a3e7de3c052d72c9661746955ad2ee5f28dfb586cee65821b2861725d4cae6784fb4965891868e2205c56c365cfe182c1f89e764f980f4e8c72524ab59937bd7f78555a2164510d0200460a7c15c3466b5d828475e400ab4c2cb1151d28328f9e61a3fbf5bd7b0f86040c7a570d3ed74f127b578ad75440a0dad118c3c6cfbba31f71f46fad7c6425a398a98d924ae8deacde89d1a2f2b88e3cb4473770395e7df0db01687b19340ea1b4f1b0cc59bcafd716c2b261f2ef0138fe1d2ca83005cfb14386ebd07e1e9862f911b057bc06af655a072ca94ef068006071b25c541944d714dff61d5f97f5208dad3c16a636d5cb22a7666f52de3ec73e22a36940edefd3d6aa4ccfaf6a5349709309986568ba429f53a78fa1c48ce180bd0bd3cb9eca0246d6e5dd5aad5c98fd5ec9cf866057fa963297dd7723ebd81e8dfcac74f08f4a0c44571acbe1124bf814a7e3a3934ff6becb280fff7e27537af10adbdd0111612b6f345f73e87782e8988d853ea67a80a4886fe68cad924d8cc806c20962a6cdb98c22ea53c4709372d5d6f5bd5bad7faf7404593b1b4b07aaedfa6314b5f5c22840b005cce2ba59cb63f4b6cbdb1f65fae5ce3dea938ab7967dabc74ba3ff538c5384411d5fcc65c11aa3d209959ff059d3108a3edf31915b46fe3a338e6d8431cbec2ca1723ed8bc1c2171633676c5861f59e51aaa0b27e1beb1f414fc5f92a26672b7efb7935ac56c5325bea7185070ada763460a575665ca61ddef5e571ae5f8396d73a9136e2735875329a9aaee166d0752b446fcefaaadf302eec181110f01606a127d25236d6ccf428f98189d85287b1764ccc8a8b406bb71b9f69f12654f85beaf008d609cafe6623be6cf21b474539566df5fb59da2888fc4167742901ed8179b65b2bc4cb6a21bba30a26d3614893edeffda2c2d800128a10c6f79959451a31a0a90a61f3df3b8293b2fdf1eb3b2d2cb9222f6795ce11bc4a5444743663bb3a768f235441dea302e5743ed160ed8822e1100f1abda8522c0ef8b9dcb84171e18801e3ae8a28bebf316b684f4d5e961aad3b0dc52cd70acec5a61b77c267f7015acef30bea9554972898133aacab06989286c52ae904cd20e4fafdd3d0f593f72fdd28d029b07603f5f6a867e1871ee0106599bf873e567515eb82d125fc9ab4824c2c63e482e33f47f1c034fbdb650ff7f6878efd79866dd84a8bfaebf485b8af48c7961ef0be69ccf4e41f3103672b4a03b776b573d19377f260e9c5504ba89e696526b923f4e69b54c25b763ee73de342325d853684ad6e59e29a2e4e0374631d351c18d1a589eb7126709851eb7f475c0949c1b48b8391a9534046547008d459ddc7bd8547ff2f281d937c743ad32298dfc9381b690d6412c7d11ab747e265dc09ee6a45b46f48d60a286b720e35d3ed77b34f0356e8f2c153e30bd7f4c3c8fe0d14249562c852a1f4b0b08f299df860cfc03e60de1836b7c25f1471e735e9165d10833ac1d11b17a421f524bf680a6e8b06c777e76187af1ae30a122accf5baece7a45a5b5096282ec7084416e2462168e1c110f42cf3cc7ab09b5739021fac2ec9696342a710a9877e852edb7e939ac894bef510d7f025909e35f3f260919a8c9bdd0dc2f8ac2193e7b813ea2f6d09de7418fae88cc809c3661779608870e48763a7ed34d9a575e40094487944adff7e997010c49bb9bc5ad5fc0847c3551a708e2771779d65a029866dd3decc344e882be908b6cbc3f42634aae1922a1ee404f804d93e09ca230c28d75ad5245d20e78ad3e9d0c53eeca92aae5c63378ac26a6c8eb8f2aed6ffa7edabe0889aaf24a6248d91843cd72d6f8e8268f237d214353812c0efea5afa35949ecea0a76d641f41b87af1a39e1233dff1b102cd23c3f0dce73635f80439153182bc2d64f5de6822ba40bfdaeb3d689b6f93d3ac37d6c2656a206e746b01140919775ce4a49a52fe83a84192069acee1c182087c7647c11f113d4b1d51ee9304a204bd87392a4599e4da03d4536830ce629a3b8090995bf7f7752f54c7102ee5436dccb5b5cdf5a15683e4da91ea0a67a7b0be1e4708d01dc2ebf7d1b48529d5312050ce1e09b4951c81bf31790a692d06a9584097b414831c577c7526e969c117bc07fb8d765286396f7ed4f59d3bb58c924987a7afd53f3fa83bd38a979b224b220d1401f792b815d2098ef741a38d40c44155f2595df61422b97c48e7257333a8ea713a5c845d7e3fa8a94501a601eeac48fa91c56770af38faa6a9efbfe3405cc9b4bdd1aed75ccf33d8590cd159a41ca8cc5c97f67b8f53634040a0f80385a365926abd9365de4a077f42277db922e61aa3126b082c0a8470343895c2a692d90355c1c40daf91fb2ec4c801e4d792562e1c5e1b70342e7a84cb38e608621a6708d4eedc51d86bb0ce87ba3e0b78bcfc85e5b90aa0b8b1c16388f00d14b821c9edfe77996ce95b74d0919cbc2cfd087b30d4aa5fb2e9e12c5269cbac249881bc7b38139399f5ac48a8bf15602f7eb7f88daed8fe9e80dcbee4d4ec23aa73c71701ebf361f6736bae4770c98e47d5671650431814339a86307cf7a5137e3511672f160445d9a684ceccc644bf65f42284f302fcbb36a3a2b52d5a1ea5f6db8375832fde1d09f05aa8a4aee194bbce6ea42b2bcb54ddd1b36af48b3ae688358c2205dc39e08cd0ae13b4468f5db8b50bb2da01c2b2c34bd1d8cc139161ae964e1d416ae1cff4954190d4f8b6262db84b42f3aec1506b90a61acba2f00ac124f69ffa9a371cf7a473cbd9123bfdcfa52fca15c2957494d20ab150dada8c868b487bebbe66eed26d590a72e1dacda902fb3e57aea82cf4c5ebc8ff502e032fdcc32c8a334f16a18a7c54ad82ad86ab32026c3397a6f9bc24f737a63e539bffc593817b26d50c2287d720bc761081c11e0189e2b6bfdf4a8a7fc57995d27c24f74c7e67921592ada265de09296fd6622e922f60bcf58c77ddeded82ee8562303fcf81f69f119a1d9e58ca2500ac0fa5f7adda1457e8e2f312b7162f87b373f159b6f0059ac4c00567fe11693bee8a5dfa808c9ed01ac78060865df5f12453a43dd237029450c4bcb7356f6151ba8365bf4d940a1dc7b2ebb47bdc45860a7567f859abd693991aae726a4ad7608ada502313cf15a503e0ad6cf3caf2d7463895d5a46fd7dd07e2c628e50dbf9c320891c47167d8128ce17216a089d6c98065ccdcba462d960da06fbe04d3bfa83aa44a4f9a83984cc7b27446f44ed741315fda2e2dd7481ad82c5290749c240129af88f40152c9a8f3375dbd99df6f1667addadfa1d2018333d1ea8f46f9a9528f6545e225a9bc34c44e7c78b5df3b0adaea2952d8f0e8bac80d6308d31b88b23e292bcd1654182a5f7f1bbda52bffe340f75132621f335b99b4ac23306d896e6de995cea132f8dc9a65f97d28c772b3bf106bccf07d0f308b908c861994451238c7881a8de179dfc2d561e3391df8ca5784c2e1460ddb2fcb881fc5124a7629352cd38791fca8ed1e89ec17a5e0846b0a102fe59f22f503e51fb2729bcc962807cb221345d5d13b6225504db718affa3911fa8fc22b7596120ce1c49487ad00535f36f1364d27ae771272303cc86be7eca329c393d19fdaee3cad325729759078f851251b359a6f1483cfdaf4c912380b8e45cde3992359154b28c3a10660c82b7dd107199e557f1581ce6089e4923bec689e39c1266356e1c428f9c89129d758d40b1c1d0dbe1d7f197c0f35b7a10ca82d0a53c454d363a0562488071cd75671bf0978575ba55a8aa70abee4e93690ef616ed6ec7965438b8733f8bf5050b84ffa60fd3014972504d66a10f8448df60b5938b9c1df48ad2e47e68096446a80d1eef5611556db681c589d17e494b5510e6d45ac4f41a7b9b22d198218602b48e5f030249140beae44f99c2eeb0eb2a92d7a5f22f3b7d502a9a116f74718923f2f82259e708b1fbd33e783b2ada4d39d3b96ce6f10b236a8502be066943577d1bc582c3ebfc2096057e5efd4a41b5fcfcf700e4b1bc79d4e8063b36f17fae7ffb9c0cc573d5338cf36eaec527188ed0a1dcd4ac315349f750df45dd57fa9ad0350f9699f8210e1ceb6fa0b2d9e046798430f0ab9c095f4839a5a0b47846e47c71eddee392bf38f3012a6ef25d815f0beb81c5b75dcac7685bc3eb211f8d8a0d1f785f1a6037491b1c73c610097c13c3839a5d3c0e7787dbbf5868f63b9553565a8dced84dd56b6afa351290f81526311a92cc5dc6bbd59dc20a6b9de835badccce1f220f3ae4c6f16600d26e58f34d60912299bf95e1b7cea3231c45eb91324a4d601e82fdfbe35eaabefc1612ff1a2f03d9c2e1b995affd05256a47fdf178152132b2e5e4c82281efb71af87c62fca68669d5d0bd60231842ad360135faa3953e68a4815db443f2d6d788780b7770a8622beb0b163d06a810b9c735e732df4c8c6a8ccb36113cfeef9d1b182beb224880398aa0f39141cbc54b20d60926be5a54982b0b113fdf8a1d0e5c40767751793958e6814d4fbd6db9790e32358e753b05ecd39d20f0b7d7cfcab975e408df9a28b7f7db0c37b55aa6c6791de26b2c936773007c2ab564ca045e50d4aa151eebb90f7592c3a0a67ad9511f51c07ce09e0cee689b30acb5b1bf0ba054b80fae5e53849d8d42283461083770040ed9ded977c35c37012cdef3b746d988840abf3cd3f6386d8486fe66edb8d98a73188cf700cb404db57243dd3352bcc475b1250696c919ab8cdffbcba22554b29532a9173d0fbf543e2e4e162580d63c2cf5986913030ca55fdcee698a446d31bd29aa76ac7468388e4a5592f8b38b27a3069dab23c2469fd65feabe6a5ac9c1403af48b2cc9bd263d4152c860855ca6782ee8b3151fea939f41bd229137d82a86d1aaf21e642a2374beaa2334bbc8902593f62ea190c6d20efbf79a5dba02d96e0f0d2c125f8465e379757c83d7dc4e650dea47d45b7da7482d5fbe57a1724c16c668cbf6b7088d73905a674033a8ca36bb5d0a4673621c6bf630f66980e4d081ab8dcbfd9c6effcca788a9fde95571128b5ad59e060ec43a72db94e7ebe90b0a3f7e3397b7110025a282bd6d4ad8ad4806726b41e929dc14db021784f020d990c85e20a334e88d7a7c33f03242c1ecec308b2404b4c845fe2c896d343a5055591e67a71072228bb7becb86e4f4c2f37851fb59d1dbe06a2b737f3e1206bcb8d5beb6349d4921089236b3aab20bda99beeb06ffef43af636fe1319228f337c2de42c4b6da3fdc7ac603415a821bb4f10378f5dd554c7364cfdee809665448752ef1abd448416a9243527902375e5cb6e641f01a7bc4b0e6fc5b4dfc3fd1f7ba47e3be76bbe59e515cc3472d7d67cbb7b0d6b5131d76c60f21f7113667fb40eb8eb091a28740fc27c0da8a88f7b7fccfa8c3fe0d88329744cb9a396b030db00fdcd8071e9e551ce2fd7bf37950235fc58532e6804500aba557063c7b272ac50195bace9987fb075e625d6ed3bc42480059b41fe7da4a4a89a5365e6246e8b7be09de1761b62b322f76b900f7405d8d1296e205d9696da211b9a5deb474580384b5f0f439d8b9474091c8af909443f2d29f43cfd22e05866e1b4fae21e93c3e410e15816b3e2485cddd2941da3c8915a2fd4dbb0b433e05c733f2e2ce1dbd8657206a6885a720da9649c940b79188d15fe3543eccfc718c0968adf58b7b6e70acbe3385d95db2dbfe97c2d8a7fe9157eea13ef61f27dcabbb758516a908c8807b9d1a02aad61ee8ac6b7e0913ac4ae836d860050da0b3176fcdb7367d6dbcaa60cc6260d5ad99a56bce92f962ce6b97a58cad5398bfeb4eccd5678ebc3085cc82d9ed878af18e3bdb5bd5ea0baeff929cb9eab1cca384d3ca1bb77aacd1df921e19f785b054f05fdd818f631224e76394a60f2edc445df30bbf4db74c3661a051f7608640fa49820341a3323cd8b9f315b704096261600ab911cd38189374560f22acfa1663e8a586a67e9b243d62759a9ee7d22843db06e022f781b7f6ff745842b481c1ee88b4337cbfe8ea1448e6fe7d7c85e0fb9c98474a8db08687889421729f3825058342ce8acc62cb469d64b69764c98151af2941cd117b7d5a95fa89557d78bed877e658e8f8c106a5912d9de56ef7c6ccce7a42ff3bbebf92669b5fb662c0b73f1a606300a49a191386a2f87d04cf44ccea6f24671366fcb286786d35e45474896956e78c012a1ea1db39ff6c7c69bcd7a15b9bddcc046b2b5028519caae0a370a7b55e404b56094dc70646f8485e6b8c98b2980657f39ffd276987022a6aa3c446d364a192d6cdf76b09e97ff2df7a660f89a90347b1c13cb03b8f28ea806d7dfe2894b869d7c6ff5ba32555b57ef6d8f44723bc4b2618384e42df5f85ff8f24171447f0fc5b31a0dc7ee6b0ac2646ec132950dea44cb175c33c09c75b2026a5eb87ee755bacb12832bd447a94c4fb8df5701bbda042418dd937313f8af34be2939c9ac18d77948d58e69f39ec229c795aa4045339d5bbaf9eb20881e915da2316f0b7a4ae74973a2e72be165aa766432a4984b08be7acb44c0b10e84b615bcf2aa9636aa9e093129ea2db44ac100d731d329c478cd575005868b4c5570ea93701eb4669e5a0ec7bb6490ec6a5c4b79ba3c3ba4688f420da0c12dd7d53fa333dbc7a3d8008faf5060c2b6ec75fe550551707a825977c46f01449ec538a5d69b525b3cc3e8c92045d96e35eec5d5c3b4d83291397e3e71b21664ea38a35a8260e3ca7202d5cde714a0d4b55dcbc7ec2c04068da67a1ad8d3a869759f7ae426d05ae40463ad66da2f344348604041c1741bb37c045129650c8f60855120691a0e0b93a2f17d3f1a51369d6a1913d7edc57282842e20fc1fbdf565262ee1c091a19e09b1c17b021f99d84896ff7dd852ec62ea1def24c20ba08af25e8632536379557a7fec638946ad9c93e5a2b7ba159fec103958e419a84acf8fd1cdfb623fe8911f292ee78eefab3603bb1106975dfd417bebeb4fffcd642c121312c69b65b6ccf6f9512c61a9d01d7d622eb2e05adb98bd507ccfe6ab20191a465dd4cb2af6badf35175b07391ab537af180e2a2229115bd311c64cf088e9e2ac8fb60f044848a61921e6ac9ab9cee4ff40cb22217b770019b0d66b2b1ee0629fbe440c44386911ac1b50098f57cf20f09c4f2fa175a1291f805c175ffa17a0d5a195a6d45b204d435ffd8702ec8a29fbbdbfa1f858b460469030d0d11e938d2bb1607c1929f5c42acbc02105ccca043951784455dd41abce5866ea9a0395f379f865fed1a3030aa5dd9b407531d8f259d400dfa33f64136457d6eeed3b68e46c464d69d1de5cf32c870f9f4c502691f69a6133d60f5842b2b20a855709189fc0c6f03d76909f38b5aa09d16a3fc6ca64666307e6da65e3609a79c833117909d528c8d32c72a81759ea7dc084bd192b8d3c56f9f0b7d4bace637e22f702b04de25fbb4be037460a4b56980a3da607a3cf20f8befe81a685c67e856e1347f80243ef8c8ddb4ecc90e2f6a0e872e6f66d74e5a65ff3086814c578ac62f8cb9c747c1ec7ce99532c338446bf8e24812da8f0452c93e6f5156caa253e9836baf2122b6da0b7411cfcbf751a95208577774b574364884eb2f5d241fdb61672f0b937d9af9836955aac33f83a92b7e01c781d50af2a06a69465015551fd987cfbc1ddd40014284590e0a98e1a0aab6d9b8a4fb6f8c898a794d5b6eedf3297c4fac958629c284d1a8f044b00d56d4a3d5913e3b805356f241bc3e46932f6162425a815e76d20ec8741a8d2be932303015d0ba2340673c9b52097018d8a53e376e08e8dfb668d32d4a98fa26a88ccf5ba897f45dcbdfecab12104884f2cbb8f12836809e64a82fd9aeb402e4cea8158a62fd3326481edef912181b26203936645894aecf3e03bb3b6c0df6df370c22c9b530a75019ee4d6b9f0f334fa2f304960be13622c251f79db562c225f9e04b3b6fda4b02fc891f3493d83a7915a43ed3bc6a4d327357011f2a2f94b729c6c1652c7c35b9c0fa9624a83d89c35a6a67eabebfd20f693378e7f26a84b67cfd8e3c260d8eda971dcd1c45b2d8190fe7d203954b205849e68c69d3c948992dd66c35c0bd59dd40a4699612a974a8ae09608d8e9523cb86cf818c6d5cd82fb5be0ba95dba5c10a13724ed3e1a4cb4fa058d2f1973e86f21ab257e069bb91a65cbe8e8f66ebe657382100728adc44d578849cab778fb0f7a52241e0b97a05a1aaa812b0c79ff34efab0536f746eefa5f73e4e7599ae23c71d0f8b6f6e24470aa1cd4254dd6ec88651cf030ff9fff08433fcdb2901c4f1e461026ac64f6aa145cdfacfdad2af711f67e35544ba76448ef6159994ee334587e176d467a91282483c871c067d41e8ad59e48af95ba61bfc019136853960640f9a965419c8a43de5d6adb6c6fd475591d253459087a9c20abbffb7492b9c26a948d519a93939eaa49938a4a481e8064658716eed2f95fa990c13eea58667b12000198c0f7d79dade468c3a7ec835ee76244d5900f40d1513c984a926f55282eb17e3a6b964c10908b71e5b48a38c94a4cdd34a7561c12614fc089cf99becfda7ce15372622fbe84a9001fc797238e57eca95f5b89c17b4c6e94ee3cccd7f2243e250ba54c77bb68c4871846a3f11fb58c77820b523e67ca61891fbe297299d2922980f7e3da92cf67fd32a3f573c1ad164fef1d0ab9da4fea06de30f65949607201a3ac5a1dd6418c6b93b9064e31588db5a02973bec6883bd53ec2f806d912c96c566a2d5331adb17282fb3ad7f7deac099f6a673c8bb7db4e1c762a54208133b096950a3ac99b54a45006f68afb71df902d9213799a6e1cff0a498c9772b6d94483a349a4683c07cb3ead399fd399ad1e647117232561a83c85fe6ee8d122f047d2731408eef59c303ee8e48b7bbe39c5336887f6bd23211bc0bad7492f40dba5b34591da6be22dc19a6d6ab0a79f53f9089d45b0818c864e625c6ceabd666693ce1b2fb25b0dce076c5a096455c420ac06339048fb59b343725bf942928efbdf60bdd0971f7c1b086dbda3f2fbcd81710abf6fec44a9c22769c413adaf174fa27c84808ef2622abc9e69ba848a60c0cdeaef6763b8e2e3e5e9fac9f785f99fbeccebcf39dd052a8dbd6b330e8bf9f896c1eed83a1d3d33aed4b55eab173a47a4b4efb0196855ad83953601a8cd382f400b6ce85c42f74f0f7d85ddb5fbf9b1f531ffaf15d7701878b0413c1ed075196cb36ad3cd11baab455f4cc9708077a985b01bb367e32edeaaa3389a6a92969055e387978061472028f0cc844ea60e7f8b82c88979022c50413797d9b0eaf51890a7debadcc5b8e75508fae5ae80b23d1e76740775c73e882d580d81370f577aa899431721a323547c6e888c9414ba6008d5f5a0ca44a368b9134e94a969bcb1959148d6063f5a6c5b244b61f002046152829ceef10a32300fe31cf0671686c9184f143270f72c2134dff9d76f5047e2d37c001dfc1fc16bf3bfd1721f0dd86285d332207a0e75c4e6e47600395ecbe9d975d45f15240fc9dd6eba4113980f94846723fb032f86343ff9eaddab65b1cd1efbf476f1da8786d5a3e2752c430a21d2e48397faef82d0c36b0cd93dacd820961047c78af3701d0c6f28be9bb97d024fdab9babf85676e0072beb75ce33a5364be21053cf56f1086c6da99c73c8af289e04a8145391616cae69d996eb26489533128ea14dfebd65d4e21348484790360a7c82d18236601bc0f17aa54a6a8f7fe05629552e9c1765bac59f506d3879477ca3963f09c81be0974f4f764c3b635f1f5b17d8fef849ea160a596e5ad422162e0b835d457032730c4b4b5ec5b66592928ad6d5de787637415656a0b6f82e3b4c5d91ff0f87a442a9fb833ae345b8cca9ea728d12285693e660d80b176687d0e223e63e24bdd570c8ab0e0a246455f171a728a3b5fda8a29c4a4961663ffff30329cc85e827e0cc68c06979af1c11ded3f9433d1e498d2c0bc437a32e8caf363dca211b001bb5058b22b161af368f60d63d6cebfaf8e6a82fe8d7bce2de02bcad1f6cccd6e7e27993eb0ad320d6a07d2da3606c0b5c9a5d3ca58519df6de69ddaacf3c3b782e75a4a4ceca6bde29305b176692966359e0501e34f7bddf926f1e73460b2e704046d49fa3f4cc1b5c6065afca9f2a8a60f55ae492fb44cd94257a271e003af52a01e256c245163148e5bcb169575210e811a54695f3ce08cc414d68220de55f29119702ea734bf6bdffef49ae3d58dee36b826eed807eb7058e15947f4513e670d7fb029a077ae33103d6b407555c89fb9e3b5ab703cbd50b920b5a799e5db7fa2c6e55cd4e4bd8f5af70a369cb94d2cba5301ae6bbb616b6afaa75a51d2732d702f7c9dc0b987c8494ac76424372b7af6e52ee848928670fcd94de9293fe25a2f31e6cfba0bfe1ece72985a6156d1aeb0ffdfa2f628318c3d9d47129cd704e1d1b22301291cc7d5a2001a4b24a649146e007d04d467175dce44e98c6b36939450b5a13c447138ca54be4ae69bacc716b77435d906b41d744c90ecfc9653f8a444c34964b5182343f6e0a118ac0e7a47f7236da72c5ecc7545dd889d2303b854e1de40b3720136016fc1b3148181066a257abb878059ee761c276f2c87f26937a60ca759a96164c02e0484a6aeda1694ba90ef772881b01bce25459c93d9efadee0aa3eff6df5208b9757a67ff6e82f1f374ff9c209390991591287f994e1208a27f43d900f739e9ff99811a07b64178665121425a337701edaa8352f878651984915ec9aee8080dde6fa96207de2cf576af7bfc1fab5d1ca2c640f475f810fee87a7e1899f53d029545a6f9ba484f068a4df8ea98b1b441c30b460e171dbac9a443934f83fce275e76a9aa18e2b6a0dac37d10539ba2c121a54a63a7d74cae9790ba4271c66b9a9692deb69c34a279f9106d480d7feb9e4e4320706deb03bf25fa9060cfd0b37ffcc87fe8ea9f0a9ca9168c11a0529aa0901b5a8936c1236570ea2431103bf8ee02181d07aa6ec061212e6e75b4794aab19bcb681cf1898a592cf32bf47bff413a3f86d90dcc451b1349b293c92f8f57999b9924d5da3018e3a97f33efaa3e9b0f8eccb2374c5f2ac8d5be1a9a7cfd71eb9771fe12c62334b817d97f73b251371cb3c2fe9166972e97196176457e757aa2c2e06561cf8000de5b24838fb798466bb2b882741da26be2e97f07aae44cce701935bb5fd30295f511dfc194dbe74b192e6691534be96df3ddf39b06136876d48d3bcf3ca46cff507932b5a2be043c1f231f1b0df461d6a102c8ce567bd9e740156dc3f1b4e9591a017aeb51c29f92914899fb32f960208b4cc60f62a3c42bfe61676a05780bbaad61b701698ae1e9a845f5905f6a414f3de6b260be8908f1d54648b9cf985604e5cc73973f3dd06b61176a43593e6912b719828345c1843628690a43e85eb3bad24fcdf041a6651291b5a82ec2db3b44445e7039cd3b96319d4885eca9642ec66aac70a00fa754556c6a3a4838c920618187e7f6aff95aacb8d9ae6842ce0fa8eadb456443d75152a92ba66b69280afe4eefb7d72ab6934f4a0b3cd5a627973a145ea9099b73b4281ec95b809d586047bf55293868a936f83b41a03d48f717c50dec1430bde0375243067713bdb5b772487898ffa89a480a59b7fd6a11724ffddc685aac70d8a62710f5f77786e046aa4742772b2de7078a9d9c7b5ce644f34efab4b3cd4ca27d1583f58c429ad8ea1a25cea4191ac36d2d57a307786be58cc570a412ec37f212e9631d69b89eb8338fbf832c62e3f482276ac674e3529536117cbfdb06f7c49880191f19a5009c8d6e92c63beb2a7885edc97c191c05c0db45e345ae11200e65ae2c8adbdae67efe44fdca9ca56309c7fbd2a0be01c300f3e0073334068c7ae6b186ca98324c9fe0b47cbaa1602609f7a4ce2f3a4a982a6a07dee54e2af15b491458b48b517b8c38955f882583aeba772627d7aeb41ed4a3bad02024464e0fba5e4bd54f421487c1a5c12127e82affa05c0627b8d92c5995c07edcdff64ec2ac148d7e86bcbf0cc0c966674ae9ac08fc2e69da208a890fe28d84a8392c830dacc3491caa646f1dfb49f128ee155c528b451bb4336796851bee01aba0edcc7f2ba0f1bf7dbad6814e5bedf09dfa353149a737b39abd58b3834366af79f07b9dcf588c151353e8758a4b86f298be156623f5989449d13eddbaf0724677bb5d0a13245920a41cc106e1c4865020ea4e64284f39f8b9fbd2a9f3a82c6f3666ef9ed193680f3fd845aef252b2d1da1a6aff6b457cf1bc288a6cffce18967a70f3f959825d9f34f6f00eb290a5bf1e0004a9468d38fc11991c28acd1d809d56c185e4ee0ec5383a8d016f570b241a97374348a19011cb863cd96bd4df915aed538b5e5141055a7f26a5a9206ae7d7c052bf9d59221708c95b7a0f82e743e652d5c9e605cee92c3c31a6e4c97b5cff7e6beadddbf18764aceda800af6f512bc4ee013890b3dc39f148a2e013a3c875ae899557a1cb86725b0d3ec0d6fc1ed9b39995dd2c49a5d8ace87c7659f929a0dbb6abfb9c6495ad3f82e167bcb12a589f1ac309201ff91e6ebda0bbfc56cd475ae85b3997ee610cb37bb8352acd95be7ded72de565ffe22aa2aad116212857701a119ca5b476b425fe3c351080c6403534019519c6cd000f5548d7eb615bb74e798f7575883e09234b6bb9f6f8728bb0f1bdae07d2068cafdb54fe825b31f183c6a4c0863db04836ebf170bbc09cf2b06d3961d8c089015c0ff9b89200349161aee3b98127cd286956fd7326d040ffccba818c73c56af28a6cf9e6f83a4259744d00f4fb2b3a8cab6d068447f531b3acd8d73a5c4a06279654ea050542319c155e7d510dcd53ba763cb3468c3f4f1220170d5d8647b7293166e7c3950950210bb0f85ec3ad48ac3f564a3e34d499c9d168a2cfcf79c049d024c924c4ca1790bd73d86c7e60fa57f8d78587f6c6f4b3a53c8200cb908423474678fb676b8635dee4c142dd11f4716727f0b209562e21f93ac116b746f8a967a8c1d9c5a9c156ef21410c55cb7a84187c3f971de9f7a816b73415ccabda83ab77c9fe1fef62292cf8d86746aa1c5c96f710385fdd924a429208f0a23f0287e0ddb0a606b0614715be7349cecd8aaf27c19ff60de3aee21271934ea28e003ea2f2609a68bada91cfd122c5305ac167e12dd7fa9f5485f4960b2c0765cc8fb92acec46c41cb09c324e43f377c3141ff35d90b0dfec2e7c746d5b53ad94d8af646ea69b33f6130a07fd222e2ad2de81cb5c97267122bf9b5ddaafcf15af45029705c281cdf9752dc8d29c891f2f2a090f29a3860d41fdd1ea33dba9384cf6f4047f749151621b09ddbe8ac1dd109b28f45a2e7d4660cc4e856905ad127e62b9de6dbcac736854029023e89585a517dbc704538e01420593ef6f294f218b608cd9508186f8f9e38ced2c223ee42f76dfb6c26a3d868daee3421c91881697c606d2c419229d53b153291451629fd39b0964123974ebdbf09346f0f3b05d005eac623612cd6d071b03e3ecd2d805d21fa8cf9302537b7fe232bb65f581339b1220e89d438e82478fbeb36ca14c060104a690b509600fa0cf5f0af40b190c77c7c7991e19a279f7ba84c92c8882543dc45f6bfcfc966c431728938c13c44ba6e7706e43b44b0261244c6979de4ac5e123749691b16cfdd69e58354cd866be8d29e8ac533a69ff52198e0e986f3f33e3e81e5a16f6894cc68457612d7c3028c129ebdeab07f1236c939f21ccc82440582d59f586c7928370fb2df5aecbf7250f695e8c1519a5c296bfb9fef135b326dd29c8972a32568c8308e487aa39fd456bd1267313a4c629506b86c4e96f3edb40cf4032e41aa69cd35942745cc3636bf207b1b2fc9e52f34d989da836669d4635ab3912c390c75364424dee366cc7da1439c89551a2086c28ad52af5214677bd251657de600140a68a367abd78076c6e339def0e336e57d5ca8ee497f4f4764394bea9909a6f2f2603f43ec7e9536994c6c7e0d7e82e16baf939bf8f8588536877b6af3e40e8b5965161151ad0c2610898a1d758ef2a99bdd124cf2827016ae9fe02ef5bee59749b79afee8e72084d7c5b43ce97bd8eacf18f2214de86a65c9167b5d74d787d177c5f685cbabc4b4f386075a8dde7a0229160266247fe06dee0202ec1b4f386049b4975d34370aa0306789db9f0e4d65b6814f4d09b846542863b03fa826ab36c9fbb76f9bab16230a9d7c248362a0ce3848e373025fa8a1ee2fe89925d380a81fcb33cd477789bdd4ef274e0a403522a237160db67910bf083b6c5e3dbae0595a5afed4d7187c7cf6a632adc5d010d61b6c3122861c7104893360983d712d16dcf1c490a9a4286ea71f949095d8d4fe70f57d6ea43d59a70646f19a1f8acc9d61fc6d55183b53ba1469c1557ae6ebc7835ba4b906fd1d716323b3de6ecc68131ead4699d84ee92d3a9ed48aa97c642ecb9279bbf7cbea87d1ec774ebbec80cffc9c079ac08b97649c0a3d5255ff33562ee8b72be7fa52e2722f911a16c2b7e5b9df99f8e07a8388903f5bbecd2e35d04be3d30f615f556545c748b526fd59b45486dc9c7a1538906c330bfd5b1321cdf265fd764a40894ba000bde2438c4687265d644163e76a11a086d98d30f3fc7892a802fbda44145d02413af36c1e23de5597413109ff1e6256bf41b5b1b51cb70cb6e12495b3c78be6b39cc2890c2cdc1bf2ead0f3e4246b60ee3af5a5b50cf33dfe88ccf0320ee26d13889d7b96c2faa810a431ae847e018c15f4bd426d1bfa77a32bf51baf6b36f64aed5008e635f6dec5b56dba333a9037ba88b2da56a4c709452176c84861e7b1b68d8cbf3d10dcf21abd598a0f38fafebc51a3f94d8240a2e46c0aeba12f758e170f8712b62bcc8959736f9411527563a25a318cf78caa93b4b03d0a0965ad1f6a27867d7710a55f9a9c8ebcead186cecdc02244dbf108ede3ad6831183286670b5738ab6e187f3bacccde0bef7a9cc690e8c8619c1acfa667fb9d0f5237c33aefe1425932fe5a395cd5c84e5849614cd2c916886f662cce9e773d9882b0fc49e6eb8463072dc2372d7ed0aa12b5399eff5b4920ce5fcb81b4eddacc31b59ad1e9a4025b387f0bdd1edb20918d960602833080e350155d35b931b9fb88361591aa8160f4336ef66b8829419f0925be465ca5e7124232e3c2647a69687ff6c1029ee80f88d7cdb29be57d47132cc65ad13cce170ca9557e3760c5a53cdcdaeb5d4980c30b5ad6f973786139f4a9add079f32b6a5b98cbc25c1ce0bbcdec3d0d112c66ed1803c101fa509ea2b8894786a24c8653f84623a5beb9bbd4a6c280dae842c4540bd3534600d60f00ad0dbdd71cd33c362a06f51709b43b74f9efac937ff24c8cf336c756f333efb206e8e630c1fccf82751ffa25719fe88a9d123d98f3b4e537e47a7c272784a56fb3b573e7ac75b385c3cdae946865d857b57bbf0109559f21e349914cd413725b62b9755ce3f63bbacbb527c85e64a55cc6bb1d888abcfd46ac716ba3df944370941646c6272dbe58624eac4d2e98c15a11498aa5d3334a153597357b32acb382241183569ddba91d189951f84543c48ce96f0dee87ef2333fcc3b85f5897374d6ba891f3a96da6806c13aa2b6afcefadeac909f3fde15bf8303f2990c715b066e66f12deb155fb6b1a571222a14b8a3313650f5e56b25aa8d733a69df18946e93302b562feefa29848cf759d3cdebb1b29df6611d62f8b22fe8aec48cd405a3d0c115195386fb84667db335d341f11387f872685ba7f8eb6d541172abbc3c7f4d427bcbfc0d451dcb7f41459aab3680e7ed20bbb86e80bb2e1aa04149db156c1104026450805011e8af68421d37af61984792b0dc07ad21de45186356f6a70a30e3bb350260a637b61c617c7d415ef11a82dd7ee5fd9c3400dceacd06aee81baea416568186e230fb8243ceda277a0d58866d76609f1137ef0e8d1ab27a17d401aab5fe9bfc698df48583ed8169df60ab21a1f7f97bdf8926ea3f0c96e63984714a39864691bb1faeb9f9dc48f6336181e83c3968385e2003ff976c965acf39a66a5eb3e0879381990f59edb41d11963deb0a319ec949ac7debc84ba072084c05c242a4821e18ed469a4d2067f64ba556a11176970cbcda3f4e6221b236626a267cb6b45f3f80be16bba0d5cf8f1b9387e011e86afbe2c963c73fc56ba8f3bbc98fe74eee8955af563a3c8f0ca94d4aa9475a19043b39651e04310092c9198e6feb59088a888b31f155feb70c6e45bba7ac078f99da1643551b888a05c9e4c26f8ff505a326a6d034141ab7a9c77e0cbee810bc2eb29ccd573f2d2e56abd693a8168bae057edddeecf9c7c610c26492524249603142c106649d9ec751fa95c402104538d0dd3aebdbb1094d9a7ffb07c374d12ef17d6a2e25559c84413653a3bf3755c2eb5eb8008581baa954741b1b31bb27834a9ae9f467c0a5ef388bf9a21473fb980a63816ad49bc5cf7daddad0e9c2ac385559a53a59e808ec26c40c86cd26cd1e7d01599734ede73d0613ac7b916299066f76f8f1a2e41000a755c569a46aef8425a33e7ac94bfdff58106a2b8cd269fb99c0f392a7d43b9c5c44f3f02831b306b6fc6ed1e82572d41636464a0f30332cfb706e4e5db9d56e4675fbfd852af6974097f717a9d3d67f10c1049f12eb0ddd7f081038753737f26c9ccf0df4b274ee57f38500bbf126a171ab8776297be323ae8f58d9a86dafbadb36885a6e905d09ac7cbe52d0c09c6d8f994c347fce731801dc5b19fe4d7bfb2707864165754210ceaad617044b04a799b896fce611c71142179fec24ad1c121079c2fa68c9a4711dd1bcf674d35ab070aaa45288f4aaf501266788c4228a8cbff2b412dcfd5f6330995e14456a32dce842076125705f334aad8d38998b6906d345a8d7416806403129335dca175d27bc3f7b36d78655cade5be27ed4648e8d13f494feadc539923ee5e9ab84252419f03b3e5fe6d9a5215b5ecdda7dda01bec0ee3061a1e217312a9f55fc6265e6e44040132a44396dfecc32a37c6c3d8f527a31ade817d2215ff5a2b2047f30da3fb3d0b617b1ad54c977035fb321838687013363f5140db548bf737ecc0832be78898bfd482be3bdcd899981ff1ea93a67b68c3ff56134191e8bd5ec144db1e371749425e8958b7adf1f7d2d84b8e4282846b468a036db0e36313e9578bab4f09293e8bfab76501c6971a7d93120becc5252d390000b33aafce3ceb1f8fdfea8946a0a2cb0c749ddc6bb5a6319c0638bfa8ca02dd4b2031b62acfc02d6d9b945cae5d87a938539320c78bd88dd720e53c7a59e309b0976a2882f3e6bf8580b5bc640fc683af1cef5455aa8aae5fadc0ee69a2ad19c5029426bd43d7106e4bce3913902dfbae105dac71e1dd14da587569ecde0a74ec21552d17509e72d58f406da915701e87efe72357d70f53ac66cd67361b0484f243e6ae4f2adc1456b3d07208f3fb45ba6dfc1780e0a3db30bbdd10597990fe35ef2c08db00d1603e17c90d53e704a0b282c460d0e791873dc24356feccd0a7c1d4553bf23a8744e6969ae345b1de1eb999140f3dbd3f91429c7d9007e20b5c066b670a6bac58c8ceffa88933feec1e655e726ea07d05e24770daaa1971ccf8cd0e0cfed798b1d82c6c414f1dd2bd94a15f1fa320070682ad8addedc6d490d22980d1389ad1cdc167c660d4a797efa160c5762ae0134318adda73c6493987feddc38189bdf5d95066cec9365a0d4264f46a9382faec95e879cf305d900de6e6ea7cb2ac28640ed8c5e50075bf52bcd64ffd580dc762070abe7dc65a8bacb93bd8d0def5c4bec94ce4fb73543a53b4d1d0626453c716c27c3069bb4b76a1b0ad9904c759043275c71b2adff0f639726e599efcdc8f698bcd487f742ef91c73f8567b04dc2b3f02ca0db3be959e37f468f9bca6ee681e303cc38035cc8cc2e89ad439ef08a59cc7c90874826a7647e279b46f5a025c6aa4742f325ff47ac40463c28d5bca9bc140ffc4c7515a2cfeb5e06d5f8cfe00e63828de0e199c8f8892b267a500de1faaa1ba71a35328c49e23b33ca4a7f64622ad3a88a1492d4b95ff10e0a24ada8ab7d3e11acceed07f61ae555a8b5ec25d91f93ad963d4b0d929980ff7914f7f233a55fe913d9f80a436e1275f52022760ac266f4f13a8c6e20922fa1c2028e0681f72b7c0178bbefa99de1f7a013e2fc174f8e149720d44d5c8cf3105789392b48af157a1d28a92fb7efbb6242950f1a02dee7cc40017946b1c470008aff02b3966e1cd4b6e9ee22754fa28882ca7a49c72d46ae3f0c86cb813471ec80ceabdc024d7856ecd603d1ae4fa79bf3a723c37f5d1e63e86ad1397d7f6f1bfe3e9cb2d56a3918ee6a0c2be323d931124db63a29ea416902e1c8540515f70a89b1dccea7bb2d0cd9e6c3c6c6750c3797783308cd453d7489641b84b028f2ac6e5d85acbf14342ece36e1a92c119cca0259aeeab30b283d21549e2eaac3dd056782debdcce9ec73ddff49127a521ba3b703e0de31bb879f122b082adde3eaa9b5f2a8930e7b4d76df2f76eb86136207e2718812e66e77b5b85330f09d6237dce8ae3114278c3a466476100aecf9e0bd1976f07cb68ec24083b8e11c850f449ec97a0563370210ca1640f59b046d3645fff0b0637e2a17649b0edf4ba9b8773c58533bf993025532172cdeb05437ec9739273956da2a38d960f1589ae963410789d61ef9b1db24dde6cd3f80ab39e681d6e21a594c4d1cd2416746b5a10a6634b93f2e3c4a728f78eaed2365dadee472d29e3846bd01e04a9f4fb5ca238fab873ed1a9d4effa7e8dc196c20034f30172082565533c676382958adac2ee02cb14f9d4635a1e6a7338e57685dfc1274c003913bf12549cce32043921c00655f700868c993313b0fd93ccb9e1ed878d5a8f5da901b24184cffc2b2b596f8cf76aa8af5760abe0a1ce2e0ce432472b08ae42048281a4c57005b7f60d453423496eddee868fc9db605cf38d73e1ea41890114014d296664bf3d657239b2954d185f38a279b49f2422e636be93f977296f0e09201635e2b2537cb5778c91c25938b13a4122f210388f42138ef604456f23a456abf2d8fbed6e381731cf62930e90d07380dd956e95c7a64b00c101a37f8bf22fbecd34d66a567abbb9f7c9ae695bf8aea45546bb189a001066bdd145f5263028ccecb90370585d98f88062af2eb762416963eed06aa1c9b748d44db41b8fee5c86f02d6a6739a70267adf8d4405f6a78707bdf0613079beb9f3f304edc5bde9fe95f8ac9d48312d2ab799002df1a0bb47642b4645c0737297b6306d93b9cd261fb50c5f506775f1e4a5cf828671a51d62180d383f1d5668f9fb88e4c0ad0db98ad7f210f3d38c16444cc4bc228cd3edacab91ff51a23fe66825a20c23e6b882f93657c7695d96bf114b0655a5e1d8e786af2fce8c6f040a815c13a42103d061ab5b4ee39b7496e4e1478ae1d53224ecce6b4c72a99b061d0d8c51e3138447690ed8eb99d6014f863213f37244c9d880fdb488b99d247a8508900ef35f963af743510d515927d8866995a967c01784595e0cc6bb88f5c1679c9f69ae2419f144831b525ae0be94c0bce28ef7b7a947220c202418a4c5d76f92a018079584dc5f3ab35696f93d9feacbcea65b71c0619ef1792275a3bdbfd276a72386431029378f08ea81e4c3f2dff9ccf6c175830d7e494cb9ee7c046f435ab83e5f2c53e3c1c9a1cb27ac00740708c5bbe0139d9021e9dbee1362ad818ff24fa0f3bf017746112724fde1bf9e5b988a12f390e44a47979c8b8ef0a87408da23e03a39e4ba771606202c5cb5d158c6d75ee26006eabff84590eadbda8e50462e7e73ad4819960432ee092c2bb247e9c6750be32d168f1a2d05db4ea1d06df4a29adbb78ce1effae9e282b812a2e429d7b2bef22df8e80db15e965bca4d0b6150faa44b4f709aec9591bdffa8808f578ee63dd1f7911ad5b0451ec2748f659819e34aad905e1c37860b97c22f8b379861630b8c526a75f909ad59fb58f0dbd38c6cba7a26f59d12761c8cfb766956b64efdf10c3720dcd38865b696d4751243131b6c0fe30ecc30f5f36312fd03e6ed129e154a0a9db778b111997e2a09beea12de6d4cc3d4a0ce634250ba8a0637dac063b5c84c0f34b20f8873f196b15526eba3d8987d296a450be8abd3e42a1fddce8516890e1c86dbe183b2b0a8e34182161d7fdb5c02adcfdcefcce6e0a13c28fa9db8d93ccf47123e45bea1f8e43f5b997e993e2225645957ab70dadd003958d4d592a84eb7bd6255a932eb329e4cca643db8f1b21757da957088c5378ca741d2db768314a257cda0fdd66003fdf5d2383ce9dbef07f25c4e7f1c16091b289fe6bed789010a8122a075fbc7c9bd5296cdf1cb9728260337e0757b424479667547c5544e9ceeeef58640407e57598276acea93c61edbfbc9d4f84d4a7a2217a68996e20403e20da12def09586232a570a56a7468cc96fec8e4c8703edd3e0d79386a671158935eea7ea1badc4f99918d40647da485e75dfdc502920a48b90f442d1fce82b5ff99c4e0341675acc92f49d98496be79c2c5af4a4745195ba4e345ceb0093ef4a9ad99068615658c0912911140e9dfee4b72c126951a864d5f1640da33f7cf403d606c2caa9e44cd3840110e750b37b377d8d47151a833e91134bf16b8c15f27074d2f3855d4bab1f815bd27870d4b20ff3d0279dba457793cfbc600a2e32944cf82446371493135de27f398ff4b05238904c6b67a7bd16fac15cebc719769c4b1714e41c40c638a9207beb88af5c045fad748681ab200af92fb954cc6b6adb4aaf88c79954b7a233b5253d80da04c61c5d07bdf31df300e330eb72e3735da72d55f4850d3c7f0b20132886b3a755710ed525b24a5d7ffa41a4d3b2249b264c5302bb8c69c796ba180a81f6c920cfcead952c879c98ae7f2f39c2e9a097146c3c02eed36f1b1b3540e54d17f89ff0f7649b1aa62135660ab1ca6f32cd351124ef492870e4ab7f73d2131ea8a372e94e7e5001d22d8d91bdaefcf01bf8311e4f60a4af7d0b812e27d820324d3d7b531d08052503cb9de958dab77d694e9dd8023e03da1bdd630afcdae70334b30eb364563fffc376602ea0883b1538c56a756d278e6c511af9ae9050a24d17b44a2a50b1e8323aa975e9b7e53d8dc306f50ff352a969984794da0d0e2aaaa1761d4b259b2fbe1f3d1853db734d51be324adb7dc630cd662d08c5d4c54b59c6470ff5b0055335411d8ae2facfcf60d5179e5f5633b7123ceb366a7549d389a7ec54314d9429a7133686a41bac899dcd9cb47191ab8fc37b6845abcea4ed89233320bc6a93d22de7d1b371fe1799ed2606c3bda863ae5f37282b471015b350f1ddad6c0233b388f042347617afcee03b49fc570514aeed7a0a9600d635f1344f7290c1250284cd1750fa22e3f79dc0fbb0ea4b7501489bca8fc4d1f42f043943dea5acbdfa43dd7c6f77c1e734794c9b7a8b7fbf5bc543a904949278575416d8c30727a615af5fc5f99158004c9d97d399985b9c12352ec9a5e75756e079ecc26ae29bbf70322facde71f52ecdfedb0f1f7eb1ec8282c476a1accd57882e8f0f83504ec58de906eeb263abcf9276f4595c4bdefc5e8a4c0d46332f136aad23a5514fa17ee4ca3a550e7ef58611d348c9fd2f390e44a47979c8b8ef0a87408da23e03a39e4ba771606202c5cb5d158c6d75ee26006eabff84590eadbda8e50462e7e73ad4819960432ee092c2bb247e9c6717e88a5e6571781abbb6888b28be692b4e65be6b6d9914e9e5a200b453f739a32bef22df8e80db15e965bca4d0b6150faa44b4f709aec9591bdffa8808f578ee33a9d656a4842238c9ee2e86f843dc1e65ff4102354343b1c85a00c4f346fcec30b8c526a75f909ad59fb58f0dbd38c6cba7a26f59d12761c8cfb766956b64efffe2a30a10559040febec91bb0252eb294dfb993b3dce09d15b822c4d35f850d335bb57594001958cb98101ace0fd8cbcd11e8aaac8c433a7af8a7b6f4e97b043f77af0fd77716149ac36ed8f13ebf874ec0e47fb13e2043a52b323d0e431586c776e9595dba257422a813a8e557cf3ce18be761eab428b5ebe0282575c76dc9d6acdc931b5022a1c63107a51d4fb20c4ec0a70b2f75c38c7e327a428e6ffb02e326f11faa58ff57e52d2f8ebac21595b1315463308fc0f3f3191361560775a233b88625899cdd562c46cd15b53a0c2e9f111566c32738f4ab920ec47d0d112c6dd87182574a6e39a5a9f79656d2e7434f3c5006f897c70a3e024d18daebecb284f4da9b086695bad4fa2ae0b3541e5be2942311e39de2007406a6dea80ed80797fb48c5c0860aa56a98657d76d9b65571bd17c20568d17e779646ab45f3d02bdd30d30eca059d4f342d027d334a3612b2105b9903fb2247d9ad04e61e81d90f11e14238e1c4755fd14e0bf54f72c5724ead073360697fb31f54106e68236e213a980a5cdb968101802a8f6e292419f8ebe07ab8554113b4d51195c8856d73ba0d12d53bc5d5a95a58d49ff995badbceb4cb5cd1db813a52d3ecb540fb4d7cda6bfc232d19d16acb1afcd76f69a98f36dff7965755bf61735dfbccc20a250347e04d1ce75a7caca6716499a2faacfc3b3e878bb39ce8171affa775cda32ee1a98cda40bb847eb822b7db56e7a79a53bd77074968ed98d270f622f8bebf4cc51497621c1c7caf28a2931f12c63b5b5830580359803204c5b9d3845d9293e6c5b1378eea002b9cf1ae15b288f0be4ba7d1350863cc593288378b9c2ac34c722528a66eb171e8ad67161990a0fd7c95fa4c70d50da71a2cb5e1e07231ae1f059df1b35eefcad81f8faa2fccf37253ab7432cb0449d990ac172f3404c48b9f50e349df10c3720dcd38865b696d4751243131b6c0fe30ecc30f5f36312fd03e6ed129e154a0a9db778b111997e2a09beea12de6d4cc3d4a0ce634250ba8a0637dac063b5c84c0f34b20f8873f196b15526eba3d8987d296a450be8abd3e42a1fddce8516890e1c86dbe183b2b0a8e34182161d7fdb5c02adcfdcefcce6e0a13c28fa9db8d93ccf47123e45bea1f8e43f5b997e993e2225645957ab70dadd003958d4d592a84eb7bd6255a932eb329e4cca643db8f1b21757da957088c5378ca741d2db768314a257cda0fdd66003fdf5d2383ce9dbef07f25c4e7f1c16091b289fe6bed789010a8122a075fbc7c9bd5296cdf1cb9728260337e0757b424479667547c5544e9ceeeef58640407e57598276acea93c61edbfbc9d4f84d4a7a2217a68996e20403e20da12def09586232a570a56a7468cc96fec8e4c8703edd3e0d7938689bed9f9783eb6939ef3a4929931a2a5380bd99be918d77bd4065096dbe967acdc415bc94e05e18dbcbe770a8c9bee1ef539f23d2996ea584923941fed8f7452f530ae6d104ff37dde571c0a866b3749e9cc28ab9989fe75eba6b198e0f951c53f7cf403d606c2caa9e44cd3840110e750b37b377d8d47151a833e91134bf16b8c15f27074d2f3855d4bab1f815bd27870d4b20ff3d0279dba457793cfbc600a41dd5e3796fd38d647febde23e20c5b3a93a05cf4b8f68310580b85cf7e877c92e32944cf82446371493135de27f398ff4b05238904c6b67a7bd16fac15cebc719769c4b1714e41c40c638a9207beb88af5c045fad748681ab200af92fb954cc6b6adb4aaf88c79954b7a233b5253d80da04c61c5d07bdf31df300e330eb72e3735da72d55f4850d3c7f0b20132886b3a755710ed525b24a5d7ffa41a4d3b2249b264c5302bb8c69c796ba180a81f6c920cfcead952c879c98ae7f2f39c2e9a097146c3c02eed36f1b1b3540e54d17f89ff0f7649b1aa62135660ab1ca6f32cd351124ef492870e4ab7f73d2131ea8a372e94e7e5001d22d8d91bdaefcf01bf89dd8023e03da1bdd630afcdae70334b30eb364563fffc376602ea0883b1538c5376f421b73e22edd6527019e2e4a9b93d3c52e3d2acb1cd93b87657630c69f376a756d278e6c511af9ae9050a24d17b44a2a50b1e8323aa975e9b7e53d8dc306c2c93d130acfe3c6f57074188efc540117a6b7f3a1f8f25e31a823e809f0aa3d8c7106f6dc09177882159c9165037873d2aad7da7cd796afcc1ba329696b09d7b55cd02d8a51f49d4bd220aedbd05e047f918bb0149e1a8113701723810f060c4adb7dc630cd662d08c5d4c54b59c6470ff5b0055335411d8ae2facfcf60d51781046b52ec015eee2ed7829ff6c4d65c86d7359a156b09573ae0d2f425f969d79e5f5633b7123ceb366a7549d389a7ec54314d9429a7133686a41bac899dcd9cb47191ab8fc37b6845abcea4ed89233320bc6a93d22de7d1b371fe1799ed2606c3bda863ae5f37282b471015b350f1ddad6c0233b388f042347617afcee03b49d977d804f048320633956652431d22fb0edce549c111fd686bb45eae0102da9dfc570514aeed7a0a9600d635f1344f7290c1250284cd1750fa22e3f79dc0fbb0ea4b7501489bca8fc4d1f42f043943dea5acbdfa43dd7c6f77c1e734794c9b7a1874d1549cb28ee8baefeb5b9389840381133e25cc1c96247a6d964d0e767f58985b9c12352ec9a5e75756e079ecc26ae29bbf70322facde71f52ecdfedb0f1f5f23be77bed80b6d34e2e6c9ae29103b19ad6e612d72b0ba3f0840219240dce77039ad03597716f4a37a1eef0642adb5a945004d2e57099b2ef420d9c13291c38ac70e6354e030d3a242e8901e39b119921825fb4e7e7bc741ba4d40dcd21dac622f32635c9799a1299105a6f9c722952fa389531b2c69d7892849756baec31acbe7d57f05616ec45867cc359c2bca47962c47cf755bfe75bb59d2f296055f71edbaca77691a029f70cc697a1559b9638a41c7f589e58afb4e6c02af81c299cd31d5d8c3bfaa1aa7b869dafc7a2fd8a6f8dc8fd32a401cd60e1fbf733750dde7fa6722b4e1d6f24cbd83977aecd3f09d2e756444daca1f5c6e3a4cfa52b2efa82f390e44a47979c8b8ef0a87408da23e03a39e4ba771606202c5cb5d158c6d75ee26006eabff84590eadbda8e50462e7e73ad4819960432ee092c2bb247e9c6717e88a5e6571781abbb6888b28be692b4e65be6b6d9914e9e5a200b453f739a32bef22df8e80db15e965bca4d0b6150faa44b4f709aec9591bdffa8808f578ee33a9d656a4842238c9ee2e86f843dc1e65ff4102354343b1c85a00c4f346fcec30b8c526a75f909ad59fb58f0dbd38c6cba7a26f59d12761c8cfb766956b64efdf10c3720dcd38865b696d4751243131b6c0fe30ecc30f5f36312fd03e6ed129e154a0a9db778b111997e2a09beea12de6d4cc3d4a0ce634250ba8a0637dac063b5c84c0f34b20f8873f196b15526eba3d8987d296a450be8abd3e42a1fddce8516890e1c86dbe183b2b0a8e34182161d7fdb5c02adcfdcefcce6e0a13c28fa9db8d93ccf47123e45bea1f8e43f5b997e993e2225645957ab70dadd003958d4d592a84eb7bd6255a932eb329e4cca643db8f1b21757da957088c5378ca741d2db768314a257cda0fdd66003fdf5d2383ce9dbef07f25c4e7f1c16091b289fe6bed789010a8122a075fbc7c9bd5296cdf1cb9728260337e0757b424479667547c5544e9ceeeef58640407e57598276acea93c61edbfbc9d4f84d4a7a2217a68996e20403e20da12def09586232a570a56a7468cc96fec8e4c8703edd3e0d79386d977f05cb339b9b697346145aef6f5455e51450ba0f4f70e7d7dbb9570fa3cdddc415bc94e05e18dbcbe770a8c9bee1ef539f23d2996ea584923941fed8f7452f530ae6d104ff37dde571c0a866b3749e9cc28ab9989fe75eba6b198e0f951c53f7cf403d606c2caa9e44cd3840110e750b37b377d8d47151a833e91134bf16b8c15f27074d2f3855d4bab1f815bd27870d4b20ff3d0279dba457793cfbc600a2e32944cf82446371493135de27f398ff4b05238904c6b67a7bd16fac15cebc719769c4b1714e41c40c638a9207beb88af5c045fad748681ab200af92fb954cc6b6adb4aaf88c79954b7a233b5253d80da04c61c5d07bdf31df300e330eb72e3735da72d55f4850d3c7f0b20132886b3a755710ed525b24a5d7ffa41a4d3b2249b264c5302bb8c69c796ba180a81f6c920cfcead952c879c98ae7f2f39c2e9a097146c3c02eed36f1b1b3540e54d17f89ff0f7649b1aa62135660ab1ca6f32cd351124ef492870e4ab7f73d2131ea8a372e94e7e5001d22d8d91bdaefcf01bf89dd8023e03da1bdd630afcdae70334b30eb364563fffc376602ea0883b1538c5376f421b73e22edd6527019e2e4a9b93d3c52e3d2acb1cd93b87657630c69f376a756d278e6c511af9ae9050a24d17b44a2a50b1e8323aa975e9b7e53d8dc306c2c93d130acfe3c6f57074188efc540117a6b7f3a1f8f25e31a823e809f0aa3d4adb7dc630cd662d08c5d4c54b59c6470ff5b0055335411d8ae2facfcf60d5179e5f5633b7123ceb366a7549d389a7ec54314d9429a7133686a41bac899dcd9cb47191ab8fc37b6845abcea4ed89233320bc6a93d22de7d1b371fe1799ed2606c3bda863ae5f37282b471015b350f1ddad6c0233b388f042347617afcee03b49fc570514aeed7a0a9600d635f1344f7290c1250284cd1750fa22e3f79dc0fbb0ea4b7501489bca8fc4d1f42f043943dea5acbdfa43dd7c6f77c1e734794c9b7a1874d1549cb28ee8baefeb5b9389840381133e25cc1c96247a6d964d0e767f58985b9c12352ec9a5e75756e079ecc26ae29bbf70322facde71f52ecdfedb0f1f771b8483b223ee1a146af91527dde9cb9db944a1bf3d6483baeb09bcffbefae6765877b5c564558baca946bf7cb0b376c64a9acc16e313dff6d9928e597a14f7dd6ccf848dd5c42a91279e8c73bf4a0af06bd57a6906935cb3064037ec916c2c9e08429c8dfc0c7c8ac4094bbf83d7163841618e5227efb9bba4296e56fa7e33622d3500faca88f4a746d38e1db7522844ff078cef79451206bd175483563388b187ea6feb13217ccce73d566af3172b53c0855b42a232508c6cdd8c62eadc5a85ee7bdc0b4c77372e5379cb359bb4376b06c4d14121696c98b9039cd74c92a39dbb89f113d580d3386f5c4af51eb5ea77b42d05092c19f5cbdc56a31c07fcba55d4fc909c9feadeb3e894c47a20327b6cc5fa504b830401481967cb77168f7dfed7df813822193bf5354b813a5a49bbaefc989862dc7cc5f079364c78df122c2d6c974f979cdeec1b0c4f672ec186ce19422a808353552b973c1c3b99d1f2f521bef9ba374116357d8a0c9292d49bc201edd3a7cf9b2e65d6c8583390a8212bba6bb2ac1c5349837e1cdb055614d7c583c88e16d658818987fbc6efc0d8030a1b62bcd65b79cee0104f307dd394c21ea48d2a518b75788e2dda7dc0dc87923f60b3ffa5f6e9dfa66c2bc576630660879dce371e1d77cc5b3212e7e104e96d897abd024bff3ca567981c1c9fed3155a1327ec7a754655fbeef705d6b36dfb070a36a02087ed97cd7efaf88168446ef5ef98998a64eadeb8ea743752cd921ae30d920ca13244ea9ea174ef990f87cfe73fe30f4106116eff15c46f6dfb3984ec48ade6b8849afc2b3b58be1a4b8b71dc8b2cc335d2465b41c9e6919552926cbdaef864f677400226e03286e789bff86c2cae40e2081e096735e8eddffffb0c134235389b2345f0f897c942663db44963c878795546a25fdb4741596f270913d9846001d862901ac14f258d6ddfb96a24d39f8399d2aaed48adc1c7688308c1af1ccef83101a0fccb1f8ac4626fe69cb027fe00c6d41191a9821d6e33960071fe1cc78261ab6a49ea850024c7bf8d92366b86e283f215b33ca280b8544d34c99884385a9360832aaad8ac780dc3c29b5f679060fa3e950de3baa00f95c349a2517a310210b5a7a8feafebe61edf372d9720e69b85100aa1043541845769560deef9a302ca17b82b9af4b5ad32a4a3f7e46899378f5c1fab8d9632c35193ff4f0a851884d4d41e2621e4bb0b5892b5fdd86dea776e531acf71bd6deb472eb189239e3a4f25eeead32649728a97e788b68b836070f9d1db5c6ee79a772b54a6035d688ad5ea2ce20b387d5181faa59a5cd9a51ed289afe2e5ed29b788b0a9beea9cb6b481f99e250a97530ba20969db4d3b9f6af78f7a139b4fe117d16587d47db9e4a89eaeef818a3f530240abebfd747cd3880a783d542d923e10b4d45b14b96776bacf377d5b2775705ebf6604c2b0fce00a18c2fea148a15defc37468f273ba7ce9478fd51547381f50ce76fff51af8cc5b19744f2bbbdce0533c2f858cb88b9d3415fcfab83a19c78b57d4a0e26378f6ca686396aa017f6f563abb655bca4a2787d8909f245d9c2f8d141cf3d79dd3a7f8727e64ab903981b810612a96067522ff0d5e07b45dc370b334b3579f599cb18a919283f132b5c6f333ff409fd2a629ce1fc43f9bd01d037742840bfb804d6ea46d97f1201f594a1916db4bb4a3aa51f241e9940e19a183a2a0bb930f388307156a781303749c055840a15085cabcf724011835dac2b0e5b49bf17d5a880d7beeb81412b8a07335c43979dacba7591760176b6247f377c9df4923124ad58b33be5bafd2ee1170460ac975443c6e6f598bc4c6efa02fde8bd6564695388b29d2de8a6de8c1f9d4910b4e2d3da5bfb1a1b6341b9ede5efefb496910d0e68a66168ba155eb790da3b37b61b305ac1dd67441ad42f382f04a383d4457b54dc4c779d0169f8fcfa68fa3c007381359f5fd89951b7741b50e2fd42e37e4c70799232950a44d664a522a2567f0278671c46cbe2da7333fbd6dac00746f6f4eeed805e3de3686ceb4202faeea9ff36b32a00bdc21d65a1f57253fc111b4347355e91fc8e954f45261bf8223165c6663dce2973d009e521bd878063aabbbeaacfd2034e304cff981c0438bfd91cf5c6ba0694d14cf6f41ab88045bf9dcc34049e02ba0ef7a6309741535a7ab1d6ffd6172491d6b41ac4957f58ecd99b71e4675cf3a578e4919fbbefd2c716e1d374b801491d26434db09a8f804452855bd5b123c8a9944186bfc4de268a027372667ad13519b438643f1b22e8fa46610d480e981877ec6027c3b0dddf4840d21f873fcd816f28c7b8a5d26c1608e6218c59642786f03ff9d0051c8bc0c442ac7d9d52b1e469b33c66bc470514482bf67bc2e765cd6fbfd068d45328becf9aa0c0f4b4b4bb2654ae03d5b113918c8e11dc8b65e2084036ab6bce7aa384e166485365207461844001df57984d45cdfad28fe4fe06d2cb5503768585b8e35e2d043e6da47a90dbfcd7dd6056b1fc58edf8f9dcba522cfd3ec5d38b1ddbd2e5ac53d5be39fa083f5bcc459bf92b073b627b62dea7d984d786db7c9f047e13c896d04c66477b4c9e64c15998f0996e2c0c92cb3bdfa729dea01b8dbde10b1402399661e41a95ddcdc4904f3b2862a3258e2fedd9c45f7f7c0f5cc1c979a0af7d9f6f610c1da4758afac48ac793ef1379c296e5d6f8051c4f43238a42566259973d77c0943f0fb4e8765b4c0dba3056927bf12c5a2ea62c2ec4a621d8e22ac25d03f233c4594f16288bf30788acc73793257c4ee06bb7c8ab9151901178518568487b0f822d5260a753de7215e1c6d1ebc7aeeca42d7908dd3976b479572fb8313cce6e1395397acc1e05626a7d3d15d6913c73c5b2fa1493b6ac17b77515afbe9e34cefee7815dceb8e166f436d75b88bc0d0b97c165e8f11799732b61c9a8073991d04337c683b3a77257e875bc708dd10e52f68dffb012453b82ef5bb54bc0b6cded30720611211984d19ee02219d6b35e8cb52c6fb638c30e30ec3cc24a4f3d7162666090e8973ff14db1d8b286b34eca690c4e0ce6a87291ee89d621eca0d1658c3bdc787c008e1963abaf0df86a39a341f0d88a3c666ae1fae65b4e144812d36ff14dae109eb8d4a2e8724a754a03ed92eaf967475edd52bfb0bd3c6698ffb68904da055a9426a0bf015adac7c236a9528444c04b8a431718bf3d636c7a8bb3d360cc9cdb0d665fc42091649073e59f664755325c77e26a0f1d6c4481b8d0a3aa9ff67e9c823526e0aab49b132d8a26252de72f3491a10aaf87c9f00f68eef95a829a2394047b89140870452eafdc4f8c1fd12cc890e1689211aaf92360ed7a987c4139b2f07393182718f5a9ecc765299a828af2e6c1a42a80c780b307eef79f371a74d394a34a5110a39039adbf961841e6cce05c49d8112263aef30faa3f83753f6d960c7c327905499accf8578f5396c23e53473d51f50f9121b4f9840a8df1fb38fc8b17f1e23ea68fb22f0ca46e4a3f81696935bae80c8bab93f7c01b0a6a18dbe9d5eee97f162323a5d1e3ae69ee1d176039ccc57b48f01694ed954a45bf7a9fea224f8e1f71928cf96944f0708b27f4b7ba2313b201145ecf108e9299a1b60ec9e89803f9174fe4a626b6eff1e0b0689569b06dc303f284b616574789b97936241b4cb13dbef06851b969d9692502c51343031bf8fcbdda54dda984e12e2c1a4b928c8643672d534f99702a097770740332a2d13f64326391fc7b13965e71416092b9deda3c57d8f473983f233abf72bb7fe85f652339d976c4d91efc784ab632d32e0e8ad9245de77794cf0e231272d1832053d69cbb8212456934c4db3b9bc4d8b550f6a2ee304e6c4ad4d5f888c21d9e4a4fd4d3fb244a5c148a41d5aebad0bb5dd17837b659bc8afcaeff0219c2dded538cc9b50b13fcac53a87cdd967964f5365fb42def53ce34cb0db97e8b70e2777ba897cb2a3cd9e729e3a9c9d44b712e0e7b61f3d9c48d2b39ce96905e9e4db42b54de5c017b299332b39d39ed701a4ca4c24d9a66d8114f839493c1addbe0f7592728d9f27a3067a63900598fab3273dcac0530bb31af46106b9a4519da475cefd093c70f6df4f54be3c2877fb6ed8e4f2430b4b412f37dd34d7a8e7db080c033ab3e81187090a524f097e4ff097c201254722a8e00b6d82d4e359cea4bb6d2dc67647b1e5e56955f8fc7039a5970af257311e35bb77d08a05beafaf8a1ea1caaf17bd0d30f832c0928fc04ec3a9474b2b4033bbdc9ca8db677c5d91ce4d41ed31ffdbf1fb7f4389ccbbba9d1488401f808323efdc449a870feb4528b66fdd558bae3ca714db1c9bc4d226cc5bb3e15481b4a123961f72a35c8d520bcae6f47a8e7b5478b81b1bada9ec73375413fb610af7e4e6b28d479f4e16283e28c09ea1ff5da836ed0e52d6602d601029b792ec03e25faf9678579cef70dd6801a536ec9d895fa3b3fc66b2ab583873d08f10efabe37dc20cf331b362a3778bc48521561312b803eca11ff400206f3c1b1cede850de6cad6193d164486ce80d0952f007b3dcc09580471b344a356fdadfdcb9384050abf1d48d59a7942e4722c91d5971fd00eab875e3302461cfd2796d7aec2a331e339b9b3406289a3d74e50f908c2f5d3a1e9bb767eb6d91ac2da09d095f412f7a791dcba51e7ef6b0bb4c028bb347033c031616bed6a12ca9f8a3490a70dac87fe6d5352630f5fcd5b79e1dcdd546cd12ae3dd03edb8eab65bf888645df108d549a7722685a624976119ef8dbea56917eb7d6ba2bfe3d23d49a3d0b2734555510964b3d01fb09defd8ae4b3d75d7df3f8f9ccfbe02e2779168e806d69623d8ccc1f9a3ab696a41f6a2ca666be3c6a5e3e707dfb5ec1fe896a5713711c12cc97e4d44540496b878086f908f0085e65b450cfe87eace94224fc8cc309c1456cb6a5883b7f496f7d18c301e498b709edd9693ba1ba415def6881569dbbc5c7be11830670ce3fbdc0d55098ebdd66d43161da8dfe4fbb4db233d98f207b22f7bead09aae1b2593b02126115a09a25b6567047094414b97dae92d153942467ca0f0ccd0ba5077b76a1b12844672bf4b2e9d1b002b546d4573fdccb3322001a83ee50df8e4f31f389d68c0f2e4dc8e7acd57453350a9313f752304d9c4c98920fa6dc5df92284516602e1532dcd3b275e7f02d311cbe16a126405e7b1bea3c2e1125289947766ad8692f4794d764be418faa989c04dfa3c620e90029982628d8ece124627d8a33e0ecbf14cc708fa7a922e26d87cc7e93c5da9ea8be44f16b116d84366fa94db03e2026a729c210c4d0d2e3aff3c2249879f308185573de2c97e8fefbd32382b5381019e43ef6189da9f18c9c7868ec4d807349212803a271001bff8ebb61a59d9b8d90e6744f6edd1708d2817c43d11630bf665de75825554d2639d4a61b9b7e44d6a3c632ff14d5a758858d142874def608edab5ae5e0952060d3cc3166d912e0cffe3a4697bf92747e80db71a08300d461fbe3b30cdd8625324aea464e2d7db3b953e1862571bf826eaf94dc14d6a42be65c6ca1c6ebd612f3cee891510bd8434b4bfcbc296088fa4c36e183090502c7eef40172c25caf341e2e4128653a3c9fba38b588ab078dbee4e71c5b0dc0596bcbdae4989deedf66f6b628ed5c342fcc86e4bbe279c30030f0a0d44584fbd869f92e5f84f2633f0983d076d06e84c396140527ff85f5a82cae95e53c16e750c0e466ac3078afd87619f6558268803dde061f3d9c1a953509d64678acff0e94db46afe77c71030cf83880da39b94bd11ce4eed4f4ec54d749ecbbe169d381ae4822fa6dd5a4e3719f51545c215844161647985ce2ed35103274a2d7fb9236cf5d1fd7351ffb2e2067f35fc98c22f02c1e2a53f58a9e3589f29049d3c5c322791c8f6baf625a9b32ae3ba207c5bce87ac8328c7e46c812a8215a79dc1dca04b20ad10fb94703e0e5425d2da03bb4024a65675077075660da3be3556003f9c7c8f11da168d9d98b1f5b0a172298964d4534923728039e0c76f4d098c1793b46d2861dd2c7cd147790258cb1b74798baaa8840ba509558c30a6685e95d978322294d0b33d9f099f62ed1bee81ec8c28a8d653a8820e5ae8b994a5c650c239b12801757e4f1ee1ef98909c7882000291c0b1fc1c26d2b2bc75a431bd79a17265fd5595f0970c06b6f0939c04d9762326d38203db626be2b3dee76a6db751eb7fb3fb771f47c0b3b85384c1d5ba104ecd6917b8d09c5ac895aa8eafad5895bb27e06a468655724c8ef8cbc010a4073619b7d924a07633e1264e387de079206c1c10b7ead7f5120b31de13fe33458cf17c2b749a4e9da4fde463bbd2b2488b384ff84b7a0d705615ee6d9645a35cea0022aa02b5dc945c0f861a1ef6c448fc88ac5df365ae237cf2e22590f7e47c0d116eb079ed330fe596123f70bf0f970428cef1fac589b99999152ab12e321df3a53a47a4ede5c249b78c9b7f0557a99cebc50e35af38484d3872baafc8ae4b0ea4a8c9cb5f706b0dab2cb0901ef0584dd9c4877f325103ba5c00d4d015513e1ef5729d9785c60732afa695ad996c3a82072a46c54fea090c966f6e6e47503f117d8f68d2379c6dfe56ad85bbca0eaeff26b63d9730425c22cfff27d365fde7eb65611731dbff419bce4d3b1915afcbd00dcd3a20afb46db55318df1aad9b1f8b0585bf82664b3632ee5f56f564e38091cfa752af0323e8dffde00397b2e2b7d06311816da949c273d6c88a72809a9ba6cfd02bf978155b8d982725ada7d143670fb7cda31ae3eae5e0f715a6bd65849557847d4c41a4051b8b36d140aecf3893a9378444223487302443b81184c384f8f736bb57d955164f35aa846b70fc2ba86749889559826a0291ce56cc014304860cda847d81258b3c69865c9d1c592fbe242275e9c1f0016bf00c67285e9bee61d8fc7faf1f4dc8f2a9be5742ce763c2dfca0b5b3022b240869618cb18b5969697f058a37a5064753fd7d34a97c467267fcac14c6ffbba0c22a9a033d2df39f0d6f6b1c7bd4186b50cf26bffed8a0f0495b61e387782828d1817a1275cddea7ac0e4441df8f4de7ca304258955c9f28691e89f43ca1279fadf47a5f1eef3c3417a7fb04ea22dcfab06ef59e4f5e43536274d26ed78a00abdc04465cbb909d315da18ea49ab0c97e3135f17370e76ace31e70509e8f3c57f215cef2705935b5a26156312f9284ff2d0ab75687cf0b76f19d689a37abbfe4736e50cf7df6edfa0751c0d06687f0384662aff06ff13885ce892f09d263d74d660f76d90feab6113f5876d04fb568909ed988100ddc7ca14a3489e34efe9b1c5462795e8bf3e7904582406717321c8ba90194a29f3223af8ad86319c783895e16f13b929a2aee5d0871f4652e1ca4623819bacc648a08d5e6a3d2f99ddab564733e9f3177c17f2b4aa066cd951d3ec86da867f297899eaccb68fd3b0c5d5653c713849e76e4f546faec0d33bedd85575fc82c8e8f2f04f3f52997b09330ff87933e3ed822f188beb7b070bcfc71f4a2cd3ad95d6ed26833b690304e33b937fce08dce0f130201386fbaae7504bf91e2a6f95a5a12ddde289d7cc84705c91c288d73a906a8b086ed5b1fb663bb564abf740ce7b750989667a7825a1ec6a16003bff6b042f51ef9255b57d1ba3ab5a0c2eb02018dc9cd41674a8b096294b705b306a520098af9cc55a2e7ebf20a7a9050763fecd08becb27148b00145032a4201bb8c990ad00bc14f5c0e18cacc83de5008a6552c2e3724b3cff79e5199d804459206d5e909e9b5b01e63b254365a7686cf86fb2730f828bc0ea28761827a3733a2a03bb247b4eaa667819c7a0795e600a070f08a2a73c545a758a47cdcc384b7ce3a025d91a22ef3d76ce58c63fb02d511ca3e63b65070259bdbbc32e6956891b900758e7152352058dfc5bac8a61ca1bb8cb32df57fff996047d07e86d8f6f2284004f3a968b8cafc37cf6c03d46ca27f701409965ea0e7a136bc3d0ef951683660e238d5abe3eba23b5dd6152cc225c651ab8aaa5d68753cdc101ecccce0beb3c2ee353be8932d07cc72e304e36108e0e056043df1966a9029230d499ef090973d3c2df7ff471e347f34260625b82bc30b58abbe18cb0e2633f6f63832297671499b2e29faafac51a7e428d3d8715a88510a740e9ece6c5ca70540309304e6e53d145479de2f1e6921ecc838d30e1c1eb7520241150e25b82a68cd6044d01704f8131abf4aa726522e42d393fae869f824800c02cf146300796411315441c89c0b8cee3566f7f3926566b8599157270e2232a46b244ee994682138ccdc4bdc82d40dfdd6883f408014d04a466f30e91f8d60ac124c48636d30adf9559902842dbb081b3ade76ced9ab766154446e44eb5dab0334aedf97ce8a9e30499448ac2f1cc3e1fb261548cc0db34db5ef9fa75fbe7abc1449cfa59ee87061fdd20de3bdcbfa5f14f9a231858332b9ad97f31939f07e1ee4d682da88416d2f40edfaa0e424f1c4ef574c00d38356e111d5c99f28820c2e800457f87b9c619996e13ff335346a75ad5811eba8b5dac1f3e896e0dfe5840e956df6487f26bbf8303dab64ca924319833cee86d5636b5dc92fa361f7715039c17e0c95cfa9eeaf3bd7a76353815a08ca3670082414f6b5ac2d830930cbacd9d4089647102f803531c413743cf959e8e7102bbc465945a054b6470dfadac1c0bec1ea6127aa6a8430eccaa66086ac171f7de36fccbb285dfece2cb13b28e10fb56478fe9a352f5e3080533523d432f2191aab13842c816430d53fd5944db8b5fb06dbfcfafc126c0ee62dd4911303134d0bafb24ebb49a5fe542d9b78b6c530eef2ce16ad18b293a75c8ac9b92a15aac3138323105a3b9aceab9dcafe1cd13de641e9579639dd1569551c51554c169775cb3b9a8ba556ec0ae0ec7c8bc69bc0cc21c1f1a7a28a70a6c79de64c884893dda79c91aafb4f46f2b0a6dc531e035b652d2205f64cdf3a1b26e81f9c17a1d928d64ec02c067fc86edfa7205f2efe3e09cb73ef136991dbba315027601386f05cd2cd82d7746b7101339e9e5476393f89204c0430c03559794ee4e480a5c9069ebfbf7a20b8a89b897d0a0388c498177a8e691885b804fb35335ed09fcd3d6e867ab154df5b52a7471b104d42d931d8fa468faa10a0b2e777ad307c1eaf8830ed282d042095c4f74b343b0dd724096e6fb0de4953314f26b7a2ef0c0d4f515466d52aa5a256b186b64fe7490d1b81c3af7f01110a7018a4d6b65f14b5fc242a90ea2bb4633eb45912736a6c0db343d8aa627465571ed40f72cb9e65145a430d692050c602adfd04dbe88a43c46498a29af46924f3ad29daa5c4caf22f35a2121b5b8bc5befe4680a336cf4b5fdda20fd2ab0d8dd6b74b369514c0faad84818e5f638b6fb81c574a9c02cf4376891c6ae5a19c1a4512de346bb5739322567b617e22f5c8ac008f66f83bd22abdcffc12ea1cae0f4b6eb19f14852b76f6f4fc5a3b77ed1d32a04cefc3970998c8fd1b0cf2ef7f47f8df21eeb525861ba1f52048cb27e3d8b09fc9deefffec13f3072ac9350edbb02e1804edfe87574987cfabc499b336245ea2ddcd0439ec4750ce172e0351edbf4658159394e4576f9b35429fd7abbb941c7f4f17b0a695452bb0104f48a3ee64f422968913945e9cec807a162189baadbfb94debfaf3435f7811a4204c8a3f830f96319e4aa6b8d8792b8b98817b62380c5904ce65cff68593178265d22dc5ea241049a3a6405593c8e1bfd53a188d752b3017660b8294b1a88fed77d0f974356dba0d5e818c3609b31454ab8ffcf361c9d20b634746334df3271e537e8ad5f6bd793c3a64634bcd112c17ae613ee11e6875b3c773a03e8809320e1ff694cc0b86d139787fdf6473926275b29bc9cef1d0208cf165c26d99587d1fc9fbc40443cc89854340ecca847a4802652424ab2f5cb8005421b6cd9a150c2959e5f65dd4a5c4266012d2f3c3f5c45576d82c092a393fdb3845452a603abfd6702df3915ac9a80ff17f00853a691d946733bfc11076419ae2321cbb99612d975f4e1a0b810be5ebde2540326b0a6259947b06f399e10f681869d4190a1836c2f16ed9138531cc7e4de83dd744f0bd44af7c3bbf3f248ded7c0f1c94b98d3995ad8e21a877c86791665be2d5298fded822cfa48235586159e5738a6ecfdf5255d5e6becd071bab740343f98e2ed442841a72208181d69e3d1e32925d1ce864468e39b0981b192f55c50c4e70948aacb471c96f550fd438739dd662e1fb0604ed5a6336bb32b093504879bb5cff5cc557ed7fbe63ce498741adb3aae4c5b85489e5f67d8f04c384152fb0c69964fa4be75304856f24e66bf8a076b23cc7b0d1a2cc5d58ae584163ab75bcaaace303bd8e552007e9c576da50e4473d89cc30c5f9b575dbb9f347a9d9fe6ef6612181ff5859c21de515b7b4ec34855d2bbd37975728641a89cd34c956074db001953e2a8ac9282fd2871668f6fb3d9c0f369d82853d39b1aa7a0fea8e054d2811add75b29ea3adc73b2d199ff1be1cb7aa3e724f8f47f674a998c68a131d7cb839a6f9b3717dcb20b7876eaf4ff32f138a1c708badfce66f7b01700c958f21745a10b64d54c11568c6628e14270eca2a1edb66c903f0207e29e8370d9c95702e82e3c7fd7da252f80161e5816e37e9cd091e38c2d3af45abdfaf31c7eb4225830c3ddd1625cd208d239c3f83781d9e1c5f8ff220989aa564753388ff9c96b7972b987a49ef4e8ffa6e862894c25b902a3136909e105ebffce1c0880d5122f4efe4bcc17cc3adabeb7c2079c301f13d54ebf1aabb2306a5f4d17bd7b579fcdfc687b96090fd634312c0b39a40756c8455ece2770ff31dd56ba53e8d75996b42664049af1ede71777b67d87053f9b2dac40f275ad6b96651319e598109d015631f390920f498f01129248156b2aa70d6e756680cd06a6e58be1f86fd5cbd3e713c78d1e5d61b89d645afa060a011c3736b0f160cce7107eac098177237530ef8986c9b9c6c9f1c969d3052cdba179a7e9feb9ba959a1c67ed592093b524592a10c983e5fdbc5e78ee6c84ee059301dd3ddaa6cb9ea8c45e39d08c1829b52661fb14ba7dfd8abef46e2751ef94f67a307c25dcdf260e83e198f36f36b2863dc6a24357d03e2db2cedf3bacc2cff8d679d12b05f13a8580170a4e7178bb13ba394c9d5917f4a77f023989bbef0ef2a44073be59f1e36f6af9f421817da5f0b78c9508fb02f2dd5928b6576efa083529a349c3145f575d82fcc15b1af26bcab645f9282d18fa4bdf64fa0486a63a47727c5c89f6f58265006b9ae6caa608e5f52b2e71ad0420d26a397a70d53f646195493645c019bb2d8b683a29f0a05fb7edf054ec4b4961bb58dc8ea33cfb66179f2e8c6706bba8800f7342b81a9b2cb736723a27893282dfd93f00a323fd2c4acd40995da491df1c476dd9ffcc5bfe67901d2713ec408a9380534d95816dfed1497b4a9efb13f87ea608e5b5d858878dd4e454763c05aef120abf08fdc11464da6fa16ccacd82e3838fce93169436da058c7db90153890e7cffbab0d6703e9e2fad65c9cb71fcb8da459814f309dd457e6c7e808a010a64699ee630f80d46547926589ba30bfe6be8de556273c5165b2dea812626cb9cc983a795b64783f42de7694c593bce5d2b1c196016265cc6a1f524e0d189df338de65e9186d2f5cf427725e621a02d70eaac7b87964adfc049b02e9a64118f242082c32deb75b6e2ca282ef17376950de25373f115727ead56dd06ed46dd58689686cc3e427ffaea9a7c8e76a763fe09fc305d58ec183f2492b221bb662edea779472bc80ec44b2d8a29ebb5a2bd87ea4e65c5419ce1d6287c606a06aae5c7a9d9cdd63c9e8e4729114be2043473a3bfa7a8badc709c37489ab2f389d9783b8aaee7820526f3ce7b5bdcadb5688d09cb098874774bf6356de2d1e2e2b2ab9a6180b2736693cecb6b6c61e04fee844c0938e9e91a6c47d4d7ecfae8573ea18859b92d1baf3234261ac4b12069aa67f7163a83c1e4d58292fb8dc1efc038a269014d583fd4b9c001e68c188359223406053f9dc7080283c69c76fcaf2075e124ec65c7a4478095eebf4c50cb6d2a0cea023ca322db0dc1f55e99a2bc88951de7833c2157ce828c0a487acc75c3af18a7f60e31811e0f5ef628a3ed9c219dcfbf66e38b6dc9cfeb735d0329cbaac7f0519818fe83debf94d2ce76fd6687fcb7d194ec44e2957b132531c2e9db08249489c0409581a8552c13c5d54ff5207e5da73de0f19f6d87d0205a1848dc9f95cf43d54c0d1f3ae9b1165ee04b4de358376af9e379aaa84163191d03ba2f9a7ba3733a0bd54a99c038d280c6b094cd266cd6c17590ebc394ac684dcf0383514e6c18a474dbb6b0da62d45a0b44dec9f1c72e30272fa341f08c8c7f13ed714229f65551a8971cd07b6693286ab9bcf1c927840b840768f4eb4314e28576aa099c87a6b80ee4466e838d211ba176ab490c4a8fac4873a18b90da569b8c50a59e8c53c591346300d53ba698739af2b17d2cee4d6192cfc7fb9a6d1e621078483f52deb6f57cda64f232d2a267346cb091f90c314b92ee022e34ef60b03a8fa572288e7207270fec33bb32a94e36100a77604f23dcabd53f5a9bff594fd5c97074ddcc95cf755ab18f6bd9e231111e0ee995de107a87cb61e8fdb142e022f498d12e50446fee6f18e1c085960288274420127dfc80d4b83bf5b56c3160ab4a3da6ddbb0e0a9f59b069aa64538e15101e3db2e581810b59537ab57d75bc636b296a71db7804846bddab59376b00325ff3fa55298b56a1e6cf80d436d430b5aec6b9bee978491ad82c73569415b2463bac4700d685f9992b3fcd74f9b9b38cfa93a462ce69aeba02823f629c6a8d38fdbfd9e1c03232e70739da2dd90bb61b44fba6de21661aa88682e0b01c8c33f88b1a5559778aed4770cf84d8b20ef2b1e60eaecf05a94379f3c60a4265c7d3a42658bc98dc9c267905deefd3fb1082422c88509fed99e72939c4cdd6826401686ba1dd0fd01c29755dc1dcab6f22a6f361c8a0b7c5530641a5713c8f1abed9bd4a3b98df245b75fc4ed004c4d4c4384827fad27ae6537463ed62b5c7afa9da4d3f2215de63edfa8fdaa2822b75475e7fce29bc3b1fcf9cd575060ccd4d1e7b722b8e68c66c65d8087cc958b387e03e0cc3330b0a381a65dd46e636c4bc93f355baba8634089f1695834df2a9b3e2d60d68b1033de44f77f0ba0af1a6853c532604a19862a8b6af1ebd7d8286ed494d473a2e1cd880065c24fd63366c7f185b44409f33236fa9c45a2033b9906c66d31ef2f1c992b1cf65871491c005521ace195f0150891ab50d5ed6a188c91adb7765efecc7545e7b34553afc35774528b97823f32d669f76d93aefa1e28ffb2285dedc355aaf711a787e236df5fc99b53e5ffd68560ceec7d0088b5a632c746d022beeaa83d4ddbb3ebf1fc7a3aacf198512636206bd0d22acfef810809d26e4b64d4447d3a4782959270897ecbf83f45e75482e775b77bcc300518421fc19ffa4deeda8e1b6c7ab06e4714ea24141773b8da4fd4da9bbb560b9269e856084419cb71ad43f89247d1496ea507a7b11fbe9c541b183800791273458dcc7d0904427a80b49bff72e96518c9610b8b0ad1b9b698f89d5ae62ccb335793b59f0538df7e2ead8ffe6203326656f8b51a8e9af7baee8ca6aa02b6bc7fc67aa611f4bcc3dcebee659a825640924ca700793035095d7ca7b410a8a118e0855f41b083260cd5688670a06ba8ea30c5d4ac4a16d2812665e5fef4d28e940aa6546353f4cd403998ffb7f5dd08e65d8582529f302fa027ab341490cdcb1c7dd58b7067c471a64b24a8f48ac256f0fb0d0884d8a40bd72ff4ebe0a28163ff6e02da71862475c958b1fe7c94114abafbc709a3531daedd84ff3d70281cb031aca7a20ea79950f1d1614d81d970e1cc3b959c36b4c924b81d8393c267b60ea85cc132e76342aabfc33023eb8f57feb2d3c6cf739e56a5f77feccc543295add3563c78da7d96491afed2ad890e6a0764a4b602d96153484cd11856b01018030871a4d6690546ad67ea0dac05a37baecf153bb56710c0b4c811ca5ea5b15f39e308090803fb8aab6daa93acd91c7033a098bd838f5ff6276cf7bf46f1956b7f09296182819ddf4cc793cf8719de7edb9e3e7d8c547bf849e2039eaaa87bc138952ca9c4c8a238eb8d7a1ca1423cff1f0baf6ccf2cb2e438d251d39f4a9d13742da09ac11f32c70abbcbc5b39f6cb89e990c44823e6102df1a6d72f9ae454b295dcb1aec185ea19bc34396dd312b18ab885ff5717a98033c963d654beb544ac286c17661a5b4fa6fa7c24166ff28fb3f754f6c55ab7be32fdd4c76892e0c4510b21506d4e2ebbfe49ab0387de42a2f31a8b0e6ca18f05eed604487fceef3dd38e3a27ca72b8afd2b4d7ac2dc86bf5d52ab832122faabbb1fb328fcf606f88336dd03aaf1aa55b33bc812ef9a6e57fffc5d14c2b18364815c45062e9e6e6a368ec2d85789ca196e51978573cdb326c2d56da2ad88115e9a941d2b0883af88be0df5856753fce887b614741a734bfffbddf3907b37bdceba490c904dd90e0b632a80565d4aa76378c3656fd32ae306398680289a973d973fb7978712fa782deb2bbfc3e3b28dfb850fd12e155d0ed58b0d5c81555fc2b505a144df75a2fa8b0117133122ccf24183c89c68317fbb9cdca957e7f96ba870e1580f6dbde3e786c9312be286b8233b4e7d9e854f273cb64121694b44e777fc26395a87a463c272dabc121ffb9811be5fb4c9fab2d66a1e48d53bcf997989da653c2f9678ed7632c5691bea716fee9ef178ebc3055830b64677dc503bf5b5ff3b15dc02c1137f5149b3d7d90c1e561e5c23c169debff015ef63808dbc9c30900674dc35a346712ee0913cc2a81e8bd1bffe5e38dd34986083f955d548b26773fa1088c143b4118cc41e615071a78f95fcf74b6280664cb3b5eeb67cf6ce1ff10195159d1fc21d137d9f78caafcd8a1184ea72c5d075fc73bd27b7afe38d51b871da547a9dc953b8390375ad8bf87a9d5066b33c3b167915b2158b71d32cfb7786d5b413fab8395db2ba93f1908fee0ccd9c0535f2040a44b8a59f6780455b9a3367f942d96a56d8d55fe603902fa08d168d551938ac83008276b69a9cbab8311a1f0f541d5593ac75e8659065ac052b6bd41b072dc4153aff48f98ad063f2ec0033f745b86291d2bc849e65a127f5a8bd54b005b46f981942653ba0372ee45e431d5fc24228c0c1cf4ee8458d94d541987e65198874c6b1469a74889ae07419bd21d971e782e0dd7ceeed294ef538ea6932d58f9fa847382400bc1130c647b5d4887ddc4c5430ac4d3a4885f4fd2925fd7564c643fffa7aea1be1b897ac4114ead586869fb789c87b4c1ec3ae2f85ce96fbc7ee1f56f24a1ca339bde830d4589104e83360f0a19074001680a30dfae1e3738064a41ec301c9849a4835f48d1b2fa4c2b5e22a174d1de0b4ac5bbd283726f053ba03175fb06d8a73f1a35f3d36183011d0dd8afc2b9cf2806052a00922f87e7a01e2cd65bc28c0d04ea7fe8488b50169bbc29f7ef880e3dd9c5b281cfdc99bfe97f705975cbdb83c01faff9868d96597141559ecd349ea39dff8c90d7a1fef9509e9ee110ec158041d4a4d0e2146c598c7d1f67372825021ee1ca3827459458e39b378cae2a04648eaa776a64029a4851de68dbf6b90f7d503d1dd4fec3568ca2dc6bfe1735f8b69505326399830ff5dc3b609807e91c66c758afa52298d06daef38b449020ebf725c41d2d788401c131da029839b63cb218b6c71a1729bd12a024233aebc7bb8c0c949fd922db98419d7df989afb6e76c5fb42ae7ff22462dd67e0bc31fa37ae1bddc44e3468b4d76194b90d28ed676c5a4743a3eb0c4feef5e3e3f75ea208607ac7db07d89459144ce4f7d6c58c3f0176f3d48cecb1e5b98cc129c2fa1486b3bcfc46f0b7f3a7ae8f7f54eae27d32d8addea7d1b489dfe69f9c68a86ed6e68906be59a0a3d7e6bad8b2866e2d48703618350f01ead1ace64eaff415799e20f19c39fb01e5f288d3e5e3c920af2ba612fafb54a918747f81a64de5c8443ca30d07241be1a3a63f23be40f652ae8a17bbd8503f9340fc59b051bb727f5b8b6c316789f0904d12031acbbb23b1b74e99139e2241aa9f6e08eb6b0f4179cc1bc658b8e125729e85b315db794e1ab7b5e943b0355d472f8e4ee6ec8d077332b01a3a8f799c39a2025bb810790d78e40ae01f353d429ad03b5d24f05b398c9c8d8d3a5789ce4c3647e5d5273fe4fafa3b6d9bb69b41e02134e64407e885014663e81d8695792af09f729cbf22f9d9b9ac09f70a76328729835e915c40c6df1a1da783a3da2a6bbf1745962a970f88455b70d40858d436e38cb8c6dbb159d3bb061c82a20abecc621e208297ada8b80fdff4848cb49a43fe44d2c73625abd737cdca28fe48fbc64b34eb9dde3531e746e2c634ff0da706032cd43c2e578c347dc2ae250fa630c59d9808c9a2d45a1ee050fe99e50902c73c84d538b9555481241b0cf160172749e261565a9a7d12b0711aaa8b1d496a2ce6528db63fbecb7f9ec4321946f8e2c3df196db98adfd154d01d7003bd5a453a62eba6495ee018ece8985a7a4d90fcc8bc39048844d1c739ee1500a61fee5a876d015dbe47f202616f9b64748a9d7d0b87bb27c4d663019f2299169595f624c1d5a995356a96124a59d10c92c1155add0b51e82578291efe5a1d39b0582a02d8e4ed865968a8f141fb7cf9aa75d3006c6223f4e7c0f07dd2a2ec97ae3065b6ca31b41e6928c0422cfd8da508e40b1a0fd1770b2620e53913d67e5dfba94a64d094308e1aa1774a23c73a227cb29673ac4c9a04f77187c0c1e1dc50bce8b8e2e1425af8383656e55498b6da3cca798a63576dde6e876b0633d2f07f718366fca5b013175482f385c5b90bb313cb9b9d1ec3a589aec9215aa4bd9e5f540659b7ddbd2ca20abed4a3cdd0410891786e54e682788a1d2ee2d490de4960c994b562dd8f81ea62371926d7374d1a1c56a25d4f7b2201ff1db58ad242fb90fb33db08c36371387a29554a183580e8052e0ca6b964bb34b36fe2691d240e6998ed6229b7ff2a19a38adcf7cf081f7b5ea40974f6916e6d5ca495ce56bc04522c3816b58ae985b35e6b29f0122b0add39cc2d306006bf2fd4710096fe38d8a3ec82ee206211765e9ebbe8c0486e228a3e2d3dd7d160e88a92fd75d4a4c64d49d4d5ed008eb80debbf5e457546017ce15937d7cc10a83637dd8ee21354ae74ce6b7b954e4ff674d5dee8a66f0c6294661912d9645f1a034c455efc87a375a8350695bea6c90ebb89ca6e57c2ad1c865331227f64ce9f8fa3a9119c7ea19c96d545846433ea5929b287220f5f14231ed809fa07036568e9a5a238a028e18b27e59983d57e2219191011c4a123f287082093d7629933cbc00bef969c934ab1b2639f002ef1d1d23be6409e5d352941bec154d1f0adfe80cb6b6eb15b1831e84a6455994506597b9563fad2b4e9fbec1163fe90fb986a81ea968354536129e218ecd0bb2dc6c4130d238ec4ef63c01660649c29a8cf36ab37c283fd9fded15480225d25eedf726851ea95f8c5de55669b0c9f1a7e7982d8548efcf16d3bf7341bfb9b1268d432bc250b9c0db0aaf78ff3fd41c057154fed25ff0b1facfa3e933c342c458fe160d4e1da23421cf4e35ec42f9940c674b2eb62dcd4d9f1ba8d490ff1ab6b155ac371c995355f8b3f1513d7dd0710ebbb01167a5576571db701a519bb40e35ac0c8076079c3581c4c656e9bae68f70e6d134e88bd1beae37213f156871d607f0cab0852c264c896e5cfefc20b81cb11325a0908f034ee38cd685a60c0769c8f573002b41870ab5d948e61a99c4adb08712aba24814f4297907e706e2087b791e6acf597eab31446a6bb8a3bd0fa6d2c6265f08d77470c6fb40cd5d0c8c5787a28cc9979e9c89e854973abbcb45825ad02b1c2b8f8252c5f123d56f201bad85fae48ee2288255fd8bae407cbf9e11fb1fc430aa1f1a24b8f914aa59a1e53dc290dc6c4453ec59a9466c4acab3fc3288f04bb07ef70f1dfa6dcf7443fc079f0fa801e45dbaa01b077b4efb8e43bae8d607de2dda5ae8ec93e124324c2f67989fe409998d5c793115fb4591f9ac17ab5f379ee9b3ab24bb631aee15c6178823711175ac995d9c147d69d0579e6afb8596a9ae210055aee4377aea691c7fb27878f1a37dc87851be82387bc7a6744b1c3fd8c9da7bf4631b86b9799d79c9f3b32ef4463bf43e2512917dc431386c89453583bd83d35b976b644f4779b8f8c2aeaeacbbeb729babe8ea3b3aa99bcc8bd6e00f85c171504e4abf43b8724985138c952a6eeffaf4ed8d3152d389c7b3e2f484268df99bfe8781bb965413431b266988c7ada382506c4a80be492e67410e0c0a93642ed6762b70a0eedb8cd8acf56d86a927137aadca5e8b1819a799392abc6a5e4ce2868e2b61ff4aff5317aef05dc4c3037248f6b36cae87773eaf84698577b016d86c54cee905d15362368edebd33fb37beb50da491fd5f3f5791bd31fe608ab114cc2b347d20d51367b5056c99d5184e4a18172fb6399fe18e520753b6bdb41ceb81f61ca3d5e79f2b4ee31f604f35f0974768a7c084a924839c396d7fdf1bb19bb823d4ea2b817f71f63df4329e9e6ecf449ef568789246d444ba1ab3c6d9069cefc5ca4ea9208d760e7e4efda71459f76de6a8da75074b1678532e1155cfbaef3a1b6d05eb9ceec5f5ce3cf71c0e575a3fc432f90f5ef053e9f90f1b244829fd73294fa91dd332b4f2c4ea3ed8b55974a54fa7911726efbcaca9c1ffaff165e360b902c7ccdedca218759eaf92f7468332f0ac5fe6fcb2394f88f521c3ac511ca7c1b3fbaed4b1932647a72ca63c5bc90a2f0ffdb7bad2fb3bbe07ebc13c0d0046a47a156fb24c7fe66bc3928b0b0c1d2d17f28240ba91651b958b155752c486a0c4f26da3ffb236728846c9fdbf1a9e06bfe2cd02fd602012c6765dadef9b15c0725fa5108d0d4c81f665828e19e4f6355b79f95ade67d807c7360a30f20b1feccbcd88a0d52371a775b926dbbd3b6a7fd672a71cbce10b871cbb85d0f6b876c4009da7cf95221ea648b3541a1d04628340e2abb43ed08a5e32c0e4899ab78b71d95916fbdd19a5f7cce094bab12545ff26ce73676c8ef542b3d6a1a9b9a5466723ec395f3469621ab52e0ba5679f8a4f3f663afd5e3f6f68d8a9ca98bdda33a346ac3cbfed9b60c1c2b36daf244fbf9d5bf7100a8a6dc5f4477468825fb799c6a4a995251d0bb9b5f619b486e6c011771e11510350d0f10580db94338c1fd6422141a9fb4fca6c0aca77e4320683a993c7ebd5a47c72c2975fa41ffb7a71c5c0b06ee0b197c66a04db980228910b20c90d511423d5c8b08a8bc930db8d4fb44cfdfd56e7fff4f031c309db23c1e2c787fea32ab9a2b846161bfb6962a034a7437012997b681caf815c4ee45ddcebdc2df21cd43d52e9c70b80a32620cd3c8029bc6fecb4a6990a1901e17cc64fc30f7864aa6aa48ff58fb1142c8dfd7391ee620dd8dc61db172d7af8c463311b01d8940c71da0e70861186bd18765b601b9b2ad21c4dc2c3cfbd1f7bbcd58514041711d580d3db34533f58ca08d2db6058d850ccba67c0f478c8c8141cde09f7fe23d72d5380c0e9a5af00b8af5e54e3c5d34f092323efaab8a6503788bf343f489411d2ed298031bb92d4f422feabd80d4f4659cca88d45de19f5c4688381bc6b866f5b0822d8c118d5f0c573b910d5903de94ddd0b3717fe66255f6199ce6123762869086aee262fd6f82cfdddd811610ae8f2a8a1cea59fa70e695befc48e44799057ea116ad44c8e05684eea89e27bac91c20282fa9dbb1f564ed77c540a29fbeebab1f60ba016267b4bf40f61e3e37f5fffb51f464e712c5a77279ad9660e1dd587cbb94557c88321c04b1d30a040cf23a610993db48afce0aacef9a9121fd64df7a7571d3988db90861c36d1200750d754db80084c8ea1cba8a5b39a51cf64aaa72b362ffe6a7cc12e498bb9dd7f899a26f7a8f731464a4d5c374d58bdd27d33f45ccdf39be25ad7bec39f50b35fce5cc7ee49862ec1f7ea0bba37426ae14182e06341829beeaca13a67737f5a102cc8f0a1d6471da8ce1a717690552009df0541e3cb7b634cf4bb482dfe06dafbdbdde1a62d7b240fe1e9afd3015ad4c4295af5d6b1853443cacefb7efbebbb7bd1669f8676be4073f88c1c194c428e42e9babe27fb0d11e964707fcc6de739482302014719a3f8020fa7c0f50c1034dacda0720cad2bf2528e42c149077895ad8e90d61ab0f15fbf1d48c7021e145fe545de3f0d7de3acf69e981a679426024989facd1777724e3728563b10f7e1c20faa15ddbe478cca45756ffb0f5eb8218f7140645f37b4efb944e3cd007dc91b6989fbb1e35bb094e3d5def6eff2f2765e172edfa2a2ad410e3b6d55b667ec85f43e2bce1cd5b4f742cffcf713ab94967dc8326f8f6259f6ee19a5328d17bf108654245c8ab909eaf0ba7f7aec01db6e641de14f6265fa519f2682b500e89e7e8c1d5b2f4ec5877d027a9fe14fd155a70a83a6ebba453eaa16292e5b5ae783fdf5fd4ce0da1aaeaeb5d10bb4979c8d6589099e470663073c762cfe883ff51d6628261fa9c2ada791452d8ff13164634fbeb64691fa82debc32aad8d66f3a7fb5a6a0e50d1779549b48f28f922546898a3615a8b3b0f54bc27a4ac0df919bed199e60c5439622c0b86933e27f9d033cf00fe64f8dbae1f84713d071767cfe1674bb6da09d676a354992482dc928594905a82f2c20fcde4b3f296a38d9c9e2fd17965696b0c22a9f6c1b2678265e583d84ac07ea5309ba5a364c6b5242413da687776822720bcc4ee79aa16e2fb22451894d653ddd94239a07e4ea6e3763bb948bf6dbc6d22ee13fed14abd8aaf61cc44ead8e60963af550bb14a8e54e152483fa0db09059a25047d9b63889960a6931e2a372fd37a55491d896cd55b079ffe19aef6972d39e32ac489483b58417c614871efed6b2d078063553ac43e2a72e90f290cc1d6d84258dc8c6a096f1446e5628411d43c0889a8636313e4d8429d981573287f930ec5462b88cca21bc6dbd2618f2182327c21f94177b96e760cadc62b435d1e63f282085f9dbfe48f75aba9c3a18a04714dba1de9246f977a4a2eb8320888e7c14e03a1c16675019b42fcb3b25238f7facda038991b74183fce08b072678dd6b685ab6799e8e9fb37b15ee1fb17c6f1bdae324a5599fda4ba26d11ef0a0fa9e356067e43f386c4883949183bf9f3eb715cb7e361994091deb7541648167874c4e52645119102203b8d7de6b57a5bb95ebc8d6e33b8bff320d1aa616e844656bc2d213292c074f38280dc393e0fdef5deed168023493d6f2fd2084c20fd7dcc51c2d801ef2a789c24b8e3355a68ae7098d40550c962e68baaae3e2f9f9c0f43808073180820bebc1fb18a4aa85abcfc586af4f396873cffbc87d0c3bb61ae8be594633da91739e08eb78f09cd8a5c05805ca351e00a53ea45c70bf455317e9c89c45c74b1fa2b65b26a464fda8c4c2f7be8730c7a0f779e118fd1f52ab2f89f1b36bcaf2a5b57061e7b8ed9ed0bb476a416a462435a549180d970d348260793a635589e204ff1d2e13dc2a688f3c795ccfc4b68987cd3fa8270f841d6a8591f1ba76756e2c6010b1802964f552c1033e49d8c04afd23f0db2e21ff9e8cef593646f855b3b978a62206653657eb8f289090812efdc68f2adb3d4f41ddfd6ba5f1f368b11751b4b5583604ebd6edb3e1f31d1d0e18251c23c02b9c39b56913ac90f3a0dd43eca4d13f8b4f9e7c877d563ea830bc1f445070d3910451b9a694d84124a6c78b1c7d804c97e2bfddbf37694e652cb5a3a20dc715088940aa59a1612aed559a5f5e1da34750924544f68dee3f9b3b21b6f8ddb7df3aea52655e2f3bcbda37a21eed075028e59c1ad5f19de013dae51cf73d0e15ae0a4a49a158cd80295f6250291a11ffa57cc192c3154e88276b3596dd5c1011361cff29e0aebfb919f99a4f44b38b1807892153ca27ad17d1db1ace64b4eef08c6ee4ef6180aa562fdd1ef3d00fc5bbe207292c243c0b253ecde53b2eabd6753e8f439b63057edab97258598991f1dce4325636869690e8fd23535de4999a0c00df3786ac02c3da462471fdde233022566efd251db4f9bd3d95a95ffba47c513ce14e219409d8be731104db5f1632ddcfb384d281cf68065246f2c8afd31956ecbde7fd76cb310ebeb2139a682d4faf6c92b4eeb5a26a7ca2562e58c0145ddbe0dbcf3c02825fa7806e20bb9b418c80d4eae8da0133b996e67193c81e73043713355a39470b45108c8f91e6365bfb3ea0faf66e2b9f8fe8bed80a3daa68b504538e2720bd483b6d8d8291aa649e8f12060dcf7d15db7e175ee4a7180fe8f6fa537d57c24a4c3c7a1a21f91377f57c20a9c31b4bffa5891079a24054ebcf994a821767696ba6175a343c76e6c1d6040bc4a4132de32774569fd2e657643cd0ef9e5261a3d04db8bf08af77c629d408511a2e458600bf678e7e78138748a7d507014f8d903f7bbc2249bb4cbd823cae0022950b1cdc4be19cb4958fde44140a7584e59f57cb7d18b3b87535bc8e804ef046c5af78483cda6559453680df8339d6444fbd2ed5faf9d38a6618170e95f59989cb996c246462f62b2e9b7de17ae2c3e5fa958ab8a7ff250254a68c30b996705bf5886f6a5d6ea587bf33dde5a75afa2eba049fd7f095308351d1ee1a28c7cc10967542c2eef834edd7e2a945e33236161b97b45030adfb71f4cc0b30e908c66762a9909f558f7cd9f817b9233b12aadc84662601563e14414c50906dea72ce7dd1fab19f8e511d8c37e7baf634716bb32b17b4ef9f735e9500e499fb94219da3423a15827d138ffb477794b49d7be6dc29c4373db251b13a72ad07058db587310e1e9c109105c21b2a5f3b2f09f928cf3b5b3c54dc5d78fdc1d05dc73b2130d73b3cda0ddaaa823fb9fe9ad0777433925978fdf98171d68edbe7074807062f1696dd61b5f5858c7b7178e3109fb36bf758ef286b41006647c4ce210961ced049497e24a55832e891e99339695533b13a64f599b4845e5739c50baaabd018a3cd521d70f8270d8d51cc94c94369aed65a6eb48f25b286f3c66c09a4faaec77f153ac6ea2b4ae52a7f0d37be835a9a1e49304372eb7b334cf1e3e13ca2b9ca106fe1e0a66b965f9958325d24132c4601033646fd752f2b7fa5389659d1d92f9f1e38c6b6c25b46e415e6e92b38c2a03221d8147974f87018f2958f0044d9baa79a5983891ca7980961d8600006056b37099a3eeac5e0a5d50fea7edb5f71b4da83f1b1a88f047dfa10ce0b7525d202dd5b92941185680bd5d82dedcbbd44523b3358f0bb94f391ccbcfecd9eaabd6aeef5dfa2d1d156eda377bebf8a98d351adbb901d6dae092b51a1af1efdc54a796fcea9200727bebdb5df44a6c565fb9c550c2492540033b811c822cfa1720e6a4ed0a06de59dfeed46f09131368e9e2cc1c6dc18f9788f27bc515e925d33ba6bd45eaa2267c46a2040a57ceb4d3aec4e5bfe32c53f1a397f9c0c0ecfbff16b2dca134d71a5aae33555337605fe1a02af7a3ac859df52bb0d21e97c64e138639c43140b9e76a751ecbb8ac60d9cc2bb6d0d0c2e38f685538e232a70309e0d8f4612841e48b02d359c9a6a60c42d9624f05acd81d499099e0925bb877dc2e8bb04c7d811778b3730d23bd62c91c83d6de997b2f8c9b092419d68fc63e80955a0b4307cab6cbc37f4d4c3092ce83f6178b326654f891de18cbecdff946b6c30d695918ed05cde60a65418b52c6c8090d87319a496c7830f51130c978bc5a1f62c9ab68b9bb89b1caa93ed1de59d2c096930d8bc3c4cd16b4b52cf9e794f9ecf7c3e915287ccea656646b4156608ea6600cd94373975dedcb3bb5aea5403110d75b649caedc37d3f73b5668e75235f175f6fbe0ce4d3d96d93321fedf05f1f9906f0711794c91e127540babf5fb1624643875af8ff99dbd1552510b3b6df303f5f5a8f9f77dac2763f7308f352dda33a88c5f687b84b153616abe733b3aef2acca7cea96b9888d39dc9388ae9c7e3f74d173c08e5e82d91154f262c452d53824617d80e87e007e181dfce334a08396f69ed9ecbed76d65f0debe27df52d9fc43f4952edd8de49133d44e20a3af81570c050e08b0ffef1e1a9c520b015b0df4e49c25e51e6a3326089a9dd7508eec7bea5b4e2d99fb3189cec494388f97c5ebe8bfde7aa9143fdb2cdecb008c6afc0fbe97daaee2ccebf295593f37d4245438b43bfc1620aac86f92b01ac7f927a154696e397518c9716029e5558d720cc7264ad2b8f520fed697537228305543dac5142ed792e60ced1c6fc8ca1dc1e4908dc049ffba9e38cde1460d469dbfbcfb34d258c20dda5de81f9f23420eeb7e401fefa2990a506dfa09e6761e28417f148fb0bce191cba66b34b4ac767717b612a81c7e8def4a8be269e3fa63c93dd080c054bf75d22a0c0c80641bdcf576a79f050d57a5655049af4cf4d1164fbb42ab1e268e8e56d7caa02827d3e15c27d680bd4d602f36374db43d924e043c0bb18eb17560d7dd6cd60233801fd6e9cee93e0e5bc502591a5967e85521b267de0159af6fbcb1a91597bc6e284bd0615843b89c9abfa7a24d78459c0a28f31db35e0e86e0d908b33046aae04d72410b5c148ea16347e70ef8ba5e9849d4f0d7fa8770bf10158068df108a457c0b41c4b85685e9cb29b5d82f283703dab22cc5e38cadf780fb0840e4535c514ffc788fca9285a4a061fe68658f07e9090d1858e53464b067a2649362cded5df9d1acdf178e2ba44ed3b52182b62d0543e93a6f2d2b3f6b1a7c1aa8693b1f104ab0a94a2d36b6dcb543ffe3ad21e8e63df2407da6b9715c31b5b2c0afff533de81514f242e4e37e42a2ce0b5162e0a67da1557aa909f9e8669018af530fb39800a8d78e788c2654d60c6c8da9d4de648c5b1c8f4da2e66bc110954bf09064ddbef27cc93105aa1b1e89941656172f8d6eaa54bd13079edddbbc67992a78530aa2b4cd91fd13e975b6104c23493b2e578903712ddacbca0106444bec4c03e9ffe3d655003b42896a880ca6d9b58463996593b3ffd167756c3cf724272fb009cbbfbe53e24ba409f56f0d960318240d5440df1ca5d154a6270492e746f2dab6ecae891f2e470d760cbe696b27868c78fae723dcf0885451e256639ba1b2b5200a45df10bbf5ca1534c5a8eb5b1bcaa2c3190c53b029d923f1e8009a0378ef11927e7044defeecf8f5591403835a84b628a1e236a81a12ae32316328e860d3503255b026c2e279799d530f87c7056b54ec2ae95d300f630b9c7af18e053c80cb1ebd0185a863f59a576f406fa1084a701add6e0df7600199c5f0df8d84a2fbd3dba2308feeeaa0b7ba64be6c3ea4e8106696df61d22989f48760767eb5fd837570e951af20b936235ee50a90eb201827d777e62d9e10df606277c7cb34d8d237b73570c6aa56dad0b1611cc6db9726ad65ffdd6ac90a8e13a4d734181478a1e4792b396c0ac6f5816aa8d74c0a28b9f793fcff18554d360650ba3754e41b1dd35d6508f99a4c27fcd0064421eca2d345a5fb018ab6e06732c122d9e5e9886ab03f56adf87e1dcacc82c0a928f3049fbb4c46f47fe9061a7cc5687e87361064882dc78caf41881c9f74c45febbb5a8b669e25df5561882491b82bfb841d08776021f26c617e458e22d65e1007592017a307f8caa8b6eeaad096957d6e394b55c8d65366c6ea6c518ba9127cd2e056eba4d80c4dbd3668ba43d40113de70f773d1e5e254355caa3fde655189ed62b3e0f6095ae21cf823bdf3bd2285219c98d3d799615d486e0cabe5ef13c68cc046b650598fa9f82bf545d06e37a635ea06c3e7081e4cc39de8019112f2db976475eac027efad3b57e449186e56e360a207793bc0fad3a84b79e0ab2c7b179ead44b3355e0db56a26be83abcd63ae076032087b047d37c7a58be70a0da444e7e176c4fe7fa622c94003aa75662e4327498f01c1410e83e902cf8a5e103a3afae25e071bcf83ec3954c3f044d1df85b6ce50b76192dbacdc8e5fdcae207af32c1d78ab9aa00f85a50a282e4635107bddc12ab4e7235fac763619ea1923080b0e16bcbf9a7d8e3057cd92f551679a8e7b2afc7227c30d0c5ddcc07ef20f263b72334cdfac3f8738803f0a425b2232f826204cb487964e990090212e905ae2146f75b25f2fbf1cf01c85519c2a534446f30ce14d013a5c31374bef8d119662fc5c54d9fe664f5113eea591541998954809caf4cd83dd8b3c2d26f5f6df2a727cd8c1c52e01bbc75f659f29a12db5ad7b1472eb8034eee1369057a68f376898e713759ebe4c2666b6ff3cfab401982806ae2a99f6207c53cdb58dee542bacf88613d762779283253adbfdfb6dcab187324e4c61f2fe3a3cc9f14cca6b423949694ef1f4ea6398630ee7bd3db80ec14b3d7ad9a01729fbb2934a17cc60cf8649b2371c23d5d349133a93e02c578ff14d36bf63a0457a9b65832356572cd29a0042370e5da8949d7fcea9c7177a9836386089049eec2662c271d3b6caf840df5e416defdcc8d766c57450e188b60266684ead1a52eb042c62dafc082101d85d051a379da60216f67faf18e07a5c83aa9c7fcaa124e1f21f1099b7c1573a71240f4bebaf3b6b0ae150947576670523ea318186225094314752cd100037aeaf456662879e75027f74cc3786d005436ab5834a731d346f7d356520e58f9e6080109c33837cb2df91791f618346bc5fb05f8aea0924206b32d07047c3c68a64a04859e6bf82f3814a5de257e30c92d6173d28c0dbceddd955f77e2c4eb81b52637acd4527ae4e8c93be14bedd1d6ac72946860d6b047c7eaf45dcb9c3ae347677723083b41a51a633517dad0d27fa065a1b4980b03bf2ab55934eb722818977781e15a95ed91b7ec76044894a5c7b092a71c50e5fe9b40505e8989ef3b7e517d3c2f6e698da455b9966abec0d10ec72e03f2d52195ee744d6e2b8867cec4a59d793af6e326f68e3ffd40e49cdc790c2dc81af74b8fc2b8f66e8f38be26f4db1697436729882d9f8b03c0e75cf033f3b8829997245d627a7b4ee039228b1876b088ac42b1d12973ab34b6b3f0d63bd3cad36faf0b1d60d4c39deab644e2c8caa65a439437cd3ae9f1a1ef5ce699521bc62e90f3237df101e5c5fe937e0983a606b20b8dd934b5c6abe05f524cce7b45da52c8253f5938b19edfa446a78f06cbe4fc744a51ff59b1a507600b45cbf16198aa09c45923057ff9310be89e85364e0f1b1de2ac03e402857ebfb84c18462a352326b68791ab4e4296ae06f97b9b357f6ae1e39d6beb3043ba981c8ef52709fe596454b648c61e6efd7bd8cb15f5af0adac453a48871a35f366aad064c60e102a57caf9da65ca11533aa7ce78ac9d29bccd0a31116699027ce9ec11b7e904d6b07781bc364234eccf0eabb39321135ca992fd112e61c77fbd5af23feafbad2dbdbc8b5f7d7e2eaa5e92f30bfedcf60958ebc56fd7876f4a3610b291610369320f3010d50c686b569c356eb670801bff9d374df3c0c0b86407ce3049215cc517a2b1087498b26b38d7ef159560fcde02112abd6c9301818a4e2672dbec8e00e6109eb4620bf396aa8061cd1f8520064a66f20734faf6dde3b3619e32a8b39976b6332ca37335c9d0f2a2c2bb8617ba9f07c15ced86be06c17140e5be921f6ba322210164892c3504d15cd4d19a3b9814980ebb3f2d8e715f901b9634e2aeafc4192279431de3d25a46d2d4741df10d940b5f91eaf8c0f231b4db3a2ce4224cf8fa90463f12789708c6c5979ebc1c5f2c7a65c4004b03d19c133416defb3ba780788f96658809ab9f006679c6a5821490c89b41f2fe38de92927489a042b013d13f4766f504533d9b62dbce5f2031f171a60f453380f1a384630567f1813bb48a6713b4e3b52fa0059dc194fd51d7235ad99389fa5d0f6b92cad0ec5e8888177d632e8241caca5bd13d3220fcd0a40dfb517052b99ddfe997a653db9ef3547cc269ea55a1d3537bd1d2a7c409a1cde2c468592615a2a668bf787d3993267e4174e80f9ebc0e5985584292a251ee44a1fce7493c2268119ab0d17aaec64fc4dd019475fd22d4499fc74c18bdcbfac72af9abc2febb64e53845ac854b0076f083faceb535f0960a98f2dabc0b6d5b5c5ef7dd26eb9004a6f231416283e46b9e03f7c60440e9a69de39ef649633b8348fa8a98367fe1212141ff41f8b189c6ef839a8e14a49179409a8a12841af98c8eaab6c0b66e2914fbbc0d675eabf7b835c2c396a3ada22d4a5f33745460248b99574a66585aaf14ad5e96e8e0ad1cb38baff8ad1d414ae7b22662cbba1f292d847a9cfa3d0d2935e130b6a3909a498732cbdcd41376877b0c1a3c73d61ad2c78a8d7e1b7b5e8b4ae86f49b52a85af6d60b5408169d8ed6dddf2863f15a8b9311ca925a2e6db5dabdedf3db762b7c2543afd0097060f95beee1c8335dd67df973564adeefdf624268951173fdb4b806c181cf9a002de40e570bcad14fd487c782584c3d2b78699eeb828f1d94200931cad20f6d0c3789b13e61146216c5dd40c44e597008c46e95013f452c7f6e6697f66a3b5778432fa71da624ef6681b9549284018fa2c3620a43662c0e8ac066d1d52cc8d37a4428dd05211b0ce8c0820efb8b06d8bc7dd15426d62ec768545cd9b8d9d0a75b54ca450033af91ef74ba6fba47ce1c2843ad13f9ac53c59654a25c0ad54bce9bc1b516a19289f7d1871b8a500361b1276748b3dbf29fa87378c582867025e925df2ac0dbdbb1d31dfd35f48300458d6ddf27931054724afa8e6212d046ee0f3c640a5f32dad29d723d1151cc2182746126f39d7c293d6376759aab6068664b61d6c8739ee6175887077781e0e1aa138fe442b8f55f81957cebc1f2bda5f1b9a3afb84be0bc2566c5681c339dbc03bcd28bdc0874ba67202d6ce011629c8e4f1f48e6c510fdf0feb34d0d34d0e25eae47d1aa767c322926a3ad015e58e76c80ebe7fb1db2d8bcfc988f56ae240f307532539f99ca49276d93256b0a34766712f244c8ad59fc8a23cd422f9e5aa5390e20c4909cbd2281a36a854437e4f9e67ec3add44d14494ff622fdbe2dd6c9e9e05cf950c9ae9c9d87dbc0f18037232f1865076906d3f666c8d1a82663951e32caec1545ae85296c6ef8ae166764fd01bf279c83d8f6c02e1108cd291c287ded8b3250266febb743f084747a6f2203b5380df0732d08bed96f11bac10ab6266b994ebd3a9551c10ba5d4fdf7aee184097a09c63f4dd62370c7393ac7bd722b85418c15c104c6858eb98bdf2e11996db9a54c36cc8f6e56a9705cb38011a3ff6aac374006cbc1796bb5876564ffe218c7a3559cea8aadb43122cd1b0edd808ec8fe6c70a1d7461aa3527b63cc23c7da996b68af5e6e23161abbf17bd1beea8e124a2da8b25b05fa2b26c54e8070efa443ff9f17691e16367eaefa214c2fee9861599b1dc74d2ec947105da38548e4bde2dffa4031cde08319d4971b6662c4bd2d8393f59ca64d3eddaec5afb8a698760246aeb4dfac9e3bfad3b6e5d78c5cd91f8b66cb6412800a5a7a1816a225d557ba662c94ffae60d08e269c3677402b427b610564be2d8ebf5e01daf8515e75a9e8dcaf19474588b64c1413abc84d2c27c954a434f732216e65a6350dafcc670ad1b13c523367d97ec666870a6e51b973c4bd76b002708127306c99faa4a8ca256c2d9f7a84c47a434eded8f22163a8a91eb9f170dfd61981489d119607c66c8a4f1d5944fc4f4ddb59e90123544e39d2d3402472ee228a4844d61c35589cb14d76bb7482ad08dba4e92e5cccf384fa03cc4def09dc570ff2c08387c30cfbf9b5d9e7c7c9d4eff17d2da0bbd22c53ee86aa51c0a84f34e28104239b35fc024d54f0448e8dc2e2ba3a799edabf3093a3559218585e60b084b41aa237c8c5cc5c26375dd0c5fe1f1fa87c83c07d4772ef3cbf390d0d1e67ac7443c067cce6988e76988a2307c05edbdbd9b48e88800f99e803bb6d4d8ec2ba8eea1b450285562f7a357bb754483d83abe46b527f29d406749471fe999d7e9170f74d24f5e2432f39939b308d5369dd5d633eed577efeece1038fcc7692671695c75ec9e06e3cae405d9453b42f56280a430ae402ab4e52a62a5a112a3d33fd838436c7e93ab2220c6c4467b8e5d78b5550a2dcf4f50789dc54813f7c6163a0c44a04a591cb5f94b8e87c9a01a8244cbac1bc8f5797756a1b765ad8020adcae460b43a8957a9c625cb658d02aa5326bcb385703eb8fb4a65fb17825d82e346786087a55b3f6292175f610277e0384bc10dfd2dd07327c22de0fa1fd342f2584ecdd89da379d1e6b186947e478bbda1af8b601eb84a4c875cdfbcb04b45e56d47c94af964cf133cee105a4824d3a4e2a141a1ab1dff77f3c50d3fe203611c4c1e3341141b99c724210047d999d0967807198d270163bf3bb1328a541620a9e166fbe41f8daf9a0ca0e2137c23ebf5c5bfa18fb3dfd2b902de460562dd091c86d0c59efdc2aa4bbf733dc659c93b4259a7f1ebf974ef17d3cf35da1b8d772b7305e0b7eb273dc6bbe0d30a43fba660715287a812eae62182cc12b60b8422d7f4723993f3a7d5388a40103fdfe5f66726aa77a9a9a8a8920c881713da4e76a8fdc6a4adea4782bf18b8187129534b83139130340ef9dfa8600fd62fd8aed3b1fa7964efc307a9d3307276402ba7472b3df712ae3018411e2fd1c4de7992da9080296230d9cbbcf3000686574bde05f3f360a68d9a3338f6ad496b995ba5c72387dc1e47162948c89b3ddf33c4e92337905d28317dbf5cbbd1f7e78eda610949cd285aa39fad5bffa68b5a426844e708a9b0882116ef7c75f3a6ae7fadc91ab3ea93585e867813d339562b486ba5872f5f862f63924b151f79d51215324998deaeec0c309b23085b13eadc94105d4db0053b182e1e1aa1c43eb60a768ed0c70dffdd4c90752e08984336ff1c0f959fe9aaea8f386b9841de755abb6f6b288e9822e6c1063c4e430692d85a3a8c4ea41b73d628202b1f0a33220bbff1a1b3ed550ba59a554036a059edd4a8c4dd3a9f41a73974f9bacb23c9ac9204e23e549d17d42a814b9a578efa507b382019ef94b115d561f63c5e95c0ddf0ae293c582553890e5a346cc53509526a600be1a0eddddbcba4aa6509b936acf9bc6ddab482fc8ae0fd0691a74b4a3d8b4de3c31390b5cb102d1bb83fb17bc15630b4f08ce127e31bced8c359dc2a6433af92fe20fae15d4e4a5a5d60b3372385d327c887ae58e13f23e0e8b171a58804e41aa44af99ab6e9cfaab614f6d3eb18e3ce5a23be05c3b7632c78ecce4267b55eadde69a847ee2a6368cd60b3b5361b5bef8ae41f1f0c0784ad9e3c70a5f52a646e503a98346d10acb21888d69d8155b46157c96b932b19032c4bca74925c65c1151016b5d280c8a6a4de6f69a2415a1d44cda5de8298549b0f04fb5fd63a11bb232654980aa9864a23b8491c62d779ce218118c53dc24f298cbe4f797a9793f295e1a924b2adfd1e20e15967566e7df52fa8df996d8efe4ccf9843e9a8d228709f3b298e6983a13da9b1608a24221397b71d02bd1ce1993a3c6dbe1c3c12a7c2cc1c60ed8cecfd0de357a265a5aaf456a7b5d8ce941a41d17835ca9f8f3b7245088d0b810daa0011a47c770e8d62b5cb751fef86838b8111cd9fd205176b2f5c473725096c679bab80eeba6197828aea965247b2fe03ed2a481894292782eafc83eb6011b101e0a9cd76b01cee931b0e9efa9cf58c7c8f2c0906527df1e7fc4c970937d5e43d4db6333e8ff3427f10df4453bbaf7814e53d1c957e2f1eb13f730b9efca46f0524149c85e755336ed53f17e40a1b4575de33172d32ca54607216b570e6e2d7ae6542635bc89dc2a9a3ad1369c7002ed975be8bdedafb0b7cffbd4f4ae5fdb489f35aaa49bc18957c7655237c7d7a3637f7042da7a9aeef44cbe1566950defcd256cf9b84995abe7a161eb32c2db9e033d33729e490ba86703afaeb38e3ed14c0de7de2b87403aac8c583448a3630153e2d4579b7f9a05164e60b279f59a9d53887c0d83682a1c641b75f2e5d1962f3c10152f63e12b04882dff8e9c820a22f2588279f23de14efa67ca01a96b97c518b72af5ff19254846983b083f0fd9ce4d5f47c11257d59338faa031b2a4453cab49afad7669bda496308545a4b882123149659488e36b0b45d1bb1bb6ebdceb9c3d9c56089fd9a40e810bb22ee7303f46b2fd642fe8d0ac5ca21d71c56c8e356cd0e028ce0f23ee28cf935d03e58e150536df36c7eea4d0a7191cd500e9a50c5aa98dfb44f4031748e13359f92b140eb59bd0bca3bd23291b41ac11b436f532dfffea03484edb5e6283de22b5b2e4304b51950cc66d1d0ac0de6e4b640f6938998a9e397c291ea1afb0a5f9d809c57c0f741c3ecb8de9d5af18168a568f934278178ca9ce41141e4578cfd0e7b6c39d18a2d978fea26aa3b797caa06e51b791ce18eac55662854ad45b035921c956522f404057c9b09de104541c7b2778eeec01ff41af06763ab90f999d21c74f119d629a4cf5191820c1efeef8b94096438f543c205a69991a2416e011a3c7fea46fdb31e76ddf75141c6a076eba0807c4ded8c4253e3078131d54e9cc198dc630f330eceeead4789f37bbc095fbcffec1d1db7dffdb2006b5dbc71a771d63ad1fb2f3317a3aafcd44302ceff7fd907643093129056e3bac2d6e89abef09a6d6083253f48603b5b6d664c947b4d55abd7054104c864501272ccdfd636ecb6170f2109c59fa523fcced8485d55f392c20e8c3af8b500c86a78a82cd6c0a800c9bd582032dbc23f54ed9ef5916cac3f577836c10d9777b433c4a517a744b2998a40b6c5e37b97abc9fa89096b8f4ad4a031524446827b5ec3812ff9404cdc621b25c19e841906a93e2c81acee7207442449c84c0e212c9c17158c22d9775a3ce2955a8511d2a1c558fbb1d37ffdac74227bbb8c57d523f3164188a78aa78ff038414d91e7b69b8107910915733290c99b6f0c98c271c3993d0fa0cc8d69463468ed6c50e2486fdc2b38e26f4c6ea395f6ae73e10f85fc13882de580087074fe54b43e966139364841f18535f87826b4634fcc3590d67d82648a5784e1cf4286f3ca770647894e281a0e2eb36e044ba787b2d415421a2edc9dd58f461ac7c6cfda997eafa2ae083e731f5f994b0d74c6b8981cd60f76c64f653345452bfe8d924d48206b322bd3d67ea4b50d2a716dfb1c13009807d9f849c4d8e08938eecccd775e3ac03bb71de0512320fd57acc249dd0fb630be66f57bed24cac0a107143f96e4b993f527ce83cbc29948edd5ad526e9aeb264906bec54706707aaf4d23c21f3967c36344aca5f9c9d7e14d32f0b604f4a2a884aaf4d42eb34f9804a45787d2f018e325f81b1614bba8f99cc44373a8ee5d86cf390113477f7c86a15b0bb5c5a82aa2a4c97c4a55fa69ef358f7f977c5ee02e3f9d1f985ef0037e7c9b8d1343b408ed4f3c3c3c1fbac452a171aa1193cd0b1b2164388f4dadca1e1a4a31bdb4f28b0b7b979cc131c24314042f6b9c41c4d23a8b4820a3027a4d030fb59229a17f7839321b1d8933196451ab3cdfdda2e15f05ee997627d88ff2d1968b97443cc0a7b11fc6466857f15d7a1fff1752f6a1e6251ca98ba1f6a0aa957e2db62bd0009d44c081d907c4836f5543da3add06db9cf77068e19637dddb6cd2deeb0b29e656e60c8a4ed8552e76eb6fcd9e3ff5ae8d94c1a52346aa23b976dbf0e79717b203b3090b4699f6a76eb12db20adc0fd498058aff74e4f35a81f28457cb48e59d950a750f04278b2db19327b19294431e97da381df67bb1915e2dbad408f7952f7417bfa763a5608640909d21be41eec196dc9c64d1185916be5a04367db39878531ba01057bbf3dae8cb97603dbfd926a28715358406565c0b4f464c07498eb37cb1744a0e0d61260f6dbcad2d76b4a53eda99be27cf97c083c9981cfc523f23ba01103bbcd11ddfad20260f160a4024325ff7c50d49c5adec242b01f20686b156ae96e2a0c8d3bd04af1fce3c78dd0902fc741066612b66d4361e0987df294503f77c202dd69ea86e5ac2a652887afe6607ac058695116b4ca19df780083482b92a3cf96d63258dd4924ea6043cfbc64967487111f52ee2f9e1370fb4ca5cae49d4bc8e9f939831ae581583d8c2556ce36c2b8f7cc4a04410636d4e4848f89ef4d871fa1387c714737e637a8cbb1ff69a1e669e1b80d255222694afcdc2673c0acff8cc471eaf2f55a6251c4581eeb46959f9fc1a6ec7b14d66390c537121a10a3d48a8ca387109caa38ee5727a67bdfc11401b747d84e5bec8801c2ae38ae7e35685f87aad7f766bded9c1c27547852f19bded1a1842f3d235e8fb771712180f03fc48bb60ec3eba242b230dd4d30ee3cf89ee2e25a7ed34ff84a9b8c9e7e1333fab02cda44a69a549b3a11acf507283a516a075bb20e3f4b986dc39e395bdfc8ee11b3967987fc1c1223dc2deb8faa76d2ff6a57cf43066afd07f3c6ab775daa336d84289006af0d70904ea1a2177b88ac3046d2457de761c1272296852ffe75eecdc9c3b3630ca44493feda91c617ff61f1b761b92352f74ed09d47239ff268d09cc262a191aa1b2582af46e743b735a4384c370fe7d96965dfb2e29e9cc5b26cc76ebb1ae8e270df93a745ee6f8dea2f678d3336eead4ffd90de21a17b53f67c8456de17a40a31fd40a08517c045b4f074e6fabad3377a03cbd761fca6ed822dbf66b2eccb41f931af87e2e332073b0d3438b497a0cf6c77a00fb6e0327399d8d199f810b5745cdc71434f4f2b2d3961f73cc373c638f061fd8fb67d0595b354e18fc9bc9b29e33afb5c199d01a87c555dbc67d9f1f65d2588a62c997a85b01819af45f7fe05e37072574fae7b17440e66ccfbc29d8c1998078e70ed94d878fb9bbfdfec810d2e3f96acdba384571e7814948b5fd0fb83ede98dad24417de61cf8b37d317662e0b09429627fdd714359b5a8276cd394a6475a476665b41a06d984d2c93a2ad0ee22f9eafff514f54e30f84a7701e0c709005e1ac0064e8ea682d50b718920b11a03dd2f9b98a8dd9cc34e20158b7e30f76f8f6bc83e50e711309e9b26e2a6cc2d0b712109192671a9ba51137ced57b7e8921561a9c07a9547cc31e234b47ed3b063725809940d26fd9e1c7cec50d797079f45f69699c153a3ce0276e8ecf55abcd42e19db1bff4dd078a7e8cdac641f0af8e32f93053053eda3be87b9cc9d016b155789af43f2da97b9671821493057725f39a5c320e8886dac4c2df97d811edd6f73f5b5404dde9fe10e9b9ecc24f928b8f5b7329e56b982db9a72f311256bf43b29d83207b202e142e34b4d09e5d015f2a73aaed63130938fff0587dfecf84342495597f0d438b29f96637afb9ae75879a83ff74e739cc81f7f0473d47bd8aab0e8d56808b83bba1550664bce1ed5fe21a39caa34570a53b19abe4ad54107d88cf87a09ec088a74e6d11313f5e3002619d327a99094d0701df9507f4e62f0b6a56d9b835d8ece95b4121a1ca2ee539524fa43b7f7d4cac3ddc2caac5435fcb06a5b490d3a2a0b05cfac37908937e9a0b11b98fbadf5c358f340dd0ec451c288ce9953e777b33a49957fbcdbdfe932ab28c9bb90e1f7dee3ef1b4731dcddea6b88d844db8125813595ae3a08508bdfc86692222fbae44bedfae35133a84196f1bc17bf68b61dcacc450857f187f4e277680b1a3975a5fc8125e092bfdb58c74fcac734213c6cfa5c80c2f7a64c64f3b54006f91dc71331030fdb2fbae488a4d09e9d31ef1f2483c6d4c0cb7045993fd567f3ad33cc9bf505dccbcf9affb1b044777b4c76bcbf37f13ef6d57b1e505165596b773d7f61a740640faa213389cf3dd0849d643709ff907531f5913112c2f81f577cdac70ef727317a49cef7f929a88635b4f74ee9de3f1509d4d16f7ba6c84d3fe855cb5ee0bfe469c703dd593539246d2823db9cb64ce8dfd0de47c31f7d7008d1710f7d87d92c9dd53e8bdfa99a349d0d7ae89a5e5569e6ab712f6dd9fbcd9fafe23634789540deff1650c2fb6711bea79806ec2a3e3254bb091a0a3b176bbb98a4c19b37292bc48de55851ce5577e0f268bd4b5048ef82e10b0f97d3e53ce31168706635e8932528e411580622bfd83ca101cb45cb681f3d86e7152f359f521d3154bfcd7be55899e0695e95d44b5a74b70896606aae3405eeeb32a7a62f314d45fe7b970642f8c7771073fdd6f2c4bb5e71cd41e69934cda5db29aa44769b8382f8e74cb359ffe1a54df6297fce454c9663c5889c88077a5a53531c1ea760d7fa60c7b748ac358d64acb792602c5c37450058ffc427d34f1b0ca1fac8f55e2b3027aaf7a5f56b5a7485daf26f4193cc0c1ef9c85e99f34995e1cfb7aaac01e9fcd2f185a3efb798f39d8e324afaac49d12d9d37f5ea41a8b82960eab042d7389bee1d9aff19a2ae8ebe0a4b8b5268b88ba0f4dbab7160c2a6bf908a2541b6bde1349ac9bddbf0bac7a14a3e9898efa6b127a8f02e4356603b1e1770ed91fba30022bf4fad3acb2a80e05a39a5cc756a5d575a6e16e49277c9a1e7db1f600df715f1a76e1d4e291cb3aa218d121c1a9b4c11842271f20b437e55e1316f2f45993dba84d06f0f0a6e1e17ce416134cf0d0e1439f60acc1fc5dfe227896e83eca625c075d352bf4704b1f2b6ecdf43785840e6974c0747779a522ec34be2cd82732e1fd8ed16daca936d9ac9f2b8420140fc087938f49951b03c74a7f21a6a773719e6923a3c0bf5fe9889634e943e64bd24bbdfcea86fe39358d81b70fefdf80267e7e0d81d0c7541ec30737bf3716449f02f578b5a43377f0b5ad47f1aa19cc84299e53ddf8e19a9e9a0284d6debe18cc329d3527a5da5ab2d125c23b8f153b772508b65c38dcde01921fa3bdf5e63273ff1102ee3da1cdd38df4c7289b1f0d76c172c0263937d9841baab09583b4d7721b1fbc85cf738d37444f743ae80bdd9bcd3c255da3e8bbe4f00573d8f01866e5abcb6e7a7cea6f23ec6ace951e79ef689bc06b76ab50e21d1ee85d84d8f04a7fce1736d44e6dce77ce31770183cae4c9e52de483eeddc7ae737df41dd8761f423551af397757e3179bb56bb3cd062e285e52eb81055fe02c9d7f1eb313710414df8de8d0ad78d3c3cac85161372ac81a7b7a509832ad4b4328930a0ef326797ea9b2ac2524c7f9fa11b6116dd1df71636fad172f5d5bef06eafa9142012b04f8446edcb8daae45f9593f16c2859252b6b74b5bff484872eb054fc50184fdfbba812fb995adf7b7c0ea22055ab779a981b95f6b10b55a7ad6a8045d4aaf71cd8c08e1b6bd60afbbe463574bb03656e29e68e2d8c07713c4c8b3c7eae575f06086b97889bc11b1f7f38f0c9cde82bc062cbe97898f12bacee7724765861f20ea9e347a2a825b41e456b94fbb8395a5770c7cafca755b79668cad64427c173e4f0a248c37e4d304cabcc4e349fdc84109679e08d13823a301d0cbbe6bfa6d66b53cc3efad4e8a89260edbe0ba5a4328be856089eeb65ea9ed9ba5c9aa7ed6032822e1e2b37a165092e0308d98a11d79548fdae35f8e3cc4539b41e171c3daa79e51a5eeef6b4ca06ff3fe33c34fb966bca68b2360c770dc1e6921495962a1625df876be167ede1a6e25a71d36ea68b37cb0783a9c419f4e0006f0059c44f15ee36bb527fd6a88a5994cd5b4ce823b447cf20be8ecc2d8a2c932ca329b4c3316082bd650445f8cb365c4f5b82f9be5996d8c40e59aca53fdb994cb23ce774dc18edad46f243e1d1285765ada876b2072fc30e04a93a6e580ae08b666a51437d473f00edae409054c27a8e6fd71f3008e3e41f47ddc233735896296b273a227003cb148679e293dc03a34a466c19bdba1a757f3060c1dc3c4b75b709ead8aaa2a23776928815cccbd9b776110e82682c38cabb59dda6297fb620be2dbe2ca236858e3c47794e3b624bcc0314588b309f2c6025e21aa58118c4f80e8978662fc969f8eac3b24db8d108b5ebe1561322cc4e78528b55f496f86d26961ebefd45ed9586472cd73565e0e0ce673cfad77def59b67f1a28993b0ad4a5fa29367e41c8ebcf0ddfed7c1445e8c1147b93bd0b2ee85cb1c45cd80084867b3f07a1f152f7c624ed740d0f51843010edfccf818d088d9266c5e1cd6a387b613fac4a11a507a155e1ca0d0e10b650570b553a6c7e25f198aeb49e3d5bb085c67f98cac16ab3e9185ca2e0bcfc27152844dd9bdd980eb8999e14c9b7efc22e05dd64c4fbe73ba0cb75dfca63e1b116d11b62f9b798b23fbee5c62e23fcacdc09225d6ad7ab73d27ff3d7666d8f0771ae6681dfc57bbbc7e1240a4b0b1351d4922524138b0d847d963984fdf25976bffafea1af57a1a952f3b561bc314a61f3354cd9b7255de0a8f69729f838d734c87c4b72163078724b4f061a034b86679e86bf908710c2117e1f76e2d4a92038ab669cf540e80b2cb918061921625073c3649f3f5c268f66476635b662711bb2e566bb09a3db3609e8e0b475d9135229faa62c4a9e41fd28d2255ed6b019e05a2ac55d3ee58d7ff4e8dbd18900edc7681da3366cba4b35f293fa371b7bdcad620ea90481a13753faf82021fa98c00557f5cb95712d789269e6a7db0cd40ab07851d449de71c25161faa0043efefa21abe5ef323e7bd8e6dafea9222c19bf6070cfaad17cf0cedd104539eaf15b1e9f63c91be53f1ba4a4300585fa1f2f345d9e15f6d8dea1c76db662912ee6e9b79e458c240a20f9fdb3f429c1e93c2d42b162e5b6833e3d548b9c350f1c8219769d776e50e29f616add48bc8752ff15d1c00de4db139a1471fdb8cb6a0a903f0bd8a0e82d5a03483a38146bb519223699eda5459d3be7bacb38bb605d166ddbd4fefc6564c24308a38fb1af606ad56089850d8071c49484d7ac093748b9b1c7819ea95e197f7429fc03d8c03514d72244e59f7eaf6d452d64845dda6f2f6f98aa9fabf492f59a378b907736f8b7c2df1d9b5a23bd1da536459633e54a029fbbd3c8de1f109b37dcbf254a500afa8b1892f62b523c0e1b4bfd8860afc0ced60e2e00c103db2c0105b6befe012df702d8211079f1749189887a12f6dd7722c903a59d646c1ff41794238ef06fcdf96186c9d878e74f15fa08745c41d555d55e35ba05c9f9103d53e4e2b1c90f7ef55ee27e86e1726ea50ccd3abd6f56f99b367853ca36915c642b3f35dba8b2e76b0b2e32eaa738268d71176c2072c54712f7e399f9619ec0d2bd86ba3d3738e216a96e5bfabe98f18bfcf7904bfdad2354ac63e543335ed3faff17b04a32db0481ad0ed338809920a48bb3896494ec1c6b5f9eb071454609e6936a5887bcc5e2c90830a49a3fad879436f68ea0bc035bb1dfc9e5f40a11eea9b1df735e8df5502e618aa62c9515810f032b70b540bf1ea8064b86754d0d25ce00afda691f052943ba2bcf5ccdcb9a905acaf73d0d48de91a1bab5797ece273b760c78af04192919e22af25bcfe1ccdc48b7282042411b6cfe739ce6daf1ec416269a41fa1e4e1bd3f25e4e1e8e4ff0d3b9800ea5ce6075f454120fb82af2c32aaf2adb74535b6fc7ba01aacfe4260a76bbc299e850e1a3d4ae452146978f5b320a0efbe0cfc3def6eb27a6f1fc26edbd6a53bf784a92f5c008304a25844c7323b51764ced44176bab707945cd8c5b77f03ed495002f305b01a01f2038b4d74516b6d9d9cc295af7dc3bd9960253c6c2994516cd33b7f25ecbe099a8d0ceec1161391c003601ee79ab790dd04c6205eaf804bd4a2ec502a80e97407f360515d8607cea7fd0838cd23974b5036a553b0f8ddd417a363e3def784fc2b5d81be00ff544d97645cea95a1934211c2c2f6a6f481b109e810da86ec8818a10b844736ab94dd10c4c709f78d34ff7d50f358737037ab5cf1c95bce926a7263309a7da15dbb6ccb2ee690a0584012d5353b2b382b568918ff2efd51a0ad567a331195e0e068a353697c2a3df28345e3d9db4c442dcdf4b01425b4147dcc97ef1b064a7146732c6d887cd753585c246de92d05c84f12d8aa98372270ddaf5252e3635100b9af33e41a506901799571e04d41fd5590bf2a773e7c71bc4cb5092be498caea7835489d953c0e2d48bc1e9af112d2d7c4c805877d71fdefb208e85c093ab324af4877a649d758ac002327687656a65d6efb582787a722c416bd66716c462759878733b2082f088aa7f4e77e13bfb045643d46ab92ced122153238688e123f6d0b8444682943282126bf8b472d05afd79c71bc189178ee20d963b74ffb47fa4715e901e521022ea05caca0a27577769b7c33af54d0ebe89504eaadb0ada98d17ffb210e46867d3bd9972c63281f38fe27ac7f14aaadd61a0777f666cd41423adede889bfaabd183d0dfb2f25eab531fd401dd343fb2f30b4bb52ecbc65bb25e41c8cab11855144d6f8e704a31b54286c9cf21d2a2caab90b2cb729e8f8b35915253f1db6640993f9693f653757cdb6a5ab7fc628f0cf9d7e20ea18461441b690c0f579d8a5b569fdc790a5a9645eb8020b8d9b59c562392c20541951323a5541c787aef628cc407568346cdd9dec8f77a61f484ad76abf680631a97081e3c589886f9daf2419f232dd2aac0cee279614ce49511884542dceb4b5a84453ec1a6cc8e29687b0ead1df2838100b2bdb136580917e0a552ee7b06255a4b4d011bdf10f6dec67a0e7d02c1bfbf0b0e16595e236260a93d9d08c6a9f81775049b519fa92ec01ee275aad7e883f5ac53d2fc256ac1596573020402e6542b30d71c0bc50c28f8174612ee516a36f27a3f11a3d13d9a64bc9118b3228596b13f4c85432d33aedca795e349d13623c6ddf34c16ee47b3b2ac4cc23d18b3e5e32ecee563dae3c7cf45d4d34f062af4b8ffef68189529e339527b32ac400c696439fc9cc290307467ee7c39a165c9782b3457f43adeab8aa198cdfdbd36ea95f2590c33009e16f615d34d389b0e96ec7aae903c3eae88fa4d53160d64a0ccf5a0fb823a38478856c0b2e07fe2708cd91ba0d0bc75e1456bdd103f8bae3e95f5fe00ae81f44dc9946381bb32f19b260107b73e919b4f6142df006f04e527510562181f9db6e924d49bd22e3d7e1523827539312e8466e4bffdc667c040e29ff1c6e56273b26af6c47a73811f89dd6aae000cfaf9935bca70909603ff43683593b4e4ce8f217a8240eb11090a29d8790367f8c26bea261dc38c5f8c3e93510d8f9e6d390d9030c819f1cb1806f93da3edad3d8fab133126f5c9a82bd4ea5fd94acc22b34d1c212b4165d76c63ebfd301a0297b71494560f839520444788d0b6a64417988f355b3ea45c0767ceb81c936508eea4aa4f044efc91c1d819e04caf884133132eba93a050352d5a56a1a5d3a27ef58bc4b64b21f535a180ea7dde9fd166531db202cf9c660d34acb0e023abc71f2d01008f3ba15c9f6fa68aab988efa0006b0766e4d54fa3f53a28017244c74ed07fbf4c6738b55dc9b209bf429d3f14db94e1c495552789b6208bcd45454d698eb78e92aea437935f4098cb7260f8638f806d853aef88cd2f5868d6a6412f0df2a69cb3aa84a6addd90ac1b47c19cf1c72838e945f7f1403c82420737f2970ea5bcee518469b9b38dd26f12cddf0ac00f2a12d8e81f89acb1a2a81f3e12de85094bbe16f9e5c77227941743974cd1a0be20959d7bf9df5b0c322975677ea39e01330492076d9996956f1b82c9fc3f7b2e661ef6c1f595ceb7effb68aa45a2428ce267f2945fd3eb97bee4ce0224e1e0a645cf18dc6b203d503b990f3ea77874383e97a5faeb089a0a4b97205099cfadc40ccbea2585fa973e24f24fa62511c86eb5856a266c9e8537c8835c9bcd25bd59b03c65652322e35fdc6e44419fb05615e3a6276c6b077c99efc28ba96dbc17733d0fb15052a8475cd490f511ba1113243c9c11c4e8460c15858cc8c72cfefe006c43fa5de06591b297c6e5402c0c994d4bea3d6b0965cf791770c9ab1e635ef20589b950f588478bcd799574f6b45476f30b36fd6cf4a91021d4b7ae490b5f2000926e3a3ac7258c40f709b7fafbfab03ef8b8975e7068912a80f9340858272b0869a9bbac91334844dfd1e89134cceeba9ed2269151ad63b922598f3c5c19ddf781b2bbb6cb843ed9f085ecd1679c5d01663a9dd94fade92e6b5c36c131a14e3d8025d88ea464778726939f20e51dff5a57597ea90a721df5116d9c7de46b7c11c9af697d757b3c92b1a91508c315219891d500f2c6ded5fa5e635e040ae3dddb4f5e75641d3302865adbfdbaed81c83836f4f65dd709a7ab6e3499014f23c7c95c80f8f1f28e7230a904bc05c3eb8505508230c8bfee55542538e17756c9b4fcb0d3500d698d559d7b5263ba063ec490bbf9cfa466fb3f0332a4ccb0c5bbb005c9ef4970da29563367988ea835a201954157da51a9d3f4b6142486691086c2f908ecf5bd5cf4c96d330047c0d9430e12fe1ea233daa623d0e98b90c79b40bee59f52fe7b7693ce775f71e5c50c1cc3103eae006459ed9626e55ed6f55283b8060bd09451a62ba5c6fcd9e5b993f17904f6ad91c450fbbbc9824d9da678745101a322ce38c7102455cae3d80d9a13d7ebcfdf98e366b3e6fb0aa7ea9edb144b87aa5b88f937172c88e945ad1fe7c4d657eae83fec7b6a2c9c376e93344c25bffbef7c3f85c214e1284cde5ff8154725e7ff8c5dc987352078c2106eb6d03a9938af2d68f7c5d6d0252d0e6c7452f293cce9b50016b6ed31ac8d75bb635808b67c440e8cf2e0261113bcb36e799e236bbf17c01f59380707b36c362e7716581534b1f74df03ef24e22ff94537c7ce042e89e884807dd7ec25147cbf6e28b2d02510cbf2bbc8f6d70338e3d48aed09a12d9113a6ab91dda9e321b078f9674fbaf5d8c9866142288f09a42c939c56261951dbf317eba5c0fe8b1fd51ef554e61446bc161021fc4b48358ef2466902a9097b7472cf5a8e342920734497af7f7f4983be4d748ba643116e6a74c9ce70a34b8ef64c438c80f4da94418074e712a7a422434dd86c8c5318326feec3f4e60e422836a64df9c8255e9c25f6dc168623df8bf11014e744f70efb4340d7e9f8c03c7f4805351fe7ce1e93947108937d06b1d0cfb7eb27bbf21a91fd58351ecf7916916454e61446799cd008017c622ab84f57d705232d08b48ab7c7da3354476c1167bbb73183ac7a8905bd7638aacbff4dcb0d982bd938ac36292f009c3474afa3f039a95bdf861ffa74e2b1fc45fd94bf6b34823f5e4092a3c57b1b9dd20d20af2943177843834a4606dad94c984e28e4936b362c505b60e90fce81cc13df6f70dbc959d83276d0d52ce94f9487280aaf65b83492b84b683d552fce7fc0047f2c6344751852ffba9e75558f4ec2903485f160b4a0c85b8c810fbec196862ef06a8784e76f268b552d7b8ce0afdf53ac64a5ebf03cbede440e2d8c9cb1d2d6135dff07897f4a504fb836d135baf19d30e9383ccfc9dbb828ca7dab55c3ccfc06ee0788ce49e27a1a99f160856d1bccdc3e58367fbec142a230af4ba72101643d64c5e822414fe0bdecc029750bbf2fc692b76ad756a21d8a78034ee8cf639cea00e642e714fb9a89680f7453ab9807edbd32a130c0910e39b5ee630295ddd695a2fd2447cfa6f2022dc0d694ab3f143d10d5b817bc08aa66c2fbb8009d6fda420e1923d10284b963dc891a75923ab16ea13c538db49d0add960fe8a178163bbbaac09361ac48d53ed19b753e87f0fed4b1a999933c0a9ca3ab9974f31fa2d4ff84dac011fcab5c6f96c77dd90acf2426b9fbc7de1b0c7db55b763be132551461bae96a8a2a4f20a572b2af640c04ec5082fe8767a994fdb6d69ca1dc7fe06b0536ebf9c4b74ae41d86221adade49951c7d91f560e2ffabfdf6b7bda76ce5f20c40da6ae2bb518444bf617159ecdb38db77936d4d8a17f33cdfc0ea3b7060bb61268a3df4e04f501398f6d10b378819e0775fd0b0ba8b91ed847d142828a222f2d4d42d45536eae103b8c67697bb1f847bc4f2111801055678478224ae57e1b7e942388f79130414195eafbe0fc698fd8221c9329fc6dcf2f529f19eeb0bbb87ac37343100a7e0b688eee3d5b5e305f44c85ee39276e437317197a7a535a068fe6c2d6ca4e85e32c89967c153ab17648504c57509a3abc1a943690d3087455857a7e9c39a52ef46d2a8f8a100ae24985e3a4e3d11d010269cb350da06fa0126e5e66ee7e6247fd25dddbb77909db4d1f7515b94922e60dcfa9fd104cb9dfaa50b796a8ee2ebe53331b67ca4d8fbf116df51dea44c6c69335bd985fcd1182da5a1b8f7dfa867b01c688d453ff0e843feb4a2842eb438831828de56819631be21442283a907ef6443ac2d36d7dfb14e4532f634d519aae0282a553a93d6fd50f144b2f9ef5c396e48f3696bbf07f520c1d091381316c3f73f3c2aedd2f12aef77522995d9c9a951e56455a67d699d1b9d4d835d06db3d9aa4d4ddecedc70549180ec4bbc644dfa0253509f02b82a54ef186110e5c96fb00f6239a1ac62637361ef533d961cebcbde81b1169394ab2cf5528eca0ff17f903ccf3df603de0c3b37ed562a3d518512ba15e234d5c264b0aa43fd86fc5dd4a390568a91bed434718a50a6a80d334ba28ac8bfb50142129f27f78acc12131aa684b42de02be2845d136637c626744953a8bb7c74cee000682ccf9efa5913ddb11e50aa9eb5e6c0e66d663efcedb6dafb7c2f04a4cee0340f64c6affb687b2b8ec5327e180039de1db32799f661f0a3fdd92d5f6863faf9743598428d18c940e67a144f05cbfd8efbc228666412ceb8c82b032a6774be5013dadfc02ea22dcad892cdfc87d27df922559b684636e69033fa682525c9b458628d0208e53e46213322d4076140185b593bfa982f50292b2ebb3e3c9c485772c2695273bac6ae1a5f2a5ad7c4bb0b30c1b5f6db9500b1dc037f92c1779bf06eb6182fadb62367521f5ef799bbabd23be61c2e5128ac53f2383128794ac4939b90a88493f94ab3827f630c27fd3a580e17713187949e917fc5731552c49cad01cf25bc2fbca025ef4c36bd3c39127c5663ff354c7263a21fc9adedebcdb68dafcdca7ffebb93cabae8f810ee3fb41eb2587444b4a86a42b65c1ed25c9ecab694cd0e0e80c6d18309416a467bd71e113b05785a75754b0a5798c9956650bdd54b0f8145488e4d0b6aba993476643460d82a9e45d4f5aa881df12629742c0c1cc2a2c6d529c2c34e043647857cdef6060d3fd13b1da12c6bd54580d2d28d46528121571ff6b037c9a62d7bed28e700ff7f3591a8697cc9cb15a7303c71ebe75a4c22df91b0071c2575d51a27f2f90913e0a51361e2d98c0a71c64e0d2c54d4d0ea2a818379b576d3a0df8447fc0cd1904637ab763a29905d78be18a325a3ee752735490bc1d463923881256f61c995e548a2dba2cc6dcd14916e9b5480d6459a614c06e8f1cd3f01949a5b3a9fdf35e86e0e816447f8497104cbc180079fd278ef95ffef6eb591f4491c29824b488776018be87ed3e30413f12bfe906b110982560173c08e77398f20088c30bafa38855f5803e9aff2dbfd5b3c97330bcefcde4c146f8ccc03cb6b86f199340e2e8df43b6443767d646e5decf1ea133f74dd1faaf3450ba0e945cbfbacf83b78567961fc4a5e9dbdf74e14f44ee593928243327a4ebefaebdc2b03e4a2e953cbd460623a91ef53e56da571aa3a39e3b442388a1745e81d9785097f67cbe8cb6667e53de587efa70a12235ee4e9289634de18854d3b6c701b8a339d0bb38d12e65876488b09ba47ab11111e619bfe9a60df7b5fd09cea33e66cd3a3bf34d55cbd2f42dd874c4e60fc2237c573b77d1ef4fcd2cb24128b17268d88a30193e0cd644257ac7618614618ec5a20d90fdeaef40210db17f98e3d1e27679688c6a1b3a6751535e0f42c89197b794f4f13bc7821573f575ab69585eb878427d4a32a8f90c856f782170641b6c0f99a25f505a152c9755d9a3152941f433b0db799a249db8caf36c02851bb64a8266f14fe420cc6ac521cd8459328dd2474a9504d0a1d180611de40c8314dd1a5b90ead7338c71e50f82d5245cd9dd99b4765dd75138f9ad64b017d6eacc328d089187d962517947a596dcbc0a46f69b5bb9c31af1b0e02674eb7e488473264f268fa1ef504f3efdd2306b583a1d1b56fe9d0287827cbfd9e308a03ccacff082f47e1a6877f6f09aaeb77aba9859ad7f164b5d6d83a6632f8eb2d838b042ae2b3508c1e4a8f91ebe3578b9e20064eadd33629abef4fb95ba852138f08aa93468fbc4aeae9f5b32f0377334c2f7cdb31b71c50d847b45c118f93615c2fb51328a903943e0d19140b03ff021dd45a62b65f7f8e6f7da061e4f790ba322c5dc3f4cb6d2bc50402a7bec2bc7b18683253cf2ff4e0e75b5025971bb7b621c8e7f210e0345958f1eeb526de49a853e779d080951f9eb7dfdbc93c1a5dc07205245c1b81227c2cc2a217fd58ea08ae672b3426035ec8ba888870b24226e0c473d4bd9374931985abd2c6635006c750a82f015d3ba19b2fe40618bd672491a29e7e83aad8edfa15c33ea61995a400706edae97900f1b9f005c35ad196b208463cd82876a066cdab7428f3a945d81fb3ee0ebd6b988512d49443e684feea3f40b62bfe296f64ea79784e0fab2b8f752e6af32c9b7552f0ed919702d127760de986e9be611a55644469c9ba7839a6c12bcf95cb7e56141daf9df039e102766e3a01f1badd792948719ef293391eb2a4da3f0f27f4986af90d5b6e64ccb269206a715636d7a9f19403199dab9f45b832021fcdcf0423fd22a93942b30ec686d1a8a1578b675acee315cc67ed015461060f6534a45c6083afa5a996440bf47f056204d4a7f1051c0589436299836f708db82a3c7cb6d4f6289615ff1c75296e09588c3b305e7515be119265c346fe745537d96181d05e687971be5eb930c3785d44591e8ee90924c6805434610ca01706fdf84462530fe4cd5cf7d293c88b45ddf4b88a807e93c3a0fb95dc1558f215bdd21ab5edbbef3cbad6a63c605ce20a5ba1cccd1cea31428af8ec74e17ab87f93d3f5bffafc0e5153b836638854df94beb027c6ef383d84499732128de042a4bc67f7bd22924428e2a2663433cd048b026ea113d586cddab3fa421c813623e53435f4edbb586b57a90f6c02715f3712e93f93920081c81bb80fe038e0136f2ea248b5396b4c4b3ff37f1cdcecd21de30995fff2da2494ca1b494838b24071c6c2515bcb823a12dbaabe9b4e854c4046e75748d85e28e295d84cd5e1575b324cfa77a02342d5510f6fd2edf488482719d536cd9cb39d339bbaa0a82d9e8932c4f5b60cebf13ce32ff85ccbdfedceb83cfaf4623796765b4e27c0adcf480250ad869c4e08f1f19b67398dfc399fc41d014250f79e4c6c1f4d1f983a8a8110eb7547cac8c747e5931c0c886ba5bccaa1792a8a006a59b294bdeff4800f075bb301a525b4b6d615b9dcd8a9609f5ec374bf42db648072309d9a9e6680b720d4f4e88931c84967cc0c53cc2c6b5731bfd3ffcef4ca0a91038d700b4e29887798546aeccd746bd8f1a2370ceae6154a914aedc97da12c3800183656ab3f086040b9e1fa78c3a4ef5385fbe1d98ce9a1b47866d843323c7a99ee3011461854353bc26381836eb3c8a16c38be2822e3f4fd91ef432441778a083eb55871419829803fff5ee5f617b56087c410c0d260f647e6435364b25dfd039726806e1f9ed2dbe75f735055a51a1342c913febf3dad71a28ca4172f5f1df68b47429cc0006915b330d2eb485110bc6438cb9e820bccd923fa12871c490479770dfde574c7cc8c9bb2ac912b221f6289ba18ac3effc778546ab50e739a9bfbfb0619a8bf4dce0523f7218003d2fbd0c27186c0ac7441a4825cecdc8ff58341b91823c09c69997b4983c9f0acc1c9a041ac3fcd3b2d891af4731bcf1a7d6ac607cc670e0171c945bbec2861db26bd8ee37d933941ed8a685f6d585ae4fc0bcdd36ecca242540fad033d47783410ec8881a140da4d368470a7d9504a533c197341791940660cbd58e3e9e1ab631c3403888829a10682a4b8f56aa4d81038f442899159e7a4e4d8a12b08d3d737caaf7d2524b17cf3b0f96004613f3a8e6fa15825e790aa31659ae103a55ac70fa956d9ac58fe643a09570a692b5187b141e5d21d96c5e3e2cfacf35e158d9c1317d867698e13515a636f67b84af22dc203b6262b979596c608f8fbcbaf95715f8ac8fd27fd8dbade5b0ee29b3a2ab2d4fa11164ab1c000c69360ec9ebc9e95d7ec6c8365f1d3d025cc289f2fc134d719a32cb0c90d4ee4f6cb114f3b929faaaaa06b0bd028752b3c517a409d81a08d69642b237f0a4a6cf5668e5a75b6b88da4e2b0d72219dfe10f56f1763d363336e7dadd7a7f7258ca92676ac0027e259018d0672c7263b20c59210bde328aa1175e8043b833ad08ed1cdca560d58ab63e43860f656cb88094600819eefa3c9ae1f36dfc05a6f29f8bb69f1ff37c7a4594ea709937faef5cf1d3067590255a86f9d92f62605c05385e675cb5eb49ae06e5ac26cf83a948252a596651f4825e1d08f1f22f7d3c1ef6c32fdc74cea2cdf546756ac4f3780c2c7ba4eead42c4fa80612c42cf8acd8aabb8ad472a76235f83cc64e10a3d5a62bdd65194d23e5585c2c9b3237322de64a0a9d110faec76596f3512b980f233139d4303d3be1cfb237bba5d18f6c889513bffee69fb1db1fe6fe7f1c93c6a9266899f4e65529801290bf577860d3b37dc44f185bb76c4be93f58eef39283f8a075093dfbb6c0be5d077841d3005918959741801be8bbcf8d93a323ba70dd0e2009337507b7349ceba9913c8adc44ec876c48b92d69adb2c9e3695c721b8af0d6a83f054fd0f3f4db9e989098fc24b6dfae7629b9f379d0c7a3aec8b5de8edf927282fb1dc1220e698d3e03bd99e9c145f37a6f34081ce068ba4f41cb57038eb808cdaeb9345f853d68f67c1951999ef5d2600093938011d18726075e9068e665ceacae8b39191990b2d121fac2ab5ce1e77ecaf81c76f56df0f07c488508a1a915fb7c8dab2add6c9382e98957d6dcc9efc8d4adaac77322a21d63f5b17952da9f2066f6ee018283ae294f97f33ebe895b22f909d15739a43ab34eb3fb3c19af28e8297a60c71130fe29ad9644d0e65d2f1817a07afb833e8b605d1296cb05cc70bfe98ce3c1506f6d8724c4523d18279ff65c0fe1dacb1eaf9b7d8bc6f904f5d86e4f7bb3d06da2403c4cb01fec4cb3999cf0a0509c6e160eab067650cb1dfb95006b8e55b3806969b12fb7d5e04dd9cb2df7bda0eb9d7255cf68237392b6832542b3a13c07e335160b0a11392b5b8e9576083c22dd1bbeb4cef1659efc37cad930c3e8d62157bc5b825d35672da76762578e48982f9da2b878957b4342e78046fe1b37d4ea46101d1c46ccbca30c7336a7e81eddc1e579eec458ea0cabfe248414b5e10d5b46e7cd5c38444ba788e03c7ac7e7dc991236687e2d63183102d3bc987c720f0c12a103ee78e3b6f37ec68f35ee952dfed715dc6d902a5df7c301851dc1607ee6379df728178850c1898d872a424442cec8f85699fb5b84904f6f5c12e95c557ea90949daec3cc9eed87fc4c9457e820bd3ccf73925177eeae9e393eb1f9194fa7bd0668e08e2967ae62653321b5c0272f3019cf545933200d6931aad5e4724402cc9f3b8cabc29952901934ec4c4feb0be26e5ee527229271e5ec09e2a978729e478905973eb60cb0d2c7b093b6a309346de835fb374b8ee632b835403109f28f892531ab71d4ab38379ae1b4a28d75c1606e77c1891902c9504e2aa3fd0adb4fdeda4c0fe198653d07faf976d394fd171c3067f0d19464037374118b0a60360a9878aa7215b855243c4d9bbc7ea755edb3f2be1e6a97df88a07a0ffd540ec7be12c55c6f540c214137cf83e78fc946bd075e4581da8b6bbabcbcee030f30fa86c73810e543b52a28737d3f6254bd4ae6f7438f9c84b542be0ab6070858fb5fe637b7b27c2e108b43e6d7bce51f805f42b54b3e5fa468395f2b86a9cf0bce94ea42cd33fcf30b228c16c8bd39f29265e8c6cf85a4439b2b0d8f38942493cc74a828bcf8a1a094fe782c5714d53f0ba8f5684bc4788f85c2b244d71a6392c773386f5d874a5e9131dec3779e23c4c9c474a9a67b306e057eac04fc1edb73a77308752888d7c7cd599ef147137fc250d85a0dc40f45a54c97ce32e81f5628bff61fc660bb4fab0f0f01671ba8f16656cc1f7ea3ef7c5faaa8621b0fc296eb1a4e3ca12440f487862a09c8c7b7133236b36c5bb144cc91e8e42ebebc55725b1525b95d07256ca818273ea03dceb3e21712a7b355b56182947e00a2f7d2ce27f5a41a546c44948a87068b4282d8c77d0f91df6a6e22c073848e7f0decd2e63a5a39912cd81dead4c6ca9e7ef6bb731fd93911ca0539fc934a9f452a6d812afd3910a5c8d05d298fe715efd08a47e71e6dc5c690686111d5d3f80cca4ba8761e4cf96b5245acecbe600e538a86b22d395515946db38088e1e109c4a3d98616fcc40757434f24fce15e4d9b79262dcc8c0900d2ba6e35d9c4c9d80a18b1fedb46b49eb03026d98ddb2498f2c972abf8dc761c176a3509d622b5ff32620591655966d5e843b2b03f89d16e78b2e9c283e70840786a6ab2f9449ed020db99dbc6add430381ea4f9b80181117a2db9009e3a18dcc219f8029b63f67fced95c8adad0864340f8aefb35467dfbaf278e03d98adcd16578e0a076175ec2ba9f5dd280f06268ce476aa35d1ab37b04fa2ed86f8a76f92fb250c8fb7ba8369f01aca4558f3567cdd1ee04a6a8c18bf55f0d95822ade8dee5f71c5d8419199f9393dc235a8df16c8d936a4ef2d763711fcce171ef7f243560c3959587f706194df9298785810df38cd244c6fd2c3beb1a44eb5f5fb9340ef7a47fa0fe0f3f2f236fdab1c3fee114cd4fb92cf1ed1d09538034b98b97537fd69662597de1440cbd69878e8994313f33ca341e96bc4adef6ec10ec5a2113279fc68997bd7931a17f50b3a074fc72e6120dc32740decd989f7aa07eacb004f5c333d84478c9bd0b61075a4507375864f9eb52b287360ad5b26d6f111d3292da54f07a5973b68ebde011c99f45d3f42272ee1a30aca389129dc402c17a13fee019cd333752d31a6098c299f81257e84ca32cb58ab57718ca7a609103353454a3877d88b1378cb368ef9e99c3184ab435ab32e13e6a9677b26af1372eb2d788ffdb520e5cbb07eaa36f3c9ba59d3fa8b11b9e84c97ea65078e007b9db89e612b2114b036daab860576927b963c734809fc50b67f7f803b2ff9453cb87af79e2d2e9de11cf601d224e966893aee73f59ee390f67866875be77f1e9901979f81b284637bcb0e26a2f6f9819cffe192e3fc6d97c0f3f0a3235138b4800ebbbb4d56aeb878f22893aad0f396f5c9a5762c513d67b7ed3de325e7a9fe2ff898ec49754cedd37bf4d79b10d38c9be81a56063ee8346875ee0d45dbd168eb6c2518de657597c38b5c0ece310670b38b7a54f6336e4aeca623517295d37d52d6ffc683a9adc48e09ba71c8073bdb90ad06deae31efecbe66f77b7d9236d4e39e7350b0490ce05a42640bc81a5bca6b11222168f33bcc43fa63c044ea013cef98dbd71d50473244af690eed8c824f441ba04d51a3c85b1d723f89754e278a7e5e81400ae0fb37a52a84b5d1fbfad9e2bc01c3ffb7878e6d796cfabe083f3bc5f753bc0086c40b83ab2f2ff04f4afce13bf2edd97e2a1c1cc5828ef39c989b570f3a0581a4f86d8bfbba3c639cba85f755c87c2ab12e717dff3b24b94114e0d1b3d82a4a9859b182e84ef49b3462442b32c51d1d313a6e213db2e2aee8ed93bc06a066ebf5d95b7e843429d23a3baa6ca272b873c28d7b864f5fd6705f7e6a6024f2395a8831f4fdeb91bae6935fc700573eddc03f7279416f11380fa47a49d07230ef172454db4db43e0856e9a6e21fd20960816479d31493d3b858f974934df8b48eef598a572438f31495fc9c96198a906004d73209bc4bae158e2360ee08f08dd305adffcc93afc0688257b6c7b084b0bc652aceace10346f091623617ebaf42530abd1b64548072155f1a9d88efed0b8b9cb8af3a70dc546221f1f039360928bcaa4f807579abef2414239506fa124862ab835d28585384ea32ee96475d1dc00af348baf49b6389f9f5eab5e133c86b24ebc4c1e9645c679c6b74048cfb6802479f73edd80aabe51acc0777c93b6fd83c43e32b6ac446047600a2435773ba35bf008c9cb563fb661f10eab56b95d5c01f357a1585c76ace61b683f583b91ab7e5b1751bb6a1e98c86c49f896214e157735be7cf9025d65d27f12b23c6466e99855d401102b485787f284930eb0d3e17b81ca5536ec8f45e7b6646b18f56e8643e0ba2985e4f962e3880308c612a3a71da30964cac09755eddb713f606568881e6e6d2325031e3cac809292cf060aeb1fe163cf761bbf3c4067e926d2ac579e3d895c5db08b8bfffe356762fdc78dcfb8152e4f83a4584ce6351b717f6d80cc1bd674c6e434585dbdb0f3b9c9aabd0bd477f7758645ac6cb6fecfc65af2a75469aa88585038eaf28b1c3bdaa08f9d6a6e327e1e60cf91ca56addf15e0e4b6bdc78b5e18ede2c14556b9614874de53c2bc215093abc6e9466648202239930fd36be880d3a29661f193976b88a2150b07fc4fbdf3a1f17c14335f72f85e7a32cc315a20efb6cb7a179f9c8e18d858f1ecb27e6fb174b7fc0a6b18b46d4e5d506046df9a2c9fb6df20c3f342a4a6b8e1010d6f9b9e3b33587c463d4337939c14be5329adea13c6d69936e2fe57e30ba1f40ce962b2bce8a9f6eee172c6e11c4b28da0a54663f2145404c0793b72a80dc7ab7908383fd9718b1fd9d537b53e11f49c19d0332859696a6ff476bf4d5015085f63b0fcac7f05ad078f576340f5d1abb0d671e3e9e2a9535a6dd5251262f9ef27ef36d2dfdea72f99c73be8a47970af3b04125b54b929b254ef57b99f46cb10e87747e1353fcde474857b9c0e4c1f9dab89e1709bb8ab031a79ce09622c6eb209da0aeddce41c1bc01f460b5dc0d358c861d92629d1edec4787a8a0f9e34aa4a54686aa9e37a108878b86e9ac5dc35696871f12792a03961af91a25dce568790fe45a97374e996d4575cfe839cd315b70a8f9411f0e4580128b3b7410528158c05d6b14c9aa5ad87bfce8c9919c0ab94a2b5dc9bf45c03cea9a3178b775bc9f99a2615be32c3028ab478bc79c1aa3da201ec436fb9f01b262e36fbc093ca9ab1a2ae7940521ff3b586307c5247d453e0924a47ad09458ff6e7280a504ebefc2388f010ffdf65bcf0ee75ebb64bc5b83740a7644f731840b02855282823442672710c897046853e0fb5e6d8b38e6b79ad68b89d20c43085af71eacdff092133bbdc98f21d35865ce0a764a34e1c2dc747f19d899b84dce0ed7bf932eda8656b775c78493ab68e243a6c94ea9623b066839491c9f0e0c4dd3e68cb3a93d3fa771ef945c82ebba741a1f22f3d4fe7b81b86c3969f625c50639bb6af718c699e4cd0c3c3ec303f45f82f9e971fcf1907a9324120644c3b7afd4f8ff472f92a487011874ccaf4f7507502aa9ac964a2118c7d1d4fc9104c3aabf8e6280dbd6597307b3870136fb07a6c3b8933448a4fecf4fd95fe0ae4c120596b4af5ace912b2484c7eb7f991ad35ee5f3bae2170bcf522c8a75437099ce5c53cfd972fa6fc7cfd3df9798d4a7a0738965162bf298589c11588432e0760afa1b964dac3080db45dfa868aa2d45626de42ff39f8fa5ee35019d920dacfa07f4def1a866eea388f9e0f595462d04dd66c5f545e23fbc3c492f1ec943084100aa94f65b8638c9308c6a31dad7b4301950f3493a7b94ebe58a0b17115ec8269cd529165d30dc2de86a92eb26d1c3a04f6e16c01881fbc469e2c592848dabf77834de22a8b561ce126782ea1dcdf13759aaa3d2131f6bafeff5b6deb6a4a38f1f0ad8785ce89b8555a9a61801eaa894a440940c851bee701e84768b382a9b5c7f9c14c6607ca4ffacdcaefa3f6f8107de1488d6f3160c5cc771dbc5539d7767cbcb033ce7f874735ef17a406281b577fb9648d1794c31d8f3d73ffc6ac97f1cd0991ce8737ba85664b878b89d8c3c8466c9f1d4f69e69a8f1c9598622e4db181acadac43cbe0b0cf622926fedd379a674e5272051ef8fd2f96c8dd64ad9f69ff5656be38b8c71d48ba03751a7a43bbdab9de85ee2ded7a8a17965e8fb4103751eafe4d33131837788f06e67fc5c3b22f33b36200774aef1b3b96bf5f502ba7f02b17b40701b96d46af79626cc8cb3dde37c624a00f71d1310e9becfa126282ff3e7c02f27fe386508a1fd816f9d1e5c82808e08f3a64325f5fdde8e28d65c32903d5208f21d17f0b22c46b1ee04cfb5b36c994380e3ccd328f162bbe35df57d400dee04f7d4811971b4bf639e57ec72ff937b277bd97fb259c69d6bbcfd713c270ba5d7e936e98fd5a6ace2665e0c69fc47c1e6c38a3d06cd697db02f05e9c4654deed79a0613d4831f2c54692967f8438607b46b70c088df1a9c990eeea3491523d8bb3c3109aa01693e2ec8ca94c5d20779091e6fb49589839064387f5ed6c5535dd2b9bf934e0461fd0197f006969547997ab3da835c9b72de0df23fe3e91e332af267c49380f34ecb9144305e0cedfa655c6aba32cf23ece6513cd510731daab2abc36c7023e8979114172074b3725da55a3ea15e0005ca2d7acc6dd86358c312be5915882a891822dcda8d46ef71a8ef1ac0fad986119ae1cd1cb9312a74310004006de45fa5c35655debefc83c0198f08656248f2b32b1c6b767a91436ebfdeb37a71ffaaa26426cec5969d5a50a2f649c319c093406ee68c6b3936062cf99ca0b0a50422735a6f373a8e2f2e417a89cdfd3583615b9d47552311b30ccc1ebcc782eebd6b48132e12044c0354d90c8ec4d90bea74fe714d255f1089bc3e8660893b684674763bf8f78dcc1f7fbb81eaa68d15d7dbf3236a8265c991780c8bfbf22db6f5a45700b25ffd64fc123294071bde22af20ef162a70a8b78273f1b2e17456818917e73b4417b0cbb63fdc2f6600398364731231d1ab179d5148fde24d2b0bc1b7fb751f0903ee31523679d189fe59cb49b698ff6136523a8f7747ee8a34ae822f859a61506e7676d1d81e59caf632d894090d879e00468d0570a8d36793edb1943a97e78b7d4856cd1f01eb9b844806d1940beec395aee421e5f6708f67551a699bf017a679366c1a55f2dd32e7f667748af04b608010693a1b79ef228b1cb35cc0c1287e9410a82841dc3b91d3d0c30748e7282df922f655f14b948c2110c1cb83f3f0483ecd63ecb34d9c454d21efa018343db0971c3522c2dc037ec897e2274ea36cdf521197154b12f60eb0ad97cfb826c69532717f4917b078f33715839795f0b60c217fb572823e69024b91d3a4f130a75e0f6589ccc81d91cfb2c5faf7d8fa96e2df2b3a088e8acdb1ad561490f8e9035b8fe1e00d04355dd39fa489603780e365fbe5652cdaf04012b07f73c7682cbc4f4990990b297b10f1eff54112c86b0e70ec379017ef7a03047f667f355ac5e6494350d095ec7fe7c897cfbb9debcba45fcf34f1c4c9b694ce44411b0fa8d2295c99c911e7bfcfcd9066089e28f7143c6303ae8aad1fb57b8888c2a914a8636d19b02fd8706ed76ac1d92f6e4f8a95e01ea99fb1b999913cad4ac04435df57f9269d7832aecffe06b0db8912c13f0f380dcaa8ec8f985a9417250ae73b3e0896b070a68ba0f3eff7bc6a1379eef126285eb2495a2f479708088937d36036f0c50e132aca87cce8411512159696d592580e3ad68aae2e902c938112df8c203a6ebcbcdabc81a5b1dcc0707f8b5901b122b5d14abb592dcb4394bf5a7761de3b990e3b7a1fd666eac40e466a36dd58e4de9765726052a9a1ec288ce62b8346d72bd547d51b21a16fc60744756557a18ab4a3dbcd4846f4cfcfa95182c9af96ccf6305b8c6b799957286215256896375672da0a657e63ae9060b67b7f24da9e6bff96c8fb2d8b5f7fd4c9f8253398bbfd5f8fc125d693ae8ad8151a05ab96dca40f56247e7f7752af2af42f1c51f3e6038aa24d42ad12164c47084baa2dd7b419eaca969020c047e881018263a3cb5388829142e71002c7406a8612e4253dbe3f127037b4273f91a8fb410b49c6b3e3652690295ecba291e8ce1b0cd02282ab920a9a092087c727433b156d4ba0cc07294883e6ceaf52194f7b02e9bb4f63093e8e9936d54e1f658e64d824011cfb385c8eb6996ece99ef5758c2ab4b057176abe4c13a53346ce78cd4029443013bf3234b1d3e1aae088304b4bba4a296e542c3541956f2950f6b4b9cc327c8d10a86e1e6dfd3fb2931306c9e33fa76311df62b06c96496d42ea6eb6545cabed8ef78d9c232aedb29ca05c7b132112b73e16bd5157bf7d3be1b618a33279c7a6c9ab8ee4e3be08c9e74caf724cf2092eadc3f780a30de40f62d22fd42317f4bfe4caf01024370439ca6106653256a22ac065f03a2dc69f06931e45add8cfd27e0a611940249158c90a58297690cbbe2bda5c5f1a42894a0c46388c63a030ec015eb53c738f606062426a550fce8fbd9d2ee659dd15d8149d9db96e623e8e7130ff4d370537d0d8378378d47de35b68e0c81e37dab49e6ece5085c6cfa17d35d3762d8c3556e32c12f820bc2bbeb12b33318310a03bce6aa885b84ddf5ebb19647331ad191b51f30a16090820aa930ac3df6d7c3b6c0a9a84d02187b030136b0779ce07a29afd5108a85b57eaac72d4dbd68a8f71eb8230210289160d29b5f022d5e8997e05a05e9c58a684d1ec84c38341e7f270b800128d3df64f7510ddc7ab02d57bee97c75e5f055e9e876360695703b3d57c4a5e3dc7f1a47b5ad9a1d37c71731a0727e7296e2e7486d6337a543e6e14de72074c0616f3e3d8924ad6e42dcf2e757eff262c1bf04b0b9a28080e4b45f1a9c97eef25398b477af4bb3fc99310c18311d477b2694497f083fa0b2de9255d4888970a8aa2cd3789038409551ab5be35af033bf793d6bd5bf1645d06778b6ad2fabf283a104543aaee4e1225a28b7ccff0e72fc64f541335102c14376160d0d3ccff8986a7ba60eef4945830c768fdcd2e44398b3d64434a595e0e5371520cd68ceecf1ea26ff5453fb7b3718a0f1feb520eb41cc50b0211c7c7dacdf03901887633afb4607c59ed0a3075ca177ad2f6fb7a66057f70accb2f2335b2cb23cd63a1815f04e81fb9248e4d1f85ae9d3ea78964a3bc5bf985e030e3a9483395f8c034e88f72dbeeca11b5920d990999567957879a88d4dd8660d73c24f905cde3c509f76d0cf6e1d8ed10c100907abf12c8d32b1ac9a75f11b44f393046bdf139eca2db28296bae5fa692c6753e814f30583e6a3c629724d0b02dbb6d89d5dcce68079b08c9a8bcb172f12dd0a8810744ca258fe73ec5ea7b105a4e91fca032a083ac8172c7f7a4317372bba81e352243c61de7b6256b9171af6775f5db33e9ff205774f4eba736592965770f09de338de867aeccc0e3f99009952604100f70c8359e893fd015b70e54814f57bd3cd738420dc0a7db3ae4174c703d131e2300cd68b6fea2f71de287bcfb154da493fa9aa14e32b3b96e6fb0a04eb18971028c7ff83fdb646005b439fde203ae5b7be0d15e9285346d2c7d3e01d362ad77d2e1f65a3cf2f42792e76775e5fb10332924697e4b41bd44ba4ce0d898dc295db85f619d0bdd27d28437ce2c00bba5392f8c3cdee17708177fc2594292104a34f72eb86c23dc16800728aaf1b9aea917fca3283f9336773e871765ff33e2cc06b1868a80d0b57133649a90771d91e61117e816b1a435592c34f3f03babaf60dd83486d2346e896b9354d1c477893c385c690088082fa83dfc0f118317d7c76c9270187b620f26549dd995cb4020322efb554f52266fbd188a711f278731e17dec3d10b4f1577a836c6cf13d8d9a1d06e0d4a5073aef3f347212bb4cc873bae74e6cb1daadecdab880c5c511c46ee7efaaa2bccd2b6e1f432f7f799f2a509f5368edeaab1cb542ad6820beded9fe16ab38ef87a3cfead897b0e8b81706410c13a957a9f1d532185ec999a3f531ebdd3d73a2961f37a0f96119d79c1b4b7dcd6976eac9059e6fad297b287ca2ef8c63d6ead0fac0c2b9875d9a4757da436b6b3fd34465f69b1ed4d36e7ec26b0a5d977140aaff19ac6e869f8e9965b0b029046f29876918843fd820bab2e7fad7640e1d17fb2db0fbc9e66b830fc5471a4e270dd0b9191a4fe23df97a20aea39fe49021b886a1224f7f59b973b271ef21b67c319c347070b5cd73ed27f08a2e0526c29c3a3e904a8fcea4db8e14c366985a5f92635d72e28b65e05a2ee475a276c3957bf0581579941e6d3796c0b9478e3331a7335d7b86ffcb2ef009472791cbc07b6906e11cf9477da502246f68ab395d044d3f6fa6119b0213098f39418e80560d2fe8105af1621a2532587d70b0273feaf57a4b6e6a4b6b5f2e88b661fe90385c513c2efda20581261a2f68681d38e79208ccd07b32cc90e105383d54f0ecaed9aae684eefc3a4214a8e69268b15ff2b20d69a71ba921645df093ed826e9abea0a8bfdfd52d20cf6a24b16010f937745bfde7794993d685c50f6e9dd9089bef8a9d0a23daa99928a3692144d8b124e2958eab98d25cafbd7e04dd75c4b60af962d6a475e3b6413f0de4fae848b2d3a496c371d9a7ac5dbe743ea4f3aeac4f62b645d6023bd4ad1e0365ef8c3a6bec7851f68ccc75f6ceb9cbe8d30548bec4b3e841c82b86ba387a3e3c9596a221cc4508893b958eced9e83589a116c7b98ded21c6e6c81c06b0d637ff991f659bef07d1f6c97d79336bb679f4466b6c4f2ba6ba0dd22ea077902d2d6c253aa584440f31622c4532094e0e60d784896d4c77bf3af5e68b4a7f97c4827067a29adf051c2ef9c697ecffeffb879601962c38b5e5bff7edaa42968d4159c052e2269e632f7d1e20cc8b4c3f6289c97ac09bc3d09f62f7888355c6751d87adcb31a5b78504b1b93d2f00946fd611556ac12174e4ccfd80878fd0e9bae75c17089c7dcac9516c9dc8d65be4c3f52d6ebc5a567bb407a7249cc22aee3cef869a8d1564e5e906623ff9287c04e30c0de8e3e09ce1a99eb0ca78c1050dfb3e45729257239ec35dc4e1e277742acc946491742ce35e8301b5bd5f864a3c97d0b065face84e7a1933e3a266458f04bf6227afc3bb9ba254cc637b5c90112b24bac11a51d2bbaf5bd9eb2bb6c35a7b7dc8b8afdab47c3531f2aaac650afb77f1165078379bfd693954f6f237319c23408199cc60de68c7f66e3eeb25da2ed6c60cb4c818e1a90102599f2e5c29406fadc6ed7bae869f93f50ba098c6786a0fbd3e124b38074e30d5a5c6fc8142bbf6f746d0552161be23296c1f1a70fe75a999cb636b3ec650c9899a841c1461050adb547b7b4e93b2d72d4e4d4dab773042298771e300552b2b481cd0c6186af27f275f0d70a542adbd92df30383f6ebc65d5fde3436eeb4207febf90e4fae21b2c112e0c0b14a8606619adbc4ea51a4518736bab1c9921c85a499d91e91e00ba2a89d686b5534c8a58455d6f2b148ae9ef4f8e375fcb7fa8e9bc286d6e647f2b961d29a10d5e992065fa5586b260f79dbc4aa5ab86d4de7671cfa5a6bade9183012120e74b3fe7484c062ccd54c0e664aabd13803fd2280768986d5600a4ec1517217128d869affea169404f6cf682b349c84fbb00b0c040df2caa8d76f41d0dd3a9ae56a11258ca915c13f3a82f2cc9e9541aa4cc0d7ac31afb445bb42808c24c969cd9faa8dedb2561183a9cde81ac21b0a417735113fe97b70bcd9a86ff357a1625d96c2c8c22844d82cd01cd6defd6bdecbb895ebe0e707d8b253274ec82f0ae391497fc7ed09eddd853ea066d1a4135c9cdbe294a8ef6da0af163b3b3366adabbd8e13b42a2d97fc4bd782f09a568d42c98caa9fd8e22284aaf705575cad171a4acdb886e68e824ab1c25f8b105d00b4b4b83cdc28e8df8d359370e2bd1d0484a3a476cea122f5d66cd8da9f48480348b39db6d87ca7a78a7e243907f13460a1529c843d72391d4184f47187e3eb493004116e9b79edf12d9077db20c10dad0fff434299c212a34de9631e03d7a91bf4a2a31c9b7c249d4690e7dbeb16ec06bf5ee4577fb1703eb76dcdd879d51f5cc7947ac279c3641fd010ce491eccfbf45359c2ee8ddb8ada935f2e12fc19b9b2801006db18cefd772dc35b57ba0045f5b43b582f9a948d41242b780a04f739ace51f4286643870c3b2b60a21c94e84577e698bc3e4f448eda82739bd82a7b6f7fcc196bdc0b6d84e948711ec9041333fc830be64680dabcd854d9882ac9d79422b5e3672cda80ecdc7c31317bf2e3b399f27c26b14c00a2bb19ff4014766dbaa94de6f2100ab26374071abfb2275a5d08f07aaed25764aa6e23ba4d2e991bc5c2466084c869b774a292e5c0fb8c6b08bc851323ca921dbd42fa203343c69e8d0ac41122ff8b20c605c73ace9462a79d0db8251ef637446968278963389e22bec49c2a3cef873c25544e1b10ec69ccd2bdedbb81ad5fd5f5d7ca1f79cc46b88fa7e43592a8ee7833e571377528f5b414559921d3fd05cd16c5ddf76a0cfa7bbcdfa1ca9283b87d6cff174ef2469f72c6c8f758c4671ba8b24de5c7ce88f9875c072cad8f0ce0dc68ded057799679ccd1d3bace60f620c6f86eb9ec166baef4fbb604eba83da050a87d2b667fd933443c23b8780a94e4a994ce17a2070bf9715dbd14de5a2287e36c94c3cea4088fc7dbcf20a196f58c748c5028fc3c1d5310ac71299d7876e972c5622028da95a3e3a2d9629486937a8b933e8fbaa0ece99346fe9941005b25dbac1828bbbe42065ee30ee165781cc7fedf9b5e01159c398aae7b09ff9df16cb893db6c388c5c18a1ea4ae7ad9fe36cc41bc84b06da51b9673ee8b2b425331d8488727b4634eaaa98d6cb03911c1c0aecdff3c577ef30330bddfa1da5a852bbb229e6a995d5b0e79a0fe62e991c802a848b692f15cecbe18dc57eb0fe8c65519ad61be5dbdea2efba4cf51cba121bfa3d64c5ddda80de22074686d5c059e536f401c0a5b4108e40c32879f85c83834baade9032ae11a45437a872579df297c5cb0d7fe0a3a71e8861c15b85ccda11568367c82c8e72db053f29d20fe35e15abebe5ad0178de80fe4cff2d72ac761ee0ddb368d946a9ac70cc2c270ae209fd8ec5f8ea5bb335492439ddddb566ee1002e750c173eb936367c08c480f37b210d2bc351d0f07fad4c26e4515aafe68d130b028d86eb0c3401834d80858d2da6ea66825d6737ee3a5cec5b4790198b486fbcf3eff7693dd3e09e9fd1fa7fcb027f0ec5e9947b89bc9e588b97aa557dba254c83a4044b323c52cabad87154de73eaf987438283c2e9fb7985e8a4f214631204112b88b8a4a513729806072394ee649b6621dc7ee66c0fb41e8f4f66515bab00c20f09806369c0de6cab171f2ccbf70f3467c1a74a3259b288f4219dfe804bf9fd6e6338f43192f8d4ac0be60dda0eee182ca959a4d044b035e1d91ad0df5783714e468fd556549072a802f9c7fde63f109803af4c39add0db8fab0b14d95019dfc26ed02dab40f54a4440de328b785a8591c748a9b330be03a031de1ebc587ec5593ce73fff1e90b35579f253d61361bb36d726a9ff086276756a0f3d642bbe23bdc33603bde1eaa0aeb22f682d0e9e5d34b83e74ba8e687515b1ec20087574349715bd047f307172ef0da54ec75ea60d3aa5916ffc22378c73fbe6795c1c97faa5326fe756681e113a8e9b008ae46540d58fc7cf8dbf3e96fd298a3b625041079783b9d0d54f162c8f8b86266804422fcddb076e7b4bc4bb4a6c35e8e704f7c7ec3865762aff49da16a245eb5d7427ffea13d6b2394842cd6f175007d4d1560304caab5ee4b626039c6dcb0a36f6836e6a205aceb528c127c3b8565e448939bb0df8cbf55332bcc80ddf4a15a69af3d36835208a63a2cc92142b4270cb12172458e586be596eae9f3ac1f6e6515fc5f6efdef64d1c4fc4f0cb878d01acd8d954f3eb8c4c666e992b0f81b982a80480ebb8d3bf20dd9c63befc10501f5ea38de8952105bcd7817ca31a4bfc11abfb0b2c03a827fadc646f1c68ac2d2eddcc02cfa297751611c49a6ca8aca5104b8a08bad082cd3a1b8c35a1a4a8cc216e5d44bda765c32f0762890267bb3f37f781241c86720199e7466d11c0fd20c19e15f57204c0a2c0ccc7d8118e1d70d31dc85d7621f487c51802e000c6327b132c5387976460c99535839a288cd3cffcb3e040a166af40770c92c49dd7ab6819f52b424a45f59ac0073d63647b2e34d806db4717a1468af0e2c7246477f5d103b6c899776fedee9e0aabcae81f002a20e195ce7f82fcac3fbfdd3c3e890922fd2cecac5dfade1d06db5299c6bad726039c462cdc728dcd3fce0224c0361c66425a361b6e62564cb9b38cc27bd4d319c4c8f3e45a6a4f8201867cbee9466d44d621bdc6c3c5762a1300151db0ac18c334f004ebf0b050948d8649e1f1799e5cc0d7e64bf1a8b659a9d2de416ad249ef63e32cb81dc802ad27dcec4357631c1f536efc419b30937732e16e6ac14a34e9e43bcbd6e6bfbead975c5d2c699dc86b91365d4b7fdd9bb810b1017e4fc3305614e017fb87b6fea0486f91d138cb1c14963defc8215eefc52c81880c63d2378616f027d7adb539cb8c5a7b4ae21ebb53264b921da666cca2a4d8d2ad3b47aae7ee48fc8d6416c9621aa86abdeb26df5db135bd78e78032234a12c087a6481c554cc6332719e7ab3b9fd4be895fd5b8be71488f0c9fba6c5ee69dd517a1a7afba9f1dc24f39eef96a23c67bd9d38f676b950b4d6389f9455b1acbc12fdc1b0766f7936c47288b3a6c80e5b2be8a9a3e1471fbe8f2c137b51c29c381c70b3a82e7aba488851baebac8568b5e8e309a388aa2107df0a4d09161fff1da321f03dd229fc75e244d20f55bfcc1c56657c8d7c1a817bfc294ad947f4c73146ab5a08e2a36b41001a2e346b6e80eb26c2b951a5ac48d3c6f8dccb47865556d3bb6929f010f3a739d49b0eff61d67246683403da8cc4900f3f178a1e3c668cb4d960543d67285cc0f3a05a329e1ae511a539f55b4dbe6b57b1f3e8be9369f7ddaf53ccfd865b3938fce384050c7592dd62e0a07d2e67d651cc5ef538f08f571b892f16442544f36c710ee19dff5f6c9f2dce3b1303fa85e49d4786a040c6a589d9dca1db3e0ea7c0d7a075697aacbd551d65ff39ebcec67dac0efa1a454df6db740962f45636fa1b4d66ce1238a00fd92569680b0826cd1f8e1408aeecb7056d6e60c0810f0b89834b719cf8c376b40964a81a990c354f3a56c13c7eb4169a4ac5b16b1fdd707e3deff1c9ec57dec0c3ea53644aa816c6852621f13ba8dcd23cee6ce9a44a8fd7c05be74a3cc5980ab799d13ea3ddb47c253660d97020801ad84e13252559db710141cf34928567ff66e0e5d4fd9eac5026a852360ea106c45d54c3ace7ea9d7f7c326e9801b6d34777e92cc57079dc8b7fde702fdeb946a1675159538c04197c732c9689e4626e9db1c9f6f527f8519f0afb8a71f11da8c3574ada61362dc6224da44f973b73f6e034e33dbc284a6f016834aa45e7b0b21356d6608964df6c5353fad714c35a385ec79fc203e17a149d1086b310ca72ec5a1931a2af36fc552e3ff32803d919310115aa7aa191093b0e4f0eab67f10a0307e6dea1a821c4e6d6c566ccbefe53f96b634f5274c57ac22332d133f3618f22e001ded7687fff9fb02cd9c597445b8c0b6db9f5d49274447552fde79c7b06b0ee4ec81a9b8fcd3ac3c1577b1ceb1fe97678be314e090e32bb35bdcda3b8ac406171b3211468ac008567a90bf4d5cc7673b087185a9ae0c70a5d08e98c94eaa64daebb5d80348c17dc658e607dc0922612255c8c2170f592aca4c5a8e69612786f8e1a3c75ae54e3615f9e543ffd36dc0a364675e8bf1ed70a21781ab37422e019fbba176f1910dd3437831fcc12a05740453c95cb2f1bf394fff358ab8026151e41da835fec27de06d7ca5226bf17cc8b520ee0509750025593232537baa1bc234669eae9f76728e3014186064d0228d9672068f3aadcc0bc0aabd041986120751e0389d0bc6ddd630e940f3a6b39136efd783d6daeeaa779f46a618f24d559b6f38de7bec04cee7759c137759765bbe6710b1269db075c979fc741887ab24df072c3e7a22cfcaca8d1d3d94e138849ceaae982aa717bef020c50097a44a5fb44ca40d178660741b15b54a23c284c4289e77a830d2e7e1532452188b948737d22bdef7c1035679b9623a0c40cdb512428979bba0dcb3154a5b791589854f68f33b13eb7c76d2576d399be3e440ec888dfbeff86aabc07a59bc0095e55233ca7099a0a0a013fc04f68bd84c1748a55dc0dc233d8c7d2a13a53f2eb07b3a777e4633cf0f9b45284572186d53b3ab0a606218ae9f74ed1c6d21241d6e20e016cf013912606c04b28e6a09b0a0499b5ae9fd1f6d3634ae14fba2d14037af4be72111fbf1f1614e4446c8e5bec6d3a40c3a2838be2168eb08c9139934add8f05f7f9403772f5b207738b3cb7661a92dccf98e4736b489f09c6c96e0faf9c874a084b7ec471ec7a771a1b1dfb95d19343a45cf748d63e02047ebda52caccb9e59b8c7cd417919714e112c8c577dc6c3404ae6396b1da2f84dacfb9645daad53cd987591accb99c0e44c89a886cd56c5cc4471119902b14ccc704a719d60b81353a1d22b1c1221a214aeeec2ffbb70608340eeb54eb51ddd2d826d3d2a3a2748321a83d399d3609a640ed0096688454165d51a3a5336ed7ff8150c9a3f5f8cde9e1c0a5332fb338b15210a3dc9b502886dc8d6c3bb0acd40d48457bff122de6072ea6d62979f2d9a267e3b7e6abfd503eed386f438b6f64639bc0366052ec7fbf188044b2a85b807c48cd29ab2293c7f8c049ce6fec7ed7b9f4499744e2472ef6f448e7f678a776e9b54f3bc061292c03925f165cf34537b05b06d323a7d37a9267a39a58d698e6b0f88aa7bf5ac345ba4788f0ed0f950bd9ee6823cccafcd2e5d14da3be62ae03b01b8fc1969e790e06769078eedddc55cd5ee59c6f25ae2faf005361252d1270300d2c5aad58fdc74f46bc73182e2f6366915e3f99f0299e1a978c6c579217081680fcd1952a86936bb2f43b0af7457844a38f9a1dee4946a6b15dee16753d8815d439e2b2e734e5b6109d28d5069df8187d256c36804b56c5c45dd430ee40edd3e23f419b9218a06db695d10c815af1972a71cb5051ca31883f29a76458c2ce7b74bae008a5e87fec58f94346598b8e358091fbfbd45f5b8e1f015e1fa9dc47031f28faaca8c9f9bdc3d1b4caf0c5547cade2769ef31ad49cb154dcce289f312ec3176e2f8618c04f979d3c3808d7f52cf3372359b5bb3f124476ad2f1e46ebb6c953107d7a165166c6ef0368098a66d1f446879a6c3a930b51a5f002583031daea392a192960dd7fd2b3f82f603ef4132c892005433b14c259e90551b633975c1689f271cf0a8e238421db8f9af6a3cf5b228aea0b31ed133c883048f6f16b60556e858da49d3f95576ea81cc78ff5068701d7394c6a983e118ef661be6defc0d1524651ae85983b106671abdcd524475e8c97f9c3187f38fcf773bb1017b2e418601f42e741b440696044663f03002f37f73eb91befbea70171b587545b930cf79a78d5f55f79daad493bf9990fee0568facc79256d92ae80b9e8fc398e96bada59c8150777f782de7c78c8e8ccf78ebc416472ed0492316202b435018a0710bd490e7e45278e9e4bcdafb3dc495622468c9afc792302edefc5ac2130121a0be4e4125c0cde6dcdb1d1c17acdaaea0a20e6983c35bb23a77eee6e04c098e98a14b84a285e2217d9696d7300f3aaff50fd948e712798d19894586bafef80a4aed4632d4db587e0c82cf06df628fc06bf1c8f081c60bf561588fc407485da9523c6949f66f84501b5a2e58440122a405f5136a1bc1857f44ffa2447dca7ae0a75c5e6cade88649896b9aabaf6383db0238141a004bb9e55c4ec213c535f7f2931a435220722cfe26793b3c5ab6016947241824446a94c5c4f856755ba463766204c5375c0474f1728e2b557979cb73707f1de503cd75c1db80ffd2ecdfebeaf581d0f22931a15e9224edf19f4fbd5ddc27b8acf990be40d3bbc0b48d5d518b90011d592ae2f7af383d6995f43ddca67eb8105a9725273314248fe608b17803f451a4fd8a130514e2dc35121b16ccbb493eb92c9a72ed64da7923ddbdc99d4211fcf877d324555c0205d46e6b9490b1380ad2c2b3e3904d8611d0e7538812533f90bc389b27df5b6617a1ff8bc78f3404905ed0e068af0ae3e5eb722e87f9584d79fc1d9a61f5bb53ad7b5bc525d24e7ae346bdc5e598d6be1c19778ec1f9497b2866d17d11ff6c0a38a7a52e9044e85c4b1a7229ff77be7d59428309275be725cfce690c24e28cd6781e8860462c6dbebbe9660dbbe2eb09a9e8f6241d328fdbe240574863a93d6844196a949787bb3a248f15e6f888f572055dcea06b19140c8eb4f8bbb53c6177fbea86f7188be6ca7834969f1737505c109f049b6392b4ace62ca3f81a33c3832de66ed19499f4fabc1ab6951e19cf8a994be9add8a18ba709f443bdf8ef5f1010957bb11c36118018ab9ebbbc00be599e7f60734c32f959e20aa68920a7d3ee0a726ac548ece2c53f1224b6b0ec0d9f637b652f8fc64ab40d19105304ba2a0d14341bcc100923c4b250c4f5132b71e0a8dff25f5aebd7560b06a39e976f010454c804f7d367d7aa3d47c1c0a0cc34a482e1bb96c35de8b06228eed1b292f58030ed736df45e59228a7b1e85ebfcb0fe1efaf4d644654b846694621e3aa71a280d78ace760b51c50bdb26ee206fe6d8ae3b900f7121793204bf412d49f29d3580ea36a34aac8013633b127ab87038bf93c0da3b65d5171bcdb59ec4ff6695c182a157cf42df0af0bd83a4f7007bca6fcb0790feaa9d16f53e1ee39f041dae7439b68a21b79c2e336a594f99e69cf7862b787363fef9fd54071a170e618655576dcf3eba362be2a7424630d1f6f71cadccdb99c79b9de826a04303903e9183bf37388d40a877fd076f8f06fcd4a08b8f00a5f67997773aae45cbaf2f6497ccfac09edf8ec2db53ae86e2a6ca84f9d8bea17d003e9d3d28a3aecb69c4d60170e3f055e275a849dfd9bb224210214933b28017d4b461b58e682bcaa8508257009c83cfd4f8224a50c28cdce3a3a803d606ab45c672138d201c7446754e348139e6518f2b09c64d1ee6bb6cba52fde5184e2803fa3e6439c38e60793263be5432b5063b260ce068b1a6669f62c3f73f6c0566f19d83c019e0efe40bbebbce4f80e3c38ed178b4c63fd5b76b6ebfa6afbb39cd04c909ce96781b4c18258b7429b706719c42eb8b79506e3caa4987005d541fe00f90f2775b10d0227daa31f9dd9d65279db4f2d011db97eaf9ca52daf66479094f7b7f5bea3a97f2423379a8b672bdd26d3ba849a334af7d6e016dd31361f30940e8d711efc88e0b88b960d8e27a0f0fe3bda5f5fdb7a263af87a3d346e0585a9e2b8db5329355822b05e76b046ec925fc098dc8a58306150eeb4d641a40469f3f7ca131d43a254233aa5d5d256d8ff871f191e4ec55ac70533e25b4fe91f5e5659138ddc09ce60bf182442b4e10631184018e4a4d30826448f02de77449d2fe660d733c1e60021e8efa0a246eba156a141ae0fa04328edc8f999b3161df7a8e70b8180c563cb2d9eb73330b79d9123caad6a3054ec2db1b97dfd1450f4180a38db82fae1e983a5296e9fc04f57d2e142f8dd7418875cc47ba373d24beebb69eecb05f3c1450013a458713a9d0f184103c4dfd6b038016717d668783506522a645eabf1659e56b5eb8b45e85e2d2e5b608bbdb7406cacaf6482722f015189c31e818cf6fa628b8ddf5ed7fc3a3bc759b5756358f4e7d332bbd74cc459fbb81ea68dec99a8b6a403f03c9195f378b01086d0f2d467b08cbaba62527dcc57424f73633c86af2cd659de052b9ecddc9d4765036822cbabe859b132acfae7f7682ccdcb1390c4ef170161e1912bdbccfbf5089fcbbd681406415431cfc8fbb235be3c7dd49e04fbb74ad02d5914e5f34224bd6d6b4d7e71f7eccdf8b3e0a31a27159113790fb7ad988551e97bf4350d1651beab6a61b05d2a8ac0607ec8a8dd16f97738a22129d7a7c7d1ce5dba194928a61960c86a56f4b768deebfcc82379717d9116ee53e1602bce4ce112f9c71d3e3474eb4743f2c87653f55054a88d65c25fc2c693fef037395a4322c2b6f40cf87d071b30a397d52871da164161be8d9acd5a843984c68a3252b1d44d04762e6681475fe9fff4d28912a0f83977b6942ccc4f14b088f8aa45cd7dbacf94f88447839711b46acec7f7b845530599575e81580b74c4933d332a920dfba4b5edcd2c50fc19d67d6976f91810cb779c9ced4ee8ea1244992ecb9969f6af76c703c0ecb529cc43aaebcd96dbc240acf36b0354caad6ac4a8fe1cf1f5bf38fd6156fc36170fb66df84da354abd55981b82b2b46cdfe803b5db984aeb3363783b42c5c23e7596f1d1a9acf4080969615dcdeab7ee69ec7a20ea941e27acfa9023d4e9cb466a0936162c11cc8ae2ab105a9695427647a61ae2cc180084c9d2ac38023d29d7dffb5642da7cd32f281e7e66155fe6e00bd04bd3fc5e0c9b5d02ec6225f94bb487f517b6836ad7a33f94f43a856e92dadeea63ce4564fcfc2c0601e2a2a87f399ab6d943df171e8764dd3a8db2063dea47579bee3e7f12a1cea8654a9349b32e3bb644cc1d0c5620b671808c9a828a57ac6b0ae5690687ec1bac2eece6b1fd48c3138b0674e3c80aff8b387b466a7f24c46d731a67ab4ccd0980a6991a91f1e7a587b06ca111549a4d3cdf3a4312fc87cae1a623796b201734b7c0beec6f0ad4c7bfaa3bc9bf27719d772a1cf728d26966976c31941ed037555443c9ec5e0d9719970a4f68307e1384ad03f66a3393aef0e0236ed481fabff7e709218c187c727e4d1caea2b9e51451686bb9a1c6384f8870fd2c6234440a88ac846e85c3d8fafa8fc54c37c7acca64f420e46e5fe63655e291a86c1d460fbd9ecf420279639eb5af6be0e11fd825975f4ff55888332c5220fb4f8563c912bbd9bd21a571cedaeb29709023b4ccc8cd6d0e98138e05b45e4508961490b5dfe50dfa180c440d63d1be086276b4d77971cf6e2a8158428dd71775b42ef575443b49de8b33b029f5f019aeb583028a686320c2df3ed4e0b27a809938714edd028019caf56cdd885d436f5c3eec7d5301e58895d345a373ab71fd6832fd870e1a622216dc29b127446d516d2afbd6e36a0e5baf5255d0615433399cc9a82051b92dc7dcf8934440840c5d250e5a8a980b80f5d0578459e7f724ecb23243adaafba055bcb9f307b1eef052d3c91b85b966029edfc83a9c359d40163dd36206810e9a18ba724a7ff77fccac5e54e4e7be3f615103002e90e365613d1800b3554f28a33bdceb9cda0802d659a824cc1f2c7a0a21c9df06d7017a77b5cdefabf0cd6813a9c8303ad179a9ae2870d25b124ed31d8a90ae8368af26efcf55c87004f2d4bc2ba98945dbec8f9d45842cc7cb9299183041e0379e44c29df61e0885d4f9f8714c4cda0f60254aa16d2d764d58906376c3ef177451d326a849891840de4f6f46a73bb758b0646a860d21d053479c353e95ea55dc3f2408fd1b4d55b7590e2c9a65800837fab890e451238c8aade771e4271a9c5b7df45600849e9246cbf5179221dc2c3452038f38c0b54acf3a58b7e628313992c9d632f14d6edeaa6fcded995eaa7b47a277afe6eb16825ed77d0f160a30c8ade90fb6051d644a81349af7b1e653ac0c9ffe30789aa7f66001594d07974c26b828ccb6aeeff51a12a977a2e43eb6251efe4e2152e6623968d6425f1bc5ae16f02c27ec415c586cf554bde71399c8b8dc7f2b8fee1b257b14fe156a808c9a467b8644d39a19cfeecce04200f523b2710144aaac1f512b381a7f62f80ba0885f99a30c277f41ef01d61d23034e386e28a046c0ddd8c893c69182cebdcd8a571325b5ed4ca054e1d832a9f0ee6140675e8bf9c04808490fe058fa6159eee50587ec5e1effc6b299fde85d208263c4defbf947a4eec35caaa2e80bf0c560b3187c46817ae8ab091246e1511bb4d8871c6fc746559151ab02960d6f1519a7df19a14eefacaf8b278bc63405bca5b0296f6a71073939b704c5277d872c62ebf9abfc3e0b5ad4508bbbb9b9dc129185a44ba980f684d00582f5be286673d3fa2fcbe9353610804866e5d39445880d8b6e471877ecf931f8b963979ebb077b42f8a1e3814d6af54426448753261b6dcb915dcb2b7fd2f80b81c2aebcf7149e8741d95ca0410efc0abc5dc17ea2efea9056c0167bbfac8f0aece58bdd2aa11e0c4cec04117a96b909e721f61a8e5e3143c4f725829322be1a42d67120e5e0b6ef7357547f8367aa4ef8caeaa5ca3be7f987fa33e6c617658c2a18d5d6abfd8ad675127a0d8a946a66608a867e8a29a7f6689bd3fc7d3d5a4c403bbdba4cbd1fc119191724694a2ac2547f5e8de950a8f1e5673fb2e607411767b63e6aedc7656744bc1cae9a2b1d3c7ed03cc153efe40e071cbcf2970e586ccd80999cfe55cb5e29869d67dc42c161d5033c0c6e9471648a71e38cd42ac41e2c4727a20cd5c94c227f3c629ed1bccfa1891f7567a1d5c0fd94dae4c555852d4039349ffa6547ca33bd1d33b41860c85c7142275f23ab32048e369ae8fc49f8962ec8831cb88a335e686e6a6376b27f77e391d4b64e47f614ebaab7bde85865bbd1abbb20bfd435cc95d7f7bf4b22f760f215934555a5c3431fb79a1e6da048657d583c91e7a2f26214afa09af569a974552b66ba94228979a664562f132f49aab16e08fce40cafbe5029ee2f387554d33a3ad75828a67b45728e0be18fb1d30d8c9388d4a613ddcec1dea342abe2ca3da1b4bfbf10757b9bf687a642523df685d6f0e57aba629d5a52e603846b9b2489871800a2e48d50fa37f0889b7b5e23aa56e9b3c57de4baf50c91564b485f014552024ead15743fc230ad0934045cf4272d14bf1f12a21e8777cc38ff0fafd45c05ea35444468a60d3f352ef2c53bfd7899c2aad729977a972c4e4bb2dc6ad57bc6e260e6c898ffb0d7abd6059d4e904146e6e73000a43124b3f5eae9be02b9284cc0effb0bb495e6335110a16e5e55b12630f895dcb00e0e3d0d284a60db856c5fabe3e3a51bcfc20e1c6f7956978327a716bb217b284d890091432c10485e2953fb50d19f8edae7bc2fc44a41cc660fb19aeeeda449df34519e013d635159c7ea2a64a6a949069003cf571340dda4bb82e85ab68088a352bc0b5510cb0cfe45c1954e632fd83bc60c40baefe828b0e44910fedff513732a1fa2beed752462689bae466618e3bead89a07034bb9c1f8898d9437d3fd0788247d3cc95993f7e1f0e575f3a3a65ef7e350c1e3dfee6f9bcc28f78ab6c4f5d08186e540308aeb27c58767b5145f1a427fc7352f0edcdc15cb4ef6c838f8eeacac6b4edd61414acdd930587935efbe26835681267e89c4e426721d8ab79d82e6e3681857d00325704af94c3d7ddbc3828307ca7a5dde14a10318e5051b70efe6d0829944d8e1414ae216e2e4b30e7cdd21ed87805e551dac796b7dc33a6d9a08d232d22b99d617ac00496678cd437ad17dfc3eb63eb1d0f3ec03b1f79a342a96d7e612da30893765f736239ef245479ac4b1e7e24b169a427400f8e40a6539fd4e10d73d60bc887035c8edb63221d11f3de180a46b35098c75571353eecd22118a8f52316886e8568668cde313350c3eb484b1a923796ff264f462a4394bb0996ebd94283f317e99a512fb84b5928d44bc5f55988b65c2ab9c3c179b31cfda1e44c06b2e6e7b0812a248db304618d3d7d601a51c20668312a954d748cb854801d1efff88f36ca69975398194da78f07156e0f879a5d6e0a0c0b723478423648afceac4ea29f34c084b9b29ea2f73d42482ae6937126ba0bd8265acbbda558fc6348321f8feb8ec3245fa8604cee15596907ed02c877cd45b11fc02e31a96a5fec8bdbee91566559ac32ae42a3ecafb09d9a9baa3dba9dbb9cc8ad42a425518718f8387454e8926564019f4d7857350747504fe7dcbba5a8e386df1869849acdcf3569493a1f95d619bea33f9c09b0663ad591239b658524e31c1f2bccf30858ab3868287d09709c3fceecfd6dd84b86513db9aae7634f543b4e0c1ff43f91aed97cfc9c8d57e634bba51d99bcf663af96342f7b89c51868c79d3e30669c006e84586ffee02743f187221202a7489ab7233c4957c4e022d4612c45351742d876bb3142c5078cddfc29e159d0e1c90ddcfd57c15796df9dafc689296a69c06851ebb49d3c9183cc58e7a0150ecdcf8c5476aa622485abce6936aed58721432b2b54df46a01de28218aa839b7979ef3eeed7eeae8a0ef27def12d0267692a798ea6121c978bbf70a0e3ad1263d61a08cf880270431902d1281336a0029dcb3036026128f0885569054f6168b6492bb5dc53662cbfc12b98751265667f6795cb9702a964af634a827cbe1642b599367d9d207dfd047270fd0aa8129681b564d281dd7f7f6568a5dc257db504212fb163b40dc4518fb76d4d29050a889b3d8dc89177b83e93d468b13840c57b6a0beae560aab5c7faa3170754e1cbbcfbe1a1f9b7d8a5626e63daa41251a75b0aa700f3c788362df4df46672b22c8c88a1f2546295b12d19948ac91ddaa9e76d62e85d75c452c7c4afa0ec8f1368d5e116e08886a473b1be8ae494d4b6c529b7049a4bee94524a9f7872db010262b607763c751cf4ffddeb06ede6a4709c221fd186ebc1d7497dfbea395b8c88e5886be6941822370592aa5a6063f146cfed671765f860ea8943a25cf3d00f9944e98917bc7b7e593c40f4e0f71fbba63a56587c18104352bd08163c1e4c83f85a498050a73af8a91882c8215cecbacacb985dcb16fb3b800c4b363cf090a33e486e0cbec32f12cfb8c4b38167df17bdeb0ab89e6ab173c7dc28e09759b94aead481835f96d03689d98d9bc719cb277968ce52ef02194ad7b7684bef1082de8dcd8c85d3405cad657762b4a20a389a694952d20f37b5278a96ec4592ca9565e0e5c025270fab84354d6b6474a9cc385f5a328ce2b5d6086f3dd4510e21af181f7be9aa94a50aa0eb4fa6adac995a738445a0968fdfa0e8883dc7e02851b4013c42657a6957faa037c29e1262501cbd7a3e5994716d0b5b788fa35c1ff24230be55df2f995264f727926e506fdb744e617898666990222df5e6ff2c50164d445fa8e5bdd4c7030e661c71ccea546afd448a1d1c7021629a0c9b7a751ac442659656ceab1130c903dab726142e2a690ec8331e0e5f346572490511bd2e7964216584917d50b93e8c0988811d8b7f01571db5260df0251353ac0a4f3e8ab81734610e5467e634a460f3a07a746963c734f7f048d1916aa5a553d14ccdf96908dbaa9a2be352b7e08c25d0269be976fe530bcca8a54f094cb70ba7ae45de69bbd62414bea05cfc8adb4b38686d2eec974f269b9e34b277a7246309665819d2dce185947da0b5d81582c2935d3d76f60a266a066832b68cead071e12355500b715f5997d3bf43d175fd451aae0f52a0357315b9c7e540018a56549d0e1fdbaf4dfac2276f8dd3e203129cac3849634cfadcda7b42aae47c7657236ae735b7b31c252d84d24f7605ee2d64a651e2727df4e2779c6188d373618dae383e1656302531ff3a494bbec75e22f982e23d5a0540fc049f4da9607a207125d8dab61bd1fc1eec9dfa35b9c85196d3166d9e0206c52e9d3b1517db49ba67a6f946dd8cf2d30b5be000f43b3f9b11e5dda5e27f25a64a59f53b66fd6096ba751ac085b474cc5823feeceda7663454c8c43f0d79f53b71a37a6ef646e048cfed75b634c7ad1956f4caaee150f12827e983c1b9fd18e4fc8ec8befe1a402bf512f37da20ccd85b74f0757f3589148f3981a13a7800c16bad0cdb839ca96e3e20d7a81a6527d71add535595f13f120ee65058acae28b2b62fb74e7c65aa31ad8a9065aa6f553881e5427cc56cda1012f321c6088b2c774e5f5fceb558eb7dacf4090ae500198fc5a3899343cfb0187c3f7b5e223f87056b4732fdb08eaed4df1e4be4b371dcf54a751b83018e4e9cead2524a227c192b67e79ee631658004e437144568d2151584a2b6b71ce550f26fbba949c00d04d6281161edabf8cc3ddc8b2c97dc3b5dd6ac7dae2ad49cfad538fb9190a61124c4cf8359a04b27f3dcab1196f025e9085b008cfce76ea7292742f9f011c07e9b7d6d1437d7205083c75c703859170ef34de320ac029350185019125c679a7643b73371e091d17eb207c75b83c0581f667964ca325086a142d1f0b93b6a97e15b9b12e6698fa098055caf572d368d49f044b8ea6e395d35957276f1bb0116dba6f0322701678c45377f3a2babbae427b35f03528b8edde8839a535d01ccc229a3295873c437e8bc9ddead7b9a58e00dbf01e8d88c0a1fc0e5fa46ce3fa8f292c577e42a0d2e729787676babb55d1a73d56c8fe8a3227d80e8799a4782b1121d82706e412a02a483628339009da95120ef56dbc314c5f9e4807285d6cb169c34f89507b2cfa7182c69c64714dfa137230dca3c0885958fad01f9691fa9dd62faea95b6a1d2693589e5f5fd91e4ff8eec3251791676d7f3a993e13a710f527e1b497a1a3836a2023f63c24f1e1017707df1ac152ff77b3fd2a17434316011c3809dfb33662d9d8989cb80ff882833b41cff2e053a8d59dc29b524997f1c9e85f1de6eeae0d1c967cbe455b45a383661d48e918a46725b509df36d281e217f061f499ee078de18f268691446cc6e6ffcb1db0f6060dfde8cc1dea6035c710198fcc8107e74bc77eed778b82dd6b1529e64e921bceec03fc4f0ff4c4138a2d3fd430feeaa14f99195460faea36d941deda52e52df33823e1e046fd4c5cebf4998962c3b944b227a7a7e158e255414773ed5f4c52b767897f20dd2d9363357415d4d65dc7109e0e5b6f64cf870c3f3726f121c7d0be5d6831b616bc52c17ccd76bb66fe8e27d19581a4601007fb0680cde194adec01339197ab039a72e41df1ab388dc621d41bb60c7a5006fc2f6c0afaa376bb4a0cdbe45ddca1a938824265c50be8f836027090ea36b63b3634c7579c6a75db1bc88f474ff6b0831f33cecdbc1af0357918b3da517972c94f100e48bf6caf3e3627594074398e633410181facc4b20324664bf858113e116a980d7ec090d9ea3165c823d149ffff1245732c66e9a1ecac91074526f734ed76514352f07076c18c00eb6e4642ec30783b515ebc61c07364eb63aad26b86c8a9c6bc4f7854b53baeb5269ed5cbb04badb1e616b15b29702cb5fd51d355ced0fdd9f2e49f8d536d7cda8a5b3bc6a07db3f78712fb4d0ec58c58e68b3bcaa6f8f03ae2c2fe1c4e0e758498d884670ad7823ee9b85d982b42ba5af3fc50a760788253abce919bbef6383e4a27e922f4d2e2ea162aa0b450d51c955be6b4dfb0b5145167c003b1031c89540e98e20045f474a7bc5e990c2404f184eea5487274850b042e2e7456abafc6e8579faad78be52940092161b4516881ead2fc0b6d9443769363162ebc01c84d5d91d39d4cafc7ea0207f2848e61e8510c08eda0ac2791daa77a86effab5040e8802f56e92de97b1a8889a4369584ddc9d5d0e237e8637868bfda8f1298834c7a8e6bd8349a1e5070b558bbe0bfc06b8bf46978adc1fe046a4486461c9fa70b74e632e4a59bf42de3b48f36e70ba65fb3c83d7ef7a16a9aea17c42e767c0a052d5b9feab03b00646b93d7610d4bcd601851260957e7eb94a721fb7c111578d17af2aae563b00a403e07f56af8e9322f7aa462bca93887b78d86bd46a0babd8ed4b8801e647e1bfb2d1981760725b5c6d544a96c784677f3e9f79168c457c707d7c2a90ef85b3ca19af5c4d2127c8366f4d0985a728db5833311f186c0dcf857a941d0b2929b75a3d3d2423fe64d681ac98243499a4328337bcc212a5a40b4278783dc7febfb24070b530dabfcbf5d0068be666b8bb4b1ff79905be9dc07ec983fa52b11117394c9c1c63ab5812e224d6ae3ee4dfda8b6da69870c97b96a31da447ccad6b07da6d21019c9ca1834d1dfbb022e892620caee4a3f8c9859d711f7ceeeedd9953b2295ffb2a4971a8a534e5116a02885e0a83d8bc77ce6e26abeca4ae050699c73b181534ecf74c06b9aba9ff724022709a483d5b824cb9673d01c8efcfb7778cf0c92e206a521e53847f6fa9e950bb432fef80801594a71dc0f4846439fa4e232bdaf8a62f5d9cf761c69781836f3dc3819947b739d88a08c9a0ab39760f89b2edb78702414b0ef347ccbdfe75a4ecca8f798e626c1f9a804975fa084c1c3d5155c69026be9c9c4575e7d8ef004b22001dd129c15e390502e2119b37a4bf1f66fefe2034232cd3f087d92908f9c11092e0a94adffb42c3f8368565ce8b26bc479aefe62503574bebd6d81388e1d9149af8f66219ea2e5b3dcab43c8a4f247b3eee0d2e4d2e20ebcf4ed3b9018e186d254924b31d309cf3e53a19be1e980b376ff1de73c24556ec21258f7fa86a982fbb0f3f3c86aea174a8984e39d98f68edd815aceff366f747022df80f2c492aa13f30b98719948ee01a2f16ffe848a65a3b0b982737c982017c402151b1d79c99ed20ec947f9f8cf1fc34c6fbdecf94f8bea3195af73ef9264d764ab8319e6633b2e3def2082a68f825717b4ce089397dccec486334bd77a8b4ece2009d4dfb43c7852bc060ef0899b015189b7444aa7b7a2bd638a8d4a8f117844f51b0051a726a7de26f2f701a02067ed27ce2ee00f219c97869fce005f15b5af20f8151baf951e72acd89dfb292b87a78368da289a39fb0bce454ba63b4630f51d203e0b1dd6fe2c71a0337bbc740c602b0d4b8a54a49f2e8bf5522e778414dd46b828bbe3e793c56ed3d62240a1a75e0febd404baaae20e09fd151dad3aacb1d661aeee6c7cdd7341ba47232a8e4e525c7128011bb1df32a6066c6e59350e22a4e1e1febfa7bbe8a8669012bda351cd4a2148da04df5404b233dcccb7f5830787a5838611ef161feb673bc51f4c7db6e299a40fdbacc549a015215b50c9e610d1c2c071b854448753516627807b24395835886ecd187d8dd31391550291fc77709a3ad80ccf3253a5e2ff4b0422b08464626e09109fad981712ef9ddd556f6595e3fef4a69b6ece5bd515ae7138e57f3d82ec5dca21034c43c2a4d8479c6833d4b2f8b699e688ad810918ea21208724afdd34b10d3657c2b2dcd515bdfe1ca1594c9a05fad9fb6a2228f98351da53a27a055330bd688db960c219f55e338b246fa19bee2b30346c4aa143d59922f8c51b7ddd7270d01ae339dd317284ca3881ad725300dd654c7c7335457738d5875364954a359c8644a6629e289da4f469eeaf7e71428292c86268d0c297a20d0606e43324a1bae46cc6a590ece09adf27075efee37b50db57236007c391a25bb59a4a674ad91b56d6a58f9eceeb5f751f5c29e1d3658a969d5951995b3dbc3183921cbe47081b1da49b442ff2ca662c1e92471407875c768a93b251a7799ff137b26be4702068069c3bb47b96556bb55111c69655f034e036a99699184c58a2f75b570058490bed9258418be728f08088a90d7ad38e4f77eddd6b77a2481293a0b93985963babf457e95c5d5f744587c919fc30f7a8b0d1f9c3503514861f346c1b5db82e01ca084c1e5c07be1221d44a07707d7cdbc69bf6f7e62d220d9eafe95b0d98d466a08be8dddf349a08101b1e0fc58d36ca31a9b679ac676ca5d00b0b015ab96aac3464f336eca2e6143bc799c13ea87bcd5ae97d82d76a4d5cc1a0c60369635e5a05686eeac781fd0c643f48482ec2c99cbdebe2dca03104b29b4fba4413ad465531bf5a034489168058f95e751070eeb7cf4826af416e51e1b8833a940c2f24c2ffd641e374bde245dc27ce25f3c1efbeef7e7ad9b619a0d7eccb3070ab97132072356cb028441d64e81c1c7af3b57baa71903bf28538fcaa922c9a6bc79c3e8c1aca70690f8506d7db3f157ecfc4623cd68447532d63f38edc8c5e59a847a1672d1a5d0ad5b64d3a5e60a32c69610b79ce9e0ac6c35876b79d9c48ecf5b61f48d0cd2e2c3d3b8a3053055f9e091ce04ae1da983d196a0991f8d46e8f25cfba0616d67de262b5f55e462daec2cf826a8a8af6ee6c3ac62947318872d52a33b56ec7ea0f0114872ef4e34fb19e157d54da78121bda96cd2c8867f9dd775ce8f3dd0e9dddaa22b13c13c036744cfe79e465dc459af6ccc69fc5bab40f5398dcd763dd442f6b4f7dd1d1be89f3bce3ecccf55dfcbbabb0bec1226947023a648a3fe380b078e02231d2182221e055727708eaedc97f743a48f7295786a46f366b7ce1b793ff350f91859f5406962e5bc38392be8ec16e861fe41b907c74830f6fac5cb5c827fc6bf3620bfea437cca6f892ba63a5de48a69ccbbc01a48db34554edfeff5075fc9c7e4996ad14d30ef6f1b0093bf1afd9b7bf652576be28d7defdb5821766fb8d2ec6d52727adf59bebc9ea3e634d750ea6f6fa64175ecc17889d2875d872468697677d644dec5eaf0a74e7dcf9ab5542696556c3b718dd144ba7a144a0d06b1c84239ffb2806145da2579b51b3a53059695099d1062b965e6afad926acbd749f7751ba644c06af6b2e983aac85e5fe7c5eb3ca9d80290acf1ad45e1442aefd24814d49cec1fbf662efeef12bdc2051bd6a3459426f9ba81bb5d2722929a60bcc508a31aec1fc6a4d741901a0e5c3ef144063ecbc79090b2b3d9c5fdb5832ea12d57097c46c5f37df58474c5f7ba92e47867cccd5d863d40be6c7ff28be42608ea10668a4e78ae84434ef4ef0836f5c597e7c600d8e12bd6b2f5992efddd16a79f3c01248271d9d85bbf622653986c2448517bd66ce0ef3f0140dad934e1b212d9ad7308efa370c3245a0130d8ee1d3e3bc147b4a605ca278f3878cafc7627079c4026c9b5ef340ab4f4994a78d09ef66d4b0af463bff21c6b4eed5c6dd93bc8a72ee6a4179805848e94084c06cd029b64b6b3102fc61fe0f85ff441aaf6cf18b7b04ac97a78c1e6ad33ee3502804f29b2b440c654ebfc241982e4878dd09daca2216762988b085db14da1656a0f8607f6a95c3a9cc0dcda292b1a25d5f739fda63a4d697410f01fb96365994bcc00062361f5a7fba090e6bb2a02838abfe3a3c5a67b326ef38103441f8b9f7e53ae5275b7304876f220a3a7c2cb3e7cd51b82e2a4f51d3dc5912ed78fa829951ffa05be6d7068b30df849f336ae4ccddcdb9bb06b2c4ec243c8e12abdbee4d78d8f39c9febe856fbd30906b5c6bb578687c8ee30f3e5837884bc6aaa753fd083ae73f46a5156708c55880b9f2eb304035bae424dd6ded85b84a5053c2e854016c6b927d42e28e0b4dc467dc15c870422dec93aa04c7027d86185ccc195bc4b7d0e2a2b1897da4abd3092c10000220f802af23edce29ba9085ec7bc3b8304be4fd29611685d2574bbef5492ca2ebb2914b064024ad3df513ffa48d7e6fde9b92dbd0fba6e29744bd519a73ca6ca3c3e57f02683cdcccc7fe373c8878ecb7ffe15a9b618bd063cd07b82037173fcb59231192d8551c3b8e34b50b1f0f46753ea6879fd10c7f42336fda0d199dcac105ea206f235d84eeb7a2599d1b54d709a94fa430ce86f40cceadb97c0488195c2c33bd361c480e3635b8d8cc5d2f24b8d8dc9dc25500add0add5149d5b81ea89683eac1e50e6c6029c3ea8d4e0c0c6cacac8ba9f3b8ceb6aaab56346185990e7f2c133c2657c7d95d73e26670586a48979acaad09d1b2851cdd41646254e6399f6b10321edde7da0454b80349423af9a5bf9b0f3758f15ed445e34a640654d9cb8ab3de1023cab68dcbdadb51608ead22135074049123fb595bba62c2bf13d20a3e227271d54ee16f64856547f5d6a002adbc48b457219ed2f628a74d67bf64b4ed6fb16267ce2a66be72ca40313acad4556bccb42f38d0a33d67f3b891a51c77ee87714e4f72a2c0d87fdefa08e5feb60598d9d3c86592e7255f10a62064120992a7e594ebda7c3ab80dd2631728f15bec3f644d85a7128410dd7d7899af523f084a57ecb360915d6d6f73922f094ed9ec300eaa6162aa8113400a9827f5d5b7d6ed4c82b41186846735c22053815a51b836b3e7f668123a45bcc5197f0c3808ad4bc280419267ceb3a86ab18270d370298039b75d624fb852e659d50a6b7fb9634d90e1095286b8f200d2630dcd535d6413ccb7ef8341dbd37bc4670a04559e0b50d55e740ffa38b7a4b643a5811f377950984351727640ecc31a2a3f191f2d1f779f89c0721995e8ab34b372ef56292b5f199b89bcbebaa3fb3cddb0675b24ee50369d7eaabc0d1d12b7821c5ebbcdc480daab5ec2531f5371c1367cf092c153aa0636b6e893067e4bcfbbc6de602a07b7429f6d0cb8db9bf7412ce266630e15e973f2f96bf247801e2636c262d140d37cb929a792a76a8c01616825b711cc78d884fc41299c404eae1c2e08e370b5b43ae9b8ff52be755ea9239ab3a50c4976ff34eb6c8634113d817edcba8224d44f74d64a495459be093033254c1c5a98fc87ce8dae7c0c6d2e4bc5f454a132dee8347dd67beac9951938ceab4f1964c0fdd4999ff51b2b8b6f5ab99443f7bb87cda224dde58ac71fd3d2d957ec047bb70824906f49a3ce1a6a2368d39a63fb5592832aa4bc674589fdc4a892b48fbecd4206deed894596dd9c404ad9ad6852472bd8e148c921021d5bef58a35ed854ef03617ec7ca4e07add156b6af61057f16016680241f289b759639370df490a3a096a0857529196d866f6060914692d8930dca05edbe13f4a8ab5fc95bed9826900964be6dd78ca74dcc66379b0419fd51fb988aab0e37f39978e4f5f8dbe753fc69bddbce5f66d5790aaa851021abdc05ccdcf7217d391d22c4992f2d4c861d0da9a4349679dcc7d7360020e236157528d559071c76b67aa0605920bffc4d1b9fe79d07c2a8c9b55fcf035e2060dff3bc4c1066c5744e39daa1235a1fa62774ec564fd5e54ba33fbfb263326fa4ed57ad1624198516ba67d647b1a45218abd9ddf7975b9cf2cadedc4d17c294fa2ba070411b6dcac6b4cede46f121ef22937119dc43d146d39117d26f341a685e039f85322e701996472222d7f2cf6668ca4a7a7282cbb53e1a5eeac5b9a7ed887d69edd8681ae52be2e015d845dd7745b306cdc29674f186f508d630cef4e00be474830eaa3061b2d93ed3bf0fe9bbe36cb5dc2011724bd34f63351631c6168009ace42f2d794765c589152ae2a5fbae3d2428b5269f09240e0cde29a9c8cdc2e50c60551cad524ca75195af54953fcd05eb5a9112d7e926587aadb726dce6f2cd68ad209c1cfbf5453ecf1b825a286775624dba2ea07da106d6dfb8b92247ab05d5286e224aaad76203c2bf21542ef2933561c2abcb41f915ae2dea4f2f290d21c8b696250b483e072e8edc09268fe19353cf505dccc6ce0004714fccb352fc8302f54b112cae1a1230bb1abf461781d3710be6db9c0e1332b214ce997fb5f7c11860a891f61ce59c29e934d5204c782bff072108472d2018c25546e82317af399f1623b3c09edfea5bf60dd221adee2410142b888370ddaeb34b189c9a908d8d2b866120d2a22563620b801f7440960e1455f0aa84cd60e82af80403567fc758d32f10815dfb5597cb6e701024ec3d1b9cc50d6dc62380f06a11838c1664beb431f9c67623e099b1d5bf97b02fa16b58916d82c9e5d2a6d00e68bcd3637b54e5eeaee58405ccb52b3d805f42ce3548c1a9e6cf9d2ef229e45321faecfa98b651523d443783c4dda42a044c7c83351e078996b105fdd5feb4a9249ae54e0adcf9a210c0c9a0c9d72cdd4f705395e5b6579798a629c0307e4374cc85b24471926865dce1cb9600124cf4a44a1e9cf1c06d97d6881dae8e3302059f2527b26c6814b64dbac54450f4b68984c69e84b5cddf6f36468c5738e2baad6f07c3f211600e606fd03cd28cbf6e0eb4ad93f68d38a1362ed2e57d3a40ba0c70f6187a4920f1af747a9f2bb60f80b68a1ce3ff8ab1b26294acfae211a8332a161427906b3dc7479c53a10767c1c0f00a0eb86876e27fc4e6e8c9af34064c1e4e0b5dc44abaeffa7358ed173239736fc0c3d22b1bcd07d6f0c5d2c561a612f8d65c924f14fe88a54f85a5a72cd50e705355dc597e3c2daaef39235fb82ae7cd353c07b55938f24c1739b510dd87c5c004fc07e954db9c82213f09a979f651ae6926499568b1da15a7783c8c647b593f47ae3603692ab71035e8df7ad3b0d7180c20ab78383042d9aa5303dc5428a9af34f3e9114fbc434aead5e7a3a2092253df1b2a915e39539abe8e05f871218def7a5f8175fdba9a96bf326e5abc3cc32cf0787ee7f322c22ab5dc15847e0faa84a8d48441cbd1122cd0fffc6d36a0c0062e098d06be36367e23cf590f43b3a33567634759f95ad68ef77de81bb03e808219173c60e706367b90ce4016fb8a6e6744f2c553e54859782533ad4a57e9a5d8f3669053c59b3a9f35e71281a4811bf2ed3a6afc336d9e4ba5159cc97017e58f269ace9b5116b8ff81eed0f1dbe5d346d4bf4f2f44c121ad59a61cd79fda6dc6a3a2ab5bafeb6cb94253e7065d7ea692654215c3cc249ef42cbf55af59b4ece600a4b6c253af199d711394926b80a25f2a12fb9b87c3375d5d47dda282e43ca54d4549af487ed5ff73456c5268ae030e399f56e4253381df9bdf215ae6e58b63838112162e716e18a6e6278e7f22549d3620477af0903972bab48ede3bdb48130edc13a833976d121fc94c1c3707b83080222ed953e3b282ff7d4f6131216ace5c476aa65c05f322dd62e6b8566c20087cf00bf5294a646aa8513ebb13c1c3c26c1840d07a56c8b900e80dc6cac57b42f3b0fc74b01393ec2dd626ddf86c2e877ae3aa3aa9340ddfc4eeb31068075faa147fef1bb7020ba6b1ad7d83a044a680b0b9fe93af0d7a8dd169ea616a12a00254f08da50a54f67f85efe68ac8ee88704250f82a9d5cf96a06667f5a2a75ddcb86cd18a40fda29820be978902f6f741a542a3dec419d3fa8f67e5d18530b40318d09ecb367313a07b279c196b4eaff7e090d7a82780be67b150fdc51edcf02eaf69effd5b932bc45c50d7ec7a6bb146f8ba993f96745450067114fd9efea3e733f95caab06e4e2345854d80a9311d1a249ec7529fb40dac06b02e5c60b189baf5d15808d81369022022421905117bc7e0883b9d8cf23fa90b13317d08f63a1518f6541397bb29c88502b8bc059e288b541c75ad4c624f1946093310afbca461a02b8c9840e3979ad0ed77399e1e34c02240be0f19bd343cd0919b60477f03f4622873e2657fc6e63adcfaa79609a62a5199c840286de0b0361a46b27f08390c50168f5f9364189393bcb8efe49d2cf9fec2bc956ad438410c564790604a5ae879790121689ed7954564fe8c44042a20378cc09e369e4fcb9899ffa9a639d60f7c2fae62aa09bd2ce15692b8a27b30924ffa4df5e1ec8259868f0865fe477b7ba9ab37c0e16a5f46fe01af3b4e1e61142ebdfa34dba9fcb27082102ce8538bc7370be68e9fbba3eb68fb704fc1f3ff09e0e52c3d247719d7a87588bfb434b8a7a8e4d47ebae85d811ceda802362a9d5e3a7811adcfd11f36c64a33afb242a34de1a071489c63665e93a115cf44b92891cfd2ba6c25612e76aede231f1ac461a11ddb499a9e6b60b430b54a35c1a0293b60196e6dea8ecf0bb3a12747c53689b1ca058a7c21dd9ec05fbf16637320f717028eceb98461be5be5cf223a6a982b6946dbcdba72409a5de7b6e35a83cdd9d7da7e867b48320c8030ef1bc86becb88a9dbd1d7ceb4cfa0bb9615015bb35a4ec971a4ac7210cd79a2ea7df4a5091932fe8a72785c5e860fc626db59972c288faac88b17d5b5d6baa41c781222d29b5102030af5cfca083df041557bc427451576cc346d97768987d7a35a7c804450137f2a434b2001d113bdcb748dce10b1bca1a642a5fd029bd0d972d8b3b35e18cc07079a9f6caa3678c2fbd130ab7ef91a56c966c803066c6721b9942ee0c463870fee23de3009295d9a9155ae539a0d3248e07d3cb371fa41f9e0fce575e63292483f0cbb48f2e6f23df41da76520a3e6a1093189cd002d908b2acabf6b338ab246105a1dfb114fd6b94fdd87bcb89608edd6f759222ae4d09e4b7467d27818df741331baece58de70ad0f9d166c6b966f531c3d3ed794a8f516b298ec8d7a349e12faaf71dc11d79f305b11a6ee5d7429f6af72c0b73fc5c3b18774c8c749806784ce76de7965b670d01a84caf7bd7c68a74c88a454e9bb93175f943d0f8e1813f2cb671ae46765517d219d3fabf4bf140f70015a2b7e4f79087b232e23899571fc8cb519fdc773ecf92d47bf1ede0325e612ced5925aba6a9f96b54d05fbd86e7d67cfb04f1ee5993f517f3cac59e666c77bd3e222d07f8802a4452c8e1135037048b8bbe6358df2f9ae4b65153e9b51dde46d6dcfad6f090c4a3d66513d037131a0d9b847f6f71206d88aaeb0393c98f0a2d4eda808c1a0ef3929e51c342c924f03b4dfc84c84d8f4559199b816760e4d39deac74a531e2ee4098325f0c5ef40f8406d051b26dce7e2e5abab4491cb777aeb9998543f262c3ff9c334436ce74f72abd7c6b7c87a72a014e176dba80020dd3ac917df3b626d8b23d29529e5f5075b114b0716e89922d558237fab5c321ab65c425fadce1cb4b6b12f71bdcbfc80a024ffe6178f6d9df4a792b0d8fe03d8440168ee9860dcf96b994f15d4a81f53d801b6b006626fec22b0aba11d4ae3a1809c236635f00d804863c5f1fe306d0cb3bdc7953348826d6061c1911a92c113828e232600ea75c5fa904385ded56f3ce85e8f201b30b77a145906b8c5a6eb18ea16a3613f04abfc109f8ff11b89e988d8bdd4f6ea0bff83319d406ba1b1a6c3e734d1db817e0ea18951f81c510d51a3805a461669df73f2bbe24a9eb941b0036980dc5fe75074b8f52fba979b952f0e7ad3676bda6ec19a6ace5f9260008ac0866f681a2a34eb086437f82144f8b99878b328a31216d5a0350b667b910e1ed86a334380dd8d32dbc15eca444aac6f7383e58ab1d519da3d88e77cfa7094ff03fcc913080ddcd04a0be9583daae60dd5792937e2fd185e630719639922a2c0678a1f10cbc3eab3e296f1bb4dcbc20c0ac01f3b92008787182a43d4e35c6b71523f65a108770c52bcf35bfe9c1548fe042397fe1012f65c451d4464268400344e9924157873df1ab5cb97318323cf2b861889a04d2ebf0947748071fdd594d363f286a9d17c93b71e87d109517f3bd12ac9debfaae0cb745b7d8ca98564a5d2b94de3c4cea34af53d98765574bf466f4895f349a23316567fcd23e75e92bd0aeea440612541add5fe37e3b919e643f4a797fbe7838af1f8a81f31b1ce7610fee8faeedb1b8b47649859cfd16b8966fdba225e674843254f03aefb22310422d8ab4669894c9c5034ca5b569f680d795cee2f999ddbc539d83f6e593c32f50b841b15d745c5b23d657d60f209dcf2dd21c3bae775e6c18586b44ea9076d2fec8c88cacfaa7590df427b6ee4a43c879a1b66798b8964ca9a16b86a389f0732a402321aa5933d0e159b2fb8b0db1f80e0a2a0c323ccf54f09b9b4c5d293371d6fcfe6e065a5a33ef19e85df45a5e5555e1f8f15e9d65239d663ecbeb87c4550f843cce43d77366175f0407106010f93467e6ab08c4910a975f359027461efedb97e68cf24ba96b52a179b62f9aca1f02f93be75b7492f455be8b95df46091d31ff9491921f464bafac58da6191e901d64136bf8d4526602a4397251e4dc56f10b583e0e4068e6fa7394c024de2e07d2cb1022eac6e62a350efdc773272cb81396ad96e95c7120c2645e51ecbb6e9abb8bc3b715264c1efdab140bac898d131682385d6485585826662c4b967cdd7289366e0cd96b08806d81a361ca50e6ab0bf6f72012aa6a7d1d42abc16ad641ff9b3440f70d163864a821776486b1a552fee23f745ce1ee1052a2c0547fd4a3d03506c28537233329cf7b0e8a4898cd65fbe9793c52b23ddcdf3b4ed9ba54ca1c2e277de49eedaeee40ab8153e9c6595e24ac6b7c5b6cb700b0aa486989f84b2aab940b5d92d97fe9eb8f379f7e5993945c6656648f99025be7b3774d941a15d255b6ff87eddbc080a93444ce572527f9499f4af021dfb4212c5835c72a7dc86b8709c51193cdbe11380c15ad92d0eb4fdf66b1ab78f1b2c6278a961b09ea0dd25c626dc22be0d93b2b8cad4cb88c764e9943c07de10e98fa339bac9f800a55898034601955c296e06cbf2c346342503ebfbea5f8c517de574c0430871e2b8641b3f2d48a880799449d2eebed66d93d8a8256815df5e59f4cde47b858b796da6faa481e2f524f7a1ebd3fe89bcc32c016b1c2bd84037130194f4bd2b28e56ce358d0bc2b8582baa9472693af5815d788607651430cbcc41b899f5b09e62355b59199b19e4043321b7d0d08645e2c9ba99907fb8f5ad29be44dff3fb103dedc3b9e9043dc50ef84ee13028c80b385333f258f82ff51c4b5896295e36bf1d3315ec88ccfaa8d10c3f00bf317ae14d213a8a71f2941ebba671a45cfb1d21eb5401b79ad9bada0cf355ba519a3655643399900f0e5fcb3278df924034ca634789cbe48aa56cf8aff94c9b96127d32eb0a7b6dbfe54c67f5d2de3ab4b82dcad3e3c9c9f4586f584a8f69d34accafddfabc63434fe0522d786093d4e3e8669dbfb935019110b49efbfc5d88b0adbf83581eb7338ee21f897de59685bc093012512dfca6c776078e3acc9437afb880285ece7e464048b3f593b7f527a8147e538a483d1222d35f603a5d64ec744ffb86b85e9d5447e8ce862161accfb12772571a5e574fcf84ce739903e291a034941e2a5be97ca9cff9d906feeb23bc7e8240e0187e660ab768d97d14b0e1908cf1d50ad6d6c323f527c8c62b529697276f5f671f92c381bb6d2bd58071af907b5cc744ce40260f7c81bb50ba35709c3a60afe9367b59f309dc4e28104a01a04c4f1aab031f142c7c48f8582808149b5f9a1d9b7428ae5abaaeeeae026d7f95ae4bb484cbc5dfd846e56bd44c2de9be4ab08a83ec3cbbfd8d4dac72be1b0e7b856ec4f838e3cc77664b868e27c0816748e8006e9e9aad9f55eac9b288ae20e7679f5b0370c9425ea553b7df47a62cfe4353a33be2e38453d9879151ca7a811a3db787d40a99da18ce712cae2bd26d041820376678a5e8d5480e2f64a5526a0349162a276bf849e950cf42216184766217107cce9037fe59c94f14dd52105e21863018692b76db92e4863ad5f99627e8176f092fd003cbba2a838af3633d8ce3513779c1686be5f126955d71ead66dd2acd08feb086e1534aaa028e82458c1ba8bf38237231cde6d6121764c67745af966bc307e6ba873870867d58a7a99cce305719a5731a0633629ab54e8e6b7e828adf6135203656ca787ea217b3295b8118836488887113c620b0987cf71bd4ab4775b3f86bc7c451fd0394ad1216b776900782b4f5697ccc3cd4ad9a473e4b71447c5167d3c4b10e48a4d036646e98a79effacce4a5680daeb6b7105835257a375e7d2f10c87b3e327bb5cc7429ae005bab6882013cbe249acc8cb889d2f9e90bb0858cf5c1fb250b0450fdaca3c7ec2a10109b55b9cb2fbf611a0968c42a209b25b15ee33ed739520bb631c1e3a38544f7716c16a362a2cf7a2b83bd17086425ff3d743294bcb7f76aef1bca9efa914d25833e7ef6a6a6e6cf2ccfb1f0e965ad7a1f72d8ea9aba50047f019332287f33f7958f1b45e274cebe97b3e9dc398d1ec414d71005784423dee19a2f1ae06fceca1b63b7a11d708fbcc1d8bb345aa47b2be62e058c02da77ac0d1c8f0365b1dd74125c12f2d172478563598ecb3f7b5682e92b2425ab929f0f7a37a3bde1161c0fb9e0d3e5aa9e6ef02f7d7941da1e68f7a188f8a4a4a9e7d22a988ed96ebc180061672e94e274ffd12b71bab666f6d64765b7ea353a3d0d856b2bcc3146ca3478f2ca6a57a243089eb4e487a6320075ec2db439b2efaf1988d05d9f4729783822fb1caf6a11cee11efae74b1db06875c124a1663ce03046eaf8e34065693ebacc74b8f780b34d4378619a325919861c7a2eb0f314782812e3cc7f297c9dd04e9248e017288855df49eb70ee5fbef700e1285338617251e2f5d84c983e084378939b8636743efdc30dd01ffd3dfbc1a665af7f353a92ccf8ee99561e8ec6e2e1f240704af378c2150edbd870f15d4267204d639f1510fb55f78a00afea06a743c94e74a5c61eb596e95d07e02888c9f027b6c685a9dbaff2d2dfe9468769893a399c4b9b4d54db07d064404e327e3dfd888576678c7b311dfb2a1ad87041484c2335ddc7c084cfa9039bde057857ba6ebccecee3a00b4539cd827748c2ffecccabf00ec7a1dd3aff1120fb51183b4e5548772b0a5a655841a08ab0ade279d326dc319e4a3069deb6664beca8a3d8c0fe6a426abc9dc57adbec02f94d800b6647368e20997a9011145e8c36296f8106acd63123dc45ff09df64c25c1ec769a8a8ce4083f46270f2ce6108030d44106e2b0d75d9c0e5ad4de858d7cc090a47e6ac5caccc203b6e0cf395872a2304a174c4c9a373e258540ccae157357ee01b85c4b437b36934f0f2d1b7ce679852a4c7f57c9cbfa841180a835c92e5acd003e3e512e2e6ba4052591f815f0f10b603e413afa07498db831b66e1a88642ec68426fdb8ee74d91b05468112ada29d39696ac4ed81572cb44fb234b813015f062ce360ec343ae378b27519903c8dce1eb9e83402b0e02ac9f8bcc07469f4bfc323e12c8128e4b98c570fec33d483d8395b36f7379a65beae4d5543d88374fb9368253b844c1bf211d80766014c92d33be3d9953763069da24e8fe6570c02fa2d2a4f873b5bf545f6fbe2707c21395a0f61b08487fddb5cb63f0061bdf0ddf408322ddb2ed05abbacf6dc73711301a3ea5e54d83630466106135428a4c12fdc2d19b9ef63e3b1d420828faebe85636d08caf5f9b31f77f557eddb6d985361a93664eb3b76925572c5d71889d20cded5c7a27b79f5c25dfcbee4806cd0b7ec2239b8892c6346eb3560a244e8212cf8ab3f6a6054825a3eba601bfdbdf18e487b55d89ccb134004eecdb478dfc56fdb5b76093c79cdba310f7542038625937a877b4e5ba5413c168fc7fb6836b3f2b6bce2ecbf969ba9013cc976c980cff0fd5c1467893aab41b6dae03faaf8ab39421b00d5e4d44ada68538d9d56625ab7b8b664c5d4f6e8a56561021790339106d7512b0afa76281d3f11a2bed2544dff89946de168b5410b78d47dd6397b28efbd89a44cce039aa1a2df53822481bf7f8c75f03f1d4afbc21c3d899024751c34083acded5a73fe80f8e6a5a6592e7d264d73741f0a6063d432c3dab57fe522ed45543f9055bc9398a0a74d5e09376a9b0c2f76ca19cec5921c7bdf0a9ee7c0682daec1657a401aeac9d13d0378bcd7e45ba6bed8618cc0e46787a63d5d74ea833dd274e229410fbc68dd284dfae9530b02e5a9abac0ada1ef982a1ba08600e2b19662f1c703a6e46b5381ed29f2f5d3cd63bbc469da241f90b943423114644f7469a17b2648c5c7d9ec539fa541b3ce0ccc74769731a8e3ff727105f4cadc71abe4900ff2b9c0f347b223f21d8383f564c945d53b538d903b5c7e9510425320216c67fa06187021f6b5f6fb0b8b28f0c120184adf6724090b2c141ccc0835486a2ec5e0d8a9c02d54df7cff39547de4627b6159e230414fcc617588c819d4bf2ba650bf3629600bee9d870a76c775e776c34c41cb21a384bad9364f22cae4d2578c2fc12c4dd3e471118c85a61655651074b927c38a0c8eb7573406a8f5ddabdf7e0f783dd819da524146c161a7e24bfec0080f86e3637699219b908dc0c6f0a28b34dd365462b6d1bd875df5c7a4ea13fc002f90f740fb25f20da6a5e2ca723de1462decc57474e8ef61a1a067fb8b1c9fab40c685771cb0d33176af34ba70704c927eacc670b6020e3213a8fc75806a9dc0897af5680d87f24de61f719bd79154ee71895c3263a62f868d93d77e3245876d6e4887c971a779ccb05993b7c78662d8225dd9dd718ece6511844cc4078d5617fbf53a7686ab115d22f0dbef73d35086c0a3972c0b1df80af6fb7a6e4a55ceecc84efb2112138b8f8dd4de3c35da573a43088256ed47a5e421cc05ae597297bca99d2a61576511a86311124e4853800d4b5b380968cc6eebd97d35612e7deb184ccb44c3309b4054c2477db07ae2d5e971862721c3f03596ef7e456b6aeb307b4026af202727796c6df5329a8865653210b6df145ca5e2aa08c0a10db53407cd68bffc47ced938025c339ecc4adbab87ea0b8603c32b68c23bd838e4bdf3195a399428b552b5720e9cb6b2383e7d998eba4fa4f0a1b5e995ee3c7af8445babef2ea36dc1162ba98653967785402410db9d478acc6a469487ca5a35327c3e17b9eddd2c6247d706f23e59f2fe3f6f77a2daf32274270c491f986649ccb387c0d7d8d684fd0030a239d63c26cd68cf425cca52b11f3adfa9c3c128f673c87befe17d548a0073a92fc30fc4e980f59275751cffd2fbf06cb3991e596e58ce1ed74939dc37e98991eddeea39448abda71e7878c21f2d6bb55cadb666e6f49154be5c493e82feda46beebcfbd5dd3c25e9704cc8f337a8b9099d0f1c09b78e4c798bf2203a5abf42ed611bf1f31b2709118b1ed360790d6bb75292147f5bc66d48cf3ee8cf43008b51c5665f3b26e295e6b51db97fade341d448b1973866234a0901abe92b73f5190913f219ac8df904243f2c3a26a576611a4c944335df9346e0450aacd7523ad07672e2c6a634ce7bd9b52c72a82cf6d4856f1290e1c0921ba513a084944e12385cf4be1ebd82ef7ef58e01ccff88185ed24507ff083502c1d687b58dfdf96d23080cb62e1b906c5ffab21f42f680053f945ad49c70d90b6350d2989b1eea1214891a65e1473c636968b8c260e569deb9683317ba5753b5ba7c3af49030e674a06c9d8397a7d6ff7c53940ecc6b6764e85514671f81ce67a3b2fe62bed80e1bb0540e7d5b39886cc2aa2eb1a5572ec7271735df0f493c2d99fb57cd53304d3e8c24faa297c98928642d0eb190097b157504bb3ca9c88dde0aad7a7b132798b328116a90939860cbc2847ac39eff35a263ad0d94d6d2c42212338699ae53ae17d6248ec4ea78e9ccb0f04642497554301bea429a230d6f68e7a704f09ac2b42201ded4f73bd36e23da980bc6caaac9628ec1193412b65e84a8786c812dd75f4ae58ba187f3d20da8fe86c798aa484cfc93550b1b209ce7f777348dff3dde31852465d3e67666fbb99ed42b8f6df6842dca1f1497450b31e4e483da38687f0626e1ea8366a8e14691f54fd8a52be9287d82e8e216a665e1cfcdab4873d3738c85de57e71d10d24286d43e9d3a04fb3113be59aa913edf80ff467bfe9b8ce69a0ce8e08ce844fec46306a370604b709160787312b2f7872eddc80140d90bfc759c1d27a8591723d59510ef19ba9460c4f31563f80238038b8fdf1ee0b729af15707a3bf89595ed9d9560b9645ba8bbbc8fca920873bd3841fdb7487b98a9b5de139103255da127651e046c0e117fbebe4b0112d89984a641bd006df4bc8aa3d2a19046d7ae729c161874e5244229a3daebeee2668ed59ce365fac4ba07be70137404ded3da214e783c8e1ed848e749d34014e0a31995d1c56181ce5cc7fae80f4c809097b15c84758a2ff9f98cc88f061657f96de8a9640d085111de7675b36f6d4bfc70714628951a6f767383fdc0d9641c9dcd3997fbbd004b3cb6b34c0ba2a6586716b22168d79627e134f3399342e86fc2dc53d9928c3773acdbd50e9a0cdf48b0fb5cab4913cc8b54015d4610e20e7216853f52aee0f37e0000c1c38a9c1961756f1442cb3dbd5045f8f292aced36c6e882dba32a2e9aa6f0a015fc6801e79c9dd737b89a2e83cf4a47a146797f8bfce11e1c7677620a478f224353baba55d736d80555cd3442d24fe45fde3de6837aabe3ef21c50f23914a8ac8f342df9aa99a68764dd4b8226ee32a96bc53f69e98caf392b24a27175b32431894c604427ab4ce37505e03bbc249dd50a960f57c39bf1bab2147db6ff929cbfefe7c9cdede6a71a7fdb3baf8e13c0bd18f25188b9e985cc5ef7f1d7a440292c480d78c76b58f3660057c13baf9cf313dcb068c26cfc11f305edfcca0191453eb67691d3c0430c1ce2105e40acc8acaa5a09bfcf75685ce30fb100dc44dc32bb76192e1a62a997f2b31c27209c2d6c27471c521115a900a11833cdfbbf2ed00f6d16bcddf287ef5e2284ea82a46440c0914a1019a0e9fce2af2dcb8d57eca9c35a68ad8064f9cbf2cd0195f03bf239f6036979bda21b89d5fa01ebcd4cc969b01f4d47dfce579328ed04fc012014dee174135ebb0791f6f95746c3cbb4f5071c985f605ce6c6a20cb31b20df2350c4cc0d752261e903dae96c1b7c72e1c1efe30a7f6b54d3e21959487992315d9ac1ac0b94807ffdc93820f25a9a3d99e4a66a7462b0dc8e9a1c600f3d2a2d25a162b2130689ad4b6b372370c7bfff6351a3b86b6183ef0865344fe85ba540850b6cf14e17d344e80e2ee98e7213a2022ff1e51795214735eeab95d928e0a4b6cf8bddf634d6b425530e5280e1e15774f20740b031b1b19c03d353c9b38b248f0ae9213cac823c37b168712344fb24a4df655d66368e0f9f5ba47900ebc72ae0fb3fd8a4f4b675a927c451ea86f3537f0d0cdf28859caa8232d276483b2b0180a1e8afad7c8913fd9e6f3fd766b982b4abaea8b32b4f6e92c93cacd2128bc036b05c44b76eeba001a83eaa744c71699466a5ca8cf9416eb42ff82d33675c62883dc159500d24d4408368f682e3ca3a119567651873e4aeb8813a66745a459b30bea9547d88a5525c62706d078eeecf4706e1815973eed1cce11a220da82b1fbd1a3a2e8d0c9ac78f082ab73431b784673179ca319a84bad9adfee0de6f97b8ac48d778b0ca4ab6efbe584385ed4dd125bf10805899952eb2367b5c0b2c03788cdaa9fac8591291ff7fe1fe4849267f3a4cf81cc2451786d1148b5320b9db38d5bb3608e628c5a8b1badc74cee4894dcd43e0551cf72690859c14fbdedc7bdb168bdbce32220949263859ddb5d362791c4cf75690ebe78ac240d36a74c8823417b085007d901a09c60ed8937ef16a1b18560890f8d065c3965592f42ba1a2cea0fd982968c640ae646cc8ac928956d1f41e2c0b8592839d82341c425e25759609783904aa51a5805325f1fe6a1af5c9048606d60b972111bb5d1d914295c227d067136dad9ff97de87b44121f884b3b65685921e0462e0ce4979e4f2cb188fb14c805e4003a1009139dafd9304d8adc27e267239bd1eb993fe47e82f40481d79add5986a30e909a439479c1fe438fe5d57b5417d822cac6a3e12bd45a4f2a9d57a9f560fb7e922cb95af7550c5aeaff04e2c18b7ac44994bf4799236ae84fc18a322bbc161d848ca9a5e2b4cccdafcd1077ad18995c3f1b64bd2105fcec98fb5518e792976e0b5909d9bf5ea2a9c026f3574b0bdddc3f73377c970c19779ab053fd2831c121dd1ec5162b62085c96e2ade16baf508c02b8326b4be36e9271510b21845d547f422ff565677c5dc9e96247cef0f3c4e86d47236c054fd210b3496bb05d498ec9df22fa6f33eacd7432b82b8cfb391f39dc7a06e1800cadc0dd959a22bc333b92850ea4f51aa474ab9f530382e6e9a1eee07d922ad184174af49036087c827f8e8f0c2ed957adcf82125338581a8e8f6d942fa41d92b54a22cd8ace2379e71b3f8c6bc2dac84b6a02b4059aedb5fcac17c6283db3ed9569507080fb8c738fa9b3b0203cd038983abec783f0813ad06217a837162b461cf4bfff44000a11a1fb66237706f1db53d1081ed43721bc75f797851e4bd53ece9e389576e348e57c10a945bec48c1869d4b53fbe8dfc999975bd35e6d86929ce864b1ea632d1175b212f0fb7362fa2e0f5c943b09f052cb98a1e8db448162fe87a584d4d272bed5fc30844ff1f9831674aafe285d3be3c2fc2e533e50993fd88909e1283e539ba6ad009b4e352a79aa743cf431d6ec9053390396b7fb19e24f7d78cd82ed0506604e030fa9617a725f50a404f5ce3e6da4781c2dbbaf3d4e4ca65f52e2fc94e1e377c8892dcad62ad3a966082b162443ddbfe3c92a2cc10866994dd0b18f44640d64f239b17d203c20835497c9873d59519466d419ac7df7dc737d68ba3b8e38478590d67755facb82d5133d6c6c187cf4c33ea877d7f4bfc21baa82373b836dabdb24e24e116750a4f4d4f1ca198a06ad7f4181cbf7041821f96c69164004cfd4314068d5c32f5e2174a27dbce3d0013e1f3d986f2ab0fdb4ab23bbc5bdc8afc2e673c1cd05c4f88d2b5ff958ec6b310ef7f2e6fd0f6dd874fad3e448de9797ab2afd30b0bc88a31798f88d1196fc58b477d67afbe3a103820d9af0c15e4f72d188014a482b8e6aa0d84737eea834bdb3bcfedc3e0141c18c0ec66e560fc4b3d3865e851b6120cc1201bce44d292f6016224c7e6d5ac9c068e4843f253263e137bbd05d7bdd442b671778736ab8d24d3bb52304f3ab31da1afe25b46f1d71e6592f73ce468ffb06bd07f35473ef437b1c2541e9ab233b19a1b9552448d0567a424fe88d0b9f396ad1fba343ad02349a55dcea75b8b64bd881007810e8e8159b6a490feec95a0d265e409151d0e1615adccb1068ff1aca5c7ef64df57639c824c717598e1bb9ba3a957a32ce697b73934fd0c6c4414875611692cc2e1e20933edcf948a730d5bceb0fbeb86fa0f6436485da88a9de8a504fbbd80ae1001dfd0c0c5148739b02a446f09274ec6b7984ba65b5209dee13d0a9dff59dee5fed30b71d33372658aa71c2a0f6d363665ec4dcf7eaff4b9a52a71e6982e1554b43d7602a57e068670c4d3fe46c2fc0643660bf972f32eb649947fb5d7127d572a5562efe48170e5d5175dcc1eefa7c0c9870b9efef823ab243575abf983eb0b7131349e965b1d76c47617c707d4410d9a4f8ba7a703769b9df01e166a11cd76a3cec5f3099bf336bf1f44988f467e0daa2ccb0a12a92c0cae93bf3440f4054f9f4f8f9b2ff7def417386be6c4e665d30a523cf59549cebc09ad409f649304ae2f6ccb2e04b491acdf5a816695619e1803473cd308c5585c12a352222941f0d88a2cd5b0ff6fd66b975f6c2b5456ab7580a6195449aaf52628d7648e907834446eb1a6c8567101560fbe0ec3dda0a84a5ead8ebef08e7158c508e0e961a048f16339b6e004b6f4c0651edbbaa559457db504c54bc344f7bd1b89b2ae1674890d3e64835d52a5e90bf925e65d38174ba563291c0c85ff8cd5d814967bb0df88bc5ac5ab028864e931d84e232367cc726f2b4320271a19fbd8a622f94b45f7bdd25bcc119e61f2d69ff66f0c132adea83c5e57d853f64f2ebf0c6ca3c8f81619eed6848553b3b3bd16e1bd50e561f5c855c3f1c1fc226b73e5b290723f2fabac518aa4bf39e7c892dc3891cf8586df8e39c016977dfd8bcbe6ba4d37b1eb56a9bb861d3b98fd01e57b3b8a51ff46dc4fd10b1574e8973f21f76d06dd0c3fbbb4f56227ba9dedec9370fe1699704ca884a97db6b0aaf1cb3b059c2494d6959ab8323d47466a2a37b2ab4405ca032fcf80926dcda5cd78b3f5b3fdfb9ebf978a3fedf17439963d7f325e44baa042f21306d95d280a80356fabda6d3615a5fc891c63114933b89e7f70d49671309ac37038199174d7ad5d212719b9d351e076ab35fd718b9d0a323f690e98745ac9b989b501c51bc1e45b3960cb296616c90a6403e806ac3a6598fafc757586364ed6d2046a64c619e11c6454799805feccfeac0623e9bdf9f1efdde9f3a1868b8999fa5bfc3a98e570004c90dda4b6d82444750f44fea47c01b451e16a65a1f1ab195861359d0cc35df87be2c69e8690bdf89d5a6c36c03ea24f9f9b9ff4d38d53e9e79184659b7bd80d68427ac465caf0d7fd8b3e7378df241ab6eb786eb99a6d9d2fc6917e19455541f526b97466b07a2842e423ea425bdd82e32e3ddd107a3e6dbc2bf2f145f0e1a71014646e2174d30a5f304cce220719aa2c5f58c125a59cb60193d29ebcbb4b78b8a45568ed843327e9a1b5b6765ef98c879d9666bf0630d6afa9a26d2cac11ac2e7b1ff7c691be4655f3e1d6b0124d5f016bf014335071ae4e89fcbab1a7debb2449a5e12f7ad49bfeb148727a3d0a45630d41bc5882385f2eac477c63dae21752ac8b15bc18db1a7fe8d609508afebc9c51e4671ce63cf207369ebbfa2ca57aa89b2794bf03da9ca15be0ffd7a6dc7bc5bb1376682b60425baaf41c444bc85e9294a02026b53a0c99f3c256e4a37e4e1bcad4a05502e2525e4eed78c48f498f19a48faf5b4c64e72d78ccf814c1f0cca7c68f8a1cc621c33e54a05e64d8286b4bb43c93ae07b5bc46b2e92f26e14aee4a9d251b825305aaa4badd4bcd361f75257976fcd4f66c53322f622d67f38dd5fee98433e22bf9cc5c76460725442a85dd9a191db08d3bdd9904a742b375995e42e145bfebbedd56074b8eedd52611642432e64d29b1856031f075d769f9ed111513907ad421430345b904da58236b5041a6a5f9b1bff22e1a6a9a16eb4468a64d2b963407d0c02b7ce25e0594b06437ab61de1208cafafb7fe739d3644705dab64301e67b31f0dbf234c90cda37b4a76a8e6013058b6f66c763d6984e2c33feecfcd3d0d5d3c18f26f145f3b1632cfeaccd185c068e5e07725e5f1e4352e508c1832d4b269a94ea128d4dc2bd5d15e841c740d82fd262f8024b40c39f340386f6f1ee92dd8caa2a3b9b2a72c0a7a998877bf972f27da843a931a66838fa9774bae8ba0d35aedfef9c5fdad35756221ab8f38d69b253e4e22ed4918c2232ffdcc7b3e69740d0543a5c9d21ba95bf4b88cea8da41007d5bd4de19609a45c63c66f6f409f39dd9beae05964bf5ea36fb40346c9ad5787ec55b17bb93884d2f76c3cba481bbecc1f3f6182a0bee7cf30b3c4d58e1d43bbd5e0c5517a0df17d479d1feaf74c3ea20e11f758d66981e5fc0e17e6ec7bafa9518002caf76e54d91d973d324e0acf54876e1783e8a707ecdfa105659ca67a0e035c225eb6fd3ff32c35db6c60e4a7bcc13239d18c611fb870f815d26a89b7f505df627b609316d778884dcf192372c7a3708bb0fd87070fee75d5ff896d817e94fedbadb1bf94df19fe9fdf328994102ed0ed584583adba27820e2f1263958506a038d05bfcc66733403b8502ea6a1cdfde1dcadcf2e8fe7a0d4cb9011fd5825997901f5695cd2dce67247a4d95c39b33feb150508d7e3009a67ff55f2fd543ad4ec404f73c83d1941f98a386b12144eadbc405ab97a2d7f6ce9b6eaa08fd23e3cdf6a6c140ae4d9baa14749530bae136edad217446903a4d44f26c507c337cc500ff9760d34748787987c6bc76374904bae6c93d3da430098efd501a1b10e1a937a186abfda922e6305e0c4b3367315302aef8d919829dad666376022d27b6b4fa22d517055cc2bc25479d5389cbf0df94944b40cd7a21d55c82479e2c1eb92a394299b0b7959405a24a5a25f4e5e97eeed89641f2724a5b58edc1280946431b162ac1c3bf1c1a18280a57370b70045a34e5738d152d14fd5176298ed1db994e3687f0f40e3fc0afa7a40a24ea0cf06c74662db0dac1a4dd61a9c8fe76eaa2cd01c55afb2ff548073e5fbcc55c2f878a31fa5d9ce45eb44695f33fffbe631e7f3885967de3dd06c514059ac8bcf75df4c8c19220b1f0166307cfdb3c61e96cd0b9ca9ea0178b80d35d3d4b8f7724aecd545d7bdc464ee8d47e0ee5310f698963f572a54cd8ebfacfdd745047a9cf9f20b969fcdccc4b0bf5e8f23247db8a07994ac76f4655f679e7839739b0bb3e291618a7a4e5527a6c6958327ac761f709384e70020267eb8139d63cf37661a7e7df552903454806abc4f95277bde4a521d2caa2fe9dabebc885c4325f0e5bb485f27ab50c5f2a1356925b62259dd3ddf565e760d96b1a5ce457f6270bbba9c8d36b2a318470cc8dd26a3e3fe5ab3ff3f23cc9c6b0e034ee815afe9acbb24862a9294ea3439aba1fd050e79536afb6ce6aa5b937af8d1f49492ebe31d94be9275abf6021cc9a6eb9bf183edff195594cacd8e5de8e33511c422e8303e1fd2e8d8c5bf56cbed0df498c8ffba7ea5a8f0b471a6b5314e211edfed7f467f914cac6d3e36fe27a006a25de32c0fb4bffe61f9a277e27cec3ca3e8d779280d8c8ec8675b042d6c02edbbc05352c6e31bc124e3e250c1f800bb2aa545237b581c0bd0bd8dac9af4d26ea9567bf6366917989b4ca7e0a3ae9218f499140a2f1b63d1f870f6d213b827a0bc82b60bcec8433d20c777f1ffc2c58e3d894184ca1803067521073f9ca279233509a83a0489c3a9aedacd672f0169a4c9c6c0e1f5b7bedab5ec1859d2ad0d1cdf3db0254846ed6376a1426166da94daf7fbc54a64a18fc63fc254f8a1a0632d86795dad045d6eaa17a0dcb3f5684ffdf5d035e6d0b6d2ec8ef1b4f18a3946772f4f6db8cc07bcfe47d3fc11d9df11bd809cc28d22365c0d3e1e1980248a116c45bd6743757d8af9e1aca40e81e22102ccb8cd95019c68daec662c0b1b818a2862aa052914395c68ca9dcf003f578659c5d1670478cee9dd185f4a07b1b8ae77acd0d496b9a5b04111f070cc490ce396ad62eb9652cb32790dd4fd7c40f962c866699d3e50f606e21c53455b9ff8647ffeec93807f130585a50aeaf57c451834f420fa1c94af3e93da820f62f4bbd88e6fa7f903bf639d99dab0cc66f917851b1376404c336af8e0210ec861e61a84667fc621598d4b9c699ab9af5026d7fc7560bca24b0a2d47a884da6a2bbc6dc0c82844a8dfe2eaa9fda7d985225e77185ad460ea906bfb27bb996f931652bf09ebb7c07333de9a5d7a00b8289950de6e9936dd09c0b5f8541b0bad14bed7254f5625738c5b100375b856e6fe78f62a7b1ad300966b7d0c3bd026c21e2eb68a67575db4ac1ab218f87c70e41bc47a8afe9a65bf5b089fa5ea353a3f27d91bc532bfc685ece75f5f7c81fe46bcf63fe63408d40c2734b9a501954a8330b03be6ca62340292c980e563d58188d54b34eb52407676edb7433e1f27002a7643b58a910c87d0f5adc82af32e4158007520d165333bcf7a0e97654d7740c85ab735d1d207d0ad937d97948b66690866f1e7291f029347ccebcc8fae9844d17769b41bc31bb5f7e96e529eac858461b831ece9585b258711e4193bda64382c82966a14cbad8aaca381fe6e262e55b5c0444fc60250024c399ca6c3a056b9b036b60a83fa17a4492a19084002f440d8c301691a4afe92318a144d13e141b73408d74a8220d6edb8c77631aedcd34779a36c3094371f5e71baf30cd550874dac5edc005b99b70e301ea86d3bff2733156a37eb65d36937c62b5369b9d1f6bc0dc2ee92d3deaa49da43db3a24e6e6aa9885d0327def78fa7fb0660122f2578ed0ae316c9c2d9121cd5472d8d80227d4ffd5bb332ce4caa0d92541019bcf239796f87de7f8bedb39c29ad294f456c16566b0cea7705e5aa605ade972e29f84f47271fbc99edeebf89355385c5b938d1716fe3797adf13fe5028050879ff338187e7e9ef774b88f5bcd78d806f78bdd24fb063604fbe80e350212fca5e286da3d6c55bf29f1bfa082dbfd5c7004fd697e13fad16a3baa3296bb76cf9c652aaa5ed7858a76edb2753727354ac3eadc2be5f9e8ce66871af7e3144c703793785d38f982ee84e6c8dd4c456412a9a4c268d81315ffffdcbda4e95a039b4953b56f0888fe5380098da7b92244f5dc231ac6f95f8bd80212fef6c8cd3cdca3cc43d5f3271153fa815b3f754c814d5a31f5097fc0a3ae25e127018b98f68f9dab84cc9c4edf953f15af34a49fa66dbb606f6055fad5aea1c6cd59f1a12325f092bf8ec3c4ad04d4378cc9b722c3733081946a5ea1679fef2d85e6aeb76f453f7c1ffbb12b1e6762d80ef9499cb93bbddbda6807fc0b0d386893d6d4d3b1cdc28c519ffd865580c39d53169dacc22eb923d4ee99b617bb3b3634917375b80a401ee453fd1e1529964d3ff58ab8b325d3cf77d0560f6db36879e02bab5527ab34fe20fcf6e0efbf1e68814027b6e0e7e95b3658ebd857017f1757e8687df1cca393f70bec692019d1a33140b51a2a4c2ddbdb8d5b6faf60a613c9350515e95b1396baa94d310189de2734c029e59f4f1f8b7974e15a02239853b8c3f08c71e3df10b9d11b285b794d95bf0432f3a9958ec6f65f25086c3ce447eb9f27af77a87409c7b2d3ca38e2fa18f5c340f5f54c68c9385e74c48d4150be202f5f4c717356d4bcd4e12fd06582621fda2b9c1e07b8bfea2df5854fc2faa0df45a2e216b32305cc2267f45d419f758df9a114348b17ccf576bbd79138f482dfdac750995b7c14c3e05ffd59a188cc5229cdd12b3276684e68f8351d8a70f9a1538de658b9f1480b1858d352c88ccae545d5113629d773f9e8a000b162010d78965a738e187f5e4a8a25fefb40d55977a342063e7b0d618a6111e003e92f66e825213d12bf535bc8655fece1ce3149259b2e06ac10b96d4ae0e1cb4f29159e281f2fd1d0156eda5c2586d7cae920bf7b856eeac7c5850a0891a6dbf0c43fb12de5bb4f58ab1876ce01212d28d883af8471d56ff647291c69325dcbef30589962d79a3bbea13880c4ee2b148ba545d8900be8dbcac5ed7b7e67b533d74f67f37a257b8e62277a85d28e0be3bad41a1e39a82a0abfe6206845798cc34562364cd4d9db053c6526bc3b54eb22258607b202d2589e27226e61010bb19023fcab8dff332c53eb5c51ee287db1dac828e755a34b75cda5bfea3371b512cf999bd857b9cd249b54f1288c49f1ad966cbbec0436d71f38630063fbff0a7abae68398cd31d9d62974827415ba2d6c699f576731d9d370f8b2b25a936b149c04e71811e73ad33e26e218cc235537512ddf7c95bcaa571c41afc230eb81c16e5ee24e4e79db8faa5fa54d35997d6ad0c589954bbbdfbb895f59c982359d8f571248cced274154591580dedeea74de0b373d0762e503ad5bc2009bf44ff5e77d8c226a5a577a6a05e0eb8ec47cd7b77eb54361fd4e0a465c06206bbe256c812f2b23633a7d208f00416383fe7688f724fdd85f27a37f4fa12ccc305b9f983f7753164eae9154f30a2ce2bea0de08a5568e0a9d0f625e9a0705e8ed6c63accf80872eb195768793734c53126881ab8f201dcd2111bf403f924d48a305a55d1ebc21f8715c9686de10a90f082c01dafeaec8e40b549d33ba3dd5d849f8aa2f73d1ed8eccc21414b0dbdb297e10fab6dda8ac8b9d83f0880b60145007e1cb690a2914cc0d0c19c42fd6bd1f41a8ebc0847af6803c56b92b806d8b4fba60fa7b9b82eb663d88abb1153a5ca8f5303bdf5ab95855f988656f1eb5a924c4d8fdd6c7b6cc59572ff8e037464131978004445faa48c2de812f546cb8d8765d5992c88a9d2c2c115b2277aed3a60e9d05a5bb7aca701baeb23224c06dd2064b5f71214acec5a829276c1b170659115d6508d02292c8d43e003b60fa0c5074109a470a015f59729eb3f47c5f6d50343c5a8f0e95b13380cbd5eaaf03404a503e1f8a3d3ca8065697e23a19b858fe4c960a85bc91e0755e7605f1c2ae24f0e82aa781d628d7fc548439bb9a837a83be08f36e0f46209dd303ee2e12cedc42e57b6878a8fd8d7f774b6146a3eec3c2d4122b3eb6b245dc8d140654aa833c0011ac9a7ae60d4582e0fce8067c52e1c30ff4e876c696f94b991b09c7fe2e60878de663f141cb6386de685d615b174a8cd6532cd27783b6d379748bc1bb960905465aa2c40c70674cda52ab2ac81dbe28aeacd63330f1c4018211b4150f4b18429ce86fe041f012305df5f7b08d12b2c706b267cabedc233ef7f5d2c660105c71f548a31643c8fdf765ea39f9b01a00a371e29408a7692f31a4246b386b1c094d720864f260c31304d98c8eefe210ac1f16eee99b0eaa683edce81610711f03eeae393670f78ab25701bc66828195d8dcb5829ea7415bd84484cb00a7c0fbe14319b24c0b5ab60ce9e50ecdc83ebdce9c30e0a69a704751f20596c719fa5da7c26c4c5f5b105e5372e7db6b22b72558a3174f9c07546ecf7ce6e5a96fb170ca8d0e8cd03e0f1a1be4390a5645924d291ba447ad2617a02659706ae71da3572ce4196a0759806a108dcd78446d261f15fec066eed9d69f7fbe19607d520844e525771ae1b2bea28d1b872410e1c04680eec4c191171c71051a2a032015bb5357693b8851f95ce7de6b206781cc15736f3b27a506f87785fc6b468f70e521ce71fdd9d61bfabb674cf93641663a737a6c7ab476ca41efb5f769a054bae55ba83a409031a6f1768d0bcde3ff2836664c208585807cc3e399c2e9b8a56c242ab3c4a699402295d63ee2a625b812700bd52e000edc6f6bb4cceb6c81c20f5a7ff68cf34dfcb936f45448da60a5869a875ee1cc69ea10bcae9af7e79cb662f37bc1a17ae82dcc5059f4fb3e34f0b9a2ed2951e749f8a36bbab90385a793d21cae98100b3bf569d5b575d1e422b049e8fcefd7eaed6f7d4125eb6c8dba36eb1d3d813de7ad22d7090185f35ca226406376d3da7b378f8f91707c3ab409558ecdcf5cc22e3f35949153e1b65a78a26bbc2b272adb058dfcae66a9d4899df2a67bdfa622f3def97d03bf2ce22ba51e81e5c48685325bc23e65136ef0524227ea12f1cff7d00f65cbe1c46467c321c2946d40435f62fa9d57b10eaa6adbe4fb11257cc43ad533b916ccc3644d6634960b276cb51dfa47a7a5bfb393ecbc74e454805a6ea5e2e84c754b5a60a01c3e665590df0658d52afcb67c496893948aa9c2f4fe0855a241cd735954813f3682d0166fc158e646ba47a0a1157a47b6bc64e76c2a5fc594e9d7623268ebe681e974d57072e7f3281a8de8482a13d66374197a9bdcdf56fdac9a2e68e48e4ebf136b697b63be4de68ff04b77f97e1334e9871c00f6bd6ab3ca25e4607a0fe8fbed88d5251a36abbb521f8f76229a057afc6aebebe99f7a552b672b1768e465dde3c871bf1eecbcf4e2e3d8aaeb1b78e26ea4c25e99581c452164638474fc37e448266b1ba1e205cbdc5c56a9ea2f8689573d9fd2ec65e53b90dab4aa7deec22914e53c6e458bcb1e376d3aea73e521499409574ca0c9f65deec735391335d5d2430947a630ba55794fd5bc80d9d28d024a8aa2501ba7fc97227b02f8e08ec03296948fa183ed00171db5907eb9f1c9a636ba94c08b1db0d513b501300ab08d6ff0a97bf6eb6d40478fce83ebbda97dbbe58ec2d4c0a007ddd7a15c4d69647e0e9b436f08bf0a17a61d448b284a43df3155139e16a64fb59986c5801b651538e1b32319d707542818ceacf32d7e0e1fcbaf79c94a961126b8a0535c4528ba15a8d5ba85c3df7bdcbb5259e0aaa499886bdd60b5cc2368531ed01a9b485bc712c737381832fb1a5c66457183e45a6bae5d267ab44e902d202b27bd1b9db6fcdd1dc0741fd988712ab0751a7f792ad95a8900f8e2a3efa921f4a6a7e77f81c8bdca50ceeea91f8232bce6bc6f6cb29dd5db59bb08d5fab3262b9c26cb441b88ea2d7a8806bb78839e93135d440058140bee3cd566c8f09dbb59527ba9e103094885df7b19e16c16c18f99301bd88c2a19ea1f3cc07ba755ba8a14b6ad31c5d94f21a28eb844adf25f524ecc610f7670f365d68ee9ac0fa176d662a94dcad1e966230639916d08ea83ea51929b57bc8310fb602308c7725cbcdf7905f5c437e31bf4fc66fdb640e6da887cbc26a4ddd102a7de66f34122c5e5c6e4d031117cb54173971a83d51b4a1ae6fe497b975daa066dcd22731170a78f5039a9a51aad7778514f30ab2a6abb73ac40edaa8e188be06b2b2b0fa3263be7c63d1e2f810f6ad905a5432a7412889d9216a4686e5eb2bd15e827f17bedd5d91c9b96f37f3c5f8388ad14032b3df9c534f4391f2f644b43b8a4aa974645ef6be93636d7e70b1cca442071ee625726897d7b4d91261963659b17768477743c74e7e37f276bf188414da9a633ccca81285ea945041bab33b272e35cdbdc23708360ae59dbd19b5507adc78b1b6d5b5722a15960a8c0393f7a99869193e681319cea76ecbff44bf4009cd081d7f0ed0ad127f757b8aafe3d4f625f4ed98753f574eb4a82dc8630ccc5303bc8b6e9e8317677dbfc0d95a37a635e90cb8df1fcf047c4067f67282bdde9bd91da815aaf570aa46108b7ec601de579265732c45f58f67b8421f6c0cb4177153e8b9b1dff2fc37a43a4071074cfd65ecd631ec1197ec93016cc0b39078f86cecb4efe2593fa109c55d3cba0425f5d56bb2709863a5598dbc609282ad9c6d435262ac66a754f428d1c784010615217ccfa662c27d2de347b868f4b1b58bf36ed19151b23a421e1fc92282bfca1a17b358be7e8162e2f0412d7c0ec43d54e0fa0237e89e002c8c902585026bc10b27fc9bfde227d2b6fc6d79a0d872677c00349934e078536e086ea5db1c82c86b854e5b0432d9fa2f13326b3d16bcca06a6a2a273f65496f96f87201026f8661d3fbefe8694b4dd19cc06921af2dd2300c2ab4b8f9ddb243af5610b8578e553380270fc7631ed395ccf91b337284b83bf3c42f01259b347f484677c717e716df6a21c1311adb5a6008db16ad0dafcfc49ebc04c7ac3886ffa3c427f667e2efd071c0b0ffbd7f8a6b90a2276da0696c97c62c99769bef1811a4f400eda7b40ef669b0bf07e87c7aa8b84380780be5e084ba582cc399ae01ec3c36cdad8a8780f16b1ce65cba197ad3ba80155f1d6a9de6aa50d63f9a2336dadf2124372f4b95d906c442799dfe25d44f1b4def46f29934596efdab1c065e8bc8235f460bdd0cedd654cbd3e29be0cf4a188912df7df18ef70dd8e356c917a4020ca56708a72112c05cd6e106b8de2e2c536cb328264eae79ed22887a33e06d643686b7d71ab92283dbbab527aa07529eb532239a2e310c2ee0d766b48a59c0a0f88f0fac0f9a0149eb75146f836f87b63e0ff7d19a784cfdcdd835af9b4faa0dc4577cfa5a6266190b1bff562dfdda1ba73b3ce1d5bb9faad12bb348be21cd46f04b523e147f0acbb5e28fc15b44b31baa7b3688b56789c2de1c870c91ffc90b311c3375a5d11567edcaf3951871836c37cfdf128e516359e343bec4883eeba760691abd45b82a915f5dd9f085f6760784c428598635a4e4db830a3f12eaae7df66689731197836c35168212bbee65a24261c9d57892efb2eeb6080ee116803b7f254136f7b840e6230f0f120ef71d705eace3cfc194f056e62f28694c5f9d891d681772ed960c03518214804fbd2cf1476bffbd645e48b9c659752c53ac20832783367f00b8eef54f5fa98ecfaf46b01e118081095450761b12382c531439ec842495ac1c385d398ad6f1474997e394ed6078b123cbc46673224c84cae1d558a45e208f123ae0559e0bb0b52c4f94d3a23902bab7f34921e6be773cab000e331f49982c57546cf1b8ac12210f5eb51cf3e8b5252019d86dd5ce6c8a443f9f1a4d7ad27dc1401e46091cdbb6a737f2e43747993d4556490acf27c17d62284caeb16235f5397c98c2c798cf66dec90934e9d4b10fffc33bce66d883f39d0681b5b3123e06f3201d22b48a5d5f921e6b322401e9e6309a853c99ddf3f652eef85d1f37e573304613ecd440ab03cd0d11273a0ae45dfcc8fcc98c017d0f339dc2e7caaf0a1777291fb1c5db0c8749478f00126e3f3d9bd68ef4a84c846e867ce56e804620d6819cb4218f09f3c938ba86673405f6df66d43f7de279e48df4365dd71613daab8b3ba94900345321f353aad97c4bf3b6ee4b3675771075240a2eb4792666b019c47a36ca641faf191f1b293e077141e391b9b253343bad47b5f8a6552a4a30b3306dc2f73055ba52d7d8ea0cf8605f57985dbddcefab3871edc2d58ab38c540851c9007b2fb6fee2a25ca7d030d6ef72a02f235dfa53fc3339ae4c7fe555f909d59df3adc6f3fb9f2fbacbcc4c36767f6a94a5faf27f8d360a36a43b8abf2640b926edb5f962fb5b58f8322ed0362c1f6872e3c55e1ac4fd96384342d132453c5f8357f859d0fb2fcfcd63893c4bb4b85e748a436df4e663578988edf76e8d75b41e6cfc46d6707843f892e61325383e7401338267346e4f64efd813af636222598a8d6b6af7f0df30738ad85f01f842bbf2254749e679885f7c231d6253567e0b8886909bef22073f2c842c9378764824bfd6a176dc516bd5f349dd7a12e22ef434ac9cd0dd0557b6225f31f1d71d29aa9a82ea8cc2cf84c1da998012fae94e6d6a5d2d73dd3c46e9b72a36b13370815062c873a1b987b317f0809104286d7891fbbdfae73f332e199f42baeacb299b5b33aad86e9164873c8a316e277cd48ae9ab478ae13bd84ce329a7614c76427aec617142ebb16ecc43c5b62c1f16d91fd295377ab19dc3ce978fe7342c5f2723244c035c1b4aa202993708be550aad8b78bac18a529d39ad40bc66f8ac0db63d0ba2d6005b71dbfdd16305cd529fe306bb687943f157f58bff68bd8b94b61a1d1ba92f97320b01a8ad9380d38c3f764802003cbc62e8118be664e1a98cd4d6d35c97a457f8aa08e84c9676f7dbe80c4c765450f1aa712a3c6d238d7b19c3f00fb9279059f40cd7e5185f2b3cb8b5ff49804b87160415e89568273066d4ba8964b1edf58d6752da97e9e7bea84228d6cddda9fca0d3db56bb91f4f2cae4a73014e552f35cda60bb85c5d0f59fc335bc0de9a5edc62c26dfd548dab71d6e0776a5f74dc4451eefafb8468bec9bf07a454fb8c01b1c782e2fc0f1aebf69039e928447f6b418502eceaf3cb70fd68331d6ec10b96a4b39c5661fb601ec5ca98d791d9da8a8d857869810528583d72ba228bcb67e7aa5fedb2567411aeb9fe467d08e4a19f6b820317ddc6c49e1144bc2c2d71338e32bc4e43711f6252f76f02aeb0256986ca33342b1b9402c5a6962f180341eef627ea0d00cc8d69481a63cb3f3753f7d33dcc7fb680d477a4c7ed45b634c7e98202ccb62c0f45899afd1f23b20bed1ac74072967f44ca0d943b328f12d8ade51c7a2d4bda45d45ed767b74b581b98bc4a7760d934563014a13d4c871e2afa54ea9ae9d9c0e8e3e5a7c4658753444114789b0ff37f62ce1baff673adb23f4abba2729ad14006991414a7f143d0a1ce8155ffe52b51334ee151d883f4c3d0a2816f17c0c765e9d3964290089916cdabaf5322bf1a07271c59ff1670d9f623afbded34b9d71fe53a57c768e6c2d0718cda3dcfcc707770406eab7448e0d7322bd810c2f55a6311fc76800df57e9b9e4dfd90c5b309fa90cf122d0eeb6c9be352eb50be5ff03aba6f0db9d25144e15b44f9590d295c63af4fef07b151d92cfdf61376ac3dc7e855d453c8cfab5d393bdf974e5d6f68fd3d638c89f6147029baa26b9aa17f983ced52eb17d5e08710f6f79d8b86b88790a075037118ceab3883f036af25da0f09374d5b387d54660c31563050ade0a9665a1f29db5cf37a0133a808b98b41feac565779d200a60ad85e3c8550cde9aef38a3b99ee5ac5b2c9ca80d797feb7fb965f88f2d0f8841321156588e509140fdb871ccf6ac6ce1a38decbda8c4e3bdfbd90e2b3b02c511b59a5027aabc40cca3764c18a533187efd00c4eed190449b3c0b40f2e7ada87c96975369ba65aaf82bd97a6b78b9a20021db683b3415379c5fc908473d77c2138456dd864dc121a44d1ed4a18dd8cfda25d5026f895fb814dd812ca56fc37f3279450b9c0c4a9f5249888701657a50c86b4c56618f654e1e1d8423b764430e73f4c08377504ffd814a0478a040c630adde378ae5af981422835fcee267b8faf2818f730eeac99d3a2e2aff5b4f12f82f38c0fd1e09c4bc008868e03e1726dd918ae5cc496ddc2bbd24bbc999bc5bf077366ead2fa90c5795236ec2d25173086898e8336f9f3062e61b913bc3b4dfb38a3c2c648dff2d6d89c857cf89d49a54140054c152329a5b6d7b5ef543621bde6d4c43d4b076cf88dec4a5cea709ce0800a48b3d3e154793fc1e17060b3887947e9dc3f479ed9dc090f2b2089e453b75cd0dca3283797eaf1957866de3bb8c90688f2133f0762e867a90dc0f09af103cb76144ca5a49ac3bc3a832f7efdf7cb852e07fe8470e2285af632793f4559dc1cf955f8611056e3b1d3534716c5ceb4a46a684af673f8b8e2982b68bdd090b7c8d57950a2827b5e95ca29e6a3e5d7ef5f7f364d4031864f94d150e4345cce6900b1a7660d05128c61244d0d87828ba9efefb7268804c0dd43e8c514c6145b74f07bf45d6c2e48339a8996a7d0b1468b3d14dad09adc0b7722aa62fa48751665bb49a507c62e03bf43a549185a3782ffe3acc2ba8aa465aea0d72808f65cd581cc66e3a4456d997fc1b58d7add8152bf6496ee059cd87b8d7018fec06b18c477eca467ce1e01e32b6ee4450e4328e376f4c20ff127e2aa13a1e3e528b1c860d14715cd49fdaf9ec427f5410f89fbee79ae2dd737503649c81be587a93b705e3b0843474e958e232e14a5fdf4a95908ef5ba90472e8f1446ab3b4dcc8cc6b4e467dda604cd769b0592a4d7282bc6931e27fe47722ec9da127c7ca8b89c548933e5e37941e6d48dfc8f5b71001dec69505050a0ff16bb164f1c5c5d717fc2b08e1965a063e19ab897eb3bda143ed3802c08a97931fd295712bb3f74652fe11ff4c3c7bd4d25687c412b688d275066861ff0d8c121136227acea9a191d350193652b9d4cd7c1e972d34969c9e57aa29c1ac3b735bb0985dfbbc437af8b6982661cb90c80096783f06ab4cb536290a32fb2b9fc920d7c6df08ec02bdc7b228a63e1ce1f292977ebc881d10abe316b3f8d3d3830a9fab884a478052e2cab175fe90b9f5928000fa8b428f6904968503349d12e08984664a8bfdc17b57fb0f89c51804dd5e880623ab69605818ac213f047110bb9d81cf95bc8ca53930589f5a6f1a5e16d1bd3f1d67f07fefe1a145c0b68ed1bf39fa35c6216127c4c4135f96540b55958b6703d2bab54d43c0b17d39a9adaa68f6fcefe257226142bf58794d1dc04bb1f2edf5655a0de6c69b65be08a0e3292a0eb0c226da5e59525578e1c86c0720e0087d4321113e85d61bd19a29f00d69d62bae66156778140abd8f70b4b818326574bb0b73e6aab54c2c047ed61aeab21e95cacd065733e79e3f9ac9f9e80ea26186e091bda3a66e7665ff305f7a024d85f1deec0fc59ea8c864a93be0cd73f89589cf7254a76048d52268f07f6f8753a79c657d2d3919bc970671d54430859e9f8235f3d31b55383d636f005dfc84dd38593f5178adde0ebffdf5541edc5a88087bcdffa4d552653ad8eb8f3483045086a41950f023d04d1345d06cdf49dac0a79f64bd311e56b3d5cd2e92572445974f5f3590af666b71dba10716cb37c13621629c83f1d23ac80f1de8244ad0b93be53931eac9c96ee5b5e4f46a4cb3a91c5165b203e80524c7083b0fd281e3957bb481db6e6b415c220cdfc732ddf934cebf07470be24cf860b7acede38ffd04c509b3502eb21dfe7b6d2cf8cd826d235765e72bb7971c1eb2d7ed571bd173a9ef919cc0c9153e972e6b0acb9d939e0810ad1bff2a2e907717f5c26ed5d3c84559cb0176167ad249b78347e8223ea204c7d48d4ca07dc1b75aa95a22d98369711857328103400ae1d59a89898ed901835059ef4757cb543a724cf56b2dfe0eeb2acb00ae9770bcef2006336dfae50152f0375ef790199564d32c1455792968e02bb4eaa54e5e081db3fbe47aade53859d255d57f8ccf6855b935f8ee5621140abb0a9188d94cd8a250649a9b54f33db8c99df795982aef18cf539d693f7bfb1404072f6e222803ba336500ab8546bf17031fea689b4dc03442c91380cc39626797e217766ec141ef3ea389f765eaf2f57979fd4bf1f3c53afb2e7d59b27cacf08c9e64830a23696fe420e5e2ff896e67530e0b3feb76aaa8d2260634b55c4a450f9003308ee9b67839f79fa587a039d90a7493ce5674a57fd3379fb71718413a0ed721b8e29fb60014c1e93db9355413552e9bd9be909b03afa97391d7b86b6816f332ef4c69b701f446ee686f35adec54dc61dd4c18a7ee08f4adcfb53298a15a298fed41e9df2981fc64730032a0cd6e75f8849fce0ee3bbcb5aa23a8805f49b5b8b2aa3af79610bf152a32491ed2e06b2c192d245d3875352b5910e0b8a574bafec4456e2ece989227b50d4df58357635c660699c395ea1d2ffb87ea925901e2adf9ce542e3b53a9398164290f1e0121375b609816683116c63de22c9e4d3c53e0faa22f56a65c9851bcc174ee0c22ed53f2cd2fac3441b62d73b3cf0f4ea0e0b52b01ec2338e84915c693d48aa54eb2db32d65df1e2b08e037441fed6c18a03867d36a77c1ea18f704b8915d56a9de62514247928bab3e5e35b7196fdd813ffec489e19b19a06adce1b2cacb1d41abb0516b3ea4578e7a2f5a215dd1735a2117b48c95fe2ae941f156455b2a2600642695c7922874e44264c15a72409566b8d5eb93d82fba21be1f1fca4cf41f6adb28b115260d8a2e9b32a37b84aa1f5f3fa26e900848c8951e0fd7a952f133c72ad87473b35f47d8d92c855b2197d58f45b3812bd748112d07298959d452d42f122b4bed782466c449315f4287de87350d62ee066e3494eb71cbf23ab4d182985f55045dda6d79da41a4b799b1859578ea2a89c8caf6ecbc076ed0f7c4e62daecefbe7c67190d10e2f0eb80deac9d20ad2cefb35a5299ed6f3070d36bd57fa48d1d326ea19a28b7910f0b15d0440d700cb2ae7b6e236d2856194af8c81f9c4f1fa7aea804179be197519d10e5e5b4f9e29eadbb82f0013294536a371e335e7110543465ed6fc6d297df60ea0008232c01c6e23ed5135b035b06dc41b34ac5df9cc63c0640fca9f88798f286172d94e17bd29fc84a3f0b52645ecf5883cf33873efe4c0da6b3253c758648cdacde1798ae660ac1d0e0160653933907d9b1c4c21a1303a7649eae1b5231572f873b34960a57a3b0d823bcfe7d127d4b991f9cfb96cf81801f17b6748cbfe5281ee0158dab64477b19038bb0646d7462a7207c7d78105f75b3e7d273ea3e2ab15f136361361f9f9419ec17b7c7158ff0480aad38f47ae89044a4e990d863b47e16b9375464c9abd441b9a08b1ca570b407e6322fe44ec030f86605e2f235bf3d6338ead208089a38f66f0a8831e755a1744f3359f4b4e0bd7a29278b596bf6566448fa8324d456dc641209d6720fc975334b03aa13a3962525470ce03fab88a9233d0dbbf6acc4b73efabae1d00c5fc6ba0d5ea5be4b789e0abdd3ce5670e3acf7d1c5fb0a82f7690c792343bb94cd0a362a047fb65f2bae6b7a659f2ce95821452125c1db04710a253a9199e3989bacfc3204d6bd260aa768cb1bcd7fedc7c692f02139db6cbfdbcb768aab3afb81ded85a02439abef9ec39908c8046dc897cfd8ad4f932025f031beba618d918f7d2b29700848c39ac6469a0d21ecec9080728ca8550e9787a728a6766b8e126a4f96d366f272cc230553871dd186589b97c687f718ce01ea2dad2c21000fb3c328da24ce4b640900b1b584d9761468df739629508420194a3841a5b5e7acaada203f64170a0fb6f1424002a3514600e3bfdf353467780ae34c1bf1a26b076b8e0eb67a89b224e42cbfc28d77341668e7e64b76de0a248b86f9231f9aa22af5acaa417456c89ee4c646b2fa0005dbe4feaf458251eea4317d93eff85f80f2a4c57221c1a459fae782ae3ab9d4e8a8124467b52d077b43a607720ad439be39a4ccd08042297a1e87a9be8953c78e7d4a941b22d675c352dd08b4019449ae97dfa0829110cc40f97ade9525cee340494a474d909fa074332cf9f7a6bf5100e39aab0ec50559d975ad08dc4eea76d456e10db067a93acc4d63899731f44c98d2a4ca331797a257b6e66bf6e4232e6894f03daef786b360865744012730f42ea2cdda6c5d2561a21ca116ab294ac42cd372074aecc289e76ab210d3011341af8944007f2be9749389409870b0edcb7b76606b25fdf2707cef14b98f61495ebdafd25bb3fe454c5d066dc49e5592b5a729981c5beaedf59f35f5bd59d41e7e76386f16e6d2f484353fca015126b538a6b0468b02ba7406e7fd4f5944fefda437593a9395a9cdbdf1222a8c4512cfc76602c6dd2e814cc0adc7cc0a74b8e295cc2d4d3facc52575871ca0ff03db7a128f1ab758e4bc0f4acd5d0f9494c5cfd9f8a06d2e4aac73cd6d42e631814fcd647dd122de684bdee1e9636fa17fb9ed293142c28785e57c029712d749fca86d6de8b08422869cb07c8dd19f1527e6e2556d27b8519fa6cbfad2d0b5097260c0eba4b1fd9f549cb2c5d19dd67dc63072fc1957bb8debfb27159b3c509d8353f0d8e6a4dd727d5d05345d6fa2f02b8b5d5a232ec09b3104d1043fd59bc9a1cb6fd81c243b27a3b1146b55ec58addd1eb98ccdaebb75114a80c0b6bb17d52d2f10845a606da7cedd7b7cf7ace90c3b0059840169fa57c7443ba191f20774db97f9dcfe88b32313ea0fed3624e09a91f22ceb43b8a664740c03514a8b337d024f72d98c3c350a0e40bdd4c375ec35823bc52d16c22d23b5e94916c7d7b1f1516cd15f526a4cf9ca11a23e7bbe18b75d2fa20affa569235b3d881ef15f9a74577db29ce1861aa3139c0b550d676906c0c738ebe2e04997699a351b3315b2c6de70cf703b931ed8d0eaab5c8c6eca0b80f5dbc8696f05eb9b8e8284abd5c06e67e6783d7201deabd4faa1582b9b3ddde8d755f30c735cd7c0cf0221028cbaf0f0c052a073e45fecebfef2b6d57783f7477a730f08f11073e7be8356d9ddb00f2d2eb2bfd75ffaa096e4d90a22740af0b1c2e178946784e333b56e329eebfc9fd0a08e93508e43218fc3fd71b959afcda88bf46635019841c8d22886817a7f4a58f0ddb903da4bc3bce30e4a9780b918758ada8cbbcca022d88a40a9ab9448ccab7b945a3e6ba33e75f61d10d48c05fca4b4483868b16d4fc07ada430f939260adb941b110ad5f9c9e0e31c5348264d1442246a73471906cdf1c68ea755387d0abd8ace0c50689a111833a5b34d29acbb6e429a09ff3c9ddc179981e73a4ce3637bf9d218cd46f17cb537b49f80f85a301302ce2ba17f49faf4ffd86d96cf7b2092904ce7a83722fd9c532283ae71274c7fb1f1e3afa64e4ddc8089b12ce1225f9633ee712be1e0297a51d64b43c53deb2418634ebc94bc05406daddc4a5e31b66e5b6d5e2313c7a8bc499c59f0c00f07422ae6dbc4ec2f9ee687d3b278b746ac208ba9bbd6777bfc08b478380f4d978628112072efb859d7645317bf3106fe5969f4ca043a911ce900770d71743ee7a3c0f91f37fe0b367ee1d6bcde8368ab9c8993ad32e2bc0055b0093b98462a3546802a24262df28423e6cafe0a66dcbae5847171ef3e78970b1c4aa695fd34781984bc5bce2c20f4d562ccc5017baabe352678c78f9af9bb723cc98b15827ba10ec815db97272e85fd3c777074184fe8a63c81d9fed7b6a8d4cf79ef54b01a27a111d4880a44f1cb17104a2cddbe0fb541bd35f299f048bef97fbe229078e6d5e9bb8e3487c4676d2cefae4fb0d928841edb97f9f806d02eb192577a6abbff441447c10851d9b80b19aa8bc30bbb85d53d69fc4e05eab5b7b64ded3b1d4277e5c5a2f43345eb80290f91144e75091004a6566418457008f5528b35040b7b22331e10260590c2d7c0a8f63da250e3148c550ad784c23d687abff1f17a404163e5483450f4514a655f0dba810df8e4300a2a5fa3bd8b8a21c8547102c5445bdb8999a77f24ef7e11edf063d25246dd58e7925a5b7cadd87230dbed6a589b93d568cd5c3efd23a4b08dd32a1da84774cf1ba2adebf9816408a0996b054ea61f00537bbee6ce835f4afb29b88893d00ce3b198149c9973d56af75b88ef927390f5f306641ea8d38abac9f7d8ed5d4ba8990c5ab84433f4c35b0c5a40bfd8683f17548efcf666b41c688c4b5950b62dd0db0049a6acd50a2bbe67c7aa292899512e9c051d8d830603006392076e58cfd6dbbbc911235858452d54afcbd5665d388fcf6d103e04e5e617da9d52cb51b438932e61b7232fea6553b98e91ab2653f31144c4f138a5de0387f0a3a0db3c04ec33dabf9e4037878fa0840077b70c1897583b9c795e5ba4e9ec6f92ca029778f4fbfda40e12d3b93eb99db7c73330d72a1870c86e258034ab33de9e8ac9274a63ac9841903eb88873b15267efb5ddac240d52063f5fdf4305ceb6c07db59e3cb36a38f0ebb9ff71b0862631af112163dffab67a7330825fc0cc9f40dd856263ceb36cc5ad4465a4b3b684a3dff4b01bb99cecb1e06d3e0ca4c47d356ed6114bbb1a19178ceecf56c9931c1c50b8375fd872f22f7044518fb26151215f74067da37e258a2a4bcbf1433dc814eb3e7ac5a5da363c06c0b61fb17f03fb532fa38d1f24339f54fb3d922321e36d26c7eeb8b38dfa3da8ed1b48e6315aef26aa61e52b940e6c9c32841ce7f253151bdabcb63d0a4354a931a580ca8a6804d75c7578e0bef7dbe64b70371a27d93826ada0a83cb8e6e2205e14df0c330a3c9ae7b7c8216d66987670927a73242b73c04aeed775b7611ce38de4bf3bfcf41b9b23eeb1da602800bf4810ce56d2324c7d1fae5d7d8309fc3f11202c3a015f9d78ccd004d8e12637bc81fe34da3009e98f6edc1e2031a0971c37e5f7fde320d542b36c54ccddfba01ef1a281849db18ab887faec97c14f7fdc4e2b31c3e983d854ad2b93b514daff775c1096d2d2dfad0d256aaa407ec47d44baf556a16cf317128ce315d8feba242e036404425d1cb4fcb7934394127c5531b08e01c3babadebf0db6181592ca131b1527db0731f235bbcf7d3c81f8b08beabaeb6d590149dc2a7b7463f4ad1985022a1586939ac560e328072f562849fef8be9eb5bdc9f1ec6eba46dcd203086138ff6b6d16c7f8393b10581eeb71d27f250b3aee32702829d6792c1ba44b0193b2b53a76a53ca6cfa9298686d6fe72d6fd4a3e429dcc9a0fc55486202d2b7417e0dbc81b68b166926a4a16a23fc0963690579e529d7931690f641f6f1ae17585128518a29f630fb37ee185a70008441c943a9863e5122b455576ed7db8e0168961ac304bd8ac957dffa591b066dd4c46e0eed1db792f0de4ad4401af8083916d907c87cd1d8492536ef7fbf4497d77fdca996c23a92506b724a0b37e4669f623fcbb303170f1979a92c58b117d30bb82f4e236dec58fbae96dcf9d5c57154c9dd2a7f84fe342e518b872ee9f84d1d6afee083e603f22bacee4132f0fa6ff02d839e8322a56dfcaa76888a154d98d4a6a236edad92f9d5a79e09afe197d5f35857353329ea9294cf972032a9ba98597aec0d3bdba27f123aedf316482531ce93ce2b34ad37da9690b2e71d5bea134dbba3c2d09c1c874419d457fae39d3d778004365974ee9a30d77641ac184dba7698d511e1e87bec84c4eabbffe7359a7053c0ff91ada071863b247b67e4f9f76a172999b28cc2bc629a70e4049b47972892033e0c848cc5e12156e15220c752e5fc95d3d2a2d183c4359de5f72ce48f1439440e42f2ea695978a0ac58acae195d0b03712ca6c244ecb663faa18e6a5962869ec2f2d5505ead05a835309b1bb6ae115aadac9d519138a635ed95029994502d8e86a31335b2ed7b9ba54a68548e6326fca6d89778ee71162be1257fc71a8c0647aea58a87ff2545fe7ccae0fb7c3a706aefd2a59fe675d6991204fa3d16442170cb604225b8d658a7e30dc70c5db7c757661609014b9b16a31483a60c7d2de182e30408d1db24cee3796630788765e83e5f710dea1303c4e666d023f28ef97933bb5c07290232029561faf507d0e8ae59cd119ce91fba1656039d5604a4a14996ff391c4fa47dd77cfd24825b54046957fe74c84a94a13a3c4e54ee6f0b2bacca2c4c50f8b4a0cb51d0636ec1b468cea9d0a8334c394722baf6b4a6b336e650999e93f39abd9cc8ca1057850807710f31bd7361a623481609acb31e22e190e46b04ef8372cf20d21960862d4e27efcf46fe23c1bdf62c6bb7e6ee2b0a6781f89f57eec566588b6f7e558dbe3fdda9ace2c1bc535ce86b0b2ce4278c266c3bb0d9897e9458d15d907aa9d6b478004ebc85adc724bd1445af8d4e90f910f63c20b6fe0840151630ce671e28c726943f101e5b492fe2716e74f50f7ce8c7eafd5beda898d679d66cc57ae653c7c352c6dc8334bd63cd3a5d415d5aa29adcc0076374f845825edd22a194556bf65caed63985ff6fa2b435720483b7ca3ea77e8b537eb55da99bdedadbca3af96ef6fbbe3059e6d970f6683f5670b4bf5d1dfc4533e01bf89d85652af477d933ee6ce9cbded34412ed206367c66f715d975f949d69c1210b4c8680468e3a2c0d7aa263907bf6d6c1df26b12a4723bffc46b7cbb1da93941c379048c705aab1e4b487280d114a9347199faabe99258dc12351a4d9363a786c44cf7c6f2ba09b040af6471e2e3c247af589886de7fc170977401203dfb9ebeca82c728b886f7ce631631adecba1a191571b3e98a6cdd32f70bc5628fe2298421079c05911da7981e66b418f078f5036624a2f499990a9b0291c63a2081d6e4b22e25bc62dfda7a7f7e34cd39d99607f01a842a18aca3fe95e12631a72bd1347cb5f9120d0d1417b7d9287c0f8cb8e537147909197eaeb474443ed3b4509fe8f5539f0ff2583478cbafc413df8b8dbbc47cea7740f15e6ccd6953fbbe5b9effb9add90891d5d7819c015e66d72d834cbe46f8e7753e699f15f76036a05d1984f1313727fb41c1dcb0e5ab9b9d2b6ca4a521d3ce6185241bbdba78931574f25fa9a8b828e2cda8084d7e726b82b524cd58ec7ecb8f713bba76ee70d30760ee35f5652c56ba5d8c76dcbfee4a59fa95c8c4068476f73f36049c5a10f39073c5eb9b4084b474b38c4ba2e5b350a9da64f8d210c73ad82dd3599a755f872efa0a7c2f5415a2d546f914ee7743da47394ac520689101ae480b06cbf6081a0265d4645662a10c17cdd995d723612cd0965808646283dda66e04563e36da889c5c48ef8e8c842d1a2f5192eb03ab4b8a7dc90b09b827fe0d6faa1849fbb10c35d75f8a1998b088d348ec133eb19f040ec784c766f4cb061779e8047cad6a471b98d5afd5590d8b4b6921b2ec4f518bffa152d7cbd375c1295427ec50dcd98e7a4bb1580d4e1711657678c6c4a7bab530eb8324067a4319bcb8194e8a5d938a8de252ff88f2a8c8d92d8042a1d5f601dce022970f8e694357d349d761d636e2d377e7915b848771dbd07696f5b8964f6bb840be2326c4f891f175f9e38fbdebf7fb54e632be3f518f3363ae01b2d9719e015b1a65ed08601c3369bc2d32654cb99bdbc4769fbd4e12f36979aabca80c5010879bbeea0f151fbd1d06f9b49beb5ee273b83ab79e0a22cf84114bfd253732dfb2ac63288caa00576f8b6ed46d0d7bcddb6eaa4e8285eaa95fb1ef43c301b0dd51cf774165c06c2580836f7cec17d8b90fddd4a5f0070c4f9b6001b932b58b58809bef3c65388de1b398b841bf23eac344670dcfd0f28b4044e6e109fbfd816d64cbd92119053a7d50198bfc9511e98af5708084a3372ae0fb980e3486ba272de569b06f0dd327940a5cf71a0e2e3857a1e0a92d61a13046bfcf9751342ec758acb9298fd83b8265e99395505f39634da31be5eedb1ec12e5c7af478470a9f59efd2ef9e095252bdf59d0756b0c4629b65ff225d95318d7501653a83aaab578d92c6497470278942bb5823e98ad8b1f6d215c6641cb112c19edd920e20b3d3b8469ad7fa1c8b688df8237dbde4cd7776ab1999715680663aa65909d9868c1414598a212dc8f6581d348f78ecbc6dbe6aa483e756c0ac4eaf18e87242d853f0a4b0db565461c0c2986556f9a30e03dd0631e585ce18ded935afa5b84b655d2540b8cbd08dd0d07cd3738bad1861c36411b3b334ab1fb81d37bb5e76b13533f45743a741196751d3fc12bc27075c61481a35998a8775ee6bc1bf046942ade630c1d8a13ce284bc614a7ca4edda75c2dc9c0bd878ad4c89557b2ea4170edd835da8302c065040a50fa6a4b692c8d2c32740b42a5cf533b85ee93faa341282dead633a5d00fbec5d47869d26e8b8d77cb2acdb29eeaebade23df8abad49a8827636075e9c68dada20a70e6915d8db060d456b7bdf01e34192dd5525384dcb57a43bdd8bbdb359388f189114b03fdb37b0c10a2cf815560c377096f32098fddce3651a29a03ad274c6adffb2c8c8d43ed8122a4e273abd3cc3b245aabb723555acd47070571cd9fbd117071375ff9e2e1ae5a88bdbae8b3f2e49597133eadc5cb0dfe31039bb70c6367f87dce30d49c3fb9104133dfd795b121fc612a490a2fbb76362052ea36c7961d98f7b9ee9bc38026649e3c0b0f747d22a17ee5ca1cfc69ab62db3633bfc051ecd162775d334fcdc8fabafa862417275450a4fea868c89d65854b36a8c704a5f6ea2ae89d0d097ea0495806cdf890fbef38ac2931206808c676ea1e6be2be1e354e29b62cc5fc2406d83e4cbf13660224cc904d60d2e5503b084ad8bc457b07b3e5194be512c905980780798571d6370f6cdd09fe9cdf98d55724c779826d5bd36441dc6e4e69d72cd782708c1290641cec07550ed23beede08326c214ac89eb75d0c98aa6304c9a51297ca92a3038b67e2cf92bc0c9a1e5613e7924876ce56ea0a4d93c2567d6063e1a999376fedf89204408dd9e3f73447b7ea8c0965b20b6a90b700726df5d23a9a27e64a7d45209ee687b103d9b274af4e6b26583c965feeb0abd98089ed7b2c2bbe2ea0528ea11fc9c984772ec395f24dd0eac606c7239dba8ae63addfaa9d14e49bffe53fa5b855c8f037fe493abaf865999ebbbf7ef4a79772a668e3c275790a4abe49786a62cb165cecef6f32d1091c676d5c464e924e80769bb7ed1311122282eabbf2c35acbeac1b6ef3fbf895a9977c5048810b6159371ed559326855951caaf46cde7817499a04a025658694e418d3c6c1e14605a5334095086ed30f8e0078381ddc1077be7216068ad2a0340957f70abf9f7891774df1629e595a024d684a85f29252abd06a6857ea70332907b20d0ff5a6c9cdc85c6148711e1d5c1e50d1682e512075897f74b81c66aa54ae991f1c87b5872d4a6e57e4bfaefb834e63f397047bc2531a067e69524882cad5a83a0f2d070d0ab2eff9860662ad28f09726e57d346c54fd79330c9559071232dd41e99699a834031a25410c580fad928ad0ae96eae6740de5e5eaf0f8417ea34412fd508a503bd95050118c13f0fc254aa9e2eb3003f1a179b762957d1163535c769d444f3eacf85e6240dad2b59b4c242654b0ddd48be33038007bf9e328bffd431b90edef1cc651bd5fc41a42cac1ad39d3d8cec942edc6e55659672e4f180148024668a1bd5af325c9425bb3d524c204c46b2aad95351b529ae144ce6864b0d753e79d08a33095bd45436b4000e59dc46d434987e905d83ec53c31c3ddef3ab3c2e99439997bf2f08091e0cabc3f1e7956cca8c36c454ff017b72dd9a9ba4c38dc58140031067e38e4896a9d451b148e92409307715e1297e69792f1149733380da8ad2106529bed951475d70fb5df50c82c6240cbee72baf3e3c335692e20194a689e304a019db5a1a34b15b691c5db2e33f88bd0a24c076c9e94befc445fe4e371481eaddf41d3422c825897b57505b55b95c1c010d77e7900ef16c0d8db114c3d6ca76f47164ca552007ee5ccf725423bba44fcd1039896fa2dbf3277c531088e900f39346e100409c86a2ebb7a48f1a0d7f48d2da54cb9d2462d41f3573e11d4f60238160938feed22b0ea6c74f1bb80e12f446b99de63de9aa968b0f71f6f12be88d2a223753a1453c6a41b33eb344e59fdb8091d56dc835783f65d023901da86680d8bbfb5802140bd0c4e39f08f9afdae689e2b14c37e6cf9a92b134674940d575c162fc1c603fff1c751f6776761e2cef27c23132ec894d3c89d5778dba5b7e7a2b06dea766d0b70df5c6e51a4ef79adf79ea5c9767171958b37803234a8b824c8bee46c01d2c47dabcd6f3a03b138d54a5129ca9d16a57ec911b2cef245326cdfc9631661fa91227b3e8da7eb7230c15af89d50c6e1369cf75208083c542c3290163a36456a659e68595bef5d12c32f42538eae645f614bf606655bdf1c6fd6c863d85669c841c0fd81c28a8950c0f7852ad94ed5e6d1784be8a2ddfd156f95c5ef7a09952edf0d79dea1f4e4ab0d7fbf0fd757246c9d49f11127f78ca82728adc154e1355f5f442d0570d63d33bb9ac81b6e6e8b7ab4967d904aea30878d27da9cc86501861e0bcfd121d4ad3bdf909c05b6222c4493d2cba28a2c186fdf4f2b6d38df9d649251858efb0d8efab5897c5ab301dcc7663fa2fba01a857d14d91246adb5762ee9b1c8fad407cb149a6c5c2b587108f8947d1f6f4d1df62fde5cc2bd40887dfc35ba2ebe45c99e7f2ed844a3b31a696e87bc2f8cd3f1a630d958d6dddb88e0a1b974e1b0dae913a2c4710430c2242bd6919372863b2efcc8bab5726a7330167b255882c8525462ae609195028dcdebae997fccf1a4a8866198d52a3ccf52a69fff4dd2fd4f113a6e0f483fd484234db527cb505aff28fc411648a2cdccff16f534a28379e950c35456e9701de3cdfe05f1d95dc70438f49d878fcbc96d3d4f52134130507e194eaaa570bc2ce76898ebc4dbb8f0097a631b3ed6e2d232d6552df6a414ac6f679bde08ff124fbe7dbb75381e5945b1ddf0dc557aacb2c2d462fe869904b93cb82edb1bc5c6c22012e982340905e0387f2830390ee6c3d78f0f5e4a384d7eac2690c8e85e9ce0888c40cfabdd403a90bc9d86955fbbac7e95dc8dbfd1dfe6a3ab657964f3dfad2344567668563be1cd9ca645511006620b2327985e5eda6c62cb76ed94de14d0578077dade47fb5e8a457f46898c364f7d17c8ea165be5c6285090ddb663182fdfcc567a6825a5b1e1cf54fe3189c6229a87484a50649c3f205befa8a471195c651a3e9dedc1a72f4bb7bdd48ea5b3e3db5b3aedd285716a6865136f11cc97976205aaf6ef0f5af291c2a300b8ce267071567a6aad795728a8db86b4c4d27d021e5c82b00375abce70a91fa4a618eeb9a801c1782f673a93d351767ebd960671a18a99a546396f87e8930cf79a8225c64460ed3f0888c27508cf8010777e9e99e10cc58c94ed40060ccb96a8ce0ae58e457ef3eb97ad7ed341093d05410eeaf107c016ab94f697f6c9646d5f06a27864f11320417c110914cafd39395766660bf8b361f26b0411ad0864f7e03a1b8640a9b8b0d55fa86142076366955662db34eaeba564e9b89e3d92e1da12cd480343379a86f956c33fa3a8ce1603483822e458c7d97c53d2ddd82d873aea12c3fa67e18b2dd7c85054a6859060cfad805f4ef34d08b84502db979057927702aca694e1da720eeb037fe910fddbfcd82055d118df2e5571278166c5a79e069f6400e59390333f9128ae97c6b597647921dc651e252f3b7428469a057b1b2cb88feb057598409f028e391d5a378a2113c32990354eeddf1bc6dfc856bd6612746999ca51d562a2115b7f8612b3f4e576571ed2f58fa5ccb2d7e1621db2406b6579c84dc488c8318e74bf069182953254d6236c10c002626e54f61c2cb6b6db51b2c19c2fcca6f21df18da0ae134341e434803ae6febebc3d3b28e95821e605e45342ada5f9e413a42f42b92a8ce1574d1b56727f7f7eac621ebd50b804f8e0a61fe295bd289b27f5157ff0bde5f71044d0d4bcd21e4f57b8d566185e0feb2fed718d9a476535db93aac6094e7e93db0b49840e4a6fb42f1ebec19dba78abff447c77b60d01889477eb82e8b35217a7ef0bf1b348b3bc7ff2d5899b227222987dcfaf5b0a932aef745c1ce890cc4a229b955fbddc206ddbc1eae6c04591ded464707588356fd182d2228404a76aca99d6f23378d9f116e83db17022eddcb585d58cf4f5858874a76311771e7baf174c4d611706ae93c618474b88579ab1177ded4cbd2613bd74e21773c81cc8fbba83bb2abaa91248414aeb68bdbd4e31cb3e18f4504ac1a052b4917d7dbc3888be7954095f00ec57312a6f539ce7dd22eae9695b344864e83260205c0042bcc7544d2fcda10ba42c0e74bf522f3cceb10a9adaaabc2b74e88a8e263103a39cdeade3fc98fd8749a536781654836b42fabc026fc556866f8fb8d6592ab78fbaf39831b4f66f5a33677e766778d2836a8df33b8545d588546cd4a6470dc94d3a2678e87941ae53324478fe3efed443db7c9fa15b5d7772329fd4ee487168e779f4e2c14d86189b39751843fc5017077892bbbb6b0e2423c565ea3a3afc5df428b70bf29b46ffdbc546c971a1c7a151b570d194e33655bc2a67cb635efa3965b3d394c903c3994ad92226f828f75e8cc7b51e190c794bb0be9ff4e6358a89dcc1605ca7e16ee377c261f4cf9495cb584ec45294ab27058020ddf6c0be3772cf0ceb453a170bba7e2ab92f444639d0ba56ef9c4e42faadce63ecbfcffd4d1b3b98ff2778229f1050346a0381b966f0fbc392c5c8314df33bf63640b353ad9f497d8c03633b2f7c164fc4f7140535ce63820700e6c91a7b8019302c1ac3f18552f296bec89062890db25f2c9eb1e3a345325b0633c1160acb20fcac9da76c300f71a1c1564f8a3332ead1d0ad51726452aa556405b1d4df72314132e55f205ec1754cf7b23e969d3d7821fa80383c13c1f8ce925fd33ff7394dc8b68672caf883b62ad3adf72d464af17495b01e759c1e4ac1fa37c84e24bf2c8cf92e37eac9fb52ddfa403f6c4e55a2e10b8510b6841730dcc47ecceab1904a506bfd232115b524f5823cf224a79de37e155aeb3ed2d9a55fb18c07e1c8b8ad0439926dc74448f3edf04ec4d4932ff089cc997493075bf73ee87a4bcea7358148ed37dd237f8a94dd93da485363738b3c2ed75cef035275479090c0d65a6ad61c03bd26f376bfd952150d8a1591fa632d31d678c974a49a8db45270e9279314157142203c3d52b5f75c64238b5473e152f8071005d7ff8174b553d58ec7ed376694a7f07e2bfe05a030c44c4b6cd1a6b965af1f3490bc7192f28b2abf3730e61fecc2e2a076993b0bc0ac81347149ff3a9ed9446e6a0256a0816ff3708f9177f0d98acc757d8266564e2c2f286d61a994356432bf3a9c0b6579ebe19ce1c4f2f0da5657f92809a75ba364e0071457a0cb1c32f3f5b79791fe832cf62ab3c9bbe024aafb8bfbe320e2c15b63351714d6e948a7d27c9af038f1fa9bae1927c8c95588e51bdf251404c55cbf54b4e67af0d297a389a848789a2329ecd4c3c431ef9a9e67f782f6be4ed35d07748b808f6c5c7cbb57e3f1ccfb4d1a9102df8b4c9a99031b13f82ea5dc75f03d4c0edf49d179c90f4b0629683dcd47a03c92d02279d8df961a76b6088421bab15eca596ba4e04cd01a0185ee7d9993d8484b99e525dd8fdf71dcae1979b04563e5bce1f770197dc9336212014a833c75cc7553ff3f84eb07a81bec2be7503f33612061a321a690e4fd296cdae29136ac9304f937867b5cd57217421a828eeb81af20bd63a267b8f695a5d39f8d97582ef04b410fad7e015556239118399d55e7ee6cf47fc2dd65c385b9e2316ed7ff0a582e29574bc5c59dfa4d6f60c345333e6921be79e860fb25fe8f18196999a4e32ca7195b1ee1b0df931eec0c475284b3f6e3cf302051966e13b27e14b7ea4cf94a59006ca959b6809aab5f1b2f88322697ce8460bf0f0f9ffdcdb727a7c8487f2bd91906d573956cf9d59a3971498d6c0255b28755ce65c8a37c3a167d12892c98fcd6ef0bad3ed9e1b527fcf7169689b3ab04aad925b81bc83e5049c0a12cb3e674cb65ab312c62f17e0ab1dc49393f508a09e432eff3c372eff5d44cf1ac87e31f1cbdad897406d6d24b09606deb5ae1a189c5815ae76a69ada30fa2d5e5866c54399d35d0dc18dd99f8fc78938bdb575d5c84b61716399c5ee6509e68a9348459411b08b8068747f9751ffa5281dc72a428e23608cb968ce80a50dcec253d066350e849520651d1a0b38917b8f43c92198621595e41e464abfdfdce82bc90e6f202ff7b132c58136fd97b4135c539c644a523f2561739a32436111d83805da58fb51664cb563ad38e2c4af757d5bbf0de71dd03fd54d179066da6731a8eab0749b6f51e75ba83c3e126e72d06b96486bb1a34281aaf3da55306821715c248d7852374688f3b86031baf2ae924a44c506a7c48e2a4fa6282ec3f151e1103c8a067ade29bae54e7ca6f49eea4de043c1e84b10ba8dfa3234da26c722c4bb9c7fc08c217b6feac3a8dae1b75456cb72ca69fc80643009aa366c4200a0f10a4fd2fc535d105c796cdcbc81181aa980280ee1e43ea52f554a891b0a2894ee5e09f181dc7c7f411914b0b82950ea305c2c8db665d0e4bfd7e18761597901ea8681e8bd24b467a156f400bd8ee9d17ceab403dd6abf27739a755550b0e9dcb51a91c333ecf4f77abcbec34e13734d79431efe28b656557f8f472ddf9a25910471e6d6641d0965e5ba1414e5411929a3c1d4724c74c94f9a0df34fabca4375d26b789cfb2a1e4ca35064e0ae17fbffcc86e2a5346e9e46aa5708418753d63ae1a5f9a50b7a887410bb33f35720df50c57a80b5f297bea7a230d03e124ee336987fb3e6bc2ba46d5144a954f0dccc43d911b836308cfca6de5b53c5bdc1f45e1618f916cbe65667edf9724b9358a01054f170628ec0c6d00041c1a888980b56716199347be5d8c989ab58fe2bd04f613429bd6340040496679300c7ec85111156b1f97ee15e048cb55640a858bceae7d6e92830cab419aba0df141ba6523c6464b98f7073036ebe5e3f2f89dead35cea7ef8d1b5fc7c26c2e2361c030f09f22ba25b06209d5fe632072fda85712d2a866f268a21865f4c629e69d100255cb9f0203a16ed2b8ff6554680fd6f09e5da086e5fc2df74cd01d49b956ff01397c67f565635636da00c74ba7f0d77f8099bffb75822c29ee4e0de135d9eb0151c565a414b065a8ceb5c71097117dcdab9dca573b22d3414cd9083bd5be63966d1c23047b6ff7861b62277f34df96c4db52bf6a8c375f5df2ff06dd5db3ad66af379f9796e941ba57d78e272568709616b8665946ddd1f5d4e04c8efa70d1112c266c906808f432ea8ad7e1e3816dbd7406081ae326bba42459504d5b4d91625c40a284aa729e9b1dc4d0657d41fb9bb34d193d74f99ff9c03e02edfd3a60e7f37fe62c7016b4246a8e9d1471dc8bf5e8e5c08157066377ffdef3b1938c950ff6fda421cfa388d1c436a1bd934aa3b307a8c1493dc99558fb34f368eed8b803dde0a8e9b5ea4a175baaa4db647da489f5f6d4618249217693cbbb788a94ba4d735b6bb4a4f4eb0f044d9c738c86777cb8611936f6bde2526de83b79ffd5a2f842782f584de72d1f17a8e733545a74b4332c31d3abe21acd7798309ab9145a0d1c0e675014f0d594b0491161196aada385d3869271685c46b59f444e66b45c15364dc6d105b44d993965037a925cdc232b03f9f2bd18318ec905f34bb70b768c28478542becf1029831edd4ba07f82b7bf9dbc806085891af1ac0fb34a52be75c276752113bb3af6d9ac1a52397ccfdadfafc639d2da12a598ab89e2805d23cf40ecacb55391b0f4988dac22080e78510620594c06a356fd2281aa29f43fb5a8ebf5ce7ecc6cc08dafc33cd3b959961c9235250df216a7e308fe34978bfe750109b30583feadffda0fc3406cd8868b9c6b90f796c57fca6f787bb189beb734093fa65fa215406d990bbcc82d87bf6a8c6f625123efc47a3df43d4012f5e86df29d24ec59a2a203c2a45242045fabd236848969ea4e67de06d94486c322be59e379b6fb85037317663c85d495ff8385692f162217a3047d3f62c0b44356858556772ed432ad317a42deb90704c0fbbc87bc372b818f08343ad553f5f83017811536a7ac2033737cc4a7e943ca15fc526c1729f970bb830098b6bfefc93af6f6b77a3b3ba8322988aaed670bbe3e65e22f1943b93f3766736ef7eb77080c4f7eeb163676185abaff41ae7017d9bf35b819e405db2e06b27ffc4ca80c1eb17a0f6aba3513f442fdeb2091cda1cac8e0962208fb397f8aa61fc2eb85eed41af9218cc60d94900228d4c5fd5e63338c6541709eea0a92321bcb63d99135c1c4ad5291ba755331815ecba46206cf219e7f5cdee75bc4b992f3cdeb34a297c327c89c51abc9bd4db4ce4eacc0269b1a05e84feb4435c68217838553a4d0a418c6c067a46c39137a52034e8c746ea3eb56714e40813e55c247b37c0e182c213c7e3f861e77609ec02b35664b710e1169dce107bcfc9dbe090495476fdd12778dea22d1d66c4eb1a5c07fb138db8d76e8da5d10f551bf7f2c35f6ead56a07a40b6d31144427b9882f9a842823e75970fd3b75e091c62e9025d97449634ac32142bc8568a1ea3a169666a98fc520e228bdc8160824835e808d00d5ee6b70cc9df186e0b73529cd1d39af9f7b17c650668a0f4e3c8adff8afc27e45dd20f21602f09b0bba0039df47db05dfdcfdefdbdff1a21c013d6fcb71ce8f14db06110b61161fc7776c9cb7ad1e5cb49ccb0675067464d555125cbdff14a5a4530e62ace8051d7910f92a78ecf9944b282b05382ff5a5dbda4100b95c25c26a86960b95265575a605c5bc673b4587434e27436625528a2cda17bee4248f5f93f58a2e7ebf5d127b64542496042a8e979aba7a1b76a221af93314cab653244e4f22fe1975f95f570bfb3bb726ae20bbcaa79a24c330694bc3443ef63518b2c578e19ef26e26ecaa5ec29be90cf8e6fcbe3716c0b9aed3c1dc7191b237313d002c89a5dfccc8ea43e989e949330b8caa5799e6dd165f5b133aac2f1bb1fdfa77b815d874863313e1b6a20dbd2e214589766cca7b0a55c432c5d41bebf8071597f2b49c0241f061675f88de89b263418604dfd83fa3ee39a67226ae5d23d666e8bc9d32fe4c1ba48b76941685c9a9c4df98f33e0ce5ff49cd38726f76ec6007b98215835d281327ea44d671bc5683406f9e7e15c6a4e6bc187b1439d1ba730f702685c60a68cda8041bca8193f3fd08f3a9f00785471466e0f5c37002de1adb3435ecfa7ccf3054e0370d5d0bd7da8ec93700fd62036548eb2bd2e6631cdc52826a11c81852caf15deed707e91157de2ee9cef569ce2ce97a6c9213089a9d931821e1c2de9cfadf0ddf7d297112cb687eeb1ee9ed6aec79d4ca3f51e4544e62adb5d87434307eabbbff95b40c087b5efb0ae1c1c85684fcbe52c2a06b5dd14e336ff8238865cc3e419b74cb668cc8653f2a0a8afbc2083c7dba9633ce2952269e949474682347dae1e871ce141104f4ea5f5dcb0ae3e81f88f08d1b94696ba9119efb272772f93ab87a0c02da01be6255ef37f7f9bbd418be7aa29280ca78e1e127ee85a7f36a32a6dfa99a8bae31668f1d122a1282bc333117ce7ac933f3a443d000799ba88625e7b21cfeb943a4687ef9dbd7e5fc8b54e86144e29f2c424622143ac969b60d336a1d17a07adb0d410175c77ed1480b1d12bc3c6abc27f6475ec6e5a234cfbc991191df8ed65cb298bf4189e373e5e1950d9040b63557100991076e887b94b7acdc0d1a545db391e0d352bbf335122e4bab47be39a496423e0d79a6df27fe0077a39c3c86897b4d57bbfcad559091cbdd03a69341c0cf45ec75547eec043df4d4a8ec0821cff2741e082e78698972af11b618438b672715b2f555f157ff833a2a5edc372dd9196c84f8e6c254a565f0e539035a6584a945e08d9859d8017616e47e5ce2c34adbfcba19173b0df2aa8edc8ec4c747a2c57daa1407e2741a13d324cd9dd9685f359c74b9ed23916d415f9a2482e624b73738897ecdb903a6b39abf5f3b694b13578d9913cda9ffac9543f3588fa8959641524b2bc0b2f4faae4bf155ab0e16ce5ac546f0a61fe48dbb685114339d7379243eb5cc08081529f7cbf7b70516ebbb069ed8e4f81d39e6986ab47360f9faf6bbcd9afdf9022a954de67f780ddfee19ac7e11384f9b9498201543a0aa47ead9e3cba982baa7cc764b9d7a1aad1e9ef07f2126176fb35580de2146233ad62d78099b9f8b33a1c16c119d6d9107e9fb073b9c62b9d87c8b9a8ab7773e8ab8cb45c4da3c68a46f15f98ffc84a67305ea71945d29a2aa7b51f7dcd1a851ce07b4f28eb0485b22071f616e685938f10a09c67a0b8f6c78c95a5717a251173e88e7ac4c845f66fc6a743ddba79f3b878b9ac6dcda9b040b7ddf5fb71ca7e0e56898cd65451b0f0bac70e31cc0231daf8a6f05f43ef0890b04f0be776e5c1787da8bf835e80e1896f111e8b47bce4e63ca5c4ce53e07724286c98a6fd18d2eeeac2f830909fa1eba728037f662ddc74785032df2c480748d1c46c9c387607fc416a999c4d76683a5d65c5459eb38bc8256f7d42380bbfe04543acbbe4e66f39be1ebc8b6ded43b084a45fea059bb21c23e04562659c0c2b98832e5fa5af1da60a749856039f11804db7bb91f65824f9066871fbcd517035d7074feb945942e3d6c9914719fe1416eef2610b190dd8a48152b72203333d01bcb3f36cd6ac6b2f791a4f6aa725f8cea69e168ff413ef77eec9b8b63b99ae1ea64e88afde13dd7ffd652751a50db44273c96f0a8053e631d063c83bf2fd3e368505a71a35fb39bd12521f145798e75fd8cc1a2dd68290d7c0436e8ac875477c7ebbb317e5a6ac50dd0ad7651e1f656e28999ba7b2817780f73d53c23c43085257eaf96a713af7b13698ff885181b8f49468f2bf565ccdee7d59909085f9ca011b50be67dc855e78e9d979db7c15243437fdbafe6552cc997b38fbfe714cccb88e78ee91432c333eb945f93d9bbecc5db28496c5be28f62a9bdbe01646c6760dce0604d2c2bbc98f72d018577e86f9a65bc537499a6e3258bcbec39bf2c1a88fa2709de62536686aeaf016549bc067351dbb9f3b4af79f89f4d3d70fffe1922278eaf97a3bad775d38bab5e127bde081e3720a3402c8eef148adeda87e4498c529f6972bb9a0a28833125414dafa0aa6cc2ed0810ea334d6e56970b9065e6b32f71b2fc6595a94c6426b5e32de74d9a8678cc6e87391e44bc55575f697e6eb14f00e37e3597a7a738c09d299e8e3c0d42b899f93868c7cac53e839d3fb5e33da2caaea7c76c701efeec762c3984804eb712442610ad72d2640cd676736b116d8a114816c4eab4480bbd81a73c0eb9dfa7023832c28c8a1d604b857e3df0153f0093769c819f82a3ad7ff4aff4c940749fce370e57b5ad923da1f8e703bbcd35302f1dd0209f91e7da904b7c1d0f5d4a2f4165750aa4924ee85000d5ba9044e1606b5895f5ae61220610890c65441a302fd551a3f19e446acc7e7668db1ba7f4c0ba43d1a1e0bcebc6c919fbfc97123883f74a9f6c8c1c32660f5af645d09d39903f7f3aa1766aa68e956666d1bb0484c0e47c043fef96a85388a939b3755b6cbd885278aacd21a2e3938c674b8787096dd376cbca634bb02c6eaac8ad5feb1c2f6698036478499abdbb5d056d4ebbddf925e3b0066fcd0c45aafb9c96b054e08b39f875b04bf10a76b7953dd453a1d664d48e8a4af0e2d58d8f3fa26cbccb0fab9b772e33576d979a5574979d8aef7b2812b71d80ba142af0a64bb663778ade0ccc3ca13cc5836515f698b112451a82e956be002aca824bdbb4791d16e935a10cc6629694ade5583f16fe1d31f287283400f16e4d67d1ed06072915158eb351691331203ed72b56ee9ce22570f402af0c07a31d61f76774275b2ca7200e0f7d9bd2f7b6b35fba71dc7301abe8abd768f673714aab957030ed0d7b771b8193727ba752ae7a8157ba1869290c3044a460192149dd54dabf7dc93c37706ce3ad69511a42822fc1a441ab9055178d1aff922ceb7cda3f4247034b67c5c3333b3911a2d749635904eaac8ff91be45f2ccb784e39e2db8632cc5a2237ed6a62f100f2a2aea81ed6f072345278495b4ce89227fa0d6359ae41da33bd502c981dfa7574ced454d54003f0abb02780898313637efb44288c95918d002ec8592b8b6ec32716edefb23c7d2edb5042563fed351ab47e27abf746ce4e5b8afa82b15240669f6461ad1f01cbcd40390ffbcefb04bdf38d0c166c41ecd64e6317f8c95cae555ac13c954543d303d24a0a3acff8eab366f4a8c57fc59c972f222cb831092b96ce446ec9cb134a21ff7c1357d932b9546a86a770c3577a34735227017aa9c20b41a29e9710ccd704128c91db617b5c22a9800ad37eedf932d00938e947ff96ddc6d9f35cf876dbd0ef4aad6a28e9a1fd1bd6beaeb8b44f91e0506484ce1cd77e0365d027be1964471b22d560fcf174f58ea0f7f2013dc904e28fa569a46c1f41bfd6760d0b5227bb9a1ab8b3b66752215d3a8779308642ce16904e3338db3c85b5dfa13fa1f984990a6153562378fabf972bc69e713c11893daf7968bf6615251d77aaca91765a2c826a70bad3172b4a58f1b1a419d0e32742c596a496ce1186c7522a4211913c4bccecdc50f7c9bbb2c254a8829456328726a727126e76a06743ebaf4a568e257647b509e8c6632d59af9970d06cd764c9fc9022f942d8d8eed7e4817b9138a618190f4d7afd76c110d015a2b9cca7b116467534e7f1f6d31c1a612990bc9c1c1b04454961039278a37462a7a652475b570d56a339db16e726ffd42efca793b9d5b816b8aa7d9edd959c290053c4169799a8899c469afb2ed766e5a2644dfa428649a7b11b210d4a6a5b8526ce6cf1703cf1ed91301c70dc1ec797ae0df75518e648b8c3ad91908c5c0285404913c312555631cdf2015732101b4866bc05847621d1ab49440ea3229bd243adab5f0632b83d15502ab59aefd1c645576d72dea93c10253f46336601771ff78a0e23fd374d47c555d83ced9303bec1178f177cc5f84c139b7717e047547873acf759544e2290638e5d8f6aad3a4f51aac0baf6ad964a2d7e3c6579ead797225bd13cef1405880294b57b049d7ec2c0a34b5015f3c076c30b97aa688ef7ea8ef6406f284e30a49245a9a0c84c51c6255127c6c2819a87951c2b8c8cf7aef6ab4515658895ccc915feedae5e903d204a798106296ed24f87cff65edda0dc7074b4ed4fbd65a7c6ce33c6c79c598f4d70fc33272cb3dc0c39bd53c7b5c708dff61d3482ddc67957ba8a7db0ddf93d9511b057d50cf3fce55e9dca518d69f2d22d5b01359a1d3459660d1b58d043c27e294832b7f3967cb18b3c915f00b92b4cf5f001215c2b9cf13f6900979d3b00b8db8379beca79b8766f4bb178622c002a0e891d6745796a910566a96e6b7d85b2bd474039daf20adf66d391f4dcb7c419ff2bb5b70fb894e58eb8ecebc5155e3f9aacd24dce0c0bf27c39812ce2ce7a4c5725c7aa584faa6084510cf7b6c978d317c1dbd2872c05175a291defde515591980264885895c2a55d9454e959fd44cc0eafb96c0cd1be01e36cb75d4e680bfa8822c30ed626620b5fee08856c6254d02dbd838d70b2f73f48dff003601a70950e2ef54bfa635ad29108d70908487d84512199c082ae351bcae36fe2645d5d5b88debd6d1e220ea022b906b0e988750dd01ae318ee7c0d6fdcce66505fe90bfa8373967b84776dd7a65522a124b8eb7cf1a18c5a7a4f173f0794022e88c23ffe8431e752fb0fc68da261d15f0915b0ad16445090a8a351b15cd3273281b5a60dd4f0f572fbaec21bc66536170e4ae0f4d4d01debc5a24c5b69edc5fe09abf24e931ac3154acc022d55ab22c0c625bda28e34ffa7a2b982acb59e4e34bfc66f84658d28e52600851439742bd388fe9caf0b3696bbc278479f0ed9abf89c80f7ab906babf3dd7145aebc3f697c180375de17b393564f57be1d6c6aa724ae82cdb675ca79bc4f7a4c7ff6cc30428dfaefbea6cc20c3debb5ae6c32ccefeddde12a78d73395f30fba081176acff40b4b9d0ea648478a267dacae9503c210f2ec6ca9376fc3419fc65d55d288290612d0376a34b91cf214ee9ffd35d221caa4bb913e91c87ed5a95a7910f4e4ddbef78486d07dd68be2158b59d8e7b6aa14a174836454165877cacc80c6167465d51ea6c3ae5b758a21a1f5ba30819a5109ff6a72d5ba6cc66c924112e5de6e2a8c62396f09d3ea5cd9783841f70f4048b4adaee5282616ef1e0e2e1cdf2ed17253f802b15935f3f2660a2ac773d3f2a03f444494798295626be92d39f96a61f7fc94081df6bfa1ec3dc433790aeb10b3269b68aa18396ddfb8bc940ad6bc52fe8682ab7d40281f9e69a5573e301639606415337c5380456bdcdf84fb85dae77042f0c1cc1cc9aa87ede758a1fdd1e37af8119e62514de0c0f6fe3322b3f8bf14564c32d25660ccaf19cac22d38a4a9873410c5bcb2e4c210b9cc32e0be3795c97ed099d584e7bf4489f164f9daf063ce6786531a2cbd0daa01722ee1a2e8a1cb4efef98893b32e7590c1dab8a8ad57f8b7d36bf8838257ade915559ee136d4abc5aff93c86910c57ca4a6203f3be073150a2f458f91aec25ee72f6227f3ce8c646f173901e206ff8b4c9b9c27940c58de3d6f685502cd898e253c4e48abdcab6dc0cbc7f7108564ac60672df5cd0597310aa6d9a2250d1ec5a56fe4d7dbd092efa290ffc2d15f351b7614b9741e3952887514901369334e46259dbae825b65d02eb564afac59c1d6d07dde22b5b8d4b60091f8a9654069a8dcfcee11d582e5c9f15841f22e1413ebf56dd2bea4196774d82dbf5cdcee9caf735a09536e483b1cb8f502821eb4b535a686c00de719ab479fa23173984e43646064a501627a73135c24dbc2a79be1a29fdec1ed33d186df85ac3c23495b4c03862b1f46d042de635b052ed51253424d658041a9a5f1c9b60c2519a3bdbe57478cd6cbabc14a087c9cc3884135f807027d8d5fef353b61c43525d693e3ad40cb85f4b980bdfb1ec31e981cf32ed8edffc931b45741efde2b03ad2ac2f932dcea021b273424d1803ac5744fea7f81173deb0609ebc420b1479f02802d767e80e381dd59132ff7c644dbadc1dcb16b72cfd0f56b472581088aa4e4c336f299663cc01d2fa4b5546893bec8f3e274b2583e371745b7e2d4e15adb0071706933cd90340a001fa9089259f6bbe5fb33b5c77cf3aae8ed63251a8e63ed26a992d9e5dff58e98e266a1e0c0e64706fdc3b8daab564cd8b40cbe921bbf55e3346e247675b800136a8f3854c3f8059c50630a6e8c42117cae120750ff2356ba71a7ae5a6a5b119c123f1cf4d9e25a537c3eef5742a82f37e71a03f3015374de4327e92edf019e0a8529c442dc1988681fe94219335cbed082f5b02b8cbb5cab1a3dbedeb2ec696b52866a932296b26a02f8f8048241bd1967abc3c8834cb9ef1b5e4dc73640ca4d95bfa97fedd75f48eec88613aeaf21158259bd386cf2a7a5a01fabd65ad76760186f7f62841f8229e10458a8fd419756bcd655bb6cca2909805405e705182f4163275186f6909641e657c66c1698b19c2561fed7217fd8b2187457e1355888911163f2326d248ae4da0edfc341deea41db85ac795a37b074c0b0a169ab8cb0daed37f9735985831cec508da686d1fb818a84e5e9ecd9ea6afb091062e892ba8e849748e8a2e472b1650c820afb103af6bbbd6e174a97a0fdbf6c0723fddd3c1a583a94a73139a5ab695416aada1c59eb2d6c85c139f6063b507144cc6718867d2ec4cf77d4e59ee380d5688923905e7b6a1df79c04111f2c3018131fb7cc55acd3516d534ab13fc23b1c20e52bdbc5eb4245209609baff2a0075b744d65db3bc77b37cd0018033aa50982d12149bab9c73e943c1436cda9d4ea3ba7f4f241a7c5153ea26720ffa0f7ca52352b386b7ed0621eb2d80c1ae06b8543b12957240f064fbf6e30774899481d6dbc97ce0989b64b9681952f741b9d33feebcb79ea365ae86f223d65902bfadeca948e239f921ee9af0e6d06bf8d4cfb0cc9a72fa663f46ed0a8669a339ee53f5fb76423c443d3816c526133a85ba90f07a859984f2ddb217a9610179bf2c924a2c50d361805d0bc4ea95b9084f9ad8bbb8dc9737c2d54ca335d4225b0ef5fb3350b4e479868d369e69d583343f9a8e664a880ecb2ee5a2aac2400fd69eb8c869a40c40ed8ac91ce617e1233f4d587d75fa10ec41e36a56ef1fc3d9c64670a5a481f8e90dbc28f9a7e6bd8306a90745284cecb266adf7197c270a570c0abf299295bf5ad8597af04cec3b790ebd20beb1ea78ffef275a0e012709c9bc00d8c97a756af4db0c22e64172c3ffe6a2f8ff81e15fc9d56c0f1c9e12f5fbc22ecc725e74d4fbbd9f62d9e573faf61e55e0d694af6dd925f3c873e76404cbebfbdb0a4b68910b38ef9efa6f32f74a773986dfba34587ac819027930e871ecb019a178378dfbfd3187ffb30a2a43842be1ddd98cf8613334d4fd3e26ed2ebf53f2bdf002a50ad77528e86e66e2095ec2364dddaa1c285ddcf14aac570de26aa98d385f7e20f487489b8dc3206f509f7fc6c3cfe71fb8214f3c9d46ad5a2ad187b93a9bc2ec7ded66a783f08126e4587d534879528d0fecd0350aaa3ffece867baf779e3d0019861b2495af7f138b6721aa4a6c583d8dc43b9fb9a5c4583adebe7f145ae29db326555b66dc935caec5ff583748777d31d2605d1613727d3b034bf5c9bd61789f0f5bdf53a3ba738f87168d7350cb862f5507dd9e720277312c05102f5df625ee427f87e11073d731dab906f9889d6f13f8faaa54edde442da1d949e42ce26b8fde180e4b9b52a1383c04077720eeabb3390c55bc85d706a2afcbeb6479dae18a09bb9aadc2459074ed46fa34a97a70a327e420406c6d8ab278ded25a2e814d2edb1ef96758ece888159d020f60c8ddaa3dc208bfb3844f9d33f3d588d52511c5451e3ee5b5bc452cb8649e560e23eb668a3b7618a5712442915d35339ffc97295b2cd7c0aeb2e93fe8a23a4b259aca2e31ec78161cec7edf756f25a44397d678dd3ead0c8385e5038b15ca7644a6e1cc498ffd968a4566d82b48841004f9a44e3dd057990dbb48236dbe118318d47f274facc7e38bb9ea33b1d4019289c987c3eebf5e73bf73d46747a4f62adabbcb241b0dc645aa44a2246bb7bb1de9918decf2527598bb1dab0e0a59d70ea8e5c1d7d086f0f1bb82c71be46b371832a5611e08fcb7fce29ba72a54adbe6350efe7114e4a03d2d6278b6b77eb9ddb6793f2c269db442485c0915bd0b08d3fea8e31fd286bfde49e446b0b8b8b325bd4ac699ff031b2d1198fadb7a52813c145b180da2321ecc4be6088f16ba6daec6f1c539c4b2d8af55b2042d4eba75628b7e1e06961b1103c1609b131ade0b6c2a6637ffdb2e992b76c861c288946394bcf84b89f97e53574861d89a416522ad31068f9aa641b21ae1b8923820a95b8c9840706cab77ddd167f99a0369e5e488fe955e8cb04484adae8a549f237bff9a68b50178fcdbb1011b99eeaca81fd6be3fbabc4b4c4e63ee1720bf25e9cc49167c9b15de607300449dd6b3690cccbd6eec3ea632db00ae84c4d9b08f01a10a167d089f575a8a36cf612136b93888252fbe4c6bcdb0aaee056713625f890625118ccff9552126b6c743d86f186ee62cdf458ee925eca9682b2fdfd48ef66ad2013079121d603d66a10e121327305711a8836083093db383f95565c12d1569c30c077046c9ed9ebf0f2b492a9b9b0968777154b69b2f43b63ec3aebc14e10d6d742c4320de992bda0bb0975c66759d40bd77ab40ea1901b0fc221322740031ce53fabc9d5ce6b18a8018504e9abdff9be88deb17f184272648d32e9e79aa4e384428ff1fc007a6fb77abd1c6c42342b13b9a04d9868f83aa74fb9f5a1870ad26838463e0ec34cc95c45b498a55fb79bc99a746b0b024f46e00280fd886f1b0062d9d083157308be3c2b69d7cd8e80cff2aed41b017c3aef9663025975827f698ff69243a307ae8c4c382b00ee301011a943922d69abd0a6a874c89a2ae4f03e5d12b23bc856029445bf9c804752f348317c6136e7fc4e78843d7f3a4be44253144cb0b7b800aca499f00d52f6ed99fb745023f802e0e0bee02cc23cbc57188ceb0c5e94a9b4ec3d943e61299daa9521aad4febd75deefa0701164494abff080edc1b9f943899ecf45a1f6d2e433a5d79580c69c3a5a646865e1c8a6ada44c73948c9d5fc7600646e880bf4ecc7c14bf9e3e9734fd84d09fdcf792dd73033fc53389c7f3eb3f5c8a405ac47323cbadc5f4b4ca9bfbd1ea770615bcad69737983c8588972f960f7ab42140a6f58e2e4e36ddfcb0e022e54ce2f2ef18d82c9cd0da6db6f092932f24bc5990f6a6dfe7fb299672df1f4786b1838f739eb0e29f0018ea05c8710c78fb47a24dab4aa820a02d616ea63fb6197130bd4ba37d30763fdda76b8ee2c674660bb16f482cf410527bbc48b7925dea220f511f9ccddaeedcdd449e76a018156e4bc90e4c4e7ac7e985613deed4448384d37080cd6593920f273dc0b47c9372112d3140a243dacf9e1b9df775ed41ee0d106d4a4e61b3a510bc05ed95d14250bca12630945b27d3350c777ad07acf3e1d7dc4434e70577995bcb0cb2a296c5fb5d26d83b6eb7ea1f7e4757696b38c23022a526ac71297a39b599223b96f6f7eb104d6b867880faa1cb745ac1e26a33d8c14ad6c07be25e494daf9e0f7bf3b5d4b2d4da4fe3fc157b56e22d4eff13ef880994489eec913dc834885d55d0bbe45dcec3e9c67b000cc34f4e8075806dc37512dc258c9202f8163b66ff038174cfd5e56ab6713f5b92018ff02d542b707bbcbeda22c5b756e80a9c66da305085a0a3b73bae9db722860b9dc36a6657eb0c65f26a6f334408cb95e80ac2cafc14a2d05a9848b8d4469fdd927474c109ae395e72375e5ad26f90b77499bfa02ad7b5e38c19b47a6207dcb0d4039e34d54dbe008bbec698a227a9ecf89f5e0433afcdcfef1b5f3d28528dc237113232cb6efc9e9e046b37662ae039f1c4574be5a65663acfe357804fce04302abd407341e026b8e741a3e4d8eeae719f8d978193819717e9de2d97f444a258242720d919aa1b98b657265b815f7091be57cf6976b54944014e6c60202fb669ca83c0e1cd51d0b579410545e6687f09ffc132c3285ef1e46bdf624cff993503235003b03d6aab772908a54b300e15af654f8c255781c02d0b1321bcef870e05d07d03101f0d50e4bf4333727e154b34abbedaff156cb9e6c7f00f9793dec6e85724c52f568e5b4b6bceb2d7f96e590428bc0976d2a296b4c62bedc6f9f9cbe93ee0ee10c50b2a9900d4721b22059bb5f2687cb8f4817c686c91ce3d42bdfd6eb43752d2461654d0cc18bcb426f8d237dd505ba2f5e6ba0a0aa9cd331cdb0ec202727aea1382ffe096363b04fe525c7684c21a52622d47859104da8d172fa24c7ca06452fbc94f18ffe051f3780762150e3037514be9cd3e062f6f082f0f6736aa5ae97983a04a90ed4174933985f8a025d72884f25fac92a7a23f6d6920fc41dfb8cf9b67ddadab9a7da9783dd30fdb01823d79322676c70260b7fb961e1ea2365d0c430f5b04b8abe6d551579ed102e5a8c06197557bcac3dc0e2e6f046a1857a9c2c79e4d6df09112125e4f2f8ad674e792821a1407feae7b229cea336bb2762a78f40a644d06009e849c788493b91fe0a20b68fbd026812b62769472ea609abd789749805d632c888e9c00083dd99a39e8890d50b8446358a8935bb44e08b31df0872c4542da9fa81951492f4e8b74829d8a89c8c7995e5faa798127fb97f728e32d350e4c9f4baf022bd7956ed8bf891e0c09e6db9e66ae53ab5900aa45091b4eb0cfa71b9d2f22ce8e50c4172e9483ab22ce1fbce9af7673f45d73b20d2d4eba2b6240a8105ee4f0544821d56e54e53a12ca0f0f5d78ef1fb8581b7756b3d636472593953377ce09dfe648fc4a784a3697220a4746a4f7ccd4f7e536cf0428f3c2d34e4cc50175ce338e26bec9b11b4fb6778ebb2432dcd6193133ad1ffcf4c7b09be8faa7f2140583ba484041618a09eada870dac9f7fd205697a16b35591e905efea96f51f6033e5949d7bc1d6fcf80b5ba16c5ab3d17312757459f1192cc7427706767ccbce976b923be4f471d4bb6d95fd5662eb84f48371857eaeb2667a40e678188a532e0cc2da39a3ddfa3772335169e5ea005bed7ddb5908f349859cf7e754e8f22afc2e0e7d5ceb140b8057d913e88094ec9f208b67844b8d1b853b2a509b6635c8d537b004c352c74a68d4ec95a90d259e6383f18ba98057b5399a4e3bbece914f0adc6b2e16b87b937963cdea0b7e6674f9e41472551156fe1f911547ac5b6a53951d148eeedd9a0d249cbe951267d99c179a2e6bf90736a1c8bf6ee45f444400b1705dfd2c7a4962c6548a71eedb1e8941884b0d423995528259d2115310f33872cf5ba50efa601f4cd71c220916ca065cc428bf45a1d936b0afb5ed275db0a9f00f60f7db578a1a7660fd285ce24abdf958f5dfe27b2caa34070bde79b7c92c85000264e06ca73fd790d063a86aea2534624213093af31100c46df9307a4c9f9afba910940bfc68bb2bdc527f9fcf9de79ad217939e58c12ad955f6a8ee05b8fe9188732440b5e56b21f9fdbf6e4e2185ddb813b5526d71fc824a92d50d8c3d1a6308b90ddc14a2283ed2f28d8daf2d69d99f70f84e94d5ee00ae4186b3ca1af53131f881d3924afce02e5ddc4df0a47d093451666a3ce8ac63e17db892559529ae0e4f4d1e87ee39dd1070bae7da942206a2959e85620ee74c33bddf7b72a910fd421ea8bf5ee71ea03273023606aae8774bd6166ddb237b00eb67b8d96047b1a5e9d0da7b37f2837833383976754ff51f9c420fa255a4ffa20b3519bb503431640d60976c9e145c2ce096f2d4e9fa1bac78b5b7a31ef7f61205f18adf2e167401d04afa24c432df8a3496940045f0048d6418fff3c4d0d88b338eb28688c9652245de1bbedd79a91810855709baa39f5a6d44183462363975a60a05b9f86f8666f98897ccac2eb0d289c1473a550d6bf25c67aa6a0139b99ef9708972809c474d5c4d86e7d4e45bdb0e63f65d8dc37ac2b4dc7d285df7da8bac1e65569466a0d635639ddd448e4d9c6c98155fd62fff9beee6788886c2e6c6e3264aac4d09814e19bcfb59ac632e98cbd4c8f5c6366590365ad1d72156a894b316b1cfb79e1ba9b8dd385492904560df97177666ae5cd61c866da8b63a8d73c8493a14e001e2e490eb70a7645e8ce43eb3ff1e1c375203558bcba1c3eea6d62af595c62b1ed40c979d4203c1a39779e68f3bdd0c76156e7b9f15d6f1f758bfb9cc64dc8491a8491146e8504c72fc858aa64643864fd6f27fd1bc2cf7a4bf2191a91053164b6ba4b4300842ae07fbfaff31f97d99892048b9e043593e4037327574bcee1856ae7b02dc59eeed2c2eba4d6df48429f7c01312540f05c19c48a030ecbe7cea987070b3371bbfb7a7ec5d3be7e0b8dad5e6da19f4bc6c819f469a00ec3e977217184f7dfec8758f31c281175cf3fd4bece45ecc6790983045b4f2aeb7903bc3cb3428c859a7bbc4740a040554484d8d5ec859544b71ab4c9485f6802144d70cdf394bdb5a376439931a0457601c7974ac6b01b626724192385e6729fb6822fa06e86344a52d629a3c4525e0b70d024e1170238ffe455cbae03195cd79cd4d3efef6545a7c49115f4e57e8313e6efa31e3ffd1598c0c0d74dc73cc80256259c83fa444ab349ff79db261497cf90ecbc231b7b308f8fd6b56e631076ce7979f0114695cb11f2a5981c5c94652b2a36c2c68d22eff209b146338005d24c4a3253d0930ff4719f295efa890605c4c756200256736f6e5e7a3da3da75905bbc89a9d20d848d13bd8b03c8a6a7aa5f8b924e3704f87e721e2017255ee04dd404e087d992caddcd72c5099a7a5a747424d2e3b4395a9febe46408636fe336821e1f934368da11af3673a2e774ddf6910397296304ed03fdfee8eb09babde968956e0d5052f36613168166a55dc2bfe3046bce567767eed984011db9f8ac45465cef0cefad406384c31ada9cbaf1e6c395ad1aed8848be20e23bb2dc4894cd0ce1b989e049a81673eb9aa9c5bfc856b8138695c106620d1817943b5869f6f9021b0778835e65b25dec960db11e151fd20ddc77c0a8b91593b9e33b0b88ee0198c6abdba31822135dd5dc7b0e436c2ce5bc0c06316feb4f77a41427b033792d844d492705eb81aeaba08a9177f56f32239933accd7541470a6016cb5fbe72191f0ffea2b6ffd919912bcdc45861ab4d26c117517321c38774271158ab720274acade665472f85f48f83a6cfacf1c862d0fef5e90e7f649907b1c06679f388606ceb6d5b7a82bd30ae42ae714cc63f43941664afc15ba4c245ce1776778864998bc4c00efe2a82ff53a2c05a7e8e16a8c53b5b8dd6fb8041dbf5c8c03951b497d45eeff53720fb6e3c194a00f7f20bfe48ff14b8cce0101409bfdb667b0403f3aab3c107c34adac0b604e2a3090f732dfdf7261f5aa32e04868ea8916758f407066fbcdcbebf072fb02447df06c80899f767b01fb96d243b6249ac584ccc6e9d0a7dc8dfd076b6483ec71cb988216797dae30b94adb41718b1f6a889f6e6121a5ad11a58806ee347f96f52525e70f9425e2f763fa1804134a1219b7d701d156e74f7d553d3957f6a301edf06fbc5222ac1b533c5cc18eb53bf5554766f5fbe3f201db16cc9e3ddcbb0b5ed69d7f93a13382a813191f2021514b8a4da7cf179fdb2f4b3f0249927e926bf1b8bb95c5f339d2682e7363fdd428db267665ed4c185e4243a4e1038ae9cfe4e53b27b0e3c28c9ee7a2d1e0dc3afb6a10d1171cd0b3cb6a2ec68450dc5dec3fc3dfeebc6eeaff253f1ca9081afa04d94b974565dcac86bff20ac90a7ceb834cbc8f1045fbd82f685ee3cfa1f65f2d74ee67bcca46b33d68be0931c93ddf2b6b2d9c8e597de0aba31aeef25cf5a34731924f272a28aa01c36d7016f7c336afad17208a3f3995caa56eb5b216d477742edcd7ecd00428fc9c7c17a0fbb29150393b61a2a981ab37845e0d4a977ffca010e471aae4e4f336d8ca0158a52b7f5b6feed459614628d310b28c616df78ddd0c7fafab97baf0fa36a15a2ffcc31ff3e716fda29637bd95e96acd7a936a518518cc509ce6dfda958459a8361765cbfcceff45a4659c170292aca519c7af3f6176ee237534268dade64e5892af548e48182d3c2fa85603213c0df17dbf4d382fbb648e1c498b02a9e6ac9d90e0dc376e3afc3b57769ea02422a679e838f76126f2ebdfc4061b68edd4307af1a78e2b0a5d26adced4ae163cd2a1340734203ecf85d8ba2314838ee0c5481f55f37f9fbb3d5fee0b59ca7d58cf9ef3921802752a2a8afacb1821084bba126530b4f847f5ea45591f126179e90dbbfc7aeb9191990b1069169e5746b25f965639aba99fce5eaeae23575d871d166c7e76897763ee01ef5340c403dcc4b76bcc29cb01c565350538b1a83b7878f678b7e6473609f94e2fe4d9108711522facfdc5ddbd707054dbbe0614e5a59ff7b2decbfb97f15ca3436a55af736c66ce95c8434ad40467f0372fc9b854b83ea7aa68ca0c730a0ca74e2c8b58dfd5defee1ac141c420ffcce8c7b6e606ef55212ff1e4d6e78b067a473045f79d53235a8c8a525b3a19be5b29a3a1bf3df69e62a3be3c2b848030c201631ed9d731a760e5ca298c015cc2c2bbb63bbf63ece53f8a5ba4beba018bd48e6a56a9e6f2e834dfe358a98d7ac34d8f9635b05fbff1a6522d9391d531fe51c49f573a03a787f1df7f42412b02613b0baf87e190c23ab0059e91cd4d3975e54b2dd41eae117f5ca92ce6d10bf9456aa857f508e038e2080a5baa1be3c3195d4953aa1854eb8c78753cddd0661af0f67e0865be50a8faa35439f9fc614d219c55a5e7b066fb8770a932b684eea0de2fb34e8dafef70b46377248cedca6236654af4184aa30de9b135175bd784e05a42cb01eeba57ff54fddaf7f265a3bc8e37a0f7087d3f6664d668a6a65d1dc0bd2260e1a162d85bac79a325bb06169cae16a8bc1b0462ed232c164e1822a83dbddd14d0504eadcda579114513e388500771d8700ea2c6b6234d54eeecfde94bd0c4922f1957b43e24b6a4251b633f8b06d1796a5128f2e3f90bc9be3c5279dd97a299e5950b66ef8024da85be52a09b39567ff841aa3cfd3cacf51e46c89cf536a9f2e8e7d99d4e19453ed6890876ac3f3c4c8cbc19ee08336e9d31fb5f6694958dec09d2621ba89f44fae28e496a8bf2c7ce366024b65d39f3c58bdacdebc4b36d71d1b93d604825877d290d98d85fb0b8cef9b7392c7ecaa8ad1412bed007a3c62228a4f97c1cf5635d1bd960be34e729238bffd8def7555140dec6889d67141bc7739e91b2715d35759b165e53e34d504cc209072cb76a0143b3bad135d59efeecf8e349623971189bb1e06cb75999391af8af2685073d76f54e2de0666f1b668adffda5aaba3305f62a6ad454eb0d18b440fd9939e8800fdba7776b8cec933b55cde0320d9b18cd6d48e1f39448aff02c22233428a48252039a223ff8b1be03c5dabc277f77d5448fa503841fa5180a2cf01d89604fa3fc810fbec003d23dc2e5ed12fa069fecb85d51c311c2e4322b34aa5a06460738885950b5b569c6b99a1218acbed8eb8937398473c485bcc8fe67cd04ea0bc2f1f96f8a302e9432308cc617aa8d61fe531186fa24e5ba052299a98d0f23721d63879443dbfde25e6f8cb373d34b1ec6d6fb96faf88a09b25a72f9b1d3666ec6bf811eb0265ce50b8df84df7c9600f6f0fa987a2304208d23219e87e3c36ef05eb14906cf5eef647f45f60fa0ab029160cd875d12fb62bcd74d82da824fcf419477497cded1007491e70fd258fa1e27968f571c0a85f483006757baf119576c3862f20ea112e63c940e404515723d69e8d123e42e19a9a704400a8d548564ab9e5cba832d0a1f430415db8d9e97dd7cca47648e80aff3eb540e186e4c2cc1a0fa63a85c4547de592bd73147d0206ccead399f48db7de4665f0316da3c518b94a48621439988f0ffcab49966ea3f1a074785cbe38a0b1ff315614cb132cffce6ce6ad82fd1932a55e4e255e2692670627fcd6dfdb36aed4b00b78515e1028ea87715cd5ce5fa50cf272b165394a23b089fa86372591ee3df507b5401f315c47b7faa75d73d624258d4fefe95884bc68e3ba54706e8ff3343c12883cc73283a24e3c7610fc01f71f9502a327e56120584414e7ad3fe4f2fce4560144d0ef3811ae45cc8a6fb18a4034ad011ee00a2635de61a7165da9994bfbcac349bc9ba72077f1aaa598ee1a31e77fd49133c97206e1d7b98ff6edde7381f3c3b111b2378175de3858fc87e21572752d20b79c1f841971858c7c78767364728424672e4a3d952b7a57aa3c85a5e0a01623ed8f57303fd7c2accd31bfa19c6f15e34ce4095018e4050c73747503cb44686323098a18ae808a2310f039a67239fe4d86f393c8cf2322d6aa56494a36b8512888a9f745af66d33ffb05030089a16043fd0873c4f60276b5426008896e0533429c12cc3415c2ae80f7b0c0fff3c382bdb172c148aa0f76bef4b68e576ebec3622dce949d44d091ea76509c4277bbab4d011ea9fe4a57e1dca22d1fd92acd01d8e301281995d76ce15d8b427db145cc6c1323ad04d8943016452c2826af36f366a9967a8fb3a7d1b2b66ed57ed2ce8c9c5554c194e8034ac390244eb7e77e6807a7615749d1739a64fa424c97c8df86144c7c251b9bf2ec0603abef05f6577db9ce4657d89b32e15d8c91e5ed06bd375fab6f259cf29af05448485f6d7004ecb1a15f53187223ff0f1510c4a542ee3b27c47a6c2611fcab26c7bc0594d25a5ec3683e1ceae6fac030420f29e1cc21d4c9811d0f2a0a823f23ac0843b5c1c7d9beaab663416245c179d799a8b046e486f63fddc78a035c3804fb9b8f4cfff127f94efccb1f02c805c974d73e70123bd01218b5a00c86284b1a862151b6510d6eca3fee1fe5b194a9680c97f93195dec85c043261faaaf6582dfb347d64ee7eba1770efd201600736db04bf17be08ceb7bdd91cfe6e973178393cfa857241bf46b5b79319cbb3870d4933891d59a81c79d128cb2d3d5543f8b0d40c6d92cdfe9a904be3878caac7e64b7890add6753edfb9a6c937c09318cf69cf7ff8afbbeb73449597bd3e3d78591b48ba3f7ec7920e61bc096061f78669e898766df81eb1dd024583f0874e077ebed86aec37addd7a0449e8bbaf4afd0c4c802c108da9e8622276c4cb124b798b9daff0f2cfb710e48f9ab365383f8033beb91c047fdca5f1d5ef97a03ad1bbdb5ef16d255c95f5bac8f9f7f68cb55fce0495a36d513744a8438549491eced7cfe4f898f8c2c3d017bc60077663fb1266746c93de21c3f38e20d3fd5ce0e1cad94afc161264f43cfa6f46f324c2ee3d828d26e0b29b08579ec46605f81c9e3c4d17a883091aa291457bbebca8770dbd4516b39faf9525418ba6c9fde383f9ada2998ae022a4d669553ba6afaa2a6bdd7bb347996d360dee5497363bb5e25eaf75d97cf4c42cda43221075c446ad98a00ef8a174bb9eba773a61c2803e808678c3b3ad9ea2a8d70b1f276aab85659cc3e885fdaf67bcb96609014f259e0a7e47d060c3239b182dff5520e83bbfe33bf56c8890ad6425d5e6f84293ba2353b977b22322042b221c355320bb2505f7a0f22c3f93ee75ba2f2af39bca7033946186305faacd37d9afd9f723e65ca73b51e375a32b76ba1a2c6d62ea695b6d757db16fd509bdc2f05cae6f52573cde89bbc04ada2beae0ecbb82c45e4402ca53b7e0a35e97467e6108e3350b53331e846e39f5c54b5bec877b6c085ff2aaeb0c979bb847120356b840a21725c3c7b14397a5dd6f925f32f15b7e878fbd74c17023b51f93a98201d49d917d029815a078a37a7c715dcc2b50f787ea2746f2216b69c673f20a5b5a94a705c8c007d1d4836cafa39c99607dba1fdb698eed781e2e1db8a76a4731be2ea4b8a0fd5b5378642fb0bdc5838291c1c25e33665e038a0c0827b24609bf5c47e35eef22ba3f81696d1255e7a72d0c78320e20c0fe1ffe29ccc3e12dcd36f4de9fac5a0292ead199b565a948de3e7ceef9bb6ed33c51de05da1c7e85a84af955e1730e802391c19b5aef139a37c8266435b1e0dc7431b3cdd58c38fc54fe11789b75de99ad579bfbc05de3bfcc0e508ae04b8c604b1ebaa3b9a3b560ae1975ab38d5885c8ff5656cf42b331d876fc0ab9902667ae2d9f388093410900476d2796c4719d6246d0220ab545bbebfe9a5c36dbfcaefa11d392cce03b369b5b6904838ffa5675b68a7cc4229b23bea64f69515775a72af13141108d0346c5f126776a23fea299df39d516dce294f5df73be22dbaa13ccc0a1b344415e9bee8866490dcab323b8d9a3889ff877c9a490ce4dcd2128675dbcc9e7e06416df5b8d1fa4dc49b0f32eed856b53e8cf7f4d638394b298544da04874c640f6ac84c3e526a107197aaa23b539aa3e67a5d050cc0a9a8a70627152a25a2d8d1b2110bca2718ab0bb83fcc88177508d658d23e588a0a0c9d1587b5fa1426872c6d76ee2473e65303dd11ebe39f9f98616746607f4f7efb21fdd27ba1378c15f1d31d04e0c36d866d7c0b9e70f68c9facde5d5ab75020081ac9ff5342d410cfc175d2e3f447385b98107f7fd23f3d14b31f784d5ffaca40d7b052a5e0b8555c266cb4820fca0c38c38624cb63deca73146832316524d106569c904872996e8bbd8e318421a945055c3b790f914cf4780b0c7ce092566aa2c35fde8f982c02aa7b0108df49da0c7b701b9615299c023342af7d2ee534ec203e66b224cf6bc9dcad7159d69efea5749bbc4e37473fa5f720018e34b3d0404737d127908a117932668a2227bb570d5933f22e18e25317f453d31743b3d2023283f39d0bb4a1b768b4600f6827d09c3ec3650b4220353b8b0a600cebedcb3cde49173ac1f02f01d843a09ea92fc7310772b2a5fc55f70139172002a2e3c0748f2424c8d9b87878f79001e693d5468c7c2d5f6a415a65ad4241a2e721e869408fc18d7821e9bec9b97238df108b297774a2f02e295791908108bdf5ff7ce5fff927ff8f92c78dc263539a39c726161814b3337a34e41e27a5e54b76b73288c64a6dd9f02aff03c9feaabf51b7c307ca9c72c14d861da86aa97effdc8ce01faab3798768c60dd984f1aaac1505a939e706fee190c1e63dcd38c7cedc2db63ed9ccd413e80a46a718562ea0b7bce903b70323c69fc2f6bc0557330a85013595ede81a6417e5b4c107b8f6893e272abfa9526f628e11b2c65ac745e694347d2057808551a32c8bdd56eb19231486d7c7363c16e649886b6eb9e4219dafb97ac082f34d0c2286f463ced5d60aa95430b29f69c5e58602e8ff278f0329b002001991700d18df6bb0eccce96fb5cb637ee2896e7dfb14e345a937a71de0da4f92991e45374be8abfde9c20e0309f252755f9c43ed21e0be1381903bceb974a3b17014c5def6885505cfdedd3fecf697320c781eb6609d43244b05034f04e6d6e432866bfe990ac19055c495a8139ff64889701bc0beba236cb3d1d80632f13e48a1a90f793c2996250933bee58a15e687e360ceab4598fe2ea42f3b1e81afcb0733e132a3d93555562789331b002c048a036a673de85fddae843b5bd83aaf7e4e5b350ba211cf5b109720c980061a6328db534feee982d40d95b811918e3cb2a3111c87036ee0258abbaba3c3257d5552b9e8c0beed027fb77b9d196f9ba2d0b3c545882ca1fe7c7aca99f40fea48b825b8cd3ebb54c765118017df0dbbdfdfdeeb2e83ac12611dddc448ea395e5565366aeace40f0d09c435152e6ddae27cdcfbe4ee1264627ff1d4ad99b862fcb25332349a75eac12f803d603298369a9812973c025e57999d2e42c92f4adf60559b9cb8868a658039946ad71a8e313f1565171ad21e3207d525efb71c96d186674f67af66efeca602ba751729a346b10910a3cb2cf567839749343c342fe34183d6271dfb07e1952696ae67f70dfc71d736eb4d7a258aae4b9e4f3b1146eb2c311f60bed163a205ac45c0ee1fc6a488505de7797668b8e94391617f466e7fa7755f11d7cd2cdabdfcd79711adf30ef72c9e678f1ef381934b208681ba5b0593b6535148fecac08cb8667ef1cc12cb0a69993e7424a965650a57aad93874ec84f6a0786df47d72b5de51c2d808612ba7bc35e6e3264da6ec4f798ed76833afb173f669618b29ce7635df1d7073c2113ab71338e30a761138a04bcd05dc9ed2974c66e369fc3bd42d0ddad69dcc2aaba5021e566e67cbc5bc8de4db5e17ede96eab3ca8881343f444756c5ea15e628f685edd73b0289b7560defd332170e88dad774cf7de0929d2154acd70aef0ff69fba4a63e0fe5f8f9d5db772eec0a1f2ec2b1ae51ad26e21fa0fab2e10624a9e38ebbb1bc375af5f5f25533f7d4439acde6d04f5b44b825568077f677d064ae610670989b9454042f700bf70a472dc55ce1b6f7c45721c0847a76f6189cb7c28b7ba3ca51585aea18a08a68a0e6be5a633c11be6a010baaca1bad1394a3e40bb6040d1111c709e7018a2422d61945a35a560a434865224efcb85c73dab74ceae372fdf64602807ec4991494e501e0095327ec62dd49d88a351bfc195a5328cb861ec4ab7c293472a0d6122846a8bfa86cdcfbc2df3a3c7b63bf12d9f893529910906c8d47f2adb1c9730f9d02d7d9e0ba55478b6ee8aaeeea344ed4b065f0c8d0bb5f8128d98e4aea2a272e50ce8c53e9cec9d95ae8c6ea2b074cbe358c35661292d09aeb98276269b87fac0a67e0200973067f89cc08159ed776215d04ba0738bbbe34417205b6934a5b22af0095e865832b001186a2f0e456eba56dbaec6db05a32cc00895e8023e96c8f2b8b969f83d6c1ef99848390c11a1dae6dc4819dbd0ae7e603718df2677cbc496c9e7bde021619604049f30f037cb647ddcf677ead820be49927ecc97ccad4c88052be8d7972319de6a71d67c6a37e764d7de0dbef5243f68e527c82a78e1e0a3bdc6da17315e3dc604e139af994db32009ba6e720c3010e9151f59cb093852b544d36c67673f40b7f35a846f3968e9159b1db2e272144ff502e64c2cfb4017dbf1a78f6d171db5a629937a1d63c4ad1f0b36654288cb944e4af0b27325cd20e53c0bbba86562e27e8f6ad80e362b17eda827fa483800dc5b370796d860faaf0e0f94a086e84745bdca4451ae7ef0153b0ad2adc279f9f74a337b799cd099b618e5dbee7ea4979c01464dc2efc0fb9b5f04cdfec0e28a096fed850bbc3df051c8f90eef35a0f7ca16b2b337124c65a6ad70e6bd14aac0b678346cbe0b60d7d1f4f553763443932035dafe7da4b5fd7ed171cd54be4cb6fdd9c3b1efca7623d5f2b611d5bac60759c5470a49857d313089bccc8d34ff3960846306a1e443637d769b75657390edeb7b371e6c0409840444281cb9e70306e1049087dfe75af6a1990dfe094cb64b4ae1edee04fa1038b255b6ad083d876d9a680d2c30199041ec5157fe73799ca7678eb0f8ce3dac5c6eee6e2689bfc4c3fcf9a57b94cbf28af485dae64bbd4a039bd7115cae67f30084f9dab48dfc4b7d2c809786ca2717929da0f44f8690eeec9401061961bdaa474887d49d868a21310d2ab3468b11dff96b30bf41380f430bf7c34af9e65f72dac50dd40d577c68f27c8ad1b309d04df6b3899b4b3940ea5c96ebddd4f1efdb45b86138d9c10cd51d5fc1fc0fddb3ce68059f1527101135fba8b9756bfa88df55bc54a7e30b42f43d896df7e3d8aba604c6f16070a6d346204a9287a2dd0f2ea7253e230364cc94869ed3051a3208bded6ed681c84ef6e19c02363dd9fbce396f654671c8704286d395736ec9358021f0ef2ec9c81a235273a52022e1422932c6d02d270aa113d693501f0997809c947a603d407914329bb73b956ea30a686f3057a198314be09a207c66c40263c74a3462d31af38fd989e24dfabefd8db74dfc38a576a1b862d936b2b04f18778b02b0092e4f49d6a21d506ea25f770d8ce8a9ea1ff343ee7a5413aa3972d6892813579855149922fbdf3a0ccd875715f28ac6a77bfff932fad9466cf5d453c821b2a1f8c0cffde42c5708f223d015ec994593e381e1668d5cf4f37399aa96ad515e0674d0f8211cce62c1c10def45636e1782d437e1d1c8f201ceec9ff09e39e8c04a8ae13482f47f621db35c82dc03930c5974796b9334affa003ae08e7630dfee419b19c6db0c8130d4cbfea1f489374bf39527e45892582526dfd5b385e92146b89a2188371e544b33e85c400e5eaefa99485ce77e6a5b7f7edff6d3193d82c3e42df5f156c01c6ffa05a82e8f6c1ac43b164bba77fcb59727f15d4eae767b168718b57485cb5c85e40d1360964c6b2e13f0853cc2ef28c65d702d8ea6aa02de48d36b89ec2e01020f8497aead9233649724137cf1fe5a187dcf52b14af81aa47cafe52c8a7877a5bb406890193ff3bac6184f6eff5620bccac0499ce883f5660d529de6323dd9a57491c60ed90cc05181e6fa71f21a761aa2e000dd5e24cfad33bf5639e8b56a6da35b2049774bb4728e7f52b0c6bd82cf83874e70e1165bec72b417949696fac17817561201990cc0e968b3d5309d7619f9d1b7ea6aa78822332bff0f6e3e0419e7ccc2b1ec357de1f6130728a8944b990d29a5427b41b03697e4283bab5a89f40022798bf977b622a980286fdd9fb2b0b79a1e44e1daad83db792d3b12c0828254f16c9a681b048e9ed1d9d334c519ab4bc3b3bc444b988c49945b229be57a2f76fbc5a0170e8a4bf5ace365dc24dff187fdf85bfacb581c17d60c193ee68ebf7451976d66f2fb2d6caf34512eb7fa1da1d8f4611c3fbca932409946261810e53f0fbc1ab0584ce841419039dc4719763bea8599b575d870080c91ebeef1819100d3f43024255a9eb756d6f19202f29181dbf937ba815a2df14a493346888d3a737bbb9e1c76ffe4c3292b9d15c1ac40bc1658e32a1f0997e329d446ce9fe355a19dbadd6b23187babd7037183410a000f6c9b0219740dc5d62c839e1833cddf24ed045fc04b732a790177d36f57e915b3a4796763e6f9750290861b0fc0f8abd32428f5ced250653bdeb9cc06e0079efb75f2f7dc8cfc4cff4a703c0bb80f3e1d8b3bc90f64de48eea13b688cdf2e34e8b70a31c62d5c342bad9ff83378ab0dab2fed33bb937a6b2b2b0bb93ff7c3e6d9381db5fc91cfeb612b9b04ba8a68dfba615e4b7e06da8508f5081d8b9f58f3c8429d4692d14ba69c3200ab31f006434c101d9e20b0404c03b91a7c334d069c813e22bb20ea4e1db73aeeaa9de1fe0496eb99c83dee059c87ac3ba7be2f995d080717128278f2ceba1cb321202914ff40243b6ab25cabc06f4731d5b2ae7be5d6f7c35382c6a778d318344d5fe2d6cd6761af2240f5c904ad9785b6585d2dd304e75082619c5069c0af8e5d7f07a3306330d7da3fb3499d3ef7158571dacb3a8bbb09663be0969fc72ddd731d85d0b2b012f9d7c76ff0b68da6ca63e18d3a1cacf2c0a779cfa4c2f0d11e9e615bbc9c87766afb5aa6f9c447f40177df8e9f1fb29c4e6b3478d5fda64b540cd6b08d7826410f717ebc77f7a996f82fb20750e63adefb41d00e159f0667925151014f629854801a142d5699102c2d5c86be3383367048d3ebb00c8e6e1cfbb9fc51b22bf29ad73cf7d2df52a57e97765f952f2ef4b6c267cbcb73a89826688621997496fc7ce6d6e38c35e0778849de39ef8511fc73d0ed74a22d65837e0d9114386271ff8a9afc1914ddd01439e47edf89a345ad34e3979f419fd6ccd057b922ec1d87a16a1fc40cdb550572b38df696cec9102f525a86ced63e99b49149d85f9a267e7949e1ad3adbcd20aba151761b702a5a88459e31fcb6b5debc0a74d63e1b8850aa111f57f675c205a9168d032a9a91bc4f21c915ce936180eca2959932c70fac1413fad1cee04be9429254d931993175cacea4d8b2dcf774e62e092c3987140d7eb29fefd4db80b31f1d36ba44bcf275faf268108c3eafbb738bb66ecb94821da61b18cb5b572851ea801a4b26ae7731e7a1c1bad292c4eeaf32ed0673c9f3f09b43b27126f6a6a9330c7b6c29457ae3bc16a9bf4afb37d48a2661e2a0def0c8641047da9a456ed3fd990080a035c786582645147a6ad3b0dc36f26dba0f3dc34ddfdeadac2236cb8f85eddc4017a0fefc5b71690b9a2d8ad562ca729b45671390321ffe39232d5a69dd8129dfdd70e725511bdd6019bdcf3b2d06e37f47f64e50c6798916250035fc141684934725a50067f14e1ddc04a771e88194faf398e02dbfb2f665b985967fccae994a5257377e808d9d6184d9a2f1a81546ff4cdd597ce082c7dfa67a6b292a0d276b663bc6bcef79f43290f136056e7bedfd4a859b8bc3d68cfdbd973b885eaf7646776f5f285475a601a4f6736f8331903d7069f7135265dca15e5f89af7e5ae95f2fe3e4b3cdf8729707af3880460e73df32f34378623f8773ce300e2e2c4f0b54d2b81fb1ee5669aa42774f58434470251884416a4eaae961d91f349a09307512d3a27606fde4cd6920fc4749bf28c36d583670a08b13f12addcb5cb29485006a67cb91037f0f8ac61ae91b7b597095d4b04bd1a0374e3f8a1b34c11b538a4b928eed608502dcf68365020c42e2b6314c74dab1a4f90b71a34c0f072c87bf25a38cb5ae1c2b39e3fee14faaf4dad704d83ccde5ab43d7551472562b874ebf231da9990d6b18fa0e123cd77f3cdead3b547666f89f4c41664c50d694ca3c141a31a3f456b8d5cbf7c97726adf20f53d74eb887439f4d9b90580a6590c7df80de330e6c248e5c18d49ba7fb840dff404355abd2b82e7b8cb83cfaf839f3aef154abaf6b6f1c8183e5da90cf9cefc92a74a07e8eece1df3ad009fb8febc2578d77b8ccac28d3a3ec168f277426aa3d0edbc0acd15f74dac97936a3cdd7b5d6ce2fedd71bafb4a580dcbbc3f037792a37683bdb05b6cd3d7988e83bd8a8238320cafebc792c35a197c69f63892195fe85c6d4f38b6575296ad2a9438fe4705c3570f524b90c39adb3d03ce419afc4df43bc6454c3e98ab2a019e918e251611bf936034aa686798e321a0b0920d66cfe3a87ac709d779ed5cf8c33dafc7ec06ee8a2ee9f6d5fb490531c3d27bcd5ac267bce1050677b4b29802835db8077cd692e9324f2259bc0d151511c569ba8babfaf62f944ed6996530a9ab4b353316e475818629989509d5bf6b544d2cea224d4d8fdb95db473f85e8a77b4f09b61986f86d8806c33b541fa3e15e489804d9fe4c486a8ce5b948082b9babb0365a47c81bb28d381e8fd9669244ec39f88aefa32c5fdc3a6d97648746c3f4a82ff61602b7aede2e2d8b755cd67019b6d7527045e771a0530e22ce44592827b7b3e836a193aa78b3fca53ecbc9bdf1f2140778be4527969b66ea1dd22644826e5d385966546ac6b7b91503c8e0dde0f7b0be5d01f2b60c29863f21bdd1dc01fb878d19fbb9a7875e8315c4351cfb21873ee21ad87607ab842ff8e9093793d3d05b377551112d24f1e6b72b945ae8e8323ee5c40c71dc20ce87ac7e3581ba48e9c9b3fa774bff03e7f0e8519cb2c312a8e36e8c219345d12dd3c7791109a752dededad63064a33db0ce4a8d120e2ea4bd0082734364164e69610f746efe4dfc870e94ef3d26c258a2fd12d94ceaadc35d7019a643ad08f66d9ccde01e2daa7d9336059d3c1a2fe12be115ab8709859b14cfe3c80bb89d4730b448446489a1bf2dde1bd8bd0df379a534ed8ce979eb19c87302e53099d95eac51e713dbcc0898dade2d644bb5fd3e602a8d3fd282d9b444665876b7f73073e9e506f7d075a41c53a34b59252635262d918b67b773d97f668e26dee4bae765fffb90eeb079c9ce28d4d8f2aa83a80a6dfb6d06c97c2bff6c1ffb00e5db768f51bc623b52780c07d2ec8194f2b5d3671eecdc3cf8afbb9b33cb9d4dfde526abde7e948fa98b42c91e661579293acadc018e27f0cc2af0217e1ff0530134b2c752daabccc3ea2522221e789bbb43af7bc2f703e50c599798a17e640485ddb06738274dad466fe6a136a5b7d22424a06a3681b11a5f58f0188c45fc7362309b5003e38bd63a85ec3e7b50c7bfd521e89c9514407f96585824f0522c8604e363fcb80373075a9e16e91ef76f8268ede82645ac239232b2fe1bb777d765359523a0bd7039a6ea66d91a42c0fee4eae44a53ead1d7ceca3499cb28d1f170f58a0c1e362fe6a0fe3712a846f929e4be40104b8cfdee281e45739aeaf78e5ad759aec7ac3a460eb414ef8b672e3da2b0b5abdf209a521f9011cc5ed4c1d8f5a085c631620efbfd84a57749f4e25fae6464363a111ebe6c37f0016e0bfcc812754ad89c87d59b1395ceea83b2cb6d1cb66afb437dbee23ca829a792b76ca9bfa27f3d39ec95ce148762b7c3a1bc0f8fce0cf16bc712651b9e32432d8898ee60ba9707d544d9de8077b3c9c2244bda549b17b1e2defc51041f09af47a9ed368fccdb11905fbd5f4e7ac1fee0d9302977c9611784da2586e6fa6e7ee520cfd66340bca73fb0869c462cf1c6a5dd2355262c6b7e390b8ebdaa8d375a24db2cbcfd0f9935152c99ec59dc0d9b160596994ca17141bee5e925aeebcde8f7c757c186f4e24de2c586a7d403f5e792b6bff30cecd6dcdec307ddf3ebfdc80b4f1d235d987f01db5036d44d749af156b393002b894c420ad9b2afed7355451b96d76d4240999a0940254908804a064bd196bf40de7273dff206eb5c1371c82c74aa91d90c59799a1ad257ba55a87de8f7f0ce8d2401616d6440983bedb957aca4e25bdb0ffa7e331dc4164322c6a37951f3d78770de9dd4bd01c0a2b344d545af0af2148465fd958c6490ee06e6b67aba90e48ebea013fa9541aff45d863bb52b475ec0cb4362d8db56eb3f3fd272a998402f813c507719bd67a96a903249c7fcc9386b375d9522815a07a57debe42440c32451a619ccb93de0c00870cc8abc4a0c86177f618f874aa44ac74c573a1a14c0c7d9d24df1b635f33d19856359f5c3975d8eb09971b7b057a302ff1ac2fe298f8308e995c606ff50ae5a3eba05e3d01bb3d975aa869218a7e733359fad36d20a375bfe346b96321b066d2dd9b3d4ffe1aa6ae96ef920bfefb92278a6a9097e8b3d6d1b33d8a29101301b6392b653e9b9ff473b6bd4c43ef2f2ae9e8d74313f195cdcd6548bbd72d041a0ef05922331a0424d8e1f4e81a27463374dd1f3796226c8d601789c9daacc9343d630385768703637dc16657fd6e66c3f399f71a0dc93ab2b2da2e54f7d1279e870bb3ffa4630bd57540deade21ce1f1554ed226aaaffcc74f4cd08b988839c7bca9054d52171fcee01c53b67fbee9634b762f0d91ec018887ad1b334543c2fdf9be9fdfc87672b409211efaa3ea0ef79559887aaa829ec315798f12e0a429671c0a1d55db6320789ca9786b33526859b77ce91d28886d47e1fea49b7009c9e4e9f7adedcf8cef5006482d7ebd29ea963ed4c06dd9bca4e51feda27e95dfcf29e0a55170bccb63d964011cf3bd471f2e011a739f031db943ac17707484cc9b9667b78fbb1878ff2d0aa159ba61d4104852d34553d7c7f1601789caf05e608ed65458756388e91a93c1dc0ad1600112bab30c1f987031e3ec94409c6fea61bc1efc1ff49a05a1f0f3b9989ab13a835ab8b5790017fc0b2cd6aae2c8af247fa8a463b5afa988ea54f8f68a45d3134ab32b81c7f2f1d2b79b6a17eb323a1c8cd7795662d5adfa5ee7c4489e54c11d5a0caa4f285998486439a42e2ba4ff218d231898b9ee32985c04e95513b632a1f7dbc4837fdcc29ae23d2c0d316997819ec60d7cf1bafccd6bc40e61ecd9f6fac1f7648c152a981b96d90a15b1214b1ea171dcdb0f1763629433ed8952a69274f659834e755cd8e9bcfb9b8d48ba5138b58281f94d05a645a746258b44e9ab71b1efc3989125d7d9910062de67fa569e0245b59e7638370e3902edcb6ef219b5dd1a40e06b7dd5928768fb8b649a6408ff4c9828578e6ca82ce5a1ade3a620ffe61323540164a79528034762f2b754e2c5a5488203681444734cb50b1a4bec324667089bef25b0856c9bac9f149159c90bd2edb8a5d357052b19dda3f2a3734796173bfe9359af1d7dcd19c33516d39e94d13881f58d7ba508dfd597120b5ac910047691310b1bdbda707f650b22fbda4f6bdeadebf8c6815e5cb83b4c02e9884ccd2910c99e8d1caa30dd078e46596ddea9f6341ee09674c87e7afd0caf218c18b36a0694b546a71e18d48b29ffe2e8012fa527ce116af0de16552a8c50a78e2f68e5af9e4be03f05cd59344ffdb8ebc8b55dc38a12e19613f6ab7bf59bdfa7b0ea2e5fb8289358459f558c533b571f265483250b524fcaf0a9227627d6e1b1faab0d5d0175ac9bbf7c02ebc8dc0ff7bdee1be7ffb76a13011b92a6b62af5317dba61669844bc0199d4b4b8912096cdd727e514f67e98bc23ecd5e44b0c345b47762c414f2e8c3f015f06417a38a435b0c491d4f78f607c9780ddfd873375cee1e949f61a6c0202470ea03f6b6c150770152237d0ddee83cca708842d4ea770e0a0e1dcf8e7e2755bd00b8f2e99be7bb2e11a27311c8c3d5f7876be44b6eebf06403667b1d6bd2f1d282955ae2d7a117b470bb646357a7d18153cbce5ba460b3865b71bf1665ca1f4611a60cb1383988deb57d3b106ded4a15a977d82e2788ac22aaff6f86b57e78fdba8705e2e174c254924d18583981a8da8b8a891d58e13b50c8edf80d791982fb16892398d4c3f0bae1276705be6aa3f6077836847e1f33387e1125d86c0aa39c9c49729baefe94224b6f3747ff2d453f830d91d32de9bee044184e7f8e934d7abd7fe8fcd82c956fe33fa797cbc4815717ef5fd13c05fe2e49803acaf5620125dc07e5d00c85526acdac31d83d02afa895b166fb7f8d13f55bf3fcf27c58a5f6412dd43d79f67ec3d85db134879c25e712baf3bb55c67c5533ed01e4c6f7f26d8d608ac9d38d1fdee0c84c589ae5ba9b8d180670f63972fff303aaf87665a174fcc90c6e38e5c4bb5b1526ab92204b356726c66cb164997e5a029dabc87f2424ac323f483fa112ff5c03363f50f3477f031dd646b4148ce9b188c9032be7821b82a209b923f80877ec7b34c8aafed98ff2b7b1a813b924b62e9953c17784fee962c302a42c87cf68da94cc0438bf8ff1ba6ce8d2755a43a22a071cd1fd08cfef3a771ff22174e4936821afc70aff4fbc4b87b6388b132596a4b03e92f2e7c381bc289b6c5258a08774fd92f6eb3d1e38f8c2d183f7f8d4584e998ca35a249d664cd26fb5ab703c3d15275c81f7bd377f2e70fb5c073b392a523c5c7458532077d85a1518ce16fe54de28b0dd45b026250c98ad65b87ce8bb705f58a692b5ad7c7e05134fad38ddce6f552093bdd0d58890c6652d64e4bef802e9217fb7ccd904e03ab70ee733f8452e5a2090dae8bf4a4eaac68fa7bcef238d07362f6a4c642eb7ac6dca3396d567e40c4c9489cfb74df51f808998bc53c38aa15096ef1058fa7708c4839b0a38fb21364f56d61674c33f336bc561f31de7b99a4f71696e242a2648407376e6396cd3bf024cffe3f2ed6385a543df589697c302ace8bb02687ed015bb0413ae9097abf30673e801e521f04652a50c35251bf306a6fc58ec124cc11066e816701de6033ebfa44fb5c827b0ec72312e64086852242f4bd827eced278d1167ad8270d7924a1bbdf622e74af4e651d2aa4431797f0d71bec207b56a1cd11ba369e8d9d6f2fd714874c2af3411849a206eb411453370363b079c5d11a33b3789fccbb3221bd32b3bb2665448fcf3524256ef3c8860521a7aef5e3b8e66f4f93189de4c8596381ae81287206c5c8040409af33074e73f603f125474fded4bab979c0029f107c412d86c00d039cf284bf7f506ac69e53cf40e36b2e9ec8837ef3e556e6536b47a294f5f42886617a4c279a48ff1d16d139e2cff819597211b078cd59868ab3c511beb99cd3aafbb1cb18579c831f89107110ddfd8943315a236bcd36ffbb864b9f2783e991a5df3dae650cb9af723c0cd0bdbb4afe9fa12842f7c49c870354d865297d7121e257d95617423e660a4de0424a64ed2d3c5f44e159eb8c9224bdd68b3b7632b60f6a7e4a13709e0cf9e8adfb352b8ddff581853c9054da514c2b05f9bd6a4b0cb3a44334583284902d9f624bb1dd5697a713bbc1d4974ccf6db47a72fa04ef678f99e3b2e9e56f2fb11b5bcf9aa5f07b8ddc5f36f1e36231fc7f751dae1df73c9cc756923f5f3d94952697cf8eb797595b8789c3c1567326c3069441772bcc4fcb6905ae5313a0dfec7ba403f696fe5e83fa769b695340c7da0593e83d53321c6480d03c27558cd806a09e8dd7da9020d06c7c996a3e9715df65e2461347cc1cf2af4eb204deee696a4c21fe44d2d8513bf4cc12c619ec3b03acde4726019cf2866797200b7021369a3dd74ae68eae7a742d30bde758c4f4ce035a65b4c1ed7a968ea084a58dea12a16d42468f871fa8b9bdeee5269f1713e4f0e45225ad823296df847266d8a9cb9ad67e58d877b70bf6fcf8763b3904ebf4199b32fca2be8e5128900486bd745c108883b1f428d727628f3941e39fc6b53dcc5531919c750899fa73d0b5b6d087e7dfd51d5eb5e7f96c0ed9f35dd0b99edf8a5ccce2a9a4079abe0882027347fc4f8f4cb3e301183f004bcf9add1bd58d09f52168e7821800206ea59adf5bfdccac676294d8644be0b3dc264cdeb812633dec69feb51675f9848518cfd4f2bffb891d6ec543590447b37139205a010b6f9fb495b8d503611a0332fb99f237cb64e3d070ce5930e2d65691f00488e501ab42f7abd1b37c362b4d32d3b75a1f04a244fde70a1eb0d77f6a62a214587faae28c402d453c711c2fcd9e338e88a0cf9599e259cb4576a2c267b6dfbb6011903c3406a10266bcc5b15363b503e44f55a3730081b4919e570ff3b5466496158e89c53a35a0b263b743739267c3d9dfb97483cdd21011e76b2b986e2f57bbc3fb0b858a88346e968c8cae83e3748ef7d5265e23578fb2ed4d4d37b86ee3ba110b9f233a833087e11d6adff6af5b262bdab7523b8423040c0b7b1fdbf0b2ef44f518bab76b12c4e39edc09a56c5529879a7ecfc764796d7bcdffbbabb03db103511ebb7050f1fb5ae2ea9d11f4a796e3473bb557f5f68ca5331164867d4cf5a3966294243f308dcc67e5d7fed89a53b0c4e9a053f5f79404bb0b9caf331d4816036c6464a00bdeae075625eceb4bc172c0e8f8d0ba90c6fbf0f7ff293f021205fed36aa08cb8bfb982d5a515e3bfd03114d1ad060143e2cb51120472928e67e187c20cd05a3a0c986ac00123369c32fb4b42a68033438baaa037fe42767b761e5e7f5bc39e2ddab0248d903e87776bce44d6f1a09f7a21d9016f61a79a39d008c25d85e8fcd3e37e2dd227a428deb9ffa98f528cf479826fcd4030ba39563a757870b5f7de14b670ef406f4c57f8ae6c380d48b0c9bbdc4f55f4f140ceeabb30f80d2c79bbd24a8c2a6be165c8b27fdad94ade7e3826e624ddf209eba1617b27bc8ce3b07aa46b786aba44de7fc8e628cff03f51f4e3b34dac97220c685192ff59cc176bc55685ba0aa3ae27eadc3e0dbd867bea17069677aff7b9cb51812659c43bcf3e4798638bd9a7bca64e8b76f550ae7e4095df3902a4ee4610edae32e4fae8c8ab0d6de0a4908f3894bdd810ca8cc34c16b801310904d33c4948622db248f9791c920fe3f66803889ae308f47f41025e8c71045609406b15344c517062d773e6f37f5c16b861af7fce7ba3ea2ddf2f68d38e95d26d8c114e8bda35420e627ba8b3a54d174e051dabae788665e5a265447f86131f13283926f3c92ca9d59c671b690952fd0b2225791d6cc20fc8346ae962c2731422b32c4b0b34c1ba27bccdce1b4f23d4a9fe03d419d9847c782ae9000cffda57ad2bd54e74756474bf73b66c039b9cced5862426960c1d223e2bd67544f051e1162841456ad59c77777181758b0bc4de306a47ca1700f1de424945bb4704f8c84c080bfbb6f79763d4c0a181549c2fac53876d59d783d2472792f7aa971689e7bbc518f3e1da882b17e3eb92909889ce84ace80bee4c70af63bd5adc7079340166db060068c9a2702eabd1db999d7f4028912b8379af6ad45a0e61dbf59d9a052b81b45794deac83682641390d7994922247f0eac6a49b6f3717a69321a221ffcea43cfd8609f6776d683c39bd6e70b757e838345af1bedbae96ece6d64b3bc54b3bf64eff06a800fe7aa230b343bd7fd5401fa0745f61b57dc517248830e6cce91ff8495e5feb419883be13c83f36392a9798f9bea4ce96e2e323f0ddaf0e5b771a7ae1d4fc4aa2761fd41c974135ea7c750c6cbccdc296d6a289afddf9f237952b5967e1e72eac64b8e14d1b4787e79883422cbb66b080756357d5f992764de52b9bf55cac4a6e701de3b0bffae64d6d26838a0dc24ee3bd613fd7ca4b7b40405d082b547f572d046f29a9b93575244f5cb298155b92db1f3ec5ee16e3655a5e7bda859472a72b440a96872d4596a6fe1371c21fb1a1f0d3d578220d5afcb350490fe4009b5ccd36991d972c15bdfe2cab9be3d889a9e31aeab7f5b06a69f38b92d58104b2ca1428903ce7d13721360702a130ce3c7585ed671576f29307c13880ad1d4165048de356492092b5bb7884bc7eae7d21fd12533eee25acda0ddc6c034f77aeb9092e8fba3fd4e91900f89a6a569391c1c5ceabd6f451a68535bb3636019eaa8733e7c38d5beb61e3ea6762018d7c0e580c4d72a3188b5571529795ef625483c563b3a778dd26015ddba8968dd96a42a4a0f054487626745eeb96e43cbedacb70b75b05127de3c7fde0dcd1d7a1446e7b4a5e9e36bc29107c50b5e06604ddf987f0f0bb0b26802af8ed9893f06fe0c8c311cad455d657da3c91f9496a355a58008edacf48caa5a877bfaa3a8ab8329d450db19648bbc4c8bc73bebee82b123f956177a51c74bd0a29a1c3277c621082c23629bc59bae8c004bafd63b98d71ed48d183b139325083213d85c71df64d4b4a18fcf9b5ed2d8d915576822a4ae549e2edface9e0b264ee515c7b1a545ea290c6c903f276a010180c063908a1f7bd5deebcc89a006a9bfbb7ef542b2c5abfd06544b3e54a7b2549d5b79842160f77964c46b7406468f42821d497ff0a1b417033e03377b4eac40ddbc1fd544535400db4be4bd2ac05214129c5436fe498b0791392e0e2a92320189551fd3209aebdfd9f8558cb400e005f65319e3b2fbd69626367a96e1dd8b6dfb586257b439cc6b537e7ae736e073d30772cb1d78d9a14b6f3e3442eae0ac4bf0f3cf222d3d3922b2e5f9325f4571b1d73687c78841f17446ce07389cb67d264bbb08761c02b045529625d1495974bf4bc83d82e59cdfdc2ea107d1780fcebbbe99c8fbcc3ba268078468a18a71a822d9126f36d0b0d716e71201aa40ec6ad4c77e2329e4acafe56816e14da6a68ce2cfb83ce6aa4c4fc790ea59055c4a3b147a2a27a3e18b7f7e33365edc4ec14464b4bfe6dcf64a6e05e6d26ee1e3fa86c2adde265f83b158767bf3852ddc451af52ccb50dadf032a9152584fbb808db74ec622f4bd4a7774c705fdb8579c5238462986c983f967a9fd6922d318dff73afec83e09357f6cbe79a3a65864bcdf9363fad8d05e66aa7ca4e6475c057de760ef8f78cad748fa9f67e09c9de7281dbe82c20804ede2ad6b7256aadd7cf72c67f32c798a53636e307c27060bbf8d0d0453cfdc27499792f5b9ff7e7054450290dd6e99bfad544ea2dcfa1b4620605093435b3050c975924602cc5d5796bfb14ff667660afbc0d36f02dc1662c2ba0f6212226c994e44cae2025297c224f8e4c46d3d43bf3dac69cde0ce7002056b699475b3cfc592dd0dd0eea14b173f885781b921a79fe5bbbe3e1d1f2b27b580f96e9be2f6a8a73271d7e1eea77a9641b6f170aa605839e6b1b351bff825f5bd17eeed7896b384b24f4bbc6eeed59b065f2779fc5a29420dccfd7b8b42b07c30ca2c340d0c8077e21f36727051986e795aa35c92fff373b628393c7a34d7265137e7b003b83332042d34678fe30b9fe49a032611648717e93ccc51a0382ad0b0c2226755a6407224352c7acaf5807727063ee27c169433d9c046885010ababb376641cca62584d3c186fc5746dd4eaf6c9db97ceb68b74abb064943caac272fabfa2c95def968523dd08b8d38ebcddd9d0e99c2f15ab2edc1c0151124653c39be7259d9662c90bc0d2581dc8a198a705c66b7b9ccb33429d77709508a0e9ee912b676ed6d63d96574315cf56d854064d59d0688a12337182352cc9728a3f11f58b6451e1b110d85300d682559c410456a47e12a5d1b4dcf0043b6eaf0b3e356f66f94510df1be80dd689f700fc724a535868e70215111b944b2174451f106bd7eb2869d7ab86b9612e46bd0abf9a56e1dc3aa70612f02f9124ffcc2c60dbbf2ebf78968e163e8cc311d7c8e41c2800fd594fa5535fe5dc4e22b8eb0150e4d0c6fe695031e2416e9c81d0ed10a7c64190d598c88c8ec715d24679dc03e6f15cee96b27e4d383d91764bda011edbe15c60c1f1e5c006f08200c47d20a8fa8054a31d6bf6a6bebcd6f80ca5f32ad89f8496e43fb82dcd050b10c2abb893ff618bd539121d1dde3e0e27d6b32f0fa5b458d37ba1cbac52104d6d31ae5ecee7bc1d5db270e1c4242bf3c6675eed67446878c334d95c3a11ea1ecb16f6d58292bca04d877739130c82f5450e935bade38a56cb62f973102ba28025db08e9b44a1e118c1e08b546610eff58822973cc1a7a4735de7eb173b356754653f6787bd315200e322f63ab3a957280bce1378b1d89d661f15ed8751120c1ecf49385f825170189bf96da44b12356d415e951989f2b3aff075bf4d6963719ce83a684f6b77ba1a54f992651398f158d17c767b85e73418afda666f6af16411cb31fe2c498adcb01845aacbc88cd55c4dbb41a22c6c450b29e8db4fb66cb539111398e2e2ff6cb05e3c66a0ed134a03daba5dfd6d615d5ee7836d86a1ef99eacc33688710799080e664d4407b2c3370eb0920cde249a274190d6a1efc65b01b9386cab18d107e88b9a428811cbd2e80ad07fad7e6af893edf9e4561c630687aa0c037d2bfce08ea9fd55c5fda17ee504023362c5536b8db3ea05797e67070b19da9d0a7b22fe9aa74b9e8084b04d9e4cce5338e07ba27857bc22e150c446e81b4698106eea47b9a26466e3127b7320fef3e13b1b056bb671f7d8f994eb02a582af2b421ec1dc49204132eb5a64317fed0eff4b0666352b7040e23466fef7dd7284a32581f99454eabcfc6cb2d63083898a7453553d3f3f509ba981b514d02f23ee66a10a0d788a8736b7a349d7a292f5aeb36e4333028b5f43e3b6052cfac6d09f080ecb1ade1dbcbf93eaca37cad63b7320a404b1d945dca523e56abed304bd3f5bf81176fd7a675f8a8471f13ee5b4f8bdb6e4de2c78880d971da97dea33b1f9dca5d1eadfb75ef1285235bbe1cb9d8f648de391a2fcd346ed01ff77029ad5948b6ad40065741512f594bfdb993c4454a1f67b0f73936add971953ef085c8006c3f0468225741f1d0e96269bdd0cfa687ace13b68a024e4647ba7df76f819049f1cac31e507b0baa3c4aba9a4d965edd2ef51c4c40a80d91e5de0d6e2106c3a5139621324f9e118d6223e62fc391acca4ecf3391e1ad196a95f382a62601215ae31888a491fe45137a36d28c28cba6ffd09b7fcb7dca214e28bbb424b8d9351bf0caf68d0206c33e94fe59654420c6eec39bd1df53cc1505bbaf7756003c39b99e0e35f78bb5af475f2bdcc6526aa54c4bd80a80cd7cf4dcc91e38f5039a3094c96c766240bf737c3831764761be759714e7a5950e2adb72eb40ddc9530066f7fbb1dcb5c1a8ef5840614fe49fdcd709946966bf33ac2c632210de8c800411f43459df033471183124bbe56e3420c601f44988252ddc2812e4416894fd87636ed3a7a35e279ab83322306ffcafb2ecb88035483ad863cf75c79bf81c182560c6ff42aab8e62f4a1c5796734ff4ee99b3bab1757d75825e89126a0917c3ffec12369a71e0ef9d9e4345344df41cacc7f8d441628223fe5d43d167a205099d59cec7f561e7a5d7c645647c4f7e2aafe3e8ddc90b4340db97dad76a48d9faeacbfcb7781672891387fb8b37f19e5f1e79bb0b8b3cb3d1077e85cd8bc21aa9918c6ae30a796c21cd59c3ace3a3a59d6b9ee5734d4a880fcb59a22cd15fb1b66d64a16e7f9c5e5bebfe1c0c3458526d8111af245d62ab68d7506a9d43b19ae8fd3b703371b9eb1e01ac198825d5c1915482b5c36cf0d405e2f2a631657cabc298a89efa56a1d4975c31deed162d7eb0e9610a5c42634dd3bf1f0dcc15284fc28e24f8d1b12da46e34a9f262ab2849611cdd66226ddce9f5b17f6f2892dcfbf0b27afc1e8bcaece64bb750acf3b7fd81394f8c9cab3addee0703a37557b6257989fca8da1937e69c05567ed651621eb4b1b464829ec3c5a02f95f9acab333bba3384550ee3cfcb47068e52b25888fff02b18264c89c4cbb8f14fa77b71d827faa0436929d7dc96acd9c911c02bb12d38e922c2cbb467981baf9839978d3905af82503637ffc113599247454561dd03f53106c5e8d18cc0219cfac8890b67f2befaf3d8a9a3a14f3b4944b0d674b2174805d1aeca0fc03f692d9824db2d4b6afc247c9d877d1a70f0a5919040fa95d579ac5a692f2b0e74d4cca3f4f07fbfa1c42c1f2a95dd88fbc6db95ac97beebc3d703538ce94ad91d861ee6ac886fa99432e31d68ebb7bd8e584ff312b6e848f2150677adb5e34a8ee21c1ef299b1a430f69351b67c3f84297d0656df0da6209516bfdf01084cc97abb43ee04c08f032def5a1136e04734bc56b1c6cc58df0754d3e649b4c850ecc4721c520439483eeb2834aa0d5408e5d773aa8252eb57055e4d283a4de69db9c9641b9f259635f5b024baf2a795013d95edc080b595694a3aab4aaf3c9cc1fde461ff77baf2f24aee31e93b69838bf2427ed490d419754b89020c0d54aba6915902dfc15ad696273bb4cf9c081929cd55d3c206864cd6e4d4b8922dbfe22ff95a5351c89f8302d64e3930f40a7cc9a287f7d587938d0ac02edad7dc17eb5040e902e7eb2252f0b043e70771a540903726f27fe1b485575d5e73d6bc5432ec0e05c58511a459d1215de6053e322a7fd8442914032ebe42390c6ff620fc90518a7327f11428a2afc9db41ee14345123fe6549600bf49e5944495b5ffe4141fb0b8ac2b4e1f9ef67359d6b73edb1f7a831765ce9c79fb55328210194fd9cfaff0ba30d419594fb87b446a33c734e6a57884733e9337d906bd0c3d8b97c9c706cb89e4a65449898d56c05b1971801cda4222d669f2876f29276579d268dc9197267b3291b28aaf37ff4d4090cdf92c7c3fb88b9653f43b4577a15d1f829aed2ad18bbbf71604c5e767d4da34f68c18276772fff44033cb248335bee5bad7bc368938563b8e5aae83f6cb5321022b6e83ec71146b1b649b44c97a2fde1418e9d95dc45967305022687bda1b649cd84fd2c2fdb29e7ab6ac04f75619d7297b2b920da2f1a7f50dfc8287c0a6696b405ea56995e3e8e531e758ee1c7ff8cfbd9a29667bb4d073da7de3685c5579f089169cb1fa774da2d25f40db36ff59374b9722120d638bf1ef0f6eaf0ad3c1fb3253469e0bd3ad877c05e8ba78bc702484886248b58b40f22755effc2d1fa9289e24b8e43ef994b517331fac1616c3f7719cb4fda72757dd1faee9302a3db486f8537859a52b73669e59f93d1e08842f5a9e1775ec2440360c1771a334b81a193d80a04edfb04c0360474deba8838a9276acf6955ffbe8fa715abad6149601bb7df47f8c8be45a8e9799fc7faefc5b6d9e5c71efeac4da7aab58797b37a6f79808ca6cb599483beda9054cc838f14016ee3be6ad863da2b9d41cabda533e1b437d53ad7c3d0678ce2ae8d99102f83153a031aa8fd64f22ef458f54122eb689b232014d05b1d9a7d6f33fa773f1404aff27e976354fe8fdac25148b5abfe232a489352cbb1e937e63f712c5ebd19de5b81db886adfe4fdc059703e0242d9feb560c77c9f1398f4550a917df68785fbf591b56c6d26e78f775e716f9ea02582d9cd1509b28a559c35f80b6770a3884cefda881dcacf8198cbd3f2c5dbb811b97e2680223a92210197aad49c4d16203369047b17056d83dcb04a32d6045e2d5109b4f7c3224dd3933c2f3d6b2fba05a78f81e48ad11c1be47c2502e7f34af0766cdcd9fd3d5c8761c6a2d17134630b6c2807b67980d80b9c12fc7d81dd2848e6dc1768e908cd06d2c9d3478b1c969081e28eac5d7ddd67730e637aef386607302242873e12d78f9bcd54edbf855ae52882b3d69fdd272073b4145b5974150d88b69bfed7f8b256f3205ee088271176216866fb18a2d6fe5917d7470c95bf4dec32ea7cb6a574e4d3dfaeb36b6c585e277f2f7922aaa659907f9db9159cc13b8bf305007fd7ce65bbb76acdc9e3a0be335f75d63537481102ba5394b1e822b7932881305c2f7f4e5292f2821955f497fa1e218bf1242622e75468710133e8160995125ba201f842e9053bf5a0d99efa6e21bee8768f02777447b77f162926ba6b6665a42ddb81f0d4eb9b656e8abb057755c31a552cc443267c33046cc6a57658170ed8ba1d001379b828acb33fd86e59bdba6a881b162f75d2aa4ebddddbc913f21f451e70a40e65c3fae53ea24141e2d7bc9b4aae01c0cced080a809c54f0b648c486ed9b2585c1fdbbac993b69986af0af99062058b3e61de50d341fec8af5bc0f0fcae50e39903bbf1a9618988b18e0dbc40a18dc2f5311f1c291165c33ae01f2a763d5442b6f999b35db5a352d9068384c754d7bcaca92a38a172716625f2386fccd69e2dc1295f466abb553a69312c7224c025fce00c0e66680b66768cbc5a7bd92b282a675417a534a2f6b5513baf31f6ec03ebb255005179b10710765fb11c048521f408598e351b27faba1e9ddec180aca4a8fefdf4d27d65c7746843e391e598c0eeae1977ad63bffdd7d74ea5ecab01b5b849f367ef2e9305535b5759bcc5eaa141b99f62063a9e4cfdd7b6a2eea1dfac89619d719bdbd306be0baeb27d131be94dc746defb7d51703aed52330ab5e1a14c96f0511806693c1ce610c69dd8314e57f84d27a6c2fef3304e4a86242de5b4ae1630276d55f427ecd4fb0b764a51adb32088e6cde869b14452d6e270e3c5b6c28025e0faa17c3b1c702e8fac52ac954e41aac0b15d412747775e399ad45fd1ba27d48d8c047a7c93e9a7299dd6a9fe52379a976f3bd335f43a6ec37e1d7ffe20c8a0d11ab1bec4e5740ee9c0e494ca62ddc63b38ddea71bdd4530b92547fbf9757197283948ab956a420e2c286dbc4a7f26adb1b8472475a7f03e5ff9c3ef376fcd57ad4b50bfc00fe3b7d1a972a6b1a179dac3e5a310a1d4eee5025f14205a63b693806a2f97264c733b57708aef9dfc4f4608871cb05f5be232fef221326c8e4a8a147ba60fcd4b528dacc218cb3076cc39a1ded90413dec37803d72677b7b2b7afd5adcfaa0b4929a96834f691e56fa000921e412e02f81883b1e24ec5b41d4eaf4a84340a570ee32643d8631762e17df8f41f2c3375ac34e049cddda5b9ceb92165a1e9e4f6aac3fab59559a9909b2c9786267647f61a92b6c33a37fbeaf511fb4fe264071835fb4ef6fa7e6186a0353416e200a3d2ce8900e3b8d12e98736c2cd063c29ff5eec5b1777d8e9acd4cd2ef04bb959420b8e2b4938d3d2b93f8f49f19755dee930c4cc08dbce3bffc73f1efebaf763c0b2a7de35f6a99fc0431ca1470e927cfba3a56422c59bbe3ae29ccfed0dd8b1f49390cfbc9c230d374ea8c7ac573783c3ebbd39106948fe5400362f062fcbb45e0dc17c53f5492b92a5c3bbea00e021af53a43895a149805d863a8e9687ebb3902c4be244449fbb5be34a899fa1577ed97156f7c35479ca877c7a40642de9ad899b7de62a72a6fd30fdac16d90382269b7c25cdb45fe0a298e0071febb57f7011b8f0af0171007b42fcfd2df97e5eb18afa1dfb09bfd1c50ab6957cd63b13545bffcf57d3425f020cb7cd57027b49b4d92d62c9a151e15de74805c6fa5f4790b912a1926bb17db112402697af0eda96423fe78a94a8c4b69fc70470a974389eb96a6a092dc602f8b37fd17c3aaf8ec31a94ff579a24e6bf93b6b5384d38bb3d5d27066b836900a6ed846351066bd9c6b51e02a2c364f3030c6696a4972c19cff11998cb56ef4aabc11a0d684b8b3b8eed7f8801fdbfa889cab3dbccd84200f04ee7cf26b116591676aa1a40a2e44481efd94dc2f1624a8eef1209bc931373f1db510e5e867b3a296e6057df40f1304177fc93b185ff0e1721981876a172580cca6f47aade8f65f3d9f1be970f9e74da1307f82f18c96b256b409acda5667754a86a413da751f6a6666565af83c058a59ea127236292cb79456cc247ae7a37028c77f2dcd7ffcc827d084cf9ce9d733674ccad7188e67724bfa0e873d7f3aecfa03257f28e701ca6dc29808f7c0942ee99dc36075711dd0e65725b33deb3064e596e92a538bcac1853062762f41a9de6f5191379109fd24beaf568b65c336f8f2480ef2ca98706b1b6d10c5cd6a95d080a5e94d468174c0d08defb494696ce91e7674e232a154888c9ffed998fa8994704441d08fc1c9b139b880a2c1502c3a03b0c4a5408214babfb954ce3153eaec81f9a63e6fb909a9e5ad2cffc0929460906511b7cf2393b85c0a0030caf2cd675bcabf992118fe28fa52ca1f7607e79daf2577ce65941dce5c2ef67dfbb4dd7a4f1788fcb4b3374ab44cbe4f9367bce4a442ed6315c6d0c3698f0abe32d33dcad75377f80f4af7d59395eba6ced3d22b60bb3d62148223b087e2ca7b4cb1def360b8e8facc4f2eccbdaadc8a3ffe2a272123947043eaaea9b60fcea89d44e4d30f0af830b6606cb6bb0886f00bc1fdcb772903b51a62a30c4248d081eada20e98c085c15097f0fe6e30aff47984a409794c17ecd0c33380e9070aa999e6f934f657c8d92784eba913aaa39e7b551e65e5a251bdd5ee4a5ae8851b85d0eae5b6bf1fda11c2a6429c680a966ea4381261ac31dd4228e05a999f3e71e5c13aeacc9dbe92457e07c086d4e0f705fe45f3601b60a65b657455a4a1ee39ccaf2c976c8407ef1e58b220d154bbd9ce94bf627e3f71a407756d71100f83d9efb638b6afa6cbcf1c30ea82966ae474b22b6b4ef661b915f5c976c33269327b38de54ab7054fb01b6b51bf62de8ddb1d0e22c8e990ccf505ccc5d4f6e3fdfb06081691e356b277bb70842ae12142d756aed3750e1691f20a40d95cb3a0724eae7d7f0eec65113aed30479ce4d01dbc9b188e7eaa1751b4eff9d90acdfd4056013ad980a62c09a8760a6bae419a5f44eddf472c502021086af35727c4c2ff2a2099d5f5cf5b790b2863da50e36f3b9598468073bce1006495071767edd4de5f249e084fa4c94f68e853b19f6735cc1960926c44740183635fba8c32ed51e1a456a8130d5b617f193b8bc9e053de77e2cc894c187322a0be4e960323e267df724d447bb7f2c60d3e5928873a76ea184bfb325a0c1ac739f5c441969cab281427150e9629937f372be80f1f95aacfe4674898283b745ad97aac0c71339c0368a15757a1ae673ce321a1f55316368fd08369a71b46cd77799b97f416ad257607cc86eaac98dce6c98280c729e9ef3c01f60e62cb053b83dff9fd4be55f78cb25d7c430149322fa5cec7899512a687f75c720f871173a6ccd0faa3e8fe53217df3b503f5d66d915ef047445661875bfecc9f6713f519494451ee137bbde091cd7d02c293f3522500a93962e650b5845e686fab1d816000613019f59d0e72fbf0b8935dd1ade6d577e6687104723788124c09e6564618112ee8b5f8b45ea9b4eda905a6aa46eb5a9af6a3771ae112f879ccf56bd4ae71ce652585e06cab85f7985d8b15ad97e7de613afa2331b605f8b15a2d4b47e1b7425a1712423c8f733fe8903a9b3343044f8bff9bd533a7cd5a411aeda29f4ec60bf425b3603be51201ad4ef2df7d39dd93781ee266e3b630dc2e18be0203d146294a2f63065754127c964eecbc073e5c7a2fb2c24177a2f27b2ede3ca88f394b1d5171603bc972a1d905701bc089f34919ca0072994bfa64d257ad7936abb4389acec6e6dc974d2a79523c0aeed63b287a878c5067dd7a49a24404eade17b7cf0242a455d4bf864601c6800ce5599b40d4710d1ab824f31023da6cc45447ab1d7de9dde46668cdb21bd1be9150b3ab242fa0ce771b6a7336281a95ca3203b7242a88cad47ecb5ab3d4d1e7a7d800ba8e326fab1217357475c846d6250ff73f5efc3ba1c5f46d08d951a97d43eb7ba00bc9e8c87133bf3f5b44bd720dcb520b007a9cbc83e03e04366ceeb31cfface73e5ec592747fb6812579f5f07caad31cb89cf6ccd2e7255f4a80864527c0083ef68df9a429a46bfcf202e1c55329537bc4d780717fd297db03a5819520c47c5c71ec4e17d9a46bfcf202e1c55329537bc4d780717fd297db03a5819520c47c5c71ec4e17d926e87c02af2d510598ad4df6dd04747e32fa3662ab367b5560f43bb81d06888de24c767ce96aedd15a8a4edf8bae50aae525c45285621eb9858184f9a0b588e924dbd3e95e6f854467b6a635410b2d92fb5a538ecf94619ca9a9ca157536877536083c07084bbf0459f230e0b22a72c48147a738abc25856f9f8eaa3b7b3c58d6535425414d4ff63d16b853ae95432063762cb53435452ee1f57a9650a6b45d99f2e885f3f3d40459e0898950fb8ce44af40e82cc721e3c6089154a0fdc17a58106aa717c711a183387922795ba1408385948a509ad6c42209f41d13a90f6801560fd97eb4e05cdb580172be8cc4eb22b56a05c6100b021779432f3bf472102ff59b8bb14658e0357e9e55ac8f4ecc08aa93cd7d419304062e8e82f2487783ed7134243a673649d3ab0b7cd2886b02fc321cd04018317344811f5bc24dc78b743bf3514b779bbfa8c60975d0a5e4518caa39f75c8a60b2122c24e26141f112a5ef64e3962700ed971d65aaf9d5abd629e9b56aff44d3a85efa5defae84688ffc6d0f5bbf6540cf262d80b5fe135f52de316d2945b9ad24fb7c8db8eedebebced3a8ca66ba037b4de5d5df7def35b31e952c08c91c35407461ed52e81c34b29fa901c5fa3f913268ccc2eb3e6e3a83cc8e1de0da7e83ae09dba7ca4e8814677d84ecae825410953b87bf9fd1a056b71a88be754d0b6364f1ce32935eb0b3f23cf7cecf050c4e61f7a6c4d3b753eb5342d843550b6a0b345ea8d680acf306e9b20a8b0a25de02361524575b6e9d17492a4052dd13271c22ae737178f2b2373db05f6398934a7e808f9feeea667b80338afd7cc125f3abde20468ad4afb748b3a1ebc5ac0b7d7e3352fe4c922a68a530c17a646952bdad0a8a4a5955efe1081fd75b2696d9c178e4e278e217bbc2449eb0530d48fb94920f46971c3e32ba51584e8c8dd3a3fab0ac49cf39e20a8d69c2f8118181b5ee901dbfb69b15430baf0f87048edb24bc78f3b338c523ca2efb67e01d6df8355417724462fe9b84be790053cbe758e3dc43dad63b09334c5df3a2048607fd9b29fe7dbef9cc64adb02a6bb6e22c858508342f046cbb9b0a9710582f8e3b97442a90d918686c134dca120091c4874b103f492f0e60a6ed4ef1dba1cae19eee6b32bfef54cee5e40fa617f50ea0a9e6ae2ccbb8253e2d14935f7d30f1db725cc31b2aaa779fccd2d39b56569ea2c738c6af82c547b7db143af6997c2868708c37ccfed1656db7d1b8c4f12841ded24bc3e0e421c33edabb2438d34f3b33061bc1d314db60189803fdb6f47688642078366af24be32521f5e4e3f5bc5097395654bff5ecab35d70bcb6b06d137c1b62987e8107510323705ca734ed2cd29bb295ce7a7b2244244c8742347dcd4f4c4e7ff8ad9966cae61d5f135574827b7f3e5db11c6248ca669b81db252453431643d7313222e16dd1d04b085ef33c9e2c514664287f6b3da0c819335c56ad98fd0043b218fd4c76c92c3fa72fb8f817b4d1fb4d01ed280e259291443c5b6b81b6f109cac8e0fa5fd27a808b6b7c7358187838ed8e3e0dfb2d3db102e788ac3a7fe952cc098c156e8dc72b8cce25cc0081ffb80b7fe7ca780d825bb7124f9e2c8eb135220726c391921e4a5ef974f3f3885bbc1dced0ce3e391208b44dae12ac6fbad38f68b245865cc7c38e9a9f9f1b77654ecd2710de99ea16544dfff652167496974c2c290d784dc91ab677379c64d9f2ba0abc68de40d240d44ddc60982f3b40d839845895107912e3a3d824aaa57bb9141e7b2c9a10de6eb4097fd3c0e3d607ed5032b6d31401c0e96ed01aca70edfe7e07edebb1da5a7803a5fef69b073da344ecd2589b29263b1242b32a1919b7bf538dbcca3eed2910abdae67f54c3b1b77826b4072aeffd23c0cf0f9a96f396639d293e5c77d090e6f877a92c157a76ea705a3ba577a2628cbbf6f22dd46331d3867dd54097e37e007b44b4ce7eb8163116bd162d27db9a9705e7b1d739d8cde110f9371c432059e520ba4d8790f36c15204f3f1e4313f6ffa21f1ad70bb0583f13e06317212d8c2a469d5d1b4234706a289a9b3ed6ab3a6dc9f6bccdb8c8f83359f889b8db0fa64b4e46b1706cfb37c5ae7de807ad099309ad50a8821309ffdb8e3a319dcb8b44369d368590af33b05c50d08e0376478a6786fe5553049efe7791f718f45ef332586af2d247964169ae1f5d9e60cfff53dc1b66f885a829fad1182a9ec58aeb960364fa342781c7bba84093e9dc4a2d4cdbfde4fdb0be3703461134b232e947b4d008b68de53f33861141d318dd6be41fb965fa2d2faee49133857fcbc7bf4cbd3b1119715050ab56933be0db8d5b1e253cb93594e0d12316fcdc500bbeff881f1a633d3188a55b86485f01525a5382e6d99d300b4e334952cf5a007aa60f9815756172f9e1b478a3dfd8c5d714d08fd5f2d7fe4f465d9c4ab299fd3ebae1850973028189eb01626a64ce6a5837592cae04e2718ecff35e7aff304ed5e43fe989e00397700a80fba7be2a819d9315f32932ee85d4bc5dcac96d5cac44e15b528bad4c360b349ba766b6cdb5c489f08d57081435f0f2ba4a075d5d457a2d14d0bd49866151746141753f547478a9c9f825df97597ff8549f12ecc9ad0e15cbffb9319ce4d247edc2e47cb18f881752b99f1b15359d4e0e5a9b8ffeaf41c241936aea82745c3c8035a65f6e94cdd46f841afde832a83db256f0ac4fb208d10a2bb9548632cc0bbf32475dac3aa5ff20df6bd3345cd3763c941f94c96fc8d6f27454aabe838a2cb557ca01485560327afd8b28c09dae1f1e1a74ad1012cc1cbc1c7e1bcb92871df95e76a31c2e2f328de543fc49af35e13f0b84680e1d24e6398a715c3a92f0748bc2f9db79a4e6c0f3e82a3d69ad3c2db8eae177116ba7127ea293ff724174f430221a513fcdbac7bd7a5005fb21812dc09e2b5195e7632ea126c9190e1cd50680303c9abd8fdda857f04c5248823438cd271eeb2c3df95fea40b9b86642582f4712a5ae94135f2d437c08003b2e14a67dd9e98d46442cc21890a36dd74a66ac019dcbd709d7bc78b39e136eb02a129aac78e33b136d1f12a954d01a4c7d113a5405e0c72b1b160448114c72ed3c9ce64bb36f426a64c9d10a820401745f8e286f01c81664375f25e9be58c5ef9e433f3c3c6a83b63f26ea7895a29b90e9f09498d7ad45c9125cca9de9d1aece7ebc0aab132b2b924d5bbb25dff7947492dd2678fd69b2378fecc055b5f772bcb699e69a05483d076e6008b3e8d71a5fb94063dffc4d02272c1231310641c625141fe0323a32b85555170763659f31a5052cd00a9204dbd3a524e41b5835082ba43ae5672091188cc2da2f6077e7146989828102a35bb28546386e460c0e605a11349721ead92b1c3a731f41715791a2bdd88994272a247827ecfc070820da8bf4052fea4bb8e574a9c458907de3345cf44ab9e4b137222f4aae1ff4fa41ae87262be9640466984438acbf6f2f48aede09787dc84c90e5fd57b9d5470a03f3b1baee5c801db56b0670f4b8543a3a795eb4c1ad415cb019e9a71ce041665c2f9eb114fe3f65f70bcd12fecb420b6f774f26938ddb88dc90d22688ea99394793c6653237d5ad44832320577480be96c994649a47d05db31b041138ae95daeec545b584b22664e2a9dc3b30a377cba9d82d7fa565332adc90d22688ea99394793c6653237d5ad44832320577480be96c994649a47d05db1ed4fdadebe7adec54f975ff365c41df528e2aa0e7de17d7f48d0ff71d013abd14fd563758aefb870ae01945694d11a551342e8293961d75e65de8dc21cfa44d54af88f31a70b06fdf34790fd00c8f7299cca09fda08a6bf22cb925e4a84cc6b8656c26801a2a3e763bb5f9da1b75b69c1f815529995b7bb8603e7133e4f6d0fee48bd23942a2cb26d51d0a852ec1782427ef9b15a1d9e862016d1d127dbcfede6c93499ed89f23d927c8970658519895cc78267087cf528c6748389f3607c44d638342cc24fe961980af0ed0650b5ebd4101cfbe6fb1ea0343cbc8173bae0095e114bb3ab651c6241b8018f43d6c1842d6e0f31c45f0955d278a29d5d6eed939bd3355b498717aa56e07c4a4daf993d24b2380c3f323ea5e4b5ae0526f0f1c833da2b2fd96559263f3333cd7f92d3c64e03c4b012377d2ce36335642fb57da96a8eb614c9978253c9b382048b09e4f57d1c3c42977f13fd3fd9f034c95615e03b9a26b096e4dae8c709518c936928221e26d303e879704f185926587b6d8e62bd47e470a11f28be55c8cd2e020ddff7c38bb1028e273ab0e0aa9013720ab1efab5bbb5049d6e86243cee27ac9df1527a959ba14c2747a05e217f1f477f590acc660e0fb055e7f784f39d73e3c57d66f7673c8a85a9fb56cf56fc53d1ac65f160cdbd30483602587640b67dd3e034a13e70e640fcd1bca3cdfcd16bed76cdfb1f2b2b9241a3766a6861e13f82682987f70c006147374797dfdeb2bad679dd713f01c59fe359c641575c774efa369c4ff165bbc993fb88f84f5dd891ca60e347d1ef95760b8ecfbf16356bd531bbc862ebd5799ff7b9b60b064f26e06d7c48e9ddd02f697bdd3acc8f93c82671aba9e655d63816898fd3f780f7d68562c09cce3158df4be638b344569109f7464c35c736001e720e44c112a1a6d7ec215f7ad5ddd02f697bdd3acc8f93c82671aba9e655d63816898fd3f780f7d68562c09cce3158df4be638b344569109f7464c35c736001e720e44c112a1a6d7ec215f7ad5e4b7ff7f15137314f0c4a893123e6aeeda3c166b6f448c87b193a2b624eb4ee83158df4be638b344569109f7464c35c736001e720e44c112a1a6d7ec215f7ad5e4b7ff7f15137314f0c4a893123e6aeeda3c166b6f448c87b193a2b624eb4ee83158df4be638b344569109f7464c35c736001e720e44c112a1a6d7ec215f7ad5dd90363e9824390ea460b157522732b606d545a218ebf27a01db88df90e460813158df4be638b344569109f7464c35c736001e720e44c112a1a6d7ec215f7ad5584730376732c0d0e27cac06007ffaa172adb7cea200ca1f3edf757ebb4ec8faf77cd8905156e81b33e0342d7db78933328e355c4079188572958a6438a29536feacb39be534338a0c77050cea9f50bbfaeea78583f16b7d8b672a95a9a198f3f77cd8905156e81b33e0342d7db78933328e355c4079188572958a6438a295362ab1b014fa063318c91ac1f11dc784c6612c7fc688110323132eaa0beda41f349228c8dbee7805720d67dacb88600d8d823cb6cb5c3968214d5b6eeb275ffc0c76c0987096cbec7afdbc6dfba4cf5e7a8706685eff4aa99de17ed55413f3af66310ee8b3c2f6f9543dd80e7080e837cfa1858c5a66c3dd62f53fbad5d1dcf7c446345404b8eac4bcf8cdb2d20960cc20a3349234b6f2b54095501bda589a1b63a05c026b1959c0fb8414f33a49cf64d2aeafc70100f4761008f64bd4888a0af8fffde390dac65f06977c831f1f25f9aac0853998a6984674738ca8488e1f28cf2b9fdea2235f9627131cbf288deb3f5ab99938d1fdd837621dae09fcfa9806745270fdd5878ce471d3c849f7cf6cbaea3eb8b6cc4ea210a2517598c8e84cbee4023c33a5a7cb4cf463e08f6c882bdccd535fe370e0c58f57d5976b019a50893a263a1e2a5c4e99c3c94987aa4d7dc43160d87205d480565dbe93fa823a12db4e408eff43d0e343ec4ed3970b308b98e7a47ae91b28d6007797974d871f8015c8ff967cad4b5dd77be0ee6ceba8323c8ab24b51ca7761d1a2e27ad3e9cdb83085380e32bcf8bcb7c3d71ac4f4ff8e57e8f95f134f79692181d7875812927586f525454460f34c5c81e25cff8398ffcb30470e0b3411d562cae8db3656ced90a5d60a1c3d3f24ecfb1a04136f17a5d8d5eba1371d0282951db0b65e5189f378dbd91cf64a9989c5575e41d3d6d99a82c1b0e009069cd12fbb57d87e93eda66c8027b8ac765a751f70f494532770ccbb5d8fc381a111766cc9778fecf9236d4e0200fbfc7da8adf4d39b1932a6e8fd269b294ca52f5d50c6ef319d2c0543fe52e25f747c4b5d84376cdd6e8892794ad9feb095cf1b48ee536169d934e4aaed117a2a67731d2dff4c26974fd4ab04308004f95878f3c8703db61138e95473d14245b7016ae931107aeaa860b600483cdfa4b3ed8ea4cc449820727dbc69a928de72cfc2b6b3d8fb93170e4783b540b51cdbe480453a73ab16c413f7b26cbd784b881b93adca054bd7d2b72cdc6eaadf29fe4802c3cfe57c84e00fbee1491a8a18d9a199edbda825454b82df2d52867ebfad65ae7c293eeaa553bfd8faf1e7135a108119909747a066e402ccd67580be74d5b648e15776efc603b325e21efba6148e56ef524598c4470182cb15482daba3a28880495b62c1ea89da6d75719739a2041a3e20b7fe21c38b33eeadaeaa285e58ace8d5ccc5f857465bce0d0416f71e8afb55d2637e85840d3133d46c789deacd7227b166b48ae6807f88b28e5b66e792c0fe113e9beb87b121ef559567e95b1dada5fb722938eb267c3279dd0212b5a1f5d9a5f17bb12182bb084ceea9d75a1cd7c9d5c011d07190987c1fc6ebc4fac5f61d1b4b6c9931bb0b60da7e0e6c7e5001248e5278cd9de4b5471c206ff91b3c5bbb00ba55e3987bb74186b5ea022aa370bb47c145c167748438369747693b0d848f08705516bffacff5e28bbceb7802c91727970e1d5dac68be3f5c5059977982b241886472a6e9075ca553988d06ac812d3baa924c5515fb3209961e4419ae8d73469980b092730e59e4c721a7bb57f7994f69aa6bc57724b6a57bc11475efc8505d493c0854073796b4082eda4c52dcb3a522db01c696635036a759f5237af046fdf2857173db934b2da32a46c7932e9d6392e423eb6c381d1d1e0bb59b35bdb5f7f3c3084549257bea28b6db1c55f75a9573f11296a650ae6b4f206543fdaa63b9681aa35f8633b450ff72e345de521fd2603b4bb14d30aec8b4469a8c118beff78c876deeb362b092b111ec05da7e4574247718e7484344ca0685401c82620adf91af5647bd2ed789212fbd215b1f043bf4c98fd097e6a05c20166ba726c24045f2a4f105eb698e5e1bd0cb7dcf0e50f85202a699b8e7e020abc526155f5286a8204603e2e7759437f67c0788bcdaee697ba57ffa037e92689a99cff8049f4cfec78a7adb5ed9fccfb93a6c1157c9471c95e2918f00a8f6434eee3eec00c62023176f16511df5588eb386b5dd13bb46d0d30815385bdd7c21471bb3ea0a3e55a98e45f719edab72bdfdd2052a3d9485e3b02629e8f62ed1a1127cef621027bcdc9e09861f0ed3fccb2ec4807fac9a13980b0f3857199d80632758fd0db937ea40c72836d3909f49b840479cadb73b675cc6a09caa72bb715e947829b1c086d62f579d800d7e1d23368cfc29f34231f9f757d4b5cc55f15c1e95426246cf48cead98a93092b0c128b0394b36ede4be51bd3ece868f01b2a38c4ad0591b1a6c9498c2b4a42d3be48ddc2ee767b884ce49db930ed9bd2a2130fae0c800b6b4849bab53e0831ca51c95274eafe214295c72ca58a6b1870531e7ecfdcdebac9891c328bd7091ca75b4790c73231b31860d3fef5719bfc82d3b1407cc13ddc4b0de4ebbcfcb13b7cd13493ef54f594f8ade460bdaf41ad61f1e152f18e749f49e0835dc2e40735ab73cba312708c8e0af4ba4f81d731da05b8cb57859b73a16961fb8872c9fa739a0957415bdf7a139f3169e2b35fe3ea7c49ed7b8f8b30c2223437f6c36e8678ac3cd4bb135dd28d0129b94706da96dc104b866a294bfbcf5fe25b1cdda996a3949a80bf5d8242ccce3080af35ba8148dfd440bc555e63641d408350ae29a6781da21a9bd9ffa02cd9dc89cc9448ae6fc05f58818c411e7cbdae5336f70e278331890b08cfde8a6f0a24bb86b091ab51bfead46af9fc2f7227ede48e713e753e8a7c6461c10b62036b7e524e60ec93e3e3a2f2313f218350c63b5512ee6c7d6526ee8f9cf3d63fc548ba8992cf40c67d017d52c3d73e1fd6e94945399e1ad364718c5fe1f4e332cd828050cad478314adbfc2318937ed83c565689f26835bd9d12cb99c814f2d9aeb2dad185747b6c707ed2875319489c978894185b673155ebf88c9d0e61f00ea2c8a90990aef4cb24adda7a3dde44092ff34a1ada84f86eefb4447a11ab5f021533009ef97b1ddb2873bc483827f1abd7a1b1acc8265de9a7f2928a82fd156210295ed3268dba06efd11d0bcab9c9a7d62844868f2df9cc828efacdad50f3e11995ec0dc009b3ae19586ea3535f8570ac9fa80a9d019138522896152ea62108a2889f5d26b372f83aa858ef21467e794e56cdcfb8f4388db61a3209d351f1dc5e85524798b9011f40d7b434880db833e973df7de22654d054bc748e10855c7502cab3979f1ab16ed8e8ae1a25756c867651aa4ba2df9f26e0e3838bd3ae93bb410460c5b29ff0f938cb1b18337be899c32afdd2cf22274724eb5da5cec6e1a36cb5807f37469f0a2f6213c5359ff55d91eaeb1b47bac691affb67740d12cd05da5887d0632770bc619aa1249421f0bdef5f233a57cde0e86ca7f88b46e7734cb88c33abc9538ac2be95365216b94e6e27f5ff6332d504a2ddec0d17920841d96b345b389110433d210539975899f19df06f7de8aa90c8a4847f3f38ff1573652453a89d2fc5133263bdaefef92eb72d6ed9b316dde22335b7c675c64b33cfba36d565a97dac6457b7b0cfa5c45a0d9d9a73969ec1ff08ba0f9c0aecb3fa6941b6f6014b5c5b83a764dd04215b224d2c657ada33b7aceede5e7c36fcffa027a8b4d0fc2d119eb036b4028b14cf1d30a9ada338afc9fb0a0ea47a95ff47cc1e994a76d26746057618dee5a1facd832da0eb0968f93bdbb85e0680f9306e80d562f662616d9244fe52935f573ea84673178df12892e404b9223ba48c9ad22506469bcb6b25c791d5be42ab9e062b7004fc33fad650be0605551eb3e83bdbd57b50eb1c944808fabb6bd81c4f1c1423bdc7e5714c6fc4bd078a16c3981149107b91e352a3e5e653bbcfd3ef661f167525c500f81df75cd416feccd98e8ada5fba924100188bbce9602aaff160b827204047b9b6d5b3a7efa45615b087497d99d70ecc296bbf4640e98c139da4807cc0d20a40ecdae4d508366f26327a7488575ba780ee1e39eeebd351711ac28d067e3e2cd261b03dd1a6200b558d819b93b13c5100821285dc9e3e8b20582e0e815751a6d7ab397b7e95939e5bc342f755cbf99c5106f8ed67b729c5e150926ec155cbf6717cc1df7448b8d37cdec66583056e74a8c9b64ed938c9842dfdc25e3f19df422d55c54d12b45f092076ce1f178052ac2d6b19bf98c9f861c22b9f8ae9167d4c5c18ab65ab570c6083022d70da81a9b1ec29e610861c6dc45a9cd64c9b508e55b675d4fb5fe126427708d204ecdbc17963479d1a15a2e53fec0c3c2d03aa9eb338abf36228b93f3d04b2fdf99ac05df3a11ec9d4bd8317292722bd0082445f61b2076f62d596f3988a2fef9c0cb780e0e48f8f4ff0be154ca71f33a938f672aba564097581333441fc28478fcfd1ce4f92bd7528a54ca22a990c18c609f1648b4243360d7d4d4650137d99fd4f06ebc654f0ee851a8e73bd402aa909ecfcba5fea994e7f9504a067880f19246a391038a7f3010d0a57302976b62bf4df49398ddd95bf3221faefe27c20e6c226d9d9d009e2741ff05886aed4e22045924c323183c868d1f2960ec6bb847dd892b3ba46d76258dbb3319620f688cbdf1907dc5e1a1728e5525c46568352759049971437fe1c711e19ef0944cc49ebaa6b5994bb79e08f4f3faef9ee953eb0153252f53b64e5f99e07e919c53635d686a524992f40562114bae12a581ed3a31cbb4097659c6cafe5dd1038f621c5307e42bb6d71d157b7b0a850f72194e5497ea4046b91d83019009879adeb103ea6c0a605c6bdd2b3739d668ea1eb2b11cf44371fdebccfa56d726d439bf808c07883cdb4be8fcc7e8fd5406d86be25f03458d7638bb81db85ed914e31695737f5725df63001bd1fac0985813b8bf4b26138a3d768cd788c0119c0ebfb0339a9266928aee6f68378a84e7c68a351bc93e27518a112cfa1d920d5583bebbb53df8f487f0def570fccdb08ee4828d39db379348695edded99ee72268bcd8b94ec63a33b8387830e023704ed1a38ad75ec10c3c9a1d344234a68e5b1339276f381408b3ed6815dcc3f4f527704dc438c5baad09f5c82a0beb859bf1126de3376ff4f148f07efc08bf5013e65b166f2b867bd68d8dcd8172a7baffa6a0573b59965cff9ae11d6ca4bad961a91bd9d99ba2fdc765ca219e9dc1e968c5907bea9770870dd4a960995198a71199d5d4923306c2d8af206aa132e5cda03e631dce9db3d0c2c1d8ba76ab1866f0c3e5604805c0cf3bf27a589f0529729fb83cae3b2c66ff9b6329a92eefb15e88df71c638dcc5d220b4dd036e26ba9da35de030bba530a026dd9f4dcba1c547ba75f6b916fc8d9eef605c0e18e3b16cbc0305bc91b466f3282b109b3512b31aa09766b670cd441e153ee2546ec2e3cd159c30fe1206fb3d901b88feeed3f23cfd8b7bcfb87087980133e56486b3efd9e6eb426ed85425c0b6967999ffa8e468c9990e9281e33072cfd98cdc5e520d5be7e75dfe9853e6978f31b36c8a6fe108211381e6161e7a894de99ab9adfa31b59c9b20a5a6d849b9067f88fca7b9e92f41d465b1b84ccda8b063c167732d07e94aebdbc8327d2533e02e62bb02a47a6c4f6011a15d1e2dc7aea77bc78f71bd571176ddf8925e4462b2ed0b6677d1e03de6f16e1104cbe4c177add7a49d42e586f9f114f0b60e48e25e96296058be670fd5d1f25dd43cdc011d3cd781ef729764232b0cbc8b420eaadf991f2981638601fcecaf2e459ba57aaf898a97bd1bbfc358925198dc316563a05d44dd4fb250a97c45f64f55294a7eb0f9f11808f286c1a887cca15a6e179c3d0caf6f1ec53af289fb64f9805e2a4abdd264aa43e0e38797b0b1c5788c1c65ede7c220ffd30d1a504e2f02561d3c6b14f63e490c2d6c2731c1e0bff490cf060bfd05d874d4d9d03ef929fd023fdbc1652c3c7d7b087d7d0233c1d33bea333bb76c8c9a5e18307f49c61a123d08a146e483795bfd9f05f2b92d8399748a67a8fb0dfc501a838d0fe24e3f13ca56cd31d957ca56a73c34d17585bfc2e32adf93e9f8ea5984a6fb3fa6b9d61cb34303272224280fc1ae0963f7f78eb2404c6cd55714d7b8cb6c8563bace6c82e4bf22ab6b2bef3bff4074d013fdf92e66e452d513ef18579205a0a41d838d86e6886a45c8da2fa2ce7a0f27574adc397d8252be58d3e42e874b7acda7e3c3f375259e55106f8e1cac746355fcb613295e7d63e643631048d7ed7ba11d4f6b6719e962a4d2b09db97fff8c4915c511427f98e4d7f52c91c52104212355217d85fec4a6e13abb9f133c23716f52cc42511d9613167fe32bbbf4963d482d16ca5c3b9131dbc6ab61cf7270c8748cb22bb8ca9d11274caadc16d0906993515a6b161dfcf23e80b1d39a4427cf702ee6f429f10b8bc7661f96fe7e3ec04d0d27ecf2f6f73747af312a8014926c3d732594521dd369a4b314f582b31e9a3445671b43ae91a98681ea611ebef1d0e1d0abe1242841f30ca5f23bb78976613d10e8358fa1e97f2a725ef86ec401110831911b024d01eaf70db69a0fd53a11db31215f4d6949fd586d26aead7e272c0d1a491e5cdfcd6cd374a1f8b41626d95e661e405fb05a1b4194c269f0c192efd87bdaadeadfa11f2b0d01bc45aae91dd8a2df4950b3f36563a3af890182fef21f78b098af9c7272d57c5e779ea7eb372e9e607942e13ede294115fb307cb2817d35f00fb813dca23030c97ba59dd9831303006d2a1a5f52014143325466aa4835ef5987f307c3ead6ffd82aa3ae5a63582fd05c5dbc987e52215e4bfdd6805105a6a2a6fb9e071e0594457a8c0ae51722efacc97fa02f53c373253f6ca9699bf1dee7b3f7964313c2da45985e7cd44ac72c588d5703ebc683dcb55ac63012569c92e30054367ec1a0625de048c7f30f9c2c9effd331938ff6aba064dbffb13426388afd6da950118ba64530c83cacc65984e847be20ec28568796e2aae430ccdb03cbb4d6478ffcabdf5d13a15f17187257c1f075ed6ecf0b6816c3337998b3302c91e2c98b51c5a6285e1310e8eacaf00642eb4de34acc0bcd520ce967e65de6d11a049adf3d7329c45acac384a79027d1d919ad6d0fee59a23c4c6b7ad8ed40a35e9d4e7ef72f3725e14c5f78632e4bd98a2e28bdec393f771a672b3f9c9179664eccf0fa6b6756af66a855bfec49e9d99d74cd61b5fa2a115fb1598510a2a56b36831d0e23a6172106661ef207ceb698416e0b775c2ee8a9117a12b0a73d8d4e57511a5be336a5bed53ba37f8f7fd545c0b27510507f42c41008906b45d05bd74d708f48b2a636d2dc3a9360a38a3e83d76391474d9daed6d5797f51342cb993aaa8513cc9d084aadae77f9bfbfb8b0e25772a0312ce4b79121923a7465a139b90ef7f13133b06b342fe2afb4ba83dc61b822590f731705b125e31cf4368fbf574c5d3d2efcd76f5cf2fb3987ade6130b880419796eb4bb83c41339f1d940148204cf07a1c1bafb2b0f2a773239f051f7b68598baae3053fbf075588b71a6cad5ffbfcdd75e34add7b299a92758e0c2de114a89af25930d8971b1b7f63a3a239ae2bb9a5af0e8cc8d5e0db7c2e8f27cc764030f06ffe98a24e2e083578a58a3eb9a3d93220c48f30e789e467f05a1522833c5030146ca19ce573f779e91352086c4d827edfea4c130c5d2c3f8a4ac8b363990825577b5cc5ffb150d72a13f54caba8db35fa96ccf431b777d7862e4fc6feafe60f477d9912f3fea6c48a7ed95ccf101e619a2d9095ab7dc5e037fddd58e5185a7938d097f98d4154abb841675533b89c5bbc7e68fc0241d01d159f17d2b9da877422c35626aa9456d8b4c8a96e5b94dda3017270ac14d2ef97d230a59946f05953b6ec76c4f222609c7c96a002a88a6824802e65bb77d881df694253cba97c784554de9e25dce6a17044e6d16b3e5b017ec1fe7309d8d8f8fbfbb1ee712c31f66f7cb53e1bbe203ceb9da55ed7194ea670458775f0d5e2b2f559934ef46c622797a2839c4b79d6c09dccc2bcfe0f08a9327ba417aa522d2e8195eecfda9f8ac6f100cdb7c43d9fbd360f616d896d2d63e8bea2c02cc3a339cb3431b44016619d723430baaee02fbc535f317013279df93533596659829e8df4bcfa1e4c7e6b378545cd9ce90f25b1b247e154be6ab0ca9d7ca9bb322e4bc4f3f6fd6b171c1768dfb6f3d44a654574c110b83aca5e2942c0662330ee5ca34d02ed2838ab961c4d7680d595c0637c67aaba1e076cfd495e1f4fbffefba54d79abe5e37bd30bce16aab4afe02586c60fbf3351dbf9106513f12a65f8be44d52fdbecaf734e07480c64c6e0281d2fa40622dfe4db81e3dd670161440b976a86b78bd0a7e3dd88c5dfbd761785d4ab15227b72c30831ecfb1cb18ccaf33e5ec4a0ab9b9a7af2151fe9465f73035258a9537cf34966f7d0573518427d9a9db1b31320acdcda5addd739784d9f9ad7320626bf96370a04b087daad2b8bdb35e1d53abf71e639769c4f27bf41746764b334ac52b04269c1659528bea86f636f704358573d1df710225313cd635548045a74172498fb50b7749a2e436bd70ad6efb13e2ba5f0d3e5459c8bc3bbe34c6219d092ae18d3d4f9353decb2e0eb38468140e650152821ce83d6bf2db20850cb1716aa5e2e380383a99312fcd89344e77334f99bb1bba45241576292b14a7828e0ff07fc0dfff7d1974fb15b2b96ac0f9cd027c85099d0449cc48d09f2a1b0f6019aad59a25d567b52af0b6ca1d816660fb455b0268ba08cc9f4933171bd5a84b64b343a00e44d56da4fe301d4b41de92bcc6a9f9477f04c69248413fc9db430eff411406ea519765cb1796b0094b891c13fff6453011210ef35258f53ac7293d18783a472806063a739e42e2c1c7fef415cfbd045e1245238b4bc27acf16d9d7b79a90946c25c2ba41794b10c387b43f133ca3131703fbc199e9c9cffd6048d58a0e220afdc1ea55fc3a8135253aeb1bd4e129fe272797f30abd105d449335bd1ec43308025e4f476ce0799c9cb72dcc85f882dc411279e061b6cb7dce23efb3f8fdd5b28ae1fcef9d5e0156bb847868427f8e837989ee2912f9b6e680f2c0eb3a1b209824e5ce4eee4c9b65a75571e1d26237811417e7e6bd572f2fb699bd308e59bb97a33c4d1d2e951aa1fdd19a72edac998ff8686b3a6ff03cbed2b71f924e5c4ee55ceb96dab11a16104fd0412f1b9bf98e478cf5e10009f949a918642ce9c9fb1791302907912a99c1a8145d5b90b7d145f9a06e687724a823bc2567fd55d7a29dc4af0a17e4338eb4855a7e35ca07c9f19e867216ca5579c1ccc736cfdfa85cda63145d112a6273c239b44d0a15cb88bc78e343bbe97f615a99fcf72e3a630d8b1cb07059735965cd5d39dfe7973169954a570c5c032a4838313b83f48cd24ef6d7ef3c90349ee3ef5ec05e9ec36c85b399f6f09096b230618d54a856e05603ce6f043e9d1944062673b1ecfc6238aa58e7485611f5c52b71bf555ac1a02d2e3e81c820fe3a99a58560e241762dd282fa64bacb252980e96158ccbf96aab24f8d1488f480f0a6f1805bce390da04962c7da89294d5a5a0de62f1d0d5a4599e296916c0e188a8aa45cd6e50009d0660db2851a42923bbff9a521c98e1cf8593303bbc2425431627fc36952b0b59469f3077943391b293c23db896c5e99e8b57348355929f99b8e48f226f772c8d03deb0d7116a2e0d42d36361409df4c45f8068ec5684aca31465651011900ca2dd506a0275fb35721ecf33d99de0725d3c78ff58933e7325782c740a04a72e5f958bdcd33aa0f9e2be52ec893d4f4a45bece1a34c49bd903fb2ae56dd6adbb3371f64086707fbb143959bb6d6f8b2b3bcfc10092c0f458bd308b9bd38c08fe155564814c449bdcd776e7d552d1c6704c9292407cd455477b5977ca91575199b6a1e0b71d9bfdbb8ba8d85e19c6efda6ce4715ddfab3123b417da2709961d5595a8a2775430e8d9e4466de6cd6396a908efa429c3175d31d8bfaa8d2737549fc12e8bd1a52d801269cc828d7cc5c672003fda229714ee636db4d43f42d2921563d41a5206abdbda4505947fd18f360f930091c702430defaed04a073e108739c2aedea05da823b3787b8bb7c9d68c874211cf2d24436331a8bc14373a0b1ce5c1cc0ee6a89079e84b26513a43a745e73eb46e93549f98a5e8a786e0fa1ae0fbdddc2e35dfe98dc9c0ab7962cea042592c0768162d961fc0c1efbf048d53128890204ec822e484c97198c6d18186ce17ea80756effa98ed7680cf8dab5e306153eeb2fe99c4f477c543799479f889d80aa1e6b3a5068742cf31833b85613a86b1de0ce90f6590dadd8947e7827f964bc4df032a9c508c7e409d113004c8b07c036eb4ea43309783e15f1c2caf3695177a762e25201e4c7033539ffcddbe9eaf0d1e58561f9fda3b12cd39b813fa751675998ea1bdd258e78416f646b4594cbbfc15f1316f5a791a1b58792581068c91d8cf7d8a040677490ded73a602593f3b5e6341871ef3e053748d0be54202bff5003579458f33e715eab6a9f7c65d793d02d45401ba18bf061e8699a0d7204c9a63c7a6a99040d782099b4f9544aced11b23160526bc176da5b5bbd1e05348f383fa60acc8f61eb28c1b7037bb267e7a986f23ed40acb661a2fe73d95b888d63f7d42d78e423f2427e6e30fe174b1024ed195b4ce4a05bfd31b1788c278ca5a8f26423f617ec23082929407a6809948f0f89439f5a96f7b9223a975a6fd8b96df756dd1a7accdc409bdb9566d7d5e42103ceee86244005cc11f12b07dd2bc7d7cabc06f0ab126313f38626d9b244e12e9cd405841ed235bbaa42e82611ee8ee305ffe43bd36d77e4fbb11303d3f17b0f7a43e4bea94f06f33a8bbf2ff6bf6b39db7b465ed046d716300f5cdb98d3c53cc12404c3d5ed20149b5d0deacf112d438d0b4514d561bd290c37260ede515ff2076efed7d474aa2921c670c3a91b1633c179f42e98b17b5a8e9ab194f0d058605cce768181004b82962a8b795a7ca5542de670a52b35acdb58d8e5fb079ba6c448a181561a36561825a222922fd59fd7d1659655b8c3e953e60c9f1089b9d2a074740617d221cdeb290b2f1a94455781e233b21237457e02e921872d85b55c49ecc55298d3163fcc769f885685eedc819f69f2c03a9adbeca70c43901188f6ea000b401a326a685909bbc6373dcf85128600528f72b599cff785d3b98345c52dbc9025ac5ec1c092cef64a4308950eaf12e2130c49910129e60c120c97749ba24337f533c3572b60c8e18b41e5824f8fb62ceed5857f8244dcd6b566298553f78e1e6a045fde4cbf9417cf957ad738fd5fcb017935afe1456823f2afdee90c719e081254692324514d3c31a299d7904f0552e2b9f32e2b9089b86755d17490efc04856454a4f6d6d73d49d2e224f4eaa2db088b38176b9daf0205947c76da5c7941b58a173d17fc0c6f24ca2e683aaf51dca091f8f1b284d972547c415f5d95e76a89c58b6aab114971f9da01d8f6c3911103acb9eb1390e230f71a4fee12db28f942bd0b26ec9b78dc7844df17ad22f016394c992d44c3cb90e22c32b8ba0182b562921f410d4e11767b91d3ec2c6d810f11ae5fb32079afdf84e18f1de58b6a3b7311158d1ecdd966964aefb7b2c178640f9fd60ab1708e5249b29fdd664f69cd60ccdc6115543cbd6891034b1fcf3150b94b198e7d83327a42f74bffa43c7df2af386e207d44eef022876ef9a76021be9368acfd380ccb94a55fa37534dd6b3f04c0ea07a42ed734e7ddf6a6455ad589c28e46d170257471d22607252ba8203bc0e0bcf8bb12dd133b7fe70f0e00b263975351e064a7069dc1515d46d26b5c2a4da15907222568834d2ecf45c76fdab23505178876613796ce75bdcf8f25f14b558b9506774578bee27fd892a0b3e85537eddc194a584ec238a2fa717b4d3cd5a159ce2a0fb9af3ac67f6394167e9542cb99045e39a6f92136f1b722d681e61469c24eee76889d652beac7ec581b6d4caf6ee7a90f49634ba51dee32db8646589ddd7a072e4078f76fe02a02b736dabb5ad044d538027ee17bdf6598533bf6b379751242c9a85776c317b4082532eea4c8774d358a2832cf2e98baae60826999cafdb5310fc877651beb9d03f2dcd5ff75b70ea7d7f85dd633ec88a4287529edb3ce13b0dca441e9b4204b3c206f2c2af186fb53f960d6d103f2cbe0db6441f2ccbf149721bbd529e0345464696ab437e3507564ef1532264ca322e9ec41c005137dde39f595b26f91c0c593d76f1f0519c64e049b6a5894713125bfaa5de15ff68155fe1335620907cab713ab6b9d091ee1e524228aaacd2e5615e5089dc1ad24eea6f2483119be80914b37aadb4faace21b1f811aec5e12525cac4721d1dfbc54930cfe3ef384cf74afea99aff76c27aecc41cc886aa6b1d4b61930083294bf298e524ce07a293165e1917bf8337a87aaa8191a63830f8c687f0b43e863303dcd2c283e553219f3bad9999dc305cd72c3283f41a06ee3d07a3fd1feed3bcf883fad2ff35b3bc9248c02772abeb123f65118baa9f42a2278d880ee0d387a7dda1c890016a95cba1c7c935880584d788cd82053f68e36443bcc2c634d07cac126c95ca31cbecb52863fbaa5b4b0e2c8340406ea2b6c9cd68d6e1a3e52085a5fdf465ef948efd6ebb98126df3449107879e36a5e62515930089af8c45f4c0d27197db0d669f4cd16c2cb982c1a64165c33584ee7d0a549a7062c216885c8799d1f8f06de7308bd9ec6ebd67871395017d93b7986bff9e538ae951d92d64f44e69e6c6d00716b31caffef9676f080222e951ebf419cdec37c8fbe8f1265684e1fb227deb936e65005120d2759620e32442b81a170d5fd8a6d94670248b1a3020ef023b9e780f5bc078ee39f88e1f06202c30051c17a735d03d3b8bd427ca0c66b1e24a2d2f2c0bbebb0e0633d3a6070106c73cc7a97368c7c8c4006e840899578ee65ddc7d4715798bd87cea8fdb30f00a424bf9b45640f0619c1d25dc2e9a2921fc36dc58e7474a93487c7f80dd51dd5dfaf37710c8bb2100bdfc0a685b94efcee3777ccb5b1a51131cd4ec952f3adb59945205487a13d2d9b4f701c1be87fd568d253156e4218e66a0b4ab1810b1b29cff66cf9ad485cd77978004ca93220cc03ba0d46547ada3cd3d1a7a680d068d6a9f27e9fbe485a3e8b408c4bf61b9a4acba63b08c50af63688fa4cedbd75826e6a034937ae98b4ac535efbae0a372323613d3b4e16b30994477bb26d651ef9259c87a3d120d671c82d9aba7b67b89ccdeb980e695249ef1dfa5f454ed4448bc9757068d94c4a3b4a10aef7562054711fcee650899de191550c5d00b0917f18dc0e993b63071a0b471e74a4d4102bf700d27908098dd599c3a0ca8a35ec0e0cd7f6985174d498da9e11ca0f3cdd10f26c031728033dd04e54a2876a5329b59f33d3e5d7fbe28398e0246b3590f383684c53013609abf25901dad4db2674ffa8f163e3716bc1f18d553f74687fbe072393533740c8dbecb813f48b5af788dc68650b91084787e54f298d14fd076b91ab0d7c5702b6045e50995dea7e29353a8588e426ddedecf797e31ae80c5bb0323bf27791601f16b21f2480a0cd0cee0434c488000b942b1da4d296cf1e5443036a9c9f572cb842e36a952ad854467e5d6be10c97f75780dc1405e93f492af7b4da814374c157c72ac9f3bf6b5ff885dba4c3872565edf1f57048c77a908c4fc2b9a6cd10628b91f8b7448acdf4db65ed71f99f0f6de52c6c29192298f444180bda7ec3311224852c7fbb3446b06418379da94c95041f87c971f2d386bd63520ec0e2cc76d5435e4e29972a459a4f4b506bcde79d96a4f29a34f68f960231b6c489c30148b0a3819a73bf8ba64805d4cfd31c0f3671906585e502b7645bb050f2383bfa1c654b559b535bc1ca67f71806526942752b0429843e46fd9b81e3d5c53f41f685d50c86ca9ace09f32aa7d79823bd94068a37f87c44fab05a7e36dc6bfd47ee96e2076de29d3945b123c85ba9ffc266e4e8b64a833f2d1f0a7898706c1d8535d00aac080dccd4084fa815503522a4147ba14931cd2959be373640919aefce31dc2fdc887269f06b651202a9b526ef167d4d0fbdc9642757d7b643f73b25e9a4a5e0991687947ad99d4ac9f9f5a6bf4c5f1244f70fbd89abe080f31c93f76572742f8e11a5c283fecf3f3589e28ca5e26d04d6eaae849983331fb8bf9fd8f5e80a25721dfc6e6ef0e73193f03df76498caaf05430ac5f1572df1cf55a35a9e8fbcf3dd405f9983bb96d0f492c931f2ad1d0975744c5218b5c712c113d2f22cd0cd40064f775153be766d615aa4a3d6c71700a078c1c482041fb74e5355f7e5f77bf80510241f62a60e0309cd3d74040b822bb2beb82406c2dc1756eabd47f431a8b436bcd04759a9b998003e99e0fdeb4f484386669a33d7cdab13d293ddb79d261ec3bf0a0b941a710cd4983f4828945d0af018803f79fda8e6f51259695652e107c2859eb1f7dc567d817c4d9e2575d671c44fc813c592e23370f621394aae970564bed0828d9cbd3867034000f2062036bc9c5ff272b3ad41f69b9a77e414813083e1416059bc86294fb5fc7240010925d822836092572dbd453329522152b4ae86f400ffbadd6737ac9d7b4f262ea3427b24d26d871e6223d452e8a271eaa5d8e8407adda5a5947c2ca83e3d90913092e870a07225bc88e2af379d846a91f005208b73ef7a83d5f9be117a5c4d87e85e4c43992d403f33ca901578a37e32035c4debc61edd1e3ad15e488e4fd6c6f8ed4004fa0c0310e33c836fb0fecfd60bca7a3bbc6f52804495c9c62a3224961795ba8246405e322374532ce2e07d9b90aa2b186f4146874cd177601c30ffec5be89c169bff9a28a1a7ad5da3560bae98c135c681f9527dc06fe63ecf8ccd251eb8c3bcc3da6baf3b8c6ffd616ca179a490dd387ec2d34084e5f563fdbb39db911db74ccca71a9001dc6b6084799492939aae85300539979787b37c288178e6ab914027e7771ef3577938c3b39bb888678d7cc9ff907690536b719acdb32834753503624a6600306f6dce01a1694b6c71110a09c009462211ba71981bffa9d72f19fa2ab79347a85c19feddec596995a6303296ccad7dd6e2eb3f88eb9f0c229ce2b5507ddd1f252712eff13b7a669ce95990e2e96a3d912a6055a479ea7582689b75a197da8428c0fed233b73e094b41c5af9795d50d6c48b5be1474499c604d0af80217669672b258f44e085df009d8febb4f230f912a33982bda72c41a56d6d09007ece3aa55c640e5b6d2e74b54596953a80f816c8a4351b32567140d72836835ffee0b1ce7ab16c4587c1df99a8c6281671badaf2cd67d0847996fd4a93ac56feb83dd82002730c59bd4bf1484e77b265a6870ce952c5678e54f3857fe7abefab0c2b384af72aca16eafd089d56369351e21cb677c28da29bc4d24307be3daf5618cb712e436384afd0cd90ef120fe9b2e7f083c3616f81a51e8565e5fbfce264d5432825198c3dec47396ff6d17e4587bda81fc45a12652ef040943b526e3a4993b6a81ee46ff73961957944683a9d527ebc2906d99d72efcb06dcfe640b8d1dabe476d4d45aed6e8cd913217423333dfc7e32ebdf50937a95c58dfb5b73c3d0b7da80d2413d04e88677df4f5e467cc0a43322ef3905fb367843be023045b833694df024515df6c39072a83caa41b0123b1aa3127f9865641997b808b400bab4c96a5fc1b98d11474ad503b35dbd1e81beedd56cefcd3e90cf382b0ce85c8d58c8bbeb532556a296c2b4b73ef4c150ce1fedbd4355dacab61896d5ba0d15dcf557af7250b585a21e17bcc5ef2a2557c15e947bedb4c11d9411c822308fddea3fcb36b67e56b2f1713c45a2038cc7bdf8c5cf8d1d2230416559115df569e0004c8416a2762bab39275e066a5160afda40f0a07c68f8bab91dca9410c963151e1f3b56f29322317188c58ea8f0c5ba660a7edf20f2c2edc723e91877dd1cac52dd00ca881ec241bf0bdae472717e78d5c55a0e270c7ef3230535de9c755bb108ccb27adcd7e15c76e7b953c09a7f535cda9db709a2394e2afefca976c2f384aec7e4e1e05a9cf8ec68a3dcbdbcf6e080841c8309d2977921bc9ef5c871e5a96238feee640246f7a6defc5db4441e196fa6e64989ddc39c8befdd703b602d14603c3f89e49709b1bec62de81d8d12b406785a7c1c91e67024da5de6d996f9abe19fb6f54ad1ec5aabe43f7a36d7f32a567daefb969a7234a0e9787f79188094a6794a3d78682b51ee57291213efc7ea295e6143d45e63c9aa73a20dd0f9d2a70ae34df4fe8ef29dfa7ffa2dfb4e52cc60dfc5f5a8e7c70bc94ba7acda52a333296d0ccc0a65a634f9bfeb8f27e88f8777d65ba24a4c3f405f6f99a4d25aba9dc4c5b9f858f6bf3c0f04108846579efbf1e0fb86992f4c238bdf87a925ccae306c1688fd763201e15ea63019ce220a4af4791d722dd29cb8ab83747b13d53aa2d9d40505062f59bcc5a3f4ac1c7291c6ce50d8e3d934db94c8c2649f54f069f413acb341433ad27a26d4338a8cca0f2abbb25805cbaaf9ed2424ef6a7bbd735434648c03533dac363e476f54796f0ec76646acadd5a7c825f6872bc1f6e4f69e509b2c230e9c5735c0ce615a1fb7b8143aaedca0adcfa2a2bfa3ab71e9c43b470607b46f6331b06280a1462154c50e1b6e8af98150bf140cfa87ebe007222f3bd2c2b1011f014abec17dd7714af677f151bfbcf74210973a8bde7c918843fca9a68a7dd063a4c890c2c111069c88c28347118c2d7cead11aa444286192fdc4d268bf449a1c62bce42b4088e95573f48e55606e80e0c5f010b37f1c67281d0194aa0bb282b1aca1cf4bd1850ffa6c02f8a5229198a85ffe5a0ad1e97d8c62c65797e38e8b6dde411ad3cf8689b504103805961383367552c919764e552c4bf5b6ca10188c414f64e9387da0c592a7f5cdfad7bc9f6dd9c74a6dfbd1c625a3e7bc8926ec5b4206efe648deee3de0710647dd746ca3ea2d614a86bf71e7a9726914179bef3481f5b5e62cb0c3c366e34a0c4cac12137a6d0aa006cc690feec6ba545a725ba25436f9621a40d76d9a4a61460278e548f8bce445c5ee1970e15b0ab013d5cca13ba490c59ee42693c5b7593de6c4c9035765ddfcbeff0a0210bbbe79175a22f54e01d85b90ecfa587034fa2b02575ed81019523b0f71a213b68c7b8cfcf989ef179f4e86f37c733265773209b20e5f9f33fa4e0c12dc198e9d5030d780daefde0200795b07d35f162e2c882bf63bfaa04717fb985c3662e1c8596fc1d9216cabbea216155b9ae753506fc6ae6615120919a43bd72f8f7e06ab65009cd1af726e6e829d8c5a2313a73db7f4ad606b8a3e6c92488d981365db7ce27d04b543a4dc12cea5481582b8819c643515e6c0cb1627da89302c55c7df28943a2ea8627d35fd0153132f10b7c314e77451faea5bbf60dbc7a54b0c18d0583dc84a91a1424e99ee79323844a3df51fd9d92d193431d8381fa01951ac24dedc14290689400796f12e2b97d44515052d3138b05b2f00de3765f04baa02015630b2cdd131064702335865f98011c25a8caf18af37e56e1d0303c57c834a7b5f696a1ae46ff252451896ad7927b5595d52559fdb6b4e89b7972d7914ec419ce1d12ca3abfd38f822c64ad61cfbfd30846a18081e3cde600d61f439f322601bd2a64476460c6208182be2950dfbade29c36111ce70a48fc2b2ac62e1fbf5a8e1952a47d7f1aaf2c83a8528c0edeeca9f1431139b1863b915815a54b3c2762b7629bd059b7d8fb7a957c032f3f9044257b2d3b016000429604de460867e73d3513bab6de5c5324d6776c57695e41ee09d60916673477a535f3a8ffaab11eddc5909f816bb6d6237252f5b11d33fdb008022ee09a711c3bf1b38ad0824f77a9369fcaca31d282203d70396866325edbf47aa74b9f3beb7132b272cd4122a88cd4fc43e58201a6cba3d7d40493fe169c9babc3b0c18af97986f00f557200a857e533aa851fac7fa2ff3cb70a1eb270e83ae81a6b97d8cf8c598f0fa07692e27cbd4e868349c50da3df6228e930813f687ba1759fc16f410e313d7a0b7d29c3e6bf6f88b87b7cc01c5b63d6fcb8fbc66eaf0af57f3660012f5ea8b7bc221b4fdc823901256ba8a20a5c6811bff0e1796c3b85f2f4ffbdbc62bbffa2875d190cb0df83da19fbb3828e7aad5497dd13316a24db75f533534d310dace2110453de47625efe0fccce18430c124e6a33c63b6e838341af99402fe30db04697ca204557dd3e36826a6bf401493329bbea0dd86f99622973665300bd9a2186ba6d2fa9d09c620a1afba2f07e11762a3349e7e85574c970dc16102609dbca343453657d83077c36a28a8d2f8657aa0c4195dc91bf522e30cbf39a74070d401d349fa432841f4197a132a3feb0d00e0ed553198af0c5db45d0c9c3e1d704dbf6d605583e14a6673774efa314354566d0cec07b9d3ecac1cbd378cb98966aa4a869d3111b594001f406120a97bb7ca95b9733615d9ff45dc87c51d73bea6658669c3267376dcb0e782a85e6ae46f1e9be3576fc1cc657ea26c224c5eef20d67cd2fb5f2727075e1970b907e886f800923e3a734dc17832c2dca09068b91f4db6006e6e60e723dc015a89d66f69acdf1f63e355ca446354946ac89770eacc670007c82b74422660e37c2c3d1d1491a6d672a8f4ebbf7e53ba98255e5ad43f24833bbe18dc64447c087207482e2c510862bd2b311d832f59d2b0abda83d09376d37089bc68587870be3dac5e1fe1ba381ac81029a899faa4e2763e2dd780f5731fc99b1495ad3008b96df392a4de2fb3e6533dc6842d5b0742e312a5372a8e96b33cc7b0f5759cb8f4f5efc041c80abcc6716e6ff44f2bfd657d0104970e6cda102a6c529004b6b770a80236f0d2e6aafb8b908dc602c10c10530f5cfdfde9a9bbdecddacec96ff901f001f1742d0dddbe4bba3026944d72e8f9c415862cb0a269af9c8f965a29b8f21c6316415c0fd811bff746026288a084092d4e4e395fa471bebdd147a9c82adec5f7808932e5a0a58bd037e626315d916c9f8866a0a705bc310f42c38122b30504857fe3c63edc2eed0f7e80fd45be532b3cabce554ad723f310354597cdca7dfc6d0c505448d616f14e0a9c7387b08218e29a085b85727b907d40794549a852100e0b8d76a52e2ce08c94c7ea32f72b9687cb57ebd8975c9f90609ccb93a6e4e1cc23cdd8b36331c685f934f052bb272e921533f55bcb3258a6c1ac29bfbe0145b4275f150da55a4913a6013028832b70dccd350934dbc51488dc14c967ebab69891f694575206942f705e01e77e8aad98819cd782796b108c48922e39bcfbb6c4c47a49f864e836677809e0a6862b126c04593c136fccde5d5937e3e3d49cb36d5047d75357293289b0c74683cb4a67cd041084998030a63aa6beff830db7c9d75f4e3c0ab59177ec81b87120f9f903d448f65a29e4f182c81f838e418e17f86ca8ed99711afdfd75e25b5d9b9d748a8190881553b9d819482ae0115deb865c2f76dbdb260692b663adea3dea997f07f5213c2025838828db4a5ed7bbfbf42bc64600f54d353a5697b76dc2a4e66e33ee695a2888817f4916a51facd1f5ed3b03df3bce78bacc52490914479dcfdc7cb38a02742e9f7c5fe6d12bed7c89d949f53a149b35ba8daa1a75813357b1479138604ac5973237fd0b2d4aac8ca509f8e47f0b6b4947a247edaa70e1c1fa23225fd2629d5fb9ccb6f78e10a37d8ba87424d8ec6925b402597297af546c0e149e1b98e46aec9940966153671010616e2392b52b4212211b6600f0d2918c18e2a7c1dd77be47bbad2eb32a24dee839749fb0fe359602e9cb7d0ec634663c2556a74077c2b89023f42efaecca9e1ca0bd2ed5ac64184c03453fb27ead5ccdf17e1f1855179b0caf35a7493fce4721c4e160fcc44cc8570bb456f16e090e516c93e82d83eeacf4ce2cf97df1e79bde0861491c1d685e2cb4f1d516f46b788d01958efada1f65f76fb9d445e01905abc8edc3679d2877d0dbc980fda8f798885f9a9b2c5eddb75e2d1ca0c57a35c9dcb509f7c6c2c212214abc3282912da0d2c6caa0b6388fc6584954f5edd3054bf93ac240831f7aff4a8a7b16a35ea5cc1b816565d2e04b11a1249b176d9c8680486229e9758636af914780e2ab54f63a2ca5c9ce24eecaf72a4f8cda536d4f6bafaa6d27827213e8516616595643677fbbc68d853a6c5ec520e05a7efc68141e54a0c07b82947a9f20fbff7db66247662570625a2312065a82e7651da84c9c4f0ee98f97efa1dd55e39e4cf5015aff31d0808a730804762a3d2e661f5cbc43d0c1c56af7963014214250acdf703e4b40889c81f4a227a275835f24c538becbaaf7e370a0b04711046bcb810e0c793411a1d21571b94d3e2fafb21bd2648447089c2d066ceaf600cae0df18713d0269426a600fdbfd330dc5ce77e173d9993688eb3cadfeab775f5934ffc666c8ea3a8865f1dfb5e4897efed55c4bd96d8e1434bf1140554dd8aa919baf10b182511859974297123d84937843c96340fb58e6c4d2b1ce6b5779cf78682dd9a91da6ac09ff712d684f36543c5142e6777ae288bad32e39cdbe9af4b28e53f5ad9ee9d2cec5eb21a6c189159056da5e7a20cfddc5d059f6b91dbea46e3c594c028783c751524221e128a383211f33503d7abcbf136cc27ba3d91dac98f0ac5c1389b406db9e54b9e4cbcc830fa429996ef9f2ff89428cf58589eaf3bc3f89df093646fa99e6fd5aab0bceb9f428a2afd907055c9eed3a5171aeb79c2df5b6d1f33a95b30c1a764777070af137ee75e656fdc7bda39c6bbcadc7c43058266602e5d6c55653f483305140c82b3437ae211a573f7c4653ab5ec26b79dfbcf94dc97ca193b76c7dc0e31a5135c5dbb0defe5b7cf44b0b22b7f3c8b8d83e95d2557205fbe1f3069bee38e6212f77d7a5bd3c81c46a05b26938a523118812ad89a834ddc4ee5977d4bd81aef2a04dc6adf6a875017b9aa35468bae89ff020d875ceb7f08b7b9484d0f24af46e6fd907fcab7938ddc27c8470e4347972264695b0515ac9a261bd1c9366115bb906e7b20d4bf0a5da40083e96fe05eca120c6edbc48e20d920587069c8174305f94a1a718990b19f4b5ac471a7a238726652d1234d74458ed4ecb5bfe9ce48ac5b1a2c86398fa0f644506514f2ba21e1f0d322f079cb2c2006304fc9d3908bb7a3d27aba78961dc48c88b9f3cc9641bcf6c7a156e4c1b3b4b94c0c4c998244faa5525836156fb9486366793b0bfb753359d79f48435152a3e2223959be937c5936b28c8de27d9627ffa9b8c1f007783e3f79e5938f9297efe97fff322fd8ec4f76434fe65e3481289c5c344e7a2751aca8821de2b92a442177f0cb9cb02305ea207b4bc710f5a8f9a92283aa04bb9b1aa56cc974009169f9689d753c4ff7fd263be70c2e5f65557a89f58fd3f1a8f478a67ba60e18459accbec4b957da4ed82e277a8498cc0443803a9fbc5f52a352d542b4edfea1654ef689ef2e5da803a4cdd4bdbddc0784bca9491521ab199e849a034f93af59a0164016d7815c9c2f1a89c6afcd10c7d0a70212797a1281d4abe84d8033ade247dee4a1863b4cdc7ad8b5d1897b54620a8e198eb70ae2835169a80bd2aa3ddee09a9a91578cae710a2d837cb24a5bcf375ca4fd2f620f6823d55c8524d4238823cb6d952c7cd9445e89719ba4d4a29fa15ab2bf91bffd0eb393a1f8fbeba9aea9051e2dba2653fb755c5a7d5d7c98e4f8104ae1fc6c05af70a97c0a4101d887c72fbde8dfc4a27349623663a74800e472c2536753777114ba1bdbbeaf52855d43b0dbce744bd50a02c3d2223f084da6511bce84fdcf1b252c4a40728813224a65d212053d0a8dda3705c40de73f4ffb7602446984e60af9327cba475e3b7f7457145a963ff16c84868e8f545c92ecce65913d47000e1d95c2072c65300315d5606392a99dc6a3f0195b761d75430a5e57581e6fb4e233babb544a4ea47061ee8c6705a30c2716b186a6c9287a16c3f2b39946513f0c446fabcd645a3f427efe2d52224484efe8f249df632d61cca2b473789096b268fc683a21830f01eadcdb0c523ec2785ffbebf811ac2b3f0b70bd3602765477659d82a124d36fe805b19d3bbdf3ed1a30850fde0e24489d03a7ff13eda7d26849eeeda76303dd980fd0574feb0c9c4d832c5e1ddf149690ea1163d73fe97081af5f847fc625df59e84277db922c707c1be02c00a15eed0cc1414d163a4f2364cdc8fb4f915472d2117b7a48209c057fced38938211cb45a24b5af78e39f825bcbf75dcf99d898921e484a8e4adc625794b101614aff1ceb6d5b2c748fa28012cb6bdfac933fa2c2d8ca7b9b0bcff6279be7edd38f507a595e5387e0c9a6b90489f28f66e3928697eeb2114f2adbeaeffbf61c9a9bf9626cb93013a3d1eb11201fb4d0801233a273eb8cdda28f1d77e9bb7a733b28bb6b31bd990bcfef1c4aff0c33009af60bb23d70ccf684a7c2c9f78029d6eb9da27999744555b36c53af83e74032dcb34b8bfa205c6d45ccc2762c323ccb7b4c31f2da69eb4f20959e666dd54a1896250d109e8ed775d1a5682ed309fa2ee3caffc218275be448cfa504ff53b3300abeaadbcf2be8e4c00c8a0daa34a243ea4715be583eef7d66f789cba75fff52bf8993e08f23072f263c440e8b80377826324ed865bd7be827526b3a43e20e68d5e23870941b86d493819dd6db69c3c152c38d152e0bf57acd156083b591666bf2555e8c721fbd343b6781deb57309e1c6167539df3418d22c206e7a19f61fa38e6bac94a2a20bb73b2c3051ca4bfbca4eeb7e932bd228b9457e7f245595c51a3f3658139613edf17fedb311756321e03170c8e347197a6f300557e64418d828b29621e3fefabbe1508de6616a46342ec32f6ded1e7631cfece4817527a80bb86bd48f594da03a91308e73ce049be32c47288ff33191ff138a671f64d403ced4df6b69b12ab631d3d225351274e0f2a4803148ba0d00a4daf67e0e24a3475efd0008f4d4c30779507f71a284f770d0f07ae1c3e98bb6e1c80cecf9e4c9e72a3b3636c16a7218dacc0f9776f0bb78eaf9c7376967b06b60bf9bc20036105082747c9e7aebf08608bd175c1f709dda060439621e6a0dd79adad8c54c96817906ed2b3f8e2fa83a12b61a215bc08871c5698da431ad476772109dd6ce84ccada597f74ba7fed5d622d7983aa42ba6f7877fa865dda5befe40a352b379e4e9d671537a1dc42f362fe56faf253132748f0abaad8dd477287dd6d6b0c5f69d49b00afb0948e086326e88f800d234ac05986de8f233c22727c96b284719f719baf51af336bd6cc19627a45baf73894fba0a2c2346ab51171209ebf6e0967cbb9d182fdd06d8b36c83783d526cea6f743511c6ada3c01523cf97e22b5e738f40cabe397d2ea080ef80aa63c324c5dc4aeb1e7a98490ed4ddd17014b153ac10db60b4f413dd0fbda2c2660dd0a3a4f093a3594803154a937501fa9dccff7df91769b3b9095de043122a7c4ea74e892bd4a5dee4e78b5da4edce9c2ac135203056e9cb7da06633f7b65677d3a3e7a96b88b93f90433d26f2526d6ed2b8eba60a1a58bfaffec19228b8b241d086889db0a4068a01a135b61075aeb612e710f15e3a763a53d68c48497d84c9b9c9e70bb6f8622ad1053c55cdf92713282095e1ab04084cfbb127baa03cd0dd399ae84171a78938d9d231dc6c2856dc60c60b87b833d4e2bfa47c234ab1f62ba139bea8885db1551cbdbf53181826e788906e6797e928f316a80ad8fa9e2ce231350401a7d019fd91935c8d4ba27152246bf565985778b5ac3b2db4be4bb28fd25e096195db1700a7efc807c69cbc801e030114558ef34cf498a13d0440c14d2501ad562400c3e670bcd0c9dc5b743b7e51b6413250e4b1625241150e596a0b33417f8862780d6e4248f99d12a605363d8a7df16c95da397e36a6fc20a5c5b824bbd7dbfef1cda8c06b122e16a58633959195fd883689ff64b5ec8ba576059ad6f38ee0e1a3714977bd0e6a15d587569d4d5a5be5e56eee75f1a9d11d69937c84ad1f9d456d0bf0648055c175b37348cff11153182619fe2c53fd864c36ecad2fe7d6c04220423420fc504a2c085b33cd30452f0834bf724ce0ca59780f22afe068e40b15e26aed2b10dc1a58045f4c456001be834ff4296ae44e360101a5d9463971e4235f56d535c150c9d76f6b8a9b4d707ce8ed8f9a44e426b1fafb50361277eeabbacaccd27fff120d88eac8c964c1afd9e8faad122e4e658de353f40f4c80a6a03db0b9c6fb579f6e3cdacb6a2b3b01a9afe924b5de80ea68b73a617498da01c98b367b47f162e3b2d9d29dbca0eaa176f1e5e984f883633062f69aa921556c68052dd27c381eed0ca72b8ca6ec7b22dafb3f2b9b04d6f3956a0eea5ec6a99e1d80ba688ee1468618179a84caf17ef87bf8a0760fe7ac298b5a9df6539f08b55bdbed84428c52615ae116cdcde85006b5d1dae80be9d6081a7c3e2e77c1812f48804be7a9fae3a00017c629f225bf9d0fedd60cba1a7bedbc53c4a7c1a08018f1cf65867b877b832e2e3a1fcf166969357796104fe7cc334e870eb883cf7cdf139a7fec1ca5d386de4185f5b703f72faf3cce26aa90e0c251c518fc75d475a3129c904c7b2decc4c987151eb5999f35489274d16fd6f98ec218a3d95ad05ed4856d22bd779b80fd60100957ffcb66edd084a8cf2784cca38690bd391bab28871063d734832fafa5272c89f8499d63e2edfaabfa66d4d99bde8922d67a183ee1c17bd65d52e403eedfd7b57d620e41f21752ac4636dc54cade8b4ce731eade4650f9b071d98d71806b3885f9d1686e73ba8414cdee72082155e030a3d1e1383d6f80d7fc5efd59b8aa98ec213e68675db616b14df1ebc4f9f1418e7de852dca4ba3481973606e282e8a9e629ffb8ee7abc7e5816450b57f4dd4fb147f6b590480b0c67d3c0b838e484eaf664780df5d2228ac342143929d27f00cab037565f7778edee18e06cd4837325e430507754f252d8758a6b6177691ebc37b769cb2d90b61d608efa4d95767605aa2e42eee58a111f0cfe1cd289a29b43dff86cbd857333a571fefd3d497f6da69bbcc0e30a6d4956b113aa22dbbb9ae33215287a101fd9a82d5cd1362a2c1b434f301607fa11c4c8c53563b8a41a56572d559445e9f3c778eff92dfad20993d25c914586beef9aebc3a0faa14fc2f871eda1fef64a0dbdc7137739b34434cc67301285647bac1ad5a33654c875cbb920ea792e75219b3790209eda1430128f7f4bee1a724275b557f6e500547ed0b9d0734060c938c1087483635ccf4d5d54a000359e7f1fc4ce91c8b14fe71da5a6418d4972364c3be2b6f402c117225a10e379bc0e1000d4c690d4ebad70fd9420d0aab6964eff6cf19ba3868b8e28e00a65b0da52dc650a109a666d0eab47f6f97af2b8e899bd18976f0fae22bfbea2f93a0e869f25b44da6dd33fd3bb7bb5d7750a9c0ca5f26590fbfe26c7c982e19c6d6ddf02bbc9c17231fb7de4e54c75286b23232b715ba9d7e899cd14e7b97e1d332dac5767416c2c113a70c3394425eacf5e870cdfc88d1a55c2793c843b6e0dfd7bcfb809b7d494000098e4ea1f0b27555fe5db574f0de4d3e7ec7554b76f14f34a5d6c55096be57808c468cde66735ce12fb11b7f38a8042de5323eda2a219602e8c0dc0e46e4984715ca7c801b8968b72936899869e549a5f8b365fd1e978a660f0dc9924aec4e16a0e4a26f11501cd83db67f8ac583484d17048bf60e9d1367d4f6362caac196e7350aa0da5079e0d484a2d92bde0b97210cc110a5175a8a4337a2858b38f7cb77ad98a795825b9b0ff52bc4c0193a578b5ada7a283036a627f69598d910d54bb842afb9d25c266d988f2aac353a8c3b1b4f2ac930151d808dd7b19eb369e9cb21e99004dfc6dae73f4540f18a4e56916c94249a950d0fad3fbb0a482e4333a38fa40d4a38a7c878c1c34f838226819619974cd1631342ff2e9b7ba531ce5c522d06e87539df6b043a78fef943ee79ea3841e63cc365ac4d25cf12a532203fa3de5c9263d5ca6b8e05ec8a82cdcafd36aed441ba5eb4e93f6f54d7bd0690561ef511f0170e3734e9ff1109bb05f209cd3a2e6580c5f769255b67274c36c3b9a9be04d76e98d5ecccf1ac793eeb8f6c845ef411f55563265713ab2c8c5e523f46fa9941aba8761b94ea5c873ec9573f43f6c0843b600982d7df7a8d6285c0ca923bdbf3e63b963cf9362a34cc5915aa40d4621d32f66be3c53120d828a8e5a1e29536cf69e67712cb24d26d34ed86589dcbb45033d67f24f431f9402d1d42c0b5da1238e7125a6cd689ca69a7ab60f6bdde16ae0dab8ca9c156c9537053527edda27c22076369605e7fd7065e1be8e322952da8a9dad9bc035f4ba346e012f5b329d456d16a439d662ed0607dfef7eb1432cfde0f15a1c6c7023234f2d2f493e257d3b0f0ff58f9c773a11a2ddb626b9ee913efa270ec9c9291c0c7c0fd7487514b0672cc358de2389d6e72892dbdcf27f5538185e18deac2c3404b9f179cb27748d7f2c08deb1da807eb1d4118e71f9ccbada26319ba16517ebd77b7100199142a5adfcabc100bcdb4450708bade23f5ed0f07b84ff31b6e41ebde249391a2955d2dbef1ba6728718f46081b797e8a5eaa443635eb3b6c557e9a4edc1db55d7e084b2a7205305ed11844d988904ff76b89e3adf41103abf88f69d29300a39174c0622b14224ca5f2d5e64a49a2efff6cb9b9d146c9ca0db78c193ee2a0f7911c06e683c9e8990e951f62ca9b94aeace1b4cad9f4d69f262666041e07e6c256b570b2c0d4aca776a35783709d1cd47e840acb31d92a02f2e007a7a5aea0fb88fd09d111785ab927399f6a56d07f2eefd4b74eaf766547f61c1ee3764c74b658fbe79008b5d200874ffb028c04724397e9d909be3a13fb9cda2acc9b3203780840b471a65dba068c8f589f11e9951af303fa3c4266f03666dc81c517799f92584d7fde06f40e9b28f9a862319a790374bdb2beba78e8ecf28d50ddbfba9accd73d8afa6ef1425b5c4e1a506f482cbe2a4f8395b453931f78aad94f32272040172a44f72148f1e7064f17797b3b6df79fc5931d477bd4f51fdc1d31b2bbfe7020b0eeb36736a0f998fb2e3d6aa9466ed0599e3491b147d75ca85024f9771a81ad1f654dbc88b9da666c182cb912dc2afed00762a95072fcfade35de0125490886d05b134a303b669596393f08676982515b6dd12d9764b0737127d11b875e3372ea050b9e00f2edc07ea4cf50fa55c1ff006fe4dcfaf5bd2ea8cbdce7dfbec0e45faa5303325857f6ed77df66172d91142c221a884b83c6fe656e6d14e6e3d6cf7b36e389421e698461b39eb50713ead27eee048502522732b3349e31c14b1c2b04a2151acf41d24957321d3c89c22060390935ebc7721cc7519c675b6d13bcc9f4355a8b91e713e9508809e42670fb7406de6ad17f784e526fa75f7f580490bce963af904c8f4deeaa51d51122331fce9203d1b83a6993813d8f1ed6c222e843c2b3ed50019d3081505023a5cde8910dd7ff13930051391a9aee32ba39789dfbc0c4bc450bec091d1a8a41d1ac1642e7b3f2dc50c41c0fd5c92984092b24d977bc3165f969af620166e53df4f9eaa134c477d0f6f2454296f94946ade756d2e7cb45b27a5541c936bd863ab5df315f30cd57fd873847cb10ce8bec5736cfc95507aa5e4d36937bdd37e2f2ac796a3332f1fc6ca761b10418067f16046c5386f39a441f3483e800ee58fa590cad77387d2ba9c22652bcf51fe50ab3b710e9469ede0fa1baa07f3cc8689b7d3eaff0b172ff7ba71652ac0587e3bec4becee9f61e79129a7f0fea736187d514c558da879ecbca21b59fbcc43b1721f93f013e790fbc36c33530003bd0de4025b0f1769ca078fc179c968aee843f0fce118765687dad7d032f6617f36e8653dc17b9ce3e59e6bf37332c88301a94b76b4bed208c8c777f27a5caf96e6b5636da47f2608bb2ce9c8e5a87ebdc543ad115d5aba800ce5544dfe21f2a0ac263a531d98d1eb96b4a9ebe6a7b00c00651c90e37e002a9b5e8102c306e7a45db3b1e8056256f625549700dfacdb559b6d5379095b98e87482aa3abdae99e32b90a8e264d183a732e32244a4506bfafba491ffb93dd0d45559007f2fc81a845d2a679a4fef25e9e5c02bd8b5a2f2e171d596a742a902d131eaeaef636b964163fac315a04dc4d40eccbe1df28cc5a8f42e7f7404b68b3282393cf0c50595208e08f800c895fa70f931bd0a4ab9c640ed5f125ad01d96ebcd58cff796b83115365e2cf6d771969c8086b9e754736580ba08673ca7f8a3d514930afba716e526ae8e4f3a50ee4ccc2f98f4751541c7c648660af3aece0a77ca589b2b4a79078df9fcb36e94e0bb8a4b58bf100bea9938675789d35b68d01adaf583cc168154ef0b358ba13a71766caebfc9fecf748e4747fdb0657d028e0835168ae460f8a1b61e37ad85059b4e971814401c27fd0ed6b0a20e3df66e6b45d813eef5ba1a4b98583b1202a93ad347c31d621346d32dcd8b6552d9d08bcce3278ae032583400645342fcdca8bb57cc062717491f6ac9bf47b5ec31130ea9338cbea6715a74fedd78b3d8095673a8c44ba1c3f9607bd36e9b7a09e43150500cebaab7a98830cb32bb712a162b2ba0ea31bca68a60d14cefb1a1ecf73c3f80b47ae0cabe40f96c3f4461b212f044d16ed7b12f302bffec48aa90ea987bdf4ada9523b0ce6c735148b7e3d429968c9b4f340f40e66f4b24ee64141ee2a7a2fa33fad03127d91e85a97bf5674d6e30c5cfde221992929275267785a53ce70e2f6595f1d6d34d2e9777e8b23b9877b83e8a86935778cdfb64393961298eac6554b8d5ed4ffb067e6d0bb069d529dfa200806397f3708437bfaa56ed1c2e7fea9958bf1151530565d7287ca1b0b108d2d65abc46142f5261c80afc6bbf046f46648f3351d5f1bb4a695ee1ef7e43c538899029edd3bbff9095b819bc6b03b3c8a2300160b78a84f04513ec6cba5c9202485856534c6da8dd1a92e60c59158344b31be88fde509f5eff8617f52646dcc9276165a05b8acc3e9253d04ba60f5134a60701c360a206f9ab5225fc129df3ba601551fe3faa55b17d477f506b5a7942ca3c63d11e91c773b7242682a2a4944bc727ba7b810b5ed32919ee147d2824a6782ac1881926ef198a7b6260990c44fbf24eb1a93e33ccd2ffcc814656da6f23185334c395f3e15a9ac0cce4d8cc8f85b230877a1a722f580897a1eff90f89246ec2146eca70c336ab6053902c80a434643157c5778dbc79af65394d983b2871e2babcfef1a2aff15360f276fb829fa04454fd6cd96eeba4dd33ffda972c8e99e54a1fa20fa3f9fb7f6f969f5d7ae64f414298b2e14a52ff0fd0dd427bbd65ee3560d18f817dc66ca0666c276bc433513b09a08ccb0058316dee251e9ea48d29eb7feca339c27a75199f2ff70aa85360218116e03b6007f433c49cfab4a66d3ce08d90e8422ad1fc0c1ce148dc9d2a69f87d77c658ed69ed35f5bfb4f434601b374bb3e0b0adca9a67146429546bc1294832f70ec8e859c27b430256708ca3f8afbaf81945c8d5927c6c4336a2ae4ddf494008bd38ba8ccc831f8af0fe1acd6660bce9480dc132f717702fa396af4cfcd9564c1f0eca8908718e941845392c7dbf1f1fbd2d395ef825a41ce121cb5b918b32c56a5a6855982022de8dc23cc44123c1537613b2b1d3563c920c1655f8a12512537191d7e618139853a4f03babbec0a7441bc0bde9bb39d9783bb5ebd3c8a58d3875a8984b35d838ab59dd40ae0bbfdba87487a3f6ea661703ca29ff448583af43327a5446911f4b7169975d9539590b0b448e1cb0db31b1ba07aed138893d8ee5bc2238374107c06ec0339eab79f7d5a9a8ac8279e190a27a4c438b185215b193a458fab21093b7c3cee0682b3713852a0ecfb7ca6b4e4f9dc2e7f543c17bc4f9d172ad4a066b0fc71129a5974b48212d1a9e1a56fd54dc5ee4f37473b1ad202c0b692ba73a8bfed6bca9ef3bf463d2b5ba47ed06fff9411ab792bc7bb38c5085aea5b87f20f9e1413dfc458f7d293bd7e3ba4d5f6b81e5f3a0dc026a36d4d15728d9ab769c965fb8ef302268032e375b420c7a2a78e00a1e71043458658dcd9fb065bb3c4bee11599c38fcf86aac4efe985b633e852489a57a971dad9c4573820085b32dfd698ef65b018c364ced4bb67863ff1b86891cffcbd6bcce626fffeca5e9bfac9a8a671782e96c83cffbae16a169f9a4d4180d8ff57bd03862164419cad148a50d1ea6f0c97bf4500e19c5618c6870ab46dc504f3dc1d45d815f605ba690081c6957db856767124a2d0d206a90a5a1e19f0b2d6794f9d6d8224fc93e2d21c3604a64f03b5d45badee5ce14950912d6c759eb21008df8ffbb17af8497fbeb1ded99867279737f522cd95fe6e23a6e4962a28baf73fe71ed205b3e2120f3b0fbf664e98b02218a9a070ffbebbb26074adbdcfada34ed8734b3216038c7494096d1526bcc7a36c3c951155227d376e3090626a33f342b06895b02b5666696cf665ce7af899340af45b1e12459a9d7326e73a8789c9716ff1d4ff2797b8ebd2c4e0fe1a84f7e76107099f313c75ffa6c561afd4f797f02ac22091be42e669bcf3805775f3451ed6a6056328947e8a4c72ff5cf017e934a632be0e397ea4cdd94f5a63d35a19972303b434f30d230518e12f2371e406fc237d1713960cdd517341a5ef3fc7159399b44872c2b29febc06591768bc3884931e200aaad051e337afc99a86553a97c8b975d180ce54dd9cbb190aaab1056f655714b73924364bcbe4c0488d9b9ef0e3f1b98e81a7538a9cc54a3e7b8d80f996a57d4221764bbd1349fcdb7de09e2cc0651050d06adda8f520b1525f9faaef106006ad0d4f8c6a13cb74b14bf6cc261b04fd35971f10c944c621e607071f7bf6b1a0c7b7554ffb76f1d84f6f4d7a251ec1bfc0f88f328ea5dae285981214b01c53ef6d4ca1f60b5c4885b1f32a86b3286d963fbe62bbfeb0268963c01b27a4809ccd1303fadde32d596cefa19f08774d02dff12b355d4415f0d8a8e5e7050a27dc79249277d6c17c822854ee05142e224684837e2554c46fc5ea8937803afed63a7897330f30e86dcca5e8795f8add1b219d1e32327f106bf066c740f771ef1d73c1db3101273fa7daff98bfa7dbfa42244e96d25d6ffdb1c434b078f4ca216ded0cbfa644b2c4a19cfc0cd86653aba235e7c189cff97dbf5aa7a6faf643886da5e3eccdeebb0f8feeb37806363efe524d917439b8cbdd6cacba13c5fb2383d84927a1c89418c4901c1b25e1ac1d7b92be33d21992185bdd99652a53a0f1c3c05e43afef4580635ea6aecb2d2af3e6a82347a0b7929cab82be8bedbef8ea42b39a2c04868d85719ac3f71eab6d49d2754cff770ff56c06ad755a5b703e9a476ff8d5b59085569c519b5dd165dbe0bf5c5c997ab6f55285ea4ab80f564e20bfd255256266a39675eb0557f7d41ac0f5278682132ef2ba48ad7cc00b03726c51659ec0caada6b132a5a9a8771d5e10c19a8b5bc9e6522a8c118aa6fbf793ae14dbbfb193dd4265740a101c9c5e72e7f8d583e8edfd749b9f10dc6c4a70d9db3ea29f6765692a0edd70cc991ddd7cf438c8cba933fe58cc94f9aa1676a526b756b2e8fa99a1ca0689b919e60323bec883e133f485ea790837f907b42d7a0e913d19696bc164d057c9bf1497dc4e94117edb0dc832faf04d8a35de72281373dad7238445271420ade215acce846702aad3d893f6d838a269030932609809eaffd5629d9a33897f8496b4f91ef2a33d0551a75f29c637b25bf826e60769c063000a4442b24be31411731b0424fa4f00e6475ea3c5afc79543fb8585e0587aeb400ecd160e5567c63b3f352e5dd420994988af3ecbae93b243861249d3073f6db050eff1a5d7394d69f2a2fdd893d8c8c296249478fe4e8886b62a9b37d723841450b7d005d4e096ed52934e6f35a32aa0cdb2a4e1b52661c5589c9fbd8e93cf04c138cfb46b4ccdbca469ea81377c9e283f9b40741caee4f32590c1c59c3bf52220546cc048c20d1fa2d82e891d6cbfabb5d22cf0d796bd8b9216f9e49e966bfc23821f913b521f23db8bf8e23534b2bf50cd0d1a970e6b8b35bb3b2436c9f8b6c11a90dc9bd322a171253477a73fb1e6d95676554063ccc4c2789245ce30a9b69ef59b14064df9d0e2225cad3f0af9b843b1dd8d14627583886d45ca2c6ef1df97112b27299d4f191a71f2ca836210fde94aac12420261fcfb61985d1836912d61974069760cd25b73b0103ddfff32f053cb71c5d4840ce60eb319e5a25901220e4382c1b41b462fe59819248049080cd160736efa5c50919bffc3516f277a298dd6e17a347c99a9c343e3af5c09432b75385691c2dc89b170098d9615ac8c1720ae87db543e085c71ac28748d4b27de231ca9c3f83a543610efc3a5079b0ff090e8228e18796cc77a5cb6aaed0c75871d2f09016c00c04ec55f3747377eaa0c459fcc2605bd98bc90574ec66220bfca74631cde0539c11b8b063812b8ee4b77133dc3aa8438019f0a1eeead1cb9961fcf5ea1dbd5bb9d81da6f86fe752504c5765b7fa61cc85ca05a299715f79333fd798d80727f19e02d591d557d597896de2ef008a98cff43f33ee85eb0a7c19d1357ff8e3b28cb98324eb71b49b6611f09438ac2590d22bb150d70c730dd5c6005e5a421e5c843edd2e264c69d4624b02cbdb405abc795a85d5c308c6793c15119f64b65bb1260db127fd4fa6fd76ed5f392d78f86074fea4a1ee1f6a44e65f192c82d6eaaea42ef281594c1574d2947d4985aa5bd5b9ac27e721deaa41498b203e0e26b4485d83246cfb073e0cca95bf7130d6662c49b565109b27c000d9e2e0b9934822f343ed6740b89202feb33535d5052feb26952f9522743c20a7fe4515363136664c037f64414f1154965007a0f33705372f9034c6b46fd122af780827703f827e761819649dfdd3b963952c0dc8ad9d7966287a44f98183b6f262cfb0ba48e0c71909dfe776d0a83372abe04efb927110af7a552f172b73ab8523bba2053beaa9363ae572e7ebbf475ed730dec056a598762e5483c956ccce30076c56a18ccb831e3d8be346a1b4f05b64923aa4ee8528c7634305b1c3c5ad1923e39a94c65ab8d4774da584b2b007359cdcc7ec1efc57500b41137b7cc626df96bd04e1b365b44b8941bb3d605227e80c8b858ab67f41c38718f45a3ba0c6841038996c5e7897baaf75cd4b19ed7d848e56ec97f4d505a10b714a9100f74414247ee108882aaa7efcced21d8cb23fd6ab2df3f32bd92df7dafe199967de8748f0800b523aa666832d0439015359a3d28534ff2058048adc60aed116114f6ef36d02b0293be22c980bd0bc72108c30d7a9f4ce84d8da330a222c9d97eafe3a30bd47376208218a9f68eb7d117327cced3d25d1ecc98ad4e2346e082b9f18f8b0f48d35b53b06de1757d3bfc50905b712a5fea35eeae5faa0563d1a4a68e83ac802765ebe187f0acd580845d47aea2cc7f4939742a01e74863ca63c9a564aa7041ff340122d8fa80175c45a2ca0d84fb493924d4b8e46223df7cdd47427539394421f796b10c7a9bdc05eca99401db209a4938c2b92b2cb16ea2f8d6912dc8feb38652f946945cbb5570b5cb17ed79ef210e6e3ba74711e59f01e3369ff4ca9c7e5e2315615b2be93e3638f003417956e73e400360af2690b4be0f66f38b3dbd8d207a6bb5fbb5ff08f57d0623de3d4921813a21a40143e965a2922d75fec8b75052118d4780beaa9d3c3119fd870cd121f7d45bb61d6c0404889813cc499090c7725238ef65b6aaab3c51b51b71c50abaa24f4440484767c9c312c6d755a3653414c3e85905da4de404625feed9cdfc06d6544668c69af5b883be92f22b5575071ac4469b5b0966ab7f049735bb59013e1d3443aa3633fc53427815a8cd98f8db6f791b8648204fd755f8d947d27771927ebdc027cabb810573c86dc7e03db52b45d3ce05f00473bc8cb8ebfae3b05598eabf4bab82c86ebe734de43f1dde30884eaa152d2f8ea3001c0163b5b153d3fd92d8839e81a1ed5f5072b9dc4b1dc25c6dbf8feac16b4056d027474cbf1fafadbc5e9faa259304bf67ae932abf94769f4604de22e4f918924664304498837fc3d6dd6a39e882a2ce7431125ebd325e391697c483e35e094faa9123111512e9740745d801c99f130df4eccf0fd2983177d1d27352032d06161e53b004843d80c688095c3f74352e779b35bc1b7ae8730a148a122ecb770d39b3a2a722aa456bd4684d395e9129c6fa3a25caec75ef58a10393a12f8ef3ed93c6228f8750364dfa86a69af3c02f7cacee600bbcb484f220a670b2d7599c59b8a775541547987a7e654af6a60636c9a025f3bf0c71679f882f7e7f6212162b6526c6cc4d26093cc11ac261e0edaa0c1041cc78642e654b317aef848520b3946bfc6d5a315e97a52920503069cfcab67c08a522e984ced105180477834d20ff734234820683fa59b35c9a02128227ed156b0c725fc760bd5c5d63c1ddfa8ceb3a4ae4d255b281384a78b9efab52b7f3983e9fbdc0bf259627af2c488a720773b8ac5d754705305335fb094c37235b088c1f50465be4ba1cb4f99c267456597bffc7b24073227f9dcfee73a0900a8a8d8b8c583257538fe141a5ebf08002679936070337d27f6c462f5194d59dc78679735d057293ee24396545099964e191d588b23888b832e604f124bd628425fffe2234f641742b30733521eadd7e094f047a3d75a2cce82d1a6dceb76ee08b400a6315285f0d994e0ff1e8f8f7fe2887d88523aeacb0ae03bb328bf870f9c74d8985a19249408dfd51bfa36bce1f38adcb40b8a2ccd700933da944bcf66e3d241f071199b709ac53bfa2cbdaaf6983c8853fb8af16e4271ce7768b737c26bcd1db88910853eb12e0b0453345b18634c9fa5364d21cf2cc56c919e46bed3ba8c0a7273b279931f0512be5c4d81aace6e9bfe9b0d3a4971ac0fbf3c94946e93bf3def3106f0f5ef7e6ed86f82406edacaca1a20d445c6b00ffb4f7abbe539cbd7e7a04671d80d6486851c09e977f09b6b7edc923c1e958707ba5cc81e67d3f630ad6c762eccbe8ada68b86034b2eb1bc025796eba5ab4a635e8b3e7493e1672783551bae1595ff9f5d0639c00fc0f1c234409d51ed6098e49f2367bf6065fced2c6a0fcb067907c2a08ccc3979b94fec0b5f87b1debc207bb3aec8510c9fd6c24ae0778b62416fe3df797de86e11f450f04f9335ddf28cf69fb9fcc25920794634f9c401ae095e5c49f0ce7dc771e07cb5adffb63a2f1b8f59929d348d923111b4ad415166b7f20280f415554ec66ddc57e85ccfef056fc26d886f44dd356d969c9623cd7a3abd6dc867e6398df1fa33765b5cc62de00a72c38c575d29c96165016e3eeddf96078c8168b17ab720046ea6a66b3da8b35b1e1c9cdca0112ef7e64e01819bbb1fab275319b94433c36b9c9a04a39a77721ff00f0a665012a8355f186597a1e6929bd42e78e320f7dad388540c9028f6958ff2869353258659bd347a4f2d3e3f0e4c040e06cc93930bf01c1b8db2496511dbce322f1868a99aee07780acc0e7113113c229240870b00e876739d1cbfe2e8ac70d19abf1b1c99ce972200a28465ca9377c9e9c8eb271ab93c75ae66f9e9a92b33abfa55256603de8b1c1156921b7753e633d80ebb5d9a62687bf7268403e4351708d6379d6408915e41cc6eca153309210a90caa7e3c255575dc1f21c1356b2187bc2ce8e0e0d2f323667670a4b76349bcb94a09d222932629d53d1aafc92ed562babc2dce93d99af4da48309a6b15c3428dbf38d7836f8063d663e01d9da4ab7eee087aac14d82d0861f0db38cd64c6e1dac0d4c61fcabf9a912551535bd724d836ea4c76b61067928326c4304fa81c81fc49dfb51d87f1cb38b4ffaef4652a710b0e65d6b892fd402a43dc3928ba5c3e7cb9099f924d919d692c0470d3357d01baf208e712e80c9db989d5508ff244084c4f5633e7a51aaedb5f46847c4c74398bfb0c383a14a45c7bb232bff71d387825d955a108d4be09dbf9b0e80d6dfd5bf5912f89aa20fa310d1b83178fedcf40aa88f3377bc6ef991719a7ac001eaf10067a29dfd63ac1d4c2bb60d3c1503cf4d8ae913ccd1cbca32e99244529e6ac7a8c38c18ba9a3282ec99a509c305d429f8446db6df3f4382330828af3ab27cd1f6e2c26453f7592ea74724caeb1c02f79f6d0b248a6b90306fc46b0109e694121efb824cafddb9d76c41980e4606e9e7fe8d4c049fd81ab94061f5273dc4ed9e3b5376cdb5936e7a973898062553b14a9b31f124943fade5c34ef1af01139bbcca679bf611dd36ad95bd89099c4cdc61ef423536b4dfc7341b47f0d36e0bcb5759a73708b9a1785da4f2c233a577cede366d263bf473082a26a3824e33e87dfb07a92706de9c06bd79244b0afc780347b4887c9b04ee68f920e57bf9661b9d97a75f989c7338ad272dac7bc1ff09c7faae8f223d25f250f0115749a1edd9022e606aee9b134886971f2e51d26797dc9cb6263212590e809b12e09bcfade33dda299f24b9493630cdacb2c18346b5abdc89cbf2029d6806a1811c19f9abcd39c3e10a0c2fffbb657089b573a15694d0612d24a557d2e3a40bce45545e109341a44a1799a97bb6f9a83e8c6787aa70e28d3f1291062a99c2f6a142d801ff7f2d4533ef7987c9f8ab950f8dac23d2aba83bc6b07d2cf3d67676be297d7d989e4e5753d6ab599f89b26b7670cae078ce93be08ab3654b6b65a2a2005f0dfcc18c11eddfad798e1f8ad3828c558b6a39b3fdffa95161bea213f5d8da67b1e19b494ea2bc89f2c8bbb8dd83c6cdfe70f4866c537baadf2560a838e5393d596883945173f5731861d2b82b7c5806fd97e2eaa465aefcdf0a1d0772af115a747081a849a18c8c9e0bdbcc7682e89412f659e343ceaa7625b890890544db73332d18e53934f21454c0704d8bc7785b4f51333efde7088eeef3f50625a2e6544ce810c8d5579bbd0301943e9a169f4568ad277f467b40a13f951ac9e1984734d6e7e7246cc89253fb22ec96632565661081357727c4ca93c6359845a7ce3b612bbe8def2d6951d09464bd0ce477884ee07165730619128efdfbc54112c2b2d4e3da11a07efb8b3f74a7e5589effe5e6745243c297ec00fd135ba5351a7525bddc71e4f2dcc284d2686c185c1245e30a24ebe7f59bb0866fec99c82e0ba91805e10299e8d3b3242e1fc38a892fa398572df2e3e2e8afcbb7cf00026436ab6c7ecf68d46c45bb716f464dea785455bd85b12d50c3e2498230b8f3b4009667db318debef2f03f14883fee862df0855e3ba1f8dfb7ea91234e0536c029bd53232dc1715b357769b5fd082231a7dceee5d0d20ee01ae68393c662508c460a78f2e82d11323edd4725349db3ad361d5bf3a03e31d22b54eb1a7e8c9912e1f646ad90bb69f98b8480c6ef485fd46cfb1de7cfa4a1882dce5052f8c9d80441c71abd47314a55fac1f83554c66aafdaec7e2511c8cca7ea87c0ec87361acf60b2a9d4a63a0f4b0634271fb3c98065051e958b2b1164c86e7e7f7a6693ba543eefa403734fa3f4e7cbd27da822671ee5b1580705d1658fb011ba1235230410ee7e1b6d9bcff718a2d65861a0956a89e8f7d3d6ec2c21469891f286544352b084130b9e14f3fa8a9119d08fdd9530804605c1f548160f8859a41f2637bd22769681b34f1b0e500c21d71e2a5be1258731e93b3993aa4a1e4c0dccfea322c703c022ac3b4b5d31fdffcf0c368417f53c1e9a1ed707677a9264309c8861fe2662ab179ecb321b6fd4bc2f156c5ed607f41aeaef880018a329f3f9f560b098c656e011b2415f389b8eae176755c611b87e8810182368e403986fd0c089e0de539e3a893473d07f35b4cd7356a3e5dd16c14dd972d29091dafdbf1efd0ae976ff1604c6cb4d44c9d26d2ab4701bea6bfcc992d1d168710a858f9e4565ba2bc86fd02a07490225789da9c4809de2dd4bc10f5afd382875b9d89ffe38739540ef5f3fb0727bd28b47e80527d03a8d9c7f1b652b864005aa57d8f4cd0b178c31d8ccc29f54f7d3694eb071fef00362f112573d7d2d2ff19b8fb0312122185397d14ecbede8416bc53322e12c81c1910d9ba0cc761d6ab56cc6bfef644f16a2dda2cab6152fba7dcd18972c94696c89c6f2b2c30544e6248b60693d2717c697be96bdbf25dc332fa5620cd0353ec3fba9edfc42f2ffb51bbfbd8f482425a1f27c89c0537f882c1c90ae2269e7db6ed85b702def8fc6d83f7638abfca86f0596214a56efba66ea583ff99beb97a545aeda4c7305de9c44a41a0a1c183f8b81739d40b7ea6bea9c6f6592a5b06996bbb2a814a1a9b1fb02d1e37f71ea4ac6a31b41d8872f9c2b6ebe9c6df39ce11a4848c18c61130d2a169692695db6e3d4d3fcbc8bb815968b37f0f74c219308401c3d0070b282091eade0d3ac5fee76ca3ac464688ad5191155d0fa09b2aee3f3cd5c9a743417f32032021cbade84d97c629ce8696335eb590f1fdc7236ea2cba23090bb19bee9873f99cf659432e932d78ba3ff6ac8f2143b9ab440ce7c554dd9ee40c7dd0b9f0e3f8949a0c3f418d029a98b69382ae6c3e0d700d352154724d99ddb14add5476d70f0c3b8f606af901331e80eb3c09464b6c7dfbca6f9c28d9c49bff4832576d2749fee642ee76ac1fc8282fa24c12bc0a3461f599a8f47c50a01ba3d17c612909bd671492336721986cf6375afa1bb494634eb87b3b6fa51d8b92941d4abffaf47f1805534937bd404c700cebb0247ab060c12f7f2e7282fe07919d9e4a8d82b9aa03d6d801ae51b3f9909970701dc95053af241266db08cb9064723dceefb2106fa59450723ec801a111089440800c69c81a2a9e71e7ca7098f54a067279851a057ec01c22de93d5599c3e9dcca6c1228a3b20a05dad38d3a545367ff85fcd538c3ddb64b1fe3ec91d3071665ea969e8ffd1d1f5a91425f8cfe4d41f1b33fb2198044d4836eaa4a5db9fab1f61082c2273afc5709738c201d5875ae8097bc84ccbcfff817482869b36130801603ef9d6cdd6e315ce2cc859dfac0fdce2da4a3c736eabb6eea97c771d2c4669fd62efbd5304f65ba3bf0d908693c4e216e9db76c784426e9c53db6e065828e176e6acfcee2f68fbf2598d49ab23e014d0475c5fbb408498007ca0f6591e8ca810abfe669cf33d23c7f984e4857cdc2f49fe6bef59befade74e9389c0bd01b98e05bc7d7cd62693e303e6842e35cec4cebfc75da2a3949766ca91bf11f23fc9f2fe6a6058071d436fd371d938b8f8ffd0d97717cc47ed0531c7c44f0e333a3a3b2c704131c296e5188015f1bf124bb823e4bd98f91465e9f13548c577a5101e733ee2d20ef3cb7591b637266134a49365ee804f696574c6c7adba332b634e6657ff978358567d69d98f59bcded943167d4f83c2edf3a9c86f276f09b67436c26479396f48cb661723b951abf115340224d08e797c8a24aa99c11cff11c14a6b148332b431d3e8480506d1febc7e3342892f56e936b8d9316840b1928540292ff01fe056a1941657458676c0da40755d29e8a689eb96ad93574605de11997fa32b84791161b01626cb2353ee7df8972d0b653e5672f07ed3bf02305fbe8cbd4f81aec1aac919a71663ba9e79a16eebced12803182350d1999211897f4d038a030402ab761a00475297a1780cd6af0c92f0faabe0a7dcfffe7e2d1fdc467c77e7f58158106a8389241b41ef15818df4ced3eddb5d96573a33901349d03a9e0ec93e5b6aed1f005d430b250ab6cd6056dd405c27662a1c88bc01d6d26caef4fe014f832888e9139eccfa75b710673ed56a591dd2947f2e60bc369aae8d230b8c929ad04abd8a829ddfc1b07f5a88b41a2e4353523f95fec66483ef1ceaedb34ab78bf56fd610296c2e7372f3496fc768f408eef784a2e02ef18e231aec25a9360cc4d8d7d4af960b1d92656d1045b9c6a0784a3459c3d6c97204b8bdc4114010d723fda95dc4ac61c05edaee8c6027adbd0c885d50cde5b2f4c00034fbef023ff959ff14c9883c1280666d92344398963500e4bd0e07f9c68dd24e0a5eeba7cf6747a74daeb563f1a45fe732ba48863c35a022ceda51badef914bd7d6a2c57691275f71e74f21712788a734600ef7545d5556bd2fa0405ffe827650b8d1fc68b178b3333fa8ca42f96b79e0f58905f70205a17e8e6bae668eb22169568a89243d709382ca3c2a24fa96c85bd9e11acfc59072b321e82e42c2aafcd9184af742a9cdfc7f80d88967373807d157e9736120636e401b08fa8cee96b6eebaf337dcf22b621d12ccf47a56717cacfdb42492e29663b835587406639ce1c440aea04a6af96bfc89520d2fa92bf66334f40193af43715f8896e08c19e35483840b0c5f92cbe953ecdaef7a5a78d77aa45fc7e121e2b3485d759d42db08f1922e54da0b4982904e3b1c94115b14572c2fc9488e52031f58f5169296b94535f279bb9544a11f65d56c13172d8a48c2d8ed3a2a57d52d48d7185dd8c60495068e6cb72db56265a2f84a3fe769ae484dee0417ae381a62c6386211559650a990483acf8f4412a63cf3610f35122277181b54515854b0cbc872ed7777c5e339b899a6d01888fbf2599df9a88ae88b219224afbdc363ef0845853fd1ace7832bb9072e3a4ee41611c2fbec55f38c852f9bf04d98aa0b5bd02cb27a9bd7f27e051a619a8ee9ce2cad78e0a05780998fa09bc286e7383ae0ae03ba2eced686305001f0be40da7dbb751d34cf6e082cf7c97bfb3080598d0227a9c014e98b142cf66dd7352239379af98715e72f719d76a5cf457d87aa63cbbc9e7105f973e6dc3532cecf84dceba5fa04e6415876fb70b380f1e4f2f7554600df04609eb6dd80651331ef02554d80c352e1215238a0b5dbc9d0916ffe71b4befea40bd32460c51a05b6b7eae67c1cde39470c18f870619af5febd11b3210191bc24b308744345b19c0c7177a3559c8b0119e5f6db97cf7df32493b146b69abb7b1bfd4fc82d488bc7225b91d99662dbdd348a2f3aa3d6c17b967130f32eb70b340c9c6c80cacff15ba687e6ece7bb6f0c24246cd0fb2a383b0e5397686d36e10c5b43c3e22f535d161e83fd04f251435dac0e08905bc909aad3d76153d51c11cf4bd886b815ccf684b417188af0f19c7d622ef4979f7a13340e006d2cda5c79f3953465818ff4e4fedeeb27914f542e336a93d3f3c05a0dc7697f5e7769c660e30255967e9fd0f37f30db38d58a4e526df8b8cae9066e7d90bdf062f279584f65ad4c127e0d1a0945cdb3bd472154affaa92fa223021191b9db9eb2c6926857e07799a6f6c71202a60bd151765b82beb21836be7a408b2a7297fdc9c51225af1d34aafc0516c84ad20c5f8a3e0fedc10f76294356d69127fa692cea1eedfc7bb20f9b2e7f8c8de9269ca8d3f8b60669aa9c5c2e5f9edeb60d24cb0838043e0b8d995481a2d586a9595f5a80a069d4e74fda73eeda115e8911c218a702621844603c9b28fd99345ac9c61e6e5526b9808b4249a06a52c0983d84007e3249a06e4095106e01eab9a4b5f219083c8aebfd3480a93cc4dea24a2e95155268b7c4c777563d12c98001022aa2dae3e8ef0d3c89bcaa4a18e2417a7bb85b0894bf52f61d97fd0d89fc057af519fb774717aa0a5938dff64e8709c0cabd6c4bae53fa8ddd75d9e9e7541411fe927e4e240306ee6a939eee7e28a04997d1d076c8a8eb6e1808ff6ad53707bfe5e321ce8e374525f2acc24c87a2740c3fab8be5c035de53edb5d515f6c6cee764378542b7795e952e012bcfa7eb9b96cbad7f34517fc26017a5b1f265ff840ad84cf12167495723287b109b2cd72bb5def3f7f1c666edf4e62e330e8d5c6d518b6751fb8eb6952ae7a6d71eac8406cb37d420a46235611ed2a83d47872441437871a9300e1edafc56bf3045f067a7a93bbf7d290f7a8222d32e343433195d65c78f750f680de4fdfba8d3ccc9ff92a40123201eca1c925a5c0f57c64fbd21e1842cb33deb2c74d37b466897fea810211d47d854bb46c91dc46d02e36e81d529deb165d797683b4910e7b108f42db4543e323aae766c7be0310cc6c83e3187764a4243c2d8a715db4b7eaadcc431af874f67f56c2249b8ec9c88f132fb9d6a30b1d53b832265e3591042a3d2ab769584b0c957e7f05d4f52ad500ade84fb5fde02c94cfb6f765657605123ceedf2a212ccf3e2e9b986c6792b31ea263e77596bc5587ba02f75294b076ded3245ee6f4e319b2e4022cdcdc5a78c7f31d380998553dd30187cdc4c949e0b2017e591f295fdb7c0b6b1b59166c86abeea0bd60ac66824e7387e4aa12d7230ec1f99bfbd89d764a45933e5593711c88dc42ad5f1f3455f203c2a3b7ebde964a2e5148b2c2ed2cf2416b25a0ff71cb05842e2490aa8cf963791466b9621bb6e430c35582a920b23b30022757527c9f332ecebd7e473a3a19f23f56eece904034a8524ad267288db3f42dcbc6f2441bd5ae7cbf36f4cafa8030dffa289fddfcb29891a8a08940fe464a7704f6eee270aa1db0ae96395714067d3796a0e235a989c3a8092123eb7967579b96f709beef2febce5f78afd5260abf0e3497a364ac80de30863cad2e06b964347e75df77da1d89c60c0e4c990524af76b91a3a0d12b7d1a3239a56717becffa1afdf21995d7becc14f52e3d2d75c80c31d664e95bfe3dfc442151823cef53d5e1a4e38a49eb25c0a86e8a10479a250d9ffc7b0dee711604455e1b5f66896bb32e52cf7f4dcf01c85b726aca285f0d49df8b4fb2ab919a3b1d4f0877c5821cb2b97ef5589979de13a1367e53a0b813a0485ac3674b1f666d90e9c73ba401f2f3dc0e9a216fb81a96475b53fb09568bf1abc2d6b4b391ead3bf4f3d0121f31bf955e41beed79f8107736aa4b5cbc7ef267b3f733e8016c7f127a122fa3c7c98bbb83f2e73ac35348a8608eb1337aff8f92cafdfc037585c023bff291ffb8a30874a52b69908476ae768240d025921efb6f684bd1ae1b4771f9ad137a7c86407e6dc767afdbeadfe702036ebbba788c5c71aa77cd6249b6a7257b13850eeac9d5a3632d31d8bdb3d66900872018983e35f688ef92a4af52fa1bc920d73ab30d829ce2ef517ba65701ce1abe8d8e9d11152f4dbe0f6967d06cec21628764187f7af4987d50092a854e752d873e80b15f9f3c35b6bb50512ee22dca6894c4badd2756ae8d14a53d84090b0063a10766dae6a84acda04af7542922cd931ed50f218b01b891f1a8d1e708022798f0017a67acdc0923da36e85e1bf07f63a8ca7be32dd5c0ba2685e6e0de2c7eec3da66f7b30177ee5745d24254919e534ee6485070c78719f6d61249451c6da91afc2a33525e383cce4d86226087f317dc2abf7bb592518fdf3f2132aacf0e0ee3e572ab8c2e144dd3fa6b0d48ba0d8649ccc525150496a89081974897c55215b543ba1550300d85a4eff97dec20f0ac0ebb863ca7a0713626640e5043511dc09001b09caf90ea0acb13b244b5765f9af7ea07e20ac525a95cab2aefe73bcb778dc89ae58fa37c11e88d5bcf31cb33a41cb068867c2e623db4ef614f74e51eb29cf9ae67c259b8eaabe2cc8e2c3cf517ddf87d32d8ffaa1c8f0e4d7acc4c29f8ec52df5fb923623a637c8124c6f3e722e547bfc4560d2394822da7bb3394cbeab0f3d904cca9b1677a319ee1429c6d1df0646e6041010dca83dfe6769cdda9b270d754e094b03a66878a953fcfee93c28a32770043cf7db0821f0d90de404cbc5eda5a4b4e23d368561c5e696ac931fd10003e447eb6b4a7660a9deca10a5bdfde4138dc9d430fcb19f10f5456ae13125907b27e20e62aeb3479cee5d9ea70292796ce0c0086d3d9aef01084190e5d4f7f9cc411cc434906c248a32c85948d91c955992897a76a3666a228b1f4f7573bffa2be9cd4b39e24bd460b91d5a5a014074e147e109910fb9d071eeed688387d4635189d49626f7fb9a94fe9ea0159b0eaf6ec460eef6787a24e9b28ed1db0a6423a7257253f276f02be7d02db7524eeacba9d28018e708b2eaf7f7a2d1b2c91bf2315fc6d193632cc34b02282ac307d33d73f3ed19ebd40c541f78823569fde25d4c25801ef5c75a7b86635f407a16e3a1695b21e53f0fed08d29c7c3ae082ea552b12fd65c1a0172b2c9a3189958494a778ec12a393390c65be992131503eeaab47e068b9b6a0ef54ebe808546650d536f55a3bf1d7f2ae05d3c7d3da57e4cc0421b92b7e624d552074caa3980ed66aa06bf0b65a6b4069d1df0b0854e5a16b4cac6c619c625fa6e9fc5c7c817357fbbabbbeb1b8a3f1ee73f48ebd74f2ab94e41685ce34a54069ba6206c2007945905d91e12da16713c3b0bd64b9f7a683cc209e173a28c12f5dab13089ff2ac9d2b82fe32685c6068929a118339be2d124e2c1aa9c7b9380cd4a78ae3950106d483fd085c4de32d9ea89df803d72f753890197880d1d436314b8681accd15384e2d0d230a0d1690d0b652ce04a21ec69de10217668b8f855bbf5730bff1df2b7b0b0c9398f0a0d99b08ef4b41196287d807e0ecd7de4ba05cf2a77f7498cfd0615514a5d672037e1b778adf997a228dd5728de1f6912e23b85161da8668989550c9567d7cc34bbe8e193f394e32e5fb0c878a1583498435c1f31069090aa737b853e689233c264b4725792e8615dead03172264379e2e6fc0bce3fdd850aa9e7528557629b812f5b903aa3172604aebbe77ad04a87fc35a74844aad32a6371ba50456f2dc5f12acd5ea80c3aec3a47e2e3dd34e6f342940435a45fa9deaa9b2ec6a8efe181a412493e22401b8c40f26f16030797ce983e016f22cac2af23612b1eee960e4f1eb1e7afb29c1585f99ede912c10ca8d23b65d149fa248510a79271010ebbb3b82a59c190a0c6ce9a3600a860ef7a7de26b8a76ebdbde6cca180d82361b28d1aedbb79008c984ee614113a10cfba2bc5faf8fd2ca075e67c0e05828412f59e235295b2646a61d927f90f3b558dc1692da562e000b9fa08fdb57ddff4005bf3c6151d691bf1012be1e09cd754a6ef68a92a7d3ea8e8dc895f33107d5c4d0f796487a5f4536de7451eac0824930a8087a96e5fc93f74020b15a9bfccc7bc0b43af18002bdaccba2ab49ae60dada5bfbc57095a2599f965e7f5f3da99106c2e69b196909a0b79e96b8b81f113733fdac5bcafb1464a0c74481881a1789b5a46bbf748bdd5000c48c00959943135a2ac4845bdc1d24b86711ac5019488c075184375fd15fbb5b0c624003ae648ad28a15825e9b21ac5173b538fe30d5889b7eae7027414a2218b07d1dba6e51ede763687f9f98934789afe2d93f36fa91e0371e7188ced12e1788717cfdd4dc8243a79822749b9a6c9e17ea8157b14674f06335adaddd480cd8633f201e731b83fd813e5fab58dc3e7ced00797e19588120b20778ecb280644c155dd5e9c7973c2d514d8f4708b7a56fb0687260425f3fcd5c0e84132f0a60b9cc9547f3765b0a7e5c82d12f03ba044eabefac6b2a72727b5166e0f1a9d6d208fae184d420643b14c9a8cc5a5df1db6bbd6d3322c84f20d1f5ab3ddd8372b3763a7da13c4c4bfc1ab80facc4cb0650419567a336f814b4967af09df4a7ed3cbc9dd1226f5f0bc97c8531f3f57fac27be4cad5dba2cb1e55f41aebc1ef365e84493bcc06bac3c2533e3a6468a1fddb4656137a56aa4c5e20a1566155ac5711c263cdf15fa8a31aec83bbabf3b2e470cf4fa209e94e3704d54a499438867083875fea57fd4853ed32ed6de79a1f71ca3aad317fa2764a9eb853af1f062676fefc716fae04513598aedb06372b4e140cb4af719831477b7f718841eeeba83290c068f0f404edc3c2fd1d28df3047418ca371dd9d67c858199e6dc68baffd78c6689458de0ef855e2a881f83ac8ad77a8b9a831d02e45aa9177be14116f42897ab63717d8e62d2f5cb618800bd93a5891c196b1fe2312f111f5d62705b3379be3a968812f2bcaa7f57efd67d1b97ef65b5e2eab053c219aa8f578f93acd6c601fcae00b253ded62bcd49d097d55eea7cd57240f6d2649dab097ad3d6e99910defa1431ec55c38795e92a22f32d772738b21ad1c3d508316a79cbb0eee67aaba969876db4d03686a090d7e9f102afc7c5b7b90c3469a79e69e50af1e508615aa62171d51fefd576b128395d530122a286903ce83b0096672d8fd49bb96b5bd37f3840037a9e055c6fc81b414cd1ac9061d3c59e7cdd80f87f9bc95bc9b8be4fddae5cebd669ebd07174305ec6a0f45e6d696a393f94ba4f18455521933f8e5e70f60e743e09434ad56e4b685cab1bf2c6c18fd2d2d2b319da4d42b980d1b8fe0e69ad09ee06c5593bc8c8ae0fef24bf43afcce767a0807fb04673476d9feed0788bf27d9da5c52527e3f2e55a5253bb3bfb067235480cea5fc425e615a6e2f280a91a4bb9afa80be6583145559fd8d92b67c8684d08e28352133663d5e75cdb94a8978389a0f933d60ab7d6a9f45c1e7be22a44af2b6da70d5eb6393ec2e58ea018872e5167ab9f3074d38e545f72a13f84387d3a547bcea3c2079a4af935b83db422b8ba61e8d363921612bae3d2169b54b6759f7f270f893ad4a1969f700c383921509eec12858da4290b1392321ec3bec394d318a535a87cdf355a077bbf80d462dc22ad62657e365828f257892401dd25baa4479cedefdde10e5cdc90a01bf889756eea93e3a38138caee7424cd5bbac1840a0d71ef0826955d0bb5c56b4fbee256a94efc8c38eeed43830c719ad237268158b1709d6e6274fa537e1e03b97702c7959b3c8976371e678902306d169c843c7cb77f6c6e3f15d86be591836761f9fbbdd7936a802785247d75f0237860b7ed34df01d7306fafd7ef03a1f802796bc87e8ebb121690ea847c55dafd492640940aa80b671b3811359d2a78c8d3814c1958861f0e9ef4227d8c4d72580e0119d83798b92e0a66a06d256eca4d779b86f5f2d3c28747b34aeb2ccc6f108fadbd6db43e9f93bbac0d82b79faeef6df3bd98966d7ef7462a463ea4e3a54c037959ae32eaf4fb9d5d7ae633f4ea791d75b2fddf26cc7070eeafbde3fc8a969305b4aaa016f57676756df59dc16b67676b137f136509f81a0f24099a955c54b0e8e062ad45d3842ee4666a25400b627142e79582594641782fe14daf59c17e867f88c467568855b6ac4a4a8493a7386b4c4529d61856f2be0f839313dca85377f07e9594272570b404367ce03c0d2028a753e8cdd2b5f3a34093a2b1497557a2e1d93698b0f48389e85342da1dd17b18528beeb2456ec0de325b86fdd875b73c524361e73a58ab2db17887064ccb119cd2158b4e100bb707c9cf5baf60bf745f28cf64d6d7c596907b5c23cbc7e5467d82d0acd0fb2aea840644459a3e1409f18f5a9db6becc82989c0cb1fba1b344824f516ceb1a07863dce16375a258406bf81a74b839eee060800adbc29fdcb271a0d4f7f4dfc3f7e761f547c38a9e14fddcca53b4a12275bf34720eb4b71d6df28928eae824c9597ea0bb14a4fda1428156a121d7e6e149bd4d99c3039c7b05a0ced3a9474a171e27237c8cc9a2d4fbfa3ab1c2b5cbf0a3748c3fc991553773cc2c81542a02d5bfca4a9e38da60cdaa59e5f4d18b6076697a98e83f3cfb89ef859e113cdf2e50052171377644746d9e5a7da2667616ee693b21cce2b75fd60d96f7f2a93d2a796a2503b3d2094f98a2039a11a632450f4685005dd8d9681d746ab247abfe46d8230e3ec4a6535d45f30dfd467b76ae5b58b989516489c3a49f9249415fff1e89a7a474aaf02ab81ca4f7fda91147cda22e8d2db62198c6a91724479df2a86590fb4a6f6c082843372bac3afa3d8fb8709ef3848e26c1724618e59df0c06b8174bfc1ec0d53b09791223c78aba06dd0e57d157ee881e3ad25d063383f63fe4b6d9352b1d3fc270a1a434de3dec3718e7b59a19e1e2855aadbc5ad6a4f326f59156e987149a8ab4a0bb2cb33c4818fe3f02dbfd7b3a2f79865a174b994c943ce5cfc5e858c89ee8e03c0a043477128dad131360ac18df46ebc9298c8e6be14f56309a2e6faee7c3369e77eb5613ec586c57dde93ff81a7f4cdb143c11c388b4291b013b30fd6076e0bb621aa3f78d5a37f30f112c5d9b6a7c7d21aad64b171cde1050ba3b16c690a41df161cc34ec7979ed2ea0da08d8cffc51ae01ee67849b4731f050bd8902fb10cbdc3a3c3dc3c4177b938d2f10add39f6febc76c1f56e0a85778b2ffe93e0fe92556e0314ff2e786bdefbf32b56a222b5fadb68041e5c388dd4111e2a8d5d70539f5a7e9b7b9da97fbaf415b35ad5a016c7fb563497b9534c902b2b124c5fdd8e0e65983fb2c22f0320d96a92df64063ae6ac1bbe7b6fa3722d4ca5417806e590a882e210f8133fd0b89cbc5b1e4d82c35986741c9fa8a2a3715ea9743bd50596e9d016be3ffc357ffaad3cb161eeef40275c512571d498acf0a3d5ae2d3b261cfd337f547baf8beb3fe80d2f62db47ce45d0ba95578df4f89b8f52fc595df5e3373350bdb1166010011c32b44263241c3b014cfba9cdf9ef25dd8ff02ae422d496d734b6dcac9dfb51661f5b0c64cbfc195a9f77ef76cca74b9d4b88ab8262f699ec4dbe422dc93acfc434eddf8bf072933ae13747db5358bc1eb1f04144cc3b02cb01e228d261f88a32c8dbccc59f39d1185e02464118428def2d073b273a5bdae9db229319f5ac4a2c43dce147948e6f3151f3b2c7e5a1e0e79784a22773fe0f61cd70b87df7c75fb1b31467b123285097b5c9bfa388ae4f5c5d5e39c8bf54b9a04d153c95a09ec50d074206912cd864254bf499eeedb86e4d3b6b2fc7429214695da2de6da3f3b9d0c21e3cfbc91c71d683c1a76d551458a031afa94e4cada0e3e858c1aeaa2d194bbac6a5bc39e843a35389b1deb824664860f79c9ea2b5339e9a6fd9fbc7d06e338d4d902fc60241f4c6739e8464c8afa0f87d8f871f108225e42e7209619b588a857ffea9f8cd4108a2a5ef96a27cd6196c066b68b91f78ab98093ce88a9fc9d26bec2c17af54f3b58fc0e29031eb404044f1b866be8270ca98fde98401584cf32c6cba504ef9113b17b233dbe47c7555687af55613638758992b8411be5e4c0e6cc2f4335b6a76ecbfc289fa7a28bc41bd53c7d5e56043c112b41ef59ff81b034ec8eee89fc6f21cbee21af842da05ec132dad78bb239dfbf3ce0180071d3b56d4d0a7e1763b16fd7e45a0b472dd7e502134da3f7e16bb63adb548b3da93bf7259e59688febb3a7d724339cb4c7d3eea4fafbba534e686404cf21fa56cd9e25bfeab1e513bb8f32ec8fbfa7b8cbed517fe03d46e8902aaa2b0664b796004e5810bc2d7d34c5a96aa6925d2c12734e38ad55611d5476892bfb532aa816151e2fb1d062eb82cdec373a1107095fa6400c53941e52748d2b6fc2b7e8a8405db9c8477fe92d52005f777105d3342869af3ff9008829ec1f7f341fee04fb27a6285316a13fd4defb76a4b8664acfeed55ef5a0440cb5f8bac7a9eff6373463eaeba13ead65918dc3587baf37a79600dcaa3a60e3c209d345d5bf8b1dee82ff089871106a9ef2a1f63e73a6a3fe8285b47e81395ab4ed8acd43379e3fde80a1e4c8608797676fde9373dfe863ba20757b1db627406f8e9e6c1e1f3039c6a595f2a9ad6297ae58c3db8e35e77948dccbf2df069ab84a129d3e45080ecd57267812ad35401da9f83f8319fbec0c00fdf2b8b8f161e7f1725b234cb589be56b83f84f3b4e830f0066602f5e8a73985756c9cda2bdbe0a1d3ff5b4b9bae1b9d9c2be386e28ad16aa40c7c0ae0e357ea4d15a2540edf8530c334599f0927b3220285c54885f37fa5a0f358aaa6e05c0e06cfae7ce2b18993b1ea694f7ea0572a9256443b585f4c4bd5a865d72dd0835ed85bd3cf5c252694bda0abf84366ba31cc3787006342883cff802a5863adea6300843eb6578d653f5dda6f1fecc67563d144dcbb9307b810613674a38d1bcff8c6f6a3a5b64f7c70f128c33a383289698b2a27a2100f4ea6e04cf88a2cffb545a8acfd0cb05a39f92edc9505e54e22a34e6a28f6195a2722f52e0f738a163c2f44e57a69fccff39ea5abdd7bf353cd6720520f463c989d4293627848c2502fa537a714aa71cdc383bba26954b810ad268e0a3edc40ef79e3a423924e6a145cd02576bffa80e88d8e26b71f850aed47300013ed37691f1238d9da8662dc5d062deb4544c253995670d7e57a8cceead8e3bea24351e6a45d251716985bb1c7379ea783b302a8c37a9024d503144c7c57d84dd0af087afc57c0ccc9dc4cfc271208b34efa634639880097fed8b74ecdb72b4a4ee813f376dacf20ad03469778eaf08560481bc785c2b55d584615620f8272e03749caef21cae590ede82bf90c80f626139905bf28573e9661363419af538c8e2a2916ff6191d995aa5f9a2076a1dd366bb9675ae544023729380a3a7dafa4b7f29120df74ea8c3f5e675734949a8db4d55121cba278527eea1f96e1e02f9b6e6a49ddf01c9dba54dc5a0e21c26e3b8f1994133885cbc852cb6a550eafb1a333b4d7b1907a26848ba2325f418c62e23aee3f4f6a0e6203538efec29e978ee0fe8a7736b74d98376edaba543a58430564f87f1391a97c7696e794adac92b1b904382ebc036edb880bdf5fd79d87049ea25cce0e13d90cee8e55da571df0cb4ffb520045bb388cbb1af80ac06d936a7e4b1b1c4a28f638bea6d6e161dd7eaf304e5e2282563fc903d52e9be6c816806d0d928e1060a3f385c0be29f6270091740d0633f7559ac0f51f9074d1dbc05336cc211c4e73e2419f5ea6fb11e9be1853873267e43bb7cbd5dc4fb0fdfd6d2fda987bdef4324c8a2ed73b91aee087dd0c064a037accf4b951af1b912da806aa65268bb246a4c65cff2aa2ef75d16e2af5bd95c3792943183693641f915136b46a0f2858b23bd54dfe616ba8a760fbf0259b386611b0f277e1f2964715e29b7cfa13e49eb77db3db1a7ef98465e17313a7d1c26e1961c55f101738c37849552203e172869e1be06b05611a8d74172dc3b1fec2237280d852e412da3a2800dd24d99002eeddb5e2956e334e1d46d45dc3745d63c983fa2322102c9b2e843a997c60d3d0ac82650304a07e7241090d8cfa8f0a4fb9a6989673d1ed4e64f386ab0b2e0de094681d8c00b48015824eab0bc582ccf70e58c34acb76137fc1c498a411c4ce1a6300ee32d5405f576a64b15d98660b964ece25df19b4c91a5b279104941b4b01208eba24e605b8735e7f3a40eb6f5420bfacfd25e094885fc7a87dc13de1c5f12d239eabaeac9b4459d8dc17f9170947ad1032016ef3cd8f2a249d5db55fe7e1c6d4f47b1e6cb580ccada22f07e4efb8097ca02ab78b1db5f688d9635e6f92f54a894c40080620e11de81287a1e26c99c15ff2d75f0c367383ed4682996456590dc5680b6d7e0c941f66ce47446653c62beef48838402c9327ee90b82fc63bef29c2e22b8c05ff5efd564684570d84bcc4b5d0ccdd9d6ecb03f28b7d25ea48b5f0986e50858135873cfd2bb76286930add60e1e4d5213dec8a420eca0c85acaf219b62ad6b5f87feef2bd4bb5306b82e0d606f093455f570dbd54235eb29cd33cefa245b58dee485bf67fcc8bb8955889b3cc62830faa46abbd9592ca2b4b426d8353b358315d964b17d4bc61ca7e1761e7cef9eec0592cb2e75f6171b3f534ad9a02d4b82896f92a6ff07d16f1dd923fca2c59e62cb61d649661a40ce5c64154dc1aa498cdaf1e7ae6b4a0be9db49d9e8789b1407331249ea986b5f78869d09300ecfe94216e370071eddb87d81e54b5bf340cca9725be87301ee6e8f85232e75f1189bf22ce910cc249bfe59626a8db222596afb92aa928e0be3f5690126f88f0d5b628bf12800ee28aaa71801228ffeb3e81367c8d5021f2b47a54fa6163b945e6e4ea13ded125aa1ef860d9d5e45dc3f8274fedad60fd5dceaad71961bb41c14d7e3e45523f87698e94ee75ea531df09bc9962a348940447c8a6429e31090168f4646aa4ac4aa20b62e209a5d5182befe126cbae73f39e31fec9cfe232bf98ed32c1f926eb0e53096c9063cbb5af4a9a2296120bcffba37dbdf997c49d068ff906869eef1b61b7fe10ef33560614f6e576623b1fe41ce8c7060790ffd3bc67e0e649438efd93348cfb1f5b6e5e1a0d916f1f6aab6199d9b32f07413855a1395757c13a2178e286744cc739d09a7f6a3704b03737dcd5b88d241a2ac7346230e2795f66ad1f3ba93d160c597226d0fdbad7f596dd2a84e1894a9af846a323e42af835de54f2ae52616d0d5fdbc630b7ba3796f461ddaf642cbd7b698baa49d88eeab070132ce969bcc3f4c843409fb906a911c2faf5ef36fd29808dc4fa5a92dfbda817353c5721f71c5b3c3762b1552fc9d246bf26b51bef8a9bbf15c28a255f9b6f3390bfd361ee3f8004e27d9ec34b1676674f64c78496e6aba692fe40cf02d5b3936331b586a03aade7d359dc2e05c3faed394cd005b70d1f99229c49e7891eeb0482c7ab66f208bc767edc4a71dd072df9e78db311cffb09d65d11d778ceb9f8acccb238462f0f0988c4462ba8f9e3cd864af7d6892a213555c5a73b6cb0023d3b7d59d859bf9528e708e9dddbf6c58ae8a848a7d7fcc896a4052a0147a81d5aa54894a9d4d6851c72533d131171eba53a037f3667180336e74445df0a59e266607d1f45101dd94f54c3d2f13eb7da40f9f3edd4aa6e279552334d40e8b59ac674fbe99bc7fe40ca9c89e024fb953fce42f2cc69103ae325dbc8e79b395a6d787873be416cb72bd976a6595e72939541e7179b1a9bc5fa275371ed1db1cceff15d0cf10e264e8635147ff2d97511d7114c11d6967fb2af20fa81ff7cf759f39f13516b9c739156ab4975a7e3524888657c438e86225230f7bbe15adb2e912b0b2b8d664377d9b1d3f3b2f37d321e25eed850230789703405e5823895a8a728612523c54b624115e386f03056ac60c5140fa9fc2e5ade9568a6e8c57b71e6c1e8cab6e82907fcb8be1c2f69409447b24375ac8fd3dca2e72370435d9c519c4295c11fb1f4fb51bb1a6de9a7bd4bd2a090289aca62948d0a7c2ef86608212411c61236b763fe5aa0b365e17d731cc6d47f7b43da4bb5cf751487bece81307cec9aa03ff3864f6c8b71700010595269428c5707a31f8dd5b1ef42c74b2839d9eba860dc06f6e7309aeaffce97b5510ca2f94772915ec11ab5a643bc4677b1e00183c461016f942deb8b3c6efdf3b753c553a079ad7b7065c0bc37ddce68512d6ae16672f755d6a96bb9eae70860129c5431891181be9052c34aba94e4077d34a1f7566079562fbeca47f6a68274d3cc2159dd76c98b81412c3c17c3de81efe19b81301e8180e9b894df9fa090d466a5b041c7e10648183da78210958cd6bea55c81268b60fb26a2cb940be8e58ea1852fad9a2a1de4b2694ac79effcf53d91e52f66a37d6c7796bc4ff98d18711db37d9fd71696f07c885d1190bb21d06a76df40ccfee30ed86ed8f432dce3f087eec96c192af17b644c7769170cba3ac0867586cd47d2b2a0f86df0130fcb51f64d3e280780797c651c5296490a2e641851d00a3567221e36f0aacc20273c8efdd76c1de535991c488d409c8fe1a8797a0eb890bf4c5a918512d92f4bb9d7d82b65e0ddf3cc6d5d6eed7273faafd04eb6a49c07f6db75c10a2ae094782ddaffe9095e9f15bc983493879d69714e621c329c3b5256ec6d34bfbfda589ebe54d70409ce64c758bdc1421f0070b5181b612b108228130d991bbf71351a2f1f71a9c33f90d9268e5bcc04d477508f81346bb8a644923ce46ce95fc9b134478fbcfe6ac91bed11816a5ebc665d685f23c42f3d7ec977c78f760cc0f7efbad3531df992a6810bfe2bff64ee913532ad542b3933c32c215d0a14ab86e72ecb2f7894b3a4cb2abca59c058a1179ea367b7f41da3e57c7e96b7c8f81f35426f74fd6d4c0613ed31468dca0682a83997014b6bc0484e73a31e6fd76bf59970d5429a66b4de91d077490bb0d241104c282024c088a1f74b71d5f0ba65cbcb53928803270e63af542d38c7f3cb78f72dc3892c086ad92db2bf809187ae0bcb3322b6f27596ea66c9797963bbe2cdb63243d1e91a91ef9ba41cc2987389cadaf005a26696a7b73d47c1f1eb93d5b4eb493781e8cc46c236f4a6987f917809ebf0f709ebfb2c36e6494d7e8c41e89d1293da788df089500966a29a3fb827560937db83f62e986923f2230ebaef65a3eb85d9b2fb05d4f318b7ea1042c0c7eb4af9b99996c7982f92f99f467dea9110e5c8e67a644e44e05c782c7c8319477fb98aa0d84131422b3387572251572e603cf16a4ee8f185c8e425eb9dcf7b22a1bab2d5df3b1cf05e885fecffea07be612ca3c0666783ce23e425efaa2ffa10ba87ce21f63a15a08db8055cdaa68b2d0adc467a7f6e2526a9f818213a6b4fd91471a8e9669b63c4f1f8eb379c34f1a05f5426d539e4a2581a3f5ec57fe38087e80ec6d72a58033aeda2aa8fd60386fd2495d7ae1fb223bd45c480478779b8fb6d02df7a27c8981a26a6090edf2c5353611928a074830843360dcb42d8a0ac1f33299a9954f46d2f20d6a240191919e9860478fd2a658d7e63a8f1dac3947f54e29b2ec224a5198bb32e71d62e0ec55635e13c7b250d22ec18432e0c0e2122191dfbeda5c2123ebbfb92155f3d6029c037a115f01b9f957cfc8cfe7d2a0dac950f44077943756351e17c1797c70e23d7f7e928196ebe2add2619cf18db9adc5ced2bc068c705a0c158dfec83b8d99a73988f3b8d73937ee627d580998d0527644c4595d5ac3dc0bdb923580e629e776d91de20b0bc9cbca63c8b1611bd10534448ed4dbc30f62bc41b5f857c1f20859ac9676abb05fcfea7ff38067dbfa6e61facb14b86753bd2a1df24636db64695645b19db54c97af02a23cb5f4624a0566b055f53c997bcebfb8cfbc5782d1404769a0c4b905cf5cc841ace8bcfead8618c549eed414d09e7fa593fcb1463cfece4a63af7b8f03881f3eff0a34df7e269d67d3cf86b9b5cdc3c4c724844239ad5b95b02c1649ef587f17eacf20f7cf374c07c7867bdfc2a712240c641c0441a714904ad25b08bb9e528aefa01e93658dc1e84d33f0bcfb10bf5e15e613d26adb91527079cd0b891c9bbbbaa126b4d4f7168eb404ea63fe09a3a6e3fc3e33f4663b0cde75906b30f0dff45332f7708ced0263bcf2fc0c59558c4260572d88234be16504345423e39736c0a9d4ae7229b68e399e71a8087ee16022bfbb4970102f6e95d4d1e3579f75eceff30522da277f69b520eedb5c212060058acb370f8b41694367f74089a31195762d1d107a7ee5ec477eb06f789b703302ab176e0540908c7d91c1078d9917b5daa2dd9601a1f56182a9b7e4d288de4fc4a9d7924e753f34d699070bd9c72574ecf1767368dc2b5e14ef0166fffbc95578f4ba11b23edc536949b0e6253da8ae6af2ee584f99bbb04e5033c743379445bc06327a2b77c52fe46788d815a06dc8c46944921e85174f883302baa5273d995560666b69b2821a7311ac0874cf089fa4d0ee018915a6d5a4985fc766736a2ff0e0aa117de6a8e509668cb3cfda08a38d802b862af7ab9595afa37a67470fcdd604a8a543684e1b05e9e546bb6a1644d023d684d712479f5557d42e12d0306b072f6dd3c56e49a9bad73ddc256be25c3712c07b731ad9cac69e2d6e117f3289c11e85fc1fcd06c3d77a9f0e080c9539e7b53ee91f855c78ad7bfa6d6ae9a0abc5f471b532f1bbe405e5bb7a3a825bb1ae8b41d81938736877e8d515c5e5cedb34a703be4682ecb46234f8ad6253348d83de70c1cf2743f7350efeef0290d7608a23de35bfa346b6b8c18b44bd44d0151ffc48c0ba17e3fcecac46bf6cc3a7f0d40702842110578643dd451dcf74014aacb222ff38d1b37580fb9a4c6637671acb4f7557a16070ac0a1327499964b00b9dd87a248679ac876d7657dd88bcd0395b7e87c6946a24e83b8fc7f148ca76a5538f8c9331e5372513852d6a314c73c662c945b637c6a5186c7cd8043af0316b084c27891bc06d612a97225ae54a1aa84a2e2bc9d989ae2b5131398558218fd7b7cf472f1e88b54f0f2c87967d9ea7cca6778c8e9b462ffca1a2708714f8977da0ade74ebbeb01a738d214aed3a8497c37c369e8b92bd0f3f1b0a72a3a8ebe4997ae13bb75fe0677796052aa2b738e56afd84c1196d5b31269dfa8ccf95dd2c079c7126dd0585e4aaf31663fb79f920f4fdceea7f8cdb3d169e8100d39f5e86f1e3efbac15136589b9d263974b3d3a2a70875241defa9b2e61630fb47243e26857f6cdfb1575f09b309f20755e05f2632e777ee8db34b07422200b0ca16336b5860997e2689b8cdbbcea406de1f9dd4f72af8a9bf55adc9de1a5ba7283b04838faa7fe73e9138ab5ec606e33bba9350fbad502c00deed4b6af26d152081b6c3aef0f8ce24abf6b90f6fbf11417055988c6ac445da10910b6ce748e92aecaf50b28710d789be576e66031ea8b3e81403d884a57138e2dff127d79c84ced0376b390b0f6fce5f25823584aa6dbd2882003c7b78ddabc71ab03800e6e6e659c062b86bff801ff4badb4c1c48ff365e40e460870a3f5fe6428bdeb538c4a55a11e91bebbdf061591dcc4e41ff564a00a7100b97e5bcec9df42713584b13d3f304b0a7605de66629b385176f046513e2a7c390a6ecafef9f43afdcbebd0d451f6dae68d4adee53e5a3029d7035e8d6e7d9560f504fdd03b827e23f003d838beffe04b35ee899d5b994ca4a05bbb8bd61406ec2e8918f323d213fece109e8b0ca90f63066cb3ddca11f675404195f6b569b13ad20c3fbfbf20c93749171489aa3216d62ba964549db7bd5472f91b30d58e3dd323fccea0117c21bdc7f4952823f4c270f76af81eea5b04699df83b3f3127d9d26aeae495d4430d9001b81c9b09c5e5ecf046f2bb4382f6a17985080f41f62f5a8ac8772923dc907f3096cbcbb8d7f90026bfe6c2c3d2a9379fa8d3bb8bdb6188ba2af9c9eb37e95dd25f91b4fe4dcb566a18e1ae139b23df0c1777f0ca6cfa3ff23704a63dc05d4e562a632ff3df8d9059a1ebb1e5be926ee0fc6b874c66bbd6134c4ca3372b117abe2c1ad1f0e5287abb38c5ad11401e9413321dc06167c4b0dbc5e462b795d35f02dc1b529a5f7337adf04f5b150feac82370b857f888818184fd310499bcdb979b61998b93a97e1063e20030cf16a4b54ec8dc6c5c7604e73cf1fb1da5804fe7710d1887708e17bf8b7de1423c486c9b55e554ef30ea9a9723fec9bfd579f4a61f0e64a5239c109bf109247c7ccf9bc2ab80cca292180016868c3ccdd5a1df545d5c9352431162eb383731a9017f2e2d2598e628415e4553ed4445cac41a0e26fe6c1ea523a415ef59348962cd59dc07d62be2ce209102fa3900efed41cefc07c403bd0211fe655607b9c0c0772a0adc470ccb80ed834d7e18564ec438283b9a101373c5fb842c49a995aa1dbe23bde38b125d457a31641ae67c6468d3a2517ad89d292164fff9181949f5b57bc9799caeabb72fbfa40811a2b40afff8a43ddb0fe8d52263468b94a5191f7246ee0fc2073c4920cdaaa0316f11089026d62ee3ab3b0e7e622e2f639aad20dce389071b5188a9803dfa299ff2d95482e74c5e4649143ceaf7281dfdb3e1ad58bc56f3da01a0f9fd54da9efff92b54ec8551075c5c49f5e31e43f724d2314bbee0f8cdb95d8e8e49b5ba3f6c347ddcf10280bed2a7cee28031643f0fe26e0aa0d6fec187d76027d70b9cf61ff1a25e1aaa50155f80cc7b4f02b5f4960b432e79580826e1e2bc3a4e94d040849ee08650e1374e0d4e9af9accb34f4e132763dac755805bc9019a64ee84d7d83cfbcc4bdd30c054188bc35b5ab666b110719ebc4410fc88e954df2946cf217f24a50314bc801f79de5fb809312f6cf70ce1b3438b7392d8d5c80b2924d41c972567d4ea8ab3c0a00c95c299a47a2dae7c3588d75a1b46ac4fb247b1fb4da25d497904ace150fe25d33d304da5667c8d6b520cf38b154f92cec62bb4b64981aab88a3972756281ef6d4aaf8c4744707d3b8f6d515615f54b2d29b0520102f1e196212278c28c1aa6c2565969c6000afef35c2c9e26f1fa2b5ed6e877e895ec4399728dfc6aaebd457beb7edcee387d206e74cf61dd2400eacc9daa42a4356755fc27250842f76d431ce021b7a8c6861848d320aa4f82458ed0116636f43508093c85664a4d95eaf6c10a1f2d258fb7f33517a67d0e618d6c5bf575a245a95014947f9986d7222bf32c117e2cf8e86a43d17dc1338a081703353d9f0c4f3954ed157a29d0ab66a1ff39296521d64032e28d83f664b94d36c6fc0595b6adb6cc105491bbea72aa21d6dc6ca3e701b60fef9e422c54a91bcf7a16354848a2b270c7d525c0e18593554f282b0d704a7283fdc3bab4ddb1843d71821ad16f6fd28b0ac3766302b756dcb5572ead532a38739b7c0d48290299500e0b18665162c584f7976a301348a59191db38d79180033ae10bdccdaef860eeffcde88fb48c8ac480780d0c07e6db3b6525ccb9308f371f84d8d095d8e640d4a71c561c3ff1c3148b0829f625e702f93cb0d55e6de609293b4350836c8a989adf638d6974773d90eced7ed27a8c8f6dc4ca007b3118fed6dfb5856d549ec5b685a49c7d1b0c28cc9939edd8b6da907081fa0e52c0b4d8184059a1000d7ced315ec62f42f0d77d8623f88188abe2b1c623141d63bd5a35441b45573013422effce408b5ec2573150796d8e23c5e092d6af58238823de524d525125aca9c2094f9554efd1ec60f47c5c0b8af561839265a856f984424385fff4979b39e2f6d86ddba25da31d38d1dc1de143f99b30e0274d0c4174bdd555b12ff79c872ed10327db330507cd74babf734e2fd700e13ffc028c5df6fd9d6d5005a0051f0bff714f1f226aea9cf1928310e60377d5f2bd933a967b001e4cae83b13f91f552753c73bf2904acd7a3d333fde207d6763947ee07bc54aed4e7a93757ae1bd3791e7bceda2cf27a033d94fafeb2d5a0a6cb46d509e9c6737cf0753e0516b59ee19d9dc6cbf24c23fcf4d7059cf9cd07d1620e4796a7df2804a6a940da0dfcee67941084b27e5a18dd017c54d2a73983c64b0a3b07e6b21eaf9714ab5dca1d71d31f0d548eacc449c3b9807587f611ffd07edf89c19c61eda454bf03ae6334fce33d91d2a824d2807173f6ff662fbd4fe3c3de362ae650fd6df7a46632db384dcc9120ac1c659d3ee7bc2030217ed4e43f3c1faea274c7053ca9ac7f89d7c4e89a6ab68330ae4bdc28d1aed7af98b5ef656d4f3ed8a363785349424f83d5d580b8576cfe8140e20f0efddb31084fca2f30d3f06c641f10768fef1a999922916ebcc40d78fe0ffae6664421fe889efa53c7ba2757a6729e3d7a21fd2e1d9a37a02baed5002aeecbdbe7b533985c313a1decd8afe8ef2d12689d52a39c068e4662ef36a618152296559a7c9bc840b85933558303eb3e9960253abd840be06edd2a4a48f50a6d819ba2bbc1fd9dbf419415a464219b7eeba226215cdd6a0950af4719d4e097aa046be42f3169d543720214b0d3290fab7c52070f230d2fc5c14b7270436cc26b041a59bdf7849e39bfe3e7a0bf722ef2fb74548490b7ab46d8d1058a0bcd6ffe62ad14575ca0d5ca0023827f62bad399bc18f55a5446a3914bf6b64e26148d838d34822fc315027f4a4c06030c6899e876215825e355e260aead7f458f31b83bbe12185a28bb3b93617764d8f09b65b06c400f5f71b85be0c0b327bce6569a8770e72289a5fc8bba22c3c24a43f78626699dbfd029e2b91ea44bf48d2ba9c126f7054f1743e6307e5affe50882d9ae0a5ed8e4cb7567f9e401734371d6fe4859fe0fb3cbb1e1e7c84af0154576605e1ed2e5df308f0540f3d1ad051211ec99f501bb42eacf989e45abf95d0bcd3c6753cffd67500e835b9bba04295109f340fb493677b6a843fe0e9486dce52c5ef6588ea9dfe3eb97f57e2d4659eb88f24d9becbbcc033dcdec78dc4644040551a1fcbc247045174b26b951cb1faada661e14e0bb3d38bf01bd26343a8eecfb44c09176bc5ea4bca03bab0eb61368a6572e5826f0f05fdbcb1b05e3f603b4f3834c94eb3014deccff57cb1e9474386e7445e54dea584583097ef7fb222be1f83b4cad72893b4541a74c25ae67ee6fa8d5cf863ecbbd50c1c99e3aa80bf9cd41574392802fc25fae58a1453ef540d7b6223e756786a98f8b679ca646d61c0eda51e48e890337a390cb3c671aae7afda67f412e512387efedb743258fb8d4c4c8e6d2241abf1a7533df49598164ea9c33b140864c98efed516f387c5960c4c835b8a75eee78366a0aa8c61072ff1614049c710f55166c13742e57ed7545b6871509a8b1052308103314984415b036da0449c7195587f4eff97c58023b9742933f9a6d7524968935b0c1843590cfb4e5f1b2a22b6fcb5ba01b1835afbb21d6d15ff755b0f29962e4adc1ba842e257e74ff265a69fde214723d1630959d748132d28f92141cc524c9d5b7bc06a3617e6e09ce4e795aee4cfdb2c68f084fd9c7e45da7a904e53bba77b0794aecc17eb09b2250859c7b913b643ef397f5ae5fb6e298fe036c578cee8bad32f41680b84647c2eff536252bd49792b33d4db743efee4e37111c517fda6edee2bbb0caede8ed8d87e42c8cbad1d6c9ed2a5dfcaab62c532d656aaaec091f3b716ec332fe01cebf2721d8f64512ab3ffe1323f4185e1b9ab8a2f4cfcf96d0387d121561149ba9447541120783064945549bb93296959d47267f595c16bba1f808826b64127cc368a90ec18ae495615f9c1454247b8b69acb727508f61e71e8bded3f6a130e5fe34eb61fd25e7ef0655567d90b6cabe70a440c14dedf4c5adf15cb3d1709d7c09166b44935d5f4a9526d9e657bd377d644f0d4e56d88dc3f64a3943be29432cd887804be0f9acac880d835ad7c1fc516ffc159f9a0eb3790dec59ad1ec4a69b86a5efec6a0170ae757470e138ee0441f1357ddaa9c642850a1d9ec2e5b5e8be88ab4e9c8e48da5372f7d2e15c6491b9315097234a51ffebbe9d0acae4de238762a4dfc5d0b534ecbfd8c75848967c095fc0aff758284ce74de68021f22d4df5a97c98ceb85492fb924aa9137dc72b475d9e9cc6ef707f555bee8946488a6177f12cbb121ab7458242e9c00e055b8e490ecf5932c581506a458ddd479b17fc0de8cda6c4be46bb4cca9075eaf8c8e6718770ed194a1c9b3735d0cfc88876801cd14a64caa3b9185eb0435f649b978fd59fdb3a344f1d05ff820b29a348a5a04ba42e12200e662225f90a8955c8cc72f767a2aff8208df68eeca46d5dde5c0d4bde81ecd7342625b3d31c705b25fc497a58d264465079ffc0a51686ec8d6101f714867c304175d58b6edf08d5fcc5413289142cec49f8c59842c65b7a4e026567858f4d7b2763e7f9ee5220f31e1056fcf397f775583a6a71861af6882244e1a3a523c6ef3706e0ddc1236769780198dae0a6066299b352227c07aca6ea2205fe9e4e73e9f421f72ccf23dd7d5550866ba0e9f755db075be0f808f4d5690765ced4beb49ba753dc9d97f3390334ef0b258b731289b798d6397daf868ca2f16ba92aa7850c811436e623f40d137d9157a211f2542a2192ae278befdc3dda73f46667576cb52f5b2ea4cf835e138ea91e9ae1a742e0b1bb641e5011925524ae3c0e20b606157e1fdbb494e0b27de283b6ecfbab84e8343676887cbb8b52c1ea84b898525dcdcae5a4af1e76bb194c17da7c787b09fd5b11368ccab2e7628b1c06cd940525145d997e3cd2fb3088c6fd2e5755e663ab72331c4eca7f0c029286b050073ecd93ddb05ded38dddc8f3d833d50f92b778992c1db62cba4c1ebd1085b5761f7d394d2dda46d38fd77bde56b60134ff0821d633fac4f48fe21913759fe37ff4be0fdc48be39a63bf2f3d55ed8f8faf76ac2a09856afea9ebe9a30049e7ad1d5996148d6de7b6ba53050f4572dc7dd7f363ef76965ddf2e603ba4365d5db78b11c9b3eed07010e97d76c8380dd23d6ec2cc781fba9b3c13bcc42a77d2fcb3a06467667aac9325552776f467e4567d25840b3a79d84fe9ac8d5353e951b3efd680893de61543bec446056cd0a5d2fb058ed58ebf007d1efab74e2a6b313dadc29af3742060dff2c9907bde2ee87eac08c36e82ac5a02289d90c1a057d60ffc18add214a133f60d9d8797c5381911d609dbcd38f3d8b11a9e133620a60c729f57df524bba85988bdd1468bfb2656d9b3afb93426a52e3b21501e73fbe1d8b0542491f270fa89c2b13b8294e97603a4b9cdb9839c0139b6f3cb617874d740939c3ed5656d2e2f8bf47c2738422a6b8fe87ad89945b956eb106244df630397824b56aaa8c1ce3dd05bfbc5aad4179a7fa7679c7d9bbf548cc6533a22c82d23881f34e1c06fc731cda73eed2f43c6322c8a7ace9b027aa015f1d63d1ee6a4fcfc46bf2684f54629f3f4bed8b460226d3bc21bde3ec88f74b17103ff47eed48b0fea9a82bb4950f9fdee0161372d58509203776cd59a9b0ce75b9550920fbf7f8b172b74329e3e1583dc44e325a851961b6390d757a46ce9eb5a45fab3b6f71140ed7df0be109f02eed72a5f8fc2742bbda463d921642b11d79139c77a39b4b5160e50b502e2f5989217a69a037dd2c173c6e5b8428d2c2ff6170e7e523f67a034c6ced3c05e20667a265857e0be68e8b6e6ee1d951253df4ee1fbac7d98125005903d70b39da53c7fe071c4c049f8de7baba808ff387b13639d14cdf76f57a3673ca5c5eba2a1394e93e37940276c707db07c1a196b1f3204966a9485d2ee5bb514a64420baca9c871e459a003a845e7daf79fd82664e48ad25d12e6933bec757f1b12237270e9b819bc8539d2ddb0748c406422e243845152fd1938c279379d70c2bec5e8cb252b45f25f6dbc4947f45052bc87af0268eef12d870b5d879bf4ae56e1aad88361be7cae4d7667f31bb41297b1ed11a22a0a0e1b222dcf6bb1c1ee9cf884fc1491114ab63028aa64158d339ab0931f9b0a0d278d5828ad5ce53650363b4e4875a599a8b42b325ab14adaa9bc1cdfa57df6d2ef96b8e2affb2d94c42dd467147d36b6e49e3b34f26322a98d3d22940f5f3813d9739871f212ce3b338bc74e74f3596e7dc3366a3ad5e84af234e3df6d0f267d66a0ec735c160ea06ce2c07d32b015340502839d52cd29459723ff9e08e08f31e023aa32ac82032abcc187e518be38f5a124f509fdffbf125b94c7d403ada5f994025803da0019a98750d7b16cf6dc3108be7bacb73f91ba60a38b9b65831282e374bb54e316d487a59a56c2224e01a5a8468b64c3224a98a44221c39221014fb47e2f30a6ad91ac4be0c61328f32a326cd8586aa497b1b8d98d49415e281e44ea83125878e4db6257e6c86d4f55103f0b6fde8c640fe8b29da9235600ed789d5a19c6a728962b302839818cd8654ff7d70a66f7a043e331387a237518687daf99c7c22b142ffb413c89d27c68ba672eb3b17a3e276269d5c025a409ad71584fe06479078cd5dab837c815027dbbe786f26cb3eaca40e1a21b6c60e7a11b3beeee73e8903fa1c9b214cb2042798926eced288110263eaa5a5859a6ec83898f3a02bc38e3d19671f7e9b1b139d26b1929e41750975b0817bc34c1c6ac5986e3df8216dea9afe563263264e3e2e50eb94d570adbf6321fc9ea317cc104065fce5d546e73737a87517a1564a09f95c5adfcc0c36bedc8e18d705970e28c551c0e9e0d94799223676560faf5808b507f92430953161d9afdeb91f999fa381627d2ce4eb0f500e043a46fe9ad937e162bdf32a7b945e237751379cb2b8d24bf8f4552a120f11275e55d0e8a33cb8db34d362465c4aa71954b57d8dab967017ebdee209f2b9bda8c2725f2ccc9b53bec501e2f3c9c84ea74e58b368ffdaac7b89dcc178288cf3058c120c573d1025b3296a79be169bd19a10353b0606c18bcf199fc5825f681524b471c53dd241aa3da215ccaf500394028deafb6c1551e5a3938dd1a85dda5c84e6158cbe49fa3d5a0d5c96fc33f36170e4996e8f728bbaab63e8dcce4d7176fbc795f0c88f74e99001e432ced9ab28c0f51c4ac675680905c86de91e453c4f54ba31001a787ff25a728f717b4f54f5ca012f0b835b70cd94005b38724a9513d67fe1a81383a232604cc1123ce971ec87ee2393b34027fb48a83b742a481efb37219b848226ffc47e7281475c689762ede9839eade942a1623ab07f8e688827d0b5331c8530b684ad93be6d2ba95f6df517995ae9f0dd639331a755d2f611e13d43d7a45ce8e8f9705015b6d04ec4bf525cf7a5bcf485e736f5096e03ee6970b913b0855357df6fd532dba92d9b876cfbe386627cee2ad6c0d866802aa03f94a0705a9993e911b6022de11f5e2f2136b941ea47971a2c14cce15f7d8e05543be233763c08e56fcb4d91a9709ff8cca696406436765b197e7922846f35e738e783a03e2772872aa04005020197de9973302985df545f19f712a5d80efab7cb634fc84b69d24d1b723cb030b0325748cab1782fd52438277c052a84327995fd8a9e50aa23314098f48f083b99a48a6d83a829265b7a50952d051da263e7dd63e654e30cfc46c11e19040b4b2fbb2619e847088e1454d724ca462c57f6b11f28fb542192c50c9ce9f15ca17b789654b3e0a69c45d414bd9b08cd1b5792a996c01907082d1eaee0c44fbc81bbe438d6c5bb5501f381410048399e87c56addcf13a7b7c0ae49145ba361c015c9ef260eacceb041ec73bfabc645a7f85bb97fec0d2b9b2f02f45945c0c00403e9684938ec69a75d0342bad91eedc13c3acf6577afbabb6c0504a86d2eb071d7cfd9bd449ff5817942643df9f3a1d62bb813b1a364eca9a3ffec4b855958b00b79baa2afc08d835bcddc8948a140c07ea0c9544efe7f80724d81499e23c048f9472a2821032ce47691b943699fdc22fd8d90b4eeba11837cb548a92664a37d2f4e40c213f3822f1bf41a2fcbe6c24b5208cfd06c4b10420675f7f2de71bc7d3b8742a95fed8ca15915d6a3f57c93a8b80381da079987a4a5602b1d63be5e1b7b55e4ac6eedf8992c38a3ba352e213b8df67a374c013322c696fd4a8a029dd8d0604766acc64fbb75e79d80672029f869e07984194c2e0144a07dbfbf0e2f1224dd68d0b22c68cee045c3932dfc6e6ea2bc903973d09c73a7b9e5b1cbfc8d1221f3977d4f7f0fafb12d912f02856be29be2bee3293804556466127aecda8c233d19969a40a1ebfbbe9477b73419bc6e062fc60d0e08713c05de68789b302951f0b9e1eaa7d876a4be76d1da8961865a1b029f379b4db39700302e689862cfb71f97548a36fe90cdcef6cf3db1d7d55deada95146b31261fa20bf5025d6667137f9ce34fed1747ee67ea12e818da7c1114d80a12bd58fac7ecef9b6ac7e0520fc6bbf99ef6c18845a0e91c5e993d946c85dd0670dffcb04ad33e678cb19b80a3b3d6c8f3a6f267d428f486333fd84e61345f03cc80cb1f69dd8cac4ba3469c4ce03e9eebba116bd8070d7308f74b24750cc09ad35cf2b255b5582bfbffff105edb452c5115b8dd96999bdf3955bef6de75cdfb896108c7b017b4e38cc6744cb587fece193730696694744c32859ace18a315b92f56416356d476ba42a6883388742acb1b8ed3f7c534b867e4e1a9edb8c8bf50bf03b8fe7224199220734edf583a7f53ea12e8df680f7fc36ab1070ad423f47793657c8603227ca78f25098d86defd20aeda68a4338adef0f03d90f1157226841664615861a4fffc4ca869d707763069d070e8596d3810428f4beebd015b3b93dad366494982a48a84d926974a624367c6f07036322feacdea424748ea90a38a5e10c49cb6a61e759bb3de758db70aa7ecd4bdcd218728b8a819bbdd0e3336f2e9cbffc1526e8889dbd3b874386aab37b95051e37b0aacba7c7aee1f12d1069a79b0939823f6ec676a58b1c262909f3cffd53a57e5f18f9b3f90f43ebfbee29db6f1717381999d49cd30bf5a6b4653011dc6c81fa0971221a23d863123549bfeabb4041a37a8156a207b73680ffa38acff951a29832ed5f132aa01d2d829e46d1bee17f267988cacafb9ec88c4e8af061e38de1dd14d6f58b8111bdc22e464733efadd5f4c4cbdebf72c5a0253e0df7ede6c8503d4a4f99376a659bbdede5460e73654f887ea908df387db55d9e3b9ec9696e14ae2171d0e5f8a0d4b88471222924360780424ffcf4b0ae7e042e3008d733aab3f83485beb76a4fd2741e4c05e7319d626db6be958da4cdc7f684932095d8480bc59cab250bbbe49ba1bbff5277c924a58956c3f334dbabb567bbf29e7a9d3b11b52b7727c077f37d9e7ac972d9acc1667cf4fdb904ed1d4b49c89b61106d07a75142e7d154148a1e9741993835b04ceb8cda5e2b3a9c548499464d76b2892501d398f301283cf7de832020e1ad7dccfc262b009209b1d9a5e6c51e14b397f5aa8656375b80c56e5e80793bf815485ac0330230c32524abc950a9d92bce66aa0abd559fde6a02bab883c2e0d0d08070f12c987cadb27db91f6aaa52a25d8a2612b9cb6f7d5dec2752e56a2af4e44a90ad5ab386626fedd7b251256f2cbf22e4a3ba7ca725b857b750f7f21ba065b12d706bb4dd3e24aa7d6af7ca58fbc12261efdeb03ec23accc84f8d238e5371c9f2037b0b23589177d1ded08813c9ecdcc4663f6302301cf998d99950dfea9cb1781e48aa5e5b6dc6b7d8dbf586c5c231b411adc889dbeab0b95f65585ba959ebda638491686be35e9241bfe1572b5b44684bb5d434d240eddf35ad0a9475011af77c16bce900b7e4f2eafcd72cb3363f7f8b23413a71f5239f6631fbd4092c8e6ecd5c05ff8334ad5f0cb3175fbe255dea386f07464083e0ba59c551b13d25abf617ec9bedeb8f668548f942f4b4ca455a1ec0c10b185dc46181122bf721971ba635f3d2a08190e1d7f6165a95044c9bc614f453585bfe612e6869fd3707896599e4eebdd69d282996fd0c7902ebe8138d2cb1084f861d234f0108f66fc881529f6b65e79e43003e0420521370cdc05375f0e31c8e7cbf31c1f49fb467fde4c2156e755f7a7d7c05e88de70e546ec5fcb6b6467473501491018b00fb3e3605df874d0cdd0b67da595aac444770b979cbac9e9932e7100cdd792e75c42a3bbf47e8e49965be367431424966fba13a7b67086b20190e980abc02b492466225389eff8bab51cb9ebe0bafec7a9202a638ba881091b700cc99851bbe10ae82ed9009b37e68a51fada39f6a49f31933bb74ab3e0ef779c5ed121e8096b21c25236b29d8a30f12af38f6b21cec1d606ca43932851b925298fc785277d66117a6bc59b3ded0958c09147941050b5ad3297785fd7996e41ef287e3c666edf966609a8451c4f6119f91b83e7e4e2f409291f69e9727efc043f7cc1aa473d47783b2d92e397ab00e1320301ff62dd5c80f480a5d665b1f88226acf6b30ab33a5ef3d436dd8ea2e4d43fc3ec4bbe3fb27f78f3432172893f155183b28bcc1d0ca617298aec9b2c28382feb7abec788f86d76e943d29a05026cccef4fea1e6308656dce45da3a67a694d78480ed3474c62db5c9751df679e460515fafd3c869e6f1f54d82f0e38aa6b5399324b21b1fa4d6f8f629cad0c2df9430977f4c5ed4fa71582f95e0471b8eb4d6853f8fc3f1799c09b33983668d01c3542ce2659f93da75aabaa34f0448cba6edc0e224370cac4294c5ca9206ced10ac83a7eefc967c82b5e0416db85a670a7799e71fd3b378bd63b795e53e5989a5297cfd4e34520fa7c6b2f631c3346fba4f7dfda160e1d83acfb98ae8f83293c40d5d0e0c328549393a969dd70e5f2f1cb0f3966c365b98e315bf4e33a3d6aa116272e0969b0bde43e13a74b567022302165549c2428a80c6b0509fc24836177dfca78ed30e3a804fd88d14e43400ec701c0445337eb0937160c30e3618808c141563d292636577820318b9efeed82641c63cfff8455303d80a277354917a8af1f5e0b0b91a18c0c6d45562c6a7df50929ecaa0653f65cc4ac23dedb993850fafa1b41e2417bc8fcb15b4a5e47807d277351bc71ad3d9521efce0d2f49e47efc9cdffde646f9c27df777da460d9bd0b49e0ab311d6db1d50a69251c0589cfca714d354e18480953846d423bb5a5c11253a37ce3f4e5cf70246a88a524484fa87344fe8c04b3115410a1aa44821762c40959651680845d16bb813fdd3a7cf46b482c2972a4526b7bc5e5d828c729b717a1d080e6eca29d4456a9a6ddcb3b0c3bc53713dbd38eb347018161129ff653d0437f1e4a6931555c19fe2092edf1b06b820b04edc0594bff59f4ec7ab8eb7f1c129e4d419821d56f771f1493ee2202f901b96f7328153514cffa21511e459b62a1ebc952852c265537092c28f314552b579a37fe454d63a59cac7b7fb8f68ac08fdc5a4e20e24ccb185d016bd8a4e25f4cc4b56d2c48cb3e13aa0e9a28359432a3a07db95d26b94ee7388ade38297acb5f81c12ab6d27ae0fab33b07bc8b4266a36a711e9d596ade6dc4898c26232724f8d4e36633357ceb47e7ee3733b865444136850eb7e2118d7d1550fefc564261893fd0d163b97f6882e759d36e9f759e6e1ee168598efc51d96cafc22e9f403878254b4644de616947b210c6a76edf72dd28db15ac297395c96e6c3c7668d5171f11150ebe17e7673b7fc2a8f407c506d8e64d04473270fae07090a0fed4c3d6cc380ec29c427c145911582b4639d78af97821c52f060b31bcf102b36a947585076bf8ac8759fc5eadb000edf61bce4224907456aa5440db88d9293ef42d86a98a6ae9e55b70d516d2251c219044db5538ae96a376d6d87ed3724a49a9fa7b3b549a5bbf6df220881e1d352176d2881016c4020f4ee5943b7229337e793b3644c37a0547eae7339451419fbc5a22ec2074c90e20d60bc707ef6b47391069dc7ed696ae28aa82908353b2127011878d7d86c1cf5bf33e642f0cde9306e09093222c477d3ef5ebcd8a59c5b80970703f9a2a46bc80666f7a76bf074f03b7ae53f0cee68d6107d91002d9fbc1ac0c1464abb0615995a06b68a0d16c31851de6178c6c0d909d160cdd5ccf3c44070f195655427ecc80f1cc6e85681bac6a4fbe980ac8c0612ea3bf7dacb7d17f61eb461ead375e5fa52c463258acaffcb2589ea0a4e9dbee54b28db693004654c9eec92dee30b0a984a754cf31c22a0c4df93646020ac15af7fd15b6a46544de152033512e24eaa16a5580e4045babf2f20e52a47146597565532ccf388b999eddb1d3bd636adbb9480836b58793f4006d6f516bd33d8860ebb6de24e9dcdaef040ce7b70639766569c985701442575f43ba481f59b842729263fcd526292c4d9647d41350ae98e6dbe84e1cab9a39c0ace78b9b2f7fbe6c7971105e6239814f32bc4fec46b446f5f01824d85af59166c31689eeb7bdfe30fd342a19116676922af65b6eff762f09bb0f27f3e52434f7d1b36be1d951c551bc2fce2a27b813cc8eb31b47ed29b024e5be41509f6fb235ba8cb68cdfca74d4de1864f74e78ba9b07764f6d41e77dc653888a26de80ddcc9397fcfdac644b373f06c6149e42d2118069612d6e072c8286940c351b08d9b6b20fd8a8fdb5079d08b44f8b0bc4da036e44414f087c086b30b2d12a4e7a36f51fd7490e199ab24c09e6996ec6cf3c6b75d241df63a08d57aff05293996f13b7d7442dd2c7dd9942379a4f7babb28f90bc15663ae2e12cb187eb061a42b7000c042ed9870542f4d6125ae236e42c181160a9cd35474cb59ccb4598123271c3c245fccb46ab93bd34aa907c015bc74397a97b908c3a28f6b30e0254b7a973f779ccbac31b1c59a0f0eb21fd2d8ec8db280ca1c25be7160958c2d25c8d019380ef8847ab449a4ee911a6f99d1aed45117f7e0c33bf36833fc79f464330f4d056163427e4143cba9654a4373ef5dab018e1903d737766f60a9e49309882849b245ad1cefbaa99075475af5e471f496fc135c33392c1e5f7dad10b6a64e10c1ce6a9e80a72d4f59a1c24dcc3b948e4f12d55be78129622d289445704884b803f74e96a92b9e4df7662bc8b9f538c7a2772f59234ddc267d75b56bedf41b20ad6db4746ddd7dcd8cf2d2b494d597fd25f1b4c3a9762a49fa5d83d3a11665f81624c8985c827ca7b16ec0a23129a75ae3bc2fc07bc0bcb1f2c64148db5fef2f71ddf3c3071a9c27048ae7d004a2c4788faa0d45f8ebbdfffcaca143f0b9b5f120359337d226eb3b0b0e6d990fe7599557abbe0671db69e460be8e1f8809237598d7c1277b46a364ac0fe681c30cd334818af3bf692fd17b852d01c0f05ca999805b038c340b48d5aa236b40b7f85b1ae6534689d416a651636e6669dc3766caad8ec6c1d2eb59dfc0dc33666d6c22c0312605d006ed6ae4f50570ff764b65f84b72b279ff3843e9cfa5f0453300690a30d2cbfb69625146a2bcc643da37d177bf595332ecf478e1c2adac6582d05db24ecaf55a5a36c355fa3dac2b942355b93b41066302d7b094854dd7feb6cf9a0322c3f5e888146e174cd9d20496c914efadf947fff742501cf2cf05e2ba241b673097735b2cea6acb08799075c933ad654dd8e7e670cce16aaffcfbcc8dbc9e9796a6875028b85f4cf8583720865ddcbdf421607317df679cb07bc0c5e7179b68f2725864cbfbe8b8b3d4b292ae8802b4730b0bb89c510ce11cff99f7e1c490b839d6a99fdc4da85e27e83e2abc9d003c4461fe8ad4953d7e1ddd0f98fbbc0246242aba4c69f8b62a8b35ec4546aeaad61f1d8b9af87e4e998dcb9cb2a52bf4886e2e4010e0ead4af9ac9e838aebfa27707400a3972f964c1fefcf3c878b45ad66fe2e99e98db0c3fc7c2524ae41e37ee49665b34fc1632cfaf62a24878f5d35404b5209ed5bb02b5ebebcb8d30fdab1358956502a9520f502c9ee4d390a4fd198597a772ec50e65584d6f158d6332a248456a915feb7b5d70b79312171231f6686485a51b1cb71163257ffad7066830766505d7214db099f16133c01bbbab46690e4091ca7c2b4a892398e988d49925d9d13850913dc9b32bc45f459da6906c17ee94e9ab3142dce21329f30ef9435222c61cc81a851926c2d30f30f2dc488e773df13c7781bfe8668cee192e267cbb798729596474935daab19d3b4e48aaaaaa15ec93aeead91fff4bdcb7c9679aa0a7bb1a64740f47f09e1648f25109dc53029f3f78605c38ed53155c583eef2eb632c0c732a04429c1208393563bfa03e3d19c0448e49abde97ffccdc11ec9688c6b7d37c66126da28114af3cacf3af7783217b74caac0618a53751013b04f02591618278d81f9ba39e01639a8c7ee3ea27b6a5766cd2948b3caa70730eb5f95add29a5f82766b5306edb6debb885bc18985a2a79414d7309c7739edf79674aaadb4babea5eb2deaa5b7b90516a1c532e33052eafc1fa2bb5068d72b1a6332f5ee07fa3ae7b94a62ae2931ea11ff90b4fde93f07e9aa012440c2fefcd6843f01a921d262eb3d00c2580ed63237df8491c9ddb9ff80b3e1a1fdd2bc1aa37fee13cbe319cf6f8948a31a36e2f335a5134ef07bdb6fdd06259888ce50f0d136f907b1fe811904e1294cdc8ca63829469ad5363dea76e645098f0c8d9c451555f82c98570c7f5b4953ee2ab1fe42343c94c36f280800613438d1cde8c8e1c210fda4c74db2d3a62dba6d83f4ba59f357032d8962ce5c3ca0c3f24554fc8de19d9f888108caee96f0a11e885741eb327ecac2269833dfad99837786c5dbe6a7103e75f186896927950a6dc15026ac92914d3d6afd8ffbd0effcaaed113efda560f3676dcbbc7da844d9db32f27fd5853ba32a3a1f3227231923b7752120dc8bc779a2d7e433eed26471c0a639971ea7b73988bc0050933811b8a3dcf4b36173e415644ca39b0b3c07d6632e8d57c03028be5fabd0ce23d1ceb4cd0003d926357fb94fbab894dfa06e7a3ed0585a1bf3ce99ec18d0e2afbed9b301e9302ce40f8000c9583a00692f37d919f23bd1d0dd07a7fd5775690c43c5762ef04ca770b6bba3e9a58809ed334deb8f2866d27e92a6c1976a1b5b82ce3579dc950c9760c327c45f559f0452cd386ad7ff3c301d624fa04b33e313daf71aa5acdf7c08ab5dcf4f567eb0366231a0dca3acf66565d5ff8c005759bcda09989eafafbfb71301a24949c6ab446545f243f01ef80967305cc48cab66879c8b30cfc4228477e85b4db431b7c682bec15cea681234514edbb332d8d224fed6ffbc8d4017878e5b65e45e039c277995817b6c9170c19f0a4f02747f8ff89b690f892176df251878dca57efd531a446d25f3bafd3bcbf222a2aabe16744941d74f4fb90e2ae87bc469d70ddb71a17ba2e51b172785e9870b3f8fb0dac9371a55df423dc90dad9beabbc9419391fdbb22a1f1e688dc66359aeceffd20c746fa267eab5af9ddd5d7a96389071d07ebfbc40915bd039bc63f7407520b74ab2e35e4c25c689ab5a2f4774457120dae335a28cc542ba12b5b1d346d314597f4c038b5c41b61a947ddc89d7ee0f5b588b0f7b8969d5f71b42b5d9d44b17c811704e43b8053cd3e3a02ba9a91f717bc61e1aa0ad07f82fee05f002ee24b8280a2e78b33b30fad576cf493f4178ce036fd708b9f784b9f986ebfec0040f08f0e7950885c623eb6f696325dc7abdab4e911af587bb2476452661c81bf17d175dec860302d3fc65335f45a52135bb49e6d70aff3e0963b1e910bc40dac31795118c8f1602f5dc08fa8baf20d03027b5f9f3a1c9fec8a050997ba90755b81551f13819f0f4f62efe7c4b4ba61eaf6efa1e207d770c80a150d9971b938ef64462cf94d8f3aca7dbaafeaae562faf61e290b8d3e0adae53463c4628450f7eae03b2fb9c564325f85d0f549e960e229bc5e30f6fb3eae5fd3cd2fa6bb244649a784d397b8e2ca183ce5bbb963c9b12916a7d44267c1d2e3e5d12a20de323ceed85a054762a3cf4a326f89c975315974f4465f770031453cbe412d19f24cb308edf80f6b9f5320365d3efa06a731c0867b2ac9d0eed3ac94480daacabc6e052b23fa06307ef2ed51317df890567763a6436c549d3effa638f4194b43258c2dc9c3f917cd0baed3d6aae3c699f0634060076a5948637ec937550374702e8527bf7d0bd1f41ec325c2b62cb570f9757f50c27d337b3b4210fbc66e648c459bbf9f90e3a208dfb9124e2227c2a10213a7ccef523ca794fe176b9c08bcc757abe51f0fc41f781857a87f153b06678279da9cede80b6ab9f4ddcd4235c525a84a98bb73d98a08e4ce3f87d76a693ef690ea1a709528c5dd17b1193fb5b165baf190794606d63560c9a2b43c001a4bb00ceacce1abaee30ff198b63638e8a3ec471b879ecf09f75429e6eadabe09ac28d88715cba2d72d78347f98d56da41d2172cbce56155f5addb189f090b00a0cdacaa9463aeb98b93a0727d54db3c21f9abc858b52367b33822593e3e5f301e3a1c9185d37507370ee7e2b34d6e061982d6a7278657b801af1e5cbbe66b07127a8a7dacf9365162d19b0b7dd99c7d17b6667c380ec955bc6c42c6d30d640864e5e81a2b1e0d957af1c9a614e2705ce2f722b6f8e192883d723c8726f6719d7b55fd5b8742694807a77a40feabe8110c244cfc18ba560fa504d1a987789214ec573d99f5b77f3c1331e73588ab105822a1f10e107360c306cc27355e701d8790ec331eebe28559df8100034e434ec3fd047bb58b470c84f1d8885a2ef387d75f147c6909209f88c57290dc62ced6c39c5a94725371f893d47f1d01586a85280dcc77c62de6dcba58bc6fdf438e503af80f36c0f8099ad67fd7b458ee6ac8fe5ce03a1db2734f6864de7b1a2658be408e87589ae80079ea50573bf53c67e71f41501b2d635eee468803c56824eefaab03a47fdcfbc6e04e86fdbb6d20da0c3254395d7b0472f9aec3c8fa68e89dd44afa160851aa37b7d3aa34a83b5d2e6dd5a0ff0a8f27f36bfe2a8edaa9776ab3bc3a1ae7c98177a8dd1f3c4ceb8aade8f8eefa42b18011265696a22beef499112686a3c17f43b70ab8d7d4d4c96134ca198063108c93b5707cefa8e22350a8d284c586e4ee64988cb63891d310c176e5f1fd211c5804cd2781b7b585c6fe6c85caeb5034f6c92e5bb3f75292909210af95f10b3a94bc4b1ee6f517ab34f4acbd865764d87b224ff6851ddfcd62b57985a41c9b1e442c2da962e9a06c6c8f13baaa6be6bd729a0fa03ce8980bbc23e8233882d7b7d09886e16ac8370149bf35d10a63355e7876bb3b735e2673b8ec49c78578e8af346e57b49a639e5ce6127e1983d885d7bf02852c36d50b5f41d600ea340ef6c9ca246d5ec8124919858fb22edc57a91705ff0851fe18cbc2f29047a276e511823bb3b422e0a901f758b971930bbb2ea4115b5f37581e827eb28844b2522f1148f1b54cf6530832907d114b3000e2b504c7f69e5a636141cc13bd7c34d17eea2c7a11a6dd2f1e13f0b38cfdf91b08fde5b6a982932e7f7fab6e00f0bd428752029d982b384f704da21bb2c5546058ee6b7d8f2a92d13fc8dceb7c513ed082df8d03943ef02af5ed5c21f22e02f076117ddad992dba0f00efe78d4c84ccc68d6b185eae718d9c82ea1dc469b54923d08f223eac7c1f95670051780686c3feda168850b675b1f83c5ba208dc5851dda755747ebb5b408d7ab3ce560359561a4308f530b89d3cb99e2c42389867c101aee91be2d6457f6de3067c3665dbe2259bd1725aff0f8958cce394bfed9661a33ac467c7a24300aa22745e8c955fde37f8a2be76bbcb7e5850afe5b03c8defea67413373291037e131018aa338ecd7a3be13e4323373739c45797ea25ba69fa99268779ae2dda00641d17046fbd703c05be1a4d3e0501e3ec5c741cfd53d8ef929b816c2b361ab45a4d028ec2bcae3459d00a75b02ad19b6fe7e5d9ccf9aa0577b17aa44ca83a1bce6fc836ae2280477dc6becd85bc4deb327c14174d33c518d8b098067693175cff2987aa32d5d886d53c9d4d0ea8162a88e5af2f1421b00bca65a75a6572f52177bd942079fa72fb49fa6e339d6a0dd2465e8bf818d1651b9456d1f0dcf63b8e89b04df5d172d28b8a71f9cdb702037b88d44de5e73e3b27e58d6799e38995e1ff5fb8d31eccf8116b49b0a9d70c44f59af6865ad23839e5faa5f62ceb6c107bb88d72db033bbb973cbbb53867d154290c7800a89db97dbd952e9f4e1cd2a3d1e39c1f4564c45509fcc2f6b88ba810f7db46c047b0d35068df362eb889b620894484c64770c19149ca208b514dd0d363f2cb57e9226cfafc5d8cf1a6bbbd732b619bd649ede33ad2ca914c8b9bf365637d888dc40580e29920a890dafa748113c7a4fc7abac0afefdaea939bdff0d6c152c06197353b8b60099a1fe50a8212bdc144b3c0661054716934d8582788b3aa6970bf69c40b0ace420ab42b9fedc2513e28bcda37adea2a1da01672b290e901a70b1beaae0836aff0f34d9e54b632f5df359c117b449f4ed7639f1f6e9afc98768caa4c8a4d870ef680327eba7240861efaabb928c9c2adf79c4c6ea6ca4c761ede384e7e3c343c9f7178d0cd54c6e16a784179974fc72c97fba6a1d91bf8548e5738f6dceb1fa4eefea0059a5b2728100ca5708b5d6b87bdf941ef9676404545b975094adb6708816089b47e41f615697f538b36b9ad1160f01a02b01efdf354cad8b44dc2b4b1549f850782da8390ced7f6ee7b225c62b1f265366b9787c9cd2c9280a96f291aae3ece3ed3da154cca8965be767258afdd8f5dd8735f10adc813b962dbe1e28bf0bd083d892ce36cd758655d5b312b34948f2df1469b859d39c9699f32c9be0193dcc54f8cf148bcace39c5ad4b6135b1a9149b54962ee298a1ef35d0f38bee8bd448901e5f93679baf33c5bc4af32aa0070f73e99842b5a80b4201925d756e432eaf6b64288364bd6644063d89ce7eaa32cd3917971e9fa5dbea9c6bbc181c71d4511ef674e2dc78e39b97aff732848a7fc7cd5b6753f65647bbd95171d4e11d28a4e54c5a63530e170dfa3c8e1ab84c6f3ae8f9d227a92ec57963e6a53566b8853241ff24f0904587f65f4dcf34a2bba0f6b4267fec349985acd32d2e4550341a2d7b4b6a7fc7457c02aca784cfbf8abd98bf36c26290664e51e9b293a26590101d7635e3cba76c1f18ed3e8956b4ad4ce022d02a7ae568cea17469e40e06e933eb0daaa14772812edd7b03b1a7de92187c0841292918b1c308b6f39b4e7dcb18fad49b1e466eb2c9e5a2820e4587b8bed4bb4cd1cdc790fc3176615033b8b8d29bea7a661cddcb4c12c80f172ac1224615a55417da16704f218d4882b91e38b5600e361c55af79feae947d2579706fea786505d893f5d090b4ec81b316d237de8c544c7a3c7c9158bc9dce667558139d4b1a42a0df41ab2f551415d1f2ada05de2e70e3221f144daabe036b4f2ab7407f0ca8a35f1b66580631b4ed1ddf7ad70e50437c0bd61bfce0f3021f7a5b5cb8fa91afabe45cbb9ed1c67b158737c222b83d04aca221db1c118a456f1a99cc83bf4f577857d8f66e89d1fb803a5269e0edce6dc2ed9ee071115c4e06235ae87f456626eaafeeea2c532335d2f58591da02a045961483b28e23fa7e9f7c5929b85a6b0a2d89beacdf61fc84d1bf2113297c853f61e99404598fe6ff01e5c7565f60eb66a3fada7473217500e4c6717c35b69484ee03a391ea6628924d8648db75837df3deb3c86137ee1d3bb9a271f5a509e67fd911634e1b9dcb414874e4875a621fbdf749798fdd2e82948a9e2e04e7a683eebd44f6056130ecbf6e4c6fbab957e9f447fd09f571baf204d8cee017bea14d78044a36c9a6b353b9f0670c55cd116a1547529e01c117b26af0486556dd052a06833b580f64f81ae12c354eeb8802c717daa0295c506b8b3093fc7de6eeb2f4a8dfc33930bf1e82f40a5ff1637b67b3bd18a2ec63fc0b0c77a3a8366ab41d78c3b51830a4de5b3941676c6b2a41ed869af079b689845dd367b9f31b0359ac570cac79df216862b6d34ebd9dbe3d9e64bc892775523aa40952bcac60c1a32a1f4849c63c42ab19da9632b11e4a63cddf267a4fdc036196835b8084e7fe61098015e17f2bf1990c50113b0950e63bd1abefe1a76b702e590d5bd52d033a5ec20e2794e3b75ef614a74658543885b4d9ad757f12dfbecd9d3701520a43cd168c0d3ce2955f149d0c23a6c93c7c2f7e5842ebc8a0e05b16e650ed69dfb4114497f3bb4489434f9d22784c9395f1b7b5b86601e20181b6ea10f6fe3369259752095da895f8ff5b19948516542162a8cbf6f5062cc5467228757dc54157268f206f2c261f16b7f53e3dca18cf575d9f2c3d51513ed15871ceeab03ca6f6947c6bb28c82ec649579246bb5b80328405291a8c0ff26d5a2d1d6baa4453c9a7b9d5b2dcc22217e18a1d2ed27d1aa8de135298421ecb76fa1644412ecaa550a952680e288beab7cea641ef56a788c6bebab1edecf2eb12250605344f04069f876b5c82f33ffdaa39c5bcf9538055db2f8b70d2c78240f3fb36cdd8808aa82c5f2fdbd532323e0f71c43b0dbbed6b0c64349d4bae510319963a14880174af239c7cdc91e8ae75d1f545c0a4f573b4d339d74445ae39f6b0cf77bf127d18e7469e83150dc02db036f0e987696aad6d00bde89f26a2e446a2c6812c971d8c8e78175cc71e79c55e7810202ac2e4a2939dcc06671a14f5cc49f799b8ddac4a6040c884e0fe43f10e9b8e13f0cfab8594c004b8452cde872a858b69999a1015a4805a92693ec0ce717783361f9498d282388f9ed72379f0592da96cda0618d8d143a9637058b58ae436e6f203eaecc010191e7196fb1c1fa3ce3d4c6b84c7c527f6ae72b1eaf59675add1f15d3cd5820367e51fbdac853b5f36aa44d8cd58f2b8d28a664150f2e22ded7341fd14d93317cfa97ac202b4cdc4e8ef93a68da4b78cf81690769aa5a2e702f5d6baa48f54a901c90ca6b73cf7d04ce72e325452f34f50f84249c2d3fe107ff51bf9d075996521c5a2bbfc967a5deb326e530fe9f6c0153bbd35cff1080e1830ce0de0cbf203fa6d73f502c076546987788a37b30bb49e2333ae11248e58c245846be7f7cc1b43a764e9647e050d429879082326ad7402b773384051fd67b5f014429e97068e27d45032e4da71ecb29c84fa310b6003a9023d4823ae89798387d1e668abce24d5d7d9cc325ccb6e83e037ace6dccc9e3733ff2f4df60279fe2f1331ff12af68ab2a2a1375a3f6ab7463dbc16cecfb5cecab215807c797765cdd05a4e78740dc5257f873b40d253e5caa1249c0004d27b540d1b8c79f3ec4db29f49d35e21ea36545a115f906e0009bcb4e7cdc623fb16b21addbe600bfd55ae381287b0a5dfe950aaa00a365ce1a47a23d5f25db72e869899919a6b2b829296040d4135c18dd83f3df870aa2e5d421faa3f73f6822f4612f15b6948e27dea76a37fdbd7b113a01863034abfb2d8e282d56358f3a68e266c6a8f1c3a8402b6d0d31a222a50e098a31e3cfc7f611a5c005db7e0aa0107b4fb826524734828d04f2cbe3eb2c1d01c808470c50535fb11b7e7e240467df1db29361ef03d249b719074aa94a23fd534a575a647c928e9e2580f5d10252367fc1a37bb4c57acb1f5a059e297da729bac01fa51283d8f635c92174a9b54f5dcd52977c3246d57722e636b6588e69b1749daf6df45422501d761cae43db67ad4907609710c2a6bc3e10018aefc0a746f7f2a36a49a8fb3d1edc89c294f7eec75d77f1ac90995031a9caa843bc492452cddc17e87bbf0690a3bbd12ee05a9fc8a1f74619fda3b240886a7c0d2f6c11f62ed831e03eb3bff0ef8af53ce837f0cc5fff8807ed7e3b80c66c30a05b70b015a08fa9fe75e2f08d6e0dffcbf704e286e9292cb80000a41f950b4eb93fd407ae81417e5628dc4b94af0e84e5b02393c27e12aec4e0cd558bcf657a259273e90ca6df119efafc726b9a1377250e32a5de9f5b6a60d99409186ea0a0b6c068c13dd66d4e42d561132a43c4ee6ad24709699d770484ec2d56a0b1aa6e5dd2fea10cb58695eaa6ab2c2fdbd76202de53f4fc1122a34fb5959017ee674a3414ea478b3c1ce5b1d62040f166c4ef5d032449150d2e4415e194678f3d185e82b5b99d0da934bcd111c22e71a4e1d17408e93191e6d52f960eb9864ab56c5c12312ab0282ace5e1d9ad76a487ee45c16f7fad8c785bd6a9ce4e912375f5d438371355d8690392d6ec0fb1d53e03edc9b417a43076110f378a8eb3fadd6145dec57f5e4974a078d65327213c5b1459adbd4f6b50fbcf46577e65f444e467913c293afd37834ac4b6b327e5e80fa868e79fb49858c39a1db60badcb549a85652eb7b1e2315c3a0668fcd818a3bc8ee1a0bc8916709be43aa33351c72339a3c007cb16e4ef0e20f4acb13f3cbbefcdc8d781ec64b929880ea5cb6d7f9a178faca8949bdd71a834eebec38ef5a6361017cb770db4b45531a53292451767e684bd15812b8e05481a199b75f42489cc8dbeb221ba671193646bac6536ba219c35d7b3c3a24c73aea4288478466638400f3d95b1cee6be993d54c26e5888fe3a7a8af0994c6f16b466af5676a28ff989cc4922b177c4d6ea0d7d70aa4aa2bf601c149db16a4644500edfb57194d56b6e0330bf6f18d4d57513182350bc8ef889582346bc754487ac5487c080e182100380c1fe0cf3909215018987fb545113ef1189a94dfae4b9347d9ffde5e0016af71e23398065873704586a276fa919f12b8a23f8c2a00a92660a862bbe10d6c0718bf33386111feaf344ca54d060064af79bee369465f7247614dc8fdb732f764a447e55531450d9444a3aaa143b405831c47ca3917dcbd6dd676ff952cd6e11da3ae89c9609e4b3464f2570d08ae31b8546a0ea3085d6f925f9399ddc80b0439a5dc17b6d8bd44aaebcaa88a7dcd04d8a3cdb3b9cd0dd565736667647c73e0a968856af4088403a0a5e8e5bc06fc56aca2f8d805b39cb014c07eae5827bdac6dff59888e1abff2daf9a3ca09303244e284f3dbfb93f288ec2a99d788f2199b02332578c3887789a1d166e2d96f150c4fa80b40145a7c3771b3761789792d9f6b4a529cb15507a7f1bd6f77eba5c6e1faaaa81305c93a295538d604830bb5f0374188316e3d7537afbaf4c6671e53ac67a594fadea79d889c79d3a11a2238e9fd436de22a713629e4c1671141e3ec70b4383d9a8c472ea3e5992bd9dec4508e3f11b8249d4342d0dc0c040524226fda2bb62ee1d1d024e6d6c41f7cabac385efaa009be81b1710d2bafb8431504104b02351fc68bdb7e123f4e1dd0471dc3433533bd2e2e3af37e5b5ed6a1455192bf01a948f85a846b6e0c7f798c1f3a8aa4732b470cdc1ad7f77d8b543a56df953732cff46ed29257a716c2d3099d7333b6b8e0e9fece4b873a4720284fd0f1395dc9e7d64b2d7ac3594114cbb3084d54235fafbb8305d95369adb2dc9f31e460edf5fe42503de642c4150f7b3ab2a741e2a1e915a08025ec8a1404de7e6c0ba814c43a4a2772625347dc6eccc68b3f71c1525d9fcf364e7b1de9ec58b4908bc73a67cbb8fc17d741d204fbd45022b0d709d22c323712002aed271af2b3880ad85a6d0817616a43fc042840ef6a42de414f9a51b1addc0b2eb4008868c31e3e4a70e50c96f5985c18e7194d67ea05f77e336479e650f1a4d16a30e65cf81e4f208671b049f71e26227b8b9106c57f38c0b527d5abb5074c4aefdf992eae28b070dedea815002386763ff616dc662f823789da210cf9fb7e42c85cf504ff9571262b54a874794c8c2f8b3ee15915797bf1120e4c037b0d6b78d95d5b43a9de9670b1ec9684576acf7f3e696faf759d7e5910092ca25445489f099931ebf780c76208aacaedca8ff079c6787ee066d338ff32ca7b436c01e137aab5dbfe9b06d639c49d0cf32f81db9f83dec2bd4de51907b58e47fcccc2c454614a92d7b3d3031331f13deee510b88fe025a59af62784886d50b13d35de4c4dc761dbb110e68992964414cb76941e173cdbb3c2d44fe7835c1a8ed8458436c7c83026f40f30b1f6ca2c04b86cf1d3d6f3a69d9002045909f8e9b9e4b8810ea8ed8e89cd0719748350489015f2c55a9145b330bbfacbb053e40a430a3a7fbe9bd02d0d17e280c5fbf2363bcc2ca1ea48c59baf2be9b806a1d8712754c3e9f56328148f1bbcf808f49beaa585d329c8a68d6a7fc06d5b73efbed41d62146dccb790358ab7c480bbd10f23bc731ea0af6750fe9ae70b246244cc064a6127e00c09671e2aa2a6a14731c32ab1bfa1a6a0c3cb7f673a3c4741ce67d2cda0690b342d2f5b4b40fddc9cbaf373e68e0ef101b459d604d2e87ab5fefe989b9e599061f79e6edf677a6523307236c07bdd0a23c9d4d9faceebd41188e6055da253b6ec716f0a62610212ea9e0d1f25c8eec2e5fc046f6b8acca777c224f106d4ff9a60f1d56232ff20e6aba93654af64af2e93a1e5a302eba8bc14dd0916b3faa5b11accc83a83197b3d261b34c0ed197015c994e6d460cf270d876208cb391798d60e706b7b67fa13bf084f0626895be5ece8432ae175744bf548d7467a24c5c6a6cf3afa666e512ffa4f4a9e50e84c89d5dc81a0d1a36122727cc3a279f3c60775b60a1fcec9c6679a3fa05b84583d9c225698e761ec42e51d8e035051b0b6361d107814a734f28e4b89dde04ce90a4a70d1610b4f353d452b7ec89e97e9d47cf85bdceb7fc81b402aed5c4bbf969d2d284ef69014ed3251f97b912a03ce96cd0ec21eb46fe2f54f471a3ca75562e94ef6898bd830672eef5fe430e2168f90bb030be691062bfa139d2cfa8e45c00b76e6f2008e5cdcaf054ca4171ad819eb7c976a853bf77e4d4cddbda31b30d95f2f89828db444455ed0c817ac51544aa8b96cec86a38929ac0fa1365687711aa0b41ec9a0a03d803edadb582fc0940f2d04a71ae01345a089e6085c8b9eef00b4136bf98d7721c451dc61031e95e9a726cb640d9ce06b6c148f02fa702c55354779fac396aef855ae45c824b406d16969fc0d7ce71eaf61c4de40eccaa3ae734421db7a20d9eec977f934068c528bbdba8aa7bdd122d0d2d8e3e23c900c76be0b56f442edc18fc6d68ab523b3bb03bb5005be9feee1c5831dff2cddae20018cbc7c96a16a3a0276369e0541a495b44c895a6975c9e11dd8f2570e60288f317b4dfe22150e58c951cdffd47d8977482e5f93f0a3f7f8e4c6899b3015ba48c63c49e4bbb1a85725b589bed464909c6540d5380db40b05c8d88988f2d8a70730ec50cf9c738bdd348b548ed8a972ffb3bfdbd21a7893a7ea6c1ffa475459ff394e364e2d7b78e15db2222b72305ebcc5ea303b050b666ad49360a0bf3aaca42039faa8e2a0b8f801a9e2cf3b3f55e16201b581ee6b77ea73fe20f9b40fdb607a173256169d98c920f2a055958f53f8320d31d1bd4cbe5c507464f0bca0a07ab74b564b7bd8aba78af61d6afb6efd0d4f53dfe1bb4ef0e4e2f38dc513ae5009c741a7d13dbc4ae423d6396f6628325706f91db013f36eb3a76a35d94975e43c778055b6379fc28ed45c842f7ed5e6ade3ce2620a34a54aee29981c5ab7eeecaf70bb579293d03a233dd4ba0839b00ac7dfab305990b13807a680100fba8308c5e7999acd7157b93ac2a8b6983d934e0ae200012ed88e6a2f822945539b50d98685a359c8ca7f29d3e523780887583a8cee1867e798b0926cc2b3fefdd496a4eb5bbee1bd7cecc9b6fb36126aa2ea68cf19c49a972eb534fa50c160e85c25457a948d22398f2458591944b6caaf357e569296de6d18a912c9aa89d773e4e9906a36766e01c5ab5efccd5c80554ec39ea3493727f7b3268be81a8596337d87e68d3652d57b820599f3627fd9438f6820af80913a33e12230a499f3175aa43aa2e920162bcdbc89cf4e086ae699e39f08f9f11f135d264a70d1165b2efdffb8a9bf2888020e0e962b5bcfcc7e4c7d4060a8c71a011c9f0597fccfbbdc7b7793120315576bb326bcfddfd2fe0bfdd487cfdf540670d219c7e410010f8c452eb09548b26d4fe54c1c32f61389f029bb0fcc98c774c4564916eff531ca94f71d803578c0b918c10685dd2f5ce320e0355d158b5f20a88dd7fce42bbb9f0cad9f9a5f8b9e9a314f6b9076c259437354eeddc25ccd0b8385efb6f9008a7b53a57e2d769178b78a2236f5ea3645e23567be615b1ec94eb075639f800f9a2fe0b3da2e8834a82bcd9d98c909757f34fed2b0f414726635094d61af364e134ae34eb1e1c29f55e1fe7bcfae5abadd06ddb12c0440931023d27d7ef7ec39382a64801833fcacacafe798629b884774d1ebd9a09f9d23cdd4aa803d6ee70e1e9669bbd9eaa0c1e821e20bc45df61b19c5151af26b91f03224f9cd797b86a3eed25170ed85ba5aba72bab8925336dd83c304d473f4fd4341df5711457247897ee9b496b84a4af983f09386603a0743c16c69d1ea92a196271165eede650ce2201f8c4e3adafa8e7fbd468f304bcb0494f21df0714d7ad4757602b594e9c8386a2680e25cd3d06b7f06746674583d9e757d280556ce9f2c44ef6931aad9a5814107bee2d1336bb20d53263c21a842f2ba5dc2edcf1de5df049f29beb1128a838d2987d1d8ddaa0e794b9afc45f62f11314219ff2a2b61d1183146ef3406e6133d6ec2e0d2bd95ffe6d09bc03914bc2e15f6b4acf3399da8beeb3d8b393b5ca48c3c9fc55c6ef389adb7bebd6eddd4ebb4119ed65df466eb410ca3a27b6d532ae210043ae72a32b195b3af7f9bacc68a14b90f244a76ea22490779ac63c69a309829b61990d291dd92bf14a73d3e72c0666cda924429c21f805a175d456398a0a4bc3a0d8cb2513181238f069d63f5be64a343d17cc877e7f76bfb599a583887a997128009694d952a4895c9365303ba2ce53c5b734c668effb9152f21505f742881f51fd49a57409443c95433a17341348b037157795c9f4e8fc972aa3af615f3f71fd0e57eb086a87978ec0d62101b397a1659d8af707003785925ec6d427e9eb63a066523ec72a7fb3fc701e294f620bf9db38ff3481e2be7bfd458d7a74e428d850f2b2223cbf265849c35330a8e5c5ea8b1930b72fe3b3af580e9bb9ea1e0660f02cf794b69884d41f3270d96a98b815feb5115758cc9d75fafd200b4b0de6b8a5e06bacab72584e6b1498da32350e3692cc5b0b2f6bf1fede951ca7f6a4c2fe14a73966597f51feafb2570e0ff1fec8d476286289066930971069091d393249fab6ab12103214737002abdb3c2838e85cf7d5762c43b8eba9f6be05cc49a38dc087df0ac288aeb97df15546d7a18703ff8f0342c308623f369b1fa59c6ccdac4c72b4856be37849ec86417705ee9330e6221e42e98dd9527b08e8ec9d561d991dd775bf0db55694ec35a705636c48c9f92d86dc07e772b8191af529ee93a553fb8c3c287af893358f9d1ef8ca48b8e8e5d8afb9c298216b41bc5b9989a2f9a156984047db78328275ad3efbd1b4f585f4a2c1c220e24463f5fb9ec8ca20ece120b4736b890d62b6d92911da62af0500dc65c39e610983cdaac9287e2c1e7df05464e53ef425ff198960e602960341506556aff04dc0cdd41ea2b5c305678c65b6bf53e537b5a03c379ec0390911ee05be4bb69e15c28381f81fef90b18e9be450d89530cfedbec1d8ed1c7be8f9d1f4558fa9295c0e196f8e0983d22aabc22144c3c22f1190f7ce299704668581af6e343ac214833f9d02ea83dc66c4794144bb6445680ef0151e6b6d41194b4ff69b939aca57203bc34f00e69d48860601e763fc7dab21e35b8df234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d45839be99032cc03ddf8955d941d1ba76053730fce1b3c443b57fd7783229dbee85677bbf99d19d372923219389146eb4b1da4a5f376992dd3ff7870b0c402ee72457e8b0ff946d5cd4477e07f49933db5665db21af4cf97a0aadeab6f16130b1c9edb8c22d681ee344a3e608273d9760f341af537380312bb6df5e2dd45823367cc591b3e59fca0273a1b345ab87cd1ad6fb00906d75806e768df5de338fea87342bd70c7b542e451964a672dfbaff91d3126730ec1f5d5f1a411939f20e9a599691d00a5743f9195cf5645b244f67cebc9b354727b6aac3cae15d2e8819da44c25383b29decdd26c56426fddb8b98a5dc068c602c339b4f7561e2bdca65490274dd9ff541f526fe649c4cd29590385f420014d46ac7f45326bb1c1a79573f6559852d399296485238539db135b882f1d3c116d8e10a0315a74aba8d705c7762d25b2e711bf9c104a949b81a82a75eb6d538f1ce97928326d9c598c2a2ec2c3f555e1c372493bf7910aa98e74a06012b9e3890f22bdaad80ba63f3e56f8fca339ba45f9204efa2b651884e8fea711c94177cf107f8d73df7cefd3c010f44021f761588db1c91d28d07421da4c3546d3ad969ef3f8475f5f2238c8579debfff1ca248785b07f96a3c6231c5aa2619d3a03eab5381f56bfc44b202ba08bbf147bf74ad3ac2773354da0ff8e550a13bf4f12f709831d0559a4e93599756c274eef492de904b311c8865e46997ee90b58a4a582cca7ca5daaded0ed2b3c49c22777d52249f9da933a00d624d4bd20477da41fccf50e14f96ad0adcb9d6d8de708757d25c1c8f2bf5441e3100be24c51f11cba934e2d98976cde3df19c91b93ce09ecc9ac6903f2cd34e955f7ccd9567fc0191e97ca5493df726885b270281bc50790ef327924a0b9a294f88281d7261263afd2cf53fcc324c5e6aec15e14e99a55d9a381879d24b6e898ef251caf43122e7e47d041f9af67bcb805fd28921133eaad424837f6eabda84525ec4e52a001c574d4cc42bec8ee0d892772f965768c795137275d8f549be25bf6864a65f4b09fddc7951dbb078d5e37319edefcb50f73c62a2bd3afe87e66c9b8e26b15e5bf35afc8df493c1805e152cef68f90f46cc4c940767dde4370dbbc598c981a08ec99de636df8082c80bfad5f795ff7a740e035549921696d86ebfafb0eb35c74c75c337b971d86f40ba825911311c6c822b9bb808d8176d56ba462f1fd78874580adcf5db445ba52c719acd377a0a7ef0b59af0d952345f64caf20843d0a230c5e211bd5500fe419d6fc73c605bde4f5b5dd9189e2290e16edaf2f8a3f986cb5e3ddf7a2f32874eb863cc0e80a97d62e7424d40c4f4cf03ac9a0dfda85e8a2e3bd7faf661690d62943613947466cf1839d3949338478f420bda1f90be73fcd438a89e0c7ba41e2a97f3e33c88dac9d1c8241d5d255461a6445ed24a5641342f748959116e80427f2a7bc1504fa37159d940680c222c7ba02dc12ddca5ca56264c6f8a182570113b2c9bb9e09bb503febca7296075b4f00fe54fd1e9f84939cfb681a6ba1f99149e984ba622a29b3de096d14b5b29853c03c7513b38942b3221e9581e825f1633165de8624394ad67e5908e15ab80be064567b8e922792e10dc376421a6bb6cd213b63864852d2c7ec2a3f17539385ed33c840cc6f59f00863dfa5e71d9d55d71fbc5d9e3dbcb466b031dfa43129b94eea8a7bd472b41b643e73d26a4d2f37be33631be4e75686b36e146063fa3272ee69a8b6ab2e130701c4cb3c02d1363277bf0835e0e84a97bac443a764e9fc2274d49d7ecdabf721f49a455f584f62fb8f843bcc3b565cec919aeaf6774fa244378dbd54ea8b88c872c7e6c72abdc7e386178b24851912b49b304ece57e0da3ce7de7401164bccb3c9e556836380a425ddf0dd561f2e4a592403acb4fd4ec6378286021ed7ae90c1a649ab8a5b08f0bb49fec014a98caabd5a6f2b5af8e783867810967c056207a4c89518ece01577d1c37766d4cd2f624a034b02c58ad5080f568a587b15014bc9ff34aa0205ce4976298160d1c7440855cd3c076c51d2392f9a730451a855dfab99b377db10fc1896d8cf739b43dee369d816af845170a1266fa6b015f3953df76f4028cb43db71044170a819665f862bd364cce3c8ee80919e1788a7fd040f7e5c6a55f89905a4c1b876059c3e2b1d2588486612418da2f5609ddff024ab6df45e8ff785396e114dcd40e315592d195fdccab002eaa3ff99fa25c99b52aeccb90f0f17ae3e601d3326bc5432bd707142cc5a5704e415da942a771d177d9800299f5a4dd055a603c640ce363cab2026d6de14027f9654518b280c60bd92d2e2b70a78c2e9ce1d9e0c423bb4d7ffb30296a58f8011bd055df17c460cf1241e4a1d8c8555322d9f5c01234471932d522cd67af3431555440b0c12c17f2ca8b4054cd93bf6cfa3e7dbacf0153d3399184fc30902d2da0d45198b12ed9b82a04740474bed39e837a9bb2d37f3fb301888ccdcc353d9c53a4e89947d9d8f49baf1998181eebabf67636789b6a78352ddb033812fa1d06e03e7dae23b5096b2dededcc419f7ae1d9c54e55e7f74bc1e5a14d53472d3f0f0ebb063bb690ce547e7dbc21e03e82cf9a2fe8b4bc784a7d5850f40ee9e02ad6751c622f423d59dc527b7f3a363ff2cd89957d456282fb3e9f503d5126096eeef22c43d0cf3cf13a5607348b20fad7762b3642e3ab6fbf1b403532bc601f82703f08ee93c80b37a04a6f2c569ebdcfa6495984b498306ab69096151cd68628f6157ad70c35b38447f6fb64a3d2cdc7ca5e32b0c3a3112fc5f89e1c5d72d76fd6790587d074d76ed4dd143867e3e1f2d1ee4698856e44babdf671648ae8cf56f75523773d2f43084d2d7dc362168800cc7d63dd7f968d4a7ac790afb8c6d342ad984a4ffb9fe63c7d4cff11c56b05e47f080df02e261ddabb905be26046f278a002def53b2c4733994ac995608172dcd416a81e8a87b2e95f0321ce0b57b04cb0906d04b0f0e8ab3356d206e8748dc1f48649ee4747aa21c00613b317869c05ff14a513cc313004e998da2b80fd743d2a5e8633f01fdac0387583770c736872dd995e5dd4c2ad55026b4169c2d90ca2a2061bb9e26ef488cbda709b563d4e4ce6e672b2f918b683a2520f22ef22ed0961745e066485bfa4b8a66b6653166cce6159ecffe343f5db69ea64b2b726644bcdc33f5f1ee5d70e32c87e8a63038f8a64aadc187a64262acd57ab070daddc5df4b856a3ad0946ea8060d1e97ddd55f85a1bb9fd2c2bf7a00404e0e023830f9b33867498db4769fcfcf9165a270edcae4654f2649ba4d076a1ebac17503819c230859e0a0e624793256a86b0488f9464816700d2b11a84c04a2ada1a21fdea7fa9d5964bcf2dd822f3fec79d5ee63dcc62c457d1207596e40ab6fd3557fcd58d6e814fbb4eb1c4c82e8b5f586dfcc0436b05623e1b74ae3a62955f000de80484ce0f45ed54d20f37202ee108909b28cc84ccd6bd641dfb94bb079fdd73c95192331188e881202579ef60d6c99396e672eae65487d0d333756394c19179e6b000b2fd4aefc0821e7378390314f0f6ae381e89b4ed33930b5256306301bb6ae0c95dadbf1d2460a685302142d9d73b30ba7103f5679d439e7c5274406566c4e25f70c26ee137befef6b77cdf690080f34ba5397656278fd04c5b61f9bdd125ed53e466c9a75ec677354b7c2139d4df0793d383f74eae381c47b3ae96a5610044d13de3d3019cb865c3f237f1052b6e6d6fe2d56cdd4df8c4a5cbf005f0b7b22e3e218f7bd2490a9101e319c2b9619b31ede5d1087b3eb7237b1f1a73267f060180a4c13720bac8b754fd7ae0f95471cb1ecebffcd287f07a4a1ea10830afbb2e13a9014891018bb33cad7e67da97eb21955c7fa841ae4cabe9810109851115707b0743758275feee0b9f1db6199d933e6cad11a8a462e2ec4f7a3c46090b8042bbae1e9ce1ab378a45874f3940412367fb2c7f19a290e58777411901b925b841619a36891509a6456d3e6d0b5d2ee6273de2ed8bde0a9d07de6575c5c365798f7cfa6a953486381bb5b803f08fc224cdbcf8686b7c01983f6a4dee497f3884b3e39137273debab2943a4863ff858d8d2879c965b2de1f07084fed54ef22b9ac699da3a78715972c00f991c672472731137fbc6a4dfd7989db638ebcac611966c4034caeee0f8082b7aabad8fd2d8c783b75a9c5c03c24346a2e5209f836a2d0ced5a61b9f5770c45cb678b9a95fdedc33c74494f67b7278b7dc857a42b6cfead542a1dead413946048a8480d9ac401cba9a277e45036383af10769dbc6b727c421310a01de65ab30730657265ab19aa2daddb606a18618fbed5d40efe7a0071aa9b9f95772a3a9e1527f933ac71421216dc42d5825aae5d905dcda3db9cbba5b4358438d5e21d116112f52ee5acb12557ca556658143831d5d063cea591031e380e0de4bc8cc241ceb3040f4c5d5c02c15b7ed741e07f914839bf79d630a5e1cdd6e29667afa4076664c9733c5a5bf1ddb70284b79b44bd7278758823ec73aa5419f5f0a65b37343d51ff0896c5af49ad21a96d0874fc695462eb4c274bad4a7e7ffc110867b2a26a9545f451f878fc4b5850e634a8f6d818346fdce066d5e59ae20121e299f40134633ee34f7c95398c933c11913564dc466de01c4df52992165a409e7a8b61c16bc67f0de30c41b620990734be2429aea138683405647a01f0149b35c54a90462dab9e4d1acfdc0ad0350d5ef42ab8068f5e1798c0b37768069da3941d63cdc579c6259ba825f9689307f218d50a950302efc422e799868470997f5b40e87d08fdf4c0c7a5d41176d956996527d425ef6b24d74d4eadd6236e181d32d19a6f5392a7ba7e53a2f8d052a785acccd9f68613b641050381ff43db4f7f140dfa21a08340719c26a496d64c4b36ac543e2b570fc3c733ca53370b2a548066bb9dc1ceda7c3c5a4ec8bef9426241891f1b3c9852f44fa2721b88830804d9fabd25d6e0f245dc642242f6ea3ceabe3ead254941b87f2b44a7bf606614448758ca923813038570469d7b595265488a7a3ff5c875fedd4e10ca91062bca623c50f8bb314f569f5987a4c11ac123d6027911804ab6cea0bacf7fb150b8a934c0da41dc93439deaa05be14d3761786b2aaed7efbf25c30ebcfb9763e3dca93ca360be0a857922a8a4a215dcf8add84ed20b2ce3dbe054de985a48665953b223e0625b9ec7dcb742502754a1dadcc2d55fbf025889f9c766a0885248b5dd75068b9dcf3f9f9d86e0d88eee9fc99f75847c6937a53ff716949b6989a508d3ca87ef250adc776968fec1e9c621a6de41fa7cfd8c88b0447c5210ffe4b54f058a59d91523256c71e1c5cf9e74d429e4a39d46618d8857e97cc52ff5d69a6cde010adb22159061cbdaa7d8f8ebd23508dbe07cb21731e0e4ba90d03c41e6e9ffdc69fa522b358e81da3c29cb0589bbc8615a8a9eb6a3979725131836ef172a9196fdf6b70acbddd6572aabaf4cf0eb644b989e3b8d21f50c3bce4e40eeb1ae46f612cb89b9199e4d403aab314f3ea20468e8a3fb2b3c6065e3672ce407eb099eae97e091b4582d314814bd86ee99cb2b82f7537456fc878f1954e4f7eb91974b1697a9fe88771af6a92ec5688f85724ae03ece4e5524ae9d4c46d153cd3ce67c700e48047a515411fcde40ba292687e8f5bf33f135de9c2a40629216975c60af56d5fdbd4e36ef8124fc6e7f4c293f6e58089734bd4275cd73eea4a7f697870997921798820c6fa2031e0be3307e249c91cdbe58a45518e065ac4d1b3dbdb3465b37a7be38c2d4f4181df3d71fd589e570e65656b6d4069676ac1e3709833b2115eaa1e9a1001728d96bf49ce0c02bad9e749a037cdfd3415280231c1e889c42260120ed7058d964e8c9fc1640e2788afdd52549022ba771bd8f6aa17869e82dc447866e5bb2eda9fa25fed5de1800dde0487f1b89f46ef6e46872f4682596a1245a8ae725d789fa312553743c77b1b1e7829666df51981c372dab90d02e53fbf353360c7473bcbd3d8189f20abf7a76caad487befb476a376859e9eca499c6380af9d5331e00c6c8262165322169036119aabcccce76047fd1a378810ecf118764f22d7204e51f803086b65f68ebeaefff9dde827d3f2eac38b5d06c9e69c2f732a6f496cb8f1beff09e1851159adeeaeeb0b2b1a950f949c58126da2fb865d82562c1b60da5255d608bd4c0385ef7d070f3e7aadbe0ce25ea2423a8f2277a707f03b2dd4cffc5a2e28adaa9ad909e2329b982297ade08671d73c58a566ea1d5f2289a3c52a9156a919b49fcf192676067ed006251f6bf895db4403f21666397cf113a20516a92efca59c17be973920930e8a2172fa422b826912ca1b46cd1a9c270f04d4f361bcb580f79c8050f6d22311e15c5a0c59d78bec6bab1f2beb6effec461efed7d70420584bd3fa7c3b0f8d6e259881be59e494b44a8bbc6fad5c3c0b076cef3a4fde0b6e3554770e144d7bb216e5167b9abb7f1bf834c10ba01e55cf1dfed8caad1f3e3acc6d2fa92a63984354d6ee9780f5e9f29b5fac24ecc3bfa14376f6aac1f84b4f2d5ee8557d88ae57699f50378df1335c02e638bc4bc20b93d853011440b4525c124890c483a3cab5386d5483334808ab40b21729a0c1aaec92bcaa37449d498c9964c648cbff9f1c439a2225682eea10edd7bcefbf09bed85a7061f51b63f00bbd4a2595798b1805f77bf47d5b5b48f4a3ee54a49224a4dd4d12d29316193e698b04b4015ded9744a5e7d1697ac9b55080b620571965053334538912553d6d447453b4231c951b2ab2623622a3482c8c4f662ae998c774ca4f0e9a9762bfde87cde9b1efc7e3324bb3e9d60efaf404430680c7a75d9a787ffaf8181fd00d5a90c76e23d7e7c387455bfded012bc472cb04df4a81aee68df7084c95f069ee437d1238b532671a8f5d6165bee41ea7866dda023522ff50f9f1e57ab90d2c84b1042f006bbb8c688200687df178effdad3a90cf17867bf9f68063ca74854ce943b9dc2d89e3223aa3cac56cabab6cb6a7fb89d2092a66b8b5439d89a368b326f564956239ca419e45ab7edd5362b5dfd21b6d477870559227ffe4add246dd38d4159f5b54369e024633427a02fe1da0a219f3ca3160ebe955a8b7c9c9a0398704604e2b7d9413f03990dd7b668453f7acc814180fe0e08195770afb4b4690f6fb2fd47b8c4108c19f77ce31683d9c4d9ea2319386028835c72609941d7234cda5ab3bbab061d6bf31cd9db780a070c460c4b86454eec392c23bdaa38e729fe408d5944cd88bb0acfb09465f37e171ea1446c01339397bbc25b323272a0129dac8e8e23669b519275c6e24089eff854a872f6ca9067ac2e497d8f8485957bbffae58610ee2d3adac63c6c98058d6dbb6cf2c43b9fbec0458bd0783f7d1c59c0eac5e733b717685a44f35575bec09504c5d632c3300f2a54dd3bac6a3406976248bf89992a894bec735cb7dbb49cfc0e8fb6b1b61e49aa8169bf84c85224623732d75328a9c59f5a2a5e46aef552d3b318f366bf28c50b823c03c714090adf170369c01c0b171afeb1b52ff954cb943549bd7fe4ee8584dc6d804387fdf7b4bd5e5a0d9ca1031bb06807fd400a11d9885cccd54036e752684417f485eae51c53bdc670f075494e7dc8852a5ce6a074279d59b1f4aa9ef48d117f367cc5a8357365ed54e2298af8b957873793c5837cb649327e7cd3ff60b1533a07f9f1f7a2fb2ea9034045b0f9ad411c76ab9759af7238b8babb536ce620ddcda295d7124a63e7299801a07df26e826b5484b040ce039642656443adf77ea816d21edd4512a2f29ab9d6173ebf58c9bafb928f54f2b39c37fe7020232fc0f07529a6b4c7b51eb6cf336fbf274c38c4e67be1f7a21cfac14baf69abae798dddc863cb9fd50e0d3d451d6a3b6ff687347b0846581d8c3b748759612509feac32c1d3cf905c5bc986129be86a9527b1b9e8c0fe031703c92ef0fda883dad5b067a89a112a2cb0877731f876b76158363777b655c0f01ac7256977bff8c5fe5141a5aa1b070186885cae8ed4b79b8d4d22df809713cc90331b79964e020cca46cecb2377e29b5b610b6a9bb4fef7e285f2b148d39d88179f3c0a925e137da1eb0ad8f7a113191de80a4cf2f51f30e9b7c23047d1f00a83d3bcd189ff162b782afed903192d1648da7fdab2e1566f7f717d61e0ceb1bc50ba08b9e51f61d58807a6ed72d8e4696db3ce41c4cd3c353fa697c81b0a450bf74be76cc52774ab84f7baa4887e7578d051996dea94425bd7478403ecee53fa65f12b251bc1f6f7912177976a4f01f1190b623672509e313b3215dac2e4a7c5129350161ff642782faa42d762361be70d22df0d4b12dfa6cbc5d4e9ae1d7e5fd5cc6accab8eeff494f46e95f40308b790496c09aa732dd00f0280177f5c984cd03cdf684c4f23391755ae645309c6ddc5b340329e1846b02340bc7d82dbbb383321c7356e87024785143c723d1d86ebf69e1f93da88af750304b01278d15d8d3d41cbd4251aa3f398523d4a82be8c94bdd268297ab955b8a15746d9f989ac7742c11857eb0ff5a83f9affaa7cfe6f60d46c066f2dc42a7b7c26571cf162a8aea801cd9fde389432d0cb55c6f3c5d5879be5980e6a088cebd33283c6aa8136a15f8e62d004cdd335c624da802b7ddf20a16bfceb97a1b88b00004dcdf5a9583fc8ba7cd54a003b00d42abd3dd6984a10a588ae9e060424b9afdd47feb0879c180c5674c6a1782977baa210d19ce0dfeb890c5defd6777991cbad237f58970da10f1243368c44620a8dc71ed449b042d29ee96e469cf37d75c7866abd86a00e8d9a2200aca0fb74225f609885001de21b1889019661f0a9c1bfc2e9d64032169aca33ff1338bd3c190dd99aa94d6e672081774b3a32d8baf644af3c8fdaa54773aac4314c983bac251a56015afda628a24b8386cbdfabeccc136b3fc41e949429d6e27e3576ef38b0b212c53975b6b173e7ef33744dda5e138c221bf2aaa27c88c1f3f5df3f6101ec89e784e57eb8e5cc57ce72f4f1162905ef8e6d28f45cd41842c68480b0ccd8463feb8db9d79b6e6765894765c4d603e9995b895875558a066582c1feafcdbbe4e48d759f96007065931da8ee4c7c3e5b9d1cd40915dd4ef763e91e9b9f976969e8ad46ba6f1c717269866f430c938be61eb77ee7e12b063ed2fc18b6e6567158de2f5995d3431571f4823a7ebc338fea867db99629280279550c3965ab00b4ef98616f9aab7b12575e54301c8ff401aac8e47902da5dda34cfb382fb394ae3fb951bfdc4078039171b382141a43209bd1781ca7ad32cde03e295364b62ee1f4c29426d0facc5621316a535795aff05f1008a14586d4fbf395e8cfb5c9874a6a7bbe4ded83951d9a8b64f430964278752a476638347812c69e62e46a7b73f76d7ec747c09583b3cc610837daaeec5e1264669a74ec6cb8cff8a36db0b7cdff8bf3ddc5c8468609fd1e93d2659a3fddcce4d82b3f93a11ee028256149be977e0c336d11c5a12f923830a5d0ee016d506908290d2597ab4286fe57f89672286514e7a7f705cc91b898fced97fdd573b6f5588d477a2ae6c9aaadea16b91062ba8c608163a48832c55ccf6c58f0994f652d57d270970fe257c1c678a0ee3c7dd7ab3b0a5dece459287f9fc858471b8b44ddbc3c98d2b378bbf4ea56e9554e0fd463205a0c8f996fd63bf7d28871b642e1f79344e7e9269ce5ba33cd70fa6783e27f3db1325793eacb5c8af1003a0fdd8d1baa662a0478bdcd6c131e55243ed5a9de125882d6523418afe077d93c59f4321e57a60bd8bf72aba93ca1400ea7138ccf785a816970fc983ee6dcd40e6903f98cf6d4694743be26199c1daf40d91a7729feb96674384db087c67e6fc275aa2615eeab9befc01e6ea9fc1748d009a0a6eeb71bb02e541c060b0687a9f63cc462e5be6c374550e139713d3f3fa3abf19fe68a754b1cbbcf3ffbf78f0de348218a9f425248b398b38238b37b75ffceceea7b937778e2944d399884c2ceab46bc56810719e2120a29b4a4f0f6562398002c7e2926b6d02d50dfd096002ffcca75bb0fd2f1af06a292a680ab330e61d76f57cc8621d07337cb8a88077ece4c7b2f895c009aaf7e4b7e7d31f91c26fed20826f897e77dceb8e6f40ed52cff371dd983ce14899c431d8498604ad7cafd5350124e56eb3c7e55ab211bf795ac5ac907fe27d7c10edb45775f3160443f08f82b62c7aef10257a29e6682a7c101479656465b7289ce990f763ea1f3337e94eac49dc4d626b7ab8ed34c79b080e044b6a6cec656a69dc61a8355b516768ea1a5faef9c0b4e1eae2214ce7096bcce9ab7345d1df6e9039f9ba948c5f368c0e85c6f0af917c303b7a3c08d9abb55e515d0b4ae0c3f9b5d7cbe39c28149a98d923beaf421f19f7bcad856e975b6a82bc3a33102901c78873ee134b800642a0c579083b343bc4241f58a2a47c1a077fc4e6f86b2795484d2dca8d4bbdad1a249dfa6e5ed91f6a7cb0eb2b9e8769505f0c9d82c03c0b6c4725efdb8447060a6df146a1b0b7aa4d2c6391cc2ba7ef7744413e309456ab72920b04f7518f51a4d67b9381b0b42aa3e62b400a84627d9894d479cb50d98431e2acf7b87e55c09dfa60034125cda85617b59abb1c27c590fcbd391516c10c7d48ce860dee3658b63a80f30e3e1eb0322908f5ab41e038fbeb954d7d34310b819465f279b19647999fe342a36f3d6e7863d981214acac5e32da945e228b9bf9e8b712e1298d38420cb34ec9a245a3b2f68eadafb38f77cd24b2dcfdefd728c70c0b47f38c8896035273d69e5b805a30f4a8e0975a8f0607d7c4ec40baaba7e297fdf8223ff263f7278c2d080d4aed7305c17fd7a00269535e6fd4d6b3ae190c6c7f5774ca1727ecf5c789a9ce57c5d6144bade0a4ffae5e9c2cc8a8843f8e68262fd1088862ac98fd5d2a12e94ca2dcb0d2955b86c3b4a49e5499dd5910be551259fbe8750a78aa6ae7463efa65dd428e1ebe1ba64a097bdbe7f56a4ad6c97192823abaf025ff07518023744e7aa235a48bf604a449fea475e4fe8e8db5c9a5511dd503b7a425d3b2044605d0e208af05e0f71246cf0b10e3a8726813b8fb277c1d9d59d824d8998e44253fa44b99de3b6702e439d5c0c91fd7b64f44fdaed0013dbb9940af383fcb2e58692ad4be886b6cb5185a4866f90fe295b9d9447ce06831e59ab93dddda1c785b6735937bd3d77116986a444b4daaa6c997ab7e0115997729b30fd8cc3864a41c66080a314b7b058b193d0d79d80f274d80a8f9dd7de474cb2e49604088feb0ecc6d5443f4c638401e19bdf2e29be7211925436bc5f6bdc57f4009e684f280191e4a20678905158f71569af9c5d6c899ec2e1065a6dce3b3fc4d65c1f68bdff2023eb6a8e5345d94de2b469be9abfa616ca3550e6e5f08bc4ba765afea3313061b18e58be8b9135016bf127517ca22d05c068ae3c71bf904a6a5377959b4619564bcc4222d72eb04a9f6b13232f23110df1493030f68f776eaf231be4abfe101a7a2094ee1482e0b1b721752addb0a2fd9230e8f2ddfb9f016f13a4157606469089d6c94af75ed9f58e03798f78574ad408453f91f918dbca3af5c0ad76d17f0d59f62daf0a0e11e9b6246362b736f52942d094113e52cb7e057b3d10dd448cf8b98def500ae441f4fc7c9b838f3800c775b7007847a1ce8ddcc169895ca1e33404af319f5ee24608780a1c2e8efe62f229970cd0283294e4cda99d37b9f175802c3d0aab40fb12bf07932ebddf0f51b1dac29c6fc7b5f3ebf53ff32f65a1cdab94eafafac15257b7c266e779343d0eb1afd84df2c46aaabc56b876755893bfd8b6dcf437004c6015feeeb63b42fa8652f42bcbe4a7b394498eff8eb782875a4e75560826fcf616bf893083ecba6078765683fcea9024e1599409efb846b762d21236d493c5b692a8344379e62f5e6487c91e4bf7871e7cf172e0c71e001ab419f499b383d5235bea5ae491d00432139637163077006d751b63ac5668933b43841b419a544919ed5f203677fa9f80813a57f850c31429f428ebe3a8b2d98713d336de7b0ed5524f71f0301d86d439052a19e9ecf1519c6deede137f2ecd49f1ab86725ce562159b033140b55318c5ac59c35d2eddfd5eaa36f991a727ef4894296eb956df878742b27f931d506b15314a0785d9c2035e6d5ebabd1a5c63cce7f0d9325ca33e46b13fb0487d744a2d3780a8661df9cc7a9348a65e044803b7120b777bf6f777eb70c7ca294f039ea66799a5c6d8b8458e86619b75ecbd67e41b23d3d262c2219fa75bd2ac8d1747824def4fa41c845d5742ebb00902f686e27809e255a959000ca47c87d4da49b8bac90c9f3f7f701a36d31fe712629fb4074389af4cd7e6a5c9951f8223fb3f5b17a34102c944ab10a1031f2289b97163d782a371956d317adee881035d1db78a6d0a09d80319ed89244a88d7294824c433b554eafc82cab8d16f97286c51bfb6139055839f55c41cdaae2a812ab6fe0b9317d8dd02a3453a8a9b02120a6637b64d3d2566cbcb91dc73fdcfba9d78f7887521e84671ae3048835259550d9fd8949c6126d8e1882488e4715e9464d141126c977682dbee9f755b19e3739e0dbd1a2ed78db81ade20c5f6a8f43f9a8211fd437253b09d1224f4851f0ceda5f8745f1df9a3bc9ef6565a9a23e6e5c468e2b627672062a6a7e697c2268f561860959e23204b9862fd37af847a271a2371f288fe1ed34da7c6ef8a2ba052fe9763b5dec15c2919ba8f5f4b1c2071b17a619b6613d27eb8b76355dfeb12ba402831b212c5b6a56e5f8dc470c760cd2f8d5ce75890077b15f5dc42c98f4cefdc5712c8fb64c7a83c7b9fbf09c76c65a3a63c004f29477857fefaa03dfcc10d2ed93505b6b1339fab5357d9960509a179dbe3168ff3890a96a3683f388a025740ea68ae2465dee385fc2ea1684256b7eb318c75f2819f2a4c82e27a45ee4c6d713f88ae3d7491fa4325df3a1128e01fdbfd37ff6f95c3d370d0c61f43a350341ce3825c2622a2ed50c8f47849a7c5f2c84daf9b586499b70d26546f64437b5bbc859eff479f1faa314b9a17c82f8c7055e69b1f8b70ff01a264dafb179304f04c0a756e962768a9a912e6d60b978e159c16b1996ff24eff2b36b43497c61701526c0700576b66ca16d86c0e5f4bda98fabac972a5268409c76c04ccefc0e681f2aa4dabe5855dde3bb84c610b7219bc7057eec954b0104a72a5183af1458ad94ed1526d1d60664bd60379918d8503e2e88dd25b2888812edfaba145c4a3c1ca32fe2aa23bef3b3321033a4c5a36de2d6fbea98856bc0174b84d66c7a9690623da73af6f469372ec91a41f311f4d1d8bc566d18a7f636c6c335ed7f60169f2b761e994653da79badd317ef43d80d6932e81bc48351f09199723ee2ab328055e59265b42f1c3b18c2e168d407304994f9146da4df348a3817210f08fda70c2f0699a998436e8a24b03d2bc240558c7f093cb081c195f5a37d4aefb3d46d23447f36d7ca32dda9eaa589af74fcf8d48b8c7db6ed6f00b2c8209f57e85580c4f14e100ea6fdc8f9b150481fce272f8d09d57c79adc9b4a434db51daa922c8a83692d0e3c8aeda639d012d1a073efbeed5a501208336ac186e23b781f304d44ca202d808275420ee4c76173b7bf071fc6f520ca1f88b7bef3808d30f77a144fc4f033c77aa833781cd186ad74e3bd71d409f58ecaa1b8784d76ef309e97ef243fcf4dbacc4ace6ac104a4c91e9437f4fe160518fd134048d5be36a22ce914fc90d36e73c9ff918bb61e7303011f39e8c2aa4cac71ddbea38acffffa8a66a0739dc2755845633d6b3262d92b7575207de37b70b57941375907bee669a2080e59fb4dbbf0ec30f087a2b84e9b42806933bc87ddbd88fae7580f7714c34554fa10a2bcbbc20d4ba43f1943d9b1f6d9c3eca7d536996b6c63770349143f12cfec27b289f065280aabf7b510ce0ec10b959a2e2c57c66dce23a7925021a10b75d9c9be673fb004c1e1e9013d88cbd84929cce5b6309f470e6b8c83e323b2da54b932d11eaf5606eb52a1132b5f8cd2731bf7bd8cc9f7d148317a4c2129f4ea02d26d01c15c4f0e3ce45af3388fea4d7e649653bc07aff0e581124511ddb932baca10b8be86b50870d3b9c914f7cc9a986b5863f9328bbda2e94a52eeefdb860ae79b0c77fed93889b359e9b99efbbe9a5bc12c77aa0f468cb432553462e784508dc69b44c4cdfad8e590839b1c4c5762f1e9e6ef614d72dbb0c21f90ba49d421804a7cdf07926be2dbf796dfda873e6b156d1d30dd2bdbd555fc41e19e0695a7e65ffcac9ef5d916aeb5e0f61c9830fe45142b7acf6048e16272cd470be9c687cf51b32bb45cf214073f6d313889648b1ae0e311ab3ca50493ecf629e5e03b8fd131b0f9fbd148542bf6c7775b1e75e86a33f8b7e138c5f7aaf07f2635d85206dc3765eb547db455dfb6ca5b32685926e5da9e01d5ae339a92cfea14f3a67d87ad7985dc879864c899d3ca776e29a20f3eca6c1470091a2cf65db44d5aeb5d10bc65192c216fe566f5a0fecae15b6f59e3388ef76b47a6ada2df5aa16bd855a2109b643424ff6581d7ca065aa4f1fc2a0305fd0ac6e5efaee3e26cb5fbac13bbebce9fcfef242e8aedd191bae65adbabe19570e818dfd94285e23ddd6cd32c170794b6f2e87760745234c6297518d617f0d84ccbb40e579f6ce289232bb6e324d0cba46fdef0af14db7d35de1890f445068321b58322304b5d26e9c89d17bb99bd375796cf04bcc42a4428d710d4c5fadab67665df2ef9417838aecad9811b04362b6d3eff40a0bdcd4b1c249159c4a69c0b81aa25e3d420df36d97bec5e23f8a5b2bd86b77e7c6e4e95166fcbaa01b8d2e9633d781e498fb104134d3b1f247363cbc3236c3cf374f20f6d1057c0ff32300c0888ba0cc0c9c5d662ea519c4023cce4c63f2b8937d60ea80e9a626ce053536750fcf5f45d6ac60fecd166764c39a66a6489176282d1a73768eb194291e664afe1659cccbf130a830d689f3345f22c0ab1dc5cb73b14ac59d104847ff0cf236c6227f89341e203e88e252dfd8420190b3c87ee45d5b3fc11c8282fc975fa57788999dee31b429f502cda7a0e0ae90b460ee3ce8bb96389e96d226aed22204781ef351591ece4ab6f6fb6c21dcfa099b0f18895182446aa66773f8a1c401aae487a03b74e1eaaafc2e8df1707f974fd6d33a8289f5a5520f5e6fc05fea717401995d9b3816490215fa3c990d32954891d13c171b0e0e4ac68a39b4f8d12343d6f72c44eaef63110129a7465aebe815a1ac43695f88bed1c03408330b64759305ec4c4941918af7eaba001f68f7bea75a0bbcf732bf9db42450460924d6856943d2a04d40dfa5058b890a6a8ab557461ad7df189c8864e11f3abd68c36c3a005947d9fcc57df2a92914fad89587b02967c41a933e7bb8683eeda23f8faa8bb9f99b2095df701b7a2fd219e8c6354511c174b167b90bc1584418f6af0a1695ccaa11f15ceb6080109515b0fc82fb26a330da4fb9bbb1b2b089ab5459639020c8eb05296e52904ab2e6ce271282024e1618d68a28ca6f8531b0f8800e96c7b0e33d81245d63d823178b9da1361e16a7189920b9d779f6492ba49a79a10011e82d7ac456b09671f856ad821cb8541fb4a1bc8d09ef15b2d60eee575d258b6564452115c94d6ebd1ceeaeedd4e4c6e03d2b97f8267c995481a2c8a6217ef9190a42e269a29101786e036657c28c1dc17a9afafed5b2e17b2dcdae0378c29422a9a4e6745f35f645db31848abdf3753eb4e7ef9f940f6f33fea58429408b3e2372b609975050d53b81462dfdec7b80037a63fa7dede2c7875cc132e8fdc0d03fd67f812e316d6d677596c1a8c1c67d63ed3d2405bcc243f9c0e19aadc134d5fa1bd887f3487bce598e423395ffa2201631cf019c3bf43c29da073997f3efcf1178b561df9b89d1cd8ffc3d60938c1fde882932c056b4fcedfbceac8798adcf952fddfcf5ed059f7f3e6ee3bff747ec55110d10ebfe63fdcded7519321dd4f6b093cae29d732541aece8ad379921daa1b7fa75e58a8b3bc761f68128ce827d77d571f4f54dfcb95c941a1460f5f753235ecd0507bba475ac4ee0b709d513fb73eebb0f8dbcede7497255faec9f2194f2ca2aed4589d7812c4faa3fb1882bab94a7db8857fee13425084d50b57813cdc4fc27e6fca23c91fd50d85ef437acb96883d2e3964f99745139aebc2e23dc536f55fad1badfcb9c37a5338709d210c92fbceac185834c884a0e27a410ac47edd8379309afd8cc1276e1b5bbaaf356e08a28e0fcdd6be6cc4d20e5a7ec75044f63487a1e28371f65d539059aef9c03e974431d2deb6058c38057fe86fc7668a693b61e03cc22bcff6a9b32a1f3b0e5dd40bdc3ec6e8c15bf469bc888011fce8bcbe19fea8b69b3c832d2eeee7890ff800116aebbb6824449c95744af7f0dadf240388697290b23b68ece898e43a65d381194a73f6adfec5b73f5f5d027869377411e6dae324d2443a1cef6e018988ed14485241f0d761c7bd557b0a8de8b6ee49fc16434d5fceb35deb6ac1ad811b01c90f84954070d3c20cef176578a49c4ae57baa02eb5d93b134745bb7f1374fc85ba515a3db27f44246ea86b47038333278dbe67eb95659d1430ea68ad0f49d98f98300d5d30454df14b3e982e7eb89e7f23fc9113b03043ece7087650d60641dc7c2d239ef0954b763bd21eace188c56ba6b3c65ea0157ca32728219b507ff16e24397dc4d427a199fe80d34ce4d41ecb48efd5ed26b30375cfd1eb95eb1d61d86a13027f33bc00f7b4e7d7a194cea25fe784df0551e7f4262e7f2f4d4a92c82ea7a089f8ad59b74e33571fcee1d403647a4235929e6340b2142a257e65906f0896d1f61f26b4eb8c726a7b6919722f1c134d642e17595c00e2a01af1e254148d48a39150909c6ba9b6405c5f6b50c69b5dda6c2a97e7cf14bcaeddcc762d52e2f7cc995df2de759ef4b48a9b97c5a52973d24304a1d5e6cb00c7ad51376fe5986c9bfc9e8a1c295749dcb395db565b572c8bb7d0d1a4dfd0916e5d963f9856698ac14022a2d5d3f8581aaa002f12da69b5b2987a7d516fe964647fd1afe002653f7fb1b4f123cc9255886663c7bc46cf337160659bf95c8ad8868dd99caf6ce8010b1eb23a577c5c63123e02da884fb31db65399bffce1ee9f0ed6b1ece0465f07903b4f05a35f19cf33bc644558d1e212a6624d60f8d5fac1f469ae1d89c72ecaccbaf25e243d441cd5bcfc394f4b02c0b4add1be095aa73fed9a85e1e404212db214e325fffd0f3914e649f31456452dd1e41f4b3de6330decbf6567ba45b29f766861fb541f5cef1d0bc46a686d66a572c995365200364b183e91714978d4e6612802873f0f9c7933276c5b28008673cdd79230d025a2569d08c87e47a4074b9b8d9e7f8a7c6c4561a8adc0be4fa9f522795adb6b5fe9fddea52bb311b7f6fd296f655c137b24790e3d5f44c45a36cc0ebc78079c39445fc9f5e52bf45c797c9242e28a4ffe70df5c0f96228a1d5d21c648185d3d2c49ce3b03d2095d19e17f3e3bdaad34039c52154121000d675ca85c04f827960f377b3eb85b1fc5ac7ff08c9796811940ed82499e92a2393d97909679bf5d50e206af6ba20fe71e3c71ee4339102a2abdb8b00e6b243e6c8df2ea514b1f8914740aa341f74bb7f03c5410fc3e86ec19f519120993c20e0ef5b260b9c0c44320c06b686dd4a947fcca942bc5195b0bf3c60e48fa26ee6310874f198fd1a4b457bb6095e526c18d6e15215f6a603c72a19190cb59cf98575805851a20d11e6c495e48e6989485673afed0633c251231c3d3502d64af9185e3f3196e279593de4176c6a7087d6d3c77513954be577d88efba61fa32cff85c2487bb209d7a6885cb94c22eb0bd224def8ff63f7c40eb79a9247e29848f125c95d5a0327fd0d27c8345f528219cf6951097efb678a40568ba4b069599621be354e49ea2c44ef908fbb20517dfd8f1b7bf16f888d3dbef52a462760392bdf6380ef92745849af25a3c3328d29ef64be84d1a6c6fca9faddad3d95a8281d6e5fe0b7b4306d3f595632b164ff50576596dd54bab0dd20958c18e6b7c7bc0b4a4e7eed48db2799b3a02856dc37a5adf82ff13bd7d9fc212613129aafeec55b0c41a0c74d9167137cd83848bc7bf7b3cb06f5b3748f4c4a547de41d4fb9d280a0b76c001254ab650de66f8c3a2a3de01d1b5589abde26111cdf66e11e266d31946ae9e64afff2117d9380e9bb42d041e500a2566443d72cdec67b0396c6d2b2e6efdecb446d39d4631778c3bef479586879e59d7c62a30591e7dd232b0ae402e0e8c57e07fc068fa72e260cda07606a1652ce503424861cc192274d156f2adf9c2f85e94a6192d3375d4fd7e0776686d59e255dfeffaffd43d3b96224887a2c2fd8eefa22bcb145892cee3393bb5402f858d6e49e72d707fb4d70fa323f0f64550819e912ef5b423058a49ced98dece16fcd924520042fcf1f08d5b1cc885e65fa2cfa402a1c3bd0c18282a301383b5144deddc69de3a5776c4e48c3528a8cd8632aef2a15173f80588d75e47b21ae2886ab50b21732fe88c94b26ffa69e5a77c82244a9a83ff98438c7317ab1c3116391291ed8e76fca45f257c3a7d444b4ea419ece8e6391d8b76e2ddc77e6750a181b3b0ff2523f4a18511cd140779475746e2cde39b0cd6f4914445cd11becc5e0f5347234705567480e89a68e347f9d152c5682d4cc1dc610685e12a5fc10e79c9a3c6e8d2dd5cb8a3b1f543716002e4434178c54213d2bde6fa7bcf183374cf205992db580ccfd238aa3a1bd0969ceb211f069038cf6a6bbf9281dcaa20c63aa053006e89d8b93fada3a584894b9f9ec97ad6ae60bc283475282e52cc0bad4a0def46d7591af97c561e410e7d7bcd7d854b437a1aa6307fb3920d2c7b6d122fb8bfdcda312a3d17a4666dc341a3cb042535d656e1bba190014093c22e7334893e00cb12815439e5f79d68eb2c0b9f7fe5edc8678471e97bbbb1ab0887e15f42fd5f59a82c2a5ddc9931dcebf635e09a5494a892668f9e8620f27ae4e435dda01b0e8bfd35ecc2b9182083ea01c86bb3a6df7756ab7225ccefbd6a49c5eee1c8f27cf820bfa2fcdbb73f921fa8d583a936b3c995b12b105dc0b951ffa2f0ddf1a06044a6d8d2256e8ee2fd0c0a56e6a7ad08e56348cecd5e3168c514dc721d8809100b7a9b43bc6fe70c55c0a98fc94e82a1b14e2af6ecd83dc74260c5ca041c4fdc1b6802926cc9e28475e54b4a8d789c1c458f0d251bfa704e877ffae9abec29d02865390d9a7669214bb3a963c6b777fa5ff41df1555913852c9c79e9cc96c47d934f08663746131ed2f86dff3dad46df8a7432cc1445cc6ab2f59e916a84b7b47489aaf9abca8dcb32f83810312d03d7ed965a4815e9dc6e434730048175e0695aa658bea9b05df7fc1285d15b60589b41a9a5fc50139bd811d2bc6980e91cbffdfcb4ed0c776477f1d64bbf945641469197bbf6ec108e964d1221bab423826a1e01ca2da7cd60a992b37bc206a63817c551502c3c8f8662ee1fce049b2e6817b356a0ec50fb5dd3450867de4e53f570598d416f1891b6ece66cccd43c39961c7d045c7b942b3c45122c4b8fc2de5a976d41627e9baa6ff48c6fcdf4d249bd39b32a266adbfbe5ec861d71b6da0082f7cd06c99abe94b2405f6694e6d1e41f83a31a065ea1d5d341f2ef5a94e41989223d133ff88e059f564e45a4b1855327e6f1a0d746b44af49d87c65b47ab72f8e2df3a6e3d4e4bb101f5839c2e4b713610232d52fcf1d1a942c504787d7348fb953ceee6fabff8ef29f32554afef5555ddce4a50c8cd9073e6fa830530f332981ef7fffdec5358b740a37a9928e2c6367074c91c9154c39f0c9c17526bf6b4c59b00940987f5a194f037d71718e0d3445d47e33851e85f9134f5f7a03d851a1d437a8f1e558a876fe4fe0e393360bcf5c942deb2b02e04df17fe1b4d6899fc2c7019df2acca50b16f1d21e314426f1bfada4aeff695d1776511b68ab016ceb714f64df0059de4082fe82e24eb9c92d0a84e7a705595760bbdfd5e4c4e38472060e01a1dda7d02016f5a9f4cfdd4caa48d9cca5686bfc73557abc2921f027b02d3caf72ca23040c9b38ee7fa640b88e88ed7553aa62581c581697d53c38e826018998def4aaa83dd61547e0d4e89c44f5a1e1b9490157224204a5745096c19476d05cd2045e8653683da892ce4e03b583cc7b5a677c15a90b7c7f7ad70a203a7c33268b65faa7182edc24cab3895152d528c4c4aeb4cc9088bbf294540d3b5ffd7f4b2d90f8eef198e4ca459a9fd45601eed8a849b6a80cf3b855ee2e0941c91a1d5c450f89242e33f1074364c92f3d8344bf81785669219c03ab413b4c31e00d58832245c95b4288e949cdc9f65bbd81e0d0f322b5f25a365c0f354d3ed522aeb746b91b1c8a357c0b3aa449795ba290b2ee5364bbae6e13dea4e00de7eac73066417dc9cba1faa4aab90aed5d37e139033c4d048a48f8ae4a71d911bc5e39add596b1a607b3ef68a85a0741fdf3c63e9a9266e6f8fbd61a739e0f155aa5baa6a20e8301236588bb45a1feec1eeaccfc662592e3e79e0ded3b2c39752e3677d5578350bcea8195c150edeacd5e4a260322b661087ef3e9bb4349c9fd5d37872a36596daa61bdca015e34a1d5af5856e1ae44516402a3c53a7a08c60c287eb43cb3965aa7e4517467767433702210be4157cca68f7c10cbb4782e8cf3308b402feeae7b782c2d57298ff2f6604d0cb3d3f6e3a8a8ea60ef6e5c2a5fa69226f8c7760ffa14eacaa0a00aca75d7f8f959937c52481792af311691f11e5c2cbcc36bb20a267871fe1afcb23853e100bfa5e397eae05308acde327711c5b74f98b79f74a006e812d851c5266d0d79e5971aeec5d7831309cee953c2e704e8a75e0e79085bf62db044eb0ab4a1d0b21b79540a026dc736cd7840663de68757eb1e4cd381e8a51004f734c5386273ec9fa387155abff2e32402b582dc7c30ec9f4ccd6135d355c009e11aaaab6f10fbc0fd785593727c755af4b34bddb5786c6cdc790fe40cae7024bf2ae62b1eca2eabcaefec8ce4fc71b6a87622c05de2af03ef4930724f8582de7e4c7a39939826dbea9258414da63150d8de0e3f1035940fde8e469848dfd9f807821c2f15854f973750a9e4b7c45ea987fa6720f92509a8d27b2f6c8375e6b592a9793dc60062ce94257b626197f7644cbe0c6daed7d228d989912496b2c9a3841c41c9d388faecf7624338af52dd03876d007e802784fc7b99b1cf93366c3c8bfd492c1dc4c506f54d3efae01b023291266b80ae3fd090aad05d6422e1b96525e7b3aa7dd918c96f488163c786837fd1e86abd1523146985bd8a180294a37fa919d415c8968c7ff898a9d0be11af79b3e0f3ddd681d1f580305a9fd311a7ee946fadadd456706496d2c9c41e7175b84025efca6c528f84a013519c03e03e9d6cfa12683c795b5c0ef7cc57e21e4617a093178d6f9dade35bcec7d5e0f18af3a97b1d10b06e051fec8828492b03ecded1344dbde010794f0c2c97c5512234c64e4b0c46499a19a1b3bddbbcc8e1aa017d73f13d2379834e33216addd6eb8ddaced26dfb32264b1bd53dddd52a24880ccd2ed1194bbafd6913e636c29d8b252d5dc96033ddc05ed70b78a76d3e67e2ef598e9e9c5b674717afef6fd470eadbf0e59ed49a817c265f01de9d7553c394538ae35e43a039ca6f2b9a31928ef10d8bf0718e0255509f4f2dcec8c376aa19079b705ba5207b4c4a8434d6cb9cec7fc792df0291dfa9a543728f96553db2f8c21d56af550f4a9174419024242a8865183fa295ffc80874618a5e3abf2ccfefc46f2efa6e678ef19164be75148425795c4bf08a14d629a7249712f5275fcbd5389d4060d9c663ab5dd7f8a914b50b8e554f8411d0f57443a1b2098c6a873b9252ed013739f0842788a229f6eca33ff7182b628b9c0dda1cd97d841c0e3119650806ddb64349a0da8bb332bf22e7596e55235381cd7bb044c0e0704b1140f624617c9ac56ac8159a76b0ca97237e581b8f30ae877bd33eec1bab23fd93278b8f75fa1dc59221aa96c6a32b59fce7d551ee46610f8279baa8030048fc8a505beac68a011af5f71c6c0e72cb1f51c5a3425ca0ef8707469eaa0a74b0cddc852c18ec90b280e69cf4d4c928f4f955a3501f089637a38a6cc5934d012d31bb48e2cb28a54d6012abf35f3793d7236c1a2d2554a63c3349c43e1c912d42b2cf9e8bcd48e682e3824735bffde9e9e30192761176104ad94e0d42ab3c41330aa1b7b4760e76a486459941b2032287b4762c50d0509720c452ae08bbd23dd16146018d516825bf06f4cf2c5c0c4232215f8e38b99646a91e4ce8042318bb62bb3b2171077ef90517abaa01c10f7095df430d309fe8560d862df63e3a8e6e9ff8aec3c21367b3f11aee987852a32ebdec5694ee6458829e2d2a6b697230ddcc57360d7e8312efabb3789c542d028dbc9903d1e99e417d174bd04f97b34fcbd53f0d0f5457fc6e40da25703ab0fb82497ce3fabe0af1acc8ee771aae9dba6e740bf5ccafbb46fa935b6de57ca4336cf79114c918c71096d5fec2afc1a45bf78c3522b7f290e9a48a89ee10b7419a782efdcceae1db00ab7397c401b38e41da771dbc54e53c41cfdebbf1f32b3e36d1ed6c33a1df7846ab92899f63d6cf056964c44579081a18d68ef07779d4d295bd1286ef6142612220ad802f7d0880d7a8a6c8b5891ba77b4a046b7d752c29f5f0afc182991f411e6bf0cfa4fa3271adc2e8dd17ca1debe0fa3e79d74a232612adb0b4d573340e034b62fb57bcd8e968bed8c21f42e9e575c3090d4d806ec3b931683f765373934c0cd23d1fad70b0893c25aa735daa45d8466b7130eafb61566900c95a8b23634f3273528b61dd26bdf18b146afd05fbd1bb056956040d7d0f38dc9f638c03132a0ec4af320dfa2b612baef877be166827a58b920bd0cf1c1aef035e30ff3301c73e20f5fd3a969aeab3b9d9b52d1ce42f55cccb8e7882eb25d4fccaad1723fcf0639e934764fcb9a72b266c706e405ddbb9e0624aa0f76fe79c92c040cc3cec05bc32b900556d55df406fb283fc5fda12a8dbc9b4a6ea1839a7a839bb9005746dfa5835585b2762f4f3ddeaf8fe7cfdebc3d4a97d5e8fce4f44f9b556f726fb37aad072873fae1926a70fcc7b090cd8748d9540ffca5e83d57fe3d660cad7b5a68be761945506702a0473ba3e9888fb194966882021dbda63db70680e6c227fd0bcfdb31b2a89eaf59239d6dcdec642145de8227b4eb3e59893833f9ca8de354b8c16ad15d61208f4dc98caa4723223368e9c54d221654a7ea9bd3dd267f8d0652752ea1ef482d1884fdd1253260aa65282b03d5d275a6a4344c84b324d278712e4bded9f898a9212444e06d38a8dae53dab2fc4dfd3b525b6cb4b5dd84639b5a463c22eac4eded0128ef6a8aed3bb01d4dccf2633dce03b8e45535608252b7a833a0b1cb227e30584059353ca690b107d71cec8a6df5b049e3a84071013cd6c6316666efb9f2859c6e05c223464503bfa30cd077dfe342ddc155057cc2841c92ffce0fe708c6ec351b93c27cabf5b79838da550256065853d18ed147e34b43695fc76e9dd2ff965be50d279f7f26fc4f98cc059cd8fe71ea6d5aeb6069249a98e6d75681fee9b50fac3fd08be8a8491d50c7d4dd2d8fd656d6f89cf1926cbfb21466fe01cb1e6212b1114d12db81bc118cd3372fa9e3946a32586e223b361ece9bfb9118a56fcb55a8d84bec9d1d5a22d655e0f442ff5d334d57f3137679931aaad44045bcdd6ff6c88d776eb822281c02ea30ae8774e4c495e44339b220435866ad054262848550f454cb0709c5e8b92baf559d186206efacbb7013b56401217c9d60c713e3ac8e129548476c7932924b753a44a240175066b53d9a992086dca13a1ff0d88093a803ff5e823b899df7b8ce2190d483941b0953f32218cfd998c2e3a9f97d7c9289624cee0c69f87643ab697fec9cfa7ba64525215311761fae3809f5f895985b0a82aa7f68f1aca20683b27735abf0a5b8bf7ef4f7dd782364d6365c9fb2eaf6d4d1ee42cbefe7f664efa662781f330e6f10b63bda41df097f3ea132aed48e546f003410ffd7349229a3374f41f3aef861c435dbe6d7fe40602306d02536506a6dcd3009a788450317a9a4ede8bea730fb97da8541c36b486d573f4bca642d6bde7d9e08de9a3a085a72a685b7dadd4f2f5504d07154e5b1d841351e914db559ba56ffaf4fc9ea5e6bdad00b6389fbf414de57ad322b3fd2c8e4b9ee63c7b94f53d8f2a4dffa1dd285783fd0a6c5d06275afc1bd513e47488211fb31447975fa98d2fd6ef201542ec9ba374bb2a7119ad3dfbffc4728e032a6e4c8081e3b5a5d37f44d474dfbd2f4e1efaaf3625a83e0d1a907dca535ec753d3b8d5095958c167c3e6cb8178c77e4cdee7e4d298cca716c08bb406c2b823279bee66b1d94122dcb35389b80ff529ac2c087adc1222fea3f3cc416dd8b5b17cee20880fe0d6023622060fc62dc32da1c98e01cdd4f2c5aef6d49a60d84df65aff718dbf7ced2e19274736073007709ecf6dbe1b1f02a1dcfee83fc7e93c3bf266aff5d775c5c4e7b105426c6ce15142ad0662143c5248ee47ab8b13aef4c76e37aed5db3290f7ad7f64c70aa4722466118503e8043a76060c87eae05a7a461e041ccd5991257a640ed29ddcd3cc4acf701295945b62b146ac0214cb6605f57434a71f753148d52ea5db2702a755760a9376a1ff6157577efc7f8d6bcaf700ea6b23da0c385395aedba13bf031919e253110eec084ee6946a6610a8c906ac0dc626c381dc22a79d4f74480b902e8bc97945d871155c1743c5acae57ae4ae688904633ee6aac79c926232e9cbadc19c22815ba012231955f1cf1978d385755292b0f245f78ca8314a8d87790ae2fee198b845926f7ad99de8f4a069780c40cbd2d0080da53195f5b25676d1ae9accd6148cf712676a5f010067e9aa70fcd8afbcaa625fb885d7707954f377024414f3c2556ed87695ac561f7eec1cf4d350239b9dfd5e194a9aede03704598afd1808a1205ca528f11b3a1a4e763e7856fed92df1b90b877b9951942714414534975b5cce9cf8d654a6fdbf2267270b3d0304ca586d8c0455b8c8b1256f8f6676db78f93c3eea1ed97c43e390fa824b44e48df88b8e87e9587e10dd552e55710de1312164b4e576035c94dc846621bfbc6785df409f6c9bc9c5605f802171f2a31ce553accb7727211f730e32b9b3cc6c2b8e836e7b2136cfeebfb4136758a2805694a5893f1fefb6aa19bceaba588b377a9d270da05b09b8e36277418c8a6f073d925b47314ee2da8d01d0ffe9755e8f8c1d5715ff0688f293f0cf7c6340306aa8517d6ae1ef27231a5d1ba49ff341255cece51cef0b0afca40f2356fc96e488a714341e7fcbd2f3f4fadd331c1e2214dbbaa55ac7434ea16b600abe3a44afd2a53a93b9d8c7b586c39ddab2f6ea6817b4d836019e744bc90382661647544ed3a81d60db560e5cff0b3b2fae307f10428d8a1025e55d76307e501c9e91def12b2e1ddc5ea0a11ea0f9e4c724722f6e8f06755a833c5161bf3570211ef047e9a9eacda7bc53cf31bb1e128c3a295152f61cc4eb71c1629127f7f6a225c19cf6abe05b6c19ae747077361b63afc3d0fa7c7fac2ef3e28ba1f32c4ad5bda0768f6f9c61b6c89ecccb5c130960ab0310166e39796b0dbe8c3ff2fe30f85c74b0b81206a3d84988f73a7952978861d48104cf087f66123830c887a41f6c7b0619d8590b031aa9abe2e139d7d26dd39d80f1afcb1d88133c7d0e82758b8e52d8a8480a18257e7feb5ddc08245a69c5a4b8563f11c61ac182d8b410a8ad89ff2786bc089e7d67d0ca2cb83b6f5a268a3a63ad39d1df9d8e506a7f66a828ca2391a292c7f9855e30e565bd60d68ce24401d3aad9e4d24c4fdd8ba7b64adde4419da7827ed02c06d3886cf5edb70f2e6bafff99a9a9350faddcdb6872f05172b351ef3dda0e3fdbe272c6b6a63e870059dc2f9f18055a747d2b8087ed9d7501590d2b843f76b5b664e47414462a1d5eb9bcdad003ac8445c31da5968e33df8c8a31793c7d7a555ae7c711d70f3f0e8dc10785262c3e1de9773299778a6c198a9e7b01aa23cfa67a313ce5583d3cdd73e77c86e72f09808f1be0344dd18a9400cdb8af8f62d0ddc7a24d2a0a9857cc7c3c70bc5f819221ac3ab337d433a0d9275d9fa5c2c6aea91c647cc557338cbdfcc83a1ba654f00771cdbd0dba17255d4078176c56b207921f50bc125021522b12ef2fa2e652ef01f72400abd9800601d9f62b62239a13583a6c84d742849d691e7018b27cd432448a1f877e1e001d558ac1bbcf1ad1504f0da8c8701e7b703ff99cdd8a9a4f823163ef3aa47a5d7c39a1adbf3286770a3048e5bddaa776342434f12fb35bdb6d789616f0aed42379dbc9a994bc8a8e7f3dbaaf3256bbe19db2f0838ae524f5da3d869f2f1af32e41fe8d433c900a9a525e675be7aaa7029b40a6f529b5203be6f4f5df17d2464698b0d184c50c953ab775350ddeeb073615f4125355261da13434f00342affffd74a03b603dff8572c5b1d20169451ca773735d3247dc34efe6bfe50f3225350d7936f3fda6ac8daf673b162d7333aacd7092ffb3a345265f7dcf3b1597391bc1b824c2a94456dc4e7c95c931a757203d20a0113bfa6cf2bd9726c030df4cf8cbb48cf99e0f988121feb8120cb8e5952b12b57b9056bab9d0c13c0c670aa2a17f9faff53729e88c7d077c3075f35cd704e4c673dc76156415db7337d74244b257453b15cb84ec6d5ab1cb3b93a489d2f3a6de77ae00cbba4502c6567d31ce9f2c771e00d4121657b5efb30345bdfb8dcfd674a6def1b2385e7411cf95f7b5d4c192ff470b2288a466037e34c89c073a5927880d2732692e93360ab3f0a10953dee2aa47b82dff8dd7a173f79d4daafe6981b8fad0a02c0390ae545192a29c28ba41d657a162b6b0b81cc6340e8312da635daf9192988cbce2aa0088525b7fecaf8c3ac365bbc6d15bf1f6e5ee1c6ee699a7dd266c65c2b076f07228f8ed00f5dd247cad7755a40326203a962380aa5b67c5e77d9d728744fac41ed3fa4ff69e424ceabb7cea54c387d28291ff5d47998ec2a620d386703740705d88913832864a3b081f92e3a5b507d5d16cbc2d3040e0178180a3efbdfceb81c7e0e61a68462b5fe6348a7c337dba650519ab1a023617de414aadf6dd107a83f992e06aba41fcc79ef0585566147a46589ad5ffc89165d476eee7fea6577d12d7b348b395f4469c9e19cacd7cb8b5f7f5b8f89ca5a42aee9dce73328a6451f46527abc6ac3cec7b93feab3f0fbcfdab6bbeb1da228651b2a602424bd5210941db290a1c7ae9d6038e45d7c1c2c27974d6f58e492fa89ef2ee3fc83ac90c2866b0f89af2190ab53cfce719a321950f361dc7d3d8f21eb3e7991ba51d53b4faf62cf41ffd738d3b47872d49cb452165ebbc49c6bf7e2651433d6167131a0f97111603d2a600de4f89d5069ef13b8489aebb665da9711075284bfb5bfa456ec747974d7fd07487dd183955031d45f27094b6962a3622ca00854a2c1adafb3d214acc1421a3d92a8e305f8f8ff28d644433ef36a9d89b6be58489ff03e370e5a43435678ca5d6642751fe4e2e31f9d98a858d0d33f51cf9f3bac70d37c50776c89b7f7e4d81fdf2ba70117f79182c9a4d6aac45fe0b8971d538f74bc7039aa60ef647a90474597b9218c24e70b13950f07329055d3fe75a13ffbc37ebc104a570ffd2c04912e1f83f35dcff92d0ec1b55365c8dad1353380f59388a869804a61d66133305ea536ba111c9260a76cb16b23bcb7c06e8935bd73b45a19be5f96a0d8721860c28824e5b086c6f4c6bcb9cd747be96e433f9822e5ffbadbfb2ba503c22a4c1d35a9f9306be4a916dc210fdf9daf25c92aea7e525fd100b89418db90dbd83e4634e2e62ba48fa796fbe271cc2eae22ae088cf9b1672df74b367a8270b69191a7fac248d4e0daab6054babbe5271c4c044c9ef33be18a067ac2318afba37ef9edc213821490c036d2a016d460efbfd6d5f2b313d630813e442a9e5dbea1f0d3a46cd86ab3e7f097483dcff92c666cae0abe64d2bac4c629399217a08d1251dba70ee16d820a87a3abca44076b90e2387d5e05e04d48b3840b11c70d730048b095723aa83e4f5bcf21a5281f69c67ca18c0b2d60afd23e145b7c6a6e3db913f9ccfd6ce913f54e0d445af03b947f7596dcd889778b50b8158b608b617185dd33357a4af357fb131f9036760df609d57bba75688399d299a152140e64795b2ec05b89cfd69c37a1708b301c621cb1b4364a2140069b328cfb49acfd494e2014320447677907f7192bd71ee90f736f9dce0c601744a4d153fab532baa9faaf15d88b4e970875507a56d2c8c1a32e0d201188e44401f947d25ce33a102bc553d5f8d42dfd656070f2fdf14409b8568373ada4a2cd46e28aa6d6e80e3bfa481f683fda39f7e3a5dfcbb789dc969c8e536f31d1d32dd762321d9b1a8988a2159b004e7d6b78fa19d006e5b12ad43b698b19016c05c41d04467e6d243465ec3ddfd837d7d12abe8691dd4347c911269902426aa29bba13c55e44babacdd0c04967ada9f88020a102ca81628cf7ed035b860bec9e0b168ff1fca88803c9da1c6a5a9d025b2d1aaeb474dbef7fe9257f6a1505f60b02afaf007a3ae034c9d35b50b7240c698618fd3971a39ccd02f71726cbb707558dd62dcf0ca5cf1040dada9cb64d22aff399daaaae752431fb7f63e8a6f170af1dd0d6f6c83126bea88d6e813c5f6389c485ced50057d2a7c6f2a22939603407adc2606ad10d9d8257cd1b55db866e43b569009c79a717e80e15b9149b502cf173b8c1e449038d8ce9dd369320c42f07e33914d8cd757c657e5aa8ece8ad3f9dd830dc36a2c2722972c8e5281e918d3aad52c5dd3f65e1f7ad1a5c8cf1f0427658a046e1db6d5e1ab68a71f61c9a7ee4af789180a938cc885d72a31c806892f3f20b374be4d2d82db14fd7842c0ecbf2985f8b0859e25de931268a85ceea2af89e448f5fa5102f5629c81e76f7b4390c7b695f09f152d1794e89b4172811adc15feaf077ea20ea103c52ec36d120278b3da664508d7b30f196695cf2aa8dece7492af5801907cd063668e3b73b33b5e02c604ad5b033fb60754d5707edeb5d5b6dd09a1bf30d865d9f33a154a1efd8da116553786b721244af282394849df94ac8f7630dbe5e7dddbe7467bb494add0e40a01d36335ae9d2a657861076497f45fcbf2da7b2c8bbed4b926fae5722f66be218e8406636c799b03737274d76d5a6aefb32b3a87804a17922eed01d15796d02cc1b451f2c62cdc025a1f03ef8eb352cc2176eea8cf35473d32d1ff434e57983a6dd9abbb6d651b49333ce84c7d7eae0267522d111ac8c3b67b836bb4d68a90b45ecdffe79fcdb108ec78f11577e116625227f20cefea3a54f3d073150f39f47cf26a828c64156d17943c0c5e61c09ed67c6a5fd8b367ecea2b7c5586cc304f0e1b6e0e8c8b2b594424a850a681f8b69760e7b6ec5b670c5e3c674f7560137b352161874365bdc77f0d30a77ea7e065ca31d5f32fe0c232ca42563097efcd9da2c358284a534e1a10ee4d24d5cfebe35fa2bbb9740085b3f02dcd8062ed7cfd8e2c3103b23746e1a53e2001177d0c4b286567ecda6dd0b088fd2e3abd985c1ffa17a89428770d70c4e115208d4e62dc2426f3c08a75f6b4bf8454ab03de8579bae1211cf3971ff2488873882be2011cb4e590d77ad3fa1044b58c5bfd75b11f84d518e94eac9772269b40337ee6674cc2917b6f8484fc6ebcc300b0db68cd632b9f40342250813a4b6623ecb3e2f305e5bd8968e0b835f6a9f662dc2aa690b61fb6cd355f2e4a9d682f93e5423723cb1d36c662417e4734276f4737175d3695df8fd5b5aabc3a2bb835ff4cbaab480919301dc6103bd6dd45f27937388d01faf6c1ac8bdd0d5f6ab683d80158b3ed21673b2af13dcd591a4fa69d7bbdd687905faaac3ff6d3badeee8db04adb6ee0718b44d4d9a43e5d8ef667cdeee51d919c7169ba50e1fcd2af2660f1a94af5a583256b90b693dbcdd691ab7a436e872ec379009cc46935b8086b86cec9d816f514c9232706dbcbb3e51ae9241cc2bece1f860277374cb52b4275e31e68c89a17883a7fa9a8ce7f761db536acc71726fda3dc3e855c8c6e7be2273e4473f5c5b3b482344f8dbd963f5132537ad84ca6d7bba9097fedf7a0732a74254ad05fbba33cd6f84505ef06dc4444c72dc01bcc365e49f2cf10ad07ec3ce34497976586526ffb5432b949bbfa75698c3bcd889132fe66d6a87956a4e456ebb36ca65b570e5dc4b4368ab298e9de6c4eb3f4569cb47f96485451c6a3093ac08c41091af21f708276fe7ad447ce1be47a5c72d4e614edbb4a5738621666fee74ecaa5c0030403cf9e958aafa2a8b2330a6069ef50f6ffd7fea81daad36dd8a55259c939d9d87bfbe18e80b39d784b3dc3047a52b6b1958ffb3912f3db1ee768dee72dd4d750712dd545495edac801337ae4dfd806dbc3fa3acce6cf37b821487a49efb07ce3dc0b4be7bdb6e9fcd1166e1e504225485839aeefd9dac3eaf18ad1518d2b979492ba02174f82bb1d80f617571e741e68739484b43c451e2350dfd98efd68df7f3d091e90363b3abbb13e8247d6807cde7b5407f0cf03c296d75f49a5b086d43b994a3c5e63d013dd47ac0de82266013dc06c64ca154e7f10c9e6d850497f07ae8e1711a14c9976c6a43beb73181ac59a0cd73d4b0b7d01a9458ffde4bc1c3965320b466bae05f6b07e90d2de38c7375b2ae62274fbe515b702c51a903894d685c14c5c4d7b20b791ac83e8e9c2125ce79f7ca0796f78ce1a75025dda6c7831282386667b1937831339ce53b79cc38caea430a6976ff88e6eb7ad2339fadfebd373baea003cc2bfaba13da5793226f5b72756d3da13d00bbee5a8a76a37d7adb423a936a5f45f6578a39bcd600f931c62d2bc1f020bff8b810b65449d79e5c37e0e9c0419a58dda9ca9fc94bb7de9aae699c657c777df49b22751461626a4ce4665ddfa54d9cbe1873d2e0597c23de61f2f3f5d08c46e28967401d1d4659563db52e02a07addce762d997f05f0308e13cc534d4fb0b0390dd98bb61b235f1a5f0cdfff52ea4bbe446104d52e3926d2b5d06fa006324ea948de41dea0dfeaadbe5b09c27fbb13dbebc0d8122e0d5536552ac0bc651156a8a448fe85b003c361a9e66d94ae8171de4bb13e22a20705ae7f96b02dba354956c46adbb5a550551ec205644340413e3e875cb3f4f32df790977546c1c3d38059c504b7143176cbf39cde98cf6b697eb25159cfee6fc9b84e3403a7c8f1dc886e11c700b5e2ab7cd3065395b5ae4328d44c2d458ebce5d75d4bdd7a290f201190d551510ed56e9dc7be379530f171baa7fdc1a663bea81447c4cde303289a6b82945a9ff737c76a355c20519feb14762e03453fcf0b3b9b8821ece576e30db338d8bd0f84695dc44b938a83093d85c9a0da3dd9b06368037ef488fc97a2011f8a2001bce4e323a9ec3ef8b9cc1430bf0a92d77c94f2678917bba731adad4fe69ab9f2b10dbcdec118a8c51cfb0362c5fdf64382c97d32ed39df6fec4cefbdeb40396ba6957a13510ffa614e3100e3e3f8758bb98da2685834ffaebcfc599d7c1dc2c2ffec5e7dc74ec9ef8acb4d52fc748b0ec773e780b7126ac7f4dfb567af6595efe54793396691cab8134c2ad66c48bcbee39d05a6597e0f37700d495f62d056e89b2727ba36bc9ae4a2535795d40cfd25cc46f81dbec93263fdf76ef455d989f6938b6e9b0c5e4a487414f8c09f3ecb2af131cd6819c92ff7b2bcbb05e98b208cb8047b3d4da9820d8f46b3d792df5dda2dcba8262e10284b104a5a60be07b5ffee20547c46f2d9138688dfed8ce4fa1ecc3214d89686c19e9fcdedad67bc4dfee4da1e229c4184115a0f799481dc37aa53289c61fd2c58a28208e239b777b4c0a777ef76ea17744de48009300b27c26b7cc50ab2d9cfbdd95c39b8868c0268a036c7976b4a7421777d7a1020f994ec999f365d7d51398829643a7e95b6a118ad0f208cd5524ea241af0348e69d8a9555c84811abb5b7531e4dc09c93de3852749aa0cda181fdfae883648bfb09f0e6d0019b52011a0759dcabe6ba59f70f5a6f597c48d52e6b1f8bea4bbb442bab03893a6e5aeec13d6fe08d47b0dc1b93c3579381b3e6cbec7ae9bc4e06414e15ceb22627ef6c3781dcd2485454ee937a2dd4e07c0782044341893418960add859ed053e291700c1f5e5a2053853de68afbfb725146c56eeb0344b6d543a1770d93dd490299d7ac5f0ea4fa6013ae28c8e64a3ee0694304842e370f1b71b9fccad4c0b8f4137a05feb7f53f6a35484fc9d40fd0f9a59acc25609dd9e168f087dd5f15112e8bbd8555e3727ab6250f2b28acbd1bcd221b4f6559367c045d49ae2a7bcc2ce46636f2f181645b0071f68565a039efe6bfa47dc49a28e9089c456f91f2a33beefb8ec9a96b433f5c889acaca6b0adff47351b585ee2f7eb78b7f58249dda6e2a1a0a8fd69c56db711f8c0b21f44772a888e83edc6d880c1f2efa64aad25295acc7d9a2485e15f9ad7e64a36f987ca02da36ac5c4cc7c7b39f4723c351d3a5c2edaf2834dcdbf32eda7b296df91971e75c4c2a13d752581030e0d86821c911ecb78caacc9c071746dc3cb6ba5cf82b9c2a335175ce2d4110f2f61e741bfe7e728dae9c0e78f91d96fcac84cedd089b0df7d9b71c65eaeb12a16511ca9c1a89da3ac73e36e2f8249eff1deb6154b1a6851be34818081544cfac764765083747a53646302f2139705868388c9399c44453ffb5f8af1bd344c470a0441eade435e2c25b44f2d59f9724f47c85fc915fa574f4886d9af5ccb1d4211fc938fb16c79027844c696193510ce50475462f1acd13bcc936953f44e98da845b3b2ac0ab4a5a4b31b9ab02e7f9de2c835702e154cb42540abde0e33421c5d7d35b79c3c9a79cae1cfa132a119441431436f83501fd0c70739309be21acef074908ee5647b69f5bff4611f1f0d57515daeea0fc11d6d853511fe02993fd118c47fbcc16a84539761719b9c2b25f4bcc99e704706b873e592051cd7282858137f9477298b642e4f707f5a1f1f007f8a843d194a12dc5976ef35447ccd9e037566879119b834006ca446c220670dc07d6f007737e1dc64a739f9916aa3c0e99155888edf24410c908087b9ae3c67d29ad2b3c18bd94c5e18e62439860e5db11704edb94e8a6001c810a9d8f44229c39cf420316f21159b108a513ed985138f374d84871f9c4399192a2ce96eb7a3e7a625059ef3b45f7365c868f9365e82e5763f35c881d61d9c3febc9522816068e157b5afcc4b91bf99132982fb7c637d6760ab0a5cc8d7cb7c4b887360954373c7dda56d67a0a4e407eb44de4384c442a6d1849657f2c1a8f4a167f98c2eac7dd229a522d9e1e1c057b129d9f139e09348ccf06838be7c9c10a7b42204699a1df493c74e680d8d7561fbbfccda3c5856040391d8e384c5af6e2b8e7c22594e935f4d2ff3e46c9fd8a8694b26f10a0c01918f75eee766980ffac16aefde8392028a38b5a63a596c299385ed7fad8855b1a6938a101554acd4bdc4db158f9aa2dd7ac85b891575abb16912d3361855a01a05d24b191aa941005e282531c5643962adc8b4944e39142ac81905c0b4c4e3c6cf2924da52ae8b1829a8e8b70279872372ef64e6384191a90f4546e3ca7135573871c8b830a63c8f763ee051693fdaf96a800772adc64806485dbafa6403ec28ec3a9b0a4868ee1e39c29f53fd2f5445ac6e9328403e88c76a8c88989bef04ba3e3d26b858a0aa5b77be268c496ad0f3b8c8608b73ba274c43cb75745afe111511a42b2ea5d6561722c9bbfdaba43a12dc95f10abbcb6b23f65beeb91c7897f2ffdb3b37a6e00186c81e7adeadf0dc3f8fa7d267b0c6c7465c1c2d1f1d0f6b0d086734110c3e9e49fcfc027bad03ef2204cb70f63e4cb2cf8920f87e09722af7d1efe7abaab1234a72cbc60ec1ac32aaafb4f6d609473a704c08e424fffa8250de6a758121bfd2928038016a8cba628d96541d940f8877314d8fcd57bb6efbfa93fc0510c90e4b5a6591cf534ca1a3e860a6212d931f8f7987b80b9fec09d5858f3d7ff25b0d78d50d3e20c50861fc691439480bffeab0631925b62e836d6df822f65c2f3bfab2a4cefa6c6b6c846a08cf13cda5c5217f4ab148a3d6bf6c6bda6c1ab763105a0a3cca8187fd7ead927ccfe67447bf7f9dc9613b71c5cae0577db43b349ae2103c1d8542830849ca58aca418024f1274027436820cc57b85270a0729837d7901d9abad6eec6228067a693f528b33217eb6031aab2e48667abd260bae39057c4d134e64e5c886087b2fb2a18f0b054e18b532d7e71b3b4c95c46905dff9c86d36c7466edcb5eee6e8ab1ffb06ba11a7404557050be4d6d262bbd4ae4aa5899f2596cc907faace2dca4ddc0a122cabc9562037b930e99a3b270ac819d4eb0db210f734fabcd6913cfe4b24a3d63db4d8629cb5e954ca2e9e6a442f9e059cb1a7a2e1d8c32d03c1d05841fe1de0761b28f947f57f845e89158fc3be33acc2d3f4605d62e747c23c9674f0bc72e9a185266909d765c1e88d1fcca9eae1249c3ce6c368491ec8b3590b896227c0f4d37efbe95dfe3ca50aebdc4833e71fcee1eba7b4a97af0452ab5d21b0fe788c4f03641ff0c83ac56de2ffb70bfeaaca8109b55014c95123f871f009a07ae34d6b48dae6c7aa775e111be90cf7c0a96668ef2b68775a628e1bf60739db5da54e5e4b1e204979b3eff2ee2103418a0be0200c3f91d5734942a098a7777b4395c2b40a120b2f629d0cd5dd823558e33c8253b9f2fc66fb35c2394b8d21049b6760bf5f638ce0506d28e22200fa9e8c607c9804d280e333fddb7c55cab6424b8f0d516c1da3c8ca780a96e7739659bb6dc9ff3afbd078692fb45afad08fd6ad014ebbaecd14243cde88f1c7c6bce48e25ab7677ae28c018cbbc5f64747508805d8117a85297b78142dc5f630a591cb104c24456790cd5c5fbb2a6b936d72fc7cf8e6466057b5335bbcce433fe376108742d863669ef918d8fb13e53ff7e427da8cb247e22b10c845b1b3fb2f5af8139854e313344dfa3ab7d141fb84dbc53a94ddbfd0ad524cac9a7682159ea66c576d521feaab7e715355ad5e398348eb24e46cdb7a13a9128a555d249ee6e7607511a41abbb6694e98eb842261177e920b50fc94ee6738fc1f64125634a278109e32da2e3d38727f4741c382ae8dc651d2cd30756e35288599ca88c1ed8af2796f1507aa0d80847ef5976377fc9cc97253706d9097ceec2ea29d100ded65baafc807d04e278d29390c06aea2d9cd0da3490f8c88b6296627ba2fc736446eca7336c24f616a3886ff824a0a9bb4bc56a5af0ddcf4469985fc2aeaaba9327e525ea3346b386ddc4b0c488aca38f4606a42dcf5950786999cb7b369d7fafc92e49c10f817789437c4829353093b2af7e9951b19c3acf2773a3bfaf1e40bd46cc6b3d356e5eebee6ace2f41aa31d860f081d6442d2c0d1008e5ecec4dc4d59082ca3d63d8442eeb3f0af02e845d0f325233543adc149759d20eda09d93973cae7e2b1984f8dd06d8ab001b0a53cf441b54d641a03a809ecdad739c2b4a0761db41707268cff259ea4a8a2d35a07ed7e0b9e9c555e7e68d69d5f5a6081d02dc15e3f21ff367e3a28a2105b921a56014c460392c3756f46e68269d421c8999eefdc561dd55fc6c5e9e8590319a68d5f7cf55b49c1f652dc17b583f6eebb4961cf9ab224a8329363291bd6cca9d9454590e636bee44e9746274ed4e008af6f41c470b16a7e131abd976ae73799f01802043381f060f7470b5e1f2fbf3ac1f91e1774888860e79ab094937d3dafdcb298be22b7a9d40852926509067a7eed2ab8dd5baf881d162ec09efb4bc8d14c7c08cc5505ece17f06b81f3d5918e8b98ffb3dd07d94e22fc3e565de3edd302ee675b267457ad48263648ca987713ccb6c0a366ab36a27e2d7b6dc9fff1017dfadfeedbdd5994a981addd650715af623e81e3d81d0bb03109e707aa5a7ba057f77c3662f6596da3d5510e43ccc59493bc513e3c09ede67f0bd25be48f7664d61602970b6e2990459fdf2bb09d84a65d34f1c21bb5ed0e2660a600466634e9b457162a2b27e1c5b9e2aff5ff56481505b7f23eac4113adb436429fa9073ea087a8bc3682269720ee00bdf10b8ebe2ca6eaf5a4467b77ac57da0d26a8e4fa1457e9dade85d23acf303744c2f573b7cc32fde5413380da872e048819c32ceb9a8444123ce001e7e9a907cc1e13b26c7776e8216ecd1c91520498e56037c1fec10c5268e1128dabd5f75aedf5d3e87f70328a767a6e6e74b6adadc53a545ac568c08abfe2ee6c86271a14ccfcdc753b4ca4752916257a022e3ef82e6f2df11856dfe5015e7d9a580e8730f9a5ca43980c188dd06be09b6d182a673adb0dc2e68f634828eb4b71d6b805a69724229c235561a2f077261c569950a84325b93d943419d4eee250cf4f89fca18e67b6dc6264e1559ebb85679adf3e224b02cb0a015c4f99bde66e37515b71ebe58ca4f958891fed3597b263b01ca3cca8702c7041a646085a47bd85ed1d4016c86f59cd5e9d419511c558b13c5a869dad6b2a7977b0d971dca528689bb401967fbcbcfa8c94406f54052b606a1eb7c65040a735255a3cc7c53e7cbec19652f1306bcb668d570b8afcaa9aca75fbdb030b716924604f028ae49fac8fb1e5429599bfaa6df99cfb02bae9dd75376213a8d5ade1642e54ca8fa3a18009b7600a08fe2ec51d813af1f1d2965bf8fa849883e7a88f3dbea1f19780a8a9246c99aecc26cdc98656be51ffbd36488274dbf804211670149715e5a6fdc4804e138e9f57b2a26ead1bba6e123a3b88ceebf20acb4a41bc0b2315a9e6af34d7bf997e97d5bd2348c3adb041b1615e2985baa332c01216076910d32847200a15e573be32f2bcc9117e86a0f92d0460dafc417dad378913bfa04e51fe64e13ef5f5fb47b91e91f6c11fd7b78c6890650b7df0a0dee1023f648e3c59f441aa388cd389049b752ded701779252e48cc1bb54fe753b55576d75d2160808a3b7a8e95a5ef1ff0c8d4623c3f2b7a3dbff6c581095aaf764dfe5ee3322fedf83833b17f391a1e9a2d1c90de616bf14c2e9b15eb72d04df4753fbc1b579930e38b7e3931a7e1032a5f7b5eb3a563c57b0776510d07d0114e88063947c8bf03abe58f3eb41bbeaa8e003ab88541029bbb720360f9f869d11d5c625a215bf8308bd2fd43c08814ece6be841cbc2a6c9af64fe990740102fdcfe0221c2a533f35c5a809a694943b34d7952f893ca7a87df74aadc97d82155a4548baf7f578b63ba3a3447654908ce38dcdbdcda671854c1028b79b5bdff465f75c6b69de7449e41bed2affba603e05938b7d8c4d6de861e17489d55cb7d1b291811c130dca4a1ad8e55e51130012c286aac3fa4b28c618355fde1b281a6f475df1d531d8d30b7d7646fb5912f7caa5c921e0e51a8961cda8b7d4827ec904b73eef713ca1a412a3aabc08f2a7fe01de5bab56daf2873b04a14b2ab74edfc4422e275094d298f9fd3199a4c5564e6499325ff061c5052cd411dd24088c838d0ded31fd528afab8896106efe09421b2e2338833676be3e4b38f90c6a0a0ad386d3942166d9724dffb63413b16b10e8fb9f4a0f7c2489c0e622abd8f12ee99a70d84223d9b6621adf8e15ae06002e67e204508b734e2640bb257880fc69c54325417809182a19bf4c5955f1d6456b31918610647fbbe48822da6cc888a21e84376f435bd4bd6eba028551acc3d16c0bc5d4387c3a8ea81f259d33222c2982181fc243f6d97b85de37e1a54cb099d55e5b5c2709bf10c058d9c80eaac31f3e1ac310d79ecdb04058936c313dc33c9162032cff7e659fda28f287ba82d47312b67624028bd68adc08b7e176357f0c3b8cc4eef98e4b7669fe996ea5e96cf3ffa9516e386f5a4857581efe4f79757c7ae804bf9d23af869c43ab8292bdbd847177fad7f00fd9de7204f2026ef48f58a82b6c5b11ecf47f27942ea95b721048291fdf0c2e5aad4a0e27fa9e0bfe2239f61adf2eebd206792bce3f640de36931a8346dfdf4ed0cb8e1b9121f0bbf3fe884d69ed9c90585b525f8a999d58bb8bead52419f7061dfeb3fceb70c4a58179e0b985335be474f4bda16450edb267b5abf6a8fdd62f736b7e867341ff265dd64135ef7893aab05d41fe9cb2ba39e6f5decfd38ace40628e63ca6f98507217977f9d3ce644ff82eea395b126ae061a9827f09ce78468879d966792ec076bffea1e5a3e8d74a8cf2a552489962040ae49ae018aa0fe47df0bc9881da5d2b8ff39b6043e88d239bcfaa98f7921e4fa7918344c72504346b3ffa4e11d21e583ec76721262953d302ba906daa25f452d5714055c8bc1dd093cea8dca439405427395141d13a93f11e78a5aee2fd53adf7922cd3d8cf0d63497e3ef86aa1444e7f42297d82a62cb603bc0db474550909dac1263a037c14c669021c9ea6d9d70671aae3f48942336fc2966fabb89a6d0aca7e223efa238f2b43dc4d6b7a62a5215da5f28147eef660fd3d59e8109e6b39375d1c46fc3286a6f573e3c7aa6c4b773c4315af6b0dc74b2a63fefa34c4f0a4b52d0f291863e106475283b86f0e6a94d0424482a7321ebf677997eaebc63530e953a58a854aff30e4fe77b0127b5834b7a410b7621d8f7340cb9867ea8abc1e5ea44d8cd848eeb700629517c374361fa5b3ca16c99b08c52be6d456175e165c17f6c6c359c2e01bb983273f3144358e29dc9ca8032f46bdabec6af9c75a6e23ce71c10ef1e7caaabaaef9e70d4652edda586d3c1c53450ee9473a6f65ae3d03ccbe2e4f9ea22abc3269196470f83e849906ad802763cf71dd4eaad2ec2eb060ba63381f75644d36c863abf02f425bdd0040eea1683f21b99ec55d90d958de3c194ba48659f2ce4babd676978739f3ba0250467bf57193a5be443e54de8ccdab19d49cff935bbb243c6bb937ea3c022b763f2831836ea7f957669c410366d82ee8e2c56159eb31fdccf19c2b1cbc6fa2949022c20c2bfe00806e8f895dfa4fdbed63d42a0d4b420dff52ae781afad110be4ad9a25f2282d427b9bd491c4e560cf60a454c80d99189daf57dad788273f1b4169d7305d79d235ae936c710063ec5d543e34f2909315ed95344eb8f28a65ed8b941875cc8a77d808c32a3137cc078ff8dc4512eea20a486ff1c12e70108cb91e33aae52c63f70ee74227e36af85519724df0c07f85f8b49540be234f65eacffdf86d64d9491c0b78248661b979661e9d2d6c36f6d1be4122561ad2bf9ed97d9ec2edf8fefe381ca28b1887bc9d718174191927a1b8b8fbad14c181665781a5fb204473d93aadc78a6e43a80fcfe6c7f48df253f35e3eb41bd977d3cbac37f867a69f3bb97c3effa26b441dad4b74f5a57701035907a64336eb643976fc2a9a4c308ba19ada92dde2df1b3883b59fa9e3c767d1ddefb4b31eb2c8a4c8918d326f41d32d07b42e6a821e49eb39c96de3e367f19dff2ee27539176c733a8baf1f446d99a98cd04c81223321a327e26537b75a05af5511ab8ad86ab97d040ca85e8301578ee64fd249c9f7992a3dd1021445d32eaa075e03550cefa0b5ae898578a64718ad8edf6c47ecc978fd6734ff3317e7d94140158dad9cc365b79b1b2900382771dfb6a8d54f654797e594629eb908cc0913b05f3d828328fbd60d4c7b5459e34323249e9955dfb3f347fea9c64b8c14c0a85f3c93b55b6a810b9f673e1f28ec0e826fed4aa96781ccdd7a32e5dd49f64e926c7fcc3ce39bdd50c05ebb77f1348713d19d6c8a1ab5351fa02a8869efe7cb19c837452c61819b321ced91862dc2091a6f9d9afbb0012a16f0cd10e79521a6fd4f939abb4b91ee4236afc8480980e24fd4ab99d67bd0fc1229336deb66c0c56d74a25bdff4dad698e06e04249c13192678228eb4f621471b9dd2c9c928edbda8d2b9ef362c8c2f264ecd14937d88ba72f17657deaedc2aaf2e604fcbf068d3c5bada373c9492015122fe971074764bab1397b011e0882a2581e378fa3ced956c5393839d8cfd4f1b5d74430b72514a02c0acd4add838be1f0a67a30921ccd94637ffb521b65f30393451b7febaccf5e0d1f5d4a928c402d06ab701de6fe917f5e5938847a0e9b55e7fece372c318b2d9e71efdc0f756c1aaa5f2daadade50d20f7432bb7de29b6a29d361b82e3bf7af30626e7343880e63ae5fea413a329be0c80245153b1e80ba1e4b174e0e3b1ee2eadf80ff4af179a80a3feeb8bedb7d9af253126237cde49b66b062e47aae8184777533817ac1ede1ebe70eff6f957278bdaf080df0d538483adebc4c8dacf576d373921433f59a89031967b6dd711406b3eb0a70f0e8bddef3470986a90b2c1127f0d178ae624d2151e02bafaf4808cb79a09fcf6242fefe1c290d7be895666a91eaa2e13b0b847b3fc414fe029e09512101b5594b6f35adb65c0c2a0cc8eda3b135e991aa70544b84baeb3681303dbaf73c7c09d99e96c1a5b95cf0af652f4c7b7024af820bc099f3074ed08b86c81553618bb894045b1efeb0c695de798f668b0abeb8b2de5961e0ef6169f1c5c45f91b7ef4a5af33b03dcfdef88033623316bc3fc48d04b12776bd178d629ce81bb1868616a4f124bbc2df829059e42df32144cfd861f36aa8662d6720c68a9209d66e6bf28001402609edfe89fc248cb14d1520f0466db858ad55f216b01a4243faa35760e081249251326516a2fb7123fcdf0c449c80cb4cbcfb94e14a5a4e97c4acf472a4f27ed3c9e7c63d6686969a72cf912de730c2a5ae61e0f48f2c2f869b489361aa43f435e699c527c41a64a20728e89e6c8a4065d5763ce9c558a09f252b428e790aa84f369073dfcbdaed225aad706e1a3ea228a362c111cebe76a5b7b6769299b3f085607e1fc5ac45b9e3ab2649a7402a2acce25181a78c91c52c6c57e21f1865a538210e15feb576297b0f34c4fa5b6d7af537461fadef08ba22361cd9e3a30ff14e6c3fcc1a8ee750c33953cc3383884363808c8a3399e554a4f68ba0c5494dfb2e9d2afac3b4841c8dc7de2a51ee17605c2a32501406aa351d3222937f4c65670d05132c0958a195745463c25815b37092d47fdf1b6066929e3c3ecb8d9d054de9723da0abae52a44ec6f3a0a583085a2bca5284220e63f4ad2df88e057975cc4782714d684b87f5c05c7d4f81685b3a738215f113ab3f79e5e06a7ea7971b8aa7b9558cf89ac26f692884803ab62743f706630acbba6734d5a58c7861d99691cf5b1d932f07f46a55e56f3939b453878a081a8ff480a73c8c9c7f594cd21964324bb8aeb7c8e011283a0048d8ecbf43a51f4b038ee2bc05095668cf305dd2902c1ee8d90d252925ba0352ef902ecfbabeb63c1b893b5e2d8ded9aa21eb8cdea275b99811659eedc56b137f8c94ea4da64a45e3880e3105bdad374a6db1d9d82c71645999a370671d919fb9443d6700a6d4049d3bfa0656f8019791d58305c565c413e028418bba5870fa28f6f288fd9811f495de3c3bd3fa990d8143da2bd47ae70ceb6b2d59d3922703fa6744ab6ee32331b2b45804e72315ecb15fff75d4a08deb269e3f14dddd67b39c99020df962b40ac46733134cb8b1f8a423c68a36c8c7396ccb451a8f5b86853fa3db10f8ab2513f37a77d1afbe1108923790191f78451562187e8aa902ef17d95d6276d3624590787837cd1eb1eb27ba7b333a3db70e4bee2ef2b2e1dfc28afae82cb829116a6f38a0356a9e1bc6cfd4f3d84d71ff67383724c453a4f3143bd4e747fdeea9495fef0eb10c1f53dacee9c16c3fbf811d30bd02102de6f0b29ebc139f565953a8462d411d3594477b7ec00fa34a15b74f0e87029298ce0c5975fb8ec749b2a5a203cf99f88a9a88dda2d1ff487e6a088630b16d45745c8234014a92bf8fe0975195e99fc167e2555f220c2e6237dbbbcd73cbef3bc7cdbe428053f9a9f84c24acf9d11c999645cd1606dc2d8b07c51530f67a7a0401523d8afd76a830a0f8dd444e10c3d1b079013ac2efe75af9aed936bc231aa7b7ba4aa6644d1237c8e9b83fa15fa156b8134d43d01d518eaf1b0e00737f91ab61d79c4c050b42666f897119dc74083370593f814dfc7601f15225467d067e06dbf456f875f7f1c598b21dfed1f68dae4d3c34c1a988b4182e01f3b0ab2b09558b402d47db6762c51f7bda33d3c3dcd0da26ac4042ad00094024403548a4200a84488c451ccf04ceae172593b9474868f5eeb349fe16267aece05532aafcfd242e073a753b7e40ca030afae8031d76bcc314dd48857c4b5193eb9e46113ffedbb23b702cc5db92c13acb6182633e8560e0efed06b34f17d3182f8c5bc80af61419e2be2427deeb6658dfcc0cdf1036524284231dac378160edd9dd1806988683a43ff8e54b98cb0ea5bfa0d2dd8598f74479c62de66407c192f03ec660dfab277250a01978bee2704353c7f6e67780d1468ce7113104911d28655e6a0ac615bc3ec52f2381cc949fa97229c18c1ee1495d99d1684a1d565bd85518775e31eb60a0c68e4c4e43657962489f0873baf09be0b89a7a5eb21bfb98c2cc023b3a133f5f2890a19446b6a57cd144ae8c190a73a3fce457293a102ff252460f529c5181857672a1ac06961656007b9ecd16194838770cba7c99204314a134a44665beb0fe23e1627dc1806c1bf4b431be6188687f7ef9be6d8797f99bdd5d0cc64df27ad04c4dccae7eac274986395c86ac392270488526855de036968c5e4d74b16aa12a3ea23996d452c0cccd56f5f791df47f850f3b427075fd3f828e46768ddeb262afe68609bd92488b4b068082009914b21ad96dfd8adc361049325e408714ae344fe6fcd88249eae09aa8c25434f0a148f6f8de0ee0fc100c992b6757e012df5bc62c3b168a84f0d520debc2bf1b928e057900b7dd265cc88d6ab770044c8d8ccc45d1c4a3196d4c862bfede8677d533d8bc65cb1e798338790fa17b6ceae4c3c88d8023c00d121fdb3ba7884fc8ab92c4ed0d330f53ea8dc2c8fd9f1cd78866efd51ebc5f2ad756511f424c9d0bec4a2acf8c565ce0cf7dcc9db824cbc533ccfff82565ea3aeaf606535b7a11f753d90f179a6cd484817f7c99e104b3caedd5f946ef3c89c7ac7e358584ebf4ad7c0f0f1932450188563e6d947a6fc77b9b30b6b0c7afe365d9d9da7606754b520825362f4838e796e4f91180303b760aaa47970ebd2f22b966525fea0af7be5ba481a83cc77dba09fbd461fb6622a07e0077120b513a1a11a5f625053295605ccf3da99ba3cce57778ce9ffd9547e9fa7fbf064b810d3d06de30b1885ed822130e6d51e9474d27dab7c03b3b9f7ce36c83aa1aa5779999076ef226a359629bbbaafb8ac0ecbff1b607a247081120119353c862534138a28bef1ffc98d7f84f19b1891525ed222d58559453f94210f5f64bd52a2270dfa71d68f82849328f9961edf27e02d4b3cd7772e7e324681047eb77b0d64290ef8821249bd386e81149630b9033192efd29fc9c7cecbcdae35b7a513192832297f548ec1ddab164ea4865c37305c989d183b19273ffc3a175988ec9d5ea70b78cdd3f097226866496373bd214e3fd3ea366ac093e3e99dbe4a7fd5711f53da2fcebb0b16c9c4fae41bd18558915124fb2ab0c335a517031b515c0bec7c791b2115a4158a457b6292e64424de6a42d6d052ebe448a7ed0f041e588cc37fb1351b95e65a530245b9fba458864d657be6ee049ab7393afeca328b40ffeb05c33552ceefd834a60f29b0dcc2a7c3744e40713048c95d27e17750c4f1360c4aa31f10a3d5717a9599ac13ac9708a3130070d24b20d6eaad36be5e54ad68db1881eb9ea5ca5d59229497fa867f71f3c01620061e3befab486634d8b8503e00ebacf3c19bc745dcf4b0195e9be72949174bb261b41d57033670d71cdf292ee42dba5d3b6a03892f4b2109d110e7a1ab4690e3b193c3a6dfd37ff5065d53d56e2a1c2733f016926fb60216ecd9d77f804682f265488d334c660ec874c1b4251684f8d62b0302c4bebffbb0a9039418c82134537b6992c57e3750482c031fe62062c07d862ec94e4d05239d8e689f1d526f202279c0b42c95adf1364d342466f2743d6b99866701b1ca492d83f45a6231b7ffd484d71608030b2254f212446ad6737700089a213be77db9bb1e96070ee62df18fc791f3679623fafbb159824632d8929eb1ad94ae996049f864ed5efeca7cee4e79ca0e32d7f9758bcb5d424a94ffa2f8367f64b57cf8c35901d5b5d3c16c23b193b5bae6cb3b684caf7f1bec3917c39ee8e76aad324b864674fdafb6cd7fea57f2b5076b627f41f5c534db3dc222a984dec4f91e9020f854a9a4117e95ad7c56693958c59789b2d8bedd3dedcaa4f325837d4d5f94704a7c1bca0491a30132727e996ae8a04e5dc9e458e3ca1baf6c249946cbb0f9c8c183ed1d810f3608fd39ba90ba1f324c48ecc38dbd07904110e4bc9b2fdd8825de169038243a773a0a3baed7541cdf1376cc9bcf62ea178b6eb6a6f16e5cca4121512f74b2d6d5568f8e25d8313f22ab38aec52419f44eb72b82f04ad7359de830ff2ac040fd06283e8a04ee237b4e024610a94d361d89065ad203761c0e1f25298d45b045099101bb27eed24dc12abbe6ce24c9e4edb95f86dced3ca7cb6deb0aa3ba89578d91b60b14f7a929d0c439fd235b7f9ddca7e391a3347c4f5be6928fa6ebf7a554e0e358e0999363bf3beb26a26390e02de57d3b22d0b5b1c75bf668d927dd6df3af492724716ec36ce7dd9d639da185be7b2ec07b21332f3e35be885dc5b68c7e156250ef754edd912a848a1046cd590a104ba9f590eec77e464403073efd74c9e4284923aa98388966d358e4059624b8b6200d47f6cd957dc432b1e4505000a94b3664b25203635c2a393215a7166a1c5dc1c9eefc4ecc088a269031422a5cfb8448b200759177a5c33510299e332b07425e5cc9f660153f8c60ec1e584e49ae0c79c1f568d47eaacee586f6d0460c9a1c9e5d74456920dbc38d5ad0971553953abc647752b472f3d9e810c020f1188e2491712b27e67b7c011264003d3a6bc5556be0aabb7e67a4f9884e4d4c3d6df4875680a249e7afa7c17920a78a0e0ff017794d9c74224e0a4085c439f1ad189c3f7b9a4d18d6ca0670bb7a8b950e6dc5598dc39a34edf9315dba14ab5698fc4403cee7f0497395decabf4b51e9c2dca54854119f49c55316d20f8070798c79fa5237422615f08f9ea2b50e38eb769e7967d47cf3f99c69b598c755dcfe5b0313168b27ee4cafff4d64ca03f99130e6122bf2d1a96b57d774dc6e2369a34946f98db99cf2e4dacc4f0788a3351141ce5adfc86f69a90295c88166f1108fffc64298fc0a5831627172fa875a42a52471f56adfada50b3266908aa01cc6a05eea6c9c7e3b047c9d44349c5099b4a7164490672eb043bc3d7e0af80cdc48d993b77f37c6d0bbb7366ce03a30d4e644e4f988cf747d854d4379b51d46ea7ff0a81a7d9939cdc7f047471a26dc45de5c7c0fcc766f8a08f5b562bae0faadf1b2c3fe50bf923904d0e74491a8c7163f9073a038f820108e3463696143d01b18658971168dace01d1d7e2fc81736ccb9955f3f3e31eaab75b6e371b72d5558e6ef4c6d5c3cc87e142014347b6fb6a6dc49807db91497cf7d143d8e39dabe13eecf6df23b204aa72c2347bb29f7b4ebbfa691c61215d184abb3cfa299a7c542cc6d734c3541841a773727c8917222e5163c361ffffa78179b1c8cf92ec93e70471908a443c78325c2d0650948a975985049144b31ac6ec6ea2cb5379c6a966934bbfcf89891a7a6eb89b9478ba681aed2cba99a1d081cfd80078fe4d6b19cb1caca3118ad997d9006b058bfef5bfda2d8c5fe04ee8141e249f94f474935c9a46e74a12b13260ce3e06b179ab2958130f9b3c89f2f9ff8e60371a6337d16f28718e9e8d9a4ac6e484493b46cd485cfc57108c71b31c93d037a5928bd0a4d1260fa2cb31b70de90790796ab55a52b6fc4bbccfbb7781e7b98415590611731aabfcc243e189bfc5f479fd711a5fb927d1df02340317f010f58a6873b249c2a4b4ab9bd69e4c6e52fa73cf86c2b1602b1d3e9584526f4dc731f4133507d9549c54a8f4bb0cbcfec984effc7837eaf8b108f78f7a2672362edadb06d946814061222bf269ba1c232a9ef210268616377c32c8b37e042e2ca7e35276fd982d550b98b1cf7510106ad179534dc3954bd98e4f87220831c1756e8f5a2552a1ae360770d8de32dc37e96762879e9762f67a129334df15e896a90f08396930b45ae50252255d6c1f838862f43e02f7ea957d9f0500f02a057aebfc7dc8f8316377127007d84ea7cb6c4772fd155216a995cb53d8bf2bc18ac0351489e4c159c7457fdc965ef6e212f2ef7d086c78231867ba6e3f28e4de26bf5fbc63361c008c322a136cd1765904a455c21d415b7a5cf4e076d8e4bdc4f60fc3b61ee4d684df65271177a5aaa6da25ffe5c7bbea77f46f92706b9a82836e6d03feffa0bbdbafa6e2887318000f32be00e623a1efd66a28759fee8651dabf0ae4bf884fa56b5ce5b47856b34fd71807bedc0865a8aa28848350f8dfcb669ae01dda96a9c37a897a2c6f989a9dda179013520e023020c7f4653f91791399c043802bf266c8b37ea31c3b7441e6cae9291ab3f32ed31c00c774d1e1cce5249f315eefbb9f5e13a36103c87fbbf12e1845062461ef53c59ca7251df4f858eda20dd8564a258192b165016baaef59c366a132ed198d61d3338052ca1710b9c1f5203203a0c24a5d76fc636a4a1e8b14e3911fb561b52aac99f40019bc15932d313b6a1c05b16978c3f4d5bc53f203c24101ae78c90420fa596b1b4bc8e55ca31963982c71e9992f7264c0d65627ab76d9ca8af9a0b9398641de0b9c94a697e02bb34d446b0fabcd44e24c5e79b7884cef6a724c51ce09000388d5127b8c1e68b746d58e06b58be2192b2740a58131aff8e86c260b805d09b479e28672835ca9c9f42a59396680636e740494834a327e7ccbd607a6f0d4f8844a53b0410db00538465749acd574446ff025cda6584d68c04d533d24c06fb4a62e66be0cf63c5ce80bf7d7ecdb67ca38ca69a432168424fa8f9422227917125ea9159de9081400804154b60ebb3724bd358c1ae4bb6ddf1e6c2260fb73e8f5a4ca6b00907e3b801f7ea9ebc6d89db926ccdd54f182513126f329ee73c7b0e53a4980cc9ebfc7e01eb1596250510bdad595591b2c05bb06e8d22e055f582431812c535e1f7b89b4f9ba7ef739d596f4d0657ff32a8d71d0600415cf0d2e68549384ce6b18c68aff04e1c52ff28260a4f749fa3a7a31a40446eb1a9b29353ea7a9a2d63693016894e507685a9805dd50f5dec295444e9e8a575a6cec0c2877a7c4ff32589a404b51f450e6c9b9474cfaca613ec34667ec9ebc65d43ec69c69822723720af1bf903014d09d09c06a8e52849d117cfb1f418641504a9239fe9b4df0ffa58388dc0a36931756652a1b6afd78410e2e41227fa57c34d5d8012a132043f57bfd61a003dcb62ea41f618bc4b3bfa273468c3fc3b0c22482b80a19fbd9fe25036d9e516bbe50497b151c5eb6ea25c3ea28bcc9b603f7a20a9a7dc904396d0b7aa9e278ee50f2d6b12c81f76ad07919e59b3e27e7d4bae88f2697de19a104b8db15a7f7bda2b0bb8dfe0160d076c30c9847a6725f20f195ae3c822d72764e51b072d49a08d0b785d4511716fccef58256b83a2a4e5640178b328bb7aa33e6961b8e5ee69e9028aa0539c0375e861d557202f47978badd77df735c5cd0d4d86a6e4056af5c7566cb6647eeefe0b205720c60f4ff1c4005ae510c6bc2b8d55f8bfbbf157e3cf67ff0785b7024d24fd15030f7c47823d73a59b34c17edd967d9236ddda0f16802c91dc3e2c2adcdde692d6bbe362f1afef4707acb26704901b1d184d7731d2d36c81377f8ff2ea0accde1d33c77c1ba81945dab47a8d7aa41f07ccc10d5e0606fca88effcb5ce098357b8599439ffeecca8d1b51b37cb6cda10adfed977c1300d3ed38b61b6fc051dad646f881e2a96df2ed1de44eef1ede113ef865f0e5b628c6726432e8bb02e9174973d13106d7a7e18978a1958760a7e9f63e911e76c7e0434cb37bc8d6131cb39f90a67afdc650f597103084d370c02c88c3b6b4bd6b9070b85e9e553b90eb384a1ccdbe650bd6b16d0fde20660e946611fd38852cdebe049608cab71b90c512564ad834852188a9e23500f91f0e08a1f8dba74b4f0c0bdee947a09948db6bd1407db3fc5a320472cab65a8dbf5584e117c59f978c4eccefeb162edd8ecca1b341f1f18026d2c68aed953744931f1878e48a634e0b666ae81bbcc603773c669012c4cf9a08aeadd08436d1a34dd3b2f9083043a953ba446415043ccfc6ff009d53ec16b02184f1e5b462cd35d7f3831613e9c5cc6a63817b05421c596e440e319ef8fb33d8c7bbc1aaf331a7db5c02ffd7d730cb30d1532b0998cbbd3ed9c86f05e7a7c724d60fa2bf6c91e1f2875b8a1ebd71f21beef40d973cf4db59fe592e12dd115f3c34a7cc5f03eeeddd1d6a1422e6d0961e27e0015acb9a02126440d26032da3d317b3cdd08ee76540e6efc01ecf6653cd77daa0d8e588352023ce13407bb6e3435847671ef29003a8f12f382db32bb037975ba768471bfa522c6da09658972afbe2f37d3cea51e252ba6eeaacde783cf0e8a53657e1ce828d7e0a91159c3dffc8f351182ed230704680b8623e763b7f7e53615dd26a74f36331e64aa06854d15f0fe2893781019847917eabafeb18e4c217b4de98a2c3c583de093454da30ed3e8e812d3bec123a24b7734113335ed58a8efc300928920c36db0a8e7360c86490ccc24a9001600e83b4f2f98a86a4301bc728b81ba57fae35c1abacefe0c3558216952ea3200a28855d30204ac7f4afafc8fb9a2e09d15ff663d833c5a7f9de3c43ec151209d894b1e806cc60ea862cf258e0de51c626bf90460d7054294005f61c52cdd128dbdbdc687a05ebcae9b84f7b0a66983fad0e38ecc82d196b603e78a53372f5c19f56270368da8354f14648a1471b89712923684ac9a5cec78bd0e7de0a03157335a1704ada4283b377f75847126f258a865fbabade5a85bb4ea95be9e77b5c97b96f731c7068b74972d7a662a3edf8b1a974c380727e4717b385a5ce59a3b59b60e6faac713ee1dda79d31c089d63d6f24c0a4b591fe77272cc8d6aeb44e887ea322a3d8a72d4e6e8751e5c95c17145e460069fbe47b1d80f82f11b85e032fcd8b02a3ff5e53dbf72bb2b385449d2ebb0f3879b04709ef9753d45d06e43703a5b117ef3b880c30a2cdffbd338c0a67c7bef672cdef1a1fb8916519b49945dbdca0772a071c16bab6e70b49c8338d2e398ab696bff3ba4dd0848b58a0dfba9982d926b71fed1cb0e1fd0bd45f5b0dfcba897a9b9a826728094d5bc95eff7923aa874e1050142529298f5a2d2c05c71d997acdbc55563cb844477a4ca5c89e5a0b823cdba3bca88b6b6faf8732f942ecb7f2a66defb414dcebc30203196291d2bb309a7356ed2c40119d9f7c35f204bcb17cec9b9f499c3542415b10125391a367b96a3527f3b10981f858dbc344d6c9bd53c45526e57868852df5962fe611536d195cfd0bccef34494dcbc4159f5909e17d66bb34513c54f01a9f9f04f6742d27b037043c458fce394ed0fad505bfc065351f02603875abed7c9983e6cc1c44109994175f26d668c892619ab49c5c5a5b7db649ad043246a4f6c10970a65b73399982f1a7607d0b66de6876ef1af013df9d5becec7909c20b33cf0016fbae71c73ba9d23a9fa8377b7019174f4e0cb5450725cc933e4c159c868843e164b7428e3c97a11f033cd2e93e8e9808101ecdbbd71563a1ede303d3ff4b50641f81ca52cf3dbd46583270e88b21ce79ddcc269c90039f3a1d2f038bb05516a1818e43b5fdcca7033627cb9034dbc48197456a8224a904b7a55057dabdf7cc6d36d31ab04bce93f6883beac5d7af17ace8e0ab7f1cfb206f29b3ba70ca2d270ece639330ccd183775d6e2e5a81805380b1dd276cf1afc7fb67010fdd52c4f6dedc86ec14cc54b83626ae6a5d37470ece82aaa63fc1723f5cd44b6ecef6c87e8e1f1ede39e5ff33f3c083a68bae00bc2e2710641e6e01db487021e66767a76b628b5172efcdf40e22d87da5d9c62c41e58c978a7de91c3daf4567f5e7cf1de819f5c24459aa0670273156973d63b76f5b722c014957d14c5ef339f8dafd0c3a172c52a049bb92b5e1bbb123fa7a22f812bb062cab70232a458c1a94c02799299d8d47cfc469592cb433ad9f8591b3424a12a2034edb32dc4d772c59cbdd4cbbba4bc8c0d8396d5220f41af0a6a6d2897ff8e4441104703e93dd0892e8c5d328249c36830a9409d19855b72cca37e025a73ebced5dcb81aff2785b5e966668d9c719873fa2b75ff584224e8b7915800487c5bbc6bd2fa152229668ec8d1f150714fb327fb6de5c54c2f21b881b3a456737831c6d457d65bc18211a34b64e407774c8db311842cc79a9830cce477a62684f8ab3169756fbd539dab3294a0a748923d71b3390d2c869cb45c586f4909475c99ec9bb883d1d13e550666353a7faee92c5566e866d12ba651233c682572de1f76a57915a8c04b7ed1566b5751e667ecefd64889f6fef010d939f784400d8c7bfd134668989fe348d8814ed1b430335ed9ce14d98b6e6d32f32b2fbedb63c9d31df492886ce0ecf004f38e1a867ed9ecb3eaee0801f93d72312c14350eb22362a595dd43c3eb8664dcc476c1dfcaad7618bc1db0337701adcfa6165f2bc272ef0aae5801dbbb72df9e08a8eb19b7f0a10260b9b84e74fda8f4e1ca3af20d641b6a8f56f371cde353592369f850fe45909415225d7ac29eeb9f7a7ca90b880784bc5f0374d1cda6dba5c236bbd197e9d9a76bc61ae6ca55a6aa4efea0b637ea2437057ad7921eab57433dac2cdfa773fbb02b1b760704d893291c2968517282a005b107b30f3ae312216117cf6c4ca5f87362f79b733b8c55ded76dc4f21eaee7083fc54df20b62d44fc8e83cbfde37a638b3a63fcea159b0e8e0ad36a4ce8273d910ea4db0916728237e8521826a95fb6cc0bd79ac16caf50c91d321ba78642b2496cf8076e203231b940f26a55e062673c5c50cf37b899896028bc150d3d2be5fb7abf34782c4c97e6f8644265771954d6f5e1f23591f2be65a4bc4c41e2071ffae10d51818a859b49dcb4f6a1a5463788efa34f4dc68e6c8ff21a7e8ad94d9455e99134c3d317e76e0aa6e81c8e66f66b1ba86c72f299e51fd7187b8e6acac630ad6fed8455f38cb1b62d52d6f0ceda88116be3dcef8ed0aedc1c2e8d71537cb433c3aced7ca59aef7e46663696a38e4a8c7684a1731ad10091078636ece71b0d268d7b2cacd7972c15789636c491c5fe2d9b639d554036e3eb146203f5a660678e3e110cfb6437ef6b3e9d29453e5749a3d54132dbf1307a23c6687397dfa4a50693d9671d96ebaeb89103975499f6b4ed07229d24cee11234abb926a434fa2134f0694537ace52b1f3630425a7b31ed62aa292a744c1d33acb6812757286fc2b7cad36fba8268b649f22d74f1b67b1cb63f8160b452e9bd56fc4caa3873b8d861663a335e8f9edf3cbd1feaea3c759fd2c634660366c9fa18a40cae6b30869021b0851424377b4420fdf9024a4085e691420d44ab043dd29ff4245f5ffc9185823d6981601462825dd37ade4e99086984dc909f9c3d13e4c41457591774413d8d000b948ee250e05c0a1fefa03640556e1cc4cced62b81e1838d1ebcb3c7c30e27d7809f7a9566c307d5bb91ce7835d495731953b1ddb09571fa61c8471ae4dad056e7ea3e2f56dae2e7204d43759e3e446e323dc24adfabc9e75600e1a13a5a0b27db80718f750a5a7bb0cd46875a27d42248c7c62386a2d6912527a50c8ff9930e6df215ac63e5bfb68beaff0cd83330d9a2a578cd45b445e341178fd9ea60e9f648151b5ec5018ce3099f9a37b5bb2ee30821f5f53fce2189eddd31323d08d778f61c103dab060e207789f47eee1b30a922b417323820df6a0ef7887b7ac002dcfdc6b6c3637ab48324dc2625200faccbff635395d589a13053081137a14029e2c25ea12a6743bb5c2c89e3a01f5fdea433f48aafd66d402bb9160371ec83dd11bb2b240d3ef829d5ce4a2db1aba5229a9dbd6fb3dbc2ff5c379155d2a7b2c274b8bb47d0353f8f5cbfe616e5f06a0a1a83a6bb6259c66f464c2e475d4f81616c21739c67b765bf3490eeb8465c48bc34f9dfa5334901976d81204b1db3c0e106ae272049661974c1352d12965fd598a0b2784db95ccd6f55a2350e68687146602bf19d87d650a151a8c37937b457d098e4e0764e4a2d2ba8c3715af35a43ebe01226fa49250a21711467fe9a5ee0141e3731def0fd3505873b3003ce1862ae88877c6a6fcb3edf85d24014a3df94946103148e1884f2300e5cb226ad7dcf0274d90086a65eb7fab94e6f3d8efca0170ba6d02fdafd210dc39b013d478969b5d0a6453933c4751fbb314366baccba71d1c0b9afe747d65b4efca28cdc3d19ad24b682e1c5d72d07651169ee8835914f916af911a5309acec4d1fe924318677f290db8d6f8a306d78a1a5e483f171a139ad23837c674e7bf9ebdf2b37e8c4a459505ed9161b97cbe0355fcb9b879679643172219489921e0761ddf8eae022ce8b6e313c45c5efdebad9f6aa06fbdef4a69349cdcd587cb331df6aa0bb651462a197a025255d2549b3d4ab20e952cdbe4b3be282f17dbedd3ca93551b4977e8e5ab8085fe6a0d42fa1304a71dbf56e609888889ff7d342b3a7d3f15fe4203bd3c15fa62c7b235d3342b8323f38fb419f2e0d30bc652c47f2a309b774d1fb4eec09c6e30e6897fc3eee2d9af67dacff611f9821d4fd0fcb01e720dbbc6528aa4e1106239b4c45b5cec01b784d22499b4f43b6670212db7d6af7b14e4c5f436f5ac1a2c3008223512632cb80a653469452919f8256ec9711d8cb20641e858714900c1344954d0f00c94245cb93d6d62bb6b3bb34ccf8ef563f845a79938f5189802b0633068a15c097a9179ce4da0fa04d7f85ee02cadaf0cac91b404810db2ca64daf8f2fc3c0664f9f9ebd062f562c3835512865e231c6ab186b2b7c5b9b15bb4f0e07a7a4f8f629d47f51c4199ea9759b007d82a62936ffbec1817033ea474a4649a4f2c8208255c7d03477f88d0c680585dcfd21e6586c7f32d1eef8f84eff8a97d10d72c50112c0dec9ad2b7cb20f4c11841070bfcc0e27f1f05ed74afb5e2315d133cef5f10ae778dfc01aa76c56d74d4cb8d430bc70c42f5e51c2e06e67322016ae3eb44d2515fb8ed359f82a6f536e0a8a666acc07d9c854a33df13ae18290dbbaaa92d6bb06495e6c187f5c13542d167df5461d9c8b791bb4729172fe3ff7b5350bf48094f38ce6ac39cc9ae9da3947c6c70c2ea384bc47301e52d9bc2123b30600e2e2574bcc290f6ca6aed02d6cc7e498f867d889cb916a25c991c0c4990f481218d119ef5ac408b90d00fc6a235f8981dc395851e9dac17cc9296f521332181e17952302ebb8df45dec668828a5b09eb2b2482790243a428ec2c4395ea1c3fdd94e42f0eff28ddc9c88369c4cc581dcd9e2c9cf47c2c2327f6e495f09a3f6df57e9b125f34fba74aa267790b1a367dbab64fd74af0d00bbb51a2b33b83053fab9221dc862bd01408392acaecdce8fa6b9c77ded5d3082656687259f2e4e79333e2af7958442fd4aaa98237477719abdab1646122386dd907000f810a9b2c64125495d2db1de12a8ab1ef7c9eb215f9d8d98160124f831a80edd35ca3be5812eb748c5277d3cce08f456ab9a7b3308fad383951a2a4fac8861724d80746064ef4f3fbb6bd7d492a5796d078b2f956cfb59a4397ba623700cc45ef5f6b32e5a3da5856e61e5c43e11e83dbce1120f75ad5c52f0b5fff3d26fcb5d26c48dd96c3234c41468924ec6bc3d78769c3d71b8c16ef985cfa1445312fba422fc68de5ed8c45ece5113ddec13b7e6dd64eb06b406aa3888b5a73dac77147916a3a81edb5379069cdc516379eaffb82705399658a4a198f54ed2f690376379346d3383eb241b32b0d3e3ea252771ecf084bd74a0a560ef83472176f369373058f35298177366860d2e889dee36d93a34007eedb54375495eec186a80b036b0b05aa89661f439f0023bf6b4524426d03b4e3f5f409ae4b311df28273be87de21d29398187b4c36dbe32bac75e706c6628f8e79547f873b14c854d146c383e9b56e44648be1e0c39f58274d24c72ae8814e84bd5c380ed91c82894c1f2735053b316c6803349f1c47333790f0b4df6c73850a6da4492fab6001c48284f3ac7930e518262e10a11d4ae3173ac8c157c3c59c04d12e81b0d05324ecbf52d16bf32eba40c2290381f490bfa59e543593a35857dd8f1f67450b7516c76000b0fe8a76469579b48a06a69424ea95615561eebe5c28333a273b753920722b81c89938e93ddcbafe8ad4ab9619ccc251f6047eed2edb50c8eeaa0ae5e8afbb51c63d71a48513b4c9c5bd837a7d03b57e95c33331a6d78a4663fbde76d7ddfaf2bf58014daefc3f19095ad99e5092fde44b5685fb64f32f4198d8fb52d55d0d5f430c67003b2f4e6cc30c3f92b52de43fd777b5153f212ce04d99d70ce30e4aa2ae0b2b93b1118032ed2d2b8fa31f07b62f4e2c507341c7923d65c1f37eae11845841a51e5f9339f0a67dbbbc95c3527c1eec5661f8d2b5aedd1f67f36a4e6143eea5bcd0d7bbbde970832628ecf53e9ba0f59e2d21047a87eb13eafc272f398782af6d4860416bb122a498fe561cbd2c6e5c0f1c435da1113c426c267c8e05d1b148cf090c465dd363af01936591e23d1b273393720db81382e2eb420672695984733967da042201ab0450be33e7dd037e0de7fe406400d9a73d37eaf56d45a94ddb0eda85d47596011676b5117850d3114c7637ebc019fcda51b171e494b419370ad3acca94d13dfb7f3345575207fb1194c05b436a4425668e92888a96f16af0c2fd2ec9efccf493ba3d11a3088dd00a9211a16e5a0668523da96a024b11d7bd5fe2fdd77d584018061657dd3d17b7d060679d019ad82bc5fafb1345bed3b32c5d39a6daabeb34bf05e8ce0c0e3e15b17b48a28b876cdb79550d83f740384ab6da03f61df92c2e5fb94710d2820a40eda2c4a9188e88fc827653d38a34e1e82e1b332440cd4a6ad3e4ff3910e0e99cceb29afbe7ced5da4bb665caa073c7b2b733330811434f38f806e5bdbc0cc4c7f844f7f35797967c45f3287395d03f31a96eff2d1ab5aca5f69182688fede6a78c987d7866aab465b0c7a5a4c8493c3d007ff7b6edad1d7c2c69b56f519482af8002a6fa63518d173783866b7dfc1cf4cd6056685290b19343f4dc81d3440fc7d2f14ac5d05c9c53318244a539200ef8b694b80dfcea3ddadaca8fd1ace5eedfad56dcf683ccc41b340b1df3d71ce065f78ade0ddde409acf00f989d548f37f4bbcc36eaf3ac7bdc2fe330c39cc32f511b5c276dd3c745e66624518ef965d20b614e925802e5392169ee406874aca1547f823ca4e49ca1eed7297f1e533b19d75a58c09d543c42898f24992327f518501cd64a115f4ed06027eabb9fcf6618db73431da7ff9de4cb9b750873ab73b3164a9ed825838ae0639ea7e49a80ab250c5a9d1ffb476c8efa86bed1911b67bee3fef6c8c5c7aac560918a8efb7073c951f44f4919cc05a2f27107b48925c41e09236911dcd6bbeeb2a62cec2b76ba6ec2438875b2f3e042ff2571df450bd9b2e374ec64066edc69b1ef2375d406f9bd12ef06337a65dd46f5dfd73af9334becc6e5ffb5846af8ad883c4c9031d5deef05d38ae9245f3b132395cbfaae0896ec3bfa7a0399caa190dd0fd50962bec98d54ed4b70221483730228d084bb41ea88530f9b90b12809af27d09b74d3fe65c85e1b35704f44e7450ddd4365f015ebe77c797df097e1f66bd49f72da970226c15bdf1dc8fa64be9b1b506911d70f6c5bc58d9162c1fe9499d15bacb03bd01e595ddda71cae463aad262b22bb14bf079cb1e10708d034b0c2946c62d37826d96cfd26d93a2bda1de34a5e1e760a5a75066e3c8379f470cccb2ce722583d0aff8eba131f5aae10e27e248f131e016f3a8f2b1c4c078958bf9e099c20f02831b3321574e0f273f1609850441d5c3465782314d152f81f4e32bd24256171dc4a8ca297dcda25b7b0cc37e398b3652936cca404b9f6bb65faed6185e6400dd2bdd48435a15cb8a925bfe43a858e1708ab826a29a254a3e93a376d5c223f932707bb133f95acb44d66733afb216c80d973d4eb72ba1c3e9a322047c1b7654d76055583616a3fb9a1a92b99cfb8f609cc08d4f0b3dc5d130bcc79aee5f7fe49affccba0a4606a9de512350ae035015721981e26d021a1072689369bc41ff1a330fd58e7f0641cd1289fec9355b41787dec16a1f4f8c5fbdef74f0873b4a06765bd1992a63c67df241a624aec9bdebe7a7271db62b26b98a2ec5ac7cbef54d248d4d3ca933857dcd57ebb81a93dd90cf9d58f4d1bf51e6527065a423feb584fede6bab34c0628051d206a0e5f48d506c51c62e36d5f680b6a626f1ae9e0d997b49b652693aff9203f0aa9f2104418a26538fb4d0a018541e2f66ad37a6671d4d3cdd45a58f1128a7a49e29c089bf6d62b9a71d3a0a10b6122bde9daa9ee72cdaec926fe56da448d44b35640782a0d20e4d074e7954b60d0e19a230e0782a05aa8682a7322d302a377650d56f5e0994273b0e6fe2438450b88b51d7d8fd844d514bf573319add272ada911707ee1fb151bdc3d7f1d8901b91cbc0b1c8fb7a962a0ffe6643e2f9865a1aa1bcb49376ef1e71cd9b1074062c6b98e9e8ddb229da41618248d81b136dfc8fb7cc8d64df0fa6fa8b2708094a0a7de7b6c6dc737ffc0c0532eb8c51597001f4b8f108f2ee3ee9b2aaaeeb1217f3685a866b680b494d5aef44c18ab022b2bd8f270e54e411d9fee5696a65354b727866baa4cd514719bf40679c05bf753da6465a33bbc691cd1922b5c8cc21918abed2afb5f3b685f798b25321d93aef42273d40eeb17150bcd87635c852b5fbb9cca87102a5cbdb41bc6762d746ea891b75502e3929287b5fd52048658d4fabdb0950b5c729abfa0fcffb040676e7abb6144a1de76566b0c660c021dd690e33d5252e3334e23cffde21582fe1f4b8c689e282ccbc77c817d19c351a69bd47c6ecd2621e745abc63c3f9dc4ad9b9dc11b4d5473378c607eb5812d1126db3d4616041a628327bcf353570f3bc7dbfd60ab614f15e3d5cf5c418f0a530164a705a8b97d4e98f14e6ea0c9a887e1b680e4e65511d83b50b4bf563896169a5fe640ac2c418a7fd6123e8ffaae45778d2f51d6edba9097e02063f91cb304c4f28de91d1340155ca7dcbf0aedc44095182a093d07a4bdba5d3b4c58f594051730e9d3ddd6e99397ea94114248b0318b4305e4e0adfc23f281c3e4698a830e236669c4c3bcc33313e9e3777b025373f53d361025218b07a0446e24fd13de7ee80851caca2419418dd95817b7beac6d638e3b5edbd95fb065732785adbb0d68c299d951c12455e5c4ca95f21d120e3347e7c003f8d0b8e40bbb62c341b5aad0abf2e4f0a920d98922b94d2f3a00bacfbe6f5473c8b665f99219ad92c4168db3e6b3b6410e6beac725ef44792bb9600f651b2acc731b3503f3b38ff5c28a906ef9a971a776cc50a758d110f1ae50af513f12d0b99f7b7c5192d0b17d0aefd5bed9c00524be078778a4074ee77def0749c992c41e4a02b6c1f2b881ea682a3ea565e5ac0e0661a8b9c2393d1ffa42103e3f34d3e5c42f5add80eb1318158aa00822a63e29f3d9503d5b9f7ee9f3f53f02e9ca3ee9c92e2e99e7e701922a2a7b4cff970d34045ab56bed489a9589493ebed42bcb571f98b5bf7b099f8bd2ecc3a6da720df54def037b32fd22889472862988eb78bc9a5de668d640bdd8ad3048f0e400c9d17832e6fc8ce2b8a5d9a6bbdd73c15e80192a83d29728008e87980011053a8b2aaed709401551ab5058a9e0d5cedd1484c0795bc5bb005d49e7c7272fbf0a42d2dd9315fab6714265ee3ae9cd11295cd82c29c52f367382e1c6325c8b9f6d25487fed6401fb916ed07275d95c5b20efa8b59284d499de271f7526a67312ba7e84cc9fee82cc6dc45ebf20fdee170fb3689e3f54c9af55b0f0035bb84e2fcec91e94452fc627f9a9318c714158dc97129b16c356919df921942546ed861fc3a81f91fdff345ef77cbebf1bb2727765d0450119a5ef9dbf951c92741da0174f1aa7e64dbc78a9f0ce933851fe82a473d8824321c810e8b31d565170b679aaee232217b6738a1fc40cb1a99d177244dd06547ee330f8ac40b85899b0241972663702b70d0528d1fc625921140add8568697b7f9ad74882755c1eef5ed5b69d6cf253d94f556ad1aa2dff4106dc3b63d81127dd11762e5ffc72779bd261204d9a399287878269a7a537c4d044005943703bdbca338ed6e71f00875c5d286c375b44780385a8850655463d4654a33b2f3d6098dcadeaf0186a86856f4d69626cf64022be465be164bea1927c44efcdb6f48921bc8930bca2b50d02ca246615763b5a39981b46518934a773d680f7f0c2a7ee6db6590592faf16a2db924883e7805f45241fff5dfc75d9c33f28825bb49c70ed561da80dd864b0decd2e01cea660d6592b602bd02f6112f953f917a9c257f839a76f5a559d1f91a0e92d1a29bcb29143f3490479679dd6a81c9392d890c38f0bd7cedeaa70429985f8fd12b46655721ede365b305fcbf4d8bc5422d67a48422d3256d4f9a1b7da2e285742f26fcf4d35049d2d95503987525051c7133fc5215a6f571de34e4a9979ae9416d95727f8fd3f3ab775489f7ac8c306c02789a4bc569e6f5143052d773128b74c4d56a4f5310b5471ce47ed234c1f9ae0a12e34391edca56ef782772e4552afbded649befe5d957e99314a1d0c535dee6f384d4ad803a3034205fd42d3577ad7f56f741ca7c304e9c93df8767ccd8b9d41255c9238f9219ce8e7f3eda3176eaa0e5854103e61c8976935ae59aa0452e30e0d89124deb896ad41d704ac52e3bbb1326a32f3884500a86f041b797f1cde3f408416629deda2f220f315b0c1383054e75540a2bbbba7831b25327afbf49419a7472ad40973070c539b44608c2c6eaed4c1cad2ab1792abe4d113e39acbe7a0e1dc965e2bed70e397bcbe9684f36b0aa5e74c94033b79e23b5fa8fb9db3802d8cbc77f7ce60bcdcacbc286a0240c73eee11216c0203c66340d8a6f82f1ec9d206486ac9bbc8542eb0d63181bb2940bc033c1687d0f1e31a40436162fd58d3c572f44ced6aeb1b5437aa7e55afed3f6804e28e3c50acf9292bc8b08e793a33a54ff4ceaa92090c198aedc31a561c415f4c1c5e9730f13d14eccaf633bc33997138902d8feecaf05da686fd37d0cd42fc06a83200c5f6c1f83cfd4a1227d7da1955f3dd5c209267b4cd7c07c75a678cf0a18b17ce8f299eef803acbcc4856aecc14d1f0f9300653f0628016b5cb2c74ad3112d9d00188c8bd8061ee58192c9e3ee72a8fe675553e3c1da0be69b1b4b38235fcbb7beb7ed1f9fda1a59e6b186d09e60e4146d37e76ee265b98e5e60324b596c83878fcd0ce9555974e82429354cf3ab0e60b3497839010e739a7ec92d6bc68b901a60096db7b5d9a66b45749bd2da528d60bf741f78e0d2e17ba11f950be3b867bc4d3a26f51cea7e58c96d44aa7b191695473a8e859d39bb2598e9a59996997d4f443d3465b322a7af0bb409eb293985a1b039627cc39733696ee590fd68396cbb493d4c2d60556e859a14d5f9143c6cca4303453505fe3d27faad1f3fee9bf54205814a1b2cfecc4d97c6c46dd7d84ceed72aec678f21e21a9ac706525b4a85784b08aeb1b17a33f2ac7b3b776a04d4a143d3f2ebe6d49d6c1b2c21f741e9be0a201e55cb944ff27fd09d6b7b84c141acd1ea3b121fc9f8dbcc7ab3b17bf3f7b3b1bb6e9c3682548f8322778ce718f8d015bb3dc6e790fee2c56d2bae4a97abacdc78d8d4199e1512a8c5fdc505fd816d8eb1bd5471b6edf6d1ffeaf7efa77bfa7c9ec785fb4461e046e98325e6578c750d9c739e38ffe8b11ce37e59ba2c05bf6667e2267d642067dfd54ed508ff00b498d99971f519beb083748b94e06311d5468333548e13635c5e65751e9eadff1c193262b521077e8831a698b2ea4af17eb327b6dbce124e16951bd943ba411d38bf2bfe9e41f169138a50bc1585c0e5fa3fe570eb0cd13b945504542041e8233b4c2817430889a35c931c0f9c4c7cf2525afce8145e0f6d9b2aa75689ff41b2529210ed8ee06116a0c0452bf96585ae1b704bee243966ac866a9c52d2361964195baeb16d8b8ccd1398014263743f6dba389b9c36cf5f14ee7cb8e93a43f976e5be84985aa6e4038613a502c588b6079cbf37f56afde3d9fe684dfd5145ca7f6b88880d0da112894236b3343eb133d5301fcb5c8d0698d5c392ea608b413a02de027cf6aade1b663753f1b694a41aa29315a85f9cda8b279a0dd237a56d7f529a6900efb7da68e8287aa0fa88e9cc1e014074a8908f395ce5ec714193cbbfbcae41b69c20b20260c572ce88a8b355ff5567fd922c25d4a738717e53ddef59e9f8cfd13269aa839b7f4166235ce334fc5a060e255a7405283966812cba9994d9db59ee06bc1f58a77f9ee02534a581bb5587fab45a74bc6ae0b6f68b6ee75c716abf4ccee81269934838497f28515774853f7f3e61e7bad8e382d683a17a5dd0cf4c1a633db177625ec04acc60dbe39217449ef7653247f19fd4cf6d39bf84712c69d5ef428f93778fc81ead2845d750a302d0ec35d2aad92e6005fa93c0815dfd7b2e5642379a2b4b883a39f06ce5f7c6c33bf295044a5cd4aec844af77914d79709f521b760ce0b15c0fd9aface715e0dc7d5c9815126e88f2693c32258c88caf4218314d7b23d51a7cee117dca4ce0cc3daa0a68c74d7465773e0499210da9f1366a555873f76dd7c72416cde83ce489ae93e6dc2ed4226878cf90a8e22169e5c7b33f9858107de10455c07df4f90bd96de0d7980e7c0c5710ad826bb69e68d97a5e9111a13cdb9255822747b5cc3467b80e00e29dd41edbbc44c0ac095f290b3b82ea190fd7c05a14a817804c6a4786b0ba099613300bf446f599e80a21d24ab2091736aa2ec57a38db6b19ff70c516f38a87e622e03e5e232200c1134fe0cedd42a9aaa2335bab8607c140e34e5b0068c88548c5baa2e0be00f9124da1d13946d0a5e61e6378be2443ba73348df7657fb6d4c742c0578514746882ce8658e510330fc2c4f6d8de3f2ae19eddbdddbe762a0efa5ef4f9b9e254fc4b3439b3bd0edd4b453b41634a9064e170cefbfc05c7493a439c9bb2222223fa49a1666b4597cf91413d113b1c89d9682437eb69a8dea1bffe677c3aa3d8fe949f68c45c2f31b4ca3d78f4716e9bc6457ccd8870c8a7c44edf58fd79508da50ef3706f6847a29bafcd701f0effcc22802932c31022fc948c730019d8934016fb860b2b3ef8eac6711c925169804c471f8df8db2251bf4ca04a03096df37a2f63157ec27dff2ab68c47728d611465e90d6543ff280f162f51087fd50317a2cb3cfa175e8ccaf0b039addbe02623225beefd6e3aa8b294d142430aa784fc2f5eb84005d3253dd3a57833bb824d8901e9ba0e507a5af8a1107fb5b6ccc00f0c605213a7de4b5422ae825defe344532af658b67e8cd1d8ba407a4f845a967525086c55bddd9b8a7aa6a94eeb9340a7bcc02bd08ae117c52c07b45c08576e30360d680bfda438b8174966a66a46f29732c70321fcc5f92e6c61e048a6b95e234ee578f2d472c3682fe9f85b4c375c23bae9ba23c407208fe0449b40c863ccc186b8ea606d7f33f02f3a380d0cb7785bd45dda304c60bece2ccdc19c19e8528983463f12590916b2615f73287d4eaa75711225919cb5d92c368c020456cd5f4cc85b72ceb54fd42c20e5bbab78c025b7d226e0d683eb2da900a14662aac024ff2936a1e3c0f8700adcad67d2d947c9fae3ef10447bacc0f0f46eb43f8adbe30d1c2df40bb5b9b7ab61cbec5727d3f606426e0f0452ff8efd2c726a2d7e4aed187b8d81ab51154d0d294fb3aaa138dc3a88189e897f0d897651834c05dda5de13458486a487a2f4027d17f9f4b5e01564d09323791cc8a525f15c2881c480c62c680d175f980613b0dfe0cbd3ab8b61a7643648c3950d6cf7efd3eddf7285f66fa50098913068c0bcda80411a7f9b6fd8a94fa43f3dd2e5da9d9b29756388fd60ba62145337f40018adad4d3d5c1990844267a4f545cd39dce77684c8c13d94b2d402bf090c800139bb5ff93de4cfcae636ef76409afa77d175a0fc45699030cf1573de6c72783da60877d2729c48e325b5570b85a368d882c505d51f65e6c6bdf3d355711fd30b8ce83c7bda295d687277f028382b3d626102aa123e32cce5a88edf025cf175f419f59cb5055d811a5638f59358dbf0bd6783073161782cd982dc153e6ab0329555ab0b80c13329fa7e4922cdc85431bb31c9f2ef512b9166832023e21a02fd12ee9f15b678e1543cf8f9714d56473047ad4e1820b254e0239b4dfdd0202755fa131bd2b074b9dab5a394106a238918dbf8ee941cd35f6dc782218b62504a7b22d0aab45f15796d0e310c97f50dc4a1159051ebbedae75153fdac9db16fdb329be146955e0939d2b4b7acf313a99907afc8170cd83e16ac795c5e7a84fda5bbe6b94c547715db435e87078c4b560e4a28abfbe1c1c3c30de5533d9f4943dca6cb200178312352c96004f4e9ccdd9799fc012c7fcf449a65872bd76792c6897807b7a17c4b983da8436c6789bd7fb18386ebdb8b18f9723dfd920d1f4f7eb5236b7df3e1a48f252c5f1af72042f793e089f2fd543e3bde9be714af4b944fb7964eba3900ab5c5a734004f27f1294821d4b1606e890fa822687c80fec16c41406caf45f4a44bbac9c4daf859afefbf3350f87f9cb24f83c5760808a61b04556d1e11b25100e9ad85df8314bec575b63f5a3d00096b2b0b88f9d9ffc2db90f062a5c4a68a9ea566bf8817e8d6983c4275257cbe3fee25dbdcca25a4c7cfb7fabd1c6219ea03d8210c6796b03005974b0230c797bef81798c4ffcd741bea150deb49b16de639a6d92fcdb6ce0567b1a57ea6061883e42a801bd5270d803f788ab52d39555e35801fff34e9ca2ace70449aeab17b51d04251322a62926f333e59f66860677c7bd455c8cec855c741255a694fb0a5fb933d96e037dfba57c3ee0d2fdf521b19da275ceb4f0fd8f254ce7ed5c0f04fe7d5b1f019895ae90076af98896b0ed30342984feda286b7f3ee72801a627d43d93ed4df58483a2d448d828e0e025fbc4b3116aae7e0d94f0f1099ac1f394c56e8116e4931766f51e9472904d3c3e43e28370b151ad52bac49957c780ecf6eb7acd10743bac6a5e9abfe8f9a08a536289af3c6eab0e910ad2d44a191d9cb930ce2c5b51d4b4623500671123ad6a45302407735df4fea8c6fb8f2a89a0161280f11b58ee5baa87f5e58daeb637acafe348f7e691dcd7e0842b8ab2cb3beec995dde22ae1a4986ca6514d4a6ae5bb8e4fd908d73cf6b3bba2e70d82d18a57ab3b610ec618fb57d795d488c689ed1a7829c5eca7c59a5dac3d59cb72a634ce9404d838b99b0d265cb8b9c668a81528ba0c5efd3f6251d88c84707de77e059782a1f7ee9c06bdf7151765b0e3dedd3aa506600fe2f609d9696a25b5a9225f87fb1362550b58d8bd6afad34602f2471e3c4b249d85ca79c3b24f6dccc484361b9fdefb2b8d40727c77cb78b48d69361c8e05e1dd0d1a45bb83f47315b51bf1541161176a70aa6f8d6c1cbc45c3e9aab201d2d1499a9a60f6a66453489147b5332c374189f5be54a89a75fdfa8118b8da233fe7aadfcd576dd1cf900a2b28a3d5eb2601bee15fb9646dbeab122b81e4662b5bdabb9ab51b8af8803fb27919b2681b732b085ce2e7af2fa0a18f9edc1c84744b894393599e3ac53ecf7f8db5811c99e510613ae47579c05463734ba860a221e3a18542ab907892764f143cfe6fde995c749e9924483735dd77d807a823d2df1da91e42dca6eb2ed866aeec52b440662c56a5830bc6bbb0e4a13960322901c3ea1247ac8cde8124d58403308d4d11d2c87786185a01f5c435f3c25a7913e91a28a8343085a097153d0bbf3fedb389548380e09a7704d533fdb2420cc7812f21d2c42851c7aeac7ee414847f43e56efd9fdf42749ab5bb4d27aaa079143ecc34c8ba623123e9e509a8ddbd23f55df55200152304120a7978a9da9ff5d9ac75799c3fcf0d85ec34427e976a4c54d31854dc318ab23bd02422a591908d990eadd8211b7cecfa7610aab920d8ba16082938f9794fd051249fe190511901407fd3bca173643073785cf01ddbd181bbd7a701540cdfd912cfac7b272a114facb5fbbdc583e0ea2a365c42e95f966c8a35b2c7d1b7daeae1ddf3b1a1a4b5fd5c3934396fb262bad106b7bf83a36d422d8efedbe45a901cc7e2784d84bd19f98fd41a07552e85c400d6c69aaaeca2b530b395e093f97262bb68c7ffdf07abddaf1c3ea890f58a7e1b902d0efce3ec3f8363ba3e0be71e14c4d7acc3eb9d5c322d6713cb037aef4302c0854696e5ba316bb82557ee6a8ddbea38ff1d9272d4ee958288604d72dcf4b55227f90c547944dd0b02f2aa93e696ae25965b458f520731d52fe23879f724657f026dec25737c7a51e50e655b6a6e6d232320493a45103cc627ef607cd7c139b8560840b6a6c023f7513a533d8e45f0a684231ff4f0ce4c73a77b6c709112624d6da3d94a615f4127240cf3785e5f936e91ceca0c511b90487cfb91db2869fd26f1df589bc6eeab028190c2ddd00be48b46708b154124f0d004b56f205e640255c2c7b66636e22e68d4f68233b68204b38d2732b9512cc4271c4434aa455ba70041e96c09900bf9d977ac74a7d9f93276d91261947fd318adfa715a7e411fb43e427012cffd9340364c1df265e6bdcd776b48b64e2cb37f076a22a8cf5437bbf90ecbdd431d835ae4a2f67b49f49db0bf9557a17b208a8645de102fa310b9ec36a2eae14b3ce906d24c98c71e8591a76f584bc3aefeb0273299edbbe8874e4bf34e3f3fef8b8f563ef346880bd1b838d95271a79d5091f241ed38f09f929bf218a88c8b622cd3e49b1c8504873573e3cf7237e1544b6c1c96e6f926d64850dd5a4f2523608edbd010d69e33c0980373a9d9383d6f100117514e7a82c30432babccfe4516b49941f69152e471099a212f6288358ea40c9e9d2bc00319507727d617baa6ab41e5e16d9382655fed222b289be50492dba512a30ba513727ba90ae5e1d3ae870ca99553f5c3aa929f35cba2c70265bc9e44e828206fbcd7a89b155e36aaf8e585e6903c5ae46a5772a95d2e0b28a87105d475b04bfe597e822edbb4f94b7b07dbd77a8599e502bee34f454f02ab6e72b9a7a7e1244191a24b8931237a74e6d9b5a854b6c110378ff0d1e6569459fa27ee31977a650810d2935baaad8022a9d072995c8f621921177c977a122a75ae8d5e03f745235a698015eab44bb8db7b9b3746453e58e115c3dd255c3e0c099eaf396b5a2b2982f8b3cc8cc2b1192cbf98cb6f0809d068b82891c41ec814254bcfe1256b6de83ff2727e542b39e18e15d944d8e13d05c70a8fda0a3c765980ffd1fcc621a84d6e74a0dfbf4838de11b551f83608a01450741ea5e3e33c2c1e2e3ea470288cc55e74457bea50cc41c41cf3d5b72caa88854d2c3b727a871a013cf7ef610d2f6b2466a81f0519bae6e9c1ddbda6478685c0aab5f2321c730d07b342c41eb58ea50e7f90227b9ed1a9a7945514ca1496f34ce9ed74a74c28c9e496ace730a15322a32eaa14b076810589c8175fa45721b08511e1f4ef28c37bbb659971adef8e08101216a1cc0917044b396bbd776080854491e79a008784136fa53797c7900002c40bfb0c4b5be8b3c88d4c20ecf54832c5c4b8be0d30a9e6cebfa7e665a00eaef1b02e7755480e1c08cb7c61b2d43ef84f0e41bec8b612c6509b12edd4480e842c59352101539ab10211b61c875473cff823dca28a759c049faf696869e34b815c3651ac8b4753ba7d592756478cf050ad968f6d7d5722d071d1a2227025d5a963ecf2cd63ef6de6f9d4518bcbfcff92878cfd702cd51c57ad81b7f94c65764834c03bb591ef12f485c409627ebfe0e06df19c15831cd5abdd8fbdfd8e5c46b3e5a56f46f08b421d93da5392e8d33f548464502cdd16684ed6d3e0a0b0b7f968138d072ad255e8407fcb839e4d1fe20be78324d7415a3bdcfddf2a6812c14fe5d38d726705c55065732e26ab2b6ca66bbbe386d8f1694ad69a2997084f9b73fe4226882c05d3c974847c6b05c0b72d7909c69a44c6c09e1accbb03d110627d861add8729744da583ac4b111d11374b585e55c35f4f16c72feed07744a9a2407450ae463805f233aa75090d1fb4a67628ed627e36159cf24a19684712b3a61d3dce154ea4905d5d070dc828db248abe3b936f8dc78ce9402ecfa44cb0b27355a964c8c19864a713ea10cd58041ee19ec4ff1939293c7aa338dc9481963d76f22eee0069901c502019a2a9f83b9da5d3625a3c2d6f309a6ee076bcdaee2903f5114b8ad62aa7de92ca20d073888315d778ebfd39b1e4eef8affff3adf9617e4aee6ff7d0a3ed0eba65568b00e122a737fed84fe42783600aabf7b7fc8a70902d2c5ed152926034ceafce96bb52c2f80aa7d0a9fc724efba403608ea7ae6594acaac7bb2003cf6005a7ac68f952e5af146164497ba7566b7dc618ab70e8841cc6d470fd4190a18ca9559bc38a5e2de530c3ff9af75f8a39c80f09d950df42281aeaef699a7ba9ab22db6e97b04a9e5492122757d9c0ea47ee3484477ae1b072ad6fb811428ae9d323b81a71eba617534735e845d875326e9ed47f4688be494a2d750e39239290c50fa6b196c85cfcc9efb3cce39e86922ef2743648d59342b2839847f7cf897f380ec363ab1b7e2960e5435e30316b86d92254210c0dcdbcdcc472135d5dd06ce66c10e8536f9c0b53fada4fbd63eaf6dc176b762b34ce37f91dd084b8714d2c027badfc6656d942f280661449eb7abac819d9715e8165f6b459fb68755658464c86b47019d3262fecac9194fa2af0a5a0704d067231e9b335061ee498440a748f13f0bcf66bd7a5eb8d311fa88c0013b1593ce2b986afd5ea451dc6b24a1e739c2d8213bdd59a05527d856a507799404cdb98214a41c6bce172e349e4190287f58aa5ef8a42d98f026030cdb6b504f49acba366a43001ec086c532f89754570c6db9c7a9b6c5291cf3c5dcee65331d29692c1dec1a4f7473b18cb6ba18507572ebb78197e182df20bfe07a0c4a70b3b6d4f1599a0d784e30bf2ca0e9a921beccc83939a64c1d1a1b59a72f9cf7e9f2d6ee2e9f92510081b068aaa6de8624932bff530c1088e4e5a5d7175f0eead1ae609e563f773eab27f24a7c502414ea012c08d9960a27263d3fee573420eeefff40e572859001eb0595ee318c1da1613cd1a71847db3c6d9d88614bb8cb83226f8dd95a4aa98942dfb2f76ed93a380149495358a49afa1906375a9c98d7c4fc74f739118596982edd2a57b96d3abcfb5abea04d47839632fff88fbc2bd3fa93bb96118ad2d505a11a80ff9af15ef2737ebf0820facd864f39c05f71af6ea0354cca22a07edf990e9132fa3d90f8d605ece487f78f0f10515513ffa28ca7bb9e777a7e926ed44317644d1420c00576aa1b23649e9f45d5b09310ce1bc712648551749941991b3a40519d6df85553ac9ec15274d808aa0577513e168e9cfbd4bc834344ea2eba9a413a9c33ee931e44e140057806b4d3355c55bb6f4c21b9f6a2ed51c16449c735c87bb9326b1363635f78d9b0d0ea5a272a34728bf274829a14896c9c05fdb201fbb91251866ce5668cb9240f50200351788e569354226d48c97ac3968d2bf75f2441884df950e86baa5a2ca0f79c7ec63a82b3db48814c0a135cbbfb19f5f1862e17a3748212b982cd3015bdba4ad0e1e0ca69239709e42469b20db6598b71411e60d0d7f54dd254172e254a37532010590c719c574045f854d59759f43f99e7d83b1c5011569b570bda43f2d9917a764f8deaafbf671dfd6fa57a389ffe37ddb377fd6b7c833415f127d6c56a142bcdfe5649d4f8e72c67a3b42a6619d7300a1156c69446f0231908be5217aadbc0923448841afe2c6bda64a990f2260ce30697c6fe27a68eb098242adaf39b623c94f8e8522f9594a026da36feb6ed4a9745c46ff624bda5794abf65fd2649783ba57c36e2d32164424a7fcae8b77cb5fdea8e35c4d965e415ea2f7db91035478a3311cdd5b7d2a6ec021bb0a21aeb670f84812cccb6e973ede8336deda1d4b61d53f62120005670bb8f5e252e78de9ce0230ae318112a1a6140d071db3bfa91c9fa56c25953bbb8d514cd84708ca2af254482344b2bd1472ce511bd2715eb22896356db33eec7f9d10decac0cfae997f8d77d7ac2b19fcb3e3350b90d511085f98481e4c0391bcd146dfdc5d73e6993cc6d6c6e304d4255f83151968db423bc43aa695b1e1bc17b0363a5e9ce388bf8e33494ad4e3ed4850faa4a0b399602be5f49a02622bac175f5a0ac271742da08322cf8795817f4c24531a231327faf3ce50a28152f59b588832c243d7120589a36cc0fda80cb03eb0655b51aa637aadffe54a671554e2fec9a2a08cdea78cddbb1fa6b9c38d387ecba0abea03af4e23e01ea317fa72594d533ec4e5354793a65d2b1f7869ebd5e4903709713caa31adaafce40209060fc115dc8ab268bd59016ca49d38debe077777c493ef561faf92db30f9dc57668c2329ecef048d314bd59d36a86a60b9db2495586f8dd8514e09527509c48228fff0927e2718cdefcab2535cce49135407a532181f10d86fe119dfde3fd80cba4b9b0112545193fc8676957c6315111c5be95ce4ac6367f63fc05f6d092be4027376936e1b965fe710e7937738b9aff70b68192b521af8ca763b1e5ed28a648f06b5b5dcfdae63490c5581b226b89b4c5c00fef94e9e34d31854d7de54971657c545f10aca2f111c4b0f8c6306b63cd8b05ccab2b351489c7269c3b01ef1340c698a05fd276824c91feed2f3130d6e69a228e97e99555ba68183f469d0be9c0213b39335753fa4ec52596c37009abfe82f42ba8cd96b7eaf3b662dc866b79d94982ca99d53821a50e2a8c9d209a857868cb2a23d40de9fc9c8d12772a2fc67d4d287c3572e410d782af54ee8fd4512cea9da3d0a1a35f9deff9ffb65efeb7e38432d7ba495eeb047ee0d300f5104ab922bcef2d77091f2bc1e4b16bcd9be5f14db6205b87a25d3326afa280404c1c1b47ff04a246cd6f50343fee99b9a77837ebc809d25dec72cc832f9c23765e1cc6b7cb7588d17df03a7159d0092e47b1f5e5b925106b0b64d20f38a99d11a4c98bffd2b8793bc3085b95220dd33c50340967d62ab28e1480a8c61ad8cd6d49a8b5a1cc65f26bebdf59ebe16f0bbff64a7057e73c6b28c7271ccef7eb9268928fa20f3b28b6d11b7f21356c1c97aff9d0aed60586884c565214acd6a7c69da8d207ab88882aeec4db414b8807f775a9e8365489fb3918837f510c524a3c0215fc2b364a750dfb005868789b0fb08be307fbb57e397a3f48d911f1ef6c2c73a263751a3a8a9b27cf014df408eef93d139dea7b2faac4491b22c8d3003da2852f2ed54d1f44f5031fe567e627be21d58d38f16f151ca9aed5540ec830f116343f263d6c900bc04edc9f2af40a264c464d7bfb5b252a422e5b10cafcb551126243bb15d7dd09d94f279431a2d5f4bdc33ebe84d6b1b1222a3e12e6b860026579b52f7841d81dede781dd904f7f054e398353bc1f4a4954d44fefd5bc7e7088a270f9fe73c3e19c2fb582438a5b39bff8b96051ef46e4ebf88820217d97597c57e1b5c91aee3316fb59cbccbe2dcdd22d90e4a2eb4d49605d2327b7a9d0987a878627d68a2ebf8ed675301b89a3159aaedd779c8638e52b0eb1be6f1f98139fc08182d627634d3cf1e4a3d8259567841c779909d04c503a21bce41b2568b2fc5c8bdd73435c5d59dab68d04787f063baa3af65c3a790d190c0bc879762ae6e67350a5537f1e3f5629ba9c2f680cdb93387204fb98d3d4f7ce42fe2dbb6f36f3ddb55b634d3f01579219e615b138e3811800ec5ec8f2a99ef6caf3d43d098de4b88105b6c2e9201d770c7a24c33b86d807bef55aae2ed42223eaab6b71f8a63f60c59cabdb7865c513923704d1e40699d8cec41ab9d41e2258c52d0c3ec906c4e058249434f1c263179b5a530f0a297d2f8515039f94fd2c43ea1d039e573ae650df50a45f9b2448e54a8201ea4e158a25f383308619e2787d6fe76bd178a065d81b566150f156a550becb2c4da66492faebc81c19ceab932a28a59e7a77b16661849c08790d84cff978862a18d505ba4b627caa78f0058a48f971556075ac6fb5d096318cd9640229943ec653567a7262bc0a8432b49b5f9f8dc4419df35cf78f1cf8e69d83257673c95d668664153db700b2c01ff829829ffa5c25a41381b7b79f0cd6938a560f0e3aab8c120d3bc480d35c5b8459d34064ffeb05ac3098fd8c959312342170e7437c1d7b11e496486351821fa4801b79db44f03917e6932266373ca4ef1671f6b2fe5b68b78aa983a7966038bbcfa480c3bfe9acad49086ec60d07b14883bc53425b17b8845f8afb93be796c1fb3cd7a582231810b38af622bfdd78a166d5f59020ec66168abe5e0283cd2bf531e3546fd00278d6d08c069b816c5456b8b110e5447159a6618d752888d191fa7cc63ab95551bfce044c9dad3eb040ae6111f9dceb2b6f25a1f3dcaf38793edfdd9f5d7d152600fc4fa9684334249b2de377e0ffe5df86019b156f16d16939559f3767d8f29c8b45511dd400ef1c3ee6f35c89f404a7a2fcbf7b653157deb4ef0131ed79202821bcdb1c6b5f34172ae85ba0ff71aacfb937a7500ea5957593a8768cdc6a222b623d616d78369d1ad659837807f38771ee6aa5bad6be80f88ec5e356ad3a947794ff9d1acee838e23190b90edd143476afa7a61470c29536790b9659c51e568f466aa447cbb5899065af02432a868654ed020d319315badd3d56e3c3a3b287a71f45d2a1e22b27839ec5699cd0dace5bbc86829c7de11cf8a74f25fa58363dbec913960b0aada090ed1437fae3591f585b05579502d87997b2166b761b52ca09fee7d75cdf3a9fae233de4779f44b56c4fbd4f045e1a23be00c5f2b97a8900020e0da370732da2c9e1f5fd0b745992600c43d9a4174d0c56fd625d99dc382d8c22605f41d099eb412ac2a548566cf605f018be516961fc4a6f40d732f71032ff205e42882441d1f62d2df67997376c76b2ae8397a27d3f39af4b6c8850e9d9e8a64dc81f11715dcb59c2e7302b15768ffad2b0f707fec199b75225a3ee6b5b16cd1237e314bc1e983f72b7720226c3a8589a1f28e1e0774b3faaa6fefcabd83a5094037a775b399487e32dad7836ca74528a6566c81ee57ea2c8abb6f5f44f59bbc7be688058c42d721da693428dd9f59c6d004095fd5188cd5bb6d6d3303d33dd5f9f2278b0097408025406809be92726481064306d811e2da0fe965bb2f719efcf3d7d7bda5a6568298aee2ac60c39acf86fe311ff9a25d9b6ab2911f00278e28fa9bb41bb187ec40b9dd65ee10c3dbfbfeea5af7d7ae165f4c7788a7894b104c625bef071eb6640044ec72833ca3f8ea25a2b1f7dd5f59d96b6200eaa5bbc75c81e8a0f915b33e74a0b50e2d0858eea432390ec3d5a262a73d1e6297e12967aae488b563ed319c56bb3719991661b52f1080298456a70359b760aeeba93c66bfcbfcc44cd5ace084616d21c13e0de5250ef9048523dca9768bf660863b46e0dece62d38da4c24f79d74428f86ca9d975e6c8512c8d8a0ac6025c2ee351d5fdef79a935a72d1c3ff549d6d8e2c4a4375a70b846c60d42782d6f2b67002620ea2af905e5d54a05515331c597550fbc3a38c161edeecefb543167e0851f453b0aef0e3ba863a8f9781007a3c38e7f40c06ac7591d0e1508622151ac339c980b6b738aa8eb842f870986c59bac77fce2254cfe1327ea187bbd9544444cacd86bc6e6f92a69e53b62233ddd98cfa5eaa4aed0394ee016274444fda9440329ca91a87cba215c3b87a6d453f02f6963e5f49555cc378da123928f3727a03626c6c3891ec204121f5b698f5623a7e73f72d5aaa5e97e13b3080e0180e69a0efafc2f8cea1df840fb9ebe06bfa59045531cce9b6c6d5e455008cc7dc7603231112045c0902461e3cb988a3f8ea30fecf88a8602fc55c0f5b60b89fec944335eb2a25eed1f3943bc88bdb0655031c185369748f31bf3efd6637e83b8674c768dc638639f95331fdf087a7f0df4ab77d63ce403e6d22698d12f69303443114c9a60388fd55ab2352e95712642abe1219e8a9c386dab1cefde0a377c9937928cec2b9b77b6320c841bfa8a3c265b1e25cd5a74b66719b9f3158bd50c6d71f22ae4dc66080cddf95d37f325bcdc11ada4cd585b6fd6cb979273b0391b885024f107cd2889957bcc3d05252b467d85e8bcc418e760cd45e2dc45471158c048ee3ba5b74405675ded0646c5315b2d8bbf96e6edcee96182c8a1d1e05f6bf6c9fc6d146836b46c3c345da3fdcd2498095ee7e4ed3cc88452c4256a8e97cfa237fa217641da6f75905bbebc7afb4a16c403585b931e445fdf8500b6eacad9f1124202f38ff7a81c80eca26f23215474c4836749592d4ea6cd72403c6d9792b7a030d9b294a017c3787b319723e4b8afc87924c597e8d44cbf96a2057631af69afab4da65ac659cd508a3817c4d8fde2a5dedcb36fba6e7e7b34ce3095471d42e3d4816defeb2c4ec580f07d9c319feb8193321d713c3dca62a7609c0394807fc474ad9f50ad8b406df24a85ba495ca58ab1761e13e800f052e63c59f1fc0e91325beb3d413ffc86373085d128efd0845e0c5cdf48cdda727531f343a4ff5f554781d6fe913813473d4d58a7c8a605669bd566d2ccf01022918b1521b3a01df26876dfdb5ae7c1d7b0279dbb447516feec2cef05120a3d950e58b8d9115551bae78ff96749426305351471574e0b68814da98afbaf31071ef4cab26c8e166631240247705087d8fdd84e396e38e2ddbd457d2c891efc74f76f1adddd29613c9a2ddac58be9d8ac9ed07880cc84171af25521b54036407eaf319cd184ac3631cd44780bcaccf38057bcdea5d51be11eb1612bacdd90de397164f33f52473dbde15e85ae28cd81f7a46c02423a72560da4ed413e27fbfc8dcc1e87bb9a71f53b6feda7fdc5c8a4ce1ca81e1df47795459a6c42d5c351a62edf4f27659d6ee1583f2eb4f4ed3025f244e199b80850a0a5a5bced811a558e668e2f3e8ff7a58da86b7251f9f14613d6cef2e55a8a51e5ec73247a329bcea6120a04c8fdd198e507585b290c3d7b5641d58fcbc004923241816bfcd99cda30d6a3616532f8ce3be6eec84c22a4b2fd4c5795b0ed5dd9d35f8700d630837d10d315d45809edbe766912c4bc7da6686ff062650517b900d9053fd72b05fcbb1bd84e086f67721bc722c472b3b30514774253c85b6f096f9de3d6faf203f9ad465cb7b6fc817b2c2392ad2c702a16f3e49cd82c85c7838a72162f50347aa1ff8cd1616d4a7fb0766a2d4de7b3e555ad7387996a2bf0b8b3998364e0462c38869e7b8b4da1cb22bf6428089014b40ecaebd03f3777a5966d6bd890a345a7247c80a4dc162eaa124de1ed52b87c5eaa7a29f6119fe6f3b639c0529c05cd6d66b75c25d266e74466b0cafee2ee4b47cc9c99ef95335208deeb70f22d1144409d8ad796b3af646870c1fc6a527484ecf49c30644fdc2f9d7686d9ca67e1ef2195cdd6b26535fefaf2ea0969619d50d3ed0d56f99c33dd65975a09b13fc798dc33b0d6799acd8bd28efe972680271b302652fffebd16cef077aaa6b0a85bb5a00a1b235e32995a62f528fa93c765e97c10d3e3b6dbe84c21919cc80d53f77e9d56bf07b2f8b4de14cd52b9597e7bad302631fabc00d8f676382a45726fe656d93145a270361e1e7d6c76c7c8302eaaa84a60f71d753f4c19c776eca0f2a1db8863a412621971384de08a8e42086a011a72bab7abcd83b1a0e769c704eb80981b3667fa746243be6aa2a3452a57adf47fc68c1328cc3c2f4b14151e29468b7bee9da8a5680b8744a6560813a4340858f2cd33efc7cab1e43f6702e0eaf01008acbc70a88fea3e5e2e68abbd45cb24880f770d53160f7e7b37ab30b63efdfa33e13c50014c5eda6906962a790f5245d4bfe9bc0ceeaa3f7fa7a0b63560055caaa7ca9514df85646aefd483ead3da84b8998fb7c2a2fe31f2905faaa5ba18498623038ce8a93b6feedf6e1f43941691f8100bd222dbef0035b79ab5552e5fd29237c410cb21790362e075e4ae6361fe6654ee1bc73aac119c8fde4a6a542758f71ad23e984eb039bd97eec49ce75f17f5c6d273987e1e5f957bb4a12512adff136e9b083a94226fac76d0baf5ccb68d7679920ec9b54a68990383e31f7681fef1f7025bfa5c601eaec1571e7255f4a5b520bd71885b584d7bbdc2398ed29d6db2758ce8a7024db518d3f6f75bee2396464028516d5c9938733b76305a6567ab9a2e62a548daf28376d78f6158382022945ab4177e1616933a4a12fc53adf4a8254f78039158ac3f3ef5acbd8d1a53c56d0150f20167253efa922626c7283e6e80fd0067352b581e4139989009860aeccdb671f166f74a1a18d6860a81ddf55dfcb865eb708566647bd8563fb54cc40f2c7414aa47ff70f646d6b0fd32b86eb010ad5e078cedef1697dffdf747edaedf76343e78d4f5d890afcea4de2a1ab4f6deb5929c5c982f2d738458b4de4e3692bb771b44da4ff8b978623764aecfa56d32418dcc268e9de05913007816e23fef1e4cba5134ec708f464bb228a0acb2860b6320fe98f168ce072a6e677f8919518230a9fbee590546f388ee68d0ae9654ff3568f82f5fb09cfab9930c09d0ecd119ac45749ce4960ede2cd1d6959e1c05db6bc9b4d44721a95492c311f508de264f9e3dd9445870861cd069ef6fdd489727b4a66813bf91db7a0c78a86a3c6a4ee6cba0281f5201da23dc1529e24c048516d6384ecf90286819f3db9db74b7e492c5c2eeaed60ade6d8863008ecad591ce9b627d5e857a67bed1183e7e3ffc8eff1f59784cc83f82c5c827780a3ee95b2faab9c9f0f750feebe42edf31e0ac98ac7d24effbe166cfaeea8965885355453f3af59b6c35ce08a21f2b0c3e3289bee0ee6b6199c54e171a560bd4d96c76c230cb73e9ed7afb639c5825cdaa2f7e9318ffbf2e395ae1b83b37ca9c43065437213eb33ce39bb90f06303854d3dc48c8960c550a235a7164eb427246b2688cb32d2300b7e8f5d955004c1b391111bce5b4c328b121cb593be45e59428c850629f826d3312ba3c267ada018d82eab78f332f2df0a30230bfcd0f166fe7c66895425acefbcd65ea80f540e2a8300aa52d57601db4a7efd3c32067018a72875f47e4ab07767e51c7ae2dbadd7c6c7d564301f4dcd6485e050437749f7c07e75ded4b4e8ae2cc8d5290bce1f6911b5ef769f11da014d97f2ad4fce273a99abf235c357b6c834f26f2124565148d3e6105cf311f75b116dce6f4b02df84b856c23a2f729e9849fc3424141c0f4053b783b862594869f39a91cc32f1f3e1cd4f448c8c14b3ff86de9f28d9776e27077ff0b08c29c619e24f38b6a2ef38b79c3da6cde117cbc84a39eeee9850c768162e61703f54d61441ba4e47f2feecfab13b06f4b21156c4d97903497ea4f291b43f2899ee7a9072c0f406e91c72b6e83bca48424150d7df429d4ade9720658712f452ce1856722f88292290f53f7bbdd6cfdfef8a206169b34ef93027d3f3425a79d7969443eb6f1ea0dfe62d5578763fd12ca4dccd56d7751c46da9e8b41de7b648d44ac5a9fd2f7e9dfd16c35a9c04a843b59ca8971ae609c651f6107d8c951afc282ee5874bb486597a7a5df0bf222c7208052f507c7f259250503fa06375fc5fde977d4c9d1e9fafeff1b4c9f745f73ca538bd0142a66395cf1cf96d183317c65b9e4d9108b426dc0bb4dba19f7a06dd93e4732787ad336da265ea50f61b04382ac25aba6aa0005b23ff70004963c8251909b623c05730a6915ad90fee3f38c53b846a2ef58379e7e5a6e3dae9c3ba3389b0d7b708e86878fbb471c40211fa465261fb449af3fafcdfbb54af4fdbeeb7e9a8802b2c3ea23ccb4524f7b0dd3121725ade6e682c2a773cdba3286453b62fe0a3e4bf1837ee091a8065d239b970c7de2698e1792b07d179d43b58d3dd25212ccffe4accee7dcb9bbbac7791d998ae7600056d32dd36b76c302628dae073be12e40cd3a05d4abf71363b72c8cebb3865c7d63ae829e4a6ea3014e95870f1e7e3048117f9b926a449f2610683bafe5e3d65706d490901a87f59aea018c03f2c20846d095b3afa9edf71e3b8331cef84246fd4e241416903157f5e110e5b385ff32839f02b84b6fd89a3d90ed8d7eb734da829b0e804bb6656957fc47e3c67dbfcffa63062ddd61f07807524133ee2db1703f17ad4daaea6a8cf4cca094600995ad868f3a0137cde12fa8ecf33e2cd1fd1ab2b72c8a2af30ecf56cd536f3614991aef982af31cb36b44fc86850d8c4bf91599a8eb0a79f1a1206b4384601665444da722339d96a5aa8f6408c5376b6ffd3bcef8a03ae5f17e30dd089c1c91190ea290ef212940a20758cf2ddff6763b8fe50e281d14e756c2f8c1cad415f635aaa94aec31d6d6b01210b9a5958f40701358c8543fe952272b3825fa0a3df6a5265e58489bd900cdbcfd9ffbb9aadf955389bb56f6a9084da8052c2cca589c808dcb6497cc0b820473532de5d9f614a19f7506c3c271a7597cc8c2631bfb121122cd5194edff173d5d08437d437358c4aa4f3ce5610afbc06e5ad714e00e8d5c7a4da49d3e99b93d6c79cbea28e25456545886efe74c9ddb530c35631e661628339277a75bb2d69bd23c697299e25eb702a6587f498bd55acfeaa5961705836b27bff9dc9a937f84276520520afd6f8fa1ad00ffa0f36b30d16c74a7639ab7b849c8e87503bcf504343f319af063ccc8e42519dbb0ec77d0b5858ff9cc34f058eef8fa7272a60669e4aa8b4fb9f901faf552649447b2b0067fd549f713bde54e75d14238942a5024b70436a28f0829e6e7bcdf4189225383103fe24604f4cb58315ba2829d38e8d06e64ecd98c71c437834deb6de03454e80cd00511c66e3e82b116575b73316ba4f0daa5100da262e92031bd1b473b36c773f28a164d10ef3fbd027dd64f9d429f7b0d571694cb2d60c471a527ec6699ca81b6ea0a9ed5bc204f2e09631d9ef5da967293d16f01ce0ee5a1b9872f3396614a2e50ad475911b63e7eeddcec0b05a150cccd8492ea7ace702c7811bfaf06976d1000bf1bcbb889b1e30116b8e04336b7580041101d8624f6fc32116e8955cfc4c4087ce6bc284695c9500515610214980e1648db01a951a8a9d8dd0a39b9b74000beca3894f7ba2f3eec1d8cce5d3455b60fc1449fb96f0135c0bf557a6f1d65a6b685a7c62d37b5e45d1ac12092d3ac6d9c9adc0f8f8dbd9838137569776a7fbe5f0aae72023131c9a4e530d94dd959fdae1107781d6dff4b46d55365f7295e99f1423492d29fcc058d7de4e5181d6538cd52eecae2772c6a198cea7a0125343804128a5a44fe2902773fb677a601bf135cf31e83e83afe08331346674044f75944aa7bffc76bfcdbc21f0455cf1abcd9b8abaf001a34cb91f488edf1e8c7134412e4a956a6d59bea24bf7c585b95f511eec457c3235093b76123610902f96d9f171d5582ab83e309bc9a6fa0fa72d17cf62f9742323b0ab7c738deb4c405a4c047b3c3d2230e3ace8603c50f523eceebdd39ac33ba87e6768ae04b244a7d0b7ef04328a253d2f0d6a4fe038577f81a4ee2d0dc48dc1062b1330761d4b9370686e63a2d87e72dede22b361fcb0efd0bce10131da002b947bf1ef337fec43ffae54c88600c7de721817580e7b911f2bbf9920dad3c12bdc7c4f5805a9e4aac38f56d78030a7ed48e83e7248c4105760535c24b0f91fb43ab993ee955de08e988bf5e5b3bf954f897aa9a0d02f8c3dca80be37f54fd41696e77e69ec2fa518daf6e9f8d1e1191dd4fae970f12b5dbb1db2250d10ac64600a8218423d0fd5a911208cf5700c4fe7741e7007d8d2960e14d257a05741d87892947d91e3bed7fe15a882a7366ec39f2c3277948fc6475be3a8cc7af72fb46bc8a1125d73d9bcf4f21c83134898b98a7afc4613b6d5ce89f7a266e846c677f5fc08352fc4d7c95fc58059b37d4a209a2425e75dc1d57e70250d0c6400a6e7fa5dcd2af0248d2a40358ce9b683f65e6bd0354fff88ccf1bc3e2dd086ce0fa634bf1201d63a32f35b2593fd6cd661cf57a6ead5d72ec54626190dd9b202b948633cc75347465e7597efd938336c3e4f9b7451ce39fea5ef410dfcb9de3ecb0fdb15f9f99e7c7c444f54e6d58a7f37a8e96e73154e96b271be497033ced87469630c0ac2e9a46fd58b61852a432921eeabf0a7c987a48209dfab8f69c11d50addd06391ac0de9e6bee129ffd46038518f8fa531206f0f13606437518b0bf35d39c0af394a3a09cdba7f2b68d9fb36615ef9d3d34aa4a467624cc173def441a83ecd07fa3ca12452801dc5ca18f2b09a6ed12f8c4998f1aea6d15f82e0523132ff81196d8700b84d29a01db2cb766fc9a9a979c1109b5d6eeb9cae4b0ae5dafb6aebe05c0472e8a97d2ee451d6eb48c18369af19ef15c5c2b79d91175a39bbc48835cd6ea5195969486e921aa9bd604bcc737455812c3c940d3d5de0922aec83a721eeba9a4616df5cb21afddbd3f04f3424ef8c1c6963ff6724421cd1a9655b1a6a8949af3f5e9bb41b1126657f3be66db8c6f34ce8696f93acae66ba6cc82f41072d7b07916f641ff6692bfded4cd946dfcea2c6909a2699efc25efb16b17805b69d269c972ce0ee3ff94a326da0b345fe28590c19138216622ddd75505109d49237975b8aa55ab6db6821c5be33d95a2c2287193ff6917432d4d9c000ad0a2bade23905f41bd3d2e4ca6af7c1139ef1392b843a619a7d7605f1284ba61ece6ffeada218029659a4354e6589ba13f2b924d72f9fe88000a65f0976fbb70e91bcbfc487f010ffefd493775ef252c005c9c686aa90af99c5f081c2c14f778f40e141b32ea1bccb6132682c98ddcdd33e641c9e1ee510484d71cf28ad54bb42451cf5eeb16ce2108326c08176a01e5254d27c45c6843652fea8ad68b38885c866e3bb355f84564553b5205ed9bbb323ae50f45cdc55a26939ae598675a3dbe29319ba25009de1cdcd5531f3fd0345691ea1d62b2ff12f618ee531e3fec8b912dbfa39939852971d5137445c35f6824298b6190d98f13bd202dfc47ecd5939d1018ef68d502858fce9330744b09621396ab3b7d74a4c7da2346590e857ba94830198a6f50b906c8fbc6a1425aa17546e6b2b2c5b3cd6c7319d57150851c824b1478648b483d7a0ff578e1d35e26308fe4863a867c2107bfad8c114ae25a7a536c82c887bd03fa9acdecc0047ecbccf44736c867299fcefff9197007fa877b74aefaa77a7d06ba8fe35c714a1521b5d60af9e8031afdb531ca169d086c99726a7680d678be609e1dda6bfcc016bb3ab0cab366a972649d945a09553f8b7e7b8ff9c51335af94034a4eb1a35fbcf8e956f509697fdcd19c27300bf2055529252ae1503d1d93c086bff90b94fd4870a1654879d361754812ddda169ec18dc0a8dd279fc409dc87ec60971e8e0d95522644288b1e60cb50347103ac50f51079745e02135c2e5dac9a485b9706418b02916eaaa36c6b5bfd0f619f43ba2dcd29ab052641b05866faa1e7f395db00bbe5e93e476b34e6ccf967bbec824418fe245f1bfc9f5a909d4fc50255ac3390e2a444585aca35468cd39e69b581bef03eca295e5f73c3d02e5bb9e159e309471c99ba095eeec1d8e808a1c41673424468c005869969017b0221d8378430679240cc83d0a3b4cd83aa3515096116f5978f7ae09336f53c3ea570541779ae2510ecdacf77b0d317c7a975d3c03614c7f8d69b2f606740f26c70c04380e4db8c066f9a1d3e8dc6641f6729f0e92b15414f9fefe7206856cbfd233a5e5f012789d34b8c9c28d9ddbe6d245168b56ed520b2fbe30fdae1980120b6b32a017d5023ae451791d5f3daaa0266a7f004fee6155e8871167f239d4a5f0fb6d2aaf01a97e2fda679560cc48c2505dbf4c61c1aa009d819dcf3d3ebb854e274aad8b72fc3ef046b2af6b2033799532314cad39938e72bea02bd0f3c4545bfcc37389033474e34ed27f6586536222357c5dfe1474141333eab6efa569fb91fd0ca547d7db73f98d9995482e32eefbbcaf671a5bb766d19b0786c4aaee62ae6aee758b25b0457a05cc471901f77e0f0c676052605f323a32c05177d7916a560092f65fe51a0ede97cead02a311e7dfb7340ca9c0712b27de642ab844e39983a988471a9563fa4c5eac14c32d2c3f765c6c67265d2d7c8ee5fdccb12eebe55ddbe0ee798a1efe5f4840cc2667a44c95cd3c9a25576dfd9d8bba166f17c1ed3c60ae688414e858e4c73167d76ea9a080788e8e2efa6318479b539af85c3c2b48298405c5ddf1ddd5ea189d7f833182cf994b3575e7da2c5e90eac4004de913bfea0d381720a7fbd2f2b39eab92f29f9ea8e9d7d634d4fff6296f37b3b6a14fb9bcbc3f1b16c47da27a272afa98be2cd154b966118a20e170fa11aa49e6b00124a9f75bd0f84d67177078dc30a259fd9b46f63ec19f7e3e0028215c275c42e62f9ea32518ea13bdd5ddeb7e3367f65266187f0a7e1d7145302d9020413871ab9e1461dc8e747e048cb3e3dfa8f4380bc0fab8a9f524ecc2614a0cd961b33ce9bf931ad31795a9144a53f49ddcfbcd03700c5bc1fcee1972e8695f2a63b87d10951cfae4aecf458e27afb7609a8a489510e8b511ef7797235d360740a000d97f1389efa19ffabb5bf9f1de5fe1cb1363cb8b298309eb1378e7e650a4b11162cbc42bcef29bbbb77de70186a1db1efd9177d7e617e1d0e5fa08d20511b03d5c5e0794165741e44fcf29bfaa85ada3a72fb50d9700a2dfbab3697b7d476d764bf7d3c9545e58e76ba52b428bbb0255427763b37ee67e7aebe2195202c64d344471ccb4e4ff248cf84aeea204d557509839a392a989260593979cbe936ea94d27095a70c189af98f5ab59261c698a338c98ab187944ec2056b5713dea45319a3cace3757a92453a4c6a608aeeb530e6dc598d82a705a515a255dd5b4cb4fb29a659384fcd34c4c1c5f82e198e072a4c6b7695f59ed5aa6f7ea8e511f05fb4798fcee91953f1ea196b4f213e2e05204aa7b019fb1706a6ebc3ced031d9f24692ba104fb9fca63bb3fc0849c930b0b66544ba7cf867ca6a72633d99694c8246334d607f55667574c2e0c72102167059a86389c4584e238df011d4c6c3a2d1f527fb30c795a359344addc7e6e297956059261bcd4d19249997c4cb3e862441e67fd032bb194ecf80dcd75ff482472834901bb0698756b00bb25d66d4a6da25f717ca3a100378e412c179cb5506120d62b197c73df15a2c7e3b5b0b38f10589cbd67482e704ba7f82354df1950b088351bcb6b42c8fd1e9faa9034961af027b10241c627d51be9d7e2cbfcc9c6dcea956be5e0931b6a41a5108583f9413c14e2e4ec7ef8f8bbf15ce9e0f3a07ba806eab6fe0de9c0a0f06b881f1456a4eee13c6a05c59a4326a62713f9717a30ce47053495c2f5e0c9dea7588d18eb871f76036908d44a4f81db6ff3121e90ef20653fb511040bf60e404574d7e9cd4d93e30abb4278abd9e0f6cd4ab4399c312c155d9aa4fb332979b17c20d74ebbde24238d2783416b295202af90feba3dc0f9dd78f3f660317a0cb28f7bf06cc215e34b4170e180f395a842d967881c297e751f236424d26fa3c91ad439f083d51a0e678f2baca23b2023ec1c5cc0b613ef000f9cfee2715c825e617de4ee15c63d9f3b9c0ef52dc1e6d2bbc92afcd75e5ecf3e764c0ea7782f684ac6e8ad18e71b6ba28508a8f107c29bd0377ca841681ede80619c7439b70b927cb0fea1c46dc86c5fb860fe1a0e48923c6211b306120eef678f9e96a107d08ba23ff15de48f79a43aa7221bbabdb3b39a57811876a652016db42011edda5f21334fc7f0c3af8b7115d3c5bc7a9d7210a58c2de1ba12e389ea8466e7665305a4a0cc56b6f4195c772602220d9519f9dca7b9fe2ab16e747dbe0bb63d93ec7068cdb5b74599a58a1fe5224b81d5c376c855e1d41cd8a859be2a4b540848c207b0b85c70bf7a9cc6d56f198eacca33f28d7e4df6f94fe21793a8f3161e89766547ead6873bc77cecb8e734b3d691a5ea60efb279c858856bcf341f51388058b3cf4df4939c58d3def5c836a89a98b5d2a3202aca4b2331fac13581b16a86e37715c94530a3ff443d2a51a033821e3f6e58544bde25f879f0500d2bb80a26c6fe6922fe44b79de3a5f524cebebecde732a481b1a2b72aefdc7d587ba29ece2bbe2868afd67f091b37607cdf03619c8622d44d1a1242d2b58b86590fc0dd096aacdc6ebc692f4001e0d26505f94ee26355392bdb84b4fc38e7f469b1f7ddffc0a2038079d5ee0b87a5cdc94015a6de05fb654a2035b0cd394dd6824a94fd5a3c0d4391c3c2243517a0edac55d10c70ad5dfde443d74ae7b28ddf577372d34674c0758d34fcc1a63dc5cb2eb92bfd4de7c4d9102a4a79069c3581c4bf65a308b4d2db9164dd9e16cdc9113c5a106b88fdaf388856f829d7b459be10e1afa4ca1e01d9984fe158f639867c5b278bac6f7b4cbb6ed54010448835d08573c79a3e8d9f16e3eaed012db3d57ba79314129d1dd68d4b4a0fb3411d63a8b140a82d536924117f09f8f1280d01a97bae66ecbc78ec2fb49c62730c58c521205726a63f3d23f3cd4e7e465e41d1a4f32b0cdd04378a0cad9637828fd004f4475f6fb64bab4295651077e78a95d842c4133232cb8a072d936feedbc93ec4c98a71504bf536d24f64ade854c79a21ca26ca2bc7acf7994b1189554e8d9d5b934217ca51c3e61d336c824cc56dcc20b326d733186bdf172d6fb665c10453f1e839e3666a38c1f8a8355cc68d1324ee0bcabe500621aeae446748629df8f2f400fe772099fd58bfe17cf47169154a743fd0a26a776282173a41e04cff1b42be47c340132626b8cf9fba796feaaa6eb9316c29b9bd6e962ee07c098d85b7068b4585b91ddd85eb4571d6f0663139dd90d660d736393c15a3c11414916c28d541f04f45ae95edd7e418721c248338edbf6b3a630ab8eec3c36452e61cca598ae48e81999c3288126564bea7fd8b07ff5f99122f1772c9e2c8f55a148830697284c7bc5921f3af6cec5eb7354509896ae14a6a88e25003abbab130028aa4eefceaef8735567c1b0e74294efa3e07e6609683b334275bedff74292ebe14169acb8fb1f23c459b8a196281be0fb661ae8122d5486754bc1de01eb9ef526d98585350e2d07d10f7e2de1edf9016fa814ec103cf9edb93b9e1504ae8aed4e948a1cdc79dcc0627ae3b2e21becf60cea519231a844a894a13ced1db03a04378b46c239ae4f000f7693c25cd67475f8f683f7d96185a2ef5f4b21449d82c346cc473275cc58d13e512849d27e4426e2a8f34dc94e244880319e4d6ec9160290ceab1eb50bb19a9e6638c10cb7d06b1b446e398a0089da99e454254ae1f3a51c12cd502e48ae6ab66b24909883d81a682fb2a3ce71553c0bddb4f7bdf68dfd2c4154f93c0f08329f3352e54cb6494d9c7859ca691d24cd705ba7d69eb1923ebce36ef03903d186ce3fbecf8bc5a72b58e34666de6a9c110fe1af24e55dc5cb3c8d23f313705879356de233c4b6298f03f8057b16b7bd85c5abb73b0cb8540a60615bf93238b398c0e6b7a4e9f95b18f3759d0f2ea649caf834c8a89d22e2585fe01cc9933c4973f17be6b86607f54b5b98c6757628b8ddf5faba506fe00b9b56698eecdcd5119b605061c2e19ee5b8b6b61bb2d25317469fe9f7b7095a8773d95d77b072ecf771a068432b453abdcddaccc251401bda128aa25e5eca590ef25d81df5dffe11c3f7afbe10b1ab3266c9650eb94889bf90715ca566a57cf539939755a91f9c531d90ac285a86c56f44564be0fcfb8d8319a10114a57e897d532d62683ace0075253afcdd2dff5c8813d45b0a5ad18225922bdd8732513160166649a3fa8fd082b874f80d796cad4a50cdb4185e5a027fa734a8806ffe3ff1c2ef8087ee3fe8b97d7a599f6478ba4d5537211c92a9bffb3a818863b5cce4f55d0222b0c348437074330fc673fb91e16dc762e7bf70a8cb81bbb45ee67bf7bc99bc759a792351b3b86e2a49bebb21b955bd5d7de0411d5cfad92ffd1982fc6a4a12f449d3fa13e5fbc936a6c204e54403863ae3d0dd3c75e4579d0979fa6db9e7aa3876630ba21514fb84f34b0831daf4e58ef6ad5c12ea9d2256a6374bbdea0d9f7995b5b44e894d684d67426fe520c7d3788bb15bac5089662d8a6558635ea9fd3c13a7b77afcd93fbe1a183db985f5e0ee19ca4af7a1ef9a3bc8505224ee8bcf535156249deae566c7788306cfef30511db2a0ca4c3c5356d80166b5a76643ee1d28cfc110414b73eef6b81c7088f90a1ebf72681790834c92571c74983fbeb374adaf34fe910fa803e10d01e03a3b1f437f7ec28c7625e66be8956d2f1134673b97c0f446834fdac195ee9df0267c8b3338f682a892fba7f8f8af9b1e90dfb35968b50c49c5c6fd541a639ab6e88f253621e9e4c910cf21ca092c6f1ab66efe7ef64f47159181c72313241fbc75388e17124126f6194c47663b01bf94f093eb17476b51f7c0318f6789c705d3922e1bc81b8a63592c06da26cf233c021bb87fde69806fe85a98ec6bcbbafea2165088f7799b0d0392e244b8be0d85e1517c09fc17823699e83eeb3943d8b193c93b707dc758cf7b252db036998d947ef997ee5ad23188cb55234611680c33b091bba4cc46a3c736ae5e4f8fd46c97d45ff9bf4e22b1aab9d5908c073e538b6ed24561cc51db435f298db8cf3a8c5958c29b795bb874df3bc57d9d3a4232376bc119a28d8ac66703f057a68d31b26dfd767c282c01cebec4680d707c83df01d2db7011d1dbc0259e42a40dd33b612bc4e5ffc06399695e8a434fcc386e1759a77944709cdc297bb528ffd361f246a4ff0a8a0f1314af5df58ef0c8b6c8a6a30fa7eee8769e0fad8147cdc69809ca25d02468ebe1a7d888df3a995cef23cfa80d25f72ef274136ea03655d4ef66ed703bb159426d4cf968a0d615db6228d9a92e9e2b102c9a48202d7978638bb68b76effa37a33b6e3492a722b07f18281abc76c10e64879e82df8a2445e47492a5b6d3f0fcb56300016ad202743d866f236279d94cf302c60758e1982d6d1fc3db0241741a20b0476d51ee0e281168079b7389052480cd4d97ac133018bd86f03a525af887417415bacb5520403271722acb32c1cac20b09a90d3ec44c34ee71c7302235afe4871427bfd563406ea78559bf893b60a05e3c8afd245e6bad403ce50f95b3bb4ad12e6f7286a47c56a9c27b24854431d26ac8aaef8ea3c7b78e51be9ca5651fa3ac798936ea58543aa79092af8d9a6e485530dd557ecc37bfc0ea77ab4f57d72cc9117f586000700b6b8c4314f20b911cf5113b1fbd569318bd311707349c1b9b07d33a3c9fa96a63c06d7c1e509af9253538f314fe533a3ae74dd04507bb92196f1f374ff217dae48d4f0631f038fa6034f2cad1e1e84e88884292139e9df9025059ffc1b43030e3336f7129b746def4645cc637589c0d1c861438701a33c1da2a16cda0da2c4c2d2a22835a83f36e00022b5bc1a22e72d9457351bc8180b06a6039b97c3fe28fe81fb62c5e1a9eb124156d9c997feb8719cf2f4bfdec5c4d620063479c14760c36f674190de0a0753a0cde68241303900655a65a934c9118153f46b4f95948fdbf7acb9990c97d0d1602f479423dcec93a340a883251d721ad308810fe9b2e9e29e90eac6203fe05e4e1587e7dc5d673164ebfac01096ee10844bc6d75b9acd815b6e737fa0183b4f1c54d42e054e4dcbecfe62e688c3e913864fac7899ecbd6a9d5cbcac384b23c467c57a8f685b222b91e2dbe07fbe6b701019c8619a303bb972586a6a0b3fc81ae488526810b03c6c89a9620672e4829914e04262e32891c152be978b158a9ca22cf9313b307cd3715187b04bae7174a7557b4b2d01c1bad40df7d0aab313b2cb4c0e1a7f89f3cf29b122fead537e6db3651bbceb71e1134534ee694c61f19d62d7b190dc11d197a8c88134c14e041377df8b94831ca1c460fe9568ccf55d72e27cf270b64c6a422eb77d1e437090aeaa1dd537dfd105e927ad6857370bcc6f07bce7c77765b36231afc96786e5b333031c9fb974ee5d97b5413729c0d9b3c30d65fa9af5ea8fffb9f9a1f8de82de8bcb57a57c761fe60526cdd4bda138782b54c8d93a934a1507692c8082a445898a5409620bea036a41c461ea49ecbe9956d25b096b2e1bd1e29e3e37ac256accbc1853a5b64e89f702b83ebaf9766a18efcc7e00f85598201f6227c58bfa5dcfefe7174d704216afa1f17e4bc6dc57c598ff8090e3e0dabfb02a28f5cd62065cddbe4422d4c182b1b8d7de6b64a8b5d19e02d5bbb1f18d132f82dd92786050a130f2ee7031489faaf33ea80433ee5f57a88d6995205486ebc1961d8920dc1f63b15248dae89890083b5b4011354e8b9ad7cacb19903600f39defc696e0c9c172a69499116d3255fb1844eb0964cd0bc641d428e51c3fdaaaa60e73c4d284db3f1b531d41f8c7fbdff725dc6f70d1f1c3346396c9dddf62bfa80738e7b6bc11fc2d3e0f5396d3592a3836d65b0df4ac47810f1c255a9bd08a5df08dd10812727de2ba938c6bddfd90b0b9689d0174d88ff77a329fc8636eff2abd8e7dc4406333d2999da3b92f92c6fefb60ad3230dd100acc837b117352f0cc3d71504d1e6c7d6c140101f479cfe0603b40effe27fd9af8b6d657d7b3f486617b5b0c5bc579b917eafe2619c2fe55681caa4633a23acaf4a16be13e02142887a02ca77e4be2960bd176baa49c897a4f21565f5b25801726295bc69a74471880e66f52181b9e0c46e095d398f6c6bf431c76246451b42eab78b29e3df26be6dd6a47fad2eae9fef08aa4a070a9857595cad6a2b1872f423343ddc4a273c35c838690fa8973681624481e13968eaf4251dd48cf569986a6360c305dd15472f30820f96f08e9aa63e9fdcf038b620a8a65d196f15f10e732a8b2693c9a857641b66e5636ab121d1a3c211464ad250decd3571464e2707b92c35b6525ebeeac425f547cf5744c3b231189c5acb591c9950a2f3b2964eb24f4bb4a1a2664586c2bdc0512987a0001aa146d3feaba2169b8d7ab29a78710f7764190373669423c10c5197ac01efbc69dea7323d92dfa0812e1296eebfaff36758b5a7243d89cd15c557356573a76c3aa7fad9964c9d9dc3b69d6c4818d3ea93141b6c0bd53d41a38b81e7b155de0c7d1f10d2ee258735d12602f36de7286c8d22c1f8af5896dde3fc444d1eeac41aa093255c513fa1c302381c0c6eea491f61e953aedf8536083fe9c057f541190cfde2bed52765c67635e5c0e05d6105dcac17457a0b609320329939457e19cc1f24e0fa6e92ee3b86c7922d69aabffffc52923bb29135cc6e9307cdba6c5f31fb1c7fc88eddba4996fa91b0dedda14350b4566113b6386e319577895364b5e640832fed07105df114df421646b62d0ba19479677b08fe4b75da745156429c7b95491e755ebdbaaa997cd7cbbc69db48c2bf47454b70e04ca67365ec3282e7ff3a2bc3c5103c1231964076e735f54e2742a39e2fe853553dd756f986eed1771aeab5045c22e483b807d80c3e3138ad8932cea166e7ebfff8053fa4f97be5e0aecf2a08799c715af1c0b20335e2f77c992469654dd43d3e06eedd169a4e3ea1543022aae78a05891ea747dd0faeb2cca38d1026be513650c8aced8e7270609428b22e484c10d8caf16a2e1e54a9a452219f37a5c223e3e227bd49fdd25929e07f04acdbc8a22544542a1699f99dee8867b1c1ec8940126a77ee07ee141f691b0905ba0cb53839d0e4181dcfab64e147b7d0ffd3c0c6ee9588738225101e2688687596b8e2db9e6fa12d5822dfc1895d7928882bd194a6d05753bc8fd0c4966267631bb82c56859e3ab1ce726803f5ed38a2d8ffc54831504abadb429887e73a838e0bdd922fef6a351b337d4b1821d0ac198fd59f1790e771c9d2ddb46bbfd8cc39e35895d90ed0cd8e90f9fd5e2c4b135e1ec043cb055bb5242647015761198eb687fc1237778e6594235d3068dd20254e1cc4a29b13a3c2803a1caf173ca3927d521cee977f13e01030a79c704ff7f50646cd2cb6ca934dfbbdc6be1459b73abe1b3f07e5a01c5d8a82a722557856dc4287e8825edc3af2308170103622c8dc1f8e6a7c0659fa2ad13e967ab2eacd8c7fe72732eeb9a8e0940c99ad25354e2d2e30376a161a92cc9de1d07b603ab636749237875974e0f62e20183f7c77ad15f544603466baa59da07862f79fb83b962fcbcd0a9fc8b33c75e86f9c28209eae39d256b5c6afd5962941de3ffd7576e42bba046af0b9fb585a9edfea28587b429e514fa62889092e07a8d389f11304ae16ef797faa1ac43f88c2fbecd6a3f8fc8090e5e3aa37ad76baa87635baaf660e5c46329036ba6bdfe9e2e012f945cb53e40a880c7caea96106deff45e8374aa3ac503b7192cf8b3c6c890a45c9be165b85e485127ca25613174f14361a8305af1de72286e9576188697d96edf6f22b3720661455ce86577b6c060c2c54c41cdfe7514dd0aa214ec69c9e0f750912cc7ff10cc57cd6895938e0d60615ae54cf98db7acfd221c7bc63be540cdbbb43c8401f24aedeb5e2506145a7daf423fc71fb9319f1e5f7902fde6e0a10c94f5f6ccf5ab4ac2149d74bb0e3480902bcce373c06b7e225cdb5352329543b01b1f7a04b30df7fc84089e86ce704df2b3fa22b6cc30a27bb51eaf4ab613fee13ac02d054364822cd44b637a5de72c337f9ee4944ce601d94d0f82ac6345457062ff9a1aa8eecf1310122f307214712656d44100a16341f1fb3c2181a02c47f9819f9af778782a2d030ade3d8adc78fc0b32d7fed9df11c5111060405f2114aa31ce29e1cc0a4a9190e69df226740c08027c86d4cbe155f7198f2ec15acfe36a76e4b3ce4ffca0be32c66d93504e0c1372f3ce7e742ce4469b839ea1f64e4a4e8020b6799c3bb803b7b7257b17f2b224c980c4d03b571720ac175533396dc0b5270475fdb74db6da8bcf552431c6fab9641e96af41cc535cdb851bbb9129c6ab7f46ff9e12f2e218b8e5cbfb8343654f4d89c4dc33aeb3668bf3a9c667d67ef6f8da31fda6cd38662e7bdaf640e1c9a08fbf9f1a2bd193c723753ae7ecb7bfe697f54171457668207d6c75fa386f5c9879e3694de7a77258be9018d98562ca49af5983c1925a98be006d15ec4387131a8cb5ed5c45a6d2f7cd59c516027a6214d9503ee4501d5f2d94615d9d56d430d62e163fa09dffd94e59bc7ba67d89cf864bce7dd2f3d982a930120f61e121a9bff6a77ad265c2e60f4129e9494b50504274b888823b258932d1a2ede8089b73891b00b39ec33d6a651bfeb881c84c626d82b77f58e20ddc067e2be6c352c419f5678c3a0ecb2cfeea641c4f9557f204af72080a3c83fdd1a90519bf7e8864b745cbfdd35570910310f893e02c1cc7dfc7b6dfe05ff98b747f744b391f0d4819da46309c363b3b72bda35cbd9329548550481fc00d8700207e6bbb1117a81397c05a9f4d1beeb2398dc7ea4624c0acafc5b5c85690201a97a72dce5e7e5724e602e47ed6a5925ad9613162e4b19b4a4331c415295c4b829c473712edba63689e258905ec0963db4fdb3ff398ec70a9afed6646ee2656137e2c4afc3e1064b9e2e0e9fe658613a53c4de0b004d8545567c09f0be98208773daf22548e5140ae4eeffdad1729ac6e323f4c6281caaea49d66b8890853e626714980e8f8d26978782a2f4dd75a1c7e92fd6e79622d5cb0d8e63ad2d7a91add9ba38634259d1bd9cd4734acbc9c4344187aa2c5853dd2e5c0a1a428ecdef9e7b158bcd8445bf4147e95964fd28ce34715c67423a1bdc145691f913d94a6dec13b6b4463fa874d10abfb47ce2a31b64db450df6e9fdc996263dffb94b102e707d3611dd86100021315601e3668491a80b8ff4a2277ad5106c38cdbfcfd6bbec28ec3842e89970b4db3009b30f3177a2fac5adfb22cc439207f36111c59703215f7bbced8254f3b2989f152f4c3c2783041440fb3241b0b2936191cd9d22f20e020811512ec30c7560094825a1074c063e910eb2c3ce14b562313501576de90443547e281a9cd40e2c5d766f225426d038480bd841d5826b96b059bb8729a0d480557107fd0b8060a7841686e89d870cfdceb8c764117fe4d4ef0e2103330335f0ab7d7146aa510aeee11b0b37565369166b3048f69cb4d259bbbd13eb329efd27d6794b54d0bc937d9124f86560e86b366d1166d50dd887fdaca1225b23cd108b509c121e7fb1ade2ed1b76eb5b0e8ba86fc9fb2473e7e0337a65fc712f10cb07c86e7bfc3c18fe39beb9863be1d38ca99c2f0319834d6b1c5f5aba3982db6f986f2f00b632f43ab395802a516efbc19002cd2780830336864f1dd003b698ddfaec533890d50f429be2c1aa2168d6ea41f4ab3417906b6d1578d062a70ffb710b68eeb7ab01452afe3f82d2f0ecaaa79cc6a3709bb3528edbf536cabfaae3597cf5cdc840d0b84893e160e59c8846dd471aaee3b9c785694cebb939f9aa394973d7723989b60168d0aa576769f553a920326544fc9f1ebd96891f4f72b3db7e7554412cbe4ba8495a1170c8546a8a26760521e7d30f8f8415ef3e1c15f5983fed8b5b073fa389cf90c060af5fa02d703644d034c8fed8fd1777faed86921614f79e51cd0424d2f9e71780bfaae079465edd7171242cbe5f87009eb05d2e744cb294a698c8589a8d5b27fa1f81d762253cf455706617cd12faf676e4eed26653f3d62302467cb60f772a9df99532ccd69a57c024f988c5bfc9c18216036ce94f5bc8d5227a4ecc2a0cfc2c0ae03b730eb3460d7d22cf6214fb5e0d23932361bd9e904f8c85cbc210855293cc0bb4ac9ca50d4e9f68a769b23261f9a41cbe6f44f6649916ad74e1c52e37a0ca10b41d229853a938814065ae5ae8681b6bc5d06dae6f928b4270efd0b525b96258643f06627f92f3c91f29b1837dc651a0e9ca99b3bd12b682b72ff43c9245346cc6edb05a3106946a7015c651fae435c7c8d2520e2b77f0492d72e12b831c2cd358bdcb059c4466e9592fb1d3440bbe73081b51a50ffc0868480fdca552201cab83ec0cfee9074ea3f5cdfb6fac0f796dcaccffd69fe2eea917afe2152897ae65617f93bb67997153bb904b8f25f79a81cde91120f2b454daee0913117d91662e6fd023b52a0dc33549b9859375595ed46c1aff2acb0bbfba9d2fc8fff3a54c427836b13b16922f05eb46e99d15a52695c5265f56380080bc533d6be951fe170935b220ee6751a24e22be376b9c7184747c5bfd36fde033fd189d265f620ebc0c6883116210dfc00b2fff9ea1ef1ee98c954fbada20ae1287565cf0d71aa05635b6d014154d25ebf8cad771b9aa3af8464f7c85562968a3ec7ce9468b0d3d122cdff941d235ae45f44ab93940a9c5d4e5bbea2636d9554cb20006d980277789ba7d055764e8e1e714051831eb30eb242a2aaad3da3ac84044581393374cc8777f012cd11fb13afcc1cad0d21832479f1a4ef7ba09b42cea79bc056fad078861d639420935cd670fe93199cfe7afba7718b584598a4ac328dbeb3df9de2a327c09147b42937b6202e20be5f64720a7164852f48a4e7179dbfc79ae85383fb2e352c63b3c3a97cac328b0250769c14f8f750de4c9f9671469ece9a8f1418d53c57727096ef002507ea3fdf841bebc6afa4819d5b6c92c1b1410932ee9352ed5885e1f8f9082e660dcd757494a4e97d462cda8667e3b586f44152ec90b9adc4ce0c1524acb162e950b0621cc412e97d272f151dadf235167b0547ee2366c9273706d6205881b03df2c93a70d46cd0c55abf52c2bfdaba9cbcfa92260ffba89e4e2cf2ccac520b0b6b2927ede624b97278ab0dbb693fe89a42ade3780eef87015074e83efb1da77abe904631308259f2a479c4efdfe7c057b6886e04ef8fd77f9673975442f5edc6ec53130ef720f22873f73c7c5861695410e192000866d18b4453f7d62e10297864dff4c75523ab33709f45dbbb9cd04e0101e4cc0a5a83a234547827440651d9b235eaab4e8c05760f02081a1d0d28d70127f5cad33fe7eeccd2833e423175c40c6841e1be9c24e0f41da276d3df5b4c5589afa898e50bba141fbd0c8db9082fa5966f79075f91811b6314a957e5b9022627a7a82e56ab02726bcaf8d238b3947694aa8bc87cc8beda44a1abbcb5404aee6c7f8d5af57ce73343885d6e35f3639fbc60c867a1bf697b474574a311a1557f596409e62dc044c2386c360bb9eb571a22569c3373f3f770126138bf1d3d85adeef809c8a7d4735ca1c37d816386d26eb39a71f2cb4fe8966b7fa4d9e81bf7d1261dd7d8444368e964064f1a2ff80f3f65da7ec4a67465b01400cf338c76b687066a2da5a57ad6d545611982c7a12e6a2dc61447620ba20f0477d25631a38e23f172d4d5cd111012b35652d83f4d003e060184c3bceb92044eb473f41fc0236fdf4a7c3d052c6fea2dbbed760c8183a914a234e91287847279ca3a246d0abacad125b1a953dde513ead4715fab4c65cc7974391a6fc723acbe4a1ba30ed2e0f466e78f11b586c6a0e7e51074181a84dd2caa6ca83c722a61e8de84d5432ad03c517f37cf8b13112d3ce23a62f425acbaa59ea1df52e41ca9d87c9a4a1cedc01b6648b19552c2be2cb518a1ce8fc8d1925c6712589ebc4bc44ee72d85d036c294827e2d2dea21aea5410b823ecd341d2bd0d79f53a7fd48e21b6e4871fa67568c1743a82103376a6f734de548bfdb7c494f81a68da10d54314d503fd894dc1d8d8d7889049a7b5a84de9396bc15e6422209e3e1adf022a94da9ba80017e422ed5fa04e4337ad1d597d1938db2300e6119b5bb78e84efe38a380ff626476fefab3d5714ac2f42ba7dbdf541a73be4918a391b69397b7b59a0d201dc4a92d7e4485f20ff3e86577bdff0c74567b7056fc965c04b43f356bf72fe2bcec1efa3876455f5b239a9f1a9a7dfc52d914736aebc5573df6848fef3efd839c679e22f85b7c04f7fc0e66fb2947edd6d6c68aa4f9fd3640468bc6b42ad00d02db6fb0b62acf67b3151eed7740d498489703fd04464dd82377c09682e47e8e202691798e9abd73c4d8415ec122ebe50d8967ef876d5fc48a1f2c07ef5e47b44c14f57c1b9dea9655394feff51c70ce0a0e4af6477af5276c751208c7cfba07f93bf89f9924ffc64c2aff773ae25de54d4dc54b90114d66542d01dddd1c0e6c0da99ea5c84b7ca66f02748c38dfe386615bc83d6eb5ff1381cd96efe80ff7a3a36af875a2e6c8a415d13cb2a2f6240bee4f7e3ee6b3c519679a85394a25da0488d943202933bc96a04d10521d32a6f592c0039787c4d65317310be21b8719e3d74a2c296112c7591c63d196889c1a9a60cb7fa6ebaaa7a4769486eadcd053714623b5adbc7f721d101cbd74a0fbc3c5c29c6b294a49a55abf71ca9c2a690ffe1ecb6e791318851c1f29101efc28fbc756d47a7395fb1107a5057a80342d9586f8d2d59e80956e77d4458a33c4f78799d8db498f8f05aa70efd714cfea3a7b68e8af94380d599586768a0bacb3e4daff6fba84153636617381acecb345d27a1eeff9c74b7917aab406ba34db8933f74e2f8f32ab6c0c49752fecd33e69d49f67b6567d315bdaa5699bfd767c5dbf092c20f95813b5b317a7e091fb701eb765e78dc278258539ed86a1e9d50738527c809f42b680bdfb6ef6c94c1d4e34f543da0a1ab082c0f2d7fd792a92ea08cfd77c648eab718034b16be058480c6a89144e4d186f3d72cb2ea188cfd65b7c575d8d5a8bf2c44e94f28c84d37949bedd8df9de06958da17ce149dfd4fd8809273c2915fbb8c7c2dcf739a10201cbc9c76fff1c8bbfbe4714f8985cebc3c5ffd2d3ca0af116806c1b6be9f0fd2e7abec43626f8c655f4a49268baa51e345cef7555722b12f9419ff149b95202aa6c976775d86ac33dcaf136ee3ea059ef3b172820f70a91b11c64eecadf55d051ce1676640c97fe403695e954047181490d6ed4b26e0a10dfed4dbb08ab0afd0200d7af69c576e6cb9f5fdd4381636911f19d479318662bd6d1fe41cf130bee7cffb5a1b439b73af3911af10104e2ddee05bbdbc0d282ffec44eefcd0b67d0e9f731f9c8c5020d9154bc81a3816a6ea052336593face08adb41a8354f9f57e50ef32c74fb394903d48dea46868029661592032d44608f7e3daf4b17db1f78dd0b95bb4ff6392219a9e66fe5ec475322327876b147ce47484b4aa7ca409dacbe67c700e11c806b98a76688b219fd7b2e536f1ca483c35a7a6522981764113d5e538ea7d1277c83da6f55c33c3c86b1863120b84fe45d7f56cba5ea78f15967aba3f6cc86a0122a87d0c0127d64efff2169d5345a6e2a0d0424c5d3b87a648822510ab1289b872f4ba9ff54055e757838ce6e5b6f20d06b9b3d1680800ca771b0bf170d689432cb38759b10031f3a57f9af87a95d81baba4b3c9d6ca88578a2972bb66a99ff8bb8e8b8385d9114d19cd4462e5f364222aab745d8732027397683f057cd917a9ac7489f7a3859838ce05231bde81bb13ac75012600109bdbe9740a3758170891f93e90ce74ad2d538428c221c124b381d67c81b61c015bacc7388227fe47a6dba0c53b22f7b5012f0ceedcb4176e4b9d2ae92b2cbba2bc44d4ee30671ac906c6e661b31e0ac77b77d75913bec041a9b1b3aa84b5454bd1f691d7f21451df3d344dedfe6c9ee56ce02f5b444ddef74f2a351a0cc670a4318190ae79bfaccc1752ee404cf55a67bbb09f7fdced728b9e3a073cf3ac322e2c6e4c66c6dee207471308b89fb740011500cfce384c3d16ebf349bde321bf7d063f2f48587ae5b9123351c9a4a083580a0be6941a808b539008fc5a1639e791a38ec15a828f5788a4630f58e16c358e593fc3b1ef50977916264e83016b90598f5d8563466a5512e8576738a10a0fad258ff2ca18bac5e1acd60c6bd6441538b034a26b99cec6cf63b2167587172bc2b81532599c2100a0b5dbc11e0cda8bd40c3a0dc86a3d278ca3c3203905296b83ff4ca6a2ad94700b2fd3dbe9c9f4b77a1fe0bbf0bd950011466b94fc6c879b750952ac7b9fd59a215ce5db48771cdfa7238b64f0406b16fa4e0954fdfea8962d34f9894779d5a5e3bfc5cf372ef1c5e3c28279e82383db0bb66a0050df42dea15228516c68fcca35b160783c5130a0942f0d6436bc0ebbba973354a08762ed3f58a626e49543eff6365deb3d02115f20be24496f37d58614ed83333f2b818ccad3f8879a2c863e510cb38e7c9bf5ac6b48eb48e19cf06b00b1bb9d01b77f3aab854f12d598b6642cc06b4c549142fcb8278d977de832297f7a5121fef289220490d07983b143f037527969584ae34162f011dd84361718e8e33fbd87567c90e62eeb340e243d205287fb7ee23fad77aa3ae8af46461cc40c411aa9ed4b36e117e351b307e6aaf46b1b9894cc6998160a18793f3fe6878f4e0a7953203c2325f8f27db0a0c78dc0602ed62d0daebe6bcd3854caf64aabf295b2266fee275dda4acd470e955a8547d1ffaf60eb5dd69f83a556837af6e5df39a40e40bb142cdd2ebca098da7841a9bb3ce9168ec760fe560506c197d5e439641407a1d673c03084bf6c1ded422b6c7fcd9b59d04d872a57176f2a35509b74f219681710e7c619b60085d0c99b64b7a901a2aff77ddec4abf91b0dd7147c75d476d0f888f3db1d975b2a7273c0db51dad6869a99e1af676abd264cddd0bdaf361adb2c0df81c7a44184cc726c62ce7374d1df62167d819cd019a3dd34d2620dfd65f6633e1136b49c6438df34c508547255f48af48bb7a4345911cceb7a3e2e4987722cbd5a0548f85f3dcbe94654459d732e1c2944795abf02e0da05d863c3b84509443dd32b23892172b84ea509b6a3bba0bb7be46632f45a4f301f542b5cd253672f99b541f46dd4d8c40a833324666f2fc212e901de6b40b960d22991d30d8e0abce4271e3d661e5b93f55ccc803dad37636ada6b4eaf5c86955239978a8dcb73aae0c9e26210c8273f5608c602f4063d98ec6ac8cd0a1dfb970fbe446f9a25af61220f20573f4007738b0271395c4dc59d47aba30145e4d2ff6a99a236ddc088e6e921bcaa78daf7b294237f5f4c29c1829d6ff032c016fece3608c9493ad0ec76d363b7a2377a4448cc617129c3c19a3fd3f320ffea994805976c5ae646bb91bd93ad3b810e5818a4d8826ecc328d581e07f2ca208308e0ba0f0435288c671dbc09acf90f965fa9e6d9f2f500513ae6abac61832d8b0eaf8c21fcf49ab873286f05c9aa1d3cd371001982986690f8f29177153a2ddffceb17092f63c49e6402769c036ae7e36f5c3e030afadfb36dc0760a8d36c612d0d48dda1066d09a3260107205f2fb36a58283bfd9fcedb8e1235bd2b4dc0d222cb785617c92d30a2bb1c0c2b84f54c5e5e496f97689f3a1ab0b8e605cf25b91fa79f39468d3967a092a6938af1dbe219cfc71e22c4161ecf7495481fca7583f549899de83e050f64b0ae2ce74ffed8d379a7cae303dd306a34fba9159354a08cabeb27119744f4d085479a5ec2b2c6dbebfba25a33f8b610d1b91da8664d553d3c7979f8c2cba51dcd452ae676abc51d614cce843c9aea433e34f62e4ebc3ca45ef0b657cc3b0d67bf9440a9ab73e6409be9d8a9662a638b668b15883af2308cf06965483aef0d0ea704d54c5cd858bb10b62581816bffb56139d542951af5f0c9b1daefb573928b95239c2e914ad09d04fe22d3fe5d51f24d4cfcb3a63a83a0276f90abeb085669b07635ef5a41b8629b26645b2e87b5a229b32d758bc113ed285f9eb823d433685ae5dcbc3215901bf9ccc0f381034a173d2ebe2c435373428fe0f5c5732ea05a873322ac95cdac5a369a8a44c9d2dcaa22fb6bfc3a50f744400387a3488316c430cd1a1d277674fb904cb560cbea31c6e58c4f5c977122a79098cafbef40acd7e68e96df8f7983b58b221c7e0e81b7f4192ab66e2d691c550809a82d937c6e2d752ca4396aec3039ae325e1f963281178e52a9c175298b850aededcab708c795e66e793b9ac8e46aeee03f73441329a2b5a957d31d3aa575f9a34343aee85b918b58fe8e094acc01e1932d8f3a3a510b0bc208578e1121c1e6c17565c10a8e5500c0eecb30c2c0bc4184f23919521157443fec0f123d024ff1e57e248739d2b9f64e23c02fcfb2cad9d85f46dbc64200705b4911a40864e6271ea09ccfc01b4bc78086e664e3d242418799b2bc8396eeba07972d37873aa0ec45d339379c92403599db2136d5831307141d3bf239e2b7ca00b659a67528cedcdb16a2f1f298dc6b333e33cc5a31cc0c9d3fa6a9317687f2cdf52096099e496e8073cdef48d80f7fedcd4e31d6f5ac0d360adf60612f6ff4c53622cbab3062ef0382cb418c1ea4d8bff3c5f224df0f2a1a3e243fe70561ee0acd3c407d373eeed16708edd5de914ce595efdb77465fcad134edf577eb6f4e17797c2d95c0d01a638288374441e9dc9b23326303f72329d904286729ed158ddb831309e6ec7042193a4221638fdc9ea1a4140382a4a78fda6c280f0108736b669231557e4c93701b7a39a91371fc37d0512f4ad54e80920ec3eb415cd1a5307c36eb8ba87d1db3193fa81dc978a6210ec9271453abfb13730a2c12840c4fe099f57d9dffa696538d2fd9406c1aa91de2f7dd31020d29546a2ec70b08d82f06e74287f4c7c527b1d4bd517f2540d50c81b47bb828fe16f090df3cd1962f33b61e1104c8dff50e996de1bc5a40fbaaa728b7b17a9e7f0173b7d8970b7b44e31b4c99ee73febc2d0b787247cfbf543d6719f223d9bba61ece030decb56f19ea09ca9a2b6d1ede22705e70eb0e91ebbdda84e19af3d90f1faa7aabc4900bb181a82da3a484ba79f7094d9c9b7bdd685ac0041021a4e74f0aa20d898fc050b1c8bb74466a6a690aff8d36f888ee0304d6538a69afdfb345ce6681a0cbbae0e5514f175a8ddddc95d306a2d83c61e292e50e867cf4d2d070216bd2ff7f299fa6c1c2123477624c41ba8954a765550001766c411c97be893619be8a34defc35de9d9976a7f8ede4f1f7e81cdb132d51d385c8f21890ea8ac241d223bb45dc7ac296daf0c6601975b357bdcc52bde11118d82a3bae4ff02dba0390f08d7b188a085e21bbc8ffc7e931cb54c38dc02c07dc73174617d8fbdd664154a534ac12cc5f8a779b6da94bb18a39478224649e9c95c128b66cdbc783d4ea6a78c4b9b18c9dfc52385b358ee9eba2c5b77886e55e01b27c73468dfeb4ef7de4607280aa2d7941c44c7ea8ff39b1c51a7b84bd15d3b66ed7b9df714c4cc3d03521da70d2754924d1d185981b0e61e69d337791488d613ac54a85910e4e9a90fdb0f2a2f82ba208f05ce9a3ac5d2781768d47ce627c8a06b5f65340f2b0b6375829cdd931df2587e098a561e82d9fc10ace84408716f5e1c8da29bb9ab05a992953ae581350e5f5a5883b380412dae7d3e57c7f9becbfb5d6a25121da3aed67c3a6fd58885808298d45741a9dc02a5234d3aec6a7c4b4cdeb87d63de9ab8d2a3fcd19b9df006e96f735ee72e12fa4afa078b03bf1f5d3621a229ec0b102e4b79bf36c45cbc4ab6ab5b98bbc5c5245bff0742b0f7362a8457e9855c4c03df12ca1751608125e1fbe92a2f00730dde20bdd8c429f26d8338d16d9ed4ff1815cb06a8352d60333861c9a5cd445f04733773c8b288e242427b2fac8a131c7b47ce5e6537d0c0478a2cd96d4721d23177c2c0644dcc97155fc89a67b35ed12ce3e9c415c55f3c6ba0e8dc4360a3bdc5c7368134e0f9acc68fad223c63efb84c6f68484be78dc1e6916d5335bc86374bf7c06b8dfee3eacafe2e8755b0935515e1737345717ad8bb32534fa17e94a9855a2663530aa0421f707241e36a86ad28e6c91b410f4b94dcc83b7ce9a3fa77b6500ed7998f777119ce349fd3c70d8feebc2698a25a82f7f1ccc125c6e8ae24c0ecc0d8a6a04fe962f4e0c741f22cefad459420498119dcea250efa027bd4218ab43b20764fcb95c2c5d43cbbb8e5d6edfa4f0fd346c81c3782a245319d5cf19fef94c12797e4f0947a79e4f86430fdacd36b7e4b8a1ed26db3b097ffa0cb6a9a2ab13c06d63780b8525280066525cb655d55f63e911c9c7f978643dea1d0f069fdfdab9919d143a67b9e9abf9a9dc5a63a8e2766dcbe0aad282c16bc7ea8285f215af86ded37be6819479ee9866c0d0c85b6b341f76826af81bd6111a1656aba0b6c797221f1379188c03aa32859a8a6fac14267779c3433fe0abdccf6cc7fb3f85cfb15ae0eb46dbb7b691a48eff8a63cce1f1a9842cc8287d6bceb0c9397051df5c21a3d0ac29b58a3e951513ab725ac632007959f24b5210240108cf24d5560ac984266b88f27315f56834e9b7dbf754530084e9b0756b4538e3d2ab81eac9b47e21ec5194c5ecfd3965e016f61ede3bf23a7cfa529d8642c423da08bf5d29636ab3d523e1c8a68af57911e7be8ba5fc772216de025c48f0557ae59bd59e6fae0fb048d78ee7218ea30ab8c70325ee97e12950428c83296f02bb2f72972f143f17d03c06827c7b02b5dc53a0d7277c8419602a462f627f3da4448545220d0b61eed7e0b17c90554d3e27a2489746c47f0550d126da9429f89d21ba8a1f533228936c2d98336cd345ce2dbe6927c6c888ae0180e58f155359031009e4888c90caef70915b28d2bb67c8b2e1b362ef2397543a8c02b0581d76571a996fa14df164d81c93d0fd31e62344cd22e6540fb9ba4985c9fcd6567884c807da511c581c1f5836f8e71d7aa9839a38f100f51b7ca8f16556a967fd4e3fb0167c524877b30feb8ae3f843bfca7012450b88f9f959240e15559e470b00b80d694ea5e64d53735bd7d7fdfcc51a62935565ec0be40d49f35ca43deadb3c2fd49c2c0188da7a655bdfb7c9e60ab7b97bfb07d9ea2fbed370155cb5477d7c00e1a00827d62758fa4e366ed601f6c572bc21a47c11a9594db73e56c26d79e54345060d00080faf8020382c3406dc1cf1cfa4b99e7b648e54d7651db0764db711641e48155c8708fa8ee662fe5e440a5553dcf985070679be39cda36f0e5fc9adea0fa434c6cff44dd2c49666ba6e79b28bc32ee8690ac83bf0420f5ba951eb8810aad1b80df31e082847ca641e65497c5b9cd8df3f35f1f53af597249d5ab73b830b2ec27ef050365d3baa1d8375bcc0bc8353d6bbaaac48849c635e3dfc9ce057904b4f6e0182cce50ed5c1f8731f374707851ee92c5a326af2e7e0f25f397544b1a535442840dfe4d4ad9f6f5950b6c3f31dd465d9e9f60af5d6d047a3b6b824530f947ca8f32e07cc1952df2c6dbc205d7a8137b7135ed0e84e9dec4f89c1b7ea0539eebe9b2ec404da10fd93f4cca8ddc6257beb8425e2d24b9e5aac10d6e75fe40daaa36f56f778f7d4305e81ee515cf81ff753416e29efeee80898e5d9d260488bdb7dca1ee13736648b76e993e6e85b7b06419ee2c1a667a3ae3c227650bf390f91c307b8b39db7f1c3cbb953cdc087b30297325689f36b4021471cc6e6d7963782ec6fb508c01755036f21a3cc816ee76a566f6591fe39df523d355a954be75fec92a34bdf9497e77cf183b75cb0024ed623cf0b6dae69a86b4cb1652b6dce1f6bfbf42dc93f5260d48344ef176ac43d5cbfcea7e0d7dd4189240fe649a58fa477127f68f0a10039c3b5bdc4ef25622308796e608885725f1a4672f768d8166aad3655754b075e60f52a7b0769025aa02224545907c27546d5324ace81fed6b3367df6c7486e3eac7532f510a7c7e28573ecbc3b56746fd7afcb994c9044e1f3f180fd1e6d404d1dd6444c72f1cc9bb64a6d292a94b702817c832d29bf76221dbd5d29f8c5848135a84a1cb03b87df6c23386a6b943cd67dba299ed5579febc3ce712179461424875999859ebe34c2a1d2b6eb2b37057c81e9538363ec5134babac4f5ff29b79a2681647fe805eaf100ff21b53ea97ea18f53860b72a78ece400384737f35f5932e10182381d8a5223ebf68e367f2ae4006ab5d2949c6775680c8d69043a6162f756f89b3c95f720facb86c676892a58278e23776a85defbefd78d1b0eb9bb09680c709ec3b702485b74a48dd28affaae0f3c2de02b5487dcf5a1149c2db1bc43ee7b6984ad86bbf0009b97f192b4a26536e20e3ee2992fc2b207d5ccbd06511fbcf19e63e61d591c9eb35276418c65c51ff6b1877e8ca410e947bb4b7765bf715a3a6414d870666318a9c7bf8d37fa203f0110904f823eda0f95a960819e3ddb4ec9c351bbf29026244cf08833db44c673d0910eb7c6d7204f3e59c4a5b027cd5f646968577b514e2ad4f1da0bcb16f1f8ed8cd1a02bac9423eb727e3b50b5a2234fe9b620f95fd51b98f35ea21bccef42c8acd170a70488cdcf077bc663c196d4c7d1cd5e35adc66fa514e6a4e223ffbe2df0c728c4dde7cf277d2629060fecab266f7118aab17c5b8ed4e7e2d19e8599ae6462f6f0dc886349c05fbd9f5a9f79163ca1392721cb24edc80a0b4b625b73b26fb6bfcbbe9b9cddbf13286fd8e58babae5318bf68725b154218f8c1a26a97b4b9b45afb70d943bb75a55648b0fb6831fab130427fbca458517e551516ce746d50bbb4e6800e85d8dd050ea43df5f06698314b7ef45028041f711fbadf83b076944d035e4321c642b6ba6554799405f4f30ebc52278e34b9b3dc7bf14c86dcce0289d018da8ad4a47add1cf90742dc48ee9053f31b9dc2a23aa4c0ebf09d0b8b2abfd5b111f1411ca0a5d50ab078bf813f090aa93b0575a0c784fbcb77faafa95428ddb9e02a904a5e3810a899e4d75a66fc43ee30e6003e1fc987fa1103ad326c6a4cba7e807f736de0c0ad0822d61adbafd7819da5b42372fd4aec7045ecd5ae7c64677973b2dc4ac57d715ed780894f8a4af4be3d7691bc4af4c32ff3dfde2b6ddc61144a8ed9a4794b6cf30ee4e49c83b605ba6bb7106ca95d55fab945b7595642d816f912e64b64f8763879b0e6207506e0a4b652be2698bf9a11984f9d24c214f381cf731a606dcddf8a1286b9f845ea3f17a0ef9eb77a2f96704345f2be3cd6df060b72662dec8e3de28d7ec93949550aeab43ea1768811140409782c27e9ae63593491aca13dd7705eff380ca1448b3a2b6dcd25f6a0fa24576107ecbc99a8f21182d970f4e2357a3549d636447ab871e8c286138111bc84797a9a949be106ef725bfe09ae1e2e84b5af43c0849ceb3b829b0d5c66d6696fe81b9955289927e356e449669282983e18629bdd64f8e0e6b0aaf76951e21882a6a0f5067deace725978417859c8efb743ae63462e3b12e2c61b93fe0eab67fbddd93ecbda838be20b019322d5177e202bb11021c3dd2db8364798f976834ebba263fe3a322f71521158f6b40e77a64bd97d02a918a8579b0e9eb60fee578c1d87a8b711c4fbd9255284a738705f520b28399c6b8d953e706ca224621ab146dec6cc790da5db293004d5294290b1ab36246121e9a7ea693626ce7712bd7996d51c0229179195cc6503a35775331429d6eb083e4ee84eb0f021ee8a0c841ab3f4e5de04ef3d84142bfcdb78e800b52e5cfa2a0e552bbb3bf2596facc3c28de920a37c0c1db5dbd73faafe30ebf1d71773c39c79f955b71288a0694195373e5f80514aa5afce78f457a6e27cd14b812f688a20dd5ec942f55ecd15df52f37d0122c70744a019b1e3602f3892b1294b8b313b5d93175363561960bc0d54a3b7a21e2deafbd08e4a992fcbcf13fbb6374356d0e612b9be3f66728291db4b8c4c7546229c327e17906e509068adaafc6f097730e34deca40ec185595ac52e4483b03d0db73189a5718cf2151425c8f2c6ab4f6b80e28f9c806c6bf198be03549beaf000cbe867ef56c9b6aa3e8678312c550278bd4f5484fa3babe574c022563756243b0482676a5600e3f86d811dee7f841384c291ea3accec6bd27357f60ab8f1f0ddeaf2a8d5d529cf593ac8443f48f486ea3ee5802ea95e12cc509d7c31451546bd92415306a831295560aab9d034c7e38513620251a1a9f14d3dcac06dad4f13f18dc1cb3d40d17ccc63f597cdab3009a6554454cab9772e58392b5c8b58230d817ca7cbf6bd0f3210978a7b007b8ba416470dbca2a69f4f916dcc37f544892a6515f9f4af24ae2ead201d2a2c4332af7fdd0ddfbe106c55d61ff5a3dd791552705b268b76eab7ea75f2cd868655701cbb0e556a420a7531f0d00b91d6cba50e02a3d2a5b068f5f5dae2495dd9b44353288445b102de65cb31a77ed8e6758a827763c75d38efd9a4d5276f2f954d3212ca32e7171b0a7f6b21f3edb38df6711bb009101eb63f45b380bcefcc771b3b2bc6700995321c40c139da075c7276cff942d0a6cd4c7a01a7aa595f244463f25612c26b6450304a1a0d6a9fd778635760799005c0382bba7a03c755c1c61ec3d3412a8d60077b2d22e10071396fbe1973cab92eebeb09d24d7cad13729b2d8df64778b3f571feb4ff493cc1319e867b9d57179d193c9b82b8cdb476e6058a39e78fcd4d73ee7e064c1ed3c9697fb9fefe3a3640c350fd8a9f17775a8cb21f419b1936c3d22a9c5240aa10e89ec31c77a4356344eb293e0eb02070f04d39eeb0e3bbb6a61b41707f9cf2f2d1ac45001c013113d08461f0655940e3737270f4be86f8bd3bc1196d1ead3e43d524d2830f135de09e04f3d3ffa94979d964272a8943434f421b1cd9bf1e063c62edec65d19dfe8a7b85a333196c21af98db26a8e82bc11b345a34c27b660e56c8c69ef52309533db5250c50eaddf7f6932bec5cddeeabe30874dc0918e2bfadcf78f618cb569727e8b5a0a396f3b15483aca8e5075d98839c2af43e20e09aa03257a530b4ab0e68f94e8ddb12029bb77993ade282d822e406f9510c31481caf0003914323cb09c5202c21a311c84bb939e063ec6b96e03cf847134c5179553653cbb027c71c6bf225081aeb18276dc428d30d73432afda34255485248f6b13047b8fd0024c3a90699324fc6038e969af299b1d83dac5d028c82f84f29540c399afca17ead567fa0a36e0ed8de1e6d622e3573e33aa6ac766abc125fa9e568a276b85f09c13a337bd22b6279f90f882725acfdd5688f3f95b4ac2a76a38fd9fb33ed22b4e8123b85d66614ebe1eb43f1f32865ac5d3b76c377fd441f2eb3435c7999f09ecc020ca06b2477b273cd577124661cd93aaeb0782ee1cf1302580ce365bdf8c272ce5f2fcc057708d2b11a41eef470dce87335d8982d8a674d469cf30a4f5642012af6e94be0a745afa3e1d65977ba729018184cdd1040f71f0e9a489289ec37a3a9ed81554f462f0189bdf9975d0be2bbe4cfafe26838d02b8ea6581ab7dbf392619d45e06bbbf9ad29a9a30bcc5f1a5080b806ecf70b320320f22b09b9a139c53aeb49ddb9b5584230c63f79624d13e3f33dc873f662bfb7859ec8da19384c5c4038c4c69dbb03e7209253e3eb305d9b5c568f8d1b596501d9b47ab349da441481f96baf3e9b8a545de34824875b9e27daf48cf64831c6f8aad8525fea98f10c98405469fbc16f8480c2a83e64a4daf1201824009e30912b9d9750da810e3bdfb407b87fcd29a4459d288f89216b783c4f2fdc8b7cee09bdff5d1225fe4d34986137b58d1c2236f2766ffaef76e0fd414213118aebd4deab712703a1726541232b049bc452aa329abf52c853b5b844213d1deb74f7d206997c659c659b73cefccfd5343196a78fecb5c21230e8791a07425057194122f4884408b38fe96a4efb9a24b59f78270293163c8d17772c1484926deadab0c5499030940e798d4b382c62795848ed662ab91963388a8db09bd47665bb0556a46974a748ebf210b8744a5f8c455cecb91fa775e3def6590bb3339ca8731c629b3cffc8d8852cf0ee69c954945e643208a5843ff11b2bb80f6a777951d72928fc8c0b5c19626097f9f75a04fb2402b44128b14c5f8e9b426368a2045c44bc66823ea3e6ea8244784af31766b218510e371f3b561e50d7716563559157c8403858bedbdd8e03eb6898992a9cb8e7eea2a7a3c49461eba6f6ed5b10e79bb685b92b5831ba07845a5997b2cb3004f9d74b4dfd69e95d9841871d62251df2637a101848115c24dd131dfd7badbcc17d6db04e747aefbbe8c03c503944d1960c6d855dd6c96e7098848bbed68af61c96550912dea438e8653aee82e4fc3e4de8331aecfa6ace67fda088e4e8a025d26206f9cfd02d4acd755220a282bf6f7f9b0860d4c5d05f1fb6a45aa69861d568dd24ced09b34d6a1eb7909078b4d3d1511f80f3503a3f1aeb4a47757877e72bade2dd9555ee1fdd6ab878b6db540f8f7c2d95e0b88547a42aa80bd5b043b0b0362758eab7de0f85a51aebeeb038da9ecd9d782f7ce9308c547112e02ba1699f278f7a4a8696efae7d87945cf9fa63fc928552cc145a9d0d910c270d4380d17441eee3f2e72fbdbf34c879e6fb03166cc096ee68cee75147253aac0fbb5fdcb1b1a91aa77c9e003efc4c56ca34310921055b18915ed1896bee88238267010c2d5505cd73d0994f931a00c0d372bbf6900b24c1b4f7b0aa9be308069fe340602346f347597393e314bd3df0dbcc58e8b33c622e69e2d46397fa9ad3d583df6aa7d5f517e3d8caf1cd447b6e9cb41605086a7c982ec0113c0339ea088be35fc68557dd9c6ed0b437d95e91c5a9cf0b5a87051797d8e27df717ebcd7c0676bbd29893150cce765811bc571ab8e4f44ee496d409971dc33cc12cd46ace668c317eedcccee9ef717ad7464bf360a0c25efcfadcd929c989c28debc85185bc53746fd28c1ab7c56c694fe923422d38439b18248ed1bf307b8f92b3fc0a0ca6f045eb8c5dff462ff3ef7626a1a2332e50214d8b4372b867f8cfe269d1748b655ace5e3e41fc249089f6562601af25e8751fa4348a9b5409642342db3424e31ae3006cd975d3841017af96d06cf86fbd769820345fe9ad192b3f3961a22dc606f12ee855a8d268570fe5f058297a85686fa5ce877c1c64cc262142aedf6c8ba5a590103d339a5ef42a439c942835d42a3467568d3960072b8857353cb0fa65a022b73d6d64db49b2c389555557cfc2368d11db1e392727a3e0ff6245a34227ba83103d829dd1b8f0df73254761a0a827a0f9f4bf9d2d6068e817c0d1115e9e26cefac4b7c3c62026c963c27b022622cd1cc6d73dd21ce4d62aa76f1d89d8d20418db16ebd898c7728854e50e4a7e896ffa3e704e97697e1f530c0ca24ada5cd88077c4198dfada1e47cc4d05a8e26781305eadae1072ec896584bd2d1baf3d64b846e78af34a9738764f75455eaa8f8df5f70b380d5e78efe01409ce550a7b2857cab21df9fbb20b183b267715c6034e69dec3f49a5934d4400006d181ab11b3937ef2c97e4d8e93c07225402134d93191ee6eb390fc00c14ad78b8d790dbe7ef1ba88c332f5c1d4f5b3fee3567b929333019353e354f8dbb4514e2b84faafa20c4e49df74d8a921d61d47b884150176fc369b452312d456405e453ec259a7fa61dd8d82136d585a552cc578a3acb31f638d3eb1cfe778c7f4d94dbbc8f3fbbc3597e1e755123e6e8f39863c858a129515480048e099b73f192b3601a10d9820eccdc67e54fe0b69c8243b86d80387e9243ccbdbe97536aed997409da32ff11a804c647d51ab62119f2f76bcabbd4b9685056fd61f613918030321de2b209223eb9e80c3fe5852863bee1be02ce202d81c6fef83de452d2162bd6830729c7757aa1dac34db313cee70d19bf2308ddb15e9bbdcfdd74d2568eae5cb50c2e340275ed8debdad3023a1ec4459cfaa5f441e747132814f94cd4832a2b13e51028d919d84f3612be11468d4a245dc6b8c212b31bada120ffc9937da68000199934825e45282ac02a85e80213ec0c0dfc592958b9bd6673c6881dfc2fa9dad65d4f86741de6c8bbe044af2aa9df810b3d0e3a5d20f48b8f2c250662a486be133cb504967a0b33ae72fc7fe3f66582debf6a06b22bb5ba7b7019e0a7f862ebe9e89c47320ddecca915b728bc977656d6091c3fb6687e7268850793f30dba3173d69dde407a1f243d88fdbf03c11594d2ffbd38ead8d527fe0c2471c3863872e8ae37ec20e604528a460cdd491c2c7ab771280cd6d620c324bc9bd2c20abbc1b953eb40204a1c28a178adac8794374c7cce204460085e870e5b44b61231dd76391e3886f468d2e86ce3f27ff9bc93ae76b25cca07b04a5b689337ef76cfd4f4c793003fee8d09fd86b47915d010a94ff8c4f731e1d6ed526b63ec213a7516c87e1eeefcf30ce4773790692b205175d1bad0dcaa67a0c00b27660b8c7234ccf3dfe87e9e8437559622d165595e342e9bf5bd9033409334fd490c82ccee2ffbf77d08085f2eac8d1111cba95bea3f29d40f2e63a196448d552dce8485a60f2be35fed61d5ca218a17dd85a15d1dcbca10b6ec572b3acd08c88cbe8fcf954569a4bd4e586ebb4dd9f7f79a4bd5b4299a2df9e009126dba0c56d075cbf615e1ebb1fab4e44b285fb1d4223a0afaedde0ec3f3ef52bb153601268693ed4d02f08906c2762d839ab1de39c6b8964027c8960818cd9d2e0b21367df23e320fd519f4aed81f7ebe3719f8a21d545657a4d36d171bcd3a4628bb1b851d6aa6375dbc70fd346696f985f1778ee974ff43c0d65549db510663869131b2037841f18019979a4416b0f4a646b214cd7d83fc2b59167fd1d337cfd5853754436d2a976de69f13211b44591953ba90de88acebecf2a14a77135741294981db93bfd4f87ccaf29a82e872a7ab591515139fa23571d6af1e615acd0a7038650645eeb871d23a0e28f10db459dd509c42e81b67a3a9b805fe89cdfaf2e651fe7a732b9637657411c64e8a3e0928ffdf7d49708873dcde4ce1e6f5a8721dfd39f0ff65ab613a06b7d11a813db9a1e28fe500406bdc9d5cadae35919a2275d7eba380da9f997a346e44d0cc62c8b9ab9d02b8f14c18dd630b5b981d0e472d4c79cd38cd17e6c57474fa70c19070599c862d494ce6e741cdbc5f5a60d5d9f1a7bb128a41c2da137a2ba54260f8a22a4c259e6d3ef56534570b5787bdb12439fd4c9065cc00364b3b5e01ccf26745903ca9e7aaf8c79a14e750421d7732287515df374cc9fd68115e12e1538692da4ac5c24151b7980631810bf4da42bc79b8d59bac7a5d9337236cc2165066322cdcfa52c8a5310e6abade379cef91f3930b9ff18cae3e8019fb863fd391a6e3d296cec1699b0038f1f00d4e972bfaf945c5547ffc94af073d70b9458e2f6036722c6fa2f07dcbded67e84957af465cb0354703f74cd3e4a1ce956706fd13fec96963848050d2bef9dd1e4461a6d2cf9f5e4fcabbbf1c862d871aac46b955129e1f6ba5e6911c200327723419ac66f4df6697c7a60c8eee2660073cc8b0c478f42950f07da1ec5c0ea100a58b8ca2636b3a0c0bc42a7d35d88863ef0af10f8349cc4556ee1f235196541207387de6b2239aad8ccd6d4bc13afb801380355778466f3317e3a3e7e57f94b91c36c32c9147f5d67b991960253ed1c3cfe1caba3d15141200084b068ed1398ff653846dc1a1258e7654c2c9a036989de87269ffebbae109a8fa94adff5b519f5845d977dea935aa01a357dbda6100b2ecd126b3a071f7930f9e290a947bba35c0993b30a826cb0a923abee9502e8949c1997398f2ff8cc7a3c491e2a5a4adc1baa8fa9b1215a020d6f55fbe7bb282502ffb60bd3f072f8a12b869cdf442f68ffa460a982013b250ce114a39e84fab1de79e81a22ad805ebc57593752c58f6d7f6dc694f7e95034e7671e9beddde1b02afa8d5c53af1c4f5b9f42f68c152165292a34ed7b02f407abc6a9f8f4f0733ebdc056a933c6d825ddd0ff9d331a22b0fa479ecdd1bcf462157f14d5ca3cf71ad5b257177604a0b22c1bb721f88c4b70e2817c480b7afcbb1a8350121465e41ce97b794967ca03251bef88b07c98afc9a7e05ed57723fbf1bd0f437e6184db016d59bc697f896c0ef5dc7074dc2a2926ae2c5d5244913ed4614d7c7bb7577ed8ec62e99369bbc9c627adf1695974367ca25ce555165dba1ce5aad0f662173f0d4f4077693acb4d1bd7da5be2677290c6fb2976aecd17df2da5c8189edd49e0e10c5cda1a40f0d2d8a35008f5bc19c92afe9ead03d55ec79f9bbca55f679a0eee7bf80211018cd3472c543e037e12dba954c0a9ff48a4577df227883d86bf7e081d6df302d43acd5a1998b87481977cc2aba5cc012d6131e48ea0a64ae1b86569061c414406b7a7f05cb1b4fb7e8b2dba09c2206a59b2512bba9f3a6e1265edcfafed6d1067237dd0ed0d374dd1dda9211bee708ab7dfaf6a1d665e2ab311d2d2df688a1b4e4167862d7642a8f6cfbd5ea87ee7695581b716746e7a86582c7e19951b328c921a17714a150e82c46da84f27ac6d544710f4b96a6a5c6224ddbb6b15d0ed50f8dcb5d21e0971e7ff7d236d201f5750d446a0dd234d46b61d77187328bcf727efa86ae6485ba51e4e51a8c970bce05a29464e52d82a0db83c4d09420ce5004618b136c83df0ef0edf056c1be7b2d899e1748f97c1e09dfa2c3812f0294a6e9354142251da962e10bf6dc4c466e28dc05d54fe1ff1bfec6063402f81656893e3bab26c8892f2dea6b0b747ab6156a235b3c0a8fd1c9097c6e3a71f32379ca3ca21a4e51f08445d1d41ab9cbd121cc0f915d53958b6ca8309a4db8d0b00ee3d5ea9334de27eabaee6986b883809fc1c0e0c0b9d3a053146b3b58163d77334e170d0760d91735991afad69a8319b211ca9a04173212f501d1e55ae2db9007d8b685f4a45a13248ac60399f82a75243767524cb6f11fd26fb2294eec51859389712e318abc8f3d345059343872f3ff1e2f81d72f24a0d115d06d4b23d7216aec203941a3d90a16fc81230da4411f8f2481e4c9f11dc839394500bde963933c1b0deacba5f23349ca4e844fe88c00c09db4286bcc2447183bdd42e8e704d2359fa01f98ebae710ed6dea434c8b9441914ff2ba12c3d9ac7b12fb8d7112c50c215400e2790f28b0266679252abb9f150378b3abebb154c00c2f3e56a2a5edf5d27b5fc4b10d29472fdcff38577ec5ad8cbb3fd85ae37e2ea7b560c53330409ef3c21c0fff6fecd1680c882026cf674887dfa00e8c8af7ab5da884ff7ff118129687d05910d32801a57b566e6b8b28b05c89373eab0697dc5b1a40e886b5974ea02676f11c4d5998911eced432cd57bab39b600b2595a5b7875e2a0a35da41651957d720a02694b122cf18590f32de0d4fba7e9901338efb743260764e520b841f7efa40c8a339896fb4a87f6e81f511bc3f977fa7889c3d86abd87ae2b33179acb14982734e8c83e2e8b1effc1f198300e0fc2fb12818f042bf226d79521d0b46c4517c6d1bc7efddb363f4cf89fa011f034de7119ae896073b0af9885cffe54b66c0280495c28b892e115cbbc3db5ad39c1f15bae780bace454bd5f53d8824c5c484474f37a3e8d3b495c8250899e2c6aafa836edc2faab30d161550ef01b26920ffab1df9e71075e0b0d8bea738027885f5b6defaf1ddc3dcd55559e6ac2089cc7524017ab86bdc280d03e36d5e2496e91372cc0aa2b95a73e06011005903f5d238e2afc4aa00b58f30f8e946d171224eb698f694f576be58082830de9eb70980d234ee6db6278ef68490e565cf06de39280ed216ceca4f0095aa16123a117ac4c07f5c1c249efd3f40c6342c9bf19209870611d00404aaabb24286de1714b40fa56c4ae99d90fced32912ee85c532aee1c4828dd5313e3cd9f97c97a1be343c560e4d3e7a80ad5d09688d237ba1527958aa395071eca7552b83eef4e8f0d5bc8c2daed1491380a450d79ccdb53cef43c930f9b164095c18c9e7fd19bee7ad2ce234b4bd3796ece974eb2413a334e37327df5be3123d1e4261cb2fc2943e594a9b8677c6b9da675b3fe8d52cc57d5d1c2873effd8f6b57a7aa2333d8c7ba844c08036099453911b4cbdb93f9de35d2059adc9cfef2b1d7d201c17c428da846c18aeb100f97d398c17c8261363a0fb97c7e69aed985d4117496a907a926fade2259045f65914572c5c4b2907e916f8e0ce9369ca4e687f07fe0e7f0ac3526b3464366ba76bce1c32b4492161b94a3cfa95604a3ceb11b262413f3dbe2708db31ab2a05eee9d159b1af922161d8ae25cde39e8f902bba039bb0eacd0d253d6f2d65bf88baf2516556bc87816160ed4c4cdbae9c2dae5d993d2ae0d32df58fe9cf04a27a29db990a1f518ba9d567f52820fcc64bbc526f4783f8ab9668ff402e930931eb0d3d9da3595b30c005dbefda9c3f15a0bde8c531f65959954871d46fabeaa4ecbdf72be652800f2695da35483c7f4283719e0a382f01d87e0c1847a5b0f8c916353e46a45ac8299110a2ec6ffc319d5100009df4f6637f42e748f759966096b829959f484576b867818c12d80cf17a47659694e512aaef247d5dfb8db018a5676f8edff9f6535fd3bae5df426f23bf63ee08de9735af12f1b9437838c885897c4887ac6f78383c4c189a32183804840c7a7a4c310cad585e5abee22028a5497bf19fb8e2fae20a421eee3d1d1ab0f884656708e966758350fa973d6aad260fc1af8768f6f07f806feec2e25e338abde1fb74d3e28eadea31e99916df3e6739baf516d561738d6b5481c71adf73cc5cc7ca39f09334df3bf261ca5e772fd131b0615f1a90984566e16cf9ca61a1d0837b6225bdd75268669d00a2b94c3d6fe992de1a6a2df12d0359a2c5129aa3db2425eb5e716cfb0032e07153dafca741d2713df9d514dc4bb5c0cf3a85e954238fbe4474fb75faa577ee92b39a8bd07bc2f15e7f2f5153bcb673271a28e5cf148d2ed8417015cd073460f994f2aea172925f9ea5d88692c9f257a70d4dfbbff97339c7a7148d230bdca3281132b01480060b3b33a19bdf61e8f5bbdba5680877d33e3792ab1cd597f24fca54e239ffa0e59d38369a0764edfeb5a8fcfe231f8f5d2f9785e416187137f408b47e3ab2894d7e3955386df3ca715f038ddaadb83944cdb2ae7cfdfbcd220e400ba81474df5bd1227060ec91398c6b918f934fb2cf42788ab028c2e2ac38ea75c388014509c28b913bcc55bf3c8dbb86b624216cd5b0325761b58bd1c0e1addedcea50c324f5d30b9e42543742fabd05a51e2a51f9760542cb8e03018178f400470ce4c34ccdd402ffe54e125d14306ccab0d39068e08471ce039482b75e8f4d75d44ad35fdd953a0be7f6ea0f958b399cdd42a6daf8861284628231a84e76d104ae96982c35c3a87ced7266ca304f1660452c3e2786323b7bbcecd1d4a83017ef71f45339e4b0b2614ce9df63c4785d72890ea3de9c8b8892f8e6016de5c629bdd5d098b933365baf533d56f7ed31c943cd6f08c07e08a6a8c2d8be0d6321d110090ee3e12c9c47edb8b3e5a0585a362236f8f19e9c845feec4d85dd24c51657c97999d554f7c0d9d2eec68a48537ffa89606b9792101ad7ff412b5c80895796d8f3a1c7d4b3a3f0768b03a43d7ed94b31e661f421d2f027225c1c2da9a500513d5f0817283b061e48b6e74cf30b5919e5036d15bf6318d3bcea9b2e0c346d1f598828585f277f58d1fe4de6bc1c0dc5ba16663173cda05b753523522480e89265b5b831906bb3642bbad417af63202b0541f926a49922956cff1266591d8589ad31a7feb842c82f59b021f64c3c731bff3102d0599e86f68b6b95e5a6ca70fc3e5f964c7798c9563434528253d8372501ad69a66688b0dfc79cf599b8ce6f4ab7b4079c6d25e42fe2f454e749d9338c8b13be2cc1da4e0343afb52345ba4370b3403f0a8584a1df065f3f159faa47cacc8892132d816b8189e30f51dd67fe5600f9fa66254c54c25e2da453184c911d419df2fbc105e3ecbffd13967a8603c4a316dfe605548e1dfbd236e93c9c2daa8b1c8ab472d202c5273099b6431adbd6515f76b143dfb8d871d52185ec1b6ff433988c14ddf510cd76f835ac40effece2b69ec73f9201c3c3bb7880cec35894ed275ce6b1cb4fc4310523fc9c1a912960a0c807d65b260ff78ea61d89abbe283e8e9c068a68e56d653f5de915aac9757336c632446c2e250f4b690bb1106cb3b626aa6f358369c40cb61f32b4204dc3f45a725fae4f2304aab4a1c7da37076ffc7a017872fff895fd1bb91f5980eb8e6740a6bf7e6470d4d79755586a5ce9b6c0f6f71c61d0635d82131b8613caa8f2ab778415e702348cdb3444ddd1094b7419b22e784b21cf0c45cae1099655b2d91fff8f6862336760bb88de50a3b49c4683e13d8c254d2ee413365278d1fb5227b07dd3b49ba36a8eddd9c0d492660420e112c7a21065d7fc0a31e03ee57864f07aa4f849682b4a53d87d18364325302c5a14ea4daeb4f6607a293f56d5e786e5678e78224345eddf94faef727c63b78f0c8857fb8f9197dd68a9bf25bc4449afc0bd0af23a936355d64bb5b33167a169955503208f060d5d1e86fdeb29d64bdab6c658660b1fea56168654d6065ef4b2765bf8e79151382e38330e222a7ab7e85618f5e1b8662ca8b8defa89238bd3f4372589da60b85d84f9ebdfbe1fce6cf240793a9f27d975bf756be9f982facc2450c729765f0512819cd1e3601969cb452a05a4425174c0b7cc544732f7665a424ea7602107a4865a064019fa213d6b8e1bdfb8df5971e8a3b8cf1dcf09469edad73d701182cd1053f646fab7caa4370d2a74df65c17361381ab981c76b61637879307df18b1de95903753b490578fa15a734283b9c71918e4ac0603ad0e12a981b3b30155e775b3e9439132b8c298a65c170522771fe33cb2e8d4373293309a9a53d066b40236f455c52d43739cd88abc913892fd63769ade44ca1a63ad221196bece3a6fce8c4276869f1d16d71a35726da21e36ddbdd527927d70fe017868252ed90fca2cfbc933d19e152808127641a577645dd3c87671eff61f74c16ef08da32f4b6294669a50386bf28c761e1353f2faace8c1b5eb7233ba9c4175bc36f86a4b4cb92ffb4047d9f66164a114f159ce998fdd2fc7e78e0cdf06eb294ab28ea2d9f2309b9e17379f57a06273dde2bf3fe05384dea9cf3158b29826e72fd6918390bf04ba628ab432991e18e514b19a67c654785001a1b9548c206dbead1340791be6fde97bd5133e4ac580653ffd09ddf9926714f658aa882be32edaa3bfe5498a64cadcb91e9eb79af03c89cd6f22f22181325afc90c26aa062a0cb0208b399e88686e6c90b2f860a29172d989fdb3b4537f338af7b8af2dc2a32739b3a6c673a79ea89cc3b562b50d03b7e377e833f96046adf9d729e7645482838995b1d8c589977c282b2f7c84bdc13dc2cce2ab7124f64fd59e0e68ca3878d693f44c60ecb9f1c785c237388c8a74bae054d2672189f53b1c2ec068bc933059ee3228717b639bb0f43c14b1f55aea5ac4f751fb776d14f195f0ef2794f2b96eb0395a4d91b4b3ac4151ecc2ba6b2dc3092f8d16bf7237ba4499fa71d35082e98338201c796bada8b9b40c7a97319cff8b5f3fa958af165836829408536ea47e7ee346be3b275756186e93a8bca63d3be03fab4938f543df8b121b58db35f2f5d6028565fadf8b30a5ac6836b57197f6391777a09a6c723ac3f7572bdbf42e3ad7addf95f5fe6255278e38e53b0217313c076850ddefc4d9698c0b5598374b55ff10d472fcd067ad86da665852c449532dc5d738f13be22a4a2dc02970f03647ec44c8174c4a188b0ed6923f57980cfcd6adfe87042af73d6a617c619edac01d8e57e85978d295755ed36009a74fd72f25b284c9703f5b521deb793699ba4c89566d8c2b3430d90c618952cc93c7d14eb50ef57ddae1ceaae519bf7bf84ae5cb5543ac82a16cb3f9594e40d103d88c86bae13ea36c1235b404e42f75c06d50b5eea2114f95a458de11f699c5d8fa01fe32ca9302781b48588db822406031e84e0ec15384115ac9a9dd5a89d2175dec2073b3a80b7ab19b55fb5740fa5b81928974cf42d5f457ea6bdda74d1ddd18bc7302e0b644cef8f87e9f11f3fd9c54057390efa27e4b8ca5bc80fca29ea11f4b2dc39bbf9d7178fd81a4afef73fba036d62b2d3c16bec919254301017e3d0d8c1aa1a70c05afbd1b87609951f5f58a141bf279403dbfb457d0cd5141707f7a24bff16546296e0e9dd63379f34732352dde2c68ed9145c6d1ce7f679eb5e0fb17c1a159eda2a923a49f3754aa588a0c174efd27ef5c90fa8ca1b3dd7a77e4178b623be801f3254ba8eda6c94dec5ede7d8a07c47e0c88cca0a9ea08ad3f3bd7ce3bbf5e85ce261c55ff56256835d2a93133ec66721f4d33b7f044a9240a5e2b76d00f805720065837a54bc1037d0e60bc9317cf8953e72cea661d5ea79f382eb3e0e4f20345aa0aabcbe94dab07c56027fc9c80ebb2ded655afb8bb4b55c6225b10acf5901a7431a6090bfad1afcba9b12fe5b3756ef5819252a80252e12c8feca3514dab43dc8cd6baa66939f00efa8ea4bcdc725df402be6edbb328448f5c2f4cb9da1c2564c909b5a72bec3b177f5b9df7406e54447b803c2c740891bf7f923bce9a091111caa19f6682ee3427b26fa498b0808840b8714591a50a7d34238e07723f510ad40ea1aa898a32235b83a69cf09145dfd0c27340357bdcc977a3da6c7608a078ea4a8d31ffbf01ae3c5fedcf27f31302720e9760e6685167a9850749ea8d24acb61f334f87b22d0ef77d57b941719986125fc3feb891dcb3dde51cd9a11a1d1515b82ae0a64109f488db8c249b08639d2df4135eff384104d874e7955448af94c93cc5df9c1b3a4a770d33e778954cd97a1f3876dd33ecbcaa432a12fd7cfe8a840b69b73bf500c0299e49077bb359a1da2f477d03ef9894eda001c74127cf9352e68ed582b211177aa3cd14387ecbb18f18e7edb60ce10e8fb145509e46c98c17175fb0ef13345c98c279f36518cbb6025c5ed0d9a523d0fde7be730f6badbdb929fea33508e258de18a7b1e2bf8fc9d4253be5634f1f732b76571f214434e437e0416583300774015a678f4a48e18a942e0afda4bf9ee40a98f32ac310141134dcf8f6f3cf89258ee7084e1b1689c9b7ea63f2abad1cb0bbf2d296971f0175838e57f129aab7743015cac02e0b051e7abb8b46722065bd2ef360b9e9edafb2463ac5d23cda7a34f1018c2a15ef175f793ec8a5b6728a50d73da01ee311fc858f583a8a314f42909315b064af4bd99f8c87600c050a8666ddbf921d0ad8a2402d96a45b07dc97bd0788d7ad3eff741e108e5550763d6149993d0b2af7829626d95176e9dcbbbf55fe1bca53a64a977679b7bb8b825de3a7b53aede04f24a10cc1a94be1bd40b4c35eedea23869c7787f59c55c13456f881e4b8215a0ba52b3486162dba576b440979eceb6ba7133fdbd8e23c490d83992a1c7053591bc5af6d6eae58bb589c87ec37a80979826e47d93d5e163fcfc3802856ed75a489bdde565e36b6d494a2c8a999f54638be78762faead2b098de08783c7f06e7a28f4b827e2228256fb64aa2e847b5887b7916d7b9773b979318882e86e88e6e08383e3a470fe12b45cbc7784815ea4d315d498bf4a05968427e81aa02e2bd437b474f52818d47b9708d9600c0b6a72dc4d79aba6079706c84979d2b90cf6ee8d1476ee8ede5ee365cb107a5763beb718b60603ac1b728fa981cdf6e6a6add435d8f415fd0c6c785182a755b2ac03a9cdbd8e3a9a4d76944e17de9214845295e51403ce1861e9c2ba46ae1eb46f93d8047e0c5bef64c992480377980f4894081549acb2b44776d96e36a060c7f91afd1562b44f358ac17fc5218b4de22df5a6a96d355a8d00cc146cc5d87a19598427aa3fdf1edf042876669ba6c2de65065658c04780ce2374477fecb36757c92193b3e61693f7b1666ddc7a86505071c084190dd72c627095bfe64742a352900d03d85e8d3f45ee692fcf79970e6136d0f1a4f929887871808b43833e92a78eb64dcc40df1ec26e5c474ef26bb4b95fe8a8fe685b9a1dbf6f82a7d463860964e13795d74d47176fbf7149ad1b6dc3f055d5fa445c6dbae5a8a716ad002455d673c5a04038c2aa58991be34ed33d5308b2be62e9964d3d9b08e7ad416303dee3d67d79d64a147c285f9e3446ba01f268549f4ca15a5bafb806dd540ecc3252a77571a34b5ca103c8fee6998afa6057ee4a6cd0a73f70f1dd307da18dda2b72427515aad881c9dab5c736c5889818f24eb4fb78a88e0ccdf72af6dfc63c05ee70c52c80002cbf1e2ee4c5284e11a385e30a4bd235e6b6a4464660a008a056b251b544724d71d035f805e9e32d7b6c2f35387a28eb7c7a727f89db0bad14dbbcf46103a9bc130e8b6cebec4b22f26b9a4c664a21ff3810f437078ff6db018ace1b84e42550c83137464d147d86780c43adf3683ddc382b269e5c84188f591378e28e7e9fd2577d8f7811000bb41da4f7307e62273d155421a581e582bd58757e54f936400a26c805bd139c4d7b7dbb88ca3295ba73349459da749c59cbc08cc18e9cbce69fe018179341a4b92aa0303dfecc14fb74d30aac78bed6e85ea55b446cc1be01c89ad525a4a372baab81a63d22155a6e556cd4bcc1f659a2403cf795cf34880dacac878699223caad5e350f0a8b68a5ef4cbd000d5cdee847294bc29227739fe5f10ac93e203a446dfab136da8fbb9a3b595634cb611d6579f5530cabcbe91d1b0a17ec275434746dbbcc72378736870b39aae33771a207fefc57b47aa45e5dc8e7ce6bd72b690e5fe5c4c5c9c90dc7190d9cfaa6c9f5b2f45ba3e8be9fd659199bcd3569d59319bebef88f633167b267644bc981c233e36094e78f191ebca01d465efe2c9b7bf59f5228f1a5df51cc05e6513e8ba8f8806b97f18409c976739be8609c7fe56e95e2fe79b6a4b50f998048fbdec65a05b14721ea54d8827e47294aca62903ecf31379bcb48f3471815ba1218f0179a08ba5a38f29266e120b63034420cdfb7fd5e12db11479094390b6c40a3f0608f44702ed5d1406a7641f3693236494194d13ea9355829b3c7e685175b96c70299b4ebd5262061c10f86899472b7c1638b6049c02aad4c309e51b7b20a9494d4f24592dfa46fd7efaaf69e5291c12953c2285da04b0f843ea1bff6cde6139a055f9f4fdee843e5e55c0f356d9155d5661d23819b5448584912ae548268fbc9fcb7356fd7027d40fa56389cf2b5b7cd43061aa17b50ab910dd662ef727beffa70ae1d5110b3da4f284b64e14e6436800c3d1f0f740d9af406aa591f9cbcb39cb68843112b7e306f63959977e41b380d601e4357f8788da07e62248616bee6adf8d35dc4140f7d88ff63b6bf64e88885637af650f17681cebbc612da8b0da386366653e7f132c7336424c9b9ae8f5f1af7924d05754abe556e45f45067bf126280a025e0988a8c65d632ad601a80e9ae758a61818708bcef7c9b5058566e1e953f7d8a0fceddd1956ad985996fc7e4da9724ad87d35f0e6949ef09c72409464e58db099917e2357c07014c2b73cb23030edc84041500804776815011a3b2aee9d96dd37af807a881c8fe0d898ef0a61496cb8f1c06f94ad446bbd1095394f9618cb1bec9a7b64796482d77991f08794a81240b0cff4ba0637de9b5c9427996f364821b51495c7aae314b2fa3f2f2b0df912ab1be538d40e34d9a39f8b0a8c4acac6723b0c6ebfaad3cfdb81f145eb094be1d6982e18dce6c8bc150b4cdd67b8d185f6d786b3f9268f44d53d85cfee54f3faba759427dbf2af31a320851b582367e7c5be506648237646db9cf138ce9226381f2794e04b25e0a026890f398e53fe0043c8ac5e7e43426cbcecc2611174961998105731e2e2fb1543b6f918b2f58b454d81477f248881ad52cf06d3b9473b02d13a7703c7df9390aa6ec993491da525611ef1e18013238aaed4f71ddc0da8fda2a4c3ebb73ebb95198ab7d8574b55df1c57b959f8c3d75e8012eae87fb8123aaff7a389253746b4f0ae95aaea6e3d03186c7605420fdd45e057e6588ece15e9c3a838e18e688c0d2efed8a3dfcf38a69751e5d956da2bfca7be3c414c3a320dc40cd6289d9b69b5c0c0aa72d093484bf999f1e7c964034128c83543203784a73e92ee5e0a81d0ef55a7a1af89b6007f3b23cbb5d970f843b6213a0efb64ffea95ec31b098e11a0ddc8fc5723880e5d605546df150e71744ca54f8f941a6491fd2b97e8f0fd9350af719458d7973cdee332980b3983a1fa4771cb7dc4b2e1d49beb9b3ffb0fa38f6e3aeda18aca2526ec728284497a5f78f57777d4ef9d874b6c5b047ca999ad0175f53b44edb72d8a5dc0601c6c1bbda01edc7410e03db931bc063e8c307f556e165256768c3e0eaf7f01a624d8b0351cd9607abd364f33f57fdfc4b26be902c3587c40c68122e5b907e18f36eedfd3e8c79ce4b90bd29631d20b06dd4a09fd40334cb2cc300ddff26ec053495a7d13ca98217f9da0aa15769c4dca022f42786261795e907c59de71319928ee8c7629edbbca972ae5007b272fcce9f4dd250701cd06cbae107a39ddfa9de66d865a59231ad304f8feba6710675fd460f66f4c4bb015739a7e3d062dbce651b99ac84de9d297495c17eaad0102920fc883855d3cd9ef3ff45788d89c36a3ba440ce38c35909571bae56d29d1a6b6865d657447eb14c4fc205356315ad0654ca6223168e746ee71f50c3c9312f9c9f16a5f61da401d03e26a33e1e37fc84affdfb6d2f1f0c9a420559d4be00f09695209714e10e8c899add2ec10fbd79204d94f1010e7185d0c5f79c19609c2e085cd6a0d89d91448819b399828cc4b369ef352dc3c67b2882192af76752bf68cec27c5763776306656cbd3fd19f0f02fa26db5589ac1d86473828b19b5f6c16643b2ac3b03c810ce9b172b9de70d441d282f41a54b028cd69bc2024096997d2c13ee525146faab9ca824430ee896752895386db237f9e1b72f91e0cca8a31326c52833260bd30ba02bccc8c590d3d8181a50d644505d7023c92257ef271de534fb9a007de6b9e3c75dd87ba2246b5fadcf71fa3fb3a47c92973d2fcd426626c8aedda6df7d3907e8595bff226138e408e52cbc6bdba9d2bf42dc792ee91b4dafebeaa867f93cfd599bce06c05010a1c891cfadb22cabf829215671d9619074aafd79c94e3639a6e2eee137f3b43f86954cfb3233868174243a535d3b68cd9a21eb602c378f8430b4c79a94f58b96dc0ae798abcce134e80b2014faa6df9941fab2ad1edbd8cec682889cb53d44fb3e9a4cb11b85dd4fee5ac68f0361bfbfe8766cd08616692cb10b2a42c7c29cc663ab2c0e4b102da305ebc50721f9acf43e9d965a80aedc1cba0413da59fbe1fe0b8c3158a1952f32f8880658065a44007be616354b48e35e446ef8e411fc066b57c669a4c37581bbff2a11b0a15e8785ee1e45d1a3060659a5bbd8d6b2e1b1f22a285a3c54d7b28f4db37398473b5d1142a36b2c32edc9d74047b23af3f55ee821e69c0df4258862fac46abae94c372739ac4909654319e2b85d3f4a4d8690cb84fce3de3f1d80d3e841c0041f172a0cdeae2df6df66510359768b1adbb61cf4b20d008a7204fd1d9ec5653de1287f28b748905f90bb6daa809adfb1cb956863f44f96b358d6dc0723626864de151398466c2463e0d4ee4142c3b58c7f33e4031f9da3825b8eb3d1d53b1990690bc3e9df482a963d3baecb9d682e671b753fa753684962a1a47854e5b22acbf7fdd9b086544347467fbbd54fe3e279af8ae94c415f050d703b6f928b5a9cb07051b16c115ced90ac7d0b9890afa3f47b8595edd99a75c8c0c5152b356d41ae603ace5e4df7770e12c3d6712c54c47e744df39d1cb219aae8daa37b1d16a802155c198ac8487f22efd4d609d48821605fa0bb6397d6878063d82cfbdbe75ba259ba2d54929ac060a86ffa04ce4a154c38fe42cecf0269632b3a49d94792d966e1a5aa7dba6a543172dda7c9ce4f3ed52f58467750249f0a80213a7e0b0e589c487b9ce2f4b4fd8881afd2c1c70107f6afd6af782271537304133ee96ad01461330eeba1abefeb7ab4f8faf9aa0f234d1e08066b123688b808446ec47167ed7550256ae990fae28a19ca31aa5b47bdbb3318c8021f3da4f2816428deace352a80ba34c346705048a51d861f14053200419e558af9a11795b51202476fd4bc42c1e48108c3711288e5c32245acf3e2368fcb1234c0a00af1f8636d7dbd6f526ac6c0238e31b39b3e411c8c1c763cdb5e1744efa8684d7f0d04dc2825d972198122b3ebd80e3223109745cea80b35b319fce06d8764f02138ef5dc2c0d933fedfee4b0457d3097e009cf52e5df37b32b79456f6130dd890fcef56d624536a74295e6b1cd64eced94ac883aa82135114ebdbf0a38e0ade915ca3174396cf9193689d1ad4bdde8535986880aa2c1177c9858c9a291f5a2bbcc2e9f98a82c119acb7316654f9073f448745b40fa09c6cd5fc851708ced52619dfcf2ad2e2a42e3832f3f4c5827848ffe9373f4aa6dfcb467c7b152148f6f98cbc73e8acadc6bc6c7bd42b2fad257e54924ca5594a384900139c5e57467cd2dd672d01dbb63cbee97c2ea66026ef4c269ad2a554dbd0665815a2518243826df3b5c0196c9a5476c5c3b7ec099274cfa8ac1f925a7df1ae921e745c018aee92a234a27ea4d4c1e4ef53335e457f48c740be7edefca3b891f343e3d96f185a2abcdb288d3b150b70915e1f25ea321ef82b8973b8c15e126e06dda702cb3f458a99f48c4ffd4c463c797487ff6cb1603a0aa6caaf423f63a0495aea08189e3ea2401f9a498d066d3ebb2e931d7f2fc3a22826220a9d62bb9d1235f42ee46ad52bccd4fd78f961bd12f80a6a5ba437a61f19bb1cd400f601667966619ecb687e1c32a1e3bb75bd78afefd2178b984a586d011ef8975694c9c35e2b0d2b528f79d75475a277a5c8b12aad6eba515b10eb29a64f0a71cc7d40f2ca2b2c9a09fa0540e6307465e4ab9f201249d81f0539892a34f9a9d39c6747ae2e37cec4be66c63e489d655e5e7848267ba6be795ba6b4bb186ba022cb8915fa294a578167bd45fea4d4206b4a1c9278c82891fea8928df850c0a371cc806e1b616c57caa06905c6f1e0a5ec3d70d4d289515d0454b816c589bc9fe177a7221d7ef4ed5fb400961f52848aee0c553c8a35ad9053930aaf86a7eb75c16376e31995f840390789df1e70bcd0a43c168220ea38c2e96043481f0ddcc0747def9dacba656084c6bf119254b0a4ae8ff36d1aa87539e52db04c99700b0a29d54f162165eddd94db28a19ace1293ee76ca4387ea1f3ba9318a9ceabd869567af5b8304fd348e69913e03a5d56a1ac78b987aa251c404b30024229de6a0787d5a603ad4efd20e809e250dc65e093f1a30ef67cf9fd70e03ab1a0a5242b252f43d22b043f10a3b3a836e418987bb5d8afccccd0aa22c61986603c275930955f0c840177ced47aedc38e00a0adc480d62450329fdbcf776d9176f20ae72ce0126ab577244564de6c440d158ebfde69f0fb3346485f0e0d57be94d0d6084a12a38d248b936d49f7778e265435ab3a4a699dfe1a6a4c5a37ce1582c3e37a1158bb6c31f055aa624be5b2ed508a6165a63a7a0a9bae96b27ae2e073103c89d990861fce61cd3cef7410631b325bf9b0879aedbaf8a6c437692f6f5b6b7832f58065bdb23dd9f5cba51a618a24d410063e34534a066b876883d99e37d665b4dd35a61d14a5771d735164127ba749129dec3e015afc2f13151548f110adca360c207079d46c9055a3e5fa8ce1a0153ca7faa169a745dda544c8bf9d6e03c1afc828e3723625590b405973be333c0e44507a2befbfbf59d6b00542e21ed623a643dc0e2ef36bc124ee0b9726e1c6cbacce7ab55127472b1501a20bf8de42b9330dcc3a9219f196eb90b4aacea99448d966e4e19f144d22c9bbfdf15e863cb327ef62a6a4c898aa5a66ae5f0d887bb57d9bd74e6f1e57a58973a7546beafe09ac8f675382c832496efdf5d9a1263dff87cc4e3d7c1ac0d6b62fe119a325db34cae5a217a16ecabc9db0df2c206bed66022da7b56622c9ecdcfda5052511d439f8e9bf11658e90c852e8fab03e4467c706e4a9d873424a5338924d0bb56e1a65d87e662058cf482b67479ab1dc2635ef0745c01bda84ee6e57c88846543149b3d4defae2eb46890eef8ea036ee1794913339546e72ee735b5006cf113be0192b1c7b8cd4f1e5465d71e222ae4c88a7bdf7046a00651943a308950910a5cb32dc28180c4e83e21e3c419077759080714d276619884507db39af910fee4cb4fa8ea84cd9e75f5ed17dc7ec24cf6776fb429ed61c3bb0ab1748a8104457365703a0a9947c1bd966cc87689dbcefc95371ea91c38e6441ac9d90e340e2694de4d5795388973b107c1f2b719f1c73ec82d617c7766557a7ecf0d2c7a96795d937f197a505a07d0910a99a3b02483f96db6cd23cf147f435357cedc6da881d982a4dfc9d73deaa991e4946a1a3bb64349b7216b5f8cbc64b430cdd6b309e711f0ed0f3a3cbc26f3e0cf00389207b2fbdc9ebe2167655159553ac28a27a1a8181c6a0239cdc593db36b98a78ec1869d06371b06cd1b3cb771cb472d4879e2f7774459f77aa49829a2c2bf7314deaadfae68c54b5ce6734900025eb86e95450fc6b3a83c4933677a03a839f5eed66bcfa73d3350a618488cb9d4aae6f5c0a94d2efb444e90cf09df3696e15540b3402594834a5b9aee4a19c8e368fc2c4f18aceb3a7153bfcc7b0701d8731dad45138db45ac3a6d11919232b371d8168072696c4cf4c919a1111d7c1b26b01e8b93206be8c878dcce94f739ad77de5da49c7d7fff3da32483d00c35cb49d1eb18e931935f889940fc0856d49acdaa3d95eaa7c3d832eb394dd51c8331409432b139edd5b73df7c65b51d4ae9f345b790d6e8fa01b223fe023764eb42ac185640214d402c4a74765ff46f4c1671a4ca7acba335a36ac5fa7a379a314c30fab3a33eaa6284d367e20b8f7ae3a5563ce45f819c73c62daf241bfd4bb6e07ca8eed9f8f2b62a79ade1fc0afbfebc8b49ccea753b4df3e6e452dd90bd167c711ac5f46cefbab5ac9c3d6269f0b9d3242b616bc53d6297c51d4fdbb3b7737cd4f744b06ff7a786d9a7c673137268b8700cb0e60a1efc974cdf4cb1b9235fa61577ba16bdd7015bb650b83eb51c995775fed310922f56f6161ae076ae79bd1d38164ad36d4c5e3e0b638b66740f9353411d05111b202f906db8c5f192227257336b93bc668efcac3109dc328754eb3bf3b88bc60daaecb92316c78de10d54f77059b3bc75da167ab8927ebbe66195dfd4bad32b2a6f346a0fa677fa220accd5339a71b43308328ad7aced7f93337897d7c4760a8cc956f732474ddfe87e92eb322851b13295b503f52d7576e2557428ecd9dd6bc89837bd8bb13633f8fd682d92fc138a0206960deda26f3201c4c257fe3009b170b443115e1b817cb10711abfe4c42c168922cfca281a32ba21032763adc74c9d1b27a3ac08c8c0114513d24f82d0b015f75cf1456871f5d6ba6a1e29a27dc6c8c4276b35d93fe756c7f1505a880ab187fb651984aa9bf2e4e0e0cf6db64e0bc75ba3760d9bd3aeba3bedd3036e8ba97119e2040b47293db44767c829ad2dd847776096b4ce7aea8e296bf237d81140652a7e4db65a4a1e0f84c2f9d45bb72f042e163e0b42c2e22f5c03c64c0e4e7d63ba4dc5d67f929bb8bfcb42b30698b1339457825ba7a6092fdb26da7f14a21e3d4b773e120ba478e78525433e33eb57937c7b582e4e9a1b009c41c758ed564b35a0b98c86d7495901edda95e3280937fe845f52dfd97e99d4d308aa20ff160f5215c7d5b1c8c333a469128ee19746d90ee856abd2699dc70a2ac45038eaf6f88d42353926c3b5015950f457c211582e95c7c1d787532feb0595f9068a006fd30f1d2288307de8799ab0731a91e369dcf8979e4733d6be0a8db030a5213db71a11231f8424bfd3656dd36012f144a91fb1d8d8f713c5e8c35714e7d289754c82295d053358a4d03cce7eab4289ff3f1975143b6e7186dcd06ec7c1bce4e199b64e6524f6fbf0235324e902f37dc923d57a773ee25747c567fa2cef2f8f5cd9ebf721289c27d6ff22310d58cb7a25851b9ec34ea30c53e4d2d0b86615530bd3482bd4d2fdcbf4f934daaf64feb1d2bfb961c5886aadf9e86fea020f1fbc1e74d47ee95b302c0cf8329a70d51f21ecadc6562fe498b35179648b59e728c5a414b902a5b2823fe73c4650606cf07349bae4a5e56dcb14f1544b5dcfd63e088d100204c526c48222c84289c5841d6ee48799bfef21058386a54db8caeabc13b4db6c071f19afde4eac496bc2074eb5489e70749ff322a64166b462ca1df5b4d78c73d4e711820e6a364e25322faa25465c2ea072e6e6ea8fb34ea91db4ce97d5380718b0da792aeff1830f559f04056da3cddd012e5afe521d99caa3b29708050467d3d8a20059ae1fa135e49348c09e7e03ba12911f6cf8a11dc70df1f2c2c0853607f1be7c4f954a49e3de37a440184d9c170079ecafce3d84731246ce381c566bbd8018ce1a79b16f89868ec95e3e077ba6a24898e6e4b639f94fa9cb234786506fce2d910d1c59daa728ee73d83388f965cde54ff6c04a744784018162daee121cfa69d7febcbc0707635aea4e64363ce69a1fff87e1fda9d54b5d173832485aed4ce8c7283ca9f830cbb1da608ab8e257c161852c3cd58a33d32d59fcb075c76c8d08a900c4905c99743655645e4e47dea5501bb5575b6fa59a2f539f89fdaffe030bc5e4cdbd78d91fbad7ef1e8c6fe311db331e7718d20087040031ff8dceb7cbed113ea66e90e6eba55e8a31bd19f61ab7515a7153a637304af88888339a5d5ca11228a733928657a496bc08c0b9b17dffb6a40d695cf807469e7c325cd3a020e6384cf4bd4c4f05b61603ce0afb4910f1db649bdaa61b1da5dc15825e6a3a04045236c6e024ca590d23e8e6f10ebf2c8cbce4b230c88d0864e6a2f63c4a02ede7cb966bd7723e612949d12b2a599874424cf89f980a92c9e0e8a272a60a7345de1a75a2b7dc260dbecbcea964374b3d01b1a93e7d77c19f8a44313439dae048ca6a0ab557aad975cbf79d91d443b58221731e9cff01f6b21e8ac2b00ba379f3cd7fa2dbadea9a418dbae39c0d20e1b2ebbceeccbe64e40c2473530898273d9fb9f59b5d6eb3c387cf1e697f23a857b45d7f7da930b326753b694a656a35b4246996c1f187e190ea0f3d43b17d48aa8e806901858d13153d53bdb6fb7d78f24fde604c604d478101d2c493ee6e23d1bd2b5c7c225fdd7b0871e69e003d4719dfa1aeef18ae4d0a9f47a20b2b8200a79f863580b7bb97cf37983fddbf674db4e5b8284099adadb391d4f6d31b62a5d5db9e1607fe0d2462b98cfefde81e717ca56c761182c0c936b3e82605f7ed05b2ad41ce0a212a3cb287df5261c0c9d8365911d88b78a3e4454ee4fbc8fa22ac5f1cd7f70b9afd86a560e34594707f7a2495efbc2941bcaea1ff5faee8d9a1afe38886c00c740058c0fadca4aaad11eb038e611630618cf6e7ff4c47bb5ab4457fee035d3260c759e6c0adfe0b887c33976120514f5480bdcc31acbd993bc069b7bd12c552af3f3a6caf6000c3cff13e7c55458305ea5da05f06c618679f51216ae4536b59c06978b409044cda89f70320c0e4d9f83746e67e951f8fce3990a1d1dff8b577dc9b66914335c182fcb15cf2439ab5ca27fdf579c58df5da462bf3bdcede7eeced9f6d3ab1dcfac4d66359bd5e3e4ec917ea01ddbf186ed89bce0e79b007c0d4e344cef7b169890036743e2e6aa1e861d7feb5b1add70b9be9bc06784134065f43e56e47e050cd32a35d1bbc728725d7378cc9a9e032ee69fc32f5820e0efc6c7c9c6b1f884a2b63c73f74b1f8a7ae2896a0d34a5252d52296483e5b52c8c6c375c60a5ae5c12dae44ec96b226bb13865873a883c1c6135cb1bb363e819fbacab2612300806864833a0ef78f512a625c1878e19f1a26feb4ae1c32f9ceeea25d30872b80f9e95af2a768c1e60453bae6240016b21a869248909da9f0924fe039a2e51b2676126d6e20bda3ddd5bbdee6e903b574cbaca7c87014df2c72727dd0baf52c543d5a20b47207b270fb3ebeb8cf6b64c1b1c4599ced832b055868dc11a50244706d80e9db7a41358f59a99e1dde5fad2927577ee2ca38f5a4b87f83e53074ed75108a64a2b36bcbfe691ff344b6aa842e2d51c34fbc681037d43ed1cd0e5fe02fa75420a5d177f1ad2a0607ecd0a08cd04f199a23e0eb5b5373a93432ab3addf2bc436a1ddc2349a691303f369ba3277bd779b69fcf2f6db9bf08fba450fee27ac12e800dc21b57e3b681767bc05af63e3b2903f8df4f6cd2973238a85d2d54c7c7524e0ba214dfd70695b2caf54e23455b880171b1a62c2285a77ac3a97659e1278ee4549ca724eee55e28bb5a027f749dd4311b9e6da889c94181e1c3431f4ad43c088f5d01cf55cad087c58fd6cd69b52140a47bc48775bdf545b644fab850b0aecbe6018dde31426b36084f5808c5ecdf589b8300f42b4a8404002c37d5581ed9d4dbe5fca98086d50cd8a8fb87ca9628491d9fa57e05447dab5291f565b795a7cee95ead0639ca969551a3869565e472b16160c7e3991559b05abee7f5da033b5f7e8319a952c5cec3ada312f4fa9de7ed93cbb8d1065fe56cc60ab015afad3231e8fa36ed37e3cb8652a2d93c0ebd9bb36968b52d151c6316eab7c6d7caaf690e7e6da5fe147abe491f113faeb59fd8a547a9c288b35bc84b2c55cc709e0a701bfe67dd13e00ac20dd62b296b114d33b3a75daa8ec924eb0a2e6248be7888749d9051741b788d4555d762fc3e89e78f101041884f5c8da31cb815c26120e9cc6a4158e1b7152d7962e31bf216d2345d733ba038ba4694d6a3cf427ec89d7583a8b5af095c20e329b73f391df5078365b9549d3d603131cabb0b36d440bb4f50709f066593a4dd6fab150233feb24f0474ea980b6257280b10375a33ab73859e48662b6ff33435ea459b3490079f4613404724d821168dbce25f73c1724e868ea72d3539045540b29d96f4dde499fcacd6aa72038b2de70c54a4f85accd48e45c2f9c103420584df5cce6985ac51894cd6aeb1ef6afc000fab4a421efb44b5ab104801ff62d2b10c45333ab6e5e676688330075341e1667b346e1c1f1c5832792c0c0563181375954efe29ccbd5ad5c45f3c4e7c82a9c8df17e43b3b7d794add7f129882829d0531e5c6b0c85f44cf1030f2e0f0151de4d1dbbec9aafc370477de6fe288c797f1e0a3f61d947c28f1a32365367b94370a559373ad3f8163b9d2ae665279ecd52b044ef2fbbb9a4eb5f6c501497e6a353fe9ccf79c09c54170343b7df7203d957ea54d3313c057a71b952ca13cc0544eb4dc894a37617c39a3ae61db200fdd8f4f8944c7567fdcac0d3780ceee9a8b69ae8072bab90f3022bf6a26e2ac5f1e9f6d2058554236a8214919619df1c4c56ef92a1fefb9c16c522d4fc232aa9f04a080648d3d8c2226b7cfa8bd8284d226940e3e2f79aaa9229d866fd87ef2b37e9dd9278929c975df8e3d761012a12a4fe700b35f0441d65bd21be8c42835f1d1baeb8998069a34699277b458725b7f017bcbbcf9c4e8712d96490a28d18dc76cb2faeb98685d0384714c9cbe133ee4b34748a4d3cf78025ce49b6f5059b7182d6123e5dcd9509a73660438435be574e18f0c4f3e05940de732fa26792f75d7c010b0cbc34eb598b56be3a0e5a7a6f2acd91d748e7a91f887bb568f6420ccafa45a43e2e04cc98e1a57335991e4c022594f547f09ac6ffd69de5d7e3c4a69af4bb04c88a330bba684ac27608d1214ddcd2304dd5e3bf5b7f820b442153ba341efd126b06e0e85bb54929fbc2b9af5eb15a2394715afd14ecdd4ec21130debb901239cb4c851e662bc01b403169db494ec6c45c1de7a99856b47647affc06461230cfd22f7642713e691340c2d8dcf31ac6007fa88632298d459cb4aedc4d422cc42cde2979d821d63b1a3b04ae73cdb6d5f2c956d77d223302533a30b948da3f98ba55b97334cf7d176f93fc44a413df4babd325e240a2736935d5d8ea8b65c8fd97c4b17bdfddbfb83fcd4219d1d9afdd41af22b7fa42242187b4971ade49bd9c9df06d1d4d724404c1f9e409c89d5bfec29870537699c40f7f4e319c0c603a287cf29d6f4dd2afbedc76bb870a1c305201e0c5638fabf81b585297c0dcf60d7906b19f55eff401aa54c82b545771a81ed27a469765e6051eb087e02c919f68e60ec000509b75d298a2fd7205b66fbc27dbfdc54e3130e50c2dacbd9c6ec8c07be3d8b553c587d5298bcf3331ad7af2983593eeceb78540c972085515132e03a20f8de4ec726a14ce1367d7195753d3b6c176b15eee3b1c068dc75b327dff27633c88c0eb19235372c1535cc7514990400eac5fab50f1b99e42b577ebb468dde47cfc70d10b2dff118acd9e4d95154619169f1a317e4e16bc1315f2c4610174854cb4c90b50c76dccefd876f6cd43eb380798657ff69856386d8288220a2860d637e095b8e21a2912b6a2dc0287b5ef9b3f6d828988bacf6d127c99a496a87ce830c4583f94e828c2d2f70d0aa1fea371de620e58647e98f9fb26c5d38db32e1e4d9796879b0cf162a84f0f9110871d989beb2ebd8ff1d075d30ea5d831903d24c8a21be5adae08960e76bf22aa46d23dbb2a5b95bb4c6cd594971faf487d73e44d4c591d2de3c2c05ba0ab18ad941497652477097f55320a28f39f8f24899199c7ce0c16f9002484e9eeb545eb3bc87ec07bef46edbcf15b4794ebb9d51946c916bcd4ddc1bdadfd14c96a89474664d846b30fed1500d39515ca567b79c828dc29c5550df4ee9957e9c79a0d1a4c9e11c1d714969dfb042fb7e867e62a9249d61a7c9a2f92da7bdd8da2c151437219ebde3629a2c5a8d3e5f4ca3a418741f0b5c6fb98d6a8689921bebcfc0e5dd925c1e2df192e85ef61f72935ad0d3a626b5f3ee58db81bb439fcc9217ed1d232597b82432ae6f70364d2642ea57be6eefe757490fe70b33fd3173bf65512a5aedd8e6a14525e2df2da09b9f17d598fa65b460b542ef59a9a506f0eaf8c9ac59aa5c9941c4d9d658c4da6df9f0abf482e2d13b2ba703dc9d5253be14d5249b3f8da16ec3404636a30726ef014e4a34b5276cb51f40874892cbdf38e780b16c13f86dee4ac23c4b449033b28af7fbd38383d52be21aa0ec73053c97556f25e177e472e29e2fced06e95999e7d37e6ed70ca3d796dba84d9d9672b88d2bd90a5dfd90d23ff2e4cfdfd7352b10f7c805725795a209ea0862835c51fccb10ed7db6e4900f22ea0639cdf5252f4fcd4e05492468dcc0ba736e006ef05d22413adf73f6af8e114161233e8306b48b5f39b0112b2f5e9018cc0192a74ef0e440168314b86c6601925f1a28b9db7fc2df190bfb928c1cc381e8e3839b05d6cb6fb9f8dadfe9fbb74528acca3150510571f9f50aa21dcac064a431fd99f737db50009ede2d5e0e6651a3a8e740c9d7bc2c5c340e1df5156657e1499bcf5ebb221dd44a3d733ae084b392864ba49dd077d5212ec78c62a6488c63779c107276cd3d6f0b20a783c51c5b27b55adbd2801ac6756f981eb1902fdc9eb6fc73683a950a5f9df282fb3b395ca051e2201706432fe7111f0f73d63d5ebc01054ad23b6900ad0a94affe42b2823d05acaaa9177a6b35fb4a56a37144b2826798365126236d994f609f187e803e32363aa5c22e19f2d843975fa46f2fe7915f0babd704ff458d24251658ad413098ca3908da70c9ef7a2ba3f4270bedc5d17da97e11e3988416fdaa46eb0e49d2e1821e6bfadab5d654cd3925af20ded8b8dae0b6e7e1c5e357e47a99fb67ff520e0f7cc3cd6f11c1371faaa861da03358f66d286e79980e6a31a527c7c388722be4fcff058ae239af0b48df4dbe2513291d0602be4ce0e78b4b6a78a35d00ff5fd60a6668503188a2e66c6667ea504734f38a8958022ad8fc34be2bac8239a33239f9750ff6980e08795f8352be708f9a532764ab019f6de4a102d1a86ac1552a2c874c780ce502a86aa42847de1f9deb290c549c0960d46aed6dec311cb4ce3ec04db7ba4b8b58d3acbf368edd563e6c14ca7dc68307bfbef1ceee9d3183c1f02202ac8c9feba3437333c0ec5d73ef298c0245cbce2ccdbc5e63f3150bdb1f6a2784b72a65cfc867ada0c55f4986520bf98e42b75381138a525eec1753458857c93889ec74049e8dadf8882dbbb44fa180ba2dc352ec13fa72907cec396376b3e1ad3ee3941648ee695f8c853546c6c63a64e2e17653cc35f4d88349cb00376a0abc15309ca89149af4d5ea91b5b283ecb41f98b9c649a29bf429fb4f1cb98beb4dbde3350d3546245c993271edafa7bbccec2e3db37133f2ad75455eed2d2454915bc57e3de9579f48b4474d5d1cc05520b9764549f5ecd936df574df9d67ed37c405e95836ca015aca19528e08d7afc936a6a435efcd036b874e7e24628fb5eba2f1991d56eaa771d3f6e2dd8768dfea9a57724536651852f8d10a50bfb76c3623c4548ea495170ac4f2b11af6e726332c067b029054961beb48d6cc19ef15b395c33b7f60629485e5b0907d5941f040b22b8be95c7b343e03287526dd882ce5ee48de2aa409a42f44367b91a52477bd2649b3ce8c93b17d166490e34fb17ab9b7c8f73a99bb125f1eb1304f562c185a0185c8f3a60ae39011cc3ecbeee4eeb935881cb4b789e3023c799ad5d805f186f98153ce9b47e3eedae3e05391a0ae4d5c7308c64ef98a7cb651361728fb9612f1d08a2ef0cd764e763ad78203340615040ea89a1c3e6f7992d3e40c9ad6adbdfc674bbe6802ff7ba81dda4fce2d18395125a1bfd7f5ef403adff835475a2482d7e5ad26b8072fbb2ae1292a109a6280b7e725630bd14aa21c0a7bb8af60e6ebc0b27f7bed71feb8b556cbfce07ab8cd492dc402dba726cba45e240330014c239da5b9b0ade5fbd78e548239dd2bdbe34d5055bdc645958b9cb45e34c9d1e48aa45ede25bd02687a376ef6e401cb57a9259220ca87ae0fdadd5aa1fefbb9bbbb452fd9cb1d0a4cf54aa2ac7acde0f59990d996385d80c6ffba893278a4cb7b7b811a124b1968acc189366073f0f805250d0733bdce20956fefe01359715035b0a54db11c3d84be8536aaf4ce7f6373e7373f04a086e79867c46e5ceddaaf7e5543a8afd4cc6c1c3da4ff104cf1e3b9f5d7a90285845524ec9220f3a7ae355e079293cafe2b717c157ab3b522b272b1b0938da87d7fb84d40686d901bb03082d73ce1ec473a61eea2de15e8b736b62902818d034bebaf81177bf1e28d5d16c6f08f3baa0511ae4d5d15c3704844b04b77467d73db4cb248af7b45c4bc05fc5416829c7411525c55cf2e3cad7c50825b1740ce26519d133ea2311e7a24e851db1c7641ae434517703610222553fa67d91535fcf9fbf99cf7d22c935b31300bd673b9919dca8b94909d61b69886004956b252afe97c2ac4f4c6e4256fd6b2f160849502960aec0d96a441d8cce57669fa434d3fe5105eaf7a7abe67a1f729d77d6d05a665af6e4c4a5404076675bf4db9d5c7dd4fe227f286b0756eec7a1a0985b548f9158c0ab3ea5a8cc2aa6634b00cb668da2cb6b0beb809c6888b2f82f3b36ea9e1db24ab8f91587df40a5ae10fa0205c048e0df39601b9a9d8446f1266c20a060b137b4c0e97e2e814e9cb780774b7fbfeaf84b2ff0c96dd3b79c1844e6aaa973c001e36f6fa9d60cc00319a9483dc09bc456e37ab71ac73864494b1f892734499bf0f86c44e4153e758f1ebf1ee54eac022e010ac6c1d1d08f1f4201d1be83b3a27e82b776222db4c27f63986ee1c58db208de5f90eb9fff31b98c94a43f26c8b085417e72e0624d3d732b12b416d76e12e8ea7b6384cd14b63504ea516cb08e8f2c663bd8f90b693449495722fc62aa0f90f58ac3fa97dba1bf8655d3e56d963499cff29672cd6dff01499698f3f06a00c712b3bb8f00161bb85ab9f5dab9874dc4288c926d4dc7df9f9eba4e55823ddafce7246fccd2f46dcf631db02f9080f1a1998be2f28b37265a4bf2664520daed6d6aba973a300f50b1269464a2b795697120dc2ace4c92b1fc8d36cdea38d0becffa8baab3326dd58c81a73f110202498e333391dfd4990aa6055c46e51b1c1a7a7e82a4f90b82ba971152b46aab69950d37cc6e0f110839012886bfb079efb03b86b888290dba97dd3d09b69d45ffb8a4fe08bde7c3308d5e38dd02c48f8bb57893c1f5655bf5a54a7fb5973db376b53a635804a5305ebc5d33404aea9c78b5e361c966d57f096663c33e931fcae9f3c96166a289f1f86b867af2460598b669f50e02040c784c3102cc8255bd02562467b35810297a5b76a2756be0143af0bc426738d21f4db948b815abd3d7607d54c6de8cddbc00e5fe32ecd6f32a6c59af96fc35462192665f07680835d568c2c092faf872eda7bd5b455bd9d5074f51733031fa9326b21b8d8d63c8b0b680acea409e31891304613349048f631b9a324baa7deb8ce4276625ad80de2d1f5a82b96468b5874fcc60c958464c598301b75797031e4b8399455aa7b472a39c3cfeadf2485346b466981c74593990a88cfc041bdf62f272221ef5b41ab91d85f1d223655f02f6a7b6f1bcf6952fd2cee18e56af8762692b4f87e1cf594769493d7d1a361167c5ed339ddcdf603f140fc3b9e4dcb32740d14d0a3fe6a80e280ecc64647159f82f9d0d4fdf75348d30ee16977aa4075be2f24ad97688e0ae598baab59f85e65750b0e067c5b43673f5711c662f6772e48ff8f06fbcc16f25a14a677d05f5000da86d483ae7b7044c7f8ea28ff84d77331e6c4efede699bff9425edb42f5c1f9fa5e3799d22e45b3edc0eccf31e0d3a2035eba261330b79d89f797e2630c561b842d5ca491f146fb0592be18524c28f84034a923ce4bd2c099efafbef79eb665d474644b86a081fa890cc6ab4c1247c9fde713f8b77b75ce10e288fc8ae6bced3d55e8d1cd70ea602d27ef4c8fecaba44d01ef119dea10d027191d925d9ef303dd1384e27acb20735526fd94fead69b507166e27c630cfb8da610e86e091def142a9ba331c911bd6f243b0db01f905b44220edf052eec6f0a2dc7a16cbd04b4c2d11fd70f8c5f4305e6bf77783634f9f530806fb4e440b3a12f33d7f43abc9b8b8560f01ebe1cbb9740b3fec5e800a54bbffff537c709e7ccd30663b11fa15b4057c3c181fe4b883fc2bd27f822470fbe43f79a3472d8cec0e7f8e565b5b9c64db197663a76ccff3822108dc7d97fef4006eae0058dc2eaa123c6aa354abc2d78efa20534b98f54180adab864ca25565a2f6a6edafe353b1cadc8b49f3bb637c77feb3e176f0af43138f3c1d0dc668ced36a28ec9810a2ea9614869175f297d22f3d476a1e0eefd02cc42c9658e7311a8bee77a69bb6ef82cbb5fbd1cf14693255b727d5939492c5a039608268688eccb97cf386f02469fa54c2e61dc9d52f257df59375d9afc5e19a07b2eac2cf53144ee160843fbebdb41128a4bc1304079b3e5ecc7762d331c77d54909de80987116a2579e4d3125d8380dfdb15604d5c353f24a47f0e4962d17077ba19c9c1a713672331ac42d437cccd6ee2b66a14569dad90a3ca0962b608878e2b12543c2b1b6fed073ebe173295457d399d26687d84caa17ecfcf80c5ece955431d7c65958bb35c6d920a1e5773bb93cf0e84c495e2d26bb76ad11cb0f7a2cb953627afee8e1a0d4105ed6eecc78baf9decd18008223df97b048ef4b24a9fbdb63e9ae15d17f33eb25320dd780f31d0a191a25faa10f99ec9828a1a131a7c38b9ad2cf5541ef36702b61b2f87dd2b3511f46da72f463d3335ff3450d785ed0d50f0792787aa69e9603175b87be5437418e1d7ee65d6da4d03e3ecf3562745cbafcfff2dfc922baed34d1b3a61563ddfa9d614d7989311b2c77dc9790f81e3e1e42f139bf2a73995d34ff5735919ac705271e81103654150a33a2b4b214fd5488d0af57c11bef52436f0892504ebd40151cc5627c083f8f258ef1d241ce9dc6597674ae8335cee65275a0d12292186419d048858e009f939d95709e0f646fabf3367e8d40668a2173cc44d4e771e12806f3d32f7e78bc682f5aee24a926d6cc0f852a0eb1d24c32ff6e34ef3832957bbab65ee3fd65d58314c137f2579198dc1266f7500f25f897fa5918830da18c811ec6b81107baae2dd6a8e4306df249afa0685c24b8a24a3ab0ebf0b21a5b13d69656b9084762af6cb967e8c4f610ef7598a3caa160195651f7063266c214a44a1473aebdf9f4691a29ef47885c0160984163861b3e0b340f002d321e5731ae6f9b38df40eef94e0a8c432f1fb8e2f9761a939b12bab386a9025b37800348ebc5c66904456cf216e0add6c4f0e438f30681125182b7daa7ef1de9726c77b8e879abbf4a2f95ee90c597a2ca587c3f95478a0bdd1ffd6788fbf0ad00ee58ed4531ac95ea27dac994bf241c5f9f54c238fc909a1d688ce384c0e92f2bc8a9f8cccf9dd76a85de35d3250d4ee438dc224c7996a57dd42341a8849722b5d4ed46da2d569c4e96c9af23fe30073a8032d05bd3829910dd7a3eed3accf6d8acd5306c62de8fa9c526af33e31487bed9313a994429446d026531919a07e3ae903ea4f42c5c655e46b41f46ec79ea5a1fb071101a2ef488d6f746ece7ef16dd2138e9cbb7955a30197a1b2a66ac68c645ff09693a421ad381e25bf497270e085f941158dcb372a5f5e639cf47bba1df6f14dcd9d41e989ee821f894f6d3b3d32dbc3c3ed027b9a90e6dcb9008a373e998411795744206e554c5a9699d5d015544a702ce2a0f0aa17806b61d86f0ba516e457ceb2ac62f153b87b52b23fb33a2145ec599df5cf05847614c15216fb39de2d2d13dddd9bf8eab6dcbb47659a43ddb88ddd865aaea816917bf539be593a673cc0835ac4d564fcd93134d269b100eacbc93a379b4377fcd948324f36956c2c7692e62bc8bbe2ffcf036fc1263f9b5c9ae8be9a5887ab0efdae0984121f7ab62b8790ce80c3686556be111bb3f8302afa718f538e5653f4ddb6c96f3c8603d9606999d09c55e48dc1554946b03bbf393c4189162b265d3971abf380fc5d2d4b17b4c6df24b94df69a91810a7110a9b247e609ff2c86b326273c533bd7f8c6c23154ba88a6f606e9267dfda30ca533e60dff28ae13977f1b51a259c4248c4d7003c711541ee55f8479c89caf51deb7fa5fc124216b041a920bf9123340bca4266c2d54dae2d40c2e22fcd4f7dacd60cf9459a380320d8229ac8a7cc5ff38f119c417e7f0b0495447c254c08f625e6eea1725af900d047af90572c41e5f34439731e42411a90977d5031d5794b0950715984f1ed4863d8996a3627f050f8dc5a2f2a5fb536888ebb7d0800c5a9013697a86880306978939108ecd2c77d51f17b1c88859c63b196691074ef0649cce457cc37727ba62787419d2292bf1e6418c21907a72dbbcd0bbc72158bade984e2c79705b9f6018854f3f08187ec93d132de6c3801b5edc5cfcc23144aae6416b56180301bdc7ecf9d1c0af8871f031f95e87dea51a3a18eed47e5744f3baf04e8927d1fdf9ef0bcf2abc6e1c8f1cc0c811ebc2004359a2f370e8bdac262cc164c209ee618bb9bed26816f86e143ceb286e75017155f920f9e0dbc99cedd075f738661cb8a20dccfe458664c8d6e5e323e662ca2334a5df14b40d2deb5442083c2c5693815e123855250ad0a9318aec7580c39d279c70d264ae4c8257ab518e1431997c106ea1b84db92d3c40a5cf0cc3ac405dcf6ababb5d0de352234007ba773bd08ee4cbc17ff7fcb0530182d86befeb46c27ae6ac5a0f987e9ed793852b409b248deaeed9fe0bdfbcabbf2f6cc9fd661fbcd9cb035f49f78db1ef11d5f3bb765fb89db943a7b6f86726a2101530100781a5fe327c056d38be19214917232a4249900dd74833f7e00267416bdf392be47dc548ba38aac87d70b00b0e12eb5da446c44d193f4116caf2da5425e9a66945e484f8a89480110ba600936bccc8dc945b605a02509746c40d4b369ac0bb49be2a31a30e8e7d8ed65f9b63fba6cd3c1db2c60295281ef63bd3baf2dd42804bc502f6cf6be8937ac3b62e672aff530dfc4c752fc1f07c702524fc008dd4fad0bba1bc51212da7e8abfab7d998a25ece7d3e063457a26c3054f0b94f67a50a5c5cce652dc40e70f9d6c6885c3ddd1a970c88b5615c1729ef8617e0900599998f5234c0e7cebc9a44cb519516cb3beaf836d7be9b4a8cd6de824332e2ea44c1a810d6c0786100c0d0da0282b5d31bd6386565c4f8c41cd21f97097a0a67441cf7cb47f2ec7d2775c962fa2e6e010d1f7908973b235d148448cb5cbf766112179ecddf08efc7c15b96297ead52683dfe11b6fd4a60fbdaefefc2b7bb9c2f8f5a7659e8f08506dc29576c789833e310a26462659275bc9493cd8a3624cce728fb6b3793a8cb83938cce44c705caa03b23c6f072bfee32612cf64cf24c5aa8ccc9fdee94befab551ed937fa96dc5ca45cc708168a1ea168be5c86858ad4084dd904b66deff1982df8200cdafee761361921094277daf554606f8452dcbb6b22f931b6578cef0060a0d28ad619a918c0bacf76a3b36b7b0363052a1560a21c4c67a8709363085d56033cfed54be829e05229d48dcd8f34be587b4d10b97d6349a8e29b131cb01309fbfc4ab6f43d26dff7e11f3899f4e28e52a50f17cb7ad78ce9f120167a6ccc49270db2b82516f7fe1c1ed278c9abdf256620803b1764a629165fac35f4be8a1b600a2802c311a6fe2b84cc2acbeb5f19fe87ca1ec3cf04a4a524cd28a8f2aa2759609e69d5d5b566ab36e2248eebdf77716fdf0bfcf45f70b0ed7c7d3b7b6719bbdc25f49090393ff582a4bbd46d34bdfb6b392ba6e10c3a6e63403f83e30b17aec964e97442fd4bd860f1b52562aa3bf35a3dec55ff682a77802b2212180f01b48477f75f14b8006946d5be1fd187d3c34174fd8ce394eb203e6174a443df3a76963fc91f9e7061470d564f6834842a5f6de0c88fb7b24e7a520dd0843350a427331c792a16ed1627a4b5147ad90b2c034fdb2e9d8bf4400616a8539ce316bf52da39b2b43d96e56a782bca4be653117f34d34a66ca289da88b1ea9807a0026c209170d005b80c7e1d4bf1897dac59aec1cb3c70e4b0cd8e9b763566285b8ac8e5ee033ed10a3c3bff3f0c772a4b10c7ec776415a9fc48386c344e76dcc7dd95e2484aaf75a44557ae5cfb155a2029339edd7fd85cd7b0db63481277f6e21fab4dd66ed95f9dd37788d8296d7fd3efadeacdb7dbf5e4d5997732c11e429258414744484986edc9e1bbd30ee8e1a1b8e038b6fa1dd8bb6f6301ec59bd6ab0ed1030633bbf14dc4e6f2945cafa49fda21d3a360b0c3453fc00c45f9e66f74e381a69781b3cd78f1d214512ad72c0f3a3c2c93b2c0d551dd5cb81bdba5e139dc829cf683268f00686c8e5df2d05ff3e1171c966b8e165f5dfe2757c8774cef3cbd8e1da4bf71af472c151eedb1be4bee739ffbd8f9f7335f5401e5ed10129ad7f8ed79cc44a9b79a0cbef2bed7922cd6db63a4b59d703e4666c563e0aaa1ebfca9874722aadae9b801fdbeec5eb8a9f1ad9743aeaeb02151af4a0fffe7c5549b44c3a33fa53ef62f1ba68d6735e4d117570c594515da0b6a3fef157eed911b88e8e90c046d7bfcf9ae8c7ecc992257eb80ef38461734620e9387f5f0cd0df2e18e7966aa0e542a838d26ac6e5f998239be6ef62cf9b7736b6c2703869791089ec759e0b4c775487470c923a9437aef006d0f1cce55ce4a6127bbfdfc6754285ce987ea38b8dbdd064dbeebed18320b3249c9b7e7c2fa18db9e06b35fcdf7af44375500da1fd0dcfe86e3aa3f6864dc3d7fee005a4d2ffb0b13c30ebac360ff7e68643ca4dd43dff28fb820dd1fc1f696d9fe09bcf7d9bfa8cee81a85616dfd9a77c29a23c282b25e4bd94ac71a3ea1a98d18678cdbff06801cbcbf39f7abd7399ef339fc5d2c2aec185570e08b00928a91a477aa1cbea26b9e38b59af4f70c8d2fcd19b31412bb3e27aabd7731c145400b2efcdc20c794562236e4424aeb72d816219f34a9d39735ca830adedd7b7475ec16c758f55d8763f9ad6e70a887d8b889fe5169f75b52c3a108236009746ade9c64cbe4d5010799306ee1faa60488dfc26a9724dc4bfc7f7ef05c94dac4577c6b07e6448489dbbb84351cb7d1f98c0f7ca52e4257711302aed60e31e95ca9283a5a740708894179bbcbd98ac02b6cab7292ef1f38426f144632a8aca24b2eda0f110bfa213708d510a6a3fe13cc937a457acacbace70ff539a76bc145a7207fd0456f489e18381ee83c734a710c706f1cbcf9e532c527c25ba93d6f39f8f42067f1cee229ed7bb4c4239b3be372d2e6c520ffdd318b394e2cb7ab3371e813aac16d600ed5b7a2370a074971a91589203f726b3bd14bca6543334c01af2ebdda0204d54fd48dcea2dcc8a89e5e4931a062e34511fd8c6d7b41e91a565b36ba318d164f27575d8e3795680f666ecc64835b269d85854379eba9165719fff9aef6758f49a995795e99df0a0884061bbb271a809c5c8d7f09db954d02aa838b17d8e3bdca1eef95a36eab83ab074eff5587c8353c80dfe7ae09dce47f4d57bea15aeb649470ac167aff7cfdbee76257bd3be092f47d2295e0133b95337f5d248b023dfc133e20c4f9c4ea2e3f3ce66030aec0bfdeecb29db9fdda89d007c543ec0c14daaee289a90b74520048ac0bb804363b82c821a22563a2a59ee6bc4beef705f45a0120992d4b9b6181fa223b7867b38979a6bc57c998cfe44cb92fbb13a9a579efa9a35e56751861f74d657ffaa1331a13922f4fd8a6a418eb3e1c2e09174c178445acca383e26fea5d8746e0a9a88f2a6c72e4068947ad8a35a5c2647be19101f97d3511edd12b21401bcdff9c6bde2f6500457a2e9a13b61350f985962134c76a4ff192d70f1e7531f967a356d5dd5b4775d1a57db1f395d20ec6e62013052b9a1ec93ff2a3afba8e1063ed4c3f6df8841dfca0a35fd652ac93546fb02989090a1027c8b853880a994af7e88b8b5c51c09d95bf0eef5f47c14498ab527b177f93fa56c54e90120659606cd4848c70f8b175b8ae2009fd001052da8e2b2ec50da36630be21fee60507a2e675b581388b444abba413bce5493232c7c451c5e4212cec2a363341440f17216ca566aaa407235fa19ebaaf399fc83f05ae1e13bbbc3aaf01fe42543aa72c7c9344e4e7c38c164ce22fe29d01b947e9b1a49437587bae30df628b2ea188f21d0982f5096be69c1b50da07a92f5a5d3223ee50b932d91f55c907334d1e31adf08d1088bac309a6f72b8f668649d255bb2e2ee58e86add16903087a86c7e157b6025eb48163cfdf75386da0c9aa55dba785c84bb6956b66148f3d5f6fe39b72fd926f28438d90b8db2889adb9358405e52a7201e39ec28f38a0485f2969fc10c0a3c0e7c255beeae7c448573d640274057f1d33e8b8f40cd9f6c9d95847422109b2650a8a431d14dd248f6f9785b67c991d422de5ab65945dd2469fb8342661b7e92a11aaca8f1513e9c2b811d4f0ea8490a476f7bc618548d22a43e57bad1de9bcc3152069ca5ebec23bda6f61c29109623be55f6597da7fe672b4cdda106f38624bcd72fd76730e9d00ffe978469c74faeba82bbaea6e2dba067ddba3f8526a8b74d034a159a3bebe1da551529be25d6c312909c339ed515d7909453eadb2149d5b208fc202f7f493a60777dd6a712552627e3074137b9ac47dd96e9bac288883fee39d5b578b152794d571fde4bea913ed6f9315b6e2db4ddcd9af32c12f30f984b306697c1b78c58ab8cb2ec29be82fb6a4ac360ea06bfc5e6409adfe3dffc9f7e9a78ef3bf2812a37c42c980994d6e4f914095276d53b08b188769e1eebc60828e9753b5885fb2e6a96bbd4da0f54e263aae896259297500b958e8fa87cd9f459fa184b2caba17739f3ff6250c71c93c65b5ed61002bb85edd689c2cf7578ce83fc691099f2ebd95228ced0d116c493a211553e24f00bc9dddd305b9a997d8d0826d8fcaa8f47d66fb67dd96f9e139520eade9bf865ef362954d9fe1863fc51bfc126b12674365a2394dbab482544a5beaba2fd2425bac4329acc5d87195f81769f06352a4261bb7f681c26bd42a6b9f5f8ebc95dc4581a23c995ba7253cd093b6f05874fae52c84f51a4db11dc41ef9a63c640f4fa5d745ff809a206b1cb5693cc1d23552c0eaec861023c938a77d5d2f52fc572986b4d234bbfc4c22841fb65f3ed46267fd72e72bf5e86a708e6f03f6bb409b160723260c65306520c4480a64e3aa34b91458ba83b76338ea9f75df15b266092a6e1084443d66aa1657c05104bae5a74cd8dac49efb54e16328b75d93d042fb6c7ad183b074f19c584724d27132825dc0fea5ec48150c9eb4e6a6c20e7f304d352ff102dc2b7a217aa82cbdfdbaf520a9efd74949377a644d3c30fefd8c6e8dec2e2fefef333ee9fe5dd9dcdb4bc086b53e4d50682b9642a8305d42e2f24e6bad661f059187d00a6ece4f38fdd4d171554e1c0eabe14968ca6e08e48d01f51f251acaacc2c835b0de7d6c42b9a6328004d60d99e609968ffde4b6f05fa64b7581c2a66c85a2293d0dd5bcc405eca62a650068373864a8882fa97d531527b565264e1604b9b1c21f529fd6b1f9a3a0c2775ab490296c4bd4d1855231387d80e0419b31a287ebd607828a52495e5a52d155d9904014d1c179272d505b29ef2162cde1e2c94a214cb2ab9bb2c7fdc2c6547c6cb554bd4b1f0acf1bd1102e500c7c467490a00d3a29f16b8a193d444904001065b05b3abc01e1b3593708477c2732324a433412039d966a46f94a8aec28dd6191f9cdec7f85ddb898235d0aa18d7f52b93e98b4d694b5cb0db55d90cddaebee3050a418d1f2093e5023bc805139b7a7679194e6024decf41e99b00c577af71cd72b996f2ef9028ca539f720a80cb225ca4c4b60d0f5639b2dfd8e4330b98afb6f41a83bcc319598da80a6a957718888cbd3d5f647384fc720ef3dada061254213262224816fdb75e8362f6d3edf36080c4512ecbb58de472c3a7b4069c6385189e7b88674067ee5669933f655cf88f2663fff83b0be8787750dd6cb9eedf34e62cf93ee2e8920c0fa0fc95dbd8ffe5af5e6e22cf87fb56877e46c7cd4604bb37f23d3c3bfc498ff5bc0b7aff15403a602884aeae9cf689e474eaefcae98601fd363fdeb44cea2b42f70dc534a8d4eaa023e1cf5c59d1f14d952770a165f6298e907c9017d15c4f572678b29ab425b53448af1a4d68f5e50bef1f62a07d27c078f7b0a85962b2227684292483398626d714f2f76a3e3eb23f872ddef08e3cc14169de38c23672000b74f504818a992de15382e06b20163f0368da0ebcca129adb5d4555fdd40530fd9ae2648452b77a6f3b01fa677636dd1f51caefbb67df6793ed35911fbf46f4217bce8353ad41720439ea534b40abac31542f2e974b098ab8e2c2ac9f09fb58cd1a34c6d2f5f7446452d9b59f2e7c11f4762be3f61a15eb79018dbd0b6ebfb50965297145e3294cd0f005170c0ec5069ba4e6e02c512315934f8e8988ad63fa359a16b8c0bd247f463201c2c4a467091b0810a083c00fd3dbb2f008e835e16d1eb682b8de8b06b7cb05e10b5e360d95590e9e4a721b99ca7920a7280793d88882da08884d2add16c000a4c2524653aa0ab52f67d291dc6d852253488147a4076d8a2b5fc8538f1ba364b3f9db6d8a1794d6e1e3cb1ddbbe890fb1876df494d22c42661c5fc590f169070e30a8c57a521cb08d8037cb8c435194c61e0482acbe6214407265762226f76aa5cdaa554076c7bda41f31aa85b0af75d20468cc0eac99aafefda5ceb9bab16a33f0157cfb266704faf407c87fe9f5f724857bfa0cf00c47a72d983ea770c32ec1eb51d7bcbfc6b7d3ff714e3e5c51a9d07c706f930cdcca3ffd169e67e7f37466127f324df7424742e1257da8b4f160d74f37e121bddc25c85212088f650681d0def82c7e049ea491e8acbee7235b571b0d9ea1059dec56d0fb0d9a0687661c9cfc14af1368f857dbf762bf4fd8693e22f912def8f6ef94d5511be11fc8640f0e1e3be50eaf6b6fb15499940d48af9027800a09b4f86b091552b0cadc7529f910521fd0eb20f510bcd3991b7ceb8bbf42e1b9c19fdfe2b677cbce326b9ca6825de50b3f32471ec9dcb6bbbd22828fcef83214d7a78b5a949a539d0709c94ef2fbaee536cc8eeb6253fd0cc4c7e378304e5d84e7bb1cebe1bbc35009feaceac2dbb68646c59989c4eb75070c2bea80bc2b5936a056f4c2879e1088a46fb696cff1623bf58a5120bc45ba88e298884de5d74bcf8bbb8720be8befa7a0c57c1fbedd88d290ff86e30c6fee6c8ee2761e3aedb28211da07bdca85f03f963459e84654126d776e94da6d0409fba7a5b203fb31e55b7dcb6a414c3714442366ce675285c1c5a94c74ad934e0efd32543cf884636022613e5a13e3c07bd70bba6b37425ddf458329ed8286455cdf96f06e41ae78b018d9d71566e358c57c443decc9f3f4963eb67fb86039c1bfda34bdf6d34c6d9c080c748773170d4ea757633452fee5fa12acca3d55b03d30f98af5b20ac4ef0432f13e0b58391af8a53284098c528fa9394321b055a9c53ce12f4a13a8f1718c57ec6c18ba9ef6ea9d8e572d308734bd94c34178f769c857343aa1fbb382eebd4965d4a3e577d0287147bf4197899472c52ca21f79e6ffb7a6dd15cdb193e66bc8581c758cfb08eee8d358a39e0ce619b90de6191deb4ccec6c3ba38340de4607adae5924338782753ea1b2b9c43402eecb1df0dfcf2b836e96594f9b577d7df9235f6dc64e7d686427060f036df7cc1d169f2821a8e97b1f026a9a1ee558743229018dab015530ebe816a59fa80f7b427f7daab27b9b7db863b2be3f9626e5f56f1b8d0c67ca75e1fcea6726b5a66ea1923e3ccd99df36fe1bb8e31bdf4018c33a83f78bfac1454b5db279bfdcc1fdbc31a61dd0857c070d1f6e5c67214c55f92f724d507a97c0ceee6f1d55645f3ac66b0bea66e318af3557968912fefc9927fb787a55e3f4b245546a66fa76a6afb583cbbd405f6f363c3e1acaa366d6742353d784a231144b8d416eca36b0b22cdacb0f26f68a79ff7c3a481c65f1b5668d7c836fa0a62050e8fce7a2b86e4cd6dba017b7dc9de456ddbadff5f9a179e0eb729cd8822cbec48d9aa8022f86306baa4157fa224692d7000e95568cadec7736420d391fe0479fa44fec5329729b9ef368cff43a58dcc1bb569097ab8ce37b222f07cf83148a4d4ba6fb2cc73c846dcb47b8247db588f94034aa2b8ad318c13e6493d1fc7c331efb0e3dd74444f8d9e92cb4e5f3756d2731a3ecde90f85ce4292739608f7e18d6a348a3c7d5bb259f34306b4336abe70f3aff6934499440aba71596977d1478894b594e200d9712c75f723aee05dd710351be6c9585a82ca51b64f80b2a28904f2bbacdef4221e0b8006c40464b8c8a291fc1dfbb04c41b58d699d6ae2ee00e1114448862b35e7c079d09d1de2042fb94c7f6665f988a68a95135e678e22110863c7354a1f84f54bf6c69ddd7f207fac151f55036a20bb580456d62fc66ff8bc664b01bf94a8f7293b797852ea3baf2ca2f1a20b78badfe43424f43adc0a775d4f08ab3c76007f621d189ca5453d31d21484e874c93a4ceae540e34e9194dac763a38abb739890eb1fbbc742f5f0d3aac352b98a9f26e28e9525d835ec52fbf1e38f1e58fa55235a364076306089cfa2f093f2458cc5531256543aa4b2180b604d358ccbf30b5a66ec4a3ed09afa4b2c5b2791f22069650d688da5ea10f1a27941cb89ca2b7f7ca12388d0379dae825bf4d4b18732447f0f54ec68bb658a4fbf28e04693aa10637dcdacde404a0cd1b4b4ca25889136fef8f14033006db6d4581c2de7d56b96c3f8fb25b6e0ef5754cd102726bf7407a17812530628b33f7d9bbd108b05ffb0004b29331ad828376f0fdf46d8ede278a3328c445aedccf5e134c9c0c21e7d3f7599cbbbd9810f0c59a1d96176fc48e51103a3faa822ea2a221465f3f0317fdc0f6cb239f88b26ce7c4fd74451bfe65ca45a07cfbd0778fb0145916b31d059a1e01e7c34734cf8b1015ccd3d78c14d1d7d04245beea042d8b6d7a42a757d00ea481a18f4741a9d58c26d6f862ed2091dd80f70d787de3fe10947d8ae3efe834f20d1a00de683354fdb9c69d55550e19e067adfa76cc9712f9f3bce6ff5d9d58a8ffa4fdf861db5ab50a81d48d8bb48274563fae5d9b06adfd473d8bf264e9117da91df3f69ae186689f19f0022354745cb6dc7c756ac357c98b4db34b8733f6269b881736e5565ae0c983d0b8434f20398e1d018bad6abe60477540da17f277a7f9c6e5b963ab27a2d7e2fbadb609cde11e485454c3e919ce04a71577e721cb18ee44fc92eeb69acb34734d4bbee6efa5eea5dd430cbeed0ce7e22063300b143f837e1e7d02a5866e3de18c41958099e459e1d08c17f5f38fc530eabd45134a4ec4eb2be5db2bd3741551eb109d4c30df8a6cb512fba86b59b5c7aa6661bd1992fc91af4f87d1216d72ec21f8197aa6f252d5c8c32396c3ce17595837e36f0324e7b6e51c18c30b32ceec50b8ff9881bdd5995039bd801667c6ec8f73337358e0d1cde23394b5c1fa7b657d6e879225f18c03bdb80cfb504a235fc426893d2cdb911c2e97686e19a2af9cb30ef02cd2247abda27122324a40fbfe0aa47d8d9d2d1737900b431e8517520c9ccf5d237c9c115752bd70ff1d1ece19adcff9b7568ea4c9b8ea4183c83453479138cbe8efbe28938ffc58019f3f1d326bc5cbe957d47812d3083a5aa3ed7ebb3867b06b9a2d7579669e34bd6c6b581e07762873b1da72bc6e40c5d2632b864f6f8852fba84e4942d4e5015f48de61e437ec0a3f18ca7eb0c0bb7dac87b83aeebe4c966324214d74c449773ba30890b23ea5b34e0205ca43107bfa0422f3768129f7886b16b5f0a54bedaa71a274f867e90b2cf77103543704a6a4863ea1eec692a832a93bff6866131466b6f9499664d5af674c3360659ec065301a5cbbb23683a34a9525fb8e1e899d3eb5cfdff7027e8472af74deca5f992c711d80a5b95e6a68003541938a03ca09c48b071367646621867160b1efc81017f7e926a4be2d290c32d9e60af047020fbc52a11203e471f55effe251193d6a2dc336e46e771b301f479a901588d81ca64a176bf03db50e3b3ef711b1814a5fa28d45758da5550e707e9f1433d632f1bce9e90055ea4b0a3fc90999cdce4d7dc517e47c8280146aa268006b0522b73be21ddd4b1d702ee882115d843bf73fe3432868e8ffe11be02f7d2b2771b36147ea644d0b5da75e3601502898408d97e3dfb75fc35e6f6d403d0434e97c122d25b86971d7607fe5d99d8b9fcda1ef582fe5be0b9461b8967274880e6a6bfa37f87dc57e5f920ec0dd463b8e38dfa0b367f4508463515d563366806076ec8a771736bb9473088ede4a0f231448909f7cb040f0cb561d99a7f32f12dece6eb6d8e7baf4b81c0cd9a154b42ef367354c028130f3f1e681f3688a7d36d604ddda143881cfd79263a8c1ac95bb46988206f8f359dd183f6eb9dfb49408fc99777c8efbd64b1ce5b57a8a90ebfab7fd4d706f4bd34f7d6eae1ef65f9b2aebe73ee7838d3ef698144f726876727c1bc5ac017f212e33e9e88b004c26819e82e35e0cd65309577ac2a70e85cb6c8ba02fdbb622d07c89bd6198826e2645ece7d28fb904d0f2baa204624fd1c376150f930dfe0e9d8e664bbd09669dea5208edb9f08b5400777d4a014dc9131f0fa4fee0c0b12d1e60696efaddec66c1c67a29525a41e447669e36e16d9e3bf75f24749f3a182376e56cccdbacbbb5555658b9cd9dde12fcceaa803f732d93be284e5a3709e49718af651e6cf81cec583f0fca350de33252be00d6b393ef1e1aa3c908c4263d19bae18a196e4247f38b5edfcceb64903a751fbabb8493f7fcbf5f90aee841dca8caacb2339ae83d3592b4c0cdde13f90bfa337a594f57f351b868e36d54c8e9afc88b71cebfcad04491dd2366b10dbe77a4741dd75db6546a2826579e535b126251bec4fe3ceacbbeb86c13fadf1e7f8d2436c154f1593f9f0a92b6893ee27cfeb2abec55b4883492da7ff7bcaf31e1cc260222d9dab3ab50510647cefe960e946973bc67396fddefdb6aca5efc73b83b59984d2569e561cab35fdb989fded38b7ec38670d6fcc05a184a48ac0e1d662381cb5081239269cadc38dc432e7dbb26b4d9e5f805ae6ad8f6014aa1476c4980fe526975103d6b15efb0c4e9b4d56d27851985075b1ecb212b688db5d693cd73a3246cdd6481b5764ca5131586fe15f8e4d118445dcacb5d992aa149988f462d08e910e1688bd655a3a6fe7c80ed6a174d44925f8a6a2c17409a1eee8160d7b305134daa2af98c40d6ab54c1f660b6fe832cea1ac26ccbe0a013442a640e04c1984d6c91cc614fae916133f7bc4d7ee872edb70dda28c4580ad08ce0f9be5e42a0d3a8b4270be35a8f2c8509708a36a9a825376d9e7fd89db44b761ef6e35ed676a3e5143f0cc3534cdff77b11ff6a4550ce72188782cb4704b653e28bf99312329454f5facf2cd53aa7b4ac3fdf183a4c20d0d7be79b4ce7bc200af83ee86eae0cd43043b640f2853878e37defd1b0a991923b4b563fcd54e577a23ff1699f3a5871e31750412e0a76b11d591c56b1ea042c6c3ce5230b9d9ab6fb0359ad4dacbdc4826afbb3c889882e587f1c527b7bb54766a1b8481afd7fd1c4178abcb1cc865e0b5a577cd4aaac9c582aa471380e0e7375354cdd5dbc7d6395cb6e48c533e3d9a1d1e20b474b869352c5d7baa68d588d646517dd69b5a0ee65d5259ebe6edce851b31590c88da9a4d7221359ae4b89a8f11ff2d313f3756bce04fc378509937eb69559b10a628e0cc6a43e4b20725de15de07a1ae3e7a2ce7fe544d8d60092b11b7671eb9b2f795f71a68d4ecc3a3519702c3aaefe068b0ac1ae9df74d1e0a08a81b82f11a24c3814239f4a089e8810efbd133159326c97bda5771e12835b9007f127c475ae35f895a15463cccaa37af1ed43b70aa9db4b88d98a704152b2ec4e61604a67dabb1b4160133fdb0a82b8a9a599b1b402d8ffbd38197135d3292e469cfc038e93e5d80f5e83e0727e227df5e91855428f101f45c7052a12096a3422c3237fc019418366d768292d5b457c8192a056ed7ab755952d5fe7a423ab1f703bf3d049df4e0f317fb629a3207749ddf3358b74e948e57ff60b839a96c1027cb871ce72808e2592dd132c22b4ec7af153b1384a589bec8038cc7401e9c623674a1f4d4c6665d4a5c034c4b796700d340a294d3d7d08a0850e7f35380ea09e4f69905571edb6f077a0764a3e15fd6888fec3e898c446601be6133f1bc8bef6a1f3ea4f6955ed3fd4576b6d87517e61eb67c8baeb0e6eec9df8255f9cacc519ec0b4c81656faf6f27f496b807cd134329a7c4be80da405f548ce2bdb3fe6c954b8dacd64113902e5a188e8cdb72343dbb326661554d2e295cadb213658938e4ee425aba2766fc1807b3284171fcda84d648832dfd94568d7eb7a21435f62cf7af0e8358d18e0af63ea1469586c94d5b566834f7cf936dad8b335e1d560c42973165ff2287ea8ee0e2a2c0a2998274c64eb8fd49b4390d7e7bfae0d5f3a6236b827c414cabaea1d0a23f4bf5bcfbb107b5fd3032f190480ba60b40f7cc25443c586fd89d7dca3d19020c39d256f7d2aad2287fb1ca604ecc5013df523c2b43b96283f11662eef08ce4662feab1860ebf6770d980297aaa7d0b883b6908c0d8d9d2aa7b413c4dfc66c04c58b06f04876eecb4d983d33b5a9cf10a657fd8c3d7ba2a4277002424f0a5ca8a0cac331a1ce1aa7a53c25d0bf5f08bebf77159320d73841638dfe1a39ead2cde6f8dd20bb1f6c321dc1390eb0c86afca092e81857abf5bfd3544d58a4180b09d8fdbbabe66fe63db76207d06b35543702f29fe2eb5ca358e6f4e295de76a89e93e88f9259ede7dcdd1a9f8e942e2c0c9642f2c09d8249384a8139c5837d5aac23d9b0ebf3f76acbdd4d6f24177aa8d1a9fb63db8a18da2d51f417c4f87a577c663f0b1a37097dac625e77e65c766a63a595569f9ef9781fd4b2d1fb07a69dcc4b82ccb0131db6729cc73b88559c586745626a24553a2a57856c5017b1b6e3cdc6bd03109f6a2d9b6c53b9cc5372d430b80a358624ffe552cf508211d11d7426a4c7c5be4dc70310dd2399298413aa120d8d11a80746ae0f13286a99bd1cf5420473ab9a79ef700ced882449381e20372292a15601fbc55f291deb3a8c49cf383054e50d51b0aa39b696e21eb6c54c1d1a0bab671f14436e8418c2d216221faf2774e5d616ecc40675c468d335afd3497f8d32d7f4bb93636921f795a345c50fde0a3d95f7e213364e6f74856c9f4021a883be0f5a2c74764fa1d88d08103b8cf3cfb8c37b6af34b15c1b97f060b4e69e6edcaaf58ea115a949b3e996219c73abd78c82bb740c0b522a82332500709b50bc30e022cdfe25fa5b6f13ead98a0f9ac71b573a4f595c58614a544996cf7326fe520e7d7ddc4f35e5a212addfe7d25dc975e9be8a8d254c7df6057bd0290faf333dafe897b239b844843670a56cf40157fd694538e3bfc5fc823908864bd9d148cea90e8ebd68d727f25a42f3004f773332d4806745b206e3dd107ec50cd52f91b110f97493879b68b31efc8b97d555df7537fa12950e33e3cacf69c4904af0d37913543e31d6223ddc1b8f9eb9068a47adc087f9647225b20b20f4d8ce55c99f2ae1a6f9db0020df6c2aca92773caf70f6c632d8c94c367570937bf0889330dd36df51a6b057ddb12b765f84ee2cad9dd160d99dcaac25f4e7952a6f0f90c869c4f421793526c29fb7f5e63e6ab8a268516fe339f0a35876c7ed3a50705042ea2e310d05df763e8c15153d8cc2f2b1fe5538ff34d689ba6a238815baf3587f349314334d753795e678a41581e06f6b0da49d71c37f13da96a4d8cf65d80f2d328fa93ea1114615ecb3037fce4034e5a5e6747761c6bc2fae076148226f3f983ceb07825b2a7f06b89ce1517bc1771200680db317e0ccd6719985b2a186a2edebed276039ba4675f9afcaa8ce1c794aa9a8631dae80bb3fbcaa367232e96978588fd4bb0e8a7e9ef6cf1819bd233e4935bec429c49fef26751440f7faa8ab48925ace206d650628e0d0f456af3041afe6e587e0288b745c4084b59e2998b6232fd2913e7c65917e8ab86f59be17a85ef1f807e5a77cd6ca936eafb7b5b1cd51b9ef2fbcf8ffb7fb534925ca9d62b470dc6b422fa82d242da32e82e49da69c6a137fe146818872de5fabd62090a3d14cca37da7d1fd6f51b8e10bafd7d36835881795211e19d6d229ac9276fd3f7de087370178d1074dfb95497d63b635456f73b7cfce63fc3ed353fc6e01b5739a0cae35721ce25f4ee1be7421ec81b3d6d6162f13d8ab3ba31d50c99f12f18b99a57501aa4a41b681a69070c97f79e5068105a2712e219a563a627e5ccbf8fc54bc9ec658c86585fb2fc2b0d095cf5a77f06dd0f73ed61a04bad409de3c875141c11a4c48d92aa36bab181be6b0fcfc5eb3eb2c7b302ab1f03792b41b9c4c4efee825e6da4c1c17d469e024180f3ecf0c008f908c8d5b3eea62168f0b4069d9b06d8f32a726d136e4b72de74c3c8c944c174f1acacfb991ff64f1c34a9f7ed9af3b7d0455fde01f22979bbbab12d56e753f25dfc41e41fde1f4ea3fe96b5cb76f893a4849c46a977c983218fbfc1bdae560a755dba4848f88fdd0b9a2a5eb1dd244af26e716697b06ae2de5675a459acf33560cde4148f047860fc7032154ec0af01a3987e195404077c3be6e9f0e89c82b5398ee63b59ad0d13999e34ef8c12b755974302bfd62328d6630928dec77ff0362737dc10704a71a2838f74888915df825927a547b1b0d213ff6bd35b69c3a6f9dbcc656644de77d53ceafec3df55e36388d78de57008b3c5455853f367b61448bf3e991618fb8d34c34482444e3db31ec7e6851b43db88fb05f9c729893960d2736e6ece9f64ccd5d370bc6622777e094dbc7edcaa8e6e1f7616227074d856ba40aa764132be9b91b77b837187e40effbe57d58a5e7c197b4944260e1b6c71f0faf3ccf9a536fcfc09b883d1ed54025882e9dceb6e99d622adcc0e90357cb7e97748d4193602a9b4a7b585a7986fd679670c33810cd0580e1ea846710905046e9a26eb8f369e3c203dc1f62ad62d39d0877a13614902d11269950233d94ecc8abb3f5568c098733786cadfa4cc4db226ae7b887b3a922d4ba1af049f9fc771cf911adaa4df1bc3f71b89eedca9fa542fa4a1e03702f412266382e1dc6015646ce1b5e4e9e34405be3c66cf5880b69b0feb748d9dbfeed833a54cae1ab0dffd60eadd10f15f2a16566b9aa2ee301ca5d87ab2409bb58279bfd52133fbbf0261cb656df0d41cbb355f37ed650cf8c82c70b101469ebe89aa8cb8514f1e06611586a95f905312330a62f922f3f312baf86ea479fdc0f6780a51bceddc4d5ef6dfec0bcbfcab93d57525219c61b688312cc7966939522adcb1d0d851f9d021456e56336e318ba2431f75f79d02a91d28635bdf7ccfdca4975e6f45cf02a0b4964d823f2f295876965df25e9dbbbaea43f9ace80a4174121b60a908de2d644fd9277d0067112d9bdfe4cf6f433778972478629b9374877fdbdfa4ce8cedd5ebb44fad00e66aa85208e0bff3802538a16afdfd0b63f643dad1734fee58e0e0221f5bd0b0ba35cd5c26474ab46e6f93d1e536f37f59d7124eb0dac0fdc06cb2f6051fb6284c8177f4ee13987841b3eca701a7a0c7eb756bd7f99d85738204860b5ee444952ae8cef68c201187b801f97c02d8d3011fa1435dfcd517bf81eff2b98abd900527cbd7af483e22855c5576da555dd745a1f9fc37cc0ef976609ae2f61775004b02b05f45f0910c4104f54d9a357362fb0ba29b69b887b8d90417eccdb37f3a3540a89062fa77dd5d315146ba9a7148971749fd63d4320266b16948764ef2e3de63a56b56d44e43efb0d3811ebebe27f1feabcca731c43f20422835a62d3965cef8a06dd88acb3b0202e6b3dd4caef693ec80319965de5b2c7ae60038fcef937756f08ae3ff1c6e19075f68a4bbd8ac808ac5c68074b41c71c1c7c1e5b63c31e15dadad142fbe48385ff6f90c69031729af91cab8286a5e7903cc84a06630bdac5d8441f6f8e02b73e7b94ef90e190985a371dd0c1dee5abe77c9e6205a61377e41168d8e3f4fda0a0e2653a134baff2798ede6f5823daf8508b93b3188777ba02bf7398b51fce819e6c9c13bdb34210f9304574a9a604fe0e2c48edf906fa5f377f5dff0f7ce90a3436dc7ab763914f9c38d2c776f47e72bba1b6c53af4e979e3919ac4a2316d7b00a8bd255cdf5f79a4a7a0b1a8080dc85c76a9b5264d453ca1579a232617934c342a7669ef3f3e36de62a56ac6c9e5cdf882872fc09d21e1a9db733f37ce46a987b34e53e44b8b0e1708575bd84bb134a65354007e6e81ea4b4e3e16e40ccd8391e6faa0fd1aab72d950edb00aae8d66ffb93d1f5926277037f047bce8ffe8d0eb6cc1e7d58f67b33d55468fe511825df5ede462c5dab1a586095e5839fbf6e859e65bdda59d6ee88699b3ed0872d1243bb0db3a2609cf67ea395cfc2d862641d2f5a48b1e2faf9a77f11c5034c0ed571dfe8b96525420549eff10df5c16f2df7594b923937ec87f34da8f673d957cb3324c936043452c77eec0a8b59289ae6bc9f663478e25c15bae72c9a90ac887db7d422610f19db3eb21b41324bc88c4051389daf433677ef1768f3a4c3491f525d6250ed020bf9ad5d066a612a41c34fdc09911b4f7ae85038534d49183cc9b937ac29c1bd125820ad7858608ba239cf66267ecc79838e551f61b230817d8427e7f951c1eca6fc42758cb3a0c03723634b40eb1586c6726e2bbe299c0637d20394db9e7cbff73187da34c183a1d578a96755509217a9c057708f059cc32e02ce733e2b49fbf12e1c2b9fbd71a2d3cf44c06922ebc85dca2cad485a31716b01c4a10158e0db7ce0d5ca06a62084795b4cf2f5a16d8e3bac50efef9b96c4f666dd5eb15cb484d23f75934f01bb3e5794f8d483ac07a2d549bc05f730a8fa0edc181c325628823f05e0a2fb15f578af24d8b7d86fa02a1178de0be198b65ec5e414ce241c677712ba063401929b857d6f2d374fffce44e27b0dce93374845ad3d58a3ac3f761aff93e76036b7028337ccca17e3ce7b816a8e9e434554a945ac03a8306660234ad1f09e9a4e70402e7ec1bd86c16caddb70f67f48b57175033e9324503a269a66f1bc799b33593ddb041e2439923a7c7c6a8f02e182147fb5660ecda0db1ae30d1e32872540e369b8d17b9e9d07e231d87334707910b5c7a8f19a79bf03a5164dd2df5003aeff239ae5fad4af9af268810bcd9566d50c67f6709b6da98a10a999a024c20ac291419f5e3cb13435ff2a7a31ad1f85f46e9de1033d7c160bb3cf0a52f4148183302a2ad2e3b46ff60df27b1bc6ab0b6bab0968d10b6a0908f0b650831d261ba4ad7bf6effc6af4cb1be8bea62d5a59ada49ae7fca39ef491316c60bdee7e4ae0f88c61e6004282bc5bcef99c39ec198417ab2cf22a416f5567bb0ded930f410be7bc9d4c7cc347bc488e60c71513a7d62c38291ce49acc0c75c1831e137070dc901e5e80df6f73e76d0532705b4c7c47dcd52928635ee8e20d7d0d5ee17885caea1a023138bec3b125f1ad0f7844823b95f2375821f68a1aa10c84a4f91af9f58135b8b8241bc3f68eaad223f0eacdd42896debf0217e5f668df1807205d42c19b351838e55c033877b35cc8c4dfdc633eaaad6b51ead510c8db91807d68b7246b9d0dfdeb42fb64505a34d6f011828e3cf5bb8b328d77f4a3da8858ef381b58537af61303596363759816bd158acbee8d84da38423b772d2a09d6ed25c27a1b1ddff675d411ccb94c0737675581a0008f2d2e0db734a5de835b39aa5fce7aaeddfa50993115bfc2493b9a45784af3e38a7aca54bcc0bf06936f9aba53105ab7cc7144e49fb9cd01c5c34f2c649b928b637fc56928741f6ccb66ab31738f3d9d6f14bb3dcb6748548b8eb6b50ae31deb5118c3b863fa1c88eec43228bc55940c1fa7cf66f57ae41c2b26e5b876a924a5f6bd99f6a1bf0725859f15991fcc0b11e92525bd55f73a81cb406781427c5298dad03f652026833691ee6c8f21a0919f713d0c51d6258c58b8eb2d160b4146a2414b67e24ebf6d67508a6c298522e5cf8b8b5c722b878a16c2654c762b765e8c957551f7051ea3d6cdd5f230c87f8a29d2e5c50b94792f3229184dd3f45b3455233edb5f6868498f1bfa7d8d8a61a024df753833ae4b801b730de5ba3a92a3293d5d4d0c194bc3a617f77894db5c9198728bf1ffbdbfae1a55dd05d58ce0587482c5696eb90f75733872219cfcba2c88e4d817f6283b8f6d886f65c508ba32bb60dd8897a0d2e004ae490e3853df1e06d48470afd350572f644574c13d0b8dd9b903d341a50590a960f0f514263293d05e9d78fa9c580f67cc9a205d21dc227eb714d0f44056cc1f27fc71e2fef48032f261952363e7b653929cac775392732396b87deda561e356f2f6aa2b6f32861197cc5214e4e01bfe22fabed5a9cc9b3bbafc36e120ccb433b5113a83b6d340409955ca453270d09555b6e1fceb4ededac8f97cc7e822f1d6f11a541557f213a2a9a5c781639999d824b5f1ea8ba71155803289423b4bbef5fe379d0875aeb48d067fe1c8a75a62069afce16e4e3ad43bb1774ff621d3c2d24c11b87410af152d22a354a5b956eb20aac26415ea211c32f9a457f27f7dc87e0de3b616ddfd9b3444dcf7db75581d031cb500e5507b5bbd20204a4127023c2f27c267968d066ffdd37a2b56b86d14140bd0c890c9b86ee3d5a26347c4c400fc394efce9b1ab2927935d1220021d5c8a3512b88dbf2d9ec42b50eff16c7887cb5feff61b1260aaa321bb81255fcf72c4f11c1d1085397916d0eefe5b2ccee0f7a4f9b2bb503c67a2fe48076a5444cd69b7039d2c7767bac90ad5aca9c26d69fc09887fa40776efe4aa3e47d96941e1dd807c7d5c3c2f3300996d719fc60625cb46405a80815731b6fb2c69f3d0ca8725d18ef14adc1eca68e2a3a3e0dcab68845c01d6b5127e326a2a4e6f76b44c1b810d0d447b8a6dc1602cc6f4ae3265b97d3941f3e10128d633eb11020d77b4b77cfae91fbc04caa8c5fed023c5bf5ee55e5bb3b4ac7062bdc4c24e2b814fca3f3dcc3e875fab6d0f2e9b39680455ed79bc78cee51b12a3cbc65504a1452b9f4456a29c7bf536190ece2428e298be8b19a255872fa0e0021732258a3d969f705e195ecc5b9a3722e9b6a6531ac0b1efda54572fe765da4609f336f956f824938fb6170629d7c4bfd5c1d363f3483047561d915b1aa942586a1c7ebef987f0ecc60cf730796ee9df7910f00c84042ff80de0d99363227672c422163ae4f7955ac8b896d3ef72052c9bd1016eb15182f6b8ccecb04b52cc9a2803ba9290f4bf110910d0c83fc8862b9b34ca6b80f8fe0179b17275ceeeab1386647f88a92011585f59ccbfac40d60fb9a1f63593796d66f84ca4c6c880b6b3cd076d4db251733a19c931674b35d1c1741e742fa3d301877bc82306ec223589399adba6019acb8aac3d0a923aa985fe7c5d9b4e89db22143d36c683f2ea8152f304a3d5f584d75d9d542d9051d3ecf61b9b6198943cdf7eae68d2b60205e2ae8fb1490379aaf03ac632323134e49cc787dcc4acd21da299c6472cc0e55511bfd28ba7046cb429bb06c798a99f6dd390052487ea20504beeee2422f328c856b3d74290ca4a2f0abb0cca1cb768e5050191f743528909067934c58effbbdcc3731bc23e91d376b4638939fb89dc7b3ba7138af1f41307f4f82b5c0d4c2fb8f98acf1b0bbf649f0a4116af08bcb7d0df85e0b718a87f4c227fa2391d013e88343926ed9752477abe9d8de6bd7b4d67a4b1412ae2b2140b0af57a3f9899f9c74a67849da7b65a3c1c31be824ffe6c701925218273bf7a8e9f17e2340e584ff6de42ed30d8c29335c1cf02d882e9975856d3e2554167c0bc0bf20ba0b85234dba17eef646ca8ebc441adeca9daa34055ed2b62a77e581e1a4ac9695613fcff6e475076a96ff80162cb44847c86d4d2ebabe21ef6a5bfa8f1699d1ef4ef039f55ead484ccef9154b30607631692af828187bd7a19eda242f0032acc93bc793990e084d17e72c0f00df63124159ea1b91a578dba9b1eab544baefbfeb568d54302d3132d7ddf8671f27d191e04b06788410f99c21bc5d15f5724377df502f094cf34dd04ad67a62115c40501169377e730f5b12bfbc2330f7b61030e5e0ab3520e8f7f303a8034a0f70bde52e4fefd01a3740728081daeaf34cf49dd7efc9e3113a95c421e1b74c87d1e9b09433a948f193b3584a7c1aa2f9da668e60f492a054b21f5f6f3c63f131060434484fb367a1981a4266d36a7b036083e62857a57baa940a312938e0a6e82063b001f64104147290f8c10c57d27850892963f6be7d164934ff13eae59e2bd9742b89f7fc362e7cab0c17e0e28813a5f41f67fa4bb36b7af4f6066e67a3769514927f78e8893bdd77ccfe59aa394ce53eb5ddb77c30fb1274816345d89330fcd3b1108400dd8be9eee16ef5066628f5a9b2650665fdefc10039d8f4b3ffda79875f85ca072ab82b5dc5e1d127e03ef677410c60702aa6274e0da45258d497885100862652fe390b511916cbde4032ac8be330a814f70cb0d009dc26ed423b2fc95eb0f181d362c150fa7489df1cd4ca844252608466e25a6ccb4bbcc2aac6212449ead1ec15a176a6b1d6dd2560a25d00ac6820246013494746aaab029ca8e677c7be5c32467a3948423af14a72b1fdf45dca00bd22ef3135e645f34e3c19441074702e33eeaa77e936bbf3d81af18ba9f446dac0758551ae854a2de8d88dd5f1465895845ae8b4162818fc45e77dd54e930331b48e29040d28b19ba350ce91df27626cce72ab1936fa08704e393101c6562d198e6c6beca5930521d0414fe0b149ea47ad28af4b06e07487eb2e7ba5090e54285647afe6c916309cce52eaa15ed38cfa43ece4ed30c03770dce993e8f3b2ed5788da5d2e375324865df583a228a6ed2c36600c27b614163cce58b7b075502eee7fd9b4d2b1b4e90511b677ca4fb4796fccda7b20000544ebb137ddbf6f1d230457ebd36d6b3756040f1a59d6a49d6f893de0f48081cb2888c3b9b5019fb0c91278dde880f35d4f787b6de7382c174ac83e2041be5065de4f7583124470cb9b687e5cf2d4ccb7ef667d00d4de5011fee3a010f5c93c692b6cf562ba9e3eb3d81046cdf52250ea02bd39770dcca77b70d9bc58877f28991ca752a146aec21011d2e7ecb32d492093a825cd8e661e215495de51eb6aeb0b4d2f2b2b9923c2185f9152cdddfec55a6e78655dce2951046127f2697be3f88fde0c28240ec8f6156b550b4cbcb1178c73765e6ee588b47b3ca43eb258ff255b0a6037fa4dd866e5b5bf5a42e38a6af99d448c56a03cdcfb237bec869c7a32c0d8bad36433e618770d88ebcacfb71fbe72bc8fdadd284815580f42fca1637feaa8292f9ca8a88ee54a94f097fd861e7cd7094f48e7492083acfba21b8bbe72cb5166a6904316c8a33ebe2b87ed9da5700e8b1ddb33d10212129fdf55c6948d031776fe0b7095eb59d53e67b8830b61924b7ab7a6b1791e4df0c609b90beb93c30607c44494941bd86403ee71f66651dbf9c3f95d0705c4cde020c4cf543c2c33815599bf8c396592e4e95390c22beafb49886fc26b80b5823a9cbb51b48b0ec1efc51930fa53c857c544905a425350a162e46c936cc2f79ca37ac7de106f809efa9d38a4ce1bb10ef948a78768fe884401cc09527bb9d164f0db5446d0457dc0e18621829d9faf3b0e1ae6009d3f1be1a351272c8b17d5ed6ad4cfe56ac89002105b720af482a021fd9ac1a8104f4a56e079233b20e0ea72e2135274dbfb0bc1f2e9c7dd61a86b58183871fc96ccf3d6292ade46d4f0c9a2040b0ee469e0ebbce78638bbbaedec01632ba2d61eb2379332b83db5b55d136785ddd84f3778030b3d1fbb25de02a17630f60e8d1bae7639afae7a810472716afabbd41e134b1849b28f0353c8d218323f9064d0296f16d232e01a7d385c8bd0166553f466ee19c28938b0c4ab5aee70813b99363ae67830307e5f248ddef1212fa9a1048676e3c8a935d6d40e23d34a11551f3c1e3c5240981e9f4b084bb93bd1129bb557bf0b7a0457f3968694a8f68abcc6d8d2c9dc3b1cbf3360424373942f4340154f3cb66f402afb0f0c203f1e78bf1596c0f20eeb663b2a2d1d3a8ea11e2e921c4a6699968374a10fa1792a5f0534b0ff64152c6e8f341e0cd60dff58dfbc43205770f4f3db55aa619294d4ac47ca135d32558edcfb47ade80d53d42dc04fad606f0d6eb595cc5e4ee523d935e360ab7e044fe96afda220784843c1ce4d0f123e49b3ea95f4e0d320b2e0ca70edd385c6d9f2acbe8449901c9c27768ee0808c2dd59e66a2fdbcf930e85af952829646f9aa6f588b3ad22d03c93d379c29973bb7aeaf8d880ce0a1a7710d8a86c7690a95ca2ed4349eb8a6e4caedc23a7d29176396b3d0d9635d6333b1b523f1d4c958bd5a8a98035b66fc50fdb123848b3f6e845b19a8349196509cbf1e75da59769a442aeadc4c9e728f2bcc7e6d3eb2a2d7fff2c32409cf1b561e9e0cdd852fe52d7415fc111ebe382380ed70a7c66c599a97c0051f87ecb411f7e3aa41b8555b1b832c3b7dd4125ec8d858dfe3711d718f0737e632c4aa3d531cbbb4ff42f0e9fbda0a2fbd720afe6cc361a692241a33602e596a03b32fee5fcf26bc6d802dff5842c3a03c5b86047962a91c74f9083cfe4fe069e3a99cedd5c59d73056e1e855c45154075343cdf87f582a3db1dffd76ba0afc24e891120f7808100b772cec6a1480e6bc4676fc5fb5379b51f85e1d5f4e9ed26c08113a07b65aecdc2568ab8ed282fd72d898c88fcf2ebec373bee5c281e4670927d9f50de8d393801ad2cb637b85b9e19971750d19f450990013b1b1e4504c9060cd2e5a339cef1b7dabaa956b4a8627cde7f4d64a3a7a5ae2fa1aa97469ff3b2f899447c267945d9686652662a820d5f0f1553d48354a4aa037218dda3abdb7a96449c0259282fca092bd2a75caa6893fd16c26ae119c3b410c9c24dbd30b223749c5d0f533341f3154f8c5ce4b21d53868a1bd4d55b9847511e37d17db20298362206f1bd8ce079ded8c5d40d5cdb7bb8364d411f914532de6a30712d1330d1380f2035fe80c0b1bb17bd13de8ee984b930c15ebf5b1adf4cdabd5d372f4faffe33ad1a6e374d0d803b172c04b5620a64ab4a298e81de097cbfd3833ed1e3622461ca965947206fcf761e7ff80c74adff234dc047e997ba613d0bd0922433fdcd699df701544cfaca27993c1114a71a9f956677c92762eda3eb55ab5e3d3a9c75f8f3fc976fffa08d1b50dea36b0d63be3d3c9b5cb22e026739c34229115309a47e1264682f794931f8874ed45f4a794a1a8cec3cf7d2a8703bb2e9bed59c606866b3bc13cf8d1b86d428aa7e3960454a080ba4ea64d1caec6084ac1cd3130bd039334bce22d7be0347eacdf65674845b5f8bcd670fc577c45031e9c3d8b1ab8d385aca9cb5a0d483f4ad9349e355519e7d35bc1f220ae2575327e935bcff18327ae3fa3ea0b304dbea4510c5579d9e2e4d5f9d2cc93d66f44e6a6a2c4dd1ecd5d474bb8de15f527533b6df858ae01ea1cbc1c316008a0800d1ff063f6f0284c7807d5cdb1e4d8c9bf0fdb7211f8390b74af209dd39c4ac38a3b95059462973f1a06304930fb6975c296e72c7a6dc1407419f86bc34c4e3c5459879fb78cd0c4c49116b3e02d043ba18996ed279832aae8fc9615c47693a4cc3480bc10789069cf1d3a6f152c6885b78274c404fe3277295f68ffa5b0219422d117aefd2a19ed3190ddc664ea7ce6592291b0b72e9ed2fca138c2df41eba6d46d464df7fb68c61a7e7532adfcda8e193f6220acf204e32bc56a6d86a6090a2b9bda2d9d4aa7e2dd613ec3290302e6ea604949cf32e612e475ac74dffdcc6a020f785f8b844888e84e2b1fb99027fda398bb64e1477048058cfce39611e4b3fbf97f410316b85f512c8388517541ff3261ec6c6d6bf130d6c172a14ec016ae50cebf9758bc012843b374c00dd383a5515f5a279b5428fb7f670a5eda32d82db40d9ea113f191b40f794bca8749177a329147afc6cc25df49bb91afc2568b394fefacabeff5b3d10abfe4c48eecdbcf1cc417d2c3aa2f4c34889a1e9c035b27ce12df8cf57bd7d2fd575b0a52f1846c83c8d12949630a40e6aba6c4d4b216f5585c904e708bbce4a327f20c33401010b418d17fb511482cae1b73893fb5a01c608e0e79afa37cddf0c24a2f3fa093386d29548a3d6f3b95a17e2cc16c2a1a56ddfafdd938471cf672351f3044b6bf9bc5dad5a11b109c39a2f3e8c42b96c0999758c73f7d34faa6dcb23e21ef7d96848b4ab1f44815fec75ffa9def67b19e14c542a3ede4e723edc761eaabdea91ec320710d803ec9aeddde8c785bc65732f938d3fbd18f259b0c0b44ad8a9032975051bbb71b7643c074aaccfb961ead7e13cd030acaafec3c90917b80659b40c3493d80b87b2e1f5de9b8405f1d09effb36883456696b8f2b583c21ed6dc1c9b3e94d27b1605a73f84feb301aba217f7b1ed6aa8896070914e104287496e11733bad6c2d343034e6042b8fa5161f41f9f5affc078e07b9d5c982cb4bd698eb81b1403149a95948ffefd131f473359a79e2b9ac835637737b4b72a24f933089d54fbee2ec8ec033aeb1b67d2717d7c1d2504b807197e940967ef522522b25dfe6c290a6ee7a4d705eb96c6c24aa1f9bd4281ce80a82e98e70cc732033dc11f0b3ca77efa22adb13a9afbeb83b01d05364015cb9bd7aac3ec4a356dba32a3f159ac93a6a5774c01809d0cbe910f7f34b89529644154a78d8668b26a6eefdd41752ede40294d842004cf223d002906487822925c09565722be99107cd633055427db45a5a2c07a5dd25a6f7ff426a855d193f44f6f68d410d0eaf9e0cef69da4efe51a1ac1c34c3419838e745e30d4b26ae748b8acae7d097643beae22ab28fc5afa621f0c69bc2599f088f1e0440fb47ae5580f81c18a7841c3f89e71378225ab796584fd812fb87db8f8205029690e448b7aac6781b8ad20cd2f7ea412448cd5cacad08427d7f8ffc21eaec8634b5067a8f6e8036a2361c81ded250f70e168d9c8ac4ef6d7880e5cbf71022c9cf3d8552a001d99c7881fb779e8359b34cf5c711b329fe696bfa9f8c485262f787cb38589f960f9b710bba59d5e8487267fc392a76b55b95062f84d85c31917de5a468fbcde930474b980f9f10735a9e1ba6f9cff49d8b4235d90d93a594b08824e062e58ea19b122750c5e9d136a44e3931aa543231bcdf28aa901d21043386c487657c555187104be7f1e13147d6fac879378b44e7d1a028c40c8af2c1de18300302e9b268a59eecb60686f2e53395a66ff3a09600005a2ef0b259f61f03126d2dae26cf7c31fa240caeb1d6cffb014b2abc0fb78c89261726c234f65c320ed0a8d64ce70bc0ef86bcb74d12545bb1934c15293f44aaf10b1606ddb0c6e1cf1a0dadff9861103c5b61dd43a8e6e84353488f390f5210d904281f0b2e3e89ceffeb6ba9d199dff50e9454955fa4c03fa2f87383b1cea271446efb93fa13e5dc805d0e55c452f71c93ebc4b1a10791accc2af704bc28c6f92c5c72acb1c887b8b55feace0213a600dbd0776e6b253578c5df6119c29eea220bf37a664d711a92733e5c98755df87d2006a3f2620d1869aeee5b3c5522a84dbbb07d2f85f87007e0b6df64bbeb32a0042228a0d502cd807bf03bed341bad89e3de661847c49d1645dc5a7580465c39979b8b26ce2f99e32ad9e86477f1fa6f1a53d7a75fc441b6c114371860488c9acd49ee67799e8bcebf79824672a0f8a1a06c7ef5a01306c4feb60cbc908e925d9d1bfb924c14fbe2b7718a852bcce559c398a112976545e7df2c25d80330c476118f4fe9884e6ecf30102df397496ed5ae8170ab4bb733269dcd3ab5d62f78d4870f5b5e988751a26331bc581f34e08a895ea4cbb80bbf21d7f83784646573e5c778259c7d2ff51848809752b89eaf445e94ca556b633d6c192fcd03e356d994389d3c7d7ced5206eb56fe2bf6508486a049043759137b6b6ff4f3103cede4e7241429c0729ace1aaad13098830ea9669618b47a9ea5fb62238497d88ed1d718d67a97c5272c942f9dc36e10de6e5eeea8c5b7b1ebe94117b1f839347921f2e9d862c6ba300e871aad78827f21bee0cfe3c4eb1f876c4b6ae72faaf05b74500fb9d8f0c1e16b8da3f224b6da8a72816871594a9ea6d51771ffd21bb06f4319ccc6a48797e3c554a0eff4738b48a858bf7890889b95938a6aa859c4efa1518621f09f6d76c062497c54ab939f145009d16c9486eb941f98c923fdfe8f49028dae433b4d26cc673fdccb88145a9485a10fff3dfe4c7ac372567e9e20eeb45fb76d59f41f47dbffaa7f8fbd9d3a793ec7529ac7e019388ec2cebd501f64a3c6427446936544fd3ffe84450f54e1fef17a4242f5bcb9b78c7816c126f8caeb81b6e368ec7914204e09891ba4e7cbc3a1adc359a5932ee57877d546c1fcd1498c8c5140aac05c236ec58dbe5495d7a22f9c10ee43df8de30f5062591f67a2af0fa279d8ab53046e3b6f415702dd8d36acdbe9b2b301eae0795092faa1123c7401e499cf0fba0ffb770d8d71603a1716a6ab20bbadface1c3ff56442b1d286b959bde423e372f1cce2282c331f310bf4584b52dded862ebf499cb87d45469b147d6d8230683ac63a6704bb369b66e7613386ff89f648fd1b198e1d9abab91ade3a7bd93472cf5dd825305b111e5f5eeb3b5d0cbb7067bebea2d5cb37d9f62fff24b2cf57dbd5d319e5c42e2880d5b70d8b17e1288dbc11a30507168fc12586f612d643dc2b1157413a6af8fd5c37f04b2252bbb7668581bd4ab889fe661e86321cf161164f95d9c860f44e01982f1e848375ff7b4de35aa7a936914650068360fa2cd7d8217fab7be4a3dd4e98dda25e464a464ebb8909125d273c2c59eb2d000aeda08d64f481c775beb40a03a21752946fe929036bfc67f01fe2e8211a120a39764d1f27bddb7e7b9ced12cb75c49c06a7393ff90d31f4e0967f15b3431f20bf9a9d5f35e9c388dd64d360433934f7d4da1451a928aadd0d8312a0b713b1f0154c071a4aea36f1fda6fe22cb38b1b87926d206357e06f94e983f1f3e37880f88bc479174aa12cae78280a9dd98e4822bdc569127d67be02a32c6204fc28dfe0c487486bab9c8ade70c681c9ad8e13baa7d84ab530b3baecf9f8d4c35abae00f459017d39a7b0c3467752717f3d090f771492d139ac83743c564e15c0846ed08f2547148931bc18d7585ef26982e2078b9cf928145e3f0257b096c5f0160f0f96cfcc6e8d35a250e74b0ed6f21cbddf33dd51aa78dcb03605dda2e6b4f544387ed27dc37988dce01ebb6438d2a76b498c1a047ec6fb43d1b78196cf0852584ae1e5ca5632a2f3fdedcc0eb8c87f8641f935e92dd998fe902b6842b1c19ddfff7e617da05f310e21fd90b8b5ac2a9f7c6e4922b8256340dabacd83083422ac0074fa32d12b157fd370b20a0a6b726c752891c6e12f1cbee904a5b3404e59c0cf85e8a05cb9205eeadf3bd5b2805ac805e345ca06cc58be3fff36561136ceaa3eae4d34f5780abf513096db8e3a068c3ab4ae2b27f4c651e9f61248f034ba61cbf0e9b6b15159f6b8654ba29e86ae86ece8f9626509831bbe5aac2983780b7a7069b741cabe06e342a9d4553a51f0393faf4d612fff253477c55234e70ba3b6be596f27a227c266e466766d8fdd6effb40da23310e9a28d79543726a1c4b09a347a84a5dd902f8903945add54d4115f5f057abfd5069c5b0d412b9e1b4d60213ad35f1ef1c6802bfacd55312be2792c5126b2584eebd51b596e5be6d48197dfd0b7270292de5b9e66481a05dfff6eaa5afcc8cdddc087c3c2bf5bf2465526ae24448ae4d97a3fd6c5ff830f860691b02e315d32266b8fb504797fb363ccd74df4fd14cf5d0012b9abd296da8a1922c8c034b32159363cd7ab96474e2cb8db164bb66642ec84ca2eedfdb2420fb53dd6b626d25bdb920a3f9249892cacf84630a02af2349202df8300364ef724f021d32907b45223ec3507a60cb5f25f1118a051ac6352c2393bd99be23b5fa462fa487053b4498c5f74fab88d80fcec1a866998f23b37c4149a72e1dba0ea910e0413a09da291b0673532c3de7c46ab263f96f43d50c0d4b4c8644ab9fe21c4f2b9483327a4d3faa3f4a4261af37d3766e9b76e63bd16e049e77a2020a48be291478bad6c43901f9f7ffc0fb59659080f29936b559b4df19c03da4bf4ce4ff0a8c69584d297cd555643815d114b4815a724a0a51feded56403aca0ddc1b2bb547d6ccefd7b0e7067fd0f777f9e6f7e352dcfd6c82124edc07c8798d6bd503a5b7322f4f4288feceaec8258b5cd8e49bbcea590890ba2902bc5a137b014472799fb06cc695fdf4de9624747746fe58c7c94198900ac5d735f5ec2420ac6b5c9016ffd22fa37eb72e4f82f747c414ca1c4dbc55367c26b1b5f5d1dc417a978004f28e98daac4f6f04a8cc1b86907a151cf97c5e056d5e8996903012f6099c750bbd66c4c819196837571fd1ab17c3d7813647d95ee1a82d241dab60a47141ac84bd8d694f07ff0398404921988d6c919533502a4cceebac6bedab379ef7985a520592f956d0c7c6a2d86d024be681c3a852a4f66e998ecda0632cf52fae636520db9e2f9053bea6ac9c9f341c72f714cafd14272ca427f6c70c7eb3ec6eca30264615f9b3b9f951000e8fdeb748f4e454e39ddc80616766a7f69f77fd80a59f3e883e413f4f4dfa198d8060dbdfd437c894a6e537e3a198534784d83cc803ea14ad79aa88fb38d32b72ed293a197ba25abed5ba874228d85a6fbb47cd138db1231d1474ae0b298f988a08a26fddf4b32ec9d7f0af6838594b5290e4a9573c86e24ecd57d227102d85c64e6bccc4fc417fc496699b6b081329dab466eb26e6c07da63c988129f53605b9ddb76a7260a4ac090652c81301c85ec99aa715d2cf32442e2d08acd606fa6c16c7b4bf9fcb57b21d42c398705dfee7a19943169d028afdb6ae10ae5bd6712b7924aeabfe34d1d189cab7ab4cf256d011f62ec43985fadcc16a995e0acb84e70b3ac8ff52f958c011873e62d4b29fef65d502e8e19b1e6cdbc81298ab284e5bf42fd919a75adcefd79c9a2bc66512df3444e82a81e3193c764cc9c310287e7cb7b8ef5184803464e69fe519f48ae74a4fa6b2e04c2ff92cedbf161d8b50942d0a3fd86a50c86ff9a2f9570a5305f5f9b0cc8e541efca73269466c015fee93e710da7f284ee91e71d11375134aff8b981eea11bf7d3eca9d7f528fbdbd351ec5fb9cac076e3a9bb25c36bd50066a9e56302b4da2687814dd58ae806c129c0183063ce02ea3b4f6adf2e0d34ac9886cd031c133eb58ce392f1d268f2369c14c5e86d65269d2bb14862a5d66f632a80e5cac0e31a31f463f81ca59bab7e7200909779402a33cd4d8fde974c06a5972a01b35c006499068667e0e0f10770ec9cc2bf22057c9509c8c1d2429431bf190395e05df7b25fe23cd60eeca4f862e8e5d36356c97a3486bf90c3f6ceb46fa841ddd6b80255b5c22f47412bdbd2bd1bccf65bb0cc0bb7016bc2836e9954beca1d1c15497f0b3ecfe789a54925ab7deb0dc760df7ae215e318467eaffd12ad1188b1d04b71f24af46ef57614fc733db08f79791a093888766d8b1a4695cb6ca318e84dfcadb7b70c5bb641be6bf7e3a9276f710e33ada00c376235773004b20d2f58f2587bc958069d2f7141a1cf08e86206a1349de24aec252db00bcee7fe53f4229cc01cd496b014ec4e40c2fcae386f18211b9704d151304d297f25008939cceaffeadd19ac58ce5a3cb41a26ff80414ecec35a1610c85696fdcb2b5ba407bae4f0efee3c2bb8ae16e7d5af7968078f663992f7ee7d9b6b909a02b42173519880f458b9e134ae319de7fc462c798405760028eb30e675b79b8877d7e5b7bfc231868a59d78677929056f3294037ab8b95493090c886bf2ecdb857b290079a51731b40d7794be7a7a952a9086d65d30da5af48a986771d3f7da77c70418aa31e5d3e93132513e67f06134610f8fdaea590c0c1e52cf00d0ce875e2f0470a5747b8fd114f85aabfce6179378515ed85e66948d0f0feafa7997319290aa72f9fa26c0c76ca6a183e16c0ea4eee5cab26fba5e3de6ff2a8130582760bfa8637370a7e94fbea1fabdcd3b08245d722c30a6741f48409aa9b6acdd518a0c1bc3a72d70dfe01c8316bdeb510d1f73f04af4e11d28cf423217eacf74f69cbf6babdfc02cca952116653c14aa0cca2c3607ad52de27614bae0746772d07f0de2edb52d4d75a462aa8c8cde9c32b706eba964dde18390ffa53ce14f62908d89de9281574543c7a6b8dbbb1a18c7fe7d4596f6a5f7b11239b49df63f9c59341d7e915d465293e8225177f76fa84bad4e1a7d5015c90852a2f1222c25f2cc8a80f24139526b2706c2766295f537d0697e971bc07f8411c0a29fe22ddee63c5fe44eb2cfec27a54b09bb3db1b0040e162be6c24b1438ef76c76af2815b694410ac184fd588fd522f6f31a8bb817a131c526352a9c73d790819cc1b91a320eb5521ce7356225055fbb32edc7d0dc2d888ca362b3b9aa1c13e1830ac8f3ecb518bfbb647eaf560e3bd8eb8a260b4fbed5b6b09241200d8230dec1300dcac751399785fca0b6c694b030f7ca7ca9ae7cfb42394a430433f4c976040575f5b7bc2e147bce5adb771c833ddc01befe3ccd00fceb8675f7121c6cbf5a0970ee0e1d12a3776bd31c0d64c707b1d39a00d47167091472411d0072d9cbf877241e988fba494f3c6491bfa2bf1bf22ce3e63bf1c2616ca3e0897c25b8b5b912d06d46902cf14c9d959ab71991e95be97e6f20474cee44fa0c88e92b9622f3ad77cb5ca81f415926c54ed30654b425324e596aa82f24a315236f6be321cc695b55d4f5a66e97735e5b7d784ae0496667027204cc6c2690540c5277c7619589bb26ae9e5a1e500800fe3032b5977098f7d518689101cf5b05106f54d489ce63e9fc1cdf11184e0f62b7a5749799fabc2ce46c52e9380702df7838783dccb8d1a72d1a7259aa6932c847d0c94b4547f783bb0e5e7f9513c0c94a8fd791f1c418a56355c37a37758988f6fd5cfd3a058fea8cbf692cdd06f9baedd1b67884cf1a653f7cfe0e695c92eb1d803bcdb5c67d2edd45f3fb7fc9070b51bd2c8024f85fab011b9964c13b284c4a5c7189dc5a3962ba7d94d7dac4801254c0b4b512f8828fb7e77072a4e3547c2088e07af8df9fb23ab50b6c61f5e56bb4bc72d6347a2c84a81c00d2ae7613da19a6c55ac9fc8d5b90cd36f2a2fb921eee5acb4f8abdbd00ff41b0ccf1faefe4fc14781df0fdcb1a83e14798130478b4cd25103271a055d7c96f59525e87b963e11c84b1ced405e6c85821acbd74b3028808d8d4bb61435dcd4aa22ee192702b86c49d5538f01cd99f6e2d0b884d1ea5ef627808b619f0e997e4d69d75668a8438f32889f413cd7bd656f29fdfd0e9c24564e1ee7cecfae872882daad61cea4f8d2b42ba559bb21e35c34dacc80681d5933d3d2e69660187836228481e9d37546c5effa0e154b4d1990553194ec5ef75164399022b85e2d22cb64db3b5aaef47ff0ecef84daa9e0030f792b9f94adca681d8d5e490d4d3069ce9fadee129ce97fa2cf839c812400d644b450db880cc7ee21d4b1a102cb2629caeed71731df5d65f36c7c0dde4d27aaa9feaa56f8eda8b157ec0c743f72ba13ccf0b412289832fb26e1a7d5f1272d62b9e7d204974ddf1860f50f53eae9a99e0be464fbcabdb0e1e56443a7ffb97883554072c4424fef92c22b2d10bad1634328276cd7ec17f518f5d2ca5e0a99a034cf228a084d81d4ebaa670c84e9102e31f382576c7d6161853334e0fee975ee34711302b4303b61b50d23c3e183aa3ce739edbbbf4ad7cc804ac6056242b5d82fdfa879ba97e855a601c91e89d1e0d2033e50252f7bb0800414e57bdf53e53652c34c20144ce1a6df6cd290fd9e5544aebb56d273b518e135ccb202c06aea50b40a801b44d2e1183dec6e9b10d858937111e5e51a39cfd5b58b67762d65cd19a265eeb454b54cd63b707e93d92de049a97687dad224993e3ca1ec1b392bc5ab8346222865080b6141d6b2b5f5e7c61b4eb45145c1e282d4a88fdb250247babfb84d91f781eea79dd14292f1ae1d6bda5114fcb811ba754897d73c19acc102c97d6150a03dc8bcbde453dd2263ba45b7a1377da5f87e92f55ed8b0f869557a38afc98875d38077dd2b8675e9d324e4a8247bba42cf526594d0cc8a890a30785b07a300da0429789f46653e51b31d9eb44c56d5fe75e9571ff53ab36af3811d5bf6522bda2d22bfd9346ee80f9279f0a1e0c6c72f907eec0786eb2aa8e09564b709e45a85635beeb7d0cdba182c532f15b2395c4acbff05d1653c975a58b69c7491ba9a68f531b1dc04359af8a775da09578fad3cf3f9618fbd4b439059d3de6e319c2f368999b5cb3a1624d4cbc5547c8882a3bb3270e1df8b56c7a8e32718667004050f299cd0405e50727557d362a7694533e648192ea199fa3d4f8fcc32cce04b516320b1bd6d04e23cb8b12d137c51e1b92bbc863bfe7e6632d0c88da926baa5e151548101a1c2b5cecb67dfd8a9ba29f086e3fa3078c2aae04058b9de0e58b31d87ac05191d37e2b9fd13947d0014d24e5f0c9790304aba81ce26d8575842062f0d9bcba2667c4119018d036f4d28a4901c3365909dc59064df5312623298ced1a33d7521500dec39223123bf93644a618881d8c1c6f4db7edb3765e72058483f876912710c4a1c993db5c8724a11978f4996fbaa9fa9b78ff2b1a5f4400e368907f5387f4c6bfe9df09f78f2e68f38ed0f62c7cf1c1538201bf7a29a2231d2f784cfb8e88cd1e0299b58c4bc22638a1d187c6b4a21034f30e31de96c92f17b9b5d62ff217206ed2fc98072f83d890dac3f98825d2bd762b8bd790bcf665e8006a6141c76d76834e0bd15f8900fefa12849db7cbe13fb33bc4f14f2f70f1335c13203f1f3005b035d81771dd8ccd657420eab9fd733a0cbf655cf86177d0019071740a59e884cf20d0d0d6eae8f97a707322bb0e282c07ca9ee22ea9addc580eb936b9c44ca0df452c41093f7b65d171b65d736e325a3cbe8e26d17f19d2c5e309df9c1e9d2bc8e388e71728a1fbf912cbbd070dbe747295a793cef18aa07f6729d45e590d587bc9a411d2957382e9ffe570d7fc5cc112e8e6b3c5dca6153a5417c7d8cd477580e544e5d70964b41de7a52513b8aedb8ea53123086c90e3fcdd8ca2346ebea78c5ba1fca00cb1de88404a6034f8c5ec8eaed101239d7bf335a4dc9a5663e58e7a73fb7a69acb6ef8e0b89f82597c12bcd5602544f9fe5d00f1f4a699210e5f004551a523bd5b015a4063f4149f74a516885f51bcbfb18b83045ad57e573396949cf8f3b5ec59859d6664f58f5f26bc72c1c6864b40cd373e84a4946e29a7543f584a3d25ff6a80259748ba9df1c1068a4849deb430e333abd97035dad56157fc2bd31c5b86cfdbed1e1b04769eaeaec4036e612f894bef61dbacd33361602c3aa6824f6225b8e23eea49e9969539a9ff5c6ff19f3e1fceead7752fa2ee55264fa1b49996b3abf3a0c32a0ce9ef431d15581a463fa099636c36108fc419eb72153e785d3cbc1e76eb5f1eab470c4fc9622634df0766beb922db2c59c52fb88f7e947c936c156516a677d3190ba1a0abc9aad6286e1fb5659917f49a9d0eaa89e10e7924d8556e261af0c829e89e843c7d4d238377d63264abd4b1b997832acf92d19e21bd0fd3d1eb72216ea41961a99567ba5ee51454b95d65ab99cb24b43a3412760ced79d9300e1aa549fc22240052caed3a26c11e7d691958742dbb17e09bdfb40206ac626cc8a2b0e82372dec524bf4df2cc33a74e2957f3294a16457a3f887933f973f43f6d9504d3e76b3c7c51fbc62d747cfe639c585ba88c7b29cd0317e13419b4f04c66b928a5459dced082eacd60f5168729e01b909bb4aa0b18106a9f8b93888bc44207c2cd419b2694cf6e9cffaee6c5fe43a02920252f5e059f9530b3d0af9fd169e1454f90ce17c6e3a453724ac12fcab70af17f451f5abd31928d7554a1b776de7057675e891746bf001b70d400de4624ba5d3036f7edba2e8d09d937429c8c35fe163a4bfcecfc58fb4450948c070c3ce4d697d68aa454146db9823d15ae31d2edb4be4c10f39ff6d611200cb70bd13675ef1f7bb64a84f9a7777fab24edd1191fe78ad5abe2f450026e3c99443831e3ca87a798be848264029286b076438bcebc69bd2c1917c18957dd520927d7d99082fe5044d97dbd7dbf3ed444f46f01b1830a75c9353a1ec57bb91df1b68052e8ba7989e2a403c0e8148148e5c035c024ec7229f3d84aaf8be6b89ba76b88373098e3b14cc03d691f29019e2b742ab7e91670755e60f1f764e021d5e017d5bb299ae90224727e0a29aa28f2a1c37da32bb22bd5336b5e1b8a9a6f8d3524365c5ef9a14e4b89cc17b3eb5e204026c5df03158821cb006f88b1d190aeaf6c9966b770fba476f777fe6546d539726524fc41500d1249c266ca970e6f4e3bd740ae1f0b0496050a95bcf8fb6106dc4bbab67d92937256459b845b905e0cec967657841f98c85cc274dfd649aa5f8d627c7e1e0799a11ebabfbf2fd62af94d427e59b74f586847006133275fd99a223242006e7934a47fb2f49bce0546a1e88805cec954338abb1b2ac87de042166e8e3a74b232616f51cc4c1a58bc380148c70e613bb7cb4aa0ddc561c8a47d9979820529789865fdf24cf4efece4993682b5fdde91e968f2ceff1a13a016a23acd0ecbf8c34e544a335b524aeae3e5f9bc0a6ca9d7c13d261447a58c73f41af35454b3fba7066a7e47dad81767ee760ace5f93e8e58842298cc9dabca0f2d19a785d89ca84c949e23281981bd441ffd3e8611606fd6f238c291557ec565ce8658389b8becc931472727def8086260c414c6800138f5ae4d381df052fff1537bce52848749fe8aafd5356230d92a9bf328d2fb782eca7a43943d78875c76a91f07d9b4bca7710c3cee60b34b5dda2d762424d8213c5c763e7cc9d5aaaccdc7f2ef6c7364a88461a948fa7ab59b07ddc7db8db39b7cc33921c9a3ccdd00fa81fc672a362d90cb2b71892c12a11325431c631401e98f18d438cad0600ba47db5b1436a49b88fca17d805a969a18e91371fade40e540775ecc5778bc22bfdec755cb3e48eeade6b6e2550252ce3cc9a3cce31a7f61f96abe9361cd35f1efadbebcfc0e97a3e586b65c8910d30ca45a2f4312a6b101e7d96796fcefe32d0ef1c46fe309fdab3d31ac41ca5c16508676538a80002c6345f6c24cae044c0fa254bfdf68d7be177842407ade32f4184c7c43912062f1a3c6782f93f88c15a70a67bdb17e3d6f04fd092444a40cd3d5d76bf2db5e3a64994c0063d60aad36ab9131b1d24e66442bce0e4f95b14edffa70045bf0573cdde608806cfcdd1722d9ba24f694f6fb41db64ad70830ae464ca7bfab411cb4058e964df577d66673c6b1fcc4cd440cb5383d0797cd01b13c47bdd6427a0554e90a9da030bf56f2382d04ba7106a2181d30a62daea8ff0a2d8aa9dfeda059791ecb91418894d60b1e3d9053a7cc16cc0c7143d4a40233718b5be508eb823fffc7ea95fd6b5f1e569875955b559b164000aa046204f48c6b1cefc7f0aea5f7bdf1dc6a62ba0b9f503cb851003b1b6b2a526d5afd604a59d8e2b07af43fe1184568bbde8d6df4182043501b17f3c7d3e00d5901293e5d8fc5dbd3fb00997f81a8b6781747c4d7956cd8ec7c33ec35cac2f8ac371d2acd9dc33bda0e529fa48775520703adc0e0c2038b20f54ae4f6c885c7bd0bd5f560b72b9ae4b465805d8f29b9a1344402114072b34d2950a21b0f914b28b94dec8aff41e66242a3afaadd0f677ee797710137217fd686ec780230d7f1b02fb288b36d32c583a8d000f48f2507d19e01b3de802ae8b2959e346c441b5aee01ce09edad3f10dcaf9ac5d729413f6664cff914a042a1ef08f1007076d7d77b2058a81a8e3870b12fd95a8d6694eefa2cb41ffd0fe346880d048234ce89320edd7b60f181bc9ff7d7531ad7b4685dbd2fb9172750131d32d8253ebf717c85a2a5ddc642d0518b84f426055b22d455902c19272848e945cb1239bb6489232cd3d4de79f5b2d8ccc52d35d2ecfc0b6291fec781cd382e2825434a52a6c738bcc3ae65f755cbd5ebaf887edb93790fa9895a2f9795bf565d5fec87b6fe24e5a140210c525742bc291e897ee435dee19a24e9a271e299e6074e627392ea60e9f63cc8d6cff314f6632306b05e696bc57b98e4e19a4363902ae4cacebc0a48ab93df99cae858cb81ba1f2ae6d322445627ff8e9dd9c807675bb9e57124a1cff2831e3232f04310d7346efc85940669d10c09f066d979b8753e5561673dd5580507d58a9017cfd009cb37e1b0ac46a44c63fbb5926716eb9d780205c909b63d8a3796efc8fe7c2d6f894ec659f9f871a0ba9484ed3961f4aa944af29b1809659f3ef767972ec7a89b11b27b7a7cc94b8dfbe5812731bb33e3048e5f76493bca05a8015c4bf9cff7b6e5696de12d9c2b18ff2c10fa15b5d82f374b7aaa3059dbd6fa840c09769646d8c4dfa79a4c74470ffdf7b069e35f019c4c967926f0d72d294b4ac396f96f4d956393625f2bdf37c1c19edec5b18f642ad15cdc946d2d20fcacad803224e98c208e8dd4f614af289b659dc5bc89a1375e3d77700fc19e88c9f67faa8512983974035b0da3bab66599a76e782c6286d78e8df2f93f1a996c185b200c20a4a4d3bd30bc96d3b75087fcd4b249523bbdb2336157311db6c63c30d962f147ea44f08cb787a7fef6a3867eeb0e17ccd7fffc5896a722d248c813992223a76f658abd60dbe6c2fafa71256391a691ff55c7c9196bd75c4ff5fd004fc9a3ee9ecf52e98b875b53f9f116522957c5c4c6a0e4775cd44cbcc87cba939211c1942735f364f8724552b03e019dbbc84ade0edcc560f837cb791610e8718c206e7b70bbb890dd0a669daa1c39ac2ffa98b94ab73624a9e2215d8fb3ed4ede9c3135b5560f6a19b83d31bbe26f8bd0ee2dba35ce481d791a2294884e9b47829b457e425446dff3aa603618c7c18795ed8d42d768e584963f21f0b9baab8caa4ac0a34dd4ee4d36fb4bf6ba1a46d36ed9680c25d8a01012a3694d452876e44e383def229c947610f314c5ac651b44d890e53ebd4033fc4cf1bef0bfa3ffe6e1061fbebacc4a8e54df04c039b9ed870727680de8d314969e059dca064d89d482226570ed3498ac0de6e30308a2e7777b5cb7a18a74eeb17f4469ac00c9e4f51cd128838b24a356a8b2c770601af6984a31f0829627a93820ab1e6ad0094862d8c222dd7dbbdbed674102fb663db57c1109244b77e86196b4b2749ff8cbccc1716f047c2df3b976e6f605216dedcdbba3c0a4ce980744ae583752f1ec6bfd3c5458259689a424c3d5339ff8f35ed048efdff8cb02a27c247012542b9eb80c64d33bd71cc602c6679d0881c53010cebf7abf76303d3175754a60426b774d35f70007c0489ff26b8f5081f7f53b527449595d9025dbb926063d9a19d5296890d9aae1553d25abf2428968cfdb4822cd8b9ca0a9e36a755d865c9cd8740aa5e0033ab8e92cd680d7ce97eafd4d176369384d62dc67229c5496dd5f6493fd9a1d6ccdaa17eb247f5803b1fe954721b4618669b5e8ff3c5887ee8c6225d5b7ee4b8dfe999820da24ae889d454a4b93afddfdb2f9325004d3b79014f54cd4e3539cfa0a70a2cf8290b18d80e780283bf4ffbb7e1e103108a8052ea80ec5d25dbb4ffd5668bb5558b85074db6a76fac8c1dcbd76c010e94c489f6e970c671375b427f57e414683738feea2d0ecd4bafaf4ae956a58b98ac79645cb867cc1899f4be44b05a1d55dd266911c88bbacd45993d9241b958b388a8de0bb246215968782aef8e291ce8117a680137c340d7eebfaf131ce157680e2db044c1c3d7db101c1e2c71de3395ab655892e56c6dbf4582e0f6c6159a504230d9d7d101eb742fd31a4dc84d38f7e459098228b8a18cc917e23ddf4826b543e76752e718cd7eeefbef5593fb7598009e8887b6f110958d97d9744e7e609e9716421b75817ed9d33421c5d505148424ea31147ad30135b48cd723f0129573f4e0f88ad3f887d009202e1b5891eb95beb123fc90412dcdbc92bc8b6b0eaa45497c4a558b907771918ca258328d41c031d47a5ae6867a9df586eb9b75ef30d9e97ff431d93ee4294a9647c63ead6c046013d2d9f3174b64a22eebf279a52fecafd87995cbb2b8e5f47f0d42ef0b04581b970e8b723336aed88ece1da6092dfe2e3bb1bcfbac43a54c03c29d97c970b54690b68da752bfecb48494f65a97826192fbb716f6bbae2e7454167ac2056b57ae418333391fa8a96dfeae56ce47109d5ce4c8f338d2e655306fa3ae5f648b6e929111af9d9c9589f10b2eefb0b8a1d2a2e276a90da46192c6f086b2d0ffb2cfad0e92695e60dccda063cd9479039a40aec3e5c6212c79033f037f28d4e3d2c31250afa989c1fa0931b7ec514df87bd8207434f3e6c2f560c9068c4f4c8c4ad83e0d0af5505a0587a8f816aca52faca219d73576cfdc101e3ef124d9b891e93d8db6a0ea014bccf7c71b6b414747191e17f092e5ac2dc789eddd0d702625d251b398f61db7f3a6412249cea68af3a4c41747914de92db0f4ba5eef2694c03a0c73d14cb01990513de143c8a597098b54111b72e88375575c551c9ec82288e6e6f2f55ef6ef6c34dd80ad519eab5533fc4c08efce6e9d4553d952e9c0c4c42e8bec6ea78d54df7d106bb9c1790714f4d52407094ce5cb97f698f3f6c5ba9f7ad95912ddae053189435321341f37cc8260dbbbab622a66e1f50c8c9b3917c3347728f9fef7c6ebb58950b9db0b9f538dfa3e58bb4980e10bd7efdc4ecaa2638bae806cf55992e2cfa9199750420e0dfa6900553363df164884807f3935bcb7f024b0a386dd2549fe48b8952fb9459d73c986d9fee7ef5e4a5c027f928ed75753487b36d007c5ce98a62a8c89dad377dc69162d57cce90efd80f6b318a33e1a6945c90359bdaf1140824fd592a005a420598cb3a8b5a7da27e46cc9bfae5bf511a00f062dff2ed797b6be7b9d81d2cc4e377d54565311aeaf4c80246529ae7354b1bed3d9c49971e3de08aab0f73ea74d743d5b9bf21e162bc196388f463ecd5904e53b9fa78647ee3e6387556c8cc40476b4975f4714a7ff60947ab9e900760ae4bf13a66245b9111aee9af1287ea4840e6f93b5db9d059ec4d61939b9dced2faaadd12fa654bef664fd5bf9294d2ad594785d03bb330166615e65615f3c1232ed4f2b2ffefc3d0500fba39ba5af8000a2baba1ae4020cc5b24c15abf674010c0b96a0c59723986e941a7d0afbe1c5874de6ba6f40789b143524a96a1b2ef4b500e59c7c08c0a54bdb1822df7d72b7cb2e9df5a17a0cc560915bc629520fb43b579fb9f3eafc37fbd11fb5103208ac0582c2bf63154bfa3b167d7363584f2e25e916a00c0fe202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf0cb998ee8343faa648248d4ca3e6bf1a30ab03478082730806c74dda34ad3472420fa13e9ae323b828c5dd5e3f6f368c1f084e7239902cf17a0ffca0c6332c76c8ee651d8cb75a20314ce1e157a2426974f5e4f3d2d8a661cb59ca4f858ee2cdca8f184d0a90ff9f93f6467ca8a0319ae1c9b5ae909156c35f3da9a18ed0aa1e160f393b677ff902947785ec1a5e0df3b89753e357aed5eec21662b2a42605f01d52c14f2281ec07b5b1006d1e2e653157fa8ff294777876590dac7619f8405bf62c65309a8a61a1c3c7ee2d8a47e4c26e5ecb4c200a6e4b25fd4691177519072d6f0d178ef031d85c3a310151a0b78bfc773b1ea4e4e3346e73cc8a278a8ee350b2e3774657671eeb883b2c09ae721edcd28826be8b60e17a6e5ddaf764ca276be4017c02b6e863ffd921ca1a56b111ddd91468dde81011ffc870de180c84e9e967b7b84b9629d2116fe0ea4b135ca806673b7f74b10bd5cf98d7e4d0b318d064161ab4d63d561fb66ce1fbaa6f370e814bcef4daaabfeac25bdedcca422b21750cf6916a858bdc3abc96dd9cc0608b8253f498a90505c74d4098a1287ad72d9360ab79c60fa52ff518c0144452eafcefc53a227a8faf942b627ac1819935834b451b7e57321c963619549a56fd41a58b4e293e125e486f8806876dd8d51c7b82ed514266e8f73d350623a26a52e04788872d5f686cc3e01d7796df8030e73370da93b7f3854a1d63590485fef065a80e1bfa4a9a68461ce60c2ee5643a1f7e7e6152a26a23515d9435fb624594a424af1a26e0ac7931ef33e462f0110b69698de5294b740079ec228d7e342548597d1f6782da776333c6d00358663361956f3941c315775d4119082a501cb3f811a0e3dfece45198a1db2a1f0af476b8e8f878e2330e8084e79f4e0d18b27668958bf8ae1e3bdc05473286650ffd08ccd67d860506b24b887e65a585ac39bc4e6cc9a58c9834dac835373c7e5f838742016f213ee616cbeb017caa61d1dc08e0d4c31b849ff0a2a17a4e71604f89064a80a62bf987ab0f8c7ea5fa9f47cba20cff10acadacec36732275219895ea65f1bcb3166951d2166f246a82e1be130e0cab5d66aad14482cef594ba1dc0ffb7d7a8fbfcec7cfab1bea9b20419a3efd4776daed582eb1573766c045107e92ed3acb7b03138d56f377b0c0bae33b9cb1c5e4759fb2740f62056a47d66b630cbb81ac773f2eab976150db68cecb5ed39e008930b8947b0a5d3a07052a69d1b7ec4d0ce000f7f88002105f150c006208ff6c322fcfb129ce1b52a19c279282fa966819467413acb822f291c52a90df4546edf3565a72c9fea2f2e2595263ca83db8b1128b029ee6a859c9474d94831837721a0225c19abd948d4abb3dcce96273977f87b12e4a9fc89e8cf5c567852de03e29f3b0d88e64983033ab9284d57775d3ed4512132ba57781e3f85adb70f9d006608dcb4f72b21a2b5f5debd9934ffed5336833c7bc954fb308fe44467006e40183dbb6263b794d56e34daa9f7fe95c8b4c9deacf948ddd72b96906665d3bf885d4bef7539d4f5749242a496299be85401ea60a8a7e0ee7dcf8dd011596fa64c7babd06ad8f814fa6f96f833a995a8dbe2ac8748d500b32184effe47ee6d67c38ba5c2513870e2508ad3fd1896c9a16c815d4824e5a6dbf285294da1707bdb58908a965eb994029e351d0cf97d05e39118a4fe2d20d4e883b06c5d960f54bd74604a66aa631a46bb8d3a18ca9a5184c3f72fafb6471eb05dfa6153f499b7588e219e45d043e7be8bd0c803715734a33bd1589cb30f79a71d929e684499390ebbad4d15f9a9ce2d56103100cafe23e3fbec25931fb538ec262d5203d4f859151608349abf38d92e3798c4450ad050044db294715785a7648f53edbeb781be4c63b513f20a94a883e3c9f8326a109f7f6c0d0fb3d87723dd0bcb93d450d08eb99a550c46e91182f813127acb9aa04d3040b65732872b3957d61daba31bc9121e2687432c7ec35004c32813a88a211ebc26886c67f26290650f8b8a9b99d54c79cdbd0004f91b0eef9971843fc0b4e7230e58a6ea7d5de74e38a2414678b7941bdee76c46cbac8e4fe8743146917fac9ceadbc78fffbb07e78b05b5cfaeadaabb4d1bebe8943953d05a54df21e82f3d0ff4c38b9d167f00f872d2e90d0377cc2ad9f1fd2a4337c9115a89913c77720bdc17cec807a696d4f4da9fa6f727550bc119aaee2d607c2fa70aed33ecc9d06b4a6a595e5a5563f0fee5a61153628ae7c56f0c898cbfd95b8dce0a308d691c10b0f93436f964469a35cec2b89f877d9c51d1132d791bc6d357977c209fb086618d08d6bc220902f25f8d3a3a8d546ce26cbf23bccdbe41fda7cab8b90556e510f888bcf42b972433baaf9290488a04038b640fc3792322ce669428228c9c950ed61976d1a5d7b285e8b9ad425c252370c7e9b31efd0fd0d8542e1f2cb93213d2252639b5fdca6c070fa1e4f7fd090376c1af8a45102d557537efe9064f1d4cc307476d40ae2b9265889db803574182051310081128032cf90eaa62b9aeb90a43c7a94c0617cdd3fb9265288a5a0c777ccd0c971e50e03072a5eda46b1864f3d73f5620cc9c02bd3222479da13227610b0b22a5d52b56703abbaa0a53f6a5616c097b74cfd76f77e2e3f682e18ff2202b8dbf355b2c366e9c242e01c05b452389351aec07ae4a777b01e424fbb016b46815b64a800072ae1f33865bda39928ab0f3fff3e9dfd97186eac90010c6efe28535a46e3b16ae6e1c5221382a513138048b5e4d55ee86a03ded6ca841248ca1293630e1c1587281d1e7bf0e98bd33c477b4296ff47bbab6fcdf5ca41389ae9b69330bd9e8cfab89ab3fe996751d1d8a68ca0f8c1662a9d588a24836bd7550959590bd90b2284f134ccf9c8e6c35f9d07800a4d2b3119e20e26adce683d05e05306756cc9627a160e7f0796a829ce9281760eac38732c1a9da0366089cf43e481d66af5d5d47d3af84f142ded6fb50e7b37fc404a665664b8657810629e7af08152d0e66fe998667f4ac21bea5e79f8b6ce8f2a4621300c658a17e8960e5812d00cb9450c88363002fe3c1e90d49312c758c9c161bce5ca616d35bbe9e9e3bb7021a04556a863cdc6dd613272203148a8f5fe5d657b2e2dbe1e64b060280448d4be626ee21d9ce783f96ce4b301a1ddd5a5699b5c66052447135975a65adaf55195f44f4e39c887d2168ebf912a2785bfc56ca49cf3493d2d466a199212df0d2924d0396fd928f42b3c337bb5b0bf77bbd02d209646460c39188cf2c2f9431104c5914b526c5d3061a05c1d5c76fb56d382c6bb93345d1f27c5c2c8aa52e6c224cb7be7fabfd48035f143c5ef17f8c769915573b156ba151309e128ec1e2f8a8086e139006efa54bc555aef7d3ddb1b668433cf724c3a137b52373ab06870f128061ee9c2baf9eddf4e5a700e5753bb7867e0cbd336fe18e0b4b633fb3cbedf2e7ee48fa7e158f3a68a02d280ff2f4e82f0be32cf656d9a94e67f6c793093b73ea21483341305893a4d558cde6c731a33bef59ddcedd3dcb8afc02316cbb8f5f81c07f31a84916ed9bff4b1a3f6018f9224d0e99a1fee9397ade1da5aa3507c6f90b2509682c7b103d567b1151cf4c2d4015712baa7841c4ea7c82fdaf79e1a228855b11fb294f5d42a54adc7a689850b1953cdf395bb3ebfbe55e9fc3a26ce32da0a707b42eb51a3d33675570be997fe58f22b102761525bfa4bcf33b0eff8ab26527009d8cba02aa54c47143b1d00966c05a98a1722297514111108f264e788078d45518127f17668a2ae49a82aaa0f141fedf08917bf4a971bbe656e3421591133d9dec8947107c6b4c5ffb0a3a840234bc98d208ab4e14efb22fdb8cfdf30c964fdfc1689262977ba76760da695b5045d28e289646a58084be26269ba904b847ee976ac1fd4308b5e6472e3be4f2cc107f6049acff357b3e9219b5b918cf641071c1e25e2a943b87c33d48c00311d0f2bdb90e158f6747cf7aecb81ef4a96334c0bfda47fa5b74515c2c4b9ebb4cdc0c2b73183b756185494d0514cfa539a615d3d54fa829aa600eb4a9a9da25d5976973a726024b306700a5d5e4101538689d82c92c0c602b35201e16c803309e4fe261e822a55acdcdd39dc9fdb17019f0f3c50b2c04efefab716897439b644258f9eb89e3e7e3ed6ff73ad5622d635d2e6dfc7fb99e7bc0b0b7c1323d46eace6d515bf4d28963e53182a09d6b686eebbfabc699248f4a37e3bff9ab1236bb56317f0d801b0eaf174dc443e6501d26baea6e29f23e1ff723f09efde0f545f51f36d387f418d5c95bf8a6911ad48b0e2bfdf3af053cc7b836e877b241e56ec3d8d45c256556bad9a0bbb26ebbd021d7dc68f8bd1e0d4083cc613dc4511322c1a73b127fd54f213f5ee79535bd1c2e096c5b9d30764ac1e0c5ead5fbd24e0fbc029df8b1c43a326ce30cf1c179f08960de67e2b729cd6b38afe770ed354d2f9af1ae19db4c184308e075802bc7e3f42835dd3f9dd9af91918b6c2a201e689246696d8f251047f77944998e8d1a7cf4058222bde41f0e0fb683f9386e450b926ea53f7c82a8cc2c3b1a272a17aa860a096729f193ceb34bf3e4e85135b8ec11fa622e539ae6def9fb89d8acb2f4cf6130a389be35f2474f92a3002668402485244c592ef771e0bc89aeb0d41d8353c373434c795f0b3426ff3f546c8239ef3a52b4436f7bc186ca5e59d4e30ac91357ad9da77f06c06fcb62026c1dda5cdfde7e7bdbaa098b6f5c4e9f80c3345c6d2ceab4a1357c9b7aca2bc3746811ed4b7dcee928051af28be4435c4009586c9d87c0c4c00bfbede88e69a3555d13b2fa44aa55ae694808b4c2be9eceabf60c86a044e7108bc5905bd1a7c92546f68b24f5f46690e99b613417418c8d7eb2d65e0a1ac911a1920c8f976b6aa52d2c7a5dde125e09068e0bf9be57f8d2ac62951a6a57cc6525fd7f16a1f225d0702c9c96339a377d127432ebb8524ef7695925384d828e3a81261fa45db8b21bda535a3e7bf6ac1d680ee9b764bf5ded85cfc23a4e285418aa32acf0459d9c9018510f5c1b2bf2586a9505393e75a64cf158d59b964eae0e1438abd0e556a7904848814ea91769bc014338c840167a46a91b8a02dee29dff66f983c387c0bc11411f9a8d3d28f7e96f19c2d904219d42867a8c54aa9f1e0c69b33970ef3245df744c12a40ac8496982b0c69e40a67e72313deaa45baf155e36027da8fef50144b09f0b99db840d23d2795e6d3e09db74da24680cb2f5394717bafe8b1e14198d2eccb6ecb75c01c34a514ede1f40af209c9633dc2f86baa48bb7d18e797fd127ac48e109d0a8ba3eac5cb2433df8c0bf3062af42bd7a0d368eae7eacce605c37ac0cdcd3e64a254cfcd42a65205fa7e2183ee01c7ddad09cbfe327896d31d7ef66756802e1ba78fbcafdc8518cb748b4ee2d6f73489d7db75971cfe5a05e520bf7dc6717ad526c28996022c442807693b443d079d6583f4579f3b5786f4a904b2dc2dad425889eba36179074a7f040f60aed703306ae2b7ad4631103bbbd42b4d3102dbec285e5ef5f5d90ee3e86443ed1a17d8ac5a5ea840a531dcce095e27abaa091776f73b89b1b37b84e37b37366bebb08df23674cfe0731b1537a6f76b407ba1667ec69834a2f2a2667f0d6480b54e8f5aaa65b502939d5ccd76d4bd2928b053648b458512fb6ab821ecb4a5cc78be1e158369c23a2798173a517dec96bfdbd777dd3a20dd8e596f8a64a3ec8b5d27dab813ab0de3e9dddb5015bb6f8e188519b44530f9d7a791c0e83aa91fada0da70c2537295ab8a564167fb8ac2ea6fabd938a64abdaa1fda012af21fb061a44bf5d16f39312fe7b4f11ddf1b263956845ef81a0178c112f3ad32e59e6d855f49ccd8570963bb27d5caef2cb35e9a53ca74bc56daf1f9f7bf87cfb65cb854732cc9ed1b7f526f649338712b026096768172cc16dc6590775c317768e8fa4f191e539bf074236556ac64ea81800415c30f92f8292627e3e47da4c96d138a05479acc66df553c8c23e5580532478460eeef2a0458bf87d2815d895718fd2981c889bc45654cd06c0f064d7ffea0f3071243605ec29d0ec1f94521e8ecc99ef16e346c4db4cbf0928c43821d2b1f0cf71fe7f11e0dbf667af6ab8b16521c8bf6ddacca45de65c8645c7729302048f4f20ad7c1b75a9bdde1a49001b2069796b2d8a170d3d08298e77f265d3d028772e6d72f118a794579f20cbd89be8d74179441ad6f63040b59473975c2204686a1b350dcf360fc023779f6015c82087a7520395ded261a849562be3dbdac785adc3c6634a98e170f8cd2b1d42dab2e36b57c620e9b32d89453888033ba249af4ddfe5654b66168604003c4951a1e6e607d18a172e70c861620298492dde476ecb37f9d772bbc746fa1e164440c7abdf229c113b701e9d986620d79ebc121bc7fd367d4c40ffe399d1ad893f90f6a1647c3e4b6fca1b7c59abc1f6432edf62c595cac901028c248b82a355ef7184a827fec2a7a467194a5b159e197724f07a89e19e717c95af2ca9c8d1d6f1217edecd6d9500d5e463a9d49ae27aeb6fff919938497fc83d3a1b79d29bebac4e1d3cfe4214da53d7c62366f8fde9f323ccda86f52faf215ac5e4309c4d190329972fe44bc03e5ef9adbfe716b92d1b3cf63149d86a6cefc335b31ab375830f141126c00286a224c85ecc6040cda6e49e9075848d40c0076c0365ec2490419c24169febd5e79cb092518b8397a151f7440b2a0f39158f289cbe2c204b0d79199fc1009529267f73b98615b889c81f34d829e2ee6e8bb5cdd782c19be2a8b9bc73f6edc6309899ec971046bc96336516e65c7e7fcfc19b2c0dda4f059ec4edcad0165bd43ff852c817a7031ce50d40cd916b0adb8a930148b4659269a1a245ed384e395cfd07bf8a432c3f6eadc3129a85d5877b3fec1ba8c733650791132f1a616769d23576eef75563172a109deaa68da452c70d36092590754c5ded10fcc34f1e502cc55ce3b5e5aeb0aa29224e5cccb07cebc19458d929aa67ad5ed90861528ca0568e96caa8c592c43f951d72442ccbd2f13ba27c6cdbe900207f787b7f2ed0991296f0e3f8d42d0b197fe6cd7c5609117617be83208c83b49094298027eca0632bbde8c8c9ad8a98b993fef10327a0eae007aa304b6da6224452f8dc6fd185d3f84745762f517aa15e5e3ff5b57be920db3765ab96ff06fa68430f4d14142ff7042b3cd33e868d12f237a60585ecd78745b6ac1a9bc162d1ee9f5366db22ed0a28d09bf7362941689ec7790bb753f61f53d7c2ffb6924bad9faa91a896e8c24560b0f1a8e1f3fffe298fdfc6a38ad254fd7f4bc2c768877e8b6491b4021d0857c5f2fcfe9737498ef6bbb91f8c6b2a5c728789eaa45b68707cd474f9f5e19eb4d9331dd9a0ea460ccd5ae611f742669ee2f32497befb76976d791af12d986647417effab62585115c1e8e86bbf17dd2ab057cb07d83803ea26337f73e43d3830229d1313735b217561358f9210fec6acadd8d1995fb8d11028f3f3bd7ddd4a731b30292177099c1a56ff43770bfbb0e0bd3a798cbde4c7101404bb384d313542b4bd5e74e339c5f5256f8c7a30b24716a8048d93547c10461612af2eccd5a794591be7136fbae9530954e528a7e4b5700cc44e6882a45fe0c7a4ed050db4c05c0a5ffb527ad251cf18190702e61bcd760df5be830eabee0f6bea10e43d4a3d145c084464f822e7bb970b26b58a290c2fac634c8d7eb7de9185d11a34a21a7788d5499d687a9c6ce66aa1c12aabc056a32272e47b87a44af9f179f0a7bf51340361344fb5835360a7e669145b57ec7661e11ba449ac129f7291c2e96f7fb2909a34511d9da3fa6af57dbe0f3d62373c11343fd89bc4000d286b8f0a547809ea0b013c4e7664dc3ea66d5fbcdcf2203c47290b974158c7eb6c63e65a4caf5da02ee676ae0ec65b1dfc77aff29f7d898bb7bc37868ca6393ef06be49bfe068eb4d4cf2d3c8b2eea2633ed794a4fed6b4bfd75e099ce06503a3d0f5f43369cf3fb149e4a21f6aca998ce02b03b3f08dd5ada5c79a18c28bb0ee2f150948a8bccae353dcd11fbc71daedf153209fc632416b07cd91cf6aed807422851253ab01e9f51c5b50eed2d8e8864f3020e52c6ef2c115ad8b355f27712aadd09c060179caafc62919c05fff5e21dd2eb8bcb39f69b44574ba12ba2cb567648a72eb20d033730122be37d68ad136b100ed1c3aaf85504e0a982cf36c18b1d7604bc9811081f15f339f3ae442692da9af3b5ebfc1a6c69a4fc7593d8b804aae9f1f05a540622b560d0136a1ca14639eae98e43bda7e8d9d9e6342e386a9a414d4549c1f9207dbf33cceac040100dcdf460fc13a040c4ddbc6ca6048e691680058ab69a7ec221ce22c7c6b6a598f3e645d55ab800f3dc14038af74349eb38a4554313ba4a4e6f836866cb3527dc75f62b3c42132cbc532299717e12197990bfd87843800bf60cef2b8b80ac62102df5ba511b8df9209b7d017457858a849c3be7429d29313ef817575a81a992feecd59e5939dabb389fe0743e8412b7a3ef86db242f2b0414d63cd17c68ec1077726e9d4e1b10d2fd2f472a536680c386b5afc50ba89d0574bdf59a688a13e3a97ccc5d9d74e18748294c64dcb08d744c54c5f97fbf9d13ef84cfb8e18b0ce2b5e4a1b9593a5ca511ea264c3b25fd7da2a7dcc3f28fa4e7643da24e36dbd5ea7a711671f88502eec7fe60b9d1ff7c3284307c7837c9eecdcc89c0e28510aec256f9e312e7149e941260dd14a9c24cef72e2a5df050f2a6642d39cb0e907c6df01cd0bf01cfb6a68d520bddaf6284c3c133bd270af962a586381bbade0739c2ea7211434fa528dae11d48149fe55fbeba61408360c3e1a858d3bbc1a2c10abaf27fa29eeb76669a20218d889189e0dc3b9ec2faeb583447c530a5982df42de60bf225facb6206d4bc93bd33707ee1628500e305ff1c66d0a6e2cd4e4c87f0059620cfd68444f2d82548e58cea9f35f2f793083853d535de830f5c38e9b841fdb2a308c3557cc6bc2e6d97aaf4205aa5059d2dd02082c4ac94b490f4b7d5fa4c73a3c51a68b623d0490ebc3a8ff9a409f913c44cc1d3fdbec85644d7410a7900c5e344997b9b4a76d7d532eadbe0996cdb7ef328eba94447671f9ab3efd18c8699e3d465b0a6347d733a97b21ef9c4f2b7d5008b56dc71fae85b4cd88171efd857f39e3e13f786ed2049f377d85cf02bb2fc4a3c4671442362a9289339ccb2ef9a567dfc48bc7897f1f0c17c79c54492512d3b3155a14e70f6fc3a214cf0593c6ec5435f1113a01af2985431aaa136f352be39f54ade48cae86b63790c7fc549b1618402199685d0aedc85a7deebd74f812280bd2e3f386d0c5a44b368a90a5831769d8ccab20b7f448d07901fb6647d360836029c9bbebd3110ccd67e86db339e2578c02e2323b2f2a879b0ae7d46134c6f372d30b2f80252c62ab74c7f86658cfecede9794220086f3d4965bb2a4bcafa85c710ab5bf9c9c06c66c5d9d46e927a5929d3c58899a181b518836db644f810e7edb0af3931ffa633d52c5175e7314ee7725df1da58cd86ddef14e846e08c09b678738b9dfc40efa2018962f4ee2d3a5edc44b49eb69ef445bec46810a58815d59e4e19673cc06f55464c911cd944a6055dcf9a328295a4c328608d8b04bcdebd42cf5d29b557fcb33eeff88c2cb93678066c43bbdae7b0966b8f0f199e7dd5c67e2936ff8abb5e5e8eb7606cc06fa1ef6fa35f10dca70d205524bacebd9706684502dfea9965335f13bce55d7ca16462ef20f23ca505f4ed5187666062df5a0617bcaf46f6bff65e020b509a44a8579f28b1dd915393d2814eff13609af9a9a40de52a9c6aad73ff5aac1eaf864d1ff05def81390c3fdd861f2f6014e2001b18dd9c58a32225ea135843a184155ecab8e6f94a27ffd6c1adfa8764984f94a16d1fa5210be9befc2b08ab2108c1805bb91654e0b1b159bdad8826a6e00a485dc9c53978baa9db15a33646fcd9b6a832367eee0d27773673ff34e629b5a1841b8e7d6fa71b547e83791a57aad99976c26fc597400303da9734d3cf605fbc8791eeccb11396d2628a9b05900c9cb52e6cc005c09c914a46fe79bda2a54561f0f37a54bdef11de8fafbb9506051c1c9191097b6f44e3d25bbc289dad6771c349bda37558e7eeeee46173ca3b48938d5a00cc8df4d5ba9ba726f8b1cc98effa6cf4d4fee34412e133cb32b9438c667012f2523c1fb08b3091e5614dbb254daacdfc06b9b794b29f2b36e09fa271f03037b928528205ac2bd8c0c7a68d01a52e3786e71e4d9ef21927f8a57070b9263e53b9201dd679cf0f038e4291451158ee385c73f0359ea1eea9b0a0ee04aa90d155effbf3bfc064e4803a69f1fea85ce572b9168cba4e5367eda20eeb7aeede8d9a89c76d68f34be2c767163c8ecf88ee925853643370d4d61cddf812c92ff548b68913fde28d0a901a6f0d35c622cceba88cbdb6f83a84e6858214eef9cb544988e2be95639a5ce59c6d59cdbaa43ecf1ee0a56304023f87cd9e9d01e43a67fc793b7090aae2043ebe27e31b711d1562a4337bcfd58244ef25fd58ec83a7714f68b0d1974e6fb5c493fd14e085e6339af68cc76f59cf62727c59a87fa9aab4e2c5d1d1227088b4ea7a5aec64d8fff8e245555a6ff7715ef82a99bfcae49761d98310071b4eec372211abdbe73d9d6139dc050bd0d7063c8de4430eeb1652c69a49b2e99ae921504c6b9352cd315586a483d6e37051af5c6632c6c40c9b90d5b957519f7b52c82535ced3734f68a5743b341c290f386672fd1269f0a948a21e3571dd5d95f7e4b7e39bb6d2fb31f99fa95d1a7797f8437f997d6554c1ede0a81c6a8468f4c8e695c133aa121dc51c5f0033c770b04c906dd4898f4cd8163e2db9a4cecdb31e0dd721327ec70ed0dc0ee0a88feaa056582ba54c0a0e006126633173c5ae0a10bbe640570d681eeaacb0529a1b2bc127f18db1e1ab6bcb1a0000168fe700607831a5456360a2d50199d372e4ce4365095d44873efae88d62206413b9eb01c34f969e63176f89b7d496cb9670cb8d04259f58da7f2de4df90ab42a5c6543ae808234aea5ee47651ca8e101237abebe4f62c135d8bddee0aa94c87f0dc2a369918bcebe54bbe56edc7450b73ec511ac2dc53fbc914c6c742d45d566a11a7aed92ba082dbeb54b3e3e6ffcea26fbc5b3790171b0db410bb290d8bf36a948cc93ee847f0d97af272c4a5a087c61426af22842ba5276065278ce1dddfa2a1b75de2e10fa944a3d928532bb77a45bc0e4e2e7a8bee3cf23c84723012e1ad6fadac005eb2d85645a85a0ad375b9d25eca9cdce8270ecc1e3414629673862d571d720e418a39b1e00b4c9953a76de80bc2111270c1f8f9477c14f3d85806b779f4f0b93b7734bd13b9ae817d3fc3de8ded1ecdba08c2a23453a440c7e3981a4bca039103489aefc8b0e9f5ff0946e4cff3147fc3cff2608a230a040140669ca11ff19c37da6cf864ec5b6b14ef6f6994db0eaca5f2da5e7bdf1a722c9f750ad10a1d3db33866af226952d5a1874c254ad8f688665ffdbf7d55f4e05c908d4b1129df03cfcd90cdcff40c73a44f9954d68aed7485284ad4a8725d5399b3c07d6d65781a74cbdfb3855c5f1a59a5ac573fe31d4b4ef22282b1eaef72c0fd87ba188970e3cae1a7d6376c739a18e98d3cea1f7dba1bebdc046310f1671dc62e6d01dd1a3d3a342ab819cd5d856273509f0227d05e13165340e73c8d856a3b7bef2b1f2d089896ceb68ef5985d7125d5f6dca651e994e1908085149cdbc9fa53bfe2beab8e59eb50625122814af2861a0374304f411c894564a9785383d02950f482f36666b4fa2826003236736295d2d365730f1c4a65783fe3c268e95315af2f293db00af63bc632e96e05b8e5a1bbf61643b179f2a36c3879bc29e1da73fa6454094a33e9715f6c2f37feed0d5979bd461e0827e863759cfffc1448f4191bc949a425e54417e9a0937636af51c00d3ba25e775881b129ee962ee0056a5b9eb809b8c10dd5e0a120de7a31b5c6e32757e82f7842609b33139e71b99a3c7b5d419e4ba0a7804a149bc4f7524facff172ca2184390311b5415f0cbfdd46f1c7d8c977ecdc466fa63144545fdff87bd2897246a8d305ed48d845293255ae743f9cb352fe6c2bdf73693876e6f44ce585e00cf6690fb8b9fe62e62a58ab476566e78f9fbf9373f238c78c425989545d452b55503343c3c87a5a40c3f9ccf17d91c6ef4b3365f873531e0aa4a80cb0ae23ee1f3b24201bfb811601d9a4d5bcb4c8a072521b5cb73332b9e4befde277359475f67b35c539df9594609821cae810deafabe0de099469ab1677873774e6dd32b2ce2be35fe3ae3e49d28a6c2c99c67e9be9c002cb1f3752cbb24fa97d50164f1a7c56d96ffd387a46f2f91967fa9a3bfdc2ba96f34ccc77d47a9a39c76b6d97ee448e0126ca166f6de580710db5586800549938910cac9f0ed202dfff061f6491ababc807a6715da955e27c29d7f90efa4d0ee7bc07e5c2417b8ac965a74ecdf51eb20558ca081be80c91c930dd772e7af11e86bab1416a0b61a433aefea9c3270667ddf7d97232304801b04f2fe1d6f4f9be9d3f48b9b4f53983d29fef8085168184f99acc48ec5e39d70537f51203af886fc85fce68c3045072887db6cef71d2a371a079752e572eb259d9bf371482edadea9e235624b2669360dddcabfc196cd17486e5cc547b42179d3bfe271ffe131131f5ca0beca3d2efcdbe2aabd2b93ee4a76cef5a59373aed7a220242c2ae2e3bc6084d92cb8ce15272233cb88ccae3406a565ba1be4ce6f58f0d2cfd12040b0e2ec9daf1d7848a5ff58d33993f275e8575982e490899a5eb8129fa21795d2562fc12c8f5d01fbdbcd33a758ef0b0ce32830c02957928af9f774e51cd7323d6f71c2fcb00bf267d1fd6de952c44988c22b2b8039929b8c82ce9246405e9f58db202a469855d2b1e57254ec9606fd3b6e7a11d5da879a0160b5eda0a683ba85d66adca73251f576bce5e39777a9c01d1656fc783e9f620592708913480d227c999c46799ae65a4799ddd81bfd7b62c69740c26fd4755df832560ef4500d4ac554983f2bb9bf3c32570dbda1d2897bddf2095ec83903ba5e6812ea06b8ab4a493d26d9f0b23a9c631f74ad9434dc2893dc88c4ac6a54e2ddf306830f69d9dc1b124c0ed549a38d74c25e131e82cf22547bc5e5c553f59103ecb5e5fbc2d8469c8baf4d320dbd9e15d758bbf9a5942f781383104bc4c9fba15d71a06b85114535fada9c375e22ad1a6fc2b8bd286e0e3fa4ea45c15190522ebfe9b08dfcd2719f5ea3fc2281fcc30fc6f94f7430230f7d59f86b313d04e1127fcbd768bbfd7682f8c82d5476d22acb009411e570948f0869c21f75b5fe5647982ae767922d77bee2e56da8da1a91181640cf77c34b6d76a814a383ad4f71cce61e5564c2fb3c8fbded2b958a3d06a12822e78f84f45657213a2d431664029c9ec41bab12adfa89f158977cfad2490f487c15d455c66a5f1b509a986ba3c8d3c0f8b2c5fe886887e7f1c33c661529b9bf8535d8456c7ba0968024c7155cf9ec99940e003f95f5e0318fd00d47ecfe50428d01f04525137af57e3a4d051ee3040cc0372977b646c21ffdd29e31dffebd1b461e8429f766f8a9219aa46f8e7652e10feea22bf8b056c8b349fa4c5b9fc3645809b0b3d968c94ba2f503ead30174346978a3df02547e1c959f79002f5ffe26fc851c3458a76a1e5c7bdaf59a3329b0e55104864f2feb1ed4d86fa6e4ae0824f722f094acb0f4e72ab4b7c1f3faccd81702c7c69d8326c5bac178a5e02a853b1ae97f1b62f8694211adec4800890c6d5c57053b589ea6fb93bfbc7a459cf8864f62af4e9cc292558998f6026855d357f882920192e20860f4dc26d86d36f5ec6c708660e10dc51b29df9ee4df0a53359404efab368540de0d74e461104303655a3f8083ede3639195b1869ad763175d018335e574ca6fed7a141ed4addc2d6f777d51f48e1a87d918c6c4fe5378e66e11f28e3bd6b5c0e207fe9c8638f6d6b117860056ab9c60b62ff907f4911b241fa92d4f5e930d2437a2f611661b3495dddeea921f9488cd6b7f7eceb2c0e3bfc98dd1313dbb470d3e13bf6b30f384f172ba73ea67700b7613d3861fd99bb9a5aaa0c593705f9cf7c126c3bbbe18b0e6d031fa2b573cd55dbfcd37ef5a3dbbf0401d2332987b77214095b6f90d8b8e119940bbd2cfec03585b2bf9c871841f33e028c1a324a7e103287086ed28740c791d6151a6240eb12d991112772d7df64e1496b8c97acf066fa8c9e5d647ed435d71a401e5089c9ade3972308c308bc0b27f99346581416811d0607c9da7d31b317cd994750c6000ca234ee1bd326d571c2c5bbbc1d1c06c96de547cc7409cc880aca68d83065250f4b7a2f9b5c7789fdd745975d16368c208b13e4b546160adc297a4bcc7ed85a595a739cad5dccfe7775eaf3bc456b9d6034e0a63b0ee7e6a8e2510e9d49f382ffabc96243db9d0eb7e441b28dcd5eebadce42290ce0ad3ed380b49df089f563b489bc4657a338e5a96fc57b3daf050ae5a0b860a694b6e3e8b11140c98bf3e436ab22078065c34a75921af71e6f3b2c50c66087f56d7dd27d5c24110376a91f6bc17d34654dcedc0d27aa276dda51fd95a0b8b0bae5579757d2eb4fc2edac7feafb3906663562154bf2c611ad560fee4accfacd3fad24c44546b0cc176be1986a72cc0fb11bc87aa75a97d190bac1ebb4ccc1f26ffb46678a53ac972a1746a345bd5c1bb610dec0b89a850dcf26e70e714ff677c15c6d1cb88ef00c60fef6b730ce81d80b1eef15638e705c2acfdade5888ae8bb9ab22760c37b0cf14fea9cdb94de936247e1ba1c22f927573f897df62e30bcde26496fe70fe6b3bd4087279fdbef368da308634298f31a054cc29000872072c410f532a62552676a240eb2fa477bf5d56871c311edea636bb3b87f911aaad9c7e0c79eda70a08c24cc9cd75720a9f45c1f87bc55a204bc624ee8b79e54bfa40214442c517fb2363dbe12578196ebb60801ae7c1346bbc74162be5fb69baaf69588984b0699c38e1ea151868fb86ae81e9c6764bc7112645e85fa5d67b2c500569d4421bdc2aa53b2bcd6d576e1bedd4fdeda07ec8b57dbf3ec6f89371daa91e128b6039769aee263f0e09d36d6def6ad89c65a148a104d4daf59aa5964afccda3a6b2b8075d3e57a3986f580a7014ef4ccf6eee528d2473cb42b423711fef21154215207a6c538690df1f0d8786cb286ce4ca4ba94d9aa99013de078459fa9acb82c87d0adde2e294580b1cc61fd3475343ba0fe19ea007834a00520b4f77c9450a69473114dc516c4bbab2d440cdea3c01fb1ed4c9694e93e0378657a7c4ade5592922c38e7358194399184f8a5eb71a8fe7e21b1941850e3d37f2562d3675a399df49b18307e2a1ef782ae0b40eac19eeedaac1aacda5907fa93a21cc8693ba1045eee3ae2fd09c2eb6d3668065b0dd6ea3cbf4cce17080f080e365f769a7bd24edec9e388d950acaf9e38641117598887328bd4dd575aa7881de853686b1874768fbe7319564e094b7827c43a2933143e898182c267682e6f3819ecee100d8ef5d115f19b1b12376a37311f541706f3eeef82f90767187e28438a8a5b12af777f935e850803c6d5a427c24243397b7a7bd8f9843d00b7ef806dbf8a94774da749a378d3aad8b2002bdc354f3eef263dd3a53177f9a2abd79d084bd8a711fed34c4cc85a002e899bc22c1a40036857247e1975b281eb1d9ac1c98c3ad44cca79119c226d80429016ea04ea49795e4bfd923a0ce1ccc327f142b818dc1c7fc1535152617558019da7f0133f33900b66c51510017d2f9999565852d8eb67fb9d05fec2c78de54c2300dc573ee0e8a231ab5891686c533aeab79c59f134f2026141e96c0ee389456da271c2a66f44d08bef6bc9da7b4df2703300b45de4ffff2d2910ec459ea68c302381b872622862d036bf51a72e705cc74b83fb4e6618a0df753ba963b1c9870b0844e3a14bed6cbfa59c669710ea959dfea24b4b36b282e19b7e52134fb236f11ead3002a79a0a149b5825a60762a64196d782e27b99bf52e3c384862fe082b194174f87c09c5e166cd7fd1412f6ee90da976696b125592047e3a4ba3561ad26fff24bea7847f1c54b22fa4ff1f8c9a8be4c43c7ddecd2bba095b27069f8f1d9b03cfa562af7b0b17b2a0b51b92bf0e77416870e667df29b25ff341e3eeaf92e90235b65b05a929fa4a53e4bae8d46540a90d546e1f33351c1000d8ba82e31011f7d28ec5a832e50601c227b278b64af75ef9234c36b8e1ce1711279f7c16dd742e5228b33a4d4c7a411671ca4b40df645fca553f2993a8113f4946f918a13c38d4d85ae3fe2b87e8d957fda8fd67098a9ce29907d0990ef6aeec9caa311654f0096f4ec1e1e2d18f7d32a00d37a8cc0ec6f78428776d6f29a3b66c1da14ed32d289f94e1f3172aacc222c69bea11805cab8b8a5bf8c2bcfadecd47a6c6d2eff04f3695736e40dedea39b45c911272f06e9fe2d52e95acaf3d471dbc513fa45dcbabccd979948b12720238c5ef48684399e4deaab2248d49882c1c996ba13b17171da9a6667154d29d7d3eaca67517c449ca957a5bd033ae6a856a3a5bec3e5dc9263a3f1417b6b928accf16d386ae7d5423d3f14099f742e789e8c5857acce15f1c29edc93e9169aef9cc57e63ac50e420f9a13604bfd88337a93ba6e8f55883e1b62149fe959526b9f0e4e39d2d0b6374023329926ede93d6eda4a85fb5500ca89f2a8a3c54112f7ae1471cbc7360699422adfa671e0720d0207fe7a3e6f4b7fb92e985ec4b924d85495bff85a239406b9fcfe7e406e149f50f3ed45695d0ea89bdd28390ef436cd5db2f39fc70b3486a4b87909076946f6648a4f5d2129570e0265ed583f9a9c1baec95a56794349ed2dd76bcf9f70ac99b8fc1fd924dd3f92fbb58759372cc319a9275ded27bbd5071beb09c6f7966a2b0fc6a161f92faf6eb1c6e15843c42b314b74760e9d11f8162073c9af1a2a616b4d9e4b5d4f9656f9add8c07b0531d42c464972a1fffacf0e3b129bc77308882c31540b166c82b01f0f8138149507a1191dd5b855f4d23814d18353baabf6246b87ea6c55d302c868831b00fbdfa6503786a222ad1b26e4290b9e0df1b25bb365ac7bbd30a87c23230515e70506aab8f8b347d4f85aa03724a31e0344fce7f7a13add0e0f5ca9ef33cc9cc1d1f17815060e0f139e56ed814fbe1d299a4b10baf06147f8a73a8ef2f11a507fd8ef9552c3cf7ff6f32d93ca5e9560d4bc27e75b86e16e2f9b082699b66c0a6bd30bd3c6c8c9ab114675c531cc8ab23282e1500d3c28ca5164b92d6a4ec6ef45ef09277cec751dba74319f5d0e49ae33ab25c7f62c2c68b6609807137c3e4723c821eff5e5b7064eb0bf6ac0753b772624f36add1fbf2acea37150d100ce75ba2a0d73862f8e50e654a97aba5b2429b0a1f8b2136d717c1c847b000a74f9ac475a3f92058692f28a878e77ee4513fad8ed37b05944128d9da743aedf322ee04f2ceb1b830a90bc09bbfd09eeaab001ae388cee0c56cf2427fb00a8428a96237b8475df1d799b39c21fa32fdbfd78367c982ef5389637455995ea204c1ed0428814d4e9d704d2fb89e215575db4381ca809c5e445db3eb4de5347f51b6d3840592d74417a760526613ad904c4885382f519608ce7a7ee869d5799eb9a46c73587ec15834fefd063cc525aa65c87bc0a9ab34adcb7df4f837a391dd8bd926fc4f489c43d1cdbff7a9a0e6e690f600dfbf7738187a7448586e18048f6a03a69eecf91611ba3dcdf4f2d14b4c5ee8113ddec46606554f6f9ab30a9bb5d6ed3e5b7021f6f62b33d58117e9e6c0477bc59375ca92b1f804efe5dbe7598d72f451d977b877b6f4469f6a066e33b50d47ec6ba8414abf00cd2671c6b0277557fb2940a6125ea18dbe369dc1380f47e4934d6b0c8d1962948aed5542a608ac1cd2b3ded6c7ba0d62fa5106eed73e076de31fae21489e7961d7850240fda1f61b5c3a7aa8f5c4d32d8a55119a387ab858393d340656222d57df6c4957d6af129f8184a7ec3f3a579ac9fdd015511c62723ceb24c4b634b18e030663b5afeef38cbc2455a05924374e13473e59cfd6ef1c700a06e57e4bfe91f91271122891e3719fd430d63ca48da97ab9c270d83b168cae22743940fc09914811f0362cfc5eb06725d1446ae55753998ca9216a126e0e0084b788389c3902ca4cd594369fdbb6a8ed56c03d3d3f1d82db6d3bc60b04bc5a9f43ca24d96635456f8ab08c2ac04cba4e0bedbe828a2f492cca7548ef8bbaa4a411e929325dbf161722bb29548d4f973652bb5a162b3bfedd1193e1f58e9cdf038988071792b180c1480a231d9bec9247eb01ff3cee978fcfef053e98e47dc6314871d398f9533c77c9c1546887bada6186c621cadab280fe606853f25f35011e9a12b214399f9a9e6c3690c90000bc2cadd549f2d623c699f5451155d6680ac9c5236c76cc28e35653dcce149b1213ee9864b9537d4ba64b1f24f590cf019b2fdc09b3802e6bcba779278494dd4a29220ecd2bfcf209ad00326da7d3afceb6611023c814f9f62c9e2a962242037ebec491027a4029b04cc317a4a056552d86f108f89aa90a282bb014d0e61560601d912712ccca9ce4f3ad001a7a312bf92cfff8869733f21a045768fcfdec3e2997c37c7bba6d09f885c19d513de2b1f1b891bf36f814248522741d6201e49403027e7b27c64324dcdd1ed2be584b66c4a7b2866e8943f4798e452d5e6f3265488186ce40454bfe07268fff72e0328f73c7d03f041bab0a28a422385d0042a7c43a3a17918b5e95ee2c998d53e641865fff6dc8215e17606d084fa249aa4edc92ff5ac7c1ce875178823eb828030ff9c68a3fc92a84b7c58176e759984087611f298ce516afab07ee909458d46c5d496de52d02634432d4a12e748bcc856008e9b42d13ca829cd90cfdfcbb609d59a206aa08e41365f76b51c01e32c1dbb525157fa0c46e08ffc366667201282298c82b25627bfc4e674a6fe5db47607713a64bd138fbf7ac60336c6557c24c15c0b794b28ff21c1e5ab94510ff8661a014ea176ddd058c3268d0929e25fd3e3a6958f22bbfa0966b1eab58a2f01efedc17aeedb8ba9d0137f095a8e8fbdcb1a55594da6119aaf2146f065788ca831699e27be841eeee7eaddf37acb83730b848f500b7204e47ce9ae850983edafd900be609b788e4b812ff620848ef66d5e07ffa252c12a6cf0a78da19907ee1ac7f7f0a5b68f4f9353be1d4d0716031ce1b5a9e4b77b54b2bbd46f121d8377633322b24b46f441f39547b89167972e781053f143156120f640570788c90540ed2d9bbf86815ddcadd5049a85e33103a204039161fed8b76bce66900d3f8ead0740c41b17923a66016f1b930e5855256cabd2383be6f744cea8f29bb5c1543813d5916f098e8f58ad0d7401f663c68b6f5a074e6d344cfe71b1cf5c0a32cf28b788c8dd3fe9ca283c7e3e9031b492cab0a38ce9c355547e186c94f65ef0109f5236a73d653d145b9757285facce03cfa057800df405d9c11365b6fd82cc63011afb1d97fa62faabc6e9a42d9b58f59c502ee71a563c4875d8b183a6bf6debdb7873b234ca57693a61a77b6b43c68b90d60bfc14ae5fcce5d6d0949df3b90dd38f2b436b3a70b71b193446a52f3683a28df0e4f58f73756c53f34684e5597f70f3e07ba03fce52f64c47044fdd3cfc07d48bb6ca63823930f980d30bab90cd563013cb7d84ba48cd5a13473a7c7a8b2a047044d9b3513e0330a5a4bcb9deb93fb7179c948b07d2fdff3e4160f2ce1ec690407baf8264a8bffbb9287fca0619f08ab8615b80db1ddf542d4a2a2507416e01e4587ba5343a4577c13e488789ceabd2c2bfe1779f397d8d8c85128e97e167b5d51810eb08fb4b42845c93edd78397ec096bb2a9c2b7e844133ea29875efaf2facff48ca4c75f82193e4395cd397ff530c48bd7ff18c0a984e145dfd539c285f05ff48a54f9245ee019d544b8299c291805e29f1e1902f1521bf7d1d436dff1c1d71b6e11819a36c6d5d43985124e15b59e5b25502a26e84caf11d24cbb2e88bad80cf1e888242928d9766a2ba8f4a598056da248c8fccf0e2813caf3acfcff2f90f27a17babb95588fb4b2d795caa172e3d6ebe10cbf626d9947b0f79c678e943a61f4c4fc68dc68f64180e406812019004f1a87da2f7ff3c286926a20723e6d231ec7c0a48b9a39137d8628bd1cfb01a63c8f2da2874f7d8188684694702175f967f52afc92586adee7c741659633ce15fc0bb0281b9d4c93ee415553ea738147f77c390df60d711545f53eaf5eb22d48ddfa83127b8775474021b3121b4cad841e2c83e16b9aa1c6430d4868f10ee70398cc58b396310cec9509c2ec9d8c7906a457de1a313d07ca606cdb814c3e0a5b542a68d1c803c2a68b9046e36b32e7381bc3bdd04fc22d752ce14173be32000512d6c312c51f1f4a24a46b8a61af37b6d8efd24e713899a7bb9e17ca21d8224d6f702238d8e7adddb7e89e51798bb5ecf46a7c0763898abff5bf12aa4c044b4eba23212dbbd77f304a172b42cbaae1ab5e45e2bf76bf4784aeb874bb945715fcbc7a04a60f0fcc39d32d91dff53fbe6b1e58f41bce5ae556d45144966e1addf6d68caa5cc43a351cc1ba9d278b12b2a49b67215fbb2bfb15c41c52179dd7cd962fe83ac11f993a88a64b0fc09dd992dc7a64c3c7a8145fae2d73b45cf0b2a556e7a9cc496403ae60fe68e5da2b1ec1f2856d5d97c7a044281b648bc208ee7ff6b049c2dbb6615698980f2413f0cbcef3e15ad9b6056d3ca5e4697606ef902f41d6b8c21d3dc5120fc91d9a52a0e1adb3dd3d2ef897b2d826a700deddfd9f3c905e67c71fb1d7cc6048779cc231dda74478829b926a1fabde23fc4fbd080387091baf415603b51722a3a763dd4069c9634447f50082db424c1c0faa5a6f2c2504b9ef63826fd5489295b3c2c6684b5c453bfcd2161ce18abcf67aca1601f14a0d37b4d7944c16c8faa24d3458aec20a01c4b6e9483688caa494c9b9277e7183fa7cd41e1ae10e50f402d12423f131d4183149adf704081f0d8823aeeb830bae094652ab438719c759c8e26bb8e458f42ab540fed1b32cc1eddb1a1dd26a3f640abf374251e51862ea5a0e5416ab30c02a8d63d3aa840e777c5117317fa5b281e5dc4583f2d66230ded3151a6acc6131def606bf007199e2c01bcebfd94063eef572160e1717365c1175841bc87c83663e79fd8aa0c463d7d4be3ba29c1b169827f4ff668777a8906e394c5311ec1a6500451440933e7b86a6024956a00c833caca021cf95b15fcc942776272a21817d50b0f7a74d8bf17319b11385c46eefba0c43b350d00418aac0c303e23f2e024cf1d340058fdbb8f09ffe31125ffdf779bf45c6460a78533182bd23f9444bfd5179f542bff7539a9e269727d70b9806c653143deea9a3c4142bb683e4a18a58f42e1d98696f8bcf4a048df4d893bedb4d85891e3a8c035f1ea18fc5ad3f29435c22f0b218c724eaec33a2fa45ad193ed36bd33266dad808859f22b40ccbaa39cdd51cc8267bc13eee8950b4d8850917e879b4b6aa668a6a7fd5a4276356d76859d57fff5c8fc997462d4ab5afe69516b7b7e658c8e102b354a7ea55e768dce0bbca35d29a6f79d63959256ff367d420ef576981363987ff34d76a54df096f9a48b287bdddfc1607aa1bdaf968be9786b16cb446e49d8f58e12e69fa8aa7069593d821fcb04d96b5358c99d36e27446e565f968ec609060b3a1083b156e340dc83fec791f84001ebbda17d405a5adea941183105e5a72fe1ad44bbce5ac06cf188541f6a0064ca79591fe8023effaafa5a74ef096e2d4fb4e1910cf8cb434f1ba9fdb6b4294e630f917d874e365fdf91186c572df3740e83d92fb6a5ab43854088168ab72a1423a43702b431b95778328f996a70b8def520df88e5cfd7d70cdde7519268e55932d03e9fac24e781323ce13578a6b1210fe78398a6e73a071bf21cf4e2e426020d4cad4f9913fb3bf03999b05cb00e68bdc867a942c69c1d559282092fa01bb981b86f784885a9128a4f54466fee240ce56793e816d995e82af205369e15afc47fa0747cd801235a143587acb93567fb173e324a63f9d7643f01811b35313a72804fe28ee48e598b80385d5e8ba24c83b6db277375b09994dc6b1755f9760146a413ab2acce5ea724cbcf32fcc6eecf3edb525abf88b32cf2aa41b5c2293981947f3a7f0ac4bf53548e4c18cc3c9cb3a7bca17363e44676c1a27877fa252c93aad041b2fb3531237f70876bbae25c90d01847a7abfab10d2593ab2b9acbe81fa7b5586065157e917ec6a9845d4b10d1bf617246afcbb30145c9905034b1b2a1fb571634e3903a8c613f3eeb7834260687c76bc9c93495c20638f3115a049871e85ba6f3b7bc19fd09279fde449b14f171dac999f3469457e588e27fe17916e714978f51373380920c5032e9138349d53e109d855634231517a164c55ddf1e9e004e4fbd9ba1866ad5374a96f82663832e07aad4925de58b43740624dea632907c4e64b5bf07c6a3924381dda56aff4f0f0b705e0f879ac69d51252de0dc2d97c9e5b0a9a3ee4a0137d4300cdc4fe9aedead9d58ec0654f2d91e80c289a2961f76f1dec9c607dda52b918fd9a97425ad5d4b8be5f03abd500fddb2cace2c2c9c9499bd7dc42f91fcd9220938a3a89cd96545830e70419a05bbe36471ce57ec26211a07e3adefba985eb224e01b4b59261694a677e062030a38cd6549624c2ddcc464ecfda2ed5187da7c6c9fcacce3396346ae25598a2583df9bd6ad3ba5cd48ecf77e3ec6a77d280998354a47b929f9dc0dc2799aba2abf992de526d6ce6bd4c15ece943e1b17994207164b4c06c66ff22981deff82a1556b50d5b2c164689553c539e7efc410eca68c1097929a47f5098ede476f7ba1a4950974116f0d4701ce8709d265c3971bcb57d903c83158237a29a97edd752a105f593ba0cb2f74501ce734af747af964c5f6a0a41d46381e013a6a0e06f66a3c40e9d78a16e465b0ca2589e98ad75e5cb6dbbc0ce621e5a702279e34083dfdbd060ba1a6811dc5c5033cde9aee63e4aa2b9873d2cc113e3ec65fc849b4e444b30269aabb75e7cef16ad9b29eec6d2148b87850dbd6d9f43b4985797ce3712fa7ddad5d917170425f4e06f9e7f3f5553b9c17ced7c1ba7d54cd365ec915d6f4214361509831034c91c00e3a78529cd9b51d4678c1c48198ad0d7ad618c0f3fd8a15741e8eaec96b809dc26e5f0d0634d1468088497bbb36d9fdaa5d4bb7f129fd0fc3abcfda336fb2ab1155b5e7d8c56cbdf26a193c6681d35d7c1e4db2ee8bab4a2bb28ffebfa02aafae842eae1f49708026d04c280a051e2c1c5fddc29612181cd7c17019bf1f9abeef6522e5c07eddd3dc7eb230056840fa8ac0717317f96d03320cd5d7b447dc97c5268756664c7a8943a07272c3517acca7c9d26279600da08f3038cd599e0937222c5956c9dc6f1b6fbb05a5f2addbd8305580b59daee15d99b16aae3a92c28a732e262a9aaa57922fd55b5f72919ee45d5ad4684562772747d8d37f9c72c36a4d24da1cb97b5ed17f79f662fd92853d192622089d859682886bb29f51f2b6d6901078b19b0eed5c41e26c50160c47dbc9f95779b8654de2209fedf9e1fa8985f8312bf35f1fd12861f9d6de2ddfd7c6536764fea050726615c020f5b05ae05135d4f0e4ba7e1526bb64d291e46e36ca37fb7cd72f9fc97e41d413916a61b3db5fc0d02465e179c6bc184e4d661d5f6131af323f225d54ce534c63f52b73caf6d6fbcd4b08488939ad14db1d1916cb8ad31d79eb19f45e251a053b5ed350a27eacf36bced8f8a8f190cc8860402c69bc1787eb0c72464ac64b5c7af5cac66e7bd893e14ea221f7c59ca16c227526541d90322a077e866aacd2154e9e9281cbe286a6e5fbf1f13a8cd1fafc1f5878c5998a9257e0737c6eef28076c37badd6f3fc30dea19f8e4bc3f33547a257c1b7ff8d9aa649a3a6c8642254bc143537bc290c67680dd38d2b6ca932414b5f36374e17868e598692506f264927b346f0329c15f281b9bf36d6cc9a99c3521db76ceb5746b477d99ad529846f34ce660a206b21c9c9f70ed3c99eaadbb82b7d944d231ab2b9f5acb709aa1cdfd273788b6b534cc41ecd8b76bc2320d89fa0249946ec8ca19cb0ca4866f44d947c5ea2cdd19854322656797245f8637b65ddeedc90e62c50670e6f58aff4514fa3f5145904e9e134cb534043fee6b7fbc454cbb64b4c2ae870da148f5b330e7e59383883469f3c2c8ab2f067d2dfaeeddb2228ddc64317b4bd2cbb5e2716146b2b7da70fd9ffdf745dd41bc14f6d4f83fd4926169bfe9bc10ad419f9b804299d7eeed45354d7a4f2a32de8dec5ddb2071d5f9a9c4f6f2781935f2543928cb84ef4cc15427fbde98401cc724ac0608b1a2d6fee1e4d5276c3f11efd775c469f1a3273f3c468da6646564fe39471f1cb700ad8f807fcbda8c47026edad69e8331d39107e35907910f12fd91c70d24c7e7e72335dc89e08472d6579610623f36cae7869174bfdf53429c2b7d1a03bb5d716b847b7e680634f6ab6adb03a261472f09d90d702ec40861ba2010343552c3677738088b0197c56d6a0dadbbe9220858f9290efedf2d1d6f3e04f4ab59a18958d44b0c9dd3ffbbc0026ec3e167992e28b4ce65aecd7d6ef9a7bbf011934345494cc3b44f7b14dcda0e73f47dc4af340207b3859b3e8c307835698ac20f08542fa686b49bf440b34ed3780137918a78ee5d515972208a7554290a48b5efe5cbe6417c9174dfb3acda22f9491f933d6cc93ecf06dc0379482ce8889fb5155a1b732130e8bcb8c730bf38b08d0d2280e73e8197cca0fd4f217326010a102eec0a6cd1ff282a4e911f5353276447944688bf2478144fa6e72127b74779bc4d3c05c7d36bca5c34aa2babf96c712bf171501565f46cb2ba2f08064eae995fc255fc37443deef70e8c4610c458b629d9e638f74836b64bdfe3a1141949b78cc8a47d93883fbb02f7bedb3e8834d1c29d44a5933f296f71d98263db2e361b4c89d5d35749e41a120862ee2e6fe29cf55c7d3055f45b5436e1d60d1a53627020f64857cc20e204c01312b8b10680090d3842e38e3920d9e3a9e991bf9133c1c0764471c7673e828c419859e0cfacb1af4c9ab382ccd24dfb3f4d3585cb76e2a31c660ef1b3ec8df5727031a8a1c56bb38652ea682bd578be192002a733530fcc0995c1784da793a445b324483737c86def533e771cdb8b9547632fb1a7fa4e08d26f79e863c8d1f8e9f55eb2f3eb230310b8e293ba2b4cd48d574df7e860ce911a28f3a8798921d27d11ea8b484cadde2dd83d0211d486171c6beab26eed3059533a706683e363448ef023c13713e20585c4f3d109d46addbf474be1c48d3ed610517837ba0dd5aa68e3df75c93b2481943cd5c5edf86b3d6fac0bbd075a5c1892c518d817ff31de90c6b3d700b9514fe64e01e095a61ab314d2dbdda255a40bbcc90fbf1ec40d0c0ff649bacbb6addcae0cda966cb571024805275f0f09f2633f334b04d89ddf3e311147314d3dcb5db7d03a62f44dadd25b54989e891eaf0fbafdead015e933e4c899102022ad2deab392582655c409dfab0d41cbbd4801b91fbf8f7991799f6045785c6c18ef2a8ddeca097421176a703b418c2d679713619ef3cdd702c7df535b41dd1c972a9634cab5e9be285b74581c87258893943c88f742fee7cbde3740be98cdcbc3e6e9cddd3acd5015668be4e11ea24e770eeb62c9401a8f0d90e24fd997d75342c428bd2d2e057700cd5a23fddd29fc9c09e9b57e99ac7ef1609f49a0576b5c52c14bb8f87aeb8d2e185e1a94fef92d7e959999336820f3bb1216654d7fb77a24bc1f8cb9fcc7d13131e60a0afbb4d074c0a555a97041bdf7cb90f624b2977dd8e63b1ae3b32de0cf6e94dfe714cfcb968d569d49150cc023d9d2bf6152eacedd5538e0e59cc5db8f2e0665f87da28e5321212c982ab275317eb7f668aa6dbdcde06d91c713baa86ddbe1fb3b8a9e31d4c0e144fa73287cb0e06aae7bb494e45302ecbafb120181da6a7f245d59d1156166f2e2d1035035f4386aba1cfeb03c609df1add61d02f1ad6668dee60f303f44c529b832f7b36cf526585046feca377bf36a2536129deda276725a23b62cfa6778b4de8f8163daafe15a3d815489732fa3a414a6e2ad80213629f92d67cfb7b792034ff13c9cbf1cfecf445b09065a48a27783120683750cb88986f51bd713bbf2cbafdd8914262238a85ec5c93070d84ba82b1325dedd513cddf26b78b415bbf8b4d79613c52e0b92ccc2bb5f31eb6452c6780ab7cb001aaba0d1b5df245d13db043df7ac3b8750eb20bae8c2150dd677a9c72762b68845968488dd67f13163a815d0db81a53b61eab41ab1cc0c468c1655ea1f2bf59c2aa4cf5efd9d8018a1808166e402082d4dcdf1e2294245558765c4a6fb753eadd5aabc561ba63541aafae95d0ce1252751416b0a75719d933723a4b60374b7e71e9dab85f2b44e00b0013ea144b7d149b8dd2325a638e8c003ceeb239de3d8866ea84ed99be4f55aef2e94946a75f544a6ec6f41034a2211941c8e5e40adf2edb3a545b3203222077937eb316222e2323f625f36a31b41920c799f919efd9421188eb64546116a6d44008ff629ff189485efc299bd107a51d49e5279c29bbdba41a0d5b25554a9806b362024083e83b7b8da02b2b1d7b41dba2504ce3e5e07fc349d23ab7813fe49d4c4e4347b25f5e81fd9df3eb0a9a8ffd2b60ab0ebd308884ecedce26e425368a119068ed8e0ae9e0a4383f950778fd0bd50f18bbf9e634535725a71efbc4522f5b18e1abc0652fd830881c224826cf5a985cf0f21d82992f269c29f741cf0898c4a36aca363cf60e1c5ec610d78fdeed7355cc340855410fca3f555df41f1b1dd9bbc2a2a35502f4de8a647bc3ab6e74149d3b98d8e561b187512f9a34a78a7c899289b3369dc38d692ca20c7bf55f312a98f239f334ec3a06313687a63cbad549d51b26cf08017844c98d4dfe041f42d647fde19bedb9cef7a813022df1d28abb644c25c003ff32e37f8802f2a9a45803aaa73ce52be87be3faf6a878e3a92c9c51ab92b1e0472d685ffc2c7003e1ade7721311debce50259e810cddece87c59c0bd980ad668b6c688d49493f49bc652c34dc0f4246131703426331222fa8c16ad9f08035609fdc375aa9d4f932c3d6351d495818a93870c6d763cd4d63eee8f038dae9ab98c3e516f81d4c15dc118d63c7814da9fd68fa7b22f0426145df9250a0530bd5a7c44b7e58b92ee48c1b84985425aa4ef39ca7f98ce3b211d6a490e4711064901468fa2a782856038b2291d1f7d5dff36485981809a8c23b3af003f63ddeb10b2cdebc52ee2bf1857034026a62931aef3f5ebdd1ed2f4296a4347ca6b2e404770affc89fc5ec35dcf94b8521150fd5dba208b6b3055a5e9605b65e19c83bfc3eccae4dc11346ae7b0dd7ae953af20213f6720d4503003be11d88d0ba45cd8c452312cb91fcd46d75eee632ef97ca31e512190b499b557b416d6540626f01211c268ad9faf1b2dae87c08a016a5973313b0be3918b3a19c2949e402321b460616c33a7abfe51a6cf7f1b9d020ef3f3cf9d292cfe6a665fffab4d66b5729e31c47bd9bb19f2527d2a558b000540342c26922e11548ffdbe81e53aba79ca76b2d070395ad84740d6e9350a96d906e581dd3a8f25896978794fd8cea28db8ff5b423380fee1c48502d6d2323d098963dab615b32e47c2f7c7a40b25d86ddc261bcbdcd153e3765aac92b49f29bf1cf93bdd83ca82977b7306cbb2eb3a84340d31db15f8ed3f3bf8957ae2aa5996ebe67e9cd3b3a5511e0266693430519035c0c7d13cf6fb57421fcf25e1ac13fbd7a7c5f167b88bf2d1c39cb07ab412a06dff31dfd8e3015c0dc80b378370e0d19ec11d4c9d5c2fbac4797f5735eebc8c53a2fed19557f2c01038921931062411d71d6da5c63da734cf1dcdf898c1f41dbe8dd6b26dd3ee780916c6e89b929cc81567961f0b4af03939fee1a863583c071bd7d09e008c83a8b3514c57a7873c424110fc7935fcc217f8e6de86d669f15e517c05948295a2a17dbd7d1166efab5a228ba45ae3bd23d372cf1482e869a34f97895232f2d116d09829e262e882d5381797118d873880a3955d1afda899f547931a7364ae70a2b453d8d444c91aed8219ef993750a416da1ded9fb3ec614e9b54d1ac8274cfe3dd083790d6bff15815950dbd99ff83a3753a8ef79bbb12b9956de56e77fb6ba51d84b30796eb19920bc987eccd07e6ca6fe268b5f1a2c8bd877f99e2e7cf23f633510904a3de703fae0f5a02d6829ec31d93f2f4e88ae3646e042ba6f25b5f7bcc0256ef7b1d8207c9b315504efaef5a5181edc761ca1ab8cd64a684aca71ef934f28d99066e0d681aafde427498e28a6583712391cfb0bcc7ca12cd2eda70bb9531720ce2c4462d262d963851235dae06183fa953152570bff6dabe2147eac1f679f18fde30102a570c2398b54b2d4dbd30c49592332a73c4fdd5184e5efd4376cf2b19f023f62c22013a7cf3c2752bab22553fef06eeeac12f9b68bcd254356a6624a89d9e292773c1363de74ac6366f8eca1409d801af0e5fae36b6a57bfa87819e01371e2fc7e3ddeee2beb432da595c9ace30d0807205775dc37a79f02317432ac556e8d94b07b33321b60f300cec9a7f6676e0aa7e32bc002373502f2ed52c8eca00f2eb3102b38ef86c90b4e8416edb0f9e7fb03c7e189351b09ab41a529268398e420e0cc9c2fda26883aa92101152a8c1f5758577267d5d4314c252bcd297d5f9bfbda0fb6c1ff2b31e590568c7ff26481a25ff19f88327506c1a032a921d635fe8e6d5247ea9a5f2d9fe7e5ceffc41e781fd27c4f2e1a9a9fe0974d81aa2d2d8a6c9753e35f3279d786a8227bf53f8abfc8b419113bcd6732a34ae1e3cc0586997c5509acd453324aa3b725c51e862171ee8374394cc83078ec020b52983b2898aab1a983909c18f3508427702d0270763ffb3afe05cf7b305badf209b6624f9d072521218536b7e53981a56d21766fa247474580f52fb3d2b7220a91ba33593ba4a06146b5175463b8cf826db2eb8659de6951010ccfbf6221a0090d523512e44f0f2eba940574bd6d1ace780344b1c36dc6ad4bef5d169da356eccfdb68efad27ace71f4b16cd12022f92fd21d07157e61e6cdb60e7be9940d37a61c8531613e5ce9bc6dea158cc75ab9fef6e83e32647e5429602bdf5e1a8772eaa6e16f119a0502e0f272630e69f4974e58d1f863b73c753381a3d5523fbffec640e8b3c8161201e65a8c59080d2b6985721c5a74ae3f957ccc58be19dfaf3001c434e3e436d23661147bb35db058a64649970ab9441f395ae6cf973e8b9e281a29d2b279c809dbcd145e8c67daf3ba95b090a2e331e269b8958914e51913c5b23464752c5cac6ced5883f759dc382f7eddd1af557e635780a1e4405d3858560688b129256e6b129c9c4973897241207b4c76cc091a647dc7e11e797323669f28a890895daca2f23c8b11b2bf47fb74afe37e6fd3eeb3ae50ccb6d29349e36317e25f6cf97a218fdde03b4c2325e17f7677e8e3e2ac2d7e27ac3c02cb65bd424149691ca94ac8bd2c2652f64676568004958478ab15f63d9ccf770a57b8dc003c204285aff6989d2b0d139e55a5397b4d1bdfa047eff1f55c5dfab9cea456437dda139e99d9cd490ee6fe306f515a293b5399735a3d55218d25357ce7517568bebb561bb73f0f61742b41c93e05c09aeeeaaf881efb7ba568d734e32baaa2b800566099042278314788396aaa9496cc4c59cd43bf80af26ef57f7f6dedeba97df2ee2b5705d4a9be6113ec532a1f3b9ccc40ad3fbe8cb5a52ad809bc391002c9ea4384ebd9093dc60b9d04cdeec43a6152d1a46433f9d55fb088386d5ddcc8ce5c64084306d87cebbfe5ddab34a416c13c7ce22456aad567ce21d8938a7954daeff8fc7e6ca337b2cd3e32002a01aadee18fd19033a8088bf9a6beabe700e8f41a11919f5edf17a62c0d854c8ce67feb656c36db1eadc380d01ec345792fda3408c10e052493a8f71cb4c5d5bf442a049b998d6903fae22cf986179a9a6f194cb41e350f6e1bc842844f3299f6191854a5e6e8aa9417236aa1a31711efb108d9de39dc7a50387ef5241f07b4e64c738d3f1ff8a0379e53e179daf626127355728c94ae1be7ffccace04410066871246f244c55179afbfcaee06f51331d9707059f04a6cb4663feae411ee87d4eb1bfbc64924b1da7ffdd99766c186f226c422b48a04bfca054c5d08fe1fa70d6a8c472775d939f53ff58a233bd8005b602f1846c326f569a5ba7385c5a4e50d42a72499f7197c36271eb068b8021a538010ca3a87cc47f768e96d82a4baa3b5f22394feac49a44c58aa6a2dddc010a44c7ba2ea4e161240325af1412c9c5ed576e0a9e3ba50713e9611e6b3ad167496532aeeccf3b873fe17067fd20cf488b01c3b0d7a1e2d91c2a88e6a4cd280bc30f6df8822913225808831c9baebd234c6d3d1a3bccf63e7bf4bad9274f35fc93ddce3b3b38d0984cecf3e542041b8ad9f5340ef9611ac2e5aea475ee262dd455e731bdc37d83442e7cc02b35f4cddac1112944b33bf8503dd40973e5d7211bd66c84d997c59ac4b734e7e570a25423667a17a4e25d957c9a8721f13bc3976c6a22e70e8a8ea788fa3b2f210c2a1c3d48aedcbd1fd4fe811b52ffabfa8ecb7616d4281ab6a5cb8b268934c9d18cf7a9a6bf6c366bdd1bebcb48a02ad59036eeef04657d254b50a507f01478fbd6a9646e68d7a5d30b28e5a3fa13bbb71a94ac7ea47767d86253a30fb4c391d4478abbc7d7ccd616fd27afb581e42d9f5e3afd5196b0ed45eb465d3e4047a8d8fbe5195050f358709b70e5058a13021b4a5b28d8272ea48f5f09b779de8f8c2938c919867f2ea021f52ee20fa141b6265fb072f2ec8c53f2e02771aca6122f954a158823eb65260df549538fe04a400c710a2c6939e80a9565503e4d838af2f55d821eb777f5f617229f63ddc0a9f93b584c4c90e31d18ddc4fb27c6a2a40a975410475fff8e426cbe4083ac910e7a1be06a2b9561268f02958c2eb0c474162d80ec88cdea792af92742e523d580bfd7af6eff84c833c677a1c8205250159f8ec9f27da1452a54dc27c56b0af559737780d47154991cfd20349579e6d440f3141ef9f8cf4471e2fca28823e4f7d8a28c204b6fc042341663b2636d5ad3f8ff05c4e27f955ebc01121c9dcd4e544ff82f3eae05095c7eee626b43b79675ac2d37f90078dc9771a0b481ff64725d1327b734753703005e5967ffe9bf998620360c3ba6c1eed985045b227e8131eb3f4e165abfa852afa5839e939ec95f962d178676d5f7468eb66374fb55b84a4ca74f9af49b60d837d357d2eeb91fad3b231dba73b9b8ec37c52dfcd5f2026c44acae5e955a3af443dd5dcb64a7a69e91c43a74f11b23624a80da20db718b83ec1d35aa4de80e451f5631b7cb7ffec164ddeb04136d854fa5bc417567da73796aee324fc7c559193b9946e9b8f83dba3f03678cada7b636f0357dce519c4c4008260f87f4ce9e7945cecef97fe14fefa06a92649180f5605ef7d6ee123ce4d18c7beab2964c95ee2eca266b611b53c0cb634b45300bcd7c280a5f09253a074b534f07ee14750b0c67fe87147d9592968d2528d7da51d595ddc765c5cc28a898de26d7e46610760d0a99029910030caf5f3566f11067b328e90803f9985ab5141f210818940576c9260a5d9212ec76209c7121a24ad00fd64a94be986a1436c5cbfba112dc351798cb526395658e98254c377e79f8f504dad86e389d39d6efd41b579d53e2dbd9539fbacdc601561ba2d22d3b5a6b7c524d56940c9c0e599db55b9be3ca0ea5aca4fffa977e9a98b4abf55c6334c28f9c81e5bdb1867bee5ae465ec8c9d05890040e8b1760238cd8b698ea20603b9e4631156e2ab6d25a4bf04b7428e13af7261fa6ddd0cf1acd99f89662b5d23030025aedcf23ac1b110e99f58c0cda9f30ddd4d4f56baf93a530eafc03d0faa3a85e641640b1010945026a4c77a5a15b19085b8f7cde472a2915461d8dfd783b4beafef3edf859e7078655fde3d4313215162d891604aa1fbc9739b48b66d0fa9131a6e2c6d95f2ee3deedac5d8196e078802e44505ab7c1b5fc8975667bef5a6fe996d8ee7e9f0c17fd27604fc620cae2cfba8ec27b8a136e5af2d20d05a1f69455d9088949b8410d70e77a956f46bb735be7e9293fc11218022823d7977e2721ac52bd74e102f561066d32a58174dac9928b6ea07ca4288f7a5f99b31be3cb544cfbdb6cab1e29a20dff7cf08bf97b6e82a0fa6df64c181529c35ad450159b5c7045993e3dff9e7aee8d9ad50939c8d21670b0d10fe205344b704d1ea6057fc69f2bd0872160dd50d8360d3bcc40977a42f7ebd2f29aab5a1ae9bc1fb8c182a8bde16924e5ead00fab9e459a531072abaa0e2abb4e3248b9aff15047876d8f28859b4292096b8ff605da5326449e6437e069905b215b6883b5ee3a6dfe6ae893c73791a3490495e2737b07e2fc024df60a0ac3cb43d8ad02fbd9242beb590657d744d1e64ae22f500bf97affddb55951e3540926f0c011bbfea5d24f5c21348f8035b4c63ad06b328bfb03859c6ed9497052bc89c7fc3600c6b1030753d870ac8769a486c1394ac229403a23b3bff0662ee7e20db6c6c35c01f118787caa0b31e244d94ff6410ce73430d6afe6ed4a84ffbdb57ab89f042fd8f0c12c4f14ebc92dd8955e453ba62933fb0be72212fdab69360df481c204cec499fb5ca5c456d8a512e5b5af1e4d8a59559cc519afcc396d1893bda92e91e7c1479ca66c3d454a1b413c3a59a9f1ed500d1cd398d357bc4673f139d5ca493e7e5da7bd67e5272ac5e27f5df89247cf083252951524fd4010310863fc22f9fda491cb4b7cceda16b9a5470e89932ee123dc1cd54cae813786febf27ed182096d394791b8cc62cd485b01a8429a0d4111fb28fc52610996960b3b1b41a6ecb1186951b7490ca7a17aa2115ad17dc06f31e8360807578de54d728e31a5c4f73d3da67530260c1ea06fbf7a0c3d90c4281b023c9b741d93160b3e9e52929ec6f1bd5ba5f93c03c2f3925afccfecba5fe42a624303da87eb8f7a6954b7db4f8f60a01f6be3bbfaa98899f8bbc3eb2c77a92f23e048f7cf32c6872567a812eaecc062028e075452055b4e98d64ef66595405af1ecca2b4f7965a156562687d82807dbdfc2f13180aa70b28b4785053ba983a20040b105a4be151e1c4683e5c37b549edbf9e4f8a4b70a3aecaa43ecd7c9360baefdecb1bc137ec30a26fe77485f979baf3e02b5260554673fc8f3d012c49abed91d010f950806fa9bc1e2aea6870a4ed6cb90025ca54f988985618717d1f5a4940f3ca29aca173c77d36943f9d120b3b916eec222c15c9cf6973029fc2e81f30f9e6a7aa3ae95e2761f54c43d35d0a648e3ee82313c91a4a2620d4aa0fc10111f3c134053ed8e35f17dc2df8177a8db00977569109a7fe63b6ff941978400a018b54ced396540a85ca0dda5f43ed3bce08ee227ea47ad1f8f24122e5db959b9ae3f1d34fb3287722670894392b581de8aa2f6441b81331334ecb4e045466af9311edcf2ba5fa545d010ce440089d57969888792a5d1250bf794002cb783984defe68490fd2a73f1595743e11e133e58b3109b3cd4ace09ad61e89cbdc46d3fa361fb4e2874a3344c16123d2f1213895ba6c452d3acb6d06e8f7ec6c554eda5bb11522ea3f89b69bcca6f97404af25843c5fdfca0af8801fce8b2e096f0410d5f0a71060de56ca850dbbec0db806ce4d70d7e87aedb85ef41b724e208d679ea26acf862d8f99fbf0947833a223e9ddd4dbd5b909fbcfea22fb326d3be2ecd409bdbd6c523a6a61bb408b136471638547f02aaa5eea839186d82a491675af06b041a3c469cb7c9c1388dee5412da056fe9b1a2fb6cab2a70317e06f2b2ef052c0309a25c569fde1599fd0b24d20c340100ca987fa6666d25e597c093055c1c25e3b7ff615e1e8d728662c995538e17bee69d7e5c17f5f9e14a67cf7da8dd4f6e5fe967122d8298f97ffb95b29a0cda7f7051cd267f72909867d01b1d24e6c18627fa05f5b03ad67332dbfeda655e8956a1e2c5eb80f46cd335b18110649a18cdd71d32064f65b093af170b222a120d0677026222c303cb9e8e0ff54ee257bb977660e6d643cd4913df622ac4162ddf3ab0038737e4dd66e46fa2fa65acf4be28c9c897f9cd86dbc028402a6c5d33dd4e0751a5cfbbd168d0fe49855ce9070f634f9ec1f09fe1d3224e254b335362015f464e2e3225f770b46dd7b5976bb9dabce1783d8fe45df8d217bca5a80bace205a4a0432db5382dd814921881700e4848570c75037eb87b2c2efeec9c6be50a695affb256dedb7b6519a58d7bdce0e3df9911b995a0ce0a232473bc2ea398683c9b92ef3402928d999956db6ad225857ce89978e57753578412efb60430828673c1f136547f728a0497d64cbe187d8490b3b8185d3011f5c6c3a0ea194f846b40b8de59402724690590f1d9565a8e87cd8a657c106949a9aca0bbd9ad094fd473513afe0a0d2e6888b1083e89fa8a1c953f3fac6198a582361804d7be879621d0bb5e78e1757ceeb6b2c6f58b5933cb9e3ceff2dff366406885d3e58a87f38104840731a3c64885f9d2be55faad896111aff495643eace8613a7685158e8c209a9ca3c0c304f0bcd6a569296b0cdc5b148050419c2135ddef0b689362a092d2b6a0dbafa30b37eea64aa8e75de8e52ecc0526e1f2b595ff5a01d9fdc9fb0d333c1187bad98fc7f82331d772e280fa4149f0e7e8e5ee7cc00fc4664942754e320749bc718b924396b1d3a5811792d8af0c56e7ae9145d231b1b4acebbd4aa9d4e1b82041011385ed83328a98b17f3ad2bc63729d664d424c35f014f7154a4facd506926d9f43c1cb31568eb36550f39094764047f1040decd60c7bb021300cc8c0a0f6f6c98732cc2fe47b1b5e1b67ec0dd7d4cb5471b41444a5be33d39e3773b7062c95fa7de708b88816a6074c501a73cb0ec0686244376650fa8b6bea50e4674cbc71eef410a075f7caeee30eee92bbe785ec05a39c8dce83ce4560f9e1af8db4263ef50b21af3d2eda69fe57ab7a534cfb4893f8b4b3562b0489779dd59ddd7fd06b38fc99a2e5c7f1728e4150e09f2e554bb979a495028a2a75a35fee630491d6d27fd5c809ef88e66fc613a9bda01402df030c0fe878be71017c486613639613611ce5332040efc2b1e47c70f11c023631b7ba7870a46c12e2393e51697fe62af8a8629e9b030caf056330b14968ba97152fcbd105ce79c196ce4139223d1bc2b3e13e176623e912b1e008d07e30f486a2deb5b89a86b8d8ee2f0a7f8098eb81d4c1089b295e6a216625bdb893e2d348df17a8fd484067fbc7146e533e317c1cb8a75cbaf04cdc6e835ff3a55ca7b94380ee8ac38da063b6ef5c5bcb868606b9a9b0a817597f77bb3c774c363e53cca51315438d886fa1999c5136cea83aa2d6b66a80838307fdf008a8c1df2066d1c249c37a8f0789175d0cc58560647a8133f11e30ef77353c0d97c3be7f7da0262fbf968a3ca450921e26013e73b2b28a19e5c2ac8ee03b8e97d64056bde46db2e14049ed5ceebd1cfaa5c0eeab5c91fc3254a6f1893f2d728005fd9743413845404068cbcc19655418c8c280108f7c03ebc5c26ea6d6982961663b666cc84b401887444dad75559b93a31690ad770b8caf3dc7b05ebd4d728655f05bedaad71b34651ed2210e9f82a3e41d4232861a613c30821783cd97e8217d16c04b0b5f35a30228b46c2b9d4235c62dccd60b7ab477e9d1d5fa3250a3c74059a9f004fea6651e45a370abb36dd644803736715665fd6f8e909ece6765b405151f969c52de894f651a4b818fda3ef46825206ebe65a97648616d7dedb70b9fb1c663d84e17c5df57ead23f4d12353a27f10922d779e05340a4e21e8fd972b2c69d476c64934feec8f39f82211dd491e12fba4f58ae21135cd15fa802b903fbaabe5882ad8bf7745c0aca7f10b5b7c84184fa817741f7757f784d633509e33b7f40298b784e5ca21d6d68ee1066a5d3194a00e3117833724b182a631c4108cdb5dd3b64379dfddd19495c19b6cb75d898f89fdc4dd4810b8ec40877ef3caa4930ee3b7e80332f7e7829e476bc1741436dd5ad063a98f38facc3ff46084b1191ff9747adee4140c632e82e99040c31b691be9eb240bd5cf760c916240fd5b27e5be60860373cfd95cc4ef35ae913d513c62d69e0b7dacc99cb511be5e4104d4d0c1b38e760eb435da9308402a6d3554aadd62e800151079dfb31ff8177192ebdf0533c8b89faa3556bb97e2ba929792e81e49997c961fdaf2ae66758603b5af95cc3c48bba66fccb097f72d12d1d7f9e2a4ed097788098da3db41dc7a75691219dfc74555af1fcd17231c3f5fdb4211661c128a870117b40e87f4662f06b94e1ff938ea3c9923330fb610373b5f6f872f42de9f2700b05a5ebfdf13e0b9d7b965e13c1b87464f623a77c8efcc594b2cff3635ae51d2541ee83b35d0c8b7aeb73d53ebd203818d3ff1016b9425b2ce4944347fc0d5bc0876df48af2dfdcfa51efa9cf2afa7783de4d61e831e8f06c33152f443417d3673785c11e85d50960444ab1ba4b793023deedffd32a27cafa71ebb75517c9e30df0cff17caff1827def2f7637d71b1a05f7a61eac9737543dfdd14d1e4a1d7baac893bb3da4a5b3504c7033ac4921eb02c2cf6c011e58254d4cceb8a7632ab92c4b02d2d2da68313075c61d9979d9d0785772a1fa733bf79c0d3fa0b258a0a9e189d52a70a7c593586e2351f1915edc39d35cc736c61b7a477c3bdbddc5eae28142175702c257facd417bfa267c2f7b8e8ce4631cf71eba0d7d6821f17fdf0dcbddd6e0c9d449561014dcdfbee373e1460c5c501e9fb7492753ba3f64d7b746925906f2f73b335e66aeee5fe006698c89cb6966c0db7fc907203909dafa6e2f8b2046910cbec1fb722c3a279ce60126353630b45bccf5ffdb38cec933b6c32e278525fcfbf6545c5561c23dc0e63fd455855247dac8605d625067b35862970a2277cc7d69529003de313a7070c69f1a1f15b79b71a7f02b9e9400d51148e4ca720532c5d2b41f67208651170c932c250fe46a5728d2534afa71fff873101d3d836c66e71fa0729d963e51713d2293b27ba5af31400b843beb4b836d2c51529b5988bcde678064ab95c0f08c0615f37fdc5d908ca042de975f2006b505bdbaddf8688e7d367bc32a435fe0ed7492053cf91a9bb797a2f0b37feed21e196065f8fcb6f784ac7b8f4b8f467ca569689bf6b84099a46d25f2feb987dcb6fd4c1ea17b96022d600c5d365b98148d3298de1b920c208badc30022e300d5e6516758f844a7b5ad8972a0433108dc1e0477665713bf3e7efa14391006d9e4db9dcc5d21dc3f650b3afc64e3f5de5138fb18cabd89f6242fbdc68592d3453c14f517f5aa1f583280d53cce30a74e930feffc0f83227243faf7cc8a2fd613a88bc0912d45acb2af64724d044eeedff418fe52b5d3ddabd91911ebf7ea68d92caef82e348bc344fdf5e7ffb35c29af23b626358e22a2f6ece56830b7f94d92a72a2a8cfff6d306952156dedaac84061f7e24038838b3066eaef77bc7dd87f8bbf15fd4547c522a53e369305030dc06fc95ebd6253e454d501574f13ca2fd2abbd1dc2200ca0453ef728e152f56b9582ad6dac6cd4297552f4213be75c5be4ead6e87a81c30e44fb644de45fabe88bd64da8adc44b26132cfceb8f63f35fc9c796357483760c13033930c53059481412b4082e624ec0af24cea39255427143547f609ff594fdcbf763b79b6a91634f4c25424e5185a54636c9af75a3616fe363c810fb3e0800991a49779a5bc7fee46415de6d10852ddf045c2909221c7cd2a8e3ca3dde13a653b332df37c0da647a78228f2ca2432a3796903fbfd4532f8fd986f99d5165ff3682219f991ddb8786028d60801ab69aa3d0c2a365490a4816b1ad4f490bb2506d3a11fbbfe44687e4e9dfe363e44bba6d85d99afc92c7c7ed185aafac8aa51d59b3581da2794828135b07b0f70ca2551fb245406373f3e9ddbc9b6c3ce14d8cdc7a1a53bcb34a406a1bf21d5487d666c5094ab4c3630dfe72ad6b7115c96145f9f96727335bf2d5e47d5e359a24000ec51089f3e60f84fe430fe66ac4bfa134afe69ab0702a19bbadeb3944de289319b070449f2eed073e21b9101297c23086bcf400900bf8dbcf56d79ebbee4b426a0f35bed326837dc9baa1d1dbb6db87112d7f31cfc48a536d9eecfc87af15e85b1eff0429c6aaa3ce7f1545ee942b8802a577890ede89ec925cddaeb0980011fa566f925f98e650faa0e5876558f2bf1e3cd84c46df860daf48b5f6a9309f41bd49bc015c9bf6c0d0c3580abac0c251e135d36cb6ca41eb0f11aa5748760285707d35e0dde6103523b6d297172baacf7adb70006f09bf0ea70179bdd245a9c8d8a5e89d352eead7553f68dba4c08b6a364a91995d707d50e9d2f4ddc56fcdb351f9fffb83294ae6b660770ae7a7de346121f3df8b0f4b47e32700becc15fc5afcb3f096f17b045b542a20a6c37e712f6686ee1fc6830740befd074cd5277ac567517725769645a1efc48310ed485357b85d38bad526868b03b31b9ba33ea856300f3c6eb685c57dd7fe123b9c60409d7a5db3557b0f62e7042956db57b40b78581a6bfa7cc8d50a884ac23ed5079d69b92794de3f8eb33c325f7b747cab35df50a365c7ae2fb705bb71c1be5199d5a8c825d95d9ef23109044a8f30faa1deb4a2d2c18b62f976631b0c70f033262b62ff48309e6b567a1d74ae5c1b63e5a4071c18c39937cb18c81a86d073f4bf4410b8e2c4d386b0cea5675b4a89309ed53bc93bc7bf988d1c25de7d63bd9ef7124fb579c7aaea5503eb3e0c5fe50031f27f1da21161096f007ef5891af4012a57a0f98e00e97807ea6034ac0c62964ec3d2ae3cd4a7062dc7c117f1b2e33065912389ea1cecc40654c62fd80e3ae05ce61239a908a426d5f15a59e9eeb2e5afb7f3254e3dfdd8cbd30efa2fc8215a60319312bd413d39d602d969df1851a02ebec4b26faf32a563cb82d6240b675e38959177a993389a7fe8ce8b0a39f9708809839865cdb641de25e0908b0b76ce4df716ce07e75e60a743dd456d5a32f9a962893bde25946abadb75e98e85dd304022c23e3713e48f5c6d3cbbee0f40a44bce929da025615f430b4d5530e75df9766a4da415bf06403f98f3215e3531f02478facdd86ac2169b968b107a9261e91a527a8bca3cac33ac8ef79ee88309db00f6064338ec9bdd9740926bc55ab195ece9c05c3e6a489b37a0d0b2d89712102c6977f1451a6bb06a7cd04ae054b954adac8ac1f36e7fb9e7550efcb9799bdb6d768f72b64e569e8dfcbbd9e20c284c7a84a2174a4297e01949fbb4f65851070100c6eeabc57c9b6bcbec304ea8306afe62ce9caef0d07c7898973249628212f9b669de7134f68221df96eaecfa9ad3cf50b7fbe8a5d60f1ca899726e04ae71fe182692357a89c8cacc7028dc78f2f9a1c8454f34d5e63d5ac50c9c6231e00f23c555cd04d4b167760275f98ed209357275f093d8971c776f86e0f76a93626fb561a0213f4084f0faa51d1b9b6f6a107ceff00adcf2b9069d8a64b67da940da6ef3bb42e93e47640a6c1d430b73a4f718c96307c78beb07eecf66606ce1c4b024e36abb89b7c07a1f01416bfaf6be94149aa344ac2a903bcb58287642288972bdf112d7477a3baebf3df038e4cc5a4d156a7c172990da82e4fc5fb1f116c0d9ac02fd18ede5cf329b43a33f2be0173b9a8c4d30ac3a1dbdf1f4c8ece3371933a26494e637eee856695c94f51d6deb6161a32923fc50c9830e62e0e8c2707fedadd2b139f5f17dce81c63b9837c61de4dd811c7ea61d1407bbea2be922290261ebfb34cc5df36bc698376b9c0ea017b9336ae96a87444c56afc76d92e940b27c38b7a0c55a108b56512110b93cfa55b37e6e4c84905bcb771640ecfc1c9bc797f0eeaeda9f91b8a818fcc2023361b6d05117549ed579867053b4cffcf5d45cabe0a8e7e43cc1c2ad51835a47f0505dc643766bad1682fb1ca7b7b036192413b4709ce6434030a8c3b3ec72af61fed141eda9c3ca6fc0b922382d224ffacfcb8c133350eef655c129290d14f2aea81e7b6c246c4da9efa3a91c030bef4af90c8069b034f17f261fe594e1f72fe965d2e15958798d691aadd8cd87a900bd3961d23c40c707b2a0a192813b2d3d14cf26296c0662b58a56a11259d4fbedb140fcef75aec89922d08aafbc81289fa0b7ccb5638d63f4618c2f9454e3a1fa33a56ba95f77f3ec7efd268e3237f6b410e112b06dba0a509acada6c8ec48fa46760ecc6a5cd14a4085cafc776767f3b8273a6104f6f7e4d2f009d4848d838d816dd86a12b8cc1ea7eb7921e1b8045ce207db2cca0cf72903c52e0b5b87c92af5815af8f442e87c0d03e7c7e006bbfb5a48c25fe51a46f907727cde5eb110a08adf70091274d45239935eb461fb6a02b84a343848d4de2316423e67282f584739afc0e2ae4047aa6098806c8e06b5f684640beeb88f78b0acf55265b2d7b6aaa84578d24c9364e93f52722a7c1d9ffdb0b4c86765a6d5b0e17e03b2e68695555a9ef2eb05989f15ee5b2d0f4ab97c79d95383bdd4c8a49928fc3492b3f872da706a230e53bcac379daf50bbeb53ae66fd8f2547686398e27828f9b3a2cae8174cc2897e740e6fbbaf3fa4fcbb291ce683e1977698dafba83a1acc5c0bdc08aa205c8ae47cec91148b59cb23b2282ba2c640d28227452cb44b2cbe4fb904be168e901f5f2fe07963702c4f88a1f38343531c7d48ce4b46aa42c74d875a9e1e03d29034ac961302cf8307f20f00530df6a6cc635da8e6862b208af208939599eefae5c0186481caab0faa41a0d125834527cc92d4f4470ffde2a28e6c1d00e8b08f025bf1db3dc53c6fa670c96bdb6676383a784a4f88b71447aa19eec222cf307f685229e310ef8154c9fc2e7b96be6ac13c0d7354186eff9e4cf848ca75dd0f153aa82aa7649f3083200c7c664732137bb4a7d0022c946e0a75ea7daf16be48e83f8a03aff5e15ba9cb934edebdba8daa05c8aa59d21432dbe8f821707dd5fa61779328462e2055de6e78e40c72d947c588df0dac820a45299c2b3b9c4675f9abe706ba4fc08aa131077230fc1bba82e9476518166d5b279561873d618fe74bf7b1bc5745ca2d62596419484949cb1823e618ee6de41b930a654dd6f0989fb94ebcef65e6f0647298075f2f0a5c36fbf3cbb13c6f7c317560aeaaf3873685602671b33f7ae20d91b1303a818572318eb1ce1ae27499ad8fdcbc74acc4322baf95281c5c73fd87c648eec76a9f0a811298697ad8cb3c8d60e564ac6deaa2f4a57be2c8af4b2c6d77689dc5d889f247e8a773664e5622ea906cf0105231bcb85856938322ea0e6638b4dae6e3f60512d3c02aaf47ca877fc643cc74b2882b54c9abc26604787e7e13eaa90387eb12a46da00bebf7552a4ddf3cdcf60664a64646a67c53a71a518d12de60ee0ec6b80198a579f26edb594265c109e72bebaa070f85df996da19e438e2593c093702127979cfac511d47d6d5ba14fd2630b733cacd40f2c95a90570bff5fca25ad7ae6a658262583b4f6a227a705e214dd234cdcd90682737809d51b4685ee830050a6f862b35a3d9601293baa7d9954b77a92062cdbaa06104868115727b33ad3a001b064fde2bcc6c654dd49429559833a7688f77a8f39b7bde3ed7489f880bcd24709648f2102627310f75c53c3dbe7ac7c463f435aee68bc4337d6348a89cc1038188894046fbd0f4cd2622f0cffd93891f0198d792a24ccfb72a812cd8bd8ace67682d83e81be7f09819f42581faf8aadfe7f1656dfddcebbd3bdf4eef1bc4951ac4667d05f2797af61ba331083674e23a7f1079b328da0ed75f11a1dc0e81534d53cfa47b98e4d9bbf2835701cd087229a8489e2a8a1c1660138432ba2a9dca1376c81ce4e89ec6b430354b49b4b02f26a53f84ea8993634c69efbc7d3214dc7e794cd5a287ec5ff6b5ed34fbcb8700d2b5f072c13050af6e53c94ee5d3ce4097c03641e432330e56339409ad30bd262d3bd18214f58c5ff9fe73380b161bc5e3bd3e71d9c8ee238a275457fb4acc16e76473aeeba5299777df4698d6cf69cbeab6ba8ab2a2b18a804fd506412935fcab03b6d0400d1eecbd5aa32367d3f9d1ae0da5159bc49dfeb2b93242c0f6b65cc8f8cc6f56dc29e70c78180df23dd0178bfa15014e6f2bce12122f4f320b37803482f1d7b99170fb6e25a4fdec463e1fb2613486515d2487dceafc0cafabed8742725010cc8d0895e434e3090bc7fbf16e5e60a0b300a10ed5b320e06275705af6d851b0b2fc867ecf7ad85ba5c7d8002c29f9a451710ed9ac6842784242b7d9c8a9e99bc07f850094c7fa78eff91867841957fab8080400a17f1b70ca5544c0d1b512cc2d64185622afb6614fd61b886f12ffa307f553d4a420430259a17c79d32c796fce72200e8a01b1c2e6aadc8a9e9538724dc40eaa4d832d57d23dde846d7a2bd6d3e70f43cea520441179d47c05f9da7a9db723eb8a736ae7739b6b25435b15698d5dafdf8616d23db6ff4a893b365ead5eeef4182b37a5a46a4da2040df3195c1476fe53c5d4e11825edc5fa0a6f05aa0a84be04936da7162fc26098681093d3261029fdd7aeaffbedbf67108b1bbfc3e90b8d5ac35f549f256344e45358556c2fa08754b25df5cc5919bee0c73d767429b1f19d482ceb07cb2f28ec4a69691f1ef572ad34478b1d87efd774b3b9fae997afeb2f30a4f83ef26056dc2eab5d1628dcce72fe2ea1a5b6672314f307c9ebea7baeae53859d52eb23b364e950e7d5c47a692a1726f765ee021c791269e791ec764aa8a03cfa4a838c7bd817652e348fdc19d885e38dbab9b55f425c0293c183b3d894b593f6a4fc21ce69f2ec9b2a876c684d7fcbdd8bef35797783815fdcfe2a0a8f5850401e84d96755846b0442a63d44e9dbdd9d4caed910da2d50b87fda5b4fd1f0a7b7a6ae84f44b9aef31000f8a0016202b2ca9d6128ee90f6680c75841fc1e7f22ffdbfbca62f2f853d13fd228fb2503d1e7323c1ead7bd8a9e723ecaa5eaee4ad9fdf9683aa717552497e597389f3658929d36012e8263e3954a6b1e4f8c6395d48f0f54d708c036f43960acda89a23df3ff34db742ba3b65a07c99bc825261ddeb9e198cf64d399ed6fca884d61578aa65173eb3ceac38a4ca26f9600e608bde513cc135fbb9b724003129b170b37eb1678cda82342efe3c9f2407988d5e0619f6475986263404ba694f8e9b15c91a74fad082af1786c36ccb521ee15393237df14530198c17d5d19957ec83fc526d74065f55a1e1077f2fd3e0f92318801aa92f1c81b55b9d5ce18b2654bf7977094e2a2ae864aa07dbb01196131d176a5d3225e9ba7c8e6fefbe671286b1d662e56b7189d538f607c6f6c6ba33b75e6bdd61d3d25e3f96c73cbb6a8bff454c80a6329e48f71ecc07cd61a4e47bfc1a9890d70e65e9132648dd78e8607753d9daa37d63624d5e2e73f0039d4602068a4b009ede30cd60879b37dab932843b81188d96e29e5641157af05b91e320b16c8439464cf0fe77eee07ef1bbca4a9044b938b66a584cd379e00eb79db75c39e9f910c92ceba8d138b1c51d75821906d351670f1b96788cbbc30e5a68f0477b53c01d591284035cf6cf06fa46a7e9f79ad7fa7e2b5dbc8a29391e4993aba7046e3a260e75845f5e152576853b5aae4809a079b665dd8d6f3f2595295abde080163aaab5c7e7bc386f3e0a4e6492a17844f07e8e2f478bdf70aa43d988941ca863c0477cc5931a1323fb3e1d3345d4ab4cc76e6e4567d029daaa1c37159b9c2eed49fc2bb5d98ccc7de0591aa505a26cc526f314a3f2f451f1195b527a2681e1187fd31a05431d83f7bcd41699e93032e1b272e336c606e89ce4b078b1629567810c8f472208817ebaa8369dcf41f23d3f41371623857ee7447065dbc676f1d19e8a9e0c1cfa1c4866674d17021f5302667a0d413519bdb0fe0d44cca7e34180fbd93791daba3017fe27f14d7ca880f65fd5fc213911a75a6fd711a94cfa808c367e212ca0066a6bf422734816e7eb7cc501f312ff2daa8060aa2a5dfafb4c3536926b30f282eb11f7bb3425ae27d49fa1480112f3137640f99ef62218827af2cd3ec62fe3d414bdd1a319861c2bc1365b46f1a290a75a059a34b76279f716f4aafa8b6df8096c72c295ba8d419234b76f4e06f1f2f4303a71ef5020419fea4891e3ffb34f7ca0a5d32fbdf5b9e07ad8fcbd59ef9dc418e52d60551539b21dcf4c622f76bc4c37ffa1d7c9947e26ba2063ba48a7ccbe6d6c6f114a839e28206a9abffd6ad53f09197c63e09cdb2f1ac42df31aa11afb2b7384d188d7162c3c1849374f7f7d8a8c6972e42a2c1428da38428d067e2005027b7880baefc683f73060fc9df677a045713f924d68454b4e7de3086dd6937a0a44cc779fb0e0056ece161193f67230b666a0d40effae887ec7d6bae3a8d23cea7668979f05d6d88daafb4c78cd503bac0d0a4cca93983207339b6c40f5bade7780fdfff1a13cef6c2b70b09186d2eceaf0d6602c06e7099f081ac5e6a79e90d8bb4dc1d666195450cc0199f87f59d81aaca811a10ff05cbbadbf7c4ef47964c05e80b66097ad2715804146a349b9267ef9d55ca1d6a01ad99dcd0ce1c53ffd9cd08eb5708e0d254b8325420747e9deb48912aefa1e9538a7e1c245a44031be2a40ad82d778e6e9a25ad95c4b981df79c6794f46fe23fba5fd138eb3b1ed5c0955d03f8fb948b10790ca454c0ae87f0a2036668aa8f016f838c94fa4b609355984766c96c6b50af493008580d6b43031184fc0e312f7b2b871127521e74ca7f52f37fb2196a9c7cbdef0873f953793c8e73e43a38cdb691ea23afdd0dd87b0794c0b96d03e0bc3a246165c0243f4aba230e19c6fc308a43bae726a9dd0037586ecbb9f67baa980bb6f1fa1e55f8fd14a669ecb6f4ec52c6016c4bdea429604b022158b87a765ec26e153b179c4e409a982e96fb41eed2d58ff77d0cee9d933279686549b512a323f19e5766c4c27316b4c776a0faf954ab2a1a41fb8dda12ce3c78836e756613189b8b4e0f95195e7a9ae0b8aa78e9f2765ce3dce14220d4660d8065a1f29ca601ecd4b068dba6e9825d8719e203dc46d63278ada64acb4a0c5631ee5c6824c2c6afbd1647bbd67fb9dbf86b32659104a96cbf11901b8e046fcbe2bcb7576b5f8daf082c93ef2ab811798e7062aa938109fde7ff39d1be87de533bebed9a48249e3a3c349fd2cd74582ce888d3538c150933f56dd1fe2c6c8668be9baf9392769b4055dccade2170a1552bf8195136e1a7753d5ef72b1e33c19f63736af198a9426303701ee653ed315e682eab232bf8910271ab5ab8872367454d4cec4248f6551fd928915e2ebb81e973b35179b034a27e1b6868f9a428f5d1d8fa9918323cee6e36cec57af25cdba8c9dafe9138e99afb3b6409c9d2c65b91558bcb13bd90e45f83347f1a2b58e9189edadd2de9bc461c4c3f6778deefb80e0fd32f87626a2c0f7b21a3982c0be17a11159b35d97cf5e972ea353d695e41a80b4c201dc04f898cc1fc90ba07caa067395d06579c034ed173db333e11f978e08dbcc0747a8424828bb7d43751e69cafc1b9cda5a100aeeacb1bf3b48b6132244ea6fb2110816639d7f545ae3d189f190c7949287ed85b6dde23c664f47033777ca6ea72eb07510013bbb8773684718b3d778da761a6cd5f29808ef2d6759588a8d83bcd01897711b3bc9dcf33463a97aa0d02d5ce2b557c0d1c6150ea8bd9b885ff643b9f4a7e74617bdca1b61e08811986fa0e4912fd97fcac91c22c8eb0478fbfc38226443c8eda56beee83a723907c81b0cdd648b68d07c31d4bf887326cac400d9a6c58c87a47c1c085abeeee376cd25a1537ccbc3570219bd1ba9d9767ce1b576619364c5549d2a32856ab0427d23212594e731d6b1c49516d94bc60f1484b7a8d8471f03f04ceeb13b848a79a9b43a9004695d96876c793e778ddf7d2c6347beef9d6f8e5ad882ccb9d752d4e6cbb41a7cd6edab3209c779c749012cda35aee84f639de1b03b2289f935b81336e15cfb58f079a69c63cf66c83b86d64880f2445756d52484bc497d6a89d91c0b2ab6b69648c69f9d4464caefde960d98c929865bc889be0e40cef3c8940dd307b5453c26df32732665dfdb9ae47d8de20c205934d040054a66d9d210637ff05744577feee87bb47683aec7399ab0c4003e08ad2215dd7faa25de8d260ec9f5626c05885195d7d1204b79b8f324d18103c01dfeb40ad6b2caecf9b5b38264016b70e77d98c22bedfe6c0d3e1544aea44cd0ce41152b45477cffc23ba1e353bf5cd61afbb383daf389f594744b634a24afe5434a102d3fd3a9a727f3d6435abfc008bd1d52bb4d484b1f227868448bb7350dcdab8bbc7473bd4433fa86e10a21a43cb628779452762ec24c6febbafb07d7e9ce328c5de97484b1c8890e72f70f48e9e39e481864bb32321f9961ef6246834f698a38543014d8ca45459c771d42581a247799bec92499b99e005d826a95c2cca23dd11634245dcb9e3cecd0b3a9cd7dd7dfba202ebd35b1877ef99d18786551329695fd34449b7724fa3678c9770d5ae57116fba76df8ddf5e3c0dd2e7c0f90434ef8934cc37bb686c702bf4d2cecac2ed88ad39a1d746900daee4b5334a6ccf6ff62cce79a680aedfe63dc400ce2cbcf6c3817d8aea1a85ca2086ab544f7db3da45e2a018bed52455096a36756cd87f2d995cb15529c260c5ec284654b35bea1bd26f963615690f04b0d4ee0dcf104c57cf0e695c04a241eeef83ec4bfaa9576c7507d2124610bda5eef51ade517735c2894408bf0832cc4160af61319a16b8e2003b2bc837ad916767809d0df9a2f9f4b5334fb82736e3bf73f579e35411c51b63cbfcaa6a118489115aa762a5d275fa46837fff623040d338f331094a7424ddea80c60bee7387be866e453a755e9ebc711801d95a5061b341e9f1cb1aedbc13fa046a0d6adf06bbc9c9db30f86557163b5c97ab9d66c191ebc36ea91d2a82ca91c9168e4420c129991da8d2d685dee3bc0657b1ad5960caa17dd5be594d82df4a43bba2e7946dd27d3d19d4eaf56df50e76d561a52ab12783d7c8f33dd41f6dac1aaec9496b2ec348878e73e93a1c428eba1de8d038367ba66ad58ed81ca408bb181022a36d31f4685d63a59455f0911a13122f95cba99cdde4ecd266a7832a449a566c0fefeb23989d20226ebd043430c07009f24c75a104f509646aa6d5cd01eebb3ee23e45e49340d0d579c8f3910d8824572e1c469be3880792a603cb57a513dc9751ef13a8eb892b40f62a09f4790e425fb88c167d93be9e31f22f711c4cd8b160af34fc962cee85331717ddbd1bab9c2b0f3eb9a39d446b4c7e41f56c0c19dc59a7d0c4cfdbd4520424fc698f21abe9ebde3db872c4625042d524e862b4ce304687f9d37a7ea05b09e5bbee06452a36180cb26faaf789589c589776766b017ed5353881a67cb567cf5c6b8367117ff60514128148b8ce7de8f9dea148da6dbb76aba453b57e9519360dd6ba7fb2d9b7ebd804309868a3a50a98e4e182930f23b8e9bd9fa7ad63bdba93a247d862221eb05458e5a7b3ee9164191d991f610907512fd7848899f92599ab3d95c65735ccdf3e71aa98eefedc083b98c5783f40bad8a71fed3e294c302bf75b9a75354caec406e214a90a9466f39a464488cdcd00c92a1e31d3dd342ae7ef7a777c194bb42bca1472fcd22067756fd188eecc9fafd047ab9ddd8fec21e98e8dc42f778cb927f9f13a1e72ce11028f46795f156bf596bee3717dfdb723f98b067f62039f15451b8c5461b1a63d0506c350a7b8c1af51fabb16a61e419f8e67ef47cc946454a49f54ec134303466f80b4049f572d97f1e43d7636f5940bd0c332a9db85803d714c2bf328c081d2d46e59cbb40ed156eaeed3c706211c0b344fb2f3e6bf1f8d920fca0b947a1eadb8452eca1221cbac12ffdc0e9aa90af9638857747dd0daa160d01c64f5d8ec5f3af992a3f40026761b00f45567b691478a87a34158444fb2473db933f97aea0d155249962687e9572dff5d3c1d6b66270e1cb67b1c9040e4a59492151b02adf26d27c0b3818a2ea84651ebf6ad68d8269e598e0e8c334656e128d8169c877d02f183d3312956b85b6f6ef433c21194f2d1595ad93ef4453d752e5af856bc3b0eb7d457b62df1716de0de7512261db44a2c8c63bbbd534c0c8ffa0c504ff021dec09c835188274b7b98bb6024e7bb4c886e0d44407985d878fb2185133570b57f0304560e4e9ad506810775c6996382c0740dd7585f28e048f6c34599d7ed7ed9fe6f5b7e0ed2f2dbc75447b7d6637e648221d55f33867b1c0e6e16a8916d46e66ff27b5219d12a0254de75c6743bf0d831fa701280ff7822033d50d03dbfb623c67a4de973959426ad6a2a0fc984679dac691ed0a12d65b992625d76b11331c6026a2323aa6d711284a7ec1c2de517f2f872cca65141270e5d7d109895725ee00b04629106818194dfb9ca16d53f24dc98f5a6ceb39a08b53e79d3301afef81f46a24d5ac1e62752e46f53f7b84c6a74324851a8a4d2765d4e84290f137a857ac89da446b54a87be715424e444174df950f41c23b8743d3bdd5ab9cefedc61e6a1a62c1feaf1733b8afe49f817b1d4466e0b615296d24ae8d2627a17c70e603be9fc86c0bddc61134a96e43e4fc621a89c32539b98ade37d3dc931eab33008509125017b917d602e7723ddad85a33896a362c0c92937152df6e484d1cab0bed8ce87a863c59f59ad044800414c61c75cec958569edc3ded1ab375b992eb00af16644f12072a18ee2812b4fc82eaaaf3b76c1e2d5001c50e4acd639481989e61ade6744c1cd438a052da06cda2e75cfadd9075c53cdb097b9d470b7773c1d5258509506dde64cad6ef10fff9ffca688873dd6234167e38972e09c1e3f60ec9bf53c0a809f10042ba87ee68d62bfb16a4d2dfe07027f2af5bb551753d10f13045ef721e47487c5dc2f2a5eb5bf9250ab7b9f8bb163a2a6b25b4598cae0146a4ffbdf9481948c9d46b01eab290f50cccf06cc4cbe63eaf6c1f244ed3fbc5c6f5169a1c5efd2f642158a9aae938e9a7835a29121bf569b3ddf60100c94ef29a0740ec5044ece595cf9a7944a3609f34a8777b97870409d831e4f52688ff468f15d1179111451574d246fa66e7f35528e45d67467862b07c68e7e26f347e1073ff650e26b4365d0dc9f37a248906246caf784a5794cbab23970357def24a7f9a72193d5eeee559abc0b9176f82066d0702283814dd9c0fa4563c8ec45088a5ba7950bbf2fe8201f31a5439a6d2866cf60b76be3055078686f705f36c1f444764b0a9ff86c6e8c0016fb9162e12370f23411787dbab003b030bb6ab9b44a4278cb59f967c671f5a39978b330f60a9e5ad62bd03e3b7786a72509538c023c6e3dd60fc650499b8c9485b32f84073b4159444d4c6f9f0158d1bb2d83c3f11f1366404d5c34f8d62600bd3439c9759ba2ed6ec2530c4a00a81fecd4838a4121a4340db8220f3442876f40ba434b4ade79a774fbb7a6b01923951b7be46fb009d6a275673e20e17da94bbeb546148c224c33305bbdc66b987a09c4c00e2e762f1971ce5149025912ea5dc2213354b35de36db87664da07fc1e6757c7bd752247d6508a5435b7e47ebf62451956b2cdb38f742a03eeb0ed42a52e91463006192baa8cfe423d4bcca054111752724c7bbb09424508ec3a50d5247b452c0b40ae77291c51adfd7bc0e4c069ce95ea1c041ef878b218cf49ea56db7f570e73ce9caa57da075bed1d25a6a43592ac217d317c9244863ec673197e109d0a04fd5e95b222420766fe2b3b27f36d5f5497fbed33e36eee60e16ab7d85dff1f5753d80d85fe3429f876baa39c074bc6509477eb5c47f46cc703a35424cd3b16b88e94fc7889abe2c44acf4190e187cfbfacca6c87e7ddc9bf99e53285577afd50b779d48ac69eef46b0e204fd3018bd7e91dbd22fce3f7731a2dfa574e05c7207e8c7b8fc99759c8b4164dc5ae8ca3fa08824da848b612b342cfde17eebaf604bf9fc183abaa9562c4f625b36e0b92cf78c02ce56fb0073720b7c3bf04b3c54f41ed172983f4f8428ff1ec22da0e9a78d1f6556ef5fa960de771c6959839c7e1561bbc2d5e14cb049bcf377f1b3359ff91402113983e8a4452e6144a3cd239fbbd5076645c1718fac7a1c5ff7e8cb94f62cb9ddf6f1223476dd31242ffc52e88ecd766f463910b75c096a68a0ac0c40b5802fe4854347f18fa2318609cd644e31c4ae94f9de6804b8a2b577649d8977d96a665d5b3aac896567af4406831e8bd13e903479ba378a8ee8976c8077e9d366a63405ebb13d561e891d910b49e9096458b0daf32fbfd7f40ce582d2bc3752dd0172a90356ce844fe63ad7b2c0b18ae6865e802297cfd3bb0e1f11f8e4be9f6a253065f5fe528c2c8f58e83130ca98f3544b7df2c2f3cdab9920b8cb2268edced85ebd36491e48fea1e70b068e033edc7561c05c133fd08bbc6cd0e4f6fb243f3f7ddb7b2f9df56a24b3962162e4313bbf59faf7a216853edc7b534203b454911ee6667705982f0882f0c3199fd385d66e2e817dc8b80ef515d621da1aa4ac90d9feaa666fc76759ff3bfe70b9f646351a65c6e7520a2290653d1bdfe25b300c22f6089fbdbc7b35277b64f3020e37b41c9209582896adb091b1ff82675a32818ac7c477388e4c9e67ff07abef7b04b369ad10adb26fb936c75898b030c80828f512deb5f22ae8f3179cba5f31ba32e1051fbc8151c91a8e51257c7a45304476266e66cc374d60d04f54f09dafab4c638a2dfd45fd6ca8bb4dffbc9219fea3ce9ad76e4e99d8dd8ec56e0a5a451dab0cc76d5be5ee734adb51b6600163ec1135531a8654760dda03d55f6bd01350d43c0412fd29203d1c18243a8fdbb4d76051fe8f564206cee4631bc7ca1ececb1974441833a0a9adb4ac0c2bb7e1dbfb442c54a5fae529dad44e30e0a5a3cb0697d15350fdb39d3d2de076437254fb17452c0aacd6d53cd70ca0f4a9bcc29f4086696c5ebee3d105877a41b36bb7ce5d7a00dbde3589a7c40eec4113f1ff774950784c5c0bc531ef0ca2972996f803e00676121f87e362d9a7b017d2ff9bad6f183dc5a1e855a023dba8e8bbd7a9bd2e005a6054de49b974bf84db25634dcf1d747f57cbb091788aa5f4c0efa880860202287dcda07ee483852a1125e69ef05b8ccf58674d7573a5ad15e3b0f658b0f69f547779c90af90af3f2f9168e75ab14eddb38cafda08db78f7bb00500c0c652124cb2e78382ed97b2425fa073348ddbc3d9628ed390a19ffa1daeca20f988e7fa5a9858d5595de804c638889889a9f6b18f1ee248863a1f0ddd3d5dabcbbc4d23ab46d839c5a021869a14aeae90336acbe947bb1bb51b52f5832b9335e060fd6823ec8ab7c6d89a7404f964c050d51b9e3e056441c902acbd94a1267c06876f508eedbe8c43b830a29d1e402c059577766a707c2c8b63964fca4ae794878b5243152e44f019e0457f92e06bbd8c9f9aa63587018ea14d1356c8112f0c241cf1f82bdbe40c7af213de4b52c1211e21005740edaff4e584d892b0be0e29a30368c0d66d2756e0c34b1dba9510fa6a50ec5940c525a0d63b030a5eaf9273f11c539b5f0ad868160991cabc45887a56318f1b94f3141ab41bf183cbcfea3b1cbdecc4ca15ef0dc8674b46bc22676acf433c217dee7014e84540cf003ec7314c313c16d2be50340956ddb4f598006c0b250e2dc396d46f6ff674438dd16fda86c449824bcc3aaaa2db5c889f40b6e11c4d969e8db8245489a91d628aa45b6fccf611790ccb69ca1752f4fb671e25b5ca8e5484e0aa730ac0710e4718328a476c7d53a107db3c3e6f1d54ed24587ae6b2285f8d55455214e50d6a2133e78baf81d0ef643e843b22e0dc435229bdb4dc7aff88b274ca74b4e7761e46cf5e8137528eaafc59c96765f610104055c3bf62dcdfaef11856066d15b07e0b0c2d8e2d796480b5224ca81b7f3605aecd9f5a7a58f4538367009932a9366970fee47d74bcc0ae2f76dbbfbc69228fb0423e05c80c55adbcea3e855a1e141a5ddceaee3799ef87a46e46fe1b5c45a084f6ea65e82da5e6df678235b41bc5fc5f9e13850ee80b2daf443361ea671d3f97f069edc651eb52b3bd346b51f00fb15828bf9272e6a92132918f07655c069a37e7f86105b4405aced26494348886990f8b638fcc4aa63a1a474595c6a3b823491eca9d73bf04e4bc238e4d8d01e39b7f6edc82b5f85795b2548a80e0b6cd1c6a12321deb47bfdc20affd685877b826b6c1e2f7e1a2eb2f7e8db5a69ccf1d65741e32827914da9b00b0add3417131dfdffe6150420ec60886402ff39798d96c9c1995352e96e487ab3835de99a8c8960de91bfd38e98254b9aba8e34de9f861170d7fb2c85d61c0b35221a739347681edec9347f9e86813debb9a73fa81172df1b5d9c9ea47156f5a4d79fef77215f6781dd6d6be4777a09e2fecd6ff93f58e48e412731e7ca0b564c37318c5dc492dd908087d98a7491093fe860b0d7d499619b2ddb0c2bbfbabcf824817a9e0c4ce00f76fd1ec533b7a7a1e0ac81fd5e39c9af4fdc4b215a0e99843462b964cc47dc414ded452feae2571316a4e96f1d0fa22a0b6c8d437f29e7162994f294b4647c719282962b7919cf4a28351081f8d71e8bb5db5b0a435039e81a0b37851ae14b1ee6fdd3b5e58e3a3eb5e4f87a52058075e0374ac5d7b9f5981c790db134bdaed765f4bdaf8c11e98556fffb1bc9a6c429c61748b19245dd5a7cc3bddd430d3b08145c06bbf72df421c56c8cc52445923c3eff796a11164556391e1230e7e0681c049f930c7ee53415361758554242aca8daf5ccbafaf5e86cabb78d483ad19d4fd6bd078a34634e10800a6fcac7df38f4ce3bfc6f250e01ad1bb9301c44e0dd27a5becaaaf9d597c51df28e1ae11b3b6e1b4543b3443414e4c7cf3329edb96e44cebb3321f43d47ccab041a7997a74095f384fb16aed4e4ed488a06004ca80cc716514e3e7d250e8391d9448f4fae6dd5c0c7b4839c8d826ba712c0376794006d76d89aa60e1ef8d2219a779a827d0c4d823eb92bf9fcbd3783ff9fb4aed31950baf9241c8147720e922ac40a5df79531ad78407e411fbf81e518465b0fe4f17791c54c990d34b5b8f44318653cd4664344d84c40792f1bf6b5bdda5c53143677d9584459dd8342e2d79d3e716797e4463e1bd5eb0d70ace949080c0600706d55a7d2b0c51464b4e91c0b3bd17af7e9cc77392c5395b6795e72ddcaa781e1ccb3b8440748328ec4db220a89f8cfbbeefb6072a56587397276e84de52995dd4bfee87660a04aa82a45951803d4b6232358a14aec7c21141bc257e3da92641c423ff4d2431a3ea7925de08b1fc55de727e080c09c1103842b33d8897fc30d5ba1176284a03d14c791a8eabbb24fd32a31483b5969b0cbc1977418cf1e377ea9d547800f8323b575e6c32b7f31761fc1d6e9cf2089f2bb23a4d82beded2c7d3c0d16e9bf960b9c09aa14d2da37c2fec1ac94022c5e2c257cfc2479a043f671c005ec76077c3ef257934e30809c5cfabfa735ef148ca4bb2e4974c53c1f67c01b4facbfad3aae28a266c34291f429694b9c1cf65bb36fff106ca87b415cee79d0bda883e2fb05e656767c9df511cf15bc4cb437d2087e17f899920a2aa15c318092918d5c08e99cba77c0389dfa54a5e1a0ff88a8a32ee000c8a91a4ef7f81d711af041aa24deba0e32f9b4f840e085601580987aebd8479b8550d834a7af062ee8380089e66b1ebe0586118ee5a480cc0c23448ea0b32acf590a51f9ffba1e618aeb3b6662c159c7fab7b0b5575aecbe670f996767d3b2e27acaa3017d374777f9b1e70cd6bc125a61f9c9ad7ab512434bb25df5099db0415c5b7a296f2fc5b7a53333428aa9a3f91f486bcb8679cdf4a9fc4f7e2c720843fa4aed39c5d920aa5afd1e41418fe53ae85913a416f758b7782737393d9d279de7924d3348d9d1354ce3570fc167eee98f073100571012f3e3b760007e695c49b4774e06005b3fd2a7b4267d98e9627dac5fc6a1ecd0f09645c3fe420ac4b71218b4516595ae0702fc0792ce8678b2bb17187f6e8e850fc364f91d59c2d8335c9a70b0e977e954d1c493355749d77b3a3a6889894f6ead012b9a7fb3fdb4e17a98d22482a1119337008cf14039987f036548be5a1b2e9bf444f957c174b69fdad2b268bb75150f3e50408bc3dbb599cf7a7a67ad2436a40a47588c70b42d33e9438a13b6bf4ddfcc821d4ede1948329712c040d88fa5125d48d8a4d5ce4237879cf04e33d0e9c40cd0cb757fefbdafefe83ae1ad1569aa6f1523605c5fba37cdd39cf3c54416cdf086eb082114d858392ebe93f76d93a458b7536c1820431fde572cd17987dfe6e9da7989f19430d94037194ad19d01d05637d108e1d2d3e872b10e5aeeabcfdc51b661e61a59b86779732cf024f1cffbec11c89cce82ba4744824842de8c998fbe1afef9a05023eb9b059cf8078daec5763cfe77e9359ccaa161f3a9c2708bc30894505e80e0cdbf744a006398feb0f3c8c37619c911677308c30dca5575f29ea4391e40f9cc2ee13ce45a9f32ad40a5e3aaee0bc2434c5d487e4efeaef41e770f163d8c40ffae8a59f9c5b0241a22d012f1b71141a2dddf956f30ee4f261ade0538d4e067a6070ccc826263af2cf2b3c6934e1420f5daabd05340beafce9d8e3db08384c67467ab027dde8d452f32da1f3f17953b7f2abd5bbf08210e3cc791d991fd5b26104ee91b2eb30a59824dcc5db060d27a3e5258b908f0e170d0b7853c1c4335505166dae0516e1cc9e7a6a8f1d47af31f2bce214c6bd59b42bef1554d778af736017f247d53be8dbd453f28a655e0f6cb0becc3feb5da7333d427fa0c081f9ac3d5795bc978b07ef75b407a65b7ac7f67140faa8b73b6dc60e6838923f2b2b11fb93a54584d35cde8124ece4ecd3f4a98178ac3bbd1470c76224d8af0470301dc9943e1f75a7ab4738970d20a46bda962071cdb3c63fff70a3d533b2cd930b2dcf4f9d16848e94aab049bf30344a63a1049b763dd058ba2d6ca4d0c43082457646bd41152d2bca323ceb3947adfa4c46d5b1bac646af90c0d850b02c6256a96113e6c5e3ad484d6a2c8f0ee5a4bb66e0367a21604dd6ed3559afd54e99462ebd64179bd110d17699ba0a5923af4a111de50e646fceb49aa4637062aa3d279d74db6e35c7e46a7e905dc7c3eb7a05825228011e6b3fcd2849ed44538ee8138e1ef8dc5e8686de31ef898e98329398420545caa476bd3bc70cf6cdb1d198a87eae45b66b0ff604cf4b95d7dc0a46c50c3413781f8c09274a239c324b296875004bb57fdd577c1fcfe75efe4e9bab69d3fae75f4475bae5323904ce9ea6b3b5e7fa9d91a8c31efe179c39f6b2e3b2ce3423191818fafa0d555eaca68f4edddd9c5522f48794115ec019a1786e8f216d3628e7fa8ee0ee75e21aa300fdc3fc5ad218b7b7ec77f658e4347c3a160f8ab8717925f3c7805b9acbd73976a4cac52ddb241e09efbe285876d5472c4156193a7fba66d147eea6063c94c9b3fd283b6384f58687823241ceb4a7aa5408829b80d931960cf6bd114ab809a7765103a9ae7d220f874f61fb474ee470692fd11349dfd66c25955c28a34b21b7ffb46386bfc42dc3ea03a5e9a2d2aeb36362b3ca13141881151b8cc4fc10dd3df751f802ca924b3b846e480061d974a54e7c7b39a1e94201a9ed734c2a6039cbfbd96c8756b10d98213be3c698ea7240a010af1a5d6e0d8999f0b2387c2000ef52273e9e9a5e392a299cb0b242c1f873d949fec506294bbddaf74df2642d138064cdc12f5530641a3b2f1f13aa600d2850d0ff3c919651eed42d46a3e3f79114a13a74c69f22d176868c6ba74bd247d2cef49cc4a5d75878bdfc651b441eccb3a1042847f10c999f2f5700fdefd602a7100e734acd377e5194ab434557accaea6b4b2dbf9d91ab2ddffb16d8828320d1d082e7bd9fc771dc7b333660fb3d82328e373cbcde539f602d27636c1cb1745e5641724229d0726211eb66371fdd591e2113df4d1e737df5606a39fb66801a2fa70eff5498e8332352e184b18014cbdf3fcbd22b70fad2a49ae1501a96deef0577ba4df283227f82a16f479e964d49b1682d94e03dbf3c2200104a583259b43b47858b3e3f516597e13430a7d92ad2d97039e7086dfc0fcba63fd1408a40d323ff870955ed27ef11a0fd74045da9f19a5a2dab9c45e8e7c3a629730ff9372c6a271821a168c42255e532a4287a2e76000caf631d62a99621a80bc3cfbac072769b4c861ef4e5c4d3abb19701168680225ca695d7f446c0e58096daf4ac36371cd67b97e815b26b95cf5dd4859141779f5bc8cbb3a21ec3a6d8cc740ceb627a03f810c6c554391bf59831910740321fcbfe31f3321677e747dd496225e2a6e5a542a9ecdae56bd045157de3eb1e6d5b900856ec8517fe37707e24656538b5a056d40d12fd267cd8643a8c4e55f41a706fd87429500d57a25bffd7b6c07fceb5050f1d8c4b3b576c58fdec72829d7e075755c35f8b1925fc0fb0937fb2038b06a4f22ffab900a28fde41e0b01e5fb648a0d2d978b93027fd0f21ed9ba498b8a32f42519fd20e82e24cf9b13d461f31e1d59c6346fe642c53ad57a6b4984d6bfc194cb22a1a550410f5699597526aa99cacfc1b8d7a96a1632c413f0750cd30ac82bc8b0e638d12b56e7a5ecf46207daee1a1ea70aa828877c0ad9cac316a04baf06b8266aae66839ee9a791108116a500a8792fae284985e2aebc88833ae32733a32364fad2866501828d237f9f0c0982ef9c1dd8f9001ef47cc76355966de41bc03a50b2feedd579aef5acb3761d34813b165328ed73f6bed22e7bb40356ae14ccf648f9f4ce39bb698ddd0ee3bc927e3baee0ba74f4535c9a32e7b5b8bb2957efe70002d15214f05ee51047102aeed9b5d86ecf01ffd2bc1ff81ce780dcc3d24c0745ff62a14607470112b02c353a5fdcfc58f0b39e41878b562a30181e800b7b6dd0be13c11a8a3037e7ba86eb9ebd1537e37654fc30c778c3efdff12fbc9e28095e46eaf849e5c56aa6fe60b0d5701a41274b5e67932355794de02584956c12e2a1ce166f597bcacbe4b1300b9658973ad331ce9908a7b16c5fc8afee7ca39615d60f4ba083c69737d23294328cdf876dadecfca3bf233ae1f25219d76803621a1cf8386d40c7cde8b745a7f0e4688db98918a92709d9b7ff1eaa540d9ecc633082b917666c1508816ca09bd04697dd5d7f5e123056341ddaa85167d01ccbb87d85b3c9e1a6b12fa8391805fa05e7f990608c0393d58e4597d874407c939fdadaa730fb6ccdbc3275fc4d4f8971f83e9c694358f422821dc7642a33fa40d6295d489cbb85fe367d69e40ac33c634abf2d86e9311b3ad140e7843d0349073bbd11efdc202f145160b5d6701cade361ace8d6fb8b57502f0e02716590ebd18e47e2dd563c060978aefbb1d5ff72c74132f8479338c1a33df8c489297853393742de94163828862722aceac0826c17177614c2eccdf3357c125f45a92449ae78e73e19e7646c5597fb4c19f316cc587eb406762a74cf321442408549311e45c3b2aed6f96763efb7ce3c5f1ac31341feb90da1dbabbb95d1bf4c10e4f4bec8673d70489eb3fe7e6b96612bfae90dce5d5dc96ad5819196f91a7bc0a3e39e6805296247e77d4fed4480035998854022f8dfa5ea530fc9b135512af7c7b120c93e23d00401747406dff15b8ea47ed9adfcbdc3f8f408dfc0762b65d5422cfe00977216183c506491f8bbf17d8226d60f4fd50d98fe4569befb5e3f2d8fb83d8b67f74cbee7a76f135f72f5d2768cb6eaa2b76c913b67c6a8b2c2988342ae6da08373bd2efb91e8ba7d29cb6527b8f70ba139aceb0d8c25ad14d238ba4355331c5c0b96dececd4c839cb29c1bf2c7cf0d0b8550cbc25cd0bcf745e8bbc6cca431f3bdf24455db2b220ac836a6fed0edb537b8b2c008fb0602eda020a7663d855fcf66ef00c7b70cc522d520effd106fc4b6d190ba4e8091dab352992e89931bc17243dfdb70681b7f4d7ba6fd989167cc713e029c4146e4ac926f2d3076b1b5d2387ff2fb7f204826d0df3aece10f5c3b92c7fef45c854043533353b081c91c98fe83bef0247951858c18a775727e1259ffaf4130e345a675322bf51fafba5afa1183d4a935c92c8ffb24038c8295100830dd5a51659e76f1cb5f5134314517bfde32196dd25da3659e5025d87749091b90993dc80601a6ce1938c00538eef0af415efda25cbdd0932ee4a454b2ca7419023bf8cfbdda94eb6514210317899e029531156c7d118192402cc3e222c4bb7329e58471ecef05558e2824033042aca4b3b0c286aa01ea00339aa50caba6c57f09a5b379c9fd9197932c336dcae39642ee3d07ecc3e1e1f685f9b6162543b084a321c032f4b768cc73c9ec7d6861d3cea88bbf1e349368da11809b16cbf8f9eabe84624aa31ff26093e2bbd111f42aff1da1e1126ce1b4c44efc9340939a80686771cd65563632931445dc279575f8c787dbebfda3cf7ee341cecfde954a3c97b092309f5742e6c8dea5601c9800f5f936091d99d5afb03d974b12acf14ed4b418cc86d1ecb14723debcaf97b6089ac383cea2c4dfc239c555a4495601241f4622f90c6c0a32511969bff1faf359600a62d26c31974850ed58ac0da8381954ff42fb51201da3b2556f5c49674e0a146fe1f1d5b80463668241ed4daffa69f7a424f8dbe563a8e5897cfcf31cbc07b90a9c9f26b50451e949faf13d219038a54c5fcc64b0cd93f4b6cfca2fd667273563e42dbbc99d8f6172354cc706c2e2a1ed8fb70019811ea8da34ef6e8503e87c41ff2fda98328780b743ea8852ddaff880c0e6fa1dc4087e19160312bff51f56bff32917eb6e10ed9a6fb7eb518a1bee8a5b3101e5c251432b3bf7b00d108105f8a3d26a94bc2f7a5e8cd33fc243699d7688a340c8e628d56682a99c3a9a38e44fafeb8b4c609e0df85ea17c66011e0f428d23e185badb27f14000927e0f4c2d4567bd9f3e5d5eecdd76e50b17edd78026415e03c721bda8c61187d2a7db87d8a36b5a7693fc99d4564365c0770c35e61a20aee8cbe93f3226d0f8c78c5db9a7f4afc8f1bec2aa870276c8add5fcaba8f0aae006184419e407c703efd51e4c9267bf5459287e4869fb63397f48502b9dc3b07a23beb8ea744842482c6857b7a764f4089199de9146d5f735a0a411d353df6f09e23db41f142672bcdb3aaf5cd7a2bec80210051be540d40f3820700df452b3f8446e8781b89b50193125589d486ab4831f8e87ed902683d41674aaa9e6ccb768d8e5f440ec825aecd302e78d83664724025c47dc0b8f34bb9177be291dac5009a285b1a6bfd448cac2443262441732eafd93062f4e46508d0219fb5dc0d37e46e7bac5922d4a6ca07c8c1574acb9b1d6997eca8b2f88f4f3b110825b6b73dd48f14a70c1fbbae79c32bf3848e7d1004da1e6ea2bb01e25b5f488680bc32c9292f1418f842f5c4d0a5371ddf4e585d7d7fbf9103885003d34a353e0ad98bc999a0922f11f6a208b92b7232e1c444316b5c89faa391349fcd4bb0f2143d110d9af645361c36d38edd37935fa7eed742dce9d82bca53a7414e89f27113836739747bbe27a96b7fae6becc8d0be8c39451dd1a1ea928c5e2c8f4cecf641c299a0f7de8e115869f4b6b78b44ea08fa00e8941e657072008601850b8ec0377e8b7529df4534a0add4f124a1b45e05068be40e853f231142bfe705486659217432758d01d89822999d3d39023265b16b9f659c77946a6040e883f52df12e45be300876548f4494ac7f86e20bad9652da0491b0f9c91c9a4d7ea91ee293864a8ec81867c9ea7ffc628a4c3c52ae4ff4b7ddedda9e176059a24b1294a67daf4267cf3b5373c5d3ec643c816563a63b0d04d6084aa9781b7daf2e5bf38225f8d6078c13cb775e4008731f2d701463aafc4cc5d3ee0fee8e9af52273113b7e255e24f8702ab044c80b4344174250f4d6c837e6f7089313a3eeded9e1288e13e5e4c33ad74c761594b5b1587b9cde0196b3035c9c55d51853e2c60642efe92932702be40eaa9d89fd932f07883985e6eb4009e5d4208d259e4e5da5726b02838120d0ab0f0d81b0c892fbc4264e5e9df5080913dc689e219ef91664bd473efb06ea4a94cadf67ca67c3fd21a42b0fc6278882cacd7dec90b2780dfb8de0ab2bfeedbb9b58ecc90bdf7bfca03f43bdc6597161b1df4c01e4c12255c31018273206a8068e0a89fc1b9f0e901680016b5c2eeee1d0b8678531477f1369ba472a786058ee96ff2cb06cb434eeb0af2bb14058494120b6103e66e183baf0d7698649fedf18399a6f808632d2cd409db180314972634709fef7a5d52a1d1f5b82080e301636558ccadc6409e8024d853dbb94da35c05d30623562cc31bf31d54b34f2834f6e9660cbb46e0ed20a4a5eb5beabe198261dd2386e964cb260194f77dac3d5230dfe8726c094015c80b3791cfe9e5737419d4a1f33719a1ac93433bdcf677adfdce8153e94525b55e00810569674c3f667097e3e4ab35aa102902430aa5dd1adf8973fb69daf9f9fe503288c91ad580bd60640b7e145e3857c6bdcd5ce71ea19d48210421f6752a560f9767978cd0f3d7b5bd30dd3f501fec90b6d39346786836475f437f4027c2455ebece753f1e117e492f3d10f33260cd2156041f386eeeeccaf3778ffcfe40697327cfd905af3288ff91d069757128b063f9b916d1a4f9b2d6aa03a36cfa7683cba1f029fd12abf199ef203193e3a1091b53b2906db2c7aaa085e419b459264f6580cc30d187cc22f2a1968324dd6adf93404ecd396424a78846c3f91543449980088a28a95f009ea55a3d09f084674fe2d0be24684e049d5cd92c5386d2eb5c36cf229f34512681679a5e6e214cc3d8b1447ba4087a191d2b93f19dc5f694df22f4bb92358856618bbe022fb2ccbd84c125ae755afe8cbc0782d992febaad71a64fd1aaa940d0031d704c887ee148ba66c6a66cf8ab86d7d45c6c5a553c8d94cf3e62154cce99101f4a6dc6e55c817ed7db1a5d92680b6ca593cc4d175209f0ac3aebe4539282533d2690bd87d614fb4734a59be0a06b0cb6aefde6a73109195295c664d217069d153f2bfd2f87eebc9896b4b8b824c8ca4c16e17d1732130033eaaaced2f70561e11e10097ec0c6939361e2ef87ef121eea2023aa3a6267eeb3748864662df0efa74134743a1f5cdc7decac282cf14084245b8c9c23f425a10e12b4cbffc5eb7b826d6c7058705cce9d9dc36fd43feafeccbad0ef070a96b67333e87f01baaaa14eba108736da700ff0233612c305f000baf2291e00327d3616aca4fd49ea4f810bf3facd2406c3aee574d9e9c86031262d521ad1a866678a66aae562161a29a5acdcf54cfa0b30c92f3bf6746900a5be1981bb33201916bea0f0368cf5d593fefa3af94326c9d94066828ae415a712b2df04737dbef98ed1b35238f5361739e0527dbe6178375d0d687651a6020fb0e027d224a07dba17798256a2b6e0b9977a755ebfc2f563a2f610b8ebcc27d665182bc39a8517200d3bc21115cdee78f90f49fc0e8a0ee3dbadc12e951a07b6a6a1e0ad2ba714a6ee76e76eac15df998c4173ae05825fca038538df4e1ba2d5dcf86e43fca29dd542bcdcd7aadfec62469f51d2097f8948279ba7fcd0595455c50f96f852790167876a09a7bc5384c513fb777a420e389c8ba9e9f40992d9b31ad4d47a103c565d1998c144ea5192664caac2b0ecab0fb56638785bfbab5ebdb5b09c57598e2cbd4e41a3017fb67c68dc4ca4b012bc7b2e22d29b41598f906f77585bb71bf31408aa50e03ae20023875fb3e97cd2b96d03ecde21986b5e05fb906228799a7be52de113cc7b125eb266cb28b44342083f095157c410900c57e2a76ef192e3fd345c39428f60ec3c547a19de9c608e0cd836bd9916bf451bd122517bb3c78428538e336b3afabf403a8b2826a605c0d2bb052800fdbbab2bd33e3578e853252e161db67a15eab9b7db973d050fa29e39a14d389d34ee3a256765066c3afd5c4fb7d9e44f5b09b2d9d72ed36c1f7783eff82348ebabfd4efdfc4c22809d4558263cfeb6db8be0f629156e27929d03884ac572239b219b44802ca447befdfeb7f40b4887aee3c4cf70d320fac06a9cc267119ac9f274cd38a348f857105379a3385d74dc523f3d8dd52bd4c40bd59c405aebb113069e5eebb3cbc24212c4c5ac5e52cc5a3143a4c54f9dfcb0c0a23b5dd6930e914158b94412eccaea18d1470590fccb21029141ec9a17c51a0f7ff5af845ec868c0c6efd464f95948bb1759c17d7bae47dc7e8c85820610e4f9618208d4a2de82855f56282cfe735ca8bbf71d80b5d8920f436dc09f1753032cb68d9e374b4a72a8671729f6d02098429c9ce0807e81ffc950ab67835d5651063f8669d18aec0ca37a888b32d22f1d10e4656603400484e51e303dd30b029363ade941cbb6afbee623960e7e65590287ab72a1df0beee449546edd825c0b0b5f4e11877964f420fb834193e4038992b36816312a0ea8ccf57bea6443c3f48008143187e09e80a87311b354b4098d3e2eff71960d07d180fc1c7f7b8ba5d93af691d86493c7cd44e16c69cffcfb0f9513f71aea3eaa54c2fa4205d9ad63a436d98932cec47d2915a4f6a826e6aa37e11b39452ce43bd3a014e62b150503073a8406629c9d9a44fa398bb4b3ab1b4f918107761249a3ea885ffc166d04f87f45bae4757ef3ef3369a5417f49baee2df107a8dc493e87976129eed7af6eb8ebaa146470504d661a4bf5c22ff252f8f93b94833380df64280fdbe2bae7971a0865703b1ccdbcca4a267346e0599695a8e737bb5d597e17e925de32345178e3270df33bdb5349d358c46d2dd8ffa7fa5a0fb074d8edf0de541b5be636f365a9b96bbb6bfcb26ca43a8a4b0ea07ebaca3b1bdf959c6d7c1c49ad0ff53e86502edfea9f461fc8f28959e3c659059999e22f603c8a395f3b42ddb7f49ab23e7e137cde082f59fcaa6dd831565ae1bfe58fc880c0d6ccc0ada7a06dfad21f3522ee14b2bb4936132856b4fe1c0444fd6d485bffc6b36e90aaada75b564b9708458612ce605ee928bedc7d71335a23faf63ef5d4aba3f2e127ca1d9b8f65645b9b7e10115f6e9bf743a8e9613033651f77ac39cf23c4c83caffdaaf67f9bc2f5eab1a84ee482044e7213dbb51e0e3d6445f333b5a9404b75e070a306ccaec62e9cfe8e923cb66b16c3c002c97296cf05c4719820cd09e39716ee072a845e10a2013421eb382793ec131a029dc71a809e8644f359245ccf463e038fa37e02a8af4c8ea3b3adbab011162a25989a4867acecc6bc40f382d4de8faf1e2a29d7eed07159bd38d767dbfb19ae9d36a72cccc7058eb5e5622f16c8c9dd20032fdafba104357b40c3448560dda118d3f61002c86d0198ebcc3c3e06ea1dda0b67165e06036987bca206ba2ea3517dcc4380ecd20f67cd7f247c98c7a27f6f990c63c8b5c9efc2c37414568dbb81329ab77b2308fa17719dce7142dd7411dcdbaf845b275d5fd1c67bc55c4a48fb103e0258c3d9e0634ee203092f1007b40667fda54ef5f3f0af4b74e5281b854957c34570378924805a5a4f31231f65faf213f174679fdc3ea2457cf4bf02552b4bb54ffb19330bf776bde2f8668fdcc5d22a4e8b20402a6b38b351fbb8cf5c406f8aedab331acba6f6c435f2adeaf46916413c50ed6b89d02566284de3f47d57d81a81b05285123d1550e77bd7201defb355eee65fca0b32006ab93186e0277a6ebfd3dff9c38fa871e69c18a22ec4591a63cd58f100f866a665fd16ecd690d6bb7b870788612b59d302b7a96a16782bda57522146ee923b7a859a7fa615e6639ab9e86cc6f378b06454c316904de0a37b70fc54514c34394a002f278767b69dad58afaa74d0fbb2b87b946bfdacd9871b13b07807d960c25fd3d7d7b6ea2102da2a8118fa7731081e8f96579deedb0323f13ed80a753e03c6b4c8748830eb1c3d9cdba38937268b960b2b76ddab9c1cf1be4eec33a843d63d6fe19c662b105f7e018d8979c6308cdf99bb51b452279d6ff1925de4b5f3d611d30a61abd5fc0ddd425a3cd45964b4549f8ced82baa3734da79bd782296fd92fce7ae1a1ac8d98fdc87189a05126ca68730a6d568de6cb9db05278f5ac76fab15845a248138408d650c514f7c9c9758bd7963d1503b0560d1d182d893668a24734de0f14f7e5201113b26f4abc0ff0125acd1835d06e87142398d56bdf793f724a421a0ef134ce6bfd154e224719c20b7a510879f17e19fa0e594b5e5eb038e63aeb31b0fe8aa110553dfb4f92d2ae37e404385f6068fb1a49ad524fe7b3cbe67afc251ef581b7b0822de5fe2a8f164e6250b63ff696b2ae71c20707e528a1293f0e72f717efe68a9dfbb582d364f86797c2dced893a54cd6bbd91e0c301f3e4a936de4add89eed4757944b9732f8bcf57c4c30523073248d6b0359b8a31ee798c90ea0750c92395964198d961cdd3db268f11dc2d05c304f32a6d301184ff962b71219ca8dc4516b681cf31cc3de5954d9ce95294a86a686d51a0426dc4d3b3239cbca14dbe90bba7fc07de302aa2b74e83e7862feef695e635b484c91bef506396f5b01f0c7adb3b7d7f51157c4c3fd98e59947dd4eae87db535c6aa4edcb5cad6057f3ecdf25f34c1a11145099fbc37d5c2981795cd16fbd55698be475b447a3fc592c79b1cdce4d9ab667c058611a7f2c0e05626df1aca20b9f09d3b611f87d8b5a39ac46cbc585eab3cd670ec8636eb339db7b819529b8895e56d76a4c12cde0a5104d1b9839a0d0c0e4357efdbe8eb1ef77131411dc2401ea8cfcff06bab1f1cf289b73aa1cbba95dbf8d17dc9e754e4e23fb9f482ce5cadf5766e17ab614df1d91f9d4373ec5473f10a09de7c442bfa1ba3f841a8264d7cdf0e3a43f7630e6c2e6d383c314a6d9f98a7db6ff4c47eb4041c926ddb7edf60b450fb9c767aa1a0af7f4e532268f7b7694ac4a0cc7ed9012450bca3ac5c953094dfbc000f8766a64f2fd4f526725d60a4de950b15042618ce304f768282e1588510d75f077312e9001e79567757507aba366cde5cb15a66a11198f6c6824a6ec2ef56ee59bfb2cbaee57f9d93878e0152c2818aed15d7c103f644f890ef4a40d74d2d5cd42c8602c87aab3abfc96cd9441afbad976c94b9b7ea0579b85d6214c81528300ffa210bd8ebf875bad0536fb3b3c6ed848e528a255462bceca828226d17961f882d7e8b633f116a03549ce265cca3b1d9ad9d761890d83c7951c5b0c7bd412c6bc8baee357633e05a83cb3b3620cc3036a4a544cfe6be4e48b86342baea658ea0b2ed67f94f3b46d099870cb49667a6686d75d47a12ce8d61874158cd0e72ee13c7d755e32c4409d068ce5addbf1e9e064cb492aa1ba26252578e2fe37f1eb7589e65fc315b8c250e0f12b60643d6c87c29716bf0de57cb80959bfd232560098a37937738e3d67285c957ecc298248e1e07ce2becdd151730d7f35cb8e535f1cd13bcad062af321bf65298e7a6f97e5593aaed9fe54d44e79864075c977dd9a73d9485607d2b845c9f062bf713fcaa396f3c06f75c48d5859c358fd6fb3210e11cf8b42be10e005aa0936353fc27f1555488801955bf78f8e1c635731b60d1360891a9f7d269c7822c561772cb951ec90723f4971b745087ee027094fa966fce61efa0236d311f8d0ee99d5027d9440afb3b80696059d42b1ace29814ee7542c29424c11d9dccb97a4beeac91034eb759f982aa710710a0902a22c85105b62d3098be06cd39f0934c7342d4b408c335d64f2ac56083d129aa5536109e56fbfe522b62a9b0b55d6f8106d415c9bad34630402a5e7cc7ff8060f9d4fbf04e988b4b3a6bff5f3da81a72886b86b9633759bcc86019c8a9ae15317997fa9fced5dba1119847b1aabda3646c8e59f02a1ba3aeb280e2596d8f0647165a9ae18b42b0c85e6ddfb1a86d04f9af51ebac23be7422acb0e66a2112898118efaf7c2e684317e27dc85dba8497ac342069c09dba4e0f602118595d5c4bd03adcecd8bd57b1676963211bc13e94e339e23ad02aaf662e635020e46b43e2c91bf7b9bc829de100635441b64575ccaa52c68e517f81b196c7b1455c5433955cf0f4091e464ac7e4b55a954367442d9324f7f5bd1701ff06dd009adc6705fefa085e37e04bc8adc8917b2831ad1848fa83ce1df5f325460063d33d299ce9bfdc7ac68e5daeecb1caed8eddf527392cb6f76bba1715e37b3c622589ddde0bae2b2e159281f169063052d14bcd52e43b403e6a7fa2d40067fd8fe3a02146174f90bb51777eadaef1f7bcc3ceba8ca5a7815f3f37e164ecc5fbf6d23e43f082965143e7a8322a90c37b21f5be719f9f25308ae266e461245afee70531dc6817c016eb2dbaf07af9364c2919a4541252d120414b3df146864669f535b39bbe2cc56c1b3d50dfc5904b78880a02704613343a93ed80f8c39b6f5aa808d302cbe0a6b8a02ed9bb6596c7fcd119a5c512b911a4dac65f215e00bbc7d02f5f4625f55d10d8ce8c8598e233839841cced56f2e0831179b6b60df4bac513ab30785822635f0877fb3ad6d5e7f0ad71089d1ed02a8f9032b22dcffb9aec089f60cc4ced14f0f8edd11fa5b5382f1b5c6f7a8b0510cfdcea3cc981324338a37b1b0d12cf6e1ca5e066ce375f5a25335cb89dc2e01c743ecdd69cbd2406ed7ea7e612752170a9bec91f3a98d90bc9016d037204ca5c79c4905c51040392ffbd9ab707bf0ff9e3a42d624eb06e61e93c0d49e4cec0bfcc4e32a08ab4481323f71534e0a262904bd6ba959a4e9f1780925974df6d04da0f4cd5382e5277d6f660b5850992d54abc9c77afaf9b3539eb326b8ff94193aa6d8debf3d5468bf31ecc284484f38ac2c0b013eab7b9dcab20ae43ff6c2dedec9e7ea6fc4db3dc9d7b6d247c8227743c33e5423babbaf4da07065fcccc005837e1796a91c176811b74266fbe363bb296c578376bfa303a5631ea69fa9cd31c8488add7dece0fc49406342028970cf14fa90a9132a0f0b57e811b3c946256595fa43eb7385ff4e10779f03609a35b0d27efc4a5f961b7ed1fa10d200fad88315dc88b0547699bf265cb9ab7d69e32ddb4c03c1cdaf9f00c6a691a6dc8f876a619720088c9f19348c517e15c861b65e24665d2e06b43ee6c8e96fa7b986cf0b528234c18469779483b88a459969ab0252e6791f29b34f7177c5a52eb19bb2dd5033540be633fd4dd66de9fb3d11310792872e8162a6fc672d40c3c9f873c0bca2f8dfc6fa5f8f78385ab732f1fb2a9b51aadbd77d88dacad08bdd1922cf54829bf0bfc3be45ce8b546fe275c06092b9be97c11b10475912c3ae088131ef4fa518f17d4ff38f0b2a3c10427c61022c091f4cc03e64afe5e01a91bc8dcb3d378baff2dabb8170a1a52da6bf43e3438beb698eadbcd5e4714a7559d31eec757b3adcfbf9e0c3c20c3847c88957d2c37a939fc10cf81cf163d134adf7288b1b08915d29189aa22b3db17bee786f705f0c32330ab9025e766fcea1342fadf22f607c1cfe37d64a7b6a43146ce502e348816f49e35f8a122f8e036c0e295a56e2f9342adcd7dc3860eb43c480640cd60c734ca0a6df3b40836d6872364856534bd818a84e51ebd963e84bc0dd6e76dbe7f4008a1e9b67182b892c8560712ea9a39852c8ce9ec658c3c802577c7354686ea640b2c0b4f3f9c8075590ac65a12879e099028cca4d4ae449f22fd8dce9c6c27b513374bb764b16ce50b8a2243aad4f1dcac238b6b21893443c33700a4d643f6e4f80bb973f0d4dd1002e1e61d43d0c14ad863d6042420f249bb21c7632c0afd94f0791472ce340c0b844817736498ccc3c5c79b6168a73a4044a42cba3b6f3a007b05298cce413a61cf866831e14666cd56146fc125d62dda3158fd33725e1d0e4a5b26f06f49f869e650d12b6fcb57fae59a2615f34b2a65686379b76265d3bea275e1bb78cfe21b192082c4114e09f6f6c596bfb849a3c00f31f831d4969f9ec60a3071e754f690c4257173dd4e1f73c531b00cc1fc87741e287b9433b024ceaced4116262b55567a6380981cf7fd77cb8c9e2e7922c53750a518a1439b927623e64289ad37f50331571e6083c2e8eacf1237a3bd33bdbaa512d73a3a58cd4ad1df2e91ebff56ab7e4da5bd0b3554687f0af8eb2af5a8ca14b31f808b5d8965826179606b930437d3b84d2b86c6b451d1a15978a12ff2317472b4d1f6b8194280f16b80ea2245a12ea7dbed52f755f9062d651839f3115f43561030f21530fea02093cee84ff86fbc14f30518b299087d1f364f92c658f813f83bbdffef11271e4a1f06f0a8efa536517f2e490ea80413ae102c4d65778f5a38b8c56eb33dbc02157a1f2abf17701819530db78347fb0c514432b57c13b16ab416989e385c21a5de694af4dba8cfa954df97d62afbbbe76f07a3de2841a2fdd57fedb2607ad29738b14d783b544ede2e377326b5fde25c13b0a260dbdf9024fb064016f62f175c0026fe453a6cd11182c8a05240c738728b593cb6a2345943434b6df8a8c0a61cb67855c9c35543c3077b2a0e57a40efdf3173d175e82ea980cf5e1f5299c9aadd668fef42ad85a538facb6b49b2b9f07dd953586d8188dd0271efd84e9d60f94de7a934e533e3e51e5c200a6a0c715e88bcb0e8a0023cf4c3640dd6688d7ba7c8e8d1a56f10c524dd006e81082c9ea5e28468b04b794dbef9dea6880173b9081e2021ec4e7232518355ebdac081ab8af6f5d62e36f59be9972800d16830dcdb82cd208666f8db4c38024277ff4a361b81fd992e8b3fd087556cf4fb6c09dd7bdaa71a1520d43baa88ca48f8b49f9ebcc5090e788fcea81a5572e6748844d882f6eb83333b2984893033c940e422e9c182baf39316d9265f9c17e04ac230a2a16ad37af49e99cad0825f420d9b19776ab55c1d2c8fb726cbf0ed305dbee024d9ee13bf91caad6a8a514def0d3f5747f0c7864f509da94ecf8736aec9dab354a07f769e3310a59b165f3dc4a6e2da522a8b71a890452605dc8f1eaf4301c7130cbeed0ec19255de1a1f6f1cf0e8453a1cc209ce5bdf7202af4b094a714aab3d69c10d7000a31863cda895879e6c2f19f2168052950d2f370d471e506dcadfdf3b6fa8937af40051b1452573f8c2e95a88c3bbe0f845d9bf3db17c1f5c242b34d753ed9a5273add1ea8c16518e3fe3edaa62a7549a96f1c353e687f61ec54fca00bc2a99c028f6637dcc84cc826a9fa8264a4eab2281abd40133a92b0ffc1fffba37cfe34ab1c65d835819dd8486646854154a093d7d885afcf636416700a965af8e5c21dd4193d39310241b6cd49895b252ae49d92f39e9302b782308b001a2960c5c59464b2712505014f038650a90407284c347b33db29003fc98e01635f69c2cff3e6722b2322e5da76eaaf6ff90ea51883cd0fb4cc5cbcc95d434e1db804d590b4de406d09cf871e6be8a55e80cac7d89282c55ed3ae91355f995f93ee4c72d6e4b2fd01159235fa913104c1eec9aa6bbd2771484a02c811b2cd2dc7fc26492b3e4058174f558318876a1a71476e433031f16a64108b187ce6af90b722b4197b9d35de7a153ed76f5ca0c6991e7d532980c4b8dfb35bb9491126b1929682382b50ce58fe7937787cfaee53cf04f8a75c8e5e4f37aadb05953b33765528418d09790ad4bc6b3db58cd09a9d47c7d3f8934f5f496c246a3a73ec5386b262c3409038eed0cf75cb0116798a57257abcda137af23fa6883f57536071b40a5358ba9434d86be5b08f5e368e2547048b11b5b058ebbe9b02420abdbb3d97e824c7bdedc3970974e2e1419bf5a3c390caef0832ccf49414b137ef167e6950e91ad4ce61f2ec6df82f130275a5c8b7d0bdad390262b58323a7c3197df0335e4e3f08a3b3a344e81724df673dea4803686f6ad699864acf2c5e5a3a75b9cbcb48b9253d571cc83be880d9fda19f2f6f5f0aa391059027e6c2670e05f79d09e3b91bface006e67c22c92791cf6c1dadd2ba4c1aa7820add3313cf8e43c9fefda6b44a1dc78356fa1ab401e9bbad2a2ac495b8cd878a627b9026715195c697c925803a301207f188c0f0e0af9adf8fb85512d3b519248e6e4c9024e9ae992ad3782f66b3d5ade910f8e8fc950ed48242dc2c7b5a4fb38b80455a5b15a150a926ab3d936121b730c5f928c6898b1e6108417d020483f974229d51eb20d54b46d4d2fbb43cd510f4bc7044beae034e61557f42e9609a15411182938ab1d40e0bb273a8d9c2981eeab3f1bef9852953ca7230e2cbd944578a192e12043c058387d5cfbd8a8df2e5f9a00e8e82aa6f2aa9a00d72dae629882c882c2967b88f4350e6a9ba0afdb2bb51ba750e9f7b90426b6d60563294d081d15bc264df102e01ac894650eac54797eab8b8e5ebc2e23f217dd603cdc29a7c12ff09063a0b1824aad95ba2c7f73db36290277dcaef9d92c5c20e96e83a8aac695dc7a97aafc0b6ec38273007ebd332aa78a9bf4201dd460cff68914924727c44de712b50f6ea154e61dcd7d5a0a5e28468518bbacc352a4fb2a1a9285c36e4a57b7c1156686eca6cab6ff1ed69f44b4c1b5948eab41e35d43691d8f6485227e2089c2a25f88c21a3e7007a0eedf4ade2b1d719850aeb4903065f6d68d14fcb816bfc103bf9ba29f99e5e548b3c0180222f091c88275600fee0e884f7eb8a309b69187a6e32c9185b05f5cc8bb56b64639e0f72efea2a788a4334c8349383b31465a1b2b01c5620a2d478a928c726703afbdb75635b31d243f27620601a7ccc3b04d64a3e0c4218ff304e81278917e2eab09a3e162801d66a27ec51b96798caabc5b06640c4a463ea82d3a0c1df4e1bca1d13d5b19571ed1d4507406d04d4c333fe7b2ae790312c64922642ebcc4979105c395285f9d7dc97b187d4a98ed75fbf75f51cb91d920c0ef8edc5185dd053e80b874d4d50eb7c132a9727fc840ace749d338f148f72d9c698f923d108a3dc612409e739a8d467c28da7045961c7336d87c3846d8936f71beddf0245ebc06cdd5038a6d2d0633538a9b55ba19a0d3416f3e976faf057d5dd81cfc42225fd9979ff6df07240a5f2f21a717157f838b2930652125b79cd77d7085dfb4a875ca455b5d5a1820934369cbfcbb399ab7b6d68e217e1d756a210270c6f25db30bdc9131df59df01b7d373c78b432f94724bd4b6bf993b56221a55524f47795abaef6dd505be1d153c2601d76e1c3b296458dd937f43f8b8b3667c602f621b12893f7187cb3a3962f10a3100dca061422e7be913435d5324d3d92592cda17ef700d2f3c15a31d28cb5cd3cd0d649e262762cb6cc64928062b0e4888a51cdee4c61215b91e36145c8e6883f1b891369c1b6b6ff4830bbfaa31545e860b076ee21acc113ce5be1ac6a8c7a7945d644ccd96559d7d61bdadfa7cf7eead4800ae5d8af03228fa626add2f52d5942155201a698b3bdd5ed4aa122559ebc1bba3338f67ba49f35bbbd5ddeccd73d0f9f2b2dd8fae72a0c16ea0d3a7565afa256570c1b7cf8cd879cedb23d130814c2d9cc19cc43610cd2ded0f41f5f8595fe8a943f19862710b7ad526505216e48807c2902c90778d9062e88eb7bc4174f345933d22d5122cbc95f22dcd168c08f4d21dd1e1631400e83bd0cceddae809787e142fc39d1e2d021f9f6509d26accef5e3d592dbf44aa8f32fb8624425407af8b0bdd8094f1066e2c016852b599e8e1b85f066ff17ef05b4259b90e6ae607b6886464f6fda5663d6ef3782804eb1552a0ff0ddf124129bac1442f97043c5716cb4bbe3b15b74607c3bd4dde0fb7e29c067bace18913e6bd98a9ed43210ad833b205c3f4761b7d8f95cf850b5fab00a046903519ad2f7c63a69eca59df98403e1aeb46996ca3a9db14cbadd1c5d88e1294f36cce12f0f0b75d0b35bb72813a6601cf5fccb8e478905bc23cc10d405e705f452837197c63e205d8fb192232335f6fef98bc19aa427904f4f3235a23f25bedcf8bc1b96525d6898af8c0a620315ff62e62d298898625353129785d53def52905459728fe612d47bfc62649abdd065fc3bf92c205de80d45731d9585e09c07083a66533a74926102742f0e63745ac25de2f2341e2c6cef49bca5312301ce6bba1d4c7e02ddc0844d1d05cb2d04eb11c5dd4aafef451bae85377b412eec0166a8090c09898da7edc9313414c7a4ca3260e6692af6db9bd3382d09cb983e01d6b775748a0e40e7f95632d1af708332dccb9d64e7fce8deda08ac6752f30701ef0dfd7d2933a276d271429e2c9df5300800674eaac42a75862c9073464a6a52ec988500df45c33aa0c2cea6fc5bc54dfc9b5d2c8bda3e5dbe95c9b0cdc424bdff1e7f0affa9f110f1b3f48e43db6194fb2feab1bb78c1a378472e63451ad270885356a633bc1e54618e18d3ff9fb8aadd9fb31eea8c94bfa6c8ae0d84bf4a563637f449684401bf5cdc557c6f8cfca38e60fd2627fae09c2cc99ccb30d33324148cdea9e68175492ebbdecdb59b7c741875a7a4f73f261444d6400cdeab37dd2a702e00d6f59c90a1bfc6e57bb54d05f3acdd931467c1c1d79e87893a0293803db72e54f60c327c4527a3adec6181003b24aaeaf64ecc81e4b2434f42e7a191f3edfc40721025f8c73f4243a3cb17eb672ef7ee74fead3e82d923f3cabaefcd170837e42fda9c3c0339a93585ff3236cc14740595ca8e634e0df9acec95f0f06d410985954268b618074337beb17aab57bea57b2c86a2272429a3f52e152923905ec0950797572aac61aaf1df46a20c07ab21498d285afb11de739a378f447a9b50c11774dec93b15962d9b1ef052cfdcfc262e0bde0f59da4a0dcbd83836b51d2f004d89b5815a89a03ad6b965dbb6158127a28f39598427982eef6db6ad293b98191e95d7eb486a0b94f8f47179b004fa10776748c1a8dec1945feb5b7ae855cf72884bebac30cfe2b0c1139b39936879cfa116b5753e519e243f4634d3357dcce109a83d3011c104f8c8ff14c6f7d2fb934d6f5e2f3a322ade6ce6e6eb04efc1552c0f1676d277608afd61ddd9e85a081c0e9508cea25812b39f3725187c91305448e5c98a808dda287840c588bb4dab7394b125c269c275d1a47ebdd04d0a06a01555d513e315f621374dcffe97e3612328c9dff3e9809b26bcb842f77f6d012360b5e84799465968fc975d57151c575daf93412aa766f43a0ce385a18704092115065319d87bafa4273f669c527476062cdd7946cf9c6b3a4bc51a263cb0ac266c92d5d801c386b3e6a4633631484cc8b99ffe9054719c8e70f71bd98215817bef92231525968e605f36ae6fcd1052a15e9a6e0cb123a65714dddf9bde180afa8bf1c4e710677eaba88c824e7919b6e5da238daa2e86df90ee0c47a15de92820ca66ede88fdca76c2593c9b21375dd9b51cd07bffdacbd5913662b197e66d651609f8ab08b249e02b5fc0793796f1a9a5117f9a52793985190bf4be628879300503dcb7c92bf9ddd02708a73a67a5821da8934fc8e178037f16ff4c5e1a401d359eba178799f2fa5cdc604f876522797dc76e3f3040e9d8951f5c56cfcce6db6446195b5cc756f552f94b4c3b26d637455243279ffae028c241c15e3a5b8bebb7c35373fe8c51cfbc23f0db8f47e867358138cdfe729119ecc8c494c17f11702c308fc22d734fa6024c0fdc1db9784567785cd96064b8b6dda373c07a869739f15f1b3f7b2fd807d26e7d562ced97e720ee49ddcea9dcbdc869caccf612e7364d77dc70285402007c71cd870d0e014b7ef84ca3ac0131625e0d5266e8e464bb0ea83a164e1ed3efa083200ef0f80fbf8fd49ee54cc6231f07954238dee1f7d0e2530d7ddf0c7137b12bcbaf1a83ba80e322593a3c8288069dfed2b57145fa0d17c66fdf4a462ebdfe5ac35c1b29d1417e9206c4d8c08a14df7a3cadc9ab58fe77349298bc1810efd2c9dbb1d4a64f9d087fdfb3395a200b738273cf608abc919db465eb09d28ad83c38bd483e58d16c3e9abbcb69b10f4b58a935eb3cf06354b689928695c4875e9dc979a38f1f45a404445c81467cc45294ec1040b7d26021ca28b9061fa440eaf37c5a99050415828cf42d69b0c188ac4f26f90d9a96d3f7f97ad119bc09dedf74156954e54b216a03837428e43551ebca2eb8167da9062566ca220e29ccec67c7b6ce6a19f4c4e5bc00e85c15c1e2ce216716160a755b38902c5bd8bffe0824b2c6b3c91031d4423bb646a73b4518b83aa71259e7112a9203b7c1989e222dc6e45868cab1514e829ed4aa3e9dbbc438fe4f0429bea56178db401d5845eb996ae4daf08d8c4d6ced3a0ce778d408ec0a8ea055e67558858650f6ff7405f90e8e1bc92ea69c95a51893abf10308e008c9df252497b7195aefdcc6c1fe6828d9f96a48b239f2f02afbe9b70f2f4d54c86e8cc18f26634e89a4ac95af8d9b4b2a141c517216592223a132bffeeeb219a9d05c08b5b4f673e29cd6474c9d4d3f1f9db17fe2afea0ba10a1aa55aa5851618a31fb3956402bec0a63c8dff5d3b47ec328948171689c600cab49b65dfc2c72512a5287f5f29392c67e84688acc2af28be99c5133947fe2a254cd71a97903a8b7ecea169bcbdf9951cbcd933608983843d12f58d6f431fcc60c4dc1f563ea4014e2abb7a270d78f1600d7fccdbd18bccffb540190bfefd2f25ffbbf0a68abc43d29b4509d2835d033ee215097cff40c6b6f33eb35ee35df88f58b6dcad74e01656e3467f6093f97ea214a0852136704219feb78a682eb38b562d4393865345597989623ed14c3e5991c2ca3ac2db5f380aaf1def9ba6bc61215705c1203146ad3c5e29df34db1c56bbd4113e6ef70d17f3410ea03f0a09299ff7114f35cc6cbec25d10b9cbf32d6dc121f3edd70fe0bd3d7f4c6ebb051ed95006e1bf886fe538a903394627a857dda888c92d7be0762a877036dece7a936aa6cb36315e94e8944edfe238d71a511b8135af38226b6873c757d449cf0e9bb1ca1f4a96bfbca6e9392d097579b4ad258c80940343dfbede5196282b5d302fd1411c72f5a40e8abc09e047d77ad20105275e49e7b2794454b21d501947591c5dc0a4558308ef23168f893479f01161942875c6c5233b2348e8e11a87dc8b28d36af042ae0750f3968be379dba926c88ed3983a58d057fd3f450a1a0cce87a793be6d411131af22dd813bb468f2a46661bd494984f46123f19e40a23462c0754bfd1736067a5b977af59809e5e085315720de4c62ba20ffabd2721dfcf1c8ba841ed9015cecdf2f6f89b85dac6d9e2a37240a98ef839961c26e66f4179d454a377f2904501be213e30977c6255defc49d75c483f110e65983791d853e1cba2b8af2dd215a37dabeab632eaf979600697933f4f7277c9c64eb9272cab670fa34c42f2c360329cf080dbc2e777c0c9da82a15a15cc008478784672d191be93b4378aefdbc50781f848b849d10407f456ec7f9f6995c4761384732c1a2b456bf8db1b3877cec53d0f4c299ddf31cf6eeca8d8fc226c825d1ad3da60d2eb31953a465a78a7ffc5cfa84075cceb90043f1c4705927ebd57075762b6ebe611401884936e0e93993f6734933cc86044781008591256c0b6b9421e8943237fbe3fde79fddc6b5dc1838d81f1ef555e2d2d11324cec97e41d794f032fbec30d481ca3ecc660be27993e4957a0e2f08338f5ecb7f9239cc0d5e94fc02506e1d07492aeb317edc61da3ec383ddc041818c07fbd2f080e75cd248247d6712adea178715c1080dbab01a3843ca392fb639b9578c2ae31cebef1109f120dd83512f92225bb48664127334bdb4a2e01b55edf9181116390c95dc2b5e099d845fb828a2ebc832a7e4b035bb2efc5456a1007c624e4b2e6035c0e3fe262073359c3fe6c8f352ab3d5eca34f246dcf3e04a37478a10499051b4b963bd7a69eea7a0efab8aa52fa9aaf245c31e347152f7556f1f75ad21d18d2286e85508c30d9b4294d271a621f5f8f7def9a12deddcd9290c8953838a4c88e0dc807ce080ef7a0a897ec78cb59b7cf9929b537998e2b781173d79513a78b5e48e84f6a94f6d537adfb23b46b3c80b66f3d5334ec457c8509ac94c76482b205af42053e8f7bee72b86b6d4b23c33d3c1922afc3ade762ba9e6fb668382079356425a3b04125282de0a5acf734d0be74edc231c023a600c1586790b338f1df84b452f050d0a0a2c63463a91419c769354560c17f93cc049e752a66fa6bba8907d15dd82746115eda4ad3ea31b9ef81c6bb2b9d0841c0ec7f42507b511da4fbb35c582e9ea73a1d1f0b5bc1ee174d7a9cd7c40f9bafbd5aa31a22ddbba66ecdc843c57e06f3a65b2c1b36a3a87211606240912dd4579b5608b03b8825a7b623b1ab04950ba3b019e9be84ac70528087de346ffa906fcf041097472ee224d8605549a0eee570b6b6f01d3cea71eeac4ac18fa103cc1d8b1eeb9b2ac24266900643fd999d6c7fe927de48a719a4fc5a256301df6ffcd87e32a8ea98a5b708b65d4e00e3458ba827d9eb6e33600fb7fc76b95f0c02a1b658be571c4a42d00dcda9ebbd5dce0bba60aa6f2051a23b829ae12bfb83596e01994d7e7669b524aa9d0b4d20ae9ac3ccfcc47c63ee21582d534654a9eccd9f9c6cf4f75a08a1ae2dd32d9f488ca0a1f4eeaac2fa4cb121510edab41ad7ad718aead33c333ca5395e611fbbfaee6a42e737c6e70ef09d5340535b28f46f368ba8d7046d7a9702806a44838450587211d55f344cf90de3280711eac6484c53ab39bb4238995bca4af022227f9054084b07d1266d1f4fa02546faa747286baff5a232eb1fa47d30713b559c77efc1960bb4dca7814f02b43001092af05320ea43c5e5c9321fa850eb81623cc469593e52c7f2f850c4acfd21d6b8a9f6732064834ab049abd40857cd38ce375a0c6e5508a1fa9db5404dcef7d7a31198bfac263459f6a3b2b610d768cc36b094a55e01709c6d55824d2712a5d2d540f91893e77978aa88609449662ffcac9b004a1d097c3adb4e5f627236c0017166c4265f7bebfeafcc54733d0c138ae6ece07d3f4fa192367877076e55ab15e394f1b44f78961a5e9556635f06ff266b870dd3536c668ef8bb61947d55423a16821eb4dcbb806a2c4d8760f882ed8ca6e4b8336bc30ae37fc071fae26936c434ee3aa3d569f285cfe640fb053d2fbc53f20672983acb0e9a03b2c95ab8aa91f4bfdf655d33df339d6ddb7a2acf51024ccbe2471e30addbd543d4ea1b16bd9b2e3bda62ce95f6a5c2d05667a02cd7f3dbedf94fdbb29439b3d3644b21e8a6a6f16e09a586be32d1a438ac1e19ebe64733dcc43ef7e4843a9b5d2690150edc6f1dbf3aad179e874096be34500764e0f2bd96f50893095218f7bd286c5e30dfce530cb0e23adf861bf9bba8da6b96ae925866344e0b3a27b818f1d145402003a0e390fd657dfb62cee4e5ab6c6a06d2cd8295e3db498bf36d030372e37eb6a1cb606c2d6f69c3e1f9c6adb553388017b8e4134648a2d67bb4c28a8fefbb4f45c55c986318bfb7ff39f79500cdb4252cdf86372e8de6f4259c956f18708f7a348983220404f5cb8d756a2599732d146b5f18c2648b9cc9017d1585d21c6347e7083d72ef3a9bf11603ead29f1ee58b0c5f23b7f4f5d1bb3e3a0d8a146bee1661364565c470494574d459ab39a34ea13e75ea3e8307c6c9fec2f6c2aadea80edad30a7b16c1e588ff2d3f5ef486d8bca1c7b1c77e7ddf6704c7a73349bdcaa6214b5627feddf1aeeb7e2fb2eae0ead907190c1d35400611949eca89f382611354d7a1e6e833f1a6f84d752ca28259d8c3656cf91a565facc8253b69803fbc612d63ee6be47d90f0f7656742a0e895a0112d3ef00f2cd95528968e53d0098e83b98a485f25a723a20b159eed76be708822f01a5691b0b560a43bca814c1777f5c21644a6296ac8b3781044178a54512773bdd1a07e28c8caf07dd3d8ea6cbbca875b2b55d6285f9f2f81992b338212e2fc88400c3becce11e6847797c5e11f0d72afbbad02d6223197261954ab0da0adb09151958aa6244fc1d513c57934a4a8d079a667a5d5db54b4d4cd2191aa7a987f7df530427a1423df1594ca064fbb3fee9eacd50d1faf00a23a7220b6fdd3885f6d0668a690ef9d1df12c6ea89b5dae02543ccc2131c4bf32228359cddb9884a503e61547d8439a01cd46ca6307c89992f0ea7393e126fbe4380dd571bb32019226301e9ebaf7c49eef9612d2d1a8900696d3823882008b1ee2a6d14996c9709da3592fc660948f3e8fe42d5b8f1ba980b23e581f6177fc148f722a8cfa55e0a606a86034001473dff413592f87b64233b8b4c091880e522a8a46882978764da33dc469c0bd7f3af5d78778b8ac83953cfc1598254b41340500a7dd11d65bda5a932e90e527601ea18045b85b4b1d30d6f5aa65b45fddde2c978af64e1f5ffa2a644bebe3d2d9e3ebcfa60fcec1853e4755f7d9939f36b93ed20341ef62a55494f2bc5f91f3b9271dadf145f98713ef1f7fef6e0762ca2b191aa3f1e0043dfab806bce61e6d891e3bb9491ea66cb68ee0ec1f06566c985a816cbd7e979babffff7e8aa2700b43167a08ef46c25f8f2e1bf30d9424e1bbd9e2bd9814f8983c6672f5e8c3ee1c0c1d2d6d66f88ced747a5e21227f50ea72c0c02c99461f165e86020e98fc737d6dfd5ca123730524611ba05ff6895449b41c7763ad5305a992e1d1f472b3737eaeda2074396989c574facef97cd9999f92e42cb61e83b1053064d6876985942c180a226e8e6200539de93fc995f3db4163524bd6f2388f19579efcc7d6e73e0294821db475d7dffa02a25110ca03796d5e0b0dda22d5a748cfda2a170518c59f77135a29e386f27a716aa04248f8ad6a3289688c52e37174e7b6871851c658ea1bd4d7738170f77ed1829b1034bdd38560f2b8f54362f6f39956546b124a8eff1629fc3c3379b4866b2bd067c3b212f7ac126fe6f434294a877f2904f03a78fcbb9106e60cdaddb4378f0065aca63bc063e2743dca76ed4cb41decb1cddae676190c988205f0318d1c4724ed5dd9b630f05d4ecbc3ab89c31e3432d07b9248ddf7a8689f2641e5f4203bfae69017ed87a869408acbf37e0af15f97387931322be81be3ebb0c77c6fa5bc25f72f55eaa044f195f43cd0d0f5132db8c8b8981aae491de0b00173998b1c6c7633b1a2634bb2de0e28915ca3967da7a41fdc4976a7fda7a97d8b236e18d3844ce941dda5ce29569d0cdacacbb4a21da36f134368e41e835fca1d5d6058e6abebb85775339e1b1a65167638f2da5af1b27ff78d1e2b148bf22ff435144c4d8f583db6728fb8a20da8d059594e91ea96b7f61060c80eeeadfb4907e833066787301ce5da252f79e786ac36fcf33ab09f34b66041b6426fdc5e2221f307bf219a3e9d3dce9ce885f55b1c9123151a03e83ae8e56b3312aacc9a361a10c2f9cff9a9fcad0f1eafaf458085e10272f6fd4efff6b8f7336bc07dda4001cc95e7558b1e7aa40ac7d2c8dffe1b19c67eaa307f866f19412966326d70b7a18c4593978a4add7971dc3e704c1e2c5675a19aae72ef601fcbdd616db08ca78f178348bda32b0688d3f11a50c747458800d5ffb0ae7780723e3ee672dcbe4968e26d87f54bd51df5e958a67e25b02d5fe7e21d71545bef0abef7ab4895aedc1babb812cead90765853d336d76616d74a813959e88416cfd20654033b7955097519be8e3e88edf8fff9829cb3ab39d33066a8862e8e4892d38f82821aa56469f10451c91029654ac8a61df25722934b7ebe07e8ba846ee5e58d68834ca098c66f6b03065ddb9b6723af24415d551fa5a8cc97ca951b6df7ee852efd80984e640a67a08e838d9c863656146742f689811f367ed8f1d207c2d27003c5282073853128735196b50a26a8e928a551fe2db36c7c35a0aae5dba9cc73a1ff9dd36e2c24017a773cb451540c7875625595aa31c4c47f22651cb6ecbd5d2459499ad941046538667dca22720036a02f3b16295d0fd90d6c7ec1e26724b2b51317d839ed4313419e6df587663b15cc3379d92ce15eb9537be6da2310f58f55140ba3e56bf0cf84cbde7ad489195ba1bf8d8ba0bdea9a56e9c4ab61ba161db79fa095951ef00189d5b03590bfdd4ab225687a6493fd48997e74f98da68f72f16f356f5913450e081a82f6c6c750242a79642399d7fa284315af59a1917541cd63610976807563cb8c01ac07de575bb308e7b9762b846263c158b795ab2ea2dded96cf6489b0e6587c596d6a7121fde99101b0ca05a83d0573df0252b5dff3393f334ddf2eacc8a253786490df3127a084e6c1fb877a9001e3db555555ec2c3e14aca784c7a1036b1df93c07892ae315856a940712b6f72bc3452e80702649802becba4ffe7ecbb9e05cb8b0df0dbb397a2604ae856cfde506bc8de37aabc1395172e769c847e1ef316b5ae6faa513bd52d89f3ff1487f79a1e5ca7ced93737e94afcabe3e9d239abc93084b80585fdea1c0fbff1195342c6db7a3fe344a99bb8511e1b0e863a7412142af8589b614a51354c0323ccf62ec1c13131204ac1e23a44588ee8a48a208b9ef3fd87f1954529a458ce3a8a6b653a6e63d9d95273389b45203fc78efe7cf77b6dda380e6b8e384b451f099cbc9183a18b3f54988d7cb98fcaabb1c8ba5edf58ac3dffd2847c0ee975a7ac78f1f1a4d1d378c2c75883e45461070add031cd6df38ab31f4a9d9989752fa2afd88212edf44e31da8c5d4a931e2565fb5fd4ed416049e143da76065adcaae9875cc2aec274edda472085f8478b4cfbc0736aec5c13292fa5198c3be043fc72563e45174a43389eadd43947fb9cb633e40fa7cfe53bb6a17b919731bb566a73d0d41f69ef121b7edfe7dffa9377c3d6942167e88d416ddc988ad5e84be68f98485bbb5aaed551d3a06509877e1d1eecd56c94edc28c47a89ccef3b282a5a810795de461d96d9910bede6bbd53f865fae0418b100ff905d2caa3f8938b9eee4009c6792a596e62b62e27740d0a58ff5d931ffae9756eafae165e4e894908aebda638011e6b40ff78bf4713e9b63fd81a445987641e679b811d43bb95a85b6bd75ca441281d91ed2d48a874689550b5e4ac8f8363b0455371c94dab166e0a70b56b090648cc1d219243f386eb984a51ebe10a2d1a163b9d2f74cd2361098ceeb4c6f349b4b19225e9d774c5adaf1cb7d159d946a39cd1d719f41bdf225c6d8d915576498424c0a387b591621cc9d96341dddf525e9eaaa725d204067215afc40b2a240b01fc62d82eebfd8da04111f725fbb37b86a72c0303cd78006112ef66a2a5b72b630f0196d9cc7cf8f8861322d3551854ff6142921d0246fefe3cfa573265f6de7d1a6cfd6b831f40f6542ebed7123f95b1cd82ad1bf051d65fa7042085ee9b7f6b2f74eed1f0cb45918e4ff84fdc7004359d8875f77d3e1fddf941c70b08feb9064e8b23947671b93072c793781a81bff4e37725bf13f51bd4d984d58df62bc38dda20133f4b64c6bb68ca1f84617d9d83d9a11f1e958bc3d5c0ce8ad3d4621a33bec116802602ae944ad1bd85b63452a356c3e182c2f72bb424baeb160cc310f0d94b5da0a83a8757c5d77ff6ea2e55369ad5abfa4dce04acb5ef0eafd39f945aa2072cc658f04cc380115b1fb1b9545a52338420599bf15c18e019161835a3cf2d7495763165ec5dc2806867d13bbc5e6101460d5f35b1b93076863d2783ae24992d3b369febe9a4706b6e55788d6d2e5452cf50b9b958e0ddfcac5d44b3ef7ccfc4ac04c747b9c1afc750d86101990cb1b1a0424db12d70784ac3d01f0460acd22521c234a7ebedd1dd53ebbf1047968815a76b61a7572b949b04cbb971902dcdac42523e809f791af1c73171cdc0825bd3c61ee6415a229837b05958b1a45dfece5005f72cc4a75a7207cccf1718716666a874975fa2b08945b4ebe03c04c4018b25394847b8f16fdd312e693d351f020c17b704b83770687b17648dccc5b5bbd22fdd5c189dfc361d2f9ab9df6e01066c555e493f366fb3b73ceb62d0ff8489456540420d1843a7926ed3d75946097809433377b93f8028d6e11756a5946de269e819e965b4cd0a15ff2c3de6a2287fe226951c343b705c3e29b91d4fb66e7576fe1e26cac711c0c7e24c2e995fc45294bf73d63903a54b0f6e14f368594e792626714a74e2c3636a42098be47f8ac35db06a485ffce538e97a377e8d4e5dc101ea5a5d83b4c8c2ad64806c3c13f8947459b2e30755dd70949b1eb466fb84ea75bcc7109ee8604166789a2e12a225f315f61eee4bdb5d05d042e40f00d5b91741ac89c74a88416f6366a22256195e19afe1274ef6dd7032789f940b53c3be597b6f454c7ed4991cf26333417389324b91db5e1327cf71bc18550dfb94b52b7adc5f01e84d8e0f2a44b579768e94d3ff09e5461e4f7f0494c5598ee8a31f9f6bdf2298507c14362f439fcdb82eaaf47f0721b2f3eabefc06c4d515ab2b9bc627ea17a1c1f267d1350e03dd7d54b0d0a238cb798fad74e4105a3b2813f943caf6044eaad4585bc680513863aeae1529816adf596cb2f256551e0576c95123bdeb86ca321e62d97d110df39e2199330c44527dcb7b7fb3f0b8fcabfce20043de7e8d37c6b6738dd20e122fef49e062a408a296767d4f0bed6502970545a81af35b5ec358160302bb0648e5b43dc53499c7fc28506e868188661e0e36bf0b94b27c23b037270d6f469e52c1ebf7020a97158a723624a7a6dc0b1ef42c2da7939bde624b37522502d6aeaec99a252f842efb6b41239893cd0c9852e8cd757184a993628439f3d02210d00f8c86d3f822e98562b573f0f61a48e2d6cef5ecd62814c31907838e62b98dc940bfe8fe94bafdca020ee806c394ee6f5b697f79de5715708dd3e66dc42bcb5830f6d315d5f2e2c6c11c4dd7096590b0ee6d183d1f5ee6a6e13e0d5a4a4ae9d81360b3ba51f547552b32869cb4c04e6904255948a77239870845a7d3a2e30515a96777b5ba3c019351ddefa7ef71ebc086d89dee048ee1d7c3d4e5e68fe78fec6a04cb9ff1998665dfa0f33997189cbf8e6eccf536a4f9cd14b6e32b2fe106cd3d1a41362af8dc1a3a35f1a98cace626b93bab8a2c8a0a4983dfa2b9e1c63c930df3f988b10677f771bcaa9324cdeefce4979cb73d8fe770b50012395511ae6a0f3f0666d487482f657d45ed8d518b4062999c262a8d506a9f33a2b042bce0d6a9230b1782b9d89e2eecee322c0f1e53fe60b24c6f59bd0fab65f9692a366680d952eaa624382566283320d58ae2fd625a2a819872bfcf487e39b0cf2f95df2247569a979d50cd4781530c3f8182a625d0c535eb98e46f964299f2a03c2e21364d22debfe44b52c064472f477e1bb751fa6e291d61c940eb1d7c763397fd8b59273a63faceacf58879fd4bca90b9772a71e6f175c20449d82bdd0b77b938e0135892d882546c06ecf465d5e870d6ecec049e5cec9914056489bb272a46dad27dbb80548ed9d2159dc51b02fbfb681e166df9324a1519c42fd85aab5dd740533d32d549b8d4bc691c7cbe1b50fdee78a1bc3d992d5578a96165d72821e39591f135d0503d6f977a77512ad54937733e3bb895b5598336c3023391dfabb8fa7476f6135fb545a4175d18a2a00c08b8c974dda4e40b3ee02d213219459e916dc3ff6a9779e547c4de867ea74592ea29e0b57d99622234c790befff122b4fa68eefa1e165db7c718adfda84dfd676209e96ad82e6df4f237a20ee5bde67ea66ac471d8ab3cb0ae97dabcd4e3563722742c81d64d5534d0c556b8e63e3c2007edc7863b0456679a25c83d11e37a71fe11adbb60feb20a6d9e31e56234eb2f9f477926984532106675e9d3238e097ded4981e527708924d1f71e0546e2b17703d2a87bec5d96c2bff6ac932c8f3808872ec8552f68d4f85661592605dc45d683d13a49c048cb9538b036b666e0057505605c4a8660e7d8731c63fca6d724bc0bc1ded578adad35fc0e4363e1cf596cd6d28b591c12bc2ad62feb6a3e3a417b176fdd33feeaffad244194845eaf5825711e4e5c95f2d8af6769443e900975dfe4ce8ba4eae0ebde30ed335a4e1c9bd044c88c56b85b23637ff45ad08598da3446314869dd933dec28827828dd2862636090297b80b63b24c9dc2313f1fff9c934bcf2f8e897fba378856c8331293019ca49b84114eb685472752a40f4c8aebc15126ca5ed3425408ba18f9deec1f3d8c346adb303fcf71a9c3c918749325e1affeaa3fbdacd5763b601a9b2f2f51ad7d856a0267cb6022a8bbeabc18b0fb4efd475f6c8a83cb69596970f4d7a1defd74c6bcbbe17361b2916459a20f6cf15d915f11d1d570eabfaead222b650ca18e00facd6c6f3f763b16e3918b0d15e68d026f48b6449f957214b6d3a423ca6eeb0388f8d9483b688efdddb0e21e54715280f3d9df4441b8f7cc12c8d430720fdc37f3841ac6b9992b5bcaf3ea58406cc48fbfe8dd87d917554b8c5d5d15ee23d85ce8e7b0824afe11839e4f5bea4f0200dfa9fdef364f9e37b277d70856f7572ab65acc4bfc2401a8785276b7fe7f8333abcd75a8ffe955ecda37c3c321ff3dd941b7055d00d8562035fa158c7e11746aa1332f36cc9100ac2ee14fc722ba3d38cb87dd45cd5555aee013b23f5a5f1300b3156c93282714800e26114aa0e310d2fecbee7b4985dff40b92ecc232d554012ec666313d9e74b4a93bbf35e09db947468bfdaab74a2c893d1d4b154b62452958ccc8b0a504678cb7bf189b109d4aae86ce31f29700f4f7b112301780052daa3f6397fa4cee2f5e313aaf42821b7ceed8d2781cb8240d21617802e62059f6c30aeef6e146d871b15637663e5d1db8c04813d2c9d3d7d965382bed88149e33e3c5282d84783a75f3f74d3f7452be076c68d8b2926c9ef7ab19bc27b9c2b6cb358bd18070307f7f96ee329c53367f68d256354f0121b6b0552e1f63d61e0b9460262380bdb086e41234bbd0c15c3ef21de9187a6985dd710ab186966a7bb95006b86dbdb13fe046df81d67d61a2f604010b7813cef4eac92f324a517b0c13167a20d4fc4c1a2cd9a2c78bfdc0d244102150fb42ed0110dded0397b7cfc4562da8829d5d0210c29457f356d504d02a05f275f499136fc0ce28d1c23299f7c8575aa941f5de3de0243c0685faecab5e4c7816bceee2334fa40ffe02d4aab6b55b46bddb4fc33e3ff3642a17bbfa7dfaca4950afd388eca51a166f5d2c34c5181cfea4cd5cb4abfdd2a1d3e7571294c0186bb8b3905170cec3d696355832d0c166591676ccb1f2f4e145b289dffb258bb71cb230fc0fdca91998a8491893be596fc13a1c288300aafb5577d5ed2dd631c1425dfb8ec853e76717a18d7d96539f1619ca795c0e49ca49f55ab158c3d17a460ef2ef493046c041c99fb25f8258c7745cc6d35a4d8e26eb88817aaf26ef8955a7356a16a5ccd7c813070baebb8c31413b460388fff67956d63649da8d7af1fafacd3678d06056a54d90946bb19655fbdbab28e5113d990a40ccfc1329eef62fd80c834cd91f22bebe1a60509f4523d56afd573cf3a28348aa97db498e8fea3383ff2e25abdf5bc8126e01a9f9d4d744aebaf59452fc97408d4e520a624f9ac60b5d7b57e4bbef496412b5cc36d0bcc2391c22552de2e1dde9cd9d123b8d142062f4bbfa501f949cdc71e92af917d9db8f4c369e753a6553a8f4b76a7d0c63e2c1ddeee623849c34fbb1d492cc9240815de62253eb1defad444baaab79b58e4672842de2f35a4687baeca7b77449c4dd2782f29f35de55ede2c6473bd204ef7343767f4b63ce9a68b16f6d3c0e57261a272b4e2ef8f7d5ffb8ad68350f7c3557b97d365479b4e0a68fa8f751fc86c166bfb929df9ad1703ed30afe5911aff0449f3d8e2b20b28d4772dc482b45e399e09e9376fad6643cd01550ecb7227b0b51ceefe9a34ef8e312aa242a83bb7b41156a0683489b4f2be931a051adba630f84f5c5f36e879a4e6df6e82d296e68f0d6b0a464fd5775bec793b6ac4f6cc52945267508009f1ac3f787904c5b0104d6804d5c7aa082e2f45420a32a8e82fd5b176670b205e6e0702ab350665e272722ac90496d90945703089c6cc1fc8ae3109937eccf7e551255896d70e771feb61371f9f22a6f5fb69b196f36adf7ef0b403a0955dd929732d7eed10da1832917178253f9c040d6b9e45df956a9eefb10020773560b0fc94b8b36101cafa610bc8572f84941f8e46dab0a70d2040111497fdb93c4a14f8413fa808d6591994926d5f16287f3cdc7d6c7e90f9c54258f1be11d5d15b6fb783033bcf9a3110e618e70b5fe4fe41a905ef71f0b339f66784709b6c6a1c123b43c8135ef2234337bbdbc3f13b23c1fb51657ea5842a7d1d22d258bd22d9e5522ee25ea1014f9037208ea9e82c491178e36529740b0667c84de0a31dbbff33e9b2e469d06ace7bfcb5473ae31e84f3ba46fe0e6e10509fc8f0b8fa469c0d7ce79ec7bfd0c1baac21fefc00f9b28e5bf1642cf88d913f9f9e477c9b206184c353c15b0fc2c93000161ab5883603be512637dfb7074235ebb440401c22bb222c5ceb80e4a5441d78c59008df0557d60434243b0f011a32988905a6abb15b69f9f1e15fff06fa0431a6f96e62fcb210795f901a1f27d14280192ff4ca207381f24d0777b212a2f9a07ae36c8d21a50ee6fd5c69c589476bcd79c02d0f2d2e19930c5cb14a859a52beac7c141caa354e72357bdad66d368496a4c8de0fe29d077fd998b7515b3193ea0211c03ddf4751ae8680efaffe8d3fe212ed670d04619e7f3acbb7eb6b7f20803d4b228a5d3962ca850cd1677b83902be0b335b03f183e00eb4f15d131b6ffa15801ba96a32c2d4c35bffbfc2873e62dcdce661cbd55077aab6a6915f8122370ac72becd6cca28e0b1771dd795288ca2045e295ffe45cf4c82b26c2c554d93b8e67c3ed51caf7b82801c5b2836163a1d8153bfd6297fc6dbb70d74dc269d9645c66cede22710cd34e64769ea6c8bfca4977aba7c19be7871ce8da46491158e65f24352f1db6dec430a80d18991363ca63004be71927037b0a99d79dda7afb47d3b2f1baa7c245262fc885748d2f1fbd7020f6b0f6ded5e6be1290c91b98ce8876e8030b2bd30b720a6320a13896ead36222112054bfe22f99b3d0372d62ee8155199985a35a5a9524e8ae632015def7c01bb69a9520f19d192da82913f673f4a0df3578d0595559eb0752caff1a53556b9cafd8ac92a7fd38485e5307c4e915555aab9c9e3104b33a7d31effcc1e9ac43d720c295388b5ede789456842a17c0f460273cc6d1d4607db59050187e4758d3eca306babed4591cbe22c365cdbeed3ab4b288f9063507ab15bc988ffed5a2f197c85ac24e0a8cbec9f770f8a1a5d4b2aac5c6b1bd8afca7db3166af355c59e08d90c9ce277afba6b64db22c91ce408e371f1066d1e80bf7771f43a9571d2be29b309c5e48a3bf61f50fd9939de94c0e4be5eb89c7de902e06229717c9d3eff26e42a6c2b478b8b7777cb9c203a8cfea25bfcf69de5543ad4087ada1718b1cb8c7c5432a3372c94af2b0f43b49073c8ca72ac00290dd3a459d6ad47f7f1fb0d9eb30dc5326b11a59032c86f3d9f81e3147f3d56d1160381924b006f82df34e10d097025cd75e187a197eed34ec40c0f276236c2271dde670473bbab1d484f5996591be72ee0ab597b7982c63c45cf858097780a3cf0c04ebdc13614e42b709dbf95043610499ea93c5ed5269a9e19d8fb0965b60a741b257f5070af37d97d8013777422bcde4c43cca916e111d61a9bf28e8c80e9a2386e1422336fb8d82dd674d2baed515534dfb26e48194a159eb1c12994b7b013f67e02c196c3447e627da6eb45657ae936ab44505d60f7f7fdbe064671d2115558ee134725bd8eb85edc9c42a5111d660caaaa9eb1864afa000a2324af5143486fa075fe298bb3d3cfb260620749ac86f1018eecfc3606419283bcde0c3d269d18aafb685f7c62f88fb57966a7870332c44db89c4115cdb62f97c97195cfb87bfb2eb82c8336457d97ad315ab03807ebdde77efb46492281f22f213509b16e9202f75412410376f35e2ba51104665bf9c7bf7520797cc6b9a67a29bf123b5f77aeba0769e5c9e8889d36e822dcf7973a6e2e27b4b6099fef419cc105edc1d7fbdd8b10b3cdb4e559735915987d2ca549d8a345f2e52e08b92cab5b4adccbfa8c5c87fee39693ca3d260cd87cee6fb9ec8abe33d86ed84ae83a382e5640d049274350569ae094815d6d950582ef4838275c8b34224d6362e5f2e2ae6c096901fde83ea05edc9deb0a26d955a34fddca65a525071dec2c6d9205e02673032e8df3d7ab2075659540910a60c75f02a7c36c3cf643b8fac1476b9b4104104dcc3a7ba5b8449881b147055a1696348414efdc6a4e6eecf170ec187c03008fdd62470712d81b9d232dce977cbecebd83cde7e70e5b0bbe888bbd190b2185d7bb1602533a624e4b913446f99e5303bbd0ebf4b0b81e5e06681416f052a49ce827a627f4f373b5a21dfec2f19d09893ecf217a97030e1c352feafbad1c83cac0b1cdc915af0a8d39645a9c3b80295621cca3240f1d67702d490dc3500dd49199e26aa7d360557adcbfcc9b24254b04b9d3d3ee4c100c804a130c83ac7c1e28faf6e359a393ab8d1592b065e3debd5a3f024bce8a6df54521cd212f06e1141d6a58927b49bcd3db4d312c53b23d6521d6c06232f69ac94f9e27592ed473286638eacec90f843a9582122ad6e4da55d38446f3a4a2c82d24c125468b7e907435a424ff67cc73326f213f1cc332eddc640bd0c60f29328bb0360fe8c522ff714d7a9263b705eb7fc41747eca00128d1e5442688e73df5a23c49ffff7d81add1370652549b24415790bae789a70b0ec30534446c3ec0d7dd8d1b31da86f060cab04978665035c4a4bc9dee5a20092fa3c82b8a5eaa3c3e762f040c776dbf7afb5a6d7e127f1b79a4fe5a36933a04d3d4dc933c487afd1afc88a9659096a3b9b8a0e327933314021d0594934931ca67a395092e38ec470cc76668fa9ad68703add83143d09686e6830bcdef3d52b8de6c48d48c1371b582682bf7433a5a5f63413b8c79d6eff0cc2aa7d2169e2bb58217f7a794f6264e21da9cc83f3ea6fb1d57784f0fc4d622458954bdf4fc61a75b87ac19b9f888079646ca1431e50385652caea39156632104c4faa37e824eceab71aaedc63199f53affabea856307509102674b8d23de8abe7f84d3e0956c81039ee9bda3d2c62b387455e55d01c68af55940373473f24fa7764ad9eadb1cc880aecfcb745efb15999bc41d463eaa45589e8f5f3d1d934068b248aef0aca7905b240ebd5f5a7feaeb1c4f4df5ede22fb15d8b4595fd8c89957f2de35c6dbb1107364a2c202497881758cf7f5f988811d7076b89cc8c1dc70ed10f70f7f12e05c8e834b852cdd4c8dac7220e8c9323f8fdbcf68823880af79ab6715f76ba28b967261b1c6353d108afe0d11567eccf8cb66a525e9e6def3f9ff7141254ea43134251d486fc75de3aee73b53e588566d280cf628492e351bbec080847a13e8742818d3bdcdbc2e235c1983ba91747acfae43626071948128ea17049c88a2ceeec05d544ec680364f14746aef90e7190d454a767b44c207785bedc42b5e627ab865aeb3c09c07c8335c6856afb69ede42d58f0bca015cbd3ffcbfa968a0cfd9c734742b5a057dd22349f8a4d6f51aafd70dbb9283fd3e6b8d8830b5ca4cd6ff76e45dd09ce30ffd50241f83eac38fc6afc1f509e43c540ba91096f65306bac47732ead77f37f29229a169503160080eb66d663fcc5d899515ca00f2f16c0bf4e1ba6c297c0f504d254a7eb070a61b4c85b8b0ae9ab289f245f63ae2f80a3da718bceb5c7713ce2225fda666ac80dd61ba39b4ef6b9f0dfbe74e34474c14056a68c4f4cb0ec27654f3a3dfa20d8a6236206a3e0bf4b11c5f14505ec7d713b793d482f5cfdd34bf2fefecceec4c8aced9eeb7ebde5c90ea4ceb873f02cf54d06cf056338650a2f607a2d196eb82127a5afdb2c15acbeee44ff9b1b1083c0655d067316ea45e544d2d27dbbda7de0c3c5fb4b2b167804b50e64f24d545636dd59bd67f293b5eda06c7e8eb3da3fcf58ad88b73c7081c13ccd405cc59bf3bdf1e652f6c59484589f03f3fcd700502af9e247d37cc9004229d10520a804115d0663897c92c94d3a819788c289d4c6528fc70ff209455e4ed26acaa782d574d9b1f8a55561247fbff1f2475ec37bce24951977934a9077ba10e0a037a598b0a3d32c3941e47ab3b9c1cc9168c60783c1985488a26432e1fc02634ac25aa962f4cc779fd03ee80326e2713778be0cd55f8a78844f66adc933a9059a2c393250723894f04c18efbec862a716489d3a076a6d3005b8a8fa787a4764d9901d49a9ad34d91ae88998ed3aa276f327e3fea97d13db54cbb6675729a148311292600e70b8d2f1aff30c4379d3eee448cae78a716d53e837bda87fb6b369ff3a08da359b8ed7e7d01822b71ad86e6e9018926db9a558575bda9b58d5cc410754542d2eb62267a9eb31303ebbef4af143169f8c79de5a0f778d913377f72bb392c6bd619e3679e81c10fe6671e6def26bb38b320ddbf4dc88843b30e1b1b3d82dea95c13b021fdef20976a1a1d9cdba90c42a5b3d979edda18637053b1704c18f90ee74ab528b92c86739e7e3044c35f0b81b76b9101a84cf2d683dddff03831f0265bd360058f10b5855b0b759a55f5dc4ecfc134b193479f448f56a88e9d7c4a301b4723c2d17dd18735e4252a99fb60d566547b4e3343564bf0d9a034326c5a0ffe681f104d7ed56fcb8ba66d413e8fdfde028a6225edadc1ff9e759b30b379cd1fdafca6eb48cf1d21cd2a9c8f0873cba5f735d7d9d41b572c7ce6bb329edb8f154fe2d96e7d7598bfc0386e9add2a3d82c54e836566dc569df48549157099774482000f0e65b976a470b39f1018ea5e78281dc459f71920b719e5d96612aaea8daf95b28e37720f794181000d98b7836820d004f0e7f20c68b33d3f57be4e4494e6f42be8c5f333bd7554baaedfd67c91082a290e100cf492742d6d9890c69fcf8effd31ad7c281fe01d4381d873e4d83111cdbd42fb1c0e93abd74069bc52a5c27d47a8f4ceb81820f107daa29c86d169180a4edead8b2384c2cc1ce182bc76813fbbd74586c1b4df8bb6f42eea15ee7d824a7bc92e0e7de5052afe39be342cf84162c9957b41f8370b34a29bda86c100bd5bb698a88a5f2651a2123fa72b52d0e93f3dd24fd3c914bd38cc714f7871eae7c88b7461ba0049f1b09ddb87ba91078f2b8bf99b630cf45b0580a199952bdc4ad5226a26c6589ded0f55f839472213019b4a441b3340a2a1a64083a61477661c405b502e4a2cfb2699cff197636983799c5fa2acb3c7b4b413f6b2cc5108b2e633f1739a46ae2378968b37b5d651f8df90f3697ea90a9ed35a57af1aaaa82ff6383ea3cb1f626d842b5cf6cbf9e18cba1532e20329c93713c8d9b1bb4f38a536e5480e58378e420a9055146ac0e06d73a8dcc83aabfac6e05876c688de2bb42e6110817a1a1bf497c4e358b736fb7f688cc6c87caa852d641103b7a57763d07e55d02ed1a103ed4cb2ba26e60213464cc49bb093ffeae9b37a128b7b964319788dab77f3fe6f162454722e033d6d2fb8ccc79f26c4adae6df824195c86ea848c5ea03137a08e1d8f653d74ccada5361180a7d83fd113db9cc018858612a25421b6b1244ffd037c7e998393d3c027da83ed970ae19c370f07b778096efd69018f37969a92631be3a983fa862706d1168b63c20468578584c7ce28a17a898228dbcb246f7d94249fe8ead1d5e6bf19e795c690da48d9018249e0d9475abb7f3288018ff6e61a291c67ed76134af67ae76814a74da1cc6f9f89cc0e58740689707c4cecb4561b8d00059afa65f6d6f4e0d242f5a5283ab5bb9f2a4ec435603b016d5e6b70044f7ec210f34f1a00ea270d90ec3eddc7a0778a876dcf535537c7cd0461ad186c9f693f9e77d827b872950de1d3bcb817d9314d7db9f22719ea001b4daaac8e07cb33bab0887416074396f37a962e0354611948a2aa5611848a8d07f7c0fa6a0e0704077cd169397210bdb6206243b5b2e7112e991a7d1b86f25dfda5e44c0e550e8124c68f62a9f67a10975c51bbbd7526079b9db16fbfeb7dc10311f5f7e08ecf865edfac2ba40a8d9bb583cfca20c3b3f855e8cafead7a1f39b1643b4a391724878f8a799c3f12cae8252a3ab4d6bd0d88bf0bba163ca1763f3423e0c7f21992f10af190445f12f0aa3a342a6ef5112e6af262eb3a72dd7422f68aa03395429e8f4aff044abd788fd9bd7d7af36eda73a6ac2402c1c74d95186d19ca5661ee1078ac450378ac80fdf826118bf4e67f37ff1a3c613976777366b1b1bd13ad6cde74847239d304014c351ecdf99852b26ed63315a38e5b77ef3cd7ff85a87d86be48c654b08bb599dd004e23debebf722e39372ab27c29fbc666159191d20fb2073e67038d767fa9e66dcadde22319938e3e1f346fda030853cd542fecfee793724fe048ebecbacd161f582d33101f9243396e1a124b36458b935be07216c41673684c99ea11e36212dcb2a6a6df2e868575f50e47558e493299c61876019fd9af8f6603436aff5fe2eb15a9b6ce67c812a34da57a2e14c380f7ef4b3bd5af8946b049939460aff89b6c31e91aa5493a8dec52da91334e5a496d2b04dde059f4e19c2060564855bc884e2dc0744d999b6a74ca2a34081b1017a60ecfd110539069c905b2fab0c509b8c6f2d73d827b4cd48dbee976db6c31d778e3daca5c91cfa35f52c48950074a51d3275fb961b29bae8d5f6d480a0d5442fc4c1ebd226649cde3bc71d732f58d89679633fbcc12ecfdebf0057cddb4a24b14aede6944916c8fc9259d66dc953ef0f798bd631d5b5c4f7944927e7d52e15854d9f2c4cc036231edd8724872f586f61ffdea411b0658162a901614aee5f8b44b4a2b49e62ed4d90e8c6999a61e5c3fe4801121156c0ded128f278c160da49403be0336dd7349e759b1a7dce167501aed70cbdecf03a27a9e77cd5f50c3b42d4569c7228aabe75d79fb6cf441d75dc8708f4bfa3804f7465c2aa91c1e79b3b4d6cc3956ddfed865a9af61398d935f053a3fab73b5dd78b0d18e05abbfadcf0f2e19faef46d78ef287f3f0d03c60e11b740d4fe81a7365712d3dba06cf7ab426c28d7f23471ef7bebda4a18d657f5a1a05487922f32bea98b5edb7ba99fd67083b0bd5af4be83dd47dd83e812e439ab94976f49b1f2336f62371034c02f8e7f176d0fb0773f06c21b04dcfd4734401148cc9b50d0e0fb1ae412cd6cd525fae2093d25d78425218c7a15809b2243753edd3f0d5df2516585e48a4b6d45c6e02b7c16d613e0cfd495227ac9e981da4fd97ee22738f72f420ba2454bf443991d41bd074ae8320b8e16dae4c2b890f3b689d3146484a85f23057227946856c4094d10afa1ef0900731083bc380865934f481681fdd0ee4ea319fad4dcd09c921934bcb89742962ece802f1b907e50ea48669ec5ab2c876012115541c975f390f795afc34ad319799342971eb79c980313efd7297d14652de366c5a25a15d34ef4dc472e49a2cf8cfa77789c992b3192e0f830a5880c08d0b91fd7df6650156ef1689c202327407bb7ccd2c63f051b8b58fae8c17f83b5be4dc90479700b5a5b9bc1bb0cf85492024b87e3d007040ffeae051f6ddbe99f306583e657900920369a41c144024a7ede836cd9c88dd9037149fd31bf704df43197e76433aac652bac4575ed53fc5369a476db581ff50b0dcc583dbb15c96291d0bb5eefee1aa22a20de4cb97fbf1e52aac3caf091aa26946aaa57ee7a947d7ebbd073ad5c24c8a26cc204a29eea17df5a80584947e13e4e38f1afec02cd793f5aa441bdf3b942431655831164bf5d01a762b90cf0c1af0921ef41ef94c6f03f1169b2d18ba25558853b55fd14e088a50aafec09bade18121f3887a17e7bbb6e8df183d1cf0e4dfed939aaa835c7941004ee6ac8087745d6df10c489dd2814b1fe6d2f04cbb2635dda5a2805d14d6ecfe6af5f0bc957fbbd4ac2d36f4a5f01f17af29ffa670c05783abdb6408a267f787ca130e8e9233be7ed30d0c6196a19fecad4ca950828a9e035f7566c1bf0671f4f4bb3e5044ce2ce5ec9a623af007e68a621d82f9a93accd791eba9bcce53715cc3ee01b1503f1bc4e9285945e384ef6211d54ae50e18ebbaba6c6300d6d82269c8d26e26c186c75eca65490e452e49901536e9b68e6cb01b4a80facdb463c9504ab86513e594400e7e1ae7fa3e43e8c72f9727365bd1b26f6fcd39331a977e56a2b5c5b951c46140344c393c63307bb41803c2143bb37431b5a45a1fbd3be2a7416a0ed95c65c896bfd95600d96e0d1d2db2da146b4c79bad103374546f98307849567e39206d62bd69176c8e22b233e2e2cd37f95ab0339c0ed8f1e019d6926e31668cb26e4cdacaeb5a592b4951c1d75fbe0721bd4c25b5803b7574df52fcfbdecb04875a33aa4c6f5c833553086afac434cfefe027906d071d547d3c39de769afdbebe71bf5702d4fcc638e4c4ab20a6e92775b277117c7b77af312dc2d82f9339a87550d102a3d04dbe87dceade6548e55167056a935c7a15370644c1c619363279c139f4b056f87e532ae775e2b82ee346a1bee59bf8b104ecc8fbcf51278bef396ac9b1fb07f9af464449da2bdb57988b386bcf9b1ffd6b0d3de954552547c2d040cd1205499358dd1a958d317a8385de10342e33c944b1be37e1e75376249ea3af9a4fa78989809120e4ccc44c007244ede4626e75e7e8c79428c359086a9105d97a1f21e336829a7d2b5b7f565d6dcd6a4e28bcb5fb8040378a801a09d5809fb7a7df4f1d129989ab55797f6c67396c1e8b7f763f14a9e3bca7d3f5cabde67a03833eb8e9ec7f803f2ec07fa9ba9a889d157a4c92fe962a970c32f78afc34a9ace45f15aab1b7c9b99b56bd0e7a2b76aa2f346bb4805d40e9cee09c2b1319af987e5e1c17ae6d274f0672b4df34af41031f16b14610edfe0dcac63b2116777a52231f889d368ecbb2e1f5a9c6c86d25988fc03691da6498be19b4a1160f07433a008d993b5b0bc1034b098c9ada1841597075079fca6d58225850be69be1add1b0c317244a46697feae7207bc129c2405925631b5837a56c6889b71f3c789f8bb68f817c5a098565444f922f98dfb5ccae3862c5487fc838b63332465ee13788c37da82e04cb052a1af2e7e59e30fca70b50b47e8a8400cbd5e2cf0c5bdcc24dc22f4c98f9ece0e6a1ac31869c46cf7c1bbaf99880e132707cd4314068843766590d101e1d7e7ca32745bf8544569f069db67dccdd4cb3c4090271abc69212dd4e4d8fc292138f1dc0040118fc9c89929f29bb99e3004eee806e5f44595be31c272d7d1dd3b6894b03bae2830be62d5a5a665ad904ef5b9876c5f42685ebc8eb79aee5f4bb2c6c3fd1c630e7290ca874f15b8356a80ea80ed5430fde0fb1f8290a7040bb048fe4f5fe53263d041122ac059cd6850b2af886a4fcb06817aabf99766e73a5236b6641f87eb34df5469680361b9f08a468073749d09c94e1a22c5ddc35ca17bd7a0d8e73b3e55e3fd365c6338bcbc9d552cf00b9a7d5108ff86230d7a38dac17537a63a03a9fe27ef57cd303aaf2ed32e06b029c730cb6f2d0af6b84869655754c8201f6f5de44944c7079bce8e627f7bf4bcbf63faccfd71a368e066528b1a3aae00971bb27f372aa758552d48bbbc0238af2c02728c6d26ae4c7fd6fa9020b96483deed792b2c213f4d4de972d85094dba61173d1e88d2fdfaca05b354f0a4aeefdfac8771ff5caf17abd6fcdbe204dc0fd4bd483afb3dff797e7d8fcb4f6a2264ffbd41f714481371ec4d14f9be44a5568f7f7ed1e52a6208a881b618156a419cac5361a4b991a40b1f80654da8903502aea5e2b150bbae3152210461128d8f03aae6738d16684d9623696b0886ee6dd91e9a82f9c302a0d701945974d380854ce13917012baf17acdb570046b44ccad1f51866fc1160aeed6072364bd1c579543d5e8ce8daf58021b557314a55bad09340dfe05b0f18d6a95136c6c13bef85e7df2cef911c37d72dc227af1a0a63e9df317ed6389af73ef4551b069d3a318c6ffda3a845e50a5e31b0f7e44290722db25b9da02fdb4661b8c3c694048dc5e25a8922da0cfb29aa4beb2e6c44307b6de17b8da859a089131a5a5238082869c479eda5f4b820cb804847ee26c8f6be2d84bd882c97a74282017fd52109d70985881598a8be86869517b9784fbc3864ba523a0acd54442512edc45b0e03f350da450350d4eac77f83b49cc4b8da8739205b46beae61542952acfc3b594a19bf310c04ebcdd1b0ed6a15bd46cbf7ec8e032600c4590e403b0d9ff94f7a8ed50f247c9a24c9dca3dc28815a0c0d9b73987ee078764eae21cd6b1b93751a667b6536b89d343ebf0df855b023db39eaa7b32ea4b88068e80a397f1c6bcb215a7dc3413286362a10d601103a2306d85994896a3484ee923dbf378c6ccf9b5e14f03bd2bc9589b8d52e14825d3eae39e92c56f93e2306526199d42757566c0885c126f2474fa898e1939b13c0ad222ad5667e6847a7cfbcb4e28635e5f09b0a3964a6d5511b87ae6093bfc8535f3c6ce8d5831d223086318386ac8f8693a9ace8522424733e3ee68322fc417bdfcdef2ee6c62214d6f3c9342327c9e74fe592378427d7d130b78342d1cb8203c56590f1ea69169be950a23024e742a40dcf68f2d7f21a5fe042335d468c6ef16776fc87d472cfc9973cb7d735aa69e4e38d7e86f224f7e2b1ad8e98350138b4e934e561b829f43a6c12caaf57067e558874a14b718580336c3d203af0441d52e89a8c4b3eaf3e09fa822de41609333e6d802e7adde2d84a71afecd613c274039597f2bc6f34342ed7104e3bd489d153ac07b1873395369df68e4d18ee9b7d1ab13f483f009ffc8860896af2d67562847c381c6b0b26c5d7467c14996abf4552039de5dcec54a30cc29335071eeedf022fade50a1805b5f76984e5f37d50e1614e2656a41f5df237aab74c6da94184d6171c4ddebc6c55d41c0635ce58e4b62e8aa8505776787287338be1630734c2896893024dcb89d681a97e565eb7f39e4650cf63f6c26e5a199be6e14cbddd35e27247383597f61389a71236147a2c17f8dee70aded3cef06afb9871f6236caf2f3669cd3112ae1dd960f264d27ac77a57c3232f94268a291b56f75cc8f68a90a1d7111fbe0ea19c796e01f44acf91876ff398408b99089304a43c8989b922029bf0335fe058a2939a053df456373432798963415cf8d8fded7b2a6e50c317aa4765cc33d613653555055a667148b6948dee0ecfebe136d774bca2b3300c6e80cfcd7823c385173b11c99294bf17f9c18711df454669d1a819fe906c97d2882d8e6772f81d59ba35ba248de8eeedbec54913657d3e26b0fcae0198d05c0783bdefb303efa312c04aee2bb828af1eb2ce795d5a6bb1ff200a1ec96c9a9c7b55458783803cd2567d7c9046739134c713146dea983116bbacbfbebcfea98b9cdb72970c05317b055947e0ee2871423f97ef87cbc2ba538c32c2c58fd1e8c64a5a7a0b12d64bc7a56f44856603be7b2d9d85d49dfe9c6fb6b42692f20d12d0c8dabcb7cc3e4ee48c2188c1a7432cc641a17480b31b6ca9a0ee815b820507f924ff7f84c386376c752b62a598b283afc7abbd61ddda658d1f158290973988c0e7344a676adac2a5854b1e863cdc8bc88c7a548353b796ce0776257e5eb3dcfa635e6c6a6b7e54bef902d37fe7811ea39a3b577f7bd7de7ca8accb3634c7a2f15bcd71047846a748fd7eb6c9e91e42778d5382aa214bb781a32db847694348a78132b2cd65c85db5dfee858830d7fb4a412514e331e2a43203e2a28492faf521242b6ba98d4292d9dc7106e375aad0c1faeb7a3580cf41a7d655955f2447cfa93e4d77f117379954b434fa17ba2c4f20e026fb73c0b532ce86ce033ea95a2d294061fc7abd916ca550510aca8a1f069a68ad722496706c5641c08ecb219e6fd09ee57e677246b29d9d6b3846cadc7bb8b90e3f9338ccb9ef2787abb7333dbb9366d48b02247d5de86ad75dd759d87d53b561d18b81ecf1b13979213fc84d85d3538740c65837fce3b2bece86cfae8f2de826593b4bbb6d391cac17d0291e7287d49568c17521d70999d5b7c5d27f275beeeca100427578e7aa110fe54f3c881a9c66e15ab255a65be633297898955e757e1100a7f8e3c5fc956d1a7143f507fdc74cb8b5d38b9935271bfcb32a54b3c213ae26aa409c41ba2ca8a91737856c7464e693eaa0ae448e53d45a236e7c45832b490f61bd1bfa6b83758b195909a06372d674c9305abc572f7048235965d99e0d08a5ccf1eaba4fc345f7c7032df6cad599abad39ec8379464ab986ae650398f83e7d70e2435fab48a3f68a09835bbe81a7cc3f551c4cb78944e7b80047f2fce2e8adcb0f22d51851ec222e4fb00d3b3a01cf81ec61c091bee2f852cad21d440335f7d9a837d7df12c95dd5ab54aa2ecd2f21b52a1eca9e8cc18f8df064c23207fc35ec87b50ccafb7b49ec7cf0eca43919c6a9093eadb552cd7458355613584cee5a26bf9bbe10da9588af31dc8b1200fded6f055368ec04ad7bda785d87c9432824dfd08994256468401157d4dac56a56df0c0a85eadf80278618fa499f58d7889616075ba7df11eb5612b66b3c77c71984d3588346a8ebe75de2da42e5f9198433897675f95a6278cc4033d6ff329e61f43e0f98dc3af4cebf27536227279cb546a22b0e96d196e9f0ecbb368b3f2f3c38bca6616f779ae40894540c1181a2564a55b61de4fffc8235d9aa64b7327e430f829be6c708d5c9b4e2235233f473e11c48cce78366cb99d4d0b50207b725cb722667b7bff6fe0945a02fe2126379b4c3731fb7e034f59c50ae1118a55db674fb2565ed9ba3961f2cfa4282da4049fe7de1a262f53da91ea46e4e0a27b67eea9600f4c04d8b16bb59fdd9b9f76c31d9ba54a630dd368f1e460234a95c669010d8be4acbccd6ae181ae4c870be4b99797efc3505c2bdebee35bc8db22aade55541da35712b55391be99bc05a0b3abf411f46f7598524ffc96f7e1bd6dd5842ec10a54c6ccaac8a62fc9e39191baba5a2ceae82a23c746ca01ba66a9bfd686263107b1150528e132306ab6d9eceeba7920759a2ba07fd9b0b306522192130d95af4966c6df5bf0293168daa3c4d7254485a954b49e503f91d4e8d6ee9666e6cd6f351b66cdad05c948e1f49c0d63078fdc12f5dfca3bb0e3aa5201524fdccb1474c5d7088a7e83664fe777d982c653707e301663a9cd32440f2cef68a2a5cfebe4c16aa2c569e5a59fcad460fcf52b41c5c9da3e75da638c62ba979cd60c254ec31227e78467da5ac8b13dc6cd0de5ee4525efdd150007cd136cb0edbdb6058fe6b7215c5fae6c522d377422a4955eeb581d96bb39981434f0c7e58ba0e4102a6157941d325762696947c7dcdafee3f6e1a939bc548ff6863ffbe1e51c6a4497cbab16c4fbde1c7e633e4f31da715a3f216400762f3f73be7ad9cc0956bbcef4d40fe74200b81703867d51652830a817fb91fc8180e9421b5c179857e392da39d5b97f4f8e571c7b83abb1c05887c011db8c13281c3fe1c4767e67d7a89adddee2c27d8455160445efe17f7e36fef6eeaf0efda94cd4a76d7b96638a76fc5548c90b364bc525a2dbda1417df6bc925ef9006584e63ab963ecde42efe8254cdf865b87054162bba9da48990910052f520225d61ab6d34b526d6d891f789c03dfb874f09ef450c5479ee33cd8d1f9ba28700a2c957f8b37825fb6eb9543c53e99f528e7d6c39137d3204a3408a3b94ee815c3c88926807f7c7adb3a02689cc79a24287e2d8ca4249b252879b1282968b11ff312877ca284eb6711386a154ee10241891017e086d29677c7ed34d720f2d2d1d9da1bda11ee44881ba37e9349a8d9a89aef45bb4a4d2c6ca306eb229f2347bc866c0939d556659531cad41f6be8d35190432f135bb8ce25692dcdb549a0026f2fb58da6ad8557070a9147bad295fc3f022c3fa56fcb1cba325c95bd82bf8cfaa4a2f358a54d94518819403ccd11baff699f324671b63a531a974e148b4d0aac2de0a62e2906a191f67ea066cca328e37beb7406d28fc0abed8535a896375b3cae3bd151499a80caf9d49a0414724801e80747803280ea51a6da1d46e2b1c3c78e519fef76eab56a92a680b916e5daddec693d0f645915659311d8cc59c9eb78a558b6f1442d793a16c59f314fd54415668260f3f6137d3dd99bdbbe01d0be64a60805ae068c059df5c89438e603c92fd5b8adbd0f1a2de8a09933bb8f26c9c4fd9d2714f98acd3e6beda4b4fddf36287fa6b327b47a186eeeb523513fff72570e349366ef4a3453e8d23d16d63b8e0fcd3aa04ed51a5cd06edade986236158c49f72245322271f184b5b9f6f28d7526c06540ce30686326b4a2d871d229d2acb2d41824aed328eb9fadd9cd92015cbba24353ad6bda415406cca1a76764c65544e299528e9bd91bdf20ea99236acf6f1045e4a7f7a52f0a62ae68ceb33656acc36bee5fe0788d699629cf69472f789a92866ac01006095908994d285442a916e46614f53226f37063c34da5aa512a5afc85e88d4bc2b22d02f280ce9308d066b71edec8a347a3c9bbe835b728a43a99869788aa85bfe6a808d21152c65d764cc7d9df180b9f0baa416a5eebc7b1ff5667c6dd4db41f595d5723d7e999fd21f8fa183099555b3c66e44a7a790cd88a5ce68e877e3356d20a6320c14ff6fea3d9c900491dd9fd259e1b31204d563c67cf2a805ada2bce51b8e2f62db71179f5cfa01eb580cac86b1d6df9881659fbbb7bf74669e8b5a77b501ebe4f312298e45a048391e5ea5283ada994ed262790543952069a174165264dd8352ff142fcd22bc98b69043144c50bdd6ebcdae0db4f0bd668df5b9d7c159e0928f8387ce6aee481fc80f9d4ac92de3d4feb6b4be7b9d1dedc61435e1286cce48b2bc427011f0dd52602a030251f6da6b916aed7347cd820b3f50271d956ab254cf773797c4e62d8f6e68fdd0770d85b727c3c9d953d2df9d4e199b0ee231f7e6cd2d32f7af69c383476d1a5e6c0b3388e5c64cf616baa7cdb9ec8aee5ca332639495bc24a4bfd6300f3c51edee7bd61dd4502f850f187f4297b7eaeb3495a3f286efa30f92d1a517da2db39476f7eaf4ef1e748b30020fe86be4896fb41eb76561e7bc2d8fd8bc8809302705e5873edfa9a9a4e6e636464b72fe8196006c97aba0305e3bfa8decb25580e9f7051ef743360caf23c7cdcb6a610d55b16b449c7d5ffb2fd85f80006bd7f0322e327b10248661a52f48b1ed76beb9b70af23bb95aae885c4de529645a1fb4ea7aeab3a3639f664e2a8ab2aea6018372d3b8a45196623f198ff93291c17d6cf84c33732b06f8932a90d17ec877b8ff867181c2204505a618c82dba1952a60d22213e405dac01c51ecc1ded012ffc0c8225626ce63bbd36d8c39da6634d456ae1421635bab8cdec9d0adf1cf82b4145266207805af1d143e36d6d5286383a648ffd491f4a78a51bde6b612e513a55a8119d40bde2a1fd587fafd8433bb989fc2b046ee0bb38ab992836a4784644f1e57931f7a528c0f752a275ad3be318bbc8de9c47a8bdac809c19899bc484332639dec71cacc10166f2f541a88085fcfeb78720b6f3f48aea9f757475a70bcf923baaec222a4d3d3c2996f17539c99512948244beedef70db1b92cf9d9181fa9d3297f0499dee52c78292246ad2e2b3c9b53b5b92582176d1d05ba958e2c970e679060153051e28487d0d28b0405ce7de6be970887d46dbc4899b3fa3098db3c7c8524f655de1f3cdc0e3c38b0dcc9c1c677beb4fd6e8caad778c2983e7f8327700fc0f0c2371eab4cac358372929d9ce240fde47eb3755fd5cea9d11782ca6e13acf9695f26ec54b9cd83d6633fef64978afee33211c70ad5c24c1f6484a4c8d7bd87f6ec633d619de6f5d3e5f4a1bea2aa87490717c42d8b6ed6ef66180a46777cda96d6d29d2804318382161ff15e09cd4eb33eaa44c075b48aa787738cbb47d7c31292e530e14f3b70a73becd988ef7bfd9dec07e756dcae5a7e36b82736a2e17045e02e3420c19631de2d64f4a9450344e6feb99d1f48ef730fd895d3b106b3bfa5b93967f9a3775e00c29b87d5f316203bc71a13d23a119b8fca317fac23d36c943bb1124d94f8d78eec77c34970e02a0ab9783cbe316faf7a309cd61937edfb1f4769d5bd6df1bb02a47e13c3cad212d56fd9fdb2c03399eaa1787a51d7229118348e0cdf529cd249914a1cfb28eafdf11a31373078932c520082387fb2e7118dc08fdbbaa0fe86b75e438e6c3cf44ace73d9284d686a7b74ce60f400970490897a4bac99f5966d7c9deaa2bfb8d5b8a4b4eff93f237bc0558bc32a33ed1a121cf22cfcf75d3517014890cc071fba566baf0a30227ba6f6f05149ca1c369a20b2e32e2d7faf270b396b16bfd6eb5894195f6c65983534ce1e8c7e2e1bf9e6065eb9150013f4403fa7222da97a9946f9f8a38272d612e0153c1c8757ae4784c5e50b98cd9c462c4edf39c1f66a0a035a7ebe5d4bfbe332e9ca32a3e984d25b2ee5faa38561e4251a2ebcd0f7664d1822ed346353862aaba2082a7dacb8e84747f3517701c9945344d0f4993da55ed3a65d21b9b4d5328955696593549c0d1e8411c9f22e716e5f52d12f7e668960f8922943ea38d341d0c34f2b366bd72435be4127df1a2af714be16686df58af57d403183be5a856a31fb19d06bc89f1321a8270f222b1978d41e5c9cae09386605b949138440c15d66c0246e01a76d8438a5df733a2ae9926dc7812b405002ae765246249d28ca3a1a99c7dfdf261094a4f11cbb2a08ab7ef8565f051fb18b20041d334c9f2311f707e3a7054b6f76cfae90b93e918840cc85e846cbfe1f681d6b1328ceaeb2ecc912bec2173136985083414cea6565e26e98c8a20117c890aa41c8eb996a13b9df5c60e43eaa87e9b942bd572a7d13506bc12a3796370e8ad88d2c3ba353fd0de41a958572ad68fc330a3683288bbd4d871370b8d8846b9a952dffd5414d07df3299051f1ef8d986592f39f53f09fb2c1bd47bfce02d8b9992458a4ce94c6aba8e927bfe0cab90fa3fe9ac9e5c8f919b1709e21e2fbf7fc5e0a117acd61c243340d0a308355b71476170ba187b390011640edad2b84da1a43bf2dd349d0d9c83630d49271f29e6eb8245a562693433149b1c0a31aa59f13e35bc71aa47626f557cd93380f8798e7eed86b354f180c9a01fd11c9e9995288c2825a66ff7339e38f65881658b2f9de5a7c93dd0ef305e8c3791b6049d6e429aa0602e6c7d36443f70731c7b3f7a98d86d7aeb44601e5cac3a04241bcadbde346b71e2a33e699ab5bb79c45b2d15f835f3ac58488ca8c727b1d7608f427a9467d5df61e96f96b37a7a5d1ca482bf02a778355fb6c2674dfdea29a72a5f03cf9843b9167f5f010f977217b4e295c3bd745d30faa91bc4f67f1d25592f7fa706c92931aca75542827c4eb70e171bf44ea1ae85a3aa850f4510f9bb78e038a5dd6a6aa47ed460ad3ed525e61b504bf4325de261c7e5f5c35802003f7ba71b032ae264700f3147bfcbcdb72a4df6d693ffe19e992a4fd69c159a7cc7747b23871c0c20790c5199390c45bc1cc9a471932e1de84f3564e826c265eac15cb2e381a348c073ae169042f86db5256f8a010d692d5007957735968a141582221fb8c3ebdd2b3798ce0a0b0774a9c7b683e97b893fb7a11bb115947b92589d74d05cfbf13bca9522ab024fc986cedaa14ca1534db736e9e8a8b9996eabc80c60b8b8c38eaef4bbaf359df0d544303e5955804e9f27344733f733be3a0f198efa8bed24f1f5d4bfc98ff4150e250759dcb08b9d3ff9015f8fa84f6e98cfebd2975d39dfdad25ded7804f7edf4f322d03a6b3fab6e47985e18a7009b5cfa022ef595dc3f1a671574f6da0f08dbda8a7b9c26342d789401f1f8e614ce1aba40de876c974063968e1e258050dd27ad0e1e492fba8da48ea2b40f51a89550acd0cfe940f1a79984f59de3c74c75c85318d4fcb8f221e600b0513b1461ce531180370a0187e59ba6c3b54512ceab3a5364dcb144df91e481a39121c83921e7afd1e6acff40791f29466196bc4ebc79a90c0c527be8f40dc87c026c7191596206623a7fe49389a5592631284feb4482e850ef77341e7bb3ebb97cdf9e1a6733d4385185f154cfd4fe2bf669dcf18809ed82af9511b069c1e231be41a2db31dc99f6c1eec086b704ad5adc2798cde741b01282cceee83baf9af2650ff109ad7d90a1686595c3dd31b05102ef15e1dabad18f4c310f034e087fc423810a3aff11e9c716ea894a796d68e4a80170206ad4c1b615457e7e3216ddd4aa0662e23554bb7ebc06c7507940541ccaa21129fff99ea0bbfcac693387c7290c88d8b5dc305027aacac47498359bafa4f59cdf24714360b259cc850333c9cc93b2bb895c8a2fa01cd875742f0327aa840977b0decb899a0f42831f8f9847f101a1dcf3655094f389d520c7f85c43ab5362d3e5b1efde3afcec78d203be5502b0df710969b08da3622143801baf1e397199bb238aa14f3b18d02bbbddf645086b0101be993cec2dbaeb268c18d37eda8ad837ea992055db901befa7fcb2abed96bc97c0ff074705eef16b95df040d34135a5e9280e573caa2b0af10a70b03ac299d1f2b9083c001b639778f96a81246b5322057b965276313e8df195f3eb3464292d807f9de9c94f18cf515e3f55ef71968c241e19f7ed0e6c3f970cad15a3ea21fe3262ebe78f516efecf659332b014f0fddf6c6ac2507f4991ea1a0499d1f20f5f5f9aa141f3c836eca58986a2c107aaf70f3a1a881aa4863e2bf9f6152c9bd8b2ec868d609d1a0416c0b2e757b5fe0a7be0ce6abc2ae0a9ffb504b91589f8d0d00646a6ea02c3f2b59d351860e8743a91f2a55533c3458045238be2116be7d6bcab2ebd2946a9b80facc79ce6b24630bd63e116c392c8a91e3b3414b02bfa82de70d6cdaa31b3ca124f8dda9d49d9f14c75ae3444d237c3e8ccb2518af119fd820c7baad9cd2613f74214f1a5eed013ba7bf037c2cb3184741f770d3b793e88f64938a406600814df6908319a2153ef75d777191836062eddd3624788361c57d41739bd565f0cc4b3da28841347db62e08344a39ec3c1297fb9ec6841f3a086c6f0b72eb09f5dff3df0c2b7ed662f8bba70f3f2cc461a617e82f8d98be8f47fb8c49472c9bba197b5addda91c5782724062420f0d7de725ce04b449a404462b360770feb54e4282270d02c2eb387f469c08c9e2e8367f61a7c421d40286428c37823a4adc9ee17616d2bec5dc8180842c2a16ee22d42e8703aee51059e81a7c2d61c8883eb877c39048173b875cf8976d1bfe9a765382b1fb292ef30bca322c6ffd925575ade4671a6fdb9c5bb7ce28c6b9cfed09285b40b125824c84fe2b068cee47d6af8f1f907ed0c15b9678a14270a62eb212c3851c76714fa520d216466de9019a2d8e2c292bb98976f5eb5caa8a36d95cd5afb73b6030269e3a3e11af2b11a64ca185154e1287b8d0868cd9c5810778d65ae6082352aa8f08c5bdc33b8fd6d2933620bfede14d23044fd0cca36ae2694bca772f3bdf69db9ee7b51e34c0c769b59d409473aeba4932ddf037d88df4d30e07ed47b31386d2ef7df5b1446d17ed1ffa2b64d983672b92df2c271944528d7fbe9c5ea71a95ddf23e52cd7620b2a221290c8954c611a6ac2082dd1ad064552735861ab88fad170a49226aad28dff4fd58cb87d1a6ffdf93b5ba29d82946ef51f46695b97800ccb497a4868834e3da2e977383a1d0ec0e0b12624793e21c0547233937c5c50062d5bc46746113deda36635525e7e65421a4eb31cf81f53c46652674aa3c52c3ad88e4b4dd5faae54831fc9bb0ed47fb0ba77884ae68bb59adead6ab479dc5c448742d301a8fbc81a2d3204a8e35bf92bb5aa23700153d7a38fbf78e3e3df2f192b615c26ca0e8fc9967d9001e1e714c133904113fce686340193b536fa54cbf2568cbca39b1b46542d587229bf02b75ed18fba321cfa99a21f2fad53bfddaba6ae7c23801ca0ae7ba7a786f4737ee09e65f80a0411a161908c15f4e6842284d4f17038e1ca3f964f296f4ace2391aa79e2e57d446ece2ca25d37708e91aff1591de190c4ea72033963d6d996ebe5736004108f6c75ec1038c7c8d32be607b4559a4044b3d19e78a859eed58a93182056b839a75fc5e17e8bd1f0ead13ea0a0c3ae2b88cd07971e795d73546c563b1472d4d4faf03b551debbab28393f4970edc6c29dfea840b62a887fd43f101e9c33b67ee2fa4091364363755dea91b280073931963bd2d255e92a89b6ca5c862cc0d5a07fa67904f498a9c5e219241350eb823802040ad8a8b7adb7a6a881ce9147491b6b78c1a67bd5a574b8ad6b51f28c39197c63821c6b1f1a14ab035a71bda2398d04df40c434504805fb147ea33315747402365665a31b7b90ae1b078ea7d28c92b8d8c82d0b40ad2d57c04da689932417ea4da603b5abb2d5ece62fb3e1fd0f6d390b418717361d5eba3a0b3a1b2613d74ef5108603c49340ae6da278e7a8c4053ab8ff3fd0e1c2e0169217bfedfb51fa8616ec071e734ae6b63a12b08c8ceb6acdb716a4dd126e8ae2ca53fcddd5714facd9415b3bdc7fb306ba8a0158796b167204e0fffb0ee684ab9c8f7ff4e63b24a797f6ed32711774976eca9923fe1e7fa936f8813eb0dc755cfb02ac49a0c59cf482f6b115d7599920c0c428833f924452255b65895339a9890adecd4642e88b37c922a7f6de21d2bfc9e2a80f448cbc29aeaf7c02bfe7d3f3207b51fd32e507fa0e4937823a9f936a117f463cce7c81501d885abe6db72b607bf7c1001c5403abea2407fbca702e93038036f04f229fb75c91a00517fe8e30688c87218db557e2b563a44a324cccf178d89bba8da8b60aa434701de491d5de3644bc99cfbe1002bd054cdcf92d2b65227230772f44c998a8cd2996bfc8317913f8b667fd7bf01be993253f9d9f18b321f6722a1b6b99ed4db25be6289153c78a18f76605eede5f6c859dd36e3cc1b54dd86207a69e8bea3a5e7ae5de4df56f962e2788f7a443361a00a70f59d771ee2f597778a763ffddce0ae0229ddd6ec99f0a38d86b1507d42bbe66f615cf18bee003196c5a21d07723a607ff312d22ff9cdb5bc7bbd7c454d9f50d7a8b1aa316a23ef83802eac433f97140c4d487ac7a5d2cc266936eaf49691263829ef78e4ba977c38105998a824d3e519f9e5a4c319367a5ef5f30f43bcf0764748930866865017a8bab7e755b7919fd156e484d3d86aa9ad6b051382ad1c12846798610b0f878ddd70738080a4fabdd618a73091ba3ec7ab50eabcdbb66405e667e703f148d45e5abe5be6f98b5a57548624be3b3f24b48fa7c02b67e5f755bd66302ca02b6e266adfa48cd3c95204ed3a2e52c1741349b8e41b14251434b9900b5aee5b767162673667a3ffc4ba8c1614abb1032252bc7cfd3d0aa06670669fa3e044d831a30fe36a6645aea6f623b89ef791f447a5c206395c52a13b4bece71f6ddbbd28e559ae2a0581aa3339ede90c7a522183b859f237e3ab244f613a994c2d53622902e1e1bf239d9dfb9618404862479bcfe4c1b94637907c3b9342d39c6eb1d9994c6f9180b98c02383d301981e1a125e89dbf30cda6d5eba3f68aaded54e87ce44c5d2452f59c86a3c0b1f6b2b67a7fd2b1be28451676d882bb84788d3ae3d0f3164f7953832c37e5b5b0611624ad0ac0a0d5c7c1d1ae0fc552b6ce0d364521241b64a2479c39eae4c54433bed3e404f2b42119229dbe93b93aabe6bd5ce700af402184e1bc12145bc0d12ca099f79296f3774a90c6a00b8c2eeaa28fb57f65c83f194584336a0b076888917a6d3d782b152772ba9127a2609bfe23690f2a9325c0d52078980dc7e4e99cb313940f69facafc9fcf62b904a16d2a855b189f9db2d64775e527784e7e6c17af8f85720bb8887d627bc29b38fbf61b975732c3aab92ee71233c0c45ac3f4449f69c9bcdcbfdd004f941561431d8f4284db19355ff9b34cbd3aebc0bba135e10f42981c48d559c6b4e6d9f783640f936bc328f68715e02b9a0e8708c450fb28e03e5268f30d14d775e1c99b25bbc07ef220e56150c668c49b89b1e05ea3988d4f230e94075f1bbac8e04ea87a9c8428ce8a37e81039aec5583b75932d684472c853fba9c79f71a8cf66529e40725516e4d231fc43bb30181954c9889d8525f07c245cf6fed5e23e32652f87f2ba523fdf00a3b9e61bb685a34142bf0ac84a35a770dad403af3462a721294cc470c8f670d9e346813ad248aed6daee4b8476a395928a110ab495d872992008a5a77f1bd327943eaedf6c0264862545033fc333299b370a65e1e5cccb13c0fedf85441c12b4790e6b8e6a1f66b1d0379c41ffd91be1b664bc6e784720b8e6710a49676884962292101aa3b29ce7b83be4a95125bca569ee24c88d3bd505e85d8cd16c59618025a2b2d044922e7c86750393ca5057363ec5ccfd7df18e30e9f928681f446d8cc0b2d6508c0946f0632185032a87aae91bd0f83440eda2735ad45ff3e557c69fd9606073379bf5f89b9b9b1deb68255ce33640200b4cc312b2a347e6438544d05097272ab64935fa067b64d5e765c3b0cdc9928fa8e0a582e861716501926b4e482f50b033a9038cad13dcbccb7f61ca7cde9ae2e82713057be84213d07b3dec5b9f5e45d884a1ae271b9cd724f59388ccbcaaf430cd513783245c28ad87e98e122b96f39201b0d7ecc452ef1eb636c1cb60be3d7395b4b595b12e37277d54c49f9c2841da4c2dc9656c5255305adbe7b35b74525f1c7d84df08a1616c3a4b962651de7eb9c5c89beb9e42aee3c1a94575a63b02e78911ab08be6fb03e5643ff94df10dee5fa493a6f33e636c16efa932e4f357cb5d91211db9b878fb9d0fcc58e7082eb7b0b2537cf664b059bed4231d66ee3fa05537ee93d8dffda37fcd0583b8f008408f8bdd79deae685bed467459a00d59dc1f924a5f9cc44681c2e9dcd8b262fca89df1d5fbbfc8c76d018fde77b132e33071711e269ed08ec93bcc82aa65f0d43cfbb75b4ae4b8940f293a97758c1d76424d3bb39e48abaf61c1c1d959a43ba7ce9f162b214a4854fd717b48260ef8c3e9c59af77996e71112513943815244fedd70f2d19eaf999f399da96842ca21e2092369bcad3ccc1e5b955dad2fdcb7555f861dc24b3bc7143e428ba73cba754b4b8b32faae40eb83e6ff94a87967394b18f21a0d27d81dcb75c12235fe60f5ee603990e80fd674c92514b9b803b16dd7956e3fd4aa8c325d481595ebb09c17c66c020b5cfb1170e7b18b516e6cc649b16386854dd2df222259c365cd885fc7abbb7c20614563a7b78ce22d6f81368d57222ac0135d4782c256e5fbef54a23573485faf9f42ee824f3707b5ad05f416bb6e1c4d8701b83f029821fbfbf45b0c935f5559974f5f1816acc871693bc1561be6470c16ca80984901adfb5ae412377e7980ef580871c4ffe8c20225c07823f8632a559d4147245cea0653308566e47506caa8d809aa6ba039beccf1155bf48af8ec5661fe52840d11fc2828fbe3fe4f96899b7b4fca0594858559211cbdb170a5e0a1a570e88448f989c00eb7785f7ce16cab157dda0d531f8f7e2df43bdae5f5891733d53131238e06b42939f90608710dbaca01cf1451265ab0bdeb9f05f03ca542582a47fc1e7565fda27cbf482120e1e4a3d9524463b853d99e6a011f2aecfbf78fd1b0c267d315ba67fef75aa009145006ef782085a15c4cfd8c22199ceca733192583ae7edd99d50c1a51c8d875edc087109b61b592a897f82cc04e77105311aa3c3a1106d929c179d5766b5fc5688db2cb629aacb2a1791886dff4dab6b3c8af7612db39389d6b9a110d180cef3193db173e4a38488731a6c50aaccdb40e316299d84eae139678037a15bd253b47b5e90323367c1f018b8cc6d190776421e65ca9b70a4ee6546f4e43a582e05c61db93059430787026d86bae5334b7a8048f039c8f9c0ba277bd7765373892166d26aadc691585862f3978949e2e39b9035aefd6be95de4a4b669782be1eb113673bbdc1eb320eae9ad3b29c920ea8c56116c5efd88df496bbf6335199a48948c60c93d3b56105b9e4193091caefcef1360a80365430b117d1cbbc1de5fe9a64e0495b08b974e958946a6dc2ecac6422050850368f62a9279a844553d66890c2a293dfa52b0aaf15c156d560c830e1183a31d0bfa11fb7d1e5152d66f3b04ddb3e8cc4c44614bc593c9e99046bee8bed16cfc1c310660eaccdd46c71e5f171b955b576070251d5036dee460556e70c8c7d2288c2b190cda0a0e89b62bbd8857f4f4670dfcb285a0cc02026dfc8f86b461b3bdf4cf5fa7a8a1d84da8297f657ad18ae378fa843c944cdf155fc63878cbcb062494ee5284a5e3c8951d205f44b45b86319c9141f0b966f1ca858a2b7e8cb072d20b404fa617ed02ee16fcebb080985ca4189f3e64215ef61602917dafe716b2f63bb9deb0489911316a2aeaf9285d618767c105ca8187b5ddbf1a18b9ff7480eb6016ad6b8df9499e41647b4417eaf0ade321e9ac1d8d418adf1063a7d9e61ee7367f59cc573c900ac57814658c435715479d8dc237181ced4e61173906533cdcff4d57096108c72b3fc855a6723da569483de388862344fbe2e19f3f8a79d6502a901f6e75a0dd3e073a02cd47cc5c1d3d9e66f9c779f79f0794451784269bda179710bb6fb76bf00308739502e8df3c934f756b7d82ba308bd721411109218c2260550ca87d42310018da3e0dfd1c9d4fba0091d9c502d9e7dd3eb54d89369945cee590f4002c02d50d95d81e30636f8d765aabc0b653a29d1e6939a192bca26fa655e018cd852537f5ad7c7396a89a7e0a5057f7d629c09c3cdcb5092523ee72a7347d909030e37955acb5ee68c2e0fd958a1f5757feaa50819335f4d8f796d2a4ef75d5237ed2ffccfaa116eda9dcc988b75d72fe75cc496e0af45d5730048a4ffa7dabea2a9bda81862ead3de8cfffb33028a31d8d4ec1ea2237a0c6f66523ec7f07e6658ff88a28d4592d97edc57f850006dfe5b2acc9d67c057589ae7e07dae81262e8b05a7c715ca45b50935c27095c1a8b056c79e24a767cbdeddbecc0624db9521da8ef6fda15cb62f2b52e37db9bcc8c852f2bbe5f5c5fd09776c50297197cd65fd6c1cf9fc202514a0d46ba83acdc8e934a09301d72d1f913a729ab52e8e880a14c6b2acc5531845ce9ff7fedae5efcb13f1cfe5295472ebbb3a6a2bddf96779fa8b5aa38f64f91ed35232a5af9c54480ceee3b551bdc32fc4706934ff492dec4876a0e5d41f9e18d8809c801b0874b24f72047e989dff985a6217a431ed2b686ba4d6babfa7d98b1b7fb8c712880a78eabe7868d54fc22a14ee1f94c78dde3ce20e43e454965077ce4b17648a12e7370da51366cbe02e12aebff47a71272e470a8dfe8fe132aaad3ebb7b68690a7a8d7d591b40a8c33619bbb6fcfddf66600e632a914b1c23c5ca7da08c1c289d826085e0cd8fcb7c17370bd4bdf44bebaf3a6c19a98422ad4fb81171ea5442285f0e09ce6ddd57726c7661e05315cbdb3284d457d376456f85cc0c21d27c5cf5c3ec89ba8f9053a91c30c07ce3a1986596162990732b6b3699e9a41ac321c34647d62416c6124519cf7bff88025009b8697f281f2a5eb46a90dae41d0d3cbaa381be106966a3b4a81454993369811439a232b6656e5ba57642754cebf7c06e2b123121ea2d8ee55873c7c43e4cd8b611e59ec64ecc825bab562d8ea66c60d98ccc4991940ff9f7f982171e50ec3e935616cd0576b8f5e73c34ce9558d73e6df8e861b7e87c7437efaaa47b7af2264e7bfbd60104721d8cd4f3af1ab79daf71544e19588daf81151d69cfee57aff36a0a999bfe7f1aaa84f360ac1e9118f8ddbe34078603cf7afd0abadba6b5b21a2b9f2fdfed101b0c2fde0c8aab4bf1eb6af9a0aeeacc908634320a4b539dac8443b8ba0e74344874e29cb1f62a81c824168a882b17e80d2fcff20b858eb00132ac91f2b71c8d7a9526e633a7e02055d7c8a9e659f919c95ac97d432252424b54d4ae3bc32e503caf6a39a82253224501b15a12ea0ebccb591da3fe97b008f2b2c5a411262954946e663278039347b49b5ce31705dcb4f4e1bb5ee8f77cc6db273ef48f04e48a49330e355a6628d39356c0f0bdc5c88f19f29738f502df7635deb4d76fe014b5233ebcadc8443f617dcd3c1387aa4093e4fcfde40f77b8a64272c5bd976e8de1289c7634e5831250df8929f5442bcbef99e24c7b6003560ed1e7f5f0c24e937b6ceb77f3d7c3f6e3997fbe788bfb888d0006d97928ce477d87406611ca26cc09fb89ef0567ea5fa5595fcc5ff5d1bd296f3c6377578091f384fe7432a5a5ddfec6bfab9b23f1b7bfc1814770e3ca8b97e06e3ce62e3b25bf9429b66bb9d2dc97ffe7ea644e36894a31d18ec82f37959b3342836652c1918771e8d6d563c127439f957a96bfa03782cd4b1c5053473222f442b63007dcfe24cede323cd9c2b49d2c6c8a8b219e40e77a9011c0cdeedf53feaa9591c82f9f9b92fbe0b363c3a0af40712d13caa22b092d36df4444d5d8e93d05d65120911ec4d6f4181ca6323a520fd06949ee7e4225e3f8873e5d46431cbbf93ba8eb492631037359ae3572c9328ad4c51e33e9fcf53a9bf86be91f0ff83163a1e64dbde1be049c034de8a826343c661aef78c96617082b528f904da5419cfe15d685597860007c2be992e898d3967c0a2156b75aa02fd0c982d4fe9925e1dce56629d361d8ddf8d9b5cc060fc71575faee814aae63171eb5cd988fcf74711df3c09d0c73c071ac5e90e224b8a54ed174c127c79b2a7d16021edaf3a6f7b968e0126dbea188e9e766bfe99c7e358da0b83a2d16cccfbabc965264d21bd139f0d2075c44fbdeb403d38379688db643bb634ad313a6da8b5a3c502c0e8a91d385a249b4fe9dd22833682a7703c929f9ae444189899eaf92792be9cff798e0946af3029d1178018ff4870583d2c61a6a3cf93dc32e40c76c20b47e79acbdd53780a328496dc32f204a014980a048fa3364e0fb08416d8d288a3a23ff99402e49b6c9251174ab217506d24a109a4d07a597893559d3320e679609aaa6eaa95ecf2c0cfbdd4506934c3493c7c0e5e81eb9dcac6e53b8f7c89123b63b99eb18265cc49037a96297e3c48c11c78252c59279bcc4130219980ad5dcd808528b4a64d6deae0adf2666c10391dae9cbcdb872a0004d220f5e2e976f0d3015272a1dde25d492f4315108f5c228da98ec225c68ce638cf86c89b9cea7c50bea9a7464d392b8e2159c6a4450fe3b2147f3addce66c4ac5833349895de2c140c445e8c888c1b947251fe4a3a2e2ee2daf611d9de9c7261b0f35de53f68e8271f3f0ac1a0a1ddecc9d68b082990cc99021d14a617bb11b6ea831fdaa25a1ddb3f30cec352110a77a2420d3fc43d2f4e0cc773ea6c3eed5386b417f611a0029ffa1552c7d15b815bf083cf3668c65e9e5a2bdc3667e81f3ffc5552ea54e4dee29add67872ce5a9ebad6f24aed7fac7f34ccd501f9f5cc2c3a743ab5c1faa75331f6db928558c7176ffc1f9c3eec4ef1bc19fb0c476f7f2cfe4b20163688de0a517e3c3c47580bf15f1032d933d7889a7aef0e570bd9613eaebcf3e22083da02dcc5954444dcbc432493d45b1822a44b0ad07d44fb043d7bab8c68f8f9a0b371119dce39dfde4dee0d78ce45745b86e01f08ffe837ace54f2dac6d543bdbab31bde0c73a9e8bd555bfa74e3facd6bb1d2b227e4e2dcfaad11eff95a5dc220e09653d7038cd91a392430683cf0662d1761e152ebd7dc633ea5a9a21b5247bbf95e49cd8810328d2f71156cab883abb2951f3b8eb9e0b07cdfd8a1ce608a288d5e8fa053f9cf1624d45fb53538baeeefc47dae9012c9cfe58320cc20bef53f900bace4b0d2848cc57900640c99f2b8638184794f8e725c2352ad85b4edc02f68b881b1a56930181758295c7c897cdddd67f3efeeec6d5520f670daf0fbf482e0446e5a62cc8b2bd53bf7e6750223aef11a4d8d6c4e393e38e8303989e3802d14cea7d652b1bb9c56fb8719ba1dda64c75ebd5722059e2c0679209ccaa95763b518a5871a6747728eac61651a8bf3f61050c5d730a805c1b08be2188ba6f6440924f0b8b3068f52649bb7a091e3a934dfffe4c914c56d442a220e8137351df9bb51fd80d64b22673845e554615c848f3ba6869dbe893c149b16fb26316a1e43c9ba31194a79ed42c7e8851c189b79e3e3732410e1190ccf13567e5c7650ead24ac4b0e6274f3ed11fb9118a2d702f4f1da5eb22d24e879a17d6dc6e6d49b2fc92401bba2b46442383203345fdc26ee5bfe12aa1f2653f04d8a52dbb08f965d861e3a50807e803f09d4db407780f46a1e8e74b40de1cb1e4ffd9f00901c8c4ee40d751f60d9c3ddeb25c4c68e31e2be9c0670d966a71dae004fc31eb313e476c53601d9bcbde3333585ddfa098038a930f9f7b8b43c279824512ac57ea4394843972f4e44155eff7c1cee30cbbc11847e60c23e1023ea923e99fcfae18b1eb8a4e08fe5ffbfb4dbf0694621db7464d5223ff01eef3317bd339342b75b28886deef32d2426681f8ff7f68fc92a2352a3449422aaa41c934b2350bc17a58aac8cc12bddb9b728718137d9cef33fdac457336d9b06f91112262f84b5c0b2451ee15db7df27d7027e9182b8f6a5664fb64d4c83e6fa6083e11e50b73edd34eb7c75adc9e41aa4026dfa6b66e0aab7976813fa1a76fa2ae8dd12567238360c4dbd997ce2afee9b18ef6f29e26a2a24761632926b6156e75573bed03d4ca23349677dbbeee12b9f6b8485c74176bd7f26e0d241177ef7e6663f53bf8d9ca41838722cd57f29c50e8e4180f4420e4f995325b0b4e20d6e3fc72dd4e3aa51be6d5b117ea4dbc2a9f5f4d0b908d4e2169d7998ef89487817ad0051837457da04a66ff4dd50b5788e73722a5087c83f9025295fdf70fa52dde8ae157830ed5c34cc9d6f4b70ef6104b210b17b753d691ce1483c97218319cf8927665d0beab79dfd11cff786a97fca2a6eb7ae0e2807c57fd4cacd76dfcc183ab9bd2884dc4e929123189c18a7b620e654c7e31218814b1ac8189e99ceabaeb415966e859a71c31df870ef0e86de3225309998518c09d5362e08a5696b4516f7853cfce0698353cd16198708377c1a129e187a34c0b31d682c90bfd7440987529978bb8ad0948d44327cc07624fda4aa742e53eac4cd020c98f8c09beff54b84150e26d8ab7be053910d7cf3703851c3fa19d7979e4da9702d48edd6c87f2b31b985aaeb2b66f450045a626cbc4a93282fef8c4248a4d0232e8874b4bcb7ea979e6f1cb70e04e9608b084067078a0d3bc4c2c3f105f03ed87dc52e55ca8bccafa8cf1bddf6f4ac56f95f79bba6a647f677fca4314520391cec8e6f674397488c978a12d819c6de00991f677bc6576ab4b5e378e9a8760c46eff541696b776614b34cc1ab99a247432e7a4d0f5ff173269da84b2daeca444fa89cf8e8f0a3ef3dee907e64a5d19925b563235d7b085be4467d04c54adb99ac3a54af1cda790541c3b57620ccb2a06856f7487cbdb2ef538dbdcbaa0d0c21b92e969f5a4f3242e540d11aaea3588be07c3e15d492246450f14ae5213b036d344ec58e943309d1e68930583a12025b4173744d5d72545831087d9d12c2963cf9592bf6a4c1a9b3e46e5d894a290aef79ed37ec6c077545edfe57a9f7e0378b5579e7e015414de9dedbcba3f7086671ce225123d0e769cdc23d28620ea88b4b8de44b0ae9f4ed5e0b2878e08c4ebd6b5e538f77f1689943f88c2f4c3a9a184c30b0a50c49dd64cef5685f632b1ce1ad1f6dd58f1f7506f538ebc1d7edff8aaea46bfd8b7be5fed55083000fd43213e2cb1023fc56a313ea2291e6810351be3242ebd5421bd4e2df8506edc5166d94921564940aaecc5dec7af125d69bee1e80f09ed80f6552a6647c1c9db99db70064fca7478aa07cf6d01a3fa9b3c84697ab25b59644ddb32271532cbaf5ebcfbfe29b4799c1720c58e66bab984ee153ab147c08d6919398919c3d7fdde721142740147b54c2054c5f5110f3595686d57035c0de5693b90f1577a1cda577e196d467caaa37c7a13850cc90a2706c4580272af671cd4c7e64786ce27fcdeaa1311e912f19d8b02b0002f903ee4b94f024da53b4acfda3898a52482180f3c86b114db499c018074b6b1e8b131449c7297d942ed978a8f7afce06547182bcb8ce964f1195c13d83f7962ece3ca606e390a015a882117eaf7051ad8a16458bf0b6e23e26b964bc5a08c29063794b241ce25ec16c59ff1c783d90fc758b513000e84a29047b7efdcef372b0a249fbf0a48a3b2b88e83f4a4de73e37a49acad2445a3b27d8d9d329ca414c4637f0a5bfedf5005f6b7db49e838ff46ab96735bf5427640de916b185f8fcc895719e0c4459a9079a8c5a588b7a727cacdbbc560d994ade5c8e0553caff316b7b13c736029a8044157127464daefd6c08f314a173fa5d9ad77bb2d4a85bcdb1098d98604e8c761a809a25d195372858b9b79c40745e6c0b1e25588027536755d006ce6f13d485de053f0476bcf6b15a8af75b871bf8966eb27dbd5a88e6e55900cebb00f8d6ab4c7baefe930be90c38079fedf0cf66b7e6a2c444e452ca194ef8a2123503237a8ccaadacaa9e0b261bf2c96b93ae6a630e63f227d61569a8b31afafccaf62ee27db2af3ac401e1f8bb1e3881096dafec5e1dba87c92d10e09c6b8b26b7a99d3a7a3757e99277b604d9ff8c700f5c2e3b9f938cbbc2a9a90e8fd0d9f5b0bd4f9f76604cee20d1ebafce2f8cbb13f5e97bd823b6675cf4c21622f32a6f0a39df9a20b193b90377627cd9d91158f3d4530f56d8108cec0f07e9367013514ad4625a2b666d518d6d2b1464e389a3c0cad5d13bf2ddcb3c9108f8f31e9f6836de22a7da437719d05ac7be5018f4e74bdc7eaf4f4040c68ff66b350ceace14215e143637ec66c6f7847327c6d72d4e40e85eb7dd618128741f3c8f052a612c77c5edba45015315066079265e1198c37c100b8615b62dd8ea019863cf80ccfb1d9a4cd6204ed8e30306036317462ac818faf172fe8d81b4995ab491f944416401d8b203a4bd0dfa4a902f6075246bbc4290f25c27ad4ace6b724dfb9197f2b5c06e45c4b1137ea4a11080f54afa30d34ac8a8076a41c919a723323a216d327bc4c43ab4aed0aa09ff6557791f251d60223d8eea706a007f3623e40abc30130e7a4c9670964ace10471251c24685c47996a3b3cd8cf0019ca9636f76e0c53563d0eb3b01503e21071ae12843f9bf832dbc7619a63c01f5517413cdfaf7c514de82a34ff3b9850b9c82060cca62f2858c65cc25834c53ec976e94a50615491c30b21a3e8d804729a9f982d77ce6c0e04e27b07387ae6da9d821d178866ddbcda694faecbc5b6628a060831b1a8fcf5513bdaaa21494ade59eb962e5876262c1159dd33339f47582056041e98067bda765e22f3e89cec8ff6a8954fba4e4f05f6d962d9eb527c1a792138fdb4fd84d7eb1632ac2c6abaeffee534802ee7e660682d6630e9cbb8d5ba6b8f6ee3e237d2c10f8f7767af5a58e2db036bbf2a0a866edce96d0657322649fc16078ad889f3415dfc967ddec6c6d339086898c24b25dddb3f25e4c75d4780512066d2381984fab7f2e03772fcef18ea995f28eeb9c63f4813f61083b8f01f681e8f069f23225b62de8a3b05504d74b144754c4fcce99868d48ff0779a7d69ac27427bf9170d822b3fa83228ceac87b716d34e5ea7f02e7516fa4d7f1d8c5447ad63d864fdecef4ea4275ac124caa99d69277e0d4b43b4b61d655db2e5987e9f9d543d88323a49b3e27cd5c8bb3acbb0fd5cf76fa9f5789f987b088b78b703fc32979e679c43f64b28684fc34bac2ce1cdeb349515fcee2e30025de85760020d84ca3378d3eb15bc19746290afd2ea0b9c7194af0ee1bcd91e6e6861dd8318e80d7fb5678d96db67cea3c33f0bbd444b1084a18bc220cb4062e876dcf162fb88db9fe52ce58b4c661ac55e6fd2c612a069bf50446f6a691ff98214726d86f277e0535f9f3f5c7112d6115b5160a934a04f16b0ff7a4b3a38b042bd876c73054d372942cf742ed12c88cb2e6223dbecc96d132f1c3728a0b99bb832fbcc44846c78e49992390803bafaa3e7f48b8d8b1db634633a1a1f19b48eab5dfa7fe8c8f8d8fa3a39ddcaf2340292a2f8b0cb5a7c7e413034a278a17e77d79f109e64fc8ca410c2ec77c50fd6f32f9b0fb26bbefc9e536fdd2a6c3251e1f85afcd093f31267491a5463a8c270a09aa6f59ac817581779986494cdb631aeb83903b974e52c1196917cff8459a3608ee677c6bd663566b27a2d0ba49c6774d8d619019cec258d2123704b41cdc2973f68751a273feeb98711f22cae7643041ab2468ada9dbc20dd02abfed207587a4436b13f51ab63533b45dbc71eb3aad35b2c6e2da6cd5d3982cddd722ff81ee419a0fbbe0c9464cd5026369ec028851e55d0670176c1aca92a8d8f2c8cfdfe9ab8fec19361d0b9e5f85a37179ec2cfdcc9493c04acb25e264aca4364a949f84821d77268f73490720b49aeac07f09c2c89e2be3724a371284fb6afabe0a34f9fd0baa5b76cc4234ff0f0a2b8da1b2e81090ac849f49268d51bff5388e88766c5856542be3f1c1616a89bbcea84acd0aa0e7218d956d86a58816b95a65e6f5715c3acde0584fc499f1278062471f11a26e6850e72f0eeb5e39300adc0a2cbab9291f2079896986be83bb5280ab55f3c1e7726233e46a89a82befc095b2371a16a133743b28749c62772b06230324bad6cdec3732404a7509405bbb8260b0948b39541a7a94b7e2278da3e9f72fc9467677072584bc9d2e4171e5b78587f66d2f86bd237e8eac25db18eaa4f792bd31a32d1de6bb4923d5fc163a885c77670d866decd23bb93ad393bfb218f8af2958e78979010bbb5559f6b520b4c2da0db8003485d9271ca50ad6d7e093a85ba36b546f6953af50b9101faeed19ee747de44652c28c71841874e85f7f24022fc6042e062169b2d7c93791a9a8ffeceb03c39b06b73517338a6639e0920d2da2717784026e7b567ddc3d7184ac856ee46ecf7b181c834d7acef206d9618d75fc36d99e78849655211e51c9a7988058a8fbeae71e6895c714fbcbafa7e33c8851cebe01d256489482b6b8f714da224607d0eceeea442f7930b76cd18db521d00d76565114264257b4a3ba73bae268ae8fd5aa2109a36f7505554228de05d4df4781b29e458319833dc36a598c450bd0083ce89e29cf2c1b4cfe92254406baeeab8fab6ff14131f42ef1c6b2d623f8171bd5f2c5f9fa6a72bd0837ebff81c44608ab6e7102b3c8f10dabea0fc27c7e3ba0d73b5462d553410d4151e6129aaee01e6f1931dc84409c426a6e8b918a5207ed6ce55e896c63abe1f7d6e90f3a8700ddd0cf2d3d3c2e8dd98f675165a6b7cc1c248618c3f57eec1e419a9b89cd93919b403c34dda7a905a21e322305ab65a238c92cc765a00ff87f9c0e52ecae2c013d0a4d6b0461f62ee009d6b17b00fea9e8f842e31583ddb3336784fd9adcd23e5ae64e9e2f9c4b003c3fd2dd660ce0c06c0ed75db46c65fcb614321d5549317afdbe2effbc2e1c44955bd05812e8dab575cd8cf1815af3cf9d319512af01903d8043013b43a38b5cfdcf75b75911c3f06b32661e8c9a8f478ab7f59905207f367681ca5f0f0cb6853215465f3b0d4a2e7591d7f843ba6361918a34ee988a5974ed1a4d3b34a9c304f948c61859bbea88f17b0d02c9a0aa9b6fb6c4d8b6c0a58a09311a23dcd4be655913985a9f680a46c42ae8e98e288a81a19fec4aca19add8d87bf813c5ad760252bacc926d87b8e0da6eb59d64d6704597307c3c5cb56fca055934667696bac6691774c49aae47db46b105fd325f5ad2648d4725a307c46be16b72444aeb377e0079b4566b78e4a327dca2a93c9e08131665eeec556874c12aa2527f4a988b20acf500fd97645847ac9c08a27b3a5b2db54df785e741c68a956a80bffb5754cac591778b3c2332f8174048e8d7c420759e4408ae5d7d03f852b7c1e51807687a3b7eda2da1eb9560c8b04c9ca183aa54d174e4a4dd52ef5988ad22f081831a0bfd50661d9f0952fcebf6b2e768a4c60a31085ccb55b82cd4b97521c939daf3180a5a39f91f8085049b693d0f9665cde9b9fdeb0587ca32ddee224f23cc9c049fa931e60335af7a81fae65c8644e9662dbb43ed1afd992aa269f8976eddd60cc27d113b15e5a11ef38743157863417f759c582f28fb040816d5bcb3131c9c3bbb457248d383c58ad7149b91eb2944b79185dd04b9c5005aa82d0e74c290de0fa29f4e9fcae85b0c53485d04d59716d14d9288cb4de9e23fbd93fc55badbc557332037695c9e2ff828bacf772059752577ab335444fe83b249381a8386a399e264783408e3aa2cd3c8df8e70e7b3f4ac52f65f4335efdc4fd134cb8fe73965cd0dde6fdc50dd9c6127f807e790f7a921343ee6dfcec0d9c0f2937aa92fbfc3216136a0603c8464c7aa4f001914e64da30ff4331d8486a6df46b4b54bf0ae31f6628dc54afd8fcb2adb2652acd96f55c625b4de141d50187d7f344106469f1c247be216969444bfa97d5544a33dcc47adcc425b54ee116f603c8d8fa446e683e9d4957dcab9f04d1251ec2f7df10d41edbf7f573828e98455a132ca26d5f81d1aae36d3f4220f1a258a8f0af60b6130a7786795453919b26d8a4121a42a1f5ff19e30df144cf422822e3156e6e23a856386867e4ddbee1774957722a88deadcd4685c53fbcdd0d36e5dab8955b62fa6cbdbb20c33832cc0c457fc79e0bbb96fe5c6cd742b0cf152fc678ba6ba8b3080b16c894897660a951e674bb2c03df69228b806e39be6ce0445993efca91c0ef8ac6bf8241b74b34cc1676b8b54e7a5b1b58681c136bf0bc088f1afe84f526d66643b9dcde92440a52733fc2daca5a7565791b8e4b56ce16a431892760a28bc16b01f650082e1ae4d867d73e9ecc7e5a72d280639fae8605cac9f2fa738be0c21192c3d378c5222f88c5a5974d12c4fa45b9299bb06c38a7b0d57b6a8a766e5432b8be26c79757147ca1e597f14fdd582331b0f4727ee62b3ad6615188878edc80e828e4f64f74d14ae8384a402ffdbccab22ab8335f15ae08428709c3b88f51e6bfff31df744f2e85ca858724ed3bc9dae71e0baeb589a5cf6372fe7d3fed6e761e9e5bf5b91e4129995905e1614e93a3fcde14b9fc75a5e490b988784619834625b125f5ab62e0a4f0c43795a6ba6b0e25d4947d9bc65745197c2579d593128c51762b13524bf216be22c822e56194bda435498ba15c8fab2b8aa17b10dac31b66ead1a0caa2d69ede7aa70b2af89cf5b3a3a177750172f26cdbd2929c251135e478ee9ecb86a8c118d965b364d9155b541e909cbca19cc2416bddc6180849dd15db639f8f601b9c1a6186bf8802147bd41ea6540a7396b76a7881eb3d892291f708733a37ed366c4ecd9b36d71837cc7d5041e1a4b03bc294e0f529e8489b4c19bcfa1014630b2076e2818adbd8c3843093b7e4cb8b041c6ef8fe76ee7227f8dd1ac9fe2ac3c056113bf57e0f9a2e3726b9b0f93fd89de2c0c5e6954c4977b89763b03607696cfcfdffae38fd12eea1b69bc06821dbc2d534adcfbbb3b9f6d661981b666d0339b9526f880a90c4c6cce94842c15ef8293760664b0e2aba7f70f8122a40710e7637ca16821c7a1947f604b1b872cf59c5753f8d0e8225863f41f80195dcf524bbbfc55b5f4792bfe6639c372bc939a51079f3546cf4dbc021f09a985cd1e4dee01b20069c48c74f7fcbb74e62b725bdd68158c81798610546610ef99d181a07b31c519e09d09cd8fb76d8f5e5653c436637a1b1daee9bbef7e457bce0089ec5deee9b01f777999b87037d72cea4f5a07f861f1996869cf37539b20c7b62d33ee4bf5b0993da45b756f9453352bb543ee65a56e1f7a1371bf8c855703004d469ff44a54a256e6f028da83c5826c8f6f0e2f5fac2ead5bbec026e785d06ea9068409a115a81863ed2c11f02020250acab97559b7562562012b95a8fc005b13b701c2471e091bc78523c5e4c0f8dd4a46b6477c42387deccc1774514af6c605a4f53f6597d515ba40663a3e1229842152de063fe5cce01929fd40cbedb6ff54266400d922eceba9c9603ca6dab6e3cb22a6f3dbef84c61e2ad4f434317a18034927c395eb09bc4d8d99b1010ce4c9fb813e23d2a408fc2c419fe6e72d09965062e777239288b039ef24e3a0108f27150ae4f58f464f153eb8c56517ebb38d2b724022a93a75f8e184b6b55d79b2e3288b55ea6232eff013093b89d255ca737b4380158527e8eedb93b4abf497a4b3fc5e99d09227650a4182ca99c2f912f2549e1c84c08d344145166e8aaab86b0ff3ce7096efba8165206275c5744f3db2174732aea0a6a8a2131f92c81090d30ab7cfb05d822becc6f90e2d9207140f2d778f7a88ecd486bfb8c94db61aaa85d44c14a2bcfb7aedd6b15b938c319f2dc7a4a2fa685aeb06b33510599fabdbde8d8ea87a8d47ab23e9dc04afceb13b496ff5a63389e18a93cf35d5983fe8b70321548bd27068fe8f218975edc15690604803e21364da0a693e46d11ef6ce0dcd622010808a040a260e77b5f54ce4abf3fc5c9d974f159c728eb6acfbfc2d81872100172b0a6d0225d98769b3c6b01f701b964e9006d8023c1680537a01667eb78fed496e6a0fbb53b7bc064d1976f2bd123ccbe61b25346ea37a5a7c6084d034f1802eddb6464126a7a2ad6004bcf629b8dffb666d461bef777686b311248b8d369de209c239b3ab492dfd178bed4012a94463c8627ebe55a9a569da78a32e5066048625d88f4021868ee2e9aa8c62f3261b7aeef8d0c2d624ca453b448af5cd0c5010f43c6c74378a9c5b29544890bb73c7d1277d1fb62dc61aa2d5ec1d84c1e86fdb4e25eddbd5e6cca0ddbdd19e3d72d67a43d20c78a18461a6346ea057250a046fbacbb6c9235da7b44f05045abfba16903940bb24f1399b333dfa4a0d6e91fc44a4135d4573aa8a7f9c49384b41993c83e449535b1b6f90ef6dfdb724bc1ae8819b1cb023833ea3a1bae24e398cde7a989d855be1fc0943abfc28476b0374d7c0c321012541d100a544fcc742c73892118b5e7d2da308c95124f868f90a4b14c8e31e8fd148ea01a04d8c1e04b70089c8a440a3a86ae1b47f60a8f18124a4bb624c23328182a3e3e41bd489704592e34dc6596e4aad24a7fa4f6b313ccaeee1ae080409223457ffa1fd5d1022125293f328feafcb5d630d24e3b986c7e1ba0b6585b09276566287842db7067b135584afa52b8e518a14bb54a494ee0834bc83186b835ca80a09dcdac912e7d3071ca0f3a61b8c5214c880cfb8816a088f5385ebfa2731987e360c683b21c5e203950860a3fdc799186d51a1b62cc1de9c7c37a1ff1669ebef0164c84b1abb135a5359c5d426fa577880c5d7a513b15360db810d132c37b83c7397ab4aed4471650c2a9026e1d6f9ac31b177ac6bf6912a7b9a6c21c7ae7f684f70b900c0c9cf5e657c447381f81641fdb36cc558196977ae2e187ea9793b9e6f27ec50309dfed083ff01b4b12c9db848d6df4de1c18d5424abe46809c50ab71926b0d2bf2604adb9e60f8dd153f5f4dc404844ff80782a2609784576118448465920735e45dcee158b6bee3e3ec9a3dab5e6fe9eec907c9c0f3b91b1aaf7f24daa613ed479720534d8bc3164e37f8630da7ed893a2faf342fa19ac2e3f46ef83a5283e09cdec146d3ca8aa882f6cef0f9ca50e59ac865dab56e391981ca0953a82f19479051db207a69d2cfe04ec399ea936f3748452192bb0282b3ccd1b453723645f77fe6d1750b64a49172456194a6a190eb2586a665fc1deaf904344572da17038cba72d7cb2930abe956cc39c36792d33635303ccf1dd0b82e43d6666bc0a6375c2b4b0fece84205ac3c55c7d23681a274ee8debafbe7ba4febd0f5259db3f34122afc669ad0de188c751de9e4708d3ee9d850a9ba30a13d48fc2a31052b53f2deb0f2feceb0c5dc90f4ca2cc19c83ae3a5b68e14cac460698b118153f80498f6a4214c064645be67922f9c298c9a472f952770b09b5b130d8ee901e865be17888558dadd82bd8ee9c1210e003de0a9e2f1d6dcbbc8bc775f3cce9054a8b98e691a720f6b3f38f7a90ca8d94d77f888b9e3bb64c9cf117485633904c5c5667cd3cd8bd8ec014759443fb46951ce5d77802e0977c34293c8f8e31efef210ed220cc1ef3ad831d70b78201858981034632d5e4ef63fb8e9cc43caf43e77b9f0f950df7ab056ade9a8f1da55eeea9120821778eb6848bd736a73aa6ab7c44eaa0aa26e09b9be2e2ee8d5294480c69e9a721aa1beb6a7ac77ace5c5dedb0eae42a6c91b5d6843436c79785260714d46b661e8ff9bdd1c1b7476606bf7e5161f0facf991f4d29bfd60f7729d883b6b0c234fdcbff11942d1d1ade5f82a138926693fabc2a38da2c4d3b77697ce813957b984d7360c2a25bf839e37af3b176a54b82778e5fd2e296268dfa1b3b89eb69e9291b1159e86c4336aa8ac18e299c7d02c34f202ccedfaf9533f924197a7905f373febfff6a3c7804e109c19a1bd87a9e1074e790f3824b4e4e53d56ac3c090f61d6d63ad9887620752dfc74fe07c0696dbe2417f3a6d271305420cc4f94e59fa9b865397fc08378aae2b14945c1b2d8a11fb4e6722adbd747f89a304fc0211d69c9590b958991bf33aebd3efadf77569e74aded647b9501df96a5a80bf3e6c0a00aefb9b97ed4dcabcff541d07774d2201a411b43752393927cdbe7f7c32a8acf5c71753b6b52d1c708331915e21ad6f7fd8f8228365730bc8b204ade484b0f5ca4167975113bfb49d6a084df0a4aee374548ab09ad8383e3ac4c783a378290a56b06f9f4ea402aa374f8945fffacbefed5cb2527903c601966504ab77c403785e0939383879fd869552f4e62b768f4f25dad39a97d6981b776fb964d931c570e8392f9137919560f0816047ada2e53200c16202f4dcbb3b88ee6b8560fe0f92cffcd684307084cd48cb725554848fb85b673e528b7e224b9656c5f5575ec1c63453da42afa9751cea6a97859ced295befc07f3f1b66e37e942b718167dada826a7ff407edfee4dc31461b530a5d94dd71e25ff1123076fa36107aa9cb540ac12c6d3faf0d7c627acbd3cd717d95945ce7389800865a76d6e0d20fa5475de53682ed788b939d4c24d4332919f69687e1afa0e6b1fe99bd73790b2e365db03b3aa68741e26a00321cfb2817936c13fea4b6c1f09a8d8ba1bfed700a607d72bddfc5c2e7bf9d102690c4f4c105fa7b815c9f5dbe27f73e3a99daee5dd06a922d747cd19337986cd2afdfd8eea7f79f5346b6fa862c079c2f095b46173ab09b939134299d49dc1661ad21dec6ecfdc033c29308a39f1c68d1b6898404df74c42aa9a4448caa82e1e8f79edefdc99eff7b731264626560030b504ce698add12094696c0619628c04d091346e09c60d8b35d4e2ab319497c3842ab42e728ef6e7f9d81b0154a332b613e66412bd5cf717fb0ca249b089aca00fb97921ce2876e57825fd271ab09e4e4c3c4e5e17bda8621bc03fb856939eae53221e22aa8ad4d5179515be9fbecf28922d9b0934e7dc491998726111c7f8478bfeb453c5a0ea9269860c257c26d267008bdfc939d4a1ede36070b28b5908b98f1c23033b5a02979ebf02b18387ff04fa706c915022140296a7fdaf69c107213e6509ce0a83df43452adc50fff316f0c33dec58cc1ef8ed6271be1ec462703dd51a4528a5300d66413aad15e02b9b3a7a1ad0c1c7f1c8735843a039cefc6143a9ec2ac933aa7042d4e401fc1bfb4a6cb07427680d4b2f92aad9272b6b96d16a922fabd9df200ac0650e87c9c74b4d33a3870e8a3f2338f644fd3d056c238f706d86104fbf69d3a73050594763943e5e10042c698132f1d38915cd0f33bec2b5f6634ceaaad836fe21bc599fc616d6967d69734c445e788fd483d462195f86e1f749e5d8705bebc924a073cc6faded001c6dbd859e3e67cc959e32a7a3e9d63fbc4c878cd5ce88b8efafa0669789698e64250e903e3033d04eb04f1cf88fbfc76dc17a57dce7ba8ba1ed2ac1198a25c738b4595beef70412f4de014aa4d64f28f52437a54bd94251e41000cd7aa8f1980a88cc5f1d157468d9264a1f4c5b6248ffa11eb31ca19a8c96f230732976ea4856f4029d6fabc2b6f95423afc659ea4bb9e89b068a334bf9c9aa8d17a8041f583c6802cb588c22390d7675eafcf6cebf6b6301932bfd3e2107ef36df412c76e96a0053a1be4a998155b9787c7076f88f1d4dcc423e41f716624621bcf5ccc0a5806b15969a165e752d685b8c9c599c2cdf72cfcdf6de312dccd6b229a21f158f121d74c73e2d406cdde6b40c931761697287f1897cc9a45588ac2fd956f9cfe0c125a99400cfdad31fb3c8c2e7117e3ab53d3c7003cf285255a9b89a279735cb7f014f3be2ecf88b878ea1d411d15fd3a1145f0589504b02b0e371cdba02645c1fa3159e31e4c413b7956e4fd88eb3699db4652296a3224ce327a8af47346fade16031bccc51ee5054075367b4d18a2acb0bde3c28b790b9ffa7af7066519d863c35d5e712656023bc2220c2a3af4677b9cc1a3746bf2cbf993ebbec5b26a9c81654bd0654a9d96e21c9612f34f39cf7a974bfc80402234c587024e9530516bc8df7c2d5f6a1fed3f7534dae827d948fcf64a9d676e03190f889b183d6aa57d549b6026459c30c1f1c60ee17497d81bd7075793fb6c447062754e1a2d9a9e4aed3ac055ca193dc9fa14c72a41518c6a86e2a46838af2c7f932cb9eac4f96b71323d4b1a0f5a12243df4aa6adfd181840057d9f6be74675e339f8d442a04bd8ab9748d458ff90b0731c00d4e67fb5a0e2538033a6f7134fb6bb223258a8256f14016341c976a2fd9e24137dbff6bb4359f13149038e4f963880833599aa94bc88e6b159a6f832e62f713c7c1ba7a99655d180e40e452ce6cf0d3853bce61958b69e46c874ea6d1900456512be50043b65bc3415af373a399a8cb8532ce6ba07360cdae15999d38acf06d5ab810594f11cb98633d520c3ca90edac4942c70b3eec243d2c4802113a3f1b17f905cd68c590f79aab9cb058cf1f04d4360e58bebb54878d6504bbb36413e1328a1a8fedf678f39cd50794b4e6de44bda06cfe75a7092bb2afc92e92172ba248c8e1c3af9e14715f4c50d7cd0bd19869c6df182bbc5b7cba67c92b863391bbfd6e10a3f11ed8b8c02cb5d0ff5c01de87e033f21ac31da1d056e4186bcbe11f5aa8f0457f51c509952f5c492ec9ef4ee6a09abd346336a2a0fe570c29db7bfb41e76b82702b4743852b624b316d04639cec318580b02143d83a650d20b4e83e05e41afbb9f3abb8e3bf6ce405d05ca0c34852655008c7590bfb522f710f6b35caadc8ab3aee2ea0847ff51bfe7465e0882253c03c7db9e9bb1787e671a8bbc76aa8f91af838b5b694e532b1cf4dded3f2605d99cbf2cf5fa72a4aef83cdc92fd26eadecc6e3a25e2e8ccc64d0afc29ef52beab1024a1241ee2f4e59d47b8dba16e202411ef3d391848a86a71c89542584cbd0f7c6abacd8b7cac9ad7e6f210a024373301d3b1edb5715e157eeec58b495158b8f7ec1e2b2e81aed0fd99a30668392f34578f92645e45ef8ecf57db9546017e1653eea73fb0397834fa6ef3d4fe53558b031cb3bf6158e065ce266f01cf941d6e30b4103948ebc999a50b43d674d361cc858f1bcc7a709f5540584c3a65d7c55b928a88980dff6a02a9d1ee20d2290677d6fe7589b9f3a24e267b4ddef8ed0703f1b749e4a442946198f1206a8109cd04d7fd3b84b3e167aef6e0083a38ea25eb7209c9e17f8f68fbb5aa01d6f89c401f195bf0e5f32d625e72ee9c4b2ced8ed5567b4ad44477f10a7c75429b403741ac676b579db2dd00e658fd7200a4658cc4845e1e757e6640cc3219ac98515e1e4d18700a17c9996d4fe3be0e1cebf077935385d27c2d35c1a25fd744cdfa559da5916cc59a32aaa64532dc44c4191e2e8c559fcc46c4600f61d36e732b2aacec0fb67e5a9245226bd1c0c908c5991fc26d48fd14eeb218ed52993f553dfaae0026e1cfc9146a1e4f1413f2298222006dc1127f0ddaef35a0788e16825aa23455ce44ed48625991704e5f23be7a49edbb090a5892e40436aafb1aef65a3990caea6080b39f5b8a7b0669aa6c8c61884e3b12a3caa964e2ccf7c9ff53199b547501cd6d480a3b37771812c21c350fc7f227ff4c77b0d80fc3e05dbe88dea85950eefa3c88ac2de7df09988f19a61434cc509f0c722c6564085e361d05d691db011e42ec4b0c1b0baa3922218941edb35e91ed199dd1707fb1ae137550c5634d74914cdaea0df719ebeb785c24bb4693d39f8cab044ca2a3d404ce2b4697b4860cb34fefb06bebd8ede6658f002471be3fd381df40e6791fe2bd9501d7780dabe0ab8e2669d2c3dcba118309d1a93e165a43c6a5cecfa7b7c2ccfa0be05aa6aed032c11e1680a1771dde591ce6cad42dab29d30cbfba8044fc719e4c2eb72f973d916246489040c47a721dc5f2530e5e872b84953b977db2bd991de6d6da37b942f30eb542e0836efd7128267896b37b839bb7eaa4a8a9f9d4fe9b28c7e54ccac6ead3c444634af619dd7044fce120453619e3316154cee9a73f7e429b6793fe9ed4f379557e65583ff56f0cdea79e77c251e435032c42310fd5f2ce90defe58a1c712f1ef865b41eed6b62293289b343e1c727ab7da232a5c5d5b984b240c553f2cf717e1f255a72cc51365af644911fba1b3ddd3ea5da2aa7b3f20534aaf55f53df0e58aa0f4126a29b714a0f7692d2fcc2496c503b8319cc5c20d83aef1b0646e923fb5d080ddbb8634958607f83502bd6ba9cdb14c4c76d385a4c039b47b7c4422058bedd379e0fd18a7c719f943b801ff753946439d39f616b946c80240c4c233a0208424eed28f500b2d63d998452a0c804c26e4a222fee98df001ed9534922bd069b8bc9d5c8a27f5c91ee93c40506f878a64a79386d41d28e6dc7176bacd5d473160a9e2b2f167e97a1c1eed90f8a4aee962cf7d04dfb34bc11ee1a8a205635dd4afcd64cef3a79f7919b0695d5d16ab83612f81bd43d33f25de87d878c42443d431bed2c2080752c32f18cc9f228d38e51798a0a9aa942981cf6ea8033dc7394371049aff50a6c5a32c7776d9f035c6d41729c467636254238b2567c3f2a126a45f1141dbb9ac8090ecaa36064677101a8858cb7efd1b15ab2a5669fda35379605988a97f230974e5995a5eb568810fad9a16737384b2ce8d9449be83945b830fb1f81432dc4f100dbb3bcf1b28c303dba64ad41995e0cc8df14419e5bedcb42939c61f272c2b01ceee0b6bed91728b4fc9cecbc463c2e407250c39d23d6220ef7624c98126046ff5c904b19b2c213224b8133204d9f9453276bb686e66aa1537861df2d79c5f28aa5c1d1b02241e1c357e6d511a3ce1fe3bcd02fa6713ffedcbeae4d04dd2936b7795245004882d76e76100694336041b884dec206b952595a5c94a314ac75e23f93c764a4de861764ef1e4a38a1e8b68ee7c78c123960935f06aaea954d455c6c8268aaebcf6365a6b0f1f05a5ca926777122796df5b7e47a593c62eec47053f03cace0ba5a54748adc6074ffa4e4d0dd47a0dcef7ce97cc67862ab8fdac4a62ce69380d5f8ea69dcdcea9eb8be9045cfa26bbca02baf17e5ed1caf57ee096431bf46452929294ea3d5e1d08dd36411691f43a786c523fb7d89ae0775bf04cfa84135fb80ae6e5475ea8fde4ac71b06f1be694b76998fabe2078fe72424fe5145d57abe1adf3898cdedd8daa9dc266678bca1cf85e264a0f64d2a1f6b1f14dbfc6b3bc7d64b715b318277ea167518fac1c04a4c0e374a5244c06535edc2ea4efac27d33b5e6888b056249f21038c893f3b17d0cdb5d9724bf638e1490b6f52f4133464f497be9db8d21f336bd04a2a1a5163c3cd702bb2dccecd1e0261f6b6761495a3e051765f0afa2159c9ee193fabf8971143c1bb6f4f65a6102354745f246d54e3a23212925fcc8658f3eb2dab26472a5dc6cbfd654ec59d120105d4b2e60342287b39d7e7e5462190b9ae3e5df2bdf5ed0a3bbeb1edf6b56226ccad71bc7da13bc3ac41f8eae22d5beb81f990109aba0d85465840601c551f06bf5498718c173110cc531797b8a087f862162d5f0251234f642f28be6d50256cb0e9e9da154b024c6c2e15b2e3a5fe61648aaf5529472530255fd33e2862ff53dd552467a374cdb88ec69d08435b2bc49be7f725911f32fa018f8febd3889545897f5911fc807e7f02b5dc25476e945218aaff731bd4790645ad96eca6de3cb18fc372b23eac38cd132fb10bec5650d5db7ef05722bad1dcc52c6a18a1930a8bd563031ec0f011e0602ec49a3df539cf60a48abd232b7e281fe0fce6b7d1e87a5089c4f6a780c7fffb19fe62c81e89ee3078d90209f73a602daa84937345eb84bca6568daeccc698dd22d075c95abaeb5350f590e7ab12410a0af91bbb6e814f047484d7e73c2266c8575ea8e9df1332c31710faf14fef1e82e935f047bc5d30c5f1f79e429e88548d57a0b5eadccfba5fede4d8eec4e10b8acef2b9840a413a5a2bc6b3ce0dc085c0f1dc58655cb6589c526a792b06ea3ac7f3615a121db438d95a5214915f87c16aacdd750f98160df45468a47e30caf0425cd8124d514b94f2c4d1d01c0cebf9458553017aa682c22b3d633dd033de3cfc5372305fde002e47c4071714f8bb6385c1d79c26fd2bf364cca6a274050d03c455ce500cb976dddce8eb2a2ef87484d96adbb1fa4f5b03415ca13c4c45cdfafb5564768807027c62341145164b104d27ed1504f49523496b7eb675f9afb8335105c1ffcd1e3cf74a465e5f4a93fff4b0070e0edad32113935a4a8f8fe48a398f26ce3fab1c0326104b8ce81551d2890548120bee26630ba13847825aa281a058b816a7740fc398a53b2f11bf485c9fef84be64d275e203f7f87ff5b408f979de59887ebad062e4d4f64d8cf104ec7218091a4dc8a5e199a8312ca6a800e617c710dd0934953cf397cd4a3f5ea117f78818886a42d4ef105dfd2b2244cde0deb2176046970592cdf3d5a813734ede18fdfde330575dfb9ad96945da55847eb05d178aec50876876539a974256300b47f4000a855d62e4237bf164c0467573a74535e86e67ca1eb7e63859bbfc51f8950f9abe79a4e29ca7968d8222fecdb40d799463f83728cce2fefc32b96030b81b0dddaa0b3acd401617fe76620333f230777b6a3d15e3fac145ce5fed30f24b257aee405ee1767d6a784406fa04c53eca01843935e510c27d6d98f0e763800073e6909ff1a3ce1b4909990462dd22e3207adc64b7aaa0b92ab3906348955a547b5a886449d530bd642dd6de9efee8f1232c8868f5f86cff479fb530aede389b69b52f6b838ec15295b190c6265e60a47635b5720974013c349e579d58640a4cb90c1ca46845473857cc120cec2a6574f9b438629660933eb60b237543e2cd11aa047699a437e010e4c8937022adb5d42b593961b81f46b2c16afaf349c714c4eeddbfb749a63e6423023910e9b67516c6cece86429fcecc99cf75490c5e84331b3ee476e980968aa8a9645caa2ac84dd1f6156b3ca2ae293ecb2c7092666211df47a889ffd59148215329fcf3cbaf50e5d8da56c7f0c08ade9abef082b12adf8f0d9c3b8f9f0e0212892184600ae3752db5c99c3568592c76dc4b7fd4099a59592e0f92ddf830891d56440891629ba8191090fb302f726deed6d35b658a27ec9c1349d5b89507ce23428015f4150658b9c0953c0d06b2385d555d9732b3a971c417ac1b41a812e363cf67fefdbd418e13020d7872f75193604c76ecefd74fa950478ec98ae1f733a71d90c2dc3e1dccf0c50300ad563c98bd2cfb9e1697b70ea19fbc3e2f674dc5ae37fb4765dac7a3fba25845f98c3dd6ea14747399f9bd3f3615a0ec270f64f96019284d2dcd9d5aa839ea1b7447e1e193e4d29df198916a8c04c83c98ef55589fe74b7de31cf446a0eceb4d0eea2015d9d04cc9e693da80f356ba956c163ca0ca49e6722f8f90002c2332ed516957fc4bcd6878162da81b558b058d60bbe25eb3e73020c5f058f4f355dc928118f05d2c266df84144f0de6bc95d50f5a3e075af8048d759c2aa6b1bc3334e78129a10d6bf004bc470ea97793b6c43db1f83daa421bcdac59d697a3ebdd4d1c3551c6eb21db1a9f9aecf7a7140c9fa5f80a5a3df6987226e0d7073c56ea738128b51a4d26527bd952af57a5043e3cd9e028cd1dd65868b0369473b6766bab0f14aa2651405f42f039f3880a9b5502e2429b91354e499ce0bddc24c7fc20e808271ab8b9f64db82b3ea6f0f72f77fbd7adfb5fb528fc7db8259bd8d4c798ac89b3a38d3db9c375f0d11e1b041556966228ad3f901536fedc8dfa5e9101b2bb7476fb3ccfc9993f465eee2d4cbcdc156885906d374f330f3851738d0de1fb9977216983ab7de872d2e89706afb793467379ef944331c4942d4682f52776437f262e7139ab0528414eb5822b670ae6fb969360840097b6f47a460cb421fb086cbe1e75267f2b1fb6a7b36bd9974c277008c0edd3d7b790a359bd51b6627ea8cde28a0e95a8091eab861f85d14fb43fbe99a56b377e86f1b8456d6264a523d78f7dc1eafa6fd5ec892a446646ccdb077e2927609deb962ff83a56f039dcef6a71ceee5b8230852da5124b8ea6180a8f1326b77179b58a396a513a9eaf971e2a78eb47aa80b6c8646f307f941b8c0cb77f89cd3558c141231e0cddb8a79a71f9e0d5978c0e011442c70ef54464c157a92bcb7f6ba2552a0b6669ea877f65957108bc62bfdf79bba5ae7011a6d91d0afa6c5f522323c1926cfecd2cb1c105d4952bd642713c002121f312af3121f444f1f2cff33d32870e7fcb89e0b2d1d1291ae3e00664e07a7c80e9a9d06d22e5ba9a73d66174601b0f0d796514914ded50a18463f0825719728a17f3de06d438282b95ee9ed88aee90a563f8714c461b1fad013e6b657e46d7ae06b62df912b199f29c235ed11aa68d57170447a35b59fa7aac53b237d5ad1999ec068a8f1f5c5abb033ca15d3493a7d63f556368d620d4f65c1e84744212f32e94ca9e0acb1ed6090814b42b82f5d1e2bf905ed31e49b8ab5cbf08c1f68734358fd50129ac11c87d727097f0c8124c3dfc46f98d81bbecb610e04c5b2659edae63885ae5e3a9ec383f47d369cea028e01a49cf71c44a4dc4bdb28fc6ea6cdeff5e2a08a42fb427cdfcb99046973a14b7035e3eafde8e837bcae058a1dd0d04bba6c7cc490cc8d473a40dc1a628dc03d82bf2bfde7354d4b9825258d3999b40c2d79a8928ae477e9785f0548f425b4002f4dd380e7be50aa5eede9ca2735ab7e23321dfda0896ab563d2f6fbb3f2755bdd1cdf7b5faf2ac0e1c9c9916f89a961d9a40ec1cfc91801d6befa72ac1da96207bc9017b1ff684b7b5432c09fbb18bc9109cef23bade74ddff98fd09fd17df8b7ec995c1fab9763c1eb9509f773fcb44f1acd5e4ea54551e52fdeb393a096af6d55fadb525218af91adb13bd43f1d692b4aad6316a625a7789202e21fec5da12081c0993f69d8ccdf618ec8f33dac120bd8762a261feb0ee42e35e6450a846b3d2880b112fb218f1ba1f26155d14bc9c17fc17952a5c3e231b124fa8d216b8144a19b8f9361baac0cc5689408def62f7523a1f50fabf147b20e7ec78ba3079f56b0c04fcee4bd3ff0ace83eba0a3f429b74969fb4bcaf48d9fad24aa2f096e0283adfc8b306a428f4a413c52cd722785e8a80fcbf010779808e7385b1f3990a384eedf066061a09f9b0d7bb6b75d5e325c27770445fdfb0c2eecbf39f4f559a72b300de0e3bae4e57ef5d61319122c2a33e3dbe6a466ecf3d197f42cc63bfbc6429bca4e9f307864ae6dfc951bb2535e46899ba57a0e5b889087dee27873cc01b949068eab609dffda8e41237ea3a702efe40fda0687f7546e3d1505bb536172568564e26bdee5da3ae2a882ce72d24a43d9290548dcd0062bb0576b50ee3a5767c623741efaacf12e7895987f3fe1a67a96a4378de54963dea730e8d3659d5a9338c08430ca0ba210b25766e3421b62430a24900b0791e4b62b0ba0a51522aed06f5f607bc1f75a4f474b50f9db05ff35e4b79de5f8a847c42b7e252249adcfa80145248767978f6771e6bba36930175e3b6f7eb71c21f40940d278fae8badc7d3401e586f88febd9b04a7a1e540ce7e96caab2b107d7f5f02e066ac2b224796480bd8eb2e413e3528b03122487eac7bcc26c115d46efed52eb7c24f043b47bd4c83ec823ba4e61bf679a35d29a661f2a845c9271fde9cea173c9bab2ecde920c49479751ee6efed944a3b25dfb53ff73a5c02eee4357db7a954fcfe3f1d88ec0048cbcc01fc3e3e1317f555244538fe888be3d7019dae5701cb46f8e0d644cb396f4816cd3025d1f6e0659a43ce421105b1ab690c73c8fcd4ae4908d919ce69ff6208298b4fcefaff5962d0ea4092a10f04079792879087f265513dbebe689ef8765f31c388aa79d55628445e6960dba22c46925c009735c5823acee3d0987497baf274eff7418ca9bb18b324bcbe2cbf18d905901ba6d91d10609c330697a1896741078815d4a8d4546332bba1a88f43d9c420c597de8c4c7b473eac96cf301a368d3e51772f048048c63f4f1b2923bb2dfe65e3521bb93a92a5890920b591f6e6d1050de027502d2f00bd33074641115355b4a2d098a73be0b8cdc46de8418a7b70b7ac7cbfdb7980e69ebdf64c8d9f54ac0819e0a627da081f622263f5a0ce252c19bc04ce556061ed52ccc3888ca083d69529d969ca539dfaabc6504c3ce5fa4ea54b0dc5eb976171fd6dc5f73059972fa8afc8349863cae4977ae2ebe846e167f4d2a2f6f6bd7a42f07da0a5081b361ef119557d38909995bcaaa3ef2125a6c7b763cd255059c7cfe06899d3cd485bf72138c35508d5db33ee356cf985b309d0cc85f0927f243bb038f83f09bd2903b93489935499439f5db97991b3529d5ec9667c4851e76d7a99f0f20d12f034672a5d47cd3b4de5763f44ea0b86a0928854b62d943fed117ccfb98794cf70c404785ee0007bff972f4c4a4d99410dc36d3d9809a491d08d8445ebc5fbc3f063ab98e85206f4554d696fb7402000141eb3f34b27ce7e662d15120e1636cd66cdbebcb135eb947f4390ad1c98c66c60f94df9d648d4cfeaddf0ec1e55a50c5079c4f006001afc97681188595dd6ccb4bb06a2b3e3a6536d0c87d41dc192e9da7b9306b0ae48e3765a134b12a24c91300eeab0ef2d3f2f42771b21d918b11b92667b148df7dc6e77034d77fc6e3daf7b05aef7ac6d6d77d1acae4a84041d87a1bbe076521fbdefeab837f51406c760375196cbb51c11f9bd0504e185ac5685b73f1aec90e4bb498680281115af988287c0fc2645ca12be0d04a93130e4afff6ae540cec46384f1ca84dd9c39fe6236f5920415fe33aae8d0ea7e390eecc9852dad482ee1e197307e669b10cfb006d717793b32933e5a6d38a5f572285ad69afa3376a7604f8e11cd52b89ec8688a2186be228b32c412085389c1e51afa3338185ce25f973518cca0c872e1ecedb5bd6851fe668752a1f73ab0232733983cfa907b3a5d6fa18bafdd324423882707777b06d0ab9376402fc25ae23b80c7607a77eea35dced295ba6d17a81e4ca0e6bee5315842d325a6f14c984d1f7c907cc5aa77a34ac3c2e63697b0cbacca987f6b82099dc77b46519cc8800c0d9ea610e8e7344cc619c61ad932796e7e8744c9677e067850a7391d9f887ff535d53cce380c875f0027f34846f9999d1454593bb68d61a4c210f9d5ac261b1501ab9bf64312fe2e79971ac92f086a00c2f0a695255c82a16c1de4bb45b0815793b5915f45dc1aa493e305d429241b4ed721cb78b63061123ca862345a6f90464e56de04aa9f58b5d8c719a3477df403c966d4ba02115f2cf116937d5d2670c308ce0865dc8df43c7e5c8cc88780feb3e8017fcb8ded522dc645d7e5c763a902ddde7dd49394a4aeb0232717b36ecacdacddf3c7d4d3e93a8cc12644ef4adc9aa6e26483ffc6b28c1727bde1e7f0b5def6acb4b84519b875778c77d19297a6437d7f3bca7600617b4ab11e3eafc77bc9a19d042aeb01c2ee16917ef1b7d642c89997bac678d5da08432c34b94e0d25139f4e7f934c0c39fb0d1a910cab5b0a3fcb177b39c803d0c2fc8c50196e97b037edfd0ffab3d3a8e092691544b8b6e4ce61df4904e6fa4122de90bf1a03f426975442cec3b563993ba72cc195ddc503fa1d56f38ad7303184d858fb84982969bd10c520340891e13c969b2dbd24a3657ce40846ef1347d9f002153a3876904ff30d60c3c8195d12f1c80626a34e978123f3fbec5d56d4f21f740002772a9f20adf6cb6cc1ec2fd1f21e962783ae4702da60cb656ad6840e7fd45477f3c66d121898056b1966268854e28c8efb84e520b7c99a19681ea2d049d1556d84a6c6dfc53d40c92777300472ea844074464e361cb05f26346161196cd0ef92d80fd0e20d75c47653717e067a411c66d0f21aa3e577fca87230285280b2a518547c04dd9b9e3047749bd67e558c78b13e0da0b989cf7e3d26bf325b0727c086d1ce95c121d18a1561264393a6656063ecee6f12bf00ce112f16f2184d54018ca0bfbc11069d6d53f5162b023879957fac5350117e7a40ae302e5cc40392d265d9979a3f3c7f79c53e21b828487a72fa662a0c78ec832e657e0ad844f734dad2882b4a67a7849ad9bcce583462d80b7bb265977ac1a92236d81a938a45512b22131346365cc06babccfa869d7a3533b58b3561dd870c963d48dbdc9744ac171a5c8bc35c49a564e87f539f4bc8bb64addeadf75c7c6c1754292696db7e2f1a4b4fad02d51ddee7f82db3466fb86bb54f222698fed9e4180bcc6ab9eaaea5d7d8eb2d2c65b566ec13cdd89ea0122011c943017110ad0e21a43de258f3590c89fa34f2491c1f94345760d70a3db131589ea5450bbdd4b2a223a66c3835932031f467b0c7c6705ce33a442b72b1fe010ede9aa4477ce784c30279f29cb3ce082f6d289f2f8445607df7ea9b0ef7b9dad9b4112eee4e5bb33d7b0f54b6986f51d1e772183dd2f690373153a1743ad9effe81377a79a06121ba5a6007a63af1c5ea9a875d6f833b9f01544ba3ef6a9e7856ed1732e00ec0727298dc919ee07254ba3d612890427e3a988e514dd5edf09b0c6e5746f71a16e5e6f13ff69fe012cf4189f57f69fd6043669ad9027a85b61729049c7f16721d82c4bf5a57ce1097399b8571ccb32d15de899c84076c6c0e321685476f4b9a7c8561a6fa67206dc2fa924ce45ea2974841cefe1c230224d73018200ef4142726566f94cd3ac22a8a5ce1143799b879c91a595c6afefbaee1eae871498e3e4dd3a0ee165a46ab43949cc6e9cc9929d4e1e3d3e616b86c370ed67efc9524197e4e647ad8640f1e3ae9d4e33b7a760a86e19209030c25028fdecdf033848402b0db0e7a490deb6bcfc12fd74300a36777c8b79c3a25b790b5913b0f9572e3a9bde5fe6401576c5bc9e161cce209eac0767d4d4b4c70b72396ae12eb7e7a3ea68909cd51f775c2c0283a1a2b5618bc78573b3c16fcbe158cccfd809e7cb886d69e83e4b08efa0adc8f8f03ebf2fc25a51d36701f1deda7d726e3c462b5504281d3ffb8611e60d36999af09d31b9e1d34a163b921543cc5b2ecb769c8d9fce540738b541c8d9bcc3332e40477449b8601d91572134b680fa7d7860d40d3f1e77c461e7278a70209c2e9facda2a0bd1772b6842fb39d3ef46f16b60d0e26a4bc4de9d066de04535f946f148d0e72f1708c0149f002a4d76369612c29b68271553496900e81fbe06212992270c93b46b35445241dd868e05a6bd7abb6e8e3ac23c2c197311e82f91dd3e27269c88dc12d1d155f8baecc4ecccb3ce1b03276c227b3202a06030e43a4f614148cc1efb8a6561a1a5151e7fba37ee72296cce128bcdc6a81b9efe3b6d3f9efbbda858ceb6496e0386417c4397e3be92888e672119a00587e31071dcd078107df667f3e307d2c7e4d04d8cc745aa5c9ee2b6e2858c874e5a1b0e2b61978fa7fa573d37ca654133cd7356ff9001b4265a56063dba43d474fbdd038660f7cece13f1b886df41aada2de2b7927f2d4be6643abe80354b0ba8dff6315ee16ca0e8b3e13f9b62e6f3c07e6452bd022ee08394ab38d50aa79f4580a221948fecdfdefb8c9c431c9ab25ba610d549ed985ff204f1970b70c9112f072de394427ad467bb7e8d914d66682fd06353d308d0d22e814e4385ecce3a5ee0cb2248b7e34e2cfcf2d0c2bc5b0b57bc7e8d90357a580fd02630e2f94fd9d69bfb1d79f719d11340187d41cb0c25251f7d24fbd4993a5cc8b5fc04a58c29a65c3c842323656608d58c194a7d8b574b23b73040be8f15c935381997c5992964c42b205b135f730c621bc8ae8b6984844de45e348f0c5ef59b6dc379764ec2c3731b2d6947a88bb59e8539cc2960db1b1a4e728403cf837f69bc753da47bce1ca06a572d6cdf456e39538c5a3e0e535a417218afecf3752f7027c6af478bbdca9090a2586fa284c23e2f71627c70912308edd99cd728e6d27313c9c1168839a165a36405ea10f6f22d4f65070e029963dceeef2e7fd413b638254a765195b99f8f2b2d8c28ef5e303294259614b7d768dab99af72bfeeeb2a14590dbcb2745c533ef98b59bcf071bf8c891139ecb69b4ed220206c1b4f785b41d96ff7e792d60e24f5477248054ec7b0d886f64c1b18d33f3a83b0f02a057d795b8d6bf1fbae5353d35341fc88eac5173128ee32c43380d367c3f67b15269c1acd1c4727a767ebd0ef26ba5d2aa4bd8d61f8af53d6a0425c50a5bb27eec109e91587b0f60d2d1618dcdb45025d6235fcd3c0bc47e1d37dc587278eefd78604bffedd25194aee6a34294635f8e2071f440bb0acca801b82949320ed366129976125c75ab1396ad1e5b66009d5bae1e88257279cd12db80ff1f81b8425bb9939544a7acf1342d28f12d6fd15c65f96979daa2d8752be522f5ee8275a910db96a6ce88b7a1c63b95332e322e4f99807d0e3b18a19e24b27b17d980ae7ed9c30077dd949550495176d6285132e3761e6c452947348eae64ae4b174a72582174a59d74deaf2489f3c77670c8d996184389accafc00a60d46014a0a6f525d29c580b91ce9d553ce99c3d266df0d3c0f0e85e5a6f069f8a96208e5a43a375b497e99c6b421c5adbf95f86b186c6d9caed8741264b507d772ce73876279770dfc82966d7cebf303f272e2c9bdc28ad6ea62bbef1dc370cb17efd448e6a61863a34d16ec3a8fdff60b09661c2947bf1c8a4b250fc8ca7efbf7ba7387d291c9d495a47659bcc0af5e84240fa9883bf474073bdedff6fa846afaaac1ec478836cdd5ce27b5f7d57f5402c989ff375491635606e35d8beba5f6f4d1cd1097e079ed9cdc7f08028e0021b320850ae6e2891933c6422f1ed838e5f1b403afbd7168c43c428c60e3b6631cd5f2f799a83299a3bd88c846d58fc032797864940d332268fc5fc65dd5d76903f8b5eb20718645e4bec4b9d8c9c63134b228922978bf38b615f9e5c658408b7a75ada43543527a9d6bf7bfd3a74df1bc365799d92a8b7329628230845ae48d52b7c4395bd0b7016464c0d125185c56b90b2e0a8d19b59a2ee185d1c2673d879f8378da9313084a7b4da3f611c5acb03c5da04721d1b8e54bc317cbf9510b9564e80b8f1e407f51122a46b4d92f107565cd1577416479e48bde224ad19e2f7e900219fd301b1b4b6831ba1bb4929f554311d546c6b926b0a560d33e2627727d82eec648f98279c80e5a53d2c78ade8390a4433e546a0cc6bf08d1c064a9bb5e4b6c2a3969686d5ddfbfe15602e99a0c278ad8e07a55a4074a077eea1d5bdcd8d2ccaf9f3f7acfadaf91e3627f013b1361fd1362f0f15676985e97de400506b1558cfc865480628c0fdd12e17bb63738b5f3663586153fe68043c083663e34a55e47b02be35b7e9693be17f80a6b37ead0e8bada84ec75ec866cfdc58d29d432f7436f4fd933802d7570d212dbe5a77a42a0c21779dc25f449c99e4f1660ef821af863ba8ce0a2fd376f9ee72b95441f5004ffed7a7434aa5db0381ea534d62a1d0c0642a2b57822bd81eee2e046289229b27d8196c63f68682775858e3e2a5700bb574d7d3a9ef666ebf832806a0c2f3075a89c43b51f8a6ae71442b231f973e18e34ed9df8267b03f85e56b1896a7a438a7d81a6411141e398a24027c05258cd53ee358fd98da76429b0d3a4f4fe3e8760e0f498d55607f56adb651c69f8fdee83a487109c69bfc9f3d7a4f2cad6371b9b2d0fecdaa512cba70f56ee2c458a0f3178d5006d2e777299be676bda32955ee5e7f85cfd31fae9f9f6a458162022d2b2c153a2e12e1dc30d6c6fa557ac905b51b38dbfb35d07a551c677bcbfda5980ce2d238c6dff275a33067e5436d0c702acfc65211f56f8157938c320b7def836911b722b71f0989da1b3b6c74eb9a37f16357e1a63a3a1156589f6a2934fcf078911d9f43e9ac8b7c118678daac52d9c4c700b1f2434e4f26150741c5abf2d482a669942418e6ec954ff3dfb59dd0d9d9410622644e62c30ef26162224fcc6029bf0763fa0c4e316413429ab9c0a8f7de573f3253d260260154ab5ec7b9c860b97490742ee8825c0723cebe31356b48c663d460b92d6615d6365faec93f6401eb2037a35ac708a11158ff09d8033f45c1588c9e0a6608d21c2845aa79d862e889cd1273abcc9a90eef927cf0d22aa428c837176fc6effec314aa9dacd1a3a76b8d6c8f2e2880b3803d9d04f55f6aa76ca3cea0a2c045d1a7da946f854e1234496b046577ba3f34ec6f98fe283bfeffbd76f754862d3c6646dbd8b4c49327b32d4be9cfcf5c51790bf49a235abb2ac8c756085e7d33249947f72332dc9b75aa06f414ca7e878cc9d40ffd7dd46083f9f43168c7fb60db9fe6b0b93eacbdcdc329852d404e1f46c439185d7c7a286b8dab581193d75449a5f418e0b927a014be0c263881ff1143d52db4fb67a01d169d05d76ea6fd573eb46c74f52b6f87cde0eafa3697559e3ca26a8bb96aeca960e3f673f4a0df3578d0595559eb0752caff1a53556b9cafd8ac92a7fd38485e530d6b5d2ec32f248104b645e54e754d066d9134326493e292f7453c0b4c905a5edd7a9ca08aed715a1787177500c817acf91f9c8fc0255808f45f0b9179a878314ba6ed0d10059fa5af3d5c57d22a57ae633880ba6705fc69232e2fcf6a62ebe3bcf6c03e56b89636eb0550d3e6a8bc9112cd7dcbcaa6f7fececd7e1bad79675d6a536d24e01a0a5773f289675be0ddbc26eee9a54e4d4557f4fb4f52df45e9f9b4eaf62490dad70117b223a5d3ddee3e4ef1c5c9e31e1c8872ea54920ab5531e8cc2d4a9f9e617c5b09e3473aa01a26266ff01f27c67e4d07977c89575e91c6e7b52b4ad426ff0d425e892e52750badcf8075f74ede08041cd86c8906d79d28af6507e0c45684904fe272b2721671d856f020393f1b84aa96b5f96d58dc896a5f6b9cf4690bac87f87db44d4346b1e59984d752eccfa3213e3c266fba3bc2a00d517594f95a92cd973b0599cdbd91b4bb25ad61866d140efdf182abb949e2144182698ca1628ad8a8fa6da5f7f5f327ff5ffc12406d6467eb96a0807e7d6e3adcc08710caea1ce9010603da68b822fd1f91619ba5ab455c837e6a7fa4a11e06a1577a54b41c6a61794d210ae3444f0be90b0c50c8ef988f737fd9211849c8ae413e8adbd4529d7b35e179cb8bc8f1c23b78c52348d88cd7e381146e9e1dd1ebba8d9a062d1e209d02fb48954d3808a3189086f7f8aff49eb81b8be15b89599ead3a3d92ce6e3c8a56ff2de7c75779d693df7bdb8949709cbf51459c5334c8e5d8211c0651552afbaa11e746fd6979337b3af635eaa72ccf62a6fcc1d6985663dff11ea9ec96d6c2221451083f2121e7e83d54694283177112c1668493beb3a8c82713b50c3346bb5db1809debdafccec396706b75bb6f162ef31f2d9f19b593514cb966c9a8a0c943bc23f4de169819b47c133b3bf35528e1fccc3738c52364638ce054f2ad83b9f49d996442f1e914c55958a9f1e42a4295f8b63ae7b224b7864290dad79f79b95399881f56062bf1c076d68ec53abf6e763c375585152b5a84bd3d5d9de833723ee384f85f20b221d329768bc045c1115716ef2e09b4dfeb44a9a6e3524df7aefeca2f8df07498801a41f71128403c69e9024080443958a4e80dfa3de4a4cc9b16e6d6df3d07b910f75a2127423e7de4a3ac6cdd38515e0c10ed12b9f8e72ff2c63c9a597eee28ea11b4db2895fb8c2887ff80e61ad14c37b2db473e6af153bd5c15920c0a00f0c5ae6fc796d51bcea4f273831c9ea58d8fce68a823dc6217a5d795de1d5796482044cecd9de17e5ff753930af68220e41f456621be54b72f796a74027d16dce36bf6195bc535baccf8fa6b7b3933a7e470b2fb90dc940cc66ecf7d56a95c4e82aed2026404b02476439ae8025a1bf07b7a18019ac55e5f3c17aa312a461c8026b424ed3f12ebd09e354a7aa3513624b6858c2cbe5249ccd0a4a9443c4fb3a83b2eafc421e6195dd199bcb48be5889bf83df9d7b61f59f25ded7879850ac522c2deba4dcaa8f2b0458d62cc18fa831284bdcb3e8ed1e87aec8d32ebe3a71d0e3a0136443b0915a3192543965c85288f29ae1702c1366bcb92e47e39dc55e0b13581ad87ab557502c2ef73b21a179d777c903241f01d3cd6d8099cef7c659115c80e91e03d94b913dcac14241dc1207809e71dd72aad82b8b0f3137ffd151a7c87f52cbfc91a5ac5811fec7898497d2ae90221bf8605fe2e5684043ef045b5c0ce257b9291a45a2b132281077b997579a788596d7950bbe5bd55db005ef6f2a4f3ef313173ae16dcb16c03a9f38a576da31647233afd01c9d97888544a54edb7864b64878eeb69c1cf0e8f24bb14f1ba076e3fb8af80bb7b504ed386bd17931f42fcc38d37c3cd57ccc07533e9825b1a24ade68c079a40421f1d340ea3889823ba96a3189c488f09e7fe3c81ccb814d7fd8ed87834bcba6edd4598a4c93042dc0a0a3edaadd5ac87f5e5194afc53837a11a2d022aa63df96d01a1731a6dad959f587e702a6f541a73d16fcdb8db7ebd89d5273822c735d6b3b1b4b399f4f32c92872c0ad8707fc9352f2ba9fef10132e0e2b794a7f151eb833c84e390c9c647ccbfe01aa1647b32f8ed8701cd2fd409f80b71444abaf63a78f06e794bf7a94151a2854d61cf88c0321fef062a32f73412bf5e19a547b60ee9cf29c03da396f449bf197eae0d7a400e641c6562a6b210668f745ab33691609e3408e81cd91b9d992f53c0c2772bd1891328e643b1a481683e48681904996bcf0251c585dc0dcf5cd222a0e5b2c7118c0a46dd48615b62266428460d66ae35d06d9b448e9ea076df7e3a327197b873d5a2dfbc743f4f09f5648d05ae47de85770b41f2cc4d4bfc9dad0af0346aea4bd5131a95e7158b69f7397c4273d72487e1ed9c04d54f2a703fad728b59bc7642fa5ae859098fd0f2035b0f6dd203c200538a49852e1f4fd8327e9f1dbd5bd2bf32ae953f4c0d51ba99729f8c894e23c57850dd9782e654d2bad209d7d2b8b44ba2743876a868e53e9206cfadcf2e79659257121c396c729c4db3fdf958fbfb83d54b5f0b60fce3cb02ab7598a2fbf368f3df0bd85593dcc4b651075592df0e9c0444348a70a780e94559b38606b5a233d0d41965365e97ed6df05c2ee6b8502472cd373a9dc6dd26497ce871f00cdb6cab37d15f518d08aeb9ab22716b510de12966d537fd67aaccf4370ce5f3fb48057a3c5ed50e90a36fe46aa1c75cb628dc7fbebc88ae20ed677b6a84623b8e51135e0ec2372167857b738c01f7c6fad231602670b6f9ef521d41076f9af5976b2e320c2956b5ef42537fc087ede2cca797ffc5bec1add9b44c61286a298a5c224e4888520b0b6824ebf0107a6529b55d4e3e5c000051795b967eae5857187c71f466da800960be997e63e172e3ab70432b7d85dfd57e4f6e26c11b46a1d0c981cdb7ba93b7bbf789b8fd9cacd3e257e5f23c293df337592736f840f245f7234d800108cbdd06d92edcf9b9e41512bab11eb81d1be6f5bbb2f97bd842e1543c63831e6d94972e73365d5a52d41d32c0c31f20e3f2f70b86ea78f1b7d22d68a92659c0af6bbca345c51f3e5f555dac3f8cb84d0c04019752d2c56243a6858837e3e899df962371f8efb2092c9893e67d861f5485110262fd19de921a70a829d81eb5fd96f99e8892f129402f1d6012a214a0c08133530bbf2e59bba346269890ee12a8c07145466943e26c177707af59b27c7dbb85cb8a4a9cbcd3aa3b5e15947868a3e3d7614774f2e6cc351f189d99d5d005e5e6b7e3529fa5e69cec66051b23e94fdcec05601df10b406971dd9fa4f96099d678ec1156137d14ab959d80fcc1e9b1d687879c99c60435fe4838b9f99a0a049ee50934ff3e437b3d8e007401253952cfddba2093c834ebd637706e6d9a9e3a9624d4b8a321349bcdb5f3aa42aac9d362509468eac514accdddceb16aa2f3068b6d65c3671427019bd4712971ddd5d80d2a631bac19be90ad1dc8237edc1bdb7dda9cc04c799d376f372eb3a9e41720eb8e26995bb0336ebf12971696ebb75e2b3fcc2ed696d3bb5288927668637cdec4c9677fa680375e4fad00b1eb8b65f86ea96181d70088cc7a44cb254397785460c9039d83be1349ebffd8701e1563043a61d787c7b92708cb4cde4f9d30aa1e0d921335180e3484eac0af2057648548b174923e4bc0a869b59508b7703781ceacfe0e2e665d71a42c8c1e05c01b15fb85333f50aea430a859fe10a13f9fe5fe2609da9cd00343a1d27b291c29458ae11f4062a4a88ef8e5aed5b42fa1c605e4c3bd8dd7d6f53c648163a22e5f26fd95eabd9c7f08b8db3697a25af623db78129e650bd0e0d1efc8b4d7bcf4cbf394345cfd42a8cbb3b8068ef087fe4c8657aa3e6e487e7c2b795cbf8475caa4a1024d497149f9d7251b8cee5763c219d745224d20511901cb29e5650e2a9fa61dc805b26df8586d57e10b4edfec6a9404fe609d4043574ed73073207df65d2dfd702b1831605b1d653c9c20c06a0dfdcd53ac47fdc849acdd7f3ba979eeea41a570cb24205458c969ddc1ecbfa1521ecfdc983b5983e8f21a9ad031530f747f4a80731bc9ff739bf348bc586aeb9bbd38df285a2821b0d0e71ae3c557601b53a26e8acdc66249158f74dfb1bcb1724447b8b4cb5c7a864f5cce26ff4014c31b51617632ddbf2e028b539fbcec681ab2ef38b2f8b8d3c4a21cbd09f429a62d7e5b2614401364128526192ae3ae534948ccc384b47074f2eabf339a6448531847bc6d9a25265e6ff5a0c171061e83bfeca96c11e55fd00dcba0deefd628ae1ea0ffc1833f66e7c21be83000509ed0e3847deabfec7f28bc61f8d18043d9ca4431a1e004e6574300a29d1ec74077a3301da1164b83696b2bcb17a35c6acaded86c5c4f3134492cd38a75ddce37bbc0273e41e981f2ea701f22c5c23d1d25a1b2713b0e6c896982a514ba14a54226ac217b7e8d01ea67a71be58e6da315bd33e96340b3b6941c41b4e86fda9078c653ad8006bf45adce6aa5e7b0c9cd0b0b49dbcb18c34b7f369bc56b4ac1b731c97eb14800b60e27ddb33560b5557ba522a25561888458d00c984b147e73ebd37a8d51b92d2fb859038aa39ed0e5577087d48569a93afca68cba200a408ac4210a2a9774c3194db04fd51c06043f02722fe4e0f94f301eddbc00ccac7d6b8ebf68f5252890895b785ee76b50ee6feb81024908d08757526eab2982b80656fb8e593627d7722395226eadf40cc13234a139a743abbedac2958e149c166c33d2f0b5aefb099b337560ae0402982be4a75d714a548a35e9ee28a4bb36febe80e9776a4d3596ba7dd353a15f9004c7a4cd1e7ecf092a507f749ebd2a698d210253987860e92b177c2d2fdd3b5995da8b7d4a639dfea7c8d085ef7e4653e90a314c538a0360eea0cf103336869b646f72e737da46ae197fe3f8236c14f000f10bb88f3803e4b14e42b0c09b9e038ae9e860995916e7a4743f192245a49fb326b8e2108734dfe6c137ce77fad8c38cb977a7d661e0bc31b74caa139568eded040278a2664d822d54a081e306f6cdcb6e07b0c397679642b81766465ddbb0326ab80e450472ac1617bc8dbbaf718c44cce0b83be67b770aa29f4012d9e08cbea463fd87e988dd34f44cbb192021dbd4a9f00920ef194e666a1d29f9b15e0b0d0596c1e2be7a971660af0aa50cbf32c4d689c6b971422fe4698c89df9cfa4310b3e7094f03737ded3068419acbfa169356f8d7d313c181d71da15168594c6e56b492274bb7eedf0a63894cbcf0eab1086727f07c5d3e65cf6c615b3d35f55f89ddd5ce4d15840d563d82a0af31ddde8c0f9bd1577d1d59cce5ffb527b260a97d938724c62724dc0c26c14061e9f2046173ae75e7144da13412300eccc58e569a33581790e176528a3aea44d2b662bf1f410b6bb0be8284fa194c2fb0a5b90d661695b8584819571570506aed11c2dde834263c8a214b746f224ce057d31afc4de6219daabf32c1fd4463fcf949e58230ce9dbc39b3128cb154add6e8927c472f42cc4a2753a9ee5e5e42cdda941f3de02901721885eeffd8a772d5a46097c6719cfbda91280f6c30dcd9a44d1ec153a46c48ec5a0a476e3ac75101258c6c47759d48916bc89390fae2972a2c702958419e1daaa6e89d6c8844f79c9fe19d555ddfea51eaec1c4c3108be6cd7d8636b442ab56fbde778b3f5b4d4fef6e40cd7b7df4f18a7f9084fcf69113e1a9722491be33160188efa49433438fbcb03aefefef1e39666e7d06c419b306ef3fee7a3147bf3688537b9fa1e15d1fd15f9f3b7a1ce089bccf6212f939884d51cb6d216abde3259a9ed74b846a0f70b3c5ee76d82a84e160370b1a50ce04012183cb24b545ad8dc5b5ce5571960d1189892a4448f36ab4ce8524da413cc77e5560fd9c3df1292ac68e0b822fa14d331b5b23ac42c6a78c0b5562627128cd799f005a937276cd6f178141365a264050cdad356bbd268e1a18c3dbc39ff3184a06c9bb4abff76692511532807061a403fab525f72a909168de9c67451cec627b8ebffc0bdd5c5b8a64efba05bdf9dae627cca78567e4e3da90f75a32eee113e31a19746b2c76d229e295dc2a8ce9b0dce98cd8e77616a731f47a243a627a7e548ad6c6b23533b8d773beb2532dca2199df6744137f8a33e9cb2077c83fe0334ac86bf42ec3ab97e50fba4b024d3d1cfe72b4ef2d5746593e61e5fb6740288ceefd473a46e487f87bea163db118fcd4c3d59915f9cf5df8f2dc693084e3e562d65ec901db94877c25012a7b1d42bd2111548f8ea2a859b0457a289076d473ce3615580ed685da3a82ea7a7540f3544039119d97b3fcf9faab26526cf83a4f30ac11e744fea3bd3b09318f876896fd24bf62732e73db6b6b6e77f161ae54ccd8888c070b61c8d259e3b8553eb26eb57fbb37834595720c067832e9674a0a1db96a78f26ce35baa3db47e7a534c525bdbe6a2d110ada222c89bff5375fa9a44d838b5bcdbdfa34298a541173794a3eaa7dfe209bdae05e0df04c67451837efde3f266c4bec8ad47b716ece254db64a07b3cb3abcbfaa54a6b137f0540065549187f4376c76acd37b3209dd33c3e0cf963c2ed67346c04517b7205d93659445ccbddc7dd2170b6ce9d3774c8687e04bbe311505c4124ffb63ae094c758bb669a9c8b4172c26240ca0ccbde66f93c5b20115259f7f78226f7bb8640b0150d677c7296858c671e7eb5f509581bbdac1c9cc3d0295696cedabb363f23e7fd8deece03d192098f991dc129092b198fa192897f63f985ca8e3db4a9b762a09e874981a480aa011c79962623d745647a04350e93cd5b826697e59d9498429ed1f90d86f34147a8fa92f0bb9e3a9f3a30de398eba122aab8cfded456e0c01e05ef87bc39e83badb6582dc17aaa75069bd5dbd8f51a9939638b920bdbaadb6c69801317ee5fcb4389ce504e3f9ae185bcfbdf403806c90a7e2723adad59a4ff606aaf547b3148cd8c5e0f23d9d6bb2062796a107055d9a218f03983a40dd689b2f49b0d161f3d163803dd5d76df8d9a37a2122a8474dd8de14e5129830162c6af33a78be0a49f476d629110f1fcb3395bfdd19a7e1aaff346828c6bc6e67e6c92fb4a234ac53fce822e3857642b0a80956a142e8fcd9460d754ac06ba4b37ba67e741dd2e0a7aaeff38f837f19b5b40de932795cafcd9dcb97d75338bd1cd5d94e29d4242deb5bf62f251b9ec7ad07b99d6deccb53f98fa5fdfd76c81a2f0828b4a77e186279048f5af668d639079fcc6d88bb5c71f9145ecf2e282f71c9eb558223c71c4e8ea7abb6c8b25539db3d94c010c249098cd9685cf15b12f5e533267907ac0bc2d102c1e9884c89079d1ef11224aff497179acc68fab594de24273f348065470cbe0b0bc5df598fa338377bcd5037c9eb3525f0c06248cfc2a40e181997231996ac366a5d9541885868e2cd244aaf575467c9b8d24d27c366b7be41df656a73d4f781df3b31f34418cdb2f1acfb73a080b71f2a3fc83e6765a6367ba95434aad1634d1e5c77393030e23d9b4046ebf689effa7ef1e1b4c33899f37824d85592d0394bad98cc3c6216885fc81c0c9ce2bccd8b334711b6d158466d89fd3c528b1cbbcc32211790f0461d12b35a5c755c5b02ac655d04d7895e57c7623d1220b7f47075938523fa11649ec96904f697d0398d4e4a9941e5be3c3533353d1bd196d7eddfaab573ca079917a62d9e7d111a44e587cceede386e5db10646e6939c80da5f0108111e558d78a53eeaedcf0372f218c3254ddb1a97a3ed6e07addf9d3d262e2e7fc54856502ce95f21e2bd3a24bba574f38d2a25b760338703d7e5d701780fc265532797b2635744b29101876b0bc6482c395b062ce49011d61f39a64c49401e4c0fb83ebf4266f79a1e8688fb89b07ce1c5c1b73c3be76209482986a7cd88e4658697f04a9bbecf192662fcd2c0a630f6142ad2656b3fb5844ce4531a94a8bc9d23910c03bbb487f3dc7fe58a282691504698e980ff26d75a6cebf0974a30982a6e79f870f17dcb4911a503570d592a65123a50812743841c034173ced504d3eeec26f7da5868dc89d32d8d92ee2d3d154be124a93113df025e2057cdc61952fd5d251365ade8f19cad120309a19b214ca73a156580e71045e69d2f3d3fe90e5ce76510594bb099ad9f0639f44bcbc38c2f9e2cf62a921f6d6fc9bf3710bd942f6ee9a010f28893effec5c2957b9c2afa2780973c253372e15d3fe46d9967a7c1187706b9e184d97526e55e88beec1ccf0e5e22c4d9146ac352d55b9db7856cca58da9458acd97db19a6b38198b4869d7ea14b5a16abb3b33923249214da83f6682ccc80686b0998c74e4127e5317b5c07e7f5b8fc41da08a01b28697acc603cb62d0d6166afb15ef5a3bc6e9c7bcae40f4e7f30bd0a6de8f37fd5555eda2d5d219933072cdc4d4d5262063dc5c2131cc1aa0f001dc0e1c5d1ad7b61157b6919d2105f39c089b3abe1591d366f77657555de82b570540791919b2d7c010d8f5ab300582dcf32d9559641df8209a425c74a6a2ad58749246c1201bc58a42708fa9c92bc75204c6e2be83c11743e5c1175fed275b1a2b85725247749b8bd8e8d2d6c381b013c03ba5b435670b92b283a489ec2bd149c9d78fc4e6d1ec76060403d5059476b10b30765a7eaea1b2a7751f895f7f219b1796e6c717726b43896419b4abfbd6aaa02e865525fa883aaa80f5f664b8a9203b957ce31c31c2f645dc8b51f7af20b8c4ef32214e7b0bdedfe4cab85afed21ca4e25b2c62ee3635cb5063aa36700d37f4672551b21fa71cfdc80d4a422fc16979cc0e503e48b30bafd51229b27e7c53d998b030ae0c94a36782a1fa3bb431946083ea5426138b48f0d63b7ef9c71536d1217ff707640e8a386ce27c24a44bac01bd75a795a244389d351dcd4f6ec1b51f4fd48d4c3ea440faf073611172abb8bba56f2079b02e4364c5bc4b8dd11ddfc8d01edbf97cca97271831c63d24c758cae2ea9db0982ddc2ea4d65ff12ae6c6ea53ed6c89fa13c32fb81e71accb74321f0279e61167121fb4040553f1da42bc847d86b8b1f168cc3ae35a9d03e97ce24fc15397dd6120fd94c8a38b6617031272ed2702cb29bbf3a42e867db819f0888927872b4c46cc46923376593bb54c8965ce9b075b55898307ea124bb42ada952af28b524ca195e2a4482875677ddf8b06c791d43baa7b3c114b61002ed4714a02384f07fdc4cf2f36eba15c68eb5eae97e918927e4e39622d937efd4d47ce9f9b57c37c61a61b159f4bd8a9816ceb98c7933fd82de231873a4d448f9d391a8a0f5a474ddaf4a386fce2ffdc6948f8bad0601009ada5d42cfb7d244c92eb63ec71a52983ce9f8eac2740fe62f08cdd09478a469ae3c54dd211cd44c9e1416f87d30e64311832155a63a2ada56e5d8774b7df79f1ab7c3265499a50a81618bb91e3fff03c77ecde41432e421573790e04208c0dae6428a434916c9e10541b06f6fe8f40dc07487df7f9f3cd7f3245e807f48992e04b4f018e90d92fd1478dacc0aadd42e548a0c74842eb2615ecd83ad4f066d0e1e8d0293744dafec26f447b5fc3d7ca25f8d98bab74fb71d224961e5c3b6c18c03ed5283d775f2522ed0003411e7cc732225d59ba7302f64b98e51367983a7fbf9b9dcfbc9ead6b5809c73d70481d181af7a571fca3c4fb550f795ec20621440bfde732c479795eed9e3820bf8994e0ac073128351fb234fbcf223c5816bf22fbc485de6546106454d386e8a69a296cfe7a2fed86448b3de31dbd8392b5d09419fbfe342c46ad44768a0ac275c958bed2128e4dc0771f5e688de55c5279a7e3f14977d9a20a07d1513e58b1d6e18c4a4dc33a683c1e1f9dd597bef2128791b80abad6cb2b56836939a3cdca5bbad710ebc056287b7b7442f9a2d07348e4d3e4013d33b0caecb5a38830d553ce58dba11baed336f2b9f424e5f51ff8a1f4550dad65c50faed79b098f830cbfe9edba9ae0a16914ae3e4f2b04b5f72218cad0bd490a9e17d7bf6cffcb5085c43075848d08089acfa390d921ae4f3e6f87d1ccdc23e0a4d58e51b8b651fe18170090b802f039045dea8e6ea2b7e10d76327e1599aeffd1ebf497b099df75c1f8cd52f266ef110d1ecbe84d59ba7201705582092c7a3608cf5986e3fffb30e872518cfdd196755bfc1cc9f22f2588c6a0493273d72a145aaa013cbc0c129bcb86ac5211a2304150a1dfb9fe450347d4041c08114122ccca9ae11456f444130b4f82d4f8ed60d9f45b3d5d81b3bed5656a8254d45b884e202df174cec786c6d520d66128e2c6d9ff521e1e80ecb2e5e1b76002b28dc74aa6c557d417e40155b4165932279cef040610269646f531bd5e1f7edbf120cd4e818a902186eb1d98288660cd3571e70058416af874392101e956abe0dd08e732893f3557b1cdb13a9da8d23adb0fe3493e0380de8ad5a10882a6b0b977fe756500ce1fd9f308813762643aa1408b5b8c53e4331b10df40f18c3a77045a86517f81cf481b4be550ba9d9b614b3e966b5f6b657652721979926508bc92599c539e51707e91f1d4f88e82a64f5a7246bddb7832de1439d7d0823ee9ae9d5ace511365e6898f82701b04abc0cf39fe1476edb9d25ae3a17411e11ba0664ef8eaaf4ed29af7609af406ec13bf8e1ee56e778467d00bb94383058bbe987c4e3c9eaac6a8dc2da041d2eaeea9cb8c288a25aabc0d7c8657b71720db9c4f1f5b0e083e9f799077e34f1296d5e0ef9a68d784783e91026f135e6046493be125b9ec337e8599e42439b1134a096cdf09d9cd830da1f1588b9c10f642eaf26f4910d7a4b9c2a48b12836b91e207265a8249cb0bbade7e66a88ae1ecb545ec3f342cc042dd518fa50860738bedbcda9dd85e1f6b6a1c03f5d4000095e674e50870c50e9d13fbfb3816474f40039bc0f680aaa41d61039cd710294d0e3be23ea73f280a528ce8367167ddde4d75be7d3e7aebd7656d0767d284435572124af85ae3ebc1dfd19cd7305a26aff5acb232ad232af938d924f9d9b278a9d70577140368e1a2be39052c359ce0c190575cd6b1eb78e3d399687cbb422dec29905c91e5e44bf4868073bf58d84667a95dae6f6f27853c4592ec7a689d1d0985c2d17a1007648c01b33a5025162b610ced3204d0dc7f90434208faff5e68c52caed76cfed0f0c7ca6576dca38ee2f47ab71d21634ff77d72ba94a59b184ca203133bddd939ee15c17b5803e326f566bda0ccd4b45d8d0790cccdbe73386a1927ce69b5e6b76b1f869ae33112da2e45f563c290966956ef1d484eb003818e56c081af24c1262f92bee5bf710604d33781017b603322009db4e2bb0f16fd3eda32e1b1e27e998119d23a7ba9a1426c141febbc1d42ae35ca4b00578517967db9d8b58cc97a2224d93803afab85cc487dde026617601c598d446643605f150a69fa27d5264c4ff43787009f832ed42a52c0a4d1aa622a2177cfc79eda4e8c4d98170b0fb190c67d75944fb283a10e61a99f81c22c4778133b35e036ce88509debca12deb3140b7f892867a8fbd94cd692a4cfccc33d82dcf3fdb959d514aeccddfa1e216a4a00f6ffb8cc99ddc0a65f0986d9a72c0553e97f36e604f9d1ad935e0e99ffa134914622484536c59bae27a6ed70a85e05126c66d8e8b8409a93cdc7ee4373ce909944750706fb53a45623edb72a727fd5ef01c9644791b67eb6a19a4b3d20bf5349c38e3674e5512d0eba258e207fe20faee6bb9832ce8ff28f721ee0e765e6a6bc2b5ac8ca910c3d17965b13e42a1fcf23a154d519fea6ba536274bc77f9eae6abc24927b9676b4bc9a5e3919e76dde0fd28ee39b90e84abd309cf9af5851fff8cbe129591c17b1a6ffa8238540a11ef559dfb57cb6d359779a18031665f1ae01f0d42bcfce9f486ff0e975c64437a550e0d1f84721cda826d417a5a2b2cc6e05e8f50a5d112105b9d4dcbf4112ee97e453d9a7a45f37a0aeebc47c8b975aa59e142aa473c41f5734b92d1a030ffbe337e0a5fd931b2e4a8f2a00c5a371109f824670df1affd6f17395ebdfc16a84d8681102d89342012ea6bda15ea340fe3763f56ad68edec34e1130f0da61a2990dca61d328593b9af3e434f3a4959505cccd7be034bb1e66bbb671ac579e2d29f12ee4d42c4949196a29daa11273363996c205991b53408890fe55fbef126d5477a899855ba623ebbbce00111322397a54e3a26c7ddef5553861c532b2db4ecf30942fd4dc2a7c80e430d014ac2f53e5be2fabef3d190c47a6f585802216677305686df632f6b2223b10b67ae34ccd769fb91429c028a85093d719c8a9950e08b1235db1609c6b711b3262c5f00f73a9fe82d80d1aa3fcacf110dd31f7ee372257050f438eb5a8f781605b327ae1cafffc800f29167b310df771fdaaa995f0b765e966a07ff586c3b5c13e9bad92b615e4aa3fb3dcf4b4589c7604dec237df5fb030eaf066b17e275b0986fe4d3ce3971f0cceb384c1a823a57d7108e247f851936faba58332eec7ac805980b1e08916b0fd12d4fd516e2e8f009755c589f6bf3e5bebe824dc53bf505165dd08ef46cde5e16d73db3c98f99d98105151b487ed28b486f8e5423c0f743fd068cc1f42adaa14b693e0245c146c78792f08ad4bf9deae005cb888bdc25b172e70cdc374521cf165c32dcdedac704c854a3f0d319b7f39473002ef6c8a23c9dcad1cc0b423bf6898a616cac37957d0b38ab9c2e1dab603ca33c5fcf1c8ca5b17c2de6ffbdb7e9844680aa22e2d7d706d244dab708e8ff9cd986ae922d36329634ffd7864de71ed3f2992b3852aa0c38d656b2666096256157242a46596baa5dba91d6afb00f55a404dad57162720fe8dab4739beb9ae4517572e216ca985577c5ccbde1704d67b24b5f1b3c7a7505958c1ac6f844f1e800e2989686854093f345fc505d505e57c109a4a09e1cdff5c32e883f037d5b5de7fec0dc9c1d634c241aa644776d8348ab75d1652cc501a21aae1b1366a7a8110ff69620a687da39782651f450ec028eb2a99d4b1191959365ddf90f5f58f818d783659b4ceff23dfedc29bb44e92cce9fb034a0befdb15f0f06077a9b5a68fcaa30a19dc302eef84bee37b44a3a0543110b103faa2d3f9d5d369037f1ee6164cab81974b54ad3b5ce52eb293ed85a39ecf3f5c83ecae3927cba34abb5fc95c3c391521f5d13d75396a8b5e8e5e4fd34e1e87b5a6721d1bf2f4117b80ac17a153e796cd80a705d3743cf885abcfe6e25977317f862c1ea55467db1b2abb7d15ebc60c9000910c764acce5295c399d846a1822a87563638e0aecbffde86ca85a7f5429da24630ec7a47602b92a2282f5352984645930978afedb4b1959dff623b0d2f817a577156ffd2b7494f162c895cdf750b3d300c83c2a02f403dd4b4f7aa9e4ffe527925b1b968dfadd00f825bb53ff986d5b2fae9ca0ae16bab6a63d24aa47eb5e300ca068577ecd5750212676da69802eaf827725e5ca20a7c5564f96a733fe563dc61891cd98c9cb475096cb8a741e421d69518e3a189f2c5f63f6830dd7107399f933ae6e1a2ddc0f66fd2b1b85b7214e4bc5718918493f95f06e21f4eab83c5ee0d7fdbab58e4d9409999aed433ae81e2a2fba5df27cd3707bd73c34f46f01415e7c6410daaf6463107ab5434bc674d993c6d28945104a856f530786d47f5d1e973db4a1e587996f4da4e70500de3f7abe94079717797feae6ea896f1ad42aa80bec9dcccdcf95956443253f991a26e842fdf86473c4e2fe9ee9306ab85748edc71026d10c5df1f4387780b3491c17d214cd3c11e6dba708aaa81ce976d0bbb9c6dc7fb5485de8e7bfcfb6c3ce2d9b8961f23d88dbd1dd16553f999120b32647de15a8d6ae02b6383c848438215f7baf8d6eec35b5f192a08559c3440ab9e2696a783eebef7ef90bb34cb76ab293436c492da6454487ecf713cedca20f5547f97aaf6eeae48d892adc3da4e755717da19bc0f3d316a05dce5286f3a52d9cf6e377ff960b334913c57315758d571c27da1cf270662ee7c95b85c2c495a3e017a64a1943aadc2bb72bb4ad042b095e09edd9c0f2a79208f3494a43f7054249cd4a06e085428240eed38d89e918aa7ad0af3a08aea3635e3ce182aa5997200530cd42ffe77df54ddbe0349d20d8741a1927142f4666204328b1791aed65b964a6f8cb233f18cf1c9ba8787a1a0081153d7aa48fbeaea6e02a81783d172f8c7e34301f3662b3979dd347b1c7f48f29dde6580001999b4fd8dc06fe4d511eea5baad89684b0b80e187a710ff0cafb93a736f12f7922fc8c13e58cf0e1f9079b1b92980c7ac7b975bbf03e434109ec903aa87e56fc477e6480831a97e186f5b0ec8fdf5de9cf8d590815c95d9ce1b0f347f1a2241b15a8d62ca01bcf491a0ef716a680a6f86704fa9e0f2cace98eff66a0124fd84d9685693de5b854a26a656c662864bbf14eb8aa00bcc4b0b33f073378050186e636841c2a5f213dc8616d2ec99ae35a7e677d9f44250feffaa25130695fa72c4340e70f8218e21caa1d1b9eb080fef62d091a3f78456582e3badbbe9c824601b4133e86865470a437f49839821a339fe3545faf35d075db54089747a629bf125aa63d310d737919f1b5c10771818ed198f73f08b921f96788f8bba5261c72b5db961d2ab08d7ade9297bca3f06a6416cce898b7c8f68175cc28142c2b0915900849027249f6aa64ba79e088ad5912102ab501f28346731a151c0b4b62806603a07681403c0db4b2c511fb2df25f6a891bcb32dd822c3c62d4fdacd322cc9b5ff41415f01c10335a6c7d5545a41aacba1c6841aa07ef5914e7b18c368bd2b0b27492cde4d8601c5aeb69bb19c0a6ff67980578c535e30fdc149849830839f36f0ef0946b219506aabbec43d33f2b70f341784ad129a9e28c60c22aebf1151ba2adae0213cb66e7a7ca4376b3b0b08c79d18f05f252b43286085510ba870c0b3d4a28b94ec1ba5498196e3ebeef07c9e9e7dbb38f5379f0f76c3e1122b91605e1a9b68dd8716093339c99ae35a39d5dc02309ab0d287d3ea1c92ff082d3ca3128ff45ce380dd420f2b79bfd1ed5eb040fe72330308edaa4734f6feabdf50a03cab728ae4ae6e10f1de44ca03d8bcb893e6918359f500dcaafb5035451b9e2aacf9e4629a86aeedd22a38edbb2636e4cebe693f6845e4ddc5ccbcaa771063d702f67cbe7a291fc358c6009ff67664a5e11503de9157d133f21524f2c684040d97c2381f54d4610fc3aa63461724e150764e44ef6c735a0d3f391ea33e34d11c0e81dcf85a790d99c71fabf45e6da8e753db9678d06baf919978f6114acccb28ef3208499a4ceb1dd12200036fd3a3d2696f8926665649ab1f607631a60047c49a8aa74eba2a4c5a4b4b713fcbc35cb496ae7f9b8f5ad5232d0050c0c33a17f221be2788ec35b10931cf63108e0c99d793c51727916f4e1c8f102667c259de39656aca3d2856fa2da7c8a4a206145e7dd22cb4db0eefa00525459311c952bbec1985cfa5272373e1300265754733cefc84e178667d5c171214f478b6efda5a4749d2d996bbfcec0f7cee0ccd2ffcc512ba473a2b29eaac252db00e41d4a2ab4958fd13163014dd853d34837641c73ab482e2c323ef908105a57b48ae2395fd6509b6c74caa8296e4ae23dc6478abd0da9612473ffa2fa199f6d450b19221e816e7ced5aed6b84eb0ab20b96e4ce148c33a1d40a213ff8cc992413607ba3b1f7e57f55133a82091e623666eb879c0a35bea0b43d095a2dcfbef8f9701275a5acfc716ec7ceb297cbd0b55643319ce58eae9c2ad11e1a5fcdd4259bdb914d78ec2ec57a2cfe0a2bef48e0a98f7fd981e99adeee40160fe3c0384c8fadcf02198e4b1a868c2aaa2e6c7ea1327d0697665f67d22c8caf481e580036998a71df900d8ab8a64cc6edcf5f82622eb58d86bf86975c5b23ed5e34a58a63127d0a234072a87e72c6d1a2c1218c7522765bb73a8333614ef797889a90005f4536b51b3f87d62c6e511b7cf6262088f8bcb70a07a655b5c81faa2328f4241de5a9c38da235fcae54b5ea5bc60ead51c04b4703d9696e7a84f64cc66749725d02eef48ddf4d83a660e48e680d49cc2af88e3a4662d8959d2d86852dcc8ba6b088fadf3c771f880fdb7b189a16d866a771ae1b6bd4e57e99e56446fcdc602009c5c5f3c34fa6fb7c4e5a8dc57e7939f4a8109dac2e5743c21f9633c91ef6827e7c3c870ee4ab2c549aac4f83cdfb2f57938911e848ca20760eaae43a0b7f1e392017554d234098109f055582ef8b026b45b776e083fe0b2b5124fecf2496b658c4602d7e8a859a53f28bc250a4450e96a3aac416a3705b1a1943b446e335c7c19640e7b5b892b334c5a08d1655072bf4f2e8f8d7ce0474b806bd4807b13aa2330a53c10a2dc611cb85f6d71bf3f40567568fc7206f7637a41c5b08160be927d81ef4d20da216ad1ad53f21a9820d641d83e2c8e2e97bbc07c70b10e401d8c8c3ca58655897389e3c4f67f84d77b8424fe31c8231afd63ec444693a48f81a01309defae8cd8ed55edaa1d176bad4d124f403e1e34bac7589ed273279d6bac6c7b2c6cd32c45a23ff887e6842bc0e6d8458b091e416841cd7e5f2c27e20f4e1bd26e8817f953749ecec34373fed021ea0eba8e03b416426ee90bc963f46964f7d5c2ef40ab552136457a997ab41ed648758b075d2b034c65f7a6cd9f62667cbe8b8c9fd590c05996dbf97f909bbcc073eff7509c312d312e79a322b73fc6d48f588436dc53be49f8c830ed091219638733d3679d8cf9049a1bbe19823bdd197d20f272cc564653b220f170b5b29805489b13e400395c8282f40330d758121c0db4488262e1c3688273a1625fe8702dab299ce7f3a9ad6643198f28d6fe8adf1e9b3bb923810f21ec01b678f8b7dd6c6004d1965b7b7ef92fe194e4f676501861260ea3d27e13d66fb99c70647abb597d25604b5f7efac0f4712ba9c8eb898a3bf2f2ccc58ad5221f5057cb33006d497d9fd4195c21fc4b28b85cb0e922d85ceb3b01d83962147b5fca6aabd35f395e8b25fa100ef501c5327303fc9e4c4817fe23e988e4de0302e5e373c095a1be65d44cd08a4e0b69b6b5814af5ac3933f7acfd0e2f826f0c5d860c45c75b5cc6690bc9edcc30868eed981574d0920db77dd5b1bdd23b410df037897ebeca06ffa321a0978dfb40a7887dcd3feb2ecc0ea7b5326fb3220726f30f9c87d810c8a50294d5cfa7ca5c24cc1793b99036e2c44888faf04682f1ef264bd1f63bfda8a945deec8dda82d5b86d933f5ae4fe656f181a1f9a3e33d085a88013cb856fcf588f8883a5927028352ae3606217ecec1b27daf7e225382b9d1f6d20e7c3c5ec4216cf0ae281ac9a6f5d1a4541029d5d0ea2015973cd58b75e678685a9826a9b412ef186d944328b1364b2caf15d6e4061256d7a69e5ad73a74f270f045edd91141f32a8c1a8a653a3ffb26399d5698ee9a814924acafa3635dea3fe7127e33ec07f741129763578774445a9600dd42c7aa7c8abc7f88cbb1ee251619f72ccb464e08859a9d05a8b9e55bb062d899021160d7153e9b780b1804f6db6da651dab076686a2a7352bf912a0d8188db946c713d671c40d737aebb6b73e8d01f504d315d2598a9c400d16a7757f2f4358a672c679b09994519bf8d7107786e5cc5cf0f01646029ea0d02945855f881a27e2cf45872aabd686e648187bc1970b0faa4fd95529c744938db20c476e8da55f1e61aeb4bd4122146627cf6c88c669a256faac042fbf0c4e3b0b7be149bc363183b8ab8b70172622b82c9821dcbecee939609f307d73fb555de7642a77de9892288b03b082746b2f607f5636aab328b23695d1d2f65b59e7b5f0cb83431335087fe5fdb7c1a54c3a63439b7640594987440d566dd9d5f48f095208478b36f4b8457304447f1d6697f4c7feb52b73ec6464ce9af06aea6ec1b9121846a49ecb69c8a64a99450913fe577bc5ba09ce6384c4965f8d4dba0becd3a07be5561ad00b757f7f7c1cebf17d9a35d5f49467e69ba3a1383d80f542524f3404e665817ac195d7e901557dc7a5f0888eaf342770c24a0df0bf44e252de7ce6a58602fa7379c082882a16af97ca379bb5a928ada15a17dd10528bf68064cb5c25400a9342754ad5963aff594471559711e2c28f4454b730de16852c895f672995d319b825cb8ad94dbef9e26a8d1e6028d2b5c50c2c0744429579d82a148fa535405ea3ada08d4f98d68d69b3307ff1fe3666c6104db8f19266d5f710baca8864859c2ac3385ddb4039f4abd9c1936acf8680976dee8c0eb4d39936058efc659d23847d48ab34437da50843d6e45a0f94dfebc669a7259298a0bc50e89d04ca78cb49ca2350eecf882ff96bf03e5e63402c2ae095b83f0070cf95d330dfa78c254d4d3680b20e3054b78b59c163d8edd4a6dfdb662279ac5c69a6b0d34ed300786f369b9bc76f20f483b7078775fe02a62c280b697bb614333ee423f51108d41119d5b155aa850de64a62752440c8de119d33e5824ebb66b82a205a102b5f906d156e6cee4cd230d7d5d48a18ac2380c6d250e121cd80c2ca447eddc1e2976038a0a9931d250b2e159e811ec43a68dac123c78e61743ab99c8b0bae43ae8d3fe6c60f930d9ec14cb23fe1792d42b1982119af82cbaa4f567a1751744e0f5e439b6965b8f515cfdc456275bbd5199e4c73e7b1a124d5c0889e50562f37aa20499a5acff4327f398e81b41c597e23629790db1f9b74cb7ca50e1baf36be4859bf7cb917f16fafb1692d3d4f88b12fc38a4ddfd818927b0c094f34eb5fdf05000694306de758cd9754fff4d339170410f94e84d820b0423503ac54a9d371f2d5ed3186dbe9cc00f18f13e4b39213ccdf7b6f94886d2b1d52318db9bb0dbe2e4b09ff96e4f4d6bb25d3a4078ea683cf1e7ba47fe83692b9cffd4ad41b9ebc5640525e57f556882ecb5016ad22a4ca4dce5cabb9ec28d406ee08b741bf0c72fda858ae6e2f5046abc11a3e6163b2a75b8920d2869fb74d392fa6a7ca5c1cf71221d53751f9be719691b8461bf1a19fd8e6658a79e57137e98b5333c0711c4c0a08b8d6b01f4f71412c8d13ec9ef79f4acf9e35ea467ef3c383f1950bcf16e231e5263334df5ff08949367713e2e841bca6c218c7bd2c8784cbebd32b77931b3f26053f5ef4925d7940a84681b2c08668394f64681f7fd169695129d4efa6122aef5b28237054d2261c4b53ccab37d366ae0267192e5dc301cdf8b2f542b81003d83739aec2fb61e1a365c35e66267a092ffd89a8d9ccb6cc097a585b7f65cf366dea85cfc2f9ec834402ba055323166d556b86da1313451b8194355c4d29f28c2f51a234d7ad2ad7ba5f58491c13a7cd9e3d15dda651e756c899094bbc9516d4427afa57938d8f4c21c8cb23903b0f5babb7f60756674861c5f43f62eb26d96a79beed328d2808ce412379d6312c29bc0168ba459c76f4b5527afc632a73a15ed0def06f19441977f3dc402e6f20cd2515e86a26175da10b34c631ac513854ea3122743a53747f896c8ea3b5a9e2d72cf4a2a40506dc2f805e9629a55a260d13f82d0cbe6782754674888f12b496b4ae4487c20048698990e7b21f236afa1dc175f58290327a190e48470891cbe1838eeee34c7bba2c5498b46ece3da0f0e896de87a9524f6198edfec4dfc3275dfe76b4fd7fa7096c028d28d2c3b1248b0caff1110a715cf7701eee67ac6218e690251ec18ead5519dfef0798b456069f959d2588cc53e8808adc4f998763e984b455ed9592c0447eb16db5054291da928c8763563fa6dbe898156a51711ee4f198723589c428fcb042496d10f669f95387b04ae00d8724ef66e60d303b45411bf1afcdba9c0ebf65f671d19e3cf023a7ed03c023c5c4e6546ece4869292e9b871b0338102d8a555b23f12967edcd5986e90cc81ebb7fd6dddc17cdc4c37727ea2b8b5be98f664fb4aff3ad5375d77869b29401ecf58719ba5729b227b0bb57e5bff6cd4044a850622eb0b1fd814efce6f534bc84df7ca003b1036096e54ab2d897396a4d87741957f83cd92b82772b0ca7e15de36c4f59c28be6ff92d517060b4a90b8feaa51448312d5a06f644436e8cebeaebb630ddde4cab2b29641d1ffc5dcb5ff067b9e8af70bbf9567135d2fc80c5f206403e7bc78abba6805a0183d259f1cb1d6046ef887af68d4d0b517d06730ee80df4dd75a9f58a15a722622be79f24da3a25ac9a822235ca54817882cb664414dade30e476fb582ed576d0f919d185236daee52a694bd86f2ec5917364c625a60e66eaff97cac014eca0ff6d8c9fe4244d03e01f613d63b30ee02cd8b43400c7a24549b30f43a34150482adfd90801876cf399253f9107a43d23c136df75a5e2cbc7c5710b2e79c017700cf407f454a67b0469d0cd36211520dcdc4cdd0a9e1c8577861f4267598f9b73de312eda0de677a4a1c6d160b1b1a213080d42003935a400226b29a7ed586e64cac3b693306f42ea903b323930c885cd8a04a846116c5fecc79b91ade7008325b7119f57ddc5fbb53ced0660f07d09f101f928e391309abceab3e0cb9a2fad63f50d07687241e8cecbfcce91deea91d9ae908410c363347731f5c6e1368bf6601caae74644b02b3828defac0260cd3be529e7eefbd65faa3e89eba96d4f01635227080c2b8dd78cca15d58cb26da4070f88fb154153dd4af454cb75e791ce81dd17f27b5ca357587baf01e47f2b8b9bf13bfbeb2827702fbaf523fd095f1708eb6802f8e54a413539ac0bc050224a0d29c6b7da5eee3c21ff9883aff88481c8b637e1fe7e65e6de40bbf2fe2e5977a3f08bc3689a7991eacdf4d70fcad97470e94f30ed6616e1f2444658eb28de6796a32690fdad7973d2d756e3935b0842afec1a7948546fe6d0dac813b5b9e045a2f3b326a1df946f7045ab1a77fdced5d91c747e58a9af409b64d3b6c90af0c0c2ab7fefd7b5636d32274abd2ad0b97aa1c6c9fce15bca4fed7e6811fa0be4b7d2e330938c9baadd5f031213834e63539e55264af40f87d5fde56082a9176b99e231e43fca78f93902bf50c207a007fb232aee86f4bbfb8b015ba24a2fdbec72d355609dfc0d7ede648c142f1d1b933b17a4d0d1df90ae375a31d121ff119c2231b9b02494cdb6b4462e1d492e9b8881939accda808eac444e39da8c2e237c160e60ab6471664c0bf4d925a4a8b1b08b58140b368f081f44acf14ac7c674e709a59908c23149d794204d74ce10c2a483d0390521060634e9cacc92422f6b42d5499b6a05e88a3f9fed181b3ed4128cdc1d870ae3f1844e0c9ed007950ca82020e76640d7c97b4f431f9172006282feaccea0446e56d910c7448d2e3d87cea27a4adaea344ad7b7a9f514a50cb4a33d1bc027feba6d6e6e57e1df388f27a74a17e2296a07d1d3e977e2e997b478ebe81fc8a8acddddca5f089194b2f3dbae19d9970224f45749fcaca4d4c949edf7ad080c9b2d1d5e65335a1ae10d12382452af042d0587863ded53b3c9321f8384fb65a0ba4cfc7add00c5a4d036ebee98120a194d992c12799bdf6f0dc2f781eb7cad10aaa67d28cb6f52aa8cb5a643caf834bf16c7bca8e0743577a3075e553e17aca2d9632d4dfffcc29fb12cb6f50f4096b417c663f2fb88e261cd491261fff9fb064bbd12ccd576f5e167605e14fad64dc297c5d9145587c02cef8f727aefa76bb3a5ed4535fb61ec386a886ab702ba60691115d8f602b4e80d2eebbb9325a99f2b1cc099d1feca53156131567d29606226ee95ace89f62aac38a163533733115c8ae83b6d571d45099e1758b571209e2808eed26389ffc50c1d5409cb371cb341ad16e47b43d4d0fffe9f7078a8d1f35e512c5cbbd00ae2beccd0bbf5c895e52fe9f027f38b467db3f5ec5b8ca5934ba5a0c86d67fde95992dc26a9330d2141c59ddf65b0f89cf10bc473729f849020e44052055b3f2d9384ad90c4ebc217203c1aa9f6feb3bd89f7232ee08970993eda5b32d244ebdd580ba14d4a3343823c119ed53e661ce3320cbd6ad3925e6349e3c0830846a41fd89b6cefeb6d12975b8272f9b577b7edbcd9ceb1b65a9e1ca2404d6a1b45b2e1548efb83bb4c1e20a6c785f3c8d0a669f0beb8347cba9fa18de02e0b1064697df0f8e99cc40b28d4d12518d77638c8604ed8aa2e3a7adc5f90a2b0425979436cbd577536a80c601e7e58ee459df3fd1044cc38cc85911e0fa75c2dcfa2f8e6f4bae9641d2fa0fc2bb108431c5b0394d7a144c9581bb6d6861ef59c777239e5c77d10064b0864cc5a1142e981ac00cce697ea67e78d64ec29dc89db0eefbeaaf416ee0790f6ade4eeae6acbaacb52090b201b7baffb8b19b7ce6e40fcbd192f39d16e1c1ad11e1b3e7d8a44f184444232ff30ef71e32f8715f49f1fad80cbf908f73f99ad6e3ab2d03781e3df2e01d482abe2c88e80594d82fe65b4171e45b8b6a19a5f2a06f0c181ece38c4dbfa00829363a663dd884f5e55b0528dbd39d105eabea9ba1aec1c97ef400f4b5856a35e95e747f14f8bfb36917beba21ed8987ddf08b3d0fe18bf6ce674c064d1b4178e374cd3e8d75d52e109b37f41b35363276c7cf0431660597aa653d55801b7bb972c6ed3846c5103aca1c8adeb21a2fe3dcb1a6bba723fd7be63ce205eb4e55d2f6954ad50d7a755b050bd33b48dda2ec5d3cbb9d1710628acb9f3c80ba6302bbff1d6696db6bc8c3135b122166ca501cd6147faffd12c6ceee2d0c964f6811a19f70885c9ae50a230a00d956a7cdeffa513fc6370365667133f20efa7b615a2f4e3deca50431dec1ff9a4d495f114a15d5c698dcae287967789d1bc69ceff50274851d4f232e4b592f706794f2bea41c9e5b9190bb000f1971cd4b1a65e48ed74b102c65184dfe8ec3a889fd52e0ac8aecc9bba917ac5687f057879b186bcf0edc2706d686458f27154eb21a783e6e97731ba87d73cffe47f360c1ff6201489107fe84726b1755ed4740e1b855480bc7125ef16dd6fe557af01c4c1fe4162dd0afece307217a6218a9cd271dda440180cc23036ab8bb095782e459b085f265107ecf8f85391b522782cc2724e080ad8148785ce07e921b2acbfb4cf2d736cb5b7785e48c4b7e006f7e859b8aedcc21957fb265ac3a149ebb5d2a0ba013f8c56e0448885435f08e1a5f5081a0975984c202e2da955fbd5b49fde56648db846da5d1bddfbdaf3025a4e1aea862617dfcb4342af9393d3ad943fcfe167ee2e814c6bb294f0712d9eff445b81d464970160e5cd3268a166e4bb2fedf426c3f11b1ab1d0c3011d671abddb00efda1c5894808f7643ffe7b74f7864fc6f5483201bf3aaa8a9115384e9deb253790972da3629325f9dc0c47f9a66a6665edfdbd585687d7a21751c6033b0ed3d547082c051f0f43fc57263b2d89553b1f305fb39e60da057aa36754134cb3b4bbd0b61a6fe673ebac4b1bba54e15a1e427c04fb87bc1c43c5c1d0fbfc5a76ff19a20187da540e2abff93b24f7bae9d5e3765cdaf800d77770c98accb286902646c30be78ec2320dd2a487549fa012c443d011001fda3427b1ea2e8d382048b1aa0f7fa5f26a88547b30c773b89399f101230c7a3a4ef8c4cfad7b2fa30c74dc65e810c47920376da1214ec9c5613cf63a01390c4f8c8b748bd1c5ebd022ddc9dfaf0920d6ed867f228328810789b8ca73c4844973ff385c88c1ce9ae17e43c08c5757d1b93a6a7367dea76db0ef679f3463e5658721ddf1016638264e576d90af0410df16508e1472f8fd347a907c2ecc802e0478c74037acd81dea7eee519fe90e80ec4a6d9ea959cd8878e67b3b950ef09539aa3c55bd276f6959a71f48b54c7640611aed667c116b95ba220c3d5b9bf74f244e0ba5a0f1655ee671a6d9a484923b1573c9341b0c8350a64b2ba923d4d5ecd7214b69227aef311a2b104988c21895468f0fa6b12366eee53be14bec499deed4d56f0ee0ce7129baa3f8810f932b6e2a9e25bd95df781853977b6c756159f5041a9587b961cc0f59c409055871da55c34b93331342abd821ccae76361b449ba92447adc71cd12c07d13a14e98d4d0aa9ea52b0ec20779578049ccfd5035a33670558af8b79842e2011dfafcb40dd9b08005b1def0e55a2079d7674b3ae6e8b324e5a1301f8e3e13eb9df5e0a21a415fd892a246b2b471fc5bd11ede869e343ca83d5192f223d39a0d9dae204f8ff0054e7c9d7af992e2647f20f4d6b3a37a9ed0d79f578c6cdb64376d7417d2ce751098c6c484ab429c9cbc5f5e0159598c611162b6230c26eedcd13eb9e0602b72c3952752fef18321410263b53dda07de12c67e948119a136eb53fd06e0a902a3f2e15950c30ec3e846d871baebb7d649896452837712b6495876934a777e019082d1882f0631e6ca399a344f3e995bfe3a65fb41b88e093184210bfea1601fedd302a7b703c48964efa2efac16fc9a18f6b3acd00c8f4a8e9d05665cc4fd72befeddc9ad218ea08f47d41bd08210a47e76a4700027be654809f20e791a169e38313a642e12b61ab2194640201b66084a9f5e7bd20ac92b31455afa064219c2af18f8c19d46e2381296307b7f76dd37321aa1c7c2c9f96efe5005c025354266d7e2b8fee31fea80ceae49715f3f487e41e5187e1651a2c9f927e4f7276bbcdd5c3886ee399923f3dcd8aac505c1f4174d48a166ab86422dcfddc3265e969d50ade4d6eff8a7e05299a8e694a3bed4d3469698c4a7a0aa0007aad59f692c60ce47c1eecc99f7245bed93f80d0541440fa423c60620b9724b004a99abaf2f56f7ddea7976e20ba7c409605dc7010adeb86cfe8a4cea075be78c7f4055d19151690cbd345ce6345c0da2ce66fa1392f77d642ad10d091e774c59ab9622cc8ae844e25f6aba3b5fd70199eb93970f1db69da12f19f53cba555e09eb9258d0ed77d8544d8ffd8735633ed32c479b385eb957e250ee0846a10ececcf056900397850d801e43e66ec066d54371fdd9ac059ef9879ddb8379e11b598c7d07d494327b56b0ed7fe1cd28d64145b4e84bec5df4b9ded53d60dd691aeafdd81d4730cf74b8f61dfcc17473f64a614866a6d9818dab122bf01aa099868b30b65b307baa2dce4670fc99fbc049056113a2dca01e853ff11c6005ebde0f7e884f30a765fe7986d02cdfc3c2c638e44391ea297e73e0e9e9cd3c1bd01a16c23a93e8dbfe2f3014297ee4a70a2df513f2fc370f289668d8e4b7072cf530c6c314bf3b58e0e37d5825411c76ae01eef087c7cd241fdd4e8d51316ad1f76809bbc2c2579cf9166040d1e26d27566f89cd00419a9d503ed2acb6e5332dae6af8d6344f75e2ee5c0889b0ef7bcec8f0e5b07833e3c000dfad721355f3a46fcb415799414d6dc778c25daca3ed2c14681f0fc0c80d4aca88d842143044334a3e73654753a12198ed4091b941715377919868ea23bb5b8ce3cf97733f2c26f245a5d950d0b1151f914ba8618ad5049d768caf7be92bc140a3c7c962c2b7c35223406154289f8ce712344af8327254c27732fe2205992f71a672d3f6961c573579256acdb03ea7fb6d632e0202b5af61da3307924d9a47a469801b99e646712532f5ed9a56ae3d026a80b78bdbe9d7276e186a8040763a4a166b569cc8d1621a407073c5ce205d99f8ed568e2d07831f08de75782076fe2604de9c1092eb66344731cd006095a43893e4230c7a800c6e3a1f14d59bed17b872d23cc10921a703e4746d402e677338a744bd50dea2dc9b3325850857b904edece6feb34a33d4c35250dc39519996fa350638162b1db9cdee1c2f3c21fd61953af0b7b9f277c6fc778933538dc9694ff27f0d89847d95ff3ae077f5edbbcebbfb2549346146b40dfc1d6fccc80d279c843dea90f561ac93cd55dd8222c03564561d58a96d1e0fd6f02514008c712e53e0ba9f7e9740dae3e8fe575483d33dc666f59eed9be6cd473bc178053f4e630d77333b0c8267329d7b7998ff092d78052c8d76af58acb13ed688ab49288a741bae443b313a55b329c88d26c642ae306e3f99929aec3edaef7a55d3511de63a06c33b5b451d9a20f79ab7b6e19859982aa3331ee072a28942dc8dac7616a2f2c65265065344af38ecdb1371dcac7dc8f3488c5ba38d213a3c678a122639b320baaf982e380e00e76c61b63961fa1bf95d2eaed4cceff968530ac3485ced0eaf7b6521f948455c71f9af2167d461d8fa978c3b23a9267e6a4bd390451cbec3e0288082b20421291e8b126229297dbfe8967f72212d1a33d7ffd13ad9fefee1d35c4971094fbe18d3c09f0c31a6fe97198909e8040c1c0a4daf3ec467292640d5370bfa7702e71480124e660eb2dcce59ca887c8a80762f032e27e2709a4686ec8114cbd527065e8551675e6e1249819301a3ed91b78cc0b6244823629b7e1a0c039e5e8e9eb60b1820e803d3568246c0e080b6a40d9f75720ab027430f236d974ab56a0bee59aee3ce77d7ad9f85e53c9e9f0916d017ef893cc5ffdc81eaa5a40effd73b60ac601e0890abf0cd1841b6539c2bb5601aeb4c45873bb0e956a0f24584e3ecf6b42c0789e9b7cd617a7a735138fcdabd3b2af6579449195fe7c238ef9cb7f20e135ef75cb4092ac38bcfd1d274e9d1ae4e17fa4a59a113fc9f6a4d4c1ef76c2a1c2d0aa0e1ee7c15c65c751f7562557ecb79374751983c6752d0e4264e53598339d44150b03c4f03db3b29205327fae71838d358a8b6f7f10c0f60ec2ce40d4f8b21bfa3de98b783e33a1180dfb2d4712b58ff22ec617289bb720a8bd6bf7a42c93c8627eb2e87ad7434dda9bfecada21264cadf591035379409961a268d9ed16018c0d12657fb9c4232837d21da987e21f8e38762cd1dd556448351c6539835bd8880e523580ea66fd39b5c9a6cc3ec1f21702859777aeae6b985479e77b9aad752fc7184257f9283389a9cf6a4503da5ac10f4146d65f496f5498c08c23e52876dc59105249a860612ca58eed5c8dc1f75a63b56b5a6b7ae5229dc5f71c94f89deb1bd6045e567dad2600b33d2068c400bb7a60e1d3245109a47ddac70a033a10788584306f2723d589fabc3a8e4c2a48f0517f30ae2451afc7809efd380d2c6fed76ed4f6fc00e3458faeb2a396325a98d944d86451f8b4ecc85f1fc38773a0d56aae1d553b343fb0c8acfcef65cba1c2f785ccbf9156db35ff83217a6913dface465366381a8b727dbaae05b139d66179c4c79c0b877f471a9ea3942bec1c159f6f0adadf2dcba688d427ddd1dc723f6fa21d38175825ee7a1996dd750cdd6fb1fd6b5a180f80ea0684e2c5bf95501c4a642f5d19028f5070f63e3fc93ef392f0e2c588a9f88e5ad04202dba061eb737b2fbaa86402a3b719af331b33427204939c2c6d44a1c0c9e56d4dc1c4f21d2be4e909002674d5f70f85cbcce0c2647ab1912a8fe793a24c92977787cc20028babd2fad98122c475c61434bea9a93bc71fb4bfa3aeb4499bc0b75dd1633885ec6cc73a4a0c07581196e5ab7cbab7aa197f9602cbc5d04419dbc6837108cb0ab04d9efc28da031f4ffed40c7b6de748b4bde10b3c799984806260225be416ac99d5da874c45ef5d2514bf14c07d81d4829db4d3098533faf3682226328027c90202c13f5ee45edd5737c597b47bb88a386744179dc0323e20b688aebd680564933a5792c77be605535381cbfe313ac89eae8d889c718724af44076661b8d718d8a88ee5a0513f6e7e5c3822cdccf9c7005e93ac0859cb2ed7e0f51626bf0ca600d37ca2e782a729c4ce8d8fde3d367953ed1bb0040d4f837b8e6ee4c43e50b45dc27df4a8200caca57c27363c2839d9537a67e3494f72bacfb3a63920e5f742f1858664d73855df7dadb047c06749e139e78b43b2698ee57d0728d5917630071836575d90e7ec5eaaeaad83a2585abcef26eadc5be1f1b46f9157d60703c75e8bcef42d7e79e77679123064f487e1993b4cd964fcab8879be0b66539915024fccd205f5b5af30464d515fa6eca8053b28c5783ce0a6249b01a43ef2baac8bf7f88d2718c6c282b654ae642f3a1035497ad56533d13039e65ab07a2deefba02e85adf9893c9515429bf4a59063f58bbfcae0e0ac2b14cadfbcf9ae5203cac09eb21df0bbc48b9981936b521be581c5538109912098e646f04dc70e5b89ff35465b1266769dc4b97012ecf09669dbe68ebfd6d788825a237606424abdd368a8d7b0bd7af04677dfff02d336e676071c0cb37a84a96c7a64cf085f06a203e5e0b0b208dda3dd51ddcb4b8a6e5979ccec6d36b851a1bdb5fb2ba6a8cda4bf90760ed79321bbdda2da1e184751d3b8155acf17d5edd10f337cf221605a134e9f949625ec5aee4b0749d14f937b00304b571ced5a327c19cfc30b69da51b5b48b41a8e7ff7ac380310481d89619adf3326550742341e71be2b4d2586ee26d28078cd3cc80e70e21e3abdbd78ca26b2d6c8bfdb3b8e742a415bd539fca00fa0b4ac9cd8ae5ad89a07be2e17dfd9b7d8fb90bd79e33ede9b0ea1ef72e0b6e2da3981a306fece16c66de2a65fd12f233598a0bf9a53ce80841ec269446ecfec21aa697528c2d10a8272c2c2e503c9f9805d0be392a0a90ccc554c5d59437fe898aad037e24b8ffb11f706502d51f4b4af96f4639eed978d435dee9732a804b23d65f2702b57400e82112464be7958252a1289a3b4819aa98ea461c3bac0ef90b6a037d5afe62f0de9ade9618e040e484eaf1447954a89762d52e77657810762917cfa0c83e7ece27f8068cef11190e0eccb2b81f3bdc5a00eddb9613c112e66739fbc64817dead55e3285bda87faa6a1137df821eed4d70adae402d42c64b3782f27d104c89a59639c7e4b3add3cbac78862d49d1765ace374ae78faf38bf8dbefce38c3a14f85b634bcd61b9abe876efca990a38e44f306dc606ea6eadb04a352a9cb02ca02642c503b750966e20fab2faeff0df7a06df1057cd875f55172b7aa76ef32bb96f8e1e477b61bde03c1f1d3d758b8f7abaef8cb925c4b516e4ecaa6835d49675af836788c899ed527c800fb6735b5d742aeadc8a2f637825c6af520143bd1e396356f646a9565226626887e4a2e028f25928792f854274c1000d98c20c94a973fb92f5c06443cc7e9ae1235c4a4dfe2a6f59a4781f7e85fc1298a2b38352d16ddbb039b58efd17bb1266e92e6f9c15c37e57b9b43f4c460ee28bd5621fd563ecc6ddb79b377bc1687ba22779e50ac23989f93818a8cbb9b31127042a8c583cf5e77108e52786112a1708d5879cd9c9060e20a5e8046ab1a1ca5372361ccc9b462d3f38f16e1dbc0ae544df07071384f18f56a2d223626b073284d481a00fdb96f15f0af3721ce0a44e1b58d4c02b3dbb56df86bd86f6f115e2a7b49b54bce084c385b562c77811d912aa286848f6ab21a942b96e94414a5328dc29e2c90634ca6fa7b7a8f71fc31de999f46333b4d7884183706e57998e3fa9168a2c5b16484ef9f282b4c12a547bdfc2e327fd1937d3205a451f8a2970734afb54b7eb74da45bb99abdb0331af64c34e48c73198676faddddf93967d1462c089c84d84c0ab5939dac61ce089d494d36167d87053771abeb548018d4de8a5780ead0621f0278f1b6dc78087cb6e43351894955d77cba575ed15b3aaf96ef00a4e67ff81c7567ab1956c92ed9fcc041dd47c70acf16c9610535fa49a4db90cb4f01106aac0b0c887af5343acb41b75c3496b361e1e92cb99cbc626389cfb86530ac7b28955fda22329225ed928b49c5a678f6ecef1745da07a0f27edca0dec8abafd2632bb64353516d9c4c72c712c95a563fd04ab416a52bbfbd4756cad9faa47771159abcda1996f4513764275b30db85446a4b6c09fbb64f0b0994ca53f10bb0b4e5e9dc6b10ae761d945b290c060929d1c8996f758f4bbaf32fa7a0e4228d569ddd4b76cd5e349196f716854bf8204081164c3cded223d057fbd62073f971b23bc0558acf325cf0f3492107f4c8d066f489aad01ff19a2882891011a997895903cea743a83199578828fbc08a93af88493a4ae17a04faf75ec8e914c0ed685e37d3d6e96878452c2aa08a65d9d65283b3c6130d7a31073a2cab96b8bb1a34ecee526f9d10ff10dfa107112f87162a82d5d42d064a52a9a183dd3475caaab467fd09eb18c1cd7ac92ddd9ff0717926bff0572ea38ce4da117d525f434c66b987adee9d4b749241d754ad2c1e18980d74b5e23547123b974cb1459c44376367e7945be936b9f308a56f3add7ae82f38627efeaa10efa0885fb19c02271ba3ca13f5231c7cbad83b18aa7e6b29b94b00c867a9166fa217028f712c5d5e7823d92aa43ab48f9d959420584af99f731f5a08e9e35f0166c195c763065db7b5258287b9f0d9edf48964e7be0a5c3258d8cfc1503ab5b660aec06b98ee9f97c03e5472f61e1cac4b320259b94f9c389ddc1e3b09cf169c71ed9d2fc6ab988f3b8a7187bff47782a696f09245ae8aa47b22fc5f45ed1a10d750f3838bbb5ecb0ed611b4421bae56a04f2730bf484fd5906d7c162ffb4c4ad6cb08f3456d28f1a7d9a55da65e69cc12d4dccfa8e07fb4f7da8143d4ffdd2865332118bed9e85c500cd3123d06b7a957fafbcaa4457d2032a743d9bdb48a91e90e745c072919341927c8bf139b44a843dd3830a18bd059e23f4acd5eba2aba20887530b1d37893c64590dc13dbfd26e746c1495cb3b9b73940528a6c7c9b711a62e04f6e6c7cf0e36074f949939e3ba0c767f4bc959e1cb00bb2e8ec1819caa8e34bdcacc97b20ed23e8280cc6afaadf1885776ade1b6911995d6ee13e0d250e58c3eb83d6f7eb6fc6685f9d7c5965ee14b24af69d968a33cbf8846c15da31538cba421a65fd8dc7cbcb234590152f1b2dc8509fde814d0b0da6fa5b324040696eaeb4a6995bebc0d629c87d0cb22321ff557d252f3f0607d8f2f9654570b06957943cf313353c0141b0037d3e6f23cad72c3d008034db73273012951a60f85e13e89966a890c5b46d04c7c2858293fb00571292a5eb74a88065a527c415f137ffbd76264a51ffcbbd45aaa341b5264a3da4e1af42895d35dc765cecbbabcf44eb37a379a7c485fa928af35f33c9728f18c4476a6a56daa3e087749d86b4b632ec42adb78191746d503e8c8c52d60350c93c9773f9892cb0cfa7a039afabc2706c0c34738d1bddb0012e9554787d73b42cb9bf56b9c972f22041640ec996082e478b047594298ea6724d924b0952e83142810549239089e1410a8f39fdc356e5e795f042610c5fad9aa7a37d3352028c7e5b36dfccd8a2d63338edf36c987ba747301f924192447fd8f3307f4a81c32f3d83a8de0cde49e07402a0761ef88d5a3d10ed20ed63053b5c92b515c3b0806ef6c6f1e5cb6d168bed5f68040e6ba475a0bf75ebc504dc4627b5f4037d3c2f44f1ed0cc69186dea43cf47aca2e42ea5c24a689f66fd0670cc493ec636b7ec8b7a2720a504242df9e06e515c112e10499ef5f06137537f0e70a7d88333a33fc3f856f743828b17f997c25bb0372f06749c6712a4cb189d48d9fd9ec9324f318e480cf5b54e45a94a07c6e5277d7f9626e04d8ac0bd327206b78e50294c21e681233d41a13c907031c1b88061830cd86388929639d2300c9e8c949f795be7e25ba2d6106a89e207158548c61f047736f745ffa444225b223d2c0ed93c05be50599f1469759592fa981c5cc45ea8d44891ab2aa738d12d16b1222ae3e01c3ea8abe9b3025a8ecb9c47d2911fd12be4133455eb96eec26c2b457d43e98fdeaf51a69e72e087ee0759ad31aeb2e7b6e92c5f398e3994f4fd1c66d55a23ed1ed3201eef727bdf5bc8eb0b7846ec04aeed7fc80c1cc62d3a0e187c314860d95fb7adc9ea3cd68b0be28b942457406892d8a33772a64642b75d883e2bea176cd91525a85a7593464c62a70fcd25e23191544f452b0db34dae518693c94147c20f528c09d73a3cd015affef10068f2808e0ac3d3ca82998c6d8b9ec114ccc9cc4d01aa51c8b54b5112cf9395d197016624539490c5859e580e4c5f707f12c2282301fc80c2239855f1db58826387b244ba33b18f05a85ce14df3b4cbb9ab66e6a45569a9e687a869a17fbdee5f7abc9cf509716858e6fd50bfc6f106366c3eca887b996eea8cc76cf6e338c9c9fb39e9eadb4a9ee09349ee6fb51c3781819b089ed63eb22010da811d8597c4b4c587ad1d7622c28ac185c20e2a1bd34b4751ce10763188f18840b96e144bf47138a22408027edb3e57ca05663ce4081d60ab21f8dec4b713dbfe7910cf84f8eb4d899455f695c71775b8cbb82c5de37b436c0de1c86fbcd792662ce10d850525f7321af4172a438a34e521c5d09ec03754283d16371b9e5b3c607ea6fa27169145663cb141912ab4a2856d0ddddac7175d21710d44dd065c58b11c3e127088709669d5df166a5abf1a99297d2ffca7676e6d8031faf462d3fa041f6c826972cc703e36823403e1ba11b194eb2d6050f47d4713e34a06ec52cbfbaaf92fc413aefa84527797518257f1d09d3d91cd162eb0a3edc8efb4ca890491c788b29c9434c1f05e77c06094e65e9c3e8848afc661f3ba6de26f5c6a8a32a82f34a0e24752cbdd3decc32b49b03dfbb469a9ca2df662acea85d79d1fe31506bd9f5ec8c75dce9dc0c26c6dae3f91fdfcce9bbefc83425d9a1036eb389f4857891b8ad084af747ee46b5c956474e17d2e0e6885e028dec2fa4402ba5fcd047df2ef8a06b32ecdca00d3d0a74fa6bd84c007f3a2d09f4dd2d9dfee3837c59ecad6185e77a91c4cb3b18121c0b8295f17377eb960a5cbc05d45319aa5b5ef01a388b5d71de56c96a19144313e4c8d9e63818503a8740fc92a52e70cad12f88bc412c1e5bece7ea8ecf98c03a773aa5f181dad19cdf8a8c93e2bc0e59dfd2b3173897166658285436f5493c41922de0a90d88241578f512d83c0566c929c59d54e7ae878a176d4463323f4e88ca442f13cad451eed2ce94dcd51088afb66300f17ef34dfe32cc847281efe48a171ccadaa77c15b681944386734c7fe1ca7a9df47738ec22a5724ba353fde959464e247ced3dc02263a57e8381e618db011aa9c703c7ddf0f6d5773e374e48d91f7ed00fefd8e527c7ef7cf4b86b26b54acbcaac034a6b022fe07f15409ece2e7cd86bc959cdf33fd940fe91f2078c6e4397ef8654157d27f61d77f726df9766a84dbe6d4678ff2807b584d9d94609a3906725b90978ae853afff03acc054300def81fd74f4bbf52ed5363f6663a200a9e26bf1168c23418e3330d41ad21ac2ecb0ab54f0c72c5fb56362b0132a8928c6aceedbe04f8f9f8af8ed6050bdb61e9430c29e3c6538fdc93669d6a6275f46b35250b3fd69d1d027ea3e578bed3098ec4828a7c646c5fad7eb5081de55c14aea5f3ce83ecc1870dbb966e7e56f110336ecd638e8186b237ca958072bf6f0276e9cb6e39cc74030b7101057d032adb314a35dbb189ebd704dcdba453fd9ad3256a9bb27c47888629ddcf1969cc6cd7d753175908708a147b840ae3c57eb4dda78fa1c3978bad5cede32fae8c8b9b7e95e097c28bf2844cf4d8b57029a85e3c6be8d8e1bb23a2b1c22fb0431d39c5b0076d82c0acf530657cf3bded12e82ce24e14297960e23cea2d862f23d78f5eadd12fabc96d2aa3a26acc8ca78e20e25ff20e16e4e6499a4df4387d9c637a997d1fdaab1a0dba49f706d42707dd32491b9b835f92aae3469eb15754e51b2d69c93ac68366a095ca64018cb1cd22379eb5967c29856dcf1080d8e6ebac92fe8b20a3593bd386f6e4ebf1e59fcd24e13a08d7356614f200fb1d05a5046791356784ddbd385f58325288360ca4907bb5fe0327d70b051360ee79f982305aa27ad9c2956361397022da3841f54cdaec8274e192f3303f4330606f8833f2103cb66650537591da9100c86cf090de51fbe1c45b093358a03f4c8a795ffaf2e03ae9e69ff0630a5ba984d49334673f3c0c9d74d804b1663fe3bd87d4c5fc528c1f23e38d7fe8014781d880d53d73e905b8ac5ddfff11f28f88a6c0eacc8adbd369d0995da0437fccc84fe4aca05c2f410dadb597f8dac9f227972246e094d0222be93fb601e573f9cf91ff73f6c5e39f0c67955b0942834a68990bd6cf9e036fe9adaf6d82e7edcd4b2f1d85b474031ca3110089880131ec08521d5f0948cb7e0b529b3885a8d4220ae6731ed06f63d7258bbd604e7afc01b4eff27938f4df118acb4a20c01eafd6db8d74341c74376c086d06f373cb366f0e9dde6fac0ae7e29cd0e07f375ebdd4f3b0b28879dfdbcf04e84cca31ab209d60010dd6e34fa37e9cd76cd0e134c89907e43ee0787d32020d84018772335e516cd1336f4025fc876432ae511827d3070e8ecb8ac8c00a483af9128b41cc99bf4b95797ae662e6840deb3af9cb4c7723f861007ea23477b02c6c6dceb7ea7ae304c25cc0e6ec845deaae5ad36bc85bccb37461f6aba9e9ce02808f600952484f29b774bfdf0ce2fda3b987ecaba783882289abc757d8ee84e21d4a8829bf22468d9b711b4a2e56f790cd6b2b5146099b6940ffa3605aaa212b4457cf5949065f848000a717177ef9b99ee75c6132cf82c9edc26e7809d5e0192d04b443e9df84560577c92216ca7de22e020d6aa711bd9669c81013174a4c195272891ed299b8f3982692b3ef9ea5ea86000cfd470f713fa737293b6fb8e05f426e541140b612cf3414e81c7d9a726d4e564ad792afc3fdf8e1166a3044adcd0ce47729cbbce63284904488743a24ad41b60d32008990c1148c04b0547db80ccb717f79feebc8fcb252a0317874d0d06406a44f57dafb38685b49dbc97eeb1fec81d0c7898d77a103703b7323753a36f2ab57f56fb79da000a3545c67ecbad7d52f1a7cb63dd6121dc7d556400f629af83e3ece6227835f2a078b4c1292530aca54c82b2acda61be66fdbfaee45b234b732c56b686450c55aec49b1a99b28a22d8d83a39c82e0ecfca21b8e294e4c109683cb74d5ba36996b4ef21030c0b20deed6f68064836598ee1feb2045fd237b9d990d3cd4bc5c14c1a3c3e41aebfd0d40c268afc4eac37c71b68655f132bd3410babcc40bc0a3c1b0c8a6af9816dcef0b5d94724e6adc72724dc457409d3e10f9b511eabbe45f7c2734ce827dd797c1488569f9719c4b1be9e05505450d4d05b299e9b4afd639b164eeaf30709671197818ea69e9b1e200f43a65314851aa01b67c87509622bf0d5e428fa30592b2ee9a5fced8b5f5d3cf65540132ef79cbbeec46870fef59760bed842f53e85fb63fcd0adfacd0f93ebee21bb68cebb56bdb4ddccc93c192d5d81a9ecfd13c7875f01970fd6458e6c0461df483c52e1a877116b96dcadb0ee3f2cfd3b48c79a70d6d4d8e93547a525445294f01032437c0f8fc7677bd423198bcdd600a163c1641f03adfcef75ae0b3dff1de07c90173cfcbe7a2f5ffdd5d60a88e07b5ec5f931505e09f34dbf99e038a708c8ca40d7a25376175fb5f62d16f3e87801e6783e58ef362af39e58c643a73d4bf99e1d3374fb817d84d121e48cf7c928417f95cfc15f1e6860cd1a6b861bd052c3ae121905522d3274c0d3e20209ef8cae8338228a6d57b07599e22ed22543d298c8812d38d28b599bf0fc7e030989ee0c9cb580682a981c4b00714eae1d11dc9cae81c6d83abded1739b4acd40cd0fc2a439398f39e862a1a784fc4f799384480a7263d4b33f6d93f65aee4db93b5ef567c9a0772f0407f5c1626bdf6df9bddb65522b87d0db886b889d2bce1fe86ce6fe085c26c728c761dee64242ba4fcf08cbad08d30c37fe7faf5c454242c49aa2828223ed4c76cdcf74e298d9c80d94d2232f661238770a62c1624a5a6f5835e246f1f8aaf6b4ede7e429bf682abc3abf4c85279450e80537fc5c40b76304ea611aac3b1ad8b0985b7c1f2c47715fae44effeee501200fa2f8af2762f295a371d9f14dba5dd3d8e50972644efb3eeaad67dcc957273afacc04c1ab7ff586fb3f465f8ea951b569f45445b2b21667731d2324258f00e74db9e2386f3de1f13b4e5bba084bccc90fd06444b19a7109950be8db9e40688ed0c42875ddd7cd8fcf20da2e20482371805ef0219b0087d71457d9561db7264ce9461fed72075ca8fa0153c7b46f00465809fcb524b688bd2b933f9e26014f08ff0a2cfc03aa2040f3aa6f190c0380293a574c90f1c5e7ae9d53a00bb4262b94b97d5621a654ce48299105a93cc5d6d54631f9dd881eca937fbaa64ca5b865222a6d0a67f52f041a9e688244a02bb22b3ca22eacabc34129293ba7b475d1bd746685b833bd8da169ac3e3ca5d094789fee551203221a2b6d038c0e60c929f0f389bb24d93ccd3e918e1dd3b6a8cba621a0df5f7082047ec1eea0dca1aba0f5123b856a615f4831ec5f75e9c49fb6601b5f31538ee328260d3329a5143acd1a5f057d2ba7de1ce867111a8956b8ff99884d608075104bb39631d425a5f4d54752a09934bf1a417840136e38f7f1e362a25a14a12f654e7b742580400406f7694113bdcef0629f5d316b5f642021cbe1597ead8b51e9fdfdd6f7eed77c52afa80e8e86a8f44980c9e628d449f72eb0f241f209c69bb1e5b4692be48b7e6744bc82ba4c53e1f60573f475a4fd6ae736a2601f46ce7cffd959cea156458dc960a4a77c64b403aeba2b3a7314f8e3c9cfa152efe6aff3458e9f37337de66f21ca88c668f5bedf348e34a609468a050405cb2fdb12c39fe4b99dd31961a5b81517563846a3a8d8d4606b9fbb789f78070bbc18b761cb36a3902f16c99f2be0fc4c3f39193025815edb7f3a40b4b349e2de0105105765f1e1e4627c130d6c408865e1cb4aef34c5a8bb7ba9382eb8fc30750b50fc60f756a6c9aad19808f4c222e5919788ae04f88c0278e2fe500ea514e60bf7bdc0757f2a715e241f1faef02ae0f8e57f4019472fc09124b11fd20c6b6bdb1b1e6e0cac919c979fb54812f180f5220070703f41445ad254434425c402dd2417cb0d2facefb974080e8ee86f3e83fd4963ad58a2067105135f4fcf49d31c48515a75805f5c7099f4a717b121f4bf54119c68a41387bc5268452b5dad9abf46d33588846092bd20ccd0caeb58a83e2b57033016eba76b7bdfc1e6b3b3ba57f66313eced65e23d04e1cd2cff4843ec912aff418ba8bc062824ec265e427abc7d63d2b071cfb236f3a46f5bd4d932e2d3fd7d2ee9a4befebef1291379098f21857f74daf89caf5bfa181bc0c17d7127c5f849817e4013c0690e3b88730e0d48f1a3a3da11246a1309bc0aeb247a5d2df11e762d78e69c150cb259d54073f97b687b972d8371bed4d81c0141fa06bf32c72ecbd551c14c8e1965792c7b89dc2ca849cd2da03e79837e2b7ec17aea7e001902efe7965974d897e31d083fc3133e7bc6d1b1c9c1e4b5e2e46a4739e98ff9cd872efe1977ffe0a6ce3d335a2483875f32cf47827cbc45ec01b71a4a3f79127c85fc5009af1872a5bfe514c955c1e57d535b547e959135a3004078f4f15c107184f110222d4de5162c6f28337227e887b4e9e8b892524ac86b6470e169ff844fcbdb040dfe648425340cab2a042f6d32f1b918c40b8474682d942ffe0389748660b1d329afd57346702196e1af320cdae2c3f36d33a48b90af439d9a0092eef517d969c7868ec7a5dd69b27431e334b26cfd38eb756a84e34e410dee89be1dad7101c15c730bcb06ed8f92409b15b36a55b2351a268cc03fa7d0ea7561a1c93bae7c1fe8e798d25e5b64a6feca398ae0abb61ac3096efe44588c840803f360889a388ed4bbb04aadc13f0a80a55907a027fdfa8f8a84abda2cdda333dbdbad1c91f653669c89d945fe62155a4b607d2f721aba773f4a9614efcaa2bf011e3690ba1d74747f4ba9ef68b3562942c22db93340a485657668c2466c34d66409c7a9a7a01e9324330507a872ddd0681e342067753e13bc5fc7f9e7dd4a574a632db6d9e0c0246577b0e232d8d882ac053531003fefdace81586ce268b8c68897bf0f83199c0793bdc99709e54495a61806e332a32149df6e07f49d190e4470a8ce5ed73b655166897a400eb17a5608ab42e8c9a8d4efeeebc39c581edb4a2fa58516e8cdf93cfe87564f5a2b74451740e63e6bc07b687c0a908f7cca91cb57482445a4a27829f282f1813ddb849ef588f8dbd4284438178e7133bd7773a0c2c58fb59919bab1979e84cf71f5677c4e953a2a5cd7fa75ef57c748c7eff5f0826a34a47fd3d7ac28ab78057e8f09245b0ad2f3024bdf348bd5ab0e6f0b7a87f81c966da2591a0021519bda733942be0405468cfded4105e94863eb50e77778710c8ec736da31e5f2bfbacea202a2e6369878f0cd25b6d72f105dcd643b82cc5ee18eb3398fcc28c98aa78f453e8d64e371a4026308a86b345b0354be4bf956e232e9cb2015f605f210a644dccc7132eb6aa8216a6dc76643b7023a3355017bd6fe38310173a4545a036a67ad3c0dd7a72db0c2347ab81e2eafa9977415a936de8867a875f4dd7ffb08584dec983b235d9b2197436bea899980139501b49f6d8d85bc20f03b4e5c2bc52bb828951e9b6a38119845affe61cef12625f3245bbf361617c5ea64e05d1cdfda048fce2e04817bf02fc9ae459008b94f687627c7d0f3a5ab213e28215cdd75ad7bebc9abdabed2c3892b5b13b5ecd5ab468eb363630397472c81ca8ab220ec3c4809d067094af2f6950cda864621dd6811013fdaaa7009f7b3269a0f6ec0d2f3f1ad2ddad7755b620c0f918c8e82017d00a3179ea83e7274ca49cb5db7d1780dc0c055f60e0939ba835b9617d83eadeb392486f4995ae9d0cb3cf98316ecae49f522e436b83fbb503813f36c3020c0cdd5d24fca844f623c0ab125510664de3c423e003e57d866c6076a91b202954d5d68d79b0e4618ead9c4254ca10e6f1b11a2d01a41592a9f3f317b02a7f16739a99d6943fd5f25a6ed18a93e8935fe61da4d946f2bdde65ed9bcfe08d02987ae2ccdc93da3658096d555c9123a94f058ac26d4e68c56bc1c487e2702338b2e2502aa6bf85597ef2a041f8e833c4b07cebc2ee56e2c5421eb596de6cc24282390aac383ff969a840f0b35c9535e35f71c0afdaaaeda5ea90ecb597569975bf0c3aaf57e8913b26c0e32b2a804d585b1e2dd2a3fee42652d03503857ea134ae31504555970773c68ee2307b4b5de4eafa4563f31b2300a8d52bdebb7650c6e004881e136b914cf64881c137fda1687e20e91221a54d6f29128a4b0e16c122fb213d18929392e21bdccd79a6a40db6de051f8a61fcaec04de7a6a8cce26414426748f96295658d4c87e284dd468a2ae64d8f2bdf1f5394ff3e90b70118078b1d5bb75315ae1ecc43d143fb99e42abc3bcd44027f557832c30662a93f832f27bade6eaa816ea8ac3a3763012ec6c46008641ba22bb3c34e21d83d619ffccfe67438c6116e643e8bc1a14d991244ffba1c7a1ae517dc06bc18b2a66650ee5a35d6fbb79c911e91ccf8d1bbf21fca9d51234f7b98a6660af1570a0235ad6946fab2fb855525d2f205a88af298902b806c21cabe7e7e16837a0beb489a1340da4856d0a41e1a78b7e61b2f0b5d21fe325ed0b1dc712fd1cc4b8ee600eeb949e82dec7fbf97a7278e7660f1fec18a3bcbc059e4c1c5ab72f08e5786375f1ec1ce0437343b14504d3bb7689d300c59f0728916ab99ee74192b95d1fbd1a2b7168837f47106aa8b5a3237c958550b934f23b19973fc0e14d2dca349483cc006cc9499a185d20bc505cfc268967dc1b1e94fae4d5a7e509b1a8229414371fa8b25fd30d28c01e34c43cf3deb9bf8979eb3665a14240672a55e541dcb59f3d95ae8e0c659a2149a5ee16112d645062f39cc2d6b136097769be2c522bab1ec60858467cfaf781f2187179080df602a3bf9eded6b5d6bbff30b17968373a118088f1ff45081ed672b0559e1d69f98d6b4b3db9abe9d9a86e4f9e0485da373a5981df57c740932b694229d2bc78e765550b1cb50ac62b8f3ae1631f3c917e50289ad046cac4cc540a22cc000355d4dd293388a697c1070f2f09aa32bf4e9a57f1ef221ef6aed56326cc05eac59ef474573c228ac626eb08492ab74caf6c814bee10ffe3a6b2e1a0fd7d61ed86fd9034a88ac47b5d63a448e87d5a89f11d6181ce30b72b3ee2a84f7c99cab08d74156f68e1c65a2cda264c7b736b3c52ed0dd2a9d1f37e577162ed1a687371ea66b6ae6b4c789fd84ceea29daedd0c230a4c8ad83ad3000371eecb5306ddd56396a9f290212dd8a267777aaaa3afcaf24cf5e756191a80753d8e43e42408892e9e07b5a4b2cefd014a6290074ef6c15bde4a562fa244d023189c67cee65036c951a7211fb2b9368fa97805419f31dd1a66b6de538b822414678825e85eb34c20df5c0331ef85902f67099ac2f67bd9149aa0e87782b2c9cedbff13176b5a075f6b35be26789da6291a53c9e04074da11f2e9c944a9a26d415af032b1572a3caf61ed3e247e56f892fb02285093634e73a855c76a9249decb168f4528599327b9a350b9853c8ff3fc53943874dce3d98d0aceadc9148862d45b385b82c587f7d41b534f0c0b18d3d11f0dad5f10b0fb91ef0e5b300f6aaaaec1d52de335d293697d0d7b4eac5890d0f5b92262709c0f65597be7f48ececa35ddf36ab34c28c8565281f973ef91ac8ce18e93224b3471dbeecb13db33e1897a5387570a0717ab823b0deeb53bfd19a09aba0b09fe5fdf940ea240138954c3d441c9727b2f0949048fab6dc0687c4b873a94738285db79db943b0cbf5c8c4b58ce4c7325b2fd80b67b5f3392de7d122f62221d983be230c05bbf2a2bb69c182bf6a13d386a07275821f705ec860e2fe2e8c99f962fa7d8b1b9b0ebe24ea88fce7934cb064815d442b1b35803a88dc3bdeb91bf5a3a578019521ab1aa77a52ef3697809b67e25a8cbef10b782867552137881a4b5c5d907003afd9255e986a1b3a40705af6a1d066ec0b9e7907126f4de18a49262b49e3d0f6e4644ac059f241773179aa25e46d5943fc74e808b2a20a7739d665a0432bbbfb015e00aa54c7550da75fbefc50a00bf626a2c77b211faeae0e8ad728866d55eb910f733f4bd818d0baa919c39b8fee9ea2d495d67b043dc2c265ca4a9d6bc9a1abbe4c196b136ecf7a56612704612f7f6f2e352fe798da326fdf8b65e679592cbd69fcae4eb2d12157b107d2fd458928a1b248db09270f1cbc83382e075f0ee191f20953749d6536f20b5252437decd5bf5c7b3d3a6eff3ed775b50a513ba4a94c41bd4536ad0eab71fefa7095720cf6288f23ba40d5251c3e30495cf77fb6d29f65870be6d7c68ed3169ef587b69378338f73143fdbd9d286d13054fa5dca872bea85fced872134ac7400c025e252569787c246c93ca604ec385001b35c1968d68a0bbfa41450352631a358ad23dd909ad13904a44b5813f112cd724171077c509d8d87fa87ef8223352ef86d060f3db8b82d148ec4c9826f701146a47c5daeb87638d4f7e23f13f371edd098f9e71b04f9ec1d47500551d7bbe36e73f015e9de354e2e28b9b4a0cd288673a6d632ecde2ea2817fdd41f9389ce55d72d9a1c9bdfb243e3528f7a7c270d6f57b1cf8441ab6cc4e536b088eefc05b52083f90bd0668e526be927c884d419d02e38615185a669326e5b3022b2c3f8f27b56bc53c0adf484ca499d09e554655af7116b3bbbb57c43cfc194069b86eb0c530ad8a4e26388ed8e157b19b579b8496774a1118f06c304ddb68ecb830169804e2025450842276782942f44d839a256ad6ba4f527d6c449c74cc70cbc0c1a60e65f37438f7cc536c8cb7838bc05560a4714fac5ebc4bf3e76d512fb53e58ff91d5231268a89c852a3ce1e664b293f28b76cbd3c2aa68a1b7bd7d579ee566c05a273e2cb234f547260a43ce11a1d27d44d32af1f31870c9012081f525c9aa216ee139a8bfb8ae69e2721442917851e83064d47ede4d3c6f4dd1b9681f429821ba6da88d47c633c46234bd6d73a576bb8ce1194dceb23684d41dfea9b5aa208061e2fa6d268b8f5606ee6f236a4e3f1e8c4e633446693e2e8ebc06661ea4e1ff9bad35523dfda7457e304c872b5adbab209ea4bf69018975f6c70655e0b7a0fc9242366970bfb17a099a07021ba5ecab0b8f9af2658f935f25e95c0d90d8f8ee93a1e475d8ae28c16d7321e0991eedc0c0a5cfaed7d374fe52d0363aed8ee12aa4b3aa5cf439fac4e1fdc0eeddd62a9b22b56b8d3d0a60aba1199820c34f5d5c5c684b9cbe21b1eff72c04d888245fc5be9ca1e6e13bd1e11ca95e76eeeec3c11732a21c4074ce34784e24a056454dd70eabd535e116a04dd90be7efd29723f743639ad18c6565492cea290cda954d67e6c86b37a30e3a1e094c63fe2597b7efcedd8c7efa212439f9869b6bf591c034229802d0f51ee420accf9921100da8ade87ce87bbbbd2e12c8c988bcf042f6cfd9e405491160e9afe18675c1d955ceb0975d61581078024b95facffc9dbd2196aa55b46187d5ea02c51e2b2123f2d6b9e8d9fa1b514614b6ec7756599e194d0e0520269efaf89e0c87e083ef9ce425ce93b62dc975e99e72ab39c5b887c12069ad97ec1709ab189c0511d7c37ce0016fc2ce3d935b24db7a13e3c0472fdbed6603eab12011a80751c683e1daa9065c0e0d8a0154a795a5a4cb63a6348fce3e409c6020185a7a7b0d4341a2886706230a86df4b2ca1088c11857da5c06a24f4baa11d0b8b4659ffe59896a83f6f06c99e9e77c88dd41a5dbeaaab539c9c2e1bef53c48e34cf72c33212df407bf1e0933fc007cae8574f0f077398855726d011fa6eee060e6383a3476dac773266ec521daef3d2deb0190d50bb61e7c356df33f586fb66fe067f1a1e0c976ba7681d75ab7e0f76de1f06dcd69d113f8b494fa5e8ea92704603ab683466cbfe57618ae2608bc097f03d8f14839584a87208307c9bbed686bf2eb06917991093ec457e56495911766c8ae1d7e1d27c2524056c5b9dd2e8c4cbf5022212597bbf3b02e04cb94113d6bb59b6c3359b362b5b1ed8d890356310ac00e3625fce4d66ca06a47465fb8a4681fd401275ccea681fd75c32b5538f71c61e9a4789373e9ef49b252c8cce566202a4efbcdab994a4e972e87cb1b77f172481c829d3239c82c23be6afc6d815136be9a0be882faed3b39d100c0d0e45479710287f3016bc0faaf60db22c234948780943c1aa69b9456ca7cec654949f356ea3b37c4b38bf8be76328f3d74f00ca09c1e9a7aa369e6484c119ce91866e768a36b1f5bf4a17c3ab9c3329cc18035e691b5b77ba5adab6c2bb498a9037e261e99503590276abc721531525db6a5d8b61b9018a6aca859ec84c5bcadb5d7d943a0168ce1d3dd83ce64a6505ead68358c38b22b3ebe45ff0a03a6065855ac6137fc389355a815dbcf665d9ed9782d9d9a9197051d9d9bfa7bac3c2adbc874c6bb760852dcfddc1819f72dd718355dc71bd0afc86dffdf5344961ee0389be1dc26ef14405eb675899d9e64d7205d974dffae3e21b297974119ce54f92b8bb1858f890a77d85f33ece6067d1d3f0abe6105d33e665eb80925068055bcbc7a1d0065a5d4f0ca0e191f9ce24cbb62c4c7cfc4d475161a86173dddccc59bd7e4480d679868b6c6a85f002583966d032749aa0332027baf6968e6ec28140522181c0c17578a9f7416ee6bff143a5ce243e14f452fa74b49e8c230c6904a5835ea89d1832bbb4ba1d18f15b55e0b97c373150baa1c0b2d0d0c5f8d9bd0dd3b6a73ab97333948bb6e53b3537f30bc442f2d68cae510d651ecc73cfad51417a1a865f3a4cc510a5b6e25ef4238ba4676dc9f6c56894c199417f93c1bd9f35714b34d4163ba27f6f1e63d06df0e5f1afe041ac05f20d5801dd9a9176c66b10b270b9f51ec53c22b818f1c5b6e424389d31f4fd3152fac45511067207406c5261fad3b5c562ad73a9633d616c98b6254c53e9cc438704d71a581149545943b8ade3157e5d79db25170b73192d526efee0a3f8104dfb70bc10be451d01bd1f792dc748ad0a32fd697d8f9475879b57d8159f3eec3927b95da265c19a93ee6f19d0673c1d677de5655942276cab463af224e9983b0c1948cf4e33951c981af2f1112e92a67f405aa57664e5a44109827d4703ec2d56015d9cbe01a303475c9cbbbc8a4ab5754785fba1c84c2e45252c0fdf4158697a0406f6dde399b0649697e6ff80b327037c61218c0398491d849a4c879a9dfde9645a40084a5aa2b090b64e02880eb47270aeb624ef6e57731177ccc9b95a0b2001278547870067f09f52f7b262cc2df134013a564a94eab2f34cb16f2fdb8ef2b48bec7c1641955ed4620bc3e0be417dd4ef888aaaa31b2c05b2f68fad21c5b474c808f8026d0f4210a7f58e39a1733163c83563c137826e103c199a2860da46dfe2948efa970ebfdcc93d4555e682651144c794cb52503b23768f4f8cf8057e1ae3558aa3b0e327c367c057f41f8fbf524ed5b297296aa4d17cc9b5e42381ba733eb6ec5843e14a5fb5b7ff6e758864c85a08240cde010db4f24b510bea3bb204447034969a591e61b8b9e53bdb91265c0090047429d1b75646b4ff8fffc026c635ad1ac46f299f3aaaa62d4fc06c3e4ae1c049a1a89cb123fd077a3bc32ade78df76affafd557af76d3f43ae6e778e34c3f562bf1024b26cd8a1cfa1de8f4312ef7c6e360b4f9574ac4a4671444204d4a4c32713bb2da28eee868a7fd8ee493d4d6e692990f5081beec90c3aa8828aa53a6081948cc7dd3fe77a27d55124fd7b807998288f6a0a465be250980781ff2350caefb7014ed1e2b18f842a4ef4293556de3057beccfbebe8d2c2a3c6e72b8309ede40693b62bfb07c3fb4afc4b3ec57bfe56c79968983fbff95c0b8eb8b6f67b617b17f4c85161183789f4af993e4b41d9a0b90759c3725b14d5b55587f3b3cdfb057f627a6acd6a27b78524ce1c9ae9e064e0d96d443265b21ecac890a74be9067a69529819dc360bab447bbd49e8ce6223c4be7693ad77a03072143711b4063934f754b882691d37e7279f383ad015ff213013f6c7e9f7a16a5598deefd03333bdd94b00d7f9dd069ecd3bc42352fa2b6fad4ef60555feb52c80d34bf330a7a26240c80872de732179a44befa89c72820226da61da68700fcd16dfa703c0045082071ee2f91169c5efe286d6c5d61ababf8ca2b1fa2fbdf98a5fd10ee59522cc0f199dc162246e8495b83cfec00718067baf8cd46669bc3445ff36533583d8686fe2f035f212d195dc96a2f9120f5115dea955d330b841d9f2ccde791ff8afdc0f61a04101380125b1b895a774a59e41b873e48e30bbb24fe603583c801f1872f812639452bfdbded07354052f2479a6899d3ac2cadf9feb27af57367ea7101bb83f450f1ca870da49f417acda7c9b0beb264e6367157e93a8de170d4058638856d97423d9af0bb6c483ec6cad06e730c95c110525331584e56d18e08fb5d35c634cd31b08ae1c7669e4010d73504eda264695f246cb47327705161c774f6245020b7f486da711c17ce28823196ad3572cfffbb7d36e49ed936034ee6a5eaadbe946853fd701599174620dfe0dd5b64f611bd45ce713d8cd8d8e485c0aae424b70f6d59dc5dd8f8b677acb17b1bff29cf09fb8a3a899f5643fb601d443653065248f88ca74d3afddee5bd8a3bb13b2f2539c0c5641ad820ae3b8eedc783887e51bf7cf7415c854fdf0a5aea35e83b300fed66796b5d8a6edb45df90d7973be525ab3948f8caf9635a0877231310cd8b8a823e68c376261373b9a280e61a40340f6694f52e3205a7232854bd577445134804fdabe27f73ac9753b4c24814baa98bef77ce7d04a6244a40aebc5792007b369ce31750986643e8f1590c39bd5f09dfeee64958f524e78c4e134bff377ffa9e30967c803a201c00a355838b636625a8bde78e863b1a5a3745662ad5d3900c5ca6a8fe3e9341508eb3a9a4a72b07c7450e732669eb0e60f62a8d740faa397cbd94f94b44afe3f79205c3d51358ead8dc1773912a631f46b375a6eb5d45fa009a6e51001bb92e257d44dcb5e7b0b21803c8eb614f77517cf8de98ea4876aa8086c378751710db2415e58cd7fe12fac77367f63414bb927eee221e6a89f939901e1b717c0d0f67738c30a904f2c252685b9ed14230ee8e9543a5107d7f5dd7324897e654ef8757d7021b57c5f7f73d48014bd341ba3b870a11fbdf3a1e82dc382d0ec7370aa9b2559a7483d27c28c2c9b922eb21e7c9697d6c2050eae1c25770f35e6473941f21457298e1efcdf4ad59a27967a47f72df64d193cb337d2dec9fff45ed4c7ed7859c884f916ff79072e38214bb74707cd6f362f48e5a5d4a00b02dd2d933d60c79106e5811ac08c806f42c8e5157ce9b65f34021909b1ee447bd142ace85873c659474de1c025f497764c461836715e16263a52b8f56c5db7cc2ac0579d952952b05d7e6763276481e49372100159fab7e864ed09aa825107d2313ac809ad6ac69a9723d303713f2801b3d7114161de915c76c0576ebae9b0915b5daafe9dec8bc95d5df2c63a118e64950ce64f2401dbe26b1f7ba919e8f5cf15c2755889acc28499f43a53626b0b6c920f3bb9d68147afd6397bc9dc413e48259e5d6e3d168f4c0b08d161dcfd2c17fee8b9a5a7ced4c0ec12768cd72d6a4cc200edb7bb9b7ac7cf285bbed90bc3f6c56046118e67839dc2096337ca57ea5a52678397f9b85d7aad4e4d138446cb0faaa6dfe9f3d2a4dea72da9d1f6234af7b1f748c5ebf9aed17b2529f0e977f73080ffe2c79d9394833eca4101b279061f61b55b6e1c9d0c58b0798ff218dd4b608e734b409b237ca343822c6dd98450c88c05fed6427389ce84ab821d57442ef22ad563d23684abbdd275027fb5c54281239cdfb2516eac7e684edc1c67534535552d7cd430ad9b227db200259f7381f39080d8e6ea8983a606331cb6b66c13311f2552a72c7fc04c8ad4042e83525a7c89c6b5e33f0eb2b4c3075492c420ee228f50e20c75cbe4d2d0ba0b58704fef2b3c4c80537acca63dbd80545b966672f6addcb4b3d021343cf8efedf3dd0e5372ba34f5de94cba9e3d3a7173c19801e1db98934eec0e08f3bd0226647fba2dfa3d56e59c457731cfccc8037fb3f9965cdca5095b7e6314d4c2cfc594125efeb920a67c84cf079c3bba947aa9a26d282f3a80249f6f4eea0692eecd96d2c640f9a672f8eddf82d09b0685411de3a46c2b188bda35fcd5047c9434ab79fc6b6d86ba5cb9aec3689fd1a1de3f1129469afbdda1a61f6f58cd2dd02c559a2ca0bdb7bf5298b40b4cf0d1e52e209e0ede1e598cbf9afedad42ec6909d4e51cda0be4b7059750868971c3085be470d233364d5d7c4cac066650ae0ed9e14f768277b4b2c230e4d23d149965eeb19ae3df5a30eca9ec006dc4fa4030cae5af7dc9bb19befac65fe72e957e4cd24236a060f2218df40e7900607809d8d86603ffa35829c5f95dd3047c4c31c4dd97ade18169ebd41cf7d79823b85554bf5719c8c25c61836b54402667492ebcab6f0c60e31fe9a5831a99808ce4ef804c4048d8f38930b5fbd68a600ff8710889d0d049135825b9d23220fdc0f8d4bd7fd28a33522a8654d21f24dd73cc37e376e07675698c372c1fb29eebce20b80a932172a1f00d38c45aa78d54ca2a33b5a55f8e3e6566ca0845e2e323748b9d38c133468a4614b487cdf9fe151fb709770016f5ed8bdf8698de89d331feb9671a0b5a14a163c172951b0cdb052d52260e7b15565d762ea4961260eea6a7f0f564edb8c00e58b454c5aac65557656739498fb837d08f952ef109791831304a508cd409dd0d52ada9d89774d337e1579be1477ec17b0c16d4ec9e6ddac680f3c937479f14adfdd92b5696388eecec68f0bd59756bbc1bea33f002bd082b654fb1efda99d973bb6595a8bb4b61783509dfcf4635fd84714465101bfe087ece8b139b99b5f9e007975c5b3c1c71eb9f7f8213256095fb1e220d2ce4b5861177325318dfd50e2e655ff5aa447fbc4e07c50a294c6f29188b060fff36bdbd36a388eb63a9fc26ecd07eb1416bf2302b81c39af889e8282f065095d171d9b4f17e01adbcbbd5f6ab22de2c97e11599a365b4dc47a5fb781d4231e1dc06c5a23314e68f2e944af63e89a4de304821786c9e24c407ce5e8fa0933e56ca41f55ccbca0824d2b8057f87bccb8f98384d37b765b2b3d780349cc10d64a6116bd2198f6994adcebd50b8670657ee9ae181df7a09d2580294e25ffd041870d5f25a982e02ba0d86013bd0ef019c33c47f97f366ac8bfc1e3ceeac4d92a56d90b6301efe3b208305abc5d827ac9cccdffb152206ccac8e84857ea26244697c7097c913f5de93eca8c5751232f4d6fb77780595a11907bab5b2e8ed47a1528b7a1ef0fc1805d56f5871d611e4051f0f8f933a484a41ecbeeea6724d7b8f6e1a119438c8f1b1b618dd7e64df139b9e0601d3c8e44b87984aaf7151389657c34a1d4674efe6e0e10098af2c3300fc0c55550faece652487627116783b50c88cf116727538fe2d8c88c6d5fca8e4645aa90568d335111b54c19df0233d3ea55198fe43cad616244d48b7a43fa133b9038ddf39af20d5ae8ee5479360f3eee9eccd8de46e5afd83c507ffdc7d84852e935cc34abed92c53e07a58679133f3ca8daffe8d5a6baff0b02e237cfc03e64f23a04ad8890c4ae9f5106559c0eacae0ac0eb2019de3fef1a2aaaf5c0aceec682ae4b5b050f22bd9aa54261d0ed70ea506788db88c3b03c173d6a7e9188439244cdd4c9ce304a7bcf1ec9c9af7d20d3004b69a96d31dea0b5b73459e9b97661b49b733f68a7144a1f24d48e5019b6a0b92732c789e17d44d77da9df3851953e8fb2cd7701cba520cc1682f3b8584860b5634b6c3e793c61dc76988f6ccbc8b4ccad9aa524daf359a1d43c541c11db4e959ea741a6796cbf6e030586da4a4682e99c06ea4cb241e250c6a4e59c635f52a046c1c03b71cb014b8255102bbfc421d54b77da61331aab515f9b136373ee72dfe323cca8ffd2d6c6a6205c3e395152256dd345d27f92f1e17c6893c445187e2ad37f6ca57d35225817e630d28e156db47c12483bb6826c2628f96d902df55cd978589d2cb5d1d9e90e2e05aee937194e6c97a6427fc246e3d217764ce937d168495d425cfe21e3736f01da012def646c732d56c22be2a7b867411be02a95589eba7280e4031ae92fa4994f29d078ad619c6e7157953aae9a142a49c16dc0b91a7489e8f6dd643e834ece165708e80b7d64e618a9a6fef15073dbe560da1058b8894a2e2b853f056a3eb558eb962d10e90a5ce7aa14e2b8c7927d59f40f51303c018e1c9311f7837865c63a2d198810ce971f32dd4b75b6fa3cc0171145965bae6097073c1118f123ccec408b8386573fa3fd788ee27fda62a52aec3f2b1c90f82bfdbcfb2584e8968e4b8515b7c31f36fc7b6627bc412492e27d471ce1868ed65c18b11893dccd536568fd7e57892773b0d5dfee4eac21b1d3abce47ef9f5247190644912777d4aad18ebb3986910610606405f65da4ff3689ef30110f5b7392bc64dbb835cef8bd0acf0f66b2203372d4ff4cf7c0efaa20d2e047db74871c473b5b7eb1e27581e26198e46557d6c74eb704c191a0e5a4872870a81730a1a7846d2a24eee66cee72184d6cb2a7d248bf7adb4f8eac62d88a44493e91bb8b8a6e7be19323762d4ae9a417611c1b2378adb126c9c8d79045fe7bf1eecb475431c4235ae95379b8255c6724f48d3b6eda046ee80ebcc4da013ef107b3a04d34dd282dd93caa20c2e944373d805244cae9920ecb65b9c236bdfa8672603f7f9cdb4b0c0c6066e5c37d0cd44172704926553f43ea527968e45253dd544a26f9dca03853b4069783b2896e65a9719f7da50fecbf109296187dcd8b1bf95c18bd2d4347d68a54b756519856d831000cf6c473dc644f2b73ccdeecf741761107556d8ad1bd9f57842c966f57d16d19ecc1a491c09e2a45471701d663790c89ebaf7f2c4dad2e5f413b3c3ed1b2710ab2753cbfb9a337064745918f8b04458f8e21bf6f8fd3d66edb888434a53eac43f9b0d1c8dfae482112874382a8c4eca9661e08279974b2ff01aae6421073e88f304626e84c7c01c528328fb2c5e29833afaa24bb353cf48bd71b985601f67dedfe03aef184a654fb787b7633b5f741117cadb8db200ccca6830e67e8a7a774df6933156b19727fdd804aee32514ea13f0b679e9370754e8bbe2f9569df28d360f4646542268a92b87c8fe7f25c1e9c563b36638bad7b44fb72dc080f07adb590bfacecf4aafd84e5df3fa93b2b3e22c1023974633e2b7da984533a74922a50dcd68328aaffae19325b1b889b20fc1a663457921438faeefb8a26dd797f348becf6c56ba594dd5076c3e83be311c8a22f105de8db253a396225e77560f2ddf2db8caae0f4edba8b7486d285790f37d753746811aa3caa8043cebb8b1e60a3647c6010ce993557d6c3b2c90f8b4f842e726972791e554668a3d2fd86c805cbad1955e0bb5a5f4c8d2e4109b687af9ad60755675dcbfdfeab3b9b76648552f0779f0e61a421787916f95736f82140fc8c17aa09cd24d033d2077663ff7aa21c218bcefac7faf2937b980b8203e5ed24fd4278d7fe6bc8a92813b28243d6261830ed5a1b30b39a8333533dc2193ea482ad7bd885ef0c28ee719c5f6f49dac4ac14464d6b85abd3619faa89dd6486a887e34541ba249ec7e1a46043f8b61cfca9c1ea0211a60deec7025592158dffcc216708a39079cc26db8432016c761facd2067d0385b054ae3a2353e6c5b26fd4b4bd92b51829d233a830c93561a6a220bdc84f1aab304ca0cb5c12e4b97a04033e185c274944f5a76a65a39a20c1f6e61e9ef5c9f4edee67307898f9fa079b42e8108a24088dcdddaf403f327b669e9bde71acd22a85c525a591e5196257c4c482579380adc68686ed3295b66eb834fb3546dbc61a35244c7ddba0d34332e9f3cacde1df2088637b171c525bc67a959d3c4359004a37fee3659882df59b39dffced03b46af72f19666b6787628a19099cd2f92ad25bc55f95a2eba34b5f8e6e50a692082c436e857ec01b1bdedfe09383b1fd9ad31644b5e60ea4661b23ea68644e68f03cce6f3af954d3a7cb14d4516086c103efa33d38af30e05c570d17b3e682917b15565d762ea4961260eea6a7f0f564edb8c00e58b454c5aac65557656739492357190361ac8b0d8d9dadae755b8d860f3e73207d09dbe676a78015549e0dd84f33a622800807fad0b4ae3d6ec58dc22b091a489442ff5a9e58b984fe50660b9b6a33da6e051eb4e30e772de9e941d8ca19a9b981c21475feff3a74baa4b3044c61e60625c29dd90d2fcaf12ba03aeed6d793ad13e24dd3e9d326ea8b5b25080099fa0a084ce787a2ab2677107b18d428298d8a70cb253d44ae20f6fcc251d83b38b4edc7b33f7fbe4d9ad2ce5ca6a7234cb0d246ba9a6e0d2a4085e6c95b93f6ba26db203f6e6e97945afab9277b3a294495b779f6bf10b92990e97929a04c11c57cf51346f0add6882c650bcf6f336d4a0326dc573bcb3f7c34ea54f8b5b789cd4e46abbb812a29e8412118e5017132bf69e39d006ca42c78dadabae1dc44f080190127b495105586a56fd6a4cb04cb664131f5d7fc4fa7387ffa876021ccf2c99131b0973d784e295edfeda40f321feaafab6a913764863f197bf4f1aec8de00ec630a9bb389502e5c6f086a9b7852f18da2c7277d9045d50c27372d59a2a542e0a329db5ad3693d82a3d0159505b95534a0bb93e3e095275cf6794c691cd4a58ed21f4ecc149b98b41daaa0889c4590b922fa965982bbb973ead27a68127b480b13535e2ce4ffe43e2e7aebc09f7a21a8743371b8b85a6fead95b5732b1920eedd520810be3cf4473666abee316bbf042d84201f24503be2c1f0fa22ba5226fe44e4daaf62063179916eac79d9de7eaeb5b95e76787aa9a2f838c3da321e4f8b26141f186b20ec8081ecb77dfe9f4d1d7ebda9fad94027fa3b5471b99199f6c7450ed1a9cf9da28394a17281d81f4abe69d3a5e04b89883f245486e71f3fdb15ea49e2fa28aacc9613ce4fcb22e1ecf02920a915258f5a675b520ed465a124f239fb2f410906935ccefe8ed26a933e1e6b8955af109a807cb3c975ee301e053974d2cc910861ae7a0f2408be89f9de2cdfb6dda3b84abed44093566f88abe477307141da157c908602cf3c0912a7c413c3f2923a2ffae58a639f906cca5801419389ceddef0c7b9f94ac4e4efc098f26d61a27949fd54c1893685bd2afcfd16135f924f316e11bf6f2680b90e8c0d50414ea1e694161a543d9350616319cee2443dd2c52ebc78ddde87459653ada51a994235e7599a4696b53053f3f60f1b0191235cbd048771835575722e0f1c5a02a6bfe34af9c2d2ab93f3dd723e508732b12c61fe1b64b7b8baa9b9ac99dd278f0d15dd8e03f2003dbbb51c82cccbf3141716310e139c2d51d9c54ca51ee9bd666db00de4a99760d8df046f4ad62c11c6b4216d201b9ebe0ac5984a82966df498afa15e9a7623536495b26e0568b4586d89a0e75d058e016c5c017053a14af2664eb0f6c177ccd2b95e6603c2a0360b1097bfd885a71ede15b65efb6f0cbb28ca568af7ec15e807bb93da83b5d8f7674df3c3d9efd52d8bbb40ca53eaf81f8b94d8dd056b546954c22b03bb872c8f3e87f16c7761c9ae8d61bc56dfa844970968249fe5b3da510849341aefb1b7e9a2ebaab09ab5c1a5588e6960045a903dc8eb87cc28d1928612015e83f7a810fde1e527ccd1b4240b45aa06a2f36a3e8e3447d1b2934b826f303749b955dd8f43d77fb9c86e6a6741ba6d56880c4c51532ff1220246930060caab547d5fe3c16f4dd8ae5c692b8788c75e81a4de3f3dcdc4a6676e0547ec9855974cec5e8c6837e2875bbd61b7daf212061aa1709c8c3b5da5b64050ca0f0b6dee61174f9de2652cafabac3d935b47f51bc1b37deb225dd5fe481fef1c1a02f02f39682e3d9469ff45ac78b6151d4f0bbe9728a7768f9da6101316b92165542eb5d6e64aac71d9ab05cfc603f756e1ff1096910ce253480ff443bed3f3767528b786b5f277706273c20bd14dfc100688125a0bfb43d6ad77f4329a7755441438d0c82f44cd51033b877894d164804953d7906fe0d7b6580ab14e94a400123bcc537b8858496e59b952f1f97f78740b4b57608500864374c21e2c07634123d8edeabf37f52629cd72cc4c7745865184a08e60c79c4419b320e89c9c458841cdbb200b41e3a34507f54ada1587cf9fc2c6521702f8433463dadd31bd621c3c6cea5129f7b4a85e2050f536be5183ed8b783de6c951da7921d4fe9370048d591626c3791fdc7c15c8c2fd6b003e75151319472f5961178e49620f4026a60ae4941ca4a66f9f793b67d799f883f0464fed1e55037bfcee08f5855354edb9f3bded16fb6bfe8c73ccad65ca117367983c6d5bd40c8ac0e89e8e92bbcc2079abe122170a2cc1e1a04fa0eecfe5bc582764ce2b6dfa82bbcd2dabe086ddbf32bbc44f76853f7179b9c47d8ddf000c20e419a1b494c4b62110eaa25cf26fbce40af2afd01568788c2a98170a80f73cfb5ec9c49be6bbda49a7153decfe2e78d04ad61fee2a7ba761f1b66eedcd14bef410ec86feee37655511a873389693a887ef781d3e312f3b61972eb706aa682a8584e857cde96fc32b11030bd5fb565abd1894cf9fa3a60e8e431afd46b271a7f441528163ddcb1808dac16c246995b89cafa378a7d66aab2cbc895eef7c47b7fd7c922059c5e778cf0014532b2112860837918a38fd66d6435c0a761c2ca42c5f43e1af0cdbc50785b5de179bf225d24d931a3774e1c77b7fadc61690445ce37cc7815903bd7848e3638ab81242381d271c4e3f28cfa16fbf212cba5049c868cf06babbf3cb7bcf04601b545e5439c9be092a3036808ce882c04a6f15b33e42aa8b317d9b4e125952e2b159885e65e61c045da0dc9db3e90d677ace37afa5f97a3a88b71cb3109e7bb21bea5b0cfa789485af0e6022e8fe85beb38a936dc2513e652eb8f3e590b314ff9c9f1f56ea481f58317523d6582da95d83457d1b5818d86e933412094f2f6663a906904ce9092a62a6b64fe5238b38e008eea1c5b0f7a343fef8a38d72b438d61ee66c0b337e5f8b258401601e301a203d8911f8fff8ca1008b8087c436157398b4c160dede759cbec2a546f91ea0888b2dec581092b1684e46f650645d89ab57facb9188e3c09eb13009d9f41a88ab01853e42e51598cbcd5d58d3236af9bed591ca145a8c673f3e203a0937bc2374be35abf7baa6c3506344a6b8c0173011b301d3f98a5558dd45490033479e97a9e7b675f47f907e11eaa9b2883166686203e5f72a62ed23354bef660f1e7a00eecdb4bad2a15f07e92fee22bb15fb83238818419cfc0d9b54f96bdb21cb117cd8da6cb947c7b455f3c2fcc39aa259a9e6059cc248e8c28329a8d620d536c4a06435e2e66994c1a4ed491d45f838822439a0721f7f8c8b0fab076c5212de4ed75176fe7bda06730619cc8a89609f7f1ec72c231dd616fff4bf02863b9cfed23297610bed8f5b4e7606ce3aed8129789e94b5697f82f156d9e1c8fe9777e64f104b9f0e4f665efb0062ee7910b2357851bf36be9f052886d2c0367b237a7b6ee48f14acdbf24aea0ff10c804b6ef5074a9b3ad659c867080e401e4c506f8dc6b307a1a9c34b3a9447315ea27f1ae463459a071058d98ad1336f6f781cc9b793229af85e6cae0b264d25088e805a9f280a237fea0c0a722661dcc88622e30cbca13b4444211cbe9d2a50869bc7f41d7af071a60f022046af500b1193714057beca7fc13d8607df00867716efffeb62950d19a760bce159c0264d3976c74fe8045c9883e214b7ce786dda486c59e0c0865fd58fc9062d85f675f7d5e237274076341596b627e1abdd917e5ea584eb5d4a1bb3dc827c5fdbb8c210a94cb419d00b564753370fe20b7da478f2cf78c04dd8b493e0c44af722e94983cd40a8aa3a35b476fd8dc14473679ee27e4fdb56a15e3cfc221f055fbbfd316fc601f692cfa8555586812678a184c01b7dadf8423cff26477ccf00344ba822738bf3f7d0d4290373910e9e76360a0105aaafbbfd3f0b3157a0badf0e9d756b856bccd1501fef89cd7263016e58404f48cca47cc0a8c64faf8a3f7f747ab44898e572181c99a44a74cfd7c16ddbf5c1a4d104f96ef62557e16228cd91869c44f4a1f3cb3d3c21cd8675c97c6d2347fa11469b720b7b82ece1fe45291e111121412abe7ed4ae6070b9a39971fb9c2748c2fff6d029552241ef7504580652ed1993395e126dd44e8f18515bd318beff3969750f437262d89a79a5c7642ff95a26b49040d16a377bea5762580726fd1028046ccbbf4503fdbcb8f6c476f5fc0e9d8706420a5db74ddebc62f76a4d834e71a51d809360469fccfc9eb0e6070dc458998b35fb78225fdfe426fb58b97514e8fd99f7b578922c513b2b7a4c4b46b063bcfb7203bfa241602f0fae3e4a5f5623a02b17d8cebe7bdedeae7fa66856ea1c018ffb5652e1c5dbe8d832d0888a0b732eb1cc1314b719bcf3a134b7b2fbb27e00cf7e5315b48a2642945a2cb3e6826f174208ba55248ae4d23c265dcecb7348ec2bd9ca1bc3903c4b8c582bfce4ba5cddffa7c9e34211b4b7b1f8a0d2f82f82d5e60088672962358d4f45044df754b80b2c4728c9daee4b64790d64e8b8e9d8a604458a70698fe4acbe12d9b9b7a5811af8f63a3cc3294e196c0836d062cf16b6ba987ecad2b5c26ba3e622df96c8b0f5687e147b28312ffdb2530cc8a9242e905cc2b5a2561d74f19ad86406cc10ebdb0e7ff0f7931a596b1a31dff41a2f96729c97af8acdbf670d02d1542ef1681cf2ebd7fc0184604ec787732ca6d4c9a91af34c400d03eafad57bde0263e140a17f7318314b96c504d5221a4c297dd419c7ed4ab3c2da774d140809de11a0c1f176d6d4ed015d0d9dbbcb94bfeeb6ca181942ff0e3a8210e9c31d4db097aaffbec9f9c987dcb718c94ec0e5c8e8f008a5b4d364f1ee24e739a1db30e629a7313db4396fae60113eb5adadf5b14e6cdfbc386a63d622b3b8684f71301c64d77ce1c91045b583b8aec38836737e41ff1b2c74184786c648c7164ba7a613b6e1841cd911a9314fb2a13422d7bde17e9269ff24d3c539ce75f6d9e16f97170d0a0a3c94898bf7b16a69045c5e6920b280f5915d5fb34097d1303b94c130748bfdcf77aabc7f4cab3ddd5e513f1e394d1bbd8087e12671485c6658e16b671b94e5fb7e9ddaa9abe64cfad3994b031049df9e8e139ae11924048515daac3aafc8dac60a68ec759dca3c253089cc2c8ab63ccb3060e09f0b1847656070437bc1ccd24caa85d65e5b4c11d006051f2cbd6245744ab084392d2b43e41bca8b9ea3ea6626e36b1b2d08e4a35b6617def80f05799dc7a138aed7fea96968cce10c1bc83b2c114ce4890e6938a172d004348905517f306837736ac7d881567b666cdcf0717023084d4aabe158ef0d58a450d45891b0e08aa9c281894302a37b3c48f942e923a4bcbaab9923522342732870bab1035ab30bdced558e19518506e0b23442ca6f3a62eaac848f5f28057b5321bf83348df820217758b3603f61217628538d68caf2a5f8b8f0371ea86c68ce08250a2445083237e1e434f57a072c6698a19a6198984c710599284d52689e70eb44c3658123e702fa8bb6796562d18675442f0a2a64ff106a707f98c19fc833e00bd1453238ef029f03e077e7a02bc2b9b7e7cc6a60c445c6bd883b515f33cf1a1aba226f9a1169bdfb26ce0b8c621c80bdc084880b46268591051136f23b1f705e64b534875cd88fac7ad680eb79a3ac1c2430957396c731c9476f596799ea14b35cbf1f31bd2e440fa01ea4e6139d8d4a485448aa79a2f04ef94798d8af63541788a8119ffb772c53ae00f33b372662e45f6d4009d4bc44522fd68f02e54bed7880f39f1372bbf5ff555da316adf1cfef1f3971e80f200e1d5ac795e1e9dd7a36baba587fedbc2c8a0b4fbd15109d1801bf5dfbce18afc911bc1cd17bff88bda5c2b10b93a13c209f88d4a5e460a7ad5c2a96b0209867acef183ca75479a98f1218ba81e438cce0830665954689e6c473b42bca6246f4a5b636cc445816d34209746bd5ca8c41bc95f2f0f159a8263d9d85798e029031d4ba744fa53e4ae74bfb19e58e61c435c1dd5e48fd0a1c3515391172ed5d2a5a585aa000d521632f05cf9e26621e637cea2a093d24a3ef0e5bec2a0c78e17764f346fb94b18497f2f086e7f4c3a66c0a6af31427174d4d468e262c5c90fb28a76d77e06f4c6bd6a5312c1c780fd819e4300d56854f3fd419905c7a6bf6ebe7add11ce8f415c7722c330961bdb288d6f574d001be04df700bc396e27c98ba85594b6963d388556d127c34a7310cf4cabeb94483de79fe08b3ca8dd6bf203d1f4f625f6bb1a9c8036e08c5adbbe59b17664ecad953b44041f1d23c859f2f7c63acb58d9a47f1235694b9eb633db52b6ff7b35a9e0bb25a198b87ad1b5c25311ed6f52ee2d033b8cd03bed9c38e9335f93d65ad0fffccf6d3138ef6a1756975e6b55452079ae1935725f53ee1c9995dcaa77de9641698359db3be1d249ee76700aaf3cfe48893ef72a0ffaa6c15250145d4c3bb26b222bd2d384c1c4029ae4018a562b8b0c5f4450f5e4e1dcd5ed044bc813f2bf75b34f45576cef3a746a1869a59259c9a379c7d0f5ecceae3bf67fd65e93ca260cf587c417cb6ab020a0f2de5b1ccafd64961dc13d42ac4c6ed95ac25aaab85090a4fdc2748c4249750ea2cbb9e4697b411331c4abeec106eabc59ca9158d1fae69c189d46103e575a941a0e85988a053503c101cc9ab460ff4c85c66f0ee9e0b36bfa9dda871436b92ace7c94049862532f08623d67b6b0d2885b577ae83856dd9dae3b2752c3b4831f1ed35e6c558f092d9335ba7935328658bfbea4f575e4e86f3d5f95aab218d7e9598f5c0172a41e1a66a8eb4f3f995e34a32126c35bf626d44ab10cc998d8016ab15c239f8b763a919783bf6b4bd3f6789d96d3acacb8e3caef814a6be018ccef4696ccb23afd3a0378dc216c9a4c5b29ed4aed8cbbb161d0f6a483a7e4535660c6f65173894855ae8e4f28489db49fecd0488a94dc43498cf50b4b66f46d8000d2f81109a8d71cffd577af4048695ff088a6ccdbae4734e5649a2df222a9e89e78af842acadf1366e16843e0447ce365d45cc86cabe0315cb631530b5168bd00376f87f2827d2962dd0e6b361b87836fa45e6297875f3cd82d78f9975c638e20a55d0a09e2ed402fcc72892ac402382e38940b9b8d4d5509b599fcd2b9cbf3a15a0e8cf4d85104cad2d6c89c4e83de64d3a294fce548c351e721785fa5e5887b6043744da2a7e5aa176739b124cab50d9b5b6365caac48d6d5637e66a830b61b6a04b0fa3cd12d95878e02433861a517e595f732cfa3da810edfc030c5945a84ddb9b953fbda42c4a75c2b5797b7d519f1c94ac5ba1f7dcb7e705a4b36d3d528060c60576b92a4af8f0279654b0b9b4c94d390dbbc84b787204e616417d1333501504b87e0c2f936effeefa1026b7a3f41fe42922d622ccca5d1b91c072b26e7a2d149da70a1c97e15b354da75f81868e4bb737262d286e2b4ddbff65cb2696204f9080ec1db507173131b00a20edffa64f540b8e53daf9b305b89883f361d9841a5b763e0580f7be59ab9c2eec5963d7afab05cb970774b2b7cea7590cca93ee9062d64b1f380e24d7054f3a0b14f65cdf0721d3f1292d80bd992c162375ca0b82b9373d6fb2d601431acedea66aa8ab0d8751879fa2d0e1c58ec142133e1485132e441ea7cbddb9e2202e47cf8d11a24208457875dfc25add5e1804148faee7fd408e2b5fc20812e43ec7f196b349f4e71611a340196867269696edf0ddf96525e990b12b5cd44e23762eca0f971b8d5f82330c60de333b7196202002ee9dea35f99dfaf00eea4ad7519f47213e049f61dae09031d5f13937cf5aa8b6ff546fcdf799111d47afbcc59da29a2708d1e6bd7a5519bd30f128629fdbfbeec0c7fc5aec879f3afc4a7b75e562ef4f2db925236b2da4cf08fe25fd86730e63e78e90f82f21b9dc0b65ddbf296d83d070b1bf1d87a4d6aa56bc3add6cefb15b72c9bb8fbb6dd9d5d60f04e9e093604d4d623ab70a46e7789bd86627b6d3bd4486c17cf6da401e7c679307195b81cfb7b7d6266ce7d35e801f508dcb723dd1d61d40393e133938529f5806cc1d3a8bba17294df8b7369e6e4af22549134f5aecfd6e15565629e58ddaf6eb79de00217449aedcb85f852f50a02ad2d73053978f8101a39e4f37ad8079eeaaf8606a324eccaa6992bda251a3d8a82e462dc84e7f8834152e4ad81188051d1567df11d6ca4a7e612749fdd2c5f627b690427614c40dec8b2724da65478cb375a8d7d66428703503117670c23751c053ff526a7eab1ccb868d405ffaf2276c1033c155f25a0e689447174a2dbfb2e1d4f3482442247947afa28cdd7af7a2743ef81e7c191d7111c3cc93dbb715f2a6f0d17bf452947e3e65f175439f0a5c425a5ca5db4466bd8b12f90582ba5d09b890f723c347b3f82a061dceaac40164d01b5eb9f820487049057eaa2ce8603d6f8ba0e7cbb96d5e7ecfb82a296428188e4de2a5a68c725a3d462e92e525e0315836a13c18e56715e8b81f2c26325cb458436e6750e8f0ac29955e8d5cb414a430b6640e379e7a1f2ad281116d412cb3354af227035c86bb319eeeea5089224b09a8aafee5ef7cbfcb7359d07850d27de7ca61f2991a8a4cb96c84f95bf6f11c87b6569838d49bf8f8dd41573b000e92c1ca1ccad73f26a6f21c0c612a82205cbe4a554d5b34087bebdf97c0bf88a2e35653c09dc0565e01820b9446773bc7744eb72a894c05179827677339067a5a61803caba777f037c84d81efc278a1da3488267943d93965ebc201f266468a109bdaf7771ea0ec2de547005e8829f6145e410f7919ecb3da4a0f02328d4d93c3a7e7ff9cc38039871740e63d6521589f0072bba7dd2653a50c3c61181302a3f211ea63884847ab228a10bd095432460f1ef6c660efda3235830a0152cd9ee59bda8ef27478d954e819c30036b9937609a1e0724b990140d8086521540bb113c43c9c409469d0a076d6671a61fe2c1cf692ab9c99c6e343c0cddcb3bf775bd59185629d39acfee761d2d067149f3fe3e1ddce9037a8b3af2c97cab0cd9679ed24e288275cb0e4dc8f98d15d841d4a385698a703f0adfe46134d1fc6a37a568dd42b85488decdb75063c047de5cc892d4bb7aac0c4c9429cc67e76aae1743cb5c2cbbc07ccf5025790143d9adc5d786d627ed3ae256038c3b9880bd03d55d4db6b9514dd8feb0514ed3254583d74dcea3026b6e0fc130f46eb3f94100e4b8754c14c169121b599251214f8a00c3c07e28976ac01d4b9e84e02b1dc694b02b83e95e22315e8719bd23b85f097fa1405a1849c7aad2f545778c659bcd2e3685d3064b6bcfebca066bfbb5fb6b2437d6668eead655f50123bf5ee581677ce1bbea523a155bc649a56910631839c8f2b1dd02c295e66076d749ff8ec68317c01a7a4340aaeea44cc8cd2048a8f424d7f9d3e5427d197215d4c9b900bd2492fe6a10c80be6557f2ccf7c9d59e7230efd3115794328e108301a2744d69018a252e1cd2b12e3bb304ce518f7303636ba47a60030284a63d8cb9c3b5895ce155e337206eafeaa58cc3b641e3c79d5aff233a06c496262abc80569091a571551763d5b2903f8fccb093768580ba8d4d0d41702b963faad4610dc845d7e8e02d34747a56610abe3d8865c6d5f071c09c6897146f2946ee6b4c43a04a169d17c3490557de59bc560d71e2ffd72ebb3bccd837835bc107982e76dc5b871c84401bc6f9090b667602b646ffc50127f0016cd9dee3febae9b8170eb73dc551d3ec70f1d8f2a9fe97fe22ed0891a7bcc569f06dc5879895600abb96ad199fd62df4ea8f8ec7ad2eaacc7827aa65e22abccdccf3a7fdee013119556d421bc90701866252328271d4dfc76f55ae0dae8dccd867cc13afc244782f24a5abc299bbbb740e35b3d2f2121173a132dec85378ebfec4ab55a47937542a663f42ed19e9a8fd2b26db79126169ca5987ca6a72195fe9125d1f903a3eada9edd4dd85ce51a118dbf63121cb913f27ccaa6fe6cc57d922df3679c26ea8d246dc5a5c761bfc3a995a0337087a2641fcf79cde25191eb3c6730a53908eb12022187013a07ac4e5973433f86a11461a5a5a0020737006983209b0183a9539efce2915ec6df0603a8b47e327413d153f03776340abe1d7b05b32a4297c228842061977a5f6feaf3c06360ac8447ecf835f57a6d3cbe1d47793c6a75f5e2159e900d9442e839284aebc5be2b93d32396893a002eba11a2b868abbae9a8848df59d25d73c0c1125efd7f8782467bec22e44dcb980d8a0a5d839b5692a7d38e12ab9f0f3f7fb51326c1c976a38facb4e40ce93fdf2dc49941059fcc530fa4993b683a5e44cb8e1f178336a38953455df6d33f1470b4552c41434588137a0d217b0422068abe6ddc2e6e67df75a2c90c1e6f6af3a017c002bf8676a59f165245cdb4226ab0696c6ce529df73d8b47c237da67876e9264c0f7bf2d59d8fb421ba396b09da58fe8b4acc046527f4903b4c5572ed891305a789cdfe4d2baa8875dc3a85cace0ca3b5d27ace28a1e6fc5fd3e95ff855dcee7dcbe738732114e49725d22c99e8eafb9e6223590be78628d83262e5246c603b7ed6cec93782515f1cc9cf68ccffdba5507e219ecd161f76ab705fcc84ea580ba73d51620d27848483c577c9bca46dba65b3c5f1c2b543e4ae6af7b8e7b8645ae89838f4fbab622c05236c0d3eb465f0c984c4d992d7038502801c137ace1c4bd623b53ef26049366bb2e508aa1a032813ad03c553674c45d300dcb69d692ae282a44e4513d1c5e0ed34e3e2efd3153f557c3b183e8c68e665e88334b04e36291c79cadaed393c60b1834dc906209d50490673bac52ce298ffc53372cedb3bc765dc5e6e97b230f53098f820c8e23e7da0690d10e02f103908120ffbf0eeb4a3c48efc8f1ca9e20b01070c4748502c3d2726fd37eba9e16bb1215c246284173ef9bb64f00a38f7b4aff640e17bf5c68ab06cf325628d35830232bc6ee02ee086315f1be994660f50424d579138a12bcca88d127b114656601d2d7e70aae5512fabef07a2d2bd68e8bd612f32dd5324169d1ae871368609123a29e109e4b4dc574d5829d71b0af788bf99454d11d161fb3060697a8be7f75d28d241a2af5ea5d3832f753e75f86ef01f097a5246095871ead1d270bea89583b1b79d0ad8237fab1662d82e0bf9273a4f30a6a23f57efcf2acc33f2e9c29812383eb611f1aacfcb1992f0f816e6b5b22d1b0877c48180662e48261f1c6d38235404acf117fe76c2b7353a24f6233d4d35adcd12cbfde678463be7043bc5b557ae4bea1f33b15822f6384ac1e6c9ce06eefeacdfa6f8b3ced8b87eb5e3ea19fdd55d7e6230c62f066863f030fd86327531a89853312d550f31d781c6a8122faaaafe9881f9324d75f3681a1e31ccece5fa16cf247e2ee7317ea5ece64f1c62ea007624a47ba71d5f49883bd9707d4401615a7fe258624e9495b6da2eb0ac492ec4c19d87e6763224cd324740512faed8309cfc7c15eafcbeb5d64e9249a0c30433829e380834c9238e0501109c767075cc15598dc9242a60b72707e437bd2882e8053ec41fa9c434c698b1bd39c232fe28df8d49d1625e500da385c89cbe52561c1a563952a5008b6619c2e1352c1dd13e588dd9f6635f03bd9a30103be68335b02a08ada3c70ce09adfb6e412f3741eb05c2c4b7370422c8e4a99a805d1462ef3e031d7cbed06b880cbfa2d26e5b708fb70ef47ff52f52c72ed078680dfec5c31c3ef9bb33e702083f64e526b71acc688ece8f3b059053483eb143c5682b289711ccdcd4644fddb037a4f732f77d2e26b521942ca8fb00c43ec1d4c99f1395c6eed07228487a9ffec32e1a1e4c7e16a233c108380a12b68de1112c7a72694af192731de75c1e979ac14506f0fbe984d2826e7469c2537ed657e510e830941d95db572a6bb934b547dbca5a39b4276bf9cd9a187e2e08b06ca4c83e67ded23c1a41fc5b61c6e7a1e61b2d88ea3db5655c3987e0ac30c31d499b065299131b8397d4fb794ff7f093df723137265e3d9d217424a21ff91620f89f4eac61caebac3dc02a4327c87128620372bd78eb007d1ac436411c4d129be360f8529720e96b32a5e86c69ec47139eb73ac01e48aa344310375557a7c7b05ab4b6d86a1e5c14b1d30d16dba025786339b4923aed0f40f00e870b20b6685325a1d581927467c99b0d88f4507d298b166756ae2a4e707c4e9df624c0651c9d7797be6df6469adfd7841309fb392e1d8466b8d93aaddc49696e78296a516e1f5c16efe59dd1355f3adf91488cf30af0ca9585c862494dbedf6b499dcb704ed40783865b59dc64bd116d92544f0bd3d1f98c97a4e9dd40b0e45eca46b2af230f416e676d24f7a97daeee2af4f76907c097dcbfd1c3aca38f1ed45836328a47b5776275b024f67d4a59bf213d25d966a5de823f10681d64e066d08a617aa8658c5ecb2322cc2e23e09d37b559d1c8e0af18c89ac3309d62eea5a85b5c392b980146643eb478e9874bd201dea5a072a2cb159e0c2c53f1d2989c287a5ef8fc60d26aecc792dda44d508c2b22fcc6af97921a29c125e3509da6b873a2229731e076c8964ae4157703dc3716a2cdbb8824e1821b8315b094a352618eb499220d0025e8a3c01fc81c3d765c90d1e5c8aa62be91f8950f75550afa492e7d5453527027461d88f5ff757331d35e1f085554b393c2e4a64bbf16434b5e3ce9a5636dbca07cbe15488aceda5dc6eaafefe5443454e6872a8f2d99cdb8282844c41e258702e29ec4adda701ff0ad97fd0956ea13b5c4a34877cc888fbb997613e0ebf86e95a6a3ab8a289e5794b347a3c39cabb44f7c1e88ddc7615bc368da8d95884dc611d62168b060a648e10dfd2f6a760f1e909cd3a23b8c630ba79b086d18f3b07733f740e087e8113889032b161ac0e23d2fa66c24b8ea7972c71b69e0a6b5c68aa887b8254a2c45d887d31a674a513b2cb54c78c7ee117d872760c5e9c8245c9d6217abaee27ee423d035d5b8c6daa7267f6301e809de350141c39057fe65fd8aff5bf3916667390205986a9fcee4a8b2582b20b9f7aaa9d3a2111379cdaf8b123a7765176fad11745ecc38c1590eeea1c4e07ab37fe320b840226b69586fe5bb043df7c0b0d99bd848e660dc830a5044af4c64a4991d23e776ffaf305307d2edfaaba26fcc7954cc1961e5471b766cc90bb0e16987e96078b1cb807690ef16d964a0aece34832a36e29e2bfe749da86b91d667094cf973353effcb976df47083c71d7dd49d38bd441479ee56f18102a473956df48141a571585dde52696de1eea9ff4ace6cc37faae55eb6689cddce4c4cec1984477aa85e2ec40f364b05a2afc7fb1ffd237c9ee6e24363d63091b5ce18c19e9e320801e7c18164dbd258a54031c9bc04ad6a3990f2946960fdf6e4474ffcaa83879789d9ec08efffd5d1137795a762e90ccb7b16d831896cfb29727431afb2533c3cea53856ed3ab45c48347a040362d337492f44b416a597c3c18aebd3c48a74a56a42c68f0cbd648459ae1c59da2de1cf270a4f4d804c07096f2432ffb1821f4590047adac79ef837e187c2a7823aa315c2614797163229b020210034fac4f7fc94f70ab44696cc5a3d86186f86d93a8058cdb334c2148dba78840876480a76310dbd260f01b0739657e8e5135c3397b7e7a10f28273a7d765a2b15fd9eda8032f774132aceebe273994e0337e7989d2f957d9f3815708a9de49d8b5aeb88a01ecc8ef21c3552660329751267ac86d955d37f5d201731cfa93e4c0295abeb03501a1ebec33663279d86748451ecbbd15f784087794adc493da52dcfa30e19dad72ef1e8c39172fe0dce064abda4e3b01844d2370a8112ee081d29e8a4f8768f4fa95068476fb5e92cb8c219757a2cf9361185cf0dabde8e17983577649a0f10e7fabeeed2428f0c0978b47689ab73645072d46b74970f8eb159c420b68b541a4a660af649f204e51928f07a670ddd55f86cf42bd91b9e9b9a992cae90ad5dd951ccf0f93b82c32aa53865d575b305efcbf948933961e8636deee8c717ef3f910c5919c712ca80c1172a90992f3854c2b6e26107198bbaadc63cb3d994689e6c53c28a989ec5d22ba274b748a2d42c6ab9d1a1e64e5bbcd9b4788ae79aca4ca8fea6d1e7f808002c2b7e13ce2533ba69cf6f20577e9866bef4a6331a0fd09e0cfe38d22266886cdde0550a9008bc5cce888f9be1348e399b1d0b3fa45f4d0475c07e0c0c99b6aee82d9884c79b54479f9e976e17aafe6510be3f7e3a677aff785847b94bbad8cc90cd3ab7fbfb8c640c2968bcdc262a9f79c96dd964b25e01a5f95a4198625407a03514ece0769f31cc7271324892dfc22f845ac4fdc777b8bf956251e96cb19d6b00d7294a3bb6b998bc2487eab39838d2a406f934df064c10f6d2834f7c80802c94f37a5ab39813c5dcbb548c05aa35c72009faefd36522e53a105f9b766c65bf893e70e9256e1a072ed40ff7a9c831cf992b58fd9750db44c671538f6131a5bda6f18c800f06ad63a826d4264b497626b687de46f8665d41f2c34cb65810237897b396edeabc264d22f0b674fade0dc243ca9be9af82f190dc7d7b4e49c92210e6ebfaaafbb5e04b5a3073d939ba610d66bac1f5e988aa9d89a84a2c486b9b4db18c4b91a107ef234721200f113a1d66ead77f1493423c68618d82bd8ddfd2d420649683ba8bea6b6416f075c83015040cbe110ef158e78d40247d055fc6af354b5c28ac3220cb2ac8af5e0a15e3891f276d52767b06bcf1949e82cb8736a58c1a31bf1ba39e6c1db14a6e00ecdb51dbe049e3ea7bbb5c9309c2439d0b77f5847bbb903a70f209fb5bd4c6f4cc30f0ef8de5ef795d104f552ae05af3eb1ec5d6d908b028768bb2d2ddfa7b2a6be03a67300665326a11243e176fc962a1fa95c15fcc0f8ffa6d2f1439c934072c0690ff6116b54ae1d8133ad11b0e749413fa3b120d304083a63853f7f07f71aeb89c8da6d7bf9d78ec8a01cb2717a995733d8472c86b29729ffb2b4104c9b525c69ac9b4c49ba5e2de8d04fae2de84da907f61f913f442b9722b5088941c8f0c9a70566865e2ba5ebe51bd1da0e6849d207340f7956534d53f06b8a699f37e51fd0df3ee97bbaceb1c49c5fbb7507c9c298b7fd98774c0f18e4c9d645c00d13ab4c07e852260e724e2fcfe7c25cc661b71c2d3963e2331192ba07df2aab2e3c56c2647b651c6e56912bfea0ca0c1049f7388a749358259d4c2565a932c3509cbf1b1ba3577ef60859ef7020743d9e24833136ca5cfc984154ee893511b9eb755ad7d71f348d8a52c2df902e42bdee40d74ea111e1024a37df6c50fa4dfe2ef07e4ad772a7deed9c734da2e0daca0fbf026da05d375e13a9c500a04c09be895d4571a975e864cbb1efe574dd48c56de7d2d2828f6d55ab8265184031f49947412e8aec83df9ab0d5d98dfd80852322fc3134738ae0f5c7d31b72afad656b49ba677f36c2f177ab87ded20174d72b6fa949a3c6ae01259c77c54fe60982f602c1302d9230579ba45eb53f929536626a4c592cc8d1a6a91fbaa1dc3a3e7926f6df02c99b158309686559bd2794d2a388aca8197d4005da5801baaec8e35df2cf2cf1ebe2f76a53ed36f72cc9b906fca45299fc5b3e0adc5e87058313416e993796c7727419af4093da3a7c764e2b3a129452f0799f2ed1131368c37cdc51d479d9fc048e4dd7f9a56bca6cd3ae9cc0928b1a905b2dad5de79928679f6293e199b880a5d5eb25851c4166925df5a7ddfd5209e4b4b7d155b173dea5c3ae7244583a96e2c954139b6a4a486285e6aafa04a7f558da7f74d9ed59c01b9d708b21907e0a23dc060a1c710288fe0c6eafda798a4116b2f2e577cfcee21d303e7ce2ba8bf36971e6c38cb0cc6857e94b570da4aeced2a86171a24bcd8f18891c1198108c3cf0a2109d788546ccc1785eae41360b2e73d2b77d34e155defc62db7898b8d5bdf4eaea394e4f5f14922f07302ccc6f1906db80b58745f81afc662737932e13c521909f10fbb9be72b745321f0c09743d4830bf567722f49f20f2eeec210db854869a66d76478ef04a2dff4f60e84e2cb61d35d7308ce0a59575fc8144e9dd47eb97a2c228532ad7d5f8dbf733e8e0534d532e440d228e350017f964d76cd0806265bd70eabca73726229eb0294b643ecffd19f47dcd49080e90346b2e2a57efb729797933522dec6d6b69e95a37e1c1c941ed07a072a3b46440c85d4d44d4ddaa38879e211c8b260434c7279cfb97030da5a38e31f93f37845de498d2646a9d7b9ad23ffcfc4b831042e3ae7f1eeeb9fb64e461bbbc52f1aba1ad16a0a358c0cba403d97caa3e16e23f3a5adead84121bda940b263dcac1354ec2862f06cbc0b4618cba6403daf798c681e77199133ccf496678b97ef33dc30b45d53a34080842b83a88392aaf4fa1af43e9e314ae44c6d17b4fafffc06923195e29da4b92052eebd6e48d39f4e1204b2d00b17107fa079aef6482642dd8f0dce94380f60c5669a8f099efc1acfc61a7e87502be3d267d7013ae71ffb68698629e1573cf3f414e9669748c543b1109555268b497f962a83e05be8d55169d5cc9c48f692692d3489ef31c78304c08741b96eced80eea82cc9478c1c232f8356f6a43a2fea0f2db20316cfb42ddc8bcf931cb72b66610e9aaf78bd1efda30a4811bc967768ca8f1390fec5616feb897a6da93184307869fe8d36ad83fb358a7c50d623a977c210b5e6e7397bb9138ed206774cd59a5ab10c965b15534389d4c1e56bbd5676ad91036e163ffde95b36e450f6003e5f354f823c3ba6b26c2ad678412b1ea4bf11fda7eaa3e06ed74583cd21d78d0b2ff54bce6af92527ed5863f77467af3dee46c948c0dd4ae2c8a325f4d4646fadcfb52e0642814318e84627d4a04c99ebdf02266bd1b4a7a4c9f9a300c0b9a0ad62311894dfe1f6e1ce157399d7db208c290962ad8773b825d82ad2343082f9d681cc1c86794266027dbc68c7dec908ee099cbcd2a29d297fbade78ca95fc06736da3ff22da10536962bbd4d9d1dd10393c2d80e77c5819cce46a6a5d0819d5307ae1d407ed041e614eff20f4d74225e338b543d458c9d94e60aba403be89f759d41470af937f51c85bfdf50cd6607da1df51ec2091671b7f4384d2477ab9f5b3c49b7b12f3eef719ef14cc566744808eacfa91c2c1bb490b2754f9691c7ac5b75509d9e88ce19ce5fb35ef8591ebaec8ba387e7f09ddb53f8faf19a5e2b0dda27bd460eae0d9158f7cd522b3c85a1195edca8c506d67ed0a0b792ade39e5b1d97cc2bb68f76704ca05eb67e1eb7c45c579954ba64e252d5061576d0633203684b5d6fd118476eefb1c2f100a12615fdba7d57fccfc0a533c2f78678003c7b23392efab96568761a39f5c81a43faffb5855292b21fe3c8493a70c387c086288f5e15e2e32646cb44a490484771eeae817304e66a0a39e2616772314a19e788d54999b4bff2313dcb85a8ee9e98421736faeea159da52ed02c3a3f0e2abc562c0ec1e8cc3961943657c888379f0407a2320679f35dec5323df00ce6127513c782284224dd10c878efce720ba24886491f68cf2eeeb694b94186ec0c53e536a0ba85d8dba7a86580bfdbd77ef6fb519ab02d9d44261cbaac58781b0c7e7d0ed68a1bff428d70321cf9790d5037e8b32027964069f5d826bb4b1bd799857f111d831509b5cffcb43a801a8da2c8a9f0c63e7116c6f6a6a1c73efc44b2008b5ef47cc1fc8bd4cbaede6c7e6bf6d3112814ab7e91cfe3a023b17a93a8baab1ae3376d10357929a622553781cbb530bd526db4f7eef8b30e364028bae6bc0a3f0ca4cf40f95664ff6c18399be206b9ccb5ad1ebdc57d51ba0b54c54fd0c0d750f3b10d359e032a9973e069155f402888d2e6d18ab008469da898ab2affa16d0f5df2806c1848985d2ddb35702019eb43321eb16365a832dfeaab60b4c09fabf443ebf634111829c009990ec90f601e2c17a719e19d28dcbcbf49d1d46e95b48c9c9a0460ba39449fa2549f9839cba5d477e5285a4e8cfc8273fbd6f83ae80ebec7412b5f45ac39341d155ea0c3aa5f5eb9c3364afec07e6ffb6cf440c5db6dd03518c628eebbc3455ecc70dc0972a39cad47ce5e3af6ced7151dac2e29a4487bce4445e5c9a15742c360ca9e544ec6e1be266f9029bc472ff12d6efbc85d65188a1711cabcc502d639be423382bd4a45f644e5a6107b37aed7dcec816933d38c90b07b8f63bb150c4f9ffa52420f1871639021d0766c12da147406f3c9729238203f1a097e2453ab51ab9d2ddc4b42c7312be04212676fc0867fbe147e6513fb57b75379acfacf74ccc6eabd31226092a32d23ffbc29c4cfad947e2d31d13ce7e73c672cf701844cb63a23054ea462ab8044ddf4f113498db256c63af04f40603178c9dd6c4dee4dfeb8323d07e2c7ff3a43948f8f4e83c34a2dc59654b172be7101b97291c5696b3cd880c547727e0651edc470bd01868b2b3933a89b4039040c36285a0e5ce655111c6a00099a2d872f8623ed07be01430e3285c2ae20905927324119b3a034b9b9b56f7429abf9ff04bb8c0d0009b59736c64d2c9a25d776ff1f2ebee60920c7ff549a3fba972643aec0da463490832645e782773af61c9741074c6497c57ee095a34559f40fa4d15d79d7161520a7277e72456e27e4d0c5efebde69276db7a83f00667e92e642670b8b51d9cd48f9c91b8d4d987e027048c88dd643fb754c479ca69d322f1ec88329f81016d0cb0977c7e9f24ff87ddf9698ba51454ecedb065570702843fd1419106838f1c984f4c24ae76caf2e3fdc30eb91d9e989f2ed52e3ce0a8d69ae75b980c79c113bbda9b8751452a284be2b36dcef6ae14a005904065cd4677b15c65c1a66e0157d136ea245998a3e5359beaebe389e07116efaea55a6e376b5f44c5cdc2629209f9ef2b3c1dd29728e813e0f6da1216bd7c6823fb7f04e0d0d57755879cf5077580f898e95b1ff1b4399124ad03be9daecd7657233884c1b3da633a608241b1288f6774a2633c875ad25493aace834825d4842e2373a51ec1fa960ef4f7d544e4f4e32be6f3d3f46247fdc322728d0c83403bf4c7ea71348ed193109c315ece724144bf84ff4f214e99346ace621ae9c6cbe803ac2a410b5c920d53e755ac0b1fccd20ed1105181bfb1dfec40eb5418cb966389ac2d4e695974948044d6ad2cd6e7d5c2c653925ce5163695b81fda0823964a08bfd2ccf6c856c45c55e4265dbf275cb3b4793334e1866b4d1f82a0e0316c8009fe9507813246ca857d4aac045246ab86e9a710930c074ed7fb22f8102e6e6c030fa631256c7a53c8e17983fe0ef69600f462094c63af9797afa37eea7355d186974b57bf55486e17f0b4b0505478443a6a48467fc7ded210d199450138e39b69da74a0cf905f01322b08d442a943bad12c8cbcb996efdc29f306f017ad40e1d26cc2eefc6cd568f1a6424d39bf1f66c2657ec41ca61716acf7353afbff3d7723ffe36ca037d4994dc5b7360102bf73f8eb8385bb7b1f288786a4d802f9390ae7f242fd78418c233f617dfadbfedbe6f17b2765a05d376943fafcb71894af51eff2077fc87674b6ded7cb4889192f78b9dad103ecceae12c23d386a069b4a811c6226d815bc99014ee384213a69ef3996d72b886fc4d5376b1d36679f1917290e970e47040330445bdbb28addc464b39551aba0afb3ce59ccd89f360ac5583a102b88cf92fa6b5ffeaec884e0c319e9f4d9125ccdd25930ee53821682fa619f87e9ea6bab99ab96f2e03db2ad2638c48216860712112516142f864ea54b7b25ea756d8b07ff71b7848778f3ddeb9aa366b3c92edc5241a8a26620627ec5d7eba54bcdf6fc9143d971a00abaac7a4883ea502d88b28ca07f5fc6081aa5c4d3fc5bb3a7658a7fe7fab87627e06c236bcc11337afc0a23707f5e2e5b8fb0e22bb1c6180ad683fab8bc2a9fc409b1bde70b2d5893afcac5c4653e42720f095db3f0c82b2ff7336720bb6600c0301b5b3e1b217dab750c59faceb73cbd1d9f95a49df3d0e64b993a619a53b0e63a19195b36e5f541d67f38a10582c19f4953673f079ed4d2f91ddbb7d4d83009620a8eef35d32efe6c9864c9266a1b8332db10376bd49bd10d9523d5635c470d630ca4d05a349b6abdd6f506bdd18a0ee30eb55a10431310e015a23945ed5dde4dc846877a01e05b409a2c131c84999a10f89e91052f19a372bb39f86d343ae49bd27360b71fbb15add975cb6f6af23238e9b78be99d812bf220c9ab767469bcfe5e5e5eac0d38792509c827fd57b24f8d3cf46b79a69f8e9634f82d816572c26443bf8b7641f6bcbe969b3a69ebcac32286596763c503903b45ee6cc6a177699f79995c5ecfbbd0040140a47ca56a992cf0800b8e481bfc1eadc01af8b7d4fd1136b324e203be884b5a1d9dfbd382b47c5985a9e6495304b8e55c93c8e3e5759b14fdd2b4a9df2863ba475d593ea719f0bbbc82a144542fabc586bd590725c54ecde57613e3bd824d5348e0b47302e16d1a423aa67fedfc36f38d8150c375e3297383ab44c3e30d79efc12120496cc776be3f914dfb3e31dceddd5e3a42f2a1bfbf72bb4c947b8498a92d5945b872a62a3cd82955e51955695661e865281ad99fb2d5136e130c140e3cdea2cb3851ca8b0b65f4f7800503dd710e51fbafcfc63da53bcbc2102faf21b4785fa07df2a2f108cc25bca389b1ed53a9d1f92dd2014a7832368ce71e0cea432e7bfca8007c668f05474c0ad57e6224b455aec72ec85ccf56e4febc8bf60b6cede80f8fc66bc8fb9fe40436fdfd9abc91db72987a4d8e0941e7332a7e1d7dddb5a6972470aeb968dbbb69902905bcd0329a9f39cea9bf71d3af34293720151237f76acf4086164cb6c4b4fa8f7cf95437a93f1cb9c0d8a0e9943d0ede376b3965bda5fbee9849251342066e88b227b038b32e40c41ff02a8a41c55e84e606e8a2160b69d80472767789da1359a393ae655fe5cc9a4265cc7ce4a960f78d9b2fbe40ac665dced88b615b70e96c19774510eb952215994324c9ae8f693bfb15290cee49633e8dc1c12c300d86bae9b3620f8653588fbfb288e460404e0c3135c7f9ec6a5b30a0b7adc7ba1d37aebe47730adf9444749055fdfb3a34adb27b2bfedb9633b0b4294d192e742d722b9063b48309f7139ac71d4317998f6622913b13891f6d1df30e8112cb18553358035ebf31e25b138bddc7f508f9d9f72e2d137dc42aacc245cf477b54c813ea73fd0fb647b1d1b4a60dc591ee8eaea069d968919b354905a6fe6f2f35af760a7471b6f7d81192268587556fc2b3c00e0c36adb07f4afbd750b1ac6f940f00aec0b4b4d16a783e84a07d127ee3769a7a90d41a68b8f5a6837c8eec512a310b7f15ac1029d5f2887e37a44a0794487211a17d340684fc0f941537e115c9cbaf364de1e8cf4feb2a2d59c43d59733bd489062bf817ef9a8f0619c613f35d70ee97db8df7d296a0eb9fad1ddfcde4552a512029da3f779fc32ffd9624e03ab6864ce161eb21f926187678479480cec3bb03f1afca06e92452cde247296fa745eb23e4d077dd65d8423b30a6afb7793e5c3d82040f24d8553b9930e83606d4ff6c0a47c70aa4ccdffc4b4ac8cfc796f8b9b686504d47f75344a734c7058fc69aef84ab3f77c4e48aefaf531a298da99df8995bd99d6dc7afcb8340390010f5f26c0927a36f754fb885f8c657e8034ed36d8fed6d5dfebe2419a5c1d7ee869991f6bfdd6ec1db42c25b40ed8c9e6ade1df83d50bd37571c38303e99a5ae9f0036fc513011fe985101ae5a17134d6a7bbe14c419c6b9c6f89fd85be9ed5dc3ae8c4f9d71794b1aef410274285cacb0fa8c3606e4f85b6ebc2458102bec80f54e5d3b979a52d503dc99ddc5ee6303c538a875ffc578f2e689d271d482b93b6bc8474b4a49cafb7cfc489e88a27aa8b4874653eac1b7403c8b72237602f3567ac3f3b1888b553663d39ea13725eef6794889de02462379106ec1be939bcec7d3de5395abf6cfc12adc3de082fa31cb7fb5d035f7db7dde869be3ad1c464df223affa7b8d6c68597f4db00e4627788730b065f558ae619204442133c2f8877167d0ceb960439923bb2da25e5517505d0fc9537ce5552f30c54687f692785824ffe3edc2ea10cd89a098f5e1ec050cddca2efac50734aebee17b16645c4e2c87df24e0e518534ff3c236ac0bde5dc02a3083b4873cf9ab3a1f031aaf4e8060a75cc2c929beac1b8be92b577783386de7b06790bcb9b7454ea45b4425fc1acf2f121d2af4b11ae7fa1c65ff6219884500aaa5d789d48f08b0897ce7461741e69e4a55e78699a62645314384616755b9c3af43f2945510828638d7de1506bb24b73bd64d04b3b0b974d49dfdd363e53951d7e805d6257e186482fce8ac2d142ff2e0838bf1ff2a5c38c20586938059a4475eecfbed993f14fc5fc2374fab6a77dd839c0aeb78d00962d715f94c65451acb65f334ff78aafa1a9bcd9ec082611c87fd81f3ad19a30ba4f1a78eac9bb8c805a0aeb98596826ad7f82f9bebfa5ddb0671a37fc8c6f2024b82493c07281dd4d9aa4eb8e08d745f98539ed5a1d71aded14afd68ea33ab156155d0152c65e996a8c364da139c0f4f39b5e576b5225c76f4b157bde509a58998a039dec723b9da1a1a995ddf62f1e256574fd7de288a5dfe86a6e74a96c548c84fc13271525c321197c0c0bbb322680172d71c19820f2f5e70786db09ba1c8b6fc77a40fbc8b51eeb190421997c6b154d6a7e18aa2fb63e9366e66d707a9b90c87fdf6699dabbfb1adf02010d10aec27f29291cece18aca88703e59f350d0bf386940bf109dfc5388bbd7d31b33af7dfb4a13d126ef4f2400a010a4ecbb2154bcd7b2f7776e8a57a4a2a88996a534cdeec27903e36b42fcd3c94f25dd9255eaa8f7769853124bbb4bcfe1148e2e870493818b9b11d6b1788783ad6f276627add25f0fdf7bc82b3354fe6f1946c6404bcdb87da117b93501448dad1fd00b6c6374079201d3dc7c63da875576a595d7afe3ba1ff385bb1f7de7b10d87f8aeb781aa78b6072b0daba23a21d405a76ecff6d1630f40ede2b36d0e4cd2d65d796ae8241e02da3bb6c65a9598a51f2b69d2cd1c55c8cde8110eae03f65cb3588dd2939b47967ec577525de618ad2c00f6a51e300f6ac4db6c8d2c5533efa14365789df6a3571578054773a8a313b131f5f686d2d32e04441b618c77176fc74d962f80482a078a974335ec58f94aeb790da974a638b33f6805b2fc6e90fd626cfd6a66729dace5823ec2cf9e47609ec6b736f84110b3dc6ed6b00de94b5c3ec147ec2fbcd303f4c6af319db486800697b0a384dc7fd1f8a1c92eff0e901735656a2e90a620b72eb761f487d0bac04c7c874cae7a2548f81fbd19ab97521de09e66c7aa0bd8ebc8f3ea3e4ae3abb1ecce9e3547440f262431bc7c1a85f6b3cdf20cf17fb055ea5dd0ffc30418cb190feea0df08f43537dad3ea5efb6a493d27d7474a48addcbc8939b4d7a9c5bb73db70f90eacf2a24e532a61a71726d2c1dfb345296407530bb72abf7a0b9aac5460b1584f021d90afae7ed883bacca0957aea6c52686b07e931c1f9083ae95f6fa726b4cb9003da0ea68e48e539964cc3dac102ba03f1382cd34714c22c47df6c18423d9c6034721f40677ac81e268aa7f36e8925be8b2595f50651b419ca44bb778ee0efac43eb5cd09a203a09658b78656dfa3a60dea9179d9092150055dfde14f8594f871b95b53e971d015709252493c4229727089207f30769d096c3264eb3efa61fc83d65484b60a4c0b3210310990060bb7137340430b72355a1ddd71460ff6bd4b52347c59035fe2cd782643dfd1f8f000e9f08d37fcedbae2df5808c422c47b77a7c775d6edc8df2f8fc64cd28506adcb0f2d228e8b76a146569ed45c36d306976ad065970b05f1ee31bd94843ae5c2cfe9f2504087c8a2da9235e5c100eb6c0528ae232243f569207be13059f0b1446a9be18cd6b5f6d8eafeabb73f569b8f8d76082f358de5e503c7e1379e3804f10b5c5b33606e283aa7b2d92c3895c6282c5f04cc172f98543c7a38cd319320a6b6e13797ec390447dbba9f8a89a9d571da5974550bfb74a329fbcf035ded11fe3d82f478be8b0e861d707fee1cf1fead8625e998c44ab36272cbbd0520333b0b4a6adbc993330708927a270d91b555937e87245c7342eded6cb2bf0fff47356b073b956002213746989d43442ab41b7e146426cce6dae0cc85a305c7bcc70045628922ff39ecd3734cf79c9cab1d3dd0203ff8b3d5a0e6eaa9e55d7aebcf5adc30d235bb3d7515a859fab124dc748c5e8449e6edee8cba8246e76faf00715986cedb29046b5a8ae91dd7dfa124f148688fb7860b37c8715b574e52e8ae473acc216731206a37684030f4cd874cde9adc563251f741580fbbb587bf87b9272ed87080fd47069d0eac9a7cc887debf1267e786821536878c102b1a910d49bdeea052809f18cc3b2739b6b2547736a3af09c4ee3dfe040a1b0c9ed91a972dcbb8c6190acb36a50a643100f45e6dec3a0b7253a738e0545d5b8bdfd67c56df4332cbec3ba9b1b16711d46f9826b965e71b71c1e015ccdd5d8587957d01de40800ffe61cd0f170edfaec44ae171f0b7b40ea27bae77e820f0ece6ff076cc70eb872e60b401d97206ddd0afe6a2fb79b664fa31232a742b01fc4d0911cd08888efef4a186a3e92aed47dafbb7b9342dda1b80f26ac22f83e1f313a97a5904f91963cbcdba2c3b3faacdb052443a42316cac957f8001b8139610ee455f3ea9465a36d1814e89db17943306c2585ea1e483d2f4380343060d9c767a5f28184e9fc6a406f6478fa62ae03056063671d5d394de24031677d12f737ea157dbcc0e8822f5d6da8f5cb1683bb1cf8d1ae132d5538a4af56521c1e6a060c8c4d236002fdae12f8e15b2c58592562fdb6ad055d134fe1e3e161b01b7758b336649a437d4a7234e3477cb47994f27e2d4bf614156d898111018b08e7f703825f632698b6a4fd10883c9c602ff8d54cc324ab7e76368cdeee314f8e37c6fe1d9e911e51de122fa07b8da96add55925ef19a425672571e628257c81c22249056f54e4ee02964cdb0a4334fcaeb53f6c356358d8ea62ba048df35844eeacd0b1311b6677459c195c3eec5dc9b7f2e8c64ecbf0beb9c1ba2db1f815de61fa980cd57e3970bb6fcb34cddeb7c49b75953d2b732163be0aeaea7a33bba81e5ea8247ef23643920b2e026318be9935f6496f22671b303cc01bcc0ef34c6a2bd4220384ee7e882c777deed8492910ef4c8588f60e8925efc6675ae06a5479fc1a1b184297e992ec9e3ec6c528aa51e003a041796990cfc2d7ba96c85831ccfed9bea9566397da9151ac5c21859ddb292be6e715ef2dbc3507fae1fcc09d7ceb67d2781757172629b86fcc5834a4e90e43cbdd7285ed787dfbce3c276e549316d06a762c7e459f712a9ee7d3ef785c971f85f0852b363bb43de3937a4cc8feb2ae18aac6cb8cca36fd420727761291b5732121a094c9a903e0820b0c7ac35ed3b8fcc21d6241bee3800121aed01fe1ba5c9563ef8b85b31a7e19b29533241ece9b9be7dfbefcc93cef97d9c70771711738a5afb5e44b1923d7376bd4ded8c017a77a6cb32bac3d46da05418b880c56bdf1fc94599b16d10ff8a5b79949d234e5c0b79b8c12ac4c5dbe404ece2cb26dc36219044959b3d2e94773726f4c074e44ea174e7564638a543b206b7e96bcbe9bdf2c538110abf24661bdc39995f980c3a6d2bc91db34543127e8d18257ea733b4d0abd8aeaaba471fb18d43d92da58eed1fd2ae5e125b7ac097a970fdd4b0bb079bee54934117888fb76d5d26248049659fb346d5a83e927051156bc55f009a662907548c3d9b7dc029a0fee6d49d5fc05070f0cf9d85f43277d01d2882e07dc71d0d7bd8d09afe3dbba73126230c168a18bd5cf4d0957bb19c1a2d541b08d4a3aa7115aebafa125f3feeaebcfc987b07dac01ca2a59ab1a11bc300bde5d819f864f2c816fbeb3aab81ea3d3ece35734cfb4fc6c7e5d5576d398843f6c15da871ef50961d03c257fe1433366552decadae2f759613ea9435370f2c16ff8b4f4a2850c1c0d02a04cc0d2881220ceb0a0f6d0a4ccf5ff149ed87859a2fdb54d3aff42e781f2cc1f37acf469c9b6565ef5671564c665300fe2ee00a423750d8a8db2e284d127b5b31af92593699c0f6744d4667ebb82ec392ef572acc9f9195d819f38d83dbd663c80389eef56aaf4c6449d774ab9f51e2e16029f8d91d035d50be70187d153f1f0f9790e44a1a9123d3a3272cb4f81dbcf9f871f66857f2609d96f239922c0d07a2887b08e3089d67ab44578c72d52a95590d7be809e53fddf19ccb8cc9ad20bbb4d1422e31f6a7a431dbf34967fe8e27ca9d6bd774e8b97ad32079bbe4378cba70dd09da6ba437b94012bfa67ca5bb454d7295fb74b79bacda92d17d88a2ec7864f2466aa6e25bb9e291f3c565d91ee871afdf2d1a30eb0249cf44a2c165ec110538ceea6c21200bc0dc2cbb9720c426af35588a0812352fc7a4d04d415c40268651c1a3ee947d1751b168e2bdaf18338452937ad14bc42bdd1bc646dbd9eb938869c83a3411035a72f1e692a0c338f4dc3a33c03c3ef253a5a3e06b00017f80745f9f5a72151178bd44ab4bcd6a0613009d01401b2c95c6fa7f821109c0e247a861c064301f66e75d075f359d7967bd4d54fbd1b6572559fd716586a763db02b2e40fadf4d704b5704082cba8b82d3ccee4f1b6298a8e16f0e7480ed54e506b643cf15687a873549b67ee0289f4c79c47d167ad710668c5a1cf1fa1d10067f4031dc16d659433f1029abc9f6c5b284b6909e700e3e46add314c2df5a5897a6545815620c0150ed0f117a5dcf095f87cde1ccce8fc72c3c3cef4d5823f16b01a9b04728fd25de1875f40b53336be7a31974774e567511265045daff0ac895facfc5bfac8022c705663cba7000f3b873da65d577198d1d398675024186c64666a0dab0a1dc79214367a17636e02fe76e9ad1dbb3f20bc0b27e21f567a71d9390f15440116816cf03c53f55527dc144ef6896543d7541e383716bff0964e615bdb9134f39ebec2648ac381a545ac9f74ff4d14399a41ecf5743e6e23b9042cbe445c7d280a7a5122af6dc65585c54d9e97f6db1ae277c0fe59d57373ae40145580ae9e7bb083ceb9eb6e202796a06e4dca1b44046867ca13648f993c0b71882423a2ba16a679d01ec3cf0246daed868cf68ad05b5d38937d2f11b9c788da4360ff1a90b2cd394f4947c74297e9811e940341d7d42b1efec93cc014b289149cea287afd9b9361b8daa19dc4a57e97eaaab13c25d42c0b88b4187c1afd1158ba2eb66ac831c5ab4efcc434b355e387ee49632ecfb879ae18f39522d913cb85b8cee7c663a7dbab5948177e4a23703a322c89e2a2e6a31bc005f4dab26c5bc2d0765269723ba76e521f2d37f0ea6c01670fc4bcd72ce64816ee4ea5d477afa9f7fdfd6b5c5d97951c8eff98c4d7721e74782fecb368616260559cbae31d8bf19c1899aeef94b301d0054187bc65b1c93a89c025e81c7b8eed76ec05a6a3ec4198f1bec3c464cb23a3af76583bea08da4d694af565a8b40028330df8af3c83be4b3d177b6f10c93f83d0c8292002bbdcca4633fb08d6dd38857385bc74bc2ae15a7bf0cbf717f6e78fb557216ad69c29ab5d41bfcb2d4bd95627193ec69a4b428719782f2e6982a21ae27d79599b5d6a83315744b97acbf939975a24a7b4badd8ed8215628b312d2eb9d1fe1bb9e8d6e121775108b75ab062657104cc1327f6256f9d5e9748fdb90ac30e4b883dbdee8438228156c95695bf76ca661daea33d6677c7dc865be21346132dd06e00c19a855f129152080686d4a858c05981ddb657e19cdf97d6d29f953366b1ccf9043ffb0a6ab0ed8d0b620dc059a02ecbc4cf4c419283d6671b5a498b12890056f7fef54aa85f100c9833a2a17278042016447460068b4512fbbe61426c0bdd87349371bfe72a2059c094ccfa58a64e0fa5b7aca0500166ddbed88f48b62ec51811d8bbe6507a914d7a63669b0425ed9b4fe2e168eefd08eedf904558ccce3fc6e8991d9e3b9381b139638d5e804a566aebdfa04d408b5b0e56191977f28d906f7e0ba7a1466d3367f9a9e71263aa3ae7ad88d7da5fcad2dd4cfb43638fc6c3a22d5b1742a8e5cd67267cb48200127918cccecb6fe897c32f2d8fad0c14d65703ae3ef301cabc3b26fdc34c9c1a8da0d01bdd921b6e641a41dae617346da8dadffa827bebe2773a599de98868aee439ab641e4ce99862e997bb1a4516f67dd51a1c885bb5335f5a98b95582de833a0e48b289a396c53766dc40a6653e3f5216888ccaeea8040528add1c730045144b7c5fe0e83244bf398f4818f27d8c26e8475f36b40b9afddd4830aee66419f7943f9690d1001b241b5e1725a48f1dfe2e8a868035f239103fbda4d8fa71857493821eb00e3895127a73ae8ab7334176e349096c9f57546b9a70ea7e9f34a9b2f1c891d7f018b757168d72e08aab256c656078122602c2290276b0f390f8215782dcde8e44ce8af0ba5e4e76759cb939c888d8b49a26e4ffb05d3c5d45e8dc1677c4da1b265786a5c8630ca116eea0ea755a406bc96102fcb23b3fe97944b0320276aa695c3d2284c1116a9f8f9591f14aaa7e16220d3677c19f42fc83508bfc45cb6a1d11b316b6fa1dea64a0c2a46c327b4fdba438817cd129a6a37c6710622296fae3bfa3e9d833705723700c562171832de368c8ff8f6b6a98c536463c824d3a24ea7df86dbad4cb4f88e11a28a75b3e76b2d663e4fa8827797383552097f9cae85ba1e439f6169167758cd126f0f0fb5fdf1d607fbdc5eefdc383eabbcbf8290f73fa184e911357a0c0dc2931525c897e26d681f4fc4c375ee177432cbacba7540f782ab7ab1e594a5c5a9bd1f0f85eeff4602408f4c306f95c67764df9a6ca534230f010a9d0551719e165ddcd4a98ae97a6db3ca856baa61f8d7870bfa07befd620f0b66c7457149792fcc211991e869db39a0d7d28e5af7bd4116b8830528a0d670b6825528c17f5c769145908c3560ad6993c21114dcfc77770602ef5f9fbc63965ee23fa7a1873b28c00696b52add35e04be62ab10505df55d8cc9374c99ca76d3871dd6ec8d8291f5f26bba7841b5a6a2502fdd863862be9549a332877c9ff5ba336dc03be5b52a278524c9567b4ea9b94ef2f4936ad5e02545b032c81ae85e38752a625f954336fb1af75733c4133be2e3d7dd87a21335f5430788e240ed1381591a6a278b7c440b72fd380c80130c7f75e3319e56ca4bc80f8dae5ea411374f9986b8f202c924be524e513aa4c144e7adbe4a623e95de2e54fdbed61c3cc8b830275802e74c8ca95d25c1411c71de2b4966e83bc31afc3db6aef048f3d0fa909a0f52a59f49228e8a2d6002ae1214a4ffc85e837536e2866ca641ac43686ed1b8c3d9a501ab3832a7e971840172b98bce144d67ca71e29ef473acad5995bdbce6e349d415f37ba0094a81c4fe20367f278ec33d6c4eb8807ad4ab015e35a42636b9b10bfef096eb2970028aa5cfabcc87df83fdb57145970ab028c71935db413e339faaa878fac3de7c2fb2790269b70751001f44f30193e3c1d7d2c0cdeea2ffedde4d23ddc26f2fcbf3515122336faa183620676b9631ae8e0667df1aae0b94f982e95aad6169fbe9a705a8c83a35a5af61d721d97314e392607648000b294b32cc2d88ed0a24c88e33abd8b4d8b6087ae51b8c2ce27751ac49d694c5ebf874018d75fdc607ffcd725356786c36d14e7ec8d87dd6548d8e1d32b5ead34aa8ea45391a21cce035db871e28d35ec6737607875001aa93a335bb4a7397fd0a8d8dae04cde99040877dad81f26b3daf8b3c2cf1c56a2a4e2b262decfb5b709ad1f950bd1faf6cdbf5590d7a391c1442654c7f5cd040d40261e43cd6ca0aa0deb05127b3c2a750ee662f8571cc84a27c15ac0b14d246d6c2261f038263ba7d6ec0e56000d522e3bea501a280bfdac3f481129c7940a6d0ab4e721d759c3dc22da0d6b83f9ba6b2da0fdbbb03ddd051a43c3506ee1267579b52a8a633a601aa7eed5dbe2ee92065d00770f3188f415a2cd39c60920981b68496926e48952a8043a6984e3fc763caec1830bbb59baf3ce0696acf1cb8414155a0774e71a87ae5721209c1e277a9c571d7551e44e7c108fb3584374ae4c396e92de94a6867d53b15826eeb3aa4c736427752c0b4bbb11905c85cc8593723eeb871fc1fa5f31481cbd2afdb89cd4e64c60f723914350146d7a724fe6450699afdf0962cfcad99487d51c6320fb82dd54d008fbc66947836e5bf6bae1b2fd71495a3e29ab3b9f95d4414287d864cbae4a4ba320b901707fcd216eecc0534e07c32df469a836ca167bed6d2109544afc188faf62c15fad969571c1eb0c3cbdefbbc8d51e53b5e49f4c31e6e8c255861f4b741d74bffa3ae3e12bc2e61ab7203950aad66b526861c31ed8c659e56634776019763d0e70eaee954c035c8745c324ff4351cf734db07625f9d92d289a42b5127671f1605df8e2d49603e433b6d8f0a56fb72775ce3b881550b1f17f5afbed015aaee1df6fde4fc50dbedeb0742b2c2402725b51066bf7761343a61c4613691449280e86e28075d45c5e7284a82a82fc9d2a744fd14deaadd63f3a0712cd1dddfa0aaa8fad6a13f71ecc9586b143a4167fe494516ed930408e3a9cc467f653e56a947c3d707cd718b43ed812e9ccd639404626220ec6cd731e0f3d82522c468909c7e58bdd63aa3bee7608b8bdde7660a5b862e6100d4e7515201265f5f60239db60106f1e9bf84003377838b733dc6ca3fff1973a1dcef63c56a46d0f0e0470ce7252dccac39984d89e3f2870024d0958de205218c7acb6750411963239a1819dc5ab3a78f2224ad0b3b8bcb9a859f482555a3d29c1a30da5f74782594066712c248b0eabf373681b2c75d71a4375f74af918c52d4044c5e6f206dd102135554521ef61218edcf3bc40460b6d9190394d23e98d13f9f327730018a53524345414e8800cd5c067a744b344eda37642633f868ca5ccceb5f4bec8a500ae18da3e44a92cfdedad3acb5edd346ee7d041cd6cf76b7bca915aab65a96ead267a5bebe88393898b3e662149a001975dd904e30341b1e79319091730c2a3ab33b08d6a6bfe99945246cf3584680f9ad84df49d4fb7efb289e2d9be6199ee80c20c016a6eabbb0fef81c92389efb650880db579e3917854320b8c0231cc90a02cfeeddb7b7c8c82210b6acbf5cb170cbba431df9fdf2be5f6f3b414ef7c07b1fcb5b49cf373dd47d40226193624be6b589e00bfd71486f2d3aa3f13a23ef255521f6735ce1cffb272de2c358fbdd45011a92a774d1b2d69a67da234ba7c897bcde3a362d9557c23c04bc39d8ac9ff70486af3dd4fcefc0f8b934ee7d4f3f37cfdcf8e947526409247de396ac2fbe0c09985b9c9e180961d03dbb0f8f10d5618253c709f916f9c8d38e3cbd88c7a3a863fffe39476cf2021dc8194ce90ea4f6d5c83ce520da662b9bf4142c3fa9ef8eb9d5b0010b9bd68cc991aa60d07358eaa2ace668b02ffd2fd3017d7b875db069b1edbe99f6b779be67910c4abd96c4d071f44d24d1f39294df1e14339cbe2ca7f9d0da61f707d263d26b5595b9fe3de675e54fc4aea15bf24c257a95ee64441a576e9f267217402bfd8e33a10ce627d0bf823c075f2c841135a7c45a0ab50bab9919a537da84f0b18cffcb06db2188e0f2773f29b455775e344913ea8522242463fa68871264ccab496cb0eb0190204cc3cb0a5935c9104a816f40e76d8125131d832fbac5e80463577ba6065e917326bb7a2b31c6620a583dec1b4f87841e7bbcb1f4dd70de50f0af8bd90a9a27b390553ed534bcd869fd85eb1e5f40362e83a796e44c498c1f5c69d3a9189eaf75c1cf32bd8299cfc744f940dbfdb4a4604f209e47600adcf178383bde247ceb8ad3a26872856c6b41e011ca3e27c88e9702132b2372865d8cbc499eefc5fef5f1099592f03e4c048b8dfdd8baa64645ed08f40bae59f0a872de021271efdeb6142f9b1aa58c20d31b1e81789859b10feb4f67d69337609a0fcecc486fc1e9aaf0ac9940604528deca59c8252b623ddb3b83d5b6091b5499c8fe53503607b0fbd790cfc1f08432255c2808ec0faf0bdc30235b7a81c19d667f06ac28c659524e795bc5b45c7ff4596c660350700ebf6bc5b413cfdbdb7ecfd55e2858f2309c2023d0026347de5769ea49a5a1bbac726b87db666733f5827fc0dceda0541f1425a30aefde31effb8f7216393a52a53f6995a9e6475112d80bff709ee910436275ea6509057b425efacd321e87fe43ee773df5fb0dd1354aadb6869555154e22db082e45c7ae5349b870b0dbeb6633ebcc85a333a34bc0ba9bf5edbf2c8e7479f62e30c87450829248f4079542b25f36f976860209f9bf9a34cb92af2401197dd5ba0e9970120fbe72d2b22b8d8e41cff70d031a4e23fe1dff4a7f9899a6f95c6e3b7d1fc773794d0dc41fea933205f919f2a33e5fc46a43a73f87df31b50d696f7379570b35d548e06d26a82b0f8a79e33171bf878efac696dae70f5ea2eff7ed133cdd6c446c80ecd07de5be3ff9030af40fd32b57e0501f3d59d47641a663d4747a722859347b4b12d98401410310ce5c69e1f3ec2b619ada3c718d5812356190cf5dbe8322ac28bed79fcbb6113d539a51605197db304ba01a291582391cf89c1e7abf49d5749a0107472a990d8d94fa3fd7a72a50f45a799f7c6d6da3c721a5e6a27eaf469bd31daffaaeb78bafce81ab5d5d3e3a169f0365339cd5670aba5890eb973179c8a8a3ecc9a197a564a524404c8d7d49ac0ca3fd8ed23650f09bed43e744b3dfecdb18e59bd11194df50fe971329ffdfb829aed3316f7234e3f8dc9507b9bb84ce8065977c5441f234bc12873811adc88d9bc5c04c9c7376ceeb9358a80ca43645ba6ee5a8d9ad40fd79a2669110f0e3e7f38398632a32ac99a7ba039fdee04cb1d24f050c89d2af7ef42e67afc31515bd0a4780c46c2a338934851df832d22d7071cb4aa0fdb19488b14ec92ccec468da7868081d60670d2cad69ddb9945f38fbd54e0ff157d97112858ea09da2b74855047b0ae7c80cf2ca9bc6d1e90538e0430710922ad640b863bb868b0d4dd7e9f4eef94b2693f480f678da655540f311b2473d0fb735c4e056e24c0c25fa763da3ec6b3a2e5cce4e173f79f5beb0c45d28dd2f7949511b8389c0e603ba606ea77509719f32074887c1c55a818480c5e6afd8680b6ca9217535b094c165576c036116b3fc4caba3a5fc899be804752c991464aa920b6e79e74b904333c77e2520e56dc1f7444d5a32bac8d2e95bb50c130ce2321f38b5f6d11c8916fe53d344bfa48f042e2aca51cf2149ce72a5942d2e2f544634b87d0429c80086f93f188c5b82309cfb4f504edde660ee2e6a6654e4865bc881566c043506e7e9d1903ac8ee97c2538e27c63053cf70fe666c4618aa903936e498e2772bc1b2cc72abe2371db7680572c1340f84538f1031f704f3f4a277eef58d95a7b4ab7fc093d4723abf664ca6f4fabdc867bfaf3055c5cab965241b244d7ff4a71009ea8ed8f3fc9eae29c34e6900576bb95e9d2b3b6e7d3d8c08b28fe5a89838e979b6ecbaa2459a4a12cd6e76ee5ece6ef598e81bf1c40ce6f9168be44fc41c7588866f3a44f2b0a09695b7200d5878c1008f941ec67c8e0a6b1218979811bd1b3469842845db2977a0fb210ec35116245f3808b9db1335798f17116731aac7956c21de9de5bfe3da84bd0ff78eb1114ca73c34f13340ebd7a3d0db54d4c4c35adf40de9aafd4040ebb06c3c6a4698609793be54e2fcb0a1fcac79dab5faee8bfb17b41a85216c7cdb24223e42c7140ccdf7ced4e18f5c6978df3c8bfae287152411a28d7c639d31e88cebc562e0a77b5659e897ac5d87d06d795fed0094b67dad33fe3b5e256ccc9c554e3a7bd17e12e8af1be8c36afaa8b5f8a4d44845111d1ca18858a2b551774ddbd14433a89c7c37e59d459c583b985188ff54f32b42e99b7983635a6f355bc065e5a200af49773ce93dd68736235ac0409d69c1b73fd12ec7c71df630a88f36cfe44cad34167528263313d4a1e2f03dc4e7859a3098233cb8a680f97f06414612d4dff718ba73ebdd08ce77121c1884d62a7afc61026f841fea18a583a51806f45e038755470457200489973f8a5018c9e7fa70cd298c00cb3572ee27780cb0ed594e4102b5904db30761316a04c8037369f9e6d7b931fa0e84e1e4860ac79233c7be7b90eec755c3e5a2f437dd8ae15e89e35e4dec8ce854097bfbd2bbda517390398f7e89dd6422ab886f83285dbd20e86a1569ac58d4c1c3a7a3c2eb25eb47ec8966307b7760ac791788f84cadafc5b3a16ced8bce6e2c199ca0f3f213e60a4bb25153aa60ea6972209869841b8090b260e9bda0b0d776a0be8e07a54789a00ae3b56b658699e6272794b7206f0d5acd79295074356802f28d4ddc00757ff9ce10868d16b9ab8cba4d184976e544f0deb787f3aa4d911ee566fe8baabef9989df2410f89524e42208cf05816e9a09e3a051ab676098c062682257087ebb01930cd2aa12a180fd4888a23771b61253c3c059b26400c1d75816df59a02be93b47af9ba2b43d5a313fe3ab30f26e333c2b81462ac7d39ab4ae5f11bf116e5e95d23265c54916ce4a33e26fcd03a62253312bf9822b72b4a271ce20cdaf069750afb55c5dd8ccf0384c452fecdd306afe14bfb768737b57b568bdd98aa859df33bda76ffc41a7978cca86210ec6a0414a663f76bfa84d4a83a724be7fb199433cfc30ab003f74f4dbc423ddc9ace223c66d45d36ac6c9c92a91e2a7dc58bfbcff799e86dbcfca0055118c7b3ff02bc02f54ff05d4f440fe760096ce11ab4f5b4d4bdd20e3b18b5f7abfb2c8cee96d3d118cb558ce7c0e8775e2f7639409626c845d5a5d38bd387672b71d5d39eb5a07c31a9dda049b83b980b30e2cd73baff09615ccb534a292a2fe9af3b85980988aa3bd4bd278756d2a691995c00e4bcff4b4cfecf341638effedb72098a346079cea4ac40cae70460eef1a06c6ab42c718e69076490a3f0765d11a86ad2f243761554b9063325211e877cc4cf542c579ca1f2bd52b2a896a4351077ca54acac0bb357876e0c3493b300db6b45b410a62b66e046a0c84a38b362ea03239de3391c0534fd332fa32d451339ea3062d086520658e5d32ace940614351bf6fa05760f7afb886a2334a08662531352ad6a9c9bd1833bb08dd5403431ec8133d82e2261313629f0d953895b1defc82fba9a481f6664cfd8b60a9ed0d876363a668633a8058c69b829672f702b88ebcdf47772555fa9a0bfc98e51fbda341f829fba5c7bee65d66dbb1bb1cf40228e5da3f775b92a22eb66fb4490b79e29e82240c2de11d2c1de60b2c1c5da1ceec9bbfb58e02f3c60c9b18373b32f1bc8823049dc87a116fa072642e36bfd8d1b0c3315e88829e03e05181d262261127711be1fc72c3f52903cf8fe87277545324053cda3acc40d9d01c546847531ebc15a3257abc30a46bf31bd28e1df9e483b7caaf29a26386d0b3506411bb21dd2041124b8933dbe856133f567fbfc310e2044db8160ea6cd768cfd67591427957b097643e27f9a0e95d7628fbc75b798e0162cdbf3d30e3bf1e67838b7866d5eeffde495072f3702e9c433f4767fc3a4b9e722c3389aab615f1923b414da45e433cc1d7545ba241f4106804ace40701d40a14cac793fadbe9bcf503a689e82991b6b5c2494ee8d65b148fd02b9db1935fbd70f0c659e8e6368e0491d19316589f9a2bc02c47f02654ef598bddbcacf08d7399862bea7a38555d03265f033a7809f73488048b63e656f79e1c8239cba0847b76207d6386cab6660ff718e64fb0c301c0752eb85aec674213c71a1d828e66e90119cb040127b22bcea0ea8ec1c4e865ffcd39e305d5311bca12108acf16791c215a745d5ee85d909d83529084004af17c478f7dbc4b3101932f3d220cca4a3e9807aee506c34d266490bd849eff7bf060300cb45f64e73ed3117978c8345942da550a30a002cd18a57b9479b32015cccfd3f9acbd5b471387c20ec5b4a850859141308d348de912e4ce7cde7d10c6bcf8f08382eb541d657bb6bf3a04a5b45c60195bc3e0f00fdc4c21cd89fc4b0a1163404d12ccb329965e05c550679c08fbe2bd24fcadbf3beffbf8f72832505d3ecb4b1155d99bb6f93cad6c1af4f327cf095870f0a239bb2613be5f3c11f723234ad16164c7c822cd44a1a224748a777279447747df78bf77a85ffbc15a69feaca0549a248e72fe9698e5b9d1bc4c7bda99a2dee1e7ffa3b2b30606ef3665a7228ef98edb2f470ee4bc3d104508bc9078426726fa7a2212823339000f050d03cf47af04a8f7adf6b4fc74b654c170b3aaece83f1811435bd0490e2618a02e3060ea9aadf390309ef6d2a5d361ba7af0460c972ef31e74f247a27f98d9094fafac3e5ddf62bdf41cf3609d595eda379b649114568391edc3fe99265614c2c36f0668012a14ee89fd51dcce97de2b3e98cf242fb48d5a4f837b79d3ca8f19689b0571a3e1bf6c044e9d399a22e6d733c07c9fd6cd772ef6a7b4648c0fa83c0d55c50b92afeeaf02988b203756b9828f4af6b218958dd75cea484baa88ca17fead3435f97052bad2238ac4b87e9d030a57166684912bd8278243cdf7fca6902e98f06a1321dc4004561a2349ae15f2c26acf0dac2af5cf466d2ca7a9ac4732f9f382ddcbf8877d67224f034c3d4aefbe75aea2a0c816343f5dc424bef41e494951eb19b10295847655437293adb68c2b79536c505ea61ab231465ebb6ebc9b9154c058afe113915d7133a5f17cefa6f26633c739cedf9394ef91b03b8f6053df201df3988aa6b2ed2cfc5e22e8cb47855036682a8273c1538cf2687180f69767ef2524e45da2b2d78f41861590d5ff79c9ecf3db043db2a0d9119223aeb9b98c4361d2da112f08f039fda5e57af5cdb75fcfbf54f1bdbf73439d81c1765b6090ef73dc50ccc28d78aa3f29d2fa60ed317fe0329654ad26cecd08bc0c1b6fa7e2be6f47bb54db3ac9456fda05f675626abfbc6760ca9e6b1d80a3d7a7e3c6220ce8de321e4d86e46c282deacf0eb08ded9f29928445b24f52f8dee15aaf12929e83d518f19a0d8da4dd9e25573cd72a3e0111c05776f143be30a4ab74f7659dc3077932c737745cc2ea2ed394fd669589ab10cff2de39fff5cde9874cb2a820dc712157c5f69df85096e1a3198781afd2d1519c6eab03bda7ad1569e539bf10fc733e54f6156b694a2185abe6a803e5cb3a8cbaedfab0a3f8051eabffa82625bf936edbe118e72e6556cf455606537ee6ac5ca3ee29828c29545666d2d39a1236a344492cbe59b70f76a0fbc197329b2d52cf1330230e5a3d4138144e616280c4c214fcd7968711f7e775958a77f4bdc3c048b7902789a272a9d0bb0c058c76542eb86baf6c4bc0500f9821be2c5cdce53c6b1db215b09166cf2d3e1915fdc48e6b8e7191d53a936ae8d2867b667537404bb3577a9aa6a028398d330acbe9a6f8014cb1d3781a21a64b178f72cd0334edfdc5a22bab1905822874ad75d49e2cc2a1885249832c64b1ea772030c0f9eb9271cc0cf8b68d356d26b045535c45d561b82edb1935331c0d6c80423c336015269e5ec51a224e7f897df8bffaa7a59fcbd496786c5b317269b0e1056c7849c8b015913aacc94446ec5791bf72f339c420fb20ae46f462665f07ffb40ed30a8bb6d937626664fd14fb190f2fbc8f871f8870ddf74e53dbc50bd592fb2a3751d537e6c7c9e63b1dcbe5c7ac4d1747e0b0e69784c2239a86439715f90489c359b4682a90ec3b5c72ad5a25ac476b291d5b29e9f20bb1b0936e0d02fe1734db4aa94b0e13bfe512a2758914ed6df1d4ec487b9dfe94f218bf6afc0b13a05ff1ac6262ef7ce240a764d78365b2974cfec27d6e90227301de1989e08bd8e7ca7523ab585adc33603412366d44e4e474343e9f34c50e71fc5d5c77b9f9e262c23c1c8262385b147d42dde9bc94169597b6fe5ac09f76bc2718fe52e6843330c5eccdd37e33a46da0315356f328f6e087d60579a5f49c331cba8777193fde13735f1d4c75fbf2554a565946d49cd99a24349536e1d7e76ac2b6677d6942aeb428c604aec0e15c895ab6f878e19c6b2790dfbbe18c485a45d9d3d4c1b35af341d0fe04ea92c8602255f04f1010e15b6e494d6e46852adf4f682f10ca96231b720e03dc3f0badf5e52ac9c281f6bec21315e4f1e9b194d3e2f84db76ddd9618580e71a72e8f6fecb4714457e7c82109e63868a35343fd1f41ee7567c4ab4079567f8e84cfc4e8a5a3843bd60ec0481aea4b662759e3325e4c7a4e832f922b16276145669a97f41bba9c38f78b47d07e67e98f1ce552c47e04f7478bf3640038f858ca1815e9116a8c7ee876cba20efc55d4a1d4c5acf9e9fd7d755683a5da55d8cb19341a02a3898484e68b5d1e881c226b0897b8cd6930a825c6c99b54933a14683561e9fb28b92dc93adc7192e9e0ef2473faf223bdc5ee62853ed6316be48348d2b20ca5825d92718c960493a164b619d94a87073934322a75e760563402aeab345b4999ae4cea6203fe820613819a238b6f1c3b8bda7dff314457072ccf059b74537cacb5948988d2fd8c2378e27c5ca725650c59ce5e0380739d95177d9e49b123af061261abddf436003502b7989956f3079c44bb93234341dc966881e92442e5934be1b7d6bbec05ef97474d8a1934bc5efcef782de8e5e70f98b42cb172adf0fdc5b80efaa616d1b07f70f5a878f7138a8940ee64cc9fc100ec51f3bb5bae193784f614bc522088851e7518bfb8f47792e92e7e0196d5a80ac689b6a0af7785d9bbae3e424ef541d9aa973f28eafb5759974172685e217785a0e964afcc15e9a69da47f99e444d630c64c0a9d56892f0c778d20f3c7eee0686fe23c3f2ad73195e8bf8b35b9eed38d8e7bdb2c1417acc3062bf2886566d9163634df72c8280ad4a6d81200a6313c66032d1618a8a59f44f4bcc2168edad69a58cd0854dd1e7925e3f3229e70d67d33cf879cb5c435ded2a6c96ec9c3665986cec712d527249c8ab84846e0fb59d960518beffa525ccc8aea79b0729f7e67dede20afa7572443b973256b83305415a487cee3a0c92c9b024421851494b53110fb74e5698e0071c0aa5a6ace9306bf7c43592d2d5740a76de12edafb3196e0020c555edf311c96693fcdeb30b0ecf2fdcba2865bebc9cce0feabd6542fdbcad3e971c70b79107a5556446c81b72e529d2fe0fe455aac714b5d3c4416093c189b1f84ffa4532c7856ddd14190c6ac2942394b744effff98a70214e3c32eca5294f3b0fdffe8032e4b86bfcca17a1f1a95354d9ecdf171973db3437ea031c7d498eb182e882653b1881ae9860ae03cf7f4d7ff63a261cd4e5a02e48370399b0e1384677a79cacb81789d6c37fbcd02d936653dcf6b635218a53edd32a2cb4faf7e14b7a0d1635b6bef49e0f25e23029b4875829e32c7f18e18b70f1baa5d8cb0005ee76f63a9a9f1db006dd51ae76219b1f92cfafdab2ee24eb44fac6feb5333a0c4c2173c793c94af45b277b39a88cac77c38d27a0d3021a53f83aaa2ee84dacbbb1b2f7ea0378b5db546556cf92288e717f63fe38b20dce57840a998847d5a361cea2b3d53426db974d87bf00db59d4d0eca251db01e800d3a8c838bf148f72a2fb945d87147c077d712f7f33553a7b23a236e2922bc41399f5a22c269b47dd98052a7d047a0e6d108db2b1264e7efdc24ca317c18c7b511cab5e77f4bd1eae9fdd080efa9f8c3c9637c4efb5dcb4d4318fe5e9b89e91f9d0d6cd8d38e21978c4d3090d06a6aa66b405290e7a3aef26890b5db7f7ec9d4b1c9f27fd4401e387770c4525200886e9e3ffd3e73809e5a5db5ad6a7fcb56d40ff4b212ded97c79e3047b0be9927054908e8daf4e0d8726052d577474837c70af7a6f4682a9214b50858ebd5ae3b65d0e6447a6a85a27f731d2e226ea41610bfec186be7787b95a7af4df29493de86f367105b98368f82aec8f04c016e4df639d8dd18b2b586b8f8ea0850c9e7a3a4dc92359ec247d757d94a830b307b045e825a5fa57e076db4701536a7f029ba640b8a6ebdc79a540e0c84795728d267219cc970db97181142e298615c31633985e11291f3546b733b5d779f4a3e45f5ba7631b144ff0a1267869b2c653c0488abaf4c49af4fa5f06ffa24917a7832fd2b6f646a08fa8b98f8e236fc955e17a1361d94ad5232614b3bdd9d59d4f3f0b3581e4900fa50926c2c1f87c5d391cdd37f8aaa747de4dd92ddb76190b336325362c03ce14b35a88d8e3eb323ca8934ae1537518f4cbd19151844732d4ce428f0b1096af1109dc3aac2a7d970fb9366866b51a48cae59b4fa9eb7158302b2295b26ca7d57bdd68e3209a62b536b8129944f9a39115d046ac9838769e1fe4eecb80bde49cb24bde52e8b97dd4c80a519fb707e13bd7baf90ae8bfb2a6b76762606ce3363113a257d1f16426f1b611c18448ebc5e7c775bfd6c826283b861cdb6e2a929bba54cd13eb249d07586408a3aa49f40ebd4f4836df0ccaebf1d425967caf0d3bb968ab470ecc1ea88bd3e8526d4ac32a9754c904c87c7477c08e17d85ae650c28e58f0ea52331838d3784aa67bd7f0dbd89557a162cf2d92eb43b8a9ff40dcc4bfee964d03cef5616951e8582e7d460aed1c33936e76fedfa675c9e3be7ea8ade9e5bae8b632ac2ef0d929f54f1983a6159a03ba8e5e1c84083a85c2d69c638da9bf25ca355ed045ae618301244ef34b177c8b7f0ebc203c7fb1410d1435422832865a833d0f90f3ecf50c6ea95b1d0fef528300ddb69218507501b62680904f7dc079ae90b2038a353048fa2914ef4f23740ba244c9676bb88080da63f7c89a07dbf0acca8bb22335510777302d47747222825788ee34f8649520a2c17f3ad15c4b775421b7546cbde12937fc43fa9e3f8c29fb98658e0a508831eb03401b559e45521bc80fcfb872c525450cbe38610074ce863bfbcebded532e8823cfec2373262ae782ada4033a5837a574eb2d2fc7448f342afa5841a864c18b5b8e0ac94790bc0e0f80452009dcfb1fc2ec36355584ebf836687fe812d8575051c6f32dbf4920b6c4b58fe14c930a3adb3a4360707e559b0544647c0e78114cbcb61ca16aabe0e33c2e1128a401bc5d3b5bf076451982499472f73c9ab580bee4ba4f70e4567efd06143aedc9d0ddacc2461d295d5c7937a2655a0ca9911f69f685d6fa2a363c88b234acae9d6c31e292bc794a02a9f12f15fc78c4cfa43628c16e3cebccc93f04d9b6381795764aaf2ce594bd15b54c54aa332b9569a4d8a1d952df82c84467e972caedf9ba2909919a08cab66adf756dbccfc4e6fb411333a02d05c2a37688403b2e1d08fcb1d44cec839fe103203fb97cdeef5377e04a1ce3d48dee4a3f210160b195f492922bb538f819fbf640f57e0b2dc1d0639b5cf018320f5dc144beaa938a707cfffde54e8d6ecb3b101d8faefe433611a14da5d1c2399991c14e155df7d778c170ac48bdbb57c5d6bfacee8d867d34e9563413047982fe60137fd8ad35c8236e2315ddf5fd5240ba2c86276f017f46a3da71ed8f83688f1a3a2d5a212e49a8bfc761ad6036ddae952636e9899b7f005260eb402e1d0a973ff8b2fb6ce6b750c169f12415e87177a8742913531ba97bd9bf49873576136770b3296776e03f3ab8015e70fae2563b5c681b7ba213002ba7aadcfdef914210420b9167a34bd0eb17cd7d28d0f9fa189eabf538e0cbff66458dd287f86b148d15fc458ac87bbd309ccdc8e7a47a806c4ffc8bc969b0a9224464bc3a57ee85f5775cfe13b1566fb0b7ca4b8c737f9ae6f34beb95053b76109051d49f4b876595a3a6c30f77cf25241dc0756fcc1f0841e93f17d26b6caf0cc07176c371783ee01b07d376b2e54a0061fa9084f6ea7d6263dce6293720fe36a265749f1e256b53fc3ac8f961ffe015192d0f818175acb9a178c6a48c3444dd70af6d41e0dd246fdaeb1f42ee7a3495f5f6111550473f527b0e2014785b261314f0b5d13833d1bf34ff92de30bdece6fcdb0e6bc6b3883c926cd78a36f18a0510239105af0ff0c43b03d4c4b26bbd2c2fe5e9a4d93fcaa563fe7f800274c149073ec08c6428a2a9058d3e7a0ab44c4176574936cb1289880efc39971fce267bcf2b9fe9da6ba9ed1d09928ce8a87c3caf90e100bdb774027d5f63562700e340731843396c6cf2d4222de52e223db4676ade042c307fa2242be0148771cb36ef56fa9ad451ccfbd1e5116b5aabbb70f61450a4627cb8e4321a641f218db3143cba1cd774d93082b840a6a221d3db981193db2288905111b0abb2c7198e54a18ac0f3275383c6532bf271b77544f9dc2cf7f14040def65250dd9ea47b3ee38437425e41c56d9ff708e6389936e56390b2d603f260636ff8de64bb097333d64052f933e1a4cb5a680b55423dd0a0902591329359dd49170d28e42c106f749e2ba81b70203a8167ac939ba2e7c8e82b763af342e8090c1cd2784b726d60da1bbca1b550b54fd076f805617d04defb280b59656cdee26412894bc9239d7b0e28ff45affd0ea82e9ee32ff433e5c063b5e6dfbc3170eacb834f06ca1767462cbfe972cb3ff9b78bbaa7a7cacad1afe75a4bc2afded45af8272d67a72e62626eec44e56da239516857620af51f5303a59e7fa827eb46b96e482643ecac6d36f867c397cde6ace0dab443badacf1806a88333e0b11db0dfe66b9dd337ea744ec60f645abdbfd7f46b68d63ef994fb59bdd8ef5740e7baba98a97d488371f1da2019d793d777a0b1a609c6ec382d0d5f0b165edf4f158a03ae7b6c79a30d437c961f344d1cef943d96ecf388b0507c8a284fb555c64ff3f4fd82eebf34d9c6447bda75324810df885b43b9004a3bca565d749d925d80bbac85ee99262dda23b0d42fbef1c745c520a29c04abb7f449c6be460b7e6329b18e59bdb752283d7743dd84cf91827e68879c472d8c66a84b1a718542fa3bef148df999f2c50d2f7ca1b66dd06b6caeae6303cfc47241c6938ba21b82c0c29642e86152224e0463492a57ba740d8d307ca50e1ede00a3e6c44f3fd79fd6d45192515a5f64521e11349d38f6deeb71854dcf3af25e914aac2a4cbb8415cd96c19508224a6134cac4f40b70c3f58ea04f107a5bbf178dfe72d94bb62427f0ab34a78850e3f6ed593cc965ec08e0fb21145447136e14ea919d1aedbafc14276e174de9914398886e6c52d03f123939b10aedd52f72fe1db7eeb0873855fad5c20ac3464d8ea6844532df4011773ee77c1f72d889835110b22bd4794951bcc33c4103ba953945c1d360f2f396fdb94cd46b9cea9b4ed41b82093ada3b2482f9eca276bd9fc4acc9fac32b7830b0e030af261157a28d30b50688ff6241720bc113096d708373e11d44ce83f9a0f9c215f8514041290278f67852e06d5d8a440378350a73dea51d592de5949a8931897bb3f867c2eb58b9a712816af53b8e472ed5c8050c908b7f8fc73461b7d286ef38e2f51ea007c10d2e5c061739dd9351fdaae600f17b5ea46ffdb86a966bbe368bcf4a9fa47e4a7a940acdd5d1367eb2c7a0251d3586dd99808129036e305c43264f3a8b92f9146d12bc91c49d25b089fcb9efd4bfee76ddad7467d20ff661782e8c438af3921968a4acca71d658b9c0df303b6f1d613d17a7fa77799113e664e7ba9b118c0e05732b323c30150ac88c3afc600abcee592902048bc6b009e5bbcdf4e9e78087ef065ad5f6bdfb202f77b11490f6f7839e14041908c97ba05df9a74222528db51d25050e38d63d39f774222a5bf258fbf89effe81eae4e7f9c735c151d1ad3c49feacc02d29f9561257ab5e2fc61bc2a142c56e9af4234b983fd634044f5decc9dc046d947dcef51d6cfebb7758cea87451ddc5776fa5d03c146baaad0bef40b5f8c52fac27ac7d38efaa37189f853d0aef809b1ec3999180fc2a77b36410054db395f6e7f064d9095ddf2dcf72da0480d1b24a86d69ec13aba5a7db47fec33daaf772f6cff7222ea8a4e6c06e2add0df88f90932ef52aacd824c072d8f4a41a49524fc734b4360cfcedd44029ab0371d421bcbbb2b41cc2823c3c93e86c943546ef775dbfa06e147afbc1db8206f5903b6f135f8ac6bf8f56e149a8cea865d1bfa39d9cf8f7fc41054b0af3bea5bf53244ae50daac5bf49ca55145d4d5ccee23358b0ac70707f78639332e014e437de3c1ac843f9f1ff41103771ab927f18962461a577e4d3824f1ef08a576e2460ff63d842b223544d1e6b28c204123c78eba1df208a66a1358d25050f795a60dad693c4e08102d0791a91d981d528ccca66a51342ab34c3b3ec3c71f10ec7a9604633893f03cf8ac2536dd50a4ae04d1f94f9b06c38c490dfd37e5e618d6a68b86fe20a43e72e62f05bf68f33fe42b3c5c0085113268063605a5cffb19f6ee68f6dd06a8e1eb7b8242aa369ba323c571e9eba6738ab5a84ed54337f03f454a0a9577518e224407c00257a71b5fa8daa332c2d4714c064adac8d5decfe57fd5324dd622bddbdb77939e224e1da5e1d7e49a13415537519558909a813aa95f011aaf99ccd44fae947bb4c0e59c8f877639c38271ceb7de7011b837b0cf28c18321a442ac87718ae1a7e894f3c742bb95a69012f76c533b6d750bb397fbc9066d6dc33dc2cd47d5947bbb4086019ffdce648f09a875b230dfc4a2abeeee55ab7a2c805416e4ed321319f57f5698979d5c84c07c44e0f84c37fabe58c25513e0b3f2298b77e815950f8afb68b5c194aecd02170bc96bef55ab662c2e9a9f516cc0628daee9699b6cf2c233d12adcd2e704d73954fc5887c17a5db4e242bfc39cc70408149922fa49baa44e2d9496f1d3909b9389896ae83308d26ef7a9955664cec537f6f27cf30a0608b96072ff1ba27b2d57bb5dd69884156e2d9374ca29f08f9736be541e5625064b7138a76a4adfb413432369b8286c76c043f555959dc1aec32e366251e76b4d9da908597a2d589d01cbbaa1272f47e811b1b557315dee42adc33d3f28f7dac69609504cb27b07a4555b24d61d6ae36ab3ee3f7c24c291ea7401375ca8ff1ee42ab257142f99d301782a5766c62fcd96efb993ee9e22a7884e5a4da9216f4f66c1978e9bb461a2832fae5bc852d8994df045356536aacffe7ca16c4825b9ef067a4170142a0325521b58b61d9762bb9eef05a81334a8e4932e6eb23a672094dfc91f1be0cdc827a12c4ac32bb26b3ea20b0bb9daa3f00918c2ba25d95db67c2e6b4025914104ae51e5b45f4f99288297b01a53da375a48bdb2c2e9553bcaa29869c7f23d7132f89c0d6f7a75a7a3911ea9af30b31b2414c04afa5a2a89d9abff6e4d35b77759424dc44e14a381092ad5dbed2c31ad0499a87b4d6f1b34600a748d3843cf6e4b7bc2791ac401d6004ae6c986f5eda7e52c1437d2167fdef455784a020b253aa671a276460b61ca5f2d27b59714d04f218be6ac0817f31971e16d275ebefdd862f7b4c36f0aab7aaaea2429719960451ea3cc8633a0dbec5bb26a41c8bea6a901402bcd54487e094eb21f8a3d3d70e750f37098b7ba7873ad8fc4257c1ada395418408cb769c1cdabea0d4bbeeb30b11ff91b71a6b61c9d255654cf925021311d8d4d8b19fff583c25d7d6af15d06a1f6c28dfe35494027738ebf8ce76d27a8b11b05559f286c5fd2f5a6380b5762c87481d3ec247298a820603151e7f9cfe11d69a065fc0eb51f5ec8372111130bbb74f0c76ed45305159fa1059ebddfa4742ebcd3b845ebc239a0058bfb55bf483db57266457871dcdf1fc459bd736f4b461d6dcded46d10dd49cf40c39e98eec02d770b4aaf84265af75da189176a7b8d40531195403b78ea68a74d7cc19e07d90fc5fb333f44e0c9dc7df4a183e4401abbcb91c9ddea8c013f2d30410890c93ce9ce01adecdcb82a8220d639dc36da8ece990b22e93b9a893d62af3d83bf285f7de45df1de24adab047f26505f8b4b20fa8e4394a4dd576a6a68a48efa5fd92b8c201c928acff99cfa699a4d0f696ded6e0197898716b2f85cea64b5ce640bda4ce49b14a758c4aadb5d1118fe74ddfd0c2407680309030d0626cd87a437263bc4957f22c40b71d87e0315f35b2741dde8490a0370f708cd1194c7ac8b2a18392fcbcce95fc6e60f2baf5ad703f02da0aeb0cf9421ed1809ebab23056ca8ebe5412eae1f232898e73c108a21ef9711818cbcf19ecc8439008ad96ead171d4e098c3d5caf1347145b0606d9d9689c7b4d2958c671fbdee7816faeed7ef36d968ccaf34b92e7ab79ac0bc37f8ff6f6e57612110d581c1566d666573b7077f297acedf48963db1c4e34e2d26f85314fcb119aa456e1e245b37876490cc38be1b94dd34c728311d6df7367a80699ce9883d91f86b3239d4248a536e5fb35d52a53f236e6abc5390c2e150db4dd3ecdc8bc9e48aeb43349c203497887dc140e275c43ef77d6e2cb77d45a5fbd989d27d7640587f865b148c4ba28fdd6c75a264383e2e5820de9184384a8abf2a12c9c90a89d89d4d4658a49ba5280e87d27b4a73fcf7b971e6d80c38fc65e8fd3e503499684d8e26d75580a0d615956d9d9fe7a11f07367630eeed215b64b7a4e6f539aecbd633ad47b72986023194356ac05bc361de6d6981aeb3f4d0f7cf9ad6080a94023324f26a4283ca3fbe72e8fe0f4fd881f83852c9e1810fe6881503e2f948523f593b069eac9063aad886805dcff9a75ec66c6ec9cb5ec050282c44f460387b3dbd124f274308d1bfa88fd7f7bb0336041365ddfc426f23ffea84985d0bf126256af5622d6101c1cc4444dfc84e05238871b2fc94cd6301cb7e89ae4748069346cdd6e3fe95a7e7f4ef14ad16bd584fc4b73c2b6e433eeaa2d9f4b73ba026c3eee4291ec417cacd7c8ee670ab3838dd7c4cea2b2e55381461c7197d103b94789885fc3a06977d277edc8c2fe5d147b73d0f5772b0dfe153a6b11167df5eceaaf10910c3f260d7cf1b7263d18010e7c90726c8f8dd2f9b731bcd947c3c1bef4f2dedf2d09297ca6dca0e4c1e80b26e98d48b7ed20010e292fc28d2580bbe76b1a7d9a83a18d1bffef66ea60d5acef37cf3eab68fb71c56dae74c7820e942f48f2b07d093ec082e77ca032e8615acbf169894fab5af4164c5496a9ce964b49b108808c909a5b14ef2569b15641ff901cac5b4eb87a641c0cbd6da99fcec2b9a01cae12472a8e208619fa5fb76570da80602a83d46512e63b7f9d3ee591225fc8d6c2bc2d4ba78e9be1a9ca250ee8f358f4475d71f82aa7bba841d57ce8dad26a677216302d80265b782fe5f6d832c79cf545327841c945bd5ad082c3f7dc8ebca8c810ed48d0c19f2b590ee8335470200b2c61d647ee16eafbb0ca2f4bd1311380810cf53795abe621ede3af6ca2c164f5e4a40701fa384bd4e67f66e3d01e4d65f7178783f308e8edea94cf85808cbdc021b3bddb943b408881b524d36d6d0c98a47520ba76217d17ce835702847b95cd5f7d20affc0551f95c4be9db3c0ccce5730d85f31c8219a77a06d112deecd50700b8a80cd4d329ed64f75664e3c9d999cb77cd57c7dfdd6f24762c6da8fd1e0a3b3363ff3280d6dc1128574207ae5249c422db4e5b6c36c44a92861a79f05fb06633d0c861bfae9aabaabd2959f13578db03d5dda423f808b1025ff00b4f80ee2317de1023a5a45bfdc036b3fbf0bd89bd11e1c8dc18f639d7eaf3d0bd56ac766916c553168ada6ce8539731ab99af54beee92082e23260f52768b53dfa786eb25a9c8f6dab1f3a2a1f20b877d85e17271a8f2ecdf7772f263eab6776ae91411425c84a906dbbbc18e9eadbbec3ca854f484a11eecb5a2d8227183876acd93d474f25aed1af488ffccfe8784e361404fe54f5d9a9404f7940e530f004e563b97ac362ad075c906ff0fcbc2e819e907dade2e59b19bfef3317e0640902fe1ea906ccfe190fc627e550478218e2f859e6932da8da07b51a1ba5bafc5b48554d485c4e0117302cc28364e6a922ce29b89325ee3b451e7bdeb3b89f1b22b75b437bab955e1eb768bf24f8ac671bfcc3cb2005d2d3c31daf1344e6a0e0a61177ae0598c5fd49a99050a9e7af5cc58bbcbc51540db4872f0ab9439beef2723858112b7a8561f5b6630c97f7b62e9616403e62a84a87f091bcdc65bf560e600f72ce9cb10789395880421e5ed11db2c8bdaf08478c6eab907c7397e14eb100090c0ab99f50bcc5221983c1478d9a58e284d6150ab702fb2aa9a7f4daff9449f1026662d5dd4dc1b6f268389d618ed28179020e25c6a77fc878e2f81c548d7b178be58ab5f21b4eec6a99f934a4d5b92df33f02e166ea0ccd99035ee85372d76af07f686a14f056b2687fe62348c2894fff5dbae44d48607b1a931b719bbf2d8a8b8bb416d56f77a249f406f5a2a347f95e3188b553c0c01759505a0c88ed2ceabbe3d39cc21ab887c14267c3770b6ebf310dc2415f8ebb70d1274918a9c84ae9718dbf5104f8013059d70545660cfe58d0731f2d69e320898489340f87dcfd1deff96bc8f60ac39ed98338447663dcbb2fd5760d10ed787e30bb64d43958cff763d08478a211f8430bd19fd5d5e4846a828c1c296381277b2f84ca8acd44ac1161199905bf980fa89b4c19f3a76db8239686dc4dcf302c2d9afe26d7a9714996f624a209a6c2d4081c44262cb205dfb4e3ee2d17ebc45c3000d6d83652d52988614b3d634b9d1752cdfe4a9906a0776335594826180358ea959bd675cd7a917afcdb6e88ea591f86f7b751defb476921c0950dd8f3cb6226660f90d95658c3bf1ed892ef05a24b775bc89f51048e5df4f9f2881e781cc05bd095f3d3de0afe2994ec017bf7fbe59e491d042615f8de11695a7f1c6cb8164d37f125aa312c41971420f814f482f7e635acde35e8fed0eef713aca768880bafffbcd44e66a438057cf647e62db3dfca77a3cd8894d85b2f7dfcfcbdf0e99e18ed4f0535ebb2cca2963f29561a1288d724ece2ad2c779cdefe8e6937d8adc32db70e156e971478692d4a22d08249ad80e24a69a4857d33ae1836cb77cbf45f72dcba6923933ef4455f472d529bd3a2629fc71c68728e1de9a7af49e6db2cf590a39103c4521012e6f4b416d403051d5f4c90daeab2bb397f3b6281b7142b0cd97d200d8c59da1b09a8cc6d1887b17d2020166c70b9e9738c5708e15e2b02675c444861fbaf4e6694c08f34dc3df98c5034c7943feef432bd8b3a45a28719aae8734b79b9ce38229ea87012a8402374ba07b359ac95bad12d14931dd56f3a03ea256241544c39e9279dcede370e3bcb35d283c7aec9be04756f371c182443be79d32c88cf3d07be89b96dce9392bd31fc291d545a6cc7d7d743a2bdaab350309dd8842660df137c8a95527b5f4e20fce136e7cc3dd4a38fc78bbd74a7d455fe87ad36eef9ce56a2c427524869049b557fd2af3a4b622b6a20f68f33997c71a9b553b9c33a3075a8e7cd70f8667eb40562c08e7d974d7271c5e4092d3350ae64bd3ba1da943e45583a23cb8bfd36ab9d8c475fe13f70a37cdf59cc23e119775c24bb12cab6dd0c733e4097f59ef1482cc7d7ba6c109ff74a2205bf91d97d344bd2adb9d079fcb3e7599d774ae0f7733e116dfaecf26468c8520cf70e946d68251bb890e7467b1e72bb819a9e1c372a664ecb25331392b6f95927a7273b327814a19413d752ab6081811166ab25b85d90236cde03285c46be11f2ac65d1abf38ba74834084895e5eeecba04837602b327a0501591d34eb5953a738a4451295501640fe59db0bb77ab4678c8e2125f0a556003ea980817f5b001fecd7c5ca81e1098846f162c75f3c71d2467bcb2d5f030eed4b63f7f8e94fed523741fdc969366a274cc8271b98c2a0c68768facbc57036597aad342dd742219ee7055ed21e0e88dcbe542326ee576a48557a8a65505b65b068a95c2c9a5875c49bfa333c608f5fa0f7fb590ee24d56f6c6811b3b2be74976a95ce932bcc962720266a110a55c62fca12c779b2ece5c3a20289cff2161652117113bd57865215a56f05ce7d2015cfafdeed386a418e09db469ee73482a73bdedd6111533c0295cf256c47dd994054a00ba6106580317e2ad3852c08d7d82014860e92a1e8be5495ef229bb4ee92f1480c355eaedd56c7f321b47bc8e019cc3fc01b09430beb0da60cef5de20cdd045704d8a2cba4f080cb80c99d921a8d93433271cba1d66ba60098908bcd04917e1d58fb008dc94e607968204e0af0556e180a86036eff72a1a23a2edba610bfbe782c3c4e61753405a901a4faea1b26ce57a58ba6daf85d5b48a8da59b65498ff23a75e77e05fb871c68551f8ed53ea570ca17592975ccdd62429058495acbbe1fedf43fbd6d328a279faf7fc0317ffb6a1818cc2a6bbdc0e0a6bb3c8c23e888953ef52adf668abb71e7df85fc77e8778b571c023fdd8b45e2f83ce696b7fdb08fe81f6daad02067f2353622fa0c2bdbd240da61928ab5a83f85cebcabb125fb27124ee161d3dc83ae05f850bd557df0a01650f5716a3befb795a1ecba214cbda3b8830dad199f5878fc708ec9ae76b8328bb9f137829fb52812f232be244af8c03a21e9a3cbf6ca202fa5caf9cedef216dfa2a40eb2cdfae486e453cf84bf95ea3e08e410b9456968357cdb57bae30457f47def09f7bc24512549b54f8ea08abe25084f2ec84f7c28fd9b92400fbd04b1250aa6a4c022487c163fddbd9439b44a74eceddd6e6b83dd5e84fa3e997b2b9b5e4f89d478f7cd91db11cdfcb0785e072698ef3d88f909961c598f6c3ffa99608b6c786c776c005d1f79cb0f8eba71cf456101b4280c9aca273cb9f114d8583a144882681c463230cc35d5752065dac753fd62dc9821b48ff13dc9bf940c73f2861c110ef1f87481c9ba15b761f2723a18890768e1ab275bf94fa3f5e7c16e004ceaec8e2934c814589fade13c10ce497b3d6cff87ce2f5e6f9f570d3044fdfe818224a102039a5fe6c0bfd72d44137cac3a9b419259be873a875a99ebc4c22a4adb21a344ec730b65020d62a5425c9a012bbecb895c391b98d30b9b286205a7413b6acb8ff4f8a8a558e03d38b8accc594e548d3e6c49f7c1f5d3fbd483d12598fb6dc6d8459ea21bfa8dcab5843affa205c4eb8cb2a7fe4cb12e967cc83cdbb98ae40ef44e583009cead85e2e9c0e5c11c7a9ac26c2ad7f1b6723bea431519dd048eb443fd33c5e392cef4e2e1b72a88e2d58f720baf10aa17a4baa4b0f2976aee1d448d18070e3ea3827d497d8b8eda5e1177be31cbdf0172422b80aaaef03005d1a1ae1fb80bd1d6f2995d408f760a6d93f2f25b779c1d0142f6ef385a18d3969fffbcb04456c7722633d16eb5dfbb69265d90b4325f87fd8b5c248c2ac20d6ce996e6f09423ee7bb6e96de8543656fd591edf49e959d62299724d4669b3c26d12df9570fa807c7e8820531177aca054b6c1d7385527c969d2c18f1d70bd2b7351d5720d2d700ca222e93656c7f4a0c31165d2e124589c10b104ec0a20b3fd50b313d86f07a04ba2313bbd5044afa3d753366fd4827bbf4fb4a546eeb750c3180af21ac488317c3955e95b0d23bd1bc804076f9ed3c2798b925235ef3b5a0ec9a397d22d46131d1f7b9ad709b5a87e66c1db1e9cfc0974ae2748903100f863e601663d4743a4191d4ca60e96ca790e526cb04b987b42a531b05ad96dd13916a4f08b385e334b2a0dc4ec44e8326bc73ce20acba884d565642937fb8ae8f3e4c13fc046ffe3e574b1b34425551ceb4d0692832feb7a91a9bdbfd08abb3d74be444e1f830c22cfe0da17b3119c1782ec1880c2dbf33d50b9879d8e691d5954ed21be29fce82b869a798483495d15880f48e0f967ac60ba5641c2e599f55730ae441c70e48565cfd2148cafad4e724a7129ec7dc0711070b3976a3305485f0b84bd44065b6d4d34b984c558890d8b8115ffbfdf9afa6ae99fd176122a85f818a5339da80295c941adf44d61a238f264dc8393757ff06a69ac3c2e3f07466b44c6eeef4dfd0c64eb4e210313e1ead0951ae46b7864fe8155c6039af0f26dae9b5989b19ab9d69de7497f95596726c35800f7e41c813a21ae75d42ba48e903b92214423efe5c676ffdf67f8993fffa49ef75d927360ca57d5aaf0a374abdd401b5fdf3fbc67b6110d952ca7f90e8ee365a62cd67aaa9b2eff9db4c930dd7e0096a448e265b3e47892d9d364204420b59666a3ab931c4d8ea1f6540b885b3342bd4e2979bea12a4aba421924713a5e1b487bfb8d6c2e0591205208a90d2b18bff7f9ea4e35d04bb26f1a63331eb37d4f9657a3c1ca93443c84e43198d06d427e12f2d5d8c82c05581c739f13577a32c649f031959ff866f8897188dad1a635bd5877e2aaef3cbef9170cb493512294d9e769d04c7b44782bb6362ad52d7a9f8ac12dde463e3f467cf144dc6c2941108bdb9ec7e499e893b7578d9d7435b795826d16da6f885b7fa8dbe72bbe67dca4f090beee5d2f2aa12fd965ab92a223f6e863e6fc5b1a822edb0cca1af9fb3f0b6f4ff53396c7998e9a0248f9158d70e9f7aed7cc36a7f4537f31ae58d6c2e48a1a139eb01b88962066ce0e2942b52ac091ffc132e2e5ffacfebca3503540aee19346d58c11d2044d715cc83dfa8c9b277fd2b4186fe992b6737c0c1416ebdbc5026c74c02be73f6fb3d7bd407b6daa0f643b24845d89a5e8c3f31aea9885caeb13c7ef69043cdea0245612b0e0d3442320eba6b0e6ec2b0a861a6f383f543828de8a6ab73dde43c6efd1e78bd591492bb504d1adaea545677bb8955143d24dcfe7414fea885db41b80e4c752addd34c3d65bb399d17943c82c143df2c41e40ded81a093f22a2dcb80be3420d4b786e7fcf5ad4e92c77d776ba3f5b68e4faa46e61a2e75bc3c375c92aa9a290e18c8c95ef820b06df797caeb01f78b835e5baaee8d5deaa1f1e3cee3c718a8b6c77398f9833bec391c55225145b6d051c640295a14a1f38f110de189ee28a3e4f2ee2cb2b0c320e5449ea2e96ef2052d078a554cf3e4dae2979a57e1e1293d72c12bea1da1c721e3f93e192d4a6d28569d0f42a27071e1259e0d6096c7a5b85796ebb6e740ce68f263242119379d6c0788cd20e079b0022bf9e8110c6fe2387ab1065b5ab684ba4b34e252d6b499df70171351016a2a274019c0610217e716da47e959661e0afda80d303974dc9d5e8c9a539d00c4aa42b3896147235838c589c37a1b094b89a413fbf64c85243ad9b208fc97c7484b8315f20ce094d58b8c65ee13987323a2f1c9fdd1b02060c94541f93a5863aa42533f57cf88e0d050f1bbd642ee2bbdba14a5d5873e5ff8179cdcc1605a526e4327d8edf9f73b0f065feda57be5f127c30262820aad2d05be2ec591bb62e6248432e5561c6717e234fdb517be4bff6ea38074df3260ccfc053e8f4eae1ac7f5c8df099c855c8067e41159e49b72276c3b16d64c15bb567294d0d5c740ce59c7f425294606d46d264afb9ffdfffe48d3c9c6e1aef0bfd17d7b85df537297452b2b1a373c062c50ed8c55f82ef2219e69667e397f7b06466b1636752a2e3755d3025e36c24119b2e9f777b7cc8a1489371131f67a6d64c1ca12ddc02e540b53fb6f88661d37844bf5d4b7f8aa2f724f8d756aa5252a95a60d2313ae190491f30c6df43d7f8563ff1630881cbed11dffbc4a18563daaa96d0e7785ddee082438bf0681509153b34588a0abdf7191f3019fa00911ff55c684987ea77ecb6215472cf074e44f9ab378f0e14e361bd6eec0b46ab0203ae859b3b4c19b5db09644d1c4912be56ca5327ccfe65d9e773b6ae41290ca3663a06a23be16fdb0c2f3ac1b886d32e014533dfa64f00f28fcd672ee0756a1fca16ab67cf28b01ecbc0c9b07275c4d501d5d0841d1941bab61b44df1f2beb5a9c77ea2d22341541af02ef50c786bfeae5267472e3365066e5790d922ba9cd09849ada0bf617e2caa7cad4a32103157e67a06a2e9a3eea7bd737749854a5cef0be76c4dcbb5597cf8ccc51f91ba8b14df4bb236466106974f7f1cbdd161bf66fb74813a0d303ceb1cc56b2bed5ff38e01df58cbf3c6a0d1771a53ec275cea1007b9780065ce70ef3117956d2122e379fa4ef83072f932574565192e32862f9787a98d9541eec971baf29bdc9c0796787e7529478a493bdf5b7e41ac7942590987f00f18554b266e1ebf896a4fe5ee467330994c83ed6c5788eafb502421da17148b3094199027d242a99b09282fee87924d1d2ea4b00d1f411447b98caae07966cadcf620070688248f1233d2d8fd6ae73ca4cf9b57031fc798e3e94dd6e6fadaf2e0d79dcecd445f69bd21dffd21884c8737785d54836b97e6c9da03e9e26ca9edfe5eda3e2e882ad7db4c9559d92517b010fa7de2e2592a079b39a61a13091f1e404783cbdb4b533217036a9990f5bb091b3a699a0968b894921f3e4e6991cb8a1c3c008712287ef61b6515de6d836df123ca62152ca073edd0588aa10c03c2794aa864b873142dc84e3cefbf39858a4fc8eb2b99b641e330d5914fa6dc0e65e8006b9d38ccf5dd49f21664a94618621897ee2b44c895c602fa756d6e0fe1b68af552df9fcc72907c8a5e9f76b628241a6766d071abff83057f7f4ccdd9b6a3b2d00cc303d55c3de06e8d34cd41d437994223a13005bf98f9d7052b32dcc8213f6ab25ff18707e5f7e4b178b246283ff88a9b953658a68e6ce61f1c1d34e00d17082d061ec1baceed0ef41992d10037df8d5cb8b713928bb7eb9eaf166cfd2c38eb63c2b377d36bce6d1a65e5e3cc359c1fcb6519a3ce9ec5ce8334e4ff3838ba63fbb995df47132f0e5113ba13778c29e01b3029ef35ffabef1edef882e42986547e24966fb1982e6bf0ac25f2ab211b45c4133b48bfdb6b1ed6e0fede90e4c6cb0bb75935eb4ccdf43783b385a4cce1e79d0dc9e5a9d2ef48b4313278e344a56d8e1afc16adb1e8adcdaec727445feb66aea234b0276f0f3f045c773cf9910b65035b47d7f68bba5b72cc53dfd8f03c1e76494358801f52ec2657bbc7efecc2c3a67b01cebe3077cdc174a0f55d4d29fd13b62662af0b9a0c0570033a77fe747a9845c8e6b6a11a77c7628af93eda63fa2b57f7b83599393f5095a918b44aa709642132c7ad4d8b2b7ecab41dfee1494be0d60fbbe70c6b910e58b33b30ebc9ce6669c4345f698e304ff16719ca3a91af41dace7291e210a2121ffe3dc509cff1b0d6431c694e0c6325f431875beaf217acfa444ba58264112c81f671fb584ce53b6c241950b59d937c0f2f2e4806227f4142b73dd5c88a6212f27feaf04aba82949509d85bc6e999167f1f82a65939b273a20d4d48bc88542b57dc4cf4763bcfb5fabb58441592e9c908f9932ae54a0849b148a8052bc1444cc88330d22c6a3da76d067e71ce3d6bab91d59faff797fcbd57f08f8a3d47e61c166ba72fdee118788c28200825f116f595dc4db1cd7b4ddaeac189c54136405389583f330a5ee762d116c68fc542ad2ced16d437c192d72dc8f6f12909fb58bba6e3cac9f2afcb182476f2a0c0d1aed69095856542068b0d7d70aa5d9e27768cb4a2b966333e7de4d00573be78b0f7c2f8c143f5d744f275d5318c58ba99c47346c7bf1fd374e269cdf390f63fac51c2761e8cd5279cd8c2e5b140cab2cb6337349b8eb8399ff6b1b07d412ad1df6fc6338bb62662ae23ebc4f1c8920c6fd1b4642ca839d3a5940abf6703ab47b6ad0ba3f2a87ca216b65a713d35513ea9843db237cf72b4eb3f88be2c2d29f0a52b60c073000ac61d3f603613b70937194f2a737d3dce2e2b86b85b00dd0bc30c76f7573a58bc407ee3c035afe435ac99eace493545a6f9e3dade69bf8f68deed79cbdc760b88081ae264bb3477f1762c9bae06fe885d5982562d1811d4b30ed94925ae65de76b3669921c8e8e8669612beae35905b6939c997b83897a711b5df4c9cfbfd289cae638f3d68e51573d5ccfa14b91546f4951643a362d66833398404426b0cdbcc6c4fd05114834a3ae6dd9eb7d2b890f713afb629201745f5f69cf51093708d879e563ee6c3fda500b1906e375dbdaa513bfaeec04c8ffb288ea028fee4306e6cc60ebafb08890099e83e38f1d1abcb24cfae6bd1ebb58f63fa64194e494cc816acdebf071155a67188d9bb38c9afc2f9388cde467456108830db182d7e4995c0a8b45f195c94d6f2aef0e79a39604b06f6bfe5ea0a0485c14be714df2c380e7124e8b577bcbd377dc95f2216514b6ddb83a6f37f7ef1e75e7b6ed1042e12211be082f339b6a74b8c7871d1f703adc8e3cbf28a2b3e015cbc6f0fc42c7139374d61f87cbdd25ddeb56982a57a4e20cdd5df6b078accfb135a0151cf412a3e70b452a87cd405813fcd42c457ca915d2e8290137c43370fa2e3ed2bd91b2ab69de582677ccebefbd753ae348c89abde3efea64cec47edc778841e121dfe886a05327f7f3871cff719349e50dff21d01a5da63b94704573ea0be4fa38a6018556ce40ca8a1fbf3352f765f581884b25c4db66615db8db71706112aef7a269fac1ff4d4e66413333f8c618c8729876707a3406d36c8f87cc7763e1722534be4986f3a2bbccebb61f589e6aac17986b5c8070dea1ee0839a7ba540297bc344e1e50072d3760c06076a1a537926963ce9f09069f34276ae6aa64432c9d318c79cc071a3928f0f0d0c8654d86666e6b8269083f727de2fe01c9add9579dfc026268fe9195c424cd931c883aace9471c4127cacf2acdbbc9ab7cc82ddc22a5d7872fe615aeb95508ad58f53dc4091136415b6d414e922d43f87af4749803da231130bb22deaa6da687dc53b64732a981f83b61c072f306022f68240ba542a1ca8662285aaf78b372497180b9b83300110a917d4b45f0537309cb89c3a0746b940a39c40a9c53ccf55341af95c0e3216f4da3b0a35c8abfe3ca14202ddb21fef46feff99566603573efcd1ef4c0d64c89346506af06eefc709523aa004077312f3a2c026ebb23586cd6e84933060e7aad9e04295314ac440e3f3adaff568cb1829844cc43d6434398ca88c2b41e915bd76e47b1728de6c50a944702dde40f5846fa1f0426b47e7d3e09cfdb9beaea7c549373d8f2215832fbbcbec9d0e49233caa8d02c3575a86e044a69d0c18215f6215c612dc8de3130c5e0f51f5354d9df1985d7fe44a86b7cd6f6ff22787ecd777f382fc681a55cf457f069ae4215008c8d6f9bf79d244c7d1ec592944a406038a64ba732f2b48e72af7bbde67e1c712bd7c95f5daf4d26125905ecc2a82f856a25fd792cfe0457209e69bc8866ddf7053298df558772aed75d114f61e5a4ba0d972f1d2621e3751842a85d121f351262349298cc53d4588fc8729b6e63a82dea813af968d1e2bd7cb91261e06ca8e49a4784e78404ff53e4537f8e1623ecf6472e43d23590f1419652a63a884b189d8bc6324e281cbe86c3a970609f5d5de9fea5d9c570477ca613e20cf59b3baec10e59d87973b051cd96cf57bc11de6f8d259b436751fc907f37b064209ada74233f4babc8bc5ddf6b0fe8af61847597ba9f2ef7122808bd2054c66259a3e89bd147630caeb8a6d7070fb4d922626b97ab12cb08680aa68831ba5d594b5eaa4256c12cc2663e6195ce8e692340445e105cd785f80d391e0817a0a85b6028d74ac1714cac794a6d614004c5002714c121ca277d238c258efeda68205adb25a3461a15cd23ea779a22571d11db48fc225e4c9326924dd177236c1d547a9bb3b5a7af2043c5d5c785d06686b6eaaa4f2d9cf4009057a92c3055b52ecf63dc69db41cd8280208dc57f019e28a4a2cecda6e6885b1555f5a62a230482900db25522f843677fddc38b05238d465c773b62cb2058f450264a2dbf976592994bdffec82e92cdf696c418b4c65fe57a76a273102c6f199f6b35db93d49de32bcf673bfc41217971ad729c968b6bace5d420eb784fc2d3df5e757cc17454618ad6b4361315c926336cd9fbf75015d7cf8c2755c1bcaba82f7f8b6292665aca03e20438b119dcf54ee985840793a30c9b6d7882640090db390fe55b90998da9ae90311f85682bf67a61d16d6c91a065622cd001a8085b3cea47f323e50dde68ad5abf0ec6d7897651013eb19c526fb7af51d60c44ed816e963c54be21ea35d41ae7846aa8af6d025850f88f391bd92f8d5064c17c521ebc0e5cbfa16724f7cb6da60d93c7ae3e1661975991ced526e6d69e76ced95afdb5519168665cdb2efd0ae968fe412abc71a42942ca7556c573c797de56a97807027e1e51bdd4adc53766f98c2c6e17ad17d2b1e4acdc89c4b6f124a7bb14b5a43bf67096da7252f9a5fd3fce5a5e76317a6431b80cbf74f46be8e31adb458cd0e4ae2ac0d78190c40752fe9a66d04b578fc0ecd64ab69fc0affd9ee7ed2cd56f64f984fe76cf54570b3120c102f2e1f68b5d3cd2c292af51af0e196e7be01f4f492d55940bdfc48337920d0fc0b05544f8f4ef732294f82ea229f3d00935d8dbaa473f71f0c3d327097177b2a0817c5557deba63c1db0ff5d858dd6bffdff35bbdd3b3659c45e52d33c5b76e25aca58c99e2d1f49e9b80b6bc672a8916fc2e09ae1aec73a208be32472f667f10152001002eb30fadfe53331147abfbbf1b60cb13fe8c45fb5649a86b1f4e3a46ba410ee4314b10a4ffae64c23c9f76feb8b7cbdd8eb201eec0b10d5bc2574bce656c8bd0305478579845473cfacda1df161b4625a140e6f54edacac4d1d12232bf22ee4dd39c62305e307547a3ef60ab315b7566aad167d0a5038cf82753a7a910eeeea961761648ae1365d23c24b8a2aded52f5dc6c2f8fc283620f8687c472ce2440d4c3bc71c004f3865431d9bc892da06bcaeee77cffc9b5416915f7643d10253a18ca831e50122295ffa3ba0caa2702966cd6a7694a801ae915b4bdaa72e3e7dd01e022510f3c382d62e75493f85be8a047813a6001eef02497845647095926e40ad556dbfa65c6006053c693f27ece48c7b0e8b8faf72ba7ae837275dc3159451c56f223133bb9bf23ffcd272fd9b0b6e623cba64b7c2462b60a76fd79ad1da08227df112aa4a6d216e03ae92e5eb1b573d94aae9b0e30065792f375e9e37161f29e9ea100a5e00b0723bf2263f2350efeff7e19d911b8faae516acaf772478731723eca3a6a66ef4493d69bafd9a96bd933cb90086b328104bb9629fef8ee73a7d3da7a0c53e53c66465379d30542e81c92d9b4cce3226841f746d8550f318f8d895acbdafba2e5ed31a5fcbbb094630b67cbee9b4537538b6e294281953b78e5ab0f2af18d1eda393066ee446b6819df453b6f3041ff6c2d78e7eedd38be0301f72255f29935ee753670fdaa9b904cbf7c7a37e0b0cbae58c71404aebbe6c069cee314ff100f71a55917cdc9a5c467f472b64f89d51a290cef9cd776be041464710807e510bd787545be59c37c90cb262a75d017e21e1aa510fd578ed9a64d0571f9cf5643906d7915991458f50c15480748e3260bf0db437e19cc7cf9eea88d5be87d33016418d117d8caa8f8855139f8af5ae22f92c95bf6553ad4ecb1534c717121534d687999c6f15ebcdf4cd69b6df92216776fd42de1b910956ed450d3f315eb12483669db2cc8bf1393a240374606d92dc450090d88f27fdd187304b0a9b8a837f7a75b0107fb0b11339688d9742130f607c95ef0334cec8d64d931e417e6e303c87af265b6902948f08db4ce07b9cc0bd13f829b2af457a9fc192e815c447b2e2d3e09267d0d87054d8ea85df2ccb7efbd48c69ba11c1ad7f6fa6b99689f9331f2b1b774a01e19255157f0a64b3c40ce731ac769330e22f73ad20cef53b0f50fe0e39eb3bc37713faae18791a6c21abe16827aa505a708c6957501448cbbe628df0c40a8aeff4b4e7984c2287d5d9bfbdd0ad63287b671c8d7bb545304da79147f26d36a2d0d6e3fe367754a3e5ae008a942bc5d7528717561a3ae8a6115fe4c2a27a5e9933cd1d49b06d8aa37b896f12bbd40f7051846058567e3115d070174b559cebb8c37bc01a1de3ed959b534cd4419be3f067c7acb84e5314076596f08fd89e665d6d3db2a1ca459d977cd46163b2d9e6c33db0b637a60b41457e4d49e0837e67ef72357211cdea842badc263c2fbea727106122114c20c5cdb6f20aea88f2f6b9d25c27c58f2373513fbc906dd7fdb15021d119600f9533255e7ab385a93abc6b3e3ae323e7703a8de909ca1f9a687a491a466673ebeb28d9a508fbefa9d14f9369069956c95f7dcade74ccf2a43d18a67a32460a3bae3fca7d2394fd767d17f1d770c189001296049d094548ca19bba6e2349b6b73cad5bd17d1edc02729a0ec642879149764651d42830ec34b11aed7f469daef0c8fd29b229c49a1de3314be79fd55defc424e57714f297cd6b2d5f5403d6ccad0935d5e7867517358c89fa3702deea04887b55648ae419f9a6d886906deb5ecf37131131501eed979b0153f6fb254ba7974a95c6c22278f5fb037e70dc69f63d4f8aba8eb571987435adf64f000de9f342f3b53e197cfedd3f0f8b982142909824ffca83d2a5507b9399960d713076d26517d853380347636034f6326c56b5dfbabe5883fed172224a09ebc044b44be3eb7b77b7607c73b9e52268a80be29d402af5d0e0c1bd52e8662f1afdd84957f9fd1dbbdfa1d33001b2290c632e4e03c8f7ce00385da95c583b88f8eb6f286fd37ddfec3f3538fda2f7fdb2064acf37a3edc4a253859a86191d6920a796ca263c48a9fcdb323f8f3e4b30ef23de988c7715b36dc588977a2f2b022ef3b0a94fa7cf990d183ca52819702b0882fce9d10664f5839b650aa22eff8d3361f2093035f9fac9475e822bc191b86081c89e2de886d40cd0b707501cee0d0af1582daadfc0c9a18058ceee7ca384cb973d8c6356d4e91e0fcafcb82a5e53f48c8c340293d8bc6f2bdc7d44b43f7739f59d55e75a55b566ea3908c4090a77463b587f498bf85cca703d757deb778c810b85e6f9d705c5ceea78a73de5fdcade134f623f39f76c85324b8243f2052ad5db802b590168af4a8528897ebf0c39831607d68950b1bbbaf638e7d6abc7c9b92a084f7ea34c45c617fa89eef081acf142671987ed9f34f4019746d94d131f742d08ba9c35257c1c076d2248dd78807b7a38541efb9e017b88a19cb6efa61bee5e3165efb6b5621eafe78e3cd9b1ec893eb695d23fccde3875024a66f23c6ea54540b5b79a6f39dbace500372678011e97dacbbe283d2c59ddcc2c4f44b7358a50c087dcac835c3441d0c05a4eecd73365c1d27f9202bdc2aa79219f394ff5248c83959a97bbf692284560f2607e21a9f4e6e410efdc07b9dcd77bcfc09d83434d25254e706cf74186ad2d2b5630adb3231a729d8d789a89b11b0602c3afa0e55fcdeda3419e9734adde993b04d3c989a133eb5b0a253c6b2617c8c9bb7df9bc814d1d5462c5dff778f1cad59d76e453929cf6805ae430684430413f5dd7005c06deb0f2ad629773d02c584ae9552f582d8a261b9843702212b658b1a01e372bcd368c6e6fa50a228f06747b16ef194f802658b7ea3dc9277fbe6a740bdda85e79bdddf1cd3b274e4c3dffdb6eaf0f9d4b33a03c4e9db14595e861d97117b3df8e1e204770cb01cc2f5a5c04cc6775d927f62aed58a7135d1190579da7501dc520c7ef4e6beb7c9d6078fa6fc0394fbc5f012fa7c818df470bcdba45ad2913ce46f38f086abc2d6911a1dbdd9097e503518482384b2bbd8461748c131375634b41f93dffca72c4916947e3606a6f61a31bf28515c6414bcb87859f3bb9438494bb6644443466a9d21ba553ed1e6b7368de6c45682064f998451fb75a2ef9e3ecec73e4802554664df7efcf59098448668548261e017431db46df9628369b3c5016d4d87f5f143d75d06aa9da30ebdf8b8dc504298db7845dcde8f194a7df66da0afdb5d003ddc348c5bb10d6a175223c0b5f4ffb18bd68bb9b029b01b8155b46cf17c7b698085a43403a1c17ec2f5d63f25eaa7862919bd06c5736c1d0164c120985d044c8916b3a69fa8cfea13a1b3b430240fc4378420c21d5e5e3f63ce2e0532da256cf7b9acaeaeb5430ad4de34e0348feb675a854e991f62e97d9e8e4e26fb4b04e30a83445096cfb1ba765395834d51ebda8fe9c2ae1dc054a18587a440a05d37ad484d771c43fc198c7b2f4b7dabee161bd365037229791a342c9a2b33ef8975136e855c1eead2ac1f05eadf64b74a4023434a999e6ae96ad5e71e6ab19b71539562ec88b482310b191c5c3f7c01c1c6cce1ca37d2537856f773245105d0654e672d5b879821fffda8900764c469f1b6ec86acf98204977556ee55fe2f28ab066967171b27fb5b7819db8d000912e413d110c34c8f71f23e629756394e5332fb96ec32ea25a8a02d1e0f3a15d2c68ca8cc550915e5e0443d74fba0b2ab04bcd19043fd936125fac843f58adc5f2ab0b8b9151c96b17fe0a49eb37385209842b39a482dfe17c10136891bfdf59522fe4537429bceaff6129f27105614a96fbf6c0aa22f0f7a477d98e00ef8bb36bdfa70d5deaabb7caed50306f45106c00a945ad60fabfb086a917db82ceebd0d491e925f2a01d9fe7b815df570041094923dc0ce99aeefd869c6bd603fd5da389e5f5b06a70cb8d788e4774fda26f6377fddab92eecf381d373b71eadfd40c66dcd447f4125d38a44b9cd3dcf7db4386d3b563ef36a09606b1c53ad16a21416c6520b1ba8a5f7abbba85235412229c3ead5591ec10996df0c3384516700dcd619ade06c8a0b84e9682b1a855684cb002f9d9de498c802095a0e515f16bb7ea92abfe796f9f3a2fc68b12d48c21f478ebd37125c2b4d0ce1ccee2de407b1eab58e74ddf96b96f581130a928baca1b7fddcdf5902499be7d96f2ba85456d68c56fe811355484daaf0a53e6b34bbb8a0b59382129b5348e001db77a4019b4cec313d498f27c931291210da19aa677367fc14636608925ba0e1cdd9a4ead75914e82e569670fe576307f082cb3e691cfc08ef2f31ea6f901b30556393f36ec8e80c64b6bdc562ed12184f2c36c859ef983222b8a6f46a003a9d3f4feade9cb196afd006b49880d0611f8972623f963b964b7b51becc3443d69e6bf88558f7294ed0fbc1a931d9e9e0c747398149dd4f26c3a9d4d83b5436f20c667d99dbf1423d563c93975ec11eea7933e401eb9609a540f31db79264a6aca8efa3c345b9a70386e14b4dd79b5e3ddd5c869c281d24e55c1fc38b583f408d7218b9d2f379dc689d190f30e6abc81a27402fb67b5ec4bc868e9913f6ea8ec31b33d3656dea93cf22df212e0597baa94362e0196d1b4dc19652526d7e7b1391af5a117a2c7f67afbbb1814f5c9368fc2c3ed8ca98c485b4568995b77405e34e88da86a37f3e782f2fa7b62122ab1549ff46a03b97bdc794adcc062c110b8111f893b699014c4dacd31f6cede60a2d09ffc1e767167b1caa481f3e4d37e1d03f74a7274abfa1df3d5c89fd1219339472f7fd03d2ed1011d7778f53ccb8d39662c65821cf4937833f528ff6c0d6cb9e4e28c82191ea3a9f94fbad8f70a008ceafad718c960cb896bb7fab7f284bba9885f7d612e14400a776db836a39f1943b4c75abf9299acf6f89606664371b266cbb49ff8f963efb9faf90ef8502ad5d2912add0f8efd2e516cbcc6510365c02b764c8a2209dbdffff8f9222eb070c78277d97e03734a7adf644936f1d22f1a0d622e8d2ebc967c60ada9152e54b9f8e19b8c81ba66926466818a3b2c8a34fa5cb035b27d4ae144083e444e52b1b3c789b3377b8af78a3e792d4fceb3358e45fdadb15532afe183670f22195746463ada59920f2ada06081bf6a656f034fed5152ea17f8b43bc0ecdaa82a89b85bc178ceaad3b519028da6cdbc292e9a582749799126226a902da274ad35ad68a6a97646b96167efa07e6ddea2a48a2633590fd60d53c115b02196285219bdc51ba7c11b7bcce8a948f416ce5f0e506d56b0826e710a7b64a5fde09ec47948b71322005bbd9a699a1a83d509488439f1ddf3290f3a86a076cd9f9ae12a9b65c35e483cae8b2c0a1a0eff62b1e5414f7f28608653d0915e95b4ff346a3d89d42b5d7b7d6457e5f71e6ae4f4ef3cbdc34066b3cded4e8a21a1259803e3a28be61123ebcd84359584ea8ef3d0c4df1f376a3b5d4c0a39f1fa7e09dfdd078b441c50e5bdbac1c30079e2209cbd67e0d0e79ff3a0a3724bc7961ef2c63b86b75792961071fcb12693a24b950360d90857b7179f69a3d668efbf111d83224ba280db91366f52baa4525bfa1c29f66a0e7bd88c51ab4d60ca5f774c3a26c499c6a36fd4af07171420ac99a14f346336b893c49683b44e2c50b02f5545e3a640e29ebbf14c5eec4526c31cd0fde76afa8b90f80842eb94a7a8092c1af4431d69ba9b2728285b7a9dd28bdac571a42311219010e07ac00bae65cd2a0d7d403d7de23730f87bf93df685cb0e5f11add038d8b4b242dd2bf198c609d52302d32cbbec58a0558ee95ddeaef07b8b7512e9bf6c6e7b4f9e527717af98c76601f0969d34bea565ad5b997b1b3318eeca74968d6fe75090c2d7c8529b2f97f8cacbb42df97195a6cd0278eb7592609852691193652a6294af5fe5b77e0a75499ddb2c150fd0c563158563feecc143b203a96f14b008d0da5e5b7a8b809bd45f8df15d2a7f3b36da3fcaa9b459ec6305ce97e89698b2f8afcb22ef0ab9dd394de25aabab16b46f2b1b235fa38f25a839d239245c7c3f6fb0726b6e12579d58664629fa79b1afef4b3310de2117dadf5ab0001954d6dd58eae33e6bf2ab309a50f03e20e0083ccf226b40de5207f97f65994b3eca8a58c559a3c1f6cac0e402a6b0e99c85c36f31c985b3e58e170582e334643fac827d0d3453dd5a3411f5cec9b8763769403587c7359c112ffd850e890ab63ceb53b1e0f7672b5321a24bf462f573f9852e8681787546fd2558d3ea2d3ac5f4ca1d49f7fb5e6bf65a4f1dc701c52704352444ae60450bb6cb5668db671329aaadfc6ce5609fdc6f7b40af06a2bb2cc7dbf3916bb9649b0dd3ccc5b77aff447e7b0a10785e3756d9b6c8685a94ea6058b6d83f13a69ddcb7335bd60dee888b1f55d147768dbe37fa0ea10d9921a63d51bd17a17ecf08604d440bbf39962efa8576e7dec8e4fbb7bce7935c6a0892935ae4987a82fe642313d28a80aa0026a8a85107156becb17b819b4b3ef24238a8d21b527e37076075f768ce8dbb9468079b4036431d94edb51070f74beba85a5d7438258705fef590f5d4fce2569e04d6b327c6ec9241df2a8e7cc8113fa5fba41805cac3699681958b6215b604485024684e6e84fe0b5883c19fa6e371b463f3eb50ae721ae22e948d80fe5f9d0914accbdeeefc9d02a04150a172f15a2c8626133c59215dd617abd083742d640025d2e6a2914715f5840e6df90d74b0c97b1f3fc8462aef2921aa38aa8419292703d6bae83003835b549ad05d0602a625a53db97dbc1f40b6b3431fc970052a6d075f9caf6292147e6a05fd5f5430ef23b244a6fc109e9f10a676c62bff1000a161f6a1a144877b18ecc6e72dbcc0951a436599c363302e72a9a23418d60bffb8a42af0f367e67d5117e23843cb00e5ada06da5ac0bd2accc9607f1fbcd41735ac541da7208daf4a43edc3a67fedd446a525bb83a6db1fe8c909d8ccb37a096aa3516d7bd26291cb51fc9b07eb023ecfd3e8dc3e5e2f917c6ef40e2e96288cae74904d76f28541a55956b59bcb72b2c4238cbdc0ce52f826b2895d82e257c406bdd5fc00461aa5bcfa10dd660d8581d837c8088553e7e49a490db6938d409a786c141491b3a85f333998773361001dfe283023a1d47196015d492d949c49a183e3a9d5fa0844dde0f06033d9b2372804a8b397e0cfea735248b1421862d1ce92861d1eb73ddc67daff17f805b6e483de51723d98e7e98fb20b2440d3bbcc55c9ef6e4f98e74e85f478930c87969325a6de9015d1c575a962de08c0415605e7c2ed230c669ab116b7ced997073b77637b7a117838ed8173b8aeef27b5a782d11c838e5682a2a08ebed9f9e3e730907a5e34747af5705ec290b39ad1aa8a2656abdb8cb51b846f4a784429c89b7ba98e99767c5657f345a859c2047999c5cd7ded33836a8f8b43d35ad3223fe8ef824a178aba3a153825ec94b85bdacbba1a38c952fa159d34414ea6a872ac1dae6a0399c7187ac2b58a0f167f80c0993c142bf95e681bf9889b0dc3ea0817ab0a17cb5db4526be99c980f9f0af4a969dbe1997e587fda474c71fdd6ea207ddee96b6312abeec83793d9563e1556b01728248fea4c747f789cb9e584323024fdf24650f0b438b37e50e544a722d422afb78abad1904640149bf47777d67205a40ecc817d5a0e762b9fe1e29649a33c6a1e5291774a3150e0aeae6c3452e7170101d0054c7c53badc6d0bdf3151517bf0fc0ddff09371e5aa3df61f3c16426c8b6da312efd2ef95b9909e7898f595c6aae519563ea48d658ba0b72ad87d7cce67363f41d1c46ec2591a775c285326ac406adace998b3b9beb01c5904938768781f97051421a8501fe13daa32806529c559b8e68aeb613b774fdae51fa9d5ac81fdde443521d838cb125638917ea246e99c4cb4963807774f7d6ef735f938a4e32bb0d5992a9f89dfda967a9a63b1483313a26f54eaa208b4e1a951c17bf3b609569f08ebfb17edc9b0f8f589b754648088f065e027018ecd977ee8edcec026241ec4889cf79033a21b06327ca483bc55cb30dee72c758d1be73f1bdd791ae0467d6f298c8ddf2b56adcf98bea1c774ed5943e9448c5c500fc51c56264d97b36088bf0c2e736916cdf2ef98d95d087046af7b451564c14dcf8d9d701140205b9bc553c3e3b1306835fd945dfaa4f39078440136d08ec4c6cebbcb1887412826c308b2c40f094a76240eb992f11d1407063cce73e7d88e8c0c1ab7520fd8b7a501b8ca2223803da3ecfc73f374879f1659bd36aa70a791b2813d350ee8eb726b50585c801e06c786ccfde9aa946043320c72e701cae34b871af383b39cfe75c05a09301e6ef3118107ed14ccfb938ae9491b6bc3cc665be7d147940fb2df5fa4c45ec49933400f4db312ea750b985c7b6353852e4e8ba241afe6804653c81486ee71f3d5b0ca7c7fdaa72512fdf59e673d8f118abddca14213d5871132e3983a5a95df3d718316057ff2b551a3277afef4e36f5297ce9b2361d9ee2fa55b2ba6e31d44fecf129c9987eee61e3c07209afa9ca2ae85356a587eee683fa4c7a52dd1cdc3fc2655bbe0449a1b70b2eb08ed6838101ad41f410489eb2e5f2373b3fe4e334c720861759e8f4ba50e2bd2f05d13d44c43eab1fb1d0ccc60dd86bd1427345d010b6bda6fcea87b4c097c522a480b6f466844b4e7fe8807a685805d97e477154cee36845e404e8e3c2493f26a0041335db96f060125715966e228711e2fb9944de24b01d4dcca08fcf2cc36fbdfab018e5538c1b61ec3a6c0f47df31e0eb49d39afc02235d435aebfc1ff27045dc35adda9c96fea6803dd814010226a1321ff95e00a8b8c9843572ff719b03f4fae2c7b3da7149121a9e4b0b80b4036820e4f73d9edc3045903ce046e10c126a50433c27524588420b49320014722253c2fb4cebf9920298d035853d317e7631ea26ffabbbceafe12d67fcaee7ebbd5676320d29cb85e69e574a6003e1319262cec955909c949d163b12382dc4d0779091f1245b6ff7a7c71788deb529708650fc5c1c290bada684d608088a429fed58800bcc0ff4eb6f05c11925be42565e608c029f6e0d9e3480acc5b0234a6163cf12a38e4ec3ae69af5db3c01dbeb0841189e18f910fdf7cab5378bd30a445952bed76b4aafbb1f6ab61739b403d616c56cf713944b079cba324d1c7433f95f08d6519e027107cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb626471a8c4df70deb1580acba9b0b90942e9f528e177cfd8b29e688855d4ac2ab25256b1ce3fd1609a520d7c80cacfa38d2d5104b01c1eb606ddcea0d467917ddae48e1e87a5340211bde9f15e302d86f24a9136470a5cb38ab22ff1a10e029f899b69a41e855e5e502628ccfe516c6e2f4651143b0f72c6655838820c8c6a21aa89378a0c4339ae191f2e395de21d4582c05634ec66ab01f5b01223885c0c1fa8ad2d4f4d5bc520165dc176797eed231fb87c1388a1a608e48d97fb305383ad9cba4bcbba3d39d507a8506c5804dbfa81212fbedfe9bab2ae81980d9bda39b3b242ae610722b20d5e58adf97c14f7e731e5c04bc620663bc39599c8cd31a122f07cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb64c26ed2147c5c3169a9d833fb32aaed1c717aae8cd99ed507abdeaa501740bec07cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb68f590db97eef7e28ac398e8b7691e0021fed354d67e46258fa22ee7a4824d7e817d208837e966b78042f9f7ec0069dde58910173de7b10388e126aee16f0eeed15a5e8253a082d7f83c078fa8cf7102e9632d9bdcc1a47d27af2e8d652ee315f9d20ebe0151f50822062eaf4399203d0309f1a39e0776a5f514ce4c31c64634a9f600e7e649f71ab5c6c6bc760978e396cb5a84a7a4eccd74df1b545c9d9365b07cfe8e5f1188e41649907f107c4ed411a61102c2a53ca50a5b954b5644befb610c68b3925a6de9aa0b62ee8e6576d43919f6ffe4a6ca6348d91bdfa02ad0e4105b8540bef77ac19a554ccec4776659f01f79373f4bf1b26751fef63db14001b8706892dccf4889d334c0a6b986878393b1dabe6097f9de09bbb2ec7b090f6deb289373e11f893d296f535823a8934e7d20e0098d16f13bbd45126b648f94b8d7d85a34cdc733ab9fd84b2b4a0dc7cbfc0690c3e0c8844f0e8615dce482e934623b67327ad86a293ea210d66bed6c1380581e2a65352cdddcf561ce6636d13bf6ffc0660b0b0b07fe5dc53fdcdf000e575a692735d18f6d05d9d53377ac3143738d3cd443fdcf696e6d87617ae79fa321fd8be59477b09c7a7f40c9549cf25ea8fb67c8a24bcfc429ad251680430b8f29f5bce003333afb736bd96ab216072a050e78ea74488c2bfc4d3b2cd83adacaa3aa53cb8aaf832a4d16e9dbb8ba6a5213a352e37d84c7e15cafd2c3ce5707d9a70e99aca27c153dd7fd670c31d696450f68608e7a618bd0cd9a9c54fb06e9e3e0d9a375c46269b397489ff092bcae40721a57b9bde1de49db7ad01d28f39449a7ab9c969855145fd8c4370156665d03e1d0e3ff25345864f9cb67ad6637a4e157ca49dbd25879f10e8c7c907f1a3b075b62a9915b2a67d924231d58b61546db355b12a0f54735647c1582a7228e0240d58f7aad38d57859ef4ac0c9cd98379d4d74045d85d95e7bac46f6d072e178629cd86c8b740cd2c4e0f3bf48366821b39b9c5bd3101f31bbf25d0c5a930a32c5a4075f4671ad6f329858f526de7493efd47f3dcd22be587f9aa9538132a886d1a72e3225448cfe387ff6ca50f952ad2ff8e35503bc118372bd4a8ef817e3b7c119e85940434c3d01cab0b4effb6bab3f822e2c1bb49ba6794dfe0b1425527bd3defda44f0d4a4fcd9fedc1a8d13d116723a2c4b209dbb04da50461a97082d06692859ee2887010332c1d614812c96b31894d08d277f07d75848d4dcedaa63095afe388e7643dfc9b0af6ba1dabcccbb41e9954dbed8c3342c04948c3e838fba5452b71b13e90233f33a80cacc6eac0f07ea017e58fdbe361f18328eac4f1a24750bd4041f3cff3a23cd9af2d27b178c8a9a839a44c92c9e272966833106c21f5ac0845482348ecd170ecf23443a2cfc1df1e8d5934470b3d4ad73568674d4cfc8e9ecb6792775eea873ad7d4e5f2c3cbd89122131c335da75478c3521dbff64b351cf7413f304dbae558a455bb83e5e610c0ad4ff6bd179dab39d618393c3687f6e26d8a4d0db4d2c9020821718d87d431686bc577df4d1f5aa67ff1f6150e0823ccda4c3569601d4a541631a7e12f689ec8bfbf68e1255cb137e302ead35693e0cbde879cbb70ff837061d9b32833323cef3020f0e6c27410336a0775dc432a38ee630d49054bc87727e2d71c267fc6903d38c1747ac8e82400333d8ef419f91cd7f10a02c9cd0ebfc6018d1fb673663ccfa84f6da19047713987bf76f370186f354fb44765f54c72fdb486fb6f9bff29d889cf6be3dbbc6b8fbb7605b33a42a0da104ef5d0a4544a9811efadc426d8d44ed2013874297ab1238b8b4c3b13eca72a7512f96a88adfcf71f12f2a3e86ddb6a7bd696380d8c001ec1577153effc8c8a26ba463e7f3e5af9fba211500b697cdbe7a39d09212b9af88ab372ee71888de8e4e587b8f6bcdef3f4eb2981f6d279cafdb55611c6fd42d7196fe8dba791435d50c6460c2cd3e2a479f255c27d6be559f4a0d3cf07911bb194ba0765c76e54cd6a9b364b95c0318b8bad07b0b5e378fe3de1be564b194246827725a98c1c810c0db2a86b193fef35f9f11936f2804ca69824b6cd06dcb2629e4e9212d37f56cd524fad8c3de9c2f3a2625adaff38cadbe27879a9a435e0b4f98a59624d4c5e14d7fb6afd2cf5003c620b047d0962e69230145c225d703cdd4a1f5ae389ba7f8711e31546da40a2ec5c8ebada2ebfc23755e571293186df14ce289bfc88d2b318e1c3646e6503657a3360eb101f772cf40a438979f0536136fc464f70afbb267af5d9e836969c3616287fc09d3abb3f9651cf5e537a343bd6562b61e51437baf7fcadd3c9a4dd48ad1c002d23e065dd51425cc8a25d184ff52402cd689de2b7ad8eede1e085985e79aa061319d59726947a951b9c4e059da705f00f04c96c19d62157b171af32774f368957ad26bd598953539b997e18116f39fca5947e20e61615816b905242028961351a4f7f9a8e5545fa0107a2abc33751640ee287e1f1c6bc62d5d3f1fa6f0a84caf4ef2c04c749931b37d55e754de26e5f9643ba403768bf8a19edfc004f749d15df2896bce67a0b038795f88a782ff6535f1387cc7ad34cd44b44ea85b6e37f1cf1586825ca99e632076130d668945fe5753fd83467e569dc09e47f897e8bc336a08176867c23bde660cb2e4d9d1cf3079a3345eae092751857ab633bf85946ca88ac503eecaf3bd735abec61c1c7d074ec3919bbcaa7499240a50c02b7a83812f419e6e27cc9671e4bfcba753d3b67c00ce3cfe77266ed6c3d7599f6ad38847b82e98e551e859488d837236c1e3eca94bdb122eee28164c3508e3fc0841ae688f8ba7bece3ddb16e0809a81c2208f34f81d7af287907ed9f97dcf924d0238fef8965c4ec4867d962cbb4dfdcbb57450f284836dd404f7f69246cc9c7150ac5398558fe29c1747fb179ef84401d84fafc58694504c766fe59e0cc493a1053ca9b9b459f152698a6f1644001f0149fe64151c905f2ab42af55702b2d4b466688492469983510aa17775d8a51a1b9dbb73f3768a9711bd4fa4191daaf0d989fdfd5a3d5ff733caa4eadd5e28d968e2dfc10bd80c6862ad97c09191d6fb3ba51a20471ba8cd0657dffe1ab6b690efe10de26dd9b60026ef4292fd62da1bef457e12134eb154df20ea0d3b9d6f38b98432764fb8bae6a9ec7ebc3c58203ce9ce39ea77520aa1f03e88cca77c9fb4b392c0cea7c81ac6a61a16a614b6c031ec62aa1cfac0c8f13b7ffc527982dff8da57664347e562670da6a7354ec489e2e47cb9b79561124ebc961be8c802628635ea7e3cf44ded479f205e787ceb088f967dcbc1a06e0ae0bde7c6866bfd57ca919786c323b1afa9f5ef4292fd62da1bef457e12134eb154df20ea0d3b9d6f38b98432764fb8bae6a928b1c1f18213e48f0c8ba0593cc6416f87b5746f5b30a27052a20db9e756085a5d0e224d56c95b2fe6f0702ea46ff5a22b5eab1f88ff62b31c88a568dc1bc2e28abcc4657216b1db89fddc5a559ad07ed360cb334651978db78e09e92a9cb118b9e029a3e139d9ab86494981c45689109dc6911b07da29b6cd5150321b3c2dd4a90374ef32737d3ed85c00f91969be4a0ac7c052d08e31ddc52cbb06e67b34b1bdacdb9e1667f9292dbf147d06a5c50654c5b3368a21bac342d59e6a7a013b3ac7ec88d61f1f2e385832bc6cc3d21bf325dae9ad511e4fccfcf40bf701ba626f3032b452ce44b06f08b4df0cbe053024fc42c2f7dd9486eacbf8317e4bde7621899da8998cb3de3bb3bcd3e30c11661a52063ffa791f514333d0f4af6a6a680cf972f5f83bcbdf1a7de1b2aa81f5558b21f5318a3b7d14a2fc4156ec4c7ee36ed399c6acd067f17f12b9b45da3c36ec399ca360ab9b021e3818846a750934cf5f2b7b6db217f390384d56341208ef1a71c46c574ddb1dadd9fd7d7f1c51407411197e2c470874499a36af5dad866104a76329f91fccac004b35ea04a62575ec6e0042cd0af54cec9a7ecae38daab01d4b14ca6da82dbf8af472dc48567a42850b234c82d65edd9a6ca66d9fe7c0168e54d1b1161d37605a49ccab0479cebf672ef4004e0c8db155ebe65dd3704d65810ba45fbc1d60f7f207736ee906bb900a21e9551924b762ca866fabbbee540eef14e008e88aa066f4ecd82c0870acad48273f7811053e45447480031d541708365c338fb8df02c6b932fafd2295fa5abe6d06ce59e4c4474e739d9daeaf6b863b6517daec985d3bc5143f84d3ec2ab9d8f29ca9cc564470ec1e24950ea7247073c1ba57934e734d96b141cba0f382a6f3701fb035ee47142cb8c61f3ffc9479ee1ffd1be22fe3dcc891ef82cec3095183dc7b6af4cdd2704425f97f8809a7052bf0de609395fb28f8a5ef2a99ce368889539095aae7879339d8e36bf036be8a5bb3ebc28d8f4b52e88e3cf4f41c95f11fa454290e31bf0833819d7e548232053063ff7c61cbc31e0ded8ae3a8f0e3b4583a414130509d9dd1698ed0aa32fe4f7fb11010d795f94242e2615ec8132961047bbd7aa64fddf583ffa345e4f6aee98c822e717954a77ee085ba84bab240ab6723fecfb23e98777aaab30638abcbbe2e65fab713d1608e797950871c286ed585374d6880a197dba56e10342dbae4b8eb3fc59eb73ed12d91f18ae19a2236eae7127c8d718ab5fc4bcfc170aa9f0da2aed9077d1c073d660732b59c8bc4b753d7641b5d4a88b7559c6c836e9eca0fde3b2cb3a3e43b8ad4acfbb4fa73ba21829a084efe3ff9a73ae9d64f80cc26129ba56afacf1ae3f9771569aeddfa6a2ce1fc8ef4292fd62da1bef457e12134eb154df20ea0d3b9d6f38b98432764fb8bae6a94db92a90f531756cbaa6596e38ca5f871657bfbc048533739f81e63ccf007cfcdb9da8b2bebe53842e4d293e1c5ea5ccdec36ba13a91688ab68c194c9d36345c964687b28b50dcb5ce66da1088a355bfb20a851bcab50152ffe194d0f6d98d38d7e801287366b3a6b0935550c88d04372c4912f8037ac19658319d1d7de15cce6750f9f36180f50558699131b3067bf3f8dcb55a2011ab36f09fe9b1efe51f02da611b7e434b829111a175478e7c4d933da0aac55968a742ae279a3fd921b5a8b1018be67a174f5353d546a366ce3485475b33d4dbd64007d342cf006e9f5279a645dae2c678a56bb18d1176f35173906da249f3fe1c32fd0c72a5889abefc61c693f64715881e74570bc997c63d1fe72cc7c6228b76c05f2e9fcff342a5f0fb19f5318fa7f1125d2a71c5c5ad5d353b14cccce7a6a5eea0634206c5e40358a249e879ed227afff21b1f7ef7b3abf58aaa9182c6530b3d0c61d153520ee00f7ffae291d4d058a19fe0860102e5c7ab75e6546894949dbb788d2686110d0b4c63e62c6edee9fa77ec96b2bd43228a1100364b36b4a08c0cfec3ea1aa51dbb8bfce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855cbe5fd9bc48b0e95c163d440e23cbe1b54cd39987410b2dcb87ec907e2bad4fd94b353dc92d8a543d5d015d70f2b4a29a3e632eb30b4661c0fb65f66399acdafcf1fe41f1a06c3626767ccad2f1c9bc0dd17e0ab83b13ada6b99f7e599cb5b65f231c550e038bd77607f3882578540414b64b2864c0f3d9f3ce8f7ed2dcae8f25314a100a8bd9d9d8962863090c9a4272538408901765a19e9de48830e974db617399c4b89b4b5d04bb735bd54cfaa2755e44b6fd32b7ff3ce623107181c148c7c464ac1caf341c94d4b6578013bfa0cb4cbbcbb4a08f62152388df42e78e1258ab2037958f2e99fc290bdf8d413575b6cd8c0b099da1b55e37a28fa721ed962673056bf4bb08d5349b146542c27eea8d330eea84a0002b704231490884341a4da08cd6718167b5dbddfb9b7902d16b38cb0b3d4c3a01d436047e871fb1562fb8a0fd14df2ab7a1dbe541bea13293c2101f84503666bcb69562ed1e444c767b6215ef5d1b9127285e27ebc5c0b09c48df6c8cff7a25b821595e32b777cb70032f4973b09f22556ee23deaa2cf1290c8aab95f8d27181bfb9427c6062b40d23f8233a2073b46f006032f99178a7565ea6a70135e449da2b6987a56282f011c3cc12244d0f42ed69f35e0efe4a668f07639dfaed6a3d92990b28336768c31a87912e64a5a9093415a63ee177b972bd30bbdbbab6e588111d1aa3cb9eeb48f6511d15980de9f39a517ff1c9f9918f8200e3183fe26b976085f763c1e21ec4726a76fb361f15e0232babfb1c6663c4b197f7d0b3c775735d8162348de3bceb002e3f68217c18a9de5d270d9b2b0efe3d79be0f64af17722761ad4a068f7a619600e9fc6d4664e0a122ba3a86ad30c5e29e826305eadb4bf52d1669cc9e2ce601953eecf5d3c0ea40eb5826fd610ed60e27d6bbf76aa1f0127b852bea1a5c77263b320c816d1c3697fa8376ff78a8d69308930a09d1d8ba29f71e6b35bf39d731813295090cc221038c66a380d805c6ad2ecc24ace3d4b3f1ae81972151421a63343c373ce4c0422886353d194d301da898b13abd435ae3f81d4b993336b1aab4b14c07fd9bf4ab251c12625f3331c71d1929d92040171d2ff1f91e687a76693daf92986dbdf1cf2adc9edf9d974eb5247ca7a21643302a11d173f341e67cb0f21dba37eac4df3f46b79479e858cdde67debb569f8fdc8cb82aa9aee383b4ff01e07be89f66c3488be84d8d43d3dbc958e16d1f097ba2b9322ad0f2eccbdb32d94d81894aa03e9f8e593479cdf8f09184340ff97f8f8660542b1795adb115ac96fef765b5863951bf7b210252b9d6e9759f7986ced85e387cdf5b271569b336e804c38bd1397821669c1ce2abaa72f2ead542ac1e2890b82a11272ede381b7efbdb52a9ffe4c13261677a6ccac6464b3ae14832d55a3221c618dd9b7329ffb5582fdcb366a3634ad63ff64cb0a0ea25f178e0a3eedcb1fbc306110cdd4d1d9538952056d805592a8c65b67470f5d38c2d3689931ce2a210484ac1820c798e6204ea4d28f7313235904927cbb164850fed4dd3933f9555dd9b0c1a45c8c50a48b6a75b2a9103bd544ee7c645c6472a09905642e7c39e9af8ec4c41347d330c2371ed53a29b008def17d020712e1fc1dc0cb79925618e75dcd13681cb91f900db998bb9137275d8f549be25bf6864a65f4b09fddc7951dbb078d5e37319edefcb50f73c39ba45f9204efa2b651884e8fea711c94177cf107f8d73df7cefd3c010f44021f761588db1c91d28d07421da4c3546d3ad969ef3f8475f5f2238c8579debfff1d278db751566e1a0e9fd03f69e7cbcb3bde586274755e74494e81b3a68e10048cc9ac6903f2cd34e955f7ccd9567fc0191e97ca5493df726885b270281bc507902a0c0520b4bdbd6461e922094ae94cb57480e3c81714644393db8ee726a67ce940767dde4370dbbc598c981a08ec99de636df8082c80bfad5f795ff7a740e035549921696d86ebfafb0eb35c74c75c337b971d86f40ba825911311c6c822b9b5eb0f80219d902a0185275ea7ffef1a7e7f2a3e1e67ef86e2fc8c5f05d11b389b114fb66f86ac3f996b5c119c45d33ae043665dac4a6546a9cdd19f319b5813af4584951a17f725d7f6c48a5f918a37ae69ebc7dc03f50b858052eafe8b1d428f7c84b890503df3fe1a3b17f0d6fb946facc6dd19df9c672f5b235af3be2eb8a2f198c1a63ffcd357cc842b725b2dedf39507bf94faf40b3b6a991e20d69fd9049d5e02ad69e8a7599d7586e3bf72d9497f6d18a0ad56788b082e57a8b80326a902de33c7d3b1b51335338a68c107d0f333f7af006f4e2e83e4ac35e79225d93b64152e107743ef4e2d5bc5bc7afadfa3c1bdacdc1360515ae6c3d99d04724a7049e1f4c2d1b4f828388cbd5f05fe605deaa06d03efd2986e557ffb3d61183b78f811cc8dc209a7d352ea17ec1496c18b2f0957f58a2cba7245639f92dbe2e566b5ec23380ec85a92ab182b231fb0d09fd2b63de0b1ff831eebc81b8293a12f751255559cf8c296f03e854f90f325b34b4db33389d03aa3610d73f85f3d06ce053e7cbec19652f1306bcb668d570b8afcaa9aca75fbdb030b716924604f028aea26f3151875890f0fa66788f897f7ec11976feeec29d0cdb75cc6d2d6363793a9a7dbcd065570daaa91b03a72a4a96fd9bb649cb36dc577a53773c65a78cdccd17830eb4d94e622c8e9a0e704e4e1a1906a942b9da3554f4cae2d8eb543059cd8d61d3338052ca1710b9c1f5203203a0c24a5d76fc636a4a1e8b14e3911fb561bad5b41be520b3debea58658dc158f6ad8614c77bec81c093142afb477057051816ab360871983cb014cf085c768429ab018774f8610f698a3fab0545e3f3f8fbf36523bbace2d69d7236a38fe205c6dd2035658f4714dae1a90d3dc9758d70d6fb7888475863b50a6ccb4dbf9db92a19aa1dd2728dc4f524dcb46b0184143ef44ecce27681ccd8f31867fb7141fde71f81b64f8540a948619838a0abfc27fc161d88f6942b352e066be7ef5905283144e2241117c4602f557a6a44a188fdfb2a8c1bfb93020fa1c3a4e5bc57ab46eafa8c097464512bfb74595e01a68a37e3f7c3da590a6e99a69864c3b61f622c8690bd7b1e15f0caf0b004b3f540ce206e9ba1de414bbb8ab0e968f756850e08e9bdd335efc79f70bc7b2a3f82cb82c176c75b014fb425caa69411811aef5da8b788ad007c6ae2f68462b97c7cd7dbb08f79d9338c8b13be2cc1da4e0343afb52345ba4370b3403f0a8584a1df065f3f1594449ffb68224f09d90b5c860d88f9f800f417f9f85e12852a0eb4743c1fd4b8c84521cee4f6e883016e1b79f9b7b8472cf57390d2048581703a11628c56299592b1c38da95c9087b5ebf6eeaa9cf7b86323923b56bb5bd6f52988ed3bc360e166f432e6832356a7f9db7f5ed9867784c6dda9b3e1e54fa86e9edf298af7e2fc7813c141ca5a5183965d8d36f11f6248e5a328db6747229ea85460ae41e78119f7168fc12586f612d643dc2b1157413a6af8fd5c37f04b2252bbb7668581bd4ab64e15c0846ed08f2547148931bc18d7585ef26982e2078b9cf928145e3f0257b63622f0cf3a41caf89f6b8f29eb3983c65cdbdb8b990ec6271c3bbe512ae3713db3b5aaef47ff0ecef84daa9e0030f792b9f94adca681d8d5e490d4d3069ce9fadee129ce97fa2cf839c812400d644b450db880cc7ee21d4b1a102cb2629caeed71731df5d65f36c7c0dde4d27aaa9feaa56f8eda8b157ec0c743f72ba13ccf0cee60b34b5dda2d762424d8213c5c763e7cc9d5aaaccdc7f2ef6c7364a88461ad956393625f2bdf37c1c19edec5b18f642ad15cdc946d2d20fcacad803224e98580257f1f459a948e5a0c8d5ce04eddf265f8def9cd2426f47dbdb429662e970f36a948cc93ee847f0d97af272c4a5a087c61426af22842ba5276065278ce1dd0872072c410f532a62552676a240eb2fa477bf5d56871c311edea636bb3b87f9eab98d6615b6b1a7fc27b7739e4318581f8901dcb8e28d255c9479d218fe1e85f55778a4b1349b2e7cc9835bed3bbe7eccdad4f2c73e1bd112a7e49012a0a4e102e66bbdb7babcea99a7ef000a2c0a298d063a0a5843e5319b3acfe884ee14188d5d8dc6486bcbaaf75658529a858acd0a6471ad3032a9db1abb68f5337c52f0cd7f5bbe7f0948eb663ce41224ba6643a8ef1f3cc2426e1161bb0dc103e7ac182739323d3b800fea3c798a381ff6e5d38ae0f737ab7e9a6430087418e16bcef16fad3e93be9fdb5fbf87ced466961d0c3190614bf5e8efdb0fa20071f4dc06bab8aae9d1da2a2aaf5c74dadf43546109f1e8140b6ea3f0fb4c9ecef91f5fdda770899a92ff6781e0e2a0c11b5339499f80bc12ca32e6ee4677204cbf092326fd1b73d8ca6dbaaa34b77a2a410568fd91a4610b3e48274b721d916ad0bdf8fb823b51d88b930ec09ea5c15a8d01f5ab1edec184cd71b4dd88ef775e2e36f938ea7fa68d7ec3680ce960c1dc396e3b6713a637b353255af6d31132b48f8d99ebefb214e9a99aa15ff05da2315999c6aa11859a7949c878b9060a4c63d184793a7832094cb21e72b4842dd47c657973f0b50fedf91c55c72fdbd271e0065069305c66656d62034b3316bf0b3f58c97aa70e2f30446ba72c6279428f5c851538376c409752bd39d4d185cdfd82805d3e7d83b2f78b6b0c8f99493ad1cf29ebcd0d29dea87b0a88556344eb4b2833e1dfc079762bf4c3ac353fe182dca9a0d2ef90cdd684117484f276f9d7f343bd24c6f813a7b5dca9708d67bdf9fa9d915d8726bb3956857b0040020067a87fba0f9764c51c89d6ccda8c38265e251d4281be99f0817b91eaf7e8be123efc6ec55684f44e4c0cdc965de70013a21bc2ef5b0f2ec2acb4168e8cd985ea591dfd8a7189ef868b19cb9f5cf4ffa1a20b07183c0d9d45ababc3f27cb652ab672f4f5abadbbe08799f246de312dc776d772c24c291eceadf74a693af6cd3a68e0285bb7c05a31a3a6f84bbce078e8b3951482219e8628cc531e193931ffe7a25fc7722b28cadccbfe1b58ffb8a314dd132b238489dd3632f36927b2e63d2f97faebfa521e02907bab7ef826a72be81a77c918aa571d50e7554cd361218c842318699275f5a5fabf951073985d0a2eed340548c457292cdcfd7b972dce1fb2c3b146cd3e93015b21da21336d9db96c175eef89bd850e8104688ccbea4f4daf91e3a5e9010b9dbde512c215a23fcee9fb37c58c8e986baab5b82fb62e30c06f6be8c4600309709556c31e0328dad4609a37f9ea02831777ae280354ac8d9301753587d9cb98f0db821c534c996b3edf4efc71206abe07379a6b4ab54e6365136e811e61d7f23f29312324a085534b0907c04a8761aa4518d3bf2cd7feaf0c3ad46ee54672bd3fb951b01983a55963ebb4c4d606bd23b48a9293e7db9d434ae7065d0daecf2108779893965fa837045f894b4d0c95bdda7ca97397f7f1d1c0629a9078c446822fd4183b7c7c069e4281b30c4fa6c79b77023b06b3831e8336a3806c301ca6ec2541c1f9d99be1a0480f0d452b46fd6fcd04a7d2406ca052e21ec632d71ab21103822d511752bb7e1410926481be7d0287346f07cd2e2ffb9d44479470421267072ed7ad0220caab5ebb9de6ac0c6aa613601194951b0ac2f04d5179d4788487adadb366d62de7ddb978058bc605a93ac1150e27e1b4f329e4932a5a1ede3681373ed5958750ad4b5ef2ef7716bd3eeeb8d0a9b93c845c4763fd4414eaac25e9bbe0660b127b6aab99f397eb3b76afead53c6e9b1f2959326f888e8c642be86a13207f13409a159f118934d0fe6d136937749cce1a5d2a2b7303373318c5c6a535fa2fa52ff9ad13bbbd48912f126155f1aa968fc8bde68d0ec7ab8d85f5c6986290f18b5ea39295a877147fe38a26dcb76dad378af4a432b7d1b36fd4bc2326e5dc649536286e68082f26ee2be2620db0db57f6b87228a6fd79920cb10a41dd9556a61c9b426c23527b5c4353080b2e0863729d5b3f7a133c6a529d83b995e0f8efe70f0e2c091351bfe4b7ed43e8f72e9523d3243cb39306cfc31fd695815cfe93a218cd78bb2255b662c19426e5b45767615862c42d7eae6850d0a9dcff99a963747d6b15d8f1708fc84277941a001ccca0b7d241aa3bbf5e9cac5cfdcb82da8de9e2229276e5489326dd69613f438f97da59f32722cb5b8cd0875bdbfbba3cde894c9c2d33e4ad1189ae25dc95f3dbe8ad8275b66f46afdb5ff21a5fd4cbbe4f9a6c8e86750226e55b7fe2818340711467c52d7459475482e1ea90efd463262349c205049787db1d0230ba60241a85d635ff5d8be23ab563ed37d917e64f7e46eb45598b49a29b36ee9a73960a5d13d751f457c9dcae6e985b9f28de307c58ca59a5f6bf43d18ea67942e299185f50ca16482674712e6b20f8e2cf1d7ffbc69bd621d210df733a54835b6a175623876763584bd0e5b99e6c58cfed9a082100982d6381b6e2340c09b995e6de94ec4b1541dddcf7db2b9f0eccf9d9ab6626d7b7624686143e54cbe94b9b0bf45edadadef264dd28472f151dbbfe4b50d72613bfa24c9a5af0444fb2d4ccb51d7aa5d71be3ffdd0fbe058a18956cd168a45a09c51acfbdcb1651508e18ddae6ce98c2aa6bb617ef8d4d8871d8ddb9c23591ec086fca2a0b9bd41438b58a7eb1d7a169de2f89ca93b692b8d0de706c83269a5aa2763ec690f6f4b71e6b064dfae00fecd864a8987adace5d897adfc0419dfd411cd0a117ff25731d5900fef7e8a4d9965db5372db5c474e640113490d47230ddd695dae8e2d66d7ad62b5a714e460d3db5df049f0775e3433dbc26629c9f1e7875cdf6ab02711ab62ad71b10c306a24c0bf58717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d69c5324d30c3f259656d744c65e62cceb1f96cf0d259c665144985f05dd61eb6224c059b5a0a3cd5eab246a701ef49e9fe7083721b4364b7909549b4f2074c6f8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d90b0a0ccbd758a673b1173dfabd04228aad586b98234c00e541a9849cb71a4da055dd9515b16238b72819cd2af2f215a0b7b2c4ef81fc4b644b22c0d60bd67af8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d1971437ce5498f496dd8e01e7b74c5d66f9847e970f793df444b757f14feddb8408eb587904240fe4ec1b286d97d8848352b73d68871d9ac2cd0519e1eb0f13e15743e8ee52def9defd372bbb932891e07389616e09b88ee93581bf473c4abcd56892545a3ac00f59d32fa589955ecc7c8140391e769c5fe8e8e66f3ec3223463edee123d01c4cda96353574a1bfa570974e520572c5d5f056d14f6ef2d4bd8a8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91dab7ade865f794712439520e3114d925e2feca018fe413ebcfe493d8cee5c601cbc12f631bd13df758e5ce4578e7bb9f583d1b9841034cd7443002ce038e4141e765383095240e54032af25bd3553c8824927640c475f92f3ccb18479ece6b7d38717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91dfeba6f4d3454741d03435126d9a4d11217d888e1629f048bfe1f62dc004c58ca5625f0e91b2205221a8d141212dd479524139e6903df10c61c9dc5554c99c9a18717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91df9c6ce23c946f9f4acddfdf920427ee1935eddc4d21e66e550327421434b07accdd296b99d551c0d507be24b7f064ea0e72c75dd0bda98abbfaa9277f968b4828717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91d754e5f294558b10e5e7b9f5f09487e11f125d18bba9e3bdc18e1ee935cfd8819789d1bb8dfad8c2f7365761f85ede1948dd52d7b28131d235cf9763b9c7487aef0720a3e143c112af26e6793e7c5393c79cc8b80ec9f99dcc17e504755c8d6ef8717d6ab0f798757b5cd6f482b55b4392960f5fe1d221565e41ee7f72328a91daae064749dac38067692933f39af3b59edb0804fe09cf32d9698d9abfbd61414e53d51525a90d765830d18fd788ccf2dafbbaa81f95ca44880a37cdca8af52dce54f83ee2e137ab73fe91cf5881bf545ff8028e6427b0ecddf37f5a68dc150e0f64d66ebefb8f6cbd7487608282ab86c263e7cf0315c9ba0e1ac201bdf8b23f733106b10c46cf816c49c38903ec8d0992104b32f72d4f03e6c20c63e22672f41173b24d57c59d35c65a8f96639c74cb7c4d4d520b54144c1c6478345181853750d6f43ca42d34c037e0f3b58d7c079b7cffa00390a767e917a01a298952be6dd069985ff40ad2d65d93b55e43aa26a66f9735a63fb8f04717da156913fd45c307413129cd61c26256b894d53c1254d84d9c87418f6444caa4991995a566aac11ec7b7265b22e1422c2cefd65ae6879d8a8b01ba021359a6844fb8318f5aa466c2ed2c121f71351b3f7f819798dd22d539bc380707888dedea0ece150974446200a4b4eb6a7386d903742bdc3f62feeb49fd5be749bf4040d814a93a768dee6aaad91c5a5567215148708ae1e0a262ea02e9ca39b30302bb70f7f7f502fc883eeb2c97d8bf4bff7c6d378d3eb5d6aa5eb3b365735e6156d726635274f4e1a561622cdb9f1a88ce224d7370762e899e9bd47b6527fe64f4dd3fd65f52c1ea1374b044d889342e3a15910430ed19a8aa87d639189567a56992bc560f7f0aa591da6e810f7a5f82a4db9166dedcfff231ce224296ab260a6e1b1a61a826dc23e7bbf379fdf5af91b2a4d20988d110e722ddfd94029035f429b70548aa7a630f853451dd20a6cdd4907e18c3eee030abcd093554e1410b6a03f42520c38e779919b7ad9b1160b57235894d9200f19505e539882d3717f868bdd4136218fad12d0374fca018e7f85892cddbfc8d8f452cdcd1f98ad0c1e1f7e8051b170470773f67daac8b542825c04da97ab2aac84a1a1db98b6e45d84ab7c909fe80cd57d335608186d542d5706c4132329844dd77db072a2f5a3ff89a798a3c7f96259c2763e0a5cf5e02936b5eee7353efcca21d00dd6072d6aaee3011cfd77d1eba50b52af8ac6cb8106a587bd5eaa6ca31abbe718c930b6fdc90f05b6b47522396cc495aa03318950f7759791f4a7944ed28fe36b6e46dccf58a21cdfd878c3398bc66659461ce98fd2491e0835f6ffffcc95629ae4d1578f1789cbf1500f37a3647a9a1a4df8bb333ccd0c224103711844c2f5e2fd554b30fe1f18aeaf56e2cab5e7132d61744f64bb0e6d207f426ffd0f15370e62f8f528073c970321118cf45b55f154248cd939d62fd642e047e7133948815903d49d4ecd01b7bff931570defc62ee695b8c1e840c92bb61775ceec19e551b6e2c030f26cb088e70e8dc84bc2f5769ce8fabbf35aa45599902a636b563b6403dcfa7c75a350ab9799663e683601f84c8e7c88d3671019e93e39212072eadcd1a94345958f486dec5340780fe689a353cea3d6b8d76262bd7aef22b7df16712ca44c264171b17f07d77dc0522840eb4cff6797ac1fc125a83ac27df3ab454b8c35bb5770ef6b3fc8e6fad79b8fdc29c3d152d595d9082ae1e0234bd93339e95630e0cf93e47d3f1a1cbe78ea6c6a5aa0448f57236aeb2148999ed94487cea0c828f76acbb4b8f403e8a19f8cdc39d4ad47758f50cce4cfa9f8a2ec5e73c245d263df1925e5b8e98565520f01483092d8653d1ef35cbbbde38831c3945ace82acd08a14f3228277ccb7bdb80a9832e6691042692b9d4e4f841335d3209ba167e9aab0316730bffce423a626f30bab5535852a1c10b4e961ef4fa9978d8515783a43923db727e10c01119f69ee10978f5e683ce6e5d52c01d5ee50b1d8bf11ea73acf1235a9a74834551578782c2d4b849c805e3c87326e57dd4b8de3220e9992bb295c6130f70435e4f5299b12c5bc4935181256d378ba8fb531751b7965dea895f96d532ced33f392ece181428e07c3330e07f384739fa95f3c24470579912fb8c613807aa8201e5c6deebc241495120f92f3b0c1ac28d9114808760b330e165bed094ed1b13562739f85b28fa053df5dc16a6dfdee7c760dcac67ed703b5220d7df6311c979ab0c0c8a472dbc2e58a66d388b8b83ca9569f4794898f46e0a2be5a4908ca18e13c2948b8e4071cbffa4c2cd1d20cfd3fccfc7f2c30443c7123f84437dfc45f2e1ed9cee4b06825d727952a54920619762b7c347ce1e33a18f9a960ba6460d479b62b1eef87643307f1d763dcd677554080a941e35cd42b1d6af376b175452b53e22d200c2f4f81505dc64f1e48c099405097d022a34f9ef2911830a3ec658cfae6ac0ca34b1c5b64d2ddac4b29498f932485c459eb56f55cc212656cf6dcbfb1492fdacbdd42cdb0fa5557e6fe03a98b2975f3fd9661ad8aeb004e5d27e9ba5b0fce51d48263305229b0a023aba57e50140f53985012d2bee0c664d45e3796713a1dcb69cce85170bdb93ab14937d3b8389a3a3f07676283b6385b64775440fc261f319fa3b9e3fead8d6f79c186afb6358f8ed24921da80a411657b8df8b9b8dbe370ce01aac798f17ae4ddcccaeb28f1285836e32d10d2950d3f6e42cb75079875104ec4176ea6d83bb9910f8d032dfae8e3bcb9e5791f365f1058ba812c8be62d05d1df6417e3b3070070c5527faf49193b09e8a970390e2e042086ac37f6554b1c6e78a2cbb8181ba14ce5bbf303543d74c7eb2c40364e3c3f03fad3698f6dadd673c25cc6dc07b4a7e0b95a19c31cd6c4f8bb3f584b5db9f3cb8e76f44c45fcaac8aaf6a25b108a8cfd8d6eec818b32679bfe00e622b8a79d82f96028e55382a880a136abbed3749c58842573ed1144eae238ff5ecf45d1a6fcc613083381a00bf1ddf96f3d9a3e247a01fee0e278eb5529cf65125de8b01727170eb56ae6953a68b53d557db12b0baf53e10c3d26210eb884968196a26034bc4c20382f7734b02d0b47232d23816013275d934e150aaf8346a7f23849decfe092fc22dcee0a049a4517a9a9b0464646b96c2d26084288308ec5562f86fb8192390158b2535048e2cfc2a82b484860a17e9d94a25475745e78ca1b294f2f6b61b391b332955b1cb96d70c3435d0709dc81fd02b9620ce340d6a8da76d589f55477513f5c665932e3cd46aec8dbbbbbf632e08f882232782425b48f2ff84b14c322547f5005e345f3ba12da10e1811152c309cf243230a06884f025e6e311c1107beebc0b12a78291d1e5a79dc33d13465092c67de22329f5d4c305ac6ada7db26da7a43820614769f69cba8a4e159b164e1b9e4e42085b88a9b30064f6cf26b76c5e020f0a4498f1825ae02343cbc2efacc3e883f923db227663d0369d7a0ec48ba561286664f341d0806a0fde6c4f506c5694cbe8558b423831ef6d841e3cc63df9f81f9a8cc175d197fd283546cf9ec6749eb6ece2316e94ab11d101b6c9a1e7866660b457a2bc734f1d44151def0eb0bac8bb92acf34a71c4294f3d3c6fd747127630a3f330381d908cf79637783f91d50bac10d4263070b30052486f9c05aaa419ae288d1907ea343790ed7ee6f86fef6384fbcf121484f89bb944801e071ba735b5e2507d41a9558cbc3b3eb225345a56088a200af37fd130530954ffbeeeae89e540e81cbb07a9854702c99ecd44d948603a5437d9649f1edd4aced9b7c9cf7ab276cc11b697843b0e6af37c30357d09071251bd358ee1becd506cd0c62b6c1893d9fc0ca270c20d53e4bf890b748fb0f744d1d48caded5a21c0f594f6beb7976262b5542988dc87a2a860c540c2fe2f25599facd315e313f6510d52a3f0a07ae1c83bee2c961bebe3f4145c5aee2f569473c86b5ddaa9bee062750ff3a2070d08228508304ee473598692cf36c460c49bb6f466fa40acbeeedeb389f424145927dc118a81c5ca46169845d07712ac455a66a4b0f3789fa75e9fe7952467d5790527132757018cbfa471fae6b489e3a267a8d7e296b1da1cf453a01ff7d76e69da92e1f5c152c79117b542e9e92958dde6ae0a406e99407dee49dbfe783d3c0d6d7a4394142610c53f55b514aa575d876a691cb68271b51377af7f34d48657dad5a6fdff48f7c766fb26bbd5226cc6187871a84384fe755a2c274b3166d3c32780b7eb1525b71edfbaacef4c143d3a1ee482917514fdf5fc6777d3ab9045e6d83e3c5bc2ab269f01911253f986819da92d3ecbecee1ddb0ef53fcb36ec19349c416862ab294858e031f7162b38922c27442ec54b4c8f2dbe37536bd6a109c1c542df23df99cd7c8e6e701ad995f1e32896dc0e698d5c204daef32402e67d0bb7aa68a2e98f50a272ca131fdb0bdbf7c06c022bca396d3e5f2b6050c14bcb30b8eed2e33587aa5295bd0569719c47a36d38143a89d760d67446b6e99773a3c111a005ab205f0943b8f9430e94b8ee335fb9fe73385b8a2b06f17627929983dcc65472c4da064e19e3110cae6df85e5afc783b94defea24a8e7c47c411d423c7f052560fd1a89633a944ed2a5989e125d8e3cbd8f27e414250e2ecb4a4e6fda4d8981e9bdf406321db80649ef1a9d7ed360a17b46a0ce4523bf55f1bac27b2ae7f89626c407395f5210c3b3dfac262d5e432f8791989a37689d9b677f6d5a851b8afdfba5cf396d01637dcbff1082404a93cf8e94c270ee6eb09e9a30daa9f83856e5cd37f4d6b963a06f5b08bb52bedb0724b98282ffcbccdeb45bc990974b77a3551308ca238112260a82d8884f684df02a0108b120323a5230fc070121c30b98f37a08dd48e0bad372253955edf6e6ef8002377f443d435664f64901cfaff3e18428bc376bf37544a03773f382f91105a74fc093a1c8a770746bf2c823a8418310fcd2a94214acbd30c3f529b4f45a5447bfa363fe30fb304460f8ad52009de8fd2f53104a1a38e2248c4a3e8dad993d477a5ff67f6fea5ed3143ec6bc13edd22ba84d85edbdc542226482a89ac5998fec2b05763d5df8fb161b47be23af21988589fcc9273ce9a23a656a8d004a6011f5bb597e59d3bbf1d2573c238048b48a6d127935bc15633559cfb454cd86a7b930302d32be2ed77ead7c8b2a99603c1b66042b0026a00fc04b94514361d4717baedc1cc3fb1fbfad75552355c4a5243198a7023a6029c7d1945fc5fb6c4762be67512f63043f73ab3c0c9a0544981a7607f1e46e5437f748ef932b627ec9c21fc40c522a5ebca323a84e4ba6bd63031234c5be247cebbdb0f8b1fe99caa132e4fdc0e9e2bda0aeb242453c59b680b99232f4467f0e7f2ffdb6f5a9071241209b8edef5e3f55d043b76e18b5213d62cab5e0e7bee9cdb411c4d389cda5707453b238a493df69945fef1a4999d843161c51616fb565c4171f321c9b4739a1af744a3db5740a73fd41721f1a75528a7e8d57d0976cec41cc3c51f654741167a35eca6c5d6cc07301b614530d6b264f841846cdd1eb9dcc1a60664743524a2fdb8707118bafb8dc5f31465d22b756fc304cde0a53f34ddfbe9c519fb59493cbde87f6f6013065091149e29a657b1e4a9fad52c1a3c65f31ee46cbf72b9edfa8051c5af0dc2ab45f386dfcab0322d6619748d23953c143adbf29e69b76191abb9414c1ffd1021d5f0910473da6c72e4e7ea3b09f30ecf21d1e5643d1da5e4444cb7ace4afb1c400c699f0a401c4664d56c1cc6f4cd63523c1b7ec8ee86143f89914f85afd8c843b0be83470cce24d21644f983368faec5bf611ed2a0b60e786cffe0265e7afaadfe5baf7132efdb7a806c8c22739f4aea2956f91f526697666a6a0e57a4b9dad3864035756b6a042f15f384e41ade0f3f6460d695f5b31543dd7b7a054464327dba0ebaea69dfc19672f1ba45e63dec7b32196f207a8056f46314de5a251fa6528b1635c6e85a5fa6d6fa1ca61512c9202a2c9a7e4aab7469da4e2dcf36fb84e05cd4f260811ea51c23eacb8325722f1b8cb659f9a9f95f3b06ad4c2d7a8498c49b6cb13f2f4e3337377792eacc9beb4909603d4d0f7c958bef9a6475a70b542b9cb681e9b38734e7cffde3f33042eea86ab17a4d330850ef7ff302fd49cbfcfc2b3c1c9c891c6bf1d6fc1712bb2ebe5b00a8d64b709411ddf539a739b72063f791ec8c01d2f0ce43ff6b23b925d4af4689d94d2dbd9e638984acba0ef8fbacc9f7114e2e63472f69ce4ed9ff55f96849e93c1619a78d2485f19350043c1b1741d24231eff55202a2b307ab65621c8f4cad8f7940f7de9f22a7f54047083c37167ed30813f36893b9b20385c0036fc95400903b73d36ac716cbb4bd3d3a1a8136e7759a6c52fb2a04e0789e29136933f3805e9c27cfcb0c6bc08d851423bb9bfce8b2aaf6f8cf55b4363a82674a52ea61feea758b0ecbe9f37080139dac8a927ee2061b3eceee9e4a265ce4bd3bf6718ac17d7d85147cb557204048eca0ceae73346b45b8247d468bf8438e718a0af1b5f3672fee0aacb5e76a0015c04a709eab4ee83e1f2d5b9797ffae807a116d3c9a115d34f44da7259455ba6cd77a75aaf4a06084e49578fb4195c4e8028468ec3c755082452b29fb9cb864c79913f3f87eb6755c04447eaa192932f290be949e12f739115d4dca82881b89d5d613ddccec117e43132ac09eb0ca3d84e9d8aa8ec9a5f5186dffc4de7442ebb00e3a90b7dbcd075c6414b7f0dd285bb1c820de3bb1af2b954261438d682f43060328ef618d2af1d52c05cee372905143362a4494aa0a8da75c61d9cd0024f3cf7fb281574909a6d4f116de24a43ea867016210b60d3b504a4e1403b6647555a375356b66ad63dcb1f5b5c8342562308affcb90f153f96f96cb181ced3df539a739b72063f791ec8c01d2f0ce43ff6b23b925d4af4689d94d2dbd9e63834a8ef0a10299ee9cb8b0595d5fb0261878520b34e5105e9fae12c391f32f0c37d38be1c20198793aeb1ef7ce6dfda072b36bc748f7dfea274ceffae744bdbc00800e57a4c7eaf6c12d55cc261608a713233f8d3c8076aa144d37246de1d2f6452bc3d78a31d85f0d5b54cd31447cc9d27cb57c39ff47b6d15ae9bfa9026971dbc08d851423bb9bfce8b2aaf6f8cf55b4363a82674a52ea61feea758b0ecbe9f86305c2742ef7062444c8128d46416de64210c902e38236df434f4429a57feced565933f09fd48dabd5884b2dd227f4911abd823e713f5dfab1082bb60be925b952a9eed907b4f932f31e869fdec3a8c189366d37dd3c593f50f28a6f5d1c62e73954aaa4cf1bbacedddaee0903950aa0f62bb5eeb4a34a42a759e9bd151a7028366d9042b282ccbfbc7780461dae40d6292c2eb60414312e80945af708a043c8064476cc8f2202334ee01e1d06bdc91253b614872f606e833862224152f933092dcc87a7182b8700b2f899efefc8ea4a0ffec3968f2807166300e46f0d18a8cf7ff302fd49cbfcfc2b3c1c9c891c6bf1d6fc1712bb2ebe5b00a8d64b709411df7ff302fd49cbfcfc2b3c1c9c891c6bf1d6fc1712bb2ebe5b00a8d64b709411d3066534cf5acda6c9d38b61e411f172b64786c200bb2cacd4ae16eb7aeb5f1cd1fd2bd68aaccb62e9a6234c96875b10dcecdc5b92d4e1f7dacf7f7d24511cd5d576209802bcd3df39d5992863a071617fdab046b62047f14333cbcf3c6fa8e71ec8d99c7d58caa84e932bfb20fd5db9001b523321baf42eaa20db6dc9f171beffc0eff0c1ae88f1d8aac6c798890647ebc892d055d3f924de5412da965ba44a5d8a5c167e98043f23a71443fcf5aab54de7c9956e8d399af69ec4a6de78314cbfb04f4cf12c7a5bac5bc00d4b884065ae1e8549249df06c58de8641f725ee104acd890eca556a70bb7e146efe62a3d0cfe9fa05c2c50f84814aff4620d28c9144815a4ff660da0c7fdd7644faef6b6f49d2e76535db0a36bbf507ff2172e3954335caa83c49a3d5e615fa8cd6ea00ee803dce77657b0a44cfee7167f3ab98b1132d7658ce356642971be6984dbc0822a9a10fddb65361e826f50331ec4f2105f16b62f69b6aaac4d2ef6798897c9574af2bc658c14e941fe5001184a11f37f3bc3a25f224efcc265d743bb1bc3cab9b3ff20d9204fcb7239b08e27d5591d56ef959c8ab8b88c831e2c9dab4c190859c7d79a7d323ff3ed97d3619e9e5ecd944892c83ff0b9191c4238ca975ac33a6ff56b77432f85c0151f3114057913da4065b4bf5e4748f81b2a7a09ba882151bb18afb044cdf6e8981cf7461ab38723ef8e7b9291a7ac4cc351a241a9fcd5f1e67d593d27281357376055a88285775d2fdcb6a1dd9bb91bbdc497256014419142dc45ebcdaf196006f8ff05fa6f845474910e52960daf473f287af03d8f6f81818c857c0f34863d8e7bb3a751ab99f22888367d5b0635df56348e79789017feb9394c4be104b6c0e4bb314dd7632ef6c3d8d90a2c966e11fb8452fb9794a7772afae961ab30333fd04e557a3b2d3670838c6cc09414d316969d6bdc23a43f957db77c1997fdb3248e6722d33ec0a7d2700d1208996a1dd2ac44d0a2d2b15035100c5540cbe64623efde8af595a3d5e17b9946ebd315c05bf0af3a3c503242393dab37af21fbd4343ae95321b79804377f9aa16070f5a89f5241d9415295e80d21d5f951550fb8694019219693382c4bc2f204cdafbaafe23368e79b7711b13aa20dab0698d3800da3beecc981c73487efa315030f1babaf2d390c60b9d71df9630a837f9bf9f4565b9653503e630625786ad02dc2322a88c84f460c64ebc0c66c8c9055baf6af2d06a38255aa18c90eb98a2172eca1ead5c99042dad27f679e7c1f99a14c1ef1d5f3b90d7fe1bea7a17eedd90a2c966e11fb8452fb9794a7772afae961ab30333fd04e557a3b2d3670838c9ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c0641b3d43f2986e1d7fa880a79965cc1d2324fe3cba9728defce53e077a123a3c01768e6bda17c21f012a2b95aa55db3b58fc130476adc6a68e3c02e1e953249f1cfebd932829f496e8f6a587ee6b1cdd608cbc2378f01244bcee3681e306522e2d90a2c966e11fb8452fb9794a7772afae961ab30333fd04e557a3b2d3670838c9ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c06bdb38324d2ce2401ab892061abab968b11a460e9d93647345dfa5ef8e494a6fc1768e6bda17c21f012a2b95aa55db3b58fc130476adc6a68e3c02e1e953249f194c8e149fb5220277ad878faaefe3097d891943f95cd3eac3c635761e5416ce83066534cf5acda6c9d38b61e411f172b64786c200bb2cacd4ae16eb7aeb5f1cdf95ed4ce7589e456638e802e0e0b40d85b9432c5361e27d8fb471e66542831778ca62b7f966101929fde34dfd0d7a2edbf2b18cd3991c2865a11d21475950e81e1dde06328ba2a8ad18ac5fef2767b58c41c0cdf655dfc3552c748fa0aa46bff292d7ae0fe288c3bb3b74afcb8023beade3c6cddda308ea1e6d98db101c3b0a8ba9898ca91b3e3917524ca87b50493cb2d78ab72917184197555c1ad5a80e9f0fd11d45d72342c84838e913833d089eb33fa05f74ff2836d1b5e17b2c394aa69778a215da425e31d60f0deffbbcb35ec8ca1aaeed00229d43d066fba7c6c6d1ebf4c7fb4c376f0f8da82f778cc82d18bf1ab8a5d3aff752ff4853b007179aa0785611d88db715e9d6251e0bbff0b5d319d2899e30baf3b5f160e4da20c849cc891744eb2b6f960b3b0dffd3811913c98e5692eb1691f495c24311a1db057bf011ea1f56fd8aeea169a7d75998c226f48216618ec1f350354a9e0d22f3efe88a86f93ad3a9e5e54c2e962600ff18d9d254f82a3a348be3cc5be7eb007005c5d1d7414b14f74ed6e024249ab98376a61ea7c68fb70cdab8949c0ad14e230adf9bca476c4603a478750fda3347a4cf9412242a3272ed180ae2fc295ebf8606c78cbf40182bd7a68a4965ed91451951ad013d9744a05a1ade648146efe74f41bab919165e19908c2cb3ded98455854b3e9144df6840d815bd89b1be3eac5ba4e36e48b0d6c272766b64cc09d3a163d6b30694958a487cb114457eff0e037ac4526cf3afbf5acda484d8e4529f684739b52a4a248de363266f4fd934483ec093fe723cc2f00148f0338859bbe9c7f96bec19b3d7a05adad9c204212aceda552ed78b90f2d434281acfe729e948366e84e25b28bae73f84e9bf3e16c1603aa6f32edc57dc404972f4544acc1f25dae9cae1f7163fb06c541c807e1eac46a88e11b8df1a7f88dc2d8ff5f63fe84a95d6993bf28503d20c77056e986920ca5626bf4ab97a2ca31ba270f783ad00800ed48434566ae545706d8c583b4aaa1a32ae59f4ffbec72791561d01bdb2e321cefc4d6b5012204e339bb6b7f7b5466c605e4491f818e9936230c54832122cead99843bb973293ed3f3873db49b2ddcc46269582dc177d0645e21a2e63423fd0fd5b06811d58885444c9f5b2d75c2f3c11e4b1d62311fde5e516ddcc0810dbcb7d2f348417a7480563dc10848751bf10c7223140e6ad5cde3dcd1fc4ffe08bf0530e9ba1fccc1da061a7e500b2edd8759ece1029a5f2f9c80b66f46bf2b2a7c3fb42237e291bd795e17e99c2c9c9a343a9fdaa629ccf5c0ebf7cf10b0e60e8cc0a9d2634db1d8c644da0631dc955e4ec46cfd8b3f4b3e3a4200462e94230c4e2a602972e5c8b9b635a15c9ae0e815ef6fa1a385fe63d9df3110b1d8e66d5ca665cb1292089b7117118c195a27166756497edf6f37bddea9e7412684c4a006fb184e28b94b563721ea9ccb2c951d554da90e4e665ce7d90a2c966e11fb8452fb9794a7772afae961ab30333fd04e557a3b2d3670838c9ed1f1bc76ad05dc1cd1c1c80906a6fa52ac222716941a9fe129b3e5b65d8c0639a156cc633b51cfaa881fca6fafac249b5f8b494cd62e00c35c8b045a4392fd1768e6bda17c21f012a2b95aa55db3b58fc130476adc6a68e3c02e1e953249f159cce19282e11ad3758359ec7699e213a4c6858c3eff0fa3a4bcb7c2c7557600f7942e7d243b7a7cb23c1e8009a0cba1fdccb6c160d44399622ed0e3a0b5ae7e9d72e8ef210b93da79af9eb3c20bde71b9f2643e2532f321eb84e9aca636e0d756f4b74b7dc1b8f66599de41ceb3acd75ee25709dcbe1128e068c99162e708d92fb7ea1e1338edb66caf2cc219c1a98910b9578765effeac4144f8b6b2e09d07bc35f0a3758d7c258926aee95c2e9b25cb6b0290611cb4f41077e067cef0d44fa9bcfb44fba9a51a4ef7db6540e9ea8686d7dfa6d9f3b3890bc0708229957ce0ac9471313859c4a6348dc8e68328ec17cd87af43b0b0ab0b8107e796d41d1572c56520257a9452e0bd5c573c3d533882ee6dec3b9c55c8eb4515adcd29e10b3fef20c1b02656b48b1862fc38ac9817fdc099a4e2f8aeb167ba03aa0cca4285f70413fa170e043003e84941c441e38d220d84824b53c20c09c97210adfee5edf47405b97ad04323da144540b3649b2e4a2d3b3dc4c4e5578d2820ee9ea0878fc8ba26e358402003a0aacfca372311c5ff543cc3074df9102eca2f14debbd1a939596e8a20a757b8e37d4f7a13b931f37d12b5cebd02ac83db79bc24d8bca7b298ba369591cc7ca71d979a9999556ab51dd1e749ed6829ff094c824ca447bed0b05518c66816be73623489c370756ddd334ab63c807dd7af5ff7e24be8a768502754ec6e250da6d7cb368eeb411e1cdc2430d3f97bce847bf274e3b61aecea78a3e2fe77299862704775c8f30a3bf1a7fb1f2a3988e41bc9ff571d3068ff87ad9b6761192393c0df67242ce3aa8810ac343b843539e3bd2f95d1882f948b3302703775c62682c8e3a7c37adfa470ffdfbd3eea137e6c3da7f9a23ca41d36edefdc4bd0a96522599150d6a14f151ff0d47efe30c323b9cbe1a0606ce7b4db2c27060fa8bc995d99890d60b30daab67e8f1f757f869ff47670cb48d8e1283411b1d7f7d9121f6b3158c2acb638e0820b0fea86e57b6bd4a5f15fde01145b402944062f466f8a24c73b78240d82f6d0f6f67b4ca04a62d8827b8a36412ac65fd7134e359b9511914e40e350ec03dcb88c5d58ec0a162b20d12df92663bd5a8cdc9a2fd6c088be598845039bd0d28fe8efd473e0dc873de7c846208e7b74ab2c419d4bae517236a971f83b07400abb8547c9011671ae87677d44c8193aabab66a23f49023bead277c4f7392c46fa15197baa0dc38b8f54408e89adc5f90f78774f9bde32a2a13ef66672d29b592da8895e0e9bc393bac78e74d24dab1a9fc1e49e4f12b9fee333c2cd95656d858866e4202f00289c3a5283cd59b1f5223d676965c11bb9c8504f9b5b2ad1058c860f961dea4a6ebd9280719819a276ccb6717d6a43d8d748c581ca6ea5bf575d681a36168c9b0c27bc6b487d76e69164626339d70acbe833bb9ca6cbe506e5e71ba74d7923ed73429ef01d30a37ae10729eeb100fb09620ca63e9be06249fad9a13e780021b396d6da25395bdfee451840a83e3e065d0b6a7114ef988bb7d5a60ab010a6ae6036583ef6b679bcb1b3437a23a0f6f464cf1aa084281f653227f6224bf93a30a407e6bc7b2f8cff188b669813e1c1527705a2a507441781a06e3a756cea4a8c046773839e9bc55e5ede28e3f56570f90d86a4d963c0bfe55fcb4f0f669345d287c151041f62b9f74db7241db3de7f25cc41e86fad14fd7559576b1214853242edb6308f2b14af8e90156f21ff09084643aad675e7726b1408273d4444710799e96ee2fc3cc84ca18ba912f0cdf17714071242032d3f627e6b5ce28ed33c5b03b234f98db800fe822eb510c93941cc1fd3e1fb8294b8fd7ed6453a2732239c11c583722c952aed07e996139f81cc72368130fc5ce58e77b25e8364ac18ec9a58654027573973559c3698d5622b3f9ac2f68b58af7648e8658e7552a2f4f7ad2072135833e31471889e32c0cbe7e500694aeae639535507c20e0f7923f098b16b7762b38c38cdb7bdec84dc9e9030b8ba25e8360ac943c82939e846aaa17f89d1d4c2f21724f7dbf9ab2bbbc73af364be4e106673eb8c8c0d301d3351b2280ca66718fa35eae2b3188f1e3cd3bd9e83d9187651dc714662b1842f788e8c1a01708c16bd481e6f620671ef842a0d2d6bbacdee1554564c73aa709ca3f253569d73ca7f69769d1bb08e67fd0548d2f4940c7ffe587f96ace1a085dfc9e8b2dae42de91fc41d0c3ddf026cd5ed5b8deafe47fa69821835b6665ce7cd645c2694a9d52ccbf9809868506b6615ecfb52145b789d92b9e5aeeaad7ccd71b694142793109176294fb3a2933ed8fd051c46074c9cfe3f7fe59872d2f397dca1a326b4adb47d80a5d13e1893ea3ed93443b8dfeb608234bacf5a6bf7e22982d7942e0cef1073247ed48be036fb525b4392fa85d629b78db489dbf1eff64ca290a61f373f6668bb93d4bf540ec41948ec3b897cfe853949df15f95fe12bf2d83871e8e1214c93f3bf01cacc98ecbc2049d342634a77f01d3ea439af186d61030760514331fa247cbec9489e42a47aad377d45f25f99a71646d81ed1ff0767d430ec671b40d64fffceeeb1fff6dee3d320d68cb1228526bc9a9f5df897288b60c789c9caf9c545aebcb4ed226b20b7093c299907ecfc7a16be0fcbc818e3bf58e75bed2837a7de93e69c84191ffb6c8c9db29b9b57bb9b677f671d1e0f4583e2e17b7b5b23e4e87610a38d00752d22c58228bdde4d8629850162e34d5d7894e4046f52fd57f0a71292853b4440375f0a349d42330f6783c2e31b4a12cea25199e419069187f3c583649d90888f3eb64056aa750fe0e8c629560302356c87518e02ed499ae1d341ac90760637b1bb63b9582024e2941b7169c80c417cf8d3cdadb8417a9742209b55bdd26a7e28f9eaffca7b3932d6e12b315b38452058052d97c7edf48fca7c97a73160354e0db56867ef12f9d623bb1c7b7898724406f17e40bb78f3c0317cb32373d00a3773a7662cc86a73dde60abce03a8bba573c0319ccbd3417d3962d95efc340af4421abb49453c86c3bc96da2373a4a3689d1b04c9b814f45a9bd9582f1720b4d2a53cf6b4c5de001d1127ebf5c4fe9d20903397f464d7cfb7a5e3905d12429173b436382596fa9d89e9cc057b1f347e98880c8eafd3785b70d9452e2cc623a6492d4c75d7651df1135951723634c9f1ddf88e63128a65683aa0dad49b6a4281a7e441e86185318382f84d88613fd77d0cf4b2901644071e6c2b4f5500edbd21b1b0de3996f4fdf56024e5133b30a89978f3a670e11893d916c1353a8f51e33fa846020ec2727b73652b880b68dec345aeec919718aa4c76ede7207ff0aadf49258296cdbd34ea9fdb2080f348b1834693928512acb3c0ed64b66a37edaecf3d07ee4ae0db42a01910ca8144522ba44f09c041dbee87f0c4753f00e92650f805fd5ae4cca93db3527b0f70d21a85cdaa42f473b32e4800e69b16618c33a07758bfaba8ad73131e79bce2f0b338956361b6b2cc7a623e15ecb1cdd2a8b00dcf03bb362528a7fc3f92eeb24c57610143053841e660b37b5236ae381a0d53fe92cdbfc0bcb4ee2b5f9985235557c8aedf98c8a5c25ec9e6d9140c230613327f207bb79879016168f43a5e299c05988abdb8df6ee3c79eb8c7a8b23e5ec041cb550f12a4bf815832b4d1599b30604c01e39c9c74192a93f8facf2733db4afa1ec11ca929abfbcb80a876b38697b5fe5146e842560e581d2824d5b3533d3a4145cf93bf6d0878f1fae93dd79ddbad15cf09f39ce01a8d7903be145aa810616d13b0ca55ee487fbdad4fddd2e440536d7cca81a3da969fcb572da207ca41cfb4adc1a6bff3604bbb080555af3d7444b4f9af98bee296a556c7e38a4896e1982e2d17e09bb05c365d68cbd7d9e6a6437cc0118f7c69ed914d723edfee8031f0d103961c3dcbc67d5e4a9c0f90909a5eba8becc3412c5581708218b7be066a12e4157cf04e1f043b9ed9ccf63d22b3dba60cdd68f72478ea2270d3b772b48af5c6b5fe657b0729e1777bf5c3ea5aeef4251db7d6cf160d79ce9a2d6c5c623852ff3e56f17ea6a19f2af7128ca2b002528c659369b60e0eb30c85341e411b66028c977d52b143d5e762c942258e7b161018e956455b293587e405d15c17fa49dd9c89cb84b307862d886af04664389e9c85cb7f895c14944e7c1bb0bad629d3213232857cc926e2ca99b9ce9fe756e00fdcde3eef6c7f2e97e866bdc13f5368c5dc71bb3ee761430d1fcaea822592ce1ed79d90b9f3d33534c94456b11f8a0920e44ee7d51fbbd1ed41b9a5fc00532ac6af5096bb7dae24500f5212e107b64350988f5f23f8cbfab127e944c3fc29c84fc572baaeb67cce6b4f053e34c82a5d47785f05686b48a4fbe1f187939d5c5316231ce29dd9d203f5c67a96fff178c0e0fa60f0a48418b329ddb950deedae3e8ede030cf0c12c5a06d42fc7cc83f12e379aa3d61e1b54f5df158ed9ec805f6337451db7d6cf160d79ce9a2d6c5c623852ff3e56f17ea6a19f2af7128ca2b002528c659369b60e0eb30c85341e411b66028c977d52b143d5e762c942258e7b16101fb0b125993854469132d0c441e53289f7ed82eb2e76f43758b60eaebcc8343785cb7f895c14944e7c1bb0bad629d3213232857cc926e2ca99b9ce9fe756e00fdcde3eef6c7f2e97e866bdc13f5368c5dc71bb3ee761430d1fcaea822592ce1ed79d90b9f3d33534c94456b11f8a0920e44ee7d51fbbd1ed41b9a5fc00532ac6ae18cba26cddae6de7fd21a6d98d5833a28e91f148f123a988c4664c09747747b206a0414456207fef7074646aa7d4513c8b8f868e310207ae2b5088805a5ee4b572baaeb67cce6b4f053e34c82a5d47785f05686b48a4fbe1f187939d5c5316231ce29dd9d203f5c67a96fff178c0e0fa60f0a48418b329ddb950deedae3e8ed351e5b59a6d6f2ced7571aa42ca966230b0e355bc9b1b4a578389a5ca4f2cc48a9ed3627d86a929a95deca13d9b53fdef7e0eed06ef660eee05b5e4fc77cf3c3f67cd6eefc69be34fac8bd4ad101b2ec657f8bb0b3e89b062970c9d9946c9584ef260a726fe1a6749531c3c88e87516a6bcc8cd33358c886439291526c9b5ada7bc7d5af8a063145ad77c04ccda370ea1628293b2581097a8454a7a5718d29dd8e954de706e5568598876304f09c3a7b2b8365d59982c69f79f9673b6ba61f5bdf8cb8980285d8c16778ff5a850b5dc424085dd88312b8610cef32e9c95ec0aabb4ab518dfaab9487381e6ade44ddccbac04b219b45bd4120e84bbefbb4796c877ac82ef72031b464b08d4be3df7867dc709eae6bf471d5e4e787ed8785062d8802b77cbfd65e7ad173c798e3827a08b1b7a1e5fedb4ca92bbb332cad44d392d7592e71fe14886ce1dc5a5362a45d153d635c239ebe5069b0a7fcf731545b5bb04bc2a5524d920f1eb27f60b060aa3025a4acb07a77984687f6a5f872b7546b5a607630dfd1f4e7035dddf8fa5916eced3212c932b4c1af429ddabe7bc1e36a1f48688a4659919d6a65ea65004c9a0ab4ce5b04b0f1d90a466384b1c1d4062bac574350dfa80585ebe091ae40fd75b7c5688ceeb20376b9b040e27e7c639c9889b97e07711c5e459b952cecdc922f9636c96ef505b1483d641ec46ad519841df96c90b71b77ce659f6939d82f6fb0ba450921820a390a866e0f6c14a20c2c1294228f2da563d445c733b53d8d6a5ef06ab7035e4fda6303362264d617a5f9f38ed5c7ca58855c069ea36af4d1bc1dfe6d605c6dc1cb36c0dcd26c7a563f47747b80bc3153948b4baee4abe4fc08185990d490b7e28b7a857f9e8252e908ed24379d90b9f3d33534c94456b11f8a0920e44ee7d51fbbd1ed41b9a5fc00532ac6ae18cba26cddae6de7fd21a6d98d5833a28e91f148f123a988c4664c09747747b206a0414456207fef7074646aa7d4513c8b8f868e310207ae2b5088805a5ee4b572baaeb67cce6b4f053e34c82a5d47785f05686b48a4fbe1f187939d5c531628a16ac594223157034a557cc69b31d283eba2f2bf93329ee74762db8c8d94d22e137baaa22ce744f0d58b0d1164cec443b264fb2838e5d404adafe2e3607ae4b2bfacfb923aa539935cff49b650f81464a8bdd1e52da77f786e525f53b4690244e33f68af7d896b68cc6c97d6d860b758705f33ebe6b4b66f21e3432da90a24b229a1c3f9ba4e4251f9d4f6ddc8b3dbd88ad40c46f19e9b2161d88fbf7a3eaab199fb52cf09500ab2462d936d1f5c1fa29b3cbf8504b4dc684d7fbb12c38e66b66bfb767473e9cd12663022a3c238d55d4d6d8e698c07577578ace51f6804a5f80de36278b6322fedba416ddeb4b32e56f7438c11a4f3481a274beed8ad83f07ce9712a54f5fa58cd1918be528b65163ae402daab0fd999572e2a40a2163d9a91d72dbf856723af0d7ff90e440faed74df1cd011d5d6468b018d3cb966a65daa2bfacfb923aa539935cff49b650f81464a8bdd1e52da77f786e525f53b4690244e33f68af7d896b68cc6c97d6d860b758705f33ebe6b4b66f21e3432da90a24b86f5b1a2f6eff4f8c91ee62e4f16b98c4987f99e47c37560d3dc36643fdf6d94199fb52cf09500ab2462d936d1f5c1fa29b3cbf8504b4dc684d7fbb12c38e66b66bfb767473e9cd12663022a3c238d55d4d6d8e698c07577578ace51f6804a5f25bb26406415be4b4dae789a9fb75907e2d7c30a4a29f46d0219d4d42550637b3a27e0c0a19b36fd40abc069b6e0903e69543def5a3b18328d126e8f555908c7485ad64d443e66bdde5adeb60203b4409b31d772c7984e2f786ab129fe00c597a24f47652d3f154c00b060c44a90bf021fc8abe4bbd0fd1a9b1ff8b6f0a45bf350793c5eaa07779b606d22dbafc5c73a24ba0353297c21e8f53a64587e313ad4a78c0ff148d80e7de07e7e5886b89e11419b580d5dc5391c0c7ad5f6acd4faa53fd1f633937cdde5428dab32317f3251566dbef6ec9f1509718bed0b2fa1b2a413e5ce75f35f5e69d826f545d121344c5ad16713bd7b475ae47e30770e5ae44d9d3e901076a2a0a43fa17b5b18eafefa5a60e54e29003405284f4e2bf3904572dc7659a64680f08f2a6e92d3fef6334900cb2578a155ac872b841913381c00e4e0536bdc97cca3ecea6c55ef1fca469a45a3dcd04cbcda92a859d389380af95bd2afdc32338b58b9b9eb0a95869dbca01a5b6f60d9d89ec95bcabe81cd3660b51d51df242c0e6dc53b8417640346374aa912d18dd9475f2e3b3ece07fda50b967d118c4824098891366d55de0cbcac8a7c8b61e17fdd7bc92f19d00b1de3e456430de6a3c5a77ba5645e911f7d49b6c91ed3f39810145110cf57fc8e4321b4b327a9cc711ecc52833d8e2e3c8313f51d057a63e13def31c228b9bc180485fa787498e760ef17f688c589ffc02be7abea1c39130ac70d3ec39d7fdd9d0ebf5bca886f4f6dcbe5e86c5420d4bfbd2f9714f6b42d8ffa5acafce7f3f3177d5fab6ec8f3daa582dcc980ca83e56234236a0dd173f32f051bbdc978fd17abc7308b66ddc3669fcc48845fbf764f341c76b98c2befa1fb224476e1ba8ebb7407d070a36971f154cc4439bbdf77dc805a8a33d4a1cec06f8c50a37ffe1274cedc3d41df9a6102eb986b8da55b114159e5dbffd253ea5c37c4fc731aa4cb8140a1cbd3026fbe5594d2394685da276ceb078f999dea44c1686719151b2be93db7fc5cf03960209ab56ac0013a859fcd4c49a3eabbd95f0fbfd248a94b653a3b86f143189efc25b023ee0eef3de4477268482e7d3b9991c8f3051db5848689634d979a6dd1c52fafd8b64cc54058d454b02f80f11e9d0568162e209cc5891b3d473797b5f5095c10b86cc28b766f2b24584264e4e076fbc19c17c159ade4af7d3ee76fe1958034d91484acd45d9b9736279969691b4f93deea454fbc0088c6229eeefa5304c94fd5a13976e8361a23a071cee1c688df8eb622cc7bd57a267eb48926a792dda41b082cf2fc0ecf693794d162e37e62b5ccc8b6b3accee68fd19bee14775c72bd8ddb61c1c6c74764583e32762982faa77a7e6f9cd979819cbeb2f04407a491fc25b023ee0eef3de4477268482e7d3b9991c8f3051db5848689634d979a6dd1c52fafd8b64cc54058d454b02f80f11e9d0568162e209cc5891b3d473797b5f5095c10b86cc28b766f2b24584264e4e076fbc19c17c159ade4af7d3ee76fe1958034d91484acd45d9b9736279969691b4f93deea454fbc0088c6229eeefa5304c94fd5a13976e8361a23a071cee1c688df8eb622cc7bd57a267eb48926a792dda41b082cf2fc0ecf693794d162e37e62b5ccc8b6b3accee68fd19bee14775c72be0387fd9def4f6a0a9e541f4b5a32e75047359472cd83c2282fd44e923d4fd13fd1f633937cdde5428dab32317f3251566dbef6ec9f1509718bed0b2fa1b2a413e5ce75f35f5e69d826f545d121344c5ad16713bd7b475ae47e30770e5ae44d7a9e771a4047f0f9b49b21e2dbe4072fdcb6e0ca212e667a440953cb9d2b3791dc7659a64680f08f2a6e92d3fef6334900cb2578a155ac872b841913381c00e4e0536bdc97cca3ecea6c55ef1fca469a45a3dcd04cbcda92a859d389380af95b80de36278b6322fedba416ddeb4b32e56f7438c11a4f3481a274beed8ad83f0727a9cc711ecc52833d8e2e3c8313f51d057a63e13def31c228b9bc180485fa78903ceabff1c1319045d6a089d92f54a215144b3403e4b4d5c89d5fc6c8394e4cb0fd7f45f124d7e5caaeddebcef427b56b9fb5b99066b8a5ed662084461de357efa820704446f482d66560251f6949f8acd579e95c999045bb73af4faba5e7e84d1c22a3618f544331a8ab275389f6b7f7a018782b3b0d751503957ff4ccaad2ba89c8033b36d04c7fac5b348f7d0721d5cdb5efbe041167cf861173503c94b0003e13be2455841547e676662c2a60035f9a7074225d4e6e5a8b2a5e72b5702d741dc03abbde74e1f02f9f0cdcbcca788466a2ec891ef53851c0efc65bac4eca62aa9a8a0141d60aebe2f46274ba67ddf09156c9c883f6fa15a5dca472226cd8d499e668bfba11a4e14259e5012807ceb60f1a3ac0da3978eb71009d171a7fc55660c5fcb98690d3be676a2b985fec6eb9ee8bbbcbff9b6e3cf842fe166b413735d09880c734a3651cecf992996c27c1169b7ef91bf766ad82f6f6e01490562aae27fc5f6b5a951517bde0f60d1398d13ef03379607f693b2adcb975079963ca8de2324ec0c8c74bdac815e841e22f16d8fba98aa6816156384b4e279c74edb07ce216b4591a61b77d0f551b519c42603ff119499bd327a348c9261f8392a0dffc25b023ee0eef3de4477268482e7d3b9991c8f3051db5848689634d979a6dd1c52fafd8b64cc54058d454b02f80f11e9d0568162e209cc5891b3d473797b5f58582349ba87c967250bf118bff60b787aa4540d9aace9683f88968cb7188fe126d655b124bbd1b77a8d15ddfa893feca75c774275d829a81081e65cbd091a739a757d277dfeb5aac683ae1a6141872649f7e6355187010aa0ab50c688a1b803ac516335e1c4ec9e9d05b9a1c4ef75c4d5ebb5d0e2898bcdbfc7f54c7ae56d276b4b447ff16d47f9b8e6fad0711b8ea32c8b18ce768a3d18f374df1e1daa402b9fc25b023ee0eef3de4477268482e7d3b9991c8f3051db5848689634d979a6dd1c52fafd8b64cc54058d454b02f80f11e9d0568162e209cc5891b3d473797b5f5c0caa121be242fe9ac624f4f8641ef426af2395e5eea8300e4f514d93534fc846d655b124bbd1b77a8d15ddfa893feca75c774275d829a81081e65cbd091a739a757d277dfeb5aac683ae1a6141872649f7e6355187010aa0ab50c688a1b803a29673ad521a17f3b439a0d8f5941eff9943539dbd4d428f7c4ecef050cbfd9a754dabbb02f0f7f26d126ee9a33b2df6ef425c53ca711b34dd39c22e610309511fc25b023ee0eef3de4477268482e7d3b9991c8f3051db5848689634d979a6dd1c52fafd8b64cc54058d454b02f80f11e9d0568162e209cc5891b3d473797b5f503c695b05903b32b2778df5fda5c1a7df84b9c7764e026e2bd9d47a947fa1ee86d655b124bbd1b77a8d15ddfa893feca75c774275d829a81081e65cbd091a7399ae3f6879b556bb5f21f556c59fe0ab6e2855ce1c86b2b33eaa87b9ba3eeed7ff64782ecf151e0f0d22beca02756fc3775445405758e96974062c345e845766c2ba69e441a4c1dcf3b93ac13af3036f03d1d0e232bf961f8cb3d343e640584853491dbf7e78109f7289ac7e56ef149667429bb66acb13786392732c1f319f347fc16b9bbd92f409ce2819dc78404821f4bbc3628a42aa258542086b893584951f7dd62237cb69d3d47438aa114c97b849dd25a1d04cb5fb71695fced819c41cf45e198ff7e442527d31bb37d729afe03ad6db173a3e2ecaa5a3fbc80627176f57fe63263566f6e6df4ec8596d531bef459027f44e9f92e73b03881a6af9c40751d3116692ecd924ad89bdfe92a0e3b2a46a594e879d5d81edbbc0868b9a1fc88a7602d48d03ddbaf0e8b294e28d9d280bde1ec91741cbd10fb782cf7459143bbc9c34aa7766293521556618b600aeca9ad392b0d1f0027a025120d9653420265c73c26032f223baafb2eb685034c0859dad792e79152e3021f51a83436db97144f2a9d28908a986662b7bdf3a37679ffe7a0c14060c96a34d18eede849284dc9e2ff4b356a3b642d94cb10342aba41550b65cb2ef1b8d4ca868e6b218c433a4f9fd66b7f269220d53d4ae1cdc0968b68fa332011d47e21d1b81641762c5c9702fae71610741417060e9377b4fcda99eb011be07c9afef027c986c12b59340bf055b56d44677195f5fa15ba5698bc62527e2ea2c8661e0e4428502ea5c2acc2ccb80504391541c7667e962889837cba72961175c022ccd21fb97f74ac5f568fe934bad7b0145a9bb73fafaaf1462f746ea731fba3ce7a60980595db9d646bbe6311739cb278c97b506992bb6b40b6231aa8a7bc5dd20d0664fdc3ec2616d598f5347f22d04bc2bd78e1e1eaf7f74cd6199f1fb0098ea30cd848d3c11f347bba9115e5e84e469337dfe0495f3bc60226da2153e96f042750f844654dfb7359933d58f7d5a744a606c9a390f6b8f188d213e47f7e20316288d13a92a340dd45663cbb4ff5158292e217d3aa05fc5c12da15691737d6532868dc7aebe7cdb74eaa1e0eae702e9cc13d4e7bc2bf02b2275976cb2c914be611b6bcb062c5ced313be5ff2baf63791942bdb40af66047487eca98e9ed03bb7419679e699036abf606a1303350e1781aa28a6642a808de70bf9dd0b765c478a103a6a9dfab11bffbf422a087f670ad8331e056b3bdfb6972d4cf73b15f9b11f87568e7487c6578c29115203350e1781aa28a6642a808de70bf9dd0b765c478a103a6a9dfab11bffbf422ab72892cec76a44b1d686463f2f881d9ad8f4b47bca5203e6f561a36648ba20ef9478b5fea5b18d8994151f58c78a6c8f111bdc4bf52210146c01b87ff28b17af0dbe8fbfbac8785ceea32941444f188a1dc38bf2cd0e851c4b923fd31493728162b81e82e58d1c628802a4c7e75fbae1d248dab7af633e7d7a24cc4869d54999aae1fb242ba5784583b72489f0ed757bc97d76a480f91b54095512863d527cd77808f55b618b93206e4ff0583800d33bc85d74fe26f7e1af3346ccf4a00c079044e761eeb782a4849f2fc1a18238d37c3cf50b80221b4f4bce5b6e70e3f8f2d1d8b0f98dc8f65e7bfb167fc68bee72db66f85861f4838db0a3e19dd86b61fe752b863ce37d3460ba50422925c503a863ca35a6d1eebd836c4a1f01cc5323999b5ec271f9a1a417da8570446ac4eaf0f4c1a9cfedc41c1113d31477d46e62edef1b901f0b8a4fcb213a3934554d386eb35534ac26d3da5e734bd9b9fef03f66e9711bd03442f5098241cc63100c6635e90ec7454dcb6e0c533eab4f9c32a4eb18ddf40271ac135ddc7a30004400caf3b310c40f2c857d2bd75122a19af248dca7bd247795d37689a9aab4787d450fef949c9fee73fd86c39aeba34f7fbc2b688aed2f5510867383a05295146b51f99d606315971c75c1c5afc137d5a1010847830519d71609e353652738919c7178f05919320364e83c1b22924f4b942c30555e836600a01075dd1b9fb4e442b994d6a4ba9a63d670651ccd7e1c33255ef90ec710db5e5f7bc6ba12086bc1e3cf630b109bba1e93035533a99409855c4db3f950a2593ceb28815063c46ea30a77e6af5d94fb57acef8185bd01e6e2e576044116b45a762d771e5208bf10f0c0ac506bda4ccccba51679d7ad535120dd23219d4cb1e5d7b5b537c288069239602d8d59f46e41349305d335514eb488ac921ff7e658f7d5a744a606c9a390f6b8f188d213e47f7e20316288d13a92a340dd45663c7d9e34f11c1fd26cf6c2e20e1f20fd15cde9b7d6b99ce4a76c728386f5ca0a298e4c0356a7131309b8098bfe0a37c3dab35bcfbbfc5bd5454e268e07cae02da8060863026847a50f642183256626c034b69783b9470db7a8bf3d830bedcce6855d8edb679bb47c086fffb3f79d796a90338b760d32a4714f8c6fa2bbac4a05becac152a0066f8a0f371c9cf0fa96f2e548db2b45017351fb7e384276894f33f2899358892076ffecacd1142b9e0c53504e9ad70775929a2355d541e988e6e770c5704a8b38ed3e5952d1b8bf777fc41e74c6c0db467e22149f768a8a74e58781df185404c8205d8b8491abeb4181777a297647a23cd918fc62480a63e7895c45b2779a89f2a3effead6ca7fb68a87c9cd88a12bfecc18b34e175d08e1df21f897ddc18ccd4727f521e00a6c4b90253c6370133883c19f8ca322d4993cbd71b3cd6ac4d0d683108c01785e9b44a01da4572c18650daedca0f340e5356ecd1ecbcc495f9827588e853da89d48b7369703ec532aed75a97bc7753017355608f0ffd159bfb92027a3a6346f6b00d8a7b175cc7a51d8b8b2b043608ccc876233490c67ddc18ccd4727f521e00a6c4b90253c6370133883c19f8ca322d4993cbd71b3cb39c0032e6354787bd59d3672eb6100c65e4deef8ceb71baf4d0da7a60887c297ddc18ccd4727f521e00a6c4b90253c6370133883c19f8ca322d4993cbd71b3cdeb2301b69ab465081f38ffed51caf4f12523ebafd3a3062498786b0c25af1d1d751d3ff57f2de05fb1f163f1779dc1180aa96216c3e77bd9e879df110a0bea8493f572d46820426cb7c76d34827907def5996a1a8f06df3fdca31321d54f2d9527aa508a4d9b1a62d8f25a40302979705307a4d2a7213feaf77f7d50cf7f35445b082ca21d24bc99509747a51e0aabbe8e8924677847e7ebab8de485eb8b6641f47a2e7213991b9f35ef40a5c8c08145b1124463806f0f7ec8d9132933b64dd7701b815c219d1e85593ee5e73c4c36e166a3bfe704383b38551dab97a6dc563bf18480360e9fb135bb5aaeae7bd6081146f0f5cf0364dff925c62329983e88c334684daec24ea66e24ace548dc9acb42740268a0d7a28e9f2bfb2d0333fb5c4df64c1ec7b65f0958a1d377a5d7c96af26377e205583584758bdbb89c61dbd617ef7b95631291e7499ea1a3c58da900d7cbb22b494a96a121d2df75dfbe2985e3a5e0effdb03d95aa4938dae0dcf9813d4a3d74d8f5f28df564fb909db763a97af6cb0d70a003961ee5ef7bedc0a566d727fbd949ff2ebd3bf8032059aceae9d16a0918c2da65f3f2ec50f5a2ef1fab528ebebca877aa3756a29e55a86a6f119ca9e299bc3f2f42ce62970fe159ac46483c90d3346c39f25dd43e2dd31e9149c7e7958339b1d01a85c358ae6954e22835718225b8dacd7ce2624759dca68623d6f4bba14ec63e6411ac5bfa99f7a473d222e1a5409d90931520b29450709ac038bb8a2416a917e9dc12bd8d5c4aa24579e180863333e8ba573a6aec8321bf0721971abfe574776ea8e6e8f91cc81592fc714fd110c3a4f774949339b7d940e3b7b6f4f43e67c42d0d2fb8fd2007333709990c2e7b04a703f637a1d8a5f605ee31457dca2af1a8070d838dfd0578697c7ad7c4735ccb2fed7c60d0e758e3106c20acbac2b6e047c0f655651ddb8cf97928445006b9fa9ec0644ddedfe3a41fe24a81b3731346d739452b21886b5290ef44fe92a91693a94185f8c59887999e561f669f016ab3c69032879f548996d8c3ac7001151d5eb8b00bf5cf0aa2a6f93999cf36bcb662fcc05144c93ba6ef7aba03648674bf7f27a58139b8081f94d0d57740c610a1dd2a2a635fe9931fb93f59f570ef42b735e20841905395ff53b7783153faf353572714cfc6ecb5b17cc6f5c1e46087e0f3173f467c8861181c49bebc6f299721dd10f533fd2cbaa8075c1444bcd7ba1e77416e7e09ed487223bd6831f83891f233558c9638860d8aa3f826888d55a888ca1665532929459c48a487065f8f1c37e5f08955a835720c2867e8b3e73713f373733fa196078ef8fe91ada8502287a6972eabe8bdc34d582ca779886e0f9d983daa8fd7989768041564b0f2b82e8c265675a7db129a9eeb8406353ba5dc8d35c1c10dc5e9211f44ccad6453b9e42aec0e6f15e23b4dd2dee9f61cb5aad2e07e46adb39807fa6fb83bb05fc1fa77a121a318a38570e43c208141d916e9bc1b45d1c78965d6b33abcbe8c3bba3c3f2b0ac953ffedb72a6025b08f6018b1a9683456f3c12e73de1f6cdd86863a34f5259dc1ce2702ec5c91e4ba14ca3ecdc4cdd2f832d027fc2c82a34b2b56d0718d047f47df678d1e31a175fe7e65dd1966b330c1afee1676e0a229cb26c586cc004b244fc3a480493aaa0179fd66dad83634835e0d1bf6c1700e15d41c544f57b31e0d9ad25b7e080e7aa64f5b83d420e24d0e4f154886e0924f7f438c8367b8332c6ec15ca72aec37e228e4c11d9a07e71514caf68c82fd08690ec24c10363b40a15f4ccb8d045675d5d40f5570afc637a5540bf621551ce9834e9e118453da8462110931490c4cb4056cbc820070fbae981ce898e31633ecb80f8fd500fb982f76a6bd7d003267494464053a2ff14b8f97cf4aa444847c8c908c34bc99dd83b7c3c4ba6a90f21e65bc9be1891df4dddfb54794cee27ffd4c2c4bd94e559894ddf353fac44fe4a7311c057d06c80cbea95c53836341c4f649f75dfed78842aa1c5104666e09c98119f4b06c49cc4f33ebc37cba8ce3f98f47498bcaaa601895dca83a5c32e7b7c88eecc5d3283dceb446011dbfbaee804100e34cd6b2eb40f91dfd9df120188ef7bdb14612ba50efc57046e8188de6df2aa4b2eaf42c9b6e3eacacd55161e3f8c18f3e60e5f7c1dfcd7e3481456ed513279b5972d010d3c4011252727f31ccdfd2cb960c3f530973d9be98dd958f19c34f6d4dc6e635937991f42de83ec94710186f69296ecef94570cb60458b499964ee4c0d71ff8c3e21620426543cb7580abfa35a820bd852658185dd2cdc3f79f420c8e64aae883a55a8907d4fdc74fe0b29a9cb7a3cab15f7ce4152334c2a1341ec927ff8191fbecdebbbe872ebd260d93c77c67dba483bf5176ac52a8b8478848bb6e351e8acf14652b6037758ad8b833d6acbb1a51ab8ba5d21ead15531db3370c18fe9237701474f35c1cee8284bcfff6f047ef97f73cde6d53dac71fc6efa20c7481e67d58214b69f361bab756514f249a3493b903f578822526c63465ff66d54b1764a3be207f67937f4ce9b9080bcac6100c2551f4fc11ea258b78ddce4a7cccb3809aba22fefb6de7a052686106a1756ba9dba759b288910bd9be82122482f98e536936cf92f0a5828be363cd76bf0a17850c22fbef1094b3c93d0c1ec6513853e778b2223fe92afba7387a93723ff51a0752e28ba65da4234809ab8fb242344ec913607a6c83c844dedf9b83fb8836603ad73a07cad5de05fa9f898dcef4f4b5c2ac87ba9c3cb1119dd51e5ebe35d86e9866f25b9c2b4fdacdc5a675e097627b699dcda4f2ab220f3a4d8d3744683f6c0ef59ab220ce14dfa9521652b815af2be0e0965c11c3769b99570f13283443890f0c24cba757afcd56b304f42c0f6e29402f19853c63ce933cb512194a8fa50a77d9258831b32959672636142ae7f4dac241dd909a872a99e7a3707ae4025bea4b02368ba34e5cc6343e697c7e47432258d6c973e26db44c637cd371b223c1333212ea894635986a94b40a1985b450728cecb34ca69b24e15a64fa16300510e04bdfcf1dc3b3e3e8581fd365dfd7ef36b8102958e1049e93b97c1fb35935eba851a58be7a957fb265b5cbec4d198b03315d45bc8c7df71426817c93ee61fe6f6bc04bff767b27de4ec3d71c8658e0c2e7d9c2f1bbf281856c02d358c55478edf582712e253764476f57884bfa9b27b1c93746135d8737516ba8e7cbfa8494ed53f3fbf4702b4283f46641adb0da1999c3eb4837831e8ab33abf4aeadb10fd12c7910bdd6c0438213a664c526a9a69725007364c09263ac8d34a20cff6d02c890faab75027a1ac543b9ad9e4b483622365f89064250d6f39d9d33d0696fe16cd99166f7f53eb0557e8df2e71dc9deb16ea8cae21dcae93dce18f531a2629e2c3919d4df785d322cf0441cf669d7e624e0beb45e3986569d4ae4768990d02ad187be3bc925dee05fa668e1cdc7babd5a426b24130048bd0b7c589fe21feb4b35f3c0fb796fb5a4f9c4515c286cb3a9ea39c04f24fab41d9be7664f864c3ee6b0fceb4ef607c05fb15847a34467fa952fbed061bce6097a97bc307b94c9c038f5a7d95c01aba50bdeb16a33ae75cd6a59b95f82f7a6e0c25ec53e4a57ce7b7293b68caff8624099fbda4d6dc10d2f7d449612a52cd316e3802797d56a7f41df30ca54f5afe5726ecbecb8811939adbf277ae90052eddfc8d070d0a41059b7acc6745b089bebe1fbcdc494c53636623c46d0001ecb072b73e9e21d734907cf112501880424744b246acf72805f946ffbc6afa46f5026c5d0819abc9f8674fbc15c6b646100edf7826be112896ddef4474e76bfe5cfdb01b977c6369bfe936c13f3316f87f525a7c84234d54abfedb00b900e26830f419f9765386d0d3a7c28a00c05125d57f1aee3e253843061149066eabbd99ff21d848f226e92f09a6279ce73ac5cc67a7ac0c252c141a92d00ff6b78d4a8ffa507ce5c031cf756382766f59a4f070b669b8abbfdf2ed75efb779daa098509a67ed56b60e9e0d7c16be855d0cf795669017e0434bb432d0e0929d54e639db9928ea0e24a90dcf77aad21599330ce2c9916d59732916699f6a15a3ce99c3efde7bde120c55317487cb5d505e6622e49f2d0932682edcc29d9b30774b612ba54fe1b92a1a9ef7edbc6d955c334bfff71bb50949b2354d26baea73ae4f5a22e6bb36a516a24f6e8eba4eb75f9c7711c3656ebe713abb0201b8e8fbdf635778f309eec24b95412908dac05468ddc49aa27c8e8101718c59d6296d0d9e91f99f12f9c44c856031f9a466365fc51a1a942be8db3b55d43a5537e1adddd000f41b4f5f3de269c72ab4f7518c1529798fd1e9df7cd7d2418a6544d55c25231fc406cd8fc9cc3c5712063c529d3a598d4113290ccd09f0fa317790d61f78bb8d6246218d152dcf708eaa601cf425314cec8ea3b73b3a2fea47833db5526b55f32731deb9eb4c8005d047f3a808a20523aa21b65b97139ba203331c03982050d1552c0dd13a93a651324133146431af6cc185c761890bf7b518dd8590b2ac850868bb6a767a30b4083db450a40f7a9c79089ebedfeca1d4c2abf6c11e54ad5862049f6a42100bce674f8308e3ab5ed6df40205096b323cc32ba39950122cff8fecc8aad8b05a7f8d8298ae52ffa9a57303bf940976234faf1ad63c1c67004e5d4dbb5d6ed3224321490834c7364dce9bf4f2bd6dfad35c38fb1da60b322dbe4c7244e0c623043b9a10eff91ddc2417d8305f99f2e8ee193805597b9719032d6a81f5c6f1aa6f4c480efc2ac78c0091dc5150c6c5c8ecf42a8fbc133e8f7b509b47a3f7023618ef5f78a0005df52eab668ce05c0a4c38e6400131f2aecf0f494e84bc03c920b79169e4bc63fc290b868b3b71c0efccfd6819ce198e10597153539ed8bcc9942cd603c84e0ee0060103f88ec7ebc7e10fce39517d6e366256a08d4881f05308c88fac490fd0782bd468b0c88da185e4296b99ab5b2179b628894251eb538b1a90a769eef03edfcc7a25358d1c8604ae62aff361019f6ad709d2704290e6322aa4693024879fc41fe8af6cc5cb0d5cb739dfaadbfeac00cd7f1afb9503ed8d16b6f9148ff835fbb832d8cc6ab4b153af8b7c852f435c0ec889bd4c9a538598f1c88389d2701c10dd0287fab147d529d121297fd6ab418b7afde61a71442c6fe1d82fd9f9eed9252a7fe19e354eee7ca9e9372cb54df2662a88ff6e63817de099d0d11e30edf3b7beb6e17aedc5800421cf33c9b0c9749d13958f6f98cdb65cee5a58bbeb4b8f76a9b533079e44d7bb5afb9c5594b60dec0cdf46ddf207861f3986fe678c371ac285a94b1e56bbbb12617d17499d222adfdc3fe4eb3228fd632c5f66fb90cf4f0f53b38eea0bc744360c4fccddd89fca9b1a7f4905eeb7241a82339cc44322b56cfcb101485991770e050df6d14beaf1a69cd22c751f8b76bcabf0160820c714f48bad45cb0e63cf3a4ae0e81bd5e2502826297a2477faccb6f109e8126244f4afa539f6eff465e82481fb213fcc58666242df9fdd52b323546b8c09bca618e43995c41e77cc2673de7d065142216c1c7e37e2f3c18a88b2993598b1a9c00fc4056179eff1bdd7c9287419e43ff764f156f1a97c2994f9d9edb7cf5908899ec1f29ce2ae7c123e1fc3ac82f7f0eaa5dc64fbea0eb0c101d7f85bf1d52f903badd9de04ee2a460400f0da63876b5185537cdb1d5a298a3110bf5e305871c31d56ba446f3b9a2ddbf607f08d1df1bccae3cdfcf6b9ddb620be11bb47554184e46d9e69edf40f62babf205a906656c6a7b3f803bded371a956041135f2431003e705e7357ab2e5f22e478aad72446f737604c8d59cd6f5a6233b2a9ccd685cb5d8c1e01d28efa6b276f89ba7e0ee21cb6db0e97f81f517b84dd99876868e6f065651aa52feedeb430514e5b882f869678f990d8a2f75717631d5d2fd5112aa0ea0c43aa9c41f851911ddf8b55fbb339d08edd6cbead91186073f08e3e62effc97279756fd45483ca0595279b9f6ba9fddff13a23c13f25191923d5ee57cbce83821f1191f9503c0074f2e86328905a900cf5e9cadda193ce33c06872cb4defd3f7137cda3daa27d91980f5cfba0a61e53f5a7e8ef0e20a510e7fc0ac55ccbe0ad273216bcff0e7dd07c098a7beb4412daa48f7da5351dbe12c569692dc17ffb3582d3a2839e8de799ad507dd034bc8da59904356170ef3ba3fe07f1863cd0fd805971402634754ec4ad3d4b4aa1dfdfc2bc1f9c13cc961ee7fb95dc711cd3c430ed57f2495646383f964c4e467473f0a698f54493aedeadc166343940314041420a8e2aab15905fb2fd6e0de9fc4999e1d8e7d2ff43d6a819c117f1e5996525dbc7924c17cbe87576e6c8befdcb2e2775907a9442cbe6090ecbd7591ddadc9ddb2ca5425cb7fc2aff1bc79e8bfa99781569008ae9d2676ee414b44a0d84455e2805a4bb6877d73e4e373df496b32fba3e48a81a0446bb1f02f1a6bb7feea5f2adaa255ad7519d7717b6d60a88e33e64a8a29ae94c93093dbd64eed4b3637ecdea99291a7b0c153de18821dad17a1f858f1b6139e3ebeba50d545f42fa0191daf4e07fe4915a9cc6f9ed648414ee2ad69c0a686d7105994878674da4e89b70e5e00e3399feccb59ad014dfdeeb5d212d51db586438f167082e20de045849943298d5e3144f78d6516ee950fba3ae9a23854996799dd02aad909a3edbbdbd4eb87ad9c2cf4558cfd7578927e5bf4d12809720c2f5f3070ec871261df31bba7e8fac82dd856e68ebcc4d9ee7dfbb14582199da12bbd370a9c007f3976b7148fbb878bdaba96e9911347e8d480978257d88cb0d410666f0ac5e57c13ec9244652c290930dc4c105364500af64e69cc6b608b2cc02471b2a4e3b8e764dc6a3075dd6f23aee380797d0b7320ebba3dc518de8a83dfa07dc2170ecf313e1acd84fae9726e62ee1e10e78508980cbd387eed81f195675fd54ccf9c18cb895b834d7c5a89925aef7248140be2e241312f687490db3b2110ce1ef96c31c77128dca617c6cc8d6979830c82e7305691336611224636312e2f100922fcdc45666b69fdb2e7fbf8e8a562effae4fce8c93a86c1ea173efa4d967a553a2048b6bad344c372dcbec70ca1e30eb46e97ac16d81b7c2da39eab90bf3600f319ab06a5896d6e115053f7c5fd6df38491997d79e019c294383af5d2a040846681bbff67ca08eeb09e878f88e0a9b7acfe9b74f1f8f2339f37d56fa8ff151b0043050964405915c580b5a5605327ac9ce4c8296e2fd86dcaaf2e499b936faee1e3dee286f160dd25fff7031675388acf4974a3543da42d07c00741fdbf0781b4add59e964836e4ede8708dd19bb9b64a4af2da273f0f4c3b4b729d9dd75da041b8636d12f002050ef99f7ed589e31ddf25d24d6930e0232e5a8758d7e58932fd2951a4f098d98b91e06a3d7bc13d91564c185c9b64638fd97ddace1906cb84e56b536435294109002fd7b1b04cfb97e16ef570f8c776983493be599f1181c7748a8e8a1743cd871b619c30f6c616bc7682c2af16c8776b9a90706233f53022cb696d56d0cf982d92f832d4dd66fac980102713cfc5ed862a13fc61d5c3ecfddfbdf478fa3074204494dcd115022e0e8e5fef1486b3871712f7b3b9a764dce1f9e410eb0b17dac1ff46899fcd6c8e46357740df75c20873267ab6ffbc9b4609aa777f272b8cc7d226a277f25890d619b7a0debddfdee5d6e9beb489d5c50618c6e935b857d1a51e6a48fd402be79118e0154737b38f65262cdef686c455822d0ebaa930f330ff693ba37f8a7ed397358a4b0f93816b95a47e9fe6096f6d918a65aba1a444ea3d16688f066e37e9fba24547572212483d3d88af9bb321ca2c874ff6eaa79483f8791bb33b6bf91e944a2d6b05509f354904ca3d77a8d09c8978e0a5019c04127281fa8bda7263e8526a920992eeaeae733e96034092d3a6e11298b77317a7b1fe10660e8a5a00e1e1eef2afeb0160f82159ba5af0a7e51e75ac9f5aa46a4841a92b8cb67fbb4b46f0a30c95309fe835d5189d5a6289bf876b101cc888639ca5dd291b0fe8297d29564c4028f9af9a6b95cee666d42e2af730d09cf775523e86d3f4b15cdbad9b6ca831e938c1bfd3e053a2aa0383f1428671129d0925482366d6e337d2fa7c202bf21f742e05d6a7f482bbb52ff0756ab3c362af30bfa4d2fdf25aa794dd074e0421fec2f121569969dcb1339d907a2e0a1ebda6602b27d1d18f34afa340c8f266957657446dd38a150f2df7a81fb1614398f341f3b6d85e17d08a493a9d795e117d43665eec8cd60d5fcb45baa8a37e55fd5e2a1bc8802c86ebc1453c910032796d370a3dfa6ec1bdbf36c7a3476eddf0b66e8720014b68016588967e5365f115e8988266afaf9f455b9d981dc501c3361c7b95a491797b96ca7f9731edbbd6bfb844fc81a87a75a3badaca1488bf4273269954da486f5fa7d32615d43c5ab4caabcbc9ae0ca2d473e9f5680e799822109517531bae0de16329c4253f747c7d6a8a73f20fb74c413648035e5b8b7348891eb66385744691ab1c639ccf00e9059ad63b7b710f959f5aee6179414ddbdbcd732534aa8504dee06146341be0b799a67dbcdda120d1f762028d3c475bb2397a3c6dbff02c6245bd1dd5d25cbb86f2f74c1f9a4f40e7b97031579e490b9d325eb1d25f5e4bd6d5bf6bb6d7571f7f158bd917adaab944406e807647e90985477dbf8195a8cf8ee56dcd41dc8d36d6ef4e64b96d58ae3286d86d8492f2f7fbd2ce89fa7acc6332db246f79bf5a31a47de8a9b104ea94a733725df79b75bee5ba97c1e0a1bb39496324c1b5f47ada8da43cbf9e1bb8de6361418b31c2a07c72bc66391985342a66f84159b6985e47cdac77878cb8ba98fe86bce507db9321d31dd4794e37a3d93382cbea47ab11d9db59d0740c8e0d3ebdfceadbbacff098f14c2c08fff1c956c10a39b84459506fbe72ed9c2031911c717842f076978e24cb03e626f14caf991096d4e6c580d1931a9d06b9d82001135081e6b8908992ad65765ee920ac224acd3edce4f77e1ab7ad533947e59267517497955258e416e27201b12c74e4423fe98f2d130c25a2cdbcb40291b34067ecc5351c2c2af8b2b4825f7748b46e5561c53ea77d6d28cf119033e5374996b8d5ea62b09b32e072a71375d8aa05ca1a7268b2d597b2ff896570e0506224b47dd6a4583156ae0108a10b75fac264d5b48e5ab916b952a624e509feda0b17cdc01806434238aa42f860c625b36b2838e468fb4ac5582a31436affde0008d5b0e2a850c4f4e756174cfbc96ff45c7084627dfb33714d62cefb119d3dd0169a99526c73a5ea7810a276aa22cbc2e5253b23deaa905976c33e12942daffabfe55e339cc1815a0f820b7e9f8bbdbfb17b3eff93816647ec2ac0b960b838cb1ab5c5063349bd524ebad94d6887bc03965f15d01cb6736847cea3e15fe9f0ede44ee9384f1eba635865882f4e80765c95dc8b01006d2c547519cb8dae3a39962336ab213fc08ed4bc6fbbae525e09572c6fb4277fc397c5414c5c55b9c20d285e6040d89512a4761bc87011896568d46c6b386b96685a3379b4be5da04255d7ebc545a7dd16d8d052f61e95192b0f1c88ba5e54f44d29753021103fd7b04d356520afd0a36207ba78cc19e83dd403f1cdd2cf26b0cbfaf8de0a06cb52fe42ceb069fec08654990a5ff53cf2a829b9ca87a14213e0a1bbb6d8b9acf61c78f279f117d24d02b3af90a4d7d9342b21b775f03e818a3309f2d1d0d288be062ffb4690149b4a0794a80cc0282e20aeae553dc62b3a17bb2ba0c095353cc51d2cd23f12a2b8099a0fa0714f20215aa8b0f93c0c9f761464ddfceb330b7b0edd1d3fcd657c9624db7460092aecc2d8ebdb05649aac854db81a746e24e105426bc60d11b8ab8a8c4f2d5a58319b3ae33bc5ab9b1488461efdad345593dc2bc392b2998ea1ca352bb0f007fd6a8f6b2b53cb3199eedbc1bf5c9a0f2e054f1888b86ee83920b4900f50dbe035c2cbe1ca607323f1578ac50370e23803fd6c61910cc4ff6e2816a5b6f636373bdc099c0c228bc9952d86be25e893ee060d31352d223200d9d1504815d6b2185ca8dc4ec5620bdae5ad779e330eac8dd192843e055f525560972c2b27d776dbcfdf9696275f6acd85f2d0c05dd66b801518d30a6d6449b5577937ccf802481f333e0ce634d3814efa0b5ff9d7b12e6b5b25ff4aee2319e1ac8ee34067936f8ab8415afbf3a7ba5f2f09d8709f64814f391ce1fdbfe7950fc22d532403ba3d96967b3840743aa318f6aeb2b89c16d97542cbb321f51bb235e08fb1c55cb28ed97bc97cdefc8a3c5b03c1f814ca3624622b8ba1ac676a8b81aa957ff195eebbfded569b35bb2d75f637fb0df8a81230fb19b34d09cc93171135617b037c5c510a103556b1cf76edabf2be5d68f5b7de934a197016995f17f670f34f9b1ada703002720b939d7201a885926b6a500b3dad8fa71e3ffbfea52484f7341fa90bbbfa4c6ec2b044369ef74cba67b8fdbcd2936de9d2d1c940d79c63c7a2f6836fa150b610683a6f75e8cf9f92fc358205113df04fa0e8657434d74e875b09d4ad98aa4a23582807ad11dfa32a6d64c17890e6545331fb02d5cd47cf521f26fb4d393c21907ee4523c77f43febdd7ae777f32a198607ca6d7a482c4b65047de8628e7e1dcb08a6fddcd6de3ec45e2317e6681438e788cecb4a7ef18905748876efb998a26a66c5bdfddd22aa09b6eba1fee9f718c9c250ec9f11280504523a4cf56cd544080130fe4d8f7df37e1a80df58d875c9e57fc17cf414fe4a5915a9d953651e01115d79924db58d730d53de2fd4e708c3590d268801a18494081f44468b22588820d1822878326ec89affd6b7e3144dcd3f84797c772c79f02b57f56905e1d46ed97eb2f1d30566001ceabca5013c8c59405800c089a5265e7c63bc03a0bd1404950b8c29e8d2e343b478adabb8c070b20107a7e70a019ef2700c9827b993deebb7cf060023d979d411531873e9b191682d00745d04fa280bc368c3560da59a19f8c00a1e36ebb7cd038d380b6d32437ccfc7705d9dd8e22f9e6bea6e0711523d2ec1da5b9c3780f4830ed1a3044073a768c0bd64e95f685b3ecb3ce4fcadef295492698f7d43ea2b6d41e5a87ec0f063e6c408fbcefe4f47ee5a7ddce57da670ad2b02abf0a8f754875736cb404040691509916ba103c116e5d080ca6beacc5c4c95fcbaa46c2acf15bcaad12323abd557a4e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855152f52b7370e5e5654e7c11dc30392f8f412a136a38bc8bbc49decdb9c9a8fb031fe7ba0f83e3b37ba04f47bb6cbae844b0a7f881a4bc66cedabc04c221f0adf1a08a1cf5431cd3fe71b5f416252fafc2f57137620c606069c0b1d2f5bc293a3de17deae7225af8c703fed36a641ace3aa79b655e139cd166c0e6fdf31c9940dc8e13bfe6686dfeda588d9771e72ddae0ee227ef11b9121999c1ca0b32f2785f1a08a1cf5431cd3fe71b5f416252fafc2f57137620c606069c0b1d2f5bc293a3b8615c04f6ef48661afaaa61894cb0d2cdf0fe14ca0cfe1a338e72cd589d0320f5578e6af33711b20ba01ebf5d5d81ad552d7c969adab0312974036dbfa55f5ced96747be2398a9e28730f06cb0722b7f49ccaebe9f8989a3d35a74b74e44364902ddceb530fcac405be3378962ebe11a4ec124429807d4d96db4679c6169275d933d7de9b996eeba91c4329d3c142bfe84753e72b1dcf75427039a6ab912b0d338e825accfa931f48c715cb21b38bdc0850606fe2d608a21eae182566a50e081e2522ef497cd629b9fbb45cc394d4d9ba8e564040827027f983fc63f9a1fc965c2b084705ea04306386b349184bbf5fb5d37925c12eca9170e37ca037bbf2bd99d6023c501a106c9104f413cffbc51cf65ddd2b2f7cae8e965177be37c6f01c8b4a2956ecc2e17a3f73d481fb97a6f83163184c41e14004a4550dfc747bef300c5527faf49193b09e8a970390e2e042086ac37f6554b1c6e78a2cbb8181ba14ce5bbf303543d74c7eb2c40364e3c3f03fad3698f6dadd673c25cc6dc07b4a7e0b95a19c31cd6c4f8bb3f584b5db9f3cb8e76f44c45fcaac8aaf6a25b108a8cfd8d6eec818b32679bfe00e622b8a79d82f96028e55382a880a136abbed3749c5fc2f85ffbc2c94916086c292a0ee4b5da3707066dab214377f59384dfb18bcc552ec3b8907b6df27347650c155e647b8c1817cd636aa5b0e46b72de40025da2785a8fc56d23c653ebc54af1c48c333167c773c78ff917602a5d9d2c43cad9f74b53d22787ee84132e59747ad3301275087b45071be96a37df781b8607132ca0e56833cb5125e23a15b5d45952b614c0c6b170c7fd7405cd10b23fd9e4c963564e049331cb6aace92024276afbd8a10aa589583675399db883f563d7242e6c1fdd74ea25bcf5ec3a67129c46cdd519c9a50352e335e4c9ccec4f4a550ab7e8b9d3d3b4e652bc00c4fba1ab7d73a29f32f726c623b2610fd3aede96eacd43f2c8f8842573ed1144eae238ff5ecf45d1a6fcc613083381a00bf1ddf96f3d9a3e2470f386f194cbba42081d94dcd7f2380fae841da1c0e16fd30d1b3d03842e550a56194b70e545d323b353880a7a5844db35d84e240183b1402225aa591682edbb48ab1a9940d07656de8e5806e25ca7be55f3b4d88a50445c23427e4dd769f3f5e39c3170722d569dbffe0aac07ed281ebdddbbf79a3b6f9dee9f97f3a69dfd87cf7f3f26ecd555698195372c364b6cb37ab7741eb7898f013adfc7da63443fc7c3f08ab253e576596939b6dc5537b634b8e33f836e802749731aff5d319fc5c16f9d51f8b746bbe873d08e652210ab4f73aae405f35d89c321470bb7ed2e769c864d4ba3bf92e46841b269f0598979a472f344e404f07b40bcfecfbf9b69a3d5731b5c2c7408a0c37db623a794b352a1cf135afb132a6ffd7f8ff4d17a34b50480063e7e9b4005cf10780c1b0f4ef3dfb5e4539aa5865221cd5a84139142b596fbfa6d824e5dc82a4fd0adb16dd18b22f768957bc1bbcf9cc7e0ae96df9118fd8def2e57e92577e00c27cb38e4e8593c4f96a69f581b9ad4b1995b357eabf2bd3804357a821fa701c4e0d35b4b316603014994e38d750bd87f0498e1525924a652120e5fa5c162db1977c039c87fd1b15148fc2729a30bda0a78b5d1cf4541e9ddc1300583f91f877f0ffbb1a529d80775ac61e7e45c43d51e31571c2afa53000ec129788241818999267e9718dbf6e7db67b4564e1864316fa1e501826948dc1f6dde8ac7d0c092a38e1637e5a585ffb01a299a77652a705429e77882f3c2bbb6f00592c49837f27a8b342525fdd69f4948307104e4c98bac6653c28eaf58e274a05283e6d1e767a096070ff9859d0be9aef3417a7dc91941650bd056e1b07863a08cc639c965e917e95838236a55cd9d939309886012de1e0c256fdfd850b4d65763dfcffff83240a7c0ab86ec82daac70ada8e8e44e127711a4984ddabf160fe23cf765070c5c5139d87ceb84f572c55f6d1d4d8ca54ecd28475276ee99d0c0df6e27da733c3bc147a25be6ab7aaeeb0cb6c66dbffc16a8657c6c9f40c56ab8e4561b0037e119d22e9f3d1f16782926e8a5259f68efa25718b698d35b3e5ab01b44b40c5eff1ccbe0f049b386057a887083ce326faf0102142a47d74d2f28928ea263bc80475690af20cb5250998a65a686166af471446deca811678f642fcf644eeee23b9806afbaa6eea142ec53347f9768ce9c4e4ac8e7e2f95cc6f1f4ba65af265b4796e873114e12baeb11825718f679655ff438ed3eb6eb48676c8675ccdbd14f1b558bbe9549238d7f31bbe53dc207a39bc09967c7be27ec31f05384b6cb7499b0f59e8106b2d65699cc47bc02c66441d504ff0f812f62b02c58a874b42943ae62b12d55db4ffbae4a3666a0aec4513699fd5bf836a069a8c0e7dd39f64c9c3c94b785041dd002c7f147e90ddb5a52f94ba9fd50ec362e3744d8d5ca095e5b9c99fc230241bd58ae60ff939ddba4931193f655d84e59269642975d68e8ccc05bb14813132de743638b0da7fd4a9b8fd0d90b56eb8d34c5ce07aefc1a1184a45afdb6ef074db5ec8bc721681a9538afc8a858a4b8cff741ea200bebaaf8d0df454fb7ff4cdccae8285ae11b7a112111e12d64bccd939e6a94e4a9fcd1e36f3721264ee8aebed4b4cdc3462eb84e792187769837e0b120debc4491c694e0cc6e6a900ac05fe4764be5619329cc2d64feb73e53ddfcd509a0de47648b65c8667350ada5fc7df26af8f5dea81f86fe5843a1b507181a3bef8bcd3c2796c3bd605a95a0faef546dbf113b688018069ba74abd27bce71f2a83c3e189adc7fc76d462c7f1f0589f4534232ea951290f90f7ddb4fe941e70caa45df25ec5a3003a0b8f4d0fab76be5272b06649e89e1922423f2a73fb3bf54a2e7d3c2d99a252c62c8f047fd4c74101e5fd17a14bd45861ddbfec5fb3b53be112cb58915b91e10360c399ef0343ca0371cd5664ed645df5b0a98182ea4145cf0199c81d9cafc2300c8212b43762ae80ad5b425fd964f1b311da679c0d9765ae0e4b84d5d9fb0166482e65afef80e861c3ccba7e277ad73f562fde2d2435c3a2fb8b14ffa25b6e7e4ac34f1bdfb44e8e71317c064cf06b3b5b3981088e347ddba5e3c25eac3cb3c951f332de1b34d198a16af751f3e654ee9fc8bd9a7e3343e9b1acaa39f8c401f6a523808b24e7fbb5128bca6408cd2e8a034e9f9c00643dc52ce7dfc0bce5415b1ca33f988947840fc1355c593080a3033798033efca15fc15e6c61763b01af48ecfa2f3c438d61cfa521f795e3b05ac47f82b9a216cf9cecb59429ee0e43aba8be755dad8d8d099ac2d753ee1c3df198a1026ddb5c748cfd0981dfecdf8308bd1a6739f4cb3d5c55eedb09dc15f46227955ca7fba1e3f930bb4ca644c2e804df5acdad24e3c457128ac65e7b21b973b6e64ffa1a5560d936442e5a77da6256fcf8406f9a45446c6fbed8b5da8e4878ebbcdd65938fd5ed2d8d8a2ea00ba1e831e2d721a2cf4f6ea4bb517061cfad38c899e298439b9d5c6da57977727a53546a9342ea8ababbd302d2586081c0eaf8d929b16dd89b9bc1f10cdb72a2cfef56e1af2a6e2966fdd0f9784ee0e5c950dfcf37dda85f6141cb2e16a91f424b8f8acb3f072ffbad7229b1c7e1411508a0c337e8e9ad2e2e2eb7c001b65fd2316554be13b85bc0bba0c2b5f5baa90f576f9270e3de5e9a528803fe828df51ddee9f475c4ce1dce55eb8717204e906df5fa9c5061c4a7265461947e55e2adabd2726ada39507421873f2c46b69d73e36bcb7cb73191dcab4e635c509eb667d8a073bdc7cc9b0c5fc1e2743b5e8f3ff586afed059bdd8968971324e4710f6d60339fe60f9636ccac022dbfcdd7789fc156801689d6c571f9b5aba142c1739dfabb4cfc1a32c976ea0df495417349a5b78e025566d23aedd1061147eedbb2584c57b4b96b8c624d6da4eb1e404ac8a307669a9544445f49009aff7d55c7f986b4d8e97858207df6e64734049786698958bf33e58cbd0b8b1b1551b5b7e8964ac31c25605db55de4b6806a7edef9bc114e7abd333cb23c997b0eb7239f124f2f2e2bde96d97cc8881f4199ce7bdc157e358da31073facb4e4dad7086d062a19fdefbffaceab266bc4628a6bdb42d85682ff375c0be3f16b5c6c0896a65a8b695ef30e3800a7a8a1570cb06a9065548886cad42202a92d859af779ed6e356f92abb7458a933f729c0efa81129dd894130fb3c8ce9e984cc95e020edeeff7e2101574fd3955f79ae962a42bd1775a57c9179cb00536ae83299a98af02911c53db9bdda720d4258ee82e032fc7e84bbff9b8b4b7566c4513f0e18c60cab5b00b320c4a6a3268c17ff7e5aa6386e8b7f093450d8b237c108b2aff6444d6a912d395b4678cd12d6c772d534902f66f4afa6465b4779e31107a7c2e959a15c8bee47e308a5f62e8014142d26694230a7fb334224824f1541ae738aa38070e961f826cee80847c57c815588d87b4e2cbce373331b2f8652314a81160c6131b22985d6ef1c8853c3deaee551858cd28c403d64fb170ab52bebf7704d769bb9b0adc1c8d9fc7e02bf1175a692a7569c15765ea1b3a8c880f1ba805c1b4598216882c5499c206b9b306edfade908276a883af840be4a1ee17f845f6e2c6f0b938ff42694dde821f7cc3a08c471e8ab92db0721e7901310c0261ea1aaea58d7ebfbfb3b7800e32275d5ddf98b5ddae63a8c4e9075b6a8249386dc3dd2c5ab1657ad21261a21a01aaaec866398f3921e6b7d728d8e00a69939ef1ce3516b8fa4f96d4a270fdb880ca2745816f901730ce6c83d1dcdcfd031bbb56136dfd0ce54e9b398fea95ba8e505a13f2a8cf84c0d70fe3fe58066a7da2afdb5913acd11b94d0e65d3b9f500cd91732f44bd6acc8cc863f38a133eacc75a1a006258d49043882cc2e0efef840b9f774dd43755872b7538a0b780d1d4f89607bf766fe1d3841e538502bd0c6348da67234a0e27f9ccdf86a50c0c2318a2b5b1eeeeebb2b150759b7be71a5e66aaba101fa387a4e0aa854ae8b987b6ed471088023a778543a3175e7d5f0d31b2097692dcf0e457b9f24e2d955148a8878b4157a92543532993ef57c8fd49c2b7073a053b231baa69f683edede9426ab16de7551502ec7275d53abe8e783df1f662240d636d45d0bda826130e727aaad47a17a9d56222823cffd282f6a1b7500848a38ca1ea9c3eb8a8c3e9e377fa1bdc73e8b4bb4159f2a6a1ff82157b0f600df139fcfb8dab7b3a725f19c5e57a44131f0e9e4785933c3272e036b47c8dee91554d1819734c6bc1a02bc15703299521ddd592a0ef2d22f7b5d1dfff2c6f9bfe28984f773641d5afc2bfa4012f0aa0a87e8fcafc6142bdf9b99dba18111c68e26f05708a02787f126463fb51dfd2a791a9ba40299a51d335b09b6694b4d5e78cfb05500a922dfe9ed60128573d9161fdeb0e1b01c1886505152a7117a3966a79c0d3c4bb179c841caa9b91823acf39c81f325d300b58d469582af50e0fb5beb9eb5455c9b6caed78c881d253798473ef641a90ae4ab8e99fa95eeba5f1d617208dc87dd8a4d62e39070a03dd7d207ad9ac430e205651a617622b849655aecbc2ba4d765a76a3affd449757c2de4fc7d870c9209d192b57719a6d370f0beb73b9eb26765f6f4ba5b41dccc35dd4a9213700d9f10b6c0a6319ccd1e78b98e2e94f6002fc70c29b7c32eecdfaad0ac157b11b1ef140da21d90086d25225d9dd942b3563640d5d271924de92b59ef181a654e89c232070b8d161afde1a8f8f1a9d9f91b1a4c21e2abfb9605fd59e58e56cd1ef8ce9990892005fb9e1d326f39648fe02b4dc6689f2c5cafe56e9869f439c65a1a28456a83dc64b31205965a641e602be61787340586890783888811f8c43e6648cbe30a5f6b7674383ebf05ee95adab53f588f593a70f83dc2231b5f64c9364141b8b186b7cc84b56f6d3e2dcd12745bd52ba8f21a16daa8cc59f574bd74b3eef8691ec110f0ce1a70ca88c09d4ebb83ca99bf76c234ec3d655a28219af603b83284b031081013195a1f54f357b32040f8d7b513dfd7bd38e72cce2acdbb17efc3e3e0e1ba2aa0ed9804a9dfc838f3ad7320050b0f28e4c3ba94ad0be78f849003ca951ede08cc0a0396a04844953f570b6ecfad257c2ac9a62ea9bfd8c5db0bdc1f1cae6728ad3a63c24494d89a8e29f4fdf82098da80fc63873f9d402aa361a8404c183c572338d483749a4204c248413044b34441d216c93b202b573214babb2310b644e124bd44e49e56e1b6627cf03c9a338d5e507e4aad477017126860a30a6edbc85ce39dd89c58ad1297e35055482893754ac9f43f147f3e56bdd581e11bda2adfd5e15a064a142852bd506cbe46a4f2136a8bfcf7ba475c36968ff90fee19fdf700e7dd19a4b7d1aab4f0ad2f77499e79f1a00f173bbda9f57ddfe00ecf2b8cd2767f053ebf98eb0764e7e39645299b2609c1df6b9f0323adfe1007af60d76a5a54c40e4d0b4e82caf4e1a1dda347e8c8374d350445a77febb462fb9c609016d00289d3530067bea12dd649e45893863ec83d030f9860c1103afd0c8822b377867fd3bd4867ebcf4088988a71fdc8974f64adb016ebb70dc5481a595ebc6f0dcfb92a2539d7300ef7764756e600cca2d8e0e14f2b740316931c95cf3a92879b1e7aad32cb6148c448fbb8eb77c0a1edc1daf084ddfd1896384ef7d5e3009fd39075023b8ce837e29e50dd0375c03a5729dd6cd89d30363a25172a226a95a17b144f6eb0b9e474436579ce0932d993726c9715751a50d33ce07209913695c9c80be3d9d402208439d18c0acfab9476ca679c8359948dbdaaf24939d79df123bfc7c698653a17cc94a6646cc703ff161b17c50dfe2f6a6ffa8b9b7c885e9411018e0b3c2376ede93f70aa86ce76b824205077b81069881ee9e75eb1553fc901db76a11d3da6e80a9f3b649900d9dbb26c78a77710ad141b84c692340e37ad0a89dc1b804fc2be82cd127d92e1ed4254f2afc0a59ce0c0e77000f953f053ccee82e5e770f747ed4d197c2b42bc0443b4d13266017e208f4babf6fdd9f50082914e485287e1d16fd92e0b2917c18f1682a3b6eccf4ea6e60534175fa63691f58884200e3f34e67300bf4eb33fdd64e10b64ea4bbb4355ec9872e37eec667fe54fcbf3918bc3edfc5cf222a13362fb5c97f4cceb9c2dd63df80675554f335640cc46875185af539e2b2f3d6b9e9d7ed0fc46f10d83b7ebf877d9e908b1cf1c97fe52f84044e8c568e6e44ec242fefe210e277ae39e189a5405eb84d31408cff0e4e1bb4698a4778a86a3b78ba53b9a78a14bdac36ac3cb384a10e2c9e55413ee0b82169b269a694dda3744d6d674a25f046a4acecf25045f3ac545b019dd05473b320b1579e1fcad315c5c7d4ac99850ed9ceb7b9d048999b142ea1a03a24058f62806311c8975d2c2a8b7741871d23f64aed1fa5eb9e4d49b3d54e6093bce903b5d00ded6c2e28986df877995cd3907f2b12e103c4bafa261ff8aab4dd6fce3d62f0d8db8c859dbb7d4305e268686bf21390ab8014795ac42392e5a83fd0a602aaadb8c3ad6be149d6bff0be60aa44ff54f41a31fe579f6b98824f82c8324bd6a2984ed46b550dc8eff1a331fc8d2f54a40c9f144e80fd40afc82eb5b85fa7da166804f41641cbdfd1b47c17ae424940631386962175e49fe26459fdfbc4ba1ed8bb5150fac9db12018596df3b1232af816f31e558a67d2a16d00ebc6c2b822fafdca800efaed19abc2e9505cf11649bcb867173e73fe9212ca74d7b0593a265c557f3cf7d0c4c9996c6bd019172ffde680f85ea65a64d803c4f23d0f37d7a5a903a934771127a95b0838bf91c433c835bf3131d4ccb5bebddc0dde78ec8f9eb112cbdf1dbe9cae900ef2b9ddabe9216cadf18791064bf83c9d10d7578df2a89b8ef291dae24782d3637068bef067d8b399c1baadbe4d98eb1c5ec0c61d66af08f61c9280d8be84212bb3aba564f9a4d8bde9c2038b18dd1b37df8c33c00916f4f83e91eca7271764747690426a7063b8ba183bac78a3cfe52a3efdd8e6e746002c65c280f649b5d6c7fa1a6dee4ab9d20feb899a40af45632d80ad8a6ce2e55601631b471d8fe1971ee8afcca7a5b31af6b7df6e7dc3f71ae771536626f5be06f3a9107c2a869a9e0fbebb5128c30223520b7ea6d7291e0e8e35dc507f4f274158e2b2ed07ffa2a62cfa11a285949d6d988c2cdf8a51203c2eb5dc319ef8f35751a8f1ee0b214dd797d1aeb947609134d3aa251fe7d2b0d39ac7e49dea825bbfac24ce16c33c0e7b1321b7a2e33f7ff1f4eb2245d12e83caca8b7f786b6556f12de90f9b681e36edb234cfaaf98933c17215d61021744605b06ce88df3a0f1c560add587bc4b50d7ae0575aead06aa2c794870917428f7999fae2fc646cca25ba7fc4b92f9074710ff2d09f5843004f9bb614d4ddc70a6efb3f7d3e021502af3bdef134a1c92797f9e3703234816355fa5837d193c70db53f127e268c68847a68bb1c82453cf2dc3b922f674762b6cb651091082a9ba9703ddcfefeb92e3f122f98fb540a96fd9e39f4a914fdfc3cf7cc9aa739794df86292e789576f89f197d394ddd4a7ec9d11d1a1a4e7fadf8ed70922782f969ce78e4cd186644ace5a5c32de785e159eac05a73de596bc361a892ac30f2d069673a72fa4b52c1b45fa9b340dcb11212bc0fcb43bdce000fb62e7234384c82035afffdd3db3530ee008401f6be818abb0c8e688acd966f6f75baae3130245cf17d940eaa25b7273b30d537618d0cfc414ab271c7cec150760c807bd5ab26b0d74857b20a299f378dd4d5ca4f8078bdf12b0e809bae476121b21b957973e04a5b9bab12ac51a1be269656d532299a6c810b10863d7264d7275f95bde4b91cd36f57f3a56c52a361489b4db2953d20863d07a70255a1dc863b218f29c852fba99cc0bd5d96313c98989334ef943803c0063fe642dc688090986590ac5ae8bc583e02c1deb7b786e1ef60cac28c40987a2d590da3d6304539d8784fe0496c99dfec68b021031862a5081f286dc500483488dcdf2b3ccb0e683749aa5b31f568854c2f7cb10cc7174e9a3c21dff58d739bd02cab8f2e52e5ee06e9d315e47b0bc0aade6bc5bd30660e52bf8fa99d382b1a35f699bcd4f994a59332898dd6da3731ab765ebddeddebb1b86dc7a004d0a9e106bd403d01b755865d5ffdfb1b7c3fa2923e9f6cf3b27108f08a42f36c9694a74cae86749505fec07040be1f7a94ddd5b63a4296f912aba4c5b77e8d06b90cbba4d0c23c08835871f223f217b54e599093db10ff6c4facc3bee6860b222a8a0687b8f8e4e30eea5d2c3d54c958f80d64388ee80be38cf6e96308bf42a02639ed8d30338fa77773692ca4c0fcc680da0c92b362200886df48f600e5219ae0a16bc0eaf315184ca2477f3ab6f86edadd89352af18daaef5d21236d826e769c84b5cc96e6c44d9e0d595db3fbafe3bf7b0988098ef077f6841a7934f58519d33b9fb709a1b37e5cfc17fd38d75da51788d93399d949e37204a64387a2c2184ea6d1781c3523948083e115457910dc8782b98a042d2d7609c9c394ad87a42d23387b1bf8c4186e38effd3dddf72937d4e2d7ee2ae9aea982b1edc2fd12a28cb1be8cf97cb06733ebed69b38133ac69e4b8047a7d365f43ad979789eae1276db490a57318d3e2337748b395e463f5c413c05b25bdc6d7425e332b0924b41c1ab803cc128b8fd5ca11ea86b2341461861a72f6a87ccb753f941a300f2a2e8f135be95166c107e25d9251401a4d40ac84f10db4ff2a3e6e46a4aa04199061cd481f35f4345a7f85a66450013f6c76a8ff9aa2217d0ffd41f26ffde3146d26a195577d96702df2421c5d71fd2423f64b6b1ec42fc47b44d76e8ee0dd8907eb55f04e93e13a5b71dcf9dfd7753dbbeca2b795ce5ed820152142735911fafb301fcf14b558ee4596cbc7870e2ab947f96ee7fdd75cebb6abffc761a0bc11fe66b4f223aa573689048e2756ae69988f852c7855769dc63acfbea3e8bafb5d6e8e837b7752f6524c4f2bf33bcb1601fddf00fc1d2d7a40694b7f528f38255151aecf77ae4312440d1ab6a337533319619aaaf98a1d5d553d3ad16f0cb6feb51e9a737f316538c0924209101e86111affecc8be18da0cf894bf1884070ea8d01fc50b0c2411c49e43a8fdbf2e74aac79ed3329eebf5bcac61888fa6a4dab71ba093a95a22447d3167d0e2e93790d7e4bc6f545363f2bf6b4eefd5f2f6cd25fe65eab235b27330e525cee0d21ea10bfc8cc4cdc9035cd14703c09c93598104596c1959ae985ac986b11d5a8b65466c3ed1d773dbf91b93aff6f12c935d425c6e24ed16318f236a03c5e4f6937dd9bf8143a0b2e60a5a4fa5918aa97d48e8e2b8ed4be48e78fb98e8beea28aace98999ba4dad7517c13685fd849a95bd5410ef9bf6b0be2ceb518dd7babffe5e941d6450f3e9f3856b610cd022ad3762ca2334276af9684a1a56d1cb717e45001567e375d86d6fdc4fd7f98305e92c6bfe8249ab78c276caf663b520ccef6a4caa54ac87ad3554003aea427c7b520dcdec3f7887f50ef7f7c7fa7b1060094a59debe18f95faf1aa947cafb7289d4aa88172e94826173923c4f8d794b5306a92d7849005cf0c20108732feda8e5390526e4b718544ff0a26c98ba1b9c9f2e686a97427f883aec278ded7ff44dfa93b6846eb052e49326d79d504cdf02ebc1a0a650defe943955b4c83fe744adebf2c6874ed1c867baaec1aec6724fc795d6dc726ebcd3616cbcd19ec141e3eb2aed756e2647f563fcb4ad1000ac4359c8896fd8eb3b1547dfa01f030671d33109b71967dacd4ea15027d4e74d3fa40d9ae3a9cb3506a34934e90dc1aa64944a08cf569a5bdbec5747d5b6008b624ea5e9c3dd18ed2455008e7706bd106468ef0bb882facdcf0adb293489faf7cc3b83d675f8655863818ed8ab3ea2594334a73e1693b7bf8b4ef1213992fe44a36220571b1904f7484bbd220b8529a57819a0eabd1a3663d7b843fcf1a206d574a4d7d297d84180c33e042065d9689a9e5c3235f50357220bbf3ec58f1677d54eb351bc9ac5ead9eb48700b384b9e8fa76f93fc473ef68bb66e3ca321a3958a874c1e9e37fd4fffcff6d69d89d92a57d7042f7abd21e703cf8dc3600aaa732c1dd16f323f4afefe3767261dc4cb6cef6cb0f9e16be1dbe3a2c016c8ebaac895286329637ca22f416074195e94cd2bc615027a07ebce9b10ac830f099ea26310fa4736cbda5759fd7ce860dc3b1a753d69ce99a4d55459ac36e7d3ed6db06b43c1c9048763c1a41ea448edaca65644b5b757f3d9fae4670fc53f1fe05a100da313683b6bd37bc6b11f9efd2e09f11a0cd4b8f526e6c02b4b4d728085687160e408d99083ba53c245dd3ce5b378f0bc28e560d46c2616f3f1822e2c4b17d2e24ef17c8233f3edf1f67ffccf76199387e2b9a9ba8323f9daa288d83c8d53868ced0dff02d1c314c15bf8b808804db0652edfbad28b0b12a30186930d6b8d83fe19a547ed77a539a4e06b1e98a026b5438d91a7515a7550bbe75c1b5cda79f12bcf5e4bb58dcde87e0eb487e033655aeaee2b0325ff1efa4ea2e473da0b54cde28f54166b6caf7f5feee678d447ffca14dd729373a12f5e4ddd72ea01f705892f59fc449b07a7ff70673a6f0e3eb58eddff29a33ada502627a457021dd70191a4e4bb96b17ff44b1623158b3ed42d9559f39c4ecfb279b08a5f404cb06ca5dd84484171f4cca7d1b8d9a46d064fdca74ad39b2456de16ecd432a507618410226e803c498dba2b6d514417c1bdffa67c56ff44dfa8f13551a72b09c6baa84d95046d6935e755b4968c6e4200947ac2648ecd006b131b5a6cc768be711f19c41368be35e87fad6afb2c141074367a191eb74426c8c61e4ee5d35289346107da91d74d71807fd6d7e0242dde4bf903ed151aec715d1b8855519a0c7307e73b6b6ab82ac6cdcd6e3c3237fafdc651e5e8382caed1674ac759a76ccca9e0c981775c9c96632a637ff49c75f8eb117dbe13b110da90dcd380d4b1fa4d641becdf14aaf7a1415384f205fa4a9fee395252b54246243bbda90fb5fb51c07672da6f9d49a86401db2db61afa399152e5d062306f75b072836158b0839d89904a261700ff7aa0b8cd8da703b358587f0cef321e83e219dd0e5f9130315494fc4f45e9581e3cc803f1749be7174f41e8453a61d6d366973d854849d6e4029e733594f9338c2e7e66a5e76e028b6b6fdbe281c65b04a01ba4aeca9721fa3a33a091f1e8119426c2bc68d09e6ce2edc1ff367781653cab639bc85289db65d8ed1042c53c4750a78721a63d4c6ec8cbd3dad55e46298d59dcbdc596ab3d8a2bf6fa50e72e2897fd8520f791911bfb72c61ae4ef31ec620a6b4fe6abd3430e3dd256aab5c84121ad9a15a90709d36ceffe425ddf5791bd5efa3ce85e1383b07ecf56deba232a36b1017710afaab3c24ea84f29e8e1aa84ad7ffbdaff9fc5755c0cb582072f5839100d18b8cad11f639f2ee2482842e17ff5ceb0bfe27de0a8feaef0f5df7878444f8636f3a8d0d707578f75228818a4900241ca05ae627e264d7d3fc4c3b324ed4e0257f97935a7a1b68a38fa90ca64bc6418b8b2c4cc989d385fc4a33c94670d63eba742bfb838380b08c658f8f7fcbdb0001e7f73e042cd7cbf53cf3d1a645051945e55f9863c29c0cc94e54fa45aad531b1cdb9b49ab3432052ba329be3a7ef29264c53cc3bb71e2de9e7b9db3db8c8aef4a55244ec9e1ebcf2317ab26421a8ff8cdfcbc8fd2b17f54ad14d02b29deb361ee1f362c9f50c469b6cf5cc04bc156c96dd1e1cc97d6081eb9795b664c24e5981594e81a69423d23f613e1aade8d56cc8afe23a521155bbefbf2d5d8d677b78e0892db72dc49d19b3eb3b397e0749f0545334dfe972ec1dfc871a1405b30788992ad7010f9380bc9f0b0a0023b05f40907f460022c73e8009e6a957dfaf29ce7c7b307ce273027b02af1b904d3b09a65f491d1c57e8ccc75b50bb7e83a2c16afa52210c1e6a23664cd933d93484e524a6cae953da3c59f2adb76cd13ad141e283ed3dac726df372d230df47fcb0a37e956a40090b57dd603d93a512e2d801184f7a3b5722ccee00815767f4909dfd7d001733b5cdf5d1927ad24b094d3b561b30b3729e77772e1b2873cb566908967f1d1197d8da92b26e4034a29cd90920a907a9e523c6b2fecc90a9a9737008a60caa6968af24833d70235d193301a2e7d37ca7f9521264c52eea2a91eac085d52652eac801592e8c8f31d6e8fff218c27bfc5dfaef8906104895050aa742bb46ee23bf6f1b96fcc76e4be1542ffcf00ea2d3bb9948a932289215603d537a2859d56473756e7e1e33eefc414f1f854e3fdf65978c9263c347bd01e90201c1fc0365be401d5489d299def115b60bba5b2f8d856aa1179ef7bdbfde33afae1a99c636f93506a70195bb65bd833490dea0acc28e6a040ff25a70984aa664a0efb089571239d44574b349ff5e4b2aa7e8d2ae1bff61271cd8802f479d90a403cc83df92bf86ad2da1c6e08e893ab75ba81e2825514122cce7b42c189576ddd05d18973cc2108cfc628a5339f2a3e4f88a8cf2fa87bb301c490189d1ee07fbae9f0740bc0723dc9a9db73663b9e98759aa09be1c65f560c3ef7bd2c441d3b890387b9540cb325e4465ade88cd6a08c6ac308887adec5c240915fa44f519433d988333de626cd60d7de87e24613c687dff886131ad918234748ab0a1b44922eb5d4271acffacff31673e387e1b6e0f220fb10eccbeb8da0937fb991d60c2f112c43d03bd9edd4b5c45ee3b456a9e9fd1bca9be82c3af6d94a93589bd1ef19b20d344a0692e7f4fc05ed19247bf60ca112ddbd9a570903165d443bf04cd0b928b7b87f3c235cbe534acd3adf4f886086c8e35dd3fbde1692bf96373ad1d28d5571c888b36e33c56d789dc8ee359b80bd0cdb2b034d64897ed3e76d1326609bda4700446770472b5392cbfcc7bf0fe6d870e1bbdb386f54c920674f141fab92e8c4488394428e09ee99d5e0715aed9755df4687baca0057504949232b0d6323a0503b762d4f207ba4b5070bbaafaebf483468a746fb0260edd284c7b23d7738862f3cec651cabde7afe49fd1737efc0394d2c1c4615b23d78eea86bd91c9c2e347f6ccc3d56eb0290290a68a1dabcaa5b70ec586d0f7836897053076284685a2820816d6812e7e2594a300bb935daebef93879cb96af0ec8b24a060ffbc663c643d73d5e5f25ae2aecb4ca2d92e4e69fb6bf326159fa2539795bc6916a939ae3f87d09191eacfb4ab612f24425b920681095e4a39486feaa8353fd5b09c905019da5b86c466d00955397590a6fc75adb898b530523fddace1930bf4ddc58394d861d7bf5278e98553f6c406893586f6890598974946b77652f3711df8b3a5eb279e70072d79d0e2bdbcc85faeec0e9622a2de337413f9563afd309a0acc0e5823375c794b48c51dd45f48fb2ee477162718222aff27b4a6cdc2e8858237ac889b54e3f2c0dbee0298dac78afd487fc92223da4d19dad83af4ce369fc8ee822bb393bd8b079f90d027da0b736c86f2f5a26630dd742690bb04b1476875b46380c7ab2e6d20cb499aa915139575b1d2cc40ec37a7216feed224dd8f9d3ed1a508aed5297e6240f2e40076f24bc3996637d813a04c19685f0812335144b79a9c17157db5f846e998ccf5616f44b710e30bd8d7b50da7ae0c692a3678c0641c2a16d8e8e1ecf56477f5527787cd509fe22a99af5ac34f48351ba15456cb37e9de004e1d462c5c202e593c13a4648b73d7ab503bedab97d91c08ee094288d60f7369a11877e65eb4961e83e41a7895f72fd299fad4cfc07c1f96900c5d3e4b83bb8bca4ebab06e33c9bef16b6083f0d53392d1ed8719dd6d5b86314a8cee303b50f7b882c3ee99f55c00bcfb26f4e450503d7b414c8e050a02ae2b90cd81d86b8f12e5f933e610e9354eaaff7c4eea85817592afe834351441a53e1de2a8818e19fb3d63094adc9c47d1788fed07f672833d551f573f571cedc7a762b6bddd4ff28905b8cb0fe6f23039f94e83dfec9c43b958770ee934e0702feb8bf1107b958a066b15e5fe4f714d00644dfc5c543786c20e15a7fe0c80f350334a4aa43e8b07647d699407b71319411bdee306239092b5c664759a8a3d203577d78da430cf9685bc9c1768b39945572f11f19de46de6e6167e1a2c66bcc6bcd406b5c16f8366eef32e3451298f64fc2b33212c50a22f668d019f596b84afbb8160899512a7a877208545bd9c091586a03017522e6535637e4128365f3f7c52e4d43b210ba7d8e587caea37f957fff27e5d63fcc4eb07428e2fbb399849335ed913ea92ea0632227850190eb6b7d427edc5431a441c48fb5bf8569c42174f98fd359d348a6354a5b3439caa66648854915f06f5f8a7cc0f32d4fbd9d7d4474b4bf77c31a393f5e1601a79ba0e9453d4bcd23c26fd65f174dc4e654fec1371eec79ec16e479ec84fe0d7e7eaa96d990c01fcb9b5fff0da8301574b7fade7879c95744aa7b898d1d43bbe1a424ee0f2529b2d4e3e55ed1ff2e314d02eb49416eca16b8189fe3f3309e0c3f0ec8530b9a5a8ee07585447bbb36718daf9c489133b3c635249858a3c9644d813b6370693302c17ab5cca2d8ebeb70082eb7ca6eb20230837e19eec5d672b8799f07c255267564ff03dba65a219e94f13a0e64e981a797c8d9233becbc03e07bf09e57da80c2c36dcd72bb72c1cb2bde0b0ac597396c1f0abb7616e89a227bb096895b3fb5af1f1890afd457c10e4bb8e146514cf12331e153236fd83c51ad8737f4d99df57480f85686d87f958496059aac431ffa7277414fd48db2a014bfbb236ac21fdb711d8e5cac2f94c845ac4a4700faa77fffab5c37cb10152bd8e7a44db8e1488db5c6f1045e3f4d2e47542b57ecabfabdf91c214c22e18d4bb17913f662862e59cb565d6d46bf0bcceaa52f35da14d8354e6a5a6f502299aadddf751e5794bb09ad8da56c238a67be0bc18a1186a79d02cf5a087980a28a65882e400cd154a90390b5eb9588a6e2fc8be84ef7ba4e338498dd16dcbd087b8ef8a756f002e55d8befbaccd42f29a50fa4129e8f6b1a40a679cefd85cc921e8c715affb559980fa36a60b1fa015cefd1961317b6968d96c24712c91da0663e8c94891cbfd200e3b1350372e517f2b5f4e7179ab8c06e5e825630c9c36e41dc3939cc7fcc12c97f0d26ffa71f74847cbae4f6a5cc4780b596fa402637d00fb3845f75b3c70e4c861211bd75524309d1d4d5ee36f361552ec9896337e7163e2a38c5017a22199d8b4348f0be9b943c77043b33b37cfc19426b3f4feb218f8c93940ed1af61f16d8c1f9b57da219bbbfebdedfd0c3c792c099d03de96ebdc7d92b9a47c8735c7a89286d5581dee0fcc66493a91b0796c68c6f83639d3fed491b1fe701c05cddfcde71817085a71242e7303e56c43b0b4a441bb61d0a5e83af0e8cae32af00dd2b82f43a5692c8bee9fb88153976f5e04c62fb4628b7863e823aaecf6788d901b4d69d5aaa155981de3fe91165dcbdfe3d403ceef85ee2a920bd8c810b9032ec5a56275aaa5c4628bf14ae5d627d19266e617310f3d38ce1f1e5bfc3fe2305338682a3f90af8616a123ac704dcdfe92f7f4c4f00124b833269baa702be7dfbdd8042260a5c024a797250e925662b4862ecab57567e3bd69692bfc5dc9ea28c6586635193645f1e6e61f5ede8686c3453255a01c8f9adf5ef0e7d461402ad15107b50bdadaf6b154aec694cc914af8f8c6b9804c457bad1ad34cd488d9742794074b3bc2f23de91f6ad2d59d77629bfb10f083cc866a6cf50574cf5a809c2753a7a6eae44474ebde0d6868d9019937980bdfa930def9ecceee3449bfb5ed6d43ed2437fed61a044c4a1ca54b79858ddf9af06d06404608c384a7139a48ec529c5bb9eb04fd3c2f7480f40ac44b703514fe72aa0f1ea9213d94a18a9a3eb04dea61f5204f86e70ef4903d344ac0d7aca88ca16e1d4fe546a9c02fa0eb536092f7ab12925be256d14769c7560f671371e445b737bb6a1f291157c54d411cd30b11f3e930c5a2488dc4b5aa66e83e75ba9a59dde9f690653c611cbc077d268cfeae251a48c9e79afdc006884eb3c6760bde2c4ad6c686cdef006b9aaf29aedf009b4360e762562136ff1cc2b9f992ef339b2bd325e925c24dbda2edfe992f30a056d3771349b5501c97add53b7429386ad9aa726918469aa859e66c00d7ac34a05f88d932c810cec6ca5b34289c50814010ab4d4d492f0e092736ead87508a785209de528adf5ac81976310f3ca96cf9ba65faf093d7e6f63d7dc0bcc4bbb95ea91767b383ab1c5aedf81255615cea17fb27547ee9d173ff783dd8b76eabc20d85c30d2d733132d9c46d5803851ac9c3958b2c737a7c26e478b0d81bb86d88cf5f64cf42245400f002a8f84d3cd64814252fa61a1328ba360ab846f0f3e0f1037d80d66ceaab40e544fd1463c3b5ef1b4f7bae2cfdec4653149642e1b63d29a134e8a220b79f1b942abec536e2daacc351a64511b46d057c511324e0f7811103f99357cc137930ac2a0cf4d0a88810fffa1235eabe8499683926bb13f6be7c1af1e6a07a0303fd4b0afef49d0d729d26565282cc14b495982954f93080d83f36539acb8ad45f1d6e2ba0573807ecbbc1003ab3e194705bc9f666a85b16d23798ece087a74a138b9816f350015d31c75a280678fa74455b69d33f7958a3c99e1f9705ac78fd5593cd0719a31d77a8d5d2c87c842f30182d3817d08d7b957d4bdc13698a00ec1bc5e25d523420f77e74906279d76cfc8a2a262bd54202e8ba2db38381598601a548aeb1263aea0b1aca3c80a816e9b82059da82c6d96d94ee36968518a45c1f99a307580cf8af825b0cb4cf1efe9a78049a49ca96e634c0c400d6ef8144424678c27710de70a4a16e20f1f520aaac539f033a860f34c06329a4c611ed0b81e374912b392ca8ed6e9634a72e71beab7043fffdd59e923da1ec33fb5dbb1fe93783aed2be5478cb87c86e37d01ad3c92f47f689212d67e32d824bb6ed5d260138120849862ced2ea43a397f24cd04bf926112915e7c4d1887849f089a97f50a271f6f8dda5bca9d40c080bdf1f5a58ac06fd90d1ec438b04fda9d90649770b965d016c7e67ed9440713b53ff02d5f1168c2e5e66f4c8b46745f626ba0cf35689512cfd96c822f9351a57abc4076acc0049182f026dd50ec3ca7490543664704b1e07a5b1f44ebd919445ee5e4fe25a933fe5f2cdf44863cba98f55f553001cf87d732b4b470edd4767e319a62ab6ece4df2234a46eeee8cc9ce72a6c391bb57bacea7787021166cd8f41ef3c375af423c47fc97d0f8644b34872677b5c8dd9abb97a936d42d6f1f15bdb964ae134676bce1f0a6dec4b17e8f4d0f4df4211a0fbf4d13cca01b4c23bddf8cbffd65365e656d00bd7f1e34f52150a036c7d6857d9518211a2bd51da1f518b9e955eb96c8ba98633fcc50f512b49c72da087b86c3ce1fc6dec47758915c2d4fd7b29f83f69ac9f65d1950ba272dfbd951ee826dd7847aa8e70387eef1364760464f6baf2d280385b4dccb4fe147451bf5640c75264e8e230afe3782c605d4c69777917b651c78792970a2cf64268c0f164e40c56b1c7e6f62227311748c40719fcbdbebf6284310934bc1a28cb049d3fa3e6c58fe04db97b94e0ea65a9f4bdf2c1a7e241be2a147104e2cebbc0e69f6564b76ad77ddfcfd129d770721fe2e36725b4b75c1d0712ef7674fa5b16ff47e53e6c7868ca12685a622975c41b9a53c0651cfc47f3edd7695fc6e937c08cc43c2afc8f7fd9067cb836f7c71b266364f764056cec40db2c9885678a13b4b43d9011a5ba55c44dfd9f7bc6c53203a3be83943b6212995d284e80ffec09f598a02d9334db158b68f34292f456d1bebaf36c0e1ed88169b15385b97643e7621f1582b605eccacef7bba3de90142fc9e6a45cc20862834b8cdfa12f93bf71b8b83b1c8f8dcfb9ae995ff8afc58a30b86047461dd4a5e6926ca10568d11b6f46003dd3817824496de5d337ecd425dc6d7662a2cdecc0815120fda98f5896e263c224e8dc5cd2b39497fbc5f1fc7beaee92c3877996f2e74cddba90f36d6c5437ffb4cd356510a2a6cbf0a16c14d194aa7693946722f7b08b152c8a45615a1c3e49e05da0bbb1bc2f5120d6bf06d26e0c1500af32f41acf53ca5322503722c5b66f7f20538d838d91a12ad408e7b4a832e1753c9c955ca8712f42e703e27905bfe47811303dc3c81ec3121935997b034f0f9cb56db59260bab4713f85e3202f7b70fca2fe411652fa7e151f8e2d4cfd8e5fddb07c75a5667100864b2bd2dc91fa91cc8a62108ff05192144c374f04bb0f43f43ca61e0e615d605fdd9a4d4e6de8b6f8c15bc1e7b991e2fd064c5167deeeacf64b5619c2eeaaa73d220a91e5798f0182be3575df17869fa40f662b06758a1dd3efe7ef87222d008eae143a9e65d2d877587e9a2dfe4d350b65be7c9441389e3b108570eb652df3d422fbf2b5a5dcea5914160ddf351f41b0efb434a5bceb08cbd310967a3947d4a0804ad09427834b503ac0ac7946b11fe4ff20821ffcba0f3522de301a066dd86bb7e137678ac138c90384682e216b43d11338c3f7cb3c3bf0083fe6f52469b10058c7f83b25fa67820bb29b68882c73c7fca7ea5ed5fb83cace58848800ab5e423e2db10301dc55fcdb88d2a25738abe8412a8431975eb1a5edb5db492373c15ae65bbf754963d576a173dc81e609298b3ae786936bc2a02f1bd608f5a31bec845075621c6c85315ed7f3b80949396fa61eed5f9f21531535f388c4bc94a60b97cc5eb615d04902070addece4e439eaba0c803696b724b1f5f7452c6202409db718bfcecb9a37adc60df1911aa048433c23e811d0b7f2d172702e2834cb85f4773a39669c9f765576524f880c5224bb254cbbc1b432d663efab02f208d1964898b62e93e38319a1f0d9849a1fa744ca3930ca0f506db793bd95528053a5e3c6ffdd051e8bbc6b2e2666c80625f1b0b2cfd7ac094c3749e1391c41234a4243b9e0c2def1b590b9e2c3b25c53ac9cd3471168b2788c69a947ee1cf504892f4577266532cbc210734fbe7e29e520efa057e2a27bd27a611f4f4eb5ce780c25db0e66071c8db09103c2d97d9da01551d360382f57a94bcc84d2c827a81a113ce62eaca5b183db723959b0dc74ad6975ca5ea098e85937ad5429e3c6bd127d5ba42b09033511a0073bd5fedb9bc337a0a3429b64bca5159547c0ae727de0206e6814522839a4c5df645215b6bcbe28d37bcf70181dd4e84b2f7fefa2fdc978959b51d76d0c584d0589ecbdecb22cdead54d6b40e1e8c8775d116047bc83dff28568a3631c7e1c7e9271c6783906da6c515ef7c52d71d37bf9facee5d63afa893463946194741b9dc15f526d5bad5485db06bcad73a8ba71f2133c415b5f530ca5f857851da20b8412acda3510ed3f88049798fd63e7f1a874948f4c549f41356ecb0a43b752cb08fbd526cede75732242ef0d7b394ad63f752adb88dddc258bb16fefe1287a5a1431690918f23e4a030fa25dfb5ab262e9731f9a2a2d61de3271ee21ef108685158999c79198bcacae8ea82a23c48daea1d34ebfeaf21ba052ef292497d0e2498a36a3d60946b15f64d1692ffa64772436f926594df1dec6d53886194fde681e08643652cd157d5247604ee7b13a6f4e35930c7c84941e255ba3813992c4918b9c93700c68696d57c6083544940ab5c9208417a869b4aad9ed738abba12f8c8c723df61cc19e83dff10ba89a9d400b2c07ac0c17c9984dc312ea3ef1472060653057b15e2c349263129c3edbbc067c84a66cb87a1057e7cb378ae3c39a7f6018e6c0dfdfd27214f71a50069dad77c0bda97d7d6f5c6112d96b7706ede56cfb3863b5c9b0668ae921f5c33669f58a853a93e4052a42a4b14a733f688710367140fcb9ed5697b3b685a79d4203995fa4639266bdbbee82f4a48cfd5f1eaff6c98f24bd6731a9e37ba5050d1cd17b9fb6ab6f2e3a15a930813cac1aca6f0cfc900aa168eb3929f2ea9c5d937e65fdf4d65fd11a9295b3f29643669249c0ee3330d804df4a1d657f00ae718ce831b17b13a65206327544c8740831f56e8b880d8fb08182b769261933f91058b3f3facbfb9164e237a3dde3a8249e25f3d8fb5ba699c6edfcc333ecb58f73124d549626d7f7f0ba5501d77a3021ee2dff88abd6a9b489f25714e5dfb47b7f95844428ea7fde5bc070b71db51fd770ae506af42ea355b65de37fd999b84f4a7950c59324bb462d6e1950a119eda1104fe75eedb7f37b052724584c9b8284e7be67ba08cebf90e052ec924dc9d961f7c3927947df4aab64663a29f015cd9487b38aaf2e75fd1f900a2733eb999fa22b811329a89704c7399f8277e260f41cc2be31e686b7507ac31bd15b10805755f966380c62599b8dd835dd3c551a5b87387b17a8e5aa146200706e676682a336ae564cc8b0adb22bc7ef02bb5a9d91a7ad7a7529e6f1559a5135e51de8bbedee9e7b71a9dd21318f9a3a281774fae998df5c205fd42eb7401673178e3f62c7f9dd719f1736a1185b900a32e6f639db44df75197914ae151b39d7468be66e0252815ad957b46c8b052ae417ac78fb1bc12198e526d49a4444ee26e72c2a35e59f0662924e7a404e5eae534666c13afdb342b9c364b50db092cac6510489a8b2c69c281192d492b343b063b3c6f3142e89b7608d96e000ce162bfc5e8907c1258fe0c40358ee123e0152653d1f9e5eaf50a913b7ea8b3db6775f7c09e546ebff3f46c490710f467ea827ad42d13ae13f71632fa004f21784442cd1c91025e96fd7686ae2629a96507ae92e06d35dc1a60edaf2351f4cfa7289995e4706327cabc6586dee5371bacc26d67d8ea5549dcd4f66883e4efe1f37513239e5ec0d4be9d29d5d0e551eef977091f83200bbeebd80cef0a0972d69e73eb6235ea82dc8a8f5b615d0d3ea191885b010be903df9c907ec4bbbc2088541c9fe371550f8cccac1962e34824fffcbbc6c76441f8445e8a9bed2683b5871ea8ed8d0293868f554637f477b2f7a7be3b16a158ba635750a7d2f1f966db910c9ff43e476d3bbafdf8829ad38a8b1c85f8d9751b9472a75f33d148d03e400cf62961d40607ff29944d8c5ce701de62c6baf8ab3a5f346481cc6778710761215d377edb356c4e517341aa9a0edbceba03e1b57431620b800fb2b1d712e3196c9eff72624423a5ec7382da2a23f82c0f3c67cbc2f36ccc943e5911b3d394a865d862c15a4ae3efd20afbede2026c08f82e99615e7911f4c9a820d4478015c096c3b6c05c80f3f6d214e222d3bbfb4de5ac2f23f13577bfd328403d4b540da5c1095344d1754771522389e709fef0f1859fd263f24dc63b64e5bc57562a81d41e686e63da46525bddc74e4494c306f275c03e64573022839967f57df9993650f8bada4cf767272ab88ed5df221a241139f57f9edd464099b1d10679c7058e754c7230c37983c667b2fb22e1453295b4c8fda221ef9f515ae9c961d601407d154bac6209095040495fe540c63f82422b19192fd4a2232dc2e656f54a0b85ab8156aced415682541299f822fe3299d14f4fa8df450e61223018975eb5a60bc05386c3d5b3dffd2889b634c7ab2ba0ecef47f815d3fb072d9a91044f7c6f7fca2471300a0318bacf33e4c688d31f5165134ab5e31c1c1650bce0a3b2e89e3e4da298735bdd1526cd0cb7b1f1269ab9a9390a454d986c2fa619fec1569068284e65f3d66295e74e0075a6b2fd8a03bdfbea8685d2f0fa0b579a9e7cdc6f0fb99ef5cd5b890450492ff26d09fe528624498d17771282379bbb4df49084aff91e96f4f9feb0a20e0d503ae57c09c054bdad8d14497d6be7a07aeb1168c7de1deb267d7978cb9ea6a166c2da0dd30bfb7c2051a141533bf12ffb963946320dc1acefe5a5a77da3c958ed8d2e4ab29a8c60dee990dc2491abf4e127f28352b6c151e7cc6fccf6471e4604e82be14413aacfe64bca076ff120f15f3a497d90ae8c6e5e030d0ebb95de6659630b770576f81fa25207a7ef2786a5348786ec8ffecbc0888bfc7a6260171a22f773fb9c65d068a638539e47c526c6c38c36bf9b90fbad11ef12db787b95efec40fcbdc0fedcbe74d99592b10b4c108572d90b35496e9de738cd0cc9311fb2b0732be43f7f696a0d9b5620c3399a0d86b41e6a6bd2099724efd493902cfed3c2d4bb6b7e397e34823db1c13a29079d5d6d14a99f78548ec5183148be988b914c614fecac5749ab8503a027da59539e6a6cf0964e65d7172ea36e4ad26e98c40455f16270c7723e6b7b723609cea361e2e1a234ae1dfad5f71aabca28da98dbe34968f74a04dd0c89f088136ecfed5ac317cf2876db43a9c88548ba3a0701f4f161dc5d76f82660abc9e4c6a997ec2efafeb14a549e14c37f8bce7d47beb550f2169d776a595760f805f0da011c12480fe8f2b406482c60ff04da2b9a1c5000c295af600c69101f74c06fbd0d01c00d3052b3a8785c6dd995c2b8199cdb5f1f085481255bab34189b68b0651e64630edd8c3222880237de92f85d3a57633c04c18b7a76e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85585f72874740b055c274c3499187a0527c9b6b28526db184ccf52c473075f4f66b2f4889e10ef65d9bffdd03df853087ff80fd12958f32a4d8e72975a16144d9064f6620b31a46a4d35d7a4e317cc7be702413dcc5d874d4a1c9930ebc29f320dc551e7bcf027af8949a59ab9506ccdbb86921f2841de4904eb695da546e774d446917eabb5eff41cfec556412014239f371668e041636ece83d6910cb91a0d98983d792153b13a1f54450a837a488454463bc8f5f98a3d450adbdc3f2246600eebfe63910068e75acbd80278c6583612e432bb1aadd3e7fc14a5fbbe1a3d45d0bf0e034f869b616080d133778c78c87694ab5b893a348cb655dedaf76ef6b522ee23576e80f14f0a40083d8fbf3b0a3cd05b6fd4a842610d441feb61ce6bec731b1c9e7289a69e436ee754d86980eccc67e15ef0ec4b51cf225eea92dbf485ed72ad345fe2de0316a9c87fad2a6564a7557938eeb56b7914bcbedf7bf85ff7e09bb6c27b6f0919e071adc099017b84ea142249f8f00b42fc6755473153ac6d090f4bcee98d9db6989b91eb3b73518d9aef6ef27c4b6c067ecca93a012ed43bee3de5e76596a6bc9cd1e41ce27616189ced404bdd3078f2c8e98a512c2d876dfe5dc33e8210d8dbec937927576a0583bb76e8dee99bf035567fbb1eb86c35322a55e5ae191ace125a899cd9cf481128edf0636363d2bdf9033c80160cd0e6333987c5dc950f41cb7f0964f1b36579deee2d9aaca40bcf8396aac14ffa3d9e66b65b4dd6d1873068e692aaaba1db637b17e515a86293071718229455bf1ee9889e3bee7062fb5389dbd8cba5f1ef432984341908eee95fd647b6cf4b6a9caa393748ec8415fba982eae235477091487d2249ed011e0b3a11f96acfcef06390dc1b5ac3a5c27f41bdbabfade5a84fae1b67d1bca25b25afaa8d8f66ad8d2c9d77673f5914f0ae456c430d6eb7e837a4db9885a3a7fa8e50398cd504b587c1123b68ab69b46e126a2191c4643dba5ac9351d1eac4605fef9fa882b001ee5a13c9b1b5ba5837346c66963d22fae27ff7f2b3b6479d9a98e6d5ff88ca74cdfecb1c8cbd9abbf490ca0c9e382b1635b7dc19a5232be2c924a76de23fbf14f8768e61bdfd858e56a47d643532de45129c4baa3aaef5e91062a2eb9bb6bb275c876651cdd5ac554945e7acd51a469bbe0ebfb8f48c2d704b87a6f739748217e81de9410af99d16159858b5cc21060d8288b63ade87750915e8b1c1c5186756fffd3abe11bf711be004d170870ee442283bb72b620a78e0dd2932a03a80c05529e9c5e8bd17dac2185b5839d07d24894e2b4a9d1cd60fe2c168eb93276a3853ae985de3ce1fb5b7459e72e4246867235f31cb15678ce7f93fa0c1c3f1a3425d712b01e240a76a201f611e30291b1dadec59579bc66c88f5d0d99b809944e14b19c6c417aea8af69a9759e14e4048d7c2ee28952671ded83f2c2182e1e4c66d6d87770a266dbc55b1c1d392cb2e5296006f406c90f0883ef795784701618dc8c39208a6428962fa6d122f443cced6e274d8fcc12c7f1a8eec898f6a55c80dfcc80258672dfecc9909342d3782f904361b36e0a79c5be584b1aa2429f52d5693dbee3604697505d4149dfe43d2449a3317a25890dcf5cb2d2047d631f095292faefc6e34e125f01ec26e061fde38460cb391dbbbe8f715a17443ff64e4d89a709b5eb9e67706272f6c51ac5706266e5405ecba39f04dfe704c9f93cac19efad2ebc0080eec2d14b3058232d32e51fdc2a94250c6521f71a746522275ac7442f99c942b14b7be978f4f196654d85be6163f3bcfdad27db685cea825c9b2d22719962a6e17603a0287dbe36de98ad6fa0a224274f26b67ccd17f30349a2e265b4d0f99b3bee1d2e267e3788d619906d4e550b05cb366c6109142e5c2ece16ec6dac5569c47de67b381d3d444bf992d80a0eb4c1829a7605f78e42a90cf9376a01637f1fad942bf77255637cd742877fd13d8c4e4eb2e3a937f904112e26a2ffabdaa9ebb09dcd95acfa9eb1bdbc5dba38b51f2bdc094ef1452d8738bfff557715d3952923d16cfae17d298db87d8bad10d3d9d2b052d79cbecb426c2594f70faa56751c30ffd89a0f2623669a4c32f973985799bfb91ccb63090d99e95bcf4fb07873812f6b05042ada09616f3b1e50bf6c3bd801f40e8c88ee3322abdb5f2e8d8fd9571810f76cb245a497399b1986e832ec54960a3f6d7db0df721a14799e8d8e41695477417ee0e6e2609530d6888b249ae708dd121fe31d0ffddf44e9361824dc006256763aa21f31caca5a583bd174f98bf410261e5736beee1f66196b4b1e3d819b1e20e080dc988e72155cc777f0cebeb7f78c1b52ae6d09bf8983faaafa6d6940a109ba65bf20dcb69f4ccf13ccc2d94f7d51863f745ac212c69f55d95124fe3ea8762fb728a7a422b0e78092f4abf320b47866df310f38efd2a91e535a5fdf129d97c5ca0808bbf389c3dc5dd872c32e4124cb4ebb540ca4c810672cbb2d02ab057da963cfa6604150a1bd6777ca6228ea75c7405663610fd5611bb70b8a50fe8e6ef51cc1957b52bbd104e216a6f0266ba45bbe5990e48efa5f8aedcae86ff55ed208463fe97a3bb7719cb1386a6f0606e19e20e3a8380ead81574e69d7b50d2607fa6dc5add1f01c55cf85f40cff2cc254ba07d716884edd4a7abc7d6bf37e21794be7484ecaa03d9c8f3853de9954077ba5564106de0310d82d4926c5ebe11b6e142444f38acbcb5bbc4595118a1ce744139a2b5490ccc1215cae1714b0a65314ac4eab2acc59c7839d63f771c338a048f4bb51cbdb440d6b05ebe6c033767c5364a52e2edeeea48ad1c3b62bb5afc9d36de1237c0ac508f15642382a093ab98c0bc869f23f667fa194e06356bd086a27458100ccb38350b76ccba9497249682f23050f1bfdfe97ea806861ab68e1ea780e76113f9c8ac244ad889d8e38b4a27a1f9ea1215f382dae6f30fa636fd7ea5876cfd0d9a04876227814ffc29485c53a0c402ea383575ee5baca591f169b6d50e6f7eb82df2edf519f2ba097a6da5853838bdf5e1d1eb53efa02ab85d47ab1dc54afd91da51c81481db0df19608091cb14e0b92892ac564590ba5680f9882aeb3f9207d36f7db4670b542db05d56c0acc315c5fb8a00ee1a59344891250feb33c2998cd020b2d0b767e75cdbaf12d3cfff0274b9ebdf9b724d9b60c578d5fc179ef4d6629f0cf528dab81912857a94a58a69ee9de20fc22b1dfe34650d482d23f3ebb98f380cf3d6691fbe7f14007581691d3ede292fbf92511723baa6ee0ee730435af66dca7bf4055ac0078a4e9b257a7fa481223b35d7590e9831e029155447c4a85a50e2571001ed2946981c7c58d211347d50183d1c3ca645d9365cd143e99fb8d8f0ef8fc6a68b26cda2ff061e6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e5741dfd1be130da81abc2025125c9a4f1f363c7cf3d0d3fca097482522893be4d7ca48c597afe4d44f39c33b6ed60cd2df93e34e6b6ce8f3753a7f58a49b021634b0795e5f7a00c5f2eb4d0ebdf2422a2d48547bc69ce5b51839deb08c00ed5457be77927ebd0df3329f31a8b3ba9cbfda2bd2442b54fe6d7815c51540a8439a7307fe84c6bfa886b17e9bc5cc25e2848a207c643f3684cbc1b90ba8cd1331948853cd746fd530833f8cb109cd66c436fd0970a13c23c3c5be1d5e8eb4237691400521323c56b961ef368dfe92f5348960ccf39ec4a27e57ae419ab73f44f51ee5d0c61aee53c5e5e38aedf38351fcfbbe37e29aa81da81db9ab5297cf7aa93036e4eae8383c677223527352dd0bab9ab258b0fd126053116142bf3709f850d8170625295a66f45024632be98eb2bca821de4a40d0e77f52ce3b4374a2df3e83a52d28f8a4445b7e00117d00364ea182188e4b59991d3d39c67874693548aa27e910ebeb9eaf89c18a6080db10ca460ad28c1edf15d91eb383360900ee62f344092fc266e4f014fd0da3721bc53afbeb0a2308aba9a58b40797d915a42a1fc7366a858f5842aaa38e3a0240fdecbe0febcb39f598cc54813b48520ecc7a396464cdafd4ae8519d1486af6e265afeca09daa75c39cf71dff523fca6d6b2280170bc424a2dd3b2ffb30d64b7de2ff2ccddaba483fc0735e7fd7432e5ddae53da539ac47d8e9b3af0625b369aca087b946059838e15800924b0f825760c8ca5a54ad6ecaf55c5d5a078c70f3ba7e559e2d939bede3190ee6e1700857ab0af7892b89296c62ab702c3da11de5791682b6a8380463054a82c6fb497ff3ba1d4a947c0a8fa0932894a08c06f702de01b15e1de317183b73191fe4cf03448a5d666d0e7585462b531ee89aa4ffbac8d30f8b15ece3f7c146d375a57c6169102f7655b63f1d89118049d9ac31497467d9e32ef1bf05e550bcc76142cc4dd303d3bcf61b0c69101f74c06fbd0d01c00d3052b3a8785c6dd995c2b8199cdb5f1f08548125ba9ad9ec868eefb5374d51465ca60088742214865432b0d1520f84e8681a8d3e22636ada678829f9f5e1bf6844930810cc41449a3b38827d221dce9f6f22224f6c41f3bea7f466771394d3cb208d05dde5d67d0587742ed815cb6ebca4b45838f87c834a06331e9a54932a6dd1edbdf3645044dbbdd3ea995863c3922df4049251c60088c8d024a79420a9303366dfb85bddc85b22b0ba162ef26fac8d68e75e64bee12e4c0e9908a6d79fe2e2d331631d03a4b332e8d449daebdd9fdfc221b8ad01463d046a5a6f760aba828cf65dd3b80f70893008d6fd9712b449159b30b29c7bedafbc4cca7695e426d8548ba331bc323f2cd165e3f0fe0edc5ab9ec82a8e9c51b122786e56851526309745205b099331bff781a358553bcd290b58254e1e1af342e10c80422c2ddaf951f2cb3f5728543331b4d90a2fc7aa6b54cd9518fde93745b30401cbc0dfb37040e93fb10dc6ac34e2e7369d23ee8fef3002e0de7c043be6a966e975805db31e81070e16636809ce3f3f8e5652f4def5dfa60e77f3ecd350e37d0ec48608de02b0846382fe5fe78e42e4ac4dc38faeb58185b890427553d7100198a1e3fb8b5b6d7c78cf22b2a8402c3263abfd55630b35b66176595ef9769c093b8fde9d120317e21d51bc6dc1475e5828799a68af0109763b81af6b4f1f0cc472f8a3d2742df217c5b8c59dabdeac10bff1eaefab7b141b8f788a645ebcf655ecee6643f215777ae588e7ad4fc81fb91864b38e1990bae5f8a84e74d5aebff41f04f66a7065d1b06bf71252ed758a3047086d68e852791b455259655181a79920263948588bb48d2c23efe2dbfbdd0dca1ebc3215bad1a8230a8b7270a19d394a0e7a926c81526789bde49ef5c8c64048dc43f3b072e5697f8dc4b038878ba189d2986743e6f77a43f3f52b32ec1898827a1315e083328b8596a4930e7ad2b0088e584a43d65c700012bfb39dbf808b241e7a5eb2b034c705f8c9dfee38117873f8e7c20f9fc6ae85eda5d81551e38f932561191ab17f44b75f90a3277b408f7833f435eeb574a3340d7c3fb41a3f9ccd6bb8e72000ebb7eef4f4eb26c49e8f3fd1c0ebbf12c23886c5e4060c1e6a1fe395b48c86941c887a782c80187305917e738ae9e7ade3475266c3b5307cacc37ceeace8e97840356de94f2785deea9bebf19f1bcd4375d03d0302502468122d10792dca514802fac8e68bfe4cfbd8c7795836b82102e68bb90275a73dfe40cc459c1ddeb781f56914fcd0497e19bb340a82d686e9ea4a939154e1e521a4a7d05b83af20742c6e2c786b0dc451c2cc72079167034f4ceeaa07b9bbc33230de60ca02f2495622bb0251bc4abee6d7525ed7d898dd55020dff09ba167ed90f848cc6c8081a01dd1f0a04754a2c0c9b5cd558a6f4e6b432aa0c0cfc0c12cc6dee80db60959b05e9823fd4064bb5bb30c05f8672ece70a349a490a00c8f09015c4a60f23e9ba7d32957d4a31df57d2eb06c2f036c2fe1e825e623624509a04af570f244103d3bfcdc13c7fd33f0c626bd1befa0441ae0daa5f23edc9379feb594e79941dcb268d2b69c1fd174d4e70e480ffdd86c86e53cb8fb57f97640f25599c8fa919f952f48dc6f8b3bf64463002a1e1047478e6661d89aa1e9ac6e4c2c83f2d8fdcee2bbfc7bc79434a8db2af874caa80f4a893f4327a67ed34ab77a585ab79b72b7f40813eb8f6bd93fb48be2e964821408499f9b3f881e33c26d2559ed2b6d26e36fdb848c152b9d78190f00eabcef34de7bdc9e8a53e7904693fe94189820af69ae1f6721a564992adf03549acb4f298e9ae5d230043c18c1eb066a6e56256c53569fac9c6204533550eacf7d356bc4a01321ad7f43b473fb78266e853c1b0cd0ea507e33798db39e40af7a0d604a66cf78e0a75defa956b6b58286b0f570afc1b2d135f4481b26763dd465fc3f8268910c6141f92a5d56803aba9fc9dace1498d20ef47d2b3330a9c5aa0ae4f260c3400b5677152894d87f228a70f5c3bcc5a0aef2becced1b3c2e6ebeacf8ce1849cfac6f8df6eb9b5b8f545d96132998856abcca87267684388294a5b3d9ff80e98a5e4cf014f910f9ffeaa48fc842ec919dd406ced937c926dc150f63a777cd95cfe90af20427c1ee3e6ecea80a50d4406dc3ece3ffdf9d512a1bbd9668264196f369a1960c2351e10c04b690de74393eaf999cc6658b287c0ccdcc9ed13b41d8b87d966a34324e3886ceec91c4b62d58b96c08595fa3a70171565037e1edc6af9deb87209567e456fc721bce9b57e20df9d807bfe5fb9f6421120db1a9d42359998c06464a72273cb42ed639ee9cc1f6e10354c74d899212c31794542e27d014474d691d7210cc8e9fb97310238a1fe181ec5fe02ae4334c71b4ec418e656a9fd8d27355dcc32e48c014996d7200aa2b88aa6b22721b3dcb5dfc36aa3a30978aa40a20bf062ffbc0e4afa4c28fb23059008aaf042d0de924c0a7d2930dbf5a2edba6c752641128f40a32a804d0ba7db2bb8a0dd192ba474c1b8474b2b00a691deef46495baada8246f9fa5e0e6a9a98b7561bfa87da0d2068a8a106187726fe1e455e000148ba2cac248d8a04cd21cf9f3947925ffe6414c9e9e404d6f587bf9018475302c35b9f36f38ccdfafc199a6d5ae44aaeca06187ca864926732a1512d4dbb06b51856ab9f2c1b337fd76aa6a01137590f2aeda00bd2f3c002aa342e69e54ad3b317e2ec61d2c38947edc1fa3bd6511de384767dbb9649fb5d89a5613edfe6a6b0c599b0af207299ad32c46825181dcb881f1d1908c63a351896b0e869a891f68318705e50bc34a1c0d30425579f87c397f288414534baa039f7e067e40f14956d9eafe1fd0172f463f650683e303cd282143186b553232f384f1b9150e7fc3d3b31c8bfc6627183f33c568245f8fb02fa8527c89d5497ac8cc51e140f0f04240059944faff04e89dc75a4b10f5466a064b1f2be73bffabfc35347ac3ea81b7b48dfb470b1722be8863099d46fa327cbad41dcecb089d0dfecaf55f334a59c94a9ac81df6354129fb16202e50a04e16cabd91fbecc14baa039f7e067e40f14956d9eafe1fd0172f463f650683e303cd282143186b550e27058476c9499ec1a25c7dfd4db59b64c7637023111b8bbf600dcf0bfbe6a44baa039f7e067e40f14956d9eafe1fd0172f463f650683e303cd282143186b553b61a6ee0fe2b80c510432d96147fbc41fbf3d1a1bfa459cc7ee687ea785eba94baa039f7e067e40f14956d9eafe1fd0172f463f650683e303cd282143186b5544e158448674c508b76034ac68423dc1543af6df287190854ebfd5ed8af18e714baa039f7e067e40f14956d9eafe1fd0172f463f650683e303cd282143186b55b5c5e8cb1802b9be54b057b01483ffb8c32ba2ced155c92a79c0edf079dddb914baa039f7e067e40f14956d9eafe1fd0172f463f650683e303cd282143186b5543bcbef8de1703d54e448deae4bfead8fc5277b6e2440392c4f727656582dd894baa039f7e067e40f14956d9eafe1fd0172f463f650683e303cd282143186b551cfc82960357b0660a86d78584da2583ed3ced2715680bc3854caabb1e66cefae53aa0ac753b809a44de3fc53e0dec70bf11025c79070e9191a783781f8b92e3367d8268a36c98563dd60e542ec1e8762207d8a0b92483e391cd708571f28d827340dcc15780b429f3f663fc9a9bc7ccfe6f25959c8d3d852c590ff710782546c8f2dd8155a6286aed3ccc5ea60b52e2bd6475fc4596d5b37449934bd4ce14a13c74adca8df217cf841514413f2e3bf5e770fd88e8f9e7a36e4f4664c3137fda0fc81053bda79c8c54fe6d6b7eab315424bcdae42079e4c1586d5cf8e66f00633ac5f427cd03fd9f905b98600da5aecfcc71ae5513969374aa905f54698741ea80905dc978d77897cf8bd165621ca33c3d6f09f9c20164af7f685436f82d259840f77dea8d37f71c392c1aa3bcf5376fd0233f5b6e1f5ffd02fb4d704c576c4b78bcdaadb5ab3d27306c5167e453692bb91f4e1707d2fcc90f5f4218f9b6de8d042bffd3a127e314c01c6558d7f510f16b8c1e86777da4f0a057bc5a34ba7817edb88ea22061746da008fb0dbc722f78d94c72e1c4356086076b55dc59208070042bffd3a127e314c01c6558d7f510f16b8c1e86777da4f0a057bc5a34ba7817f99bd76db847dc8e3d60f579096cdd6db3d9009bfcb86cc6fa4d15dbe3fd7b7e042bffd3a127e314c01c6558d7f510f16b8c1e86777da4f0a057bc5a34ba7817b5264db673856f1b3f5c2f39fd43576c3634e73e1d9d843da7252b7726ee1013be10ef8d2c039cfe5c46bdbe1399a7c7f12a1e50cf64d0efa0368c5ecc4d8d311dbed9626ad653da028b76929eb9b0de8a9a89d05c7e2dcc1c8a01b9ff60f27823a8753b9d29d3ed6a6ebb71158e40dc58a8be3a9c28a1ed6ed147badd8a094025cccfa75d1b18fe69f5ce8fbe3de6bb8daeaaf5adba6f576849b039c682e39b3d0227522ffadc05eec5a4be9f7d86b3cc62e60f2baf65c7d8df2719034a55e1a69e7901e34a65e309da8d04a9d5f34e53da3296806a8e1c75bb6879874bd31cc0a2139551464e2eea4238963ec7139cc9810cd22457c3af03ae0ed10285cebf11d8bbd3d5b81f77d7518d0fe2d0219a130d7bc64847312c73897a46943658e2332d1913f5ed1c5e698244637b453eac8a4692ff19b60563e7795a4818f0bd40fe29ccd42e72b6de1106ef1de6bbd11bec458c376389d56e0b5e39f9aa00551c31b540a44ff02f827e88505db1f4190624bf13f78c065c7b55c7381642a3cead295ed0ea76dc8afe4b65d8c43add6243c1425d5d793942ed6a42d8beabf477604d3d683fdc9324f55b0df813a3fd4e31af76ff1a43438de69d269ed65dfe608f3843e39db609f67f35fe4f526efb08c27a102ccc1f0eb64d7ab17e88e58150ada106d4abae388fc6730bdd9261fca44bc95e766da801474ca89e498a23fd8bf74056079b3837e4f049c03ca4605889aedfaeb5de8dc10d498e354468095ad8c53eedc89192d6c2fc03eac0980a7b548e7afd88bdfd9553b8679f3ce4ab0ac5db1931c28a2874abea505a11b64bde7444b137726ee17cae031d41cd739ef3d1982cd3b51ded61b994e592000f6cbec8aa84f3890176973b7c14c3d6102562b5702978e590e9fc4d46a589184ed53aaccad3b9e22b5f20cfbb175891c35ebe2fc08e76fcc69e1b30a770dc330a7e4dc77af6a0445be87c5fc5b06ff83d7ba87c36aa79295e225cf1b8fb4db3cc2482d099ed70d488d1218da51cab848865178b6c372abf41ae3c3eaa2429d479d7911188b233d2c36d6a5134544e9b182a860f3a3342ab64fcfcc2bae71270d5bfa2fdaeef8384268b34fc833d8b72b590cbd9fd0ec01d778065ebadda00bc7b5e95d311226ae64f40eeea1615b572d2a0297b65eb0072fdac7d7b39e5dca672a61e80c3fc2fa5b937552f29eda4d4aafbf7efd4c2720cf273d19c86065add6f3f33d6fcd1b748da0f75bb135f2cf356118a453ea528a009862c7f770a428204f8b78654b0b4aa9d20c41c42bdea5bf6941ca04db183b6441f26d407ef6143f89d538b2a9a6f6d120fc060c24de586a7420790427917d92d36fe66cd39d1228f7de69152e631940e2aa35ca3f48ece72db33d8cf04b0a9df1fe06f7b9e5b4ecd9c80e95ad0f619657ed6bb3d676a3af12618e4e8dd05490bd4d1aaa89f3801bce06ab7334756409cae6db074b9fa03398e3b16d1e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8552c85208357b9f2989a1aab26d202e261389a3d4f49fa9ac51e94bc48126ccaa14a8ca14ea5221edf50702f789b222e0c54331987b077b91bd49880314111783d404373a4de05ec3e737f790d17158243481855bfd601ab43ebebe042e2f3d3cd1b71c4641edb75ec2e79c464507088bf8f06b1c3f3253633fe6761f2b58a9917798750b4eb7664f1f205f3cc523665956cb24469ee8b0b83172e5bb4072fac0d1b3c37d366491378c0dc92d41e11d63013103965748247f54abbab13cfe789d3e3faa61da1c2da18771fd82c325244410e550d2f6d40ea6ab6c4909c797219d2f007865aac9658502d093b9aa60f86b4c6fb61f08e9ed18e465e797d5bd3ca407d685e690b9ff05a0808c68f54cccf119f8ca4d887d4fd2a0a0322a0fd1e76686c351637d4d0f20ddba0e99cf2a6ea37b3d1aad6c2a68ce9a19c0fc87c21bd987da6bb8832ea9d62db372eaf1e80eb0ddf8b0ccca0c8b2d39f8d59747445260bc5ecabaedbcf5796496f04a123fdeab0813f5f59bd046cbf89aa21ed4ee3ab6d073f3cea940c19ec9d8e314b63c00bcc2c5884a10ecc7bb622722f10b164ff017fc6ef1492e9e51f64125cc94fe8c40fbdbee0600a2496e114ab6542125aa8c4f130b6fe3cb0c436cefff4b55730f2e61df215c646be285d4814b7c42e5d0c878020b96daa84630ed5e76e10187cb01b08de53be7f801162ad4a66a098fb7fc952b18b5be4080dc6424990237abc57d539f501c33a8276eb6466437bb959d9fda431d5d620192a530654dabc16aa495407e488d5b62b596580a803777433501a85745fe6bdf762790944a8efb95b3cb7185916872a868f9c78564304dd8cb4ed50ac92eccd0d034fb28f6dc53d5e301465fddba85dea9fe434d88112ac2e46db4e2e59d9e9637bd4afac1ad821e2c2b4efb95f87fe85d03ba2bbde7dfd450c387d28485261e105d28ef432a14529bd30e4b92f5d8a952ec6b9f17ec7b7be8536898af0fe9627ffd64793fa2c8d59f9fcedc2e3ddde44b8f95bf916c4891aa5f6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559f1090a77319323d08df67caebff1d31e72160b73bee85e58121528ed64b01043e32ab3a4b107e792e36402ea2cdc22e504d752e452dd8aa2bf79d32e4f5f1b545c286a1db3f8816ce513b3709b7f687b0f29b900b562ede351a62ed0b6a664d98f793e971093d1c8c5ccfd1ed36a0f8e86b288c37deea9c1e1f0106f8273fd11bb04c6386bafd8d8d8fe065e26cbc63f1f40787d641b7961d1f14462b7c04a109e5fef5153124eb1020760af1f513e616314a7d72e65581782aed94969abee5f8559a8cea6625cc8d0891f4642d5529955a1a3adbb84dce88635dd8763aeeaa8fc664257349fb8cec30a8ff3109006f600b5995643112f1419fec43266fc61ce3ccb1ff30954f1a1e97aa47dd384458c5080f8c7a53c534b3e379a6c0e884cb04b766c6b3aade4ab78b134a6d5a20f5b31b0bbdc86861726ab8bb9e193e3d59d7dd68e6fb0cf9d57cf725f79a7dea4de7661aa3a7fc4faa6f98018e248a438e816779334d14c6bdcb7daee034cde30261d19439f1f51fbf154ff780ba2e71685148833dd28e72fdddd39f6f54625b64b620045f75bcdcd45dd21e1435a0151447d55ca8a23e276dbfeec3f315eedfebc8271fe656ca0d43949abe60ac555d8694c9993075289b0a3040704b24b72f868cf9878b1793f97b7d77eec65fb0cd6bd34bebf3c7fefbabee256f4799dae66d1574b1c5cae467e42e1a2636529c7a40b3548619b69fad47d4fa487320c82239ba00aaa6434913a61fc261972f7a69b949e3dc443d9b23ecc0b67b36dfee3d26554058d6a119a6277bc4f452c3745bd5d68b3b6df148bb2b7da8385e4c91f42783ba1ac2908dfb9c450ff5d5f1a4e52d2a8a3456f2b96380b7517df716cb42151fd7cef4f473234834efc565d7f5aa1a0fff76fdc1dedbcbc287d57f437724a3cd017a9765dc00fe81f3068a10036bf2b9070923ce1fea42b1c264d17878d35e3de646bf0f6108502ac12d863c7413351ef2a291d3eb6804f691d3b174160a4ad0125f428bccb0be971c9ec1f9975216a0cd2ea390586d2b4407d780f5ed954737e49e72be379a4e4a42a8a517a6ea782c619ef85b0585de618704190d98473d0f7af70122f342febdd56fd804208d3a0302b386eb304dbdb14588317826fb7bdc086511b7fa3fecaf5d96b987c48407c1ad8bb36b5fff4eaa42c6e905c3768d1987085af6a54e53f82e57641a505590ac7d3185ad3d02a71252aa57a944a0c4660ef8b4df4d92909bf613a92dd19b7678638aa8e366623bee1f1a8b3e73ef0a9db572fe4b74ec9b197409d18d2c62172ad2cab9f1d7ed4ea38e4e7023e4cbde985b2bc852aacb0c5e52a45c544fd7985d8d7d3871f20ae0eb8700c86047d64a66a3d3a621ebb1aa321511cfb61d2c79c4d233165eeb4e9052e41780075daa4f55b64dd7872b1b634b9c8195b062378cadc53b95f9dbab7273c86e8a4c9999b17077de62e07af520c1017f42adb8468f719d5fe34f3db532e0ebb50b455398db83e9273ef5323baffaaeaf6a90f0e19ccfa09fa35a66035d037aa0dcc0d053c4da11fce39cf29211bd644550c0589b4a49efa6c1e7ddb83dbb7b57c7ef21aa403ced2db336f6d258bfd68ee56e8c30924097a9de35f2f6dad4d1930134d7c03a921551585dc35aa92025fc9fe7a0c348c6bbae23dca207b3dbbe76a605f0c89f1f8ab40edb4bbd28fbe968ebc3c45bae67f307a05c34581c77f2232f2d0f8b9403235e6a5527860b664afcca14f58b14ffa5f228c4e37ef9a2510bd80abe71cbc2358d98c3066c242a661dc9712d83552b4f8a53c437a4bc14a6c9c041b55ae8f340622b5930a70e9f87089f81c5e6107b75386ed9b4abd21071b79be7de16d7a08f144b852e59b8fadc92d9e21c7fca0bba093c4a0b98b23e01df56a18798f857c4d56643290584df9eb98d990342845c76a66be9d5a8768583fcad7c1b17a1f7cdba4a7d8976c6434bac715e767668c89d91996d765178788ea89676533108d119487ccb143f97c3e91f5927a5731f6c14169e7f318b247ebda47fac9646166084bbed5a865df63ab3ca67a49a6f36a0be5a170f715b50beeaec14e3ce0b1006e29bd1b8bc7b5b0b0f1eace8e3c3075a4f4cc0713302af0812023b26dbe1724b17f74a0fa7f3e31ac67654b2ac82e799b7746428bbe5633bb779c4c126abd63598e2bccd0d4db23cdc4d61ed3b10172c7bb75d4437432ba51bf1488cb5ec6bc61392a62ef706b5ba90170112fc64f3bff992292be3e10633d167a46ac2c7ac0985334b4ee28e6edc2fb9640caf7aa98f63e8e56b901564f35e2205d5b0c4055a6618235175e70ccb340cc32a36cf3779cd26e04d8a610718e468a39b79778f4ea97aaf3b58f065ac35c85a6392b754a12435c91a255465e7f3f76bc07b98accfd34f211b670650609ecfb2c8a5d5a6a2a3b3852ba129808299b42b9a96a8032d91005a4384eb16309e593850c80e4c287902e4df2dd67f7cc35ab4767c3157429da921797d686c28296a3e9033a4ccc0e882ec30057481e9e808b83054638264332f1477e6e696e9ba99230bb48a4f4d956a05fc497401f4b51975af97fead520d7665d9d03cfb61875e660175e3affe7f4c7afea392784aca0f09688a9c64d56983f1565092121cfe8b60d5646feac5764c39e873641264c23c26df500bd8551b3b2c16b18b760a69ec01ff57052fd0f61cf88f33b1816e5eee9f7fc1b88f20311c3f59345c024fa18f1d1f2d64e0439d709f15a12f5e3317e961581c6ce0ed2e50f04433af1ab7d014292919df1289efdd7c53f1bcf74a217ef9b1e3839318549553ecc0bcdb10e13f6380365b2cfb50033241cf745a833ede4a8d4e917096f14378d2b4bb4b0d05b2cee86722d5a32cb97dab2607677f32721869c7c24ec402912c0105ee96b45952cefd4e4bfa4bf85dab10457b135e170ab5918f5aeb012cb1d33199c365c1a51323a84d0ec9a8e18313652a2f2c1d4a8ae3c21dc47083a1daa23a31c01afe1a8ca6aac8bacaefd65aee2e8e777f437fe1a74a59a226b70fe0521c942db9601442e753fb6c98f2ccdaef75d87b99a8b41faa3189db29d6095cf70072378a2a53521430e15a125b9fead6cb14c0f737b3d72647eaaa94555bade0c711c2d8868b70a30de837a140c199286a1984662f39e0c30f3867d140493615118ebd7b25d0c7a36d563990219540e4ea44e34d6092dfcffe93558204cf1595c5c16a024deba641078866b7b06e798cb20afb51bcf1ed5802ed75266996b52a7882fa4c26db7ba41791a982052503da9ca17b8e4115a80b02a7c2ca066b20ad93554841ec007a2b2384d46e5149ad3eaaf5dffa7cdc71be945a09072fedda849ab0a929dbba0673b92f777bdac73b192f28e576c679bfd86dc9ea99583ad14afc0df00a39e84045b47d8ea6ab648a00eb6672932f2a91c6cd857ecb93cd28f73643b8df60767cc578c8141e7c906f93fd26a32bc7ad28e9a23a802eb722908fa432e8249be39baa5d64c2d827ed5ccee57601501ba9009ba2971a07b806bb5da2eb2229218f4c92463f31e30ca85ea34f7e8d9d84c80c3df62aea867d3523f32c14155cd289553d316975bc2b0c3464e7b979f52007e0ce980ccfb56ee177f7f6ed37acd581257f4cf0803d958cf146e5d574b67a0ad54d6d0830e67739549fde1c5335eefe2b68ac26982d147b3a18b06ff0f7363a4799eaf15d72befad03c4041f2e8536fb7818d50bbb278cdef6bc19d8359d7f651570b79ab5895583edb20402a5d622b1c0220144b68cb1670a65c6eb365755ab89fb0f680cebc5dc811a318235206ef98e848df916fd1f7ccd43979e1f6d476a06d032ea92dfe9c379e8c1bf8bf2c8e3d334b9992ff8e7be69192969cd1d00ba1ddb54ed571074179d9c82ba17b257ce088023a0639a4c5beefd5aab0d81176e4b5dba035f073257565b3fa7f39c16346d7861d40f73d7e42a1a3198149ec4b4537711f6559882bf31a45158027052cbc173f068468bed5ed6e419d86a850f3ad6487e7d7585f1f71b25c197b98a81167a1ca47a2b79c205834a302d225ae3b0d2077b53a9866fc9ccb1f0d1823378413ee47d34f51c0fd1390bc4d1b5ba02a79b0de5ea3258484683d43ed982d8588b2c6ec2ebe8ae7d7539e0eb61e192733683097658735adfe6227a3a66cd8fe5cfea8a58a25f423be7dc1fea48f0122d7de4bd7f9012f1c44f5d64e5b1fa239931616466e5f371c6bf6cadd7c4bf062ef6e049f8e5fcbe0934343012483e722b5424d606436503019633eaf44e7403bf1a4e46821b13f30a167f377ea4fc43573d7512967ce6d597a453bbdc76d203bb03e3f89244c8f36d69e516013f38ed0f84925c20b548ea25dccc021f316169125a0d42160d135e623ad94c644cf27014904a96b2bfa1e8be55efc1b9de8150cd0e69e824b8cda45e2aa538d6c5955ec1a6f845f2e9806c94c852ee2fcbcbf0682a012e555ef38302430d2f2e25f82e9be6070bd3494e7bced3a437b55713158eb92717e5451234b61b2edd3d9ce98d1e71548313f7e8c9282f272a2bbcdbf385b5b852217b6d2b8b593d49f68c5f0f7cdfb42302b798181f125376aaf65e9ac95d1f88d90bab73f2b0c8d30ae5eb57d9b432b1c5a868d458d9f16237345eddcf171bf7d2c66d05fa27e243b17a4ab1cb5e8c3bfff594393a86cf0a9128fd9be50b0ceb60b5a699bf814e2f16396078b41c1e5b61c9e38c77d386465d40fe0f6e6d17db3f5cb6e15cedfd4cb4ecc0ebcb25d30f5d7dbb2a10ad34ab9268aaa1114a7d37e0391df087dd655e2b249681cbd25a022d904f603ce995fae8c70800fadbf1e4d3148e073780c2836a102f40d21940033bbf448a95872671120ce235584008ffa7796ab411d4c253920a92489dad38a4d83ff247dfecca5a3586984f29cd7fa448ca8ca8b6b956925d4d6bcade7fb683e6be3f9ddf9c04df4ee38440fed24d0f97c0af0aa069945e6f325af7e41ecc515e1a424a22d208bd60f62e4113271936ff8afdac1d761c95dc341b0f6fa28b97a62c5162d82d533003542521f121b54e2d2f2bb05c570c2a332dd0e621d23d5bcf0e15cefb8bf6317576e3ece4864e9a8e87938b4aeac79e2e6aaea06c4293a8d5a08b1938eac8bbf858724c1b2272b7eb0faca137dda775b307af275d3e732d51795b8471a0dbec1a5522f8cac63979a94460b6a27db3019a4ccd98c22ffcbcf306566b77604e178a160d59eb9eba381716883c0352204e167c9017f2d11eb63b48f40b4c1811e50d5a58400fccd6a4a35824720893242407a22407df562a950d369b3f3322fd0676ffac0328e58c613d55efb628cdb802ee5174a63334fa8d0e5445b49ef3b7aa67b2151f68125caf934ab41f8a17cb2b969df02018840810ac7d56bde39a9056b863a5d9b4a4062aeeaf8b6325f900dfef7c7e35540ea8c2461c5242c34040b4a7e05ff64073697129428a0ceaa7dd7ad27b4e89e002e1ebf3594d9d713aec6bb87fbd527df595584d99db77f99616ab3a30acf5306ce05215a64c8f587ede151840e5d1dc489a92cd590000a57e2492603957842ade9b469f5689584014c7b19e2700f67ba310b52110fc0fedc32237a73ff7613a0927b69ffeac57153588e0226096109c8aba2199d3871d818cc696fa992a7904539b3723ba46dba0eba176e00228658041158b336a7297a16b73e854debc62702dff4902feba849ccf6b788aa35dd9bf2e74859fc8d55f02800e1f472180674e47eb1c3bf3ac387fa4b2de1767c3a22278bf32a651162329eba538fae47a8dff7da6655226fc12f00865f4ef86df83d14d6dd66f0b488313beb692b2e69c6d7c706ccfd9e331778e72e4ee1e8561dfab1c6253f895a8b9236dda5c4eddc51f327febd596bdf63cf53ad35fdd132328f442878d36d4da876122324a1d0e1689a291a465754b241376d9e0ecdced89f6b752a8bcc3904d116dab653dc384924a5139ab7d297155e3b1b9fdd7307d7bc3a882ca535bf8a497249ab3e549e00af8d6b603c648111facf53ad35fdd132328f442878d36d4da876122324a1d0e1689a291a465754b24148bc75ecbe80d7b69339e272d8cc1bb71442b74267c2669788e9924f93c205df427ee25d946be39946b70b3ff7ce1d41d99227907dad568f5191bb2d52630ab84a813f41fbccbc5668044c82230bf9e8fc2e6ee12a4e950d742be41b941e37e79df83535b255744e137424f2dc9069e5600c0421dc8f0ccc06eeafc7fcb8cd64c978458546f4dded79b9e993cbe9596e7e7201f7776dda6739387f85c950a036cd5c66af63b509ccd75ec85fee41b6e5cbb77cd6bf9392a54900acc0f02be4a633c53fda345ffa2953203fa96e3ebf8cbc51c3217e5f5db8a1dd43344adf2c9390806703dd98f398ce1139afb47de6c93aaa281a92542382f695e656f7760c657a1b9cc56361e26c3cdaeeabb07773ed25c2d22bd08eacfde2e5fe039b8a10b73ef37c258d0e612f563cd99d536c062755d4be43c2c4199b3369945549f675b14ba7438e4df3305bde53720aa276ecd41ccb72d8792353d979dd15ba0ed5e9ba4259c7c2bfeee585f701b532c25e4ee843083444d661787f04ae9d8d303216f05c7bb49988991bcc39ccbcfae1fc81efe6d37744d933af74641dd1a236f1044f32783398ec4fa9937f31c4203324a13a35fd7066c930751d07ec2559b4531798f2d2de1376bee5832420cc4db79b299f320f0d6c9efdf51b0ee6634bfe35209f20f0c13035de8c2f8c5eb1f448c4a9103b6467d17ece8b6e3cd850ef70195110e67a3da3a3b9126a34996bea44481676ad2add12050a042735dd7ac6b7a1c5fd4997c6569977753a536fd5a8c7ccb9429c972f1af069dca3ce33f51d0635066847e07aaa56950c11dcc94e7a86897e19e6854197bf279abeb96c3d2780988011324a987485736f5e303434d648fa5ed8937f6ecc73523f368df309818447826bb45bb11ea9495e263169b051b0fcce4f816b90a04eb18f3716752e1710ae22e73b2142cfb1f3b48528a4cecca58956ed73e0a1f695e5122723e830136ea4a9d249451f4d7c54b2b0e94356724af6123cb3ad1e0a59be2d570ad0827ed64e48ac569fd0a74dbf1381ca4489d72911515697f51798789b25353dcf28b84015211e76c328bd6f56c6cff811bd49b5ac45556e3c7501d7faf9f10cfc97bf24c0c27c9a4d3026144d70c38e48769ad3edc165a55b0938d37685a9ce132d71d44a54ec6032d048fc510bce27f0468bf8200e95ea089ad8aa13b4a310069ae5bb7ed7a1d4cd2cf83cbe7cacffa82d7b033650600f0998f6473e2c97416f2ec5633e6b33ce1ce05f4487a8a49b951d919034fad346add5e4e541ac181fd00136c2c90a8bbaf2424506ebb337a9d637f240b113fabdda34347ff9fa04db05c3a3fee8071c4fa76cb615652462243f4d7af0464c265d97f5becdc3b37265b7ed8fe2cf124fb11c75fd074cac38598ce90d23f4cbccd637cae4c0e40a94ee54402639ae7754ce535a523b8edaf127a83268e2d021f4a7d8d744163bcacab2d8938c000abe9e38f8283b55f4d72e2265eb04f96a22859ec74ec0b4c3cf70e6b84b73975b2989a38469ffceb2b7695dd2762be27d3dc0bd71d967519bb10babace9a828edb1b24ea0218a42707ec940c5afb21b323f527618a301d49957f0395f96192e37b770a11ba1cd6f2ab29e57f484fd16060d64065049fd05456a6e96e4075ce9ad40e8079899b2473197e68033bbf660bcce2b342a96cac31eb65ad57b6e63f2575b9c2ac01373715d6b435bd646550810e3e39beee03c46d0c1c77e48f3e878dd244d42b49f77424d754f78607ca633c69756f77a7c11cf15a38a0c2ad828c6e1963a94caea58932b66b20abe90e671465bc0d9b274a46b445c8276d1a6b9b9821031ee07211a7890e0c6b1194738c5dc830d44fa1660c420de3b400a2e933a31f219147d54fe301d52b3bc64fc5ee3cd3e687727233dc1792a1e8b9d56b04bcd12cf03aab13d5b61a513b8fcc45ca13fa632b6dcf6813c567c35507148014bafffb65535a21d2fe78875743993e0930ef54e671138e611c13977f4109fefcee31f0c0f1ffb1209a8dd16185b1268cfdc5b862c92a59fc7d3a519182fb9de05f63f61215024d5c2e47a8cb6f7147beb4ea10348eb2bdabb774372107ec2bac989bb1d747271057766c2d4064224f3efc051cd1735b2d473aac5992abd7dc9b45b1b5c8ff237ba2a7ebc217d6d3f9eddc07e210fe249f6c19ddb8c7a4f8bdccc53b08c7224896578e3516522e0c45c6372df429ae7547649aa32bebae72d0fdc82eabd9849ce6d7e740dc64f3ae5d610c339f21e696d9f65149b325242bc127dedf2e48de2ba516aa5852bc6dd856baec912ae32a8882eaae5c4001c2b592b8abac7e031e78d4c3d7cedfe72a61b605079d8431fb2c968418349f4e9099cdf1195ad8ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e4dd02b7c4c74b3c0ba617151a025c83ece2506c35633c580e148df155b5d498bfdfcc5d3b27f8d76fdb211c425d876a3f55a15f3fc78a89bb545c85787490a022a6e3db90eafb095ebd41d348734c786c1c943a4ac12589fbf3aead6630e84b9294e2a35600f66f562bebb37ca0771e85828995f0b359a4468597871d42bc011af5ba64b7b4f7ba456f9f49ea64c2ef7119a646eb81dd0de2974b404d9805231248a2ef5e44ee588c2b1705435b6319958d8d20029b55bb31c6a34ffd697083f921effe320611966167d82ec213fd2a2bf596d5ebeaea742639081bb8b9160b5fc97a61cfb07584a3e6874d6242abb5c46de4d6acdfcd4a7b9314b4fc3c5774e2494e58530f13ea0a88e400f5b9f581acdf877d577dae1119bcfd7bcb83be57e78507a565c72bc9fd281792d36baab667dfc622bdca3ecb9709ec77f4f66130e61de7c561590a15b3fa4d70c2652086770db6c594bf09047f2ccabe51458985c53fbb28780f0145d17865a3326e6ecb4804a6a10c6fa10bf69a3a9cf864959a791869dfcc644745aa12593539bedfcb4a81e3017919a51bd23818244f4d54a6e7348f96c9d2f19696d2103ffe6c76e29f230b1ad69d73b15086b0807210a7d0553865ab2a6ab38f7e37be5290940b3daa8a99a36aaf1fe3f67dba95dcb3467205e4cdedc3d8e6daf61960624bf4c0b0b067d9fbe3e35f9f4150e6e096b016e5572bfbe99a3f3756237aa3001d8db8f8f9dcf6e0a4e6baa00e907849bc11f1bf4c5d71df157086af2149648dcba1ea0c41b59d5fe0bc0cf868f1d563f8cdc1a51df1fe40eba59e0e55674226e15182d42fc4b78e37cdf79e6118ffac59323d8c39b52b5160b7a631eded149f803c9c4ea71b69d9b48804fc1b8db1f4c832dcce7f9b7ad52b7d578a04e76c466090c5528dd745173f2984de79a96feb682e7cecfb94fc05aafe2854e0367367ce6339fb409b96bd97dd31adfcfc48856d0af01b93a530bdf8e10b215234b87faee95eb336344ee4a47a4aad7eb45973592f418f69bc0b137d605222e6f88eae5ae2fe9919d1566e55ddfbb3a4677fbdaab08664a84c9104b674c40f193b6699b45e91e0623a25ebff5c960238b7a2d8de8083e183094d66d0ab723dc3a56e59b924d998ab3f4b33246ee8650a2edc0e5f04a68d649cc7f45b7fbd8da261ebb09698cdd242e405e77252cdc0ebd72a80a662ee9053902ebfa554fe76957750f203194b40779948c9afe85e70e6f4a01869cc6e048382231af5fd3633a36a334057a1930d6ada5e543400b510522ce015ba59a963d3e7dfd528abd048527e30914b2e4c01001f39044ffa8e6f9e8523fc468185bf6a55ed4ba0355de686608143cc4868ca68ea8846ac0022d002ec43c2c75e5e3587599eae5c50d2e99864ba576c6c5ca8992eb82f3fbde5366a1418bce3039f349185460be61f24f816b4bb5742688fe33c2457d97fda1d624a4c7f6dff668b8c6fef808c1c433b13fab74a129fd517b4069a6eecc1402aa414c19555fb09bd41b9449305763202658a5b0eb0c3451772bc0ad3a324518bb16d1f5f662e124497efd878f836f19c661edd130d0ca8449753eaf6cfa624e73d6f769e47c3d70dd3987f52a31dc419808956c4e85d51279b7634f222f68246b6d0e9c719d32f1c1a1298093b26ec95ac57f3072407f67282e830e83d833f98c0e826204c5b15dfa74849b8d83ff1494c4b55187dda9cf262fc6967492245eedc8a1850bbad3930a38a4a16a342bca4c717db9d75cb04d20e6ca99c96dc3ae1e3e9f3d8d015c24a24ea40e81bc8d786b63b489a65122537110c6cad0599fd1edae408e2b3f225da6a693e4cc09017d0788b2a59470e7601bc923f88a0c8f8fbfd69cbb1aab6f03e177ce79aa74572d87f61ee6f09bfb445f7d3c796048fcc235539566f5989c6cc2dd0c2d311bb0d8b7eb7208466dbb71e3a4b343df10ec2615cdb92d09733cf998ff569ce7cdf7f6185e2f10885e48386af04d185ffbb7d1affeb37ddffb0f462c311d19b8be1a0083ade72b2b9d1d6a12e70fbde63c12e0650199659a118bcd18ea48b1e8f4c4cdc27ab6f18de48ac3f166e7fa63ca71f6d62f27362841890c88a14491ee55006b5dd54d1556416a8149ae8b996b08fd22a57ed68dee924df81ed013cbfaf0c84b5d83e5cf0cb028dadfb3df894b129b874f3976da5cc8e598231a65fab2e5bfd405802a826d13709e8ff4fd48536ad925ab68ba5a99cd580ecb6395f8e18616a161d89abf14c7cc23328c332229710a789a87666967adddf1c1bf571770affa7627e838d1e7c7d0ff00cc4b8866c0f9b3208f293edfee05f34582af41be09204c8ab4ce0f14b9a9c6cac36e01512837d11ad4d0fdb38c62453e2f1aa4cf8a7db8aeb080e4afa4beddc950dce82a73fcafd96d1dc685a3c7a182dae537949f14cd4619a39a4413eb6d349c26dac29362fc0fa4790758cc4585c300fff93f5182ddc4bebc76010eb9b3e66b912c21a37a275d656dbc4a4fc121bbf6116216a82007da38884431202ca4ae80121abd556b70639f7fab3a30c074796ae0d43d056293fd0d4a95ba2231d9b6c79a5f2ce6807253d3123cb36f945af9c23e48f6fcde2ec0980a923cd32d34ad56770c7ee4d53b22640fab60f21e0b4bc887e1479dc5ea4bc62986ecb25cfd0397b708167c6a991e34118295971ed55feb5076cb92118d3d6d1eddabc18fb5e02228a34c67a6c3d8e5c747ff961682af4b98d660b1dfe0bae8cb55089daaf9d4d1aaedd028a027ff9be77dc744c166cea4a5d9531b99d5580d7e732996881c4cc4ff331ec18a15a7e4be99b36a94f93455751f2d58d66fbb4d887c9f7f0ce93b5873b761a6490401e88f7ec1dd4e7c41f7fb64aac2cae462a0e1d49d7abcfc7d0297341b22bcc8233c5ad3d744dc15ee37308f000b1312422a39f6101612fcb1175e9a70fa2b57e14b9a3954fc60a635f4c9d2958a784b175960e09610a9cb0c9b1babd70733ad75ee37c5844e47e94f51a16310362ed1c38d67b3fef46f8cec847b4e1cc4571fc017efbbe0bd3a76eb675e6fac43c9b3377947c6a83ea03ee4300896b7998d0188f14beb15698df4f9f94d2a0e5cfc5fbd0bdf903658b4c11f78b7880ebbaee0ccaea8b9579bdd4f7316d5fc2b3c022caae7db0d51f264602d0eea3a2d15638fb60c5ffc6b2b6041341470d8bf63c4557b58a3610952e1d850851b63bdc211058582004c90ba5f9cb7ba46595585cbdbce8280bbf23142ee696ae4f6e5164f275b3ef612d100f3236eb05a0cedbf92b305b31fe02764d24d2f8d7c9472bef845c63b9816acbfb999dc7472fcb54b606e7d26b3737827aa89da5857906ef74be62282e63676e8df6d64d737aed75bba140574a6b342d925c22c9c86f4233e38bea36b7a4e719ec65b70c5459779835884311628a083aeed4aad407b31f1c31d34fb1a23d388986449ff3fcaac0f4c285796dd814b2221c9b4a691c6beb6bda8f7e081fa68bad20d96b03e37d594f0a5ef71bec8984d1eb4d70ceb34b30d0e87c43563af249365ca2d6fb2c1b58cb941c3d536f2d6a4dc9533e4825d23ca2b1233c7e29ee43d24ad700bf7fd0d4f01aed7827437f3d0a966133ff9f76872a0ffb20398e7e0fc10e8fb5d6101ee24a6f45db49061252ec7a82ffc157d278c469a5456c170038fe93fb444390e4a30148f311dfef40f56a59439f0f9af8eab0e6c915f225bf02b872491752989ef33b7ffdfe8325e36fcb9000b4e427e13ee4fecf0daa425b7a74a80b06663277fef7158cd67851d1cccb28d85b349220da4d76465f9a2c5ea0511bf74817f778afd891af56b23a18a8c5955f2f78c22af9ff3b10ddf8a773ed21aeadf3dd64cb3420bffca281cb92aa0b08bb54c74687eeb4259c7d372fcc97c9bc4e0b1464881c1809ddca66b696341ff1596e2cd2c60b4310ef4dc9942b7aee279838ab5d4a873c008531d94236189ce06031241cffa0e77c3db9452a8eb1ce421d43c1process/changes.rstsun8i-a23-q8-tablet.dtssun8i-a23-q8-tablet.dtssun8i-a33-q8-tablet.dtssun8i-a33-q8-tablet.dts../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi../../../../arm/boot/dts/bcm2835-rpi.dtsi../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi../../../../arm/boot/dts/bcm283x-rpi-usb-host.dtsi../../../../arm/boot/dts/bcm283x.dtsi../../../../arm/boot/dts/uniphier-pinctrl.dtsi../../../../arm/boot/dts/uniphier-ref-daughter.dtsi../../../../arm/boot/dts/uniphier-support-card.dtsi../../uapi/linux/input-event-codes.h../../../arch/arc/boot/dts../../../arch/arm/boot/dts../../../arch/arm64/boot/dts../../../arch/c6x/boot/dts../../../arch/cris/boot/dts../../../include/dt-bindings../../../arch/h8300/boot/dts../../../arch/metag/boot/dts../../../arch/microblaze/boot/dts../../../arch/mips/boot/dts../../../arch/nios2/boot/dts../../../arch/openrisc/boot/dts../../../arch/powerpc/boot/dts../../../arch/sh/boot/dts../../../arch/xtensa/boot/dts../../../../../arch/powerpc/lib/copyuser_64.S../../../../../arch/powerpc/lib/copyuser_power7.S../../../../../arch/powerpc/lib/memcpy_64.S../../../../../arch/powerpc/lib/memcpy_power7.S../../../../../../arch/powerpc/include/asm/asm-compat.h../../../../../../arch/powerpc/include/asm/ppc_asm.h../../../../../arch/powerpc/include/asm/word-at-a-time.h../../../../../arch/powerpc/lib/memcmp_64.S../../../../../arch/powerpc/mm/vphn.c../../../../../arch/powerpc/mm/vphn.hrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootkernel-source-4.12.14-lp150.12.82.1.src.rpmkernel-source-vanillakernel-source-vanillamultiversion(kernel)     kernel-macrosrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1]ʞ]ʞ]ʞ]M@]M@]M@]M@]M@]M@]M@]M@]X]X]X]X]X]@]@]µ]µ]µ]µ]d@]d@]d@]d@]d@]]]]]]]]]@]@]]{@]{@]{@]{@]{@])])])])]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]]]]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]L@]]]@]@]@]W]W]W]W]W]W]W]W]W]W]@]@]@]@]@]@]@]@]@]@]@]@]]]]]]]]c@]c@]c@]n]n]n]n]n]@]@]@]@]]]]z@]z@]z@]z@](](](](](](](](](]4@]4@]4@]4@]4@]]]]]]]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]?]?]?]?]?]?]@]@]@]@]@]@]@]]]]]]]]]@]@]@]@]@]@]@]@]@]@]@]@]V]V]V]V]V]V]V]V]V]V]V]V]V]V]V]V]V]V]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]@]@]@]@]@]@]@]@]@]@]@]@]@]@]m]m]m]m]@]@]@]@]@]@]]]]]]]]]]]]]]]]]]]]]]y@]y@]y@]y@]y@]y@]y@]~']~']{]{]{]{]{]z3@]z3@]z3@]z3@]z3@]x]x]x]w@]w@]w@]w@]w@]w@]w@]w@]w@]w@]w@]w@]w@]v>]v>]v>]v>]v>]t@]s]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]rJ@]p]p]p]p]p]p]p]p]p]p]o@]o@]o@]o@]o@]o@]o@]o@]o@]o@]o@]o@]o@]o@]nU]nU]nU]nU]nU]nU]nU]nU]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]m@]ja@]i]i]i]i]i]i]i]i]g@]g@]g@]g@]g@]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]fl]e@]e@]e@]e@]e@]e@]e@]e@]e@]e@]e@]e@]e@]e@]e@]c]c]c]c]c]c]c]c]c]c]c]bx@]bx@]bx@]bx@]bx@]_@]_@]_@]_@]_@]_@]_@]^]^]^]^]^]^]^]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@]]2@][][][][][]Z@]Z@]Z@]Z@]Z@]Z@]Z@]Y=]Y=]Y=]Y=]W@]V]V]V]V]V]V]V]V]V]V]V]V]V]V]V]V]UI@]UI@]UI@]UI@]S]S]R@]R@]R@]R@]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]QT]P@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]M`@]L]L]L]L]L]L]L]L]L]L]L]L]L]J@]J@]J@]J@]J@]J@]J@]J@]J@]J@]J@]J@]Ik]Ik]Ik]Ik]Ik]Ik]H@]H@]H@]H@]H@]Ew@]D%]D%]D%]B@]B@]B@]B@]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]A]@1@]@1@]@1@]@1@]@1@]@1@]>]>]>]>]>]>]>]>]>]>]<<]<<]<<]<<]:@]:@]:@]:@]:@]:@]:@]:@]9]9]9]9]8H@]8H@]8H@]8H@]8H@]8H@]8H@]8H@]8H@]8H@]8H@]8H@]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]6]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]5@]4S]1]1]1]1]0_@]0_@]/ ]/ ]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@]-@],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j],j](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@](v@]'$]'$]'$]'$]'$]'$]'$]'$]'$]'$]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]%@]$]$]$]$]$]$]$]$]$]$]$]$]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@]#0@] @];];];];];]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]]]]]]]]]]]]]]]]G@]G@]G@]G@]]]]^@]^@]^@]^@]^@]^@]^@]^@]^@]^@]^@]^@]^@]@]@]@]@]@]@]@]@]@]@]@] ] ] ] u@] u@] u@] u@] u@] #] #] #] #] #] #] #] #] #] #] #] #] #] #] #]@]@]@]@]]]]]]]]]]]]]]]]]]]]]]]]]/@]/@]/@]/@]/@]/@]/@]/@]]]]]]]]]]]]]]]]@]@]@]@]@]@]@]@]:]:]:]:]:]:]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@]@\\\\\\\\\\\\\\\\\\\\\\\\\\\\\F@\F@\F@\F@\F@\F@\F@\F@\F@\F@\F@\F@\F@\F@\\Q\Q\@\@\@\@\@\@\@\@\@\@\@\@\@\@\\\\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\]@\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \@\@\@\@\@\@\@\@\@\@\@\@\@\@\\\\\\\\\\\t@\t@\t@\t@\"\"\"\"\"\"\"\"\"\"\"\"\"\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\\\\\\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\9\9\9\9\9\9\9\9\9\9\9\9\9\9\@\@\@\@\@\@\@\@\@\@\@\\\\E@\E@\E@\\\\\\\\\\\\\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\ޢ@\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\P\@\@\@\@\@\@\@\@\@\@\@\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\ڭ\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\ \ \ \ \ֹ@\g\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\\\\\\\\\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\s@\!\!\!\!\!\!\!\~\-@\-@\-@\-@\-@\-@\-@\\\\\\\\\Ɋ@\Ɋ@\Ɋ@\Ɋ@\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\8\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\D@\\\\\\\\\\\\\\@\@\@\@\O\O\O\O\O\O\O\O\O\O\O\O\O\O\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\\\\\\\ \ \ \ \ \@\@\@\f\f\f\f\f\f\f\f\@\@\@\@\@\@\@\@\@\\\\\\\\\\\\\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\r@\ \ \}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\}\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\,@\\\\\\\\\\\\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\7\C@\\\\\\@\@\@\@\@\@\@\@\@\@\@\@\@\@\N\N\N\N\N\N\N\N\N\N\N\N\N\N\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\\Z@\Z@\\\\\\\\\@\@\@\@\@\@\@\@\@\@\@\@\@\e\e\e\e\e\e\e\e\@\@\\\\\\\\\\\\\\\\\\\\\\@\@\@\@\@\@\@\|\|\|\|\|\|\|\|\|\|\|\|\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\+@\\\\\\\\\\\\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\B@\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\M\M\M\M\M\M\M\M\M\M\M\M\M\M\M\Y@\Y@\Y@\\\\\\\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\~d\~d\~d\~d\~d\~d\~d\~d\~d\~d\~d\~d\~d\~d\~d\~d\}@\}@\}@\}@\}@\}@\}@\zp@\zp@\zp@\y\y\y\y\y\y\y\w@\w@\w@\v{\v{\v{\v{\v{\v{\v{\v{\v{\v{\v{\v{\u*@\u*@\u*@\u*@\u*@\u*@\u*@\u*@\u*@\u*@\u*@\u*@\u*@\u*@\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\r@\r@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\o@\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\mA@\mA@\mA@\mA@\mA@\mA@\mA@\mA@\mA@\mA@\k\k\k\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\j@\f\f\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\eX@\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\b@\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\]o@\]o@\]o@\]o@\]o@\]o@\\\\\\\\\\\\\\\\\\\Z@\Z@\Z@\Z@\Z@\Z@\Z@\Z@\Z@\Z@\Z@\Z@\Z@\Yz\Yz\Yz\Yz\Yz\Yz\Yz\Yz\Yz\Yz\Yz\Yz\Yz\X)@\X)@\X)@\X)@\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\T4\R@\R@\R@\R@\R@\R@\R@\Q\Q\Q\P@@\P@@\P@@\P@@\P@@\P@@\P@@\P@@\P@@\P@@\P@@\P@@\P@@\P@@\N\N\N\N\N\N\N\N\N\N\N\N\N\N\N\N\J@\J@\J@\J@\J@\J@\J@\J@\I\I\I\I\I\I\I\HW@\HW@\HW@\HW@\HW@\G\G\G\G\G\G\G\G\E@\E@\E@\E@\E@\E@\E@\E@\E@\A\A\A\A\A\A\@n@\?\?\?\?\?\?\?\?\?\?\?\=@\=@\=@\@[>@[>@[>@[>@[<[<[<[<[<[<[<[<[<[<[<[<[<[<[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[;e@[:[:[:[:[:[:[:[:[:[:[:[7p[6@[6@[6@[6@[6@[6@[6@[6@[6@[4[4[4[4[3|@[3|@[3|@[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[2*[0@[0@[0@[0@[0@[0@[0@[.6@[,[,[,[,[,[,[+@[+@[+@[+@[+@[+@[+@[+@[+@[+@[+@[+@[+@[+@[+@[*A[*A[*A[*A[(@[(@[(@[(@['['['['['['['['['['['['['['[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@[#@["X[!@[!@[!@[!@[!@[!@[!@[[[[[[[[[[[[[[[[[[d@[d@[d@[d@[d@[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[o[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[[[[[[[[[[[[[[[[[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[{@[)[)[)[)[)[)[)[)[)[)[@[5@[5@[5@[5@[[[[[[[[[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[@[ @[ @[ @[ @[ @[ @[ @[ @[ @[ @[ @[ @[ @[ @[ @[ [ [ [ [ L@[ L@[[[[[@[@[@[@[@[W[W[W[W[W[@[@[@[@[@[[Z@Z@Z@Z@Z@Z@Z@Z@Z@ZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZnZ@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@ZZZZZZZZZZZZZZZZz@Zz@Zz@Zz@Zz@Zz@Zz@Zz@Zz@Zz@Zz@ZZZZZZZ4@Z4@Z4@Z4@Z4@Z4@Z4@ZZZZZZ@Z@Z?ZK@ZK@ZK@ZK@ZK@ZZZZZZZZZZZZZZZZZZZZZZZZ@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Zb@ZZZZZZZZZ@Z@Z@Z@Z@Z@Z@Z@Z@Z@ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@ZZZZZZZZZZZZ@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z؄Z؄Z؄Z؄Z؄Z؄Z؄Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@ZZZZZZZZZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZԐ@ZЛZЛZЛZЛZЛZЛZЛZЛZЛZЛZЛZЛZЛZЛZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZJ@ZZZZZZZZZZZZZZZZZZZZZZZZZZ̧@Z̧@Z̧@Z̧@Z̧@Z̧@Z̧@Z̧@ZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZUZȲZȲZȲZa@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@Za@ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@Zľ@ZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZ@Z@Z@ZZx@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@Z2@ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZI@ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ@Z@Z@Z@Z@Z@Z@Z@ZTZ@Z@Z@Z@Z@ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@Z`@ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@ZkZkZkZkZZw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Zw@Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z@Z@Z@Z@Z@Z@Z@Z@Z@ZZZZZZZZZZZZZZZZ1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@Z1@ZZkey_idx >= NUM_WEPKEYS (bsc#1051510). - USB: ldusb: fix read info leaks (bsc#1051510). - USB: serial: ti_usb_3410_5052: fix port-close races (bsc#1051510). - usb: udc: lpc32xx: fix bad bit shift operation (bsc#1051510). - USB: legousbtower: fix a signedness bug in tower_probe() (bsc#1051510). - USB: legousbtower: fix memleak on disconnect (bsc#1051510). - USB: ldusb: fix memleak on disconnect (bsc#1051510). - commit f5f355a- x86: Add ITLB_MULTIHIT bug infrastructure (bsc#1117665, CVE-2018-12207). - x86/cpu: Add Tremont to the cpu vulnerability (bsc#1117665, CVE-2018-12207). - kvm: mmu: ITLB_MULTIHIT mitigation (bsc#1117665, CVE-2018-12207). - kvm: Add helper function for creating VM worker (bsc#1117665, CVE-2018-12207). - kvm: x86: mmu: Recovery of shattered NX large pages (bsc#1117665, CVE-2018-12207). - KVM: vmx, svm: always run with EFER.NXE=1 when shadow paging is active (bsc#1117665). - Refresh patches.kabi/Fix-KVM-kABI-after-x86-mmu-backports.patch. - commit 6837a99- btrfs: tracepoints: Fix bad entry members of qgroup events (bsc#1155186). - commit d54f577- btrfs: tracepoints: Fix wrong parameter order for qgroup events (bsc#1155184). - commit 478f3fd- btrfs: qgroup: Always free PREALLOC META reserve in btrfs_delalloc_release_extents() (bsc#1155179). - commit b745754- btrfs: block-group: Fix a memory leak due to missing btrfs_put_block_group() (bsc#1155178). - commit ed81a2e- rds: Fix warning (bsc#1154848). - commit d13b584- net/rds: remove user triggered WARN_ON in rds_sendmsg (bsc#1154848). - net/rds: fix warn in rds_message_alloc_sgs (bsc#1154848). - commit bd4294a- NFSv4.1 - backchannel request should hold ref on xprt (bsc#1152624). - commit ffbdb52- ksm: optimize refile of stable_node_dup at the head of the chain (bnc#1144338). - ksm: swap the two output parameters of chain/chain_prune (bnc#1144338). - ksm: cleanup stable_node chain collapse case (bnc#1144338). - ksm: fix use after free with merge_across_nodes = 0 (bnc#1144338). - ksm: introduce ksm_max_page_sharing per page deduplication limit (bnc#1144338). - commit 8d77ace- kABI workaround for crypto/af_alg changes (bsc#1154737). - commit 935be2c- crypto: af_alg - Fix race around ctx->rcvused by making it atomic_t (bsc#1154737). - commit 5c94943- crypto: algif_aead - fix reference counting of null skcipher (bsc#1154737). - commit da25974- crypto: algif_aead - skip SGL entries with NULL page (bsc#1154737). - commit c74b360- crypto: algif_aead - copy AAD from src to dst (bsc#1154737). - commit 81755fd- crypto: algif_aead - overhaul memory management (bsc#1154737). - commit d710555- crypto: algif_skcipher - overhaul memory management (bsc#1154737). - Refresh patches.suse/crypto-AF_ALG-remove-SGL-terminator-indicator-when-c. - commit 0deaf4d- crypto: af_alg - fix race accessing cipher request (bsc#1154737). - crypto: af_alg - wait for data at beginning of recvmsg (bsc#1154737). - crypto: af_alg - remove locking in async callback (bsc#1154737). - crypto: af_alg - consolidation of duplicate code (bsc#1154737). - crypto: algif - return error code when no data was processed (bsc#1154737). - commit 030e7c9- blacklist.conf: remove entries for crypto/algif The patches will be committed from now on - commit e9ef0b5- ASoC: rsnd: Reinitialize bit clock inversion flag for every format setting (bsc#1051510). - ASoc: rockchip: i2s: Fix RPM imbalance (bsc#1051510). - commit 2288525- ALSA: hda: Add Tigerlake/Jasperlake PCI ID (bsc#1051510). - ALSA: hda/realtek - Add support for ALC711 (bsc#1051510). - ALSA: hda: Add Elkhart Lake PCI ID (bsc#1051510). - commit c99ae77- netfilter: nf_nat: don't bug when mapping already exists (bsc#1146612). - net: Replace NF_CT_ASSERT() with WARN_ON() (bsc#1146612). - commit 198cce4- s390/cmf: set_schib_wait add timeout (bsc#1153509, bsc#1153476). - commit 9aae80b- bpf: fix use after free in prog symbol exposure (bsc#1083647). - commit 49855dc- net: qlogic: Fix memory leak in ql_alloc_large_buffers (networking-stable-19_10_05). - sch_dsmark: fix potential NULL deref in dsmark_init() (networking-stable-19_10_05). - ipv6: Handle missing host route in __ipv6_ifa_notify (networking-stable-19_10_05). - cxgb4:Fix out-of-bounds MSI-X info array access (networking-stable-19_10_05). - qmi_wwan: add support for Cinterion CLS8 devices (networking-stable-19_10_05). - ipv6: drop incoming packets having a v4mapped source address (networking-stable-19_10_05). - net/rds: Fix error handling in rds_ib_add_one() (networking-stable-19_10_05). - tipc: fix unlimited bundling of small messages (networking-stable-19_10_05). - vsock: Fix a lockdep warning in __vsock_release() (networking-stable-19_10_05). - net: Unpublish sk from sk_reuseport_cb before call_rcu (networking-stable-19_10_05). - sch_cbq: validate TCA_CBQ_WRROPT to avoid crash (networking-stable-19_10_05). - commit cc8175c- scsi: lpfc: Fix devices that don't return after devloss followed by rediscovery (bsc#1137040). - commit a020e82- filldir[64]: remove WARN_ON_ONCE() for bad directory entries (bsc#1144903, CVE-2019-10220, bso#14072). - commit 8d6442e- Make filldir[64]() verify the directory entry filename is valid (bsc#1144903, CVE-2019-10220, bso#14072). - commit 4a75878- net_sched: fix backward compatibility for TCA_ACT_KIND (git-fixes). - commit 2c74cd8- Update patches.suse/NFSv4-Check-the-return-value-of-update_open_stateid.patch (boo#1154189 bsc#1154747). - commit 43485a9- dasd_fba: Display '00000000' for zero page when dumping sense Update patches.suse/dasd_fba-Display-00000000-for-zero-page-when-dumping.patch (bsc#1123080). - commit 7950066- kernel-binary.spec.in: Fix build of non-modular kernels (boo#1154578). - commit 7f1e881- rtlwifi: Fix potential overflow on P2P code (bsc#1154372 CVE-2019-17666). - commit 39802a7- tuntap: correctly set SOCKWQ_ASYNC_NOSPACE (bsc#1145099). - commit d32aace- vhost_net: conditionally enable tx polling (bsc#1145099). - commit e6f0d81- libertas: fix a potential NULL pointer dereference (CVE-2019-16232,bsc#1150465). - commit 481da9b- iwlwifi: pcie: fix rb_allocator workqueue allocation (CVE-2019-16234,bsc#1150452). - commit 936acf2- iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41 (bsc#1137799). - commit 4dfbf9e- iommu/amd: Override wrong IVRS IOAPIC on Raven Ridge systems (bsc#1137799). - commit d1815e5- kernel-binary.spec.in: Obsolete kgraft packages only when not building them. - commit 25f7690- Blacklist "signal: Correct namespace fixups of si_pid and si_uid" (bsc#1142667) - commit cc66e8c- btrfs: Ensure btrfs_init_dev_replace_tgtdev sees up to date values (bsc#1154651). - btrfs: remove wrong use of volume_mutex from btrfs_dev_replace_start (bsc#1154651). - commit 2c026e8- kernel-subpackage-build: create zero size ghost for uncompressed vmlinux (bsc#1154354). It is not strictly necessary to uncompress it so maybe the ghost file can be 0 size in this case. - commit 4bf73c8- Move the upstreamed cfg80211 fix into the sorted section - commit 59730d6- appletalk: enforce CAP_NET_RAW for raw sockets (bsc#1051510). - commit cf13637- Move the upstreamed ath6kl fix into the sorted section - commit 103d8ba- blacklist.conf: Add unneeded locking fixes - commit c0a295a- Fix AMD IOMMU kABI (bsc#1154610). - iommu/amd: Check PM_LEVEL_SIZE() condition in locked section (bsc#1154608). - iommu/amd: Remove domain->updated (bsc#1154610). - iommu/amd: Wait for completion of IOTLB flush in attach_device (bsc#1154611). - commit 9c55437- btrfs: Ensure replaced device doesn't have pending chunk allocation (bsc#1154607). - commit be38486- watchdog: imx2_wdt: fix min() calculation in imx2_wdt_set_timeout (bsc#1051510). - video: of: display_timing: Add of_node_put() in of_get_display_timing() (bsc#1051510). - commit 9fb6a11- act_mirred: Fix mirred_init_module error handling (bsc#1051510). - ACPI: CPPC: Set pcc_data[pcc_ss_id] to NULL in acpi_cppc_processor_exit() (bsc#1051510). - 9p: avoid attaching writeback_fid on mmap with type PRIVATE (bsc#1051510). - ACPI / processor: don't print errors for processorIDs == 0xff (bsc#1051510). - ACPI / CPPC: do not require the _PSD method (bsc#1051510). - commit fab990b- USB: yurex: fix NULL-derefs on disconnect (bsc#1051510). - USB: iowarrior: fix use-after-free after driver unbind (bsc#1051510). - USB: iowarrior: fix use-after-free on release (bsc#1051510). - USB: iowarrior: fix use-after-free on disconnect (bsc#1051510). - USB: chaoskey: fix use-after-free on release (bsc#1051510). - USB: adutux: fix use-after-free on release (bsc#1051510). - USB: legousbtower: fix use-after-free on release (bsc#1051510). - USB: usb-skeleton: fix use-after-free after driver unbind (bsc#1051510). - USB: usb-skeleton: fix NULL-deref on disconnect (bsc#1051510). - USB: serial: keyspan: fix NULL-derefs on open() and write() (bsc#1051510). - USB: serial: option: add support for Cinterion CLS8 devices (bsc#1051510). - USB: serial: option: add Telit FN980 compositions (bsc#1051510). - USB: serial: ftdi_sio: add device IDs for Sienna and Echelon PL-20 (bsc#1051510). - USB: serial: fix runtime PM after driver unbind (bsc#1051510). - USB: usblp: fix runtime PM after driver unbind (bsc#1051510). - USB: usb-skeleton: fix runtime PM after driver unbind (bsc#1051510). - usb: xhci: wait for CNR controller not ready bit in xhci resume (bsc#1051510). - USB: dummy-hcd: fix power budget for SuperSpeed mode (bsc#1051510). - USB: yurex: Don't retry on unexpected errors (bsc#1051510). - usbnet: ignore endpoints with invalid wMaxPacketSize (bsc#1051510). - usbnet: sanity checking of packet sizes and device mtu (bsc#1051510). - commit 9b37c39- xhci: Increase STS_SAVE timeout in xhci_suspend() (bsc#1051510). - xhci: Check all endpoints for LPM timeout (bsc#1051510). - xhci: Prevent device initiated U1/U2 link pm if exit latency is too long (bsc#1051510). - xhci: Fix false warning message about wrong bounce buffer write length (bsc#1051510). - commit 5e80715- staging: vt6655: Fix memory leak in vt6655_probe (bsc#1051510). - thermal_hwmon: Sanitize thermal_zone type (bsc#1051510). - vfio_pci: Restore original state on release (bsc#1051510). - commit 603f4ca- platform/x86: classmate-laptop: remove unused variable (bsc#1051510). - thermal: Fix use-after-free when unregistering thermal zone device (bsc#1051510). - platform/x86: pmc_atom: Add Siemens SIMATIC IPC277E to critclk_systems DMI table (bsc#1051510). - pinctrl: tegra: Fix write barrier placement in pmx_writel (bsc#1051510). - power: supply: sysfs: ratelimit property read error message (bsc#1051510). - commit 5e863fe- NFC: pn533: fix use-after-free and memleaks (bsc#1051510). - PCI: PM: Fix pci_power_up() (bsc#1051510). - nfc: fix memory leak in llcp_sock_bind() (bsc#1051510). - PCI: Correct pci=resource_alignment parameter example (bsc#1051510). - NFC: fix attrs checks in netlink interface (bsc#1051510). - commit 64b81eb- mmc: sdhci-of-esdhc: set DMA snooping based on DMA coherence (bsc#1051510). - mmc: sdhci: improve ADMA error reporting (bsc#1051510). - mmc: sdhci: Fix incorrect switch to HS mode (bsc#1051510). - commit 113f36d- memstick: jmb38x_ms: Fix an error handling path in 'jmb38x_ms_probe()' (bsc#1051510). - mISDN: enforce CAP_NET_RAW for raw sockets (bsc#1051510). - mfd: intel-lpss: Remove D3cold delay (bsc#1051510). - commit ea5613f- media: stkwebcam: fix runtime PM after driver unbind (bsc#1051510). - media: ov9650: add a sanity check (bsc#1051510). - media: saa7134: fix terminology around saa7134_i2c_eeprom_md7134_gate() (bsc#1051510). - media: sn9c20x: Add MSI MS-1039 laptop to flip_dmi_table (bsc#1051510). - media: saa7146: add cleanup in hexium_attach() (bsc#1051510). - media: cpia2_usb: fix memory leaks (bsc#1051510). - media: ttusb-dec: Fix info-leak in ttusb_dec_send_command() (bsc#1051510). - media: dvb-core: fix a memory leak bug (bsc#1051510). - commit 2cd27d5- mac80211: accept deauth frames in IBSS mode (bsc#1051510). - macsec: drop skb sk before calling gro_cells_receive (bsc#1051510). - media: gspca: zero usb_buf on error (bsc#1051510). - media: hdpvr: add terminating 0 at end of string (bsc#1051510). - media: radio/si470x: kill urb on error (bsc#1051510). - media: i2c: ov5645: Fix power sequence (bsc#1051510). - media: omap3isp: Don't set streaming state on random subdevs (bsc#1051510). - media: omap3isp: Set device on omap3isp subdevs (bsc#1051510). - media: iguanair: add sanity checks (bsc#1051510). - media: hdpvr: Add device num check and handling (bsc#1051510). - media: exynos4-is: fix leaked of_node references (bsc#1051510). - commit 7694a3b- Input: da9063 - fix capability and drop KEY_SLEEP (bsc#1051510). - iio: light: opt3001: fix mutex unlock race (bsc#1051510). - iio: adc: ad799x: fix probe error handling (bsc#1051510). - ieee802154: atusb: fix use-after-free at disconnect (bsc#1051510). - ieee802154: enforce CAP_NET_RAW for raw sockets (bsc#1051510). - ima: always return negative code for error (bsc#1051510). - ipmi_si: Only schedule continuously in the thread in maintenance mode (bsc#1051510). - libertas: Add missing sentinel at end of if_usb.c fw_table (bsc#1051510). - lib/mpi: Fix karactx leak in mpi_powm (bsc#1051510). - commit fc458fe- i2c: riic: Clear NACK in tend isr (bsc#1051510). - hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap' (bsc#1051510). - commit 5f99136- HID: apple: Fix stuck function keys when using FN (bsc#1051510). - HID: prodikeys: Fix general protection fault during probe (bsc#1051510). - HID: sony: Fix memory corruption issue on cleanup (bsc#1051510). - HID: logitech: Fix general protection fault caused by Logitech driver (bsc#1051510). - HID: hidraw: Fix invalid read in hidraw_ioctl (bsc#1051510). - commit b803207- gpu: drm: radeon: Fix a possible null-pointer dereference in radeon_connector_set_property() (bsc#1051510). - e1000e: add workaround for possible stalled packet (bsc#1051510). - commit 28d29da- drm/ast: Fixed reboot test may cause system hanged (bsc#1051510). - Refresh patches.suse/drm-ast-Actually-load-DP501-firmware-when-required.patch. - commit b758e13- drm/msm/dsi: Implement reset correctly (bsc#1051510). - cdc_ncm: fix divide-by-zero caused by invalid wMaxPacketSize (bsc#1051510). - drm/amdgpu: Check for valid number of registers to read (bsc#1051510). - clk: at91: select parent if main oscillator or bypass is enabled (bsc#1051510). - clk: zx296718: Don't reference clk_init_data after registration (bsc#1051510). - clk: sirf: Don't reference clk_init_data after registration (bsc#1051510). - clk: qoriq: Fix -Wunused-const-variable (bsc#1051510). - drm/amd/powerplay/smu7: enforce minimal VBITimeout (v2) (bsc#1051510). - drm/radeon: Fix EEH during kexec (bsc#1051510). - drm/panel: simple: fix AUO g185han01 horizontal blanking (bsc#1051510). - drm/bridge: tc358767: Increase AUX transfer length limit (bsc#1051510). - cfg80211: Purge frame registrations on iftype change (bsc#1051510). - can: mcp251x: mcp251x_hw_reset(): allow more time after a reset (bsc#1051510). - can: xilinx_can: xcan_probe(): skip error message on deferred probe (bsc#1051510). - drm/vmwgfx: Fix double free in vmw_recv_msg() (bsc#1051510). - drm: Flush output polling on shutdown (bsc#1051510). - drm/tilcdc: Register cpufreq notifier after we have initialized crtc (bsc#1051510). - cfg80211: add and use strongly typed element iteration macros (bsc#1051510). - commit 5d8399d- ax25: enforce CAP_NET_RAW for raw sockets (bsc#1051510). - ASoC: sgtl5000: Fix charge pump source assignment (bsc#1051510). - ASoC: Define a set of DAPM pre/post-up events (bsc#1051510). - ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set (bsc#1051510). - ASoC: Intel: NHLT: Fix debug print format (bsc#1051510). - ASoC: Intel: Fix use of potentially uninitialized variable (bsc#1051510). - ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls() (bsc#1051510). - Bluetooth: btrtl: Additional Realtek 8822CE Bluetooth devices (bsc#1051510). - auxdisplay: panel: need to delete scan_timer when misc_register fails in panel_attach (bsc#1051510). - commit 0405142- x86/asm: Fix MWAITX C-state hint value (bsc#1114279). - commit 5cdbb44- xen/netback: fix error path of xenvif_connect_data() (bsc#1065600). - commit bea7706- Delete patches.suse/0001-PCI-dra7xx-Fix-legacy-INTD-IRQ-handling.patch The patch doesn't build properly with armv7hl - commit 73a2cbb- kABI workaround for snd_hda_pick_pin_fixup() changes (bsc#1051510). - commit 056b91b- ALSA: usb-audio: Disable quirks for BOSS Katana amplifiers (bsc#1051510). - ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360 (bsc#1051510). - ALSA: hda - Add laptop imic fixup for ASUS M9V laptop (bsc#1051510). - ALSA: hda - Apply AMD controller workaround for Raven platform (bsc#1051510). - ALSA: hda/realtek - Fix alienware headset mic (bsc#1051510). - ALSA: hda/hdmi: remove redundant assignment to variable pcm_idx (bsc#1051510). - ALSA: hda/realtek - Blacklist PC beep for Lenovo ThinkCentre M73/93 (bsc#1051510). - ALSA: hda/realtek - Check beep whitelist before assigning in all codecs (bsc#1051510). - ALSA: hda - Define a fallback_pin_fixup_tbl for alc269 family (bsc#1051510). - ALSA: hda - Expand pin_match function to match upcoming new tbls (bsc#1051510). - ALSA: hda - Drop unsol event handler for Intel HDMI codecs (bsc#1051510). - ALSA: hda/sigmatel - remove unused variable 'stac9200_core_init' (bsc#1051510). - ALSA: hda: Set fifo_size for both playback and capture streams (bsc#1051510). - ALSA: hda - Inform too slow responses (bsc#1051510). - ALSA: usb-audio: Add Pioneer DDJ-SX3 PCM quirck (bsc#1051510). - ALSA: usb-audio: Skip bSynchAddress endpoint check if it is invalid (bsc#1051510). - ALSA: hda: Add support of Zhaoxin controller (bsc#1051510). - ALSA: hda - Show the fatal CORB/RIRB error more clearly (bsc#1051510). - ALSA: line6: sizeof (byte) is always 1, use that fact (bsc#1051510). - ALSA: hda: Flush interrupts on disabling (bsc#1051510). - commit 4c23b83- ixgbe: sync the first fragment unconditionally (bsc#1133140). - commit b80e569- firmware: dmi: Fix unlikely out-of-bounds read in save_mem_devices (git-fixes). - drm/amdgpu/si: fix ASIC tests (git-fixes). - commit 8bf52ea- IB/hfi1: Remove overly conservative VM_EXEC flag check (bsc#1144449). - commit 3b05f47- block: don't show io_timeout if driver has no timeout handler (bsc#1148410). - block: add io timeout to sysfs (bsc#1148410). - commit 1dbb9c3- xen/pv: Fix Xen PV guest int3 handling (bsc#1153811). - commit bf50921- Btrfs: bail out gracefully rather than BUG_ON (bsc#1153646). - commit 3c2b6d1- Btrfs: check for the full sync flag while holding the inode lock during fsync (bsc#1153713). - commit 2f4826e- PCI: dra7xx: Fix legacy INTD IRQ handling (bsc#1087092). - commit 080c60f- openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC (networking-stable-19_09_30). - skge: fix checksum byte order (networking-stable-19_09_30). - arcnet: provide a buffer big enough to actually receive packets (networking-stable-19_09_30). - net_sched: add policy validation for action attributes (networking-stable-19_09_30). - net: qrtr: Stop rx_worker before freeing node (networking-stable-19_09_30). - net/phy: fix DP83865 10 Mbps HDX loopback disable function (networking-stable-19_09_30). - sch_netem: fix a divide by zero in tabledist() (networking-stable-19_09_30). - net/sched: act_sample: don't push mac header on ip6gre ingress (networking-stable-19_09_30). - commit 1107eda- media: atmel: atmel-isc: fix asd memory allocation (bsc#1135642). - commit 06a141e- blacklist.conf: not relevant in our configurations - commit d8ce510- cfg80211: wext: avoid copying malformed SSIDs (bsc#1153158 CVE-2019-17133). - commit 5f20dea- crypto: talitos - fix missing break in switch statement (bsc#1142635). - commit afac1ff- sock_diag: fix autoloading of the raw_diag module (bsc#1152791). - commit 10e0006- sock_diag: request _diag module only when the family or proto has been registered (bsc#1152791). - commit e0bdf12- nfc: enforce CAP_NET_RAW for raw sockets (bsc#1152788 CVE-2019-17056). - commit aa7ba0f- USB: legousbtower: fix open after failed reset request (bsc#1142635). - commit fb88d86- USB: legousbtower: fix potential NULL-deref on disconnect (bsc#1142635). - commit cddc12e- USB: legousbtower: fix deadlock on disconnect (bsc#1142635). - commit 65b4146- USB: legousbtower: fix slab info leak at probe (bsc#1142635). - commit 2af3019- USB: usblcd: fix I/O after disconnect (bsc#1142635). - commit 6eede1b- blacklist.conf: only changing logged messages - commit a71bb8f- Fix KVM kABI after x86 mmu backports (bsc#1117665). - commit 0ca96e6- kvm: x86, powerpc: do not allow clearing largepages debugfs entry (bsc#1117665). - KVM: x86: add tracepoints around __direct_map and FNAME(fetch) (bsc#1117665). - KVM: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON (bsc#1117665). - KVM: x86: remove now unneeded hugepage gfn adjustment (bsc#1117665). - KVM: x86: make FNAME(fetch) and __direct_map more similar (bsc#1117665). - kvm: x86: Do not release the page inside mmu_set_spte() (bsc#1117665). - kvm: Convert kvm_lock to a mutex (bsc#1117665). - KVM: x86: adjust kvm_mmu_page member to save 8 bytes (bsc#1117665). - KVM: MMU: drop vcpu param in gpte_access (bsc#1117665). - commit 613f77f- IB/core, ipoib: Do not overreact to SM LID change event (bsc#1154108) - commit 91ff21e- USB: adutux: fix NULL-derefs on disconnect (bsc#1142635). - commit e14cfc5- USB: adutux: fix use-after-free on disconnect (bsc#1142635). - commit 2ec9c78- USB: microtek: fix info-leak at probe (bsc#1142635). - commit 7823089- scsi: lpfc: Fix null ptr oops updating lpfc_devloss_tmo via sysfs attribute (bsc#1140845). - commit afdd1fb- rtlwifi: rtl8192cu: Fix value set in descriptor (bsc#1142635). - commit 3cf11e1- scsi: lpfc: Fix propagation of devloss_tmo setting to nvme transport (bsc#1140883). - commit d803abd- tracing: Initialize iter->seq after zeroing in tracing_read_pipe() (bsc#1151508). - commit de17fd0- x86/mm: Use WRITE_ONCE() when setting PTEs (bsc#1114279). - commit 80e95be- KVM: PPC: Book3S HV: use smp_mb() when setting/clearing host_ipi flag (bsc#1061840). - commit 86c0889- net/ibmvnic: Fix EOI when running in XIVE mode (bsc#1089644, ltc#166495, ltc#165544, git-fixes). - commit 77b1361- tcp: Don't dequeue SYN/FIN-segments from write-queue (git-gixes). - commit 189df3c- cdc_ether: fix rndis support for Mediatek based smartphones (networking-stable-19_09_15). - sctp: Fix the link time qualifier of 'sctp_ctrlsock_exit()' (networking-stable-19_09_15). - net: Fix null de-reference of device refcount (networking-stable-19_09_15). - ipv6: Fix the link time qualifier of 'ping_v6_proc_exit_net()' (networking-stable-19_09_15). - tun: fix use-after-free when register netdev failed (networking-stable-19_09_15). - tcp: fix tcp_ecn_withdraw_cwr() to clear TCP_ECN_QUEUE_CWR (networking-stable-19_09_15). - sch_hhf: ensure quantum and hhf_non_hh_weight are non-zero (networking-stable-19_09_15). - bridge/mdb: remove wrong use of NLM_F_MULTI (networking-stable-19_09_15). - net: gso: Fix skb_segment splat when splitting gso_size mangled skb having linear-headed frag_list (networking-stable-19_09_15). - tipc: add NULL pointer check before calling kfree_rcu (networking-stable-19_09_15). - sctp: use transport pf_retrans in sctp_do_8_2_transport_strike (networking-stable-19_09_15). - commit e5d5648- ceph: reconnect connection if session hang in opening state (bsc#1153718). - ceph: update the mtime when truncating up (bsc#1153719). - ceph: fix directories inode i_blkbits initialization (bsc#1153717). - commit 748a142- powerpc/pseries: Remove confusing warning message (bsc#1109158). - commit 307bd78- scsi: storvsc: setup 1:1 mapping between hardware queue and CPU queue (bsc#1140729). - commit 6b285ca- scsi: qla2xxx: Fix wait condition in loop (bsc#1143706 bsc#1082635 bsc#1123034). - commit 80202c1- scsi: qla2xxx: Update driver version to 10.01.00.20-k (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Improve logging for scan thread (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Capture FW dump on MPI heartbeat stop event (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Check for MB timeout while capturing ISP27/28xx FW dump (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Set remove flag for all VP (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Add error handling for PLOGI ELS passthrough (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Dual FCP-NVMe target port support (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: remove redundant assignment to pointer host (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Fix N2N link up fail (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Fix N2N link reset (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Optimize NPIV tear down process (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Fix stale mem access on driver unload (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Fix unbound sleep in fcport delete path (bsc#1143706 bsc#1082635 bsc#1123034). - scsi: qla2xxx: Silence fwdump template message (bsc#1143706 bsc#1082635 bsc#1123034). - Refresh patches.suse/scsi-qla2xxx-Remove-WARN_ON_ONCE-in-qla2x00_status_c.patch - commit ffa8022- Refresh patches.suse/scsi-qla2xxx-Fix-race-conditions-in-the-code-for-abo.patch Fix whitespace to match with upstream. - commit 18f3ba7- cxgb4: fix endianness for vlan value in cxgb4_tc_flower (bsc#1064802 bsc#1066129). - Refresh patches.suse/cxgb4-offload-VLAN-flows-regardless-of-VLAN-ethtype.patch. - commit 95f9558- scsi: lpfc: Remove bg debugfs buffers (bsc#1144375). - commit 04a9a28- net: stmmac: dwmac-rk: Don't fail if phy regulator is absent (networking-stable-19_09_05). - tcp: inherit timestamp on mtu probe (networking-stable-19_09_05). - net: sched: act_sample: fix psample group handling on overwrite (networking-stable-19_09_05). - kabi: net: sched: act_sample: fix psample group handling on overwrite (networking-stable-19_09_05). - mld: fix memory leak in mld_del_delrec() (networking-stable-19_09_05). - tcp: remove empty skb from write queue in error cases (networking-stable-19_09_05). - net: fix skb use after free in netpoll (networking-stable-19_09_05). - commit 8919f51- hwrng: core - don't wait on add_early_randomness() (git-fixes). - /dev/mem: Bail out upon SIGKILL (git-fixes). - commit e27b6bf- Fix scsi_transport_fc-return-EBUSY-for-deleted-vport.patch (bsc#1098291) During the backport of 260f4aeddb48 ("scsi: scsi_transport_fc: return - EBUSY for deleted vport") an additional list_del() was introduced. 'rmmod qedf' will crash the system if vports are in use: [ 3203.987367] general protection fault: 0000 [#1] SMP PTI [ 3203.998153] CPU: 10 PID: 515 Comm: kworker/10:1 Tainted: G E 4.12.14-0.g3106fa5-default #1 SLE15 (unrelease$ [ 3204.021180] Hardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 06/15/2018 [ 3204.038647] Workqueue: fc_wq_2 fc_vport_sched_delete [scsi_transport_fc] g[ 3204.052429] task: ffff9185c1d08200 task.stack: ffffb1f7876f0000 [ 3204.064643] RIP: 0010:fc_vport_terminate+0x94/0x160 [scsi_transport_fc] [ 3204.078283] RSP: 0018:ffffb1f7876f3e60 EFLAGS: 00010002 [ 3204.089102] RAX: dead000000000200 RBX: ffff918c5941d400 RCX: 0000000000000000 [ 3204.103771] RDX: dead000000000100 RSI: 0000000000000286 RDI: ffff919448b00000 [ 3204.118461] RBP: ffff919448b00000 R08: ffffb1f7896a9000 R09: 0000000000000000 [ 3204.133135] R10: 0000000000002598 R11: 000000000001f990 R12: 0000000000000000 [ 3204.135757] bnxt_en 0000:5d:00.1: QPLIB: creqe with [ 3204.147830] R13: 0000000000000246 R14: ffff918d07caf000 R15: ffff9185c33f0f00 [ 3204.147831] FS: 0000000000000000(0000) GS:ffff918c5fa80000(0000) knlGS:0000000000000000 [ 3204.158172] bnxt_en 0000:5d:00.1: QPLIB: op_event = 0x2e not handled [ 3204.172859] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 3204.172860] CR2: 00007fa5fa814594 CR3: 000000020900a003 CR4: 00000000007606e0 [ 3204.229268] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 3204.229269] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 3204.229269] PKRU: 55555554 [ 3204.229270] Call Trace: [ 3204.229274] fc_vport_sched_delete+0x15/0x70 [scsi_transport_fc] [ 3204.229277] process_one_work+0x1da/0x400 [ 3204.229279] worker_thread+0x2b/0x3f0 [ 3204.229280] ? process_one_work+0x400/0x400 [ 3204.229281] kthread+0x11a/0x130 [ 3204.229283] ? kthread_create_on_node+0x40/0x40 [ 3204.229285] ret_from_fork+0x35/0x40 [ 3204.229286] Code: e8 e2 24 2c f8 44 89 e0 5b 5d 41 5c 41 5d 41 5e c3 83 ca 04 48 8b 83 90 00 00 00 48 89 ef 88 93 80 00 00 $ [ 3204.229297] Modules linked in: loop(E) sr_mod(E) cdrom(E) binfmt_misc(E) qedf(E-) 8021q(E) garp(E) mrp(E) stp(E) llc(E) af_$ 0xffffffffc041eeaa : or $0x4,%edx 0xffffffffc041eead : mov 0x90(%rbx),%rax 0xffffffffc041eeb4 : mov %rbp,%rdi 0xffffffffc041eeb7 : mov %dl,0x80(%rbx) 0xffffffffc041eebd : mov 0x88(%rbx),%rdx 0xffffffffc041eec4 : mov %rax,0x8(%rdx) 0xffffffffc041eec8 : mov %rdx,(%rax) 0xffffffffc041eecb : movabs $0xdead000000000100,%rax 0xffffffffc041eed5 : mov %rax,0x88(%rbx) 0xffffffffc041eedc : add $0x100,%rax fc_vport_terminate+148 mappes to 0000000000001ebd addr2line -e drivers/scsi/scsi_transport_fc.o 0000000000001ebd /local/dwagner/sle15/tmp/current/./include/linux/list.h:119 114static inline void __list_del_entry(struct list_head *entry) 115{ 116 if (!__list_del_entry_valid(entry)) 117 return; 118 119 __list_del(entry->prev, entry->next); 120} The list element has already been freed when we reach fc_vport_terminate(); see RAX and RDX contain the list poisoning. So don't free premature in the fc_remove_host() loop. - commit cb14640- PCI: hv: Use bytes 4 and 5 from instance ID as the PCI domain numbers (bsc#1153263). - commit 50bc755- scsi: qedf: fc_rport_priv reference counting fixes (bsc#1098291). - Refresh patches.suse/scsi-qedf-print-message-during-bailout-conditions - scsi: qedf: Modify abort and tmf handler to handle edge condition and flush (bsc#1098291). - Refresh patches.suse/scsi-qedf-decrease-the-ll2-mtu-size-to-2500 - commit e17994a- kernel/sysctl.c: do not override max_threads provided by userspace (bnc#1150875). - commit 30731bc- powerpc/pseries/mobility: use cond_resched when updating device tree (bsc#1153112 ltc#181778). - powerpc/rtas: allow rescheduling while changing cpu states (bsc#1153112 ltc#181778). - commit 8dc1fb5- cxgb4: Signedness bug in init_one() (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - net/mlx5: Add device ID of upcoming BlueField-2 (bsc#1046303 FATE#322944). - RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp" (bsc#1050244 FATE#322915). - RDMA: Fix goto target to release the allocated memory (bsc#1050244 FATE#322915). - cxgb4: smt: Add lock for atomic_dec_and_test (bsc#1064802 bsc#1066129). - ixgbe: Prevent u8 wrapping of ITR value to something less than 10us (bsc#1101674 FATE#325150 FATE#325151). - IB/mlx5: Fix MR re-registration flow to use UMR properly (bsc#1093205). - IB/mlx5: Consolidate use_umr checks into single function (bsc#1093205). - bnx2x: Fix VF's VLAN reconfiguration in reload (bsc#1086323 FATE#324899). - net/mlx4_en: fix a memory leak bug (bsc#1046299 FATE#322947). - IB/mlx5: Report correctly tag matching rendezvous capability (bsc#1046305 FATE#322943). - cxgb4: reduce kernel stack usage in cudbg_collect_mem_region() (bsc#1073513). - qed: iWARP - Fix default window size to be based on chip (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP - Fix tc for MPA ll2 connection (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP - fix uninitialized callback (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP - Use READ_ONCE and smp_store_release to access ep->state (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - net/mlx5: Fix error handling in mlx5_load() (bsc#1046305 FATE#322943). - cxgb4: offload VLAN flows regardless of VLAN ethtype (bsc#1064802 bsc#1066129). - commit 96b2e38- objtool: Clobber user CFLAGS variable (bsc#1153236). - commit 569b001- blacklist.conf: 056d28d135bc ("objtool: Query pkg-config for libelf location") libelf is in the default location in SLES, so we do not have to query pkg-config and the fix is not necessary. - commit 8419c74- blacklist.conf: 2a1a3fa0f292 ("kallsyms: Don't let kallsyms_lookup_size_offset() fail on retrieving the first symbol") CONFIG_KALLSYMS_ALL is set everywhere, so the patch is not needed. - commit d22c785- powerpc/64s/pseries: radix flush translations before MMU is enabled at boot (bsc#1055186). - commit 6dd6649- xen/xenbus: fix self-deadlock after killing user process (bsc#1065600). - commit 76e2ca6- alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP (bsc#1151680). - commit dc03fff- xen-netfront: do not use ~0U as error return value for xennet_fill_frags() (bsc#1065600). - commit f1c5e2e- powerpc/64s/radix: tidy up TLB flushing code (bsc#1055186). - powerpc/mm: mark more tlb functions as __always_inline (bsc#1055186). - Refresh patches.suse/powerpc-mm-Fixup-tlbie-vs-mtpidr-mtlpidr-ordering-is.patch. - powerpc/64s/radix: keep kernel ERAT over local process/guest invalidates (bsc#1055186). - powerpc/64s: Rename PPC_INVALIDATE_ERAT to PPC_ISA_3_0_INVALIDATE_ERAT (bsc#1055186). - powerpc/mm/radix: mark as __tlbie_pid() and friends as__always_inline (bsc#1055186). - powerpc/mm/radix: mark __radix__flush_tlb_range_psize() as __always_inline (bsc#1055186). - powerpc/mm/book3s64: Move book3s64 code to pgtable-book3s64 (bsc#1055186). - powerpc/mm: Properly invalidate when setting process table base (bsc#1055186). - commit 9def9c7- kabi/severities: Whitelist functions internal to radix mm. To call these functions you have to first detect if you are running in radix mm mode which can't be expected of OOT code. - commit d2e7b90- btrfs: qgroup: Fix reserved data space leak if we have multiple reserve calls (bsc#1152975). - commit dd30f55- btrfs: qgroup: Fix the wrong target io_tree when freeing reserved data space (bsc#1152974). - commit c3a2587- btrfs: relocation: fix use-after-free on dead relocation roots (bsc#1152972). - commit 24ae263- powerpc/irq: Don't WARN continuously in arch_local_irq_restore() (bsc#1065729). - powerpc/module64: Fix comment in R_PPC64_ENTRY handling (bsc#1065729). - powerpc: Drop page_is_ram() and walk_system_ram_range() (bsc#1065729). - powerpc/powernv/npu: Remove obsolete comment about TCE_KILL_INVAL_ALL (bsc#1065729). - powerpc/irq: drop arch_early_irq_init() (bsc#1065729). - powerpc/mm: Use memblock API for PPC32 page_is_ram (bsc#1065729). - powerpc/mm: Simplify page_is_ram by using memblock_is_memory (bsc#1065729). - commit d2ea316- blacklist.conf: There are too many locks involved and the race is rather theoretical. Better to do not play with matches (bsc#1152325) - Delete patches.suse/ftrace-x86-remove-possible-deadlock-between-register_kprobe-and-ftrace_run_update_code.patch. - Delete patches.suse/module-fix-livepatch-ftrace-module-text-permissions-race.patch. - commit 3ca917a- powerpc/pseries/memory-hotplug: Fix return value type of find_aa_index (bsc#1065729). - commit fea5480- blacklist.conf: Add fixes for unsupported ppc features. 813af51f5d30 powerpc/boot: Set target when cross-compiling for clang aea447141c7e powerpc: Disable -Wbuiltin-requires-header when setjmp is a521c44c3ded powerpc/book3e: drop mmu_get_tsize() - commit 1c86730- KVM: PPC: Book3S HV: Fix lockdep warning when entering the guest (bsc#1061840). - commit 096c2a9- powerpc/pseries: Call H_BLOCK_REMOVE when supported (bsc#1109158). - powerpc/pseries: Read TLB Block Invalidate Characteristics (bsc#1109158). - commit ed9227d- powerpc/powernv: Fix compile without CONFIG_TRACEPOINTS (bsc#1065729). - commit 9467589- powerpc/xive: Fix bogus error code returned by OPAL (bsc#1065729). - powerpc/powernv: move OPAL call wrapper tracing and interrupt handling to C (bsc#1065729). - commit 8fcebeb- blacklist.conf: Add duplicate commit id. - commit 0b5d9ab- net/ibmvnic: prevent more than one thread from running in reset (bsc#1152457 ltc#174432). - net/ibmvnic: unlock rtnl_lock in reset so linkwatch_event can run (bsc#1152457 ltc#174432). - commit f425435- powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9 (bsc#1152161 ltc#181664). - commit 1b17584- powerpc/book3s64/radix: Rename CPU_FTR_P9_TLBIE_BUG feature flag (bsc#1152161 ltc#181664). - commit 2a753e0- powerpc/book3s64/mm: Don't do tlbie fixup for some hardware revisions (bsc#1152161 ltc#181664). - commit e22d3e6- powerpc/mm/radix: implement LPID based TLB flushes to be used by KVM (bsc#1152161 ltc#181664). - Refresh patches.suse/powerpc-64s-Remove-POWER9-DD1-support.patch. - commit 1f54c64- powerpc/64s/radix: Fix MADV_[FREE|DONTNEED] TLB flush miss problem with THP (bsc#1152161 ltc#181664). - commit d7b6f7c- ppp: Fix memory leak in ppp_write (git-fixes). - commit b2ea0ab- powerpc/64s/radix: Improve TLB flushing for page table freeing (bsc#1152161 ltc#181664). - Refresh patches.suse/powerpc-mm-Fix-typo-in-comments.patch. - Refresh patches.suse/powerpc-mm-Fixup-tlbie-vs-store-ordering-issue-on-PO.patch. - Refresh patches.suse/powerpc-mm-Workaround-Nest-MMU-bug-with-TLB-invalida.patch. - Refresh patches.suse/powerpc-mm-radix-Move-the-functions-that-does-the-ac.patch. - commit 90cdc09- powerpc/64s/radix: Optimize flush_tlb_range (bsc#1152161 ltc#181664). - Refresh patches.suse/powerpc-mm-Fixup-tlbie-vs-store-ordering-issue-on-PO.patch. - Refresh patches.suse/powerpc-mm-Workaround-Nest-MMU-bug-with-TLB-invalida.patch. - Refresh patches.suse/powerpc-mm-radix-Move-the-functions-that-does-the-ac.patch. - commit 80c5a9e- powerpc/64s/radix: Implement _tlbie(l)_va_range flush functions (bsc#1152161 ltc#181664). - Refresh patches.suse/powerpc-mm-Fixup-tlbie-vs-store-ordering-issue-on-PO.patch. - Refresh patches.suse/powerpc-mm-Workaround-Nest-MMU-bug-with-TLB-invalida.patch. - Refresh patches.suse/powerpc-mm-radix-Move-the-functions-that-does-the-ac.patch. - commit ab2f8fa- powerpc/64s/radix: Improve preempt handling in TLB code (bsc#1152161 ltc#181664). - Refresh patches.suse/powerpc-64s-radix-Optimize-TLB-range-flush-barriers.patch. - Refresh patches.suse/powerpc-mm-Fixup-tlbie-vs-store-ordering-issue-on-PO.patch. - Refresh patches.suse/powerpc-mm-Workaround-Nest-MMU-bug-with-TLB-invalida.patch. - Refresh patches.suse/powerpc-mm-radix-Drop-unneeded-NULL-check.patch. - Delete patches.suse/powerpc-64s-radix-Fix-preempt-imbalance-in-TLB-flush.patch. - blacklist.conf: Add the above. - commit b3a8f87- powerpc/mm/radix: Drop unneeded NULL check (bsc#1152161 ltc#181664). - commit 60ee413- ceph: use ceph_evict_inode to cleanup inode's resource (bsc#1148133). - commit 92df5d8- SUNRPC: Handle connection breakages correctly in call_status() (git-fixes). - NFS: Remove redundant semicolon (git-fixes). - commit 1992d65- scsi: scsi_dh_rdac: zero cdb in send_mode_select() (bsc#1149313). - commit 1ec727d- b2c2-flexcop-usb: add sanity checking (bsc#1146540 CVE-2019-15291). - commit d70fc3e- mmc: sdhci-msm: fix mutex while in spinlock (bsc#1142635). - commit 3f5a2a5- blacklist.conf: prerequisites would break kABI - commit 8bef1d9- mmc: sdhci-of-arasan: Do now show error message in case of deffered probe (bsc#1119086). - commit 0925906- Fix kabi for: NFSv4: Fix OPEN / CLOSE race (git-fixes). - commit fd35a80- blacklist.conf: 1b7aebf04876 x86/cacheinfo: Fix a -Wtype-limits warning - commit fb4c6c4- blacklist.conf: vsprintf: depends on a huge clean up; it is just nice to have check - commit 4581364- PCI: hv: Detect and fix Hyper-V PCI domain number collision (bsc#1150423). - commit 867295f- printk: fix printk_time race (bsc#1152466). - commit 73baed0- Refresh patches.suse/panic-avoid-deadlocks-in-re-entrant-console-drivers.patch. - commit b935bdf- printk: Do not lose last line in kmsg buffer dump (bsc#1152460). - commit dfb2aad- printk/panic: Avoid deadlock in printk() after stopping CPUs by NMI (bsc#1148712). - commit fc39dab- x86/tls: Fix possible spectre-v1 in do_get_thread_area() (bsc#1114279). - commit d41bded- blacklist.conf: cae5ec342645 x86/speculation/mds: Fix comment 693713cbdb3a x86: Hide the int3_emulate_call/jmp functions from UML - commit bb37420- blacklist.conf: Add cgroup task listing patches They fix psuedozombies listing issues which we don't have in 4.12 (bsc#1146664). - commit 9984d9b- KVM: coalesced_mmio: add bounds checking (CVE-2019-14821 bcs#1151350). - commit 9f2c41d- scsi: qla2xxx: Downgrade driver to 10.01.00.19-k There are upstream bug reports against 10.01.00.19-k which haven't been resolved. Also the newer version failed to get a proper review. For time being it's better to got with the older version and do not introduce new bugs. - Delete patches.suse/scsi-qla2xxx-Add-error-handling-for-PLOGI-ELS-passth.patch. - Delete patches.suse/scsi-qla2xxx-Capture-FW-dump-on-MPI-heartbeat-stop-e.patch. - Delete patches.suse/scsi-qla2xxx-Check-for-MB-timeout-while-capturing-IS.patch. - Delete patches.suse/scsi-qla2xxx-Dual-FCP-NVMe-target-port-support.patch. - Delete patches.suse/scsi-qla2xxx-Fix-N2N-link-reset.patch. - Delete patches.suse/scsi-qla2xxx-Fix-N2N-link-up-fail.patch. - Delete patches.suse/scsi-qla2xxx-Fix-stale-mem-access-on-driver-unload.patch. - Delete patches.suse/scsi-qla2xxx-Fix-unbound-sleep-in-fcport-delete-path.patch. - Delete patches.suse/scsi-qla2xxx-Improve-logging-for-scan-thread.patch. - Delete patches.suse/scsi-qla2xxx-Optimize-NPIV-tear-down-process.patch. - Delete patches.suse/scsi-qla2xxx-Set-remove-flag-for-all-VP.patch. - Delete patches.suse/scsi-qla2xxx-Silence-fwdump-template-message.patch. - Delete patches.suse/scsi-qla2xxx-Update-driver-version-to-10.01.00.20-k.patch. - commit 1c425a3- livepatch: Nullify obj->mod in klp_module_coming()'s error path (bsc#1071995 fate#323487). - commit fd16e8e- blacklist.conf: 459e3a21535a gcc-9: properly declare the {pv,hv}clock_page storage - commit 73936ac- Refresh patches with upstream status. - commit 0e18baf- Refresh patches.suse/0001-x86-speculation-Prepare-entry-code-for-Spectre-v1-sw.patch. - Refresh patches.suse/0002-x86-speculation-Enable-Spectre-v1-swapgs-mitigations.patch. - Refresh patches.suse/x86-speculation-swapgs-exclude-ATOMs-from-speculating-through-SWAPGS.patch. - commit 74df0fe- qla2xxx: remove SGI SN2 support (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix gnl.l memory leak on adapter init failure (bsc#1123034 bsc#1131304 bsc#1127988). - Refresh scsi-qla2xxx-Correct-error-handling-during-initializ.patch - scsi: qla2xxx: Fix possible fcport null-pointer dereferences (bsc#1123034 bsc#1131304 bsc#1127988). - commit c15b1d3- EDAC/amd64: Decode syndrome before translating address (bsc#1114279). - commit b995a6d- Refresh scsi-qla2xxx-Capture-FW-dump-on-MPI-heartbeat-stop-e.patch 882ffc9f07fb ("scsi: qla2xxx: Capture FW dump on MPI heartbeat stop event (bsc#1123034 bsc#1131304 bsc#1127988).") placed the "vha->hw->fw_dump_mpi = 0" assigment into the __CHECKER__ section. Upstream placed the assigment before this section. - commit 28a90c4- blacklist.conf: Blacklist some 8faa1cf6ed82 EDAC/altera: Use the proper type for the IRQ status bits Driver disabled in .config. f8be8e568022 EDAC/amd64: Recognize DRAM device type ECC capability Belongs into 15SP1, blacklist here. - commit 4cf20eb- scsi: qla2xxx: Update driver version to 10.01.00.20-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Set remove flag for all VP (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Improve logging for scan thread (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Dual FCP-NVMe target port support (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Check for MB timeout while capturing ISP27/28xx FW dump (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Capture FW dump on MPI heartbeat stop event (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add error handling for PLOGI ELS passthrough (bsc#1123034 bsc#1131304 bsc#1127988). - commit eb3d766- Refresh: patches.suse/scsi-qla2xxx-Fix-FC-NVMe-LUN-discovery.patch - commit b19d49f- ipv6/addrconf: allow adding multicast addr if IFA_F_MCAUTOJOIN is set (networking-stable-19_08_28). - net/smc: make sure EPOLLOUT is raised (networking-stable-19_08_28). - tcp: make sure EPOLLOUT wont be missed (networking-stable-19_08_28). - commit 6d8d1db- scsi: qla2xxx: Remove WARN_ON_ONCE in qla2x00_status_cont_entry() (bsc#1123034 bsc#1131304 bsc#1127988). - commit 8ada42a- scsi: qla2xxx: Fix Nport ID display value (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix N2N link up fail (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix N2N link reset (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Optimize NPIV tear down process (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix stale mem access on driver unload (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix unbound sleep in fcport delete path (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Silence fwdump template message (bsc#1123034 bsc#1131304 bsc#1127988). - commit 73ca1b4- net/packet: fix race in tpacket_snd() (networking-stable-19_08_21). - sctp: fix the transport error_count check (networking-stable-19_08_21). - net/mlx5e: Only support tx/rx pause setting for port owner (networking-stable-19_08_21). - net/mlx5e: Use flow keys dissector to parse packets for ARFS (networking-stable-19_08_21). - team: Add vlan tx offload to hw_enc_features (networking-stable-19_08_21). - bonding: Add vlan tx offload to hw_enc_features (networking-stable-19_08_21). - xen/netback: Reset nr_frags before freeing skb (networking-stable-19_08_21). - commit 62e2750- blacklist.conf: Append 'drm/i915/gtt: Revert "Disable read-only support under GVT"' - commit 87a68fc- x86/fpu: Add FPU state copying quirk to handle XRSTOR failure on Intel Skylake CPUs (bsc#1151955). - commit 0a9d814- quota: fix wrong condition in is_quota_modification() (bsc#1152026). - commit 095a54b- ext4: fix warning inside ext4_convert_unwritten_extents_endio (bsc#1152025). - commit ef7a3bd- ext4: set error return correctly when ext4_htree_store_dirent fails (bsc#1152024). - commit 2af17f9- Refresh patches.suse/0001-qla2xxx-Mask-off-Scope-bits-in-retry-delay.patch. Fix minor difference to upstream code. - commit 81b7c69- scsi: qla2xxx: Fix comment in MODULE_PARM_DESC in qla2xxx (bsc#1123034 bsc#1131304 bsc#1127988). - commit dc1d180- scsi: qla2xxx: Remove set but not used variable 'ptr_dma' (bsc#1123034 bsc#1131304 bsc#1127988). - commit d66db00- scsi: qla2xxx: Use dma_pool_zalloc() (bsc#1123034 bsc#1131304 bsc#1127988). Refresh patches.suse/scsi-qla2xxx-Use-get-put_unaligned-where-appropriate.patch and patches.suse/scsi-qla2xxx-Let-the-compiler-check-the-type-of-the-.patch to apply cleanly after this addition. - commit 3b46ec1- Refresh patches.suse/scsi-qla2xxx-Move-marker-request-behind-QPair.patch. Add a minor change from upstream merge commit 92fff53b7191. This is a trivial change; qla2x00_get_sp() would have set sp->fcport = fcport, so the two are equal. - commit bcfc6fb- Refresh patches.suse/scsi-qla2xxx-fix-driver-unload-by-shutting-down-chip.patch. There is a backport error in a102af629d1c, caused by the fact that this patch was added to series.conf before 2ce87cc5b269 ("qla2xxx: Fix memory corruption during hba reset test"). As a consequence, qla2x00_wait_for_sess_deletion() could be called too early. Refresh patches.suse/scsi-qla2xxx-Add-Device-ID-for-ISP28XX.patch. Amend the patch to apply cleanly after the previous commit. - commit 56f4ed1- blk-wbt: improve waking of tasks (bsc#1135873). - commit 9e35a90- blk-wbt: abstract out end IO completion handler (bsc#1135873). - commit 1db61d9- blk-wbt: fix has-sleeper queueing check (bsc#1135873). - commit 383cf45- blk-wbt: use wq_has_sleeper() for wq active check (bsc#1135873). - commit 993c392- blk-wbt: move disable check into get_limit() (bsc#1135873). - commit f764b20- blacklist.conf: b63f20a778c8 x86/retpoline: Don't clobber RFLAGS during CALL_NOSPEC on i386 A 32-bit fix. - commit d1fbc8b- atm: iphase: Fix Spectre v1 vulnerability (networking-stable-19_08_08). - net: bridge: mcast: don't delete permanent entries when fast leave is enabled (networking-stable-19_08_08). - net: fix ifindex collision during namespace removal (networking-stable-19_08_08). - mvpp2: refactor MTU change code (networking-stable-19_08_08). - net: bridge: delete local fdb on device init failure (networking-stable-19_08_08). - net: sched: Fix a possible null-pointer dereference in dequeue_func() (networking-stable-19_08_08). - net/mlx5e: Prevent encap flow counter update async to user query (networking-stable-19_08_08). - net/mlx5: Use reversed order when unregister devices (networking-stable-19_08_08). - ip6_tunnel: fix possible use-after-free on xmit (networking-stable-19_08_08). - bnx2x: Disable multi-cos feature (networking-stable-19_08_08). - ife: error out when nla attributes are empty (networking-stable-19_08_08). - commit cc74b59- pNFS/flexfiles: Turn off soft RPC calls (git-fixes). - NFS: Ensure O_DIRECT reports an error if the bytes read/written is 0 (git-fixes). - NFSv4/pnfs: Fix a page lock leak in nfs_pageio_resend() (git-fixes). - NFS: Fix regression whereby fscache errors are appearing on 'nofsc' mounts (git-fixes). - NFSv4: Fix an Oops in nfs4_do_setattr (git-fixes). - NFSv4: Fix a potential sleep while atomic in nfs4_do_reclaim() (git-fixes). - NFSv4: Check the return value of update_open_stateid() (git-fixes). - NFSv4.1: Only reap expired delegations (git-fixes). - NFSv4.1: Fix open stateid recovery (git-fixes). - NFSv4: Fix delegation state recovery (git-fixes). - pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error (git-fixes). - NFSv4: Handle the special Linux file open access mode (git-fixes). - NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter (git-fixes). - SUNRPC fix regression in umount of a secure mount (git-fixes). - SUNRPC/nfs: Fix return value for nfs4_callback_compound() (git-fixes). - NFS4: Fix v4.0 client state corruption when mount (git-fixes). - PNFS fallback to MDS if no deviceid found (git-fixes). - NFS: Don't interrupt file writeout due to fatal errors (git-fixes). - nfsd: Don't release the callback slot unless it was actually held (git-fixes). - NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family (git-fixes). - NFSv4: Fix lookup revalidate of regular files (git-fixes). - NFS: Refactor nfs_lookup_revalidate() (git-fixes). - NFS: Don't open code clearing of delegation state (git-fixes). - NFSv4: Only pass the delegation to setattr if we're sending a truncate (git-fixes). - NFSv4: Fix OPEN / CLOSE race (git-fixes). - commit c801fd8- Update patches.suse/powerpc-powernv-Return-for-invalid-IMC-domain.patch (bsc#1054914, fate#322448, git-fixes). - commit 75ee7f9- x86/CPU/AMD: Clear RDRAND CPUID bit on AMD family 15h/16h (bsc#1114279). - commit 0822f0e- powerpc/powernv/ioda2: Allocate TCE table levels on demand for default DMA window (bsc#1061840). - commit 7aed3d9- Btrfs: fix use-after-free when using the tree modification log (bsc#1151891). - commit 8c9d1a1- kABI: media: em28xx: fix handler for vidioc_s_input() (bsc#1051510). fixes kABI - commit d681754- kABI: media: em28xx: stop rewriting device's struct (bsc#1051510). fixes kABI - commit efcb30a- scsi: qla2xxx: Update driver version to 10.01.00.19-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix stale session (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix stuck login session (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix driver reload for ISP82xx (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix flash read for Qlogic ISPs (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix message indicating vectors used by driver (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: fix spelling mistake "initializatin" -> "initialization" (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix a recently introduced kernel warning (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: cleanup trace buffer initialization (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: qla2x00_alloc_fw_dump: set ha->eft (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix a NULL pointer dereference (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Simplify qla24xx_async_abort_cmd() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove two superfluous if-tests (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Introduce qla2x00_els_dcmd2_free() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Inline the qla2x00_fcport_event_handler() function (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Report invalid mailbox status codes (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove superfluous sts_entry_* casts (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Let the compiler check the type of the SCSI command context pointer (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Complain if sp->done() is not called from the completion path (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Make sure that aborted commands are freed (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Introduce qla2xxx_get_next_handle() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Modify NVMe include directives (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Make qlt_handle_abts_completion() more robust (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix a race condition between aborting and completing a SCSI command (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Introduce the function qla2xxx_init_sp() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Enable type checking for the SRB free and done callback functions (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Rework key encoding in qlt_find_host_by_d_id() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Set the responder mode if appropriate for ELS pass-through IOCBs (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Make it explicit that ELS pass-through IOCBs use little endian (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Check secondary image if reading the primary image fails (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Change the return type of qla24xx_read_flash_data() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst IDs (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Complain if a soft reset fails (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use memcpy() and strlcpy() instead of strcpy() and strncpy() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Check the PCI info string output buffer size (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Complain if waiting for pending commands times out (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Declare fourth qla2x00_set_model_info() argument const (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Suppress multiple Coverity complaint about out-of-bounds accesses (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Suppress a Coveritiy complaint about integer overflow (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove unreachable code from qla83xx_idc_lock() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix qla24xx_process_bidir_cmd() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Simplify a debug statement (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove dead code (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Complain if parsing the version string fails (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Complain if a mailbox command times out (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use strlcpy() instead of strncpy() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Do not corrupt vha->plogi_ack_list (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Report the firmware status code if a mailbox command fails (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix session lookup in qlt_abort_work() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Simplify qla24xx_abort_sp_done() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove two superfluous tests (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove a superfluous pointer check (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Simplify qlt_lport_dump() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Reduce the number of casts in GID list code (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Verify locking assumptions at runtime (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Change data_dsd into an array (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Declare qla_tgt_cmd.cdb const (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Reduce the scope of three local variables in qla2xxx_queuecommand() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into void (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Declare the fourth ql_dump_buffer() argument const (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove a superfluous forward declaration (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove an include directive from qla_mr.c (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Include the header file from qla_dsd.h (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use tabs instead of spaces for indentation (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Improve Linux kernel coding style conformance (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Really fix qla2xxx_eh_abort() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Make qla2x00_abort_srb() again decrease the sp reference count (bsc#1123034 bsc#1131304 bsc#1127988). - qla2xxx: kABI fixes for v10.01.00.18-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Update driver version to 10.01.00.18-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Allow NVMe IO to resume with short cable pull (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix hang in fcport delete path (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use common update-firmware-options routine for ISP27xx+ (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix NVMe port discovery after a short device port loss (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Correct error handling during initialization failures (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Retry fabric Scan on IOCB queue full (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix premature timer expiration (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix Relogin to prevent modifying scan_state flag (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Reject EH_{abort|device_reset|target_request} (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Skip FW dump on LOOP initialization error (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use Correct index for Q-Pair array (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix abort timeout race condition (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix different size DMA Alloc/Unmap (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix DMA unmap leak (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Replace vmalloc + memset with vzalloc (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove unnecessary null check (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: move IO flush to the front of NVME rport unregistration (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix NVME cmd and LS cmd timeout race condition (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: on session delete, return nvme cmd (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix kernel crash after disconnecting NVMe devices (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: remove double assignment in qla2x00_update_fcport (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix hardlockup in abort command during driver remove (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Avoid that lockdep complains about unsafe locking in tcm_qla2xxx_close_session() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix hardirq-unsafe locking (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Complain loudly about reference count underflow (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use __le64 instead of uint32_t for sending DMA addresses to firmware (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Introduce the dsd32 and dsd64 data structures (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Check the size of firmware data structures at compile time (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Pass little-endian values to the firmware (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix race conditions in the code for aborting SCSI commands (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use an on-stack completion in qla24xx_control_vp() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Make qla24xx_async_abort_cmd() static (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove unnecessary locking from the target code (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove qla_tgt_cmd.released (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Complain if a command is released that is owned by the firmware (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: target: Fix offline port handling and host reset handling (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Simplify qlt_send_term_imm_notif() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix use-after-free issues in qla2xxx_qpair_sp_free_dma() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix a qla24xx_enable_msix() error path (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Avoid that qla2x00_mem_free() crashes if called twice (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Make qla2x00_mem_free() easier to verify (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Increase the size of the mailbox arrays from 4 to 8 (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Log the status code if a firmware command fails (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Avoid that Coverity complains about dereferencing a NULL rport pointer (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove the fcport test from qla_nvme_abort_work() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Uninline qla2x00_init_timer() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move qla2x00_is_reserved_id() from qla_inline.h into qla_init.c (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move qla2x00_clear_loop_id() from qla_inline.h into qla_init.c (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove a set-but-not-used variable (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Declare qla2x00_find_new_loop_id() static (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move qla2x00_set_reserved_loop_ids() definition (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Silence Successful ELS IOCB message (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix read offset in qla24xx_load_risc_flash() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move qla2x00_set_fcport_state() from a .h into a .c file (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove two superfluous casts (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove qla_tgt_cmd.data_work and qla_tgt_cmd.data_work_free (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move the include directive (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Declare qla24xx_build_scsi_crc_2_iocbs() static (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move the port_state_str definition from a .h to a .c file (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Insert spaces where required (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix formatting of pointer types (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Leave a blank line after declarations (bsc#1123034 bsc#1131304 bsc#1127988). - Refresh patches.suse/qla2xxx-Enable-T10-DIF-with-FC-NVMe-enabled.patch - scsi: qla2xxx: Use tabs to indent code (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: scsi_transport_fc: nvme: display FC-NVMe port roles (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: tcm_qla2xxx: Minimize #include directives (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Unregister resources in the opposite order of the registration order (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use get/put_unaligned where appropriate (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Make qla2x00_process_response_queue() easier to read (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Reduce the number of forward declarations (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Declare local symbols static (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use ARRAY_SIZE() in the definition of QLA_LAST_SPEED (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove a comment that refers to the SCSI host lock (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: fix spelling mistake "alredy" -> "already" (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove useless set memory to zero use memset() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Update driver version to 10.01.00.16-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Change abort wait_loop from msleep to wait_event_timeout (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix driver unload when FC-NVMe LUNs are connected (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Cleanup redundant qla2x00_abort_all_cmds during unload (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Set remote port devloss timeout to 0 (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Cleanup fcport memory to prevent leak (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use mutex protection during qla2x00_sysfs_read_fw_dump() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix fw dump corruption (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Further limit FLASH region write access from SysFS (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Increase the max_sgl_segments to 1024 (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Set the qpair in SRB to NULL when SRB is released (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Set the SCSI command result before calling the command done (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Simplify conditional check again (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix a small typo in qla_bsg.c (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix comment alignment in qla_bsg.c (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Update driver version to 10.01.00.15-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Secure flash update support for ISP28XX (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add 28xx flash primary/secondary status/image mechanism (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Simplification of register address used in qla_tmpl.c (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Correction and improvement to fwdt processing (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Update flash read/write routine (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add support for multiple fwdump templates/segments (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Cleanups for NVRAM/Flash read/write path (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Correctly report max/min supported speeds (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add Serdes support for ISP28XX (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add Device ID for ISP28XX (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix routine qla27xx_dump_{mpi|ram}() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Remove FW default template (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add fw_attr and port_no SysFS node (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix NULL pointer crash due to stale CPUID (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: check for kstrtol() failure (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: avoid printf format warning (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Avoid PCI IRQ affinity mapping when multiqueue is not supported (bsc#1123034 bsc#1131304 bsc#1127988). - Refresh patches.suse/qla2xxx-allow-irqbalance-control-in-non-MQ-mode.patch - scsi: qla2xxx: Update driver version to 10.00.00.14-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add new FW dump template entry types (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix code indentation for qla27xx_fwdt_entry (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move marker request behind QPair (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Prevent SysFS access when chip is down (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add support for setting port speed (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Prevent multiple ADISC commands per session (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Check for FW started flag before aborting (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix unload when NVMe devices are configured (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add First Burst support for FC-NVMe devices (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: remove redundant null check on pointer sess (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Move debug messages before sending srb preventing panic (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Update driver version to 10.00.00.13-k (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Use complete switch scan for RSCN events (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix fw options handle eh_bus_reset() (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Restore FAWWPN of Physical Port only for loop down (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Prevent memory leak for CT req/rsp allocation (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix SRB allocation flag to avoid sleeping in IRQ context (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: allow session delete to finish before create (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: fix fcport null pointer access (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: flush IO on chip reset or sess delete (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix session cleanup hang (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Change default ZIO threshold (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add pci function reset support (bsc#1123034 bsc#1131304 bsc#1127988). - Refresh patches.suse/scsi-qla2xxx-Add-cleanup-for-PCI-EEH-recovery.patch - scsi: qla2xxx: no need to check return value of debugfs_create functions (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix DMA error when the DIF sg buffer crosses 4GB boundary (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Add protection mask module parameters (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: Fix panic from use after free in qla2x00_async_tm_cmd (bsc#1123034 bsc#1131304 bsc#1127988). - scsi: qla2xxx: deadlock by configfs_depend_item (bsc#1123034 bsc#1131304 bsc#1127988). - commit 891f737- Remove patches.kabi/kABI-fixes-for-qla2xxx-Fix-inconsistent-DMA-mem-allo.patch The qla2xxx driver has been whitelisted by 1d5e8aad6de2 ("kabi/severities: ignore qla2xxx as all symbols are internal") - commit 6ab8ff8- Refresh patches.suse/null_blk-wire-up-timeouts.patch. - commit 0488e25- block: fix timeout changes for legacy request drivers (bsc#1149446). - null_blk: complete requests from ->timeout (bsc#1149446). - null_blk: wire up timeouts (bsc#1149446). - commit 1c7642d- nvme: fix multipath crash when ANA is deactivated (bsc#1149446). - nvme-rdma: fix a NULL deref when an admin connect times out (bsc#1149446). - nvme-rdma: fix timeout handler (bsc#1149446). - nvme-rdma: centralize admin/io queue teardown sequence (bsc#1142076). - nvme-rdma: centralize controller setup sequence (bsc#1142076). - nvme-rdma: unquiesce queues when deleting the controller (bsc#1142076). - nvme-rdma: support up to 4 segments of inline data (bsc#1142076). - nvme-rdma: Allow DELETING state change failure in (bsc#1104967,FATE#325924). - commit d93d360- libiscsi: don't try to bypass SCSI EH (bsc#1142076). - scsi_transport_fc: complete requests from ->timeout (bsc#1142076). - commit ffe813a- nvme: return BLK_EH_DONE from ->timeout (bsc#1142076). - commit 09d3f8f- block: kABI fixes for BLK_EH_DONE renaming (bsc#1142076). - block: rename BLK_EH_NOT_HANDLED to BLK_EH_DONE (bsc#1142076). - Refresh patches.suse/s390-sles15-dasd-fix-deadlock-in-dasd_times_out.patch. - commit 2d28590- md/raid6: Set R5_ReadError when there is read failure on parity disk (git-fixes). - commit ccb3493- md: don't report active array_state until after revalidate_disk() completes (git-fixes). - md: only call set_in_sync() when it is expected to succeed (git-fixes). - commit 7bcfc53- kabi/severities: Whitelist a couple of xive functions xive_cleanup_irq_data and xive_native_populate_irq_data are exported by the xive interupt controller driver and used by KVM. I don't expect any out-of-tree driver can sanely use these. - commit f7ed153- powerpc/64s/radix: Fix memory hotplug section page table creation (bsc#1065729). - commit e1331b1- powerpc/xmon: Fix opcode being uninitialized in print_insn_powerpc (bsc#1065729). - powerpc/64: Make sys_switch_endian() traceable (bsc#1065729). - commit 5877a4a- powerpc/bpf: use unsigned division instruction for 64-bit operations (bsc#1065729). - powerpc: bpf: Fix generation of load/store DW instructions (bsc#1065729). - commit 08d29de- powerpc/pseries: Fix cpu_hotplug_lock acquisition in resize_hpt() (bsc#1065729). - commit 9071fce- powerpc/xive: Implement get_irqchip_state method for XIVE to fix shutdown race (bsc#1065729). - commit 378f7a9- powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning (bsc#1148868). - commit 2b40c83- tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts (bsc#1082555). - commit a6234e6- powerpc/64s/radix: Fix memory hot-unplug page table split (bsc#1065729). - KVM: PPC: Book3S: Fix incorrect guest-to-user-translation error handling (bsc#1061840). - powerpc/powernv/ioda: Fix race in TCE level allocation (bsc#1061840). - KVM: PPC: Book3S HV: Don't lose pending doorbell request on migration on P9 (bsc#1061840). - KVM: PPC: Book3S HV: Check for MMU ready on piggybacked virtual cores (bsc#1061840). - KVM: PPC: Book3S HV: Don't push XIVE context when not using XIVE device (bsc#1061840). - KVM: PPC: Book3S HV: Fix race in re-enabling XIVE escalation interrupts (bsc#1061840). - KVM: PPC: Book3S HV: XIVE: Free escalation interrupts before disabling the VP (bsc#1061840). - KVM: PPC: Book3S HV: Handle virtual mode in XIVE VCPU push code (bsc#1061840). - commit bd15b15- slip: make slhc_free() silently accept an error pointer (bsc#1051510). - slip: sl_alloc(): remove unused parameter "dev_t line" (bsc#1051510). - commit af4b048- drivers: thermal: int340x_thermal: Fix sysfs race condition (bsc#1051510). - commit 0d5c18e- USB: usbcore: Fix slab-out-of-bounds bug during device reset (bsc#1051510). - commit 78a6126- media: ov6650: Move v4l2_clk_get() to ov6650_video_probe() helper (bsc#1051510). - commit 8e4fc49- media: mc-device.c: don't memset __user pointer contents (bsc#1051510). - commit dcb05a3- media: vb2: Fix videobuf2 to map correct area (bsc#1051510). - commit 59e953d- media: tm6000: double free if usb disconnect while streaming (bsc#1051510). - commit 186de44- libertas_tf: Use correct channel range in lbtf_geo_init (bsc#1051510). - commit 6e3091e- gpio: Move gpiochip_lock/unlock_as_irq to gpio/driver.h (bsc#1051510). - commit 1b0ac8e- gpio: fix line flag validation in lineevent_create (bsc#1051510). - gpio: fix line flag validation in linehandle_create (bsc#1051510). - commit 4140de0- gpiolib: only check line handle flags once (bsc#1051510). - Refresh patches.suse/gpioib-do-not-free-unrequested-descriptors. - commit 741767a- clk: at91: fix update bit maps on CFG_MOR write (bsc#1051510). - clk: sunxi-ng: v3s: add missing clock slices for MMC2 module clocks (bsc#1051510). - clk: sunxi-ng: v3s: add the missing PLL_DDR1 (bsc#1051510). - commit 5f13c10- iommu/dma: Fix for dereferencing before null checking (bsc#1151667). - commit 8f846ef- sky2: Disable MSI on yet another ASUS boards (P6Xxxx) (bsc#1051510). - commit b478556- r8152: Set memory to all 0xFFs on failed reg reads (bsc#1051510). - commit 6a3c2b7- power: reset: gpio-restart: Fix typo when gpio reset is not found (bsc#1051510). - power: supply: Init device wakeup after device_add() (bsc#1051510). - commit d9a28d6- phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current (bsc#1051510). - commit 8fe4116- Revert "mwifiex: fix system hang problem after resume" (bsc#1051510). - commit 82c939e- mtd: spi-nor: Fix Cadence QSPI RCU Schedule Stall (bsc#1051510). - commit 3703ea0- media: technisat-usb2: break out of loop at end of buffer (bsc#1051510). - commit fbd5a3c- isdn/capi: check message length in capi_write() (bsc#1051510). - commit 405ba39- bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA (bsc#1051510). - commit bc4252b- blk-mq: Fix memory leak in blk_mq_init_allocated_queue error handling (bsc#1151610). - commit cc60339- Refresh sorted patches. - Refresh patches.suse/powerpc-dump-kernel-log-before-carrying-out-fadump-o.patch with upstrem status. - commit f6a052e- video: ssd1307fb: Start page range at page_offset (bsc#1113722) - commit 70abc1f- drm/imx: Drop unused imx-ipuv3-crtc.o build (bsc#1113722) - commit dc547ac- drm/i915: Fix various tracepoints for gen2 (bsc#1113722) - commit b7723c4- xen-netfront: do not assume sk_buff_head list is empty in error handling (bsc#1065600). - commit 4343701- media: Revert "[media] marvell-ccic: reset ccic phy when stop streaming for stability" (bsc#1051510). - commit 84e25e7- media: marvell-ccic: don't generate EOF on parallel bus (bsc#1051510). - commit 966c34c- nfsd: degraded slot-count more gracefully as allocation nears exhaustion (bsc#1150381). - nfsd: handle drc over-allocation gracefully (bsc#1150381). - nfsd: Fix overflow causing non-working mounts on 1 TB machines (bsc#1150381). - nfsd: fix performance-limiting session calculation (bsc#1150381). - nfsd: give out fewer session slots as limit approaches (bsc#1150381). - nfsd: increase DRC cache limit (bsc#1150381). - commit 1a96b8c- git-sort: add nfsd maintainers git tree This allows git-sort to handle patches queued for nfsd. - commit ec6f7e4- Remove unused function in patches.suse/ext4-unsupported-features.patch. - commit b2f6d95- media: ov6650: Fix sensor possibly not detected on probe (bsc#1051510). - commit 2a23bd0- Update patches.suse/tracing-Fix-crash-when-it-fails-to-alloc-ring-buffer.patch (bsc#1120097 CVE-2017-18595 bsc#1149555). - Update patches.suse/tracing-Fix-possible-double-free-on-failure-of-alloc.patch (bsc#1120214 CVE-2017-18595 bsc#1149555). - commit 6040815- blk-mq: kABI fixes for blk-mq.h (bsc#1137959). - commit fd2ff8e- blk-mq: insert rq with DONTPREP to hctx dispatch list when requeue (bsc#1137959). - commit 8b3257c- blk-mq: punt failed direct issue to dispatch list (bsc#1137959). - commit d9cd2bd- blk-mq: don't allocate driver tag upfront for flush rq (bsc#1137959). - Refresh patches.suse/blk-mq-remove-synchronize_rcu-from-blk_mq_del_queue_.patch. - commit 8e2a4fd- blk-mq: move blk_mq_put_driver_tag*() into blk-mq.h (bsc#1137959). - Refresh patches.suse/blk-mq-fix-sysfs-inflight-counter.patch. - commit 7e431dd- blk-mq-sched: decide how to handle flush rq via RQF_FLUSH_SEQ (bsc#1137959). - Refresh patches.suse/blk-mq-remove-synchronize_rcu-from-blk_mq_del_queue_.patch. - commit 67e1414- blk-flush: use blk_mq_request_bypass_insert() (bsc#1137959). - commit 16dda6f- Update patches.suse/ext4-unsupported-features.patch (fate#317919, SLE-8615, bsc#1149651, SLE-9243). - commit 9348c99- blk-flush: don't run queue for requests bypassing flush (bsc#1137959). - blk-mq: put the driver tag of nxt rq before first one is requeued (bsc#1137959). - commit c4843ab- Update patches.suse/Bluetooth-Align-minimum-encryption-key-size-for-LE-a.patch (bsc#1051510 CVE-2019-9506 bsc#1137865 bsc#1146042). - Update patches.suse/Bluetooth-Fix-faulty-expression-for-minimum-encrypti.patch (bsc#1140328 CVE-2019-9506 bsc#1137865 bsc#1146042). - Update patches.suse/Bluetooth-Fix-regression-with-minimum-encryption-key.patch (bsc#1135556 CVE-2019-9506 bsc#1137865 bsc#1146042). - Update patch reference for Bluetooth security issue (CVE-2019-9506, bsc#1137865, bsc#1146042) - commit 1bb9cd5- nvme: remove ns sibling before clearing path (bsc#1140155). - commit b24c3f9- media: replace strcpy() by strscpy() (bsc#1051510). - commit 8f592a3- ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init (bsc#1051510). - nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (bsc#1051510). - mac80211: minstrel_ht: fix per-group max throughput rate initialization (bsc#1051510). - crypto: cavium/zip - Add missing single_release() (bsc#1051510). - crypto: skcipher - Unmap pages after an external error (bsc#1051510). - crypto: caam - free resources in case caam_rng registration failed (bsc#1051510). - crypto: caam - fix concurrency issue in givencrypt descriptor (bsc#1051510). - crypto: qat - Silence smp_processor_id() warning (bsc#1051510). - crypto: ccp - Reduce maximum stack usage (bsc#1051510). - mic: avoid statically declaring a 'struct device' (bsc#1051510). - iio: dac: ad5380: fix incorrect assignment to val (bsc#1051510). - gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist (bsc#1051510). - Input: elan_i2c - remove Lenovo Legion Y7000 PnpID (bsc#1051510). - commit 278f999- media: em28xx: stop rewriting device's struct (bsc#1051510). - commit 6488bc5- media: em28xx: fix handler for vidioc_s_input() (bsc#1051510). - commit dde40de- ACPI / property: Fix acpi_graph_get_remote_endpoint() name in kerneldoc (bsc#1051510). - ACPI / PCI: fix acpi_pci_irq_enable() memory leak (bsc#1051510). - ACPI: custom_method: fix memory leaks (bsc#1051510). - PM: sleep: Fix possible overflow in pm_system_cancel_wakeup() (bsc#1051510). - dmaengine: iop-adma.c: fix printk format warning (bsc#1051510). - dmaengine: dw: platform: Switch to acpi_dma_controller_register() (bsc#1051510). - leds: trigger: gpio: GPIO 0 is valid (bsc#1051510). - leds: leds-lp5562 allow firmware files up to the maximum length (bsc#1051510). - media: atmel: atmel-isi: fix timeout value for stop streaming (bsc#1051510). - media: fdp1: Reduce FCP not found message level to debug (bsc#1051510). - media: dib0700: fix link error for dibx000_i2c_set_speed (bsc#1051510). - platform/x86: pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI table (bsc#1051510). - regulator: lm363x: Fix off-by-one n_voltages for lm3632 ldo_vpos/ldo_vneg (bsc#1051510). - hwmon: (shtc1) fix shtc1 and shtw1 id mask (bsc#1051510). - hwmon: (lm75) Fix write operations for negative temperatures (bsc#1051510). - commit cf741d5- nvme-rdma: stop admin queue before freeing it (bsc#1140155). - Refresh patches.suse/nvme-rdma-fix-possible-free-of-a-non-allocated-async.patch. - commit 0b513fe- Move the nvme upstreamed patch into sorted section - commit 1cced01- Modify the patch description not to confuse our scripts The patch patches.suse/revert-scsi-ufs-disable-vccq-if-it-s-not-needed-by-ufs-device contained the patch conflict markers in its description and this confused some scripts. Slightly modify (add a space) to avoid the confusion. - commit c1c1b4a- Refresh the upstreamed mwifiex security fix, move to sorted section - commit bd90eae- ASoC: wm8988: fix typo in wm8988_right_line_controls (bsc#1051510). - ASoC: sun4i-i2s: RX and TX counter registers are swapped (bsc#1051510). - ASoC: Intel: Baytrail: Fix implicit fallthrough warning (bsc#1051510). - ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls (bsc#1051510). - ASoC: es8328: Fix copy-paste error in es8328_right_line_controls (bsc#1051510). - ALSA: aoa: onyx: always initialize register read value (bsc#1051510). - ALSA: firewire-tascam: check intermediate state of clock status and retry (bsc#1051510). - ALSA: firewire-tascam: handle error code when getting current source of clock (bsc#1051510). - commit 7a3274e- kABI workaround for drm_vma_offset_node readonly field addition (bsc#1135967) - commit 8bb57b9- drm/i915/gen8+: Add RC6 CTX corruption WA (bsc#1135967) - commit f01634b- drm/i915: Lower RM timeout to avoid DSI hard hangs (bsc#1135967) - commit c64904e- drm/i915/cmdparser: Ignore Length operands during command matching (bsc#1135967) - commit 3a4e6a4- drm/i915/cmdparser: Add support for backward jumps (bsc#1135967) - commit 4abed7e- drm/i915/cmdparser: Use explicit goto for error paths (bsc#1135967) - commit da16d0a- drm/i915: Add gen9 BCS cmdparsing (bsc#1135967) - commit 90ae3b8- drm/i915: Allow parsing of unsized batches (bsc#1135967) - commit aaf4f10- drm/i915: Support ro ppgtt mapped cmdparser shadow buffers (bsc#1135967) - commit 2bdfa85- drm/i915: Add support for mandatory cmdparsing (bsc#1135967) - commit 033078a- drm/i915: Remove Master tables from cmdparser - commit c877551- drm/i915: Disable Secure Batches for gen6+ - commit 497557f- drm/i915: Rename gen7 cmdparser tables (bsc#1135967) - commit 008726c- drm/i915: Prevent writing into a read-only object via a GGTT mmap (bsc#1135967) - commit 2c9f94f- drm/i915/gtt: Disable read-only support under GVT (bsc#1135967) - commit 24c09bd- drm/i915/gtt: Read-only pages for insert_entries on bdw (bsc#1135967) - commit a403fd0- drm/i915/gtt: Add read only pages to gen8_pte_encode (bsc#1135967) - commit 1ef139e- bonding/802.3ad: fix slave link initialization transition states (bsc#1137069 bsc#1141013). - bonding/802.3ad: fix link_failure_count tracking (bsc#1137069 bsc#1141013). - bonding: set default miimon value for non-arp modes if not set (bsc#1137069 bsc#1141013). - bonding: speed/duplex update at NETDEV_UP event (bsc#1137069 bsc#1141013). - commit df6116d- vhost: make sure log_num < in_num (bsc#1150112,CVE-2019-14835). - commit b68beb0- drm/i915: Restore relaxed padding (OCL_OOB_SUPPRES_ENABLE) for skl+ (bsc#1142635) - commit 700d2e9- nvmem: Use the same permissions for eeprom as for nvmem (git-fixes). - eeprom: at24: make spd world-readable again (git-fixes). - commit 8b5e393- Btrfs: do not abort transaction at btrfs_update_root() after failure to COW path (bsc#1150933). - commit 7ea9d0d- Btrfs: fix assertion failure during fsync and use of stale transaction (bsc#1150562). - commit 25aef77- Update tags of upstreamed ibmvnic patches - commit 8a435ac- secure boot lockdown: Fix-up backport of /dev/mem access restriction The upstream-submitted patch set has evolved over time, align our patches (contents and description) to reflect the current status as far as /dev/mem access is concerned. - commit 6ab83e9- Move patches.suse/KVM-X86-Reduce-the-overhead-when-lapic_timer_advance.patch into the sorted section. - commit 52c3d4c- iommu/amd: Fix race in increase_address_space() (bsc#1150860). - iommu/amd: Flush old domains in kdump kernel (bsc#1150861). - commit be77ff3- blacklist.conf: blacklist 73df167c819e s390/zcrypt: remove the exporting of ap_query_configuration - commit 7e43372- Revert "Bluetooth: validate BLE connection interval updates" (bsc#1051510). - commit b690434- blacklist.conf: Add reverted drm/i915 entries - commit 506d5fa- powerpc/powernv: Flush console before platform error reboot (bsc#1149940 ltc#179958). - Refresh patches.suse/powerpc-pseries-Flush-SLB-contents-on-SLB-MCE-errors.patch. - Refresh patches.suse/powerpc-64s-consolidate-MCE-counter-increment.patch. - commit a8b84bd- powerpc/powernv: Use kernel crash path for machine checks (bsc#1149940 ltc#179958). - Refresh patches.suse/powerpc-Deliver-SEGV-signal-on-pkey-violation.patch. - commit 41366ee- powerpc/pseries, ps3: panic flush kernel messages before halting system (bsc#1149940 ltc#179958). - powerpc/pseries: correctly track irq state in default idle (bsc#1150727 ltc#178925). - commit 6cbd692- KVM: X86: Reduce the overhead when lapic_timer_advance is disabled (bsc#1149083). - commit 004104f- Refresh patches.suse/0001-iwlwifi-fw-use-helper-to-determine-whether-to-dump-p.patch. - commit 09132ae- Add some qedf commits to blacklist file (bsc#1149976) - commit ad7f2e8- scsi: qedf: Update the version to 8.42.3.0 (bsc#1149976). - scsi: qedf: Fix race betwen fipvlan request and response path (bsc#1149976). - scsi: qedf: Use discovery list to traverse rports (bsc#1149976). - scsi: qedf: Decrease the LL2 MTU size to 2500 (bsc#1149976). - scsi: qedf: Check for module unloading bit before processing link update AEN (bsc#1149976). - scsi: qedf: Initiator fails to re-login to switch after link down (bsc#1149976). - scsi: qedf: Add debug information for unsolicited processing (bsc#1149976). - scsi: qedf: Add support for 20 Gbps speed (bsc#1149976). - scsi: qedf: Add shutdown callback handler (bsc#1149976). - scsi: qedf: Update module description string (bsc#1149976). - scsi: qedf: Stop sending fipvlan request on unload (bsc#1149976). - scsi: qedf: Print message during bailout conditions (bsc#1149976). - scsi: qedf: remove set but not used variables (bsc#1149976). - scsi: qedf: Update the driver version to 8.37.25.20 (bsc#1149976). - scsi: qedf: Check both the FCF and fabric ID before servicing clear virtual link (bsc#1149976). - scsi: qedf: Check for link state before processing LL2 packets and send fipvlan retries (bsc#1149976). - commit edee027- blacklist.conf: blacklist usb-c tcpm patch - commit cef523e- Update patches.suse/USB-yurex-Fix-protection-fault-after-device-removal.patch (bsc#1146361 CVE-2019-15216). - commit 9f9b329- x86/entry/64/compat: Fix stack switching for XEN PV (bsc#1108382). - commit 1230401- cifs: handle netapp error codes (bsc#1136261). - commit a4c55b8- Update patches.suse/fm10k-Fix-a-potential-NULL-pointer-dereference.patch (bsc#1051510 bsc#1149612 CVE-2019-15924). Added CVE number. - commit b01b6c4- blk-wbt: Avoid lock contention and thundering herd issue in wbt_wait (bsc#1141543). - commit 85c3f55- HID: cp2112: prevent sleeping function called from invalid context (bsc#1051510). - wimax/i2400m: fix a memory leak bug (bsc#1051510). - cx82310_eth: fix a memory leak bug (bsc#1051510). - Bluetooth: btqca: Add a short delay before downloading the NVM (bsc#1051510). - lan78xx: Fix memory leaks (bsc#1051510). - liquidio: add cleanup in octeon_setup_iq() (bsc#1051510). - spi: bcm2835aux: fix corruptions for longer spi transfers (bsc#1051510). - spi: bcm2835aux: remove dangerous uncontrolled read of fifo (bsc#1051510). - spi: bcm2835aux: unifying code between polling and interrupt driven code (bsc#1051510). - commit 5fea6f2- scsi: qedi: remove declaration of nvm_image from stack (git-fixes). - commit cf36782- Update patches.suse/0001-usb-usbmon-Read-text-within-supplied-buffer-size.patch (bsc#1150025 CVE-2019-9456). Added CVE - commit 7b005aa- Refresh patches.suse/0001-iwlwifi-dbg-split-iwl_fw_error_dump-to-two-functions.patch. Original backport was wrong, fw_error_dump used without allocation. - commit 703cfd3- blk-mq: backport fixes for blk_mq_complete_e_request_sync() (bsc#1145661). - commit a78db03- iwlwifi: fw: use helper to determine whether to dump paging (bsc#1106434). Patch needed to be adjusted, because our tree doesn't have the global variable IWL_FW_ERROR_DUMP_PAGING - commit 16bc427- nvme: cancel request synchronously (bsc#1145661). - blk-mq: introduce blk_mq_complete_request_sync() (bsc#1145661). - commit be2a321- iwlwifi: fix bad dma handling in page_mem dumping flow (bsc#1120902). - commit adbc3e6- powerpc: dump kernel log before carrying out fadump or kdump (bsc#1149940 ltc#179958). - commit c8bead4- Refresh patches with upstream status. - commit c8e87ea- Refresh patches.suse/nvme-multipath-fix-ana-log-nsid-lookup-when-nsid-is-.patch. - scripts/git_sort/git_sort.py: - commit 6256d05- nvme-multipath: relax ANA state check (bsc#1123105). - Delete patches.suse/nvme-schedule-requeue-whenever-a-LIVE-state-is-enter.patch. - commit b1415e9- nvme-fc: fix module unloads while lports still pending (bsc#1150033). - commit 0030228- net/ibmvnic: Fix missing { in __ibmvnic_reset (bsc#1149652 ltc#179635). - commit 602733d- net/ibmvnic: free reset work of removed device from queue (bsc#1149652 ltc#179635). - ibmvnic: Do not process reset during or after device removal (bsc#1149652 ltc#179635). - commit b05eda9- Update patches.suse/ceph-remove-request-from-waiting-list-before-unregister.patch (bsc#1148133 bsc#1138539). - commit 00e13f8- rpm/constraints.in: lower disk space required for ARM With a requirement of 35GB, only 2 slow workers are usable for ARM. Current aarch64 build requires 27G and armv6/7 requires 14G. Set requirements respectively to 30GB and 20GB. - commit f84c163- drm/i915: Don't deballoon unused ggtt drm_mm_node in linux guest (bsc#1142635) - commit 662cb21- scsi: sd: Quiesce warning if device does not report optimal I/O size (git-fixes). - commit 4d227c6- Revert patches.suse/0001-blk-wbt-Avoid-lock-contention-and-thundering-herd-is.patch (bsc#1141543) As we see stalls / crashes recently with the relevant code path, revert this patch tentatively. - commit c8f11b1- Add 3 not-needeed commits to blacklist.conf from git-fixes. - commit 735de86- scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled (git-fixes). - Refresh patches.suse/scsi-sr-wait-for-the-medium-to-become-ready.patch. - commit 9ec2045- scsi: virtio_scsi: don't send sc payload with tmfs (git-fixes). - commit be1c4bf- scsi: sd: Fix a race between closing an sd device and sd I/O (git-fixes). - commit 8f5e62e- scsi: sd: Optimal I/O size should be a multiple of physical block size (git-fixes). - scsi: cxlflash: Prevent deadlock when adapter probe fails (git-fixes). - scsi: sd: Fix cache_type_store() (git-fixes). - scsi: sd: Defer spinning up drive while SANITIZE is in progress (git-fixes). - scsi: sd_zbc: Fix potential memory leak (git-fixes). - scsi: bfa: convert to strlcpy/strlcat (git-fixes). - scsi: use dma_get_cache_alignment() as minimum DMA alignment (git-fixes). - scsi: ufs: fix wrong command type of UTRD for UFSHCI v2.1 (git-fixes). - commit deec538- powerpc/tm: Fix restoring FP/VMX facility incorrectly on interrupts (CVE-2019-15031 bsc#1149713). - powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction (CVE-2019-15030 bsc#1149713). - commit 0b51abd- keys: Fix missing null pointer check in request_key_auth_describe() (bsc#1051510). - commit 8fb27bb- watchdog: bcm2835_wdt: Fix module autoload (bsc#1051510). - watchdog: fix compile time error of pretimeout governors (bsc#1051510). - commit ded5db7- USB: storage: ums-realtek: Whitelist auto-delink support (bsc#1051510). - USB: storage: ums-realtek: Update module parameter description for auto_delink_en (bsc#1051510). - usb: host: ohci: fix a race condition between shutdown and irq (bsc#1051510). - usb-storage: Add new JMS567 revision to unusual_devs (bsc#1051510). - usb: chipidea: udc: don't do hardware access if gadget has stopped (bsc#1051510). - usb: host: fotg2: restart hcd after port reset (bsc#1051510). - usb: gadget: composite: Clear "suspended" on reset/disconnect (bsc#1051510). - commit ea861f6- mmc: core: Fix init of SD cards reporting an invalid VDD range (bsc#1051510). - commit c999d41- intel_th: pci: Add Tiger Lake support (bsc#1051510). - intel_th: pci: Add support for another Lewisburg PCH (bsc#1051510). - commit 7b5b3ce- i2c: piix4: Fix port selection for AMD Family 16h Model 30h (bsc#1051510). - i2c: emev2: avoid race when unregistering slave client (bsc#1051510). - commit 3807a4a- Revert "cfg80211: fix processing world regdomain when non modular" (bsc#1051510). - commit df69fa0- Drop an ASoC fix that was reverted in 4.14.y stable - commit 5dddfc0- Refresh patches.suse/crypto-ccp-Ignore-unconfigured-CCP-device-on-suspend.patch. - commit 23b4ba5- ACPICA: Increase total number of possible Owner IDs (bsc#1148859). - commit 4ee4651- ALSA: hda: kabi workaround for generic parser flag (bsc#1051510). - commit b9ae4e4- ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre (bsc#1051510). - ALSA: hda/realtek - Fix overridden device-specific initialization (bsc#1051510). - ALSA: hda - Fix potential endless loop at applying quirks (bsc#1051510). - commit 79578b1- blk-wbt: Avoid lock contention and thundering herd issue in wbt_wait (bsc#1141543). - commit a9a1f2a- Update patch reference for CIFS security issue (CVE-2019-15920, bsc#1149626) - commit a1da6e9- Update patch reference for netlink security issue (CVE-2019-15921, bsc#1149602) - commit 853f899- rsi: add fix for crash during assertions (CVE-2018-21008,bsc#1149591). - commit a7d4c26- Update patch reference for cifs security issue (CVE-2019-15919, bsc#1149552) - commit 2c7d41a- Update patch reference for BT security matter (CVE-2019-15917, bsc#1149539) - commit 8e349ee- Update patch references for ath6kl security matter (CVE-2019-15926, bsc#1149527) - commit d442f4a- Update patch reference for USB-audio security matter (CVE-2019-15927, bsc#1149522) - commit d55fe63- kvm/x86: Move MSR_IA32_ARCH_CAPABILITIES to array emulated_msrs (bsc#1134881 bsc#1134882). - commit 3ea1de5- Update config files. (bsc#1145687) Add the following kernel config to ARM64: CONFIG_ACPI_PCI_SLOT=y CONFIG_HOTPLUG_PCI_ACPI=y - commit 6cbb147- powerpc/xmon: Add a dump of all XIVE interrupts (bsc#1142019). - powerpc/xive: Fix dump of XIVE interrupt under pseries (bsc#1142019). - powerpc/xmon: Check for HV mode when dumping XIVE info from OPAL (bsc#1142019). - commit 8c4905a- ftrace: Check for successful allocation of hash (bsc#1149424). - commit 51371b7- Refresh patches.suse/supported-flag-wildcards: fix up references - commit 7db373b- ftrace: Check for empty hash and comment the race with registering probes (bsc#1149418). - commit b0a7e90- ftrace: Fix NULL pointer dereference in t_probe_next() (bsc#1149413). - commit 62b7991- VMCI: Release resource if the work is already queued (bsc#1051510). - commit cdeec63- USB: cdc-wdm: fix race between write and disconnect due to flag abuse (bsc#1051510). - usb: host: xhci: rcar: Fix typo in compatible string matching (bsc#1051510). - commit c194437- test_firmware: fix a memory leak bug (bsc#1051510). - commit 39763a7- scripts/decode_stacktrace.sh: prefix addr2line with $CROSS_COMPILE (bsc#1051510). - scripts/checkstack.pl: Fix arm64 wrong or unknown architecture (bsc#1051510). - scripts/gdb: fix lx-version string output (bsc#1051510). - scripts/decode_stacktrace: only strip base path when a prefix of the path (bsc#1051510). - commit de6197f- samples, bpf: fix to change the buffer size for read() (bsc#1051510). - samples: mei: use /dev/mei0 instead of /dev/mei (bsc#1051510). - rtc: pcf8523: don't return invalid date when battery is low (bsc#1051510). - commit d64864a- mmc: sdhci-of-at91: add quirk for broken HS200 (bsc#1051510). - mpls: fix warning with multi-label encap (bsc#1051510). - commit f180985- batman-adv: Only read OGM2 tvlv_len after buffer len check (bsc#1051510). - batman-adv: Only read OGM tvlv_len after buffer len check (bsc#1051510). - batman-adv: fix uninit-value in batadv_netlink_get_ifindex() (bsc#1051510). - mac80211: fix possible sta leak (bsc#1051510). - libata: add SG safety checks in SFF pio transfers (bsc#1051510). - libata: have ata_scsi_rw_xlat() fail invalid passthrough requests (bsc#1051510). - can: peak_usb: force the string buffer NULL-terminated (bsc#1051510). - can: sja1000: force the string buffer NULL-terminated (bsc#1051510). - isdn: hfcsusb: Fix mISDN driver crash caused by transfer buffer on the stack (bsc#1051510). - isdn: mISDN: hfcsusb: Fix possible null-pointer dereferences in start_isoc_chain() (bsc#1051510). - HID: hiddev: do cleanup in failure of opening a device (bsc#1051510). - HID: Add 044f:b320 ThrustMaster, Inc. 2 in 1 DT (bsc#1051510). - kconfig/[mn]conf: handle backspace (^H) key (bsc#1051510). - gpio: mxs: Get rid of external API call (bsc#1051510). - gpio: pxa: handle corner case of unprobed device (bsc#1051510). - i2c: qup: fixed releasing dma without flush operation completion (bsc#1051510). - commit 84a9af1- x86/ptrace: Fix possible spectre-v1 in ptrace_get_debugreg() (bnc#1149376, CVE-2019-15902). - commit b08113e- Btrfs: add one more sanity check for shared ref type (bsc#1149325). - Btrfs: remove BUG_ON in __add_tree_block (bsc#1149325). - Btrfs: remove BUG() in add_data_reference (bsc#1149325). - Btrfs: remove BUG() in print_extent_item (bsc#1149325). - Btrfs: remove BUG() in btrfs_extent_inline_ref_size (bsc#1149325). - Btrfs: convert to use btrfs_get_extent_inline_ref_type (bsc#1149325). - Btrfs: add a helper to retrive extent inline ref type (bsc#1149325). - commit cfb980a- mm/memcontrol.c: fix use after free in mem_cgroup_iter() (bsc#1149224, VM Functionality). - commit ac66c64- Fix patch tags (references, patch-mainline) for legacy patches so that now all patches.suse/* pass check-patchhdr tests - commit 192eaa2- powerpc/fadump: when fadump is supported register the fadump sysfs files (bsc#1146352). - commit 841a3ce- mm/vmscan.c: fix trying to reclaim unevictable LRU page (bsc#1149214, VM Functionality). - commit 6a7c2cb- iwlwifi: dbg: split iwl_fw_error_dump to two functions (bsc#1119086). - commit 1d624ef- blacklist.conf: blacklist several MM git-fixes suggestions, with reasons - commit 428ccb6- mm, page_owner: handle THP splits correctly (bsc#1149197, VM Debugging Functionality). - commit a83b4e4- ceph: hold i_ceph_lock when removing caps for freeing inode (bsc#1148133). - commit 629b4f4- Rename patches to the unified patches.suse directory To adapt the directory structure like master/stable/SLE15-SP2 branches. No code change by this action at all. - commit 7cc35ba- blacklist.conf: Add an entry for CVE that is needed only for SLE15-SP1+ - commit c68886c- ASoC: Fail card instantiation if DAI format setup fails (bsc#1051510). - commit a3eaad8- KVM: x86: Don't update RIP or do single-step on faulting emulation (bsc#1149104). - PCI: PM/ACPI: Refresh all stale power state data in pci_pm_complete() (bsc#1149106). - iommu/amd: Move iommu_init_pci() to .init section (bsc#1149105). - commit 17b069a- drm/nouveau: Don't retry infinitely when receiving no data on i2c (bsc#1142635) - commit 46e796d- drm/mediatek: mtk_drm_drv.c: Add of_node_put() before goto (bsc#1142635) - commit 98b8c4a- drm/mediatek: use correct device to import PRIME buffers (bsc#1142635) - commit 1e19002- blacklist.conf: Append 'drm/i915: Fix various tracepoints for gen2' - commit 38319ef- drm/i915: Fix wrong escape clock divisor init for GLK (bsc#1142635) - commit c80e12d- drm/rockchip: Suspend DP late (bsc#1142635) - commit 1089448- drm/i915/perf: ensure we keep a reference on the driver (bsc#1142635) - commit 7bd2cc2- gpu: ipu-v3: ipu-ic: Fix saturation bit offset in TPMEM (bsc#1142635) - commit 7ac15a8- drm/msm/mdp5: Fix mdp5_cfg_init error return (bsc#1142635) - commit b980f78- drm/imx: only send event on crtc disable if kept disabled (bsc#1135642) - commit b07f744- drm/imx: notify drm core before sending event during crtc disable (bsc#1135642) - commit 9612fe4- drm/etnaviv: add missing failure path to destroy suballoc (bsc#1135642) - commit 514d0e0- drm/vmwgfx: fix a warning due to missing dma_parms (bsc#1135642) - commit e42b762- drm/vmwgfx: Use the backdoor port if the HB port is not available (bsc#1135642) - commit ef3cc96- drm/mediatek: call mtk_dsi_stop() after mtk_drm_crtc_atomic_disable() (bsc#1135642) - commit eddd851- drm/mediatek: clear num_pipes when unbind driver (bsc#1135642) - commit 41d1d1c- drm/mediatek: call drm_atomic_helper_shutdown() when unbinding driver (bsc#1135642) - commit e1a36d5- drm/mediatek: unbind components in mtk_drm_unbind() (bsc#1135642) - commit a2c6951- drm/mediatek: fix unbind functions (bsc#1135642) - commit cab18d8- drm/amdgpu/psp: move psp version specific function pointers to (bsc#1135642) - commit 30a932b- drm/udl: move to embedding drm device inside udl device. (bsc#1113722) - commit d5b1803- drm/udl: introduce a macro to convert dev to udl. (bsc#1113722) - commit ecbbcc3- ipip: validate header length in ipip_tunnel_xmit (git-fixes). - commit 09a79ed- tcp: fix tcp_rtx_queue_tail in case of empty retransmit queue (CVE-2019-11477 bsc#1137586 bsc#1139751). - move core networking kabi patches to the end of the section - commit cc9fad9- xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink (CVE-2019-15666 bsc#1148394). - commit a9a90f0- xfs: don't trip over uninitialized buffer on extent read of corrupted inode (bsc#1149053). - commit c9da56d- octeon_mgmt: Fix MIX registers configuration on MTU setup (bsc#1051510). - commit eea7d06- phy: renesas: rcar-gen2: Fix memory leak at error paths (bsc#1051510). - phy: qcom-qusb2: Fix crash if nvmem cell not specified (bsc#1051510). - commit 9e7fa12- rpmsg: smd: fix memory leak on channel create (bsc#1051510). - rpmsg: smd: do not use mananged resources for endpoints and channels (bsc#1051510). - rpmsg: added MODULE_ALIAS for rpmsg_char (bsc#1051510). - commit d7c0ba2- rslib: Fix handling of of caller provided syndrome (bsc#1051510). - rslib: Fix decoding of shortened codes (bsc#1051510). - rsi: improve kernel thread handling to fix kernel panic (bsc#1051510). - commit c4cce46- st_nci_hci_connectivity_event_received: null check the allocation (bsc#1051510). - st21nfca_connectivity_event_received: null check the allocation (bsc#1051510). - commit ef2a23a- Add unneeded git-fixes patches to blacklist. - commit 32de733- scsi: sd: use mempool for discard special page (git-fixes). - commit cad43a5- NFS: Cleanup if nfs_match_client is interrupted (bsc#1134291). - NFS: Fix a double unlock from nfs_match,get_client (bsc#1134291). - NFS: make nfs_match_client killable (bsc#1134291). - commit 45fc7a3- scsi: ufs: Fix NULL pointer dereference in ufshcd_config_vreg_hpm() (git-fixes). - commit 65ae829- fix struct ufs_req removal of unused field (git-fixes). - Revert "scsi: ufs: disable vccq if it's not needed by UFS device" (git-fixes). - commit de6b9e1- scsi: cxlflash: Mark expected switch fall-throughs (bsc#1148868). - commit 6e0c73b- ibmveth: Convert multicast list size for little-endian system (bsc#1061843). - Refresh patches.suse/ibmveth-Update-ethtool-settings-to-reflect-virtual-p.patch. - commit 256fe94- Update patches.drivers/USB-sisusbvga-fix-oops-in-error-path-of-sisusb_probe.patch (bsc#1146524 CVE-2019-15219). Added CVE - commit 97dc108- scsi: esp_scsi: Track residual for PIO transfers (git-fixes) Also, mitigate kABI changes. - commit e73b6be- Revert "Do not enforce patch directories yet." Prepare to merge all patches to patches.suse. - commit b886694- blacklist.conf: Blacklist b5e02b484d6f - commit 4f11966- vfs: fix page locking deadlocks when deduping files (bsc#1148619). - commit d37851d- udf: Fix incorrect final NOT_ALLOCATED (hole) extent length (bsc#1148617). - commit 2b252d1- ext4: use jbd2_inode dirty range scoping (bsc#1148616). - commit 12b3b4c- jbd2: introduce jbd2_inode dirty range scoping (bsc#1148616). - commit 5432bdc- mm: add filemap_fdatawait_range_keep_errors() (bsc#1148616). - commit d4658a8- blacklist.conf: Blacklist 4e19d6b65fb4 - commit 5cf149d- blacklist.conf: Blacklist 2e5384036277 and 02b016ca7f99 - commit 69ccf52- blacklist.conf: add two commits suggested by git-fixes - commit e79e5d9- mm: do not stall register_shrinker() (bsc#1104902, VM Performance). - commit e53832c- mm: page_mapped: don't assume compound page is huge or THP (bsc#1148574, VM Functionality). - commit 7d7c483- mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings (CVE-2019-14814,bsc#1146512,CVE-2019-14815,bsc#1146514,CVE-2019-14816,bsc#1146516). - commit 3d20ec5- net: sched: verify that q!=NULL before setting q->flags (git-fixes). - net: Fix netdev_WARN_ONCE macro (git-fixes). - commit 824e4ec- mm/mlock.c: mlockall error for flag MCL_ONFAULT (bsc#1148527, VM Functionality). - commit e12a969- mm/mlock.c: change count_mm_mlocked_page_nr return type (bsc#1148527, VM Functionality). - commit 3830f43- rename patches according to their names in SLE15-SP1. - commit ee1f8f0- net: Introduce netdev_*_once functions (networking-stable-19_07_25). - commit 92e5672- carl9170: fix misuse of device driver API (bsc#1142635). - commit f2e9e8d- blacklist.conf: only logged messages - commit 7edba04- p54usb: Fix race between disconnect and firmware loading (bsc#1146526 CVE-2019-15220). - commit a52b2b6- netrom: hold sock when setting skb->destructor (networking-stable-19_07_25). - vrf: make sure skb->data contains ip header to make routing (networking-stable-19_07_25). - net: bcmgenet: use promisc for unsupported filters (networking-stable-19_07_25). - net_sched: unset TCQ_F_CAN_BYPASS when adding filters (networking-stable-19_07_25). - caif-hsi: fix possible deadlock in cfhsi_exit_module() (networking-stable-19_07_25). - net: neigh: fix multiple neigh timer scheduling (networking-stable-19_07_25). - net/mlx5e: IPoIB, Add error path in mlx5_rdma_setup_rn (networking-stable-19_07_25). - tcp: Reset bytes_acked and bytes_received when disconnecting (networking-stable-19_07_25). - bonding: validate ip header before check IPPROTO_IGMP (networking-stable-19_07_25). - rxrpc: Fix send on a connected, but unbound socket (networking-stable-19_07_25). - net: bridge: stp: don't cache eth dest pointer before skb pull (networking-stable-19_07_25). - net: bridge: mcast: fix stale ipv6 hdr pointer when handling v6 query (networking-stable-19_07_25). - net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling (networking-stable-19_07_25). - netrom: fix a memory leak in nr_rx_frame() (networking-stable-19_07_25). - ipv4: don't set IPv6 only flags to IPv4 addresses (networking-stable-19_07_25). - net: openvswitch: fix csum updates for MPLS actions (networking-stable-19_07_25). - net: dsa: mv88e6xxx: wait after reset deactivation (networking-stable-19_07_25). - bnx2x: Prevent ptp_task to be rescheduled indefinitely (networking-stable-19_07_25). - igmp: fix memory leak in igmpv3_del_delrec() (networking-stable-19_07_25). - net: make skb_dst_force return true when dst is refcounted (networking-stable-19_07_25). - commit e44b93f- powerpc/fsl: Update Spectre v2 reporting (bsc#1131107). - Refresh patches.arch/powerpc-security-Fix-spectre_v2-reporting.patch. - commit 4c5194e- powerpc/64s: support nospectre_v2 cmdline option (bsc#1131107). - commit 073289a- powerpc/security: Show powerpc_security_features in debugfs (bsc#1131107). - commit 1958fa2- powerpc/fsl: Add nospectre_v2 command line argument (bsc#1131107). - Refresh patches.arch/powerpc-speculation-support-mitigations-cmdline-option.patch. - commit 21aaf15- scsi: core: Fix race on creating sense cache (git-fixes). - scsi: libfc: fix null pointer dereference on a null lport (git-fixes). - scsi: megaraid_sas: Fix calculation of target ID (git-fixes). - scsi: mac_scsi: Fix pseudo DMA implementation, take 2 (git-fixes). - scsi: mac_scsi: Increase PIO/PDMA transfer length threshold (git-fixes). - scsi: NCR5380: Always re-enable reselection interrupt (git-fixes). - Revert "scsi: ncr5380: Increase register polling limit" (git-fixes). - scsi: ufs: Avoid runtime suspend possibly being blocked forever (git-fixes). - scsi: smartpqi: unlock on error in pqi_submit_raid_request_synchronous() (git-fixes). - scsi: ufs: Check that space was properly alloced in copy_query_response (git-fixes). - scsi: libsas: delete sas port if expander discover failed (git-fixes). - scsi: scsi_dh_alua: Fix possible null-ptr-deref (git-fixes). - scsi: bnx2fc: fix incorrect cast to u64 on shift operation (git-fixes). - scsi: qla2xxx: Avoid that qlt_send_resp_ctio() corrupts memory (git-fixes). - scsi: qla2xxx: Fix error handling in qlt_alloc_qfull_cmd() (git-fixes). - scsi: qla2xxx: Fix a format specifier (git-fixes). - scsi: qla2xxx: Update two source code comments (git-fixes). - scsi: ufs: Fix RX_TERMINATION_FORCE_ENABLE define value (git-fixes). - scsi: qla2xxx: Fix device staying in blocked state (git-fixes). - scsi: qedf: remove memset/memcpy to nfunc and use func instead (git-fixes). - scsi: qla2xxx: Unregister chrdev if module initialization fails (git-fixes). - scsi: qla4xxx: avoid freeing unallocated dma memory (git-fixes). - scsi: core: set result when the command cannot be dispatched (git-fixes). - scsi: aacraid: Fix performance issue on logical drives (git-fixes). - scsi: aacraid: Fix missing break in switch statement (git-fixes). - scsi: libsas: Fix rphy phy_identifier for PHYs with end devices attached (git-fixes). - scsi: aic94xx: fix module loading (git-fixes). - scsi: isci: initialize shost fully before calling scsi_add_host() (git-fixes). - scsi: core: Synchronize request queue PM status only on successful resume (git-fixes). - scsi: megaraid: fix out-of-bound array accesses (git-fixes). - scsi: bnx2fc: Fix NULL dereference in error handling (git-fixes). - scsi: raid_attrs: fix unused variable warning (git-fixes). - scsi: qla2xxx: Fix an endian bug in fcpcmd_is_corrupted() (git-fixes). - scsi: aic94xx: fix an error code in aic94xx_init() (git-fixes). - commit 4450608- scsi: fas216: fix sense buffer initialization (git-fixes). - commit d2f7d7c- ALSA: seq: Fix potential concurrent access to the deleted pool (bsc#1051510). - ALSA: line6: Fix memory leak at line6_init_pcm() error path (bsc#1051510). - commit 66bd261- Move upstreamed nvme fix into sorted section - commit ec1fcd6- mm/hotplug: fix offline undo_isolate_page_range() (bsc#1148196, VM Functionality). - commit 70a79d6- Move patches to the sorted section. - Refresh patches.arch/0001-x86-speculation-Prepare-entry-code-for-Spectre-v1-sw.patch. - Refresh patches.suse/x86-cpufeatures-Carve-out-CQM-features-retrieval.patch. - Refresh patches.suse/x86-cpufeatures-Combine-word-11-and-12-into-a-new-sc.patch. - Refresh patches.suse/x86-cpufeatures-Enumerate-the-new-AVX512-BFLOAT16-in.patch. - Refresh patches.suse/x86-topology-Add-CPUID.1F-multi-die-package-support.patch. - commit 7153216- mm/list_lru.c: fix memory leak in __memcg_init_list_lru_node (bsc#1148379, VM Functionality). - commit ca01c4e- Refresh patches.fixes/cifs-do-not-return-atime-less-than-mtime.patch. 4.12 doesn't have use timespec64 yet for inode [amc]time. - commit 4f84a09- mm/memory.c: recheck page table entry with page table lock held (bsc#1148363, VM Functionality). - commit 1bb3033- rpm: raise required disk space for binary packages Current disk space constraints (10 GB on s390x, 25 GB on other architectures) no longer suffice for 5.3 kernel builds. The statistics show ~30 GB of disk consumption on x86_64 and ~11 GB on s390x so raise the constraints to 35 GB in general and 14 GB on s390x. - commit 527cb66- blacklist.conf: add trivial entries for SLAB, SLUB, and bsc#1148303 comment 1 - commit fc0cecb- libceph: fix PG split vs OSD (re)connect race (bsc#1148133). - ceph: don't try fill file_lock on unsuccessful GETFILELOCK reply (bsc#1148133). - ceph: fix buffer free while holding i_ceph_lock in fill_inode() (bsc#1148133). - ceph: fix buffer free while holding i_ceph_lock in __ceph_build_xattrs_blob() (bsc#1148133). - ceph: fix buffer free while holding i_ceph_lock in __ceph_setxattr() (bsc#1148133). - libceph: allow ceph_buffer_put() to receive a NULL ceph_buffer (bsc#1148133). - commit b497133- dm table: fix invalid memory accesses with too high sector number (git fixes). - dm space map metadata: fix missing store of apply_bops() return value (git fixes). - dm btree: fix order of block initialization in btree_split_beneath (git fixes). - dm raid: add missing cleanup in raid_ctr() (git fixes). - dm zoned: fix potential NULL dereference in dmz_do_reclaim() (git fixes). - dm zoned: properly handle backing device failure (git fixes). - dm zoned: improve error handling in i/o map code (git fixes). - dm zoned: improve error handling in reclaim (git fixes). - dm kcopyd: always complete failed jobs (git fixes). - Revert "dm bufio: fix deadlock with loop device" (git fixes). - loop: set PF_MEMALLOC_NOIO for the worker thread (git fixes). - nbd: replace kill_bdev() with __invalidate_device() again (git fixes). - bcache: fix possible memory leak in bch_cached_dev_run() (git fixes). - dm zoned: fix zone state management race (git fixes). - dm bufio: fix deadlock with loop device (git fixes). - nilfs2: do not use unexported cpu_to_le32()/le32_to_cpu() in uapi header (git fixes). - block, documentation: Fix wbt_lat_usec documentation (git fixes). - dm log writes: make sure super sector log updates are written in order (git fixes). - blk-mq: Fix spelling in a source code comment (git fixes). - bio: fix improper use of smp_mb__before_atomic() (git fixes). - dm delay: fix a crash when invalid device is specified (git fixes). - dm cache metadata: Fix loading discard bitset (git fixes). - dm zoned: Fix zone report handling (git fixes). - dm zoned: Silence a static checker warning (git fixes). - include/linux/bitops.h: sanitize rotate primitives (git fixes). - md/raid: raid5 preserve the writeback action after the parity check (git fixes). - md: add mddev->pers to avoid potential NULL pointer dereference (git fixes). - smpboot: Place the __percpu annotation correctly (git fixes). - dm table: propagate BDI_CAP_STABLE_WRITES to fix sporadic checksum errors (git fixes). - dm: revert 8f50e358153d ("dm: limit the max bio size as BIO_MAX_PAGES * PAGE_SIZE") (git fixes). - dm integrity: change memcmp to strncmp in dm_integrity_ctr (git fixes). - dm integrity: limit the rate of error messages (git fixes). - dm: fix to_sector() for 32bit (git fixes). - devres: always use dev_name() in devm_ioremap_resource() (git fixes). - dm thin: fix bug where bio that overwrites thin block ignores FUA (git fixes). - dm crypt: don't overallocate the integrity tag space (git fixes). - dm thin: fix passdown_double_checking_shared_status() (git fixes). - dm crypt: fix parsing of extended IV arguments (git fixes). - kasan: remove redundant initialization of variable 'real_size' (git fixes). - commit 3ed4cbb- usb: gadget: udc: renesas_usb3: Fix sysfs interface of "role" (bsc#1142635). - commit f54d38c- ceph: remove request from waiting list before unregister (bsc#1148133). - ceph: don't blindly unregister session that is in opening state (bsc#1148133). - ceph: fix improper use of smp_mb__before_atomic() (bsc#1148133). - ceph: fix "ceph.dir.rctime" vxattr value (bsc#1148133 bsc#1135219). - ceph: silence a checker warning in mdsc_show() (bsc#1148133). - commit b097a5c- patches.fixes/block-Don-t-revalidate-bdev-of-hidden-gendisk.patch: Update patch metadata - commit 84d4ac0- patches.suse/mm-migrate-Fix-reference-check-race-between-__find_get_block-and-migration.patch: Update patch metadata. - commit a81cc2e- mm/hmm: fix bad subpage pointer in try_to_unmap_one (bsc#1148202, HMM, VM Functionality). - commit 00ab508- mm/migrate.c: initialize pud_entry in migrate_vma() (bsc#1148198, HMM, VM Functionality). - commit 69e9c3c- mm/page_alloc.c: fix calculation of pgdat->nr_zones (bsc#1148192, VM Functionality). - commit 1e427e5- crypto: ccp - Ignore unconfigured CCP device on suspend/resume (bnc#1145934). - commit 0c22d13- Update patches.fixes/xfs-fix-missing-ILOCK-unlock-when-xfs_setattr_nonsiz.patch (bsc#1148032, bsc#1148093, CVE-2019-15538). - commit ee9764b- Update reference for ath6kl fix (CVE-2019-15290,bsc#1146543). - commit 637ad3b- Fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe (CVE-2019-15098,bsc#1146378). - commit cdac0a6- nvme: introduce NVME_QUIRK_IGNORE_DEV_SUBNQN (bsc#1146938). - commit a84bc8e- tcp: reset sk_send_head in tcp_write_queue_purge (bsc#1146589 CVE-2019-15239). - commit 8e3f3fe- gpio: Fix build error of function redefinition (bsc#1051510). - gpiolib: never report open-drain/source lines as 'input' to user-space (bsc#1051510). - staging: comedi: dt3000: Fix rounding up of timer divisor (bsc#1051510). - staging: comedi: dt3000: Fix signed integer overflow 'divider * base' (bsc#1051510). - compat_ioctl: pppoe: fix PPPOEIOCSFWD handling (bsc#1051510). - coredump: split pipe command whitespace before expanding template (bsc#1051510). - can: m_can: implement errata "Needless activation of MRAF irq" (bsc#1051510). - can: mcp251x: add support for mcp25625 (bsc#1051510). - commit 5f9daf9- iio: adc: max9611: Fix temperature reading in probe (bsc#1051510). - USB: serial: option: add the BroadMobi BM818 card (bsc#1051510). - USB: serial: option: Add Motorola modem UARTs (bsc#1051510). - USB: serial: option: add D-Link DWM-222 device ID (bsc#1051510). - USB: serial: option: Add support for ZTE MF871A (bsc#1051510). - USB: core: Fix races in character device registration and deregistraion (bsc#1051510). - Input: iforce - add sanity checks (bsc#1051510). - Input: kbtab - sanity check for endpoint type (bsc#1051510). - net: usb: pegasus: fix improper read if get_registers() fail (bsc#1051510). - HID: hiddev: avoid opening a disconnected device (bsc#1051510). - HID: holtek: test for sanity of intfdata (bsc#1051510). - commit b2ad825- xfs: don't crash on null attr fork xfs_bmapi_read (bsc#1148035). - commit 527c60c- xfs: remove more ondisk directory corruption asserts (bsc#1148034). - commit 307da1f- fs: xfs: xfs_log: Don't use KM_MAYFAIL at xfs_log_reserve() (bsc#1148033). - commit 1bf8e6b- xfs: fix missing ILOCK unlock when xfs_setattr_nonsize fails due to EDQUOT (bsc#1148032). - commit 2c4862c- fs/xfs: Fix return code of xfs_break_leased_layouts() (bsc#1148031). - commit be52cec- Update config files: correct vanilla configs - commit f890c54- Delete patches.fixes/0001-CIFS-Fix-NULL-pointer-deref-on-SMB2_tcon-failure.patch. - Delete patches.fixes/0001-CIFS-dump-IPC-tcon-in-debug-proc-file.patch. - Delete patches.fixes/0001-CIFS-make-IPC-a-regular-tcon.patch. - Delete patches.fixes/0001-CIFS-use-tcon_ipc-instead-of-use_ipc-parameter-of-SM.patch. - Delete patches.fixes/0001-CIFS-zero-sensitive-data-when-freeing.patch. - Delete patches.fixes/0001-Fix-SMB3.1.1-guest-authentication-to-Samba.patch. - Delete patches.fixes/0001-Fix-encryption-labels-and-lengths-for-SMB3.1.1.patch. - Delete patches.fixes/0001-SMB-Validate-negotiate-to-protect-against-downgrade-.patch. - Delete patches.fixes/0001-SMB3-Don-t-ignore-O_SYNC-O_DSYNC-and-O_DIRECT-flags.patch. - Delete patches.fixes/0001-SMB3-Warn-user-if-trying-to-sign-connection-that-aut.patch. - Delete patches.fixes/0001-SMB3-handle-new-statx-fields.patch. - Delete patches.fixes/0001-cifs-Check-for-timeout-on-Negotiate-stage.patch. - Delete patches.fixes/0001-cifs-Fix-autonegotiate-security-settings-mismatch.patch. - Delete patches.fixes/0001-cifs-Fix-missing-put_xid-in-cifs_file_strict_mmap.patch. - Delete patches.fixes/0001-cifs-Fix-stack-out-of-bounds-in-smb-2-3-_create_leas.patch. - Delete patches.fixes/0001-cifs-Select-all-required-crypto-modules.patch. - Delete patches.fixes/0001-cifs-check-MaxPathNameComponentLength-0-before-using.patch. - Delete patches.fixes/0001-cifs-check-kmalloc-before-use.patch. - Delete patches.fixes/0001-cifs-check-rsp-for-NULL-before-dereferencing-in-SMB2.patch. - Delete patches.fixes/0001-cifs-fix-NULL-deref-in-SMB2_read.patch. - Delete patches.fixes/0001-cifs-release-auth_key.response-for-reconnect.patch. - Delete patches.fixes/0001-cifs-release-cifs-root_cred-after-exit_cifs.patch. - Delete patches.fixes/0001-cifs-store-the-leaseKey-in-the-fid-on-SMB2_open.patch. - Delete patches.fixes/CIFS-511c54a2f69195b28afb9dd119f03787b1625bb4-adds-a-check-for-sess.patch. - Delete patches.fixes/CIFS-Do-not-count-ENODATA-as-failure-for-query-direc.patch. - Delete patches.fixes/CIFS-Do-not-hide-EINTR-after-sending-network-packets.patch. - Delete patches.fixes/CIFS-Do-not-reconnect-TCP-session-in-add_credits.patch. - Delete patches.fixes/CIFS-Do-not-reset-lease-state-to-NONE-on-lease-break.patch. - Delete patches.fixes/CIFS-Fix-adjustment-of-credits-for-MTU-requests.patch. - Delete patches.fixes/CIFS-Fix-credit-calculation-for-encrypted-reads-with.patch. - Delete patches.fixes/CIFS-Fix-credits-calculations-for-reads-with-errors.patch. - Delete patches.fixes/CIFS-Fix-error-mapping-for-SMB2_LOCK-command-which-c.patch. - Delete patches.fixes/CIFS-Fix-possible-hang-during-async-MTU-reads-and-wr.patch. - Delete patches.fixes/CIFS-Fix-read-after-write-for-files-with-read-cachin.patch. - Delete patches.fixes/CIFS-add-sha512-secmech.patch. - Delete patches.fixes/CIFS-don-t-log-STATUS_NOT_FOUND-errors-for-DFS.patch. - Delete patches.fixes/CIFS-fix-POSIX-lock-leak-and-invalid-ptr-deref.patch. - Delete patches.fixes/CIFS-fix-circular-locking-dependency.patch. - Delete patches.fixes/CIFS-fix-sha512-check-in-cifs_crypto_secmech_release.patch. - Delete patches.fixes/CIFS-fix-wrapping-bugs-in-num_entries.patch. - Delete patches.fixes/CIFS-implement-v3.11-preauth-integrity.patch. - Delete patches.fixes/CIFS-keep-FileInfo-handle-live-during-oplock-break.patch. - Delete patches.fixes/CIFS-make-nodfs-mount-opt-a-superblock-flag.patch. - Delete patches.fixes/CIFS-refactor-crypto-shash-sdesc-allocation-free.patch. - Delete patches.fixes/SMB-fix-leak-of-validate-negotiate-info-response-buf.patch. - Delete patches.fixes/SMB-fix-validate-negotiate-info-uninitialised-memory.patch. - Delete patches.fixes/SMB3-Add-support-for-multidialect-negotiate-SMB2.1-a.patch. - Delete patches.fixes/SMB3-Backup-intent-flag-missing-for-directory-opens-.patch. - Delete patches.fixes/SMB3-Enable-encryption-for-SMB3.1.1.patch. - Delete patches.fixes/SMB3-Fix-3.11-encryption-to-Windows-and-handle-encry.patch. - Delete patches.fixes/SMB3-Fix-SMB3.1.1-guest-mounts-to-Samba.patch. - Delete patches.fixes/SMB3-Fix-endian-warning.patch. - Delete patches.fixes/SMB3-Fix-length-checking-of-SMB3.11-negotiate-reques.patch. - Delete patches.fixes/SMB3-Improve-security-move-default-dialect-to-SMB3-f.patch. - Delete patches.fixes/SMB3-Remove-ifdef-since-SMB3-and-later-now-STRONGLY-.patch. - Delete patches.fixes/SMB3-Validate-negotiate-request-must-always-be-signe.patch. - Delete patches.fixes/SMB3.1.1-dialect-is-no-longer-experimental.patch. - Delete patches.fixes/SMB311-Fix-reconnect.patch. - Delete patches.fixes/SMB311-Improve-checking-of-negotiate-security-contex.patch. - Delete patches.fixes/cifs-Add-support-for-reading-attributes-on-SMB2.patch. - Delete patches.fixes/cifs-Add-support-for-writing-attributes-on-SMB2.patch. - Delete patches.fixes/cifs-Do-not-modify-mid-entry-after-submitting-I-O-in.patch. - Delete patches.fixes/cifs-Don-t-log-confusing-message-on-reconnect-by-default.patch. - Delete patches.fixes/cifs-Don-t-log-expected-error-on-DFS-referral-request.patch. - Delete patches.fixes/cifs-Fix-infinite-loop-when-using-hard-mount-.patch. - Delete patches.fixes/cifs-Fix-memory-leak-in-smb2_set_ea.patch. - Delete patches.fixes/cifs-Fix-potential-OOB-access-of-lock-element-array.patch. - Delete patches.fixes/cifs-Fix-separator-when-building-path-from-dentry.patch. - Delete patches.fixes/cifs-Fix-use-after-free-of-a-mid_q_entry.patch. - Delete patches.fixes/cifs-For-SMB2-security-informaion-query-check-for-mi.patch. - Delete patches.fixes/cifs-OFD-locks-do-not-conflict-with-eachothers.patch. - Delete patches.fixes/cifs-Tree-connect-for-SMB3.1.1-must-be-signed-for-non-enc.patch. - Delete patches.fixes/cifs-Use-ULL-suffix-for-64-bit-constant.patch. - Delete patches.fixes/cifs-Use-smb-2-3-and-cifsacl-mount-options-getacl-fu.patch. - Delete patches.fixes/cifs-Use-smb-2-3-and-cifsacl-mount-options-setacl-fu.patch. - Delete patches.fixes/cifs-add-missing-debug-entries-for-kconfig-options.patch. - Delete patches.fixes/cifs-add-missing-support-for-ACLs-in-SMB-3.11.patch. - Delete patches.fixes/cifs-allow-guest-mounts-to-work-for-smb3.11.patch. - Delete patches.fixes/cifs-connect-to-servername-instead-of-IP-for-IPC-sha.patch. - Delete patches.fixes/cifs-do-not-allow-creating-sockets-except-with-SMB1-posix-exensions.patch. - Delete patches.fixes/cifs-don-t-dereference-smb_file_target-before-null-c.patch. - Delete patches.fixes/cifs-fix-memory-leak-in-SMB2_open-.patch. - Delete patches.fixes/cifs-fix-return-value-for-cifs_listxattr.patch. - Delete patches.fixes/cifs-hide-unused-functions.patch. - Delete patches.fixes/cifs-integer-overflow-in-in-SMB2_ioctl.patch. - Delete patches.fixes/cifs-invalidate-cache-when-we-truncate-a-file.patch. - Delete patches.fixes/cifs-prevent-integer-overflow-in-nxt_dir_entry.patch. - Delete patches.fixes/cifs-prototype-declaration-and-definition-for-smb-2-.patch. - Delete patches.fixes/cifs-prototype-declaration-and-definition-to-set-acl.patch. - Delete patches.fixes/cifs-silence-compiler-warnings-showing-up-with-gcc-8.patch. - Delete patches.fixes/cifs-smb2ops-Fix-listxattr-when-there-are-no-EAs.patch. - Delete patches.fixes/cifs-xattr-hide-unused-functions.patch. - Delete patches.fixes/fix-smb3-encryption-breakage-when-CONFIG_DEBUG_SG-y.patch. - Delete patches.fixes/fs-cifs-require-sha512.patch. - Delete patches.fixes/smb2-fix-missing-files-in-root-share-directory-listing.patch. - Delete patches.fixes/smb3-Do-not-send-SMB3-SET_INFO-if-nothing-changed.patch. - Delete patches.fixes/smb3-Fix-root-directory-when-server-returns-inode-nu.patch. - Delete patches.fixes/smb3-allow-stats-which-track-session-and-share-recon.patch. - Delete patches.fixes/smb3-check-for-and-properly-advertise-directory-leas.patch. - Delete patches.fixes/smb3-directory-sync-should-not-return-an-error.patch. - Delete patches.fixes/smb3-do-not-attempt-cifs-operation-in-smb3-query-inf.patch. - Delete patches.fixes/smb3-don-t-request-leases-in-symlink-creation-and-qu.patch. - Delete patches.fixes/smb3-enumerating-snapshots-was-leaving-part-of-the-d.patch. - Delete patches.fixes/smb3-fill-in-statfs-fsid-and-correct-namelen.patch. - Delete patches.fixes/smb3-fix-reset-of-bytes-read-and-written-stats.patch. - Delete patches.fixes/smb3-fix-various-xid-leaks.patch. - Delete patches.fixes/smb3-on-kerberos-mount-if-server-doesn-t-specify-aut.patch. - Delete patches.fixes/smb3-on-reconnect-set-PreviousSessionId-field.patch. - Delete patches.fixes/smb3-remove-noisy-warning-message-on-mount.patch. - Delete patches.fixes/smb3-simplify-code-by-removing-CONFIG_CIFS_SMB311.patch. - Delete patches.suse/cifs-Always-resolve-hostname-before-reconnecting.patch. - Delete patches.suse/cifs-Fix-NULL-pointer-dereference-of-devname.patch. - Delete patches.suse/cifs-fix-set-info.patch. - Update config files. - commit e581c26- Update patches.fixes/MD-fix-invalid-stored-role-for-a-disk-try2.patch (bsc#1143765). - commit 34aad22- scsi: qla2xxx: Add cleanup for PCI EEH recovery (bsc#1129424). - commit c414f17- nvme-core: Fix extra device_put() call on error path (bsc#1142541). - commit d0ca8a3- nvme: change locking for the per-subsystem controller list (bsc#1142541). - Refresh patches.fixes/nvme-fix-memory-leak-caused-by-incorrect-subsystem-free.patch. - commit 5145006- rpm/kernel-binary.spec.in: Fix kernel-livepatch description typo. - commit 36acf91- Pull packaging cleanup from mkubecek. - Parametrize kgraft vs livepatch. - commit 16f6816- rpm/config.sh: Enable livepatch. - commit 6387718- x86/unwind: Add hardcoded ORC entry for NULL (bsc#1114279). - commit 7b43378- Update patches.drivers/USB-rio500-fix-memory-leak-in-close-after-disconnect.patch (bsc#1051510 bsc#1146391 CVE-2019-15212). - Update patches.drivers/USB-rio500-refuse-more-than-one-device-at-a-time.patch (bsc#1051510 bsc#1146391 CVE-2019-15212). Added CVE number - commit 26c322a- Update patch tag for an already backported fix (CVE-2019-15292,bsc#1146678) - commit 3fb5876- media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in zr364xx_vidioc_querycap (CVE-2019-15217,bsc#1146547). - commit 0cafaf1- media: radio-raremono: change devm_k*alloc to k*alloc (CVE-2019-15211,bsc#1146519). - commit 418ad9b- powerpc/rtas: use device model APIs and serialization during LPM (bsc#1144123 ltc#178840). - commit 9cbdd0c- Yet another patch tag update for security fix (CVE-2019-15214,bsc#1146550) - commit 9d5b64b- Update patch tags for already present securiy fixes (CVE-2019-15221,bsc#1146529,CVE-2019-15222,bsc#1146531) - commit a8305b2- blacklist.conf: a9d57ef15cbe x86/retpolines: Disable switch jump tables when retpolines are enabled - commit afa99a4- x86/unwind: Handle NULL pointer calls better in frame unwinder (bsc#1114279). - commit f3e381b- ceph: clean up ceph.dir.pin vxattr name sizeof() (bsc#1146346). - ceph: support getting ceph.dir.pin vxattr (bsc#1146346). - ceph: support versioned reply (bsc#1146346). - ceph: decode feature bits in session message (bsc#1146346). - ceph: support cephfs' own feature bits (bsc#1146346). - ceph: always get rstat from auth mds (bsc#1146346). - ceph: use bit flags to define vxattr attributes (bsc#1146346). - commit 3b8d335- nvme-multipath: fix ana log nsid lookup when nsid is not found (bsc#1141554). - commit 1d6ec2f- nvme: Return BLK_STS_TARGET if the DNR bit is set (bsc#1142076). - commit c4afaf4- libnvdimm/pfn: Store correct value of npfns in namespace superblock (bsc#1146381 ltc#180720). - commit e703307- powerpc: Allow flush_(inval_)dcache_range to work across ranges >4GB (bsc#1146575 ltc#180764). - commit 1af9ac2- Update patches.drivers/media-usb-siano-Fix-general-protection-fault-in-smsu.patch (bsc#1051510 bsc#1146413 CVE-2019-15218). Added CVE number - commit 7715a12- Update patches.fixes/0001-media-cpia2_usb-first-wake-up-then-free-in-disconnec.patch (bsc#1135642 bsc#1146425 CVE-2019-15215). Added CVE number - commit b8d5415- HID: wacom: correct misreported EKR ring values (bsc#1142635). - commit fff2c8e- HID: wacom: Correct distance scale for 2nd-gen Intuos devices (bsc#1142635). - commit 938b6bc- blacklist.conf: ce02ef06fcf7 x86, retpolines: Raise limit for generating indirect calls from switch-case - commit 58b4712- blacklist.conf: Add 33da8e7c814f ("signal: Allow cifs and drbd to receive their terminating signals") - commit 7cf0c17- scsi: qedi: remove memset/memcpy to nfunc and use func instead (bsc#1146399 CVE-2019-15090). - commit 6174892- ibmvnic: Unmap DMA address of TX descriptor buffers after use (bsc#1146351 ltc#180726). - commit 3b35ec5- powerpc/fadump: use kstrtoint to handle sysfs store (bsc#1146376). - Refresh patches.arch/powerpc-fadump-re-register-firmware-assisted-dump-if.patch. - commit f2d2536- USB: CDC: fix sanity checks in CDC union parser (bsc#1142635). - commit ea8f734- usb: cdc-acm: make sure a refcount is taken early enough (bsc#1142635). - commit f73861c- xfs: clear sb->s_fs_info on mount failure (bsc#1146285, CVE-2018-20976). - commit 8cdb4f1- nvme-multipath: revalidate nvme_ns_head gendisk in nvme_validate_ns (bsc#1120876). - commit 40c0bfb- blacklist.conf: Remove the backported entry for i2c-core - commit a2925e1- i2c: core-smbus: prevent stack corruption on read I2C_BLOCK_DATA (CVE-2017-18551,bsc#1146163). - commit 8a3a796- iommu/dma: Handle SG length overflow better (bsc#1146084). - commit aa7828b- KVM: x86: fix backward migration with async_PF (bsc#1146074). - commit 1780c7c- blacklist.conf: Add a CVE entry that is valid only for SLE15-SP1+ - commit 1dc95cb- blacklist.conf: Add invalid btrfs commits - commit e2305c6- iio: adc: max9611: Fix misuse of GENMASK macro (bsc#1051510). - usb: usbfs: fix double-free of usb memory upon submiturb error (bsc#1051510). - Input: synaptics - enable RMI mode for HP Spectre X360 (bsc#1051510). - mac80211: don't WARN on short WMM parameters from AP (bsc#1051510). - HID: sony: Fix race condition between rumble and device remove (bsc#1051510). - mac80211: don't warn about CW params when not using them (bsc#1051510). - drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl (bsc#1051510). - commit ad7168f- crypto: ccp - Validate buffer lengths for copy operations (bsc#1051510). - Refresh patches.fixes/crypto-ccp-Fix-3DES-complaint-from-ccp-crypto-module.patch. - Refresh patches.fixes/crypto-ccp-gcm-use-const-time-tag-comparison.patch. - commit ad0fc3d- crypto: ccp - Add support for valid authsize values less than 16 (bsc#1051510). - drm: silence variable 'conn' set but not used (bsc#1051510). - commit e51846e- ALSA: hda - Add a generic reboot_notify (bsc#1051510). - ALSA: hda - Let all conexant codec enter D3 when rebooting (bsc#1051510). - ALSA: hda - Fix a memory leak bug (bsc#1051510). - ALSA: hda - Apply workaround for another AMD chip 1022:1487 (bsc#1051510). - commit 5a16838- Refresh patches.suse/btrfs-add-missing-inode-version-ctime-and-mtime-upda.patch. - commit caa1588- ALSA: usb-audio: Fix a stack buffer overflow bug in check_input_term (CVE-2019-15118,bsc#1145922). - ALSA: usb-audio: Fix an OOB bug in parse_audio_mixer_unit (CVE-2019-15117,bsc#1145920). - commit c68760f- Btrfs: fix fsync not persisting dentry deletions due to inode evictions (bsc#1145942). - commit 2b9288a- Btrfs: fix data loss after inode eviction, renaming it, and fsync it (bsc#1145941). - commit 94c1da3- Btrfs: fix incremental send failure after deduplication (bsc#1145940). - commit e44b16e- Btrfs: fix race leading to fs corruption after transaction abort (bsc#1145937). - commit fc04aaf- Btrfs: add missing inode version, ctime and mtime updates when punching hole (bsc#1140487). - commit 7426909- SMB3: Kernel oops mounting a encryptData share with CONFIG_DEBUG_VIRTUAL (bsc#1144333). - commit 87dae80- smb3: send CAP_DFS capability during session setup (bsc#1144333). - commit 0280850- SMB3: Fix potential memory leak when processing compound chain (bsc#1144333). - commit 6f104b1- SMB3: Fix deadlock in validate negotiate hits reconnect (bsc#1144333). - commit 0d88c19- cifs: fix rmmod regression in cifs.ko caused by force_sig changes (bsc#1144333). - commit 76f5281- x86/speculation/mds: Apply more accurate check on hypervisor platform (bsc#1114279). - commit 8a1df40- x86/boot: Fix memory leak in default_get_smp_config() (bsc#1114279). - commit 648370e- cpu/speculation: Warn on unsupported mitigations= parameter (bsc#1114279). - commit a78bef0- x86/speculation: Allow guests to use SSBD even if host does not (bsc#1114279). - commit 66db1d6- xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force clears the dst_entry (bsc#1143300). - xfrm: Fix bucket count reported to userspace (bsc#1143300). - xfrm: Fix error return code in xfrm_output_one() (bsc#1143300). - xfrm: Fix NULL pointer dereference when skb_dst_force clears the dst_entry (bsc#1143300). - commit 8597a81- IB/mlx5: Fix MR registration flow to use UMR properly (bsc#1093205 bsc#1145678). - net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command (bsc#1145678). - commit 6ffe96c- xfs: fix semicolon.cocci warnings (bsc#1145235). - commit acbefc7- xfs: eliminate duplicate icreate tx reservation functions (bsc#1145235). - xfs: refactor inode chunk alloc/free tx reservation (bsc#1145235). - xfs: include an allocfree res for inobt modifications (bsc#1145235). - xfs: truncate transaction does not modify the inobt (bsc#1145235). - xfs: fix up agi unlinked list reservations (bsc#1145235). - xfs: include inobt buffers in ifree tx log reservation (bsc#1145235). - xfs: print transaction log reservation on overrun (bsc#1145235). - commit 82d0f2c- NFS: Fix the inode request accounting when pages have subrequests (bsc#1140012). - commit ff722c4- xfs: dump transaction usage details on log reservation overrun (bsc#1145235). - xfs: refactor xlog_cil_insert_items() to facilitate transaction dump (bsc#1145235). - xfs: separate shutdown from ticket reservation print helper (bsc#1145235). - commit 2eb4a53- Rename patch to same nam as in SLE15 SP1. - commit ee7b95e- KVM: LAPIC: Fix pending interrupt in IRR blocked by software disable LAPIC (bsc#1145408). - KVM: x86: degrade WARN to pr_warn_ratelimited (bsc#1145409). - commit 653821c- Fix kABI after KVM fixes - commit 14d35d2- KVM: Fix leak vCPU's VMCS value into other pCPU (bsc#1145388). - KVM: nVMX: do not use dangling shadow VMCS after guest reset (bsc#1145390). - KVM: x86/vPMU: refine kvm_pmu err msg when event creation failed (bsc#1145397). - KVM: x86: Unconditionally enable irqs in guest context (bsc#1145396). - kvm: nVMX: Remove unnecessary sync_roots from handle_invept (bsc#1145391). - KVM: nVMX: allow setting the VMFUNC controls MSR (bsc#1145389). - KVM: VMX: check CPUID before allowing read/write of IA32_XSS (bsc#1145394). - KVM: nVMX: Use adjusted pin controls for vmcs02 (bsc#1145392). - KVM: VMX: Always signal #GP on WRMSR to MSR_IA32_CR_PAT with bad value (bsc#1145393). - KVM: VMX: Fix handling of #MC that occurs during VM-Entry (bsc#1145395). - commit 6dd2efc- mfd: intel-lpss: Add Intel Comet Lake PCI IDs (jsc#SLE-4875). - mmc: sdhci-pci: Add support for Intel CML (jsc#SLE-4875). - mmc: sdhci-pci: Add support for Intel ICP (jsc#SLE-4875). - commit 24d868c- rpm/mkspec: Correct tarball URL for rc kernels. - commit c4ef18d- powerpc/perf: Add constraints for power9 l2/l3 bus events (bsc#1056686). - powerpc/perf: Cleanup cache_sel bits comment (bsc#1056686). - powerpc/perf: Update perf_regs structure to include SIER (bsc#1056686). - powerpc/perf: Fix thresholding counter data for unknown type (bsc#1056686). - commit 97adfd9- KVM: PPC: Book3S HV: Fix CR0 setting in TM emulation (bsc#1061840). - powerpc/powernv: Return for invalid IMC domain (bsc1054914, fate#322448, git-fixes). - powerpc/book3s/64: check for NULL pointer in pgd_alloc() (FATE#322447, bsc#1078248, git-fixes). - powerpc/perf: Remove PM_BR_CMPL_ALT from power9 event list (fate#321438, bsc#1047238, bsc#1056686). - commit ddac941- blacklist.conf: Add unnecessary powerpc commits. 5564597d51c8 powerpc: Fix COFF zImage booting on old powermacs fe60522ec600 powerpc/function_graph: Simplify with function_graph_enter() 73aca179d78e powerpc/modules: Fix crashes by adding CONFIG_RELOCATABLE to vermagic 8adddf349fda powerpc/mm/radix: Make Radix require HUGETLB_PAGE 3e3ebed3fef4 powerpc/lib: only build ldstfp.o when CONFIG_PPC_FPU is set d065ee93aab6 powerpc: drop unused GENERIC_CSUM Kconfig item 2b874a5c7b75 powerpc/configs: Don't enable PPC_EARLY_DEBUG in defconfigs - commit 7a3e64c- powerpc/mm: Handle page table allocation failures (bsc#1065729). - powerpc/64s: Include cpu header (bsc#1065729). - powerpc/pseries: add missing cpumask.h include file (bsc#1065729). - powerpc/powernv/opal-dump : Use IRQ_HANDLED instead of numbers in interrupt handler (bsc#1065729). - powerpc/lib: Fix feature fixup test of external branch (bsc#1065729). - commit e10f278- tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations (bsc#1082555). - tpm: Fix off-by-one when reading binary_bios_measurements (bsc#1082555). - tpm/tpm_i2c_atmel: Return -E2BIG when the transfer is incomplete (bsc#1082555). - tpm: Unify the send callback behaviour (bsc#1082555). - tpm: vtpm_proxy: Suppress error logging when in closed state (bsc#1082555). - commit b4884c0- Move the driver core glue dir fix patch into sorted section - commit 891c859- PCI: Restore Resizable BAR size bits correctly for 1MB BARs (bsc#1143841). - commit 82f85e6- qede: fix write to free'd pointer error and double free of ptp (bsc#1051510). - commit eded727- regulator: qcom_spmi: Fix math of spmi_regulator_set_voltage_time_sel (bsc#1051510). - commit e34e318- sis900: fix TX completion (bsc#1051510). - commit 935ad98- watchdog: f71808e_wdt: fix F81866 bit operation (bsc#1051510). - watchdog: core: fix null pointer dereference when releasing cdev (bsc#1051510). - commit c5d723e- Update kabi files: import from 4.12.14-lp150.12.70.1 - commit 6e67e01- Update kabi files: import from 4.12.14-150.32.1 - commit 60ce7e4- ehea: Fix a copy-paste err in ehea_init_port_res (bsc#1051510). - commit 0935127- objtool: Add rewind_stack_do_exit() to the noreturn list (bsc#1145302). - commit 40ff441- objtool: Support GCC 9 cold subfunction naming scheme (bsc#1145300). - Refresh patches.suse/objtool-fix-segfault-in-cold-detection-with-ffunction-sections.patch. - commit 43e6529- blacklist.conf: 684fb246578b ("objtool: Add machine_real_restart() to the noreturn list") Not needed. Clang fix. Moreover CONFIG_CC_OPTIMIZE_FOR_SIZE is disabled on x86. - commit ecb73ea- s390/dasd: fix endless loop after read unit address configuration (bsc#1144912 LTC#179907). - commit e9df314- powerpc/xive: Fix loop exit-condition in xive_find_target_in_mask() (FATE#322438, bsc#1085030, bsc#1145189, LTC#179762). - commit b010257- blacklist.conf: Add CVE entry only needed for SLE15-SP1+. - commit e10899c- usb: iowarrior: fix deadlock on disconnect (bsc#1051510). - usb: yurex: Fix use-after-free in yurex_delete (bsc#1051510). - usb: host: xhci-rcar: Fix timeout in xhci_suspend() (bsc#1051510). - drm/vmwgfx: fix memory leak when too many retries have occurred (bsc#1051510). - mmc: cavium: Add the missing dma unmap when the dma has finished (bsc#1051510). - mmc: cavium: Set the correct dma max segment size for mmc_host (bsc#1051510). - crypto: ccp - Ignore tag length when decrypting GCM ciphertext (bsc#1051510). - crypto: ccp - Fix oops by properly managing allocated structures (bsc#1051510). - hwmon: (nct7802) Fix wrong detection of in4 presence (bsc#1051510). - iwlwifi: mvm: fix an out-of-bound access (bsc#1051510). - iwlwifi: don't unmap as page memory that was mapped as single (bsc#1051510). - HID: Add quirk for HP X1200 PIXART OEM mouse (bsc#1051510). - gpio: gpio-omap: add check for off wake capable gpios (bsc#1051510). - fsl/fman: Use GFP_ATOMIC in {memac,tgec}_add_hash_mac_address() (bsc#1051510). - commit ac68b04- ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks (bsc#1051510). - commit e7114cb- ALSA: firewire: fix a memory leak bug (bsc#1051510). - sound: fix a memory leak bug (bsc#1051510). - ALSA: hda - Workaround for crackled sound on AMD controller (1022:1457) (bsc#1051510). - ALSA: hiface: fix multiple memory leak bugs (bsc#1051510). - ALSA: hda - Don't override global PCM hw info flag (bsc#1051510). - commit c7a724d- Rename patches to same name as SLE15-SP1. - commit 99bb37a- sched/fair: Don't free p->numa_faults with concurrent readers (bsc#1144920). - sched/fair: Use RCU accessors consistently for ->numa_group (bsc#1144920). - Refresh patches.kabi/sched-numa-Remove-redundant-field-kabi.patch. - commit 4a868ba- rpm/config.sh: Enable building DTBs. - commit efa0808- rpm/mkspec: Make building DTBs optional. - commit 7c057c8- Revert i915 userptr page lock patch (bsc#1145051) This patch potentially causes a deadlock between kcompactd, as reported on 5.3-rc3. Revert it until a proper fix is found. - commit a0f837d- Revert "net: ena: ethtool: add extra properties retrieval via get_priv_flags" (bsc#1139020 bsc#1139021). - net: ena: Fix bug where ring allocation backoff stopped too late (bsc#1139020 bsc#1139021). - net: ena: update driver version from 2.0.3 to 2.1.0 (bsc#1139020 bsc#1139021). - net: ena: remove inline keyword from functions in *.c (bsc#1139020 bsc#1139021). - net: ena: add ethtool function for changing io queue sizes (bsc#1139020 bsc#1139021). - net: ena: allow queue allocation backoff when low on memory (bsc#1139020 bsc#1139021). - net: ena: make ethtool show correct current and max queue sizes (bsc#1139020 bsc#1139021). - net: ena: enable negotiating larger Rx ring size (bsc#1139020 bsc#1139021). - net: ena: add MAX_QUEUES_EXT get feature admin command (bsc#1139020 bsc#1139021). - net: ena: use dev_info_once instead of static variable (bsc#1139020 bsc#1139021). - net: ena: add good checksum counter (bsc#1139020 bsc#1139021). - net: ena: optimise calculations for CQ doorbell (bsc#1139020 bsc#1139021). - net: ena: add support for changing max_header_size in LLQ mode (bsc#1139020 bsc#1139021). - net: ena: allow automatic fallback to polling mode (bsc#1139020 bsc#1139021). - net: ena: add newline at the end of pr_err prints (bsc#1139020 bsc#1139021). - net: ena: arrange ena_probe() function variables in reverse christmas tree (bsc#1139020 bsc#1139021). - net: ena: replace free_tx/rx_ids union with single free_ids field in ena_ring (bsc#1139020 bsc#1139021). - net: ena: ethtool: add extra properties retrieval via get_priv_flags (bsc#1139020 bsc#1139021). - net: ena: add handling of llq max tx burst size (bsc#1139020 bsc#1139021). - net: ena: gcc 8: fix compilation warning (bsc#1139020 bsc#1139021). - net: ena: fix ena_com_fill_hash_function() implementation (bsc#1139020 bsc#1139021). - net: ena: improve latency by disabling adaptive interrupt moderation by default (bsc#1139020 bsc#1139021). - net: ena: fix incorrect test of supported hash function (bsc#1139020 bsc#1139021). - net: ena: fix: Free napi resources when ena_up() fails (bsc#1139020 bsc#1139021). - net: ena: fix: set freed objects to NULL to avoid failing future allocations (bsc#1139020 bsc#1139021). - net: ena: fix swapped parameters when calling ena_com_indirect_table_fill_entry (bsc#1139020 bsc#1139021). - commit 33a5137- xen/swiotlb: fix condition for calling xen_destroy_contiguous_region() (bsc#1065600). - commit 11cdb50- rpm/modflist: Simplify compression support. - commit fd135a6- rpm: support compressed modules Some of our scripts and scriptlets in rpm/ do not expect module files not ending with ".ko" which currently leads to failure in preuninstall scriptlet of cluster-md-kmp-default (and probably also other subpackages). Let those which could be run on compressed module files recognize ".ko.xz" in addition to ".ko". - commit 18fcdff- btrfs: start readahead also in seed devices (bsc#1144886). - btrfs: clean up pending block groups when transaction commit aborts (bsc#1050911). - btrfs: handle delayed ref head accounting cleanup in abort (bsc#1050911). - btrfs: add cleanup_ref_head_accounting helper (bsc#1050911). - btrfs: fix pinned underflow after transaction aborted (bsc#1050911). - btrfs: Fix delalloc inodes invalidation during transaction abort (bsc#1050911). - btrfs: Split btrfs_del_delalloc_inode into 2 functions (bsc#1050911). - commit 639f03f- Btrfs: prevent send failures and crashes due to concurrent relocation (bsc#1145059). - commit 5a92881- btrfs: track running balance in a simpler way (bsc#1145059). - commit 23ac173- Btrfs: fix race between send and deduplication that lead to failures and crashes (bsc#1145059). - commit 468ea05- s390/cio: fix ccw_device_start_timeout API (bsc#1142109 LTC#179339). - commit 28183d1- jbd2: flush_descriptor(): Do not decrease buffer head's ref count (bsc#1143843). - commit 7c44fcd- kABI: Fix kABI for 'struct amd_iommu' (bsc#1145010). - commit 5dc829e- mm/vmalloc: Sync unmappings in __purge_vmap_area_lazy() (bsc#1118689). - x86/mm: Sync also unmappings in vmalloc_sync_all() (bsc#1118689). - x86/mm: Check for pfn instead of page in vmalloc_sync_one() (bsc#1118689). - iommu/amd: Add support for X2APIC IOMMU interrupts (bsc#1145010). - commit 9f468a3- supported.conf: Add missing modules (bsc#1066369). - rpm/kernel-binary.spec.in: Enable missing modules check. - commit cf09d01- supported.conf: Sort alphabetically, align comments. - commit ed3dca2- Delete for bsc#1144979: bcache: kernel oops on reading sysfs cache_mode file patches.suse/0031-bcache-use-sysfs_match_string-instead-of-__sysfs_mat.patch. - Refresh for the above change, patches.suse/0032-bcache-add-return-value-check-to-bch_cached_dev_run.patch. - commit 191d6c3- blacklist.conf: c1887159eb48 x86/boot/64: Add missing fixup_pointer() for next_early_pgt access Clang fix. - commit 66b1028- blacklist.conf: 81c7ed296dcd x86/boot/64: Fix crash if kernel image crosses page table boundary We don't support 5LEVEL page tables. - commit ce968f5- x86/microcode: Fix the microcode load on CPU hotplug for real (bsc#1114279). - Refresh patches.kabi/kabi-x86-microcode-hotplug-state-fix.patch. - commit f40f8ea- s390/qeth: cancel cmd on early error (bsc#1142109 LTC#179339). - commit 5724a7b- s390/qeth: simplify reply object handling (bsc#1142109 LTC#179339). - commit 4da951d- s390/qeth: fix request-side race during cmd IO timeout (bsc#1142109 LTC#179339). - Refresh patches.arch/s390-sles15-17-02-02-s390-qeth-sanitize-strings-in-debug-messages.patch. - commit 9e0538c- s390/qeth: release cmd buffer in error paths (bsc#1142109 LTC#179339). - s390/qeth: avoid control IO completion stalls (bsc#1142109 LTC#179339). - commit 4f6b2c5- blacklist.conf: 6ae865615fc4 x86/uaccess: Dont leak the AC flag into __put_user() argument evaluation We don't use UBSAN. - commit f015af1- irqchip/gic-v3-its: fix build warnings (bsc#1144880). - commit 95644b2- Refresh patches.arch/0003-dma-introduce-dma_max_mapping_size. - Refresh patches.kabi/0001-kABI-Preserve-kABI-for-dma_max_mapping_size.patch. The sev_dma_ops also need the max_mapping_size member set. - commit a33e0bb- supported.conf: Remove duplicate drivers/ata/libahci_platform - commit 44cefd2- PM / devfreq: rk3399_dmc: Pass ODT and auto power down parameters to TF-A (bsc#1144718,bsc#1144813). - PM / devfreq: rockchip-dfi: Move GRF definitions to a common place (bsc#1144718,bsc#1144813). - PM / devfreq: rk3399_dmc: remove unneeded semicolon (bsc#1144718,bsc#1144813). - PM / devfreq: rk3399_dmc: fix spelling mistakes (bsc#1144718,bsc#1144813). - PM / devfreq: rk3399_dmc: do not print error when get supply and clk defer (bsc#1144718,bsc#1144813). - PM / devfreq: rk3399_dmc: remove wait for dcf irq event (bsc#1144718,bsc#1144813). - clk: bulk: silently error out on EPROBE_DEFER (bsc#1144718,bsc#1144813). - soc: rockchip: power-domain: Use of_clk_get_parent_count() instead of open coding (bsc#1144718,bsc#1144813). - clk: rockchip: assign correct id for pclk_ddr and hclk_sd in rk3399 (bsc#1144718,bsc#1144813). - clk: rockchip: Add 1.6GHz PLL rate for rk3399 (bsc#1144718,bsc#1144813). - soc: rockchip: power-domain: Add a sanity check on pd->num_clks (bsc#1144718,bsc#1144813). - soc: rockchip: power-domain: use clk_bulk APIs (bsc#1144718,bsc#1144813). - clk: Export clk_bulk_prepare() (bsc#1144813). - clk: add clk_bulk_get accessories (bsc#1144813). - commit 3313421- drm/i915/userptr: Acquire the page lock around set_page_dirty() (bsc#1051510). - drm/nouveau: fix memory leak in nouveau_conn_reset() (bsc#1051510). - commit 6ff4907- rpm/kernel-binary.spec.in: support partial rt debug config. - commit af37821- move irq_data_get_effective_affinity_mask prior the sorted section - commit 9619a1c- can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices (bsc#1051510). - can: peak_usb: pcan_usb_fd: Fix info-leaks to USB devices (bsc#1051510). - can: peak_usb: fix potential double kfree_skb() (bsc#1051510). - can: rcar_canfd: fix possible IRQ storm on high load (bsc#1051510). - HID: wacom: fix bit shift for Cintiq Companion 2 (bsc#1051510). - drm: msm: Fix add_gpu_components (bsc#1051510). - clk: renesas: cpg-mssr: Fix reset control race condition (bsc#1051510). - mmc: dw_mmc: Fix occasional hang after tuning on eMMC (bsc#1051510). - gpiolib: fix incorrect IRQ requesting of an active-low lineevent (bsc#1051510). - ISDN: hfcsusb: checking idx of ep configuration (bsc#1051510). - ACPI: fix false-positive -Wuninitialized warning (bsc#1051510). - dmaengine: rcar-dmac: Reject zero-length slave DMA requests (bsc#1051510). - drivers/rapidio/devices/rio_mport_cdev.c: NUL terminate some strings (bsc#1051510). - mfd: hi655x-pmic: Fix missing return value check for devm_regmap_init_mmio_clk (bsc#1051510). - mfd: arizona: Fix undefined behavior (bsc#1051510). - mfd: core: Set fwnode for created devices (bsc#1051510). - media: pvrusb2: use a different format for warnings (bsc#1051510). - media: au0828: fix null dereference in error path (bsc#1051510). - commit 871aece- Refresh patches.fixes/bonding-Force-slave-speed-check-after-link-state-rec.patch - commit 7225894- Update patch-mainline tag for mwifiex fix - commit f5aabef- mac80211: fix possible memory leak in ieee80211_assign_beacon (bsc#1142635). - commit 2b9b16e- iwlwifi: pcie: don't service an interrupt that was masked (bsc#1142635). - commit c06b2b7- Refresh patches.drivers/hid-input-fix-a4tech-horizontal-wheel-custom-usage.patch - commit 376aba6- iwlwifi: pcie: fix ALIVE interrupt handling for gen2 devices w/o MSI-X (bsc#1142635). - commit c92b5b1- iwlwifi: mvm: fix version check for GEO_TX_POWER_LIMIT support (bsc#1142635). - iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT on version < 41 (bsc#1142635). - commit af6af13- sky2: Disable MSI on ASUS P6T (bsc#1142496). - ata: libahci: do not complain in case of deferred probe (bsc#1051510). - commit d95c462- qlge: Refill empty buffer queues from wq (bsc#1106061). - qlge: Refill rx buffers up to multiple of 16 (bsc#1106061). - qlge: Update buffer queue prod index despite oom (bsc#1106061). - qlge: Replace memset with assignment (bsc#1106061). - qlge: Remove useless memset (bsc#1106061). - qlge: Remove qlge_bq.len & size (bsc#1106061). - qlge: Factor out duplicated expression (bsc#1106061). - qlge: Remove rx_ring.type (bsc#1106061). - qlge: Fix dma_sync_single calls (bsc#1106061). - qlge: Deduplicate rx buffer queue management (bsc#1106061). - qlge: Remove useless dma synchronization calls (bsc#1106061). - qlge: Remove rx_ring.sbq_buf_size (bsc#1106061). - qlge: Remove bq_desc.maplen (bsc#1106061). - qlge: Deduplicate lbq_buf_size (bsc#1106061). - qlge: Remove page_chunk.last_flag (bsc#1106061). - qlge: Remove irq_cnt (bsc#1106061). - qlge: Fix irq masking in INTx mode (bsc#1106061). - commit 1050948- Add mainline tag to storvsc_ringbuffer_size patch - commit e4862df- Update patches.arch/powerpc-pseries-Fix-xive-off-command-line.patch (FATE#322438, bsc#1085030, bsc#1144518, LTC#178833). - commit c3b0fa1- tracing: Fix header include guards in trace event headers (bsc#1144474). - commit 45fe8c0- cpufreq: dt: Try freeing static OPPs only if we have added them (jsc#SLE-7294). - PM / OPP: OF: Use pr_debug() instead of pr_err() while adding OPP table (jsc#SLE-7294). - commit 7ca0aa7- powerpc/pseries: Fix xive=off command line (FATE#322438, bsc#1085030, git-fixes). - commit 62c9388- Refresh patches.fixes/fs-dax-deposit-pagetable-even-when-installing-zero-page.patch - commit 2ec6206- Refresh sorted section. - commit 7b2a8cd- EDAC: Fix global-out-of-bounds write when setting edac_mc_poll_msec (bsc#1114279). - commit 8668fda- powerpc/kdump: Handle crashkernel memory reservation failure (bsc#1143466 LTC#179600). - commit 96d99bf- PCI: hv: Fix panic by calling hv_pci_remove_slots() earlier (bsc#1142701). - commit a4b75ac- af_packet: Block execution of tasks waiting for transmit to complete in AF_PACKET (networking-stable-19_07_02). - sctp: change to hold sk after auth shkey is created successfully (networking-stable-19_07_02). - bonding: Always enable vlan tx offload (networking-stable-19_07_02). - tipc: change to use register_pernet_device (networking-stable-19_07_02). - net: stmmac: set IC bit when transmitting frames with HW timestamp (networking-stable-19_07_02). - net: stmmac: fixed new system time seconds value calculation (networking-stable-19_07_02). - tun: wake up waitqueues after IFF_UP is set (networking-stable-19_07_02). - net: remove duplicate fetch in sock_getsockopt (networking-stable-19_07_02). - commit f58bed8- libata: zpodd: Fix small read overflow in zpodd_get_mech_type() (bsc#1051510). - ACPI: PM: Fix regression in acpi_device_set_power() (bsc#1051510). - ALSA: usb-audio: Fix gpf in snd_usb_pipe_sanity_check (bsc#1051510). - ALSA: pcm: fix lost wakeup event scenarios in snd_pcm_drain (bsc#1051510). - commit 43b7a1d- s390/qdio: handle PENDING state for QEBSM devices (bsc#1142117 bsc#1142118 bsc#1142119 LTC#179329 LTC#179330 LTC#179331). - commit 9f57b12- clk: raspberrypi: register platform device for raspberrypi-cpufreq (jsc#SLE-7294). - firmware: raspberrypi: register clk device (jsc#SLE-7294). - clk: bcm283x: add driver interfacing with Raspberry Pi's firmware (jsc#SLE-7294). - Update config files - Update supported.conf - clk: bcm2835: remove pllb (jsc#SLE-7294). - cpufreq: add driver for Raspberry Pi (jsc#SLE-7294). - Update config files - Update supported.conf - commit 6a8534d- kernel-binary: Drop .kernel-binary.spec.buildenv (boo#1154578). Without this patch, /usr/src/linux-@VERSION@-@RELEASE_SHORT@-obj/x86_64/vanilla/.kernel-binary.spec.buildenv contained rpm %_smp_mflags in a line like export MAKE_ARGS=" --output-sync -j4" This made it hard to produce bit-identical builds. - commit 789d131- Move upstreamed BT fix into sorted section - commit e4632df- lib/bitmap.c: make bitmap_parselist() thread-safe and much faster (bsc#1143507). - commit a2a3983- nvme: fix possible use-after-free in connect error flow (bsc#1139500, bsc#1140426) - commit 716a051- powerpc/perf: Add mem access events to sysfs (FATE#326869, bsc#1124370). - commit 571ef6a- KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less (bsc#1133021). - commit eca90ee- ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling (bsc#1133021). - ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1 (bsc#1133021). - KVM/Eventfd: Avoid crash when assign and deassign specific eventfd in parallel (bsc#1133021). - KVM: Reject device ioctls from processes other than the VM's creator (bsc#1133021). - KVM: arm/arm64: Close VMID generation race (bsc#1133021). - KVM: arm/arm64: Convert kvm_host_cpu_state to a static per-cpu allocation (bsc#1133021). - KVM: arm/arm64: Drop resource size check for GICV window (bsc#1133021). - KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked (bsc#1133021). - KVM: arm/arm64: Handle CPU_PM_ENTER_FAILED (bsc#1133021). - KVM: arm/arm64: Reduce verbosity of KVM init log (bsc#1133021). - KVM: arm/arm64: Set dist->spis to NULL after kfree (bsc#1133021). - KVM: arm/arm64: Skip updating PMD entry if no change (bsc#1133021). - KVM: arm/arm64: Skip updating PTE entry if no change (bsc#1133021). - KVM: arm/arm64: vgic: Add missing irq_lock to vgic_mmio_read_pending (bsc#1133021). - KVM: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroy (bsc#1133021). - KVM: arm/arm64: vgic-its: Fix potential overrun in vgic_copy_lpi_list (bsc#1133021). - KVM: arm64: Fix caching of host MDCR_EL2 value (bsc#1133021). - KVM: mmu: Fix overlap between public and private memslots (bsc#1133021). - arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 (bsc#1133021). - kvm: Disallow wraparound in kvm_gfn_to_hva_cache_init (bsc#1133021). - kvm: arm/arm64: vgic-v3: Tighten synchronization for guests using v2 on v3 (bsc#1133021). - Refresh patches.fixes/0001-KVM-arm-arm64-Properly-protect-VGIC-locks-from-IRQs.patch. patches.arch/kvm-make-vm-ioctl-do-valloc-for-some-archs - commit b82550c- acpi/arm64: ignore 5.1 FADTs that are reported as 5.0 (bsc#1051510). - commit 8c9daa7- 9p/xen: Add cleanup path in p9_trans_xen_init (bsc#1051510). - 9p/virtio: Add cleanup path in p9_virtio_init (bsc#1051510). - 9p: pass the correct prototype to read_cache_page (bsc#1051510). - net/9p: include trans_common.h to fix missing prototype warning (bsc#1051510). - 9p: p9dirent_read: check network-provided name length (bsc#1051510). - 9p/rdma: remove useless check in cm_event_handler (bsc#1051510). - 9p: acl: fix uninitialized iattr access (bsc#1051510). - 9p/rdma: do not disconnect on down_interruptible EAGAIN (bsc#1051510). - 9p/xen: fix check for xenbus_read error in front_probe (bsc#1051510). - commit c3770e6- PCI: xilinx-nwl: Fix Multi MSI data programming (bsc#1142635). - commit 2c2cee4- tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop (bsc#1051510). - tty: serial: msm_serial: avoid system lockup condition (bsc#1051510). - tty/serial: digicolor: Fix digicolor-usart already registered warning (bsc#1051510). - tty: max310x: Fix invalid baudrate divisors calculator (bsc#1051510). - commit 5b689d2- tua6100: Avoid build warnings (bsc#1051510). - commit 5fe29d6- usb: wusbcore: fix unbalanced get/put cluster_id (bsc#1051510). - usb: Handle USB3 remote wakeup for LPM enabled devices correctly (bsc#1051510). - usb: core: hub: Disable hub-initiated U1/U2 (bsc#1051510). - commit 1d9328c- serial: 8250: Fix TX interrupt handling condition (bsc#1051510). - commit 9d23e7a- PCI: qcom: Ensure that PERST is asserted for at least 100 ms (bsc#1142635). - commit 7c6a153- regmap: fix bulk writes on paged registers (bsc#1051510). - commit b2ad701- pinctrl: rockchip: fix leaked of_node references (bsc#1051510). - pinctrl: pistachio: fix leaked of_node references (bsc#1051510). - commit f2615e5- nfc: fix potential illegal memory access (bsc#1051510). - commit eea437f- media: coda: increment sequence offset for the last returned frame (bsc#1051510). - media: coda: fix last buffer handling in V4L2_ENC_CMD_STOP (bsc#1051510). - media: coda: fix mpeg2 sequence number handling (bsc#1051510). - media: wl128x: Fix some error handling in fm_v4l2_init_video_device() (bsc#1051510). - media: staging: media: davinci_vpfe: - Fix for memory leak if decoder initialization fails (bsc#1051510). - media: coda: Remove unbalanced and unneeded mutex unlock (bsc#1051510). - media: media_device_enum_links32: clean a reserved field (bsc#1051510). - media: vpss: fix a potential NULL pointer dereference (bsc#1051510). - media: dvb: usb: fix use after free in dvb_usb_device_exit (bsc#1051510). - commit cce0303- media: hdpvr: fix locking and a missing msleep (bsc#1051510). - media: spi: IR LED: add missing of table registration (bsc#1051510). - commit 3175953- mailbox: handle failed named mailbox channel request (bsc#1051510). - commit 60da685- macsec: fix checksumming after decryption (bsc#1051510). - macsec: fix use-after-free of skb during RX (bsc#1051510). - macsec: let the administrator set UP state even if lowerdev is down (bsc#1051510). - macsec: update operstate when lower device changes (bsc#1051510). - commit aba8a32- libata: don't request sense data on !ZAC ATA devices (bsc#1051510). - commit 165118b- iio: iio-utils: Fix possible incorrect mask calculation (bsc#1051510). - commit a88c729- hpet: Fix division by zero in hpet_time_div() (bsc#1051510). - commit bfebe33- Input: alps - fix a mismatch between a condition check and its comment (bsc#1051510). - Input: alps - don't handle ALPS cs19 trackpoint-only device (bsc#1051510). - Input: synaptics - whitelist Lenovo T580 SMBus intertouch (bsc#1051510). - intel_th: pci: Add Ice Lake NNPI support (bsc#1051510). - gpio: omap: ensure irq is enabled before wakeup (bsc#1051510). - Input: trackpoint - only expose supported controls for Elan, ALPS and NXP (bsc#1051510). - commit 21bf098- drm/msm: Depopulate platform on probe failure (bsc#1051510). - drm/virtio: Add memory barriers for capset cache (bsc#1051510). - drm/crc-debugfs: User irqsafe spinlock in drm_crtc_add_crc_entry (bsc#1051510). - drm/bridge: sii902x: pixel clock unit is 10kHz instead of 1kHz (bsc#1051510). - drm/bridge: tc358767: read display_props in get_modes() (bsc#1051510). - commit acc8448- drm/panel: simple: Fix panel_simple_dsi_probe (bsc#1051510). - commit 890763d- Documentation/networking: fix default_ttl typo in mpls-sysctl (bsc#1051510). - Documentation: Add nospectre_v1 parameter (bsc#1051510). - commit 3774cea- dma-buf: balance refcount inbalance (bsc#1051510). - commit 314dd8d- crypto: talitos - fix skcipher failure due to wrong output IV (bsc#1051510). - commit 9ad83fe- Bluetooth: 6lowpan: search for destination address in all peers (bsc#1051510). - Bluetooth: Add SMP workaround Microsoft Surface Precision Mouse bug (bsc#1051510). - Bluetooth: validate BLE connection interval updates (bsc#1051510). - Bluetooth: Check state in l2cap_disconnect_rsp (bsc#1051510). - Bluetooth: hci_bcsp: Fix memory leak in rx_skb (bsc#1051510). - commit 595fdb0- hwmon: (nct6775) Fix register address and added missed tolerance for nct6106 (bsc#1051510). - commit 979031c- firmware: ti_sci: Always request response from firmware (bsc#1051510). - commit a183abe- efi/bgrt: Drop BGRT status field reserved bits check (bsc#1051510). - commit 0debfe5- eCryptfs: fix a couple type promotion bugs (bsc#1051510). - commit b6f5263- blacklist.conf: add superfluous ASoC entries - commit 56ab50a- driver core: Fix use-after-free and double free on glue directory (bsc#1131281). - commit 78880d7- ACPI/IORT: Fix off-by-one check in iort_dev_find_its_id() (bsc#1051510). - af_key: fix leaks in key_pol_get_resp and dump_sp (bsc#1051510). - commit 5daa6d3- Bluetooth: hci_uart: check for missing tty operations (CVE-2019-10207 bsc#1142857 bsc#1123959). - commit d0754de- packaging: add support for riscv64 - commit c2885ea- btrfs: use GFP_KERNEL in init_ipath (bsc#1086103). - btrfs: scrub: add memalloc_nofs protection around init_ipath (bsc#1086103). - commit 7470d5f- s390/zcrypt: Fix wrong dispatching for control domain CPRBs (bsc#1137811 LTC#178088). - commit 79fa234- IB/mlx5: Fix leaking stack memory to userspace (bsc#1143045 CVE-2018-20855). - commit 1773cb4- tcp: be more careful in tcp_fragment() (CVE-2019-11478 bsc#1137586 bsc#1139751). - Refresh patches.kabi/kabi-drop-LINUX_MIB_TCPWQUEUETOOBIG-snmp-counter.patch - commit 01d7aff- Refresh patches.arch/0002-x86-speculation-Enable-Spectre-v1-swapgs-mitigations.patch. - commit a498c6b- mwifiex: fix 802.11n/WPA detection (CVE-2019-3846,bsc#1136424). - commit 4f04ac3- s390/qeth: be drop monitor friendly (bsc#1142220 LTC#179335). - commit d36fb72- x86, mm: fix fast GUP with hyper-based TLB flushing (VM Functionality, bsc#1140903). - commit 0d4f36e- x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS (bsc#1139358, CVE-2019-1125). - Refresh patches.arch/0001-x86-speculation-Prepare-entry-code-for-Spectre-v1-sw.patch. - commit 057096c- Correct the CVE and bug reference for a floppy security fix (CVE-2019-14284,bsc#1143189) A dedicated CVE was already assigned - commit b35cae3- floppy: fix out-of-bounds read in copy_buffer (CVE-2019-14283,bsc#1143191). - floppy: fix div-by-zero in setup_format_params (CVE-2019-14283,bsc#1143191). - commit 4becf9e- nvme: fix memory leak caused by incorrect subsystem free (bsc#1143185). - commit 55e0f8d- net/af_iucv: remove GFP_DMA restriction for HiperTransport (bsc#1142112 bsc#1142221 LTC#179334 LTC#179332). - commit 9402a68- usb: pci-quirks: Correct AMD PLL quirk detection (bsc#1051510). - commit 9981a0b- sctp: silence warns on sctp_stream_init allocations (bsc#1083710). - commit 688c1be- rpm/macros.kernel-source: KMPs should depend on kmod-compat to build. kmod-compat links are used in find-provides.ksyms, find-requires.ksyms, and find-supplements.ksyms in rpm-config-SUSE. - commit f97ca49- scripts/run_oldconfig.sh: Fix update-vanilla When CC is set we want to use it for native only. Cross-compilation still needs the crosscompilers. - commit 3b9fcdb- xfs: don't overflow xattr listent buffer (bsc#1143105). - commit ef88108- ALSA: hda - Add a conexant codec entry to let mute led work (bsc#1051510). - ALSA: compress: Be more restrictive about when a drain is allowed (bsc#1051510). - ALSA: compress: Don't allow paritial drain operations on capture streams (bsc#1051510). - ALSA: compress: Prevent bypasses of set_params (bsc#1051510). - ALSA: compress: Fix regression on compressed capture streams (bsc#1051510). - ALSA: line6: Fix a typo (bsc#1051510). - ALSA: line6: Fix wrong altsetting for LINE6_PODHD500_1 (bsc#1051510). - commit ae9e6c6- KVM: arm/arm64: vgic-its: Take the srcu lock when parsing the memslots (bsc#1133021). - KVM: arm/arm64: vgic-its: Take the srcu lock when writing to guest memory (bsc#1133021). - commit 71f3007- Update References field to patches.suse/0275-bcache-never-writeback-a-discard-operation.patch (bsc#1130972, bsc#1102247). - commit fece483- PCI: hv: Fix return value check in hv_pci_assign_slots() (bsc#1142701). - commit b1f308c- PCI: hv: Fix a use-after-free bug in hv_eject_device_work() (bsc#1142701). - PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary (bsc#1142701). - PCI: hv: Add hv_pci_remove_slots() when we unload the driver (bsc#1142701). - PCI: hv: Fix a memory leak in hv_eject_device_work() (bsc#1142701). - PCI: hv: support reporting serial number as slot information (bsc#1142701). - PCI: hv: Remove unused reason for refcount handler (bsc#1142701). - commit 5c04ed0- Btrfs: fix race between block group removal and block group allocation (bsc#1143003). - commit 805c7d6- bnx2x: Prevent load reordering in tx completion processing (bsc#1142868). - commit 55eef5c- Refresh patches.fixes/drivers-base-introduce-kill_device.patch. - Refresh patches.fixes/libnvdimm-bus-prevent-duplicate-device_unregister-calls.patch. Update Commit IDs - commit df1507f- fork, memcg: fix cached_stacks case (bsc#1134097). - fork, memcg: fix crash in free_thread_stack on memcg charge fail (bsc#1134097). - commit 5777e9c- kernel: jump label transformation performance (bsc#1137534 bsc#1137535 LTC#178058 LTC#178059). - commit 94ca19e- Refresh patches.arch/powerpc-Fix-check-for-copy-paste-instructions-in-ali.patch Fix broken backport. - commit 737a123- powerpc/64s/radix: Introduce local single page ceiling for TLB range flush (bsc#1055117 bsc#1152161 ltc#181664). - Refresh patches.suse/powerpc-mm-Workaround-Nest-MMU-bug-with-TLB-invalida.patch. - commit 9a6b5c8- Input: tm2-touchkey - acknowledge that setting brightness is a blocking call (bsc#1129770). - commit 5aea138- powerpc/mm/radix: Use the right page size for vmemmap mapping (bsc#1055117 bsc#1142685 LTC#179509 FATE#327775). - powerpc/mm/hash/4k: Don't use 64K page size for vmemmap with 4K pagesize (bsc#1142685 LTC#179509 FATE#327775). - commit c04ad6a- Add the cherry-picked commit for the existing patch Refresh: patches.drivers/platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch - commit da39a47- Fix kABI for asus-wmi quirk_entry field addition (bsc#1051510). - commit 955a98c- platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from asus_nb_wmi (bsc#1051510). - commit 667495a- platform/x86: asus-nb-wmi: Support ALS on the Zenbook UX430UQ (bsc#1051510). - commit c48812e- e1000e: start network tx queue only when link is up (bsc#1051510). - Revert "e1000e: fix cyclic resets at link up with active tx" (bsc#1051510). - commit 87c75a8- scripts/arch-symbols: add missing link. - commit ee7c635- blacklist.conf: kABI - commit 2cff6dd- blacklist.conf: this is supposed to speed up things but invalidates testing - commit b8dc286- blacklist.conf: would remove an ioctl - commit 044bc6e- blacklist.conf: cosmetic change only - commit a98fb29- scsi: ibmvfc: fix WARN_ON during event pool release (bsc#1137458 LTC#178093). - commit 40bd8b6- scsi: megaraid_sas: return error when create DMA pool failed (CVE-2019-11810 bsc#1134399). - commit 7142e60- Add kernel module compression support (bsc#1135854) For enabling the kernel module compress, add the item COMPRESS_MODULES="xz" in config.sh, then mkspec will pass it to the spec file. - commit cdf5806- bonding: Force slave speed check after link state recovery for 802.3ad (bsc#1137584). - commit ed149f2- cifs: update internal module number (bsc#1144333). - commit 986284a- cifs: flush before set-info if we have writeable handles (bsc#1144333). - commit b4d735e- smb3: optimize open to not send query file internal info (bsc#1144333). - commit e2b707f- CIFS: fix deadlock in cached root handling (bsc#1144333). - commit 8be25d5- smb3: smbdirect no longer experimental (bsc#1144333). - commit e20fcc7- cifs: fix crash in smb2_compound_op()/smb2_set_next_command() (bsc#1144333). - commit 84ba586- cifs: fix crash in cifs_dfs_do_automount (bsc#1144333). - commit f139553- cifs: fix parsing of symbolic link error response (bsc#1144333). - commit f589a16- cifs: refactor and clean up arguments in the reparse point parsing (bsc#1144333). - commit 19e2523- SMB3: query inode number on open via create context (bsc#1144333). - commit baf32d4- smb3: Send netname context during negotiate protocol (bsc#1144333). - commit a9b9aca- smb3: do not send compression info by default (bsc#1144333). - commit adf25ef- smb3: add new mount option to retrieve mode from special ACE (bsc#1144333). - commit ca8c013- smb3: Allow query of symlinks stored as reparse points (bsc#1144333). - commit 298d366- cifs: Fix a race condition with cifs_echo_request (bsc#1144333). - commit d8c6924- cifs: always add credits back for unsolicited PDUs (bsc#1144333). - commit 4fdd365- fs: cifs: cifsssmb: Change return type of convert_ace_to_cifs_ace (bsc#1144333). - commit 9ffd824- add some missing definitions (bsc#1144333). - commit 1bdcd1a- cifs: fix typo in debug message with struct field ia_valid (bsc#1144333). - commit e4ba220- smb3: minor cleanup of compound_send_recv (bsc#1144333). - commit db4e54c- CIFS: Fix module dependency (bsc#1144333). - commit 874c4a4- cifs: simplify code by removing CONFIG_CIFS_ACL ifdef (bsc#1144333). - Update config files. - commit 49ca0c7- x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations (bsc#1139358, CVE-2019-1125). - x86/speculation: Enable Spectre v1 swapgs mitigations (bsc#1139358, CVE-2019-1125). - Refresh patches.suse/0005-x86-enter-Use-IBRS-on-syscall-and-interrupts.patch. - Refresh patches.suse/x86-cpufeatures-Combine-word-11-and-12-into-a-new-sc.patch. - Refresh patches.suse/x86-cpufeatures-Enumerate-the-new-AVX512-BFLOAT16-in.patch. - commit 479b935- xen: let alloc_xenballooned_pages() fail if not enough memory free (bsc#1142450 XSA-300). - commit 78512f3- cifs: Fix check for matching with existing mount (bsc#1144333). - commit ff08ee2- cifs: Properly handle auto disabling of serverino option (bsc#1144333). - commit c6295b2- smb3: if max_credits is specified then display it in /proc/mounts (bsc#1144333). - commit 03f8033- Fix match_server check to allow for auto dialect negotiate (bsc#1144333). - commit d0ad70d- cifs: add missing GCM module dependency (bsc#1144333). - commit 7379156- SMB3.1.1: Add GCM crypto to the encrypt and decrypt functions (bsc#1144333). - commit 609cdad- SMB3: Add SMB3.1.1 GCM to negotiated crypto algorigthms (bsc#1144333). - commit 35322f3- fs: cifs: Drop unlikely before IS_ERR(_OR_NULL) (bsc#1144333). - commit e4904e7- cifs: Use kmemdup in SMB2_ioctl_init() (bsc#1144333). - commit 9a7e082- cifs: fix crash querying symlinks stored as reparse-points (bsc#1144333). - commit e1d9262- treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 231 (bsc#1144333). - commit 4b6e977- cifs: fix GlobalMid_Lock bug in cifs_reconnect (bsc#1144333). - commit b3593b6- SMB3: retry on STATUS_INSUFFICIENT_RESOURCES instead of failing write (bsc#1144333). - commit 18095f8- cifs: add spinlock for the openFileList to cifsInodeInfo (bsc#1144333). - commit 7ad2b35- cifs: fix panic in smb2_reconnect (bsc#1144333). - commit bee1af6- CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM (bsc#1144333). - commit fca893c- dfs_cache: fix a wrong use of kfree in flush_cache_ent() (bsc#1144333). - commit 8f1ff22- fs/cifs/smb2pdu.c: fix buffer free in SMB2_ioctl_free (bsc#1144333). - commit 1cd210c- cifs: fix memory leak of pneg_inbuf on -EOPNOTSUPP ioctl case (bsc#1144333). - commit 67d46c6- signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig (bsc#1144333). - commit ac48d1f- cifs: add support for SEEK_DATA and SEEK_HOLE (bsc#1144333). - commit 0f11421- Fixed https://bugzilla.kernel.org/show_bug.cgi?id=202935 allow write on the same file (bsc#1144333). - commit 7748fed- cifs: Allocate memory for all iovs in smb2_ioctl (bsc#1144333). - commit 5f81833- cifs: Don't match port on SMBDirect transport (bsc#1144333). - commit 051316f- cifs:smbd Use the correct DMA direction when sending data (bsc#1144333). - commit 4d76c3a- cifs:smbd When reconnecting to server, call smbd_destroy() after all MIDs have been called (bsc#1144333). - commit 6452a9b- smb3: trivial cleanup to smb2ops.c (bsc#1144333). - commit 80746c4- cifs: cleanup smb2ops.c and normalize strings (bsc#1144333). - commit 68b4575- smb3: display session id in debug data (bsc#1144333). - commit ff1be03- cifs: update module internal version number (bsc#1144333). - commit b15e93d- SMB3: Clean up query symlink when reparse point (bsc#1144333). - commit 263d56b- cifs: fix strcat buffer overflow and reduce raciness in smb21_set_oplock_level() (bsc#1144333). - commit 20d16b3- Negotiate and save preferred compression algorithms (bsc#1144333). - commit 2f9136f- cifs: rename and clarify CIFS_ASYNC_OP and CIFS_NO_RESP (bsc#1144333). - commit b844fff- cifs: fix credits leak for SMB1 oplock breaks (bsc#1144333). - commit c9b3aea- smb3: Add protocol structs for change notify support (bsc#1144333). - commit 19f6994- cifs: fix smb3_zero_range for Azure (bsc#1144333). - commit 2d61900- cifs: zero-range does not require the file is sparse (bsc#1144333). - commit 4580e2d- Add new flag on SMB3.1.1 read (bsc#1144333). - commit bad960f- cifs: add fiemap support (bsc#1144333). - commit 83181db- SMB3: Add defines for new negotiate contexts (bsc#1144333). - commit 9bbe6f7- cifs: fix bi-directional fsctl passthrough calls (bsc#1144333). - commit 0fd12f5- cifs: smbd: take an array of reqeusts when sending upper layer data (bsc#1144333). - commit 0bb2ab5- SMB3: Add handling for different FSCTL access flags (bsc#1144333). - commit dbdf4ee- cifs: Add support for FSCTL passthrough that write data to the server (bsc#1144333). - commit b35bcfe- cifs: Call MID callback before destroying transport (bsc#1144333). - commit 39e15e8- cifs: smbd: Retry on memory registration failure (bsc#1144333). - commit f8f5ad4- cifs: smbd: Indicate to retry on transport sending failure (bsc#1144333). - commit d10678b- cifs: smbd: Return EINTR when interrupted (bsc#1144333). - commit 88cf401- cifs: smbd: Don't destroy transport on RDMA disconnect (bsc#1144333). - commit b0ccc81- smbd: Make upper layer decide when to destroy the transport (bsc#1144333). - commit f5d568d- SMB3: update comment to clarify enumerating snapshots (bsc#1144333). - commit 8510c32- CIFS: check CIFS_MOUNT_NO_DFS when trying to reuse existing sb (bsc#1144333). - commit db230f1- CIFS: Show locallease in /proc/mounts for cifs shares mounted with locallease feature (bsc#1144333). - commit 0864b55- cifs: Fix DFS cache refresher for DFS links (bsc#1144333). - commit e9bae57- cifs: don't use __constant_cpu_to_le32() (bsc#1144333). - commit ffc448e- SMB3: Track total time spent on roundtrips for each SMB3 command (bsc#1144333). - commit 8a3179e- cifs: fix page reference leak with readv/writev (bsc#1144333). - commit fbb8472- cifs: do not attempt cifs operation on smb2+ rename error (bsc#1144333). - commit 5ebac84- cifs: fix memory leak in SMB2_read (bsc#1144333). - commit d5acd73- CIFS: keep FileInfo handle live during oplock break (bsc#1106284, bsc#1131565, bsc#1144333). - commit 83e4054- cifs: fix handle leak in smb2_query_symlink() (bsc#1144333). - commit 4beb6c4- cifs: Fix lease buffer length error (bsc#1144333). - commit 9e69c1d- cifs: Fix use-after-free in SMB2_read (bsc#1144333). - commit 082bb78- cifs: Fix use-after-free in SMB2_write (bsc#1144333). - commit 2ba4a61- smb3: allow more detailed protocol info on open files for debugging (bsc#1144333). - commit 596e8f1- powerpc/tm: Fix oops on sigreturn on systems without TM (bsc#1142265 CVE-2019-13648). - commit 1b520d8- Input: gtco - bounds check collection indent level (CVE-2019-13631,bsc#1142023). - commit 2ce2efe- rpm/klp-symbols: update to work with kernel >= 5.3 Since mainline commit b7dca6dd1e59 ("kbuild: create *.mod with full directory path and remove MODVERDIR") in v5.3-rc1, *.mod files are created in the build tree rather than in a single directory .tmp_versions ($MODVERDIR). They also do not provide path to the *.ko module file on their first line as the path is the same (except for the suffix). Update klp-symbols script to handle this new layout and format of *.mod files to fix build of 5.3-rc1 and newer kernel. Note: this is a quick band-aid to fix master branch build without risk of breaking any other branch. A more proper cleanup will follow. - commit c32f8e7- VMCI: Fix integer overflow in VMCI handle arrays (bsc#1051510). - commit 8bf4468- USB: serial: ftdi_sio: add ID for isodebug v1 (bsc#1051510). - USB: serial: option: add support for GosunCn ME3630 RNDIS mode (bsc#1051510). - commit 1da5d9b- Input: psmouse - fix build error of multiple definition (bsc#1051510). - Input: synaptics - enable SMBUS on T480 thinkpad trackpad (bsc#1051510). - Input: imx_keypad - make sure keyboard can always wake up system (bsc#1051510). - Input: elantech - enable middle button support on 2 ThinkPads (bsc#1051510). - commit 9e1c3d9- drm/nouveau/i2c: Enable i2c pads & busses during preinit (bsc#1051510). - commit 45b1d4a- crypto: ccp - Fix SEV_VERSION_GREATER_OR_EQUAL (bsc#1051510). - crypto: ccp/gcm - use const time tag comparison (bsc#1051510). - crypto: ccp - memset structure fields to zero before reuse (bsc#1051510). - crypto: crypto4xx - fix a potential double free in ppc4xx_trng_probe (bsc#1051510). - commit 297f83f- block, bfq: NULL out the bic when it's no longer valid (bsc#1142359). - commit 9ed968c- blacklist.conf: Add a5008b59cd9d dma-direct: only limit the mapping size if swiotlb could be used - commit 26c7651- KVM: SVM: Fix detection of AMD Errata 1096 (bsc#1142354). - commit d4bab45- acpi/nfit: Always dump _DSM output payload (bsc#1142351). - commit fbdd275- libnvdimm/namespace: Fix label tracking error (bsc#1142350). - commit 336ccfc- be2net: Synchronize be_update_queues with dev_watchdog (bsc#1127315). - be2net: Signal that the device cannot transmit during reconfiguration (bsc#1127315). - commit a128a02- sunhv: Fix device naming inconsistency between sunhv_console and sunhv_reg (networking-stable-19_06_18). - lapb: fixed leak of control-blocks (networking-stable-19_06_18). - neigh: fix use-after-free read in pneigh_get_next (networking-stable-19_06_18). - be2net: Fix number of Rx queues used for flow hashing (networking-stable-19_06_18). - vsock/virtio: set SOCK_DONE on peer shutdown (networking-stable-19_06_18). - sctp: Free cookie before we memdup a new one (networking-stable-19_06_18). - net: openvswitch: do not free vport if register_netdevice() is failed (networking-stable-19_06_18). - ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero (networking-stable-19_06_18). - commit 92c9710- pkey: Indicate old mkvp only if old and current mkvp are different (bsc#1137827 LTC#178090). - commit dadd843- mei: me: add denverton innovation engine device IDs (bsc#1051510). - mei: bus: need to unlink client before freeing (bsc#1051510). - mei: me: add gemini lake devices id (bsc#1051510). - commit 27fefbb- clk: rockchip: Don't yell about bad mmc phases when getting (bsc#1051510). - clk: tegra210: fix PLLU and PLLU_OUT1 (bsc#1051510). - clk: qcom: Fix -Wunused-const-variable (bsc#1051510). - dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width" (bsc#1051510). - crypto: talitos - fix max key size for sha384 and sha512 (bsc#1051510). - commit 66dee7e- ALSA: seq: Break too long mutex context in the write loop (bsc#1051510). - ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine (bsc#1051510). - ALSA: hda/realtek - Fixed Headphone Mic can't record on Dell platform (bsc#1051510). - commit ee65de2- mm: migrate: Fix reference check race between __find_get_block() and migration (bnc#1137609). - commit 2ca7d32- net: rds: fix memory leak in rds_ib_flush_mr_pool (networking-stable-19_06_09). - ipv6: fix EFAULT on sendto with icmpv6 and hdrincl (networking-stable-19_06_09). - ipv6: use READ_ONCE() for inet->hdrincl as in ipv4 (networking-stable-19_06_09). - ethtool: fix potential userspace buffer overflow (networking-stable-19_06_09). - Fix memory leak in sctp_process_init (networking-stable-19_06_09). - net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query (networking-stable-19_06_09). - commit 15a7753- kvm: svm/avic: Do not send AVIC doorbell to self (bsc#1140133). - commit a34d4f3- Refresh headers of patches.arch/mm-nvdimm-add-is_ioremap_addr-and-use-that-to-check-.patch. - commit ba46f6b- powerpc/crypto: Use cheaper random numbers for crc-vpmsum self-test (FATE#327696). - commit 930a2cf- Add support for crct10dif-vpmsum (FATE#327696). - commit 962cbcc- usb: gadget: ether: Fix race between gether_disconnect and rx_submit (bsc#1051510). - tty: serial_core: Set port active bit in uart_port_activate (bsc#1051510). - tty: serial: cpm_uart - fix init when SMC is relocated (bsc#1051510). - tty: rocket: fix incorrect forward declaration of 'rp_init()' (bsc#1051510). - commit f9796f8- team: Always enable vlan tx offload (bsc#1051510). - commit 017d54c- Revert "serial: 8250: Don't service RX FIFO if interrupts are disabled" (bsc#1051510). - serial: uartps: Remove useless return from cdns_uart_poll_put_char (bsc#1051510). - serial: uartps: Do not add a trailing semicolon to macro (bsc#1051510). - serial: uartps: Fix long line over 80 chars (bsc#1051510). - serial: uartps: Fix multiple line dereference (bsc#1051510). - commit 65242c8- PCI: Always allow probing with driver_override (bsc#1051510). - PCI: Return error if cannot probe VF (bsc#1051510). - mfd: intel-lpss: Release IDA resources (bsc#1051510). - commit 17fe5b0- ALSA: usb-audio: Cleanup DSD whitelist (bsc#1051510). - commit 31d111a- ALSA: usb-audio: Add quirk for Focusrite Scarlett Solo (bsc#1051510). - commit 2fff3db- ALSA: usb-audio: Sanity checks for each pipe and EP types (bsc#1051510). - ALSA: usb-audio: Add quirk for MOTU MicroBook II (bsc#1051510). - commit d819b43- ALSA: usb-audio: Enable .product_name override for Emagic, Unitor 8 (bsc#1051510). - commit 3865597- rpm/kernel-binary.spec.in: build kernel-*-kgraft only for default SLE kernel RT and Azure variants are excluded for the moment. (bsc#1141600) - commit 620816f- blacklist.conf: Add reverting/reverted entries for fib_rules and seccomp - commit 17e0ddf- drm/msm/a3xx: remove TPL1 regs from snapshot (bsc#1051510). - drm/rockchip: Properly adjust to a true clock in adjusted_mode (bsc#1051510). - drm/meson: Add support for XBGR8888 & ABGR8888 formats (bsc#1051510). - commit 7db412c- crypto: ccp - Validate the the error value used to index error messages (bsc#1051510). - crypto: chacha20poly1305 - fix atomic sleep when using async algorithm (bsc#1051510). - crypto: ghash - fix unaligned memory access in ghash_setkey() (bsc#1051510). - crypto: arm64/sha2-ce - correct digest for empty data in finup (bsc#1051510). - crypto: arm64/sha1-ce - correct digest for empty data in finup (bsc#1051510). - crypto: talitos - Align SEC1 accesses to 32 bits boundaries (bsc#1051510). - crypto: talitos - properly handle split ICV (bsc#1051510). - crypto: talitos - HMAC SNOOP NO AFEU mode requires SW icv checking (bsc#1051510). - crypto: talitos - check data blocksize in ablkcipher (bsc#1051510). - crypto: talitos - fix CTR alg blocksize (bsc#1051510). - crypto: talitos - reduce max key size for SEC1 (bsc#1051510). - crypto: talitos - rename alternative AEAD algos (bsc#1051510). - crypto: ccp - Fix 3DES complaint from ccp-crypto module (bsc#1051510). - crypto: ccp - fix AES CFB error exposed by new test vectors (bsc#1051510). - commit c31bdf9- blacklist.conf: blacklist e153abc0739f ("zram: pass down the bvec we need to read into in the work struct") - commit 4c1cb5d- Rename patches to same name as SLE15 SP1. - commit 41e129a- mm/nvdimm: add is_ioremap_addr and use that to check ioremap address (bsc#1140322 LTC#176270). - powerpc/mm: Consolidate numa_enable check and min_common_depth check (bsc#1140322 LTC#176270). - powerpc/mm: Fix node look up with numa=off boot (bsc#1140322 LTC#176270). - powerpc/mm/drconf: Use NUMA_NO_NODE on failures instead of node 0 (bsc#1140322 LTC#176270). - mm: replace all open encodings for NUMA_NO_NODE (bsc#1140322 LTC#176270). - commit eb30721- platform/x86: intel_turbo_max_3: Remove restriction for HWP platforms (jsc#SLE-5439). - commit 5359a3d- Move patch to correct directory. - commit 54a306a- scripts/git_sort/git_sort.py: Add mmots tree. - commit 08c2a80- patches.suse/Btrfs-kill-btrfs_clear_path_blocking.patch: (bsc#1140139). - commit a5cd556- libceph: check reply num_data_items in setup_request_data() (bsc#1135897). - Refresh patches.drivers/ceph-osd_client-add-support-for-CEPH_OSD_OP_GETXATTR.patch. - Refresh patches.drivers/libceph-add-support-for-CMPEXT-compare-extent-reques.patch. - Refresh patches.drivers/libceph-add-support-for-write-same-requests.patch. - commit ca2351e- KVM: s390: kABI Workaround for 'lowcore' (bsc#1119222). - commit f5c46ac- libceph: preallocate message data items (bsc#1135897). - Refresh patches.drivers/ceph-osd_client-add-support-for-CEPH_OSD_OP_GETXATTR.patch. - Refresh patches.drivers/libceph-add-scatterlist-messenger-data-type.patch. - Refresh patches.drivers/libceph-add-support-for-CMPEXT-compare-extent-reques.patch. - Refresh patches.drivers/libceph-add-support-for-write-same-requests.patch. - commit ac80fb5- Fix kABI breakage by mwifiex security fix (CVE-2019-3846,bsc#1136424). - commit 304447b- wil6210: fix potential out-of-bounds read (bsc#1051510). - commit d05bdaa- powerpc/watchpoint: Restore NV GPRs while returning from exception (bsc#1140945 bsc#1141401 bsc#1141402 bsc#1141452 bsc#1141453 bsc#1141454 LTC#178983 LTC#179191 LTC#179192 LTC#179193 LTC#179194 LTC#179195). - commit 599f587- platform/x86: pmc_atom: Add CB4063 Beckhoff Automation board to critclk_systems DMI table (bsc#1051510). - staging: rtl8712: reduce stack usage, again (bsc#1051510). - commit 45d1e2e- mwifiex: Don't abort on small, spec-compliant vendor IEs (CVE-2019-3846,bsc#1136424). - commit 69fc498- memstick: Fix error cleanup path of memstick_init (bsc#1051510). - mmc: sdhci-pci: Try "cd" for card-detect lookup before using NULL (bsc#1051510). - commit 4752cfa- memory: tegra: Fix integer overflow on tick value calculation (bsc#1051510). - commit 0bd6f51- media: v4l2: Test type instead of cfg->type in v4l2_ctrl_new_custom() (bsc#1051510). - media: s5p-mfc: Make additional clocks optional (bsc#1051510). - media: vivid: fix incorrect assignment operation when setting video mode (bsc#1051510). - media: marvell-ccic: fix DMA s/g desc number calculation (bsc#1051510). - commit e2ee41b- lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE (bsc#1051510). - lib: fix stall in __bitmap_parselist() (bsc#1051510). - commit 1f90d1e- intel_th: msu: Fix single mode with disabled IOMMU (bsc#1051510). - HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report (bsc#1051510). - HID: wacom: correct touch resolution x/y typo (bsc#1051510). - HID: wacom: generic: Correct pad syncing (bsc#1051510). - HID: wacom: generic: only switch the mode on devices with LEDs (bsc#1051510). - commit 61dad59- staging: comedi: dt282x: fix a null pointer deref on interrupt (bsc#1051510). - staging: comedi: amplc_pci230: fix null pointer deref on interrupt (bsc#1051510). - batman-adv: fix for leaked TVLV handler (bsc#1051510). - ath6kl: add some bounds checking (bsc#1051510). - cpufreq: brcmstb-avs-cpufreq: Fix types for voltage/frequency (bsc#1051510). - cpufreq: brcmstb-avs-cpufreq: Fix initial command check (bsc#1051510). - cpufreq: ppc_cbe: fix possible object reference leak (bsc#1051510). - cpufreq: pmac32: fix possible object reference leak (bsc#1051510). - cpufreq/pasemi: fix possible object reference leak (bsc#1051510). - cpufreq: kirkwood: fix possible object reference leak (bsc#1051510). - cpufreq: acpi-cpufreq: Report if CPU doesn't support boost technologies (bsc#1051510). - cpufreq: Use struct kobj_attribute instead of struct global_attr (bsc#1051510). - cpufreq: check if policy is inactive early in __cpufreq_get() (bsc#1051510). - commit 264b5ec- ASoC: max98090: remove 24-bit format support if RJ is 0 (bsc#1051510). - ASoC: soc-pcm: BE dai needs prepare when pause release after resume (bsc#1051510). - ASoC : cs4265 : readable register too low (bsc#1051510). - commit 5b361be- ALSA: hda/realtek - Headphone Mic can't record after S3 (bsc#1051510). - commit d8759b7- cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css() (bsc#1141478). - commit 19414dc- bcache: add reclaimed_journal_buckets to struct cache_set (bsc#1140652). - bcache: performance improvement for btree_flush_write() (bsc#1140652). - bcache: fix race in btree_flush_write() (bsc#1140652). - bcache: remove retry_flush_write from struct cache_set (bsc#1140652). - bcache: add comments for mutex_lock(&b->write_lock) (bsc#1140652). - bcache: only clear BTREE_NODE_dirty bit when it is set (bsc#1140652). - bcache: Revert "bcache: fix high CPU occupancy during journal" (bsc#1140652). - bcache: Revert "bcache: free heap cache_set->flush_btree in bch_journal_free" (bsc#1140652). - bcache: shrink btree node cache after bch_btree_check() (bsc#1140652). - bcache: set largest seq to ja->seq[bucket_index] in journal_read_bucket() (bsc#1140652). - bcache: add code comments for journal_read_bucket() (bsc#1140652). - bcache: fix potential deadlock in cached_def_free() (bsc#1140652). - bcache: acquire bch_register_lock later in cached_dev_free() (bsc#1140652). - bcache: acquire bch_register_lock later in cached_dev_detach_finish() (bsc#1140652). - bcache: avoid a deadlock in bcache_reboot() (bsc#1140652). - bcache: stop writeback kthread and kworker when bch_cached_dev_run() failed (bsc#1140652). - bcache: destroy dc->writeback_write_wq if failed to create dc->writeback_thread (bsc#1140652). - bcache: fix mistaken sysfs entry for io_error counter (bsc#1140652). - bcache: add pendings_cleanup to stop pending bcache device (bsc#1140652). - bcache: make bset_search_tree() be more understandable (bsc#1140652). - bcache: remove "XXX:" comment line from run_cache_set() (bsc#1140652). - bcache: improve error message in bch_cached_dev_run() (bsc#1140652). - bcache: add more error message in bch_cached_dev_attach() (bsc#1140652). - bcache: more detailed error message to bcache_device_link() (bsc#1140652). - bcache: check CACHE_SET_IO_DISABLE bit in bch_journal() (bsc#1140652). - bcache: check CACHE_SET_IO_DISABLE in allocator code (bsc#1140652). - bcache: remove unncessary code in bch_btree_keys_init() (bsc#1140652). - bcache: add return value check to bch_cached_dev_run() (bsc#1140652). - bcache: use sysfs_match_string() instead of __sysfs_match_string() (bsc#1140652). - bcache: remove unnecessary prefetch() in bset_search_tree() (bsc#1140652). - bcache: add io error counting in write_bdev_super_endio() (bsc#1140652). - bcache: ignore read-ahead request failure on backing device (bsc#1140652). - bcache: avoid flushing btree node in cache_set_flush() if io disabled (bsc#1140652). - Revert "bcache: set CACHE_SET_IO_DISABLE in bch_cached_dev_error()" (bsc#1140652). - bcache: fix return value error in bch_journal_read() (bsc#1140652). - bcache: check c->gc_thread by IS_ERR_OR_NULL in cache_set_flush() (bsc#1140652). - bcache: don't set max writeback rate if gc is running (bsc#1140652). - bcache: only set BCACHE_DEV_WB_RUNNING when cached device attached (bsc#1140652). - bcache: fix stack corruption by PRECEDING_KEY() (bsc#1140652). - bcache: make is_discard_enabled() static (bsc#1140652). - bcache: remove redundant LIST_HEAD(journal) from run_cache_set() (bsc#1140652). - bcache: avoid potential memleak of list of journal_replay(s) in the CACHE_SYNC branch of run_cache_set (bsc#1140652). - bcache: fix wrong usage use-after-freed on keylist in out_nocoalesce branch of btree_gc_coalesce (bsc#1140652). - bcache: fix failure in journal relplay (bsc#1140652). - bcache: improve bcache_reboot() (bsc#1140652). - bcache: add comments for closure_fn to be called in closure_queue() (bsc#1140652). - bcache: Add comments for blkdev_put() in registration code path (bsc#1140652). - bcache: add error check for calling register_bdev() (bsc#1140652). - bcache: return error immediately in bch_journal_replay() (bsc#1140652). - bcache: add comments for kobj release callback routine (bsc#1140652). - bcache: add failure check to run_cache_set() for journal replay (bsc#1140652). - bcache: never set KEY_PTRS of journal key to 0 in journal_reclaim() (bsc#1140652). - bcache: move definition of 'int ret' out of macro read_bucket() (bsc#1140652). - bcache: fix a race between cache register and cacheset unregister (bsc#1140652). - bcache: Clean up bch_get_congested() (bsc#1140652). - bcache: avoid clang -Wunintialized warning (bsc#1140652). - bcache: fix inaccurate result of unused buckets (bsc#1140652). - bcache: fix crashes stopping bcache device before read miss done (bsc#1140652). - bcache: do not assign in if condition in bcache_device_init() (bsc#1140652). - commit 624edf7- net/packet: fix memory leak in packet_set_ring() (git-fixes). - pktgen: do not sleep with the thread lock held (git-fixes). - packet: in recvmsg msg_name return at least sizeof sockaddr_ll (git-fixes). - ethtool: check the return value of get_regs_len (git-fixes). - netfilter: conntrack: fix calculation of next bucket number in early_drop (git-fixes). - RDS: IB: fix 'passing zero to ERR_PTR()' warning (git-fixes). - af_unix: remove redundant lockdep class (git-fixes). - tcp: reduce tcp_fastretrans_alert() verbosity (git-fixes). - commit ca77765- blacklist.conf: Add "signal: Don't restart fork when signals come in." - commit 5f983d8- ocfs2: add first lock wait time in locking_state (bsc#1134390). - ocfs2: add locking filter debugfs file (bsc#1134390). - ocfs2: add last unlock times in locking_state (bsc#1134390). - commit 0510321- ceph: fix iov_iter issues in ceph_direct_read_write() (bsc#1141450). blacklist.conf: dropped patch from blacklist. - commit a7ea34f- libceph: add osd_req_op_extent_osd_data_bvecs() (bsc#1141450). - Refresh patches.drivers/libceph-add-scatterlist-messenger-data-type.patch. - commit dde9c20- libceph: handle zero-length data items (bsc#1141450). - commit de3f70e- rbd: move from raw pages to bvec data descriptors (bsc#1141450). - Refresh patches.drivers/rbd-add-support-for-scatterlist-obj_request_type.patch. - Refresh patches.drivers/rbd-add-support-for-writesame-requests.patch. - Refresh patches.drivers/rbd-export-some-functions-used-by-lio-rbd-backend.patch. - Refresh patches.drivers/rbd-move-structs-used-by-lio-rbd-to-new-header.patch. - commit 7b7c7e2- libceph: introduce BVECS data type (bsc#1141450). - Refresh patches.drivers/libceph-add-scatterlist-messenger-data-type.patch. - commit d754c75- kvm/mmu: kABI fix for *_mmu_pages changes in struct kvm_arch (bsc#1135335). - commit 2ed5441- rbd: get rid of img_req->copyup_pages (bsc#1141450). - Refresh patches.drivers/rbd-add-support-for-scatterlist-obj_request_type.patch. - Refresh patches.drivers/rbd-add-lio-specific-data-area.patch. - Refresh patches.drivers/rbd-move-structs-used-by-lio-rbd-to-new-header.patch. - commit 4baa02a- rbd: use kmem_cache_zalloc() in rbd_img_request_create() (bsc#1141450). - Refresh patches.drivers/rbd-add-support-for-scatterlist-obj_request_type.patch. - commit 5ac046a- rbd: don't NULL out ->obj_request in rbd_img_obj_parent_read_full() (bsc#1141450). - commit 2a1ca03- livepatch: Remove duplicate warning about missing reliable stacktrace support (bsc#1071995 fate#323487). - commit c713cd8- Revert "livepatch: Remove reliable stacktrace check in klp_try_switch_task()" (bsc#1071995 fate#323487). - commit 8abffe1- rbd: don't (ab)use obj_req->pages for stat requests (bsc#1141450). - commit 5d26c3a- rbd: remove bio cloning helpers (bsc#1141450). - Refresh patches.drivers/rbd-add-support-for-scatterlist-obj_request_type.patch. - commit 0f2b942- libceph, rbd: new bio handling code (aka don't clone bios) (bsc#1141450). - Refresh patches.drivers/libceph-add-scatterlist-messenger-data-type.patch. - Refresh patches.drivers/rbd-add-support-for-scatterlist-obj_request_type.patch. - Refresh patches.drivers/rbd-move-structs-used-by-lio-rbd-to-new-header.patch. - commit 12dfa12- rbd: start enums at 1 instead of 0 (bsc#1141450). - Refresh patches.drivers/rbd-add-support-for-COMPARE_AND_WRITE-CMPEXT.patch. - Refresh patches.drivers/rbd-add-support-for-scatterlist-obj_request_type.patch. - Refresh patches.drivers/rbd-add-support-for-writesame-requests.patch. - Refresh patches.drivers/rbd-move-structs-used-by-lio-rbd-to-new-header.patch. - commit a89ddbc- livepatch: Use static buffer for debugging messages under rq lock (bsc#1071995 fate#323487). - commit 2762e07- net-gro: fix use-after-free read in napi_gro_frags() (networking-stable-19_05_31). - net: mvpp2: fix bad MVPP2_TXQ_SCHED_TOKEN_CNTR_REG queue value (networking-stable-19_05_31). - net/mlx5: Allocate root ns memory using kzalloc to match kfree (networking-stable-19_05_31). - net/mlx5: Avoid double free in fs init error unwinding path (networking-stable-19_05_31). - llc: fix skb leak in llc_build_and_send_ui_pkt() (networking-stable-19_05_31). - net: mvneta: Fix err code path of probe (networking-stable-19_05_31). - net: fec: fix the clk mismatch in failed_reset path (networking-stable-19_05_31). - ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST (networking-stable-19_05_31). - ipv4/igmp: fix another memory leak in igmpv3_del_delrec() (networking-stable-19_05_31). - bnxt_en: Fix aggregation buffer leak under OOM condition (networking-stable-19_05_31). - net: stmmac: fix reset gpio free missing (networking-stable-19_05_31). - ipv6: Consider sk_bound_dev_if when binding a raw socket to an address (networking-stable-19_05_31). - commit 3bc60c9- libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls (bsc#1135897). - Refresh patches.drivers/rbd-add-support-for-COMPARE_AND_WRITE-CMPEXT.patch. - Refresh patches.fixes/0001-rbd-drop-extra-rbd_img_request_get.patch. - Refresh patches.fixes/0002-rbd-make-sure-pages-are-freed-by-libceph.patch. - Refresh patches.fixes/rbd-copy-compare-and-write-osd-requests-before-resub.patch. - Refresh patches.fixes/rbd-truncate-objects-on-cmpext-short-reads.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-cmpsetxattr.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-getxattr.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-setxattr.patch. - commit 328339b- kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled (bsc#1071995 fate#323487). - commit 225bdec- libceph: introduce alloc_watch_request() (bsc#1135897). - commit b7132d4- libceph: assign cookies in linger_submit() (bsc#1135897). - commit 2ca35b3- libceph: enable fallback to ceph_msg_new() in ceph_msgpool_get() (bsc#1135897). - commit fefe07e- libceph: don't consume a ref on pagelist in ceph_msg_data_add_pagelist() (bsc#1135897). - commit 71e58ee- libceph: introduce ceph_pagelist_alloc() (bsc#1135897). - Refresh patches.drivers/ceph-osd_client-add-support-for-CEPH_OSD_OP_GETXATTR.patch. - commit 8b2e58c- libceph, rbd: add error handling for osd_req_op_cls_init() (bsc#1135897). - commit 67234c3- Delete patches.fixes/s390-setup-fix-early-warning-messages (bsc#1140948). - commit bf2abc2- ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop (git-fixes). - commit b3c23d2- mm, page_alloc: fix has_unmovable_pages for HugePages (bsc#1127034). - Refresh patches.fixes/0005-mm-memory_hotplug-be-more-verbose-for-memory-offline.patch. - commit acc7b54- media: cpia2_usb: first wake up, then free in disconnect (bsc#1135642). - commit 62d884c- usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC (bsc#1051510). - usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i] (bsc#1051510). - commit 246a023- blacklist.conf: Add already cherry-picked commits for drm/i915 - commit f5294bb- drm/amdgpu/gfx9: use reset default for PA_SC_FIFO_SIZE (bsc#1051510). - drm/i915/dmc: protect against reading random memory (bsc#1051510). - commit 6b491bf- vsock/virtio: free packets during the socket release (networking-stable-19_05_21). - net: avoid weird emergency message (networking-stable-19_05_21). - net: usb: qmi_wwan: add Telit 0x1260 and 0x1261 compositions (networking-stable-19_05_21). - ppp: deflate: Fix possible crash in deflate_init (networking-stable-19_05_21). - rtnetlink: always put IFLA_LINK for links with a link-netnsid (networking-stable-19_05_21). - net/mlx4_core: Change the error print to info print (networking-stable-19_05_21). - commit 60be362- regulator: s2mps11: Fix buck7 and buck8 wrong voltages (bsc#1051510). - commit 72883d3- pwm: stm32: Use 3 cells ->of_xlate() (bsc#1111666). - qmi_wwan: Fix out-of-bounds read (bsc#1111666). - commit a9e87e7- PCI: Do not poll for PME if the device is in D3cold (bsc#1051510). - commit d4fcd5f- mfd: hi655x: Fix regmap area declared size for hi655x (bsc#1051510). - commit 624e738- irqchip/gic-v3-its: fix some definitions of inner cacheability attributes (bsc#1051510). - commit bd40199- irqchip/mbigen: Don't clear eventid when freeing an MSI (bsc#1051510). - commit 6a90fd2- iommu/arm-smmu: Add support for qcom,smmu-v2 variant (bsc#1051510). - commit 9791296- iommu/arm-smmu-v3: Use explicit mb() when moving cons pointer (bsc#1051510). - iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register (bsc#1051510). - commit a2d5600- gpio: omap: fix lack of irqstatus_raw0 for OMAP4 (bsc#1051510). - staging:iio:ad7150: fix threshold mode config bit (bsc#1051510). - commit fd92574- bonding: fix arp_validate toggling in active-backup mode (networking-stable-19_05_14). - net: seeq: fix crash caused by not set dev.parent (networking-stable-19_05_14). - bridge: Fix error path for kobject_init_and_add() (networking-stable-19_05_14). - packet: Fix error path in packet_init (networking-stable-19_05_14). - tuntap: synchronize through tfiles array instead of tun->numqueues (networking-stable-19_05_14). - ipv4: Fix raw socket lookup for local traffic (networking-stable-19_05_14). - vrf: sit mtu should not be updated when vrf netdev is the link (networking-stable-19_05_14). - dpaa_eth: fix SG frame cleanup (networking-stable-19_05_14). - commit c9bd797- mm/vmscan.c: prevent useless kswapd loops (git fixes (mm/vmscan)). - hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444! (git fixes (mm/hugetlbfs)). - hugetlbfs: dirty pages as they are added to pagecache (git fixes (mm/hugetlbfs)). - commit fcdbd4c- KVM: x86: fix return value for reserved EFER (bsc#1140992). - commit 275307e- ASoC: cx2072x: fix integer overflow on unsigned int multiply (bsc#1111666). - commit 0ea6ab6- Move upstreamed ASoC patches into sorted section - commit f6685e7- blacklist.conf: Add 9c3e922ba316 KVM: nVMX: Move guest non-reg state checks to VM-Exit path - commit ae09496- kvm: svm/avic: fix off-by-one in checking host APIC ID (bsc#1140971). - KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes (bsc#1140972). - commit 930856f- ACPI: PM: Allow transitions to D0 to occur in special cases (bsc#1051510). - ACPI: PM: Avoid evaluating _PS3 on transitions from D3hot to D3cold (bsc#1051510). - commit 2ae341b- blacklist.conf: Add 65fd4cb65b2d Documentation: Move L1TF to separate directory - commit fd03e8e- Documentation: DMA-API: fix a function name of max_mapping_size (bsc#1140954). - iommu: Use right function to get group for device (bsc#1140958). - iommu/amd: Make iommu_disable safer (bsc#1140955). - iommu/vt-d: Handle PCI bridge RMRR device scopes in intel_iommu_get_resv_regions (bsc#1140960). - iommu/vt-d: Handle RMRR with PCI bridge device scopes (bsc#1140961). - iommu/vt-d: Introduce is_downstream_to_pci_bridge helper (bsc#1140962). - iommu/vt-d: Duplicate iommu_resv_region objects per device list (bsc#1140959). - iommu: Fix a leak in iommu_insert_resv_region (bsc#1140957). - iommu/vt-d: Remove unnecessary rcu_read_locks (bsc#1140964). - iommu/arm-smmu: Avoid constant zero in TLBI writes (bsc#1140956). - commit 0e029eb- rpm/kernel-binary.spec.in: handle modules.builtin.modinfo It was added in 5.2. - commit eb88df3- kvm: mmu: Fix overflow on kvm mmu page limit calculation (bsc#1135335). - commit 64e77be- dax: Fix xarray entry association for mixed mappings (bsc#1140893). - commit 7914da5- patches.fixes/scsi-vmw_pscsi-Fix-use-after-free-in-pvscsi_queue_lc.patch: Update patch metadata - commit 9a80b82- ext4: do not delete unlinked inode from orphan list on failed truncate (bsc#1140891). - commit 493e396- fs/ocfs2: fix race in ocfs2_dentry_attach_lock() (bsc#1140889). - commit 0af973c- Abort file_remove_privs() for non-reg. files (bsc#1140888). - commit e522f5b- fs/proc/proc_sysctl.c: Fix a NULL pointer dereference (bsc#1140887). - commit 3a194bf- fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links (bsc#1140887). - commit 716f3c6- ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME (git-fixes). - ptrace: restore smp_rmb() in __ptrace_may_access() (git-fixes). - signal/ptrace: Don't leak unitialized kernel memory with PTRACE_PEEK_SIGINFO (git-fixes). - commit efed5b2- nfit/ars: Allow root to busy-poll the ARS state machine (bsc#1140814). - Refresh patches.drivers/nfit-ars-avoid-stale-ars-results.patch. - commit 3bd9146- kabi: handle addition of netns_ipv4::ip_id_key (CVE-2019-10638 bsc#1140575). - kabi: handle addition of net::hash_mix (CVE-2019-10639 bsc#1140577). - inet: switch IP ID generator to siphash (CVE-2019-10638 bsc#1140575). - netns: provide pure entropy for net_hash_mix() (CVE-2019-10639 bsc#1140577). - netns: get more entropy from net_hash_mix() (CVE-2019-10638 bsc#1140575). - commit 8c9c673- tcp: refine memory limit test in tcp_fragment() (CVE-2019-11478 bsc#1137586 bsc#1139751). - Refresh patches.kabi/kabi-drop-LINUX_MIB_TCPWQUEUETOOBIG-snmp-counter.patch. - commit 18fef7f- blacklist.conf: Add kABI-breaking nfc fix - commit c3837d8- blacklist.conf: Add unaffected nouveau build fixes - commit b379525- scsi: qla2xxx: Fix abort handling in tcm_qla2xxx_write_pending() (bsc#1140727). - scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines (bsc#1140728). - commit 631f49f- dmaengine: imx-sdma: remove BD_INTR for channel0 (bsc#1051510). - commit 6c0c801- coresight: etm4x: Add support to enable ETMv4.2 (bsc#1051510). - coresight: etb10: Fix handling of perf mode (bsc#1051510). - commit bd9477a- blacklist.conf: Add an upstream fix that was reverted in 4.14.y stable - commit 3b33a6b- staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest (bsc#1051510). - commit 9b8ac5d- apparmor: enforce nullbyte at end of tag string (bsc#1051510). - clk: tegra: Fix PLLM programming on Tegra124+ when PMC overrides divider (bsc#1051510). - clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288 (bsc#1051510). - commit bae992a- blacklist.conf: 074376ac0e1d ("ftrace/x86: Anotate text_mutex split between ftrace_arch_code_modify_post_process() and ftrace_arch_code_modify_prepare()") __CHECKER__ only, so not a bug and not really needed. - commit 6fa68b1- blacklist.conf: 4a60aa05a063 ("objtool: Support per-function rodata sections") We don't build the kernel with -ffunction-sections -fdata-sections. - commit e146141- tracing/snapshot: Resize spare buffer if size changed (bsc#1140726). - commit 275bc04- blacklist.conf: 0c97bf863efc ("tracing: Silence GCC 9 array bounds warning") Compiler warning fix for gcc-9. The code itself is correct. - commit 6c5891e- ftrace/x86: Remove possible deadlock between register_kprobe() and ftrace_run_update_code() (bsc#1071995 fate#323487). - commit c27efed- Update upstream patch tags Refreshed: patches.drivers/ibmvnic-Do-not-close-unopened-driver-during-reset.patch patches.drivers/ibmvnic-Fix-unchecked-return-codes-of-memory-allocat.patch patches.drivers/ibmvnic-Refresh-device-multicast-list-after-reset.patch patches.fixes/crypto-user-prevent-operating-on-larval-algorithms.patch patches.fixes/scsi-target-iblock-fix-overrun-in-write-same-emulation - commit 786df26- libnvdimm, pfn: Fix over-trim in trim_pfn_device() (bsc#1140719). - commit db6a472- nvme: copy MTFA field from identify controller (bsc#1140715). - commit 092be13- nfit/ars: Introduce scrub_flags (jsc#SLE-5433). - Refresh patches.kabi/kabi-protect-struct-acpi_nfit_desc.patch. - commit 2007195- nfit/ars: Avoid stale ARS results (jsc#SLE-5433). - Refresh patches.kabi/kabi-protect-struct-acpi_nfit_desc.patch. - commit d859a90- sbitmap: fix improper use of smp_mb__before_atomic() (bsc#1140658). - commit 7bc74cf- Kabi fixup blk_mq_register_dev() (bsc#1140637). - blk-mq: free hw queue's resource in hctx's release handler (bsc#1140637). - commit 0068f07- scsi: target/iblock: Fix overrun in WRITE SAME emulation (bsc#1140424). - commit ba1d4c6- crypto: cryptd - Fix skcipher instance memory leak (bsc#1051510). - commit 87f6ea0- dm, dax: Fix detection of DAX support (bsc#1139782). - commit 16acab4- Update patch mainline tags - Refresh patches.fixes/drivers-base-introduce-kill_device.patch. - Refresh patches.fixes/libnvdimm-bus-prevent-duplicate-device_unregister-calls.patch. - commit c63ec1e- scripts/git_sort/git_sort.py: add nvdimm/libnvdimm-fixes - commit c8c8479- ALSA: line6: Fix write on zero-sized buffer (bsc#1051510). - ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages (bsc#1051510). - ALSA: seq: fix incorrect order of dest_client/dest_ports arguments (bsc#1051510). - ALSA: hda/realtek - Change front mic location for Lenovo M710q (bsc#1051510). - ALSA: usb-audio: fix sign unintended sign extension on left shifts (bsc#1051510). - ALSA: hda/realtek: Add quirks for several Clevo notebook barebones (bsc#1051510). - commit 095cfae- Add back sibling paca poiter to paca (bsc#1055117). - commit a873261- powerpc/64s: Remove POWER9 DD1 support (bsc#1055117, LTC#159753, FATE#323286, git-fixes). - powerpc/mm/radix: Change pte relax sequence to handle nest MMU hang (bsc#1055117). - powerpc/mm: Change function prototype (bsc#1055117). - powerpc/mm/radix: Move function from radix.h to pgtable-radix.c (bsc#1055117). - powerpc/mm/hugetlb: Update huge_ptep_set_access_flags to call __ptep_set_access_flags directly (bsc#1055117). - commit cabc25a- powerpc/perf: Add PM_LD_MISS_L1 and PM_BR_2PATH to power9 event list (bsc#1137728, LTC#178106). - Refresh patches.arch/powerpc-perf-Add-blacklisted-events-for-Power9-DD2.1.patch. - powerpc/perf: Add POWER9 alternate PM_RUN_CYC and PM_RUN_INST_CMPL events (bsc#1137728, LTC#178106). - commit 9c52368- powerpc/rtas: retry when cpu offline races with suspend/migration (bsc#1140428, LTC#178808). - commit 4e041ec- ceph: flush dirty inodes before proceeding with remount (bsc#1140405). - commit f6d4f3b- net: mvpp2: prs: Use the correct helpers when removing all VID filters (bsc#1098633). - net: mvpp2: prs: Fix parser range for VID filtering (bsc#1098633). - net: mvpp2: Use strscpy to handle stat strings (bsc#1098633). - commit 8675c3d- Revert "Sign non-x86 kernels when possible (boo#1134303)" This reverts commit bac621c6704610562ebd9e74ae5ad85ca8025681. We don't have reports of this working with all ARM architectures in all cases (boot, kexec, ..) so revert for now. - commit a235183- blacklist.conf: the patch should not have gone to stable on its own - commit e6f616f- blacklist.conf: dependencies would break kABI - commit d3c43ce- blacklist.conf: dependencies would break kABI - commit d98c05b- blacklist.conf: would break kABI - commit b15afa1- blacklist.conf: would break kABI - commit d56abbc- block: Fix a NULL pointer dereference in generic_make_request() (bsc#1139771). - commit 977cba2- Reshuffle patches to match series_sort.py - commit 2469f32- Bluetooth: Fix faulty expression for minimum encryption key size check (bsc#1140328). - commit 4e794d5- libceph: use single request data item for cmp/setxattr (bsc#1139101). - Refresh patches.drivers/ceph-osd_client-add-support-for-CEPH_OSD_OP_GETXATTR.patch - commit 5594932- crypto: user - prevent operating on larval algorithms (bsc#1133401). - Delete patches.fixes/crypto-algapi-guard-against-uninitialized-spawn-list.patch. - commit f1b36c6- i2c: acorn: fix i2c warning (bsc#1135642). - commit a0b3a52- sysctl: handle overflow in proc_get_long (bsc#1051510). - commit c14faec- blacklist.conf: it didn't even compile - commit 7f6d59d- blacklist.conf: build warning only, no fix - commit c5e8109- rpm/dtb.spec.in.in: don't make dtb directory inaccessible There is no reason to lock down the dtb directory for ordinary users. - commit a69437a- drivers/base: kABI fixes for struct device_private (bsc#1106383). - driver core: Probe devices asynchronously instead of the driver (bsc#1106383). - device core: Consolidate locking and unlocking of parent and device (bsc#1106383). - driver core: Establish order of operations for device_add and device_del via bitflag (bsc#1106383). - commit 1fff851- drivers/base: Introduce kill_device() (bsc#1139865). - commit 33e739c- Refresh patches.drivers/nvme-rdma-move-nvme_rdma_configure_admin_queue-code-.patch. - commit 93cf9c0- Revert "svm: Fix AVIC incomplete IPI emulation" (bsc#1140133). - svm: Fix AVIC incomplete IPI emulation (bsc#1140133). - svm: Add warning message for AVIC IPI invalid target (bsc#1140133). - commit f060d17- libnvdimm/bus: Prevent duplicate device_unregister() calls (bsc#1139865). - commit 379ae31- scripts/git_sort/git_sort.py: add djbw/nvdimm nvdimm-pending. - commit 7d6adef- Update patches.suse/do-not-default-to-ibrs-on-skl.patch (bsc#1068032 CVE-2017-5753 bsc#1112824 jsc#SLE-7074). - commit 4b76649- ppp: mppe: Add softdep to arc4 (bsc#1088047). - commit 83e2dfd- scsi: libsas: fix a race condition when smp task timeout (CVE-2018-20836 bsc#1134395). - commit ef84a5a- ntp: Allow TAI-UTC offset to be set to zero (bsc#1135642). - commit fe4b469- ocfs2: try to reuse extent block in dealloc without meta_alloc (bsc#1128902). - commit ede2d05- USB: serial: fix initial-termios handling (bsc#1135642). - commit 6bf0f16- usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression) (bsc#1135642). - commit 5f24d97- usb: chipidea: udc: workaround for endpoint conflict issue (bsc#1135642). - commit 6586733- Update patches.fixes/0001-mwifiex-Fix-heap-overflow-in-mwifiex_uap_parse_tail_.patch (bsc#1136935 CVE-2019-10126). Added CVE number - commit 9d2dcb5- Refresh patches.fixes/scsi-Introduce-scsi_start_queue.patch (bsc#1119532). - Refresh patches.fixes/scsi-Split-scsi_internal_device_block.patch. This adds the changes made by the upstream merge commit 90311148415a. - commit cf2d9d2- mmc: core: Prevent processing SDIO IRQs when the card is suspended (bsc#1051510). - commit 280e016- mac80211: drop robust management frames from unknown TA (bsc#1051510). - mac80211: Do not use stack memory with scatterlist for GMAC (bsc#1051510). - mac80211: handle deauthentication/disassociation from TDLS peer (bsc#1051510). - commit b226a95- Input: synaptics - enable SMBus on ThinkPad E480 and E580 (bsc#1051510). - Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD (bsc#1051510). - commit 53b5f1d- coredump: fix race condition between collapse_huge_page() and core dumping (bnc#1133738, CVE-2019-11599). - coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping (bsc#1133738, CVE-2019-11599). - commit 22843e7- genwqe: Prevent an integer overflow in the ioctl (bsc#1051510). - commit 67de48a- genirq: Prevent use-after-free and work list corruption (bsc#1051510). - genirq: Respect IRQCHIP_SKIP_SET_WAKE in irq_chip_set_wake_parent() (bsc#1051510). - commit 604ab3b- drm/arm/hdlcd: Allow a bit of clock tolerance (bsc#1051510). - commit 4a7767f- doc: Cope with the deprecation of AutoReporter (bsc#1051510). - commit 07fc2ef- can: flexcan: fix timeout when set small bitrate (bsc#1051510). - commit 0ca4456- ax25: fix inconsistent lock state in ax25_destroy_timer (bsc#1051510). - commit 1024908- PCI: rpadlpar: Fix leaked device_node references in add/remove paths (bsc#1051510). - commit 10134d8- PCI: PM: Skip devices in D0 for suspend-to-idle (bsc#1051510). - commit 173e73f- scsi: core: add new RDAC LENOVO/DE_Series device (bsc#1132390). - commit 68e4b01- crypto: algapi - guard against uninitialized spawn list in crypto_remove_spawns (bsc#1133401). - commit b90bc9f- can: purge socket error queue on sock destruct (bsc#1051510). - can: af_can: Fix error path of can_init() (bsc#1051510). - commit ab2392e- USB: serial: option: add Telit 0x1260 and 0x1261 compositions (bsc#1051510). - USB: serial: pl2303: add Allied Telesis VT-Kit3 (bsc#1051510). - USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode (bsc#1051510). - USB: Fix chipmunk-like voice when using Logitech C270 for recording audio (bsc#1051510). - USB: usb-storage: Add new ID to ums-realtek (bsc#1051510). - usbnet: ipheth: fix racing condition (bsc#1051510). - commit f1e8781- mISDN: make sure device name is NUL terminated (bsc#1051510). - Drivers: misc: fix out-of-bounds access in function param_set_kgdbts_var (bsc#1051510). - media: v4l2-ioctl: clear fields in s_parm (bsc#1051510). - commit 3b24929- libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk (bsc#1051510). - commit 068c6e9- drm/i915/gvt: ignore unexpected pvinfo write (bsc#1051510). - commit e0e908b- blacklist.conf: Add superfluous BT blacklist entry (bsc#1135556) - commit 47a9e1a- ALSA: hda - Force polling mode on CNL for fixing codec communication (bsc#1051510). - commit ef7c06b- Replace the bluetooth fix with the upstream commit (bsc#1135556) - commit 190eab5- s390/qeth: fix VLAN attribute in bridge_hostnotify udev event (bsc#1051510). - scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs) (bsc#1051510). - scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove (bsc#1051510). - scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices (bsc#1051510). - scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host (bsc#1051510). - vfio: ccw: only free cp on final interrupt (bsc#1051510). - s390/qeth: fix race when initializing the IP address table (bsc#1051510). - s390/virtio: handle find on invalid queue gracefully (bsc#1051510). - s390/setup: fix early warning messages (bsc#1051510). - s390/dasd: fix using offset into zero size array error (bsc#1051510). - commit df28106- ibmveth: Update ethtool settings to reflect virtual properties (bsc#1136157, LTC#177197). - commit a759aea- x86/cpufeatures: Enumerate the new AVX512 BFLOAT16 instructions (jsc#SLE-5382). - x86/cpufeatures: Combine word 11 and 12 into a new scattered features word (jsc#SLE-5382). This changes definitions of some bits, but they are intended to be used only by the core, so hopefully, no KMP uses the definitions. - x86/cpufeatures: Carve out CQM features retrieval (jsc#SLE-5382). - commit aa0aabb- bpf, x64: fix stack layout of JITed bpf code (bsc#1083647). - bpf, x64: save 5 bytes in prologue when ebpf insns came from cbpf (bsc#1083647). - commit efcaeb6- module: Fix livepatch/ftrace module text permissions race (bsc#1071995 fate#323487). - commit 3eec3e8- kernel-binary: rpm does not support multiline condition - commit aceae50- kernel-binary: Use -c grep option in klp project detection. - commit 5def2a2- kernel-binary: fix missing \ - commit 8325214- Don't restrict NFSv4.2 on openSUSE (bsc#1138719). - commit 4f6fcf9- powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() (bsc#1137194, CVE-2019-12614). - commit 0a4b38d- audit: fix a memory leak bug (bsc#1051510). - commit 20dd9ba- af_key: unconditionally clone on broadcast (bsc#1051510). - commit 3ddf011- 6lowpan: Off by one handling ->nexthdr (bsc#1051510). - commit a37dca9- vlan: disable SIOCSHWTSTAMP in container (bsc#1051510). - commit 6ec05b1- tty: max310x: Fix external crystal register setup (bsc#1051510). - commit f04fcd0- thermal: rcar_gen3_thermal: disable interrupt in .remove (bsc#1051510). - drivers: thermal: tsens: Don't print error message on - EPROBE_DEFER (bsc#1051510). - tmpfs: fix uninitialized return value in shmem_link (bsc#1051510). - tmpfs: fix link accounting when a tmpfile is linked in (bsc#1051510). - commit 8e9ff58- soc: rockchip: Set the proper PWM for rk3288 (bsc#1051510). - soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher (bsc#1051510). - commit a31492b- qmi_wwan: extend permitted QMAP mux_id value range (bsc#1051510). - qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode (bsc#1051510). - qmi_wwan: add network device usage statistics for qmimux devices (bsc#1051510). - qmi_wwan: add support for QMAP padding in the RX path (bsc#1051510). - rapidio: fix a NULL pointer dereference when create_workqueue() fails (bsc#1051510). - drivers/rapidio/rio_cm.c: fix potential oops in riocm_ch_listen() (bsc#1051510). - drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()' (bsc#1051510). - commit 50161e7- cfg80211: fix memory leak of wiphy device name (bsc#1051510). - commit 10e032a- USB: serial: pl2303: fix tranceiver suspend mode (bsc#1135642). - commit 5971a4e- usb: xhci: avoid null pointer deref when bos field is NULL (bsc#1135642). - commit 9a68aa9- i2c-piix4: Add Hygon Dhyana SMBus support (FATE#327735). - hwmon: (k10temp) Add Hygon Dhyana support (FATE#327735). - hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs (FATE#327735). - hwmon: (k10temp) Support all Family 15h Model 6xh and Model 7xh processors (FATE#327735). - hwmon: k10temp: Support Threadripper 2920X, 2970WX; simplify offset table (FATE#327735). - hwmon: (k10temp) 27C Offset needed for Threadripper2 (FATE#327735). - hwmon: (k10temp) Make function get_raw_temp static (FATE#327735). - hwmon: (k10temp) Display both Tctl and Tdie (FATE#327735). - hwmon: (k10temp) Add support for Stoney Ridge and Bristol Ridge CPUs (FATE#327735). - hwmon: (k10temp) Use API function to access System Management Network (FATE#327735). - x86/amd_nb: Add support for Raven Ridge CPUs (FATE#327735). - hwmon: (k10temp) Fix reading critical temperature register (FATE#327735). - hwmon: (k10temp) Add support for AMD Ryzen w/ Vega graphics (FATE#327735). - hwmon: (k10temp) Add temperature offset for Ryzen 2700X (FATE#327735). - hwmon: (k10temp) Only apply temperature offset if result is positive (FATE#327735). - hwmon: (k10temp) Add temperature offset for Ryzen 1900X (FATE#327735). - hwmon: (k10temp) Correct model name for Ryzen 1600X (FATE#327735). - hwmon: (k10temp) Add support for temperature offsets (FATE#327735). - hwmon: (k10temp) Add support for family 17h (FATE#327735). - hwmon: (k10temp) Move chip specific code into probe function (FATE#327735). - commit a0260ad- scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck() (bsc#1135296). - commit da9726e- Revert "s390/jump_label: Use "jdd" constraint on gcc9 (bsc#1138589)." This broke the build with older gcc instead. - commit fc3fbab- s390/jump_label: Use "jdd" constraint on gcc9 (bsc#1138589). - commit 53c4fbd- Refresh patches.fixes/0001-mwifiex-Abort-at-too-short-BSS-descriptor-element.patch. - Refresh patches.fixes/0001-mwifiex-Fix-heap-overflow-in-mwifiex_uap_parse_tail_.patch. - Refresh patches.fixes/0001-mwifiex-Fix-possible-buffer-overflows-at-parsing-bss.patch. Now in mainline, headers fixed up - commit 7a522c5- Update "SACK Panic" patches to reflect upstream state. - squash patches.fixes/tcp-fix-fack_count-accounting-on-tcp_shift_skb_data.patch into patches.fixes/tcp-limit-payload-size-of-sacked-skbs.patch to match what stable backports do - update upstream references: patches.fixes/tcp-enforce-tcp_min_snd_mss-in-tcp_mtu_probing.patch. patches.fixes/tcp-limit-payload-size-of-sacked-skbs.patch. patches.fixes/tcp-add-tcp_min_snd_mss-sysctl.patch. patches.fixes/tcp-tcp_fragment-should-apply-sane-memory-limits.patch. - sort patches to proper position - commit 1945dc3- Update patches.fixes/nfsd-COPY-and-CLONE-operations-require-the-saved-fil.patch (git-fixes, bsc#1137103, CVE-2018-16871). add CVE tag - commit 9e07b8f- Update config files: CONFIG_NVMEM_IMX_OCOTP=m for armvh7hl/lpae - commit 3edfd41- EDAC/mc: Fix edac_mc_find() in case no device is found (bsc#1114279). - commit e36bcd5- scsi: qla2xxx: Fix FC-AL connection target discovery (bsc#1094555). - scsi: qla2xxx: Fix N2N target discovery with Local loop (bsc#1094555). - commit 6a0cdc5- blacklist.conf: Documentation only - commit 71f13a4- x86/speculation/mds: Revert CPU buffer clear on double fault exit (bsc#1114279). - commit a17d086- x86/mce: Fix machine_check_poll() tests for error types (bsc#1114279). - commit e55e378- x86/microcode: Fix the ancient deprecated microcode loading method (bsc#1114279). - commit 6d600e7- x86/mm/mem_encrypt: Disable all instrumentation for early SME setup (bsc#1114279). - commit 3448653- watchdog: imx2_wdt: Fix set_timeout for big timeout values (bsc#1051510). - commit 36d29bd- video: imsttfb: fix potential NULL pointer dereferences (bsc#1051510). - video: hgafb: fix potential NULL pointer dereference (bsc#1051510). - virtio_console: initialize vtermno value for ports (bsc#1051510). - commit 080b4ed- usb: dwc2: Fix DMA cache alignment issues (bsc#1051510). - commit c4f5a31- spi: spi-fsl-spi: call spi_finalize_current_message() at the end (bsc#1051510). - spi: bitbang: Fix NULL pointer dereference in spi_unregister_master (bsc#1051510). - spi: pxa2xx: fix SCR (divisor) calculation (bsc#1051510). - spi: tegra114: reset controller on probe (bsc#1051510). - spi : spi-topcliff-pch: Fix to handle empty DMA buffers (bsc#1051510). - spi: Fix zero length xfer bug (bsc#1051510). - commit 67743a6- blacklist.conf: Add reverted commits - commit 53e0469- serial: sh-sci: disable DMA for uart_console (bsc#1051510). - commit b9c3164- qmi_wwan: Add quirk for Quectel dynamic config (bsc#1051510). - qlcnic: Avoid potential NULL pointer dereference (bsc#1051510). - commit 0e367f8- power: supply: max14656: fix potential use-before-alloc (bsc#1051510). - PM / core: Propagate dev->power.wakeup_path when no callbacks (bsc#1051510). - power: supply: sysfs: prevent endless uevent loop with CONFIG_POWER_SUPPLY_DEBUG (bsc#1051510). - commit 5350e46- platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration (bsc#1051510). - platform/chrome: cros_ec_proto: check for NULL transfer function (bsc#1051510). - commit 25f102b- nvmem: core: fix read buffer in place (bsc#1051510). - nvmem: allow to select i.MX nvmem driver for i.MX 7D (bsc#1051510). - nvmem: Don't let a NULL cell_id for nvmem_cell_get() crash us (bsc#1051510). - nvmem: properly handle returned value nvmem_reg_read (bsc#1051510). - nvmem: imx-ocotp: Update module description (bsc#1051510). - nvmem: imx-ocotp: Enable i.MX7D OTP write support (bsc#1051510). - nvmem: imx-ocotp: Add i.MX7D timing write clock setup support (bsc#1051510). - nvmem: imx-ocotp: Move i.MX6 write clock setup to dedicated function (bsc#1051510). - nvmem: imx-ocotp: Add support for banked OTP addressing (bsc#1051510). - nvmem: imx-ocotp: Pass parameters via a struct (bsc#1051510). - nvmem: imx-ocotp: Restrict OTP write to IMX6 processors (bsc#1051510). - nvmem: correct Broadcom OTP controller driver writes (bsc#1051510). - commit 995ba83- mmc: mmci: Prevent polling for busy detection in IRQ context (bsc#1051510). - mmc: core: make pwrseq_emmc (partially) support sleepy GPIO controllers (bsc#1051510). - mmc: sdhci-of-esdhc: add erratum eSDHC-A001 and A-008358 support (bsc#1051510). - commit 4cc9ed1- mfd: tps65912-spi: Add missing of table registration (bsc#1051510). - mfd: intel-lpss: Set the device in reset state when init (bsc#1051510). - mfd: twl6040: Fix device init errors for ACCCTL register (bsc#1051510). - commit 45c05ed- drbd: Avoid Clang warning about pointless switch statment (bsc#1051510). - drbd: skip spurious timeout (ping-timeo) when failing promote (bsc#1051510). - drbd: disconnect, if the wrong UUIDs are attached on a connected peer (bsc#1051510). - drbd: narrow rcu_read_lock in drbd_sync_handshake (bsc#1051510). - commit 1b56dd8- powerpc/pseries: Fix oops in hotplug memory notifier (bsc#1138375, LTC#178204). - commit 9d7a7e0- powerpc/pseries/mobility: rebuild cacheinfo hierarchy post-migration (bsc#1138374, LTC#178199). - powerpc/pseries/mobility: prevent cpu hotplug during DT update (bsc#1138374, LTC#178199). - powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild (bsc#1138374, LTC#178199). - commit 8800c92- Update patches.fixes/0001-docs-Fix-conf.py-for-Sphinx-2.0.patch (bsc#1135642). Fix patch header. - commit ba543a6- HID: wacom: Sync INTUOSP2_BT touch state after each frame if necessary (bsc#1051510). - HID: wacom: Correct button numbering 2nd-gen Intuos Pro over Bluetooth (bsc#1051510). - HID: wacom: Send BTN_TOUCH in response to INTUOSP2_BT eraser contact (bsc#1051510). - HID: wacom: Don't report anything prior to the tool entering range (bsc#1051510). - HID: wacom: Don't set tool type until we're in range (bsc#1051510). - HID: wacom: Add support for Pro Pen slim (bsc#1051510). - HID: wacom: Mark expected switch fall-through (bsc#1051510). - HID: wacom: Move HID fix for AES serial number into wacom_hid_usage_quirk (bsc#1051510). - commit 79b71a9- HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 (bsc#1051510). - HID: wacom: convert Wacom custom usages to standard HID usages (bsc#1051510). - HID: wacom: Move handling of HID quirks into a dedicated function (bsc#1051510). - HID: wacom: Replace touch_max fixup code with static touch_max definitions (bsc#1051510). - HID: wacom: Support "in range" for Intuos/Bamboo tablets where possible (bsc#1051510). - HID: wacom: wacom_wac_collection() is local to wacom_wac.c (bsc#1051510). - HID: wacom: generic: add the "Report Valid" usage (bsc#1051510). - HID: wacom: generic: Support multiple tools per report (bsc#1051510). - commit 9c8c33c- HID: wacom: Add support for 3rd generation Intuos BT (bsc#1051510). - Refresh patches.drivers/HID-wacom-bluetooth-send-exit-report-for-recent-Blue. - commit 792a1fe- HID: wacom: Queue events with missing type/serial data for later processing (bsc#1051510). - HID: wacom: Properly handle AES serial number and tool type (bsc#1051510). - HID: Wacom: switch Dell canvas into highres mode (bsc#1051510). - HID: wacom: generic: Send BTN_STYLUS3 when both barrel switches are set (bsc#1051510). - Revert "HID: wacom: generic: Send BTN_TOOL_PEN in prox once the pen enters range" (bsc#1051510). - HID: wacom: generic: Reset events back to zero when pen leaves (bsc#1051510). - HID: wacom: generic: Send BTN_TOOL_PEN in prox once the pen enters range (bsc#1051510). - HID: wacom: generic: Leave tool in prox until it completely leaves sense (bsc#1051510). - commit 92be99e- HID: wacom: generic: Use generic codepath terminology in wacom_wac_pen_report (bsc#1051510). - HID: wacom: Remove comparison of u8 mode with zero and simplify (bsc#1051510). - HID: wacom: fix mistake in printk (bsc#1051510). - HID: wacom: generic: Refactor generic battery handling (bsc#1051510). - HID: wacom: Add ability to provide explicit battery status info (bsc#1051510). - HID: wacom: generic: Report AES battery information (bsc#1051510). - HID: wacom: generic: Ignore HID_DG_BATTERYSTRENTH == 0 (bsc#1051510). - HID: wacom: generic: Scale battery capacity measurements to percentages (bsc#1051510). - commit 8ba2cf7- blacklist.conf: Add superfluous Kconfig changes in stable commits - commit 0eb5b68- drm/i915/sdvo: Implement proper HDMI audio support for SDVO (bsc#1051510). - commit 800f685- drm/i915/perf: fix whitelist on Gen10+ (bsc#1051510). - drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration (bsc#1051510). - commit a76b3ec- perf tools: Add Hygon Dhyana support (fate#327735). - commit 26d3159- tools/cpupower: Add Hygon Dhyana support (fate#327735). - commit 2810ead- EDAC, amd64: Add Hygon Dhyana support (fate#327735). - commit a764bc7- cpufreq: Add Hygon Dhyana support (fate#327735). - commit 85f4332- cpufreq: AMD: Ignore the check for ProcFeedback in ST/CZ (fate#327735). - commit 1efb484- ACPI: Add Hygon Dhyana support (fate#327735). - commit 29482a8- x86/xen: Add Hygon Dhyana support to Xen (fate#327735). - commit 9cfd6b0- x86/kvm: Add Hygon Dhyana support to KVM (fate#327735). - commit d26ddbb- x86/mce: Add Hygon Dhyana support to the MCA infrastructure (fate#327735). - commit e8b6320- x86/bugs: Add Hygon Dhyana to the respective mitigation machinery (fate#327735). - Refresh patches.arch/x86-speculation-consolidate-cpu-whitelists.patch. - Refresh patches.arch/x86-speculation-mds-add-basic-bug-infrastructure-for-mds.patch. - commit 950ac78- x86/apic: Add Hygon Dhyana support (fate#327735). - commit 67e2d3f- x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge (fate#327735). - commit 732e9eb- x86/amd_nb: Check vendor in AMD-only functions (fate#327735). - x86/alternative: Init ideal_nops for Hygon Dhyana (fate#327735). - commit 9641595- x86/events: Add Hygon Dhyana support to PMU infrastructure (fate#327735). - commit e0edbf2- x86/smpboot: Do not use BSP INIT delay and MWAIT to idle on Dhyana (fate#327735). - commit 0a372f4- x86/cpu/mtrr: Support TOP_MEM2 and get MTRR number (fate#327735). - commit 317d610- x86/cpu: Get cache info and setup cache cpumap for Hygon Dhyana (fate#327735). - commit d0d2f71- kABI workaround for the new pci_dev.skip_bus_pm field addition (bsc#1051510). - PCI: PM: Avoid possible suspend-to-idle issue (bsc#1051510). - commit d586254- Revert "ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops" (bsc#1051510). - ASoC: cs42xx8: Add regcache mask dirty (bsc#1051510). - ASoC: fsl_asrc: Fix the issue about unsupported rate (bsc#1051510). - ALSA: oxfw: allow PCM capture for Stanton SCS.1m (bsc#1051510). - ALSA: firewire-motu: fix destruction of data for isochronous resources (bsc#1051510). - ALSA: hda/realtek - Update headset mode for ALC256 (bsc#1051510). - commit 4f42d54- x86/cpu: Create Hygon Dhyana architecture support file (fate#327735). - commit 4a184d9- Update patch referecens for two sercurity fixes (CVE-2019-12819, bsc#1138291, CVE-2019-12818, bsc#1138293). - commit 481b6f0- HID: input: fix a4tech horizontal wheel custom usage (bsc#1137429). - commit 3cf1881- drm/gma500/cdv: Check vbt config bits when detecting lvds panels (bsc#1051510). - drm/radeon: prefer lower reference dividers (bsc#1051510). - commit 44c7a53- spi: pxa2xx: Add support for Intel Comet Lake (jsc#SLE-5331). - i2c: i801: Add support for Intel Comet Lake (jsc#SLE-5331). - commit 2c93ce9- SMB3: Fix endian warning (bsc#1137884). - commit db19091- nvme-rdma: fix double freeing of async event data (bsc#1120423). - commit 88632ab- nvme-rdma: fix possible double free of controller async event buffer (bsc#1120423). - commit e0009ed- Build klp-symbols in kernel devel projects. - commit ffd0ed9- Correct the patch reference tag for scsi fix (bsc#1136922 CVE-2019-12456) - commit 84f1421- scsi: mpt3sas_ctl: fix double-fetch bug in _ctl_ioctl_main() (bsc#1136922 cve-2019-12456). - commit 4628a5a- xfs: eof trim writeback mapping as soon as it is cached (bsc#1138019). - commit 237bb05- xfs: remove XFS_IO_INVALID (bsc#1138017). - commit ac8a63b- xfs: refactor the tail of xfs_writepage_map (bsc#1138016). - commit a20daf3- xfs: remove xfs_start_page_writeback (bsc#1138015). - commit d875624- xfs: move all writeback buffer_head manipulation into xfs_map_at_offset (bsc#1138014). - commit cf774b7- xfs: don't look at buffer heads in xfs_add_to_ioend (bsc#1138013). - commit ebca087- xfs: remove the imap_valid flag (bsc#1138012). - commit 13de851- xfs: simplify xfs_map_blocks by using xfs_iext_lookup_extent directly (bsc#1138011). - commit d6e36c3- xfs: remove xfs_reflink_find_cow_mapping (bsc#1138010). - commit b578118- xfs: make xfs_writepage_map extent map centric (bsc#1138009). - commit 0709c6a- xfs: rename the offset variable in xfs_writepage_map (bsc#1138008). - commit 565882f- xfs: remove xfs_map_cow (bsc#1138007). - commit fcfbf37- xfs: remove xfs_reflink_trim_irec_to_next_cow (bsc#1138006). - commit 3e058c7- xfs: don't use XFS_BMAPI_IGSTATE in xfs_map_blocks (bsc#1138005). - commit f64d5e7- xfs: don't clear imap_valid for a non-uptodate buffers (bsc#1138018). - commit ff6d472- xfs: do not set the page uptodate in xfs_writepage_map (bsc#1138003). - commit a5dfa25- xfs: xfs_reflink_convert_cow() memory allocation deadlock (bsc#1138002). - commit c8a7c99- xfs: minor cleanup for xfs_get_blocks (bsc#1138000). - commit e483ffc- xfs: don't use XFS_BMAPI_ENTRIRE in xfs_get_blocks (bsc#1137999). - commit cf7f150- xfs: skip CoW writes past EOF when writeback races with truncate (bsc#1137998). - commit 8d2bc73- xfs: fix s_maxbytes overflow problems (bsc#1137996). - commit 62c74f8- xfs: remove unused parameter from xfs_writepage_map (bsc#1137995). - commit b3f5aef- Refresh patches.fixes/efi-x86-Add-missing-error-handling-to-old_memmap-1-1.patch Fix the missing __flush_tlb_all() call in !EFI_OLD_MEMMAP case. - commit 90f7a62- efi/x86/Add missing error handling to old_memmap 1:1 mapping code (CVE-2019-12380,bsc#1136598). - commit 692028b- rtc: don't reference bogus function pointer in kdoc (bsc#1051510). - commit 1310bf8- rtc: 88pm860x: prevent use-after-free on device remove (bsc#1051510). - commit 2c50489- rtlwifi: fix a potential NULL pointer dereference (bsc#1051510). - thunderbolt: Fix to check for kmemdup failure (bsc#1051510). - commit 7397c23- tty: serial: msm_serial: Fix XON/XOFF (bsc#1051510). - usbip: usbip_host: fix stub_dev lock context imbalance regression (bsc#1051510). - USB: rio500: fix memory leak in close after disconnect (bsc#1051510). - USB: rio500: refuse more than one device at a time (bsc#1051510). - usbip: usbip_host: fix BUG: sleeping function called from invalid context (bsc#1051510). - USB: sisusbvga: fix oops in error path of sisusb_probe (bsc#1051510). - USB: Add LPM quirk for Surface Dock GigE adapter (bsc#1051510). - USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor (bsc#1051510). - usbnet: fix kernel crash after disconnect (bsc#1051510). - tty/vt: fix write/write race in ioctl(KDSKBSENT) handler (bsc#1051510). - tty: ipwireless: fix missing checks for ioremap (bsc#1051510). - USB: core: Don't unbind interfaces following device reset failure (bsc#1051510). - usb: core: Add PM runtime calls to usb_hcd_platform_shutdown (bsc#1051510). - commit 7bab3ca- staging: vc04_services: prevent integer overflow in create_pagelist() (bsc#1051510). - Staging: vc04_services: Fix a couple error codes (bsc#1051510). - commit faf8391- vxlan: trivial indenting fix (bsc#1051510). - vxlan: use __be32 type for the param vni in __vxlan_fdb_delete (bsc#1051510). - commit e3d500e- staging: wlan-ng: fix adapter initialization failure (bsc#1051510). - w1: fix the resume command API (bsc#1051510). - commit 6503b43- fuse: fallocate: fix return with locked inode (bsc#1051510). - xhci: Use %zu for printing size_t type (bsc#1051510). - xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic() (bsc#1051510). - xhci: update bounce buffer with correct sg num (bsc#1051510). - commit 78f38a5- parport: Fix mem leak in parport_register_dev_model (bsc#1051510). - commit 12b7c53- mmc_spi: add a status check for spi_sync_locked (bsc#1051510). - commit 521d88d- mmc: sdhci-iproc: Set NO_HISPD bit to fix HS50 data hold time problem (bsc#1051510). - mmc: sdhci-iproc: cygnus: Set NO_HISPD bit to fix HS50 data hold time problem (bsc#1051510). - mmc: core: Verify SD bus width (bsc#1051510). - mmc: sdhci-of-esdhc: add erratum A-009204 support (bsc#1051510). - mmc: sdhci-of-esdhc: add erratum eSDHC5 support (bsc#1051510). - commit e02a49f- media: smsusb: better handle optional alignment (bsc#1051510). - media: usb: siano: Fix false-positive "uninitialized variable" warning (bsc#1051510). - media: usb: siano: Fix general protection fault in smsusb (bsc#1051510). - mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L (bsc#1051510). - mfd: max77620: Fix swapped FPS_PERIOD_MAX_US values (bsc#1051510). - media: coda: clear error return value before picture run (bsc#1051510). - media: ov2659: make S_FMT succeed even if requested format doesn't match (bsc#1051510). - media: au0828: stop video streaming only when last user stops (bsc#1051510). - media: au0828: Fix NULL pointer dereference in au0828_analog_stream_enable() (bsc#1051510). - media: m88ds3103: serialize reset messages in m88ds3103_set_frontend (bsc#1051510). - media: go7007: avoid clang frame overflow warning with KASAN (bsc#1051510). - media: saa7146: avoid high stack usage with clang (bsc#1051510). - media: cpia2: Fix use-after-free in cpia2_exit (bsc#1051510). - commit e681227- leds: avoid flush_work in atomic context (bsc#1051510). - mac80211/cfg80211: update bss channel on channel switch (bsc#1051510). - mac80211: Fix kernel panic due to use of txq after free (bsc#1051510). - commit a885e4a- iwlwifi: pcie: don't crash on invalid RX interrupt (bsc#1051510). - iwlwifi: mvm: check for length correctness in iwl_mvm_create_skb() (bsc#1051510). - commit 96e363c- i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr (bsc#1051510). - iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion (bsc#1051510). - iio: hmc5843: fix potential NULL pointer dereferences (bsc#1051510). - iio: common: ssp_sensors: Initialize calculated_time in ssp_common_process_data (bsc#1051510). - commit 422839a- hwmon: (pmbus/core) Treat parameters as paged if on multiple pages (bsc#1051510). - hwmon: (core) add thermal sensors only if dev->of_node is present (bsc#1051510). - gpio: fix gpio-adp5588 build errors (bsc#1051510). - fuse: honor RLIMIT_FSIZE in fuse_file_fallocate (bsc#1051510). - fuse: fix writepages on 32bit (bsc#1051510). - gpio: Remove obsolete comment about gpiochip_free_hogs() usage (bsc#1051510). - extcon: arizona: Disable mic detect if running when driver is removed (bsc#1051510). - HID: logitech-hidpp: use RAP instead of FAP to get the protocol version (bsc#1051510). - HID: logitech-hidpp: change low battery level threshold from 31 to 30 percent (bsc#1051510). - hwrng: omap - Set default quality (bsc#1051510). - commit 7e80b06- drm/amdgpu: fix old fence check in amdgpu_fence_emit (bsc#1051510). - drm/drv: Hold ref on parent device during drm_device lifetime (bsc#1051510). - drm: Wake up next in drm_read() chain if we are forced to putback the event (bsc#1051510). - commit e8a31f2- ALSA: hda/realtek - Set default power save node to 0 (bsc#1051510). - ASoC: fsl_sai: Update is_slave_mode with correct value (bsc#1051510). - ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_put (bsc#1051510). - ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put (bsc#1051510). - ASoC: hdmi-codec: unlock the device on startup errors (bsc#1051510). - brcmfmac: fix missing checks for kmemdup (bsc#1051510). - brcmfmac: convert dev_init_lock mutex to completion (bsc#1051510). - brcmfmac: fix Oops when bringing up interface during USB disconnect (bsc#1051510). - brcmfmac: fix race during disconnect when USB completion is in progress (bsc#1051510). - brcmfmac: fix WARNING during USB disconnect in case of unempty psq (bsc#1051510). - batman-adv: allow updating DAT entry timeouts on incoming ARP Replies (bsc#1051510). - chardev: add additional check for minor range overlap (bsc#1051510). - ACPI / property: fix handling of data_nodes in acpi_get_next_subnode() (bsc#1051510). - commit a683629- docs: Fix conf.py for Sphinx 2.0 (bsc#1135642). - commit dd9aa10- Documentation: Correct the possible MDS sysfs values (bsc#1135642). - commit e1b2b70- test_firmware: Use correct snprintf() limit (bsc#1135642). - commit 0c24ec2- xen/pciback: Don't disable PCI_COMMAND on PCI device reset (bsc#1065600). - commit 53b7eb9- tcp: fix fack_count accounting on tcp_shift_skb_data() (CVE-2019-11477 bsc#1137586). - commit 4a006b2- drm/i915/gvt: Fix cmd length of VEB_DI_IECP (bsc#1113722) - commit 038e070- drm/i915/gvt: refine ggtt range validation (bsc#1113722) - commit 44184d3- drm/nouveau/i2c: Disable i2c bus access after ->fini() (bsc#1113722) - commit 943a224- add CVE references to bsc#1137586 patches patches.fixes/tcp-add-tcp_min_snd_mss-sysctl.patch (add CVE-2019-11479) patches.fixes/tcp-enforce-tcp_min_snd_mss-in-tcp_mtu_probing.patch (add CVE-2019-11479) patches.fixes/tcp-limit-payload-size-of-sacked-skbs.patch (add CVE-2019-11477) patches.fixes/tcp-tcp_fragment-should-apply-sane-memory-limits.patch (add CVE-2019-11478) patches.kabi/kabi-drop-LINUX_MIB_TCPWQUEUETOOBIG-snmp-counter.patch (add CVE-2019-11478) patches.kabi/kabi-move-sysctl_tcp_min_snd_mss-to-preserve-struct-.patch (add CVE-2019-11479) - commit 2e2a3c9- NFS add module option to limit NFSv4 minor version (jsc#PM-231). - commit 3752b39- KVM: PPC: Book3S: Protect memslots while validating user address (bsc#1061840). - commit 487f82e- powerpc/powernv/idle: Restore IAMR after idle (bsc#1065729). - powerpc: Fix HMIs on big-endian with CONFIG_RELOCATABLE=y (bsc#1065729). - powerpc/msi: Fix NULL pointer access in teardown code (bsc#1065729). - powerpc/eeh: Fix race with driver un/bind (bsc#1065729). - powerpc: Always initialize input array when calling epapr_hypercall() (bsc#1065729). - commit 6105eae- KVM: PPC: Book3S HV: XIVE: Do not clear IRQ data of passthrough interrupts (bsc#1061840). - KVM: PPC: Book3S HV: Avoid lockdep debugging in TCE realmode handlers (bsc#1061840). - KVM: PPC: Release all hardware TCE tables attached to a group (bsc#1061840). - KVM: PPC: Remove redundand permission bits removal (bsc#1061840). - KVM: PPC: Validate TCEs against preregistered memory page sizes (bsc#1061840). - KVM: PPC: Validate all tces before updating tables (bsc#1061840). - commit 7ab76b6- blacklist.conf: build fix for config we don't use. e40542aff909 KVM: PPC: Book3S HV: Fix build failure without IOMMU support - commit 1b8526b- powerpc/process: Fix sparse address space warnings (bsc#1065729). - commit 7faf413- blacklist.conf: add fsl-specific nospec patches 406d2b6ae342 powerpc/64: Make meltdown reporting Book3S 64 specific ebcd1bfc33c7 powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E - commit 106942e- ibmvnic: Fix unchecked return codes of memory allocations (bsc#1137752). - ibmvnic: Refresh device multicast list after reset (bsc#1137752). - ibmvnic: Do not close unopened driver during reset (bsc#1137752). - commit 5dd1a87- ibmvnic: Add device identification to requested IRQs (bsc#1137739). - ibmvnic: remove set but not used variable 'netdev' (bsc#1137739). - net/ibmvnic: Remove tests of member address (bsc#1137739). - treewide: Use DEVICE_ATTR_WO (bsc#1137739). - Refresh patches.arch/s390-smp-fix-cpu-hotplug-deadlock-with-cpu-rescan. - commit b30515c- ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled (git-fixes). - commit 11184ff- patches.fixes/mm-Fix-modifying-of-page-protection-by-insert_pfn.patch: Fix buggy backport leading to MAP_SYNC failures (bsc#1137372) - commit 38f4efc- kernel/signal.c: trace_signal_deliver when signal_group_exit (git-fixes). - tipc: fix hanging clients using poll with EPOLLOUT flag (git-fixes). - neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit (git-fixes). - commit 5fba04a- powerpc/perf: Fix MMCRA corruption by bhrb_filter (bsc#1053043). - commit 3717d57- blacklist.conf: blacklist unsupported ppc platforms Specifically we don't support 32bit (except syscalls, signals, and ptrace which is used with 32bit processes on 64bit) don't suport embedded - fsl, pasemi, book3e, booke, 64e, 4xx, 500, 6xx, 8xx, 8xxx, 5xxx - commit 4e1e10c- Refresh patches.suse/btrfs-reloc-also-queue-orphan-reloc-tree-for-cleanup-to-avoid-bug_on.patch. - commit d9976dd- kabi: move sysctl_tcp_min_snd_mss to preserve struct net layout (bsc#1137586). Refresh patches.kabi/kabi-handle-addition-of-ip6addrlbl_table-into-struct.patch patches.kabi/kabi-handle-addition-of-uevent_sock-into-struct-net.patch - tcp: enforce tcp_min_snd_mss in tcp_mtu_probing() (bsc#1137586). - tcp: add tcp_min_snd_mss sysctl (bsc#1137586). - kabi: drop LINUX_MIB_TCPWQUEUETOOBIG snmp counter (bsc#1137586). - tcp: tcp_fragment() should apply sane memory limits (bsc#1137586). - tcp: limit payload size of sacked skbs (bsc#1137586). - commit 0a0be12- blk-mq: fix hang caused by freeze/unfreeze sequence (bsc#1128432). - commit 58aac55- rpm/post.sh: correct typo in err msg (bsc#1137625) - commit 9fe85cc- nvme: skip nvme_update_disk_info() if the controller is not live (bsc#1128432). - commit cf4fe48- of: fix clang -Wunsequenced for be32_to_cpu() (bsc#1135642). - commit 09b7c1c- net: unbreak CONFIG_RETPOLINE=n builds (bsc#1124503). - udp: use indirect call wrappers for GRO socket lookup (bsc#1124503). - net: use indirect call wrappers at GRO transport layer (bsc#1124503). - net: use indirect call wrappers at GRO network layer (bsc#1124503). - indirect call wrappers: helpers to speed-up indirect calls of builtin (bsc#1124503). - commit dbad7a1- scsi: qla2xxx: NULL check before some freeing functions is not needed (bsc#1137444). - scsi: qla2xxx: Split the __qla2x00_abort_all_cmds() function (bsc#1137444). - scsi: qla2xxx: Introduce a switch/case statement in qlt_xmit_tm_rsp() (bsc#1137444). - scsi: qla2xxx: use lower_32_bits and upper_32_bits instead of reinventing them (bsc#1137444). - commit c0027ab- scsi: qla2xxx: Remove two arguments from qlafx00_error_entry() (bsc#1137444). - scsi: qla2xxx: Make sure that qlafx00_ioctl_iosb_entry() initializes 'res' (bsc#1137444). - commit b79868f- scsi: qla2xxx: Remove a set-but-not-used variable (bsc#1137444). - Refresh patches.drivers/scsi-qla2xxx-Timeouts-occur-on-surprise-removal-of-Q.patch. - commit ea8d0d3- scsi: qla2xxx: Make qla2x00_sysfs_write_nvram() easier to analyze (bsc#1137444). - scsi: qla2xxx: Declare local functions 'static' (bsc#1137444). - scsi: qla2xxx: Improve several kernel-doc headers (bsc#1137444). - scsi: qla2xxx: fully convert to the generic DMA API (bsc#1137444). - commit c521810- Refresh patches.fixes/mm-prevent-get_user_pages-from-overflowing-page-refcount.patch. (Add one more missed check on x86 and prevent spurious warning on s390). - commit 1a7767e- scsi: qla2xxx: remove the unused tcm_qla2xxx_cmd_wq (bsc#1118139). - commit 6256c14- scsi: qla2xxx: fx00 copypaste typo (bsc#1118139). - Refresh patches.drivers/scsi-qla2xxx-Fix-small-memory-leak-in-qla2x00_probe_.patch. - commit 250a772- scsi: qla2xxx: fix error message on "existent" (bsc#1118139). - scsi: qla2xxx: Fix function argument descriptions (bsc#1118139). - scsi: qla2xxx: Remove unused symbols (bsc#1118139). - scsi: qla2xxx: Use %p for printing pointers (bsc#1118139). - commit 214e4fc- Documentation: Add MDS vulnerability documentation (bsc#1135642). - commit 6935e28- blacklist.conf: blacklist ac5b2c18911f - commit 4519279- mount: copy the port field into the cloned nfs_server structure (bsc#1136990). - commit 6c04f4e- firmware: efi: factor out mem_reserve (bsc#1117158 bsc#1134671). - commit d3b71b7- mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings (bnc#1012382). - commit ec75cec- mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies() (bsc#1136935). - commit 962016b- mwifiex: Abort at too short BSS descriptor element (bsc#1136424 CVE-2019-3846). - commit b07c2e2- mwifiex: Fix possible buffer overflows at parsing bss descriptor - commit ace6d67- Refresh patches.fixes/mm-prevent-get_user_pages-from-overflowing-page-refcount.patch. - commit 398d995- iommu/arm-smmu-v3: Don't disable SMMU in kdump kernel (bsc#1117158 bsc#1134671). - commit a343fd2- crypto: vmx - ghash: do nosimd fallback manually (bsc#1135661, bsc#1137162). - crypto: vmx - return correct error code on failed setkey (bsc#1135661, bsc#1137162). - commit 6ca8b7b- arch: arm64: acpi: KABI ginore includes (bsc#1117158 bsc#1134671). - commit 3e244cb- Refresh patches.suse/btrfs-fix-wrong-ctime-and-mtime-of-a-directory-after.patch. - commit c321464- drm/etnaviv: lock MMU while dumping core (bsc#1113722) - commit d81ef7c- drm/i915/gvt: add 0x4dfc to gen9 save-restore list (bsc#1113722) - commit 08bdb02- drm/i915/gvt: Tiled Resources mmios are in-context mmios for gen9+ (bsc#1113722) - commit 8b8d7b3- drm/vmwgfx: NULL pointer dereference from vmw_cmd_dx_view_define() (bsc#1113722) - commit 64e1c75- fbdev: fix WARNING in __alloc_pages_nodemask bug (bsc#1113722) - commit 999019d- fbdev: fix divide error in fb_var_to_videomode (bsc#1113722) - commit 88305ed- blacklist.conf: Append 'fbdev: sm712fb: use 1024x768 by default on non-MIPS, fix garbled display' - commit 6e93cf2- blacklist.conf: Append 'fbdev: sm712fb: fix support for 1024x768-16 mode' - commit 393898c- blacklist.conf: Append 'fbdev: sm712fb: fix crashes and garbled display during DPMS modesetting' - commit 2c1e780- blacklist.conf: Append 'fbdev: sm712fb: fix crashes during framebuffer writes by correctly mapping VRAM' - commit 58ac3c1- blacklist.conf: Append 'fbdev: sm712fb: fix boot screen glitch when sm712fb replaces VGA' - commit d73d11c- blacklist.conf: Append 'fbdev: sm712fb: fix VRAM detection, don't set SR70/71/74/75' - commit 4817d93- blacklist.conf: Append 'fbdev: sm712fb: fix brightness control on reboot, don't set SR30' - commit 35d7d4e- blacklist.conf: Append 'fbdev: sm712fb: fix white screen of death on reboot, don't set CR3B-CR3F' - commit b3f3380- Btrfs: fix race updating log root item during fsync (bsc#1137153). - commit a494c93- Btrfs: fix wrong ctime and mtime of a directory after log replay (bsc#1137152). - commit 91e5499- Btrfs: fix fsync not persisting changed attributes of a directory (bsc#1137151). - commit e8f83fa- arm64/x86: Update config files. Use CONFIG_ARCH_SUPPORTS_ACPI - commit 1c432af- blacklist.conf: Add 43a0541e312f iommu/tegra-smmu: Fix invalid ASID bits on Tegra30/114 - commit a23cc59- efi/arm: Revert "Defer persistent reservations until after paging_init()" (bsc#1117158). - commit e96dc10- arm64, mm, efi: Account for GICv3 LPI tables in static memblock reserve table (bsc#1117158). - commit 42a592e- efi: Reduce the amount of memblock reservations for persistent allocations (bsc#1117158). - Refresh patches.suse/0002-MODSIGN-print-appropriate-status-message-when-gettin.patch. - commit 3af452b- efi: Permit multiple entries in persistent memreserve data structure (bsc#1117158). - Refresh patches.suse/0002-MODSIGN-print-appropriate-status-message-when-gettin.patch. - commit d569a2e- efi: Prevent GICv3 WARN() by mapping the memreserve table before first use (bsc#1117158). - commit e756c85- efi: Permit calling efi_mem_reserve_persistent() from atomic context (bsc#1117158). - commit bc55ab2- efi/arm: Defer persistent reservations until after paging_init() (bsc#1117158). - commit 31eda48- efi: add API to reserve memory persistently across kexec reboot (bsc#1117158). - commit 23b0f24- efi/arm: libstub: add a root memreserve config table (bsc#1117158). - commit 955743f- efi: honour memory reservations passed via a linux specific config table (bsc#1117158). - Refresh patches.suse/0002-MODSIGN-print-appropriate-status-message-when-gettin.patch. - commit 30a4b0a- Refresh patches.suse/nvme-flush-scan_work-when-resetting-controller.patch. - commit edf089e- iommu/arm-smmu-v3: Abort all transactions if SMMU is enabled in kdump kernel (bsc#1117158). - ACPI: fix menuconfig presentation of ACPI submenu (bsc#1117158). - commit 51f7441- mm: hwpoison: fix thp split handing in soft_offline_in_use_page() (bsc#1130699, CVE-2019-10124). - commit f0e18c6- arm64: fix ACPI dependencies (bsc#1117158). - arm64: acpi: fix alignment fault in accessing ACPI (bsc#1117158). - efi/arm: map UEFI memory map even w/o runtime services enabled (bsc#1117158). - efi/arm: preserve early mapping of UEFI memory map longer for BGRT (bsc#1117158). - drivers: acpi: add dependency of EFI for arm64 (bsc#1117158). - commit 50a260e- scsi: qedf: fixup bit operations (bsc#1135542). - scsi: qedf: fixup locking in qedf_restart_rport() (bsc#1135542). - scsi: qedf: missing kref_put in qedf_xmit() (bsc#1135542). - commit aeecf02- ipv4: ip_do_fragment: Preserve skb_iif during fragmentation (networking-stable-19_05_04). - sctp: avoid running the sctp state machine recursively (networking-stable-19_05_04). - net: dsa: bcm_sf2: fix buffer overflow doing set_rxnfc (networking-stable-19_05_04). - bnxt_en: Improve multicast address setup logic (networking-stable-19_05_04). - net: phy: marvell: Fix buffer overrun with stats counters (networking-stable-19_05_04). - commit 3177994- memcg: make it work on sparse non-0-node systems (bnc#1133616). - memcg: make it work on sparse non-0-node systems kabi (bnc#1133616). - commit a3ffa5a- mmc: block: Delete gendisk before cleaning up the request queue (bsc#1127616). - commit 098f519- signal: Restore the stop PTRACE_EVENT_EXIT (git-fixes). - commit 6eedc81- rtc: da9063: set uie_unsupported when relevant (bsc#1051510). - rtc: sh: Fix invalid alarm warning for non-enabled alarm (bsc#1051510). - commit 8105b25- configfs: Fix use-after-free when accessing sd->s_dentry (bsc#1051510). - commit 5a729aa- ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops (bsc#1051510). - ARM: iop: don't use using 64-bit DMA masks (bsc#1051510). - ARM: orion: don't use using 64-bit DMA masks (bsc#1051510). - commit 1c0a657- userfaultfd: use RCU to free the task struct when fork fails (git-fixes). - switchtec: Fix unintended mask of MRPC event (git-fixes). - PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum (git-fixes). - kABI: protect struct pci_dev (kabi). - PCI: Factor out pcie_retrain_link() function (git-fixes). - kernel/sys.c: prctl: fix false positive in validate_prctl_map() (git-fixes). - ptrace: take into account saved_sigmask in PTRACE{GET,SET}SIGMASK (git-fixes). - commit 4b79357- signal: Better detection of synchronous signals (git-fixes). - signal: Always notice exiting tasks (git-fixes). - commit d78bfdd- PCI: endpoint: Use EPC's device in dma_alloc_coherent()/dma_free_coherent() (git-fixes). - kABI: protect dma-mapping.h include (kabi). - commit cdb335e- blacklist.conf: add 2 ARCH_RENESAS commits and 1 unneeded - commit 556e784- net: dsa: mv88e6xxx: fix handling of upper half of STATS_TYPE_PORT (git-fixes). - commit f9ecc4c- net/rose: fix unbound loop in rose_loopback_timer() (networking-stable-19_04_30). - net: rds: exchange of 8K and 1M pool (networking-stable-19_04_30). - net: stmmac: move stmmac_check_ether_addr() to driver probe (networking-stable-19_04_30). - net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query (networking-stable-19_04_30). - team: fix possible recursive locking when add slaves (networking-stable-19_04_30). - stmmac: pci: Adjust IOT2000 matching (networking-stable-19_04_30). - mlxsw: spectrum: Fix autoneg status in ethtool (networking-stable-19_04_30). - ipv4: set the tcp_min_rtt_wlen range from 0 to one day (networking-stable-19_04_30). - commit 96259b9- btrfs: qgroup: Check bg while resuming relocation to avoid NULL pointer dereference (bsc#1134806). - commit f7220b7- Refresh patches.suse/btrfs-reloc-also-queue-orphan-reloc-tree-for-cleanup-to-avoid-bug_on.patch. - commit 375bd5a- ipv4: add sanity checks in ipv4_link_failure() (git-fixes). - commit 905af0e- KVM: s390: kABI Workaround for 'kvm_vcpu_stat' Add halt_no_poll_steal to kvm_vcpu_stat. Hide it from the kABI checker. Related patch: KVM-s390-provide-kvm_arch_no_poll-function.patch - commit 5991d45- KVM: s390: enable CONFIG_HAVE_KVM_NO_POLL (bsc#1119222) We need to enable CONFIG_HAVE_KVM_NO_POLL for bsc#1119222 - commit df0fa87- KVM: s390: change default halt poll time to 50us (bsc#1119222). - KVM: s390: fix typo in parameter description (bsc#1119222). - KVM: s390: provide kvm_arch_no_poll function (bsc#1119222). - KVM: polling: add architecture backend to disable polling (bsc#1119222). - s390/vtime: steal time exponential moving average (bsc#1119222). - commit 705523a- btrfs: don't double unlock on error in btrfs_punch_hole (bsc#1136881). - commit e903367- ftrace/x86_64: Emulate call function while updating in breakpoint handler (bsc#1099658). - commit fae436c- x86_64: Allow breakpoints to emulate call instructions (bsc#1099658). - commit 5ac027b- x86_64: Add gap to int3 to allow for call emulation (bsc#1099658). - commit 7433070- tcp: tcp_grow_window() needs to respect tcp_space() (networking-stable-19_04_19). - net: atm: Fix potential Spectre v1 vulnerabilities (networking-stable-19_04_19). - bonding: fix event handling for stacked bonds (networking-stable-19_04_19). - ipv4: ensure rcu_read_lock() in ipv4_link_failure() (networking-stable-19_04_19). - ipv4: recompile ip options in ipv4_link_failure (networking-stable-19_04_19). - net: thunderx: don't allow jumbo frames with XDP (networking-stable-19_04_19). - net: thunderx: raise XDP MTU to 1508 (networking-stable-19_04_19). - net: fou: do not use guehdr after iptunnel_pull_offloads in gue_udp_recv (networking-stable-19_04_19). - tipc: missing entries in name table of publications (networking-stable-19_04_19). - vhost: reject zero size iova range (networking-stable-19_04_19). - commit 4c0bbc3- x86/smpboot: Rename match_die() to match_pkg() (jsc#SLE-5454). - commit abb6430- perf/x86/intel/rapl: Cosmetic rename internal variables in response to multi-die/pkg support (jsc#SLE-5454). - perf/x86/intel/uncore: Cosmetic renames in response to multi-die/pkg support (jsc#SLE-5454). - hwmon/coretemp: Cosmetic: Rename internal variables to zones from packages (jsc#SLE-5454). - thermal/x86_pkg_temp_thermal: Cosmetic: Rename internal variables to zones from packages (jsc#SLE-5454). - perf/x86/intel/cstate: Support multi-die/package (jsc#SLE-5454). - perf/x86/intel/rapl: Support multi-die/package (jsc#SLE-5454). - perf/x86/intel/uncore: Support multi-die/package (jsc#SLE-5454). - topology: Create core_cpus and die_cpus sysfs attributes (jsc#SLE-5454). - topology: Create package_cpus sysfs attribute (jsc#SLE-5454). - hwmon/coretemp: Support multi-die/package (jsc#SLE-5454). - powercap/intel_rapl: Update RAPL domain name and debug messages (jsc#SLE-5454). - thermal/x86_pkg_temp_thermal: Support multi-die/package (jsc#SLE-5454). - powercap/intel_rapl: Support multi-die/package (jsc#SLE-5454). - powercap/intel_rapl: Simplify rapl_find_package() (jsc#SLE-5454). - x86/topology: Define topology_logical_die_id() (jsc#SLE-5454). - kabi: x86/topology: Define topology_logical_die_id() (jsc#SLE-5454). - Refresh patches.kabi/x86-topology-Add-CPUID.1F-multi-die-package-support.patch. - x86/topology: Define topology_die_id() (jsc#SLE-5454). - cpu/topology: Export die_id (jsc#SLE-5454). - x86/topology: Create topology_max_die_per_package() (jsc#SLE-5454). - x86/topology: Add CPUID.1F multi-die/package support (jsc#SLE-5454). - kabi: x86/topology: Add CPUID.1F multi-die/package support (jsc#SLE-5454). - commit 1bbf122- KVM: s390: vsie: fix < 8k check for the itdba (bsc#1136206). - KVM: s390: fix memory overwrites when not using SCA entries (bsc#1136206). - KVM: s390: provide io interrupt kvm_stat (bsc#1136206). - KVM: s390: use created_vcpus in more places (bsc#1136206). - commit ac8acab- btrfs: reloc: Also queue orphan reloc tree for cleanup to avoid BUG_ON() (bsc#1133612). - commit a060248- Update cx2072x patches to follow the upstream development (bsc#1068546) - commit 994eaf4- livepatch: Remove duplicated code for early initialization (bsc#1071995). - commit d7cb081- livepatch: Remove custom kobject state handling (bsc#1071995). - commit a4335b2- livepatch: Convert error about unsupported reliable stacktrace into a warning (bsc#1071995). - commit 72f483c- blacklist.conf: blacklist unneeded git-fix for kbuild - commit 68fd002- drm/edid: Fix a missing-check bug in drm_load_edid_firmware() (CVE-2019-12382, bsc#1136586). - commit 1e30a36- xfs: serialize unaligned dio writes against all other dio writes (bsc#1134936). - commit 74a4006- tracing: Fix partial reading of trace event's id file (bsc#1136573). - commit 09f1eb3- blacklist.conf: 8ea58f1e8b11 ("objtool: Allow AR to be overridden with HOSTAR") Not needed. We can happily use just AR. - commit 8993380- objtool: Fix function fallthrough detection (bsc#1058115). - commit 0746a05- fs: prevent page refcount overflow in pipe_buf_get (CVE-2019-11487, bsc#1133190). - fs: prevent page refcount overflow in pipe_buf_get - KABI fix (CVE-2019-11487, bsc#1133190, KABI). - Refresh patches.suse/tracing-fix-buffer_ref-pipe-ops.patch. - commit c6248ad- dt-bindings: rtc: sun6i-rtc: Fix register range in example (bsc#1120902). - commit 927760c- dt-bindings: clock: r8a7796: Remove CSIREF clock (bsc#1120902). - commit c971b53- dt-bindings: clock: r8a7795: Remove CSIREF clock (bsc#1120902). - commit 3779405- dt-bindings: net: Add binding for the external clock for TI WiLink (bsc#1085535). - commit a82e24e- Btrfs: tree-checker: detect file extent items with overlapping ranges (bsc#1136478). - commit 99c28e3- Btrfs: fix race between ranged fsync and writeback of adjacent ranges (bsc#1136477). - commit 78d735d- blacklist.conf: Blacklist e5d01196c042 - commit f5f212c- blacklist.conf: Blacklist e5d01196c042 - commit 8d4155b- ext4: make sanity check in mballoc more strict (bsc#1136439). - commit 6ac995b- ext4: wait for outstanding dio during truncate in nojournal mode (bsc#1136438). - commit 638f0df- ext4: avoid panic during forced reboot due to aborted journal (bsc#1126356). - commit 0e51a34- fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount (bsc#1136435). - commit 9efa073- ocfs2: fix ocfs2 read inode data panic in ocfs2_iget (bsc#1136434). - commit c5999d1- fs/sync.c: sync_file_range(2) may use WB_SYNC_ALL writeback (bsc#1136432). - commit d0e9c49- jbd2: check superblock mapped prior to committing (bsc#1136430). - commit e8faf2c- ext4: fix data corruption caused by overlapping unaligned and aligned IO (bsc#1136428). - commit 1dc7363- blacklist.conf: not neeed for our kernel configs - commit 57259c7- p54: drop device reference count if fails to enable device (bsc#1135642). - commit 4fe5e78- keys: safe concurrent user->{session,uid}_keyring access (bsc#1135642). - commit 208d509- xenbus: drop useless LIST_HEAD in xenbus_write_watch() and xenbus_file_write() (bsc#1065600). - commit 19f3981- RDMA/rxe: Consider skb reserve space based on netdev of GID (bsc#1082387, bsc#1103992, FATE#326009). - commit 1002de7- kabi: implement map_lookup_elem_sys_only in another way (bsc#1083647). - bpf, lru: avoid messing with eviction heuristics upon syscall lookup (bsc#1083647). - bpf: add map_lookup_elem_sys_only for lookups from syscall side (bsc#1083647). - commit f662f86- Refresh patches.suse/0001-btrfs-extent-tree-Fix-a-bug-that-btrfs-is-unable-to-.patch. - commit 3d0a3c7- Bluetooth: Check key sizes only when Secure Simple Pairing is enabled (bsc#1135556). - commit 6cda879- drm/i915/gvt: do not let TRTTE and 0x4dfc write passthrough to hardware (bsc#1051510). - commit 7358223- platform/x86: pmc_atom: Add several Beckhoff Automation boards to critclk_systems DMI table (bsc#1051510). - platform/x86: pmc_atom: Add Lex 3I380D industrial PC to critclk_systems DMI table (bsc#1051510). - drm/vmwgfx: integer underflow in vmw_cmd_dx_set_shader() leading to an invalid read (bsc#1051510). - drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set (bsc#1051510). - commit 70d4924- netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule (git-fixes). - ipv6/flowlabel: wait rcu grace period before put_pid() (git-fixes). - ipv6: invert flowlabel sharing check in process and user mode (git-fixes). - netfilter: nf_tables: fix leaking object reference count (git-fixes). - netfilter: ipset: do not call ipset_nest_end after nla_nest_cancel (git-fixes). - ipvs: call ip_vs_dst_notifier earlier than ipv6_dev_notf (git-fixes). - net: don't keep lonely packets forever in the gro hash (git-fixes). - netfilter: nft_compat: do not dump private area (git-fixes). - net/ipv4: defensive cipso option parsing (git-fixes). - ip_gre: fix parsing gre header in ipgre_err (git-fixes). - net: make skb_partial_csum_set() more robust against overflows (git-fixes). - commit 86f6537- net: ena: fix return value of ena_com_config_llq_info() (bsc#1111696 bsc#1117561). - bpf: Add missed newline in verifier verbose log (bsc#1056787). - net: hns3: remove resetting check in hclgevf_reset_task_schedule (bsc#1104353 FATE#326415 bsc#1135056). - bnxt_en: Free short FW command HWRM memory in error path in bnxt_init_one() (bsc#1050242 FATE#322914). - RDMA/hns: Fix bug that caused srq creation to fail (bsc#1104427 FATE#326416). - net/sched: don't dereference a->goto_chain to read the chain index (bsc#1064802 bsc#1066129). - net/mlx5e: IPoIB, Reset QP after channels are closed (bsc#1075020). - net/mlx5e: Fix trailing semicolon (bsc#1075020). - commit 1a64be3- arm64: Export save_stack_trace_tsk() (jsc#SLE-4214). - commit 47a499b- s390/qdio: clear intparm during shutdown (bsc#1134597 LTC#177516). - commit fbf32ad- kmsg: Update message catalog to latest IBM level (2019/03/08) (bsc#1128904 LTC#176078). - commit d18ce40- Refresh patches.drm/drm-i915-Disable-LP3-watermarks-on-all-SNB-machines.patch. - commit d7b63e6- nvme-rdma: fix possible free of a non-allocated async event buffer (bsc#1120423). - commit 897ddf2- mm/mincore.c: make mincore() more conservative (CVE-2019-5489, bsc#1120843). - commit 1e17fa5- MD: fix invalid stored role for a disk (bsc#1051510). - commit 44ef4a6- mac8390: Fix mmio access size probe (bsc#1051510). - commit ae05479- l2tp: revert "l2tp: fix missing print session offset info" (bsc#1051510). - l2tp: cleanup l2tp_tunnel_delete calls (bsc#1051510). - commit 9da90d9- iw_cxgb4: only allow 1 flush on user qps (bsc#1051510). - commit 917dc56- ipvs: Fix signed integer overflow when setsockopt timeout (bsc#1051510). - ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest() (bsc#1051510). - commit c0d0472- blacklist.conf: Add reverted entries for ipvlan - commit e8535d6- ipvlan: use ETH_MAX_MTU as max mtu (bsc#1051510). - ipvlan: Add the skb->mark as flow4's member to lookup route (bsc#1051510). - ipvlan: fix ipv6 outbound device (bsc#1051510). - commit 034e32f- ipconfig: Correctly initialise ic_nameservers (bsc#1051510). - commit dfaa13c- debugfs: fix use-after-free on symlink traversal (bsc#1051510). - commit 472b149- dccp: Fix memleak in __feat_register_sp (bsc#1051510). - commit f3bfe00- crypto: vmx - CTR: always increment IV as quadword (bsc#1051510). - commit 8dd0014- 9p locks: add mount option for lock retry interval (bsc#1051510). - Refresh patches.fixes/9p-locks-fix-glock.client_id-leak-in-do_lock.patch. - commit 70d83b3- blacklist.conf: blacklist entries for unsupported fsl hypervisor - commit cd8abeb- xfrm: reset crypto_done when iterating over multiple input xfrms (git-fixes). - xfrm: reset transport header back to network header after all input transforms ahave been applied (git-fixes). - xfrm6: call kfree_skb when skb is toobig (git-fixes). - xfrm: Validate address prefix lengths in the xfrm selector (git-fixes). - netfilter: bridge: Don't sabotage nf_hook calls from an l3mdev (git-fixes). - netfilter: nf_tables: release chain in flushing set (git-fixes). - igmp: fix incorrect unsolicit report count when join group (git-fixes). - ipv6: fix cleanup ordering for pingv6 registration (git-fixes). - ipv6: fix cleanup ordering for ip6_mr failure (git-fixes). - ip6_tunnel: collect_md xmit: Use ip_tunnel_key's provided src address (git-fixes). - xfrm: fix 'passing zero to ERR_PTR()' warning (git-fixes). - net/ipv6: propagate net.ipv6.conf.all.addr_gen_mode to devices (git-fixes). - net/ipv6: reserve room for IFLA_INET6_ADDR_GEN_MODE (git-fixes). - net/ipv6: don't reinitialize ndev->cnf.addr_gen_mode on new inet6_dev (git-fixes). - net/ipv6: fix addrconf_sysctl_addr_gen_mode (git-fixes). - packet: refine ring v3 block size test to hold one frame (git-fixes). - net: socket: fix potential spectre v1 gadget in socketcall (git-fixes). - xfrm: fix missing dst_release() after policy blocking lbcast and multicast (git-fixes). - xfrm_user: prevent leaking 2 bytes of kernel memory (git-fixes). - netfilter: nf_log: don't hold nf_log_mutex during user access (git-fixes). - netfilter: nf_log: fix uninit read in nf_log_proc_dostring (git-fixes). - commit 303186e- cifs: a smb2_validate_and_copy_iov failure does not mean the handle is invalid (bsc#1144333). - commit 68f6ab0- SMB3: Allow persistent handle timeout to be configurable on mount (bsc#1144333). - commit 627d619- smb3: Fix enumerating snapshots to Azure (bsc#1144333). - commit 0a9c290- cifs: fix kref underflow in close_shroot() (bsc#1144333). - commit 615abb2- fs/cifs: Simplify ib_post_(send|recv|srq_recv)() calls (bsc#1144333). - commit 04b1ce0- cifs_lookup(): switch to d_splice_alias() (bsc#1144333). - commit 36ccce5- cifs_lookup(): cifs_get_inode_...() never returns 0 with *inode left NULL (bsc#1144333). - commit f01e8fd- ext4: zero out the unused memory region in the extent tree block (bsc#1135281 CVE-2019-11833). - commit 5827b89- ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time (bsc#1051510). - ARM: 8833/1: Ensure that NEON code always compiles with Clang (bsc#1051510). - ARM: avoid Cortex-A9 livelock on tight dmb loops (bsc#1051510). - ARM: 8840/1: use a raw_spinlock_t in unwind (bsc#1051510). - ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t (bsc#1051510). - ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify (bsc#1051510). - ARM: 8824/1: fix a migrating irq bug when hotplug cpu (bsc#1051510). - ARM: OMAP2+: fix lack of timer interrupts on CPU1 after hotplug (bsc#1051510). - ARM: OMAP2+: Variable "reg" in function omap4_dsi_mux_pads() could be uninitialized (bsc#1051510). - ARM: pxa: ssp: unneeded to free devm_ allocated data (bsc#1051510). - ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms (bsc#1051510). - commit 8a4cc44- Update config files. Debug kernel is not supported (bsc#1135492). - commit 166e766- cifs: Fix to use kmem_cache_free() instead of kfree() (bsc#1144333). - commit 3845c98- tools lib traceevent: Fix missing equality check for strcmp (bsc#1129770). - commit 677ed0a- x86/speculation/mds: Fix documentation typo (bsc#1135642). - commit 4e531e5- smb3: missing defines and structs for reparse point handling (bsc#1144333). - commit 7fa072b- smb3: if server does not support posix do not allow posix mount option (bsc#1144333). - commit 99d410c- cifs: smbd: Check for iov length on sending the last iov (bsc#1144333). - commit c0232af- Btrfs: improve performance on fsync of files with multiple hardlinks (bsc#1123454). - commit 19a09ba- Btrfs: send, flush dellaloc in order to avoid data loss (bsc#1133320). - commit 9e6fc7e- Btrfs: do not allow trimming when a fs is mounted with the nologreplay option (bsc#1135758). - commit f1cd52b- blacklist.conf: add a CVE entry that isn't needed for SLE15-SP0 - commit 6366742- Update reference tag for MDS fixes, adding mising CVE-2019-11091 - commit b6b4ce8- TTY: serial_core, add ->install (bnc#1129693). - commit f4a2fd2- vsock/virtio: Initialize core virtio vsock before registering the driver (bsc#1051510). - soc/fsl/qe: Fix an error code in qe_pin_request() (bsc#1051510). - commit 71c20f2- Refresh patches.drivers/serial-fix-race-between-flush_to_ldisc-and-tty_open.patch. Fix misapplied hunk. The second hunk should have been in uart_unthrottle. - commit 2e69a77- Update reference tag for tun security fix (CVE-2018-7191, bsc#1135603) - commit fe4b52d- blacklist.conf: Append 'drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list' - commit f377034- blacklist.conf: Append 'drm/sun4i: rgb: Change the pixel clock validation check' - commit bfb6b1e- Update config files. - commit 32d89f9- blacklist.conf: Add a blacklist entry for HD-audio core that would break kABI - commit 1d28cd1- ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug (bsc#1051510). - ALSA: hda/realtek - Corrected fixup for System76 Gazelle (gaze14) (bsc#1051510). - ALSA: hda/realtek - Avoid superfluous COEF EAPD setups (bsc#1051510). - ALSA: hda/realtek - Fixup headphone noise via runtime suspend (bsc#1051510). - ALSA: hda - Use a macro for snd_array iteration loops (bsc#1051510). - commit ed69d64- x86/mce: Don't disable MCA banks when offlining a CPU on AMD (fate#327735). - commit 956d775- xfs: force summary counter recalc at next mount (bsc#1114427). - commit 437f1ec- xfs: refactor unmount record write (bsc#1114427). - commit fd58dbe- xfs: move error injection tags into their own file (bsc#1114427). - commit 269d9c3- xfs: fix unused variable warning in xfs_buf_set_ref() (bsc#1114427). - commit b0ec684- xfs: create inode pointer verifiers (bsc#1114427). - commit 2fc02cb- xfs: buffer lru reference count error injection tag (bsc#1114427). - commit 7c870d3- xfs: add log item pinning error injection tag (bsc#1114427). - commit 50a1a91- xfs: replace log_badcrc_factor knob with error injection tag (bsc#1114427). - commit 71829d5- xfs: convert drop_writes to use the errortag mechanism (bsc#1114427). - commit 7756cd3- xfs: expose errortag knobs via sysfs (bsc#1114427). - Refresh patches.fixes/xfs-remove-unneeded-parameter-from-XFS_TEST_ERROR.patch. - commit 4c318be- xfs: export _inobt_btrec_to_irec and _ialloc_cluster_alignment for scrub (bsc#1114427). - commit 9a1c1d3- cifs: update internal module version number (bsc#1144333). - commit 7464d29- SMB3: Fix SMB3.1.1 guest mounts to Samba (bsc#1051510, bsc#1144333). - commit 4f51c39- cifs: Fix slab-out-of-bounds when tracing SMB tcon (bsc#1144333). - commit cbe5f9f- cifs: allow guest mounts to work for smb3.11 (bsc#1051510, bsc#1144333). - commit dd5b721- fix incorrect error code mapping for OBJECTID_NOT_FOUND (bsc#1144333). - commit 363dad3- CIFS: Fix an issue with re-sending rdata when transport returning -EAGAIN (bsc#1144333). - commit f215a41- CIFS: Fix an issue with re-sending wdata when transport returning -EAGAIN (bsc#1144333). - commit 58f5208- CIFS: fix POSIX lock leak and invalid ptr deref (bsc#1114542, bsc#1144333). - commit 84b9ca5- SMB3: Allow SMB3 FSCTL queries to be sent to server from tools (bsc#1144333). - commit 0fc8064- cifs: fix incorrect handling of smb2_set_sparse() return in smb3_simple_falloc (bsc#1144333). - commit be9b2e4- smb2: fix typo in definition of a few error flags (bsc#1144333). - commit 94d3a94- CIFS: make mknod() an smb_version_op (bsc#1144333). - commit 37ba4d4- cifs: remove unused value pointed out by Coverity (bsc#1144333). - commit c4f35af- SMB3: passthru query info doesn't check for SMB3 FSCTL passthru (bsc#1144333). - commit 0c79e6b- smb3: add dynamic tracepoints for simple fallocate and zero range (bsc#1144333). - commit 4b80521- cifs: fix smb3_zero_range so it can expand the file-size when required (bsc#1144333). - commit 869e25e- cifs: add SMB2_ioctl_init/free helpers to be used with compounding (bsc#1144333). - commit 2e0785f- smb3: Add dynamic trace points for various compounded smb3 ops (bsc#1144333). - commit bfb0a61- cifs: cache FILE_ALL_INFO for the shared root handle (bsc#1144333). - commit 24457c8- smb3: display volume serial number for shares in /proc/fs/cifs/DebugData (bsc#1144333). - commit 69a9bf3- cifs: simplify how we handle credits in compound_send_recv() (bsc#1144333). - commit 2c6e52b- smb3: add dynamic tracepoint for timeout waiting for credits (bsc#1144333). - commit 0205de1- smb3: display security information in /proc/fs/cifs/DebugData more accurately (bsc#1144333). - commit 45e7cec- cifs: add a timeout argument to wait_for_free_credits (bsc#1144333). - commit 5c67c91- cifs: prevent starvation in wait_for_free_credits for multi-credit requests (bsc#1144333). - commit 79213cb- cifs: wait_for_free_credits() make it possible to wait for >=1 credits (bsc#1144333). - commit 19ec29e- cifs: pass flags down into wait_for_free_credits() (bsc#1144333). - commit 4e5a6f9- cifs: change wait_for_free_request() to take flags as argument (bsc#1144333). - commit 61d499e- fs: cifs: Kconfig: pedantic formatting (bsc#1144333). - commit 236ac2b- smb3: request more credits on normal (non-large read/write) ops (bsc#1144333). - commit e7ba074- CIFS: Mask off signals when sending SMB packets (bsc#1144333). - commit 39b8127- CIFS: Return -EAGAIN instead of -ENOTSOCK (bsc#1144333). - commit 7d43c63- CIFS: Only send SMB2_NEGOTIATE command on new TCP connections (bsc#1144333). - commit 2216157- CIFS: Fix read after write for files with read caching (bsc#1051510, bsc#1144333). - commit 5b17941- smb3: for kerberos mounts display the credential uid used (bsc#1144333). - commit e768732- cifs: use correct format characters (bsc#1144333). - commit 349330a- smb3: add dynamic trace point for query_info_enter/done (bsc#1144333). - commit f313794- smb3: add dynamic trace point for smb3_cmd_enter (bsc#1144333). - commit 868407f- smb3: improve dynamic tracing of open and posix mkdir (bsc#1144333). - commit 9b6ec9e- smb3: add missing read completion trace point (bsc#1144333). - commit f768d2f- smb3: Add tracepoints for read, write and query_dir enter (bsc#1144333). - commit 57da492- smb3: add tracepoints for query dir (bsc#1144333). - commit f27bdad- smb3: Update POSIX negotiate context with POSIX ctxt GUID (bsc#1144333). - commit 1e6924b- cifs: update internal module version number (bsc#1144333). - commit 6e02e6e- CIFS: Try to acquire credits at once for compound requests (bsc#1144333). - commit d1ac7e2- CIFS: Return error code when getting file handle for writeback (bsc#1144333). - commit e5eabf3- CIFS: Move open file handling to writepages (bsc#1144333). - commit 88e44ed- CIFS: Move unlocking pages from wdata_send_pages() (bsc#1144333). - commit f35bc80- CIFS: Find and reopen a file before get MTU credits in writepages (bsc#1144333). - commit fc9ec19- CIFS: Reopen file before get SMB2 MTU credits for async IO (bsc#1144333). - commit 5d647a5- CIFS: Remove custom credit adjustments for SMB2 async IO (bsc#1144333). - commit 77a1406- CIFS: Adjust MTU credits before reopening a file (bsc#1144333). - commit 78e9be0- CIFS: Check for reconnects before sending compound requests (bsc#1144333). - commit 07d400d- CIFS: Check for reconnects before sending async requests (bsc#1144333). - commit 378cdb1- CIFS: Respect reconnect in non-MTU credits calculations (bsc#1144333). - commit eb47f27- CIFS: Respect reconnect in MTU credits calculations (bsc#1144333). - commit 96ab551- CIFS: Set reconnect instance to one initially (bsc#1144333). - commit 203835a- CIFS: Respect SMB2 hdr preamble size in read responses (bsc#1144333). - commit 2202d63- CIFS: Count SMB3 credits for malformed pending responses (bsc#1144333). - commit c414c2c- CIFS: Do not log credits when unmounting a share (bsc#1144333). - commit 0b56f16- CIFS: Always reset read error to -EIO if no response (bsc#1144333). - commit b50fd91- cifs: Accept validate negotiate if server return NT_STATUS_NOT_SUPPORTED (bsc#1144333). - commit 76d6e1d- CIFS: Do not skip SMB2 message IDs on send failures (bsc#1144333). - commit 1495978- smb3: request more credits on tree connect (bsc#1144333). - commit 78f6cae- smb3: make default i/o size for smb3 mounts larger (bsc#1144333). - commit d51d536- CIFS: Do not reset lease state to NONE on lease break (bsc#1051510, bsc#1144333). - commit 2b009f3- smb3: fix bytes_read statistics (bsc#1144333). - commit a25167c- cifs: return -ENODATA when deleting an xattr that does not exist (bsc#1144333). - commit dfbb286- cifs: add credits from unmatched responses/messages (bsc#1144333). - commit f7e3ff5- cifs: replace snprintf with scnprintf (bsc#1144333). - commit b9e1b5e- cifs: Fix NULL pointer dereference of devname (bnc#1129519). - commit 3454751- CIFS: Fix leaking locked VFS cache pages in writeback retry (bsc#1144333). - commit 8439227- cifs: update internal module version number (bsc#1144333). - commit f226dd4- CIFS: fix use-after-free of the lease keys (bsc#1144333). - commit d144209- CIFS: Do not consider -ENODATA as stat failure for reads (bsc#1144333). - commit 865bfac- CIFS: Do not count -ENODATA as failure for query directory (bsc#1051510, bsc#1144333). - commit e5bfe8c- CIFS: Fix trace command logging for SMB2 reads and writes (bsc#1144333). - commit eb75aa6- CIFS: Fix possible oops and memory leaks in async IO (bsc#1144333). - commit b2f69fa- cifs: limit amount of data we request for xattrs to CIFSMaxBufSize (bsc#1144333). - commit 3978692- cifs: fix computation for MAX_SMB2_HDR_SIZE (bsc#1144333). - commit f3a9346- cifs: print CIFSMaxBufSize as part of /proc/fs/cifs/DebugData (bsc#1144333). - commit 8f07afe- smb3: add credits we receive from oplock/break PDUs (bsc#1144333). - commit 87f92a0- CIFS: Fix mounts if the client is low on credits (bsc#1144333). - commit 76a2d83- CIFS: Do not assume one credit for async responses (bsc#1144333). - commit 6184794- CIFS: Fix credit calculations in compound mid callback (bsc#1144333). - commit 12e2df3- CIFS: Fix credit calculation for encrypted reads with errors (bsc#1051510, bsc#1144333). - commit 77d31e3- CIFS: Fix credits calculations for reads with errors (bsc#1051510, bsc#1144333). - commit 3425dd4- CIFS: Do not reconnect TCP session in add_credits() (bsc#1051510, bsc#1144333). - commit 43a8d95- smb3: Cleanup license mess (bsc#1144333). - commit 96ab85f- CIFS: Fix possible hang during async MTU reads and writes (bsc#1051510, bsc#1144333). - commit f42401b- cifs: fix memory leak of an allocated cifs_ntsd structure (bsc#1144333). - commit 1b0facc- cifs: update internal module version number (bsc#1144333). - commit b2ce5d5- CIFS: Fix error paths in writeback code (bsc#1144333). - commit f308483- CIFS: Move credit processing to mid callbacks for SMB3 (bsc#1144333). - commit f1f1223- CIFS: Fix credits calculation for cancelled requests (bsc#1144333). - commit f982603- cifs: Fix potential OOB access of lock element array (bsc#1051510, bsc#1144333). - commit 30c45eb- cifs: Limit memory used by lock request calls to a page (bsc#1144333). - commit 5aef325- cifs: move large array from stack to heap (bsc#1144333). - commit 629e8fc- CIFS: Do not hide EINTR after sending network packets (bsc#1051510, bsc#1144333). - commit 01f77d5- CIFS: Fix credit computation for compounded requests (bsc#1144333). - commit b4a44d3- CIFS: Do not set credits to 1 if the server didn't grant anything (bsc#1144333). - commit c6cfe86- CIFS: Fix adjustment of credits for MTU requests (bsc#1051510, bsc#1144333). - commit 09b367d- cifs: Fix a tiny potential memory leak (bsc#1144333). - commit 8389de5- cifs: Fix a debug message (bsc#1144333). - commit d393ca3- smb3: add smb3.1.1 to default dialect list (bsc#1144333). - commit 653d973- cifs: fix confusing warning message on reconnect (bsc#1144333). - commit 1bc1769- smb3: fix large reads on encrypted connections (bsc#1144333). - commit be94072- cifs: update internal module version number (bsc#1144333). - commit b83644e- cifs: we can not use small padding iovs together with encryption (bsc#1144333). - commit a647d0f- cifs: Minor Kconfig clarification (bsc#1144333). - commit ea760b7- cifs: Always resolve hostname before reconnecting (bsc#1051510, bsc#1144333). - commit ab372db- cifs: Add support for failover in cifs_reconnect_tcon() (bsc#1144333). - commit d743568- cifs: Add support for failover in smb2_reconnect() (bsc#1144333). - commit 9cc4cfe- cifs: Only free DFS target list if we actually got one (bsc#1144333). - commit 75a4193- cifs: start DFS cache refresher in cifs_mount() (bsc#1144333). - commit a6460ef- cifs: Use GFP_ATOMIC when a lock is held in cifs_mount() (bsc#1144333). - commit a7084cb- cifs: Add support for failover in cifs_reconnect() (bsc#1144333). - commit 97c72ce- cifs: Add support for failover in cifs_mount() (bsc#1144333). - commit 30da61c- cifs: remove set but not used variable 'sep' (bsc#1144333). - commit 22614a6- cifs: Make use of DFS cache to get new DFS referrals (bsc#1144333). - commit 90cce04- cifs: check kzalloc return (bsc#1144333). - commit 6d6439c- cifs: remove set but not used variable 'server' (bsc#1144333). - commit 5666e23- cifs: Use kzfree() to free password (bsc#1144333). - commit 9b5a04d- cifs: Add DFS cache routines (bsc#1144333). - commit 30e70bb- cifs: Save TTL value when parsing DFS referrals (bsc#1144333). - commit 60f8dc6- cifs: auto disable 'serverino' in dfs mounts (bsc#1144333). - commit f2a0a09- cifs: Make devname param optional in cifs_compose_mount_options() (bsc#1144333). - commit 3acacec- cifs: Skip any trailing backslashes from UNC (bsc#1144333). - commit 9d380ad- cifs: Refactor out cifs_mount() (bsc#1144333). - commit 2e16c94- CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem (bsc#1051510, bsc#1144333). - commit ee13ef4- CIFS: return correct errors when pinning memory failed for direct I/O (bsc#1144333). - commit a8d345c- CIFS: use the correct length when pinning memory for direct I/O for write (bsc#1144333). - commit 055d1d5- cifs: check ntwrk_buf_start for NULL before dereferencing it (bsc#1144333). - commit d7754fb- cifs: remove coverity warning in calc_lanman_hash (bsc#1144333). - commit afaec00- cifs: remove set but not used variable 'smb_buf' (bsc#1144333). - commit 875f95a- cifs: suppress some implicit-fallthrough warnings (bsc#1144333). - commit 2c43cd3- cifs: change smb2_query_eas to use the compound query-info helper (bsc#1144333). - commit 386a052- Add vers=3.0.2 as a valid option for SMBv3.0.2 (bsc#1144333). - commit 0271862- cifs: create a helper function for compound query_info (bsc#1144333). - commit c9a1bc7- cifs: address trivial coverity warning (bsc#1144333). - commit 0b6758a- cifs: smb2 commands can not be negative, remove confusing check (bsc#1144333). - commit b6b77e4- cifs: use a compound for setting an xattr (bsc#1144333). - commit 5b12a67- cifs: clean up indentation, replace spaces with tab (bsc#1144333). - commit d4b4c5b- smb3: Fix rmdir compounding regression to strict servers (bsc#1144333). - commit 49563e4- CIFS: Avoid returning EBUSY to upper layer VFS (bsc#1144333). - commit 4869979- cifs: Fix separator when building path from dentry (bsc#1051510, bsc#1144333). - commit 9d852da- cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs) (bsc#1144333). - commit b62ba51- cifs: fix signed/unsigned mismatch on aio_read patch (bsc#1144333). - commit b3103c7- cifs: don't dereference smb_file_target before null check (bsc#1051510, bsc#1144333). - commit f46e1bc- CIFS: Add direct I/O functions to file_operations (bsc#1144333). - commit 21498fd- CIFS: Add support for direct I/O write (bsc#1144333). - commit f09dbb1- CIFS: Add support for direct I/O read (bsc#1144333). - commit d458a08- smb3: on kerberos mount if server doesn't specify auth type use krb5 (bsc#1051510, bsc#1144333). - commit 0bca5b4- smb3: add trace point for tree connection (bsc#1144333). - commit 7e01105- cifs: fix spelling mistake, EACCESS -> EACCES (bsc#1144333). - commit 24acada- cifs: fix return value for cifs_listxattr (bsc#1051510, bsc#1144333). - commit e712206- cifs: update internal module version number for cifs.ko to 2.14 (bsc#1144333). - commit 3e4e82a- smb3: add debug for unexpected mid cancellation (bsc#1144333). - commit 840c007- cifs: allow calling SMB2_xxx_free(NULL) (bsc#1144333). - commit c73ac60- smb3 - clean up debug output displaying network interfaces (bsc#1144333). - commit cd37173- smb3: show number of current open files in /proc/fs/cifs/Stats (bsc#1144333). - commit 036c847- cifs: add support for ioctl on directories (bsc#1144333). - commit 55a421b- cifs: fallback to older infolevels on findfirst queryinfo retry (bsc#1144333). - commit 95d13f3- smb3: do not attempt cifs operation in smb3 query info error path (bsc#1051510, bsc#1144333). - commit cc10f95- smb3: send backup intent on compounded query info (bsc#1144333). - commit 31189b6- cifs: track writepages in vfs operation counters (bsc#1144333). - commit d316ce5- smb2: fix uninitialized variable bug in smb2_ioctl_query_info (bsc#1144333). - commit 631d8d6- cifs: add IOCTL for QUERY_INFO passthrough to userspace (bsc#1144333). - commit e4908f1- cifs: minor clarification in comments (bsc#1144333). - commit 32759bb- CIFS: Print message when attempting a mount (bsc#1144333). - commit b43e6a9- CIFS: Adds information-level logging function (bsc#1144333). - commit b88e3c1- cifs: OFD locks do not conflict with eachothers (bsc#1051510, bsc#1144333). - commit b6fdf1b- CIFS: SMBD: Do not call ib_dereg_mr on invalidated memory registration (bsc#1144333). - commit f4f9160- CIFS: pass page offsets on SMB1 read/write (bsc#1144333). - commit 1a0e880- fs/cifs: fix uninitialised variable warnings (bsc#1144333). - commit c1745e9- smb3: add tracepoint for sending lease break responses to server (bsc#1144333). - commit 36cd9b7- cifs: do not return atime less than mtime (bsc#1144333). - commit 143e27f- smb3: update default requested iosize to 4MB from 1MB for recent dialects (bsc#1144333). - commit 5a9e797- smb3: Add debug message later in smb2/smb3 reconnect path (bsc#1144333). - commit 2026c25- CIFS: make 'nodfs' mount opt a superblock flag (bsc#1051510, bsc#1144333). - commit 6a0fc8f- smb3: track the instance of each session for debugging (bsc#1144333). - commit a85af4a- smb3: minor missing defines relating to reparse points (bsc#1144333). - commit a2bc0a9- smb3: add way to control slow response threshold for logging and stats (bsc#1144333). - commit 08ac21a- cifs: minor updates to module description for cifs.ko (bsc#1144333). - commit 85b442a- cifs: protect against server returning invalid file system block size (bsc#1144333). - commit bdfadb0- smb3: allow stats which track session and share reconnects to be reset (bsc#1051510, bsc#1144333). - commit 261fe49- SMB3: Backup intent flag missing from compounded ops (bsc#1144333). - commit 92e6870- cifs: create a define for the max number of iov we need for a SMB2 set_info (bsc#1144333). - commit e539455- cifs: change SMB2_OP_RENAME and SMB2_OP_HARDLINK to use compounding (bsc#1144333). - commit d069f0a- xfs: sanity-check the unused space before trying to use it (bsc#1123663). - commit d9d191e- xfs: refactor btree block header checking functions (bsc#1123663). - commit 59af3d5- xfs: refactor btree pointer checks (bsc#1123663). - commit a98bae6- cifs: remove the is_falloc argument to SMB2_set_eof (bsc#1144333). - commit 0643e36- cifs: change SMB2_OP_SET_INFO to use compounding (bsc#1144333). - commit d8d2551- xfs: create block pointer check functions (bsc#1123663). - commit 69250e0- cifs: change SMB2_OP_SET_EOF to use compounding (bsc#1144333). - commit 661207b- xfs: check _btree_check_block value (bsc#1123663). - commit 678f7f4- cifs: make rmdir() use compounding (bsc#1144333). - commit c27dee2- xfs: rename MAXPATHLEN to XFS_SYMLINK_MAXLEN (bsc#1123663). - commit 2ba49d2- cifs: create helpers for SMB2_set_info_init/free() (bsc#1144333). - commit 6a229a7- xfs: remove unneeded parameter from XFS_TEST_ERROR (bsc#1123663). - Refresh patches.fixes/0038-xfs-split-xfs_bmap_shift_extents.patch. - commit 468fad3- xfs: make errortag a per-mountpoint structure (bsc#1123663). - commit 49ab9ae- xfs: export various function for the online scrubber (bsc#1123663). - commit 0f5a146- cifs: change unlink to use a compound (bsc#1144333). - commit 7fb5bcc- cifs: change mkdir to use a compound (bsc#1144333). - commit fd31c93- cifs: add a smb2_compound_op and change QUERY_INFO to use it (bsc#1144333). - commit f6b452e- cifs: fix a credits leak for compund commands (bsc#1144333). - commit 3a73eae- smb3: add tracepoint to catch cases where credit refund of failed op overlaps reconnect (bsc#1144333). - commit 8a60cb1- power: supply: axp20x_usb_power: Fix typo in VBUS current limit macros (bsc#1051510). - power: supply: axp288_charger: Fix unchecked return value (bsc#1051510). - team: set slave to promisc if team is already in promisc mode (bsc#1051510). - commit 960072f- cifs: remove set but not used variable 'cifs_sb' (bsc#1144333). - commit b0206f8- cifs: Use kmemdup rather than duplicating its implementation in smb311_posix_mkdir() (bsc#1144333). - commit 391676b- smb3: do not display confusing message on mount to Azure servers (bsc#1144333). - commit d180654- smb3: fix lease break problem introduced by compounding (bsc#1144333). - commit 029fcc0- cifs: only wake the thread for the very last PDU in a compound (bsc#1144333). - commit 484a4a9- cifs: add a warning if we try to to dequeue a deleted mid (bsc#1144333). - commit 05b4a01- smb2: fix missing files in root share directory listing (bsc#1112907, bsc#1144333). - commit 3108c8c- cifs: read overflow in is_valid_oplock_break() (bsc#1144333). - commit 04e56fc- cifs: integer overflow in in SMB2_ioctl() (bsc#1051510, bsc#1144333). - commit e8f9960- CIFS: fix wrapping bugs in num_entries() (bsc#1051510, bsc#1144333). - commit 49a1326- cifs: prevent integer overflow in nxt_dir_entry() (bsc#1051510, bsc#1144333). - commit 9419e33- fs/cifs: require sha512 (bsc#1051510, bsc#1144333). - commit 667714a- appletalk: Fix compile regression (bsc#1051510). - appletalk: Fix use-after-free in atalk_proc_exit (bsc#1051510). - commit f7c1154- fs/cifs: suppress a string overflow warning (bsc#1144333). - commit 2052a84- cifs: connect to servername instead of IP for IPC$ share (bsc#1051510, bsc#1144333). - commit 3eeaa88- smb3: check for and properly advertise directory lease support (bsc#1051510, bsc#1144333). - commit ee6bae2- ACPI: button: reinitialize button state upon resume (bsc#1051510). - drm/imx: don't skip DP channel disable for background plane (bsc#1051510). - ACPI / utils: Drop reference in test for device presence (bsc#1051510). - commit df10ac3- smb3: minor debugging clarifications in rfc1001 len processing (bsc#1144333). - commit 101f78e- SMB3: Backup intent flag missing for directory opens with backupuid mounts (bsc#1051510, bsc#1144333). - commit 8339bc2- fs/cifs: don't translate SFM_SLASH (U+F026) to backslash (bsc#1144333). - commit 519a906- cifs: update internal module version number for cifs.ko to 2.12 (bsc#1144333). - commit e4e5c10- cifs: check kmalloc before use (bsc#1051510, bsc#1144333). - commit 623829b- cifs: check if SMB2 PDU size has been padded and suppress the warning (bsc#1144333). - commit 8110eac- cifs: create a define for how many iovs we need for an SMB2_open() (bsc#1144333). - commit e6177e7- smb3: create smb3 equivalent alias for cifs pseudo-xattrs (bsc#1144333). - commit de22c0d- smb3: allow previous versions to be mounted with snapshot= mount parm (bsc#1144333). - commit 529fe9d- Input: synaptics-rmi4 - fix possible double free (bsc#1051510). - gpu: ipu-v3: dp: fix CSC handling (bsc#1051510). - spi: ST ST95HF NFC: declare missing of table (bsc#1051510). - spi: Micrel eth switch: declare missing of table (bsc#1051510). - iio: adc: xilinx: fix potential use-after-free on remove (bsc#1051510). - HID: input: add mapping for "Toggle Display" key (bsc#1051510). - HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys (bsc#1051510). - HID: input: add mapping for Expose/Overview key (bsc#1051510). - Input: elan_i2c - add hardware ID for multiple Lenovo laptops (bsc#1051510). - mISDN: Check address length before reading address family (bsc#1051510). - nl80211: Add NL80211_FLAG_CLEAR_SKB flag for other NL commands (bsc#1051510). - mac80211: fix memory accounting with A-MSDU aggregation (bsc#1051510). - mac80211: fix unaligned access in mesh table hash function (bsc#1051510). - ACPICA: Namespace: remove address node from global list after method termination (bsc#1051510). - drm/rockchip: fix for mailbox read validation (bsc#1051510). - vt: always call notifier with the console lock held (bsc#1051510). - drm/i915: Disable LP3 watermarks on all SNB machines (bsc#1051510). - devres: Align data[] to ARCH_KMALLOC_MINALIGN (bsc#1051510). - drm/i915: Downgrade Gen9 Plane WM latency error (bsc#1051510). - ACPICA: AML interpreter: add region addresses in global list during initialization (bsc#1051510). - leds: pwm: silently error out on EPROBE_DEFER (bsc#1051510). - commit a9825cc- cifs: don't show domain= in mount output when domain is empty (bsc#1144333). - commit b8f2d8d- cifs: add missing support for ACLs in SMB 3.11 (bsc#1051510, bsc#1144333). - commit 595ccf9- smb3: enumerating snapshots was leaving part of the data off end (bsc#1051510, bsc#1144333). - commit 0c7ae4c- cifs: update smb2_queryfs() to use compounding (bsc#1144333). - commit 485f10e- cifs: update receive_encrypted_standard to handle compounded responses (bsc#1144333). - commit 880f97e- cifs: create SMB2_open_init()/SMB2_open_free() helpers (bsc#1144333). - commit 84bdf43- cifs: add SMB2_query_info_[init|free]() (bsc#1144333). - commit 8c47233- cifs: add SMB2_close_init()/SMB2_close_free() (bsc#1144333). - commit 1ca2fcd- smb3: display stats counters for number of slow commands (bsc#1144333). - commit b08a4cc- CIFS: fix uninitialized ptr deref in smb2 signing (bsc#1144333). - commit 6c7e58e- smb3: Do not send SMB3 SET_INFO if nothing changed (bsc#1051510, bsc#1144333). - commit 5268023- smb3: fix minor debug output for CONFIG_CIFS_STATS (bsc#1144333). - commit 7dc7709- smb3: add tracepoint for slow responses (bsc#1144333). - commit 5d9dd2d- cifs: add compound_send_recv() (bsc#1144333). - commit 8f8adfe- cifs: make smb_send_rqst take an array of requests (bsc#1144333). - commit 0e34c1e- cifs: update init_sg, crypt_message to take an array of rqst (bsc#1144333). - commit f4403e5- smb3: fix reset of bytes read and written stats (bsc#1112906, bsc#1144333). - commit d6ac362- smb3: display bytes_read and bytes_written in smb3 stats (bsc#1144333). - commit 4fb8374- cifs: simple stats should always be enabled (bsc#1144333). - commit 58de6f9- cifs: use a refcount to protect open/closing the cached file handle (bsc#1144333). - commit 6c4f09e- smb3: add reconnect tracepoints (bsc#1144333). - commit af16afc- smb3: add tracepoint for session expired or deleted (bsc#1144333). - commit 9b0e1bc- cifs: remove unused stats (bsc#1144333). - commit 911bb06- smb3: don't request leases in symlink creation and query (bsc#1051510, bsc#1144333). - commit 22074db- smb3: remove per-session operations from per-tree connection stats (bsc#1144333). - commit cbbc544- SMB3: Number of requests sent should be displayed for SMB3 not just CIFS (bsc#1144333). - commit af0a3a0- smb3: snapshot mounts are read-only and make sure info is displayable about the mount (bsc#1144333). - commit e3301d9- smb3: remove noisy warning message on mount (bsc#1129664, bsc#1144333). - commit e4e3a6f- smb3: simplify code by removing CONFIG_CIFS_SMB311 (bsc#1051510, bsc#1144333). - commit 149aeb7- cifs: add missing debug entries for kconfig options (bsc#1051510, bsc#1144333). - commit 0ced478- smb3: add support for statfs for smb3.1.1 posix extensions (bsc#1144333). - commit 4c29597- smb3: fill in statfs fsid and correct namelen (bsc#1112905, bsc#1144333). - commit 2adf99a- cifs: Make sure all data pages are signed correctly (bsc#1144333). - commit ae1c766- CIFS: fix memory leak and remove dead code (bsc#1144333). - commit bf039a7- Update config files. - cifs: allow disabling insecure dialects in the config (bsc#1144333). - commit 81bf3fd- Move stuff git_sort chokes on, out of the way - commit 5cfd89f- cifs: Silence uninitialized variable warning (bsc#1144333). - commit de882a0- media: davinci/vpbe: array underflow in vpbe_enum_outputs() (bsc#1051510). - media: omap_vout: potential buffer overflow in vidioc_dqbuf() (bsc#1051510). - media: atmel: atmel-isc: fix INIT_WORK misplacement (bsc#1051510). - configfs: fix possible use-after-free in configfs_register_group (bsc#1051510). - thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power (bsc#1051510). - drm/bridge: adv7511: Fix low refresh rate selection (bsc#1051510). - drm/i915/fbc: disable framebuffer compression on GeminiLake (bsc#1051510). - crypto: caam - fix caam_dump_sg that iterates through scatterlist (bsc#1051510). - commit 5537bec- cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf() (bsc#1051510, bsc#1144333). - commit c1c1d92- cifs: Fix infinite loop when using hard mount option (bsc#1091171, bsc#1144333). - commit 9efe8de- cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting (bsc#1144333). - commit 9a088fc- cifs: Fix memory leak in smb2_set_ea() (bsc#1051510, bsc#1144333). - commit 5fd3308- cifs: fix SMB1 breakage (bsc#1144333). - commit adca1c0- cifs: Fix validation of signed data in smb2 (bsc#1144333). - commit d78f0b2- cifs: Fix validation of signed data in smb3+ (bsc#1144333). - commit 636b9ed- cifs: Fix use after free of a mid_q_entry (bsc#1112903, bsc#1144333). - commit d47c2fb- cifs: Fix invalid check in __cifs_calc_signature() (bsc#1144333). - commit 59bb8ba- cifs: Use correct packet length in SMB2_TRANSFORM header (bsc#1144333). - commit 5fdece5- smb3: fix corrupt path in subdirs on smb311 with posix (bsc#1144333). - commit b47d93b- smb3: do not display empty interface list (bsc#1144333). - commit 2055cf7- smb3: Fix mode on mkdir on smb311 mounts (bsc#1144333). - commit 90640a7- cifs: Fix kernel oops when traceSMB is enabled (bsc#1144333). - commit a87cd36- CIFS: dump every session iface info (bsc#1144333). - commit 3820321- CIFS: parse and store info on iface queries (bsc#1144333). - commit 883e2c6- CIFS: add iface info to struct cifs_ses (bsc#1144333). - commit a89b0a1- CIFS: complete PDU definitions for interface queries (bsc#1144333). - commit c7ea237- CIFS: move default port definitions to cifsglob.h (bsc#1144333). - commit cfa8ece- cifs: Fix encryption/signing (bsc#1144333). - commit 613d27c- cifs: update __smb_send_rqst() to take an array of requests (bsc#1144333). - commit 83f1d85- cifs: remove smb2_send_recv() (bsc#1144333). - commit 27db550- cifs: push rfc1002 generation down the stack (bsc#1144333). - commit 8bd128f- rxrpc: Fix transport sockopts to get IPv4 errors on an IPv6 socket (git-fixes). - l2tp: fix missing refcount drop in pppol2tp_tunnel_ioctl() (git-fixes). - packet: reset network header if packet shorter than ll reserved space (git-fixes). - packet: fix reserve calculation (git-fixes). - commit 7586350- smb3: increase initial number of credits requested to allow write (bsc#1144333). - commit cbc385b- cifs: add lease tracking to the cached root fid (bsc#1144333). - commit 4161268- smb3: note that smb3.11 posix extensions mount option is experimental (bsc#1144333). - commit 243da7f- cifs: fix a buffer leak in smb2_query_symlink (bsc#1144333). - commit d2d3c97- smb3: do not allow insecure cifs mounts when using smb3 (bsc#1144333). - commit b77ecfc- CIFS: Fix NULL ptr deref (bsc#1144333). - commit 75d9c3f- CIFS: fix encryption in SMB3.1.1 (bsc#1144333). - commit 26e5e5e- CIFS: Pass page offset for encrypting (bsc#1144333). - commit 51f05ed- CIFS: Pass page offset for calculating signature (bsc#1144333). - commit 89b986f- CIFS: SMBD: Support page offset in memory registration (bsc#1144333). - commit 0417817- CIFS: SMBD: Support page offset in RDMA recv (bsc#1144333). - commit 55e7820- CIFS: SMBD: Support page offset in RDMA send (bsc#1144333). - commit ca0de2e- CIFS: When sending data on socket, pass the correct page offset (bsc#1144333). - commit 0eeceff- CIFS: Introduce helper function to get page offset and length in smb_rqst (bsc#1144333). - commit f2d5055- CIFS: Calculate the correct request length based on page offset and tail size (bsc#1144333). - commit 6f34b00- cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class (bsc#1051510, bsc#1144333). - commit 37d522c- CIFS: Fix signing for SMB2/3 (bsc#1144333). - commit 9293199- CIFS: Add support for direct pages in wdata (bsc#1144333). - commit e36f228- CIFS: Use offset when reading pages (bsc#1144333). - commit 8ea50a8- CIFS: Add support for direct pages in rdata (bsc#1144333). - commit 41826e1- cifs: update multiplex loop to handle compounded responses (bsc#1144333). - commit ac6c32f- cifs: remove header_preamble_size where it is always 0 (bsc#1144333). - commit a6b93f4- cifs: remove struct smb2_hdr (bsc#1144333). - commit a3f4540- CIFS: check for STATUS_USER_SESSION_DELETED (bsc#1112902, bsc#1144333). - commit 1f55e1b- cifs: change smb2_get_data_area_len to take a smb2_sync_hdr as argument (bsc#1144333). - commit d1b33f4- cifs: update smb2_calc_size to use smb2_sync_hdr instead of smb2_hdr (bsc#1144333). - commit 0fbe7bf- cifs: remove struct smb2_oplock_break_rsp (bsc#1144333). - commit 037a8e6- cifs: remove rfc1002 header from all SMB2 response structures (bsc#1144333). - commit aee5ad9- smb3: on reconnect set PreviousSessionId field (bsc#1112899, bsc#1144333). - commit 58ac08c- smb3: Add posix create context for smb3.11 posix mounts (bsc#1144333). - commit 21ca206- smb3: add tracepoints for smb2/smb3 open (bsc#1144333). - commit d87d42b- cifs: add debug output to show nocase mount option (bsc#1144333). - commit 12df628- smb3: add define for id for posix create context and corresponding struct (bsc#1144333). - commit 51ec5ca- cifs: update smb2_check_message to handle PDUs without a 4 byte length header (bsc#1144333). - commit 485cf67- smb3: allow posix mount option to enable new SMB311 protocol extensions (bsc#1144333). - commit d10ae9f- smb3: add support for posix negotiate context (bsc#1144333). - commit 369dc05- cifs: allow disabling less secure legacy dialects (bsc#1144333). - commit bcccc76- cifs: make minor clarifications to module params for cifs.ko (bsc#1144333). - commit d450bfd- cifs: show the w bit for writeable /proc/fs/cifs/* files (bsc#1144333). - commit 135d482- smb3: add module alias for smb3 to cifs.ko (bsc#1144333). - commit 72710bc- cifs: return error on invalid value written to cifsFYI (bsc#1144333). - commit 5841f4f- cifs: invalidate cache when we truncate a file (bsc#1051510, bsc#1144333). - commit 0f7776d- smb3: print tree id in debugdata in proc to be able to help logging (bsc#1144333). - commit 647a749- smb3: add additional ftrace entry points for entry/exit to cifs.ko (bsc#1144333). - commit cb9802c- smb3: fix various xid leaks (bsc#1051510, bsc#1144333). - commit c7dbd56- CIFS: Introduce offset for the 1st page in data transfer structures (bsc#1144333). - commit 97133e1- smb3: Add ftrace tracepoints for improved SMB3 debugging (bsc#1144333). - commit e89fde2- netfilter: x_tables: initialise match/target check parameter struct (git-fixes). - commit ab0a962- netfilter: ebtables: reject non-bridge targets (git-fixes). - commit a3d82d8- ipvs: fix check on xmit to non-local addresses (git-fixes). - commit c2a2828- Refresh patches.suse/sched-do-not-re-read-h_load_next-during-hierarchical-load-calculation.patch. Add upstream reference and move to sorted section. - commit e41744b- bnxt_en: Reset device on RX buffer errors (networking-stable-19_04_10). - bnxt_en: Improve RX consumer index validity check (networking-stable-19_04_10). - tcp: Ensure DCTCP reacts to losses (networking-stable-19_04_10). - net/sched: act_sample: fix divide by zero in the traffic path (networking-stable-19_04_10). - net-gro: Fix GRO flush when receiving a GSO packet (networking-stable-19_04_10). - ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type (networking-stable-19_04_10). - sctp: initialize _pad of sockaddr_in before copying to user memory (networking-stable-19_04_10). - net/sched: fix ->get helper of the matchall cls (networking-stable-19_04_10). - vrf: check accept_source_route on the original netdevice (networking-stable-19_04_10). - kABI: protect ip_options_rcv_srr (kabi). - net/mlx5e: Add a lock on tir list (networking-stable-19_04_10). - kABI: protect struct mlx5_td (kabi). - net/mlx5e: Fix error handling when refreshing TIRs (networking-stable-19_04_10). - net/mlx5: Decrease default mr cache size (networking-stable-19_04_10). - net: ethtool: not call vzalloc for zero sized memory request (networking-stable-19_04_10). - commit cb65757- smb3: rename encryption_required to smb3_encryption_required (bsc#1144333). - commit 2a0a3c2- cifs: update internal module version number for cifs.ko to 2.12 (bsc#1144333). - commit 709609c- cifs: add a new SMB2_close_flags function (bsc#1144333). - commit 52233b5- cifs: store the leaseKey in the fid on SMB2_open (bsc#1051510, bsc#1144333). - commit afdf64d- cifs: fix build break when CONFIG_CIFS_DEBUG2 enabled (bsc#1144333). - commit d25b49e- cifs: update calc_size to take a server argument (bsc#1144333). - commit 2aee34a- cifs: add server argument to the dump_detail method (bsc#1144333). - commit 4ed0919- smb3: fix redundant opens on root (bsc#1144333). - commit 6773807- smb3: directory sync should not return an error (bsc#1051510, bsc#1144333). - commit 9d0b0b3- cifs: smb2ops: Fix listxattr() when there are no EAs (bsc#1051510, bsc#1144333). - commit 7c12818- cifs: smbd: Enable signing with smbdirect (bsc#1144333). - commit 0fbaf77- cifs: Allocate validate negotiation request through kmalloc (bsc#1144333). - commit 0ebd97f- cifs: smbd: depend on INFINIBAND_ADDR_TRANS (bsc#1144333). - commit 8792c7c- cifs: smbd: Avoid allocating iov on the stack (bsc#1144333). - commit fd39a05- cifs: smbd: Don't use RDMA read/write when signing is used (bsc#1144333). - commit 36f2bb8- SMB311: Fix reconnect (bsc#1051510, bsc#1144333). - commit d72a275- SMB3: Fix 3.11 encryption to Windows and handle encrypted smb3 tcon (bsc#1051510, bsc#1144333). - commit 63da32b- CIFS: set *resp_buf_type to NO_BUFFER on error (bsc#1144333). - commit 9b9a753- CIFS: fix typo in cifs_dbg (bsc#1144333). - commit 1c55bf5- cifs: do not allow creating sockets except with SMB1 posix exensions (bsc#1102097, bsc#1144333). - commit 2bffbe2- cifs: smbd: Dump SMB packet when configured (bsc#1144333). - commit d88f8ba- cifs: smb2ops: Fix NULL check in smb2_query_symlink (bsc#1144333). - commit b04299f- cifs: change validate_buf to validate_iov (bsc#1144333). - commit 906bd59- cifs: remove rfc1002 hardcoded constants from cifs_discard_remaining_data() (bsc#1144333). - commit 617a6f7- cifs: Change SMB2_open to return an iov for the error parameter (bsc#1144333). - commit dcb9625- cifs: add resp_buf_size to the mid_q_entry structure (bsc#1144333). - commit b08c29d- smb3.11: replace a 4 with server->vals->header_preamble_size (bsc#1144333). - commit 23fc514- cifs: replace a 4 with server->vals->header_preamble_size (bsc#1144333). - commit a2ae2c9- cifs: add pdu_size to the TCP_Server_Info structure (bsc#1144333). - commit 1640413- SMB311: Improve checking of negotiate security contexts (bsc#1051510, bsc#1144333). - commit 5803906- SMB3: Fix length checking of SMB3.11 negotiate request (bsc#1051510, bsc#1144333). - commit 5ab66c0- CIFS: add ONCE flag for cifs_dbg type (bsc#1144333). - commit b6c0c4c- cifs: Use ULL suffix for 64-bit constant (bsc#1051510, bsc#1144333). - commit 5c4894b- SMB3: Log at least once if tree connect fails during reconnect (bsc#1144333). - commit 05b0e92- cifs: smb2pdu: Fix potential NULL pointer dereference (bsc#1144333). - commit 3e43540- cifs: Add minor debug message during negprot (bsc#1144333). - commit 3b41e0d- smb3: Fix root directory when server returns inode number of zero (bsc#1051510, bsc#1144333). - commit de0d034- cifs: fix sparse warning on previous patch in a few printks (bsc#1144333). - commit 56ce311- cifs: add server->vals->header_preamble_size (bsc#1144333). - commit f31a0d1- cifs: smbd: disconnect transport on RDMA errors (bsc#1144333). - commit a08f5ab- cifs: smbd: avoid reconnect lockup (bsc#1144333). - commit 0d4f8de- Don't log confusing message on reconnect by default (bsc#1129664, bsc#1144333). - commit c62a1eb- Don't log expected error on DFS referral request (bsc#1051510, bsc#1144333). - commit 2b0ffdc- fs: cifs: Replace _free_xid call in cifs_root_iget function (bsc#1144333). - commit 3c774ad- SMB3.1.1 dialect is no longer experimental (bsc#1051510, bsc#1144333). - commit 5a7f288- Tree connect for SMB3.1.1 must be signed for non-encrypted shares (bsc#1051510, bsc#1144333). - commit bbb7b0e- fix smb3-encryption breakage when CONFIG_DEBUG_SG=y (bsc#1051510, bsc#1144333). - commit ce4ef54- CIFS: fix sha512 check in cifs_crypto_secmech_release (bsc#1051510, bsc#1144333). - commit d700426- CIFS: implement v3.11 preauth integrity (bsc#1051510, bsc#1144333). - commit 282e69b- CIFS: add sha512 secmech (bsc#1051510, bsc#1144333). - commit dd1b0dc- CIFS: refactor crypto shash/sdesc allocation&free (bsc#1051510, bsc#1144333). - commit 7c8cd7a- cifs: fix memory leak in SMB2_open() (bsc#1112894, bsc#1144333). - commit 9a11d87- CIFS: SMBD: fix spelling mistake: faield and legnth (bsc#1144333). - commit 656fc0e- Add missing structs and defines from recent SMB3.1.1 documentation (bsc#1144333). - commit 561ad80- address lock imbalance warnings in smbdirect.c (bsc#1144333). - commit 764cd6d- cifs: silence compiler warnings showing up with gcc-8.0.0 (bsc#1090734, bsc#1144333). - commit b26e318- Add some missing debug fields in server and tcon structs (bsc#1144333). - commit b13c148- fs/cifs/cifsacl.c Fixes typo in a comment (bsc#1144333). - commit 8a9435e- update internal version number for cifs.ko (bsc#1144333). - commit 4d4e098- cifs: add .splice_write (bsc#1144333). - commit 53f3d14- CIFS: document tcon/ses/server refcount dance (bsc#1144333). - commit 541127a- move a few externs to smbdirect.h to eliminate warning (bsc#1144333). - commit 054495e- CIFS: zero sensitive data when freeing (bsc#1087092, bsc#1144333). - commit c3f174d- Cleanup some minor endian issues in smb3 rdma (bsc#1144333). - commit 204ad24- CIFS: dump IPC tcon in debug proc file (bsc#1071306, bsc#1144333). - commit 4801bbd- CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl (bsc#1071306, bsc#1144333). - commit 2029687- CIFS: make IPC a regular tcon (bsc#1071306, bsc#1144333). - commit 8c62a07- cifs: remove redundant duplicated assignment of pointer 'node' (bsc#1144333). - commit 8633c07- CIFS: SMBD: work around gcc -Wmaybe-uninitialized warning (bsc#1144333). - commit 660ab15- cifs: Fix autonegotiate security settings mismatch (bsc#1087092, bsc#1144333). - commit 79bbb54- CIFS: SMBD: _smbd_get_connection() can be static (bsc#1144333). - commit 3dbcabb- CIFS: SMBD: Disable signing on SMB direct transport (bsc#1144333). - commit d36304b- CIFS: SMBD: Add SMB Direct debug counters (bsc#1144333). - commit e42b986- CIFS: SMBD: Upper layer performs SMB read via RDMA write through memory registration (bsc#1144333). - commit 479e730- CIFS: SMBD: Read correct returned data length for RDMA write (SMB read) I/O (bsc#1144333). - commit 49800bf- CIFS: SMBD: Upper layer performs SMB write via RDMA read through memory registration (bsc#1144333). - commit 451ce23- CIFS: SMBD: Implement RDMA memory registration (bsc#1144333). - commit 4bd37fc- CIFS: SMBD: Upper layer sends data via RDMA send (bsc#1144333). - commit 5a756b5- CIFS: SMBD: Implement function to send data via RDMA send (bsc#1144333). - commit bb8535a- CIFS: SMBD: Upper layer receives data via RDMA receive (bsc#1144333). - commit a05b399- CIFS: SMBD: Implement function to receive data via RDMA receive (bsc#1144333). - commit 0fa64fd- CIFS: SMBD: Set SMB Direct maximum read or write size for I/O (bsc#1144333). - commit bac6317- CIFS: SMBD: Upper layer destroys SMB Direct session on shutdown or umount (bsc#1144333). - commit 840e7c9- CIFS: SMBD: Implement function to destroy a SMB Direct connection (bsc#1144333). - commit 8acee94- CIFS: SMBD: Upper layer reconnects to SMB Direct session (bsc#1144333). - commit ca6bb73- CIFS: SMBD: Implement function to reconnect to a SMB Direct transport (bsc#1144333). - commit 7414215- CIFS: SMBD: Upper layer connects to SMBDirect session (bsc#1144333). - commit 58ec5a4- cifs: fix build errors for SMB_DIRECT (bsc#1144333). - commit a13a689- cifs: Fix missing put_xid in cifs_file_strict_mmap (bsc#1087092, bsc#1144333). - commit 5026bae- CIFS: SMBD: export protocol initial values (bsc#1144333). - commit 2a890ed- CIFS: SMBD: Implement function to create a SMB Direct connection (bsc#1144333). - commit 66b6d3f- CIFS: SMBD: Establish SMB Direct connection (bsc#1144333). - commit f9633ed- CIFS: SMBD: Add SMB Direct protocol initial values and constants (bsc#1144333). - commit 3761db5- CIFS: SMBD: Add rdma mount option (bsc#1144333). - commit ddce205- Update config files. - CIFS: SMBD: Introduce kernel config option CONFIG_CIFS_SMB_DIRECT (bsc#1144333). - commit ef3de16- CIFS: SMBD: Add parameter rdata to smb2_new_read_req (bsc#1144333). - commit 564812c- cifs: avoid a kmalloc in smb2_send_recv/SendReceive2 for the common case (bsc#1144333). - commit ddfa27a- cifs: remove small_smb2_init (bsc#1144333). - commit 42e787c- cifs: remove rfc1002 header from smb2_lease_ack (bsc#1144333). - commit 9c703a7- cifs: remove unused variable from SMB2_read (bsc#1144333). - commit a657e0f- cifs: remove rfc1002 header from smb2_oplock_break we get from server (bsc#1144333). - commit 3b9f330- cifs: remove rfc1002 header from smb2_query_info_req (bsc#1144333). - commit 419a2f6- cifs: remove rfc1002 header from smb2_query_directory_req (bsc#1144333). - commit 31d741a- cifs: remove rfc1002 header from smb2_set_info_req (bsc#1144333). - commit 8c059cb- cifs: remove rfc1002 header from smb2 read/write requests (bsc#1144333). - commit 9c3fb1c- cifs: remove rfc1002 header from smb2_lock_req (bsc#1144333). - commit a519c85- cifs: remove rfc1002 header from smb2_flush_req (bsc#1144333). - commit 7de26aa- cifs: remove rfc1002 header from smb2_create_req (bsc#1144333). - commit 67e2e5a- cifs: remove rfc1002 header from smb2_sess_setup_req (bsc#1144333). - commit 95aacf9- cifs: remove rfc1002 header from smb2_tree_connect_req (bsc#1144333). - commit e0421bc- cifs: remove rfc1002 header from smb2_echo_req (bsc#1144333). - commit ce0258d- cifs: remove rfc1002 header from smb2_ioctl_req (bsc#1144333). - commit 4f10855- cifs: remove rfc1002 header from smb2_close_req (bsc#1144333). - commit 1068bff- cifs: remove rfc1002 header from smb2_tree_disconnect_req (bsc#1144333). - commit d3a1bc0- cifs: remove rfc1002 header from smb2_logoff_req (bsc#1144333). - commit 3c2c6eb- cifs: remove rfc1002 header from smb2_negotiate_req (bsc#1144333). - commit 7b194b5- cifs: Add smb2_send_recv (bsc#1144333). - commit 135336f- fs/*/Kconfig: drop links to 404-compliant http://acl.bestbits.at (bsc#1144333). - commit 9069308- CIFS: don't log STATUS_NOT_FOUND errors for DFS (bsc#1051510, bsc#1144333). - commit 9260aad- cifs: fix NULL deref in SMB2_read (bsc#1085539, bsc#1144333). - commit 74c4a72- cifs: check MaxPathNameComponentLength != 0 before using it (bsc#1085536, bsc#1144333). - commit 7c39678- SMB3: Validate negotiate request must always be signed (bsc#1064597, bsc#1144333). - commit 6a20e8b- SMB: fix validate negotiate info uninitialised memory use (bsc#1064597, bsc#1144333). - commit 8350eb9- SMB: fix leak of validate negotiate info response buffer (bsc#1064597, bsc#1144333). - commit 540580e- CIFS: Fix NULL pointer deref on SMB2_tcon() failure (bsc#1071009, bsc#1144333). - commit 1d3a9de- CIFS: do not send invalid input buffer on QUERY_INFO requests (bsc#1144333). - commit 6f46fd8- cifs: Select all required crypto modules (bsc#1085536, bsc#1144333). - commit bd44e1c- CIFS: SMBD: Fix the definition for SMB2_CHANNEL_RDMA_V1_INVALIDATE (bsc#1144333). - commit da19369- cifs: handle large EA requests more gracefully in smb2+ (bsc#1144333). - commit 510e996- Fix encryption labels and lengths for SMB3.1.1 (bsc#1085536, bsc#1144333). - commit 7fceff4- SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags (bsc#1085536, bsc#1144333). - commit 4a9b75c- SMB3: handle new statx fields (bsc#1085536, bsc#1144333). - commit bc2d9a1- SMB: Validate negotiate (to protect against downgrade) even if signing off (bsc#1085536, bsc#1144333). - commit c098efa- cifs: release auth_key.response for reconnect (bsc#1085536, bsc#1144333). - commit d8cd1cf- cifs: release cifs root_cred after exit_cifs (bsc#1085536, bsc#1144333). - commit 5715b1a- CIFS: make arrays static const, reduces object code size (bsc#1144333). - commit 023cf87- Update session and share information displayed for debugging SMB2/SMB3 (bsc#1144333). - commit 61e32f7- cifs: show 'soft' in the mount options for hard mounts (bsc#1144333). - commit e189fd2- SMB3: Warn user if trying to sign connection that authenticated as guest (bsc#1085536, bsc#1144333). - commit b1d1dac- SMB3: Fix endian warning (bsc#1144333, bsc#1137884). - commit 547afff- Fix SMB3.1.1 guest authentication to Samba (bsc#1085536, bsc#1144333). - commit 61fb84c- Update version of cifs module (bsc#1144333). - commit efad703- cifs: hide unused functions (bsc#1051510, bsc#1144333). - commit d7281cb- SMB3: Add support for multidialect negotiate (SMB2.1 and later) (bsc#1051510, bsc#1144333). - commit 3e420d7- cifs: check rsp for NULL before dereferencing in SMB2_open (bsc#1085536, bsc#1144333). - commit 50c89fb- cifs: Check for timeout on Negotiate stage (bsc#1091171, bsc#1144333). - commit 8c908c7- cifs: Add support for writing attributes on SMB2+ (bsc#1051510, bsc#1144333). - commit bf83c0c- cifs: Add support for reading attributes on SMB2+ (bsc#1051510, bsc#1144333). - commit a06eeb8- Fix warning messages when mounting to older servers (bsc#1144333). - commit 093dfa2- Improve security, move default dialect to SMB3 from old CIFS (bsc#1051510, bsc#1144333). - commit 1dbc35c- Remove ifdef since SMB3 (and later) now STRONGLY preferred (bsc#1051510, bsc#1144333). - commit 03819a9- CIFS: Reconnect expired SMB sessions (bnc#1060662). - commit a6b3714- Delete patches.kernel.org/4.12.4-101-CIFS-Reconnect-expired-SMB-sessions.patch. - commit 6ca54d2- ipv6: mcast: fix unsolicited report interval after receiving querys (git-fixes). - l2tp: filter out non-PPP sessions in pppol2tp_tunnel_ioctl() (git-fixes). - l2tp: prevent pppol2tp_connect() from creating kernel sockets (git-fixes). - l2tp: only accept PPP sessions in pppol2tp_connect() (git-fixes). - netfilter: nf_tables: check msg_type before nft_trans_set(trans) (git-fixes). - ip_tunnel: Fix name string concatenate in __ip_tunnel_create() (git-fixes). - sctp: fix identification of new acks for SFR-CACC (git-fixes). - xfrm6: avoid potential infinite loop in _decode_session6() (git-fixes). - ipvs: fix buffer overflow with sync daemon and service (git-fixes). - netfilter: ebtables: handle string from userspace with care (git-fixes). - netfilter: nf_tables: fix NULL pointer dereference on nft_ct_helper_obj_dump() (git-fixes). - net: Fix a bug in removing queues from XPS map (git-fixes). - net: test tailroom before appending to linear skb (git-fixes). - tcp: purge write queue in tcp_connect_init() (git-fixes). - ipvs: fix stats update from local clients (git-fixes). - packet: in packet_snd start writing at link layer allocation (git-fixes). - rxrpc: Fix error reception on AF_INET6 sockets (git-fixes). - netfilter: nf_tables: can't fail after linking rule into active rule list (git-fixes). - ipvs: fix rtnl_lock lockups caused by start_sync_thread (git-fixes). - inetpeer: fix uninit-value in inet_getpeer (git-fixes). - net: fix uninit-value in __hw_addr_add_ex() (git-fixes). - net: initialize skb->peeked when cloning (git-fixes). - fix rtnh_ok() (git-fixes). - netlink: fix uninit-value in netlink_sendmsg (git-fixes). - commit a03d3d8- CIFS: Display SMB2 error codes in the hex format (bsc#1144333). - commit db41c2a- cifs: Use smb 2 - 3 and cifsacl mount options setacl function (bsc#1051510, bsc#1144333). - commit 0778119- cifs: prototype declaration and definition to set acl for smb 2 - 3 and cifsacl mount options (bsc#1051510, bsc#1144333). - commit a71ef22- CIFS: fix circular locking dependency (bsc#1064701, bsc#1144333). - commit 0594876- cifs: set oparms.create_options rather than or'ing in CREATE_OPEN_BACKUP_INTENT (bsc#1144333). - commit a9243fa- cifs: Do not modify mid entry after submitting I/O in cifs_call_async (bsc#1051510, bsc#1144333). - commit 3f97012- CIFS: add SFM mapping for 0x01-0x1F (bsc#1144333). - commit 79a8706- cifs: hide unused functions (bsc#1051510, bsc#1144333). - commit 33c52ee- cifs: Use smb 2 - 3 and cifsacl mount options getacl functions (bsc#1051510, bsc#1144333). - commit 68ab5bd- cifs: prototype declaration and definition for smb 2 - 3 and cifsacl mount options (bsc#1051510, bsc#1144333). - commit f2e25c6- Update config files. - CIFS: add CONFIG_CIFS_DEBUG_KEYS to dump encryption keys (bsc#1144333). - commit 040aef8- cifs: set mapping error when page writeback fails in writepage or launder_pages (bsc#1144333). - commit 73b6484- mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses (bsc#1135330). - commit 545b409- blacklist.conf: Blacklist 7959cf3a7506, 988bec41318f, and 9ca2d7326444 - commit e060719- ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour (bsc#1135323). - blacklist.conf: Blacklist 0bf3d5c1604e, a5fdd713d256, and 71921ef85928 - commit 447e9de- block: fix the return errno for direct IO (bsc#1135320). - commit 7a5620b- blacklist.conf: Blacklist b01531db6cec - commit 584e057- nvme: flush scan_work when resetting controller (bsc#1131673). - nvme: Do not remove namespaces during reset (bsc#1131673). - commit 5170dea- ext4: fix ext4_show_options for file systems w/o journal (bsc#1135316). - commit 29b8927- ext4: actually request zeroing of inode table after grow (bsc#1135315). - commit a868c67- ext4: fix use-after-free race with debug_want_extra_isize (bsc#1135314). - commit 5eca021- block: Don't revalidate bdev of hidden gendisk (bsc#1120091). - Refresh patches.kabi/kabi-fix-for-check_disk_size_change.patch. - commit 8dce5a6- block: fix use-after-free on gendisk (bsc#1135312). - commit c63ecfb- block: do not leak memory in bio_copy_user_iov() (bsc#1135309). - commit 179d24e- Update patch reference for ipmi_ssif fix (bsc#1135120) - commit b30d5bf- Update patch tag for i915 security fix (CVE-2019-11085, bsc#1135278). - commit c9240fa- CIFS: keep FileInfo handle live during oplock break (bsc#1106284, bsc#1131565). - commit 057abeb- backlight: lm3630a: Return 0 on success in update_status functions (bsc#1051510). - PCI: Mark Atheros AR9462 to avoid bus reset (bsc#1051510). - PCI: Mark AMD Stoney Radeon R7 GPU ATS as broken (bsc#1051510). - commit ce79740- Move MDS patches into sorted section, too Also update/correct the patch tags - commit c2d6df0- Move upstreamed nvme and powerpc patches to sorted section - commit c1e9c04- btrfs: qgroup: Don't scan leaf if we're modifying reloc tree (bsc#1063638 bsc#1128052 bsc#1108838). - commit 81e4693- btrfs: extent-tree: Use btrfs_ref to refactor btrfs_free_extent() (bsc#1063638 bsc#1128052 bsc#1108838). - commit ec353a9- btrfs: extent-tree: Use btrfs_ref to refactor btrfs_inc_extent_ref() (bsc#1063638 bsc#1128052 bsc#1108838). - Refresh patches.suse/0001-btrfs-extent-tree-Fix-a-bug-that-btrfs-is-unable-to-.patch. - commit c0ee85b- btrfs: extent-tree: Fix a bug that btrfs is unable to add pinned bytes (bsc#1063638 bsc#1128052 bsc#1108838). - commit 37707c4- btrfs: extent-tree: Use btrfs_ref to refactor add_pinned_bytes() (bsc#1063638 bsc#1128052 bsc#1108838). - commit f19a7ab- btrfs: delayed-ref: Use btrfs_ref to refactor btrfs_add_delayed_data_ref() (bsc#1063638 bsc#1128052 bsc#1108838). - Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit 5959973- btrfs: delayed-ref: Use btrfs_ref to refactor btrfs_add_delayed_tree_ref() (bsc#1063638 bsc#1128052 bsc#1108838). - Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit eedfcc9- Revert "drm/sun4i: rgb: Change the pixel clock validation check (bnc#1113722)" The patch seems buggy, breaks the build for armv7hl/pae config. - commit 7e3fe35- net/ibmvnic: Update carrier state after link state change (bsc#1135100). - commit 620e16c- net/ibmvnic: Update MAC address settings after adapter reset (bsc#1134760). - commit 9e9fbf7- Refresh patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch. Fix commit id. - commit 480e4e0- dt-bindings: net: Fix a typo in the phy-mode list for ethernet bindings (bsc#1129770). - commit ce908a0- drm/ttm: Remove warning about inconsistent mapping information (bnc#1131488) - commit 3b2528e- btrfs: split delayed ref head initialization and addition (bsc#1134813). - Refresh patches.fixes/0001-btrfs-qgroup-Move-reserved-data-accounting-from-btrf.patch. - Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit a52dcc3- lpfc: validate command in lpfc_sli4_scmd_to_wqidx_distr() (bsc#1129138). - commit c255cb4- phy: sun4i-usb: Make sure to disable PHY0 passby for peripheral mode (bsc#1051510). - commit e14e420- vfio/mdev: Fix aborting mdev child device removal if one fails (bsc#1051510). - vfio/mdev: Avoid release parent reference during error path (bsc#1051510). - vfio/pci: use correct format characters (bsc#1051510). - vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock (bsc#1051510). - vsock/virtio: reset connected sockets on device removal (bsc#1051510). - vsock/virtio: fix kernel panic after device hot-unplug (bsc#1051510). - vhost/vsock: fix reset orphans race with close timeout (bsc#1051510). - commit df62ff0- btrfs: Use init_delayed_ref_head in add_delayed_ref_head (bsc#1134813). - Refresh patches.fixes/0001-btrfs-qgroup-Move-reserved-data-accounting-from-btrf.patch. - Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit 07fe730- btrfs: Introduce init_delayed_ref_head (bsc#1134813). - Refresh patches.fixes/0001-btrfs-qgroup-Move-reserved-data-accounting-from-btrf.patch. - commit 4ef0b81- iommu/vt-d: Make kernel parameter igfx_off work with vIOMMU (bsc#1135007). - iommu/vt-d: Set intel_iommu_gfx_mapped correctly (bsc#1135008). - iommu/vt-d: Don't request page request irq under dmar_global_lock (bsc#1135006). - commit caca066- btrfs: Open-code add_delayed_data_ref (bsc#1134813). - Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit 3fb7e15- sc16is7xx: put err_spi and err_i2c into correct #ifdef (bsc#1051510). - sc16is7xx: move label 'err_spi' to correct section (bsc#1051510). - commit ef2d000- net: rds: force to destroy connection if t_sock is NULL in rds_tcp_kill_sock() (CVE-2019-11815 bsc#1134537). - commit 1f4fdb2- btrfs: Open-code add_delayed_tree_ref (bsc#1134813). - Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit 2231136- btrfs: Use init_delayed_ref_common in add_delayed_data_ref (bsc#1134813). - commit 50b6855- btrfs: Use init_delayed_ref_common in add_delayed_tree_ref (bsc#1134813). - commit 3cf5280- btrfs: Factor out common delayed refs init code (bsc#1134813). - commit ce2a0bd- btrfs: track refs in a rb_tree instead of a list (bsc#1134813). - Refresh patches.suse/btrfs-Take-trans-lock-before-access-running-trans-in.patch. - Refresh patches.suse/btrfs-fix-race-condition-between-delayed-refs-and-blockgroup-removal.patch. - commit 1e5b754- blacklist.conf: Append 'drm/i915/opregion: rvda is relative from opregion base in opregion 2.1+' - commit c35b08b- blacklist.conf: Append 'drm/i915/opregion: fix version check' - commit 34cf39c- drm/meson: add size and alignment requirements for dumb buffers (bnc#1113722) - commit 4a07be1- drm/i915/gvt: Fix incorrect mask of mmio 0x22028 in gen8/9 mmio list (bnc#1113722) - commit 25e583c- drm/sun4i: rgb: Change the pixel clock validation check (bnc#1113722) - commit 287e07e- Update config files: disable CONFIG_IDE on ppc64le - commit 236e2cc- vfio_pci: Enable memory accesses before calling pci_map_rom (bsc#1051510). - commit 40fa4f3- virtio-blk: limit number of hw queues by nr_cpu_ids (bsc#1051510). - virtio: Honour 'may_reduce_num' in vring_create_virtqueue (bsc#1051510). - virtio_pci: fix a NULL pointer reference in vp_del_vqs (bsc#1051510). - commit e8aa979- sc16is7xx: missing unregister/delete driver on error in sc16is7xx_init() (bsc#1051510). - spi: a3700: Clear DATA_OUT when performing a read (bsc#1051510). - commit 8e9ab9a- pwm: meson: Use the spin-lock only to protect register modifications (bsc#1051510). - pwm: meson: Don't disable PWM when setting duty repeatedly (bsc#1051510). - pwm: meson: Consider 128 a valid pre-divider (bsc#1051510). - pwm: tiehrpwm: Update shadow register for disabling PWMs (bsc#1051510). - pwm: Fix deadlock warning when removing PWM device (bsc#1051510). - commit eb64e0b- proc/sysctl: fix return error for proc_doulongvec_minmax() (bsc#1051510). - proc/kcore: don't bounds check against address 0 (bsc#1051510). - proc: revalidate kernel thread inodes to root:root (bsc#1051510). - commit 65ec978- linux/kernel.h: Use parentheses around argument in u64_to_user_ptr() (bsc#1051510). - commit ce6d021- omapfb: add missing of_node_put after of_device_is_available (bsc#1051510). - commit d60e431- mtd: part: fix incorrect format specifier for an unsigned long long (bsc#1051510). - mtd: nand: omap: Fix comment in platform data using wrong Kconfig symbol (bsc#1051510). - mtd: docg3: fix a possible memory leak of mtd->name (bsc#1051510). - mtd: docg3: Fix passing zero to 'PTR_ERR' warning in doc_probe_device (bsc#1051510). - commit d8f4906- media: vivid: use vfree() instead of kfree() for dev->bitmap_cap (bsc#1051510). - media: ov2659: fix unbalanced mutex_lock/unlock (bsc#1051510). - media: wl128x: prevent two potential buffer overflows (bsc#1051510). - media: tw5864: Fix possible NULL pointer dereference in tw5864_handle_frame (bsc#1051510). - media: davinci-isif: avoid uninitialized variable use (bsc#1051510). - media: serial_ir: Fix use-after-free in serial_ir_init_module (bsc#1051510). - media: cx23885: check allocation return (bsc#1051510). - media: wl128x: Fix an error code in fm_download_firmware() (bsc#1051510). - media: cx18: update *pos correctly in cx18_read_pos() (bsc#1051510). - media: ivtv: update *pos correctly in ivtv_read_pos() (bsc#1051510). - commit a5d9aa0- kernel/sysctl.c: fix out-of-bounds access when setting file-max (bsc#1051510). - kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv (bsc#1051510). - commit 5ac58a3- drm/rockchip: shutdown drm subsystem on shutdown (bsc#1051510). - drm/fb-helper: dpms_legacy(): Only set on connectors in use (bsc#1051510). - drm/i915: Fix I915_EXEC_RING_MASK (bsc#1051510). - drm/mediatek: fix possible object reference leak (bsc#1051510). - commit 57b1ae5- mm: prevent get_user_pages() from overflowing page refcount (CVE-2019-11487, bsc#1133190). - mm: add 'try_get_page()' helper function (CVE-2019-11487, bsc#1133190). - mm: make page ref count overflow check tighter and more explicit (CVE-2019-11487, bsc#1133190). - commit 3ccf631- ASoC: Intel: avoid Oops if DMA setup fails (bsc#1051510). - ASoC: fix valid stream condition (bsc#1051510). - ASoC: tlv320aic32x4: Fix Common Pins (bsc#1051510). - ASoC: cs4270: Set auto-increment bit for register writes (bsc#1051510). - ASoC: wm_adsp: Add locking to wm_adsp2_bus_error (bsc#1051510). - ASoC: samsung: odroid: Fix clock configuration for 44100 sample rate (bsc#1051510). - ASoC: nau8810: fix the issue of widget with prefixed name (bsc#1051510). - ASoC: nau8824: fix the issue of the widget with prefix name (bsc#1051510). - ASoC:soc-pcm:fix a codec fixup issue in TDM case (bsc#1051510). - ASoC: hdmi-codec: fix S/PDIF DAI (bsc#1051510). - commit 1a2b4f8- mm, gup: ensure real head page is ref-counted when using hugepages (CVE-2019-11487, bsc#1133190, prerequisity). - Refresh patches.fixes/mm-fix-__gup_device_huge-vs-unmap.patch. - commit 2aa1b48- mm, gup: remove broken VM_BUG_ON_PAGE compound check for hugepages (CVE-2019-11487, bsc#1133190, prerequisity). - commit a4548d7- mtd: spi-nor: intel-spi: Avoid crossing 4K address boundary on read/write (bsc#1129770). - commit 79ff3e5- media: pvrusb2: Prevent a buffer overflow (bsc#1129770). - commit 7a54ecd- Update patch tag for refecence (CVE-2019-11884, bsc#1134848). - commit e12f3fe- Revert "tty: pty: Fix race condition between release_one_tty and pty_write" (bsc#1051510). - usb-storage: Set virt_boundary_mask to avoid SG overflows (bsc#1051510). - commit 875ce44- platform/x86: sony-laptop: Fix unintentional fall-through (bsc#1051510). - platform/x86: alienware-wmi: printing the wrong error code (bsc#1051510). - platform/x86: intel_punit_ipc: Revert "Fix resource ioremap warning" (bsc#1051510). - platform/x86: intel_pmc_ipc: adding error handling (bsc#1051510). - platform/x86: dell-rbtn: Add missing #include (bsc#1051510). - clk: rockchip: Fix video codec clocks on rk3288 (bsc#1051510). - clk: rockchip: fix wrong clock definitions for rk3328 (bsc#1051510). - dmaengine: tegra210-dma: free dma controller in remove() (bsc#1051510). - dmaengine: axi-dmac: Don't check the number of frames for alignment (bsc#1051510). - dwc2: gadget: Fix completed transfer size calculation in DDMA (bsc#1051510). - ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit (bsc#1051510). - Bluetooth: Align minimum encryption key size for LE and BR/EDR connections (bsc#1051510). - Bluetooth: hidp: fix buffer overflow (bsc#1051510). - intel_th: pci: Add Comet Lake support (bsc#1051510). - commit e11b282- blacklist.conf: add drivers/ide We haven't been shipping IDE drivers since SLE12 - commit 8dce52a- ALSA: emu10k1: Drop superfluous id-uniquification behavior (bsc#1051510). - commit c156a88- Re-export snd_cards for kABI compatibility (bsc#1051510). - commit 78cf440- ALSA: core: Don't refer to snd_cards array directly (bsc#1051510). - commit 1501d4d- kABI workaround for snd_seq_kernel_client_enqueue() API changes (bsc#1051510). - commit 31233f8- ALSA: seq: Correct unlock sequence at snd_seq_client_ioctl_unlock() (bsc#1051510). - ALSA: seq: Protect racy pool manipulation from OSS sequencer (bsc#1051510). - ALSA: seq: Simplify snd_seq_kernel_client_enqueue() helper (bsc#1051510). - commit 3b22932- Update patches.fixes/0001-btrfs-reloc-Fix-NULL-pointer-dereference-due-to-expa.patch (bsc#1129497 bsc#1134651). Use upstream commit to make git-fixes happy. - commit 95ca4df- ASoC: max98090: Fix restore of DAPM Muxes (bsc#1051510). - ASoC: RT5677-SPI: Disable 16Bit SPI Transfers (bsc#1051510). - ALSA: hdea/realtek - Headset fixup for System76 Gazelle (gaze14) (bsc#1051510). - ALSA: hda/hdmi - Consider eld_valid when reporting jack event (bsc#1051510). - ALSA: hda/hdmi - Read the pin sense from register when repolling (bsc#1051510). - ASoC: fsl_esai: Fix missing break in switch statement (bsc#1051510). - ALSA: hda - Register irq handler after the chip initialization (bsc#1051510). - ALSA: usx2y: fix a double free bug (bsc#1051510). - ALSA: usb-audio: Fix a memory leak bug (bsc#1051510). - ALSA: hda/realtek - EAPD turn on later (bsc#1051510). - ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk() (bsc#1051510). - ALSA: seq: Cover unsubscribe_port() in list_mutex (bsc#1051510). - Revert "ALSA: seq: Protect in-kernel ioctl calls with mutex" (bsc#1051510). - ALSA: timer: Coding style fixes (bsc#1051510). - ALSA: timer: Simplify error path in snd_timer_open() (bsc#1051510). - ALSA: seq: Fix race of get-subscription call vs port-delete ioctls (bsc#1051510). - ALSA: seq: Protect in-kernel ioctl calls with mutex (bsc#1051510). - ALSA: seq: Remove superfluous irqsave flags (bsc#1051510). - ALSA: seq: Align temporary re-locking with irqsave version (bsc#1051510). - ALSA: timer: Revert active callback sync check at close (bsc#1051510). - ALSA: timer: Make snd_timer_close() really kill pending actions (bsc#1051510). - ALSA: timer: Check ack_list emptiness instead of bit flag (bsc#1051510). - ALSA: timer: Make sure to clear pending ack list (bsc#1051510). - ALSA: timer: Unify timer callback process code (bsc#1051510). - commit 332dfdd- btrfs: move all ref head cleanup to the helper function (bsc#1134813). - btrfs: remove delayed_ref_node from ref_head (bsc#1134813). - Refresh patches.fixes/0001-btrfs-qgroup-Move-reserved-data-accounting-from-btrf.patch. - Refresh patches.suse/btrfs-Take-trans-lock-before-access-running-trans-in.patch. - Refresh patches.suse/btrfs-fix-race-condition-between-delayed-refs-and-blockgroup-removal.patch. - Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit 751bb6e- btrfs: move ref_mod modification into the if (ref) logic (bsc#1134813). - commit 43101f4- btrfs: breakout empty head cleanup to a helper (bsc#1134813). - commit 0b0f74c- btrfs: move extent_op cleanup to a helper (bsc#1134813). - commit accdac6- btrfs: add a helper to return a head ref (bsc#1134813). - commit 44c6263- btrfs: extent-tree: Open-code process_func in __btrfs_mod_ref (bsc#1063638 bsc#1128052 bsc#1108838). - commit 2d4a201- btrfs: delayed-ref: Introduce better documented delayed ref structures (bsc#1063638 bsc#1128052 bsc#1108838). - commit a50ff03- selinux: use kernel linux/socket.h for genheaders and mdp (bsc#1134810). - commit b1217e4- xfs: prepare xfs_break_layouts() for another layout type (bsc#1106011). - commit af8461c- xfs: prepare xfs_break_layouts() to be called with XFS_MMAPLOCK_EXCL (bsc#1106011). - commit 9fc7166- xfs: remove xfs_zero_range (bsc#1106011). - commit e210917- xfs: kill meaningless variable 'zero' (bsc#1106011). - commit 338018e- xfs: detect and fix bad summary counts at mount (bsc#1114427). - commit d041381- thunderx: eliminate extra calls to put_page() for pages held for recycling (networking-stable-19_03_28). - thunderx: enable page recycling for non-XDP case (networking-stable-19_03_28). - genetlink: Fix a memory leak on error path (networking-stable-19_03_28). - dccp: do not use ipv6 header for ipv4 flow (networking-stable-19_03_28). - tcp: do not use ipv6 header for ipv4 flow (networking-stable-19_03_28). - net: stmmac: fix memory corruption with large MTUs (networking-stable-19_03_28). - sctp: get sctphdr by offset in sctp_compute_cksum (networking-stable-19_03_28). - packets: Always register packet sk in the same order (networking-stable-19_03_28). - vxlan: Don't call gro_cells_destroy() before device is unregistered (networking-stable-19_03_28). - net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 (networking-stable-19_03_28). - net: rose: fix a possible stack overflow (networking-stable-19_03_28). - tun: add a missing rcu_read_unlock() in error path (networking-stable-19_03_28). - tun: properly test for IFF_UP (networking-stable-19_03_28). - commit dbe4469- Refresh patches.arch/powerpc-pseries-Track-LMB-nid-instead-of-using-devic.patch. - commit b8e67e0- scripts: override locale from environment when running recordmcount.pl (bsc#1134354). - commit 4cacf9e- qla2xxx: always allocate qla_tgt_wq (bsc#1131451). - commit e409e3d- Refresh patches.drivers/ALSA-hda-realtek-Add-quirk-for-Tuxedo-XC-1509.patch Upstreamed, move to sorted section. - commit 61b3b1c- Delete patches.fixes/block_dev-fix-crash-on-chained-bios-with-O_DIRECT.patch. - commit c9e1edf- Refresh patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch. - commit c7eafa3- Refresh sorted patches. - Refresh patches.arch/cpu-speculation-add-mitigations-cmdline-option.patch. - Refresh patches.arch/powerpc-speculation-support-mitigations-cmdline-option.patch. - Refresh patches.arch/powerpc-tm-Avoid-machine-crash-on-rt_sigreturn.patch - Refresh patches.arch/s390-speculation-support-mitigations-cmdline-option.patch. - Refresh patches.arch/x86-mce-handle-varying-mca-bank-counts.patch. - Refresh patches.arch/x86-speculation-support-mitigations-cmdline-option.patch. - Refresh patches.drivers/ibmvnic-Report-actual-backing-device-speed-and-duple.patch. - Refresh patches.fixes/md-batch-flush-requests.patch. - commit 14d13e7- blacklist.conf: Remove incorrectly added blacklist entry for regulator - commit dc57ffb- USB: core: Fix bug caused by duplicate interface PM usage counter (bsc#1051510). - kABI workaround for removed usb_interface.pm_usage_cnt field (bsc#1051510). - Refresh patches.suse/0002-Add-a-void-suse_kabi_padding-placeholder-to-some-USB.patch. - commit 52f191f- tty: pty: Fix race condition between release_one_tty and pty_write (bsc#1051510). - tty: vt.c: Fix TIOCL_BLANKSCREEN console blanking if blankinterval == 0 (bsc#1051510). - usb: dwc3: Fix default lpm_nyet_threshold value (bsc#1051510). - USB: serial: f81232: fix interrupt worker not stop (bsc#1051510). - USB: serial: fix unthrottle races (bsc#1051510). - USB: cdc-acm: fix unthrottle races (bsc#1051510). - USB: w1 ds2490: Fix bug caused by improper use of altsetting array (bsc#1051510). - USB: yurex: Fix protection fault after device removal (bsc#1051510). - usb: usbip: fix isoc packet num validation in get_pipe (bsc#1051510). - USB: core: Fix unterminated string returned by usb_string() (bsc#1051510). - usb: gadget: net2272: Fix net2272_dequeue() (bsc#1051510). - usb: gadget: net2280: Fix net2280_dequeue() (bsc#1051510). - usb: gadget: net2280: Fix overrun of OUT messages (bsc#1051510). - usb: u132-hcd: fix resource leak (bsc#1051510). - usb: usb251xb: fix to avoid potential NULL pointer dereference (bsc#1051510). - tty: increase the default flip buffer limit to 2*640K (bsc#1051510). - commit 4aa2c5c- stm class: Fix channel free in stm output free path (bsc#1051510). - commit 7dbf8ff- ipmi:ssif: compare block number correctly for multi-part return messages (bsc#1051510). - rtlwifi: rtl8723ae: Fix missing break in switch statement (bsc#1051510). - mwl8k: Fix rate_idx underflow (bsc#1051510). - mwifiex: prevent an array overflow (bsc#1051510). - mwifiex: Fix mem leak in mwifiex_tm_cmd (bsc#1051510). - openvswitch: add seqadj extension when NAT is used (bsc#1051510). - openvswitch: fix flow actions reallocation (bsc#1051510). - HID: input: add mapping for Assistant key (bsc#1051510). - stm class: Prevent division by zero (bsc#1051510). - stm class: Fix an endless loop in channel allocation (bsc#1051510). - Input: introduce KEY_ASSISTANT (bsc#1051510). - commit 06048d9- UAS: fix alignment of scatter/gather segments (bsc#1129770). - commit b23bdd3- brcm80211: potential NULL dereference in brcmf_cfg80211_vndr_cmds_dcmd_handler() (bsc#1051510). - at76c50x-usb: Don't register led_trigger if usb_register_driver failed (bsc#1051510). - b43: shut up clang -Wuninitialized variable warning (bsc#1051510). - audit: fix a memleak caused by auditing load module (bsc#1051510). - ASoC: stm32: fix sai driver name initialisation (bsc#1051510). - HID: debug: fix race condition with between rdesc_show() and device removal (bsc#1051510). - HID: logitech: check the return value of create_singlethread_workqueue (bsc#1051510). - gpio: aspeed: fix a potential NULL pointer dereference (bsc#1051510). - commit d26e26c- Sign non-x86 kernels when possible (boo#1134303) - commit 874586f- ghes, EDAC: Fix ghes_edac registration (bsc#1133176). - commit 8ce891d- ceph: fix ci->i_head_snapc leak (bsc#1122776). - ceph: ensure d_name stability in ceph_dentry_hash() (bsc#1134461). - ceph: only use d_name directly when parent is locked (bsc#1134460). - ceph: fix use-after-free on symlink traversal (bsc#1134459). - commit 3c28b50- qla2xxx: allow irqbalance control in non-MQ mode (bsc#1128979). - commit a4c2dd4- ocfs2: turn on OCFS2_FS_STATS setting(bsc#1134393) We need to turn on OCFS2_FS_STATS kernel configuration setting, to fix bsc#1134393. - commit 45279fb- blacklist.conf: Add regulator entries that require the missing API - commit 0145c38- spi: bcm2835aux: setup gpio-cs to output and correct level during setup (bsc#1051510). - spi: bcm2835aux: warn in dmesg that native cs is not really supported (bsc#1051510). - spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios (bsc#1051510). - spi: rspi: Fix sequencer reset during initialization (bsc#1051510). - regulator: tps65086: Fix tps65086_ldoa1_ranges for selector 0xB (bsc#1051510). - commit eef4b75- leds: avoid races with workqueue (bsc#1051510). - ALSA: line6: Avoid polluting led_* namespace (bsc#1051510). - intel_th: msu: Fix single mode with IOMMU (bsc#1051510). - mmc: core: fix possible use after free of host (bsc#1051510). - commit 013cf36- btrfs: Don't panic when we can't find a root key (bsc#1112063). - commit e5728d0- bcache: use (REQ_META|REQ_PRIO) to indicate bio for metadata (bsc#1130972). - bcache: fix input overflow to cache set sysfs file io_error_halflife (bsc#1130972). - bcache: fix input overflow to cache set io_error_limit (bsc#1130972). - bcache: fix input overflow to journal_delay_ms (bsc#1130972). - bcache: fix input overflow to writeback_rate_minimum (bsc#1130972). - bcache: fix potential div-zero error of writeback_rate_p_term_inverse (bsc#1130972). - bcache: fix potential div-zero error of writeback_rate_i_term_inverse (bsc#1130972). - bcache: fix input overflow to writeback_delay (bsc#1130972). - bcache: use sysfs_strtoul_bool() to set bit-field variables (bsc#1130972). - bcache: add sysfs_strtoul_bool() for setting bit-field variables (bsc#1130972). - bcache: fix input overflow to sequential_cutoff (bsc#1130972). - bcache: fix input integer overflow of congested threshold (bsc#1130972). - bcache: improve sysfs_strtoul_clamp() (bsc#1130972). - bcache: treat stale && dirty keys as bad keys (bsc#1130972). - bcache: fix indentation issue, remove tabs on a hunk of code (bsc#1130972). - bcache: export backing_dev_uuid via sysfs (bsc#1130972). - bcache: export backing_dev_name via sysfs (bsc#1130972). - bcache: not use hard coded memset size in bch_cache_accounting_clear() (bsc#1130972). - bcache: never writeback a discard operation (bsc#1130972). - bcache: print number of keys in trace_bcache_journal_write (bsc#1130972). - bcache: set writeback_percent in a flexible range (bsc#1130972). - bcache: make cutoff_writeback and cutoff_writeback_sync tunable (bsc#1130972). - bcache: add MODULE_DESCRIPTION information (bsc#1130972). - bcache: option to automatically run gc thread after writeback (bsc#1130972). - bcache: introduce force_wake_up_gc() (bsc#1130972). - bcache: cannot set writeback_running via sysfs if no writeback kthread created (bsc#1130972). - bcache: do not mark writeback_running too early (bsc#1130972). - bcache: update comment in sysfs.c (bsc#1130972). - bcache: update comment for bch_data_insert (bsc#1130972). - bcache: do not check if debug dentry is ERR or NULL explicitly on remove (bsc#1130972). - bcache: add comment for cache_set->fill_iter (bsc#1130972). - bcache: panic fix for making cache device (bsc#1130972). - bcache: split combined if-condition code into separate ones (bsc#1130972). - bcache: use MAX_CACHES_PER_SET instead of magic number 8 in __bch_bucket_alloc_set (bsc#1130972). - bcache: replace hard coded number with BUCKET_GC_GEN_MAX (bsc#1130972). - bcache: remove useless parameter of bch_debug_init() (bsc#1130972). - bcache: remove unused bch_passthrough_cache (bsc#1130972). - bcache: recal cached_dev_sectors on detach (bsc#1130972). - bcache: Populate writeback_rate_minimum attribute (bsc#1130972). - bcache: correct dirty data statistics (bsc#1130972). - bcache: fix typo in code comments of closure_return_with_destructor() (bsc#1130972). - bcache: fix ioctl in flash device (bsc#1130972). - bcache: use REQ_PRIO to indicate bio for metadata (bsc#1130972). - bcache: account size of buckets used in uuid write to ca->meta_sectors_written (bsc#1130972). - bcache: add separate workqueue for journal_write to avoid deadlock (bsc#1130972). - bcache: add the missing comments for smp_mb()/smp_wmb() (bsc#1130972). - bcache: remove unnecessary space before ioctl function pointer arguments (bsc#1130972). - bcache: add missing SPDX header (bsc#1130972). - bcache: move open brace at end of function definitions to next line (bsc#1130972). - bcache: add static const prefix to char * array declarations (bsc#1130972). - bcache: fix code comments style (bsc#1130972). - bcache: do not check NULL pointer before calling kmem_cache_destroy (bsc#1130972). - bcache: prefer 'help' in Kconfig (bsc#1130972). - commit 6f636cd- bcache: use routines from lib/crc64.c for CRC64 calculation (bsc#1130972). - lib: add crc64 calculation routines (bsc#1130972). - lib: don't depend on linux headers being installed (bsc#1130972). - Add config for lib/crc64 - Add lib/crc64 to supported.conf - Refresh for above change, patches.suse/0238-bcache-style-fix-to-replace-unsigned-by-unsigned-int.patch. - commit 1121803- bcache: fix typo 'succesfully' to 'successfully' (bsc#1130972). - bcache: replace '%pF' by '%pS' in seq_printf() (bsc#1130972). - bcache: fix indent by replacing blank by tabs (bsc#1130972). - bcache: replace printk() by pr_*() routines (bsc#1130972). - bcache: replace Symbolic permissions by octal permission numbers (bsc#1130972). - bcache: style fixes for lines over 80 characters (bsc#1130972). - bcache: add identifier names to arguments of function definitions (bsc#1130972). - bcache: style fix to add a blank line after declarations (bsc#1130972). - bcache: style fix to replace 'unsigned' by 'unsigned int' (bsc#1130972). - bcache: trivial - remove tailing backslash in macro BTREE_FLAG (bsc#1130972). - bcache: add code comments for bset.c (bsc#1130972). - bcache: fix mistaken comments in request.c (bsc#1130972). - bcache: fix mistaken code comments in bcache.h (bsc#1130972). - bcache: add a comment in super.c (bsc#1130972). - bcache: stop using the deprecated get_seconds() (bsc#1130972). - commit 18444d1- thermal/int340x_thermal: fix mode setting (bsc#1051510). - thermal/int340x_thermal: Add additional UUIDs (bsc#1051510). - commit 5147b07- soc/tegra: pmc: Drop locking from tegra_powergate_is_powered() (bsc#1051510). - commit 262c86c- serial: ar933x_uart: Fix build failure with disabled console (bsc#1051510). - serial: 8250_pxa: honor the port number from devicetree (bsc#1051510). - commit 3179a44- serial: uartps: console_setup() can't be placed to init section (bsc#1051510). - commit 64be059- staging: rtl8188eu: Fix potential NULL pointer dereference of kcalloc (bsc#1051510). - commit 3c15a6e- bcache: do not assign in if condition in bcache_init() (bsc#1130972). - Refresh for above change, patches.suse/0232-bcache-do-not-check-return-value-of-debugfs_create_d.patch. - commit 1e79131- bcache: do not assign in if condition register_bcache() (bsc#1130972). - bcache: don't clone bio in bch_data_verify (bsc#1130972). - bcache: Replace bch_read_string_list() by __sysfs_match_string() (bsc#1130972). - bcache: Move couple of functions to sysfs.c (bsc#1130972). - bcache: Move couple of string arrays to sysfs.c (bsc#1130972). - bcache: stop bcache device when backing device is offline (bsc#1130972). - commit fcba1aa- rt2x00: do not increment sequence number while re-transmitting (bsc#1051510). - commit 85007ed- qmi_wwan: add Olicard 600 (bsc#1051510). - commit dc4a78d- platform/x86: pmc_atom: Drop __initconst on dmi table (bsc#1051510). - commit 4df1f03- libata: fix using DMA buffers on stack (bsc#1051510). - commit a1804f1- hwmon: (vt1211) Use request_muxed_region for Super-IO accesses (bsc#1051510). - hwmon: (w83627hf) Use request_muxed_region for Super-IO accesses (bsc#1051510). - hwmon: (smsc47m1) Use request_muxed_region for Super-IO accesses (bsc#1051510). - hwmon: (smsc47b397) Use request_muxed_region for Super-IO accesses (bsc#1051510). - hwmon: (pc87427) Use request_muxed_region for Super-IO accesses (bsc#1051510). - hwmon: (f71805f) Use request_muxed_region for Super-IO accesses (bsc#1051510). - commit eedae7d- crypto: sun4i-ss - Fix invalid calculation of hash end (bsc#1051510). - crypto: ccm - fix incompatibility between "ccm" and "ccm_base" (bsc#1051510). - crypto: gcm - fix incompatibility between "gcm" and "gcm_base" (bsc#1051510). - crypto: arm/aes-neonbs - don't access already-freed walk.iv (bsc#1051510). - crypto: ccp - Do not free psp_master when PLATFORM_INIT fails (bsc#1051510). - crypto: chacha20poly1305 - set cra_name correctly (bsc#1051510). - crypto: skcipher - don't WARN on unprocessed data after slow walk step (bsc#1051510). - crypto: x86/crct10dif-pcl - fix use via crypto_shash_digest() (bsc#1051510). - crypto: crct10dif-generic - fix use via crypto_shash_digest() (bsc#1051510). - crypto: fips - Grammar s/options/option/, s/to/the/ (bsc#1051510). - crypto: vmx - fix copy-paste error in CTR mode (bsc#1051510). - commit 300438f- scsi: qla2xxx: Fix panic in qla_dfs_tgt_counters_show (bsc#1132044). - commit d578582- supported.conf: Add openvswitch to kernel-default-base (bsc#1124839). - commit 353f0eb- netfilter: nf_socket: Fix out of bounds access in nf_sk_lookup_slow_v{4,6} (git-fixes). - netfilter: drop template ct when conntrack is skipped (git-fixes). - netfilter: bridge: ebt_among: add more missing match size checks (git-fixes). - netfilter: bridge: ebt_among: add missing match size checks (git-fixes). - net: avoid skb_warn_bad_offload on IS_ERR (git-fixes). - xfrm: Return error on unknown encap_type in init_state (git-fixes). - xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM) (git-fixes). - commit f21ff42- xfrm: Fix stack-out-of-bounds read on socket policy lookup (git-fixes). - commit 5a31401- tty: make R3964 line discipline fail (bnc#1133188 CVE-2019-11486). - commit 75ae661- sctp: only update outstanding_bytes for transmitted queue when doing prsctp_prune (git-fixes). - sctp: set frag_point in sctp_setsockopt_maxseg correctly` (git-fixes). - net: dsa: legacy: don't unmask port bitmaps (git-fixes). - commit 72e2f6f- blacklist.conf: Add 4a58038b9e42 Revert "svm: Fix AVIC incomplete IPI emulation" Reverted commit not in SLE15 - commit 027a60e- KVM: x86: svm: make sure NMI is injected after nmi_singlestep (bsc#1134205). - commit 1efa1ca- KVM: x86: Always use 32-bit SMRAM save state for 32-bit kernels (bsc#1134203). - KVM: x86: Don't clear EFER during SMM transitions for 32-bit vCPU (bsc#1134204). - KVM: VMX: Zero out *all* general purpose registers after VM-Exit (bsc#1134202). - KVM: Fix UAF in nested posted interrupt processing (bsc#1134199). - KVM: nVMX: restore host state in nested_vmx_vmexit for VMFail (bsc#1134201). - KVM: nVMX: Clear reserved bits of #DB exit qualification (bsc#1134200). - commit 09e58c5- blacklist.conf: Append 'Revert "drm/i915/fbdev: Actually configure untiled displays"' - commit 1a6d210- btrfs: qgroup: Move reserved data accounting from btrfs_delayed_ref_head to btrfs_qgroup_extent_record (bsc#1134162). - commit c46e00b- btrfs: qgroup: Remove duplicated trace points for qgroup_rsv_add/release (bsc#1134160). - commit 4a0e633- ALSA: hda/realtek - Apply the fixup for ASUS Q325UAR (bsc#1051510). - ALSA: line6: use dynamic buffers (bsc#1051510). - ALSA: hda/realtek - Fixed Dell AIO speaker noise (bsc#1051510). - ALSA: hda/realtek - Add new Dell platform for headset mode (bsc#1051510). - commit 818b345- blacklist.conf: 379d98ddf413 x86: vdso: Use $LD instead of $CC to link - commit 513d103- nvme-multipath: avoid crash on invalid subsystem cntlid enumeration (bsc#1129273). - commit e2a5094- powerpc/mm: Fix page table dump to work on Radix (bsc#1055186, fate#323286, git-fixes). - powerpc/mm/radix: Display if mappings are exec or not (bsc#1055186, fate#323286, git-fixes). - powerpc/mm/radix: Prettify mapped memory range print out (bsc#1055186, fate#323286, git-fixes). - Refresh patches.arch/powerpc-mm-radix-Split-linear-mapping-on-hot-unplug.patch - commit 5451b1e- scsi: qla2xxx: Add new FC-NVMe enable BIT to enable FC-NVMe feature (bsc#1130579). - commit 0222aa2- packet: validate msg_namelen in send directly (git-fixes). - commit f8a64bd- NFS: Add missing encode / decode sequence_maxsz to v4.2 operations (git-fixes). - commit 3673108- blacklist.conf: Add a not-a-bug commit id - commit 83ebe4a- ipmi: Fix I2C client removal in the SSIF driver (bsc#1108193). - ipmi_ssif: Remove duplicate NULL check (bsc#1108193). - i2c: Make i2c_unregister_device() NULL-aware (bsc#1108193). - commit 99bec98- net: Fix untag for vlan packets without ethernet header (git-fixes). - commit 99361c7- Update patches.arch/kvm-x86-report-stibp-on-get_supported_cpuid.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/locking-atomics-asm-generic-move-some-macros-from-linux-bitops-h-to-a-new-linux-bits-h-file.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-cpu-sanitize-fam6_atom-naming.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-kvm-expose-x86_feature_md_clear-to-guests.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-kvm-vmx-add-mds-protection-when-l1d-flush-is-not-active.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-msr-index-cleanup-bit-defines.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-consolidate-cpu-whitelists.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-basic-bug-infrastructure-for-mds.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-bug_msbds_only.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-mds-full-nosmt-cmdline-option.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-mds_clear_cpu_buffers.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-mitigation-control-for-mds.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-mitigation-mode-vmwerv.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-mitigations-support-for-mds.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-smt-warning-message.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-add-sysfs-reporting-for-mds.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-clear-cpu-buffers-on-exit-to-user.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-conditionally-clear-cpu-buffers-on-idle-entry.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-mds-print-smt-vulnerable-on-msbds-with-mitigations-off.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-move-arch_smt_update-call-to-after-mitigation-decisions.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - Update patches.arch/x86-speculation-simplify-the-cpu-bug-detection-logic.patch (bsc#1111331, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130). - commit 0d6b73d- s390/dasd: fix panic for failed online processing (bsc#1132589). - commit e24913c- tcp: fix TCP_REPAIR_QUEUE bound checking (git-fixes). - rxrpc: Don't treat call aborts as conn aborts (git-fixes). - rxrpc: Fix Tx ring annotation after initial Tx failure (git-fixes). - xfrm: fix rcu_read_unlock usage in xfrm_local_error (git-fixes). - net: Fix vlan untag for bridge and vlan_dev with reorder_hdr off (git-fixes). - net: xfrm: use preempt-safe this_cpu_read() in ipcomp_alloc_tfms() (git-fixes). - xfrm: Fix ESN sequence number handling for IPsec GSO packets (git-fixes). - xfrm: do not call rcu_read_unlock when afinfo is NULL in xfrm_get_tos (git-fixes). - ipvs: remove IPS_NAT_MASK check to fix passive FTP (git-fixes). - netfilter: ipv6: fix use-after-free Write in nf_nat_ipv6_manip_pkt (git-fixes). - netfilter: x_tables: avoid out-of-bounds reads in xt_request_find_{match|target} (git-fixes). - netfilter: x_tables: fix int overflow in xt_alloc_table_info() (git-fixes). - netfilter: ipset: Missing nfnl_lock()/nfnl_unlock() is added to ip_set_net_exit() (git-fixes). - rds: tcp: atomically purge entries from rds_tcp_conn_list during netns delete (git-fixes). - commit 2e1ed06- nvme-multipath: split bios with the ns_head bio_set before submitting (bsc#1103259, bsc#1131673). - commit d40d160- scripts/git_sort/git_sort.py: update nvme repository to 5.2 - commit a7486ed- blacklist.conf: Add entries for ACPICA changes causing regression (bsc#1132943) - commit 52de608- futex: Cure exit race (bsc#1050549). - commit fd88aa5- blacklist.conf: Add small qrwlock change, breaks kabi - commit c74e4c7- blacklist.conf: Add SCHED_DEBUG patch - commit 05d077d- kernfs: don't set dentry->d_fsdata (boo#1133115). - commit 87703df- vfs: rename clone_verify_area to remap_verify_area (bsc#1133852, bsc#1132219). - commit e7a6da0- vfs: skip zero-length dedupe requests (bsc#1133851, bsc#1132219). - commit 3cb446d- vfs: avoid problematic remapping requests into partial EOF block (bsc#1133850, bsc#1132219). - commit bf23f52- mm/vmalloc: fix size check for remap_vmalloc_range_partial() (bsc#1133825). - commit aa4afbd- blacklist.conf: Add CVE entries to be ignored (CVE-2019-9003,CVE-2018-16880) - commit c4eee01- mmc: sdhci: Handle auto-command errors (bsc#1051510). - mmc: sdhci: Rename SDHCI_ACMD12_ERR and SDHCI_INT_ACMD12ERR (bsc#1051510). - mmc: sdhci: Fix data command CRC error handling (bsc#1051510). - commit 3b43b40- mac80211: do not call driver wake_tx_queue op during reconfig (bsc#1051510). - commit 6c6b354- Input: synaptics-rmi4 - write config register values to the right offset (bsc#1051510). - io: accel: kxcjk1013: restore the range after resume (bsc#1051510). - commit 7de4d86- iio: dac: mcp4725: add missing powerdown bits in store eeprom (bsc#1051510). - iio: adc: at91: disable adc channel interrupt in timeout case (bsc#1051510). - iio: gyro: mpu3050: fix chip ID reading (bsc#1051510). - iio: Fix scan mask selection (bsc#1051510). - staging: iio: ad7192: Fix ad7193 channel address (bsc#1051510). - iio/gyro/bmg160: Use millidegrees for temperature scale (bsc#1051510). - commit 8dcd648- dmaengine: sh: rcar-dmac: With cyclic DMA residue 0 is valid (bsc#1051510). - commit 23721ea- device_cgroup: fix RCU imbalance in error case (bsc#1051510). - commit 496ae7a- crypto: crypto4xx - properly set IV after de- and encrypt (bsc#1051510). - commit 923e152- staging: comedi: ni_usb6501: Fix possible double-free of - >usb_rx_buf (bsc#1051510). - staging: comedi: ni_usb6501: Fix use of uninitialized mutex (bsc#1051510). - staging: comedi: vmk80xx: Fix possible double-free of - >usb_rx_buf (bsc#1051510). - staging: comedi: vmk80xx: Fix use of uninitialized semaphore (bsc#1051510). - commit 6f218bd- clk: x86: Add system specific quirk to mark clocks as critical (bsc#1051510). - commit 2550217- HID: i2c-hid: Ignore input report if there's no data present on Elan touchpanels (bsc#1133486). - commit 186ac94- vfs: vfs_clone_file_prep_inodes should return EINVAL for a clone from beyond EOF (bsc#1133780, bsc#1132219). - commit f8cdd64- vfs: dedupe should return EPERM if permission is not granted (bsc#1133779, bsc#1132219). - commit ee49cef- vfs: allow dedupe of user owned read-only files (bsc#1133778, bsc#1132219). - commit f928d34- vfs: swap names of {do,vfs}_clone_file_range() (bsc#1133774, bsc#1132219). - commit 418217d- vfs: export vfs_dedupe_file_range_one() to modules (bsc#1133772, bsc#1132219). - commit ee6046d- vfs: dedupe: extract helper for a single dedup (bsc#1133769, bsc#1132219). - commit 0adcab6- Fix duplicate commit id. - Refresh patches.suse/0021-btrfs-switch-args-for-comp_-_refs.patch. - Refresh patches.suse/0022-btrfs-add-a-comp_refs-helper.patch. - commit 557f7ab- efi/arm: Revert deferred unmap of early memmap mapping (bsc#1117158). - commit 11eff9a- Fix sorting of series.conf - Refresh patches.drivers/ibmvnic-Enable-GRO.patch. - Refresh patches.drivers/ibmvnic-Fix-netdev-feature-clobbering-during-a-reset.patch. - rename nvme patches to match SLE15-SP1 - commit 47068e2- Bluetooth: hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf() (bsc#1133731). - commit 6020c13- blacklist.conf: Append 'drm/vc4: Fix compilation error reported by kbuild test bot' - commit 8f2ead0- drm/sun4i: Unbind components before releasing DRM and memory (bsc#1113722) - commit 8c0f712- blacklist.conf: blacklist some unneeded git-fixes for kbuild - commit bc4e6d5- powerpc/numa: document topology_updates_enabled, disable by default (bsc#1133584). - powerpc/numa: improve control of topology updates (bsc#1133584). - commit 418216f- blk-mq: Avoid that submitting a bio concurrently with device removal triggers a crash (bsc#1131673). - commit ec6a00b- blacklist.conf: d6097c9e4454 ("trace: Fix preempt_enable_no_resched() abuse") There is no difference on !PREEMPT kernel. - commit 015cb02- tracing: Fix a memory leak by early error exit in trace_pid_write() (bsc#1133702). - commit b236635- block: Fix a race between request queue removal and the block cgroup controller (bsc#1131673). - Refresh patches.fixes/blkcg-Introduce-blkg_root_lookup.patch. - Refresh patches.fixes/block-Ensure-that-a-request-queue-is-dissociated-fro.patch. - Refresh patches.fixes/block-Introduce-blk_exit_queue.patch. - commit c699a18- tracing: Fix buffer_ref pipe ops (bsc#1133698). - commit da9fad9- blacklist.conf: fabe38ab6b2b ("kprobes: Mark ftrace mcount handler functions nokprobe") Not needed. - commit eaa083a- xfs: hold xfs_buf locked between shortform->leaf conversion and the addition of an attribute (bsc#1133675). - commit cab0145- xfs: add the ability to join a held buffer to a defer_ops (bsc#1133674). - commit 6b7ffad- xfs: remove the ip argument to xfs_defer_finish (bsc#1133672). - Refresh patches.fixes/0036-xfs-inline-xfs_shift_file_space-into-callers.patch. - Refresh patches.fixes/0059-xfs-introduce-the-xfs_iext_cursor-abstraction.patch. - commit ebe7eab- xfs: rename xfs_defer_join to xfs_defer_ijoin (bsc#1133668). - commit bcff405- xfs: refactor xfs_trans_roll (bsc#1133667). Refresh patches.fixes/xfs-relog-dirty-buffers-during-swapext-bmbt-owner-ch.patch. - commit 1ff0f5c- drm/vc4: Fix memory leak during gpu reset. (bsc#1113722) - commit eddacb4- drm/sun4i: Fix component unbinding and component master deletion (bsc#1113722) - commit 11c33d3- drm/sun4i: Set device driver data at bind time for use in unbind (bsc#1113722) - commit ed9bd32- drm/sun4i: Add missing drm_atomic_helper_shutdown at driver unbind (bsc#1113722) - commit ed4e572- drm: bridge: dw-hdmi: Fix overflow workaround for Rockchip SoCs (bsc#1113722) - commit 408e420- nvme: make sure ns head inherits underlying device limits (bsc#1131673). - blkcg: Make blkg_root_lookup() work for queues in bypass mode (bsc#1131673). - commit bb15eb6- Rename patches that exist in SLE15-SP1 to the same name. - commit f242f0b- Fix kernel-vanilla by moving patches.kernel.org/0001-drm-udl-add-a-release-method-and-delay-modeset-teard.patch under patches.drm/. - commit 059ed35- blk-mq: fallback to previous nr_hw_queues when updating fails (bsc#1131673). - blk-mq: realloc hctx when hw queue is mapped to another node (bsc#1131673). - blk-mq: change gfp flags to GFP_NOIO in blk_mq_realloc_hw_ctxs (bsc#1131673). - blk-mq: adjust debugfs and sysfs register when updating nr_hw_queues (bsc#1131673). - commit f88bc93- blk-mq: sync the update nr_hw_queues with blk_mq_queue_tag_busy_iter (bsc#1131673). - blk-mq: init hctx sched after update ctx and hctx mapping (bsc#1131673). - commit d935704- block: Ensure that a request queue is dissociated from the cgroup controller (bsc#1131673). - block: Introduce blk_exit_queue() (bsc#1131673). - blkcg: Introduce blkg_root_lookup() (bsc#1131673). - commit a5dd3b2- netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING (git-fixes). - commit d426b2c- net: datagram: fix unbounded loop in __skb_try_recv_datagram() (git-fixes). - commit 8a8a896- ipv6: Fix dangling pointer when ipv6 fragment (git-fixes). - commit 167348a- ipv6: sit: reset ip header pointer in ipip6_rcv (git-fixes). - commit 6cc7095- net: bridge: multicast: use rcu to access port list from br_multicast_start_querier (git-fixes). - commit 077343d- net: bridge: fix per-port af_packet sockets (git-fixes). - commit 85d5245- xfs: fix reporting supported extra file attributes for statx() (bsc#1133529). - commit f8af342- patches.fixes/ext4-Avoid-panic-during-forced-reboot.patch: Update tags - commit 2eb9dad- cxgb4: remove redundant assignment to vlan_cmd.dropnovlan_fm (bsc#1127371). - commit 9878a01- cxgb4: specify IQTYPE in fw_iq_cmd (bsc#1127371). - Refresh patches.fixes/0001-cxgb4-cxgb4vf-Add-support-for-SGE-doorbell-queue-tim.patch. - commit fffff56- cxgb4: impose mandatory VLAN usage when non-zero TAG ID (bsc#1127371). - commit 98b6e7b- cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac() (bsc#1127371). - commit 0080200- cxgb4: use new fw interface to get the VIN and smt index (bsc#1127371). - Refresh patches.fixes/0001-cxgb4-cxgb4vf-Add-support-for-SGE-doorbell-queue-tim.patch. - commit 5344b4b- Drop "PCI: designware-ep: Read-only registers need DBI_RO_WR_EN to" The patch doesn't work with SLE15 / Leap 15.0 code as the prerequisite helper functions are missing. Drop it for now. - commit 77b9d89- Drivers: hv: vmbus: Offload the handling of channels to two workqueues (bsc#1130567). - commit 2f3f8d7- iio: core: fix a possible circular locking dependency (bsc#1051510). - iio: ad_sigma_delta: select channel when reading register (bsc#1051510). - iio: cros_ec: Fix the maths for gyro scale calculation (bsc#1051510). - Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ (bsc#1051510). - crypto: x86/poly1305 - fix overflow during partial reduction (bsc#1051510). - PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller (bsc#1051510). - ASoC: fsl_esai: fix channel swap issue when stream starts (bsc#1051510). - mmc: davinci: remove extraneous __init annotation (bsc#1051510). - drm/nouveau/volt/gf117: fix speedo readout register (bsc#1051510). - crypto: sha512/arm - fix crash bug in Thumb2 build (bsc#1051510). - crypto: sha256/arm - fix crash bug in Thumb2 build (bsc#1051510). - ASoC: topology: free created components in tplg load error (bsc#1051510). - 9p: do not trust pdu content for stat item size (bsc#1051510). - ACPI / SBS: Fix GPE storm on recent MacBookPro's (bsc#1051510). - ath10k: avoid possible string overflow (bsc#1051510). - PCI: designware-ep: Read-only registers need DBI_RO_WR_EN to be writable (bsc#1051510). - commit 3abb7dd- acpi, nfit: Prefer _DSM over _LSR for namespace label reads (bsc#112128) (bsc#1132426). - commit d87d52e- bonding: fix PACKET_ORIGDEV regression (git-fixes). - rds: fix refcount bug in rds_sock_addref (git-fixes). - commit c43c4da- blacklist.conf: add an ORC patch - commit 8377b75- Delete patches.suse/bridge-do-not-add-port-to-router-list-when-receives-.patch. - Delete patches.suse/net-bridge-remove-ipv6-zero-address-check-in-mcast-q.patch. Both were reverted in upstream by 278e2148c075. - commit 0e2431c- blacklist.conf: preserve R3964 module - commit aae746b- cxgb4: remove the unneeded locks (bsc#1127371). - commit 8c41499- cxgb4: fix the error path of cxgb4_uld_register() (bsc#1127371). - commit 47726a9- Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() (bsc#1130567). - commit 0c6a64e- bpf: fix use after free in bpf_evict_inode (bsc#1083647). - commit b930261- NFS: Fix dentry revalidation on NFSv4 lookup (bsc#1132618). - commit 89a6e08- drm/i915/gvt: Annotate iomem usage (bsc#1051510). - commit 313092c- KVM: SVM: Workaround errata#1096 (insn_len maybe zero on SMAP violation) (bsc#1133149). - KVM: Fix kABI for AMD SMAP Errata workaround (bsc#1133149). - Refresh patches.kabi/fix-kvm-kabi.patch. - Refresh patches.kabi/kABI-Hide-get_msr_feature-in-kvm_x86_ops.patch. - Refresh patches.kabi/kvm-x86-kABI-fix-for-vm_alloc-vm_free-changes.patch. - commit 03fe042- ALSA: hda/realtek - add two more pin configuration sets to quirk table (bsc#1051510). - ALSA: core: Fix card races between register and disconnect (bsc#1051510). - ALSA: info: Fix racy addition/deletion of nodes (bsc#1051510). - ALSA: hda: Initialize power_state field properly (bsc#1051510). - commit a758061- blacklist.conf: c7084edc3f6d67750f50d4183134c4fb5712a5c8 #build-system only - commit 433694c- kabi/severities: add cxgb4 and cxgb4vf shared data to the whitelis (bsc#1127372) - commit 06e5150- cxgb4: Add flag tc_flower_initialized (bsc#1127371). - cxgb4: convert flower table to use rhashtable (bsc#1127371). - commit aa6e062- PCI: pciehp: Convert to threaded IRQ (bsc#1133005). - commit f0731dc- blacklist.conf: this breaks some kernel command lines - commit cc177f9- PCI: pciehp: Ignore Link State Changes after powering off a slot (bsc#1133005). - commit ef568c9- fix cgroup_do_mount() handling of failure exits (bsc#1133095). - commit fe5a2ff- cgroup: fix parsing empty mount option string (bsc#1133094). - commit 17de6c6- efi/arm: Don't mark ACPI reclaim memory as MEMBLOCK_NOMAP (bsc#1117158 bsc#1115688 bsc#1120566). - commit 8ab8717- drm/mediatek: Fix an error code in mtk_hdmi_dt_parse_pdata() (bsc#1113722) - commit 63c727d- drm/udl: add a release method and delay modeset teardown (bsc#1085536) - commit c54c0c4- intel_idle: add support for Jacobsville (jsc#SLE-5394). - commit 653c52e- Fix kabi after "md: batch flush requests." (bsc#1119680). - md: batch flush requests (bsc#1119680). - commit db3b444- cxgb4: update supported DCB version (bsc#1127371). - commit e9610db- netfilter: ip6t_MASQUERADE: add dependency on conntrack module (git-fixes). - commit c067711- gre6: use log_ecn_error module parameter in ip6_tnl_rcv() (git-fixes). - commit 45fd2cd- net: bridge: add vlan_tunnel to bridge port policies (git-fixes). - commit 81c6555- rxrpc: Don't release call mutex on error pointer (git-fixes). - commit b6257a8- blacklist.conf: bbbe211c295f ("net: rcu lock and preempt disable missing around generic xdp") - commit 6d9e01f- RDMA/iw_cxgb4: Drop __GFP_NOFAIL (bsc#1127371). - commit ab1de4b- rdma/cxgb4: fix some info leaks (bsc#1127371). - commit 0460620- rdma/cxgb4: Remove a set-but-not-used variable (bsc#1127371). - commit 64752bc- blacklist.conf: 23ff6ba8feec("RDMA/cxgb4: Restore the dropped uninitialized_var") - commit 8ebcd6e- rdma/cxgb4: Add support for kernel mode SRQ's (bsc#1127371). - commit 982fc38- rdma/cxgb4: Add support for 64Byte cqes (bsc#1127371). - commit ed618c3- RDMA/cxgb4: Make c4iw_poll_cq_one() easier to analyze (bsc#1127371). - commit 59e79c3- rdma/cxgb4: Add support for srq functions & structs (bsc#1127371). - commit d29463d- x86/mce/AMD, EDAC/mce_amd: Enumerate Reserved SMCA bank type (bsc#1128415). - Refresh patches.arch/x86-mce-amd-edac-mce_amd-add-new-error-descriptions-for-some-smca-bank-types.patch. - Refresh patches.arch/x86-mce-amd-get-address-from-already-initialized-block. - commit f372d3f- cxgb4/cxgb4vf: Fix mac_hlist initialization and free (bsc#1127374). - commit 50c39df- cxgb4vf: Update port information in cxgb4vf_open() (bsc#1127374). - commit 6c8b745- cxgb4vf: Few more link management changes (bsc#1127374). - commit a3abbde- cxgb4vf: fix memleak in mac_hlist initialization (bsc#1127374). - commit 136530a- s390/speculation: Support 'mitigations=' cmdline option (bsc#1112178). - powerpc/speculation: Support 'mitigations=' cmdline option (bsc#1112178). - x86/speculation: Support 'mitigations=' cmdline option (bsc#1112178). - cpu/speculation: Add 'mitigations=' cmdline option (bsc#1112178). - commit 3423234- Correct the wrongly assigned CVE# (CVE-2019-9503,bsc#1132828) - commit dc2acc2- x86/PCI: Fixup RTIT_BAR of Intel Denverton Trace Hub (bsc#1120318). Delete the old patch with the upstream version, too patches.suse/PCI-Disable-broken-RTIT_BAR-of-Intel-TH.patch. - commit 966a590- CIFS: fix POSIX lock leak and invalid ptr deref (bsc#1114542). - commit ed4103e- iw_cxgb4: cq/qp mask depends on bar2 pages in a host page (bsc#1127371). - commit c36e1b8- cxgb4: Export sge_host_page_size to ulds (bsc#1127371). - Refresh patches.kabi/kabi-cxgb4-MU.patch. - commit 6d1f2b8- cxgb4: collect number of free PSTRUCT page pointers (bsc#1127371). - Refresh patches.fixes/0001-cxgb4-move-Tx-Rx-free-pages-collection-to-common-cod.patch. - commit e76f63e- cxgb4: collect ASIC LA dumps from ULP TX (bsc#1127371). - commit 0173335- cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size (bsc#1127371). - commit 5b5f3de- brcmfmac: assure SSID length from firmware is limited (CVE-2019-9500,bsc#1132681). - commit beb6147- cxgb4: move Tx/Rx free pages collection to common code (bsc#1127371). - commit d3b85a6- svm/avic: Fix invalidate logical APIC id entry (bsc#1132726). - commit a0c00f8- brcmfmac: add subtype check for event handling in data path (CVE-2019-8564,bsc#1132673). - commit dfd89cb- cxgb4: add support to display DCB info (bsc#1127371). - commit 5b50c7b- blacklist.conf: bebd024e4815 ("x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y") SLE kernels already enable this. - commit 577c0d1- cxgb4: Add new T6 PCI device ids 0x608a (bsc#1127371). - commit 06d9ae2- cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0 (bsc#1127371). - commit 9210ec3- cxgb4: display number of rx and tx pages free (bsc#1127371). - commit 436d16d- cxgb4: cxgb4: use FW_PORT_ACTION_L1_CFG32 for 32 bit capability (bsc#1127371). - commit a42b78c- assume flash part size to be 4MB, if it can't be determined (bsc#1127371). - commit 84ea04f- Refresh patches.arch/svm-fix-avic-dfr-and-ldr-handling. Fix compile warning introduced by this patch. - commit 30fa6d4- xen: Prevent buffer overflow in privcmd ioctl (bsc#1065600). - commit c236911- blacklist.conf: Blacklist some KVM reverts not needed in SLE - commit d786a86- KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts (bsc#1114279). - commit 321dd9f- x86/mce/AMD: Pass the bank number to smca_get_bank_type() (bsc#1128415). - commit 2a78c16- x86/bugs: do not default to IBRS even on SKL (bsc#1068032 CVE-2017-5753 bsc#1112824). Drop SUSE-specific IBRS-on-SKL implementation. Please refer to page 16 of [1] [1] https://software.intel.com/security-software-guidance/api-app/sites/default/files/Retpoline-A-Branch-Target-Injection-Mitigation.pdf - commit 6ab40f5- cxgb4: Support ethtool private flags (bsc#1127371). - commit dc8dc20- x86/kvm/hyper-v: avoid spurious pending stimer on vCPU init (bsc#1132572). - KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux (bsc#1132571). - KVM: x86/mmu: Detect MMIO generation wrap in any address space (bsc#1132570). - commit eff2335- KVM: Call kvm_arch_memslots_updated() before updating memslots (bsc#1132563). - KVM: nVMX: Ignore limit checks on VMX instructions using flat segments (bsc#1132564). - commit f524d2f- KVM: nVMX: Apply addr size mask to effective address for VMX instructions (bsc#1132561). - KVM: nVMX: Sign extend displacements of VMX instr's mem operands (bsc#1132562). - commit 27486c3- cxgb4: collect hardware queue descriptors (bsc#1127371). - commit 16f34c6- svm: Fix AVIC DFR and LDR handling (bsc#1132558). - commit e81dbdd- powerpc/powernv: Make opal log only readable by root (bsc#1065729). - commit e1d68e1- KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run (bsc#1132555). - commit 709aa15- powerpc/64s: Fix logic when handling unknown CPU features (bsc#1055117). - commit 9eac226- ALSA: hda - Add two more machines to the power_save_blacklist (bsc#1051510). - ALSA: seq: Fix OOB-reads from strlcpy (bsc#1051510). - commit 6ae1972- blacklist.conf: tracing: affected code is not in our kernel - commit 9d2222a- blacklist.conf: tracing: affected code is not in our kernel - commit 99bb62d- blacklist.conf: tracing: affected code is not in our kernel - commit 8e8b386- blacklist.conf: tracing: cosmetic - commit bba8a93- ring-buffer: Check if memory is available before allocation (bsc#1132531). - commit 30fa12d- tracing/hrtimer: Fix tracing bugs by taking all clock bases and modes into account (bsc#1132527). - commit 08a11e1- iommu/amd: Set exclusion range correctly (bsc#1130425). - commit 0dd02d9- blacklist.conf: trace/xdp: compilation warning; we do not have the affected code - commit 28d52fb- blacklist.conf: tracing: nothing serious - commit fad463b- blacklist.conf: vsprintf: cosmetic - commit 2fa0e86- blacklist.conf: printk: cosmetic; anyway, it fixes a commit that we do not have in SLE15 - commit 8801f18- Refresh patches.kabi/kabi-cxgb4-MU.patch. - commit 3439f3f- cxgb4: Add capability to get/set SGE Doorbell Queue Timer Tick (bsc#1127371). - commit 7cc943d- xfs: flush removing page cache in xfs_reflink_remap_prep (bsc#1132414, bsc#1132219). - commit ab00137- xfs: clean up xfs_reflink_remap_blocks call site (bsc#1132413, bsc#1132219). - commit 07a90bd- xfs: fix pagecache truncation prior to reflink (bsc#1132412, bsc#1132219). - commit b82ce17- vfs: exit early from zero length remap operations (bsc#1132411, bsc#1132219). - commit 1006b3a- x86/MCE: Fix kABI for new AMD bank names (bsc#1128415). - commit e9b2424- xfs: fix data corruption w/ unaligned reflink ranges (bsc#1132407, bsc#1132219). - commit a452f04- xfs: fix data corruption w/ unaligned dedupe ranges (bsc#1132405, bsc#1132219). - commit 16170da- xfs: update ctime and remove suid before cloning files (bsc#1132404, bsc#1132219). - commit 9e067d2- xfs: zero posteof blocks when cloning above eof (bsc#1132403, bsc#1132219). - commit e7442c0- xfs: refactor clonerange preparation into a separate helper (bsc#1132402, bsc#1132219). - commit 7ca8ffb- vfs: limit size of dedupe (bsc#1132397, bsc#1132219). - commit 3488d92- fs: avoid fdput() after failed fdget() in vfs_dedupe_file_range() (bsc#1132384, bsc#1132219). - commit 71bd329- xfs: cap the length of deduplication requests (bsc#1132373, bsc#1132219). - commit 190ac4b- xfs: only grab shared inode locks for source file during reflink (bsc#1132372, bsc#1132219). - commit 3e9e506- xfs: allow xfs_lock_two_inodes to take different EXCL/SHARED modes (bsc#1132370, bsc#1132219). - commit e1da3ac- xfs: reflink should break pnfs leases before sharing blocks (bsc#1132369, bsc#1132219). - commit 808ec37- xfs: call xfs_qm_dqattach before performing reflink operations (bsc#1132368, bsc#1132219). - commit 8d05605- xfs: remove dest file's post-eof preallocations before reflinking (bsc#1132365, bsc#1132219). - commit 4e87704- cxgb4: Added missing break in ndo_udp_tunnel_{add/del} (bsc#1127371). - commit 3d3df4e- cxgb4: do not return DUPLEX_UNKNOWN when link is down (bsc#1127371). - commit 85c678c- cxgb4: Add new T5 PCI device id 0x50ae (bsc#1127371). - commit 899ca26- cxgb4/cxgb4vf: Link management changes (bsc#1127371). - commit e37a35f- vfio/type1: Limit DMA mappings per container (CVE-2019-3882 bsc#1131427). - commit ddc4716- net/x25: reset state in x25_connect() (networking-stable-19_03_15). - net: sit: fix UBSAN Undefined behaviour in check_6rd (networking-stable-19_03_15). - net/x25: fix use-after-free in x25_device_event() (networking-stable-19_03_15). - rxrpc: Fix client call queueing, waiting for channel (networking-stable-19_03_15). - route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race (networking-stable-19_03_15). - net/hsr: fix possible crash in add_timer() (networking-stable-19_03_15). - ravb: Decrease TxFIFO depth of Q3 and Q2 to one (networking-stable-19_03_15). - net: hsr: fix memory leak in hsr_dev_finalize() (networking-stable-19_03_15). - net/x25: fix a race in x25_bind() (networking-stable-19_03_15). - net: Set rtm_table to RT_TABLE_COMPAT for ipv6 for tables > 255 (networking-stable-19_03_15). - ipvlan: disallow userns cap_net_admin to change global mode/flags (networking-stable-19_03_15). - missing barriers in some of unix_sock ->addr and ->path accesses (networking-stable-19_03_15). - commit 4256fc7- net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec (git-fixes). - commit 9b93af5- qmi_wwan: Add support for Quectel EG12/EM12 (networking-stable-19_03_07). - net: sit: fix memory leak in sit_init_net() (networking-stable-19_03_07). - net: dsa: mv88e6xxx: Fix u64 statistics (networking-stable-19_03_07). - xen-netback: don't populate the hash cache on XenBus disconnect (networking-stable-19_03_07). - xen-netback: fix occasional leak of grant ref mappings under memory pressure (networking-stable-19_03_07). - netlabel: fix out-of-bounds memory accesses (networking-stable-19_03_07). - net: nfc: Fix NULL dereference on nfc_llcp_build_tlv fails (networking-stable-19_03_07). - bnxt_en: Drop oversize TX packets to prevent errors (networking-stable-19_03_07). - tipc: fix race condition causing hung sendto (networking-stable-19_03_07). - hv_netvsc: Fix IP header checksum for coalesced packets (networking-stable-19_03_07). - mpls: Return error for RTA_GATEWAY attribute (networking-stable-19_03_07). - ipv6: Return error for RTA_VIA attribute (networking-stable-19_03_07). - ipv4: Return error for RTA_VIA attribute (networking-stable-19_03_07). - net: avoid use IPCB in cipso_v4_error (networking-stable-19_03_07). - net: Add __icmp_send helper (networking-stable-19_03_07). - kABI: restore icmp_send (kabi). - tun: remove unnecessary memory barrier (networking-stable-19_03_07). - net: socket: set sock->sk to NULL after calling proto_ops::release() (networking-stable-19_03_07). - tun: fix blocking read (networking-stable-19_03_07). - commit 8f4c9d1- supported.conf: dw_mmc-bluefield is not needed in kernel-default-base (bsc#1131574). - commit 3eb7cba- ibmvnic: Fix netdev feature clobbering during a reset (bsc#1132227). - ibmvnic: Enable GRO (bsc#1132227). - commit 0d7a77f- futex: Ensure that futex address is aligned in handle_futex_death() (bsc#1050549). - x86/tsc: Force inlining of cyc2ns bits (bsc#1052904). - commit 15ce0ba- Refresh patches.kabi/kabi-cxgb4-MU.patch. - commit e74784a- Do not provide kernel-default from kernel-default-base (boo#1132154, bsc#1106751). - commit 0e54e61- rpm/kernel-subpackage-spec: only provide firmware actually present in subpackage. - commit 839debd- crypto: pcbc - remove bogus memcpy()s with src == dest (bsc#1051510). - commit 94f7856- xfs: reflink find shared should take a transaction (bsc#1132226, bsc#1132219). - Refresh patches.fixes/0009-xfs-rewrite-getbmap-using-the-xfs_iext_-helpers.patch. - commit cd2c8d9- patches.fixes/vfs-Avoid-softlockups-in-drop_pagecache_sb.patch: Update tags and push to sorted section - commit ad7e442- cxgb4/cxgb4vf: Add support for SGE doorbell queue timer (bsc#1127371). - commit 58a71eb- KEYS: user: Align the payload buffer (bsc#1051510). - commit 40d3684- KEYS: always initialize keyring_index_key::desc_len (bsc#1051510). - commit 5ee13c4- mmc: tmio_mmc_core: don't claim spurious interrupts (bsc#1051510). - commit ecf4c22- NFC: nci: Add some bounds checking in nci_hci_cmd_received() (bsc#1051510). - commit 6f0ec11- staging: vt6655: Remove vif check from vnt_interrupt (bsc#1051510). - staging: vt6655: Fix interrupt race condition on device start up (bsc#1051510). - commit 6182d56- net: avoid false positives in untrusted gso validation (git-fixes). - commit d106ebd- sctp: call gso_reset_checksum when computing checksum in sctp_gso_segment (networking-stable-19_02_24). - net_sched: fix two more memory leaks in cls_tcindex (networking-stable-19_02_24). - net/packet: fix 4gb buffer limit due to overflow check (networking-stable-19_02_24). - ipv6: propagate genlmsg_reply return code (networking-stable-19_02_24). - sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach() (networking-stable-19_02_24). - net/mlx5e: Don't overwrite pedit action when multiple pedit used (networking-stable-19_02_24). - commit 905de62- kcm: switch order of device registration to fix a crash (bnc#1130527). - commit 97a6921- nvme: fix the dangerous reference of namespaces list (bsc#1131673). - Refresh patches.fixes/nvme-ensure-forward-progress-during-admin-passthru.patch. - Refresh patches.fixes/nvme-flush-namespace-scanning-work-just-before-remov.patch. - commit 723fb31- net: Do not allocate page fragments that are not skb aligned (networking-stable-19_02_20). - tcp: tcp_v4_err() should be more careful (networking-stable-19_02_20). - net: Add header for usage of fls64() (networking-stable-19_02_20). - net: validate untrusted gso packets without csum offload (networking-stable-19_02_20). - net: Fix for_each_netdev_feature on Big endian (networking-stable-19_02_20). - dsa: mv88e6xxx: Ensure all pending interrupts are handled prior to exit (networking-stable-19_02_20). - net: fix IPv6 prefix route residue (networking-stable-19_02_20). - vxlan: test dev->flags & IFF_UP before calling netif_rx() (networking-stable-19_02_20). - commit a7a9e9f- futex: Handle early deadlock return correctly (bsc#1050549). - commit 616063c- cxgb4: Add support for FW_ETH_TX_PKT_VM_WR (bsc#1127371). - commit 3691bab- Update patches.kabi/kabi-cxgb4-MU.patch (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584 bsc#1127371). - commit 7897fc2- cxgb4: Add support to read actual provisioned resources (bsc#1127371). - commit 295f1ae- kernel-subpackage-spec: Add dummy package to ensure subpackages are rebuilt with kernel update (bsc#1106751). In factory packages are not rebuilt automatically so a dependency is needed on the old kernel to get a rebuild with the new kernel. THe subpackage itself cannot depend on the kernel so add another empty pacakge that does depend on it. - commit 6d14837- supported.conf: Add vxlan to kernel-default-base (bsc#1132083). - commit 6b4f077- iwiwifi: fix bad monitor buffer register addresses (bsc#1129770). - commit a09c4f1- iwlwifi: fix send hcmd timeout recovery flow (bsc#1129770). - commit 675aabf- mwifiex: don't advertise IBSS features without FW support (bsc#1129770). - commit ad88ebe- tpm: Fix the type of the return value in calc_tpm2_event_size() (bsc#1082555). - commit 6313c7d- Bluetooth: btusb: request wake pin with NOAUTOEN (bsc#1051510). - commit 8a90dff- powerpc/powernv/cpuidle: Init all present cpus for deep states (bsc#1055121). - commit ef0cd6d- Refresh patches.arch/powerpc-64s-Simple-RFI-macro-conversions.patch. - commit a429c56- kbuild: strip whitespace in cmd_record_mcount findstring (bsc#1065729). - powerpc: avoid -mno-sched-epilog on GCC 4.9 and newer (bsc#1065729). - powerpc: consolidate -mno-sched-epilog into FTRACE flags (bsc#1065729). - commit 051f1dc- Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc (bsc#1051510). - commit b2052bc- dm: disable DISCARD if the underlying storage no longer supports it (bsc#1114638). - nvme: add proper discard setup for the multipath device (bsc#1114638). - nvme: only reconfigure discard if necessary (bsc#1114638). - commit da20e0a- crypto: caam - add missing put_device() call (bsc#1129770). - commit 160936b- mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate() (bsc#1131935). - commit adffe77- blacklist.conf: Prerequisites would be too invasive - commit 53a57ca- btrfs: Avoid possible qgroup_rsv_size overflow in btrfs_calculate_inode_block_rsv_size (git-fixes). - btrfs: Fix bound checking in qgroup_trace_new_subtree_blocks (git-fixes). - commit e57933e- cxgb4: Mask out interrupts that are not enabled (bsc#1127175). - commit 3062605- cxgb4: add per rx-queue counter for packet errors (bsc#1127371). - commit 1e45816- mm/debug.c: fix __dump_page when mapping->host is not set (bsc#1131934). - commit 49f8973- block: kABI fixes for bio_rewind_iter() removal (bsc#1131673). - block: remove bio_rewind_iter() (bsc#1131673). - commit ed035ef- NFSv4.1: Reinitialise sequence results before retransmitting a request (git-fixes). - Refresh patches.kabi/NFSv4.1-Fix-up-replays-of-interrupted-requests.patch. - commit c0890e9- NFS: Fix a typo in nfs_init_timeout_values() (git-fixes). - NFSv4/flexfiles: Fix invalid deref in FF_LAYOUT_DEVID_NODE() (git-fixes). - NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount (git-fixes). - NFS: Fix a soft lockup in the delegation recovery code (git-fixes). - fs/nfs: Fix nfs_parse_devname to not modify it's argument (git-fixes). - NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() (git-fixes). - NFS: Fix an I/O request leakage in nfs_do_recoalesce (git-fixes). - NFS: Fix I/O request leakages (git-fixes). - sunrpc: fix 4 more call sites that were using stack memory with a scatterlist (git-fixes). - nfsd4: catch some false session retries (git-fixes). - nfsd4: fix cached replies to solo SEQUENCE compounds (git-fixes). - commit f540a8d- NFSv4.1 don't free interrupted slot on open (git-fixes). - NFS: fix mount/umount race in nlmclnt (git-fixes). - NFS: Don't use page_file_mapping after removing the page (git-fixes). - commit 85579ed- md: Fix failed allocation of md_register_thread (git-fixes). - It's wrong to add len to sector_nr in raid10 reshape twice (git-fixes). - md/raid1: don't clear bitmap bits on interrupted recovery (git-fixes). - md/raid5: fix 'out of memory' during raid cache recovery (git-fixes). - commit d04c4f2- powerpc/mm/hash: Handle mmap_min_addr correctly in get_unmapped_area topdown search (bsc#1131900). - powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback (bsc#1131900). - commit 01e3e7d- powerpc/mm: Check secondary hash page table (bsc#1065729). - commit 705707e- powerpc/kvm: Save and restore host AMR/IAMR/UAMOR (bsc#1061840). - powerpc/powernv/ioda: Fix locked_vm counting for memory used by IOMMU tables (bsc#1061840). - powerpc/powernv: Don't reprogram SLW image on every KVM guest entry/exit (bsc#1061840). - powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest (bsc#1061840). - powerpc/powernv: Remove never used pnv_power9_force_smt4 (bsc#1061840). - powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace addresses on demand (bsc#1061840). - KVM: PPC: Book3S HV: Fix race between kvm_unmap_hva_range and MMU mode switch (bsc#1061840). - powerpc/powernv/ioda2: Remove redundant free of TCE pages (bsc#1061840). - commit 793f82e- powerpc/perf: Remove l2 bus events from HW cache event array (bsc#1053043). - powerpc/perf: Fix unit_sel/cache_sel checks (bsc#1053043). - commit 9d44872- blacklist 0bbea75c476b powerpc/traps: fix recoverability of machine check handling on book3s/32 179ab1cbf883 powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC - commit cd08784- wlcore: Fix memory leak in case wl12xx_fetch_firmware failure (bsc#1051510). - commit 6809a3d- wil6210: check null pointer in _wil_cfg80211_merge_extra_ies (bsc#1051510). - commit 6b4747c- usb: chipidea: Grab the (legacy) USB PHY by phandle first (bsc#1051510). - usb: f_fs: Avoid crash due to out-of-scope stack ptr access (bsc#1051510). - commit 0b2fd5e- sysctl: handle overflow for file-max (bsc#1051510). - commit a956e89- SoC: imx-sgtl5000: add missing put_device() (bsc#1051510). - soc: qcom: gsbi: Fix error handling in gsbi_probe() (bsc#1051510). - soc/tegra: fuse: Fix illegal free of IO base address (bsc#1051510). - commit dc51183- staging: rtl8712: uninitialized memory in read_bbreg_hdl() (bsc#1051510). - commit 155de9a- phy: sun4i-usb: Support set_mode to USB_HOST for non-OTG PHYs (bsc#1051510). - commit cb64f79- mt7601u: bump supported EEPROM version (bsc#1051510). - commit 208ba38- media: sh_veu: Correct return type for mem2mem buffer helpers (bsc#1051510). - media: s5p-jpeg: Correct return type for mem2mem buffer helpers (bsc#1051510). - media: s5p-g2d: Correct return type for mem2mem buffer helpers (bsc#1051510). - media: mx2_emmaprp: Correct return type for mem2mem buffer helpers (bsc#1051510). - media: mtk-jpeg: Correct return type for mem2mem buffer helpers (bsc#1051510). - media: mt9m111: set initial frame size other than 0x0 (bsc#1051510). - commit 90a0ddb- iio: adc: fix warning in Qualcomm PM8xxx HK/XOADC driver (bsc#1051510). - commit 6caf79b- hwrng: virtio - Avoid repeated init of completion (bsc#1051510). - commit bf42009- HID: intel-ish-hid: avoid binding wrong ishtp_cl_device (bsc#1051510). - HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit (bsc#1051510). - commit ae1bdb3- blacklist.conf: blacklist ppc/32bit and ppc/embedded commits b45ba4a51cde powerpc/lib: fix book3s/32 boot failure due to code patching 9580b71b5a78 powerpc/32: Clear on-stack exception marker upon exception return 039daac55269 powerpc/fsl: Fixed warning: orphan section `__btb_flush_fixup' 76a5eaa38b15 powerpc/fsl: Add infrastructure to fixup branch predictor flush 1cbf8990d79f powerpc/fsl: Add macro to flush the branch predictor f633a8ad636e powerpc/fsl: Add nospectre_v2 command line argument 10c5e83afd4a powerpc/fsl: Flush the branch predictor at each kernel entry (64bit) 7fef436295bf powerpc/fsl: Flush the branch predictor at each kernel entry (32 bit) 3bc8ea8603ae powerpc/fsl: Enable runtime patching if nospectre_v2 boot arg is used dfa88658fb05 powerpc/fsl: Update Spectre v2 reporting 36da5ff0bea2 powerpc/83xx: Also save/restore SPRG4-7 during suspend 6d183ca8baec powerpc/wii: properly disable use of BATs when requested. - commit b0dd199- gpio: of: Fix of_gpiochip_add() error path (bsc#1051510). - gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input (bsc#1051510). - gpio: gpio-omap: fix level interrupt idling (bsc#1051510). - commit 4bb2e39- powerpc/mm: Add missing tracepoint for tlbie (bsc#1055117, git-fixes). - powerpc64/ftrace: Include ftrace.h needed for enable/disable calls (bsc#1088804, git-fixes). - commit c88ea21- fm10k: Fix a potential NULL pointer dereference (bsc#1051510). - commit bbe540e- fbdev: fbmem: fix memory access if logo is bigger than the screen (bsc#1051510). - commit d825899- e1000e: Fix -Wformat-truncation warnings (bsc#1051510). - e1000e: fix cyclic resets at link up with active tx (bsc#1051510). - commit 4f78665- drm/i915/gvt: do not deliver a workload if its creation fails (bsc#1051510). - drm: Auto-set allow_fb_modifiers when given modifiers at plane init (bsc#1051510). - drm/nouveau: Stop using drm_crtc_force_disable (bsc#1051510). - drm/dp/mst: Configure no_stop_bit correctly for remote i2c xfers (bsc#1051510). - commit 1e63ac0- dmaengine: tegra: avoid overflow of byte tracking (bsc#1051510). - dmaengine: imx-dma: fix warning comparison of distinct pointer types (bsc#1051510). - dmaengine: qcom_hidma: assign channel cookie correctly (bsc#1051510). - commit 503f9a0- cpupowerutils: bench - Fix cpu online check (bsc#1051510). - commit a829aa9- clk: rockchip: fix frac settings of GPLL clock for rk3328 (bsc#1051510). - clk: fractional-divider: check parent rate only if flag is set (bsc#1051510). - commit 142df98- cdrom: Fix race condition in cdrom_sysctl_register (bsc#1051510). - commit a569b56- batman-adv: Reduce tt_global hash refcnt only for removed entry (bsc#1051510). - batman-adv: Reduce tt_local hash refcnt only for removed entry (bsc#1051510). - batman-adv: Reduce claim hash refcnt only for removed entry (bsc#1051510). - commit 6d5f647- ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe (bsc#1051510). - commit 0c80b58- ALSA: PCM: check if ops are defined before suspending PCM (bsc#1051510). - commit 3af8a26- RAS/CEC: Check the correct variable in the debugfs error handling (bsc#1085535). - commit b4b7dc8- blacklist.conf: cleanup that breaks kABI (removing exported macros) - commit 0f9dd9c- lightnvm: if LUNs are already allocated fix return (bsc#1085535). - commit 7a5f19f- ext4: cleanup bh release code in ext4_ind_remove_space() (bsc#1131851). - commit 0f68dfb- Btrfs: fix assertion failure on fsync with NO_HOLES enabled (bsc#1131848). - commit 344ee60- btrfs: remove WARN_ON in log_dir_items (bsc#1131847). - commit 3905aef- Btrfs: fix incorrect file size after shrinking truncate and fsync (bsc#1130195). - commit 16559ac- drm/i915/gvt: do not let pin count of shadow mm go negative (bsc#1113722) - commit adbe28f- drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list (bsc#1113722) - commit b9f4942- drm/rockchip: vop: reset scale mode when win is disabled (bsc#1113722) - commit 766b520- USB: serial: cp210x: fix GPIO in autosuspend (bsc#1120902). - commit c2fe95d- blacklist.conf: 47b16820c490 ("xsysace: Fix error handling in ace_setup") Xilinx SystemACE is unsupported. - commit 5aa9dd7- blacklist.conf: 02db99548d36 ("nvmet: fix building bvec from sg list") is only needed with file-backed namespace, so only backport it to SLE15-SP1. - commit 14a4b83- blacklist.conf: unsupported Atom version - commit 19dc7a1- s390/pkey: move pckmo subfunction available checks away from module init (bsc#1128544). - commit bf44580- patches.fixes/mm-huge_memory.c-fix-modifying-of-page-protection-by-insert_pfn_pmd.patch: Update tags - commit 6abd3db- ibmvnic: Fix completion structure initialization (bsc#1131659). - commit 64ed59b- Linux v5.0-rc7: bcm2835 MMC issues (bsc#1070872). - commit add15c8- scsi: libsas: allocate sense buffer for bsg queue (bsc#1131467). This patch obsoletes the following patches and they have been removed: - patches.fixes/bsg-Do-not-copy-sense-if-no-response-buffer-is-alloc.patch. - patches.suse/mpt3sas-check-sense-buffer-before-copying-sense-data.patch. - commit a55f096- powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038 (bsc#1131587). - commit 5da8af1- powerpc/vdso32: fix CLOCK_MONOTONIC on PPC64 (bsc#1131587). - commit ceb6b90- blacklist.conf: blacklist some unneeded git-fixes for kbuild - commit abe6c5a- sunrpc/cache: handle missing listeners better (bsc#1126221). - commit 222e680- ALSA: hda/realtek - Add quirk for Tuxedo XC 1509 (bsc#1131442). - commit 8e330f3- Fix struct page kABI after adding atomic for ppc (bsc#1131326, bsc#1108937). - commit be14dd3- net_sched: acquire RTNL in tc_action_net_exit() (git-fixes). - commit 8f2ce8d- powerpc/64s: Fix page table fragment refcount race vs speculative references (bsc#1131326, bsc#1108937). - commit 5305157- netlink: fix nla_put_{u8,u16,u32} for KASAN (git-fixes). - commit 923fbed- ip6_tunnel: fix ip6 tunnel lookup in collect_md mode (git-fixes). - commit 5540e41- net/hsr: Check skb_put_padto() return value (git-fixes). - commit eaaa0aa- blacklist.conf: 0c671812f152 ("objtool: Move objtool_file struct off the stack") Optimization only. - commit 95167b9- drm/i915/gvt: Fix MI_FLUSH_DW parsing with correct index check (bsc#1051510). - drm/meson: Uninstall IRQ handler (bsc#1051510). - drm/meson: Fix invalid pointer in meson_drv_unbind() (bsc#1051510). - commit ca8e7de- ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO (bsc#1051510). - ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB (bsc#1051510). - Refresh patches.drivers/ALSA-hda-realtek-Enable-ASUS-X441MB-and-X705FD-heads.patch. - Refresh patches.drivers/ALSA-hda-realtek-Enable-headset-MIC-of-Acer-AIO-with.patch. - commit a592cc5- leds: pca9532: fix a potential NULL pointer dereference (bsc#1051510). - serial: sh-sci: Fix setting SCSCR_TIE while transferring data (bsc#1051510). - tty: atmel_serial: fix a potential NULL pointer dereference (bsc#1051510). - serial: max310x: Fix to avoid potential NULL pointer dereference (bsc#1051510). - USB: serial: option: add Olicard 600 (bsc#1051510). - USB: serial: cp210x: add new device id (bsc#1051510). - USB: serial: ftdi_sio: add additional NovaTech products (bsc#1051510). - USB: serial: option: add support for Quectel EM12 (bsc#1051510). - usb: mtu3: fix EXTCON dependency (bsc#1051510). - xhci: Don't let USB3 ports stuck in polling state prevent suspend (bsc#1051510). - xhci: Fix port resume done detection for SS ports with LPM enabled (bsc#1051510). - usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk (bsc#1051510). - mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S (bsc#1051510). - Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt (bsc#1051510). - video: fbdev: Set pixclock = 0 in goldfishfb (bsc#1051510). - commit 178f505- Move merged patch to sorted section. - commit f8a5a36- mm/huge_memory.c: fix modifying of page protection by insert_pfn_pmd() (bsc#1126740). - commit f2d3c27- CIFS: Fix read after write for files with read caching (bsc#1051510). - commit 3e38596- CIFS: Do not reset lease state to NONE on lease break (bsc#1051510). - commit fa36ef9- CIFS: Do not count -ENODATA as failure for query directory (bsc#1051510). - commit 6e009d6- CIFS: Fix credit calculation for encrypted reads with errors (bsc#1051510). - commit a3abad5- btrfs: save drop_progress if we drop refs at all (bsc#1131336). - commit 4b84d75- CIFS: Fix credits calculations for reads with errors (bsc#1051510). - commit dea8577- btrfs: check for refs on snapshot delete resume (bsc#1131335). - commit aaca681- CIFS: Do not reconnect TCP session in add_credits() (bsc#1051510). - commit 270290e- CIFS: Fix possible hang during async MTU reads and writes (bsc#1051510). - commit 3617549- cifs: Fix potential OOB access of lock element array (bsc#1051510). - commit 10b82f5- CIFS: Do not hide EINTR after sending network packets (bsc#1051510). - commit 2e205b5- CIFS: Fix adjustment of credits for MTU requests (bsc#1051510). - commit 877d080- cifs: don't dereference smb_file_target before null check (bsc#1051510). - commit 4ceb2b6- kbuild: modversions: Fix relative CRC byte order interpretation (bsc#1131290). - commit fbd5ed2- ext4: fix EXT4_IOC_SWAP_BOOT (bsc#1131180). - commit 6300d9f- ext4: update quota information while swapping boot loader inode (bsc#1131179). - commit 698c374- ext4: cleanup pagecache before swap i_data (bsc#1131178). - commit 6cc247a- ext4: fix check of inode in swap_inode_boot_loader (bsc#1131177). - commit e7db433- patches.fixes/mm-Fix-modifying-of-page-protection-by-insert_pfn.patch: Update tags. - commit b903146- ext4: add missing brelse() in add_new_gdb_meta_bg() (bsc#1131176). - commit dfe0576- udf: Fix crash on IO error during truncate (bsc#1131175). - commit c18f321- ext2: Fix underflow in ext2_max_size() (bsc#1131174). - commit 84e6e73- ext4: brelse all indirect buffer in ext4_ind_remove_space() (bsc#1131173). - commit 9721810- ext4: fix data corruption caused by unaligned direct AIO (bsc#1131172). - commit feb5c5f- ext4: fix NULL pointer dereference while journal is aborted (bsc#1131171). - commit 92c9de9- ext4: add mask of ext4 flags to swap (bsc#1131170). - commit 99206bf- ocfs2: fix inode bh swapping mixup in ocfs2_reflink_inodes_lock (bsc#1131169). - commit 4a73aec- jbd2: fix compile warning when using JBUFFER_TRACE (bsc#1131168). - commit c3e6bb8- jbd2: clear dirty flag when revoking a buffer from an older transaction (bsc#1131167). - commit a421763- Revert drm/i915 patches that caused regressions (bsc#1131062) Deleted: patches.drm/0001-drm-i915-Use-the-correct-crtc-when-sanitizing-plane-.patch patches.drm/0001-drm-i915-fbdev-Actually-configure-untiled-displays.patch blacklist.conf: added two entries above - commit 0e4b019- powerpc/security: Fix spectre_v2 reporting (bsc#1131107). - powerpc/fsl: Fix spectre_v2 mitigations reporting (bsc#1131107). - powerpc/powernv: Query firmware for count cache flush settings (bsc#1131107). - powerpc/pseries: Query hypervisor for count cache flush settings (bsc#1131107). - powerpc/64s: Add support for software count cache flush (bsc#1131107). - powerpc/64s: Add new security feature flags for count cache flush (bsc#1131107). - powerpc/asm: Add a patch_site macro & helpers for patching instructions (bsc#1131107). - powerpc/64: Call setup_barrier_nospec() from setup_arch() (bsc#1131107). - powerpc/64: Make stf barrier PPC_BOOK3S_64 specific (bsc#1131107). - powerpc/64: Disable the speculation barrier from the command line (bsc#1131107). - commit e6638b6- usb: common: Consider only available nodes for dr_mode (bsc#1129770). - commit 1ee54b2- usb: cdc-acm: fix race during wakeup blocking TX traffic (bsc#1129770). - commit 6b4c74d- USB: gadget: f_hid: fix deadlock in f_hidg_write() (bsc#1129770). - commit 231f4ae- USB: serial: option: set driver_info for SIM5218 and compatibles (bsc#1129770). - commit 83ea3de- USB: serial: mos7720: fix mos_parport refcount imbalance on error path (bsc#1129770). - commit 875c985- Refresh patches.arch/pseries-energy-Use-OF-accessor-function-to-read-ibm-.patch - Refresh patches.drivers/ibmvscsi-Fix-empty-event-pool-access-during-host-rem.patch. - Refresh patches.drivers/ibmvscsi-Protect-ibmvscsi_head-from-concurrent-modif.patch. - commit fdf19d9- iommu/amd: Reserve exclusion range in iova-domain (bsc#1130425). - iommu: Don't print warning when IOMMU driver only supports unmanaged domains (bsc#1130130). - commit 0d6792b- x86/cpu: Add Atom Tremont (Jacobsville) (FATE#327454). - commit 3c49c7d- powerpc/pseries/mce: Fix misleading print for TLB mutlihit (bsc#1094244, git-fixes). - commit f2a2099- powercap: intel_rapl: add support for Jacobsville (FATE#327454). - commit e9c57f5- thermal/intel_powerclamp: fix truncated kthread name (FATE#326597). - commit 8eb43dd- nfsd: fix memory corruption caused by readdir (bsc#1127445). - commit d7221f2- x86/mce: Improve error message when kernel cannot recover, p2 (bsc#1114279). - blacklist.conf: - x86/CPU/AMD: Set the CPB bit unconditionally on F17h (bsc#1114279). - x86/uaccess: Don't leak the AC flag into __put_user() value evaluation (bsc#1114279). - commit 8d74308- Delete a USB patch that has been reverted in upstream - Delete patches.drivers/USB-core-only-clean-up-what-we-allocated.patch. - blacklist.conf: updated - commit ce8dfae- ALSA: pcm: Don't suspend stream in unrecoverable PCM state (bsc#1051510). - ALSA: pcm: Fix possible OOB access in PCM oss plugins (bsc#1051510). - ALSA: hda/realtek: Enable headset mic of ASUS P5440FF with ALC256 (bsc#1051510). - ALSA: hda/realtek: Enable ASUS X441MB and X705FD headset MIC with ALC256 (bsc#1051510). - ALSA: hda/realtek - Add support for Acer Aspire E5-523G/ES1-432 headset mic (bsc#1051510). - ALSA: hda/realtek: Enable headset MIC of Acer Aspire Z24-890 with ALC286 (bsc#1051510). - ALSA: seq: oss: Fix Spectre v1 vulnerability (bsc#1051510). - ALSA: rawmidi: Fix potential Spectre v1 vulnerability (bsc#1051510). - commit 69f1f87- hv: reduce storvsc_ringbuffer_size from 1M to 128K to simplify booting with 1k vcpus (fate#323887). - commit 3adae84- PCI: designware-ep: dw_pcie_ep_set_msi() should only set MMC bits (bsc#1051510). - Refresh patches.drivers/PCI-designware-ep-Fix-get_msi-to-check-MSI_EN-bit. - commit 4500d8d- rhashtable: Still do rehash when we get EEXIST (bsc#1051510). - commit c19465e- soc: fsl: qbman: avoid race in clearing QMan interrupt (bsc#1051510). - serial: imx: Update cached mctrl value when changing RTS (bsc#1051510). - commit d010558- tpm: Fix some name collisions with drivers/char/tpm.h (bsc#1051510). - tpm/tpm_crb: Avoid unaligned reads in crb_recv() (bsc#1051510). - tpm_tis_spi: Pass the SPI IRQ down to the driver (bsc#1051510). - commit 6cd0a4a- uio: Reduce return paths from uio_write() (bsc#1051510). - USB: core: only clean up what we allocated (bsc#1051510). - commit ab0f288- net: ena: update driver version from 2.0.2 to 2.0.3 (bsc#1129276 bsc#1125342). - commit 369fffc- ALSA: hda/realtek: Enable headset MIC of Acer AIO with ALC286 (bsc#1051510). - ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec (bsc#1051510). - ALSA: hda - Record the current power state before suspend/resume calls (bsc#1051510). - commit de6e070- blacklist.conf: kABI - commit ae0ea58- blacklist.conf: cleanup - commit ef4abe8- media: vb2: don't call __vb2_queue_cancel if vb2_start_streaming failed (bsc#1119086). - commit fbc0f52- blacklist.conf: unsupported architecture - commit 1b8dc44- blacklist.conf: our kernel configs build - commit 47fd8e3- blacklist.conf: just a cleanup - commit e8b7243- media: rc: mce_kbd decoder: fix stuck keys (bsc#1100132). - commit 9e1c047- blacklist.conf: drops support for old hardware - commit ebbb144- blacklist.conf: breaks kABI - commit a09f690- blacklist.conf: breaks kABI - commit 3726cc3- Input: uinput - fix undefined behavior in uinput_validate_absinfo() (bsc#1120902). - commit c89d255- bpf: do not restore dst_reg when cur_state is freed (bsc#1068032 CVE-2017-5753 bsc#1124055 CVE-2019-7308). - commit 9276bbc- memremap: fix softlockup reports at teardown (bnc#1130154). - commit 6db61c3- scsi: libiscsi: fix possible NULL pointer dereference in case of TMF (bsc#1127378). - commit 54a0fde- qmi_wwan: apply SET_DTR quirk to Sierra WP7607 (bsc#1051510). - qmi_wwan: Fix qmap header retrieval in qmimux_rx_fixup (bsc#1051510). - commit 42461a9- power: supply: charger-manager: Fix incorrect return value (bsc#1051510). - commit c557f72- libertas_tf: don't set URB_ZERO_PACKET on IN USB transfer (bsc#1051510). - commit 8f82e45- iscsi_ibft: Fix missing break in switch statement (bsc#1051510). - irqchip/mmp: Only touch the PJ4 IRQ & FIQ bits on enable/disable (bsc#1051510). - kbuild: fix false positive warning/error about missing libelf (bsc#1051510). - kasan: fix shadow_size calculation error in kasan_module_alloc (bsc#1051510). - commit e0d199f- irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table (bsc#1051510). - commit 3d1d012- Input: cap11xx - switch to using set_brightness_blocking() (bsc#1051510). - commit 2da52af- media: v4l2-ctrls.c/uvc: zero v4l2_event (bsc#1051510). - Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto() (bsc#1051510). - Bluetooth: hci_ldisc: Initialize hci_dev before open() (bsc#1051510). - Bluetooth: Fix decrementing reference count twice in releasing socket (bsc#1051510). - pwm-backlight: Enable/disable the PWM before/after LCD enable toggle (bsc#1051510). - rtc: Fix overflow when converting time64_t to rtc_time (bsc#1051510). - commit f283d41- Btrfs: fix deadlock between clone/dedupe and rename (bsc#1130518). - commit cf4e851- Refresh patches.drivers/0001-iwlwifi-nvm-get-num-of-hw-addresses-from-firmware.patch. - commit 6a5dbcd- ACPI: acpi_pad: Do not launch acpi_pad threads on idle cpus (bsc#1113399). - commit e7efd4e- libceph: wait for latest osdmap in ceph_monc_blacklist_add() (bsc#1130427). - commit 175d167- rtc: pm8xxx: fix unintended sign extension (bsc#1051510). - rtc: 88pm80x: fix unintended sign extension (bsc#1051510). - rtc: 88pm860x: fix unintended sign extension (bsc#1051510). - rtc: ds1672: fix unintended sign extension (bsc#1051510). - rtc: cmos: ignore bogus century byte (bsc#1051510). - commit cef4199- serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart (bsc#1051510). - serial: fsl_lpuart: fix maximum acceptable baud rate with over-sampling (bsc#1051510). - commit d6bf923- thermal: bcm2835: Fix crash in bcm2835_thermal_debugfs (bsc#1051510). - auxdisplay: hd44780: Fix memory leak on ->remove() (bsc#1051510). - mmc: pxamci: fix enum type confusion (bsc#1051510). - drm/i915: Relax mmap VMA check (bsc#1051510). - cpufreq: pxa2xx: remove incorrect __init annotation (bsc#1051510). - PM / wakeup: Rework wakeup source timer cancellation (bsc#1051510). - clk: ingenic: Fix doc of ingenic_cgu_div_info (bsc#1051510). - clk: ingenic: Fix round_rate misbehaving with non-integer dividers (bsc#1051510). - clk: clk-twl6040: Fix imprecise external abort for pdmclk (bsc#1051510). - i2c: tegra: fix maximum transfer size (bsc#1051510). - cpcap-charger: generate events for userspace (bsc#1051510). - usb: phy: twl6030-usb: fix possible use-after-free on remove (bsc#1051510). - device property: Fix the length used in PROPERTY_ENTRY_STRING() (bsc#1051510). - cpufreq: tegra124: add missing of_node_put() (bsc#1051510). - clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown (bsc#1051510). - clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR (bsc#1051510). - spi: pxa2xx: Setup maximum supported DMA transfer length (bsc#1051510). - spi: ti-qspi: Fix mmap read when more than one CS in use (bsc#1051510). - spi/topcliff_pch: Fix potential NULL dereference on allocation error (bsc#1051510). - regulator: s2mpa01: Fix step values for some LDOs (bsc#1051510). - regulator: max77620: Initialize values for DT properties (bsc#1051510). - mac80211_hwsim: propagate genlmsg_reply return code (bsc#1051510). - clk: sunxi-ng: v3s: Fix TCON reset de-assert bit (bsc#1051510). - Input: st-keyscan - fix potential zalloc NULL dereference (bsc#1051510). - Input: matrix_keypad - use flush_delayed_work() (bsc#1051510). - auxdisplay: ht16k33: fix potential user-after-free on module unload (bsc#1051510). - drm/imx: imx-ldb: add missing of_node_puts (bsc#1051510). - drm/imx: ignore plane updates on disabled crtcs (bsc#1051510). - mac80211: Fix Tx aggregation session tear down with ITXQs (bsc#1051510). - usb: phy: fix link errors (bsc#1051510). - usb: gadget: Potential NULL dereference on allocation error (bsc#1051510). - usb: dwc3: gadget: Fix the uninitialized link_state when udc starts (bsc#1051510). - usb: dwc3: gadget: synchronize_irq dwc irq in suspend (bsc#1051510). - clk: vc5: Abort clock configuration without upstream clock (bsc#1051510). - commit 6cb451f- Move ext4 fix to sorted section. - commit bc353a8- ext4: Avoid panic during forced reboot (bsc#1126356). - commit 395e2df- SMB3: Fix SMB3.1.1 guest mounts to Samba (bsc#1051510). - commit 42fc847- cifs: allow guest mounts to work for smb3.11 (bsc#1051510). - commit b9f1747- rpm/kernel-binary.spec.in: Add back kernel-binary-base subpackage (jsc#SLE-3853). - commit 54b6646- net/ncsi: Stop monitor if channel times out or is inactive (git-fixes). - commit 51f02cc- net/ncsi: Fix AEN HNCDSC packet length (git-fixes). - commit 131fc0a- rtnetlink: check DO_SETLINK_NOTIFY correctly in do_setlink (git-fixes). - commit 67433ca- rtnetlink: bring NETDEV_CHANGEUPPER event process back in rtnetlink_event (git-fixes). - commit 40c26cb- rtnetlink: bring NETDEV_POST_TYPE_CHANGE event process back in rtnetlink_event (git-fixes). - commit 84885e6- rtnetlink: bring NETDEV_CHANGE_TX_QUEUE_LEN event process back in rtnetlink_event (git-fixes). - commit 285df6b- Revert "ipv4: keep skb->dst around in presence of IP options" (git-fixes). - commit 533ed1e- ip6: fix PMTU discovery when using /127 subnets (git-fixes). - commit 8b09618- netfilter: check for seqadj ext existence before adding it in nf_nat_setup_info (git-fixes). - commit 1475b19- iommu/vt-d: Check capability before disabling protected memory (bsc#1130338). - iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE (bsc#1130337). - svm: Fix improper check when deactivate AVIC (bsc#1130335). - iommu/amd: Fix NULL dereference bug in match_hid_uid (bsc#1130336). - commit 59d980d- ip6mr: Do not call __IP6_INC_STATS() from preemptible context (git-fixes). - commit a0e7de3- ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration (bsc#1051510). - ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist (bsc#1051510). - ALSA: firewire-motu: use 'version' field of unit directory to identify model (bsc#1051510). - ALSA: sb8: add a check for request_region (bsc#1051510). - ALSA: echoaudio: add a check for ioremap_nocache (bsc#1051510). - ALSA: firewire-motu: add support for Motu Traveler (bsc#1051510). - ALSA: firewire-motu: add a flag for AES/EBU on XLR interface (bsc#1051510). - ALSA: firewire: add const qualifier to identifiers for read-only symbols (bsc#1051510). - ALSA: firewire-motu: add support for MOTU Audio Express (bsc#1051510). - ALSA: firewire-motu: add specification flag for position of flag for MIDI messages (bsc#1051510). - commit 44777c3- Do not provide kernel-default-srchash from kernel-default-base. - commit d6c71ce- net-sysfs: Fix mem leak in netdev_register_kobject (git-fixes). - commit ab6d34b- ipv4/route: fail early when inet dev is missing (git-fixes). - commit 2ab8395- nvme: schedule requeue whenever a LIVE state is entered (bsc#1123105). - commit 8d25e58- Move the upstreamed drm vmwgfx patch into sorted section Also move to patches.drm subdirectory - commit 31818d7- drm/i915/bios: assume eDP is present on port A when there is no VBT (bsc#1051510). - drm/nouveau/debugfs: Fix check of pm_runtime_get_sync failure (bsc#1051510). - commit 8e7b9bc- USB: serial: option: add Telit ME910 ECM composition (bsc#1129770). - commit 1dcab61- USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 (bsc#1129770). - USB: serial: cp210x: add ID for Ingenico 3070 (bsc#1129770). - commit 98bf3ee- iwlwifi: mvm: fix firmware statistics usage (bsc#1129770). - commit 23e27f9- Enable CONFIG_RDMA_RXE=m also for ppc64le (bsc#1107665,FATE#327552) - commit 01b35ce- gro_cells: make sure device is up in gro_cells_receive() (git-fixes). - commit 07d85fc- Fix a wrongly applied patch for mlxsw Refresh patches.fixes/0001-mlxsw-__mlxsw_sp_port_headroom_set-Fix-a-use-of-loca.patch. - commit 464fcba- l2tp: fix infoleak in l2tp_ip6_recvmsg() (git-fixes). - commit 868559e- tcp: handle inet_csk_reqsk_queue_add() failures (git-fixes). - commit 4e8b58b- blacklist.conf: Blacklist c9e716eb9b34 and 231fe82b5609 - commit 2748115- net: stmmac: fix broken dma_interrupt handling for multi-queues (git-fixes). - commit fb85ef5- net: stmmac: Use mutex instead of spinlock (git-fixes). - commit 09b11af- scsi: ibmvscsi: Fix empty event pool access during host removal (bsc#1119019). - scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton (bsc#1119019). - commit cc2e069- ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton (bsc#1119019). - commit ab6b8c2- patches.fixes/ext4-Fix-crash-during-online-resizing.patch: Update tags - commit ab2b2e4- blacklist.conf: Blacklist fanotify cleanup and intrusive loop device rework - commit 888b615- net/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (git-fixes). - commit 2a80c1f- ibmvnic: Report actual backing device speed and duplex values (bsc#1129923). - commit 4347029- smb3: remove noisy warning message on mount (bsc#1129664). - commit a1f6570- rpm/kernel-subpackage-build: handle arm kernel zImage. - commit 81a63c3- net: thunderx: fix NULL pointer dereference in nic_remove (git-fixes). - commit f02276a- mlxsw: __mlxsw_sp_port_headroom_set(): Fix a use of local variable (git-fixes). - commit 69b065b- block_dev: fix crash on chained bios with O_DIRECT (bsc#1128094). - Delete patches.fixes/bio-Introduce-BIO_ALLOCED-flag-and-check-it-in-bio_f.patch. - commit 512ce8f- net: stmmac: handle endianness in dwmac4_get_timestamp (git-fixes). - commit 5cdea6c- Delete patches.fixes/block-loop-Use-global-lock-for-ioctl-operation.patch: It makes existing deadlocks much more probable (bsc#1129739). - Delete patches.kabi/loop-lo_ctl_mutex-kabi-fixup.patch. - commit 604f34a- scsi: mptsas: Fixup device hotplug for VMWare ESXi (bsc#1129046). - commit a34b660- net: stmmac: Fix a race in EEE enable callback (git-fixes). - commit ef5602d- ch: fixup refcounting imbalance for SCSI devices (bsc#1124235). - ch: add missing mutex_lock()/mutex_unlock() in ch_release() (bsc#1124235). - commit e1a0bf9- Btrfs: fix fsync after succession of renames and unlink/rmdir (bsc#1126488). - commit 773794e- Btrfs: fix fsync after succession of renames of different files (bsc#1126481). - commit e1d9100- btrfs: simplify IS_ERR/PTR_ERR checks (bsc#1126481). - commit db613f3- nvme-pci: fix out of bounds access in nvme_cqe_pending (bsc#1127595). - commit 278fbe1- Delete patches.fixes/block_dev-fix-crash-on-chained-bios-with-O_DIRECT.patch. - commit 54fa6df- rpm/kernel-source.changes.old: Really drop old changelogs (bsc#1098995) - commit c98a840- bio: Introduce BIO_ALLOCED flag and check it in bio_free (bsc#1128094). - commit bc841e1- block_dev: fix crash on chained bios with O_DIRECT (bsc#1128094). - commit 3bf2ca7- xfs: fix contiguous dquot chunk iteration livelock (bsc#1070995). - Refresh patches.fixes/0059-xfs-introduce-the-xfs_iext_cursor-abstraction.patch. - commit 227ca72- xfs: rewrite xfs_dq_get_next_id using xfs_iext_lookup_extent (bsc#1070995). - Refresh patches.fixes/0059-xfs-introduce-the-xfs_iext_cursor-abstraction.patch. - commit 76eca08- xfs: Switch to iomap for SEEK_HOLE / SEEK_DATA (bsc#1070995). - Refresh patches.suse/mm-pagevec-remove-cold-parameter-for-pagevecs.patch. - commit 9de815a- vfs: in iomap seek_{hole,data}, return -ENXIO for negative offsets (bsc#1070995). - commit b78c862- vfs: Add iomap_seek_hole and iomap_seek_data helpers (bsc#1070995). - commit 125ebab- vfs: Add page_cache_seek_hole_data helper (bsc#1070995). - commit 05d2885- Don't log confusing message on reconnect by default (bsc#1129664). - commit 385bd76- sched: Do not re-read h_load_next during hierarchical load calculation (bnc#1120909). - commit 50744d4- RDMA/vmw_pvrdma: Support upto 64-bit PFNs (bsc#1127285). - VMCI: Support upto 64-bit PPNs (bsc#1127286). - commit 7ae051b- IB/hfi1: Close race condition on user context disable and close (bsc#1060463 FATE#323043). - IB/core: Fix potential memory leak while creating MAD agents (bsc#1046306 FATE#322942). - IB/core: Unregister notifier before freeing MAD security (bsc#1046306 FATE#322942). - IB/core: Destroy QP if XRC QP fails (bsc#1046306 FATE#322942). - bnxt_en: Wait longer for the firmware message response to complete (bsc#1086282 FATE#324873). - bnxt_en: Fix typo in firmware message timeout logic (bsc#1086282 FATE#324873). - net: ena: fix race between link up and device initalization (bsc#1083548). - net: Don't default Cavium PTP driver to 'y' (bsc#1110096). - net/mlx5e: RX, Fix wrong early return in receive queue poll (bsc#1046305 FATE#322943). - bpf/verifier: fix verifier instability (bsc#1056787). - IB/mlx5: Unmap DMA addr from HCA before IOMMU (bsc#1046305 FATE#322943). - commit 125f009- net/mlx5e: IPoIB, Fix RX checksum statistics update (git-fixes). - commit 71cdac7- nfp: bpf: fix ALU32 high bits clearance bug (git-fixes). - commit 367fb07- Btrfs: fix corruption reading shared and compressed extents after hole punching (bsc#1126476). - commit 1d61d84- net: aquantia: fixed instack structure overflow (git-fixes). - commit c892ebe- net: dsa: mv88e6xxx: handle unknown duplex modes gracefully in mv88e6xxx_port_set_duplex (git-fixes). - commit ba7b5b5- vxlan: Fix GRO cells race condition between receive and link delete (git-fixes). - commit c54aad9- vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() (git-fixes). - commit 551356a- 9p/net: fix memory leak in p9_client_create (bsc#1051510). - 9p: use inode->i_lock to protect i_size_write() under 32-bit (bsc#1051510). - commit d372807- splice: don't merge into linked buffers (git-fixes). - blacklist.conf: upstream 35f12f0f5c3b fix already present - fs/devpts: always delete dcache dentry-s in dput() (git-fixes). - fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb() (git-fixes). - proc/sysctl: don't return ENOMEM on lookup when a table is unregistering (git-fixes). - commit 5249441- tracing: Use strncpy instead of memcpy for string keys in hist triggers (bsc#1129625). - commit e69f9ce- tracing: Do not free iter->trace in fail path of tracing_open_pipe() (bsc#1129581). - commit a28b9f0- net/mlx4_core: Fix reset flow when in command polling mode (git-fixes). - commit 4d63fec- net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling (git-fixes). - commit 95405a1- net/mlx4_core: Fix qp mtt size calculation (git-fixes). - commit 7ce612a- pptp: dst_release sk_dst_cache in pptp_sock_destruct (git-fixes). - commit 1643380- nvme: flush namespace scanning work just before removing namespaces (bsc#1108101). - commit c470403- add mainline tags for two hyperv iommu patches - commit aaca951- libnvdimm/pmem: Honor force_raw for legacy pmem regions (bsc#1129551). - commit aa5d398- nfit: acpi_nfit_ctl(): Check out_obj->type in the right place (bsc#1129547). - commit 6d08305- libnvdimm/label: Clear 'updating' flag after label-set update (bsc#1129543). - commit 9178f22- blacklist.conf: Blacklist '5bc373ff2540 nvmet: fix indentation' - commit e0af3a9- Move upstreamed patches into sorted section Along with the update of patch tags - commit 78a41b7- Trim build dependencies of sample subpackage spec file (FATE#326579, jsc#SLE-4117, jsc#SLE-3853, bsc#1128910). - commit 2eae420- drm/etnaviv: potential NULL dereference (bsc#1113722) - commit 15c0a6e- drm/etnaviv: NULL vs IS_ERR() buf in etnaviv_core_dump() (bsc#1113722) - commit 34ac361- fbdev: chipsfb: remove set but not used variable 'size' (bsc#1113722) - commit 2f00fb2- scsi: storvsc: Fix a race in sub-channel creation that can cause panic (fate#323887). - commit 3c327bf- cifs: Fix NULL pointer dereference of devname (bnc#1129519). - commit c18b394- btrfs: reloc: Fix NULL pointer dereference due to expanded reloc_root lifespan (bsc#1129497). - commit 8078fe0- net/mlx5: Use multi threaded workqueue for page fault handling (git-fixes). - commit 3211369- net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state (git-fixes). - commit 4f2b6f9- net/mlx5: Release resource on error flow (git-fixes). - commit 82036aa- Revert "Revert "Drop multiversion(kernel) from the KMP template (fate#323189)"" This feature was requested for SLE15 but aws reverted in packaging and master. - commit bb2780b- Revert "KMPs: obsolete older KMPs of the same flavour (bsc#1127155, bsc#1109137)." This reverts commit 821419f311f3edd58124e551664a2362b62671d6. - commit e9ac6b7- Revert "KMPs: provide and conflict a kernel version specific KMP name" This reverts commit 5568093d5dbacaeb60b6e0f7f4bbe384b586b82a. - commit 244e5c5- xfs: remove filestream item xfs_inode reference (bsc#1127961). - commit 77ac5bf- misc: hpilo: Do not claim unsupported hardware (bsc#1129330). - misc: hpilo: Exclude unsupported device via blacklist (bsc#1129330). - commit 839f28f- blacklist.conf: Add 826c1362e79a x86/kvm/nVMX: don't skip emulated instruction twice when vmptr address is not backed - commit 0dd4c85- applicom: Fix potential Spectre v1 vulnerabilities (bsc#1051510). - commit 1a09022- apparmor: Fix aa_label_build() error handling for failed merges (bsc#1051510). - commit 0bdab75- clk: uniphier: Fix update register for CPU-gear (bsc#1051510). - clk: sunxi-ng: sun8i-a23: Enable PLL-MIPI LDOs when ungating it (bsc#1051510). - clk: dove: fix refcount leak in dove_clk_init() (bsc#1051510). - clk: mv98dx3236: fix refcount leak in mv98dx3236_clk_init() (bsc#1051510). - clk: armada-xp: fix refcount leak in axp_clk_init() (bsc#1051510). - clk: kirkwood: fix refcount leak in kirkwood_clk_init() (bsc#1051510). - clk: armada-370: fix refcount leak in a370_clk_init() (bsc#1051510). - clk: vf610: fix refcount leak in vf610_clocks_init() (bsc#1051510). - clk: imx7d: fix refcount leak in imx7d_clocks_init() (bsc#1051510). - clk: imx6sx: fix refcount leak in imx6sx_clocks_init() (bsc#1051510). - clk: imx6q: fix refcount leak in imx6q_clocks_init() (bsc#1051510). - clk: samsung: exynos4: fix refcount leak in exynos4_get_xom() (bsc#1051510). - clk: socfpga: fix refcount leak (bsc#1051510). - clk: qoriq: fix refcount leak in clockgen_init() (bsc#1051510). - clk: highbank: fix refcount leak in hb_clk_init() (bsc#1051510). - clk: sunxi: A31: Fix wrong AHB gate number (bsc#1051510). - commit b702993- clocksource/drivers/exynos_mct: Fix error path in timer resources initialization (bsc#1051510). - clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable (bsc#1051510). - commit 08bd77d- dmaengine: mv_xor: Use correct device for DMA API (bsc#1051510). - dmaengine: sa11x0: drop useless LIST_HEAD (bsc#1051510). - dmaengine: pl330: drop useless LIST_HEAD (bsc#1051510). - dmaengine: st_fdma: drop useless LIST_HEAD (bsc#1051510). - dmaengine: dw: drop useless LIST_HEAD (bsc#1051510). - dmaengine: at_hdmac: drop useless LIST_HEAD (bsc#1051510). - commit 79d5aed- driver core: Do not resume suppliers under device_links_write_lock() (bsc#1051510). - commit 78f7e3b- enic: fix build warning without CONFIG_CPUMASK_OFFSTACK (bsc#1051510). - commit fa4faec- geneve: correctly handle ipv6.disable module parameter (bsc#1051510). - commit 91b6670- blacklist.conf: Add a superfluous entry of stable 4.14.y fix - commit a9ad895- blacklist.conf: Add 24c41220659e x86/mm: Remove unused variable 'old_pte' - commit 7fdcaa7- sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 (bsc#1051510). - staging: rtl8723bs: Fix build error with Clang when inlining is disabled (bsc#1051510). - commit ad62660- ACPI / device_sysfs: Avoid OF modalias creation for removed device (bsc#1051510). - nfit/ars: Attempt short-ARS even in the no_init_ars case (bsc#1051510). - nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot (bsc#1051510). - acpi/nfit: Fix bus command validation (bsc#1051510). - commit 3bd51ff- blacklist.conf: Add 0192e6535ebe x86/kprobes: Prohibit probing on optprobe template code - commit cb9bc08- Refresh patches.fixes/nvme-fc-reject-reconnect-if-io-queue-count-is-reduce.patch. - commit 509db55- Moved patches.fixes/x86-add-tsx-force-abort-cpuid-msr.patch to patches.arch/ and added upstream tags (bsc#1129363) patches.arch/x86-add-tsx-force-abort-cpuid-msr - commit 2eb12ff- x86/pkeys: Properly copy pkey state at fork() (bsc#1129366). - commit 2303e79- btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf (bsc#1129327). - commit de93501- btrfs: qgroup: Cleanup old subtree swap code (bsc#1063638). - commit 2cb2dcd- btrfs: qgroup: Use delayed subtree rescan for balance (bsc#1063638). - Refresh patches.suse/btrfs-suspend-qgroups-during-relocation-recovery.patch. - commit e6256d6- btrfs: qgroup: Introduce per-root swapped blocks infrastructure (bsc#1063638). - Refresh patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch. - Refresh patches.suse/btrfs-suspend-qgroups-during-relocation-recovery.patch. - commit 1212568- btrfs: qgroup: Refactor btrfs_qgroup_trace_subtree_swap (bsc#1063638). - commit 0b42e54- btrfs: relocation: Delay reloc tree deletion after merge_reloc_roots (bsc#1063638). - Refresh patches.suse/btrfs-suspend-qgroups-during-relocation-recovery.patch. - commit 9fc8971- btrfs: qgroup: Only trace data extents in leaves if we're relocating data block group (bsc#1063638). - commit fafa3dd- btrfs: qgroup: Don't trace subtree if we're dropping reloc tree (bsc#1063638). - commit 0b77be1- btrfs: qgroup: Use generation-aware subtree swap to mark dirty extents (bsc#1063638). - commit 2b6dfe4- btrfs: qgroup: Introduce function to find all new tree blocks of reloc tree (bsc#1063638). - commit 8a2e471- btrfs: qgroup: Introduce function to trace two swaped extents (bsc#1063638). - commit 9332c5f- btrfs: qgroup: Introduce trace event to analyse the number of dirty extents accounted (bsc#1063638 dependency). - commit 97025cc- btrfs: qgroup: Finish rescan when hit the last leaf of extent tree (bsc#1129327). - commit 4f78aaa- btrfs: qgroup: Search commit root for rescan to avoid missing extent (bsc#1129326). - Refresh patches.suse/btrfs-qgroups-fix-rescan-worker-running-races.patch. - commit a587ad7- Remove the previous subpackage infrastructure. This partially reverts commit 9b3ca32c11854156b2f950ff5e26131377d8445e ("Add kernel-subpackage-build.spec (FATE#326579).") - commit a5ee24e- Add sample kernel-default-base spec file (FATE#326579, jsc#SLE-4117, jsc#SLE-3853, bsc#1128910). - commit 35c4a52- perf/x86/intel: Fix memory corruption (bsc#1121805). - commit 0589774- Install extra rpm scripts for kernel subpackaging (FATE#326579, jsc#SLE-4117, jsc#SLE-3853, bsc#1128910). - commit ad7c227- blacklist.conf: Add an entry for non-existing dtsi - commit fb9f4cf- pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups (bsc#1051510). - pinctrl: sh-pfc: r8a7792: Fix vin1_data18_b pin group (bsc#1051510). - pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group (bsc#1051510). - pinctrl: sh-pfc: emev2: Add missing pinmux functions (bsc#1051510). - pinctrl: sh-pfc: r8a7778: Fix HSPI pin numbers and names (bsc#1051510). - platform/x86: Fix unmet dependency warning for SAMSUNG_Q10 (bsc#1051510). - commit 0688e3b- regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting (bsc#1051510). - regulator: wm831x-dcdc: Fix list of wm831x_dcdc_ilim from mA to uA (bsc#1051510). - regulator: pv88090: Fix array out-of-bounds access (bsc#1051510). - regulator: pv88080: Fix array out-of-bounds access (bsc#1051510). - regulator: pv88060: Fix array out-of-bounds access (bsc#1051510). - regulator: s2mps11: Fix steps for buck7, buck8 and LDO35 (bsc#1051510). - commit 23f9c9d- thermal: mediatek: fix register index error (bsc#1051510). - commit f6dc5d0- KVM: x86: Fix single-step debugging (bsc#1129295). - KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup (bsc#1129296). - kvm: nVMX: NMI-window and interrupt-window exiting should wake L2 from HLT (bsc#1129292). - kvm: vmx: Set IA32_TSC_AUX for legacy mode guests (bsc#1129294). - KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails (bsc#1129291). - kvm: nVMX: Set VM instruction error for VMPTRLD of unbacked page (bsc#1129293). - commit e498c1c- tipc: fix RDM/DGRAM connect() regression (bsc#1051510). - tipc: fix uninit-value in tipc_nl_compat_doit (bsc#1051510). - tipc: fix uninit-value in tipc_nl_compat_name_table_dump (bsc#1051510). - tipc: fix uninit-value in tipc_nl_compat_link_set (bsc#1051510). - tipc: fix uninit-value in tipc_nl_compat_bearer_enable (bsc#1051510). - tipc: fix uninit-value in tipc_nl_compat_link_reset_stats (bsc#1051510). - tipc: eliminate KMSAN uninit-value in strcmp complaint (bsc#1051510). - tipc: fix bug in function tipc_nl_node_dump_monitor (bsc#1051510). - tipc: fix infinite loop when dumping link monitor summary (bsc#1051510). - tipc: error path leak fixes in tipc_enable_bearer() (bsc#1051510). - tipc: fix a race condition of releasing subscriber object (bsc#1051510). - commit 090cbab- kvm: mmu: Fix race in emulated page table writes (bsc#1129284). - svm: Add mutex_lock to protect apic_access_page_done on AMD systems (bsc#1129285). - commit fdca877- Adjust a commit id in a nvme patch to make our scripts happy - commit 68e211e- PCI: qcom: Don't deassert reset GPIO during probe (bsc#1129281). - commit a89893e- blacklist.conf: Add 02917e9f8676 mm, hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL - commit 4dfc4eb- blacklist.conf: Add already cherry-picked i915 patch - commit 804dba5- ASoC: fsl_esai: fix register setting issue in RIGHT_J mode (bsc#1051510). - commit 7d885f5- iwlwifi: pcie: fix TX while flushing (bsc#1120902). - commit 9ece06a- rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620 (bsc#1120902). - commit 33aec8d- net: phy: Micrel KSZ8061: link failure after cable connect (git-fixes). - commit 88019b0- iommu/io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables (bsc#1129205). - commit 8629bf3- iommu: Document iommu_ops.is_attach_deferred() (bsc#1129182). - iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() (bsc#1129184). - iommu/vt-d: Check identity map for hot-added devices (bsc#1129183). - iommu/dmar: Fix buffer overflow during PCI bus notification (bsc#1129181). - commit 76ef4a9- Update patch tag for media security fix (CVE-2019-2024, bsc#1129179). - commit fc8a3a2- Move upstreamed libnvdimm patch into sorted section - commit 4437f27- intel_th: gth: Fix an off-by-one in output unassigning (bsc#1051510). - mmc: spi: Fix card detection during probe (bsc#1051510). - commit 9b464a7- media: uvcvideo: Avoid NULL pointer dereference at the end of streaming (bsc#1051510). - media: uvcvideo: Fix 'type' check leading to overflow (bsc#1051510). - media: s5k4ecgx: delete a bogus error message (bsc#1051510). - media: v4l2: i2c: ov7670: Fix PLL bypass register values (bsc#1051510). - media: dt-bindings: media: i2c: Fix i2c address for OV5645 camera sensor (bsc#1051510). - media: s5p-jpeg: Correct step and max values for V4L2_CID_JPEG_RESTART_INTERVAL (bsc#1051510). - media: s5p-jpeg: Check for fmt_ver_flag when doing fmt enumeration (bsc#1051510). - media: s5p-mfc: fix incorrect bus assignment in virtual child device (bsc#1051510). - intel_th: Don't reference unassigned outputs (bsc#1051510). - commit 388e4b3- Input: wacom_serial4 - add support for Wacom ArtPad II tablet (bsc#1051510). - Input: elan_i2c - add id for touchpad found in Lenovo s21e-20 (bsc#1051510). - iio: adc: exynos-adc: Fix NULL pointer exception on unbind (bsc#1051510). - staging: iio: adt7316: fix the dac write calculation (bsc#1051510). - staging: iio: adt7316: fix the dac read calculation (bsc#1051510). - staging: iio: adt7316: allow adt751x to use internal vref for all dacs (bsc#1051510). - staging: iio: adt7316: fix register and bit definitions (bsc#1051510). - i2c: omap: Use noirq system sleep pm ops to idle device for suspend (bsc#1051510). - commit 0eb8a90- staging: comedi: ni_660x: fix missing break in switch statement (bsc#1051510). - ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of() (bsc#1051510). - ASoC: msm8916-wcd-analog: add missing license information (bsc#1051510). - ASoC: imx-sgtl5000: put of nodes if finding codec fails (bsc#1051510). - ASoC: imx-audmux: change snprintf to scnprintf for possible overflow (bsc#1051510). - ASoC: dapm: change snprintf to scnprintf for possible overflow (bsc#1051510). - ASoC: Intel: Haswell/Broadwell: fix setting for .dynamic field (bsc#1051510). - commit 6cb3dd6- drm: disable uncached DMA optimization for ARM and arm64 (bsc#1051510). - drm: Reorder set_property_atomic to avoid returning with an active ww_ctx (bsc#1051510). - drm: Block fb changes for async plane updates (bsc#1051510). - drm/sun4i: tcon: Prepare and enable TCON channel 0 clock at init (bsc#1051510). - drm/msm: Unblock writer if reader closes file (bsc#1051510). - commit 41c06b3- crypto: brcm - Fix some set-but-not-used warning (bsc#1051510). - commit a9bf978- doc: rcu: Suspicious RCU usage is a warning (bsc#1051510). - commit 3d3bebc- mm: Fix warning in insert_pfn() (bsc#1126740). - commit 128af59- fs/dax: deposit pagetable even when installing zero page (bsc#1126740). - commit 9d52431- sctp: add a ceiling to optlen in some sockopts (bnc#1129163). - commit ee5e978- mm: Fix modifying of page protection by insert_pfn() (bsc#1126740). - commit f17bd5d- scsi: csiostor: remove flush_scheduled_work() (bsc#1127363). - commit 742d709- x86/speculation/mds: Add mitigation mode VMWERV (bsc#1111331). - commit cee8cea- x86/speculation/mds: Add sysfs reporting for MDS (bsc#1111331). - commit 0c734a7- x86/speculation/mds: Add mitigation control for MDS (bsc#1111331). - commit 029ee41- x86/speculation/mds: Conditionally clear CPU buffers on idle entry (bsc#1111331). - Refresh patches.suse/0003-x86-idle-Control-Indirect-Branch-Speculation-in-idle.patch. - commit a1eb696- x86/kvm/vmx: Add MDS protection when L1D Flush is not active (bsc#1111331). - commit 52e4b2a- PCI: endpoint: functions: Use memcpy_fromio()/memcpy_toio() (bsc#1051510). - PCI/PME: Fix hotplug/sysfs remove deadlock in pcie_pme_remove() (bsc#1051510). - serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO (bsc#1051510). - serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup() (bsc#1051510). - serial: 8250_pci: Fix number of ports for ACCES serial cards (bsc#1051510). - tty: ipwireless: Fix potential NULL pointer dereference (bsc#1051510). - staging: wilc1000: fix to set correct value for 'vif_num' (bsc#1051510). - parport_pc: fix find_superio io compare code, should use equal test (bsc#1051510). - team: Free BPF filter when unregistering netdev (bsc#1051510). - commit 5d4a544- mmc: omap: fix the maximum timeout setting (bsc#1051510). - mmc: sdhci-brcmstb: handle mmc_of_parse() errors during probe (bsc#1051510). - mmc: sdhci-esdhc-imx: fix HS400 timing issue (bsc#1051510). - commit fab7e26- mac80211: Add attribute aligned(2) to struct 'action' (bsc#1051510). - mac80211: don't initiate TDLS connection if station is not associated to AP (bsc#1051510). - mac80211: fix miscounting of ttl-dropped frames (bsc#1051510). - commit 1409e1d- lib/div64.c: off by one in shift (bsc#1051510). - commit cb47f8d- iwlwifi: pcie: fix emergency path (bsc#1051510). - iwlwifi: mvm: fix RSS config command (bsc#1051510). - iwlwifi: mvm: fix A-MPDU reference assignment (bsc#1051510). - iwlwifi: mvm: avoid possible access out of array (bsc#1051510). - leds: lp55xx: fix null deref on firmware load failure (bsc#1051510). - commit a9a6f4b- cw1200: drop useless LIST_HEAD (bsc#1051510). - cw1200: fix missing unlock on error in cw1200_hw_scan() (bsc#1051510). - commit a8e63bf- crypto: crypto4xx - add missing of_node_put after of_device_is_available (bsc#1051510). - crypto: cavium/zip - fix collision with generic cra_driver_name (bsc#1051510). - crypto: ahash - fix another early termination in hash walk (bsc#1051510). - crypto: caam - fixed handling of sg list (bsc#1051510). - commit 454f584- crypto: arm/crct10dif - revert to C code for short inputs (bsc#1051510). - crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling (bsc#1051510). - crypto: testmgr - skip crc32c context test for ahash algorithms (bsc#1051510). - crypto: crypto4xx - Fix wrong ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments (bsc#1051510). - crypto: tgr192 - fix unaligned memory access (bsc#1051510). - crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails (bsc#1051510). - commit 6b741b1- cfg80211: extend range deviation for DMG (bsc#1051510). - commit 13599e1- pseries/energy: Use OF accessor function to read ibm,drc-indexes (bsc#1129080). - commit 7394cd0- cdc-wdm: pass return value of recover_from_urb_loss (bsc#1051510). - commit b516984- Move upstreamed ALSA and BT patches into sorted section - commit 781d43e- kABI workaround for bt_accept_enqueue() change (bsc#1051510). - commit 43ab1ea- Bluetooth: Fix locking in bt_accept_enqueue() for BH context (bsc#1051510). - commit 51c4ae3- atm: he: fix sign-extension overflow on large shift (bsc#1051510). - commit 5f6e8f4- ALSA: firewire-motu: fix construction of PCM frame for capture direction (bsc#1051510). - ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56 (bsc#1051510). - ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 (bsc#1051510). - ACPI / video: Extend chassis-type detection with a "Lunch Box" check (bsc#1051510). - ACPI / video: Refactor and fix dmi_is_desktop() (bsc#1051510). - ath9k: Avoid OF no-EEPROM quirks without qca,no-eeprom (bsc#1051510). - ALSA: compress: prevent potential divide by zero bugs (bsc#1051510). - commit d37d7e2- USB: Consolidate LPM checks to avoid enabling LPM twice (bsc#1120902). - commit fcbbc9b- USB: Add new USB LPM helpers (bsc#1120902). - commit e26fa0f- x86/speculation/mds: Clear CPU buffers on exit to user (bsc#1111331). - commit f4c43e2- Refresh patches.fixes/0001-xen-remove-pre-xen3-fallback-handlers.patch: use original upstream commit and add kabi patch. - commit 936395d- geneve, vxlan: Don't set exceptions if skb->len < mtu (bsc#1123456). - commit 38a43d6- geneve, vxlan: Don't check skb_dst() twice (bsc#1123456). - commit 41534ed- ip6_tunnel: use the right value for ipv4 min mtu check in ip6_tnl_xmit (bsc#1123456). - commit 126bfd9- x86/speculation/mds: Add mds_clear_cpu_buffers() (bsc#1111331). - commit a810f6d- geneve: cleanup hard coded value for Ethernet header length (bsc#1123456). - commit 9a70ea2- net: don't call update_pmtu unconditionally (bsc#1123456). - Refresh patches.fixes/vti6-fix-PMTU-caching-and-reporting-on-xmit.patch patches.fixes/vti6-remove-skb-ignore_df-check-from-vti6_xmit.patch - commit 593c444- ip6_tunnel: get the min mtu properly in ip6_tnl_xmit (bsc#1123456). - commit f90f47d- vxlan: update skb dst pmtu on tx path (bsc#1123456). - commit a42a5a4- x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests (bsc#1111331). - commit 2d3910e- x86/speculation/mds: Add BUG_MSBDS_ONLY (bsc#1111331). - commit 6afac67- xen/manage: don't complain about an empty value in control/sysrq node (bsc#1065600). - commit d8327b8- copy_mount_string: Limit string length to PATH_MAX (bsc#1082943). - Delete patches.fixes/get_fs_type-Validate-fs-type-string-argument.patch. Refresh to upstream patch. - commit 8717894- xen: fix dom0 boot on huge systems (bsc#1127836). - commit d4d49f5- x86/speculation/mds: Add basic bug infrastructure for MDS (bsc#1111331). - commit ca135db- xen: remove pre-xen3 fallback handlers (bsc#1065600). - commit c8c4f0a- xen, cpu_hotplug: Prevent an out of bounds access (bsc#1065600). - commit 60b6d9d- x86/speculation: Consolidate CPU whitelists (bsc#1111331). - commit 1d2d993- Refresh patches.suse/scsi-do-not-print-reservation-conflict-for-TEST-UNIT.patch (bsc#1119843) - commit 2c06a05- x86/msr-index: Cleanup bit defines (bsc#1111331). - commit 93e3cf8- nvme-fc: reject reconnect if io queue count is reduced to zero (bsc#1128351). - commit a512dae- scripts/git_sort/git_sort.py: Update nvme git repository to 5.1 - commit cff4e76- Input: raspberrypi-ts - select CONFIG_INPUT_POLLDEV (git-fixes). - commit dfac1c8- block: don't use bio->bi_vcnt to figure out segment number (bsc#1128895). - commit bfd835c- locking/atomics, asm-generic: Move some macros from to a new file (bsc#1111331). - commit 8bb1a8a- block: check_events: don't bother with events if unsupported (bsc#1110946, bsc#1119843). - commit 0e16418- Revert "block: unexport DISK_EVENT_MEDIA_CHANGE for legacy/fringe drivers" (bsc#1110946, bsc#1119843). - commit 63d99c8- block: disk_events: introduce event flags (bsc#1110946, bsc#1119843). - commit 0b56ce7- blacklist.conf: Append 'drm/i915: Don't try to use the hardware frame counter with i965gm TV output' - commit 91bbd55- bpf: fix replace_map_fd_with_map_ptr's ldimm64 second imm field (bsc#1083647). - commit 50ceb6a- perf/x86/intel: Implement support for TSX Force Abort (bsc#1121805). - x86: Add TSX Force Abort CPUID/MSR (bsc#1121805). - perf/x86/intel: Generalize dynamic constraint creation (bsc#1121805). - perf/x86/intel: Make cpuc allocations consistent (bsc#1121805). - perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu() (bsc#1121805). - perf/x86/intel: Don't enable freeze-on-smi for PerfMon V1 (bsc#1121805). - perf/x86: Add sysfs entry to freeze counters on SMI (bsc#1121805). - commit 9317981- x86/speculation: Simplify the CPU bug detection logic (bsc#1111331). - Refresh patches.arch/x86-bugs-add-amd-s-variant-of-ssb_no.patch. - Refresh patches.arch/x86-speculation-support-enhanced-ibrs-on-future-cpus.patch. - commit d82e4ef- drm/radeon/evergreen_cs: fix missing break in switch statement (bsc#1113722) - commit 1cee3e3- drm/nouveau: Don't WARN_ON VCPI allocation failures (bsc#1113722) - commit 82dc918- drm/nouveau/pmu: don't print reply values if exec is false (bsc#1113722) - commit 8e01362- drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON (bsc#1113722) - commit d1c8971- blacklist.conf: Append 'drm/i915: Prevent a race during I915_GEM_MMAP ioctl with WC set' - commit f1ee607- blacklist.conf: Append 'drm/i915: Block fbdev HPD processing during suspend' - commit 473e675- hpet: Fix missing '=' character in the __setup() code of hpet_mmap_enable (git-fixes). - commit 8cc8dbe- blacklist.conf: Append 'drm/of: Fix kerneldoc' - commit c41090b- drm/shmob: Fix return value check in shmob_drm_probe (bsc#1113722) - commit c59e8a3- drm: Fix error handling in drm_legacy_addctx (bsc#1113722) - commit 7646b89- Refresh patches.suse/livepatch-add-atomic-replace.patch. - Refresh patches.suse/livepatch-atomic-replace-and-cumulative-patches-documentation.patch. - Refresh patches.suse/livepatch-change-unsigned-long-old_addr-void-old_func-in-struct-klp_func.patch. - Refresh patches.suse/livepatch-consolidate-klp_free-functions.patch. - Refresh patches.suse/livepatch-core-return-eopnotsupp-instead-of-enosys.patch. - Refresh patches.suse/livepatch-don-t-block-the-removal-of-patches-loaded-after-a-forced-transition.patch. - Refresh patches.suse/livepatch-introduce-klp_for_each_patch-macro.patch. - Refresh patches.suse/livepatch-module-coming-and-going-callbacks-can-proceed-with-all-listed-patches.patch. - Refresh patches.suse/livepatch-proper-error-handling-in-the-shadow-variables-selftest.patch. - Refresh patches.suse/livepatch-remove-nop-structures-when-unused.patch. - Refresh patches.suse/livepatch-remove-ordering-stacking-of-the-livepatches.patch. - Refresh patches.suse/livepatch-remove-signal-sysfs-attribute.patch. - Refresh patches.suse/livepatch-return-enomem-on-ptr_id-allocation-failure.patch. - Refresh patches.suse/livepatch-send-a-fake-signal-periodically.patch. - Refresh patches.suse/livepatch-shuffle-klp_enable_patch-klp_disable_patch-code.patch. - Refresh patches.suse/livepatch-simplify-api-by-removing-registration-step.patch. - Refresh patches.suse/livepatch-use-lists-to-manage-patches-objects-and-functions.patch. - Refresh patches.suse/selftests-livepatch-add-dynamic_debug-config-dependency.patch. - Refresh patches.suse/selftests-livepatch-introduce-tests.patch. Move upstream livepatch patches to the sorted section. - commit 8ba9e19- Refresh patches.arch/powerpc-pseries-Perform-full-re-add-of-CPU-for-topol.patch. - Refresh patches.arch/powerpc-pseries-export-timebase-register-sample-in-l.patch. - Refresh patches.fixes/0001-media-usb-pwc-Don-t-use-coherent-DMA-buffers-for-ISO.patch. - Refresh patches.fixes/exec-Fix-mem-leak-in-kernel_read_file.patch. - Refresh patches.fixes/scsi-core-reset-host-byte-in-DID_NEXUS_FAILURE-case.patch. - Refresh patches.suse/powerpc-64s-clear-on-stack-exception-marker-upon-exception-return.patch. - Refresh patches.suse/powerpc-livepatch-relax-reliable-stack-tracer-checks-for-first-frame.patch. - Refresh patches.suse/powerpc-livepatch-small-cleanups-in-save_stack_trace_tsk_reliable.patch. Move upstreamed patches to the sorted section. - commit 90d0c8c- kABI: Preserve kABI for dma_max_mapping_size() (bsc#1120008). - virtio-blk: Consider virtio_max_dma_size() for maximum segment size (bsc#1120008). - virtio: Introduce virtio_max_dma_size() (bsc#1120008). - dma: Introduce dma_max_mapping_size() (bsc#1120008). - swiotlb: Add is_swiotlb_active() function (bsc#1120008). - swiotlb: Introduce swiotlb_max_mapping_size() (bsc#1120008). - commit 5f5f865- backlight: pwm_bl: Use gpiod_get_value_cansleep() to get initial (bsc#1113722) - commit df86ff8- scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task (bsc#1122192). - commit a839a94- s390/qeth: conclude all event processing before offlining a card (LTC#175901, bsc#1127567). - commit 670183e- btrfs: ensure that a DUP or RAID1 block group has exactly two stripes (bsc#1128451). - commit 2cd1e7f- x86/kaslr: Fix incorrect i8254 outb() parameters (bsc#1114279). - Refresh patches.suse/0003-x86-KASLR-public-the-function-for-getting-random-lon.patch. - commit fc169b3- scsi: qla2xxx: Update driver version to 10.00.00.12-k (bsc#1094555). - scsi: qla2xxx: Fix for FC-NVMe discovery for NPIV port (bsc#1094555). - scsi: qla2xxx: Fix NPIV handling for FC-NVMe (bsc#1094555). - scsi: qla2xxx: Enable FC-NVME on NPIV ports (bsc#1094555). - scsi: qla2xxx: Initialize port speed to avoid setting lower speed (bsc#1094555). - scsi: qla2xxx: Fix a typo in MODULE_PARM_DESC (bsc#1094555). - scsi: qla2xxx: Modify fall-through annotations (bsc#1094555). - scsi: qla2xxx: Simplify conditional check (bsc#1094555). - scsi: qla2xxx: Remove unnecessary self assignment (bsc#1094555). - commit ba2f97d- net: netem: fix skb length BUG_ON in __skb_to_sgvec (git-fixes). - commit ad202d7- scsi: sym53c8xx: fix NULL pointer dereference panic in sym_int_sir() (bsc#1125315). - commit 39c1bd9- s390/qeth: cancel close_dev work before removing a card (LTC#175898, bsc#1127561). - commit e74805a- netfilter: nf_tables: check the result of dereferencing base_chain->stats (git-fixes). - commit a4e03cb- scsi: virtio_scsi: fix pi_bytes{out,in} on 4 KiB block size devices (bsc#1114585). - block: move bio_integrity_{intervals,bytes} into blkdev.h (bsc#1114585). - commit a620aaf- Remove blacklist of virtio patch so we can install it (bsc#1114585) - commit c3293e9- Revert "Drop multiversion(kernel) from the KMP template (fate#323189)" (bsc#1109137). This reverts commit 71504d805c1340f68715ad41958e5ef35da2c351. - commit adade9f- mm: enforce min addr even if capable() in expand_downwards() (bsc#1128166, CVE-2019-9213). - commit 998cff7- powerpc/livepatch: small cleanups in save_stack_trace_tsk_reliable() (bsc#1071995 fate#323487). - commit 38b76ee- powerpc/livepatch: relax reliable stack tracer checks for first-frame (bsc#1071995 fate#323487). - commit 618ef9f- powerpc/64s: Clear on-stack exception marker upon exception return (bsc#1071995 fate#323487). - commit ba10b93- livepatch: Remove signal sysfs attribute (bsc#1071995 fate#323487). - commit c5e5181- livepatch: Send a fake signal periodically (bsc#1071995 fate#323487). - commit 7088101- livepatch: Module coming and going callbacks can proceed with all listed patches (bsc#1071995 fate#323487). - commit 79db698- livepatch: Proper error handling in the shadow variables selftest (bsc#1071995 fate#323487). - commit 0eaa537- livepatch: return -ENOMEM on ptr_id() allocation failure (bsc#1071995 fate#323487). - commit 0f271e8- livepatch: Introduce klp_for_each_patch macro (bsc#1071995 fate#323487). - commit da18829- livepatch: core: Return EOPNOTSUPP instead of ENOSYS (bsc#1071995 fate#323487). - commit 9ec6c45- selftests/livepatch: add DYNAMIC_DEBUG config dependency (bsc#1071995 fate#323487). - commit 2d37e66- blacklist.conf: 53bb565fc543 x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux) - commit 38334db- blacklist.conf: 65bba0423ecf kbuild: fix UML build error with CONFIG_GCC_PLUGINS - commit a2369f4- blacklist.conf: 29434801e7e9 x86/vdso: Remove a stale/misleading comment from the linker script - commit 622c158- x86/vdso: Remove obsolete "fake section table" reservation (bsc#1114279). - commit 23f423f- Update config files. Remove conditional support for SMB2 and SMB3: - They were already enabled and are now always enabled. - There are no more #ifdef checking these macros. - They dont show up in fs/cifs/Kconfig - They have been removed upstream - It makes backporting easier, otherwise backported patches need to modified to add #ifdef Keep them as =y in vanilla config (which still requires it) - commit 5cf8695- Enable livepatch test drivers in lib/ Livepatch kselftests need those. - Update config files. - supported.conf - commit b5e1a19- selftests/livepatch: introduce tests (bsc#1071995 fate#323487). - commit 248f360- Update config files. - commit 83afceb- livepatch: Define a macro for new API identification (bsc#1071995 fate#323487). - commit c2e2280- x86/mtrr: Don't copy uninitialized gentry fields back to userspace (bsc#1114279). - commit 135fda8- blacklist.conf: dbe733642e01 x86/Kconfig: Select SCHED_SMT if SMP enabled - commit 117d5dd- s390/qeth: fix use-after-free in error path (bsc#1127534). - commit 6ea74cd- blacklist.conf: b247be3fe89b locking/qspinlock/x86: Increase _Q_PENDING_LOOPS upper bound Not needed urgently in SLE15. - commit f26ee44- x86/a.out: Clear the dump structure initially (bsc#1114279). - commit 6c90b4f- livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func (bsc#1071995 fate#323487). - livepatch: Consolidate klp_free functions (bsc#1071995 fate#323487). - livepatch: Don't block the removal of patches loaded after a forced transition (bsc#1071995 fate#323487). - livepatch: Remove ordering (stacking) of the livepatches (bsc#1071995 fate#323487). - livepatch: Shuffle klp_enable_patch()/klp_disable_patch() code (bsc#1071995 fate#323487). - livepatch: Simplify API by removing registration step (bsc#1071995 fate#323487). - Refresh patches.suse/livepatch-add-atomic-replace.patch. - Refresh patches.suse/livepatch-atomic-replace-and-cumulative-patches-documentation.patch. - Refresh patches.suse/livepatch-mark-the-kernel-unsupported-when-disabling.patch. - Refresh patches.suse/livepatch-remove-nop-structures-when-unused.patch. - Refresh patches.suse/livepatch-send-a-fake-signal-periodically.patch. - Refresh patches.suse/livepatch-use-lists-to-manage-patches-objects-and-functions.patch. - Delete patches.suse/livepatch-add-an-extra-flag-to-distinguish-registered-patches.patch. - Delete patches.suse/livepatch-allow-to-replace-even-disabled-patches.patch. - Delete patches.suse/livepatch-free-only-structures-with-initialized-kobject.patch. - Delete patches.suse/livepatch-remove-replaced-patches-from-the-stack.patch. Atomic replace. Update to a final version. - commit 2a26746- bpf: drop refcount if bpf_map_new_fd() fails in map_create() (bsc#1083647). - bpf: decrease usercnt if bpf_map_new_fd() fails in bpf_map_get_fd_by_id() (bsc#1083647). - commit 97bcd77- powerpc/pseries: export timebase register sample in lparcfg (bsc#1127750). - commit 6023475- x86/efi: Allocate e820 buffer before calling efi_exit_boot_service (bsc#1127307). - commit 35133e1- libnvdimm: Fix altmap reservation size calculation (bsc#1127682). - commit c006172- mm,memory_hotplug: fix scan_movable_pages() for gigantic hugepages (bsc#1127731). - commit 8454bd2- pci-hyperv: increase HV_VP_SET_BANK_COUNT_MAX to handle 1792 vcpus (fate#327171, bsc#1122822). - hv: v4.12 API for hyperv-iommu (fate#327171, bsc#1122822). - HYPERV/IOMMU: Add Hyper-V stub IOMMU driver (fate#327171, bsc#1122822). - x86/Hyper-V: Set x2apic destination mode to physical when x2apic is available (fate#327171, bsc#1122822). - x86/apic: Provide apic_ack_irq() (fate#327171, bsc#1122822). - commit 56ec609- bpf: fix sanitation rewrite in case of non-pointers (bsc#1083647). - commit 7770a6f- drm/vmwgfx: Don't double-free the mode stored in par->set_mode (bsc#1103429) - commit 99c4074- btrfs: fix use-after-free of cmp workspace pages (bsc#1127603). - commit 7753ef9- btrfs: fix invalid-free in btrfs_extent_same (bsc#1127498). - Btrfs: fix clone vs chattr NODATASUM race (bsc#1127497). - btrfs: use kvzalloc for EXTENT_SAME temporary data (bsc#1127496). - Btrfs: reuse cmp workspace in EXTENT_SAME ioctl (bsc#1127495). - Btrfs: dedupe_file_range ioctl: remove 16MiB restriction (bsc#1127494). - commit 8bb669e- Btrfs: split btrfs_extent_same (bsc#1127493). - Refresh patches.suse/btrfs-fix-data-corruption-when-deduplicating-between.patch. - commit 67ac488- scsi: mpt3sas: switch to generic DMA API (bsc#1117108). - scsi: mpt3sas: Remove unnecessary parentheses and simplify null checks (bsc#1117108). - scsi: mpt3sas: Use dma_pool_zalloc (bsc#1117108). - scsi: mpt3sas: Remove unused macro MPT3SAS_FMT (bsc#1117108). - scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT without logging levels (bsc#1117108). - scsi: mpt3sas: Remove KERN_WARNING from panic uses (bsc#1117108). - scsi: mpt3sas: Convert logging uses with MPT3SAS_FMT and reply_q_name to %s: (bsc#1117108). - scsi: mpt3sas: Convert mlsleading uses of pr_ with MPT3SAS_FMT (bsc#1117108). - commit e3f05da- scsi: mpt3sas: Convert uses of pr_ with MPT3SAS_FMT to ioc_ (bsc#1117108). - Refresh patches.suse/mpt3sas-check-sense-buffer-before-copying-sense-data.patch. - commit 9574b94- cifs: Always resolve hostname before reconnecting (bsc#1051510). - commit c95017f- ACPI: NUMA: Use correct type for printing addresses on i386-PAE (bsc#1051510). - clocksource/drivers/integrator-ap: Add missing of_node_put() (bsc#1051510). - cpufreq: conservative: Take limits changes into account properly (bsc#1051510). - cpufreq: governor: Avoid accessing invalid governor_data (bsc#1051510). - commit b5192ba- x86/boot/e820: Introduce the bootloader provided e820_table_firmware[] table (bsc#1127154). - x86/boot/e820: Rename the e820_table_firmware to e820_table_kexec (bsc#1127154). - x86/boot/e820: Avoid overwriting e820_table_firmware (bsc#1127154). - commit 2e41e89- rxrpc: bad unlock balance in rxrpc_recvmsg (networking-stable-19_02_10). - net: dsa: slave: Don't propagate flag changes on down slave interfaces (networking-stable-19_02_10). - net: dp83640: expire old TX-skb (networking-stable-19_02_10). - net: systemport: Fix WoL with password after deep sleep (networking-stable-19_02_10). - commit c07383b- scsi: mpt3sas: Add ioc_ logging macros (bsc#1117108). - scsi: mpt3sas: Improve kernel-doc headers (bsc#1117108). - scsi: mpt3sas: Split _base_reset_handler(), mpt3sas_scsih_reset_handler() and mpt3sas_ctl_reset_handler() (bsc#1117108). - scsi: mpt3sas: Fix a race condition in mpt3sas_base_hard_reset_handler() (bsc#1117108). - scsi: mpt3sas: Introduce struct mpt3sas_nvme_cmd (bsc#1117108). - scsi: mpt3sas: Annotate switch/case fall-through (bsc#1117108). - scsi: mpt3sas: Remove set-but-not-used variables (bsc#1117108). - scsi: mpt3sas: Fix indentation (bsc#1117108). - scsi: mpt3sas: Swap I/O memory read value back to cpu endianness (bsc#1117108). - commit 4ec4b4f- bsg: Do not copy sense if no response buffer is allocated (bsc#1106811,bsc#1126555). - Delete patches.fixes/bsg-allocate-sense-buffer-if-requested.patch. - commit 9c493cb- nvme-multipath: drop optimization for static ANA group IDs (bsc#1113939). - commit 1bbf15f- l2tp: copy 4 more bytes to linear part if necessary (networking-stable-19_02_01). - ipvlan, l3mdev: fix broken l3s mode wrt local routes (networking-stable-19_02_01). - l2tp: fix reading optional fields of L2TPv3 (networking-stable-19_02_01). - virtio_net: Don't call free_old_xmit_skbs for xdp_frames (networking-stable-19_02_01). - ucc_geth: Reset BQL queue when stopping device (networking-stable-19_02_01). - net: set default network namespace in init_dummy_netdev() (networking-stable-19_02_01). - net/mlx5e: Allow MAC invalidation while spoofchk is ON (networking-stable-19_02_01). - net/rose: fix NULL ax25_cb kernel panic (networking-stable-19_02_01). - net/mlx4_core: Add masking for a few queries on HCA caps (networking-stable-19_02_01). - sctp: improve the events for sctp stream adding (networking-stable-19_02_01). - sctp: improve the events for sctp stream reset (networking-stable-19_02_01). - ipv6: Consider sk_bound_dev_if when binding a socket to an address (networking-stable-19_02_01). - commit 7665cf7- blacklist.conf: Remove the duplicated and already-backported entries - commit de43900- vhost: correctly check the return value of translate_desc() in log_used() (bsc#1051510). - net: bcmgenet: remove HFB_CTRL access (bsc#1051510). - commit 932bcf7- kABI: protect vhost_log_write (kabi). - commit 8090acf- net: bcmgenet: abort suspend on error (bsc#1051510). - net: bcmgenet: code movement (bsc#1051510). - commit ca48ef4- kabi: cpufreq: keep min_sampling_rate in struct dbs_data (bsc#1127042). - cpufreq: governor: Ensure sufficiently large sampling intervals (bsc#1127042). - cpufreq: Cap the default transition delay value to 10 ms (bsc#1127042). - cpufreq: Use transition_delay_us for legacy governors as well (bsc#1127042). - cpufreq: governor: Drop min_sampling_rate (bsc#1127042). - commit 28dc41c- mfd: mc13xxx: Fix a missing check of a register-read failure (bsc#1051510). - mfd: tps65218: Use devm_regmap_add_irq_chip and clean up error path in probe() (bsc#1051510). - mfd: wm5110: Add missing ASRC rate register (bsc#1051510). - mfd: qcom_rpm: write fw_version to CTRL_REG (bsc#1051510). - mfd: mt6397: Do not call irq_domain_remove if PMIC unsupported (bsc#1051510). - mfd: db8500-prcmu: Fix some section annotations (bsc#1051510). - mfd: twl-core: Fix section annotations on {,un}protect_pm_master (bsc#1051510). - mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells (bsc#1051510). - pinctrl: max77620: Use define directive for max77620_pinconf_param values (bsc#1051510). - phy: tegra: remove redundant self assignment of 'map' (bsc#1051510). - commit 20f57da- mac80211: Free mpath object when rhashtable insertion fails (bsc#1051510). - commit 1b53757- leds: lp5523: fix a missing check of return value of lp55xx_read (bsc#1051510). - commit 9a76479- isdn: avm: Fix string plus integer warning from Clang (bsc#1051510). - isdn: i4l: isdn_tty: Fix some concurrency double-free bugs (bsc#1051510). - commit 5628a6c- hwmon: (tmp421) Correct the misspelling of the tmp442 compatible attribute in OF device ID table (bsc#1051510). - commit 6420cdc- drm/meson: add missing of_node_put (bsc#1051510). - commit d9d0985- kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs (bsc#1127082). - commit e389988- iomap: warn on zero-length mappings (bsc#1127062). - commit 8971b0d- sched/wake_q: Reduce reference counting for special users (bsc#1050549). - locking/rwsem: Fix (possible) missed wakeup (bsc#1050549). - futex: Fix (possible) missed wakeup (bsc#1050549). - sched/wake_q: Fix wakeup ordering for wake_q (bsc#1050549). - sched/wake_q: Document wake_q_add() (bsc#1050549). - commit 5e0bd2e- blacklist.conf: ignore Smack; we don't enable it - commit 243e8f2- ntb_transport: Fix bug with max_mw_size parameter (bsc#1051510). - commit 7687c1e- fuse: decrement NR_WRITEBACK_TEMP on the right page (bsc#1051510). - fuse: call pipe_buf_release() under pipe lock (bsc#1051510). - fuse: handle zero sized retrieve correctly (bsc#1051510). - fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS (bsc#1051510). - configfs: fix registered group removal (bsc#1051510). - commit 1204575- mdio_bus: Fix use-after-free on device_register fails (bsc#1051510). - sky2: Increase D3 delay again (bsc#1051510). - mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue (bsc#1051510). - vsock: cope with memory allocation failure at socket creation time (bsc#1051510). - mISDN: fix a race in dev_expire_timer() (bsc#1051510). - enic: fix checksum validation for IPv6 (bsc#1051510). - ax25: fix possible use-after-free (bsc#1051510). - iser: set sector for ambiguous mr status errors (bsc#1051510). - llc: do not use sk_eat_skb() (bsc#1051510). - veth: set peer GSO values (bsc#1051510). - vhost/vsock: fix uninitialized vhost_vsock->guest_cid (bsc#1051510). - macvlan: Only deliver one copy of the frame to the macvlan interface (bsc#1051510). - rocker: fix rocker_tlv_put_* functions for KASAN (bsc#1051510). - sch_multiq: fix double free on init failure (bsc#1051510). - commit 8d4ab3f- usb: musb: dsps: fix runtime pm for peripheral mode (bsc#1120902). - commit 30a0f7d- blacklist.conf: just a cleanup removing defines - commit f9a324f- iomap: fix integer truncation issues in the zeroing and dirtying helpers (bsc#1125947). - commit 839e087- mmap: relax file size limit for regular files (git fixes (mm/mmap)). - commit b834536- blacklist.conf: hide e04e7a7bbd4b It claims to fix 8195b139 instead of 7bf7bb37 - commit e5cfb61- blacklist.conf: Blacklist ad211f3e94b3 - commit 0ebbe38- x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls (bsc#1125614). - commit 4240ccc- blacklist.conf: a2aeea1cc14f is a merge commit It should not have been reported in the first place. - commit dfc4190- blacklist.conf: Add a cherry-picked i915 entry - commit 739b97f- arm/arm64: KVM: Rename function kvm_arch_dev_ioctl_check_extension() (bsc#1126393). - arm64: fault: avoid send SIGBUS two times (bsc#1126393). - commit 5a09ef2- blacklist.conf: Blacklist 5cbab6303b47 ("nvmet-rdma: fix null dereference under heavy load") it's not applicable to SLE15 - commit 9f6d20d- blacklist.conf: ad1f824948e4 ("nvmet-rdma: Add unlikely for response allocated check") this shouldn't be a stable patch. - commit 17ea6e8- nvme-loop: fix kernel oops in case of unhandled command (bsc#1126807). - Refresh patches.drivers/nvme-loop-add-support-for-multiple-ports.patch. - commit 0b338a9- Btrfs: fix deadlock when allocating tree block during leaf/node split (bsc#1126806). - commit 67cd18a- Btrfs: fix deadlock when using free space tree due to block group creation (bsc#1126804). - commit 1a60bde- Btrfs: send, fix race with transaction commits that create snapshots (bsc#1126802). - commit 46fbd46- Btrfs: remove unnecessary level check in balance_level (bsc#1126802). - commit 0139cfb- Btrfs: do not unnecessarily pass write_lock_level when processing leaf (bsc#1126802). - commit 9293032- Btrfs: remove unused check of skip_locking (bsc#1126802). - commit cfe15be- Btrfs: remove always true check in unlock_up (bsc#1126802). - commit 070f0a1- Btrfs: grab write lock directly if write_lock_level is the max level (bsc#1126802). - commit 98586f6- Btrfs: move get root out of btrfs_search_slot to a helper (bsc#1126802). - commit 50d98f2- Btrfs: use more straightforward extent_buffer_uptodate check (bsc#1126802). - commit 0f77b1f- Btrfs: remove superfluous free_extent_buffer in read_block_for_search (bsc#1126802). - commit b119805- btrfs: fix reading stale metadata blocks after degraded raid1 mounts (bsc#1126803). - commit 5f7150d- btrfs: Improve btrfs_search_slot description (bsc#1126802). - commit f94b397- kallsyms: Handle too long symbols in kallsyms.c (bsc#1126805). - commit 0b0d3a6- ceph: avoid repeatedly adding inode to mdsc->snap_flush_list (bsc#1126790). - libceph: handle an empty authorize reply (bsc#1126789). - commit 0d8a28b- Drivers: hv: vmbus: preserve hv_ringbuffer_get_debuginfo kABI (bsc#1126389, bsc#1126579). - commit c8c3824- Drivers: hv: vmbus: Check for ring when getting debug info (bsc#1126389, bsc#1126579). - Drivers: hv: vmbus: Return -EINVAL for the sys files for unopened channels (bsc#1126389, bsc#1126579). - commit 90d107d- bpf, lpm: fix lookup bug in map_delete_elem (bsc#1083647). - commit 6349ff2- drm/i915/fbdev: Actually configure untiled displays (bsc#1113722) - commit 54b783a- exec: Fix mem leak in kernel_read_file (bsc#1126209,CVE-2019-8980). - commit 10aa86a- scripts/git_sort/git_sort.py: add vfs "fixes" branch - commit de81e9c- Revert "sd: disable logical block provisioning if 'lbpme' is not set" This reverts commit e365f138cb9c9c48b710864a9f37a91b4b93381d. Patch not accepted upstream. - commit 99b4d65- Revert the previous merge of drm fixes The branch was merged mistakenly and breaks the build. Revert it. - commit d2630bf- drm/nouveau: Don't spew kernel WARNING for each timeout (bsc#1126480). - commit ea9c0cd- tracing/uprobes: Fix output for multiple string arguments (bsc#1126495). - commit c0729fb- mm: use swp_offset as key in shmem_replace_page() (git fixes (mm/shmem)). - commit 44fe062- mm: do not drop unused pages when userfaultd is running (git fixes (mm/userfaultfd)). - commit d1c0def- mm/ksm.c: ignore STABLE_FLAG of rmap_item->address in rmap_walk_ksm() (git fixes (mm/ksm)). - commit 7367793- mmap: introduce sane default mmap limits (git fixes (mm/mmap)). - commit 229f07a- mm/hmm: hmm_pfns_bad() was accessing wrong struct (git fixes (mm/hmm)). - commit 7993690- blacklist.conf: Underlying problem reverted in bnc#1107078 - commit 2a64250- net: Fix usage of pskb_trim_rcsum (networking-stable-19_01_26). - net: phy: mdio_bus: add missing device_del() in mdiobus_register() error handling (networking-stable-19_01_26). - net: bridge: Fix ethernet header pointer before check skb forwardable (networking-stable-19_01_26). - vhost: log dirty page correctly (networking-stable-19_01_26). - net_sched: refetch skb protocol for each filter (networking-stable-19_01_26). - net: phy: marvell: Errata for mv88e6390 internal PHYs (networking-stable-19_01_26). - net/sched: act_tunnel_key: fix memory leak in case of action replace (networking-stable-19_01_26). - net: ipv4: Fix memory leak in network namespace dismantle (networking-stable-19_01_26). - commit 071e596- blacklist.conf: Alpha is not supported - commit 62df577- blacklist.conf: Alternative SLE-specific fix merged due to KABI hazards - commit e3c740e- blacklist.conf: z3fold does not have per-cpu buddies support backported - commit 39b8b7b- blacklist.conf: z3fold does not have compaction support backported - commit c8cb5a7- Refresh patches.kabi/hid-debug-kfifo-kabi-workaround.patch. We don't need to move the struct fields but only wrap the header includes for this kABI workaround. - commit cf5c4fd- kABI workaround for hid_debug_list kfifo changes (CVE-2019-3819, bsc#1123161). - commit 88e274d- HID: debug: fix the ring buffer implementation (CVE-2019-3819, bsc#1123161). - commit eaf5ad5- zswap: re-check zswap_is_full() after do zswap_shrink() (bsc#1051510). - commit 2bf887e- ixgbe: check return value of napi_complete_done() (bsc#1051510). - commit ac9d827- ixgbe: recognize 1000BaseLX SFP modules as 1Gbps (bsc#1051510). - commit 4e2f25f- ixgbe: Be more careful when modifying MAC filters (bsc#1051510). - commit b3e308a- igb: Fix an issue that PME is not enabled during runtime suspend (bsc#1051510). - commit 07fde74- blacklist.conf: Add entries for exec shebang fix that was reverted later - commit 2fa3749- dlm: Don't swamp the CPU with callbacks queued during recovery (bsc#1051510). - commit d9bdbb4- debugfs: fix debugfs_rename parameter checking (bsc#1051510). - commit ed6ebcd- dccp: fool proof ccid_hc_[rt]x_parse_options() (bsc#1051510). - commit 514a7da- cpuidle: big.LITTLE: fix refcount leak (bsc#1051510). - commit 1230850- ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages (bsc#1051510). - commit bff73e0- blacklist.conf: Append 'drm/i915: Use the correct crtc when sanitizing plane mapping' - commit 1c57643- blacklist.conf: Append 'drm/vgem: Fix vgem_init to get drm device available.' - commit 54b3fa7- blacklist.conf: Append 'Revert "drm/exynos/decon5433: implement frame counter"' - commit 35ad752- blacklist.conf: ea6eb5e7d15e ("tracing: uprobes: Fix typo in pr_fmt string") Just a cosmetic fixup. - commit cb0a95a- net: crypto set sk to NULL when af_alg_release (CVE-2019-8912 bsc#1125907). - commit 9863801- net: dsa: mv88x6xxx: mv88e6390 errata (networking-stable-19_01_22). - mlxsw: spectrum: Disable lag port TX before removing it (networking-stable-19_01_22). - ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses (networking-stable-19_01_22). - ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped address (networking-stable-19_01_22). - qmi_wwan: add MTU default to qmap network interface (networking-stable-19_01_22). - r8169: Add support for new Realtek Ethernet (networking-stable-19_01_22). - r8169: use PCI_VDEVICE macro (networking-stable-19_01_22). - PCI: add USR vendor id and use it in r8169 and w6692 driver (networking-stable-19_01_22). - commit 91b1483- drm/i915/gvt: free VFIO region space in vgpu detach (bsc#1113722) - commit 432dc8e- drm/i915: Flush GPU relocs harder for gen3 (bsc#1113722) - commit 3f0e87c- drm/i915: Use the correct crtc when sanitizing plane mapping (bsc#1113722) - commit a3cb597- tcp: change txhash on SYN-data timeout (networking-stable-19_01_20). - ipv6: fix kernel-infoleak in ipv6_local_error() (networking-stable-19_01_20). - net: bridge: fix a bug on using a neighbour cache entry without checking its state (networking-stable-19_01_20). - commit 1347dc9- gdrom: fix a memory leak bug (bsc#1051510). - commit 00f6c39- blacklist.conf: Add already cherry-picked entry - commit bc63eef- niu: fix missing checks of niu_pci_eeprom_read (bsc#1051510). - commit 541bae9- skge: potential memory corruption in skge_get_regs() (bsc#1051510). - commit 342f29f- tty: serial: samsung: Properly set flags in autoCTS mode (bsc#1051510). - ucma: fix a use-after-free in ucma_resolve_ip() (bsc#1051510). - commit 546029c- net: bcmgenet: return correct value 'ret' from bcmgenet_power_down (bsc#1051510). - net: bcmgenet: fix OF child-node lookup (bsc#1051510). - commit 7f18e9c- ata: ahci: mvebu: remove stale comment (bsc#1051510). - commit 81701e5- altera-stapl: check for a null key before strcasecmp'ing it (bsc#1051510). - net: aquantia: driver should correctly declare vlan_features bits (bsc#1051510). - net: aquantia: Fix hardware DMA stream overload on large MRRS (bsc#1051510). - aquantia: Setup max_mtu in ndev to enable jumbo frames (bsc#1051510). - commit 295fd9e- mtd: spi-nor: Fix Cadence QSPI page fault kernel panic (bsc#1051510). - mtd: docg3: don't set conflicting BCH_CONST_PARAMS option (bsc#1051510). - mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB (bsc#1051510). - mtd/maps: fix solutionengine.c printk format warnings (bsc#1051510). - mtdchar: fix overflows in adjustment of `count` (bsc#1051510). - mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking (bsc#1051510). - mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary (bsc#1051510). - mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips (bsc#1051510). - mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock() (bsc#1051510). - commit 1a98f26- mtd: cfi_cmdset_0002: Change write buffer to check correct value (bsc#1051510). - mtd: spi-nor: cadence-quadspi: Fix page fault kernel panic (bsc#1051510). - mtd: nand: atmel: Fix get_sectorsize() function (bsc#1051510). - mtd: nand: fsl_ifc: Fix nand waitfunc return value (bsc#1051510). - mtdchar: fix usage of mtd_ooblayout_ecc() (bsc#1051510). - mtd: nand: vf610: set correct ooblayout (bsc#1051510). - mtd: nand: sunxi: Fix ECC strength choice (bsc#1051510). - mtd: nand: Fix nand_do_read_oob() return value (bsc#1051510). - commit 07f7d0f- mtd: mtd_oobtest: Handle bitflips during reads (bsc#1051510). - mtd: nand: brcmnand: Disable prefetch by default (bsc#1051510). - mtd: nand: qcom: Add a NULL check for devm_kasprintf() (bsc#1051510). - mtd: nand: ifc: update bufnum mask for ver >= 2.0.0 (bsc#1051510). - mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1051510). - mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]() (bsc#1051510). - mtd: nand: pxa3xx: Fix READOOB implementation (bsc#1051510). - mtd: nand: brcmnand: Zero bitflip is not an error (bsc#1051510). - mtd: nand: gpmi: Fix failure when a erased page has a bitflip at BBM (bsc#1051510). - mtd: nand: Fix writing mtdoops to nand flash (bsc#1051510). - mtd: nand: mtk: fix infinite ECC decode IRQ issue (bsc#1051510). - mtd: nand: omap2: Fix subpage write (bsc#1051510). - commit 5bfd438- mtd: spi-nor: stm32-quadspi: Fix uninitialized error return code (bsc#1051510). - mtd: nand: atmel: fix buffer overflow in atmel_pmecc_user (bsc#1051510). - mtd: nand: atmel: fix of_irq_get() error check (bsc#1051510). - mtd: nandsim: remove debugfs entries in error path (bsc#1051510). - mtd: nand: sunxi: fix potential divide-by-zero error (bsc#1051510). - commit b6ab04b- ARM: 8808/1: kexec:offline panic_smp_self_stop CPU (bsc#1051510). - ARM: pxa: avoid section mismatch warning (bsc#1051510). - ARM: OMAP2+: hwmod: Fix some section annotations (bsc#1051510). - commit 40e113a- blacklist.conf: Add superfluous stable 4.14 entry for loop - commit d72e848- Revert "xhci: Reset Renesas uPD72020x USB controller for 32-bit DMA issue" (bsc#1120854). - blacklist.conf: Remove patch as it turned out to be needed - commit 139f00f- pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins (bsc#1051510). - pinctrl: msm: fix gpio-hog related boot issues (bsc#1051510). - commit b0097cc- keys: Timestamp new keys (bsc#1051510). - KEYS: allow reaching the keys quotas exactly (bsc#1051510). - commit b64eb75- Input: elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK (bsc#1051510). - Revert "Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G" (bsc#1051510). - Input: elantech - enable 3rd button support on Fujitsu CELSIUS H780 (bsc#1051510). - Input: bma150 - register input device after setting private data (bsc#1051510). - commit 7b85020- drm/nouveau/falcon: avoid touching registers if engine is off (bsc#1051510). - drm/bridge: tc358767: fix output H/V syncs (bsc#1051510). - drm/bridge: tc358767: reject modes which require too much BW (bsc#1051510). - drm/bridge: tc358767: fix initial DP0/1_SRCCTRL value (bsc#1051510). - drm/bridge: tc358767: fix single lane configuration (bsc#1051510). - drm/bridge: tc358767: add defines for DP1_SRCCTRL & PHY_2LANE (bsc#1051510). - commit 5e71d60- assoc_array: Fix shortcut creation (bsc#1051510). - commit de84871- ALSA: hda/realtek: Disable PC beep in passthrough on alc285 (bsc#1051510). - ALSA: hda/realtek - Headset microphone and internal speaker support for System76 oryp5 (bsc#1051510). - ALSA: hda/realtek - Headset microphone support for System76 darp5 (bsc#1051510). - commit b333acf- ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone (bsc#1126131). - commit 5cc7bcc- mv88e6060: disable hardware level MAC learning (bsc#1051510). - commit cf30fae- netrom: switch to sock timer API (bsc#1051510). - commit aadd38f- blacklist.conf: Add a duplicated commit for of unittest - commit bd2d3e6- of, numa: Validate some distance map rules (bsc#1051510). - of: unittest: Disable interrupt node tests for old world MAC systems (bsc#1051510). - commit 3b4a4c9- openvswitch: Avoid OOB read when parsing flow nlattrs (bsc#1051510). - Revert "openvswitch: Fix template leak in error cases." (bsc#1051510). - openvswitch: Remove padding from packet before L3+ conntrack processing (bsc#1051510). - openvswitch: fix the incorrect flow action alloc size (bsc#1051510). - commit 8967b23- phy: sun4i-usb: add support for missing USB PHY index (bsc#1051510). - phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs (bsc#1051510). - phy: allwinner: sun4i-usb: poll vbus changes on A23/A33 when driving VBUS (bsc#1051510). - phy: rockchip-emmc: retry calpad busy trimming (bsc#1051510). - phy: qcom-qmp: Fix phy pipe clock gating (bsc#1051510). - phy: work around 'phys' references to usb-nop-xceiv devices (bsc#1051510). - phy: qcom-qmp: Fix failure path in phy_init functions (bsc#1051510). - commit 81c9fa1- mac80211: Restore vif beacon interval if start ap fails (bsc#1051510). - mac80211: ensure that mgmt tx skbs have tailroom for encryption (bsc#1051510). - commit f2a7fe0- Update patches.fixes/bpf-fix-check_map_access-smin_value-test-when-pointe.patch (bsc#1068032 CVE-2017-5753 bsc#1124055 CVE-2019-7308). - Update patches.fixes/bpf-move-prev_-insn_idx-into-verifier-env.patch (bsc#1068032 CVE-2017-5753 bsc#1124055 CVE-2019-7308). - Update patches.fixes/bpf-prevent-out-of-bounds-speculation-on-pointer-ari.patch (bsc#1068032 CVE-2017-5753 bsc#1124055 CVE-2019-7308). - Update patches.fixes/bpf-restrict-map-value-pointer-arithmetic-for-unpriv.patch (bsc#1068032 CVE-2017-5753 bsc#1124055 CVE-2019-7308). - Update patches.fixes/bpf-restrict-stack-pointer-arithmetic-for-unprivileg.patch (bsc#1068032 CVE-2017-5753 bsc#1124055 CVE-2019-7308). - Update patches.fixes/bpf-restrict-unknown-scalars-of-mixed-signed-bounds-.patch (bsc#1068032 CVE-2017-5753 bsc#1124055 CVE-2019-7308). - commit e503a7e- bpf: enable access to ax register also from verifier rewrite (bsc#1124055 CVE-2019-7308). - bpf: move tmp variable into ax register in interpreter (bsc#1124055 CVE-2019-7308). - commit 489cb8c- Update patches.fixes/acpi-nfit-Block-function-zero-DSMs.patch (bsc#1051510, bsc#1121789). - Update patches.fixes/acpi-nfit-Fix-command-supported-detection.patch (bsc#1051510, bsc#1121789). Add more detailed bugzilla reference. - commit 880f651- nvme: kABI fix for scan_lock (bsc#1123882). - nvme: lock NS list changes while handling command effects (bsc#1123882). - commit f4e8b61- rpm/klp-symbols: Remove the second column in Symbols.list Symbols.list file contains also a symbol type next to its name. klp-convert cannot handle it well and it is superfluous anyway. - commit 6bfd2cc- scsi: core: reset host byte in DID_NEXUS_FAILURE case (bsc#1122764). - commit d0b7126- libceph: avoid KEEPALIVE_PENDING races in ceph_con_keepalive() (bsc#1125800). - ceph: clear inode pointer when snap realm gets dropped by its inode (bsc#1125799). - rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set (bsc#1125797). - commit b76b5e2- powerpc/pseries: Perform full re-add of CPU for topology update post-migration (bsc#1125728, FATE#325308). - commit 62299b4- Remove patches rejected upstream (FATE#325308). - Delete patches.arch/hotplug-cpu-Add-operation-queuing-function.patch. - Delete patches.arch/hotplug-cpu-Conditionally-acquire-release-DRC-index.patch. - Delete patches.arch/hotplug-cpu-Provide-CPU-readd-operation.patch. - Delete patches.arch/hotplug-pmt-Update-topology-after-PMT.patch. - Delete patches.arch/mobility-numa-Ensure-numa-update-does-not-overlap.patch. - commit 3516587- lightnvm: fail fast on passthrough commands (bsc#1125780). - commit 8af708e- Refresh patches.drivers/nvme_fc-fix-ctrl-create-failures-racing-with-workq-i.patch. Fixup Git-commit field. - commit f97fe78- scsi: lpfc: Update lpfc version to 12.0.0.10 (bsc#1121317). - scsi: lpfc: Add log messages to aid in debugging fc4type discovery issues (bsc#1121317). - scsi: lpfc: Fix discovery failure when PLOGI is defered (bsc#1121317). - scsi: lpfc: update fault value on successful trunk events (bsc#1121317). - scsi: lpfc: Correct MDS loopback diagnostics support (bsc#1121317). - scsi: lpfc: Fix link state reporting for trunking when adapter is offline (bsc#1121317). - scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid (bsc#1121317). - scsi: lpfc: remove an unnecessary NULL check (bsc#1121317). - commit a159aec- x86/xen: dont add memory above max allowed allocation (bsc#1117645). - x86: respect memory size limiting via mem= parameter (bsc#1117645). - commit 6a9d615- mm, oom: fix use-after-free in oom_kill_process (git fixes (mm/oom)). - commit 352decd- rcu: Make need_resched() respond to urgent RCU-QS needs (git fixes (kernel/rcu)). - commit 9f61d67- ARM: tango: Improve ARCH_MULTIPLATFORM compatibility (bsc#1051510). - ARM: iop32x/n2100: fix PCI IRQ mapping (bsc#1051510). - commit 1324ce6- team: avoid complex list operations in team_nl_cmd_options_set() (bsc#1051510). - commit db17c10- floppy: check_events callback should not return a negative number (bsc#1051510). - commit 08d5ae8- batman-adv: fix uninit-value in batadv_interface_tx() (bsc#1051510). - commit 98f136b- i2c: bcm2835: Clear current buffer pointers and counts after a transfer (bsc#1051510). - i2c: cadence: Fix the hold bit setting (bsc#1051510). - commit a28b18c- blacklist.conf: Fixes build of a userspace test tool - commit 4cf3fc4- blacklist.conf: Cosmetic fix only - commit 7cbedec- blacklist.conf: Fixes comments only - commit 687339e- rcu: Fix up pending cbs check in rcu_prepare_for_idle (git fixes (kernel/rcu)). - commit c71433c- blacklist.conf: Fixes an unused debugging option - commit 6fe9af6- blacklist.conf: Fixes an unused debugging option - commit 0a05a83- drm/i915/opregion: rvda is relative from opregion base in opregion (bsc#1113722) - commit 6326f1f- drm/i915/opregion: fix version check (bsc#1113722) - commit 948a27b- drm/i915: Prevent a race during I915_GEM_MMAP ioctl with WC set (bsc#1113722) - commit d9414a1- drm/i915: Block fbdev HPD processing during suspend (bsc#1113722) - commit 9bc1950- gpu: ipu-v3: Fix CSI offsets for imx53 (bsc#1113722) - commit 700eb34- gpu: ipu-v3: Fix i.MX51 CSI control registers offset (bsc#1113722) - commit aa477ef- blk-mq: fix a hung issue when fsync (bsc#1125252). - commit 2d80d27- bpf: Fix syscall's stackmap lookup potential deadlock (bsc#1083647). - bpf: fix lockdep false positive in percpu_freelist (bsc#1083647). - commit d98e12d- drm/modes: Prevent division by zero htotal (bsc#1051510). - commit 8a07ee2- sd: disable logical block provisioning if 'lbpme' is not set (bsc#1086095 bsc#1078355). - commit e365f13- blacklist.conf: add 9b3fa47d4a76 Commit 9b3fa47d4a76 ("kobject: fix suppressing modalias in uevents delivered over netlink") is marked as fix for commit 4a336a23d619 ("kobject: copy env blob in one go") but it fixes code added by commit 6878e7de6af7 ("driver core: suppress sending MODALIAS in UNBIND uevents") which wasn't backported to SLE15. - commit 226cfdd- netns: restrict uevents (bsc#1122982). - commit 93bf53c- uevent: add alloc_uevent_skb() helper (bsc#1122982). - commit d7be40a- kabi: handle addition of uevent_sock into struct net (bsc#1122982). - commit fba27e2- net: add uevent socket member (bsc#1122982). - commit 0d1872e- kabi: restore ip_tunnel_delete_net() (bsc#1122982). - commit 3f50317- ipv4: speedup ipv6 tunnels dismantle (bsc#1122982). - commit 37e2cde- ipv6: speedup ipv6 tunnels dismantle (bsc#1122982). Refresh patches.suse/ip6_vti-fix-a-null-pointer-deference-when-destroy-vt.patch - commit e5f835f- tcp: batch tcp_net_metrics_exit (bsc#1122982). - commit 07f6645- kabi: handle addition of ip6addrlbl_table into struct netns_ipv6 (bsc#1122982). - commit 7e7aa51- ipv6: addrlabel: per netns list (bsc#1122982). - commit a20a6ca- kobject: factorize skb setup in kobject_uevent_net_broadcast() (bsc#1122982). - commit 981380d- kobject: copy env blob in one go (bsc#1122982). - commit 4131d33- kobject: add kobject_uevent_net_broadcast() (bsc#1122982). - commit 79f04e3- ptp: Fix pass zero to ERR_PTR() in ptp_clock_register (bsc#1051510). - ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl (bsc#1051510). - commit da8955a- pinctrl: meson: meson8b: fix the GPIO function for the GPIOAO pins (bsc#1051510). - pinctrl: meson: meson8: fix the GPIO function for the GPIOAO pins (bsc#1051510). - pinctrl: sunxi: a64: Rename function ts0 to ts (bsc#1051510). - pinctrl: sunxi: a64: Rename function csi0 to csi (bsc#1051510). - pinctrl: sx150x: handle failure case of devm_kstrdup (bsc#1051510). - pinctrl: sunxi: a83t: Fix IRQ offset typo for PH11 (bsc#1051510). - pinctrl: meson: fix pull enable register calculation (bsc#1051510). - commit 425b535- hwmon: (lm80) Fix missing unlock on error in set_fan_div() (bsc#1051510). - kgdboc: Fix warning with module build (bsc#1051510). - commit 9dd5b77- kprobes: Return error if we fail to reuse kprobe instead of BUG_ON() (bsc#1051510). - commit a34e8dd- kgdboc: fix KASAN global-out-of-bounds bug in param_set_kgdboc_var() (bsc#1051510). - kgdboc: Fix restrict error (bsc#1051510). - commit 81f4204- kconfig: fix memory leak when EOF is encountered in quotation (bsc#1051510). - kconfig: fix file name and line number of warn_ignored_character() (bsc#1051510). - kconfig: fix the rule of mainmenu_stmt symbol (bsc#1051510). - kconfig: fix line numbers for if-entries in menu tree (bsc#1051510). - commit 48b9214- hwmon: (lm80) fix a missing check of bus read in lm80 probe (bsc#1051510). - hwmon: (lm80) fix a missing check of the status of SMBus read (bsc#1051510). - commit 673c6f7- hvc_opal: don't set tb_ticks_per_usec in udbg_init_opal_common() (bsc#1051510). - commit 692e504- gianfar: Fix Rx byte accounting for ndev stats (bsc#1051510). - gianfar: prevent integer wrapping in the rx handler (bsc#1051510). - gianfar: fix a flooded alignment reports because of padding issue (bsc#1051510). - commit 8dceab1- genwqe: Fix size check (bsc#1051510). - commit 1222038- esp6: fix memleak on error path in esp6_input (bsc#1051510). - esp: Fix skb tailroom calculation (bsc#1051510). - esp: Fix locking on page fragment allocation (bsc#1051510). - esp: Fix memleaks on error paths (bsc#1051510). - ipsec: check return value of skb_to_sgvec always (bsc#1051510). - commit 5e4fe86- earlycon: Remove hardcoded port->uartclk initialization in of_setup_earlycon (bsc#1051510). - earlycon: Initialize port->uartclk based on clock-frequency property (bsc#1051510). - commit 3501ab2- dmaengine: stm32-dma: fix incomplete configuration in cyclic mode (bsc#1051510). - commit 320fcc4- cw1200: Fix concurrency use-after-free bugs in cw1200_hw_scan() (bsc#1051510). - commit c2f6cd4- btrfs: qgroup: Make qgroup async transaction commit more aggressive (bsc#1113042). - commit 6571468- ALSA: hda - Add quirk for HP EliteBook 840 G5 (bsc#1051510). - commit 02839ac- xfs: add option to mount with barrier=0 or barrier=1 (bsc#1088133). - commit 041eec2- sata_rcar: fix deferred probing (bsc#1051510). - sc16is7xx: Fix for multi-channel stall (bsc#1051510). - commit 8335cf8- selinux: always allow mounting submounts (bsc#1051510). - commit 2719b51- switchtec: Fix SWITCHTEC_IOCTL_EVENT_IDX_ALL flags overwrite (bsc#1051510). - switchtec: Remove immediate status check after submitting MRPC command (bsc#1051510). - commit bf525d0- timekeeping: Use proper seqcount initializer (bsc#1051510). - commit f7ac05e- tpm: fix kdoc for tpm2_flush_context_cmd() (bsc#1051510). - commit cc49795- tpm: tpm_try_transmit() refactor error flow (bsc#1051510). - commit cd1784e- tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x (bsc#1051510). - commit cdee356- tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated (bsc#1051510). - Refresh patches.suse/tpm-Downgrade-error-level. - commit 8e7a0f3- tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (bsc#1051510). - tpm: Return the actual size when receiving an unsupported command (bsc#1051510). - commit dbd494e- tpm: return a TPM_RC_COMMAND_CODE response if command is not implemented (bsc#1051510). - Refresh patches.drivers/tpm-add-retry-logic.patch. - Refresh patches.drivers/tpm-cmd_ready-command-can-be-issued-only-after-grant.patch. - Refresh patches.drivers/tpm-fix-intermittent-failure-with-self-tests.patch. - Refresh patches.drivers/tpm-separate-cmd_ready-go_idle-from-runtime_pm.patch. - commit 60c8417- usb: phy: am335x: fix race condition in _probe (bsc#1051510). - usb: gadget: udc: net2272: Fix bitwise and boolean operations (bsc#1051510). - usb: dwc3: gadget: Handle 0 xfer length for OUT EP (bsc#1051510). - usb: gadget: musb: fix short isoc packets with inventra dma (bsc#1051510). - USB: serial: pl2303: add new PID to support PL2303TB (bsc#1051510). - USB: serial: simple: add Motorola Tetra TPG2200 device id (bsc#1051510). - usb: musb: dsps: fix otg state machine (bsc#1051510). - usb: dwc3: gadget: Disable CSP for stream OUT ep (bsc#1051510). - usb: mtu3: fix the issue about SetFeature(U1/U2_Enable) (bsc#1051510). - usb: dwc3: Correct the logic for checking TRB full in __dwc3_prepare_one_trb() (bsc#1051510). - usb: hub: delay hub autosuspend if USB3 port is still link training (bsc#1051510). - commit fc7d38b- usbnet: smsc95xx: fix rx packet alignment (bsc#1051510). - commit c9b4f88- vxge: ensure data0 is initialized in when fetching firmware version information (bsc#1051510). - commit 693db95- w90p910_ether: remove incorrect __init annotation (bsc#1051510). - commit 709dd80- watchdog: docs: kernel-api: don't reference removed functions (bsc#1051510). - commit 02aef73- Yama: Check for pid death before checking ancestry (bsc#1051510). - yam: fix a missing-check bug (bsc#1051510). - commit 8358606- SMB3: Fix 3.11 encryption to Windows and handle encrypted smb3 tcon (bsc#1051510). - Refresh patches.fixes/0001-CIFS-make-IPC-a-regular-tcon.patch. - commit 3928810- blacklist.conf: Remove duplicated and already applied entries - commit 9717602- SMB3: Enable encryption for SMB3.1.1 (bsc#1051510). - commit adc9cc4- loop: Reintroduce lo_ctl_mutex removed by commit 310ca162d (bsc#1124974). - commit c020130- dmaengine: imx-dma: fix wrong callback invoke (bsc#1051510). - serial: fix race between flush_to_ldisc and tty_open (bsc#1051510). - drm/i915/gvt: release shadow batch buffer and wa_ctx before destroy one workload (bsc#1051510). - video: clps711x-fb: release disp device node in probe() (bsc#1051510). - i2c-axxia: check for error conditions first (bsc#1051510). - i2c: sh_mobile: add support for r8a77990 (R-Car E3) (bsc#1051510). - HID: lenovo: Add checks to fix of_led_classdev_register (bsc#1051510). - Thermal: do not clear passive state during system sleep (bsc#1051510). - thermal: generic-adc: Fix adc to temp interpolation (bsc#1051510). - thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set (bsc#1051510). - isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw() (bsc#1051510). - pinctrl: sh-pfc: sh7734: Fix shifted values in IPSR10 (bsc#1051510). - pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value (bsc#1051510). - pinctrl: sh-pfc: sh7269: Add missing PCIOR0 field (bsc#1051510). - pinctrl: sh-pfc: sh7264: Fix PFCR3 and PFCR0 register configuration (bsc#1051510). - pinctrl: sh-pfc: sh7734: Add missing IPSR11 field (bsc#1051510). - pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field (bsc#1051510). - pinctrl: sh-pfc: sh73a0: Add missing TO pin to tpu4_to3 group (bsc#1051510). - pinctrl: sh-pfc: r8a7791: Remove bogus marks from vin1_b_data18 group (bsc#1051510). - pinctrl: sh-pfc: r8a7791: Remove bogus ctrl marks from qspi_data4_b group (bsc#1051510). - pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group (bsc#1051510). - pinctrl: sh-pfc: r8a7740: Add missing REF125CK pin to gether_gmii group (bsc#1051510). - soc/tegra: Don't leak device tree node reference (bsc#1051510). - soc: bcm: brcmstb: Don't leak device tree node reference (bsc#1051510). - seq_buf: Make seq_buf_puts() null-terminate the buffer (bsc#1051510). - iio: accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID (bsc#1051510). - staging: iio: ad7780: update voltage on read (bsc#1051510). - staging:iio:ad2s90: Make probe handle spi_setup failure (bsc#1051510). - staging: iio: adc: ad7280a: handle error from __ad7280_read32() (bsc#1051510). - serial: fsl_lpuart: clear parity enable bit when disable parity (bsc#1051510). - mmc: sdhci-xenon: Fix timeout checks (bsc#1051510). - mmc: sdhci-of-esdhc: Fix timeout checks (bsc#1051510). - memstick: Prevent memstick host from getting runtime suspended during card detection (bsc#1051510). - mmc: bcm2835: Recover from MMC_SEND_EXT_CSD (bsc#1051510). - crypto: ux500 - Use proper enum in hash_set_dma_transfer (bsc#1051510). - crypto: ux500 - Use proper enum in cryp_set_dma_transfer (bsc#1051510). - pcrypt: use format specifier in kobject_add (bsc#1051510). - crypto: aes_ti - disable interrupts while accessing S-box (bsc#1051510). - mac80211: fix radiotap vendor presence bitmap handling (bsc#1051510). - firmware/efi: Add NULL pointer checks in efivars API functions (bsc#1051510). - media: DaVinci-VPBE: fix error handling in vpbe_initialize() (bsc#1051510). - media: adv*/tc358743/ths8200: fill in min width/height/pixelclock (bsc#1051510). - media: mtk-vcodec: Release device nodes in mtk_vcodec_init_enc_pm() (bsc#1051510). - drm: Clear state->acquire_ctx before leaving drm_atomic_helper_commit_duplicated_state() (bsc#1051510). - gpu: ipu-v3: image-convert: Prevent race between run and unprepare (bsc#1051510). - drm/rockchip: fix for mailbox read size (bsc#1051510). - drm/bufs: Fix Spectre v1 vulnerability (bsc#1051510). - staging: speakup: Replace strncpy with memcpy (bsc#1051510). - pktcdvd: Fix possible Spectre-v1 for pkt_devs (bsc#1051510). - thermal/drivers/hisi: Fix configuration register setting (bsc#1051510). - thermal/drivers/hisi: Encapsulate register writes into helpers (bsc#1051510). - mmc: Kconfig: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS (bsc#1051510). - commit 1c7e39d- kABI workaroudn for ath9k ath_node.ackto type change (bsc#1051510). - commit d8369e0- ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check (bsc#1051510). - ALSA: usb-audio: Fix implicit fb endpoint setup by quirk (bsc#1051510). - Bluetooth: Fix unnecessary error message for HCI request completion (bsc#1051510). - ath9k: dynack: make ewma estimation faster (bsc#1051510). - ath9k: dynack: check da->enabled first in sampling routines (bsc#1051510). - ath9k: dynack: use authentication messages for 'late' ack (bsc#1051510). - clk: imx6sl: ensure MMDC CH0 handshake is bypassed (bsc#1051510). - clk: sunxi-ng: a33: Set CLK_SET_RATE_PARENT for all audio module clocks (bsc#1051510). - ACPI/APEI: Clear GHES block_status before panic() (bsc#1051510). - ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M (bsc#1051510). - commit 068148f- Revert "scsi: qla2xxx: Fix NVMe Target discovery" (bsc#1125252). - Delete patches.fixes/qla2xxx-Fixup-dual-protocol-FCP-connections.patch. - commit d4e105c- blacklist.conf: add two patches which are fixed with SLE-specific patches - commit 5a1d4e0- SCSI: fix queue cleanup race before queue initialization is done (bsc#1125252). - scsi: lpfc: fix remoteport access (bsc#1125252). - block: don't warn when doing fsync on read-only devices (bsc#1125252). - s390/mm: fix addressing exception after suspend/resume (bsc#1125252). - commit b2f7320- Partially revert "block: fail op_is_write() requests to (bsc#1125252). - Refresh patches.fixes/block-don-t-warn-for-flush-on-read-only-device.patch. - commit 2be11de- Refresh patches.fixes/SMB3-Add-support-for-multidialect-negotiate-SMB2.1-a.patch. - commit 00c54bd- Tree connect for SMB3.1.1 must be signed for non-encrypted shares (bsc#1051510). - commit 646759f- SMB311: Improve checking of negotiate security contexts (bsc#1051510). - Refresh patches.fixes/smb3-simplify-code-by-removing-CONFIG_CIFS_SMB311.patch. - commit 88a899d- Refresh series.conf for upstreamed patches - commit 7080712- cifs: invalidate cache when we truncate a file (bsc#1051510). - commit ac6d95b- cifs: connect to servername instead of IP for IPC$ share (bsc#1051510). - commit 9ef1878- cifs: OFD locks do not conflict with eachothers (bsc#1051510). - commit 60dc3ca- s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU (git-fixes). - commit c4aa3bc- s390/smp: fix CPU hotplug deadlock with CPU rescan (git-fixes). - commit 676a5c7- s390/mm: always force a load of the primary ASCE on context switch (git-fixes). - commit 7dd5b69- sysfs: Disable lockdep for driver bind/unbind files (bsc#1051510). - commit e3d560e- uprobes: Fix handle_swbp() vs. unregister() + register() race once more (bsc#1051510). - commit e646146- irqchip/gic-v3-its: Fix ITT_entry_size accessor (bsc#1051510). - commit 9762d21- irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size (bsc#1051510). - irqchip/gic-v3-its: Don't bind LPI to unavailable NUMA node (bsc#1051510). - commit aee5454- iio: chemical: atlas-ph-sensor: correct IIO_TEMP values to millicelsius (bsc#1051510). - commit d30d8e7- ieee802154: ca8210: fix possible u8 overflow in ca8210_rx_done (bsc#1051510). - commit d0cf762- s390/early: improve machine detection (git-fixes). - commit a88d3d3- drm/atomic-helper: Complete fake_commit->flip_done potentially earlier (bsc#1051510). - drm/i915: Redefine some Whiskey Lake SKUs (bsc#1051510). - Revert "drm/rockchip: Allow driver to be shutdown on reboot/kexec" (bsc#1051510). - drm/ast: Fix connector leak during driver unload (bsc#1051510). - drm/msm: Fix error return checking (bsc#1051510). - drm/msm: Grab a vblank reference when waiting for commit_done (bsc#1051510). - drm/amdgpu: Add delay after enable RLC ucode (bsc#1051510). - drm/ast: fixed reading monitor EDID not stable issue (bsc#1051510). - commit e8eb419- virtio/s390: fix race in ccw_io_helper() (git-fixes). - commit e56a72c- virtio/s390: avoid race on vcdev->config (git-fixes). - commit 8787487- dmaengine: dmatest: Abort test in case of mapping error (bsc#1051510). - dmaengine: bcm2835: Fix abort of transactions (bsc#1051510). - dmaengine: bcm2835: Fix interrupt race on RT (bsc#1051510). - dmaengine: at_xdmac: Fix wrongfull report of a channel as in use (bsc#1051510). - batman-adv: Force mac header to start of data on xmit (bsc#1051510). - batman-adv: Avoid WARN on net_device without parent in netns (bsc#1051510). - commit 21abf3f- s390/cpum_cf: Reject request for sampling in event initialization (git-fixes). - commit 43dc798- s390/qeth: invoke softirqs after napi_schedule() (git-fixes). - s390/sthyi: Fix machine name validity indication (git-fixes). - commit a8250d7- s390/cio: Fix how vfio-ccw checks pinned pages (git-fixes). - commit 020f0c8- vfio: ccw: fix cleanup if cp_prefetch fails (git-fixes). - commit f3cd170- vfio: ccw: process ssch with interrupts disabled (git-fixes). - commit 504edfe- Update patches.arch/s390-sles15-zcrypt-fix-specification-exception.patch (LTC#174936, bsc#1123060, bsc#1123061). - commit 1a2036b- blacklist.conf: blacklist 2623c7a5f27995 - commit f805abd- Delete patches.fixes/libata-ensure-host-is-free-d-on-error-exit-paths.patch. Not needed anymore as 'patches.fixes/libata-add-refcounting-to-ata_host.patch' is gone (bsc#1125109). - commit a0cb8f9- Refresh patches.fixes/libata-ensure-host-is-free-d-on-error-exit-paths.patch. - Delete patches.fixes/libata-add-refcounting-to-ata_host.patch. - Delete patches.kabi/kabi-protect-struct-ata_host.patch. The fix in 'patches.fixes/libata-add-refcounting-to-ata_host.patch.' introduced a kref in the middle of 'struct ata_host' which the KABI patch 'patches.kabi/kabi-protect-struct-ata_host.patch' then moved to the end of the structure in order to preserve the KABI for out of tree modules. But this move to the end of the structure shadowed the dynamically allocated 'ports' array at the end of 'struct ata_host' and lead to kernel crashes (bsc#1125109). - commit 2d3b23e- ext4: force inode writes when nfsd calls commit_metadata() (bsc#1125125). - commit 31a2a0d- mm,vmscan: Make unregister_shrinker() no-op if register_shrinker() failed (git fixes (mm/vmscan)). - commit 811e3e5- blacklist.conf: Microblaze not supported - commit 4927691- blacklist.conf: KASAN not supported - commit 2dc5c41- blacklist.conf: KASAN not supported - commit b14c3e4- blacklist.conf: Preparation patch for other fixes - commit ad1598c- mm: madvise(MADV_DODUMP): allow hugetlbfs pages (git fixes (mm/madvise)). - commit ced6763- mm: hwpoison: use do_send_sig_info() instead of force_sig() (git fixes (mm/hwpoison)). - commit df0f1cd- mm: migrate: don't rely on __PageMovable() of newpage after unlocking it (git fixes (mm/migrate)). - commit c2ba9d9- blacklist.conf: add commit with too many dependencies - commit 228c48e- scsi: qedi: Add ep_state for login completion on un-reachable targets (bsc#1113712). - commit 4d4bb59- x86/bugs: Add AMD's variant of SSB_NO (bsc#1114279). - x86/bugs: Update when to check for the LS_CFG SSBD mitigation (bsc#1114279). - x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out() (bsc#1114279). - x86/microcode/amd: Don't falsely trick the late loading mechanism (bsc#1114279). - x86/speculation: Remove redundant arch_smt_update() invocation (bsc#1114279). - Refresh patches.arch/x86-bugs-add-amd-s-spec_ctrl-msr-usage.patch. - commit eff8f26- blacklist.conf: Blacklist 4ea899ead278 - commit 6976585- acpi/nfit: Fix user-initiated ARS to be "ARS-long" rather than "ARS-short" (bsc#1124969). - commit 3578008- scsi: qla2xxx: Timeouts occur on surprise removal of QLogic adapter (bsc#1124985). - commit bb23d9d- gfs2: Revert "Fix loop in gfs2_rbm_find" (bsc#1120601). - commit 3792514- blockdev: Fix livelocks on loop device (bsc#1124984). - commit 857b548- nbd: Use set_blocksize() to set device blocksize (bsc#1124984). - blacklist.conf: Blacklist 967d1dc144b5 and 0a42e99b58a2 - commit 7439299- ext4: track writeback errors using the generic tracking infrastructure (bsc#1124982). - commit 036c27d- ext4: avoid kernel warning when writing the superblock to a dead device (bsc#1124981). - commit f92b2d6- ext4: fix a potential fiemap/page fault deadlock w/ inline_data (bsc#1124980). - commit 424532a- ext4: make sure enough credits are reserved for dioread_nolock writes (bsc#1124979). - commit 99a4d9d- ext4: check for shutdown and r/o file system in ext4_write_inode() (bsc#1124978). - commit dc5a120- ext4: include terminating u32 in size of xattr entries when expanding inodes (bsc#1124976). - commit c3a7a13- loop: drop caches if offset or block_size are changed (bsc#1124975). - commit df3c676- block/loop: Use global lock for ioctl() operation (bsc#1124974). - commit 8f611d6- blacklist.conf: Blacklist b1ab5fa309e6 - commit b03a941- acpi, nfit: Fix Address Range Scrub completion tracking (bsc#1124969). - Refresh patches.fixes/acpi-nfit-fix-ars-overflow-continuation.patch. - Refresh patches.kabi/kabi-protect-struct-acpi_nfit_desc.patch. - commit a36799d- Refresh patches.kabi/bpf-move-prev_-insn_idx-into-verifier-env.patch. Correct the patch to avoid breaking nfp. - commit 328bd94- Refresh patches.kabi/bpf-fix-partial-copy-of-map_ptr-when-dst-is-scalar.patch. Add more details to the description of the patch. - commit 6b541d7- drm/vmwgfx: Fix setting of dma masks (bsc#1120902) - commit 0d96fca- drm/vmwgfx: Return error code from vmw_execbuf_copy_fence_user (bsc#1120902) - commit d2f7791- Update patches.fixes/Bluetooth-Verify-that-l2cap_get_conf_opt-provides-la.patch (bsc#1120758 CVE-2019-3459 CVE-2019-3460). - commit 31956dc- platform/x86: asus-nb-wmi: Drop mapping of 0x33 and 0x34 scan codes (bsc#1051510). - platform/x86: asus-nb-wmi: Map 0x35 to KEY_SCREENLOCK (bsc#1051510). - commit 3a743df- s390/zcrypt: fix specification exception on z196 during ap probe (LTC#174936, bsc#1123061). - scripts/git_sort/git_sort.py: Add s390/linux.git fixes. - commit d41c9f0- mmc: bcm2835: Fix DMA channel leak on probe error (bsc#1051510). - mmc: dw_mmc-bluefield: : Fix the license information (bsc#1051510). - mmc: sdhci-iproc: handle mmc_of_parse() errors during probe (bsc#1051510). - mmc: atmel-mci: do not assume idle after atmci_request_end (bsc#1051510). - commit 379914e- gpio: pcf857x: Fix interrupts on multiple instances (bsc#1051510). - mfd: tps6586x: Handle interrupts on suspend (bsc#1051510). - mfd: ab8500-core: Return zero in get_register_interruptible() (bsc#1051510). - dmaengine: xilinx_dma: Remove __aligned attribute on zynqmp_dma_desc_ll (bsc#1051510). - misc: vexpress: Off by one in vexpress_syscfg_exec() (bsc#1051510). - driver core: Move async_synchronize_full call (bsc#1051510). - clk: imx6q: reset exclusive gates on init (bsc#1051510). - clk: rockchip: fix typo in rk3188 spdif_frac parent (bsc#1051510). - clk: sunxi-ng: h3/h5: Fix CSI_MCLK parent (bsc#1051510). - clk: sunxi-ng: enable so-said LDOs for A64 SoC's pll-mipi clock (bsc#1051510). - dmaengine: dw: Fix FIFO size for Intel Merrifield (bsc#1051510). - misc: mic/scif: fix copy-paste error in scif_create_remote_lookup (bsc#1051510). - misc: atmel-ssc: Fix section annotation on atmel_ssc_get_driver_data (bsc#1051510). - drivers/misc/sgi-gru: fix Spectre v1 vulnerability (bsc#1051510). - misc: hmc6352: fix potential Spectre v1 (bsc#1051510). - drivers: core: Remove glue dirs from sysfs earlier (bsc#1051510). - misc: mic: SCIF Fix scif_get_new_port() error handling (bsc#1051510). - misc: ti-st: Fix memory leak in the error path of probe() (bsc#1051510). - misc: sram: enable clock before registering regions (bsc#1051510). - misc: sram: fix resource leaks in probe error path (bsc#1051510). - commit 7c91b33- rpm/kernel-binary.spec.in: Build livepatch support in SUSE release projects (bsc#1124167). - commit 7519080- KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221) (CVE-2019-7221 bsc#1124732). - KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222) (CVE-2019-7222 bsc#1124735). - kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974) (CVE-2019-6974 bsc#1124728). - commit 2b60717- KVM: PPC: Book3S PR: Set hflag to indicate that POWER9 supports 1T segments (bsc#1124589). - commit 369f0f8- cifs: Fix separator when building path from dentry (bsc#1051510). - commit e3522a0- Refresh patches.kabi/kabi-protect-struct-ata_host.patch. - commit b3a0a59- ARM: cns3xxx: Use actual size reads for PCIe (bsc#1051510). - ARM: cns3xxx: Fix writing to wrong PCI config registers after alignment (bsc#1051510). - arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs (bsc#1051510). - ARM: imx: update the cpu power up timing setting on i.mx6sx (bsc#1051510). - ARM: mmp/mmp2: fix cpu_is_mmp2() on mmp2-dt (bsc#1051510). - ARM: 8815/1: V7M: align v7m_dma_inv_range() with v7 counterpart (bsc#1051510). - ARM: 8814/1: mm: improve/fix ARM v7_dma_inv_range() unaligned address handling (bsc#1051510). - ARM: OMAP1: ams-delta: Fix possible use of uninitialized field (bsc#1051510). - ARM: OMAP2+: prm44xx: Fix section annotation on omap44xx_prm_enable_io_wakeup (bsc#1051510). - ARM: 8802/1: Call syscall_trace_exit even when system call skipped (bsc#1051510). - commit 7b1aa7a- ALSA: usb-audio: Add support for new T+A USB DAC (bsc#1051510). - ALSA: hda/realtek - Use a common helper for hp pin reference (bsc#1051510). - ALSA: hda/realtek - Fix lose hp_pins for disable auto mute (bsc#1051510). - commit 76b3b48- Move the upstreamed HD-audio fix into sorted section - commit accb944- ALSA: hda/ca0132 - Fix build error without CONFIG_PCI (bsc#1051510). - ALSA: compress: Fix stop handling on compressed capture streams (bsc#1051510). - commit cb91271- Refresh patches.kabi/0003-md-fix-md_write_start-deadlock-w-o-metadata-devices.kabi. - Refresh patches.kabi/bpf-fix-partial-copy-of-map_ptr-when-dst-is-scalar.patch. - Update patches.kabi/bpf-move-prev_-insn_idx-into-verifier-env.patch (bsc#1068032 CVE-2017-5753). - Update patches.kabi/bpf-prevent-memory-disambiguation-attack.patch (bsc#1087082). - Update patches.kabi/bpf-prevent-out-of-bounds-speculation-on-pointer-ari.patch (bsc#1068032 CVE-2017-5753). - Update patches.kabi/bpf-properly-enforce-index-mask-to-prevent-out-of-bo.patch (bsc#1098425). - Refresh patches.kabi/fix-kvm-kabi.patch. - Refresh patches.kabi/kabi-mvpp2-10gkr-support.patch. - Refresh patches.kabi/kabi-protect-struct-ata_host.patch. - Refresh patches.kabi/kabi-protect-struct-kvm_sync_regs.patch. - Refresh patches.kabi/kabi-x86-speculation-fix-cpu_tlbstate-issue.patch. - Refresh patches.kabi/mm-numa-Remove-rate-limiting-of-automatic-numa-balancing-migration-kabi.patch. - Refresh patches.kabi/s390-mm-fix-race-on-mm-context-flush_mm.patch. - Refresh patches.kabi/sched-numa-Pass-destination-CPU-as-a-parameter-to-migrate_task_rq-kabi.patch. - Refresh patches.kabi/sched-numa-Stop-multiple-tasks-from-moving-to-the-CPU-at-the-same-time-kabi.patch. - Refresh patches.kabi/x86-cpuinfo_x86-ignore-initialized-member.patch. Walked through them to see if they are correct. Fixed some tags, added some comments. There are 3 suspicious patches: patches.kabi/bpf-fix-partial-copy-of-map_ptr-when-dst-is-scalar.patch patches.kabi/bpf-move-prev_-insn_idx-into-verifier-env.patch patches.kabi/kabi-protect-struct-ata_host.patch An e-mail will be sent to a ML. - commit e8d529d- selftests/powerpc: Use snprintf to construct DSCR sysfs interface paths (bsc#1124579). - commit 0a2e5ac- xhci: Add quirk to zero 64bit registers on Renesas PCIe controllers (bsc#1120854). - Refresh patches.fixes/0001-USB-xhci-fix-broken_suspend-placement-in-struct-xchi.patch. - Refresh patches.kabi/0001-kABI-fix-xhci-kABI-stability.patch. - commit c70c2f5- drivers/sbus/char: add of_node_put() (bsc#1051510). - sbus: char: add of_node_put() (bsc#1051510). - commit ace85bb- jffs2: Fix use of uninitialized delayed_work, lockdep breakage (bsc#1051510). - iscsi target: fix session creation failure handling (bsc#1051510). - commit a9a3d74- ide: pmac: add of_node_put() (bsc#1051510). - commit 311323c- hfsplus: do not free node before using (bsc#1051510). - hfs: do not free node before using (bsc#1051510). - hfs: prevent btree data loss on root split (bsc#1051510). - hfsplus: prevent btree data loss on root split (bsc#1051510). - commit 3942f5f- fork: don't copy inconsistent signal handler state to child (bsc#1051510). - commit 70695af- fat: validate ->i_start before using (bsc#1051510). - commit 62fdadf- exportfs: do not read dentry after free (bsc#1051510). - commit 2f5aef2- blacklist.conf: add an gcc-8 warning entry that breaks kABI, too - commit 5da88ca- e1000e: allow non-monotonic SYSTIM readings (bsc#1051510). - dmaengine: at_hdmac: fix module unloading (bsc#1051510). - dmaengine: at_hdmac: fix memory leak in at_dma_xlate() (bsc#1051510). - dmaengine: dma-jz4780: Return error if not probed from DT (bsc#1051510). - commit 6c30b58- dlm: memory leaks on error path in dlm_user_request() (bsc#1051510). - dlm: lost put_lkb on error path in receive_convert() and receive_unlock() (bsc#1051510). - dlm: possible memory leak on error path in create_lkb() (bsc#1051510). - dlm: fixed memory leaks after failed ls_remove_names allocation (bsc#1051510). - cpufreq: imx6q: add return value check for voltage scale (bsc#1051510). - blk-mq: fix kernel oops in blk_mq_tag_idle() (bsc#1051510). - commit 05f0e41- acpi/nfit: Fix command-supported detection (bsc#1051510). - acpi/nfit: Block function zero DSMs (bsc#1051510). - 9p/net: put a lower bound on msize (bsc#1051510). - 9p locks: fix glock.client_id leak in do_lock (bsc#1051510). - 9p: clear dangling pointers in p9stat_free (bsc#1051510). - 6lowpan: iphc: reset mac_header after decompress to fix panic (bsc#1051510). - af_iucv: Move sockaddr length checks to before accessing sa_family in bind and connect handlers (bsc#1051510). - commit 52ff03c- x86/CPU/hygon: Fix phys_proc_id calculation logic for multi-die processors (fate#327735). - commit aa3eec2- x86/microcode: Fix microcode hotplug state (bsc#1114279). - commit 2832c39- scripts/git_sort/git_sort.py: Add mkp/scsi 5.0/scsi-fixes - commit 07f58d4- signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init (git-fixes). - fork: unconditionally clear stack on fork (git-fixes). - commit b70c690- scsi: target: make the pi_prot_format ConfigFS path readable (bsc#1123933). - commit 81ce83a- kernel/exit.c: release ptraced tasks before zap_pid_ns_processes (git-fixes). - commit e589946- sched/wait: Fix rcuwait_wake_up() ordering (git-fixes). - fork: record start_time late (git-fixes). - commit a4d5606- x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback (bsc#1114279). - commit 40d8928- RAS/CEC: Convert the timer callback to a workqueue (bsc#1114279). - commit fd5fdc3- KVM: x86: fix L1TF's MMIO GFN calculation (bsc#1124204). - commit b944bfa- RAS/CEC: Fix binary search function (bsc#1114279). - commit 1a4f4fc- x86/CPU/AMD: Don't force the CPB cap when running under a hypervisor (bsc#1114279). - commit 4f1c425- kvm: x86: Include CPUID leaf 0x8000001e in kvm's supported CPUID (bsc#1114279). - commit 1e9cec2- kvm: x86: Include multiple indices with CPUID leaf 0x8000001d (bsc#1114279). - commit b6e5bfb- Update metadata in patches.fixes/mm-migrate-Make-buffer_migrate_page_norefs-actually-.patch. - commit 2ab8e72- ipmi:pci: Blacklist a Realtek "IPMI" device (git-fixes). - commit 88a6bc3- blacklist.conf: add more commits - commit 9f66d64- NFS: Fix up return value on fatal errors in nfs_page_async_flush() (git-fixes). - sunrpc: handle ENOMEM in rpcb_getport_async (git-fixes). - commit 2458747- media: v4l: ioctl: Validate num_planes for debug messages (bsc#1051510). - media: firewire: Fix app_info parameter type in avc_ca{,_app}_info (bsc#1051510). - media: vb2: be sure to unlock mutex on errors (bsc#1051510). - media: vivid: free bitmap_cap when updating std/timings/etc (bsc#1051510). - media: v4l2-tpg: array index could become negative (bsc#1051510). - media: vivid: set min width/height to a value > 0 (bsc#1051510). - media: vivid: fix error handling of kthread_run (bsc#1051510). - media: vb2: vb2_mmap: move lock up (bsc#1051510). - commit b4f8e97- pstore/ram: Avoid allocation and leak of platform data (bsc#1051510). - pstore/ram: Avoid NULL deref in ftrace merging failure path (bsc#1051510). - pstore/ram: Do not treat empty buffers as valid (bsc#1051510). - pstore/ram: Correctly calculate usable PRZ bytes (bsc#1051510). - commit 15e90ac- selinux: Add __GFP_NOWARN to allocation at str_read() (bsc#1051510). - commit 1df5685- selinux: fix GPF on invalid policy (bsc#1051510). - commit e75d966- serial: uartps: Fix interrupt mask issue to handle the RX interrupts properly (bsc#1051510). - serial: imx: fix error handling in console_setup (bsc#1051510). - serial: set suppress_bind_attrs flag only if builtin (bsc#1051510). - serial/sunsu: fix refcount leak (bsc#1051510). - Revert "serial: 8250: Fix clearing FIFOs in RS485 mode again" (bsc#1051510). - commit fe5d174- thermal: int340x_thermal: Fix a NULL vs IS_ERR() check (bsc#1051510). - commit e14f856- tty: Handle problem if line discipline does not have receive_buf (bsc#1051510). - tty/n_hdlc: fix __might_sleep warning (bsc#1051510). - tty/serial: do not free trasnmit buffer page under port lock (bsc#1051510). - commit e89abf7- uart: Fix crash in uart_write and uart_put_char (bsc#1051510). - commit ce01626- vt: invoke notifier on screen size change (bsc#1051510). - commit c2e299a- platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey (bsc#1051510). - commit 348f00f- LSM: Check for NULL cred-security on free (bsc#1051510). - commit 6401087- gpio: vf610: Mask all GPIO interrupts (bsc#1051510). - gpio: altera-a10sr: Set proper output level for direction_output (bsc#1051510). - gpio: pl061: Move irq_chip definition inside struct pl061 (bsc#1051510). - commit 2bf709f- Cramfs: fix abad comparison when wrap-arounds occur (bsc#1051510). - commit a72fdad- checkstack.pl: fix for aarch64 (bsc#1051510). - commit 0300f4e- char/mwave: fix potential Spectre v1 vulnerability (bsc#1051510). - commit 2a37e23- can: bcm: check timer values before ktime conversion (bsc#1051510). - can: dev: __can_get_echo_skb(): fix bogous check for non-existing skb by removing it (bsc#1051510). - commit 10af29b- kABI workaround for snd_hda_bus.bus_probing addition (bsc#1122944). - ALSA: hda - Serialize codec registrations (bsc#1122944). - commit 80a1f31- ALSA: hda - Add mute LED support for HP ProBook 470 G5 (bsc#1051510). - commit a0e8ecb- arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one (bsc#1051510). - commit a3b1bde- Input: xpad - add support for SteelSeries Stratus Duo (bsc#1111666). - commit efa6587- staging: rtl8188eu: Add device code for D-Link DWA-121 rev B1 (bsc#1051510). - commit 09bd81f- Input: raspberrypi-ts - fix link error (git-fixes). - commit f79a072- drm/nouveau/tmr: detect stalled gpu timer and break out of waits (bsc#1123538). - commit 312f392- ALSA: hda/realtek - Fixed hp_pin no value (bsc#1051510). - ALSA: usb-audio: Add Opus #3 to quirks for native DSD support (bsc#1051510). - commit cab9efd- KVM: arm/arm64: VGIC/ITS save/restore: protect kvm_read_guest() calls (bsc#1117155). - KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock (bsc#1117155). - KVM: arm/arm64: VGIC/ITS: Promote irq_lock() in update_affinity (bsc#1117155). - KVM: arm/arm64: Properly protect VGIC locks from IRQs (bsc#1117155). - commit dc96a61- amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs (bsc#1122927). - commit b966f6a- bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw (bsc#1086323 FATE#324899). - bnx2x: Send update-svid ramrod with retry/poll flags enabled (bsc#1086323 FATE#324899). - bnx2x: Remove configured vlans as part of unload sequence (bsc#1086323 FATE#324899). - bnx2x: Clear fip MAC when fcoe offload support is disabled (bsc#1086323 FATE#324899). - drivers/net/ethernet/qlogic/qed/qed_rdma.h: fix typo (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - bnx2x: Assign unique DMAE channel number for FW DMAE transactions (bsc#1086323 FATE#324899). - be2net: don't flip hw_features when VXLANs are added/deleted (bsc#1050252 FATE#322920). - commit 4798b45- net: hns3: rename the interface for init_client_instance and uninit_client_instance (bsc#1104353 FATE#326415). - Refresh patches.drivers/net-hns3-Clear-client-pointer-when-initialize-client.patch. - commit 530dc8a- qed: Fix an error code qed_ll2_start_xmit() (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix command number mismatch between driver and the mfw (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - i40e: fix mac filter delete when setting mac address (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - qed: Fix QM getters to always return a valid pq (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix bitmap_weight() check (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix reading wrong value in loop condition (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix rdma_info structure allocation (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix PTT leak in qed_drain() (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix potential memory corruption (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix blocking/unlimited SPQ entries leak (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix memory/entry leak in qed_init_sp_request() (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - i40e: restore NETIF_F_GSO_IPXIP to netdev features (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - net: hns3: add error handler for hns3_nic_init_vector_data() (bsc#1104353 FATE#326415). - RDMA/core: Fix unwinding flow in case of error to register device (bsc#1046306 FATE#322942). - net: hns3: fix for multiple unmapping DMA problem (bsc#1104353 FATE#326415). - net: hns3: rename hns_nic_dma_unmap (bsc#1104353 FATE#326415). - net: hns3: add handling for big TX fragment (bsc#1104353 FATE#326415). - net: hns3: move DMA map into hns3_fill_desc (bsc#1104353 FATE#326415). - net: hns3: remove hns3_fill_desc_tso (bsc#1104353 FATE#326415). - net: hns3: Fix tqp array traversal condition for vf (bsc#1104353 FATE#326415). - net: hns3: Fix client initialize state issue when roce client initialize failed (bsc#1104353 FATE#326415). - net: hns3: Fix for loopback selftest failed problem (bsc#1104353 FATE#326415). - i40e: report correct statistics when XDP is enabled (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - qed: Avoid implicit enum conversion in qed_iwarp_parse_rx_pkt (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Avoid constant logical operation warning in qed_vf_pf_acquire (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix mask parameter in qed_vf_prep_tunn_req_tlv (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Avoid implicit enum conversion in qed_set_tunn_cls_info (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - net: hns3: Fix tc setup when netdev is first up (bsc#1104353 FATE#326415). - commit 6fffd51- iommu/amd: Fix IOMMU page flush when detach device from a domain (bsc#1106105). - iommu/vt-d: Fix memory leak in intel_iommu_put_resv_regions() (bsc#1106105). - iommu/amd: Unmap all mapped pages in error path of map_sg (bsc#1106105). - iommu/amd: Call free_iova_fast with pfn in map_sg (bsc#1106105). - commit 7ea2e24- Refresh patches.fixes/0001-usb-dwc3-gadget-Clear-req-needs_extra_trb-flag-on-cl.patch. - commit e7aa023- CIFS: make 'nodfs' mount opt a superblock flag (bsc#1051510). - commit 6ee531a- rpm/kernel-binary.spec.in: fix initrd permissions (bsc#1123697) dracut has been using permissions 0600 for the initrd for a long time. On SLE15 or higher, that leads to a permission mismatch reported by "rpm -V". Set the permissions correctly for our ghost file. - commit 9e5e2a5- mpt3sas: check sense buffer before copying sense data (bsc#1106811). - bsg: allocate sense buffer if requested (bsc#1106811). - commit b3f8d07- kABI workaround for deleted snd_hda_register_beep_device() (bsc#1122944). - commit 5af1bdb- ALSA: hda - Use standard device registration for beep (bsc#1122944). - commit 07f7acd- Don't log expected error on DFS referral request (bsc#1051510). - commit 3970eda- CIFS: don't log STATUS_NOT_FOUND errors for DFS (bsc#1051510). - commit 57b09a4- drm/i915: Add missing access_ok() checks (CVE-2018-20669, bsc#1122971). - commit 47941af- usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup (bsc#1120902). - commit 2792d36- USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB (bsc#1120902). - Refresh patches.drivers/usb-quirks-add-delay-quirks-for-Corsair-Strafe.patch. - commit 40b3ef4- Add delay-init quirk for Corsair K70 RGB keyboards (bsc#1087092). - Refresh patches.fixes/0001-usb-quirks-add-control-message-delay-for-1b1c-1b20.patch. - commit 7378825- USB: storage: add quirk for SMI SM3350 (bsc#1120902). - commit b3e7816- USB: storage: don't insert sane sense for SPC3+ when bad sense specified (bsc#1120902). - commit ab84067- usb: cdc-acm: send ZLP for Telit 3G Intel based modems (bsc#1120902). - commit 0e9fb7d- USB: serial: option: add Fibocom NL678 series (bsc#1120902). - USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays (bsc#1120902). - commit 1e65057- blacklist.conf: for unused driver - commit ee462c1- SUNRPC: Fix a potential race in xprt_connect() (git-fixes). - SUNRPC: Fix leak of krb5p encode pages (git-fixes). - NFSv4: Don't exit the state manager without clearing NFS4CLNT_MANAGER_RUNNING (git-fixes). - nfsd: COPY and CLONE operations require the saved filehandle to be set (git-fixes). - sunrpc: correct the computation for page_ptr when truncating (git-fixes). - lockd: fix access beyond unterminated strings in prints (git-fixes). - nfsd: Fix an Oops in free_session() (git-fixes). - xprtrdma: Reset credit grant properly after a disconnect (git-fixes). - sunrpc: safely reallow resvport min/max inversion (git-fixes). - nfs: Fix a missed page unlock after pg_doio() (git-fixes). - NFSv4.1: Fix the r/wsize checking (git-fixes). - commit 704ef82- ASoC: rt5514-spi: Fix potential NULL pointer dereference (bsc#1051510). - ASoC: dma-sh7760: cleanup a debug printk (bsc#1051510). - ipmi:ssif: Fix handling of multi-part return messages (bsc#1051510). - ALSA: bebob: fix model-id of unit for Apogee Ensemble (bsc#1051510). - ALSA: oxfw: add support for APOGEE duet FireWire (bsc#1051510). - commit 4c891b3- Put the xhci fix patch to the right place in the sorted section - commit f194c12- ibmvnic: Add ethtool private flag for driver-defined queue limits (bsc#1121726). - ibmvnic: Introduce driver limits for ring sizes (bsc#1121726). - ibmvnic: Increase maximum queue size limit (bsc#1121726). - commit 17984c3- crypto: user - support incremental algorithm dumps (bsc#1120902). - commit d81b50c- ibmveth: Do not process frames after calling napi_reschedule (bcs#1123357). - commit 31d5f72- blacklist.conf: kABI - commit c5e5a55- cifs: Do not modify mid entry after submitting I/O in cifs_call_async (bsc#1051510). - commit 7f7a7af- doc/README.SUSE: Correct description for building a kernel (bsc#1123348) The obsoleted make cloneconfig is corrected. Also the order of make scripts and make prepare are corrected as well. - commit 17a2073- ext4: Fix crash during online resizing (bsc#1122779). - commit bb96702- ptp_kvm: probe for kvm guest availability (bsc#1098382). - x86/pvclock: add setter for pvclock_pvti_cpu0_va (bsc#1098382). - x86/xen/time: set pvclock flags on xen_time_init() (bsc#1098382). - x86/xen/time: setup vcpu 0 time info page (bsc#1098382). - x86/xen/time: Output xen sched_clock time from 0 (bsc#1098382). - xen: Fix x86 sched_clock() interface for xen (bsc#1098382). - x86/kvmclock: set pvti_cpu0_va after enabling kvmclock (bsc#1098382). - Refresh patches.fixes/xen-zero-MSR_IA32_SPEC_CTRL-before-suspend.patch. - commit 33c8d3d- slab: alien caches must not be initialized if the allocation of the alien cache failed (git fixes (mm/slab)). - commit 9d720a9- blacklist.conf: MemAvailable accounting, needs bug to justify the change - commit 41d09bb- blacklist.conf: SLUB-specific and unsupported - commit dc3339e- writeback: don't decrement wb->refcnt if !wb->bdi (git fixes (writeback)). - commit e6c3442- blacklist.conf: Blacklist 1b3922a8bc74 (btrfs: Use real device structure to verify dev extent) Upstream commit 1b3922a8bc74 (btrfs: Use real device structure to verify dev extent) has wrong Fixes: tag. The correct Fixes: tag is 05a37c48604c ("btrfs: volumes: Make sure no dev extent is beyond device boundary") And that commit hasn't been backported yet. - commit 6c46ddf- rpm/release-projects: Add SUSE:Maintenance:* for MU kernels (bsc#1123317) - commit c784b79- blacklist.conf: added commit 6b5a49b46cf1 - commit 12c67f0- blacklist.conf: added commit 74827ee29565 ("ceph: quota: cleanup license mess") - commit 66a8b0e- watchdog: w83627hf_wdt: Add quirk for Inves system (bsc#1106434). - commit 7e1c7bd- qla2xxx: Fixup dual-protocol FCP connections (bsc#1108870). - commit 1ecab3e- nvme-multipath: round-robin I/O policy (bsc#1110705). - Refresh patches.kabi/nvme-kABI-fixes-for-nvme_ctrl.patch. - commit 0ec85da- blacklist.conf: add one more - commit a0279a1- packet: Do not leak dev refcounts on error exit (git-fixes). - commit 5cbfc79- net/hamradio/6pack: use mod_timer() to rearm timers (networking-stable-19_01_04). - ip: validate header length on virtual device xmit (networking-stable-19_01_04). - ptr_ring: wrap back ->producer in __ptr_ring_swap_queue() (networking-stable-19_01_04). - ibmveth: fix DMA unmap error in ibmveth_xmit_start error path (networking-stable-19_01_04). - netrom: fix locking in nr_find_socket() (networking-stable-19_01_04). - net/wan: fix a double free in x25_asy_open_tty() (networking-stable-19_01_04). - ax25: fix a use-after-free in ax25_fillin_cb() (networking-stable-19_01_04). - ieee802154: lowpan_header_create check must check daddr (networking-stable-19_01_04). - packet: validate address length if non-zero (networking-stable-19_01_04). - phonet: af_phonet: Fix Spectre v1 vulnerability (networking-stable-19_01_04). - net: core: Fix Spectre v1 vulnerability (networking-stable-19_01_04). - qmi_wwan: Add support for Fibocom NL678 series (networking-stable-19_01_04). - ipv6: tunnels: fix two use-after-free (networking-stable-19_01_04). - packet: validate address length (networking-stable-19_01_04). - tcp: fix a race in inet_diag_dump_icsk() (networking-stable-19_01_04). - gro_cell: add napi_disable in gro_cells_destroy (networking-stable-19_01_04). - net/mlx5e: Remove the false indication of software timestamping support (networking-stable-19_01_04). - net/mlx5: Typo fix in del_sw_hw_rule (networking-stable-19_01_04). - ipv6: explicitly initialize udp6_addr in udp_sock_create6() (networking-stable-19_01_04). - net/smc: fix TCP fallback socket release (networking-stable-19_01_04). - net: phy: Fix the issue that netif always links up after resuming (networking-stable-19_01_04). - net: macb: restart tx after tx used bit read (networking-stable-19_01_04). - VSOCK: Send reset control packet when socket is partially bound (networking-stable-19_01_04). - qmi_wwan: Added support for Telit LN940 series (networking-stable-19_01_04). - qmi_wwan: Added support for Fibocom NL668 series (networking-stable-19_01_04). - ip6mr: Fix potential Spectre v1 vulnerability (networking-stable-19_01_04). - tipc: compare remote and local protocols in tipc_udp_enable() (networking-stable-19_01_04). - tipc: fix a double kfree_skb() (networking-stable-19_01_04). - tipc: use lock_sock() in tipc_sk_reinit() (networking-stable-19_01_04). - vhost: make sure used idx is seen before log in vhost_add_used_n() (networking-stable-19_01_04). - ipv4: Fix potential Spectre v1 vulnerability (networking-stable-19_01_04). - sctp: initialize sin6_flowinfo for ipv6 addrs in sctp_inet6addr_event (networking-stable-19_01_04). - commit 7c76a1a- cifs: fix set info (bsc#1051510). - commit afad726- crypto: authencesn - Avoid twice completion call in decrypt path (bsc#1051510). - crypto: caam - fix zero-length buffer DMA mapping (bsc#1051510). - crypto: bcm - convert to use crypto_authenc_extractkeys() (bsc#1051510). - crypto: authenc - fix parsing key with misaligned rta_len (bsc#1051510). - can: gw: ensure DLC boundaries after CAN frame modification (bsc#1051510). - gpio: pl061: handle failed allocations (bsc#1051510). - i2c: dev: prevent adapter retries and timeout being set as minus value (bsc#1051510). - ACPI: power: Skip duplicate power resource references in _PRx (bsc#1051510). - isdn: fix kernel-infoleak in capi_unlocked_ioctl (bsc#1051510). - cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader (bsc#1051510). - lan78xx: Resolve issue with changing MAC address (bsc#1051510). - commit ad17c09- kABI: fix xhci kABI stability (bsc#1119086). - commit 0c7057e- USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd (bsc#1119086). - commit b411b00- tcp: lack of available data can also cause TSO defer (git-fixes). - commit faf00d7- rpm/kernel-*.spec.in: replace update srchash dependencies (FATE#325312). Due to some limitations version cannot be matched so move the hash into the provide name. - commit 219bcec- Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer (bsc#1120758 CVE-2019-3459 CVE-2019-3560). - commit cec7ea4- cifs: fix return value for cifs_listxattr (bsc#1051510). - commit 279e055- cifs: smb2ops: Fix listxattr() when there are no EAs (bsc#1051510). - commit 3f036ec- powerpc/xmon: Fix invocation inside lock region (bsc#1122885). - commit 8b07fd0- powerpc/tm: Limit TM code inside PPC_TRANSACTIONAL_MEM (bsc#1118338). - commit f332dea- net: stmmac: Fix PCI module removal leak (git-fixes). - bonding: update nest level on unlink (git-fixes). - ip: on queued skb use skb_header_pointer instead of pskb_may_pull (git-fixes). - commit 8026bcd- neighbour: Avoid writing before skb->head in neigh_hh_output() (networking-stable-18_12_12). - ipv6: Check available headroom in ip6_xmit() even without options (networking-stable-18_12_12). - ipv6: sr: properly initialize flowi6 prior passing to ip6_route_output (networking-stable-18_12_12). - ipv4: ipv6: netfilter: Adjust the frag mem limit when truesize changes (networking-stable-18_12_12). - tcp: fix NULL ref in tail loss probe (networking-stable-18_12_12). - tcp: Do not underestimate rwnd_limited (networking-stable-18_12_12). - rtnetlink: ndo_dflt_fdb_dump() only work for ARPHRD_ETHER devices (networking-stable-18_12_12). - net/mlx4_en: Change min MTU size to ETH_MIN_MTU (networking-stable-18_12_12). - sctp: kfree_rcu asoc (networking-stable-18_12_12). - kABI: protect struct sctp_association (kabi). - net: 8139cp: fix a BUG triggered by changing mtu with network traffic (networking-stable-18_12_12). - net: phy: don't allow __set_phy_supported to add unsupported modes (networking-stable-18_12_12). - tun: forbid iface creation with rtnl ops (networking-stable-18_12_12). - virtio-net: keep vnet header zeroed after processing XDP (networking-stable-18_12_12). - commit b6d547e- xhci: workaround CSS timeout on AMD SNPS 3.0 xHC (bsc#1119086). - commit b161fb8- usb: dwc3: trace: add missing break statement to make compiler happy (bsc#1120902). - commit aadb0d4- dm: call blk_queue_split() to impose device limits on bios (git-fixes). - commit 7c2b122- blacklist.conf: - remove 2 entries since now we have them, 744889b7cbb56a64f957e65ade7cb65fe3f35714 1adfc5e4136f5967d591c399aff95b3b035f16b7 - add 1 entry 2bcbd406715dca256912b9c5ae449c7968f15705 - commit b755e64- block/swim3: Fix -EBUSY error when re-opening device after unmount (git-fixes). - dm: do not allow readahead to limit IO size (git-fixes). - dm thin: send event about thin-pool state change _after_ making it (git-fixes). - dm zoned: Fix target BIO completion handling (git-fixes). - dm cache metadata: verify cache has blocks in blocks_are_clean_separate_dirty() (git-fixes). - block: fix 32 bit overflow in __blkdev_issue_discard() (git-fixes). - block: make sure writesame bio is aligned with logical block size (git-fixes). - block: cleanup __blkdev_issue_discard() (git-fixes). - block: make sure discard bio is aligned with logical block size (git-fixes). - block: don't deal with discard limit in blkdev_issue_discard() (git-fixes). - block: fix infinite loop if the device loses discard capability (git-fixes). - block: break discard submissions into the user defined size (git-fixes). - lib/rbtree-test: lower default params (git-fixes). - commit 4bd8818- btrfs: qgroup: Fix root item corruption when multiple same source snapshots are created with quota enabled (bsc#1122324). - commit 7c01025- bpf: fix sanitation of alu op with pointer / scalar type from different paths (bsc#1068032 CVE-2017-5753). - commit 194bcb8- Delete patches.suse/drm-i915-CFL-NVMe-breakage-workaround.patch (bsc#1122554) The PCI SSID matches with other machine(s?) on the market, and leads to the boot problem. Let's remove the hackish patch for now. - commit ca68b03- media: usb: pwc: Don't use coherent DMA buffers for ISO transfer (bsc#1054610). - commit 1624e00- acpi/nfit: Fix race accessing memdev in nfit_get_smbios_id() (bsc#1122662). - commit bbd5c28- cifs: Use ULL suffix for 64-bit constant (bsc#1051510). - commit d9c9062- omap2fb: Fix stack memory disclosure (bsc#1120902) - commit eef0a2f- drm/i915/gvt: Fix mmap range check (bsc#1120902) - commit fc802aa- drm/fb-helper: Partially bring back workaround for bugs of SDL 1.2 (bsc#1113722) - commit 16258cd- bpf: fix inner map masking to prevent oob under speculation (bsc#1068032 CVE-2017-5753). - commit a828d71- bpf: prevent out of bounds speculation on pointer arithmetic (bsc#1068032 CVE-2017-5753). - kabi: ignore struct bpf_insn_aux_data change (References: bsc#1068032 CVE-2017-5753). - kabi: ignore struct bpf_verifier_env change (References: bsc#1068032 CVE-2017-5753). - Refresh patches.kabi/bpf-prevent-memory-disambiguation-attack.patch. - Refresh patches.kabi/bpf-properly-enforce-index-mask-to-prevent-out-of-bo.patch. - bpf: fix check_map_access smin_value test when pointer contains offset (bsc#1068032 CVE-2017-5753). - bpf: restrict unknown scalars of mixed signed bounds for unprivileged (bsc#1068032 CVE-2017-5753). - bpf: restrict stack pointer arithmetic for unprivileged (bsc#1068032 CVE-2017-5753). - bpf: restrict map value pointer arithmetic for unprivileged (bsc#1068032 CVE-2017-5753). - bpf: move {prev_,}insn_idx into verifier env (bsc#1068032 CVE-2017-5753). - commit 2aa186c- Revert "ide: unexport DISK_EVENT_MEDIA_CHANGE for ide-gd and ide-cd" (bsc#1110946). - commit 9c1ee88- CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem (bsc#1051510). - commit 24b90ca- Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G (bsc#1051510). - Input: synaptics - enable SMBus for HP EliteBook 840 G4 (bsc#1051510). - Input: synaptics - enable RMI on ThinkPad T560 (bsc#1051510). - Input: omap-keypad - fix idle configuration to not block SoC idle states (bsc#1051510). - Input: restore EV_ABS ABS_RESERVED (bsc#1051510). - commit 7577e46- Update patch tag for upstreamed drm patch and move to sorted section Refresh patches.drm/drm-nouveau-Don-t-disable-polling-in-fallback-mode.patch - commit 1799aff- x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init() (bsc#1114279). - x86, modpost: Replace last remnants of RETPOLINE with CONFIG_RETPOLINE (bsc#1114279). - x86/resctrl: Fix rdt_find_domain() return value and checks (bsc#1114279). - x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant (bsc#1114279). - kvm: sev: Fail KVM_SEV_INIT if already initialized (bsc#1114279). - blacklist.conf: - Refresh patches.arch/x86-retpoline-make-config_retpoline-depend-on-compiler-support.patch. - commit 2fcd2a0- powerpc/powernv: Clear LPCR[PECE1] via stop-api only for deep state offline (bsc#1119766, bsc#1055121). - powerpc/powernv: Clear PECE1 in LPCR via stop-api only on Hotplug (bsc#1119766, bsc#1055121). - Refresh patches.arch/powerpc-powernv-Provide-a-way-to-force-a-core-into-S.patch. - commit 4ace38c- rapidio/rionet: do not free skb before reading its length (networking-stable-18_12_03). - usbnet: ipheth: fix potential recvmsg bug and recvmsg bug 2 (networking-stable-18_12_03). - net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue (networking-stable-18_12_03). - virtio-net: fail XDP set if guest csum is negotiated (networking-stable-18_12_03). - net: thunderx: set xdp_prog to NULL if bpf_prog_add fails (networking-stable-18_12_03). - net: skb_scrub_packet(): Scrub offload_fwd_mark (networking-stable-18_12_03). - commit 7ce5a63- powerpc/tm: Avoid machine crash on rt_sigreturn (bsc#1118338). - commit 1bde3cc- fanotify: fix handling of events on child sub-directory (bsc#1122019). - commit 3895cc7- iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE (bsc#1119086). - commit 00c2467- tty: Don't hold ldisc lock in tty_reopen() if ldisc present (bsc#1051510). - drivers/tty: add missing of_node_put() (bsc#1051510). - commit 571e131- blacklist.conf: actual code is unchanged - commit 483a7c7- blacklist.conf: the tag on the patch is wrong. We don't need it - commit f07e32a- libertas_tf: prevent underflow in process_cmdrequest() (bsc#1119086). - commit fbaf156- mm: migrate: Make buffer_migrate_page_norefs() actually succeed (bsc#1084216) - commit c5fc644- iwlwifi: fix non_shared_ant for 22000 devices (bsc#1119086). - commit 9544c6e- iwlwifi: mvm: don't send GEO_TX_POWER_LIMIT to old firmwares (bsc#1119086). - commit 29e9cde- drm/fb-helper: Ignore the value of fb_var_screeninfo.pixclock (bsc#1113722) - commit 3114d34- tools/lib/lockdep: Rename "trywlock" into "trywrlock" (bsc#1121973). - commit 9d51899- vfs: Avoid softlockups in drop_pagecache_sb() (bsc#1118505). - commit bb624be- PCI: Disable broken RTIT_BAR of Intel TH (bsc#1120318). - commit 18e649b- powerpc/fadump: Do not allow hot-remove memory from fadump reserved area (bsc#1120937, FATE#321840, FATE#325306). - powerpc/fadump: Throw proper error message on fadump registration failure (bsc#1120937, FATE#321840, FATE#325306). - powerpc/fadump: Reservationless firmware assisted dump (bsc#1120937, FATE#321840, FATE#325306). - commit dbab739- blacklist.conf: backlist 8363dae23463 ("compat_hdio_ioctl: Fix a declaration"). - commit 3a1ce1e- mm/khugepaged: collapse_shmem() do not crash on Compound (VM Functionality, bsc#1121599). - mm/khugepaged: collapse_shmem() without freezing new_page (VM Functionality, bsc#1121599). - mm/khugepaged: minor reorderings in collapse_shmem() (VM Functionality, bsc#1121599). - mm/khugepaged: collapse_shmem() remember to clear holes (VM Functionality, bsc#1121599). - mm/khugepaged: fix crashes due to misaccounted holes (VM Functionality, bsc#1121599). - mm/khugepaged: collapse_shmem() stop if punched or truncated (VM Functionality, bsc#1121599). - mm/huge_memory: fix lockdep complaint on 32-bit i_size_read() (VM Functionality, bsc#1121599). - mm/huge_memory: splitting set mapping+index before unfreeze (VM Functionality, bsc#1121599). - mm/huge_memory: rename freeze_page() to unmap_page() (VM Functionality, bsc#1121599). - commit 2b8ff43- shmem: introduce shmem_inode_acct_block (VM Functionality, bsc#1121599). - Refresh patches.fixes/userfaultfd-shmem-add-i_size-checks.patch. - commit a6911c5- shmem: shmem_charge: verify max_block is not exceeded before inode update (VM Functionality, bsc#1121599). - commit e10bb19- md: fix raid10 hang issue caused by barrier (git-fixes). - commit c42e195- Limit max FW API version for QCA9377 (bsc#1121714, bsc#1121715). - commit c32270b- powerpc/tm: Unset MSR[TS] if not recheckpointing (bsc#1118338). - powerpc/tm: Print scratch value (bsc#1118338). - powerpc/tm: Save MSR to PACA before RFID (bsc#1118338). - powerpc/tm: Set MSR[TS] just prior to recheckpoint (bsc#1118338, bsc#1120955). - commit c7abb9d- powerpc/tm: Reformat comments (bsc#1118338). - powerpc/tm: Print 64-bits MSR (bsc#1118338). - powerpc/tm: Remove msr_tm_active() (bsc#1118338). - powerpc/tm: Fix HTM documentation (bsc#1118338). - powerpc/tm: Fix HFSCR bit for no suspend case (bsc#1118338). - powerpc/tm: Remove struct thread_info param from tm_reclaim_thread() (bsc#1118338). - powerpc/tm: Update function prototype comment (bsc#1118338). - powerpc/tm: Fix endianness flip on trap (bsc#1118338). - powerpc: Remove facility loadups on transactional {fp, vec, vsx} unavailable (bsc#1118338). - powerpc: Always save/restore checkpointed regs during treclaim/trecheckpoint (bsc#1118338). - powerpc/tm: Don't check for WARN in TM Bad Thing handling (bsc#1118338). - powerpc/tm: P9 disable transactionally suspended sigcontexts (bsc#1118338). - powerpc: Remove redundant FP/Altivec giveup code (bsc#1118338). - powerpc/tm: Fix comment (bsc#1118338). - commit 593bb06- Refresh patches.suse/0003-modsign-log-module-name-in-the-event-of-an-error.patch. - Refresh patches.suse/0004-MODSIGN-checking-the-blacklisted-hash-before-loading.patch. Fix bisectability issue due to missing header that didn't get added until a later patch. - commit 2dc2721- ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225 (bsc#1051510). - ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225 (bsc#1051510). - ALSA: cs46xx: Potential NULL dereference in probe (bsc#1051510). - ALSA: hda/realtek - Support Dell headset mode for New AIO platform (bsc#1051510). - ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks (bsc#1051510). - ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit() (bsc#1051510). - commit 8b66166- xfs: fix quotacheck dquot id overflow infinite loop (bsc#1121621). - commit 1d9d06d- mm: only report isolation failures when offlining memory (generic hotplug debugability). - commit 62a5c72- scsi: zfcp: fix posting too many status read buffers leading to adapter shutdown (bsc#1121483, LTC#174588). - commit b8f1228- dasd: fix deadlock in dasd_times_out (bsc#1121477, LTC#174111). - s390/dasd: simplify locking in dasd_times_out (bsc#1104967,FATE#325924). - commit 7519d69- s390/qeth: fix length check in SNMP processing (bsc#1117953, LTC#173657). - s390/qeth: sanitize strings in debug messages (bsc#1117953, LTC#172960). - s390/kdump: Make elfcorehdr size calculation ABI compliant (bsc#1117953, LTC#171112). - s390/kdump: Fix elfcorehdr size calculation (bsc#1117953, LTC#171112). - s390/qeth: remove outdated portname debug msg (bsc#1117953, LTC#172960). - commit f50b84f- Input: add official Raspberry Pi's touchscreen driver (FATE#326921). - Update config files. - supported.conf: add raspberrypi-ts driver - commit 1d3c066- soc: bcm2835: sync firmware properties with downstream (FATE#326921) - Refresh patches.drivers/ARM-bcm2835-Add-GET_THROTTLED-firmware-property.patch - commit f7dfb08- Rename the confusing patch file name Rename a confusing patch file name that actually reverts another. The git-format-patch made that name just because the patch subject is also confusing... - commit b8afddc- mm: don't warn about large allocations for slab (git fixes (slab)). - commit b7eb365- mm: hugetlb: yield when prepping struct pages (git fixes (memory initialisation)). - commit 97e4389- blacklist.conf: Problem affects SLUB which is not enabled in kconfig - commit 523e7a9- blacklist.conf: Problem affects debugging builds only and is harmless - commit a295926- blacklist.conf: Affected code is already reverted - commit 0e0559c- blacklist.conf: Build warning applies to unsupported config - commit b41802e- mm/huge_memory.c: reorder operations in __split_huge_page_tail() (VM Functionality bsc#1119962). - commit 20600f0- ceph: don't update importing cap's mseq when handing cap export (bsc#1121273). - commit 1af5ec3- btrfs: run delayed items before dropping the snapshot (bsc#1121263, bsc#1111188). - commit 9312091- kdb: use memmove instead of overlapping memcpy (bsc#1120954). - commit 3338727- KVM: X86: Fix scan ioapic use-before-initialization (CVE-2018-19407 bsc#1116841). - commit 16f4823- nvme-multipath: zero out ANA log buffer (bsc#1105168). - commit 9b02bfb- nvme: validate controller state before rescheduling keep alive (bsc#1103257). - commit 0fad491- iommu/amd: Fix amd_iommu=force_isolation (bsc#1106105). - iommu/vt-d: Handle domain agaw being less than iommu agaw (bsc#1106105). - Revert "iommu/io-pgtable-arm: Check for v7s-incapable systems" (bsc#1106105). - commit 15b88ce- Housekeeping: move upstreamed patches into sorted section Also, a kABI fix patch moved to patches.kabi. - commit a40818b- Update upstreamed patch tags and move to sorted section - commit e9f612e- usb: dwc2: host: use hrtimer for NAK retries (git-fixes). - commit 3d9a7b6- x86/PCI: Apply VMD's AERSID fixup generically (bsc#1120058). - x86/PCI: Add additional VMD device root ports to VMD AER quirk (bsc#1120058). - x86/PCI: Enable AMD 64-bit window on resume (bsc#1120058). - x86/PCI: Move and shrink AMD 64-bit window to avoid conflict (bsc#1120058). - x86/PCI: Add "pci=big_root_window" option for AMD 64-bit windows (bsc#1120058). - x86/PCI: Only enable a 64bit BAR on single-socket AMD Family 15h (bsc#1120058). - x86/PCI: Fix infinite loop in search for 64bit BAR placement (bsc#1120058). - x86/PCI: Enable a 64bit BAR on AMD Family 15h (Models 00-1f, 30-3f, 60-7f) (bsc#1120058). - x86/PCI: Use is_vmd() rather than relying on the domain number (bsc#1120058). - commit c7775ac- x86/PCI: Avoid AMD SB7xx EHCI USB wakeup defect (bsc#1120058). - commit a7f3eeb- PCI: Delay after FLR of Intel DC P3700 NVMe (bsc#1120058). - PCI: Disable Samsung SM961/PM961 NVMe before FLR (bsc#1120058). - PCI: Export pcie_has_flr() (bsc#1120058). - commit d3fce7d- PCI: iproc: Activate PAXC bridge quirk for more devices (bsc#1120058). - PCI: Convert device-specific ACS quirks from NULL termination to ARRAY_SIZE (bsc#1120058). - PCI: Mark fall-through switch cases before enabling - Wimplicit-fallthrough (bsc#1120058). - commit cc31f9e- PCI: Add ACS quirk for Ampere root ports (bsc#1120058). - PCI: Mark Ceton InfiniTV4 INTx masking as broken (bsc#1120058). - PCI: Add ACS quirk for APM X-Gene devices (bsc#1120058). - x86/PCI: Move VMD quirk to x86 fixups (bsc#1120058). - PCI: Mark Intel XXV710 NIC INTx masking as broken (bsc#1120058). - commit 42a6a1d- ALSA: hda/tegra: clear pending irq handlers (bsc#1051510). - ALSA: hda/realtek: Enable the headset mic auto detection for ASUS laptops (bsc#1051510). - ALSA: hda/realtek: Enable audio jacks of ASUS UX391UA with ALC294 (bsc#1051510). - ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities (bsc#1051510). - ALSA: rme9652: Fix potential Spectre v1 vulnerability (bsc#1051510). - ALSA: hda: add mute LED support for HP EliteBook 840 G4 (bsc#1051510). - ALSA: hda: fix front speakers on Huawei MBXP (bsc#1051510). - ALSA: pcm: Fix potential Spectre v1 vulnerability (bsc#1051510). - ALSA: emux: Fix potential Spectre v1 vulnerabilities (bsc#1051510). - commit 0656a1b- char_dev: Fix off-by-one bugs in find_dynamic_major() (bsc#1121058). - char_dev: extend dynamic allocation of majors into a higher range (bsc#1121058). - commit 16e7b70- vhost/vsock: fix use-after-free in network stack callers (bsc#1106615 CVE-2018-14625). - commit 1c7e3c2- sched/fair: Fix infinite loop in update_blocked_averages() by reverting a9e7f6544b9c (Git fixes (scheduler)). - commit bc3a0c1- xen/netfront: tolerate frags with no data (bnc#1119804). - commit a96373a- Fix the breakage of KMP build on x86_64 (bsc#1121017) The backport of the commit 4cd24de3a098 broke KMP builds because of the failure of make kernelrelease call in spec file. Clear the blacklist and backport the fix from the upstream. - commit 83c2f81- splice: don't read more than available pipe space (bsc#1119212). - commit 81f665a- blacklist.conf: Minor vmstat issue but potentially breaks vmstat parsers if removed - commit da9734f- mm: shmem.c: Correctly annotate new inodes for lockdep (Git fixes: shmem). - commit d6cabaf- Btrfs: fix fsync of files with multiple hard links in new directories (1120173). - commit 7eeaea9- xfs: xfs_buf: drop useless LIST_HEAD (git-fixes). - commit 8704d41- Update patch reference for a usb hso fix (CVE-2018-19985, bsc#1120743). - commit 91f72a0- blacklist.conf: Append 'drm/i915/gen9+: Fix initial readout for Y tiled framebuffers' - commit 8b49aea- blacklist.conf: Append 'drm/i915: Handle incomplete Z_FINISH for compressed error states' - commit 60f6775- drm: rcar-du: Fix external clock error checks (bsc#1113722) - commit 3da9c2e- drm: rcar-du: Fix vblank initialization (bsc#1113722) - commit d3ae83f- drm/vc4: ->x_scaling[1] should never be set to VC4_SCALING_NONE (bsc#1113722) - commit b56b9d7- drm/vc4: Set ->is_yuv to false when num_planes == 1 (bsc#1113722) - commit 560bb22- drm/rockchip: psr: do not dereference encoder before it is null (bsc#1113722) - commit edf3d3a- drm/ioctl: Fix Spectre v1 vulnerabilities (bsc#1113722) - commit 299de51- drm/nouveau/kms: Fix memory leak in nv50_mstm_del() (bsc#1113722) - commit 869702a- drm/amdgpu: update SMC firmware image for polaris10 variants (bsc#1113722) - commit d9a7aaf- btrfs: Fix error handling in btrfs_cleanup_ordered_extents (git-fixes). - btrfs: Always try all copies when reading extent buffers (git-fixes). - btrfs: Fix memory barriers usage with device stats counters (git-fixes). - commit f618435- drm/i915/execlists: Apply a full mb before execution for Braswell (bsc#1113722) - commit 4b50b29- drm/amdgpu/gmc8: update MC firmware for polaris (bsc#1113722) - commit 8a55dfd- Correct patch-mainline tags - commit db08aa7- drm/amdgpu: update mc firmware image for polaris12 variants (bsc#1113722) - commit 343b80f- drm: set is_master to 0 upon drm_new_set_master() failure (bsc#1113722) - commit 5d50e19- fbdev: fbcon: Fix unregister crash when more than one framebuffer (bsc#1113722) - commit af14719- fbdev: fbmem: behave better with small rotated displays and many CPUs (bsc#1113722) - commit c3cb61a- Btrfs: fix error handling in btrfs_truncate() (bsc#1111469). - commit ffc620c- Update & sort upstremed patches - commit 48660df- Correct patch-mainline tag from v4.21 to v5.0 - commit d218f41- btrfs: tree-checker: Don't check max block group size as current max chunk size limit is unreliable (fixes for bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875). - commit 6ea44d8- btrfs: qgroup: Dirty all qgroups before rescan (bsc#1120036). - commit e71dd19- Btrfs: reserve space for O_TMPFILE orphan item deletion (bsc#1111469). - commit db60351- Btrfs: renumber BTRFS_INODE_ runtime flags and switch to enums (bsc#1111469). - commit 98606ab- Btrfs: get rid of unused orphan infrastructure (bsc#1111469). - commit 2ea39bd- Btrfs: stop creating orphan items for truncate (bsc#1111469). - commit b89578f- patches.fixes/ubifs-Handle-re-linking-of-inodes-correctly-while-re.patch: Fixup compilation failure due to different ubifs_assert() prototype. - commit bf2faff- Btrfs: fix ENOSPC caused by orphan items reservations (bsc#1111469). - commit 6041c7b- Btrfs: refactor btrfs_evict_inode() reserve refill dance (bsc#1111469). - commit 09ea38c- Btrfs: don't return ino to ino cache if inode item removal fails (bsc#1111469). - commit 2823ef8- Btrfs: delete dead code in btrfs_orphan_commit_root() (bsc#1111469). - commit 3280514- Btrfs: get rid of BTRFS_INODE_HAS_ORPHAN_ITEM (bsc#1111469). - commit 0374fb2- Btrfs: fix use-after-free on root->orphan_block_rsv (bsc#1111469). - commit d45eb09- Btrfs: don't BUG_ON() in btrfs_truncate_inode_items() (bsc#1111469). - Btrfs: update stale comments referencing vmtruncate() (bsc#1111469). - commit 0f0d10f- Btrfs: fix error handling in btrfs_truncate_inode_items() (bsc#1111469). - commit ac4ef70- btrfs: move btrfs_truncate_block out of trans handle (bsc#1111469). - commit 91a1ca2- Btrfs: delete dead code in btrfs_orphan_add() (bsc#1111469). - commit c2b7c23- Btrfs: do not check inode's runtime flags under root->orphan_lock (bsc#1111469). - commit 5a9867d- blacklist.conf: add a pair of gfs2 commits; we don't support it read-write - commit 0f2617c- xfs: Align compat attrlist_by_handle with native implementation (git-fixes). - commit 6359899- xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat (git-fixes). - commit 836b5b8- fs/xfs: Use %pS printk format for direct addresses (git-fixes). - commit 3897315- arm64: dma-mapping: Fix FORCE_CONTIGUOUS buffer clearing (bsc#1120633). - arm64: Fix /proc/iomem for reserved but not memory regions (bsc#1120632). - commit 36d66c2- blkdev: avoid migration stalls for blkdev pages (bsc#1084216). - commit 32da7b4- mm: migrate: provide buffer_migrate_page_norefs() (bsc#1084216). - commit f94c281- mm: migrate: lock buffers before migrate_page_move_mapping() (bsc#1084216). - commit a63c547- mm: migration: factor out code to compute expected number of page references (bsc#1084216). - commit 2baf0a5- config: arm64: enable erratum 1024718 - commit 63f186f- arm64/numa: Unify common error path in numa_init() (bsc#1120621). - arm64/numa: Report correct memblock range for the dummy node (bsc#1120620). - arm64: lse: remove -fcall-used-x0 flag (bsc#1120618). - arm64: mm: always enable CONFIG_HOLES_IN_ZONE (bsc#1120617). - arm64: remove no-op -p linker flag (bsc#1120616). - arm64: cpu_errata: include required headers (bsc#1120615). - arm64: lse: Add early clobbers to some input/output asm operands (bsc#1120614). - arm64: Add work around for Arm Cortex-A55 Erratum 1024718 (bsc#1120612). - arm64: atomics: Remove '&' from '+&' asm constraint in lse atomics (bsc#1120613). - cpufreq: CPPC: fix build in absence of v3 support (bsc#1117115). - commit 78882ed- blacklist.conf: Blacklist 368686a95e55 - commit 1cfcaa5- x86/mm: Fix decoy address handling vs 32-bit builds (bsc#1120606). - commit 195b599- ext4: fix EXT4_IOC_GROUP_ADD ioctl (bsc#1120604). - commit e61d54c- ext4: missing unlock/put_page() in ext4_try_to_write_inline_data() (bsc#1120603). - commit 0cfc4f4- ext4: fix possible use after free in ext4_quota_enable (bsc#1120602). - commit 3e1f5da- blacklist.conf: Blacklist fb265c9cb49e - commit d6b792f- gfs2: Fix loop in gfs2_rbm_find (bsc#1120601). - commit bd84a55- gfs2: Get rid of potential double-freeing in gfs2_create_inode (bsc#1120600). - commit 43bc90e- ubifs: Handle re-linking of inodes correctly while recovery (bsc#1120598). - commit a545e2b- aio: fix spectre gadget in lookup_ioctx (bsc#1120594). - commit d60e318- Input: nomadik-ske-keypad - fix a loop timeout test (bsc#1051510). - rtc: m41t80: Correct alarm month range with RTC reads (bsc#1051510). - power: supply: olpc_battery: correct the temperature units (bsc#1051510). - iwlwifi: add new cards for 9560, 9462, 9461 and killer series (bsc#1051510). - iwlwifi: pcie: don't reset TXQ write pointer (bsc#1051510). - platform-msi: Free descriptors in platform_msi_domain_free() (bsc#1051510). - device property: fix fwnode_graph_get_next_endpoint() documentation (bsc#1051510). - spi: bcm2835: Unbreak the build of esoteric configs (bsc#1051510). - USB: serial: option: add Telit LN940 series (bsc#1051510). - USB: serial: option: add Fibocom NL668 series (bsc#1051510). - USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode) (bsc#1051510). - USB: serial: option: add GosunCn ZTE WeLink ME3630 (bsc#1051510). - USB: serial: option: add HP lt4132 (bsc#1051510). - xhci: Don't prevent USB2 bus suspend in state check intended for USB3 only (bsc#1051510). - mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl (bsc#1051510). - mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support (bsc#1051510). - mmc: core: Reset HPI enabled state during re-init and in case of errors (bsc#1051510). - mmc: omap_hsmmc: fix DMA API warning (bsc#1051510). - USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data (bsc#1051510). - USB: omap_udc: fix USB gadget functionality on Palm Tungsten E (bsc#1051510). - USB: omap_udc: fix omap_udc_start() on 15xx machines (bsc#1051510). - USB: omap_udc: fix crashes on probe error and module removal (bsc#1051510). - USB: omap_udc: use devm_request_irq() (bsc#1051510). - rtc: pcf2127: fix a kmemleak caused in pcf2127_i2c_gather_write (bsc#1051510). - cdrom: don't attempt to fiddle with cdo->capability (bsc#1051510). - rtc: snvs: Add timeouts to avoid kernel lockups (bsc#1051510). - device property: Define type of PROPERTY_ENRTY_*() macros (bsc#1051510). - commit 9d680ce- target: se_dev_attrib.emulate_pr ABI stability (bsc#1091405). - scsi: target: drop unused pi_prot_format attribute storage (bsc#1091405). - scsi: target: add emulate_pr backstore attr to toggle PR support (bsc#1091405). - target/iscsi: avoid NULL dereference in CHAP auth error path (bsc#1117165). - commit 0239433- cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC (bsc#1117115). - ACPI / CPPC: Check for valid PCC subspace only if PCC is used (bsc#1117115). - ACPI / CPPC: Update all pr_(debug/err) messages to log the susbspace id (bsc#1117115). - commit 366d7ad- staging: wilc1000: fix missing read_write setting when reading data (bsc#1051510). - mmc: bcm2835: reset host on timeout (bsc#1051510). - wireless: airo: potential buffer overflow in sprintf() (bsc#1051510). - rtl8xxxu: Fix missing break in switch (bsc#1051510). - wlcore: Fix the return value in case of error in 'wlcore_vendor_cmd_smart_config_start()' (bsc#1051510). - spi: bcm2835: Fix race on DMA termination (bsc#1051510). - spi: bcm2835: Fix book-keeping of DMA termination (bsc#1051510). - spi: bcm2835: Avoid finishing transfer prematurely in IRQ mode (bsc#1051510). - libata: whitelist all SAMSUNG MZ7KM* solid-state disks (bsc#1051510). - media: omap3isp: Unregister media device as first (bsc#1051510). - media: em28xx: make v4l2-compliance happier by starting sequence on zero (bsc#1051510). - media: em28xx: Fix use-after-free when disconnecting (bsc#1051510). - commit 0d2a4b5- intel_th: msu: Fix an off-by-one in attribute store (bsc#1051510). - gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB (bsc#1051510). - crypto: bcm - fix normal/non key hash algorithm failure (bsc#1051510). - can: flexcan: flexcan_irq(): fix indention (bsc#1051510). - gpio: mvebu: only fail on missing clk if pwm is actually to be used (bsc#1051510). - gpio: max7301: fix driver for use with CONFIG_VMAP_STACK (bsc#1051510). - gpiolib-acpi: Only defer request_irq for GpioInt ACPI event handlers (bsc#1051510). - i2c: scmi: Fix probe error on devices with an empty SMB0001 ACPI device node (bsc#1051510). - i2c: axxia: properly handle master timeout (bsc#1051510). - Input: omap-keypad - fix keyboard debounce configuration (bsc#1051510). - Input: synaptics - enable SMBus for HP 15-ay000 (bsc#1051510). - commit 2171735- staging: bcm2835-camera: Abort probe if there is no camera (bsc#1051510). - ath6kl: Only use match sets when firmware supports it (bsc#1051510). - b43: Fix error in cordic routine (bsc#1051510). - ath10k: don't assume this is a PCI dev in generic code (bsc#1051510). - commit 5e336ca- ASoC: Intel: mrfld: fix uninitialized variable access (bsc#1051510). - ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Gnawty (bsc#1051510). - ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Clapper (bsc#1051510). - ALSA: fireface: fix for state to fetch PCM frames (bsc#1051510). - ALSA: firewire-lib: use the same print format for 'without_header' tracepoints (bsc#1051510). - ALSA: firewire-lib: fix wrong assignment for 'out_packet_without_header' tracepoint (bsc#1051510). - ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet (bsc#1051510). - ALSA: hda/ca0132 - make pci_iounmap() call conditional (bsc#1051510). - ALSA: x86: Fix runtime PM for hdmi-lpe-audio (bsc#1051510). - ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE (bsc#1051510). - ASoC: omap-mcpdm: Add pm_qos handling to avoid under/overruns with CPU_IDLE (bsc#1051510). - ASoC: omap-mcbsp: Fix latency value calculation for pm_qos (bsc#1051510). - ASoC: dapm: Recalculate audio map forcely when card instantiated (bsc#1051510). - ASoC: omap-abe-twl6040: Fix missing audio card caused by deferred probing (bsc#1051510). - ASoC: wm_adsp: Fix dma-unsafe read of scratch registers (bsc#1051510). - ASoC: rsnd: fixup clock start checker (bsc#1051510). - commit d45ceab- powerpc/powernv: Fix save/restore of SPRG3 on entry/exit from stop (idle) (bsc#1055121). - commit fe3e770- kabi fix for sunrpc-use-after-free-in-svc_process_common.patch (bsc#1119946 CVE-2018-16884). - sunrpc: use-after-free in svc_process_common() (bsc#1119946 CVE-2018-16884). - sunrpc: use SVC_NET() in svcauth_gss_* functions (bsc#1119946 CVE-2018-16884). - commit 5834865- ibmvnic: Fix non-atomic memory allocation in IRQ context (FATE#326521). - ibmvnic: Convert reset work item mutex to spin lock (FATE#326521). - commit ef920be- scripts/git-pre-commit: make executable. - commit b879431- bpf: fix check of allowed specifiers in bpf_trace_printk (bsc#1083647). - commit 3c5ea31- powerpc/pkeys: Fix handling of pkey state across fork() (FATE#322447, bsc#1078248, git-fixes). - powerpc/64s/radix: Fix process table entry cache invalidation (bsc#1055186, fate#323286, git-fixes). - Refresh patches.arch/05-arch-mm-allow-arch_dup_mmap-to-fail.patch. - commit e8de755- x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR (bsc#1106913). - x86/bugs: Switch the selection of mitigation from CPU vendor to CPU features (bsc#1106913). - blacklist.conf: - Refresh patches.arch/x86-speculation-prepare-for-per-task-indirect-branch-speculation-control.patch. - commit 274ffb2- x86/kabi: Fix cpu_tlbstate issue (bsc#1106913). - commit 22a85b9- x86/speculation: Provide IBPB always command line options (bsc#1106913). - commit 454668f- x86/speculation: Add seccomp Spectre v2 user space protection mode (bsc#1106913). - commit 4569ae5- x86/speculation: Enable prctl mode for spectre_v2_user (bsc#1106913). - commit 85a36e0- x86/speculation: Add prctl() control for indirect branch speculation (bsc#1106913). - commit bfed86f- x86/speculation: Prepare arch_smt_update() for PRCTL mode (bsc#1106913). - commit 8b2b603- x86/speculation: Prevent stale SPEC_CTRL msr content (bsc#1106913). - commit f0e109e- x86/speculation: Split out TIF update (bsc#1106913). - commit 7fbe02c- ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS (bsc#1106913). - commit c169bf3- x86/speculation: Prepare for conditional IBPB in switch_mm() (bsc#1106913). - commit 87f418f- x86/speculation: Avoid __switch_to_xtra() calls (bsc#1106913). - commit 8c217e5- x86/process: Consolidate and simplify switch_to_xtra() code (bsc#1106913). - commit 6aeb224- x86/speculation: Prepare for per task indirect branch speculation control (bsc#1106913). - commit 4fbb7ac- x86/speculation: Add command line control for indirect branch speculation (bsc#1106913). - Refresh patches.suse/0001-x86-speculation-Add-basic-IBRS-support-infrastructur.patch. - commit 3d8c402- x86/speculation: Unify conditional spectre v2 print functions (bsc#1106913). - commit a45c3e8- x86/speculataion: Mark command line parser data __initdata (bsc#1106913). - commit ff50ca5- x86/speculation: Mark string arrays const correctly (bsc#1106913). - Refresh patches.suse/0001-x86-speculation-Add-basic-IBRS-support-infrastructur.patch. - commit 37a1ec5- x86/speculation: Reorder the spec_v2 code (bsc#1106913). - Refresh patches.suse/0001-x86-speculation-Add-basic-IBRS-support-infrastructur.patch. - commit dd2aa4a- x86/l1tf: Show actual SMT state (bsc#1106913). - commit f2c3675- x86/speculation: Rework SMT state change (bsc#1106913). - commit fb0cab3- sched/smt: Expose sched_smt_present static key (bsc#1106913). - commit 09b97a1- sched/smt: Make sched_smt_present track topology (bsc#1106913). - commit 1abdd34- x86/speculation: Reorganize speculation control MSRs update (bsc#1106913). - commit 7366d5a- x86/speculation: Rename SSBD update functions (bsc#1106913). - commit f4cf7f8- x86/speculation: Disable STIBP when enhanced IBRS is in use (bsc#1106913). - commit dd2f7d6- x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common() (bsc#1106913). - commit a5e5561- x86/speculation: Remove unnecessary ret variable in cpu_show_common() (bsc#1106913). - commit cd83897- x86/speculation: Clean up spectre_v2_parse_cmdline() (bsc#1106913). - commit 26ab139- x86/speculation: Update the TIF_SSBD comment (bsc#1106913). - commit a59356b- x86/retpoline: Remove minimal retpoline support (bsc#1106913). - Refresh patches.suse/0001-x86-speculation-Add-basic-IBRS-support-infrastructur.patch. - commit 37af788- x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support (bsc#1106913). - commit 7fb52c2- x86/speculation: Propagate information about RSB filling mitigation to sysfs (bsc#1106913). - commit cfc6ecb- x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation (bsc#1106913). - commit 560a01f- x86/speculation: Apply IBPB more strictly to avoid cross-process data leak (bsc#1106913). - commit b48428f- x86/bugs: Add AMD's SPEC_CTRL MSR usage (bsc#1106913). - commit 6019324- sched/core: Fix cpu.max vs. cpuhotplug deadlock (bsc#1106913). - commit 973faf3- locking/static_keys: Improve uninitialized key warning (bsc#1106913). - commit 854a799- jump_label: Split out code under the hotplug lock (bsc#1106913). - commit e23515a- blacklist.conf: ftrace: memory leak in pretty advanced scenario - commit 109722b- blacklist.conf: ftrace: should not normally happen; not worth it - commit 2da5b26- blacklist.conf: graph_trace; possible miscalculation with non-default options; non-trivial; ignore until people complains - commit b689bcc- blacklist.conf: bpf: only prevents WARN() when using wrong format in bpf_trace_printk() - commit 0853f31- ring-buffer: Allow for rescheduling when removing pages (bsc#1120238). - commit 0335a28- blacklist.conf: tracing: old and not serious bug - commit 9ddd9ba- blacklist.conf: tracing/kprobes: old bug; hard to trigger; rather just annoying - commit 3ff091f- blacklist.conf: tracing: just a small annoyance when switching buffer snapshot - commit ec9dc6f- tracing: Fix possible double free in event_enable_trigger_func() (bsc#1120235). - commit d21d238- tracing: Fix double free of event_trigger_data (bsc#1120234). - commit cebb208- tracing: Fix missing return symbol in function_graph output (bsc#1120232). - commit 9988fec- tracing: Fix crash when freeing instances with event triggers (bsc#1120230). - commit 4e6ced7- sched, tracing: Fix trace_sched_pi_setprio() for deboosting (bsc#1120228). - commit c29a2ac- tracing: Fix regex_match_front() to not over compare the test string (bsc#1120223). - commit 2b5bf5f- tracing: Fix bad use of igrab in trace_uprobe.c (bsc#1120046). - commit 270ef83- blacklist.conf: tracing: incomplete filtering events; new feature - commit 6153583- blacklist.conf: tracing: dependency fix found by randconfig; prevents a huge build - commit bd08e07- tracing: Fix possible double free on failure of allocating trace buffer (bsc#1120214). - commit 579bdb1- Fix a typo in the previous USB fix It caused a build error on Leap kernel with OTG config enabled. Refresh: patches.kabi/0001-USB-check-usb_get_extra_descriptor-for-proper-size-F.patch - commit 0947a02- tracing: Fix crash when it fails to alloc ring buffer (bsc#1120097). - commit 96c92ef- ring-buffer: Do no reuse reader page if still in use (bsc#1120096). - commit 1b0ce63- blacklist.conf: ring_buffer: just an optimization - commit 03fef22- ring-buffer: Mask out the info bits when returning buffer page length (bsc#1120094). - commit f77f6e1- blacklist.conf: tracing: just a memory optimization - commit 563bc21- tracing: Remove RCU work arounds from stack tracer (bsc#1120092). - commit 5189425- extable: Enable RCU if it is not watching in kernel_text_address() (bsc#1120092). - commit bdbc690- ibmvscsi: Fix empty event pool access during host removal (bsc#1119019). - commit f101e38- extable: Consolidate *kernel_text_address() functions (bsc#1120092). - commit ed3b605- rcu: Allow for page faults in NMI handlers (bsc#1120092). - Refresh patches.suse/rcu-Use-lockdep-to-assert-IRQs-are-disabled-enabled.patch. - commit 27a7cf8- tracing: Fix trace_pipe behavior for instance traces (bsc#1120088). - commit e723e1c- dax: Don't access a freed inode (bsc#1120055). - commit ecd8623- dax: Check page->mapping isn't NULL (bsc#1120054). - commit 337d19b- kernfs: Replace strncpy with memcpy (bsc#1120053). - commit 2df0d28- smb3: on kerberos mount if server doesn't specify auth type use krb5 (bsc#1051510). - commit ddb7363- smb3: do not attempt cifs operation in smb3 query info error path (bsc#1051510). - commit 2186c48- smb3: allow stats which track session and share reconnects to be reset (bsc#1051510). - commit f64d315- CIFS: fix wrapping bugs in num_entries() (bsc#1051510). - commit 11891e6- cifs: prevent integer overflow in nxt_dir_entry() (bsc#1051510). - commit 96ceeea- smb3: check for and properly advertise directory lease support (bsc#1051510). - commit 4b461a1- fs/cifs: require sha512 (bsc#1051510). - commit 8cb120b- smb3: simplify code by removing CONFIG_CIFS_SMB311 (bsc#1051510). - Refresh patches.fixes/cifs-add-missing-support-for-ACLs-in-SMB-3.11.patch. - commit 2b7565c- mm: sections are not offlined during memory hotremove (bnc#1119968). - commit 3bf1a33- Revert "USB: check usb_get_extra_descriptor for proper size" (bsc#1119714 CVE-2018-20169). - commit 2b5ce60- kabi protect hnae_ae_ops (bsc#1104353 FATE#326415). - commit 673e002- net/mlx4_core: Correctly set PFC param if global pause is turned off (bsc#1046299 FATE#322947). - RDMA/hns: Bugfix pbl configuration for rereg mr (bsc#1104427 FATE#326416). - RDMA/bnxt_re: Avoid accessing the device structure after it is freed (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Fix system hang when registration with L2 driver fails (bsc#1086283 FATE#324874). - net: ena: update driver version from 2.0.1 to 2.0.2 (bsc#1111696 bsc#1117561). - net: ena: fix crash during ena_remove() (bsc#1111696 bsc#1117561). - net: hns3: Fix for out-of-bounds access when setting pfc back pressure (bsc#1104353 FATE#326415). - net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset() (bsc#1104353 FATE#326415). - net: hns3: bugfix for handling mailbox while the command queue reinitialized (bsc#1104353 FATE#326415). - net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read (bsc#1104353 FATE#326415). - net: hns3: bugfix for is_valid_csq_clean_head() (bsc#1104353 FATE#326415). - net: hns3: remove unnecessary queue reset in the hns3_uninit_all_ring() (bsc#1104353 FATE#326415). - net: hns3: bugfix for the initialization of command queue's spin lock (bsc#1104353 FATE#326415). - net: hns3: bugfix for reporting unknown vector0 interrupt repeatly problem (bsc#1104353 FATE#326415). - net: hns3: bugfix for buffer not free problem during resetting (bsc#1104353 FATE#326415). - RDMA/bnxt_re: Avoid NULL check after accessing the pointer (bsc#1086283 FATE#324874). - RDMA/bnxt_re: Add missing spin lock initialization (bsc#1050244 FATE#322915). - IB/hfi1: Add mtu check for operational data VLs (bsc#1060463 FATE#323043). - qed: Add support for virtual link (bsc#1111795). - net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware (bsc#1104353 FATE#326415). - qede: Add driver support for 20G link speed (bsc#1110558). - qed: Add driver support for 20G link speed (bsc#1110558). - net: hns3: Fix loss of coal configuration while doing reset (bsc#1104353 FATE#326415). - net: hns3: Fix for netdev not up problem when setting mtu (bsc#1104353 FATE#326415). - net: hns3: Fix for packet buffer setting bug (bsc#1104353 FATE#326415). - net: hns3: Add nic state check before calling netif_tx_wake_queue (bsc#1104353 FATE#326415). - net: hns3: Fix ets validate issue (bsc#1104353 FATE#326415). - net: hns3: Fix parameter type for q_id in hclge_tm_q_to_qs_map_cfg() (bsc#1104353 FATE#326415). - net: hns3: Clear client pointer when initialize client failed or unintialize finished (bsc#1104353 FATE#326415). - net: hns3: Fix cmdq registers initialization issue for vf (bsc#1104353 FATE#326415). - net: hns3: Fix for setting speed for phy failed problem (bsc#1104353 FATE#326415). - net: hns3: Check hdev state when getting link status (bsc#1104353 FATE#326415). - net: hns3: Set STATE_DOWN bit of hdev state when stopping net (bsc#1104353 FATE#326415). - net: hns3: Add support for hns3_nic_netdev_ops.ndo_do_ioctl (bsc#1104353 FATE#326415). - net: hns3: Preserve vlan 0 in hardware table (bsc#1104353 FATE#326415). - net: hns3: Fix ping exited problem when doing lp selftest (bsc#1104353 FATE#326415). - net: hns3: Fix error of checking used vlan id (bsc#1104353 FATE#326415). - net: hns3: Fix for vf vlan delete failed problem (bsc#1104353 FATE#326415). - bnxt_en: get the reduced max_irqs by the ones used by RDMA (bsc#1050242 FATE#322914). - bnxt_en: Fix enables field in HWRM_QUEUE_COS2BW_CFG request (bsc#1086282 FATE#324873). - bnxt_en: Fix VNIC reservations on the PF (bsc#1086282 FATE#324873). - bnxt_en: don't try to offload VLAN 'modify' action (bsc#1050242 FATE#32291). - commit cff74c8- SMB3.1.1 dialect is no longer experimental (bsc#1051510). - commit 568b46f- CIFS: fix sha512 check in cifs_crypto_secmech_release (bsc#1051510). - commit 5bcc721- SMB3: Fix length checking of SMB3.11 negotiate request (bsc#1051510). - commit 67e1742- SMB311: Fix reconnect (bsc#1051510). - commit 2f56ec3- CIFS: implement v3.11 preauth integrity (bsc#1051510). - Refresh patches.fixes/smb3-on-reconnect-set-PreviousSessionId-field.patch. - commit 931aacd- CIFS: add sha512 secmech (bsc#1051510). - commit 6751a85- CIFS: refactor crypto shash/sdesc allocation&free (bsc#1051510). - commit 3087f38- [SMB3] Improve security, move default dialect to SMB3 from old CIFS (bsc#1051510). - commit 2a8d00b- SMB3: Backup intent flag missing for directory opens with backupuid mounts (bsc#1051510). - commit 5c33399- smb3: enumerating snapshots was leaving part of the data off end (bsc#1051510). - commit ac5ab8c- smb3: Do not send SMB3 SET_INFO if nothing changed (bsc#1051510). - commit 69765ec- smb3: don't request leases in symlink creation and query (bsc#1051510). - commit c9b7903- cifs: add missing debug entries for kconfig options (bsc#1051510). - commit eef0de5- kbuild: make missing $DEPMOD a Warning instead of an Error (git-fixes). - mtd: Fix comparison in map_word_andequal() (git-fixes). - Fix tracing sample code warning (git-fixes). - commit 33a3dc7- cifs: Fix memory leak in smb2_set_ea() (bsc#1051510). - commit 5e91284- cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class (bsc#1051510). - commit da30ffb- cifs: add missing support for ACLs in SMB 3.11 (bsc#1051510). - commit bea9260- cifs: hide unused functions (bsc#1051510). - commit 7ac6c1a- cifs: Add support for writing attributes on SMB2+ (bsc#1051510). - commit f4a82ef- cifs: Add support for reading attributes on SMB2+ (bsc#1051510). - commit 1d63a60- smb3: fix various xid leaks (bsc#1051510). - commit 077f859- cifs: Use smb 2 - 3 and cifsacl mount options setacl function (bsc#1051510). - commit f8e76f0- USB: check usb_get_extra_descriptor for proper size (For SUSE) (bsc#1119714 CVE-2018-20169). - commit e3f18fc- cifs: hide unused functions (bsc#1051510). - commit 1177701- cifs: Use smb 2 - 3 and cifsacl mount options getacl functions (bsc#1051510). - commit 2c8fac4- cifs: prototype declaration and definition for smb 2 - 3 and cifsacl mount options (bsc#1051510). - commit e35127a- cifs: prototype declaration and definition to set acl for smb 2 - 3 and cifsacl mount options (bsc#1051510). - commit 0164b47- USB: check usb_get_extra_descriptor for proper size (bsc#1119714 CVE-2018-20169). - commit 300dd87- tools/power/cpupower: fix compilation with STATIC=true (git-fixes). - watchdog/core: Add missing prototypes for weak functions (git-fixes). - dt-bindings: pwm: renesas: tpu: Fix "compatible" prop description (git-fixes). - cpupower: remove stringop-truncation waring (git-fixes). - gpio: davinci: Remove unused member of davinci_gpio_controller (git-fixes). - perf tools: Fix tracing_path_mount proper path (git-fixes). - kbuild: allow to use GCC toolchain not in Clang search path (git-fixes). - tools: hv: fcopy: set 'error' in case an unknown operation was requested (git-fixes). - Tools: hv: Fix a bug in the key delete code (git-fixes). - disable stringop truncation warnings for now (git-fixes). - bpf: use per htab salt for bucket hash (git-fixes). - kobject: Replace strncpy with memcpy (git-fixes). - kbuild: verify that $DEPMOD is installed (git-fixes). - dt-bindings: clock: add rk3399 DDR3 standard speed bins (git-fixes). - kprobes: Make list and blacklist root user read only (git-fixes). - Mark HI and TASKLET softirq synchronous (git-fixes). - compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations (git-fixes). - net: dsa: qca8k: Add QCA8334 binding documentation (git-fixes). - tools/power turbostat: fix possible sprintf buffer overflow (git-fixes). - dt-bindings: panel: lvds: Fix path to display timing bindings (git-fixes). - dt-bindings: clock: mediatek: add binding for fixed-factor clock axisel_d4 (git-fixes). - dt-bindings: arm: Document SoC compatible value for Armadillo-800 EVA (git-fixes). - tools: hv: include string.h in hv_fcopy_daemon (git-fixes). - net: dsa: mv88e6xxx: Fix binding documentation for MDIO busses (git-fixes). - nospec: Kill array_index_nospec_mask_check() (git-fixes). - gcc-plugins: Use dynamic initializers (git-fixes). - gcc-plugins: Add include required by GCC release 8 (git-fixes). - Kbuild: suppress packed-not-aligned warning for default setting only (git-fixes). - mtd: cfi: convert inline functions to macros (git-fixes). - x86/pti: Document fix wrong index (git-fixes). - kbuild: rpm-pkg: keep spec file until make mrproper (git-fixes). - kbuild: fix linker feature test macros when cross compiling with Clang (git-fixes). - dt-bindings: add compatible string for Allwinner V3s SoC (git-fixes). - .gitignore: sort normal pattern rules alphabetically (git-fixes). - initramfs: fix initramfs rebuilds w/ compression after disabling (git-fixes). - tracing/samples: Fix creation and deletion of simple_thread_fn creation (git-fixes). - dt-bindings: mfd: axp20x: Add AXP806 to supported list of chips (git-fixes). - dt-bindings: iio: update STM32 timers clock names (git-fixes). - dt-bindings: phy: sun4i-usb-phy: Add property descriptions for H3 (git-fixes). - dt-bindings: net: Remove duplicate NSP Ethernet MAC binding document (git-fixes). - dt-bindings: pwm: Update STM32 timers clock names (git-fixes). - dt-bindings: rcar-dmac: Document missing error interrupt (git-fixes). - commit 014d990- SMB3: Add support for multidialect negotiate (SMB2.1 and later) (bsc#1051510). - Refresh patches.fixes/SMB-fix-leak-of-validate-negotiate-info-response-buf.patch. - commit d5fd9bf- nospec: Allow index argument to have const-qualified type (git-fixes) - Refresh patches.suse/14-prctl-add-speculation-control-prctls.patch - commit b5c6e5f- r8152: disable RX aggregation on new Dell TB16 dock (bsc#1119749). - drivers/net/usb/r8152: remove the unneeded variable "ret" in rtl8152_system_suspend (bsc#1119749). - net: usb: r8152: use irqsave() in USB's complete callback (bsc#1119749). - r8152: set rx mode early when linking on (bsc#1119749). - r8152: fix wrong checksum status for received IPv4 packets (bsc#1119749). - r8152: disable RX aggregation on Dell TB16 dock (bsc#1119749). - drivers/net/usb: add device id for TP-LINK UE300 USB 3.0 Ethernet (bsc#1119749). - r8152: add Linksys USB3GIGV1 id (bsc#1119749). - net: usb: r8152: constify usb_device_id (bsc#1119749). - r8152: correct the definition (bsc#1119749). - r8152: move calling delay_autosuspend function (bsc#1119749). - r8152: split rtl8152_resume function (bsc#1119749). - r8152: add byte_enable for ocp_read_word function (bsc#1119749). - r8152: support RTL8153B (bsc#1119749). - r8152: support new chip 8050 (bsc#1119749). - r8152: replace napi_complete with napi_complete_done (bsc#1119749). - r8152: avoid rx queue more than 1000 packets (bsc#1119749). - r8152: check if disabling ALDPS is finished (bsc#1119749). - r8152: move the initialization to reset_resume function (bsc#1119749). - r8152: move the default coalesce setting for RTL8153 (bsc#1119749). - r8152: adjust U2P3 for RTL8153 (bsc#1119749). - r8152: adjust rtl8153_runtime_enable function (bsc#1119749). - r8152: move the setting of rx aggregation (bsc#1119749). - r8152: adjust the settings about MAC clock speed down for RTL8153 (bsc#1119749). - r8152: adjust lpm settings for RTL8153 (bsc#1119749). - r8152: add r8153_phy_status function (bsc#1119749). - commit 36d48f3- usb: usbip: Fix BUG: KASAN: slab-out-of-bounds in vhci_hub_control() (bsc#1106110). - commit d07d73f- blacklist.conf: add 123664101aa2156d05251704fc63f9bcbf77741a - commit ba13bcc- usbip: vhci_hcd: check rhport before using in vhci_hub_control() (bsc#1090888). - blacklist.conf: removed entry. Unneeded by itself without SS support in USBIP but needed by later fix - commit a0baab2- dm cache metadata: ignore hints array being too small during resize (Git-fixes). - commit 2c012bc- blacklist.conf: add 50b977481fce90aa5fbda55e330b9d722733e358 - commit a8538c3- [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred (bsc#1051510). - Refresh patches.fixes/0001-CIFS-make-IPC-a-regular-tcon.patch. - Refresh patches.fixes/0001-Fix-encryption-labels-and-lengths-for-SMB3.1.1.patch. - Refresh patches.fixes/0001-cifs-Select-all-required-crypto-modules.patch. - commit c1cb91e- smb3: directory sync should not return an error (bsc#1051510). - commit 1b695a1- smb3: Fix root directory when server returns inode number of zero (bsc#1051510). - commit d7bc2d0- fix smb3-encryption breakage when CONFIG_DEBUG_SG=y (bsc#1051510). - commit a320a13- Refresh patches.arch/x86-vdso-fix-vdso-build-if-a-retpoline-is-emitted.patch. Fix mismerge. - commit ab99dcd- Refresh patches.drivers/thermal-bcm2835-enable-hwmon-explicitly.patch. - commit 923a050- powerpc/boot: Fix build failures with -j 1 (bsc#1065729). - commit 2c1301d- HID: Add quirk for Primax PIXART OEM mice (bsc#1119410). - commit 5bf5901- powerpc/boot: Expose Kconfig symbols to wrapper (bsc#1065729). - commit fc1b477- powerpc/traps: restore recoverability of machine_check interrupts (bsc#1094244). - powerpc/64s: consolidate MCE counter increment (bsc#1094244). - commit 7504c8e- userfaultfd: check VM_MAYWRITE was set after verifying the uffd is registered (CVE-2018-18397, bsc#1117656). - commit 68dc6a5- fscache: Fix race in fscache_op_complete() due to split atomic_sub & read (Git-fixes). - dm zoned: fix various dmz_get_mblock() issues (Git-fixes). - dm zoned: fix metadata block ref counting (Git-fixes). - dm ioctl: harden copy_params()'s copy_from_user() from malicious users (Git-fixes). - cpufeature: avoid warning when compiling with clang (Git-fixes). - keys: Fix the use of the C++ keyword "private" in uapi/linux/keyctl.h (Git-fixes). - bcache: fix miss key refill->end in writeback (Git-fixes). - bcache: trace missed reading by cache_missed (Git-fixes). - dm linear: fix linear_end_io conditional definition (Git-fixes). - dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled (Git-fixes). - dm: fix report zone remapping to account for partition offset (Git-fixes). - dm cache: destroy migration_cache if cache target registration failed (Git-fixes). - dm cache: fix resize crash if user doesn't reload cache table (Git-fixes). - nbd: don't allow invalid blocksize settings (Git-fixes). - tracing/blktrace: Fix to allow setting same value (Git-fixes). - dm writecache: fix a crash due to reading past end of dirty_bitmap (Git-fixes). - dm crypt: don't decrease device limits (Git-fixes). - dm cache metadata: set dirty on all cache blocks after a crash (Git-fixes). - dm cache metadata: save in-core policy_hint_size to on-disk superblock (Git-fixes). - dm thin: stop no_space_timeout worker when switching to write-mode (Git-fixes). - dm writecache: report start_sector in status line (Git-fixes). - dm integrity: change 'suspending' variable from bool to int (Git-fixes). - dm cache: only allow a single io_mode cache feature to be requested (Git-fixes). - block: really disable runtime-pm for blk-mq (Git-fixes). - block: blk_init_allocated_queue() set q->fq as NULL in the fail case (Git-fixes). - block: allow max_discard_segments to be stacked (Git-fixes). - blk-mq: remove synchronize_rcu() from blk_mq_del_queue_tag_set() (Git-fixes). - block: reset bi_iter.bi_done after splitting bio (Git-fixes). - dm thin: handle running out of data space vs concurrent discard (Git-fixes). - dm thin metadata: remove needless work from __commit_transaction (Git-fixes). - sbitmap: fix race in wait batch accounting (Git-fixes). - block/swim: Fix array bounds check (Git-fixes). - fscache: Pass the correct cancelled indications to fscache_op_complete() (Git-fixes). - rbd: whitelist RBD_FEATURE_OPERATIONS feature bit (Git-fixes). - reset: remove remaining WARN_ON() in (Git-fixes). - commit a41ae63- locking/barriers: Convert users of lockless_dereference() to READ_ONCE() (Git-fixes). - Refresh for the above change, patches.arch/07-x86-ldt-rework-locking.patch. patches.fixes/ovl-fix-failure-to-fsync-lower-dir.patch. patches.suse/dm-mpath-accept-failed-paths. - commit 1641962- dm: allocate struct mapped_device with kvzalloc (Git-fixes). - skd: Submit requests to firmware before triggering the doorbell (Git-fixes). - skd: Avoid that module unloading triggers a use-after-free (Git-fixes). - commit fdeb1d6- blacklist.conf: add following commits from git-fixes suggestion, 6a934bb81476e7e90baaf2ff766e6b6f04b5febb 1dc3039bc87ae7d19a990c3ee71cfd8a9068f428 e4b069e0945fa14c71cf8b5b89f8b1b2aa68dbc2 744889b7cbb56a64f957e65ade7cb65fe3f35714 1adfc5e4136f5967d591c399aff95b3b035f16b7 5618cf031fecda63847cafd1091e7b8bd626cdb1 We don't have them because other non-stable patches required. - commit eb991b4- Blacklist 5182f26f6f74 crypto: ccp - Make function sev_get_firmware() static - commit 8ec2ad4- x86/speculation: IBRS, forbid shooting in foot (bsc#1068032 CVE-2017-5753 bnc#1119065). - commit f452980- Refresh patches.fixes/rdma_rxe-make-rxe-work-over-802.1q-VLAN-devices.patch. Fix warning about unused variable. - commit f31a549- mm: don't miss the last page because of round-off error (bnc#1118798). - commit 0be53f2- rdma_rxe: make rxe work over 802.1q VLAN devices (bsc#1082387). - commit 64d14d8- IB/rxe: support for 802.1q VLAN on the listener (bsc#1082387). - commit 05157dd- mmc: sdhci: fix the timeout check window for clock and reset (bsc#1051510). - MMC: OMAP: fix broken MMC on OMAP15XX/OMAP5910/OMAP310 (bsc#1051510). - xhci: Prevent U1/U2 link pm states if exit latency is too long (bsc#1051510). - usb: quirk: add no-LPM quirk on SanDisk Ultra Flair device (bsc#1051510). - usb: appledisplay: Add 27" Apple Cinema Display (bsc#1051510). - commit 43f7b55- blacklist.conf: Add entries that fix the already blacklisted commits - commit 3842eb7- mac80211: ignore NullFunc frames in the duplicate detection (bsc#1051510). - mac80211: fix reordering of buffered broadcast packets (bsc#1051510). - mac80211: Clear beacon_int in ieee80211_do_stop (bsc#1051510). - mac80211_hwsim: Timer should be initialized before device registered (bsc#1051510). - commit 4da2a47- HID: multitouch: Add pointstick support for Cirque Touchpad (bsc#1051510). - HID: input: Ignore battery reported by Symbol DS4308 (bsc#1051510). - commit 137ef89- ALSA: hda/realtek: Enable audio jacks of ASUS UX433FN/UX333FA with ALC294 (bsc#1051510). - ALSA: hda/realtek: Enable audio jacks of ASUS UX533FD with ALC294 (bsc#1051510). - ALSA: hda/realtek: ALC294 mic and headset-mode fixups for ASUS X542UN (bsc#1051510). - ALSA: fireface: fix reference to wrong register for clock configuration (bsc#1051510). - ALSA: hda/realtek - Fix the mute LED regresion on Lenovo X1 Carbon (bsc#1051510). - ALSA: hda/realtek - Fixed headphone issue for ALC700 (bsc#1051510). - commit defdb99- nvme-fc: resolve io failures during connect (bsc#1116803). - commit d63fbbc- scripts/git_sort/git_sort.py: change SCSI git repos to make series sorting more failsafe. - commit 19a60e4- git_sort.py: Remove non-existent remote tj/libata - commit 431c944- scsi: lpfc: Enable Management features for IF_TYPE=6 (bsc#1119322). - Revert "scsi: lpfc: ls_rjt erroneus FLOGIs" (bsc#1119322). - commit 2235aaf- blacklist.conf: this breaks kABI - commit bd4bb25- scsi: lpfc: update driver version to 12.0.0.9 (bsc#1118215). - scsi: lpfc: Fix dif and first burst use in write commands (bsc#1118215). - scsi: lpfc: Fix driver release of fw-logging buffers (bsc#1118215). - scsi: lpfc: Correct topology type reporting on G7 adapters (bsc#1118215). - scsi: lpfc: Correct code setting non existent bits in sli4 ABORT WQE (bsc#1118215). - scsi: lpfc: Defer LS_ACC to FLOGI on point to point logins (bsc#1118215). - scsi: lpfc: ls_rjt erroneus FLOGIs (bsc#1118215). - scsi: lpfc: rport port swap discovery issue (bsc#1118215). - scsi: lpfc: Cap NPIV vports to 256 (bsc#1118215). - scsi: lpfc: Fix kernel Oops due to null pring pointers (bsc#1118215). - scsi: lpfc: Fix a duplicate 0711 log message number (bsc#1118215). - scsi: lpfc: Fix discovery failures during port failovers with lots of vports (bsc#1118215). - scsi: lpfc: refactor mailbox structure context fields (bsc#1118215). - scsi: lpfc: update manufacturer attribute to reflect Broadcom (bsc#1118215). - scsi: lpfc: Fix panic when FW-log buffsize is not initialized (bsc#1118215). - commit 295ca60- xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc (bsc#1117162). - commit b707d84- blacklist.conf: Blacklist 29e270fc3219 - commit 6e668f6- powerpc/pseries: Track LMB nid instead of using device tree (bsc#1108270). - commit 748cd4b- kabi: hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined (bnc#1116336). - hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined (bnc#1116336). - mm: put_and_wait_on_page_locked() while page is migrated (bnc#1109272). - mm, memory_hotplug: be more verbose for memory offline failures (generic hotplug debugability). - mm, memory_hotplug: print reason for the offlining failure (generic hotplug debugability). - mm, memory_hotplug: drop pointless block alignment checks from __offline_pages (generic hotplug debugability). - mm: lower the printk loglevel for __dump_page messages (generic hotplug debugability). - mm: print more information about mapping in __dump_page (generic hotplug debugability). - mm: migration: fix migration of huge PMD shared pages (bnc#1086423). - commit ba75629- x86/speculation/mds: Add 'mitigations=' support for MDS (bsc#1111331). - commit 88cac77- x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off (bsc#1111331). - commit b517dcb- x86/speculation/mds: Add SMT warning message (bsc#1111331). - commit 3dc297b- x86/speculation: Move arch_smt_update() call to after mitigation decisions (bsc#1111331). - commit b18763b- x86/speculation/mds: Add mds=full,nosmt cmdline option (bsc#1111331). - commit 681a34e- fuse: fix use-after-free in fuse_direct_IO() (git-fixes). - fuse: fix possibly missed wake-up after abort (git-fixes). - fuse: fix leaked notify reply (git-fixes). - apparmor: Fix uninitialized value in aa_split_fqname (git-fixes). - apparmor: don't try to replace stale label in ptraceme check (git-fixes). - apparmor: don't try to replace stale label in ptrace access check (git-fixes). - fuse: fix blocked_waitq wakeup (git-fixes). - fuse: set FR_SENT while locked (git-fixes). - fuse: Fix use-after-free in fuse_dev_do_write() (git-fixes). - fuse: Fix use-after-free in fuse_dev_do_read() (git-fixes). - commit 50f36c2- iwlwifi: nvm: get num of hw addresses from firmware (bsc#1119086). - commit d5ffb2f- Update patches.suse/socket-close-race-condition-between-sock_close-and-s.patch references (add CVE-2018-12232 bsc#1097593). - commit 3b472e9- Update patches.suse/net-Set-sk_prot_creator-when-cloning-sockets-to-the-.patch references (add CVE-2018-9568 bsc#1118319). - commit 541b753- x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off (bnc#1114871). - commit e14c0db- iwlwifi: fix LED command capability bit (bsc#1119086). - commit b627932- kvm: x86: Report STIBP on GET_SUPPORTED_CPUID (bsc#1111331). - commit 32eb036- x86/cpu: Sanitize FAM6_ATOM naming (bsc#1111331). - Refresh patches.arch/intel_idle-add-support-for-Jacobsville.patch. - Refresh patches.arch/powercap-intel_rapl-add-support-for-Jacobsville.patch. - Refresh patches.arch/x86-cpu-Add-Atom-Tremont-Jacobsville.patch. - commit 99038ef- x86/speculation: Prevent deadlock on ssb_state::lock (bsc#1114279). - blacklist.conf: blacklist "unimportant" commits - commit 60a2462- blacklist.conf: Add WW mutexes selftest - commit b4479d9- series.conf: Fix tree bisection As of 435924b4381 (housekeeping: move epoll and lib patches to sorted section) we are breaking bisection if the whole series.conf is not fully applied. - commit abd22af- staging: rts5208: fix gcc-8 logic error warning (bsc#1051510). - commit 370f20c- mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext (bsc#1051510). - mac80211_hwsim: fix module init error paths for netlink (bsc#1051510). - commit 179ed22- unifdef: use memcpy instead of strncpy (bsc#1051510). - commit 76e2791- team: no need to do team_notify_peers or team_mcast_rejoin when disabling port (bsc#1051510). - commit 4f1d4b3- linux/bitmap.h: fix type of nbits in bitmap_shift_right() (bsc#1051510). - commit 396aaca- tty: serial: 8250_mtk: always resume the device in probe (bsc#1051510). - tty: do not set TTY_IO_ERROR flag if console port (bsc#1051510). - commit c9a99ff- clk: mmp: Off by one in mmp_clk_add() (bsc#1051510). - clk: mvebu: Off by one bugs in cp110_of_clk_get() (bsc#1051510). - commit e7433a2- usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream series (bsc#1051510). - USB: usb-storage: Add new IDs to ums-realtek (bsc#1051510). - commit adebe09- Revert commit ef9209b642f "staging: rtl8723bs: Fix indenting errors and an off-by-one mistake in core/rtw_mlme_ext.c" (bsc#1051510). - staging: rtl8712: Fix possible buffer overrun (bsc#1051510). - staging: rtl8723bs: Add missing return for cfg80211_rtw_get_station (bsc#1051510). - commit 46ab97b- net: bgmac: Fix endian access in bgmac_dma_tx_ring_free() (bsc#1051510). - commit 2e678f9- integrity/security: fix digsig.c build error with header file (bsc#1051510). - commit 1164ce0- test_hexdump: use memcpy instead of strncpy (bsc#1051510). - commit b9eb9f7- lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn (bsc#1051510). - lib/raid6: Fix arm64 test build (bsc#1051510). - commit 3efaede- ieee802154: fakelb: switch from BUG_ON() to WARN_ON() on problem (bsc#1051510). - ieee802154: at86rf230: use __func__ macro for debug messages (bsc#1051510). - ieee802154: at86rf230: switch from BUG_ON() to WARN_ON() on problem (bsc#1051510). - ieee802154: 6lowpan: set IFLA_LINK (bsc#1051510). - commit 150624b- Revert "PCI/ASPM: Do not initialize link state when aspm_disabled is set" (bsc#1051510). - commit 54b5481- Input: xpad - quirk all PDP Xbox One gamepads (bsc#1051510). - Input: synaptics - add PNP ID for ThinkPad P50 to SMBus (bsc#1051510). - Input: elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15ARR (bsc#1051510). - Input: elan_i2c - add support for ELAN0621 touchpad (bsc#1051510). - Input: hyper-v - fix wakeup from suspend-to-idle (bsc#1051510). - Input: cros_ec_keyb - fix button/switch capability reports (bsc#1051510). - Input: elan_i2c - add ELAN0620 to the ACPI table (bsc#1051510). - Input: matrix_keypad - check for errors from of_get_named_gpio() (bsc#1051510). - commit d326384- ALSA: trident: Suppress gcc string warning (bsc#1051510). - commit 416d408- Revert wlcore patch to follow stable tree develpment - blacklist.conf: - Delete patches.drivers/wlcore-Add-missing-PM-call-for-wlcore_cmd_wait_for_e.patch. - commit 3549f81- ethernet: fman: fix wrong of_node_put() in probe function (bsc#1119017). - commit 446ab4d- objtool: Fix segfault in .cold detection with - ffunction-sections (bsc#1058115). - commit ea0ae7a- objtool: Fix double-free in .cold detection error path (bsc#1058115). - commit d60fe8f- libnvdimm, pfn: Pad pfn namespaces relative to other regions (bsc#1118962). - commit 0150ece- objtool: Fix GCC 8 cold subfunction detection for aliased functions (bsc#1058115). - commit e0da98b- Refresh patches.drivers/net-ibmvnic-Fix-RTNL-deadlock-during-device-reset.patch. - Refresh patches.drivers/scsi-lpfc-Correct-invalid-EQ-doorbell-write-on-if_ty.patch. - Refresh patches.drivers/scsi-lpfc-Correct-irq-handling-via-locks-when-taking.patch. - Refresh patches.drivers/scsi-lpfc-Correct-race-with-abort-on-completion-path.patch. - Refresh patches.drivers/scsi-lpfc-Correct-soft-lockup-when-running-mds-diagn.patch. - Refresh patches.drivers/scsi-lpfc-Fix-GFT_ID-and-PRLI-logic-for-RSCN.patch. - Refresh patches.drivers/scsi-lpfc-Fix-errors-in-log-messages.patch. - Refresh patches.drivers/scsi-lpfc-Raise-nvme-defaults-to-support-a-larger-io.patch. - Refresh patches.drivers/scsi-lpfc-Remove-set-but-not-used-variable-sgl_size.patch. - Refresh patches.drivers/scsi-lpfc-Synchronize-access-to-remoteport-via-rport.patch. - Refresh patches.drivers/scsi-lpfc-add-support-to-retrieve-firmware-logs.patch. - Refresh patches.drivers/scsi-lpfc-raise-sg-count-for-nvme-to-use-available-s.patch. - Refresh patches.drivers/scsi-lpfc-reduce-locking-when-updating-statistics.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.7.patch. - commit 43950be- mm/vmstat.c: fix NUMA statistics updates (git fixes). - commit 09a6612- scsi: lpfc: fix block guard enablement on SLI3 adapters (bsc#1079935). - commit 236bf95- x86/MCE/AMD, EDAC/mce_amd: Add new error descriptions for some SMCA bank types (bsc#1128415). - commit b1869fe- x86/MCE/AMD, EDAC/mce_amd: Add new McaTypes for CS, PSP, and SMU units (bsc#1128415). - commit 805b84e- x86/MCE/AMD, EDAC/mce_amd: Add new MP5, NBIO, and PCIE SMCA bank types (bsc#1128415). - commit 14a6d42- x86/mce: Handle varying MCA bank counts (bsc#1128415). - commit e5eb953- crypto: ccp - Add DOWNLOAD_FIRMWARE SEV command (fate#325981). - crypto: ccp - Add GET_ID SEV command (fate#325981). - crypto: ccp - Add psp enabled message when initialization succeeds (fate#325981). - crypto: ccp - Add support for new CCP/PSP device ID (fate#325981). - crypto: ccp - Allow SEV firmware to be chosen based on Family and Model (fate#325981). - crypto: ccp - Fix static checker warning (fate#325981). - crypto: ccp - Remove unused #defines (fate#325981). - crypto: ccp - Support register differences between PSP devices (fate#325981). - firmware: add firmware_request_nowarn() - load firmware without warnings (fate#325981). - Update patches.drivers/crypto-ccp-add-timeout-support-in-the-sev-command.patch (fate#325981). - commit 3812d91- Update config files: update forgotten armv7l configs, too - commit b075a26- Include modules.fips in kernel-binary as well as kernel-binary-base (FATE#323247). - commit e42315d- mmc: dw_mmc-bluefield: Add driver extension (bsc#1118752). - Update config files. - supported.conf: whitelist bluefield eMMC driver - commit 57adc01- userfaultfd: remove uffd flags from vma->vm_flags if UFFD_EVENT_FORK fails (bsc#1118809). - commit 9f69851- objtool: Detect RIP-relative switch table references, part 2 (bsc#1058115). - commit 7b81f06- objtool: Detect RIP-relative switch table references (bsc#1058115). - commit 5107b1b- userfaultfd: shmem: UFFDIO_COPY: set the page dirty if VM_WRITE is not set (CVE-2018-18397, bsc#1117656). - userfaultfd: shmem: add i_size checks (CVE-2018-18397, bsc#1117656). - userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas (CVE-2018-18397, bsc#1117656). - userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem (CVE-2018-18397, bsc#1117656). - userfaultfd: use ENOENT instead of EFAULT if the atomic copy user fails (CVE-2018-18397, bsc#1117656). - userfaultfd: mcopy_atomic: introduce mfill_atomic_pte helper (CVE-2018-18397, bsc#1117656). - commit a2c856b- objtool: Support GCC 8 switch tables (bsc#1058115). - commit e8d97c7- objtool: Support GCC 8's cold subfunctions (bsc#1058115). - commit 7456771- blacklist.conf: Blacklist f2fs - commit 5e683ec- objtool: Fix "noreturn" detection for recursive sibling calls (bsc#1058115). - commit 984dd5f- objtool: Fix another switch table detection issue (bsc#1058115). - commit 6353778- mmc: dw_mmc-k3: add sd support for hi3660 (bsc#1118752). - commit 00455a1- ext2: fix potential use after free (bsc#1118775). - commit 3d51c42- udf: Allow mounting volumes with incorrect identification strings (bsc#1118774). - commit 5de280f- exportfs: fix 'passing zero to ERR_PTR()' warning (bsc#1118773). - commit 183b4e1- x86/decoder: Fix and update the opcodes map (bsc#1058115). - commit 8874a84- blacklist.conf: Blacklist c4b7d1ba7d26 - commit 6ea903d- gfs2: Put bitmap buffers in put_super (bsc#1118772). - commit 51cd91c- blacklist.conf: Blacklist 9f2df09a33aa - commit d63c0a3- v9fs_dir_readdir: fix double-free on p9stat_read error (bsc#1118771). - commit 36a4d0d- gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd (bsc#1118769). - commit b2b431d- gfs2_meta: ->mount() can get NULL dev_name (bsc#1118768). - commit 6afc912- jffs2: free jffs2_sb_info through jffs2_kill_sb() (bsc#1118767). - commit fbcf7c1- blacklist.conf: Blacklist f0a7d1883d9f - commit 1ed7bf5- namei: allow restricted O_CREAT of FIFOs and regular files (bsc#1118766). - commit 169572d- fs: fix lost error code in dio_complete (bsc#1118762). - commit 6aed8a5- userfaultfd: clear the vma->vm_userfaultfd_ctx if UFFD_EVENT_FORK fails (bsc#1118761). - commit d968347- mm: cleancache: fix corruption on missed inode invalidation (bsc#1117186 CVE-2018-16862). - commit f2fe539- ext4: avoid possible double brelse() in add_new_gdb() on error path (bsc#1118760). - commit d45f182- ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4860G/Z6860G (bsc#1051510). - commit 36b2bc7- ALSA: hda/realtek: Fix mic issue on Acer AIO Veriton Z4660G (bsc#1051510). - commit 9209bc5- ALSA: hda/realtek - Add support for Acer Aspire C24-860 headset mic (bsc#1051510). - commit 9222f53- ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880 (bsc#1051510). - commit 2af8124- ALSA: hda/realtek - Fix speaker output regression on Thinkpad T570 (bsc#1051510). - commit 57bcdfc- ALSA: pcm: Fix interval evaluation with openmin/max (bsc#1051510). - commit af04472- ALSA: hda: Add support for AMD Stoney Ridge (bsc#1051510). - commit 10368dc- ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support (bsc#1051510). - commit b3172a5- ALSA: pcm: Fix starvation on down_write_nonblock() (bsc#1051510). - commit 2464577- ALSA: usb-audio: Add support for Encore mDSD USB DAC (bsc#1051510). - commit f9b9013- ALSA: pcm: Call snd_pcm_unlink() conditionally at closing (bsc#1051510). - commit 1bcdb7f- Move USB-audio UAF fix patch to sorted section - commit 223ad04- crypto: user - fix leaking uninitialized memory to userspace (CVE-2018-19854,bsc#1118428). - commit d1a5811- KVM: PPC: Book3S PR: Enable use on POWER9 inside HPT-mode guests (bsc#1118484). - commit 30072d1- Move dell_rbu fix to sorted section (bsc#1087978). - commit cbdb29d- usb: xhci: Prevent bus suspend if a port connect change or polling state is detected (bsc#1051510). - usb: xhci: fix uninitialized completion when USB3 port got wrong status (bsc#1051510). - commit 9ec64cd- termios, tty/tty_baudrate.c: fix buffer overrun (bsc#1051510). - commit b668b0f- rtc: hctosys: Add missing range error reporting (bsc#1051510). - commit 4bb0c35- tmpfs: make lseek(SEEK_DATA/SEK_HOLE) return ENXIO with a negative offset (bsc#1051510). - commit a7d3616- efi: Move some sysfs files to be read-only by root (bsc#1051510). - commit 7977ec7- blacklist.conf: Blacklist objtool inat.h sync fix Not needed. We do not have 32d0b95300db03c2b23b2ea2c94769a4a138e79d. - commit e3e06b4- panic: avoid deadlocks in re-entrant console drivers (bsc#1088386). - commit a547974- Refresh patches.drivers/net-ibmvnic-Fix-RTNL-deadlock-during-device-reset.patch. - commit 13326cf- blacklist.conf: Blacklist MAINTAINERS file - commit 9c408b6- libceph: fall back to sendmsg for slab pages (bsc#1118316). - commit 5c17df1- blacklist.conf: add one mlx5 entry - commit 23e07aa- Delete patches.suse/net-mlx5e-Set-vlan-masks-for-all-offloaded-TC-rules.patch. The patch causes a regression, see upstream commit d3a80bb5a3ea. But we cannot apply the commit as we are missing whole match_level logic in the driver yet. - commit 892558d- xen/x86: add diagnostic printout to xen_mc_flush() in case of error (bnc#1116183). - commit a950cb1- ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c (CVE-2018-19824,bsc#1118152). - commit 9e1724a- x86/MCE/AMD: Fix the thresholding machinery initialization order (bsc#1114279). - blacklist.conf: one amd64_edac commit for client parts - kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb (bsc#1114279). - EDAC, skx_edac: Fix logical channel intermediate decoding (bsc#1114279). - EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting (bsc#1114279). - commit ccae0b6- Really drop the disabled DRM patches Some DRM patches have been disabled due to regressions, and they have no chance for revive on SLE15-SP0, at least. So better to drop them for avoiding confusion. No code change in the expanded tree by this. - commit fd2445a- Btrfs: send, fix infinite loop due to directory rename dependencies (bsc#1118138). - commit 3add617- Delete patches.drm/drm-dp_mst-Skip-validating-ports-during-destruction-.patch (bsc#1051510) The commit was reverted in the upstream. Put both in the blacklist now. - commit 9ee57e7- Refresh patches.fixes/dax-remove-VM_MIXEDMAP-for-fsdax-and-device-dax.patch. Fixed missing hunk (bsc#1118102). - commit 478866a- net/ibmvnic: Fix RTNL deadlock during device reset (bnc#1115431). - commit 87ebdb1- Btrfs: fix cur_offset in the error case for nocow (bsc#1118140). - commit 3a69a03- Btrfs: fix assertion on fsync of regular file when using no-holes feature (bsc#1118137). - commit 823bf85- Btrfs: fix assertion failure during fsync in no-holes mode (bsc#1118136). - commit 8293c74- nvme: Free ctrl device name on init failure (FATE#323952, FATE#322506). - commit 96184ea- x86/speculation: Support Enhanced IBRS on future CPUs (fate#326564). - commit 4c67d46- KVM: VMX: re-add ple_gap module parameter (bsc#1106240). - commit 1a2fbf9- PCI: imx6: Fix link training status detection in link up check (bsc#1109806). - KVM: x86: Fix kernel info-leak in KVM_HC_CLOCK_PAIRING hypercall (bsc#1106240). - commit 098af81- fscache: fix race between enablement and dropping of object (bsc#1107385). - commit a260cc5- blacklist.conf: Add a can driver entry that breaks kABI - commit 017d064- include/linux/pfn_t.h: force '~' to be parsed as an unary operator (bsc#1051510). - commit fb714c8- staging: rtl8723bs: Fix the return value in case of error in 'rtw_wx_read32()' (bsc#1051510). - iwlwifi: mvm: fix regulatory domain update when the firmware starts (bsc#1051510). - commit db7a366- staging: vchiq_arm: fix compat VCHIQ_IOC_AWAIT_COMPLETION (bsc#1051510). - commit 4a2214c- iio:st_magn: Fix enable device after trigger (bsc#1051510). - commit 9634d68- tty: wipe buffer if not echoing data (bsc#1051510). - tty: wipe buffer (bsc#1051510). - commit 9898d59- drm/meson: add support for 1080p25 mode (bsc#1051510). - drm/meson: Fix OOB memory accesses in meson_viu_set_osd_lut() (bsc#1051510). - drm/meson: Enable fast_io in meson_dw_hdmi_regmap_config (bsc#1051510). - drm/dp_mst: Skip validating ports during destruction, just ref (bsc#1051510). - drm/ast: Fix incorrect free on ioregs (bsc#1051510). - drm/ast: fixed cursor may disappear sometimes (bsc#1051510). - commit e1e4948- crypto: simd - correctly take reqsize of wrapped skcipher into account (bsc#1051510). - commit d816314- can: rx-offload: introduce can_rx_offload_get_echo_skb() and can_rx_offload_queue_sorted() functions (bsc#1051510). - can: dev: __can_get_echo_skb(): print error message, if trying to echo non existing skb (bsc#1051510). - can: dev: __can_get_echo_skb(): Don't crash the kernel if can_priv::echo_skb is accessed out of bounds (bsc#1051510). - can: dev: __can_get_echo_skb(): replace struct can_frame by canfd_frame to access frame length (bsc#1051510). - can: dev: can_get_echo_skb(): factor out non sending code to __can_get_echo_skb() (bsc#1051510). - can: hi311x: Use level-triggered interrupt (bsc#1051510). - can: raw: check for CAN FD capable netdev in raw_sendmsg() (bsc#1051510). - commit 4787d2f- usb: gadget: u_ether: fix unsafe list iteration (bsc#1051510). - USB: omap_udc: fix rejection of out transfers when DMA is used (bsc#1051510). - Revert "usb: dwc3: gadget: skip Set/Clear Halt when invalid" (bsc#1051510). - usb: core: Fix hub port connection events lost (bsc#1051510). - usb: dwc3: core: Clean up ULPI device (bsc#1051510). - usb: xhci: fix timeout for transition from RExit to U0 (bsc#1051510). - xhci: Add check for invalid byte size error when UAS devices are connected (bsc#1051510). - commit a583c32- brcmfmac: fix reporting support for 160 MHz channels (bsc#1051510). - commit 7d8455c- ACPI/IORT: Fix iort_get_platform_device_domain() uninitialized pointer value (bsc#1051510). - commit cf6b9f3- ALSA: oss: Use kvzalloc() for local buffer allocations (bsc#1051510). - commit 4a5203a- Input: synaptics - avoid using uninitialized variable when probing (bsc#1051510). - Input: xpad - add support for Xbox1 PDP Camo series gamepad (bsc#1051510). - Input: xpad - avoid using __set_bit() for capabilities (bsc#1051510). - Input: xpad - fix some coding style issues (bsc#1051510). - Input: xpad - add PDP device id 0x02a4 (bsc#1051510). - commit 50187b9- qmi_wwan: Support dynamic config on Quectel EP06 (bsc#1051510). - commit e3c5218- qmi_wwan: apply SET_DTR quirk to the SIMCOM shared device ID (bsc#1051510). - Refresh patches.drivers/qmi_wwan-add-support-for-Quectel-EG91. - commit 988931a- net: qmi_wwan: add Wistron Neweb D19Q1 (bsc#1051510). - commit f74e3c9- ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock (bsc#1051510). - commit 824cc71- ASoC: sun8i-codec: fix crash on module removal (bsc#1051510). - commit 9f6d6c5- ALSA: hda/realtek - Support ALC300 (bsc#1051510). - commit 74cbb22- ALSA: hda/realtek - Add auto-mute quirk for HP Spectre x360 laptop (bsc#1051510). - commit 4ebe796- ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops (bsc#1051510). - commit cf3e918- ALSA: control: Fix race between adding and removing a user element (bsc#1051510). - commit 5859ab7- ALSA: sparc: Fix invalid snd_free_pages() at error path (bsc#1051510). - commit 1f787cb- ALSA: wss: Fix invalid snd_free_pages() at error path (bsc#1051510). - commit 0073c9a- ALSA: hda/realtek - fix headset mic detection for MSI MS-B171 (bsc#1051510). - commit 7600c31- ALSA: hda: Add ASRock N68C-S UCC the power_save blacklist (bsc#1051510). - commit cff4e83- ALSA: ac97: Fix incorrect bit shift at AC97-SPSA control write (bsc#1051510). - commit d4f8e03- ALSA: hda/realtek - Fix HP Headset Mic can't record (bsc#1051510). - commit 2ff6b4d- ALSA: hda/realtek - Simplify Dell XPS13 GPIO handling (bsc#1051510). - commit 0c92109- ALSA: hda/realtek - Add GPIO data update helper (bsc#1051510). - commit 9347d34- ALSA: hda/realtek - Manage GPIO bits commonly (bsc#1051510). - commit d536d4a- ALSA: hda/realtek - Allow skipping spec->init_amp detection (bsc#1051510). - commit 2691b89- ASoC: intel: cht_bsw_max98090_ti: Add quirk for boards using pmc_plt_clk_0 (bsc#1051510). - commit 55c95c9- ASoC: Intel: cht_bsw_max98090: add support for Baytrail (bsc#1051510). - Refresh patches.drivers/ASoC-Intel-cht_bsw_max98090-remove-useless-code-alig. - commit 24015e1- xen/blkfront: avoid NULL blkfront_info dereference on device removal (bsc#1111062). - commit f67d52b- powerpc/perf: Update raw-event code encoding comment for power8 (bsc#1065729). - commit 389a6ff- powerpc/mm: Fix typo in comments (bsc#1065729). - commit 386cf53- Revert "powerpc/64: Fix checksum folding in csum_add()" (bsc#1065729). - commit 108fe12- KABI: powerpc: Revert npu callback signature change (bsc#1055120). - commit a32ccad- powerpc/powernv/pci: Work around races in PCI bridge enabling (bsc#1055120). - commit 3be0d95- blacklist.conf: blacklist fix of timer rewrite - commit 978ea6b- powerpc/boot: Fix opal console in boot wrapper (bsc#1065729). - commit 8879e99- powerpc/powernv: Fix opal_event_shutdown() called with interrupts disabled (bsc#1065729). - commit 1cf9bbd- Revert "blacklist.conf: blacklist inapplicable commits" This reverts commit 88bd1b2b53990d5518b819968445522fb1392bee. We only build with VIRT_CPU_ACCOUNTING_NATIVE on s390 - commit 6663d9b- powerpc/pseries: Fix how we iterate over the DTL entries (bsc#1065729). - powerpc/pseries: Fix DTL buffer registration (bsc#1065729). - commit 7308f80- powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage (bsc#1055120). - powerpc/powernv/npu: Prevent overwriting of pnv_npu2_init_contex() callback parameters (bsc#1055120). - powerpc/powernv/npu: Add lock to prevent race in concurrent context init/destroy (bsc#1055120). - Refresh patches.arch/powerpc-powernv-npu-Do-a-PID-GPU-TLB-flush-when-inva.patch - powerpc/npu-dma.c: Fix crash after __mmu_notifier_register failure (bsc#1055120). - powerpc/powernv/npu: Fix deadlock in mmio_invalidate() (bsc#1055120). - powerpc/powernv/npu: Don't explicitly flush nmmu tlb (bsc#1055120). - powerpc/powernv/npu: Use flush_all_mm() instead of flush_tlb_mm() (bsc#1055120). - commit 9f05f8c- fs: Make extension of struct super_block transparent (bsc#1117822). - commit 5d62a88- powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9 (bsc#1065729). - commit 77a1107- blacklist.conf: Blacklist f1782c9bc547 - commit 596e059- Update config files: Fix ppc64le/vanilla config - commit 6b794fe- blacklist.conf: Blacklist 25bbe21bf427 - commit c785e30- blacklist.conf: blacklist inapplicable commits - commit 88bd1b2- blacklist.conf: blacklist vermagic update. - commit e63e2fc- net: ipv4: don't let PMTU updates increase route MTU (git-fixes). - commit e14d9f4- blacklist.conf: Blacklist 53692ec074d0 - commit ae3ddcf- powerpc/powernv: Don't select the cpufreq governors (bsc#1065729). - Update config files to match other architectures. - commit da7be07- blacklist.conf: Blacklist ecaaf408478b - commit d7afd37- fsnotify: Fix busy inodes during unmount (bsc#1117822). - commit 955d702- ocfs2: free up write context when direct IO failed (bsc#1117821). - commit ad2eade- mount: Prevent MNT_DETACH from disconnecting locked mounts (bsc#1117820). - commit c37e013- mount: Don't allow copying MNT_UNBINDABLE|MNT_LOCKED mounts (bsc#1117819). - commit 287394f- mount: Retest MNT_LOCKED in do_umount (bsc#1117818). - commit 9d5b9fb- ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry (bsc#1117817). - commit ca46bd5- blacklist.conf: 1ccbeeb888ac - commit b4ae641- ocfs2: fix locking for res->tracking and dlm->tracking_list (bsc#1117816). - commit 9bd98e3- blacklist.conf: Blacklist a725356b6659 - commit 95e5733- ocfs2: fix ocfs2 read block panic (bsc#1117815). - commit 858b7f0- flow_dissector: do not dissect l4 ports for fragments (networking-stable-18_11_21). - ip_tunnel: don't force DF when MTU is locked (networking-stable-18_11_21). - ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu (networking-stable-18_11_21). - ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF (networking-stable-18_11_21). - mlxsw: spectrum: Fix IP2ME CPU policer configuration (networking-stable-18_11_21). - net: bcmgenet: protect stop from timeout (networking-stable-18_11_21). - net-gro: reset skb->pkt_type in napi_reuse_skb() (networking-stable-18_11_21). - net/mlx5e: Fix selftest for small MTUs (networking-stable-18_11_21). - net: phy: mdio-gpio: Fix working over slow can_sleep GPIOs (networking-stable-18_11_21). - net: smsc95xx: Fix MTU range (networking-stable-18_11_21). - net: systemport: Protect stop from timeout (networking-stable-18_11_21). - sctp: fix strchange_flags name for Stream Change Event (networking-stable-18_11_21). - sctp: not allow to set asoc prsctp_enable by sockopt (networking-stable-18_11_21). - sctp: not increase stream's incnt before sending addstrm_in request (networking-stable-18_11_21). - tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths (networking-stable-18_11_21). - tipc: don't assume linear buffer when reading ancillary data (networking-stable-18_11_21). - tuntap: fix multiqueue rx (networking-stable-18_11_21). - kABI: protect struct fib_nh_exception (kabi). - kABI: protect struct rtable (kabi). - Refresh patches.suse/ipv4-fix-fnhe-usage-by-non-cached-routes.patch. - commit fd26935- ocfs2: subsystem.su_mutex is required while accessing the item->ci_parent (bsc#1117808). - commit f6093fc- ext4: fix buffer leak in __ext4_read_dirblock() on error path (bsc#1117807). - commit ed4f7e0- ext4: fix buffer leak in ext4_xattr_move_to_block() on error path (bsc#1117806). - commit b566650- ext4: release bs.bh before re-using in ext4_xattr_block_find() (bsc#1117805). - commit bea0c8a- ext4: fix possible leak of s_journal_flag_rwsem in error path (bsc#1117804). - commit 963524a- ext4: fix possible leak of sbi->s_group_desc_leak in error path (bsc#1117803). - commit cbfd876- ext4: avoid buffer leak in ext4_orphan_add() after prior errors (bsc#1117802). - commit 35e0007- ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty() (bsc#1117801). - commit d392ba9- ext4: fix possible inode leak in the retry loop of ext4_resize_fs() (bsc#1117799). - commit 5ae5e79- ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing (bsc#1117798). - commit a780306- ext4: add missing brelse() update_backups()'s error path (bsc#1117796). - commit 371cf85- ext4: add missing brelse() add_new_gdb_meta_bg()'s error path (bsc#1117795). - commit 2f4d91f- ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path (bsc#1117794). - commit eb98ade- ext4: avoid potential extra brelse in setup_new_flex_group_blocks() (bsc#1117792). - commit cb8da4a- ext4: fix use-after-free race in ext4_remount()'s error path (bsc#1117791). - commit ca15955- ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR (bsc#1117790). - commit 3d6d857- ext4: fix setattr project check in fssetxattr ioctl (bsc#1117789). - commit a5cc193- ext4: initialize retries variable in ext4_da_write_inline_data_begin() (bsc#1117788). - commit fec1d63- Update config files. - commit ca1d0a2- blacklist.conf: blacklist unapplicable powerpc commits. - commit 5c5ec19- nospec: Include dependency (bsc#1114279). - Refresh patches.suse/17-nospec-allow-getting-setting-on-non-current-task.patch. - commit 6ad7da7- clk: samsung: exynos5420: Enable PERIS clocks for suspend (bsc#1051510). - ataflop: fix error handling during setup (bsc#1051510). - ptp: fix Spectre v1 vulnerability (bsc#1051510). - pxa168fb: prepare the clock (bsc#1051510). - commit ae524af- hwmon: (ibmpowernv) Remove bogus __init annotations (bsc#1051510). - commit 9ba3a4d- drm/edid: Add 6 bpc quirk for BOE panel (bsc#1051510). - commit 2d713c3- ipmi: Fix timer race with module unload (bsc#1051510). - commit c6b0329- configfs: replace strncpy with memcpy (bsc#1051510). - commit a7464c8- kbuild: fix kernel/bounds.c 'W=1' warning (bsc#1051510). - commit 9c501db- platform/x86: intel_telemetry: report debugfs failure (bsc#1051510). - platform/x86: acerhdf: Add BIOS entry for Gateway LT31 v1.3307 (bsc#1051510). - commit 6273f32- ACPI / platform: Add SMB0001 HID to forbidden_id_list (bsc#1051510). - ACPI / watchdog: Prefer iTCO_wdt always when WDAT table uses RTC SRAM (bsc#1051510). - commit 6426c3c- usb: cdc-acm: add entry for Hiro (Conexant) modem (bsc#1051510). - USB: misc: appledisplay: add 20" Apple Cinema Display (bsc#1051510). - USB: quirks: Add no-lpm quirk for Raydium touchscreens (bsc#1051510). - usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB (bsc#1051510). - commit c4726ed- net: ena: fix crash during failed resume from hibernation (bsc#1111696 bsc#1117561). - commit 59142b4- Update config files. Enabled ENA (Amazon network driver) for arm64. - commit e774ad6- net: ena: fix compilation error in xtensa architecture (bsc#1111696 bsc#1117561). - net: ena: enable Low Latency Queues (bsc#1111696 bsc#1117561). - net: ena: Fix Kconfig dependency on X86 (bsc#1111696 bsc#1117561). - net: ena: fix indentations in ena_defs for better readability (bsc#1111696 bsc#1117561). - net: ena: update driver version to 2.0.1 (bsc#1111696 bsc#1117561). - net: ena: remove redundant parameter in ena_com_admin_init() (bsc#1111696 bsc#1117561). - net: ena: change rx copybreak default to reduce kernel memory pressure (bsc#1111696 bsc#1117561). - net: ena: limit refill Rx threshold to 256 to avoid latency issues (bsc#1111696 bsc#1117561). - net: ena: explicit casting and initialization, and clearer error handling (bsc#1111696 bsc#1117561). - net: ena: use CSUM_CHECKED device indication to report skb's checksum status (bsc#1111696 bsc#1117561). - net: ena: add functions for handling Low Latency Queues in ena_netdev (bsc#1111696 bsc#1117561). - net: ena: add functions for handling Low Latency Queues in ena_com (bsc#1111696 bsc#1117561). - net: ena: introduce Low Latency Queues data structures according to ENA spec (bsc#1111696 bsc#1117561). - net: ena: complete host info to match latest ENA spec (bsc#1111696 bsc#1117561). - net: ena: minor performance improvement (bsc#1111696 bsc#1117561). - net: ena: fix auto casting to boolean (bsc#1111696 bsc#1117561). - net: ena: fix NULL dereference due to untimely napi initialization (bsc#1111696 bsc#1117561). - net: ena: fix rare bug when failed restart/resume is followed by driver removal (bsc#1111696 bsc#1117561). - net: ena: fix warning in rmmod caused by double iounmap (bsc#1111696 bsc#1117561). - net: ena: remove ndo_poll_controller (bsc#1111696 bsc#1117561). - commit 75cf80b- hwmon: (w83795) temp4_type has writable permission (bsc#1051510). - hwmon: (ina2xx) Fix current value calculation (bsc#1051510). - hwmon: (raspberrypi) Fix initial notify (bsc#1051510). - hwmon (ina2xx) Fix NULL id pointer in probe() (bsc#1051510). - hwmon: (nct6775) Fix potential Spectre v1 (bsc#1051510). - commit 00f652b- net: bridge: remove ipv6 zero address check in mcast queries (git-fixes). - commit c7547b7- drm/ast: change resolution may cause screen blurred (boo#1112963). - commit 87247be- Rename and update patches.drm/0001-drm-ast-Remove-existing-framebuffers-before-loading-.patch Use the same name as in SLE12-SP3, add upstream reference and mention a second bug (bsc#1111174). - commit 036f252- Refresh upstreamed pkey patches. - commit 94769d4- powerpc/mm/keys: Move pte bits to correct headers (FATE#322447, bsc#1078248). - commit 972269f- gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path (bsc#1051510). - clk: s2mps11: Add used attribute to s2mps11_dt_match (bsc#1051510). - mfd: menelaus: Fix possible race condition and leak (bsc#1051510). - commit 87b9a96- drm/i915: Write GPU relocs harder with gen3 (bsc#1051510). - commit 2094252- soc: ti: QMSS: Fix usage of irq_set_affinity_hint (bsc#1051510). - soc: fsl: qbman: qman: avoid allocating from non existing gen_pool (bsc#1051510). - commit 318a29c- HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges (bsc#1051510). - commit bfec37b- iwlwifi: mvm: don't use SAR Geo if basic SAR is not used (bsc#1051510). - iwlwifi: mvm: support sta_statistics() even on older firmware (bsc#1051510). - brcmutil: really fix decoding channel info for 160 MHz bandwidth (bsc#1051510). - commit 04cdc07- ALSA: hda/ca0132 - Call pci_iounmap() instead of iounmap() (bsc#1051510). - commit 9d9ccd2- ata: Fix racy link clearance (bsc#1107866). - commit 6a91770- target: fix buffer offset in core_scsi3_pri_read_full_status (bsc1117349). - commit e2ae560- ibmvnic: Update driver queues after change in ring size support (FATE#326521). - net/ibmnvic: Fix deadlock problem in reset (FATE#326521). - ibmvnic: fix accelerated VLAN handling (FATE#326521). - net: ibm: fix return type of ndo_start_xmit function (FATE#326521). - ibmvnic: remove ndo_poll_controller (FATE#326521). - commit 7895e39- Refresh patches.drivers/ibmvnic-fix-index-in-release_rx_pools.patch - commit b026761- mach64: fix image corruption due to reading accelerator registers (bsc#1113722) - commit b3c9593- mach64: fix display corruption on big endian machines (bsc#1113722) - commit 01b3304- iommu/vt-d: Use memunmap to free memremap (bsc#1106105). - amd/iommu: Fix Guest Virtual APIC Log Tail Address Register (bsc#1106105). - iommu/ipmmu-vmsa: Fix crash on early domain free (bsc#1106105). - iommu/vt-d: Fix NULL pointer dereference in prq_event_thread() (bsc#1106105). - commit 474cc93- xhci: Fix leaking USB3 shared_hcd at xhci removal (bsc#1051510). - commit 6880c8a- tracing: Erase irqsoff trace with empty write (bsc#1117189). - commit 591b34f- tracing: Apply trace_clock changes to instance max buffer (bsc#1117188). - commit 93ce4e2- blacklist.conf: add b16503baa891 signal: send_sig_all no longer needs SEND_SIG_FORCED - commit 0ff41be- ftrace: Remove incorrect setting of glob search field (bsc#1117184). - commit 44507ac- ftrace: Fix kmemleak in unregister_ftrace_graph (bsc#1117181). - commit 254d70b- ftrace: Fix memleak when unregistering dynamic ops when tracing disabled (bsc#1117174). - commit 5a7d6af- ftrace: Fix debug preempt config name in stack_tracer_{en,dis}able (bsc#1117172). - commit b37345d- printk: Fix panic caused by passing log_buf_len to command line (bsc#1117168). - commit 98d9037- uio: Fix an Oops on load (bsc#1051510). - can: rcar_can: Fix erroneous registration (bsc#1051510). - floppy: fix race condition in __floppy_read_block_0() (bsc#1051510). - pinctrl: meson: fix pinconf bias disable (bsc#1051510). - tty: check name length in tty_find_polling_driver() (bsc#1051510). - staging:iio:ad7606: fix voltage scales (bsc#1051510). - uio: make symbol 'uio_class_registered' static (bsc#1051510). - w1: omap-hdq: fix missing bus unregister at removal (bsc#1051510). - power: supply: max8998-charger: Fix platform data retrieval (bsc#1051510). - commit 8a307aa- libertas: don't set URB_ZERO_PACKET on IN USB transfer (bsc#1051510). - commit 695f283- vhost/scsi: truncate T10 PI iov_iter to prot_bytes (bsc#1051510). - vhost: Fix Spectre V1 vulnerability (bsc#1051510). - commit 663338b- test_firmware: fix error return getting clobbered (bsc#1051510). - commit ad74964- usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers (bsc#1051510). - usb: dwc3: gadget: Properly check last unaligned/zero chain TRB (bsc#1051510). - commit 3ae49d6- clockevents/drivers/i8253: Add support for PIT shutdown quirk (bsc#1051510). - commit 3276977- batman-adv: Expand merged fragment buffer for full packet (bsc#1051510). - batman-adv: Use explicit tvlv padding for ELP packets (bsc#1051510). - commit c3f27db- iio: ad5064: Fix regulator handling (bsc#1051510). - iio: accel: adxl345: convert address field usage in iio_chan_spec (bsc#1051510). - commit fcef7bd- tty: Don't return -EAGAIN in blocking read (bsc#1116040). - commit b62d6c8- drm/i915/execlists: Force write serialisation into context image vs execution (bsc#1051510). - drm/dp_mst: Check if primary mstb is null (bsc#1051510). - drm/i915: Don't oops during modeset shutdown after lpe audio deinit (bsc#1051510). - drm/i915: Mark pin flags as u64 (bsc#1051510). - drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values (bsc#1051510). - drm/i915: Large page offsets for pread/pwrite (bsc#1051510). - drm/i915: Skip vcpi allocation for MSTB ports that are gone (bsc#1051510). - drm/i915: Don't unset intel_connector->mst_port (bsc#1051510). - drm/nouveau: Check backlight IDs are >= 0, not > 0 (bsc#1051510). - drm/omap: fix memory barrier bug in DMM driver (bsc#1051510). - drm/amdgpu: add missing CHIP_HAINAN in amdgpu_ucode_get_load_type (bsc#1051510). - drm/rockchip: Allow driver to be shutdown on reboot/kexec (bsc#1051510). - commit bbb89cd- powerpc/pseries/mobility: Extend start/stop topology update scope (bsc#1116950, bsc#1115709). - Refresh patches.arch/hotplug-cpu-Add-operation-queuing-function.patch. - Refresh patches.arch/powerpc-rtas-Fix-a-potential-race-between-CPU-Offlin.patch. - commit 4350dc0- openvswitch: Fix push/pop ethernet validation (networking-stable-18_11_02). - net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules (networking-stable-18_11_02). - rtnetlink: Disallow FDB configuration for non-Ethernet device (networking-stable-18_11_02). - bonding: fix length of actor system (networking-stable-18_11_02). - net: sched: gred: pass the right attribute to gred_change_table_def() (networking-stable-18_11_02). - bridge: do not add port to router list when receives query with source 0.0.0.0 (networking-stable-18_11_02). - ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called (networking-stable-18_11_02). - net: udp: fix handling of CHECKSUM_COMPLETE packets (networking-stable-18_11_02). - net/ipv6: Fix index counter for unicast addresses in in6_dump_addrs (networking-stable-18_11_02). - ip6_tunnel: Fix encapsulation layout (networking-stable-18_11_02). - net: socket: fix a missing-check bug (networking-stable-18_11_02). - net: sched: Fix for duplicate class dump (networking-stable-18_11_02). - r8169: fix NAPI handling under high load (networking-stable-18_11_02). - net: ipmr: fix unresolved entry dumps (networking-stable-18_11_02). - virtio_net: avoid using netif_tx_disable() for serializing tx routine (networking-stable-18_11_02). - sctp: fix race on sctp_id2asoc (networking-stable-18_11_02). - net: fec: don't dump RX FIFO register when not available (networking-stable-18_11_02). - ipv6: mcast: fix a use-after-free in inet6_mc_check (networking-stable-18_11_02). - net: bcmgenet: Poll internal PHY for GENETv5 (networking-stable-18_11_02). - llc: set SOCK_RCU_FREE in llc_sap_add_socket() (networking-stable-18_11_02). - net/mlx5: Take only bit 24-26 of wqe.pftype_wq for page fault type (networking-stable-18_11_02). - commit dc4cd19- libnvdimm, region: Fail badblocks listing for inactive regions (bsc#1116899). - commit d115f51- acpi, nfit: Fix ARS overflow continuation (bsc#1116895). - commit 33ca1e5- libnvdimm: Hold reference on parent while scheduling async init (bsc#1116891). - commit 92606a2- Btrfs: fix data corruption due to cloning of eof block (bsc#1116878). - commit 49524d4- Btrfs: fix infinite loop on inode eviction after deduplication of eof block (bsc#1116877). - commit a415fec- Btrfs: fix deadlock on tree root leaf when finding free extent (bsc#1116876). - commit ad8024d- btrfs: protect space cache inode alloc with GFP_NOFS (bsc#1116863). - commit d79ecfd- Btrfs: fix use-after-free when dumping free space (bsc#1116862). - commit 31cbb21- ceph: quota: fix null pointer dereference in quota check (bsc#1114839). - commit d046d9a- Btrfs: fix use-after-free during inode eviction (bsc#1116701). - commit 86f6de8- Move more btrfs upstream patches to sorted series section Looking at the resulting diff on the expanded tree, the changes are whitespace only and they all converge back to the upstream version, where applicable. - commit 0c2905c- btrfs: move some btrfs upstream patches to sorted series section For btrfs we have a lot of patches that are upstream but are in the unsorted section of series.conf, for reasons I do not know. This change moves some of them. Such large amounts of btrfs upstream patches in our unsorted section is making the work of backporting upstream fixes harder and harder, for example I can't backport at least a handful of upstream fixes that landed in 4.20-rcX if I add them to the sorted section. This will only encourage people to keep adding backports from upstream to the unsorted section, defeating the purpose of having a sorted section. Some patches in the unsorted section, mostly related to qgroups, are big and fat touching important files like fs/btrfs/inode.c and fs/btrfs/extent-tree.c for example, which are updated very frequently upstream. I really want to be able to add upstream fixes to the sorted section, as not doing it will only make life harder for everyone else too. Tested with sequence-patch.sh that this new order succeeds. - commit c45d742- Refresh patches.fixes/btrfs-fix-error-handling-in-btrfs_dev_replace_start.patch. - commit 5a5eca3- Refresh patches.suse/btrfs-fix-error-handling-in-free_log_tree.patch. - commit 7226834- Btrfs: fix deadlock when writing out free space caches (bsc#1116700). - commit 28a4ce0- btrfs: make sure we create all new block groups (bsc#1116699). - commit 2382de4- Btrfs: fix null pointer dereference on compressed write path error (bsc#1116698). - commit ef6b1ee- Btrfs: fix wrong dentries after fsync of file that got its parent replaced (bsc#1116693). - commit d64d2a9- Btrfs: fix warning when replaying log after fsync of a tmpfile (bsc#1116692). - commit cfb0d6d- MD: fix invalid stored role for a disk - try2 (git-fixes). - commit 14bab3c- Refresh patches.fixes/btrfs-check-integrity-Fix-NULL-pointer-dereference-f.patch. Fix compile error for CONFIG_BTRFS_FS_CHECK_INTEGRITY=y - commit c6b30fe- x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided (bsc#1110006). - blacklist.conf: Add 706d51681d63 x86/speculation: Support Enhanced IBRS on future CPUs - x86, hibernate: Fix nosave_regions setup for hibernation (bsc#1110006). - commit bd7a215- PCI: vmd: White list for fast interrupt handlers (bsc#1109806). - PCI: vmd: Assign vector zero to all bridges (bsc#1109806). - commit d845c3b- xfs: Properly detect when DAX won't be used on any device (bsc#1115976). patches.kabi/kabi-fixup-bdev_dax_supported.patch: Refresh - commit 17d1dc1- blacklist.conf: added 0ce0bba4e5e0eb: we don't support Xen on ARM - commit b3ee751- xen/pvh: don't try to unplug emulated devices (bnc#1065600). - commit 6be5c3d- xen/balloon: Support xend-based toolstack (bnc#1065600). - commit e3d50da- xen/pvh: increase early stack size (bnc#1065600). - commit a9a97b2- xen: fix xen_qlock_wait() (bnc#1107256). - xen: make xen_qlock_wait() nestable (bnc#1107256). - xen: fix race in xen_qlock_wait() (bnc#1107256). - commit 811202c- x86/xen: Fix boot loader version reported for PVH guests (bnc#1065600). - commit f796a50- xen-swiotlb: use actually allocated size on check physical continuous (bnc#1065600). - commit 1b90103- kabi: mask raw in struct bpf_reg_state (bsc#1083647). - commit a880313- bpf: fix partial copy of map_ptr when dst is scalar (bsc#1083647). - bpf: wait for running BPF programs when updating map-in-map (bsc#1083647). - commit 52c0e4a- scsi: target: tcmu: add read length support (bsc#1097755). - commit 610833c- clk: fixed-factor: fix of_node_get-put imbalance (bsc#1051510). - clk: fixed-rate: fix of_node_get-put imbalance (bsc#1051510). - clk: s2mps11: Fix matching when built as module and DT node contains compatible (bsc#1051510). - clk: rockchip: Fix static checker warning in rockchip_ddrclk_get_parent call (bsc#1051510). - clk: mmp2: fix the clock id for sdh2_clk and sdh3_clk (bsc#1051510). - clk: at91: Fix division by zero in PLL recalc_rate() (bsc#1051510). - commit 519bab7- ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers (bsc#1051510). - commit 91aa691- cachefiles: fix the race between cachefiles_bury_object() and rmdir(2) (bsc#1051510). - commit abdcf95- s390/mm: Check for valid vma before zapping in gmap_discard (git-fixes). - s390/mm: correct allocate_pgste proc_handler callback (git-fixes). - s390/cpum_sf: Add data entry sizes to sampling trailer entry (git-fixes). - perf: fix invalid bit in diagnostic entry (git-fixes). - s390/qeth: handle failure on workqueue creation (git-fixes). - s390/sclp_tty: enable line mode tty even if there is an ascii console (git-fixes). - s390: revert ELF_ET_DYN_BASE base changes (git-fixes). - commit 7c8037c- s390/qeth: report 25Gbit link speed (bnc#1113501, LTC#172959). - s390/qeth: fix HiperSockets sniffer (bnc#1113501, LTC#172953). - s390: qeth: Fix potential array overrun in cmd/rc lookup (bnc#1113501, LTC#172682). - s390: qeth_core_mpc: Use ARRAY_SIZE instead of reimplementing its function (bnc#1113501, LTC#172682). - net/af_iucv: fix skb handling on HiperTransport xmit error (bnc#1113501, LTC#172679). - net/af_iucv: drop inbound packets with invalid flags (bnc#1113501, LTC#172679). - s390/kvm: fix deadlock when killed by oom (bnc#1113501, LTC#172235). - commit c4f4a6d- KVM: s390: vsie: copy wrapping keys to right place (git-fixes). - commit 752534b- drm/ast: Remove existing framebuffers before loading driver (boo#1112963) - commit d74bdf1- net: dsa: bcm_sf2: Call setup during switch resume (networking-stable-18_10_16). - net: dsa: bcm_sf2: Fix unbind ordering (networking-stable-18_10_16). - net: mvpp2: Extract the correct ethtype from the skb for tx csum offload (networking-stable-18_10_16). - ipv6: take rcu lock in rawv6_send_hdrinc() (networking-stable-18_10_16). - rtnetlink: fix rtnl_fdb_dump() for ndmsg header (networking-stable-18_10_16). - commit 2e7ba9d- net/packet: fix packet drop as of virtio gso (networking-stable-18_10_16). - bnxt_en: free hwrm resources, if driver probe fails (networking-stable-18_10_16). - net/usb: cancel pending work when unbinding smsc75xx (networking-stable-18_10_16). - net/mlx5e: Set vlan masks for all offloaded TC rules (networking-stable-18_10_16). - net/mlx5: E-Switch, Fix out of bound access when setting vport rate (networking-stable-18_10_16). - net: systemport: Fix wake-up interrupt race during resume (networking-stable-18_10_16). - rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096 (networking-stable-18_10_16). - bonding: fix warning message (networking-stable-18_10_16). - inet: make sure to grab rcu_read_lock before using ireq->ireq_opt (networking-stable-18_10_16). - bnxt_en: Fix TX timeout during netpoll (networking-stable-18_10_16). - bonding: avoid possible dead-lock (networking-stable-18_10_16). - bonding: pass link-local packets to bonding master also (networking-stable-18_10_16). - tipc: fix flow control accounting for implicit connect (networking-stable-18_10_16). - net: hns: fix for unmapping problem when SMMU is on (networking-stable-18_10_16). - ip_tunnel: be careful when accessing the inner header (networking-stable-18_10_16). - net: aquantia: memory corruption on jumbo frames (networking-stable-18_10_16). - net/ipv6: Display all addresses in output of /proc/net/if_inet6 (networking-stable-18_10_16). - netlabel: check for IPV4MASK in addrinfo_get (networking-stable-18_10_16). - sctp: update dst pmtu with the correct daddr (networking-stable-18_10_16). - ip6_tunnel: be careful when accessing the inner header (networking-stable-18_10_16). - net: mvpp2: fix a txq_done race condition (networking-stable-18_10_16). - net: stmmac: Fixup the tail addr setting in xmit path (networking-stable-18_10_16). - commit 75e8ae6- ASoC: dwc: Added a quirk DW_I2S_QUIRK_16BIT_IDX_OVERRIDE to dwc (bsc#1085535) - commit bc6b192- Refresh patches.suse/drm-i915-CFL-NVMe-breakage-workaround.patch. Enable LSPCON instead of blindly disabling HDMI - commit 263e523- uio: ensure class is registered before devices (bsc#1051510). - commit 18bdb23- ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops (bsc#1051510). - commit 496d342- brcmfmac: fix for proper support of 160MHz bandwidth (bsc#1051510). - ath10k: schedule hardware restart if WMI command times out (bsc#1051510). - commit fcb3851- HID: hiddev: fix potential Spectre v1 (bsc#1051510). - driver/dma/ioat: Call del_timer_sync() without holding prep_lock (bsc#1051510). - Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth (bsc#1051510). - commit bba0171- hwmon: (core) Fix double-free in __hwmon_device_register() (bsc#1051510). - hwmon: (pmbus) Fix page count auto-detection (bsc#1051510). - hwmon: (pwm-fan) Set fan speed to 0 on suspend (bsc#1051510). - commit f37d881- iwlwifi: mvm: check return value of rs_rate_from_ucode_rate() (bsc#1051510). - iwlwifi: pcie: avoid empty free RB queue (bsc#1051510). - iwlwifi: mvm: fix BAR seq ctrl reporting (bsc#1051510). - commit b630745- ima: fix showing large 'violations' or 'runtime_measurements_count' (bsc#1051510). - commit e719b53- bitops: protect variables in bit_clear_unless() macro (bsc#1051510). - bitops: protect variables in set_mask_bits() macro (bsc#1051510). - commit 6b40d91- kgdboc: Passing ekgdboc to command line causes panic (bsc#1051510). - pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges (bsc#1051510). - mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01 (bsc#1051510). - mmc: dw_mmc-rockchip: correct property names in debug (bsc#1051510). - commit a863538- usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten (bsc#1051510). - usb: host: ohci-at91: fix request of irq for optional gpio (bsc#1051510). - usb: gadget: udc: atmel: handle at91sam9rl PMC (bsc#1051510). - commit 906f4ab- PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice (bsc#1051510). - PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk (bsc#1051510). - commit 43db261- blacklist.conf: Add iwlwifi fix that breaks kABI - commit 970c9b2- blacklist.conf: Add ALSA hda entry that breaks kABI - commit 58c3e52- x86/ldt: Remove unused variable in map_ldt_struct() (bsc#1114279). - commit baa51fd- ACPI/APEI: Handle GSIV and GPIO notification types (bsc#1115567). Refresh: patches.drivers/0024-acpi-apei-handle-SEA-notification-type-for-ARMv8.patch - commit e2df716- Add kernel-subpackage-build.spec (FATE#326579). - add kernel-subpackage-build.spec.in and support scripts - hook it in mkspec - extend the mechanism that copies dependencies inside kernel-binary.spec.in from kernel-%build_flavor to kernel-%build_flavor-base to also handle kernel-subpackage-build.spec.in using BINARY DEPS marker. - expand %name in kernel-%build_flavor so the dependencies are expanded correctly in kernel-subpackage-build.spec.in - commit 9b3ca32- x86/cpu/vmware: Do not trace vmware_sched_clock() (bsc#1114279). - blacklist.conf: blacklist some unneeded git-fixes patches - x86/ldt: Unmap PTEs for the slot before freeing LDT pages (bsc#1114279). - acpi/nfit, x86/mce: Validate a MCE's address before using it (bsc#1114279). - acpi/nfit, x86/mce: Handle only uncorrectable machine checks (bsc#1114279). - x86/mm/pat: Disable preemption around __flush_tlb_all() (bsc#1114279). - x86/ldt: Split out sanity check in map_ldt_struct() (bsc#1114279). - x86/MCE: Make correctable error detection look at the Deferred bit (bsc#1114279). - kbuild: move "_all" target out of $(KBUILD_SRC) conditional (bsc#1114279). - percpu: make this_cpu_generic_read() atomic w.r.t. interrupts (bsc#1114279). - commit 26a9f67- Refresh patches.fixes/0001-mm-rework-memcg-kernel-stack-accounting.patch. - commit 17a04dd- mm: handle no memcg case in memcg_kmem_charge() properly (bnc#1113677). - mm: rework memcg kernel stack accounting (bnc#1113677). - commit 563fd07- usb: dwc2: host: do not delay retries for CONTROL IN transfers (bsc#1114385). - commit 4302976- md: allow metadata updates while suspending an array - fix (git-fixes). - commit 82c160f- Revert "move changes without Git-commit out of sorted section" This reverts commit cbf049ebedc611cdffd443910686956c1f4b7554. The log for cbf049ebedc61 is: move changes without Git-commit out of sorted section However, the purpose of the out-of-tree section is precisely to contain patches without Git-commit tags. After discussion, it seems that this commit was made in an attempt to fix an unrelated and unreproduced problem. Patches which are in "Patch-mainline: Submitted" state are moved back to the out-of-tree subsection while they wait for a Git-commit tag. Patches which seem to be in "Patch-mainline: Never" state are moved to a position relevant to their subsystem after the sorted section. - commit a389aee- KABI fix for "NFSv4.1: Fix up replays of interrupted requests" (git-fixes). - commit 7ec87ef- tpm: replace msleep() with usleep_range() in TPM 1.2/2.0 generic drivers (bsc#1082555). - commit 87d9b39- genirq: Fix race on spurious interrupt detection (bsc#1051510). - commit 1a06ab9- Documentation/l1tf: Remove Yonah processors from not vulnerable list (bsc#1051510). - Documentation/l1tf: Fix typos (bsc#1051510). - commit 06cf579- drm/i915: Fix ilk+ watermarks when disabling pipes (bsc#1051510). - drm/i915/glk: Remove 99% limitation (bsc#1051510). - Input: elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15IGM (bsc#1051510). - usb: gadget: storage: Fix Spectre v1 vulnerability (bsc#1051510). - cdc-acm: correct counting of UART states in serial state notification (bsc#1051510). - cdc-acm: do not reset notification buffer index upon urb unlinking (bsc#1051510). - USB: serial: option: add two-endpoints device-id flag (bsc#1051510). - USB: serial: option: improve Quectel EP06 detection (bsc#1051510). - USB: serial: option: drop redundant interface-class test (bsc#1051510). - commit 7fc48e6- blacklist.conf: Add media v4l commit that breaks kABI - commit a539f70- Add the cherry-picked dup id for PCI dwc fix - commit 0c333ba- drm: fb-helper: Reject all pixel format changing requests (bsc#1113722) - commit fe0c42d- drm/edid: Add 6 bpc quirk for BOE panel in HP Pavilion 15-n233sl (bsc#1113722) - commit 04b4e07- block: copy ioprio in __bio_clone_fast() (bsc#1082653). - commit 4274c43- block: respect virtual boundary mask in bvecs (bsc#1113412). - commit cd94c7f- tpm: move the delay_msec increment after sleep in tpm_transmit() (bsc#1082555). - tpm: fix intermittent failure with self tests (bsc#1082555). - tpm: consolidate the TPM startup code (bsc#1082555). - tpm: move endianness conversion of ordinals to tpm_input_header (bsc#1082555). - tpm: move endianness conversion of TPM_TAG_RQU_COMMAND to tpm_input_header (bsc#1082555). - commit 969f738- tpm2-cmd: allow more attempts for selftest execution (bsc#1082555). - tpm: React correctly to RC_TESTING from TPM 2.0 self tests (bsc#1082555). - tpm: Use dynamic delay to wait for TPM 2.0 self test result (bsc#1082555). - tpm: Trigger only missing TPM 2.0 self tests (bsc#1082555). - tpm: do not suspend/resume if power stays on (bsc#1082555). - tpm: use tpm2_pcr_read() in tpm2_do_selftest() (bsc#1082555). - tpm: use tpm_buf functions in tpm2_pcr_read() (bsc#1082555). - commit bd1b5fb- Delete patches.drivers/s390-qeth-fix-using-of-ref-counter-for-rxip-addresse.patch. Removed instead of backporting upstream revert from commit 4964c66fd49b2e2342da35358f2ff74614bcbaee. - Refresh patches.arch/s390-qeth-fix-ip-address-lookup-for-l3-devices.patch. - commit 06ff2c6- ibmvnic: fix index in release_rx_pools (bsc#1115440, bsc#1115433). - commit 6f8b745- xfs: Fix error code in 'xfs_ioc_getbmap()' (git-fixes). - commit 8b3f368- scsi: lpfc: update driver version to 12.0.0.8 (bsc#1114015). - scsi: lpfc: add Trunking support (bsc#1114015). - scsi: lpfc: Implement GID_PT on Nameserver query to support faster failover (bsc#1114015). - scsi: lpfc: Correct loss of fc4 type on remote port address change (bsc#1114015). - scsi: lpfc: Fix odd recovery in duplicate FLOGIs in point-to-point (bsc#1114015). - scsi: lpfc: Correct LCB RJT handling (bsc#1114015). - scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces (bsc#1114015). - scsi: lpfc: Correct errors accessing fw log (bsc#1114015). - scsi: lpfc: Reset link or adapter instead of doing infinite nameserver PLOGI retry (bsc#1114015). - scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event (bsc#1114015). - scsi: lpfc: Fix lpfc_sli4_read_config return value check (bsc#1114015). - scsi: lpfc: Correct speeds on SFP swap (bsc#1114015). - scsi: lpfc: Remove set but not used variable 'sgl_size' (bsc#1114015). - scsi: lpfc: update driver version to 12.0.0.7 (bsc#1114015). - scsi: lpfc: add support to retrieve firmware logs (bsc#1114015). - scsi: lpfc: reduce locking when updating statistics (bsc#1114015). - scsi: lpfc: Fix errors in log messages (bsc#1114015). - scsi: lpfc: Correct invalid EQ doorbell write on if_type=6 (bsc#1114015). - scsi: lpfc: Correct irq handling via locks when taking adapter offline (bsc#1114015). - scsi: lpfc: Correct soft lockup when running mds diagnostics (bsc#1114015). - scsi: lpfc: Correct race with abort on completion path (bsc#1114015). - scsi: lpfc: Raise nvme defaults to support a larger io and more connectivity (bsc#1114015). - scsi: lpfc: raise sg count for nvme to use available sg resources (bsc#1114015). - scsi: lpfc: Fix GFT_ID and PRLI logic for RSCN (bsc#1114015). - scsi: lpfc: Synchronize access to remoteport via rport (bsc#1114015). - commit a8db0f4- scripts/git_sort/git_sort.py: add mkp/scsi.git 4.21/scsi-queue - commit 0c66a4b- udp6: fix encap return code for resubmitting (git-fixes). - commit 3c4f718- firmware: dcdbas: include linux/io.h (bsc#1089350 FATE#325723). - commit a34f097- pci: dwc: remove duplicate fix References: bsc#1115269 Patch has been already applied by the following commit: 9f73db8b7c PCI: dwc: Fix enumeration end when reaching root subordinate (bsc#1051510) - commit 7e8c957- rpm/kernel-source.spec.in: Add patches.drm for moved DRM patches - commit d5fcbc2- firmware: dcdbas: Add support for WSMT ACPI table (bsc#1089350 FATE#325723). - ACPICA: Tables: Add WSMT support (bsc#1089350 FATE#325723). - commit da04cb0- bpf, net: add skb_mac_header_len helper (networking-stable-18_09_24). - Refresh patches.fixes/bpf-fix-bpf_skb_adjust_net-bpf_skb_proto_xlat-to-dea.patch. - commit 7abeaa3- ipv6: fix possible use-after-free in ip6_xmit() (networking-stable-18_09_24). - net: hp100: fix always-true check for link up state (networking-stable-18_09_24). - pppoe: fix reception of frames with no mac header (networking-stable-18_09_24). - udp6: add missing checks on edumux packet processing (networking-stable-18_09_24). - udp4: fix IP_CMSG_CHECKSUM for connected sockets (networking-stable-18_09_24). - net/sched: act_sample: fix NULL dereference in the data path (networking-stable-18_09_24). - gso_segment: Reset skb->mac_len after modifying network header (networking-stable-18_09_24). - neighbour: confirm neigh entries when ARP packet is received (networking-stable-18_09_24). - net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT (networking-stable-18_09_24). - commit 1c616f8- Refresh patches.arch/kvm-nvmx-move-check_vmentry_postreqs-call-to-nested_vmx_enter_non_root_mode. Fix compile warnings - commit 69ce36e- rds: fix two RCU related problems (networking-stable-18_09_18). - net/mlx5: Check for error in mlx5_attach_interface (networking-stable-18_09_18). - net/mlx5: E-Switch, Fix memory leak when creating switchdev mode FDB tables (networking-stable-18_09_18). - net/mlx5: Fix debugfs cleanup in the device init/remove flow (networking-stable-18_09_18). - net/mlx5: Fix use-after-free in self-healing flow (networking-stable-18_09_18). - net: qca_spi: Fix race condition in spi transfers (networking-stable-18_09_18). - commit f54ed43- doc/README.SUSE: correct GIT url No more gitorious, github we use. - commit 31864f3- NFSv4.1 fix infinite loop on I/O (git-fixes). - NFSv4.0 fix client reference leak in callback (git-fixes). - NFSv4.1: Fix a potential layoutget/layoutrecall deadlock (git-fixes). - sunrpc: Don't use stack buffer with scatterlist (git-fixes). - nfsd: fix corrupted reply to badly ordered compound (git-fixes). - pNFS: Always free the session slot on error in nfs4_layoutget_handle_exception (git-fixes). - skip LAYOUTRETURN if layout is invalid (git-fixes). - NFSv4.1: Fix the client behaviour on NFS4ERR_SEQ_FALSE_RETRY (git-fixes). - NFSv4: Fix a typo in nfs41_sequence_process (git-fixes). - pnfs: Don't release the sequence slot until we've processed layoutget on open (git-fixes). - nfsd: fix potential use-after-free in nfsd4_decode_getdeviceinfo (git-fixes). - nfsd: restrict rd_maxcount to svc_max_payload in nfsd_encode_readdir (git-fixes). - NFS: Fix unstable write completion (git-fixes). - pNFS: Prevent the layout header refcount going to zero in pnfs_roc() (git-fixes). - NFS: Fix an incorrect type in struct nfs_direct_req (git-fixes). - nfsd4: permit layoutget of executable-only files (git-fixes). - NFS: commit direct writes even if they fail partially (git-fixes). - nfs: don't wait on commit in nfs_commit_inode() if there were no commit requests (git-fixes). - SUNRPC: Allow connect to return EHOSTUNREACH (git-fixes). - nfsd: check for use of the closed special stateid (git-fixes). - grace: replace BUG_ON by WARN_ONCE in exit_net hook (git-fixes). - nfsd: Ensure we check stateid validity in the seqid operation checks (git-fixes). - nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0) (git-fixes). - nfsd: Fix another OPEN stateid race (git-fixes). - nfsd: Fix stateid races between OPEN and CLOSE (git-fixes). - nfsd: deal with revoked delegations appropriately (git-fixes). - SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status (git-fixes). - NFS: Fix typo in nomigration mount option (git-fixes). - NFS: Fix a typo in nfs_rename() (git-fixes). - sunrpc: Fix rpc_task_begin trace point (git-fixes). - NFS: Avoid RCU usage in tracepoints (git-fixes). - NFSv4.1: Fix up replays of interrupted requests (git-fixes). - xprtrdma: Don't defer fencing an async RPC's chunks (git-fixes). - commit cbfcac5- arm64: KVM: Sanitize PSTATE.M when being set from userspace (bsc#1110998). - arm64: KVM: Tighten guest core register access from userspace (bsc#1110998). - KVM: arm/arm64: Introduce vcpu_el1_is_32bit (bsc#1110998). - arm64: KVM: Move CPU ID reg trap setup off the world switch path (bsc#1110998). - commit 3534306- scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock (bsc#1114578). - scsi: sysfs: Introduce sysfs_{un,}break_active_protection() (bsc#1114578). - scsi: target/tcm_loop: Avoid that static checkers warn about dead code (bsc#1114577). - scsi: libsas: remove irq save in sas_ata_qc_issue() (bsc#1114580). - scsi: sg: fix minor memory leak in error path (bsc#1114584). - scsi: qlogicpti: Fix an error handling path in 'qpti_sbus_probe()' (bsc#1114581). - scsi: scsi_transport_srp: Fix shost to rport translation (bsc#1114582). - scsi: target: Fix fortify_panic kernel exception (bsc#1114576). - commit 018bccb- fsnotify: fix ignore mask logic in fsnotify() (bsc#1115074). - commit f6cfe4b- Blacklist commit that modifies Scsi_Host/kabi (bsc#1114579) - commit 80c9d85- Blacklist virtio patch that uses bio_integrity_bytes() (bsc#1114585) - commit ba0cd5c- Blacklist sd_zbc patch that is too invasive (bsc#1114583) - commit ef29119- KVM: nVMX: move check_vmentry_postreqs() call to nested_vmx_enter_non_root_mode() (bsc#1106240). - KVM: nVMX: Always reflect #NM VM-exits to L1 (bsc#1106240). - commit aa4e0d0- Move 2308 patches to patches.drm/ (FATE#326265) - commit ebf85ed- usbnet: smsc95xx: disable carrier check while suspending (bsc#1051510). - reset: hisilicon: fix potential NULL pointer dereference (bsc#1051510). - VMCI: Resource wildcard match fixed (bsc#1051510). - mailbox: PCC: handle parse error (bsc#1051510). - mfd: omap-usb-host: Fix dts probe of children (bsc#1051510). - reset: imx7: Fix always writing bits as 0 (bsc#1051510). - remoteproc: qcom: Fix potential device node leaks (bsc#1051510). - commit 6ce5a67- PCI: vmd: Detach resources after stopping root bus (bsc#1109806). - PCI: iproc: Remove PAXC slot check to allow VF support (bsc#1109806). - commit ff5615e- iommu/arm-smmu: Ensure that page-table updates are visible before TLBI (bsc#1106237). - commit 6326887- thermal: bcm2835: enable hwmon explicitly (bsc#1108468). - commit ef2889b- PCI: hv: Use effective affinity mask (bsc#1109772). - commit 28be1aa- x86/irq: implement irq_data_get_effective_affinity_mask() for v4.12 (bsc#1109772). - commit 723ad43- libceph: bump CEPH_MSG_MAX_DATA_LEN (bsc#1114839). - ceph: fix dentry leak in ceph_readdir_prepopulate (bsc#1114839). - Revert "ceph: fix dentry leak in splice_dentry()" (bsc#1114839). - commit adb4b87- blacklist.conf: Add ipv6 stable commit that has been reverted later - commit 3ed2020- tun: Consistently configure generic netdev params via rtnetlink (bsc#1051510). - commit 69de7a4- pwm: lpss: Release runtime-pm reference from the driver's remove callback (bsc#1051510). - thermal: da9062/61: Prevent hardware access during system suspend (bsc#1051510). - thermal: rcar_thermal: Prevent hardware access during system suspend (bsc#1051510). - commit 512e9c6- pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux (bsc#1051510). - pinctrl: at91-pio4: fix has_config check in atmel_pctl_dt_subnode_to_map() (bsc#1051510). - pinctrl: qcom: spmi-mpp: Fix drive strength setting (bsc#1051510). - pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant (bsc#1051510). - pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant (bsc#1051510). - commit 8be2637- Sort the previously merged mm fix patches Refresh: patches.fixes/0001-mremap-properly-flush-TLB-before-releasing-the-page.patch patches.suse/mremap-Remove-LATENCY_LIMIT-from-mremap-to-reduce-the-number-of-TLB-shootdowns.patch - commit 64c8ca6- tpm: Restore functionality to xen vtpm driver (bsc#1082555). - commit 538d633- usb: dwc2: host: Don't retry NAKed transactions right away (bsc#1114385). - commit 54bdf43- tpm: fix response size validation in tpm_get_random() (bsc#1082555). - commit d159511- tpm: add retry logic (bsc#1082555). - Refresh patches.drivers/tpm-separate-cmd_ready-go_idle-from-runtime_pm.patch. - Refresh patches.kabi/KABI-tpm-do-keep-the-cmd_ready-and-go_idle-as-pm-ops.patch. - tpm: self test failure should not cause suspend to fail (bsc#1082555). - tpm: tpm-interface: fix tpm_transmit/_cmd kdoc (bsc#1082555). - Refresh patches.drivers/tpm-separate-cmd_ready-go_idle-from-runtime_pm.patch. - commit 2dd1eb5- rpm/kernel-binary.spec.in: add macros.s into kernel-*-devel Starting with 4.20-rc1, file arch/*/kernel/macros.s is needed to build out of tree modules. Add it to kernel-${flavor}-devel packages if it exists. - commit 09d14c8- blacklist.conf: add TPM commits not applicable to SLE15. c382babccba2 tpm_tis: Move ilb_base_addr to tpm_tis_data 764325add6c2 tpm: delete the TPM_TIS_CLK_ENABLE flag With the update in SP1 these may be relevant there. - commit f3d0aec- PCI/ASPM: Do not initialize link state when aspm_disabled is set (bsc#1051510). - commit ac78802- iwlwifi: don't WARN on trying to dump dead firmware (bsc#1051510). - cfg80211: fix use-after-free in reg_process_hint() (bsc#1051510). - Bluetooth: SMP: fix crash in unpairing (bsc#1051510). - nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds (bsc#1051510). - mac80211_hwsim: do not omit multicast announce of first added radio (bsc#1051510). - nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT (bsc#1051510). - mac80211: fix TX status reporting for ieee80211s (bsc#1051510). - mac80211: TDLS: fix skb queue/priority assignment (bsc#1051510). - cfg80211: Address some corner cases in scan result channel updating (bsc#1051510). - mac80211: Always report TX status (bsc#1051510). - ARM: dts: at91: add new compatibility string for macb on sama5d3 (bsc#1051510). - iwlwifi: dbg: allow wrt collection before ALIVE (bsc#1051510). - iwlwifi: mvm: check for short GI only for OFDM (bsc#1051510). - commit e806438- Refresh patches.fixes/libnvdimm-pmem-Restore-page-attributes-when-clearing.patch patches.fixes/x86-memory_failure-Introduce-set-clear-_mce_nospec.patch to reflect presence of linux/set_memory.h. - commit ade6096- provide linux/set_memory.h (bsc#1113295). - commit 94a6a0b- net: sched: action_ife: take reference to meta module (networking-stable-18_09_11). - act_ife: fix a potential use-after-free (networking-stable-18_09_11). - tcp: do not restart timewait timer on rst reception (networking-stable-18_09_11). - nfp: wait for posted reconfigs when disabling the device (networking-stable-18_09_11). - net: bcmgenet: use MAC link status for fixed phy (networking-stable-18_09_11). - net/sched: act_pedit: fix dump of extended layered op (networking-stable-18_09_11). - tipc: fix a missing rhashtable_walk_exit() (networking-stable-18_09_11). - sctp: hold transport before accessing its asoc in sctp_transport_get_next (networking-stable-18_09_11). - net: sched: Fix memory exposure from short TCA_U32_SEL (networking-stable-18_09_11). - net: macb: do not disable MDIO bus at open/close time (networking-stable-18_09_11). - ipv4: tcp: send zero IPID for RST and ACK sent in SYN-RECV and TIME-WAIT state (networking-stable-18_09_11). - hv_netvsc: ignore devices that are not PCI (networking-stable-18_09_11). - ip6_vti: fix a null pointer deference when destroy vti6 tunnel (networking-stable-18_09_11). - commit 63d88d9- blacklist.conf: Append 'drm: rcar-du: Improve non-DPLL clock selection' - commit 76849a6- fbdev: fix broken menu dependencies (bsc#1113722) - commit ac9f687- mremap: properly flush TLB before releasing the page (bnc#1113769, CVE-2018-18281). - Refresh patches.suse/mremap-Remove-LATENCY_LIMIT-from-mremap-to-reduce-the-number-of-TLB-shootdowns.patch. - commit 8f5c07d- memory_hotplug: cond_resched in __remove_pages (bnc#1114178). - commit f1cc90a- rpm: use syncconfig instead of silentoldconfig where available Since mainline commit 0085b4191f3e ("kconfig: remove silentoldconfig target"), "make silentoldconfig" can be no longer used. Use "make syncconfig" instead if available. - commit a239c6e- livepatch: create and include UAPI headers (fate#326849). - commit a00eabe- modpost: ignore livepatch unresolved relocations (fate#326849). - commit ac36eb6- powerpc/cacheinfo: Report the correct shared_cpu_map on big-cores (bsc#1109695). - powerpc: Use cpu_smallcore_sibling_mask at SMT level on bigcores (bsc#1109695). - powerpc: Detect the presence of big-cores via "ibm, thread-groups" (bsc#1109695). - powerpc/setup: Add cpu_to_phys_id array (FATE#326757, bsc#1109695). - powerpc: make use of for_each_node_by_type() instead of open-coding it (FATE#326757, bsc#1109695). - commit 2a27b15- EDAC, thunderx: Fix memory leak in thunderx_l2c_threaded_isr() (bsc#1114279). - blacklist.conf: - resource: Include resource end in walk_*() interfaces (bsc#1114279). - x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error (bsc#1114279). - commit 9ab91ee- tty: Don't block on IO when ldisc change is pending (bnc#1105428). - Refresh patches.suse/tty-Hold-tty_ldisc_lock-during-tty_reopen.patch. - Refresh patches.suse/tty-Simplify-tty-count-math-in-tty_reopen.patch. - Refresh patches.suse/tty-ldsem-Add-lockdep-asserts-for-ldisc_sem.patch. - Refresh patches.suse/tty-ldsem-Convert-to-regular-lockdep-annotations.patch. - Refresh patches.suse/tty-ldsem-Decrement-wait_readers-on-timeouted-down_r.patch. - Refresh patches.suse/tty-ldsem-Wake-up-readers-after-timed-out-down_write.patch. Update to v6 of the patchset. It should fix the potential deadlocks. - commit b10485a- RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0 (git-fixes). - md/raid5-cache: disable reshape completely (git-fixes). - autofs: fix autofs_sbi() does not check super block type (git-fixes). - vfs: fix freeze protection in mnt_want_write_file() for overlayfs (git-fixes). - fs/dcache.c: fix kmemcheck splat at take_dentry_name_snapshot() (git-fixes). - md/raid5: fix data corruption of replacements after originals dropped (git-fixes). - make sure that __dentry_kill() always invalidates d_seq, unhashed or not (git-fixes). - autofs: fix slab out of bounds read in getname_kernel() (git-fixes). - md/raid10: fix that replacement cannot complete recovery after reassemble (git-fixes). - md/raid1: add error handling of read error from FailFast device (git-fixes). - md: fix NULL dereference of mddev->pers in remove_and_add_spares() (git-fixes). - autofs: mount point create should honour passed in mode (git-fixes). - Don't leak MNT_INTERNAL away from internal mounts (git-fixes). - getname_kernel() needs to make sure that ->name != ->iname in long case (git-fixes). - fs: dcache: Use READ_ONCE when accessing i_dir_seq (git-fixes). - fs: dcache: Avoid livelock between d_alloc_parallel and __d_add (git-fixes). - lockd: fix "list_add double add" caused by legacy signal interface (git-fixes). - race of lockd inetaddr notifiers vs nlmsvc_rqst change (git-fixes). - badblocks: fix wrong return value in badblocks_set if badblocks are disabled (git-fixes). - commit 6d8bf1d- VFS: close race between getcwd() and d_move() (git-fixes). - Refresh patches.fixes/d-lookup-fairness.fix. - commit 76815af- pipe: match pipe_max_size data type with procfs (git-fixes). - Refresh patches.suse/pipe-avoid-round_pipe_size-nr_pages-overflow-on-32-b.patch. - commit e8660e8- do d_instantiate/unlock_new_inode combinations safely (git-fixes). - Delete patches.fixes/f2fs-call-unlock_new_inode-before-d_instantiate.patch. These two patch both change the same code - the former is more complete. - commit 0e081e5- Update patches.fixes/0002-nfs41-do-not-return-ENOMEM-on-LAYOUTUNAVAILABLE.patch (git-fixes, bsc#1103925). - commit 8d3e28c- EDAC: Raise the maximum number of memory controllers (bsc#1113780). - commit 6e99f0f- spi/bcm63xx-hsspi: keep pll clk enabled (bsc#1051510). - spi: sh-msiof: fix deferred probing (bsc#1051510). - spi: bcm-qspi: switch back to reading flash using smaller chunks (bsc#1051510). - commit f773242- blacklist.conf: Add a few wifi driver entries that can't be applied - commit 662fc68- x86/boot/KASLR: Work around firmware bugs by excluding EFI_BOOT_SERVICES_* and EFI_LOADER_* from KASLR's choice (bnc#1112878). - commit d45cd78- libnvdimm, label: Fix sparse warning (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - nvdimm: Use namespace index data to reduce number of label reads needed (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - nvdimm: Split label init out from the logic for getting config data (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - nvdimm: Remove empty if statement (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - nvdimm: Clarify comment in sizeof_namespace_index (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - nvdimm: Sanity check labeloff (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - libnvdimm, dimm: Maximize label transfer size (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - libnvdimm, label: change nvdimm_num_label_slots per UEFI 2.7 (bsc#1111921, bsc#1113408, FATE#326765, bsc#1113972). - commit 5a4eeb4- Workaround for mysterious NVMe breakage with i915 CFL (bsc#1111040). - commit 0fa5877- KABI: hide new member in struct iommu_table from genksyms (bsc#1061840). - commit df25769- kabi/severities: ignore ppc64 realmode helpers. KVM fixes remove exports of realmode_pfn_to_page iommu_tce_xchg_rm mm_iommu_lookup_rm mm_iommu_ua_to_hpa_rm. Some are no longer used and others are no longer exported because the code was consolideted in one place. These helpers are to be called in realmode and linking to them from non-KVM modules is a bug. Hence removing them does not break KABI. - Refresh patches.kabi/KABI-powerpc-mmu_context-provide-old-version-of-mm_i.patch. - commit 2d0e8e4- powerpc/powernv: Move TCE manupulation code to its own file (bsc#1061840). - Update patches.arch/powerpc-powernv-ioda2-Reduce-upper-limit-for-DMA-win.patch (bsc#1061840, bsc#1055120). - commit 37fbbd2- KVM: PPC: Book3S HV: Avoid crash from THP collapse during radix page fault (bsc#1061840). - KVM: PPC: Book3S HV: Fix guest r11 corruption with POWER9 TM workarounds (bsc#1061840). - KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size (bsc#1061840). - KVM: PPC: Avoid marking DMA-mapped pages dirty in real mode (bsc#1061840). - KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function (bsc#1061840). - KVM: PPC: Book3S HV: Read kvm->arch.emul_smt_mode under kvm->lock (bsc#1061840). - KVM: PPC: Book3S HV: Allow creating max number of VCPUs on POWER9 (bsc#1061840). - KVM: PPC: Book3S HV: Pack VCORE IDs to access full VCPU ID space (bsc#1061840). - KVM: PPC: Book3S HV: Fix constant size warning (bsc#1061840). - KVM: PPC: Book3S HV: Add of_node_put() in success path (bsc#1061840). - KVM: PPC: Book3S: Fix matching of hardware and emulated TCE tables (bsc#1061840). - powerpc/powernv/ioda: Allocate indirect TCE levels on demand (bsc#1061840). - powerpc/powernv: Rework TCE level allocation (bsc#1061840). - powerpc/powernv: Add indirect levels to it_userspace (bsc#1061840). - KVM: PPC: Make iommu_table::it_userspace big endian (bsc#1061840). - powerpc/powernv/ioda: Finish removing explicit max window size check (bsc#1061840). - commit 091ec6b- Fix Patch-mainline for "drm/amdgpu: update tmr mc address" The Patch-mainline tag was incorrect. References is being updated as well. - commit ce8535e- KVM: PPC: Book3S PR: Add guest MSR parameter for kvmppc_save_tm()/kvmppc_restore_tm() (bsc#1061840). - KVM: PPC: Book3S PR: Move kvmppc_save_tm/kvmppc_restore_tm to separate file (bsc#1061840). - KVM: PPC: Book3S HV: Factor fake-suspend handling out of kvmppc_save/restore_tm (bsc#1061840). - KVM: PPC: Book3S HV: Send kvmppc_bad_interrupt NMIs to Linux handlers (bsc#1061840). - KVM: PPC: Book3S HV: Fix kvmppc_bad_host_intr for real mode interrupts (bsc#1061840). - KVM: PPC: Book3S HV: radix: Do not clear partition PTE when RC or write bits do not match (bsc#1061840). - KVM: PPC: Book3S HV: radix: Refine IO region partition scope attributes (bsc#1061840). - KVM: PPC: Book3S HV: Recursively unmap all page table entries when unmapping (bsc#1061840). - KVM: PPC: Book3S HV: Use a helper to unmap ptes in the radix fault path (bsc#1061840). - KVM: PPC: Book3S HV: Lockless tlbie for HPT hcalls (bsc#1061840). - KVM: PPC: Fix a mmio_host_swabbed uninitialized usage issue (bsc#1061840). - KVM: PPC: Move nip/ctr/lr/xer registers to pt_regs in kvm_vcpu_arch (bsc#1061840). - KVM: PPC: Add pt_regs into kvm_vcpu_arch and move vcpu->arch.gpr[] into it (bsc#1061840). - KVM: PPC: Book3S: Check KVM_CREATE_SPAPR_TCE_64 parameters (bsc#1061840). - KVM: PPC: Book3S: Allow backing bigger guest IOMMU pages with smaller physical pages (bsc#1061840). - KVM: PPC: Book3S: Use correct page shift in H_STUFF_TCE (bsc#1061840). - KVM: PPC: Book3S HV: Fix inaccurate comment (bsc#1061840). - KVM: PPC: Book3S HV: Set RWMR on POWER8 so PURR/SPURR count correctly (bsc#1061840). - KVM: PPC: Book3S HV: Add 'online' register to ONE_REG interface (bsc#1061840). - powerpc/kvm: Switch kvm pmd allocator to custom allocator (bsc#1061840). - KVM: PPC: Book 3S HV: Do ptesync in radix guest exit path (bsc#1061840). - KVM: PPC: Book3S HV: XIVE: Resend re-routed interrupts on CPU priority change (bsc#1061840). - KVM: PPC: Book3S HV: Make radix clear pte when unmapping (bsc#1061840). - KVM: PPC: Book3S HV: Make radix use correct tlbie sequence in kvmppc_radix_tlbie_page (bsc#1061840). - KVM: PPC: Book3S HV: Snapshot timebase offset on guest entry (bsc#1061840). - powerpc/kvm/booke: Fix altivec related build break (bsc#1061840). - KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot() in page fault handler (bsc#1061840). - KVM: PPC: Book3S HV: Handle 1GB pages in radix page fault handler (bsc#1061840). - KVM: PPC: Book3S HV: Streamline setting of reference and change bits (bsc#1061840). - KVM: PPC: Book3S HV: Radix page fault handler optimizations (bsc#1061840). - KVM: PPC: Book3S HV: Fix duplication of host SLB entries (bsc#1061840). - KVM: PPC: Book3S HV: Fix trap number return from __kvmppc_vcore_entry (bsc#1061840). - KVM: PPC: Book3S HV: Fix VRMA initialization with 2MB or 1GB memory backing (bsc#1061840). - KVM: PPC: Book3S HV: Fix handling of large pages in radix page fault handler (bsc#1061840). - KVM: PPC: Book3S: Fix compile error that occurs with some gcc versions (bsc#1061840). - KVM: PPC: Book3S: Add MMIO emulation for VMX instructions (bsc#1061840). - KVM: PPC: Book3S HV: Make HPT resizing work on POWER9 (bsc#1061840). - KVM: PPC: Book3S HV: Fix handling of secondary HPTEG in HPT resizing code (bsc#1061840). - KVM: PPC: Book3S HV: Keep XIVE escalation interrupt masked unless ceded (bsc#1061840). - KVM: PPC: Book3S HV: Make xive_pushed a byte, not a word (bsc#1061840). - KVM: PPC: Book3S HV: Check DR not IR to chose real vs virt mode MMIOs (bsc#1061840). - KVM: PPC: Book3S HV: Don't use existing "prodded" flag for XIVE escalations (bsc#1061840). - KVM: PPC: Book3S HV: Allow HPT and radix on the same core for POWER9 v2.2 (bsc#1061840). - KVM: PPC: Book3S HV: Do SLB load/unload with guest LPCR value loaded (bsc#1061840). - KVM: PPC: Book3S HV: Enable migration of decrementer register (bsc#1061840). - KVM: PPC: Use seq_puts() in kvmppc_exit_timing_show() (bsc#1061840). - KVM: PPC: Book3S HV: Remove vcpu->arch.dec usage (bsc#1061840). - KVM: PPC: Book3S: Eliminate some unnecessary checks (bsc#1061840). - KVM: PPC: Book3S HV: Fix conditions for starting vcpu (bsc#1061840). - KVM: PPC: Book3S HV: Remove useless statement (bsc#1061840). - KVM: PPC: Book3S HV: Fix typo in kvmppc_hv_get_dirty_log_radix() (bsc#1061840). - KVM: PPC: Book3S HV: Avoid shifts by negative amounts (bsc#1061840). - KVM: PPC: Book3S HV: Improve handling of debug-trigger HMIs on POWER9 (bsc#1061840). - powerpc/xive: Move definition of ESB bits (bsc#1061840). - powerpc/powernv/ioda: Remove explicit max window size check (bsc#1061840). - powerpc/xmon: Add ISA v3.0 SPRs to SPR dump (bsc#1061840). - commit 2bdb006- drm/nouveau: Don't disable polling in fallback mode (bsc#1103356). - Delete patches.suse/Revert-drm-nouveau-drm-therm-fan-add-a-fallback-if-n. - commit aa0c431- Refresh patches.fixes/0001-drm-amdgpu-powerplay-fix-missing-break-in-switch-sta.patch. - Refresh patches.fixes/0001-drm-hisilicon-hibmc-Do-not-carry-error-code-in-HiBMC.patch. - Refresh patches.fixes/0001-drm-hisilicon-hibmc-Don-t-overwrite-fb-helper-surfac.patch. - Refresh patches.fixes/0001-drm-i915-audio-Hook-up-component-bindings-even-if-di.patch. - Refresh patches.fixes/0001-drm-i915-gen9-Fix-initial-readout-for-Y-tiled-frameb.patch. - Refresh patches.fixes/0001-drm-sti-do-not-remove-the-drm_bridge-that-was-never-.patch. - Refresh patches.fixes/0001-drm-virtio-fix-bounds-check-in-virtio_gpu_cmd_get_ca.patch. - commit 652fab5- soc/tegra: pmc: Fix child-node lookup (bsc#1051510). - serial: 8250: Fix clearing FIFOs in RS485 mode again (bsc#1051510). - staging: comedi: ni_mio_common: protect register write overflow (bsc#1051510). - iio: adc: at91: fix wrong channel number in triggered buffer mode (bsc#1051510). - iio: adc: at91: fix acking DRDY irq on simple conversions (bsc#1051510). - iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs() (bsc#1051510). - commit 9f4f0cc- media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD (bsc#1051510). - media: cx231xx: fix potential sign-extension overflow on large shift (bsc#1051510). - media: pci: cx23885: handle adding to list failure (bsc#1051510). - media: vsp1: Fix YCbCr planar formats pitch calculation (bsc#1051510). - media: tvp5150: fix switch exit in set control handler (bsc#1051510). - media: tvp5150: fix width alignment during set_selection() (bsc#1051510). - media: em28xx: fix input name for Terratec AV 350 (bsc#1051510). - media: em28xx: use a default format if TRY_FMT fails (bsc#1051510). - media: tvp5150: avoid going past array on v4l2_querymenu() (bsc#1051510). - media: dvb: fix compat ioctl translation (bsc#1051510). - media: uvcvideo: Fix uvc_alloc_entity() allocation alignment (bsc#1051510). - commit 0831c5e- drm/i915/dp: Link train Fallback on eDP only if fallback link BW can fit panel's native mode (bsc#1051510). - drm/i915: Restore vblank interrupts earlier (bsc#1051510). - commit daf120f- tools build: fix # escaping in .cmd files for future Make (git-fixes). - Kbuild: fix # escaping in .cmd files for future Make (git-fixes). - commit 8f11ec3- Add reference to bsc#1104124 to patches.fixes/fs-aio-fix-the-increment-of-aio-nr-and-counting-agai.patch - commit f60e64b- blacklist.conf: add a kasan fix - commit c85e2d1- random: rate limit unseeded randomness warnings (git-fixes). - commit be52b92- move changes without Git-commit out of sorted section - commit cbf049e- Add version information to KLP_SYMBOLS file - commit f77f8d2- Refresh patch tag of upstreamed patches and move to sorted section - commit a966b56- usb: gadget: fsl_udc_core: fixup struct_udc_setup documentation (bsc#1051510). - usb: gadget: fsl_udc_core: check allocation return value and cleanup on failure (bsc#1051510). - commit c1b7b66- blacklist.conf: Add ASoC and USB entries that may break kABI - commit 199a072- NFC: nfcmrvl_uart: fix OF child-node lookup (bsc#1051510). - kernfs: update comment about kernfs_path() return value (bsc#1051510). - usbip: tools: fix atoi() on non-null terminated string (bsc#1051510). - USB: serial: cypress_m8: fix interrupt-out transfer length (bsc#1051510). - usb: chipidea: Prevent unbalanced IRQ disable (bsc#1051510). - commit 6c9d1e7- powerpc/pseries: Fix "OF: ERROR: Bad of_node_put() on /cpus" during DLPAR (FATE#326628, bsc#1113295). - Refresh patches.arch/hotplug-cpu-Conditionally-acquire-release-DRC-index.patch. - commit cf3caf9- tty: fix data race between tty_init_dev and flush of buf (bnc#1105428). - commit d1662c6- drm/i915/gen9+: Fix initial readout for Y tiled framebuffers (bsc#1113722) - commit 0e8f289- powerpc: pseries: remove dlpar_attach_node dependency on full path (FATE#326628, bsc#1113295). - Refresh patches.arch/powerpc-pseries-Fix-parent_dn-reference-leak-in-add_.patch. - commit 01fc86e- tty/ldsem: Decrement wait_readers on timeouted down_read() (bnc#1105428). - commit cb04f9d- tty/ldsem: Add lockdep asserts for ldisc_sem (bnc#1105428). - commit ac6d068- tty/ldsem: Convert to regular lockdep annotations (bnc#1105428). - commit 7d9663d- tty: Simplify tty->count math in tty_reopen() (bnc#1105428). - commit 26f737e- tty: Hold tty_ldisc_lock() during tty_reopen() (bnc#1105428). - commit cdebccb- tty/ldsem: Wake up readers after timed out down_write() (bnc#1105428). - commit b5397b5- drm/amdgpu/powerplay: fix missing break in switch statements (bsc#1113722) - commit d8335be- drm/hisilicon: hibmc: Don't overwrite fb helper surface depth (bsc#1113722) - commit 724e354- cdrom: fix improper type cast, which can leat to information leak (CVE-2018-18710,bsc#1113751). - commit 1ead5be- blacklist.conf: Blacklist 078d5039a13d - commit ad5c0a6- blacklist.conf: Blacklist 573e1784817c - commit eda7ca6- drm/hisilicon: hibmc: Do not carry error code in HiBMC framebuffer (bsc#1113722) - commit bd3852b- drm/i915/audio: Hook up component bindings even if displays are (bsc#1113722) - commit 717c07b- blacklist.conf: Append 'drm/i915: Restore user forcewake domains across suspend' - commit 9ac3dbb- drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset() (bsc#1113722) - commit 0a4cfd8- blacklist.conf: Append 'Revert "drm: crc: Wait for a frame before returning from open()"' - commit d49a532- drm/sti: do not remove the drm_bridge that was never added (bsc#1100132) - commit 473bdf0- of: add helper to lookup compatible child node (bsc#1106110) - commit 289c86e- powerpc/mm/hugetlb: initialize the pagetable cache correctly for hugetlb (bsc#1091800). - commit 3c8d710- drm/msm: fix OF child-node lookup (bsc#1106110) - commit b8a96ce- drm/mediatek: fix OF sibling-node lookup (bsc#1106110) - commit abf06ce- btrfs: Ensure btrfs_trim_fs can trim the whole filesystem (bsc#1113667). - commit ea270ee- btrfs: Enhance btrfs_trim_fs function to handle error better (Dependency for bsc#1113667). - commit e04f37d- Refresh & sort upstreamed scsi patches that landed in 4.20-rc1 - commit 1c95aa5- blacklist.conf: Add entries that were reverted in stable tree - commit 7da9695- Documentation/l1tf: Fix small spelling typo (bsc#1051510). - Refresh patches.arch/kvm-vmx-tell-the-nested-hypervisor-to-skip-l1d-flush-on-vmentry. - blacklist.conf: Remove the documentation fix commit we're adding here - commit 324f5d6- hwrng: core - document the quality field (bsc#1051510). - crypto: lrw - Fix out-of bounds access on counter overflow (bsc#1051510). - crypto: tcrypt - fix ghash-generic speed test (bsc#1051510). - crypto: caam - fix implicit casts in endianness helpers (bsc#1051510). - PCI/ASPM: Fix link_state teardown on device removal (bsc#1051510). - mfd: arizona: Correct calling of runtime_put_sync (bsc#1051510). - commit 3a46ec1- ASoC: intel: skylake: Add missing break in skl_tplg_get_token() (bsc#1051510). - ALSA: hda: Add 2 more models to the power_save blacklist (bsc#1051510). - ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) (bsc#1051510). - ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715 (bsc#1051510). - ALSA: hda - Fix headphone pin config for ASUS G751 (bsc#1051510). - ALSA: hda - Add quirk for ASUS G751 laptop (bsc#1051510). - ALSA: usb-audio: update quirk for B&W PX to remove microphone (bsc#1051510). - ALSA: hda: fix unused variable warning (bsc#1051510). - commit e738dd9- powerpc/mm: Rename find_linux_pte_or_hugepte() (bsc#1061840). - KABI: powerpc: export __find_linux_pte as __find_linux_pte_or_hugepte (bsc#1061840). - Refresh patches.arch/KVM-PPC-Book3S-Fix-guest-DMA-when-guest-partially-ba.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Fix-handling-of-large-pages-in-rad.patch. - Refresh patches.arch/KVM-PPC-Check-if-IOMMU-page-is-contained-in-the-pinn.patch. - Refresh patches.arch/powerpc-introduce-get_mm_addr_key-helper.patch - commit 65dca83- rpm/kernel-binary.spec.in: allow unsupported modules for -extra (bsc#1111183). SLE-15 and later only. - commit 0d585a8- kabi/severities: ignore __xive_vm_h_* KVM internal symbols. - commit 48671d6- Update patches.arch/KVM-PPC-Book3S-HV-Snapshot-timebase-offset-on-guest-.patch (bsc#1061840, bsc#1086196). - Delete patches.arch/KVM-PPC-Book3S-HV-Disable-tb_offset.patch. - commit 1e43c4c- Move x86 patches that have been upstreamed into the sorted section Refreshed some patches to be applied cleanly, too. The expanded result is 100% identical with the state before this change. - commit d2d8b17- Update patch tag: patches.arch/x86-pti-xenpv-dont-report-as-vulnerable.patch - commit f902aac- xfs: don't fail when converting shortform attr to long form during ATTR_REPLACE (bsc#1105025). - commit 23725d0- iwlwifi: pcie gen2: check iwl_pcie_gen2_set_tb() return value (bsc#1051510). - iwlwifi: pcie: gen2: build A-MSDU only for GSO (bsc#1051510). - commit ae71040- Update & sort upstreamed nvme patches - commit 9487773- xfrm: use complete IPv6 addresses for hash (bsc#1109330). - commit edb4e4e- ethtool: fix a privilege escalation bug (bsc#1076830). - commit eb308cd- blacklist.conf: Add 60ca05c3b445 Documentation/l1tf: Fix small spelling typo - commit bcf8eae- loop: fix LOOP_GET_STATUS lock imbalance (bsc#1113284). - commit 5201e63- USB: remove LPM management from usb_driver_claim_interface() (bsc#1051510). - Refresh patches.drivers/USB-fix-error-handling-in-usb_driver_claim_interface.patch. - commit 2bd2e21- blacklist.conf: added 0ce0bba4e5e0 as it has too many dependencies on other patches and is only a small enhancement (no bug correction) - commit c03f1e9- Refresh patches.fixes/xen-xsa270-fix.patch: add upstream commit-id and move it to the sorted area in series.conf - commit 072bdae- jbd2: fix use after free in jbd2_log_do_checkpoint() (bsc#1113257). - commit 596d6c3- signal: Properly deliver SIGSEGV from x86 uprobes (bsc#1110006). - commit 3269a6e- mac80211: minstrel: fix using short preamble CCK rates on HT clients (bsc#1051510). - iwlwifi: mvm: clear HW_RESTART_REQUESTED when stopping the interface (bsc#1051510). - iwlwifi: mvm: check for n_profiles validity in EWRD ACPI (bsc#1051510). - iwlwifi: mvm: Allow TKIP for AP mode (bsc#1051510). - iwlwifi: dbg: don't crash if the firmware crashes in the middle of a debug dump (bsc#1051510). - iwlwifi: mvm: send BCAST management frames to the right station (bsc#1051510). - ACPI / processor: Fix the return value of acpi_processor_ids_walk() (bsc#1051510). - i2c: rcar: cleanup DMA for all kinds of failure (bsc#1051510). - drm/edid: VSDB yCBCr420 Deep Color mode bit definitions (bsc#1051510). - clocksource/drivers/ti-32k: Add CLOCK_SOURCE_SUSPEND_NONSTOP flag for non-am43 SoCs (bsc#1051510). - drm: mali-dp: Call drm_crtc_vblank_reset on device init (bsc#1051510). - media: af9035: prevent buffer overflow on write (bsc#1051510). - drm/i915/glk: Add Quirk for GLK NUC HDMI port issues (bsc#1051510). - commit d3ef3e7- x86/eisa: Add missing include (bsc#1110006). - Refresh patches.arch/x86-eisa-don-t-probe-eisa-bus-for-xen-pv-guests. - commit 57cec9b- x86/fpu: Remove second definition of fpu in __fpu__restore_sig() (bsc#1110006). - commit b660f5e- x86/time: Correct the attribute on jiffies' definition (bsc#1110006). - commit 885e86c- x86/percpu: Fix this_cpu_read() (bsc#1110006). - commit 0233af7- x86/boot: Move EISA setup to a separate file (bsc#1110006). - x86/EISA: Don't probe EISA bus for Xen PV guests (bsc#1110006). - Refresh patches.arch/19-x86-entry-64-move-the-ist-stacks-into-struct-cpu_entry_area.patch. - commit a5799f5- kprobes/x86: Fix %p uses in error messages (bsc#1110006). - commit fb3eeb4- blacklist.conf: Add b7b73cd5d746 crypto: x86/salsa20 - remove x86 salsa20 implementations - commit c51f1c8- x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read() (bsc#1110006). - commit 3dc5215- x86/acpi: Prevent X2APIC id 0xffffffff from being accounted (bsc#1110006). - commit 274ac9d- blacklist.conf: Add arch/x86/um - commit 7688a2d- blacklist.conf: Add 4d1a535b8ec5 um: Use POSIX ucontext_t instead of struct ucontext - commit a390c7e- blacklist.conf: Add 8a331f4a0863 x86/mce/AMD: Carve out SMCA get_block_address() code - commit 6260365- x86/cpufeatures: Add Intel Total Memory Encryption cpufeature (bsc#1110006). - commit f0bb5db- blacklist.conf: Add d5028ba8ee5a objtool, retpolines: Integrate objtool with retpoline support more closely - commit 1d09c07- blacklist.conf: Add 700b7c5409c3 x86/asm: Improve how GEN_*_SUFFIXED_RMWcc() specify clobbers - commit c180f6a- blacklist.conf: Add 3b3a9268bba6 x86/mm: Remove stale comment about KMEMCHECK - commit feffe23- blacklist.conf: Add b399151cb48d x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping - commit b15eecb- x86/kasan: Panic if there is not enough memory to boot (bsc#1110006). - commit fb9f1fc- x86/cpufeature: Add User-Mode Instruction Prevention definitions (bsc#1110006). - commit 0e0e81a- blacklist.conf: Add 4675ff05de2d kmemcheck: rip it out - commit 949cfa4- blacklist.conf: Add d8be75663cec kmemcheck: remove whats left of NOTRACK flags - commit 5904402- blacklist.conf: Add 75f296d93bce kmemcheck: stop using GFP_NOTRACK and SLAB_NOTRACK - commit 90f82ae- blacklist.conf: Add 2d0b95300db x86/insn-eval: Add utility functions to get segment selector - commit f98113f- blacklist.conf: Add f3a624e901c6 x86/cpufeatures: Fix various details in the feature definitions - commit 5b5313e- blacklist.conf: Add acbc845ffefd x86/cpufeatures: Re-tabulate the X86_FEATURE definitions - commit 520e9bf- blacklist.conf: Add 4375c29985f1 x86/xen: Provide pre-built page tables only for CONFIG_XEN_PV=y and CONFIG_XEN_PVH=y - commit bdc9e91- blacklist.conf: Add 12a8cc7fcf54 x86/kasan: Use the same shadow offset for 4- and 5-level paging - commit 55c2333- blacklist.conf: Add 3c52b5c64326 x86/asm: Remove unnecessary \n\t in front of CC_SET() from asm templates - commit 1572a99- blacklist.conf: Add 890da9cf0983 Revert "x86: do not use cpufreq_quick_get() for /proc/cpuinfo "cpu MHz"" - commit 65a0d66- xen: Remove unnecessary BUG_ON from __unbind_from_irq() (bnc#1065600). - commit 23eb96a- blacklist.conf: Blacklist tools/testing/selftests/ - commit 774f832- xen-swiotlb: fix the check condition for xen_swiotlb_free_coherent (bnc#1065600). - commit 02af14f- scsi: core: Allow state transitions from OFFLINE to BLOCKED (bsc#1112246). - commit 034f4ab- xen/gntdev: avoid out of bounds access in case of partial gntdev_mmap() (bnc#1065600). - commit e8abcae- scsi: libfc: check fc_frame_payload_get() return value for null (bsc#1104731). - commit 4a5ddfb- scsi: libfc: retry PRLI if we cannot analyse the payload (bsc#1104731). - commit b5e815d- x86/paravirt: Fix some warning messages (bnc#1065600). - commit 5532422- rculist: Improve documentation for list_for_each_entry_from_rcu() (bsc#1084760). - NFS: Avoid quadratic search when freeing delegations (bsc#1084760). - rculist: add list_for_each_entry_from_rcu() (bsc#1084760). - commit 73b9891- kvm: x86: Set highest physical address bits in non-present/reserved SPTEs (bsc#1106240). - commit 423e118- KVM: SVM: Add MSR-based feature support for serializing LFENCE (bsc#1106240). - KVM: VMX: support MSR_IA32_ARCH_CAPABILITIES as a feature MSR (bsc#1106240). - KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry (bsc#1106240). - KVM: x86: Add a framework for supporting MSR-based features (bsc#1106240). - KVM: X86: Introduce kvm_get_msr_feature() (bsc#1106240). - kABI: Hide get_msr_feature() in kvm_x86_ops (bsc#1106240). - blacklist.conf: Add 518e7b94817a KVM: X86: Allow userspace to define the microcode version - Refresh patches.arch/36-x86-bugs-kvm-extend-speculation-control-for-virt_spec_ctrl.patch. - Refresh patches.arch/44-kvm-svm-implement-virt_spec_ctrl-support-for-ssbd.patch. - Refresh patches.kabi/fix-kvm-kabi.patch. - commit 7c74fa0- smb2: fix missing files in root share directory listing (bsc#1112907). - commit 46fa9a8- smb3: fix reset of bytes read and written stats (bsc#1112906). - commit 37b0dd6- smb3: fill in statfs fsid and correct namelen (bsc#1112905). - commit 3170c32- cifs: Fix use after free of a mid_q_entry (bsc#1112903). - commit 59c5474- CIFS: check for STATUS_USER_SESSION_DELETED (bsc#1112902). - commit fc3cc61- smb3: on reconnect set PreviousSessionId field (bsc#1112899). - commit 37c1dc0- cifs: fix memory leak in SMB2_open() (bsc#1112894). - commit 00b7823- HID: quirks: fix support for Apple Magic Keyboards (bsc#1051510). - commit a6ba2b6- rpmsg: Correct support for MODULE_DEVICE_TABLE() (git-fixes). - commit a6ff26a- series.conf: moved some Xen patches to the sorted region xen/blkfront: correct purging of persistent grants (bnc#1112514). - commit 269a89f- powerpc/pseries: Fix CONFIG_NUMA=n build (FATE#323745, FATE#322022, bsc#1067906, git-fixes). - powerpc/pseries: Fix build break for SPLPAR=n and CPU hotplug (FATE#323746, bsc#1079524, git-fixes). - Refresh patches.arch/powerpc-topology-Get-topology-for-shared-processors-.patch. - commit 1ac9292- blacklist.conf: add debugfs removal protection rework (bsc#1109911). This introduces semantic changes that break the kABI in a way that is not worth working around. - commit 9a0c809- blacklist.conf: Add a stable patch that is reverted 95e057e25892 KVM: X86: Fix SMRAM accessing even if VM is shutdown 2c151b25441a Revert "KVM: X86: Fix SMRAM accessing even if VM is shutdown" - commit 5cd21ff- blacklist.conf: Blacklist PCI stable commits 7506dc798993 and 79aa801e8994 79aa801e8994 PCI: hv: Use effective affinity mask 7506dc798993 PCI: Add wrappers for dev_printk() - commit 21a280c- PCI: hv: Do not wait forever on a device that has disappeared (bsc#1109806). - Refresh patches.suse/msft-hv-1728-PCI-hv-Disable-enable-IRQs-rather-than-BH-in-hv_comp.patch. - commit 9972a8c- blacklist.conf: add some clang and typo fixes - commit 413a83a- bdi: Preserve kabi when adding cgwb_release_mutex (bsc#1112746). - commit 8f875e8- iommu/vt-d: Fix dev iotlb pfsid use (bsc#1106237). - iommu/vt-d: Add definitions for PFSID (bsc#1106237). - commit 3ec7bb4- iommu/arm-smmu: Error out only if not enough context interrupts (bsc#1106237). - commit ee44345- iommu/vt-d: Fix scatterlist offset handling (bsc#1106237). - commit 6b0b30d- blacklist.conf: Add two x86 selftest fixes 327d53d005ca selftests/x86/entry_from_vm86: Exit with 1 if we fail 78393fdde2a4 selftests/x86/entry_from_vm86: Add test cases for POPF - commit ad5b66b- drm/sun4i: Fix an ulong overflow in the dotclock driver (bsc#1106110) - commit 2ecbb1f- blacklist.conf: Blacklist 2fa147bdbf67 - commit aa66291- bdi: Fix another oops in wb_workfn() (bsc#1112746). - commit 09dea87- fs/quota: Fix spectre gadget in do_quotactl (bsc#1112745). - commit 58e0987- ext4: don't mark mmp buffer head dirty (bsc#1112743). - commit e1b1717- ext4: show test_dummy_encryption mount option in /proc/mounts (bsc#1112741). - commit bf6af08- ext4: fix online resizing for bigalloc file systems with a 1k block size (bsc#1112740). - commit 755fb2e- ext4: fix online resize's handling of a too-small final block group (bsc#1112739). - commit 4241727- ext4: recalucate superblock checksum after updating free blocks/inodes (bsc#1112738). - commit d66ab05- ext4: avoid arithemetic overflow that can trigger a BUG (bsc#1112736). - commit 568d77e- ext4: avoid divide by zero fault when deleting corrupted inline directories (bsc#1112735). - commit 60df32c- ext4: check to make sure the rename(2)'s destination is not freed (bsc#1112734). - commit 1e2b6d8- ext4: fix spectre gadget in ext4_mb_regular_allocator() (bsc#1112733). - commit 43aee3f- ext4: check for NUL characters in extended attribute's name (bsc#1112732). - commit 051f809- ext4: reset error code in ext4_find_entry in fallback (bsc#1112731). - commit 2423ca0- blacklist.conf: Append 'drm/syncobj: Don't leak fences when WAIT_FOR_SUBMIT is set' - commit 8d4c3e3- cdc-acm: fix race between reset and control messaging (bsc#1051510). - Input: atakbd - fix Atari CapsLock behaviour (bsc#1051510). - Input: atakbd - fix Atari keymap (bsc#1051510). - intel_th: pci: Add Ice Lake PCH support (bsc#1051510). - batman-adv: fix hardif_neigh refcount on queue_work() failure (bsc#1051510). - batman-adv: fix backbone_gw refcount on queue_work() failure (bsc#1051510). - batman-adv: Avoid probe ELP information leak (bsc#1051510). - commit d93a6b6- blacklist.conf: Add a cpufreq reverting commit - commit a201876- blk-mq: I/O and timer unplugs are inverted in blktrace (bsc#1112713). - commit d64676d- block: bfq: swap puts in bfqg_and_blkg_put (bsc#1112712). - commit 3937d10- loop: add recursion validation to LOOP_CHANGE_FD (bsc#1112711). - commit ff26b7f- blacklist.conf: Blacklist d3349b6b3c37 - commit 09777ad- loop: don't call into filesystem while holding lo_ctl_mutex (bsc#1112710). - commit 63bdbdf- block, bfq: fix wrong init of saved start time for weight raising (bsc#1112708). - commit b8dbd55- drm/amdgpu: Fix vce work queue was not cancelled when suspend (bsc#1106110) - commit 223f5ac- Fix kABI for "Ensure we commit after writeback is complete" (bsc#1111809). - commit e67052d- NFS: Ensure we commit after writeback is complete (bsc#1111809). - commit f42d953- reiserfs: don't panic on bad directory entries (bsc#1109818). - reiserfs: add check to detect corrupted directory entry (bsc#1109818). - commit deb9838- kvm: Make VM ioctl do valloc for some archs (bsc#1111506). - KVM: x86: define SVM/VMX specific kvm_arch_[alloc|free]_vm (bsc#1111506). - kvm/x86: kABI fix for vm_alloc/vm_free changes (bsc#1111506). - Refresh patches.arch/01-x86-KVM-Warn-user-if-KVM-is-loaded-SMT-and-L1TF-CPU-.patch. - Refresh patches.arch/44-kvm-svm-implement-virt_spec_ctrl-support-for-ssbd.patch. - Refresh patches.kabi/fix-kvm-kabi.patch. - commit be44bf0- dax: Fix deadlock in dax_lock_mapping_entry() (bsc#1109951). - commit 6f280f7- ext2, dax: set ext2_dax_aops for dax files (bsc#1112554). - commit dd35f89- blacklist.conf: Import more entries from "easter egg" The blacklist entries for stable trees that have been kept internally are imported here. Some commit IDs are for stable git tree, not Linus tree. - commit 02f457e- sched/numa: Limit the conditions where scan period is reset (fate#326522). - commit 3699e54- Update tags patches.fixes/mm-Preserve-_PAGE_DEVMAP-across-mprotect-calls.patch. - commit f0e8a69- bpf/verifier: disallow pointer subtraction (bsc#1083647). - commit 0dd7d65- bpf: 32-bit RSH verification must truncate input before the ALU op (bsc#1112372 CVE-2018-18445). - commit 9004fee- powerpc/powernv/ioda2: Reduce upper limit for DMA window size (bsc#1055120). - commit 5723dd6- hv: avoid crash in vmbus sysfs files (bnc#1108377). - commit 1dc9562- scripts/series2git: Revert the change mistakenly taken A "fix" for series2git went in mistakenly among other patches. Revert it here. It'll be picked up from a proper branch if need. - commit 4463d2b- mach64: detect the dot clock divider correctly on sparc (bsc#1051510). - drm/amdgpu: Fix SDMA HQD destroy error on gfx_v7 (bsc#1051510). - commit 6ef7e4c- mmc: block: avoid multiblock reads for the last sector in SPI mode (bsc#1051510). - qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface (bsc#1051510). - i2c: i2c-scmi: fix for i2c_smbus_write_block_data (bsc#1051510). - xhci: Don't print a warning when setting link state for disabled ports (bsc#1051510). - commit 4765254- clk: x86: Stop marking clocks as CLK_IS_CRITICAL (bsc#1051510). - clk: x86: add "ether_clk" alias for Bay Trail / Cherry Trail (bsc#1051510). - commit 98a57f6- ASoC: Intel: Skylake: Reset the controller in probe (bsc#1051510). - ASoC: rsnd: adg: care clock-frequency size (bsc#1051510). - ASoC: rsnd: don't fallback to PIO mode when -EPROBE_DEFER (bsc#1051510). - ASoC: rt5514: Fix the issue of the delay volume applied again (bsc#1051510). - ASoC: sigmadsp: safeload should not have lower byte limit (bsc#1051510). - ASoC: wm8804: Add ACPI support (bsc#1051510). - sound: don't call skl_init_chip() to reset intel skl soc (bsc#1051510). - sound: enable interrupt after dma buffer initialization (bsc#1051510). - scripts/series2git: - commit 0b6b9ae- blacklist.conf: tracing: we do not have support for recording tgid of tasks (bsc#1112221) - commit 44f8248- Update patches.suse/n_tty-fix-EXTPROC-vs-ICANON-interaction-with-TIOCINQ.patch (bnc#1094825 bnc#1094825 bnc#1110711 CVE-2018-18386). Add few more bug references. - commit 4828f50- Use upstream version of pci-hyperv patch (35a88a1) - commit 8e9eeb6- hv_netvsc: fix schedule in RCU context (fate#323887). - commit 0b48504- rename a hv patch to reduce conflicts in -AZURE - commit fe9e48c- blacklist.conf: Blacklsit a fix for a selftest for which the corresponding commit is not in the tree. - commit b571af7- tools/vm/page-types.c: fix "defined but not used" warning (bsc#1051510). - tools/vm/slabinfo.c: fix sign-compare warning (bsc#1051510). - commit c619f32- orangefs_kill_sb(): deal with allocation failures (bsc#1051510). - orangefs: fix deadlock; do not write i_size in read_iter (bsc#1051510). - orangefs: initialize op on loop restart in orangefs_devreq_read (bsc#1051510). - orangefs: use list_for_each_entry_safe in purge_waiting_ops (bsc#1051510). - commit 4e459f9- lib/ubsan: add type mismatch handler for new GCC/Clang (bsc#1051510). - lib/ubsan.c: s/missaligned/misaligned/ (bsc#1051510). - commit 3c2ef75- hfs: prevent crash on exit from failed search (bsc#1051510). - hfsplus: don't return 0 when fill_super() failed (bsc#1051510). - hfsplus: stop workqueue when fill_super() failed (bsc#1051510). - commit 0c45ade- enic: do not call enic_change_mtu in enic_probe (bsc#1051510). - enic: handle mtu change for vf properly (bsc#1051510). - enic: initialize enic->rfs_h.lock in enic_probe (bsc#1051510). - commit 301b62d- eeprom: at24: change nvmem stride to 1 (bsc#1051510). - eeprom: at24: check at24_read/write arguments (bsc#1051510). - eeprom: at24: correctly set the size for at24mac402 (bsc#1051510). - commit 8527cec- e1000: ensure to free old tx/rx rings in set_ringparam() (bsc#1051510). - e1000: check on netif_running() before calling e1000_up() (bsc#1051510). - commit 7b92e7c- coda: fix 'kernel memory exposure attempt' in fsync (bsc#1051510). - commit c648d53- clocksource/drivers/timer-atmel-pit: Properly handle error cases (bsc#1051510). - commit dae9c32- tracing: Add barrier to trace_printk() buffer nesting modification (bsc#1112219). - commit b1ad634- blacklist.conf: blktrace: fix races with init/start-stop/teardown and registering that were there for ages; not worth it - commit 275fc72- blacklist.conf: kmemcheck removal; not for released products - commit 5a49cb1- blacklist.conf: fixes rather rare races in CPU hotplug; there are many followup fixes; not worth the risk - commit de48873- printk/tracing: Do not trace printk_nmi_enter() (bsc#1112208). - commit 8f680aa- blacklist.conf: Blacklisted few printk/NMI fixes because we do not have the original problematic commit (bsc#1112173) - commit c538ae6- ath10k: fix kernel panic issue during pci probe (bsc#1051510). - commit 2680c3f- ath10k: fix scan crash due to incorrect length calculation (bsc#1051510). - ath10k: fix use-after-free in ath10k_wmi_cmd_send_nowait (bsc#1051510). - commit 6e6eb28- Refresh / sort upstreamed patches - commit 9130ba4- target: stash sess_err_stats on Data-Out timeout (bsc#1095805). - target: split out helper for cxn timeout error stashing (bsc#1095805). - target: log NOP ping timeouts as errors (bsc#1095805). - target: log Data-Out timeouts as errors (bsc#1095805). - target: use ISCSI_IQN_LEN in iscsi_target_stat (bsc#1095805). - commit b8a53d1- blacklist.conf: Backporting 5132ede0fe8092b043dae09a7cc32b8ae7272baa will actually cause kABI breakage because there should be no KMPs built with pre-retpoline compilers, says jikos. - commit 80c676e- printk: drop in_nmi check from printk_safe_flush_on_panic() (bsc#1112170). - commit f0a602e- Update patches.suse/n_tty-fix-EXTPROC-vs-ICANON-interaction-with-TIOCINQ.patch (bnc#1094825 CVE-2018-18386). - commit 54b2299- Annotate CVE/bug number for ocfs2 fix (CVE-2017-18224,bsc#1084831) - commit 9c90e15- blacklist.conf: Add fd97d39b0aa4 Revert "x86/asm: Allow again using asm.h when building for the 'bpf' clang target" Not a bug fix. - commit 9ecf1a2- Annotate CVE/bug number for a usbhid fix (CVE-2017-16533,bsc#1066674). - commit edf3e7e- ceph: avoid a use-after-free in ceph_destroy_options() (bsc#1111983). - commit 62ceccd- r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED (bsc#1051510). - commit c971fb2- qrtr: add MODULE_ALIAS macro to smd (bsc#1051510). - commit 31d8b8f- PCI: Reprogram bridge prefetch registers on resume (bsc#1051510). - commit ec49c2b- libertas: call into generic suspend code before turning off power (bsc#1051510). - commit 5d728bf- iwlwifi: mvm: open BA session only when sta is authorized (bsc#1051510). - commit a7e605a- hypfs_kill_super(): deal with failed allocations (bsc#1051510). - commit 87c9070- fbdev/omapfb: fix omapfb_memory_read infoleak (bsc#1051510). - debugobjects: Make stack check warning more informative (bsc#1051510). - commit 2756190- crypto: chelsio - Fix memory corruption in DMA Mapped buffers (bsc#1051510). - HID: sensor-hub: Restore fixup for Lenovo ThinkPad Helix 2 sensor hub report (bsc#1051510). - HID: hid-sensor-hub: Force logical minimum to 1 for power and report state (bsc#1051510). - commit 287d1a2- Fix some patch headers which diverge from RFC5322 Manually fix some patches which have an invalid header. - s390/sthyi: reorganize sthyi implementation (FATE#324258, LTC#160415, bsc#1068273). - s390/sthyi: add cache to store hypervisor info (FATE#324258, LTC#160415, bsc#1068273). - s390/sthyi: add s390_sthyi system call (FATE#324258, LTC#160415, bsc#1068273). - Refresh patches.drivers/scsi-qla2xxx-remove-irq-save-in-qla2x00_poll.patch. - Refresh patches.fixes/xen-fix-booting-ballooned-down-hvm-guest.patch. - xen/netfront: don't bug in case of too many frags (bnc#1104824). - Refresh patches.fixes/xen-support-more-32-vcpus-at-domain-restore.patch. - Refresh patches.fixes/xen-vcpu-simplify-xen_vcpu-related-code.patch. - commit f488e5f- scsi: target: prefer dbroot of /etc/target over /var/target (bsc#1111928). - commit 90cccba- powerpc/rtas: Fix a potential race between CPU-Offline & Migration (bsc#1111870). - commit 026dc74- Btrfs: send, fix invalid access to commit roots due to concurrent snapshotting (bsc#1111904). - commit a1ef375- Btrfs: fix mount failure after fsync due to hard link recreation (bsc#1103543). - commit 9fad86c- Btrfs: fix file data corruption after cloning a range and fsync (bsc#1111901). - commit 944429a- sock_diag: fix use-after-free read in __sk_free (bsc#1051510). - commit bff757c- squashfs: more metadata hardening (bsc#1051510). - commit 6ea48dd- stm: Potential read overflow in stm_char_policy_set_ioctl() (bsc#1051510). - commit 680b150- switchtec: Fix Spectre v1 vulnerability (bsc#1051510). - commit 6f8d9b6- team: Forbid enslaving team device to itself (bsc#1051510). - commit 5340d75- proc: restrict kernel stack dumps to root (git-fixes). blacklist.conf: - ovl: fix format of setxattr debug (git-fixes). - sysfs: Do not return POSIX ACL xattrs via listxattr (git-fixes). - apparmor: Check buffer bounds when mapping permissions mask (git-fixes). - aio: fix io_destroy(2) vs. lookup_ioctx() race (git-fixes). - commit b947702- ovl: Sync upper dirty data when syncing overlayfs (git-fixes). - commit ff5cd46- vmbus: don't return values for uninitalized channels (bsc#1051510). - commit da72041- vti6: remove !skb->ignore_df check from vti6_xmit() (bsc#1051510). - vti6: fix PMTU caching and reporting on xmit (bsc#1051510). - vti4: Don't count header length twice on tunnel setup (bsc#1051510). - commit c6608bb- usb: xhci-mtk: resume USB3 roothub first (bsc#1051510). - USB: serial: simple: add Motorola Tetra MTP6550 id (bsc#1051510). - usb: gadget: fotg210-udc: Fix memory leak of fotg210->ep[i] (bsc#1051510). - USB: yurex: Check for truncation in yurex_read() (bsc#1051510). - commit b76815c- xhci: Add missing CAS workaround for Intel Sunrise Point xHCI (bsc#1051510). - commit 18db61b- powerpc/smp: Add Power9 scheduler topology (bsc#1109695). - Refresh patches.arch/powerpc-topology-Get-topology-for-shared-processors-.patch. - powerpc/smp: Add cpu_l2_cache_map (bsc#1109695). - powerpc/smp: Rework CPU topology construction (bsc#1109695). - powerpc/smp: Use cpu_to_chip_id() to find core siblings (bsc#1109695). - commit 35958e3- scsi: ipr: Eliminate duplicate barriers (FATE#326436). - scsi: ipr: Use dma_pool_zalloc() (FATE#326436). - scsi: ipr: fix incorrect indentation of assignment statement (FATE#326436). - commit 954903e- mm: fix BUG_ON() in vmf_insert_pfn_pud() from VM_MIXEDMAP removal (bsc#1111841). - commit c82ee64- blacklist.conf: depends on blacklisted patch (kABI reasons) - commit fc0e041- blacklist.conf: breaks kABI by changing observable behavior - commit d003299- block: bvec_nr_vecs() returns value for wrong slab (bsc#1111834). - commit 0a7a1e1- scsi: qla2xxx: Fix memory leak for allocating abort IOCB (bsc#1111830). - commit 92a8229- ksm: fix unlocked iteration over vmas in cmp_and_merge_page() (VM Functionality bsc#1111806). - commit 6cf1086- blkdev_report_zones_ioctl(): Use vmalloc() to allocate large buffers (bsc#1111819). - commit a16c62f- x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit (bsc#1105536). - Refresh patches.arch/0001-x86-speculation-l1tf-Fix-off-by-one-error-when-warni.patch. - Refresh patches.arch/0001-x86-speculation-l1tf-Increase-l1tf-memory-limit-for-.patch. - Refresh patches.arch/x86-speculation-l1tf-extend-64bit-swap-file-size-limit. - Refresh patches.arch/x86-speculation-l1tf-protect-pae-swap-entries-against-l1tf. - commit 5db1aea- mm/migrate: Use spin_trylock() while resetting rate limit (FATE#326522). - Refresh patches.suse/mm-numa-Remove-rate-limiting-of-automatic-numa-balancing-migration.patch - commit afe3f1b- Refresh patches.suse/mm-numa-Migrate-pages-to-local-nodes-quicker-early-in-the-lifetime-of-a-task.patch. - Refresh patches.suse/mm-numa-Remove-rate-limiting-of-automatic-numa-balancing-migration.patch. - Refresh patches.suse/sched-numa-Avoid-task-migration-for-small-NUMA-improvement.patch. - Refresh patches.suse/sched-numa-Pass-destination-CPU-as-a-parameter-to-migrate_task_rq.patch. - Refresh patches.suse/sched-numa-Remove-numa_has_capacity.patch. - Refresh patches.suse/sched-numa-Reset-scan-rate-whenever-task-moves-across-nodes.patch. - Refresh patches.suse/sched-numa-Stop-multiple-tasks-from-moving-to-the-CPU-at-the-same-time.patch. - commit 16d8ab6- scsi: qla2xxx: Return switch command on a timeout (bsc#1108870). - commit 8e38f2a- rpc_pipefs: fix double-dput() (bsc#1051510). - commit 1a15e26- soreuseport: initialise timewait reuseport field (bsc#1051510). - commit bda2dcc- Squashfs: Compute expected length from inode size rather than block length (bsc#1051510). - commit 0c4a663- scsi: qla2xxx: Move log messages before issuing command to firmware (bsc#1108870). - scsi: qla2xxx: Fix for double free of SRB structure (bsc#1108870). - scsi: qla2xxx: Fix recursive mailbox timeout (bsc#1108870). - scsi: qla2xxx: Fix driver hang when FC-NVMe LUNs are configured (bsc#1108870). - scsi: qla2xxx: Fix re-using LoopID when handle is in use (bsc#1108870). - scsi: qla2xxx: Fix duplicate switch database entries (bsc#1108870). - scsi: qla2xxx: Fix NVMe Target discovery (bsc#1108870). - scsi: qla2xxx: Fix NVMe session hang on unload (bsc#1108870). - scsi: qla2xxx: don't allow negative thresholds (bsc#1108870). - commit 50fe149- squashfs metadata 2: electric boogaloo (bsc#1051510). - squashfs: more metadata hardening (bsc#1051510). - squashfs: be more careful about metadata corruption (bsc#1051510). - commit 9bfac39- powerpc/numa: Skip onlining a offline node in kdump path (bsc#1109784). - commit df87e51- README: Clean-up trailing whitespace - commit 06542f9- Update config files: update forgotten armv7hl configs - commit 7bae3a6- crypto: ccp - add timeout support in the SEV command (bsc#1106838). - commit 912dad4- README: Update documentation wrt. Patch-mainline Common practice is to set Patch-mainline to a Linux release tag. More than 95% of all patches follow this convention. The remaining 5% have been fixed accordingly in SLE15. The README file is inconsistent wrt. to the content of Patch-mainline. In some places it refers to a release tag, in others it refers to a version number. With this cleanup, it refers to release tags everywhere. This change is a follow-up for commit 1d81d2699cd3. - commit 57326f5- Fix Patch-mainline tags to refer to Linux release tag It is expected that Patch-mainline tags refer to a release tag in the Linux git tree, such as v4.15. Several patches contain a Patch-mainline tags that instead refer to a Linux version number, such as 4.15. This inconsistency complicates grepping and automation. 871 of 18000 patches are affected by this problem. - commit 1d81d26- blacklist.conf: Append 'Revert "drm: Use a flexible array member for blob property data"' - commit ddc67eb- Disable DRM patches that broke vbox video driver KMP (bsc#1111076) - commit 23943c6- blacklist.conf: Append 'drm/amd/pp: initialize result to before or'ing in data' - commit d2edcd9- drm/amdgpu: fix error handling in amdgpu_cs_user_fence_chunk (bsc#1106110) - commit 273a6bd- blacklist.conf: Add blacklist of inapplicable revert commits They are either not applicable or requiring more backports that aren't suitable for SLE15 - commit 987dd44- mwifiex: handle race during mwifiex_usb_disconnect (bsc#1051510). - Revert "mwifiex: handle race during mwifiex_usb_disconnect" (bsc#1051510). - media: videobuf-dma-sg: Fix dma_{sync,unmap}_sg() calls (bsc#1051510). - Revert "mwifiex: fix incorrect ht capability problem" (bsc#1051510). - PM / Domains: Fix genpd to deal with drivers returning 1 from - >prepare() (bsc#1051510). - Revert "pinctrl: sunxi: Don't enforce bias disable (for now)" (bsc#1051510). - commit fb6c36a- HID: hid-saitek: Add device ID for RAT 7 Contagion (bsc#1051510). - mac80211: shorten the IBSS debug messages (bsc#1051510). - mac80211: don't Tx a deauth frame if the AP forbade Tx (bsc#1051510). - mac80211: Fix station bandwidth setting after channel switch (bsc#1051510). - mac80211: fix a race between restart and CSA flows (bsc#1051510). - mac80211: do not convert to A-MSDU if frag/subframe limited (bsc#1051510). - mac80211: mesh: fix HWMP sequence numbering to follow standard (bsc#1051510). - mac80211_hwsim: correct use of IEEE80211_VHT_CAP_RXSTBC_X (bsc#1051510). - mac80211: correct use of IEEE80211_VHT_CAP_RXSTBC_X (bsc#1051510). - mac80211_hwsim: require at least one channel (bsc#1051510). - mac80211: Run TXQ teardown code before de-registering interfaces (bsc#1051510). - hwmon: (adt7475) Make adt7475_read_word() return errors (bsc#1051510). - hwmon: (ina2xx) fix sysfs shunt resistor read access (bsc#1051510). - commit af836cd- supported.conf: mark raspberrypi-hwmon as supported - commit af8ddda- arm64: Update config files. Enable SENSORS_RASPBERRYPI_HWMON - commit 2a83945- ALSA: hda/realtek - Cannot adjust speaker's volume on Dell XPS 27 7760 (bsc#1051510). - crypto: qat - Fix KASAN stack-out-of-bounds bug in adf_probe() (bsc#1051510). - crypto: mxs-dcp - Fix wait logic on chan threads (bsc#1051510). - floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl (bsc#1051510). - HID: add support for Apple Magic Keyboards (bsc#1051510). - gpio: Fix crash due to registration race (bsc#1051510). - gpiolib-acpi: Register GpioInt ACPI event handlers from a late_initcall (bsc#1051510). - gpio: adp5588: Fix sleep-in-atomic-context bug (bsc#1051510). - cfg80211: fix a type issue in ieee80211_chandef_to_operating_class() (bsc#1051510). - Revert "gpio: set up initial state from .get_direction()" (bsc#1051510). - gpio: mb86s70: Revert "Return error if requesting an already assigned gpio" (bsc#1051510). - commit 2759d22- hwmon: rpi: add module alias to raspberrypi-hwmon (bsc#1108468). - firmware: raspberrypi: Register hwmon driver (bsc#1108468). - hwmon: Add support for RPi voltage sensor (bsc#1108468). - ARM: bcm2835: Add GET_THROTTLED firmware property (bsc#1108468). - commit 218e534- drm/nouveau/disp: fix DP disable race (bsc#1051510). - drm/nouveau/TBDdevinit: don't fail when PMU/PRE_OS is missing from VBIOS (bsc#1051510). - drm/amdgpu: add another ATPX quirk for TOPAZ (bsc#1051510). - Revert "drm/amdgpu: Add an ATPX quirk for hybrid laptop" (bsc#1051510). - Revert "drm/i915/gvt: set max priority for gvt context" (bsc#1051510). - drm/amdgpu: Pulling old prepare and submit for flip back (bsc#1051510). - drm/amdgpu: revert "fix deadlock of reservation between cs and gpu reset v2" (bsc#1051510). - commit c5d4f7a- Add cherry-pick ID and sort the upstreamed drm/i915 patches - commit 862c3c5- blacklist.conf: fd97d39b0aa4 Revert "x86/asm: Allow again using asm.h when building for the 'bpf' clang target" - commit ac4dc3f- Revert "iommu/io-pgtable: Avoid redundant TLB syncs" (bsc#1106237). - commit 15db9ba- rename remaining hv related patches for pending updates in SLE15-SP1 - commit b23c32c- reorder a qedi patch to allow further work in this branch - commit c6d3048- Update kabi files: import from 4.12.14-lp150.12.19 - commit 641fc17- Update kabi files: import from 4.12.14-25.19.1 - commit 4acc575- Revert "slab: __GFP_ZERO is incompatible with a constructor" (bnc#1108828) This reverts commit de0a67303736262e306a3eb23aa38824b28c2764 because we still seem to have false possitives in the tree. - commit 799debc- cpufreq, intel_pstate: Allow unspecified FADT profile to probe PPC (bnc#1108841). - commit d63cba5- Correct the patch-tag in apparmor patch A wrong commit ID was put in Git-commit tag. After the correction, patches are re-sorted again. - commit 97e2d48- mm: Preserve _PAGE_DEVMAP across mprotect() calls (bsc#1111028). - commit 1783326- Revert "Limit kernel-source build to architectures for which we build binaries" This reverts commit d6435125446d740016904abe30a60611549ae812. - commit 48b03c4- cifs: integer overflow in in SMB2_ioctl() (bsc#1051510). - commit b6e2ad9- drm/i915: Handle incomplete Z_FINISH for compressed error states (bsc#1100132) - commit 64ea054- crypto: caam/jr - fix ablkcipher_edesc pointer arithmetic (bsc#1051510). - crypto: cavium/nitrox - fix for command corruption in queue full case with backlog submissions (bsc#1051510). - commit 4257b34- clk: clk-fixed-factor: Clear OF_POPULATED flag in case of failure (bsc#1051510). - clk: rockchip: Add pclk_rkpwm_pmu to PMU critical clocks in rk3399 (bsc#1051510). - clk: tegra: bpmp: Don't crash when a clock fails to register (bsc#1051510). - commit 48d4c05- ath10k: protect ath10k_htt_rx_ring_free with rx_ring.lock (bsc#1051510). - commit 74154cd- blacklist.conf: Add entries for mvebu-uart patches - commit adbfb7c- virtio: pci-legacy: Validate queue pfn (bsc#1051510). - commit b627e9e- tsl2550: fix lux1_input error in low light (bsc#1051510). - commit 5120650- usb: cdc_acm: Do not leak URB buffers (bsc#1051510). - commit d469a58- thermal: of-thermal: disable passive polling when thermal zone is disabled (bsc#1051510). - commit 8a954b3- rtc: bq4802: add error handling for devm_ioremap (bsc#1051510). - commit be9b7c6- PM / core: Clear the direct_complete flag on errors (bsc#1051510). - commit 84e267c- Refresh patches.arch/x86-decoder-add-new-test-instruction-pattern. Both arch/x86/lib/x86-opcode-map.txt and tools/objtool/arch/x86/.... have to be synced. In the upstream, it was done in a merge commit. - commit 6a08774- mac80211: fix setting IEEE80211_KEY_FLAG_RX_MGMT for AP mode keys (bsc#1051510). - commit 6ea5f12- irq/core: Fix boot crash when the irqaffinity= boot parameter is passed on CPUMASK_OFFSTACK=y kernels(v1) (bsc#1051510). - commit 9c04790- x86/vdso: Fix vDSO syscall fallback asm constraint regression (bsc#1110006). - commit 868515e- hwmon: (nct6775) Set weight source to zero correctly (bsc#1051510). - commit a2eb386- gpiolib: Free the last requested descriptor (bsc#1051510). - commit 83e4eb4- apparmor: Fix failure to audit context info in build_change_hat (bsc#1051510). - apparmor: Fully initialize aa_perms struct when answering userspace query (bsc#1051510). - fuse: Don't access pipe->buffers without pipe_lock() (bsc#1051510). - apparmor: fix ptrace read check (bsc#1051510). - apparmor: fix memory leak when deduping profile load (bsc#1051510). - apparmor: fix mediation of prlimit (bsc#1051510). - commit 1f347b9- Delete patches.drivers/IB-qedr-Remove-GID-add-del-dummy-routines.patch. (bsc#1110921) - commit fb74314- Add a cherry-picked id for apparmor fix - commit dac39d0- ipv4: fix use-after-free in ip_cmsg_recv_dstaddr() (git-fixes). - commit 539511e- iommu/amd: Clear memory encryption mask from physical address (bsc#1106105). - KVM: x86: Do not use kvm_x86_ops->mpx_supported() directly (bsc#1106240). - KVM: nVMX: Do not expose MPX VMX controls when guest MPX disabled (bsc#1106240). - commit 03846bc- blacklist.conf: Add cc51e5428ea5 x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ Fixes only an unlikely warning and breaks kABI, not worth the effort. - commit 262c2a7- x86/vdso: Fix asm constraints on vDSO syscall fallbacks (bsc#1110006). - commit 3d4afb6- udp: Unbreak modules that rely on external __skb_recv_udp() availability (bsc#1109151). - commit b99f6aa- PCI: dwc: Fix scheduling while atomic issues (git-fixes). - commit 7e30d08- scsi: qedi: Initialize the stats mutex lock (bsc#1110538). - qed: Add missing device config for RoCE EDPM in UFP mode (bsc#1109217). - scsi: qedi: Add the CRC size within iSCSI NVM image (bsc#1110538). - commit 0e0b19c- ARM: 8799/1: mm: fix pci_ioremap_io() offset check (bsc#1051510). - ARM: exynos: Clear global variable on init error path (bsc#1051510). - ARM: hisi: check of_iomap and fix missing of_node_put (bsc#1051510). - ARM: mvebu: declare asm symbols as character arrays in pmsu.c (bsc#1051510). - ARM: hwmod: RTC: Don't assume lock/unlock will be called with irq enabled (bsc#1051510). - commit d307599- Refresh patches.drivers/EDAC-Add-missing-MEM_LRDDR4-entry-in-edac_mem_types.patch. Fix error introduced by patch refresh in commit ee2ef7fc1962. - commit c2c6686- Revert "cdc-acm: implement put_char() and flush_chars()" (bsc#1051510). - commit 00ebbf6- USB: handle NULL config in usb_find_alt_setting() (bsc#1051510). - USB: fix error handling in usb_driver_claim_interface() (bsc#1051510). - usb: musb: dsps: do not disable CPPI41 irq in driver teardown (bsc#1051510). - usb: misc: uss720: Fix two sleep-in-atomic-context bugs (bsc#1051510). - usb: host: u132-hcd: Fix a sleep-in-atomic-context bug in u132_get_frame() (bsc#1051510). - usb: Avoid use-after-free by flushing endpoints early in usb_set_interface() (bsc#1051510). - usb: uas: add support for more quirk flags (bsc#1051510). - USB: Add quirk to support DJI CineSSD (bsc#1051510). - USB: yurex: Fix buffer over-read in yurex_write() (bsc#1051510). - USB: add quirk for WORLDE Controller KS49 or Prodipe MIDI 49C USB controller (bsc#1051510). - uwb: hwa-rc: fix memory leak at probe (bsc#1051510). - usb: wusbcore: security: cast sizeof to int for comparison (bsc#1051510). - commit 325b691- x86/MCE: Report only DRAM ECC as memory errors on AMD systems (bsc#1110006). - commit f4ebbb5- powerpc/pseries/mm: call H_BLOCK_REMOVE (bsc#1109158). - powerpc/pseries/mm: factorize PTE slot computation (bsc#1109158). - powerpc/pseries/mm: Introducing FW_FEATURE_BLOCK_REMOVE (bsc#1109158). - powerpc/pseries: Fix duplicate firmware feature for DRC_INFO (bsc#1109158). - powerpc/firmware: Add definitions for new drc-info firmware feature (bsc#1109158). - commit db82c02- KVM: x86: fix #UD address of failed Hyper-V hypercalls (bsc#1110006). - blacklist.conf: Blacklist MCE patch not relevant for SLE - lib/bug.c: exclude non-BUG/WARN exceptions from report_bug() (bsc#1110006). - PM: cpuidle: Fix cpuidle_poll_state_init() prototype (bsc#1110006). - commit ba6337f- EDAC, skx: Fix skx_edac build error when ACPI_NFIT=m (bsc#1099125). - commit bac1e6a- kabi protect enum mem_type (bsc#1099125). - commit 6b120fd- nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O (bsc#1107685). - Refresh patches.kabi/kABI-fixes-for-nvme-if_ready-checks-fail-io-to-deletin.patch. - commit b135e3b- Refresh patches.drivers/serial-imx-restore-handshaking-irq-for-imx1.patch Fix the build error due to forgotten quilt refresh. - commit 3fe34a7- blacklist.conf: Add a wlcore patch that isn't applicable (git-fixes) - commit 155b770- serial: 8250_exar: Read INT0 from slave device, too (bsc#1051510). - commit 1b0e22e- ACPICA: Reference Counts: increase max to 0x4000 for large servers (bsc#1108241). - commit bbbde90- Revert "ubifs: xattr: Don't operate on deleted inodes" (bsc#1051510). - ubifs: Check for name being NULL while mounting (bsc#1051510). - commit 91daddc- tty: vt_ioctl: fix potential Spectre v1 (bsc#1051510). - tty: Drop tty->count on tty_reopen() failure (bsc#1051510). - tty: serial: lpuart: avoid leaking struct tty_struct (bsc#1051510). - tty: rocket: Fix possible buffer overwrite on register_PCI (bsc#1051510). - drivers/tty: add error handling for pcmcia_loop_config (bsc#1051510). - tty: serial: exar: Relocate sleep wake-up handling (bsc#1051510). - commit 8bfe969- patches.fixes/x86-memory_failure-Introduce-set-clear-_mce_nospec.patch: One more fixup to avoid even warning about statement without effect. - commit ad22175- spi: rspi: Fix interrupted DMA transfers (bsc#1051510). - spi: rspi: Fix invalid SPI use during system suspend (bsc#1051510). - spi: sh-msiof: Fix handling of write value for SISTR register (bsc#1051510). - spi: sh-msiof: Fix invalid SPI use during system suspend (bsc#1051510). - spi: tegra20-slink: explicitly enable/disable clock (bsc#1051510). - commit e15b3cc- Update config files. - supported.conf: added cavium_ptp - commit b02b8f1- soc: fsl: qe: Fix copy/paste bug in ucc_get_tdm_sync_shift() (bsc#1051510). - soc: mediatek: pwrap: fix cipher init setting error (bsc#1051510). - commit 493cc64- serial: imx: restore handshaking irq for imx1 (bsc#1051510). - serial: cpm_uart: return immediately from console poll (bsc#1051510). - commit 6e6efed- qmi_wwan: set DTR for modems in forced USB2 mode (bsc#1051510). - media: davinci: vpif_display: Mix memory leak on probe error path (bsc#1051510). - media: s5p-mfc: Fix buffer look up in s5p_mfc_handle_frame_{new, copy_time} functions (bsc#1051510). - media: helene: fix xtal frequency setting at power on (bsc#1051510). - media: videobuf2-core: check for q->error in vb2_core_qbuf() (bsc#1051510). - media: fsl-viu: fix error handling in viu_of_probe() (bsc#1051510). - media: soc_camera: ov772x: correct setting of banding filter (bsc#1051510). - media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power (bsc#1051510). - media: tm6000: add error handling for dvb_register_adapter (bsc#1051510). - NFC: trf7970a: fix check of clock frequencies, use && instead of || (bsc#1051510). - commit e9d3fa4- evm: Don't deadlock if a crypto algorithm is unavailable (bsc#1051510). - ethtool: Remove trailing semicolon for static inline (bsc#1051510). - commit 266906c- declance: Fix continuation with the adapter identification message (bsc#1051510). - drm/amdgpu: add new polaris pci id (bsc#1051510). - drm: udl: Destroy framebuffer only if it was initialized (bsc#1051510). - drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload (bsc#1051510). - drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early (bsc#1051510). - drm/nouveau: Fix deadlocks in nouveau_connector_detect() (bsc#1051510). - drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in connector_detect() (bsc#1051510). - drm/amdgpu: Update power state at the end of smu hw_init (bsc#1051510). - drm/amdgpu: Enable/disable gfx PG feature in rlc safe mode (bsc#1051510). - dmaengine: pl330: fix irq race with terminate_all (bsc#1051510). - drm/amdkfd: Fix error codes in kfd_get_process (bsc#1051510). - drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping (bsc#1051510). - drm/nouveau: Fix runtime PM leak in drm_open() (bsc#1051510). - drm/nouveau/debugfs: Wake up GPU before doing any reclocking (bsc#1051510). - drm/sun4i: Fix releasing node when enumerating enpoints (bsc#1051510). - commit 022b73c- batman-adv: Prevent duplicated tvlv handler (bsc#1051510). - batman-adv: Prevent duplicated global TT entry (bsc#1051510). - batman-adv: Prevent duplicated softif_vlan entry (bsc#1051510). - batman-adv: Prevent duplicated nc_node entry (bsc#1051510). - batman-adv: Prevent duplicated gateway_node entry (bsc#1051510). - batman-adv: Fix segfault when writing to sysfs elp_interval (bsc#1051510). - batman-adv: Fix segfault when writing to throughput_override (bsc#1051510). - batman-adv: Fix multicast TT issues with bogus ROAM flags (bsc#1051510). - commit 2541a15- asix: Check for supported Wake-on-LAN modes (bsc#1051510). - drivers/base: stop new probing during shutdown (bsc#1051510). - audit: fix use-after-free in audit_add_watch (bsc#1051510). - commit f16e19d- EDAC: Add new memory type for non-volatile DIMMs (bsc#1099125). - Refresh patches.drivers/EDAC-Add-missing-MEM_LRDDR4-entry-in-edac_mem_types.patch. - commit ee2ef7f- qlcnic: fix Tx descriptor corruption on 82xx devices (bsc#1050540 FATE#322896). - commit 15269ed- Backport stable-patches for x86 architecture - cpu/hotplug: Fix SMT supported evaluation (bsc#1110006). - efi: Avoid potential crashes, fix the 'struct efi_pci_io_protocol_32' definition for mixed mode (bsc#1110006). - kprobes/x86: Disable preemption in ftrace-based jprobes (bsc#1110006). - kprobes/x86: Prohibit probing on exception masking instructions (bsc#1110006). - KVM: lapic: stop advertising DIRECTED_EOI when in-kernel IOAPIC is in use (bsc#1110006). - kvm, mm: account shadow page tables to kmemcg (bsc#1110006). - KVM: nVMX: Don't halt vcpu when L1 is injecting events to L2 (bsc#1110006). - KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely() (bsc#1110006). - KVM: VMX: raise internal error for exception during invalid protected mode state (bsc#1110006). - KVM: vmx: track host_state.loaded using a loaded_vmcs pointer (bsc#1110006). - KVM: vmx: use local variable for current_vmptr when emulating VMPTRST (bsc#1110006). - KVM: x86: fix escape of guest dr6 to the host (bsc#1110006). - KVM: X86: fix incorrect reference of trace_kvm_pi_irte_update (bsc#1110006). - kvm: x86: fix KVM_XEN_HVM_CONFIG ioctl (bsc#1110006). - KVM: X86: Fix reserved bits check for MOV to CR3 (bsc#1110006). - KVM: x86: remove APIC Timer periodic/oneshot spikes (bsc#1110006). - KVM: x86: Update cpuid properly when CR4.OSXAVE or CR4.PKE is changed (bsc#1110006). - kvmclock: fix TSC calibration for nested guests (bsc#1110006). - objtool, kprobes/x86: Sync the latest header with tools/objtool/arch/x86/include/asm/insn.h (bsc#1110006). - perf/x86/amd/ibs: Don't access non-started event (bsc#1110006). - perf/x86/cstate: Fix possible Spectre-v1 indexing for pkg_msr (bsc#1110006). - perf/x86: Fix possible Spectre-v1 indexing for hw_perf_event cache_* (bsc#1110006). - perf/x86: Fix possible Spectre-v1 indexing for x86_pmu::event_map() (bsc#1110006). - perf/x86/intel: Don't accidentally clear high bits in bdw_limit_period() (bsc#1110006). - perf/x86/intel: Fix event update for auto-reload (bsc#1110006). - perf/x86/intel: Fix large period handling on Broadwell CPUs (bsc#1110006). - perf/x86/intel: Fix linear IP of PEBS real_ip on Haswell and later CPUs (bsc#1110006). - perf/x86/intel/lbr: Fix incomplete LBR call stack (bsc#1110006). - perf/x86/intel: Properly save/restore the PMU state in the NMI handler (bsc#1110006). - perf/x86/intel/uncore: Correct fixed counter index check for NHM (bsc#1110006). - perf/x86/intel/uncore: Correct fixed counter index check in generic code (bsc#1110006). - perf/x86/intel/uncore: Fix Skylake UPI event format (bsc#1110006). - perf/x86/msr: Fix possible Spectre-v1 indexing in the MSR driver (bsc#1110006). - ptrace,x86: Make user_64bit_mode() available to 32-bit builds (bsc#1110006). - selftests/x86: Add tests for the STR and SLDT instructions (bsc#1110006). - selftests/x86: Add tests for User-Mode Instruction Prevention (bsc#1110006). - tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all} (bsc#1110006). - uprobes/x86: Prohibit probing on MOV SS instruction (bsc#1110006). - vfs/proc/kcore, x86/mm/kcore: Fix SMAP fault when dumping vsyscall user page (bsc#1110006). - x86-64/realmode: Add instruction suffix (bsc#1110006). - x86: Add check for APIC access address for vmentry of L2 guests (bsc#1110006). - x86/alternatives: Fixup alternative_call_2 (bsc#1110006). - x86/apic: Set up through-local-APIC mode on the boot CPU if 'noapic' specified (bsc#1110006). - x86/asm: Add _ASM_ARG* constants for argument registers to (bsc#1110006). - x86/asm: Allow again using asm.h when building for the 'bpf' clang target (bsc#1110006). - x86/asm: Don't use the confusing '.ifeq' directive (bsc#1110006). - x86/boot/64: Verify alignment of the LOAD segment (bsc#1110006). - x86/boot/compressed/64: Print error if 5-level paging is not supported (bsc#1110006). - x86/boot: Fix if_changed build flip/flop bug (bsc#1110006). - x86/boot: Relocate definition of the initial state of CR0 (bsc#1110006). - x86/build: Beautify build log of syscall headers (bsc#1110006). - x86: Call fixup_exception() before notify_die() in math_error() (bsc#1110006). - x86/CPU: Add a microcode loader callback (bsc#1110006). - x86/cpu/AMD: Apply the Erratum 688 fix when the BIOS doesn't (bsc#1110006). - x86/CPU/AMD: Have smp_num_siblings and cpu_llc_id always be present (bsc#1110006). - x86/CPU: Check CPU feature bits after microcode upgrade (bsc#1110006). - x86/cpu/intel: Add missing TLB cpuid values (bsc#1110006). - x86/cpufeatures: Add Intel PCONFIG cpufeature (bsc#1110006). - x86/debug: Handle warnings before the notifier chain, to fix KGDB crash (bsc#1110006). - x86/decoder: Add new TEST instruction pattern (bsc#1110006). - x86: Delay skip of emulated hypercall instruction (bsc#1110006). - x86/efi: Fix efi_call_phys_epilog() with CONFIG_X86_5LEVEL=y (bsc#1110006). - x86/entry/64: Add two more instruction suffixes (bsc#1110006). - x86/entry/64: Use 'xorl' for faster register clearing (bsc#1110006). - x86/entry: Reduce the code footprint of the 'idtentry' macro (bsc#1110006). - x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt() (bsc#1110006). - x86/fpu/debug: Remove unused 'x86_fpu_state' and 'x86_fpu_deactivate_state' tracepoints (bsc#1110006). - x86/fpu: Make XSAVE check the base CPUID features before enabling (bsc#1110006). - x86/fpu: Parse clearcpuid= as early XSAVE argument (bsc#1110006). - x86/fpu: Remove the explicit clearing of XSAVE dependent features (bsc#1110006). - x86/hyperv: Check for required priviliges in hyperv_init() (bsc#1110006). - x86: i8259: Add missing include file (bsc#1110006). - x86/intel_rdt: Enable CMT and MBM on new Skylake stepping (bsc#1110006). - x86/intel_rdt: Fix incorrect returned value when creating rdgroup sub-directory in resctrl file system (bsc#1110006). - x86/intel_rdt: Fix potential deadlock during resctrl mount (bsc#1110006). - x86/intel_rdt: Fix potential deadlock during resctrl unmount (bsc#1110006). - x86/irq: Remove an old outdated comment about context tracking races (bsc#1110006). - x86/Kconfig: Limit NR_CPUS on 32-bit to a sane amount (bsc#1110006). - x86/kexec: Make kexec (mostly) work in 5-level paging mode (bsc#1110006). - x86/kprobes: Fix kernel crash when probing .entry_trampoline code (bsc#1110006). - x86: kvm: avoid unused variable warning (bsc#1110006). - x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() (bsc#1110006). - x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() (bsc#1110006). - x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() (bsc#1110006). - x86/kvm/vmx: Remove duplicate l1d flush definitions (bsc#1110006). - x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' (bsc#1110006). - x86/LDT: Avoid warning in 32-bit builds with older gcc (bsc#1110006). - x86/mce: Add notifier_block forward declaration (bsc#1110006). - x86/MCE/AMD: Define a function to get SMCA bank type (bsc#1110006). - x86/mce/AMD: Get address from already initialized block (bsc#1110006). - x86/mce: Check for alternate indication of machine check recovery on Skylake (bsc#1110006). - x86/mce: Do not overwrite MCi_STATUS in mce_no_way_out() (bsc#1110006). - x86/mce: Fix incorrect "Machine check from unknown source" message (bsc#1110006). - x86/MCE: Remove min interval polling limitation (bsc#1110006). - x86/MCE: Serialize sysfs changes (bsc#1110006). - x86/microcode: Allow late microcode loading with SMT disabled (bsc#1110006). - x86/microcode: Attempt late loading only when new microcode is present (bsc#1110006). - x86/microcode: Do not exit early from __reload_late() (bsc#1110006). - x86/microcode: Do not upload microcode if CPUs are offline (bsc#1110006). - x86/microcode: Fix CPU synchronization routine (bsc#1110006). - x86/microcode: Get rid of struct apply_microcode_ctx (bsc#1110006). - x86/microcode/intel: Check microcode revision before updating sibling threads (bsc#1110006). - x86/microcode/intel: Fix memleak in save_microcode_patch() (bsc#1110006). - x86/microcode/intel: Look into the patch cache first (bsc#1110006). - x86/microcode/intel: Save microcode patch unconditionally (bsc#1110006). - x86/microcode/intel: Writeback and invalidate caches before updating microcode (bsc#1110006). - x86/microcode: Make sure boot_cpu_data.microcode is up-to-date (bsc#1110006). - x86/microcode: Make the late update update_lock a raw lock for RT (bsc#1110006). - x86/microcode: Propagate return value from updating functions (bsc#1110006). - x86/microcode: Request microcode on the BSP (bsc#1110006). - x86/microcode: Synchronize late microcode loading (bsc#1110006). - x86/microcode: Update the new microcode revision unconditionally (bsc#1110006). - x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all() (bsc#1110006). - x86/mm/64: Rename the register_page_bootmem_memmap() 'size' parameter to 'nr_pages' (bsc#1110006). - x86/mm: Define _PAGE_TABLE using _KERNPG_TABLE (bsc#1110006). - x86/mm: Do not forbid _PAGE_RW before init for __ro_after_init (bsc#1110006). - x86/mm: Fix bogus warning during EFI bootup, use boot_cpu_has() instead of this_cpu_has() in build_cr3_noflush() (bsc#1110006). - x86/mm/kmmio: Fix mmiotrace for page unaligned addresses (bsc#1110006). - x86/mm/kmmio: Make the tracer robust against L1TF (bsc#1110006). - x86/mm/pat: Make set_memory_np() L1TF safe (bsc#1110006). - x86/mm/pti: Add an overflow check to pti_clone_pmds() (bsc#1110006). - x86/mm/pti: Fix PTI comment in entry_SYSCALL_64() (bsc#1110006). - x86/mm: Relocate page fault error codes to traps.h (bsc#1110006). - x86/mm: Remove in_nmi() warning from vmalloc_fault() (bsc#1110006). - x86/nmi: Fix NMI uaccess race against CR3 switching (bsc#1110006). - x86/numa_emulation: Fix emulated-to-physical node mapping (bsc#1110006). - x86/oprofile: Fix bogus GCC-8 warning in nmi_setup() (bsc#1110006). - x86/pae: use 64 bit atomic xchg function in native_ptep_get_and_clear (bsc#1110006). - x86/paravirt: Remove 'noreplace-paravirt' cmdline option (bsc#1110006). - x86/pgtable: Don't set huge PUD/PMD on non-leaf entries (bsc#1110006). - x86: PM: Make APM idle driver initialize polling state (bsc#1110006). - x86/power: Fix swsusp_arch_resume prototype (bsc#1110006). - x86/pti: Check the return value of pti_user_pagetable_walk_p4d() (bsc#1110006). - x86/pti: Check the return value of pti_user_pagetable_walk_pmd() (bsc#1110006). - x86/retpoline/checksum32: Convert assembler indirect jumps (bsc#1110006). - x86/retpoline/irq32: Convert assembler indirect jumps (bsc#1110006). - x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread (bsc#1110006). - x86/smpboot: Don't use mwait_play_dead() on AMD systems (bsc#1110006). - x86/spectre: Fix spelling mistake: "vunerable"-> "vulnerable" (bsc#1110006). - x86/speculation/l1tf: Exempt zeroed PTEs from inversion (bsc#1110006). - x86/speculation/l1tf: Extend 64bit swap file size limit (bsc#1110006). - x86/speculation/l1tf: Fix up pte->pfn conversion for PAE (bsc#1110006). - x86/speculation/l1tf: Invert all not present mappings (bsc#1110006). - x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert (bsc#1110006). - x86/speculation/l1tf: Protect PAE swap entries against L1TF (bsc#1110006). - x86/speculation, objtool: Annotate indirect calls/jumps for objtool on 32-bit kernels (bsc#1110006). - x86/speculation: Simplify sysfs report of VMX L1TF vulnerability (bsc#1110006). - x86/topology: Update the 'cpu cores' field in /proc/cpuinfo correctly across CPU hotplug operations (bsc#1110006). - x86/tsc: Add missing header to tsc_msr.c (bsc#1110006). - x86/tsc: Allow TSC calibration without PIT (bsc#1110006). - x86/tsc: Prevent 32bit truncation in calc_hpet_ref() (bsc#1110006). - x86/xen: Delay get_cpu_cap until stack canary is established (bsc#1110006). - x86/xen: don't write ptes directly in 32-bit PV guests (bsc#1110006). - x86/xen: Drop 5-level paging support code from the XEN_PV code (bsc#1110006). - x86/xen: Reset VCPU0 info pointer after shared_info remap (bsc#1110006). - xen: Fix {set,clear}_foreign_p2m_mapping on autotranslating guests (bsc#1110006). - xen/PVH: Set up GS segment for stack canary (bsc#1110006). - xen/x86/vpmu: Zero struct pt_regs before calling into sample handling code (bsc#1110006). - blacklist.conf: - Refresh patches.arch/00-x86-cpufeatures-Add-detection-of-L1D-cache-flush-sup.patch. - Refresh patches.arch/0010-x86-bugs-kvm-Introduce-boot-time-control-of-L1TF-mit.patch. - Refresh patches.arch/06-x86-KVM-VMX-Split-the-VMX-MSR-LOAD-structures-to-hav.patch. - Refresh patches.arch/35-x86-speculation-handle-ht-correctly-on-amd.patch. - Refresh patches.arch/36-x86-bugs-kvm-extend-speculation-control-for-virt_spec_ctrl.patch. - Refresh patches.arch/kvm-nvmx-use-nested_run_pending-rather-than-from_vmentry. - Refresh patches.arch/kvm-x86-svm-call-x86_spec_ctrl_set_guest-host-with-interrupts-disabled.patch. - Refresh patches.arch/x86-cpu-amd-derive-cpu-topology-from-cpuid-function-0xb-when-available. - Refresh patches.arch/x86-intel_rdt-enable-l2-cdp-in-msr-ia32_l2_qos_cfg.patch. - Refresh patches.arch/x86-kvm-fix-lapic-timer-drift-when-guest-uses-periodic-mode. - Refresh patches.fixes/x86-entry-64-remove-ebx-handling-from-error_entry-exit.patch. - Refresh patches.suse/0005-x86-enter-Use-IBRS-on-syscall-and-interrupts.patch. - Refresh patches.suse/05-x86-bugs-kvm-support-the-combination-of-guest-and-host-ibrs.patch. - Refresh patches.suse/suse-hv-guest-os-id.patch. - commit 12e3157- qed: Fix shmem structure inconsistency between driver and the mfw (bsc#1110561). - commit 0963e4d- qed: Do not add VLAN 0 tag to untagged frames in multi-function mode (bsc#1050536 FATE#322898). - qed: Fix populating the invalid stag value in multi function mode (bsc#1050536 FATE#322898). - qed: Avoid sending mailbox commands when MFW is not responsive (bsc#1050536 FATE#322898). - qed: Prevent a possible deadlock during driver load and unload (bsc#1050536 FATE#322898). - qed: Wait for MCP halt and resume commands to take place (bsc#1050536 FATE#322898). - qed: Wait for ready indication before rereading the shmem (bsc#1050536 FATE#322898). - commit 95b5684- EDAC, ghes: Add DDR4 and NVDIMM memory types (bsc#1099125). - EDAC, skx_edac: Detect non-volatile DIMMs (bsc#1099125). - firmware, DMI: Add function to look up a handle and return DIMM size (bsc#1099125). - acpi, nfit: Add function to look up nvdimm device and provide SMBIOS handle (bsc#1099125). - commit e90cd46- liquidio: fix hang when re-binding VF host drv after running DPDK VF driver (bsc#1067126). - liquidio: fix kernel panic in VF driver (bsc#1067126). - commit dd69911- ipmi:ssif: Add support for multi-part transmit messages > 2 parts (bsc#1103308). - commit dfd810d- bnx2x: Fix invalid memory access in rss hash config path (bsc#1050319 FATE#322906). - bnx2x: Fix receiving tx-timeout in error or recovery state (bsc#1050319 FATE#322906). - commit 003a93c- cxgb4: fix abort_req_rss6 struct (bsc#1046540 FATE#322930). - cxgb4: when disabling dcb set txq dcb priority to 0 (bsc#1046540 FATE#322930). - commit 4477b4f- be2net: Fix memory leak in be_cmd_get_profile_config() (bsc#1086288 FATE#324877). - be2net: remove unused old custom busy-poll fields (bsc#1086288 FATE#324877). - be2net: remove unused old AIC info (bsc#1086288 FATE#324877). - commit e3890c0- net: thunderx: add timestamping support (bsc#1110096). - Refresh patches.suse/0001-net-ethernet-cavium-Correct-Cavium-Thunderx-NIC-driv.patch. - commit 0831771- net: thunderx: check for failed allocation lmac->dmacs (bsc#1110096). - net: thunderx: prevent concurrent data re-writing by nicvf_set_rx_mode (bsc#1110096). - bpf: make cavium thunder compatible w/ bpf_xdp_adjust_tail (bsc#1110096). - net: thunderx: rework mac addresses list to u64 array (bsc#1110096). - net: thunderx: add ndo_set_rx_mode callback implementation for VF (bsc#1110096). - net: thunderx: add workqueue control structures for handle ndo_set_rx_mode request (bsc#1110096). - net: thunderx: add XCAST messages handlers for PF (bsc#1110096). - net: thunderx: add new messages for handle ndo_set_rx_mode callback (bsc#1110096). - net: thunderx: add multicast filter management support (bsc#1110096). - net: thunderx: add MAC address filter tracking for LMAC (bsc#1110096). - net: thunderx: move filter register related macro into proper place (bsc#1110096). - net: cavium: use module_pci_driver to simplify the code (bsc#1110096). - net: cavium: fix NULL pointer dereference in cavium_ptp_put (bsc#1110096). - net: thunder: change q_len's type to handle max ring size (bsc#1110096). - net: add support for Cavium PTP coprocessor (bsc#1110096). - net: thunderx: Set max queue count taking XDP_TX into account (bsc#1110096). - net: thunderx: fix double free error (bsc#1110096). - net: thunderx: remove a couple of redundant assignments (bsc#1110096). - commit 1196f57- RDMA/bnxt_re: Fix system crash during RDMA resource initialization (bsc#1086283 FATE#324874). - commit a963788- patches.fixes/x86-memory_failure-Introduce-set-clear-_mce_nospec.patch: Fixup compilation breakage on s390 and arm due to missing clear_mce_nospec(). - commit faef795- arm64: Update config files. (bsc#1110716) Enable ST LPS25H pressure sensor. - commit 69c6902- smsc95xx: Check for Wake-on-LAN modes (bsc#1051510). - smsc75xx: Check for Wake-on-LAN modes (bsc#1051510). - r8152: Check for supported Wake-on-LAN Modes (bsc#1051510). - sr9800: Check for supported Wake-on-LAN modes (bsc#1051510). - lan78xx: Check for supported Wake-on-LAN modes (bsc#1051510). - ax88179_178a: Check for supported Wake-on-LAN modes (bsc#1051510). - mac80211: fix pending queue hang due to TX_DROP (bsc#1051510). - cfg80211: reg: Init wiphy_idx in regulatory_hint_core() (bsc#1051510). - Input: elantech - enable middle button of touchpad on ThinkPad P72 (bsc#1051510). - regulator: fix crash caused by null driver data (bsc#1051510). - pinctrl: cannonlake: Fix HOSTSW_OWN register offset of H variant (bsc#1051510). - intel_th: Fix device removal logic (bsc#1051510). - NFC: Fix possible memory corruption when handling SHDLC I-Frame commands (bsc#1051510). - platform/x86: alienware-wmi: Correct a memory leak (bsc#1051510). - xhci: Fix use after free for URB cancellation on a reallocated endpoint (bsc#1051510). - mei: ignore not found client in the enumeration (bsc#1051510). - i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus (bsc#1051510). - fbdev/via: fix defined but not used warning (bsc#1051510). - video: goldfishfb: fix memory leak on driver remove (bsc#1051510). - fbdev: Distinguish between interlaced and progressive modes (bsc#1051510). - platform/x86: toshiba_acpi: Fix defined but not used build warnings (bsc#1051510). - mfd: 88pm860x-i2c: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (bsc#1051510). - input: rohm_bu21023: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT) (bsc#1051510). - HID: hid-ntrig: add error handling for sysfs_create_group (bsc#1051510). - mfd: ti_am335x_tscadc: Fix struct clk memory leak (bsc#1051510). - mmc: sdhci: do not try to use 3.3V signaling if not supported (bsc#1051510). - mmc: sdhci-of-esdhc: set proper dma mask for ls104x chips (bsc#1051510). - parport: sunbpp: fix error return code (bsc#1051510). - coresight: Handle errors in finding input/output ports (bsc#1051510). - mei: bus: type promotion bug in mei_nfc_if_version() (bsc#1051510). - gpio: pxa: Fix potential NULL dereference (bsc#1051510). - gpiolib: Mark gpio_suffixes array with __maybe_unused (bsc#1051510). - gpu: ipu-v3: csi: pass back mbus_code_to_bus_cfg error codes (bsc#1051510). - crypto: sharah - Unregister correct algorithms for SAHARA 3 (bsc#1051510). - crypto: skcipher - Fix -Wstringop-truncation warnings (bsc#1051510). - Bluetooth: Use lock_sock_nested in bt_accept_enqueue (bsc#1051510). - Bluetooth: Add a new Realtek 8723DE ID 0bda:b009 (bsc#1051510). - mac80211: restrict delayed tailroom needed decrement (bsc#1051510). - wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout() (bsc#1051510). - commit e266792- btrfs: scrub: Don't use inode page cache in scrub_handle_errored_block() (follow up for bsc#1108096). - commit 3f91c84- ASoC: cs4265: fix MMTLR Data switch control (bsc#1051510). - ALSA: fireworks: fix memory leak of response buffer at error path (bsc#1051510). - ALSA: bebob: fix memory leak for M-Audio FW1814 and ProjectMix I/O at error path (bsc#1051510). - ALSA: emu10k1: fix possible info leak to userspace on SNDRV_EMU10K1_IOCTL_INFO (bsc#1051510). - ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping (bsc#1051510). - ASoC: rt5514: Fix the issue of the delay volume applied (bsc#1051510). - ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs (bsc#1051510). - ALSA: msnd: Fix the default sample sizes (bsc#1051510). - ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro (bsc#1051510). - ALSA: pcm: Fix snd_interval_refine first/last with open min/max (bsc#1051510). - ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge (bsc#1051510). - ASoC: rt5514: Add the missing register in the readable table (bsc#1051510). - ASoC: rt5514: Eliminate the noise in the ASRC case (bsc#1051510). - ASoC: rt5514: Add the I2S ASRC support (bsc#1051510). - commit 4eba9c8- btrfs: scrub: Don't use inode pages for device replace (follow up for bsc#1108096). - commit c865775- btrfs: check-integrity: Fix NULL pointer dereference for degraded mount (bsc#1107947). - commit 77b2277- btrfs: tests/qgroup: Fix wrong tree backref level (bsc#1107928). - commit a5e154c- README.BRANCH: SLE15-SP1 branch maintainer changes Add ptesarik as co-maintainer, keep tiwai as the primary maintainer - commit 83aea11- VFS: don't test owner for NFS in set_posix_acl() (bsc#1103405). - commit 36f977a- nfs/filelayout: fix oops when freeing filelayout segment (bsc#1105190). - NFS/filelayout: Fix racy setting of fl->dsaddr in filelayout_check_deviceid() (bsc#1105190). - commit d6d0fab- watchdog: Mark watchdog touch functions as notrace (git-fixes). - commit 8b53193- Btrfs: fix send failure when root has deleted files still open (bsc#1110650). - commit f52554d- btrfs: Remove unused parameters from various functions (bsc#1110649). - commit c97c657- Btrfs: fix data corruption when deduplicating between different files (bsc#1110647). - commit 669848c- Btrfs: sync log after logging new name (bsc#1110646). - commit 7260d6b- Btrfs: fix return value on rename exchange failure (bsc#1110645). - commit 532729c- Btrfs: fix duplicate extents after fsync of file with prealloc extents (bsc#1110644). - commit c4ec603- Btrfs: fix loss of prealloc extents past i_size after fsync log replay (bsc#1110643). - commit 974e057- Btrfs: fix fsync after hole punching when using no-holes feature (bsc#1110642). - commit 3f19b40- btrfs: log csums for all modified extents (bsc#1110639). - commit d6f9d10- usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms (bsc#1102881). - usb: dwc2: Turn on uframe_sched on "amlogic" platforms (bsc#1102881). - usb: dwc2: Turn on uframe_sched on "his" platforms (bsc#1102881). - usb: dwc2: Turn on uframe_sched on "bcm" platforms (bsc#1102881). - commit 9cf9d2f- Bluetooth: btsdio: Do not bind to non-removable BCM43430 (bsc#1103587). - commit 498c957- Update Git-commit tag after upstream rebase The nvme-4.20 branch was rebased. Refresh patches.fixes/nvme_fc-add-nvme_discovery-sysfs-attribute-to-fc-tra.patch. - commit 1cb7a6b- Update config files for NFSv4.2 Enable NFSv4.2 support - jsc@PM-231 This requires a module parameter for NFSv4.2 to actually be available on SLE12 and SLE15-SP0 - commit 44703ec- sched/numa: Pass destination CPU as a parameter to migrate_task_rq kabi (bnc#1101669 optimise numa balancing for fast migrate). - commit 58f5499- sched/numa: Stop multiple tasks from moving to the CPU at the same time kabi (bnc#1101669 optimise numa balancing for fast migrate). - commit 1562dfb- mm, numa: Remove rate-limiting of automatic numa balancing migration kabi (bnc#1101669 optimise numa balancing for fast migrate). - commit 9eade3a- mm, numa: Migrate pages to local nodes quicker early in the lifetime of a task (bnc#1101669 optimise numa balancing for fast migrate). - mm, numa: Remove rate-limiting of automatic numa balancing migration (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Avoid task migration for small NUMA improvement (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Reset scan rate whenever task moves across nodes (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Pass destination CPU as a parameter to migrate_task_rq (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Stop multiple tasks from moving to the CPU at the same time (bnc#1101669 optimise numa balancing for fast migrate). - commit 982ee4b- s390/crypto: Fix return code checking in cbc_paes_crypt() (bnc#1108323, LTC#171709). - commit d2a9532- s390/qeth: use vzalloc for QUERY OAT buffer (LTC#171527, bsc#1106948). - commit c8a5aea- s390/qdio: reset old sbal_state flags (LTC#171525, bsc#1106948). - commit 9aa8dbc- s390/pci: fix out of bounds access during irq setup (bnc#1108323, LTC#171068). - commit 02e74a9- powerpc/numa: Use associativity if VPHN hcall is successful (bsc#1110363). - commit 1f954f8- scsi: hisi_sas: Add SATA FIS check for v3 hw (FATE#326253). - scsi: hisi_sas: add memory barrier in task delivery function (FATE#326253). - scsi: hisi_sas: Tidy hisi_sas_task_prep() (FATE#326253). - scsi: hisi_sas: Implement handlers of PCIe FLR for v3 hw (FATE#326253). - scsi: hisi_sas: relocate some common code for v3 hw (FATE#326253). - scsi: hisi_sas: tidy host controller reset function a bit (FATE#326253). - scsi: hisi_sas: Fix the failure of recovering PHY from STP link timeout (FATE#326253). - scsi: hisi_sas: tidy channel interrupt handler for v3 hw (FATE#326253). - scsi: hisi_sas: Drop hisi_sas_slot_abort() (FATE#326253). - scsi: hisi_sas: Update a couple of register settings for v3 hw (FATE#326253). - scsi: hisi_sas: Add missing PHY spinlock init (FATE#326253). - scsi: hisi_sas: Pre-allocate slot DMA buffers (FATE#326253). - scsi: hisi_sas: Release all remaining resources in clear nexus ha (FATE#326253). - scsi: hisi_sas: Add a flag to filter PHY events during reset (FATE#326253). - scsi: hisi_sas: Adjust task reject period during host reset (FATE#326253). - scsi: hisi_sas: Fix the conflict between dev gone and host reset (FATE#326253). - scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw() (FATE#326253). - scsi: hisi_sas: Use dmam_alloc_coherent() (FATE#326253). - commit 5ef2301- Refresh patches.arch/powerpc-Avoid-code-patching-freed-init-sections.patch. - Refresh patches.arch/powerpc-pkeys-Fix-reading-of-ibm-processor-storage-k.patch. - Refresh patches.arch/powerpc-tm-Avoid-possible-userspace-r1-corruption-on.patch. - Refresh patches.arch/powerpc-tm-Fix-userspace-r13-corruption.patch. - Refresh patches.drivers/scsi-ipr-System-hung-while-dlpar-adding-primary-ipr-.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-appropriate-debug-info-for-invalid-.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-logic-to-detect-ABTS-hang-and-respo.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-mode-control-for-each-physical-port.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-support-for-ZIO6-interrupt-threshol.patch. - Refresh patches.drivers/scsi-qla2xxx-Allow-FC-NVMe-underrun-to-be-handled-by.patch. - Refresh patches.drivers/scsi-qla2xxx-Check-for-Register-disconnect.patch. - Refresh patches.drivers/scsi-qla2xxx-Decrement-login-retry-count-for-only-pl.patch. - Refresh patches.drivers/scsi-qla2xxx-Defer-chip-reset-until-target-mode-is-e.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-Remote-port-registration.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-deadlock-between-ATIO-and-HW-lock.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-double-increment-of-switch-scan-ret.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-dropped-srb-resource.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-duplicate-switch-s-Nport-ID-entries.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-early-srb-free-on-abort.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-iIDMA-error.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-port-speed-being-set-for-.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-out-of-order-Termination-and-ABTS-r.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-port-speed-display-on-chip-reset.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-premature-command-free.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-process-response-queue-for-ISP26XX-.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-race-condition-for-resource-cleanup.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-stuck-session-in-PLOGI-state.patch. - Refresh patches.drivers/scsi-qla2xxx-Force-fw-cleanup-on-ADISC-error.patch. - Refresh patches.drivers/scsi-qla2xxx-Increase-abort-timeout-value.patch. - Refresh patches.drivers/scsi-qla2xxx-Move-ABTS-code-behind-qpair.patch. - Refresh patches.drivers/scsi-qla2xxx-Move-get-rel-_sp-to-base_qpair-struct.patch. - Refresh patches.drivers/scsi-qla2xxx-Move-rport-registration-out-of-internal.patch. - Refresh patches.drivers/scsi-qla2xxx-Reduce-holding-sess_lock-to-prevent-CPU.patch. - Refresh patches.drivers/scsi-qla2xxx-Reject-bsg-request-if-chip-is-down.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-ASYNC-GIDPN-switch-command.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-all-rports-if-fabric-scan-retry-.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-redundant-check-for-fcport-delet.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-stale-ADISC_DONE-event.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-stale-debug-trace-message-from-t.patch. - Refresh patches.drivers/scsi-qla2xxx-Serialize-mailbox-request.patch. - Refresh patches.drivers/scsi-qla2xxx-Terminate-Plogi-PRLI-if-WWN-is-0.patch. - Refresh patches.drivers/scsi-qla2xxx-Turn-off-IOCB-timeout-timer-on-IOCB-com.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-to-version-10.00.00.09-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-version-to-10.00.00.10-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-version-to-10.00.00.11-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-rscn_rcvd-field-to-more-meaningf.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-correct-qpair-for-ABTS-CMD.patch. - Refresh patches.drivers/scsi-qla2xxx-shutdown-chip-if-reset-fail.patch. - Refresh patches.fixes/nvme_fc-add-nvme_discovery-sysfs-attribute-to-fc-tra.patch. - commit 4ee7cfe- x86: msr-index.h: Correct SNB_C1/C3_AUTO_UNDEMOTE defines (bsc#1110301). - commit 6bed327- x86/mce: Improve error message when kernel cannot recover (bsc#1110301). - commit cfcbe8b- blacklist.conf: - commit b302752- x86/vdso: Fix lsl operand order (bsc#1110301). - commit e4cb840- rpm/mkspec: fix ppc64 kernel-source build. - commit 85c9272- blacklist.conf: ff924c5a1ec7 ff924c5a1ec7 ("x86/pti: Fix section mismatch warning/error")'s Fixes tag is wrong. It should point to: 16a3fe634f6a ("x86/mm/pti: Clone kernel-image on PTE level for 32 bit") which introduced the section mismatch by using pti_user_pagetable_walk_pte() in pti_clone_pgtable(). - commit 7832955- x86/boot: Fix kexec booting failure in the SEV bit detection code (bsc#1110301). - commit c221d90- KVM: x86: Do not re-{try,execute} after failed emulation in L2 (bsc#1106240). - KVM: x86: Default to not allowing emulation retry in kvm_mmu_page_fault (bsc#1106240). - KVM: x86: Merge EMULTYPE_RETRY and EMULTYPE_ALLOW_REEXECUTE (bsc#1106240). - KVM: x86: Invert emulation re-execute behavior to make it opt-in (bsc#1106240). - KVM: VMX: Do not allow reexecute_instruction() when skipping MMIO instr (bsc#1106240). - commit 3193e58- Stop building F2FS (boo#1109665) As per the information in the bugzilla issue f2fs is no longer supported on opensuse distributions. - commit 7d12b0b- scsi: target: iscsi: Use bin2hex instead of a re-implementation (bsc#1107829 CVE-2018-14633). - scsi: target: iscsi: Use hex2bin instead of a re-implementation (bsc#1107829 CVE-2018-14633). - commit 3a95174- block: pass inclusive 'lend' parameter to truncate_inode_pages_range (bsc#1109992). - commit d8666d7- block: Invalidate cache on discard v2 (bsc#1109992). - commit f6569f1- block: properly protect the 'queue' kobj in blk_unregister_queue (bsc#1109979). - commit 0b9704d- block: fix warning when I/O elevator is changed as request_queue is being removed (bsc#1109979). - commit ab9dc17- Refresh patches.suse/sched-numa-remove-unused-nr_running-field.patch. - Delete patches.suse/sched-numa-Do-not-move-imbalanced-load-purely-on-the-basis-of-an-idle-CPU.patch. - Delete patches.suse/sched-numa-Stop-comparing-tasks-for-NUMA-placement-after-selecting-an-idle-core.patch. - commit 838792b- sr: get/drop reference to device in revalidate and check_events (bsc#1109979). - commit c375621- rpm/mkspec: build dtbs for architectures marked -!needs_updating - commit 2d47640- Limit kernel-source build to architectures for which we build binaries (bsc#1108281). - commit d643512- x86/mm: Add TLB purge to free pmd/pte page interfaces (bsc#1110006). - ioremap: Update pgtable free interfaces with addr (bsc#1110006). - x86/mm: Disable ioremap free page handling on x86-PAE (bsc#1110006). - commit 417fdc9- x86/mm: Expand static page table for fixmap space (bsc#1110006). - x86/process: Don't mix user/kernel regs in 64bit __show_regs() (bsc#1110006). - x86/vdso: Fix lsl operand order (bsc#1110006). - x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() (bsc#1110006). - x86/process: Re-export start_thread() (bsc#1110006). - Fix kexec forbidding kernels signed with keys in the secondary keyring to boot (bsc#1110006). - x86/mce: Improve error message when kernel cannot recover (bsc#1110006). - x86: msr-index.h: Correct SNB_C1/C3_AUTO_UNDEMOTE defines (bsc#1110006). - x86/dumpstack: Save first regs set for the executive summary (bsc#1110006). - x86/mm: Drop TS_COMPAT on 64-bit exec() syscall (bsc#1110006). - x86/pkeys: Do not special case protection key 0 (bsc#1110006). - x86/pkeys: Override pkey when moving away from PROT_EXEC (bsc#1110006). - x86/kexec: Avoid double free_page() upon do_kexec_load() failure (bsc#1110006). - commit 1c613b4- x86/dumpstack: Unify show_regs() (bsc#1110006). - x86/apic: Fix restoring boot IRQ mode in reboot and kexec/kdump (bsc#1110006). - x86/apic: Split disable_IO_APIC() into two functions to fix CONFIG_KEXEC_JUMP=y (bsc#1110006). - x86/apic: Split out restore_boot_irq_mode() from disable_IO_APIC() (bsc#1110006). - x86/mm: implement free pmd/pte page interfaces (bsc#1110006). - mm/vmalloc: add interfaces to free unmapped page table (bsc#1110006). - x86/apic/vector: Fix off by one in error path (bsc#1110006). - x86/espfix/64: Fix espfix double-fault handling on 5-level systems (bsc#1110006). - x86/PCI: Make broadcom_postcore_init() check acpi_disabled (bsc#1110006). - x86/idt: Load idt early in start_secondary (bsc#1110006). - x86/mm: Fix ELF_ET_DYN_BASE for 5-level paging (bsc#1110006). - x86/mpx: Do not allow MPX if we have mappings above 47-bit (bsc#1110006). - kprobes/x86: Release insn_slot in failure path (bsc#1110006). - commit 9a3ac30- blacklist.conf: Add 3 fixes for x86 that we don't need - commit ddd7d7f- blacklist.conf: Blacklist x86 devicetree code We don't support devicetree on x86. - commit b4b3181- blacklist.conf: fix after mismerge - commit 1aee746- rename/renumber hv patches to simplify upcoming upstream merges No code changes. - commit 0699480- iommu/amd: Return devid as alias for ACPI HID devices (bsc#1106105). - commit d37e986- blacklist.conf: Blacklist one PCI fix 83c75ddd816e PCI: rcar: Handle rcar_pcie_parse_request_of_pci_ranges() failures The driver patches is not compiled on any config. - commit f0f2bee- PCI: aardvark: Size bridges before resources allocation (bsc#1109806). - commit ae7ab95- PCI: faraday: Fix I/O space page leak (bsc#1109806). - PCI: designware: Fix I/O space page leak (bsc#1109806). - PCI: versatile: Fix I/O space page leak (bsc#1109806). - PCI: xgene: Fix I/O space page leak (bsc#1109806). - PCI: faraday: Add missing of_node_put() (bsc#1109806). - PCI: xilinx-nwl: Add missing of_node_put() (bsc#1109806). - PCI: xilinx: Add missing of_node_put() (bsc#1109806). - PCI/portdrv: Compute MSI/MSI-X IRQ vectors after final allocation (bsc#1109806). - PCI/portdrv: Factor out Interrupt Message Number lookup (bsc#1109806). - commit d1f8a0e- xen: issue warning message when out of grant maptrack entries (bsc#1105795). - commit 46751db- NFS: Use an appropriate work queue for direct-write completion (bsc#1082519). - commit e010715- sort series.conf I didn't want to, but he made me do it. - commit 255215b- Revert "mm,vmacache: optimize overflow system-wide flushing" (bsc#1108399 CVE-2018-17182). - commit 85bf27e- btrfs: fix missing error return in btrfs_drop_snapshot (Git-fixes bsc#1109919). - commit 86c0bd9- btrfs: handle errors while updating refcounts in update_ref_for_cow (Git-fixes bsc#1109915). - commit 602171e- mm: /proc/pid/pagemap: hide swap entries from unprivileged users (Git-fixes bsc#1109907). - commit 32c80e6- Fix buggy backport in patches.fixes/dax-check-for-queue_flag_dax-in-bdev_dax_supported.patch (bsc#1109859) - commit 6d44295- powerpc/tm: Avoid possible userspace r1 corruption on reclaim (bsc#1109333). - powerpc/tm: Fix userspace r13 corruption (bsc#1109333). - commit a98497c- Update config files. - commit 2a4f668- blacklist.conf: Blacklist aa28de275a248 - commit 7850c06- device-dax: Add missing address_space_operations (bsc#1107783). - commit 860c238- ext4, dax: set ext4_dax_aops for dax files (bsc#1104888). - commit d17e656- ext4, dax: add ext4_bmap to ext4_dax_aops (bsc#1104888). - commit 2de8851- btrfs: delayed-inode: Remove wrong qgroup meta reservation calls (bsc#1031392). - commit a3d6aee- Sort series.conf - commit 75ce2fa- btrfs: qgroup: Use independent and accurate per inode qgroup rsv (bsc#1031392). - commit 689ef17- btrfs: qgroup: Commit transaction in advance to reduce early EDQUOT (bsc#1031392). - commit c51f977- Revert "btrfs: qgroups: Retry after commit on getting EDQUOT" (bsc#1031392). - commit 6fa454e- btrfs: qgroup: Update trace events for metadata reservation (bsc#1031392). - commit 039a3e9- btrfs: qgroup: Use root::qgroup_meta_rsv_* to record qgroup meta reserved space (bsc#1031392). - commit c1e3309- btrfs: delayed-inode: Use new qgroup meta rsv for delayed inode and item (bsc#1031392). - commit be686d5- btrfs: Fix wrong btrfs_delalloc_release_extents parameter (bsc#1031392). - commit f60cf53- btrfs: qgroup: Use separate meta reservation type for delalloc (bsc#1031392). - commit dd0023b- KABI: move the new handler to end of machdep_calls and hide it from genksyms (bsc#1094244). - commit 06a6f3c- powernv/pseries: consolidate code for mce early handling (bsc#1094244). - powerpc/pseries: Dump the SLB contents on SLB MCE errors (bsc#1094244). - Refresh patches.kabi/KABI-move-mce_data_buf-into-paca_aux.patch - powerpc/pseries: Display machine check error details (bsc#1094244). - powerpc/pseries: Flush SLB contents on SLB MCE errors (bsc#1094244). - powerpc/pseries: Define MCE error event section (bsc#1094244). - commit 4b0cc92- Sort patches. - commit ee18a99- btrfs: add a comp_refs() helper (dependency for bsc#1031392). - commit 2b7e949- btrfs: switch args for comp_*_refs (dependency for bsc#1031392). - commit 028ef68- btrfs: remove type argument from comp_tree_refs (dependency for bsc#1031392). - commit 6d12157- btrfs: make the delalloc block rsv per inode (dependency for bsc#1031392). - commit d6a4960- btrfs: add tracepoints for outstanding extents mods (dependency for bsc#1031392). - commit 520ec44- Btrfs: rework outstanding_extents (dependency for bsc#1031392). - commit a390567- btrfs: cleanup extent locking sequence (dependency for bsc#1031392). - commit c9c7165- Fix sorted section Merge commits 862a718e83 and 8aa4d41564 had conflicts with (apparently) bad resolution which introduced disorder in the sorted section. - commit 06a8929- btrfs: qgroup: Introduce function to convert META_PREALLOC into META_PERTRANS (bsc#1031392). - commit 66a2044- btrfs: qgroup: Don't use root->qgroup_meta_rsv for qgroup (bsc#1031392). - commit 9377718- btrfs: qgroup: Split meta rsv type into meta_prealloc and meta_pertrans (bsc#1031392). - commit 48f771c- btrfs: qgroup: Cleanup the remaining old reservation counters (bsc#1031392). - commit ebe4a51- btrfs: qgroup: Update trace events to use new separate rsv types (bsc#1031392). - commit 28b94d4- btrfs: qgroup: Fix wrong qgroup reservation update for relationship modification (bsc#1031392). - commit 017a285- btrfs: qgroup: Make qgroup_reserve and its callers to use separate reservation type (bsc#1031392). - commit 28ba57c- btrfs: qgroup: Introduce helpers to update and access new qgroup rsv (bsc#1031392). - commit 10f14a4- btrfs: qgroup: Skeleton to support separate qgroup reservation type (bsc#1031392). - commit ca174f6- btrfs: qgroup: Fix qgroup reserved space underflow by only freeing reserved ranges (dependency for bsc#1031392). - commit 84d52be- btrfs: qgroup: Introduce extent changeset for qgroup reserve functions (dependency for bsc#1031392). - commit 8ef1999- btrfs: qgroup: Fix qgroup reserved space underflow caused by buffered write and quotas being enabled (dependency for bsc#1031392). - commit 25d3c72- btrfs: qgroup: Return actually freed bytes for qgroup release or free data (dependency for bsc#1031392). - commit 852d7ed- btrfs: qgroup: Cleanup btrfs_qgroup_prepare_account_extents function (dependency for bsc#1031392). - commit 18dd54a- btrfs: qgroup: Add quick exit for non-fs extents (dependency for bsc#1031392). - commit 91f12cc- userfaultfd: hugetlbfs: fix userfaultfd_huge_must_wait() pte access (bsc#1109739). - commit a9faf52- ipc/shm: fix shmat() nil address after round-down when remapping (bsc#1090078). - Revert "ipc/shm: Fix shmat mmap nil-page protection" (bsc#1090078). - commit d8968d8- update series.conf - commit 9754b53- dax: Make extension of dax_operations transparent (bsc#1098782). - commit eb2986e- x86/asm/memcpy_mcsafe: Provide original memcpy_mcsafe_unrolled (bsc#1098782). - commit ad97292- nvme: register ns_id attributes as default sysfs groups (bsc#1105247). - commit 22aeb65- PCI: Match Root Port's MPS to endpoint's MPSS as necessary (bsc#1109269). - commit b312a43- x86/build/64: Force the linker to use 2MB page size (bsc#1109603). - commit 03b0ea6- sched/fair: Fix bandwidth timer clock drift condition (Git-fixes). - commit ad03360- kabi fix for check_disk_size_change() (bsc#1098459). - commit 0835551- Update config files. Turn off CONFIG_DYNAMIC_STACK on s390x, because it brings more confusiion by reporting false positives. - commit 6e2def2- net: ena: fix incorrect usage of memory barriers (bsc#1108093). - net: ena: fix missing calls to READ_ONCE (bsc#1108093). - net: ena: fix missing lock during device destruction (bsc#1108093). - net: ena: fix potential double ena_destroy_device() (bsc#1108093). - net: ena: fix device destruction to gracefully free resources (bsc#1108093). - net: ena: fix driver when PAGE_SIZE == 64kB (bsc#1108093). - net: ena: fix surprise unplug NULL dereference kernel crash (bsc#1108093). - net: ena: Eliminate duplicate barriers on weakly-ordered archs (bsc#1108093). - commit a7d98e3- xfs: Fix per-inode DAX flag inheritance (Git-fixes bsc#1109511). - commit 30796e4- Revert "vhost: cache used event for better performance" (bsc#1090528). - commit 7ed7638- x86/platform/UV: Mark memblock related init code and data correctly (bsc#1108243). - commit 1500ffe- powerpc/pseries: Disable CPU hotplug across migrations (bsc#1065729). - commit 09057d9- scsi: qla2xxx: Update driver version to 10.00.00.11-k (bsc#1108870). - scsi: qla2xxx: Fix double increment of switch scan retry count (bsc#1108870). - scsi: qla2xxx: Fix duplicate switch's Nport ID entries (bsc#1108870). - scsi: qla2xxx: Remove stale debug trace message from tcm_qla2xxx (bsc#1108870). - scsi: qla2xxx: Fix premature command free (bsc#1108870). - scsi: qla2xxx: Reject bsg request if chip is down (bsc#1108870). - scsi: qla2xxx: shutdown chip if reset fail (bsc#1108870). - scsi: qla2xxx: Fix stuck session in PLOGI state (bsc#1108870). - scsi: qla2xxx: Fix early srb free on abort (bsc#1108870). - scsi: qla2xxx: Add mode control for each physical port (bsc#1108870). - scsi: qla2xxx: Fix race condition for resource cleanup (bsc#1108870). - scsi: qla2xxx: Fix dropped srb resource (bsc#1108870). - scsi: qla2xxx: Fix port speed display on chip reset (bsc#1108870). - scsi: qla2xxx: Check for Register disconnect (bsc#1108870). - scsi: qla2xxx: Increase abort timeout value (bsc#1108870). - scsi: qla2xxx: Allow FC-NVMe underrun to be handled by transport (bsc#1108870). - scsi: qla2xxx: Update driver version to 10.00.00.10-k (bsc#1108870). - scsi: qla2xxx: Move ABTS code behind qpair (bsc#1108870). - scsi: qla2xxx: Remove stale ADISC_DONE event (bsc#1108870). - scsi: qla2xxx: Fix Remote port registration (bsc#1108870). - scsi: qla2xxx: Remove ASYNC GIDPN switch command (bsc#1108870). - scsi: qla2xxx: Reduce holding sess_lock to prevent CPU lock-up (bsc#1108870). - scsi: qla2xxx: Move {get|rel}_sp to base_qpair struct (bsc#1108870). - scsi: qla2xxx: Add support for ZIO6 interrupt threshold (bsc#1108870). - scsi: qla2xxx: Fix out of order Termination and ABTS response (bsc#1108870). - scsi: qla2xxx: Add logic to detect ABTS hang and response completion (bsc#1108870). - scsi: qla2xxx: Add appropriate debug info for invalid RX_ID (bsc#1108870). - scsi: qla2xxx: Fix deadlock between ATIO and HW lock (bsc#1108870). - scsi: qla2xxx: Serialize mailbox request (bsc#1108870). - scsi: qla2xxx: Update driver to version 10.00.00.09-k (bsc#1108870). - scsi: qla2xxx: Terminate Plogi/PRLI if WWN is 0 (bsc#1108870). - scsi: qla2xxx: Defer chip reset until target mode is enabled (bsc#1108870). - scsi: qla2xxx: Fix iIDMA error (bsc#1108870). - scsi: qla2xxx: Remove all rports if fabric scan retry fails (bsc#1108870). - scsi: qla2xxx: Force fw cleanup on ADISC error (bsc#1108870). - scsi: qla2xxx: Turn off IOCB timeout timer on IOCB completion (bsc#1108870). - scsi: qla2xxx: Decrement login retry count for only plogi (bsc#1108870). - scsi: qla2xxx: Move rport registration out of internal work_list (bsc#1108870). - scsi: qla2xxx: Remove redundant check for fcport deletion (bsc#1108870). - scsi: qla2xxx: Update rscn_rcvd field to more meaningful scan_needed (bsc#1108870). - scsi: qla2xxx: Use correct qpair for ABTS/CMD (bsc#1108870). - scsi: qla2xxx: Fix incorrect port speed being set for FC adapters (bsc#1108870). - scsi: qla2xxx: Fix process response queue for ISP26XX and above (bsc#1108870). - commit 63477a2- scripts/git_sort/git_sort.py: add mkp 4.20/scsi-queue - commit 3284d56- powerpc/pkeys: Fix reading of ibm, processor-storage-keys property (bsc#1109244). - commit 918a8df- scsi: mpt3sas: Fix calltrace observed while running IO & reset (bsc#1077989). - scsi: fcoe: hold disc_mutex when traversing rport lists (bsc#1077989). - scsi: libfc: hold disc_mutex in fc_disc_stop_rports() (bsc#1077989). - scsi: libfc: fixup lockdep annotations (bsc#1077989). - scsi: libfc: fixup 'sleeping function called from invalid context' (bsc#1077989). - scsi: libfc: Add lockdep annotations (bsc#1077989). - blk-mq: avoid to synchronize rcu inside blk_cleanup_queue() (bsc#1077989). - commit 527998e- Refresh patches.arch/0003-x86-l1tf-Handle-EPT-disabled-state-proper.patch. - commit 43d6857- nvme_fc: add 'nvme_discovery' sysfs attribute to fc transport device (bsc#1044189). - scripts/git_sort/git_sort.py: Update NVMe repo URL - commit 64467ca- x86/platform/UV: Add kernel parameter to set memory block size (bsc#1108243). - x86/platform/UV: Use new set memory block size function (bsc#1108243). - x86/platform/UV: Add adjustable set memory block size function (bsc#1108243). - x86/mm/memory_hotplug: determine block size based on the end of boot memory (bsc#1108243). - commit eb8e3fa- blacklist.conf: Add 'drm/amdgpu:add VCN booting with firmware loaded by PSP' - commit 4d1aa08- blacklist.conf: Add 'drm/amdgpu:add VCN support in PSP driver' - commit 9459a54- KVM: PPC: Book3S HV: Use correct pagesize in kvm_unmap_radix() (bsc#1061840, git-fixes). - commit 3763099- drm/amdgpu: update tmr mc address (bsc#1100132). - commit b26d124- powerpc/pseries: Remove unneeded uses of dlpar work queue (bsc#1102495, bsc#1109337). - Refresh patches.arch/hotplug-cpu-Add-operation-queuing-function.patch. - powerpc/pseries: Remove prrn_work workqueue (bsc#1102495, bsc#1109337). - commit 7328f0a- arm64: Ignore hardware dirty bit updates in ptep_set_wrprotect() (bsc#1108010). - kvm: arm64: Convert kvm_set_s2pte_readonly() from inline asm to cmpxchg() (bsc#1108010). - commit 96eac08- scsi: ipr: System hung while dlpar adding primary ipr adapter back (bsc#1109336). - commit c86eecc- Refresh patches.arch/powerpc-Avoid-code-patching-freed-init-sections.patch. - commit 6d7fc83- sched/fair: Fix vruntime_normalized() for remote non-migration wakeup (git-fixes). - commit 87a53f0- net: rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags (git-fixes). - commit 52cf998- x86/CPU/AMD: Derive CPU topology from CPUID function 0xB when available (fate#324376). - x86/CPU: Modify detect_extended_topology() to return result (fate#324376). - x86: irq_remapping: Move irq remapping mode enum (fate#324376). - iommu/amd: Add support for higher 64-bit IOMMU Control Register (fate#324376). - iommu/amd: Add support for IOMMU XT mode (fate#324376). - Refresh patches.arch/08-x86-cpu-remove-the-pointless-cpu-printout.patch. - Refresh patches.arch/11-x86-cpu-topology-provide-detect_extended_topology_early.patch. - Refresh patches.arch/13-x86-cpu-amd-do-not-check-cpuid-max-ext-level-before-parsing-smp-info.patch. - commit 64d6ec7- bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces (bsc#1050244 FATE#322915). - IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler (bsc#1046307 FATE#322941). - IB/hfi1: Invalid NUMA node information can cause a divide by zero (bsc#1060463 FATE#323043). - IB/mlx4: Use 4K pages for kernel QP's WQE buffer (bsc#1046302 FATE#322945). - IB/ipoib: Fix error return code in ipoib_dev_init() (bsc#1046307 FATE#322941). - RDMA/bnxt_re: Fix a bunch of off by one bugs in qplib_fp.c (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Fix a couple off by one bugs (bsc#1050244 FATE#322915). - IB/core: type promotion bug in rdma_rw_init_one_mr() (bsc#1046306 FATE#322942). - RDMA/i40w: Hold read semaphore while looking after VMA (bsc#1058659 FATE#322535). - IB/mlx4: Test port number before querying type (bsc#1046302 FATE#322945). - IB/hfi1: Remove incorrect call to do_interrupt callback (bsc#1060463 FATE#323043). - IB/hfi1: Set in_use_ctxts bits for user ctxts only (bsc#1060463 FATE#323043). - ib_srpt: Fix a use-after-free in srpt_close_ch() (bsc#1046306 FATE#322942). - iw_cxgb4: remove duplicate memcpy() in c4iw_create_listen() (bsc#1046543 FATE#322927). - commit a63f7f6- bnxt_en: Fix VF mac address regression (bsc#1086282 FATE#324873). - bnxt_en: Do not adjust max_cp_rings by the ones used by RDMA (bsc#1086282 FATE#324873). - bnxt_en: Clean up unused functions (bsc#1086282 FATE#324873). - commit ef196fc- scripts: modpost: check memory allocation results (bsc#1051510). - PCI: mvebu: Fix I/O space end address calculation (bsc#1051510). - rsi: Fix 'invalid vdd' warning in mmc (bsc#1051510). - commit 829fae7- userns: move user access out of the mutex (bsc#1051510). - commit cac141e- wlcore: Set rx_status boottime_ns field on rx (bsc#1051510). - commit ac56e08- drm/i915/gvt: clear ggtt entries when destroy vgpu (bsc#1051510). - drm/i915/gvt: request srcu_read_lock before checking if one gfn is valid (bsc#1051510). - drm/vc4: Fix the "no scaling" case on multi-planar YUV formats (bsc#1051510). - commit b59ab11- block: don't warn for flush on read-only device (bsc#1107756). - commit e361527- series.conf: Sort it - commit 54dc76e- nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event (git-fixes). - commit f59adb7- ata: libahci: Allow reconfigure of DEVSLP register (bsc#1051510). - ata: libahci: Correct setting of DEVSLP register (bsc#1051510). - commit ee6224d- blacklist.conf: Add an ASoC rt5677 entry - commit 7e9345a- ASoC: rsnd: fixup not to call clk_get/set under non-atomic (bsc#1051510). - ASoC: rsnd: move rsnd_ssi_config_init() execute condition into it (bsc#1051510). - ASoC: rsnd: update pointer more accurate (bsc#1051510). - commit 5639646- ALSA: oxfw: fix memory leak of discovered stream formats at error path (bsc#1051510). - ALSA: oxfw: fix memory leak for model-dependent data at error path (bsc#1051510). - ALSA: oxfw: fix memory leak of private data (bsc#1051510). - ALSA: firewire-tascam: fix memory leak of private data (bsc#1051510). - ALSA: firewire-digi00x: fix memory leak of private data (bsc#1051510). - ALSA: fireface: fix memory leak in ff400_switch_fetching_mode() (bsc#1051510). - commit 1f786bc- 9p/virtio: fix off-by-one error in sg list bounds check (bsc#1051510). - 9p: fix multiple NULL-pointer-dereferences (bsc#1051510). - fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed (bsc#1051510). - net/9p/trans_fd.c: fix race by holding the lock (bsc#1051510). - net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree() (bsc#1051510). - 9p/net: Fix zero-copy path in the 9p virtio transport (bsc#1051510). - net/9p/client.c: version pointer uninitialized (bsc#1051510). - net/9p: fix error path of p9_virtio_probe (bsc#1051510). - net/9p: Switch to wait_event_killable() (bsc#1051510). - commit 2a92430- pstore: Fix incorrect persistent ram buffer mapping (bsc#1051510). - i2c: xiic: Make the start and the byte count write atomic (bsc#1051510). - ALSA: hda - Fix cancel_work_sync() stall from jackpoll work (bsc#1051510). - i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes (bsc#1051510). - Input: atmel_mxt_ts - only use first T9 instance (bsc#1051510). - staging: comedi: ni_mio_common: fix subdevice flags for PFI subdevice (bsc#1051510). - drm/i915: set DP Main Stream Attribute for color range on DDI platforms (bsc#1051510). - Replace magic for trusting the secondary keyring with #define (bsc#1051510). - gpio: ml-ioh: Fix buffer underwrite on probe error path (bsc#1051510). - gpu: ipu-v3: default to id 0 on missing OF alias (bsc#1051510). - ath9k_hw: fix channel maximum power level test (bsc#1051510). - ath9k: report tx status on EOSP (bsc#1051510). - ath10k: disable bundle mgmt tx completion event support (bsc#1051510). - Bluetooth: h5: Fix missing dependency on BT_HCIUART_SERDEV (bsc#1051510). - Bluetooth: hidp: Fix handling of strncpy for hid->name information (bsc#1051510). - gpio: tegra: Move driver registration to subsys_init level (bsc#1051510). - pinctrl/amd: only handle irq if it is pending and unmasked (bsc#1051510). - rhashtable: add schedule points (bsc#1051510). - commit e362007- libnvdimm: Use max contiguous area for namespace size (git-fixes). - commit 3536ffe- x86/asm/memcpy_mcsafe: Fix copy_to_user_mcsafe() exception handling (bsc#1098782). - commit 3410c6d- lib/iov_iter: Fix pipe handling in _copy_to_iter_mcsafe() (bsc#1098782). - commit 6d84c3d- libnvdimm, pmem: Fix memcpy_mcsafe() return code handling in nsio_rw_bytes() (bsc#1098782). - commit a9dde76- powerpc/powernv/npu: Do a PID GPU TLB flush when invalidating a large address range (bsc#1055120). - commit 0b87042- powerpc: Fix size calculation using resource_size() (bnc#1012382). - commit dfbb395- patches.fixes/xen-netfront-dont-bug-in-case-of-too-many-frags.patch: (bnc#1104824). - commit ef15470- xenbus: track caller request id (bnc#1065600). - commit 6feb718- mmc: omap_hsmmc: fix wakeirq handling on removal (bsc#1051510). - commit f256ed6- HID: add quirk for another PIXART OEM mouse used by HP (bsc#1051510). - commit 033f342- fb: fix lost console when the user unplugs a USB adapter (bsc#1051510). - commit df657a2- xen: xenbus_dev_frontend: Really return response string (bnc#1065600). - commit d2abf65- xen: xenbus_dev_frontend: Fix XS_TRANSACTION_END handling (bnc#1065600). - commit 6849cde- powerpc/xive: Fix trying to "push" an already active pool VP (FATE#322438, bsc#1085030, git-fixes). - commit 95df48c- Refresh patches.arch/powerpc-topology-Get-topology-for-shared-processors-.patch. - Refresh patches.drivers/scsi-hpsa-limit-transfer-length-to-1mb-not-512kb.patch. - Refresh patches.fixes/libnvdimm-fix-ars_status-output-length-calculation.patch. - Refresh patches.fixes/scsi-lpfc-Correct-MDS-diag-and-nvmet-configuration.patch. - Refresh patches.suse/0001-md-cluster-release-RESYNC-lock-after-the-last-resync.patch. Re-sort series and update upstream tags. - commit a74430e- powerpc/fadump: cleanup crash memory ranges support (bsc#1103269). - commit a315a15- powerpc/fadump: re-register firmware-assisted dump if already registered (bsc#1108170, bsc#1108823). - commit 2677edc- platform/x86: asus-nb-wmi: Add keymap entry for lid flip action on UX360 (bsc#1051510). - commit 1fcd136- crypto: clarify licensing of OpenSSL asm code (FATE#321642). - commit 857bee1- usb: gadget: udc: renesas_usb3: fix maxpacket size of ep0 (bsc#1051510). - USB: net2280: Fix erroneous synchronization change (bsc#1051510). - USB: serial: ti_usb_3410_5052: fix array underflow in completion handler (bsc#1051510). - USB: serial: io_ti: fix array underflow in completion handler (bsc#1051510). - usb: Don't die twice if PCI xhci host is not responding in resume (bsc#1051510). - drm/i915/overlay: Allocate physical registers from stolen (bsc#1051510). - drm/i915/gvt: Fix the incorrect length of child_device_config issue (bsc#1051510). - r8169: add support for NCube 8168 network card (bsc#1051510). - drm/edid: Add 6 bpc quirk for SDC panel in Lenovo B50-80 (bsc#1051510). - drm/amdgpu:add new firmware id for VCN (bsc#1051510). - drm/amdgpu:add tmr mc address into amdgpu_firmware_info (bsc#1051510). - drm/i915/lpe: Mark LPE audio runtime pm as "no callbacks" (bsc#1051510). - drm/amd/pp/Polaris12: Fix a chunk of registers missed to program (bsc#1051510). - drm/amdgpu: Fix RLC safe mode test in gfx_v9_0_enter_rlc_safe_mode (bsc#1051510). - ASoC: wm8994: Fix missing break in switch (bsc#1051510). - ACPI / scan: Initialize status to ACPI_STA_DEFAULT (bsc#1051510). - commit 4f06665- Netperf performance issue due to AppArmor net mediation (bsc#1108520) Refresh patches.apparmor/apparmor-check-all-net-profiles.patch - commit cbd0695- powerpc: KABI: move mce_data_buf into paca_aux (bsc#1094244). - commit 1d4ef4d- powerpc/pseries: Defer the logging of rtas error to irq work queue (bsc#1094244). - commit 90db3c5- powerpc: KABI add aux_ptr to hole in paca_struct to extend it with additional members (bsc#1094244). - commit 7ba875c- doc/README.SUSE: Remove mentions of cloneconfig (bsc#1103636). - commit 3371adc- kabi protect hnae_ae_ops (bsc#1107924). - commit 5ac54e8- net: hns: add netif_carrier_off before change speed and duplex (bsc#1107924). - net: hns: add the code for cleaning pkt in chip (bsc#1107924). - commit 16541cc- vhost: correctly check the iova range when waking virtqueue (bsc#1051510). - vfio/type1: Fix task tracking for QEMU vCPU hotplug (bsc#1051510). - ti: ethernet: cpdma: Use correct format for genpool_* (bsc#1051510). - tracepoint: Do not warn on ENOMEM (bsc#1051510). - vhost: do not try to access device IOTLB when not initialized (bsc#1051510). - vhost: use mutex_lock_nested() in vhost_dev_lock_vqs() (bsc#1051510). - fix a page leak in vhost_scsi_iov_to_sgl() error recovery (bsc#1051510). - vfio/pci: Virtualize Maximum Read Request Size (bsc#1051510). - vfio/pci: Virtualize Maximum Payload Size (bsc#1051510). - commit 63d1cac- Revert "PCI: Add ACS quirk for Intel 300 series" (bsc#1051510). - commit e6b51b9- hfsplus: fix NULL dereference in hfsplus_lookup() (bsc#1102870, CVE-2018-14617). - commit 3810954- dax: remove default copy_from_iter fallback (bsc#1098782). patches.drivers/dax-remove-the-pmem_dax_ops-flush-abstraction.patch: Refresh - commit 3c3db4d- pmem: Switch to copy_to_iter_mcsafe() (bsc#1098782). - commit 9a8267b- dax: Report bytes remaining in dax_iomap_actor() (bsc#1098782). - commit e7253c5- dax: Introduce a ->copy_to_iter dax operation (bsc#1098782). - commit dd19686- uio, lib: Fix CONFIG_ARCH_HAS_UACCESS_MCSAFE compilation (bsc#1098782). - commit 37b2dab- x86/asm/memcpy_mcsafe: Define copy_to_iter_mcsafe() (bsc#1098782). - commit 45e6aa4- x86/asm/memcpy_mcsafe: Add write-protection-fault handling (bsc#1098782). - commit 88f00bb- x86/asm/memcpy_mcsafe: Return bytes remaining (bsc#1098782). - commit a845711- x86/asm/memcpy_mcsafe: Add labels for __memcpy_mcsafe() write fault handling (bsc#1098782). - commit d185440- x86/asm/memcpy_mcsafe: Remove loop unrolling (bsc#1098782). - commit 6aa2974- x86/mce: Fix set_mce_nospec() to avoid #GP fault (bsc#1107783). - commit 7f8d2a1- x86/mcelog: Get rid of RCU remnants (git-fixes 5de97c9f6d85). - commit dbcfc68- drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement (bsc#1051510). - commit e4036a9- bpf: fix uninitialized variable in bpf tools (bsc#1083647). - commit cee2bee- x86/xen/efi: Initialize only the EFI struct members used by Xen (bnc#1107945). - commit cc07f9e- resort series.conf - commit da3426b- libnvdimm, pmem: Restore page attributes when clearing errors (bsc#1107783). - commit c8cb253- filesystem-dax: Introduce dax_lock_mapping_entry() (bsc#1107783). patches.kabi/kabi-fixup-bdev_dax_supported.patch: Refresh - commit 16c290c- mm, memory_failure: Collect mapping size in collect_procs() (bsc#1107783). - commit a912b4a- mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages (bsc#1107783). - commit a07de12- filesystem-dax: Set page->index (bsc#1107783). - commit c7ba339- mm, memory_failure: Teach memory_failure() about dev_pagemap pages (bsc#1107783). - commit e03913e- x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses (bsc#1107783). - commit 9bffeaa- device-dax: Set page->index (bsc#1107783). - commit 087ebb1- x86/memory_failure: Introduce {set, clear}_mce_nospec() (bsc#1107783). - commit 7879886- mm, madvise_inject_error: Let memory_failure() optionally take a page reference (bsc#1107783). - commit 37f04d6- device-dax: Enable page_mapping() (bsc#1107783). - commit d7bd7c1- btrfs: Introduce mount time chunk <-> dev extent mapping check (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit 7f6f993- btrfs: Verify that every chunk has corresponding block group at mount time (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit 1253638- btrfs: Check that each block group has corresponding chunk at mount time (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit aca95a2- btrfs: tree-checker: Detect invalid and empty essential trees (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: tree-checker: Verify block_group_item (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit 99d8299- btrfs: tree-checker: Replace root parameter with fs_info (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit d7954ed- btrfs: tree-checker: use %zu format string for size_t (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit 910d229- btrfs: tree-checker: Add checker for dir item (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit 4d74bd3- btrfs: tree-checker: Fix false panic for sanity test (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit 78dd7ab- btrfs: tree-checker: use %zu format string for size_t (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit aeec025- btrfs: tree-checker: Enhance output for check_extent_data_item (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: tree-checker: Enhance output for check_csum_item (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: tree-checker: Enhance output for btrfs_check_leaf (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: tree-checker: Enhance btrfs_check_node output (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: Move leaf and node validation checker to tree-checker.c (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - commit f8584a3- btrfs: Add checker for EXTENT_CSUM (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: Add sanity check for EXTENT_DATA when reading out leaf (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: Check if item pointer overlaps with the item itself (bsc#1102882, bsc#1102896, bsc#1102879, bsc#1102877, bsc#1102875,). - btrfs: Refactor check_leaf function for later expansion (bsc#1102896, CVE-2018-14613). - commit 9b8a387- blacklist.conf: Blacklist 3d95b89e573b ("x86/ACPI/cstate: Make APCI C1 FFH MWAIT C-state description vendor-neutral") - commit 89bf8f2- x86/spectre: Add missing family 6 check to microcode check (git-fixes a5b296636453). - commit 5cb13eb- x86/events/intel/ds: Fix bts_interrupt_threshold alignment (git-fixes c1961a4631da). - commit 81d0f0a- ibmvnic: Include missing return code checks in reset function (bnc#1107966). - commit 556ed81- Update patches.drivers/cdrom-information-leak-in-cdrom_ioctl_media_changed (bsc#1051510,bsc#1092903,CVE-2018-10940). - commit 0f469f0- xen: avoid crash in disable_hotplug_cpu (bsc#1106594). - commit 3563072- macros.kernel-source: pass -b properly in kernel module package (bsc#1107870). - commit 66709cd- powerpc: Avoid code patching freed init sections (bnc#1107735). - commit 0db159b- Refresh patches.arch/0001-x86-speculation-l1tf-Increase-l1tf-memory-limit-for-.patch. - Refresh patches.kabi/0001-x86-kabi-speculation-l1tf-Increase-l1tf-memory-limit-for-.patch. - commit 96ecd28- xfs: validate cached inodes are free when allocated (bsc#1100001, CVE-2018-13093). - commit 49b81b5- xfs: don't call xfs_da_shrink_inode with NULL bp (bsc#1100000, CVE-2018-13094). - commit 2124c37- patches.suse/xfs-fix-a-null-pointer-dereference-in-xfs_bmap_exten.patch: (bsc#1099999, CVE-2018-13095). - commit 00092ab- Update patch tag / sort the upstreamed alarmtimer fix - commit a0d9531- kABI workaround for posix-timers it_overrun 64bit changes (CVE-2018-12896,bsc#1099922). - posix-timers: Sanitize overrun handling (CVE-2018-12896,bsc#1099922). - commit 4d6309b- x86/kasan/64: Teach KASAN about the cpu_entry_area (kasan). - x86/mm/kasan: Don't use vmemmap_populate() to initialize shadow (kasan). - Refresh patches.arch/22-x86-cpu_entry_area-move-it-out-of-the-fixmap.patch. Make KASAN build. - commit 3ef9063- tools/power turbostat: Read extended processor family from CPUID (bsc#1051510). - tools/power turbostat: fix -S on UP systems (bsc#1051510). - tools: usb: ffs-test: Fix build on big endian systems (bsc#1051510). - commit 88fdc8e- usb/phy: fix PPC64 build errors in phy-fsl-usb.c (bsc#1051510). - commit 63486c9- udlfb: set optimal write delay (bsc#1051510). - commit 9d6b4d5- uart: fix race between uart_put_char() and uart_shutdown() (bsc#1051510). - commit 0cb3532- sunxi-rsb: Include OF based modalias in device uevent (bsc#1051510). - commit 9eecba6- memory: tegra: Apply interrupts mask per SoC (bsc#1051510). - memory: tegra: Do not handle spurious interrupts (bsc#1051510). - commit 0590d27- media: Revert "[media] tvp5150: fix pad format frame height" (bsc#1051510). - commit a131b55- ipmi:bt: Set the timeout before doing a capabilities check (bsc#1051510). - commit bd1ddb1- Revert "UBIFS: Fix potential integer overflow in allocation" (bsc#1051510). - commit 5739a28- i2c: i801: fix DNV's SMBCTRL register offset (bsc#1051510). - i2c: uniphier-f: issue STOP only for last message or I2C_M_STOP (bsc#1051510). - i2c: uniphier: issue STOP only for last message or I2C_M_STOP (bsc#1051510). - commit d5290f6- spi: davinci: fix a NULL pointer dereference (bsc#1051510). - spi: cadence: Change usleep_range() to udelay(), for atomic context (bsc#1051510). - commit 9981a86- Update patch tag of dmi fix (bsc#1105597) Also moved to the sorted section. - commit 30bc396- sched/numa: Do not move imbalanced load purely on the basis of an idle CPU (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Stop comparing tasks for NUMA placement after selecting an idle core (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: remove unused nr_running field (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: remove unused code from update_numa_stats() (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Remove numa_has_capacity() (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Remove unused task_capacity from 'struct numa_stats' (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Evaluate move once per node (bnc#1101669 optimise numa balancing for fast migrate). - commit 168092b- Refresh patches.fixes/qlge-Fix-netdev-features-configuration.patch. - commit 74255c9- powerpc/mce: Fix SLB rebolting during MCE recovery path (bsc#1094244). - powerpc/64s: move machine check SLB flushing to mm/slb.c (bsc#1094244). - powerpc/pseries: Fix endianness while restoring of r3 in MCE handler (bsc#1094244). - powerpc/pseries: Avoid using the size greater than RTAS_ERROR_LOG_MAX (bsc#1094244). - commit 3cdea6e- powerpc/pseries: fix EEH recovery of some IOV devices (FATE#324970, bsc#1078720, git-fixes). - commit 0ece9ad- xen/blkback: remove unused pers_gnts_lock from struct (bsc#1085042). - xen/blkfront: reorder tests in xlblk_init() (bsc#1085042). - xen/blkfront: cleanup stale persistent grants (bsc#1085042). - xen/blkback: move persistent grants flags to bool (bsc#1085042). - xen/blkback: don't keep persistent grants too long (bsc#1085042). - commit 31abf82- Update patch tag (CVE-2018-16658,bsc#1107689). - commit c1fe790- i40e: fix condition of WARN_ONCE for stat strings (bsc#1107522). - commit 58237b6- ipmi: Move BT capabilities detection to the detect call (bsc#1106779). - commit f804445- Update references (bsc#1064232): patches.suse/0227-bcache-simplify-the-calculation-of-the-total-amount-.patch patches.suse/0228-bcache-finish-incremental-GC.patch patches.suse/0229-bcache-calculate-the-number-of-incremental-GC-nodes-.patch patches.suse/0230-bcache-fix-I-O-significant-decline-while-backend-dev.patch patches.suse/0231-bcache-free-heap-cache_set-flush_btree-in-bch_journa.patch patches.suse/0232-bcache-do-not-check-return-value-of-debugfs_create_d.patch patches.suse/0233-bcache-display-rate-debug-parameters-to-0-when-write.patch patches.suse/0234-bcache-avoid-unncessary-cache-prefetch-bch_btree_nod.patch patches.suse/0235-bcache-set-max-writeback-rate-when-I-O-request-is-id.patch patches.suse/0236-bcache-fix-error-setting-writeback_rate-through-sysf.patch patches.suse/0237-bcache-make-the-pr_err-statement-used-for-ENOENT-onl.patch patches.suse/0238-bcache-release-dc-writeback_lock-properly-in-bch_wri.patch - commit 8cbdec7- irda: Only insert new objects into the global database via setsockopt (CVE-2018-6555 bsc#1106511). - irda: Fix memory leak caused by repeated binds of irda socket (CVE-2018-6554 bsc#1106509). - commit 9ab3d1d- mm/hugetlb: filter out hugetlb pages if HUGEPAGE migration is not supported (bnc#1106697). - commit 1d9bc2e- Update headers for file system patches. - commit 451e265- btrfs: fix error handling in btrfs_dev_replace_start (bsc#1107535). - commit 4e881dc- PCI: OF: Fix I/O space page leak (git-fixes). - PCI: hv: Make sure the bus domain is really unique (git-fixes). - commit 8945aab- Update patch tags of upstreamed patches; not moved to sorted section yet - commit 94311a8- PCI: aardvark: Fix I/O space page leak (git-fixes). - /dev/mem: Avoid overwriting "err" in read_mem() (git-fixes). - commit 43758f4- /dev/mem: Add bounce buffer for copy-out (git-fixes). - ipmi/powernv: Fix error return code in ipmi_powernv_probe() (git-fixes). - commit d0767ac- Update patch tags of recent security fixes (bsc#1106426) - commit 47c1bca- bpf: use GFP_ATOMIC instead of GFP_KERNEL in bpf_parse_prog() (bsc#1083647). - bpf: hash map: decrement counter on error (bsc#1083647). - bpf, s390: fix potential memleak when later bpf_jit_prog fails (bsc#1083647). - commit 50a2ab4- gpiolib: acpi: Switch to cansleep version of GPIO library call (bsc#1051510). - commit bc3eb16- Workaround kABI breakage by __must_check drop of strscpy() (bsc#1051510). - commit 9066acc- string: drop __must_check from strscpy() and restore strscpy() usages in cgroup (bsc#1051510). - cgroup: avoid copying strings longer than the buffers (bsc#1051510). - commit 6f17138- usb: gadget: r8a66597: Fix a possible sleep-in-atomic-context bugs in r8a66597_queue() (bsc#1051510). - usb: gadget: r8a66597: Fix two possible sleep-in-atomic-context bugs in init_controller() (bsc#1051510). - commit 647cd5a- mei: don't update offset in write (bsc#1051510). - commit 157d749- libahci: Fix possible Spectre-v1 pmp indexing in ahci_led_store() (bsc#1051510). - commit 555fb22- i2c: davinci: Avoid zero value of CLKH (bsc#1051510). - commit 25360bc- gpiolib-acpi: make sure we trigger edge events at least once on boot (bsc#1051510). - commit b312d67- drm/bridge: adv7511: Reset registers on hotplug (bsc#1051510). - drm/imx: imx-ldb: check if channel is enabled before printing warning (bsc#1051510). - drm/imx: imx-ldb: disable LDB on driver bind (bsc#1051510). - commit 294968d- cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status (bsc#1051510). - commit 4524c3a- b43legacy/leds: Ensure NUL-termination of LED name string (bsc#1051510). - b43/leds: Ensure NUL-termination of LED name string (bsc#1051510). - commit e4b4203- nl80211: Add a missing break in parse_station_flags (bsc#1051510). - mac80211: add stations tied to AP_VLANs during hw reconfig (bsc#1051510). - commit db4daaa- udl-kms: avoid division (bsc#1051510). - udl-kms: fix crash due to uninitialized memory (bsc#1051510). - udl-kms: handle allocation failure (bsc#1051510). - udl-kms: change down_interruptible to down (bsc#1051510). - commit 161b133- Refresh patches.drivers/platform-x86-ideapad-laptop-Apply-no_hw_rfkill-to-Y2 Updated patch tags and moved to sorted section - commit 74c158d- ceph: return errors from posix_acl_equiv_mode() correctly (bsc#1107320). - ceph: fix incorrect use of strncpy (bsc#1107319). - commit 899eb9e- crypto: vmx - Fix sleep-in-atomic bugs (bsc#1051510). - commit d3a49ba- Update patches.drivers/0016-arm64-vgic-v2-Fix-proxying-of-cpuif-access.patch (bsc#1106901, bsc#1107265). - commit 1deae2a- mac80211: fix an off-by-one issue in A-MSDU max_subframe computation (bsc#1051510). - mac80211: always account for A-MSDU header changes (bsc#1051510). - cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE (bsc#1051510). - mac80211: avoid kernel panic when building AMSDU from non-linear SKB (bsc#1051510). - commit f688a83- Update config files: disable useless pinctrl-intel on arm64 - commit e138d79- mfd: intel-lpss: Add Ice Lake PCI IDs (bsc#1051510). - commit 31dc7a0- i2c: i801: Add support for Intel Ice Lake (bsc#1051510). - i2c: i801: Consolidate chipset names in documentation and Kconfig (bsc#1051510). - spi: pxa2xx: Add support for Intel Ice Lake (bsc#1051510). - ahci: Add Intel Ice Lake LP PCI ID (bsc#1051510). - i2c: i801: Add missing documentation entries for Braswell and Kaby Lake (bsc#1051510). - i2c: i801: Add support for Intel Cedar Fork (bsc#1051510). - commit 61acf60- blacklist.conf: a6f572084fbe mm/tlb: Remove tlb_remove_table() non-concurrent condition - commit 9917b05- mm: fix devmem_is_allowed() for sub-page System RAM intersections (bsc#1106800). - commit 8872b9e- net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES (bsc#1104353 FATE#326415). - net: hns3: Fix for waterline not setting correctly (bsc#1104353 FATE#326415). Refresh patches.drivers/net-hns3-Standardize-the-handle-of-return-value.patch. - commit 945fd24- block: don't print a message when the device went away (bsc#1098459). - commit 1899101- Fix Patch-mainline tag in some patches These fixes are along the same lines as the fixes done in 8ee956fca2e5 ("Fix invalid Patch-mainline tags ("next-release")") .. 3525f6717bc4 ("Update Patch-mainline tags to start with "v"") - commit cdc2b81- kabi protect struct kvm_sync_regs (bsc#1106948). - commit 6de71f5- KVM: s390: add etoken support for guests (bsc#1106948, LTC#171029). - KVM: s390: implement CPU model only facilities (bsc#1106948, LTC#171029). - commit 6308e19- blacklist.conf: Add a blacklist entry for the reverted patch (bsc#1106743) - commit ed4fb91- bcache: release dc->writeback_lock properly in bch_writeback_thread(). - bcache: fix error setting writeback_rate through sysfs interface. - bcache: make the pr_err statement used for ENOENT only in sysfs_attatch section. - bcache: set max writeback rate when I/O request is idle. - bcache: avoid unncessary cache prefetch bch_btree_node_get(). - bcache: display rate debug parameters to 0 when writeback is not running. - bcache: do not check return value of debugfs_create_dir(). - bcache: free heap cache_set->flush_btree in bch_journal_free. - bcache: fix I/O significant decline while backend devices registering. - bcache: calculate the number of incremental GC nodes according to the total of btree nodes. - bcache: finish incremental GC. - bcache: simplify the calculation of the total amount of flash dirty data. - commit 13a08de- kabi/severities: Whitelist libceph, rbd, and ceph (bsc#1096748). - commit 9628dcb- netfilter: ip6t_rpfilter: set F_IFACE for linklocal addresses (git-fixes). - commit 12ce0a3- blacklist.conf: 5df63c2a149a hugetlbfs: fix bug in pgoff overflow checking - commit 993b56a- memcg, thp: do not invoke oom killer on thp charges (bnc#1089663). - commit 753b076- blacklist.conf: 698d0831ba87 vmalloc: fix __GFP_HIGHMEM usage for vmalloc_32 on 32b systems - commit 4579ce2- xen-netfront: fix warn message as irq device name has '/' (bnc#1065600). - xen-netfront: fix queue name setting (bnc#1065600). - commit 70b555b- Delete patches.drivers/driver-core-Partially-revert-driver-core-correct-dev The patch causes errors at reboot, revert it for the time being (bsc#1093389) - commit ed60106- Revert "mm: page_alloc: skip over regions of invalid pfns where possible" (bnc#1107078). - commit d6d850e- mm/huge_memory.c: fix data loss when splitting a file pmd (bnc#1107074). - commit 1955309- Delete patches.suse/sched-numa-Evaluate-move-once-per-node.patch. - Delete patches.suse/sched-numa-Remove-unused-task_capacity-from-struct-numa_stats.patch. - commit db82b9f- Revert "vmalloc: back off when the current task is killed" (bnc#1107073). - commit e8d477c- mm: memcg: fix use after free in mem_cgroup_iter() (bnc#1107065). - commit 4cee20a- blacklist.conf: 78bb920344b8 mm: hwpoison: dissolve in-use hugepage in unrecoverable memory error - commit 8b28382- mm/vmscan: wake up flushers for legacy cgroups too (bnc#1107061). - commit 98c3af9- slab: __GFP_ZERO is incompatible with a constructor (bnc#1107060). - commit de0a673- blacklist.conf: f113e64121ba ("mm/vmstat.c: fix wrong comment") - commit ad74a8e- blacklist.conf: 955c97f0859a ("mm/swapfile.c: fix swap_count comment about nonexistent SWAP_HAS_CONT") - commit 25b7eb6- blacklist.conf: blacklist 6cc22dc08a24 ("revert "mm/memblock: add missing include "") - commit d5d76ad- blacklist.conf: blacklist a7bed27af194 ("bug: fix "cut here" location for __WARN_TAINT architectures") - commit b1ea131- selftests/bpf: fix a typo in map in map test (bsc#1083647). - selftests/bpf/test_maps: exit child process without error in ENOMEM case (bsc#1083647). - libbpf: Makefile set specified permission mode (bsc#1083647). - samples/bpf: adjust rlimit RLIMIT_MEMLOCK for xdp1 (bsc#1083647). - commit 6dbb87a- btrfs: Handle error from btrfs_uuid_tree_rem call in _btrfs_ioctl_set_received_subvol (bsc#1097105). - commit bac7ef9- sys: don't hold uts_sem while accessing userspace memory (bnc#1106995). - commit 45c02c7- errseq: Add to documentation tree (bsc#1107008). - commit c5caa9a- Documentation: add some docs for errseq_t (bsc#1107008). - commit 4fe4598- errseq: Always report a writeback error once (bsc#1107008). - commit 59f66ac- btrfs: Fix use-after-free when cleaning up fs_devs with a single stale device (bsc#1097105). - commit 915f064- btrfs: round down size diff when shrinking/growing device (bsc#1097105). - btrfs: Manually implement device_total_bytes getter/setter (bsc#1043912). - btrfs: Round down values which are written for total_bytes_size (bsc#1043912). - commit bd2cec0- staging: bcm2835-audio: Don't leak workqueue if open fails (FATE#324827). - staging: bcm2835-audio: Check if workqueue allocation failed (FATE#324827). - staging: bcm2835-audio: Disconnect and free vchi_instance on module_exit() (FATE#324827). - staging: vc04_services: bcm2835-audio: Change to unsigned int * (FATE#324827). - staging: vc04_services: bcm2835-audio Format multiline comment (FATE#324827). - staging: vc04_services: bcm2835-audio: Add blank line after declaration (FATE#324827). - staging: vc04_services: bcm2835-audio: remove redundant license text (FATE#324827). - staging: vc04_services: bcm2835-audio: add SPDX identifiers (FATE#324827). - staging: vc04_services: Fix platform_no_drv_owner.cocci warnings (FATE#324827). - Staging: vc04_services: remove unused variables (FATE#324827). - staging: vc04_services: please do not use multiple blank lines (FATE#324827). - staging: bcm2835-audio: make snd_pcm_hardware const (FATE#324827). - staging: bcm2835-audio: constify snd_pcm_ops structures (FATE#324827). - commit adc465a- Rebase for SLE15 kernel patches.suse/md-display-timeout-error.patch. - Delete obsoleted patches: patches.suse/0001-bcache-force-trigger-gc.patch patches.suse/0001-bcache-only-recovery-I-O-error-for-writethrough-mode.patch patches.suse/0002-bcache-fix-calling-ida_simple_remove-with-incorrect-minor.patch - commit 9783d14- scsi_debug: call resp_XXX function after setting host_scribble (bsc#1069138). git-fixes patch. - commit 3109972- scsi_debug: reset injection flags for every_nth > 0 (bsc#1069138). - commit 1f1a785- Fix buggy backport of patches.drivers/libnvdimm-btt-fix-an-incompatibility-in-the-log-layout.patch (bsc#1103961). - commit 54a0405- ACPI / bus: Only call dmi_check_system on X86 (bsc#1105597, bsc#1106178). - commit 1b1a47e- KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled (git-fixes 1f50ddb4f418). - Refresh patches.arch/36-x86-bugs-kvm-extend-speculation-control-for-virt_spec_ctrl.patch. - Refresh patches.suse/05-x86-bugs-kvm-support-the-combination-of-guest-and-host-ibrs.patch. - commit d04f336- arm64: mm: check for upper PAGE_SHIFT bits in pfn_valid() (bsc#1106893). - arm64: export memblock_reserve()d regions via /proc/iomem (bsc#1106892). - arm64: numa: rework ACPI NUMA initialization (bsc#1106905). - arm64: fix vmemmap BUILD_BUG_ON() triggering on !vmemmap setups (bsc#1106896). - arm64: mm: Ensure writes to swapper are ordered wrt subsequent cache maintenance (bsc#1106906). - arm64: dma-mapping: clear buffers allocated with FORCE_CONTIGUOUS flag (bsc#1106902). - arm64: fpsimd: Avoid FPSIMD context leakage for the init task (bsc#1106894). - arm64/acpi: Create arch specific cpu to acpi id helper (bsc#1106903). - arm64: Make sure permission updates happen for pmd/pud (bsc#1106891). - arm64: vgic-v2: Fix proxying of cpuif access (bsc#1106901). - arm64: kasan: avoid pfn_to_nid() before page array is initialized (bsc#1106899). - arm64: fix unwind_frame() for filtered out fn for function graph tracing (bsc#1106900). - arm64/mm/kasan: don't use vmemmap_populate() to initialize shadow (bsc#1106898). - arm64/kasan: don't allocate extra shadow memory (bsc#1106897). - commit 4e3b581- blacklist.conf: cosmetic fix of a comment - commit 399b823- blacklist.conf: backport did not add the problematic include - commit 33794a5- arm64: Enforce BBM for huge IO/VMAP mappings (bsc#1106890). - commit 8c23103- i2c: xlp9xx: Fix case where SSIF read transaction completes early (bsc#1105907). - i2c: xlp9xx: Make sure the transfer size is not more than I2C_SMBUS_BLOCK_SIZE (bsc#1105907). - i2c: xlp9xx: Fix issue seen when updating receive length (bsc#1105907). - ipmi: Fix some counter issues (bsc#1105907). - ipmi: Remove ACPI SPMI probing from the SSIF (I2C) driver (bsc#1105907). - commit 108b29e- KVM: VMX: Work around kABI breakage in 'enum vmx_l1d_flush_state' (bsc#1106369). - commit f357e65- md-cluster: release RESYNC lock after the last resync message (bsc#1106688). - commit f74db00- KVM: VMX: fixes for vmentry_l1d_flush module parameter (bsc#1106369). - x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry (bsc#1106369). - commit 4183b24- rpm/kernel-binary.spec.in: fix call of split-modules split-modules is called with some parameters depending on config options. But since we do not use backslash consistelny, the call to split-modules might be evaluated so that also the following cat command is appended. Avoid this behaviour by using backslashes everywhere and add %nil to the end. This perhaps never happens, but stay on the safe side. - commit 32df888- target_core_rbd: break up free_device callback (bsc#1105524). - target_core_rbd: use RCU in free_device (bsc#1105524). - commit c86ea53- ALSA: pcm: Workaround for weird PulseAudio behavior on rewind error (FATE#324827). - ALSA: pcm: Fix possible inconsistent appl_ptr update via mmap (FATE#324827). - ALSA: pcm: Skip ack callback without actual appl_ptr update (FATE#324827). - ALSA: pcm: Call ack() whenever appl_ptr is updated (FATE#324827). - staging: bcm2835-audio: Deliver indirect-PCM transfer error (FATE#324827). - ALSA: rme32: Deliver indirect-PCM transfer error (FATE#324827). - ALSA: emu10k1: Deliver indirect-PCM transfer error (FATE#324827). - ALSA: cs46xx: Deliver indirect-PCM transfer error (FATE#324827). - ALSA: mips: Deliver indirect-PCM transfer error (FATE#324827). - ALSA: pcm: Fix negative appl_ptr handling in pcm-indirect helpers (FATE#324827). - ALSA: pcm: Simplify forward/rewind codes (FATE#324827). - ALSA: pcm: Use a common helper for PCM state check and hwsync (FATE#324827). - commit bb024f5- cifs: check kmalloc before use (bsc#1051510). - commit bebab77- cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf() (bsc#1051510). - commit 9edbb40- cifs: store the leaseKey in the fid on SMB2_open (bsc#1051510). - commit 6540d4c- block: bio_iov_iter_get_pages: pin more pages for multi-segment IOs (bsc#1083663). - commit cc2b437- blkdev: __blkdev_direct_IO_simple: fix leak in error case (bsc#1083663). - commit f46b7e1- block: bio_iov_iter_get_pages: fix size of last iovec (bsc#1083663). - commit 0c71f39- libceph: weaken sizeof check in ceph_x_verify_authorizer_reply() (bsc#1096748). - libceph: check authorizer reply/challenge length before reading (bsc#1096748). - libceph: implement CEPHX_V2 calculation mode (bsc#1096748 CVE-2018-1129). - libceph: add authorizer challenge (bsc#1096748 CVE-2018-1128). - libceph: factor out encrypt_authorizer() (bsc#1096748). - libceph: factor out __ceph_x_decrypt() (bsc#1096748). - libceph: factor out __prepare_write_connect() (bsc#1096748). - libceph: store ceph_auth_handshake pointer in ceph_connection (bsc#1096748). - commit 9961671- blacklist.conf: Add i915 blacklist commit - commit 75ba08e- drm/i915: Increase LSPCON timeout (bsc#1051510). - commit f6a2c2e- PM / clk: signedness bug in of_pm_clk_add_clks() (bsc#1051510). - commit 8771052- scsi: hpsa: limit transfer length to 1MB, not 512kB (bsc#1102346). - commit 8fe3be6- libnvdimm, nfit: move the check on nd_reserved2 to the endpoint (bsc#1103961). - commit 2a0dfd3- scsi: lpfc: Correct MDS diag and nvmet configuration (bsc#1106636). - commit 24436b8- scripts/git_sort/git_sort.py: Add fixes branch from mkp/scsi.git. - commit a5cf63e- Update config files, make CRYPTO_CRCT10DIF_PCLMUL built-in (bsc#1105603). - commit e11db61- Update Patch-mainline tags to start with "v" Mainline release tags begin with a "v". Some Patch-mainline tags do and other don't. For consistency, use the same format as upstream. This makes parsing easier if some people want to grep through those tags. - Refresh patches.arch/powerpc-64s-Use-emergency-stack-for-kernel-TM-Bad-Thing-program-checks.patch. - Refresh patches.arch/x86-boot-KASLR-Prefer-mirrored-memory-regions-for-th.patch. - Refresh patches.arch/x86-mm-Unbreak-modules-that-use-the-DMA-API.patch. - Refresh patches.arch/x86-mm-Use-pr_cont-in-dump_pagetable. - Refresh patches.drivers/0001-scsi-hpsa-limit-transfer-length-to-1MB.patch. - Refresh patches.drivers/ACPI-scan-Initialize-watchdog-before-PNP.patch. - Refresh patches.drivers/ACPI-x86-Add-KIOX000A-accelerometer-on-GPD-win-to-al. - Refresh patches.drivers/ACPI-x86-Allow-matching-always_present_id-array-entr. - Refresh patches.drivers/ACPI-x86-Extend-KIOX000A-quirk-to-cover-all-affected. - Refresh patches.drivers/ALSA-caiaq-Fix-stray-URB-at-probe-error-path. - Refresh patches.drivers/ALSA-compress-Remove-unused-variable. - Refresh patches.drivers/ALSA-hda-Add-AZX_DRIVER_SKL-for-simplification. - Refresh patches.drivers/ALSA-hda-Add-Cannonlake-PCI-ID. - Refresh patches.drivers/ALSA-hda-Add-MIC_NO_PRESENCE-fixup-for-2-HP-machines. - Refresh patches.drivers/ALSA-hda-Add-Raven-PCI-ID. - Refresh patches.drivers/ALSA-hda-Add-hdmi-id-for-a-Geminilake-variant. - Refresh patches.drivers/ALSA-hda-Add-vendor-id-for-Cannonlake-HDMI-codec. - Refresh patches.drivers/ALSA-hda-Drop-useless-WARN_ON. - Refresh patches.drivers/ALSA-hda-Fix-forget-to-free-resource-in-error-handli. - Refresh patches.drivers/ALSA-hda-Fix-missing-COEF-init-for-ALC225-295-299. - Refresh patches.drivers/ALSA-hda-Fix-regression-of-hdmi-eld-control-created-. - Refresh patches.drivers/ALSA-hda-Fix-too-short-HDMI-DP-chmap-reporting. - Refresh patches.drivers/ALSA-hda-Remove-superfluous-added-by-printk-conversi. - Refresh patches.drivers/ALSA-hda-ca0132-Fix-memory-leak-at-error-path. - Refresh patches.drivers/ALSA-hda-change-the-location-for-one-mic-on-a-Lenovo. - Refresh patches.drivers/ALSA-hda-fix-headset-mic-detection-issue-on-a-Dell-m. - Refresh patches.drivers/ALSA-hda-fix-headset-mic-problem-for-Dell-machines-alc274. - Refresh patches.drivers/ALSA-hda-fix-headset-mic-problem-for-Dell-machines-w. - Refresh patches.drivers/ALSA-hda-program-ICT-bits-to-support-HBR-audio. - Refresh patches.drivers/ALSA-hda-realtek-Add-ALC256-HP-depop-function. - Refresh patches.drivers/ALSA-hda-realtek-Add-default-procedure-for-suspend-a. - Refresh patches.drivers/ALSA-hda-realtek-Add-headset-mic-support-for-Intel-N. - Refresh patches.drivers/ALSA-hda-realtek-Add-support-for-ALC1220. - Refresh patches.drivers/ALSA-hda-realtek-Add-support-for-ALC236-ALC3204. - Refresh patches.drivers/ALSA-hda-realtek-Enable-jack-detection-function-for-. - Refresh patches.drivers/ALSA-hda-realtek-Fix-ALC275-no-sound-issue. - Refresh patches.drivers/ALSA-hda-realtek-Fix-ALC700-family-no-sound-issue. - Refresh patches.drivers/ALSA-hda-realtek-Fix-Dell-AIO-LineOut-issue. - Refresh patches.drivers/ALSA-hda-realtek-Fix-pincfg-for-Dell-XPS-13-9370. - Refresh patches.drivers/ALSA-hda-realtek-Fix-typo-of-pincfg-for-Dell-quirk. - Refresh patches.drivers/ALSA-hda-realtek-New-codec-device-ID-for-ALC1220. - Refresh patches.drivers/ALSA-hda-realtek-New-codec-support-for-ALC257. - Refresh patches.drivers/ALSA-hda-realtek-New-codecs-support-for-ALC215-ALC28. - Refresh patches.drivers/ALSA-hda-realtek-No-loopback-on-ALC225-ALC295-codec. - Refresh patches.drivers/ALSA-hda-realtek-Remove-ALC285-device-ID. - Refresh patches.drivers/ALSA-hda-realtek-Support-Dell-headset-mode-for-ALC32. - Refresh patches.drivers/ALSA-hda-realtek-Support-headset-mode-for-ALC234-ALC. - Refresh patches.drivers/ALSA-hda-realtek-There-is-no-loopback-mixer-in-the-A. - Refresh patches.drivers/ALSA-hda-realtek-Update-headset-mode-for-ALC225. - Refresh patches.drivers/ALSA-hda-realtek-Update-headset-mode-for-ALC298. - Refresh patches.drivers/ALSA-line6-Fix-NULL-dereference-at-podhd_disconnect. - Refresh patches.drivers/ALSA-line6-Fix-leftover-URB-at-error-path-during-pro. - Refresh patches.drivers/ALSA-line6-Fix-missing-initialization-before-error-p. - Refresh patches.drivers/ALSA-pcm-prevent-UAF-in-snd_pcm_info. - Refresh patches.drivers/ALSA-pcm-update-tstamp-only-if-audio_tstamp-changed. - Refresh patches.drivers/ALSA-rawmidi-Avoid-racy-info-ioctl-via-ctl-device. - Refresh patches.drivers/ALSA-seq-Avoid-invalid-lockdep-class-warning. - Refresh patches.drivers/ALSA-seq-Cancel-pending-autoload-work-at-unbinding-d. - Refresh patches.drivers/ALSA-seq-Enable-use-locking-in-all-configurations. - Refresh patches.drivers/ALSA-seq-Fix-OSS-sysex-delivery-in-OSS-emulation. - Refresh patches.drivers/ALSA-seq-Fix-copy_from_user-call-inside-lock. - Refresh patches.drivers/ALSA-seq-Fix-nested-rwsem-annotation-for-lockdep-spl. - Refresh patches.drivers/ALSA-seq-Remove-spurious-WARN_ON-at-timer-check. - Refresh patches.drivers/ALSA-timer-Add-missing-mutex-lock-for-compat-ioctls. - Refresh patches.drivers/ALSA-timer-Limit-max-instances-per-timer. - Refresh patches.drivers/ALSA-timer-Remove-kernel-warning-at-compat-ioctl-err. - Refresh patches.drivers/ALSA-usb-audio-Add-check-return-value-for-usb_string. - Refresh patches.drivers/ALSA-usb-audio-Add-native-DSD-support-for-Esoteric-D. - Refresh patches.drivers/ALSA-usb-audio-Add-native-DSD-support-for-Pro-Ject-P. - Refresh patches.drivers/ALSA-usb-audio-Add-sanity-checks-in-v2-clock-parsers. - Refresh patches.drivers/ALSA-usb-audio-Add-sanity-checks-to-FE-parser. - Refresh patches.drivers/ALSA-usb-audio-Check-out-of-bounds-access-by-corrupt. - Refresh patches.drivers/ALSA-usb-audio-Fix-out-of-bound-error. - Refresh patches.drivers/ALSA-usb-audio-Fix-potential-out-of-bound-access-at-. - Refresh patches.drivers/ALSA-usb-audio-Fix-the-missing-ctl-name-suffix-at-pa. - Refresh patches.drivers/ALSA-usb-audio-Kill-stray-URB-at-exiting. - Refresh patches.drivers/ALSA-usb-audio-support-new-Amanero-Combo384-firmware. - Refresh patches.drivers/ALSA-usb-audio-uac1-Invalidate-ctl-on-interrupt. - Refresh patches.drivers/ALSA-usx2y-Suppress-kernel-warning-at-page-allocatio. - Refresh patches.drivers/ASoC-adau17x1-Workaround-for-noise-bug-in-ADC. - Refresh patches.drivers/ASoC-atmel-classd-select-correct-Kconfig-symbol. - Refresh patches.drivers/ASoC-codecs-msm8916-fix-invalid-cast-to-bool-type. - Refresh patches.drivers/ASoC-codecs-msm8916-wcd-Fix-supported-formats. - Refresh patches.drivers/ASoC-cs42l56-Fix-reset-GPIO-name-in-example-DT-bindi. - Refresh patches.drivers/ASoC-da7218-fix-fix-child-node-lookup. - Refresh patches.drivers/ASoC-davinci-mcasp-Fix-an-error-handling-path-in-dav. - Refresh patches.drivers/ASoC-fsl_ssi-AC-97-ops-need-regmap-clock-and-cleanin. - Refresh patches.drivers/ASoC-intel-include-linux-module.h-as-needed. - Refresh patches.drivers/ASoC-mediatek-Fix-an-error-checking-code. - Refresh patches.drivers/ASoC-rockchip-Correct-dmic-delay-property-name. - Refresh patches.drivers/ASoC-rockchip-disable-clock-on-error. - Refresh patches.drivers/ASoC-rsnd-avoid-duplicate-free_irq. - Refresh patches.drivers/ASoC-rsnd-ssiu-clear-SSI_MODE-for-non-TDM-Extended-m. - Refresh patches.drivers/ASoC-rt5514-fix-gcc-7-warning. - Refresh patches.drivers/ASoC-rt5645-Add-jack-detection-workaround-for-GPD-Wi. - Refresh patches.drivers/ASoC-rt5645-add-inv_jd1_1-flag. - Refresh patches.drivers/ASoC-rt5645-read-jd1_1-status-for-jd-detection. - Refresh patches.drivers/ASoC-rt5645-rename-jd_invert-flag-in-platform-data. - Refresh patches.drivers/ASoC-rt5665-Fix-uninitialized-warning-in-rt5665_i2s_. - Refresh patches.drivers/ASoC-rt5665-fix-gcc-7-warning. - Refresh patches.drivers/ASoC-samsung-Fix-invalid-argument-when-devm_gpiod_ge. - Refresh patches.drivers/ASoC-samsung-Fix-possible-double-iounmap-on-s3c24xx-. - Refresh patches.drivers/ASoC-sun8i-codec-Fix-left-and-right-channels-inversi. - Refresh patches.drivers/ASoC-sun8i-codec-Invert-Master-Slave-condition. - Refresh patches.drivers/ASoC-sun8i-codec-Set-the-BCLK-divider. - Refresh patches.drivers/ASoC-tlv320aic31xx-Fix-GPIO1-register-definition. - Refresh patches.drivers/ASoC-topology-Fix-a-potential-NULL-pointer-dereferen. - Refresh patches.drivers/ASoC-topology-Fix-a-potential-memory-leak-in-soc_tpl. - Refresh patches.drivers/ASoC-twl4030-fix-child-node-lookup. - Refresh patches.drivers/ASoC-wm_adsp-Fix-validation-of-firmware-and-coeff-le. - Refresh patches.drivers/Bluetooth-Add-support-for-Intel-Bluetooth-device-946.patch. - Refresh patches.drivers/Bluetooth-hci_bcm-Add-support-for-BCM2E7E. - Refresh patches.drivers/Fix-serial-console-on-SNI-RM400-machines.patch. - Refresh patches.drivers/Input-ims-psu-check-if-CDC-union-descriptor-is-sane. - Refresh patches.drivers/Input-ti_am335x_tsc-fix-incorrect-step-config-for-5-.patch. - Refresh patches.drivers/Input-ucb1400_ts-fix-suspend-and-resume-handling.patch. - Refresh patches.drivers/Input-uinput-avoid-crash-when-sending-FF-request-to-. - Refresh patches.drivers/PM-devfreq-Fix-memory-leak-when-fail-to-register-dev. - Refresh patches.drivers/Revert-ALSA-echoaudio-purge-contradictions-between-d. - Refresh patches.drivers/Revert-drm-i915-bxt-Disable-device-ready-before-shut. - Refresh patches.drivers/Revert-net-bcmgenet-Remove-init-parameter-from-bcmge.patch. - Refresh patches.drivers/ath10k-fix-reported-HT-MCS-rates-with-NSS-1. - Refresh patches.drivers/b43-Add-missing-MODULE_FIRMWARE. - Refresh patches.drivers/brcmfmac-Use-separate-firmware-for-revision-0-of-the. - Refresh patches.drivers/brcmfmac-fix-double-free-upon-register_netdevice-fai. - Refresh patches.drivers/cfg80211-honor-NL80211_RRF_NO_HT40-MINUS-PLUS.patch. - Refresh patches.drivers/crypto-hmac-require-that-the-underlying-hash-algorit. - Refresh patches.drivers/crypto-salsa20-fix-blkcipher_walk-API-usage. - Refresh patches.drivers/drm-Add-driver-private-objects-to-atomic-state. - Refresh patches.drivers/drm-Drop-drm_get_link_status_name. - Refresh patches.drivers/drm-amd-powerplay-initialize-a-variable-before-using. - Refresh patches.drivers/drm-amdgpu-Throttle-visible-VRAM-moves-separately. - Refresh patches.drivers/drm-atomic-helper-Realign-function-parameters. - Refresh patches.drivers/drm-bridge-sii8620-Fix-memory-corruption. - Refresh patches.drivers/drm-crc-Only-open-CRC-on-atomic-drivers-when-the-CRT. - Refresh patches.drivers/drm-doc-Fix-missing-ctx-documentation. - Refresh patches.drivers/drm-dp-Add-DP-MST-helpers-to-atomically-find-and-rel. - Refresh patches.drivers/drm-dp-Introduce-MST-topology-state-to-track-availab. - Refresh patches.drivers/drm-dp-mst-Handle-errors-from-drm_atomic_get_private. - Refresh patches.drivers/drm-edid-Don-t-send-non-zero-YQ-in-AVI-infoframe-for. - Refresh patches.drivers/drm-exynos-mark-pm-functions-as-__maybe_unused. - Refresh patches.drivers/drm-fsl-dcu-avoid-disabling-pixel-clock-twice-on-sus. - Refresh patches.drivers/drm-gma500-fix-logic-error. - Refresh patches.drivers/drm-handle-HDMI-2.0-VICs-in-AVI-info-frames. - Refresh patches.drivers/drm-imx-fix-typo-in-ipu_plane_formats. - Refresh patches.drivers/drm-kirin-Checking-for-IS_ERR-instead-of-NULL. - Refresh patches.drivers/drm-mediatek-separate-color-module-to-fixup-error-me. - Refresh patches.drivers/drm-msm-dsi-Calculate-link-clock-rates-with-updated-. - Refresh patches.drivers/drm-msm-hdmi-Use-bitwise-operators-when-building-reg. - Refresh patches.drivers/drm-nouveau-kms-nv50-perform-null-check-on-msto-i-ra. - Refresh patches.drivers/drm-nouveau-use-proper-prototype-in-nouveau_pmops_ru. - Refresh patches.drivers/drm-omap-Fix-error-handling-path-in-omap_dmm_probe. - Refresh patches.drivers/drm-omap-displays-panel-dpi-add-backlight-dependency. - Refresh patches.drivers/drm-omapdrm-Take-GEM-object-reference-when-exporting. - Refresh patches.drivers/drm-panel-S6E3HA2-needs-backlight-code. - Refresh patches.drivers/drm-panel-add-backlight-dependency-for-sitronix-st77. - Refresh patches.drivers/drm-panel-simple-Add-missing-panel_simple_unprepare-. - Refresh patches.drivers/drm-panel-simple-Fix-width-and-height-for-Olimex-LCD. - Refresh patches.drivers/drm-qxl-replace-QXL_INFO-with-DRM_DEBUG_DRIVER. - Refresh patches.drivers/drm-radeon-disable-hard-reset-in-hibernate-for-APUs. - Refresh patches.drivers/drm-rcar-du-Use-the-VBK-interrupt-for-vblank-events.patch. - Refresh patches.drivers/drm-rockchip-fix-Kconfig-dependencies. - Refresh patches.drivers/drm-sun4i-backend-Offset-layer-buffer-address-by-DRA. - Refresh patches.drivers/drm-sun4i-tcon-Unconditionally-reset-the-TCON. - Refresh patches.drivers/drm-tegra-Set-MODULE_FIRMWARE-for-the-VIC. - Refresh patches.drivers/drm-tegra-dc-Avoid-reset-asserts-on-Tegra20. - Refresh patches.drivers/drm-tilcdc-Precalculate-total-frametime-in-tilcdc_cr. - Refresh patches.drivers/drm-vc4-Account-for-interrupts-in-flight. - Refresh patches.drivers/drm-vc4-Don-t-disable-DSI-clocks-on-component-unload. - Refresh patches.drivers/drm-vc4-Fix-leak-of-HDMI-EDID. - Refresh patches.drivers/gpu-host1x-Don-t-fail-on-NULL-bo-physical-address.patch. - Refresh patches.drivers/gpu-host1x-Free-the-IOMMU-domain-when-there-is-no-de.patch. - Refresh patches.drivers/gpu-ipu-v3-add-DRM-dependency.patch. - Refresh patches.drivers/i2c-cadance-fix-ctrl-addr-reg-write-order.patch. - Refresh patches.drivers/iio-dummy-events-Add-missing-break.patch. - Refresh patches.drivers/iio-inkern-fix-a-static-checker-error. - Refresh patches.drivers/iio-trigger-stm32-timer-fix-a-corner-case-to-write-p. - Refresh patches.drivers/ipmi-Prefer-ACPI-system-interfaces-over-SMBIOS-ones. - Refresh patches.drivers/ipmi_ssif-unlock-on-allocation-failure. - Refresh patches.drivers/iwlwifi-add-new-cards-for-8260-series.patch. - Refresh patches.drivers/iwlwifi-add-new-cards-for-8265-series.patch. - Refresh patches.drivers/iwlwifi-add-new-cards-for-a000-series.patch. - Refresh patches.drivers/iwlwifi-fix-PCI-IDs-and-configuration-mapping-for-90.patch. - Refresh patches.drivers/iwlwifi-fix-TX-tracing-for-non-linear-SKBs. - Refresh patches.drivers/iwlwifi-fix-firmware-names-for-9000-and-A000-series-.patch. - Refresh patches.drivers/iwlwifi-fix-tracing-when-tx-only-is-enabled. - Refresh patches.drivers/iwlwifi-missing-error-code-in-iwl_trans_pcie_alloc. - Refresh patches.drivers/iwlwifi-mvm-add-missing-lq_color.patch. - Refresh patches.drivers/iwlwifi-mvm-change-sta_id-to-u8. - Refresh patches.drivers/iwlwifi-mvm-don-t-mess-the-SNAP-header-in-TSO-for-no. - Refresh patches.drivers/iwlwifi-mvm-don-t-send-fetch-the-TID-from-a-non-QoS-. - Refresh patches.drivers/iwlwifi-mvm-fix-TCP-CSUM-offload-with-WEP-and-A000-s. - Refresh patches.drivers/iwlwifi-mvm-fix-a-NULL-pointer-dereference-of-error-. - Refresh patches.drivers/iwlwifi-mvm-fix-deduplication-start-logic. - Refresh patches.drivers/iwlwifi-mvm-fix-mac80211-queue-tracking. - Refresh patches.drivers/iwlwifi-mvm-fix-reorder-buffer-for-9000-devices.patch. - Refresh patches.drivers/iwlwifi-mvm-handle-IBSS-probe_queue-in-a-few-missing. - Refresh patches.drivers/iwlwifi-mvm-quietly-accept-non-sta-assoc-response-fr. - Refresh patches.drivers/iwlwifi-mvm-quietly-accept-non-sta-disassoc-frames. - Refresh patches.drivers/iwlwifi-mvm-reset-seq-num-after-restart.patch. - Refresh patches.drivers/iwlwifi-mvm-set-the-RTS_MIMO_PROT-bit-in-flag-mask-w. - Refresh patches.drivers/iwlwifi-mvm-unconditionally-stop-device-after-init. - Refresh patches.drivers/iwlwifi-mvm-use-IWL_HCMD_NOCOPY-for-MCAST_FILTER_CMD.patch. - Refresh patches.drivers/iwlwifi-pcie-fix-TVQM-queue-ID-range-check. - Refresh patches.drivers/iwlwifi-pcie-fix-command-completion-name-debug. - Refresh patches.drivers/iwlwifi-pcie-reconfigure-MSI-X-HW-on-resume. - Refresh patches.drivers/iwlwifi-pcie-sort-IDs-for-the-9000-series-for-easier.patch. - Refresh patches.drivers/libertas-Fix-lbs_prb_rsp_limit_set.patch. - Refresh patches.drivers/mac80211-agg-tx-call-drv_wake_tx_queue-in-proper-con.patch. - Refresh patches.drivers/mac80211-validate-user-rate-mask-before-configuring-.patch. - Refresh patches.drivers/mac80211_hwsim-Fix-memory-leak-in-hwsim_new_radio_nl. - Refresh patches.drivers/media-Revert-media-et8ek8-Export-OF-device-ID-as-mod.patch. - Refresh patches.drivers/media-au0828-fix-RC_CORE-dependency.patch. - Refresh patches.drivers/media-devnode-Rename-mdev-argument-as-devnode.patch. - Refresh patches.drivers/media-em28xx-calculate-left-volume-level-correctly.patch. - Refresh patches.drivers/media-mceusb-fix-memory-leaks-in-error-path.patch. - Refresh patches.drivers/media-omap_vout-Fix-a-possible-null-pointer-derefere. - Refresh patches.drivers/media-rainshadow-cec-avoid-Wmaybe-uninitialized-warn.patch. - Refresh patches.drivers/media-rainshadow-cec-avoid-Wmaybe-uninitialized-warn2.patch. - Refresh patches.drivers/media-rainshadow-cec-use-strlcat-instead-of-strncat.patch. - Refresh patches.drivers/media-usbtv-fix-brightness-and-contrast-controls. - Refresh patches.drivers/media-v4l2-compat-ioctl32-Fix-timespec-conversion.patch. - Refresh patches.drivers/mfd-intel_soc_pmic-Differentiate-between-Bay-and-Che. - Refresh patches.drivers/mfd-intel_soc_pmic-Export-separate-mfd-cell-configs-. - Refresh patches.drivers/mfd-intel_soc_pmic-Select-designware-i2c-bus-driver. - Refresh patches.drivers/mfd-lpc_ich-Do-not-touch-SPI-NOR-write-protection-bi. - Refresh patches.drivers/mfd-omap-usb-tll-Fix-register-offsets. - Refresh patches.drivers/mfd-rn5t618-Unregister-restart-handler-on-remove. - Refresh patches.drivers/mmc-core-prepend-0x-to-OCR-entry-in-sysfs. - Refresh patches.drivers/mmc-core-prepend-0x-to-pre_eol_info-entry-in-sysfs. - Refresh patches.drivers/mmc-mediatek-Fixed-size-in-dma_free_coherent.patch. - Refresh patches.drivers/mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-. - Refresh patches.drivers/mmc-sdhci-pci-Fix-default-d3_retune-for-Intel-host-c. - Refresh patches.drivers/mmc-sdhci-pci-remove-outdated-declaration. - Refresh patches.drivers/mwifiex-do-not-update-MCS-set-from-hostapd. - Refresh patches.drivers/mwifiex-replace-netif_carrier_on-off-by-netif_device.patch. - Refresh patches.drivers/net-mlx5e-Fix-fixpoint-divide-exception-in-mlx5e_am_.patch. - Refresh patches.drivers/net-usb-asix-fill-null-ptr-deref-in-asix_suspend.patch. - Refresh patches.drivers/nl80211-fix-null-ptr-dereference-on-invalid-mesh-con.patch. - Refresh patches.drivers/nl80211-look-for-HT-VHT-capabilities-in-beacon-s-tai.patch. - Refresh patches.drivers/platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI. - Refresh patches.drivers/platform-x86-fujitsu-laptop-Fix-radio-LED-detection. - Refresh patches.drivers/platform-x86-hp-wmi-Fix-tablet-mode-detection-for-co. - Refresh patches.drivers/platform-x86-ideapad-laptop-Add-IdeaPad-V510-15IKB-t. - Refresh patches.drivers/platform-x86-ideapad-laptop-Add-Y520-15IKBN-to-no_hw. - Refresh patches.drivers/platform-x86-ideapad-laptop-Add-Y720-15IKBN-to-no_hw. - Refresh patches.drivers/platform-x86-ideapad-laptop-Add-several-models-to-no. - Refresh patches.drivers/platform-x86-sony-laptop-Fix-error-handling-in-sony_. - Refresh patches.drivers/qxl-alloc-use-shadow-for-dumb-buffers. - Refresh patches.drivers/qxl-fix-pinning.patch. - Refresh patches.drivers/qxl-fix-primary-surface-handling.patch. - Refresh patches.drivers/r8169-Do-not-increment-tx_dropped-in-TX-ring-cleanin. - Refresh patches.drivers/rtc-rtc-nuc900-fix-loop-timeout-test.patch. - Refresh patches.drivers/rtc-sa1100-fix-unbalanced-clk_prepare_enable-clk_dis.patch. - Refresh patches.drivers/rtlwifi-rtl8821ae-Fix-HW_VAR_NAV_UPPER-operation. - Refresh patches.drivers/rtlwifi-rtl8821ae-Fix-connection-lost-problem. - Refresh patches.drivers/serial-8250_fintek-Fix-rs485-disablement-on-invalid-. - Refresh patches.drivers/serial-8250_pci-Add-Amazon-PCI-serial-device-ID. - Refresh patches.drivers/serial-8250_uniphier-fix-serial-port-index-in-privat.patch. - Refresh patches.drivers/serial-pch_uart-Make-port-type-explicit.patch. - Refresh patches.drivers/staging-rtl8723bs-avoid-null-pointer-dereference-on-. - Refresh patches.drivers/video-console-Add-dmi-quirk-table-for-x86-systems-wh. - Refresh patches.drivers/video-console-Add-new-BIOS-date-for-GPD-pocket-to-dm. - Refresh patches.drivers/video-console-Update-BIOS-dates-list-for-GPD-win-con. - Refresh patches.drivers/video-udlfb-Fix-read-EDID-timeout. - Refresh patches.drivers/x86-gpu-CNL-uses-the-same-GMS-values-as-SKL. - Refresh patches.drivers/xhci-Fix-perceived-dead-host-due-to-runtime-s.patch. - Refresh patches.fixes/0001-CIFS-dump-IPC-tcon-in-debug-proc-file.patch. - Refresh patches.fixes/0001-CIFS-make-IPC-a-regular-tcon.patch. - Refresh patches.fixes/0001-CIFS-use-tcon_ipc-instead-of-use_ipc-parameter-of-SM.patch. - Refresh patches.fixes/0001-CIFS-zero-sensitive-data-when-freeing.patch. - Refresh patches.fixes/0001-cifs-Fix-autonegotiate-security-settings-mismatch.patch. - Refresh patches.fixes/0001-cifs-Fix-missing-put_xid-in-cifs_file_strict_mmap.patch. - Refresh patches.fixes/0001-fs-fcntl-f_setown-allow-returning-error.patch. - Refresh patches.fixes/0001-ipc-shm-fix-use-after-free-of-shm-file-via-remap_fil.patch. - Refresh patches.fixes/0001-kernel-exit.c-avoid-undefined-behaviour-when-calling.patch. - Refresh patches.fixes/0001-kernel-signal.c-avoid-undefined-behaviour-in-kill_so.patch. - Refresh patches.fixes/0001-mm-distinguish-CMA-and-MOVABLE-isolation-in-has_unmo.patch. - Refresh patches.fixes/0001-mm-drop-migrate-type-checks-from-has_unmovable_pages.patch. - Refresh patches.fixes/0001-mm-memory_hotplug-add-scheduling-point-to-__add_page.patch. - Refresh patches.fixes/0001-mm-memory_hotplug-simplify-empty-node-mask-handling-.patch. - Refresh patches.fixes/0001-mm-oom-fix-concurrent-munlock-and-oom-reaper-unmap-v.patch. - Refresh patches.fixes/0001-mm-shmem-do-not-wait-for-lock_page-in-shmem_unused_h.patch. - Refresh patches.fixes/0001-mm-thp-do-not-cause-memcg-oom-for-thp.patch. - Refresh patches.fixes/0001-smartpqi-limit-transfer-length-to-1MB.patch. - Refresh patches.fixes/0002-fs-fcntl-f_setown-avoid-undefined-behaviour.patch. - Refresh patches.fixes/0002-hugetlb-memory_hotplug-prefer-to-use-reserved-pages-.patch. - Refresh patches.fixes/0002-mm-page_alloc-add-scheduling-point-to-memmap_init_zo.patch. - Refresh patches.fixes/0002-mm-page_alloc-fail-has_unmovable_pages-when-seeing-r.patch. - Refresh patches.fixes/0003-memremap-add-scheduling-point-to-devm_memremap_pages.patch. - Refresh patches.fixes/0003-mm-memory_hotplug-do-not-fail-offlining-too-early.patch. - Refresh patches.fixes/0003-mm-unify-new_node_page-and-alloc_migrate_target.patch. - Refresh patches.fixes/0004-mm-memory_hotplug-remove-timeout-from-__offline_memo.patch. - Refresh patches.fixes/ACPI-NUMA-ia64-Parse-all-entries-of-SRAT-memory-affi.patch. - Refresh patches.fixes/KEYS-don-t-revoke-uninstantiated-key-in-request_key_. - Refresh patches.fixes/KEYS-fix-cred-refcount-leak-in-request_key_auth_new. - Refresh patches.fixes/KEYS-fix-key-refcount-leak-in-keyctl_assume_authorit. - Refresh patches.fixes/KEYS-fix-key-refcount-leak-in-keyctl_read_key. - Refresh patches.fixes/PKCS-7-fix-certificate-blacklisting. - Refresh patches.fixes/PKCS-7-fix-certificate-chain-verification. - Refresh patches.fixes/PKCS-7-fix-direct-verification-of-SignerInfo-signatu. - Refresh patches.fixes/assoc_array-Fix-a-buggy-node-splitting-case. - Refresh patches.fixes/cfg80211-fix-cfg80211_beacon_dup. - Refresh patches.fixes/drm-Handle-unexpected-holes-in-color-eviction. - Refresh patches.fixes/drm-amdgpu-revert-update-tile-table-for-oland-hainan.patch. - Refresh patches.fixes/drm-atomic-Fix-memleak-on-ERESTARTSYS-during-non-blo. - Refresh patches.fixes/drm-cirrus-Load-lut-in-crtc_commit. - Refresh patches.fixes/drm-edid-Add-6-bpc-quirk-for-CPT-panel-in-Asus-UX303. - Refresh patches.fixes/fuse-fix-READDIRPLUS-skipping-an-entry.patch. - Refresh patches.fixes/i2c-designware-must-wait-for-enable. - Refresh patches.fixes/mac80211-fix-a-possible-leak-of-station-stats. - Refresh patches.fixes/mac80211-fix-calling-sleeping-function-in-atomic-con. - Refresh patches.fixes/mm-adaptive-hash-table-scaling.patch. - Refresh patches.fixes/mm-backing-dev.c-fix-an-error-handling-path-in-cgwb_.patch. - Refresh patches.fixes/mm-cma-fix-alloc_contig_range-ret-code-potential-lea.patch. - Refresh patches.fixes/mm-hugetlb-fix-NULL-pointer-dereference-on-5-level-p.patch. - Refresh patches.fixes/mm-madvise.c-fix-madvise-infinite-loop-under-special.patch. - Refresh patches.fixes/mm-make-PR_SET_THP_DISABLE-immediately-active.patch. - Refresh patches.fixes/mm-meminit-mark-init_reserved_page-as-__meminit.patch. - Refresh patches.fixes/mm-memory_hotplug-change-pfn_to_section_nr-section_n.patch. - Refresh patches.fixes/mm-memory_hotplug-define-find_-smallest-biggest-_sec.patch. - Refresh patches.fixes/mm-memory_hotplug-do-not-back-off-draining-pcp-free-.patch. - Refresh patches.fixes/mm-mmap.c-do-not-blow-on-PROT_NONE-MAP_FIXED-holes-i.patch. - Refresh patches.fixes/mm-mprotect-add-a-cond_resched-inside-change_pmd_ran.patch. - Refresh patches.fixes/mm-oom-fix-potential-data-corruption-when-oom_reaper.patch. - Refresh patches.fixes/mm-oom_reaper-fix-memory-corruption.patch. - Refresh patches.fixes/mm-oom_reaper-gather-each-vma-to-prevent-leaking-TLB.patch. - Refresh patches.fixes/mm-page_alloc.c-broken-deferred-calculation.patch. - Refresh patches.fixes/mm-page_ext.c-check-if-page_ext-is-not-prepared.patch. - Refresh patches.fixes/mm-page_vma_mapped-ensure-pmd-is-loaded-with-READ_ON.patch. - Refresh patches.fixes/mm-pagewalk.c-report-holes-in-hugetlb-ranges.patch. - Refresh patches.fixes/mm-sparse-do-not-swamp-log-with-huge-vmemmap-allocat.patch. - Refresh patches.fixes/printk-Add-console-owner-and-waiter-logic-to-load-ba.patch. - Refresh patches.fixes/printk-Hide-console-waiter-logic-into-helpers.patch. - Refresh patches.fixes/printk-Never-set-console_may_schedule-in-console_try.patch. - Refresh patches.fixes/userfaultfd-hugetlbfs-prevent-UFFDIO_COPY-to-fill-be.patch. - Refresh patches.fixes/userfaultfd-hugetlbfs-remove-superfluous-page-unlock.patch. - Refresh patches.fixes/x86-paravirt-fix-spectre-v2-mitigations-for-paravirt-guests.patch. - Refresh patches.fixes/xen-add-sysfs-node-for-guest-type.patch. - Refresh patches.fixes/xen-allocate-page-for-shared-info-page-from-low-mem.patch. - Refresh patches.fixes/xen-balloon-don-t-online-new-memory-initially.patch. - Refresh patches.fixes/xen-mce-dont-issue-error-message.patch. - Refresh patches.fixes/xen-netfront-dont-cache-skb_shinfo.patch. - Refresh patches.suse/0001-futex-futex_wake_op-do-not-fail-on-invalid-op.patch. - Refresh patches.suse/0001-mm-memory_hotplug-support-movable_node-for-hotplugab.patch. - Refresh patches.suse/0001-mm-remove-return-value-from-init_currently_empty_zon.patch. - Refresh patches.suse/0001-objtool-Don-t-report-end-of-section-error-after-an-e.patch. - Refresh patches.suse/0001-objtool-Move-checking-code-to-check.c.patch. - Refresh patches.suse/0001-x86-KASLR-Parse-all-memmap-boot-option-entries.patch. - Refresh patches.suse/0001-x86-boot-KASLR-Wrap-e820-entries-walking-code-into-n.patch. - Refresh patches.suse/0002-mm-memory_hotplug-use-node-instead-of-zone-in-can_on.patch. - Refresh patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch. - Refresh patches.suse/0002-x86-KASLR-Handle-the-memory-limit-specified-by-the-m.patch. - Refresh patches.suse/0002-x86-boot-KASLR-Switch-to-pass-struct-mem_vector-to-p.patch. - Refresh patches.suse/0002-x86-head-Remove-confusing-comment.patch. - Refresh patches.suse/0003-Documentation-kernel-parameters.txt-Update-memmap-bo.patch. - Refresh patches.suse/0003-mm-drop-page_initialized-check-from-get_nid_for_pfn.patch. - Refresh patches.suse/0003-x86-boot-KASLR-Rename-process_e820_entry-into-proces.patch. - Refresh patches.suse/0003-x86-head-Remove-unused-bad_address-code.patch. - Refresh patches.suse/0004-mm-memory_hotplug-get-rid-of-is_zone_device_section.patch. - Refresh patches.suse/0004-objtool-Silence-warnings-for-functions-which-use-IRE.patch. - Refresh patches.suse/0004-x86-head-Fix-head-ELF-function-annotations.patch. - Refresh patches.suse/0005-mm-memory_hotplug-split-up-register_one_node.patch. - Refresh patches.suse/0005-x86-boot-Annotate-verify_cpu-as-a-callable-function.patch. - Refresh patches.suse/0006-mm-memory_hotplug-consider-offline-memblocks-removab.patch. - Refresh patches.suse/0006-x86-xen-Fix-xen-head-ELF-annotations.patch. - Refresh patches.suse/0007-mm-consider-zone-which-is-not-fully-populated-to-hav.patch. - Refresh patches.suse/0007-x86-xen-Add-unwind-hint-annotations.patch. - Refresh patches.suse/0008-mm-compaction-skip-over-holes-in-__reset_isolation_s.patch. - Refresh patches.suse/0008-x86-head-Add-unwind-hint-annotations.patch. - Refresh patches.suse/0009-mm-__first_valid_page-skip-over-offline-pages.patch. - Refresh patches.suse/0010-mm-vmstat-skip-reporting-offline-pages-in-pagetypein.patch. - Refresh patches.suse/0011-mm-memory_hotplug-do-not-associate-hotadded-memory-t.patch. - Refresh patches.suse/0012-mm-memory_hotplug-fix-MMOP_ONLINE_KEEP-behavior.patch. - Refresh patches.suse/0013-mm-memory_hotplug-do-not-assume-ZONE_NORMAL-is-defau.patch. - Refresh patches.suse/0014-mm-memory_hotplug-replace-for_device-by-want_membloc.patch. - Refresh patches.suse/0015-mm-memory_hotplug-fix-the-section-mismatch-warning.patch. - Refresh patches.suse/0016-mm-memory_hotplug-remove-unused-cruft-after-memory-h.patch. - Refresh patches.suse/btrfs-add-support-for-fallocate-s-zero-range-operati.patch. - Refresh patches.suse/btrfs-fix-missing-inode-i_size-update-after-zero-ran.patch. - Refresh patches.suse/btrfs-fix-reported-number-of-inode-blocks-after-buff.patch. - Refresh patches.suse/btrfs-fix-space-leak-after-fallocate-and-zero-range-.patch. - Refresh patches.suse/btrfs-move-definition-of-the-function-btrfs_find_new.patch. - Refresh patches.suse/btrfs-remove-spurious-WARN_ON-ref-count-0-in-find_pa.patch. - Refresh patches.suse/efi-Introduce-efi_early_memdesc_ptr-to-get-pointer-t.patch. - Refresh patches.suse/objtool-Print-top-level-commands-on-incorrect-usage.patch. - Refresh patches.suse/x86-stacktrace-Avoid-recording-save_stack_trace-wrap.patch. - Refresh patches.suse/x86-unwind-Make-CONFIG_UNWINDER_ORC-y-the-default-in.patch. - Refresh patches.suse/x86-unwind-Rename-unwinder-config-options-to-CONFIG_.patch. - Refresh patches.suse/x86-unwinder-Make-CONFIG_UNWINDER_ORC-y-the-default-.patch. - commit 3525f67- Update Patch-mainline tags to include rc information Some Patch-mainline tags include the release candidate (rc) while others do not. Because of that inconsistency it is impossible to know from a Patch-mainline tag with no rc if it describes a commit that was added between the last rc and the release of a development cycle or if the rc part was not included in the tag. Update Patch-mainline tags of patches in the sorted section to include rc information consistently. - commit 2528c74- Fix invalid Patch-mainline tags Some patches have a Patch-mainline tag which does not correspond with the first mainline version to contain the commit mentioned in the Git-commit tag. Fix those Patch-mainline tags. - Refresh patches.arch/kvm-fix-stack-out-of-bounds-read-in-write_mmio. - Refresh patches.drivers/0001-drm-mali-dp-Uninitialized-variable-in-malidp_se_chec.patch. - Refresh patches.drivers/0001-drm-msm-don-t-deref-error-pointer-in-the-msm_fbdev_c.patch. - Refresh patches.drivers/0001-drm-nouveau-drm-nouveau-Fix-runtime-PM-leak-in-nv50_.patch. - Refresh patches.drivers/0001-drm-rcar-du-Remove-zpos-field-from-rcar_du_vsp_plane.patch. - Refresh patches.drivers/0001-drm-rcar-du-lvds-Fix-LVDCR1-for-R-Car-gen3.patch. - Refresh patches.drivers/0001-drm-rockchip-Fix-build-warning-in-analogix_dp-rockch.patch. - Refresh patches.drivers/0001-drm-rockchip-analogix_dp-Remove-unnecessary-init-cod.patch. - Refresh patches.drivers/0001-drm-rockchip-dw_hdmi-Move-HDMI-vpll-clock-enable-to-.patch. - Refresh patches.drivers/0001-drm-rockchip-inno_hdmi-Fix-error-handling-path.patch. - Refresh patches.drivers/0001-drm-rockchip-inno_hdmi-reorder-clk_disable_unprepare.patch. - Refresh patches.drivers/0001-drm-tegra-Acquire-a-reference-to-the-IOVA-cache.patch. - Refresh patches.drivers/0001-drm-udl-fix-display-corruption-of-the-last-line.patch. - Refresh patches.drivers/0001-gpu-host1x-Acquire-a-reference-to-the-IOVA-cache.patch. - Refresh patches.drivers/0001-vfb-fix-video-mode-and-line_length-being-set-when-lo.patch. - Refresh patches.drivers/0001-video-omap-add-module-license-tags.patch. - Refresh patches.drivers/0001-video-remove-unused-kconfig-SH_LCD_MIPI_DSI.patch. - Refresh patches.drivers/0001-virtio-gpu-fix-ioctl-and-expose-the-fixed-status-to-.patch. - Refresh patches.drivers/0004-test_firmware-add-test-case-for-SIGCHLD-on-sync-fall.patch. - Refresh patches.drivers/0005-test_firmware-add-batched-firmware-tests.patch. - Refresh patches.drivers/0019-usb-hcd-constify-attribute_group-structures.patch. - Refresh patches.drivers/0020-xhci-rename-temp-and-temp1-variables.patch. - Refresh patches.drivers/0021-usb-Increase-root-hub-reset-signaling-time-to-preven.patch. - Refresh patches.drivers/0022-xhci-rework-bus_resume-and-check-ports-are-suspended.patch. - Refresh patches.drivers/0023-usb-make-device_type-const.patch. - Refresh patches.drivers/0024-USB-core-constify-vm_operations_struct.patch. - Refresh patches.drivers/0025-usb-xhci-Support-enabling-of-compliance-mode-for-xhc.patch. - Refresh patches.drivers/0026-usb-misc-lvstest-add-entry-to-place-port-in-complian.patch. - Refresh patches.drivers/Documentation-DMA-API-fix-a-typo-in-a-function-name.patch. - Refresh patches.drivers/KVM-s390-Fix-KVM_S390_GET_CMMA_BITS-ioctl-definition.patch. - Refresh patches.drivers/KVM-s390-add-proper-locking-for-CMMA-migration-bitma.patch. - Refresh patches.drivers/KVM-s390-fix-cmma-migration-for-multiple-memory-slot.patch. - Refresh patches.drivers/KVM-s390-prevent-buffer-overrun-on-memory-hotplug-du.patch. - Refresh patches.drivers/aacraid-Fix-controller-initialization-failure.patch. - Refresh patches.drivers/ahci-Add-PCI-ids-for-Intel-Bay-Trail-Cherry-Trail-an.patch. - Refresh patches.drivers/ahci-Annotate-PCI-ids-for-mobile-Intel-chipsets-as-s.patch. - Refresh patches.drivers/ata-pata_artop-remove-redundant-initialization-of-pi.patch. - Refresh patches.drivers/blk-mq-attempt-to-fix-atomic-flag-memory-ordering.patch. - Refresh patches.drivers/block-Relax-a-check-in-blk_start_queue.patch. - Refresh patches.drivers/drm-amdkfd-NULL-dereference-involving-create_process. - Refresh patches.drivers/ixgbe-Refactor-queue-disable-logic-to-take-completio.patch. - Refresh patches.drivers/ixgbe-Reorder-Tx-Rx-shutdown-to-reduce-time-needed-t.patch. - Refresh patches.drivers/kernel-doc-describe-the-literal-syntax.patch. - Refresh patches.drivers/libata-sata_down_spd_limit-should-return-if-driver-h.patch. - Refresh patches.drivers/s390-guarded-storage-fix-possible-memory-corruption.patch. - Refresh patches.drivers/s390-mm-make-pmdp_invalidate-do-invalidation-only.patch. - Refresh patches.drivers/s390-perf-fix-bug-when-creating-per-thread-event.patch. - Refresh patches.drivers/s390-runtime-instrumention-fix-possible-memory-corru.patch. - Refresh patches.drivers/scsi-bnx2fc-Simplify-CPU-hotplug-code.patch. - Refresh patches.drivers/scsi-bnx2i-prevent-recursive-cpuhotplug-locking. - Refresh patches.drivers/scsi-bnx2i-simplify-cpu-hotplug-code. - Refresh patches.drivers/scsi-csiostor-fail-probe-if-fw-does-not-support-FCoE.patch. - Refresh patches.drivers/scsi-mpt3sas-Replace-PCI-pool-old-API-1.patch. - Refresh patches.drivers/scsi-mq-Always-unprepare-before-requeuing-a-req.patch. - Refresh patches.drivers/scsi-qedi-fix-kernel-crash-during-port-toggle. - Refresh patches.drivers/sun_esp-fix-device-reference-leaks.patch. - Refresh patches.drivers/zfcp-add-handling-for-FCP_RESID_OVER-to-the-fcp.patch. - Refresh patches.fixes/0001-PCMCIA-PM-Avoid-noirq-suspend-aborts-during-suspend-.patch. - Refresh patches.fixes/0001-USB-serial-io_edgeport-fix-possible-sleep-in-atomic.patch. - Refresh patches.fixes/0001-drm-Use-kvzalloc-for-allocating-blob-property-memory.patch. - Refresh patches.fixes/0001-drm-i915-Restore-user-forcewake-domains-across-suspe.patch. - Refresh patches.fixes/0001-video-uvesafb-Fix-integer-overflow-in-allocation.patch. - Refresh patches.fixes/0004-iomap-report-collisions-between-directio-and-buffere.patch. - Refresh patches.fixes/crypto-pcrypt-fix-freeing-pcrypt-instances. - Refresh patches.fixes/scsi-isci-fix-typo-in-function-names.patch. - Refresh patches.fixes/scsi-libiscsi-fix-shifting-of-did_requeue-host-byte. - Refresh patches.fixes/st-fix-blk_get_queue-usage.patch. - Refresh patches.suse/0001-firmware-send-EINTR-on-signal-abort-on-fallback-mech.patch. - Refresh patches.suse/0001-locking-pvqspinlock-Relax-cmpxchg-s-to-improve-perfo.patch. - Refresh patches.suse/0001-locking-refcount-Create-unchecked-atomic_t-implement.patch. - Refresh patches.suse/0001-locking-rtmutex-Remove-unnecessary-priority-adjustme.patch. - Refresh patches.suse/0001-smp-Avoid-sending-needless-IPI-in-smp_call_function_.patch. - Refresh patches.suse/0001-smp-cpumask-Use-non-atomic-cpumask_-set-clear-_cpu.patch. - Refresh patches.suse/0002-firmware-define-pr_fmt.patch. - Refresh patches.suse/0003-firmware-enable-a-debug-print-for-batched-requests.patch. - Refresh patches.suse/09-crypto-ccp-use-devres-interface-to-allocate-pci-iomap-and-cleanup.patch. - Refresh patches.suse/block-add-a-__disk_get_part-helper.patch. - Refresh patches.suse/block-cache-the-partition-index-in-struct-block_devi.patch. - Refresh patches.suse/block-reject-attempts-to-allocate-more-than-DISK_MAX.patch. - Refresh patches.suse/block-replace-bi_bdev-with-a-gendisk-pointer-and-par.patch. - Refresh patches.suse/block-tolerate-tracing-of-NULL-bio.patch. - Refresh patches.suse/btrfs-Take-trans-lock-before-access-running-trans-in.patch. - Refresh patches.suse/btrfs-account-for-pinned-bytes-in-should_alloc_chunk.patch. - Refresh patches.suse/btrfs-avoid-losing-data-raid-profile-when-deleting-a-device.patch. - Refresh patches.suse/btrfs-fix-crash-due-to-not-cleaning-up-tree-log-block-s-dirty-bits.patch. - Refresh patches.suse/btrfs-fix-deadlock-in-run_delalloc_nocow.patch. - Refresh patches.suse/btrfs-fix-extent-state-leak-from-tree-log.patch. - Refresh patches.suse/btrfs-fix-readdir-deadlock-with-pagefault.patch. - Refresh patches.suse/btrfs-fix-unexpected-eexist-when-creating-new-inode.patch. - Refresh patches.suse/btrfs-incremental-send-fix-emission-of-invalid-clone-operations.patch. - Refresh patches.suse/btrfs-incremental-send-fix-wrong-unlink-path-after-renaming-file.patch. - Refresh patches.suse/btrfs-index-check-integrity-state-hash-by-a-dev_t.patch. - Refresh patches.suse/btrfs-preserve-i_mode-if-_btrfs_set_acl-fails.patch. - Refresh patches.suse/cpufreq-intel_pstate-Add-Skylake-servers-support.patch. - Refresh patches.suse/cpufreq-intel_pstate-Clean-up-after-performance-governor-changes.patch. - Refresh patches.suse/cpufreq-intel_pstate-Drop-get-from-intel_pstate-structure.patch. - Refresh patches.suse/cpufreq-intel_pstate-Fix-ratio-setting-for-min_perf_pct.patch. - Refresh patches.suse/cpufreq-intel_pstate-Improve-IO-performance-with-per-core-P-states.patch. - Refresh patches.suse/cpufreq-intel_pstate-Remove-max-min-fractions-to-limit-performance.patch. - Refresh patches.suse/cpufreq-intel_pstate-Replace-bxt_funcs-with-core_funcs.patch. - Refresh patches.suse/cpufreq-intel_pstate-constify-attribute_group-structures.patch. - Refresh patches.suse/cpufreq-intel_pstate-report-correct-CPU-frequencies-during-trace.patch. - Refresh patches.suse/cpufreq-schedutil-Fix-sugov_start-versus-sugov_update_shared-race.patch. - Refresh patches.suse/cpuidle-menu-allow-state-0-to-be-disabled.patch. - Refresh patches.suse/intel_pstate-delete-scheduler-hook-in-HWP-mode.patch. - Refresh patches.suse/intel_pstate-skip-scheduler-hook-when-in-performance-mode.patch. - Refresh patches.suse/intel_pstate-use-updated-msr-index.h-HWP.EPP-values.patch. - Refresh patches.suse/mm-fix-the-NULL-mapping-case-in-__isolate_lru_page.patch. - Refresh patches.suse/raid5-remove-a-call-to-get_start_sect.patch. - Refresh patches.suse/suse-hv-hv_netvsc-enable-multicast-if-necessary.patch. - Refresh patches.suse/x86-msr-index.h-define-EPB-mid-points.patch. - Refresh patches.suse/x86-msr-index.h-define-HWP.EPP-values.patch. - Refresh patches.suse/x86-msr-index.h-fix-shifts-to-ULL-results-in-HWP-macros.patch. - commit 2767cf1- Update outdated Patch-mainline tags ("next release") - Refresh patches.arch/powerpc-eeh-Fix-crashes-in-eeh_report_resume.patch. - Refresh patches.drivers/ACPI-watchdog-Fix-off-by-one-error-at-resource-assig. - Refresh patches.drivers/ALSA-hda-Revert-power_save-option-default-value. - Refresh patches.drivers/ALSA-seq-Clear-client-entry-before-deleting-else-at-. - Refresh patches.drivers/ALSA-seq-Fix-possible-UAF-in-snd_seq_check_queue. - Refresh patches.drivers/Bluetooth-btusb-Fix-quirk-for-Atheros-1525-QCA6174. - Refresh patches.drivers/HID-debug-check-length-before-copy_to_user. - Refresh patches.drivers/Partial-revert-e1000e-Avoid-receiver-overrun-interru.patch. - Refresh patches.drivers/Revert-e1000e-Separate-signaling-for-link-check-link.patch. - Refresh patches.drivers/drm-i915-Specify-which-engines-to-reset-following-se. - Refresh patches.drivers/e1000e-Avoid-missed-interrupts-following-ICR-read.patch. - Refresh patches.drivers/e1000e-Fix-check_for_link-return-value-with-autoneg-.patch. - Refresh patches.drivers/e1000e-Fix-link-check-race-condition.patch. - Refresh patches.drivers/e1000e-Fix-queue-interrupt-re-raising-in-Other-inter.patch. - Refresh patches.drivers/e1000e-Remove-Other-from-EIAC.patch. - Refresh patches.drivers/e1000e-allocate-ring-descriptors-with-dma_zalloc_coh.patch. - Refresh patches.drivers/ibmvnic-Clean-RX-pool-buffers-during-device-close.patch. - Refresh patches.drivers/ibmvnic-Clear-pending-interrupt-after-device-reset.patch. - Refresh patches.drivers/ibmvnic-Define-vnic_login_client_data-name-field-as-.patch. - Refresh patches.drivers/ibmvnic-Do-not-notify-peers-on-parameter-change-rese.patch. - Refresh patches.drivers/ibmvnic-Fix-NAPI-structures-memory-leak.patch. - Refresh patches.drivers/ibmvnic-Fix-login-buffer-memory-leaks.patch. - Refresh patches.drivers/ibmvnic-Fix-non-fatal-firmware-error-reset.patch. - Refresh patches.drivers/ibmvnic-Fix-pending-MAC-address-changes.patch. - Refresh patches.drivers/ibmvnic-Fix-statistics-buffers-memory-leak.patch. - Refresh patches.drivers/ibmvnic-Free-RX-socket-buffer-in-case-of-adapter-err.patch. - Refresh patches.drivers/ibmvnic-Free-coherent-DMA-memory-if-FW-map-failed.patch. - Refresh patches.drivers/ibmvnic-Handle-all-login-error-conditions.patch. - Refresh patches.drivers/ibmvnic-Wait-until-reset-is-complete-to-set-carrier-.patch. - Refresh patches.drivers/net-hns-Fix-ethtool-private-flags.patch. - Refresh patches.drivers/nvme-pci-take-sglist-coalescing-in-dma_map_sg-into-a.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-crashes-in-qla2x00_probe_one-on-pro.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-FC_NO_LOOP_ID-for-FCP-and-FC-NVM.patch. - Refresh patches.fixes/ipc-shm.c-add-split-function-to-shm_vm_ops.patch. - Refresh patches.fixes/l2tp-don-t-use-inet_shutdown-on-ppp-session-destroy.patch. - Refresh patches.fixes/l2tp-don-t-use-inet_shutdown-on-tunnel-destroy.patch. - Refresh patches.fixes/l2tp-fix-race-in-pppol2tp_release-with-session-objec.patch. - Refresh patches.fixes/l2tp-fix-races-with-tunnel-socket-close.patch. - Refresh patches.fixes/l2tp-fix-tunnel-lookup-use-after-free-race.patch. - Refresh patches.suse/bpf-array-fix-overflow-in-max_entries-and-undefined-.patch. - commit 69f0e65- Fix invalid Patch-mainline tags (stable) Some patches in the sorted section have a Patch-mainline tag indicating that they are backports of a stable tree commit but have a Git-commit tag pointing to the original mainline commit. Fix this mismatch by updating the Patch-mainline tag so that it corresponds with the Git-commit. - Refresh patches.fixes/4.4.129-040-powerpc-powernv-Handle-unknown-OPAL-errors-in.patch. - Refresh patches.fixes/4.4.129-041-powerpc-64-Fix-smp_wmb-barrier-definition-use.patch. - Refresh patches.fixes/4.4.129-042-powerpc-powernv-define-a-standard-delay-for-O.patch. - Refresh patches.fixes/4.4.129-043-powerpc-powernv-Fix-OPAL-NVRAM-driver-OPAL_BU.patch. - Refresh patches.fixes/4.4.129-086-powerpc-eeh-Fix-enabling-bridge-MMIO-windows.patch. - Refresh patches.fixes/4.4.133-056-powerpc-powernv-Fix-NVRAM-sleep-in-invalid-co.patch. - Refresh patches.fixes/4.4.134-183-powerpc-mpic-Check-if-cpu_possible-in-mpic_ph.patch. - Refresh patches.fixes/4.4.134-214-powerpc-Add-missing-prototype-for-arch_irq_wo.patch. - Refresh patches.fixes/4.4.136-002-powerpc-64s-Clear-PCR-on-boot.patch. - Refresh patches.fixes/4.4.139-043-powerpc-mm-hash-Add-missing-isync-prior-to-ke.patch. - Refresh patches.fixes/4.4.139-044-powerpc-ptrace-Fix-setting-512B-aligned-break.patch. - Refresh patches.fixes/4.4.139-047-powerpc-fadump-Unregister-fadump-on-kexec-dow.patch. - Refresh patches.fixes/xfs-fix-incorrect-extent-state-in-xfs_bmap_ad.patch. - Refresh patches.fixes/xfs-fix-log-block-underflow-during-recovery-c.patch. - Refresh patches.fixes/xfs-quota-check-result-of-register_shrinker.patch. - Refresh patches.fixes/xfs-quota-fix-missed-destroy-of-qi_tree_lock.patch. - Refresh patches.fixes/xfs-ubsan-fixes.patch. - commit 899fef6- Fix invalid Patch-mainline tags ("next-release") Some patches are tagged with something of the form "v4.14 or v4.13-rc6 (next release)" When properly used, the two kernel versions in this tag should be the same. Additionally, in some cases, the actual tagged version is neither of the two listed alternatives. Update these patches. In all cases, enough time has passed that the ambiguity is lifted. - Refresh patches.arch/01-x86-cpu-amd-document-amd-secure-memory-encryption-sme.patch. - Refresh patches.arch/01-x86-retpoline-fill-rsb-on-context-switch-for-affected-cpus.patch. - Refresh patches.arch/02-x86-mm-pat-set-write-protect-cache-mode-for-full-pat-support.patch. - Refresh patches.arch/02-x86-retpoline-add-lfence-to-the-retpoline-rsb-filling-rsb-macros.patch. - Refresh patches.arch/03-x86-mpparse-x86-acpi-x86-pci-x86-dmi-sfi-use-memremap-for-ram-mappings.patch. - Refresh patches.arch/04-x86-cpu-amd-add-the-secure-memory-encryption-cpu-feature.patch. - Refresh patches.arch/05-x86-cpu-amd-handle-sme-reduction-in-physical-address-size.patch. - Refresh patches.arch/05-x86-cpufeature-move-processor-tracing-out-of-scattered-features.patch. - Refresh patches.arch/06-module-add-retpoline-tag-to-vermagic.patch. - Refresh patches.arch/06-x86-mm-add-secure-memory-encryption-sme-support.patch. - Refresh patches.arch/07-x86-mm-remove-phys_to_virt-usage-in-ioremap.patch. - Refresh patches.arch/08-x86-mm-add-support-to-enable-sme-in-early-boot-processing.patch. - Refresh patches.arch/09-x86-mm-simplify-pd_page-macros.patch. - Refresh patches.arch/10-x86-mm-provide-general-kernel-support-for-memory-encryption.patch. - Refresh patches.arch/11-x86-mm-add-sme-support-for-read_cr3_pa.patch. - Refresh patches.arch/12-x86-mm-extend-early_memremap-support-with-additional-attrs.patch. - Refresh patches.arch/13-x86-mm-add-support-for-early-encryption-decryption-of-memory.patch. - Refresh patches.arch/14-x86-mm-insure-that-boot-memory-areas-are-mapped-properly.patch. - Refresh patches.arch/15-x86-boot-e820-add-support-to-determine-the-e820-type-of-an-address.patch. - Refresh patches.arch/16-efi-add-an-efi-table-address-match-function.patch. - Refresh patches.arch/17-efi-update-efi_mem_type-to-return-an-error-rather-than-0.patch. - Refresh patches.arch/18-x86-efi-update-efi-pagetable-creation-to-work-with-sme.patch. - Refresh patches.arch/19-x86-mm-add-support-to-access-boot-related-data-in-the-clear.patch. - Refresh patches.arch/20-x86-boot-use-memremap-to-map-the-mpf-and-mpc-data.patch. - Refresh patches.arch/21-x86-mm-add-support-to-access-persistent-memory-in-the-clear.patch. - Refresh patches.arch/22-x86-mm-add-support-for-changing-the-memory-encryption-attribute.patch. - Refresh patches.arch/23-x86-realmode-decrypt-trampoline-area-if-memory-encryption-is-active.patch. - Refresh patches.arch/24-x86-swiotlb-add-memory-encryption-support.patch. - Refresh patches.arch/25-swiotlb-add-warnings-for-use-of-bounce-buffers-with-sme.patch. - Refresh patches.arch/26-x86-cpu-amd-make-the-microcode-level-available-earlier-in-the-boot.patch. - Refresh patches.arch/27-iommu-amd-allow-the-amd-iommu-to-work-with-memory-encryption.patch. - Refresh patches.arch/28-x86-boot-realmode-check-for-memory-encryption-on-the-aps.patch. - Refresh patches.arch/29-x86-drm-fbdev-do-not-specify-encrypted-memory-for-video-mappings.patch. - Refresh patches.arch/30-kvm-x86-svm-support-secure-memory-encryption-within-kvm.patch. - Refresh patches.arch/31-x86-mm-kexec-allow-kexec-to-be-used-with-sme.patch. - Refresh patches.arch/32-xen-x86-remove-sme-feature-in-pv-guests.patch. - Refresh patches.arch/33-x86-mm-use-proper-encryption-attributes-with-dev-mem.patch. - Refresh patches.arch/34-x86-mm-create-native_make_p4d-for-pgtable_levels-4.patch. - Refresh patches.arch/35-x86-mm-add-support-to-encrypt-the-kernel-in-place.patch. - Refresh patches.arch/36-x86-boot-add-early-cmdline-parsing-for-options-with-arguments.patch. - Refresh patches.arch/37-compiler-gcc-h-introduce-_nostackprotector-function-attribute.patch. - Refresh patches.arch/38-x86-mm-add-support-to-make-use-of-secure-memory-encryption.patch. - Refresh patches.arch/39-x86-boot-fix-memremap-related-build-failure.patch. - Refresh patches.arch/40-x86-mm-kexec-fix-memory-corruption-with-sme-on-successive-kexecs.patch. - Refresh patches.arch/41-acpi-x86-mm-remove-encryption-mask-from-acpi-page-protection-type.patch. - Refresh patches.arch/42-x86-mm-fix-sme-encryption-stack-ptr-handling.patch. - Refresh patches.drivers/0033-scsi-libsas-align-sata_device-s-rps_resp-on-a-cachel.patch. - Refresh patches.drivers/bnxt_en-Fix-population-of-flow_type-in-bnxt_hwrm_cfa.patch. - Refresh patches.drivers/bnxt_en-Fix-the-Invalid-VF-id-check-in-bnxt_vf_ndo_p.patch. - Refresh patches.drivers/nvme-fc-remove-double-put-reference-if-admin-connect.patch. - Refresh patches.fixes/jfs-fix-inconsistency-between-memory-allocation-and-ea_buf-max_size.patch. - Refresh patches.fixes/keys-return-full-count-in-keyring_read-if-buffer-is-too-small. - Refresh patches.fixes/kvm-x86-fix-device-passthrough-when-sme-is-active.patch. - Refresh patches.suse/btrfs-add-missing-initialization-in-btrfs_check_shared.patch. - Refresh patches.suse/include-psp-sev-capitalize-invalid-length-enum.patch. - Refresh patches.suse/kvm-svm-fix-sev-launch_secret-command.patch. - Refresh patches.suse/kvm-svm-no-need-to-call-access_ok-in-launch_measure-command.patch. - Refresh patches.suse/kvm-x86-remove-indirect-msr-op-calls-from-spec_ctrl.patch. - commit 8ee956f- Update outdated Patch-mainline and Git-repo tags Some patches which backport commits part of a mainline release are still tagged as "Queued ...". Update them for accuracy. - Refresh patches.arch/44-x86-mm-Unbreak-modules-that-rely-on-external-PAGE_KERNEL-availability.patch. - Refresh patches.drivers/IB-core-Fix-qp_sec-use-after-free-access.patch. - Refresh patches.drivers/IB-core-Fix-typo-in-the-name-of-the-tag-matching-cap.patch. - Refresh patches.drivers/IB-hfi1-Check-eeprom-config-partition-validity.patch. - Refresh patches.drivers/IB-hfi1-Unsuccessful-PCIe-caps-tuning-should-not-fai.patch. - Refresh patches.drivers/IB-ipoib-Fix-sysfs-Pkey-create-remove-possible-deadl.patch. - Refresh patches.drivers/IB-mlx5-Fix-NULL-deference-on-mlx5_ib_update_xlt-fai.patch. - Refresh patches.drivers/qed-Fix-reading-stale-configuration-information.patch. - Refresh patches.fixes/Fix-up-non-directory-creation-in-SGID-directories.patch. - Refresh patches.fixes/test_bpf-Fix-testing-with-CONFIG_BPF_JIT_ALWAYS_ON-y.patch. - Refresh patches.suse/cpufreq-intel_pstate-Limit-the-scope-of-HWP-dynamic-.patch. - commit 56146a0- blacklist.conf: only reduces memory consumption - commit 2fe52b4- PM / runtime: Drop usage count for suppliers at device link removal (bsc#1100132). - commit f99e8a2- blacklist.conf: changes semantics and profiles for PM - commit 4cb9d15- blacklist.conf: changes semantics of PM calls - commit e02278a- blacklist.conf: breaks sysfs users - commit 658f5b6- blacklist.conf: breaks sysfs users - commit 3a30808- arm64: move patches to sorted section - Refresh patches.arch/0003-arm-arm64-smccc-Add-SMCCC-specific-return-codes.patch. - Refresh patches.arch/0004-arm64-Call-ARCH_WORKAROUND_2-on-transitions-between-.patch. - Refresh patches.arch/0005-arm64-Add-per-cpu-infrastructure-to-call-ARCH_WORKAR.patch. - Refresh patches.arch/0006-arm64-Add-ARCH_WORKAROUND_2-probing.patch. - Refresh patches.arch/0007-arm64-Add-ssbd-command-line-option.patch. - Refresh patches.arch/0008-arm64-ssbd-Add-global-mitigation-state-accessor.patch. - Refresh patches.arch/0009-arm64-ssbd-Skip-apply_ssbd-if-not-using-dynamic-miti.patch. - Refresh patches.arch/0010-arm64-ssbd-Restore-mitigation-status-on-CPU-resume.patch. - Refresh patches.arch/0011-arm64-ssbd-Introduce-thread-flag-to-control-userspac.patch. - Refresh patches.arch/0012-arm64-ssbd-Add-prctl-interface-for-per-thread-mitiga.patch. - Refresh patches.drivers/0001-crypto-cavium-Fix-fallout-from-CONFIG_VMAP_STACK.patch. - Refresh patches.drivers/0002-crypto-cavium-Limit-result-reading-attempts.patch. - Refresh patches.drivers/0002-i2c-xlp9xx-return-ENXIO-on-slave-address-NACK.patch. - Refresh patches.drivers/0002-phy-qcom-ufs-add-MODULE_LICENSE-tag.patch. - Refresh patches.drivers/0003-crypto-cavium-Prevent-division-by-zero.patch. - Refresh patches.drivers/0003-i2c-xlp9xx-Handle-transactions-with-I2C_M_RECV_LEN-p.patch. - Refresh patches.drivers/0004-crypto-cavium-Fix-statistics-pending-request-value.patch. - Refresh patches.drivers/0005-crypto-cavium-Fix-smp_processor_id-warnings.patch. - Refresh patches.drivers/0012-PCI-Probe-for-device-reset-support-during-enumeratio.patch. - Refresh patches.drivers/0013-PCI-Remove-redundant-probes-for-device-reset-support.patch. - Refresh patches.drivers/0016-ACPI-IORT-Add-msi-address-regions-reservation-helper.patch. - commit d5ee297- PCI: pciehp: Fix use-after-free on unplug (bsc#1051510). - PCI: hotplug: Don't leak pci_slot on registration failure (bsc#1051510). - commit 25eff09- lib/test_hexdump.c: fix failure on big endian cpu (bsc#1051510). - commit 931b8a5- crypto: caam/qi - fix error path in xts setkey (bsc#1051510). - crypto: caam/jr - fix descriptor DMA unmapping (bsc#1051510). - commit fb8ae18- kernel-binary: check also bzImage on s390/s390x Starting with 4.19-rc1, uncompressed image is no longer built on s390x. If file "image" is not found in arch/s390/boot after the build, try bzImage instead. For now, install bzImage under the name image-* until we know grub2 and our grub2 scripts can handle correct name. - commit 92b52c6- Apply e666d4e9ceec crypto: vmx - Use skcipher for ctr fallback to SLE12-SP4 (bsc#1106464). - Refresh patches.drivers/crypto-vmx-Remove-overly-verbose-printk-from-AES-ini. - commit c922d6f- Apparmor fixes from git-fixes - apparmor: ensure that undecidable profile attachments fail (bsc#1106427). - apparmor: fix an error code in __aa_create_ns() (bsc#1106427). - apparmor: remove no-op permission check in policy_unpack (bsc#1106427). - apparmor: Fix regression in profile conflict logic (bsc#1106427) - Refreshed patches.apparmor/0001-apparmor-fix-profile-attachment-for-special-unconfin.patch - commit ce5df95- thermal_hwmon: Pass the originating device down to hwmon_device_register_with_info (bsc#1103363). - thermal_hwmon: Sanitize attribute name passed to hwmon (bsc#1103363). - thermal: thermal_hwmon: Convert to hwmon_device_register_with_info() (bsc#1103363). - commit f41fe4d- x86/init: fix build with CONFIG_SWAP=n (bnc#1106121). - commit 15c1cf0- Cipso: cipso_v4_optptr enter infinite loop (CVE-2018-10938 bsc#1106016). - commit 4af59dd- md-cluster: don't send msg if array is closing (bsc#1106333). - md-cluster: show array's status more accurate (bsc#1106333). - md-cluster: clear another node's suspend_area after the copy is finished (bsc#1106333). - commit 99939e9- Filesystem and FUSE fixes from upstream - f2fs: remove unneeded memory footprint accounting (bsc#1106297). - f2fs: validate before set/clear free nat bitmap (bsc#1106297). - fix __legitimize_mnt()/mntput() race (bsc#1106297). - fix mntput/mntput race (bsc#1106297). - fs/proc/proc_sysctl.c: fix potential page fault while unregistering sysctl table (bsc#1106297). - fuse: Add missed unlock_page() to fuse_readpages_fill() (bsc#1106291). - fuse: Fix oops at process_init_reply() (bsc#1106291). - fuse: fix double request_end() (bsc#1106291). - fuse: fix initial parallel dirops (bsc#1106291). - fuse: fix unlocked access to processing queue (bsc#1106291). - fuse: umount should wait for all requests (bsc#1106291). - getxattr: use correct xattr length (bsc#1106297). - pipe: actually allow root to exceed the pipe buffer limits (bsc#1106297). - root dentries need RCU-delayed freeing (bsc#1106297). - Refresh patches.fixes/pipe-fix-off-by-one-error-when-checking-buffer-limit.patch. - commit 2fb5115- x86/kvm: fix LAPIC timer drift when guest uses periodic mode (bsc#1106240). - commit ad93d53- KVM: x86: fix APIC page invalidation (bsc#1106240). - commit c5ec8b3- lan78xx: Lan7801 Support for Fixed PHY (bsc#1085262). - commit 8e83fff- KVM: nVMX: Fix injection to L2 when L1 don't intercept external-interrupts (bsc#1106240). - KVM: nVMX: Re-evaluate L1 pending events when running L2 and L1 got posted-interrupt (bsc#1106240). - KVM: x86: Change __kvm_apic_update_irr() to also return if max IRR updated (bsc#1106240). - commit d6a7729- lan78xx: remove redundant initialization of pointer 'phydev' (bsc#1085262). - commit 0d9dc95- lan78xx: Set ASD in MAC_CR when EEE is enabled (bsc#1085262). - Refresh patches.suse/bsc1084332-0003-lan78xx-Enable-LEDs-and-auto-negotiation.patch. - commit 730e995- Refresh with the upstream patches for lan78xx fixes (bsc#1085262) Also moved to sorted section - commit 345b729- KVM: Enforce error in ioctl for compat tasks when !KVM_COMPAT (bsc#1106240). - commit 630d41f- KVM: nVMX: Don't flush TLB when vmcs12 uses VPID (bsc#1106240). - commit 652ae7c- KVM: nVMX: Fix races when sending nested PI while dest enters/leaves L2 (bsc#1106240). - commit 8141888- KABI: tpm: do keep the cmd_ready and go_idle as pm ops (bsc#1082555). - KABI: tpm: change relinquish_locality return value back to void (bsc#1082555). - commit cfc9ac9- tpm: separate cmd_ready/go_idle from runtime_pm (bsc#1082555). - tpm: tpm_crb: relinquish locality on error path (bsc#1082555). - tpm: cmd_ready command can be issued only after granting locality (bsc#1082555). - tpm: vtpm_proxy: Implement request_locality function (bsc#1082555). - tpm: Introduce flag TPM_TRANSMIT_RAW (bsc#1082555). - commit 55c64dd- x86/vdso: Fix vDSO build if a retpoline is emitted (git-fixes 76b043848fd2). - commit b796688- kvm: x86: vmx: fix vpid leak (bsc#1106240). - kvm: nVMX: Use nested_run_pending rather than from_vmentry (bsc#1106240). - KVM/x86: remove WARN_ON() for when vm_munmap() fails (bsc#1106240). - commit e9778df- libnvdimm, btt: fix uninitialized err_lock (bsc#1103961). - libnvdimm: rename nd_sector_size_{show,store} to nd_size_select_{show,store} (bsc#1103961). - libnvdimm, nfit: enable support for volatile ranges (bsc#1103961). - commit 5166982- iommu/arm-smmu-v3: Don't free page table ops twice (bsc#1106237). - commit b284a77- block, bfq: return nbytes and not zero from struct cftype .write() method (bsc#1106238). - commit bcb0c5f- reiserfs: fix broken xattr handling (heap corruption, bad retval) (bsc#1106236). - commit 8cb0131- getxattr: use correct xattr length (bsc#1106235). - commit 3823b92- f2fs: remove unneeded memory footprint accounting (bsc#1106233). - commit 4e0cd5b- f2fs: validate before set/clear free nat bitmap (bsc#1106231). - commit 720d1f7- ubifs: Fix directory size calculation for symlinks (bsc#1106230). - commit 8e56a6f- ext4: sysfs: print ext4_super_block fields as little-endian (bsc#1106229). - commit 3ae063e- video: fbdev: pxafb: clear allocated memory for video modes (bsc#1051510). - commit e46a180- blacklist.conf: Add 'drm: add missing ctx argument to plane transitional helpers' - commit 084be65- blacklist.conf: Blacklist c10f778ddfc1 - commit 65e7761- drm/tegra: Fix comparison operator for buffer size (bsc#1100132). - commit 120cf74- powerpc/kprobes: Fix call trace due to incorrect preempt count (bsc#1065729). - commit d9f2095- KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages (bsc#1077761, git-fixes, bsc#1103948, bsc#1103949). - commit f8b5434- Tools: hv: vss: fix loop device detection (fate#323887). - commit adec91f- kvm: nVMX: Fix fault vector for VMX operation at CPL > 0 (bsc#1106105). - iommu/amd: Finish TLB flush in amd_iommu_unmap() (bsc#1106105). - iommu/amd: make sure TLB to be flushed before IOVA freed (bsc#1106105). - iommu/vt-d: Fix a potential memory leak (bsc#1106105). - iommu/vt-d: Ratelimit each dmar fault printing (bsc#1106105). - blacklist.conf: - Refresh patches.arch/x86-sched-allow-topologies-where-numa-nodes-share-an-llc.patch. - commit 0278c0c- drm/armada: fix irq handling (bsc#1051510). - drm/armada: fix colorkey mode property (bsc#1051510). - drm/exynos: decon5433: Fix WINCONx reset value (bsc#1051510). - drm/exynos: decon5433: Fix per-plane global alpha for XRGB modes (bsc#1051510). - drm/exynos: gsc: Fix support for NV16/61, YUV420/YVU420 and YUV422 modes (bsc#1051510). - drm/bridge/sii8620: Fix display of packed pixel modes (bsc#1051510). - drm/arm/malidp: Preserve LAYER_FORMAT contents when setting format (bsc#1051510). - drm: mali-dp: Enable Global SE interrupts mask for DP500 (bsc#1051510). - drm/bridge/sii8620: fix display of packed pixel modes in MHL2 (bsc#1051510). - drm/bridge/sii8620: fix loops in EDID fetch logic (bsc#1051510). - commit 2fb9f1b- drm/tegra: Check for malformed offsets and sizes in the 'submit' IOCTL (bsc#1106170). - commit e00a923- ARM: imx: flag failure of of_iomap (bsc#1051510). - ARM: hisi: handle of_iomap and fix missing of_node_put (bsc#1051510). - ARM: hisi: fix error handling and missing of_node_put (bsc#1051510). - ARM: DRA7/OMAP5: Enable ACTLR[0] (Enable invalidates of BTB) for secondary cores (bsc#1051510). - ARM: pxa: irq: fix handling of ICMR registers in suspend/resume (bsc#1051510). - ARM: 8780/1: ftrace: Only set kernel memory back to read-only after boot (bsc#1051510). - ARM: imx_v4_v5_defconfig: Select ULPI support (bsc#1051510). - ARM: imx_v6_v7_defconfig: Select ULPI support (bsc#1051510). - commit 0e3c5de- ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th (bsc#1051510). - ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd (bsc#1051510). - ACPI / EC: Use ec_no_wakeup on more Thinkpad X1 Carbon 6th systems (bsc#1051510). - ACPI / EC: Use ec_no_wakeup on Thinkpad X1 Carbon 6th (bsc#1051510). - ACPI / EC: Add parameter to force disable the GPE on suspend (bsc#1051510). - commit 1138c0c- fat: fix memory allocation failure handling of match_strdup() (bsc#1051510). - commit f52e3e9- Input: edt-ft5x06 - fix error handling for factory mode on non-M06 (bsc#1051510). - Input: edt-ft5x06 - implement support for the EDT-M12 series (bsc#1051510). - Input: edt-ft5x06 - make distinction between m06/m09/generic more clear (bsc#1051510). - commit c90db2d- irqchip/bcm7038-l1: Hide cpu offline callback when building for !SMP (bsc#1051510). - commit 828545b- PM / Domains: Fix error path during attach in genpd (bsc#1051510). - commit 652af00- module: exclude SHN_UNDEF symbols from kallsyms api (bsc#1071995). - commit e106f34- pwm: tiehrpwm: Fix disabling of output of PWMs (bsc#1051510). - commit 1bfb3de- ubifs: Check data node size before truncate (bsc#1051510). - ubifs: xattr: Don't operate on deleted inodes (bsc#1051510). - ubifs: Fix memory leak in lprobs self-check (bsc#1051510). - ubifs: Fix synced_i_size calculation for xattr inodes (bsc#1051510). - commit 32af19d- usb: xhci: increase CRS timeout value (bsc#1051510). - usb: gadget: dwc2: fix memory leak in gadget_init() (bsc#1051510). - usb: gadget: composite: fix delayed_status race condition when set_interface (bsc#1051510). - usb: dwc2: fix isoc split in transfer with no data (bsc#1051510). - usb: dwc2: gadget: Fix issue in dwc2_gadget_start_isoc() (bsc#1051510). - usb: dwc3: pci: add support for Intel IceLake (bsc#1051510). - commit 615b8ac- kabi: x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (bnc#1105536). - x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ (bnc#1105536). - x86/speculation/l1tf: Suggest what to do on systems with too much RAM (bnc#1105536). - x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM (bnc#1105536). - commit ed48a55- Delete patches.suse/x86-mm-tlb-Always-use-lazy-TLB-mode.patch. - Delete patches.suse/x86-mm-tlb-Leave-lazy-TLB-mode-at-page-table-free-time.patch. - Delete patches.suse/x86-mm-tlb-Make-lazy-TLB-mode-lazier.patch. - Delete patches.suse/x86-mm-tlb-Only-send-page-table-free-TLB-flush-to-lazy-TLB-CPUs.patch. - Delete patches.suse/x86-mm-tlb-Restructure-switch_mm_irqs_off.patch. - Delete patches.suse/x86-mm-tlb-Skip-atomic-operations-for-init_mm-in-switch_mm_irqs_off.patch. - commit 68ab5c6- livepatch: Remove reliable stacktrace check in klp_try_switch_task() (bsc#1071995). - commit 4e520b0- livepatch: Validate module/old func name length (bsc#1071995). - Refresh patches.suse/livepatch-add-atomic-replace.patch. - commit 3dddc66- dax: remove VM_MIXEDMAP for fsdax and device dax (bsc#1106007). - commit d533b73- cls_matchall: fix tcf_unbind_filter missing (networking-stable-18_08_21). - net: mvneta: fix mvneta_config_rss on armada 3700 (networking-stable-18_08_21). - net: ethernet: mvneta: Fix napi structure mixup on armada 3700 (networking-stable-18_08_21). - commit 9d95eb5- net: stmmac: mark PM functions as __maybe_unused (git-fixes). - netlink: Don't shift on 64 for ngroups (git-fixes). - commit fc97ca9- staging: lustre: Use 'kvfree()' for memory allocated by 'kvzalloc()' (bsc#1051510). - staging: lustre: o2iblnd: Fix crash in kiblnd_handle_early_rxs() (bsc#1051510). - staging: lustre: o2iblnd: fix race at kiblnd_connect_peer (bsc#1051510). - staging: lustre: o2iblnd: Fix FastReg map/unmap for MLX5 (bsc#1051510). - staging: lustre: llite: correct removexattr detection (bsc#1051510). - staging: lustre: llite: initialize xattr->xe_namelen (bsc#1051510). - staging: lustre: ldlm: free resource when ldlm_lock_create() fails (bsc#1051510). - staging: lustre: remove invariant in cl_io_read_ahead() (bsc#1051510). - staging: lustre: statahead: remove incorrect test on agl_list_empty() (bsc#1051510). - staging: lustre: fix bug in osc_enter_cache_try (bsc#1051510). - staging: lustre: obd_mount: use correct niduuid suffix (bsc#1051510). - staging: lustre: lmv: correctly iput lmo_root (bsc#1051510). - staging: lustre: lov: use correct env in lov_io_data_version_end() (bsc#1051510). - staging: lustre: libcfs: Prevent harmless read underflow (bsc#1051510). - staging: lustre: disable preempt while sampling processor id (bsc#1051510). - staging: lustre: ptlrpc: kfree used instead of kvfree (bsc#1051510). - staging: lustre: obdclass: return -EFAULT if copy_from_user() fails (bsc#1051510). - staging: lustre: libcfs: fix test for libcfs_ioctl_hdr minimum size (bsc#1051510). - commit c1ade13- NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() (git-fixes). - NFSv4 client live hangs after live data migration recovery (git-fixes). - pnfs/blocklayout: off by one in bl_map_stripe() (git-fixes). - NFSv4: Fix possible 1-byte stack overflow in nfs_idmap_read_and_verify_message (git-fixes). - nfsd: remove blocked locks on client teardown (git-fixes). - nfs41: do not return ENOMEM on LAYOUTUNAVAILABLE (git-fixes). - nfs/pnfs: fix nfs_direct_req ref leak when i/o falls back to the mds (git-fixes). - commit b16787b- blacklist.conf: blacklist lustre - commit 8d0eb93- s390: fix br_r1_trampoline for machines without exrl (git-fixes, bsc#1103421). - commit 7592773- net_sched: Fix missing res info when create new tc_index filter (netfilter-stable-18_08_17). - net_sched: fix NULL pointer dereference when delete tcindex filter (netfilter-stable-18_08_17). - commit 26110bb- l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache (netfilter-stable-18_08_17). - commit d4e62c8- vhost: reset metadata cache when initializing new IOTLB (netfilter-stable-18_08_17). - llc: use refcount_inc_not_zero() for llc_sap_find() (netfilter-stable-18_08_17). - dccp: fix undefined behavior with 'cwnd' shift in ccid2_cwnd_restart() (netfilter-stable-18_08_17). - vsock: split dwork to avoid reinitializations (netfilter-stable-18_08_17). - kABI: protect struct vsock_sock (kabi). - kABI: reexport vsock_pending_work (kabi). - mlxsw: core_acl_flex_actions: Return error for conflicting actions (netfilter-stable-18_08_17). - commit 9eed15d- rxrpc: Fix user call ID check in rxrpc_service_prealloc_one (netfilter-stable-18_08_04). - net: dsa: Do not suspend/resume closed slave_dev (netfilter-stable-18_08_04). - netlink: Fix spectre v1 gadget in netlink_create() (netfilter-stable-18_08_04). - net: stmmac: Fix WoL for PCI-based setups (netfilter-stable-18_08_04). - bonding: avoid lockdep confusion in bond_get_stats() (netfilter-stable-18_08_04). - commit e43380e- serial: make sc16is7xx driver supported References: bsc#1105672 - commit 2e01fee- tpm: fix race condition in tpm_common_write() (bsc#1082555). - commit 23bd66e- tpm: fix use after free in tpm2_load_context() (bsc#1082555). - commit 934d5ee- s390: use expoline thunks for all branches generated by the BPF JIT (bsc#1103421). - commit 4690229- cxl: Fix wrong comparison in cxl_adapter_context_get() (bsc#1055014, git-fixes). - cxl: Configure PSL to not use APC virtual machines (bsc#1055014, git-fixes). - commit 43f92b3- kabi: move s390 mm_context_t lock to mm_struct and ignore the change (bsc#1103421). - s390/mm: fix race on mm->context.flush_mm (bsc#1103421). - commit 1da3fff- powerpc/lib: Fix the feature fixup tests to actually work (bsc#1065729). - powerpc: make feature-fixup tests fortify-safe (bsc#1065729). - commit 93d5bbb- s390/mm: fix local TLB flushing vs. detach of an mm address space (bsc#1103421). - commit 209b523- powerpc/64s: Default l1d_size to 64K in RFI fallback flush (bsc#1068032, git-fixes). - commit 691bb4c- s390: fix compat system call table (bsc#1103421). - commit da13d32- s390: always save and restore all registers on context switch (bsc#1103421). - commit 45679c7- Fix kABI breakage due to enum addition for ath10k (bsc#1051510). - commit 680c7d7- s390/runtime instrumentation: simplify task exit handling (bsc#1103421). - commit ff79708- s390: fix handling of -1 in set{,fs}id16 syscalls (bsc#1103421). - commit c15f7ae- s390: detect etoken facility (bsc#1103421). - commit 2a2f8e4- s390/entry.S: use assembler alternatives (bsc#1103421). - Refresh patches.arch/s390-move-expoline-assembler-macros-to-a-header.patch. - commit ff761b9- fbdev: omapfb: off by one in omapfb_register_client() (bsc#1051510). - i2c: imx: Fix race condition in dma read (bsc#1051510). - drm/i915/kvmgt: Fix potential Spectre v1 (bsc#1051510). - ath10k: update the phymode along with bandwidth change request (bsc#1051510). - brcmfmac: stop watchdog before detach and free everything (bsc#1051510). - gpu: host1x: Check whether size of unpin isn't 0 (bsc#1051510). - drm/amdgpu: fix swapped emit_ib_size in vce3 (bsc#1051510). - nl80211: check nla_parse_nested() return values (bsc#1051510). - dwc2: gadget: Fix ISOC IN DDMA PID bitfield value calculation (bsc#1051510). - Input: synaptics-rmi4 - fix axis-swap behavior (bsc#1051510). - commit 74c7c7d- powerpc/64s: Fix DT CPU features Power9 DD2.1 logic (bsc#1055117). - commit 44ff2dd- KVM: s390: force bp isolation for VSIE (bsc#1103421). - commit 549f198- s390/lib: use expoline for all bcr instructions (git-fixes, bsc#1103421). - commit 93ede07- powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 (bsc#1068032, bsc#1080157, git-fixes). - commit 36ff604- netlink: Don't shift with UB on nlk->ngroups (netfilter-stable-18_08_01). - netlink: Do not subscribe to non-existent groups (netfilter-stable-18_08_01). - NET: stmmac: align DMA stuff to largest cache line length (netfilter-stable-18_08_01). - tcp_bbr: fix bw probing to raise in-flight data for very small BDPs (netfilter-stable-18_08_01). - net: mdio-mux: bcm-iproc: fix wrong getter and setter pair (netfilter-stable-18_08_01). - ipv4: remove BUG_ON() from fib_compute_spec_dst (netfilter-stable-18_08_01). - net: ena: Fix use of uninitialized DMA address bits field (netfilter-stable-18_08_01). - net: fix amd-xgbe flow-control issue (netfilter-stable-18_08_01). - tcp: add one more quick ack after after ECN events (netfilter-stable-18_08_01). - tcp: refactor tcp_ecn_check_ce to remove sk type cast (netfilter-stable-18_08_01). - tcp: do not aggressively quick ack after ECN events (netfilter-stable-18_08_01). - tcp: add max_quickacks param to tcp_incr_quickack and tcp_enter_quickack_mode (netfilter-stable-18_08_01). - Refresh patches.suse/tcp-do-not-delay-ACK-in-DCTCP-upon-CE-status-change.patch. - tcp: do not force quickack when receiving out-of-order packets (netfilter-stable-18_08_01). - commit 6635520- Fix kABI breakage due to additional fields in drm structs (FATE#325208). - drm: Add and handle new aspect ratios in DRM layer (FATE#325208). - drm: Add aspect ratio parsing in DRM layer (FATE#325208). - drm: Expose modes with aspect ratio, only if requested (FATE#325208). - drm: Handle aspect ratio info in legacy modeset path (FATE#325208). - drm: Add DRM client cap for aspect-ratio (FATE#325208). - drm/modes: Introduce drm_mode_match() (FATE#325208). - commit f0895e2- ixgbe: Refactor queue disable logic to take completion time into account (bsc#1101557). - ixgbe: Reorder Tx/Rx shutdown to reduce time needed to stop device (bsc#1101557). - commit e2ad5f8- bpf: powerpc64: pad function address loads with NOPs (bsc#1083647). - bpf: fix references to free_bpf_prog_info() in comments (bsc#1083647). - commit 7dcea1d- blacklist.conf: Add 'drm/i915: Pass hpd_pin to long_pulse_detect()' - commit f415342- ext2: auto disable dax instead of failing mount (bsc#1104888 fate#325574). patches.fixes/fs-allow-per-device-dax-status-checking-for-filesystems.patch: Refresh patches.kabi/kabi-fixup-bdev_dax_supported.patch: Refresh - commit 98273dd- ext4: auto disable dax instead of failing mount (bsc#1104888 fate#325574). patches.fixes/fs-allow-per-device-dax-status-checking-for-filesystems.patch: Refresh patches.kabi/kabi-fixup-bdev_dax_supported.patch: Refresh - commit 6720deb- qlge: Fix netdev features configuration (bsc#1098822). - commit 952d194- Cleanup out-of-tree subsection - commit ae7126b- mm, dax: introduce pfn_t_special() (bsc#1104888). - commit 1544708- powerpc/perf: Remove sched_task function defined for thread-imc (bsc#1054914). - commit fbbc745- powerpc/perf: Fix memory allocation for core-imc based on num_possible_cpus() (bsc#1054914). - powerpc/perf: Fix IMC allocation routine (bsc#1054914). - commit 20c6b1f- Update patches.fixes/4.4.139-043-powerpc-mm-hash-Add-missing-isync-prior-to-ke.patch (bnc#1012382, bsc#1094244). - commit fb6d49a- powerpc/64s: Fix compiler store ordering to SLB shadow area (bsc#1094244). - commit b08b43e- fs, dax: use page->mapping to warn if truncate collides with a busy page (bsc#1104888). - commit c117b75- ext2, dax: introduce ext2_dax_aops (bsc#1104888). - commit 0f61c7b- ext4, dax: introduce ext4_dax_aops (bsc#1104888). - commit d354926- xfs, dax: introduce xfs_dax_aops (bsc#1104888). - commit c02ab50- block, dax: remove dead code in blkdev_writepages() (bsc#1104888). - commit 48887a7- fs, dax: prepare for dax-specific address_space_operations (bsc#1104888). patches.fixes/fs-allow-per-device-dax-status-checking-for-filesystems.patch: Refresh patches.kabi/kabi-fixup-bdev_dax_supported.patch: Refresh - commit 9ba44a9- serial: enable spi in sc16is7xx driver References: bsc#1105672 - commit 3a6d5cd- mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Apollo Lake (FATE#326580,bsc#1051510). - spi-nor: intel-spi: Fix number of protected range registers for BYT/LPT (FATE#326580). - commit abe590f- mei: me: enable asynchronous probing (FATE#326580). - commit 87c1d7e- HID: i2c-hid: Add no-irq-after-reset quirk for 0911:5288 device (FATE#326580). - commit de8b56e- drm/i915/audio: Fix audio enumeration issue on BXT (FATE#326580). - commit dd947f6- Fix kABI breakage with ath9k MSI support (FATE#326580). - commit ebcb9bb- ath9k: add MSI support (FATE#326580). - commit f299a2d- ACPI/IORT: Remove temporary iort_get_id_mapping_index() ACPICA guard (bsc#1103387). - ACPICA: iasl: Add SMMUv3 device ID mapping index support (bsc#1103387). - commit 05d48cc- s390: Prevent hotplug rwsem recursion (bsc#1105731). - commit 2ccd2c2- drm/i915: Restore user forcewake domains across suspend (bsc#1100132). - commit a5893c4- drm/i915/cfl: Add a new CFL PCI ID (FATE#322643). - commit 28443b3- drm/i915/aml: Introducing Amber Lake platform (FATE#322643). - drm/i915/whl: Introducing Whiskey Lake platform (FATE#322643). - commit 0dfa448- ppp: Destroy the mutex when cleanup (bsc#1051510). - ppp: fix __percpu annotation (bsc#1051510). - commit 57fcad2- PM / sleep: wakeup: Fix build error caused by missing SRCU support (bsc#1051510). - commit 64103cb- platform/x86: thinkpad_acpi: Proper model/release matching (bsc#1051510). - commit 0d9c3c2- mfd: sm501: Set coherent_dma_mask when creating subdevices (bsc#1051510). - mfd: arizona: Don't use regmap_read_poll_timeout (bsc#1051510). - commit 963690c- dax: store pfns in the radix (bsc#1104888). patches.fixes/fs-allow-per-device-dax-status-checking-for-filesystems.patch: Refresh - commit 416e9d2- dax: require 'struct page' by default for filesystem dax (bsc#1104888 fate#325574). patches.fixes/fs-allow-per-device-dax-status-checking-for-filesystems.patch: Refresh - commit 046aa0a- irqdomain: Prevent potential NULL pointer dereference in irq_domain_push_irq() (bsc#1105378). - commit 7f46718- arm64: enable thunderx gpio driver - Update config files - supported.conf - commit ed452df- isdn: Disable IIOCDBGVAR (bsc#1051510). - commit f26546f- Fix kABI breakage with removing field addition to power_supply (bsc#1051510). - commit c24883f- gpio: thunderx: fix error return code in thunderx_gpio_probe() (bsc#1105378). - gpio: thunderx: remove unused .map() hook from irq_domain_ops (bsc#1105378). - gpio: Add gpio driver support for ThunderX and OCTEON-TX (bsc#1105378). - irqdomain: Add irq_domain_{push,pop}_irq() functions (bsc#1105378). - irqdomain: Check for NULL function pointer in irq_domain_free_irqs_hierarchy() (bsc#1105378). - irqdomain: Factor out code to add and remove items to and from the revmap (bsc#1105378). - genirq: Add handle_fasteoi_{level,edge}_irq flow handlers (bsc#1105378). - genirq: Export more irq_chip_*_parent() functions (bsc#1105378). - commit 548ef80- power: supply: max77693_charger: fix unintentional fall-through (bsc#1051510). - power: generic-adc-battery: check for duplicate properties copied from iio channels (bsc#1051510). - power: generic-adc-battery: fix out-of-bounds write when copying channel properties (bsc#1051510). - power: supply: axp288_charger: Fix initial constant_charge_current value (bsc#1051510). - power: gemini-poweroff: Avoid more spurious poweroffs (bsc#1051510). - power: vexpress: fix corruption in notifier registration (bsc#1051510). - power: remove possible deadlock when unregistering power_supply (bsc#1051510). - commit 67e1cf7- serial: 8250: Don't service RX FIFO if interrupts are disabled (bsc#1051510). - serial: core: mark port as initialized after successful IRQ change (bsc#1051510). - commit ac2f7bc- serial: 8250_dw: Add ACPI support for uart on Broadcom SoC (bsc#1051510). - serial: 8250_dw: always set baud rate in dw8250_set_termios (bsc#1051510). - serial: sh-sci: Stop RX FIFO timer during port shutdown (bsc#1051510). - serial: xuartps: fix typo in cdns_uart_startup (bsc#1051510). - serial: pxa: Fix an error handling path in 'serial_pxa_probe()' (bsc#1051510). - commit 9666db8- uprobes: Use synchronize_rcu() not synchronize_sched() (bsc#1051510). - uprobes/x86: Remove incorrect WARN_ON() in uprobe_init_insn() (bsc#1051510). - commit 813f7ff- iwlwifi: pcie: don't access periphery registers when not available (bsc#1051510). - commit 4f7ad44- Bluetooth: avoid killing an already killed socket (bsc#1051510). - commit 28dc173- ip: in cmsg IP(V6)_ORIGDSTADDR call pskb_may_pull (netfilter-stable-18_07_27). - ip: hash fragments consistently (netfilter-stable-18_07_27). - vxlan: fix default fdb entry netlink notify ordering during netdev create (netfilter-stable-18_07_27). - vxlan: make netlink notify in vxlan_fdb_destroy optional (netfilter-stable-18_07_27). - vxlan: add new fdb alloc and create helpers (netfilter-stable-18_07_27). - rtnetlink: add rtnl_link_state check in rtnl_configure_link (netfilter-stable-18_07_27). - net: skb_segment() should not return NULL (netfilter-stable-18_07_27). - net: phy: consider PHY_IGNORE_INTERRUPT in phy_start_aneg_priv (netfilter-stable-18_07_27). - tcp: do not delay ACK in DCTCP upon CE status change (netfilter-stable-18_07_27). - tcp: do not cancel delay-AcK on DCTCP special ACK (netfilter-stable-18_07_27). - kABI: reexport tcp_send_ack (kabi). - tcp: helpers to send special DCTCP ack (netfilter-stable-18_07_27). - tcp: fix dctcp delayed ACK schedule (netfilter-stable-18_07_27). - commit 9c52876- USB: serial: pl2303: add a new device id for ATEN (bsc#1051510). - USB: option: add support for DW5821e (bsc#1051510). - commit 87d48f9- ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry (bsc#1051510). - ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs (bsc#1051510). - ALSA: hda - Turn CX8200 into D3 as well upon reboot (bsc#1051510). - ALSA: virmidi: Fix too long output trigger loop (bsc#1051510). - ALSA: cs5535audio: Fix invalid endian conversion (bsc#1051510). - ALSA: vxpocket: Fix invalid endian conversions (bsc#1051510). - ALSA: vx222: Fix invalid endian conversions (bsc#1051510). - ALSA: memalloc: Don't exceed over the requested size (bsc#1051510). - commit 7b0ea28- ACPI / PM: save NVS memory for ASUS 1025C laptop (bsc#1051510). - commit d252d99- powerpc/topology: Get topology for shared processors at boot (bsc#1104683). - Refresh patches.arch/mobility-numa-Ensure-numa-update-does-not-overlap.patch. - commit 420c8a6- xfs: repair malformed inode items during log recovery (bsc#1105396). - xfs: Remove dead code from inode recover function (bsc#1105396). - commit 6563853- Update patch tag of the upstreamed EDAC fix and move to sorted section - commit bb0f656- random: fix possible sleeping allocation from irq context (bsc#1051510). - commit 406c790- random: set up the NUMA crng instances after the CRNG is fully initialized (bsc#1051510). - Refresh patches.drivers/random-crng_reseed-should-lock-the-crng-instance-tha. - commit 73bf385- x86/speculation: Protect against userspace-userspace spectreRSB (bnc#1102517, CVE-2018-15572). - commit 06220b2- random: mix rdrand with entropy sent in from userspace (bsc#1051510). - random: add new ioctl RNDRESEEDCRNG (bsc#1051510). - commit 47f1ea7- x86/xen: Add call of speculative_store_bypass_ht_init() to PV paths (bnc#1065600). - commit ca8ca94- sorted series.conf - commit ea30488- readahead: stricter check for bdi io_pages (VM Functionality, git fixes). - commit 65cf459- arm/asm/tlb.h: Fix build error implicit func declaration (bnc#1105467 Reduce IPIs and atomic ops with improved lazy TLB). - commit e415706- ata: Fix ZBC_OUT all bit handling (bsc#1051510). - ata: Fix ZBC_OUT command block check (bsc#1051510). - libata: Fix command retry decision (bsc#1051510). - driver core: add __printf verification to __ata_ehi_pushv_desc (bsc#1051510). - libata: Fix compile warning with ATA_DEBUG enabled (bsc#1051510). - commit 3ebc0bd- kabi/severities: add qeth inter-module symbols to ignore list. - commit 351744c- mm, page_alloc: double zone's batchsize (bnc#971975 VM performance -- page allocator). - commit 8c952d8- x86/mm/tlb: Skip atomic operations for 'init_mm' in switch_mm_irqs_off() (bnc#1105467 Reduce IPIs and atomic ops with improved lazy TLB). - x86/mm/tlb: Always use lazy TLB mode (bnc#1105467 Reduce IPIs and atomic ops with improved lazy TLB). - x86/mm/tlb: Only send page table free TLB flush to lazy TLB CPUs (bnc#1105467 Reduce IPIs and atomic ops with improved lazy TLB). - x86/mm/tlb: Make lazy TLB mode lazier (bnc#1105467 Reduce IPIs and atomic ops with improved lazy TLB). - x86/mm/tlb: Restructure switch_mm_irqs_off() (bnc#1105467 Reduce IPIs and atomic ops with improved lazy TLB). - x86/mm/tlb: Leave lazy TLB mode at page table free time (bnc#1105467 Reduce IPIs and atomic ops with improved lazy TLB). - commit 02a3275- s390/qeth: consistently re-enable device features (bsc#1104482, LTC#170340). - s390/qeth: don't clobber buffer on async TX completion (bsc#1104482, LTC#170340). - commit 60a7748- s390/qeth: rely on kernel for feature recovery (bsc#1104482, LTC#170340). - Refresh patches.drivers/s390-qeth-fix-GSO-throughput-regression.patch. - commit 76f7bee- ipv6: fix useless rol32 call on hash (netfilter-stable-18_07_23). - ipv6: ila: select CONFIG_DST_CACHE (netfilter-stable-18_07_23). - tg3: Add higher cpu clock for 5762 (netfilter-stable-18_07_23). - ipv6: make DAD fail with enhanced DAD when nonce length differs (netfilter-stable-18_07_23). - net: systemport: Fix CRC forwarding check for SYSTEMPORT Lite (netfilter-stable-18_07_23). - net: diag: Don't double-free TCP_NEW_SYN_RECV sockets in tcp_abort (netfilter-stable-18_07_23). - net/ipv4: Set oif in fib_compute_spec_dst (netfilter-stable-18_07_23). - ipv4: Return EINVAL when ping_group_range sysctl doesn't map to user ns (netfilter-stable-18_07_23). - net: phy: fix flag masking in __set_phy_supported (netfilter-stable-18_07_23). - gen_stats: Fix netlink stats dumping in the presence of padding (netfilter-stable-18_07_23). - commit b94b51f- libnvdimm: fix ars_status output length calculation (bsc#1104890). - commit 773d3ad- Update patch tag for rawmidi security fix (CVE-2018-10902,bsc#1105322). - commit 88ecd0e- clk: mvebu: armada-38x: add support for missing clocks (bsc#1105355). - clk: mvebu: armada-38x: add support for 1866MHz variants (bsc#1105355). - commit 833d9a5- atm: zatm: fix memcmp casting (bsc#1105355). - atm: horizon: Fix irq release error (bsc#1105355). - commit d8acb4f- affs_lookup(): close a race with affs_remove_link() (bsc#1105355). - commit e222b99- ptr_ring: prevent integer overflow when calculating size (bsc#1105355). - ptr_ring: fail early if queue occupies more than KMALLOC_MAX_SIZE (bsc#1105355). - ptr_ring: fix up after recent ptr_ring changes (bsc#1105355). - commit 07c7e29- ptp: fix missing break in switch (bsc#1105355). - commit 9a17d18- vmci: type promotion bug in qp_host_get_user_memory() (bsc#1105355). - zram: fix null dereference of handle (bsc#1105355). - commit 97aca4e- PCI: pciehp: Fix unprotected list iteration in IRQ handler (bsc#1051510). - PCI: Skip MPS logic for Virtual Functions (VFs) (bsc#1051510). - commit 3af88fd- partitions/aix: append null character to print data from disk (bsc#1051510). - partitions/aix: fix usage of uninitialized lv_info and lvname structures (bsc#1051510). - commit d25dc16- lib/rhashtable: consider param->min_size when setting initial table size (bsc#1051510). - commit e170309- cpufreq / CPPC: Set platform specific transition_delay_us (bsc#1101480). - commit 4deee00- lib/vsprintf: Remove atomic-unsafe support for %pCr (bsc#1051510). - commit c64cd94- ima: based on policy verify firmware signatures (pre-allocated buffer) (bsc#1051510). - commit 8010634- iio: adc: sun4i-gpadc: select REGMAP_IRQ (bsc#1051510). - commit c213990- ieee802154: ca8210: fix uninitialised data read (bsc#1051510). - ieee802154: mrf24j40: fix incorrect mask in mrf24j40_stop (bsc#1051510). - ieee802154: fix gcc-4.9 warnings (bsc#1051510). - commit ef527f0- PCI: Cleanup PCI_REBAR_CTRL_BAR_SHIFT handling (bsc#1105355). - PCI: Restore resized BAR state on resume (bsc#1105355). - PCI: Allow release of resources that were never assigned (bsc#1105355). - PCI: Add pci_resize_resource() for resizing BARs (bsc#1105355). - PCI: Add resizable BAR infrastructure (bsc#1105355). - PCI: Add PCI resource type mask #define (bsc#1105355). - commit 7bb8e6d- scripts/git_sort/git_sort.py: add libnvdimm-for-next branch - commit 2a73ff8- dma-buf: remove redundant initialization of sg_table (bsc#1051510). - commit 8537e5b- devicectree: bindings: fix location of leds common file (bsc#1051510). - commit 2648baf- net: bcmgenet: Fix sparse warnings in bcmgenet_put_tx_csum() (bsc#1051510). - net: bcmgenet: enable loopback during UniMAC sw_reset (bsc#1051510). - net: bcmgenet: prevent duplicate calls of bcmgenet_dma_teardown (bsc#1051510). - net: bcmgenet: correct bad merge (bsc#1051510). - net: bcmgenet: Fix unmapping of fragments in bcmgenet_xmit() (bsc#1051510). - commit f1c0f2d- audit: Fix extended comparison of GID/EGID (bsc#1051510). - audit: allow not equal op for audit by executable (bsc#1051510). - commit cc3b8b1- ASoC: Intel: cht_bsw_max98090: remove useless code, align with ChromeOS driver (bsc#1051510). - commit f1ce77b- cpufreq: CPPC: Don't set transition_latency (bsc#1101480). - commit df1a5c4- IB/IPoIB: Set ah valid flag in multicast send flow (bsc#1046307 FATE#322941). - IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers (bsc#1046305 FATE#322943). - include/rdma/opa_addr.h: Fix an endianness issue (bsc#1046306 FATE#322942). - net: hns3: Fix desc num set to default when setting channel (bsc#1104353 FATE#326415). - net: hns3: Fix for phy link issue when using marvell phy driver (bsc#1104353 FATE#326415). - net: hns3: Fix for information of phydev lost problem when down/up (bsc#1104353 FATE#326415). - net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero (bsc#1104353 FATE#326415). - net: hns3: Fix MSIX allocation issue for VF (bsc#1104353 FATE#326415). - net: hns3: fix return value error while hclge_cmd_csq_clean failed (bsc#1104353 FATE#326415). - net: hns3: Standardize the handle of return value (bsc#1104353 FATE#326415). - net: hns3: Fix comments for hclge_get_ring_chain_from_mbx (bsc#1104353 FATE#326415). - net: hns3: Fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx (bsc#1104353 FATE#326415). - net: hns3: Fix for reset_level default assignment probelm (bsc#1104353 FATE#326415). - net: hns3: remove unnecessary ring configuration operation while resetting (bsc#1104353 FATE#326415). - net: hns3: Fix return value error in hns3_reset_notify_down_enet (bsc#1104353 FATE#326415). - net: hns3: Prevent sending command during global or core reset (bsc#1104353 FATE#326415). - net: hns3: Fix get_vector ops in hclgevf_main module (bsc#1104353 FATE#326415). - net: hns3: Fix warning bug when doing lp selftest (bsc#1104353 FATE#326415). - net: hns3: Fix for mailbox message truncated problem (bsc#1104353 FATE#326415). - net: hns3: Fix for l4 checksum offload bug (bsc#1104353 FATE#326415). - net: hns3: Fix for mac pause not disable in pfc mode (bsc#1104353 FATE#326415). - cxgb4: Fix the condition to check if the card is T5 (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - net: hns3: modify hnae_ to hnae3_ (bsc#1104353 FATE#326415). - net: hns3: simplify hclge_cmd_csq_clean (bsc#1104353 FATE#326415). - net: hns3: remove some redundant assignments (bsc#1104353 FATE#326415). - net: hns3: add unlikely for error check (bsc#1104353 FATE#326415). - RDMA/uverbs: Expand primary and alt AV port checks (bsc#1046306 FATE#322942). - commit 2935983- Update patch tag for BT security issue (CVE-2018-9363,bsc#1105292) - commit 359753e- xfs: preserve i_rdev when recycling a reclaimable inode (bsc#1095344). - commit 15a0237- wan/fsl_ucc_hdlc: use IS_ERR_VALUE() to check return value of qe_muram_alloc (bsc#1051510). - commit e88aabf- vmw_balloon: remove inflation rate limiting (bsc#1051510). - vmw_balloon: fix VMCI use when balloon built into kernel (bsc#1051510). - vmw_balloon: VMCI_DOORBELL_SET does not check status (bsc#1051510). - vmw_balloon: do not use 2MB without batching (bsc#1051510). - vmw_balloon: fix inflation of 64-bit GFNs (bsc#1051510). - commit 3d67ae9- usb: dwc3: change stream event enable bit back to 13 (bsc#1051510). - USB: serial: kobil_sct: fix modem-status error handling (bsc#1051510). - USB: serial: sierra: fix potential deadlock at close (bsc#1051510). - USB: cdc-wdm: don't enable interrupts in USB-giveback (bsc#1051510). - commit 7ef5397- uio: potential double frees if __uio_register_device() fails (bsc#1051510). - commit ad06b4b- tty: serial: 8250: Revert NXP SC16C2552 workaround (bsc#1051510). - tty: fix termios input-speed encoding when using BOTHER (bsc#1051510). - tty: fix termios input-speed encoding (bsc#1051510). - commit 94a3d40- security: check for kstrdup() failure in lsm_append() (bsc#1051510). - commit a6ac173- staging: rts5208: fix missing error check on call to rtsx_write_register (bsc#1051510). - commit b1d7e41- rndis_wlan: potential buffer overflow in rndis_wlan_auth_indication() (bsc#1051510). - commit ffbc66c- mmc: tegra: prevent HS200 on Tegra 3 (bsc#1051510). - commit 42d2798- media: v4l2-mem2mem: Fix missing v4l2_m2m_try_run call (bsc#1051510). - commit a4c03c3- mailbox: xgene-slimpro: Fix potential NULL pointer dereference (bsc#1051510). - commit 2da014a- irqdomain: Update the comments of fwnode field of irq_domain structure (bsc#1051510). - commit 2157cb9- iio: ad9523: Fix return value for ad952x_store() (bsc#1051510). - iio: sca3000: Fix missing return in switch (bsc#1051510). - iio: ad9523: Fix displayed phase (bsc#1051510). - iio: adc: ina2xx: avoid kthread_stop() with stale task_struct (bsc#1051510). - iio: 104-quad-8: Fix off-by-one error in register selection (bsc#1051510). - iio: sca3000: Fix an error handling path in 'sca3000_probe()' (bsc#1051510). - commit f178243- Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() (bsc#1051510). - Drivers: hv: vmbus: do not mark HV_PCIE as perf_device (bsc#1051510). - commit af4783c- extcon: Release locking when sending the notification of connector state (bsc#1051510). - gpio: Fix wrong rounding in gpio-menz127 (bsc#1051510). - commit 1d28212- drm/i915/gvt: Off by one in intel_vgpu_write_fence() (bsc#1051510). - drm/i915: Unmask user interrupts writes into HWSP on snb/ivb/vlv/hsw (bsc#1051510). - commit d5ae2d9- dmaengine: mv_xor_v2: kill the tasklets upon exit (bsc#1051510). - dmaengine: idma64: Support dmaengine_terminate_sync() (bsc#1051510). - dmaengine: hsu: Support dmaengine_terminate_sync() (bsc#1051510). - commit a14499a- crypto: ablkcipher - fix crash flushing dcache in error path (bsc#1051510). - commit f5d4a5e- coresight: tpiu: Fix disabling timeouts (bsc#1051510). - commit 113fb5e- binfmt_elf: Respect error return from `regset->active' (bsc#1051510). - commit a1a1140- staging: bcm2835-camera: fix timeout handling in wait_for_completion_timeout (bsc#1051510). - staging: bcm2835-camera: handle wait_for_completion_timeout return properly (bsc#1051510). - commit 69c48bf- ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization (bsc#1051510). - ASoC: msm8916-wcd-digital: fix RX2 MIX1 and RX3 MIX1 (bsc#1051510). - commit fa657bb- ACPI / APEI: Remove ghes_ioremap_area (bsc#1051510). - commit cc4f7a3- blacklist.conf: Add a cherry-picked entry - commit ddcf485- Update upstreamed patches - commit 22ff2f4- x86/paravirt: Fix spectre-v2 mitigations for paravirt guests (bnc#1065600). - x86/entry/64: Remove %ebx handling from error_entry/exit (bnc#1102715). - commit a7024a7- cpufreq: CPPC: Use transition_delay_us depending transition_latency (bsc#1101480). - cpufreq: remove setting of policy->cpu in policy->cpus during init (bsc#1101480). - commit 4fdd416- Re-sort 4.4 stable patches. - commit ef1a0c4- scsi: qla2xxx: Fix issue reported by static checker for qla2x00_els_dcmd2_sp_done() (bsc#1086327,FATE#324903). - scsi: qla2xxx: Update driver version to 10.00.00.08-k (bsc#1086327,FATE#324903). - scsi: qla2xxx: Migrate NVME N2N handling into state machine (bsc#1086327,FATE#324903). - scsi: qla2xxx: Save frame payload size from ICB (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix stalled relogin (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix race between switch cmd completion and timeout (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix Management Server NPort handle reservation logic (bsc#1086327,FATE#324903). - scsi: qla2xxx: Flush mailbox commands on chip reset (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix unintended Logout (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix session state stuck in Get Port DB (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix redundant fc_rport registration (bsc#1086327,FATE#324903). - scsi: qla2xxx: Silent erroneous message (bsc#1086327,FATE#324903). - scsi: qla2xxx: Prevent sysfs access when chip is down (bsc#1086327,FATE#324903). - scsi: qla2xxx: Add longer window for chip reset (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix login retry count (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix N2N link re-connect (bsc#1086327,FATE#324903). - scsi: qla2xxx: Cleanup for N2N code (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix ISP recovery on unload (bsc#1086327,FATE#324903). - scsi: qla2xxx: Spinlock recursion in qla_target (bsc#1086327,FATE#324903). - commit 6be5935- ipv6: sr: fix passing wrong flags to crypto_alloc_shash() (networking-stable-18_07_19). - net: fix use-after-free in GRO with ESP (networking-stable-18_07_19). - tcp: prevent bogus FRTO undos with non-SACK flows (networking-stable-18_07_19). - atm: zatm: Fix potential Spectre v1 (networking-stable-18_07_19). - tcp: fix Fast Open key endianness (networking-stable-18_07_19). - strparser: Remove early eaten to fix full tcp receive buffer stall (networking-stable-18_07_19). - net/mlx5e: Avoid dealing with vport representors if not being e-switch manager (networking-stable-18_07_19). - net/mlx5: E-Switch, Avoid setup attempt if not being e-switch manager (networking-stable-18_07_19). - kABI: protect eswitch.h include (kabi). - net: dccp: switch rx_tstamp_last_feedback to monotonic clock (networking-stable-18_07_19). - net: dccp: avoid crash in ccid3_hc_rx_send_feedback() (networking-stable-18_07_19). - net: mvneta: fix the Rx desc DMA address in the Rx path (networking-stable-18_07_19). - vhost_net: validate sock before trying to put its fd (networking-stable-18_07_19). - VSOCK: fix loopback on big-endian systems (networking-stable-18_07_19). - net/packet: fix use-after-free (networking-stable-18_07_19). - ipvlan: fix IFLA_MTU ignored on NEWLINK (networking-stable-18_07_19). - stmmac: fix DMA channel hang in half-duplex mode (networking-stable-18_07_19). - net: sungem: fix rx checksum support (networking-stable-18_07_19). - net_sched: blackhole: tell upper qdisc about dropped packets (networking-stable-18_07_19). - atm: Preserve value of skb->truesize when accounting to vcc (networking-stable-18_07_19). - commit af535df- Refresh patches.kabi/kabi-protect_fwnode_handle.patch. - commit 8a927a7- Fix kABI breakage with libertas dev field addition (bsc#1051510). - libertas: fix suspend and resume for SDIO connected cards (bsc#1051510). - commit 3158a60- media: rtl28xxu: be sure that it won't go past the array size (bsc#1051510). - media: tw686x: Fix oops on buffer alloc failure (bsc#1051510). - media: exynos4-is: Prevent NULL pointer dereference in __isp_video_try_fmt() (bsc#1051510). - media: omap3isp: zero-initialize the isp cam_xclk{a,b} initial data (bsc#1051510). - media: mem2mem: Remove excessive try_run call (bsc#1051510). - commit f296c63- crypto: ccp - Check for NULL PSP pointer at module unload (bsc#1051510). - crypto: blkcipher - fix crash flushing dcache in error path (bsc#1051510). - crypto: skcipher - fix crash flushing dcache in error path (bsc#1051510). - crypto: skcipher - fix aligning block size in skcipher_copy_iv() (bsc#1051510). - crypto: ccp - Fix command completion detection race (bsc#1051510). - crypto: x86/sha256-mb - fix digest copy in sha256_mb_mgr_get_comp_job_avx2() (bsc#1051510). - crypto: vmac - separate tfm and request context (bsc#1051510). - crypto: vmac - require a block cipher with 128-bit block size (bsc#1051510). - commit c553787- MAINTAINERS: fix location of ina2xx.txt device tree file (bsc#1051510). - commit 79ba775- clk: imx6ul: fix missing of_node_put() (bsc#1051510). - clk: core: Potentially free connection id (bsc#1051510). - clk: rockchip: fix clk_i2sout parent selection bits on rk3399 (bsc#1051510). - clk: meson: gxbb: remove HHI_GEN_CLK_CTNL duplicate definition (bsc#1051510). - commit da07cce- leds: max8997: use mode when calling max8997_led_set_mode (bsc#1051510). - commit be431b3- drm/i915: Nuke the LVDS lid notifier (bsc#1051510). - drm/panel: type promotion bug in s6e8aa0_read_mtp_id() (bsc#1051510). - drm/i915: Only show debug for state changes when banning (bsc#1051510). - drm/rockchip: lvds: add missing of_node_put (bsc#1051510). - drm/fb-helper: Fix typo on kerneldoc (bsc#1051510). - commit caa8e3b- brcmsmac: fix wrap around in conversion from constant to s16 (bsc#1051510). - commit fdcc372- Documentation: ip-sysctl.txt: document addr_gen_mode (bsc#1051510). - commit 08e984b- EDAC, i7core: Fix memleaks and use-after-free on probe and remove (bsc#1051510). - EDAC: Fix memleak in module init error path (bsc#1051510). - commit 0c40b5b- Bluetooth: hidp: buffer overflow in hidp_process_report (bsc#1051510). - commit 01e6c28- ath10k: prevent active scans on potential unusable channels (bsc#1051510). - commit a6e8225- Move the previous hv netvsc fix to the sorted section (bsc#1104708) Patch tags update, too - commit 50ea871- Move kabi patches into patches.kabi Some scrfipts depend on this to remove these patches automatically on configs without KABI tracking. - commit 99e1e6d- netfilter: nf_tables: disable preemption in nft_update_chain_stats() (netfilter-stable-18_06_27). - netfilter: nft_meta: fix wrong value dereference in nft_meta_set_eval (netfilter-stable-18_06_27). - netfilter: nf_tables: fix memory leak on error exit return (netfilter-stable-18_06_27). - netfilter: nft_compat: fix handling of large matchinfo size (netfilter-stable-18_06_27). - netfilter: nft_compat: prepare for indirect info storage (netfilter-stable-18_06_27). - netfilter: nf_tables: don't assume chain stats are set when jumplabel is set (netfilter-stable-18_06_27). - netfilter: nf_tables: nft_compat: fix refcount leak on xt module (netfilter-stable-18_06_27). - netfilter: nf_tables: add missing netlink attrs to policies (netfilter-stable-18_06_27). - commit 3bc4a5b- drm/cirrus: Use drm_framebuffer_put to avoid kernel oops in clean-up (bsc#1101822). - commit 48dbb6a- spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe (bsc#1051510). - rtc: ensure rtc_set_alarm fails when alarms are not supported (bsc#1051510). - commit a5f6ce9- PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload (bsc#1051510). - commit bf1544a- pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show() (bsc#1051510). - pinctrl: cannonlake: Fix community ordering for H variant (bsc#1051510). - pinctrl: imx: off by one in imx_pinconf_group_dbg_show() (bsc#1051510). - pinctrl: single: Fix group and function selector use (bsc#1051510). - pinctrl: pinmux: Return selector to the pinctrl driver (bsc#1051510). - pinctrl: core: Return selector to the pinctrl driver (bsc#1051510). - pinctrl: qcom: spmi-gpio: Fix pmic_gpio_config_get() to be compliant (bsc#1051510). - commit f8e2baa- kthread, tracing: Don't expose half-written comm when creating kthreads (bsc#1104897). - commit bc336f5- gtp: Initialize 64-bit per-cpu stats correctly (bsc#1051510). - commit 654f242- i2c: imx: Fix reinit_completion() use (bsc#1051510). - geneve: update skb dst pmtu on tx path (bsc#1051510). - commit b14055a- docs: zh_CN: fix location of oops-tracing.txt (bsc#1051510). - commit 2fe224f- genirq: Fix editing error in a comment (bsc#1051510). - genirq: Make force irq threading setup more robust (bsc#1051510). - commit a8d21bd- Update tags upstreamed patches, move to upstream section - commit 1c6a87b- ASoC: sirf: Fix potential NULL pointer dereference (bsc#1051510). - ASoC: zte: Fix incorrect PCM format bit usages (bsc#1051510). - ASoC: rsnd: cmd: Add missing newline to debug message (bsc#1051510). - ASoC: es7134: remove 64kHz rate from the supported rates (bsc#1051510). - ASoC: dpcm: don't merge format from invalid codec dai (bsc#1051510). - ALSA: snd-aoa: add of_node_put() in error path (bsc#1051510). - commit a36ee64- netfilter: nf_tables: use WARN_ON_ONCE instead of BUG_ON in nft_do_chain() (netfilter-stable-18_06_25). - netfilter: ip6t_rpfilter: provide input interface for route lookup (netfilter-stable-18_06_25). - netfilter: don't set F_IFACE on ipv6 fib lookups (netfilter-stable-18_06_25). - netfilter: nat: Revert "netfilter: nat: convert nat bysrc hash to rhashtable" (netfilter-stable-17_11_16). - kABI: protect struct nf_conn (kabi). - commit d2096e3- init: rename and re-order boot_cpu_state_init() (bsc#1104365). - Refresh patches.arch/17-cpu-hotplug-Boot-HT-siblings-at-least-once.patch. - Refresh patches.suse/Fix-arm64-breakage-with-this_cpu_write.patch. - commit 070598e- Delete patches.suse/Fix-arm64-breakage-with-this_cpu_write.patch It's no longer needed after the upstream fix. - commit d44e7e2- hv/netvsc: Fix NULL dereference at single queue mode fallback (bsc#1104708). - commit 947aa51- media: videobuf2-core: don't call memop 'finish' when queueing (bsc#1051510). - media: omap3isp: fix unbalanced dma_iommu_mapping (bsc#1051510). - commit 3bd1bae- EDAC, altera: Fix ARM64 build warning (bsc#1051510). - EDAC, mv64x60: Fix an error handling path (bsc#1051510). - EDAC, octeon: Fix an uninitialized variable warning (bsc#1051510). - EDAC, sb_edac: Fix missing break in switch (bsc#1051510). - commit 9f77e18- ACPI / PCI: Bail early in acpi_pci_add_bus() if there is no ACPI handle (bsc#1051510). - commit 31c51d2- xhci: Fix perceived dead host due to runtime suspend race with event handler (bsc#1051510). - commit 861687b- Fix kABI breakage of kvm_x86_ops due to L1TF patches (bsc#1089343 CVE-2018-3646). - commit 8a4775d- kabi/severities: Relax kvm_vcpu_* kABI breakage - commit 1763549- sched/numa: Move task_numa_placement() closer to numa_migrate_preferred() (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Use group_weights to identify if migration degrades locality (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Update the scan period without holding the numa_group lock (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Modify migrate_swap() to accept additional parameters (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Remove unused task_capacity from 'struct numa_stats' (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Skip nodes that are at 'hoplimit' (bnc#1101669 optimise numa balancing for fast migrate). - sched/debug: Reverse the order of printing faults (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Use task faults only if numa_group is not yet set up (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Set preferred_node based on best_cpu (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Simplify load_too_imbalanced() (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Evaluate move once per node (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Remove redundant field -kabi (bnc#1101669 optimise numa balancing for fast migrate). - sched/numa: Remove redundant field (bnc#1101669 optimise numa balancing for fast migrate). - commit 718fbcc- series.conf: Sort automatic NUMA balancing related patch - commit 78160e1- xen/netfront: don't cache skb_shinfo() (bnc#1065600). - x86/xen: init %gs very early to avoid page faults with stack protector (bnc#1104777). - commit 7fdcb3b- typec: tcpm: fusb302: Resolve out of order messaging events (bsc#1087092). - commit 2640a76- hv_netvsc: Fix napi reschedule while receive completion is busy (fate#323887). - commit e458677- supported.conf: Enable HiSi v3 SAS adapter (FATE#326253) - commit 760b46a- powerpc/fadump: merge adjacent memory ranges to reduce PT_LOAD segements (bsc#1103269). - powerpc/fadump: handle crash memory ranges array index overflow (bsc#1103269). - commit 0d8b4a2- net: qmi_wwan: Add Netgear Aircard 779S (bsc#1090888). - commit 8783b64- net: lan78xx: fix rx handling before first packet is send (bsc#1100132). - commit d201338- net: usb: asix: replace mii_nway_restart in resume path (bsc#1100132). - commit 3df7ed3- net: lan78xx: Fix race in tx pending skb size calculation (bsc#1100132). - commit 748c48c- net: qmi_wwan: add BroadMobi BM806U 2020:2033 (bsc#1087092). - commit f2aab4f- net-usb: add qmi_wwan if on lte modem wistron neweb d18q1 (bsc#1087092). - commit ec40a3b- xfs: move xfs_iext_insert tracepoint to report useful information (bsc#1095344). - xfs: fix memory leak in xfs_iext_free_last_leaf (bsc#1095344). - xfs: fix type usage (bsc#1095344). - xfs: handle zero entries case in xfs_iext_rebalance_leaf (bsc#1095344). - xfs: add comments documenting the rebalance algorithm (bsc#1095344). - xfs: trivial indentation fixup for xfs_iext_remove_node (bsc#1095344). - xfs: remove a superflous assignment in xfs_iext_remove_node (bsc#1095344). - xfs: add some comments to xfs_iext_insert/xfs_iext_insert_node (bsc#1095344). - xfs: fix number of records handling in xfs_iext_split_leaf (bsc#1095344). - xfs: move xfs_bmbt_irec and xfs_exntst_t to xfs_types.h (bsc#1095344). - xfs: pass struct xfs_bmbt_irec to xfs_bmbt_validate_extent (bsc#1095344). - xfs: remove the nr_extents argument to xfs_iext_remove (bsc#1095344). - xfs: remove the nr_extents argument to xfs_iext_insert (bsc#1095344). - xfs: use a b+tree for the in-core extent list (bsc#1095344). - xfs: allow unaligned extent records in xfs_bmbt_disk_set_all (bsc#1095344). - xfs: remove support for inlining data/extents into the inode fork (bsc#1095344). - xfs: simplify xfs_reflink_convert_cow (bsc#1095344). - xfs: iterate backwards in xfs_reflink_cancel_cow_blocks (bsc#1095344). - xfs: introduce the xfs_iext_cursor abstraction (bsc#1095344). - xfs: iterate over extents in xfs_bmap_extents_to_btree (bsc#1095344). - xfs: iterate over extents in xfs_iextents_copy (bsc#1095344). - xfs: pass an on-disk extent to xfs_bmbt_validate_extent (bsc#1095344). - xfs: treat idx as a cursor in xfs_bmap_collapse_extents (bsc#1095344). - xfs: treat idx as a cursor in xfs_bmap_del_extent_* (bsc#1095344). - xfs: treat idx as a cursor in xfs_bmap_add_extent_unwritten_real (bsc#1095344). - xfs: treat idx as a cursor in xfs_bmap_add_extent_hole_real (bsc#1095344). - xfs: treat idx as a cursor in xfs_bmap_add_extent_hole_delay (bsc#1095344). - xfs: treat idx as a cursor in xfs_bmap_add_extent_delay_real (bsc#1095344). - xfs: remove a duplicate assignment in xfs_bmap_add_extent_delay_real (bsc#1095344). - xfs: don't create overlapping extents in xfs_bmap_add_extent_delay_real (bsc#1095344). - xfs: add a new xfs_iext_lookup_extent_before helper (bsc#1095344). - xfs: merge xfs_bmap_read_extents into xfs_iread_extents (bsc#1095344). - xfs: add asserts for the mmap lock in xfs_{insert,collapse}_file_space (bsc#1095344). - xfs: rewrite xfs_bmap_first_unused to make better use of xfs_iext_get_extent (bsc#1095344). - xfs: don't rely on extent indices in xfs_bmap_insert_extents (bsc#1095344). - xfs: don't rely on extent indices in xfs_bmap_collapse_extents (bsc#1095344). - xfs: update got in xfs_bmap_shift_update_extent (bsc#1095344). - xfs: remove xfs_bmse_shift_one (bsc#1095344). - xfs: split xfs_bmap_shift_extents (bsc#1095344). - xfs: remove XFS_BMAP_MAX_SHIFT_EXTENTS (bsc#1095344). - xfs: inline xfs_shift_file_space into callers (bsc#1095344). - xfs: remove if_rdev (bsc#1095344). - xfs: remove the never fully implemented UUID fork format (bsc#1095344). - xfs: remove XFS_BMAP_TRACE_EXLIST (bsc#1095344). - xfs: move pre/post-bmap tracing into xfs_iext_update_extent (bsc#1095344). - xfs: remove post-bmap tracing in xfs_bmap_local_to_extents (bsc#1095344). - xfs: make better use of the 'state' variable in xfs_bmap_del_extent_real (bsc#1095344). - xfs: add a xfs_bmap_fork_to_state helper (bsc#1095344). - xfs: remove xfs_bmbt_get_state (bsc#1095344). - xfs: remove all xfs_bmbt_set_* helpers except for xfs_bmbt_set_all (bsc#1095344). - xfs: replace xfs_bmbt_lookup_ge with xfs_bmbt_lookup_first (bsc#1095344). - xfs: pass a struct xfs_bmbt_irec to xfs_bmbt_lookup_eq (bsc#1095344). - xfs: pass a struct xfs_bmbt_irec to xfs_bmbt_update (bsc#1095344). - xfs: refactor xfs_bmap_add_extent_unwritten_real (bsc#1095344). - xfs: refactor delalloc accounting in xfs_bmap_add_extent_delay_real (bsc#1095344). - xfs: refactor xfs_bmap_add_extent_delay_real (bsc#1095344). - xfs: refactor xfs_bmap_add_extent_hole_real (bsc#1095344). - xfs: refactor xfs_bmap_add_extent_hole_delay (bsc#1095344). - xfs: refactor xfs_del_extent_real (bsc#1095344). - xfs: use the state defines in xfs_bmap_del_extent_real (bsc#1095344). - xfs: use correct state defines in xfs_bmap_del_extent_{cow,delay} (bsc#1095344). - commit 2783d07- xfs: move some more code into xfs_bmap_del_extent_real (bsc#1095344). - xfs: use xfs_bmap_del_extent_delay for the data fork as well (bsc#1095344). - xfs: rename bno to end in __xfs_bunmapi (bsc#1095344). - xfs: don't set XFS_BTCUR_BPRV_WASDEL in xfs_bunmapi (bsc#1095344). - xfs: use xfs_iext_get_extent instead of open coding it (bsc#1095344). - xfs: simplify the xfs_getbmap interface (bsc#1095344). - xfs: rewrite getbmap using the xfs_iext_* helpers (bsc#1095344). - xfs: replace xfs_qm_get_rtblks with a direct call to xfs_bmap_count_leaves (bsc#1095344). - xfs: rewrite xfs_bmap_count_leaves using xfs_iext_get_extent (bsc#1095344). - xfs: use xfs_iext_*_extent helpers in xfs_bmap_split_extent_at (bsc#1095344). - xfs: use xfs_iext_*_extent helpers in xfs_bmap_shift_extents (bsc#1095344). - xfs: move some code around inside xfs_bmap_shift_extents (bsc#1095344). - xfs: use xfs_iext_get_extent in xfs_bmap_first_unused (bsc#1095344). - xfs: switch xfs_bmap_local_to_extents to use xfs_iext_insert (bsc#1095344). - xfs: add a xfs_iext_update_extent helper (bsc#1095344). - xfs: refactor dir2 leaf readahead shadow buffer cleverness (bsc#1095344). - commit 24b4ed0- x86/kvm: kABI workaround for CVE-2018-10853 fix (CVE-2018-10853 bsc#1097104). - kvm: x86: use correct privilege level for sgdt/sidt/fxsave/fxrstor access (CVE-2018-10853 bsc#1097104). - KVM: x86: pass kvm_vcpu to kvm_read_guest_virt and kvm_write_guest_virt_system (CVE-2018-10853 bsc#1097104). - KVM: x86: introduce linear_{read,write}_system (CVE-2018-10853 bsc#1097104). - commit 65006cb- blacklist.conf: Add 'drm/i915/pmu: Fix PMU enable vs execlists tasklet race' #2 - commit bb04587- blacklist.conf: Add 'drm/i915/pmu: Fix PMU enable vs execlists tasklet race' - commit 777d4c9- xen-netback: fix input validation in xenvif_set_hash_mapping() (bnc#1103277). - commit 6d2d327- hwmon: (asus_atk0110) Replace deprecated device register call (bsc#1103363). - commit d786db1- ext4: check for allocation block validity with block group locked (bsc#1104495). - commit 687b42e- ext4: fix inline data updates with checksums enabled (bsc#1104494). - commit 8bd5d82- ext4: fix false negatives *and* false positives in ext4_check_descriptors() (bsc#1103445). - commit aae2736- s390/dasd: configurable IFCC handling (bsc#1097808). - commit fa71ad6- be2net: Update the driver version to 12.0.0.0 (bsc#1086288 FATE#324877). - be2net: gather debug info and reset adapter (only for Lancer) on a tx-timeout (bsc#1086288 FATE#324877). - commit c3595f8- ACPI / PCI: pci_link: Allow the absence of _PRS and change log level (bsc#1104172). - ACPI/PCI: pci_link: reduce verbosity when IRQ is enabled (bsc#1104172). - commit d5d5a1d- EDAC: Drop duplicated array of strings for memory type names (bsc#1103886). - commit 06bf79d- TCM_RBD depends on BLK_DEV_RBD (fate#318836). - commit 9847077- scsi: qedi: Send driver state to MFW (bsc#1086315). - qedi: Add get_generic_tlv_data handler (bsc#1086315). - qedi: Add support for populating ethernet TLVs (bsc#1086315). - scsi: qedi: fix build regression (bsc#1086315). - scsi: qedi: fix building with LTO (bsc#1086315). - scsi: qedi: Fix kernel crash during port toggle (bsc#1086315). - commit 76cd28a- Update config files. - supported.conf: added hns-roce-hw-v1 and hns-roce-hw-v2 - commit e68ebe7- IB/hns: Use zeroing memory allocator instead of allocator/memset (bsc#1104427 FATE#326416). - RDMA/hns_roce: Don't check return value of zap_vma_ptes() (bsc#1104427 FATE#326416). - RDMA/hns: Implement the disassociate_ucontext API (bsc#1104427 FATE#326416). - RDMA/hns: Fix the illegal memory operation when cross page (bsc#1104427 FATE#326416). - RDMA/hns: Add reset process for RoCE in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Increase checking CMQ status timeout value (bsc#1104427 FATE#326416). - RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust (bsc#1104427 FATE#326416). - RDMA/hns: Rename the idx field of db (bsc#1104427 FATE#326416). - RDMA/hns: Add 64KB page size support for hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Drop local zgid in favor of core defined variable (bsc#1104427 FATE#326416). - RDMA/hns: Move the location for initializing tmp_len (bsc#1104427 FATE#326416). - RDMA/hns: Bugfix for cq record db for kernel (bsc#1104427 FATE#326416). - RDMA/hns: Fix the bug with NULL pointer (bsc#1104427 FATE#326416). - RDMA/hns: Set NULL for __internal_mr (bsc#1104427 FATE#326416). - RDMA/hns: Enable inner_pa_vld filed of mpt (bsc#1104427 FATE#326416). - RDMA/hns: Set desc_dma_addr for zero when free cmq desc (bsc#1104427 FATE#326416). - RDMA/hns: Fix the bug with rq sge (bsc#1104427 FATE#326416). - RDMA/hns: Not support qp transition from reset to reset for hip06 (bsc#1104427 FATE#326416). - RDMA/hns: Add return operation when configured global param fail (bsc#1104427 FATE#326416). - RDMA/hns: Update convert function of endian format (bsc#1104427 FATE#326416). - RDMA/hns: Load the RoCE dirver automatically (bsc#1104427 FATE#326416). - RDMA/hns: Bugfix for rq record db for kernel (bsc#1104427 FATE#326416). - RDMA/hns: Add rq inline flags judgement (bsc#1104427 FATE#326416). - RDMA/hns: Fix a couple misspellings (bsc#1104427 FATE#326416). - RDMA/hns: Submit bad wr (bsc#1104427 FATE#326416). - RDMA/hns: Update assignment method for owner field of send wqe (bsc#1104427 FATE#326416). - RDMA/hns: Adjust the order of cleanup hem table (bsc#1104427 FATE#326416). - RDMA/hns: Only assign dqpn if IB_QP_PATH_DEST_QPN bit is set (bsc#1104427 FATE#326416). - RDMA/hns: Remove some unnecessary attr_mask judgement (bsc#1104427 FATE#326416). - RDMA/hns: Only assign mtu if IB_QP_PATH_MTU bit is set (bsc#1104427 FATE#326416). - RDMA/hns: Fix the qp context state diagram (bsc#1104427 FATE#326416). - RDMA/hns: Intercept illegal RDMA operation when use inline data (bsc#1104427 FATE#326416). - RDMA/hns: Bugfix for init hem table (bsc#1104427 FATE#326416). - RDMA/hns: Fix cq record doorbell enable in kernel (bsc#1104427 FATE#326416). - RDMA/hns: Fix init resp when alloc ucontext (bsc#1104427 FATE#326416). - RDMA/hns: Use structs to describe the uABI instead of opencoding (bsc#1104427 FATE#326416). - RDMA/hns: Fix cqn type and init resp (bsc#1104427 FATE#326416). - RDMA/hns: Support cq record doorbell for kernel space (bsc#1104427 FATE#326416). - RDMA/hns: Support rq record doorbell for kernel space (bsc#1104427 FATE#326416). - RDMA/hns: Support cq record doorbell for the user space (bsc#1104427 FATE#326416). - RDMA/hns: Support rq record doorbell for the user space (bsc#1104427 FATE#326416). - RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*() (bsc#1104427 FATE#326416). - RDMA/hns: Use free_pages function instead of free_page (bsc#1104427 FATE#326416). - RDMA/hns: Fix QP state judgement before receiving work requests (bsc#1104427 FATE#326416). - RDMA/hns: Fix a bug with modifying mac address (bsc#1104427 FATE#326416). - RDMA/hns: ensure for-loop actually iterates and free's buffers (bsc#1104427 FATE#326416). - RDMA/hns: Fix the endian problem for hns (bsc#1104427 FATE#326416). - RDMA/hns: Fix misplaced call to hns_roce_cleanup_hem_table (bsc#1104427 FATE#326416). - RDMA/hns: Add names to function arguments in function pointers (bsc#1104427 FATE#326416). - RDMA/hns: Remove unnecessary operator (bsc#1104427 FATE#326416). - RDMA/hns: Remove unnecessary platform_get_resource() error check (bsc#1104427 FATE#326416). - RDMA/hns: Set the guid for hip08 RoCE device (bsc#1104427 FATE#326416). - RDMA/hns: Update the verbs of polling for completion (bsc#1104427 FATE#326416). - RDMA/hns: Assign zero for pkey_index of wc in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Fill sq wqe context of ud type in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Add gsi qp support for modifying qp in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Create gsi qp in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Assign the correct value for tx_cqn (bsc#1104427 FATE#326416). - RDMA/hns: Fix endian problems around imm_data and rkey (bsc#1104427 FATE#326416). - RDMA/hns: Assign dest_qp when deregistering mr (bsc#1104427 FATE#326416). - RDMA/hns: Fix QP state judgement before sending work requests (bsc#1104427 FATE#326416). - RDMA/hns: Filter for zero length of sge in hip08 kernel mode (bsc#1104427 FATE#326416). - RDMA/hns: Set access flags of hip08 RoCE (bsc#1104427 FATE#326416). - RDMA/hns: Update the usage of sr_max and rr_max field (bsc#1104427 FATE#326416). - RDMA/hns: Add rq inline data support for hip08 RoCE (bsc#1104427 FATE#326416). - RDMA/hns: Add detailed comments for mb() call (bsc#1104427 FATE#326416). - RDMA/hns: Add eq support of hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Refactor eq code for hip06 (bsc#1104427 FATE#326416). - RDMA/hns: Get rid of page operation after dma_alloc_coherent (bsc#1104427 FATE#326416). - RDMA/hns: Get rid of virt_to_page and vmap calls after dma_alloc_coherent (bsc#1104427 FATE#326416). - RDMA/hns: Fix the issue of IOVA not page continuous in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Modify the usage of cmd_sn in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Unify the calculation for hem index in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Set the owner field of SQWQE in hip08 RoCE (bsc#1104427 FATE#326416). - RDMA/hns: Add sq_invld_flg field in QP context (bsc#1104427 FATE#326416). - RDMA/hns: Update the usage of ack timeout in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Set sq_cur_sge_blk_addr field in QPC in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Enable the cqe field of sqwqe of RC (bsc#1104427 FATE#326416). - RDMA/hns: Set se attribute of sqwqe in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Configure fence attribute in hip08 RoCE (bsc#1104427 FATE#326416). - RDMA/hns: Configure TRRL field in hip08 RoCE device (bsc#1104427 FATE#326416). - RDMA/hns: Update calculation of irrl_ba field for hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Configure sgid type for hip08 RoCE (bsc#1104427 FATE#326416). - RDMA/hns: Generate gid type of RoCEv2 (bsc#1104427 FATE#326416). - RDMA/hns: Add rereg mr support for hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Add modify CQ support for hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Update the PD&CQE&MTT specification in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Update the IRRL table chunk size in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Support WQE/CQE/PBL page size configurable feature in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: fix spelling mistake: "Reseved" -> "Reserved" (bsc#1104427 FATE#326416). - IB/hns: Declare local functions 'static' (bsc#1104427 FATE#326416). - IB/hns: Annotate iomem pointers correctly (bsc#1104427 FATE#326416). - RDMA/hns: return 0 rather than return a garbage status value (bsc#1104427 FATE#326416). - RDMA/hns: Fix calltrace for sleeping in atomic (bsc#1104427 FATE#326416). - RDMA/hns: Don't unregister a callback we didn't register (bsc#1104427 FATE#326416). - RDMA/hns: Avoid NULL pointer exception (bsc#1104427 FATE#326416). - RDMA/hns: Set rdma_ah_attr type for querying qp (bsc#1104427 FATE#326416). - RDMA/hns: Only assign dest_qp if IB_QP_DEST_QPN bit is set (bsc#1104427 FATE#326416). - RDMA/hns: Check return value of kzalloc (bsc#1104427 FATE#326416). - RDMA/hns: Refactor code for readability (bsc#1104427 FATE#326416). - RDMA/hns: Modify the value with rd&dest_rd of qp_attr (bsc#1104427 FATE#326416). - RDMA/hns: remove redundant assignment to variable j (bsc#1104427 FATE#326416). - RDMA/hns: make various function static, fixes warnings (bsc#1104427 FATE#326416). - RDMA/hns: Delete the unnecessary initializing enum to zero (bsc#1104427 FATE#326416). - RDMA/hns: Fix inconsistent warning (bsc#1104427 FATE#326416). - RDMA/hns: Replace condition statement using hardware version information (bsc#1104427 FATE#326416). - RDMA/hns: Add releasing resource operation in error branch (bsc#1104427 FATE#326416). - RDMA/hns: Configure the MTPT in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Add support for processing send wr and receive wr (bsc#1104427 FATE#326416). - RDMA/hns: Add QP operations support for hip08 SoC (bsc#1104427 FATE#326416). - RDMA/hns: Add CQ operations support for hip08 RoCE driver (bsc#1104427 FATE#326416). - RDMA/hns: Configure mac&gid and user access region for hip08 RoCE driver (bsc#1104427 FATE#326416). - RDMA/hns: Support multi hop addressing for PBL in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Split CQE from MTT in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Update the interfaces for MTT/CQE multi hop addressing in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Configure BT BA and BT attribute for the contexts in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Add the interfaces to support multi hop addressing for the contexts in hip08 (bsc#1104427 FATE#326416). - RDMA/hns: Add mailbox's implementation for hip08 RoCE driver (bsc#1104427 FATE#326416). - RDMA/hns: Add profile support for hip08 driver (bsc#1104427 FATE#326416). - RDMA/hns: Add command queue support for hip08 RoCE driver (bsc#1104427 FATE#326416). - RDMA/hns: Modify assignment device variable to support both PCI device and platform device (bsc#1104427 FATE#326416). - RDMA/hns: Initialize the PCI device for hip08 RoCE (bsc#1104427 FATE#326416). - RDMA/hns: Move priv in order to add multiple hns_roce support (bsc#1104427 FATE#326416). - RDMA/hns: Split hw v1 driver from hns roce driver (bsc#1104427 FATE#326416). - IB/hns: Avoid compile test under non 64bit environments (bsc#1104427 FATE#326416). - IB/hns: include linux/interrupt.h (bsc#1104427 FATE#326416). - IB/hns: fix semicolon.cocci warnings (bsc#1104427 FATE#326416). - IB/hns: fix returnvar.cocci warnings (bsc#1104427 FATE#326416). - IB/hns: fix boolreturn.cocci warnings (bsc#1104427 FATE#326416). - IB/hns: Support compile test for hns RoCE driver (bsc#1104427 FATE#326416). - IB/hns: fix memory leak on ah on error return path (bsc#1104427 FATE#326416). - IB/hns: Fix for checkpatch.pl comment style warnings (bsc#1104427 FATE#326416). - IB/hns: Fix the bug with modifying the MAC address without removing the driver (bsc#1104427 FATE#326416). - IB/hns: Fix the bug with rdma operation (bsc#1104427 FATE#326416). - IB/hns: Fix the bug with wild pointer when destroy rc qp (bsc#1104427 FATE#326416). - IB/hns: Fix the bug of polling cq failed for loopback Qps (bsc#1104427 FATE#326416). Refresh patches.suse/0001-IB-hns-checking-for-IS_ERR-instead-of-NULL.patch. - commit 869c294- supported.conf: added hns3 modules - commit 7f097bf- scsi: qla4xxx: Use dma_pool_zalloc() (bsc#1086331). - scsi: qla4xxx: Move an array from a .h into a .c file (bsc#1086331). - scsi: qla4xxx: Remove unused symbols (bsc#1086331). - scsi: qla4xxx: skip error recovery in case of register disconnect (bsc#1086331). - scsi: qla4xxx: Use zeroing allocator rather than allocator/memset (bsc#1086331). - commit fc896bf- scsi: qedf: Send the driver state to MFW (bsc#1086317). - scsi: qedf: Update version number to 8.33.16.20 (bsc#1086317). - scsi: qedf: Update copyright for 2018 (bsc#1086317). - scsi: qedf: Add more defensive checks for concurrent error conditions (bsc#1086317). - scsi: qedf: Set the UNLOADING flag when removing a vport (bsc#1086317). - scsi: qedf: Add additional checks when restarting an rport due to ABTS timeout (bsc#1086317). - scsi: qedf: If qed fails to enable MSI-X fail PCI probe (bsc#1086317). - scsi: qedf: Honor default_prio module parameter even if DCBX does not converge (bsc#1086317). - scsi: qedf: Improve firmware debug dump handling (bsc#1086317). - scsi: qedf: Remove setting DCBX pending during soft context reset (bsc#1086317). - scsi: qedf: Add task id to kref_get_unless_zero() debug messages when flushing requests (bsc#1086317). - scsi: qedf: Check if link is already up when receiving a link up event from qed (bsc#1086317). - scsi: qedf: Return request as DID_NO_CONNECT if MSI-X is not enabled (bsc#1086317). - scsi: qedf: Release RRQ reference correctly when RRQ command times out (bsc#1086317). - scsi: qedf: Honor priority from DCBX FCoE App tag (bsc#1086317). - scsi: qedf: Add dcbx_not_wait module parameter so we won't wait for DCBX convergence to start discovery (bsc#1086317). - scsi: qedf: Sanity check FCoE/FIP priority value to make sure it's between 0 and 7 (bsc#1086317). - scsi: qedf: Add check for offload before flushing I/Os for target (bsc#1086317). - scsi: qedf: Fix VLAN display when printing sent FIP frames (bsc#1086317). - scsi: qedf: Add missing skb frees in error path (bsc#1086317). - scsi: qedf: Increase the number of default FIP VLAN request retries to 60 (bsc#1086317). - scsi: qedf: Synchronize rport restarts when multiple ELS commands time out (bsc#1086317). - qedf: Add get_generic_tlv_data handler (bsc#1086317). - qedf: Add support for populating ethernet TLVs (bsc#1086317). - scsi: qedf: use correct strncpy() size (bsc#1086317). - scsi: qedf: fix LTO-enabled build (bsc#1086317). - scsi: qedf: remove redundant initialization of 'fcport' (bsc#1086317). - commit be37185- kabi/severities: Allow kABI changes for kvm/x86 (except for kvm_x86_ops) - commit 66e926d- Update config files. Enabled HNS3 ethernet drivers - commit 5759ff3- net: hns3: Optimize PF CMDQ interrupt switching process (bsc#1104353 FATE#326415). - net: hns3: Fix for VF mailbox receiving unknown message (bsc#1104353 FATE#326415). - net: hns3: Fix for VF mailbox cannot receiving PF response (bsc#1104353 FATE#326415). - net: hns3: remove unused hclgevf_cfg_func_mta_filter (bsc#1104353 FATE#326415). - net: hns3: Optimize the VF's process of updating multicast MAC (bsc#1104353 FATE#326415). - net: hns3: Optimize the PF's process of updating multicast MAC (bsc#1104353 FATE#326415). - net: hns3: Fix for vxlan tx checksum bug (bsc#1104353 FATE#326415). - net: hns3: Add missing break in misc_irq_handle (bsc#1104353 FATE#326415). - net: hns3: Fix for phy not link up problem after resetting (bsc#1104353 FATE#326415). - net: hns3: Fix for hclge_reset running repeatly problem (bsc#1104353 FATE#326415). - net: hns3: Fix for service_task not running problem after resetting (bsc#1104353 FATE#326415). - net: hns3: Fix setting mac address error (bsc#1104353 FATE#326415). - net: hns3: Add repeat address checking for setting mac address (bsc#1104353 FATE#326415). - net: hns3: Add support for IFF_ALLMULTI flag (bsc#1104353 FATE#326415). - net: hns3: Disable vf vlan filter when vf vlan table is full (bsc#1104353 FATE#326415). - net: hns3: Fixes initalization of RoCE handle and makes it conditional (bsc#1104353 FATE#326415). - net: hns3: Adds support for led locate command for copper port (bsc#1104353 FATE#326415). - net: hns3: Remove unused led control code (bsc#1104353 FATE#326415). - net: hns3: Clear TX/RX rings when stopping port & un-initializing client (bsc#1104353 FATE#326415). - net: hns3: Removes unnecessary check when clearing TX/RX rings (bsc#1104353 FATE#326415). - net: hns3: Fixes the init of the VALID BD info in the descriptor (bsc#1104353 FATE#326415). - net: hns3: Fixes the state to indicate client-type initialization (bsc#1104353 FATE#326415). - net: hns3: Fix for PF mailbox receving unknown message (bsc#1104353 FATE#326415). - net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) (bsc#1104353 FATE#326415). - net: hns3: Add STRP_TAGP field support for hardware revision 0x21 (bsc#1104353 FATE#326415). - net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config (bsc#1104353 FATE#326415). - net: hns3: Updates RX packet info fetch in case of multi BD (bsc#1104353 FATE#326415). - net: hns3: Fix for CMDQ and Misc. interrupt init order problem (bsc#1104353 FATE#326415). - net: hns3: Fixes kernel panic issue during rmmod hns3 driver (bsc#1104353 FATE#326415). - net: hns3: Fix for netdev not running problem after calling net_stop and net_open (bsc#1104353 FATE#326415). - net: hns3: Use enums instead of magic number in hclge_is_special_opcode (bsc#1104353 FATE#326415). - net: hns3: Fix for hns3 module is loaded multiple times problem (bsc#1104353 FATE#326415). - net: hns3: Fix the missing client list node initialization (bsc#1104353 FATE#326415). - net: hns3: cleanup of return values in hclge_init_client_instance() (bsc#1104353 FATE#326415). - net: hns3: Fixes API to fetch ethernet header length with kernel default (bsc#1104353 FATE#326415). - net: hns3: Fixes error reported by Kbuild and internal review (bsc#1104353 FATE#326415). - net: hns3: Fixes the missing PCI iounmap for various legs (bsc#1104353 FATE#326415). - net: hns3: Add support of .sriov_configure in HNS3 driver (bsc#1104353 FATE#326415). - net: hns3: Fix for fiber link up problem (bsc#1104353 FATE#326415). - net: hns3: Fixes the back pressure setting when sriov is enabled (bsc#1104353 FATE#326415). - net: hns3: Change return value in hnae3_register_client (bsc#1104353 FATE#326415). - net: hns3: Change return type of hnae3_register_ae_algo (bsc#1104353 FATE#326415). - net: hns3: Change return type of hnae3_register_ae_dev (bsc#1104353 FATE#326415). - net: hns3: Add a check for client instance init state (bsc#1104353 FATE#326415). - net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed (bsc#1104353 FATE#326415). - net: hns3: Fix for deadlock problem occurring when unregistering ae_algo (bsc#1104353 FATE#326415). - net: hns3: refactor the loopback related function (bsc#1104353 FATE#326415). - net: hns3: fix for cleaning ring problem (bsc#1104353 FATE#326415). - net: hns3: remove add/del_tunnel_udp in hns3_enet module (bsc#1104353 FATE#326415). - net: hns3: Fix for setting mac address when resetting (bsc#1104353 FATE#326415). - net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver (bsc#1104353 FATE#326415). - net: hns3: Remove packet statistics in the range of 8192~12287 (bsc#1104353 FATE#326415). - net: hns3: Fix for packet loss due wrong filter config in VLAN tbls (bsc#1104353 FATE#326415). - net: hns3: fix a dead loop in hclge_cmd_csq_clean (bsc#1104353 FATE#326415). - net: hns3: Fix to support autoneg only for port attached with phy (bsc#1104353 FATE#326415). - net: hns3: fix for phy_addr error in hclge_mac_mdio_config (bsc#1104353 FATE#326415). - net: hns3: Fixes the error legs in hclge_init_ae_dev function (bsc#1104353 FATE#326415). - net: hns3: Fixes the out of bounds access in hclge_map_tqp (bsc#1104353 FATE#326415). - net: hns3: fix to correctly fetch l4 protocol outer header (bsc#1104353 FATE#326415). - net: hns3: Remove error log when getting pfc stats fails (bsc#1104353 FATE#326415). - net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES (bsc#1104353 FATE#326415). - net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree() (bsc#1104353 FATE#326415). - net: hns3: never send command queue message to IMP when reset (bsc#1104353 FATE#326415). - net: hns3: fix for not initializing VF rss_hash_key problem (bsc#1104353 FATE#326415). - net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo (bsc#1104353 FATE#326415). - net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size (bsc#1104353 FATE#326415). - net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size (bsc#1104353 FATE#326415). - net: hns3: hclge_inform_reset_assert_to_vf() can be static (bsc#1104353 FATE#326415). - net: hns3: Changes required in PF mailbox to support VF reset (bsc#1104353 FATE#326415). - net: hns3: Add *Asserting Reset* mailbox message & handling in VF (bsc#1104353 FATE#326415). - net: hns3: Changes to support ARQ(Asynchronous Receive Queue) (bsc#1104353 FATE#326415). - net: hns3: Add support to re-initialize the hclge device (bsc#1104353 FATE#326415). - net: hns3: Add support to reset the enet/ring mgmt layer (bsc#1104353 FATE#326415). - net: hns3: Add support to request VF Reset to PF (bsc#1104353 FATE#326415). - net: hns3: Add VF Reset device state and its handling (bsc#1104353 FATE#326415). - net: hns3: Add VF Reset Service Task to support event handling (bsc#1104353 FATE#326415). - net: hns3: Changes to make enet watchdog timeout func common for PF/VF (bsc#1104353 FATE#326415). - net: hns3: fix for not returning problem in get_link_ksettings when phy exists (bsc#1104353 FATE#326415). - net: hns3: add querying speed and duplex support to VF (bsc#1104353 FATE#326415). - net: hns3: add get_link support to VF (bsc#1104353 FATE#326415). - net: hns3: fix for getting wrong link mode problem (bsc#1104353 FATE#326415). - net: hns3: change the time interval of int_gl calculating (bsc#1104353 FATE#326415). - net: hns3: change GL update rate (bsc#1104353 FATE#326415). - net: hns3: increase the max time for IMP handle command (bsc#1104353 FATE#326415). - net: hns3: export pci table of hclge and hclgevf to userspace (bsc#1104353 FATE#326415). - net: hns3: fix for vlan table lost problem when resetting (bsc#1104353 FATE#326415). - net: hns3: fix the VF queue reset flow error (bsc#1104353 FATE#326415). - net: hns3: reallocate tx/rx buffer after changing mtu (bsc#1104353 FATE#326415). - net: hns3: add result checking for VF when modify unicast mac address (bsc#1104353 FATE#326415). - net: hns3: add existence checking before adding unicast mac address (bsc#1104353 FATE#326415). - net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status() (bsc#1104353 FATE#326415). - net: hns3: fix error type definition of return value (bsc#1104353 FATE#326415). - net: hns3: fix for buffer overflow smatch warning (bsc#1104353 FATE#326415). - net: hns3: fix for loopback failure when vlan filter is enable (bsc#1104353 FATE#326415). - net: hns3: add support for querying pfc puase packets statistic (bsc#1104353 FATE#326415). - net: hns3: fix rx path skb->truesize reporting bug (bsc#1104353 FATE#326415). - net: hns3: unify the pause params setup function (bsc#1104353 FATE#326415). - net: hns3: fix for ipv6 address loss problem after setting channels (bsc#1104353 FATE#326415). - net: hns3: fix for netdev not running problem after calling net_stop and net_open (bsc#1104353 FATE#326415). - net: hns3: add existence check when remove old uc mac address (bsc#1104353 FATE#326415). - net: hns3: fix for coal configuation lost when setting the channel (bsc#1104353 FATE#326415). - net: hns3: refactor the coalesce related struct (bsc#1104353 FATE#326415). - net: hns3: fix for coalesce configuration lost during reset (bsc#1104353 FATE#326415). - net: hns3: refactor the get/put_vector function (bsc#1104353 FATE#326415). - net: hns3: fix for use-after-free when setting ring parameter (bsc#1104353 FATE#326415). - net: hns3: fix for pause configuration lost during reset (bsc#1104353 FATE#326415). - net: hns3: fix for RSS configuration loss problem during reset (bsc#1104353 FATE#326415). - net: hns3: refactor the hclge_get/set_rss_tuple function (bsc#1104353 FATE#326415). - net: hns3: refactor the hclge_get/set_rss function (bsc#1104353 FATE#326415). - net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info (bsc#1104353 FATE#326415). - net: hns3: set the max ring num when alloc netdev (bsc#1104353 FATE#326415). - net: hns3: fix the queue id for tqp enable&&reset (bsc#1104353 FATE#326415). - net: hns3: fix endian issue when PF get mbx message flag (bsc#1104353 FATE#326415). - net: hns3: set the cmdq out_vld bit to 0 after used (bsc#1104353 FATE#326415). - net: hns3: VF should get the real rss_size instead of rss_size_max (bsc#1104353 FATE#326415). - net: hns3: add int_gl_idx setup for VF (bsc#1104353 FATE#326415). - net: hns3: add get/set_coalesce support to VF (bsc#1104353 FATE#326415). - net: hns3: converting spaces into tabs to avoid checkpatch.pl warning (bsc#1104353 FATE#326415). - net: hns3: add net status led support for fiber port (bsc#1104353 FATE#326415). - net: hns3: add ethtool -p support for fiber port (bsc#1104353 FATE#326415). - net: hns3: add manager table initialization for hardware (bsc#1104353 FATE#326415). - net: hns3: add support for get_regs (bsc#1104353 FATE#326415). - net: hns3: check for NULL function pointer in hns3_nic_set_features (bsc#1104353 FATE#326415). - net: hns3: add feature check when feature changed (bsc#1104353 FATE#326415). - net: hns3: add int_gl_idx setup for TX and RX queues (bsc#1104353 FATE#326415). - net: hns3: change the unit of GL value macro (bsc#1104353 FATE#326415). - net: hns3: remove unused GL setup function (bsc#1104353 FATE#326415). - net: hns3: refactor GL update function (bsc#1104353 FATE#326415). - net: hns3: refactor interrupt coalescing init function (bsc#1104353 FATE#326415). - net: hns3: add ethtool_ops.set_coalesce support to PF (bsc#1104353 FATE#326415). - net: hns3: add ethtool_ops.get_coalesce support to PF (bsc#1104353 FATE#326415). - net: hns3: remove TSO config command from VF driver (bsc#1104353 FATE#326415). - net: hns3: add ethtool_ops.get_channels support for VF (bsc#1104353 FATE#326415). - net: hns3: report the function type the same line with hns3_nic_get_stats64 (bsc#1104353 FATE#326415). - net: hns3: Add more packet size statisctics (bsc#1104353 FATE#326415). - net: hns3: remove redundant semicolon (bsc#1104353 FATE#326415). - net: hns3: fix for not setting pause parameters (bsc#1104353 FATE#326415). - net: hns3: add MTU initialization for hardware (bsc#1104353 FATE#326415). - net: hns3: fix for changing MTU (bsc#1104353 FATE#326415). - net: hns3: fix for setting MTU (bsc#1104353 FATE#326415). - net: hns3: fix for updating fc_mode_last_time (bsc#1104353 FATE#326415). - net: hns3: Fix a response data read error of tqp statistics query (bsc#1104353 FATE#326415). - net: hns3: Remove a useless member of struct hns3_stats (bsc#1104353 FATE#326415). - net: hns3: Fix an error macro definition of HNS3_TQP_STAT (bsc#1104353 FATE#326415). - net: hns3: Fix a loop index error of tqp statistics query (bsc#1104353 FATE#326415). - net: hns3: Fix an error of total drop packet statistics (bsc#1104353 FATE#326415). - net: hns3: Mask the packet statistics query when NIC is down (bsc#1104353 FATE#326415). - net: hns3: Modify the update period of packet statistics (bsc#1104353 FATE#326415). - net: hns3: Remove repeat statistic of rx_errors (bsc#1104353 FATE#326415). - net: hns3: Fix spelling errors (bsc#1104353 FATE#326415). - net: hns3: Unify the strings display of packet statistics (bsc#1104353 FATE#326415). - net: hns3: Disable VFs change rxvlan offload status (bsc#1104353 FATE#326415). - net: hns3: Add ethtool interface for vlan filter (bsc#1104353 FATE#326415). - net: hns3: hns3_get_channels() can be static (bsc#1104353 FATE#326415). - net: hns3: change TM sched mode to TC-based mode when SRIOV enabled (bsc#1104353 FATE#326415). - net: hns3: Increase the default depth of bucket for TM shaper (bsc#1104353 FATE#326415). - net: hns3: add support for querying advertised pause frame by ethtool ethx (bsc#1104353 FATE#326415). - net: hns3: add Asym Pause support to phy default features (bsc#1104353 FATE#326415). - net: hns3: add support to update flow control settings after autoneg (bsc#1104353 FATE#326415). - net: hns3: add support for set_pauseparam (bsc#1104353 FATE#326415). - net: hns3: fix for getting auto-negotiation state in hclge_get_autoneg (bsc#1104353 FATE#326415). - net: hns3: cleanup mac auto-negotiation state query (bsc#1104353 FATE#326415). - net: hns3: add handling vlan tag offload in bd (bsc#1104353 FATE#326415). - net: hns3: add ethtool related offload command (bsc#1104353 FATE#326415). - net: hns3: add vlan offload config command (bsc#1104353 FATE#326415). - net: hns3: add a mask initialization for mac_vlan table (bsc#1104353 FATE#326415). - net: hns3: get rss_size_max from configuration but not hardcode (bsc#1104353 FATE#326415). - net: hns3: free the ring_data structrue when change tqps (bsc#1104353 FATE#326415). - net: hns3: change the returned tqp number by ethtool -x (bsc#1104353 FATE#326415). - net: hns3: add support to modify tqps number (bsc#1104353 FATE#326415). - net: hns3: add support to query tqps number (bsc#1104353 FATE#326415). - net: hns3: Add mailbox interrupt handling to PF driver (bsc#1104353 FATE#326415). - net: hns3: Change PF to add ring-vect binding & resetQ to mailbox (bsc#1104353 FATE#326415). - net: hns3: Add mailbox support to PF driver (bsc#1104353 FATE#326415). - net: hns3: Unified HNS3 {VF|PF} Ethernet Driver for hip08 SoC (bsc#1104353 FATE#326415). - net: hns3: Add HNS3 VF driver to kernel build framework (bsc#1104353 FATE#326415). - net: hns3: Add HNS3 VF HCL(Hardware Compatibility Layer) Support (bsc#1104353 FATE#326415). - net: hns3: Add mailbox support to VF driver (bsc#1104353 FATE#326415). - net: hns3: Add HNS3 VF IMP(Integrated Management Proc) cmd interface (bsc#1104353 FATE#326415). - net: hns3: Refactors the requested reset & pending reset handling code (bsc#1104353 FATE#326415). - net: hns3: Add reset service task for handling reset requests (bsc#1104353 FATE#326415). - net: hns3: Refactor of the reset interrupt handling logic (bsc#1104353 FATE#326415). - net: hns3: Updates MSI/MSI-X alloc/free APIs(depricated) to new APIs (bsc#1104353 FATE#326415). - net: hns3: cleanup mac auto-negotiation state query in hclge_update_speed_duplex (bsc#1104353 FATE#326415). - net: hns3: fix a bug when getting phy address from NCL_config file (bsc#1104353 FATE#326415). - net: hns3: fix a bug for phy supported feature initialization (bsc#1104353 FATE#326415). - net: hns3: add support for nway_reset (bsc#1104353 FATE#326415). - net: hns3: add support for set_link_ksettings (bsc#1104353 FATE#326415). - net: hns3: fix a bug in hns3_driv_to_eth_caps (bsc#1104353 FATE#326415). - net: hns3: fix for getting advertised_caps in hns3_get_link_ksettings (bsc#1104353 FATE#326415). - net: hns3: fix for getting autoneg in hns3_get_link_ksettings (bsc#1104353 FATE#326415). - net: hns3: hns3:fix a bug about statistic counter in reset process (bsc#1104353 FATE#326415). - net: hns3: Fix a misuse to devm_free_irq (bsc#1104353 FATE#326415). - net: hns3: Add reset interface implementation in client (bsc#1104353 FATE#326415). - net: hns3: Add timeout process in hns3_enet (bsc#1104353 FATE#326415). - net: hns3: Add reset process in hclge_main (bsc#1104353 FATE#326415). - net: hns3: Add support for misc interrupt (bsc#1104353 FATE#326415). - net: hns3: Refactor the initialization of command queue (bsc#1104353 FATE#326415). - net: hns3: Refactor mac_init function (bsc#1104353 FATE#326415). - net: hns3: Refactor the mapping of tqp to vport (bsc#1104353 FATE#326415). - net: hns3: remove a couple of redundant assignments (bsc#1104353 FATE#326415). - net: hns3: fix the bug when reuse command description in hclge_add_mac_vlan_tbl (bsc#1104353 FATE#326415). - net: hns3: fix a bug in hclge_uninit_client_instance (bsc#1104353 FATE#326415). - net: hns3: add nic_client check when initialize roce base information (bsc#1104353 FATE#326415). - net: hns3: fix the bug of hns3_set_txbd_baseinfo (bsc#1104353 FATE#326415). - net: hns3: fix a bug about hns3_clean_tx_ring (bsc#1104353 FATE#326415). - net: hns3: remove redundant memset when alloc buffer (bsc#1104353 FATE#326415). - net: hns3: fix the TX/RX ring.queue_index in hns3_ring_get_cfg (bsc#1104353 FATE#326415). - net: hns3: get vf count by pci_sriov_get_totalvfs (bsc#1104353 FATE#326415). - net: hns3: fix the ops check in hns3_get_rxnfc (bsc#1104353 FATE#326415). - net: hns3: fix the bug when map buffer fail (bsc#1104353 FATE#326415). - net: hns3: fix a bug when alloc new buffer (bsc#1104353 FATE#326415). - net: hns3: Add mac loopback selftest support in hns3 driver (bsc#1104353 FATE#326415). - net: hns3: Refactor the skb receiving and transmitting function (bsc#1104353 FATE#326415). - net: hns3: make local functions static (bsc#1104353 FATE#326415). - net: hns3: fix the ring count for ETHTOOL_GRXRINGS (bsc#1104353 FATE#326415). - net: hns3: add support for ETHTOOL_GRXFH (bsc#1104353 FATE#326415). - net: hns3: add support for set_rxnfc (bsc#1104353 FATE#326415). - net: hns3: add support for set_ringparam (bsc#1104353 FATE#326415). - net: hns3: fixes the ring index in hns3_fini_ring (bsc#1104353 FATE#326415). - net: hns3: Cleanup for non-static function in hns3 driver (bsc#1104353 FATE#326415). - net: hns3: Cleanup for endian issue in hns3 driver (bsc#1104353 FATE#326415). - net: hns3: Cleanup for struct that used to send cmd to firmware (bsc#1104353 FATE#326415). - net: hns3: Consistently using GENMASK in hns3 driver (bsc#1104353 FATE#326415). - net: hns3: Cleanup indentation for Kconfig in the the hisilicon folder (bsc#1104353 FATE#326415). - net: hns3: Add hns3_get_handle macro in hns3 driver (bsc#1104353 FATE#326415). - net: hns3: Cleanup for shifting true in hns3 driver (bsc#1104353 FATE#326415). - net: hns3: fix null pointer dereference before null check (bsc#1104353 FATE#326415). - net: hns3: Add DCB support when interacting with network stack (bsc#1104353 FATE#326415). - net: hns3: Setting for fc_mode and dcb enable flag in TM module (bsc#1104353 FATE#326415). - net: hns3: Add dcb netlink interface for the support of DCB feature (bsc#1104353 FATE#326415). - net: hns3: Add hclge_dcb module for the support of DCB feature (bsc#1104353 FATE#326415). - net: hns3: Add some interface for the support of DCB feature (bsc#1104353 FATE#326415). - net: hns3: Add tc-based TM support for sriov enabled port (bsc#1104353 FATE#326415). - net: hns3: Add support for port shaper setting in TM module (bsc#1104353 FATE#326415). - net: hns3: Add support for PFC setting in TM module (bsc#1104353 FATE#326415). - net: hns3: Add support for dynamically buffer reallocation (bsc#1104353 FATE#326415). - net: hns3: Support for dynamically assigning tx buffer to TC (bsc#1104353 FATE#326415). - net: hns3: Fix an error handling path in 'hclge_rss_init_hw()' (bsc#1104353 FATE#326415). - net: hns3: Fix for pri to tc mapping in TM (bsc#1104353 FATE#326415). - net: hns3: Fix for setting rss_size incorrectly (bsc#1104353 FATE#326415). - net: hns3: Fix typo error for feild in hclge_tm (bsc#1104353 FATE#326415). - net: hns3: Fix for rx priv buf allocation when DCB is not supported (bsc#1104353 FATE#326415). - net: hns3: Fix for rx_priv_buf_alloc not setting rx shared buffer (bsc#1104353 FATE#326415). - net: hns3: Fix for not setting rx private buffer size to zero (bsc#1104353 FATE#326415). - net: hns3: Fix for DEFAULT_DV when dev doesn't support DCB (bsc#1104353 FATE#326415). - net: hns3: Fix initialization when cmd is not supported (bsc#1104353 FATE#326415). - net: hns3: Cleanup for ROCE capability flag in ae_dev (bsc#1104353 FATE#326415). - net: hns3: Fixes the premature exit of loop when matching clients (bsc#1104353 FATE#326415). - net: hns3: Fixes the default VLAN-id of PF (bsc#1104353 FATE#326415). - net: hns3: Fixes the ether address copy with appropriate API (bsc#1104353 FATE#326415). - net: hns3: Fixes the initialization of MAC address in hardware (bsc#1104353 FATE#326415). - net: hns3: Fixes ring-to-vector map-and-unmap command (bsc#1104353 FATE#326415). - net: hns3: Fixes the command used to unmap ring from vector (bsc#1104353 FATE#326415). - net: hns3: Fixes initialization of phy address from firmware (bsc#1104353 FATE#326415). - net: hns3: Fixes the wrong IS_ERR check on the returned phydev value (bsc#1104353 FATE#326415). - net: hns3: Add support to change MTU in HNS3 hardware (bsc#1104353 FATE#326415). - net: hns3: fix a handful of spelling mistakes (bsc#1104353 FATE#326415). - net: hns3: Fixes the static check warning due to missing unsupp L3 proto check (bsc#1104353 FATE#326415). - net: hns3: Fixes the static checker error warning in hns3_get_link_ksettings() (bsc#1104353 FATE#326415). - net: hns3: Fixes the missing u64_stats_fetch_begin_irq in 64-bit stats fetch (bsc#1104353 FATE#326415). - net: hns3: ensure media_type is unitialized (bsc#1104353 FATE#326415). - hns3pf: Fix some harmless copy and paste bugs (bsc#1104353 FATE#326415). - hns3pf: fix hns3_del_tunnel_port() (bsc#1104353 FATE#326415). - net: hns3: fix spelling mistake: "capabilty" -> "capability" (bsc#1104353 FATE#326415). - hns3: fix unused function warning (bsc#1104353 FATE#326415). - commit 0a43e3f- Re-sort powerpc Spectre patches. - Refresh patches.arch/powerpc-64s-Add-support-for-a-store-forwarding-barri.patch. - Refresh patches.arch/powerpc-64s-Add-support-for-ori-barrier_nospec-patch.patch. - commit 01a5251- media: rc: oops in ir_timer_keyup after device unplug (bsc#1090888). - commit 3663882- powerpc/64: Add GENERIC_CPU support for little endian (FATE#325836). - Update config files. - commit c8b744b- blacklist.conf: the patch changes the API - commit c6dbfea- scsi: mpt3sas: Update driver version "26.100.00.00" (bsc#1086906,FATE#324923). - scsi: mpt3sas: As per MPI-spec, use combined reply queue for SAS3.5 controllers when HBA supports more than 16 MSI-x vectors (bsc#1086906,FATE#324923). - scsi: mpt3sas: Fix, False timeout prints for ioctl and other internal commands during controller reset (bsc#1086906,FATE#324923). - scsi: mpt3sas: Don't access the structure after decrementing it's instance reference count (bsc#1086906,FATE#324923). - scsi: mpt3sas: Incorrect command status was set/marked as not used (bsc#1086906,FATE#324923). - scsi: mpt3sas: Don't abort I/Os issued to NVMe drives while processing Async Broadcast primitive event (bsc#1086906,FATE#324923). - commit 60a6371- scsi: mpt3sas: Add an I/O barrier (bsc#1086906,FATE#324923). - scsi: mpt3sas: Update driver version "25.100.00.00" (bsc#1086906,FATE#324923). - scsi: mpt3sas: fix possible memory leak (bsc#1086906,FATE#324923). - scsi: mpt3sas: For NVME device, issue a protocol level reset (bsc#1086906,FATE#324923). - scsi: mpt3sas: Update MPI Headers (bsc#1086906,FATE#324923). - scsi: mpt3sas: Report Firmware Package Version from HBA Driver (bsc#1086906,FATE#324923). - scsi: mpt3sas: Cache enclosure pages during enclosure add (bsc#1086906,FATE#324923). - scsi: mpt3sas: Allow processing of events during driver unload (bsc#1086906,FATE#324923). - scsi: mpt3sas: Increase event log buffer to support 24 port HBA's (bsc#1086906,FATE#324923). - scsi: mpt3sas: Added support for SAS Device Discovery Error Event (bsc#1086906,FATE#324923). - scsi: mpt3sas: Enhanced handling of Sense Buffer (bsc#1086906,FATE#324923). - scsi: mpt3sas: Optimize I/O memory consumption in driver (bsc#1086906,FATE#324923). - scsi: mpt3sas: Lockless access for chain buffers (bsc#1086906,FATE#324923). - scsi: mpt3sas: Pre-allocate RDPQ Array at driver boot time (bsc#1086906,FATE#324923). - scsi: mpt3sas: Bug fix for big endian systems (bsc#1086906,FATE#324923). - scsi: mpt3sas: fix spelling mistake: "disbale" -> "disable" (bsc#1086906,FATE#324923). - scsi: mpt3sas: clarify mmio pointer types (bsc#1086906,FATE#324923). - commit 840c968- scsi: mpt3sas: Introduce Base function for cloning (bsc#1086906,FATE#324923). - scsi: mpt3sas: Introduce function to clone mpi reply (bsc#1086906,FATE#324923). - scsi: mpt3sas: Introduce function to clone mpi request (bsc#1086906,FATE#324923). - Refresh patches.fixes/scsi-mpt3sas-Do-not-use-32-bit-atomic-request-descri.patch. - commit 9ba5e2b- scsi: mpt3sas: Introduce API to get BAR0 mapped buffer address (bsc#1086906,FATE#324923). - scsi: mpt3sas: Configure reply post queue depth, DMA and sgl tablesize (bsc#1086906,FATE#324923). - scsi: mpt3sas: Add PCI device ID for Andromeda (bsc#1086906,FATE#324923). - commit 4557764- scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM (bsc#1086906,FATE#324923). - commit c0b5a3a- Fix arm64 breakage with this_cput_write() (bsc#1089343 CVE-2018-3646). - commit 059d25d- selftests/powerpc: Fix ptrace-pkey for default execute permission change (bsc#1097577). - selftests/powerpc: Fix core-pkey for default execute permission change (bsc#1097577). - powerpc/pkeys: make protection key 0 less special (bsc#1097577). - powerpc/pkeys: Preallocate execute-only key (bsc#1097577). - powerpc/pkeys: Fix calculation of total pkeys (bsc#1097577). - powerpc/pkeys: Save the pkey registers before fork (bsc#1097577). - powerpc/pkeys: key allocation/deallocation must not change pkey registers (bsc#1097577). - powerpc/pkeys: Deny read/write/execute by default (bsc#1097577). - powerpc/pkeys: Give all threads control of their key permissions (bsc#1097577). - commit f0b072f- scsi: mpt3sas: Replace PCI pool old API (bsc#1081917). - Refresh patches.drivers/scsi-mpt3sas-SGL-to-PRP-Translation-for-I-Os-to-NVMe.patch. - commit 02a8fdb- scsi: qla2xxx: remove irq save in qla2x00_poll() (bsc#1086327,FATE#324903). - commit f20c572- kabi/severities: ignore qla2xxx as all symbols are internal - commit 1d5e8aa- Refresh patches.drivers/net-sched-get-rid-of-struct-tc_to_netdev.patch. - commit e72cc42- Refresh patches.drivers/net-sched-change-return-value-of-ndo_setup_tc-for-dr.patch. - commit 9aa4a5b- Refresh patches.drivers/net-sched-push-cls-related-args-into-cls_common-stru.patch. - commit a721468- hns3pf: don't check handle during mqprio offload (bsc#1104353 FATE#326415). - commit b715ab5- Refresh patches.drivers/net-sched-make-type-an-argument-for-ndo_setup_tc.patch. - commit e316e44- net: hns3: Add HNS3 driver to kernel build framework & MAINTAINERS (bsc#1104353 FATE#326415). - net: hns3: Add Ethtool support to HNS3 driver (bsc#1104353 FATE#326415). - net: hns3: Add MDIO support to HNS3 Ethernet driver for hip08 SoC (bsc#1104353 FATE#326415). - net: hns3: Add support of TX Scheduler & Shaper to HNS3 driver (bsc#1104353 FATE#326415). - net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support (bsc#1104353 FATE#326415). - net: hns3: Add HNS3 IMP(Integrated Mgmt Proc) Cmd Interface Support (bsc#1104353 FATE#326415). - net: hns3: Add support of the HNAE3 framework (bsc#1104353 FATE#326415). - net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC (bsc#1104353 FATE#326415). - commit aacbe50- patches.fixes/reiserfs-fix-buffer-overflow-with-long-warning-messa.patch: Silence bogus compiler warning about unused result of strscpy(). - commit 7a69014- scsi: qla2xxx: Fix crash on qla2x00_mailbox_command (bsc#1086327,FATE#324903). - commit b3b8f71- scsi: qla2xxx: Fix setting lower transfer speed if GPSC fails (bsc#1086327,FATE#324903). - commit 85edfd0- scsi: qla2xxx: Update driver version to 10.00.00.07-k (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix TMF and Multi-Queue config (bsc#1086327,FATE#324903). - scsi: qla2xxx: Prevent relogin loop by removing stale code (bsc#1086327,FATE#324903). - commit f6a2423- scsi: qla2xxx: Remove stale debug value for login_retry flag (bsc#1086327,FATE#324903). - scsi: qla2xxx: Use predefined get_datalen_for_atio() inline function (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix Inquiry command being dropped in Target mode (bsc#1086327,FATE#324903). - scsi: qla2xxx: Move GPSC and GFPNID out of session management (bsc#1086327,FATE#324903). - commit 209318f- scsi: qla2xxx: Reduce redundant ADISC command for RSCNs (bsc#1086327,FATE#324903). - commit cfaf492- Refresh patches.drivers/qla2xxx-Fix-Async-GPN_FT-for-FCP-and-FC-NVMe-scan.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-FC-NVMe-LUN-discovery.patch. - commit a88ab76- qed: Make some functions static (bsc#1086314 FATE#324886). - qed: remove redundant functions qed_get_cm_pq_idx_rl (bsc#1086314 FATE#324886). - qed: remove redundant functions qed_set_gft_event_id_cm_hdr (bsc#1086314 FATE#324886). - qede: Add driver callbacks for eeprom module query (bsc#1086314 FATE#324886). - qed: Add qed APIs for PHY module query (bsc#1086314 FATE#324886). - qed: remove redundant pointer 'name' (bsc#1086314 FATE#324886). - qed: fix spelling mistake "successffuly" -> "successfully" (bsc#1086314 FATE#324886). - RDMA/qedr: Fix NULL pointer dereference when running over iWARP without RDMA-CM (bsc#1086314 FATE#324886). - RDMA/qedr: fix spelling mistake: "adrresses" -> "addresses" (bsc#1086314 FATE#324886). - RDMA/qedr: fix spelling mistake: "failes" -> "fails" (bsc#1086314 FATE#324886). - qed*: Utilize FW 8.37.2.0 (bsc#1086314 FATE#324886). - qed: use dma_zalloc_coherent instead of allocator/memset (bsc#1086314 FATE#324886). - qed: Add srq core support for RoCE and iWARP (bsc#1086314 FATE#324886). - qed*: Add link change count value to ethtool statistics display (bsc#1086314 FATE#324886). - commit e41194d- Refresh patches.drivers/scsi-lpfc-Correct-LCB-ACCept-payload.patch. - Refresh patches.drivers/scsi-lpfc-Fix-ELS-abort-on-SLI-3-adapters.patch. - Refresh patches.drivers/scsi-lpfc-Fix-driver-crash-when-re-registering-NVME-.patch. - Refresh patches.drivers/scsi-lpfc-Fix-list-corruption-on-the-completion-queu.patch. - Refresh patches.drivers/scsi-lpfc-Fix-sysfs-Speed-value-on-CNA-ports.patch. - Refresh patches.drivers/scsi-lpfc-Limit-tracking-of-tgt-queue-depth-in-fast-.patch. - Refresh patches.drivers/scsi-lpfc-Remove-lpfc_enable_pbde-as-module-paramete.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.6.patch. - Refresh patches.fixes/nvme-use-hw-qid-in-trace-events.patch. Update seriers sorting - commit 05b54b9- ext4: fix check to prevent initializing reserved inodes (bsc#1104319). - commit 3986094- scsi: qla2xxx: Fix Rport and session state getting out of sync (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix sending ADISC command for login (bsc#1086327,FATE#324903). - scsi: qla2xxx: Correct setting of SAM_STAT_CHECK_CONDITION (bsc#1086327,FATE#324903). - scsi: qla2xxx: correctly shift host byte (bsc#1086327,FATE#324903). - scsi: qla2xxx: Fix race condition between iocb timeout and initialisation (bsc#1086327,FATE#324903). - commit 426fe6a- kabi; ip: drop IPSTATS_MIB_REASM_OVERLAPS (bsc#1103097, CVE-2018-5391). - commit 6b61716- xfs: catch inode allocation state mismatch corruption (bsc#1104211). - commit 5512909- bpf, ppc64: fix unexpected r0=0 exit path inside bpf_xadd (bsc#1083647). - commit d914487- dm writecache: support optional offset for start of device (bsc#1101116,fate#324698). - dm writecache: use 2-factor allocator arguments (bsc#1101116,fate#324698). - commit 82142d5- dm: add writecache target (bsc#1101116,fate#324697). - Update config files to add CONFIG_DM_WRITECACHE=m - supported.conf: add drivers/md/dm-writecache - commit 1d27f06- overflow.h: Add allocation size calculation helpers (bsc#1101116,fate#324698). - commit d2ae9ee- compiler.h: enable builtin overflow checkers and add fallback code (bsc#1101116,fate#324698). - branch-check: fix long->int truncation when profiling branches (bsc#1101116,fate#324698). - commit 66925e5- EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[] (bsc#1103886). - commit 05dc898- hotplug/pmt: Update topology after PMT (FATE#325308). - mobility/numa: Ensure numa update does not overlap (FATE#325308). - hotplug/cpu: Provide CPU readd operation (FATE#325308). - hotplug/cpu: Add operation queuing function (FATE#325308). - hotplug/cpu: Conditionally acquire/release DRC index (FATE#325308). - commit fe4b5e8- clk: at91: fix clk-generated compilation (bsc#1051510). - commit fe89fab- ibmvnic: Update firmware error reporting with cause string (bsc#1104174). - ibmvnic: Remove code to request error information (bsc#1104174). - ibmvnic: Revise RX/TX queue error messages (bsc#1101331). - commit ad29e0c- Delete patches.suse/0201-dax-dm-allow-device-mapper-to-operate-without-dax-su.patch (bsc#1103917). - commit 34be890- linvdimm, pmem: Preserve read-only setting for pmem devices (git-fixes). - commit 4caf4e0- scsi: smartpqi: bump driver version to 1.1.4-130 (bsc#1086274). - scsi: smartpqi: fix critical ARM issue reading PQI index registers (bsc#1086274). - scsi: smartpqi: add inspur advantech ids (bsc#1086274). - scsi: smartpqi: improve error checking for sync requests (bsc#1086274). - scsi: smartpqi: improve handling for sync requests (bsc#1086274). - scsi: smartpqi: update driver version (bsc#1086274). - scsi: smartpqi: workaround fw bug for oq deletion (bsc#1086274). - scsi: smartpqi: add in new supported controllers (bsc#1086274). - commit 16b2418- nvme: use hw qid in trace events (bsc#1102633). - nvme-fabrics: Ignore nr_io_queues option for discovery controllers (bsc#1102633). - commit 7585e24- nvme.h: fixup ANA group descriptor format (bsc#1104111). - commit 8716981- libnvdimm, dimm: fix dpa reservation vs uninitialized label area (git-fixes). - commit 19be07d- scsi: lpfc: update driver version to 12.0.0.6 (bsc#1102658). - scsi: lpfc: Remove lpfc_enable_pbde as module parameter (bsc#1102658). - scsi: lpfc: Correct LCB ACCept payload (bsc#1102658). - scsi: lpfc: Limit tracking of tgt queue depth in fast path (bsc#1102658). - scsi: lpfc: Fix driver crash when re-registering NVME rports (bsc#1102658). - scsi: lpfc: Fix list corruption on the completion queue (bsc#1102658). - scsi: lpfc: Fix sysfs Speed value on CNA ports (bsc#1102658). - scsi: lpfc: Fix ELS abort on SLI-3 adapters (bsc#1102658). - commit 7874701- scripts/git_sort/git_sort.py: Update SCSI branches from mkp - commit 9ef0360- scsi: lpfc: Revise copyright for new company language (bsc#1102658). - scsi: lpfc: update driver version to 12.0.0.5 (bsc#1102658). - scsi: lpfc: devloss timeout race condition caused null pointer reference (bsc#1102658). - scsi: lpfc: Fix NVME Target crash in defer rcv logic (bsc#1102658). - scsi: lpfc: Support duration field in Link Cable Beacon V1 command (bsc#1102658). - scsi: lpfc: Make PBDE optimizations configurable (bsc#1102658). - scsi: lpfc: Fix abort error path for NVMET (bsc#1102658). - scsi: lpfc: Fix panic if driver unloaded when port is offline (bsc#1102658). - scsi: lpfc: Fix driver not setting dpp bits correctly in doorbell word (bsc#1102658). - scsi: lpfc: Add Buffer overflow check, when nvme_info larger than PAGE_SIZE (bsc#1102658). - commit 76d7dc2- Update config files: update vanilla config accordingly, too - commit 85e24ed- nvme: fixup crash on failed discovery (bsc#1103920). - commit 62c671b- Enable / support pinctrl-lewisburg (FATE#325120) - commit a75e7c4- pinctrl: intel: Add Intel Lewisburg GPIO support (FATE#325120). - commit 8bbee0b- Refresh patches.kabi/kabi-fixup-bdev_dax_supported.patch. Fix build with CONFIG_FS_DAX=n - commit 5e2991a- kabi/severities: don't complain on hisi_sas internal changes (FATE#326253). - commit 1886299- scsi: hisi_sas: Mark PHY as in reset for nexus reset (FATE#326253). - scsi: hisi_sas: Fix return value when get_free_slot() failed (FATE#326253). - scsi: hisi_sas: Terminate STP reject quickly for v2 hw (FATE#326253). - scsi: hisi_sas: Add v2 hw force PHY function for internal ATA command (FATE#326253). - scsi: hisi_sas: Include TMF elements in struct hisi_sas_slot (FATE#326253). - scsi: hisi_sas: Try wait commands before before controller reset (FATE#326253). - scsi: hisi_sas: Init disks after controller reset (FATE#326253). - scsi: hisi_sas: Create a scsi_host_template per HW module (FATE#326253). - scsi: hisi_sas: Reset disks when discovered (FATE#326253). - scsi: hisi_sas: Add LED feature for v3 hw (FATE#326253). - scsi: hisi_sas: Change common allocation mode of device id (FATE#326253). - scsi: hisi_sas: change slot index allocation mode (FATE#326253). - scsi: hisi_sas: Introduce hisi_sas_phy_set_linkrate() (FATE#326253). - scsi: hisi_sas: fix a typo in hisi_sas_task_prep() (FATE#326253). - scsi: hisi_sas: add check of device in hisi_sas_task_exec() (FATE#326253). - scsi: hisi_sas: Use device lock to protect slot alloc/free (FATE#326253). - scsi: hisi_sas: Don't lock DQ for complete task sending (FATE#326253). - scsi: hisi_sas: allocate slot buffer earlier (FATE#326253). - scsi: hisi_sas: make return type of prep functions void (FATE#326253). - scsi: hisi_sas: relocate smp sg map (FATE#326253). - scsi: hisi_sas: workaround a v3 hw hilink bug (FATE#326253). - scsi: hisi_sas: add readl poll timeout helper wrappers (FATE#326253). - scsi: hisi_sas: remove redundant handling to event95 for v3 (FATE#326253). - scsi: hisi_sas: config ATA de-reset as an constrained command for v3 hw (FATE#326253). - scsi: hisi_sas: update PHY linkrate after a controller reset (FATE#326253). - scsi: hisi_sas: stop controller timer for reset (FATE#326253). - scsi: hisi_sas: check sas_dev gone earlier in hisi_sas_abort_task() (FATE#326253). - scsi: hisi_sas: fix PI memory size (FATE#326253). - scsi: hisi_sas: check host frozen before calling "done" function (FATE#326253). - scsi: hisi_sas: Add some checks to avoid free'ing a sas_task twice (FATE#326253). - scsi: hisi_sas: optimise the usage of DQ locking (FATE#326253). - scsi: hisi_sas: remove some unneeded structure members (FATE#326253). - scsi: hisi_sas: print device id for errors (FATE#326253). - scsi: hisi_sas: check IPTT is valid before using it for v3 hw (FATE#326253). - scsi: hisi_sas: consolidate command check in hisi_sas_get_ata_protocol() (FATE#326253). - scsi: hisi_sas: use dma_zalloc_coherent() (FATE#326253). - scsi: hisi_sas: delete timer when removing hisi_sas driver (FATE#326253). - scsi: hisi_sas: update RAS feature for later revision of v3 HW (FATE#326253). - scsi: hisi_sas: make SAS address of SATA disks unique (FATE#326253). - commit 159d1e6- cachefiles: Wait rather than BUG'ing on "Unexpected object collision" (bsc#1099858). - cachefiles: Fix missing clear of the CACHEFILES_OBJECT_ACTIVE flag (bsc#1099858). - fscache: Fix reference overput in fscache_attach_object() error handling (bsc#1099858). - cachefiles: Fix refcounting bug in backing-file read monitoring (bsc#1099858). - fscache: Allow cancelled operations to be enqueued (bsc#1099858). - commit c298ec1- scsi: hisi_sas: Remove depends on HAS_DMA in case of platform dependency (FATE#326253). - scsi: hisi_sas: add v3 hw MODULE_DEVICE_TABLE() (FATE#326253). - scsi: hisi_sas: modify some register config for hip08 (FATE#326253). - scsi: hisi_sas: Code cleanup and minor bug fixes (FATE#326253). - scsi: hisi_sas: fix return value of hisi_sas_task_prep() (FATE#326253). - scsi: hisi_sas: remove unused variable hisi_sas_devices.running_req (FATE#326253). - scsi: hisi_sas: increase timer expire of internal abort task (FATE#326253). - scsi: hisi_sas: fix the issue of setting linkrate register (FATE#326253). - scsi: hisi_sas: fix the issue of link rate inconsistency (FATE#326253). - scsi: hisi_sas: support the property of signal attenuation for v2 hw (FATE#326253). - scsi: hisi_sas: dt-bindings: add an property of signal attenuation (FATE#326253). - commit 7f7691c- delayacct: fix crash in delayacct_blkio_end() after delayacct init failure (bsc#1104066). - commit 133b2fe- dm: prevent DAX mounts if not supported (bsc#1103917). - Refresh patches.kabi/kabi-fixup-bdev_dax_supported.patch. - commit 4a4646d- pmem: only set QUEUE_FLAG_DAX for fsdax mode (bsc#1103917). - commit 9fd6076- kabi protect bdev_dax_supported (bsc#1103917). - commit f675f2c- Update patches.arch/KVM-PPC-Check-if-IOMMU-page-is-contained-in-the-pinn.patch (bsc#1077761, git-fixes, bsc#1103948, bsc#1103949). - commit 0c63421- fs: allow per-device dax status checking for filesystems (bsc#1103917). - Refresh patches.fixes/dax-check-for-queue_flag_dax-in-bdev_dax_supported.patch. - Refresh patches.suse/xfs-unsupported-features.patch. - commit d80ad0b- scsi: hisi_sas: re-add the lldd_port_deformed() (FATE#326253). - Refresh patches.drivers/scsi-hisi_sas-directly-attached-disk-LED-feature-for.patch. - commit 196be3a- scsi: ata: enhance the definition of SET MAX feature field value (FATE#326253). - commit 44511b6- scsi: hisi_sas: fix a bug in hisi_sas_dev_gone() (FATE#326253). - scsi: hisi_sas: make local symbol host_attrs static (FATE#326253). - scsi: hisi_sas: Change frame type for SET MAX commands (FATE#326253). - scsi: hisi_sas: add v3 hw suspend and resume (FATE#326253). - scsi: hisi_sas: fix SAS_QUEUE_FULL problem while running IO (FATE#326253). - scsi: hisi_sas: add internal abort dev in some places (FATE#326253). - scsi: hisi_sas: judge result of internal abort (FATE#326253). - scsi: hisi_sas: do link reset for some CHL_INT2 ints (FATE#326253). - scsi: hisi_sas: use an general way to delay PHY work (FATE#326253). - scsi: hisi_sas: add v2 hw port AXI error handling support (FATE#326253). - scsi: hisi_sas: improve int_chnl_int_v2_hw() consistency with v3 hw (FATE#326253). - scsi: hisi_sas: add some print to enhance debugging (FATE#326253). - scsi: hisi_sas: add RAS feature for v3 hw (FATE#326253). - scsi: hisi_sas: change ncq process for v3 hw (FATE#326253). - scsi: hisi_sas: add an mechanism to do reset work synchronously (FATE#326253). - scsi: hisi_sas: modify hisi_sas_dev_gone() for reset (FATE#326253). - scsi: hisi_sas: some optimizations of host controller reset (FATE#326253). - scsi: hisi_sas: optimise port id refresh function (FATE#326253). - scsi: hisi_sas: relocate clearing ITCT and freeing device (FATE#326253). - scsi: hisi_sas: fix dma_unmap_sg() parameter (FATE#326253). - scsi: hisi_sas: initialize dq spinlock before use (FATE#326253). - commit a512149- iwlwifi: add more card IDs for 9000 series (bsc#1051510). - commit ca74914- mm/kmemleak.c: make cond_resched() rate-limiting more efficient (bsc#1051510). - commit a56377a- misc: pci_endpoint_test: Avoid triggering a BUG() (bsc#1051510). - commit c061d00- ibmasm: don't write out of bounds in read handler (bsc#1051510). - commit 7843972- clk: renesas: cpg-mssr: Stop using printk format %pCr (bsc#1051510). - commit b9a1e6f- irqchip/gic-v3: Ignore disabled ITS nodes (bsc#1051510). - commit a143ca9- irqchip/qcom: Fix check for spurious interrupts (bsc#1051510). - irqchip/gic: Take lock when updating irq type (bsc#1051510). - irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq() (bsc#1051510). - irqchip/gic-v3: Change pr_debug message to pr_devel (bsc#1051510). - irqchip/gic-v3: Fix the driver probe() fail due to disabled GICC entry (bsc#1051510). - irqchip/qcom: Fix u32 comparison with value less than zero (bsc#1051510). - irqchip: brcmstb-l2: Define an irq_pm_shutdown function (bsc#1051510). - commit 557df2b- can: ems_usb: Fix memory leak on ems_usb_disconnect() (bsc#1051510). - can: dev: increase bus-off message severity (bsc#1051510). - can: m_can: change comparison to bitshift when dealing with a mask (bsc#1051510). - commit d662b35- kbuild: Handle builtin dtb file names containing hyphens (bsc#1051510). - kconfig: display recursive dependency resolution hint just once (bsc#1051510). - kbuild: add '-fno-stack-check' to kernel build options (bsc#1051510). - kbuild: pkg: use --transform option to prefix paths in tar (bsc#1051510). - coccinelle: fix parallel build with CHECK=scripts/coccicheck (bsc#1051510). - commit b792f1f- audit: fix potential null dereference 'context->module.name' (bsc#1051510). - commit 402d9a9- ARM: davinci: board-omapl138-hawk: fix GPIO numbers for MMC/SD lookup (bsc#1051510). - commit 8e85a14- kmemleak: add scheduling point to kmemleak_scan() (bsc#1051510). - commit 465515e- sctp: introduce sctp_dst_mtu (git-fixes). - commit 2d90b81- ipv6: defrag: drop non-last frags smaller than min mtu (CVE-2018-5391 bsc#1103097). - ip: discard IPv4 datagrams with overlapping segments (CVE-2018-5391 bsc#1103097). - ipv4: frags: handle possible skb truesize change (CVE-2018-5391 bsc#1103097). - inet: frag: enforce memory limits earlier (CVE-2018-5391 bsc#1103097). - commit 232ab4a- sctp: fix the issue that pathmtu may be set lower than MINSEGMENT (git-fixes). - commit 53fce18- ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD (bsc#1051510). - ARM: 8764/1: kgdb: fix NUMREGBYTES so that gdb_regs[] is the correct size (bsc#1051510). - ARM: amba: Fix wrong indentation in driver_override_store() (bsc#1051510). - ARM: 8772/1: kprobes: Prohibit kprobes on get_user functions (bsc#1051510). - ARM: 8771/1: kprobes: Prohibit kprobes on do_undefinstr (bsc#1051510). - ARM: 8770/1: kprobes: Prohibit probing on optimized_callback (bsc#1051510). - ARM: 8769/1: kprobes: Fix to use get_kprobe_ctlblk after irq-disabed (bsc#1051510). - sysrq : fix Show Regs call trace on ARM (bsc#1051510). - commit 9ceb779- arm: spear13xx: Fix dmas cells (bsc#1051510). - commit cb84639- ARM: kexec: fix kdump register saving on panic() (bsc#1051510). - ARM: 8758/1: decompressor: restore r1 and r2 just before jumping to the kernel (bsc#1051510). - ARM: 8753/1: decompressor: add a missing parameter to the addruart macro (bsc#1051510). - ARM: davinci: board-dm646x-evm: set VPIF capture card name (bsc#1051510). - ARM: davinci: board-dm646x-evm: pass correct I2C adapter id for VPIF (bsc#1051510). - ARM: davinci: dm646x: fix timer interrupt generation (bsc#1051510). - ARM: keystone: fix platform_domain_notifier array overrun (bsc#1051510). - ARM: OMAP2+: powerdomain: use raw_smp_processor_id() for trace (bsc#1051510). - ARM: davinci: board-dm355-evm: fix broken networking (bsc#1051510). - ARM: davinci: board-da850-evm: fix GPIO lookup for MMC/SD (bsc#1051510). - ARM: davinci: board-da830-evm: fix GPIO lookup for MMC/SD (bsc#1051510). - ARM: amba: Fix race condition with driver_override (bsc#1051510). - ARM: amba: Make driver_override output consistent with other buses (bsc#1051510). - ARM: socfpga_defconfig: Remove QSPI Sector 4K size force (bsc#1051510). - ARM: OMAP: Fix SRAM W+X mapping (bsc#1051510). - ARM: OMAP: Fix dmtimer init for omap1 (bsc#1051510). - ARM: davinci: fix the GPIO lookup for omapl138-hawk (bsc#1051510). - ARM: 8748/1: mm: Define vdso_start, vdso_end as array (bsc#1051510). - ARM: 8746/1: vfp: Go back to clearing vfp_current_hw_state[] (bsc#1051510). - ARM: orion5x: Revert commit 4904dbda41c8 (bsc#1051510). - ARM: orion: fix orion_ge00_switch_board_info initialization (bsc#1051510). - ARM: OMAP1: clock: Fix debugfs_create_*() usage (bsc#1051510). - ARM: OMAP3: Fix prm wake interrupt for resume (bsc#1051510). - ARM: OMAP2+: timer: fix a kmemleak caused in omap_get_timer_dt (bsc#1051510). - ARM: mvebu: Fix broken PL310_ERRATA_753970 selects (bsc#1051510). - ARM: kvm: fix building with gcc-8 (bsc#1051510). - ARM: 8743/1: bL_switcher: add MODULE_LICENSE tag (bsc#1051510). - ARM: pxa/tosa-bt: add MODULE_LICENSE tag (bsc#1051510). - ARM: sunxi_defconfig: Enable CMA (bsc#1051510). - commit 6f47878- ARM: davinci: fix mmc entries in dm365's dma_slave_map (bsc#1051510). - ARM: davinci: Add dma_mask to dm365's eDMA device (bsc#1051510). - ARM: davinci: Use platform_device_register_full() to create pdev for dm365's eDMA (bsc#1051510). - ARM: 8731/1: Fix csum_partial_copy_from_user() stack mismatch (bsc#1051510). - ARM: omap2: hide omap3_save_secure_ram on non-OMAP3 builds (bsc#1051510). - ARM: OMAP3: hwmod_data: add missing module_offs for MMC3 (bsc#1051510). - ARM: AM33xx: PRM: Remove am33xx_pwrdm_read_prev_pwrst function (bsc#1051510). - ARM: OMAP2+: Fix SRAM virt to phys translation for save_secure_ram_context (bsc#1051510). - ARM: avoid faulting on qemu (bsc#1051510). - ARM: BUG if jumping to usermode address in kernel mode (bsc#1051510). - ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE (bsc#1051510). - ARM: 8721/1: mm: dump: check hardware RO bit for LPAE (bsc#1051510). - ARM: sunxi: fix the core number of V3s in sunxi README (bsc#1051510). - ARM: DRA722: remove redundant definition of 1.0 device (bsc#1051510). - arm-ccn: perf: Prevent module unload while PMU is in use (bsc#1051510). - ARM: 8720/1: ensure dump_instr() checks addr_limit (bsc#1051510). - ARM: 8715/1: add a private asm/unaligned.h (bsc#1051510). - ARM: multi_v7_defconfig: Replace DRM_RCAR_HDMI by generic bridge options (bsc#1051510). - ARM: multi_v7_defconfig: Replace SND_SOC_RSRC_CARD by SND_SIMPLE_SCU_CARD (bsc#1051510). - ARM: shmobile: defconfig: Replace DRM_RCAR_HDMI by generic bridge options (bsc#1051510). - ARM: shmobile: defconfig: Replace SND_SOC_RSRC_CARD by SND_SIMPLE_SCU_CARD (bsc#1051510). - ARM: shmobile: defconfig: Replace USB_XHCI_RCAR by USB_XHCI_PLATFORM (bsc#1051510). - ARM: shmobile: defconfig: Enable missing PCIE_RCAR dependency (bsc#1051510). - ARM: OMAP4+: PRM: fix of_irq_get() result checks (bsc#1051510). - ARM: OMAP3+: PRM: fix of_irq_get() result check (bsc#1051510). - ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq (bsc#1051510). - ARM: s3c24xx: Fix NAND ECC mode for mini2440 board (bsc#1051510). - ARM: at91: don't select CONFIG_ARM_CPU_SUSPEND for old platforms (bsc#1051510). - ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk (bsc#1051510). - ARM: pxa: select both FB and FB_W100 for eseries (bsc#1051510). - ARM: kexec: fix failure to boot crash kernel (bsc#1051510). - arm: remove wrong CONFIG_PROC_SYSCTL ifdef (bsc#1051510). - arm: fix return value of parse_cpu_capacity (bsc#1051510). - commit 5d09b7e- agp: uninorth: make two functions static (bsc#1051510). - commit 48b6c9c- af_key: Always verify length of provided sadb_key (bsc#1051510). - af_key: fix buffer overread in parse_exthdrs() (bsc#1051510). - af_key: fix buffer overread in verify_address_len() (bsc#1051510). - commit 02d1d88- typec: tcpm: Fix a msecs vs jiffies bug (bsc#1100132). - commit 3b8103d- scsi: libsas: defer ata device eh commands to libata (FATE#326253). - commit 0921606- ata: do not schedule hot plug if it is a sas host (FATE#326253). - commit 6431177- libata: ensure host is free'd on error exit paths (git-fixes). - commit 97116c3- nvme: ensure forward progress during Admin passthru (git-fixes). - Refresh patches.kabi/Revert-nvme-mark-nvme_queue_scan-static.patch. - commit 7c97e5e- KVM: SVM: Implement pause loop exit logic in SVM (fate#325533). - KVM: SVM: Add pause filter threshold (fate#325533). - KVM: VMX: Bring the common code to header file (fate#325533). - KVM: VMX: Remove ple_window_actual_max (fate#325533). - KVM: VMX: Fix the module parameters for vmx (fate#325533). - commit 077b1aa- scsi: qla2xxx: Return error when TMF returns (git-fixes). - scsi: qla2xxx: Fix driver unload by shutting down chip (git-fixes). - scsi: qla2xxx: Fix NPIV deletion by calling wait_for_sess_deletion (git-fixes). - scsi: qla2xxx: Fix unintialized List head crash (git-fixes). - scsi: qla2xxx: Fix NULL pointer dereference for fcport search (git-fixes). - sr: pass down correctly sized SCSI sense buffer (git-fixes). - scsi: qla2xxx: Avoid double completion of abort command (git-fixes). - commit 56236cf- staging: speakup: fix wraparound in uaccess length check (bsc#1051510). - pinctrl: nand: meson-gxl: fix missing data pins (bsc#1051510). - sc16is7xx: Check for an error when the clock is enabled (bsc#1051510). - commit fa6d117- nohz: Fix local_timer_softirq_pending() (bsc#1051510). - commit 2e06012- crypto: padlock-aes - Fix Nano workaround data corruption (bsc#1051510). - mfd: cros_ec: Fail early if we cannot identify the EC (bsc#1051510). - crypto: authencesn - don't leak pointers to authenc keys (bsc#1051510). - crypto: authenc - don't leak pointers to authenc keys (bsc#1051510). - ACPI / LPSS: Only call pwm_add_table() for Bay Trail PWM if PMIC HRV is 2 (bsc#1051510). - doc: Add vendor prefix for Kieback & Peter GmbH (bsc#1051510). - staging: ks7010: Use constants from ieee80211_eid instead of literal ints (bsc#1051510). - mfd: fsl-imx25: Clean up irq settings during removal (bsc#1051510). - mfd: mxs-lradc: Fix error handling in mxs_lradc_probe() (bsc#1051510). - MAINTAINERS: review Renesas DT bindings as well (bsc#1051510). - commit 6529987- blacklist.conf: add commit for APM - commit 76c48bc- KABI protect structy ata_host (git-fixes). - libata: add refcounting to ata_host (git-fixes). - commit aebfd5b- x86: Treat R_X86_64_PLT32 as R_X86_64_PC32 (binutils_2.31). - commit 42ed19e- Refresh patches.drivers/nvme-add-ANA-support.patch. - Refresh patches.drivers/nvme-move-init-of-keep_alive-work-item-to-controller.patch. - Refresh patches.drivers/nvme-remove-nvme_req_needs_failover.patch. - Refresh patches.drivers/nvme-simplify-the-API-for-getting-log-pages.patch. - Refresh patches.drivers/nvme.h-add-ANA-definitions.patch. - Refresh patches.drivers/nvme.h-add-support-for-the-log-specific-field.patch. - Refresh patches.drivers/nvmet-add-minimal-ANA-support.patch. - Refresh patches.drivers/nvmet-keep-a-port-pointer-in-nvmet_ctrl.patch. - Refresh patches.drivers/nvmet-support-configuring-ANA-groups.patch. - Refresh patches.drivers/nvmet-track-and-limit-the-number-of-namespaces-per-s.patch. - Refresh patches.drivers/nvmet-use-Retain-Async-Event-bit-to-clear-AEN.patch. - Refresh patches.fixes/nvmet-fixup-crash-on-NULL-device-path.patch. - commit 7f68ba6- hv/netvsc: fix handling of fallback to single queue mode (fate#323887). - commit bd2b0b7- hv_netvsc: split sub-channel setup into async and sync (fate#323887). - hv_netvsc: set master device (fate#323887, bsc#1051979). - hv_netvsc: Fix net device attach on older Windows hosts (fate#323887). - hv_netvsc: Ensure correct teardown message sequence order (fate#323887). - hv_netvsc: Split netvsc_revoke_buf() and netvsc_teardown_gpadl() (fate#323887). - hv_netvsc: Use Windows version instead of NVSP version on GPAD teardown (fate#323887). - commit af29dba- drm/atomic: Make atomic helper track newly assigned planes correctly, v2 (bsc#1051510). - Refresh patches.drivers/drm-atomic-Check-for-busy-planes-connectors-before-s. - commit d1408d2- drm/atomic: Make atomic iterators less surprising (bsc#1051510). - commit 3192c02- drm/vc4: Reset ->{x, y}_scaling[1] when dealing with uniplanar formats (bsc#1051510). - drm/atomic: Initialize variables in drm_atomic_helper_async_check() to make gcc happy (bsc#1051510). - drm/atomic: Check old_plane_state->crtc in drm_atomic_helper_async_check() (bsc#1051510). - drm: re-enable error handling (bsc#1051510). - commit c3cb984- drm/atomic: Make async plane update checks work as intended, v2 (bsc#1051510). - Refresh patches.drivers/drm-atomic-Check-for-busy-planes-connectors-before-s. - commit da93c7a- cpufreq: intel_pstate: Limit the scope of HWP dynamic boost platforms (bsc#1066110). - commit fb964ec- arm64: perf: correct PMUVer probing (bsc#1103727). - arm64: Disable unhandled signal log messages by default (bsc#1103724). - arm64: spinlock: Fix theoretical trylock() A-B-A with LSE atomics (bsc#1103729). - arm64: Correct type for PUD macros (bsc#1103723). - arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one (bsc#1103725). - arm64: vdso: fix clock_getres for 4GiB-aligned res (bsc#1103730). - arm64: mm: Fix set_memory_valid() declaration (bsc#1103726). - arm64: ptrace: Avoid setting compat FPR to garbage if get_user fails (bsc#1103728). - commit e9c9c2d- virtio_balloon: fix another race between migration and ballooning (bsc#1051510). - thermal: exynos: fix setting rising_threshold for Exynos5433 (bsc#1051510). - wlcore: sdio: check for valid platform device data before suspend (bsc#1051510). - tty: Fix data race in tty_insert_flip_string_fixed_flag (bsc#1051510). - usbip: usbip_detach: Fix memory, udev context and udev leak (bsc#1051510). - usb: hub: Don't wait for connect state at resume for powered-off ports (bsc#1051510). - commit b882831- spi: pxa2xx: check clk_prepare_enable() return value (bsc#1051510). - spi/bcm63xx-hspi: Enable the clock before calling clk_get_rate() (bsc#1051510). - spi: bcm2835aux: ensure interrupts are enabled for shared handler (bsc#1051510). - spi: bcm-qspi: Always read and set BSPI_MAST_N_BOOT_CTRL (bsc#1051510). - spi: bcm-qspi: Avoid setting MSPI_CDRAM_PCS for spi-nor master (bsc#1051510). - spi: pxa2xx: Allow 64-bit DMA (bsc#1051510). - spi: cadence: Add usleep_range() for cdns_spi_fill_tx_fifo() (bsc#1051510). - commit 3231b87- soc: imx: gpc: restrict register range for regmap access (bsc#1051510). - soc: imx: gpcv2: correct PGC offset (bsc#1051510). - soc: imx: gpcv2: Do not pass static memory as platform data (bsc#1051510). - soc: rockchip: power-domain: Fix wrong value when power up pd with writemask (bsc#1051510). - soc: bcm2835: Make !RASPBERRYPI_FIRMWARE dummies return failure (bsc#1051510). - soc: bcm: raspberrypi-power: Fix use of __packed (bsc#1051510). - soc: qcom: wcnss_ctrl: Fix increment in NV upload (bsc#1051510). - soc: imx: gpc: de-register power domains only if initialized (bsc#1051510). - soc: mediatek: pwrap: fix compiler errors (bsc#1051510). - drivers: soc: sunxi: fix error processing on base address when claiming (bsc#1051510). - soc/tegra: Fix bad of_node_put() in powergate init (bsc#1051510). - soc: ti: ti_sci_pm_domains: Populate name for genpd (bsc#1051510). - soc: imx: gpcv2: fix regulator deferred probe (bsc#1051510). - soc: zte: Restrict SOC_ZTE to ARCH_ZX or COMPILE_TEST (bsc#1051510). - soc/tegra: flowctrl: Fix error handling (bsc#1051510). - commit 9cb4c4a- regulator: pfuze100: add .is_enable() for pfuze100_swb_regulator_ops (bsc#1051510). - commit 6fcd164- pinctrl: at91-pio4: add missing of_node_put (bsc#1051510). - commit 88447f1- PCI: pciehp: Request control of native hotplug only if supported (bsc#1051510). - PCI: Prevent sysfs disable of device while driver is attached (bsc#1051510). - PCI: pciehp: Assume NoCompl+ for Thunderbolt ports (bsc#1051510). - commit fd4b739- mwifiex: handle race during mwifiex_usb_disconnect (bsc#1051510). - mwifiex: correct histogram data with appropriate index (bsc#1051510). - commit 213b188- mmc: dw_mmc: update actual clock for mmc debugfs (bsc#1051510). - mmc: pwrseq: Use kmalloc_array instead of stack VLA (bsc#1051510). - commit 9de6ae2- iwlwifi: pcie: fix race in Rx buffer allocator (bsc#1051510). - hippi: Fix a Fix a possible sleep-in-atomic bug in rr_close (bsc#1051510). - commit 4d9f523- HID: hid-plantronics: Re-resend Update to map button for PTT products (bsc#1051510). - HID: i2c-hid: check if device is there before really probing (bsc#1051510). - commit 5031b8e- genirq: Check __free_irq() return value for NULL (bsc#1103517). - commit 9178bf4- drm/nouveau/fifo/gk104-: poll for runlist update completion (bsc#1051510). - drm/radeon: fix mode_valid's return type (bsc#1051510). - drm/amdgpu: Remove VRAM from shared bo domains (bsc#1051510). - drm/atomic: Handling the case when setting old crtc for plane (bsc#1051510). - drm: Add DP PSR2 sink enable bit (bsc#1051510). - drm/gma500: fix psb_intel_lvds_mode_valid()'s return type (bsc#1051510). - drm/atomic-helper: Drop plane->fb references only for drm_atomic_helper_shutdown() (bsc#1051510). - drm/dp/mst: Fix off-by-one typo when dump payload table (bsc#1051510). - commit 7cea46b- brcmfmac: Add support for bcm43364 wireless chipset (bsc#1051510). - commit 0ffea14- Bluetooth: hci_qca: Fix "Sleep inside atomic section" warning (bsc#1051510). - Bluetooth: btusb: Add a new Realtek 8723DE ID 2ff8:b011 (bsc#1051510). - Bluetooth: btusb: add ID for LiteOn 04ca:301a (bsc#1051510). - commit 1558300- backlight: pwm_bl: Don't use GPIOF_* with gpiod_get_direction (bsc#1051510). - commit b690254- ath: Add regulatory mapping for FCC3_ETSIC (bsc#1051510). - ath: Add regulatory mapping for ETSI8_WORLD (bsc#1051510). - ath: Add regulatory mapping for APL13_WORLD (bsc#1051510). - ath: Add regulatory mapping for APL2_FCCA (bsc#1051510). - ath: Add regulatory mapping for Uganda (bsc#1051510). - ath: Add regulatory mapping for Tanzania (bsc#1051510). - ath: Add regulatory mapping for Serbia (bsc#1051510). - ath: Add regulatory mapping for Bermuda (bsc#1051510). - ath: Add regulatory mapping for Bahamas (bsc#1051510). - commit ef8a588- media: tw686x: Fix incorrect vb2_mem_ops GFP flags (bsc#1051510). - media: rcar_jpu: Add missing clk_disable_unprepare() on error in jpu_open() (bsc#1051510). - media: media-device: fix ioctl function types (bsc#1051510). - media: saa7164: Fix driver name in debug output (bsc#1051510). - media: siano: get rid of __le32/__le16 cast warnings (bsc#1051510). - media: si470x: fix __be16 annotations (bsc#1051510). - commit ed46958- Input: i8042 - add Lenovo LaVie Z to the i8042 reset list (bsc#1051510). - Input: elan_i2c - add another ACPI ID for Lenovo Ideapad 330-15AST (bsc#1051510). - Input: elan_i2c - add ACPI ID for lenovo ideapad 330 (bsc#1051510). - commit 5f598bb- ALSA: emu10k1: add error handling for snd_ctl_add (bsc#1051510). - ALSA: fm801: add error handling for snd_ctl_add (bsc#1051510). - ASoC: dpcm: fix BE dai not hw_free and shutdown (bsc#1051510). - ASoC: topology: Add missing clock gating parameter when parsing hw_configs (bsc#1051510). - ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format() (bsc#1051510). - ALSA: emu10k1: Rate-limit error messages about page errors (bsc#1051510). - ALSA: usb-audio: Apply rate limit to warning messages in URB complete callback (bsc#1051510). - commit 3e4eb6b- Revert "drm/nouveau/drm/therm/fan: add a fallback if no fan control is specified in the vbios" (bsc#1103356). - commit 23b40ec- rpm/config.sh: Use SUSE:SLE-15:Update project instead of GA - commit 2813d45- perf/x86/intel/uncore: Add event constraint for BDX PCU (bsc#1087202). - perf intel-pt: Always set no branch for dummy event (bsc#1087217). - perf intel-pt: Set no_aux_samples for the tracking event (bsc#1087217). - perf/x86/intel/uncore: Fix missing marker for skx_uncore_cha_extra_regs (bsc#1087233). - perf/x86/intel/uncore: Fix SKX CHA event extra regs (bsc#1087233). - perf/x86/intel/uncore: Remove invalid Skylake server CHA filter field (bsc#1087233). - perf/x86/intel/uncore: Fix Skylake server CHA LLC_LOOKUP event umask (bsc#1087233). - perf/x86/intel/uncore: Fix Skylake server PCU PMU event format (bsc#1087233). - perf/x86/intel/uncore: Fix Skylake UPI PMU event masks (bsc#1087233). - commit 9fb5cd3- kabi protect struct ccw_device_private (bsc#1103421). - commit 7037da6- tcp: add tcp_ooo_try_coalesce() helper (CVE-2018-5390 bsc#1102340). - tcp: call tcp_drop() from tcp_data_queue_ofo() (CVE-2018-5390 bsc#1102340). - tcp: detect malicious patterns in tcp_collapse_ofo_queue() (CVE-2018-5390 bsc#1102340). - tcp: avoid collapses in tcp_prune_queue() if possible (CVE-2018-5390 bsc#1102340). - tcp: free batches of packets in tcp_prune_ofo_queue() (CVE-2018-5390 bsc#1102340). - net: add rb_to_skb() and other rb tree helpers (bsc#1102340). - commit b01b19a- s390/qdio: don't release memory in qdio_setup_irq() (bsc#1103421). - s390/ipl: ensure loadparm valid flag is set (bsc#1103421). - s390/cio: clear timer when terminating driver I/O (bsc#1103421). - s390/cio: fix return code after missing interrupt (bsc#1103421). - s390/dasd: fix handling of internal requests (bsc#1103421). - s390/eadm: fix CONFIG_BLOCK include dependency (bsc#1103421). - s390/dasd: fix wrongly assigned configuration data (bsc#1103421). - s390/dasd: prevent prefix I/O error (bsc#1103421). - s390/pci: do not require AIS facility (bsc#1103421). - commit c4de01a- powerpc/64s: Clear PCR on boot (bnc#1012382). - powerpc/64s: Fix section mismatch warnings from setup_rfi_flush() (bsc#1068032, bsc#1075087, bsc#1091041). - powerpc/64: Fix smp_wmb barrier definition use use lwsync consistently (bnc#1012382). - powerpc/fadump: Unregister fadump on kexec down path (bnc#1012382). - powerpc/ptrace: Fix setting 512B aligned breakpoints with PTRACE_SET_DEBUGREG (bnc#1012382). - powerpc/mm/hash: Add missing isync prior to kernel stack SLB switch (bnc#1012382). - powerpc: Add missing prototype for arch_irq_work_raise() (bnc#1012382). - powerpc/mpic: Check if cpu_possible() in mpic_physmask() (bnc#1012382). - powerpc/powernv: Fix NVRAM sleep in invalid context when crashing (bnc#1012382). - powerpc/eeh: Fix enabling bridge MMIO windows (bnc#1012382). - powerpc/powernv: Fix OPAL NVRAM driver OPAL_BUSY loops (bnc#1012382). - powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops (bnc#1012382). - powerpc/powernv: Handle unknown OPAL errors in opal_nvram_write() (bnc#1012382). - commit 6fb06ed- s390: use expoline thunks in the BPF JIT (git-fixes, bsc#1103421). - commit 79a523e- s390: extend expoline to BC instructions (git-fixes, bsc#1103421). - commit abc1ec1- s390: Correct register corruption in critical section cleanup (git-fixes 6dd85fbb87). - commit ff9a3e3- s390: add assembler macros for CPU alternatives (git-fixes f19fbd5ed6). - commit 426746b- fix kabi due to perf_event.h uapi field change (FATE#325127). - perf/x86: Fix data source decoding for Skylake (FATE#325127). - commit 03e4225- series.conf: Sort rq ordering, load balancing and group search optimisations - Refresh patches.suse/sched-fair-Move-select_task_rq_fair-slow-path-into-its-own-function.patch. - Refresh patches.suse/sched-fair-Restructure-wake_affine-to-return-a-CPU-id.patch. - Refresh patches.suse/sched-fair-Use-a-recently-used-CPU-as-an-idle-candidate-and-the-basis-for-SIS.patch. - Refresh patches.suse/sched-fair-Use-unsigned-long-for-utilization-consistently.patch. - commit 41b48ae- sched/fair: Remove impossible condition from find_idlest_group_cpu() (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Consider RT/IRQ pressure in capacity_spare_wake() (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Use 'unsigned long' for utilization, consistently (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Fix usage of find_idlest_group() when the local group is idlest (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Fix usage of find_idlest_group() when no groups are allowed (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Fix find_idlest_group() when local group is not allowed (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Remove unnecessary comparison with -1 (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Move select_task_rq_fair() slow-path into its own function (bnc#1101669 optimise numa balancing for fast migrate). - sched/fair: Spare idle load balancing on nohz_full CPUs (bnc#1101669 optimise numa balancing for fast migrate). - commit bbd0329- s390/gs: add compat regset for the guarded storage broadcast control block (git-fixes e525f8a6e696). - commit ef8c31e- enic: do not overwrite error code (bsc#1037697). - commit 60531ee- blacklist.conf: Avoid renaming IBM z13/z14 PMU counters - commit df7d970- s390: remove indirect branch from do_softirq_own_stack (git-fixes f19fbd5ed6). - commit ea90acb- s390/kernel: use expoline for indirect branches (git-fixes f19fbd5ed6). - commit b07cbb8- s390/ftrace: use expoline for indirect branches (git-fixes f19fbd5ed6). - commit bbd06c7- s390/crc32-vx: use expoline for indirect branches (git-fixes f19fbd5ed6). - commit e803442- s390: move expoline assembler macros to a header (git-fixes f19fbd5ed6). - commit e782f00- s390: correct module section names for expoline code revert (git-fixes f19fbd5ed6). - commit d4b1943- s390/lib: use expoline for indirect branches (git-fixes f19fbd5ed6). - commit 3122123- s390: optimize memset implementation (git-fixes f19fbd5ed6). - commit 26a173c- net: cxgb3_main: fix potential Spectre v1 (bsc#1046533 FATE#322936). - IB/hfi1: Fix user context tail allocation for DMA_RTAIL (bsc#1060463 FATE#323043). - IB/isert: Fix for lib/dma_debug check_sync warning (bsc#1046306 FATE#322942). - RDMA/cma: Do not query GID during QP state transition to RTR (bsc#1046306 FATE#322942). - IB/core: Make ib_mad_client_id atomic (bsc#1046306 FATE#322942). - IB/rxe: avoid double kfree_skb (bsc#1046306 FATE#322942). - IB/rxe: add RXE_START_MASK for rxe_opcode IB_OPCODE_RC_SEND_ONLY_INV (bsc#1046306 FATE#322942). - IB/rxe: Fix for oops in rxe_register_device on ppc64le arch (bsc#1046306 FATE#322942). - RDMA/ucma: Don't allow setting RDMA_OPTION_IB_PATH without an RDMA device (bsc#1046306 FATE#322942). - IB/core: Honor port_num while resolving GID for IB link layer (bsc#1046306 FATE#322942). - RDMA/mlx5: Fix NULL dereference while accessing XRC_TGT QPs (bsc#1046305 FATE#322943). - net/mlx5: Protect from command bit overflow (bsc#1046303 FATE#322944). - enic: enable rq before updating rq descriptors (bsc#1037697). - IB/uverbs: Fix possible oops with duplicate ioctl attributes (bsc#1046306 FATE#322942). - RDMA/uverbs: Use an unambiguous errno for method not supported (bsc#1046306 FATE#322942). - commit ff4da97- qed*: Advance drivers' version to 8.33.0.20 (bsc#1086314 FATE#324886). - Refresh patches.suse/qed-bump-drivers-to-version-8.10.10.55.patch. - commit 8db21aa- acpi, nfit: Fix scrub idle detection (bsc#1094119). - Refresh patches.kabi/kabi-protect-struct-acpi_nfit_desc.patch. - commit 82e4386- of: Make of_fwnode_handle() safer (bsc#1098633). - commit cf24c8d- btrfs: Don't remove block group still has pinned down bytes (bsc#1086457). - commit 8838e79- arm64: kpti: Use early_param for kpti= command-line option (bsc#1103220). - commit 3380e30- device property: preserve usecount for node passed to of_fwnode_graph_get_port_parent() (bsc#1098633). - device property: Introduce fwnode_call_bool_op() for ops that return bool (bsc#1098633). - commit bc692e9- Fix kABI breakage for of/device change (bsc#1051510). - commit eecd28c- spi: sh-msiof: Fix bit field overflow writes to TSCR/RSCR (bsc#1051510). - spi: bcm-qspi: fIX some error handling paths (bsc#1051510). - spi: pxa2xx: Don't touch CS pin until we have a transfer pending (bsc#1051510). - spi: core: Fix devm_spi_register_master() function name in kerneldoc (bsc#1051510). - commit 9891f7b- tools/power turbostat: Correct SNB_C1/C3_AUTO_UNDEMOTE defines (bsc#1051510). - tools/thermal: tmon: fix for segfault (bsc#1051510). - tools/libbpf: handle issues with bpf ELF objects containing .eh_frames (bsc#1051510). - tools/usbip: fixes build with musl libc toolchain (bsc#1051510). - tools lib traceevent: Fix get_field_str() for dynamic strings (bsc#1051510). - tools lib traceevent: Simplify pointer print logic and fix %pF (bsc#1051510). - tools/lib/lockdep: Define the ARRAY_SIZE() macro (bsc#1051510). - tools/lib/lockdep: Fix undefined symbol prandom_u32 (bsc#1051510). - commit 698d9e9- series.conf: Sort scheduler stats optimisations - commit d6c308d- jump_label: Add branch hints to static_branch_{un,}likely() (bnc#1101669 optimise numa balancing for fast migrate). - sched/core: Optimize update_stats_*() (bnc#1101669 optimise numa balancing for fast migrate). - sched/core: Optimize ttwu_stat() (bnc#1101669 optimise numa balancing for fast migrate). - commit d188bbf- nvmet: kABI fixes for ANA support (bsc#1054245). - nvme: guard additional fields in nvme command structures (bsc#1054245). - commit 0d43d1b- of/pci: Fix theoretical NULL dereference (bsc#1051510). - of: restrict DMA configuration (bsc#1051510). - of: fix DMA mask generation (bsc#1051510). - commit 1a048c8- kabi protect fwnode_handle (bsc#1098633). - commit 47e036d- qmi_wwan: fix interface number for DW5821e production firmware (bsc#1051510). - commit 704cd75- mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable (bsc#1051510). - mmc: tmio: remove outdated comment (bsc#1051510). - commit abfc8b4- libnvdimm: add an api to cast a 'struct nd_region' to its 'struct device' (bsc#1094119). - nfit, address-range-scrub: add module option to skip initial ars (bsc#1094119). - nfit, address-range-scrub: determine one platform max_ars value (bsc#1094119). - nfit, address-range-scrub: introduce nfit_spa->ars_state (bsc#1094119). - nfit, address-range-scrub: rework and simplify ARS state machine (bsc#1094119). - Refresh patches.kabi/kabi-protect-struct-acpi_nfit_desc.patch. - commit f654227- mmc: sdhci-of-esdhc: fix the mmc error after sleep on ls1046ardb (bsc#1051510). - mmc: sdhci-of-esdhc: fix eMMC couldn't work after kexec (bsc#1051510). - mmc: sdhci-msm: fix issue with power irq (bsc#1051510). - mmc: sdhci-of-esdhc: disable SD clock for clock value 0 (bsc#1051510). - mmc: sdhci-xenon: Fix clock resource by adding an optional bus clock (bsc#1051510). - commit 52a4751- arm64: blacklist.conf: add ids - commit 6cc4ee8- nvme: kABI fix for ANA support in nvme_ctrl (bsc#1054245). - nvme: partially revert "nvme: remove nvme_req_needs_failover" (bsc#1054245). - nvme: reintruduce nvme_get_log_ext() (bsc#1054245). - commit 95a4774- device property: Introduce fwnode_device_is_available() (bsc#1098633). - device property: Move fwnode graph ops to firmware specific locations (bsc#1098633). - device property: Move FW type specific functionality to FW specific files (bsc#1098633). Refresh patches.drivers/device-property-Track-owner-device-of-device-propert.patch. - commit 38385a8- nvme: add ANA support (bsc#1054245). - nvme: remove nvme_req_needs_failover (bsc#1054245). - nvme: simplify the API for getting log pages (bsc#1054245). - nvme.h: add ANA definitions (bsc#1054245). - nvme.h: add support for the log specific field (bsc#1054245). - nvmet: add minimal ANA support (bsc#1054245). - nvmet: keep a port pointer in nvmet_ctrl (bsc#1054245). - nvmet: support configuring ANA groups (bsc#1054245). - nvmet: track and limit the number of namespaces per subsystem (1054245). - nvmet: use Retain Async Event bit to clear AEN (bsc#1054245). - nvmet: fixup crash on NULL device path (bsc#1054245). - Refresh patches.kabi/Revert-nvmet-constify-struct-nvmet_fabrics_ops.patch. - Refresh patches.kabi/nvme-kABI-fixes-for-nvme_ctrl.patch. - Refresh patches.kabi/nvme-kABI-fixes-for-nvmet.patch. - commit 34e8a34- crash_dump: is_kdump_kernel can be boolean (bsc#1103230). - commit e5aecef- rbd: flush rbd_dev->watch_dwork after watch is unregistered (bsc#1103216). - commit 4d76deb- usb: gadget: udc: renesas_usb3: disable the controller's irqs for reconnecting (bsc#1051510). - usbip: Correct maximum value of CONFIG_USBIP_VHCI_HC_PORTS (bsc#1051510). - commit fa44f7b- qmi_wwan: add support for Quectel EG91 (bsc#1051510). - qmi_wwan: add support for the Dell Wireless 5821e module (bsc#1051510). - qmi_wwan: set FLAG_SEND_ZLP to avoid network initiated disconnect (bsc#1051510). - commit 0ff68bc- Add cherry-picked id for qmi_wwan fix - commit 5ed8892- PCI: endpoint: Populate func_no before calling pci_epc_add_epf() (bsc#1051510). - Refresh patches.drivers/PCI-endpoint-Fix-find_first_zero_bit-usage. - commit 7ded3de- kABI fixes for nvme-if_ready-checks-fail-io-to-deleting-controll.patch (bsc#1077989). - nvme: if_ready checks to fail io to deleting controller (bsc#1077989). - commit d9c5619- nvme: don't enable AEN if not supported (bsc#1077989). - commit 0b65d62- PCI: shpchp: Fix AMD POGO identification (bsc#1051510). - PCI: ibmphp: Fix use-before-set in get_max_bus_speed() (bsc#1051510). - PCI: endpoint: Fix kernel panic after put_device() (bsc#1051510). - PCI: altera: Fix bool initialization in tlp_read_packet() (bsc#1051510). - PCI: exynos: Fix a potential init_clk_resources NULL pointer dereference (bsc#1051510). - PCI: faraday: Fix of_irq_get() error check (bsc#1051510). - commit de6cd97- kABI fixes for qla2xxx-Fix-inconsistent-DMA-mem-alloc-free.patch (bsc#1077989). - scsi: qla2xxx: Fix inconsistent DMA mem alloc/free (bsc#1077989). - commit 7c04ff3- block: always set partition number to '0' in blk_partition_remap() (bsc#1077989). - scsi: core: clean up generated file scsi_devinfo_tbl.c (bsc#1077989). - scsi: aacraid: Correct hba_send to include iu_type (bsc#1077989). - nvme: Fix sync controller reset return (bsc#1077989). - blk-mq: fix sysfs inflight counter (bsc#1077989). - blk-mq: count allocated but not started requests in iostats inflight (bsc#1077989). - scsi: megaraid_sas: Do not log an error if FW successfully initializes (bsc#1077989). - block: bio_check_eod() needs to consider partitions (bsc#1077989). - block: fail op_is_write() requests to read-only partitions (bsc#1077989). - block: pass 'run_queue' to blk_mq_request_bypass_insert (bsc#1077989). - block: set request_list for request (bsc#1077989). - commit 23b8135- Delete patches.drivers/block-always-set-partition-number-to-0-in-blk_partit.patch. - commit 60c43ad- scripts/git_sort/git_sort.py: Add 'nvme-4.18' to the list of repositories - commit 9c28cfd- usbip: usbip_host: refine probe and disconnect debug msgs to be useful (bsc#1051510). - Refresh patches.fixes/0001-usbip-usbip_host-fix-NULL-ptr-deref-and-use-after-fr.patch. - commit 97b064e- usbip: vhci_sysfs: fix potential Spectre v1 (bsc#1051510). - usbip: usbip_event: fix to not print kernel pointer address (bsc#1051510). - usbip: vhci_hcd: Fix usb device and sockfd leaks (bsc#1051510). - commit b4db2d8- usb: core: handle hub C_PORT_OVER_CURRENT condition (bsc#1051510). - usb: gadget: f_fs: Only return delayed status when len is 0 (bsc#1051510). - commit 2327a1e- usb: gadget: f_uac2: fix endianness of 'struct cntrl_*_lay3' (bsc#1051510). - usb: dwc2: Fix DMA alignment to start at allocated boundary (bsc#1051510). - usb: gadget: f_uac2: fix error handling in afunc_bind (again) (bsc#1051510). - usb: cdc_acm: Add quirk for Castles VEGA3000 (bsc#1051510). - usb: quirks: add delay quirks for Corsair Strafe (bsc#1051510). - commit 20fffbc- USB: serial: mos7840: fix status-register error handling (bsc#1051510). - USB: serial: cp210x: add another USB ID for Qivicon ZigBee stick (bsc#1051510). - USB: serial: ch341: fix type promotion bug in ch341_control_in() (bsc#1051510). - USB: serial: cp210x: add CESINEL device ids (bsc#1051510). - USB: serial: cp210x: add Silicon Labs IDs for Windows Update (bsc#1051510). - usb: cdc_acm: Add quirk for Uniden UBC125 scanner (bsc#1051510). - usb: dwc2: fix the incorrect bitmaps for the ports of multi_tt hub (bsc#1051510). - usb: dwc3: of-simple: fix use-after-free on remove (bsc#1051510). - usb-storage: Add compatibility quirk flags for G-Technologies G-Drive (bsc#1051510). - usb-storage: Add support for FL_ALWAYS_SYNC flag in the UAS driver (bsc#1051510). - commit e67d0c5- Add cherry-pick commit for dwc3 gadget fix - commit d52d858- usb: dwc2: debugfs: Don't touch RX FIFO during register dump (bsc#1051510). - usb: do not reset if a low-speed or full-speed device timed out (bsc#1051510). - usb: audio-v2: Correct the comment for struct uac_clock_selector_descriptor (bsc#1051510). - usb: musb: fix remote wakeup racing with suspend (bsc#1051510). - USB: serial: visor: handle potential invalid device configuration (bsc#1051510). - USB: serial: option: adding support for ublox R410M (bsc#1051510). - usb: musb: trace: fix NULL pointer dereference in musb_g_tx() (bsc#1051510). - usb: musb: host: fix potential NULL pointer dereference (bsc#1051510). - usb: dwc3: gadget: Fix list_del corruption in dwc3_ep_dequeue (bsc#1051510). - USB: serial: ftdi_sio: use jtag quirk for Arrow USB Blaster (bsc#1051510). - commit 3973b8d- USB: serial: cp210x: add ID for NI USB serial console (bsc#1051510). - USB: serial: simple: add libtransistor console (bsc#1051510). - USB: Increment wakeup count on remote wakeup (bsc#1051510). - usb: musb: gadget: misplaced out of bounds check (bsc#1051510). - USB: serial: option: reimplement interface masking (bsc#1051510). - usb: gadget: udc: core: update usb_ep_queue() documentation (bsc#1051510). - USB: gadget: f_midi: fixing a possible double-free in f_midi (bsc#1051510). - usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields (bsc#1051510). - usb: dwc3: Add SoftReset PHY synchonization delay (bsc#1051510). - usb: dwc3: pci: Properly cleanup resource (bsc#1051510). - usb: dwc3: Makefile: fix link error on randconfig (bsc#1051510). - usb: dwc3: prevent setting PRTCAP to OTG from debugfs (bsc#1051510). - usb: dwc2: host: Fix transaction errors in host mode (bsc#1051510). - usb: dwc2: hcd: Fix host channel halt flow (bsc#1051510). - usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS (bsc#1051510). - usb: gadget: ffs: Execute copy_to_user() with USER_DS set (bsc#1051510). - usb: gadget: composite: fix incorrect handling of OS desc requests (bsc#1051510). - usb: gadget: udc: change comparison to bitshift when dealing with a mask (bsc#1051510). - USB: serial: ftdi_sio: add support for Harman FirmwareHubEmulator (bsc#1051510). - commit 76b6a9f- USB: serial: cp210x: add ELDAT Easywave RX09 id (bsc#1051510). - USB: serial: ftdi_sio: add RT Systems VX-8 cable (bsc#1051510). - usb: musb: Fix external abort in musb_remove on omap2430 (bsc#1051510). - usb: host: xhci-plat: revert "usb: host: xhci-plat: enable clk in resume timing" (bsc#1051510). - usb: gadget: f_fs: Fix use-after-free in ffs_fs_kill_sb() (bsc#1051510). - usb: musb: call pm_runtime_{get,put}_sync before reading vbus registers (bsc#1051510). - usb: musb: fix enumeration after resume (bsc#1051510). - USB: gadget: udc: Add missing platform_device_put() on error in bdc_pci_probe() (bsc#1051510). - usb: dwc2: Fix dwc2_hsotg_core_init_disconnected() (bsc#1051510). - usb: gadget: fsl_udc_core: fix ep valid checks (bsc#1051510). - usb: dwc3: Fix GDBGFIFOSPACE_TYPE values (bsc#1051510). - usb: gadget: core: Fix use-after-free of usb_request (bsc#1051510). - usb: dwc3: omap: don't miss events during suspend/resume (bsc#1051510). - usb: gadget: f_fs: Use config_ep_by_speed() (bsc#1051510). - usb: gadget: f_fs: Process all descriptors during bind (bsc#1051510). - usb: dwc3: Undo PHY init if soft reset fails (bsc#1051510). - usb: gadget: f_uac2: fix bFirstInterface in composite gadget (bsc#1051510). - usb: dwc3: ep0: Reset TRB counter for ep0 IN (bsc#1051510). - usb: dwc3: gadget: Set maxpacket size for ep0 IN (bsc#1051510). - usb: ldusb: add PIDs for new CASSY devices supported by this driver (bsc#1051510). - USB: serial: option: Add support for Quectel EP06 (bsc#1051510). - usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc() (bsc#1051510). - usb: gadget: dummy: fix nonsensical comparisons (bsc#1051510). - usb: gadget: f_mass_storage: Fix the logic to iterate all common->luns (bsc#1051510). - usb: gadget: bdc: 64-bit pointer capability check (bsc#1051510). - commit 19504f6- blacklist.conf: Add renesas_usbhs path and another USB blacklist - commit a00dfed- posix-timer: Properly check sigevent->sigev_notify (CVE-2017-18344,bsc#1102851). - commit 2e3fc38- ubifs: Fix uninitialized variable in search_dh_cookie() (bsc#1051510). - commit f7dcc38- media: dvb_frontend: fix ifnullfree.cocci warnings (bsc#1051510). - commit b346b24- time: Make sure jiffies_to_msecs() preserves non-zero time periods (bsc#1051510). - timekeeping: Use proper timekeeper for debug code (bsc#1051510). - commit 74af5dd- UBIFS: Fix potential integer overflow in allocation (bsc#1051510). - ubifs: Fix unlink code wrt. double hash lookups (bsc#1051510). - ubifs: Fix data node size for truncating uncompressed nodes (bsc#1051510). - commit c67abaa- vfio/pci: Fix potential Spectre v1 (bsc#1051510). - commit eeecc47- virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS (bsc#1051510). - virtio_net: fix XDP code path in receive_small() (bsc#1051510). - virtio_net: Disable interrupts if napi_complete_done rescheduled napi (bsc#1051510). - virtio-net: fix module unloading (bsc#1051510). - commit 0602b38- wlcore: add missing nvs file name info for wilink8 (bsc#1051510). - commit 9d3f03b- nfit: fix unchecked dereference in acpi_nfit_ctl (bsc#1051510). - commit 3635c9e- dvb_frontend: don't use-after-free the frontend struct (bsc#1051510). - media: dvb-core: always call invoke_release() in fe_free() (bsc#1051510). - commit d414e4c- Move patches.drivers/ALSA-hda-realtek-Yet-another-Clevo-P950-quirk-entry into sorted section - commit 3f37656- can: xilinx_can: fix power management handling (bsc#1051510). - can: m_can.c: fix setup of CCCR register: clear CCCR NISO bit before checking can.ctrlmode (bsc#1051510). - can: peak_canfd: fix firmware < v3.3.0: limit allocation to 32-bit DMA addr only (bsc#1051510). - commit 6d335ae- batman-adv: Avoid storing non-TT-sync flags on singular entries too (bsc#1051510). - commit a98a77c- IB/mlx4: Fix an error handling path in 'mlx4_ib_rereg_user_mr()' (bsc#1046302 FATE#322945). - commit 602a3f6- blacklist.conf - commit 2ec9098- net/mlx4_core: Save the qpn from the input modifier in RST2INIT wrapper (bsc#1046300 FATE#322946). - qed: Correct Multicast API to reflect existence of 256 approximate buckets (bsc#1050536 FATE#322898). - qed: Fix possible race for the link state value (bsc#1050536 FATE#322898). - net/mlx5e: Don't allow aRFS for encapsulated packets (bsc#1046303 FATE#322944). - net/mlx5e: Fix quota counting in aRFS expire flow (bsc#1046303 FATE#322944). - net/mlx5: Adjust clock overflow work period (bsc#1046303 FATE#322944). - net/mlx4_en: Don't reuse RX page when XDP is set (bsc#1046299 FATE#322947). - qlogic: check kstrtoul() for errors (bsc#1050540 FATE#322896). - bnxt_en: Fix for system hang if request_irq fails (bsc#1050242 FATE#322914). - bnxt_en: Do not modify max IRQ count after RDMA driver requests/frees IRQs (bsc#1050242 FATE#322914). - bnxt_en: Always set output parameters in bnxt_get_max_rings() (bsc#1050242 FATE#322914). - bnxt_en: Fix inconsistent BNXT_FLAG_AGG_RINGS logic (bsc#1050242 FATE#322914). - net/sched: act_tunnel_key: fix NULL dereference when 'goto chain' is used (bsc#1056787). - IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values (bsc#1060463 FATE#323043). - RDMA/uverbs: Protect from attempts to create flows on unsupported QP (bsc#1046306 FATE#322942). - iw_cxgb4: correctly enforce the max reg_mr depth (bsc#1046543 FATE#322927). - qede: Adverstise software timestamp caps when PHC is not available (bsc#1050538 FATE#322897). - qed: Fix use of incorrect size in memcpy call (bsc#1050536 FATE#322898). - qed: Fix setting of incorrect eswitch mode (bsc#1050536 FATE#322898). - qed: Limit msix vectors in kdump kernel to the minimum required count (bsc#1050536 FATE#322898). - net/mlx5: Fix command interface race in polling mode (bsc#1046300 FATE#322946). - net/mlx5: Fix incorrect raw command length parsing (bsc#1046300 FATE#322946). - net/mlx5: Fix wrong size allocation for QoS ETC TC regitster (bsc#1046300 FATE#322946). - net/mlx5e: Don't attempt to dereference the ppriv struct if not being eswitch manager (bsc#1046300 FATE#322946). - qed: Do not advertise DCBX_LLD_MANAGED capability (bsc#1050536 FATE#322898). - qed: Add sanity check for SIMD fastpath handler (bsc#1050536 FATE#322898). - qed: Fix possible memory leak in Rx error path handling (bsc#1050536 FATE#322898). - infiniband: fix a possible use-after-free bug (bsc#1046306 FATE#322942). - IB/isert: fix T10-pi check mask setting (bsc#1046306 FATE#322942). - RDMA/mlx4: Discard unknown SQP work requests (bsc#1046302 FATE#322945). - IB/iser: Do not reduce max_sectors (bsc#1046306 FATE#322942). - IB/mlx4: Mark user MR as writable if actual virtual memory is writable (bsc#1046302 FATE#322945). - IB/core: Make testing MR flags for writability a static inline function (bsc#1046306 FATE#322942). - IB/mlx5: Fetch soft WQE's on fatal error state (bsc#1046305 FATE#322943). - RDMA/ipoib: Update paths on CLIENT_REREG/SM_CHANGE events (bsc#1046307 FATE#322941). - IB/hfi1: Fix fault injection init/exit issues (bsc#1060463 FATE#323043). - IB/hfi1: Return actual error value from program_rcvarray() (bsc#1060463 FATE#323043). - sfc: stop the TX queue before pushing new buffers (bsc#1058169 FATE#322922). - net/mlx5: Eswitch, Use 'kvfree()' for memory allocated by 'kvzalloc()' (bsc#1046303 FATE#322944). - net/mlx5: Vport, Use 'kvfree()' for memory allocated by 'kvzalloc()' (bsc#1046303 FATE#322944). - net/mlx5e: Remove redundant vport context vlan update (bsc#1046303 FATE#322944). - net/mlx5: Fix dump_command mailbox length printed (bsc#1046303 FATE#322944). - net/mlx5: Refactor num of blocks in mailbox calculation (bsc#1046303 FATE#322944). - igb: Fix queue selection on MAC filters on i210 (bsc#1056651 FATE#322191). - igb: Fix not adding filter elements to the list (bsc#1056651 FATE#322191). - IB/core: Fix error code for invalid GID entry (bsc#1046306 FATE#322942). - IB/umem: Use the correct mm during ib_umem_release (bsc#1046306 FATE#322942). - RDMA/i40iw: Avoid reference leaks when processing the AEQ (bsc#1058659 FATE#322535). - RDMA/i40iw: Avoid panic when objects are being created and destroyed (bsc#1058659 FATE#322535). - i40iw: Use correct address in dst_neigh_lookup for IPv6 (bsc#1058659 FATE#322535). - i40iw: Fix memory leak in error path of create QP (bsc#1058659 FATE#322535). - net: sched: red: avoid hashing NULL child (bsc#1056787). - net/mlx4_core: Fix error handling in mlx4_init_port_info (bsc#1046300 FATE#322946). - RDMA/iwpm: fix memory leak on map_info (bsc#1046306 FATE#322942). - RDMA/cma: Fix use after destroy access to net namespace for IPoIB (bsc#1046306 FATE#322942). - net/mlx5: Properly deal with flow counters when deleting rules (bsc#1046303 FATE#322944). - i40iw: Tear-down connection after CQP Modify QP failure (bsc#1058659 FATE#322535). - i40iw: Refactor of driver generated AEs (bsc#1058659 FATE#322535). - net/sched: fix NULL dereference in the error path of tcf_sample_init() (bsc#1056787). - commit 2fd2c4f- qed: Fix link flap issue due to mismatching EEE capabilities (bsc#1050536 FATE#322898). - net/mlx5e: Refine ets validation function (bsc#1075360). - IB/mlx5: Use 'kvfree()' for memory allocated by 'kvzalloc()' (bsc#1046305 FATE#322943). - RDMA/mlx5: Use proper spec flow label type (bsc#1046305 FATE#322943). - RDMA/mlx5: Don't assume that medium blueFlame register exists (bsc#1046305 FATE#322943). - RDMA/mlx5: Protect from shift operand overflow (bsc#1046305 FATE#322943). - RDMA/mlx5: Fix multiple NULL-ptr deref errors in rereg_mr flow (bsc#1046305 FATE#322943). - commit 3c5e0f0- nvmet-fc: fix target sgl list on large transfers (FATE#323952, FATE#322506). - nvme: fix handling of metadata_len for NVME_IOCTL_IO_CMD (FATE#323952, FATE#322506). - scsi: qla2xxx: Fix kernel crash due to late workqueue allocation (bsc#1077338). - s390/qeth: fix race when setting MAC address (bnc#1093148, LTC#167307). - s390: move spectre sysfs attribute code (bsc#1090098). - commit de2cde0- blacklist.conf: Add 'drm/nouveau: Set DRIVER_ATOMIC cap earlier to fix debugfs' - commit 4f3c523- drm/nouveau/drm/nouveau: Fix runtime PM leak in nv50_disp_atomic_commit() (bsc#1090888). - commit ab6beb7- drm/tegra: Acquire a reference to the IOVA cache (bsc#1090888). - commit 50421a8- net: mvmdio: simplify the smi read and write error paths (bsc#1098633). - net: mvmdio: add xmdio xsmi support (bsc#1098633). - net: mvmdio: check the MII_ADDR_C45 bit is not set for smi operations (bsc#1098633). - net: mvmdio: put the poll intervals in the ops structure (bsc#1098633). - net: mvmdio: introduce an ops structure (bsc#1098633). - net: mvmdio: remove duplicate locking (bsc#1098633). Refresh patches.suse/net-mvmdio-disable-unprepare-clocks-in-EPROBE_DEFER-.patch. - net: mvmdio: use GENMASK for masks (bsc#1098633). - net: mvmdio: use tabs for defines (bsc#1098633). - net: mvmdio: reorder headers alphabetically (bsc#1098633). - commit 6bef56f- driver core: Partially revert "driver core: correct device's shutdown order" (bsc#1051510). - commit 0015fab- iommu/vt-d: Clear Page Request Overflow fault bit (fate#326306). - commit 5c2fc8a- KABI: powerpc: mmu_context: provide old version of mm_iommu_ua_to_hpa (bsc#1077761, git-fixes). - commit f19fb74- audit: Fix wrong task in comparison of session ID (bsc#1051510). - audit: return on memory error to avoid null pointer dereference (bsc#1051510). - audit: ensure that 'audit=1' actually enables audit for PID 1 (bsc#1051510). - commit 7cd7838- batman-adv: Fix debugfs path for renamed softif (bsc#1051510). - batman-adv: Fix debugfs path for renamed hardif (bsc#1051510). - batman-adv: Fix bat_v best gw refcnt after netlink dump (bsc#1051510). - batman-adv: Fix bat_ogm_iv best gw refcnt after netlink dump (bsc#1051510). - batman-adv: Fix TT sync flags for intermediate TT responses (bsc#1051510). - batman-adv: Avoid race in TT TVLV allocator helper (bsc#1051510). - batman-adv: fix packet loss for broadcasted DHCP packets to a server (bsc#1051510). - batman-adv: fix multicast-via-unicast transmission with AP isolation (bsc#1051510). - batman-adv: Fix skbuff rcsum on packet reroute (bsc#1051510). - batman-adv: fix header size check in batadv_dbg_arp() (bsc#1051510). - batman-adv: update data pointers after skb_cow() (bsc#1051510). - batman-adv: Fix multicast packet loss with a single WANT_ALL_IPV4/6 flag (bsc#1051510). - batman-adv: Fix internal interface indices types (bsc#1051510). - batman-adv: Fix netlink dumping of BLA backbones (bsc#1051510). - batman-adv: Fix netlink dumping of BLA claims (bsc#1051510). - batman-adv: Ignore invalid batadv_v_gw during netlink send (bsc#1051510). - batman-adv: Ignore invalid batadv_iv_gw during netlink send (bsc#1051510). - batman-adv: invalidate checksum on fragment reassembly (bsc#1051510). - batman-adv: fix packet checksum in receive path (bsc#1051510). - batman-adv: Fix lock for ogm cnt access in batadv_iv_ogm_calc_tq (bsc#1051510). - batman-adv: Fix check of retrieved orig_gw in batadv_v_gw_is_eligible (bsc#1051510). - batman-adv: Always initialize fragment header priority (bsc#1051510). - batman-adv: fix TT sync flag inconsistencies (bsc#1051510). - batman-adv: Accept only filled wifi station info (bsc#1051510). - batman-adv: Use default throughput value on cfg80211 error (bsc#1051510). - commit 87be7cb- KEYS: DNS: fix parsing multiple options (bsc#1051510). - commit 41e75ac- Add cherry-picked id for KEYS DNS fix - commit bcaf0a3- smsc75xx: Add workaround for gigabit link up hardware errata (bsc#1051510). - serial: sh-sci: Use spin_{try}lock_irqsave instead of open coding version (bsc#1051510). - serial: sirf: Fix out-of-bounds access through DT alias (bsc#1051510). - serial: pxa: Fix out-of-bounds access through serial port index (bsc#1051510). - serial: imx: drop if that always evaluates to true (bsc#1051510). - smsc75xx: fix smsc75xx_set_features() (bsc#1051510). - staging: sm750fb: Fix parameter mistake in poke32 (bsc#1051510). - smsc95xx: Configure pause time to 0xffff when tx flow control enabled (bsc#1051510). - serial: earlycon: Only try fdt when specify 'earlycon' exactly (bsc#1051510). - serial: sh-sci: Update warning message in sci_request_dma_chan() (bsc#1051510). - commit eb9cf00- vfio/spapr: Use IOMMU pageshift rather than pagesize (bsc#1077761, git-fixes). - commit 2ffee0f- scripts/gdb/linux/tasks.py: fix get_thread_info (bsc#1051510). - scripts/kernel-doc: Don't fail with status != 0 if error encountered with -none (bsc#1051510). - scripts/dtc: fix '%zx' warning (bsc#1051510). - commit cc42476- rtc: pxa: fix probe function (bsc#1051510). - rtc: ac100: Fix ac100 determine rate bug (bsc#1051510). - commit 6ceb12c- fuse: don't keep dead fuse_conn at fuse_fill_super() (bsc#1051510). - fuse: fix control dir setup and teardown (bsc#1051510). - fuse: fix congested state leak on aborted connections (bsc#1051510). - fuse: Remove the buggy retranslation of pids in fuse_dev_do_read (bsc#1051510). - fuse: atomic_o_trunc should truncate pagecache (bsc#1051510). - commit f20a33c- staging: fbtft: array underflow in fbtft_request_gpios_match() (bsc#1051510). - commit 7b263e0- drbd: fix access after free (bsc#1051510). - drm/bridge/sii8620: fix potential buffer overflow (bsc#1051510). - dp83640: Ensure against premature access to PHY registers after reset (bsc#1051510). - commit 5a3d4a5- Add cherry-picked id for i915 patch - commit a4af68a- bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left (bsc#1051510). - bus: arm-cci: Fix use of smp_processor_id() in preemptible context (bsc#1051510). - bus: arm-ccn: Fix use of smp_processor_id() in preemptible context (bsc#1051510). - bus: arm-ccn: Check memory allocation failure (bsc#1051510). - commit fb5baef- ahci: Disable LPM on Lenovo 50 series laptops with a too old BIOS (bsc#1051510). - alx: take rtnl before calling __alx_open from resume (bsc#1051510). - staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write() (bsc#1051510). - clockevents/drivers/cs5535: Improve resilience to spurious interrupts (bsc#1051510). - cpufreq: docs: Drop intel-pstate.txt from index.txt (bsc#1051510). - cpufreq: docs: Add missing cpuinfo_cur_freq description (bsc#1051510). - commit 2fe0a57- clk: at91: PLL recalc_rate() now using cached MUL and DIV values (bsc#1051510). - clk: mvebu: use correct bit for 98DX3236 NAND (bsc#1051510). - clk: imx7d: fix mipi dphy div parent (bsc#1051510). - clk: qcom: Base rcg parent rate off plan frequency (bsc#1051510). - clk: honor CLK_MUX_ROUND_CLOSEST in generic clk mux (bsc#1051510). - clk: bcm2835: De-assert/assert PLL reset signal when appropriate (bsc#1051510). - clk: rockchip: Fix wrong parent for SDMMC phase clock for rk3228 (bsc#1051510). - clk: rockchip: Prevent calculating mmc phase if clock rate is zero (bsc#1051510). - clk: fix false-positive Wmaybe-uninitialized warning (bsc#1051510). - clk: hisilicon: fix potential NULL dereference in hisi_clk_alloc() (bsc#1051510). - clk: hisilicon: mark wdt_mux_p[] as const (bsc#1051510). - clk: Don't show the incorrect clock phase (bsc#1051510). - commit 4b2acbb- clk: samsung: exynos5250: Add missing clocks for FIMC LITE SYSMMU devices (bsc#1051510). - clk: samsung: s3c2410: Fix PLL rates (bsc#1051510). - clk: samsung: exynos7: Fix PLL rates (bsc#1051510). - clk: samsung: exynos5433: Fix PLL rates (bsc#1051510). - clk: samsung: exynos5260: Fix PLL rates (bsc#1051510). - clk: samsung: exynos5250: Fix PLL rates (bsc#1051510). - clk: samsung: exynos3250: Fix PLL rates (bsc#1051510). - clk: tegra: Fix pll_u rate configuration (bsc#1051510). - clk: meson: remove unnecessary rounding in the pll clock (bsc#1051510). - clk: fix mux clock documentation (bsc#1051510). - clk: sunxi-ng: a31: Fix CLK_OUT_* clock ops (bsc#1051510). - clk: meson: mpll: use 64-bit maths in params_from_rate (bsc#1051510). - clk: meson: gxbb: fix wrong clock for SARADC/SANA (bsc#1051510). - clk: si5351: Rename internal plls to avoid name collisions (bsc#1051510). - clk: axi-clkgen: Correctly handle nocount bit in recalc_rate() (bsc#1051510). - commit bc48bc7- clk: fix set_rate_range when current rate is out of range (bsc#1051510). - clk: qcom: msm8916: fix mnd_width for codec_digcodec (bsc#1051510). - clk: ti: dra7-atl-clock: fix child-node lookups (bsc#1051510). - clk: qcom: common: fix legacy board-clock registration (bsc#1051510). - clk: uniphier: fix DAPLL2 clock rate of Pro5 (bsc#1051510). - clk: mediatek: add the option for determining PLL source clock (bsc#1051510). - clk: mediatek: mark mtk_infrasys_init_early __init (bsc#1051510). - clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU (bsc#1051510). - clk: sunxi: fix build warning (bsc#1051510). - clk: hi3660: fix incorrect uart3 clock freqency (bsc#1051510). - clk: hi6220: mark clock cs_atb_syspll as critical (bsc#1051510). - clk: tegra: Use readl_relaxed_poll_timeout_atomic() in tegra210_clock_init() (bsc#1051510). - commit 64b2885- clk: tegra: Fix cclk_lp divisor register (bsc#1051510). - clk: sunxi-ng: nm: Check if requested rate is supported by fractional clock (bsc#1051510). - clk: sunxi-ng: sun5i: Fix bit offset of audio PLL post-divider (bsc#1051510). - clk: sunxi-ng: sun6i: Rename HDMI DDC clock to avoid name collision (bsc#1051510). - clk: sunxi-ng: sun6i: Export video PLLs (bsc#1051510). - clk: sunxi-ng: add CLK_SET_RATE_PARENT flag to H3 GPU clock (bsc#1051510). - clk: sunxi-ng: add CLK_SET_RATE_UNGATE to all H3 PLLs (bsc#1051510). - clk: samsung: Fix m2m scaler clock on Exynos542x (bsc#1051510). - clk: si5351: fix PLL reset (bsc#1051510). - clk: Don't write error code into divider register (bsc#1051510). - clk: hi6220: change watchdog clock source (bsc#1051510). - clk: sunxi: fix uninitialized access (bsc#1051510). - clk: qcom: msm8916: Fix bimc gpu clock ops (bsc#1051510). - clk: renesas: div6: Document fields used for parent selection (bsc#1051510). - commit 05d0c03- clk: sunxi-ng: allow set parent clock (PLL_CPUX) for CPUX clock on H3 (bsc#1051510). - clk: sunxi-ng: h3: gate then ungate PLL CPU clk after rate change (bsc#1051510). - clk: sunxi-ng: Wait for lock when using fractional mode (bsc#1051510). - clk: sunxi-ng: Make fractional helper less chatty (bsc#1051510). - clk: sunxi-ng: multiplier: Fix fractional mode (bsc#1051510). - clk: sunxi-ng: Fix fractional mode for N-M clocks (bsc#1051510). - clk: meson: gxbb: fix clk_mclk_i958 divider flags (bsc#1051510). - clk: meson: gxbb: fix meson cts_amclk divider flags (bsc#1051510). - clk: qcom: clk-smd-rpm: Fix the reported rate of branches (bsc#1051510). - clk: meson: meson8b: fix protection against undefined clks (bsc#1051510). - clk: meson: mpll: fix mpll0 fractional part ignored (bsc#1051510). - clk: x86: Do not gate clocks enabled by the firmware (bsc#1051510). - clk: scpi: error when clock fails to register (bsc#1051510). - clk: socfpga: Fix the smplsel on Arria10 and Stratix10 (bsc#1051510). - clk: renesas: r8a7795: Correct pwm, gpio, and i2c parent clocks on ES2.0 (bsc#1051510). - clk: renesas: r8a7745: Remove PLL configs for MD19=0 (bsc#1051510). - clk: renesas: r8a7745: Remove nonexisting scu-src[0789] clocks (bsc#1051510). - clk: renesas: rcar-gen2: Fix PLL0 on R-Car V2H and E2 (bsc#1051510). - clk: Fix __set_clk_rates error print-string (bsc#1051510). - clk: scpi: fix return type of __scpi_dvfs_round_rate (bsc#1051510). - clk: at91: fix clk-generated parenting (bsc#1051510). - commit 210a5b3- KVM: PPC: Check if IOMMU page is contained in the pinned physical page (bsc#1077761, git-fixes). - commit 061ef8b- can: xilinx_can: fix incorrect clear of non-processed interrupts (bsc#1051510). - can: xilinx_can: fix RX overflow interrupt not being enabled (bsc#1051510). - can: xilinx_can: keep only 1-2 frames in TX FIFO to fix TX accounting (bsc#1051510). - can: xilinx_can: fix recovery from error states not being propagated (bsc#1051510). - can: xilinx_can: fix RX loop if RXNEMP is asserted without RXOK (bsc#1051510). - can: xilinx_can: fix device dropping off bus on RX overrun (bsc#1051510). - can: mpc5xxx_can: check of_iomap return before use (bsc#1051510). - atl1c: reserve min skb headroom (bsc#1051510). - backlight: as3711_bl: Fix Device Tree node leaks (bsc#1051510). - can: bcm: check for null sk before deferencing it via the call to sock_net (bsc#1051510). - b44: Initialize 64-bit stats seqcount (bsc#1051510). - commit a560d0a- drm/nouveau: Avoid looping through fake MST connectors (bsc#1051510). - drm/nouveau: Use drm_connector_list_iter_* for iterating connectors (bsc#1051510). - drm/i915: Fix hotplug irq ack on i965/g4x (bsc#1051510). - drm/i915/dp: Send DPCD ON for MST before phy_up (bsc#1051510). - drm/i915: Only call tasklet_kill() on the first prepare_reset (bsc#1051510). - drm/exynos: Fix dma-buf import (bsc#1051510). - commit 8e5e15f- Add another cherry-picked id for i915 patches - commit b09d939- blacklist.conf: Add amdgpu cherry-picked entry - commit 3eb7296- blacklist.conf: Add pinctrl, regulator and thermal entries - commit 8b683f1- iio: pressure: zpa2326: Remove always-true check which confuses gcc (bsc#1051510). - IIO: BME280: Updates to Humidity readings need ctrl_reg write! (bsc#1051510). - commit 7657094- media: staging: omap4iss: Include asm/cacheflush.h after generic includes (bsc#1051510). - commit 8b6cf4f- pinctrl: nsp: Fix potential NULL dereference (bsc#1051510). - pinctrl: nand: meson-gxbb: fix missing data pins (bsc#1051510). - pinctrl: mvebu: use correct MPP sel value for dev pins (bsc#1051510). - pinctrl: pinctrl-single: Fix pcs_request_gpio() when bits_per_mux != 0 (bsc#1051510). - pinctrl: sh-pfc: r8a7790: Add missing TX_ER pin to avb_mii group (bsc#1051510). - pinctrl: sh-pfc: r8a7796: Fix IPSR and MOD_SEL register pin assignment for NDFC pins group (bsc#1051510). - pinctrl: sh-pfc: r8a7795: Fix MOD_SEL register pin assignment for SSI pins group (bsc#1051510). - pinctrl: sh-pfc: r8a7796: Fix to delete A20..A25 pins function definitions (bsc#1051510). - pinctrl: sh-pfc: r8a7795: Fix to delete A20..A25 pins function definitions (bsc#1051510). - pinctrl: uniphier: fix members of rmii group for Pro4 (bsc#1051510). - pinctrl: intel: Read back TX buffer state (bsc#1051510). - pinctrl: sh-pfc: r8a7796: Fix to delete FSCLKST pin and IPSR7 bit[15:12] register definitions (bsc#1051510). - pinctrl: sunxi: fix wrong irq_banks number for H5 pinctrl (bsc#1051510). - pinctrl: sunxi: fix V3s pinctrl driver IRQ bank base (bsc#1051510). - pinctrl: uniphier: fix pin_config_get() for input-enable (bsc#1051510). - pinctrl: bcm2835: Avoid warning from __irq_do_set_handler (bsc#1051510). - pinctrl: meson-gxbb: remove non-existing pin GPIOX_22 (bsc#1051510). - pinctrl: meson-gxl: Fix typo in AO SPDIF pins (bsc#1051510). - pinctrl: meson-gxl: Fix typo in AO I2S pins (bsc#1051510). - pinctrl: imx: fix debug message for SHARE_MUX_CONF_REG case (bsc#1051510). - commit 6a8019e- USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM (bsc#1087092). - commit 70842f1- power: gemini-poweroff: Avoid spurious poweroff (bsc#1051510). - power: supply: act8945a_charger: fix of_irq_get() error check (bsc#1051510). - power: supply: cpcap-charger: add OMAP_USB2 dependency (bsc#1051510). - commit fe4a95d- pwm: stm32: Enforce dependency on CONFIG_MFD_STM32_TIMERS (bsc#1051510). - pwm: meson: Fix allocation of PWM channel array (bsc#1051510). - pwm: stm32: Remove unused struct device (bsc#1051510). - pwm: tiehrpwm: fix clock imbalance in probe error path (bsc#1051510). - pwm: tiehrpwm: Fix runtime PM imbalance at unbind (bsc#1051510). - pwm: meson: Improve PWM calculation precision (bsc#1051510). - commit 1c7ced7- r8152: napi hangup fix after disconnect (bsc#1051510). - r8152: fix tx packets accounting (bsc#1051510). - r8169: Be drop monitor friendly (bsc#1051510). - commit 1b2cfed- usb: cdc_acm: prevent race at write to acm while system resumes (bsc#1087092). - commit d6fbae7- regulator: max8998: Fix platform data retrieval (bsc#1051510). - regulator: tps65218: Fix strobe assignment (bsc#1051510). - regulator: qcom_spmi: Include offset when translating voltages (bsc#1051510). - commit b4b762e- thermal/drivers/hisi: Fix multiple alarm interrupts firing (bsc#1051510). - thermal/drivers/hisi: Simplify the temperature/step computation (bsc#1051510). - thermal/drivers/hisi: Fix kernel panic on alarm interrupt (bsc#1051510). - thermal/drivers/hisi: Fix missing interrupt enablement (bsc#1051510). - thermal: fix INTEL_SOC_DTS_IOSF_CORE dependencies (bsc#1051510). - thermal: bcm2835: fix an error code in probe() (bsc#1051510). - commit 42a543a- blacklist.conf: the fix was wrong and and correct fix applied later - commit e6efac2- libnvdimm, label: fix index block size calculation (bsc#1102147). - commit bc246c4- blacklist.conf: change for preparation of changes in Kconfig - commit f8c9976- usb: option: Add support for FS040U modem (bsc#1087092). - commit c3dbb73- scsi: zfcp: fix missing REC trigger trace on enqueue without ERP thread (bsc#1102088, LTC#169699). - scsi: zfcp: fix missing REC trigger trace for all objects in ERP_FAILED (bsc#1102088, LTC#169699). - scsi: zfcp: fix missing REC trigger trace on terminate_rport_io for ERP_FAILED (bsc#1102088, LTC#169699). - scsi: zfcp: fix missing REC trigger trace on terminate_rport_io early return (bsc#1102088, LTC#169699). - scsi: zfcp: fix misleading REC trigger trace where erp_action setup failed (bsc#1102088, LTC#169699). - scsi: zfcp: fix missing SCSI trace for retry of abort / scsi_eh TMF (bsc#1102088, LTC#169699). - scsi: zfcp: fix missing SCSI trace for result of eh_host_reset_handler (bsc#1102088, LTC#169699). - scsi: zfcp: fix infinite iteration on ERP ready list (bsc#1102088, LTC#169699). - s390/qeth: fix error handling in adapter command callbacks (bsc#1102088, LTC#169699). - s390/qdio: don't retry EQBS after CCQ 96 (bsc#1102088, LTC#169699). - commit 58163cf- blacklist.conf: fix for feature we don't use - commit c9a9251- usb: dwc2: Improve gadget state disconnection handling (bsc#1085539). - commit 275701e- Revert "xhci: plat: Register shutdown for xhci_plat" (bsc#1090888). - commit aaf661a- xen/grant-table: log the lack of grants (bnc#1085042). - commit 940699f- pinctrl: nsp: off by ones in nsp_pinmux_enable() (bsc#1100132). - commit 4b1905b- pinctrl: intel: Initialize GPIO properly when used through irqchip (bsc#1087092). - commit 859155e- kabi mvpp2 10gkr support (bsc#1098633). - commit b960ffb- ALSA: rawmidi: Change resized buffers atomically (bsc#1051510). - ALSA: hda/realtek - Add Panasonic CF-SZ6 headset jack quirk (bsc#1051510). - ALSA: hda: add mute led support for HP ProBook 455 G5 (bsc#1051510). - commit 70b340b- net: mvpp2: Fix clock resource by adding missing mg_core_clk (bsc#1098633). - net: mvpp2: Fix clk error path in mvpp2_probe (bsc#1098633). - net: mvpp2: Fix DMA address mask size (bsc#1098633). - net: mvpp2: Fix TCAM filter reserved range (bsc#1098633). - net: mvpp2: Fix parser entry init boundary check (bsc#1098633). - net: mvpp2: Use relaxed I/O in data path (bsc#1098633). - net: mvpp2: Don't use dynamic allocs for local variables (bsc#1098633). - net: mvpp2: Make mvpp2_prs_hw_read a parser entry init function (bsc#1098633). - net: mvpp2: use correct index on array mvpp2_pools (bsc#1098633). - net: mvpp2: Add support for unicast filtering (bsc#1098633). - net: mvpp2: Simplify MAC filtering function parameters (bsc#1098633). - net: mvpp2: mvpp2_check_hw_buf_num() can be static (bsc#1098633). - net: mvpp2: jumbo frames support (bsc#1098633). - net: mvpp2: enable UDP/TCP checksum over IPv6 (bsc#1098633). - net: mvpp2: use a data size of 10kB for Tx FIFO on port 0 (bsc#1098633). - net: mvpp2: update the BM buffer free/destroy logic (bsc#1098633). - net: mvpp2: use the same buffer pool for all ports (bsc#1098633). - net: mvpp2: Add hardware offloading for VLAN filtering (bsc#1098633). - mvpp2: fix multicast address filter (bsc#1098633). - net: mvpp2: enable ACPI support in the driver (bsc#1098633). - net: mvpp2: use device_*/fwnode_* APIs instead of of_* (bsc#1098633). - net: mvpp2: simplify maintaining enabled ports' list (bsc#1098633). - device property: Allow iterating over available child fwnodes (bsc#1098633). - device property: Introduce fwnode_irq_get() (bsc#1098633). - device property: Introduce fwnode_get_phy_mode() (bsc#1098633). - device property: Introduce fwnode_get_mac_address() (bsc#1098633). - net: mvpp2: adjust the coalescing parameters (bsc#1098633). - net: mvpp2: report the tx-usec coalescing information to ethtool (bsc#1098633). - net: mvpp2: align values in ethtool get_coalesce (bsc#1098633). - net: mvpp2: split the max ring size from the default one (bsc#1098633). - net: mvpp2: only free the TSO header buffers when it was allocated (bsc#1098633). - net: mvpp2: fix the RSS table entry offset (bsc#1098633). - net: mvpp2: allocate zeroed tx descriptors (bsc#1098633). - net: mvpp2: check ethtool sets the Tx ring size is to a valid min value (bsc#1098633). - net: mvpp2: do not disable GMAC padding (bsc#1098633). - net: mvpp2: cleanup probed ports in the probe error path (bsc#1098633). - net: mvpp2: fix the txq_init error path (bsc#1098633). - net: mvpp2: fix GOP statistics loop start and stop conditions (bsc#1098633). - net: mvpp2: add ethtool GOP statistics (bsc#1098633). - net: mvpp2: simplify the Tx desc set DMA logic (bsc#1098633). - net: mvpp2: use the aggr txq size define everywhere (bsc#1098633). - net: mvpp2: limit TSO segments and use stop/wake thresholds (bsc#1098633). - net: mvpp2: initialize the RSS tables (bsc#1098633). - net: mvpp2: initialize the Tx FIFO size (bsc#1098633). - net: mvpp2: set the Rx FIFO size depending on the port speeds for PPv2.2 (bsc#1098633). - net: mvpp2: remove useless goto (bsc#1098633). - net: mvpp2: Prevent userspace from changing TX affinities (bsc#1098633). - net: mvpp2: do not sleep in set_rx_mode (bsc#1098633). - net: mvpp2: fix invalid parameters order when calling the tcam init (bsc#1098633). - net: mvpp2: fix typo in the tcam setup (bsc#1098633). - net: mvpp2: do not call txq_done from the Tx path when Tx irqs are used (bsc#1098633). - net: mvpp2: do not unmap TSO headers buffers (bsc#1098633). - net: mvpp2: fix TSO headers allocation and management (bsc#1098633). - net: mvpp2: Fix clock resource by adding an optional bus clock (bsc#1098633). - net: mvpp2: do not select the internal source clock (bsc#1098633). - net: mvpp2: fix port list indexing (bsc#1098633). - net: mvpp2: fix parsing fragmentation detection (bsc#1098633). - net: mvpp2: fallback using h/w and random mac if the dt one isn't valid (bsc#1098633). - net: mvpp2: fix use of the random mac address for PPv2.2 (bsc#1098633). - net: mvpp2: move the mac retrieval/copy logic into its own function (bsc#1098633). - net: mvpp2: use the GoP interrupt for link status changes (bsc#1098633). - net: mvpp2: make the phy optional (bsc#1098633). - net: mvpp2: take advantage of the is_rgmii helper (bsc#1098633). - net: mvpp2: dynamic reconfiguration of the comphy/GoP/MAC (bsc#1098633). - net: mvpp2: do not set GMAC autoneg when using XLG MAC (bsc#1098633). - net: mvpp2: improve the link management function (bsc#1098633). - net: mvpp2: simplify the link_event function (bsc#1098633). - net: mvpp2: initialize the comphy (bsc#1098633). - phy: add sgmii and 10gkr modes to the phy_mode enum (bsc#1098633). - net: mvpp2: fix the packet size configuration for 10G (bsc#1098633). - net: mvpp2: software tso support (bsc#1098633). - net: mvpp2: unify the txq size define use (bsc#1098633). - net: define the TSO header size in net/tso.h (bsc#1098633). - net: mvpp2: initialize the GoP (bsc#1098633). - net: mvpp2: set maximum packet size for 10G ports (bsc#1098633). - net: mvpp2: initialize the XLG MAC when using a port (bsc#1098633). - net: mvpp2: initialize the GMAC when using a port (bsc#1098633). - net: mvpp2: move the mii configuration in the ndo_open path (bsc#1098633). - net: mvpp2: fix the synchronization module bypass macro name (bsc#1098633). - net: mvpp2: unify register definitions coding style (bsc#1098633). - net: mvpp2: add support for TX interrupts and RX queue distribution modes (bsc#1098633). - net: mvpp2: introduce queue_vector concept (bsc#1098633). - net: mvpp2: move from cpu-centric naming to "software thread" naming (bsc#1098633). - net: mvpp2: introduce per-port nrxqs/ntxqs variables (bsc#1098633). - net: mvpp2: remove RX queue group reset code (bsc#1098633). - net: mvpp2: fix MVPP21_ISR_RXQ_GROUP_REG definition (bsc#1098633). - net: mvpp2: remove mvpp2_pool_refill() (bsc#1098633). - net: mvpp2: remove unused mvpp2_bm_cookie_pool_set() function (bsc#1098633). - net: mvpp2: add comments about smp_processor_id() usage (bsc#1098633). - net: mvpp2: enable basic 10G support (bsc#1098633). - net: phy: add XAUI and 10GBASE-KR PHY connection types (bsc#1098633). - commit bb14fdc- USB: yurex: fix out-of-bounds uaccess in read handler (bsc#1100132). - commit 5759570- xhci: Fix kernel oops in trace_xhci_free_virt_device (bsc#1100132). - commit 330f69f- kabi mlx5 hide cpu_rmap (bsc#1046303 FATE#322944). - commit 29d90f9- bnxt_en: Fix the vlan_tci exact match check (bsc#1050242 FATE#32291). - qed: off by one in qed_parse_mcp_trace_buf() (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - commit 51ed532- xhci: Fix USB3 NULL pointer dereference at logical disconnect (bsc#1090888). - commit 78c4386- RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path (bsc#1046305 FATE#322943). - Refresh patches.kabi/kabi-IB-mlx5-Fix-integer-overflows-in-mlx5_ib_create_srq.patch. - commit 825ce31- IB/hfi1: Add bypass register defines and replace blind constants (bsc#1060463 FATE#323043). - IB/core: Remove duplicate declaration of gid_cache_wq (bsc#1046306 FATE#322942). - net/mlx5: FPGA, Call DMA unmap with the right size (bsc#1046303 FATE#322944). - net/mlx5: IPSec, Fix a race between concurrent sandbox QP commands (bsc#1046303 FATE#322944). - net/mlx5: Free IRQs in shutdown path (bsc#1046303 FATE#322944). - RDMA/ucma: ucma_context reference leak in error path (bsc#1046306 FATE#322942). - commit 80081f9- blacklist.conf: only build warning - commit 062a7b0- xhci: xhci-mem: off by one in xhci_stream_id_to_ring() (bsc#1100132). - commit 6e13d7e- usb: host: ehci: use correct device pointer for dma ops (bsc#1087092). - commit 9a2a851- USB: serial: keyspan_pda: fix modem-status error handling (bsc#1100132). - commit 8f55964- PCI: dwc: Fix enumeration end when reaching root subordinate (bsc#1100132). - commit a63089d- x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content (bsc#1089343 CVE-2018-3646). - commit 8564424- xhci: Fix use-after-free in xhci_free_virt_device (bsc#1100132). - commit 5defecc- cpu/hotplug: detect SMT disabled by BIOS (bsc#1089343 CVE-2018-3646). - commit 0968980- ipc/shm: fix use-after-free of shm file via remap_file_pages() (bnc#1102512). - commit a10faea- PCI: Account for all bridges on bus when distributing bus numbers (bsc#1100132). - commit 09fe2a5- mfd: tps65911-comparator: Fix an off by one bug (bsc#1051510). - mfd: tps65911-comparator: Fix a build error (bsc#1051510). - mfd: tps65218: Reorder tps65218_regulator_id enum (bsc#1051510). - kernel/params.c: downgrade warning for unsafe parameters (bsc#1051510). - hwrng: stm32 - add reset during probe (bsc#1051510). - mdio-sun4i: Fix a memory leak (bsc#1051510). - gpio: brcmstb: switch to handle_level_irq flow (bsc#1051510). - fsi: core: register with postcore_initcall (bsc#1051510). - commit c4e6ac9- dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate() (bsc#1051510). - dmaengine: pl330: report BURST residue granularity (bsc#1051510). - dmaengine: rcar-dmac: Check the done lists in rcar_dmac_chan_get_residue() (bsc#1051510). - dmaengine: qcom: bam_dma: get num-channels and num-ees from dt (bsc#1051510). - dmaengine: pl330: fix a race condition in case of threaded irqs (bsc#1051510). - dmaengine: mv_xor_v2: Fix clock resource by adding a register clock (bsc#1051510). - dmaengine: rcar-dmac: fix max_chunk_size for R-Car Gen3 (bsc#1051510). - dmaengine: zynqmp_dma: Fix race condition in the probe (bsc#1051510). - dmaengine: qcom_hidma: check pending interrupts (bsc#1051510). - clocksource/drivers/stm32: Fix kernel panic with multiple timers (bsc#1051510). - dmaengine: fsl-edma: disable clks on all error paths (bsc#1051510). - crypto: ccp - remove unused variable qim (bsc#1051510). - dmaengine: xilinx_dma: Fix error code format specifier (bsc#1051510). - dmaengine: tegra210-adma: fix of_irq_get() error check (bsc#1051510). - dmaengine: tegra-apb: Really fix runtime-pm usage (bsc#1051510). - dmaengine: omap-dma: port_window support correction for both direction (bsc#1051510). - commit 1cc5a1e- checkpatch: add 6 missing types to --list-types (bsc#1051510). - commit c9616bd- mmc: dw_mmc: fix card threshold control configuration (bsc#1051510). - mailbox: bcm2835: Fix of_xlate return value (bsc#1051510). - mmc: cavium: Fix use-after-free in of_platform_device_destroy (bsc#1051510). - mmc: meson-gx: remove CLK_DIVIDER_ALLOW_ZERO clock flag (bsc#1051510). - commit d19f009- hwmon: (ltc2990) Fix incorrect conversion of negative temperatures (bsc#1051510). - hwmon: (nct6683) Enable EC access if disabled at boot (bsc#1051510). - hwmon: Deal with errors from the thermal subsystem (bsc#1051510). - hwmon: (tmp102) Fix first temperature reading (bsc#1051510). - hwmon: (aspeed-pwm) add THERMAL dependency (bsc#1051510). - hwmon: (stts751) buffer overrun on wrong chip configuration (bsc#1051510). - hwmon: (ftsteutates) Fix clearing alarm sysfs entries (bsc#1051510). - commit 3061bd4- iio: pressure: bmp280: fix relative humidity unit (bsc#1051510). - iio: tsl2583: correct values in integration_time_available (bsc#1051510). - staging:iio:ade7854: Fix the wrong number of bits to read (bsc#1051510). - staging:iio:ade7854: Fix error handling on read/write (bsc#1051510). - iio: humidity: hts221: remove warnings in hts221_parse_{temp,rh}_caldata() (bsc#1051510). - staging: iio: ade7759: fix signed extension bug on shift of a u8 (bsc#1051510). - iio: adc: twl4030: Return an error if we can not enable the vusb3v1 regulator in 'twl4030_madc_probe()' (bsc#1051510). - iio: magnetometer: st_magn: fix drdy line configuration for LIS3MDL (bsc#1051510). - iio: accel: st_accel: fix data-ready line configuration (bsc#1051510). - iio: pressure: st_pressure: fix drdy configuration for LPS22HB and LPS25H (bsc#1051510). - iio: accel: st_accel_i2c: fix i2c_device_id table (bsc#1051510). - iio: magnetometer: st_magn_core: enable multiread by default for LIS3MDL (bsc#1051510). - iio: gyro: st_gyro: fix L3GD20H support (bsc#1051510). - iio: trigger: stm32-timer: fix write_raw return value (bsc#1051510). - iio: trigger: stm32-timer: fix quadrature mode get routine (bsc#1051510). - iio: adc: sun4i-gpadc-iio: fix unbalanced irq enable/disable (bsc#1051510). - iio: imu: inv_mpu6050: test whoami first and against all known values (bsc#1051510). - iio: magnetometer: st_magn_spi: fix spi_device_id table (bsc#1051510). - iio: accel: st_accel_spi: fix spi_device_id table (bsc#1051510). - iio: pressure: zpa2326: report interrupted case as failure (bsc#1051510). - commit fafe9ca- doc: Rename .system_keyring to .builtin_trusted_keys (bsc#1051510). - docs: segmentation-offloads.txt: Fix ref to SKB_GSO_TUNNEL_REMCSUM (bsc#1051510). - efi/efi_test: Prevent an Oops in efi_runtime_query_capsulecaps() (bsc#1051510). - doc: SKB_GSO_[IPIP|SIT] have been replaced (bsc#1051510). - docs-rst: fix broken links to dynamic-debug-howto in kernel-parameters (bsc#1051510). - commit 8a72bfa- blacklist.conf: Add firmware/vpd entries - commit f132923- blacklist.conf: Add an i2c mlxcpld entry that isn't applicable - commit 93b4768- i2c: tegra: Fix NACK error handling (bsc#1051510). - i2c: axxia: enable clock before calling clk_get_rate() (bsc#1051510). - i2c: designware: Round down ACPI provided clk to nearest supported clk (bsc#1051510). - i2c: mux: pinctrl: mention correct module name in Kconfig help text (bsc#1051510). - commit 303e2ea- blacklist.conf: Add atomisp entries - commit b0875d8- media: vivid: potential integer overflow in vidioc_g_edid() (bsc#1051510). - media: cx88: Get rid of spurious call to cx8800_start_vbi_dma() (bsc#1051510). - media: omap3isp/isp: remove an unused static var (bsc#1051510). - media: dt-bindings: media: rcar_vin: Use status "okay" (bsc#1051510). - media: cxusb: restore RC_MAP for MyGica T230 (bsc#1051510). - media: dvb_net: ensure that dvb_net_ule_handle is fully initialized (bsc#1051510). - media: s5p-mfc: Fix lock contention - request_firmware() once (bsc#1051510). - media: dvb_frontend: only use kref after initialized (bsc#1051510). - media: mxl111sf: Fix potential null pointer dereference (bsc#1051510). - media: coda/imx-vdoa: Check for platform_get_resource() error (bsc#1051510). - media: s5p-jpeg: fix number of components macro (bsc#1051510). - commit c613c11- PM / hibernate: Use CONFIG_HAVE_SET_MEMORY for include condition (bsc#1051510). - Refresh patches.suse/0007-PM-hibernate-encrypt-hidden-area.patch. - Refresh patches.suse/0008-PM-hibernate-Generate-and-verify-signature-for-snaps.patch. - commit 68d869a- NFC: pn533: Fix wrong GFP flag usage (bsc#1051510). - NFC: nfcmrvl_uart: fix device-node leak during probe (bsc#1051510). - commit eaa5baf- nfit, address-range-scrub: fix scrub in-progress reporting (bsc#1051510). - nfit: fix region registration vs block-data-window ranges (bsc#1051510). - commit 8ef3e7d- PM / core: Fix supplier device runtime PM usage counter imbalance (bsc#1051510). - PM / wakeup: Only update last time for active wakeup sources (bsc#1051510). - commit 8aece32- staging: rtl8723bs: fix u8 less than zero check (bsc#1051510). - staging: rts5208: Fix "seg_no" calculation in reset_ms_card() (bsc#1051510). - staging: rtl8723bs: add missing range check on id (bsc#1051510). - commit d214912- Fix kABI for rtl_deinit_deferred_work() rewrite (bsc#1051510). - rtlwifi: rtl8821ae: fix firmware is not ready to run (bsc#1051510). - rtlwifi: Fix kernel Oops "Fw download fail!!" (bsc#1051510). - commit b06d80b- blacklist.conf: Add a cherry-picked entry for X.509 - commit 9236b0e- X.509: unpack RSA signatureValue field from BIT STRING (bsc#1051510). - commit 3af927a- gpio: pca953x: fix vendor prefix for PCA9654 (bsc#1051510). - gpio: brcmstb: correct the configuration of level interrupts (bsc#1051510). - gpio: brcmstb: release the bgpio lock during irq handlers (bsc#1051510). - gpio: brcmstb: allow all instances to be wakeup sources (bsc#1051510). - gpio: acpi: work around false-positive -Wstring-overflow warning (bsc#1051510). - gpio: brcmstb: check return value of gpiochip_irqchip_add() (bsc#1051510). - gpio: reject invalid gpio before getting gpio_desc (bsc#1051510). - gpio: tegra: fix unbalanced chained_irq_enter/exit (bsc#1051510). - commit 2f3dbef- Documentation: admin-guide: intel_pstate: Fix sysfs path (bsc#1051510). - Fix English in description of GCC_PLUGIN_STRUCTLEAK (bsc#1051510). - commit 4c0dc28- firewire: net: max MTU off by one (bsc#1051510). - commit f72f64d- firmware: dmi: Optimize dmi_matches (bsc#1051510). - drivers/firmware: psci_checker: Add missing destroy_timer_on_stack() (bsc#1051510). - firmware: arm_scpi: fix endianness of dev_id in struct dev_pstate_set (bsc#1051510). - firmware: tegra: Fix locking bugs in BPMP (bsc#1051510). - commit 393951c- crypto: crypto4xx - fix crypto4xx_build_pdr, crypto4xx_build_sdr leak (bsc#1051510). - crypto: crypto4xx - remove bad list_del (bsc#1051510). - commit 0748ab4- cfg80211: initialize sinfo in cfg80211_get_station (bsc#1051510). - commit 0935d8b- backlight: lm3630a: Bump REG_MAX value to 0x50 instead of 0x1F (bsc#1051510). - commit 23c61f3- acpi/nfit: fix cmd_rc for acpi_nfit_ctl to always return a value (bsc#1051510). - ACPI / processor: Finish making acpi_processor_ppc_has_changed() void (bsc#1051510). - ACPI, APEI, EINJ: Subtract any matching Register Region from Trigger resources (bsc#1051510). - commit 7857a8e- drm/rockchip: Fix build warning in analogix_dp-rockchip.c (bsc#1085536). - commit 0917bc0- kabi cxgb4 MU (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - commit 7879068- blacklist.conf: ignore dts folders - commit 03e4f62- drm/nouveau/gem: off by one bugs in nouveau_gem_pushbuf_reloc_apply() (bsc#1051510). - commit 564220d- driver core: Fix link to device power management documentation (bsc#1051510). - commit 6e0eb75- crypto: caam/qi - explicitly set dma_ops (bsc#1051510). - crypto: sha512-mb - add some missing unlock on error (bsc#1051510). - commit b1cd3b8- gpu: host1x: Acquire a reference to the IOVA cache (bsc#1090888). - commit efcb635- ath9k_htc: Add a sanity check in ath9k_htc_ampdu_action() (bsc#1051510). - Bluetooth: avoid recursive locking in hci_send_to_channel() (bsc#1051510). - Bluetooth: hci_ll: Add support for the external clock (bsc#1051510). - Bluetooth: hci_ll: Fix download_firmware() return when __hci_cmd_sync fails (bsc#1051510). - Bluetooth: hci_nokia: select BT_HCIUART_H4 (bsc#1051510). - Bluetooth: hci_uart: fix kconfig dependency (bsc#1051510). - commit fb47ea2- drm: mali-dp: Uninitialized variable in malidp_se_check_scaling() (bsc#1087092). - commit 0bee75b- drm: rcar-du: Remove zpos field from rcar_du_vsp_plane_state structure (bsc#1085539). - commit c4ffb3c- drm/rockchip: dw_hdmi: Move HDMI vpll clock enable to bind() (bsc#1087092). - commit fc6a9be- drm/rockchip: inno_hdmi: Fix error handling path (bsc#1087092). - commit dde76a1- rpm/kernel-source.spec.in: Add more stuff to Recommends ... and move bc to Recommends as well. All these packages are needed for building a kernel manually from scratch with kernel-source files. - commit 6fcec9a- drm: rcar-du: lvds: Fix LVDCR1 for R-Car gen3 (bsc#1085539). - Refresh patches.drivers/drm-rcar-du-lvds-Fix-LVDS-startup-on-R-Car-Gen3. - commit d852350- cifs: do not allow creating sockets except with SMB1 posix exensions (bsc#1102097). - commit b26635c- fix Patch-mainline header - commit c1a1fcb- Refresh patches.drivers/nvme-move-init-of-keep_alive-work-item-to-controller.patch. fix commit hash - commit b98a0c9- ibmvnic: Fix error recovery on login failure (bsc#1101789). - commit 7f0b6bd- blacklist.conf: Add 'drm/atomic: Fix memleak on ERESTARTSYS during non-blocking commits' - commit 4a60e21- video/omap: add module license tags (bsc#1090888). - commit ca9d8b9- cxgb4: Fix error handling path in 'init_one()' (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - commit 500b966- video: remove unused kconfig SH_LCD_MIPI_DSI (bsc#1087092). - commit d5f1814- drm/rockchip: analogix_dp: Remove unnecessary init code (bsc#1085536). - commit db1b65e- drm/rockchip: inno_hdmi: reorder clk_disable_unprepare call in unbind (bsc#1087092). - commit 9c4f194- KVM: x86: fix vcpu initialization with userspace lapic (bsc#1101564). - KVM: x86: move LAPIC initialization after VMCS creation (bsc#1101564). - commit 5f3893e- rpm/kernel-source.spec.in: require bc for kernel-source This is needed for building include/generated/timeconst.h from kernel/time/timeconst.bc. - commit d725e3b- Update config files. - commit fd12fef- cifs: Fix infinite loop when using hard mount option (bsc#1091171). - commit 7f265ee- cxgb4: enable ZLIB_DEFLATE when building cxgb4 (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - commit 3203abb- cxgb4: Add FORCE_PAUSE bit to 32 bit port caps (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4/cxgb4vf: Notify link changes to OS-dependent code (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: clean up init_one (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4/cxgb4vf: link management changes for new SFP (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Check for kvzalloc allocation failure (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: do L1 config when module is inserted (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: change the port capability bits definition (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Add new T6 device ids (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: copy the length of cpl_tx_pkt_core to fw_wr (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: collect SGE PF/VF queue map (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: update LE-TCAM collection for T6 (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - commit 2e58888- cxgb4: do not fail vf instatiation in slave mode (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: collect hardware dump in second kernel (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - vmcore: add API to collect hardware dump in second kernel (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: avoid schedule while atomic (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: enable inner header checksum calculation (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Fix {vxlan/geneve}_port initialization (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Add new T5 device id (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: fix the wrong conversion of Mbps to Kbps (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: update latest firmware version supported (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: add new T5 device id's (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4vf: display pause settings (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: copy mbox log size to PF0-3 adap instances (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: zero the HMA memory (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - RDMA/cxgb4: release hw resources on device removal (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - scsi: cxgb4i: silence overflow warning in t4_uld_rx_handler() (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - iw_cxgb4: Add ib_device->get_netdev support (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - RDMA/cxgb4: Use structs to describe the uABI instead of opencoding (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - iw_cxgb4: initialize ib_mr fields for user mrs (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - don't leak pointers to authenc keys (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Fix iv passed in fallback path for rfc3686 (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Update IV before sending request to HW (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Fix src buffer dma length (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Use kernel round function to align lengths (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Make function aead_ccm_validate_input static (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: support new ISSI flash parts (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: depend on firmware event for link status (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: copy vlan_id in ndo_get_vf_config (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Setup FW queues before registering netdev (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Support firmware rdma write completion work request (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Support firmware rdma write with immediate work request (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Add support to query HW SRQ parameters (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Add support to initialise/read SRQ entries (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Adds CPL support for Shared Receive Queues (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Fix queue free path of ULD drivers (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: notify fatal error to uld drivers (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Add HMA support (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4/cxgb4vf: check fw caps to set link mode mask (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: do not display 50Gbps as unsupported speed (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: increase max tx rate limit to 100 Gbps (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4vf: Forcefully link up virtual interfaces (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Add TP Congestion map entry for single-port (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: remove dead code when allocating filter (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: rework on-chip memory read (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: do not set needs_free_netdev for mgmt dev's (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: copy adap index to PF0-3 adapter instances (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: free up resources of pf 0-3 (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgbit: call neigh_event_send() to update MAC address (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4/cxgb4vf: add support for ndo_set_vf_vlan (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: IPv6 filter takes 2 tids (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - commit 121447a- cxgb4: use zlib deflate to compress firmware dump (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - Refresh patches.drivers/cxgb4-properly-initialize-variables.patch. - commit 0f81869- cxgb4: update dump collection logic to use compression (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: restructure VF mgmt code (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Check alignment constraint for T6 (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: use CLIP with LIP6 on T6 for TCAM filters (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: Add support for ethtool i2c dump (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Fix indentation warning (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Remove dst sg size zero check (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Add authenc versions of ctr and sha (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Fix IV updated in XTS operation (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - check for sg null (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Fix Indentation (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Fix an error code in chcr_hash_dma_map() (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: change transient busy return code to -ENOSPC (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Move DMA un/mapping to chcr from lld cxgb4 driver (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Remove allocation of sg list to implement 2K limit of dsgl header (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Use x8_ble gf multiplication to calculate IV (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: gf128mul - The x8_ble multiplication functions (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Check error code with IS_ERR macro (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - crypto: chelsio - Remove unused parameter (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - cxgb4: update latest firmware version supported (bsc#1097585 bsc#1097586 bsc#1097587 bsc#1097588 bsc#1097583 bsc#1097584). - commit de850aa- qed: Fix reading stale configuration information (bsc#1086314 FATE#324886). - commit 3f9fc3d- i40e: use the more traditional 'i' loop variable (bsc#1101816 FATE#325147 FATE#325149). - i40e: add function doc headers for ethtool stats functions (bsc#1101816 FATE#325147 FATE#325149). - i40e: update data pointer directly when copying to the buffer (bsc#1101816 FATE#325147 FATE#325149). - i40e: fold prefix strings directly into stat names (bsc#1101816 FATE#325147 FATE#325149). - i40e: use WARN_ONCE to replace the commented BUG_ON size check (bsc#1101816 FATE#325147 FATE#325149). - i40e: split i40e_get_strings() into smaller functions (bsc#1101816 FATE#325147 FATE#325149). - i40e: always return all queue stat strings (bsc#1101816 FATE#325147 FATE#325149). - i40e: always return VEB stat strings (bsc#1101816 FATE#325147 FATE#325149). - i40e: free skb after clearing lock in ptp_stop (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Fix a hardware reset support in VF driver (bsc#1101816 FATE#325147 FATE#325149). - i40e: free the skb after clearing the bitlock (bsc#1101816 FATE#325147 FATE#325149). - i40e: cleanup wording in a header comment (bsc#1101816 FATE#325147 FATE#325149). - i40e: add tx_busy to ethtool stats (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix recalculation of MSI-X vectors for VMDq (bsc#1101816 FATE#325147 FATE#325149). - i40e: cleanup whitespace for some ethtool stat definitions (bsc#1101816 FATE#325147 FATE#325149). - i40e: remove duplicate pfc stats (bsc#1101816 FATE#325147 FATE#325149). - i40e: calculate ethtool stats size in a separate function (bsc#1101816 FATE#325147 FATE#325149). - i40e: avoid overflow in i40e_ptp_adjfreq() (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix multiple issues with UDP tunnel offload filter configuration (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Fix turning TSO, GSO and GRO on after (bsc#1101816 FATE#325147 FATE#325149). - i40e: Add advertising 10G LR mode (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix reading LLDP configuration (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: cleanup incorrect function doxygen comments (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Replace GFP_ATOMIC with GFP_KERNEL in i40evf_add_vlan (bsc#1101816 FATE#325147 FATE#325149). - i40e: re-number feature flags to remove gaps (bsc#1101816 FATE#325147 FATE#325149). - i40e: stop using cmpxchg flow in i40e_set_priv_flags() (bsc#1101816 FATE#325147 FATE#325149). - i40e: hold the RTNL lock while changing interrupt schemes (bsc#1101816 FATE#325147 FATE#325149). - i40e: move client flags into state bits (bsc#1101816 FATE#325147 FATE#325149). - i40e: move I40E_FLAG_TEMP_LINK_POLLING to state field (bsc#1101816 FATE#325147 FATE#325149). - i40e: move AUTO_DISABLED flags into the state field (bsc#1101816 FATE#325147 FATE#325149). - i40e: move I40E_FLAG_UDP_FILTER_SYNC to the state field (bsc#1101816 FATE#325147 FATE#325149). - i40e: move I40E_FLAG_FILTER_SYNC to a state bit (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix the polling mechanism of GLGEN_RSTAT.DEVSTATE (bsc#1101816 FATE#325147 FATE#325149). - i40evf: remove flags that are never used (bsc#1101816 FATE#325147 FATE#325149). - i40e: Prevent setting link speed on I40E_DEV_ID_25G_B (bsc#1101816 FATE#325147 FATE#325149). - i40e: add doxygen comment for new mode parameter (bsc#1101816 FATE#325147 FATE#325149). - i40e: Prevent setting link speed on KX_X722 (bsc#1101816 FATE#325147 FATE#325149). - i40e: restore TCPv4 input set when re-enabling ATR (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix for wrong partition id calculation on OCP mezz cards (bsc#1101816 FATE#325147 FATE#325149). - i40e: factor out re-enable functions for ATR and SB (bsc#1101816 FATE#325147 FATE#325149). - i40e: track filter type statistics when deleting invalid filters (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix permission check for VF MAC filters (bsc#1101816 FATE#325147 FATE#325149). - i40e: Cleanup i40e_vlan_rx_register (bsc#1101816 FATE#325147 FATE#325149). - i40e: remove i40e_fcoe files (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: use SW variables for hang detection (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Fix double locking the same resource (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Fix link up issue when queues are disabled (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Make VF reset warning message more clear (bsc#1101816 FATE#325147 FATE#325149). - i40evf: use __dev_c_sync routines in .set_rx_mode (bsc#1101816 FATE#325147 FATE#325149). - i40e: do not force filter failure in overflow promiscuous (bsc#1101816 FATE#325147 FATE#325149). - i40e: refactor promisc_changed in i40e_sync_vsi_filters (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Use an iterator of the same type as the list (bsc#1101816 FATE#325147 FATE#325149). - i40e: broadcast filters can trigger overflow promiscuous (bsc#1101816 FATE#325147 FATE#325149). - i40e: don't leak memory addresses (bsc#1101816 FATE#325147 FATE#325149). - i40evf: use GFP_ATOMIC under spin lock (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Add support for new mechanism of updating adaptive ITR (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Split container ITR into current_itr and target_itr (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Correctly populate rxitr_idx and txitr_idx (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Use usec value instead of reg value for ITR defines (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Don't bother setting the CLEARPBA bit (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Clean-up of bits related to using q_vector->reg_idx (bsc#1101816 FATE#325147 FATE#325149). - i40e: Add delay after EMP reset for firmware to recover (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Clean up logic for adaptive ITR (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Only track one ITR setting per ring instead of Tx/Rx (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix typo in function description (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Update DESC_NEEDED value to reflect larger value (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Record ITR register location in the q_vector (bsc#1101816 FATE#325147 FATE#325149). - i40e: disallow programming multiple filters with same criteria (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix kdump failure (bsc#1101816 FATE#325147 FATE#325149). - i40e: cleanup unnecessary parens (bsc#1101816 FATE#325147 FATE#325149). - i40e: change flags to use 64 bits (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Use ring pointers to clean up _set_itr_per_queue (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Allow turning off offloads when the VF has VLAN set (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix for adding multiple ethtool filters on the same location (bsc#1101816 FATE#325147 FATE#325149). - i40e: Add returning AQ critical error to SW (bsc#1101816 FATE#325147 FATE#325149). - i40e: Delete an error message for a failed memory allocation in i40e_init_interrupt_scheme() (bsc#1101816 FATE#325147 FATE#325149). - i40e: Disable iWARP VSI PETCP_ENA flag on netdev down events (bsc#1101816 FATE#325147 FATE#325149). - i40e: check for invalid DCB config (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Detect and recover hung queue scenario (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix for blinking activity instead of link LEDs (bsc#1101816 FATE#325147 FATE#325149). - i40evf: remove flush_scheduled_work call in i40evf_remove (bsc#1101816 FATE#325147 FATE#325149). - i40e: avoid divide by zero (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Enable NVMUpdate to retrieve AdminQ and add preservation flags for NVM update (bsc#1101816 FATE#325147 FATE#325149). - i40e: track id can be 0 (bsc#1101816 FATE#325147 FATE#325149). - i40e: change ppp name to ddp (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Drop i40evf_fire_sw_int as it is prone to races (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Clean-up flags for promisc mode to avoid high polling rate (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Do not clear MSI-X PBA manually (bsc#1101816 FATE#325147 FATE#325149). - i40e: remove redundant initialization of read_size (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: Bump driver versions (bsc#1101816 FATE#325147 FATE#325149). - i40e: add helper conversion function for link_speed (bsc#1101816 FATE#325147 FATE#325149). - i40e: update VFs of link state after GET_VF_RESOURCES (bsc#1101816 FATE#325147 FATE#325149). - i40evf: hold the critical task bit lock while opening (bsc#1101816 FATE#325147 FATE#325149). - i40evf: release bit locks in reverse order (bsc#1101816 FATE#325147 FATE#325149). - i40evf: use spinlock to protect (mac|vlan)_filter_list (bsc#1101816 FATE#325147 FATE#325149). - i40e: display priority_xon and priority_xoff stats (bsc#1101816 FATE#325147 FATE#325149). - commit 15c69f4- nvme-loop: add support for multiple ports (bsc#1054245). - Refresh patches.kabi/Revert-nvmet-constify-struct-nvmet_fabrics_ops.patch. - commit 703b658- x86/efi: Access EFI MMIO data as unencrypted when SEV is active (bsc#1099193). - commit bef90b1- ext4: include the illegal physical block in the bad map ext4_error msg (bsc#1101903). - commit e425529- ext4: check superblock mapped prior to committing (bsc#1101902). - commit 29e6b6d- ext4: add more mount time checks of the superblock (bsc#1101900). - commit e5fffd9- i40e/virtchnl: fix application of sizeof to pointer (bsc#1101816 FATE#325147 FATE#325149). - i40e: restore promiscuous after reset (bsc#1101816 FATE#325147 FATE#325149). - i40evf: fix client notify of l2 params (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix FLR reset timeout issue (bsc#1101816 FATE#325147 FATE#325149). - i40e: Remove limit of 64 max queues per channel (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix for NUP NVM image downgrade failure (bsc#1101816 FATE#325147 FATE#325149). - i40e: mark PM functions as __maybe_unused (bsc#1101816 FATE#325147 FATE#325149). - i40e: convert i40e_set_link_ksettings to new API (bsc#1101816 FATE#325147 FATE#325149). - i40e: rename 'change' variable to 'autoneg_changed' (bsc#1101816 FATE#325147 FATE#325149). - i40e: convert i40e_get_settings_link_up to new API (bsc#1101816 FATE#325147 FATE#325149). - i40e: convert i40e_phy_type_to_ethtool to new API (bsc#1101816 FATE#325147 FATE#325149). - ethtool: add ethtool_intersect_link_masks (bsc#1101816 FATE#325147 FATE#325149). - i40e: Add new PHY types for 25G AOC and ACC support (bsc#1101816 FATE#325147 FATE#325149). - i40e: group autoneg PHY types together (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix whitespace issues in i40e_ethtool.c (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix comment typo (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix i40e_phy_type_to_ethtool function header (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix clearing link masks in i40e_get_link_ksettings (bsc#1101816 FATE#325147 FATE#325149). - i40e: add function header for i40e_get_rxfh (bsc#1101816 FATE#325147 FATE#325149). - i40e: remove ifdef SPEED_25000 (bsc#1101816 FATE#325147 FATE#325149). - i40e: rename 'cmd' variables in ethtool interface (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: don't trust VF to reset itself (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix link reporting (bsc#1101816 FATE#325147 FATE#325149). - i40e: make const array patterns static, reduces object code size (bsc#1101816 FATE#325147 FATE#325149). - i40e: Add infrastructure for queue channel support (bsc#1101816 FATE#325147 FATE#325149). - i40e: Add macro for PF reset bit (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix a typo (bsc#1101816 FATE#325147 FATE#325149). - i40e: use a local variable instead of calculating multiple times (bsc#1101816 FATE#325147 FATE#325149). - i40e: Retry AQC GetPhyAbilities to overcome I2CRead hangs (bsc#1101816 FATE#325147 FATE#325149). - i40e: add check for return from find_first_bit call (bsc#1101816 FATE#325147 FATE#325149). - i40e: allow XPS with QoS enabled (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: bundle more descriptors when allocating buffers (bsc#1101816 FATE#325147 FATE#325149). - i40e: reduce lrxqthresh from 2 to 1 (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: always set the CLEARPBA flag when re-enabling interrupts (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: fix incorrect default ITR values on driver load (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix flags declaration (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: organize and re-number feature flags (bsc#1101816 FATE#325147 FATE#325149). - i40e: ignore skb->xmit_more when deciding to set RS bit (bsc#1101816 FATE#325147 FATE#325149). - i40evf: enable support for VF VLAN tag stripping control (bsc#1101816 FATE#325147 FATE#325149). - i40e: do not enter PHY debug mode while setting LEDs behaviour (bsc#1101816 FATE#325147 FATE#325149). - i40e: implement split PCI error reset handler (bsc#1101816 FATE#325147 FATE#325149). - i40e: Properly maintain flow director filters list (bsc#1101816 FATE#325147 FATE#325149). - i40e: Display error message if module does not meet thermal requirements (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix merge error (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: use DECLARE_BITMAP for state (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix incorrect register definition (bsc#1101816 FATE#325147 FATE#325149). - i40e: redfine I40E_PHY_TYPE_MAX (bsc#1101816 FATE#325147 FATE#325149). - i40e: re-enable PTP L4 capabilities for XL710 if FW >6.0 (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix a typo in i40e_pf documentation (bsc#1101816 FATE#325147 FATE#325149). - i40e: Stop dropping 802.1ad tags - eth proto 0x88a8 (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix handling of vf_states variable (bsc#1101816 FATE#325147 FATE#325149). - i40e: make i40evf_map_rings_to_vectors void (bsc#1101816 FATE#325147 FATE#325149). - i40evf: Enable VF to request an alternate queue allocation (bsc#1101816 FATE#325147 FATE#325149). - i40e: ensure reset occurs when disabling VF (bsc#1101816 FATE#325147 FATE#325149). - i40e: make use of i40e_vc_disable_vf (bsc#1101816 FATE#325147 FATE#325149). - i40e: drop i40e_pf *pf from i40e_vc_disable_vf() (bsc#1101816 FATE#325147 FATE#325149). - i40e: don't hold spinlock while resetting VF (bsc#1101816 FATE#325147 FATE#325149). - i40e: use admin queue for setting LEDs behavior (bsc#1101816 FATE#325147 FATE#325149). - i40e: Add support for 'ethtool -m' (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix reporting of supported link modes (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix a potential NULL pointer dereference (bsc#1101816 FATE#325147 FATE#325149). - i40e: remove logically dead code (bsc#1101816 FATE#325147 FATE#325149). - i40e: limit lan queue count in large CPU count machine (bsc#1101816 FATE#325147 FATE#325149). - i40e: refactor FW version checking (bsc#1101816 FATE#325147 FATE#325149). - i40e: Enable VF to negotiate number of allocated queues (bsc#1101816 FATE#325147 FATE#325149). - i40evf: fix ring to vector mapping (bsc#1101816 FATE#325147 FATE#325149). - i40e: shutdown all IRQs and disable MSI-X when suspended (bsc#1101816 FATE#325147 FATE#325149). - commit 8375c42- ext4: add more inode number paranoia checks (bsc#1099849 cve-2018-10882). - commit 2ef082c- ext4: never move the system.data xattr out of the inode body (bsc#1099845 cve-2018-10880). - commit 4f35458- ext4: clear i_data in ext4_inode_info when removing inline data (bsc#1099864 cve-2018-10881). - commit baa7a04- ext4: verify the depth of extent tree in ext4_find_extent() (bsc#1099846 cve-2018-10877). - commit 721d277- ext4: only look at the bg_flags field if it is valid (bsc#1099811 cve-2018-10876). - commit 956ddb3- ext4: make sure bitmaps and the inode table don't overlap with bg descriptors (bsc#1099813 cve-2018-10878). - commit c2af81d- ext4: always check block group bounds in ext4_init_block_bitmap() (bsc#1099813 cve-2018-10878). - commit 31a8e5b- ext4: avoid running out of journal credits when appending to an inline file (bsc#1099863 cve-2018-10883). - commit 4772e39- ext4: always verify the magic number in xattr blocks (bsc#1099844 cve-2018-10879). - commit 60a5dc5- ext4: add corruption check in ext4_xattr_set_entry() (bsc#1099844 cve-2018-10879). - commit 235be78- ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget() (bsc#1101896). - commit d7be984- blacklist.conf: blacklist 117166efb1ee - commit 70a37d4- ext4: update mtime in ext4_punch_hole even if no blocks are released (bsc#1101895). - commit 70e3fb4- i40e: don't clear suspended state until we finish resuming (bsc#1101816 FATE#325147 FATE#325149). - i40e: prevent service task from running while we're suspended (bsc#1101816 FATE#325147 FATE#325149). - Refresh patches.drivers/i40e-Close-client-on-suspend-and-restore-client-MSIx.patch. - commit 9df198c- blacklist.conf: blacklist 0d9366d67bcf - commit a5ffaff- blacklist.conf: blacklist 98c4f78dcdd8 - commit 87712ae- Force log to disk before reading the AGF during a fstrim (bsc#1101893). - commit 71f938b- udf: Detect incorrect directory size (bsc#1101891). - commit 8391b7e- udf: Provide saner default for invalid uid / gid (bsc#1101890). - commit ebbf597- jbd2: don't mark block as modified if the handle is out of credits (bsc#1099863 cve-2018-10883). - commit 2926ea8- isofs: fix potential memory leak in mount option parsing (bsc#1101887). - commit ad29748- blacklist.conf: blacklist 174d1232ebc8 - commit 31a31ab- i40e: use newer generic PM support instead of legacy PM callbacks (bsc#1101816 FATE#325147 FATE#325149). - i40e: use separate state bit for miscellaneous IRQ setup (bsc#1101816 FATE#325147 FATE#325149). - i40evf: lower message level (bsc#1101816 FATE#325147 FATE#325149). - i40e: fix for flow director counters not wrapping as expected (bsc#1101816 FATE#325147 FATE#325149). - i40e: relax warning message in case of version mismatch (bsc#1101816 FATE#325147 FATE#325149). - i40e: simplify member variable accesses (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix link down message when interface is brought up (bsc#1101816 FATE#325147 FATE#325149). - i40e: Fix unqualified module message while bringing link up (bsc#1101816 FATE#325147 FATE#325149). - i40e/i40evf: rename bytes_per_int to bytes_per_usec (bsc#1101816 FATE#325147 FATE#325149). - drivers: net: i40evf: use setup_timer() helper (bsc#1101816 FATE#325147 FATE#325149). - net: ethtool: Add macro to clear a link mode setting (bsc#1101816 FATE#325147 FATE#325149). - commit 71db825- blacklist.conf: blacklist 92183a42898d - commit 186b50c- fscache: Fix hanging wait on page discarded by writeback (bsc#1101885). - commit e791421- fs: don't scan the inode cache before SB_BORN is set (bsc#1101883). - commit b10f1e5- fs: clear writeback errors in inode_init_always (bsc#1101882). - commit b940b30- ext2: fix a block leak (bsc#1101875). - commit 20f71c9- blacklist.conf: blacklist 80660f20252d - commit 2a35b88- block: Fix transfer when chunk sectors exceeds max (bsc#1101874). - commit f2d6c9c- cdrom: do not call check_disk_change() inside cdrom_open() (bsc#1101872). - commit 326588f- bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue (bsc#1101867). - commit 7ad957c- blacklist.conf: blacklist 428edade4e6c7 - commit 2ea951e- blacklist.conf: blacklist a86b06d1ccd21 - commit 8715af2- ext4: fix fencepost error in check for inode count overflow during resize (bsc#1101853). - commit f80d662- fix io_destroy()/aio_complete() race (bsc#1101852). - commit 8e12bc8- reiserfs: fix buffer overflow with long warning messages (bsc#1101847). - commit 681d5b3- orangefs: set i_size on new symlink (bsc#1101845). - commit 14d9484- befs_lookup(): use d_splice_alias() (bsc#1101844). - commit a42c37f- ext4: report delalloc reserve as non-free in statfs for project quota (bsc#1101843). - commit b3fc4b1- ext4: factor out helper ext4_sample_last_mounted() (bsc#1101841). - commit c06c679- vfs: add the sb_start_intwrite_trylock() helper (bsc#1101841). - commit 83d517b- ext4: do not update s_last_mounted of a frozen fs (bsc#1101841). - commit 7692686- mm: fix __gup_device_huge vs unmap (bsc#1101839). - commit df63a9f- f2fs: call unlock_new_inode() before d_instantiate() (bsc#1101837). - commit ed52048- blacklist.conf: blacklist a9af3fdcc425 - commit 9fb6929- xfs: prevent creating negative-sized file via INSERT_RANGE (bsc#1101833). - commit bdcecc6- orangefs: report attributes_mask and attributes for statx (bsc#1101832). - commit 80952d7- afs: Fix directory permissions check (bsc#1101828). - blacklist.conf: Blacklist 001ab5a67ee5 - commit 008ca23- fm10k: don't protect fm10k_queue_mac_request by fm10k_host_mbx_ready (bsc#1101813 FATE#325148). - fm10k: warn if the stat size is unknown (bsc#1101813 FATE#325148). - fm10k: use macro to avoid passing the array and size separately (bsc#1101813 FATE#325148). - fm10k: use variadic arguments to fm10k_add_stat_strings (bsc#1101813 FATE#325148). - fm10k: reduce duplicate fm10k_stat macro code (bsc#1101813 FATE#325148). - fm10k: setup VLANs for l2 accelerated macvlan interfaces (bsc#1101813 FATE#325148). - fm10k: bump version number (bsc#1101813 FATE#325148). - fm10k: fix incorrect warning for function prototype (bsc#1101813 FATE#325148). - fm10k: fix function doxygen comments (bsc#1101813 FATE#325148). - fm10k: clarify action when updating the VLAN table (bsc#1101813 FATE#325148). - fm10k: correct typo in fm10k_pf.c (bsc#1101813 FATE#325148). - fm10k: don't assume VLAN 1 is enabled (bsc#1101813 FATE#325148). - fm10k: stop adding VLAN 0 to the VLAN table (bsc#1101813 FATE#325148). - fm10k: fix "failed to kill vid" message for VF (bsc#1101813 FATE#325148). - fm10k: cleanup unnecessary parenthesis in fm10k_iov.c (bsc#1101813 FATE#325148). - fm10k: Fix configuration for macvlan offload (bsc#1101813 FATE#325148). - fm10k: mark PM functions as __maybe_unused (bsc#1101813 FATE#325148). - fm10k: prefer %s and __func__ for diagnostic prints (bsc#1101813 FATE#325148). - fm10k: Fix misuse of net_ratelimit() (bsc#1101813 FATE#325148). - fm10k: bump version number (bsc#1101813 FATE#325148). - fm10k: use the MAC/VLAN queue for VF<->PF MAC/VLAN requests (bsc#1101813 FATE#325148). - fm10k: introduce a message queue for MAC/VLAN messages (bsc#1101813 FATE#325148). - fm10k: use generic PM hooks instead of legacy PCIe power hooks (bsc#1101813 FATE#325148). - fm10k: use spinlock to implement mailbox lock (bsc#1101813 FATE#325148). - fm10k: prepare_for_reset() when we lose PCIe Link (bsc#1101813 FATE#325148). - fm10k: prevent race condition of __FM10K_SERVICE_SCHED (bsc#1101813 FATE#325148). - fm10k: move fm10k_prepare_for_reset and fm10k_handle_reset (bsc#1101813 FATE#325148). - fm10k: avoid divide by zero in rare cases when device is resetting (bsc#1101813 FATE#325148). - fm10k: don't loop while resetting VFs due to VFLR event (bsc#1101813 FATE#325148). - fm10k: simplify reading PFVFLRE register (bsc#1101813 FATE#325148). - fm10k: avoid needless delay when loading driver (bsc#1101813 FATE#325148). - fm10k: add missing fall through comment (bsc#1101813 FATE#325148). - fm10k: avoid possible truncation of q_vector->name (bsc#1101813 FATE#325148). - fm10k: fix typos on fall through comments (bsc#1101813 FATE#325148). - fm10k: stop spurious link down messages when Tx FIFO is full (bsc#1101813 FATE#325148). - fm10k: Use seq_putc() in fm10k_dbg_desc_break() (bsc#1101813 FATE#325148). - fm10k: reschedule service event if we stall the PF<->SM mailbox (bsc#1101813 FATE#325148). - commit c3d0148- ixgbe: Fix setting of TC configuration for macvlan case (bsc#1101674 FATE#325150 FATE#325151). - commit 93b5927- ALSA: hda/realtek - Yet another Clevo P950 quirk entry (bsc#1101143). - commit 3e12cbc- ixgbe: fix possible race in reset subtask (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: introduce a helper to simplify code (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: fix possible race in the reset subtask (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: fix MAC address changes through ixgbevf_set_mac() (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: force VF to grab new MAC on driver reload (bsc#1101674 FATE#325150 FATE#325151). - ixgbe/ixgbevf: Free IRQ when PCI error recovery removes the device (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Drop support for macvlan specific unicast lists (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: fix ixgbevf_xmit_frame()'s return type (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: return error on unsupported SFP module when resetting (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: fix read-modify-write in x550 phy setup (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: add status reg reads to ixgbe_check_remove (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: fix disabling hide VLAN on VF reset (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: fix unused variable warning (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Add receive length error counter (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: remove redundant initialization of variable 'dma' (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: add build_skb support (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: break out Rx buffer page management (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: allocate the rings as part of q_vector (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: make sure all frames fit minimum size requirements (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: add support for padding packet (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: setup queue counts (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: add support for using order 1 pages to receive large frames (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: add ethtool private flag for legacy Rx (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: use page_address offset from page (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Avoid to write the RETA table when unnecessary (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: remove redundant initialization of 'pool' (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Fix && vs || typo (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: add support for reporting 5G link speed (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Don't report unsupported timestamping filters for X550 (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: use ARRAY_SIZE for array sizing calculation on array buf (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: use ARRAY_SIZE for various array sizing calculations (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: don't bother clearing tx_buffer_info in ixgbevf_clean_tx_ring() (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: improve performance and reduce size of ixgbevf_tx_map() (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: clear rx_buffer_info in configure instead of clean (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: add counters for Rx page allocations (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: update code to better handle incrementing page count (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: add support for DMA_ATTR_SKIP_CPU_SYNC/WEAK_ORDERING (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: use length to determine if descriptor is done (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: only DMA sync frame length (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: add function for checking if we can reuse page (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: Fix kernel-doc format warnings (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Fix kernel-doc format warnings (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Fix handling of macvlan Tx offload (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: avoid bringing rings up/down as macvlans are added/removed (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Do not manipulate macvlan Tx queues when performing macvlan offload (bsc#1101674 FATE#325150 FATE#325151). - ixgbe/fm10k: Record macvlan stats instead of Rx queue for macvlan offloaded rings (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Don't assume dev->num_tc is equal to hardware TC config (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Default to 1 pool always being allocated (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Assume provided MAC filter has been verified by macvlan (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Drop l2_accel_priv data pointer from ring struct (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Use ring values to test for Tx pending (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Fix limitations on macvlan so we can support up to 63 offloaded devices (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: There is no need to update num_rx_pools in L2 fwd offload (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Add support for macvlan offload RSS on X550 and clean-up pool handling (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Perform reinit any time number of VFs change (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Fix interaction between SR-IOV and macvlan offload (bsc#1101674 FATE#325150 FATE#325151). - ixgbevf: remove redundant setting of xcast_mode (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Remove an obsolete comment about ITR (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: extend firmware version support (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: advertise highest capable link speed (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: remove unused enum latency_range (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: enable multicast on shutdown for WOL (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: fix crash when injecting AER after failed reset (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Update adaptive ITR algorithm (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: fix the FWSM.PT check in ixgbe_mng_present() (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: add counter for times Rx pages gets allocated, not recycled (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: split Tx/Rx ring clearing for ethtool loopback test (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: add error checks when initializing the PHY (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: restore normal RSS after last macvlan offload is removed (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: declare ixgbe_mac_operations structures as const (bsc#1101674 FATE#325150 FATE#325151). - ixgbe: Clear SWFW_SYNC register during init (bsc#1101674 FATE#325150 FATE#325151). - cnic: Fix an error handling path in 'cnic_alloc_bnx2x_resc()' (bsc#1086324 FATE#324900). - commit 5bb101f- kabi/severities: add qed inter module symbols to kabi ignore list - commit afcb65f- qed: Fix use of incorrect shmem address (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix shared memory inconsistency between driver and the MFW (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - commit 9364aa7- qed*: Support drop action classification (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Support flow classification to the VFs (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed*: Support other classification modes (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Validate unsupported configurations (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Refactor ethtool rx classification flow (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Add support for populating ethernet TLVs (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add driver infrastucture for handling mfw requests (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add support for processing iscsi tlv request (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add support for processing fcoe tlv request (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add support for tlv request processing (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add MFW interfaces for TLV request support (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Add build_skb() support (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix LL2 race during connection terminate (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix possibility of list corruption during rmmod flows (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add support for Unified Fabric Port (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add support for multi function mode with 802.1ad tagging (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Remove unused data member 'is_mf_default' (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed*: Refactor mf_mode to consist of bits (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - commit b2ad2ff- Revert "nvme: mark nvme_queue_scan static" (bsc#1054245). - commit 4eef6f0- nvme: kabi fixes for nvme_ctrl (bsc#1054245). - commit dbcdf9b- tcp: verify the checksum of the first data segment in a new connection (networking-stable-18_06_20). - net: dsa: add error handling for pskb_trim_rcsum (networking-stable-18_06_20). - ipv6: allow PMTU exceptions to local routes (networking-stable-18_06_20). - net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620 (networking-stable-18_06_20). - socket: close race condition between sock_close() and sockfs_setattr() (networking-stable-18_06_20). - udp: fix rx queue len reported by diag and proc interface (networking-stable-18_06_20). - cdc_ncm: avoid padding beyond end of skb (networking-stable-18_06_20). - net/sched: act_simple: fix parsing of TCA_DEF_DATA (networking-stable-18_06_20). - bonding: re-evaluate force_primary when the primary slave name changes (networking-stable-18_06_20). - net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds vlan (networking-stable-18_06_20). - commit 5e9362d- blacklist.conf: Add 'drm/omap: check return value from soc_device_match' - commit 57b6835- module: make it clear when we're handling the module copy in info->hdr (bsc#1093666). - module: setup load info before module_sig_check() (bsc#1093666). - modsign: log module name in the event of an error (bsc#1093666). - ARM: module: fix modsign build error (bsc#1093666). - modsign: print module name along with error message (bsc#1093666). - Refresh patches.drivers/0001-module-warn-if-module-init-probe-takes-long.patch. - Refresh patches.suse/0004-MODSIGN-checking-the-blacklisted-hash-before-loading.patch. - Refresh patches.suse/0042-Enforce-module-signatures-if-the-kernel-is-locked-do.patch. - scripts/git_sort/git_sort.py: add modules-next tree - commit 31d0a45- nvme: kABI fixes for nvmet_ctrl (bsc#1054245). - Revert 'nvmet: constify struct nvmet_fabrics_ops' (bsc#1054245). - commit 6d617e4- mailbox: PCC: erroneous error message when parsing ACPI PCCT (bsc#1096330). - commit 0791116- blacklist.conf: Add 'drm/amdgpu: Refactor amdgpu_vram_mgr_bo_invisible_size helper' - commit 1cc7869- blacklist.conf: Add 'drm/amdgpu: fix the missed vcn fw version report' - commit 67c198b- nvmet: reset keep alive timer in controller enable (bsc#1054245). - nvme: don't rely on the changed namespace list log (bsc#1054245). - nvme: add bio remapping tracepoint (bsc#1054245). - nvme: cleanup double shift issue (bsc#1054245). - nvmet: filter newlines from user input (bsc#1054245). - nvme: don't hold nvmf_transports_rwsem for more than transport lookups (bsc#1054245). - nvmet: return all zeroed buffer when we can't find an active namespace (bsc#1054245). - block: always set partition number to '0' in blk_partition_remap() (bsc#1054245). - nvme: use the changed namespaces list log to clear ns data changed AENs (bsc#1054245). - nvme: mark nvme_queue_scan static (bsc#1054245). - nvme: submit AEN event configuration on startup (bsc#1054245). - nvmet: mask pending AENs (bsc#1054245). - nvmet: add AEN configuration support (bsc#1054245). - nvmet: implement the changed namespaces log (bsc#1054245). - nvmet: split log page implementation (bsc#1054245). - nvmet: add a new nvmet_zero_sgl helper (bsc#1054245). - nvme.h: add AEN configuration symbols (bsc#1054245). - nvme.h: add the changed namespace list log (bsc#1054245). - nvme.h: untangle AEN notice definitions (bsc#1054245). - nvme: host: core: fix precedence of ternary operator (bsc#1054245). - nvme: fix use-after-free in nvme_free_ns_head (bsc#1054245). - nvme/multipath: Disable runtime writable enabling parameter (bsc#1054245). - nvme: enforce 64bit offset for nvme_get_log_ext fn (bsc#1054245). - nvme: make nvme_get_log_ext non-static (bsc#1054245). - nvmet: constify struct nvmet_fabrics_ops (bsc#1054245). - nvme: centralize ctrl removal prints (bsc#1054245). - nvme: implement log page low/high offset and dwords (bsc#1054245). - commit cad5ae8- Update config files: enable CONFIG_I2C_PXA for arm64 (bsc#1101465) - commit 6109613- qed: Fix copying 2 strings (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add configuration information to register dump and debug data (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Delete unused parameter p_ptt from mcp APIs (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed* : Add new TLV to request PF to update MAC in bulletin board (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed* : use trust mode to allow VF to override forced MAC (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Fix doorbell bar mapping for dpi > 1 (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: LL2 flush isles when connection is closed (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Fix ref-cnt usage count (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: fix spelling mistake: "taskelt" -> "tasklet" (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: fix spelling mistake: "offloded" -> "offloaded" (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: fix spelling mistake: "checksumed" -> "checksummed" (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Fix wmb usage in qedr (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Zero stack memory before copying to user space (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - IB/qedr: Remove GID add/del dummy routines (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qedr: Fix spelling mistake: "hanlde" -> "handle" (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: eliminate duplicate barriers on weakly-ordered archs (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Ethtool flash update support (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Adapter flash update support (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Add APIs for flash access (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix PTT entry leak in the selftest error flow (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Populate nvm image attribute shadow (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed*: Utilize FW 8.33.11.0 (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Use true and false for boolean values (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qlogic/qed: Constify *pkt_type_str (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Do not drop rx-checksum invalidated packets (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Fix barrier usage after tx doorbell write (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: fix spelling mistake: "registeration" -> "registration" (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Fix iWARP write and send with immediate (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Fix kernel panic when running fio over NFSoRDMA (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Fix iWARP connect with port mapper (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Fix ipv6 destination address resolution (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - net: qed: use correct strncpy() size (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: code indent should use tabs where possible (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Use zeroing memory allocator than allocator/memset (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed*: Utilize FW 8.33.1.0 (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed*: HSI renaming for different types of HW (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed*: Refactoring and rearranging FW API with no functional impact (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qede: Use NETIF_F_GRO_HW (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: lower print level of flushed CQEs (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Fix endian problems around imm_data (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Use zeroing memory allocator than allocator/memset (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - drivers/net/ethernet/qlogic/qed: Fix __qed_spq_block() ordering (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - commit c78531b- ubi: fastmap: Correctly handle interrupted erasures in EBA (bsc#1051510). - commit fbbfe4a- staging: rtl8723bs: Prevent an underflow in rtw_check_beacon_data() (bsc#1051510). - commit 54445f4- PM / hibernate: Fix oops at snapshot_write() (bsc#1051510). - commit 3cdeea9- media: cx25840: Use subdev host data for PLL override (bsc#1051510). - commit b1d91d2- ASoC: mediatek: preallocate pages use platform device (bsc#1051510). - commit 44a01c9- ALSA: hda/realtek - two more lenovo models need fixup of MIC_LOCATION (bsc#1051510). - ALSA: hda - Handle pm failure during hotplug (bsc#1051510). - commit 4922c4e- qed: Free reserved MR tid (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - Refresh patches.drivers/qed-Free-RoCE-ILT-Memory-on-rmmod-qedr.patch. - Refresh patches.drivers/qed-Use-after-free-in-qed_rdma_free.patch. - commit 826659e- qed: Remove reserveration of dpi for kernel (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: Fix potential use-after-free in qed_spq_post() (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - qed: use kzalloc instead of kmalloc and memset (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Remove set-but-not-used variables (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Annotate iomem pointers correctly (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Declare local functions static (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - RDMA/qedr: Use NULL instead of 0 to represent a pointer (bsc#1086314 FATE#324886 bsc#1086313 FATE#324885 bsc#1086301 FATE#3248881). - commit 9ffb606- netdev-FAQ: clarify DaveM's position for stable backports (networking-stable-18_06_08). - rtnetlink: validate attributes in do_setlink() (networking-stable-18_06_08). - net: metrics: add proper netlink validation (networking-stable-18_06_08). - sctp: not allow transport timeout value less than HZ/5 for hb_timer (networking-stable-18_06_08). - team: use netdev_features_t instead of u32 (networking-stable-18_06_08). - net/packet: refine check for priv area size (networking-stable-18_06_08). - vrf: check the original netdevice for generating redirect (networking-stable-18_06_08). - net: usb: cdc_mbim: add flag FLAG_SEND_ZLP (networking-stable-18_06_08). - ip6_tunnel: remove magic mtu value 0xFFF8 (networking-stable-18_06_08). - kcm: Fix use-after-free caused by clonned sockets (networking-stable-18_06_08). - net-sysfs: Fix memory leak in XPS configuration (networking-stable-18_06_08). - net: ethernet: davinci_emac: fix error handling in probe() (networking-stable-18_06_08). - mlxsw: spectrum: Forbid creation of VLAN 1 over port/LAG (networking-stable-18_06_08). - ipv6: sr: fix memory OOB access in seg6_do_srh_encap/inline (networking-stable-18_06_08). - enic: set DMA mask to 47 bit (networking-stable-18_06_08). - ipv4: remove warning in ip_recv_error (networking-stable-18_06_08). - vhost: synchronize IOTLB message with dev cleanup (networking-stable-18_06_08). - net/mlx5e: When RXFCS is set, add FCS data into checksum calculation (networking-stable-18_06_08). - net/mlx4: Fix irq-unsafe spinlock usage (networking-stable-18_06_08). - net: phy: broadcom: Fix bcm_write_exp() (networking-stable-18_06_08). - net: phy: broadcom: Fix auxiliary control register reads (networking-stable-18_06_08). - net: ipv4: add missing RTA_TABLE to rtm_ipv4_policy (networking-stable-18_06_08). - virtio-net: fix leaking page for gso packet during mergeable XDP (networking-stable-18_06_08). - virtio-net: correctly transmit XDP buff after linearizing (networking-stable-18_06_08). - qed: Fix mask for physical address in ILT entry (networking-stable-18_06_08). - ipmr: properly check rhltable_init() return value (networking-stable-18_06_08). - dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect() (networking-stable-18_06_08). - net: ethernet: ti: cpdma: correct error handling for chan create (networking-stable-18_06_08). - commit 659a5fd- RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes (bsc#1086283 FATE#324874). - RDMA/bnxt_re: Remove redundant bnxt_qplib_disable_nq() call (bsc#1086283 FATE#324874). - commit 6b2af6f- bnxt_en: Always forward VF MAC address to the PF (bsc#1086282 FATE#324873). - bnxt_en: Read phy eeprom A2h address only when optical diagnostics is supported (bsc#1086282 FATE#324873). - bnxt_en: Check unsupported speeds in bnxt_update_link() on PF only (bsc#1086282 FATE#324873). - bnxt_en: Fix firmware message delay loop regression (bsc#1086282 FATE#324873). - bnxt_en: Reserve rings at driver open if none was reserved at probe time (bsc#1086282 FATE#324873). - bnxt_en: Reserve RSS and L2 contexts for VF (bsc#1086282 FATE#324873). - bnxt_en: Don't reserve rings on VF when min rings were not provisioned by PF (bsc#1086282 FATE#324873). - bnxt_en: Reserve rings in bnxt_set_channels() if device is down (bsc#1086282 FATE#324873). - bnxt_en: reduce timeout on initial HWRM calls (bsc#1086282 FATE#324873). - bnxt_en: Increase RING_IDLE minimum threshold to 50 (bsc#1086282 FATE#324873). - bnxt_en: Do not allow VF to read EEPROM (bsc#1086282 FATE#324873). - bnxt_en: Display function level rx/tx_discard_pkts via ethtool (bsc#1086282 FATE#324873). - bnxt_en: Simplify ring alloc/free error messages (bsc#1086282 FATE#324873). - bnxt_en: Do not set firmware time from VF driver on older firmware (bsc#1086282 FATE#324873). - bnxt_en: Check the lengths of encapsulated firmware responses (bsc#1086282 FATE#324873). - bnxt_en: Remap TC to hardware queues when configuring PFC (bsc#1086282 FATE#324873). - bnxt_en: Add TC to hardware QoS queue mapping logic (bsc#1086282 FATE#324873). - bpf: make bnxt compatible w/ bpf_xdp_adjust_tail (bsc#1086282 FATE#324873). - bnxt_en: Fix NULL pointer dereference at bnxt_free_irq() (bsc#1086282 FATE#324873). - bnxt_en: Need to include RDMA rings in bnxt_check_rings() (bsc#1086282 FATE#324873). - bnxt_en: Support max-mtu with VF-reps (bsc#1086282 FATE#324873). - bnxt_en: Fix ethtool -x crash when device is down (bsc#1086282 FATE#324873). - bnxt_en: Add ULP calls to stop and restart IRQs (bsc#1086282 FATE#324873). - bnxt_en: Reserve completion rings and MSIX for bnxt_re RDMA driver (bsc#1086282 FATE#324873). - bnxt_en: Refactor bnxt_need_reserve_rings() (bsc#1086282 FATE#324873). - bnxt_en: Add IRQ remapping logic (bsc#1086282 FATE#324873). - bnxt_en: Change IRQ assignment for RDMA driver (bsc#1086282 FATE#324873). - bnxt_en: Improve ring allocation logic (bsc#1086282 FATE#324873). - bnxt_en: Improve valid bit checking in firmware response message (bsc#1086282 FATE#324873). - bnxt_en: Improve resource accounting for SRIOV (bsc#1086282 FATE#324873). - bnxt_en: Check max_tx_scheduler_inputs value from firmware (bsc#1086282 FATE#324873). - bnxt_en: Add extended port statistics support (bsc#1086282 FATE#324873). - bnxt_en: Include additional hardware port statistics in ethtool - S (bsc#1086282 FATE#324873). - bnxt_en: Add support for ndo_set_vf_trust (bsc#1086282 FATE#324873). - bnxt_en: Use a dedicated VNIC mode for RDMA (bsc#1086282 FATE#324873). - bnxt_en: Adjust default rings for multi-port NICs (bsc#1086282 FATE#324873). - bnxt_en: Update firmware interface to 1.9.1.15 (bsc#1086282 FATE#324873). - bnxt_en: Eliminate duplicate barriers on weakly-ordered archs (bsc#1086282 FATE#324873). - bnxt_en: close & open NIC, only when the interface is in running state (bsc#1086282 FATE#324873). - bnxt_en: Fix regressions when setting up MQPRIO TX rings (bsc#1086282 FATE#324873). - bnxt_en: Pass complete VLAN TCI to the stack (bsc#1086282 FATE#324873). - bnxt_en: Fix vnic accounting in the bnxt_check_rings() path (bsc#1086282 FATE#324873). - bnxt_en: Refactor the functions to reserve hardware rings (bsc#1086282 FATE#324873). - bnxt_en: export a common switchdev PARENT_ID for all reps of an adapter (bsc#1086282 FATE#324873). - bnxt_en: Add cache line size setting to optimize performance (bsc#1086282 FATE#324873). - bnxt_en: Forward VF MAC address to the PF (bsc#1086282 FATE#324873). - bnxt_en: Add BCM5745X NPAR device IDs (bsc#1086282 FATE#324873). - bnxt_en: Expand bnxt_check_rings() to check all resources (bsc#1086282 FATE#324873). - bnxt_en: Implement new method for the PF to assign SRIOV resources (bsc#1086282 FATE#324873). - bnxt_en: Reserve resources for RFS (bsc#1086282 FATE#324873). - bnxt_en: Implement new method to reserve rings (bsc#1086282 FATE#324873). - bnxt_en: Set initial default RX and TX ring numbers the same in combined mode (bsc#1086282 FATE#324873). - bnxt_en: Add the new firmware API to query hardware resources (bsc#1086282 FATE#324873). - bnxt_en: Refactor hardware resource data structures (bsc#1086282 FATE#324873). - bnxt_en: Restore MSIX after disabling SRIOV (bsc#1086282 FATE#324873). - bnxt_en: Refactor bnxt_close_nic() (bsc#1086282 FATE#324873). - bnxt_en: Update firmware interface to 1.9.0 (bsc#1086282 FATE#324873). - ethernet/broadcom: Use zeroing memory allocator than allocator/memset (bsc#1086282 FATE#324873). - commit 4f4d8d1- kmod: fix wait on recursive loop (bsc#1099792). - wait: add wait_event_killable_timeout() (bsc#1099792). - kmod: throttle kmod thread limit (bsc#1099792). - kmod: reduce atomic operations on kmod_concurrent and simplify (bsc#1099792). - commit d8a7e2c- restore cond_resched() in shrink_dcache_parent() (bsc#1098599). - Refresh patches.fixes/dcache-add-cond_resched-in-shrink_dentry_list.patch. - commit 460aaf6- drm: Use kvzalloc for allocating blob property memory (bsc#1101352). - commit f1b9fcd- HID: add backlight level quirk for Asus ROG laptops (bsc#1101324). - commit bbee3e0- drm/udl: fix display corruption of the last line (bsc#1101337). - commit dd004cb- nl80211: relax ht operation checks for mesh (bsc#1051510). - commit 7bed2e0- vmw_balloon: fix inflation with batching (bsc#1051510). - commit 6791362- blacklist.conf: blacklist 68c59fcea1f2 ("scsi: sg: fix SG_DXFER_FROM_DEV transfers") - commit 3748a31- dax: check for QUEUE_FLAG_DAX in bdev_dax_supported() (bsc#1101315). - commit a8f6b16- Pass x86 as architecture on x86_64 and i386 (bsc#1093118). - commit 5f24fb0- Fix the build of da9063_wdt module (bsc#1100843) Backport the missing prerequisite commit, move the previous fixes into the sorted section and refresh. - commit b022133- scsi: sg: mitigate read/write abuse (bsc#1101296). - commit fb00485- vfio: Use get_user_pages_longterm correctly (bsc#1095337). - commit 8e5df06- Documentation: Add section about CPU vulnerabilities (bsc#1089343 CVE-2018-3646). - x86/bugs, kvm: Introduce boot-time control of L1TF mitigations (bsc#1089343 CVE-2018-3646). - cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early (bsc#1089343 CVE-2018-3646). - cpu/hotplug: Expose SMT control init function (bsc#1089343 CVE-2018-3646). - x86/kvm: Allow runtime control of L1D flush (bsc#1089343 CVE-2018-3646). - x86/kvm: Serialize L1D flush parameter setter (bsc#1089343 CVE-2018-3646). - x86/kvm: Add static key for flush always (bsc#1089343 CVE-2018-3646). - x86/kvm: Move l1tf setup function (bsc#1089343 CVE-2018-3646). - x86/l1tf: Handle EPT disabled state proper (bsc#1089343 CVE-2018-3646). - x86/kvm: Drop L1TF MSR list approach (bsc#1089343 CVE-2018-3646). - x86/litf: Introduce vmx status variable (bsc#1089343 CVE-2018-3646). - commit 002bf03- HID: wacom: Add support for One by Wacom (CTL-472 / CTL-672) (bsc#1100633). - commit e78ab26- Correct bug reference in the patch (bnc#1095155) Refreshed patches.suse/mremap-Remove-LATENCY_LIMIT-from-mremap-to-reduce-the-number-of-TLB-shootdowns.patch - commit f9d8d21- nvme-rdma: don't override opts->queue_size (bsc#1099041). - nvme-rdma: Fix command completion race at error recovery (bsc#1099041). - nvme-rdma: fix possible double free condition when failing to create a controller (bsc#1099041). - nvme-rdma: fix error flow during mapping request data (bsc#1099041). - nvme-rdma: correctly check for target keyed sgl support (bsc#1099041). - commit 9801f97- nvme: move init of keep_alive work item to controller initialization (bsc#1098706). - commit 2640b14- scripts/git_sort/git_sort.py: Update nvme git repository - commit c956504- nvme-fc: release io queues to allow fast fail (bsc#1098706). - commit b66476d- cpuidle: powernv: Fix promotion from snooze if next state disabled (bsc#1100884). - commit e7f4bcc- cpufreq: governors: Fix long idle detection logic in load calculation (bsc#1100884). - commit 2312a75- cpufreq: Fix new policy initialization during limits updates via sysfs (bsc#1100884). - commit eafbeaa- cpufreq: powernv: Fix hardlockup due to synchronous smp_call in timer interrupt (bsc#1100884). - commit 2f2e403- cpufreq: CPPC: Initialize shared perf capabilities of CPUs (bsc#1100884). - commit 1731fd4- cpufreq: cppc_cpufreq: Fix cppc_cpufreq_init() failure path (bsc#1100884). - commit ea23b9f- watchdog: da9063: Fix timeout handling during probe (bsc#1100843). - watchdog: da9063: Fix updating timeout value (bsc#1100843). - watchdog: da9063: Fix setting/changing timeout (bsc#1100843). - commit 5377bd8- HID: hiddev: fix potential Spectre v1 (bsc#1051510). - HID: i2c-hid: Fix "incomplete report" noise (bsc#1051510). - HID: wacom: Correct touch maximum XY of 2nd-gen Intuos (bsc#1051510). - HID: debug: check length before copy_to_user() (bsc#1051510). - commit cdce397- powerpc: Machine check interrupt is a non-maskable interrupt (bsc#1094244). - powerpc/64s: Fix mce accounting for powernv (bsc#1094244). - commit b198316- hwtracing: stm: fix build error on some arches (bsc#1051510). - commit 7ee2bee- hwmon: (nct6775) Fix writing pwmX_mode (bsc#1051510). - hwmon: (pmbus/adm1275) Accept negative page register values (bsc#1051510). - hwmon: (pmbus/max8688) Accept negative page register values (bsc#1051510). - hwmon: (jc42) optionally try to disable the SMBUS timeout (bsc#1051510). - commit fd457f0- libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk (bsc#1051510). - libata: zpodd: small read overflow in eject_tray() (bsc#1051510). - libata: blacklist Micron 500IT SSD with MU01 firmware (bsc#1051510). - libata: Blacklist some Sandisk SSDs for NCQ (bsc#1051510). - libata: Apply NOLPM quirk for SanDisk SD7UB3Q*G1001 SSDs (bsc#1051510). - libata: zpodd: make arrays cdb static, reduces object code size (bsc#1051510). - commit f52a8e4- mailbox: mailbox-test: don't rely on rx_buffer content to signal data ready (bsc#1051510). - mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence (bsc#1051510). - mailbox: bcm-flexrm-mailbox: Fix mask used in CMPL_START_ADDR_VALUE() (bsc#1051510). - commit b53502f- NFC: pn533: don't send USB data off of the stack (bsc#1051510). - NFC: llcp: Limit size of SDP URI (bsc#1051510). - commit 5478f9f- pwm: lpss: platform: Save/restore the ctrl register over a suspend/resume (bsc#1051510). - commit ee4bbfb- pwm: rcar: Fix a condition to prevent mismatch value setting to duty (bsc#1051510). - pwm: stmpe: Fix wrong register offset for hwpwm=2 case (bsc#1051510). - commit fa9b53a- stm class: Use vmalloc for the master map (bsc#1051510). - stm class: Fix a use-after-free (bsc#1051510). - commit 93b84cc- tty/serial: atmel: use port->name as name in request_irq() (bsc#1051510). - tty: pl011: Avoid spuriously stuck-off interrupts (bsc#1051510). - tty: n_gsm: Fix DLCI handling for ADM mode if debug & 2 is not set (bsc#1051510). - tty: n_gsm: Fix long delays with control frame timeouts in ADM mode (bsc#1051510). - tty: n_gsm: Allow ADM response in addition to UA for control dlci (bsc#1051510). - commit ed20bf1- rmdir(),rename(): do shrink_dcache_parent() only on success (bsc#1100340). - commit 9a4b149- Fix kABI breakage with CONFIG_RT_GROUP_SCHED=n (bsc#1100734). - commit 94a75dc- Update config files: disable CONFIG_RT_GROUP_SCHED again (bsc#1100734) - commit ea3399f- drm/i915: Fix context ban and hang accounting for client (bsc#1051510). - drm/i915/gvt: fix memory leak of a cmd_entry struct on error exit path (bsc#1051510). - drm/i915/psr: Chase psr.enabled only under the psr.lock (bsc#1051510). - drm/i915: Remove unbannable context spam from reset (bsc#1051510). - commit f8dc375- selinux: KASAN: slab-out-of-bounds in xattr_getsecurity (bsc#1051510). - selinux: skip bounded transition processing if the policy isn't loaded (bsc#1051510). - selinux: ensure the context is NUL terminated in security_context_to_sid_core() (bsc#1051510). - commit 5ec0bfb- cpu/hotplug: Online siblings when SMT control is turned on (bsc#1089343 CVE-2018-3646). - commit a1d8880- blacklist.conf: Add IMA kconfig stable entry - commit a8ff557- vt: prevent leaking uninitialized data to userspace via /dev/vcs* (bsc#1051510). - commit ef62f0b- vmw_balloon: fixing double free when batching mode is off (bsc#1051510). - commit 5807b07- virtio_console: reset on out of memory (bsc#1051510). - virtio_console: move removal code (bsc#1051510). - virtio_console: drop custom control queue cleanup (bsc#1051510). - virtio_console: free buffers after reset (bsc#1051510). - virtio: add ability to iterate over vqs (bsc#1051510). - virtio_console: don't tie bufs to a vq (bsc#1051510). - virtio_ring: fix num_free handling in error case (bsc#1051510). - commit f104319- thermal: bcm2835: Stop using printk format %pCr (bsc#1051510). - thermal: exynos: Propagate error value from tmu_read() (bsc#1051510). - thermal: exynos: Reading temperature makes sense only when TMU is turned on (bsc#1051510). - thermal: int3403_thermal: Fix NULL pointer deref on module load / probe (bsc#1051510). - thermal: int3400_thermal: fix error handling in int3400_thermal_probe() (bsc#1051510). - commit f4975a6- tee: check shm references are consistent in offset/size (bsc#1051510). - tee: shm: fix use-after-free via temporarily dropped reference (bsc#1051510). - commit 45e76d0- swap: divide-by-zero when zero length swap file on ssd (bsc#1051510). - commit c0e3326- rtc: snvs: Fix usage of snvs_rtc_enable (bsc#1051510). - rtc: hctosys: Ensure system time doesn't overflow time_t (bsc#1051510). - rtc: tx4939: avoid unintended sign extension on a 24 bit shift (bsc#1051510). - commit 72b2a6a- pty: cancel pty slave port buf's work in tty_release (bsc#1051510). - commit 0a7a1c8- pinctrl: adi2: Fix Kconfig build problem (bsc#1051510). - commit 1474c28- n_tty: Access echo_* variables carefully (bsc#1051510). - n_tty: Fix stall at n_tty_receive_char_special() (bsc#1051510). - commit 5d3649d- lsm: fix smack_inode_removexattr and xattr_getsecurity memleak (bsc#1051510). - commit 8570266- lib/test_bitmap.c: fix bitmap optimisation tests to report errors correctly (bsc#1051510). - commit f2d1c09- cpufreq: intel_pstate: Fix scaling max/min limits with Turbo 3.0 (bsc#1051510). - Refresh patches.suse/cpufreq-intel_pstate-use-setpoint-of-10-on-servers.patch. - commit a4772b7- video: uvesafb: Fix integer overflow in allocation (bsc#1100418, CVE-2018-13406). - commit 0efb882- printk: fix possible reuse of va_list variable (bsc#1100602). - commit 794ace8- backlight: tps65217_bl: Fix Device Tree node lookup (bsc#1051510). - backlight: max8925_bl: Fix Device Tree node lookup (bsc#1051510). - backlight: as3711_bl: Fix Device Tree node lookup (bsc#1051510). - pinctrl/amd: Fix build dependency on pinmux code (bsc#1051510). - commit 4f3ead9- platform/x86: asus-wmi: Fix NULL pointer dereference (bsc#1051510). - platform/chrome: cros_ec_lpc: remove redundant pointer request (bsc#1051510). - commit 87ccf0d- pipe: fix off-by-one error when checking buffer limits (bsc#1051510). - commit 32c6460- pinctrl: sh-pfc: r8a7796: Fix MOD_SEL register pin assignment for SSI pins group (bsc#1051510). - pinctrl: artpec6: dt: add missing pin group uart5nocts (bsc#1051510). - pinctrl: sx150x: Add a static gpio/pinctrl pin range mapping (bsc#1051510). - pinctrl: sx150x: Register pinctrl before adding the gpiochip (bsc#1051510). - pinctrl: sx150x: Unregister the pinctrl on release (bsc#1051510). - pinctrl: sh-pfc: r8a7795-es1: Fix MOD_SEL1 bit[25:24] to 0x3 when using STP_ISEN_1_D (bsc#1051510). - pinctrl: rockchip: enable clock when reading pin direction register (bsc#1051510). - pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1051510). - pinctrl: sunxi: Fix A64 UART mux value (bsc#1051510). - pinctrl: sunxi: Fix A80 interrupt pin bank (bsc#1051510). - pinctrl: armada-37xx: Fix direction_output() callback behavior (bsc#1051510). - pinctrl/amd: save pin registers over suspend/resume (bsc#1051510). - pinctrl: samsung: Fix invalid register offset used for Exynos5433 external interrupts (bsc#1051510). - pinctrl: samsung: Fix NULL pointer exception on external interrupts on S3C24xx (bsc#1051510). - commit 49874e4- Refresh patches.kabi/iio-kabi-fix-for-iio_buffer.patch. - commit 9df6e15- iio: buffer: fix the function signature to match implementation (bsc#1051510). - commit 5729024- sunrpc: remove incorrect HMAC request initialization (bsc#1051510). - commit 1fa4951- serdev: fix memleak on module unload (bsc#1051510). - commit e508309- PCI: aardvark: Fix PCIe Max Read Request Size setting (bsc#1051510). - PCI: aardvark: Use ISR1 instead of ISR0 interrupt in legacy irq mode (bsc#1051510). - PCI: aardvark: Set PIO_ADDR_LS correctly in advk_pcie_rd_conf() (bsc#1051510). - PCI: aardvark: Fix logic in advk_pcie_{rd,wr}_conf() (bsc#1051510). - p54: don't unregister leds when they are not initialized (bsc#1051510). - commit 4572716- mmc: dw_mmc: exynos: fix the suspend/resume issue for exynos5433 (bsc#1051510). - commit 4780889- Fix kABI breakage of iio_buffer (bsc#1051510). - iio:buffer: make length types match kfifo types (bsc#1051510). - commit 9adbd1a- drm/atmel-hlcdc: check stride values in the first plane (bsc#1051510). - drm/i915: Enable provoking vertex fix on Gen9 systems (bsc#1051510). - drm/amdgpu: Use kvmalloc_array for allocating VRAM manager nodes array (bsc#1051510). - drm/amdgpu: Add APU support in vi_set_vce_clocks (bsc#1051510). - drm/amdgpu: Add APU support in vi_set_uvd_clocks (bsc#1051510). - commit ded63ff- alarmtimer: Prevent overflow for relative nanosleep (CVE-2018-13053 bsc#1099924). - commit d4f1d04- Revert "scsi: core: return BLK_STS_OK for DID_OK in __scsi_error_from_host_byte()" (bsc#1099918). - blk-mq: make sure that correct hctx->next_cpu is set (bsc#1099918). - macvlan: fix memory hole in macvlan_dev (bsc#1099918). - blk-mq: make sure hctx->next_cpu is set correctly (bsc#1099918). - commit 9f84d4b- ARM: amba: Don't read past the end of sysfs "driver_override" buffer (CVE-2018-9385,bsc#1100491). - commit 96313ba- README.BRANCH: add Takashi as co-maintainer - commit a08c187- Fix up non-directory creation in SGID directories (CVE-2018-13405, bsc#1100416). - commit ca27a26- Update patches.arch/02-x86-KVM-VMX-Add-module-argument-for-L1TF-mitigation.patch (bsc#1089343 CVE-2018-3646): fix patch metadata - commit fb616a7- x86/cpufeatures: Add detection of L1D cache flush support (bsc#1089343 CVE-2018-3646). - commit bd2b58e- IB/ipoib: Fix for notify send CQ failure messages (bsc#1096793 FATE#325050). - IB/ipoib: Change number of TX wqe to 64 (bsc#1096793 FATE#325050). - IB/ipoib: Use NAPI in UD/TX flows (bsc#1096793 FATE#325050). - IB/ipoib: Get rid of the tx_outstanding variable in all modes (bsc#1096793 FATE#325050). - commit 3ef2fb9- x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required (bsc#1089343 CVE-2018-3646). - kabi/severities: ignore x86_kvm_ops; lttng-modules would have to be adjusted in case they depend on this particular change - x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs (bsc#1089343 CVE-2018-3646). - x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting (bsc#1089343 CVE-2018-3646). - x86/KVM/VMX: Add find_msr() helper function (bsc#1089343 CVE-2018-3646). - x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers (bsc#1089343 CVE-2018-3646). - x86/KVM/VMX: Add L1D flush logic (bsc#1089343 CVE-2018-3646). - x86/KVM/VMX: Add L1D MSR based flush (bsc#1089343 CVE-2018-3646). - x86/KVM/VMX: Add L1D flush algorithm (bsc#1089343 CVE-2018-3646). - x86/KVM/VMX: Add module argument for L1TF mitigation. - x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present (bsc#1089343 CVE-2018-3646). - commit 0c0fd37- Reorder patch stack to have L1TF bare metal preceed further mitigations - commit f74742c- cpu/hotplug: Boot HT siblings at least once (bsc#1089343 CVE-2018-3646). - commit dbb874a- bnx2x: use the right constant (bsc#1086323 FATE#324899). - bnx2x: Collect the device debug information during Tx timeout (bsc#1086323 FATE#324899). - bnx2x: Replace doorbell barrier() with wmb() (bsc#1086323 FATE#324899). - bnx2x: fix spelling mistake: "registeration" -> "registration" (bsc#1086323 FATE#324899). - bnx2x: Deprecate pci_get_bus_and_slot() (bsc#1086323 FATE#324899). - bnx2x: Use NETIF_F_GRO_HW (bsc#1086323 FATE#324899). - bnx2x: fix slowpath null crash (bsc#1086323 FATE#324899). - bnx2x: Use pci_ari_enabled() instead of local copy (bsc#1086323 FATE#324899). - drivers: net: bnx2x: use setup_timer() helper (bsc#1086323 FATE#324899). - commit 8804b46- IB/hfi1: Show fault stats in both TX and RX directions (bsc#1096793 FATE#325050). - commit 9714ec8- virtio-gpu: fix ioctl and expose the fixed status to userspace (bsc#1100382). - commit eeb6b0b- IB/hfi1: Ensure VL index is within bounds (bsc#1096793 FATE#325050). - IB/{rdmavt,hfi1}: Change hrtimer add to use pinned version (bsc#1096793 FATE#325050). - IB/hfi1: Set port number for errorinfo MAD response (bsc#1096793 FATE#325050). - IB/hfi1: Create common functions for affinity CPU mask operations (bsc#1096793 FATE#325050). - IB/hfi1: Optimize kthread pointer locking when queuing CQ entries (bsc#1096793 FATE#325050). - IB/Hfi1: Read CCE Revision register to verify the device is responsive (bsc#1096793 FATE#325050). - IB/{hfi1, qib}: Add handling of kernel restart (bsc#1096793 FATE#325050). - IB/hfi1: Reorder incorrect send context disable (bsc#1096793 FATE#325050). - IB/hfi1: Return correct value for device state (bsc#1096793 FATE#325050). - IB/hfi1: Complete check for locally terminated smp (bsc#1096793 FATE#325050). - IB/hfi1: Prevent LNI hang when LCB can't obtain lanes (bsc#1096793 FATE#325050). - IB/hfi1: Use after free race condition in send context error path (bsc#1096793 FATE#325050). - IB/hfi1: Fix memory leak in exception path in get_irq_affinity() (bsc#1096793 FATE#325050). - IB/{hfi1, rdmavt}: Fix memory leak in hfi1_alloc_devdata() upon failure (bsc#1096793 FATE#325050). - IB/hfi1: Fix loss of BECN with AHG (bsc#1096793 FATE#325050). - IB/hfi1 Use correct type for num_user_context (bsc#1096793 FATE#325050). - IB/hfi1: Convert PortXmitWait/PortVLXmitWait counters to flit times (bsc#1096793 FATE#325050). - IB/hfi1: Do not override given pcie_pset value (bsc#1096793 FATE#325050). - IB/hfi1: Look up ibport using a pointer in receive path (bsc#1096793 FATE#325050). - IB/hfi1: Optimize packet type comparison using 9B and bypass code paths (bsc#1096793 FATE#325050). - IB/hfi1: Compute BTH only for RDMA_WRITE_LAST/SEND_LAST packet (bsc#1096793 FATE#325050). - IB/hfi1: Fix for early release of sdma context (bsc#1096793 FATE#325050). - IB/rdmavt: Add trace for RNRNAK timer (bsc#1096793 FATE#325050). - IB/rdmavt: Use correct numa node for SRQ allocation (bsc#1096793 FATE#325050). - IB/rdmavt: No need to cancel RNRNAK retry timer when it is running (bsc#1096793 FATE#325050). - IB/hfi1: Handle initial value of 0 for CCTI setting (bsc#1096793 FATE#325050). - IB/hfi1: Send 'reboot' as planned down remote reason (bsc#1096793 FATE#325050). - IB/hfi1: Prohibit invalid Init to Armed state transition (bsc#1096793 FATE#325050). - IB/hfi1: Do not allocate PIO send contexts for VNIC (bsc#1096793 FATE#325050). - IB/hfi1: Fix a wrapping test to insure the correct timeout (bsc#1096793 FATE#325050). - IB/hfi1: Don't modify num_user_contexts module parameter (bsc#1096793 FATE#325050). - IB/hfi1: Insure int mask for in-kernel receive contexts is clear (bsc#1096793 FATE#325050). - IB/hfi1: Add tx_opcode_stats like the opcode_stats (bsc#1096793 FATE#325050). - IB/hfi1: Validate PKEY for incoming GSI MAD packets (bsc#1096793 FATE#325050). - commit a7b94f5- IB/hfi1: Race condition between user notification and driver state (bsc#1096793 FATE#325050). - Refresh patches.drivers/IB-hfi1-Allow-MgmtAllowed-on-B2B-setups.patch. - commit 8ad721b- IB/hfi1: Fix serdes loopback set-up (bsc#1096793 FATE#325050). - IB/hfi1: Refactor get_user() IOCTLs (bsc#1096793 FATE#325050). - IB/hfi1: Refactor hfi_user_exp_rcv_invalid() IOCTLs (bsc#1096793 FATE#325050). - IB/hfi1: Refactor hfi_user_exp_rcv_clear() IOCTLs (bsc#1096793 FATE#325050). - IB/hfi1: Refactor hfi_user_exp_rcv_setup() IOCTL (bsc#1096793 FATE#325050). - IB/hfi1: Refactor get_base_info (bsc#1096793 FATE#325050). - IB/hfi1: Refactor get_ctxt_info (bsc#1096793 FATE#325050). - IB/hfi1: Refactor assign_ctxt() IOCTL (bsc#1096793 FATE#325050). - IB/hfi1: Add a safe wrapper for _rcd_get_by_index (bsc#1096793 FATE#325050). - IB/hfi1: Remove unused hfi1_cpulist variables (bsc#1096793 FATE#325050). - IB/hfi1: Inline common calculation (bsc#1096793 FATE#325050). - IB/hfi1: Update HFI to use the latest PCI API (bsc#1096793 FATE#325050). - commit c714f7b- vfb: fix video mode and line_length being set when loaded (bsc#1100362). - commit 4b5f7c9- drm/msm: don't deref error pointer in the msm_fbdev_create error path (bsc#1100209). - commit 96e00a5- drm/i915: Try GGTT mmapping whole object as partial (bsc#1051510). - commit fcad981- net: qlge: use memmove instead of skb_copy_to_linear_data (bsc#1050529 FATE#322902 bsc#1086319 FATE#324895). - commit 911a2e8- nvme-multipath: fix sysfs dangerously created links (bsc#1096529). - Refresh patches.drivers/Revert-nvme-create-slaves-and-holders-entries-for-hi.patch. - Refresh patches.drivers/nvme-multipath-Fix-multipath-disabled-naming-collisi.patch. - commit db0cfa2- drbd: Fix drbd_request_prepare() discard handling (bsc#1099918). - block: Fix cloning of requests with a special payload (bsc#1099918). - dm raid: don't use 'const' in function return (bsc#1099918). - dm zoned: avoid triggering reclaim from inside dmz_map() (bsc#1099918). - dm: use bio_split() when splitting out the already processed bio (bsc#1099918). - block: sed-opal: Fix a couple off by one bugs (bsc#1099918). - blk-mq: reinit q->tag_set_list entry only after grace period (bsc#1099918). - arch/*: Kconfig: fix documentation for NMI watchdog (bsc#1099918). - lib/string_helpers: Add missed declaration of struct task_struct (bsc#1099918). - vfio: platform: Fix reset module leak in error path (bsc#1099918). - mtd: cmdlinepart: Update comment for introduction of OFFSET_CONTINUOUS (bsc#1099918). - media: smiapp: fix timeout checking in smiapp_read_nvm (bsc#1099918). - powerpc/ptrace: Fix enforcement of DAWR constraints (bsc#1099918). - nbd: fix nbd device deletion (bsc#1099918). - tracing: Make the snapshot trigger work with instances (bsc#1099918). - dm integrity: use kvfree for kvmalloc'd memory (bsc#1099918). - earlycon: Use a pointer table to fix __earlycon_table stride (bsc#1099918). - tracing: Fix missing tab for hwlat_detector print format (bsc#1099918). - scsi: target: fix crash with iscsi target and dvd (bsc#1099918). - block/swim: Remove extra put_disk() call from error path (bsc#1099918). - tracing/uprobe_event: Fix strncpy corner case (bsc#1099918). - blk-mq: don't keep offline CPUs mapped to hctx 0 (bsc#1099918). - mtd: jedec_probe: Fix crash in jedec_read_mfr() (bsc#1099918). - tracing: probeevent: Fix to support minus offset from symbol (bsc#1099918). - mtd: nand: fsl_ifc: Fix eccstat array overflow for IFC ver >= 2.0.0 (bsc#1099918). - scsi: core: return BLK_STS_OK for DID_OK in __scsi_error_from_host_byte() (bsc#1099918). - nbd: fix return value in error handling path (bsc#1099918). - userns: Don't fail follow_automount based on s_user_ns (bsc#1099918). - nubus: Fix up header split (bsc#1099918). - nubus: Avoid array underflow and overflow (bsc#1099918). - block: Fix __bio_integrity_endio() documentation (bsc#1099918). - blk-mq: simplify queue mapping & schedule with each possisble CPU (bsc#1099918). - block, bfq: fix occurrences of request finish method's old name (bsc#1099918). - pktcdvd: Fix a recently introduced NULL pointer dereference (bsc#1099918). - pktcdvd: Fix pkt_setup_dev() error path (bsc#1099918). - tracing: Fix converting enum's from the map in trace_event_eval_update() (bsc#1099918). - commit dd2c7b5- dm mpath: fix bio-based multipath queue_if_no_path handling (bsc#1099918). - Refresh patches.suse/dm-mpath-accept-failed-paths for above change. - commit 1713506- timekeeping: Eliminate the stale declaration of ktime_get_raw_and_real_ts64() (bsc#1099918). - block, bfq: add missing invocations of bfqg_stats_update_io_add/remove (bsc#1099918). - ide: Make ide_cdrom_prep_fs() initialize the sense buffer pointer (bsc#1099918). - driver core: Move device_links_purge() after bus_remove_device() (bsc#1099918). - macvlan: remove unused fields in struct macvlan_dev (bsc#1099918). - tracing: Kconfig text fixes for CONFIG_HWLAT_TRACER (bsc#1099918). - ide: ide-atapi: fix compile error with defining macro DEBUG (bsc#1099918). - nbd: don't start req until after the dead connection logic (bsc#1099918). - nbd: wait uninterruptible for the dead timeout (bsc#1099918). - block: cope with WRITE ZEROES failing in blkdev_issue_zeroout() (bsc#1099918). - block: factor out __blkdev_issue_zero_pages() (bsc#1099918). - ide:ide-cd: fix kernel panic resulting from missing scsi_req_init (bsc#1099918). - blk-mq-debugfs: fix device sched directory for default scheduler (bsc#1099918). - nbd: fix -ERESTARTSYS handling (bsc#1099918). - mm, oom_reaper: skip mm structs with mmu notifiers (bsc#1099918). - Btrfs: use btrfs_op instead of bio_op in __btrfs_map_block (bsc#1099918). - f2fs: fix to wake up all sleeping flusher (bsc#1099918). - ftrace: Fix selftest goto location on error (bsc#1099918). - mq-deadline: Enable auto-loading when built as module (bsc#1099918). - bfq: Re-enable auto-loading when built as a module (bsc#1099918). - dm: fix printk() rate limiting code (bsc#1099918). - mtd: partitions: remove sysfs files when deleting all master's partitions (bsc#1099918). - mtd: partitions: add helper for deleting partition (bsc#1099918). - dm: convert DM printk macros to pr_ macros (bsc#1099918). - commit 2c24b02- net sched actions: fix refcnt leak in skbmod (networking-stable-18_05_15). - net: sched: fix error path in tcf_proto_create() when modules are not configured (networking-stable-18_05_15). - net/mlx5e: Err if asked to offload TC match on frag being first (networking-stable-18_05_15). - net/mlx5: E-Switch, Include VF RDMA stats in vport statistics (networking-stable-18_05_15). - ipv4: fix memory leaks in udp_sendmsg, ping_v4_sendmsg (networking-stable-18_05_15). - bonding: send learning packets for vlans on slave (networking-stable-18_05_15). - bonding: do not allow rlb updates to invalid mac (networking-stable-18_05_15). - sctp: remove sctp_chunk_put from fail_mark err path in sctp_ulpevent_make_rcvmsg (networking-stable-18_05_15). - net/mlx4_en: Fix an error handling path in 'mlx4_en_init_netdev()' (networking-stable-18_05_15). - net/mlx4_en: Verify coalescing parameters are in range (networking-stable-18_05_15). - llc: better deal with too small mtu (networking-stable-18_05_15). - sctp: delay the authentication for the duplicated cookie-echo chunk (networking-stable-18_05_15). - net: ethernet: sun: niu set correct packet size in skb (networking-stable-18_05_15). - net: atm: Fix potential Spectre v1 (networking-stable-18_05_15 bsc#1068032 CVE-2017-5753). - atm: zatm: Fix potential Spectre v1 (networking-stable-18_05_15 bsc#1068032 CVE-2017-5753). - openvswitch: Don't swap table in nlattr_set() after OVS_ATTR_NESTED is found (networking-stable-18_05_15). - dccp: fix tasklet usage (networking-stable-18_05_15). - rds: do not leak kernel memory to user land (networking-stable-18_05_15). - ipv4: fix fnhe usage by non-cached routes (networking-stable-18_05_15). - net_sched: fq: take care of throttled flows before reuse (networking-stable-18_05_15). - 8139too: Use disable_irq_nosync() in rtl8139_poll_controller() (networking-stable-18_05_15). - sctp: fix the issue that the cookie-ack with auth can't get processed (networking-stable-18_05_15). - sctp: use the old asoc when making the cookie-ack chunk in dupcook_d (networking-stable-18_05_15). - tcp_bbr: fix to zero idle_restart only upon S/ACKed data (networking-stable-18_05_15). - net: ethernet: ti: cpsw: fix packet leaking in dual_mac mode (networking-stable-18_05_15). - bridge: check iface upper dev when setting master via ioctl (networking-stable-18_05_15). - net: support compat 64-bit time in {s,g}etsockopt (networking-stable-18_05_15). - net/mlx5e: TX, Use correct counter in dma_map error flow (networking-stable-18_05_15). - tcp: ignore Fast Open on repair mode (networking-stable-18_05_15). - commit df113d5- vmxnet3: use DMA memory barriers where required (bsc#1091860). - vmxnet3: set the DMA mask before the first DMA map operation (bsc#1091860). - vmxnet3: fix incorrect dereference when rxvlan is disabled (bsc#1091860). - vmxnet3: use correct flag to indicate LRO feature (bsc#1091860). - vmxnet3: avoid xmit reset due to a race in vmxnet3 (bsc#1091860). - vmxnet3: increase default rx ring sizes (bsc#1091860). - commit 662f8d1- acpi: Add helper for deactivating memory region (bsc#1100132). - commit 1e0c4c4- KABI protect struct nd_region (FATE#324634). - commit cf06bba- 1wire: family module autoload fails because of upper/lower case mismatch (bsc#1051510). - commit 7c78f2c- kabi/severities: add nvdimm internal symbols to kabi ignore list - commit 4b2c247- usb: typec: ucsi: Fix for incorrect status data issue (bsc#1100132). - commit 10b6319- usb: typec: ucsi: acpi: Workaround for cache mode issue (bsc#1100132). - commit 1dbd373- libnvdimm, pmem: Add sysfs notifications to badblocks (FATE#324634). - libnvdimm, region, pmem: fix 'badblocks' sysfs_get_dirent() reference lifetime (FATE#324634). - Refresh patches.drivers/x86-libnvdimm-pmem-move-arch_invalidate_pmem-to-libn.patch. - commit 2582e83- video/fbdev/stifb: Return -ENOMEM after a failed kzalloc() in stifb_init_fb() (bsc#1090888 bsc#1099966). - commit 9bf1f34- tg3: Fix vunmap() BUG_ON() triggered from tg3_free_consistent() (bsc#1086286 FATE#324876). - tg3: prevent scheduling while atomic splat (bsc#1086286 FATE#324876). - tg3: APE heartbeat changes (bsc#1086286 FATE#324876). - tg3: Add Macronix NVRAM support (bsc#1086286 FATE#324876). - commit b446739- sctp: handle two v4 addrs comparison in sctp_inet6_cmp_addr (git-fixes). - commit dfa0d20- Move build fixes before sorted section Otherwise it is very inconvenient to build with a partially applied series and gcc-8. - commit 6125496- packet: fix bitfield update race (networking-stable-18_04_26). - team: fix netconsole setup over team (networking-stable-18_04_26). - amd-xgbe: Only use the SFP supported transceiver signals (networking-stable-18_04_26). - amd-xgbe: Improve KR auto-negotiation and training (networking-stable-18_04_26). - amd-xgbe: Add pre/post auto-negotiation phy hooks (networking-stable-18_04_26). - pppoe: check sockaddr length in pppoe_connect() (networking-stable-18_04_26). - l2tp: check sockaddr length in pppol2tp_connect() (networking-stable-18_04_26). - ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy (networking-stable-18_04_26). - bonding: do not set slave_dev npinfo before slave_enable_netpoll in bond_enslave (networking-stable-18_04_26). - tcp: don't read out-of-bounds opsize (networking-stable-18_04_26). - net: sched: ife: check on metadata length (networking-stable-18_04_26). - net: sched: ife: handle malformed tlv length (networking-stable-18_04_26). - kABI: protect ife_tlv_meta_decode (kabi). - net: sched: ife: signal not finding metaid (networking-stable-18_04_26). - strparser: Do not call mod_delayed_work with a timeout of LONG_MAX (networking-stable-18_04_26). - llc: fix NULL pointer deref for SOCK_ZAPPED (networking-stable-18_04_26). - net: ethernet: ti: cpsw: fix tx vlan priority mapping (networking-stable-18_04_26). - llc: delete timers synchronously in llc_sk_free() (networking-stable-18_04_26). - virtio_net: fix adding vids on big-endian (networking-stable-18_04_26). - virtio_net: split out ctrl buffer (networking-stable-18_04_26). - llc: hold llc_sap before release_sock() (networking-stable-18_04_26). - KEYS: DNS: limit the length of option strings (networking-stable-18_04_26). - vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi (networking-stable-18_04_26). - tipc: add policy for TIPC_NLA_NET_ADDR (networking-stable-18_04_26). - net: af_packet: fix race in PACKET_{R|T}X_RING (networking-stable-18_04_26). - team: avoid adding twice the same option to the event list (networking-stable-18_04_26). - net: fix deadlock while clearing neighbor proxy table (networking-stable-18_04_26). - sctp: do not check port in sctp_inet6_cmp_addr (networking-stable-18_04_26). - strparser: Fix incorrect strp->need_bytes value (networking-stable-18_04_26). - net: validate attribute sizes in neigh_dump_table() (networking-stable-18_04_26). - tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets (networking-stable-18_04_26). - commit b2a5626- test_firmware: fix setting old custom fw path back on exit, second try (bsc#1051510). - commit e469a2d- watchdog: f71808e_wdt: Fix magic close handling (bsc#1051510). - watchdog: sp5100_tco: Fix watchdog disable bit (bsc#1051510). - commit d1c96bd- tty: Use __GFP_NOFAIL for tty_ldisc_get() (bsc#1051510). - tty: Don't call panic() at tty_ldisc_init() (bsc#1051510). - tty: Avoid possible error pointer dereference at tty_ldisc_restore() (bsc#1051510). - commit fbaa1b6- test_firmware: fix missing unlock on error in config_num_requests_store() (bsc#1051510). - test_firmware: fix setting old custom fw path back on exit (bsc#1051510). - commit d9210c3- regulator: of: Add a missing 'of_node_put()' in an error handling path of 'of_regulator_match()' (bsc#1051510). - commit 66aa83f- PCI: Add ACS quirk for Intel 300 series (bsc#1051510). - PCI: Add ACS quirk for Intel 7th & 8th Gen mobile (bsc#1051510). - PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume (bsc#1051510). - commit eec6d57- of: platform: stop accessing invalid dev in of_platform_device_destroy (bsc#1051510). - of: overlay: validate offset from property fixups (bsc#1051510). - of: unittest: for strings, account for trailing \0 in property length field (bsc#1051510). - commit 3b3a1ed- mfd: intel-lpss: Fix Intel Cannon Lake LPSS I2C input clock (bsc#1051510). - mfd: intel-lpss: Program REMAP register in PIO mode (bsc#1051510). - commit a981b43- media: cx231xx: Add support for AverMedia DVD EZMaker 7 (bsc#1051510). - media: v4l2-compat-ioctl32: prevent go past max size (bsc#1051510). - media: dvb_frontend: fix locking issues at dvb_frontend_get_event() (bsc#1051510). - commit 8ac41a1- kernel/relay.c: limit kmalloc size to KMALLOC_MAX_SIZE (bsc#1051510). - commit 5080000- Input: elan_i2c_smbus - fix more potential stack buffer overflows (bsc#1051510). - Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID (bsc#1051510). - Input: elantech - fix V4 report decoding for module with middle key (bsc#1051510). - Input: elantech - enable middle button of touchpads on ThinkPad P52 (bsc#1051510). - commit 5144ba7- idr: fix invalid ptr dereference on item delete (bsc#1051510). - commit be80860- Bluetooth: hci_qca: Avoid missing rampatch failure with userspace fw loader (bsc#1051510). - commit 89da3e9- auxdisplay: fix broken menu (bsc#1051510). - auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1051510). - auxdisplay: img-ascii-lcd: Only build on archs that have IOMEM (bsc#1051510). - commit 215cae7- ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices (bsc#1051510). - commit aa3e853- ASoC: cs35l35: Add use_single_rw to regmap config (bsc#1051510). - ASoC: dapm: delete dapm_kcontrol_data paths list before freeing it (bsc#1051510). - ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup (bsc#1051510). - ASoC: cirrus: i2s: Fix LRCLK configuration (bsc#1051510). - commit 8e9fd2f- ALSA: seq: Fix UBSAN warning at SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT ioctl (bsc#1051510). - ALSA: timer: Fix UBSAN warning at SNDRV_TIMER_IOCTL_NEXT_DEVICE ioctl (bsc#1051510). - commit 545ff8d- arm64: Update config files. (bsc#1089762) Set NR_CPUS to 256. - commit fcc7072- ceph: fix dentry leak in splice_dentry() (bsc#1098236). - commit 3b8a702- Input: xpad - fix GPD Win 2 controller name (bsc#1051510). - iwlwifi: pcie: compare with number of IRQs requested for, not number of CPUs (bsc#1051510). - PCI: Mark Broadcom HT1100 and HT2000 Root Port Extended Tags as broken (bsc#1051510). - PCI: Add function 1 DMA alias quirk for Marvell 88SE9220 (bsc#1051510). - PCI: Restore config space on runtime resume despite being unbound (bsc#1051510). - ACPI / watchdog: properly initialize resources (bsc#1051510). - commit bd85685- ALSA: hda/realtek - Fix the problem of two front mics on more machines (bsc#1051510). - ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210 (bsc#1051510). - ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co (bsc#1051510). - commit 091cd56- ALSA: hda/ca0132: make array ca0132_alt_chmaps static (bsc#1051510). - ALSA: hda/ca0132: Fix DMic data rate for Alienware M17x R4 (bsc#1051510). - ALSA: hda/ca0132: Restore PCM Analog Mic-In2 (bsc#1051510). - ALSA: hda/ca0132: Don't test for QUIRK_NONE (bsc#1051510). - ALSA: hda/ca0132: Restore behavior of QUIRK_ALIENWARE (bsc#1051510). - ALSA: hda/ca0132: Delete redundant UNSOL event requests (bsc#1051510). - ALSA: hda/ca0132: Delete pointless assignments to struct auto_pin_cfg fields (bsc#1051510). - commit ae06174- ALSA: hda/ca0132 - use ARRAY_SIZE (bsc#1051510). - Refresh patches.drivers/ALSA-hda-ca0132-Add-PCI-region2-iomap-for-SBZ. - commit 5d7aadb- s390/qdio: don't merge ERROR output buffers (bsc#1099715). - s390/qeth: lock read device while queueing next buffer (bsc#1099715). - s390/qeth: when thread completes, wake up all waiters (bsc#1099715). - s390/qeth: free netdevice when removing a card (bsc#1099715). - s390/qeth: fix IPA command submission race (bsc#1099715). - s390/qeth: fix overestimated count of buffer elements (bsc#1099715). - s390/qeth: don't dump control cmd twice (bsc#1099715). - commit e1ac104- vhost: fix vhost_vq_access_ok() log check (networking-stable-18_04_13). - vhost: Fix vhost_copy_to_user() (networking-stable-18_04_13). - cdc_ether: flag the Cinterion AHS8 modem by gemalto as WWAN (networking-stable-18_04_13). - slip: Check if rstate is initialized before uncompressing (networking-stable-18_04_13). - kABI: protect struct cstate (kabi). - rds: MP-RDS may use an invalid c_path (networking-stable-18_04_13). - commit eec5545- Update upstream status. - commit baa4fcf- sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6 (networking-stable-18_04_10). - sctp: do not leak kernel memory to user space (networking-stable-18_04_10). - net/ipv6: Increment OUTxxx counters after netfilter hook (networking-stable-18_04_10). - arp: fix arp_filter on l3slave devices (networking-stable-18_04_10). - vti6: better validate user provided tunnel names (networking-stable-18_04_10). - ip6_tunnel: better validate user provided tunnel names (networking-stable-18_04_10). - ip6_gre: better validate user provided tunnel names (networking-stable-18_04_10). - ipv6: sit: better validate user provided tunnel names (networking-stable-18_04_10). - ip_tunnel: better validate user provided tunnel names (networking-stable-18_04_10). - net: fool proof dev_valid_name() (networking-stable-18_04_10). - pptp: remove a buggy dst release in pptp_connect() (networking-stable-18_04_10). - route: check sysctl_fib_multipath_use_neigh earlier than hash (networking-stable-18_04_10). - vlan: also check phy_driver ts_info for vlan's real device (networking-stable-18_04_10). - net/ipv6: Fix route leaking between VRFs (networking-stable-18_04_10). - vrf: Fix use after free and double free in vrf_finish_output (networking-stable-18_04_10). - ipv6: sr: fix seg6 encap performances with TSO enabled (networking-stable-18_04_10). - vhost: validate log when IOTLB is enabled (networking-stable-18_04_10). - lan78xx: Crash in lan78xx_writ_reg (Workqueue: events lan78xx_deferred_multicast_write) (networking-stable-18_04_10). - vhost: correctly remove wait queue during poll failure (networking-stable-18_04_10). - strparser: Fix sign of err codes (networking-stable-18_04_10). - net: fix possible out-of-bound read in skb_network_protocol() (networking-stable-18_04_10). - vhost_net: add missing lock nesting notation (networking-stable-18_04_10). - team: move dev_mc_sync after master_upper_dev_link in team_port_add (networking-stable-18_04_10). - bonding: process the err returned by dev_set_allmulti properly in bond_enslave (networking-stable-18_04_10). - bonding: move dev_mc_sync after master_upper_dev_link in bond_enslave (networking-stable-18_04_10). - bonding: fix the err path for dev hwaddr sync in bond_enslave (networking-stable-18_04_10). - ipv6: the entire IPv6 header chain must fit the first fragment (networking-stable-18_04_10). - netlink: make sure nladdr has correct size in netlink_connect() (networking-stable-18_04_10). - commit bd99c84- NFSv4: Revert commit 5f83d86cf531d ("NFSv4.x: Fix wraparound issues..") (git-fixes). - xprtrdma: Return -ENOBUFS when no pages are available (git-fixes). - ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds (git-fixes). - xprtrdma: Fix list corruption / DMAR errors during MR recovery (git-fixes). - commit c72bef4- Delete patches.arch/15-x86-apic-ignore-secondary-threads-if-nosmt-force.patch. - commit b32c883- nvme: fix NULL pointer dereference in nvme_init_subsystem (bsc#1098706). - nvmet: switch loopback target state to connecting when resetting (bsc#1098706). - commit dc833e9- Update config files. - commit 6ab6e84- x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings (bsc#1089343). - x86/apic: Ignore secondary threads if nosmt=force (bsc#1089343). - x86/cpu/AMD: Evaluate smp_num_siblings early (bsc#1089343). - x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info (bsc#1089343). - x86/cpu/intel: Evaluate smp_num_siblings early (bsc#1089343). - x86/cpu/topology: Provide detect_extended_topology_early() (bsc#1089343). - x86/cpu/common: Provide detect_ht_early() (bsc#1089343). - x86/cpu/AMD: Remove the pointless detect_ht() call (bsc#1089343). - x86/cpu: Remove the pointless CPU printout (bsc#1089343). - cpu/hotplug: Provide knobs to control SMT (bsc#1089343). - cpu/hotplug: Split do_cpu_down() (bsc#1089343). - cpu/hotplug: Make bringup/teardown of smp threads symmetric (bsc#1089343). - x86/topology: Provide topology_smt_supported() (bsc#1089343). - x86/smp: Provide topology_is_primary_thread() (bsc#1089343). - sched/smt: Update sched_smt_present at runtime (bsc#1089343). - jump_label: Provide hotplug context variants (bsc#1089343). - jump_label: Fix concurrent static_key_enable/disable() (bsc#1089343). - jump_label: Reorder hotplug lock and jump_label_lock (bsc#1089343). - commit 0ff8503- nvme-fabrics: fix and refine state checks in __nvmf_check_ready (bsc#1098706). - nvme-fabrics: handle the admin-only case properly in nvmf_check_ready (bsc#1098706). - nvme-fabrics: refactor queue ready check (bsc#1098706). - nvme-fc: fix nulling of queue data on reconnect (bsc#1098706). - nvme-fc: remove reinit_request routine (bsc#1098706). - nvme-fc: change controllers first connect to use reconnect path (bsc#1098706). - nvme-fabrics: allow internal passthrough command on deleting controllers (bsc#1098706). - nvme: allow duplicate controller if prior controller being deleted (bsc#1098706). - nvmet-fc: increase LS buffer count per fc port (bsc#1098706). - nvme-fabrics: allow duplicate connections to the discovery controller (bsc#1098706). - nvme-fabrics: centralize discovery controller defaults (bsc#1098706). - nvme-fabrics: remove unnecessary controller subnqn validation (bsc#1098706). - nvme-fc: remove setting DNR on exception conditions (bsc#1098706). - nvme/multipath: Fix multipath disabled naming collisions (bsc#1098706). - nvme: Set integrity flag for user passthrough commands (bsc#1098706). - nvme: fix potential memory leak in option parsing (bsc#1098706). - nvme: expand nvmf_check_if_ready checks (bsc#1098706). - nvme: Use admin command effects for admin commands (bsc#1098706). - nvme: check return value of init_srcu_struct function (bsc#1098706). - nvme: Skip checking heads without namespaces (bsc#1098706). - commit 410877f- i40e: Close client on suspend and restore client MSIx on resume (bsc#1088821). - commit 2475198- scsi: lpfc: update driver version to 12.0.0.4 (bsc#1088866). - scsi: lpfc: Fix crash in blk_mq layer when executing modprobe - r lpfc (bsc#1088866). - scsi: lpfc: correct oversubscription of nvme io requests for an adapter (bsc#1088866). - scsi: lpfc: Fix MDS diagnostics failure (Rx < Tx) (bsc#1088866). - scsi: lpfc: fix spelling mistakes: "mabilbox" and "maibox" (bsc#1088866). - scsi: lpfc: Comment cleanup regarding Broadcom copyright header (bsc#1088866). - scsi: lpfc: update driver version to 12.0.0.3 (bsc#1088866). - scsi: lpfc: Enhance log messages when reporting CQE errors (bsc#1088866). - scsi: lpfc: Fix up log messages and stats counters in IO submit code path (bsc#1088866). - scsi: lpfc: Driver NVME load fails when CPU cnt > WQ resource cnt (bsc#1088866). - scsi: lpfc: Handle new link fault code returned by adapter firmware (bsc#1088866). - scsi: lpfc: Correct fw download error message (bsc#1088866). - scsi: lpfc: enhance LE data structure copies to hardware (bsc#1088866). - scsi: lpfc: Change IO submit return to EBUSY if remote port is recovering (bsc#1088866). - scsi: lpfc: update driver version to 12.0.0.2 (bsc#1088866). - scsi: lpfc: Correct missing remoteport registration during link bounces (bsc#1088866). - scsi: lpfc: Fix NULL pointer reference when resetting adapter (bsc#1088866). - scsi: lpfc: Fix nvme remoteport registration race conditions (bsc#1088866). - scsi: lpfc: Fix driver not recovering NVME rports during target link faults (bsc#1088866). - scsi: lpfc: Fix NULL pointer access in lpfc_nvme_info_show (bsc#1088866). - scsi: lpfc: Fix lingering lpfc_wq resource after driver unload (bsc#1088866). - scsi: lpfc: Fix Abort request WQ selection (bsc#1088866). - scsi: lpfc: Enlarge nvmet asynchronous receive buffer counts (bsc#1088866). - scsi: lpfc: Add per io channel NVME IO statistics (bsc#1088866). - scsi: lpfc: Correct target queue depth application changes (bsc#1088866). - scsi: lpfc: Fix multiple PRLI completion error path (bsc#1088866). - commit 8c78da4- scsi: lpfc: Fix 16gb hbas failing cq create (bsc#1093290). - scsi: lpfc: Fix port initialization failure (bsc#1093290). - commit 0ee922c- net: ipv4: avoid unused variable warning for sysctl (git-fixes). - commit 7a52639- x86/spectre_v1: Disable compiler optimizations over array_index_mask_nospec() (bsc#1068032 CVE-2017-5753). - ipv6: sr: fix NULL pointer dereference in seg6_do_srh_encap()- v4 pkts (git-fixes). - netlink: avoid a double skb free in genlmsg_mcast() (git-fixes). - commit 22bc1da- ppp: avoid loop in xmit recursion detection code (networking-stable-18_03_28). - ipv6: sr: fix NULL pointer dereference when setting encap source address (networking-stable-18_03_28). - ipv6: sr: fix scheduling in RCU when creating seg6 lwtunnel state (networking-stable-18_03_28). - s390/qeth: lock read device while queueing next buffer (networking-stable-18_03_28). - s390/qeth: when thread completes, wake up all waiters (networking-stable-18_03_28). - s390/qeth: free netdevice when removing a card (networking-stable-18_03_28). - ipv6: old_dport should be a __be16 in __ip6_datagram_connect() (networking-stable-18_03_28). - net: ethernet: arc: Fix a potential memory leak if an optional regulator is deferred (networking-stable-18_03_28). - devlink: Remove redundant free on error path (networking-stable-18_03_28). - net: fec: Fix unbalanced PM runtime calls (networking-stable-18_03_28). - net: ethernet: ti: cpsw: add check for in-band mode setting with RGMII PHY interface (networking-stable-18_03_28). - commit ae40f43- mlxsw: spectrum_buffers: Set a minimum quota for CPU port traffic (networking-stable-18_03_28). - skbuff: Fix not waking applications when errors are enqueued (networking-stable-18_03_28). - net/iucv: Free memory obtained by kzalloc (networking-stable-18_03_28). - net: systemport: Rewrite __bcm_sysport_tx_reclaim() (networking-stable-18_03_28). - kcm: lock lower socket in kcm_attach (networking-stable-18_03_28). - dpaa_eth: remove duplicate increment of the tx_errors counter (networking-stable-18_03_28). - dpaa_eth: increment the RX dropped counter when needed (networking-stable-18_03_28). - dpaa_eth: remove duplicate initialization (networking-stable-18_03_28). - soc/fsl/qbman: fix issue in qman_delete_cgr_safe() (networking-stable-18_03_28). - net: use skb_to_full_sk() in skb_update_prio() (networking-stable-18_03_28). - net: ipv6: keep sk status consistent after datagram connect failure (networking-stable-18_03_28). - net: phy: Tell caller result of phy_change() (networking-stable-18_03_28). - macvlan: filter out unsupported feature flags (networking-stable-18_03_28). - ieee802154: 6lowpan: fix possible NULL deref in lowpan_device_event() (networking-stable-18_03_28). - ipv6: fix access to non-linear packet in ndisc_fill_redirect_hdr_option() (networking-stable-18_03_28). - team: Fix double free in error path (networking-stable-18_03_28). - net: Fix hlist corruptions in inet_evict_bucket() (networking-stable-18_03_28). - sch_netem: fix skb leak in netem_enqueue() (networking-stable-18_03_28). - net: Only honor ifindex in IP_PKTINFO if non-0 (networking-stable-18_03_28). - commit 510e182- ppp: prevent unregistered channels from connecting to PPP units (networking-stable-18_03_07). - mlxsw: spectrum_switchdev: Check success of FDB add operation (networking-stable-18_03_07). - tcp: revert F-RTO extension to detect more spurious timeouts (networking-stable-18_03_07). - s390/qeth: fix IPA command submission race (networking-stable-18_03_07). - s390/qeth: fix overestimated count of buffer elements (networking-stable-18_03_07). - net: ipv4: don't allow setting net.ipv4.route.min_pmtu below 68 (networking-stable-18_03_07). - hdlc_ppp: carrier detect ok, don't turn off negotiation (networking-stable-18_03_07). - ipv6 sit: work around bogus gcc-8 -Wrestrict warning (networking-stable-18_03_07). - rxrpc: Fix send in rxrpc_send_data_packet() (networking-stable-18_03_07). - amd-xgbe: Restore PCI interrupt enablement setting on resume (networking-stable-18_03_07). - net: sched: report if filter is too large to dump (networking-stable-18_03_07). - fib_semantics: Don't match route with mismatching tclassid (networking-stable-18_03_07). - mlxsw: spectrum_router: Fix error path in mlxsw_sp_vr_create (networking-stable-18_03_07). - net: phy: fix phy_start to consider PHY_IGNORE_INTERRUPT (networking-stable-18_03_07). - net/sched: cls_u32: fix cls_u32 on filter replace (networking-stable-18_03_07). - netlink: ensure to loop over all netns in genlmsg_multicast_allns() (networking-stable-18_03_07). - net: ethernet: ti: cpsw: fix net watchdog timeout (networking-stable-18_03_07). - sctp: fix dst refcnt leak in sctp_v6_get_dst() (networking-stable-18_03_07). - commit 020b588- e1000e: Ignore TSYNCRXCTL when getting I219 clock attributes (bsc#1075876). - commit abb70b0- soreuseport: fix mem leak in reuseport_add_sock() (networking-stable-18_02_06). - rocker: fix possible null pointer dereference in rocker_router_fib_event_work (networking-stable-18_02_06). - ip6mr: fix stale iterator (networking-stable-18_02_06). - qmi_wwan: Add support for Quectel EP06 (networking-stable-18_02_06). - tcp: release sk_frag.page in tcp_disconnect (networking-stable-18_02_06). - vhost_net: stop device during reset owner (networking-stable-18_02_06). - commit b7048a3- dccp: don't restart ccid2_hc_tx_rto_expire() if sk in closed state (networking-stable-18_01_28). - net: vrf: Add support for sends to local broadcast address (networking-stable-18_01_28). - net: tcp: close sock if net namespace is exiting (networking-stable-18_01_28). - mlxsw: spectrum_router: Don't log an error on missing neighbor (networking-stable-18_01_28). - pppoe: take ->needed_headroom of lower device into account on xmit (networking-stable-18_01_28). - net: qdisc_pkt_len_init() should be more robust (networking-stable-18_01_28). - ip6_gre: init dev->mtu and dev->hard_header_len correctly (networking-stable-18_01_28). - flow_dissector: properly cap thoff field (networking-stable-18_01_28). - netlink: reset extack earlier in netlink_rcv_skb (networking-stable-18_01_28). - ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY (networking-stable-18_01_28). - net: Allow neigh contructor functions ability to modify the primary_key (networking-stable-18_01_28). - netlink: extack needs to be reset each time through loop (networking-stable-18_01_28). - tipc: fix a memory leak in tipc_nl_node_get_link() (networking-stable-18_01_28). - ipv6: fix udpv6 sendmsg crash caused by too small MTU (networking-stable-18_01_28). - ppp: unlock all_ppp_mutex before registering device (networking-stable-18_01_28). - commit 7a88b2e- kvm: nVMX: Enforce cpl=0 for VMX instructions (bsc#1099183). - commit a1ac0dc- NFS: Revert "NFS: Move the flock open mode check into nfs_flock()" (bsc#1098983). - commit 11f1646- locking/qspinlock: Ensure node->count is updated before initialising node (bsc#1050549). - locking/qspinlock: Ensure node is initialised before updating prev->next (bsc#1050549). - locking: Remove smp_read_barrier_depends() from queued_spin_lock_slowpath() (bsc#1050549). - commit 0699d86- procfs: add tunable for fd/fdinfo dentry retention (bsc#1086652). - commit a552a50- serial: sh-sci: Stop using printk format %pCr (bsc#1051510). - serial: 8250: omap: Fix idling of clocks for unused uarts (bsc#1051510). - serial: samsung: fix maxburst parameter for DMA transactions (bsc#1051510). - serial: xuartps: Fix out-of-bounds access through DT alias (bsc#1051510). - serial: sh-sci: Fix out-of-bounds access through DT alias (bsc#1051510). - serial: samsung: Fix out-of-bounds access through serial port index (bsc#1051510). - serial: mxs-auart: Fix out-of-bounds access through serial port index (bsc#1051510). - serial: imx: Fix out-of-bounds access through serial port index (bsc#1051510). - serial: fsl_lpuart: Fix out-of-bounds access through DT alias (bsc#1051510). - serial: arc_uart: Fix out-of-bounds access through DT alias (bsc#1051510). - serial: altera: ensure port->regshift is honored consistently (bsc#1051510). - commit 88d8bc4- kobject: don't use WARN for registration failures (bsc#1051510). - lib/kobject: Join string literals back (bsc#1051510). - commit 7847332- kconfig: Fix expr_free() E_NOT leak (bsc#1051510). - kconfig: Fix automatic menu creation mem leak (bsc#1051510). - kconfig: Don't leak main menus during parsing (bsc#1051510). - commit c9d208f- kconfig: Avoid format overflow warning from GCC 8.1 (bsc#1051510). - commit 362ff21- iio:kfifo_buf: check for uint overflow (bsc#1051510). - iio: ad7793: implement IIO_CHAN_INFO_SAMP_FREQ (bsc#1051510). - commit 16858f3- i2c: viperboard: return message count on master_xfer success (bsc#1051510). - i2c: pmcmsp: fix error return from master_xfer (bsc#1051510). - i2c: pmcmsp: return message count on master_xfer success (bsc#1051510). - commit e8e6bb6- can: hi311x: Work around TX complete interrupt erratum (bsc#1051510). - can: hi311x: Acquire SPI lock on ->do_get_berr_counter (bsc#1051510). - commit 611da87- cpufreq: intel_pstate: enable boost for Skylake Xeon (bsc#1066110). - commit 263c6ed- cpufreq: intel_pstate: New sysfs entry to control HWP boost (bsc#1066110). - commit 27d65e5- cpufreq: intel_pstate: HWP boost performance on IO wakeup (bsc#1066110). - commit 31b1def- cpufreq: intel_pstate: Add HWP boost utility and sched util hooks (bsc#1066110). - commit 4c5d4c5- libnvdimm, pmem: Do not flush power-fail protected CPU caches (bsc#1091424). - libnvdimm, pmem: Unconditionally deep flush on *sync (bsc#1091424). - commit 7fc6830- fs/binfmt_misc.c: do not allow offset overflow (bsc#1099142). - commit efa14c2- HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation (bsc#1051510). - HID: intel-ish-hid: use put_device() instead of kfree() (bsc#1051510). - HID: wacom: Release device resource data obtained by devres_alloc() (bsc#1051510). - HID: lenovo: Add support for IBM/Lenovo Scrollpoint mice (bsc#1051510). - commit f6bebf1- HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large (bsc#1051510). - iwlwifi: fw: harden page loading code (bsc#1051510). - driver core: Don't ignore class_dir_create_and_add() failure (bsc#1051510). - w1: mxc_w1: Enable clock before calling clk_get_rate() on it (bsc#1051510). - commit fabed48- media: uvcvideo: Support realtek's UVC 1.5 device (bsc#1099109). - commit 72d7cdf- dell_rbu: make firmware payload memory uncachable (bsc#1087978). - commit 810fc1b- Downgrade printk level for MMC SDHCI host version error (bsc#1097941). - commit 3226bd3- Move upstreamed ideapad-laptop patch to sorted section (bsc#1093035) - commit eac2cbe- platform/x86: ideapad-laptop: Apply no_hw_rfkill to Y20-15IKBM, too (bsc#1098626). - commit a10c509- Refresh patches.drivers/drm-msm-Fix-possible-null-dereference-on-failure-of-. Add the no-fix tag - commit 7a9b29c- drm/i915: Apply batch location restrictions before pinning (bsc#1051510). - drm/qxl: Call qxl_bo_unref outside atomic context (bsc#1051510). - commit c810981- regulator: Don't return or expect -errno from of_map_mode() (bsc#1099029). - commit ba7726f- rpm/kernel-source.changes.old: Add pre-SLE15 history (bsc#1098995). - commit 9340111- i40e: Fix the number of queues available to be mapped for use (bsc#1094978). - i40e: Do not allow use more TC queue pairs than MSI-X vectors exist (bsc#1094978). - commit d111601- vhost: fix info leak due to uninitialized memory (bsc#1092472 CVE-2018-1118). - commit 600e954- add mainline tag to one hyperv patch - commit 0287ab4- x86/stacktrace: Do not unwind after user regs (bnc#1058115). - x86/stacktrace: Remove STACKTRACE_DUMP_ONCE (bnc#1058115). - x86/stacktrace: Clarify the reliable success paths (bnc#1058115). - x86/stacktrace: Do not fail for ORC with regs on stack (bnc#1058115). - x86/unwind/orc: Detect the end of the stack (bnc#1058115). - x86/stacktrace: Enable HAVE_RELIABLE_STACKTRACE for the ORC unwinder (bnc#1058115). - Delete patches.suse/0001-x86-stacktrace-do-now-unwind-after-user-regs.patch. - Delete patches.suse/0002-x86-stacktrace-make-clear-the-success-paths.patch. - Delete patches.suse/0003-x86-stacktrace-remove-STACKTRACE_DUMP_ONCE-from-__sa.patch. - Delete patches.suse/0004-x86-stacktrace-do-not-fail-for-ORC-with-regs-on-stac.patch. - Delete patches.suse/0005-x86-stacktrace-orc-mark-it-as-reliable.patch. Replace the ORC patches by the upstream patches. Finally... 0005 is disabled here by a guard in series.conf, but should be enabled in 12-sp4 definitely. - commit 9925d74- cifs: Check for timeout on Negotiate stage (bsc#1091171). - commit 5c8f09d- Refresh patches.arch/mm-powerpc-x86-introduce-an-additional-vma-bit-for-p.patch. - commit d28cd3d- Refresh patches.arch/mm-powerpc-x86-define-VM_PKEY_BITx-bits-if-CONFIG_AR.patch. - commit b94492f- scsi: ipr: Format HCAM overlay ID 0x41 (bsc#1097961). - commit f0c061b- mm/pkeys, x86, powerpc: Display pkey in smaps if arch supports pkeys (FATE#322447, bsc#1078248). - mm/pkeys: Add an empty arch_pkeys_enabled() (FATE#322447, bsc#1078248). - mm/pkeys: Remove include of asm/mmu_context.h from pkeys.h (FATE#322447, bsc#1078248). - mm/pkeys, powerpc, x86: Provide an empty vma_pkey() in linux/pkeys.h (FATE#322447, bsc#1078248). - x86/pkeys: Add arch_pkeys_enabled() (FATE#322447, bsc#1078248). - x86/pkeys: Move vma_pkey() into asm/pkeys.h (FATE#322447, bsc#1078248). - Delete patches.arch/mm-x86-powerpc-display-pkey-in-smaps-only-if-arch-su.patch. - commit d9483bb- powerpc/pkeys: Detach execute_only key on !PROT_EXEC (FATE#322447, bsc#1078248, git-fixes). - powerpc/mm: Fix thread_pkey_regs_init() (FATE#322447, bsc#1078248, git-fixes). - powerpc/pkeys: Drop private VM_PKEY definitions (FATE#322447, bsc#1078248). - commit a8be076- xen: don't print error message in case of missing Xenstore entry (bnc#1065600). - commit ec662c5- staging: wilc1000: Fix bssid buffer offset in Txq (bsc#1051510). - commit 64122fd- mac80211: use timeout from the AddBA response instead of the request (bsc#1051510). - mac80211: Adjust SAE authentication timeout (bsc#1051510). - commit e651094- crypto: vmx - Remove overly verbose printk from AES XTS init (bsc#1051510). - crypto: vmx - Remove overly verbose printk from AES init routines (bsc#1051510). - crypto: omap-sham - fix memleak (bsc#1051510). - commit 2e10430- crypto: caam - strip input zeros from RSA input buffer (bsc#1051510). - commit f8a4c3c- crypto: caam - fix IV DMA mapping and updating (bsc#1051510). - crypto: caam - fix DMA mapping dir for generated IV (bsc#1051510). - commit bdb533c- bpf: properly enforce index mask to prevent out-of-bounds speculation (bsc#1098425). - kabi: add struct bpf_map back (References: bsc#1098425). - Refresh patches.kabi/bpf-prevent-memory-disambiguation-attack.patch. - Refresh patches.suse/bpf-prevent-memory-disambiguation-attack.patch. - commit 63c00fe- ASoC: topology: Check widget kcontrols before deref (bsc#1051510). - Refresh patches.drivers/ASoC-topology-Check-widget-kcontrols-before-deref. - commit f36a345- drm/dumb-buffers: Integer overflow in drm_mode_create_ioctl() (bsc#1051510). - drm/omap: handle alloc failures in omap_connector (bsc#1051510). - drm/omap: fix possible NULL ref issue in tiler_reserve_2d (bsc#1051510). - drm/omap: fix uninitialized ret variable (bsc#1051510). - drm/omap: silence unititialized variable warning (bsc#1051510). - drm/msm/dsi: use correct enum in dsi_get_cmd_fmt (bsc#1051510). - drm/amdkfd: fix clock counter retrieval for node without GPU (bsc#1051510). - commit cccb30d- gpio: fix aspeed_gpio unmask irq (bsc#1051510). - gpio: No NULL owner (bsc#1051510). - commit c6dac49- ACPI / watchdog: Prefer iTCO_wdt on Lenovo Z50-70 (bsc#1051510). - commit c72ccee- Input: elan_i2c - add ELAN0612 (Lenovo v330 14IKB) ACPI ID (bsc#1051510). - Input: goodix - add new ACPI id for GPD Win 2 touch screen (bsc#1051510). - Input: xpad - add GPD Win 2 Controller USB IDs (bsc#1051510). - Input: atmel_mxt_ts - fix the firmware update (bsc#1051510). - Input: synaptics-rmi4 - fix an unchecked out of memory error path (bsc#1051510). - commit 1ccaca3- Input: xpad - sync supported devices with XBCD (bsc#1051510). - commit 070cc49- Input: xpad - sync supported devices with 360Controller (bsc#1051510). - Refresh patches.drivers/Input-xpad-add-support-for-PDP-Xbox-One-controllers. - commit b065ed1- ethernet: Use octal not symbolic permissions (bsc#1086288 FATE#324877). - emulex/benet: Constify *be_misconfig_evt_port_state (bsc#1086288 FATE#324877). - be2net: Handle transmit completion errors in Lancer (bsc#1086288 FATE#324877). - be2net: Fix HW stall issue in Lancer (bsc#1086288 FATE#324877). - commit 43a7f05- ext4: fix unsupported feature message formatting (bsc#1098435). - commit 54744d1- irqchip/gic-v3-its: Ensure nr_ites >= nr_lpis (bsc#1098401). - commit efcaaf4- mm, l1tf: Disallow non privileged high MMIO PROT_NONE mappings (bnc#1087081, CVE-2018-3620). - x86, l1tf: Limit swap file size to MAX_PA/2 (bnc#1087081, CVE-2018-3620). - x86, l1tf: Add sysfs report for l1tf (bnc#1087081, CVE-2018-3620). - x86, l1tf: Make sure the first page is always reserved (bnc#1087081, CVE-2018-3620). - x86, l1tf: Protect PROT_NONE PTEs against speculation (bnc#1087081, CVE-2018-3620). - x86, l1tf: Protect swap entries against L1TF (bnc#1087081, CVE-2018-3620). - x86/speculation/l1tf: Change order of offset/type in swap entry (bnc#1087081, CVE-2018-3620). - x86, l1tf: Increase 32bit PAE __PHYSICAL_PAGE_MASK (bnc#1087081, CVE-2018-3620). - commit 56f4d90- mm, swap: fix false error message in __swp_swapcount() (VM Functionality, bsc#1098043). - commit 329f690- ceph: fix alignment of rasize (bsc#1098236). - ceph: fix use-after-free in ceph_statfs() (bsc#1098236). - ceph: prevent i_version from going back (bsc#1098236). - ceph: fix wrong check for the case of updating link count (bsc#1098236). - ceph: support file lock on directory (bsc#1098236). - commit f97eb64- x86/pti: don't report XenPV as vulnerable (bsc#1097551). - scripts/git_sort/git_sort.py: - commit 39b6104- md: fix two problems with setting the "re-add" device state (bsc#1098176). - raid10: check bio in r10buf_pool_free to void NULL pointer dereference (bsc#1098174). - commit 1a6926b- jfs: Fix inconsistency between memory allocation and ea_buf->max_size (bsc#1097234, CVE-2018-12233). - Delete patches.suse/jfs-Fix-buffer-overrun-in-ea_get.patch. - commit 871f006- macros.kernel-source: define linux_arch for KMPs (boo#1098050). CONFIG_64BIT is no longer defined so KMP spec files need to include %{?linux_make_arch} in any make call to build modules or descent into the kernel directory for any reason. - commit 5dc40af- scsi: ipr: new IOASC update (bsc#1097961). - commit 7f29a4f- Refresh patches.drivers/ACPI-scan-Initialize-watchdog-before-PNP.patch Moved to the upstream section, too. - commit 57124fc- blacklist.conf: blacklist some mm git-fixes that are not needed in our kernels - commit 18461bb- Refresh patches.suse/sched-numa-Stagger-NUMA-balancing-scan-periods-for-new-threads.patch. - commit eaea181- xhci: add port speed ID to portsc tracing (FATE#325103). - xhci: add port status tracing (FATE#325103). - commit b0a7d42- xhci: Add port status decoder for tracing purposes (FATE#325103). - commit b31aeac- xhci: add definitions for all port link states (FATE#325103). - commit 7b825fb- jfs: Fix buffer overrun in ea_get (bsc#1097234, CVE-2018-12233). - commit f7cd7d0- Refresh patches.suse/mremap-Remove-LATENCY_LIMIT-from-mremap-to-reduce-the-number-of-TLB-shootdowns.patch. - commit fdc45b2- Sort series.conf - commit 4d4f556- Refresh patches.drivers/0001-qla2xxx-Mask-off-Scope-bits-in-retry-delay.patch. - commit e944492- xen/netfront: raise max number of slots in xennet_get_responses() (bnc#1076049). - commit 1b73c5e- rpm: ignore CONFIG_GCC_VERSION when checking for oldconfig changes Since 4.18-rc1, "make oldconfig" writes gcc version and capabilities into generated .config. Thus whenever we build the package or run checks with different gcc version than used to update config/*/*, check for "outdated configs" fails. As a quick band-aid, omit the lines with CONFIG_GCC_VERSION from both configs before comparing them. This way, the check won't fail unless run with newer gcc which would add new capabilities. More robust solution will require a wider discussion. - commit 546ef32- Refresh patches.fixes/ceph-fix-st_nlink-stat-for-directories.patch. - commit 031bfc5- Update patches.fixes/vti-fix-use-after-free-in-vti_tunnel_xmit-vti6_tnl_x.patch (bsc#1076830 networking-stable-17_10_09). - commit 5da2974- x86/setup: Do not reserve a crash kernel region if booted on Xen PV (bsc#1085626). - commit 90613d9- blacklist.conf: Add ASoC entry breaking kABI - commit a377ffd- drm/i915: Remove stale asserts from i915_gem_find_active_request() (bsc#1051510). - ubi: fastmap: Cancel work upon detach (bsc#1051510). - drm/i915: Restore planes after load detection (bsc#1051510). - crypto: caam/qi - fix IV DMA mapping and updating (bsc#1051510). - iio: trigger: stm32-timer: fix get/set down count direction (bsc#1051510). - drm/i915: Remove stale asserts from i915_gem_find_active_request() (bsc#1051510). - ubi: fastmap: Cancel work upon detach (bsc#1051510). - drm/i915: Restore planes after load detection (bsc#1051510). - crypto: caam/qi - fix IV DMA mapping and updating (bsc#1051510). - iio: trigger: stm32-timer: fix get/set down count direction (bsc#1051510). - commit 6238d67- iommu/vt-d: Fix race condition in add_unmap() (bsc#1096790, bsc#1097034). - commit 5296753- isdn: eicon: fix a missing-check bug (bsc#1051510). - drm: set FMODE_UNSIGNED_OFFSET for drm files (bsc#1051510). - i2c: mv64xxx: Apply errata delay only in standard mode (bsc#1051510). - crypto: sunxi-ss - Add MODULE_ALIAS to sun4i-ss (bsc#1051510). - rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c (bsc#1051510). - gpu: ipu-v3: prg: avoid possible array underflow (bsc#1051510). - gpu: ipu-v3: prg: fix device node leak in ipu_prg_lookup_by_phandle (bsc#1051510). - gpu: ipu-v3: pre: fix device node leak in ipu_pre_lookup_by_phandle (bsc#1051510). - commit b2aeaf7- ALSA: usb-audio: simplify set_sync_ep_implicit_fb_quirk (bsc#1051510). - commit 520d40f- ALSA: usb-audio: Remove explicitly listed Mytek devices (bsc#1051510). - ALSA: usb-audio: Generic DSD detection for XMOS-based implementations (bsc#1051510). - ALSA: usb-audio: Add native DSD support for Mytek DACs (bsc#1051510). - commit 1407c17- ALSA: usb-audio: Disable the quirk for Nura headset (bsc#1051510). - commit 8a928b8- ALSA: usb-audio: add boot quirk for Axe-Fx III (bsc#1051510). - commit d9745dc- ALSA: usb-audio: add more quirks for DSD interfaces (bsc#1051510). - ALSA: usb-audio: Integrate native DSD support for ITF-USB based DACs (bsc#1051510). - commit 6b13495- ALSA: usb-audio: FIX native DSD support for TEAC UD-501 DAC (bsc#1051510). - commit a4151ea- ALSA: usb-audio: Support changing input on Sound Blaster E1 (bsc#1051510). - Refresh patches.drivers/ALSA-usb-audio-Initialize-Dell-Dock-playback-volumes. - commit 7cdbbde- ALSA: usb-audio: Add a quirk for Nura's first gen headset (bsc#1051510). - commit 6bf51b8- ALSA: usb-audio: Change the semantics of the enable option (bsc#1051510). - ALSA: line6: Add yet more sanity checks for invalid EPs (bsc#1051510). - ALSA: hiface: Add sanity checks for invalid EPs (bsc#1051510). - ALSA: usb-audio: Add sanity checks for invalid EPs (bsc#1051510). - commit a5f919f- ALSA: usb-audio: Apply vendor ID matching for sample rate quirk (bsc#1051510). - commit 0ebc179- ALSA: line6: add support for POD HD DESKTOP (bsc#1051510). - commit d06b8f4- ALSA: usb-audio: Add sample rate quirk for Plantronics P610 (bsc#1051510). - ALSA: usb-audio: Add sample rate quirk for Plantronics C310/C520-M (bsc#1051510). - commit 051d536- ALSA: line6: remove unnecessary initialization to PODHD500X (bsc#1051510). - ALSA: line6: add support for POD HD500X (bsc#1051510). - commit 48fb9b8- ALSA: hda/realtek - Add shutup hint (bsc#1051510). - ALSA: hda: add dock and led support for HP ProBook 640 G4 (bsc#1051510). - ALSA: hda: add dock and led support for HP EliteBook 830 G5 (bsc#1051510). - commit 5517119- mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty() (VM Functionality, bsc#1097800). - commit f3662c4- mm, slab: reschedule cache_reap() on the same CPU (VM Functionality, bsc#1097796). - commit a6231a1- mm/ksm.c: fix inconsistent accounting of zero pages (VM Functionality, bsc#1097780). - commit 392d0c5- blacklist.conf: blacklist stable fix 880cd276dff1 ("mm, slab: memcg_link the SLAB's kmem_cache"), bsc#1097471 - commit bc9af26- mm/page_owner: fix recursion bug after changing skip entries (VM Functionality, bsc#1097472). - commit bfb3aeb- mm/thp: do not wait for lock_page() in deferred_split_scan() (VM Functionality, bsc#1097470). - commit 23a211a- mm/khugepaged.c: convert VM_BUG_ON() to collapse fail (VM Functionality, bsc#1097468). - commit 854b555- mm/mempolicy.c: avoid use uninitialized preferred_node (VM Functionality, bsc#1097465). - commit aba0b63- mm: Fix memory size alignment in devm_memremap_pages_release() (VM Functionality, bsc#1097439). - commit 245e5a1- mm, swap: fix race between swap count continuation operations (VM Functionality, bsc#1097373). mm, swap: fix race between swap count continuation operations - KABI fix (VM Functionality, bsc#1097373). - commit 2e5c587- wil6210: missing length check in wmi_set_ie (CVE-2018-5848,bsc#1097356). - commit e7f0b07- ACPI / NUMA: ia64: Parse all entries of SRAT memory affinity table (bnc#1088796, fate#325665). - commit 9176a12- btrfs: return error value if create_io_em failed in cow_file_range (bsc#1097105). - Btrfs: fix xattr loss after power failure (bsc#1097105). - btrfs: Take trans lock before access running trans in check_delayed_ref (bsc#1097105). - Btrfs: fix copy_items() return value when logging an inode (bsc#1097105). - commit 04ec4bc- xen/acpi: off by one in read_acpi_id() (bnc#1065600). - commit d86994a- bcache: return 0 from bch_debug_init() if CONFIG_DEBUG_FS=n (bsc#1093023). - dm bufio: fix buffer alignment (bsc#1093023). - tools headers: Restore READ_ONCE() C++ compatibility (bsc#1093023). - commit 59a0dc1- bcache: use pr_info() to inform duplicated CACHE_SET_IO_DISABLE set (bsc#1093023). - bcache: set dc->io_disable to true in conditional_stop_bcache_device() (bsc#1093023). - bcache: add wait_for_kthread_stop() in bch_allocator_thread() (bsc#1093023). - bcache: count backing device I/O error for writeback I/O (bsc#1093023). - bcache: set CACHE_SET_IO_DISABLE in bch_cached_dev_error() (bsc#1093023). - bcache: store disk name in struct cache and struct cached_dev (bsc#1093023). - raid1: copy write hint from master bio to behind bio (bsc#1093023). - md/raid1: exit sync request if MD_RECOVERY_INTR is set (bsc#1093023). - md-cluster: don't update recovery_offset for faulty device (bsc#1093023). - dax, dm: allow device-mapper to operate without dax support (bsc#1093023). - dm raid: fix parse_raid_params() variable range issue (bsc#1093023). - dm bufio: don't embed a bio in the dm_buffer structure (bsc#1093023). - dm bufio: support non-power-of-two block sizes (bsc#1093023). - dm bufio: use slab cache for dm_buffer structure allocations (bsc#1093023). - dm bufio: reorder fields in dm_buffer structure (bsc#1093023). - dm bufio: relax alignment constraint on slab cache (bsc#1093023). - dm bufio: remove code that merges slab caches (bsc#1093023). - dm bufio: get rid of slab cache name allocations (bsc#1093023). - dm bufio: move dm-bufio.h to include/linux/ (bsc#1093023). - dm bufio: delete outdated comment (bsc#1093023). - dm raid: fix nosync status (bsc#1093023). - dm stripe: get rid of a Variable Length Array (VLA) (bsc#1093023). - dm log writes: record metadata flag for better flags record (bsc#1093023). - dm integrity: fail early if required HMAC key is not available (bsc#1093023). - dm: remove unused macro DM_MOD_NAME_SIZE (bsc#1093023). - dm crypt: limit the number of allocated pages (bsc#1093023). - scsi: raid_class: Add 'JBOD' RAID level (bsc#1093023). - bcache: Fix a compiler warning in bcache_device_init() (bsc#1093023). - bcache: Reduce the number of sparse complaints about lock imbalances (bsc#1093023). - bcache: Suppress more warnings about set-but-not-used variables (bsc#1093023). - bcache: Remove an unused variable (bsc#1093023). - bcache: Fix kernel-doc warnings (bsc#1093023). - bcache: Annotate switch fall-through (bsc#1093023). - bcache: Add __printf annotation to __bch_check_keys() (bsc#1093023). - bcache: Fix indentation (bsc#1093023). - bcache: add io_disable to struct cached_dev (bsc#1093023). - bcache: add backing_request_endio() for bi_end_io (bsc#1093023). - bcache: move closure debug file into debug directory (bsc#1093023). - bcache: fix using of loop variable in memory shrink (bsc#1093023). - bcache: fix error return value in memory shrink (bsc#1093023). - bcache: fix incorrect sysfs output value of strip size (bsc#1093023). - bcache: fix inaccurate io state for detached bcache devices (bsc#1093023). - bcache: add stop_when_cache_set_failed option to backing device (bsc#1093023). - bcache: add CACHE_SET_IO_DISABLE to struct cache_set flags (bsc#1093023). - bcache: stop dc->writeback_rate_update properly (bsc#1093023). - bcache: quit dc->writeback_thread when BCACHE_DEV_DETACHING is set (bsc#1093023). - bcache: fix cached_dev->count usage for bch_cache_set_error() (bsc#1093023). - md: Delete gendisk before cleaning up the request queue (bsc#1093023). - raid: remove tile specific raid6 implementation (bsc#1093023). - dm raid: fix incorrect sync_ratio when degraded (bsc#1093023). - bcache: fix kcrashes with fio in RAID5 backend dev (bsc#1093023). - bcache: correct flash only vols (check all uuids) (bsc#1093023). - md/raid1: fix NULL pointer dereference (bsc#1093023). - md: fix a potential deadlock of raid5/raid10 reshape (bsc#1093023). - md-cluster: choose correct label when clustered layout is not supported (bsc#1093023). - md: raid5: avoid string overflow warning (bsc#1093023). - raid5-ppl: fix handling flush requests (bsc#1093023). - md: only allow remove_and_add_spares when no sync_thread running (bsc#1093023). - md: document lifetime of internal rdev pointer (bsc#1093023). - MD: Free bioset when md_run fails (bsc#1093023). - md-multipath: Use seq_putc() in multipath_status() (bsc#1093023). - md/raid1: Fix trailing semicolon (bsc#1093023). - md/raid5: simplify uninitialization of shrinker (bsc#1093023). - dm: correctly handle chained bios in dec_pending() (bsc#1093023). - bcache: fix for data collapse after re-attaching an attached device (bsc#1093023). - bcache: return attach error when no cache set exist (bsc#1093023). - bcache: set writeback_rate_update_seconds in range [1, 60] seconds (bsc#1093023). - bcache: fix for allocator and register thread race (bsc#1093023). - bcache: set error_limit correctly (bsc#1093023). - bcache: properly set task state in bch_writeback_thread() (bsc#1093023). - bcache: fix high CPU occupancy during journal (bsc#1093023). - bcache: add journal statistic (bsc#1093023). - dm thin: fix trailing semicolon in __remap_and_issue_shared_cell (bsc#1093023). - dm log writes: fix max length used for kstrndup (bsc#1093023). - dm: backfill missing calls to mutex_destroy() (bsc#1093023). - dm flakey: check for null arg_name in parse_features() (bsc#1093023). - dm: move dm_table_destroy() to same header as dm_table_create() (bsc#1093023). - dm raid: make raid_sets symbol static (bsc#1093023). - dm bufio: eliminate unnecessary labels in dm_bufio_client_create() (bsc#1093023). - dm bufio: check result of register_shrinker() (bsc#1093023). - dm bufio: add missed destroys of client mutex (bsc#1093023). - dm bufio: use REQ_OP_READ and REQ_OP_WRITE (bsc#1093023). - dm: simplify start of block stats accounting for bio-based (bsc#1093023). - dm: rename 'bio' member of dm_io structure to 'orig_bio' (bsc#1093023). - dm: remove stale comment blocks (bsc#1093023). - dm: set QUEUE_FLAG_DAX accordingly in dm_table_set_restrictions() (bsc#1093023). - dm: fix __send_changing_extent_only() to send first bio and chain remainder (bsc#1093023). - dm: ensure bio-based DM's bioset and io_pool support targets' maximum IOs (bsc#1093023). - dm: remove BIOSET_NEED_RESCUER based dm_offload infrastructure (bsc#1093023). - dm: safely allocate multiple bioset bios (bsc#1093023). - dm: remove unused 'num_write_bios' target interface (bsc#1093023). - dm: ensure bio submission follows a depth-first tree walk (bsc#1093023). - dm io: remove BIOSET_NEED_RESCUER flag from bios bioset (bsc#1093023). - dm crypt: remove BIOSET_NEED_RESCUER flag (bsc#1093023). - dm: fix comment above dm_accept_partial_bio (bsc#1093023). - dm raid: use rs_is_raid*() (bsc#1093023). - dm raid: simplify rs_get_progress() (bsc#1093023). - dm raid: ensure 'a' chars during reshape (bsc#1093023). - dm raid: stop keeping raid set frozen altogether (bsc#1093023). - dm raid: validate current raid sets redundancy (bsc#1093023). - dm raid: bump target version to reflect numerous fixes (bsc#1093023). - dm raid: small cleanup and remove unsed "struct raid_set" member (bsc#1093023). - dm raid: fix rs_get_progress() synchronization state/ratio (bsc#1093023). - dm raid: avoid passing array_in_sync variable to raid_status() callees (bsc#1093023). - dm raid: display a consistent copy of the MD status via raid_status() (bsc#1093023). - dm raid: fix raid_resume() to keep raid set frozen as needed (bsc#1093023). - dm raid: add component device size checks to avoid runtime failure (bsc#1093023). - dm raid: fix raid set size revalidation (bsc#1093023). - dm raid: correct resizing state relative to reshape space in ctr (bsc#1093023). - dm raid: consume sizes after md_finish_reshape() completes changing them (bsc#1093023). - dm raid: fix deadlock caused by premature md_stop_writes() (bsc#1093023). - raid5-ppl: PPL support for disks with write-back cache enabled (bsc#1093023). - md/r5cache: print more info of log recovery (bsc#1093023). - md/raid1,raid10: silence warning about wait-within-wait (bsc#1093023). - bcache: closures: move control bits one bit right (bsc#1093023). - bcache: fix writeback target calc on large devices (bsc#1093023). - bcache: fix misleading error message in bch_count_io_errors() (bsc#1093023). - bcache: reduce cache_set devices iteration by devices_max_used (bsc#1093023). - bcache: fix unmatched generic_end_io_acct() & generic_start_io_acct() (bsc#1093023). - bcache: mark closure_sync() __sched (bsc#1093023). - bcache: Fix, improve efficiency of closure_sync() (bsc#1093023). - kabi/severities: add 'drivers/md/bcache/* PASS' for above change. - bcache: allow quick writeback when backing idle (bsc#1093023). - bcache: writeback: properly order backing device IO (bsc#1093023). - bcache: fix wrong return value in bch_debug_init() (bsc#1093023). - bcache: segregate flash only volume write streams (bsc#1093023). - bcache: Use PTR_ERR_OR_ZERO() (bsc#1093023). - bcache: stop writeback thread after detaching (bsc#1093023). - bcache: ret IOERR when read meets metadata error (bsc#1093023). - dm-crypt: don't clear bvec->bv_page in crypt_free_buffer_pages() (bsc#1093023). - bcache: comment on direct access to bvec table (bsc#1093023). - dm: limit the max bio size as BIO_MAX_PAGES * PAGE_SIZE (bsc#1093023). - dm crypt: fix error return code in crypt_ctr() (bsc#1093023). - dm crypt: wipe kernel key copy after IV initialization (bsc#1093023). - dm integrity: don't store cipher request on the stack (bsc#1093023). - dm crypt: fix crash by adding missing check for auth key size (bsc#1093023). - dm btree: fix serious bug in btree_split_beneath() (bsc#1093023). - dm thin metadata: THIN_MAX_CONCURRENT_LOCKS should be 6 (bsc#1093023). - dm bufio: fix shrinker scans when (nr_to_scan < retain_target) (bsc#1093023). - dm: fix various targets to dm_register_target after module __init resources created (bsc#1093023). - commit 6ccf1e3- dm table: fix regression from improper dm_dev_internal.count refcount_t conversion (bsc#1093023). - Refresh for above change, patches.fixes/dm-table-switch-to-readonly. - commit 244a17e- md/raid1/10: add missed blk plug (bsc#1093023). - md: limit mdstat resync progress to max_sectors (bsc#1093023). - md/r5cache: move mddev_lock() out of r5c_journal_mode_set() (bsc#1093023). - md/raid5: correct degraded calculation in raid5_error (bsc#1093023). - dm bufio: fix integer overflow when limiting maximum cache size (bsc#1093023). - dm: clear all discard attributes in queue_limits when discards are disabled (bsc#1093023). - dm: do not set 'discards_supported' in targets that do not need it (bsc#1093023). - dm: discard support requires all targets in a table support discards (bsc#1093023). - bitops: Introduce assign_bit() (bsc#1093023). - md: free unused memory after bitmap resize (bsc#1093023). - md: release allocated bitset sync_set (bsc#1093023). - md/bitmap: clear BITMAP_WRITE_ERROR bit before writing it to sb (bsc#1093023). - md: be cautious about using ->curr_resync_completed for - >recovery_offset (bsc#1093023). - md: don't check MD_SB_CHANGE_CLEAN in md_allow_write (bsc#1093023). - md: remove redundant variable q (bsc#1093023). - raid1: remove obsolete code in raid1_write_request (bsc#1093023). - md: use lockdep_assert_held (bsc#1093023). - raid1: prevent freeze_array/wait_all_barriers deadlock (bsc#1093023). - md: use TASK_IDLE instead of blocking signals (bsc#1093023). - md: remove special meaning of ->quiesce(.., 2) (bsc#1093023). - md: allow metadata update while suspending (bsc#1093023). - commit aae3f35- md: use mddev_suspend/resume instead of ->quiesce() (bsc#1093023). - Update for above change patches.drivers/0003-md-cluster-Suspend-writes-in-RAID10-if-within-range.patch (fate#323171, bsc#1093023). - commit 23a5e8e- md: move suspend_hi/lo handling into core md code (bsc#1093023). - md: don't call bitmap_create() while array is quiesced (bsc#1093023). - md: always hold reconfig_mutex when calling mddev_suspend() (bsc#1093023). - md: forbid a RAID5 from having both a bitmap and a journal (bsc#1093023). - raid5: Set R5_Expanded on parity devices as well as data (bsc#1093023). - md: raid10: remove a couple of redundant variables and initializations (bsc#1093023). - md: rename some drivers/md/ files to have an "md-" prefix (bsc#1093023). - md: raid10: remove VLAIS (bsc#1093023). - md-cluster: make function cluster_check_sync_size static (bsc#1093023). - md/bitmap: revert a patch (bsc#1093023). - commit 7554ed8- md: fix deadlock error in recent patch (bsc#1093023). - Refresh for above change patches.fixes/0003-md-fix-md_write_start-deadlock-w-o-metadata-devices.patch. - commit d173846- dm cache: lift common migration preparation code to alloc_migration() (bsc#1093023). - dm cache: remove usused deferred_cells member from struct cache (bsc#1093023). - dm cache policy smq: allocate cache blocks in order (bsc#1093023). - dm cache policy smq: change max background work from 10240 to 4096 blocks (bsc#1093023). - dm cache background tracker: limit amount of background work that may be issued at once (bsc#1093023). - dm cache policy smq: take origin idle status into account when queuing writebacks (bsc#1093023). - dm cache policy smq: handle races with queuing background_work (bsc#1093023). - dm raid: fix panic when attempting to force a raid to sync (bsc#1093023). - dm integrity: allow unaligned bv_offset (bsc#1093023). - dm crypt: allow unaligned bv_offset (bsc#1093023). - dm: small cleanup in dm_get_md() (bsc#1093023). - dm zoned: ignore last smaller runt zone (bsc#1093023). - dm space map metadata: use ARRAY_SIZE (bsc#1093023). - dm log writes: add support for DAX (bsc#1093023). - dm log writes: add support for inline data buffers (bsc#1093023). - dm cache: simplify get_per_bio_data() by removing data_size argument (bsc#1093023). - dm cache: remove all obsolete writethrough-specific code (bsc#1093023). - dm cache: submit writethrough writes in parallel to origin and cache (bsc#1093023). - dm cache: pass cache structure to mode functions (bsc#1093023). - dm cache: fix race condition in the writeback mode overwrite_bio optimisation (bsc#1093023). - dm cache: convert dm_cache_metadata.ref_count from atomic_t to refcount_t (bsc#1093023). - dm: convert table_device.count from atomic_t to refcount_t (bsc#1093023). - commit a328660- dm: convert dm_dev_internal.count from atomic_t to refcount_t (bsc#1093023). - Refresh for above change, patches.fixes/dm-table-switch-to-readonly. - commit a0f5f3e- locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() (bsc#1093023). - Refresh for above change, patches.arch/s390-sles15-03-01-rwlock.patch. - commit 34f3b87- locking/atomics, dm-integrity: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() (bsc#1093023). - dm raid: fix incorrect status output at the end of a "recover" process (bsc#1093023). - dm crypt: reject sector_size feature if device length is not aligned to it (bsc#1093023). - dm crypt: fix memory leak in crypt_ctr_cipher_old() (bsc#1093023). - md/raid5: cap worker count (bsc#1093023). - dm-raid: fix a race condition in request handling (bsc#1093023). - md: fix a race condition for flush request handling (bsc#1093023). - md: separate request handling (bsc#1093023). - dm integrity: use init_completion instead of COMPLETION_INITIALIZER_ONSTACK (bsc#1093023). - dm integrity: make blk_integrity_profile structure const (bsc#1093023). - dm integrity: do not check integrity for failed read operations (bsc#1093023). - dm log writes: fix >512b sectorsize support (bsc#1093023). - dm log writes: don't use all the cpu while waiting to log blocks (bsc#1093023). - dm ioctl: constify ioctl lookup table (bsc#1093023). - dm integrity: count and display checksum failures (bsc#1093023). - dm integrity: optimize writing dm-bufio buffers that are partially changed (bsc#1093023). - dm rq: do not update rq partially in each ending bio (bsc#1093023). - dm rq: make dm-sq requeuing behavior consistent with dm-mq behavior (bsc#1093023). - md/raid0: attach correct cgroup info in bio (bsc#1093023). - raid5: remove raid5_build_block (bsc#1093023). - md/r5cache: call mddev_lock/unlock() in r5c_journal_mode_show (bsc#1093023). - md: replace seq_release_private with seq_release (bsc#1093023). - md/bitmap: copy correct data for bitmap super (bsc#1093023). - dm-crypt: don't mess with BIP_BLOCK_INTEGRITY (bsc#1093023). - commit 52a2220- Refresh with upstream version patches.fixes/0001-md-use-a-separate-bio_set-for-synchronous-IO.patch. - commit c20af71- bio-integrity: move the bio integrity profile check earlier in bio_integrity_prep (bsc#1093023). - Refresh for above change, patches.suse/block-replace-bi_bdev-with-a-gendisk-pointer-and-par.patch. - commit e3db737- block: Add comment to submit_bio_wait() (bsc#1093023). - md/r5cache: fix io_unit handling in r5l_log_endio() (bsc#1093023). - commit 405d1a4- scsi: qla2xxx: Delete session for nport id change (bsc#1077338). - commit 91c8931- Refresh patches.drivers/scsi-lpfc-fix-wq-cq-creation-for-older-asic-s.patch. - commit 4c60141- hv_netvsc: Fix a network regression after ifdown/ifup (bsc#1094420). - commit 37bf478- s390/zcrypt: Fix CCA and EP11 CPRB processing failure memory leak (bnc#1096753, LTC#168037). - s390/archrandom: Rework arch random implementation (bnc#1096753, LTC#168037). - s390/qdio: fix access to uninitialized qdio_q fields (bnc#1096753, LTC#168037). - s390/cpum_sf: ensure sample frequency of perf event attributes is non-zero (bnc#1096753, LTC#168037). - s390/archrandom: Reconsider s390 arch random implementation (bnc#1096753, LTC#168037). - commit 1f5f124- scsi: sg: allocate with __GFP_ZERO in sg_build_indirect() (bsc#1096728 CVE-2018-1000204). - commit 36bd58c- blacklist.conf: blacklist tools specific change bsc#1085941 - commit ed8a770- firmware: provide helpers for registering the syfs loader (bsc#1085937). - commit 3adefef- firmware: fix capturing errors on fw_cache_init() on early init (bsc#1085937). - commit 70c4a7b- firmware: always enable the reboot notifier (bsc#1085937). - commit 1871033- firmware: share fw fallback killing on reboot/suspend (bsc#1085937). - commit 56fccb7- firmware: move kill_requests_without_uevent() up above (bsc#1085937). - commit 94ab276- firmware: add helper to unregister pm ops (bsc#1085937). - commit 1e37b1e- firmware: fix detecting error on register_reboot_notifier() (bsc#1085936). - commit 0e1bbe6- blacklist.conf: add tools commits to blacklist - commit 2de7366- blacklist.conf: blacklist further commits not needed (bsc#1085933, bsc#1085938, bsc#1085939) - commit 77e477f- blacklist.conf: blacklist 3a0b3bbbff0f This will not be backported as we don't use rcutorture on selftetsts. - commit debceb0- powerpc/livepatch: Fix build error with kprobes disabled (bsc#1071995 fate#323487). - commit 74a0947- Refresh patches.suse/powerpc-livepatch-implement-reliable-stack-tracing-for-the-consistency-model.patch. - commit 5218a66- mm, page_alloc: do not break __GFP_THISNODE by zonelist reset (bsc#1079152, VM Functionality). - commit e7f5d20- ALSA: hda/realtek - Fixup for HP x360 laptops with B&O speakers (bsc#1096705). - ALSA: hda/realtek - Refactor alc269_fixup_hp_mute_led_mic*() (bsc#1096705). - ALSA: hda/realtek - Fixup mute led on HP Spectre x360 (bsc#1096705). - commit 16e47dd- ALSA: hda/ca0132: constify parameter table for effects (bsc#1096696). - ALSA: hda/ca0132: merge strings just for printk (bsc#1096696). - ALSA: hda/ca0132: constify read-only members of string array (bsc#1096696). - ALSA: hda/ca0132: constify templates for control element set (bsc#1096696). - ALSA: hda/ca0132: fix array_size.cocci warnings (bsc#1096696). - ALSA: hda/ca0132: Add new control changes for SBZ + R3Di (bsc#1096696). - ALSA: hda/ca0132: add ca0132_alt_set_vipsource (bsc#1096696). - ALSA: hda/ca0132: Add DSP Volume set and New mixers for SBZ + R3Di (bsc#1096696). - ALSA: hda/ca0132: add alt_select_in/out for R3Di + SBZ (bsc#1096696). - ALSA: hda/ca0132: add the ability to set src_id on scp commands (bsc#1096696). - ALSA: hda/ca0132: Add dsp setup + gpio functions for r3di (bsc#1096696). - ALSA: hda/ca0132: add dsp setup related commands for the sbz (bsc#1096696). - ALSA: hda/ca0132: update core functions for sbz + r3di (bsc#1096696). - ALSA: hda/ca0132: add extra init functions for r3di + sbz (bsc#1096696). - ALSA: hda/ca0132: Add extra exit functions for R3Di and SBZ (bsc#1096696). - ALSA: hda/ca0132: Add PCI region2 iomap for SBZ (bsc#1096696). - ALSA: hda/ca0132: Add pincfg for SBZ + R3Di, add fp hp auto-detect (bsc#1096696). - ALSA: hda/ca0132: R3Di and SBZ quirk entires + alt firmware loading (bsc#1096696). - commit 720c517- ALSA: usx2y: Fix invalid stream URBs (bsc#1051510). - ALSA: caiaq: Add yet more sanity checks for invalid EPs (bsc#1051510). - ALSA: usx2y: Add sanity checks for invalid EPs (bsc#1051510). - commit 2ba7058- ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream() (bsc#1051510). - ALSA: hda: Add Intel NUC5i7RY to the power_save blacklist (bsc#1051510). - ALSA: hda: Add ASRock H81M-HDS to the power_save blacklist (bsc#1051510). - ALSA: hda: Add Gigabyte P55A-UD3 and Z87-D3HP to the power_save blacklist (bsc#1051510). - ALSA: hda: Add Clevo W35xSS_370SS to the power_save blacklist (bsc#1051510). - ALSA: hda: Add Intel NUC7i3BNB to the power_save blacklist (bsc#1051510). - ALSA: hda/realtek - Clevo P950ER ALC1220 Fixup (bsc#1051510). - commit cc2998f- bpf: fix bpf_skb_adjust_net/bpf_skb_proto_xlat to deal with gso sctp skbs (bsc#1076830). - l2tp: do not accept arbitrary sockets (bsc#1076830). - netfilter: use skb_to_full_sk in ip6_route_me_harder (bsc#1076830). - rds: Incorrect reference counting in TCP socket creation (bsc#1076830). - tcp: revert F-RTO middle-box workaround (bsc#1076830). - ip_gre: fix IFLA_MTU ignored on NEWLINK (bsc#1076830). - vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit (bsc#1076830). - commit 413a62a- refresh sorted section - update ustream references: patches.arch/powerpc-64-Use-barrier_nospec-in-syscall-entry.patch. patches.arch/powerpc-64-kexec-fix-race-in-kexec-when-XIVE-is-shut.patch. patches.arch/powerpc-64s-Add-barrier_nospec.patch. patches.arch/powerpc-64s-Add-support-for-ori-barrier_nospec-patch.patch. patches.arch/powerpc-64s-Enable-barrier_nospec-based-on-firmware-.patch. patches.arch/powerpc-64s-Patch-barrier_nospec-in-modules.patch. patches.arch/powerpc-Use-barrier_nospec-in-copy_from_user.patch. patches.arch/powerpc-fadump-Do-not-use-hugepages-when-fadump-is-a.patch. patches.arch/powerpc-fadump-exclude-memory-holes-while-reserving-.patch. patches.arch/powerpc-xive-fix-hcall-H_INT_RESET-to-support-long-b.patch. patches.arch/powerpc-xive-prepare-all-hcalls-to-support-long-busy.patch. patches.arch/powerpc-xive-shutdown-XIVE-when-kexec-or-kdump-is-pe.patch. patches.arch/powerpc-xmon-Also-setup-debugger-hooks-when-single-stepping.patch. patches.arch/powerpc64-ftrace-Add-a-field-in-paca-to-disable-ftra.patch. patches.arch/powerpc64-ftrace-Add-helpers-to-hard-disable-ftrace.patch. patches.arch/powerpc64-ftrace-Delay-enabling-ftrace-on-secondary-.patch. patches.arch/powerpc64-ftrace-Disable-ftrace-during-hotplug.patch. patches.arch/powerpc64-ftrace-Disable-ftrace-during-kvm-entry-exi.patch. patches.arch/powerpc64-ftrace-Rearrange-ifdef-sections-in-ftrace..patch. patches.arch/powerpc64-kexec-Hard-disable-ftrace-before-switching.patch. patches.arch/powerpc64-module-Tighten-detection-of-mcount-call-si.patch. patches.suse/powerpc-64s-Enhance-the-information-in-cpu_show_spec.patch. - commit 6b2c486- ipv6: sr: fix TLVs not being copied using setsockopt (networking-stable-18_01_12). - 8021q: fix a memory leak for VLAN 0 device (networking-stable-18_01_12). - net: core: fix module type in sock_diag_bind (networking-stable-18_01_12). - sctp: fix the handling of ICMP Frag Needed for too small MTUs (networking-stable-18_01_12). - sctp: do not retransmit upon FragNeeded if PMTU discovery is disabled (networking-stable-18_01_12). - sh_eth: fix SH7757 GEther initialization (networking-stable-18_01_12). - net: fec: free/restore resource in related probe error pathes (networking-stable-18_01_12). - sh_eth: fix TSU resource handling (networking-stable-18_01_12). - net: stmmac: enable EEE in MII, GMII or RGMII only (networking-stable-18_01_12). - net: fec: defer probe if regulator is not ready (networking-stable-18_01_12). - net: fec: restore dev_id in the cases of probe error (networking-stable-18_01_12). - ethtool: do not print warning for applications using legacy API (networking-stable-18_01_12). - mlxsw: spectrum: Relax sanity checks during enslavement (networking-stable-18_01_12). - mlxsw: spectrum_router: Fix NULL pointer deref (networking-stable-18_01_12). - commit 072d5d2- objtool, perf: Fix GCC 8 -Wrestrict error (Fix gcc 8 restrict error). - tools/lib/subcmd/pager.c: do not alias select() params (Fix gcc 8 restrict error). - commit 83717be- scsi: cxlflash: Isolate external module dependencies (FATE#325192). - scsi: cxlflash: Abstract hardware dependent assignments (FATE#325192). - scsi: cxlflash: Add include guards to backend.h (FATE#325192). - scsi: cxlflash: Use local mutex for AFU serialization (FATE#325192). - scsi: cxlflash: Acquire semaphore before invoking ioctl services (FATE#325192). - scsi: cxlflash: Limit the debug logs in the IO path (FATE#325192). - scsi: cxlflash: Yield to active send threads (FATE#325192). - scsi: cxlflash: Handle spurious interrupts (FATE#325192). - scsi: cxlflash: Remove commmands from pending list on timeout (FATE#325192). - scsi: cxlflash: Synchronize reset and remove ops (FATE#325192). - scsi: cxlflash: Enable OCXL operations (FATE#325192). - scsi: cxlflash: Support AFU reset (FATE#325192). - scsi: cxlflash: Register for translation errors (FATE#325192). - scsi: cxlflash: Introduce OCXL context state machine (FATE#325192). - scsi: cxlflash: Update synchronous interrupt status bits (FATE#325192). - scsi: cxlflash: Setup LISNs for master contexts (FATE#325192). - scsi: cxlflash: Setup LISNs for user contexts (FATE#325192). - scsi: cxlflash: Introduce object handle fop (FATE#325192). - scsi: cxlflash: Support file descriptor mapping (FATE#325192). - scsi: cxlflash: Support adapter context mmap and release (FATE#325192). - scsi: cxlflash: Support adapter context reading (FATE#325192). - scsi: cxlflash: Support adapter context polling (FATE#325192). - scsi: cxlflash: Support starting user contexts (FATE#325192). - scsi: cxlflash: Support AFU interrupt mapping and registration (FATE#325192). - scsi: cxlflash: Support AFU interrupt management (FATE#325192). - scsi: cxlflash: Support process element lifecycle (FATE#325192). - scsi: cxlflash: Setup OCXL transaction layer (FATE#325192). - scsi: cxlflash: Setup function OCXL link (FATE#325192). - scsi: cxlflash: Support reading adapter VPD data (FATE#325192). - scsi: cxlflash: Support AFU state toggling (FATE#325192). - scsi: cxlflash: Support process specific mappings (FATE#325192). - scsi: cxlflash: Support starting an adapter context (FATE#325192). - scsi: cxlflash: MMIO map the AFU (FATE#325192). - scsi: cxlflash: Support image reload policy modification (FATE#325192). - scsi: cxlflash: Support adapter context discovery (FATE#325192). - scsi: cxlflash: Support adapter file descriptors for OCXL (FATE#325192). - scsi: cxlflash: Use IDR to manage adapter contexts (FATE#325192). - scsi: cxlflash: Adapter context support for OCXL (FATE#325192). - scsi: cxlflash: Setup AFU PASID (FATE#325192). - scsi: cxlflash: Setup AFU acTag range (FATE#325192). - scsi: cxlflash: Read host AFU configuration (FATE#325192). - scsi: cxlflash: Setup function acTag range (FATE#325192). - scsi: cxlflash: Read host function configuration (FATE#325192). - scsi: cxlflash: Hardware AFU for OCXL (FATE#325192). - scsi: cxlflash: Introduce OCXL backend (FATE#325192). - scsi: cxlflash: Add argument identifier names (FATE#325192). - scsi: cxlflash: Avoid clobbering context control register value (FATE#325192). - scsi: cxlflash: Preserve number of interrupts for master contexts (FATE#325192). - scsi: cxlflash: Staging to support future accelerators (FATE#325192). - scsi: cxlflash: Adapter context init can return error (FATE#325192). - scsi: cxlflash: Remove embedded CXL work structures (FATE#325192). - scsi: cxlflash: Explicitly cache number of interrupts per context (FATE#325192). - scsi: cxlflash: Update cxl-specific arguments to generic cookie (FATE#325192). - commit 69ce72c- usbip: usbip_host: fix bad unlock balance during stub_probe() (bsc#1096480). - commit 19a6a6f- usbip: usbip_host: fix NULL-ptr deref and use-after-free errors (bsc#1096480). - commit 946c4ab- usbip: usbip_host: run rebind from exit when module is removed (bsc#1096480). - commit 2af8d93- usbip: usbip_host: delete device from busid_table after rebind (bsc#1096480). - commit ce8aa81- usbip: usbip_host: fix to hold parent lock for device_attach() calls (bsc#1096480). - commit f09fb5d- USB:fix USB3 devices behind USB3 hubs not resuming at hibernate thaw (bsc#1090888). - commit 5b0d550- usb: core: Add quirk for HP v222w 16GB Mini (bsc#1090888). - USB: serial: pl2303: new device id for Chilitag (bsc#1087092). - commit ae105f8- USB: serial: simple: add Motorola Tetra driver (bsc#1087092). - commit bac2d92- mm: fix the NULL mapping case in __isolate_lru_page() (bnc#971975 VM -- git fixes). - commit 49e56df- NET: usb: qmi_wwan: add support for ublox R410M PID 0x90b2 (bsc#1090888). - commit 831f20c- net/usb/qmi_wwan.c: Add USB id for lt4120 modem (bsc#1087092). - commit a542d6f- blacklist.conf: fix for 32bit only - commit d4d6158- xhci: Fix USB ports for Dell Inspiron 5775 (bsc#1090888). - commit 21f554a- blacklist.conf: patch changes only debug messages - commit a0e9d38- xhci: zero usb device slot_id member when disabling and freeing a xhci slot (bsc#1090888). - commit d1a948e- ip6_tunnel: disable dst caching if tunnel is dual-stack (networking-stable-18_01_12). - mlxsw: spectrum_router: Simplify a piece of code (networking-stable-18_01_12). - commit ca8f732- mlxsw: spectrum: Forbid linking to devices that have uppers FIX (stable-fixes). - commit b0f5584- ipv6: omit traffic class when calculating flow hash (bsc#1095042). - commit 6cd0f9a- Refresh sorted section - update upstream references: patches.drivers/ibmvnic-Check-CRQ-command-return-codes.patch patches.drivers/ibmvnic-Create-separate-initialization-routine-for-r.patch patches.drivers/ibmvnic-Handle-error-case-when-setting-link-state.patch patches.drivers/ibmvnic-Introduce-active-CRQ-state.patch patches.drivers/ibmvnic-Introduce-hard-reset-recovery.patch patches.drivers/ibmvnic-Mark-NAPI-flag-as-disabled-when-released.patch patches.drivers/ibmvnic-Return-error-code-if-init-interrupted-by-tra.patch patches.drivers/ibmvnic-Set-resetting-state-at-earliest-possible-poi.patch - commit 97cb00f- blacklist.conf: Add entry for ALSA core change in 4.18-rc1 - commit 143726f- drm/exynos: Fix default value for zpos plane property (bsc#1051510). - drm/exynos/dsi: mask frame-done interrupt (bsc#1051510). - drm/i915: Don't request a bug report for unsafe module parameters (bsc#1051510). - drm/exynos: Allow DRM_EXYNOS on s5pv210 (bsc#1051510). - commit 206e486- iwlwifi: fix non_shared_ant for 9000 devices (bsc#1051510). - iwlwifi: mvm: fix race in queue notification wait (bsc#1051510). - iwlwifi: mvm: honor the max_amsdu_subframes limit (bsc#1051510). - iwlwifi: mvm: fix TSO with highly fragmented SKBs (bsc#1051510). - iwlmvm: tdls: Check TDLS channel switch support (bsc#1051510). - ath10k: search all IEs for variant before falling back (bsc#1051510). - ath10k: correct target assert problem due to CE5 stuck (bsc#1051510). - mwifiex: pcie: tighten a check in mwifiex_pcie_process_event_ready() (bsc#1051510). - commit ed01b8d- ASoC: omap: Remove OMAP_MUX dependency from Nokia N810 audio support (bsc#1051510). - ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs (bsc#1051510). - ALSA: hda/ca0132: fix build failure when a local macro is defined (bsc#1051510). - commit d28606d- Move btusb patch to upstream sorted section - commit 46f18a1- dlm: remove O_NONBLOCK flag in sctp_connect_to_sock (bsc#1080542). - commit 33c1136- dlm: make sctp_connect_to_sock() return in specified time (bsc#1080542). - commit 4f3fe6a- dlm: fix a clerical error when set SCTP_NODELAY (bsc#1091594). - commit 9f84e4d- mremap: Remove LATENCY_LIMIT from mremap to reduce the number of TLB shootdowns (bnc#1095115). - commit b11f786- Move HD-audio and USB-audio patches to sorted section They've merged to 4.18-rc1 upstream - commit cfd715d- blacklist.conf: Blacklist 8a2b307c21 - commit 43a6f85- blacklist.conf: Blacklist e254d1afac83 - commit 551f89f- rpm/config.sh: Fixup BUGZILLA_PRODUCT variable - commit 5129d49- Update tags in patches.fixes/ext4-Fix-hole-length-detection-in-ext4_ind_map_block.patch. - commit a589549- media: lgdt3306a: Fix a double kfree on i2c device remove (bsc#1051510). - media: lgdt3306a: Fix module count mismatch on usb unplug (bsc#1051510). - commit 9b281a7- media: cx23885: Override 888 ImpactVCBe crystal frequency (bsc#1051510). - media: cx23885: Set subdev host data to clk_freq pointer (bsc#1051510). - media: em28xx: Add Hauppauge SoloHD/DualHD bulk models (bsc#1051510). - media: em28xx: USB bulk packet size fix (bsc#1051510). - media: dmxdev: fix error code for invalid ioctls (bsc#1051510). - commit 12ffd09- kABI: protect struct ipv6_pinfo (kabi). - commit a562dc4- net: igmp: add a missing rcu locking section (git-fixes). - ipv6: Fix getsockopt() for sockets with default IPV6_AUTOFLOWLABEL (git-fixes). - net: igmp: fix source address check for IGMPv3 reports (git-fixes). - commit c29e781- netlink: put module reference if dump start fails (git-fixes). - sctp: use right member as the param of list_for_each_entry (git-fixes). - commit 02cc0e2- tipc: fix hanging poll() for stream sockets (networking-stable-17_12_31). - net: fec: unmap the xmit buffer that are not transferred by DMA (networking-stable-17_12_31). - RDS: Check cmsg_len before dereferencing CMSG_DATA (networking-stable-17_12_31). - net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround (networking-stable-17_12_31). - ip6_gre: fix device features for ioctl setup (networking-stable-17_12_31). - net: reevalulate autoflowlabel setting after sysctl setting (networking-stable-17_12_31). - ipv4: Fix use-after-free when flushing FIB tables (networking-stable-17_12_31). - net: bridge: fix early call to br_stp_change_bridge_id and plug newlink leaks (networking-stable-17_12_31). - net: phy: marvell: Limit 88m1101 autoneg errata to 88E1145 as well (networking-stable-17_12_31). - sock: free skb in skb_complete_tx_timestamp on error (networking-stable-17_12_31). - mlxsw: spectrum: Disable MAC learning for ovs port (networking-stable-17_12_31). - net: igmp: Use correct source address on IGMPv3 reports (networking-stable-17_12_31). - ipv6: mcast: better catch silly mtu values (networking-stable-17_12_31). - ptr_ring: add barriers (networking-stable-17_12_31). - tcp_bbr: reset long-term bandwidth sampling on loss recovery undo (networking-stable-17_12_31). - tcp_bbr: reset full pipe detection on loss recovery undo (networking-stable-17_12_31). - tcp_bbr: record "full bw reached" decision in new full_bw_reached bit (networking-stable-17_12_31). - adding missing rcu_read_unlock in ipxip6_rcv (networking-stable-17_12_31). - net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case (networking-stable-17_12_31). - net: dsa: bcm_sf2: Clear IDDQ_GLOBAL_PWR bit for PHY (networking-stable-17_12_31). - commit db31b88- f2fs: fix a panic caused by NULL flush_cmd_control (bsc#1086400). - commit b95c39c- kABI: protect tap_create_cdev (kabi). - commit d6151ad- Empty out-of-tree section Tags were updated for the simple cases. Others are moved to subsystem appropriate sections after the sorted section. - scsi: qla2xxx: Add FC-NVMe abort processing (bsc#1084570). - scsi: qla2xxx: Add changes for devloss timeout in driver (bsc#1084570). - scsi: qla2xxx: Cleanup code to improve FC-NVMe error handling (bsc#1084570). - scsi: qla2xxx: Fix Async GPN_FT for FCP and FC-NVMe scan (bsc#1084570). - scsi: qla2xxx: Fix FC-NVMe IO abort during driver reset (bsc#1084570). - scsi: qla2xxx: Fix n2n_ae flag to prevent dev_loss on PDB change (bsc#1084570). - scsi: qla2xxx: Fix retry for PRLI RJT with reason of BUSY (bsc#1084570). - scsi: qla2xxx: Remove nvme_done_list (bsc#1084570). - scsi: qla2xxx: Remove unneeded message and minor cleanup for FC-NVMe (bsc#1084570). - scsi: qla2xxx: Restore ZIO threshold setting (bsc#1084570). - scsi: qla2xxx: Return busy if rport going away (bsc#1084570). - scsi: qla2xxx: Set IIDMA and fcport state before qla_nvme_register_remote() (bsc#1084570). - scsi: qla2xxx: Update driver version to 10.00.00.06-k (bsc#1084570). - ext4: fix hole length detection in ext4_ind_map_blocks() (bsc#1090953). - ext4: fix offset overflow on 32-bit archs in ext4_iomap_begin() (bsc#1079747). - commit 4eed96d- be2net: Fix error detection logic for BE3 (bsc#1050252 FATE#322920). - commit 2961002- KVM/VMX: Expose SSBD properly to guests (bsc#1087082 CVE-2018-3639). - commit 605f9fd- kvm: x86: IA32_ARCH_CAPABILITIES is always supported (bsc#1087082 CVE-2018-3639). - commit b26e2f7- ovl: fix lookup with middle layer opaque dir and absolute path redirects (bsc#1090605). - ovl: Return -ENOMEM if an allocation fails ovl_lookup() (bsc#1096065). - commit b8d2af2- kabi: Fix kvm kABI (bsc#1087082 CVE-2018-3639). - commit d619bbf- apparmor: fix memory leak on buffer on error exit path (bsc#1095893). - apparmor: fix logging of the existence test for signals (bsc#1095893). - apparmor: fix dangling symlinks to policy rawdata after replacement (bsc#1095893). - apparmor: fix display of .ns_name for containers (bsc#1095893). - commit 322e0cf- ACPICA: Events: add a return on failure from acpi_hw_register_read (bsc#1051510). - ACPICA: Fix memory leak on unusual memory leak (bsc#1051510). - ACPICA: acpi: acpica: fix acpi operand cache leak in nseval.c (bsc#1051510). - commit f7ec8c5- ACPI / button: make module loadable when booted in non-ACPI mode (bsc#1051510). - ACPI: acpi_pad: Fix memory leak in power saving threads (bsc#1051510). - ACPI: processor_perflib: Do not send _PPC change notification if not ready (bsc#1051510). - ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs (bsc#1051510). - ACPI / bus: Do not call _STA on battery devices with unmet dependencies (bsc#1051510). - commit 3422612- x86/bugs: Rename SSBD_NO to SSB_NO (bsc#1087082 CVE-2018-3639). - KVM: SVM: Implement VIRT_SPEC_CTRL support for SSBD (bsc#1087082 CVE-2018-3639). - x86/speculation, KVM: Implement support for VIRT_SPEC_CTRL/LS_CFG (bsc#1087082 CVE-2018-3639). - x86/bugs: Rework spec_ctrl base and mask logic (bsc#1087082 CVE-2018-3639). - x86/bugs: Remove x86_spec_ctrl_set() (bsc#1087082 CVE-2018-3639). - x86/bugs: Expose x86_spec_ctrl_base directly (bsc#1087082 CVE-2018-3639). - x86/bugs: Unify x86_spec_ctrl_{set_guest,restore_host} (bsc#1087082 CVE-2018-3639). - x86/speculation: Rework speculative_store_bypass_update() (bsc#1087082 CVE-2018-3639). - x86/speculation: Add virtualized speculative store bypass disable support (bsc#1087082 CVE-2018-3639). - x86/bugs, KVM: Extend speculation control for VIRT_SPEC_CTRL (bsc#1087082 CVE-2018-3639). - x86/speculation: Handle HT correctly on AMD (bsc#1087082 CVE-2018-3639). - x86/cpufeatures: Add FEATURE_ZEN (bsc#1087082 CVE-2018-3639). - x86/cpufeatures: Disentangle SSBD enumeration (bsc#1087082 CVE-2018-3639). - x86/cpufeatures: Disentangle MSR_SPEC_CTRL enumeration from IBRS (bsc#1087082 CVE-2018-3639). - x86/speculation: Use synthetic bits for IBRS/IBPB/STIBP (bsc#1087082 CVE-2018-3639). - x86/bugs: Fix the parameters alignment and missing void (bsc#1087082 CVE-2018-3639). - x86/bugs: Make cpu_show_common() static (bsc#1087082 CVE-2018-3639). - x86/bugs: Fix __ssb_select_mitigation() return type (bsc#1087082 CVE-2018-3639). - commit f950281- Refresh patches.arch/powerpc-64s-Add-support-for-a-store-forwarding-barri.patch. - commit a862707- Revert "rt2800: use TXOP_BACKOFF for probe frames" (bsc#1051510). - commit 40efa74- r8169: fix powering up RTL8168h (bsc#1051510). - r8169: fix setting driver_data after register_netdev (bsc#1051510). - commit 61dd159- mac80211: drop frames with unexpected DS bits from fast-rx to slow path (bsc#1051510). - mac80211: Fix sending ADDBA response for an ongoing session (bsc#1051510). - mac80211: Do not disconnect on invalid operating class (bsc#1051510). - mac80211: round IEEE80211_TX_STATUS_HEADROOM up to multiple of 4 (bsc#1051510). - mac80211: mesh: fix wrong mesh TTL offset calculation (bsc#1051510). - commit 2171580- drm/i915: Disable LVDS on Radiant P845 (bsc#1051510). - drm/amd/powerplay: Fix enum mismatch (bsc#1051510). - commit 8db260d- ASoC: Intel: sst: remove redundant variable dma_dev_name (bsc#1051510). - commit c43b27a- Input: elan_i2c_smbus - fix corrupted stack (bsc#1051510). - Input: synaptics - add Lenovo 80 series ids to SMBus (bsc#1051510). - Input: synaptics - add Intertouch support on X1 Carbon 6th and X280 (bsc#1051510). - Input: synaptics - Lenovo Thinkpad X1 Carbon G5 (2017) with Elantech trackpoints should use RMI (bsc#1051510). - Input: synaptics - Lenovo Carbon X1 Gen5 (2017) devices should use RMI (bsc#1051510). - commit 12d3278- drm/psr: Fix missed entry in PSR setup time table (bsc#1051510). - drm/i915/lvds: Move acpi lid notification registration to registration phase (bsc#1051510). - intel_th: Use correct device when freeing buffers (bsc#1051510). - drm/i915/userptr: reject zero user_size (bsc#1051510). - crypto: caam - fix incorrect define (bsc#1051510). - commit c659f07- net: remove hlist_nulls_add_tail_rcu() (networking-stable-17_12_12). - tipc: fix memory leak in tipc_accept_from_sock() (networking-stable-17_12_12). - stmmac: reset last TSO segment size after device open (networking-stable-17_12_12). - sit: update frag_off info (networking-stable-17_12_12). - net: realtek: r8169: implement set_link_ksettings() (networking-stable-17_12_12). - commit df7b21a- kabi/severities: Ignore kABI incompatibility for meson drm The symbols are used only between meson modules, so mostly internal. - commit c4375de- net/sctp: Always set scope_id in sctp_inet6_skb_msgname (networking-stable-17_11_20). - fealnx: Fix building error on MIPS (networking-stable-17_11_20). - vxlan: fix the issue that neigh proxy blocks all icmpv6 packets (networking-stable-17_11_20). - af_netlink: ensure that NLMSG_DONE never fails in dumps (networking-stable-17_11_20). - vlan: fix a use-after-free in vlan_device_event() (networking-stable-17_11_20). - qmi_wwan: Add missing skb_reset_mac_header-call (networking-stable-17_11_20). - bonding: discard lowest hash bit for 802.3ad layer3+4 (networking-stable-17_11_20). - netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed (networking-stable-17_11_20). - net: systemport: Correct IPG length settings (networking-stable-17_11_20). - tcp_nv: fix division by zero in tcpnv_acked() (networking-stable-17_11_20). - commit 5de7a3f- drm: rcar-du: lvds: Fix LVDS startup on R-Car Gen3 (bsc#1051510). - drm: rcar-du: lvds: Fix LVDS startup on R-Car Gen2 (bsc#1051510). - drm/meson: Fix some error handling paths in 'meson_drv_bind_master()' (bsc#1051510). - drm/meson: Fix an un-handled error path in 'meson_drv_bind_master()' (bsc#1051510). - drm/rockchip: Respect page offset for PRIME mmap calls (bsc#1051510). - drm/imx: move arming of the vblank event to atomic_flush (bsc#1051510). - drm/tegra: Shutdown on driver unbind (bsc#1051510). - drm/sun4i: Fix dclk_set_phase (bsc#1051510). - drm/meson: fix vsync buffer update (bsc#1051510). - drm/exynos: fix comparison to bitshift when dealing with a mask (bsc#1051510). - drm/exynos: g2d: use monotonic timestamps (bsc#1051510). - commit 9cb4eb7- ASoC: topology: create TLV data for dapm widgets (bsc#1051510). - ASoC: samsung: odroid: Fix 32000 sample rate handling (bsc#1051510). - ASoC: samsung: odroid: Drop requirement of clocks in the sound node (bsc#1051510). - ASoC: samsung: odroid: Fix EPLL frequency values (bsc#1051510). - commit 98a5562- drm/amdgpu: Fix deadlock on runtime suspend (bsc#1051510). - blacklist.conf: Remove the entry - commit 8b2b629- drm/radeon: Fix deadlock on runtime suspend (bsc#1051510). - blacklist.conf: Remove the entry - commit 35caacb- drm/nouveau: Fix deadlock on runtime suspend (bsc#1051510). - blacklist.conf: Remove the entry - commit 97d81e2- drm: Allow determining if current task is output poll worker (bsc#1051510). - blacklist.conf: Remove the entry - commit ecce7e0- workqueue: use put_device() instead of kfree() (bsc#1051510). - workqueue: Allow retrieval of current task's work struct (bsc#1051510). - commit aacc423- nvme: fix lockdep warning in nvme_mpath_clear_current_path (FATE#323952, FATE#322506). - commit 320c37c- blacklist.conf: blacklist fc218544fbc8 This commit requires major changes from 4.17, namely commit b9e281c2b388 ("libceph: introduce BVECS data type") - commit 2a0450b- xhci: fix endpoint context tracer output (bsc#1087092). - commit 2a9b0d2- tun/tap: sanitize TUNSETSNDBUF input (networking-stable-17_11_14). - sctp: reset owner sk for data chunks on out queues when migrating a sock (networking-stable-17_11_14). - tap: reference to KVA of an unloaded module causes kernel panic (networking-stable-17_11_14). - ip6_gre: update dst pmtu if dev mtu has been updated by toobig in __gre6_xmit (networking-stable-17_11_14). - ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err (networking-stable-17_11_14). - ipip: only increase err_count for some certain type icmp in ipip_err (networking-stable-17_11_14). - tun: allow positive return values on dev_get_valid_name() call (networking-stable-17_11_14). - net/unix: don't show information about sockets from other namespaces (networking-stable-17_11_14). - net: dsa: check master device before put (networking-stable-17_11_14). - sctp: full support for ipv6 ip_nonlocal_bind & IP_FREEBIND (networking-stable-17_11_14). - ipv6: flowlabel: do not leave opt->tot_len with garbage (networking-stable-17_11_14). - net: bridge: fix returning of vlan range op errors (networking-stable-17_11_14). - tun: call dev_get_valid_name() before register_netdevice() (networking-stable-17_11_14). - netlink: do not set cb_running if dump's start() errs (networking-stable-17_11_14). - ppp: fix race in ppp device destruction (networking-stable-17_11_14). - commit 218b0d9- iwlwifi: mvm: don't warn in queue sync on RF-kill (bsc#1051510 FATE#322675). - Delete patches.drivers/0065-iwlwifi-mvm-don-t-warn-in-queue-sync-on-RF-kill.patch. - Delete patches.drivers/iwlwifi-mvm-don-t-warn-in-queue-sync-on-RF-kill. Merge two semi-patches into the one real. This was 1 upstream commit dissected into two semi-patches. It must have been a mistake. - commit dc38de7- iwlwifi: mvm: remove DQA non-STA client mode special case (bsc#1051510 FATE#322675). - Delete patches.drivers/0125-iwlwifi-mvm-remove-DQA-non-STA-client-mode-special-c.patch. - Delete patches.drivers/iwlwifi-mvm-remove-DQA-non-STA-client-mode-special-c. Merge two semi-patches into the one real. This was 1 upstream commit dissected into two semi-patches. It must have been a mistake. - commit e688642- Refresh patches.suse/0012-btrfs-allow-backref-search-checks-for-shared-extents.patch. Fix invalid SHA. - commit db29e43- thermal: enable broadcom menu for arm64 bcm2835 (bsc#1095573). - Update config files. - supported.conf: fix folder of the driver module - commit 6072587- Refresh powerpc nospec patches. - Refresh patches.arch/powerpc-64-Use-barrier_nospec-in-syscall-entry.patch. - Refresh patches.arch/powerpc-64s-Add-barrier_nospec.patch. - Refresh patches.arch/powerpc-64s-Add-support-for-ori-barrier_nospec-patch.patch. - Refresh patches.arch/powerpc-64s-Enable-barrier_nospec-based-on-firmware-.patch. - Refresh patches.suse/powerpc-64s-Enhance-the-information-in-cpu_show_spec.patch. - Refresh patches.arch/powerpc-64s-Patch-barrier_nospec-in-modules.patch - Refresh patches.arch/powerpc-Use-barrier_nospec-in-copy_from_user.patch. - commit 23825dd- Refresh sorted patches. - commit e2bcb54- Fix kABI breakage for iwl_fw_runtime_ops change (bsc#1051510). - commit 4324b93- xhci: workaround for AMD Promontory disabled ports wakeup (bsc#1087092). - Refresh patches.fixes/0001-xhci-Fix-front-USB-ports-on-ASUS-PRIME-B350M-A.patch. - commit 94fc9ba- drm/vmwgfx: Fix 32-bit VMW_PORT_HB_[IN|OUT] macros (bsc#1051510). - drm/vmwgfx: Set dmabuf_size when vmw_dmabuf_init is successful (bsc#1051510). - rfkill: gpio: fix memory leak in probe error path (bsc#1051510). - can: kvaser_usb: Increase correct stats counter in kvaser_usb_rx_can_msg() (bsc#1051510). - firmware: dmi_scan: Fix UUID length safety check (bsc#1051510). - ALSA: vmaster: Propagate slave error (bsc#1051510). - staging: rtl8192u: return -ENOMEM on failed allocation of priv->oldaddr (bsc#1051510). - ath9k: fix crash in spectral scan (bsc#1051510). - ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk) (bsc#1051510). - drm/vmwgfx: Unpin the screen object backup buffer when not used (bsc#1051510). - drm/amdgpu: disable GFX ring and disable PQ wptr in hw_fini (bsc#1051510). - drm/amdgpu: adjust timeout for ib_ring_tests(v2) (bsc#1051510). - brcmfmac: Fix check for ISO3166 code (bsc#1051510). - iwlwifi: mvm: fix array out of bounds reference (bsc#1051510). - iwlwifi: mvm: make sure internal station has a valid id (bsc#1051510). - iwlwifi: mvm: clear tx queue id when unreserving aggregation queue (bsc#1051510). - iwlwifi: mvm: Increase session protection time after CS (bsc#1051510). - iwlwifi: mvm: fix error checking for multi/broadcast sta (bsc#1051510). - iwlwifi: mvm: Correctly set IGTK for AP (bsc#1051510). - iwlwifi: mvm: set the correct tid when we flush the MCAST sta (bsc#1051510). - drm/ast: Fixed 1280x800 Display Issue (bsc#1051510). - iwlwifi: mvm: Correctly set the tid for mcast queue (bsc#1051510). - iwlwifi: mvm: Direct multicast frames to the correct station (bsc#1051510). - iwlwifi: mvm: fix "failed to remove key" message (bsc#1051510). - iwlwifi: avoid collecting firmware dump if not loaded (bsc#1051510). - iwlwifi: mvm: fix assert 0x2B00 on older FWs (bsc#1051510). - iwlwifi: mvm: Fix channel switch for count 0 and 1 (bsc#1051510). - iwlwifi: mvm: fix TX of CCMP 256 (bsc#1051510). - iwlwifi: mvm: always init rs with 20mhz bandwidth rates (bsc#1051510). - iwlwifi: mvm: fix IBSS for devices that support station type API (bsc#1051510). - cfg80211: clear wep keys after disconnection (bsc#1051510). - coresight: Fix disabling of CoreSight TPIU (bsc#1051510). - commit ff636ab- radix tree: fix multi-order iteration race (bsc#1095467). - radix tree test suite: multi-order iteration race (bsc#1095467). - radix tree test suite: add item_delete_rcu() (bsc#1095467). - radix tree test suite: fix compilation issue (bsc#1095467). - radix tree test suite: fix mapshift build target (bsc#1095467). - commit 6cf3aa4- libnvdimm, namespace: use a safe lookup for dimm device name (bsc#1095321). - vfio: disable filesystem-dax page pinning (bsc#1095337). - commit 1b4ae46- nvme: fix extended data LBA supported setting (FATE#323952, FATE#322506). - commit 8095826- Refresh patches.drivers/ibmvnic-Fix-partial-success-login-retries.patch. - Refresh patches.drivers/ibmvnic-Only-do-H_EOI-for-mobility-events.patch. - Refresh patches.drivers/nvme_fc-fix-abort-race-on-teardown-with-lld-reject.patch. - Refresh patches.drivers/nvme_fc-fix-ctrl-create-failures-racing-with-workq-i.patch. - Refresh patches.drivers/nvme_fc-io-timeout-should-defer-abort-to-ctrl-reset.patch. - Refresh patches.drivers/nvme_fc-on-remoteport-reuse-set-new-nport_id-and-rol.patch. - Refresh patches.drivers/nvmet_fc-prevent-new-io-rqsts-in-possible-isr-comple.patch. - Refresh patches.fixes/0001-iov_iter-fix-return-type-of-_pipe_get_pages.patch. - Refresh patches.fixes/0002-iov_iter-fix-memory-leak-in-pipe_get_pages_alloc.patch. - commit 1a86fbf- ip6_tunnel: update mtu properly for ARPHRD_ETHER tunnel device in tx path (networking-stable-17_10_09). - ip6_gre: ip6gre_tap device should keep dst (networking-stable-17_10_09). - netlink: do not proceed if dump's start() errs (networking-stable-17_10_09). - net: Set sk_prot_creator when cloning sockets to the right proto (networking-stable-17_10_09). - net: dsa: mv88e6xxx: lock mutex when freeing IRQs (networking-stable-17_10_09). - tun: bail out from tun_get_user() if the skb is empty (networking-stable-17_10_09). - net: qcom/emac: specify the correct size when mapping a DMA buffer (networking-stable-17_10_09). - net: emac: Fix napi poll list corruption (networking-stable-17_10_09). - 8139too: revisit napi_complete_done() usage (networking-stable-17_10_09). - ip6_tunnel: do not allow loading ip6_tunnel if ipv6 is disabled in cmdline (networking-stable-17_10_09). - net: phy: Fix mask value write on gmii2rgmii converter speed register (networking-stable-17_10_09). - ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header (networking-stable-17_10_09). - tcp: fix data delivery rate (networking-stable-17_10_09). - tcp: update skb->skb_mstamp more carefully (networking-stable-17_10_09). - sctp: potential read out of bounds in sctp_ulpevent_type_enabled() (networking-stable-17_10_09). - net: bonding: fix tlb_dynamic_lb default value (networking-stable-17_10_09). - mlxsw: spectrum: Prevent mirred-related crash on removal (networking-stable-17_10_09). - net: bonding: Fix transmit load balancing in balance-alb mode if specified by sysfs (networking-stable-17_10_09). - commit 6a14623- Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." (bsc#1093604). - commit 1425838- config: arm64: enable Spectre-v4 per-thread mitigation - commit a71e164- arm64: ssbd: Add prctl interface for per-thread mitigation (bsc#1085308). - arm64: ssbd: Introduce thread flag to control userspace mitigation (bsc#1085308). - arm64: ssbd: Restore mitigation status on CPU resume (bsc#1085308). - arm64: ssbd: Skip apply_ssbd if not using dynamic mitigation (bsc#1085308). - arm64: ssbd: Add global mitigation state accessor (bsc#1085308). - arm64: Add 'ssbd' command-line option (bsc#1085308). - arm64: Add ARCH_WORKAROUND_2 probing (bsc#1085308). - arm64: Add per-cpu infrastructure to call ARCH_WORKAROUND_2 (bsc#1085308). - arm64: Call ARCH_WORKAROUND_2 on transitions between EL0 and EL1 (bsc#1085308). - arm/arm64: smccc: Add SMCCC-specific return codes (bsc#1085308). - arm64: alternatives: Add dynamic patching feature (bsc#1085308). - arm64: fix endianness annotation for __apply_alternatives()/get_alt_insn() (bsc#1085308). - commit e864b8a- Refresh patch order (and some tags) in sorted section Patch patches.drivers/i40iw-Avoid-panic-when-reading-back-the-IRQ-aff.patch seems to have been misplaced from the start. The git-commit tags in the nvme patches needed to be updated, the nvme-4.17 branch was rebased :'( - Refresh patches.drivers/ibmvnic-Fix-partial-success-login-retries.patch. - Refresh patches.drivers/ibmvnic-Only-do-H_EOI-for-mobility-events.patch. - Refresh patches.drivers/nvme_fc-fix-abort-race-on-teardown-with-lld-reject.patch. - Refresh patches.drivers/nvme_fc-fix-ctrl-create-failures-racing-with-workq-i.patch. - Refresh patches.drivers/nvme_fc-io-timeout-should-defer-abort-to-ctrl-reset.patch. - Refresh patches.drivers/nvme_fc-on-remoteport-reuse-set-new-nport_id-and-rol.patch. - Refresh patches.drivers/nvmet_fc-prevent-new-io-rqsts-in-possible-isr-comple.patch. - Refresh patches.fixes/0001-iov_iter-fix-return-type-of-_pipe_get_pages.patch. - Refresh patches.fixes/0002-iov_iter-fix-memory-leak-in-pipe_get_pages_alloc.patch. - commit 6c54b6a- qla2xxx: Mask off Scope bits in retry delay (bsc#1068054). - commit 08dc2b1- kernel/sys.c: fix potential Spectre v1 issue (bnc#1068032 CVE-2017-5753). - commit 3a70d9d- iommu/vt-d: Clear pasid table entry when memory unbound (bsc#1087214). - commit 2081b9a- n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD) (bnc#1094825). - commit f8b3f75- KVM: MMU: consider host cache mode in MMIO page check (bsc#1087213). - x86/mm: add a function to check if a pfn is UC/UC-/WC (bsc#1087213). - commit e4370ae- Refresh patches.drivers/nvme_fc-fix-abort-race-on-teardown-with-lld-reject.patch. - Refresh patches.drivers/nvme_fc-fix-ctrl-create-failures-racing-with-workq-i.patch. - Refresh patches.drivers/nvme_fc-io-timeout-should-defer-abort-to-ctrl-reset.patch. - Refresh patches.drivers/nvme_fc-on-remoteport-reuse-set-new-nport_id-and-rol.patch. - Refresh patches.drivers/nvmet_fc-prevent-new-io-rqsts-in-possible-isr-comple.patch. - commit dc86362- drm/i915: Adjust eDP's logical vco in a reliable place (bsc#1095265). - drm/i915/glk: Add MODULE_FIRMWARE for Geminilake (bsc#1095265). - drm/i915/audio: set minimum CD clock to twice the BCLK (bsc#1095265). - commit a5b2c85- Input: synaptics: Add intertouch blacklist for Thinkpad Helix (bsc#1090457). - commit 722c30b- kabi/severities: Ignore removed bugs.c symbols The second wave of SSBD patches drops those symbols and we can ignore them from kABI because nothing external should use them - they were exported only for kvm. - commit 61bc32c- drm/nouveau/bl: fix backlight regression (bsc#1095094). - commit 40a8de9- drm/nouveau/disp/gf119: add missing drive vfunc ptr (bsc#1095094). - blacklist.conf: - commit 57c1f66- Update kabi files from MR#8172. - commit 826e9fe- drm/nouveau: silence suspend/resume debugging messages (bsc#1095094). - drm/nouveau/kms/nv04-nv4x: fix exposed format list (bsc#1095094). - drm/nouveau/kms/nv10-nv40: add NV21 support to overlay (bsc#1095094). - drm/nouveau/kms/nv04-nv40: improve overlay error detection, fix pitch setting (bsc#1095094). - drm/nouveau/kms/nv04-nv40: prevent undisplayable framebuffers from creation (bsc#1095094). - drm/nouveau/mpeg: print more debug info when rejecting dma objects (bsc#1095094). - drm/nouveau/fb/gf100-: zero mmu debug buffers (bsc#1095094). - drm/nouveau/bar/gf100: add config option to limit BAR2 to 16MiB (bsc#1095094). - initial support (display-only) for GP108 (bsc#1095094). - drm/nouveau/falcon: use a more reasonable msgqueue timeout value (bsc#1095094). - drm/nouveau/disp: Silence DCB warnings (bsc#1095094). - drm/nouveau/bios: Demote missing fp table message to NV_DEBUG (bsc#1095094). - drm/nouveau/pmu/gt215-: abstract detection of whether reset is needed (bsc#1095094). - drm/nouveau/pmu/gt215: fix reset (bsc#1095094). - commit 95d8fc2- drm/nouveau/mc/gf100: add pmu to reset mask (bsc#1095094). - drm/nouveau/disp/gf119-: avoid creating non-existent heads (bsc#1095094). - drm/nouveau/therm/gm200: Added (bsc#1095094). - drm/nouveau/therm: fix spelling mistake on array thresolds (bsc#1095094). - commit b0a0bab- drm/nouveau: Fix merge commit (bsc#1095094). - drm/nouveau/disp/nv04: avoid creation of output paths (bsc#1095094). - commit c534f7b- drm: nouveau: remove dead code and pointless local lut storage (bsc#1095094). - drm/nouveau/disp: add tv encoders to output resource mapping (bsc#1095094). - commit a23a7b7- drm/nouveau: Convert nouveau to use new iterator macros, v2 (bsc#1095094). - commit 8406e59- drm/nouveau: Use the drm_driver.dumb_destroy default (bsc#1095094). - drm/nouveau: Handle drm_atomic_helper_swap_state failure (bsc#1095094). - drm/nouveau/disp/nv50-: avoid creating ORs that aren't present on HW (bsc#1095094). - drm/nouveau: Skip vga_fini on non-PCI device (bsc#1095094). - drm/nouveau/tegra: Don't leave GPU in reset (bsc#1095094). - drm/nouveau/tegra: Skip manual unpowergating when not necessary (bsc#1095094). - commit 60c1e20- drm/nouveau/hwmon: Change permissions to numeric (bsc#1095094). - drm/nouveau/hwmon: expose the auto_point and pwm_min/max attrs (bsc#1095094). - drm/nouveau/hwmon: Remove old code, add .write/.read operations (bsc#1095094). - drm/nouveau/hwmon: Add nouveau_hwmon_ops structure with .is_visible/.read_string (bsc#1095094). - drm/nouveau/hwmon: Add config for all sensors and their settings (bsc#1095094). - drm/nouveau/disp/gm200-: allow non-identity mapping of SOR <-> macro links (bsc#1095094). - drm/nouveau/disp/nv50-: implement a common supervisor 3.0 (bsc#1095094). - drm/nouveau/disp/nv50-: implement a common supervisor 2.2 (bsc#1095094). - drm/nouveau/disp/nv50-: implement a common supervisor 2.1 (bsc#1095094). - drm/nouveau/disp/nv50-: implement a common supervisor 2.0 (bsc#1095094). - commit 31b3d5f- drm/nouveau/disp/nv50-: implement a common supervisor 1.0 (bsc#1095094). - drm/nouveau/disp/nv50-gt21x: remove workaround for dp->tmds hotplug issues (bsc#1095094). - drm/nouveau/disp/dp: use new devinit script interpreter entry-point (bsc#1095094). - drm/nouveau/disp/dp: determine link bandwidth requirements from head state (bsc#1095094). - drm/nouveau/disp: introduce acquire/release display path methods (bsc#1095094). - drm/nouveau/disp: remove hw-specific customisation of output paths (bsc#1095094). - drm/nouveau/disp/gf119-: port OR DP VCPI control to nvkm_ior (bsc#1095094). - drm/nouveau/disp/gt215-: port HDA ELD controls to nvkm_ior (bsc#1095094). - drm/nouveau/disp/g94-: port OR DP drive setting control to nvkm_ior (bsc#1095094). - drm/nouveau/disp/g94-: port OR DP training pattern control to nvkm_ior (bsc#1095094). - commit da64444- drm/nouveau/disp/g94-: port OR DP link power control to nvkm_ior (bsc#1095094). - drm/nouveau/disp/g94-: port OR DP link setup to nvkm_ior (bsc#1095094). - drm/nouveau/disp/g94-: port OR DP lane mapping to nvkm_ior (bsc#1095094). - drm/nouveau/disp/g84-: port OR HDMI control to nvkm_ior (bsc#1095094). - drm/nouveau/disp/nv50-: port OR manual sink detection to nvkm_ior (bsc#1095094). - drm/nouveau/disp/nv50-: port OR power state control to nvkm_ior (bsc#1095094). - drm/nouveau/disp/nv50-: fetch head/OR state at beginning of supervisor (bsc#1095094). - drm/nouveau/disp/nv50-: execute supervisor on its own workqueue (bsc#1095094). - drm/nouveau/disp/dp: train link only when actively displaying an image (bsc#1095094). - drm/nouveau/disp/dp: only check for re-train when the link is active (bsc#1095094). - commit b83eb1a- iw_cxgb4: Fix an error handling path in 'c4iw_get_dma_mr()' (bsc#1064802 bsc#1066129). - cxgb4: fix offset in collecting TX rate limit info (bsc#1073513). - net/mlx5: Fix build break when CONFIG_SMP=n (bsc#1046303 FATE#322944). - cxgb4: Correct ntuple mask validation for hash filters (bsc#1064802 bsc#1066129). - commit 6609289- drm/nouveau: Pass mode-dependent AVI and Vendor HDMI InfoFrames to NVKM (bsc#1095094). - Refresh patches.drivers/drm-handle-HDMI-2.0-VICs-in-AVI-info-frames. - commit 1df105c- iommu/amd: Take into account that alloc_dev_data() may return NULL (bsc#975772). - commit 4a16421- drm/nouveau/disp/dp: determine a failsafe link training rate (bsc#1095094). - drm/nouveau/disp/dp: use cached link configuration when checking link status (bsc#1095094). - drm/nouveau/disp/dp: no need for lt_state except during manual link training (bsc#1095094). - drm/nouveau/disp/dp: store current link configuration in nvkm_ior (bsc#1095094). - drm/nouveau/disp/dp: remove DP_PWR method (bsc#1095094). - drm/nouveau/disp: identity-map display paths to output resources (bsc#1095094). - drm/nouveau/disp: fork off some new hw-specific implementations (bsc#1095094). - drm/nouveau/disp: introduce input/output resource abstraction (bsc#1095094). - commit 04c0581- drm/nouveau/disp: common implementation of scanoutpos method in nvkm_head (bsc#1095094). - commit 56aaa7a- drm/nouveau/disp: move vblank_{get,put} methods into nvkm_head (bsc#1095094). - commit 326cea3- Delete patches.arch/powerpc64-ftrace-Use-the-generic-version-of-ftrace_r.patch (bsc#1088804). - commit 054e09e- usb: xhci: Make some static functions global (FATE#325197). - commit 7f391e4- disable patches.drivers/s390-qeth-use-Read-device-to-query-hypervisor-for-MA.patch Backport of mainline commit b7493e91c11a ("s390/qeth: use Read device to query hypervisor for MAC") changes assigned MAC address (and breaks networking) on one of our machines and it's not clear which address is actually correct (bsc#1094575). Disable the patch for now with a marker so that we prevent releasing a maintenance update incompatible with GM. Once the bug is resolved, we will either reenable the patch or drop it. - commit 9da59a6- drm/nouveau/disp: introduce object to track per-head functions/state (bsc#1095094). - drm/nouveau/disp: delay output path / connector construction until oneinit() (bsc#1095094). - drm/nouveau/disp: s/nvkm_connector/nvkm_conn/ (bsc#1095094). - drm/nouveau/disp: rename nvkm_output_dp to nvkm_dp (bsc#1095094). - drm/nouveau/disp: rename nvkm_output to nvkm_outp (bsc#1095094). - drm/nouveau/disp: shuffle functions around (bsc#1095094). - commit 6fbaf71- drm/nouveau/kms/nv04: use new devinit script interpreter entry-point (bsc#1095094). - drm/nouveau/fb/ram/nv40-: use new devinit script interpreter entry-point (bsc#1095094). - drm/nouveau/devinit: use new devinit script interpreter entry-point (bsc#1095094). - drm/nouveau/bios/init: add a new devinit script interpreter entry-point (bsc#1095094). - commit 2ec036f- drm/nouveau/bios/init: add or/link args separate from output path (bsc#1095094). - drm/nouveau/bios/init: bump script offset to 32-bits (bsc#1095094). - drm/nouveau/bios/init: rename 'crtc' to 'head' (bsc#1095094). - drm/nouveau/bios/init: remove internal use of nvbios_init.bios (bsc#1095094). - drm/nouveau/bios/init: rename nvbios_init() to nvbios_devinit() (bsc#1095094). - drm/nouveau/tmr: remove nvkm_timer_alarm_cancel() (bsc#1095094). - drm/nouveau/bios/iccsense: rails for power sensors have a mask of 0xf8 for version 0x10 (bsc#1095094). - drm/nouveau/bios/volt: Parse min and max for Version 0x40 (bsc#1095094). - drm/nouveau: Enable stereoscopic 3D output over HDMI (bsc#1095094). - drm/nouveau: Handle frame-packing mode geometry and timing effects (bsc#1095094). - commit 1d38f1a- drm/nouveau: Drop drm_vblank_cleanup (bsc#1095094). - drm/nouveau/disp/gk104-: Use supplied HDMI InfoFrames (bsc#1095094). - drm/nouveau/disp/gf119: Use supplied HDMI InfoFrames (bsc#1095094). - drm/nouveau/disp/gt215: Use supplied HDMI InfoFrames (bsc#1095094). - drm/nouveau/disp/g84-gt200: Use supplied HDMI InfoFrames (bsc#1095094). - drm/nouveau/disp: Add mechanism to convert HDMI InfoFrames to hardware format (bsc#1095094). - drm/nouveau/disp/g84-: Extend NVKM HDMI power control method to set InfoFrames (bsc#1095094). - drm/nouveau: Clean up nv50_head_atomic_check_mode() and fix blankus calculation (bsc#1095094). - commit cbc811b- drm/nouveau: use drm_for_each_connector_iter() (bsc#1095094). - commit e658e6c- nfit: skip region registration for incomplete control regions (bsc#1091666). - libnvdimm, label: change min label storage size per UEFI 2.7 (bsc#1091666). - commit 0745987- Bluetooth: Apply QCA Rome patches for some ATH3012 models (bsc#1082504). - commit 683b865- rpm: fix typo, SUSE_KERNEL_RELEASE -> SUSE_KERNEL_RELEASED (bsc#1095104). This causes release kernels to report as (unreleased). - commit cd0437b- powerpc/livepatch: Fix KABI breaker in stacktrace.c (bsc#1071995 bsc#1072856 bsc#1087458 bsc#1089664 bsc#1089669). - commit eaac7dc- PCI/DPC: Do not enable DPC if AER control is not allowed by the BIOS (bsc#1093184). - commit 17be4d4- Delete patches.suse/ppc64le-fix-idle-stacktrace.patch. - Delete patches.suse/ppc64le-stacktrace-fix-graph-ftrace-interaction.patch. - Delete patches.suse/ppc64le-stacktrace-fix-text-check.patch. - Delete patches.suse/ppc64le-stacktrace-mark-exception-stacks-unreliable.patch. - Delete patches.suse/ppc64le-stacktrace-mark-kretprobe-stacks-unreliable.patch. - commit f051f84- usb: xhci: Disable slot even when virt-dev is null (bsc#1085539). - Refresh patches.fixes/0001-usb-xhci-Fix-potential-memory-leak-in-xhci_disable_s.patch. - commit 8097e68- usb: quirks: add control message delay for 1b1c:1b20 (bsc#1087092). - commit d7fe2fb- usb: xhci: Fix potential memory leak in xhci_disable_slot() (bsc#1085539). - commit 2cb4035- usbip: vudc: fix null pointer dereference on udc->lock (bsc#1087092). - commit 9e8764b- blacklist.conf: cosmetic build fix irrelevant to our configs - commit b16d3f1- ibmvnic: Introduce hard reset recovery (bsc#1094840). - ibmvnic: Set resetting state at earliest possible point (bsc#1094840). - ibmvnic: Create separate initialization routine for resets (bsc#1094840). - ibmvnic: Handle error case when setting link state (bsc#1094840). - ibmvnic: Return error code if init interrupted by transport event (bsc#1094840). - ibmvnic: Check CRQ command return codes (bsc#1094840). - ibmvnic: Introduce active CRQ state (bsc#1094840). - ibmvnic: Mark NAPI flag as disabled when released (bsc#1094840). - ibmvnic: Fix partial success login retries (bsc#1094840). - commit dc74a91- nvme: add quirk to force medium priority for SQ creation (FATE#323952, FATE#322506). - commit c3c65dd- nvme: target: fix buffer overflow (FATE#323952, FATE#322506). - nvme: don't send keep-alives to the discovery controller (FATE#323952, FATE#322506). - commit b661970- libnvdimm, dimm: handle EACCES failures from label reads (FATE#324505). - commit 58ba8f8- scsi: qla2xxx: Fix small memory leak in qla2x00_probe_one on probe failure (bsc#1077338). - nvmet: fix space padding in serial number (FATE#323952, FATE#322506). - commit dfc7ea1- PCI: hv: Fix a __local_bh_enable_ip warning in hv_compose_msi_msg() (bnc#1094541). - commit 93066c8- cfg80211: further limit wiphy names to 64 bytes (bsc#1051510). - commit 95eb5e7- cfg80211: limit wiphy names to 128 bytes (bsc#1051510). - ASoC: rockchip: Fix dai_name for HDMI codec (bsc#1051510). - staging: bcm2835-audio: Release resources on module_exit() (bsc#1051510). - Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB (bsc#1051510). - Bluetooth: btusb: Add device ID for RTL8822BE (bsc#1051510). - commit 077bc0e- ASoC: rockchip: rk3288-hdmi-analog: Select needed codecs (bsc#1051510). - ASoC: samsung: i2s: Ensure the RCLK rate is properly determined (bsc#1051510). - ALSA: usb-audio: Add native DSD support for Luxman DA-06 (bsc#1051510). - ASoC: hdmi-codec: Fix module unloading caused kernel crash (bsc#1051510). - ASoC: hdmi-codec: remove multi detection support (bsc#1051510). - ASoC: hdmi-codec: fix spelling mistake: "deteced" -> "detected" (bsc#1051510). - commit 1f38e74- mmc: sdhci-iproc: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for cygnus (bsc#1051510). - mmc: sdhci-iproc: fix 32bit writes for TRANSFER_MODE register (bsc#1051510). - mmc: sdhci-iproc: remove hard coded mmc cap 1.8v (bsc#1051510). - commit 59892a6- drm/nouveau/fbcon: fix oops without fbdev emulation (bsc#1094751). - commit 6458fdb- ALSA: timer: Fix pause event notification (bsc#1051510). - commit 74fed8d- cpufreq: schedutil: Avoid using invalid next_freq (git-fixes). - commit d9c2ab8- RDMA/i40iw: Avoid panic when reading back the IRQ affinity hint (bsc#1084001). - commit ff5f957- powerpc/xmon: Also setup debugger hooks when single-stepping (bsc#1072829). - commit d585167- lpfc: Fix port initialization failure (bsc#1093290). - lpfc: Fix 16gb hbas failing cq create (bsc#1093290). - commit e7cee22- Refresh patches.suse/livepatch-allow-to-call-a-custom-callback-when-freeing-shadow-variables.patch. - Refresh patches.suse/livepatch-initialize-shadow-variables-safely-by-a-custom-callback.patch. - commit a7102df- ceph: fix st_nlink stat for directories (bsc#1093904). - commit a584927- x86/cpuinfo: Ignore ->initialized member (bsc#1091543). - commit e40c5a4- x86/smpboot: Fix uncore_pci_remove() indexing bug when hot-removing a physical CPU (bsc#1091543). - x86/topology: Avoid wasting 128k for package id array (bsc#1091543). - Refresh patches.arch/x86-smpboot-fix-_max_logical_packages-estimate.patch. - commit 7e6af23- ibmvnic: Only do H_EOI for mobility events (bsc#1094356). - commit cb5fb4c- mkspec: only build docs for default variant kernel. - commit 045f5ac- firmware: fix checking for return values for fw_add_devm_name() (bsc#1051510). - crypto: atmel-aes - fix the keys zeroing on errors (bsc#1051510). - drm/panel: simple: Fix the bus format for the Ontat panel (bsc#1051510). - KEYS: Use individual pages in big_key for crypto buffers (bsc#1051510). - PCI: designware-ep: Fix find_first_zero_bit() usage (bsc#1051510). - commit 809527b- drm/i915/gen9: Add WaClearHIZ_WM_CHICKEN3 for bxt and glk (bsc#1051510). - drm: Match sysfs name in link removal to link creation (bsc#1051510). - ALSA: usb: mixer: volume quirk for CM102-A+/102S+ (bsc#1051510). - ALSA: hda: Add Lenovo C50 All in one to the power_save blacklist (bsc#1051510). - ALSA: control: fix a redundant-copy issue (bsc#1051510). - commit c91847f- blacklist.conf: Add 4.14.x stable and git-fixes entries - commit 2e0c8f6- i2c: designware: fix poll-after-enable regression (bsc#1051510). - drm/i915/execlists: Use rmb() to order CSB reads (bsc#1051510). - gpio: fix error path in lineevent_create (bsc#1051510). - gpioib: do not free unrequested descriptors (bsc#1051510). - PCI: Remove messages about reassigning resources (bsc#1051510). - iwlwifi: mvm: fix security bug in PN checking (bsc#1051510). - PCI/ASPM: Calculate LTR_L1.2_THRESHOLD from device characteristics (bsc#1051510). - ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs (bsc#1051510). - PCI/ASPM: Add L1 Substates definitions (bsc#1051510). - crypto: qat - remove unused and redundant pointer vf_info (bsc#1051510). - PM: docs: Drop an excess character from devices.rst (bsc#1051510). - Bluetooth: btrtl: Fix a error code in rtl_load_config() (bsc#1051510). - commit 0ab3e88- patches.suse/bpf-prevent-memory-disambiguation-attack.patch: update upstream references - commit 4896c66- libnvdimm, nfit: fix persistence domain reporting (bsc#1091424). - libnvdimm, region: hide persistence_domain when unknown (bsc#1091424). - commit 77c2ab1- proc: do not access cmdline nor environ from file-backed areas (bnc#1093158, CVE-2018-1120). - commit ea6dcee- kabi protect struct acpi_nfit_desc (bsc#1091424). - commit 7ebc432- libnvdimm: re-enable deep flush for pmem devices via fsync() (bsc#1091424). - nfit-test: Add platform cap support from ACPI 6.2a to test (bsc#1091424). - libnvdimm: expose platform persistence attribute for nd_region (bsc#1091424). - acpi: nfit: add persistent memory control flag for nd_region (bsc#1091424). - acpi: nfit: Add support for detect platform CPU cache flush on power loss (bsc#1091424). - ACPICA: ACPI 6.0A: Changes to the NFIT ACPI table (bsc#1091424). - commit b0e80fc- powerpc/fadump: Do not use hugepages when fadump is active (bsc#1092772). - powerpc/fadump: exclude memory holes while reserving memory in second kernel (bsc#1092772). - ibmvnic: Fix statistics buffers memory leak (bsc#1093990). - ibmvnic: Fix non-fatal firmware error reset (bsc#1093990). - ibmvnic: Free coherent DMA memory if FW map failed (bsc#1093990). - commit ceb9040- bpf, x64: fix memleak when not converging after image (bsc#1083647). - commit 8c0d872- RDMA/core: Reduce poll batch for direct cq polling (bsc#1046306 FATE#322942). - commit e6718a9- blacklist.conf: not applicable patch - commit 9c0c786- IB/hfi1: Fix NULL pointer dereference when invalid num_vls is used (bsc#1060463 FATE#323043). - commit a03f34c- iw_cxgb4: Atomically flush per QP HW CQEs (bsc#1046543 FATE#322927). - IB/mlx5: Use unlimited rate when static rate is not supported (bsc#1046305 FATE#322943). - IB/srp: Fix srp_abort() (bsc#1046306 FATE#322942). - i40e: Fix attach VF to VM issue (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - IB/ipoib: Fix for potential no-carrier state (bsc#1046307 FATE#322941). - IB/hfi1: Re-order IRQ cleanup to address driver cleanup race (bsc#1060463 FATE#323043). - i40e: program fragmented IPv4 filter input set (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - ixgbe: don't set RXDCTL.RLPML for 82599 (bsc#1056657 FATE#322189). - igb: Clear TXSTMP when ptp_tx_work() is timeout (bsc#1056651 FATE#322191). - igb: Allow to remove administratively set MAC on VFs (bsc#1056651 FATE#322191). - i40evf: ignore link up if not running (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: Don't schedule reset_task when device is being removed (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - IB/cq: Don't force IB_POLL_DIRECT poll context for ib_process_cq_direct (bsc#1046306 FATE#322942). - i40iw: Zero-out consumer key on allocate stag for FMR (bsc#1058659 FATE#322535). - commit 478a78b- qede: Fix gfp flags sent to rdma event node allocation (bsc#1050538 FATE#322897 bsc#1050545 FATE#322893). - qed: Fix l2 initializations over iWARP personality (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - IB/mlx4: Fix integer overflow when calculating optimal MTT size (bsc#1071218). - IB/hfi1: Fix handling of FECN marked multicast packet (bsc#1060463 FATE#323043). - IB/uverbs: Fix validating mandatory attributes (bsc#1046306 FATE#322942). - RDMA/ucma: Allow resolving address w/o specifying source address (bsc#1046306 FATE#322942). - net/mlx5: Fix mlx5_get_vector_affinity function (bsc#1046303 FATE#322944). - net/mlx5e: Allow offloading ipv4 header re-write for icmp (bsc#1046303 FATE#322944). - net: ethtool: Add missing kernel doc for FEC parameters (bsc#1046540 FATE#322930). - s390/qeth: use Read device to query hypervisor for MAC (bsc#1061024 FATE#323301). - commit 22f22c5- bpf: prevent memory disambiguation attack (bsc#1087082 CVE-2018-3639). - commit f1ac4a9- IB/mlx5: Respect new UMR capabilities (bsc#1093205). - IB/mlx5:: pr_err() and mlx5_ib_dbg() strings should end with newlines (bsc#1093205). - commit 16e6605- ALSA: hda/conexant - Add hp-mic-fix model string (bsc#1092975). - ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation (bsc#1092975). - commit 5d0df0f- blacklist.conf: Blacklist 191eac33009e - commit 1b481a4- kvm: Introduce nopvspin kernel parameter (bsc#1056427). - commit 570c828- target: transport should handle st FM/EOM/ILI reads (bsc#1081599). - commit ca764ea- ext4: Make checks for metadata_csum feature safer (bsc#1087007 CVE-2018-1094). - commit 6181ff6- Re-sort some patches to match SLE15 - commit 6a7749f- platform/x86: ideapad-laptop: Add MIIX 720-12IKB to no_hw_rfkill (bsc#1093035). - commit 6221bce- rbd: use GFP_NOIO for parent stat and data requests (bsc#1093728). - commit 44d096a- init: fix false positives in W+X checking (bsc#1093721). - commit a677380- udf: Fix leak of UTF-16 surrogates into encoded strings (bsc#1052766). - commit e33d1c5- ubifs: Check ubifs_wbuf_sync() return code (bsc#1052766). - commit a179714- ocfs2/acl: use 'ip_xattr_sem' to protect getting extended attribute (bsc#1052766). - commit c0afed7- ocfs2: return -EROFS to mount.ocfs2 if inode block is invalid (bsc#1052766). - commit da97770- mm/fadvise: discard partial page if endbyte is also EOF (bsc#1052766). - commit 3f997d0- jffs2_kill_sb(): deal with failed allocations (bsc#1052766). - commit de4aa95- jbd2: if the journal is aborted then don't allow update of the log tail (bsc#1052766). - commit 67b57ee- fs/reiserfs/journal.c: add missing resierfs_warning() arg (bsc#1052766). - commit 7822e11- f2fs: avoid hungtask when GC encrypted block if io_bits is set (bsc#1052766). - commit 7911426- kernel-{binary,docs}.spec sort dependencies. - commit d2ab971- f2fs: fix heap mode to reset it back (bsc#1052766). - commit 465478b- ext4: add bounds checking to ext4_xattr_find_entry() (bsc#1052766). - commit 4d6bdef- ext4: move call to ext4_error() into ext4_xattr_check_block() (bsc#1052766). - commit 965aee5- ext4: fail ext4_iget for root directory if unallocated (bsc#1087012 cve-2018-1092). - commit f34f410- ext4: add MODULE_SOFTDEP to ensure crc32c is included in the initramfs (bsc#1087007 cve-2018-1094). - commit 35cde8f- ext4: fix bitmap position validation (bsc#1087095 cve-2018-1093). - commit 1c6e15e- ext4: add validity checks for bitmap block numbers (bsc#1087095 cve-2018-1093). - commit 7cf212c- ext4: always initialize the crc32c checksum driver (bsc#1087007 cve-2018-1094). - commit 6b4bb4d- ext4: don't allow r/w mounts if metadata blocks overlap the superblock (bsc#1087007 CVE-2018-1094). - commit b6c942a- ext4: protect i_disksize update by i_data_sem in direct write path (bsc#1052766). - commit 2c7821b- ext4: don't update checksum of new initialized bitmaps (bsc#1052766). - commit 01962a6- ext4: pass -ESHUTDOWN code to jbd2 layer (bsc#1052766). - commit dfe0ff7- ext4: eliminate sleep from shutdown ioctl (bsc#1052766). - commit dcd32a5- ext4: shutdown should not prevent get_write_access (bsc#1052766). - commit b753cba- block: Set BIO_TRACE_COMPLETION on new bio during split (bsc#1052766). - commit 2f880da- block/loop: fix deadlock after loop_set_status (bsc#1052766). - commit 475b06c- blacklist.conf: Blacklist 6e2fb22103b9 - commit 605d806- block, bfq: put async queues for root bfq groups too (bsc#1052766). - commit ac0e526- afs: Connect up the CB.ProbeUuid (bsc#1052766). - commit d895d36- afs: Fix missing error handling in afs_write_end() (bsc#1052766). - commit 2e06e76- 9p/trans_virtio: discard zero-length reply (bsc#1052766). - commit 0110526- delayacct: Account blkio completion on the correct task (bsc#1052766). - commit 2e845da- f2fs: fix to clear CP_TRIMMED_FLAG (bsc#1052766). - blacklist.conf: Blacklist 3172485f4f80 - commit 38f8eeb- blacklist.conf: Blacklist 2e898e4c0a38 - commit db7d2b4- loop: handle short DIO reads (bsc#1052766). - commit 5da5b57- bfq-iosched: ensure to clear bic/bfqq pointers when preparing request (bsc#1052766). - commit b6992de- ext4: set h_journal if there is a failure starting a reserved handle (bsc#1052766). - commit ea7ff62- bdi: Fix oops in wb_workfn() (bsc#1052766). - commit 9cf4d8d- bdi: wake up concurrent wb_shutdown() callers (bsc#1052766). - commit b3bf0f2- Bluetooth: btusb: Add Dell XPS 13 9360 to btusb_needs_reset_resume_table (bsc#1051510). - Bluetooth: btusb: Only check needs_reset_resume DMI table for QCA rome chipsets (bsc#1051510). - Revert "Bluetooth: btusb: Fix quirk for Atheros 1525/QCA6174" (bsc#1051510). - drm/nouveau: Fix deadlock in nv50_mstm_register_connector() (bsc#1051510). - drm/vc4: Fix scaling of uni-planar formats (bsc#1051510). - drm/atomic: Clean old_state/new_state in drm_atomic_state_default_clear() (bsc#1051510). - drm/i915: Fix drm:intel_enable_lvds ERROR message in kernel log (bsc#1051510). - Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_QCA_ROME (bsc#1051510). - commit 717100e- Move patches.arch/powerpc-64-kexec-fix-race-in-kexec-when-XIVE-is-shut.patch back into sorted section. Using the --upstream option of series_sort was needed to move the patch out of the out-of-tree section after having updated its tags. - commit 8000f4d- fsnotify: Hide kABI changes in fsnotify_mark_connector (bsc#1052766). - commit 9542f03- drm/msm: Fix possible null dereference on failure of get_pages() (bsc#1051510). - commit 6e060f3- supported.conf: Remove external flag from iwlwifi modules (bsc#1093273) - commit 6601bf3- ocfs2/dlm: Fix up kABI in dlm_ctxt (bsc#1052766). - commit 4fb2c31- x86/cpu_entry_area: Map also trace_idt_table (bsc#1089878). - commit 84c016e- blacklist.conf: Blacklist a09acf4b43b905 - commit b015d58- blacklist.conf: Blacklist 8a1ac5dc7be0 - commit 2e356a2- eCryptfs: don't pass up plaintext names when using filename encryption (bsc#1052766). - commit 4218bd8- : Fix copy_in_user() declaration (bsc#1052766). - commit 1bf0eca- fsnotify: Fix fsnotify_mark_connector race (bsc#1052766). - commit 27c3d64- mm/filemap.c: fix NULL pointer in page_cache_tree_insert() (bsc#1052766). - commit 6efc69c- ocfs2/dlm: wait for dlm recovery done when migrating all lock resources (bsc#1052766). - commit 4a66c16- fanotify: fix logic of events on child (bsc#1052766). - commit 898aece- ext4: prevent right-shifting extents beyond EXT_MAX_BLOCKS (bsc#1052766). - blacklist.conf: blacklist 1202d4ba2899 - commit ec5f585- device-dax: allow MAP_SYNC to succeed (bsc#1052766). - commit ae5091e- mm/shmem: do not wait for lock_page() in shmem_unused_huge_shrink() (bnc#1089667). - commit d867479- mm, oom: fix concurrent munlock and oom reaper unmap, v3 (bnc#1090150, CVE-2018-1000200). - commit 47447cd- dccp: check sk for closed state in dccp_sendmsg() (CVE-2018-1130 bsc#1092904). - commit ceeb802- Refresh series.conf Update upstream reference: patches.fixes/vti6-Change-minimum-MTU-to-IPV4_MIN_MTU-vti6-can-car.patch - commit 6528141- macros.kernel-source: Fix building non-x86 KMPs - commit 8631d05- sched/numa: Stagger NUMA balancing scan periods for new threads (Automatic NUMA Balancing (fate#315482)). - commit 4201a3f- USB: Accept bulk endpoints with 1024-byte maxpacket (bsc#1092888). - commit 9797940- powerpc/64s: Add support for a store forwarding barrier at kernel entry/exit (CVE-2018-3639, bsc#1087082). - commit 908c138- acpi, nfit: rework NVDIMM leaf method detection (bsc#1091782). - commit 87ec38c- reiserfs: package in separate KMP (FATE#323394). - commit d14f152- reiserfs: mark read-write mode unsupported (FATE#323394). - commit 0e79976- allow_unsupported: add module tainting on feature use (FATE#323394). - commit 41cd8e7- blacklist.conf: add cifs commit RDMA is unsupported in all SLE versions. - commit 5b79c0d- update series.conf - commit aca3df0- qmi_wwan: do not steal interfaces from class drivers (bsc#1092888). - commit c28e58a- blacklist.conf: would break kABI - commit da58da7- blacklist.conf: build bug not hitting us - commit a0086b1- usb: typec: ucsi: Increase command completion timeout value (bsc#1090888). - commit 01614a9- s390/cio: update chpid descriptor after resource accessibility event (bnc#1093148, LTC#167307). - s390/dasd: fix IO error for newly defined devices (bnc#1093148, LTC#167307). - s390/qeth: fix MAC address update sequence (bnc#1093148, LTC#167307). - s390/qeth: translate SETVLAN/DELVLAN errors (bnc#1093148, LTC#167307). - s390/uprobes: implement arch_uretprobe_is_alive() (bnc#1093148, LTC#167307). - commit a741d19- KVM: SVM: Move spec control call after restore of GS (bsc#1087082 CVE-2018-3639). - commit 65e82a4- Refresh patch order in sorted section - commit 3005f35- Fix patch order in sorted section Problem introduced in bd8adff3d4 Merge branch 'SLE15' into SLE15-UPDATE - commit 9d5f51b- Move 0008-kabi-arm64-reserve-space-in-cpu_hwcaps-and-cpu_hwcap.patch Patches in patches.kabi are removed when kabi files are deleted. This is not wanted for padding patches. - commit 0ee5d8b- macros.kernel-source: ignore errors when using make to print kernel release There is no way to handle the errors anyway and including the error into package version does not give good results. - commit 282e9a6- ALSA: emu10k1: Fix kABI breakage (bsc#1093027). - ALSA: emu10k1: add a IOMMU workaround (bsc#1093027). - ALSA: emu10k1: make sure synth DMA pages are allocated with DMA functions (bsc#1093027). - ALSA: emu10k1: add optional debug printouts with DMA addresses (bsc#1093027). - ALSA: emu10k1: use dma_set_mask_and_coherent() (bsc#1093027). - ALSA: emu10k1: remove reserved_page (bsc#1093027). - commit 851a387- Move to sorted section Refresh patches.drivers/ALSA-hda-Fix-incorrect-usage-of-IS_REACHABLE. - commit d2d47c0- ceph: fix rsize/wsize capping in ceph_direct_read_write() (bsc#1089115). - commit ea924b0- ALSA: aloop: Add missing cable lock to ctl API callbacks (bsc#1051510). - commit dff1fc0- mac80211: Fix condition validating WMM IE (bsc#1051510). - drm/atomic: Clean private obj old_state/new_state in drm_atomic_state_default_clear() (bsc#1051510). - platform/x86: asus-wireless: Fix NULL pointer dereference (bsc#1051510). - drm/vmwgfx: Fix a buffer object leak (bsc#1051510). - drm/bridge: vga-dac: Fix edid memory leak (bsc#1051510). - ALSA: pcm: Check PCM state at xfern compat ioctl (bsc#1051510). - ALSA: dice: fix kernel NULL pointer dereference due to invalid calculation for array index (bsc#1051510). - ALSA: seq: Fix races at MIDI encoding in snd_virmidi_output_trigger() (bsc#1051510). - Input: atmel_mxt_ts - add touchpad button mapping for Samsung Chromebook Pro (bsc#1051510). - Input: leds - fix out of bound access (bsc#1051510). - ALSA: aloop: Mark paused device as inactive (bsc#1051510). - regulator: cpcap: Fix standby mode (bsc#1051510). - commit a0aac68- Preliminary series sort - commit e06d957- Refresh powerpc ftrace patches - commit 74a0e90- powerpc/64/kexec: fix race in kexec when XIVE is shutdown (bsc#1088273). Refresh patchset with upstream patches - Refresh patches.arch/powerpc-64-kexec-fix-race-in-kexec-when-XIVE-is-shut.patch - Refresh patches.arch/powerpc-xive-fix-hcall-H_INT_RESET-to-support-long-b.patch. - Refresh patches.arch/powerpc-xive-prepare-all-hcalls-to-support-long-busy.patch. - Refresh patches.arch/powerpc-xive-shutdown-XIVE-when-kexec-or-kdump-is-pe.patch. - commit 39957bd- blacklist.conf: - commit a76527a- Revert "kernel-binary: do not package extract-cert when not signing modules" This reverts commit 10a8bc496a553b8069d490a8ae7508bdb19f58d9. - commit 1f7acca- proc: Use underscores for SSBD in 'status' (bsc#1087082 CVE-2018-3639). - x86/bugs: Rename _RDS to _SSBD (bsc#1087082 CVE-2018-3639). - x86/speculation: Make "seccomp" the default mode for Speculative Store Bypass (bsc#1087082 CVE-2018-3639). - seccomp: Move speculation migitation control to arch code (bsc#1087082 CVE-2018-3639). - seccomp: Add filter flag to opt-out of SSB mitigation (bsc#1087082 CVE-2018-3639). - seccomp: Use PR_SPEC_FORCE_DISABLE (bsc#1087082 CVE-2018-3639). - prctl: Add force disable speculation (bsc#1087082 CVE-2018-3639). - x86/bugs: Make boot modes __ro_after_init (bsc#1087082 CVE-2018-3639). - seccomp: Enable speculation flaw mitigations (bsc#1087082 CVE-2018-3639). - proc: Provide details on speculation flaw mitigations (bsc#1087082 CVE-2018-3639). - nospec: Allow getting/setting on non-current task (bsc#1087082 CVE-2018-3639). - x86/speculation: Add prctl for Speculative Store Bypass mitigation (bsc#1087082 CVE-2018-3639). - x86/process: Allow runtime control of Speculative Store Bypass (bsc#1087082 CVE-2018-3639). - prctl: Add speculation control prctls (bsc#1087082 CVE-2018-3639). - x86/speculation: Create spec-ctrl.h to avoid include hell (bsc#1087082 CVE-2018-3639). - x86/KVM/VMX: Expose SPEC_CTRL Bit(2) to the guest (bsc#1087082 CVE-2018-3639). - x86/bugs/AMD: Add support to disable RDS on Fam[15,16,17]h if requested (bsc#1087082 CVE-2018-3639). - x86/bugs: Whitelist allowed SPEC_CTRL MSR values (bsc#1087082 CVE-2018-3639). - x86/bugs/intel: Set proper CPU features and setup RDS (bsc#1087082 CVE-2018-3639). - x86/bugs: Provide boot parameters for the spec_store_bypass_disable mitigation (bsc#1087082 CVE-2018-3639). - x86/cpufeatures: Add X86_FEATURE_RDS (bsc#1087082 CVE-2018-3639). - x86/bugs: Expose /sys/../spec_store_bypass (bsc#1087082 CVE-2018-3639). - x86/bugs, KVM: Support the combination of guest and host IBRS (bsc#1087082 CVE-2018-3639). - x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits (bsc#1087082 CVE-2018-3639). - x86/bugs: Concentrate bug reporting into a separate function (bsc#1087082 CVE-2018-3639). - x86/bugs: Concentrate bug detection into a separate function (bsc#1087082 CVE-2018-3639). - x86/nospec: Simplify alternative_msr_write() (bsc#1087082 CVE-2018-3639). - commit 62d3255- btrfs: Fix wrong first_key parameter in replace_path (follow up fix for bsc#1084721). - commit 4346da1- btrfs: suspend qgroups during relocation recovery (bsc#1086467). - commit f0b899a- Refresh patches.suse/btrfs-qgroups-fix-rescan-worker-running-races.patch. The previous version reintroduced the race that upstream commit 8d9eddad194 was intended to fix. This version addresses that issue as well as fixing a separate issue where the rescan worker might not have resumed on mount. - commit 3847d2d- Delete patches.suse/btrfs-push-relocation-recovery-into-helper-thread.patch. Pushing relocation recovery into a thread allowed mounts to proceed but the file system would end up being unable to be unmounted for some time. - commit a456afe- ext4: Fix hole length detection in ext4_ind_map_blocks() (bsc#1090953). - commit 6264cfb- iov_iter: fix memory leak in pipe_get_pages_alloc() (bsc#1092710). - iov_iter: fix return type of __pipe_get_pages() (bsc#1092710). - commit 0ace052- scripts/git_sort/git_sort.py: add Viro's vfs git - commit 82df85f- run series_sort.py - commit c46ab68- scripts/git_sort/git_sort.py: Remove duplicated repo entry - commit 5449163- powerpc/64s: Enhance the information in cpu_show_spectre_v1() (bsc#1068032). - commit 447e243- Delete patches.suse/sched-numa-Delay-retrying-placement-for-automatic-NUMA-balance-after-wake_affine.patch. - commit d676b29- Enable uniput driver (bsc#1092566). - commit 7e93d22- Refresh patches.suse/revert-btrfs-qgroup-move-half-of-the-qgroup-accounting-time-out-of-commit-trans.patch. - commit 6bb3a77- libnvdimm, btt: fix format string warnings (bsc#1087205). - commit 840b821- libnvdimm, btt: add a couple of missing kernel-doc lines (bsc#1087210). - Refresh patches.drivers/libnvdimm-btt-fix-an-incompatibility-in-the-log-layout.patch. - commit a3acfa5- libnvdimm, btt: clean up warning and error messages (bsc#1087205). - Refresh patches.drivers/libnvdimm-btt-fix-an-incompatibility-in-the-log-layout.patch. - commit f89db23- powerpc/lib: Fix off-by-one in alternate feature patching (bsc#1065729). - commit 64ed10b- ibmvnic: Clean actual number of RX or TX pools (bsc#1092289). - commit 87e794b- acpi, nfit: quiet invalid block-aperture-region warnings (bsc#1091781). - commit 02372d1- ovl: treat btrfs mounts as different superblocks (bsc#1059336). - commit f3a38b6- net/mlx5: Avoid cleaning flow steering table twice during error flow (bsc#1091532). - commit 62f9ca0- x86/xen: Calculate __max_logical_packages on PV domains (bsc#1091543). - x86/smpboot: Do not use smp_num_siblings in __max_logical_packages calculation (bsc#1091543). - xen/vcpu: Handle xen_vcpu_setup() failure at boot (bsc#1091543). - commit bbde611- regulator: gpio: Fix some error handling paths in 'gpio_regulator_probe()' (bsc#1091960). - commit 11d5f9c- ALSA: hda - Fix incorrect usage of IS_REACHABLE() (bsc#1051510). - commit 80496e0- ACPI / video: Only default only_lcd to true on Win8-ready _desktops_ (bsc#1051510). - commit 0fc9eb6- Bluetooth: hci_bcm: Remove DMI quirk for the MINIX Z83-4 (bsc#1051510). - Bluetooth: hci_bcm: Add 6 new ACPI HIDs (bsc#1051510). - commit b8563e2- Bluetooth: hci_bcm: Treat Interrupt ACPI resources as always being active-low (bsc#1051510). - Bluetooth: hci_bcm: Add support for BCM2E72 (bsc#1051510). - commit a0d1341- Bluetooth: hci_bcm: Add support for MINIX Z83-4 based devices (bsc#1051510). - Refresh patches.drivers/Bluetooth-hci_bcm-Add-support-for-BCM2E7E. - commit 72f23eb- powerpc/64s: Enable barrier_nospec based on firmware settings (bsc#1068032, bsc#1080157). Delete patches.arch/powerpc-64-barrier_nospec-Add-commandline-trigger.patch. Delete patches.arch/powerpc-64s-barrier_nospec-Add-hcall-trigger.patch. - commit a3f6f3e- Bluetooth: hci_bcm: Fix setting of irq trigger type (bsc#1051510). - commit 4e523f8- Bluetooth: hci_bcm: Handle empty packet after firmware loading (bsc#1051510). - Bluetooth: hci_bcm: Make bcm_request_irq fail if no IRQ resource (bsc#1051510). - Bluetooth: hci_bcm: Add active_low irq polarity quirk for Asus T100CHI (bsc#1051510). - commit c5294d7- ima: Fallback to the builtin hash algorithm (bsc#1091686). - commit f2a7590- Delete patches.arch/powerpc-64s-Use-barrier_nospec-in-RFI_FLUSH_SLOT.patch. - commit f4a4c12- Refresh patches.arch/powerpc-64-Use-barrier_nospec-in-syscall-entry.patch. - commit 238866b- powerpc: Use barrier_nospec in copy_from_user() (bsc#1068032, bsc#1080157). - commit 080b1ec- Refresh patches.arch/powerpc-Add-barrier_nospec.patch Refresh patches.arch/powerpc-64s-Add-support-for-ori-barrier_nospec-patch.patch Refresh patches.arch/powerpc-64-Patch-barrier_nospec-in-modules.patch Delete patches.arch/powerpc-64-barrier_nospec-Add-debugfs-trigger.patch - commit 40ed6a0- Delete patches.drivers/ASoC-rt5514-Add-the-missing-register-in-the-readable This is not really needed for SLE15 kernel (yet). - commit 5784e60- Fix the build error in adau17x1 soc driver (bsc#1051510) Refreshed patch: patches.drivers/ASoC-adau17x1-Handling-of-DSP_RUN-register-during-fw - commit 50449fc- vti6: Change minimum MTU to IPV4_MIN_MTU, vti6 can carry IPv4 too (bsc#1082869). - commit 2585ed1- vti6: Fix dev->max_mtu setting (bsc#1082869). - commit 0b18cdf- vti6: Keep set MTU on link creation or change, validate it (bsc#1082869). - commit 4b40c7c- vti6: Properly adjust vti6 MTU from MTU of lower device (bsc#1082869). - commit 68cda33- ip6_vti: adjust vti mtu according to mtu of lower device (bsc#1082869). - commit 3a6c0fa- ipv4: igmp: guard against silly MTU values (bsc#1082869). - commit 82d3d2c- Update mainline reference: patches.fixes/netfilter-ebtables-fix-erroneous-reject-of-last-rule.patch - commit 5d4c7dd- sctp: verify size of a new chunk in _sctp_make_chunk() (CVE-2018-5803 bsc#1083900). - commit 51d8978- rds: Fix NULL pointer dereference in __rds_rdma_map (CVE-2018-7492 bsc#1082962). - commit 23bba58- crypto: drbg - set freed buffers to NULL (bsc#1051510). - drm/i915: Enable display WA#1183 from its correct spot (bsc#1051510). - drm/virtio: fix vq wait_event condition (bsc#1051510). - drm/amdgpu: set COMPUTE_PGM_RSRC1 for SGPR/VGPR clearing shaders (bsc#1051510). - thermal: imx: Fix race condition in imx_thermal_probe() (bsc#1051510). - thunderbolt: Resume control channel after hibernation image is created (bsc#1051510). - thermal: power_allocator: fix one race condition issue for thermal_instances list (bsc#1051510). - pinctrl: baytrail: Enable glitch filter for GPIOs used as interrupts (bsc#1051510). - omapdrm: panel: fix compatible vendor string for td028ttec1 (bsc#1051510). - pinctrl: denverton: Fix UART2 RTS pin mode (bsc#1051510). - thermal/drivers/step_wise: Fix temperature regulation misbehavior (bsc#1051510). - commit d15623c- Refresh patches.drivers/ibmvfc-avoid-unnecessary-port-relogin.patch - commit d88d95f- Fix kABI breakage due to snd_usb_audio_quirk profile_name addition (bsc#1091678). - ALSA: usb-audio: Give proper vendor/product name for Dell WD15 Dock (bsc#1091678). - ALSA: usb-audio: Allow to override the longname string (bsc#1091678). - ALSA: usb-audio: Add "Keep Interface" control (bsc#1089467). - ALSA: usb-audio: Add keep_iface flag (bsc#1089467). - ALSA: usb-audio: Avoid superfluous usb_set_interface() calls (bsc#1089467). - ALSA: usb-audio: Initialize Dell Dock playback volumes (bsc#1089467). - commit fe9e40b- blacklist.conf: Add drm/i915/gvt entries - commit 608a429- drm/i915/bios: filter out invalid DDC pins from VBT child devices (bsc#1051510). - commit 45ac78f- x86/smpboot: Fix __max_logical_packages estimate (bsc#1091543). - commit 2eb7ead- kernel-binary: also default klp_symbols to 0 here. - commit e35f14a- klp_symbols: make --klp-symbols argument semantic sane It selects build of klp symbols and defaults to off - commit 0e53042- qla2xxx: Enable T10-DIF with FC-NVMe enabled (bsc#1091264). - commit fa61ec8- powerpc/perf: fix bug references. - commit 9413630- libceph: validate con->state at the top of try_write() (bsc#1089115). - libceph: reschedule a tick in finish_hunting() (bsc#1089115). - libceph: un-backoff on tick when we have a authenticated session (bsc#1089115). - commit bafc6da- ceph: check if mds create snaprealm when setting quota (FATE#323422 bsc#1089115). - commit c1584f3- kexec_file: do not add extra alignment to efi memmap (bsc#1089268). - commit b74811e- x86,sched: Allow topologies where NUMA nodes share an LLC (bsc#1091158). - commit a8d2942- Refresh patches.suse/btrfs-use-kvzalloc-to-allocate-btrfs_fs_info.patch - Fixed References (bsc#1062897). - Updated patch tags. - commit aeff055- spi: atmel: init FIFOs before spi enable (bsc#1051510). - spi: Fix scatterlist elements size in spi_map_buf (bsc#1051510). - spi: sun6i: disable/unprepare clocks on remove (bsc#1051510). - spi: imx: do not access registers while clocks disabled (bsc#1051510). - spi: xilinx: Detect stall with Unknown commands (bsc#1051510). - spi: sun4i: disable clocks in the remove function (bsc#1051510). - spi: atmel: fixed spin_lock usage inside atmel_spi_remove (bsc#1051510). - spi: a3700: Fix clk prescaling for coefficient over 15 (bsc#1051510). - spi: spi-axi: fix potential use-after-free after deregistration (bsc#1051510). - spi: sh-msiof: Fix DMA transfer size check (bsc#1051510). - spi: bcm-qspi: Fix use after free in bcm_qspi_probe() in error path (bsc#1051510). - spi: a3700: Return correct value on timeout detection (bsc#1051510). - spi: armada-3700: Fix failing commands with quad-SPI (bsc#1051510). - commit e6b76f4- partitions/msdos: Unable to mount UFS 44bsd partitions (bsc#1051510). - commit 5e36816- iio: st_pressure: st_accel: pass correct platform data to init (bsc#1051510). - hwmon: (ina2xx) Fix access to uninitialized mutex (bsc#1051510). - hwmon: (ina2xx) Make calibration register value fixed (bsc#1051510). - iio: st_pressure: st_accel: Initialise sensor platform data properly (bsc#1051510). - commit a13dfdc- etnaviv: fix gem object list corruption (bsc#1051510). - etnaviv: fix submit error path (bsc#1051510). - commit b019495- dmaengine: ti-dma-crossbar: Fix possible race condition with dma_inuse (bsc#1051510). - commit 419987b- dmaengine: at_xdmac: fix rare residue corruption (bsc#1051510). - crypto: arm,arm64 - Fix random regeneration of S_shipped (bsc#1051510). - dmaengine: ti-dma-crossbar: Fix event mapping for TPCC_EVT_MUX_60_63 (bsc#1051510). - dmaengine: dmatest: fix container_of member in dmatest_callback (bsc#1051510). - dmaengine: jz4740: disable/unprepare clk if probe fails (bsc#1051510). - dmaengine: dmatest: move callback wait queue to thread context (bsc#1051510). - dmaengine: at_hdmac: fix potential NULL pointer dereference in atc_prep_dma_interleaved (bsc#1051510). - dmaengine: ioat: Fix error handling path (bsc#1051510). - dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type (bsc#1051510). - dmaengine: dmatest: warn user when dma test times out (bsc#1051510). - dmaengine: edma: Align the memcpy acnt array size with the transfer (bsc#1051510). - commit a771c38- mtd: ubi: wl: Fix error return code in ubi_wl_init() (bsc#1051510). - commit 25a7288- ubi: Reject MLC NAND (bsc#1051510). - ubi: Fix error for write access (bsc#1051510). - ubi: fastmap: Don't flush fastmap work on detach (bsc#1051510). - ubi: block: Fix locking for idr_alloc/idr_remove (bsc#1051510). - ubi: fastmap: Erase outdated anchor PEBs during attach (bsc#1051510). - ubi: Fix race condition between ubi volume creation and udev (bsc#1051510). - commit 5d7894b- blacklist.conf: Add a blacklist entry for geneve - commit b5d829a- cdrom: information leak in cdrom_ioctl_media_changed() (bsc#1051510). - watchdog: f71808e_wdt: Fix WD_EN register read (bsc#1051510). - Revert "ath10k: send (re)assoc peer command when NSS changed" (bsc#1051510). - drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic Meson GX SoCs (bsc#1051510). - platform/x86: thinkpad_acpi: suppress warning about palm detection (bsc#1051510). - PCI: Add function 1 DMA alias quirk for Marvell 9128 (bsc#1051510). - firmware: dmi_scan: Fix handling of empty DMI strings (bsc#1051510). - efi/esrt: Use memunmap() instead of kfree() to free the remapping (bsc#1051510). - geneve: fix fill_info when link down (bsc#1051510). - geneve: Fix function matching VNI and tunnel ID on big-endian (bsc#1051510). - commit 330b2a7- Delete patches.drivers/pinctrl-intel-Initialize-GPIO-properly-when-used-thr It's reverted in the stable tree due to reported regression - commit 3133199- ALSA: dice: fix error path to destroy initialized stream data (bsc#1051510). - ALSA: hda - Skip jack and others for non-existing PCM streams (bsc#1051510). - ASoC: topology: Check widget kcontrols before deref (bsc#1051510). - ASoC: topology: Fix bugs of freeing soc topology (bsc#1051510). - ASoC: rt5514: Add the missing register in the readable table (bsc#1051510). - ASoC: adau17x1: Handling of DSP_RUN register during fw setup (bsc#1051510). - ASoC: topology: fix some tiny memory leaks (bsc#1051510). - ASoC: rsnd: mark PM functions __maybe_unused (bsc#1051510). - ASoC: fsl_esai: Fix divisor calculation failure at lower ratio (bsc#1051510). - ALSA: hda/realtek - change the location for one of two front mics (bsc#1051510). - ALSA: rme9652: Hardening for potential Spectre v1 (bsc#1051510). - ALSA: hdspm: Hardening for potential Spectre v1 (bsc#1051510). - ALSA: asihpi: Hardening for potential Spectre v1 (bsc#1051510). - ALSA: opl3: Hardening for potential Spectre v1 (bsc#1051510). - ALSA: hda: Hardening for potential Spectre v1 (bsc#1051510). - ALSA: control: Hardening for potential Spectre v1 (bsc#1051510). - ALSA: seq: oss: Hardening for potential Spectre v1 (bsc#1051510). - ALSA: seq: oss: Fix unbalanced use lock for synth MIDI device (bsc#1051510). - ALSA: hda/realtek - Update ALC255 depop optimize (bsc#1051510). - ALSA: hda/realtek - Add some fixes for ALC233 (bsc#1051510). - ALSA: dice: fix OUI for TC group (bsc#1051510). - ALSA: core: Report audio_tstamp in snd_pcm_sync_ptr (bsc#1051510). - commit c706327- Sort & update the upstreamed patch - commit 073ffc8- PM / wakeirq: Fix unbalanced IRQ enable for wakeirq (bsc#1051510). - firewire-ohci: work around oversized DMA reads on JMicron controllers (bsc#1051510). - Input: synaptics - reset the ABS_X/Y fuzz after initializing MT axes (bsc#1051510). - HID: roccat: prevent an out of bounds read in kovaplus_profile_activated() (bsc#1051510). - commit 33bdbae- drm/i915/audio: Fix audio detection issue on GLK (bsc#1051510). - drm/i915/gvt: throw error on unhandled vfio ioctls (bsc#1051510). - drm/i915: Fix LSPCON TMDS output buffer enabling from low-power state (bsc#1051510). - drm/vc4: Fix memory leak during BO teardown (bsc#1051510). - drm/nouveau/pmu/fuc: don't use movw directly anymore (bsc#1051510). - commit 51fec3e- staging: comedi: ni_mio_common: ack ai fifo error interrupts (bsc#1051510). - rhashtable: Fix rhlist duplicates insertion (bsc#1051510). - staging: comedi: fix comedi_nsamples_left (bsc#1051510). - commit 9211443- tty: vt: fix up tabstops properly (bsc#1051510). - tty/serial: atmel: add new version check for usart (bsc#1051510). - tty: make n_tty_read() always abort if hangup is in progress (bsc#1051510). - vmxnet3: repair memory leak (bsc#1051510). - virtio: release virtio index when fail to device_register (bsc#1051510). - tty: fix tty_ldisc_receive_buf() documentation (bsc#1051510). - tty fix oops when rmmod 8250 (bsc#1051510). - tty: fix __tty_insert_flip_char regression (bsc#1051510). - tty: improve tty_insert_flip_char() slow path (bsc#1051510). - tty: improve tty_insert_flip_char() fast path (bsc#1051510). - commit f0d5a29- random: crng_reseed() should lock the crng instance that it is modifying (bsc#1051510). - random: use a different mixing algorithm for add_device_randomness() (bsc#1051510). - ACPI / hotplug / PCI: Check presence of slot itself in get_slot_status() (bsc#1051510). - random: use a tighter cap in credit_entropy_bits_safe() (bsc#1051510). - ACPI / video: Add quirk to force acpi-video backlight on Samsung 670Z5E (bsc#1051510). - radeon: hide pointless #warning when compile testing (bsc#1051510). - commit 12b5734- cifs: silence compiler warnings showing up with gcc-8.0.0 (bsc#1090734). - commit 13d9001- kernel-binary: only install modules.fips on modular kernels. - commit 6408562- powerpc/64s/idle: Fix restore of AMOR on POWER9 after deep sleep (bsc#1055186, fate#323286). - commit 6368307- Update config files. - commit 6174b6c- powerpc/mm/radix: Fix checkstops caused by invalid tlbiel (bsc#1055186, fate#323286). - powerpc/mm/radix: Update command line parsing for disable_radix (bsc#1055186, fate#323286). - powerpc/mm/radix: Parse disable_radix commandline correctly (bsc#1055186, fate#323286). - powerpc/mm/radix: Update pte fragment count from 16 to 256 on radix (bsc#1055186, fate#323286). - powerpc/mm/radix: Fix always false comparison against MMU_NO_CONTEXT (bsc#1055186, fate#323286). - powerpc/mm: Add a CONFIG option to choose if radix is used by default (bsc#1055186, fate#323286). - commit e9d987c- powerpc/xive: Fix wrong xmon output caused by typo (bsc#1088273). - commit f3598fe- btrfs: qgroups, fix rescan worker running races (bsc#1091101). - commit 3c4b9ba- Fix kABI breakage for iwlwifi (bsc#1051510). - commit 6a7a6df- cros_ec: fix nul-termination for firmware build info (bsc#1051510). - commit 174eb4e- extcon: intel-cht-wc: Set direction and drv flags for V5 boost GPIO (bsc#1051510). - commit 64fbab3- HID: wacom: bluetooth: send exit report for recent Bluetooth devices (bsc#1051510). - HID: hidraw: Fix crash on HIDIOCGFEATURE with a destroyed device (bsc#1051510). - HID: i2c-hid: fix size check and type usage (bsc#1051510). - commit 993f9a1- iwlwifi: add a bunch of new 9000 PCI IDs (1051510). - iwlwifi: add shared clock PHY config flag for some devices (bsc#1051510). - commit 7b9cdea- supported.conf: mark new FIPS modules as supported: sha2-mb, sha3, crc32 and crypto_engine (bsc#1074984) - commit 9e8aa4a- random: fix crng_ready() test (CVE-2018-1108,bsc#1090818). - commit 8c55b94- btrfs: use spinlock to protect ->caching_block_groups list (bsc#1083684). - commit bb913e1- thunderbolt: Prevent crash when ICM firmware is not running (bsc#1090888). - commit 55c6570- thunderbolt: Wait a bit longer for ICM to authenticate the active NVM (bsc#1090888). - commit 6659ddb- thunderbolt: Serialize PCIe tunnel creation with PCI rescan (bsc#1090888). - commit a096906- bnxt_en: Fix memory fault in bnxt_ethtool_init() (bsc#1050242 FATE#322914). - commit 65193fa- kvm/x86: fix icebp instruction handling (bsc#1087088). - commit 364bcca- crypto: cavium - Fix smp_processor_id() warnings (bsc#1089141). - crypto: cavium - Fix statistics pending request value (bsc#1089141). - crypto: cavium - Prevent division by zero (bsc#1089141). - crypto: cavium - Limit result reading attempts (bsc#1089141). - crypto: cavium - Fix fallout from CONFIG_VMAP_STACK (bsc#1089141). - commit 6ff9496- timers: Unconditionally check deferrable base (Git-fixes). - commit 037afa6- timers: Invoke timer_start_debug() where it makes sense (Git-fixes). - commit 5e14924- timers: Reinitialize per cpu bases on hotplug (Git-fixes). - commit c719ba1- timers: Use deferrable base independent of base::nohz_active (Git-fixes). - commit 022b1b5- kernel/relay.c: revert "kernel/relay.c: fix potential memory leak" (Git-fixes). - commit 430af9e- kernel/async.c: revert "async: simplify lowest_in_progress()" (Git-fixes). - commit ed38813- kernel/acct.c: fix the acct->needcheck check in check_free_space() (Git-fixes). - commit 9e7e582- kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal() (Git-fixes). - commit 93f2736- kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals (Git-fixes). - commit 639bb8b- kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL (Git-fixes). - commit dec725f- cpuidle: fix broadcast control when broadcast can not be entered (Git-fixes). - commit ff8d2ee- cgroup: Fix deadlock in cpu hotplug path (Git-fixes). - commit 9b3c11e- cgroup: Reinit cgroup_taskset structure before cgroup_migrate_execute() returns (Git-fixes). - commit 283d1e4- sched: Stop switched_to_rt() from sending IPIs to offline CPUs (Git-fixes). - commit ee6573f- sched: Stop resched_cpu() from sending IPIs to offline CPUs (Git-fixes). - commit 73d0b6a- sched: Make resched_cpu() unconditional (Git-fixes). - commit 3dbb06c- split-modules: use MAKE_ARGS - commit d8fe174- xfs: set format back to extents if xfs_bmap_extents_to_btree (bsc#1090717, CVE-2018-10323). - commit cd127e8- powerpc/kvm: Fix lockups when running KVM guests on Power8 (bsc#1061840). - KVM: PPC: Book3S HV: trace_tlbie must not be called in realmode (bsc#1061840). - powerpc/64s/idle: avoid sync for KVM state when waking from idle (bsc#1061840). - commit 80221b7- kernel-binary: pass MAKE_ARGS to install script as well. - commit ce62ae7- mmc: sdhci-pci: Only do AMD tuning for HS200 (bsc#1051510). - mmc: jz4740: Fix race condition in IRQ mask update (bsc#1051510). - media: atomisp_fops.c: disable atomisp_compat_ioctl32 (bsc#1051510). - media: vivid: check if the cec_adapter is valid (bsc#1051510). - commit ee04250- i2c: i801: Restore configuration at shutdown (bsc#1051510). - i2c: i801: Save register SMBSLVCMD value only once (bsc#1051510). - commit 471916c- drm/rockchip: Clear all interrupts before requesting the IRQ (bsc#1051510). - commit e5e94e3- drm/radeon: add PX quirk for Asus K73TK (bsc#1051510). - drm/amdgpu: Fix PCIe lane width calculation (bsc#1051510). - drm/radeon: Fix PCIe lane width calculation (bsc#1051510). - drm/amdgpu/si: implement get/set pcie_lanes asic callback (bsc#1051510). - drm/amdgpu/sdma: fix mask in emit_pipeline_sync (bsc#1051510). - drm/amdgpu: Add an ATPX quirk for hybrid laptop (bsc#1051510). - drm/amdgpu: Fix always_valid bos multiple LRU insertions (bsc#1051510). - drm/radeon: make MacBook Pro d3_delay quirk more generic (bsc#1051510). - commit 1eaebf1- ASoC: topology: Fix kcontrol name string handling (bsc#1051510). - ASoC: ssm2602: Replace reg_default_raw with reg_default (bsc#1051510). - commit 633441a- ALSA: usb-audio: Skip broken EU on Dell dock USB-audio (bsc#1090658). - commit e97ea42- kernel-binary: pass ARCH= to kernel build Recent kernel does not save CONFIG_64BIT so it has to be specified by arch. - commit fb21b73- Remove the old fallback for iTCO/WDAT conflict (bsc#1073960) Now the upstream fix is included, so let's rip off the old trickery. - commit da64882- ACPI / scan: Initialize watchdog before PNP (bsc#1073960). - commit 263ebe9- Patch tag update for UDL security fix (CVE-2018-8781, bsc#1090643). - commit d84720c- supported.conf: remove obsolete entry drivers/tty/serial/of_serial -> drivers/tty/serial/8250/8250_of - commit 8e4b38c- xfs: convert XFS_AGFL_SIZE to a helper function (bsc#1090534). - commit 027dd64- xfs: detect agfl count corruption and reset agfl (bsc#1090534). - commit b1c0509- xfs: allow CoW remap transactions to use reserve blocks (bsc#1090535). - commit 03d1b76- xfs: fix transaction allocation deadlock in IO path (bsc#1090535). - commit 8697899- ppc64le: reliable stacktrace: mark stacktraces with kretprobe_trampoline as unreliable (bsc#1090522). - commit ed9151a- ceph: always update atime/mtime/ctime for new inode (bsc#1089115). - commit eca01ee- resource: fix integer overflow at reallocation (bsc#1086739). - commit 2ed06e1- drm/i915: Call i915_perf_fini() on init_hw error unwind (bsc#1051510). - drm/i915: Do no use kfree() to free a kmem_cache_alloc() return value (bsc#1051510). - ALSA: rawmidi: Fix missing input substream checks in compat ioctls (bsc#1051510). - ALSA: hda/realtek - adjust the location of one mic (bsc#1051510). - ALSA: hda/realtek - set PINCFG_HEADSET_MIC to parse_flags (bsc#1051510). - ALSA: hda - New VIA controller suppor no-snoop path (bsc#1051510). - ALSA: line6: Use correct endpoint type for midi output (bsc#1051510). - commit 2ac2d9f- Refresh patches.drivers/gpio-fix-gpio-line-names-property-retrieval Fix the trivial compile warnings due to const. - commit 0fa7c5f- Refresh patches.suse/btrfs-fix-race-condition-between-delayed-refs-and-blockgroup-removal.patch. - commit 1ba0893- xprtrdma: Fix corner cases when handling device removal (git-fixes). - nfsd: fix incorrect umasks (git-fixes). - fs: Teach path_connected to handle nfs filesystems with multiple roots (git-fixes). - md raid10: fix NULL deference in handle_write_completed() (git-fixes). - fix kabi breaker in md.h (git-fixes). - md: fix md_write_start() deadlock w/o metadata devices (git-fixes). - nfs: system crashes after NFS4ERR_MOVED recovery (git-fixes). - commit 69e2c71- Refresh patches.suse/btrfs-push-relocation-recovery-into-helper-thread.patch. There was a missing variable initialization due a stale patch refresh. - commit 297fd49- powerpc: Add ppc_breakpoint_available() (bsc#1055117). - commit 0b632a4- selftests/powerpc: Fix copyloops build since Power4 assembler change (bsc#1055117). - commit e26f88f- powerpc/64s: Fix CPU_FTRS_ALWAYS vs DT CPU features (bsc#1055117). - powerpc/64s: Fix POWER9 DD2.2 and above in cputable features (bsc#1055117). - powerpc/64s: Fix pkey support in dt_cpu_ftrs, add CPU_FTR_PKEY bit (bsc#1055117). - powerpc/64s: Fix dt_cpu_ftrs to have restore_cpu clear unwanted LPCR bits (bsc#1055117). - powerpc/64s: Refine feature sets for little endian builds (bsc#1055117). - powerpc/64s: Remove POWER4 support (bsc#1055117). - powerpc: Remove unused CPU_FTR_ARCH_201 (bsc#1055117). - powerpc/64s: Fix POWER9 DD2.2 and above in DT CPU features (bsc#1055117). - powerpc/64s: Set assembler machine type to POWER4 (bsc#1055117). - powerpc/64s: Explicitly add vector features to CPU_FTRS_POSSIBLE (bsc#1055117). - powerpc/64s: Add all POWER9 features to CPU_FTRS_ALWAYS (bsc#1055117). - commit d8e1408- xfs: fix intent use-after-free on abort (bsc#1085400). - commit a15e224- platform/x86: fujitsu-laptop: Support Lifebook U7x7 hotkeys (bsc#1087284). - commit 603de09- powerpc/pseries: Restore default security feature flags on setup (bsc#1068032). Refresh patches.arch/powerpc-64s-barrier_nospec-Add-hcall-trigger.patch. - commit ff6c8ce- Refresh patches.drivers/scsi-lpfc-fix-wq-cq-creation-for-older-asic-s.patch. fix commit hash - commit bbbc951- kernel/signal.c: avoid undefined behaviour in kill_something_info (bnc1089752, CVE-2018-10124). - commit 00e311c- btrfs: Fix race condition between delayed refs and blockgroup removal (bsc#1086224). - commit ff195d7- Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - Refresh patches.drivers/ibmvnic-Do-not-reset-CRQ-for-Mobility-driver-resets.patch. - Refresh patches.drivers/ibmvnic-Fix-DMA-mapping-mistakes.patch. - Refresh patches.drivers/ibmvnic-Fix-failover-case-for-non-redundant-configur.patch. - Refresh patches.drivers/ibmvnic-Fix-reset-scheduler-error-handling.patch. - Refresh patches.drivers/ibmvnic-Zero-used-TX-descriptor-counter-on-reset.patch. - commit c920800- Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - Refresh patches.drivers/ibmvnic-Do-not-reset-CRQ-for-Mobility-driver-resets.patch. - Refresh patches.drivers/ibmvnic-Fix-DMA-mapping-mistakes.patch. - Refresh patches.drivers/ibmvnic-Fix-failover-case-for-non-redundant-configur.patch. - Refresh patches.drivers/ibmvnic-Fix-reset-scheduler-error-handling.patch. - Refresh patches.drivers/ibmvnic-Zero-used-TX-descriptor-counter-on-reset.patch. - Refresh patches.drivers/scsi-lpfc-fix-wq-cq-creation-for-older-asic-s.patch. - commit 853016c- kabi/severities: Ignore klp_shadow_* kABI changes - commit a1324c3- livepatch: Allow to call a custom callback when freeing shadow variables (bsc#1071995 fate#323487). - commit add477a- livepatch: Initialize shadow variables safely by a custom callback (bsc#1071995 fate#323487). - commit ae78a45- Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - Refresh patches.drivers/ibmvnic-Do-not-reset-CRQ-for-Mobility-driver-resets.patch. - Refresh patches.drivers/ibmvnic-Fix-DMA-mapping-mistakes.patch. - Refresh patches.drivers/ibmvnic-Fix-failover-case-for-non-redundant-configur.patch. - Refresh patches.drivers/ibmvnic-Fix-reset-scheduler-error-handling.patch. - Refresh patches.drivers/ibmvnic-Zero-used-TX-descriptor-counter-on-reset.patch. - commit 98517c6- gpio: stmpe: i2c transfer are forbiden in atomic context (bsc#1051510). - gpio: label descriptors using the device name (bsc#1051510). - leds: pm8058: Silence pointer to integer size warning (bsc#1051510). - gpio: fix "gpio-line-names" property retrieval (bsc#1051510). - gpio: davinci: Assign first bank regs for unbanked case (bsc#1051510). - docs: disable KASLR when debugging kernel (bsc#1051510). - commit af0230a- Update patch tag and move into sorted section Refresh patches.suse/brcmsmac-allocate-ucode-with-GFP_KERNEL.patch - commit 7f5e814- Update config files, add CONFIG_EXPOLINE_AUTO=y for s390x (bsc#1090098). - commit 5c5cecd- iio: buffer: check if a buffer has been set up when poll is called (bsc#1051510). - iio: adis_lib: Initialize trigger before requesting interrupt (bsc#1051510). - staging: iio: ad5933: switch buffer mode to software (bsc#1051510). - staging: iio: adc: ad7192: fix external frequency setting (bsc#1051510). - iio: adc: stm32: fix scan of multiple channels with DMA (bsc#1051510). - iio: imu: st_lsm6dsx: fix endianness in st_lsm6dsx_read_oneshot() (bsc#1051510). - iio: ABI: Fix name of timestamp sysfs file (bsc#1051510). - iio: health: max30102: Add power enable parameter to get_temp function (bsc#1051510). - iio: adc/accel: Fix up module licenses (bsc#1051510). - iio: health: max30102: Temperature should be in milli Celsius (bsc#1051510). - iio: fix kernel-doc build errors (bsc#1051510). - iio: adc: meson-saradc: fix the bit_idx of the adc_en clock (bsc#1051510). - iio: adc: cpcap: fix incorrect validation (bsc#1051510). - iio: adc: ti-ads1015: add 10% to conversion wait time (bsc#1051510). - staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack (bsc#1051510). - iio: core: Return error for failed read_reg (bsc#1051510). - iio: ad7793: Fix the serial interface reset (bsc#1051510). - iio: ad_sigma_delta: Implement a dedicated reset function (bsc#1051510). - iio: adc: mcp320x: Fix readout of negative voltages (bsc#1051510). - iio: adc: mcp320x: Fix oops on module unload (bsc#1051510). - iio: trigger: stm32-timer: preset shouldn't be buffered (bsc#1051510). - iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()' (bsc#1051510). - iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()' (bsc#1051510). - commit 157dcf9- s390: add automatic detection of the spectre defense (bsc#1090098). - s390: add sysfs attributes for spectre (bsc#1090098). - s390: correct nospec auto detection init order (bsc#1090098). - s390/crypto: Adjust s390 aes and paes cipher priorities (bsc#1090098). - s390: move nobp parameter functions to nospec-branch.c (bsc#1090098). - s390: report spectre mitigation via syslog (bsc#1090098). - Refresh patches.arch/s390-sles15-05-01-gmb.patch. - commit 14f6493- media: v4l2-compat-ioctl32: don't oops on overlay (bsc#1051510). - rtl8187: Fix NULL pointer dereference in priv->conf_mutex (bsc#1051510). - commit 46d4cfb- Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - Refresh patches.drivers/ibmvnic-Do-not-reset-CRQ-for-Mobility-driver-resets.patch. - Refresh patches.drivers/ibmvnic-Fix-DMA-mapping-mistakes.patch. - Refresh patches.drivers/ibmvnic-Fix-failover-case-for-non-redundant-configur.patch. - Refresh patches.drivers/ibmvnic-Fix-reset-scheduler-error-handling.patch. - Refresh patches.drivers/ibmvnic-Zero-used-TX-descriptor-counter-on-reset.patch. - Refresh patches.drivers/scsi-lpfc-fix-wq-cq-creation-for-older-asic-s.patch. - commit 287c94f- btrfs: push relocation recovery into a helper thread (bsc#1086467). - commit 37d11e6- run series_sort.py - commit eb1f119- Refresh patches.suse/sched-numa-avoid-trapping-faults-and-attempting-migration-of-file-backed-dirty-pages.patch. - commit 8af5d8d- Refresh patches.suse/sched-numa-Delay-retrying-placement-for-automatic-NUMA-balance-after-wake_affine.patch. - commit 6d0019c- Refresh patches.suse/sched-fair-Do-not-migrate-on-wake_affine_weight-if-weights-are-equal.patch. - commit ddeae7e- Refresh patches.suse/sched-fair-Do-not-migrate-due-to-a-sync-wakeup-on-exit.patch. - commit 809ffb9- Refresh patches.suse/sched-fair-Defer-calculation-of-prev_eff_load-in-wake_affine-until-needed.patch. - commit 5fcf087- Refresh patches.suse/sched-fair-Consider-SD_NUMA-when-selecting-the-most-idle-group-to-schedule-on.patch. - commit 60ba15e- Refresh patches.suse/sched-fair-Avoid-an-unnecessary-lookup-of-current-CPU-ID-during-wake_affine.patch. - commit 9343174- run series_sort.py - commit 56bd2a7- Refresh patches.suse/mm-free_pcppages_bulk-prefetch-buddy-while-not-holding-lock.patch. - commit bfb478c- Refresh patches.suse/mm-free_pcppages_bulk-update-pcp-count-inside.patch. - commit 6f08862- Refresh patches.suse/mm-free_pcppages_bulk-do-not-hold-lock-when-picking-pages-to-free.patch. - commit 4f66e2c- nvme-rdma: Don't flush delete_wq by default during remove_one (bsc#1089977). - commit c185cad- nvmet-rdma: Don't flush system_wq by default during remove_one (bsc#1089977). - commit 902e88b- supported.conf: add arch/s390/crypto/crc32-vx_s390 (bsc#1089889). - commit 3e7cb03- mm, percpu: add support for __GFP_NOWARN flag (bsc#1089753). - commit b007d55- x86/tsc: Future-proof native_calibrate_tsc() (bsc#1074873). - blacklist.conf: - commit 407f4fc- x86/mm/64: Fix vmapped stack syncing on very-large-memory 4-level systems (bsc#1088374). - commit 2ccb700- ppc64le: reliable stacktrace: mark stacktraces with exception frames as unreliable (bsc#1089669). - commit 6716d08- Sort series.conf - Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - Refresh patches.drivers/ibmvnic-Do-not-reset-CRQ-for-Mobility-driver-resets.patch. - Refresh patches.drivers/ibmvnic-Fix-DMA-mapping-mistakes.patch. - Refresh patches.drivers/ibmvnic-Fix-failover-case-for-non-redundant-configur.patch. - Refresh patches.drivers/ibmvnic-Fix-reset-scheduler-error-handling.patch. - Refresh patches.drivers/ibmvnic-Zero-used-TX-descriptor-counter-on-reset.patch. - commit 5e8c6bc- ppc64le: reliable stacktrace: handle graph traced functions (bsc#1089664). - commit df850c8- ACPI / scan: Send change uevent with offine environmental data (bsc#1082485). - commit e28a6c2- bpf, ppc64: fix out of bounds access in tail call (bsc#1083647). - commit f682288- btrfs: Only check first key for committed tree blocks (bsc#1084721). - btrfs: Validate child tree block's level and first key (bsc#1084721). - commit 82a46d9- ibmvnic: Clear pending interrupt after device reset (bsc#1089644). - commit 7d7ebab- sched/rt: Fix rq->clock_update_flags < RQCF_ACT_SKIP warning (bsc#1022476). - commit 6643f8c- run series_sort.py - commit 5f59a40- config.sh: build against openSUSE:Leap:15.0:Update - commit 61f2f25- virtio_net: fix return value check in receive_mergeable() (bsc#1089271). - commit e169907- Re-sorted patches - Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - Refresh patches.drivers/ibmvnic-Do-not-reset-CRQ-for-Mobility-driver-resets.patch. - Refresh patches.drivers/ibmvnic-Fix-DMA-mapping-mistakes.patch. - Refresh patches.drivers/ibmvnic-Fix-failover-case-for-non-redundant-configur.patch. - Refresh patches.drivers/ibmvnic-Fix-reset-scheduler-error-handling.patch. - Refresh patches.drivers/ibmvnic-Zero-used-TX-descriptor-counter-on-reset.patch. - commit 18304f1- drivers/infiniband/ulp/srpt/ib_srpt.c: fix build with gcc-4.4.4 (bsc#1046306 FATE#322942). - drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4 (bsc#1046306 FATE#322942). - qed: Use after free in qed_rdma_free() (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - commit cce8e1a- net/sched: fix NULL dereference in the error path of tcf_bpf_init() (bsc#1056787). - iw_cxgb4: print mapped ports correctly (bsc#1046543 FATE#322927). - IB/core: Refer to RoCE port property instead of GID table property (bsc#1046306 FATE#322942). - IB/core: Generate GID change event regardless of RoCE GID table property (bsc#1046306 FATE#322942). - IB/mlx5: Enable ECN capable bits for UD RoCE v2 QPs (bsc#1046305 FATE#322943). - IB/mlx5: Set the default active rate and width to QDR and 4X (bsc#1046305 FATE#322943). - commit 7e03b32- RDMA/mlx5: Protect from NULL pointer derefence (bsc#1046305 FATE#322943). - IB/srpt: Fix an out-of-bounds stack access in srpt_zerolength_write() (bsc#1046306 FATE#322942). - RDMA/rxe: Fix an out-of-bounds read (bsc#1050662 FATE#323951). - RDMA/core: Avoid that ib_drain_qp() triggers an out-of-bounds stack access (bsc#1046306 FATE#322942). - IB/srp: Fix completion vector assignment algorithm (bsc#1046306 FATE#322942). - nfp: use full 40 bits of the NSP buffer address (bsc#1055968). - net/mlx5: Eliminate query xsrq dead code (bsc#1046303 FATE#322944). - commit 592e964- net/mlx5e: Do not reset Receive Queue params on every type change (bsc#1046303 FATE#322944). - net/mlx5e: Remove unused define MLX5_MPWRQ_STRIDES_PER_PAGE (bsc#1046303 FATE#322944). - ixgbe: prevent ptp_rx_hang from running when in FILTER_ALL mode (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - commit 33533e8- igb: Fix a test with HWTSTAMP_TX_ON (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - RDMA/ucma: Introduce safer rdma_addr_size() variants (bsc#1046306 FATE#322942). - net/sched: fix NULL dereference on the error path of tcf_skbmod_init() (bsc#1056787). - net/sched: fix NULL dereference in the error path of tunnel_key_init() (bsc#1056787). - qede: Fix qedr link update (bsc#1050538 FATE#322897 bsc#1050545 FATE#322893). - qed: Fix non TCP packets should be dropped on iWARP ll2 connection (bsc#1050545 FATE#322893). - net sched actions: return explicit error when tunnel_key mode is not specified (bsc#1056787). - qed: Free RoCE ILT Memory on rmmod qedr (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory (bsc#1046305 FATE#322943). - RDMAVT: Fix synchronization around percpu_ref (bsc#1058717 FATE#322789). - i40evf: don't rely on netif_running() outside rtnl_lock() (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - cxgb4vf: Fix SGE FL buffer initialization logic for 64K pages (bsc#1046542 FATE#322928). - IB/rdmavt: Allocate CQ memory on the correct node (bsc#1058717 FATE#322789). - infiniband: drop unknown function from core_priv.h (bsc#1046306 FATE#322942). - RDMA/ocrdma: Fix permissions for OCRDMA_RESET_STATS (bsc#1058513 FATE#322520). - IB/ipoib: Avoid memory leak if the SA returns a different DGID (bsc#1046307 FATE#322941). - commit b05ce6b- blacklist.conf: update for drm/i915 entry - commit 1fbdf2d- HID: intel-ish-hid: Enable Gemini Lake ish driver (bsc#1073765,FATE#322842). - commit f77cff5- blacklist.conf: added duplicate patches - commit 097f3d3- bnxt_en: Ignore src port field in decap filter nodes (bsc#1050242 FATE#322914). - bnxt_en: do not allow wildcard matches for L2 flows (bsc#1050242 FATE#32291). - RDMA/mlx4: Fix uABI structure layouts for 32/64 compat (bsc#1071218). - IB/mlx4: Move mlx4_uverbs_ex_query_device_resp to include/uapi/ (bsc#1071218). - bnxt_en: fix clear flags in ethtool reset handling (bsc#1050242 FATE#322914). - cxgb4: fix error return code in adap_init0() (bsc#1064802 bsc#1066129). - net/mlx5e: Fixed sleeping inside atomic context (bsc#1046303 FATE#322944). - commit ba767aa- mm, thp: do not cause memcg oom for thp (bnc#1089663). - commit 9d99b2b- series_sort.py: update the ordering - commit 7021d9e- kernel/exit.c: avoid undefined behaviour when calling wait4() (bnc#1089608, CVE-2018-10087). - commit 3052efc- Revert "scsi: make 'state' device attribute pollable" (bsc#1085341). - commit aab4000- Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - Refresh patches.drivers/ibmvnic-Do-not-reset-CRQ-for-Mobility-driver-resets.patch. - Refresh patches.drivers/ibmvnic-Fix-DMA-mapping-mistakes.patch. - Refresh patches.drivers/ibmvnic-Fix-failover-case-for-non-redundant-configur.patch. - Refresh patches.drivers/ibmvnic-Fix-reset-scheduler-error-handling.patch. - Refresh patches.drivers/ibmvnic-Zero-used-TX-descriptor-counter-on-reset.patch. - commit 30e2159- kexec: export PG_swapbacked to VMCOREINFO (bsc#1088354). - Refresh patches.apparmor/apparmor-fix-resource-audit-messages-when-auditing-peer.patch. - commit f31c123- bpf, x64: implement retpoline for tail call (bsc#1068032 CVE-2017-5715). - Refresh patches.suse/x86-speculation-Move-firmware_restrict_branch_specul.patch. - commit c383630- bpf: fix mlock precharge on arraymaps (bsc#1083647). - commit 521f8f2- vt: change SGR 21 to follow the standards (bsc#1051510). - serial: sh-sci: prevent lockup on full TTY buffers (bsc#1051510). - platform/chrome: Use proper protocol transfer function (bsc#1051510). - rtc-opal: Fix handling of firmware error codes, prevent busy loops (bsc#1051510). - HID: wacom: Fix reporting of touch toggle (WACOM_HID_WD_MUTE_DEVICE) events (bsc#1051510). - HID: wacom: EKR: ensure devres groups at higher indexes are released (bsc#1051510). - gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE (bsc#1051510). - gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1051510). - sdhci: Advertise 2.0v supply on SDIO host controller (bsc#1051510). - mfd: cros ec: spi: Don't send first message too soon (bsc#1051510). - rtc: pcf8563: fix output clock rate (bsc#1051510). - rtc: pl031: make interrupt optional (bsc#1051510). - fbdev: controlfb: Add missing modes to fix out of bounds access (bsc#1051510). - HID: cp2112: fix broken gpio_direction_input callback (bsc#1051510). - vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend (bsc#1051510). - staging: vchiq_2835_arm: Fix NULL ptr dereference in free_pagelist (bsc#1051510). - commit 402c02c- drm/msm: fix leak in failed get_pages (bsc#1051510). - drm/omap: DMM: Check for DMM readiness after successful transaction commit (bsc#1051510). - drm/tilcdc: ensure nonatomic iowrite64 is not used (bsc#1051510). - drm/armada: fix leak of crtc structure (bsc#1051510). - drm/sun4i: Fix error path handling (bsc#1051510). - drm/bridge: analogix dp: Fix runtime PM state in get_modes() callback (bsc#1051510). - drm/bridge: tc358767: fix 1-lane behavior (bsc#1051510). - drm/bridge: tc358767: fix AUXDATAn registers access (bsc#1051510). - drm/bridge: tc358767: fix timing calculations (bsc#1051510). - drm/bridge: tc358767: fix DP0_MISC register set (bsc#1051510). - drm/bridge: tc358767: filter out too high modes (bsc#1051510). - drm/bridge: tc358767: do no fail on hi-res displays (bsc#1051510). - drm/rockchip: dw-mipi-dsi: fix possible un-balanced runtime PM enable (bsc#1051510). - drm/fsl-dcu: enable IRQ before drm_atomic_helper_resume() (bsc#1051510). - drm/hisilicon: Ensure LDI regs are properly configured (bsc#1051510). - commit bbe4533- Fix kABI breakage due to acpi_ec gpe field change (bsc#1051510). - commit 230712a- crypto: aes-generic - fix aes-generic regression on powerpc (bsc#1051510). - commit c74537a- wcn36xx: Fix dynamic power saving (bsc#1051510). - wcn36xx: Introduce mutual exclusion of fw configuration (bsc#1051510). - commit 9464f21- wl1251: check return from call to wl1251_acx_arp_ip_filter (bsc#1051510). - crypto: aes-generic - build with -Os on gcc-7+ (bsc#1051510). - commit 567b06d- can: cc770: Fix use after free in cc770_tx_interrupt() (bsc#1051510). - can: cc770: Fix queue stall & dropped RTR reply (bsc#1051510). - can: cc770: Fix stalls on rt-linux, remove redundant IRQ ack (bsc#1051510). - can: peak/pcie_fd: remove useless code when interface starts (bsc#1051510). - can: peak/pcie_fd: fix echo_skb is occupied! bug (bsc#1051510). - can: ifi: Repair the error handling (bsc#1051510). - can: ifi: Check core revision upon probe (bsc#1051510). - can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once (bsc#1051510). - can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once (bsc#1051510). - can: peak: fix potential bug in packet fragmentation (bsc#1051510). - can: flex_can: Correct the checking for frame length in flexcan_start_xmit() (bsc#1051510). - can: gs_usb: fix return value of the "set_bittiming" callback (bsc#1051510). - can: vxcan: improve handling of missing peer name attribute (bsc#1051510). - can: peak/pcie_fd: fix potential bug in restarting tx queue (bsc#1051510). - can: usb_8dev: cancel urb on -EPIPE and -EPROTO (bsc#1051510). - can: kvaser_usb: cancel urb on -EPIPE and -EPROTO (bsc#1051510). - can: esd_usb2: cancel urb on -EPIPE and -EPROTO (bsc#1051510). - can: ems_usb: cancel urb on -EPIPE and -EPROTO (bsc#1051510). - can: mcba_usb: cancel urb on -EPROTO (bsc#1051510). - can: mcba_usb: fix device disconnect bug (bsc#1051510). - can: flexcan: fix VF610 state transition issue (bsc#1051510). - can: peak/pci: fix potential bug when probe() fails (bsc#1051510). - can: ti_hecc: Fix napi poll return value for repoll (bsc#1051510). - can: kvaser_usb: ratelimit errors if incomplete messages are received (bsc#1051510). - can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback() (bsc#1051510). - can: kvaser_usb: free buf in error paths (bsc#1051510). - can: ifi: Fix transmitter delay calculation (bsc#1051510). - can: peak: Add support for new PCIe/M2 CAN FD interfaces (bsc#1051510). - can: sun4i: handle overrun in RX FIFO (bsc#1051510). - can: c_can: don't indicate triple sampling support for D_CAN (bsc#1051510). - can: kvaser_usb: Ignore CMD_FLUSH_QUEUE_REPLY messages (bsc#1051510). - can: kvaser_usb: Correct return value in printout (bsc#1051510). - can: sun4i: fix loopback mode (bsc#1051510). - can: gs_usb: fix busy loop if no more TX context is available (bsc#1051510). - can: esd_usb2: Fix can_dlc value for received RTR, frames (bsc#1051510). - can: af_can: can_pernet_init(): add missing error handling for kzalloc returning NULL (bsc#1051510). - can: flexcan: fix p1010 state transition issue (bsc#1051510). - can: flexcan: fix i.MX28 state transition issue (bsc#1051510). - can: flexcan: fix i.MX6 state transition issue (bsc#1051510). - can: flexcan: implement error passive state quirk (bsc#1051510). - can: flexcan: rename legacy error state quirk (bsc#1051510). - can: flexcan: fix state transition regression (bsc#1051510). - commit dedd27d- bitmap: fix memset optimization on big-endian systems (bsc#1051510). - commit 2760afb- backlight: tdo24m: Fix the SPI CS between transfers (bsc#1051510). - commit 4e744b2- ACPI / video: Default lcd_only to true on Win8-ready and newer machines (bsc#1051510). - ACPI: EC: Fix debugfs_create_*() usage (bsc#1051510). - commit f76ac0e- ACPI / APEI: Replace ioremap_page_range() with fixmap (bsc#1051510). - Refresh patches.arch/0015-arm64-mm-Map-entry-trampoline-into-trampoline-and-ke.patch. - Refresh patches.arch/0051-arm64-kaslr-Put-kernel-vectors-address-in-separate-d.patch. - Refresh patches.arch/08-x86-mm-fixmap-generalize-the-gdt-fixmap-mechanism-introduce-struct-cpu_entry_area.patch. - Refresh patches.arch/22-x86-cpu_entry_area-move-it-out-of-the-fixmap.patch. - commit f14230c- ibmvnic: Do not notify peers on parameter change resets (bsc#1089198). - ibmvnic: Handle all login error conditions (bsc#1089198). - ibmvnic: Define vnic_login_client_data name field as unsized array (bsc#1089198). - commit 6882e8d- kabi: arm64: update crc for cpu_hwcaps and cpu_hwcap_keys References: bsc#1089086 - commit e99d689- bpf: add schedule points in percpu arrays management (bsc#1083647). - commit 34ad2d8- power: supply: axp288_charger: Properly stop work on probe-error / remove (bsc#1051510). - power: supply: ab8500_charger: Bail out in case of error in 'ab8500_charger_init_hw_registers()' (bsc#1051510). - power: supply: ab8500_charger: Fix an error handling path (bsc#1051510). - commit 181aab3- mei: remove dev_err message on an unsupported ioctl (bsc#1051510). - mei: me: add cannon point device ids for 4th device (FATE#321195). - mei: me: add cannon point device ids (FATE#321195). - commit 4fdb929- parport_pc: Add support for WCH CH382L PCI-E single parallel port card (bsc#1051510). - sky2: Increase D3 delay to sky2 stops working after suspend (bsc#1051510). - media: videobuf2-core: don't go out of the buffer range (bsc#1051510). - rt2x00: do not pause queue unconditionally on error path (bsc#1051510). - mac80211: Fix setting TX power on monitor interfaces (bsc#1051510). - commit 93068e8- PM / devfreq: Fix potential NULL pointer dereference in governor_store (bsc#1051510). - PM / s2idle: Clear the events_check_enabled flag (bsc#1051510). - PM / OPP: Add missing of_node_put(np) (bsc#1051510). - PM / OPP: Move error message to debug level (bsc#1051510). - PM / OPP: Call notifier without holding opp_table->lock (bsc#1051510). - commit 45e6113- PCI: Add function 1 DMA alias quirk for Highpoint RocketRAID 644L (bsc#1051510). - PCI: Detach driver before procfs & sysfs teardown on device remove (bsc#1051510). - PCI: Create SR-IOV virtfn/physfn links before attaching driver (bsc#1051510). - PCI/PME: Handle invalid data when reading Root Status (bsc#1051510). - PCI: shpchp: Enable bridge bus mastering if MSI is enabled (bsc#1051510). - commit c099ae3- Input: goodix - disable IRQs while suspended (bsc#1051510). - commit d982e27- Bluetooth: Add a new 04ca:3015 QCA_ROME device (bsc#1051510). - commit 3086838- Bluetooth: btusb: add ID for LiteOn 04ca:3016 (bsc#1051510). - Refresh patches.drivers/Bluetooth-btusb-Add-new-NFA344A-entry. - commit 4961eba- ASoC: Intel: cht_bsw_rt5645: Analog Mic support (bsc#1051510). - ASoC: Intel: Skylake: Disable clock gating during firmware and library download (bsc#1051510). - commit 105df12- mm: fix device-dax pud write-faults triggered by get_user_pages() (bsc#1052766). - commit 388d581- srcu: Provide ordering for CPU not involved in grace period (bsc#1052766). - commit 3dfab13- sget(): handle failures of register_shrinker() (bsc#1052766). - commit 71c7f1c- udf: Avoid overflow when session starts at large offset (bsc#1052766). - commit 6389cee- ubifs: free the encrypted symlink target (bsc#1052766). - commit cc5da14- mbcache: initialize entry->e_referenced in mb_cache_entry_create() (bsc#1052766). - commit d322665- lock_parent() needs to recheck if dentry got __dentry_kill'ed under it (bsc#1052766). - commit 3079da3- GFS2: Take inode off order_write list when setting jdata flag (bsc#1052766). - commit e6bc04f- gfs2: Fix debugfs glocks dump (bsc#1052766). - commit 2fec0ed- fs/fat/inode.c: fix sb_rdonly() change (bsc#1052766). - commit eddf3bd- f2fs: expose some sectors to user in inline data or dentry case (bsc#1052766). - commit 9d854aa- direct-io: Prevent NULL pointer access in submit_page_section (bsc#1052766). - commit 163ef37- blacklist.conf: Blacklist 0a3ff78699d1 - commit 3442c44- Update ceph quota patchset after being merged into mainline - Update patches.suse/ceph-don-t-check-quota-for-snap-inode.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-fix-root-quota-realm-check.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-quota-add-counter-for-snaprealms-with-quota.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-quota-add-initial-infrastructure-to-support-cephfs-quotas.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-quota-cache-inode-pointer-in-ceph_snap_realm.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-quota-don-t-allow-cross-quota-renames.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-quota-support-for-ceph-quota-max_bytes.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-quota-support-for-ceph-quota-max_files.patch (FATE#323422 bsc#1089115). - Update patches.suse/ceph-quota-update-mds-when-max_bytes-is-approaching.patch (FATE#323422 bsc#1089115). - ceph: quota: report root dir quota usage in statfs (FATE#323422 bsc#1089115). - Delete patches.suse/ceph-quota-add-quotas-to-the-in-tree-cephfs-documentation.patch. - commit d624342- brd: fix overflow in __brd_direct_access (bsc#1052766). - commit eee7c77- ceph: fix invalid point dereference for error case in mdsc destroy (bsc#1089115). - ceph: return proper bool type to caller instead of pointer (bsc#1089115). - ceph: optimize memory usage (bsc#1089115). - ceph: optimize mds session register (bsc#1089115). - ceph: filter out used flags when printing unused open flags (bsc#1089115). - ceph: don't wait on writeback when there is no more dirty pages (bsc#1089115). - ceph: mark the cap cache as unreclaimable (bsc#1089115). - ceph: change variable name to follow common rule (bsc#1089115). - ceph: optimizing cap reservation (bsc#1089115). - ceph: release unreserved caps if having enough available caps (bsc#1089115). - ceph: optimizing cap allocation (bsc#1089115). - ceph: adding protection for showing cap reservation info (bsc#1089115). - libceph: adding missing message types to ceph_msg_type_name() (bsc#1089115). - ceph: use seq_show_option for string type options (bsc#1089115). - libceph: fix misjudgement of maximum monitor number (bsc#1089115). - libceph, ceph: change permission for readonly debugfs entries (bsc#1089115). - ceph: keep consistent semantic in fscache related option combination (bsc#1089115). - commit 5b07ad7- serial: 8250_pci: Add Brainboxes UC-260 4 port serial device (bsc#1051510). - serial: core: mark port as initialized in autoconfig (bsc#1051510). - serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS (bsc#1051510). - serial: 8250_dw: Disable clock on error (bsc#1051510). - serial: omap: Fix EFR write on RTS deassertion (bsc#1051510). - serial: 8250_fintek: Fix finding base_port with activated SuperIO (bsc#1051510). - serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X (bsc#1051510). - commit 79fc869- serdev: ttyport: fix tty locking in close (bsc#1051510). - serdev: ttyport: fix NULL-deref on hangup (bsc#1051510). - serdev: fix receive_buf return value when no callback (bsc#1051510). - serdev: ttyport: add missing receive_buf sanity checks (bsc#1051510). - serdev: fix registration of second slave (bsc#1051510). - serdev: ttyport: add missing open() error handling (bsc#1051510). - serdev: ttyport: enforce tty-driver open() requirement (bsc#1051510). - commit 8a2b23b- X.509: fix NULL dereference when restricting key with unsupported_sig (bsc#1051510). - X.509: fix BUG_ON() when hash algorithm is unsupported (bsc#1051510). - X.509: fix comparisons of ->pkey_algo (bsc#1051510). - X.509: reject invalid BIT STRING for subjectPublicKey (bsc#1051510). - commit 06f6b64- mmc: dw_mmc: Fix the DTO/CTO timeout overflow calculation for 32-bit systems (bsc#1088713). - commit 0b4165d- ALSA: hda: Add Icelake PCI ID (bsc#1051510). - commit 2b421f6- Bluetooth: Fix missing encryption refresh on Security Request (bsc#1051510). - commit 436757d- kabi: arm64: reserve space in cpu_hwcaps and cpu_hwcap_keys arrays (bsc#1089086). - KVM: arm64: Fix HYP idmap unmap when using 52bit PA (bsc#1089074). - ipmi_ssif: Fix kernel panic at msg_done_handler (bsc#1088872). - commit 8c1d75d- Fix kABI breakage due to sound/timer.h inclusion (bsc#1051510). - commit b419498- Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-TEXASR-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-XER-SO-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-transactional-memory-b.patch. - Refresh patches.arch/PCI-hotplug-ppc-correct-a-php_slot-usage-after-free.patch. - Refresh patches.arch/cxl-Check-if-PSL-data-cache-is-available-before-issu.patch. - Refresh patches.arch/cxl-Enable-NORST-bit-in-PSL_DEBUG-register-for-PSL9.patch. - Refresh patches.arch/cxl-Fix-possible-deadlock-when-processing-page-fault.patch. - Refresh patches.arch/cxl-Fix-timebase-synchronization-status-on-P9.patch. - Refresh patches.arch/cxl-Remove-function-write_timebase_ctrl_psl9-for-PSL.patch. - Refresh patches.arch/cxl-read-PHB-indications-from-the-device-tree.patch. - Refresh patches.arch/powerpc-64-Call-H_REGISTER_PROC_TBL-when-running-as-.patch. - Refresh patches.arch/powerpc-64s-Enhance-the-information-in-cpu_show_melt.patch. - Refresh patches.arch/powerpc-64s-Move-cpu_show_meltdown.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v1.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v2.patch. - Refresh patches.arch/powerpc-Add-CPU-feature-bits-for-TM-bug-workarounds-.patch. - Refresh patches.arch/powerpc-Add-security-feature-flags-for-Spectre-Meltd.patch. - Refresh patches.arch/powerpc-Book-E-Remove-unused-CPU_FTR_L2CSR-bit.patch. - Refresh patches.arch/powerpc-Free-up-CPU-feature-bits-on-64-bit-machines.patch. - Refresh patches.arch/powerpc-Move-default-security-feature-flags.patch. - Refresh patches.arch/powerpc-Remove-unused-flush_dcache_phys_range.patch. - Refresh patches.arch/powerpc-Rename-plapr-routines-to-plpar.patch. - Refresh patches.arch/powerpc-Use-feature-bit-for-RTC-presence-rather-than.patch. - Refresh patches.arch/powerpc-kexec_file-Fix-error-code-when-trying-to-loa.patch. - Refresh patches.arch/powerpc-lpar-debug-Initialize-flags-before-printing-.patch. - Refresh patches.arch/powerpc-mm-Drop-the-function-native_register_proc_ta.patch. - Refresh patches.arch/powerpc-mm-slice-Remove-intermediate-bitmap-copy.patch. - Refresh patches.arch/powerpc-powernv-Fix-SMT4-forcing-idle-code.patch. - Refresh patches.arch/powerpc-powernv-Provide-a-way-to-force-a-core-into-S.patch. - Refresh patches.arch/powerpc-powernv-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-powernv-Use-the-security-flags-in-pnv_setup_.patch. - Refresh patches.arch/powerpc-pseries-Add-new-H_GET_CPU_CHARACTERISTICS-fl.patch. - Refresh patches.arch/powerpc-pseries-Fix-clearing-of-security-feature-fla.patch. - Refresh patches.arch/powerpc-pseries-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-pseries-Use-the-security-flags-in-pseries_se.patch. - Refresh patches.arch/powerpc-rfi-flush-Always-enable-fallback-flush-on-ps.patch. - Refresh patches.arch/powerpc-rfi-flush-Call-setup_rfi_flush-after-LPM-mig.patch. - Refresh patches.arch/powerpc-rfi-flush-Differentiate-enabled-and-patched-.patch. - Refresh patches.arch/powerpc-rfi-flush-Make-it-possible-to-call-setup_rfi.patch. - Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch. - Refresh patches.arch/powerpc-xmon-Clear-all-breakpoints-when-xmon-is-disa.patch. - Refresh patches.arch/powerpc-xmon-Setup-debugger-hooks-when-first-break-p.patch. - Refresh patches.suse/suse-hv-PCI-hv-Fix-2-hang-issues-in-hv_compose_msi_msg.patch. - Refresh patches.suse/suse-hv-PCI-hv-Fix-a-comment-typo-in-_hv_pcifront_read_confi.patch. - Refresh patches.suse/suse-hv-PCI-hv-Only-queue-new-work-items-in-hv_pci_devices_p.patch. - Refresh patches.suse/suse-hv-PCI-hv-Remove-the-bogus-test-in-hv_eject_device_work.patch. - Refresh patches.suse/suse-hv-PCI-hv-Serialize-the-present-and-eject-work-items.patch. - commit 2d4fe34- mmc: sdhci-pci: Fix voltage switch for some Intel host controllers (bsc#1051510). - commit 4661208- NFC: fix device-allocation error return (bsc#1051510). - commit 2eaf698- swiotlb: suppress warning when __GFP_NOWARN is set (bsc#1051510). - commit 85b3818- video: fbdev/mmp: add MODULE_LICENSE (bsc#1051510). - video: fbdev: atmel_lcdfb: fix display-timings lookup (bsc#1051510). - video/hdmi: Allow "empty" HDMI infoframes (bsc#1051510). - video: fbdev: au1200fb: Release some resources if a memory allocation fails (bsc#1051510). - video: fbdev: au1200fb: Return an error code if a memory allocation fails (bsc#1051510). - video: fbdev: aty: do not leak uninitialized padding in clk to userspace (bsc#1051510). - commit 7d3cb87- Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad (bsc#1051510). - Input: ALPS - fix TrackStick detection on Thinkpad L570 and Latitude 7370 (bsc#1051510). - Input: i8042 - add Lenovo ThinkPad L460 to i8042 reset list (bsc#1051510). - commit c7e202c- crypto: ahash - Fix early termination in hash walk (bsc#1051510). - crypto: lrw - Free rctx->ext with kzfree (bsc#1051510). - crypto: caam - Fix null dereference at error path (bsc#1051510). - crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one (bsc#1051510). - i2c: ismt: Separate I2C block read from SMBus block read (bsc#1051510). - crypto: AF_ALG - remove SGL terminator indicator when chaining (bsc#1051510). - commit dcd2df3- ALSA: usb-audio: Add native DSD support for TEAC UD-301 (bsc#1051510). - commit 544a3cf- media: au0828: add VIDEO_V4L2 dependency (bsc#1051510). - Refresh patches.drivers/media-au0828-fix-VIDEO_V4L2-dependency. - commit 3fa947d- crypto: af_alg - fix possible uninit-value in alg_bind() (bsc#1051510). - commit 2c2b1cd- Fix kABI incompatibility by snd_pcm_oss_runtime.rw_ref addition (bsc#1051510). - commit 5677dde- ALSA: pcm: Fix endless loop for XRUN recovery in OSS emulation (bsc#1051510). - ALSA: pcm: Fix UAF at PCM release via PCM timer access (bsc#1051510). - ALSA: pcm: Fix mutex unbalance in OSS emulation ioctls (bsc#1051510). - ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams (bsc#1051510). - ALSA: pcm: Avoid potential races between OSS ioctls and read/write (bsc#1051510). - ALSA: pcm: potential uninitialized return values (bsc#1051510). - commit 8b415be- blacklist.conf: Fix merge conflict leftover - commit 7ce640a- Preliminary patch sort & update - commit f1cd84a- ima: Add cgroups2 to the defaults list (bsc#1073915). - commit aa0be85- Update config files. (fate#321934) - commit 15c0ffc- bpf: skip unnecessary capability check (bsc#1083647). - bpf, x64: increase number of passes (bsc#1083647). - bpf: fix corruption on concurrent perf_event_output calls (bsc#1083647). - bpf: avoid excessive stack usage for perf_sample_data (bsc#1083647). - commit 22e80bf- rpm/package-descriptions: fix typo in kernel-azure - Add azure kernel description. - commit 6fdfcf9- Update config files: fix for Cherrytrail devices (bsc#1068546) - commit 365dd85- scsi: lpfc: Fix WQ/CQ creation for older asic's (bsc#1085241). - commit d8f53e9- Add mkp's queue to git_sort.py - commit 96f199e- Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-TEXASR-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-XER-SO-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-transactional-memory-b.patch. - Refresh patches.arch/PCI-hotplug-ppc-correct-a-php_slot-usage-after-free.patch. - Refresh patches.arch/cxl-Check-if-PSL-data-cache-is-available-before-issu.patch. - Refresh patches.arch/cxl-Enable-NORST-bit-in-PSL_DEBUG-register-for-PSL9.patch. - Refresh patches.arch/cxl-Fix-possible-deadlock-when-processing-page-fault.patch. - Refresh patches.arch/cxl-Fix-timebase-synchronization-status-on-P9.patch. - Refresh patches.arch/cxl-Remove-function-write_timebase_ctrl_psl9-for-PSL.patch. - Refresh patches.arch/cxl-read-PHB-indications-from-the-device-tree.patch. - Refresh patches.arch/powerpc-64-Call-H_REGISTER_PROC_TBL-when-running-as-.patch. - Refresh patches.arch/powerpc-64s-Enhance-the-information-in-cpu_show_melt.patch. - Refresh patches.arch/powerpc-64s-Move-cpu_show_meltdown.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v1.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v2.patch. - Refresh patches.arch/powerpc-Add-CPU-feature-bits-for-TM-bug-workarounds-.patch. - Refresh patches.arch/powerpc-Add-security-feature-flags-for-Spectre-Meltd.patch. - Refresh patches.arch/powerpc-Book-E-Remove-unused-CPU_FTR_L2CSR-bit.patch. - Refresh patches.arch/powerpc-Free-up-CPU-feature-bits-on-64-bit-machines.patch. - Refresh patches.arch/powerpc-Move-default-security-feature-flags.patch. - Refresh patches.arch/powerpc-Remove-unused-flush_dcache_phys_range.patch. - Refresh patches.arch/powerpc-Rename-plapr-routines-to-plpar.patch. - Refresh patches.arch/powerpc-Use-feature-bit-for-RTC-presence-rather-than.patch. - Refresh patches.arch/powerpc-kexec_file-Fix-error-code-when-trying-to-loa.patch. - Refresh patches.arch/powerpc-lpar-debug-Initialize-flags-before-printing-.patch. - Refresh patches.arch/powerpc-mm-Drop-the-function-native_register_proc_ta.patch. - Refresh patches.arch/powerpc-mm-slice-Remove-intermediate-bitmap-copy.patch. - Refresh patches.arch/powerpc-powernv-Fix-SMT4-forcing-idle-code.patch. - Refresh patches.arch/powerpc-powernv-Provide-a-way-to-force-a-core-into-S.patch. - Refresh patches.arch/powerpc-powernv-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-powernv-Use-the-security-flags-in-pnv_setup_.patch. - Refresh patches.arch/powerpc-pseries-Add-new-H_GET_CPU_CHARACTERISTICS-fl.patch. - Refresh patches.arch/powerpc-pseries-Fix-clearing-of-security-feature-fla.patch. - Refresh patches.arch/powerpc-pseries-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-pseries-Use-the-security-flags-in-pseries_se.patch. - Refresh patches.arch/powerpc-rfi-flush-Always-enable-fallback-flush-on-ps.patch. - Refresh patches.arch/powerpc-rfi-flush-Call-setup_rfi_flush-after-LPM-mig.patch. - Refresh patches.arch/powerpc-rfi-flush-Differentiate-enabled-and-patched-.patch. - Refresh patches.arch/powerpc-rfi-flush-Make-it-possible-to-call-setup_rfi.patch. - Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch. - Refresh patches.arch/powerpc-xmon-Clear-all-breakpoints-when-xmon-is-disa.patch. - Refresh patches.arch/powerpc-xmon-Setup-debugger-hooks-when-first-break-p.patch. - Refresh patches.suse/suse-hv-PCI-hv-Fix-2-hang-issues-in-hv_compose_msi_msg.patch. - Refresh patches.suse/suse-hv-PCI-hv-Fix-a-comment-typo-in-_hv_pcifront_read_confi.patch. - Refresh patches.suse/suse-hv-PCI-hv-Only-queue-new-work-items-in-hv_pci_devices_p.patch. - Refresh patches.suse/suse-hv-PCI-hv-Remove-the-bogus-test-in-hv_eject_device_work.patch. - Refresh patches.suse/suse-hv-PCI-hv-Serialize-the-present-and-eject-work-items.patch. - commit d96e797- KABI: hide ftrace_enabled in paca (bsc#1088804). - commit 1cab22b- powerpc64/ftrace: Use the generic version of ftrace_replace_code() (bsc#1088804). - powerpc64/module: Tighten detection of mcount call sites with - mprofile-kernel (bsc#1088804). - powerpc64/kexec: Hard disable ftrace before switching to the new kernel (bsc#1088804). - powerpc64/ftrace: Disable ftrace during hotplug (bsc#1088804). - powerpc64/ftrace: Delay enabling ftrace on secondary cpus (bsc#1088804). - powerpc64/ftrace: Add helpers to hard disable ftrace (bsc#1088804). - powerpc64/ftrace: Rearrange #ifdef sections in ftrace.h (bsc#1088804). - powerpc64/ftrace: Disable ftrace during kvm guest entry/exit (bsc#1088804). - powerpc64/ftrace: Add a field in paca to disable ftrace in unsafe code paths (bsc#1088804). - commit 31f7f1f- KVM: PPC: Book3S HV: Fix ppc_breakpoint_available compile error (bsc#1061840). - powerpc: Don't write to DABR on >= Power8 if DAWR is disabled (bsc#1055117). - commit a548bd0- powerpc/hw_breakpoint: Only disable hw breakpoint if cpu supports it (bsc#1055117). - commit e44aa5c- powerpc/kvm: Fix guest boot failure on Power9 since DAWR changes (bsc#1061840). - KVM: PPC: Book3S HV: Handle migration with POWER9 disabled DAWR (bsc#1061840). - KVM: PPC: Book3S HV: Return error from h_set_dabr() on POWER9 (bsc#1061840). - KVM: PPC: Book3S HV: Return error from h_set_mode(SET_DAWR) on POWER9 (bsc#1061840). - powerpc: Disable DAWR in the base POWER9 CPU features (bsc#1055117). - powerpc: Disable DAWR on POWER9 via CPU feature quirk (bsc#1055117). - powerpc: Update xmon to use ppc_breakpoint_available() (bsc#1072829). - powerpc: Update ptrace to use ppc_breakpoint_available() (bsc#1056686). - commit 5f644fa- fs/aio: Use RCU accessors for kioctx_table->table[] (bsc#1088722). - fs/aio: Add explicit RCU grace period when freeing kioctx (bsc#1088722). - commit a91dfd2- x86/intel_rdt: Add command line parameter to control L2_CDP (fate#325152). - x86/intel_rdt: Add two new resources for L2 Code and Data Prioritization (CDP) (fate#325152). - x86/intel_rdt: Enable L2 CDP in MSR IA32_L2_QOS_CFG (fate#325152). - x86/intel_rdt: Enumerate L2 Code and Data Prioritization (CDP) feature (fate#325152). - crypto: ccp - Fix sparse, use plain integer as NULL pointer (git-fixes 200664d5237f). - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-TEXASR-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-XER-SO-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-transactional-memory-b.patch. - Refresh patches.arch/PCI-hotplug-ppc-correct-a-php_slot-usage-after-free.patch. - Refresh patches.arch/cxl-Check-if-PSL-data-cache-is-available-before-issu.patch. - Refresh patches.arch/cxl-Enable-NORST-bit-in-PSL_DEBUG-register-for-PSL9.patch. - Refresh patches.arch/cxl-Fix-possible-deadlock-when-processing-page-fault.patch. - Refresh patches.arch/cxl-Fix-timebase-synchronization-status-on-P9.patch. - Refresh patches.arch/cxl-Remove-function-write_timebase_ctrl_psl9-for-PSL.patch. - Refresh patches.arch/cxl-read-PHB-indications-from-the-device-tree.patch. - Refresh patches.arch/powerpc-64-Call-H_REGISTER_PROC_TBL-when-running-as-.patch. - Refresh patches.arch/powerpc-64s-Enhance-the-information-in-cpu_show_melt.patch. - Refresh patches.arch/powerpc-64s-Move-cpu_show_meltdown.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v1.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v2.patch. - Refresh patches.arch/powerpc-Add-CPU-feature-bits-for-TM-bug-workarounds-.patch. - Refresh patches.arch/powerpc-Add-security-feature-flags-for-Spectre-Meltd.patch. - Refresh patches.arch/powerpc-Book-E-Remove-unused-CPU_FTR_L2CSR-bit.patch. - Refresh patches.arch/powerpc-Free-up-CPU-feature-bits-on-64-bit-machines.patch. - Refresh patches.arch/powerpc-Move-default-security-feature-flags.patch. - Refresh patches.arch/powerpc-Remove-unused-flush_dcache_phys_range.patch. - Refresh patches.arch/powerpc-Rename-plapr-routines-to-plpar.patch. - Refresh patches.arch/powerpc-Use-feature-bit-for-RTC-presence-rather-than.patch. - Refresh patches.arch/powerpc-kexec_file-Fix-error-code-when-trying-to-loa.patch. - Refresh patches.arch/powerpc-lpar-debug-Initialize-flags-before-printing-.patch. - Refresh patches.arch/powerpc-mm-Drop-the-function-native_register_proc_ta.patch. - Refresh patches.arch/powerpc-mm-slice-Remove-intermediate-bitmap-copy.patch. - Refresh patches.arch/powerpc-powernv-Fix-SMT4-forcing-idle-code.patch. - Refresh patches.arch/powerpc-powernv-Provide-a-way-to-force-a-core-into-S.patch. - Refresh patches.arch/powerpc-powernv-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-powernv-Use-the-security-flags-in-pnv_setup_.patch. - Refresh patches.arch/powerpc-pseries-Add-new-H_GET_CPU_CHARACTERISTICS-fl.patch. - Refresh patches.arch/powerpc-pseries-Fix-clearing-of-security-feature-fla.patch. - Refresh patches.arch/powerpc-pseries-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-pseries-Use-the-security-flags-in-pseries_se.patch. - Refresh patches.arch/powerpc-rfi-flush-Always-enable-fallback-flush-on-ps.patch. - Refresh patches.arch/powerpc-rfi-flush-Call-setup_rfi_flush-after-LPM-mig.patch. - Refresh patches.arch/powerpc-rfi-flush-Differentiate-enabled-and-patched-.patch. - Refresh patches.arch/powerpc-rfi-flush-Make-it-possible-to-call-setup_rfi.patch. - Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch. - Refresh patches.arch/powerpc-xmon-Clear-all-breakpoints-when-xmon-is-disa.patch. - Refresh patches.arch/powerpc-xmon-Setup-debugger-hooks-when-first-break-p.patch. - Refresh patches.arch/x86-cpufeatures-add-cpuid_7_edx-cpuid-leaf.patch. - Refresh patches.arch/x86-cpufeatures-clean-up-spectre-v2-related-cpuid-flags.patch. - commit 0256417- ovl: Put upperdentry if ovl_check_origin() fails (bsc#1088704). - commit 810661d- ovl: fix failure to fsync lower dir (bsc#108871). - commit 271d2b4- fuse: fix READDIRPLUS skipping an entry (bsc#1088690). - commit c80f4bb- usb: dwc3: Fix lock-up on ID change during system suspend/resume (bsc#1087092). - commit d535713- Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-TEXASR-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-XER-SO-bug-in-fake-sus.patch. - Refresh patches.arch/KVM-PPC-Book3S-HV-Work-around-transactional-memory-b.patch. - Refresh patches.arch/PCI-hotplug-ppc-correct-a-php_slot-usage-after-free.patch. - Refresh patches.arch/cxl-Check-if-PSL-data-cache-is-available-before-issu.patch. - Refresh patches.arch/cxl-Enable-NORST-bit-in-PSL_DEBUG-register-for-PSL9.patch. - Refresh patches.arch/cxl-Fix-possible-deadlock-when-processing-page-fault.patch. - Refresh patches.arch/cxl-Fix-timebase-synchronization-status-on-P9.patch. - Refresh patches.arch/cxl-Remove-function-write_timebase_ctrl_psl9-for-PSL.patch. - Refresh patches.arch/cxl-read-PHB-indications-from-the-device-tree.patch. - Refresh patches.arch/powerpc-64-Call-H_REGISTER_PROC_TBL-when-running-as-.patch. - Refresh patches.arch/powerpc-64s-Enhance-the-information-in-cpu_show_melt.patch. - Refresh patches.arch/powerpc-64s-Move-cpu_show_meltdown.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v1.patch. - Refresh patches.arch/powerpc-64s-Wire-up-cpu_show_spectre_v2.patch. - Refresh patches.arch/powerpc-Add-CPU-feature-bits-for-TM-bug-workarounds-.patch. - Refresh patches.arch/powerpc-Add-security-feature-flags-for-Spectre-Meltd.patch. - Refresh patches.arch/powerpc-Book-E-Remove-unused-CPU_FTR_L2CSR-bit.patch. - Refresh patches.arch/powerpc-Free-up-CPU-feature-bits-on-64-bit-machines.patch. - Refresh patches.arch/powerpc-Move-default-security-feature-flags.patch. - Refresh patches.arch/powerpc-Remove-unused-flush_dcache_phys_range.patch. - Refresh patches.arch/powerpc-Rename-plapr-routines-to-plpar.patch. - Refresh patches.arch/powerpc-Use-feature-bit-for-RTC-presence-rather-than.patch. - Refresh patches.arch/powerpc-kexec_file-Fix-error-code-when-trying-to-loa.patch. - Refresh patches.arch/powerpc-lpar-debug-Initialize-flags-before-printing-.patch. - Refresh patches.arch/powerpc-mm-Drop-the-function-native_register_proc_ta.patch. - Refresh patches.arch/powerpc-mm-slice-Remove-intermediate-bitmap-copy.patch. - Refresh patches.arch/powerpc-powernv-Fix-SMT4-forcing-idle-code.patch. - Refresh patches.arch/powerpc-powernv-Provide-a-way-to-force-a-core-into-S.patch. - Refresh patches.arch/powerpc-powernv-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-powernv-Use-the-security-flags-in-pnv_setup_.patch. - Refresh patches.arch/powerpc-pseries-Add-new-H_GET_CPU_CHARACTERISTICS-fl.patch. - Refresh patches.arch/powerpc-pseries-Fix-clearing-of-security-feature-fla.patch. - Refresh patches.arch/powerpc-pseries-Set-or-clear-security-feature-flags.patch. - Refresh patches.arch/powerpc-pseries-Use-the-security-flags-in-pseries_se.patch. - Refresh patches.arch/powerpc-rfi-flush-Always-enable-fallback-flush-on-ps.patch. - Refresh patches.arch/powerpc-rfi-flush-Call-setup_rfi_flush-after-LPM-mig.patch. - Refresh patches.arch/powerpc-rfi-flush-Differentiate-enabled-and-patched-.patch. - Refresh patches.arch/powerpc-rfi-flush-Make-it-possible-to-call-setup_rfi.patch. - Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch. - Refresh patches.arch/powerpc-xmon-Clear-all-breakpoints-when-xmon-is-disa.patch. - Refresh patches.arch/powerpc-xmon-Setup-debugger-hooks-when-first-break-p.patch. - Refresh patches.suse/suse-hv-PCI-hv-Fix-2-hang-issues-in-hv_compose_msi_msg.patch. - Refresh patches.suse/suse-hv-PCI-hv-Fix-a-comment-typo-in-_hv_pcifront_read_confi.patch. - Refresh patches.suse/suse-hv-PCI-hv-Only-queue-new-work-items-in-hv_pci_devices_p.patch. - Refresh patches.suse/suse-hv-PCI-hv-Remove-the-bogus-test-in-hv_eject_device_work.patch. - Refresh patches.suse/suse-hv-PCI-hv-Serialize-the-present-and-eject-work-items.patch. Linus has pulled. Take over the ordering. - commit 1ad4e83- blacklist.conf: not a bug fix, optimization - commit 5e5824b- blacklist.conf: cosmetic issue - commit 4b47d7a- Update config files, enable CONFIG_SMARTPQI on arm64 (bsc#1088634). - commit fb9aa6d- ibmvnic: Do not reset CRQ for Mobility driver resets (bsc#1088600). - ibmvnic: Fix failover case for non-redundant configuration (bsc#1088600). - ibmvnic: Fix reset scheduler error handling (bsc#1088600). - ibmvnic: Zero used TX descriptor counter on reset (bsc#1088600). - ibmvnic: Fix DMA mapping mistakes (bsc#1088600). - commit ec5530d- ibmvnic: Disable irqs before exiting reset from closed state (bsc#1084610). - commit 3658918- powerpc/perf: Add blacklisted events for Power9 DD2.2 (bsc1056686). - powerpc/perf: Add blacklisted events for Power9 DD2.1 (bsc1056686). - powerpc/perf: Infrastructure to support addition of blacklisted events (bsc1056686). - powerpc/perf: Prevent kernel address leak via perf_get_data_addr() (bsc1056686). - powerpc/perf: Prevent kernel address leak to userspace via BHRB buffer (bsc1056686). - powerpc/perf: Fix kernel address leak via sampling registers (bsc1056686). - commit 78dc81b- Remove broken cpu hotplug patch. Delete patches.arch/cpu-hotplug-Convert-hotplug-locking-to-percpu-rwsem.patch. - commit 2a2ffef- Revert "Remove patces for bug 1087405 due to regression" This reverts commit f91a2ea5192d9e933c41600da5d1543155df381c. - commit c2ecc06- Update kabi files from RC3 submission. - commit 43a8c6f- add mainline tag to various patches to be able to get further work done - commit 500958e- Refresh patches.suse/suse-hv-PCI-hv-Fix-2-hang-issues-in-hv_compose_msi_msg.patch. - Refresh patches.suse/suse-hv-PCI-hv-Fix-a-comment-typo-in-_hv_pcifront_read_confi.patch. - Refresh patches.suse/suse-hv-PCI-hv-Only-queue-new-work-items-in-hv_pci_devices_p.patch. - Refresh patches.suse/suse-hv-PCI-hv-Remove-the-bogus-test-in-hv_eject_device_work.patch. - Refresh patches.suse/suse-hv-PCI-hv-Serialize-the-present-and-eject-work-items.patch. - commit 8cb0a2a- futex: Fix OWNER_DEAD fixup (bsc#1067665). - futex: Avoid violating the 10th rule of futex (bsc#1067665). - commit 820eb95- run series_sort.py - commit 9b0b8df- Update arm kabi files to reflect changes in iProc driver. - commit 5c17dc1- Update ppc kabi files to reflect kabi fixes. - commit d584de6- Remove patces for bug 1087405 due to regression - Refresh patches.arch/powerpc-numa-Invalidate-numa_cpu_lookup_table-on-cpu.patch. - Delete patches.arch/cpu-hotplug-Convert-hotplug-locking-to-percpu-rwsem.patch. - Delete patches.arch/cpu-hotplug-Provide-cpus_read-write_-un-lock.patch. - Delete patches.arch/cpu-hotplug-Provide-lockdep_assert_cpus_held.patch. - Delete patches.arch/powerpc-Don-t-call-lockdep_assert_cpus_held-from-arc.patch. - Delete patches.arch/powerpc-Only-obtain-cpu_hotplug_lock-if-called-by-rt.patch. - Delete patches.arch/stop_machine-Provide-stop_machine_cpuslocked.patch. - Delete patches.arch/workqueue-Work-around-edge-cases-for-calc-of-pool-s-.patch. - Delete patches.suse/KABI-cpu-hotplug-provide-the-old-get-put_online_cpus.patch. - commit f91a2ea- Update ppc kabi files. A change in mm_context_t - commit 4e5f64a- mm, sparse: do not swamp log with huge vmemmap allocation (bnc#1082184, bnc#1087928). - commit 080516f- powerpc/mm: Fixup tlbie vs store ordering issue on POWER9 (bsc#1087908). - powerpc/mm/radix: Move the functions that does the actual tlbie closer (bsc#1087908). - Refresh patches.arch/powerpc-Add-CPU-feature-bits-for-TM-bug-workarounds-.patch. - Refresh patches.arch/powerpc-Free-up-CPU-feature-bits-on-64-bit-machines.patch. - commit 9f17cf2- powerpc/mm: Workaround Nest MMU bug with TLB invalidations (bsc#1087908). - commit 2dc45cc- powerpc/64s/radix: Optimize TLB range flush barriers (bsc#1087908). - commit ab0534b- powerpc/kprobes: Fix warnings from __this_cpu_read() on preempt kernels (bsc#1088321). - powerpc/kprobes: Clean up jprobe detection in livepatch handler (bsc#1088321). - commit de980ac- powerpc/modules: Don't try to restore r2 after a sibling call (bsc#1088321). - powerpc/modules: Add REL24 relocation support of livepatch symbols (bsc#1088321). - commit 2e9366a- Fix kABI for musb flush_irq_work field addition (bsc#1085536). - commit bd7d8c7- kABI: protect struct mlx5_core_srq (bsc#1046305 FATE#322943). - Delete patches.suse/kabi-IB-mlx5-Fix-integer-overflows-in-mlx5_ib_create_srq.patch. Move kABI workaround to patches.kabi/ - commit 8b4c573- kABI: protect struct mlx5_core_srq (bsc#1046305 FATE#322943). - commit 722e1e3- kabi/severities: Ignore livepatching kABI changes Namely klp_*_patch symbols (enable, disable, (un)register). - commit 1162b94- powerpc/lib/xor_vmx: Ensure no altivec code executes before enable_kernel_altivec() (bsc#1065729). - commit a384ead- powerpc: Fix check for copy/paste instructions in alignment handler (bsc#1055117). - commit d9df9cc- livepatch: Add an extra flag to distinguish registered patches (bsc#1071995 fate#323487). - livepatch: Remove Nop structures when unused (bsc#1071995 fate#323487). - livepatch: Remove replaced patches from the stack (bsc#1071995 fate#323487). - Refresh patches.suse/livepatch-add-atomic-replace.patch. - Refresh patches.suse/livepatch-allow-to-replace-even-disabled-patches.patch. - Refresh patches.suse/livepatch-atomic-replace-and-cumulative-patches-documentation.patch. - Refresh patches.suse/livepatch-free-only-structures-with-initialized-kobject.patch. - Refresh patches.suse/livepatch-use-lists-to-manage-patches-objects-and-functions.patch. - Delete patches.suse/livepatch-allow-to-unpatch-only-functions-of-the-given-type.patch. - Delete patches.suse/livepatch-correctly-handle-atomic-replace-for-not-yet-loaded-modules.patch. - Delete patches.suse/livepatch-improve-dynamic-struct-klp_object-detection-and-manipulation.patch. - Delete patches.suse/livepatch-initial-support-for-dynamic-structures.patch. - Delete patches.suse/livepatch-support-separate-list-for-replaced-patches.patch. Atomic replace, update to v11. - commit 25ee7a3- Delete kabi/arm64/symtypes-default. - Delete kabi/arm64/symvers-default. - Delete kabi/ppc64le/symtypes-default. - Delete kabi/ppc64le/symvers-default. - Delete kabi/s390x/symtypes-default. - Delete kabi/s390x/symvers-default. - Delete kabi/x86_64/symtypes-default. - Delete kabi/x86_64/symvers-default. Disable imported kABI for now for openSUSE-15.0 branch. - commit 460eb3a- Refresh patches.drivers/crypto-ccp-add-check-to-get-psp-master-only-when-psp-is-detected.patch. - Refresh patches.drivers/scsi-csiostor-add-support-for-32-bit-port-capabiliti.patch. - Refresh patches.drivers/scsi-lpfc-Add-64G-link-speed-support.patch. - Refresh patches.drivers/scsi-lpfc-Add-PCI-Ids-for-if_type-6-hardware.patch. - Refresh patches.drivers/scsi-lpfc-Add-SLI-4-if_type-6-support-to-the-code-ba.patch. - Refresh patches.drivers/scsi-lpfc-Add-WQ-Full-Logic-for-NVME-Target.patch. - Refresh patches.drivers/scsi-lpfc-Add-embedded-data-pointers-for-enhanced-pe.patch. - Refresh patches.drivers/scsi-lpfc-Add-if_type-6-support-for-cycling-valid-bi.patch. - Refresh patches.drivers/scsi-lpfc-Add-push-to-adapter-support-to-sli4.patch. - Refresh patches.drivers/scsi-lpfc-Allow-set-of-maximum-outstanding-SCSI-cmd-.patch. - Refresh patches.drivers/scsi-lpfc-Change-Copyright-of-12.0.0.0-modified-file.patch. - Refresh patches.drivers/scsi-lpfc-Enable-fw-download-on-if_type-6-devices.patch. - Refresh patches.drivers/scsi-lpfc-Fix-IO-failure-during-hba-reset-testing-wi.patch. - Refresh patches.drivers/scsi-lpfc-Fix-PRLI-handling-when-topology-type-chang.patch. - Refresh patches.drivers/scsi-lpfc-Fix-RQ-empty-firmware-trap.patch. - Refresh patches.drivers/scsi-lpfc-Fix-SCSI-io-host-reset-causing-kernel-cras.patch. - Refresh patches.drivers/scsi-lpfc-Fix-frequency-of-Release-WQE-CQEs.patch. - Refresh patches.drivers/scsi-lpfc-Fix-header-inclusion-in-lpfc_nvmet.patch. - Refresh patches.drivers/scsi-lpfc-Fix-issue_lip-if-link-is-disabled.patch. - Refresh patches.drivers/scsi-lpfc-Fix-nonrecovery-of-NVME-controller-after-c.patch. - Refresh patches.drivers/scsi-lpfc-Fix-nvme-embedded-io-length-on-new-hardwar.patch. - Refresh patches.drivers/scsi-lpfc-Fix-soft-lockup-in-lpfc-worker-thread-duri.patch. - Refresh patches.drivers/scsi-lpfc-Increase-CQ-and-WQ-sizes-for-SCSI.patch. - Refresh patches.drivers/scsi-lpfc-Indicate-CONF-support-in-NVMe-PRLI.patch. - Refresh patches.drivers/scsi-lpfc-Rework-lpfc-to-allow-different-sli4-cq-and.patch. - Refresh patches.drivers/scsi-lpfc-Rework-sli4-doorbell-infrastructure.patch. - Refresh patches.drivers/scsi-lpfc-Treat-SCSI-Write-operation-Underruns-as-an.patch. - Refresh patches.drivers/scsi-lpfc-Update-11.4.0.7-modified-files-for-2018-Co.patch. - Refresh patches.drivers/scsi-lpfc-Validate-adapter-support-for-SRIU-option.patch. - Refresh patches.drivers/scsi-lpfc-Work-around-NVME-cmd-iu-SGL-type.patch. - Refresh patches.drivers/scsi-lpfc-change-copyright-of-12.0.0.1-modified-files-to.patch. - Refresh patches.drivers/scsi-lpfc-code-cleanup-for-128byte-wqe-data-type.patch. - Refresh patches.drivers/scsi-lpfc-correct-debug-counters-for-abort.patch. - Refresh patches.drivers/scsi-lpfc-fix-mailbox-wait-for-post_sgl-mbox-command.patch. - Refresh patches.drivers/scsi-lpfc-fix-scsi-lun-discovery-when-port-configured-for.patch. - Refresh patches.drivers/scsi-lpfc-make-several-unions-static-fix-non-ansi.patch. - Refresh patches.drivers/scsi-lpfc-memory-allocation-error-during-driver-start-up-on.patch. - Refresh patches.drivers/scsi-lpfc-move-placement-of-target-destroy-on-driver.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-initiator-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-targe6t-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-11.4.0.7.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.0.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.1.patch. Move patches to the sorted section. - commit fbb5005- intel_th: Use correct method of finding hub (FATE#325099). - commit 0af4c94- Preliminary patch sort & update - commit 1073359- scsi: lpfc: Add missing unlock in WQ full logic (bsc#1077989). - scsi: lpfc: use __raw_writeX on DPP copies (bsc#1077989). - commit 62cee1d- s390/qeth: on channel error, reject further cmd requests (bnc#1088343, LTC#165985). - commit 5b6cf5f- Refresh patches.drivers/scsi-csiostor-add-support-for-32-bit-port-capabiliti.patch. - Refresh patches.drivers/scsi-lpfc-Add-64G-link-speed-support.patch. - Refresh patches.drivers/scsi-lpfc-Add-PCI-Ids-for-if_type-6-hardware.patch. - Refresh patches.drivers/scsi-lpfc-Add-SLI-4-if_type-6-support-to-the-code-ba.patch. - Refresh patches.drivers/scsi-lpfc-Add-WQ-Full-Logic-for-NVME-Target.patch. - Refresh patches.drivers/scsi-lpfc-Add-embedded-data-pointers-for-enhanced-pe.patch. - Refresh patches.drivers/scsi-lpfc-Add-if_type-6-support-for-cycling-valid-bi.patch. - Refresh patches.drivers/scsi-lpfc-Add-push-to-adapter-support-to-sli4.patch. - Refresh patches.drivers/scsi-lpfc-Allow-set-of-maximum-outstanding-SCSI-cmd-.patch. - Refresh patches.drivers/scsi-lpfc-Change-Copyright-of-12.0.0.0-modified-file.patch. - Refresh patches.drivers/scsi-lpfc-Enable-fw-download-on-if_type-6-devices.patch. - Refresh patches.drivers/scsi-lpfc-Fix-IO-failure-during-hba-reset-testing-wi.patch. - Refresh patches.drivers/scsi-lpfc-Fix-PRLI-handling-when-topology-type-chang.patch. - Refresh patches.drivers/scsi-lpfc-Fix-RQ-empty-firmware-trap.patch. - Refresh patches.drivers/scsi-lpfc-Fix-SCSI-io-host-reset-causing-kernel-cras.patch. - Refresh patches.drivers/scsi-lpfc-Fix-frequency-of-Release-WQE-CQEs.patch. - Refresh patches.drivers/scsi-lpfc-Fix-header-inclusion-in-lpfc_nvmet.patch. - Refresh patches.drivers/scsi-lpfc-Fix-issue_lip-if-link-is-disabled.patch. - Refresh patches.drivers/scsi-lpfc-Fix-nonrecovery-of-NVME-controller-after-c.patch. - Refresh patches.drivers/scsi-lpfc-Fix-nvme-embedded-io-length-on-new-hardwar.patch. - Refresh patches.drivers/scsi-lpfc-Fix-soft-lockup-in-lpfc-worker-thread-duri.patch. - Refresh patches.drivers/scsi-lpfc-Increase-CQ-and-WQ-sizes-for-SCSI.patch. - Refresh patches.drivers/scsi-lpfc-Indicate-CONF-support-in-NVMe-PRLI.patch. - Refresh patches.drivers/scsi-lpfc-Rework-lpfc-to-allow-different-sli4-cq-and.patch. - Refresh patches.drivers/scsi-lpfc-Rework-sli4-doorbell-infrastructure.patch. - Refresh patches.drivers/scsi-lpfc-Treat-SCSI-Write-operation-Underruns-as-an.patch. - Refresh patches.drivers/scsi-lpfc-Update-11.4.0.7-modified-files-for-2018-Co.patch. - Refresh patches.drivers/scsi-lpfc-Validate-adapter-support-for-SRIU-option.patch. - Refresh patches.drivers/scsi-lpfc-Work-around-NVME-cmd-iu-SGL-type.patch. - Refresh patches.drivers/scsi-lpfc-change-copyright-of-12.0.0.1-modified-files-to.patch. - Refresh patches.drivers/scsi-lpfc-code-cleanup-for-128byte-wqe-data-type.patch. - Refresh patches.drivers/scsi-lpfc-correct-debug-counters-for-abort.patch. - Refresh patches.drivers/scsi-lpfc-fix-mailbox-wait-for-post_sgl-mbox-command.patch. - Refresh patches.drivers/scsi-lpfc-fix-scsi-lun-discovery-when-port-configured-for.patch. - Refresh patches.drivers/scsi-lpfc-make-several-unions-static-fix-non-ansi.patch. - Refresh patches.drivers/scsi-lpfc-memory-allocation-error-during-driver-start-up-on.patch. - Refresh patches.drivers/scsi-lpfc-move-placement-of-target-destroy-on-driver.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-initiator-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-targe6t-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-11.4.0.7.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.0.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.1.patch. - commit 78112c4- hv_balloon: fix bugs in num_pages_onlined accounting (fate#323887). - hv_balloon: simplify hv_online_page()/hv_page_online_one() (fate#323887). - hv_balloon: fix printk loglevel (fate#323887). - commit 0be921f- PCI: hv: Only queue new work items in hv_pci_devices_present() if necessary (fate#323887, bsc#1087659). - PCI: hv: Remove the bogus test in hv_eject_device_work() (fate#323887, bsc#1087659). - PCI: hv: Fix a comment typo in _hv_pcifront_read_config() (fate#323887, bsc#1087659). - PCI: hv: Fix 2 hang issues in hv_compose_msi_msg() (fate#323887, bsc#1087659, bsc#1087906). - PCI: hv: Serialize the present and eject work items (fate#323887, bsc#1087659). - commit ae18380- add mainline tag to various patches to be able to get further work done - commit 6ad1ff6- iscsi-target: Fix non-immediate TMR reference leak (bsc#1088381). - iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref (bsc#1088381). - iscsi-target: fix memory leak in lio_target_tiqn_addtpg() (bsc#1088381). - commit 34e6573- Ran series_sort.py prior to adding my patches. - commit da61622- kabi/severities: ignore PPC KVM - commit 7d22756- powerpc/traps: Use SRR1 defines for program check reasons (bsc#1061840). - commit ea11890- powerpc: Add PPC_FEATURE2_HTM_NO_SUSPEND (bsc#1055117). - commit 7ef8218- powerpc/xive: prepare all hcalls to support long busy delays (bsc#1088273). - powerpc/xive: shutdown XIVE when kexec or kdump is performed (bsc#1088273). - powerpc/xive: fix hcall H_INT_RESET to support long busy delays (bsc#1088273). - powerpc/64/kexec: fix race in kexec when XIVE is shutdowned (bsc#1088273). - commit 61f67a6- KVM: PPC: Book3S HV: Work around TEXASR bug in fake suspend state (bsc#1061840). - KVM: PPC: Book3S HV: Work around XER[SO] bug in fake suspend mode (bsc#1061840). - KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9 (bsc#1061840). - powerpc/powernv: Provide a way to force a core into SMT4 mode (bsc#1061840). - powerpc: Add CPU feature bits for TM bug workarounds on POWER9 v2.2 (bsc#1061840). - powerpc: Free up CPU feature bits on 64-bit machines (bsc#1061840). - powerpc: Book E: Remove unused CPU_FTR_L2CSR bit (bsc#1061840). - powerpc: Use feature bit for RTC presence rather than timebase presence (bsc#1061840). - powerpc/pseries: Fix clearing of security feature flags (bsc#1068032). - commit acbd042- powerpc/powernv: Enable TM without suspend if possible (bsc#1055117). - Refresh patches.arch/powerpc-powernv-Check-device-tree-for-RFI-flush-sett.patch. - Refresh patches.arch/powerpc-powernv-Set-or-clear-security-feature-flags.patch. - commit 53035ed- powerpc/tm: Add commandline option to disable hardware transactional memory (bsc#1055117). - commit d4945ad- powerpc/64s: msgclr when handling doorbell exceptions from system reset (bsc#1065729). - commit 920b4d2- powerpc/64s: Avoid cpabort in context switch when possible (bsc#1055117). - Refresh patches.arch/powerpc-64s-Replace-CONFIG_PPC_STD_MMU_64-with-CONFI.patch. - Refresh patches.arch/powerpc-store-and-restore-the-pkey-state-across-cont.patch. - commit 4153120- fw_cfg: write vmcoreinfo details (bsc#1077919). - crash: export paddr_vmcoreinfo_note() (bsc#1077919). - fw_cfg: add DMA register (bsc#1077919). - fw_cfg: add a public uapi header (bsc#1077919). - fw_cfg: handle fw_cfg_read_blob() error (bsc#1077919). - fw_cfg: remove inline from fw_cfg_read_blob() (bsc#1077919). - fw_cfg: fix sparse warnings around FW_CFG_FILE_DIR read (bsc#1077919). - fw_cfg: fix sparse warning reading FW_CFG_ID (bsc#1077919). - fw_cfg: fix sparse warnings with fw_cfg_file (bsc#1077919). - fw_cfg: fix sparse warnings in fw_cfg_sel_endianness() (bsc#1077919). - commit d4b3f19- powerpc/64: Drop explicit hwsync in context switch (bsc#1065729). - Refresh patches.arch/powerpc-64s-Add-support-for-ori-barrier_nospec-patch.patch. - Refresh patches.arch/powerpc-Add-barrier_nospec.patch. - commit e5a5881- powerpc/64: Drop reservation-clearing ldarx in context switch (bsc#1065729). - commit 6038e82- fw_cfg: fix driver remove (bsc#1077919). - fw_cfg: fix the command line module name (bsc#1077919). - commit e296044- powerpc/powernv: Fix SMT4 forcing idle code (bsc#1061840). - powerpc/lpar/debug: Initialize flags before printing debug message (bsc#1065729). - powerpc: Move default security feature flags (bsc#1068032). - commit a13eef9- Refresh patches.drivers/crypto-ccp-add-check-to-get-psp-master-only-when-psp-is-detected.patch. - commit 6ad4507- x86/platform/UV: Fix critical UV MMR address error (bsc#1087542). - x86/platform/UV: Fix GAM Range Table entries less than 1GB (bsc#1087542). - commit 1ed61f7- Refresh patches.drivers/crypto-ccp-add-check-to-get-psp-master-only-when-psp-is-detected.patch. - commit 8376280- ipc/shm: Fix pid freeing (bsc#1088323). - ipc/sem: Fix semctl(..., GETPID, ...) between pid namespaces (bsc#1088323). - ipc/msg: Fix msgctl(..., IPC_STAT, ...) between pid namespaces (bsc#1088323). - ipc/shm: Fix shmctl(..., IPC_STAT, ...) between pid namespaces (bsc#1088323). - ipc/util: Helpers for making the sysvipc operations pid namespace aware (bsc#1088323). - commit 834881a- powerpc/64: Call H_REGISTER_PROC_TBL when running as a HPT guest on POWER9 (bsc#1055117). - commit d22d56e- cxl: Fix possible deadlock when processing page faults from cxllib (bsc#1055014). - cxl: Fix timebase synchronization status on P9 (bsc#1055014). - commit 97da1b3- run series_sort.py - commit dcd8dad- powerpc/64s: Wire up cpu_show_spectre_v2() (bsc#1068032). - powerpc/64s: Wire up cpu_show_spectre_v1() (bsc#1068032). - powerpc/64s: Enhance the information in cpu_show_meltdown() (bsc#1068032). - commit 63a2f99- powerpc/64s: Move cpu_show_meltdown() (bsc#1068032). Refresh patches.arch/powerpc-64-barrier_nospec-Add-debugfs-trigger.patch. - commit e6621ab- powerpc/powernv: Use the security flags in pnv_setup_rfi_flush() (bsc#1068032). - powerpc/powernv: Set or clear security feature flags (bsc#1068032). - commit 88dba39- powerpc/pseries: Set or clear security feature flags (bsc#1068032). - powerpc/pseries: Use the security flags in pseries_setup_rfi_flush() (bsc#1068032). - Refresh patches.arch/powerpc-64s-barrier_nospec-Add-hcall-trigger.patch. - commit a943584- FS-Cache: fix dereference of NULL user_key_payload (bsc#1052766). - commit 55e6fcf- nilfs2: fix race condition that causes file system corruption (bsc#1052766). - commit a722fb7- ocfs2: fix cluster hang after a node dies (bsc#1052766). - commit 4120511- powerpc: Add security feature flags for Spectre/Meltdown (bsc#1068032). - commit 5f230fd- quota: propagate error from __dquot_initialize (bsc#1052766). - commit cb9d963- fsnotify: fix pinning group in fsnotify_prepare_user_wait() (bsc#1052766). - commit c437982- fscrypt: lock mutex before checking for bounce page pool (bsc#1052766). - commit 209ee5e- fscrypt: fix dereference of NULL user_key_payload (bsc#1052766). - commit f373382- powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags (bsc#1068032). - commit b7a53a4- isofs: fix timestamps beyond 2027 (bsc#1052766). - commit a587b63- Refresh rfi patches patches.arch/powerpc-rfi-flush-Always-enable-fallback-flush-on-ps.patch patches.arch/powerpc-rfi-flush-Call-setup_rfi_flush-after-LPM-mig.patch patches.arch/powerpc-rfi-flush-Differentiate-enabled-and-patched-.patch - commit d7870ce- NET: usb: qmi_wwan: add support for YUGA CLM920-NC5 PID 0x9625 (bsc#1085539). - commit 1d9d091- jbd2: fix sphinx kernel-doc build warnings (bsc#1052766). - commit fc5bd65- ext4: correct documentation for grpid mount option (bsc#1052766). - commit 93f8b5b- ext4: save error to disk in __ext4_grp_locked_error() (bsc#1052766). - commit 3dda242- net: usb: qmi_wwan: add Telit ME910 PID 0x1101 support (bsc#1085539). - commit c074125- ext4: fix a race in the ext4 shutdown path (bsc#1052766). - commit 51e6374- ext4: fix crash when a directory's i_size is too small (bsc#1052766). - commit 7d7ac9f- ext4: fix fdatasync(2) after fallocate(2) operation (bsc#1052766). - commit 887455a- powerpc/64s: Relax PACA address limitations (bsc#1065729). Refresh patches.arch/powerpc-rfi-flush-Make-it-possible-to-call-setup_rfi.patch - commit 16255f0- net: qmi_wwan: add Sierra EM7565 1199:9091 (bsc#1085539). - commit d8901e2- powerpc/64s/radix: Remove bolted-SLB address limit for per-cpu stacks (bsc#1055186, fate#323286). - commit 79fc554- net: qmi_wwan: add Quectel BG96 2c7c:0296 (bsc#1085539). - commit 78209a8- ext4: fix interaction between i_size, fallocate, and delalloc after a crash (bsc#1052766). - commit cbe1a44- ext4: fix quota inconsistency during orphan cleanup for read-only mounts (bsc#1052766). - commit f8cbe3f- ext4: fix incorrect quotaoff if the quota feature is enabled (bsc#1052766). - commit 5e83762- run series_sort.py - commit b8d67c7- Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch - commit 0f4792f- lkdtm: fix handle_irq_event symbol for INT_HW_IRQ_EN (bsc#1052766). - cpu/hotplug: Remove unused check_for_tasks() function (bsc#1087405). - commit aff55d7- scsi: aacraid: remove redundant setting of variable c (bsc#1077989). - commit 46a3cd8- eeprom: at24: fix reading from 24MAC402/24MAC602 (bsc#1052766). - commit e377943- scripts/git_sort/git_sort.py: helgas/pci.git bsc#1087659 - commit 718b019- add mainline tag to one crypto patch to be able to get further work done - commit ce6483f- libata: Modify quirks for MX100 to limit NCQ_TRIM quirk to MU01 version (bsc#1077989). - libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions (bsc#1077989). - libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs (bsc#1077989). - libata: Enable queued TRIM for Samsung SSD 860 (bsc#1077989). - ahci: Add PCI-id for the Highpoint Rocketraid 644L card (bsc#1077989). - libata: disable LPM for Crucial BX100 SSD 500GB drive (bsc#1077989). - libata: Apply NOLPM quirk to Crucial MX100 512GB SSDs (bsc#1077989). - libata: don't try to pass through NCQ commands to non-NCQ devices (bsc#1077989). - libata: remove WARN() for DMA or PIO command without data (bsc#1077989). - libata: fix length validation of ATAPI-relayed SCSI commands (bsc#1077989). - libata: apply MAX_SEC_1024 to all LITEON EP1 series devices (bsc#1077989). - commit c6aedf4- libnvdimm: passthru functions clear to send (FATE#324636). - Refresh patches.drivers/libnvdimm-fix-integer-overflow-static-analysis-warni.patch. - commit 9f63ca3- scsi: ibmvfc: fix misdefined reserved field in ibmvfc_fcp_rsp_info (bsc#1077989). - scsi: core: scsi_get_device_flags_keyed(): Always return device flags (bsc#1077989). - scsi: core: Fix a scsi_show_rq() NULL pointer dereference (bsc#1077989). - scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg (bsc#1077989). - commit 56f0ee6- scsi: aacraid: Fix udev inquiry race condition (bsc#1077989). - Refresh patches.drivers/scsi-aacraid-Fix-hang-in-kdump.patch. - commit 2a83436- scsi: mpt3sas: wait for and flush running commands on shutdown/unload (bsc#1081917). - scsi: mpt3sas: fix oops in error handlers after shutdown/unload (bsc#1081917). - commit a349d88- scsi: mpt3sas: Do not use 32-bit atomic request descriptor for Ventura controllers (bsc#1081917). - scsi: mpt3sas: make function _get_st_from_smid static (bsc#1081917). - scsi: mpt3sas: lockless command submission (bsc#1081917). - scsi: mpt3sas: simplify _wait_for_commands_to_complete() (bsc#1081917). - scsi: mpt3sas: simplify mpt3sas_scsi_issue_tm() (bsc#1081917). - scsi: mpt3sas: simplify task management functions (bsc#1081917). - scsi: mpt3sas: always use first reserved smid for ioctl passthrough (bsc#1081917). - scsi: mpt3sas: check command status before attempting abort (bsc#1081917). - scsi: mpt3sas: Introduce mpt3sas_get_st_from_smid() (bsc#1081917). - scsi: mpt3sas: open-code _scsih_scsi_lookup_get() (bsc#1081917). - scsi: mpt3sas: separate out _base_recovery_check() (bsc#1081917). - scsi: mpt3sas: use list_splice_init() (bsc#1081917). - scsi: mpt3sas: set default value for cb_idx (bsc#1081917). - scsi: mpt3sas: Remove unused variable requeue_event (bsc#1081917). - scsi: mpt3sas: Replace PCI pool old API (bsc#1081917). - commit cb50073- libnvdimm, {btt, blk}: do integrity setup before add_disk() (FATE#323731). - libnvdimm, btt: Fix an incompatibility in the log layout (FATE#323731). - libnvdimm, namespace: fix label initialization to use valid seq numbers (FATE#323731). - libnvdimm, dimm: clear 'locked' status on successful DIMM enable (FATE#323731). - commit d622fe7- ceph: only dirty ITER_IOVEC pages for direct read (bsc#1084898). - commit 39d3e00- Refresh patches.drivers/crypto-ccp-add-check-to-get-psp-master-only-when-psp-is-detected.patch. - commit 0eac7e1- Refresh patches.drivers/crypto-ccp-add-check-to-get-psp-master-only-when-psp-is-detected.patch. - commit 31ba015- dm: bump DM_VERSION_MINOR in response to target method error code changes (fate#322738,fate#322919,fate#322950,fate#323773). - dm ioctl: fix alignment of event number in the device list (fate#322738,fate#322919,fate#322950,fate#323773). - bcache: don't attach backing with duplicate UUID (bsc#1076110). - bcache: fix crashes in duplicate cache device register (bsc#1076110). - Refresh with patch-mainline info from upstream patches.drivers/crypto-ccp-add-check-to-get-psp-master-only-when-psp-is-detected.patch. - commit d9ed9f7- Refresh patches.drivers/crypto-ccp-add-check-to-get-psp-master-only-when-psp-is-detected.patch. - commit 3c722f3- hv_netvsc: enable multicast if necessary (fate#323887). - commit 8ac01bc- i40evf: fix mac filter removal timing issue (bsc#1085952). - commit 77d77ad- Check all profiles attached to the label (bsc#1085996). - commit bdb6960- EDAC, sb_edac: Fix missing DIMM sysfs entries with KNL SNC2/SNC4 mode (bsc#1087398). - commit 379aede- clk: bcm2835: Protect sections updating shared registers (bsc#1085535). - clk: bcm2835: Fix ana->maskX definitions (bsc#1085535). - clk: migrate the count of orphaned clocks at init (bsc#1085535). - i2c: bcm2835: Set up the rising/falling edge delays (bsc#1085535). - clk: Don't touch hardware when reparenting during registration (bsc#1085535). - clk: fix a panic error caused by accessing NULL pointer (bsc#1085535). - clk: imx: imx7d: Fix parent clock for OCRAM_CLK (bsc#1085535). - clocksource/drivers/arm_arch_timer: Validate CNTFRQ after enabling frame (bsc#1085535). - clocksource/drivers/arm_arch_timer: Fix mem frame loop initialization (bsc#1085535). - commit 99eb15b- perf/x86/intel/uncore: Fix multi-domain PCI CHA enumeration bug on Skylake servers (bsc#1086359). - commit e6b5922- arm64: Relax ARM_SMCCC_ARCH_WORKAROUND_1 discovery (bsc#1088051). - arm64: mm: fix thinko in non-global page table attribute check (bsc#1088049). - arm64: Remove unimplemented syscall log message (bsc#1085535). - arm64: cpufeature: Fix CTR_EL0 field definitions (bsc#1085535). - arm64: proc: Set PTE_NG for table entries to avoid traversing them twice (bsc#1085535). - arm64: fix CONFIG_DEBUG_WX address reporting (bsc#1085535). - arm64: mm: Fix false positives in set_pte_at access/dirty race detection (bsc#1085535). - arm64: Initialise high_memory global variable earlier (bsc#1085535). - arm64: fpsimd: Prevent registers leaking from dead tasks (bsc#1085535). - arm64: prevent regressions in compressed kernel image size when upgrading to binutils 2.27 (bsc#1085535). - arm64: Implement arch-specific pte_access_permitted() (bsc#1085535). - arm64: ensure __dump_instr() checks addr_limit (bsc#1085535). - arm64: fault: Route pte translation faults via do_translation_fault (bsc#1085535). - arm64: mm: Use READ_ONCE when dereferencing pointer to pte table (bsc#1085535). - arm64: Make sure SPsel is always set (bsc#1085535). - commit 9ca6ca7- mmc: block: fix updating ext_csd caches on ioctl call (bsc#1051510). - commit 750d5f5- blacklist.conf: update mmc entry - commit 2ee5678- usb: usbmon: Read text within supplied buffer size (bsc#1087092). - commit 86b2669- USB: storage: Add JMicron bridge 152d:2567 to unusual_devs.h (bsc#1087092). - commit 1ed8de7- Revert "usb: musb: host: don't start next rx urb if current one failed" (bsc#1087092). - commit b079d8b- usb: ohci: Proper handling of ed_rm_list to handle race condition between usb_kill_urb() and finish_unlinks() (bsc#1087092). - commit 5b90439- xhci: Fix front USB ports on ASUS PRIME B350M-A (bsc#1087092). - commit f61cb1b- nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick() (bsc#1051510). - Refresh patches.suse/kernel-add-release-status-to-kernel-build.patch. - Refresh patches.suse/sched-throttle-nohz.patch. - commit a31081c- blacklist.conf: Add mac80211 entry - commit 8a71e13- media: s3c-camif: fix out-of-bounds array access (bsc#1051510). - media: vivid: fix incorrect capabilities for radio (bsc#1051510). - media: cx25821: prevent out-of-bounds read on array card (bsc#1051510). - media: au0828: fix VIDEO_V4L2 dependency (bsc#1051510). - ath10k: fix recent bandwidth conversion bug (bsc#1051510). - ath10k: advertize beacon_int_min_gcd (bsc#1051510). - iwlwifi: mvm: check if mac80211_queue is valid in iwl_mvm_disable_txq (bsc#1051510). - ath9k: Protect queue draining by rcu_read_lock() (bsc#1051510). - mac80211: don't WARN on bad WMM parameters from buggy APs (bsc#1051510). - mt7601u: let mac80211 validate rx CCMP PN (bsc#1051510). - regmap: Format data for raw write in regmap_bulk_write (bsc#1051510). - regmap: Don't use format_val in regmap_bulk_read (bsc#1051510). - regmap: Correct offset handling in regmap_volatile_range (bsc#1051510). - regmap-i2c: Off by one in regmap_i2c_smbus_i2c_read/write() (bsc#1051510). - regmap: Fix reversed bounds check in regmap_raw_write() (bsc#1051510). - regmap: Correct comparison in regmap_cached (bsc#1051510). - commit f0366d2- add a cherry-picked id to earlycon fix patch - commit c41f9b4- x86/cpu/amd: Derive L3 shared_cpu_map from cpu_llc_shared_mask (stable fixes). - x86/efi: Fix kernel param add_efi_memmap regression (stable fixes). - x86: Make X86_BUG_FXSAVE_LEAK detectable in CPUID on AMD (stable fixes). - x86/microcode/intel: Disable late loading on model 79 (stable fixes). - x86/microcode/intel: Extend BDW late-loading further with LLC size check (stable fixes). - x86/microcode/intel: Extend BDW late-loading with a revision check (stable fixes). - x86/mm, mm/hwpoison: Clear PRESENT bit for kernel 1:1 mappings of poison pages (stable fixes). - x86/mm, mm/hwpoison: Don't unconditionally unmap kernel 1:1 pages (stable fixes). - blacklist.conf: - Refresh patches.arch/x86-cpufeatures-add-amd-feature-bits-for-speculation-control.patch. - Refresh patches.arch/x86-cpufeatures-clean-up-spectre-v2-related-cpuid-flags.patch. - commit 6fad1e8- HID: multitouch: Support PTP Stick and Touchpad device (bsc#1085535). - commit 121a18f- blacklist.conf: arm64: ignore compiler warning fix - commit f435aeb- HID: quirks: Fix keyboard + touchpad on Toshiba Click Mini not working (bsc#1087092). - commit c28bdad- Fix encryption labels and lengths for SMB3.1.1 (bsc#1085536). - commit 1064d6b- HID: multitouch: Only look at non touch fields in first packet of a frame (bsc#1087092). - commit d86f5f8- Fix SMB3.1.1 guest authentication to Samba (bsc#1085536). - commit 1a6f5eb- SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags (bsc#1085536). - commit b7e7367- SMB3: handle new statx fields (bsc#1085536). - commit 137a353- SMB: Validate negotiate (to protect against downgrade) even if signing off (bsc#1085536). - commit 4cd7fa4- SMB3: Warn user if trying to sign connection that authenticated as guest (bsc#1085536). - commit 17be9ec- PCMCIA / PM: Avoid noirq suspend aborts during suspend-to-idle (bsc#1087092). - commit c4ccc7e- Refresh patches.suse/0001-lan78xx-Connect-phy-early.patch. - commit 1f9e0fb- arm64: assembler: Change order of macro arguments in phys_to_ttbr (bsc#1087414). - commit 50ba314- net/mlx4_core: Fix memory leak while delete slave's resources (bsc#1046300 FATE#322946). - net/mlx4_en: Fix mixed PFC and Global pause user control requests (bsc#1046299 FATE#322947). - net/mlx5e: Avoid using the ipv6 stub in the TC offload neigh update path (bsc#1046303 FATE#322944). - net/mlx5e: Fix memory usage issues in offloading TC flows (bsc#1046303 FATE#322944). - net/mlx5e: Fix traffic being dropped on VF representor (bsc#1046303 FATE#322944). - net/mlx5e: Don't override vport admin link state in switchdev mode (bsc#1046303 FATE#322944). - RDMA/ucma: Check that device exists prior to accessing it (bsc#1046306 FATE#322942). - RDMA/ucma: Check that device is connected prior to access it (bsc#1046306 FATE#322942). - RDMA/qedr: Fix QP state initialization race (bsc#1050545 FATE#322893). - RDMA/qedr: Fix rc initialization on CNQ allocation failure (bsc#1050545 FATE#322893). - RDMA/qedr: fix QP's ack timeout configuration (bsc#1050545 FATE#322893). - bnxt_en: Check valid VNIC ID in bnxt_hwrm_vnic_set_tpa() (bsc#1050242 FATE#322914). - RDMA/ucma: Ensure that CM_ID exists prior to access it (bsc#1046306 FATE#322942). - RDMA/ucma: Fix use-after-free access in ucma_close (bsc#1046306 FATE#322942). - RDMA/ucma: Fix access to non-initialized CM_ID object (bsc#1046306 FATE#322942). - commit bacc3ae- net/mlx5e: Sync netdev vxlan ports at open (bsc#1046303 FATE#322944). - RDMA/core: Do not use invalid destination in determining port reuse (bsc#1046306 FATE#322942). - IB/mlx5: Fix integer overflows in mlx5_ib_create_srq (bsc#1046305 FATE#322943). - IB/mlx5: Fix incorrect size of klms in the memory region (bsc#1046305 FATE#322943). - commit 78a69dd- net/mlx5: Make eswitch support to depend on switchdev (bsc#1046305 FATE#322943). - RDMA/rdma_cm: Fix use after free race with process_one_req (bsc#1046306 FATE#322942). - RDMA/ucma: Correct option size check using optlen (bsc#1046306 FATE#322942). - RDMA/ucma: Check AF family prior resolving address (bsc#1046306 FATE#322942). - RDMA/ucma: Don't allow join attempts for unsupported AF family (bsc#1046306 FATE#322942). - IB/mlx5: Fix out-of-bounds read in create_raw_packet_qp_rq (bsc#1046305 FATE#322943). - commit 9a507f9- Move a few upstreamed i915 patches into sorted section - commit 31b54c4- Re-sorted sorted section. - Refresh patches.arch/powerpc-64s-Fix-NULL-AT_BASE_PLATFORM-when-using-DT-.patch. - Refresh patches.arch/powerpc-64s-Fix-lost-pending-interrupt-due-to-race-c.patch. - Refresh patches.arch/powerpc-mm-Add-tracking-of-the-number-of-coprocessor.patch. - Refresh patches.arch/powerpc-mm-radix-Remove-unused-code.patch. - Refresh patches.drivers/drm-i915-Fix-DPLCLKA_CFGCR0-bits-for-Port-F. - Refresh patches.drivers/drm-i915-For-HPD-connected-port-use-hpd_pin-instead-. - Refresh patches.drivers/drm-i915-cnl-Add-AUX-F-support. - Refresh patches.drivers/drm-i915-cnl-Add-Cannonlake-PCI-IDs-for-another-SKU. - Refresh patches.drivers/drm-i915-cnl-Add-HPD-support-for-Port-F. - Refresh patches.drivers/drm-i915-cnl-Add-Port-F-definition. - Refresh patches.drivers/drm-i915-cnl-Add-right-GMBUS-pin-number-for-HDMI-on-. - Refresh patches.drivers/drm-i915-cnl-Enable-DDI-F-on-Cannonlake. - Refresh patches.drivers/drm-i915-cnl-Extend-Wa-1178-to-Aux-F. - Refresh patches.drivers/drm-i915-cnl-Fix-DP-max-rate-for-Cannonlake-with-por. - Refresh patches.drivers/drm-i915-cnl-Fix-_CNL_PORT_TX_DW2_LN0_F-definition. - Refresh patches.drivers/drm-i915-cnl-Fix-aux-selection-for-WA-1178. - Refresh patches.drivers/drm-i915-cnl-WaPipeControlBefore3DStateSamplePattern. - Refresh patches.drivers/drm-i915-cnl-apply-Display-WA-1178-to-fix-type-C-don. - Refresh patches.drivers/drm-i915-dmc-DMC-1.07-for-Cannonlake. - Refresh patches.drivers/drm-i915-dp-abstract-rate-array-length-limiting. - Refresh patches.drivers/drm-i915-dp-clean-up-source-rate-limiting-for-cnl. - Refresh patches.drivers/drm-i915-dp-limit-DP-link-rate-based-on-VBT-on-CNL. - commit 7eebb19- powerpc/kexec_file: Fix error code when trying to load kdump kernel (bsc#1065729). - powerpc: Fix invalid use of register expressions (bsc#1065729). - commit 7f76cbc- drm/i915: Fix hibernation with ACPI S0 target state (bsc#1051510). - drm/i915/execlists: Use a locked clear_bit() for synchronisation with interrupt (bsc#1051510). - drm/i915: Wrap engine->schedule in RCU locks for set-wedge protection (bsc#1051510). - drm/i915/psr: Check for the specific AUX_FRAME_SYNC cap bit (bsc#1051510). - drm/i915: Correctly handle limited range YCbCr data on VLV/CHV (bsc#1051510). - ALSA: pcm: Use dma_bytes as size parameter in dma_mmap_coherent() (bsc#1051510). - ASoC: mt8173-rt5650: fix child-node lookup (bsc#1051510). - commit 2b920b8- Preliminary patch sort and update - commit 7e40132- blacklist.conf: Update drm and ath9k blacklist - commit cd79980- arm64: mm: ignore memory above supported physical address size (bsc#1087414). - commit 492164f- arm64: fix comment above tcr_compute_pa_size (bsc#1087414). - commit 084a935- KVM: arm/arm64: fix HYP ID map extension to 52 bits (bsc#1087414). - commit 816eb92- arm64: fix ID map extension to 52 bits (bsc#1087414). - commit 08c26ef- objtool: Fix 32-bit build (bnc#1058115 git-fixes). - commit 17df039- acpi, numa: fix pxm to online numa node associations (bsc#1087144). - commit cc55a09- Refresh patches.arch/powerpc-64s-Fix-NULL-AT_BASE_PLATFORM-when-using-DT-.patch. - Refresh patches.arch/powerpc-64s-Fix-lost-pending-interrupt-due-to-race-c.patch. - Refresh patches.arch/powerpc-mm-Add-tracking-of-the-number-of-coprocessor.patch. - Refresh patches.arch/powerpc-mm-radix-Remove-unused-code.patch. - commit 8e8e208- ppc64le: reliable stacktrace: fix .text check (bsc#1087458). - commit 1aa954a- ppc64le: reliable stacktrace: fix stacktrace for idle tasks (bsc#1087458). - commit 5938588- x86/entry/64: Don't use IST entry for #BP stack (bsc#1087088). - commit 10d3c90- posix-timers: Protect posix clock array access against speculation (bnc#1081358 CVE-2017-5715). - commit 5a1acc8- KABI: cpu/hotplug: provide the old get|put_online_cpus() (bsc#1087405). - commit f687c6d- Import kabi files from RC2 - commit 3f5879f- run series_sort.py - commit d353f7c- powerpc: Don't call lockdep_assert_cpus_held() from arch_update_cpu_topology() (bsc#1087405). - workqueue: Work around edge cases for calc of pool's cpumask (bsc#1087405). - powerpc: Only obtain cpu_hotplug_lock if called by rtasd (bsc#1087405). Refresh patches.arch/powerpc-numa-Invalidate-numa_cpu_lookup_table-on-cpu.patch. - cpu/hotplug: Convert hotplug locking to percpu rwsem (bsc#1087405). - stop_machine: Provide stop_machine_cpuslocked() (bsc#1087405). - cpu/hotplug: Provide lockdep_assert_cpus_held() (bsc#1087405). - cpu/hotplug: Provide cpus_read|write_[un]lock() (bsc#1087405). - commit 47384e4- ipc/shm.c: add split function to shm_vm_ops (bsc#1052766). - commit 4d132c0- dax: fix vma_is_fsdax() helper (bsc#1052766). - commit b56bd6f- Run series_sort.py: patches.arch/powerpc-64s-Fix-NULL-AT_BASE_PLATFORM-when-using-DT-.patch. patches.arch/powerpc-64s-Fix-lost-pending-interrupt-due-to-race-c.patch. patches.arch/powerpc-mm-Add-tracking-of-the-number-of-coprocessor.patch. patches.arch/powerpc-mm-radix-Remove-unused-code.patch. - commit d6d2551- blacklist.conf: config only - commit 80e80db- HID: wacom: generic: Recognize WACOM_HID_WD_PEN as a type of pen collection (bsc#1085539). - commit 45e56be- HID: hid-elecom: extend to fix descriptor for HUGE trackball (bsc#1085536). - commit 31aa2e9- Update config files. - commit f6b4573- HID: usbhid: fix out-of-bounds bug (bsc#1085536). - commit 8c5a469- arm64: Fix TTBR + PAN + 52-bit PA logic in cpu_do_switch_mm (bsc#1087414). - commit 78c2b65- HID: wacom: Always increment hdev refcount within wacom_get_hdev_data (bsc#1085536). - commit 928bfef- arm64: enable 52-bit physical address support (bsc#1087414). - commit 19c75f1- HID: wacom: generic: Clear ABS_MISC when tool leaves proximity (bsc#1085536). - commit 52ce6f1- HID: wacom: generic: Send MSC_SERIAL and ABS_MISC when leaving prox (bsc#1085536). - commit 7d14c4c- HID: i2c-hid: allocate hid buffers for real worst case (bsc#1085536). - commit 8469205- HID: wacom: Correct coordinate system of touchring and pen twist (bsc#1085536). - HID: wacom: Properly report negative values from Intuos Pro 2 Bluetooth (bsc#1085536). - commit 3415c32- HID: wacom: leds: Don't try to control the EKR's read-only LEDs (bsc#1085536). - commit 9dd7e47- HID: wacom: bits shifted too much for 9th and 10th buttons (bsc#1085536). - commit 981162e- isdn/i4l: fetch the ppp_write buffer in one shot (bsc#1085536). - commit b48a9e9- arm64: allow ID map to be extended to 52 bits (bsc#1087414). - commit 6c68c5d- arm64: handle 52-bit physical addresses in page table entries (bsc#1087414). - commit b24364b- ohci-hcd: Fix race condition caused by ohci_urb_enqueue() and io_watchdog_func() (bsc#1087092). - commit 9648543- arm64: don't open code page table entry creation (bsc#1087414). - commit d140261- arm64: head.S: handle 52-bit PAs in PTEs in early page table setup (bsc#1087414). - Delete out-of-tree patch patches.suse/arm64-add-PTE_ADDR_MASK.patch - commit a185a0c- arm64: handle 52-bit addresses in TTBR (bsc#1087414). - Refresh patches.suse/0010-arm64-Move-post_ttbr_update_workaround-to-C-code.patch. - Refresh patches.suse/0012-arm64-KVM-Use-per-CPU-vector-when-BP-hardening-is-en.patch - Refresh patches.suse/arm64-Add-software-workaround-for-Falkor-erratum-104.patch - Refresh patches.suse/v2-4-9-arm64-kpti-Add---enable-callback-to-remap-swapper-using-nG-mappings.patch. - commit 2db3dd8- mfd: lpc_ich: Avoton/Rangeley uses SPI_BYT method (bsc#1051510). - commit 4767d8c- ima/policy: fix parsing of fsuuid (bsc#1051510). - ima: relax requiring a file signature for new files with zero length (bsc#1051510). - commit 2cdd97f- arm64: limit PA size to supported range (bsc#1087414). - commit 70ee670- arm64: add kconfig symbol to configure physical address size (bsc#1087414). - commit d185b34- earlycon: add reg-offset to physical address before mapping (bsc#1051510). - commit 4cbd533- brcmfmac: fix P2P_DEVICE ethernet address generation (bsc#1051510). - commit f59d048- Bluetooth: btusb: Add Dell OptiPlex 3060 to btusb_needs_reset_resume_table (bsc#1051510). - commit f568264- Preliminary series sort / update - commit 50c4a36- usb: Don't print a warning if interface driver rebind is deferred at resume (bsc#1087211). - commit a2c4fdd- USB: usbip: remove useless call in usbip_recv (bsc#1087092). - commit 01880ff- Input: matrix_keypad - fix race when disabling interrupts (bsc#1051510). - commit e958019- Drivers: hv: vmbus: Fix ring buffer signaling (fate#323887). - hv_netvsc: common detach logic (fate#323887). - hv_netvsc: change GPAD teardown order on older versions (fate#323887). - hv_netvsc: use RCU to fix concurrent rx and queue changes (fate#323887). - hv_netvsc: disable NAPI before channel close (fate#323887). - hv_netvsc: fix locking during VF setup (fate#323887). - hv_netvsc: fix locking for rx_mode (fate#323887). - hv_netvsc: avoid repeated updates of packet filter (fate#323887). - hv_netvsc: fix filter flags (fate#323887). - scsi: storvsc: Spread interrupts when picking a channel for I/O requests (fate#323887). - hv_netvsc: propagate rx filters to VF (fate#323887). - hv_netvsc: filter multicast/broadcast (fate#323887). - hv_netvsc: defer queue selection to VF (fate#323887). - hv_netvsc: use napi_schedule_irqoff (fate#323887). - hv_netvsc: fix race in napi poll when rescheduling (fate#323887). - hv_netvsc: cancel subchannel setup before halting device (fate#323887). - hv_netvsc: fix error unwind handling if vmbus_open fails (fate#323887). - hv_netvsc: only wake transmit queue if link is up (fate#323887). - hv_netvsc: avoid retry on send during shutdown (fate#323887). - scsi: storvsc: Increase cmd_per_lun for higher speed devices (fate#323887). - commit c2c371a- rtlwifi: rtl8723be: Fix loss of signal (bsc#1051510). - mmc: dw_mmc: fix falling from idmac to PIO mode when dw_mci_reset occurs (bsc#1051510). - mmc: core: Disable HPI for certain Micron (Numonyx) eMMC cards (bsc#1051510). - mmc: dw_mmc: Avoid accessing registers in runtime suspended state (bsc#1051510). - mmc: sdhci-pci: Fix S0i3 for Intel BYT-based controllers (bsc#1051510). - mmc: avoid removing non-removable hosts during suspend (bsc#1051510). - mmc: mmc_test: Ensure command queue is disabled for testing (bsc#1051510). - commit f5a53da- ALSA: aloop: Fix access to not-yet-ready substream via cable (bsc#1051510). - ALSA: aloop: Sync stale timer before release (bsc#1051510). - ALSA: hda/realtek - Fix speaker no sound after system resume (bsc#1051510). - ALSA: hda/realtek - Fix Dell headset Mic can't record (bsc#1051510). - ALSA: hda - Force polling mode on CFL for fixing codec communication (bsc#1051510). - ALSA: usb-audio: Fix parsing descriptor of UAC2 processing unit (bsc#1051510). - ALSA: hda/realtek - Always immediately update mute LED with pin VREF (bsc#1051510). - drm: udl: Properly check framebuffer mmap offsets (bsc#1051510). - drm: Reject getfb for multi-plane framebuffers (bsc#1051510). - drm/vmwgfx: Fix a destoy-while-held mutex problem (bsc#1051510). - drm/vmwgfx: Fix black screen and device errors when running without fbdev (bsc#1051510). - drm/radeon: Don't turn off DP sink when disconnected (bsc#1051510). - commit f5e4005- btrfs: add missing initialization in btrfs_check_shared (bsc#1087185). - commit 0dc4dff- mei: me: allow runtime pm for platform with D0i3 (bsc#1087204). - commit 91f0e9a- usbip: keep usbip_device sockfd state in sync with tcp_socket (bsc#1087092). - commit a9c0193- CIFS: zero sensitive data when freeing (bsc#1087092). - commit 342e490- usbip: list: don't list devices attached to vhci_hcd (bsc#1087092). - commit 80e4e06- usbip: prevent bind loops on devices attached to vhci_hcd (bsc#1087092). - commit 1b1531b- cifs: Fix autonegotiate security settings mismatch (bsc#1087092). - commit 7bd8fc2- cifs: Fix missing put_xid in cifs_file_strict_mmap (bsc#1087092). - commit 15a395c- cifs: fix NULL deref in SMB2_read (bsc#1085539). - commit a05b05d- cifs: check MaxPathNameComponentLength != 0 before using it (bsc#1085536). - commit 5af1893- usbip: vudc_tx: fix v_send_ret_submit() vulnerability to null xfer buffer (bsc#1085539). - commit cba3218- cifs: Select all required crypto modules (bsc#1085536). - commit 23399f9- cifs: release auth_key.response for reconnect (bsc#1085536). - commit 0221ea3- cifs: release cifs root_cred after exit_cifs (bsc#1085536). - commit 5fcee93- cifs: check rsp for NULL before dereferencing in SMB2_open (bsc#1085536). - commit bb4352e- usbip: remove kernel addresses from usb device and urb debug msgs (bsc#1085539). - usbip: fix vudc_rx: harden CMD_SUBMIT path to handle malicious input (bsc#1085539). - commit 6015ddb- usbip: fix usbip bind writing random string after command in match_busid (bsc#1085539). - commit 251451b- powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs (bsc#1065729). - commit 5dca109- usbip: prevent leaking socket pointer address in messages (bsc#1085539). - commit c149b42- powerpc/livepatch: Fix livepatch stack access (bsc#1086660). - commit 37df8c9- usbip: stub: stop printing kernel pointer addresses in messages (bsc#1085539). - commit 9f24363- usbip: vhci: stop printing kernel pointer addresses in messages (bsc#1085539). - commit dbda174- blacklist.conf: we do not build the tools - commit 24b7f9c- Update patches.arch/powerpc-tm-Flush-TM-only-if-CPU-has-TM-feature.patch (bsc#1075746, bsc#1087231, CVE-2018-1091). - commit 7102e9a- blacklist.conf: false positive - commit d595303- usbnet: fix alignment for frames with no ethernet header (bsc#1085539). - Refresh patches.suse/0002-Add-a-void-suse_kabi_padding-placeholder-to-some-USB.patch. - commit 45660b1- uwb: properly check kthread_run return value (bsc#1085536). - commit f546456- uwb: ensure that endpoint is interrupt (bsc#1085536). - commit 5aba24e- xhci: Don't add a virt_dev to the devs array before it's fully allocated (bsc#1085539). - commit df88c42- xhci: Cleanup current_cmd in xhci_cleanup_command_queue() (bsc#1085536). - commit b7e5b94- xhci: Identify USB 3.1 capable hosts by their port protocol capability (bsc#1085536). - commit bd7eec8- Revert "xhci: Limit USB2 port wake support for AMD Promontory hosts" (bsc#1085536). - commit 6bc0fd3- xhci: Fix sleeping with spin_lock_irq() held in ASmedia 1042A workaround (bsc#1085536). - commit bb7b728- staging: ncpfs: memory corruption in ncp_read_kernel() (bsc#1086162, CVE-2018-8822). - commit 4da6eb3- /pirq: fix error path cleanup when binding MSIs (bnc#1065600). - commit 01219ee- x86/mm: Fix {pmd,pud}_{set,clear}_flags() (bnc#1065600). - commit f6df79c- xen/balloon: Mark unallocated host memory as UNUSABLE (bnc#1065600). - commit d2ace39- x86-64/Xen: eliminate W+X mappings (bnc#1065600). - commit df523b5- xhci: fix wrong endpoint ESIT value shown in tracing (bsc#1085536). - commit 33411cf- xhci: fix finding correct bus_state structure for USB 3.1 hosts (bsc#1085536). - commit 85ca58c- blacklist.conf: we do not buil the tools - commit a686bd3- uas: fix comparison for error code (bsc#1051943). - commit 3e3561a- usb: uas: unconditionally bring back host after reset (bsc#1051943). - commit 323a206- blacklist.conf: patch changes only logging - commit ac5efdb- blacklist.conf:subsystem not used - commit 695a5dd- net: ibm: ibmveth: constify vio_device_id (bsc#1061843). - ibmveth: properly unwind on init errors (bsc#1061843). - net: ibm: ibmveth: constify dev_pm_ops structures (bsc#1061843). - commit da73308- USB: serial: io_edgeport: fix possible sleep-in-atomic (bsc#1085539). - usb: misc: usb3503: make sure reset is low for at least 100us (bsc#1085539). - commit 4030478- USB: serial: cp210x: add new device ID ELV ALC 8xxx (bsc#1085539). - commit 885cc1c- Update patches.drivers/nvmet_fc-prevent-new-io-rqsts-in-possible-isr-comple.patch (bsc#1083575). - commit 44b0542- USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ (bsc#1085539). - commit de14177- blacklist.conf: subsystem not used - commit 0406ef2- USB: fix usbmon BUG trigger (bsc#1085539). - commit 4896206- usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201 (bsc#1085539). - commit 4a1b6e3- USB: serial: ftdi_sio: add id for Airbus DS P8GR (bsc#10855539). - commit 8912afa- USB: serial: option: adding support for YUGA CLM920-NC5 (bsc#1085539). - commit 651ceb3- USB: serial: qcserial: add Sierra Wireless EM7565 (bsc#1085539). - commit 814b845- USB: serial: option: add support for Telit ME910 PID 0x1101 (bsc#1085539). - commit ccecbba- blacklist.conf: not needed in our configuration - commit 192f439- usb: Add device quirk for Logitech HD Pro Webcam C925e (bsc#1085539). - commit 2db4499- usb: add RESET_RESUME for ELSA MicroLink 56K (bsc#1085539). - commit fdc4f36- sched/numa: avoid trapping faults and attempting migration of file-backed dirty pages (bnc#1064414 reduce unnecessary migrations and numab conflicts). - commit ca8fdbf- audit: fix memleak in auditd_send_unicast_skb (bsc#1086997). - commit a70d9a2- crypto: dh - fix memleak in setkey (bsc#1086994). - commit e6b64ce- sched/sysctl: Check user input value of sysctl_sched_time_avg (bsc#1086946). - commit b6afd97- brcmsmac: allocate ucode with GFP_KERNEL (bsc#1085174). - commit f82808c- crypto: ccp - add check to get PSP master only when PSP is detected (bsc#1063068). - KVM: x86: Fix device passthrough when SME is active (bsc#1084912). - x86/efi: Free efi_pgd with free_pages() (git-fixes d9e9a6418065). - x86/vsyscall/64: Use proper accessor to update P4D entry (git-fixes 49275fef986a). - scripts/git_sort/git_sort.py: - commit 0188aa6- blacklist c179ea270100 powerpc/kprobes: Fix warnings from __this_cpu_read() on preempt kernels 94d3084a0f8c powerpc/32s: Fix compile error with CONFIG_PPC_PTDUMP - commit f6243d1- powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access (bsc#1065729). - commit b6d0e6a- usb: dwc3: of-simple: fix missing clk_disable_unprepare (bsc#1085539). - commit c383569- usb: dwc3: gadget: Wait longer for controller to end command processing (bsc#1085539). - commit ccd154d- usb: xhci: fix TDS for MTK xHCI1.1 (bsc#1085539). - commit 9eac7a6- USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID (bsc#1085539). - commit 23cc14b- Refresh patches.drivers/ibmvnic-Potential-NULL-dereference-in-clean_one_tx_p.patch. - commit c83e9b6- usb: musb: da8xx: fix babble condition handling (bsc#1085539). - commit 1be976d- drm/amdgpu: fix prime teardown order (bsc#1051510). - watchdog: hpwdt: Remove legacy NMI sourcing (bsc#1051510). - Revert "drm/radeon/pm: autoswitch power state when in balanced mode" (bsc#1051510). - PM / runtime: Update links_count also if !CONFIG_SRCU (bsc#1051510). - watchdog: imx2_wdt: restore previous timeout after suspend+resume (bsc#1051510). - watchdog: hpwdt: fix unused variable warning (bsc#1051510). - watchdog: hpwdt: Check source of NMI (bsc#1051510). - watchdog: hpwdt: SMBIOS check (bsc#1051510). - watchdog: Fix potential kref imbalance when opening watchdog (bsc#1051510). - media: [RESEND] media: dvb-frontends: Add delay to Si2168 restart (bsc#1051510). - media: bt8xx: Fix err 'bt878_probe()' (bsc#1051510). - PCI: designware-ep: Fix ->get_msi() to check MSI_EN bit (bsc#1051510). - PCI: endpoint: Fix find_first_zero_bit() usage (bsc#1051510). - vgacon: Set VGA struct resource types (bsc#1051510). - pinctrl: Really force states during suspend/resume (bsc#1051510). - pinctrl: intel: Initialize GPIO properly when used through irqchip (bsc#1051510). - agp/intel: Flush all chipset writes after updating the GGTT (bsc#1051510). - ath10k: handling qos at STA side based on AP WMM enable/disable (bsc#1051510). - rtlwifi: rtl_pci: Fix the bug when inactiveps is enabled (bsc#1051510). - Bluetooth: btqcomsmd: Fix skb double free corruption (bsc#1051510). - Bluetooth: hci_qca: Avoid setup failure on missing rampatch (bsc#1051510). - crypto: cavium - fix memory leak on info (bsc#1051510). - PM / devfreq: Propagate error from devfreq_add_device() (bsc#1051510). - pinctrl: cherryview: Mask all interrupts on Intel_Strago based systems (bsc#1051510). - drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU (bsc#1051510). - PM / runtime: Fix handling of suppliers with disabled runtime PM (bsc#1051510). - crypto: brcm - Explicity ACK mailbox message (bsc#1051510). - rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_disassoc_cmd (bsc#1051510). - PM: core: Fix device_pm_check_callbacks() (bsc#1051510). - commit 6b1c180- usb: xhci: fix panic in xhci_free_virt_devices_depth_first (bsc#1085539). - commit 821249d- qed: Fix MPA unalign flow in case header is split across two packets (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - bnxt_en: Return standard Linux error codes for hwrm flow cmds (bsc#1050242 FATE#32291). - bnxt_en: Remove unwanted ovs-offload messages in some conditions (bsc#1050242 FATE#32291). - infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks (bsc#1050244 FATE#322915). - infiniband: qplib_fp: fix pointer cast (bsc#1050244 FATE#322915). - commit 72c0fdb- blacklist.conf: subsystem not used - commit c778a11- blacklist.conf: subsystem not used - commit 11379a6- blacklist.conf: subsystem not used - commit 1fab475- blacklist.conf: subsystem not used - commit 506214b- blacklist.conf: subsystem not used - commit 5d07732- USB: serial: usb_debug: add new USB device id (bsc#1085539). - USB: serial: option: add Quectel BG96 id (bsc#1085539). - commit c98442a- svcrdma: Estimate Send Queue depth properly (bsc#1081515). - svcrdma: Limit RQ depth (bsc#1081515). - commit 8eb6546- usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub (bsc#1085539). - commit 4176e03- blacklist.conf: not applicable change to Makefiles - commit a0544d1- usb: hub: Cycle HUB power when initialization fails (bsc#1085539). - commit d1a83ef- PCI/DPC: Enable DPC only if AER is available (bsc#1082368). - commit 654d5a4- powerpc: System reset avoid interleaving oops using die synchronisation (bsc#1086791). - commit 715df69- powerpc/crash: Remove the test for cpu_online in the IPI callback (bsc#1086791). - powerpc: Do not send system reset request through the oops path (bsc#1086791). - commit fe60432- get_fs_type: Validate fs type string argument (bsc#1082943). - commit 709e045- dcache: Add cond_resched in shrink_dentry_list (bsc#1086194). - commit 413a765- net: phy: mdio-bcm-unimac: fix potential NULL dereference in unimac_mdio_probe() (bsc#1084829 CVE-2018-8043). - commit 4836f39- Fix whitespace breakage in series.conf Commit ceb4998ac05a ("s390: scrub registers on kernel entry and KVM exit (LTC#164304, bsc#1084911).") changed the first line of series.conf. Incidentally, the scripts in scripts/git_sort/quilt-mode.sh rely on this line being present for the replacement (via the modified quilt) of the simple series file in the expanded tree with a link to series.conf. - commit d49c5e2- Refresh patches.drivers/0001-module-warn-if-module-init-probe-takes-long.patch. - commit caebf3e- KVM: PPC: Book3S HV: Disable tb_offset (bsc#1086196). - commit 529e36c- armv7hl: Disable uacces with memcpy (boo#1080435) - commit 4e513aa- drm/amdgpu/dce: Don't turn off DP sink when disconnected (bsc#1051510). - commit 15ae848- drm/i915: Disable tv output on i9x5gm (bsc#1086657). - drm/i915: Specify which engines to reset following semaphore/event lockups (FATE#322643 bsc#1055900). - commit 0838c05- powerpc: Remove unused flush_dcache_phys_range() (bsc#1065729). - powerpc/mm/radix: Remove unused code (bsc#1055186, fate#323286, git-fixes). - powerpc/mm: Add tracking of the number of coprocessors using a context (bsc#1055014). - powerpc/64s: Fix lost pending interrupt due to race causing lost update to irq_happened (bsc#1065729). - commit ff3617a- drm/i915/dp: Write to SET_POWER dpcd to enable MST hub (bsc#1051510). - ACPI / watchdog: Fix off-by-one error at resource assignment (bsc#1073960). - Bluetooth: btusb: Fix quirk for Atheros 1525/QCA6174 (bsc#1082504). - Bluetooth: btusb: Remove Yoga 920 from the btusb_needs_reset_resume_table (bsc#1051510). - commit ce5f883- Preliminary patch sort / update (again) - commit 805d5d7- ibmvnic: Potential NULL dereference in clean_one_tx_pool() (bsc#1085224, git-fixes). - commit 7acb565- supported.conf: Add AMDGPU driver (bsc#1069343) - commit 591ff59- hugetlbfs: check for pgoff value overflow (bnc#1084353, CVE-2018-7740). - commit 621f100- test_bpf: Fix testing with CONFIG_BPF_JIT_ALWAYS_ON=y on other arches (bsc#1083647). - commit 4714d41- Move bpf-introduce-ARG_PTR_TO_MEM_OR_NULL.patch to the sorted section The patch was added to the KABI section mistakenly. - commit 638bcf0- USB: Fix off by one in type-specific length check of BOS SSP capability (bsc#1085539). - commit f57a20f- xfs: disable per-inode DAX flag (bsc#1085535). - commit 30f0d9f- Btrfs: fix blk_status_t/errno confusion (bsc#1086457). - commit 25d99b4- build: fix incompatible pointer warnings with PROVE_RCU=y (bsc#1086527). - Refresh patches.fixes/tcp-dccp-fix-lockdep-splat-in-inet_csk_route_req.patch. - Refresh patches.fixes/tcp-dccp-fix-other-lockdep-splats-accessing-ireq_opt.patch. - commit 956c819- uas: ignore UAS for Norelsys NS1068(X) chips (bsc#1085539). - commit e48778e- uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices (bsc#1085539). - commit 20d01c9- USB: core: Add type-specific length check of BOS descriptors (bsc#1085539). - commit 4eca3f0- usb: host: fix incorrect updating of offset (bsc#1085539). - commit 1c87c04- USB: ulpi: fix bus-node lookup (bsc#1085539). - commit 4dc623a- config: update product ID and supported state for openSUSE Leap 15.0 - SUSE_PRODUCT_OPENSUSE_LEAP=y - SUSE_KERNEL_SUPPORTED=n - commit 48e5be3- USB: usbfs: Filter flags passed in from user space (bsc#1085539). - commit 489cccb- blacklist.conf: subsystem not used - commit 371489f- USB: usbfs: compute urb->actual_length for isochronous (bsc#1085539). - commit 5677c73- USB: serial: Change DbC debug device binding ID (bsc#1085539). - commit 2d8a16d- USB: early: Use new USB product ID and strings for DbC device (bsc#1085539). - commit 6d94237- USB: Add delay-init quirk for Corsair K70 LUX keyboards (bsc#1085539). - commit 8a8f7d0- USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update (bsc#1085539). - commit d2e8e71- USB: serial: metro-usb: stop I/O after failed open (bsc#1085539). - commit 1ee3a90- ath10k: fix invalid STS_CAP_OFFSET_MASK (bsc#1051510). - ath10k: update tdls teardown state to target (bsc#1051510). - commit 76d759a- USB: serial: garmin_gps: fix memory leak on probe errors (bsc#1085539). - commit 313cabb- ASoC: wm_adsp: For TLV controls only register TLV get/set (bsc#1051510). - ASoC: sgtl5000: Fix suspend/resume (bsc#1051510). - ASoC: rt5651: Fix regcache sync errors on resume (bsc#1051510). - ASoC: nau8825: fix issue that pop noise when start capture (bsc#1051510). - ASoC: rsnd: fixup ADG register mask (bsc#1051510). - commit 775374f- USB: serial: garmin_gps: fix I/O after failed probe and remove (bsc#1085539). - commit 687813c- usb: phy: tahvo: fix error handling in tahvo_usb_probe() (bsc#1085539). - commit 72163b1- drm/nouveau/kms: remove call to drm_crtc_vblank_off() during unload/suspend (FATE#322643,bsc#1055900). - commit 7187702- drm/nouveau/kms/nv50: update vblank state in response to modeset actions (FATE#322643,bsc#1055900). - Refresh patches.drivers/drm-vblank-Consistent-drm_crtc_-prefix. - commit d257cff- Preliminary sort/update - commit edc6792- usb: mtu3: fix error return code in ssusb_gadget_init() (bsc#1085539). - commit 122a412- usb: xhci: Return error when host is dead in xhci_disable_slot() (bsc#1085539). - commit 191f47b- usb: hub: Allow reset retry for USB2 devices on connect bounce (bsc#1085536). - commit 94358bf- USB: serial: metro-usb: add MS7820 device id (bsc#1085536). - commit 5244c71- usb: quirks: add quirk for WORLDE MINI MIDI keyboard (bsc#1085536). - commit 65b36d5- Refresh patches.drivers/scsi-qla2xxx-Remove-FC_NO_LOOP_ID-for-FCP-and-FC-NVM.patch. - commit 5dec0d7- vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets (bsc#1085535). - commit 9c22a97- btrfs: minimal conversion to errseq_t writeback error reporting on fsync (bsc#1086149 bsc#1086285). - xfs: minimal conversion to errseq_t writeback error reporting (bsc#1086285). - ext4: use errseq_t based error handling for reporting data writeback errors (bsc#1086285). - fs: convert __generic_file_fsync to use errseq_t based reporting (bsc#1086149 bsc#1086285). - block: convert to errseq_t based writeback error tracking (bsc#1086285). - dax: set errors in mapping when writeback fails (bsc#1086149 bsc#1086285). - Documentation: flesh out the section in vfs.txt on storing and reporting writeback errors (bsc#1086285). - mm: set both AS_EIO/AS_ENOSPC and errseq_t in mapping_set_error (bsc#1086149 bsc#1086285). - commit 12c97b8- mm: don't TestClearPageError in __filemap_fdatawait_range (bsc#1086149 bsc#1086285). - commit 328af1b- mm: clear AS_EIO/AS_ENOSPC when writeback initiation fails (bsc#1086149 bsc#1086285). - jbd2: don't clear and reset errors after waiting on writeback (bsc#1086285). - buffer: set errors in mapping at the time that the error occurs (bsc#1086149 bsc#1086285). - fs: check for writeback errors after syncing out buffers in generic_file_fsync (bsc#1086149 bsc#1086285). - buffer: use mapping_set_error instead of setting the flag (bsc#1086149 bsc#1086285). - mm: fix mapping_set_error call in me_pagecache_dirty (bsc#1086149 bsc#1086285). - commit 09f9abc- usb: musb: sunxi: Explicitly release USB PHY on exit (bsc#1085536). - commit 04fa959- usb: musb: Check for host-mode using is_host_active() on reset interrupt (bsc#1085536). - commit 3803e19- usb: musb: musb_cppi41: Configure the number of channels for DA8xx (bsc#1085536). - commit 3bbded4- usb: musb: musb_cppi41: Fix cppi41_set_dma_mode() for DA8xx (bsc#1085536). - commit e037007- usb: musb: musb_cppi41: Fix the address of teardown and autoreq registers (bsc#1085536). - commit cd326ce- USB: musb: fix late external abort on suspend (bsc#1085536). - commit 76b398a- drm/nouveau: Merge pre/postclose hooks (FATE#322643 bsc#1055900). - commit 4be949d- USB: musb: fix session-bit runtime-PM quirk (bsc#1085536). - commit 83d81a2- usb: cdc_acm: Add quirk for Elatec TWN3 (bsc#1085536). - commit db32900- USB: devio: Revert "USB: devio: Don't corrupt user memory" (bsc#1085536). - commit b735c95- usb: xhci: Handle error condition in xhci_stop_device() (bsc#1085536). - commit 9884645- usb: xhci: Reset halted endpoint if trb is noop (bsc#1085536). - commit 2b4bd6f- usb: usbtest: fix NULL pointer dereference (bsc#1085536). - commit ddf19a6- blacklist.conf: subsystem not used - commit f6c209c- blacklist.conf: subsystem not used - commit c1380cf- usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet (bsc#1085536). - commit 08c1674- blacklist.conf: subsystem not used - commit 609c138- USB: serial: qcserial: add Dell DW5818, DW5819 (bsc#1085536). - commit 572bd85- USB: serial: cp210x: add support for ELV TFD500 (bsc#1085536). - commit 36d66d3- USB: serial: cp210x: fix partnum regression (bsc#1085536). - commit ef7a186- USB: serial: option: add support for TP-Link LTE module (bsc#1085536). - commit 7e4d166- USB: serial: ftdi_sio: add id for Cypress WICED dev board (bsc#1085536). - commit 60faefa- blacklist.conf: subsystem not used - commit 66cadf8- blacklist.conf: we do not compiler the driver these patches are for - commit 3dd4c55- blacklist.conf: update for minor bpf selftest Makefile change - commit 2b3dbb0- supported.conf: Enable s390-trng (bsc#1085820) - commit 5ced6c1- bpf: allow xadd only on aligned memory (bsc#1083647). - commit e79d0c8- bpf, arm64: fix out of bounds access in tail call (bsc#1083647). - commit 4b4e122- bpf: fix rcu lockdep warning for lpm_trie map_free callback (bsc#1083647). - commit 5acee86- bpf: fix memory leak in lpm_trie map_free callback function (bsc#1083647). - commit 22440c4- Btrfs: fix log replay failure after unlink and link combination (bsc#1086151). - Btrfs: fix log replay failure after linking special file and fsync (bsc#1086150). - commit 8ea5a6a- autofs: revert "autofs: take more care to not update last_used on path walk" (git-fixes). - commit 68bbdc6- blacklist.conf: Add some unwanted fixes. - commit 5c4df93- btrfs: fix error handling in free_log_tree (bsc#1086116). - commit 094871b- btrfs: defer adding raid type kobject until after chunk relocation (bsc#1086086). - btrfs: remove dead create_space_info calls (bsc#1086086). - btrfs: Remove redundant argument of __link_block_group (bsc#1086086). - btrfs: Refactor update_space_info (bsc#1086086). - btrfs: Separate space_info create/update (bsc#1086086). - commit 375db74- REVERT: btrfs: qgroup: Move half of the qgroup accounting time out of commit trans (bsc#1083684). - commit 0442bf4- seccomp: make function __get_seccomp_filter static (bsc#1051510). - commit 0b7ff10- rtc: set the alarm to the next expiring timer (bsc#1051510). - seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter() (bsc#1051510). - commit 9202bc2- PCI: dwc: Fix enumeration end when reaching root subordinate (bsc#1051510). - PCI: keystone: Fix interrupt-controller-node lookup (bsc#1051510). - PCI: iproc: Fix NULL pointer dereference for BCMA (bsc#1051510). - PCI: Disable MSI for HiSilicon Hip06/Hip07 only in Root Port mode (bsc#1051510). - mac80211: remove BUG() when interface type is invalid (bsc#1051510). - mac80211_hwsim: enforce PS_MANUAL_POLL to be set after PS_ENABLED (bsc#1051510). - iwlwifi: mvm: avoid dumping assert log when device is stopped (bsc#1051510). - mwifiex: cfg80211: do not change virtual interface during scan processing (bsc#1051510). - iwlwifi: mvm: rs: don't override the rate history in the search cycle (bsc#1051510). - PCI / PM: Force devices to D0 in pci_pm_thaw_noirq() (bsc#1051510). - PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD (bsc#1051510). - PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time (bsc#1051510). - PCI/ASPM: Deal with missing root ports in link state handling (bsc#1051510). - PCI/AER: Report non-fatal errors only to the affected endpoint (bsc#1051510). - PCI: Fix race condition with driver_override (bsc#1051510). - commit 9f73db8- drm/amdgpu:Always save uvd vcpu_bo in VM Mode (bsc#1051510). - drm/amdgpu:Correct max uvd handles (bsc#1051510). - drm/amdgpu: Notify sbios device ready before send request (bsc#1051510). - drm/amdgpu: fix KV harvesting (bsc#1051510). - drm/amdgpu: used cached pcie gen info for SI (v2) (bsc#1051510). - drm/amd/powerplay: fix power over limit on Fiji (bsc#1051510). - drm/nouveau: prefer XBGR2101010 for addfb ioctl (bsc#1051510). - drm/radeon: insist on 32-bit DMA for Cedar on PPC64/PPC64LE (bsc#1051510). - drm/amd/powerplay/smu7: allow mclk switching with no displays (bsc#1051510). - drm/amd/powerplay/vega10: allow mclk switching with no displays (bsc#1051510). - drm/amdkfd: Fix memory leaks in kfd topology (bsc#1051510). - drm/amdgpu: fix get_max_engine_clock_in_mhz (bsc#1051510). - drm/amdgpu: always cancel uvd idle handler in uvd suspend (bsc#1051510). - drm/amdgpu:fix virtual dce bug (bsc#1051510). - drm/edid: set ELD connector type in drm_edid_to_eld() (bsc#1051510). - drm/amdgpu: rename rdev to adev (bsc#1051510). - commit b85f5b3- x86/speculation: Remove Skylake C2 from Speculation Control microcode blacklist (bnc#1068032 bnc#1085823 CVE-2017-5715). - x86/spectre_v2: Don't check microcode versions when running under hypervisors (bnc#1068032 bnc#1085823 CVE-2017-5715). - x86/speculation: Correct Speculation Control microcode blacklist again (bnc#1068032 bnc#1085823 CVE-2017-5715). - x86/speculation: Update Speculation Control microcode blacklist (bnc#1068032 bnc#1085823 CVE-2017-5715). - commit 1b63bae- blacklist.conf: subsystem not used - commit ab9f3ef- USB: cdc-wdm: ignore -EPIPE from GetEncapsulatedResponse (bsc#1085536). - commit 8f1dae7- x86/enter: Use IBRS on syscall and interrupts (bsc#1068032 CVE-2017-5753). - x86/enter: Create macros to restrict/unrestrict Indirect Branch Speculation (bsc#1068032 CVE-2017-5753). - x86/idle: Control Indirect Branch Speculation in idle (bsc#1068032 CVE-2017-5753). - x86/speculation: Add inlines to control Indirect Branch Speculation (bsc#1068032 CVE-2017-5753). - x86/speculation: Add basic IBRS support infrastructure (bsc#1068032 CVE-2017-5753). - x86/spectre: Check CONFIG_RETPOLINE in command line parser (bnc#1068032 bnc#1085823 CVE-2017-5715). - commit d36b0df- USB: devio: Don't corrupt user memory (bsc#1085536). - commit b67cff4- USB: devio: Prevent integer overflow in proc_do_submiturb() (bnc#1085536). - commit 05a6bea- blacklist.conf: driver is not used - commit 9e98cbf- blacklist.conf: driver is not used - commit 5ab00b7- usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives (bsc#1085536). - commit 978c2cc- usb-storage: fix bogus hardware error messages for ATA pass-thru devices (bsc#1085536). - commit b53e42c- blacklist.conf: driver is not compiled - commit d28686d- usb: dwc3: ep0: fix DMA starvation by assigning req->trb on ep0 (bsc#1085536). - commit 3bc98c7- usb: host: xhci-plat: allow sysdev to inherit from ACPI (bsc#1085536). - commit f97459a- x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP (bnc#1068032 bnc#1085823 CVE-2017-5715). - commit 0e9f8e3- usb: pci-quirks.c: Corrected timeout values used in handshake (bsc#1085536). - commit dd7714b- usb: xhci: Free the right ring in xhci_add_endpoint() (bsc#1085336). - commit a4d34c5- x86/cpu/bugs: Make retpoline module warning conditional (bnc#1068032 CVE-2017-5715). - x86/speculation: Use IBRS if available before calling into firmware (bnc#1068032 CVE-2017-5715). - Refresh patches.arch/x86-cpufeatures-clean-up-spectre-v2-related-cpuid-flags.patch. This is only IBRS_FW from upstream. The out-of-tree IBRS proper will come as a separate PR later. (bnc#1085823) - commit 04d2542- usb: Increase quirk delay for USB devices (bsc#1085536). - commit 5e12030- KVM: s390: provide only a single function for setting the tod (fix SCK) (bsc#1085269). - commit 8b5d3bf- KVM: s390: consider epoch index on TOD clock syncs (bsc#1085269). - commit a15ff18- KVM: s390: consider epoch index on hotplugged CPUs (bsc#1085269). - commit 9a02e48- KVM: s390: take care of clock-comparator sign control (bsc#1085269). - commit 6c10fe8- series.conf: re-sort after script bugfix - commit 91f9daf- arm64: Run enable method for errata work arounds on late CPUs (bsc#1068032). - arm64: cpufeature: __this_cpu_has_cap() shouldn't stop early (bsc#1068032). - arm64: capabilities: Handle duplicate entries for a capability (bsc#1068032). - commit c010a8c- rpm/config.sh: Enable checking the sorted patches section of series.conf in pre-commit hook - commit f9b47cc- Refresh patches.drivers/scsi-lpfc-change-copyright-of-12.0.0.1-modified-files-to.patch. - Refresh patches.drivers/scsi-lpfc-code-cleanup-for-128byte-wqe-data-type.patch. - Refresh patches.drivers/scsi-lpfc-fix-mailbox-wait-for-post_sgl-mbox-command.patch. - Refresh patches.drivers/scsi-lpfc-fix-scsi-lun-discovery-when-port-configured-for.patch. - Refresh patches.drivers/scsi-lpfc-memory-allocation-error-during-driver-start-up-on.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-initiator-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-targe6t-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.1.patch. - commit e04e333- Input: mms114 - fix license module information (bsc#1051510). - platform/x86: mlx-platform: fix module aliases (bsc#1051510). - media: c8sectpfe: fix potential NULL pointer dereference in c8sectpfe_timer_interrupt (bsc#1051510). - Input: psmouse - fix Synaptics detection when protocol is disabled (bsc#1051510). - crypto: seqiv - Remove unused alg/spawn variable (bsc#1051510). - crypto: caam/qi - use correct print specifier for size_t (bsc#1051510). - PM / runtime: Drop children check from __pm_runtime_set_status() (bsc#1051510). - Input: adxl34x - do not treat FIFO_MODE() as boolean (bsc#1051510). - media: coda: disable BWB only while decoding on CODA 960 (bsc#1051510). - crypto: caam/qi - fix AD length endianness in S/G entry (bsc#1051510). - crypto: caam/qi - handle large number of S/Gs case (bsc#1051510). - ACPI / PM / EC: Flush all EC work in acpi_freeze_sync() (bsc#1051510). - crypto: testmgr - Reenable sha1/aes in FIPS mode (bsc#1051510). - commit 49cf21e- netfilter: ebtables: fix erroneous reject of last rule (CVE-2018-1068 bsc#1085107). - netfilter: ebtables: CONFIG_COMPAT: don't trust userland offsets (CVE-2018-1068 bsc#1085107). - commit caa60e7- series.conf: refresh Ran series_sort.py (no effect on expanded tree). - commit c5e3798- kernel-*.spec: remove remaining occurences of %release from dependencies There is a mix of %release and %source_rel in manually added dependencies and the %release dependencies tend to fail due to rebuild sync issues. So get rid of them. - commit b4ec514- ibmvnic: Remove unused TSO resources in TX pool structure (bsc#1085224). - commit c081465- ibmvnic: Update TX pool cleaning routine (bsc#1085224). - commit 9804de0- Refresh metadata of ibmvnic patches Refresh patches.drivers/ibmvnic-Generalize-TX-pool-structure.patch. Refresh patches.drivers/ibmvnic-Update-and-clean-up-reset-TX-pool-routine.patch. Refresh patches.drivers/ibmvnic-Update-release-TX-pool-routine.patch Refresh patches.drivers/ibmvnic-Update-TX-pool-initialization-routine.patch. Refresh patches.drivers/ibmvnic-Update-TX-and-TX-completion-routines.patch. Refresh patches.drivers/ibmvnic-Improve-TX-buffer-accounting.patch. - commit 36929d0- PCI: Remove redundant probes for device reset support (bsc#1084889). - PCI: Probe for device reset support during enumeration (bsc#1084889). - ACPI / CPPC: Use 64-bit arithmetic instead of 32-bit (bsc#1084771). - ACPI: CPPC: remove initial assignment of pcc_ss_data (bsc#1084771). - ACPI / CPPC: Fix KASAN global out of bounds warning (bsc#1084771). - PCI: Avoid slot reset if bridge itself is broken (bsc#1084918). - PCI: Avoid bus reset if bridge itself is broken (bsc#1084918). - ACPI / CPPC: Make CPPC ACPI driver aware of PCC subspace IDs (bsc#1084771). - mailbox: PCC: Move the MAX_PCC_SUBSPACES definition to header file (bsc#1084771). - mailbox: pcc: Drop uninformative output during boot (bsc#1084771). - ACPI: processor: use dev_dbg() instead of dev_warn() when CPPC probe failed (bsc#1084771). - mailbox: pcc: Fix crash when request PCC channel 0 (bsc#1084771). - ACPICA: Add support for new PCCT subtables (bsc#1084771). - commit 7fecb4d- Refresh patches.drivers/net-hns-Fix-ethtool-private-flags.patch. - commit 30b4cfe- ALSA: hda: add dock and led support for HP ProBook 640 G2 (bsc#1052235). - ALSA: hda: add dock and led support for HP EliteBook 820 G3 (bsc#1052235). - commit d23a5b8- drm/radeon: fix prime teardown order (bsc#1051510). - drm/radeon: fix KV harvesting (bsc#1051510). - commit dbeae71- drm/i915/gvt: Correct the privilege shadow batch buffer address (FATE#322643 bsc#1055900). - drm/i915/gvt: keep oa config in shadow ctx (FATE#322643 bsc#1055900). - drm/i915/gvt: Add runtime_pm_get/put into gvt_switch_mmio (FATE#322643 bsc#1055900). - drm/nouveau/bl: Fix oops on driver unbind (bsc#1051510). - drm/i915: Kick the rps worker when changing the boost frequency (FATE#322643 bsc#1055900). - drm/i915: Only prune fences after wait-for-all (FATE#322643 bsc#1055900). - drm/i915: Enable VBT based BL control for DP (FATE#322643 bsc#1055900). - drm/i915: Suspend submission tasklets around wedging (FATE#322643 bsc#1055900). - drm/i915/perf: fix perf stream opening lock (FATE#322643 bsc#1055900). - commit 7928411- buffer: use mapping_set_error instead of setting the flag (bsc#1085535). - commit e58067e- buffer: set errors in mapping at the time that the error occurs (bsc#1085535). - commit 98a5540- xfs: Properly retry failed dquot items in case of error during buffer writeback (bsc#1085535, bsc#1085737). - commit bd133bd- xfs: fortify xfs_alloc_buftarg error handling (bsc#1085535). - commit 6d33267- xfs: fix forgotten rcu read unlock when skipping inode reclaim (bsc#1085535). - commit 045fde2- xfs: check if an inode is cached and allocated (bsc#1085535). - commit 4678d27- xfs: return a distinct error code value for IGET_INCORE cache misses (bsc#1085535) - commit d7b171e- xfs: move two more RT specific functions into CONFIG_XFS_RT (bsc#1085535, bsc#1073411). - commit 92df594- xfs: trim writepage mapping to within eof (bsc#1085535, bsc#1073411). - commit e28559b- xfs: cancel dirty pages on invalidation (bsc#1085535, bsc#1073406). - commit 459af78- xfs: don't change inode mode if ACL update fails (bsc#1085535, bsc#1073406). - commit a513898- xfs: move more RT specific code under CONFIG_XFS_RT (bsc#1085535). - commit d9135ff- xfs: Don't log uninitialised fields in inode structures (bsc#1085535). - Refresh patches.fixes/xfs-convert-to-new-i_version-API.patch. - commit ab8d0ef- xfs: handle racy AIO in xfs_reflink_end_cow (bsc#1085535). - commit 928bee7- xfs: always swap the cow forks when swapping extents (bsc#1085535) - commit 900bc36- xfs: Capture state of the right inode in xfs_iflush_done (bsc#1085535, bsc#1070682). - commit b235462- xfs: perag initialization should only touch m_ag_max_usable for AG 0 (bsc#1085535). - commit 16cf407- xfs: update i_size after unwritten conversion in dio completion (bsc#1085535). - commit 93c9c20- xfs: validate bdev support for DAX inode flag (bsc#1085535). - commit eb71679- xfs: report zeroed or not correctly in xfs_zero_range() (bsc#1085535). - commit 6298786- xfs: evict CoW fork extents when performing finsert/fcollapse (bsc#1085535). - commit dc06c2e- iomap_dio_rw: Allocate AIO completion queue before submitting dio (bsc#1085711). - commit 3211750- xfs: don't unconditionally clear the reflink flag on zero-block files (bsc#1085535). - commit bcb1820- btrfs: fix lockdep splat in btrfs_alloc_subvolume_writers (bsc#1085699). - commit 73b177a- xfs: use kmem_free to free return value of kmem_zalloc (bsc#1085535). - commit 8d1ab0c- xfs: open code end_buffer_async_write in xfs_finish_page_writeback (bsc#1085535). - commit 5dc9796- xfs: don't set v3 xflags for v2 inodes (bsc#1085535). - commit 2e1a433- xfs: fix compiler warnings (bsc#1085535). - commit 231ac4b- xfs: fix incorrect log_flushed on fsync (bsc#1085535). - commit 55862a4- btrfs: propagate error to btrfs_cmp_data_prepare caller (bsc#1076088). - commit 20a82e4- Refresh patches.arch/powerpc-64-Use-barrier_nospec-in-syscall-entry.patch. - Refresh patches.arch/powerpc-Use-barrier_nospec-in-copy_from_user.patch. move barrier after branch - commit bace443- scsi: sg: Re-fix off by one in sg_fill_request_table() (bsc#1085654). - scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE (bsc#1085654). - scsi: sg: factor out sg_fill_request_table() (bsc#1085654). - commit d70aad9- Refresh patches.drivers/scsi-lpfc-change-copyright-of-12.0.0.1-modified-files-to.patch. - Refresh patches.drivers/scsi-lpfc-code-cleanup-for-128byte-wqe-data-type.patch. - Refresh patches.drivers/scsi-lpfc-fix-mailbox-wait-for-post_sgl-mbox-command.patch. - Refresh patches.drivers/scsi-lpfc-fix-scsi-lun-discovery-when-port-configured-for.patch. - Refresh patches.drivers/scsi-lpfc-memory-allocation-error-during-driver-start-up-on.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-initiator-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-streamline-nvme-targe6t-wqe-setup.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-12.0.0.1.patch. - commit 7b6b825- loop: fix concurrent lo_open/lo_release (bsc#1085643). - commit ec3edfb- nvmet_fc: prevent new io rqsts in possible isr completions (FATE#323952, FATE#322506). - commit 03750dd- nvme_fc: on remoteport reuse, set new nport_id and role (bsc#1076760). - commit 18875d5- nvme_fc: fix abort race on teardown with lld reject (bsc#1083750). - nvme_fc: io timeout should defer abort to ctrl reset (bsc#1085054). - commit fcde440- nvme_fc: fix ctrl create failures racing with workq items (bsc#1083750). - commit 9b8dc65- scripts/git_sort/git_sort.py: Update nvme tree to 4.17 - commit 99db2a2- virtio_blk: Fix an SG_IO regression (bsc#1085636). - commit 2954f97- scsi: scsi_transport_fc: fix NULL pointer dereference in fc_bsg_job_timeout (bsc#1085634). - commit 68473f0- nvme_fc: rework sqsize handling (bsc#1083750). - nvme-pci: Fix EEH failure on ppc (bsc#1085342). - commit e100d7e- nvmet: fix PSDT field check in command format (FATE#323952, FATE#322506). - nvme-pci: Fix nvme queue cleanup if IRQ setup fails (FATE#323952, FATE#322506). - nvmet-loop: use blk_rq_payload_bytes for sgl selection (FATE#323952, FATE#322506). - nvme-rdma: use blk_rq_payload_bytes instead of blk_rq_bytes (FATE#323952, FATE#322506). - nvme-fabrics: don't check for non-NULL module in nvmf_register_transport (FATE#323952, FATE#322506). - nvme-rdma: fix sysfs invoked reset_ctrl error flow (FATE#323952, FATE#322506). - nvmet: Change return code of discard command if not supported (FATE#323952, FATE#322506). - nvme: fix the deadlock in nvme_update_formats (bsc#1083750). - nvme: Don't use a stack buffer for keep-alive command (FATE#323952, FATE#322506). - nvme: Fix discard buffer overrun (FATE#323952, FATE#322506). - nvme: delete NVME_CTRL_LIVE --> NVME_CTRL_CONNECTING transition (FATE#323952, FATE#322506). - nvme-rdma: use NVME_CTRL_CONNECTING state to mark init process (FATE#323952, FATE#322506). - commit 5a5189c- bsg-lib: don't free job in bsg_prepare_job (bsc#1085630). - commit 5645dd9- supported.conf: Enable pinctrl/intel modules (FATE#325095,FATE#325124,FATE#322647,FATE#321356) - commit 34f89b2- Update config files: Enable CONFIG_PINCTRL_DENVERTON for x86_64 (FATE#325124) - commit 32e2f2c- pinctrl: intel: Add Intel Denverton pin controller support (FATE#325124). - commit 63c5269- ibmvnic: Fix reset return from closed state (bsc#1084610). - commit 07460ad- kabi/severities: Do not blacklist drivers/message/fusion - commit f791f8f- block: kyber: fix domain token leak during requeue (bsc#1077989). - blk-mq: don't call io sched's .requeue_request when requeueing rq to ->dispatch (bsc#1077989). - blk-wbt: account flush requests correctly (bsc#1077989). - blk_rq_map_user_iov: fix error override (bsc#1077989). - blk-mq: quiesce queue before freeing queue (bsc#1077989). - block: drain queue before waiting for q_usage_counter becoming zero (bsc#1077989). - block-throttle: avoid double charge (bsc#1077989). - block: don't let passthrough IO go into .make_request_fn() (bsc#1077989). - ata: fixes kernel crash while tracing ata_eh_link_autopsy event (bsc#1077989). - blk-mq-sched: dispatch from scheduler IFF progress is made in - >dispatch (bsc#1077989). - block,bfq: Disable writeback throttling (bsc#1077989). - bio_copy_user_iov(): don't ignore ->iov_offset (bsc#1077989). - more bio_map_user_iov() leak fixes (bsc#1077989). - block: directly insert blk-mq request from blk_insert_cloned_request() (bsc#1077989). - commit 755e323- scsi: csiostor: add support for 32 bit port capabilities (bsc#1084463). - commit 2a6691d- Update config files. - commit 8f7bcb9- dm mpath: fix passing integrity data (bsc#1085599). - commit 079d71d- ahci: Add PCI ids for Intel Bay Trail, Cherry Trail and Apollo Lake AHCI (bsc#1077989). - ahci: Allow setting a default LPM policy for mobile chipsets (bsc#1079088). - ahci: Annotate PCI ids for mobile Intel chipsets as such (bsc#1077989). - ata: ahci_brcm: Avoid writing to read-only registers (1079088). - libata: Add the AHCI_HFLAG_NO_WRITE_TO_RO flag (1079088). - libata: Add the AHCI_HFLAG_YES_ALPM flag (1079088). - libata: sata_down_spd_limit should return if driver has not recorded sstatus speed (bsc#1079088). - Refresh patches.fixes/0001-ahci-Add-Intel-Cannon-Lake-PCH-H-PCI-ID.patch. - commit 20e9c8c- Refresh patches.drivers/scsi-qla2xxx-Fix-crashes-in-qla2x00_probe_one-on-pro.patch. Refresh Patch-mainline - commit 83e7885- Move sound patches into the sorted section - commit 9e5a89a- NFSv4: handle EINVAL from EXCHANGE_ID better (bsc#1074661). - commit 328ecd0- xfs: remove double-underscore integer types (bsc#1085535). - commit bad7273- xfs: relog dirty buffers during swapext bmbt owner change (bsc#1085535). - commit d182840- xfs: disallow marking previously dirty buffers as ordered (bsc#1085535). - commit fbe5afe- xfs: move bmbt owner change to last step of extent swap (bsc#1085535). - commit b1ccefc- xfs: don't log dirty ranges for ordered buffers (bsc#1085535). - commit 1059f79- xfs: refactor buffer logging into buffer dirtying helper (bsc#1085535). - commit c4ad563- xfs: ordered buffer log items are never formatted (bsc#1085535). - commit bf9d73a- xfs: remove bli from AIL before release on transaction abort (bsc#1085400). - commit fe017ba- KVM: nVMX: Fix bug of injecting L2 exception into L1 (bsc#1082743). - commit c911389- powerpc/64: barrier_nospec: Add commandline trigger (bsc#1068032, bsc#1080157). - powerpc/64s: barrier_nospec: Add hcall trigger (bsc#1068032, bsc#1080157). - powerpc/64: barrier_nospec: Add debugfs trigger (bsc#1068032, bsc#1080157). - powerpc/64: Patch barrier_nospec in modules (bsc#1068032, bsc#1080157). - powerpc/64s: Add support for ori barrier_nospec patching (bsc#1068032, bsc#1080157). - powerpc/64s: Use barrier_nospec in RFI_FLUSH_SLOT (bsc#1068032, bsc#1080157). - powerpc/64: Use barrier_nospec in syscall entry (bsc#1068032, bsc#1080157). - powerpc: Use barrier_nospec in copy_from_user (bsc#1068032, bsc#1080157). - powerpc: Add barrier_nospec (bsc#1068032, bsc#1080157). - commit 61e5a68- rfi-flush: Always enable fallback flush on pseries (bsc#1068032). - rfi-flush: Call setup_rfi_flush() after LPM migration (bsc#1068032). - rfi-flush: Differentiate enabled and patched flush types (bsc#1068032). - rfi-flush: Make it possible to call setup_rfi_flush() again (bsc#1068032). - Delete patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch. - commit bedae0a- Refresh patches.suse/0001-Add-a-void-suse_kabi_padding-placeholder-to-some-USB.patch. Refresh patches.suse/0002-Add-a-void-suse_kabi_padding-placeholder-to-some-USB.patch. Added placeholders to new structures and structures likely to see additions with USB 3.2 - commit 2e13f72- xfs: remove unnecessary dirty bli format check for ordered bufs (bsc#1085535, bsc#1085400). - commit 878b923- Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch - commit 15d094c- Delete patches.arch/powerpc-rfi-flush-Add-DEBUG_RFI-config-option.patch. - commit c144715- xfs: release bli from transaction properly on fs shutdown (bsc#1085400). - commit d1eb889- xfs: open-code xfs_buf_item_dirty() (bsc#1085535, bsc#1085400). - commit 0219f88- xfs: check for race with xfs_reclaim_inode() in xfs_ifree_cluster() (bsc#1085535). - commit 63625ee- s390/entry.S: fix spurious zeroing of r0 (LTC#164304, bsc#1084911). - commit 385e43e- s390: do not bypass BPENTER for interrupt system calls (LTC#164304, bsc#1084911). - commit ed1afdf- xfs: handle -EFSCORRUPTED during head/tail verification (bsc#1085535). - commit adcbd09- s390: Replace IS_ENABLED(EXPOLINE_*) with IS_ENABLED(CONFIG_EXPOLINE_*) (LTC#164304, bsc#1084911). - commit 8bea736- xfs: fix log recovery corruption error due to tail overwrite (bsc#1085535). - commit 504e04b- s390: introduce execute-trampolines for branches (LTC#164304, bsc#1084911). - commit 8b70679- Thunderbolt: kABI paddings added (bsc#1070681). - commit 211b2ae- xfs: always verify the log tail during recovery (bsc#1085535). - commit 24a67e9- s390: run user space and KVM guests with modified branch prediction (LTC#164304, bsc#1084911). - commit 2450b20- s390: add optimized array_index_mask_nospec (LTC#164304, bsc#1084911). - commit b8c619a- xfs: fix recovery failure when log record header wraps log end (bsc#1085535). - commit 7ffd57a- s390: scrub registers on kernel entry and KVM exit (LTC#164304, bsc#1084911). - commit ceb4998- PCI: pciehp: Do not clear Presence Detect Changed during initialization (bsc#1070681). - PCI: pciehp: Fix race condition handling surprise link down (bsc#1070681). - commit c6224de- s390: add options to change branch prediction behaviour for the kernel (LTC#164304, bsc#1068032, bsc#1084911). - Delete patches.arch/s390-sles15-99-02-nobp.patch. - commit ab35499- PCI: Distribute available resources to hotplug-capable bridges (bsc#1070681). - commit c7a131a- PCI: Distribute available buses to hotplug-capable bridges (bsc#1070681). - commit f245576- watchdog: sbsa: use 32-bit read for WCV (bsc#1083411). - commit 95be6a2- scsi: hisi_sas: directly attached disk LED feature for v2 hw (bsc#1083411). - commit 82b07af- s390/alternative: use a copy of the facility bit mask (LTC#164304, bsc#1084911). - commit a6eeafb- net: hns: Fix ethtool private flags (bsc#1085511). - commit db6e0ea- s390/spinlock: add gmb memory barrier (LTC#164304, bsc#1084911). - commit 60f06f8- PCI: Open-code the two pass loop when scanning bridges (bsc#1070681). - PCI: Add for_each_pci_bridge() helper (bsc#1070681). - commit 7ef9727- loop: Fix lost writes caused by missing flag (bsc#1077989). - block: fix a typo (bsc#1077989). - block: display the correct diskname for bio (bsc#1077989). - block: fix the count of PGPGOUT for WRITE_SAME (bsc#1077989). - genhd: Fix leaked module reference for NVME devices (bsc#1077989). - scsi: mpt3sas: fix an out of bound write (bsc#1077989). - scsi: libsas: fix memory leak in sas_smp_get_phy_events() (bsc#1077989). - block: only bdi_unregister() in del_gendisk() if !GENHD_FL_HIDDEN (bsc#1077989). - block: wake up all tasks blocked in get_request() (bsc#1077989). - commit 11bfaef- scsi: lpfc: make several unions static, fix non-ANSI prototype (bsc#1085387). - scsi: lpfc: Change Copyright of 12.0.0.1 modified files to 2018 (bsc#1085387). - scsi: lpfc: update driver version to 12.0.0.1 (bsc#1085387). - scsi: lpfc: Memory allocation error during driver start-up on power8 (bsc#1085387). - scsi: lpfc: Fix mailbox wait for POST_SGL mbox command (bsc#1085387). - scsi: lpfc: Fix SCSI lun discovery when port configured for both SCSI and NVME (bsc#1085387). - scsi: lpfc: Streamline NVME Targe6t WQE setup (bsc#1085387). - scsi: lpfc: Streamline NVME Initiator WQE setup (bsc#1085387). - scsi: lpfc: Code cleanup for 128byte wqe data type (bsc#1085387). - commit 1cb568e- Update config files. - commit c93abb9- PCI: Move pci_hp_add_bridge() to drivers/pci/probe.c (bsc#1070681). - commit 1eea5d4- scsi: libsas: notify event PORTE_BROADCAST_RCVD in sas_enable_revalidation() (bsc#1085000). - scsi: libsas: direct call probe and destruct (bsc#1085000). - scsi: libsas: use flush_workqueue to process disco events synchronously (bsc#1085000). - scsi: libsas: Use new workqueue to run sas event and disco event (bsc#1085000). - scsi: libsas: make the event threshold configurable (bsc#1085000). - scsi: libsas: shut down the PHY if events reached the threshold (bsc#1085000). - scsi: libsas: Use dynamic alloced work to avoid sas event lost (bsc#1085000). - commit 23a9718- scsi: qla2xxx: Fix crashes in qla2x00_probe_one on probe failure (bsc#1077338). - commit faf79cf- Correct placement of apparmor-next patches This needed a new section for jj/linux-apparmor for apparmor-next branch. - commit 70d2dc4- qla2xxx: Update driver version to 10.00.00.06-k (bsc#1084570). - qla2xxx: Fix Async GPN_FT for FCP and FC-NVMe scan (bsc#1084570). - qla2xxx: Cleanup code to improve FC-NVMe error handling (bsc#1084570). - qla2xxx: Fix FC-NVMe IO abort during driver reset (bsc#1084570). - qla2xxx: Fix retry for PRLI RJT with reason of BUSY (bsc#1084570). - qla2xxx: Remove nvme_done_list (bsc#1084570). - qla2xxx: Return busy if rport going away (bsc#1084570). - qla2xxx: Fix n2n_ae flag to prevent dev_loss on PDB change (bsc#1084570). - qla2xxx: Add FC-NVMe abort processing (bsc#1084570). - qla2xxx: Restore ZIO threshold setting (bsc#1084570). - qla2xxx: Add changes for devloss timeout in driver (bsc#1084570). - qla2xxx: Set IIDMA and fcport state before qla_nvme_register_remote() (bsc#1084570). - qla2xxx: Remove unneeded message and minor cleanup for FC-NVMe (bsc#1084570). - scsi: qla2xxx: Remove FC_NO_LOOP_ID for FCP and FC-NVMe Discovery (bsc#1084569). - scsi: qla2xxx: Fix NULL pointer crash due to active timer for ABTS (bsc#1082979). - commit b0e8cae- thunderbolt: Mask ring interrupt properly when polling starts (bsc#1070681). - commit 3a626f5- s390/qeth: fix IP address lookup for L3 devices (bsc#1085486). - s390/qeth: fix double-free on IP add/remove race (bsc#1085486). - s390/qeth: fix IP removal on offline cards (bsc#1085486). - s390/qeth: improve error reporting on IP add/removal (bsc#1085486). - commit 7ed1eb8- thunderbolt: Allocate ring HopID automatically if requested (bsc#1070681). - commit 70ae42d- thunderbolt: Add polling mode for rings (bsc#1070681). - commit 3c69806- security/keys: BIG_KEY requires CONFIG_CRYPTO (bsc#1051510). - commit 1e8d44b- Fix sorting - commit 0515713- Update patch-header with upstream commit ID - Refresh patches.drivers/qla2xxx-Fixup-locking-for-session-deletion.patch. - Refresh patches.drivers/qla2xxx-do-not-check-login_state-if-no-loop-id-is-as.patch. - Refresh patches.drivers/qla2xxx-ensure-async-flags-are-reset-correctly.patch. - commit 6ceddbd- staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID (bsc#1051510). - ima: do not update security.ima if appraisal status is not INTEGRITY_PASS (bsc#1051510). - staging: rtl8188eu: avoid a null dereference on pmlmepriv (bsc#1051510). - ima: fix hash algorithm initialization (bsc#1051510). - staging: bcm2835-audio: Fix memory corruption (bsc#1051510). - security/keys: rewrite all of big_key crypto (bsc#1051510). - security/keys: properly zero out sensitive key material in big_key (bsc#1051510). - commit 6649606- thunderbolt: Use spinlock in NHI serialization (bsc#1070681). - thunderbolt: Use spinlock in ring serialization (bsc#1070681). - thunderbolt: Move ring descriptor flags to thunderbolt.h (bsc#1070681). - commit a02064a- ipmi: use dynamic memory for DMI driver override (bsc#1085477). - workqueue: avoid hard lockups in show_workqueue_state() (bsc#1085474). - kdump: write correct address of mem_section into vmcoreinfo (bsc#1052766). - genirq: Guard handle_bad_irq log messages (bsc#1070194). - ipmi: Stop timers before cleaning up the module (bsc#1085477). - kdb: Fix handling of kallsyms_symbol_next() return value (bsc#1052766). - smp/hotplug: Move step CPUHP_AP_SMPCFD_DYING to the correct place (bsc#1052766). - workqueue: Fix NULL pointer dereference (bsc#1085474). - workqueue: replace pool->manager_arb mutex with a flag (bsc#1085474). - irq/generic-chip: Don't replace domain's name (bsc#1070194). - smp/hotplug: Handle removal correctly in cpuhp_store_callbacks() (bsc#1052766). - commit 2d0ceb8- Sort apparmor patch. - commit 1285305- RDMA/rxe: Fix rxe_qp_cleanup() (bsc#1050662 FATE#323951). - RDMA/rxe: Fix a race condition in rxe_requester() (bsc#1050662 FATE#323951). - RDMA/rxe: Fix a race condition related to the QP error state (bsc#1050662 FATE#323951). - i40e: don't remove netdev->dev_addr when syncing uc list (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: Account for frags split over multiple descriptors in check linearize (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - IB/srpt: Disable RDMA access by the initiator (bsc#1046306 FATE#322942). - IB/core: Init subsys if compiled to vmlinuz-core (bsc#1046306 FATE#322942). - RDMA/cma: Make sure that PSN is not over max allowed (bsc#1046306 FATE#322942). - i40evf: Use smp_rmb rather than read_barrier_depends (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Use smp_rmb rather than read_barrier_depends (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - Ib/hfi1: Return actual operational VLs in port info query (bsc#1060463 FATE#323043). - RDMA/cma: Avoid triggering undefined behavior (bsc#1046306 FATE#322942). - IB/opa_vnic: Properly clear Mac Table Digest (bsc#1060463 FATE#323043). - IB/opa_vnic: Properly return the total MACs in UC MAC list (bsc#1060463 FATE#323043). - i40e: use the safe hash table iterator when deleting mac filters (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: spread CPU affinity hints across online CPUs only (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: fix client notify of VF reset (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - commit be14663- Fix sorting - commit 99f04f6- PCI: Mark AMD Stoney GPU ATS as broken (bsc#1085438). - x86/platform/uv/BAU: Disable BAU on single hub configurations (bsc#1085438). - x86/platform/uv/BAU: Fix congested_response_us not taking effect (bsc#1085438). - commit f016967- Refresh patches.fixes/x86-mm-pkeys-fix-fill_sig_info_pkey.patch. - commit be26314- ibmvfc: Avoid unnecessary port relogin (bsc#1085404). - commit 0423e5a- thunderbolt: Export ring handling functions to modules (bsc#1070681). - commit 0c97603- thunderbolt: Add support for frame mode (bsc#1070681). - commit 78125e0- thunderbolt: Configure interrupt throttling for all interrupts (bsc#1070681). - commit c6505dc- Update config files: run oldconfig on arm64, ppc64le, s390x - commit 92d9f93- e1000e: Fix link check race condition (bsc#1056664 FATE#322185). - Revert "e1000e: Separate signaling for link check/link up" (bsc#1056664 FATE#322185). - e1000e: allocate ring descriptors with dma_zalloc_coherent (bsc#1056664 FATE#322185). - e1000e: Fix check_for_link return value with autoneg off (bsc#1056664 FATE#322185). - e1000e: Avoid missed interrupts following ICR read (bsc#1056664 FATE#322185). - e1000e: Fix queue interrupt re-raising in Other interrupt (bsc#1056664 FATE#322185). - Partial revert "e1000e: Avoid receiver overrun interrupt bursts" (bsc#1056664 FATE#322185). - e1000e: Remove Other from EIAC (bsc#1056664 FATE#322185). - e1000e: Alert the user that C-states will be disabled by enabling jumbo frames (bsc#1056664 FATE#322185). - e1000e: Set HTHRESH when PTHRESH is used (bsc#1056664 FATE#322185). - e1000e: Be drop monitor friendly (bsc#1056664 FATE#322185). - e1000e: apply burst mode settings only on default (bsc#1056664 FATE#322185). - drivers: net: e1000e: use setup_timer() helper (bsc#1056664 FATE#322185). - commit fd1dad2- md-cluster: fix wrong condition check in raid1_write_request (bsc#1085402). - commit de51b30- xfs: quota: fix missed destroy of qi_tree_lock (bnc#1012382, bsc#1085525). - commit 64fa650- xfs: ubsan fixes (bnc#1012382, bsc#1085525). - commit d7cba96- xfs: quota: check result of register_shrinker() (bnc#1012382, bsc#1085525). - commit 98da9d7- xfs: fix log block underflow during recovery cycle verification (bnc#1012382, bsc#1085525). - commit 967d992- xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real (bsc#1085525, bnc#1012382). - commit e1a9c24- iomap: report collisions between directio and buffered writes to userspace (bsc#1074275). - commit 065d584- errseq: rename __errseq_set to errseq_set (bsc#1074275). - commit 76c35ea- fs: new infrastructure for writeback error handling and reporting (bsc#1074275). - commit 592f3a3- lib: add errseq_t type and infrastructure for handling it (bsc#1074275). - commit 2949364- Update config files: qcom=m - commit 2552aaa- git-sort: correct branch of apparmor repository Change branch name from v4.8-aa2.8-out-of-tree to apparmor-next. - commit d8d3200- KVM: PPC: Book3S HV: Drop locks before reading guest memory (bsc#1061840). - KVM: PPC: Book3S HV: Make sure we don't re-enter guest without XIVE loaded (bsc#1061840). - commit f67f69d- powerpc/kernel: Change retrieval of pci_dn (bsc#1078720). - commit 5779938- tpm: fix potential buffer overruns caused by bit glitches on the bus (bsc#1082555). - tpm: st33zp24: fix potential buffer overruns caused by bit glitches on the bus (bsc#1082555). - tpm_i2c_infineon: fix potential buffer overruns caused by bit glitches on the bus (bsc#1082555). - tpm_i2c_nuvoton: fix potential buffer overruns caused by bit glitches on the bus (bsc#1082555). - tpm_tis: fix potential buffer overruns caused by bit glitches on the bus (bsc#1082555). - tpm-dev-common: Reject too short writes (bsc#1082555). - commit e071d12- powerpc/mm/radix: Split linear mapping on hot-unplug (bsc#1065729). - proc: fix coredump vs read /proc/*/stat race (bsc#1052766). - powerpc/perf: Fix oops when grouping different pmu events (bsc#1065729). - powerpc/perf: Fix pmu_count to count only nest imc pmus (bsc#1065729). - powerpc/64s: Fix masking of SRR1 bits on instruction fault (bsc#1065729). - powerpc/powernv/idle: Round up latency and residency values (bsc#1065729). - powerpc/kprobes: Disable preemption before invoking probe handler for optprobes (bsc#1065729). - powerpc/ipic: Fix status get and status clear (bsc#1065729). - powerpc/perf/hv-24x7: Fix incorrect comparison in memord (bsc#1065729). - powerpc/xmon: Avoid tripping SMP hardlockup watchdog (bsc#1065729). - powerpc: Fix DAR reporting when alignment handler faults (bsc#1065729). - powerpc/mm: Use symbolic constants for filtering SRR1 bits on ISIs (bsc#1065729). - commit e8616ce- Re-enable patches.suse/tpm-Downgrade-error-level (bsc#1042535) False-positive errors still appear on many machines - commit 3708692- Move shpinx fix patch into the sorted section - commit 49924e7- crypto: s5p-sss - Fix kernel Oops in AES-ECB mode (bsc#1051510). - crypto: caam - fix endless loop when DECO acquire fails (bsc#1051510). - crypto: talitos - fix Kernel Oops on hashing an empty file (bsc#1051510). - crypto: sha512-mb - initialize pending lengths correctly (bsc#1051510). - crypto: aesni - handle zero length dst buffer (bsc#1051510). - crypto: hash - prevent using keyed hashes without setting key (bsc#1051510). - crypto: hash - annotate algorithms taking optional key (bsc#1051510). - crypto: poly1305 - remove ->setkey() method (bsc#1051510). - crypto: mcryptd - pass through absence of ->setkey() (bsc#1051510). - crypto: cryptd - pass through absence of ->setkey() (bsc#1051510). - crypto: hash - introduce crypto_hash_alg_has_setkey() (bsc#1051510). - crypto: af_alg - whitelist mask and type (bsc#1051510). - crypto: x86/twofish-3way - Fix %rbp usage (bsc#1051510). - crypto: tcrypt - fix S/G table for test_aead_speed() (bsc#1051510). - crypto: algapi - fix NULL dereference in crypto_remove_spawns() (bsc#1051510). - crypto: n2 - cure use after free (bsc#1051510). - crypto: mcryptd - protect the per-CPU queue with a lock (bsc#1051510). - crypto: dh - Fix double free of ctx->p (bsc#1051510). - crypto: tcrypt - fix buffer lengths in test_aead_speed() (bsc#1051510). - crypto: talitos - fix ctr-aes-talitos (bsc#1051510). - crypto: talitos - fix use of sg_link_tbl_len (bsc#1051510). - crypto: talitos - fix AEAD for sha224 on non sha224 capable chips (bsc#1051510). - crypto: talitos - fix setkey to check key weakness (bsc#1051510). - crypto: talitos - fix memory corruption on SEC2 (bsc#1051510). - crypto: talitos - fix AEAD test failures (bsc#1051510). - crypto: crypto4xx - increase context and scatter ring buffer elements (bsc#1051510). - crypto: aesni - Use GCM IV size constant (bsc#1051510). - crypto: gcm - add GCM IV size constant (bsc#1051510). - crypto: ccm - preserve the IV buffer (bsc#1051510). - crypto: x86/sha1-mb - fix panic due to unaligned access (bsc#1051510). - crypto: x86/sha256-mb - fix panic due to unaligned access (bsc#1051510). - crypto: shash - Fix zero-length shash ahash digest crash (bsc#1051510). - crypto: talitos - Don't provide setkey for non hmac hashing algs (bsc#1051510). - crypto: talitos - fix hashing (bsc#1051510). - crypto: talitos - fix sha224 (bsc#1051510). - crypto: drbg - fix freeing of resources (bsc#1051510). - crypto: ccp - Fix XTS-AES-128 support on v5 CCPs (bsc#1051510). - crypto: scompress - don't sleep with preemption disabled (bsc#1051510). - crypto: caam/qi - properly set IV after {en,de}crypt (bsc#1051510). - crypto: caam/qi - fix typo in authenc alg driver name (bsc#1051510). - commit 72727a1- Update config files. - commit 36b5fce- phy: qcom-ufs: add MODULE_LICENSE tag (bsc#1085301). - power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1085301). - cpufreq: mediatek: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1085301). - commit cfc93a7- mmc: mmci: stop building qcom dml as module (bsc#1085301). - supported.conf: - commit 5a9b68a- hwmon: (pmbus) Use 64bit math for DIRECT format values (bsc#1052766). - hwmon: (pmbus/core) Prevent unintentional setting of page to 0xFF (bsc#1052766). - commit 54a3243- cpufreq: powernv: Dont assume distinct pstate values for nominal and pmin (bsc#1065729). - backlight: pwm_bl: Fix overflow condition (bsc#1052766). - device property: Track owner device of device property (bsc#1052766). - auxdisplay: charlcd: properly restore atomic counter on error path (bsc#1052766). - commit 96648fb- thunderbolt: Move tb_switch_phy_port_from_link() to thunderbolt.h (bsc#1070681). - commit e0e498b- lan78xx: Connect phy early (bsc#1085262). - commit 7b14d88- KVM: PPC: Book3S HV: Fix guest time accounting with VIRT_CPU_ACCOUNTING_GEN (bsc#1061840). - KVM: PPC: Book3S PR: Fix broken select due to misspelling (bsc#1061840). - commit 31b626e- thunderbolt: Move thunderbolt domain structure to thunderbolt.h (bsc#1070681). - thunderbolt: Move enum tb_cfg_pkg_type to thunderbolt.h (bsc#1070681). - commit 7ab081a- thunderbolt: Add support for XDomain properties (bsc#1070681). - commit 30b5374- thunderbolt: Remove __packed from ICM message structures (bsc#1070681). - commit 9d00945- byteorder: Move {cpu_to_be32, be32_to_cpu}_array() from Thunderbolt to core (bsc#1070681). - commit e4d3505- rpm/kernel-source.spec.in: Add check-module-license to Sources The package builds in the build service but the script won't make it into the SRPM if it's not in the Sources list. - commit 031ed9e- ibmvnic: Improve TX buffer accounting (bsc#1085224). - ibmvnic: Update TX and TX completion routines (bsc#1085224). - ibmvnic: Update TX pool initialization routine (bsc#1085224). - ibmvnic: Update release RX pool routine (bsc#1085224). - ibmvnic: Update and clean up reset TX pool routine (bsc#1085224). - ibmvnic: Generalize TX pool structure (bsc#1085224). - ibmvnic: Fix recent errata commit (bsc#1085239). - ibmvnic: Handle TSO backing device errata (bsc#1085239). - ibmvnic: Pad small packets to minimum MTU size (bsc#1085239). - ibmvnic: Account for VLAN header length in TX buffers (bsc#1085239). - ibmvnic: Account for VLAN tag in L2 Header descriptor (bsc#1085239). - powerpc/xive: Use hw CPU ids when configuring the CPU queues (bsc#1085030). - KVM: PPC: Book3S HV: Enable use of the new XIVE "single escalation" feature (bsc#1085030). - powerpc/xive: Add interrupt flag to disable automatic EOI (bsc#1085030). - powerpc/xive: Remove incorrect debug code (bsc#1085030). - treewide: make "nr_cpu_ids" unsigned (bsc#1085030). - commit 32f736d- supported.conf: Add lan78xx as supported (bsc#1085262) - commit 315bd24- cxl: read PHB indications from the device tree (bsc#1055014). - cxl: Check if PSL data-cache is available before issue flush request (bsc#1055014). - cxl: Remove function write_timebase_ctrl_psl9() for PSL9 (bsc#1055014). - cxl: Enable NORST bit in PSL_DEBUG register for PSL9 (bsc#1055014). - commit 0894623- powerpc/mm: Drop the function native_register_proc_table() (bsc#1065729). - commit 8669224- powerpc/mm/slice: Remove intermediate bitmap copy (bsc#1065729). - commit 2120582- PCI/hotplug: ppc: correct a php_slot usage after free (bsc#1065729). - commit 64ebfbc- powerpc: Rename plapr routines to plpar (bsc#1065729). - commit c4bc3eb- powerpc/64s: Fix NULL AT_BASE_PLATFORM when using DT CPU features (bsc#1065729). - commit ea2ff2c- powerpc/xmon: Clear all breakpoints when xmon is disabled via debugfs (bsc#1072829). - powerpc/xmon: Setup debugger hooks when first break-point is set (bsc#1072829). - commit b18a100- Delete patches.arch/powerpc-xmon-Dont-register-sysrq-key-when-kernel-param-xmon-off.patch. - commit 732f3c8- apparmor: fix resource audit messages when auditing peer (bsc#1084839). - Refresh patches.apparmor/apparmor-basic-networking-rules.patch. - commit 18e0246- mac80211_hwsim: fix possible memory leak in hwsim_new_radio_nl() (CVE-2018-8087,bsc#1085053). - commit f65296f- r8169: fix RTL8168EP take too long to complete driver initialization (bsc#1051510). - r8169: fix memory corruption on retrieval of hardware statistics (bsc#1051510). - commit 7a2625d- mkspec: fix perl warning - commit f15670f- drivers/fsi: Add module license to core driver (bsc#1085115). - commit 3e3aa12- RDMA/mlx5: Fix integer overflow while resizing CQ (bsc#1046305 FATE#322943). - RDMA/ucma: Check that user doesn't overflow QP state (bsc#1046306 FATE#322942). - RDMA/ucma: Limit possible option size (bsc#1046306 FATE#322942). - IB/core: Fix possible crash to access NULL netdev (bsc#1046306 FATE#322942). - IB/mlx5: Fix an error code in __mlx5_ib_modify_qp() (bsc#1046305 FATE#322943). - IB/mlx4: Include GID type when deleting GIDs from HW table under RoCE (bsc#1046302 FATE#322945). - IB/mlx4: Fix corruption of RoCEv2 IPv4 GIDs (bsc#1046302 FATE#322945). - commit 0097c5e- IB/core : Add null pointer check in addr_resolve (bsc#1046306 FATE#322942). - IB/core: Fix missing RDMA cgroups release in case of failure to register device (bsc#1046306 FATE#322942). - IB/mlx: Set slid to zero in Ethernet completion struct (bsc#1046306 FATE#322942). - IB/mlx5: Avoid passing an invalid QP type to firmware (bsc#1046305 FATE#322943). - commit 8343347- ALSA: hda/realtek - Make dock sound work on ThinkPad L570 (bsc#1051510). - ALSA: hda/realtek - Fix dock line-out volume on Dell Precision 7520 (bsc#1051510). - ALSA: hda/realtek: Limit mic boost on T480 (bsc#1051510). - ALSA: hda/realtek - Add headset mode support for Dell laptop (bsc#1051510). - ALSA: hda/realtek - Add support headset mode for DELL WYSE (bsc#1051510). - ALSA: hda - Fix a wrong FIXUP for alc289 on Dell machines (bsc#1051510). - commit 0199631- RDMA/bnxt_re: Avoid Hard lockup during error CQE processing (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Fix the ib_reg failure cleanup (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Fix incorrect DB offset calculation (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Unconditionly fence non wire memory operations (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Avoid system hang during device un-reg (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Fix system crash during load/unload (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Synchronize destroy_qp with poll_cq (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Unpin SQ and RQ memory if QP create fails (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Disable atomic capability on bnxt_re adapters (bsc#1050244 FATE#322915). - commit a191f43- ALSA: seq: Clear client entry before deleting else at closing (CVE-2018-1000004,bsc#1076017). - ALSA: seq: Fix possible UAF in snd_seq_check_queue() (CVE-2018-1000004,bsc#1076017). - ALSA: hda - Revert power_save option default value (bsc#1052235). - ALSA: seq: Remove superfluous snd_seq_queue_client_leave_cells() call (CVE-2018-1000004,bsc#1076017). - ALSA: seq: More protection for concurrent write and ioctl races (CVE-2018-1000004,bsc#1076017). - ALSA: seq: Don't allow resizing pool in use (CVE-2018-1000004,bsc#1076017). - commit d35b672- i2c: piix4: Fix port number check on release (bsc#1051510). - commit 0c59e1d- media: m88ds3103: don't call a non-initalized function (bsc#1051510). - mmc: bcm2835: Don't overwrite max frequency unconditionally (bsc#1051510). - ACPI: sbshc: remove raw pointer from printk() message (bsc#1051510). - Revert "apple-gmux: lock iGP IO to protect from vgaarb changes" (bsc#1051510). - media: cxusb, dib0700: ignore XC2028_I2C_FLUSH (bsc#1051510). - media: dvb-frontends: fix i2c access helpers for KASAN (bsc#1051510). - media: r820t: fix r820t_write_reg for KASAN (bsc#1051510). - media: pvrusb2: properly check endpoint types (bsc#1051510). - media: dvb-usb-v2: lmedm04: move ts2020 attach to dm04_lme2510_tuner (bsc#1051510). - media: soc_camera: soc_scale_crop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1051510). - media: mtk-vcodec: add missing MODULE_LICENSE/DESCRIPTION (bsc#1051510). - gpio: Fix kernel stack leak to userspace (bsc#1051510). - mac80211: mesh: drop frames appearing to be from us (bsc#1051510). - nl80211: Check for the required netlink attribute presence (bsc#1051510). - leds: core: Fix regression caused by commit 2b83ff96f51d (bsc#1051510). - drm/ttm: check the return value of kzalloc (bsc#1051510). - led: core: Fix brightness setting when setting delay_off=0 (bsc#1051510). - drm/nouveau/pci: do a msi rearm on init (bsc#1051510). - mac80211_hwsim: Fix a possible sleep-in-atomic bug in hwsim_get_radio_nl (bsc#1051510). - media: dvb: i2c transfers over usb cannot be done from stack (bsc#1051510). - media: s5k6aa: describe some function parameters (bsc#1051510). - media: usbtv: add a new usbid (bsc#1051510). - media: rc: sir_ir: detect presence of port (bsc#1051510). - i2c: i2c-boardinfo: fix memory leaks on devinfo (bsc#1051510). - i2c: i801: Fix Failed to allocate irq -2147483648 error (bsc#1051510). - mmc: core: Do not leave the block driver in a suspended state (bsc#1051510). - ACPI / EC: Fix regression related to PM ops support in ECDT device (bsc#1051510). - ACPI / bus: Leave modalias empty for devices which are not present (bsc#1051510). - media: Don't do DMA on stack for firmware upload in the AS102 driver (bsc#1051510). - media: v4l2-ctrl: Fix flags field on Control events (bsc#1051510). - media: rc: check for integer overflow (bsc#1051510). - ACPI / EC: Fix regression related to triggering source of EC event handling (bsc#1051510). - ACPI / APEI: remove the unused dead-code for SEA/NMI notification type (bsc#1051510). - ACPI / APEI: adjust a local variable type in ghes_ioremap_pfn_irq() (bsc#1051510). - ACPI / PM: Fix acpi_pm_notifier_lock vs flush_workqueue() deadlock (bsc#1051510). - i2c: piix4: Fix SMBus port selection for AMD Family 17h chips (bsc#1051510). - media: cec: Respond to unregistered initiators, when applicable (bsc#1051510). - media: s5p-cec: add NACK detection support (bsc#1051510). - media: dvb: i2c transfers over usb cannot be done from stack (bsc#1051510). - nl80211: Define policy for packet pattern attributes (bsc#1051510). - media: uvcvideo: Prevent heap overflow when accessing mapped controls (bsc#1051510). - media: adv7180: add missing adv7180cp, adv7180st i2c device IDs (bsc#1051510). - ACPI: EC: Fix possible issues related to EC initialization order (bsc#1051510). - commit 2fdde9f- Refresh / move APEI ERST fix with upstream version (bsc#1072556). - commit d6f15a6- livepatch: Allow to replace even disabled patches (bsc#1071995 fate#323487). Atomic replace, update to v10. - commit 8ab47ee- livepatch: Improve dynamic struct klp_object detection and manipulation (bsc#1071995 fate#323487). Atomic replace, update to v10. - commit 8dbcd34- livepatch: Correctly handle atomic replace for not yet loaded modules (bsc#1071995 fate#323487). Atomic replace, update to v10. - commit 21d8f42- Refresh patches.drivers/scsi-megaraid_sas-Do-not-use-32-bit-atomic-request-d.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-FC-NVMe-LUN-discovery.patch. Move patches to the sorted section. - commit c676d27- Update config files. Add CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y (bsc#1075517) - commit f8bf472- ceph: fix potential memory leak in init_caches() (bsc#1084898). - ceph: fix dentry leak when failing to init debugfs (bsc#1084898). - libceph, ceph: avoid memory leak when specifying same option several times (bsc#1084898). - ceph: flush dirty caps of unlinked inode ASAP (bsc#1084898). - commit 0065157- Refresh patches.suse/livepatch-add-atomic-replace.patch. Atomic replace, update to v10. - commit 01ce0f9- Refresh patches.suse/livepatch-support-separate-list-for-replaced-patches.patch. Atomic replace, update to v10. - commit 4d5d788- Refresh patches.suse/livepatch-initial-support-for-dynamic-structures.patch. Atomic replace, update to v10. - commit 1476fb6- e1000e: fix the use of magic numbers for buffer overrun issue (bsc#1056664 FATE#322185). - fm10k: Use smp_rmb rather than read_barrier_depends (bsc#1056660 FATE#322187). - ixgbevf: Use smp_rmb rather than read_barrier_depends (bsc#1056653 FATE#322190). - ixgbe: Fix skb list corruption on Power systems (bsc#1056657 FATE#322189). - e1000e: fix buffer overrun while the I219 is processing DMA transactions (bsc#1056664 FATE#322185). - e1000e: Avoid receiver overrun interrupt bursts (bsc#1056664 FATE#322185). - ixgbe: fix use of uninitialized padding (bsc#1056657 FATE#322189). - fm10k: fix mis-ordered parameters in declaration for .ndo_set_vf_bw (bsc#1056660 FATE#322187). - fm10k: ensure we process SM mbx when processing VF mbx (bsc#1056660 FATE#322187). - commit 40b77c1- qlcnic: fix deadlock bug (bsc#1050540 FATE#322896). - e1000: fix disabling already-disabled warning (bsc#1056665 FATE#322184). - bnx2x: Improve reliability in case of nested PCI errors (bsc#1050319 FATE#322906). - tg3: Enable PHY reset in MTU change path for 5720 (bsc#1050260 FATE#322917). - tg3: Add workaround to restrict 5762 MRRS to 2048 (bsc#1050260 FATE#322917). - tg3: Fix rx hang on MTU change with 5717/5719 (bsc#1050260 FATE#322917). - igb: Use smp_rmb rather than read_barrier_depends (bsc#1056651 FATE#322191). - igbvf: Use smp_rmb rather than read_barrier_depends (bsc#1056643 FATE#322192). - sfc: don't warn on successful change of MAC (bsc#1058169 FATE#322922). - igb: check memory allocation failure (bsc#1056651 FATE#322191). - commit cb56e2c- bpf: one perf event close won't free bpf program attached by another perf event (bsc#1083647). - commit 742d87d- perf/core: Fix memory leak triggered by perf --namespace (git-fixes e422267322cd). - blacklist.conf: - commit 049df66- blacklist.conf: - Refresh patches.drivers/scsi-megaraid_sas-Do-not-use-32-bit-atomic-request-d.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-FC-NVMe-LUN-discovery.patch. - commit e089071- direct-io: Fix sleep in atomic due to sync AIO (bsc#1084888). - commit 9abf20b- Revert "nvme: create 'slaves' and 'holders' entries for hidden controllers" (bsc#1082241). - commit 7ca03c6- kernel: add release status to kernel build (FATE#325281). - commit 420b4de- rpm: use %_sourcedir prefix for release-projects - rpm: set SUSE_KERNEL_RELEASED based on project name Set SUSE_KERNEL_RELEASED in the config only if the project name matches a list of projects that are part of official release channels. This list of projects is maintained per-branch. - commit a391a5b- config: added new 'kvmsmall' flavor This flavor is an unreleased internal configuration intended for kernel developers to use in simple virtual machines. It contains only the device drivers necessary to use a KVM virtual machine *without* device passthrough enabled. Common local and network file systems are enabled. All device mapper targets are enabled. Only the network and graphics drivers for devices that qemu emulates are enabled. Many subsystems enabled in the default kernel are entirely disabled. This kernel is meant to be small and to build very quickly. There will be no kABI stability and its configuration may be changed arbitrarily. - commit 088f1da- Refresh patches.drivers/scsi-megaraid_sas-Do-not-use-32-bit-atomic-request-d.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-FC-NVMe-LUN-discovery.patch. - commit 2532eab- blacklist.conf: Add entries from stable 4.13.x/4.14.x - commit 2c9c302- iwlwifi: add a new a000 device (bsc#1051510). - Refresh patches.drivers/iwlwifi-add-new-cards-for-a000-series.patch. - commit 6a92cc7- iwlwifi: mvm: fix the TX queue hang timeout for MONITOR vif type (bsc#1051510). - mac80211: fix the update of path metric for RANN frame (bsc#1051510). - mac80211: use QoS NDP for AP probing (bsc#1051510). - mac80211: flush hw_roc_start work before cancelling the ROC (bsc#1051510). - mac80211_hwsim: Use proper TX power (bsc#1051510). - mac80211: fix VLAN handling with TXQs (bsc#1051510). - commit d44c253- drivers: base: cacheinfo: fix cache type for non-architected system cache (bsc#1051510). - driver core: platform: Don't read past the end of "driver_override" buffer (bsc#1051510). - commit 84a3ffe- Input: synaptics-rmi4 - do not delete interrupt memory too early (bsc#1051510). - Input: trackpoint - force 3 buttons if 0 button is reported (bsc#1051510). - Input: xpad - add support for PDP Xbox One controllers (bsc#1051510). - Input: synaptics-rmi4 - prevent UAF reported by KASAN (bsc#1051510). - Input: ALPS - fix multi-touch decoding on SS4 plus touchpads (bsc#1051510). - Input: elantech - add new icbody type 15 (bsc#1051510). - dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0 (bsc#1051510). - Input: elan_i2c - add ELAN060C to the ACPI table (bsc#1051510). - Input: elan_i2c - add ELAN0611 to the ACPI table (bsc#1051510). - Input: i8042 - add Gigabyte P57 to the keyboard reset table (bsc#1051510). - Input: xpad - validate USB endpoint type during probe (bsc#1051510). - commit c7a5d22- platform/x86: wmi: Call acpi_wmi_init() later (bsc#1051510). - platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes (bsc#1051510). - platform/x86: dell-laptop: Fix keyboard max lighting for Dell Latitude E6410 (bsc#1051510). - platform/x86: intel_punit_ipc: Fix resource ioremap warning (bsc#1051510). - platform/x86: hp_accel: Add quirk for HP ProBook 440 G4 (bsc#1051510). - commit 3e187f3- rt2x00usb: mark device removed when get ENOENT usb error (bsc#1051510). - rtlwifi: fix uninitialized rtlhal->last_suspend_sec time (bsc#1051510). - rtlwifi: rtl8192ee: Fix memory leak when loading firmware (bsc#1051510). - rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_createbss_cmd (bsc#1051510). - commit 235d38c- drm/amdgpu: add new device to use atpx quirk (bsc#1051510). - drm/radeon: adjust tested variable (bsc#1051510). - drm/amdgpu: Avoid leaking PM domain on driver unbind (v2) (bsc#1051510). - drm/ttm: Don't add swapped BOs to swap-LRU list (bsc#1051510). - drm/amdgpu: add atpx quirk handling (v2) (bsc#1051510). - drm/amdgpu: Add dpm quirk for Jet PRO (v2) (bsc#1051510). - drm/radeon: Add dpm quirk for Jet PRO (v2) (bsc#1051510). - drm/qxl: unref cursor bo when finished with it (bsc#1051510). - drm/vmwgfx: Potential off by one in vmw_view_add() (bsc#1051510). - drm/vmwgfx: Don't cache framebuffer maps (bsc#1051510). - drm/amdgpu: don't try to move pinned BOs (bsc#1051510). - drm/amdkfd: Fix SDMA oversubsription handling (bsc#1051510). - drm/amdkfd: Fix SDMA ring buffer size calculation (bsc#1051510). - drm/amdgpu: Fix SDMA load/unload sequence on HWS disabled mode (bsc#1051510). - drm/amd/pp: fix typecast error in powerplay (bsc#1051510). - drm/amdgpu: Properly allocate VM invalidate eng v2 (bsc#1051510). - drm/amdgpu: Remove check which is not valid for certain VBIOS (bsc#1051510). - drm/vblank: Tune drm_crtc_accurate_vblank_count() WARN down to a debug (bsc#1051510). - drm: Add retries for lspcon mode detection (bsc#1051510). - commit 3372213- drm/radeon: fix atombios on big endian (bsc#1051510). - drm/amdgpu: fix error handling in amdgpu_bo_do_create (bsc#1051510). - drm/ttm: once more fix ttm_buffer_object_transfer (bsc#1051510). - drm/amdgpu: correct reference clock value on vega10 (bsc#1051510). - drm/vblank: Fix flip event vblank count (bsc#1051510). - drm/vmwgfx: Fix Ubuntu 17.10 Wayland black screen issue (bsc#1051510). - drm/amdgpu: allow harvesting check for Polaris VCE (bsc#1051510). - drm/amdgpu: return -ENOENT from uvd 6.0 early init for harvesting (bsc#1051510). - drm/amd/powerplay: fix uninitialized variable (bsc#1051510). - drm/nouveau/kms/nv50: fix oops during DP IRQ handling on non-MST boards (bsc#1051510). - drm/nouveau/bsp/g92: disable by default (bsc#1051510). - drm/nouveau/mmu: flush tlbs before deleting page tables (bsc#1051510). - drm/amdgpu: read reg in each iterator of psp_wait_for loop (bsc#1051510). - commit 1358bbc- Bluetooth: btusb: Use DMI matching for QCA reset_resume quirking (bsc#1051510). - Bluetooth: BT_HCIUART now depends on SERIAL_DEV_BUS (bsc#1051510). - commit 8e5482b- console/dummy: leave .con_font_get set to NULL (bsc#1051510). - Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten" version (bsc#1051510). - Bluetooth: btsdio: Do not bind to non-removable BCM43341 (bsc#1051510). - brcmfmac: Avoid build error with make W=1 (bsc#1051510). - brcmfmac: change driver unbind order of the sdio function devices (bsc#1051510). - ath9k: fix tx99 potential info leak (bsc#1051510). - Bluetooth: hci_ldisc: Fix another race when closing the tty (bsc#1051510). - Bluetooth: btusb: Add new NFA344A entry (bsc#1051510). - Bluetooth: hci_uart_set_flow_control: Fix NULL deref when using serdev (bsc#1051510). - Bluetooth: btqcomsmd: Add support for BD address setup (bsc#1051510). - cfg80211: fix connect/disconnect edge cases (bsc#1051510). - brcmsmac: make some local variables 'static const' to reduce stack size (bsc#1051510). - brcmfmac: Add check for short event packets (bsc#1051510). - brcmfmac: setup passive scan if requested by user-space (bsc#1051510). - brcmfmac: add length check in brcmf_cfg80211_escan_handler() (bsc#1051510). - Bluetooth: btusb: Add support for 0489:e0a2 QCA_ROME device (bsc#1051510). - Bluetooth: hci_ldisc: Use rwlocking to avoid closing proto races (bsc#1051510). - commit f42c236- ibmvnic: Do not disable device during failover or partition migration (bsc#1084610). - ibmvnic: Reorganize device close (bsc#1084610). - ibmvnic: Clean up device close (bsc#1084610). - commit d14516e- bpf, arm64: fix stack_depth tracking in combination with tail calls (bsc#1083647). - bpf: take advantage of stack_depth tracking in powerpc JIT (bsc#1083647). - s390/bpf: take advantage of stack_depth tracking (bsc#1083647). - commit 1d58a6a- x86: bpf_jit: small optimization in emit_bpf_tail_call() (bsc#1083647). - Refresh patches.drivers/bpf-fix-bpf_tail_call-x64-JIT.patch. - commit 2e51427- bpf, arm64: take advantage of stack_depth tracking (bsc#1083647). - bpf: take advantage of stack_depth tracking in x64 JIT (bsc#1083647). - bpf: change x86 JITed program stack layout (bsc#1083647). - commit a045c8c- mkspec: do not build dtbs for architectures with no kernel. - commit 8394abf- ASoC: ux500: add MODULE_LICENSE tag (bsc#1051510). - ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE (bsc#1051510). - ASoC: skl: Fix kernel warning due to zero NHTL entry (bsc#1051510). - ASoC: codecs: msm8916-wcd-analog: fix module autoload (bsc#1051510). - ASoC: img-parallel-out: Add pm_runtime_get/put to set_fmt callback (bsc#1051510). - ASoC: rsnd: rsnd_ssi_run_mods() needs to care ssi_parent_mod (bsc#1051510). - ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case (bsc#1051510). - commit 0dddbdc- ALSA: usb: add more device quirks for USB DSD devices (bsc#1051510). - ALSA: usb-audio: add implicit fb quirk for Behringer UFX1204 (bsc#1051510). - ALSA: line6: Add a sanity check for invalid EPs (bsc#1051510). - ALSA: caiaq: Add a sanity check for invalid EPs (bsc#1051510). - ALSA: bcd2000: Add a sanity check for invalid EPs (bsc#1051510). - usb: core: Add a helper function to check the validity of EP type in URB (bsc#1051510). - commit 4d4a9cb- Update config files. - commit c87ae8c- Update config files. - commit e355af1- arm64: Update config files. (bsc#1084143) Build ARM_MT8173_CPUFREQ as a module - commit 0db2cc6- On ppc64le we HAVE_RELIABLE_STACKTRACE (bsc#1072856). - commit a4da14c- supported.conf: declared thunderbolt.ko supported This used to be an Apple only driver. It has been changed to generic thunderbolt support. We want this on SLES, too. (bsc#1084516) - commit b51cbd2- drm/i915/cnl: Add WaRsDisableCoarsePowerGating (FATE#322643 bsc#1055900). - commit 3b71519- drm/i915: Apply headless DMC workaround for CNL (FATE#322643 bsc#1055900). - commit 1e7e0de- ACPI/IORT: Add msi address regions reservation helper (bsc#1084475). - ACPI/IORT: Enable SMMUv3/PMCG IORT MSI domain set-up (bsc#1084475). - ACPI/IORT: Add SMMUv3 specific special index mapping handling (bsc#1084475). - ACPI/IORT: Enable special index ITS group mappings for IORT nodes (bsc#1084475). - ACPI/IORT: Look up IORT node through struct fwnode_handle pointer (bsc#1084475). - ACPI/IORT: Make platform devices initialization code SMMU agnostic (bsc#1084475). - ACPI/IORT: Improve functions return type/storage class specifier indentation (bsc#1084475). - ACPI/IORT: Remove leftover ACPI_IORT_SMMU_V3_PXM_VALID guard (bsc#1084475). - acpi/arm64: pr_err() strings should end with newlines (bsc#1084475). - ACPI/IORT: Fix PCI ACS enablement (bsc#1084475). - commit 4f0cd1c- ACPI/IORT: Fix build regression without IOMMU (bsc#1084475). - ACPI/IORT: Handle PCI aliases properly for IOMMUs (bsc#1084475). - commit a805c57- iommu/arm-smmu-v3, acpi: Add temporary Cavium SMMU-V3 IORT model number definitions (bsc#1084475). - Refresh patches.suse/iommu-arm-smmu-v3-Enable-ACPI-based-HiSilicon-CMD_PR.patch. - commit 80781a3- ACPI/IORT: Remove iort_node_match() (bsc#1084475). - commit edbe598- i2c: xlp9xx: Add support for SMBAlert (bsc#1084310). - i2c: xlp9xx: Handle NACK on DATA properly (bsc#1084310). - i2c: xlp9xx: Check for Bus state before every transfer (bsc#1084310). - i2c: xlp9xx: Handle transactions with I2C_M_RECV_LEN properly (bsc#1060799). - i2c: xlp9xx: return ENXIO on slave address NACK (bsc#1060799). - ahci: thunderx2: update stop engine errata delay values (bsc#1084308). - arm64: Add missing Falkor part number for branch predictor hardening (bsc#1068032). - ARM64 / cpuidle: Use new cpuidle macro for entering retention state (bsc#1084328). - cpuidle: Add new macro to enter a retention idle state (bsc#1084328). - ipmi: fix unsigned long underflow (bsc#1060799). - tpm/tpm_crb: Use start method value from ACPI table directly (bsc#1084452). - char: ipmi: constify bmc_dev_attr_group and bmc_device_type (bsc#1060799). - ipmi:ssif: Check dev before setting drvdata (bsc#1060799). - ipmi: Convert DMI handling over to a platform device (bsc#1060799). - ipmi: Create a platform device for a DMI-specified IPMI interface (bsc#1060799). - ipmi:ssif: Use i2c_adapter_id instead of adapter->nr (bsc#1060799). - ipmi: Use the proper default value for register size in ACPI (bsc#1060799). - ipmi_ssif: remove redundant null check on array client->adapter->name (bsc#1060799). - ACPICA: Add header support for TPM2 table changes (bsc#1084452). - cpufreq / CPPC: Initialize policy->min to lowest nonlinear performance (bsc#1084342). - commit 9834636- bpf: introduce ARG_PTR_TO_MEM_OR_NULL (bsc#1083647). - commit e744b9e- config.sh: build against SLE-15 in OBS. - commit e4aa6f4- intel_th: pci: Add Lewisburg PCH support (FATE#325099). - intel_th: pci: Add Cedar Fork PCH support (FATE#325099). - intel_th: Perform time resync on capture start (FATE#325099). - intel_th: Add global activate/deactivate callbacks for the glue layers (FATE#325099). - intel_th: pci: Use drvdata for quirks (FATE#325099). - intel_th: pti: Support Low Power Path output port type (FATE#325099). - intel_th: Enumerate Low Power Path output port type (FATE#325099). - intel_th: msu: Use the real device in case of IOMMU domain allocation (FATE#325099). - intel_th: Make the switch allocate its subdevices (FATE#325099). - intel_th: Make SOURCE devices children of the root device (FATE#325099). - intel_th: Streamline the subdevice tree accessors (FATE#325099). - intel_th: Output devices without ports don't need assigning (FATE#325099). - intel_th: pci: Enable bus mastering (FATE#325099). - commit e948cb6- Preliminary series.conf sort and update - commit e372e1c- bpf: remove explicit handling of 0 for arg2 in bpf_probe_read (bsc#1083647). - bpf: change helper bpf_probe_read arg2 type to ARG_CONST_SIZE_OR_ZERO (bsc#1083647). - commit c81cbaf- selftests/bpf: add tests for recent bugfixes (bsc#1083647). - bpf: change bpf_probe_write_user to bpf_trace_printk in test_verifier (bsc#1083647). - bpf: fix and add test cases for ARG_CONST_SIZE_OR_ZERO semantics change (bsc#1083647). - commit 3eadeee- net: hns: add ACPI mode support for ethtool -p (bsc#1084041). - commit 1534335- lan78xx: Avoid spurious kevent 4 "error" (bsc#1084332). - lan78xx: Enable LEDs and auto-negotiation (bsc#1084332). - lan78xx: Correctly indicate invalid OTP (bsc#1084332). - lan78xx: Read MAC address from DT if present (bsc#1084332). - lan78xx: Fix failure in USB Full Speed (bsc#1084332). - lan78xx: Use default values loaded from EEPROM/OTP after reset (bsc#1084332). - lan78xx: Allow EEPROM write for less than MAX_EEPROM_SIZE (bsc#1084332). - lan78xx: Fix for eeprom read/write when device auto suspend (bsc#1084332). - lan78xx: Fix to handle hard_header_len update (bsc#1084332). - lan78xx: USB fast connect/disconnect crash fix (bsc#1084332). - commit a355989- rpm/kernel-binary.spec.in: Check module licenses (bsc#1083215,bsc#1083527) - commit e41de0c- x86/kvm/vmx: do not use vm-exit instruction length for fast MMIO when running nested (bsc#1081431). - commit 0b3a20a- usbip: prevent vhci_hcd driver from leaking a socket pointer address (bsc#1078674 CVE-2017-16911). - commit d07e5b4- printk: Wake klogd when passing console_lock owner (bsc#1084301). - commit 7dbb932- net: dst: move cpu inside ifdef to avoid compilation warning (bsc#1083647). - commit dcdefd8- bpf: don't rely on the verifier lock for metadata_dst allocation (bsc#1083647). - commit 4fec793- bpf: allow access to skb->len from offloads (bsc#1083647). - commit 6cb18cc- ixgbe: fix crash in build_skb Rx code path (bsc#1056657 FATE#322189). - RDMA/uverbs: Protect from command mask overflow (bsc#1046306 FATE#322942). - IB/uverbs: Improve lockdep_check (bsc#1046306 FATE#322942). - RDMA/uverbs: Protect from races between lookup and destroy of uobjects (bsc#1046306 FATE#322942). - IB/ipoib: Do not warn if IPoIB debugfs doesn't exist (bsc#1046307 FATE#322941). - net: fix race on decreasing number of TX queues (bsc#1056787). - s390/qeth: fix SETIP command handling (bsc#1061024 FATE#323301). - net/mlx5e: Remove timestamp set from netdevice open flow (bsc#1046303 FATE#322944). - commit bbd85ba- scsi: sr: workaround VMware ESXi cdrom emulation bug (bsc#1080813). - commit d2067fc- bpf, ppc64: implement jiting of BPF_J{LT, LE, SLT, SLE} (bsc#1083647). - bpf, s390x: implement jiting of BPF_J{LT, LE, SLT, SLE} (bsc#1083647). - bpf, arm64: implement jiting of BPF_J{LT, LE, SLT, SLE} (bsc#1083647). - bpf, x86: implement jiting of BPF_J{LT,LE,SLT,SLE} (bsc#1083647). - commit a245dfe- net: ethtool: don't ignore return from driver get_fecparam method (bsc#1046540 FATE#322930). - commit 90a64af- btrfs: preserve i_mode if __btrfs_set_acl() fails (bsc#1083000). - commit 1eddbfd- Btrfs: incremental send, fix wrong unlink path after renaming file (bsc#1083000). - Btrfs: incremental send, fix emission of invalid clone operations (bsc#1083000). - commit 0e8595f- Btrfs: fix unexpected -EEXIST when creating new inode (bsc#1083000). - Btrfs: fix extent state leak from tree log (bsc#1083000). - Btrfs: fix crash due to not cleaning up tree log block's dirty bits (bsc#1083000). - Btrfs: fix deadlock in run_delalloc_nocow (bsc#1083000). - Btrfs: avoid losing data raid profile when deleting a device (bsc#1083000). - Btrfs: fix stale entries in readdir (bsc#1083000). - btrfs: Fix possible off-by-one in btrfs_search_path_in_tree (bsc#1083000). - btrfs: clear ordered flag on cleaning up ordered extents (bsc#1083000). - btrfs: fix readdir deadlock with pagefault (bsc#1083000). - commit 1e19d87- x86/speculation: Add dependency (bnc#1058115). - commit 3d60a5f- Update the usptreamed tag for i915 patch Also moved to sorted section: patches.drivers/drm-i915-cnl-Fix-PORT_TX_DW5-7-register-address - commit d4f2341- Sort patches / update tags - commit 8fad596- objtool: Add module specific retpoline rules (bnc#1058115). - objtool: Add retpoline validation (bnc#1058115). - objtool: Use existing global variables for options (bnc#1058115). - x86/mm/sme, objtool: Annotate indirect call in sme_encrypt_execute() (bnc#1058115). - x86/boot, objtool: Annotate indirect jump in secondary_startup_64() (bnc#1058115). - x86/paravirt, objtool: Annotate indirect calls (bnc#1058115). - x86/speculation, objtool: Annotate indirect calls/jumps for objtool (bnc#1058115). - commit bacb170- objtool: Fix switch-table detection (bnc#1058115). - commit deefb76- Refresh patches.fixes/l2tp-don-t-use-inet_shutdown-on-ppp-session-destroy.patch. - Refresh patches.fixes/l2tp-don-t-use-inet_shutdown-on-tunnel-destroy.patch. - Refresh patches.fixes/l2tp-fix-race-in-pppol2tp_release-with-session-objec.patch. - Refresh patches.fixes/l2tp-fix-races-with-tunnel-socket-close.patch. - Refresh patches.fixes/l2tp-fix-tunnel-lookup-use-after-free-race.patch. Ran series_sort. - commit 18a48e4- Refresh patches.fixes/l2tp-don-t-use-inet_shutdown-on-ppp-session-destroy.patch. - Refresh patches.fixes/l2tp-don-t-use-inet_shutdown-on-tunnel-destroy.patch. - Refresh patches.fixes/l2tp-fix-race-in-pppol2tp_release-with-session-objec.patch. - Refresh patches.fixes/l2tp-fix-races-with-tunnel-socket-close.patch. - Refresh patches.fixes/l2tp-fix-tunnel-lookup-use-after-free-race.patch. - commit bd5bc11- bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y (bsc#1083647). - selftests/bpf: make 'dubious pointer arithmetic' test useful (bsc#1083647). - bpf: fix stack state printing in verifier log (bsc#1083647). - commit 9391768- dm: fix race between dm_get_from_kobject() and __dm_destroy() (bsc#1083242, CVE-2017-18203). - commit 1b6ebbf- rpm: provide %name%-srchash = (FATE#325312). - Also use for kernel-obs-build dependency. - commit b6fccdf- net: ena: increase ena driver version to 1.5.0 (bsc#1083548). - net: ena: add detection and recovery mechanism for handling missed/misrouted MSI-X (bsc#1083548). - net: ena: fix error handling in ena_down() sequence (bsc#1083548). - net: ena: unmask MSI-X only after device initialization is completed (bsc#1083548). - net: ena: fix race condition between device reset and link up setup (bsc#1083548). - net: ena: increase ena driver version to 1.3.0 (bsc#1083548). - net: ena: add new admin define for future support of IPv6 RSS (bsc#1083548). - net: ena: add statistics for missed tx packets (bsc#1083548). - net: ena: add power management ops to the ENA driver (bsc#1083548). - net: ena: remove legacy suspend suspend/resume support (bsc#1083548). - net: ena: improve ENA driver boot time (bsc#1083548). - net: ena: Remove redundant unlikely() (bsc#1083548). - net: ena: fix wrong max Tx/Rx queues on ethtool (bsc#1083548). - net: ena: fix rare kernel crash when bar memory remap fails (bsc#1083548). - net: ena: reduce the severity of some printouts (bsc#1083548). - commit 46c382b- x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend (bnc#1065600). - commit 0c69d71- Drop patches, because new notifier semantic is not in SLE15 (bsc#1082743) - Delete patches.drivers/IB-hfi1-update-to-new-mmu_notifier-semantic.patch. - Delete patches.drivers/IB-umem-update-to-new-mmu_notifier-semantic.patch. - commit c8f3eed- selftests/bpf: fix test_align (bsc#1083647). - selftests/bpf: add test for bogus operations on pointers (bsc#1083647). - selftests/bpf: add a test to test_align (bsc#1083647). - selftests/bpf: rewrite test_align (bsc#1083647). - bpf: allow to specify log level and reduce it for test_verifier (bsc#1083647). - selftests/bpf: make correct use of exit codes in bpf selftests (bsc#1083647). - bpf, tests: set rlimit also for test_align, so it doesn't fail (bsc#1083647). - commit 623858a- Update patches.fixes/netfilter-add-back-stackpointer-size-checks.patch references (add CVE-2018-1065 bsc#1083650). - commit 603dd8a- Update patches.fixes/net-ipv6-fix-regression-of-no-RTM_DELADDR-sent-after.patch references (add bsc#1083557). - commit 0c85cde- doc: Change the min default value of tcp_wmem/tcp_rmem (bsc#1076830). - commit 2dfc414- Fix upstream reference: patches.drivers/scsi-qla2xxx-Fix-FC-NVMe-LUN-discovery.patch. - commit 5b6cf57- raid10: change the size of resync window for clustered raid (bsc#1076343). - commit d4d2d17- x86/platform/intel-mid: Handle Intel Edison reboot correctly (Git-fixes). - blacklist.conf: - timers: Forward timer base before migrating timers (Git-fixes). - commit d95fda8- bpf: mark dst unknown on inconsistent {s, u}bounds adjustments (bsc#1083647). - bpf: reject stores into ctx via st and xadd (bsc#1083647). - bpf: fix 32-bit divide by zero (bsc#1083647). - bpf: fix divides by zero (bsc#1083647). - bpf: arsh is not supported in 32 bit alu thus reject it (bsc#1083647). - bpf: fix spelling mistake: "obusing" -> "abusing" (bsc#1083647). - bpf: introduce BPF_JIT_ALWAYS_ON config (bsc#1083647). Update config files to set CONFIG_BPF_JIT_ALWAYS_ON to y - bpf: do not allow root to mangle valid pointers (bsc#1083647). - commit 81ce49e- bpf: guarantee r1 to be ctx in case of bpf_helper_changes_pkt_data (bsc#1083647). - bpf: add schedule points to map alloc/free (bsc#1083647). - commit 2ff84f7- bpf: improve verifier ARG_CONST_SIZE_OR_ZERO semantics (bsc#1083647). - bpf: fix verifier NULL pointer dereference (bsc#1083647). - bpf: fix out-of-bounds access warning in bpf_check (bsc#1083647). - bpf: fix link error without CONFIG_NET (bsc#1083647). - bpf: fix verifier memory leaks (bsc#1083647). - bpf: reduce verifier memory consumption (bsc#1083647). Refresh patches.fixes/bpf-fix-branch-pruning-logic.patch. Refresh patches.fixes/bpf-fix-incorrect-tracking-of-register-size-truncati.patch. - bpf: move knowledge about post-translation offsets out of verifier (bsc#1083647). - bpf: remove the verifier ops from program structure (bsc#1083647). - bpf: split verifier and program ops (bsc#1083647). - tracing: bpf: Hide bpf trace events when they are not used (bsc#1083647). - bpf: verifier: set reg_type on context accesses in second pass (bsc#1083647). - bpf: write back the verifier log buffer as it gets filled (bsc#1083647). - bpf: move instruction printing into a separate file (bsc#1083647). - bpf: Optimize lpm trie delete (bsc#1083647). - bpf: Implement map_delete_elem for BPF_MAP_TYPE_LPM_TRIE (bsc#1083647). - bpf: Allow cgroup sock filters to use get_current_uid_gid helper (bsc#1083647). - selftests/bpf: don't try to access past MAX_PACKET_OFF in test_verifier (bsc#1083647). - selftests/bpf: change test_verifier expectations (bsc#1083647). Refresh patches.drivers/bpf-verifier-reject-BPF_ALU64-BPF_END.patch. - commit ea80b65- arch-symbols: use bash as interpreter since the script uses bashism. - commit 4cdfb23- xfs: truncate pagecache before writeback in xfs_setattr_size() (bsc#1073412). - commit 73496e4- ipc/msg: introduce msgctl(MSG_STAT_ANY) (bsc#1072689). - ipc/sem: introduce semctl(SEM_STAT_ANY) (bsc#1072689). - ipc/shm: introduce shmctl(SHM_STAT_ANY) (bsc#1072689). - commit c31f2e1- fs/hugetlbfs/inode.c: change put_page/unlock_page order in hugetlbfs_fallocate() (git-fixes, bsc#1083745). - commit 22c8c94- Delete patches.suse/KVM-update-to-new-mmu_notifier-semantic-v2.patch. (bsc#1082743) - Delete patches.suse/KVM-x86-fix-APIC-page-invalidation.patch. (bsc#1082743) - commit 8dfc569- mm: do not rely on preempt_count in print_vma_addr (git-fixes, bsc#1083704). - commit 6b725d8- kernel-binary: do not BuildIgnore m4. It is actually needed for regenerating zconf when it is not up-to-date due to merge. - commit 967b28b- rpm/kernel-binary.spec.in: add build requirement for flex In addition to bison, we also need flex for "make oldconfig". - commit 83d831c- rpm/kernel-binary.spec.in: remove m4 from BuildIgnore list As bison depends on m4, we cannot set !BuildIgnore for it any more. - commit d7695e1- Documentation/sphinx: Fix Directive import error (bsc#1083694). - commit 1407e51- include: psp-sev: Capitalize invalid length enum (bsc#1063068). - KVM/nVMX: Set the CPU_BASED_USE_MSR_BITMAPS if we have a valid L02 MSR bitmap (bsc#1068032 CVE-2017-5754). - KVM: SVM: Fix SEV LAUNCH_SECRET command (bsc#1063068). - KVM: SVM: no need to call access_ok() in LAUNCH_MEASURE command (bsc#1063068). - KVM/x86: Reduce retpoline performance impact in slot_handle_level_range(), by always inlining iterator helper methods (bsc#1068032 CVE-2017-5754). - KVM/x86: Remove indirect MSR op calls from SPEC_CTRL (bsc#1063068). - nospec: Move array_index_nospec() parameter checking into separate macro (bsc#1068032 CVE-2017-5754). - objtool: Fix segfault in ignore_unreachable_insn() (bsc#1068032 CVE-2017-5754). - x86/debug, objtool: Annotate WARN()-related UD2 as reachable (bsc#1068032 CVE-2017-5754). - x86/debug: Use UD2 for WARN() (bsc#1068032 CVE-2017-5754). - x86/entry/64: Clear extra registers beyond syscall arguments, to reduce speculation attack surface (bsc#1068032 CVE-2017-5754). - x86/entry/64: Clear registers for exceptions/interrupts, to reduce speculation attack surface (bsc#1068032 CVE-2017-5754). - x86/entry/64/compat: Clear registers for compat syscalls, to reduce speculation attack surface (bsc#1068032 CVE-2017-5754). - x86/entry/64: Fix CR3 restore in paranoid_exit() (bsc#1068032 CVE-2017-5754). - x86/entry/64: Fix paranoid_entry() frame pointer warning (bsc#1068032 CVE-2017-5754). - x86/entry/64: Get rid of the ALLOC_PT_GPREGS_ON_STACK and SAVE_AND_CLEAR_REGS macros (bsc#1068032 CVE-2017-5754). - x86/entry/64: Indent PUSH_AND_CLEAR_REGS and POP_REGS properly (bsc#1068032 CVE-2017-5754). - x86/entry/64: Interleave XOR register clearing with PUSH instructions (bsc#1068032 CVE-2017-5754). - x86/entry/64: Introduce the PUSH_AND_CLEAN_REGS macro (bsc#1068032 CVE-2017-5754). - x86/entry/64: Merge SAVE_C_REGS and SAVE_EXTRA_REGS, remove unused extensions (bsc#1068032 CVE-2017-5754). - x86/entry/64: Merge the POP_C_REGS and POP_EXTRA_REGS macros into a single POP_REGS macro (bsc#1068032 CVE-2017-5754). - x86/entry/64: Remove the unused 'icebp' macro (bsc#1068032 CVE-2017-5754). - x86/entry/64: Use PUSH_AND_CLEAN_REGS in more cases (bsc#1068032 CVE-2017-5754). - x86/mm: Rename flush_tlb_single() and flush_tlb_one() to __flush_tlb_one_[user|kernel]() (bsc#1068032 CVE-2017-5754). - X86/nVMX: Properly set spec_ctrl and pred_cmd before merging MSRs (bsc#1068032 CVE-2017-5754). - x86/speculation: Clean up various Spectre related details (bsc#1068032 CVE-2017-5754). - x86/speculation: Fix up array_index_nospec_mask() asm constraint (bsc#1068032 CVE-2017-5754). - Refresh patches.arch/09.0-x86-spectre-fix-an-error-message.patch. - commit f83739a- mm/free_pcppages_bulk: prefetch buddy while not holding lock (bnc#971975 VM performance -- page allocator). - mm/free_pcppages_bulk: do not hold lock when picking pages to free (bnc#971975 VM performance -- page allocator). - mm/free_pcppages_bulk: update pcp->count inside (bnc#971975 VM performance -- page allocator). - commit b395d98- x86/cpu: Remove unused and undefined __generic_processor_info() declaration (bnc#1056230). - commit 112c00f- x86/mm/pkeys: Fix fill_sig_info_pkey (git-fixes, bsc#1083529). - commit 2c7fc72- media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32 (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32 (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: avoid sizeof(type) (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32 (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: fix the indentation (CVE-2017-13166,bsc#1072865). - media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF (CVE-2017-13166,bsc#1072865). - media: v4l2-ioctl.c: don't copy back the result for -ENOTTY (CVE-2017-13166,bsc#1072865). - media: v4l2-ioctl.c: use check_fmt for enum/g/s/try_fmt (CVE-2017-13166,bsc#1072865). - commit 5d9eae0- drm/i915: Make global seqno known in i915_gem_request_execute tracepoint (FATE#322643 bsc#1055900). - drm/i915: Clear the in-use marker on execbuf failure (FATE#322643 bsc#1055900). - drm/i915/audio: fix check for av_enc_map overflow (FATE#322643 bsc#1055900). - drm/i915: Fix rsvd2 mask when out-fence is returned (FATE#322643 bsc#1055900). - ALSA: hda - Fix pincfg at resume on Lenovo T470 dock (bsc#1052235). - ALSA: usb-audio: Add a quirck for B&W PX headphones (bsc#1051510). - ALSA: hda: Add a power_save blacklist (bsc#1052235). - commit b784bf6- fs: aio: fix the increment of aio-nr and counting against aio-max-nr (bsc#1068075, bsc#1078921). - commit e2a476e- Update config files: re-enable CONFIG_CRYPTO_FIPS=y (bsc#1083512) - commit c380188- 9p: add missing module license for xen transport (bsc#1083527). - commit c36c39b- supported.conf: Add dm-zoned (FATE#318724) - commit e97e249- Include ACPI button driver in base kernel (bsc#1062056). - commit 412fabd- Enable dm-zoned (FATE#318724). - commit 6098432- Update patches.fixes/mm-madvise.c-fix-madvise-infinite-loop-under-special.patch (bnc#1070964, bnc#1083494, CVE-2017-18208). - commit b82f489- Refresh patches.drivers/ibmvnic-Fix-early-release-of-login-buffer.patch. - commit 9aac42a- Delete patches.suse/0001-kabi-Lift-ifdefs-for-some-disabled-network-protocols.patch. When DCCP was disabled in SLE12-SP2, this patch was added to make it possible to build it as a KMP in case it would turn out someone is actually using it. As there have been no sign of that since, let's drop the patch. - commit 285564e- scsi: qla2xxx: Fix FC-NVMe LUN discovery (bsc#1083224). - commit 58d375c- Fixup patch description for patches.drivers/ibmvnic-Fix-early-release-of-login-buffer.patch - commit 95e3c32- ALSA: seq: Fix racy pool initializations (CVE-2018-7566,bsc#1083483). - commit c7a35b5- l2tp: fix tunnel lookup use-after-free race (bsc#1076830). - l2tp: fix race in pppol2tp_release with session object destroy (bsc#1076830). - l2tp: fix races with tunnel socket close (bsc#1076830). - l2tp: don't use inet_shutdown on ppp session destroy (bsc#1076830). - l2tp: don't use inet_shutdown on tunnel destroy (bsc#1076830). - regulatory: add NUL to request alpha2 (bsc#1076830). - net: ipv4: Set addr_type in hash_keys for forwarded case (bsc#1076830). - tcp_bbr: better deal with suboptimal GSO (bsc#1076830). - netfilter: IDLETIMER: be syzkaller friendly (bsc#1076830). - netfilter: nat: cope with negative port range (bsc#1076830). - netfilter: x_tables: fix missing timer initialization in xt_LED (bsc#1076830). - netfilter: ipt_CLUSTERIP: fix a refcount bug in clusterip_config_find_get() (bsc#1076830). - netfilter: add back stackpointer size checks (bsc#1076830). - netfilter: drop outermost socket lock in getsockopt() (bsc#1076830). - netfilter: ipt_CLUSTERIP: fix a race condition of proc file creation (bsc#1076830). - udplite: fix partial checksum initialization (bsc#1076830). - dn_getsockoptdecnet: move nf_{get/set}sockopt outside sock lock (bsc#1076830). - tcp: Honor the eor bit in tcp_mtu_probe (bsc#1076830). - sctp: do not pr_err for the duplicated node in transport rhlist (bsc#1076830). - bridge: check brport attr show in brport_show (bsc#1076830). - ipv6: set all.accept_dad to 0 by default (bsc#1076830). - l2tp: remove l2tp_tunnel_count and l2tp_session_count (bsc#1076830). Refresh patches.fixes/l2tp-don-t-close-sessions-in-l2tp_tunnel_destruct.patch - l2tp: remove ->ref() and ->deref() (bsc#1076830). - l2tp: initialise PPP sessions before registering them (bsc#1076830). - l2tp: protect sock pointer of struct pppol2tp_session with RCU (bsc#1076830). - ipv6: addrconf: increment ifp refcount before ipv6_del_addr() (bsc#1076830). - l2tp: hold tunnel in pppol2tp_connect() (bsc#1076830). - ipv6: fix net.ipv6.conf.all.accept_dad behaviour for real (bsc#1076830). Refresh patches.fixes/net-ipv6-send-unsolicited-NA-after-DAD.patch - l2tp: fix race between l2tp_session_delete() and l2tp_tunnel_closeall() (bsc#1076830). - l2tp: ensure sessions are freed after their PPPOL2TP socket (bsc#1076830). - ipv6: fix net.ipv6.conf.all interface DAD handlers (bsc#1076830). - net: ipv6: fix regression of no RTM_DELADDR sent after DAD failure (bsc#1076830). - net: don't decrement kobj reference count on init failure (bsc#1076830). - netfilter: ipt_CLUSTERIP: do not hold dev (bsc#1076830). - commit 5f23ad9- Remove page cache limit (fate#323778) - Delete patches.suse/mm-uninline-add-to-page-cache.patch. - Delete patches.suse/pagecache-limit-dirty.diff. - Delete patches.suse/pagecache-limit-fix-get_nr_swap_pages.patch. - Delete patches.suse/pagecache-limit-fix-shmem-deadlock.patch. - Delete patches.suse/pagecache-limit-reduce-zone-lrulock-bouncing.patch. - Delete patches.suse/pagecache-limit-unmapped.diff. - Delete patches.suse/pagecache-limit-warn-on-usage.patch. - Delete patches.suse/pagecache-limit.patch. - Delete patches.suse/pagecachelimit_batch_huge_nr_to_scan.patch. - commit d39d94a- blacklist.conf: add two commits d5902f6d1fbd - a merge commit (we have both commits from the branch) fae8b6f4a6be - fixes comments - commit 9b213a5- Update upstream reference: patches.drivers/ibmvnic-Fix-early-release-of-login-buffer.patch. - commit df1695c- Refresh patches.drivers/ibmvnic-Fix-early-release-of-login-buffer.patch. - commit 70a1572- ocfs2: should wait dio before inode lock in ocfs2_setattr() (bsc#1083244 CVE-2017-18204). - commit f78f4f7- xhci: Don't show incorrect WARN message about events for empty rings (bsc#1068674). - commit 2728c81- bs-upload-kernel: do not set %opensuse_bs Since SLE15 it is not set in the distribution project so do not set it for kernel projects either. - commit d696aa0- ibmvnic: Do not attempt to login if RX or TX queues are not allocated (bsc#1082993). - ibmvnic: Report queue stops and restarts as debug output (bsc#1082993). - ibmvnic: Harden TX/RX pool cleaning (bsc#1082993). - ibmvnic: Allocate statistics buffers during probe (bsc#1082993). - ibmvnic: Fix TX descriptor tracking again (bsc#1082993). - commit 953c6c5- media: usbtv: prevent double free in error case (bsc#1074426 CVE-2017-17975). - commit b36e4d6- Move cdrom patches to storage section. - cdrom: turn off autoclose by default (bsc#1080813). - commit 3c15342- fs/dax.c: release PMD lock even when there is no PMD support in DAX (bsc#1052766). - commit 4806870- ocfs2: return error when we attempt to access a dirty bh in jbd2 (bsc#1052766). - commit aeb7ce9- fscache: Fix the default for fscache_maybe_release_page() (bsc#1052766). - commit 45cac8c- orangefs: off by ones in xattr size checks (bsc#1052766). - commit caf695e- f2fs: trigger normal fsync for non-atomic_write file (bsc#1052766). - commit 8f867cc- HID: rmi: Make sure the HID device is opened on resume (bsc#1081188). - commit c315d03- net: mvneta: eliminate wrong call to handle rx descriptor error (fate#319899). - net: mvneta: use proper rxq_number in loop on rx queues (fate#319899). - net: mvneta: fix handling of the Tx descriptor counter (fate#319899). - commit 24508d7- ip6_gre: remove the incorrect mtu limit for ipgre tap (bsc#1056787). - ip_gre: remove the incorrect mtu limit for ipgre tap (bsc#1056787). - i40iw: Reinitialize IEQ on MTU change (bsc#1058659 FATE#322535). - commit 426bcab- drm: fix tainted kernel caused by drm_panel_orientation_quirks.c (bsc#1083215). - commit b67ad61- kernel: add product-identifying information to kernel build (FATE#325281). - commit b163d4a- kconfig: move SUSE options from init/Kconfig to init/Kconfig.suse - commit 8aa8057- Refresh patch order in sorted section - Refresh patches.drivers/ibmvnic-Check-for-NULL-skb-s-in-NAPI-poll-routine.patch. - Refresh patches.drivers/scsi-megaraid_sas-Do-not-use-32-bit-atomic-request-d.patch. - Refresh patches.drivers/scsi-qla2xxx-Avoid-triggering-undefined-behavior-in-.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-a-locking-imbalance-in-qlt_24xx_han.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-handle-for-abort-IOCB.patch. - commit 63c83e7- KEYS: reject NULL restriction string when type is specified (bsc#1082623). - Fix misannotated out-of-line _copy_to_user() (bsc#1082625). - commit bbdb58c- Delete patches.suse/blk-timeout-no-round. The flag isn't actually being using, and probably isn't needed. Bug 768084 has lots of discussion about delays being a little too long, but I cannot find anything specific about this patch. I suspect the real concern what that the delay was longer than expected, and that maybe in different circumstances it could end up being much longer. As the extra unexpected delay is limited to 1 second, it is probably safe. - commit 7adce7e- Update tags in patches.fixes/ext4-Fix-ENOSPC-handling-in-DAX-page-fault-handler.patch. - commit 2d083b7- x86/platform/UV: Add check of TSC state set by UV BIOS (bsc#1082579). - x86/tsc: Add option that TSC on Socket 0 being non-zero is valid (bsc#1082579). - x86/tsc: Drastically reduce the number of firmware bug warnings (bsc#1082579). - x86/tsc: Make CONFIG_X86_TSC=n build work again (bsc#1082579). - x86/tsc: Provide a means to disable TSC ART (bsc#1082579). - x86/tsc: Skip TSC test and error messages if already unstable (bsc#1082579). - commit 9667786- target/rbd: use target_configure_unmap_from_queue() helper (bsc#1064320). - target/rbd: handle zero length UNMAP requests early (bsc#1064320). - commit 15a71ab- ceph: fix rebased xattr and cmpext support (bsc#1082443) - Refresh patches.drivers/ceph-osd_client-add-support-for-CEPH_OSD_OP_GETXATTR.patch. - Refresh patches.drivers/libceph-add-support-for-CMPEXT-compare-extent-reques.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-cmpsetxattr.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-setxattr.patch. - commit 8add4f9- ibmvnic: Fix early release of login buffer (bsc#1081134, git-fixes). - commit c7b7dcd- Revert "rpm/kernel-binary.spec.in: Also require m4 for build." This reverts commit 0d7b4b3f948c2efb67b7d1b95b5e1dcae225991c. - commit f5686d2- btrfs: account for pinned bytes in should_alloc_chunk (bsc#1040182). - commit fc228ad- housekeeping: move suse-only out-of-tree patches after sorted section - commit 2b8141c- Update patches.fixes/mm-oom_reaper-gather-each-vma-to-prevent-leaking-TLB.patch (bnc#1073258, bnc#1083088, CVE-2017-18202). - commit f906298- housekeeping: move kABI fixes after sorted section - commit ed8c9b1- nvme-pci: Fix timeouts in connecting state (FATE#323952, FATE#322506). - commit 10ad0a0- nvme: rename NVME_CTRL_RECONNECTING state to NVME_CTRL_CONNECTING (FATE#323952, FATE#322506). - Refresh patches.drivers/nvme_fc-cleanup-io-completion.patch. - Refresh patches.drivers/nvme_fc-correct-abort-race-condition-on-resets.patch. - commit c1726a2- btrfs: finish ordered extent cleaning if no progress is found (bsc#1082964). - commit d584b06- kernel-binary: do not package extract-cert when not signing modules (boo#1080250). - commit 10a8bc4- housekeeping: move kbuild/supported patches after sorted section - commit 20e13fb- housekeeping: moved SUSE-specific performance fixes after sorted section - commit e4df9c8- housekeeping: move driver core patch after sorted section - commit c3bf010- housekeeping: move cpufreq patches to sorted section - commit 689ded1- housekeeping: remove empty sections - commit 96041ef- housekeeping: move scheduler/core patches to sorted section - commit c8094ad- net_sched: gen_estimator: fix broken estimators based on percpu stats (bsc#1056787). - net/mlx5: Add header re-write to the checks for conflicting actions (bsc#1046305 FATE#322943). - net/mlx5: Use 128B cacheline size for 128B or larger cachelines (bsc#1081944). - net/mlx5e: Specify numa node when allocating drop rq (bsc#1046305 FATE#322943). - net/mlx5e: Return error if prio is specified when offloading eswitch vlan push (bsc#1046305 FATE#322943). - net/mlx5e: Verify inline header size do not exceed SKB linear size (bsc#1046305 FATE#322943). - net/mlx5e: Fix loopback self test when GRO is off (bsc#1046305 FATE#322943). - net/mlx5e: Fix TCP checksum in LRO buffers (bsc#1046305 FATE#322943). - RDMA/vmw_pvrdma: Fix usage of user response structures in ABI file (bsc#1046306 FATE#322942). - RDMA/uverbs: Sanitize user entered port numbers prior to access it (bsc#1046306 FATE#322942). - RDMA/uverbs: Fix circular locking dependency (bsc#1046306 FATE#322942). - RDMA/uverbs: Fix bad unlock balance in ib_uverbs_close_xrcd (bsc#1046306 FATE#322942). - IB/uverbs: Fix unbalanced unlock on error path for rdma_explicit_destroy (bsc#1046306 FATE#322942). - IB/uverbs: Hold the uobj write lock after allocate (bsc#1046306 FATE#322942). - IB/uverbs: Fix method merging in uverbs_ioctl_merge (bsc#1046306 FATE#322942). - PCI/cxgb4: Extend T3 PCI quirk to T4+ devices (bsc#1064802 bsc#1066129). - cxgb4: fix trailing zero in CIM LA dump (bsc#1064802 bsc#1066129). - commit 2727999- housekeeping: move locking/core patches to sorted section - commit 023fb41- housekeeping: moved s390 patches to sorted section - commit fba6ff3- housekeeping: move x86 patches to sorted section - commit 484f12c- Re-sorted series - Refresh patches.drivers/ibmvnic-Check-for-NULL-skb-s-in-NAPI-poll-routine.patch. - Refresh patches.drivers/scsi-qla2xxx-Avoid-triggering-undefined-behavior-in-.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-a-locking-imbalance-in-qlt_24xx_han.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-handle-for-abort-IOCB.patch. - commit 9b71c59- nl80211: take RCU read lock when calling ieee80211_bss_get_ie() (bsc#1051510). - nl80211: fix nl80211_send_iface() error paths (bsc#1051510). - commit d8941e6- housekeeping: move VM/FS patches to sorted section - commit 1fd8e1f- blacklist.conf: add a media blacklist - commit a3cbc5c- extcon: int3496: process id-pin first so that we start with the right status (bsc#1051510). - ALSA: usb-audio: Fix UAC2 get_ctl request with a RANGE attribute (bsc#1051510). - media: exynos4-is: properly initialize frame format (bsc#1051510). - media: cpia2: Fix a couple off by one bugs (bsc#1051510). - Input: 88pm860x-ts - fix child-node lookup (bsc#1051510). - Input: twl6040-vibra - fix child-node lookup (bsc#1051510). - Input: twl4030-vibra - fix sibling-node lookup (bsc#1051510). - cfg80211: fix station info handling bugs (bsc#1051510). - cfg80211: check dev_set_name() return value (bsc#1051510). - mfd: twl6040: Fix child-node lookup (bsc#1051510). - mfd: twl4030-audio: Fix sibling-node lookup (bsc#1051510). - nl80211: don't expose wdev->ssid for most interfaces (bsc#1051510). - Documentation/sphinx: fix kernel-doc decode for non-utf-8 locale (bsc#1051510). - [media] dvb uapi docs: enums are passed by value, not reference (bsc#1051510). - Docs: Fix breakage with Sphinx 1.5 and upper (bsc#1051510). - Docs: Include the Latex "ifthen" package (bsc#1051510). - commit d06484d- drm/vmwgfx: fix memory corruption with legacy/sou connectors (bsc#1051510). - drm/atomic: Unref duplicated drm_atomic_state in drm_atomic_helper_resume() (bsc#1051510). - commit 18be9dc- blacklist.conf: add duplicated (cherry-picked) commits - commit 4abafa8- blacklist.conf: Update drm blacklists They can't be applied because of the lack of some DRM stuff - commit 92abf6d- mac80211: fix calling sleeping function in atomic context (bsc#1051510). - mac80211: fix a possible leak of station stats (bsc#1051510). - cfg80211: fix cfg80211_beacon_dup (bsc#1051510). - PKCS#7: fix direct verification of SignerInfo signature (bsc#1051510). - PKCS#7: fix certificate blacklisting (bsc#1051510). - PKCS#7: fix certificate chain verification (bsc#1051510). - i2c: designware: must wait for enable (bsc#1051510). - drm: Handle unexpected holes in color-eviction (bsc#1051510). - drm/edid: Add 6 bpc quirk for CPT panel in Asus UX303LA (bsc#1051510). - drm/atomic: Fix memleak on ERESTARTSYS during non-blocking commits (bsc#1051510). - drm/cirrus: Load lut in crtc_commit (bsc#1051510). - drm: cirrus: remove dead code and pointless local lut storage (bsc#1051510). - commit ff526a9- Preliminary series sort / updates - commit 91ac254- powerpc/powernv: Support firmware disable of RFI flush (bsc#1068032). - powerpc/pseries: Support firmware disable of RFI flush (bsc#1068032). - commit cfd8a20- powerpc/mm/drmem: Fix unexpected flag value in ibm,dynamic-memory-v2 (FATE#324825, bsc#1077428). - commit 2c4ae37- media: hdpvr: Fix an error handling path in hdpvr_probe() (bsc#1067118 CVE-2017-16644). - commit 487f60d- KEYS: prevent creating a different user's keyrings (bnc#1065999). - commit 29ba1a4- f2fs: fix a bug caused by NULL extent tree (bsc#1082478). - commit 1902646- housekeeping: move IPC patches to sorted section - commit 3d6c0d8- housekeeping: moved small misc fixes to sorted section - commit 2dae190- housekeeping: moved ACPI patches to sorted section - commit 6332c79- housekeeping: move hyperv patches to sorted section - commit 0cbd157- housekeeping: move ocfs2/dlm patches to sorted section - commit 7a0f77b- housekeeping: move arm patches into sorted section There is a code change here, but it matches what the upstream ordering is. - commit e55cbe7- housekeeping: move driver patches to sorted section - commit 2167086- housekeeping: move cifs patches to sorted section - commit 648f4e7- housekeeping: move epoll and lib patches to sorted section - commit 435924b- housekeeping: move powerpc patches to sorted section - commit 5f0255b- scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 (bsc#1082595). - scsi: lpfc: update driver version to 12.0.0.0 (bsc#1082595). - scsi: lpfc: Work around NVME cmd iu SGL type (bsc#1082595). - scsi: lpfc: Fix nvme embedded io length on new hardware (bsc#1082595). - scsi: lpfc: Add embedded data pointers for enhanced performance (bsc#1082595). - scsi: lpfc: Enable fw download on if_type=6 devices (bsc#1082595). - scsi: lpfc: Add if_type=6 support for cycling valid bits (bsc#1082595). - scsi: lpfc: Add 64G link speed support (bsc#1082595). - scsi: lpfc: Add PCI Ids for if_type=6 hardware (bsc#1082595). - scsi: lpfc: Add push-to-adapter support to sli4 (bsc#1082595). - scsi: lpfc: Add SLI-4 if_type=6 support to the code base (bsc#1082595). - scsi: lpfc: Rework sli4 doorbell infrastructure (bsc#1082595). - scsi: lpfc: Rework lpfc to allow different sli4 cq and eq handlers (bsc#1082595). - scsi: scsi_transport_fc: fix typos on 64/128 GBit define names (bsc#1082595). - commit baa2a7f- Refresh patches.drivers/ibmvnic-Check-for-NULL-skb-s-in-NAPI-poll-routine.patch. - Refresh patches.drivers/scsi-qla2xxx-Avoid-triggering-undefined-behavior-in-.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-a-locking-imbalance-in-qlt_24xx_han.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-handle-for-abort-IOCB.patch. - commit fae1c5f- housekeeping: move storage patches into sorted section - commit cab2152- housekeeping: move v4l patches to sorted section - commit 5947eb8- housekeeping: move random patch to sorted section - commit f7c56ff- housekeeping: move spectre/meltdown fixes to sorted section - commit 425c053- housekeeping: move xen patches to sorted section - commit 193f238- housekeeping: move livepatching to sorted section - commit 32b7773- housekeeping: movw sysctl selftests to sorted section - commit 21d7c50- housekeeping: move sysctl patches to sorted section - commit 5453ebc- housekeeping: move iommu patches to sorted section - commit 5ed331f- housekeeping: move perf patches to sorted section - commit e4f7f31- housekeeping: move kdump patches to sorted section - commit 32d312b- housekeeping: move objtool patches to sorted section - commit cb30180- housekeeping: move some modsign patches into sorted section - commit 69f402d- housekeeping: move crypto patches to sorted section - commit 2f5e73f- housekeeping: move security patches to sorted section - commit 7826f37- housekeeping: move md patches to sorted section - commit 0d60c5b- housekeeping: move suspend/resume patches to sorted section - commit eb55162- housekeeping: moved other drivers to sorted section - commit d00ddbb- housekeeping: move printk patches to sorted section - commit a3b711d- housekeeping: moved input patches to sorted section - commit e6a3294- housekeeping: move serial patches to sorted section - commit 7439018- housekeeping: move I2C patches to sorted section - commit 81970be- housekeeping: move PCI patches to sorted section - commit bc33814- housekeeping: move thunderbolt patches to sorted section - commit ceb04da- housekeeping: move USB to sorted section - commit 6f2b28e- housekeeping: move intel-drm to sorted section - commit ad78bb9- housekeeping: rename some fs patches - commit 14854d5- housekeeping: move other file system patches into sorted section - commit d6e80d0- housekeeping: move apparmor to sorted section - commit eb353f7- housekeeping: move NFS to sorted section - commit eb19955- housekeeping: move cephfs patches into sorted section - commit c1e3883- git_sort: add powerpc/fixes branch. - commit efaef8c- housekeeping: relocate xfs, btrfs, reiserfs, and ext4 patches to sorted - commit 667c204- Update and enable patches.suse/scsi-do-not-print-reservation-conflict-for-TEST-UNIT.patch (bsc#1027054, bsc#1082587). - commit c6ccd44- Enable patches.fixes/sd-always-scan-VPD-pages-if-thin-provisioning-is-ena.patch (bsc#1013792, bsc#1082587). - commit 83c00c1- housekeeping: update tags and resort series - commit 1f975c7- Refresh and enable patches.fixes/sd-always-retry-READ-CAPACITY-for-ALUA-state-transit.patch (bsc#1082587, bsc#895814). - commit 426325e- refresh patch to fix build when SMB2 disabled - commit e54b17e- Refresh and enable patches.fixes/scsi-disable-VPD-page-check-on-error.patch (bsc#1082587, bsc#981854). - commit 53727b5- Delete patches.suse/scsi-always-retry-internal-target-error.patch (bsc#1082587). This one is superseded by patches.fixes/scsi-handle-special-return-codes-for-ABORTED-COMM.patch - commit 62ad20c- Delete patches.suse/aacraid-export-fixed-module-param (bsc#1082587). This patch has a comment: "should be dropped in SLES13". Thus dropping it. - commit 5794c6c- Refresh and enable patches.fixes/scsi_scan-Send-TEST-UNIT-READY-to-LUN0-before-LUN-sc.patch (bnc#843236, bnc#893377, bsc#1063043). - commit 1972fc8- blacklist 171360d7800c tpm: fix type of a local variable in tpm2_get_cc_attrs_tbl() 1a7a9b26c69d tpm: fix type of a local variables in tpm_tis_spi.c 4557d4bedc9c tpm: fix type of a local variable in tpm2_map_command() These only add endian annotation to variables. - commit 5804018- tpm_tis_spi: Use DMA-safe memory for SPI transfers (bsc#1082555). - tpm: constify transmit data pointers (bsc#1082555). - tpm/tpm_crb: fix priv->cmd_size initialisation (bsc#1082555). - tpm_tis: Use platform_get_irq (bsc#1082555). - tpm_tis: Fix IRQ autoprobing when using platform_device (bsc#1082555). - commit 8ed9550- scsi: handle special return codes for ABORTED COMMAND (bsc#1069138, bnc#745640, bnc#825227). - commit 291f96e- Refresh patches.drivers/scsi-megaraid_sas-Do-not-use-32-bit-atomic-request-d.patch. - commit d3bb77b- drivers/fbdev/efifb: Allow BAR to be moved instead of claiming it (fate#323912). - IB/hns: checking for IS_ERR() instead of NULL (fate#323912). - arm64: sysreg: Fix unprotected macro argmuent in write_sysreg (fate#323912). - efi/fb: Correct PCI_STD_RESOURCE_END usage (fate#323912). - commit 8bc4586- nfit_test Make private definitions to command emulation (bsc#1082491). - commit 05aa73b- Re-sort series.conf - commit 5d633e1- Update config files: KEXEC_VERIFY_SIG=n for x86 vanilla - commit c240e03- bpf: fix stack_depth usage by test_bpf.ko (bsc#1081174 bsc#1081380). - bpf: track stack depth of classic bpf programs (bsc#1081174 bsc#1081380). - commit 78f0fd9- series.conf: refresh Ran series_sort.py (no effect on expanded tree). - commit 8f7ddd5- EDAC, thunderx: Fix error handling path in thunderx_lmc_probe() (bsc#1057038). - blacklist.conf: - EDAC, thunderx: Fix a warning during l2c debugfs node creation (bsc#1057038). - EDAC, sb_edac: Don't create a second memory controller if HA1 is not present (bsc#1061721). - EDAC, sb_edac: Classify memory mirroring modes (bsc#1061721). - EDAC, sb_edac: Avoid creating SOCK memory controller (bsc#1061721). - EDAC, sb_edac: Bump driver version and do some cleanups (bsc#1061721). - EDAC, sb_edac: Check if ECC enabled when at least one DIMM is present (bsc#1061721). - EDAC, sb_edac: Carve out dimm-populating loop (bsc#1061721). - EDAC, sb_edac: Assign EDAC memory controller per h/w controller (bsc#1061721). - EDAC, sb_edac: Don't use "Socket#" in the memory controller name (bsc#1061721). - EDAC, sb_edac: Classify PCI-IDs by topology (bsc#1061721). - EDAC, skx_edac: Handle systems with segmented PCI busses (bsc#1076447). - EDAC, skx_edac: Fix detection of single-rank DIMMs (bsc#1076447). - x86/cpu/amd: Limit cpu_core_id fixup to families older than F17h (bsc#1060229). - commit 8fc298f- dm mpath: remove annoying message of 'blk_get_request() returned -11' (bsc#1077989). - Refresh patches.suse/dm-mpath-accept-failed-paths. - commit a7c32d7- acpi, nfit: fix register dimm error handling (bsc#1082491). - acpi, nfit: fix health event notification (bsc#1082491). - acpi/nfit: Issue Start ARS to retrieve existing records (bsc#1082491). - acpi/nfit: Add support of NVDIMM memory error notification in ACPI 6.2 (bsc#1082491). - commit 1a9ab53- scsi: bnx2fc: Simplify CPU hotplug code (bsc#1077989). - Refresh patches.drivers/scsi-bnx2i-simplify-cpu-hotplug-code. - commit c6b20e3- scsi: scsi_dh: suppress errors from unsupported devices (bsc#1077989). - scsi: scsi_dh: Return SCSI_DH_XX error code from ->attach() (bsc#1077989). - scsi: fc: check for rport presence in fc_block_scsi_eh (bsc#1077989). - scsi: scsi_transport_fc: Also check for NOTPRESENT in fc_remote_port_add() (bsc#1077989). - scsi: scsi_transport_fc: set scsi_target_id upon rescan (bsc#1077989). - commit ca27253- scsi: aacraid: Fix hang in kdump (bsc#1077989). - scsi: aacraid: Check for PCI state of device in a generic way (bsc#1077989). - commit 9736167- Drop superseded SUSE-specific patches - Delete patches.drivers/qla2xxx-0040-Add-module-parameter-for-interrupt-mode.patch. - Delete patches.fixes/scsi-Add-AIX-VDASD-to-blacklist.patch. - Delete patches.fixes/scsi-Handle-power-on-reset-unit-attention.patch. - Delete patches.fixes/scsi-Modify-HITACHI-OPEN-V-blacklist.patch. - Delete patches.fixes/scsi-do-not-retry-invalid-function-error.patch. - commit 2f21950- scsi: lpfc: Use after free in lpfc_rq_buf_free() (bsc#1077989). - Refresh patches.drivers/scsi-lpfc-Fix-RQ-empty-firmware-trap.patch. - commit dba777c- scsi: qedf: Fix error return code in __qedf_probe() (bsc#1077989). - scsi: mpt3sas: Proper handling of set/clear of "ATA command pending" flag (bsc#1077989). - scsi: fnic: add a space after %p in printf format (bsc#1077989). - scsi: devinfo: replace "Dell PV 650F" with "EMC CLARiiON" (bsc#1077989). - scsi: dh: add new rdac devices (bsc#1077989). - scsi: devinfo: apply to HP XP the same flags as Hitachi VSP (bsc#1077989). - scsi: devinfo: Apply to HP-rebranded the same flags as Hitachi (bsc#1077989). - scsi: pmcraid: use correct size unit when calling find_first_zero_bit() (bsc#1077989). - scsi: ibmvscsis: add DRC indices to debug statements (bsc#1077989). - block: fix blk_rq_append_bio (bsc#1077989). - scsi: aacraid: Fix I/O drop during reset (bsc#1077989). - scsi: aacraid: Prevent crash in case of free interrupt during scsi EH path (bsc#1077989). - scsi: aacraid: Perform initialization reset only once (bsc#1077989). - scsi: aacraid: Check for PCI state of device in a generic way (bsc#1077989). - scsi: bnx2fc: Fix hung task messages when a cleanup response is not received during abort (bsc#1077989). - cxlflash: get rid of pointless access_ok() (bsc#1077989). - scsi: scsi_error: DID_SOFT_ERROR comment clean up (bsc#1077989). - scsi: cxlflash: Derive pid through accessors (bsc#1077989). - scsi: cxlflash: Allow cards without WWPN VPD to configure (bsc#1077989). - scsi: cxlflash: Use derived maximum write same length (bsc#1077989). - scsi: scsi_devinfo: Add scsi_devinfo_tbl.c (bsc#1077989). - scsi: hpsa: bump driver version (bsc#1077989). - scsi: hpsa: add enclosure logical identifier (bsc#1077989). - scsi: hpsa: correct logical volume removal (bsc#1077989). - scsi: hpsa: reduce warning messages on device removal (bsc#1077989). - scsi: hpsa: update queue depth for externals (bsc#1077989). - scsi: hpsa: correct smart path enabled (bsc#1077989). - scsi: hpsa: change timeout for internal cmds (bsc#1077989). - scsi: hpsa: update discovery polling (bsc#1077989). - scsi: hpsa: add controller checkpoint (bsc#1077989). - scsi: hpsa: clear tmpdevice in scan thread (bsc#1077989). - scsi: hpsa: cleanup sas_phy structures in sysfs when unloading (bsc#1077989). - scsi: hpsa: destroy sas transport properties before scsi_host (bsc#1077989). - scsi: scsi_error: Handle power-on reset unit attention (bsc#1077989). - scsi: scsi_error: Do not retry illegal function error (bsc#1077989). - scsi: sd: change manage_start_stop to bool in sysfs interface (bsc#1077989). - scsi: sd: change allow_restart to bool in sysfs interface (bsc#1077989). - scsi: scsi: Export blacklist flags to sysfs (bsc#1077989). - scsi: sd_zbc: Fix sd_zbc_read_zoned_characteristics() (bsc#1077989). - scsi: sd_zbc: Use well defined macros (bsc#1077989). - scsi: sd_zbc: Rearrange code (bsc#1077989). - scsi: sd_zbc: Fix comments and indentation (bsc#1077989). - scsi: sd_zbc: Move ZBC declarations to scsi_proto.h (bsc#1077989). - scsi: libcxgbi: in case of vlan pass 0 as ifindex to find route (bsc#1077989). - scsi: sd: Align maximum write same blocks to physical block size (bsc#1077989). - scsi: csiostor: enable PCIe relaxed ordering if supported (bsc#1077989). - scsi: libcxgbi: remove redundant check and close on csk (bsc#1077989). - scsi: fcoe: open-code fcoe_destroy_work() for NETDEV_UNREGISTER (bsc#1077989). - scsi: fcoe: separate out fcoe_vport_remove() (bsc#1077989). - scsi: fcoe: move fcoe_interface_remove() out of fcoe_interface_cleanup() (bsc#1077989). - scsi: bnx2i: Clean up unused pointers in bnx2i_hwi (bsc#1077989). - block: Make q_usage_counter also track legacy requests (bsc#1077989). - =?UTF-8?q?scsi:=20hpsa:=20Fix=20configured=5Flogical=5Fdr?= =?UTF-8?q?ive=5Fcount=C2=B7check?= (bsc#1077989). - scsi: ibmvscsis: Fix write_pending failure path (bsc#1077989). - scsi: libiscsi: Remove iscsi_destroy_session (bsc#1077989). - scsi: libiscsi: Fix use-after-free race during iscsi_session_teardown (bsc#1077989). - scsi: sd: Implement blacklist option for WRITE SAME w/ UNMAP (bsc#1077989). - scsi: ILLEGAL REQUEST + ASC==27 => target failure (bsc#1077989). - scsi: aacraid: Fix 2T+ drives on SmartIOC-2000 (bsc#1077989). - scsi: Fix the kerneldoc for scsi_initialize_rq() (bsc#1077989). - scsi: Use blk_mq_rq_to_pdu() to convert a request to a SCSI command pointer (bsc#1077989). - scsi: Document which queue type a function is intended for (bsc#1077989). - scsi: Convert a strncmp() call into a strcmp() call (bsc#1077989). - scsi: Suppress gcc 7 fall-through warnings reported with W=1 (bsc#1077989). - scsi: ufs: reqs and tasks were put in the wrong order (bsc#1077989). - scsi: pmcraid: fix duplicated code for different branches (bsc#1077989). - scsi: sym53c8xx: Avoid undefined behaviour (bsc#1077989). - scsi: virtio: virtio_scsi: Set can_queue to the length of the virtqueue (bsc#1077989). - scsi: mvsas: replace kfree with scsi_host_put (bsc#1077989). - scsi: esp_scsi: Always clear msg_out_len after MESSAGE OUT phase (bsc#1077989). - scsi: esp_scsi: Avoid sending ABORT TASK SET messages (bsc#1077989). - scsi: esp_scsi: Clean up control flow and dead code (bsc#1077989). - scsi: libcxgbi: use ndev->ifindex to find route (bsc#1077989). - scsi: mpt3sas: Fix memory allocation failure test in 'mpt3sas_base_attach()' (bsc#1077989). - scsi: mpt3sas: fix format overflow warning (bsc#1077989). - scsi: sg: off by one in sg_ioctl() (bsc#1077989). - scsi: cxgb4i: call neigh_event_send() to update MAC address (bsc#1077989). - scsi: bnx2fc: Prevent recursive cpuhotplug locking (bsc#1077989). - scsi: bnx2fc: Plug CPU hotplug race (bsc#1077989). - ibmvscsis: Use tpgt passed in by user (bsc#1077989). - ibmvscsis: Enable Logical Partition Migration Support (bsc#1077989). - scsi: hpsa: fix spelling mistake: "encrypytion" -> "encryption" (bsc#1077989). - scsi: hptiop: make function hptiop_iop_request_callback_itl static (bsc#1077989). - scsi: esas2r: Replace semaphore fs_api_semaphore with mutex (bsc#1077989). - scsi: esas2r: Replace semaphore fm_api_semaphore with mutex (bsc#1077989). - scsi: libiscsi: use kvzalloc for iscsi_pool_init (bsc#1077989). - scsi: ibmvscsi_tgt: remove use of class_attrs (bsc#1077989). - commit eb5e851- blacklist.conf: add some fixes from 12SP3 - commit 3559625- Update config files (bsc#1082443). - commit ae8d93d- target/rbd: rebase and reapply LIO+RBD patch set (bsc#1082443). - Refresh patches.drivers/ceph-osd_client-add-support-for-CEPH_OSD_OP_GETXATTR.patch. - Refresh patches.drivers/libceph-add-scatterlist-messenger-data-type.patch. - Refresh patches.drivers/libceph-add-support-for-CMPEXT-compare-extent-reques.patch. - Refresh patches.drivers/libceph-add-support-for-write-same-requests.patch. - Refresh patches.drivers/libceph-fix-pr_fmt-compile-issues.patch. - Refresh patches.drivers/rbd-add-cmpsetattr-device-attribute-for-debugging.patch. - Refresh patches.drivers/rbd-add-getxattr-device-attribute-for-debugging.patch. - Refresh patches.drivers/rbd-add-lio-specific-data-area.patch. - Refresh patches.drivers/rbd-add-num-ops-calculator-helper.patch. - Refresh patches.drivers/rbd-add-rbd_dev_cmpsetxattr-helper.patch. - Refresh patches.drivers/rbd-add-rbd_dev_getxattr-helper.patch. - Refresh patches.drivers/rbd-add-rbd_dev_setxattr-helper.patch. - Refresh patches.drivers/rbd-add-setxattr-device-attribute-for-debugging.patch. - Refresh patches.drivers/rbd-add-support-for-COMPARE_AND_WRITE-CMPEXT.patch. - Refresh patches.drivers/rbd-add-support-for-scatterlist-obj_request_type.patch. - Refresh patches.drivers/rbd-add-support-for-writesame-requests.patch. - Refresh patches.drivers/rbd-add-write-test-helper.patch. - Refresh patches.drivers/rbd-export-some-functions-used-by-lio-rbd-backend.patch. - Refresh patches.drivers/rbd-move-structs-used-by-lio-rbd-to-new-header.patch. - Refresh patches.drivers/target-add-COMPARE_AND_WRITE-sg-creation-helper.patch. - Refresh patches.drivers/target-add-compare-and-write-callback.patch. - Refresh patches.drivers/target-add-lio-rbd-to-makefile-Kconfig.patch. - Refresh patches.drivers/target-add-rbd-backend.patch. - Refresh patches.drivers/target-compare-and-write-backend-driver-sense-handli.patch. - Refresh patches.drivers/target-configfs-add-device-vendor_id-attribute.patch. - Refresh patches.drivers/target-pr-add-backend-API-for-reservation-handling.patch. - Refresh patches.drivers/target-pr-fix-core_scsi3_pr_seq_non-caller.patch. - Refresh patches.drivers/target-pr-split-out-and-export-core_scsi3_pr_seq_non.patch. - Refresh patches.drivers/target-rbd-SCSI3-check-conflict-support.patch. - Refresh patches.drivers/target-rbd-add-SCSI2-reservation-entry-to-PR-info.patch. - Refresh patches.drivers/target-rbd-add-pr_clear-support.patch. - Refresh patches.drivers/target-rbd-add-pr_preempt-support.patch. - Refresh patches.drivers/target-rbd-add-pr_read_reservation-support.patch. - Refresh patches.drivers/target-rbd-add-pr_release-support.patch. - Refresh patches.drivers/target-rbd-add-pr_report_capabilities-support.patch. - Refresh patches.drivers/target-rbd-add-pr_reserve-support.patch. - Refresh patches.drivers/target-rbd-add-stubbed-out-pr_read_full_status.patch. - Refresh patches.drivers/target-rbd-add-stubbed-out-pr_register_and_move.patch. - Refresh patches.drivers/target-rbd-add-support-for-PR-register-read-keys.patch. - Refresh patches.drivers/target-rbd-fix-PR-info-memory-leaks.patch. - Refresh patches.drivers/target-rbd-handle-SCSI2-reservation-release-on-reset.patch. - Refresh patches.drivers/target-rbd-implement-SCSI2-reservation-handling.patch. - Refresh patches.fixes/0001-rbd-drop-extra-rbd_img_request_get.patch. - Refresh patches.fixes/0002-rbd-make-sure-pages-are-freed-by-libceph.patch. - Refresh patches.fixes/libceph-fix-scatterlist-last_piece-calculation.patch. - Refresh patches.fixes/libceph-use-upstream-write-same-opcode.patch. - Refresh patches.fixes/rbd-copy-compare-and-write-osd-requests-before-resub.patch. - Refresh patches.fixes/rbd-don-t-log-miscompare-as-an-error.patch. - Refresh patches.fixes/rbd-handle-OBJ_REQUEST_SG-types-for-copyup.patch. - Refresh patches.fixes/rbd-helper-to-copy-compare-and-write-osd-requests.patch. - Refresh patches.fixes/rbd-truncate-objects-on-cmpext-short-reads.patch. - Refresh patches.fixes/target-fix-tcm_rbd_gen_it_nexus-for-emulated-XCOPY-s.patch. - Refresh patches.fixes/target-rbd-don-t-put-snap_context-twice.patch. - Refresh patches.fixes/target-rbd-remove-caw_mutex-usage.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-cmpsetxattr.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-getxattr.patch. - Refresh patches.suse/rbd-do-away-with-obj_request-in-setxattr.patch. - Delete patches.drivers/libceph-support-bidirectional-requests.patch. - Delete patches.drivers/target-rbd-fix-COMPARE-AND-WRITE-page-vector-leak.patch. - Delete patches.fixes/ceph-memory-leak-in-ceph_direct_read_write-callback.patch. - Delete patches.fixes/rbd-ensure-r_request-is-allocated-for-creatrunc.patch. - Delete patches.fixes/rbd-fix-and-simplify-rbd_osd_req_format_rw.patch. - Delete patches.suse/libceph-handle-writefull-for-OSD-op-extent-init.patch. - commit 813747a- seq_file: fix incomplete reset on read from zero offset (git-fixes). - kernfs: fix regression in kernfs_fop_write caused by wrong type (git-fixes). - jffs2: Fix use-after-free bug in jffs2_iget()'s error handling path (git-fixes). - xprtrdma: Fix BUG after a device removal (git-fixes). - xprtrdma: Fix calculation of ri_max_send_sges (git-fixes). - xprtrdma: Fix "bytes registered" accounting (git-fixes). - xprtrdma: Fix backchannel allocation of extra rpcrdma_reps (git-fixes). - NFS: Fix a race between mmap() and O_DIRECT (git-fixes). - NFS: reject request for id_legacy key without auxdata (git-fixes). - nfs: Do not convert nfs_idmap_cache_timeout to jiffies (git-fixes). - nfsd: fix panic in posix_unblock_lock called from nfs4_laundromat (git-fixes). - lockd: lost rollback of set_grace_period() in lockd_down_net() (git-fixes). - lockd: double unregister of inetaddr notifiers (git-fixes). - nfs: Fix ugly referral attributes (git-fixes). - NFS: Optimize fallocate by refreshing mapping when needed (bsc#1033587). - commit 3cc1a0a- kernel/sysctl_binary.c: check name array length in deprecated_sysctl_warning() (FATE#323821). - commit da77fbb- Refresh patches.drivers/0006-test_sysctl-add-simple-proc_dointvec-case.patch. - commit 9426899- x86/gart: Exclude GART aperture from vmcore (bsc#1046513). - commit 3a49197- scripts/sequence-patch.sh: bump patch version req to v2.7 While at it also update the way we compute the version so a way which is much more easier to read and maintain. We borrow the kernel's scripts/ld-version.sh which has been in use for ages. - commit 8fe4408- Refresh patches.drivers/ibmvnic-Split-counters-for-scrq-pools-napi.patch. Add upstream commit hash - commit 9eac9cb- ibmvnic: Fix TX descriptor tracking (bsc#1081491). - commit 87f9261- kexec_file: Restrict at runtime if the kernel is locked down (fate#314486). - kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE (fate#314486). - Update config files. - normalize return values of load_module with kernel lockdown patches.suse/0042-Enforce-module-signatures-if-the-kernel-is-locked-do.patch. - Delete patches.suse/0047-kexec_file-Disable-at-runtime-if-securelevel-has-bee.patch. - commit 61ff520- userfaultfd: non-cooperative: fix fork use after free. - commit 6637734- xen/pvh*: Support > 32 VCPUs at domain restore (bnc#1065600). - xen/vcpu: Simplify xen_vcpu related code (bnc#1065600). - commit ed8f926- mm, x86, powerpc: display pkey in smaps only if arch supports pkeys (FATE#322447, bsc#1078248). - Refresh to current upstream submit - Refresh patches.suse/mm-fix-KSM-data-corruption.patch. - commit 6c82a45- rpm/kernel-spec-macros: Try harder to detect Build Service environment (bsc#1078788) - commit a5f1a4a- qla2xxx: ensure async flags are reset correctly (bsc#1081681). - qla2xxx: do not check login_state if no loop id is assigned (bsc#1081681). - qla2xxx: Fixup locking for session deletion (bsc#1081681). - commit 9d633ab- qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT (v2) (bsc#1077989). - commit eafbfa7- qla2xxx: Convert QLA_TGT_ABTS to TARGET_SCF_LOOKUP_LUN_FROM_TAG (bsc#1077989). - Refresh patches.drivers/0071-scsi-qla2xxx-Fix-task-mgmt-handling-for-NPIV.patch. - commit 0f758c5- btrfs: remove spurious WARN_ON(ref->count < 0) in find_parent_nodes (bsc#1081248). - commit 8d9dca0- Refresh mainline tags - Refresh patches.drivers/ibmvnic-Clean-RX-pool-buffers-during-device-close.patch. - Refresh patches.drivers/ibmvnic-Fix-NAPI-structures-memory-leak.patch. - Refresh patches.drivers/ibmvnic-Fix-login-buffer-memory-leaks.patch. - Refresh patches.drivers/ibmvnic-Free-RX-socket-buffer-in-case-of-adapter-err.patch. - Refresh patches.drivers/ibmvnic-Wait-until-reset-is-complete-to-set-carrier-.patch. - commit 54182ed- crypto: skcipher - set walk.iv for zero-length inputs (bsc#1051510). - commit fc489a6- rtlwifi: rtl8821ae: Fix connection lost problem correctly (bsc#1051510). - Input: synaptics-rmi4 - unmask F03 interrupts when port is opened (bsc#1051510). - crypto: sha3-generic - fixes for alignment and big endian operation (bsc#1051510). - crypto: echainiv - Remove unused alg/spawn variable (bsc#1051510). - crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH (bsc#1051510). - crypto: chacha20poly1305 - validate the digest size (bsc#1051510). - crypto: rsa - fix buffer overread when stripping leading zeroes (bsc#1051510). - pkcs7: return correct error code if pkcs7_check_authattrs() fails (bsc#1051510). - crypto: skcipher - Fix skcipher_walk_aead_common (bsc#1051510). - crypto: dh - Don't permit 'key' or 'g' size longer than 'p' (bsc#1051510). - crypto: dh - Don't permit 'p' to be 0 (bsc#1051510). - crypto: lrw - Check for incorrect cipher name (bsc#1051510). - crypto: lrw - Fix an error handling path in 'create()' (bsc#1051510). - pkcs7: Prevent NULL pointer dereference, since sinfo is not always set (bsc#1051510). - KEYS: Fix the wrong index when checking the existence of second id (bsc#1051510). - crypto: skcipher - Fix crash on zero-length input (bsc#1051510). - crypto: xts - Fix an error handling path in 'create()' (bsc#1051510). - commit d6282f2- livepatch: send a fake signal periodically (fate#323487). - commit 3f8b70f- s390/qeth: fix underestimated count of buffer elements (bnc#1082087, LTC#164529). - commit 379f1f8- arm64: entry: Apply BP hardening for suspicious interrupts from EL0 (bsc#1068032). - arm64: entry: Apply BP hardening for high-priority synchronous exceptions (bsc#1068032). - arm64: futex: Mask __user pointers prior to dereference (bsc#1068032). - arm64: uaccess: Mask __user pointers for __arch_{clear, copy_*}_user (bsc#1068032). - arm64: uaccess: Don't bother eliding access_ok checks in __{get, put}_user (bsc#1068032). - arm64: uaccess: Prevent speculative use of the current addr_limit (bsc#1068032). - arm64: entry: Ensure branch through syscall table is bounded under speculation (bsc#1068032). - arm64: Use pointer masking to limit uaccess speculation (bsc#1068032). - arm64: Make USER_DS an inclusive limit (bsc#1068032). - arm64: Implement array_index_mask_nospec() (bsc#1068032). - arm64: barrier: Add CSDB macros to control data-value prediction (bsc#1068032). - arm64: move TASK_* definitions to (bsc#1068032). - commit 679bb40- CIFS: Fix NULL pointer deref on SMB2_tcon() failure (bsc#1071009). - commit 6f343af- quota: report root dir quota usage in statfs (FATE#323422). - ceph: quota: add counter for snaprealms with quota (FATE#323422). - ceph: quota: cache inode pointer in ceph_snap_realm (FATE#323422). - ceph: fix root quota realm check (FATE#323422). - ceph: don't check quota for snap inode (FATE#323422). - ceph: quota: add quotas to the in-tree cephfs documentation (FATE#323422). - ceph: quota: update MDS when max_bytes is approaching (FATE#323422). - ceph: quota: support for ceph.quota.max_bytes (FATE#323422). - ceph: quota: don't allow cross-quota renames (FATE#323422). - ceph: quota: support for ceph.quota.max_files (FATE#323422). - ceph: quota: add initial infrastructure to support cephfs quotas (FATE#323422). - commit 06ea255- ibmvnic: Split counters for scrq/pools/napi (bsc#1082223). - ibmvnic: Correct goto target for tx irq initialization failure (bsc#1082223). - ibmvnic: Allocate max queues stats buffers (bsc#1081498). - ibmvnic: Make napi usage dynamic (bsc#1081498). - ibmvnic: Free and re-allocate scrqs when tx/rx scrqs change (bsc#1081498). - ibmvnic: Move active sub-crq count settings (bsc#1081498). - ibmvnic: Rename active queue count variables (bsc#1081498). - commit 11616b1- drm/i915/cnl: Sync PCI ID with Spec (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix PORT_TX_DW5/7 register address (FATE#322643 bsc#1055900). - drm/i915/cnl: Remove alpha_support protection (FATE#322643 bsc#1055900). - drm/i915/cnl: WaPipeControlBefore3DStateSamplePattern (FATE#322643 bsc#1055900). - drm/i915/dp: limit DP link rate based on VBT on CNL+ (FATE#322643 bsc#1055900). - drm/i915/dp: clean up source rate limiting for cnl (FATE#322643 bsc#1055900). - drm/i915/dp: abstract rate array length limiting (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix DP max rate for Cannonlake with port F (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable DDI-F on Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: Add HPD support for Port F (FATE#322643 bsc#1055900). - drm/i915: For HPD connected port use hpd_pin instead of port (FATE#322643 bsc#1055900). - drm/i915/cnl: Add right GMBUS pin number for HDMI on Port F (FATE#322643 bsc#1055900). - drm/i915: Fix DPLCLKA_CFGCR0 bits for Port F (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix _CNL_PORT_TX_DW2_LN0_F definition (FATE#322643 bsc#1055900). - drm/i915/cnl: Extend Wa 1178 to Aux F (FATE#322643 bsc#1055900). - drm/i915/cnl: Add AUX-F support (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Cannonlake PCI IDs for another SKU (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix aux selection for WA 1178 (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Port F definition (FATE#322643 bsc#1055900). - drm/i915/cnl: apply Display WA #1178 to fix type C dongles (FATE#322643 bsc#1055900). - drm/i915/dmc: DMC 1.07 for Cannonlake (FATE#322643 bsc#1055900). - commit 3d0b03e- ALSA: hda/realtek: PCI quirk for Fujitsu U7x7 (bsc#1052235). - ALSA: hda/realtek - Enable Thinkpad Dock device for ALC298 platform (bsc#1052235). - ALSA: hda/realtek - Add headset mode support for Dell laptop (bsc#1052235). - ALSA: hda - Fix headset mic detection problem for two Dell machines (bsc#1052235). - ALSA: hda/realtek - update ALC215 depop optimize (bsc#1052235). - ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289 (bsc#1052235). - ALSA: hda/realtek - update ALC225 depop optimize (bsc#1052235). - ALSA: hda - Clean up ALC299 init code (bsc#1052235). - ALSA: hda - Fix yet remaining issue with vmaster 0dB initialization (bsc#1052235). - ALSA: hda - silence uninitialized variable warning in activate_amp_in() (bsc#1052235). - ALSA: hda - Fix incorrect TLV callback check introduced during set_fs() removal (bsc#1052235). - ALSA: hda - Fix unbalance of i915 module refcount (bsc#1052235). - ALSA: hda/realtek - Remove GPIO_MASK (bsc#1052235). - ALSA: hda - Fix doubly initialization of i915 component (bsc#1052235). - ALSA: hda - Minor code refactoring for Intel HDMI codec parsers (bsc#1052235). - ALSA: hda - Bind with i915 component before codec binding (bsc#1052235). - ALSA: hda - Skip card registration when no codec is found (bsc#1052235). - ALSA: hda - Remove superfluous header inclusions (bsc#1052235). - ALSA: hda - Fix a typo in comment (bsc#1052235). - ALSA: hda - Remove the use of set_fs() (bsc#1052235). - ALSA: hda - Remove the generic bind ctl helpers (bsc#1052235). - ALSA: hda - Move bind-mixer switch codes to generic parser (bsc#1052235). - ALSA: hda - Simplify bound-beep mute control for ALC268 (bsc#1052235). - commit d0f912f- ALSA: hda: Abort capability probe on invalid capability (bsc#1051510). - ALSA: hda: Avoid racy recreation of widget kobjects (bsc#1051510). - ALSA: hda: Fix potential race at unregistration and unsol events (bsc#1051510). - commit 34b6b53- spi-nor: intel-spi: Fix broken software sequencing codes (bsc#1073836). - commit ae5adb4- btrfs: Fix quota reservation leak on preallocated files (bsc#1079989). - commit 8af1c31- KEYS: fix key refcount leak in keyctl_read_key() (bsc#1031717). - KEYS: fix key refcount leak in keyctl_assume_authority() (bsc#1031717). - KEYS: don't revoke uninstantiated key in request_key_auth_new() (bsc#1031717). - KEYS: fix cred refcount leak in request_key_auth_new() (bsc#1031717). - Input: uinput - avoid crash when sending FF request to device going away (bsc#1031717). - r8169: Do not increment tx_dropped in TX ring cleaning (bsc#1031717). - platform/x86: ideapad-laptop: Add several models to no_hw_rfkill (bsc#1051022). - platform/x86: ideapad-laptop: Add IdeaPad V510-15IKB to no_hw_rfkill (bsc#1051022). - platform/x86: ideapad-laptop: Add Y720-15IKBN to no_hw_rfkill (bsc#1051022). - platform/x86: ideapad-laptop: Add Y520-15IKBN to no_hw_rfkill (bsc#1051022). - commit 016b076- drm/i915: Fix DSI panels with v1 MIPI sequences without a DEASSERT sequence v3 (FATE#322643 bsc#1055900). - drm/i915: Free memdup-ed DSI VBT data structures on driver_unload (FATE#322643 bsc#1055900). - drm/i915: Add intel_bios_cleanup() function (FATE#322643 bsc#1055900). - drm/i915/vlv: Add cdclk workaround for DSI (FATE#322643 bsc#1055900). - drm/i915/gvt: fix one typo of render_mmio trace (FATE#322643 bsc#1055900). - drm/i915/gvt: Support BAR0 8-byte reads/writes (FATE#322643 bsc#1055900). - drm/i915/gvt: add 0xe4f0 into gen9 render list (FATE#322643 bsc#1055900). - drm/i915: Lock out execlist tasklet while peeking inside for busy-stats (FATE#322643 bsc#1055900). - drm/i915/breadcrumbs: Ignore unsubmitted signalers (FATE#322643 bsc#1055900). - drm/i915: Don't wake the device up to check if the engine is asleep (FATE#322643 bsc#1055900). - commit 9b8a688- Add no-fix tags to cherry-picked ids in drm patches - commit fbe9d22- kernel-binary undefine unique_debug_names Some tools do not understand names like usr/lib/debug/boot/vmlinux-4.12.14-11.10-default-4.12.14-11.10.ppc64le.debug - commit 2b90c1e- supported.conf: add drm_panel_orientation_quirks - commit e6a774c- Refresh patches.drivers/ibmvnic-Clean-RX-pool-buffers-during-device-close.patch. - Refresh patches.drivers/ibmvnic-Fix-NAPI-structures-memory-leak.patch. - Refresh patches.drivers/ibmvnic-Fix-login-buffer-memory-leaks.patch. - Refresh patches.drivers/ibmvnic-Free-RX-socket-buffer-in-case-of-adapter-err.patch. - Refresh patches.drivers/ibmvnic-Wait-until-reset-is-complete-to-set-carrier-.patch. - commit f8e8ff0- Refresh patches.drivers/drm-i915-Move-dev_priv-mm.-un-bound_list-to-its-own-. Fix the regression with unblanaced list. - commit 0ae1532- ibmvnic: Keep track of supplementary TX descriptors (bsc#1081491). - commit 5bf3dc8- ibmvnic: Check for NULL skb's in NAPI poll routine (bsc#1081134, git-fixes). - commit 092ca14- Refresh sorted section. - Refresh patches.drivers/ibmvnic-Clean-RX-pool-buffers-during-device-close.patch. - Refresh patches.drivers/ibmvnic-Fix-NAPI-structures-memory-leak.patch. - Refresh patches.drivers/ibmvnic-Fix-login-buffer-memory-leaks.patch. - Refresh patches.drivers/ibmvnic-Free-RX-socket-buffer-in-case-of-adapter-err.patch. - Refresh patches.drivers/ibmvnic-Wait-until-reset-is-complete-to-set-carrier-.patch. - Refresh patches.drivers/scsi-lpfc-Add-WQ-Full-Logic-for-NVME-Target.patch. - Refresh patches.drivers/scsi-lpfc-Allow-set-of-maximum-outstanding-SCSI-cmd-.patch. - Refresh patches.drivers/scsi-lpfc-Fix-IO-failure-during-hba-reset-testing-wi.patch. - Refresh patches.drivers/scsi-lpfc-Fix-PRLI-handling-when-topology-type-chang.patch. - Refresh patches.drivers/scsi-lpfc-Fix-RQ-empty-firmware-trap.patch. - Refresh patches.drivers/scsi-lpfc-Fix-SCSI-io-host-reset-causing-kernel-cras.patch. - Refresh patches.drivers/scsi-lpfc-Fix-frequency-of-Release-WQE-CQEs.patch. - Refresh patches.drivers/scsi-lpfc-Fix-header-inclusion-in-lpfc_nvmet.patch. - Refresh patches.drivers/scsi-lpfc-Fix-issue_lip-if-link-is-disabled.patch. - Refresh patches.drivers/scsi-lpfc-Fix-nonrecovery-of-NVME-controller-after-c.patch. - Refresh patches.drivers/scsi-lpfc-Fix-soft-lockup-in-lpfc-worker-thread-duri.patch. - Refresh patches.drivers/scsi-lpfc-Increase-CQ-and-WQ-sizes-for-SCSI.patch. - Refresh patches.drivers/scsi-lpfc-Indicate-CONF-support-in-NVMe-PRLI.patch. - Refresh patches.drivers/scsi-lpfc-Treat-SCSI-Write-operation-Underruns-as-an.patch. - Refresh patches.drivers/scsi-lpfc-Update-11.4.0.7-modified-files-for-2018-Co.patch. - Refresh patches.drivers/scsi-lpfc-Validate-adapter-support-for-SRIU-option.patch. - Refresh patches.drivers/scsi-lpfc-correct-debug-counters-for-abort.patch. - Refresh patches.drivers/scsi-lpfc-move-placement-of-target-destroy-on-driver.patch. - Refresh patches.drivers/scsi-lpfc-update-driver-version-to-11.4.0.7.patch. - commit d2121ce- cpufreq: schedutil: Reset cached_raw_freq when not in sync with next_freq (git-fixes). - commit 45b8f64- powerpc/eeh: Fix crashes in eeh_report_resume() (FATE#324970, bsc#1078720). - commit a168aa8- blacklist.conf: add drm blacklists - commit e3024ca- drm/i915: Avoid truncation before clamping userspace's priority value (FATE#322643 bsc#1055900). - drm/i915/perf: Fix compiler warning for string truncation (FATE#322643 bsc#1055900). - drm/ast: Load lut in crtc_commit (FATE#322643 bsc#1055900). - commit 81092f7- drm: Fix PANEL_ORIENTATION_QUIRKS breaking the Kconfig DRM menuconfig (FATE#322643 bsc#1055900). - Update config files. - commit a55f11f- documentation/gpu/i915: fix docs build error after file rename (FATE#322643 bsc#1055900). - drm: rcar-du: Don't set connector DPMS property (FATE#322643 bsc#1055900). - drm/fb_helper: Disable all crtc's when initial setup fails (FATE#322643 bsc#1055900). - drm/fsl-dcu: Don't set connector DPMS property (FATE#322643 bsc#1055900). - commit 3c20f19- drm/i915: Hold rcu_read_lock when iterating over the radixtree (vma idr) (FATE#322643 bsc#1055900). - Refresh patches.drivers/drm-i915-Reorder-context-close-to-avoid-calling-i915. - commit dd5076b- drm/atomic: Check for busy planes/connectors before setting the commit (FATE#322643 bsc#1055900). - drm/i915: Don't use BIT() in UAPI section (FATE#322643 bsc#1055900). - drm: Make __drm_object_property_get_value() static (FATE#322643 bsc#1055900). - drm: Make syncobj import/export functions static (FATE#322643 bsc#1055900). - commit 3c66d76- drm: rename u32 in __u32 in uapi (FATE#322643 bsc#1055900). - drm: Shift wrap bug in create_in_format_blob() (FATE#322643 bsc#1055900). - drm: Fix kerneldoc for atomic_async_update (FATE#322643 bsc#1055900). - commit a2db442- dma-buf/sync_file: Allow multiple sync_files to wrap a single dma-fence (FATE#322643 bsc#1055900). - commit dbff788- Re-enable downstream DRM patches Refresh patches.drivers/drm-mgag200-Add-command-line-option-to-specify-preferred-depth.patch. - commit 61ea818- drm/i915/kbl: Change a KBL pci id to GT2 from GT1.5 (FATE#322643 bsc#1055900). - commit 46445eb- drm/i915/bios: add DP max link rate to VBT child device struct (FATE#322643 bsc#1055900). - drm/i915/cnp: Properly handle VBT ddc pin out of bounds (FATE#322643 bsc#1055900). - drm/i915/cnp: Ignore VBT request for know invalid DDC pin (FATE#322643 bsc#1055900). - drm/i915/cmdparser: Do not check past the cmd length (FATE#322643 bsc#1055900). - drm/i915/cmdparser: Check reg_table_count before derefencing (FATE#322643 bsc#1055900). - drm/i915/bxt, glk: Increase PCODE timeouts during CDCLK freq changing (FATE#322643 bsc#1055900). - drm/i915/gvt: Use KVM r/w to access guest opregion (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix aperture read/write emulation when enable x-no-mmap=on (FATE#322643 bsc#1055900). - drm/i915/gvt: only reset execlist state of one engine during VM engine reset (FATE#322643 bsc#1055900). - drm/i915/gvt: refine intel_vgpu_submission_ops as per engine ops (FATE#322643 bsc#1055900). - drm/i915/ppgtt: Pin page directories before allocation (FATE#322643 bsc#1055900). - drm/i915: Always run hangcheck while the GPU is busy (FATE#322643 bsc#1055900). - Revert "drm/i915: mark all device info struct with __initconst" (FATE#322643 bsc#1055900). - drm/i915/edp: Do not do link training fallback or prune modes on EDP (FATE#322643 bsc#1055900). - drm/i915: Check for fused or unused pipes (FATE#322643 bsc#1055900). - drm/i915: Protect WC stash allocation against direct reclaim (FATE#322643 bsc#1055900). - drm/i915: Always call to intel_display_set_init_power() in resume_early (FATE#322643 bsc#1055900). - drm/i915/gvt: cancel scheduler timer when no vGPU exists (FATE#322643 bsc#1055900). - drm/i915/gvt: cancel virtual vblank timer when no vGPU exists (FATE#322643 bsc#1055900). - drm/i915/pmu: Reconstruct active state on starting busy-stats (FATE#322643 bsc#1055900). - drm/i915: Stop getting the fault address from RING_FAULT_REG (FATE#322643 bsc#1055900). - drm/i915/guc: Add uc_fini_wq in gem_init unwind path (FATE#322643 bsc#1055900). - drm/i915: Fix using BIT_ULL() vs. BIT() for power domain masks (FATE#322643 bsc#1055900). - drm/i915: Try EDID bitbanging on HDMI after failed read (FATE#322643 bsc#1055900). - drm/i915/glk: Disable Guc and HuC on GLK (FATE#322643 bsc#1055900). - drm/i915/gvt: Do not use I915_NUM_ENGINES to iterate over the mocs regs array (FATE#322643 bsc#1055900). - drm/i915/gvt: validate gfn before set shadow page entry (FATE#322643 bsc#1055900). - drm/i915/gvt: add PLANE_KEYMAX regs to mmio track list (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix gen8/9_render_mmio_list[0] don't take effect (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20171222 (FATE#322643 bsc#1055900). - drm/i915: Assert that the request is on the execution queue before being removed (FATE#322643 bsc#1055900). - drm/i915/execlists: Show preemption progress in GEM_TRACE (FATE#322643 bsc#1055900). - drm/i915/gvt: move write protect handler out of mmio emulation function (FATE#322643 bsc#1055900). - drm/i915/gvt: cleanup usage for typed mmio reg vs. offset (FATE#322643 bsc#1055900). - drm/i915/gvt: always use i915_reg_t for MMIO handler definition (FATE#322643 bsc#1055900). - drm/i915/gvt: load host render mocs once in mocs switch (FATE#322643 bsc#1055900). - drm/i915/gvt: refine mocs save restore policy (FATE#322643 bsc#1055900). - drm/i915/gvt: optimize for vGPU mmio switch (FATE#322643 bsc#1055900). - drm/i915/gvt: refine trace_render_mmio (FATE#322643 bsc#1055900). - drm/i915: Disable GMBUS clock gating around GMBUS transfers on gen9+ (FATE#322643 bsc#1055900). - drm/i915: Clean up the PNV bit banging vs. GMBUS clock gating w/a (FATE#322643 bsc#1055900). - drm/i915: No need to power up PG2 for GMBUS on BXT (FATE#322643 bsc#1055900). - drm/i915: Do not enable movntdqa optimization in hypervisor guest (FATE#322643 bsc#1055900). - drm/i915: Dump device info at once (FATE#322643 bsc#1055900). - drm/i915: Add pretty printer for runtime part of intel_device_info (FATE#322643 bsc#1055900). - drm/i915: Update intel_device_info_runtime_init() parameter (FATE#322643 bsc#1055900). - drm/i915: Move intel_device_info definitions to its own header (FATE#322643 bsc#1055900). - drm/i915: Move opregion definitions to dedicated intel_opregion.h (FATE#322643 bsc#1055900). - drm/i915: Move display related definitions to dedicated header (FATE#322643 bsc#1055900). - drm/i915: Move some utility functions to i915_util.h (FATE#322643 bsc#1055900). - drm/i915: Disable all planes for load detection, v2 (FATE#322643 bsc#1055900). - drm/i915/cfl: Adding more Coffee Lake PCI IDs (FATE#322643 bsc#1055900). - drm/i915: Tidy up GEM_TRACE around execlists (FATE#322643 bsc#1055900). - drm/i915: Avoid context dereference inside execlists_submission_tasklet (FATE#322643 bsc#1055900). - drm/i915: Remove pointer indirection for hangcheck_state local (FATE#322643 bsc#1055900). - drm/i915: Show if we consider the engine is idle in the GPU error state (FATE#322643 bsc#1055900). - drm/i915: Implement WaDisableEarlyEOT (FATE#322643 bsc#1055900). - drm/i915: Implement WaDisableVFclkgate (FATE#322643 bsc#1055900). - drm/i915: Add pretty printer for modparams (FATE#322643 bsc#1055900). - drm/i915: Convert intel_device_info_dump into pretty printer (FATE#322643 bsc#1055900). - drm/i915: Add pretty printer for device info flags (FATE#322643 bsc#1055900). - drm/i915: Fix indentation for intel_ddi_clk_select (FATE#322643 bsc#1055900). - drm/i915: Add a strong mb to resetting the has-CS-interrupt bit (FATE#322643 bsc#1055900). - drm/i915/cnl: Add support for horizontal plane flipping (FATE#322643 bsc#1055900). - drm/i915/trace: add hw_id to gem requests trace points (FATE#322643 bsc#1055900). - drm/i915: reorder field in gem_request tracepoints (FATE#322643 bsc#1055900). - drm/i915: Show IPEIR and IPEHR in the engine dump (FATE#322643 bsc#1055900). - drm/i915: Re-enable GGTT earlier after GPU reset (FATE#322643 bsc#1055900). - drm/i915: Unifying debugfs return codes for unsupported features (FATE#322643 bsc#1055900). - drm/i915: Restore the kernel context after a GPU reset on an idle engine (FATE#322643 bsc#1055900). - drm/i915: Skip an engine reset if it recovered before our preparations (FATE#322643 bsc#1055900). - x86/gpu: add CFL to early quirks (FATE#322643 bsc#1055900). - drm/i915: Allow internal page allocations to fail (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20171214 (FATE#322643 bsc#1055900). - drm/i915/gvt/fb_decoder: Fix out-of-bounds read (FATE#322643 bsc#1055900). - drm/i915/gvt: refine function emulate_mmio_read/write (FATE#322643 bsc#1055900). - drm/i915/gvt/kvmgt: fill info for ROM/VGA region (FATE#322643 bsc#1055900). - drm/i915/gvt: Rename file render.{c, h} to mmio_context.{c, h} (FATE#322643 bsc#1055900). - drm/i915/gvt: Remove MMIO barrier in MMIO switch (FATE#322643 bsc#1055900). - drm/i915/gvt: Select appropriate mmio list at initialization time (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine the ring mmio list definition (FATE#322643 bsc#1055900). - drm/i915/gvt: fix off-by-one comparison of ring_id (FATE#322643 bsc#1055900). - drm/i915/gvt: Add missing breaks in switch statement (FATE#322643 bsc#1055900). - drm/i915: properly init lockdep class (FATE#322643 bsc#1055900). - drm/i915: make CS frequency read support missing more obvious (FATE#322643 bsc#1055900). - drm/i915/guc: Extract doorbell verification into a function (FATE#322643 bsc#1055900). - drm/i915/guc: Extract clients allocation to submission_init (FATE#322643 bsc#1055900). - drm/i915/guc: Extract doorbell creation from client allocation (FATE#322643 bsc#1055900). - drm/i915/guc: Call invalidate after changing the vfunc (FATE#322643 bsc#1055900). - drm/i915/guc: Extract guc_init from guc_init_hw (FATE#322643 bsc#1055900). - drm/i915/guc: Move GuC workqueue allocations outside of the mutex (FATE#322643 bsc#1055900). - drm/i915/guc: Move shared data allocation away from submission path (FATE#322643 bsc#1055900). - drm/i915: Unwind i915_gem_init() failure (FATE#322643 bsc#1055900). - drm/i915: Ratelimit request allocation under oom (FATE#322643 bsc#1055900). - drm/i915: Allow fence allocations to fail (FATE#322643 bsc#1055900). - drm/i915: Mark up potential allocation paths within i915_sw_fence as might_sleep (FATE#322643 bsc#1055900). - drm/i915: Don't check #active_requests from i915_gem_wait_for_idle() (FATE#322643 bsc#1055900). - drm/i915: Bump timeout for wait_for_engines() (FATE#322643 bsc#1055900). - drm/i915: Downgrade misleading "Memory usable" message (FATE#322643 bsc#1055900). - drm/i915: Print an error message for a reset failure on gen2 (FATE#322643 bsc#1055900). - drm/i915: prefer resource_size_t for everything stolen (FATE#322643 bsc#1055900). - drm/i915: give stolen_usable_size a more suitable home (FATE#322643 bsc#1055900). - drm/i915: make mappable struct resource centric (FATE#322643 bsc#1055900). - drm/i915: make reserved struct resource centric (FATE#322643 bsc#1055900). - drm/i915: make dsm struct resource centric (FATE#322643 bsc#1055900). - drm/i915: nuke the duplicated stolen discovery (FATE#322643 bsc#1055900). - x86/early-quirks: export the stolen region as a resource (FATE#322643 bsc#1055900). - drm/i915: Only report a wakeup if the waiter was truly asleep (FATE#322643 bsc#1055900). - commit cd3b46b- mm: drop migrate type checks from has_unmovable_pages (bnc#1074195). - commit 4ff7604- drm/i915: Keep a small stash of preallocated WC pages (FATE#322643 bsc#1055900). - Refresh patches.drivers/drm-i915-Mark-vm_free_page-as-a-potential-sleeper-ag. - Refresh patches.drivers/drm-i915-Only-free-the-oldest-stale-object-before-a-. - commit 4f7f6f9- drm/i915: Use snprintf to avoid line-break when pretty-printing engines (FATE#322643 bsc#1055900). - commit ac105dc- drm/i915: Add "panel orientation" property to the panel connector, v6 (FATE#322643 bsc#1055900). - commit 71dce14- Update config files: new configs for drm / fb stuff - commit 4865016- intel/atomic: Stop updating legacy fb parameters (FATE#322643 bsc#1055900). - drm/i915: Restore GT performance in headless mode with DMC loaded (FATE#322643 bsc#1055900). - drm/i915/execlists: Cache ELSP register offset (FATE#322643 bsc#1055900). - drm/i915: Refactor common list iteration over GGTT vma (FATE#322643 bsc#1055900). - drm/i915: Track GGTT writes on the vma (FATE#322643 bsc#1055900). - drm/i915: Remove vma from object on destroy, not close (FATE#322643 bsc#1055900). - drm/i915/huc: Load HuC only if requested (FATE#322643 bsc#1055900). - commit e564912- drm/i915/guc: Combine enable_guc_loading|submission modparams (FATE#322643 bsc#1055900). - drm/i915/uc: Don't use -EIO to report missing firmware (FATE#322643 bsc#1055900). - drm/i915/uc: Don't fetch GuC firmware if no plan to use GuC (FATE#322643 bsc#1055900). - drm/i915/guc: Introduce USES_GUC_xxx helper macros (FATE#322643 bsc#1055900). - drm/i915/guc: Move firmware selection to init_early (FATE#322643 bsc#1055900). - drm/i915/huc: Move firmware selection to init_early (FATE#322643 bsc#1055900). - drm/i915/gvt: Kick scheduler when new workload queued (FATE#322643 bsc#1055900). - drm/i915/gvt: Convert macro queue_workload to a function (FATE#322643 bsc#1055900). - drm/i915/gvt: Add framebuffer decoder support (FATE#322643 bsc#1055900). - drm/i915/gvt: Add opregion support (FATE#322643 bsc#1055900). - drm/i915/gvt: Alloc and Init guest opregion at vgpu creation (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix out-of-bounds buffer write into opregion->signature[] (FATE#322643 bsc#1055900). - drm/i915/gvt: Cleanup unwanted public symbols (FATE#322643 bsc#1055900). - drm/i915: add platform tag to WA (FATE#322643 bsc#1055900). - drm/i915: follow single notation for workaround number (FATE#322643 bsc#1055900). - drm/i915: Taint (TAINT_WARN) the kernel if the GPU reset fails (FATE#322643 bsc#1055900). - drm/i915/skl: DMC firmware for skylake v1.27 (FATE#322643 bsc#1055900). - drm/i915/cnl: only divide up base frequency with crystal source (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20171201 (FATE#322643 bsc#1055900). - drm/i915: Remove unsafe i915.enable_rc6 (FATE#322643 bsc#1055900). - drm/i915: Sleep and retry a GPU reset if at first we don't succeed (FATE#322643 bsc#1055900). - drm/i915: Interlaced DP output doesn't work on VLV/CHV (FATE#322643 bsc#1055900). - drm/i915: Pass crtc state to intel_pipe_{enable,disable}() (FATE#322643 bsc#1055900). - drm/i915: Wait for pipe to start on i830 as well (FATE#322643 bsc#1055900). - drm/i915: Fix has_audio readout for DDI A (FATE#322643 bsc#1055900). - drm/i915: Don't add the "force audio" property to DP connectors that don't support audio (FATE#322643 bsc#1055900). - drm/i915: Disable DP audio for g4x (FATE#322643 bsc#1055900). - drm/i915/selftests: Wake the device before executing requests on the GPU (FATE#322643 bsc#1055900). - drm/i915: Set fake_vma.size as well as fake_vma.node.size for capture (FATE#322643 bsc#1055900). - drm/i915: Tidy up signed/unsigned comparison (FATE#322643 bsc#1055900). - drm/i915: Enable IPS with only sprite plane visible too, v4 (FATE#322643 bsc#1055900). - drm/i915: Make ips_enabled a property depending on whether IPS is enabled, v3 (FATE#322643 bsc#1055900). - drm/i915: Avoid PPS HW/SW state mismatch due to rounding (FATE#322643 bsc#1055900). - drm/i915/glk: Apply WaProgramL3SqcReg1DefaultForPerf for GLK too (FATE#322643 bsc#1055900). - drm/i915/guc: Change default GuC FW for KBL to v9.39 (FATE#322643 bsc#1055900). - drm/i915/guc: Change default GuC FW for BXT to v9.29 (FATE#322643 bsc#1055900). - drm/i915/guc: Change default GuC FW for SKL to v9.33 (FATE#322643 bsc#1055900). - drm/i915: Consolidate checks for engine stats availability (FATE#322643 bsc#1055900). - drm/i915: Move engine->needs_cmd_parser to engine->flags (FATE#322643 bsc#1055900). - drm/i915: Enable hotplug polling after registering the outputs (FATE#322643 bsc#1055900). - drm/i915: Rename i915_gem_timelines_mark_idle (FATE#322643 bsc#1055900). - drm/i915: Rename shrinker init/cleanup to match driver initialisation phase (FATE#322643 bsc#1055900). - drm/i915: Record default HW state in the GPU error state (FATE#322643 bsc#1055900). - drm/i915: Flush everything on switching to the kernel_context (FATE#322643 bsc#1055900). - drm/i915: hide unused intel_panel_set_backlight function (FATE#322643 bsc#1055900). - drm/i915/fbdev: Serialise early hotplug events with async fbdev config (FATE#322643 bsc#1055900). - drm/i915/guc: Use consistent name for scratch register count (FATE#322643 bsc#1055900). - drm/i915: Use exponential backoff for wait_for() (FATE#322643 bsc#1055900). - drm/i915/guc: Tidy ELSP port assignment (FATE#322643 bsc#1055900). - drm/i915/guc: Advance over port[0] if set and not preempting (FATE#322643 bsc#1055900). - drm/i915/guc: Rename i915_guc_reg.h to intel_guc_reg.h (FATE#322643 bsc#1055900). - drm/i915/guc: Update header guard name of intel_guc_submission.h (FATE#322643 bsc#1055900). - drm/i915: Move mi_set_context() into the legacy ringbuffer submission (FATE#322643 bsc#1055900). - drm/i915: Unwind incomplete legacy context switches (FATE#322643 bsc#1055900). - drm/i915: remove stale comment from sanitize_encoder (FATE#322643 bsc#1055900). - drm/i915: sync dp link status checks against atomic commmits (FATE#322643 bsc#1055900). - drm/i915/dmc: DMC 1.04 for Kabylake (FATE#322643 bsc#1055900). - drm/i915: Save/restore irq state for vlv_residency_raw() (FATE#322643 bsc#1055900). - drm/i915: Remove success dmesg noise for intel_rotate_pages() (FATE#322643 bsc#1055900). - drm/i915: Convert intel_rc6_residency_us to ns (FATE#322643 bsc#1055900). - drm/i915: Engine busy time tracking (FATE#322643 bsc#1055900). - drm/i915: Wrap context schedule notification (FATE#322643 bsc#1055900). - drm/i915: Extract intel_get_cagf (FATE#322643 bsc#1055900). - drm/i915/selftests: Avoid drm_gem_handle_create under struct_mutex (FATE#322643 bsc#1055900). - drm/i915: Add rudimentary plane state verification (FATE#322643 bsc#1055900). - drm/i915: Use plane->get_hw_state() for initial plane fb readout (FATE#322643 bsc#1055900). - drm/i915: Nuke crtc->plane (FATE#322643 bsc#1055900). - drm/i915: Switch fbc over to for_each_new_intel_plane_in_state() (FATE#322643 bsc#1055900). - drm/i915: Nuke ironlake_get_initial_plane_config() (FATE#322643 bsc#1055900). - drm/i915: Cleanup enum pipe/enum plane_id/enum i9xx_plane_id in initial fb readout (FATE#322643 bsc#1055900). - drm/i915: Use enum i9xx_plane_id for the .get_fifo_size() hooks (FATE#322643 bsc#1055900). - drm/i915: s/enum plane/enum i9xx_plane_id/ (FATE#322643 bsc#1055900). - drm/i915: Don't use GEN6_RC_VIDEO_FREQ on gen10+ (FATE#322643 bsc#1055900). - drm/i915/selftests: Declare we allocated the guc clients (FATE#322643 bsc#1055900). - drm/i915: Remove i915.semaphores modparam (FATE#322643 bsc#1055900). - drm/i915: Move debugfs/i915_semaphore_status to i915_engine_info (FATE#322643 bsc#1055900). - drm/i915: Disable semaphores on Sandybridge (FATE#322643 bsc#1055900). - drm/i915: Remove obsolete ringbuffer emission for gen8+ (FATE#322643 bsc#1055900). - drm/i915: Remove i915.enable_execlists module parameter (FATE#322643 bsc#1055900). - drm/i915/execlists: Delay writing to ELSP until HW has processed the previous write (FATE#322643 bsc#1055900). - drm/i915/selftest: Make guc clients static (FATE#322643 bsc#1055900). - drm/i915/perf: reuse timestamp frequency from device info (FATE#322643 bsc#1055900). - drm/i915: Automatic i915_switch_context for legacy (FATE#322643 bsc#1055900). - drm/i915: Pull the unconditional GPU cache invalidation into request construction (FATE#322643 bsc#1055900). - drm/i915/perf: replace .reg accesses with i915_mmio_reg_offset (FATE#322643 bsc#1055900). - drm/i915/execlists: Assert that we don't get mixed IDLE_ACTIVE | COMPLETE events (FATE#322643 bsc#1055900). - drm/i915/execlists: Reduce completed event mask to COMPLETE | PREEMPTED (FATE#322643 bsc#1055900). - drm/i915/execlists: Listen to COMPLETE context event not ACTIVE_IDLE (FATE#322643 bsc#1055900). - drm/fb-helper: Apply panel orientation connector prop to the primary plane, v6 (FATE#322643 bsc#1055900). - drm: Add support for a panel-orientation connector property, v6 (FATE#322643 bsc#1055900). - drm: Add panel orientation quirks, v6 (FATE#322643 bsc#1055900). - fbcon: Add fbcon_rotate_hint to struct fb_info (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20171117 (FATE#322643 bsc#1055900). - drm/i915: Add a policy note for removing workarounds (FATE#322643 bsc#1055900). - drm/i915/selftests: Report ENOMEM clearly for an allocation failure (FATE#322643 bsc#1055900). - drm/i915: Calculate g4x intermediate watermarks correctly (FATE#322643 bsc#1055900). - drm/i915: Calculate vlv/chv intermediate watermarks correctly, v3 (FATE#322643 bsc#1055900). - drm/i915: Pass crtc_state to ips toggle functions, v2 (FATE#322643 bsc#1055900). - drm/i915: Pass idle crtc_state to intel_dp_sink_crc (FATE#322643 bsc#1055900). - drm/i915: Enable FIFO underrun reporting after initial fastset, v4 (FATE#322643 bsc#1055900). - commit c55e1d3- drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM (FATE#322643 bsc#1055900). - drm/i915: Add might_sleep() check to wait_for() (FATE#322643 bsc#1055900). - drm/i915/selftests: Add a GuC doorbells selftest (FATE#322643 bsc#1055900). - drm/i915/gvt: Let each vgpu has separate opregion memory (FATE#322643 bsc#1055900). - Revert "drm/i915/gvt: Refine broken PPGTT scratch" (FATE#322643 bsc#1055900). - drm/i915/gvt: Make gvt_vgpu_err use pr_err (FATE#322643 bsc#1055900). - drm/i915/gvt: Don't dump partial state in cmd parser (FATE#322643 bsc#1055900). - drm/i915/gvt: Reduce rcs mocs switch latency (FATE#322643 bsc#1055900). - drm/i915/gvt: Add new debugfs tool mmio_diff (FATE#322643 bsc#1055900). - drm/i915/gvt: Add mmio iterator intel_gvt_for_each_tracked_mmio() (FATE#322643 bsc#1055900). - drm/i915/gvt: opregion virtualization for win guest (FATE#322643 bsc#1055900). - drm/i915/gvt: update CSB and CSB write pointer in virtual HWSP (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine broken PPGTT scratch (FATE#322643 bsc#1055900). - drm/i915/gvt: Introduce ops->set_present() (FATE#322643 bsc#1055900). - drm/i915/gvt: Introduce page table type of current level in GTT type enumerations (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix a bug of unexpectedly clear scratch page table (FATE#322643 bsc#1055900). - drm/i915/gvt: Let the caller choose if a shadow page should be put into hash table (FATE#322643 bsc#1055900). - drm/i915/gvt: Use I915_GTT_PAGE_SIZE (FATE#322643 bsc#1055900). - drm/i915/gvt: Factor intel_vgpu_page_track (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine shadow batch buffer (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine find_bb_size() (FATE#322643 bsc#1055900). - drm/i915/gvt: Use BIT() to make klockwork happy (FATE#322643 bsc#1055900). - drm/i915/gvt: Add basic debugfs infrastructure (FATE#322643 bsc#1055900). - drm/i915/gvt: Refactor vGPU type code in kvmgt part (FATE#322643 bsc#1055900). - drm/i915/gvt: Move vGPU type related code into gvt file (FATE#322643 bsc#1055900). - drm/i915/gvt: Move clean_workloads() into scheduler.c (FATE#322643 bsc#1055900). - drm/i915/gvt: Introduce intel_vgpu_reset_submission (FATE#322643 bsc#1055900). - drm/i915/gvt: Introduce vGPU submission ops (FATE#322643 bsc#1055900). - drm/i915/gvt: Remove one extra declaration in scheduler.h (FATE#322643 bsc#1055900). - drm/i915/gvt: Move common vGPU workload creation into scheduler.c (FATE#322643 bsc#1055900). - drm/i915/gvt: Move common workload preparation into prepare_workload() (FATE#322643 bsc#1055900). - drm/i915/gvt: Factor out prepare_workload() (FATE#322643 bsc#1055900). - drm/i915/gvt: Factor out vGPU workload creation/destroy (FATE#322643 bsc#1055900). - drm/i915/gvt: Use dyndbg for gvt debug info (FATE#322643 bsc#1055900). - drm/i915/gvt: Add VM healthy check for submit_context (FATE#322643 bsc#1055900). - drm/i915/gvt: Add VM healthy check for workload_thread (FATE#322643 bsc#1055900). - drm/i915/gvt: Change the return type during command scan (FATE#322643 bsc#1055900). - drm/i915/gvt: Do not allocate initial ring scan buffer (FATE#322643 bsc#1055900). - drm/i915/gvt: Move ring scan buffers into intel_vgpu_submission (FATE#322643 bsc#1055900). - drm/i915/gvt: Rename reserved ring buffer (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix a memory leak in cmd_parser.c (FATE#322643 bsc#1055900). - drm/i915/gvt: Move tlb_handle_pending into intel_vgpu_submission (FATE#322643 bsc#1055900). - drm/i915/gvt: Introduce intel_vgpu_submission (FATE#322643 bsc#1055900). - drm/i915/gvt: Move workload cache init/clean into intel_vgpu_{setup, clean}_submission() (FATE#322643 bsc#1055900). - drm/i915/gvt: Rename intel_vgpu_{init, clean}_gvt_context() (FATE#322643 bsc#1055900). - drm/i915/gvt: Make elsp_dwords in the right order (FATE#322643 bsc#1055900). - drm/i915/gvt: Add support for opregion virtualization (FATE#322643 bsc#1055900). - drm/i915/cnl: Extend HDMI 2.0 support to CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Simplify dco_fraction calculation (FATE#322643 bsc#1055900). - drm/i915/cnl: Don't blindly replace qdiv (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix wrpll math for higher freqs (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix, simplify and unify wrpll variable sizes (FATE#322643 bsc#1055900). - drm/i915/cnl: Remove useless conversion (FATE#322643 bsc#1055900). - drm/i915/cnl: Remove spurious central_freq (FATE#322643 bsc#1055900). - drm/i915/selftests: exercise_ggtt may have nothing to do (FATE#322643 bsc#1055900). - drm/i915: Don't sanitize frame start delay if the pipe is off (FATE#322643 bsc#1055900). - drm/i915/guc: Rename i915_guc_submission.c|h to intel_guc_submission.c|h (FATE#322643 bsc#1055900). - drm/i915/guc: Rename i915_guc_client struct to intel_guc_client (FATE#322643 bsc#1055900). - drm/i915/guc: Update name and prototype of GuC submission interface functions (FATE#322643 bsc#1055900). - drm/i915/guc: Update names of submission related static functions (FATE#322643 bsc#1055900). - drm/i915: Update execlists tasklet naming (FATE#322643 bsc#1055900). - drm/i915: Prevent overflow of execbuf.buffer_count and num_cliprects (FATE#322643 bsc#1055900). - drm/i915: Print the condition causing GEM_BUG_ON (FATE#322643 bsc#1055900). - drm/i915: Remove pre-production pooled-EU w/a for Broxton (FATE#322643 bsc#1055900). - drm/i915: Make request's wait-for-space explicit (FATE#322643 bsc#1055900). - drm/i915/selftests: Increase size for mock ringbuffer (FATE#322643 bsc#1055900). - drm/i915: Initialise entry in intel_ppat_get() for older compilers (FATE#322643 bsc#1055900). - drm/i915/selftests: Markup __iomem for igt_gem_coherency (FATE#322643 bsc#1055900). - drm/i915: Use ELK stolen memory reserved detection for ILK (FATE#322643 bsc#1055900). - drm/i915: Make the report about a bogus stolen reserved area an error (FATE#322643 bsc#1055900). - drm/i915: Check if the stolen memory "reserved" area is enabled or not (FATE#322643 bsc#1055900). - drm/i915: Fix kerneldocs for intel_audio.c (FATE#322643 bsc#1055900). - drm/i915: Call uncore_suspend before platform suspend handlers (FATE#322643 bsc#1055900). - drm/i915/selftests: Always initialise err (FATE#322643 bsc#1055900). - drm/i915: Resume GuC before using GEM (FATE#322643 bsc#1055900). - drm/i915: Display WA #1185 WaDisableDARBFClkGating:cnl, glk (FATE#322643 bsc#1055900). - drm/i915: Unconditionally apply the Broxton register workaround set (FATE#322643 bsc#1055900). - drm/i915: Remove pre-production Broxton register workarounds (FATE#322643 bsc#1055900). - drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl (FATE#322643 bsc#1055900). - drm/i915: fix 64bit divide (FATE#322643 bsc#1055900). - drm/i915: Generalize transcoder looping (FATE#322643 bsc#1055900). - drm/i915/glk: Refactor handling of PLANE_COLOR_CTL for GLK+ (FATE#322643 bsc#1055900). - drm/i915: Introduce GEM proxy (FATE#322643 bsc#1055900). - drm/i915: Object w/o backing storage is banned by -ENXIO (FATE#322643 bsc#1055900). - drm/i915: Fix function name in comment (FATE#322643 bsc#1055900). - drm/i915: There is only one fault register from GEN8 onwards (FATE#322643 bsc#1055900). - drm/i915: Clear per-engine fault register as early as possible (FATE#322643 bsc#1055900). - drm/i915: expose command stream timestamp frequency to userspace (FATE#322643 bsc#1055900). - drm/i915/perf: enable perf support on CNL (FATE#322643 bsc#1055900). - drm/i915: fix register naming (FATE#322643 bsc#1055900). - drm/i915/perf: refactor perf setup (FATE#322643 bsc#1055900). - drm/i915/perf: add support for Coffeelake GT3 (FATE#322643 bsc#1055900). - drm/i915/perf: complete whitelisting for OA programming on HSW (FATE#322643 bsc#1055900). - drm/i915: Handle adjust better in intel_pipe_config_compare (FATE#322643 bsc#1055900). - drm/i915: Check boolean options in intel_pipe_config_compare with its own macro (FATE#322643 bsc#1055900). - drm/i915: Remove bogus ips_enabled check (FATE#322643 bsc#1055900). - drm/i915: Remove Gen9 WAs with no effect (FATE#322643 bsc#1055900). - drm/i915: Remove redundant intel_autoenable_gt_powersave() (FATE#322643 bsc#1055900). - drm/i915: Update watermark state correctly in sanitize_watermarks (FATE#322643 bsc#1055900). - drm/i915/selftests: Yet another forgotten mock_i915->mm initialiser (FATE#322643 bsc#1055900). - commit ac7993e- drm/i915: Kerneldoc typo s/rps/rps_client/ (FATE#322643 bsc#1055900). - drm/i915: Stop caching the "golden" renderstate (FATE#322643 bsc#1055900). - drm/i915: Record the default hw state after reset upon load (FATE#322643 bsc#1055900). - drm/i915: Mark the context state as dirty/written (FATE#322643 bsc#1055900). - drm/i915: Inline intel_modeset_gem_init() (FATE#322643 bsc#1055900). - drm/i915: Move intel_init_clock_gating() to i915_gem_init() (FATE#322643 bsc#1055900). - drm/i915: Move GT powersaving init to i915_gem_init() (FATE#322643 bsc#1055900). - drm/i915: Force the switch to the i915->kernel_context (FATE#322643 bsc#1055900). - drm/i915: Define an engine class enum for the uABI (FATE#322643 bsc#1055900). - drm/i915/selftests: Initialise mock_i915->mm.obj_lock (FATE#322643 bsc#1055900). - drm/i915: Restore the wait for idle engine after flushing interrupts (FATE#322643 bsc#1055900). - drm/i915: Move irqs enabled assertion deeper for mock breadcrumbs (FATE#322643 bsc#1055900). - drm/i915/selftests: Reduce the volume of the timeout message (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20171109 (FATE#322643 bsc#1055900). - drm/i915: Mark up i915_vma_unbind() as a potential sleeper (FATE#322643 bsc#1055900). - drm/i915: Mark vm_free_page() as a potential sleeper agent (FATE#322643 bsc#1055900). - drm/i915: Use trace_printk to provide a death rattle for GEM (FATE#322643 bsc#1055900). - drm/i915: Clean up DP code local variables and calling conventions (FATE#322643 bsc#1055900). - drm/i915: Clean up PPS code calling conventions (FATE#322643 bsc#1055900). - drm/i915: Nuke intel_digital_port->port (FATE#322643 bsc#1055900). - drm/i915: Replace dig_port->port with encoder port for BXT DPLL selection (FATE#322643 bsc#1055900). - drm/i915: Eliminate crtc->config usage from CRT code (FATE#322643 bsc#1055900). - drm/i915: Pass crtc state to DPIO PHY functions (FATE#322643 bsc#1055900). - drm/i915: Eliminate some encoder->crtc usage from TV code (FATE#322643 bsc#1055900). - drm/i915: Eliminate some encoder->crtc usage from SDVO code (FATE#322643 bsc#1055900). - drm/i915: Eliminate some encoder->crtc usage from DSI code (FATE#322643 bsc#1055900). - drm/i915: Eliminate some encoder->crtc usage from DP code (FATE#322643 bsc#1055900). - drm/i915/guc: Simplify programming of GUC_SHIM_CONTROL (FATE#322643 bsc#1055900). - drm/i915/guc: Drop legacy workarounds from guc_prepare_xfer (FATE#322643 bsc#1055900). - drm/i915/guc: Wait for ucode DMA transfer completion (FATE#322643 bsc#1055900). - drm/i915/guc: Split GuC firmware xfer function into clear steps (FATE#322643 bsc#1055900). - drm/i915: Implement ReadHitWriteOnlyDisable (FATE#322643 bsc#1055900). - drm/i915: Include intel_engine_is_idle() status in engine pretty-printer (FATE#322643 bsc#1055900). - drm/i915: Read ilk FDI PLL frequency once during initialisation (FATE#322643 bsc#1055900). - drm/i915/selftests: Take rpm wakeref around partial tiling tests (FATE#322643 bsc#1055900). - drm/i915/selftests: Take rpm wakeref around GGTT lowlevel tests (FATE#322643 bsc#1055900). - drm/i915: Prevent unbounded wm results in g4x_compute_wm() (FATE#322643 bsc#1055900). - drm/i915: Simplify onion for bxt_ddi_phy_init() (FATE#322643 bsc#1055900). - drm/i915: Silence compiler for csr_load_work_fn() (FATE#322643 bsc#1055900). - drm/i915: Silence smatch for cmdparser (FATE#322643 bsc#1055900). - drm/i915: Handle error-state modparams in dedicated functions (FATE#322643 bsc#1055900). - drm/i915: Make GuC log part of the uC error state (FATE#322643 bsc#1055900). - drm/i915: Add Guc/HuC firmware details to error state (FATE#322643 bsc#1055900). - drm/i915/guc: Assert ctch->vma is allocated (FATE#322643 bsc#1055900). - drm/i915/guc: Assert guc->stage_desc_pool is allocated (FATE#322643 bsc#1055900). - drm/i915/selftests: Hide dangerous tests (FATE#322643 bsc#1055900). - drm/i915: Assert vma->flags are updated correctly during binding (FATE#322643 bsc#1055900). - drm/i915: Set up mocs tables before restarting the engines (FATE#322643 bsc#1055900). - drm/i915: Warn in debug builds of incorrect usages of ptr_pack_bits (FATE#322643 bsc#1055900). - drm/i915: ensure oa config uuid is null terminated (FATE#322643 bsc#1055900). - drm/i915: Flush the irq and tasklets before asserting engine is idle (FATE#322643 bsc#1055900). - drm/i915: Use fallback forcewake if primary ack missing (FATE#322643 bsc#1055900). - drm/i915/guc: Add support for reset engine using GuC commands (FATE#322643 bsc#1055900). - drm/i915/guc: Rename the function that resets the GuC (FATE#322643 bsc#1055900). - drm/i915/guc: Clear terminated attribute bit on GuC preemption context (FATE#322643 bsc#1055900). - drm/i915/cnl: Symmetric scalers for each pipe (FATE#322643 bsc#1055900). - drm/i915: Give more details for the active-when-parking warning for the engines (FATE#322643 bsc#1055900). - drm/i915: Move parking-while-active warning to intel_engines_park() (FATE#322643 bsc#1055900). - drm/i915: Check that the breadcrumb wasn't disarmed automatically before parking (FATE#322643 bsc#1055900). - drm/i915/cnl: Remove unnecessary check in cnl_setup_private_ppat (FATE#322643 bsc#1055900). - drm/i915: Remove most encoder->type uses from the audio code (FATE#322643 bsc#1055900). - drm/i915: Pass around crtc and connector states for audio (FATE#322643 bsc#1055900). - drm/i915: Replace "cc-option -Wno-foo" with "cc-disable-warning foo" (FATE#322643 bsc#1055900). - drm/i915: Use intel_ddi_get_config() for MST (FATE#322643 bsc#1055900). - drm/i915: Pass a crtc state to ddi post_disable from MST code (FATE#322643 bsc#1055900). - drm/i915: Eliminate pll->state usage from bxt_calc_pll_link() (FATE#322643 bsc#1055900). - drm/i915: Nuke intel_ddi_get_encoder_port() (FATE#322643 bsc#1055900). - drm/i915: Stop frobbing with DDI encoder->type (FATE#322643 bsc#1055900). - drm/i915: Populate output_types from .get_config() (FATE#322643 bsc#1055900). - drm/i915: Parse max HDMI TMDS clock from VBT (FATE#322643 bsc#1055900). - drm/i915/vbt: Fix HDMI level shifter and max data rate bitfield sizes (FATE#322643 bsc#1055900). - drm/i915: Clean up the mess around hdmi_12bpc_possible() (FATE#322643 bsc#1055900). - drm/i915: Improve DP downstream HPD handling (FATE#322643 bsc#1055900). - drm/i915: Fix BXT lane latency optimal setting with MST (FATE#322643 bsc#1055900). - drm/i915: Stop using encoder->type in intel_ddi_enable_transcoder_func() (FATE#322643 bsc#1055900). - drm/i915: Start using output_types for DPLL selection (FATE#322643 bsc#1055900). - drm/i915: Pass crtc state to intel_prepare_dp_ddi_buffers() (FATE#322643 bsc#1055900). - drm/i915: Don't use encoder->type in intel_ddi_set_pipe_settings() (FATE#322643 bsc#1055900). - drm/i915: Empty the ring before disabling (FATE#322643 bsc#1055900). - drm/i915/edp: clean up code and comments around eDP DPCD read (FATE#322643 bsc#1055900). - drm/i915: Add -Wall -Wextra to our build, set warnings to full (FATE#322643 bsc#1055900). - drm/i915: Include RING_MODE when dumping the engine state (FATE#322643 bsc#1055900). - drm/i915/huc: Use helper function while waiting for DMA completion (FATE#322643 bsc#1055900). - drm/i915/guc: Preemption! With GuC (FATE#322643 bsc#1055900). - drm/i915: Rename helpers used for unwinding, use macro for can_preempt (FATE#322643 bsc#1055900). - drm/i915/guc: Keep request->priority for its lifetime (FATE#322643 bsc#1055900). - drm/i915: Add information needed to track engine preempt state (FATE#322643 bsc#1055900). - drm/i915: Extract "emit write" part of emit breadcrumb functions (FATE#322643 bsc#1055900). - drm/i915/guc: Split guc_wq_item_append (FATE#322643 bsc#1055900). - drm/i915/guc: Add a second client, to be used for preemption (FATE#322643 bsc#1055900). - drm/i915/guc: Add preemption action to GuC firmware interface (FATE#322643 bsc#1055900). - drm/i915/guc: Allocate separate shared data object for GuC communication (FATE#322643 bsc#1055900). - drm/i915/guc: Extract GuC stage desc pool creation into a helper (FATE#322643 bsc#1055900). - drm/i915/guc: Do not use 0 for GuC doorbell cookie (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix SSEU Device Status (FATE#322643 bsc#1055900). - drm/i915/guc: Initialize GuC before restarting engines (FATE#322643 bsc#1055900). - drm/i915/guc: Always enable the breadcrumbs irq (FATE#322643 bsc#1055900). - drm/i915: Add a hook for making the engines idle (parking) and unparking (FATE#322643 bsc#1055900). - drm/i915/cnl: Allow 2 pixel per clock on Cannonlake (FATE#322643 bsc#1055900). - Revert "drm/i915/selftests: Convert timers to use timer_setup()" (FATE#322643 bsc#1055900). - commit dc0515f- drm/i915/selftests: Convert timers to use timer_setup() (FATE#322643 bsc#1055900). - drm/i915: Use same test for eviction and submitting kernel context (FATE#322643 bsc#1055900). - drm/i915: Call cond_resched() before repeating i915_gem_evict_something() (FATE#322643 bsc#1055900). - drm/i915: Perform a central cdclk state sanity check (FATE#322643 bsc#1055900). - drm/i915: Sanity check cdclk in vlv_set_cdclk() (FATE#322643 bsc#1055900). - drm/i915: Adjust system agent voltage on CNL if required by DDI ports (FATE#322643 bsc#1055900). - drm/i915: Use cdclk_state->voltage on CNL (FATE#322643 bsc#1055900). - drm/i915: Use cdclk_state->voltage on BXT/GLK (FATE#322643 bsc#1055900). - drm/i915: Use cdclk_state->voltage on SKL/KBL/CFL (FATE#322643 bsc#1055900). - drm/i915: Use cdclk_state->voltage on BDW (FATE#322643 bsc#1055900). - drm/i915: Use cdclk_state->voltage on VLV/CHV (FATE#322643 bsc#1055900). - drm/i915: Start tracking voltage level in the cdclk state (FATE#322643 bsc#1055900). - drm/i915: Clean up some cdclk switch statements (FATE#322643 bsc#1055900). - drm/i915/cnl: Update the DMC version on CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Get RC6 working (FATE#322643 bsc#1055900). - drm/i915/cnl: Force DDI_A_4_LANES when needed (FATE#322643 bsc#1055900). - drm/i915: Synchronize irq before parking each engine (FATE#322643 bsc#1055900). - drm/i915: Bump wait-times for the final CS interrupt before parking (FATE#322643 bsc#1055900). - drm/i915: Fix deadlock in i830_disable_pipe() (FATE#322643 bsc#1055900). - drm/i915: Redo plane sanitation during readout (FATE#322643 bsc#1055900). - drm/i915: Add .get_hw_state() method for planes (FATE#322643 bsc#1055900). - drm/i915: Don't adjust priority on an already signaled fence (FATE#322643 bsc#1055900). - drm/i915: Whitelist SLICE_COMMON_ECO_CHICKEN1 on Geminilake (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix stack-out-of-bounds bug in cmd parser (FATE#322643 bsc#1055900). - drm/i915/gvt: Clear the shadow page table entry after post-sync (FATE#322643 bsc#1055900). - drm/i915: Apply Display WA #1183 on skl, kbl, and cfl (FATE#322643 bsc#1055900). - drm/i915: Put all non-blocking modesets onto an ordered wq (FATE#322643 bsc#1055900). - drm/i915: Disable DC states around GMBUS on GLK (FATE#322643 bsc#1055900). - drm/i915/psr: Fix register name mess up (FATE#322643 bsc#1055900). - i915: Reject CCS modifiers for pipe C on Geminilake (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix pipe A enable as default for vgpu (FATE#322643 bsc#1055900). - drm/i915: Protect DDI port to DPLL map from theoretical race (FATE#322643 bsc#1055900). - drm/i915/lpe: Remove double-encapsulation of info string (FATE#322643 bsc#1055900). - drm/i915/fence: Use rcu to defer freeing of irq_work (FATE#322643 bsc#1055900). - drm/i915: Stop listening to request resubmission from the signaler kthread (FATE#322643 bsc#1055900). - drm/i915: Drop fb reference on load_detect_pipe failure path (FATE#322643 bsc#1055900). - drm/i915: Flush pending GTT writes before unbinding (FATE#322643 bsc#1055900). - drm: rework delayed connector cleanup in connector_iter (bsc#1051510). - drm/i915/gvt: set max priority for gvt context (FATE#322643 bsc#1055900). - drm/i915/gvt: Don't mark vgpu context as inactive when preempted (FATE#322643 bsc#1055900). - drm/i915/gvt: Limit read hw reg to active vgpu (FATE#322643 bsc#1055900). - drm/i915/gvt: Export intel_gvt_render_mmio_to_ring_id() (FATE#322643 bsc#1055900). - drm/i915/gvt: Emulate PCI expansion ROM base address register (FATE#322643 bsc#1055900). - Revert "drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk" (FATE#322643 bsc#1055900). - drm/i915: Call i915_gem_init_userptr() before taking struct_mutex (FATE#322643 bsc#1055900). - drm/i915/cnl: Mask previous DDI - PLL mapping (FATE#322643 bsc#1055900). - drm/i915: Fix vblank timestamp/frame counter jumps on gen2 (FATE#322643 bsc#1055900). - drm/i915: Skip switch-to-kernel-context on suspend when wedged (FATE#322643 bsc#1055900). - drm/i915/gvt: Correct ADDR_4K/2M/1G_MASK definition (FATE#322643 bsc#1055900). - drm/i915/gvt: enabled pipe A default on creating vgpu (FATE#322643 bsc#1055900). - drm/i915/gvt: Move request alloc to dispatch_workload path only (FATE#322643 bsc#1055900). - drm/i915/gvt: remove skl_misc_ctl_write handler (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix unsafe locking caused by spin_unlock_bh (FATE#322643 bsc#1055900). - drm/i915: fix intel_backlight_device_register declaration (FATE#322643 bsc#1055900). - drm/i915: Prevent zero length "index" write (FATE#322643 bsc#1055900). - drm/i915: Don't try indexed reads to alternate slave addresses (FATE#322643 bsc#1055900). - drm/edid: Don't send non-zero YQ in AVI infoframe for HDMI 1.x sinks (bsc#1051510). - drm/i915: Fix init_clock_gating for resume (FATE#322643 bsc#1055900). - drm/i915: Clear breadcrumb node when cancelling signaling (FATE#322643 bsc#1055900). - drm/i915/gvt: ensure -ve return value is handled correctly (FATE#322643 bsc#1055900). - drm/i915: Re-register PMIC bus access notifier on runtime resume (FATE#322643 bsc#1055900). - drm/i915: Fix false-positive assert_rpm_wakelock_held in i915_pmic_bus_access_notifier v2 (FATE#322643 bsc#1055900). - drm/i915: Reorder context-close to avoid calling i915_vma_close() under RCU (FATE#322643 bsc#1055900). - drm/i915: Move init_clock_gating() back to where it was (FATE#322643 bsc#1055900). - drm/i915: Prune the reservation shared fence array (FATE#322643 bsc#1055900). - drm/i915: Idle the GPU before shinking everything (FATE#322643 bsc#1055900). - drm/i915: Lock llist_del_first() vs llist_del_all() (FATE#322643 bsc#1055900). - drm/i915: Calculate ironlake intermediate watermarks correctly, v2 (FATE#322643 bsc#1055900). - drm/i915: Disable lazy PPGTT page table optimization for vGPU (FATE#322643 bsc#1055900). - drm/i915/execlists: Remove the priority "optimisation" (FATE#322643 bsc#1055900). - drm/i915: Filter out spurious execlists context-switch interrupts (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20171023 (FATE#322643 bsc#1055900). - drm/i915/cnl: Map VBT DDC Pin to BSpec DDC Pin (FATE#322643 bsc#1055900). - drm/i915: Let's use more enum intel_dpll_id pll_id (FATE#322643 bsc#1055900). - drm/i915: Use existing DSI backlight ports info (FATE#322643 bsc#1055900). - drm/i915: Parse DSI backlight/cabc ports (FATE#322643 bsc#1055900). - drm/i915: Skip waking the device to service pwrite (FATE#322643 bsc#1055900). - drm/i915/crt: split compute_config hook by platforms (FATE#322643 bsc#1055900). - drm/i915: remove g4x lowfreq_avail and has_pipe_cxsr (FATE#322643 bsc#1055900). - drm/i915: Drop the redundant hdmi prefix/suffix from a lot of variables (FATE#322643 bsc#1055900). - drm/i915: Unify error handling for missing DDI buf trans tables (FATE#322643 bsc#1055900). - drm/i915: Centralize the SKL DDI A/E vs. B/C/D buf trans handling (FATE#322643 bsc#1055900). - drm/i915: Kill off the BXT buf_trans default_index (FATE#322643 bsc#1055900). - drm/i915: Pass encoder type to cnl_ddi_vswing_sequence() explicitly (FATE#322643 bsc#1055900). - drm/i915: Integrate BXT into intel_ddi_dp_voltage_max() (FATE#322643 bsc#1055900). - drm/i915: Pass the level to intel_prepare_hdmi_ddi_buffers() (FATE#322643 bsc#1055900). - drm/i915: Pass the encoder type explicitly to skl_set_iboost() (FATE#322643 bsc#1055900). - drm/i915: Extract intel_ddi_get_buf_trans_hdmi() (FATE#322643 bsc#1055900). - drm/i915: Relocate intel_ddi_get_buf_trans_*() functions (FATE#322643 bsc#1055900). - drm/i915: Flush the idle-worker for debugfs/i915_drop_caches (FATE#322643 bsc#1055900). - drm/i915: adjust get_crtc_fence_y_offset() to use base.y instead of crtc.y (FATE#322643 bsc#1055900). - drm/i915: Unify skylake plane disable (FATE#322643 bsc#1055900). - drm/i915: Unify skylake plane update (FATE#322643 bsc#1055900). - drm/i915: dspaddr_offset doesn't need to be more than local variable (FATE#322643 bsc#1055900). - drm/i915: move adjusted_x/y from crtc to cache (FATE#322643 bsc#1055900). - drm/i915: Fixup userptr mmu notifier registration error handling (FATE#322643 bsc#1055900). - drm/i915: No need for RING_MAX_NONPRIV_SLOTS space (FATE#322643 bsc#1055900). - drm/i915/uc: Add pretty printer for uc firmware (FATE#322643 bsc#1055900). - drm/i915: Handle drm-layer errors in intel_dp_add_mst_connector (FATE#322643 bsc#1055900). - drm/i915: Remove mostly duplicated video DIP handling from PSR code (FATE#322643 bsc#1055900). - commit 7e86bee- drm/i915: Add in-flight request details to intel_engine_dump() (FATE#322643 bsc#1055900). - drm/i915: Skip HW reinitialisation on resume if still wedged (FATE#322643 bsc#1055900). - drm/i915: Trim struct_mutex hold duration for i915_gem_free_objects (FATE#322643 bsc#1055900). - drm/i915: Only free the oldest stale object before a fresh allocation (FATE#322643 bsc#1055900). - drm/i915: Set our shrinker->batch to 4096 (~16MiB) (FATE#322643 bsc#1055900). - drm/i915: Move dev_priv->mm.[un]bound_list to its own lock (FATE#322643 bsc#1055900). - drm/i915: Remove walk over obj->vma_list for the shrinker (FATE#322643 bsc#1055900). - drm/i915: Drop debugfs/i915_gem_pin_display (FATE#322643 bsc#1055900). - drm/i915: Rename obj->pin_display to obj->pin_global (FATE#322643 bsc#1055900). - drm/i915: Refactor testing obj->mm.pages (FATE#322643 bsc#1055900). - drm/i915/cnl: WaRsUseTimeoutMode (FATE#322643 bsc#1055900). - drm/i915/huc: Move fw select function (FATE#322643 bsc#1055900). - drm/i915/guc: Update Guc messages on load failure (FATE#322643 bsc#1055900). - drm/i915/uc: Unify firmware loading (FATE#322643 bsc#1055900). - drm/i915: Update DMC firmware load error messages (FATE#322643 bsc#1055900). - drm/i915/uc: Add message with firmware url (FATE#322643 bsc#1055900). - drm/i915/uc: Improve debug messages in firmware fetch (FATE#322643 bsc#1055900). - drm/i915/guc: Pick better place for Guc final status message (FATE#322643 bsc#1055900). - drm/i915/uc: Check all firmwares against WOPCM size (FATE#322643 bsc#1055900). - drm/i915/guc: Reorder functions in intel_guc_fw.c (FATE#322643 bsc#1055900). - drm/i915/guc: Rename intel_guc_loader.c to intel_guc_fw.c (FATE#322643 bsc#1055900). - drm/i915/guc: Move doc near related definitions (FATE#322643 bsc#1055900). - drm/i915/guc: Small fixups post code move (FATE#322643 bsc#1055900). - drm/i915/guc: Move GuC boot param initialization out of xfer (FATE#322643 bsc#1055900). - drm/i915: Move intel_guc_wopcm_size to intel_guc.c (FATE#322643 bsc#1055900). - drm/i915: enable to read CSB and CSB write pointer from HWSP in GVT-g VM (FATE#322643 bsc#1055900). - drm/i915: Always stop the rings before a missing GPU reset (FATE#322643 bsc#1055900). - drm/i915: Keep the rings stopped until they have been re-initialized (FATE#322643 bsc#1055900). - drm/i915: Stop asserting on set-wedged vs nop_submit_request ordering (FATE#322643 bsc#1055900). - drm/i915: Split intel_enable_ddi() into DP and HDMI variants (FATE#322643 bsc#1055900). - drm/i915: Plumb crtc_state etc. directly to intel_ddi_pre_enable_{dp,hdmi}() (FATE#322643 bsc#1055900). - drm/i915: Split intel_disable_ddi() into DP vs. HDMI variants (FATE#322643 bsc#1055900). - drm/i915: Remove useless eDP check from intel_ddi_pre_enable_dp() (FATE#322643 bsc#1055900). - drm/i915: Split intel_ddi_post_disable() into DP vs. HDMI variants (FATE#322643 bsc#1055900). - drm/i915: Inline the required bits of intel_ddi_post_disable() into intel_ddi_fdi_post_disable() (FATE#322643 bsc#1055900). - drm/i915: Extract intel_disable_ddi_buf() (FATE#322643 bsc#1055900). - drm/i915: Extract intel_ddi_clk_disable() (FATE#322643 bsc#1055900). - drm/i915: Dump 'output_types' in crtc state dump (FATE#322643 bsc#1055900). - drm/i915: Replace *_reference/unreference() or *_ref/unref with _get/put() (FATE#322643 bsc#1055900). - drm/i915: Get rid of hardcoded pipes (FATE#322643 bsc#1055900). - drm/i915: Add retries for LSPCON detection (FATE#322643 bsc#1055900). - drm/i915: Don't give up waiting on INVALID_MODE (FATE#322643 bsc#1055900). - drm/i915/bdw: Fix DP_AUX_CH_CTL_TIME_OUT setting (FATE#322643 bsc#1055900). - drm/i915: Fix DP_AUX_CH_CTL_TIME_OUT naming (FATE#322643 bsc#1055900). - drm/i915/selftests: Wrap a timer into a i915_sw_fence (FATE#322643 bsc#1055900). - drm/i915: Start tracking PSR state in crtc state (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20171012 (FATE#322643 bsc#1055900). - drm/i915: Simplify intel_sanitize_enable_ppgtt (FATE#322643 bsc#1055900). - drm/i915/userptr: Drop struct_mutex before cleanup (FATE#322643 bsc#1055900). - drm/i915/dp: limit sink rates based on rate (FATE#322643 bsc#1055900). - drm/i915/dp: centralize max source rate conditions more (FATE#322643 bsc#1055900). - drm/i915: Allow PCH platforms fall back to BIOS LVDS mode (FATE#322643 bsc#1055900). - drm/i915: Reuse normal state readout for LVDS/DVO fixed mode (FATE#322643 bsc#1055900). - drm/i915: Use rcu instead of stop_machine in set_wedged (FATE#322643 bsc#1055900). - drm/i915: Introduce separate status variable for RC6 and LLC ring frequency setup (FATE#322643 bsc#1055900). - drm/i915: Create generic functions to control RC6, RPS (FATE#322643 bsc#1055900). - drm/i915: Create generic function to setup LLC ring frequency table (FATE#322643 bsc#1055900). - drm/i915: Rename intel_enable_rc6 to intel_rc6_enabled (FATE#322643 bsc#1055900). - drm/i915: Name structure in dev_priv that contains RPS/RC6 state as "gt_pm" (FATE#322643 bsc#1055900). - drm/i915: Move rps.hw_lock to dev_priv and s/hw_lock/pcu_lock (FATE#322643 bsc#1055900). - drm/i915: Name i915_runtime_pm structure in dev_priv as "runtime_pm" (FATE#322643 bsc#1055900). - drm/i915: Separate RPS and RC6 handling for CHV (FATE#322643 bsc#1055900). - drm/i915: Separate RPS and RC6 handling for VLV (FATE#322643 bsc#1055900). - drm/i915: Separate RPS and RC6 handling for BDW (FATE#322643 bsc#1055900). - drm/i915: Remove superfluous IS_BDW checks and non-BDW changes from gen8_enable_rps (FATE#322643 bsc#1055900). - drm/i915: Separate RPS and RC6 handling for gen6+ (FATE#322643 bsc#1055900). - drm/i915: Cleanup South Error Interrupts (FATE#322643 bsc#1055900). - drm/i915: Favor for_each_pipe() macro (FATE#322643 bsc#1055900). - drm/i915: Fold IRQ pipe masks (FATE#322643 bsc#1055900). - drm/i915: Remove I915_MAX_PIPES dependency for DDB allocation (FATE#322643 bsc#1055900). - drm/i915: Don't relay on I915_MAX_PIPES (FATE#322643 bsc#1055900). - drm/i915: Nuke the bogus kernel doc for i9xx_disable_pll() (FATE#322643 bsc#1055900). - drm/i915: Pass crtc state to i9xx_enable_pll() (FATE#322643 bsc#1055900). - drm/i915: Parametrize CBR_DPLLBMD_PIPE defines (FATE#322643 bsc#1055900). - drm/i915: Use enum pipe for PCH transcoders (FATE#322643 bsc#1055900). - drm/i915: Increase atomic update vblank evasion time with lockdep (FATE#322643 bsc#1055900). - drm/i915: Use execlists_num_ports instead of size of array (FATE#322643 bsc#1055900). - drm/i915: Preallocate our mmu notifier workequeu to unbreak cpu hotplug deadlock (FATE#322643 bsc#1055900). - drm/i915/bios: don't pass bdb to parsers that don't parse VBT directly (FATE#322643 bsc#1055900). - drm/i915/bios: parse SDVO device mapping from pre-parsed child devices (FATE#322643 bsc#1055900). - drm/i915/bios: merge parse_device_mapping() into parse_general_definitions() (FATE#322643 bsc#1055900). - drm/i915/bios: cleanup comments and useless return (FATE#322643 bsc#1055900). - drm/i915/bios: remove an unnecessary temp variable (FATE#322643 bsc#1055900). - drm/i915/bios: don't initialize fields based on vbt version (FATE#322643 bsc#1055900). - drm/i915/bios: refactor parse general definitions (FATE#322643 bsc#1055900). - drm/i915: avoid division by zero on cnl_calc_wrpll_link (FATE#322643 bsc#1055900). - drm/i915: add the BXT and CNL DPLL registers to pipe_config_compare (FATE#322643 bsc#1055900). - drm/i915: Early rejection of mappable GGTT pin attempts for large bo (FATE#322643 bsc#1055900). - drm/i915: Avoid evicting user fault mappable vma for pread/pwrite (FATE#322643 bsc#1055900). - drm/i915: Try a minimal attempt to insert the whole object for relocations (FATE#322643 bsc#1055900). - drm/i915: Check PIN_NONFAULT overlaps in evict_for_node (FATE#322643 bsc#1055900). - drm/i915: Track user GTT faulting per-vma (FATE#322643 bsc#1055900). - drm/i915: Consolidate get_fence with pin_fence (FATE#322643 bsc#1055900). - drm/i915: Pin fence for iomap (FATE#322643 bsc#1055900). - drm/i915: Provide an assert for when we expect forcewake to be held (FATE#322643 bsc#1055900). - drm/i915/selftests: Hold the rpm wakeref for the reset tests (FATE#322643 bsc#1055900). - drm/i915: Hold forcewake for the duration of reset+restart (FATE#322643 bsc#1055900). - drm/i915/selftests: Pretty print engine state when requests fail to start (FATE#322643 bsc#1055900). - drm/i915: Make i915_engine_info pretty printer to standalone (FATE#322643 bsc#1055900). - drm/i915: Use intel_get_pipe_timings() and intel_mode_from_pipe_config() in intel_crtc_mode_get() (FATE#322643 bsc#1055900). - commit 128dfbb- drm/i915/execlists: Add a comment for the extra MI_ARB_ENABLE (FATE#322643 bsc#1055900). - drm/i915: Try harder to finish the idle-worker (FATE#322643 bsc#1055900). - drm/i915: Fix pointer-to-int conversion (FATE#322643 bsc#1055900). - drm/i915/huc: Fix includes in intel_huc.c (FATE#322643 bsc#1055900). - drm/i915: Unify uC variable types to avoid flooding checkpatch.pl (FATE#322643 bsc#1055900). - drm/i915/crt: clean up encoder hook assignment (FATE#322643 bsc#1055900). - drm/i915: push DDI FDI link training on enable to CRT encoder (FATE#322643 bsc#1055900). - drm/i915: push DDI and DSI underrun reporting on enable to encoder (FATE#322643 bsc#1055900). - drm/i915: push DDI CRT underrun reporting on disable to encoder (FATE#322643 bsc#1055900). - drm/i915: push DDI CRT underrun reporting on enable to encoder (FATE#322643 bsc#1055900). - drm/i915/uc: Unify initialization of the uC firmware helper (FATE#322643 bsc#1055900). - drm/i915/uc: Fix includes order (FATE#322643 bsc#1055900). - drm/i915/guc: Move GuC core definitions into dedicated files (FATE#322643 bsc#1055900). - drm/i915/guc: Move GuC submission declarations into dedicated header (FATE#322643 bsc#1055900). - drm/i915/guc: Move GuC log declarations into dedicated header (FATE#322643 bsc#1055900). - drm/i915/cnl: Do not add an extra page for precaution in the Gen10 LRC size (FATE#322643 bsc#1055900). - drm/i915: avoid potential uninitialized variable use (FATE#322643 bsc#1055900). - drm/i915/selftests: fix check for intel IOMMU (FATE#322643 bsc#1055900). - drm/i915/selftests: Remember to create the fake preempt context (FATE#322643 bsc#1055900). - drm/i915/mst: Use MST sideband message transactions for dpms control (FATE#322643 bsc#1055900). - drm/i915/scheduler: Support user-defined priorities (FATE#322643 bsc#1055900). - drm/i915/execlists: Preemption! (FATE#322643 bsc#1055900). - drm/i915: Expand I915_PARAM_HAS_SCHEDULER into a capability bitmask (FATE#322643 bsc#1055900). - drm/i915/execlists: Keep request->priority for its lifetime (FATE#322643 bsc#1055900). - drm/i915/execlists: Move bdw GPGPU w/a to emit_bb (FATE#322643 bsc#1055900). - drm/i915: Introduce a preempt context (FATE#322643 bsc#1055900). - drm/i915/execlists: Distinguish the incomplete context notifies (FATE#322643 bsc#1055900). - drm/i915/preempt: Default to disabled mid-command preemption levels (FATE#322643 bsc#1055900). - drm/i915/preempt: Fix WaEnablePreemptionGranularityControlByUMD (FATE#322643 bsc#1055900). - drm/i915/guc: Move Guc early init into own function (FATE#322643 bsc#1055900). - drm/i915/huc: Move HuC declarations into dedicated header (FATE#322643 bsc#1055900). - drm/i915/uc: Move uC fw helper code into dedicated files (FATE#322643 bsc#1055900). - drm/i915/uc: Create intel_uc_init_mmio (FATE#322643 bsc#1055900). - drm/i915/uc: Drop unnecessary forward declaration (FATE#322643 bsc#1055900). - drm/i915: Make intel_uncore.h header self-contained (FATE#322643 bsc#1055900). - drm/i915: Remove defunct trace points (FATE#322643 bsc#1055900). - drm/i915: Fix some tracepoints to capture full 64b (FATE#322643 bsc#1055900). - drm/i915: Remove WA_(SET|CLR)_BIT (FATE#322643 bsc#1055900). - drm/i915: Move MMCD_MISC_CTRL from context w/a to standard (FATE#322643 bsc#1055900). - drm/i915: Transform whitelisting WAs into a simple reg write (FATE#322643 bsc#1055900). - drm/i915: Remove use_mmio_flip modparm, v2 (FATE#322643 bsc#1055900). - drm/i915: Skip vblank waits for cursor updates when watermarks dont need updating (FATE#322643 bsc#1055900). - drm/i915: Unset legacy_cursor_update early in intel_atomic_commit, v3 (FATE#322643 bsc#1055900). - drm/i915: Organize GLK_COLORS (FATE#322643 bsc#1055900). - drm/i915: Organize GEN features inheritance (FATE#322643 bsc#1055900). - drm/i915/skl: Fix has_ipc on skl and document WaDisableIPC (FATE#322643 bsc#1055900). - drm/i915/glk, cnl: Implement WaDisableScalarClockGating (FATE#322643 bsc#1055900). - drm/i915: Add has_psr-flag to gen9lp (FATE#322643 bsc#1055900). - drm/i915/gen8+: Init/reset display interrupts only if i915 IRQs are enabled (FATE#322643 bsc#1055900). - drm/i915/gen9+: Set same power state before hibernation image save/restore (FATE#322643 bsc#1055900). - drm/i915/execlists: Cache the last priolist lookup (FATE#322643 bsc#1055900). - drm/i915: Give the invalid priority a magic name (FATE#322643 bsc#1055900). - drm/i915/execlists: Move request unwinding to a separate function (FATE#322643 bsc#1055900). - drm/i915: Move i915_gem_restore_fences to i915_gem_resume (FATE#322643 bsc#1055900). - drm/i915/selftests: Replace wmb() with i915_gem_chipset_flush() (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170929 (FATE#322643 bsc#1055900). - drm/i915: Also discard second CRC on gen8+ platforms (FATE#322643 bsc#1055900). - drm/i915/psr: Set frames before SU entry for psr2 (FATE#322643 bsc#1055900). - drm/dp: Add defines for latency in sink (FATE#322643 bsc#1055900). - drm/i915: Allow optimized platform checks (FATE#322643 bsc#1055900). - drm/i915: Avoid using dev_priv->info.gen directly (FATE#322643 bsc#1055900). - i915: Use %pS printk format for direct addresses (FATE#322643 bsc#1055900). - drm/i915/execlists: Notify context-out for lost requests (FATE#322643 bsc#1055900). - drm/i915/cnl: Add support slice/subslice/eu configs (FATE#322643 bsc#1055900). - drm/i915: Compact device info access by a small re-ordering (FATE#322643 bsc#1055900). - drm/i915: Add IS_PLATFORM macro (FATE#322643 bsc#1055900). - drm/i915/selftests: Try to recover from a wedged GPU during reset tests (FATE#322643 bsc#1055900). - drm/i915/huc: Reorganize HuC authentication (FATE#322643 bsc#1055900). - drm/i915: Fix default values of some modparams (FATE#322643 bsc#1055900). - drm/i915: Extend I915_PARAMS_FOR_EACH with default member value (FATE#322643 bsc#1055900). - drm/i915: Make I915_PARAMS_FOR_EACH macro more flexible (FATE#322643 bsc#1055900). - drm/i915: Enable scanline read based on frame timestamps (FATE#322643 bsc#1055900). - drm/i915/execlists: Microoptimise execlists_cancel_port_request() (FATE#322643 bsc#1055900). - drm/i915: Don't rmw PIPESTAT enable bits (FATE#322643 bsc#1055900). - drm/i915: Speed up DMC firmware loading (FATE#322643 bsc#1055900). - drm/i915/dp: Remove useless debug about TPS3 support (FATE#322643 bsc#1055900). - drm/i915/dp: Fix buffer size for sink_irq_esi read (FATE#322643 bsc#1055900). - drm/i915/mst: Print active mst links after update (FATE#322643 bsc#1055900). - drm/i915/mst: Debug log connector name in destroy_connector() (FATE#322643 bsc#1055900). - drm/i915/lrc: Skip no-op per-bb buffer on gen9 (FATE#322643 bsc#1055900). - drm/i915/lrc: Only enable per-context and per-bb buffers if set (FATE#322643 bsc#1055900). - drm/i915: Make execlist port count variable (FATE#322643 bsc#1055900). - drm/i915: Add execlist_port_complete (FATE#322643 bsc#1055900). - drm/i915: Wrap port cancellation into a function (FATE#322643 bsc#1055900). - drm/i915: Move execlist initialization into intel_engine_cs.c (FATE#322643 bsc#1055900). - drm/i915: Make own struct for execlist items (FATE#322643 bsc#1055900). - drm/i915: Make i915_spin_request() static (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Gen10 LRC size (FATE#322643 bsc#1055900). - drm/i915: Rename global i915 to i915_modparams (FATE#322643 bsc#1055900). - drm/i915: Confirm request->global_seqno after spin completion (FATE#322643 bsc#1055900). - drm/i915: Check waiter->seqno carefully in case of preemption (FATE#322643 bsc#1055900). - drm/i915: Only wake the waiter from the interrupt if passed (FATE#322643 bsc#1055900). - drm/i915: Document the split in internal and public execbuf flags (FATE#322643 bsc#1055900). - drm/i915: Reorganize .disable hooks for pre-DDI DP (FATE#322643 bsc#1055900). - drm/i915: Drop useless HAS_PSR() check (FATE#322643 bsc#1055900). - drm/i915: Stop engines before reset (FATE#322643 bsc#1055900). - drm/i915/cfl: Remove alpha support protection (FATE#322643 bsc#1055900). - drm/i915/cnp: Display Wa #1179: WaHardHangonHotPlug (FATE#322643 bsc#1055900). - drm/i915: Shrink cnl_ddi_buf_trans (FATE#322643 bsc#1055900). - drm/i915: Shrink bxt_ddi_buf_trans (FATE#322643 bsc#1055900). - commit 50db074- drm/i915: Replace some spaces with tabs (FATE#322643 bsc#1055900). - drm/i915/fence: Avoid del_timer_sync() from inside a timer (FATE#322643 bsc#1055900). - drm/i915/selftests: Only touch archdata.iommu when it exists (FATE#322643 bsc#1055900). - drm/i915/cnp: Don't touch other PCH clock gating bits (FATE#322643 bsc#1055900). - drm/i915: Do not enable DRRS when PSR is enabled (FATE#322643 bsc#1055900). - drm/i915/perf: add support for Coffeelake GT2 (FATE#322643 bsc#1055900). - drm/i915/perf: disable clk ratio reports on gen9 (FATE#322643 bsc#1055900). - drm/i915/selftests: Disable iommu for the mock device (FATE#322643 bsc#1055900). - drm/i915: Return the correct score in i915_ppat_get() (FATE#322643 bsc#1055900). - drm/i915/guc: Cleanup adding GuC work items (FATE#322643 bsc#1055900). - drm/i915/guc: Simplify GuC doorbell logic (FATE#322643 bsc#1055900). - drm/i915/guc: Submit GuC workitems containing coalesced requests (FATE#322643 bsc#1055900). - drm/i915/guc: Remove obsolete comments and remove unused variable (FATE#322643 bsc#1055900). - drm/i915/execlists: Unwind incomplete requests on resets (FATE#322643 bsc#1055900). - drm/i915/execlists: Split insert_request() (FATE#322643 bsc#1055900). - drm/i915/execlists: Move insert_request() (FATE#322643 bsc#1055900). - drm/i915/execlists: Kick start request processing after a reset (FATE#322643 bsc#1055900). - drm/i915: Cancel all ready but queued requests when wedging (FATE#322643 bsc#1055900). - drm/i915: Reinstate GMBUS and AUX interrupts on gen4/g4x (FATE#322643 bsc#1055900). - drm/i915: Remove duplicated irq_preinstall/uninstall hooks (FATE#322643 bsc#1055900). - drm/i915: Clean up the HWSTAM mess (FATE#322643 bsc#1055900). - drm/i915: Mask everything in ring HWSTAM on gen6+ in ringbuffer mode (FATE#322643 bsc#1055900). - drm/i915: Extend private i915_param_named macro with description (FATE#322643 bsc#1055900). - drm/i915: Introduce custom variant of module_param_named macro (FATE#322643 bsc#1055900). - drm/i915: Rename lvds_use_ssc modparam to panel_use_ssc (FATE#322643 bsc#1055900). - drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM (FATE#322643 bsc#1055900). - drm/i915/cnl: Change the macro name to DPLL_CFGCR0_DCO_FRACTION_SHIFT (FATE#322643 bsc#1055900). - drm/i915: Gen3 HWSTAM is actually 32 bits (FATE#322643 bsc#1055900). - drm/i915: Rewrite GMCH irq handlers to avoid loops (FATE#322643 bsc#1055900). - drm/i915: Extract PIPESTAT irq handling into separate functions (FATE#322643 bsc#1055900). - drm/i915: Remove NULL dev_priv checks from irq_uninstall (FATE#322643 bsc#1055900). - drm/i915: Unify the appearance of gen3/4 irq_postistall hooks (FATE#322643 bsc#1055900). - drm/i915: Eliminate PORT_HOTPLUG_EN setup from gen3/4 irq_postinstall (FATE#322643 bsc#1055900). - drm/i915: Setup EMR first on all gen2-4 (FATE#322643 bsc#1055900). - drm/i915: Introduce GEN2_IRQ_RESET/INIT (FATE#322643 bsc#1055900). - drm/i915: Use GEN3_IRQ_RESET/INIT on gen3/4 (FATE#322643 bsc#1055900). - drm/i915: s/GEN5/GEN3/ (FATE#322643 bsc#1055900). - drm/i915: Clear pipestat consistently (FATE#322643 bsc#1055900). - drm/i915: Don't enable/unmask flip interrupts (FATE#322643 bsc#1055900). - drm/i915: Remove the "INDEX" suffix from PPAT marcos (FATE#322643 bsc#1055900). - drm/i915: Introduce private PAT management (FATE#322643 bsc#1055900). - drm/i915: Switch over to the LLC/eLLC hotspot avoidance hash mode for CCS (FATE#322643 bsc#1055900). - drm/i915: Simplify i915_reg_read_ioctl (FATE#322643 bsc#1055900). - drm/i915: Introduce INTEL_GEN_MASK (FATE#322643 bsc#1055900). - drm/i915: Refresh VLV/CHV PSR comments on HW PSR_state machine (FATE#322643 bsc#1055900). - drm/i915/execlists: Read the context-status HEAD from the HWSP (FATE#322643 bsc#1055900). - drm/i915/execlists: Read the context-status buffer from the HWSP (FATE#322643 bsc#1055900). - drm/i915: Allow HW status page to be bound high (FATE#322643 bsc#1055900). - drm/i915/lrc: allocate separate page for HWSP (FATE#322643 bsc#1055900). - drm/i915/guc: Don't make assumptions while getting the lrca offset (FATE#322643 bsc#1055900). - drm/i915/lrc: Clarify the format of the context image (FATE#322643 bsc#1055900). - drm/i915/selftests: Use mul_u32_u32() for 32b x 32b -> 64b result (FATE#322643 bsc#1055900). - drm/i915: Use mul_u32_u32() for 32b x 32b -> 64b result (FATE#322643 bsc#1055900). - drm/i915: Squelch smatch warning for statement with no effect (FATE#322643 bsc#1055900). - drm/i915/guc: Small improvements to guc_wq_item_append (FATE#322643 bsc#1055900). - drm/i915/guc: Remove WQ_WORKLOAD_SHIFT define (FATE#322643 bsc#1055900). - drm/i915/guc: Name the default GuC scheduling policy (FATE#322643 bsc#1055900). - drm/i915: Move the context descriptor to an inline helper (FATE#322643 bsc#1055900). - drm/i915/dsi: Replace MIPI command error message with debug message (FATE#322643 bsc#1055900). - drm/i915: Cleanup error paths through eb_lookup_vma() (FATE#322643 bsc#1055900). - drm/i915/spt+: Don't reset invalid AUX channel interrupt bits in SDEIMR (FATE#322643 bsc#1055900). - drm/i915: Name the IPS_PCODE_CONTROL bit (FATE#322643 bsc#1055900). - drm/i915: Nuke some bogus tabs from the pcode defines (FATE#322643 bsc#1055900). - drm/i915: Factor out setup_private_pat() (FATE#322643 bsc#1055900). - drm/i915: Increase poll time for BDW FCLK_DONE (FATE#322643 bsc#1055900). - drm/i915/psr: Add enable_source vfunc (FATE#322643 bsc#1055900). - drm/i915/psr: Add enable_sink vfunc (FATE#322643 bsc#1055900). - drm/i915/psr: Add setup VSC vfunc (FATE#322643 bsc#1055900). - drm/i915/psr: Re-org Activate after enable (FATE#322643 bsc#1055900). - drm/i915/psr: Move hsw_enable_source after enabling sink (FATE#322643 bsc#1055900). - drm/i915/psr: Re-create a hsw_psr_enable_source (FATE#322643 bsc#1055900). - drm/i915/psr: Unify VSC setup functions (FATE#322643 bsc#1055900). - drm/i915/psr: Add activate vfunc (FATE#322643 bsc#1055900). - drm/i915/psr: hsw_psr_activate (FATE#322643 bsc#1055900). - drm/i915/psr: vfunc for disabling source (FATE#322643 bsc#1055900). - drm/i915/psr: Avoid any PSR stuff on platforms without support (FATE#322643 bsc#1055900). - drm/i915: Only initialize partially filled pagetables (FATE#322643 bsc#1055900). - drm/i915: Make PAT macros more robust (FATE#322643 bsc#1055900). - drm/i915: Add a default case in gen7 hwsp switch-case (FATE#322643 bsc#1055900). - drm/i915/gvt: Add support for PCIe extended configuration space (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine error handling for perform_bb_shadow (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine error handling in dispatch_workload (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine error handling for intel_vgpu_pin_mm (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine error handling for prepare_execlist_workload (FATE#322643 bsc#1055900). - drm/i915/gvt: Add error handling for intel_gvt_scan_and_shadow_workload (FATE#322643 bsc#1055900). - drm/i915/gvt: Separate cmd scan from request allocation (FATE#322643 bsc#1055900). - drm/i915/gvt: Add emulation for BAR2 (aperture) with normal file RW approach (FATE#322643 bsc#1055900). - drm/i915/kvmgt: Sanitize PCI bar emulation (FATE#322643 bsc#1055900). - drm/i915: Transform WaDisablePooledEuLoadBalancingFix into a simple register write (FATE#322643 bsc#1055900). - drm/i915: Transform WaDisableDynamicCreditSharing into a simple register write (FATE#322643 bsc#1055900). - drm/i915: Transform WaDisableGafsUnitClkGating into a simple reg write (FATE#322643 bsc#1055900). - drm/i915: WaPushConstantDereferenceHoldDisable needs to modify a masked register (FATE#322643 bsc#1055900). - drm/i915: Transform WaDisableI2mCycleOnWRPort into a simple reg write (FATE#322643 bsc#1055900). - drm/i915: Transform WaInPlaceDecompressionHang into a simple reg write (FATE#322643 bsc#1055900). - drm/i915: Apply the GTT write flush for all !llc machines (FATE#322643 bsc#1055900). - i915: Fix obj size vs. alignment for drm_pci_alloc() (FATE#322643 bsc#1055900). - drm/i915: Disable mmio debugging during user access (FATE#322643 bsc#1055900). - drm/i915/skl+: debugfs entry to control IPC (FATE#322643 bsc#1055900). - drm/i915/bxt+: Enable IPC support (FATE#322643 bsc#1055900). - drm/i915/gen9+: Add has_ipc flag in device info structure (FATE#322643 bsc#1055900). - commit 77f9c1e- drm/i915/cnl: Extend WM workaround with IPC for CNL (FATE#322643 bsc#1055900). - drm/i915/glk: IPC linetime watermark workaround for GLK (FATE#322643 bsc#1055900). - drm/i915/gen10: Calculate and enable transition WM (FATE#322643 bsc#1055900). - drm/i915/skl+: Optimize WM calculation (FATE#322643 bsc#1055900). - drm/i915: Fixed point fixed16 wrapper cleanup (FATE#322643 bsc#1055900). - drm/i915: Disable snooping (userptr, set-cache-level) on gen4 (FATE#322643 bsc#1055900). - drm: Pass struct drm_file * to __drm_mode_object_find [v2] (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170907 (FATE#322643 bsc#1055900). - drm/i915/cnl: WaThrottleEUPerfToAvoidTDBackPressure:cnl(pre-prod) (FATE#322643 bsc#1055900). - drm/i915: Lift has-pinned-pages assert to caller of ____i915_gem_object_get_pages (FATE#322643 bsc#1055900). - drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk (FATE#322643 bsc#1055900). - drm/i915/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register (FATE#322643 bsc#1055900). - drm/i915: Move device_info.has_snoop into the static tables (FATE#322643 bsc#1055900). - drm/i915: Disable MI_STORE_DATA_IMM for i915g/i915gm (FATE#322643 bsc#1055900). - drm/i915/cnp: Wa 1181: Fix Backlight issue (FATE#322643 bsc#1055900). - drm/i915: Constify load detect mode (FATE#322643 bsc#1055900). - drm/i915: io unmap functions want __iomem (FATE#322643 bsc#1055900). - drm/i915: Wake up the device for the fbdev setup (FATE#322643 bsc#1055900). - drm/i915: Add interface to reserve fence registers for vGPU (FATE#322643 bsc#1055900). - drm/i915: Use correct path to trace include (FATE#322643 bsc#1055900). - drm/i915: Eliminate crtc->state usage from intel_atomic_commit_tail and .crtc_update() (FATE#322643 bsc#1055900). - drm/i915: Eliminate crtc->state usage from intel_update_pipe_config() (FATE#322643 bsc#1055900). - drm/i915: Eliminate obj->state usage from pre/post plane update (FATE#322643 bsc#1055900). - drm/i915: Pass proper old/new states to intel_plane_atomic_check_with_state() (FATE#322643 bsc#1055900). - drm/i915: rework IS_*_GT* macros (FATE#322643 bsc#1055900). - drm/i915: mark all device info struct with __initconst (FATE#322643 bsc#1055900). - drm/i915: add GT number to intel_device_info (FATE#322643 bsc#1055900). - drm/i915: Eliminate obj->state usage in g4x/vlv/chv wm computation (FATE#322643 bsc#1055900). - drm/i915: Pass the crtc state explicitly to intel_pipe_update_start/end() (FATE#322643 bsc#1055900). - drm/i915: Pass the new crtc state to color management code (FATE#322643 bsc#1055900). - drm/i915: Consolidate max_cdclk_freq check in intel_crtc_compute_min_cdclk() (FATE#322643 bsc#1055900). - drm/i915: Track minimum acceptable cdclk instead of "minimum dotclock" (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix DP max voltage (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix DDI hdmi level selection (FATE#322643 bsc#1055900). - drm/i915/cnl: Move ddi buf trans related functions up (FATE#322643 bsc#1055900). - drm/i915/cnl: Move voltage check into ddi buf trans functions (FATE#322643 bsc#1055900). - drm/i915: Enable voltage swing before enabling DDI_BUF_CTL (FATE#322643 bsc#1055900). - drm/i915: Align vswing sequences with old ddi buffer registers (FATE#322643 bsc#1055900). - drm/i915: decouple gen9 and gen10 dp signal levels (FATE#322643 bsc#1055900). - drm/i915: Introduce intel_ddi_dp_level (FATE#322643 bsc#1055900). - drm/i915/cnl: Avoid ioremap_wc on Cannonlake as well (FATE#322643 bsc#1055900). - drm/i915/cnl: WaDisableI2mCycleOnWRPort (FATE#322643 bsc#1055900). - drm/i915/cnl: WA FtrEnableFastAnisoL1BankingFix (FATE#322643 bsc#1055900). - drm/i915: Stop using long platform names on clock gating functions (FATE#322643 bsc#1055900). - drm/i915: Discard the request queue if we fail to sleep before suspend (FATE#322643 bsc#1055900). - drm/i915: Clear wedged status upon resume (FATE#322643 bsc#1055900). - drm/i915: Always sanity check engine state upon idling (FATE#322643 bsc#1055900). - drm/i915: Don't use GPU relocations prior to cmdparser stalls (FATE#322643 bsc#1055900). - drm/i915: Remove excess indent in intel_finish_reset() caught by sparse (FATE#322643 bsc#1055900). - drm/i915: Beef up of Beef up the IPS vs. CRC workaround (FATE#322643 bsc#1055900). - drm/i915/bios: amend edp block based on intel_vbt_decode (FATE#322643 bsc#1055900). - drm/i915/bios: amend child device flags based on intel_vbt_decode (FATE#322643 bsc#1055900). - drm/i915/bios: amend bdb_general_features (FATE#322643 bsc#1055900). - drm/i915/bios: split up iboost to hdmi and dp bitfields (FATE#322643 bsc#1055900). - drm/i915: Fix FBC cfb stride programming for non X-tiled FB (FATE#322643 bsc#1055900). - drm/i915/cnl: don't hardcode DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT (FATE#322643 bsc#1055900). - drm/i915/bios: drop the rest of the p_ prefixes from pointers (FATE#322643 bsc#1055900). - drm/i915/bios: throw away unused DVO_* macros (FATE#322643 bsc#1055900). - drm/i915/bios: group device type definitions together (FATE#322643 bsc#1055900). - drm/i915/bios: document child device config dvo_port values a bit better (FATE#322643 bsc#1055900). - drm/i915/bios: throw away struct old_child_dev_config (FATE#322643 bsc#1055900). - drm/i915/bios: throw away high level child device union (FATE#322643 bsc#1055900). - drm/i915/bios: add legacy contents to common child device config (FATE#322643 bsc#1055900). - drm/i915/bios: remove the raw version of child device config (FATE#322643 bsc#1055900). - drm/i915/bios: document BDB versions of child device config fields (FATE#322643 bsc#1055900). - drm/i915/bios: amend child device config parameters (FATE#322643 bsc#1055900). - drm/i915: Beef up the IPS vs. CRC workaround (FATE#322643 bsc#1055900). - drm/i915: Make some RPS functions static (FATE#322643 bsc#1055900). - drm/i915: Assert that the handle->vma lut is empty on object close (FATE#322643 bsc#1055900). - drm/i915/cnl: WaForceContextSaveRestoreNonCoherent (FATE#322643 bsc#1055900). - drm/i915/cnl: WaPushConstantDereferenceHoldDisable (FATE#322643 bsc#1055900). - drm/i915/cfl: Coffee Lake works on Kaby Lake PCH (FATE#322643 bsc#1055900). - drm/i915/cnl: extract cnl_set_procmon_ref_values (FATE#322643 bsc#1055900). - drm/i915/cnl: simplify cnl_procmon_values handling (FATE#322643 bsc#1055900). - drm/i915: Boost GPU clocks if we miss the pageflip's vblank (FATE#322643 bsc#1055900). - drm/i915: Constify states passed to enable/disable/etc. encoder hooks (FATE#322643 bsc#1055900). - drm/i915: Plumb crtc_state to PSR enable/disable (FATE#322643 bsc#1055900). - drm/i915: Init infoframe vfuncs for DP encoders as well (FATE#322643 bsc#1055900). - drm/i915: Move infoframe vfuncs into intel_digital_port (FATE#322643 bsc#1055900). - drm/i915: Disable infoframes when shutting down DDI HDMI (FATE#322643 bsc#1055900). - drm/i915: Check has_infoframes when enabling infoframes (FATE#322643 bsc#1055900). - drm/i915: Re-enable per-engine reset for Broxton (FATE#322643 bsc#1055900). - drm/i915/dp: make is_edp non-static and rename to intel_dp_is_edp (FATE#322643 bsc#1055900). - drm/i915/dp: rename intel_dp_is_edp to intel_dp_is_port_edp (FATE#322643 bsc#1055900). - drm/i915/cnl: Apply large line width optimization (FATE#322643 bsc#1055900). - drm/i915/cnl: WaDisableEnhancedSBEVertexCaching (FATE#322643 bsc#1055900). - drm/i915/cnl: Add WaDisableReplayBufferBankArbitrationOptimization (FATE#322643 bsc#1055900). - drm/i915/cnl: Introduce initial Cannonlake Workarounds (FATE#322643 bsc#1055900). - drm/dp/mst: Sideband message transaction to power up/down nodes (FATE#322643 bsc#1055900). - drm/atomic: Fix freeing connector/plane state too early by tracking commits, v3 (FATE#322643 bsc#1055900). - drm/atomic: Move drm_crtc_commit to drm_crtc_state, v4 (FATE#322643 bsc#1055900). - drm/atomic: Return commit in drm_crtc_commit_get for better annotation (FATE#322643 bsc#1055900). - drm/i915: Always wait for flip_done, v2 (FATE#322643 bsc#1055900). - drm/dp: Add defines for DP SDP types (FATE#322643 bsc#1055900). - drm/i915: Deconstruct struct sgt_dma initialiser (FATE#322643 bsc#1055900). - drm/i915: Reject unknown syncobj flags (FATE#322643 bsc#1055900). - drm/i915: Check incoming alignment for unfenced buffers (on i915gm) (FATE#322643 bsc#1055900). - drm/i915: Hold rcu_read_lock when iterating over the radixtree (objects) (FATE#322643 bsc#1055900). - drm/i915/edp: read edp display control registers unconditionally (FATE#322643 bsc#1055900). - drm/i915: Do not rely on wm preservation for ILK watermarks (FATE#322643 bsc#1055900). - commit 1559905- drm/i915: Cancel the modeset retry work during modeset cleanup (FATE#322643 bsc#1055900). - drm/i915/gvt: Adding ACTHD mmio read handler (FATE#322643 bsc#1055900). - drm/i915/gvt: Extract mmio_read_from_hw() common function (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine MMIO_RING_F() (FATE#322643 bsc#1055900). - drm/i915/gvt: properly check per_ctx bb valid state (FATE#322643 bsc#1055900). - drm/i915/perf: fix perf enable/disable ioctls with 32bits userspace (FATE#322643 bsc#1055900). - drm/i915: Use a mask when applying WaProgramL3SqcReg1Default (FATE#322643 bsc#1055900). - drm/i915: Report -EFAULT before pwrite fast path into shmemfs (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix PLL initialization for HDMI (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix PLL mapping (FATE#322643 bsc#1055900). - drm/i915: Use bdw_ddi_translations_fdi for Broadwell (FATE#322643 bsc#1055900). - drm/i915: Fix eviction when the GGTT is idle but full (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix GPU hang after reusing vGPU instance across different guest OS (FATE#322643 bsc#1055900). - drm/i915/bios: parse DDI ports also for CHV for HDMI DDC pin and DP AUX channel (FATE#322643 bsc#1055900). - drm/i915: Read timings from the correct transcoder in intel_crtc_mode_get() (FATE#322643 bsc#1055900). - drm/i915: Order two completing nop_submit_request (FATE#322643 bsc#1055900). - drm/i915: Silence compiler warning for hsw_power_well_enable() (FATE#322643 bsc#1055900). - drm/i915: Use crtc_state_is_legacy_gamma in intel_color_check (FATE#322643 bsc#1055900). - drm/i915/edp: Increase the T12 delay quirk to 1300ms (FATE#322643 bsc#1055900). - drm/i915/edp: Get the Panel Power Off timestamp after panel is off (FATE#322643 bsc#1055900). - drm/i915/glk: Fix DMC/DC state idleness calculation (FATE#322643 bsc#1055900). - drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume (FATE#322643 bsc#1055900). - drm/i915: Fix DDI PHY init if it was already on (FATE#322643 bsc#1055900). - drm/i915/bios: ignore HDMI on port A (FATE#322643 bsc#1055900). - drm/i915: remove redundant variable hw_check (FATE#322643 bsc#1055900). - drm/i915: always update ELD connector type after get modes (FATE#322643 bsc#1055900). - drm/i915: Remove unused 'in_vbl' from i915_get_crtc_scanoutpos() (FATE#322643 bsc#1055900). - drm/i915/cnp: set min brightness from VBT (FATE#322643 bsc#1055900). - Revert "drm/i915/bxt: Disable device ready before shutdown command" (bsc#1051510). - drm/i915/bxt: set min brightness from VBT (FATE#322643 bsc#1055900). - drm/i915: Fix an error handling in 'intel_framebuffer_init()' (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix incorrect PCI BARs reporting (FATE#322643 bsc#1055900). - drm/i915/gvt: Remove one duplicated MMIO (FATE#322643 bsc#1055900). - drm/i915: Re-enable GTT following a device reset (FATE#322643 bsc#1055900). - drm/i915: Annotate user relocs with __user (FATE#322643 bsc#1055900). - drm/i915: Silence sparse by using gfp_t (FATE#322643 bsc#1055900). - drm/i915: Add __rcu to radix tree slot pointer (FATE#322643 bsc#1055900). - drm/i915: Fix the missing PPAT cache attributes on CNL (FATE#322643 bsc#1055900). - drm/i915: Fix enum pipe vs. enum transcoder for the PCH transcoder (FATE#322643 bsc#1055900). - drm/i915: Make i2c lock ops static (FATE#322643 bsc#1055900). - drm/i915: Make i9xx_load_ycbcr_conversion_matrix() static (FATE#322643 bsc#1055900). - drm/i915/edp: Increase T12 panel delay to 900 ms to fix DP AUX CH timeouts (FATE#322643 bsc#1055900). - drm/i915: Ignore duplicate VMA stored within the per-object handle LUT (FATE#322643 bsc#1055900). - drm/i915: Skip fence alignemnt check for the CCS plane (FATE#322643 bsc#1055900). - drm/i915: Treat fb->offsets[] as a raw byte offset instead of a linear offset (FATE#322643 bsc#1055900). - drm/i915: Always wake the device to flush the GTT (FATE#322643 bsc#1055900). - drm/i915: Recreate vmapping even when the object is pinned (FATE#322643 bsc#1055900). - drm/i915: Quietly cancel FBC activation if CRTC is turned off before worker (FATE#322643 bsc#1055900). - i915: Use drm_syncobj_fence_get (FATE#322643 bsc#1055900). - drm/syncobj: Add a race-free drm_syncobj_fence_get helper (v2) (FATE#322643 bsc#1055900). - drm/syncobj: Rename fence_get to find_fence (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170818 (FATE#322643 bsc#1055900). - drm/i915: Mark the GT as busy before idling the previous request (FATE#322643 bsc#1055900). - drm/i915: Trivial grammar fix s/opt of/opt out of/ in comment (FATE#322643 bsc#1055900). - drm/i915: Replace execbuf vma ht with an idr (FATE#322643 bsc#1055900). - drm/i915: Simplify eb_lookup_vmas() (FATE#322643 bsc#1055900). - drm/i915: Convert execbuf to use struct-of-array packing for critical fields (FATE#322643 bsc#1055900). - drm/i915: Check context status before looking up our obj/vma (FATE#322643 bsc#1055900). - drm/i915: Don't use MI_STORE_DWORD_IMM on Sandybridge/vcs (FATE#322643 bsc#1055900). - drm/i915: Stop touching forcewake following a gen6+ engine reset (FATE#322643 bsc#1055900). - drm/i915: Split pin mapping into per platform functions (FATE#322643 bsc#1055900). - drm/i915/opregion: let user specify override VBT via firmware load (FATE#322643 bsc#1055900). - drm/i915/cnl: Reuse skl_wm_get_hw_state on Cannonlake (FATE#322643 bsc#1055900). - drm/i915/gen10: implement gen 10 watermarks calculations (FATE#322643 bsc#1055900). - drm/i915/cnl: Setup PAT Index (FATE#322643 bsc#1055900). - drm/i915/edp: Allow alternate fixed mode for eDP if available (FATE#322643 bsc#1055900). - drm/i915: Add support for drm syncobjs (FATE#322643 bsc#1055900). - drm/i915: Handle full s64 precision for wait-ioctl (FATE#322643 bsc#1055900). - drm/i915: Split obj->cache_coherent to track r/w (FATE#322643 bsc#1055900). - drm/i915/hsw+: Add support for multiple power well regs (FATE#322643 bsc#1055900). - drm/i915: Work around GCC anonymous union initialization bug (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix guest i915 full ppgtt blocking issue (FATE#322643 bsc#1055900). - drm/i915: Enable guest i915 full ppgtt functionality (FATE#322643 bsc#1055900). - drm/i915: Disconnect 32 and 48 bit ppGTT support (FATE#322643 bsc#1055900). - drm/i915/gvt: Add shadow context descriptor updating (FATE#322643 bsc#1055900). - drm/i915/gvt: expose vGPU context hw id (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine the intel_vgpu_reset_gtt reset function (FATE#322643 bsc#1055900). - drm/i915/gvt: Add carefully checking in GTT walker paths (FATE#322643 bsc#1055900). - drm/i915/gvt: Remove duplicated MMIO entries (FATE#322643 bsc#1055900). - drm/i915/gvt: take runtime pm when do early scan and shadow (FATE#322643 bsc#1055900). - drm/i915/gvt: Replace duplicated code with exist function (FATE#322643 bsc#1055900). - drm/i915/gvt: To check whether workload scan and shadow has mutex hold (FATE#322643 bsc#1055900). - drm/i915/gvt: Audit and shadow workload during ELSP writing (FATE#322643 bsc#1055900). - drm/i915/gvt: Factor out scan and shadow from workload dispatch (FATE#322643 bsc#1055900). - drm/i915/gvt: Optimize ring siwtch 2x faster again by light weight mmio access wrapper (FATE#322643 bsc#1055900). - drm/i915/gvt: Optimize ring siwtch 2x faster by removing unnecessary POSTING_READ (FATE#322643 bsc#1055900). - drm/i915/gvt: Use gvt_err to print the resource not enough error (FATE#322643 bsc#1055900). - drm/i915/dp: Validate the compliance test link parameters (FATE#322643 bsc#1055900). - drm/i915/dp: Generalize intel_dp_link_params function to accept arguments to be validated (FATE#322643 bsc#1055900). - drm/i915: More surgically unbreak the modeset vs reset deadlock (FATE#322643 bsc#1055900). - drm/i915: Push i915_sw_fence_wait into the nonblocking atomic commit (FATE#322643 bsc#1055900). - drm/i915/gen9: Send all components in VF state (FATE#322643 bsc#1055900). - drm/i915/guc: Rename GuC irq trigger function (FATE#322643 bsc#1055900). - drm/i915: Add SW_SYNC to our recommend testing Kconfig (FATE#322643 bsc#1055900). - drm/i915: Introduce intel_hpd_pin function (FATE#322643 bsc#1055900). - drm/i915: Simplify hpd pin to port (FATE#322643 bsc#1055900). - drm/i915/cnl: Dump the right pll registers when dumping pipe config (FATE#322643 bsc#1055900). - drm/i915/cnl: Add allowed DP rates for Cannonlake (FATE#322643 bsc#1055900). - drm/i915: make structure intel_sprite_plane_funcs static (FATE#322643 bsc#1055900). - drm/i915/fbc: only update no_fbc_reason when active (FATE#322643 bsc#1055900). - commit bb1995e- drm/i915/gen10: fix WM latency printing (FATE#322643 bsc#1055900). - drm/i915/gen10: fix the gen 10 SAGV block time (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable SAGV for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/gen10+: use the SKL code for reading WM latencies (FATE#322643 bsc#1055900). - drm/i915: Avoid null dereference if mst_port is unset (FATE#322643 bsc#1055900). - drm/i915/perf: Drop redundant check for perf.initialised on reset (FATE#322643 bsc#1055900). - drm/i915/perf: Drop lockdep assert for i915_oa_init_reg_state() (FATE#322643 bsc#1055900). - drm/i915/perf: Initialise dynamic sysfs group before creation (FATE#322643 bsc#1055900). - drm/i915: enum i915_power_well_id is not proper kernel-doc (FATE#322643 bsc#1055900). - drm/i915: Add format modifiers for Intel (FATE#322643 bsc#1055900). - drm/i915: Add render decompression support (FATE#322643 bsc#1055900). - drm/i915: Implement .get_format_info() hook for CCS (FATE#322643 bsc#1055900). - drm/i915: Supply the engine-id for our mock_engine() (FATE#322643 bsc#1055900). - drm/i915/psr: Preserve SRD_CTL bit 29 on PSR init (FATE#322643 bsc#1055900). - drm/i915/cnl: Removing missing DDI_E bits from CNL (FATE#322643 bsc#1055900). - drm/i915/selftests: Retarget igt_render_engine_reset_fallback() (FATE#322643 bsc#1055900). - drm/i915/perf: Initialise the dynamic sysfs attr (FATE#322643 bsc#1055900). - drm/i915: enable WaDisableDopClkGating for skl (FATE#322643 bsc#1055900). - drm/i915: Fix PCH names for KBP and CNP (FATE#322643 bsc#1055900). - drm/i915/perf: Implement I915_PERF_ADD/REMOVE_CONFIG interface (FATE#322643 bsc#1055900). - drm/i915: reorder NOA register definition to follow addresses (FATE#322643 bsc#1055900). - drm/i915/perf: disable NOA logic when not used (FATE#322643 bsc#1055900). - drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs (FATE#322643 bsc#1055900). - drm/i915/perf: prune OA configs (FATE#322643 bsc#1055900). - drm/i915: add const to bin_attribute (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170731 (FATE#322643 bsc#1055900). - drm/i915: Remove unused i915_err_print_instdone (FATE#322643 bsc#1055900). - drm/i915: Include mbox details for pcode read/write failures (FATE#322643 bsc#1055900). - drm/i915/sdvo: Shut up state checker with hdmi cards on gen3 (FATE#322643 bsc#1055900). - drm/i915: Rework sdvo proxy i2c locking (FATE#322643 bsc#1055900). - drm/i915: Call the unlocked version of i915_gem_object_get_pages() (FATE#322643 bsc#1055900). - drm/i915: Move i915_gem_object_phys_attach() (FATE#322643 bsc#1055900). - drm/i915: Pin the pages before acquiring struct_mutex for display (FATE#322643 bsc#1055900). - drm/i915: Make i915_gem_object_phys_attach() use obj->mm.lock more appropriately (FATE#322643 bsc#1055900). - drm/i915: Trim struct_mutex usage for kms (FATE#322643 bsc#1055900). - drm/i915: Handle msr read failure gracefully (FATE#322643 bsc#1055900). - drm/i915/fbc: add comments to the FBC auxiliary structs (FATE#322643 bsc#1055900). - drm/i915: cleanup the CHICKEN_MISC_2 (re)definitions (FATE#322643 bsc#1055900). - drm/i915/selftests: Fix kbuild error (FATE#322643 bsc#1055900). - drm/i915: Squelch reset messages during selftests (FATE#322643 bsc#1055900). - drm/i915/selftest: Refactor reset locking (FATE#322643 bsc#1055900). - drm/i915: Don't touch fence->error when resetting an innocent request (FATE#322643 bsc#1055900). - drm/i915: Enforce that CS packets are qword aligned (FATE#322643 bsc#1055900). - drm/i915/glk: set HDMI 2.0 identifier (FATE#322643 bsc#1055900). - drm/i915: set colorspace for YCBCR420 outputs (FATE#322643 bsc#1055900). - drm/i915: prepare csc unit for YCBCR420 output (FATE#322643 bsc#1055900). - drm/i915: prepare pipe for YCBCR420 output (FATE#322643 bsc#1055900). - drm/i915: prepare scaler for YCBCR420 modeset (FATE#322643 bsc#1055900). - drm/i915: add config function for YCBCR420 outputs (FATE#322643 bsc#1055900). - drm/i915: Gather all the power well->domain mappings to one place (FATE#322643 bsc#1055900). - drm/i915: Move hsw_power_well_enable() next to the rest of HSW helpers (FATE#322643 bsc#1055900). - drm/i915/gen9+: Unify the HSW/BDW and GEN9+ power well helpers (FATE#322643 bsc#1055900). - drm/i915/hsw+: Add has_fuses power well attribute (FATE#322643 bsc#1055900). - drm/i915/hsw, bdw: Wait for the power well disabled state (FATE#322643 bsc#1055900). - drm/i915/hsw, bdw: Add irq_pipe_mask, has_vga power well attributes (FATE#322643 bsc#1055900). - drm/i915/hsw+: Unify the hsw/bdw and gen9+ power well req/state macros (FATE#322643 bsc#1055900). - drm/i915/hsw, bdw: Split power well set to enable/disable helpers (FATE#322643 bsc#1055900). - drm/i915/hsw, bdw: Remove redundant state check during power well toggling (FATE#322643 bsc#1055900). - drm/i915/gen9+: Remove redundant state check during power well toggling (FATE#322643 bsc#1055900). - drm/i915/gen9+: Remove redundant power well state assert during enabling (FATE#322643 bsc#1055900). - drm/i915/bxt, glk: Give a proper name to the power well struct phy field (FATE#322643 bsc#1055900). - drm/i915: Check for duplicated power well IDs (FATE#322643 bsc#1055900). - drm/i915/hsw, bdw: Add an ID for the global display power well (FATE#322643 bsc#1055900). - drm/i915/gen2: Add an ID for the display pipes power well (FATE#322643 bsc#1055900). - drm/i915: Assign everywhere the always-on power well ID (FATE#322643 bsc#1055900). - drm/i915: Unify power well ID enums (FATE#322643 bsc#1055900). - drm/i915/chv: Add unique power well ID for the pipe A power well (FATE#322643 bsc#1055900). - drm/i915: Simplify scaler init during CRTC HW readout (FATE#322643 bsc#1055900). - drm/i915/selftests: Exercise independence of per-engine resets (FATE#322643 bsc#1055900). - drm/i915: Disable per-engine reset for Broxton (FATE#322643 bsc#1055900). - drm/i915: Emit a user level message when resetting the GPU (or engine) (FATE#322643 bsc#1055900). - drm/i915: Make i915_gem_context_mark_guilty() safe for unlocked updates (FATE#322643 bsc#1055900). - drm/i915: Clear engine irq posted following a reset (FATE#322643 bsc#1055900). - drm/i915: Assert that machine is wedged for nop_submit_request (FATE#322643 bsc#1055900). - drm/i915: Wake up waiters after setting the WEDGED bit (FATE#322643 bsc#1055900). - drm/i915: Move idle checks before intel_engine_init_global_seqno() (FATE#322643 bsc#1055900). - drm/i915: Clear execlist port[] before updating seqno on wedging (FATE#322643 bsc#1055900). - drm/i915: Check the execlist queue for pending requests before declaring idle (FATE#322643 bsc#1055900). - drm/i915: Check execlist/ring status during hangcheck (FATE#322643 bsc#1055900). - drm/i915: Flush the execlist ports if idle (FATE#322643 bsc#1055900). - drm/i915: Serialize per-engine resets against new requests (FATE#322643 bsc#1055900). - drm/i915: Reset context image on engines after triggering the reset (FATE#322643 bsc#1055900). - drm/i915: Report execlists irq bit in debugfs (FATE#322643 bsc#1055900). - Revert "drm/i915: Add heuristic to determine better way to adjust brightness" (FATE#322643 bsc#1055900). - Revert "drm/i915: Add option to support dynamic backlight via DPCD" (FATE#322643 bsc#1055900). - drm/i915: Drop unpin stall in atomic_prepare_commit (FATE#322643 bsc#1055900). - drm/i915: Remove intel_flip_work infrastructure (FATE#322643 bsc#1055900). - drm/i915: adjust has_pending_fb_unpin to atomic (FATE#322643 bsc#1055900). - drm/i915: Rip out legacy page_flip completion/irq handling (FATE#322643 bsc#1055900). - drm/i915: s/INTEL_INFO(dev_priv)->gen/INTEL_GEN(dev_priv) in i915_irq (FATE#322643 bsc#1055900). - drm/i915: Nuke legacy flip queueing code (FATE#322643 bsc#1055900). - drm/i915: Pass enum pipe to intel_set_pch_fifo_underrun_reporting() (FATE#322643 bsc#1055900). - drm/i915/selftests: Mark contexts as lost during freeing of mock device (FATE#322643 bsc#1055900). - drm/i915: unregister interfaces first in unload (FATE#322643 bsc#1055900). - drm/i915: Fix fbdev unload sequence (FATE#322643 bsc#1055900). - drm/atomic-helper: Fix leak in disable_all (FATE#322643 bsc#1055900). - drm/i915/selftests: Attach a stub pm_domain (FATE#322643 bsc#1055900). - drm/i915: Drain the device workqueue on unload (FATE#322643 bsc#1055900). - drm/i915: More stolen quirking (FATE#322643 bsc#1055900). - drm/i915: Explicit the connector name for DP link training result (FATE#322643 bsc#1055900). - commit d7aac3c- drm/i915: Consistently use enum pipe for PCH transcoders (FATE#322643 bsc#1055900). - drm/i915: Fix error checking/locking in perf/lookup_context() (FATE#322643 bsc#1055900). - drm: Handle properties in the core for atomic drivers (FATE#322643 bsc#1055900). - drm: Don't update property values for atomic drivers (FATE#322643 bsc#1055900). - drm/i915: Use the drm_driver.dumb_destroy default (FATE#322643 bsc#1055900). - drm/fb-helper: pass physical dimensions to fbdev (FATE#322643 bsc#1055900). - drm: i915: remove dead code and pointless local lut storage (FATE#322643 bsc#1055900). - drm/fb-helper: add new drm_setup_crtcs_fb() function (FATE#322643 bsc#1055900). - drm/fb: Fix pointer dereference before null check (FATE#322643 bsc#1055900). - drm: Create a format/modifier blob (FATE#322643 bsc#1055900). - drm: Plumb modifiers through plane init (FATE#322643 bsc#1055900). - drm: Fix warning when building docs for scdc_helper (FATE#322643 bsc#1055900). - drm/modes: Fix drm_mode_is_420_only() comment (FATE#322643 bsc#1055900). - drm/dumb-buffers: Add defaults for .dumb_map_offset and .dumb_destroy (FATE#322643 bsc#1055900). - drm/gem: Add drm_gem_dumb_map_offset() (FATE#322643 bsc#1055900). - drm/atomic: implement drm_atomic_helper_commit_tail for runtime_pm users (FATE#322643 bsc#1055900). - drm: Improve kerneldoc for drm_modeset_lock (FATE#322643 bsc#1055900). - drm/fb-helper: Support deferred setup (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170717 (FATE#322643 bsc#1055900). - drm/i915: Protect against deferred fbdev setup (FATE#322643 bsc#1055900). - drm/i915/fbdev: Always forward hotplug events (FATE#322643 bsc#1055900). - drm/i915/skl+: unify cpp value in WM calculation (FATE#322643 bsc#1055900). - drm/i915/skl+: WM calculation don't require height (FATE#322643 bsc#1055900). - drm/i915: Addition wrapper for fixed16.16 operation (FATE#322643 bsc#1055900). - drm/i915: cleanup fixed-point wrappers naming (FATE#322643 bsc#1055900). - drm/i915: Always perform internal fixed16 division in 64 bits (FATE#322643 bsc#1055900). - drm/i915: take-out common clamping code of fixed16 wrappers (FATE#322643 bsc#1055900). - drm/i915/cnl: Add missing type case (FATE#322643 bsc#1055900). - drm/i915/cnl: Add max allowed Cannonlake DC (FATE#322643 bsc#1055900). - drm/i915/cnl: Get DDI clock based on PLLs (FATE#322643 bsc#1055900). - drm/i915/cnl: Inherit RPS stuff from previous platforms (FATE#322643 bsc#1055900). - drm/i915/cnl: Gen10 render context size (FATE#322643 bsc#1055900). - drm/i915/cnl: Don't trust VBT's alternate pin for port D for now (FATE#322643 bsc#1055900). - drm/i915: Fix the kernel panic when using aliasing ppgtt (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake color init (FATE#322643 bsc#1055900). - drm/i915/cnl: Add force wake for gen10+ (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix comment about AUX IO power well enable/disable (FATE#322643 bsc#1055900). - drm/i915/gen9+: Don't remove secondary power well requests (FATE#322643 bsc#1055900). - drm/i915/bxt, glk: Fix assert on conditions for DC9 enabling (FATE#322643 bsc#1055900). - drm/i915/skl: Don't disable misc IO power well during display uninit (FATE#322643 bsc#1055900). - drm/i915/gen9+: Add 10 us delay after power well 1/AUX IO pw disabling (FATE#322643 bsc#1055900). - drm/i915: Only free the oldest stale context before allocating (FATE#322643 bsc#1055900). - drm/i915: Drop request retirement before reaping stale contexts (FATE#322643 bsc#1055900). - drm/i915: Move stale context reaping to common i915_gem_context_create (FATE#322643 bsc#1055900). - drm/i915: Check new context against kernel_context after reporting an error (FATE#322643 bsc#1055900). - drm/i915: Setting pch_id for HSW/BDW in virtual environment (FATE#322643 bsc#1055900). - drm: i915: sysfs: constify attribute_group structures (FATE#322643 bsc#1055900). - drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (FATE#322643 bsc#1055900). - drm/i915/skl+: Scaling not supported in IF-ID Interlace mode (FATE#322643 bsc#1055900). - drm/i915/skl+: Check for supported plane configuration in Interlace mode (FATE#322643 bsc#1055900). - drm/i915: Fix use-after-free of context during free_contexts (FATE#322643 bsc#1055900). - drm/i915: Prevent kernel panic when reading/writing compliance debugfs files, v2 (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170703 (FATE#322643 bsc#1055900). - drm/i915: Avoid keeping waitboost active for signaling threads (FATE#322643 bsc#1055900). - drm/i915: Drop flushing of the object free list/worker from i915_gem_suspend (FATE#322643 bsc#1055900). - drm/i915: Cancel pending execlists irq handler upon idling (FATE#322643 bsc#1055900). - drm/i915/selftests: Fix mutex imbalance for igt_render_engine_reset_fallback (FATE#322643 bsc#1055900). - drm/i915/dp: Remove -1/+1 from t11_t12 for Gen9_LP/CNP case (FATE#322643 bsc#1055900). - drm/i915/dp: Fix the t11_t12 panel power cycle delay from VBT read (FATE#322643 bsc#1055900). - drm/i915: Add option to support dynamic backlight via DPCD (FATE#322643 bsc#1055900). - drm/i915: Add heuristic to determine better way to adjust brightness (FATE#322643 bsc#1055900). - drm/i915: Set PWM divider to match desired frequency in vbt (FATE#322643 bsc#1055900). - drm/i915: Always use 9 bits of the LPC bridge device ID for PCH detection (FATE#322643 bsc#1055900). - drm/i915: Clean up some expressions (FATE#322643 bsc#1055900). - drm/i915: Document that PPT==CPT and WPT==LPT (FATE#322643 bsc#1055900). - drm/i915: s/Couar/Cougar/ (FATE#322643 bsc#1055900). - drm/i915: Use HAS_PCH_CPT() everywhere (FATE#322643 bsc#1055900). - drm/i915: pass the vma to insert_entries (FATE#322643 bsc#1055900). - drm/i915: Cancel pending execlist tasklet upon wedging (FATE#322643 bsc#1055900). - drm/i915: Assert the vma's active tracking is clear before free (FATE#322643 bsc#1055900). - drm/i915: select CRC32 (FATE#322643 bsc#1055900). - drm/i915: Enable Engine reset and recovery support (FATE#322643 bsc#1055900). - drm/i915/selftests: reset engine self tests (FATE#322643 bsc#1055900). - drm/i915: Export per-engine reset count info to debugfs (FATE#322643 bsc#1055900). - drm/i915: Add engine reset count to error state (FATE#322643 bsc#1055900). - drm/i915: Add support for per engine reset recovery (FATE#322643 bsc#1055900). - drm/i915: Modify error handler for per engine hang recovery (FATE#322643 bsc#1055900). - drm/i915: Update i915.reset to handle engine resets (FATE#322643 bsc#1055900). - drm/i915: Look for active requests earlier in the reset path (FATE#322643 bsc#1055900). - drm/i915: Wait for concurrent global resets to complete (FATE#322643 bsc#1055900). - drm/i915: Enable rcu-only context lookups (FATE#322643 bsc#1055900). - drm/i915: Allow contexts to be unreferenced locklessly (FATE#322643 bsc#1055900). - drm/i915: Group all the global context information together (FATE#322643 bsc#1055900). - drm/i915: Do not re-calculate num_rings locally (FATE#322643 bsc#1055900). - drm/i915: Simplify intel_engines_init (FATE#322643 bsc#1055900). - drm/i915: Make intel_digital_port_connected() work for any port (FATE#322643 bsc#1055900). - drm/syncobj: Fix kerneldoc (FATE#322643 bsc#1055900). - drm/atomic: Allow drm_atomic_helper_swap_state to fail (FATE#322643 bsc#1055900). - drm/i915: Handle drm_atomic_helper_swap_state failure (FATE#322643 bsc#1055900). - drm/atomic: Change drm_atomic_helper_swap_state to return an error (FATE#322643 bsc#1055900). - drm: Update docs around gem_free_object (FATE#322643 bsc#1055900). - drm: Don't complain too much about struct_mutex (FATE#322643 bsc#1055900). - drm: add helper functions for YCBCR420 handling (FATE#322643 bsc#1055900). - drm/edid: parse ycbcr 420 deep color information (FATE#322643 bsc#1055900). - drm/edid: parse YCBCR420 videomodes from EDID (FATE#322643 bsc#1055900). - drm: add helper to validate YCBCR420 modes (FATE#322643 bsc#1055900). - drm/edid: cleanup patch for CEA extended-tag macro (FATE#322643 bsc#1055900). - drm/edid: parse sink information before CEA blocks (FATE#322643 bsc#1055900). - drm/edid: complete CEA modedb(VIC 1-107) (FATE#322643 bsc#1055900). - drm/fb-helper: separate the fb_setcmap helper into atomic and legacy paths (FATE#322643 bsc#1055900). - commit 963a693- drm/atomic-helper: update lut props directly in ..._legacy_gamma_set (FATE#322643 bsc#1055900). - drm: rename, adjust and export drm_atomic_replace_property_blob (FATE#322643 bsc#1055900). - drm/dp/mst: Use memchr_inv() instead of memcmp() against a zeroed array (FATE#322643 bsc#1055900). - drm/atomic: Make private objs proper objects (FATE#322643 bsc#1055900). - drm/atomic: Remove pointless private object NULL state check (FATE#322643 bsc#1055900). - drm/i915: Use correct iterator macro (FATE#322643 bsc#1055900). - drm/atomic: Use new iterator macros in drm_atomic_helper_wait_for_flip_done (FATE#322643 bsc#1055900). - drm/atomic: Use the new helpers in drm_atomic_helper_disable_all() (FATE#322643 bsc#1055900). - drm/atomic: Use the correct iterator macro in atomic_remove_fb (FATE#322643 bsc#1055900). - drm: inhibit drm drivers register to uninitialized drm core (FATE#322643 bsc#1055900). - drm/fb-helper: remove drm_fb_helper_save_lut_atomic (FATE#322643 bsc#1055900). - drm/fb-helper: keep the .gamma_store updated in drm_fb_helper_setcmap (FATE#322643 bsc#1055900). - drm/fb-helper: factor out pseudo-palette (FATE#322643 bsc#1055900). - drm/fb-helper: Split dpms handling into legacy and atomic paths (FATE#322643 bsc#1055900). - drm/fb-helper: Stop using mode_config.mutex for internals (FATE#322643 bsc#1055900). - drm/fb-helper: Push locking into restore_fbdev_mode_atomic|legacy (FATE#322643 bsc#1055900). - drm/fb-helper: Push locking into pan_display_atomic|legacy (FATE#322643 bsc#1055900). - drm/fb-helper: Drop locking from the vsync wait ioctl code (FATE#322643 bsc#1055900). - drm/fb-helper: Push locking in fb_is_bound (FATE#322643 bsc#1055900). - drm/fb-helper: Add top-level lock (FATE#322643 bsc#1055900). - drm/i915: Drop FBDEV #ifdev in mst code (FATE#322643 bsc#1055900). - drm/fb-helper: Push down modeset lock into FB helpers (FATE#322643 bsc#1055900). - drm: Remove pending_read_domains and pending_write_domain (FATE#322643 bsc#1055900). - drm/fb-helper: Remove drm_mode_config_fb (FATE#322643 bsc#1055900). - drm/atomic: initial support for asynchronous plane update (FATE#322643 bsc#1055900). - drm/core: Fail atomic IOCTL with no CRTC state but with signaling (FATE#322643 bsc#1055900). - drm/atomic-helper: Simplify commit tracking locking (FATE#322643 bsc#1055900). - drm/i915: Drop drm_vblank_cleanup (FATE#322643 bsc#1055900). - drm: Add drm_atomic_helper_wait_for_flip_done() (FATE#322643 bsc#1055900). - drm: Check for drm_device->dev in drm_set_busid (FATE#322643 bsc#1055900). - drm: Convert CMA fbdev console suspend helpers to use bool (FATE#322643 bsc#1055900). - drm: More links for gamma support helpers (FATE#322643 bsc#1055900). - drm/doc: Improve ioctl/fops docs a bit more (FATE#322643 bsc#1055900). - drm/pci: Deprecate drm_pci_init/exit completely (FATE#322643 bsc#1055900). - drm: Remove drm_driver->set_busid hook (FATE#322643 bsc#1055900). - drm/vblank: Consistent drm_crtc_ prefix (FATE#322643 bsc#1055900). - drm/vblank: _ioctl posfix for ioctl handler (FATE#322643 bsc#1055900). - drm/doc: vblank cleanup (FATE#322643 bsc#1055900). - drm/i915: Clear lost context-switch interrupts across reset (FATE#322643 bsc#1055900). - drm/i915/bxt: use NULL for GPIO connection ID (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix LSPCON support (FATE#322643 bsc#1055900). - drm/i915: Initialize 'data' in intel_dsi_dcs_backlight.c (FATE#322643 bsc#1055900). - drm/i915: Avoid the gpu reset vs. modeset deadlock (FATE#322643 bsc#1055900). - drm/i915: Suppress switch_mm emission between the same aliasing_ppgtt (FATE#322643 bsc#1055900). - drm/i915: Return correct EDP voltage swing table for 0.85V (FATE#322643 bsc#1055900). - drm/i915/cnl: Add slice and subslice information to debugfs (FATE#322643 bsc#1055900). - drm/i915: remove unused function declaration (FATE#322643 bsc#1055900). - drm/i915: fix backlight invert for non-zero minimum brightness (FATE#322643 bsc#1055900). - drm/i915/shrinker: Wrap need_resched() inside preempt-disable (FATE#322643 bsc#1055900). - drm/i915/perf: fix flex eu registers programming (FATE#322643 bsc#1055900). - drm/i915/gvt: Change the max length of mmio_reg_rw from 4 to 8 (FATE#322643 bsc#1055900). - drm/i915/gvt: Initialize MMIO Block with HW state (FATE#322643 bsc#1055900). - drm/i915/gvt: clean workload queue if error happened (FATE#322643 bsc#1055900). - drm/i915/gvt: change resetting to resetting_eng (FATE#322643 bsc#1055900). - drm/i915/gvt: Extend KBL platform support in GVT-g (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix the vblank timer close issue after shutdown VMs in reverse (FATE#322643 bsc#1055900). - drm/i915: Fix bad comparison in skl_compute_plane_wm (FATE#322643 bsc#1055900). - drm/i915: Force CPU synchronisation even if userspace requests ASYNC (FATE#322643 bsc#1055900). - drm/i915: Only skip updating execobject.offset after error (FATE#322643 bsc#1055900). - drm/i915: Only mark the execobject as pinned on success (FATE#322643 bsc#1055900). - drm/i915: Remove assertion from raw __i915_vma_unpin() (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix loadgen select programming on ddi vswing sequence (FATE#322643 bsc#1055900). - drm/i915/selftests: Fix an error handling path in 'mock_gem_device()' (FATE#322643 bsc#1055900). - drm/i915: Unbreak gpu reset vs. modeset locking (FATE#322643 bsc#1055900). - drm/i915: Fix cursor updates on some platforms (FATE#322643 bsc#1055900). - drm/i915: Fix user ptr check size in eb_relocate_vma() (FATE#322643 bsc#1055900). - drm: vblank: Fix vblank timestamp update (FATE#322643 bsc#1055900). - drm/i915/gvt: Use fence error from GVT request for workload status (FATE#322643 bsc#1055900). - drm/i915/gvt: remove scheduler_mutex in per-engine workload_thread (FATE#322643 bsc#1055900). - drm/i915/gvt: Revert "drm/i915/gvt: Fix possible recursive locking issue" (FATE#322643 bsc#1055900). - drm/i915/gvt: Audit the command buffer address (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix a memory leak in intel_gvt_init_gtt() (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix the CURSOR_COEFF_MASK used in DDI Vswing Programming (FATE#322643 bsc#1055900). - drm/i915/cfl: Fix Workarounds (FATE#322643 bsc#1055900). - drm/i915: Avoid undefined behaviour of "u32 >> 32" (FATE#322643 bsc#1055900). - drm/i915: Fix an error checking test (FATE#322643 bsc#1055900). - drm/i915/gvt: Make function dpy_reg_mmio_readx safe (FATE#322643 bsc#1055900). - drm/i915/gvt: Don't read ADPA_CRT_HOTPLUG_MONITOR from host (FATE#322643 bsc#1055900). - drm/i915/gvt: Set initial PORT_CLK_SEL vreg for BDW (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix possible recursive locking issue (FATE#322643 bsc#1055900). - drm: Remove unused drm_file parameter to drm_syncobj_replace_fence() (FATE#322643 bsc#1055900). - drm/i915: Clear execbuf's vma backpointer upon release (FATE#322643 bsc#1055900). - drm/i915: Pass the right flags to i915_vma_move_to_active() (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix RMW on ddi vswing sequence (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170619 (FATE#322643 bsc#1055900). - drm/i915/cfl: Introduce Coffee Lake workarounds (FATE#322643 bsc#1055900). - drm/i915: Store 9 bits of PCI Device ID for platforms with a LP PCH (FATE#322643 bsc#1055900). - drm/i915: Stash a pointer to the obj's resv in the vma (FATE#322643 bsc#1055900). - drm/i915: Async GPU relocation processing (FATE#322643 bsc#1055900). - drm/i915: Allow execbuffer to use the first object as the batch (FATE#322643 bsc#1055900). - drm/i915: Wait upon userptr get-user-pages within execbuffer (FATE#322643 bsc#1055900). - drm/i915: First try the previous execbuffer location (FATE#322643 bsc#1055900). - drm/i915: Store a persistent reference for an object in the execbuffer cache (FATE#322643 bsc#1055900). - drm/i915: Eliminate lots of iterations over the execobjects array (FATE#322643 bsc#1055900). - drm/i915: Disable EXEC_OBJECT_ASYNC when doing relocations (FATE#322643 bsc#1055900). - drm/i915: Pass vma to relocate entry (FATE#322643 bsc#1055900). - drm/i915: Store a direct lookup from object handle to vma (FATE#322643 bsc#1055900). - drm/i915: Fix retrieval of hangcheck stats (FATE#322643 bsc#1055900). - drm/i915: Store i915_gem_object_is_coherent() as a bit next to cache-dirty (FATE#322643 bsc#1055900). - drm/i915: Mark CPU cache as dirty on every transition for CPU writes (FATE#322643 bsc#1055900). - commit b736327- drm/i915: Make i915_vma_destroy() static (FATE#322643 bsc#1055900). - drm/i915: Actually attach the tv_format property to the SDVO connector (FATE#322643 bsc#1055900). - drm/i915/gvt: Refine virtual reset function (FATE#322643 bsc#1055900). - drm/i915/gvt: Fix GDRST vreg state after reset (FATE#322643 bsc#1055900). - drm/i915/gvt: Tuning the size of MMIO hash lookup table to 2048 (FATE#322643 bsc#1055900). - drm/i915/gvt: Add helper for tuning MMIO hash table (FATE#322643 bsc#1055900). - drm/i915/gvt: Make the MMIO attribute wrappers be inline (FATE#322643 bsc#1055900). - drm/i915/gvt: Make mmio_attribute as type u8 to save 1.5MB memory (FATE#322643 bsc#1055900). - drm/i915/gvt: Cleanup struct intel_gvt_mmio_info (FATE#322643 bsc#1055900). - drm/i915/gvt: Optimize MMIO register handling for some large MMIO blocks (FATE#322643 bsc#1055900). - drm/i915/gvt: add gtt_invalidate API to flush the GTT TLB (FATE#322643 bsc#1055900). - drm/i915/gvt: Add runtime_pm get/put to proctect MMIO accessing (FATE#322643 bsc#1055900). - drm/i915/gvt: remove redundant -Wall (FATE#322643 bsc#1055900). - drm/i915/gvt: Legacy HSW related MMIO handler clean up (FATE#322643 bsc#1055900). - drm/i915/gvt: Trigger scheduling after context complete (FATE#322643 bsc#1055900). - drm/i915/gvt: Support event based scheduling (FATE#322643 bsc#1055900). - drm/i915/gvt: Delete gvt_dbg_cmd() in cmd_parser_exec() (FATE#322643 bsc#1055900). - drm/i915/gvt: Change flood gvt dmesg into trace (FATE#322643 bsc#1055900). - drm/i915/gvt: clean up the unused last_ctx_submit_time of struct intel_vgpu (FATE#322643 bsc#1055900). - drm/i915/gvt: add RING_INSTDONE and SC_INSTDONE mmio handler in GVT-g (FATE#322643 bsc#1055900). - drm/i915/gvt: implement per-vm mmio switching optimization (FATE#322643 bsc#1055900). - drm/i915/gvt: refactor function intel_vgpu_submit_execlist (FATE#322643 bsc#1055900). - drm/i915/gvt: rewrite the trace gvt:gvt_command using trace style approach (FATE#322643 bsc#1055900). - Revert "drm/i915/skl: New ddb allocation algorithm" (FATE#322643 bsc#1055900). - drm/i915/glk: Add cold boot sequence for GLK DSI (FATE#322643 bsc#1055900). - drm/i915/glk: Split GLK DSI device ready functionality (FATE#322643 bsc#1055900). - drm/i915/cnl: make function cnl_ddi_dp_set_dpll_hw_state static (FATE#322643 bsc#1055900). - drm/i915: Remove pipe A quirk remnants (FATE#322643 bsc#1055900). - drm/i915: Drop pipe A quirk for Thinkapd T60 (FATE#322643 bsc#1055900). - drm/i915: Drop pipe A quirk for Toshiba Protege R205-S209 (FATE#322643 bsc#1055900). - drm/i915: Add i830 "pipes power well" (FATE#322643 bsc#1055900). - drm/i915: Use a loop for the "three times for luck" DPLL procedure (FATE#322643 bsc#1055900). - drm/i915: Split vma exec_link/evict_link (FATE#322643 bsc#1055900). - drm/i915: Use vma->exec_entry as our double-entry placeholder (FATE#322643 bsc#1055900). - drm/i915: Amalgamate execbuffer parameter structures (FATE#322643 bsc#1055900). - drm/i915/perf: add GLK support (FATE#322643 bsc#1055900). - drm/i915/perf: add KBL support (FATE#322643 bsc#1055900). - drm/i915: add KBL GT2/GT3 check macros (FATE#322643 bsc#1055900). - drm/i915/perf: remove perf.hook_lock (FATE#322643 bsc#1055900). - drm/i915/perf: per-gen timebase for checking sample freq (FATE#322643 bsc#1055900). - drm/i915/perf: Add more OA configs for BDW, CHV, SKL + BXT (FATE#322643 bsc#1055900). - drm/i915/perf: Add OA unit support for Gen 8+ (FATE#322643 bsc#1055900). - drm/i915/perf: Add 'render basic' Gen8+ OA unit configs (FATE#322643 bsc#1055900). - drm/i915/perf: rework mux configurations queries (FATE#322643 bsc#1055900). - drm/i915: expose _SUBSLICE_MASK GETPARM (FATE#322643 bsc#1055900). - drm/i915: expose _SLICE_MASK GETPARM (FATE#322643 bsc#1055900). - drm/i915: Reinstate reservation_object zapping for batch_pool objects (FATE#322643 bsc#1055900). - drm/i915: Spin for struct_mutex inside shrinker (FATE#322643 bsc#1055900). - drm/i915: Only restrict noreclaim in the early shrink passes (FATE#322643 bsc#1055900). - drm/i915/cfl: Basic DDI plumbing for Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable wrpll computation for CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: LSPCON support is gen9+ (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable fifo underrun for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix Cannonlake scaler mode programing (FATE#322643 bsc#1055900). - drm/i915: Use HAS_CSR instead of gen number on DMC load (FATE#322643 bsc#1055900). - drm/i915/DMC/CNL: Load DMC on CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable loadgen_select bit for vswing sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement voltage swing sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: Add DDI Buffer translation tables for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: Add registers related to voltage swing sequences (FATE#322643 bsc#1055900). - drm/i915: Add MMIO helper for 6 ports with different offsets (FATE#322643 bsc#1055900). - drm/i915/cnl: Initialize PLLs (FATE#322643 bsc#1055900). - drm/i915: Configure DPLL's for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: DDI - PLL mapping (FATE#322643 bsc#1055900). - drm/i915/cnl: Allow dynamic cdclk changes on CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement CNL display init/unit sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement .set_cdclk() for CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement .get_display_clock_speed() for CNL (FATE#322643 bsc#1055900). - drm/i915: Pass atomic state to backlight enable/disable/set callbacks (FATE#322643 bsc#1055900). - drm/i915: Pass connector state to intel_panel_set_backlight_acpi (FATE#322643 bsc#1055900). - drm/i915: Pass crtc_state and connector state to backlight enable/disable functions (FATE#322643 bsc#1055900). - drm/i915/cfl: Coffee Lake reuses Kabylake DMC (FATE#322643 bsc#1055900). - drm/i915/huc: Load HuC on Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/guc: Load GuC on Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/cfl: Add Coffee Lake PCI IDs for U Sku (FATE#322643 bsc#1055900). - drm/i915/cfl: Add Coffee Lake PCI IDs for H Sku (FATE#322643 bsc#1055900). - drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus (FATE#322643 bsc#1055900). - drm/i915/glk: Remove the alpha_support flag (FATE#322643 bsc#1055900). - drm/i915/cfl: Introduce Display workarounds for Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/cfl: Coffee Lake uses CNP PCH (FATE#322643 bsc#1055900). - drm/i915/cfl: Introduce Coffee Lake platform definition (FATE#322643 bsc#1055900). - drm/i915: Remove the spin-request during execbuf await_request (FATE#322643 bsc#1055900). - drm/i915: Skip adding the request to the signal tree is complete (FATE#322643 bsc#1055900). - drm/i915: Report back whether the irq was armed when adding the waiter (FATE#322643 bsc#1055900). - drm/i915: Check signaled state after enabling signaling (FATE#322643 bsc#1055900). - drm/i915/guc: Clear enable_guc_loading in case of init failure (FATE#322643 bsc#1055900). - drm/i915: Move the unclaimed mmio detection into the powerwell for KMS (FATE#322643 bsc#1055900). - drm/i915: Unify GT* and GT3 definitions (FATE#322643 bsc#1055900). - drm/i915: Remove unnecessary PORT3 definition (FATE#322643 bsc#1055900). - drm/i915/cnl: Also need power well sanitize (FATE#322643 bsc#1055900). - drm/i915/cnl: Add power wells for CNL (FATE#322643 bsc#1055900). - drm/i915/gen10: Set value of Indirect Context Offset for gen10 (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake has same MOCS table than Skylake (FATE#322643 bsc#1055900). - drm/i915/cnl: Configure EU slice power gating (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake has 4 planes (3 sprites) per pipe (FATE#322643 bsc#1055900). - drm/i915/cnl: add IS_CNL_REVID macro (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Cannonlake PCI IDs for Y-skus (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Cannonlake PCI IDs for U-skus (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake uses CNP PCH (FATE#322643 bsc#1055900). - drm/i915/cnl: Introduce Cannonlake platform defition (FATE#322643 bsc#1055900). - commit 35f6167- drm/i915: s/fbc_fc/fbc_false_color/ (FATE#322643 bsc#1055900). - drm/i915: Implement fbc_status "Compressing" info for all platforms (FATE#322643 bsc#1055900). - drm/i915: Remove dead code from runtime resume handler (FATE#322643 bsc#1055900). - drm/i915/cnp: Panel Power sequence changes for CNP PCH (FATE#322643 bsc#1055900). - drm/i915/cnp: add CNP gmbus support (FATE#322643 bsc#1055900). - drm/i915/cnp: Backlight support for CNP (FATE#322643 bsc#1055900). - drm/i915/cnp: Get/set proper Raw clock frequency on CNP (FATE#322643 bsc#1055900). - drm/i915/cnp: Add PCI ID for Cannonpoint LP PCH (FATE#322643 bsc#1055900). - drm/i915/cnp: Introduce Cannonpoint PCH (FATE#322643 bsc#1055900). - drm/i915: Allow kswapd to pause the device whilst reaping (FATE#322643 bsc#1055900). - drm/i915: return the correct usable aperture size under gvt environment (FATE#322643 bsc#1055900). - drm/i915: Check the ring is empty when declaring the engines are idle (FATE#322643 bsc#1055900). - drm/i915/guc: Assert that we switch between known ggtt->invalidate functions (FATE#322643 bsc#1055900). - drm/i915/dvo: fix debug logging on unknown DID (FATE#322643 bsc#1055900). - drm/i915/ddi: Avoid long delays during system suspend / eDP disabling (FATE#322643 bsc#1055900). - drm/i915/glk: Fix dotclock calculation in skl_check_pipe_max_pixel_rate (FATE#322643 bsc#1055900). - drm/i915/skl+: consider max supported plane pixel rate while scaling (FATE#322643 bsc#1055900). - drm/i915/skl: New ddb allocation algorithm (FATE#322643 bsc#1055900). - drm/i915/guc: Fix doorbell id selection (FATE#322643 bsc#1055900). - drm/i915/gvt: Return -EIO if host GuC submission is enabled when loading GVT-g (FATE#322643 bsc#1055900). - drm/i915/gvt: Return -EIO if host enable_execlists not enabled when loading GVT-g (FATE#322643 bsc#1055900). - drm/i915/gvt: Add gvt options sanitize function (FATE#322643 bsc#1055900). - drm/i915: Remove toplevel struct_mutex locking from debugfs/i915_drop_caches (FATE#322643 bsc#1055900). - drm/i915: Add kerneldoc to describe i915_gem_object.vma_list (FATE#322643 bsc#1055900). - drm/i915: Convert intel_sdvo connector properties to atomic (FATE#322643 bsc#1055900). - drm/i915: Handle force_audio correctly in intel_sdvo (FATE#322643 bsc#1055900). - drm/i915: Convert intel_hdmi connector properties to atomic (FATE#322643 bsc#1055900). - drm/i915: Convert intel_dp properties to atomic, v2 (FATE#322643 bsc#1055900). - drm/i915: Make intel_dp->has_audio reflect hw state only (FATE#322643 bsc#1055900). - drm/i915: Convert LVDS connector properties to atomic (FATE#322643 bsc#1055900). - drm/i915: Convert DSI connector properties to atomic (FATE#322643 bsc#1055900). - drm/i915: Add plumbing for digital connector state, v3 (FATE#322643 bsc#1055900). - drm/i915: Use per-connector scaling mode property (FATE#322643 bsc#1055900). - drm/i915: Use atomic scaling_mode instead of panel.fitting_mode (FATE#322643 bsc#1055900). - drm/i915: Remove decoupled MMIO code (FATE#322643 bsc#1055900). - drm: Reduce scope of 'state' variable (FATE#322643 bsc#1055900). - drm: Remove duplicate forward declaration (FATE#322643 bsc#1055900). - drm: Add const to name field declaration in struct drm_prop_enum_list (FATE#322643 bsc#1055900). - drm/syncobj: add sync_file interaction. (v1.2) (FATE#322643 bsc#1055900). - drm: introduce sync objects (v4) (FATE#322643 bsc#1055900). - drm: remove writeq/readq function definitions (FATE#322643 bsc#1055900). - drm/doc: Polish irq helper documentation (FATE#322643 bsc#1055900). - drm: Extract drm_vblank.[hc] (FATE#322643 bsc#1055900). - drm/atomic: Consitfy mode parameter to drm_atomic_set_mode_for_crtc() (FATE#322643 bsc#1055900). - drm: better document how to send out the crtc disable event (FATE#322643 bsc#1055900). - drm: Use vsnprintf extension %ph (FATE#322643 bsc#1055900). - drm/doc: move printf helpers out of drmP.h (FATE#322643 bsc#1055900). - drm: Use mode_valid() in atomic modeset (FATE#322643 bsc#1055900). - drm: Use new mode_valid() helpers in connector probe helper (FATE#322643 bsc#1055900). - drm: Introduce drm_bridge_mode_valid() (FATE#322643 bsc#1055900). - drm: Add drm_{crtc/encoder/connector}_mode_valid() (FATE#322643 bsc#1055900). - drm: Remove drm_device->virtdev (FATE#322643 bsc#1055900). - drm/i915: use drm_for_each_connector_iter() (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170529 (FATE#322643 bsc#1055900). - drm/i915: Keep the forcewake timer alive for 1ms past the most recent use (FATE#322643 bsc#1055900). - drm/i915/guc: capture GuC logs if FW fails to load (FATE#322643 bsc#1055900). - drm/i915/guc: Introduce buffer based cmd transport (FATE#322643 bsc#1055900). - drm/i915/guc: Disable send function on fini (FATE#322643 bsc#1055900). - drm: Add definition for eDP backlight frequency (FATE#322643 bsc#1055900). - drm/i915: Drop AUX backlight enable check for backlight control (FATE#322643 bsc#1055900). - drm/i915: Consolidate #ifdef CONFIG_INTEL_IOMMU (FATE#322643 bsc#1055900). - drm/i915: Only GGTT vma may be pinned and prevent shrinking (FATE#322643 bsc#1055900). - drm/i915: Convert i915_gem_object_ops->flags values to use BIT() (FATE#322643 bsc#1055900). - drm/i915/guc: Skip port assign on first iteration of GuC dequeue (FATE#322643 bsc#1055900). - drm/i915: Remove misleading comment in request_alloc (FATE#322643 bsc#1055900). - drm/i915/g33: Improve reset reliability (FATE#322643 bsc#1055900). - drm/i915/huc: Update GLK HuC version (FATE#322643 bsc#1055900). - drm/i915: Check for allocation failure (FATE#322643 bsc#1055900). - drm/i915/guc: Remove action status and statistics from debugfs (FATE#322643 bsc#1055900). - drm/i915/g4x: Improve gpu reset reliability (FATE#322643 bsc#1055900). - drm/i915/guc: Remove last submission result from debugfs (FATE#322643 bsc#1055900). - drm/i915/guc: Remove failed doorbell stat from debugfs (FATE#322643 bsc#1055900). - drm/i915: Reorder media/render reset on g4x (FATE#322643 bsc#1055900). - drm/i915: Try harder to reset the GPU (FATE#322643 bsc#1055900). - drm/i915/selftests: Pretend to be a gfx pci device (FATE#322643 bsc#1055900). - drm/i915: Check C for null pointer rather than B (FATE#322643 bsc#1055900). - drm/i915/skl+: use linetime latency if ddb size is not available (FATE#322643 bsc#1055900). - drm/i915/skl+: Perform wm level calculations in separate function (FATE#322643 bsc#1055900). - drm/i915/skl+: Watermark calculation cleanup (FATE#322643 bsc#1055900). - drm/i915/skl+: Fail the flip if ddb min requirement exceeds pipe allocation (FATE#322643 bsc#1055900). - drm/i915/skl+: no need to memset again (FATE#322643 bsc#1055900). - drm/i915/skl: Fail the flip if no FB for WM calculation (FATE#322643 bsc#1055900). - drm/i915/skl+: calculate pixel_rate & relative_data_rate in fixed point (FATE#322643 bsc#1055900). - drm/i915: Use fixed_16_16 wrapper for division operation (FATE#322643 bsc#1055900). - drm/i915: Add more wrapper for fixed_point_16_16 operations (FATE#322643 bsc#1055900). - drm/i915: fix naming of fixed_16_16 wrapper (FATE#322643 bsc#1055900). - drm/i915: Don't force serialisation on marking up execlists irq posted (FATE#322643 bsc#1055900). - drm/i915: Stop inlining the execlists IRQ handler (FATE#322643 bsc#1055900). - drm/i915/execlists: Reduce lock contention between schedule/submit_request (FATE#322643 bsc#1055900). - drm/i915: Create a kmem_cache to allocate struct i915_priolist from (FATE#322643 bsc#1055900). - drm/i915: Split execlist priority queue into rbtree + linked list (FATE#322643 bsc#1055900). - drm/i915: Use a define for the default priority [0] (FATE#322643 bsc#1055900). - drm/i915: Don't mark an execlists context-switch when idle (FATE#322643 bsc#1055900). - drm/i915/execlists: Pack the count into the low bits of the port.request (FATE#322643 bsc#1055900). - drm/i915: Redefine ptr_pack_bits() and friends (FATE#322643 bsc#1055900). - drm/i915: Make ptr_unpack_bits() more function-like (FATE#322643 bsc#1055900). - drm/i915: Import the kfence selftests for i915_sw_fence (FATE#322643 bsc#1055900). - drm/i915: Remove kref from i915_sw_fence (FATE#322643 bsc#1055900). - drm/i915/gen9: Reintroduce WaEnableYV12BugFixInHalfSliceChicken7 (FATE#322643 bsc#1055900). - gpu: drm: i915: compress logic into one line (FATE#322643 bsc#1055900). - commit 8d45858- gpu: drm: i915: remove dead code (FATE#322643 bsc#1055900). - drm/i915/guc:fix spelling mistake: "adddress" -> "address" (FATE#322643 bsc#1055900). - drm/i915/glk: Calculate high/low switch count for GLK (FATE#322643 bsc#1055900). - drm/i915: Fixup 64bit divides in timelines selftest (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170515 (FATE#322643 bsc#1055900). - drm/i915/perf: rate limit spurious oa report notice (FATE#322643 bsc#1055900). - drm/i915/perf: better pipeline aged/aging tail updates (FATE#322643 bsc#1055900). - drm/i915/perf: improve invalid OA format debug message (FATE#322643 bsc#1055900). - drm/i915/perf: improve tail race workaround (FATE#322643 bsc#1055900). - drm/i915/perf: no head/tail ref in gen7_oa_read (FATE#322643 bsc#1055900). - drm/i915/perf: avoid read back of head register (FATE#322643 bsc#1055900). - drm/i915/perf: avoid poll, read, EAGAIN busy loops (FATE#322643 bsc#1055900). - drm/i915/perf: fix gen7_append_oa_reports comment (FATE#322643 bsc#1055900). - drm/i915: Restore brightness level in aux backlight driver (FATE#322643 bsc#1055900). - drm/i915: Set backlight mode before enable backlight (FATE#322643 bsc#1055900). - drm/i915: Correctly enable backlight brightness adjustment via DPCD (FATE#322643 bsc#1055900). - drm/i915: Fix cap check for intel_dp_aux_backlight driver (FATE#322643 bsc#1055900). - drm/i915/guc: Make scratch register base and count flexible (FATE#322643 bsc#1055900). - drm/i915/guc: Move notification code into virtual function (FATE#322643 bsc#1055900). - drm/i915: Remove vma unpin in intel_plane_destroy (FATE#322643 bsc#1055900). - drm/i915: Fix hw state verifier access to crtc->state (FATE#322643 bsc#1055900). - drm/i915/guc: Dump the GuC stage descriptor pool in debugfs (FATE#322643 bsc#1055900). - drm/i915: Fix __intel_wait_for_register_fw to not sleep in atomic (FATE#322643 bsc#1055900). - drm/i915: Simplify cursor register write sequence (FATE#322643 bsc#1055900). - drm/i915: Relax 845/865 CURBASE alignemnt requirement to 32 bytes (FATE#322643 bsc#1055900). - drm/i915: Handle fb offset and src coordinates for cursors (FATE#322643 bsc#1055900). - drm/i915: Fix gen3 physical cursor alignment requirements (FATE#322643 bsc#1055900). - drm/i915: Support variable cursor height on ivb+ (FATE#322643 bsc#1055900). - drm/i915: Use fb->pitches[0] in cursor code (FATE#322643 bsc#1055900). - drm/i915: Generalize cursor size checks a bit (FATE#322643 bsc#1055900). - drm/i915: Split cursor check_plane into i845 and i9xx variants (FATE#322643 bsc#1055900). - drm/i915: Drop useless posting reads from cursor commit (FATE#322643 bsc#1055900). - drm/i915: Move cursor position and base handling into the platform specific functions (FATE#322643 bsc#1055900). - drm/i915: Refactor CURPOS calculation (FATE#322643 bsc#1055900). - drm/i915: Clean up cursor junk from intel_crtc (FATE#322643 bsc#1055900). - drm/i915: Refactor CURBASE calculation (FATE#322643 bsc#1055900). - drm/i915: Pass intel_plane and intel_crtc to plane hooks (FATE#322643 bsc#1055900). - drm/i915: Parametrize cursor/primary pipe select bits (FATE#322643 bsc#1055900). - drm/i915: Add support for sprites on g4x (FATE#322643 bsc#1055900). - drm/i915: Add g4x watermark tracepoint (FATE#322643 bsc#1055900). - drm/i915: Enable HPLL watermarks on g4x (FATE#322643 bsc#1055900). - drm/i915: Two stage watermarks for g4x (FATE#322643 bsc#1055900). - drm/i915: Apply the g4x TLB miss w/a to SR watermarks as well (FATE#322643 bsc#1055900). - drm/i915: Refactor wm calculations (FATE#322643 bsc#1055900). - drm/i915: Refactor the g4x TLB miss w/a to a helper (FATE#322643 bsc#1055900). - drm/i915: Fix the g4x watermark TLB miss workaround (FATE#322643 bsc#1055900). - drm/i915: Fix cursor 'cpp' in watermark calculatins for old platforms (FATE#322643 bsc#1055900). - drm/i915: Document CxSR (FATE#322643 bsc#1055900). - drm/i915: Make vlv/chv watermark debug print less cryptic (FATE#322643 bsc#1055900). - drm/i915: Rename bunch of vlv_ watermark structures to g4x_ (FATE#322643 bsc#1055900). - drm/i915: s/vlv_num_wm_levels/intel_wm_num_levels/ (FATE#322643 bsc#1055900). - drm/i915: Drop the debug message from vlv_get_fifo_size() (FATE#322643 bsc#1055900). - drm/i915: s/vlv_plane_wm_compute/vlv_raw_plane_wm_compute/ etc (FATE#322643 bsc#1055900). - drm/i915/lvds: Remove magic from PLL programming (FATE#322643 bsc#1055900). - drm/i915: Sanitize stolen memory size calculation (FATE#322643 bsc#1055900). - drm/i915: Check error return when converting pipe to connector (FATE#322643 bsc#1055900). - drm/i915: Check error return when setting DMA mask (FATE#322643 bsc#1055900). - drm/i915/sdvo: Check error return from intel_sdvo_get_value() (FATE#322643 bsc#1055900). - drm/i915/dp: Check error return during DPCD capability queries (FATE#322643 bsc#1055900). - drm/i915/vlv: Fix port B PLL opamp initialization (FATE#322643 bsc#1055900). - drm/i915: Show dmc debug registers on Kabylake (FATE#322643 bsc#1055900). - drm/i915: Move uncore definitions into a separate header (FATE#322643 bsc#1055900). - drm/i915: use memdup_user_nul (FATE#322643 bsc#1055900). - drm/i915: Micro-optimise hotpath through intel_ring_begin() (FATE#322643 bsc#1055900). - drm/i915: Report the ring->space from intel_ring_update_space() (FATE#322643 bsc#1055900). - drm/i915: Avoid the branch in computing intel_ring_space() (FATE#322643 bsc#1055900). - drm/i915: Use engine->context_pin() to report the intel_ring (FATE#322643 bsc#1055900). - drm/i915: Implement dma_buf_ops->kmap (FATE#322643 bsc#1055900). - drm/i915: Clean up the LPE audio platform data (FATE#322643 bsc#1055900). - drm/i915: Reorganize intel_lpe_audio_notify() arguments (FATE#322643 bsc#1055900). - drm/i915: Remove hdmi_connected from LPE audio pdata (FATE#322643 bsc#1055900). - drm/i915: Replace tmds_clock_speed and link_rate with just ls_clock (FATE#322643 bsc#1055900). - drm/i915: Remove the unused pending_notify from LPE platform data (FATE#322643 bsc#1055900). - drm/i915: Switch the global i915.semaphores check to a local predicate (FATE#322643 bsc#1055900). - drm/i915: Do not record a successful syncpoint for a dma-await (FATE#322643 bsc#1055900). - drm/i915: Rename intel_timeline.sync_seqno[] to .global_sync[] (FATE#322643 bsc#1055900). - drm/i915: Squash repeated awaits on the same fence (FATE#322643 bsc#1055900). - drm/i915: Lift timeline ordering to await_dma_fence (FATE#322643 bsc#1055900). - drm/i915: Unwrap top level fence-array (FATE#322643 bsc#1055900). - drm/i915: Mark up clflushes as belonging to an unordered timeline (FATE#322643 bsc#1055900). - drm/i915: Use wait_for_atomic_us when waiting for gt fifo (FATE#322643 bsc#1055900). - drm/i915: Move the GTFIFODBG to the common mmio dbg framework (FATE#322643 bsc#1055900). - drm/i915/guc: Enable send function only after successful init (FATE#322643 bsc#1055900). - drm/i915: Do not leak dev_priv->l3_parity.remap_info[] (FATE#322643 bsc#1055900). - drm/i915: Update DRIVER_DATE to 20170502 (FATE#322643 bsc#1055900). - drm/i915: Capture CCID on ILK (FATE#322643 bsc#1055900). - drm/i915: Reset ILK during GEM sanitization (FATE#322643 bsc#1055900). - drm/i915: Eliminate HAS_HW_CONTEXTS (FATE#322643 bsc#1055900). - drm/i915: Sanitize engine context sizes (FATE#322643 bsc#1055900). - drm/i915/guc: Fix sleep under spinlock during reset (FATE#322643 bsc#1055900). - drm/i915: Defer context state allocation for legacy ring submission (FATE#322643 bsc#1055900). - drm/i915: Rename gen8_(un)request_engine_reset to gen8_reset_engine_start/cancel (FATE#322643 bsc#1055900). - drm/i915: Fix stale comment about I915_RESET_IN_PROGRESS flag (FATE#322643 bsc#1055900). - drm/i915/glk: Don't allow 12 bpc when htotal is too big (FATE#322643 bsc#1055900). - drm/i915: Skip waking the signaler when enabling before request submission (FATE#322643 bsc#1055900). - drm/i915: Poison the request before emitting commands (FATE#322643 bsc#1055900). - drm/i915: Report request restarts for both execlists/guc (FATE#322643 bsc#1055900). - drm/i915: Include interesting seqno in the missed breadcrumb debug (FATE#322643 bsc#1055900). - drm/i915: Avoid format string expansion from engine names (FATE#322643 bsc#1055900). - drm/i915: Fix GCC 4.4 build issue with __intel_wait_for_register_fw (FATE#322643 bsc#1055900). - commit 60934e6- drm/i915: Update DRIVER_DATE to 20170418 (FATE#322643 bsc#1055900). - drm/i915: Copy user requested buffers into the error state (FATE#322643 bsc#1055900). - drm/i915: set "ret" correctly on error paths (FATE#322643 bsc#1055900). - drm/i915: Implement Link Rate fallback on Link training failure (FATE#322643 bsc#1055900). - drm/i915/guc: write wopcm related register once during uc init (FATE#322643 bsc#1055900). - drm/i915/dp: Validate cached link rate and lane count before retraining (FATE#322643 bsc#1055900). - drm/i915: Wake device for emitting request during selftest (FATE#322643 bsc#1055900). - drm/i915: Pretend the engine is always idle when mocking (FATE#322643 bsc#1055900). - drm/i915: Add stub mmio read/write routines to mock device (FATE#322643 bsc#1055900). - drm/i915: Treat WC a separate cache domain (FATE#322643 bsc#1055900). - drm/i915: Combine write_domain flushes to a single function (FATE#322643 bsc#1055900). - drm/i915: Do not use lock all in hsw_trans_edp_pipe_A_crc_wa (FATE#322643 bsc#1055900). - Revert "drm/i915: Lock mode_config.mutex in intel_display_resume." (FATE#322643 bsc#1055900). - drm/i915: Convert intel DVO connector to atomic (FATE#322643 bsc#1055900). - drm/i915: Convert intel_crt connector properties to atomic (FATE#322643 bsc#1055900). - drm/i915: Convert intel_dp_mst connector properties to atomic (FATE#322643 bsc#1055900). - drm/i915: Remove unused dp properties for dp-mst (FATE#322643 bsc#1055900). - drm/i915: Convert intel_tv connector properties to atomic, v5 (FATE#322643 bsc#1055900). - drm/i915: Remove unused members from intel_tv.c (FATE#322643 bsc#1055900). - drm/i915/execlists: Document runtime pm for intel_lrc_irq_handler() (FATE#322643 bsc#1055900). - drm/i915: Lie and treat all engines as idle if wedged (FATE#322643 bsc#1055900). - drm/i915: Use the engine class to get the context size (FATE#322643 bsc#1055900). - drm/i915: Bail if we do not setup the RCS engine (FATE#322643 bsc#1055900). - drm/i915/dp: read sink count to a temporary variable first (FATE#322643 bsc#1055900). - drm/i915/dp: use readb and writeb calls for single byte DPCD access (FATE#322643 bsc#1055900). - drm/i915/dp: localize link rate index variable more (FATE#322643 bsc#1055900). - drm/i915/mst: use max link not sink lane count (FATE#322643 bsc#1055900). - drm/i915/dp: add functions for max common link rate and lane count (FATE#322643 bsc#1055900). - drm/i915/dp: don't call the link parameters sink parameters (FATE#322643 bsc#1055900). - drm/i915/dp: do not limit rate seek when not needed (FATE#322643 bsc#1055900). - drm/i915/dp: cache common rates with sink rates (FATE#322643 bsc#1055900). - drm/i915/dp: use the sink rates array for max sink rates (FATE#322643 bsc#1055900). - drm/i915: Rename intel_engine_cs.exec_id to uabi_id (FATE#322643 bsc#1055900). - drm/i915: Split the engine info table in two levels, using class + instance (FATE#322643 bsc#1055900). - drm/i915: Generate the engine name based on the instance number (FATE#322643 bsc#1055900). - drm/i915: Use the same vfunc for BSD2 ring init (FATE#322643 bsc#1055900). - drm/i915: Classify the engines in class + instance (FATE#322643 bsc#1055900). - drm/i915: Use safer intel_uncore_wait_for_register in ring-init (FATE#322643 bsc#1055900). - drm/i915: Use __intel_uncore_wait_for_register_fw for sandybride_pcode_read (FATE#322643 bsc#1055900). - drm/i915: Acquire uncore.lock over intel_uncore_wait_for_register() (FATE#322643 bsc#1055900). - drm/i915: Stop sleeping from inside gen6_bsd_submit_request() (FATE#322643 bsc#1055900). - drm/i915: Stop second guessing the caller for intel_uncore_wait_for_register() (FATE#322643 bsc#1055900). - drm/i915: Don't allow overuse of __intel_wait_for_register_fw() (FATE#322643 bsc#1055900). - drm/i915: Drop const qualifiers from params in wait_for_register() (FATE#322643 bsc#1055900). - drm/i915: Use drm_i915_private directly from debugfs (FATE#322643 bsc#1055900). - drm/i915/guc: Use wait_for_register_fw() while waiting for MMIO response (FATE#322643 bsc#1055900). - drm/i915: Extend intel_wait_for_register_fw() with fast timeout (FATE#322643 bsc#1055900). - drm/i915: Fix type of timeout_ms parameter in intel_wait_for_register_fw() (FATE#322643 bsc#1055900). - drm/i915: Insert cond_resched() into i915_gem_free_objects (FATE#322643 bsc#1055900). - drm/i915: Break up long runs of freeing objects (FATE#322643 bsc#1055900). - drm/i915: Simplify shrinker locking (FATE#322643 bsc#1055900). - drm/i915: Drain any freed objects prior to hibernation (FATE#322643 bsc#1055900). - drm/i915: The shrinker already acquires struct_mutex, so call it unlocked (FATE#322643 bsc#1055900). - i915: initialize the free_list of the fencing atomic_helper (FATE#322643 bsc#1055900). - drm/i915: Advance ring->head fully when idle (FATE#322643 bsc#1055900). - drm/i915: Assert the engine is idle before overwiting the HWS (FATE#322643 bsc#1055900). - drm/i915/GLK/HuC: Load HuC on GLK (FATE#322643 bsc#1055900). - drm/i915/GuC/GLK: Load GuC on GLK (FATE#322643 bsc#1055900). - drm/i915/glk: limit pixel clock to 99% of cdclk workaround (FATE#322643 bsc#1055900). - drm/i915/dp: generate and cache sink rate array for all DP, not just eDP 1.4 (FATE#322643 bsc#1055900). - drm/i915/dp: cache source rates at init (FATE#322643 bsc#1055900). - drm/i915/dp: rename rate_to_index() to intel_dp_rate_index() and reuse (FATE#322643 bsc#1055900). - drm/i915/dp: return errors from rate_to_index() (FATE#322643 bsc#1055900). - drm/i915/dp: use known correct array size in rate_to_index (FATE#322643 bsc#1055900). - drm/i915: Enable atomic on VLV/CHV (FATE#322643 bsc#1055900). - drm/i915: Use intel_wm_plane_visible() on VLV/CHV as well (FATE#322643 bsc#1055900). - drm/i915: Check for id==PLANE_CURSOR instead of type==DRM_PLANE_TYPE_CURSOR (FATE#322643 bsc#1055900). - drm/i915/guc: Use GUC prefix for CORE_FAMILY definitions (FATE#322643 bsc#1055900). - drm/i915: Typo fix - 'pipe bpc' to 'pipe bpp' (FATE#322643 bsc#1055900). - drm/i915/huc: Simplify intel_huc_init_hw() (FATE#322643 bsc#1055900). - drm/i915: Remove user-triggerable WARN from i915_gem_object_create (FATE#322643 bsc#1055900). - drm/i915: Onion unwind for intel_init_ring_common() (FATE#322643 bsc#1055900). - drm/i915: intel_ring.engine is unused (FATE#322643 bsc#1055900). - drm/doc: Clarify mode_fixup vs. atomic_check a bit more (FATE#322643 bsc#1055900). - drm/doc: Document adjusted/request modes a bit better (FATE#322643 bsc#1055900). - drm: Add crtc/encoder/bridge->mode_valid() callbacks (FATE#322643 bsc#1055900). - drm: Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ to UAPI (FATE#322643 bsc#1055900). - drm: trivial documentation fix to drm_for_each_connector_iter (FATE#322643 bsc#1055900). - drm: add missing declaration to drm_blend.h (FATE#322643 bsc#1055900). - drm/dp: Wait up all outstanding tx waiters (FATE#322643 bsc#1055900). - drm/dp: Read the tx msg state once after checking for an event (FATE#322643 bsc#1055900). - drm/prime: Forward declare struct device (FATE#322643 bsc#1055900). - drm/vblank: Lock down vblank->hwmode more (FATE#322643 bsc#1055900). - drm/vblank: drop the mode argument from drm_calc_vbltimestamp_from_scanoutpos (FATE#322643 bsc#1055900). - drm/vblank: Add FIXME comments about moving the vblank ts hooks (FATE#322643 bsc#1055900). - drm/vblank: Switch to bool in_vblank_irq in get_vblank_timestamp (FATE#322643 bsc#1055900). - drm/vblank: Switch drm_driver->get_vblank_timestamp to return a bool (FATE#322643 bsc#1055900). - drm: Nerf the preclose callback for modern drivers (FATE#322643 bsc#1055900). - drm: Remove redundant NULL check during atomic plane commit (FATE#322643 bsc#1055900). - drm/atomic: Add support for custom scaling mode properties, v2 (FATE#322643 bsc#1055900). - drm/atomic: Handle picture_aspect_ratio in atomic core (FATE#322643 bsc#1055900). - drm/prime: Introduce drm_gem_prime_import_dev (FATE#322643 bsc#1055900). - drm/i915: Track MST link bandwidth (FATE#322643 bsc#1055900). - drm/atomic: fix doc to use new name for commit types (FATE#322643 bsc#1055900). - drm: Make drm_atomic_replace_property_blob_from_id() more generic (FATE#322643 bsc#1055900). - drm: drm_color_mgmt.h needs struct drm_crtc declaration (FATE#322643 bsc#1055900). - drm/cec: Add CEC over Aux register definitions (FATE#322643 bsc#1055900). - drm: Add DPCD definitions for DP 1.4 DSC feature (FATE#322643 bsc#1055900). - drm/doc: Interlink color manager docs better (FATE#322643 bsc#1055900). - drm: fix spelling mistake: "committing" (FATE#322643 bsc#1055900). - commit bb6495e- Disable downstream DRM patches temporarily for upgrading the base codes - commit bc652a8- blacklist 7a074fc08389 powerpc/64s: Fix ps3 build error due to tlbiel_all() 015eb1b89e95 powerpc/mm/radix: Fix build error when RADIX_MMU=n - commit 5a608da- powerpc/64s/radix: Boot-time NULL pointer protection using a guard-PID (bsc#1055117). - powerpc/64s: Improve local TLB flush for boot and MCE on POWER9 (bsc#1055117). - powerpc/64s: Initialize ISAv3 MMU registers before setting partition table (bsc#1055117). - commit 67f5cce- ext4: Fix offset overflow on 32-bit archs in ext4_iomap_begin() (bsc#1079747). - commit bbceb80- objtool: Improve retpoline alternative handling (bsc#1068032 CVE-2017-5754). - objtool: Add support for alternatives at the end of a section (bsc#1068032 CVE-2017-5754). - objtool: Warn on stripped section symbol (bsc#1068032 CVE-2017-5754). - x86/entry/64: Remove the SYSCALL64 fast path (bsc#1068032 CVE-2017-5754). - x86/entry/64: Push extra regs right away (bsc#1068032 CVE-2017-5754). - x86/asm: Move 'status' from thread_struct to thread_info (bsc#1068032 CVE-2017-5754). - x86/speculation: Use Indirect Branch Prediction Barrier in context switch (bsc#1068032 CVE-2017-5754). - x86/retpoline: Avoid retpolines for built-in __init functions (bsc#1068032 CVE-2017-5754). - x86/spectre: Simplify spectre_v2 command line parsing (bsc#1068032 CVE-2017-5754). - KVM: nVMX: Eliminate vmcs02 pool (bsc#1068032 CVE-2017-5754). - KVM: VMX: introduce alloc_loaded_vmcs (bsc#1068032 CVE-2017-5754). - KVM: VMX: make MSR bitmaps per-VCPU (bsc#1068032 CVE-2017-5754). - KVM/x86: Update the reverse_cpuid list to include CPUID_7_EDX (bsc#1068032 CVE-2017-5754). - KVM/x86: Add IBPB support (bsc#1068032 CVE-2017-5754). - KVM/VMX: Emulate MSR_IA32_ARCH_CAPABILITIES (bsc#1068032 CVE-2017-5754). - KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL (bsc#1068032 CVE-2017-5754). - KVM/SVM: Allow direct access to MSR_IA32_SPEC_CTRL (bsc#1068032 CVE-2017-5754). - perf/x86/amd/power: Do not load AMD power module on !AMD platforms (git-fixes c7ab62bfbe0e). - blacklist.conf: - Delete patches.arch/x86-retpoline-simplify-vmexit_fill_rsb.patch. - commit ac25421- Btrfs: fix kernel oops while reading compressed data (bsc#1081671). - Refresh patches.suse/0023-block-switch-bios-to-blk_status_t.patch. - commit 565ea00- scsi: megaraid_sas: Do not use 32-bit atomic request descriptor for Ventura controllers (bsc#1081737). - commit 4e60173- Refresh patches.drivers/ibmvnic-Clean-RX-pool-buffers-during-device-close.patch. - Refresh patches.drivers/ibmvnic-Fix-NAPI-structures-memory-leak.patch. - Refresh patches.drivers/ibmvnic-Fix-login-buffer-memory-leaks.patch. - Refresh patches.drivers/ibmvnic-Free-RX-socket-buffer-in-case-of-adapter-err.patch. - Refresh patches.drivers/ibmvnic-Wait-until-reset-is-complete-to-set-carrier-.patch. - commit ba71f73- bsc#1053298 oracleasm patches.suse/0001-oracleasm-4.0-compat-changes.patch - commit def7601- nfs: fix a deadlock in nfs client initialization (bsc#1074198). - commit 913cb84- blacklist.conf: da391d640c528bc5bb227ea5b39c882b75ac3167 Comment-only fix - commit be9480e- iommu/exynos: Remove initconst attribute to avoid potential kernel oops (bsc#975772). - commit ad7bb7b- iommu/mediatek: Fix driver name (bsc#975772). - iommu/vt-d: Use domain instead of cache fetching (bsc#975772). - iommu/amd: Limit the IOVA page range to the specified addresses (bsc#975772). - iommu/amd: Fix alloc_irq_index() increment (bsc#975772). - iommu/amd: Enforce alignment for MSI IRQs (bsc#975772). - iommu/amd: Add align parameter to alloc_irq_index() (bsc#975772). - commit 69050a0- netfilter: xt_RATEEST: acquire xt_rateest_mutex for hash insert (bsc#1076830). - netfilter: xt_cgroup: initialize info->priv in cgroup_mt_check_v1() (bsc#1076830). - iscsi-target: make sure to wake up sleeping login worker (bsc#1076830). - sctp: fix dst refcnt leak in sctp_v4_get_dst (bsc#1076830). - media: ts2020: avoid integer overflows on 32 bit machines (bsc#1076830). - Revert "defer call to mem_cgroup_sk_alloc()" (bsc#1076830). - net: ipv6: send unsolicited NA after DAD (bsc#1076830). - xfrm: Add SA to hardware at the end of xfrm_state_construct() (bsc#1076830). - sctp: do not allow the v4 socket to bind a v4mapped v6 address (bsc#1076830). - strparser: Call sock_owned_by_user_nocheck (bsc#1076830). - sock: Add sock_owned_by_user_nocheck (bsc#1076830). - sctp: add SCTP_CID_RECONF conversion in sctp_cname (bsc#1076830). - tcp: invalidate rate samples during SACK reneging (bsc#1076830). - Revert "tcp: must block bh in __inet_twsk_hashdance()" (bsc#1076830). - tcp: add tcp_v4_fill_cb()/tcp_v4_restore_cb() (bsc#1076830). - tipc: call tipc_rcv() only if bearer is up in tipc_udp_recv() (bsc#1076830). - tcp/dccp: block bh before arming time_wait timer (bsc#1076830). - sctp: set sender next_tsn for the old result with ctsn_ack_point plus 1 (bsc#1076830). - tcp: when scheduling TLP, time of RTO should account for current ACK (bsc#1076830). - ipvlan: NULL pointer dereference panic in ipvlan_port_destroy (bsc#1076830). - route: update fnhe_expires for redirect when the fnhe exists (bsc#1076830). - Refresh patches.fixes/route-also-update-fnhe_genid-when-updating-a-route-c.patch. - sctp: check stream reset info len before making reconf chunk (bsc#1076830). - l2tp: don't close sessions in l2tp_tunnel_destruct() (bsc#1076830). - l2tp: initialise l2tp_eth sessions before registering them (bsc#1076830). - l2tp: don't register sessions in l2tp_session_create() (bsc#1076830). - sctp: fix a type cast warnings that causes a_rwnd gets the wrong value (bsc#1076830). - sctp: fix some type cast warnings introduced by transport rhashtable (bsc#1076830). - sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect (bsc#1076830). - net: call cgroup_sk_alloc() earlier in sk_clone_lock() (bsc#1076830). - net: memcontrol: defer call to mem_cgroup_sk_alloc() (bsc#1076830). - netfilter: x_tables: avoid stack-out-of-bounds read in xt_copy_counters_from_user (bsc#1076830). - netfilter: ipset: pernet ops must be unregistered last (bsc#1076830). - xfrm: Fix deletion of offloaded SAs on failure (bsc#1076830). - packet: only test po->has_vnet_hdr once in packet_snd (bsc#1076830). - net: dsa: Fix network device registration order (bsc#1076830). - net: set tb->fast_sk_family (bsc#1076830). - net: vrf: avoid gcc-4.6 warning (bsc#1076830). - tcp/dccp: remove reqsk_put() from inet_child_forget() (bsc#1076830). - tcp: fix a request socket leak (bsc#1076830). - l2tp: pass tunnel pointer to ->session_create() (bsc#1076830). - Refresh patches.fixes/l2tp-fix-l2tp_eth-module-loading.patch. - l2tp: prevent creation of sessions on terminated tunnels (bsc#1076830). Refresh patches.fixes/l2tp-fix-race-condition-in-l2tp_tunnel_delete.patch. - l2tp: hold tunnel used while creating sessions with netlink (bsc#1076830). - tcp: fix possible deadlock in TCP stack vs BPF filter (bsc#1076830). - tcp: fix xmit timer to only be reset if data ACKed/SACKed (bsc#1076830). - netfilter: nf_ct_dccp/sctp: fix memory leak after netns cleanup (bsc#1076830). - tcp: Add a tcp_filter hook before handle ack packet (bsc#1076830). - vxlan: dont migrate permanent fdb entries during learn (bsc#1076830). - commit f1b2d26- powerpc/64s: Improve RFI L1-D cache flush fallback (bsc#1068032). Update to upstream patch. - Refresh patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch. - Refresh patches.arch/powerpc-xmon-Add-RFI-flush-related-fields-to-paca-du.patch. - commit deca5e6- Refresh RFI LPM migration patches with upstream status. - Refresh patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch. - rfi-flush: Move the logic to avoid a redo into the debugfs code (bsc#1068032). - commit 42d34e2- iommu/io-pgtable-arm-v7s: Need dma-sync while there is no QUIRK_NO_DMA (fate#321947). - iommu/arm-smmu: Reintroduce locking around TLB sync operations (fate#321947). - commit 0427583- Reorder patches - commit 0771c78- powerpc/pseries: Check for zero filled ibm,dynamic-memory property (FATE#324825, bsc#1077428, bsc#1080789). - commit ccf669c- cpumask: Make for_each_cpu_wrap() available on UP as well (git-fixes). - commit e4d0ff0- blacklist c1e150ceb61e powerpc/pseries: Add empty update_numa_cpu_lookup_table() for NUMA=n blacklist 82343484a2d4 powerpc/pseries: Fix build break for SPLPAR=n and CPU hotplug - commit 2993802- mm: pin address_space before dereferencing it while isolating an LRU page (bnc#1081500). - commit 93762be- series.conf: refresh Ran series_sort.py (no effect on expanded tree). - Update upstream reference: patches.drivers/nvme_fc-cleanup-io-completion.patch. patches.drivers/nvme_fc-correct-abort-race-condition-on-resets.patch. - Fix patch metadata: patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - commit 24a578f- ceph: improving efficiency of syncfs (FATE#324714). - libceph: check kstrndup() return value (FATE#324714). - ceph: try to allocate enough memory for reserved caps (FATE#324714). - ceph: fix race of queuing delayed caps (FATE#324714). - ceph: delete unreachable code in ceph_check_caps() (FATE#324714). - ceph: limit rate of cap import/export error messages (FATE#324714). - ceph: fix incorrect snaprealm when adding caps (FATE#324714). - ceph: fix un-balanced fsc->writeback_count update (FATE#324714). - ceph: track read contexts in ceph_file_info (FATE#324714). - ceph: avoid dereferencing invalid pointer during cached readdir (FATE#324714). - ceph: use atomic_t for ceph_inode_info::i_shared_gen (FATE#324714). - ceph: cleanup traceless reply handling for rename (FATE#324714). - ceph: voluntarily drop Fx cap for readdir request (FATE#324714). - ceph: properly drop caps for setattr request (FATE#324714). - ceph: voluntarily drop Lx cap for link/rename requests (FATE#324714). - ceph: voluntarily drop Ax cap for requests that create new inode (FATE#324714). - commit 33131fd- buffer: Avoid setting buffer bits that are already set (bnc#971975 VM performance -- buffers). - commit ca2f72a- iversion: Rename make inode_cmp_iversion{+raw} to inode_eq_iversion{+raw} (bsc#1081186). - commit d89d8c5- iversion: make inode_cmp_iversion{+raw} return bool instead of s64 (bsc#1081186). - commit 625951e- fs: handle inode->i_version more efficiently (bsc#1081186). - commit b5b1ede- btrfs: only dirty the inode in btrfs_update_time if something was changed (bsc#1081186). - commit 509a5c3- xfs: avoid setting XFS_ILOG_CORE if i_version doesn't need incrementing (bsc#1081186). - commit f466f92- fs: only set S_VERSION when updating times if necessary (bsc#1081186). - commit 2f39cae- IMA: switch IMA over to new i_version API (bsc#1081186). - commit f5c04bb- xfs: convert to new i_version API (bsc#1081186). - commit e0e201b- ufs: use new i_version API (bsc#1081186). - commit bb021c0- ocfs2: convert to new i_version API (bsc#1081186). - commit 5b5fa6e- nfsd: convert to new i_version API (bsc#1081186). - commit ed53100- nfs: convert to new i_version API (bsc#1081186). - commit 55bd438- ext4: convert to new i_version API (bsc#1081186). - commit 437c1ef- ext2: convert to new i_version API (bsc#1081186). - commit 2cd1049- exofs: switch to new i_version API (bsc#1081186). - commit 225c244- btrfs: convert to new i_version API (bsc#1081186). - commit ae27f85- afs: convert to new i_version API (bsc#1081186). - commit 2fa658c- affs: convert to new i_version API (bsc#1081186). - commit 0a73f1a- fat: convert to new i_version API (bsc#1081186). - commit 75908ef- fs: don't take the i_lock in inode_inc_iversion (bsc#1081186). - commit 3ecc67b- fs: new API for handling inode->i_version (bsc#1081186). - commit 4e364de- ntfs: remove i_version handling (bsc#1081186). - commit 3636058- lustre: don't set f_version in ll_readdir (bsc#1081186). - commit 052b4c4- ima: Use i_version only when filesystem supports it (bsc#1081186). - commit 5e28e82- nvme-pci: Remap CMB SQ entries on every controller reset (FATE#323952, FATE#322506). - commit 37d7f9b- Fix up tags in patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - commit 7dc8b66- Refresh patches.drivers/nvme_fc-cleanup-io-completion.patch. - Refresh patches.drivers/nvme_fc-correct-abort-race-condition-on-resets.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - commit 54909a8- sched/rt: Up the root domain ref count when passing it around via IPIs (bnc#1022476). - sched/rt: Use container_of() to get root domain in rto_push_irq_work_func() (bnc#1022476). - hrtimer: Ensure POSIX compliance (relative CLOCK_REALTIME hrtimers) (bnc#1022476). - hrtimer: Reset hrtimer cpu base proper on CPU hotplug (bnc#1022476). - commit e19e122- blacklist.conf: Remove i915 entries - commit c8a167f- arm64: Update config files. enable ARCH_PROC_KCORE_TEXT - commit 5f62bc2- net: ethernet: cavium: Correct Cavium Thunderx NIC driver names accordingly to module name (fate#321947). - iommu/arm-smmu-v3: Cope with duplicated Stream IDs (fate#321947). - ACPICA: iasl: Update to IORT SMMUv3 disassembling (fate#321947). - ACPI/IORT: numa: Add numa node mapping for smmuv3 devices (fate#321947). - iommu/arm-smmu-v3: Remove io-pgtable spinlock (fate#321947). - iommu/arm-smmu: Remove io-pgtable spinlock (fate#321947). - iommu/io-pgtable-arm-v7s: Support lockless operation (fate#321947). - iommu/io-pgtable-arm: Support lockless operation (fate#321947). - iommu/io-pgtable: Introduce explicit coherency (fate#321947). - iommu/io-pgtable-arm-v7s: Refactor split_blk_unmap (fate#321947). - iommu/io-pgtable-arm: Improve split_blk_unmap (fate#321947). - iommu/io-pgtable-arm-v7s: Check table PTEs more precisely (fate#321947). - arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT (fate#321947). - fs/proc: kcore: use kcore_list type to check for vmalloc/module address (fate#321947). - arm64: kernel: restrict /dev/mem read() calls to linear region (bsc#1081310). - commit 4267f13- Preliminary roll-back of drm/i915 patches for the further updates - commit dbb70d2- btrfs: use kvzalloc to allocate btrfs_fs_info (bsc#1059336). - commit 1d89bd7- xfs: stop searching for free slots in an inode chunk when there are none (bsc#1072739). - commit 80d1325- jfs: remove increment of i_version counter (bsc#1081186). - commit 5e24fbb- reiserfs: remove unneeded i_version bump (bsc#1081186). - commit 5aba66b- hpfs: don't bother with the i_version counter or f_version (bsc#1081186). - commit 337ee72- ecryptfs: remove unnecessary i_version bump (bsc#1081186). - commit 2a56f3b- f2fs: don't bother with inode->i_version (bsc#1081186). - commit 13fcbd3- nilfs2: remove inode->i_version initialization (bsc#1081186). - commit 17fcbba- orangefs: remove initialization of i_version (bsc#1081186). - commit 5f1d1e2- ceph: remove the bump of i_version (bsc#1081186). - commit ea139ef- writeback: eliminate work item allocation in bd_start_writeback() (bnc#1081213). - writeback: only allow one inflight and pending full flush (bnc#1081213). - writeback: move nr_pages == 0 logic to one location (bnc#1081213). - writeback: make wb_start_writeback() static (bnc#1081213). - writeback: pass in '0' for nr_pages writeback in laptop mode (bnc#1081213). - writeback: provide a wakeup_flusher_threads_bdi() (bnc#1081213). - writeback: remove 'range_cyclic' argument for wb_start_writeback() (bnc#1081213). - writeback: switch wakeup_flusher_threads() to cyclic writeback (bnc#1081213). - fs: kill 'nr_pages' argument from wakeup_flusher_threads() (bnc#1081213). - buffer: eliminate the need to call free_more_memory() in __getblk_slow() (bnc#971975 VM performance -- memory usage during reclaim). - buffer: grow_dev_page() should use __GFP_NOFAIL for all cases (bnc#971975 VM performance -- memory usage during reclaim). - buffer: have alloc_page_buffers() use __GFP_NOFAIL (bnc#971975 VM performance -- memory usage during reclaim). - commit ff7bae7- Refresh patches.suse/arm64-Add-software-workaround-for-Falkor-erratum-104.patch. - commit 709299d- powerpc/mm/hash64: Zero PGD pages on allocation (FATE#322447, bsc#1078248). - powerpc/mm/hash64: Store the slot information at the right offset for hugetlb (FATE#322447, bsc#1078248). - powerpc/mm/hash64: Allocate larger PMD table if hugetlb config is enabled (FATE#322447, bsc#1078248). - powerpc/mm: Fix crashes with 16G huge pages (FATE#322447, bsc#1078248). - commit c53ee68- powerpc/numa: Invalidate numa_cpu_lookup_table on cpu remove (FATE#323746, bsc#1079524). - commit f1632b3- KVM: s390: add vcpu stat counters for many instruction (bsc#1081178). - KVM: s390: diagnoses are instructions as well (bsc#1081178). - commit 801cf55- powerpc/mm: Flush radix process translations when setting MMU type (bsc#1061840). - commit 6d1b9f9- powerpc/pseries: Enable RAS hotplug events later (FATE#322022, bsc#1065729). - commit 445a309- btrfs: copy fsid to super_block s_uuid (bsc#1080774). - commit 8d21561- Add kernel livepatch-devel package Resolving non-exported static symbols in kernel livepatches cannot be done implicitly. For such, the relocations of these symbols must follow a specially crafted format in the respective elf file. Willing to make the task of converting the elf into the right format, a tool named klp-convert was proposed. Through a file that maps all kernel symbols into their respective kernel object, this tool infers which non-exported symbol is relative to a livepatch relocation and automatically formats the final elf file. Add support to the generation of a map file right after the kernel compilation. Add the package kernel--livepatch-devel that brings the map file. - commit 0b1b4d3- scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright (bsc#1080657). - scsi: lpfc: update driver version to 11.4.0.7 (bsc#1080657). - scsi: lpfc: Fix nonrecovery of NVME controller after cable swap (bsc#1080657). - scsi: lpfc: Treat SCSI Write operation Underruns as an error (bsc#1080657). - scsi: lpfc: Fix header inclusion in lpfc_nvmet (bsc#1080657). - scsi: lpfc: Validate adapter support for SRIU option (bsc#1080657). - scsi: lpfc: Fix SCSI io host reset causing kernel crash (bsc#1080657). - scsi: lpfc: Indicate CONF support in NVMe PRLI (bsc#1080657). - scsi: lpfc: Fix issue_lip if link is disabled (bsc#1080657). - scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing (bsc#1080657). - scsi: lpfc: Allow set of maximum outstanding SCSI cmd limit for a target (bsc#1080657). - scsi: lpfc: Fix RQ empty firmware trap (bsc#1080657). - scsi: lpfc: Fix IO failure during hba reset testing with nvme io (bsc#1080657). - scsi: lpfc: Fix PRLI handling when topology type changes (bsc#1080657). - scsi: lpfc: Add WQ Full Logic for NVME Target (bsc#1080657). - scsi: lpfc: correct debug counters for abort (bsc#1080657). - scsi: lpfc: move placement of target destroy on driver detach (bsc#1080657). - scsi: lpfc: Increase CQ and WQ sizes for SCSI (bsc#1080657). - scsi: lpfc: Fix frequency of Release WQE CQEs (bsc#1080657). - commit 7226e76- hv_netvsc: Use the num_online_cpus() for channel limit (fate#323887). - scsi: storvsc: missing error code in storvsc_probe() (fate#323887). - uio_hv_generic: fix new type mismatch warnings (fate#323887). - uio_hv_generic: fix type mismatch warnings (fate#323887). - uio_hv_generic: add rescind support (fate#323887). - uio_hv_generic: check that host supports monitor page (fate#323887). - uio_hv_generic: create send and receive buffers (fate#323887). - vmbus: add monitor_id and subchannel_id to sysfs per channel (fate#323887). - uio_hv_generic: use ISR callback method (fate#323887). - uio_hv_generic: use standard mmap for resources (fate#323887). - uio_hv_generic: fix configuration comments (fate#323887). - vmbus: make channel attributes static (fate#323887). - hv_netvsc: empty current transmit aggregation if flow blocked (fate#323887). - hv_netvsc: remove open_cnt reference count (fate#323887). - hv_netvsc: pass netvsc_device to receive callback (fate#323887). - hv_netvsc: simplify function args in receive status path (fate#323887). - hv_netvsc: track memory allocation failures in ethtool stats (fate#323887). - hv_netvsc: copy_to_send buf can be void (fate#323887). - hv_netvsc: Fix the TX/RX buffer default sizes (fate#323887). - hv_netvsc: Fix the receive buffer size limit (fate#323887). - vmbus: make hv_get_ringbuffer_availbytes local (fate#323887). - hv_netvsc: optimize initialization of RNDIS header (fate#323887). - hv_netvsc: use reciprocal divide to speed up percent calculation (fate#323887). - hv_netvsc: replace divide with mask when computing padding (fate#323887). - hv_netvsc: don't need local xmit_more (fate#323887). - hv_netvsc: drop unused macros (fate#323887). - commit 72e1a3c- add mainline tag to hv-X86_FEATURE_PCID patch - commit 258a152- drm/vc4: Flush the caches before the bin jobs, as well (bsc#1051510). - commit 81ad369- drm: rework delayed connector cleanup in connector_iter (bsc#1051510). - commit cc83f2f- drm/i915: Always call to intel_display_set_init_power() in resume_early (bsc#1051510). - commit f91d13e- drm/i915: Always run hangcheck while the GPU is busy (bsc#1051510). - commit 09cdfcc- drm/i915/cmdparser: Check reg_table_count before derefencing (bsc#1051510). - commit 3a43a70- drm: safely free connectors from connector_iter (bsc#1051510). - commit 8a5bb42- drm/i915/lpe: Remove double-encapsulation of info string (bsc#1051510). - commit c91a5f4- drm/qxl: reapply cursor after resetting primary (bsc#1051510). - commit 579b46a- drm/i915/ppgtt: Pin page directories before allocation (bsc#1051510). - commit ec22aec- drm/i915: Fix using BIT_ULL() vs. BIT() for power domain masks (bsc#1051510). - commit 2fd6f13- drm/amdgpu: only check mmBIF_IOV_FUNC_IDENTIFIER on tonga/fiji (bsc#1051510). - commit 9861962- ibmvnic: Clean RX pool buffers during device close (bsc#1081134). - ibmvnic: Free RX socket buffer in case of adapter error (bsc#1081134). - ibmvnic: Fix NAPI structures memory leak (bsc#1081134). - ibmvnic: Fix login buffer memory leaks (bsc#1081134). - ibmvnic: Wait until reset is complete to set carrier on (bsc#1081134). - commit 93a2616- Refresh sorted section. - Refresh patches.drivers/scsi-qla2xxx-Avoid-triggering-undefined-behavior-in-.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-a-locking-imbalance-in-qlt_24xx_han.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-handle-for-abort-IOCB.patch. - commit 83ae805- drm/i915: Drop fb reference on load_detect_pipe failure path (bsc#1051510). - drm/i915: Replace *_reference/unreference() or *_ref/unref with _get/put() (bsc#1051510). - commit c6b993a- Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-handle-for-abort-IOCB.patch. fix commit hash - commit 94790ed- drm/vc4: Fix NULL pointer dereference in vc4_save_hang_state() (bsc#1051510). - commit 1603569- drm/i915/psr: Fix register name mess up (bsc#1051510). - commit 6ce9707- drm/vc4: Move IRQ enable to PM path (bsc#1051510). - commit 4fd629c- serial: 8250_uniphier: fix error return code in uniphier_uart_probe() (bsc#1051510). - commit 5b3310e- drm/edid: kerneldoc for is_hdmi2_sink (bsc#1051510). - commit 072edca- drm/i915/cnp: Properly handle VBT ddc pin out of bounds (bsc#1051510). - drm/i915/cnp: Ignore VBT request for know invalid DDC pin (bsc#1051510). - commit 1b039a5- drm/i915/glk: Disable Guc and HuC on GLK (bsc#1051510). - commit b8eaf51- Add no-fix tag to i915 patches - commit 1c45058- platform/x86: dell-laptop: Filter out spurious keyboard backlight change events (bsc#1051510). - commit 104f7af- ASoC: au1x: Fix timeout tests in au1xac97c_ac97_read() (bsc#1051510). - ASoC: Intel: sst: Fix the return value of 'sst_send_byte_stream_mrfld()' (bsc#1051510). - ASoC: rockchip: i2s: fix playback after runtime resume (bsc#1051510). - ASoC: nuc900: Fix a loop timeout test (bsc#1051510). - ASoC: amd: Add error checking to probe function (bsc#1051510). - commit d9748ce- ALSA: hda - Reduce the suspend time consumption for ALC256 (bsc#1051510). - commit 6999499- ALSA: hda - Use IS_REACHABLE() for dependency on input (bsc#1051510). - commit 016c820- livepatch: Atomic replace and cumulative patches documentation (bsc#1071995 fate#323487). - commit e40f006- livepatch: Add atomic replace (bsc#1071995 fate#323487). - commit bf08cda- livepatch: Support separate list for replaced patches (bsc#1071995 fate#323487). - commit 1f2a166- livepatch: Allow to unpatch only functions of the given type (bsc#1071995 fate#323487). - commit 9895789- livepatch: Initial support for dynamic structures (bsc#1071995 fate#323487). - commit c46efc1- livepatch: Free only structures with initialized kobject (bsc#1071995 fate#323487). - commit c2ef814- livepatch: Use lists to manage patches, objects and functions (bsc#1071995 fate#323487). - commit 3385ca3- Refresh patch order in sorted section - Refresh patches.drivers/scsi-qla2xxx-Avoid-triggering-undefined-behavior-in-.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-a-locking-imbalance-in-qlt_24xx_han.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-handle-for-abort-IOCB.patch. - commit cea0d55- arm64: Kill PSCI_GET_VERSION as a variant-2 workaround (bsc#1068032). - arm64: Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support (bsc#1068032). - arm/arm64: smccc: Implement SMCCC v1.1 inline primitive (bsc#1068032). - arm/arm64: smccc: Make function identifiers an unsigned quantity (bsc#1068032). - firmware/psci: Expose SMCCC version through psci_ops (bsc#1068032). - firmware/psci: Expose PSCI conduit (bsc#1068032). - arm64: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling (bsc#1068032). - arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support (bsc#1068032). - arm/arm64: KVM: Turn kvm_psci_version into a static inline (bsc#1068032). - arm/arm64: KVM: Advertise SMCCC v1.1 (bsc#1068032). - arm/arm64: KVM: Implement PSCI 1.0 support (bsc#1068032). - arm/arm64: KVM: Add smccc accessors to PSCI code (bsc#1068032). - arm/arm64: KVM: Add PSCI_VERSION helper (bsc#1068032). - arm/arm64: KVM: Consolidate the PSCI include files (bsc#1068032). - arm64: KVM: Increment PC after handling an SMC trap (bsc#1068032). - arm: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls (bsc#1068032). - commit e769a19- Refresh patches.suse/0019-arm64-KVM-Fix-SMCCC-handling-of-unimplemented-SMC-HV.patch. - commit a856f51- scripts/git_sort/git_sort.py: Add mkp/4.17/scsi-queue - commit 41390e8- Refresh patches.drivers/scsi-qla2xxx-Fix-double-free-bug-after-firmware-time.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-incorrect-handle-for-abort-IOCB.patch. Upstream Commit IDs have changed due to re-base. - commit 6cd1846- pipe: avoid round_pipe_size() nr_pages overflow on 32-bit (bnc#1006867). - commit e550396- futex: Prevent overflow by strengthen input validation (CVE-2018-6927,bsc#1080757). - commit 6fd37c0- ext4: reduce lock contention in __ext4_new_inode (bsc#1080989). - commit bcf743f- ext4: do not unnecessarily allocate buffer in recently_deleted() (bsc#1080989). - commit 3ae1700- ext4: cleanup goto next group (bsc#1080989). - commit 13de627- Fix series.conf sort-order - commit 6668be5- ibmvnic: Remove skb->protocol checks in ibmvnic_xmit (bsc#1080384). - ibmvnic: Reset long term map ID counter (bsc#1080364). - commit 8c6ee76- powerpc/xmon: Dont register sysrq key when kernel param xmon=off (bsc#1072829). - commit 3e326cd- nvme_fc: cleanup io completion (bsc#1079628). - nvme_fc: correct abort race condition on resets (bsc#1079628). - commit 3347e8d- sched/numa: Delay retrying placement for automatic NUMA balance after wake_affine (bnc#1064414). - sched/fair: Consider SD_NUMA when selecting the most idle group to schedule on (bnc#1064414). - sched/fair: Do not migrate due to a sync wakeup on exit (bnc#1064414). - sched/fair: Do not migrate on wake_affine_weight if weights are equal (bnc#1064414). - sched/fair: Defer calculation of prev_eff_load in wake_affine until needed (bnc#1064414). - sched/fair: Avoid an unnecessary lookup of current CPU ID during wake_affine (bnc#1064414). - commit 5c70670- scripts/git_sort/git_sort.py: add nvme/nvme-4.16-rc - commit 40fc9c6- KVM: PPC: Book3S PR: Fix svcpu copying with preemption enabled (bsc#1077761, git-fixes). - commit b909d20- scsi: libsas: fix error when getting phy events (bsc#1061782). - commit 7b1f578- Btrfs: fix space leak after fallocate and zero range operations (fate#323233). - commit 12996c5- Btrfs: fix missing inode i_size update after zero range operation (fate#323233). - commit a150fc9- Refresh patches.suse/btrfs-add-support-for-fallocate-s-zero-range-operati.patch. - commit 18b5788- scsi: libsas: Disable asynchronous aborts for SATA devices (bsc#1061782). - commit fd6cd11- Re-sort series.conf - commit 3e66481- Refresh patches.drivers/libnvdimm-fix-integer-overflow-static-analysis-warni.patch. Fix compiler warning due to bad backport. - commit b178056- xfs: write unmount record for ro mounts (bsc#1073401). - xfs: toggle readonly state around xfs_log_mount_finish (bsc#1073401). - commit d6cbdb2- libnvdimm, dax: fix 1GB-aligned namespaces vs physical misalignment (FATE#323731). - libnvdimm, pfn: fix start_pad handling for aligned namespaces (FATE#323731). - libnvdimm, pfn: make 'resource' attribute only readable by root (FATE#323731). - libnvdimm, namespace: make 'resource' attribute only readable by root (FATE#323731). - libnvdimm, region : make 'resource' attribute only readable by root (FATE#323731). - libnvdimm: fix integer overflow static analysis warning (FATE#323731). - commit 1f72f5a- usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer (bsc#1078669 CVE-2017-16914). - commit 55a35d1- Refresh patches.drivers/ibmvnic-Ensure-that-buffers-are-NULL-after-free.patch. - Refresh patches.drivers/ibmvnic-Fix-rx-queue-cleanup-for-non-fatal-resets.patch. - Refresh patches.drivers/ibmvnic-queue-reset-when-CRQ-gets-closed-during-rese.patch. - Refresh patches.suse/v2-2-9-arm64-kpti-Make-use-of-nG-dependent-on-arm64_kernel_unmapped_at_el0.patch. - commit 44586d4- cxgb4: properly initialize variables (bsc#1064802 bsc#1066129). - IB/core: Perform modify QP on real one (bsc#1046306 FATE#322942). - IB/hfi1: Fix infinite loop in 8051 command error path (bsc#1060463 FATE#323043). - commit bfc5374- x86 / CPU: Avoid unnecessary IPIs in arch_freq_get_on_cpu() (bnc#1073583 cpufreq reporting). - cpufreq: x86: Disable interrupts during MSRs reading (bnc#1073583 cpufreq reporting). - commit f714afd- README.BRANCH: remove Jeff Mahoney as temporary comaintainer - commit 718ae6f- cpufreq: x86: Make scaling_cur_freq behave more as expected (bnc#1073583 cpufreq reporting). - commit 7670904- x86: use common aperfmperf_khz_on_cpu() to calculate KHz using APERF/MPERF (bnc#1073583 cpufreq reporting). - commit 529bfe4- x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel (bsc#1068032 CVE-2017-5754). - x86/pti: Mark constant arrays as __initconst (bsc#1068032 CVE-2017-5754). - x86/microcode: Fix again accessing initrd after having been freed (git-fixes f26483eaedec). - x86/tsc: Fix erroneous TSC rate on Skylake Xeon (bsc#1074873). - commit 8d39e42- bnx2x: disable GSO where gso_size is too big for hardware (bsc#1079384). - net: create skb_gso_validate_mac_len() (bsc#1079384). - commit d647fd1- Re-sorted series.conf - Refresh patches.drivers/ibmvnic-Ensure-that-buffers-are-NULL-after-free.patch. - Refresh patches.drivers/ibmvnic-Fix-rx-queue-cleanup-for-non-fatal-resets.patch. - Refresh patches.drivers/ibmvnic-queue-reset-when-CRQ-gets-closed-during-rese.patch. - Refresh patches.suse/v2-2-9-arm64-kpti-Make-use-of-nG-dependent-on-arm64_kernel_unmapped_at_el0.patch. - commit d67c239- blacklist.conf: Blacklist 007a61ae2f35 ("nvme: fix visibility of "uuid" ns attribute") - commit 94a7b7f- Documentation/virtual/kvm: Add AMD Secure Encrypted Virtualization (SEV) (bsc#1063068). - x86/CPU/AMD: Add the Secure Encrypted Virtualization CPU feature (bsc#1063068). - kvm: svm: prepare for new bit definition in nested_ctl (bsc#1063068). - kvm: svm: Add SEV feature definitions to KVM (bsc#1063068). - KVM: SVM: Prepare to reserve asid for SEV guest (bsc#1063068). - KVM: X86: Extend CPUID range to include new leaf (bsc#1063068). - KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl (bsc#1063068). - KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl (bsc#1063068). - crypto: ccp - Use devres interface to allocate PCI/iomap and cleanup (bsc#1063068). - crypto: ccp - Introduce the AMD Secure Processor device (bsc#1063068). - crypto: ccp - Abstract interrupt registeration (bsc#1063068). - crypto: ccp - rename ccp driver initialize files as sp device (bsc#1063068). - crypto: ccp - remove ccp_present() check from device initialize (bsc#1063068). - crypto: ccp - remove duplicate module version and author entry (bsc#1063068). - crypto: ccp: Build the AMD secure processor driver only with AMD CPU support (bsc#1063068). - crypto: ccp: Define SEV userspace ioctl and command id (bsc#1063068). - crypto: ccp: Define SEV key management command id (bsc#1063068). - crypto: ccp: Add Platform Security Processor (PSP) device support (bsc#1063068). - crypto: ccp: Add Secure Encrypted Virtualization (SEV) command support (bsc#1063068). - crypto: ccp: Implement SEV_FACTORY_RESET ioctl command (bsc#1063068). - crypto: ccp: Implement SEV_PLATFORM_STATUS ioctl command (bsc#1063068). - crypto: ccp: Implement SEV_PEK_GEN ioctl command (bsc#1063068). - crypto: ccp: Implement SEV_PDH_GEN ioctl command (bsc#1063068). - crypto: ccp: Implement SEV_PEK_CSR ioctl command (bsc#1063068). - crypto: ccp: Implement SEV_PEK_CERT_IMPORT ioctl command (bsc#1063068). - crypto: ccp: Implement SEV_PDH_CERT_EXPORT ioctl command (bsc#1063068). - KVM: X86: Add CONFIG_KVM_AMD_SEV (bsc#1063068). - KVM: SVM: Reserve ASID range for SEV guest (bsc#1063068). - KVM: SVM: Add sev module_param (bsc#1063068). - KVM: Define SEV key management command id (bsc#1063068). - KVM: SVM: Add KVM_SEV_INIT command (bsc#1063068). - KVM: SVM: VMRUN should use associated ASID when SEV is enabled (bsc#1063068). - KVM: SVM: Add support for KVM_SEV_LAUNCH_START command (bsc#1063068). - KVM: SVM: Add support for KVM_SEV_LAUNCH_UPDATE_DATA command (bsc#1063068). - KVM: SVM: Add support for KVM_SEV_LAUNCH_MEASURE command (bsc#1063068). - KVM: SVM: Add support for SEV LAUNCH_FINISH command (bsc#1063068). - KVM: SVM: Add support for SEV GUEST_STATUS command (bsc#1063068). - KVM: SVM: Add support for SEV DEBUG_DECRYPT command (bsc#1063068). - KVM: SVM: Add support for SEV DEBUG_ENCRYPT command (bsc#1063068). - KVM: SVM: Add support for SEV LAUNCH_SECRET command (bsc#1063068). - KVM: SVM: Pin guest memory when SEV is active (bsc#1063068). - KVM: SVM: Clear C-bit from the page fault address (bsc#1063068). - KVM: SVM: Do not install #UD intercept when SEV is enabled (bsc#1063068). - KVM: X86: Restart the guest when insn_len is zero and SEV is enabled (bsc#1063068). - Update config files. - Refresh patches.arch/01-x86-retpoline-fill-rsb-on-context-switch-for-affected-cpus.patch. - Refresh patches.arch/x86-cpufeatures-clean-up-spectre-v2-related-cpuid-flags.patch. - Refresh patches.arch/x86-speculation-add-basic-ibpb-indirect-branch-prediction-barrier-support.patch. - Refresh patches.drivers/ibmvnic-Ensure-that-buffers-are-NULL-after-free.patch. - Refresh patches.drivers/ibmvnic-Fix-rx-queue-cleanup-for-non-fatal-resets.patch. - Refresh patches.drivers/ibmvnic-queue-reset-when-CRQ-gets-closed-during-rese.patch. - Refresh patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch. - Refresh patches.suse/v2-2-9-arm64-kpti-Make-use-of-nG-dependent-on-arm64_kernel_unmapped_at_el0.patch. - scripts/git_sort/git_sort.py: - commit 9adbb9d- qedi: Cleanup local str variable (bsc#1079977). - qedi: Fix truncation of CHAP name and secret (bsc#1079977). - scsi: qedi: Drop cqe response during connection recovery (bsc#1079977). - scsi: qedi: Use zeroing allocator instead of allocator/memset (bsc#1079977). - scsi: qedi: Fix a possible sleep-in-atomic bug in qedi_process_tmf_resp (bsc#1079977). - cxgbit: Abort the TCP connection in case of data out timeout (bsc#1080021). - scsi: qedi: Delete redundant variables (bsc#1079977). - commit e417c01- config: resync arm64/vanilla - commit e129956- x86/acpi: Reduce code duplication in mp_override_legacy_irq() (bsc#1061680 bsc#1068984 bsc#1074099). - x86/acpi: Handle SCI interrupts above legacy space gracefully (bsc#1061680 bsc#1068984 bsc#1074099). - commit d3814df- crypto: pcrypt - fix freeing pcrypt instances (bsc#1077402,CVE-2017-18075). - commit 8e9d0d1- Refresh patches.drivers/scsi-qla2xxx-Add-XCB-counters-to-debugfs.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-ability-to-send-PRLO.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-ability-to-use-GPNFT-GNNFT-for-RSCN.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-boundary-checks-for-exchanges-to-be.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-lock-protection-around-host-lookup.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-option-for-use-reserve-exch-for-ELS.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-retry-limit-for-fabric-scan-logic.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-switch-command-to-simplify-fabric-d.patch. - Refresh patches.drivers/scsi-qla2xxx-Allow-relogin-and-session-creation-afte.patch. - Refresh patches.drivers/scsi-qla2xxx-Allow-target-mode-to-accept-PRLI-in-dua.patch. - Refresh patches.drivers/scsi-qla2xxx-Chip-reset-uses-wrong-lock-during-IO-fl.patch. - Refresh patches.drivers/scsi-qla2xxx-Clear-loop-id-after-delete.patch. - Refresh patches.drivers/scsi-qla2xxx-Defer-processing-of-GS-IOCB-calls.patch. - Refresh patches.drivers/scsi-qla2xxx-Delay-loop-id-allocation-at-login.patch. - Refresh patches.drivers/scsi-qla2xxx-Don-t-call-dma_free_coherent-with-IRQ-d.patch. - Refresh patches.drivers/scsi-qla2xxx-Enable-ATIO-interrupt-handshake-for-ISP.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-Firmware-dump-size-for-Extended-log.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-GPNFT-GNNFT-error-handling.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-NPIV-host-cleanup-in-target-mode.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-NULL-pointer-access-for-fcport-stru.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-NULL-pointer-crash-due-to-probe-fai.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-PRLI-state-check.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-Relogin-being-triggered-too-fast.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-abort-command-deadlock-due-to-spinl.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-gpnid-error-processing.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-login-state-machine-freeze.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-login-state-machine-stuck-at-GPDB.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-logo-flag-for-qlt_free_session_done.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-memory-leak-in-dual-target-mode.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-queue-ID-for-async-abort-with-Multi.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-re-login-for-Nport-Handle-in-use.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-scan-state-field-for-fcport.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-session-cleanup-for-N2N.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-smatch-warning-in-qla25xx_delete_-r.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-system-crash-for-Notify-ack-timeout.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-system-crash-in-qlt_plogi_ack_unref.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-warning-during-port_name-debug-prin.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-warning-for-code-intentation-in-__q.patch. - Refresh patches.drivers/scsi-qla2xxx-Fix-warning-in-qla2x00_async_iocb_timeo.patch. - Refresh patches.drivers/scsi-qla2xxx-Increase-verbosity-of-debug-messages-lo.patch. - Refresh patches.drivers/scsi-qla2xxx-Migrate-switch-registration-commands-aw.patch. - Refresh patches.drivers/scsi-qla2xxx-Move-session-delete-to-driver-work-queu.patch. - Refresh patches.drivers/scsi-qla2xxx-Move-work-element-processing-out-of-DPC.patch. - Refresh patches.drivers/scsi-qla2xxx-Prevent-multiple-active-discovery-comma.patch. - Refresh patches.drivers/scsi-qla2xxx-Prevent-relogin-trigger-from-sending-to.patch. - Refresh patches.drivers/scsi-qla2xxx-Properly-extract-ADISC-error-codes.patch. - Refresh patches.drivers/scsi-qla2xxx-Reduce-the-use-of-terminate-exchange.patch. - Refresh patches.drivers/scsi-qla2xxx-Reduce-trace-noise-for-Async-Events.patch. - Refresh patches.drivers/scsi-qla2xxx-Relogin-to-target-port-on-a-cable-swap.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-aborting-ELS-IOCB-call-issued-as.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-session-creation-redundant-code.patch. - Refresh patches.drivers/scsi-qla2xxx-Remove-unused-argument-from-qlt_schedul.patch. - Refresh patches.drivers/scsi-qla2xxx-Replace-GPDB-with-async-ADISC-command.patch. - Refresh patches.drivers/scsi-qla2xxx-Replace-fcport-alloc-with-qla2x00_alloc.patch. - Refresh patches.drivers/scsi-qla2xxx-Retry-switch-command-on-time-out.patch. - Refresh patches.drivers/scsi-qla2xxx-Serialize-GPNID-for-multiple-RSCN.patch. - Refresh patches.drivers/scsi-qla2xxx-Serialize-session-deletion-by-using-wor.patch. - Refresh patches.drivers/scsi-qla2xxx-Serialize-session-free-in-qlt_free_sess.patch. - Refresh patches.drivers/scsi-qla2xxx-Skip-IRQ-affinity-for-Target-QPairs.patch. - Refresh patches.drivers/scsi-qla2xxx-Suppress-gcc-7-fall-through-warnings.patch. - Refresh patches.drivers/scsi-qla2xxx-Tweak-resource-count-dump.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-version-to-10.00.00.03-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-version-to-10.00.00.04-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-version-to-10.00.00.05-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-IOCB-path-to-submit-Control-VP-MBX-.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-chip-reset-to-bring-down-laser-on-u.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-known-NPort-ID-for-Management-Serve.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-shadow-register-for-ISP27XX.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-zeroing-allocator-rather-than-alloc.patch. - Refresh patches.drivers/scsi-qla2xxx-remove-duplicate-includes.patch. - Refresh patches.drivers/scsi-qla2xxx-remove-redundant-assignment-of-d.patch. - commit 8ad9d97- scsi: qla2xxx: Fix incorrect handle for abort IOCB (bsc#1077338). - scsi: qla2xxx: Fix double free bug after firmware timeout (bsc#1077338). - scsi: qla2xxx: Fix a locking imbalance in qlt_24xx_handle_els() (bsc#1077338). - scsi: qla2xxx: Avoid triggering undefined behavior in qla2x00_mbx_completion() (bsc#1077338). - commit 920953f- scripts/git_sort/git_sort.py: add mkp/scsi.git 4.16/scsi-fixes - commit db9b61f- scsi: qla2xxx: Fix logo flag for qlt_free_session_done() (bsc#1077338). - scsi: qla2xxx: Update driver version to 10.00.00.05-k (bsc#1077338). - scsi: qla2xxx: Add XCB counters to debugfs (bsc#1077338). - scsi: qla2xxx: Fix queue ID for async abort with Multiqueue (bsc#1077338). - scsi: qla2xxx: Fix warning for code intentation in __qla24xx_handle_gpdb_event() (bsc#1077338). - scsi: qla2xxx: Fix warning during port_name debug print (bsc#1077338). - scsi: qla2xxx: Fix warning in qla2x00_async_iocb_timeout() (bsc#1077338). - scsi: qla2xxx: Fix NULL pointer crash due to probe failure (bsc#1077338). - scsi: qla2xxx: remove redundant assignment of d (bsc#1077338). - scsi: qla2xxx: Use zeroing allocator rather than allocator/memset (bsc#1077338). - scsi: qla2xxx: Update driver version to 10.00.00.04-k (bsc#1077338). - scsi: qla2xxx: Serialize session free in qlt_free_session_done (bsc#1077338). - scsi: qla2xxx: Serialize session deletion by using work_lock (bsc#1077338). - scsi: qla2xxx: Remove unused argument from qlt_schedule_sess_for_deletion() (bsc#1077338). - scsi: qla2xxx: Prevent relogin trigger from sending too many commands (bsc#1077338). - scsi: qla2xxx: Prevent multiple active discovery commands per session (bsc#1077338). - scsi: qla2xxx: Add retry limit for fabric scan logic (bsc#1077338). - scsi: qla2xxx: Delay loop id allocation at login (bsc#1077338). - scsi: qla2xxx: Increase verbosity of debug messages logged (bsc#1077338). - scsi: qla2xxx: Allow relogin and session creation after reset (bsc#1077338). - scsi: qla2xxx: Add ability to use GPNFT/GNNFT for RSCN handling (bsc#1077338). - scsi: qla2xxx: Properly extract ADISC error codes (bsc#1077338). - scsi: qla2xxx: Fix GPNFT/GNNFT error handling (bsc#1077338). - scsi: qla2xxx: Remove session creation redundant code (bsc#1077338). - scsi: qla2xxx: Migrate switch registration commands away from mailbox interface (bsc#1077338). - scsi: qla2xxx: Fix login state machine freeze (bsc#1077338). - scsi: qla2xxx: Reduce trace noise for Async Events (bsc#1077338). - scsi: qla2xxx: Reduce the use of terminate exchange (bsc#1077338). - scsi: qla2xxx: Add lock protection around host lookup (bsc#1077338). - scsi: qla2xxx: Add switch command to simplify fabric discovery (bsc#1077338). - scsi: qla2xxx: Use known NPort ID for Management Server login (bsc#1077338). - scsi: qla2xxx: Fix session cleanup for N2N (bsc#1077338). - scsi: qla2xxx: Tweak resource count dump (bsc#1077338). - scsi: qla2xxx: Allow target mode to accept PRLI in dual mode (bsc#1077338). - scsi: qla2xxx: Don't call dma_free_coherent with IRQ disabled (bsc#1077338). - scsi: qla2xxx: Add ability to send PRLO (bsc#1077338). - scsi: qla2xxx: Add option for use reserve exch for ELS (bsc#1077338). - scsi: qla2xxx: Use shadow register for ISP27XX (bsc#1077338). - scsi: qla2xxx: Enable ATIO interrupt handshake for ISP27XX (bsc#1077338). - scsi: qla2xxx: Move work element processing out of DPC thread (bsc#1077338). - scsi: qla2xxx: Replace GPDB with async ADISC command (bsc#1077338). - scsi: qla2xxx: Fix Firmware dump size for Extended login and Exchange Offload (bsc#1077338). - scsi: qla2xxx: Chip reset uses wrong lock during IO flush (bsc#1077338). - scsi: qla2xxx: Add boundary checks for exchanges to be offloaded (bsc#1077338). - scsi: qla2xxx: Use chip reset to bring down laser on unload (bsc#1077338). - scsi: qla2xxx: Use IOCB path to submit Control VP MBX command (bsc#1077338). - scsi: qla2xxx: Fix NULL pointer access for fcport structure (bsc#1077338). - scsi: qla2xxx: Fix smatch warning in qla25xx_delete_{rsp|req}_que (bsc#1077338). - scsi: qla2xxx: remove duplicate includes (bsc#1077338). - scsi: qla2xxx: Suppress gcc 7 fall-through warnings (bsc#1077338). - scsi: qla2xxx: Update driver version to 10.00.00.03-k (bsc#1077338). - scsi: qla2xxx: Fix memory leak in dual/target mode (bsc#1077338). - scsi: qla2xxx: Fix system crash in qlt_plogi_ack_unref (bsc#1077338). - scsi: qla2xxx: Remove aborting ELS IOCB call issued as part of timeout (bsc#1077338). - scsi: qla2xxx: Defer processing of GS IOCB calls (bsc#1077338). - scsi: qla2xxx: Clear loop id after delete (bsc#1077338). - scsi: qla2xxx: Fix scan state field for fcport (bsc#1077338). - scsi: qla2xxx: Replace fcport alloc with qla2x00_alloc_fcport (bsc#1077338). - scsi: qla2xxx: Fix abort command deadlock due to spinlock (bsc#1077338). - scsi: qla2xxx: Fix PRLI state check (bsc#1077338). - scsi: qla2xxx: Fix Relogin being triggered too fast (bsc#1077338). - scsi: qla2xxx: Relogin to target port on a cable swap (bsc#1077338). - scsi: qla2xxx: Fix NPIV host cleanup in target mode (bsc#1077338). - scsi: qla2xxx: Fix login state machine stuck at GPDB (bsc#1077338). - scsi: qla2xxx: Serialize GPNID for multiple RSCN (bsc#1077338). - scsi: qla2xxx: Retry switch command on time out (bsc#1077338). - scsi: qla2xxx: Fix re-login for Nport Handle in use (bsc#1077338). - scsi: qla2xxx: Skip IRQ affinity for Target QPairs (bsc#1077338). - scsi: qla2xxx: Move session delete to driver work queue (bsc#1077338). - scsi: qla2xxx: Fix gpnid error processing (bsc#1077338). - scsi: qla2xxx: Fix system crash for Notify ack timeout handling (bsc#1077338). - scsi: qla2xxx: Fix oops in qla2x00_probe_one error path (bsc#1077338). - scsi: qla2xxx: Fix system crash while triggering FW dump (bsc#1077338). - commit e0a937c- tap: fix use-after-free (bsc#1076830). - l2tp: don't use l2tp_tunnel_find() in l2tp_ip and l2tp_ip6 (bsc#1076830). - l2tp: fix l2tp_eth module loading (bsc#1076830). - tipc: use only positive error codes in messages (bsc#1076830). - tcp: fastopen: fix on syn-data transmit failure (bsc#1076830). - sctp: do not mark sk dumped when inet_sctp_diag_fill returns err (bsc#1076830). - media: rc: simplify ir_raw_event_store_edge() (bsc#1076830). - l2tp: hold tunnel while handling genl tunnel updates (bsc#1076830). - l2tp: hold tunnel while processing genl delete command (bsc#1076830). - l2tp: initialise session's refcount before making it reachable (bsc#1076830). - tcp: enable xmit timer fix by having TLP use time when RTO should fire (bsc#1076830). - tcp: introduce tcp_rto_delta_us() helper for xmit timer fix (bsc#1076830). - ipvlan: Fix 64-bit statistics seqcount initialization (bsc#1076830). - commit 56fda6b- Update config files (bsc#1080294) - commit 54e4b16- netfilter: on sockopt() acquire sock lock only in the required scope (bsc#1076830). - netfilter: ipt_CLUSTERIP: fix out-of-bounds accesses in clusterip_tg_check() (bsc#1076830). - netfilter: x_tables: fix pointer leaks to userspace (bsc#1076830). - tcp_bbr: fix pacing_gain to always be unity when using lt_bw (bsc#1076830). - ipv6: Fix SO_REUSEPORT UDP socket with implicit sk_ipv6only (bsc#1076830). - bridge: return boolean instead of integer in br_multicast_is_router (bsc#1076830). - vxlan: Fix trailing semicolon (bsc#1076830). - l2tp: fix missing print session offset info (bsc#1076830). - xfrm: Fix xfrm_replay_overflow_offload_esn (bsc#1076830). - rds: tcp: correctly sequence cleanup on netns deletion (bsc#1076830). - rds: tcp: remove redundant function rds_tcp_conn_paths_destroy() (bsc#1076830). - gso: validate gso_type in GSO handlers (bsc#1076830). - tun: fix a memory leak for tfile->tx_array (bsc#1076830). - mac80211_hwsim: validate number of different channels (bsc#1076830). - sctp: reinit stream if stream outcnt has been change by sinit in sendmsg (bsc#1076830). - esp: Fix GRO when the headers not fully in the linear part of the skb (bsc#1076830). - xfrm: skip policies marked as dead while rehashing (bsc#1076830). - tcp: remove buggy call to tcp_v6_restore_cb() (bsc#1076830). - ipvlan: always use the current L2 addr of the master (bsc#1076830). - tcp: do not mangle skb->cb in tcp_make_synack() (bsc#1076830). - l2tp: check ps->sock before running pppol2tp_session_ioctl() (bsc#1076830). - l2tp: fix race condition in l2tp_tunnel_delete (bsc#1076830). - net: use inet6_rcv_saddr to compare sockets (bsc#1076830). - tcp: remove two unused functions (bsc#1076830). - xfrm_user: fix info leak in copy_user_offload() (bsc#1076830). - l2tp: hold tunnel while handling genl TUNNEL_GET commands (bsc#1076830). - l2tp: hold tunnel while looking up sessions in l2tp_netlink (bsc#1076830). - tipc: reassign pointers after skb reallocation / linearization (bsc#1076830). - tipc: remove subscription references only for pending timers (bsc#1076830). - bridge: allow ext learned entries to change ports (bsc#1076830). - net: reflect mark on tcp syn ack packets (bsc#1076830). - rds: tcp: set linger to 1 when unloading a rds-tcp (bsc#1076830). - rds: tcp: Set linger when rejecting an incoming conn in rds_tcp_accept_one (bsc#1076830). - commit bd4b81f- s390/perf: fix problem state detection (bsc#1077761). - commit da7a2a3- Run scripts/series_sort.py. - commit 22e3d2b- Update config files: Enable CONFIG_HISILICON_ERRATUM_161600802 on arm64 - commit cceb161- ibmvnic: queue reset when CRQ gets closed during reset (bsc#1080263). - commit 75132a4- arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives (bsc#1068032). - Update config files. - arm64: entry: Reword comment about post_ttbr_update_workaround (bsc#1068032). - arm64: Force KPTI to be disabled on Cavium ThunderX (bsc#1068032). - patches.suse/arm64-add-PTE_ADDR_MASK.patch: (bsc#1068032). - arm64: kpti: Add ->enable callback to remap swapper using nG mappings (bsc#1068032). - arm64: mm: Permit transitioning from Global to Non-Global without BBM (bsc#1068032). - arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0() (bsc#1068032). - arm64: Add software workaround for Falkor erratum 1041 (bsc#1068032). - commit 057a1ba- arm64: Use physical counter for in-kernel reads when booted in EL2 (bsc#1077761). - arm64: Implement arch_counter_get_cntpct to read the physical counter (bsc#1077761). - commit 9467ba3- fix unbalanced page refcounting in bio_map_user_iov (bsc#1062568 CVE-2017-12190). - commit a42b8fb- KVM: PPC: Book3S HV: Branch inside feature section (bsc#1077761). - commit 3577581- irqchip/gic-v4: Add forward definition of struct irq_domain_ops (FATE#323954). - commit 286a0c1- irqchip/gic-v3: pr_err() strings should end with newlines (FATE#323954). - commit eac0d6c- irqchip/gic-v3: Fix ppi-partitions lookup (FATE#323954). - commit 8fafdca- irqchip/gic-v4: Clear IRQ_DISABLE_UNLAZY again if mapping fails (FATE#323954). - commit fe1e3f4- KVM: arm/arm64: Check that system supports split eoi/deactivate (FATE#323954). - commit 595c1eb- arm64/sve: System register and exception syndrome definitions (FATE#323954). - commit f07e79a- irqchip/gic-v3-its: Fix VPE activate callback return value (FATE#323954). - commit a04ec1d- irqchip/gic: Deal with broken firmware exposing only 4kB of GICv2 CPU interface (FATE#323954). - commit 01bd7b0- irqchip/gic-v3-its: Setup VLPI properties at map time (FATE#323954). - commit a21da0f- irqchip/gic-v3-its: Update effective affinity on VPE mapping (FATE#323954). - commit dc3a515- irqchip/gic-v3-its: Only send VINVALL to a single ITS (FATE#323954). - commit 5ecdea0- irqchip/gic-v3-its: Limit scope of VPE mapping to be per ITS (FATE#323954). - commit 413611f- irqchip/gic-v3-its: Make its_send_vmapp operate on a single ITS (FATE#323954). - commit 9941246- irqchip/gic-v3-its: Make its_send_vinvall operate on a single ITS (FATE#323954). - commit 70b8ac8- irqchip/gic-v3-its: Make GICv4_ITS_LIST_MAX globally available (FATE#323954). - commit 23467c3- irqchip/gic-v3-its: Track per-ITS list number (FATE#323954). - commit 4bd7058- irqchip/gic-v3-its: Workaround HiSilicon Hip07 redistributor addressing (FATE#323954). - Refresh patches.suse/arm64-Add-software-workaround-for-Falkor-erratum-104.patch. - commit 0a26906- supported.conf: add drivers/firmware/qemu_fw_cfg It enables ability for handling of guest crash analysis (KVM), along with other uses. (bsc#1077919) - commit 36c01d0- irqchip/gic-v3-its: Pass its_node pointer to each command builder (FATE#323954). - commit d719157- irqchip/gic-v3: Add support for Range Selector (RS) feature (FATE#323954). - commit 706f089- irqchip/gic-v3-its: Add missing changes to support 52bit physical address (FATE#323954). - commit e8e419f- irqchip/gic-v3-its: Fix the incorrect parsing of VCPU table size (FATE#323954). - commit 511523a- irqchip/gic-v3-its: Fix the incorrect BUG_ON in its_init_vpe_domain() (FATE#323954). - commit f0aa0ed- irqchip/gic-v4: Fix building with ancient gcc (FATE#323954). - commit 1d16c51- irqchip/gic-v3: Iterate over possible CPUs by for_each_possible_cpu() (FATE#323954). - commit ebcfbbc- irqchip/gic: Make irq_chip const (FATE#323954). - commit 2d5ac36- irqchip/gic-v3: Advertise GICv4 support to KVM (FATE#323954). - commit 40f9623- irqchip/gic-v4: Enable low-level GICv4 operations (FATE#323954). - commit 84b3f27- irqchip/gic-v4: Add some basic documentation (FATE#323954). - commit ec6f959- irqchip/gic-v4: Add VLPI configuration interface (FATE#323954). - commit 86e4f8e- irqchip/gic-v4: Add VPE command interface (FATE#323954). - commit 73856c3- irqchip/gic-v4: Add per-VM VPE domain creation (FATE#323954). - commit 187e199- irqchip/gic-v3-its: Set implementation defined bit to enable VLPIs (FATE#323954). - commit 3df2699- irqchip/gic-v3-its: Allow doorbell interrupts to be injected/cleared (FATE#323954). - commit 4a1320e- irqchip/gic-v3-its: Move pending doorbell after VMOVP (FATE#323954). - commit 7bf8955- irqchip/gic-v3-its: Add device proxy for VPE management if !DirectLpi (FATE#323954). - commit 7814bf0- irqchip/gic-v3-its: Make LPI allocation optional on device creation (FATE#323954). - commit af01bb0- irqchip/gic-v3-its: Add VPE interrupt masking (FATE#323954). - commit 3e0e018- irqchip/gic-v3-its: Add VPE affinity changes (FATE#323954). - commit d562b75- irqchip/gic-v3-its: Add VPE invalidation hook (FATE#323954). - commit 0ab99d4- irqchip/gic-v3-its: Add VPE scheduling (FATE#323954). - commit 886a69b- irqchip/gic-v3-its: Add VPENDBASER/VPROPBASER accessors (FATE#323954). - commit a555020- irqchip/gic-v3-its: Add VPE irq domainactivation (FATE#323954). - commit 1e0a736- irqchip/gic-v3-its: Add VPE irq domain allocation/teardown (FATE#323954). - commit 5012fa3- irqchip/gic-v3-its: Add VPE domain infrastructure (FATE#323954). - commit b171b80- irqchip/gic-v3-its: Add VLPI configuration handling (FATE#323954). - commit 1a53a79- irqchip/gic-v3-its: Add VLPI map/unmap operations (FATE#323954). - commit 39bdd8c- irqchip/gic-v3-its: Add VLPI configuration hook (FATE#323954). - commit 1df4f9e- irqchip/gic-v3-its: Add GICv4 ITS command definitions (FATE#323954). - commit 754bd85- irqchip/gic-v4: Add management structure definitions (FATE#323954). - commit 3e4d038- irqchip/gic-v3-its: Generalize LPI configuration (FATE#323954). - commit c322f9d- irqchip/gic-v3-its: Generalize device table allocation (FATE#323954). - commit d807afe- irqchip/gic-v3-its: Rework LPI freeing (FATE#323954). - commit f77ae34- irqchip/gic-v3-its: Split out pending table allocation (FATE#323954). - commit 94bff76- irqchip/gic-v3-its: Allow use of indirect VCPU tables (FATE#323954). - commit e7ee4bb- irqchip/gic-v3-its: Split out property table allocation (FATE#323954). - commit af26837- irqchip/gic-v3-its: Implement irq_set_irqchip_state for pending state (FATE#323954). - Refresh patches.suse/irqchip-gic-v3-its-Add-post-mortem-info-on-command-t.patch. - commit 321d3a8- irqchip/gic-v3-its: Macro-ize its_send_single_command (FATE#323954). - Refresh patches.suse/irqchip-gic-v3-Add-workaround-for-Synquacer-pre-ITS-558b0165.patch. - Refresh patches.suse/irqchip-gic-v3-its-Add-post-mortem-info-on-command-t.patch. - commit d80fdde- irqchip/gic-v3-its: Add probing for VLPI properties (FATE#323954). - Refresh patches.suse/irqchip-gic-v3-Probe-device-ID-space-before-quirks-h.patch. - Refresh patches.suse/irqchip-gic-v3-Add-workaround-for-Synquacer-pre-ITS-558b0165.patch - commit a385b0d- irqchip/gic-v3-its: Move LPI definitions around (FATE#323954). - commit 29c36a2- irqchip/gic-v3: Add VLPI/DirectLPI discovery (FATE#323954). - commit 6babec0- irqchip/gic-v3: Add redistributor iterator (FATE#323954). - commit ee41ab4- genirq: Let irq_set_vcpu_affinity() iterate over hierarchy (FATE#323954). - commit bb7657a- irqchip/gic-v3-its: Properly handle command queue wrapping (FATE#323954). - commit b883322- irqchip/gic-v3-its: Report that effective affinity is a single target (FATE#323954). - commit 6f8bd53- irqchip/gic-v3: Report that effective affinity is a single target (FATE#323954). - commit 8954ba3- irqchip/gic: Report that effective affinity is a single target (FATE#323954). - commit 7ca4347- irqchip/gic-v3-its-platform-msi: Fix msi-parent parsing loop (FATE#323954). - commit b0e243c- irqchip/gic-v3-its: Allow GIC ITS number more than MAX_NUMNODES (FATE#323954). - commit 36735a4- irqchip/gic: Ensure we have an ISB between ack and ->handle_irq (FATE#323954). - commit f7f8f59- irqchip/gic-v3-its: Remove ACPICA version check for ACPI NUMA (FATE#323954). - commit ad1cbf1- irqchip/gic-v3: Honor forced affinity setting (FATE#323954). - commit 76565c7- irqchip/gic-v3: Report failures in gic_irq_domain_alloc (FATE#323954). - commit a5ca30a- irqchip/gic-v2: Report failures in gic_irq_domain_alloc (FATE#323954). - commit cc989f5- iommu/arm-smmu-v3: Enable ACPI based HiSilicon CMD_PREFETCH quirk(erratum 161010701) (FATE#323954). - commit c2ed429- arm64: Add MIDR values for Cavium cn83XX SoCs (FATE#323954). - commit 3d86f32- arm64: Add a facility to turn an ESR syndrome into a sysreg encoding (FATE#323954). - commit b7a0ad9- Update config files. - commit 038084e- ACPICA: Add support for new SRAT subtable (FATE#323954). - commit 107759b- irqchip/gic-v3-its: Don't assume GICv3 hardware supports 16bit INTID (FATE#323954). - commit 41c997a- irqchip/gic-v3-its: Add ACPI NUMA node mapping (FATE#323954). - commit e83e0cc- irqchip/gic-v3-its-platform-msi: Make of_device_ids const (FATE#323954). - commit ac4f6c8- irqchip/gic-v3-its: Make of_device_ids const (FATE#323954). - commit cdca6a2- irqchip/gicv3-its: Skip irq affinity setting when target cpu is the same as current setting (FATE#323954). - commit 8566246- irqchip/gic-v3-its: Fix MSI alias accounting (FATE#323954). - commit 90ccab5- genirq/irqdomain: Remove auto-recursive hierarchy support (FATE#323954). - commit b4e692f- irqchip/MSI: Use irq_domain_update_bus_token instead of an open coded access (FATE#323954). - Refresh patches.suse/irqchip-gic-v3-Add-workaround-for-Synquacer-pre-ITS-558b0165.patch. - commit c2912d8- genirq/irqdomain: Add irq_domain_update_bus_token helper (FATE#323954). - commit bbab0e5- s390/mm: remove incorrect _REGION3_ENTRY_ORIGIN define (bsc#1077761). - commit 7a77b31- Add stubs to ignore effective IRQ affinity (FATE#323954). - commit ffd094d- s390: fix alloc_pgste check in init_new_context again (bsc#1077706). - s390/kvm: avoid global config of vm.alloc_pgste=1 (bsc#1077706). - commit 504a71f- rpm/kernel-binary.spec.in: Also require m4 for build. - commit 0d7b4b3- ibmvnic: Ensure that buffers are NULL after free (bsc#1080014). - ibmvnic: Fix rx queue cleanup for non-fatal resets (bsc#1080014). - commit 9627b8d- Refresh patches.drivers/ibmvnic-fix-empty-firmware-version-and-errors-cleanu.patch. - commit 83a5eee- Move ARM IOMMU patches to sorted section - commit 3aa94a7- Documentation: Document array_index_nospec (bsc#1068032 CVE-2017-5753). - array_index_nospec: Sanitize speculative array de-references (bsc#1068032 CVE-2017-5753). - x86: Implement array_index_mask_nospec (bsc#1068032 CVE-2017-5753). - x86: Introduce barrier_nospec (bsc#1068032 CVE-2017-5753). - x86: Introduce __uaccess_begin_nospec() and uaccess_try_nospec (bsc#1068032 CVE-2017-5753). - x86/usercopy: Replace open coded stac/clac with __uaccess_{begin, end} (bsc#1068032 CVE-2017-5753). - x86/syscall: Sanitize syscall table de-references under speculation (bsc#1068032 CVE-2017-5753). - nl80211: Sanitize array index in parse_txq_params (bsc#1068032 CVE-2017-5753). - x86/spectre: Report get_user mitigation for spectre_v1 (bsc#1068032 CVE-2017-5753). - Refresh patches.arch/23-x86-retpoline-entry-convert-entry-assembler-indirect-jumps.patch. - Refresh patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch. - Refresh patches.suse/0007-x86-entry-64-Add-unwind-hint-annotations.patch. - Delete patches.suse/0001-Documentation-document-array_ptr.patch. - Delete patches.suse/0002-asm-nospec-array_ptr-sanitize-speculative-array-de-r.patch. - Delete patches.suse/0003-locking-barriers-introduce-new-observable-speculatio.patch. - Delete patches.suse/0003-x86-implement-array_ptr_mask.patch. - Delete patches.suse/0004-x86-introduce-__uaccess_begin_nospec-and-ifence.patch. - Delete patches.suse/0005-x86-bpf-jit-prevent-speculative-execution-when-JIT-i.patch. - Delete patches.suse/0006-uvcvideo-prevent-speculative-execution.patch. - Delete patches.suse/0007-carl9170-prevent-speculative-execution.patch. - Delete patches.suse/0007-x86-narrow-out-of-bounds-syscalls-to-sys_read-under-.patch. - Delete patches.suse/0008-p54-prevent-speculative-execution.patch. - Delete patches.suse/0009-qla2xxx-prevent-speculative-execution.patch. - Delete patches.suse/0010-cw1200-prevent-speculative-execution.patch. - Delete patches.suse/0010-nl80211-sanitize-array-index-in-parse_txq_params.patch. - Delete patches.suse/0011-Thermal-int340x-prevent-speculative-execution.patch. - Delete patches.suse/0012-ipv4-prevent-speculative-execution.patch. - Delete patches.suse/0013-ipv6-prevent-speculative-execution.patch. - Delete patches.suse/0014-fs-prevent-speculative-execution.patch. - Delete patches.suse/0015-net-mpls-prevent-speculative-execution.patch. - Delete patches.suse/0016-udf-prevent-speculative-execution.patch. - Delete patches.suse/0017-userns-prevent-speculative-execution.patch. Replace spectre v1 by the upstream solution. /sys/devices/system/cpu/vulnerabilities/spectre_v1 now also has the proper text. - commit fa33561- kprobes/x86: Blacklist indirect thunk functions for kprobes (bsc#1068032 CVE-2017-5754). - kprobes/x86: Disable optimizing on the function jumps to indirect thunk (bsc#1068032 CVE-2017-5754). - KVM: VMX: Make indirect call speculation safe (bsc#1068032 CVE-2017-5754). - KVM: x86: Make indirect calls in emulator speculation safe (bsc#1068032 CVE-2017-5754). - module/retpoline: Warn about missing retpoline in module (bsc#1068032 CVE-2017-5754). - retpoline: Introduce start/end markers of indirect thunk (bsc#1068032 CVE-2017-5754). - x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes (bsc#1068032 CVE-2017-5754). - x86/cpufeatures: Add AMD feature bits for Speculation Control (bsc#1068032 CVE-2017-5754). - x86/cpufeatures: Clean up Spectre v2 related CPUID flags (bsc#1068032 CVE-2017-5754). - x86/msr: Add definitions for new speculation control MSRs (bsc#1068032 CVE-2017-5754). - x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown (bsc#1068032 CVE-2017-5754). - x86/retpoline: Optimize inline assembler for vmexit_fill_RSB (bsc#1068032 CVE-2017-5754). - x86/retpoline: Simplify vmexit_fill_RSB() (bsc#1068032 CVE-2017-5754). - x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support (bsc#1068032 CVE-2017-5754). - blacklist.conf: - Refresh patches.arch/x86-bugs-drop-one-mitigation-from-dmesg.patch. - Refresh patches.arch/x86-mce-make-machine-check-speculation-protected.patch. - commit 4d56a2a- kernel: fix rwlock implementation (bnc#1079840, LTC#164371). - commit bcb7294- fs/proc/kcore.c: use probe_kernel_read() instead of memcpy() (bsc#1079840). - commit 45c8725- KVM: s390: add proper locking for CMMA migration bitmap (bsc#1079840). - KVM: s390: prevent buffer overrun on memory hotplug during migration (bsc#1079840). - KVM: s390: fix cmma migration for multiple memory slots (bsc#1079840). - ata: pata_artop: remove redundant initialization of pio (bsc#1079840). - blk-mq: attempt to fix atomic flag memory ordering (bsc#1079840). - s390/guarded storage: fix possible memory corruption (bsc#1079840). - s390/runtime instrumention: fix possible memory corruption (bsc#1079840). - s390/mm: make pmdp_invalidate() do invalidation only (bsc#1079840). - s390/perf: fix bug when creating per-thread event (bsc#1079840). - block: Relax a check in blk_start_queue() (bsc#1079840). - Documentation: DMA API: fix a typo in a function name (bsc#1079840). - kernel-doc: describe the ``literal`` syntax (bsc#1079840). - commit 51ba0ad- PCI: vmd: Remove IRQ affinity so we can allocate more IRQs (bsc#1079887). - commit 2023869- usbip: fix stub_rx: get_pipe() to validate endpoint number (bsc#1078673 CVE-2017-16912). - commit 32f2c09- Update config files. - commit 68baef6- scsi: megaraid_sas: NVMe passthrough command support (bsc#1077408). - scsi: megaraid_sas: driver version upgrade (bsc#1077408). - scsi: megaraid_sas: re-work DCMD refire code (bsc#1077408). - scsi: megaraid_sas: Expose fw_cmds_outstanding through sysfs (bsc#1077408). - scsi: megaraid_sas: Selectively apply stream detection based on IO type (bsc#1077408). - scsi: megaraid_sas: Update LD map after populating drv_map driver map copy (bsc#1077408). - scsi: megaraid_sas: Use megasas_wait_for_adapter_operational to detect controller state in IOCTL path (bsc#1077408). - scsi: megaraid_sas: Avoid firing DCMDs while OCR is in progress (bsc#1077408). - scsi: megaraid_sas: unload flag should be set after scsi_remove_host is called (bsc#1077408). - scsi: megaraid_sas: Error handling for invalid ldcount provided by firmware in RAID map (bsc#1077408). - scsi: megaraid_sas: Reset ldio_outstanding in megasas_resume (bsc#1077408). - scsi: megaraid_sas: Return the DCMD status from megasas_get_seq_num (bsc#1077408). - scsi: megaraid_sas: memset IOC INIT frame using correct size (bsc#1077408). - scsi: megaraid_sas: zero out IOC INIT and stream detection memory (bsc#1077408). - commit 60410e5- Drop non-standard megaraid_sas patches - Delete patches.drivers/megaraid_sas-Fallback-to-older-scanning-if-not-disks.patch. - Delete patches.drivers/megaraid_sas-boot-hangs-while-LD-is-offline.patch. - commit 4400510- Refresh patches.drivers/ibmvnic-fix-empty-firmware-version-and-errors-cleanu.patch. - commit b3b1ac0- blacklist.conf: ignore mac_esp patch (bsc#1077989) - commit efe494e- Refresh patches.fixes/st-fix-blk_get_queue-usage.patch. - commit 5541263- Refresh patches.drivers/ibmvnic-fix-empty-firmware-version-and-errors-cleanu.patch. - commit b3e021a- scsi: libfc: fix ELS request handling (bsc#1077989). - scsi: bfa: integer overflow in debugfs (bsc#1077989). - scsi: aacraid: Fix controller initialization failure (bsc#1077989). - scsi: scsi-mq: Always unprepare before requeuing a request (bsc#1077989). - scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path (bsc#1077989). - scsi: sun_esp: fix device reference leaks (bsc#1077989). - commit e90d3ec- Refresh patches.fixes/0003-NFSv4-always-set-NFS_LOCK_LOST-when-a-lock-is-lost.patch. Add git-commit tag - commit 1ef434c- KVM: s390: add proper locking for CMMA migration bitmap (bsc#1077761). - commit 9a8fac9- KVM: s390: wire up bpb feature (bsc#1077761). - commit d14cb22- KVM: PPC: Book3S: Provide information about hardware/firmware CVE workarounds (bsc#1077761). - commit 1e687f0- KVM/x86: Fix wrong macro references of X86_CR0_PG_BIT and X86_CR4_PAE_BIT in kvm_valid_sregs() (bsc#1077761). - commit 0863a2e- KVM: arm64: Fix GICv4 init when called from vgic_its_create (bsc#1077761). - commit 54f74da- KVM: arm/arm64: Check pagesize when allocating a hugepage at Stage 2 (bsc#1077761). - commit db3eec9- KVM: x86: Add memory barrier on vmcs field lookup (bsc#1077761). - commit 973bff3- KVM: x86: emulate #UD while in guest mode (bsc#1077761). - commit 9b6aa90- x86: kvm: propagate register_shrinker return code (bsc#1077761). - commit 39dc997- KVM: PPC: Book3S PR: Fix WIMG handling under pHyp (bsc#1077761). - commit d5a5c70- KVM MMU: check pending exception before injecting APF (bsc#1077761). - commit dbd1b43- KVM: s390: prevent buffer overrun on memory hotplug during migration (bsc#1077761). - commit ce5730c- KVM: s390: fix cmma migration for multiple memory slots (bsc#1077761). - commit 7f0eaab- kvm: vmx: Scrub hardware GPRs at VM-exit (bsc#1077761). - commit 3ae582d- kvm: x86: fix RSM when PCID is non-zero (bsc#1077761). - commit b9c326f- KVM: arm/arm64: Fix timer enable flow (bsc#1077761). - commit e5afd2e- KVM: arm/arm64: Properly handle arch-timer IRQs after vtimer_save_state (bsc#1077761). - commit c3b0312- KVM: arm/arm64: timer: Don't set irq as forwarded if no usable GIC (bsc#1077761). - commit f3c1476- KVM: arm/arm64: Fix HYP unmapping going off limits (bsc#1077761). - commit d158077- arm64: kvm: Prevent restoring stale PMSCR_EL1 for vcpu (bsc#1077761). - commit 4363ba1- KVM/x86: Check input paging mode when cs.l is set (bsc#1077761). - commit ccf0181- kvm: x86: fix WARN due to uninitialized guest FPU state (bsc#1077761). - commit 35f63bf- KVM: X86: Fix load RFLAGS w/o the fixed bit (bsc#1077761). - commit 6700cda- KVM: MMU: Fix infinite loop when there is no available mmu page (bsc#1077761). - commit 13275e4- arm64: Add software workaround for Falkor erratum 1041 (bsc#1077761). - commit e4dbbd7- KVM: x86: fix APIC page invalidation (bsc#1077761). - commit 4c9f820- KVM: s390: Fix skey emulation permission check (bsc#1077761). - commit 2763160- KVM: s390: mark irq_state.flags as non-usable (bsc#1077761). - commit d864d9d- KVM: s390: Remove redundant license text (bsc#1077761). - commit ed05681- KVM: s390: add SPDX identifiers to the remaining files (bsc#1077761). - commit 592f87d- KVM: VMX: fix page leak in hardware_setup() (bsc#1077761). - commit a03952e- KVM: VMX: remove I/O port 0x80 bypass on Intel hosts (bsc#1077761). - commit 2c4af04- x86,kvm: remove KVM emulator get_fpu / put_fpu (bsc#1077761). - commit abbfb8e- x86,kvm: move qemu/guest FPU switching out to vcpu_run (bsc#1077761). - commit 473f3e5- KVM: arm/arm64: Fix broken GICH_ELRSR big endian conversion (bsc#1077761). - commit 36535a5- KVM: arm/arm64: kvm_arch_destroy_vm cleanups (bsc#1077761). - commit 3ac49a7- KVM: arm/arm64: Fix spinlock acquisition in vgic_set_owner (bsc#1077761). - commit 0be83be- kvm: arm: don't treat unavailable HYP mode as an error (bsc#1077761). - commit a44e98a- KVM: arm/arm64: Avoid attempting to load timer vgic state without a vgic (bsc#1077761). - commit d6f7f9c- kvm: arm64: handle single-step of hyp emulated mmio instructions (bsc#1077761). - commit 3b2c220- kvm: arm64: handle single-step during SError exceptions (bsc#1077761). - commit b1b7578- kvm: arm64: handle single-step of userspace mmio instructions (bsc#1077761). - commit fd1574f- kvm: arm64: handle single-stepping trapped instructions (bsc#1077761). - commit a578072- KVM: arm/arm64: debug: Introduce helper for single-step (bsc#1077761). - commit eedd8be- KVM: arm/arm64: vgic-v4: Only perform an unmap for valid vLPIs (bsc#1077761). - commit df09a13- KVM: arm/arm64: vgic-its: Check result of allocation before use (bsc#1077761). - commit 62a3243- KVM: arm/arm64: vgic-its: Preserve the revious read from the pending table (bsc#1077761). - commit 0f4fbdc- KVM: arm/arm64: vgic: Preserve the revious read from the pending table (bsc#1077761). - commit 4aa2aa4- KVM: arm/arm64: vgic-irqfd: Fix MSI entry allocation (bsc#1077761). - commit 901d4a5- KVM: arm/arm64: VGIC: extend !vgic_is_initialized guard (bsc#1077761). - commit 0b58110- KVM: arm/arm64: Don't enable/disable physical timer access on VHE (bsc#1077761). - commit 3a8bf70- KVM: Let KVM_SET_SIGNAL_MASK work as advertised (bsc#1077761). - commit c9e7305- KVM: VMX: Fix vmx->nested freeing when no SMI handler (bsc#1077761). - commit fc76735- KVM: VMX: Fix rflags cache during vCPU reset (bsc#1077761). - commit 0fa5b65- KVM: X86: Fix softlockup when get the current kvmclock (bsc#1077761). - commit ae72d3e- KVM: lapic: Fixup LDR on load in x2apic (bsc#1077761). - commit 6dfe4f7- KVM: lapic: Split out x2apic ldr calculation (bsc#1077761). - commit fbbbd35- KVM: x86: Fix CPUID function for word 6 (80000001_ECX) (bsc#1077761). - commit 77b9fea- KVM: nVMX: Fix vmx_check_nested_events() return value in case an event was reinjected to L2 (bsc#1077761). - commit 8723e44- KVM: x86: ioapic: Preserve read-only values in the redirection table (bsc#1077761). - commit 5afc781- KVM: x86: ioapic: Clear Remote IRR when entry is switched to edge-triggered (bsc#1077761). - commit 42ed301- KVM: x86: ioapic: Remove redundant check for Remote IRR in ioapic_set_irq (bsc#1077761). - commit e540bbf- KVM: x86: ioapic: Don't fire level irq when Remote IRR set (bsc#1077761). - commit 76995b3- KVM: x86: ioapic: Fix level-triggered EOI and IOAPIC reconfigure race (bsc#1077761). - commit 3f52b3a- KVM: x86: inject exceptions produced by x86_decode_insn (bsc#1077761). - commit 529f2d4- KVM: x86: Allow suppressing prints on RDMSR/WRMSR of unhandled MSRs (bsc#1077761). - commit de7dd6f- KVM: x86: fix em_fxstor() sleeping while in atomic (bsc#1077761). - commit 7dbd3d6- KVM: nVMX: Fix mmu context after VMLAUNCH/VMRESUME failure (bsc#1077761). - commit 0ae6cb9- KVM: nVMX: Validate the IA32_BNDCFGS on nested VM-entry (bsc#1077761). - commit 2fbfa04- KVM: X86: Fix operand/address-size during instruction decoding (bsc#1077761). - commit d6d9f45- KVM: x86: Don't re-execute instruction when not passing CR2 value (bsc#1077761). - commit e06fcac- KVM: x86: emulator: Return to user-mode on L1 CPL=0 emulation failure (bsc#1077761). - commit 25a36b8- KVM: x86: Exit to user-mode on #UD intercept when emulator requires (bsc#1077761). - commit 7d63739- KVM: nVMX/nSVM: Don't intercept #UD when running L2 (bsc#1077761). - commit 2d12ec9- KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk (bsc#1077761). - commit a009110- kvm: vmx: Allow disabling virtual NMI support (bsc#1077761). - Refresh patches.arch/18-x86-mm-kvm-teach-kvm-s-vmx-code-that-cr3-isn-t-a-constant.patch. - Refresh patches.arch/18.2-kvm-nvmx-fix-host_cr3-host_cr4-cache.patch. - commit e88d160- kvm: vmx: Reinstate support for CPUs without virtual NMI (bsc#1077761). - Refresh patches.arch/18-x86-mm-kvm-teach-kvm-s-vmx-code-that-cr3-isn-t-a-constant.patch. - Refresh patches.arch/18.2-kvm-nvmx-fix-host_cr3-host_cr4-cache.patch. - commit aab882b- KVM: SVM: obey guest PAT (bsc#1077761). - commit e2a37d5- KVM: arm/arm64: Don't queue VLPIs on INV/INVALL (bsc#1077761). - commit 06b20fe- KVM: arm/arm64: Fix GICv4 ITS initialization issues (bsc#1077761). - commit 3a973bd- KVM: arm/arm64: GICv4: Theory of operations (bsc#1077761). - commit 6853074- KVM: arm/arm64: GICv4: Enable VLPI support (bsc#1077761). - commit b1aeb7c- KVM: arm/arm64: GICv4: Prevent userspace from changing doorbell affinity (bsc#1077761). - commit ff6fe51- KVM: arm/arm64: GICv4: Prevent a VM using GICv4 from being saved (bsc#1077761). - commit 72575b0- KVM: arm/arm64: GICv4: Enable virtual cpuif if VLPIs can be delivered (bsc#1077761). - commit 36a8d5b- KVM: arm/arm64: GICv4: Hook vPE scheduling into vgic flush/sync (bsc#1077761). - commit aef44e6- KVM: arm/arm64: GICv4: Use the doorbell interrupt as an unblocking source (bsc#1077761). - commit 2e2478b- KVM: arm/arm64: GICv4: Add doorbell interrupt handling (bsc#1077761). - commit 4a7ec1c- KVM: arm/arm64: GICv4: Use pending_last as a scheduling hint (bsc#1077761). - commit ea6aa7c- KVM: arm/arm64: GICv4: Handle INVALL applied to a vPE (bsc#1077761). - commit 81503da- KVM: arm/arm64: GICv4: Propagate property updates to VLPIs (bsc#1077761). - commit e61dccd- KVM: arm/arm64: GICv4: Handle MOVALL applied to a vPE (bsc#1077761). - commit 87310a5- KVM: arm/arm64: GICv4: Handle CLEAR applied to a VLPI (bsc#1077761). - commit 4d71627- KVM: arm/arm64: GICv4: Propagate affinity changes to the physical ITS (bsc#1077761). - commit bed266d- KVM: arm/arm64: GICv4: Unmap VLPI when freeing an LPI (bsc#1077761). - commit 54f9ab4- KVM: arm/arm64: GICv4: Handle INT command applied to a VLPI (bsc#1077761). - commit dd48bea- KVM: arm/arm64: GICv4: Wire mapping/unmapping of VLPIs in VFIO irq bypass (bsc#1077761). - commit 0df7b76- KVM: arm/arm64: GICv4: Add init/teardown of the per-VM vPE irq domain (bsc#1077761). - commit f3fa7a9- KVM: arm/arm64: GICv4: Add property field and per-VM predicate (bsc#1077761). - commit b3cf419- KVM: arm/arm64: vITS: Add a helper to update the affinity of an LPI (bsc#1077761). - commit 67e2fb3- KVM: arm/arm64: vITS: Add MSI translation helpers (bsc#1077761). - commit 2cfbfd2- KVM: arm/arm64: vgic: Move kvm_vgic_destroy call around (bsc#1077761). - commit c72e631- KVM: arm: Select ARM_GIC_V3 and ARM_GIC_V3_ITS (bsc#1077761). - commit 60f0eba- KVM: arm/arm64: vgic: restructure kvm_vgic_(un)map_phys_irq (bsc#1077761). - commit 17738e1- KVM: arm/arm64: register irq bypass consumer on ARM/ARM64 (bsc#1077761). - commit eef5148- KVM: s390: provide a capability for AIS state migration (bsc#1077761). - commit a45393d- KVM: s390: clear_io_irq() requests are not expected for adapter interrupts (bsc#1077761). - commit c161531- KVM: s390: abstract conversion between isc and enum irq_types (bsc#1077761). - commit 51df92d- KVM: s390: vsie: use common code functions for pinning (bsc#1077761). - commit 307cbae- KVM: s390: document memory ordering for kvm_s390_vcpu_wakeup (bsc#1077761). - commit ebccffe- KVM: PPC: Book3S HV: Cosmetic post-merge cleanups (bsc#1077761). - commit 59839b5- KVM: arm/arm64: Unify 32bit fault injection (bsc#1077761). - commit 37ff111- KVM: arm/arm64: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET (bsc#1077761). - commit 24e7c77- KVM: arm/arm64: vgic-its: Free caches when GITS_BASER Valid bit is cleared (bsc#1077761). - commit 00d0a4f- KVM: arm/arm64: vgic-its: New helper functions to free the caches (bsc#1077761). - commit ef1d37c- KVM: arm/arm64: vgic-its: Remove kvm_its_unmap_device (bsc#1077761). - commit 5660535- arm/arm64: KVM: Load the timer state when enabling the timer (bsc#1077761). - commit fee14c5- KVM: arm/arm64: Rework kvm_timer_should_fire (bsc#1077761). - commit 3f72f82- KVM: arm/arm64: Get rid of kvm_timer_flush_hwstate (bsc#1077761). - commit 979f853- KVM: arm/arm64: Avoid phys timer emulation in vcpu entry/exit (bsc#1077761). - commit 02b2fcf- KVM: arm/arm64: Move phys_timer_emulate function (bsc#1077761). - commit f3f29b2- KVM: arm/arm64: Use kvm_arm_timer_set/get_reg for guest register traps (bsc#1077761). - commit 8796db5- KVM: arm/arm64: Support EL1 phys timer register access in set/get reg (bsc#1077761). - commit 254a94f- KVM: arm/arm64: Avoid timer save/restore in vcpu entry/exit (bsc#1077761). - commit 73ba9e1- KVM: arm/arm64: Set VCPU affinity for virt timer irq (bsc#1077761). - commit 9327afa- KVM: arm/arm64: Move timer save/restore out of the hyp code (bsc#1077761). - commit 61110ab- KVM: arm/arm64: Use separate timer for phys timer emulation (bsc#1077761). - commit f6a35de- KVM: arm/arm64: Move timer/vgic flush/sync under disabled irq (bsc#1077761). - commit dc41fde- KVM: arm/arm64: Rename soft timer to bg_timer (bsc#1077761). - commit 9264d9d- KVM: arm/arm64: Make timer_arm and timer_disarm helpers more generic (bsc#1077761). - commit 2b2c5a2- KVM: arm/arm64: Support calling vgic_update_irq_pending from irq context (bsc#1077761). - commit 18a1bd2- KVM: arm/arm64: Guard kvm_vgic_map_is_active against !vgic_initialized (bsc#1077761). - commit ba7e655- KVM: PPC: Book3S HV: Run HPT guests on POWER9 radix hosts (bsc#1077761). - commit 13d7989- KVM: PPC: Book3S HV: Allow for running POWER9 host in single-threaded mode (bsc#1077761). - commit 04bf875- KVM: PPC: Book3S: Fix gas warning due to using r0 as immediate 0 (bsc#1077761). - commit 375f419- KVM: PPC: Book3S PR: Only install valid SLBs during KVM_SET_SREGS (bsc#1077761). - commit 767b8b7- KVM: PPC: Book3S PR: Enable in-kernel TCE handlers for PR KVM (bsc#1077761). - commit 60c4ea7- KVM: PPC: Book3S HV: Delete an error message for a failed memory allocation in kvmppc_allocate_hpt() (bsc#1077761). - commit 8ad1a63- KVM: PPC: BookE: Use vma_pages function (bsc#1077761). - commit d6571ba- KVM: PPC: Book3S HV: Use ARRAY_SIZE macro (bsc#1077761). - commit 5cbbfdd- KVM: PPC: Book3S HV: Handle unexpected interrupts better (bsc#1077761). - commit 636eaa8- KVM: X86: #GP when guest attempts to write MCi_STATUS register w/o 0 (bsc#1077761). - commit 7d66248- KVM: VMX: Fix VPID capability detection (bsc#1077761). - commit d2fac0a- KVM: nVMX: Fix EPT switching advertising (bsc#1077761). - commit f7d3e41- KVM: SVM: detect opening of SMI window using STGI intercept (bsc#1077761). - commit b1d58d1- KVM: x86: extend usage of RET_MMIO_PF_* constants (bsc#1077761). - commit f9e03bb- KVM: nSVM: fix SMI injection in guest mode (bsc#1077761). - commit 906e480- KVM: nSVM: refactor nested_svm_vmrun (bsc#1077761). - commit f20f8d1- KVM: nVMX: fix SMI injection in guest mode (bsc#1077761). - commit 864bea5- KVM: nVMX: set IDTR and GDTR limits when loading L1 host state (bsc#1077761). - commit 9755543- KVM: x86: introduce ISA specific smi_allowed callback (bsc#1077761). - commit d5dea7a- KVM: x86: introduce ISA specific SMM entry/exit callbacks (bsc#1077761). - commit 504d250- KVM: SVM: limit kvm_handle_page_fault to #PF handling (bsc#1077761). - commit 078dc47- KVM: SVM: unconditionally wake up VCPU on IOMMU interrupt (bsc#1077761). - commit af2e0bd- arch/x86: remove redundant null checks before kmem_cache_destroy (bsc#1077761). - commit 790a8df- KVM: VMX: Don't expose unrestricted_guest is enabled if ept is disabled (bsc#1077761). - commit 7b71997- KVM: X86: Processor States following Reset or INIT (bsc#1077761). - commit 6a51165- KVM: x86: thoroughly disarm LAPIC timer around TSC deadline switch (bsc#1077761). - commit eca3693- KVM: x86: really disarm lapic timer when clearing TMICT (bsc#1077761). - commit 9623514- KVM: x86: handle 0 write to TSC_DEADLINE MSR (bsc#1077761). - commit 0be4ae2- kvm, mm: account kvm related kmem slabs to kmemcg (bsc#1077761). - commit a513a0a- KVM: VMX: rename RDSEED and RDRAND vmx ctrls to reflect exiting (bsc#1077761). - commit 8efad65- KVM: x86: allow setting identity map addr with no vcpus only (bsc#1077761). - commit 87d5593- KVM: VMX: cleanup init_rmode_identity_map() (bsc#1077761). - commit 4829c2a- KVM: nVMX: no need to set ept/vpid caps to 0 (bsc#1077761). - commit 5bfbc6a- KVM: nVMX: no need to set vcpu->cpu when switching vmcs (bsc#1077761). - commit 32ffbc8- KVM: VMX: drop unnecessary function declarations (bsc#1077761). - commit 724a966- KVM: VMX: require INVEPT GLOBAL for EPT (bsc#1077761). - commit a44c9d8- KVM: VMX: call ept_sync_global() with enable_ept only (bsc#1077761). - commit 7c47e21- KVM: VMX: drop enable_ept check from ept_sync_context() (bsc#1077761). - commit fbddd95- KVM: x86: no need to inititalize vcpu members to 0 (bsc#1077761). - commit 9d148ad- KVM: VMX: vmx_vcpu_setup() cannot fail (bsc#1077761). - commit a5cab9a- KVM: x86: drop BUG_ON(vcpu->kvm) (bsc#1077761). - commit 6eb942e- KVM: x86: mmu: free_page can handle NULL (bsc#1077761). - commit 3f89823- KVM: x86: mmu: returning void in a void function is strange (bsc#1077761). - commit 6efd205- KVM: LAPIC: Apply change to TDCR right away to the timer (bsc#1077761). - commit 666609a- KVM: LAPIC: Keep timer running when switching between one-shot and periodic mode (bsc#1077761). - commit 55c6d5a- KVM: LAPIC: Introduce limit_periodic_timer_frequency (bsc#1077761). - commit 7c581b3- KVM: LAPIC: Fix lapic timer mode transition (bsc#1077761). - commit b52714f- KVM: VMX: Don't expose PLE enable if there is no hardware support (bsc#1077761). - commit 6186087- KVM: PPC: Book3S HV: Handle host system reset in guest mode (bsc#1077761). - commit 1118068- Revert "KVM: PPC: Book3S HV: POWER9 does not require secondary thread management" (bsc#1077761). - commit a334af4- arm64/sve: KVM: Hide SVE from CPU features exposed to guests (bsc#1077761). - commit de772e4- arm64/sve: KVM: Treat guest SVE use as undefined instruction execution (bsc#1077761). - commit 5fb9a5a- arm64: KVM: Hide unsupported AArch64 CPU features from guests (bsc#1077761). - commit 8bbe83e- arm64: sysreg: Move SPE registers and PSB into common header files (bsc#1077761). - commit c7d961a- irqchip/gic-v3-its: Add post-mortem info on command timeout (bsc#1077761). - commit b376906- irqchip/gic-v3: Add workaround for Synquacer pre-ITS (bsc#1077761). - commit 1ff37f4- irqchip/gic: Make quirks matching conditional on init return value (bsc#1077761). - commit 9f48672- irqchip/gic-v3: Probe device ID space before quirks handling (bsc#1077761). - commit 61afdc5- Refresh patches.suse/sched-fair-Do-not-migrate-if-the-prev_cpu-is-idle.patch. - Refresh patches.suse/sched-fair-Remove-unnecessary-parameters-from-wake_affine_idle.patch. - Refresh patches.suse/sched-fair-Restructure-wake_affine-to-return-a-CPU-id.patch. - Refresh patches.suse/sched-fair-Use-a-recently-used-CPU-as-an-idle-candidate-and-the-basis-for-SIS.patch. - commit 6bb11d2- apparmor: fix possible recursive lock warning in __aa_create_ns (bsc#1079834). - apparmor: fix ptrace label match when matching stacked labels (bsc#1079851). - apparmor: fix regression in mount mediation when feature set is pinned (bsc#1079828). - Update patches.apparmor/apparmor-fix-oops-in-audit_signal_cb-hook.patch (bsc#1070227). - commit d71c37d- IB/hfi1: Remove blind constants from 16B update (bsc#1060463 FATE#323043). - IB/hfi1: Remove dependence on qp->s_hdrwords (bsc#1060463 FATE#323043). - IB/hfi1: Add RQ/SRQ information to QP stats (bsc#1060463 FATE#323043). - commit 5e5aecf- RDMA/cma: Check existence of netdevice during port validation (bsc#1046306 FATE#322942). - RDMA/cma: Introduce API to read GIDs for multiple transports (bsc#1046306 FATE#322942). - RDMA/cma: Fix rdma_cm path querying for RoCE (bsc#1046306 FATE#322942). - RDMA/cma: Fix rdma_cm raw IB path setting for RoCE (bsc#1046306 FATE#322942). - RDMA/{cma, ucma}: Simplify and rename rdma_set_ib_paths (bsc#1046306 FATE#322942). - RDMA/cma: Provide a function to set RoCE path record L2 parameters (bsc#1046306 FATE#322942). - RDMA/cma: Use the right net namespace for the rdma_cm_id (bsc#1046306 FATE#322942). - RDMA/cma: Introduce and use helper functions to init work (bsc#1046306 FATE#322942). - RDMA/cma: Avoid setting path record type twice (bsc#1046306 FATE#322942). - RDMA/cma: Simplify netdev check (bsc#1046306 FATE#322942). - RDMA/cma: Set default GID type as RoCE when resolving RoCE route (bsc#1046306 FATE#322942). - commit 82aa918- s390/ctl_reg: move control register definitions to ctl_reg.h (bsc#1077761). - commit 0ecc113- s390/runtime_instrumentation: clean up struct runtime_instr_cb (bsc#1077761). - commit 51c2ad5- KVM: arm/arm64: vgic-its: Check GITS_BASER Valid bit before saving tables (bsc#1077761). - commit c657664- KVM: arm/arm64: vgic-its: Check CBASER/BASER validity before enabling the ITS (bsc#1077761). - commit 3e240a3- KVM: arm/arm64: vgic-its: Fix vgic_its_restore_collection_table returned value (bsc#1077761). - commit f6dcef1- KVM: arm/arm64: vgic-its: Fix return value for device table restore (bsc#1077761). - commit e5ec1bc- arm/arm64: kvm: Disable branch profiling in HYP code (bsc#1077761). - commit bea11c5- arm/arm64: kvm: Move initialization completion message (bsc#1077761). - commit 32dee34- arm/arm64: KVM: set right LR register value for 32 bit guest when inject abort (bsc#1077761). - commit 1f9a389- KVM: arm64: its: Fix missing dynamic allocation check in scan_its_table (bsc#1077761). - commit b1a2351- rpm/kernel-binary.spec.in: install ksym-provides tool (bsc#1077692). - commit 679f5c5- KVM: x86: Update APICv on APIC reset (bsc#1077761). - commit 81a4412- KVM: VMX: Do not fully reset PI descriptor on vCPU reset (bsc#1077761). - commit 780175d- KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit (bsc#1077761). - commit 6272cb9- KVM: MMU: always terminate page walks at level 1 (bsc#1077761). - commit 012351b- KVM: nVMX: update last_nonleaf_level when initializing nested EPT (bsc#1077761). - commit fba7c5e- KVM: add X86_LOCAL_APIC dependency (bsc#1077761). - commit b0c57c5- kvm/x86: Avoid async PF preempting the kernel incorrectly (bsc#1077761). - commit 33e3762- kvm/x86: Handle async PF in RCU read-side critical sections (bsc#1077761). - commit d538f32- KVM: nVMX: Fix nested #PF intends to break L1's vmlauch/vmresume (bsc#1077761). - commit e5c273a- KVM: VMX: use cmpxchg64 (bsc#1077761). - commit ccea3eb- KVM: VMX: simplify and fix vmx_vcpu_pi_load (bsc#1077761). - commit 9131f7c- KVM: VMX: avoid double list add with VT-d posted interrupts (bsc#1077761). - commit efab819- KVM: VMX: extract __pi_post_block (bsc#1077761). - commit 6de20b1- KVM: PPC: Book3S HV: Check for updated HDSISR on P9 HDSI exception (bsc#1077761). - commit 1bf0fea- KVM: x86: Fix the NULL pointer parameter in check_cr_write() (bsc#1077761). - commit ac5bf85- Revert "KVM: Don't accept obviously wrong gsi values via KVM_IRQFD" (bsc#1077761). - commit 7ff728f- kvm: nVMX: Handle deferred early VMLAUNCH/VMRESUME failure properly (bsc#1077761). - commit 3210b1f- kvm: vmx: Handle VMLAUNCH/VMRESUME failure properly (bsc#1077761). - commit 23509b2- kvm: nVMX: Remove nested_vmx_succeed after successful VM-entry (bsc#1077761). - commit 8fb1583- KVM: Don't accept obviously wrong gsi values via KVM_IRQFD (bsc#1077761). - commit 9441090- rpm/kernel-binary.spec.in: require bison for build. linux-next tends to have outdated generated files so it needs bison to regenerate them. - commit 4ad1ede- KVM: trace events: update list of exit reasons (bsc#1077761). - commit ebca120- KVM: X86: Don't block vCPU if there is pending exception (bsc#1077761). - commit c6a59bd- KVM: x86: fix clang build (bsc#1077761). - commit bde54e4- KVM: fix rcu warning on VM_CREATE errors (bsc#1077761). - commit 8b38d86- KVM: x86: Fix handling of pending signal on uninitialized AP (bsc#1077761). - commit f17cb3c- KVM: PPC: Book3S HV: Protect updates to spapr_tce_tables list (bsc#1077761). - commit 4fb91d2- KVM: PPC: Book3S HV: Fix invalid use of register expression (bsc#1077761). - commit 3d56d7a- KVM: PPC: Book3S HV: Fix H_REGISTER_VPA VPA size validation (bsc#1077761). - commit dd5bcf7- KVM: PPC: Book3S HV: Fix setting of storage key in H_ENTER (bsc#1077761). - commit 41b5422- KVM: PPC: e500mc: Fix a NULL dereference (bsc#1077761). - commit ece8d3c- KVM: PPC: e500: Fix some NULL dereferences on error (bsc#1077761). - commit b7887fb- KVM: arm/arm64: Support uaccess of GICC_APRn (bsc#1077761). - commit 9a096e3- KVM: arm/arm64: Extract GICv3 max APRn index calculation (bsc#1077761). - commit ebeb5d5- KVM: arm/arm64: vITS: Drop its_ite->lpi field (bsc#1077761). - commit 5cf62bb- KVM: arm/arm64: vgic: constify seq_operations and file_operations (bsc#1077761). - commit dafbaeb- KVM: arm/arm64: Fix guest external abort matching (bsc#1077761). - commit 403db45- KVM: s390: vsie: cleanup mcck reinjection (bsc#1077761). - commit a25bb09- KVM: s390: use WARN_ON_ONCE only for checking (bsc#1077761). - commit 10b882b- KVM: s390: guestdbg: fix range check (bsc#1077761). - commit e525cc4- KVM: s390: we are always in czam mode (bsc#1077761). - commit 2e46f1e- Add ksym-provides tool (bsc#1077692). - commit ee8ebe0- KVM: s390: sthyi: remove invalid guest write access (bsc#1077761). - patches.arch/s390-sles15-00-10-01-kernel-sthyi-reorganize-sthyi-implementation.patch: (FATE#324258, LTC#160415, bsc#1068273). - commit 0a9d7cd- mlx5: fix mlx5_get_vector_affinity to start from completion vector 0 (bsc#1046303 FATE#322944). - IB/core: Avoid a potential OOPs for an unused optional parameter (bsc#1046306 FATE#322942). - IB/core: Map iWarp AH type to undefined in rdma_ah_find_type (bsc#1046306 FATE#322942). - IB/hfi1: Fix for potential refcount leak in hfi1_open_file() (bsc#1060463 FATE#323043). - RDMA/bnxt_re: Fix an error code in bnxt_qplib_create_srq() (bsc#1050244 FATE#322915). - net_sched: gen_estimator: fix lockdep splat (bsc#1056787). - i40e: fix reported mask for ntuple filters (bsc#1056658 FATE#322188). - igb: Free IRQs when device is hotplugged (bsc#1056651 FATE#322191). - net/mlx5: Separate ingress/egress namespaces for each vport (bsc#1046303 FATE#322944). - net/mlx5: Fix ingress/egress naming mistake (bsc#1046303 FATE#322944). - net/mlx5e: E-Switch, Use the name of static array instead of its address (bsc#1046303 FATE#322944). - net/mlx4_en: Change default QoS settings (bsc#1046299 FATE#322947). - net/mlx4_core: Cleanup FMR unmapping flow (bsc#1046300 FATE#322946). - RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure (bsc#1046305 FATE#322943). - IB/umad: Fix use of unprotected device pointer (bsc#1046306 FATE#322942). - i40iw: Free IEQ resources (bsc#1058659 FATE#322535). - i40iw: Remove limit on re-posting AEQ entries to HW (bsc#1058659 FATE#322535). - RDMA/core: Clarify rdma_ah_find_type (bsc#1046306 FATE#322942). - IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports (bsc#1046302 FATE#322945). - IB/srpt: Remove an unused structure member (bsc#1046306 FATE#322942). - IB/core: Fix two kernel warnings triggered by rxe registration (bsc#1046306 FATE#322942). - i40iw: Fix the connection ORD value for loopback (bsc#1058659 FATE#322535). - i40iw: Validate correct IRD/ORD connection parameters (bsc#1058659 FATE#322535). - i40iw: Fix sequence number for the first partial FPDU (bsc#1058659 FATE#322535). - i40iw: Selectively teardown QPs on IP addr change event (bsc#1058659 FATE#322535). - i40iw: Correct Q1/XF object count equation (bsc#1058659 FATE#322535). - IB/SA: Check dlid before SA agent queries for ClassPortInfo (bsc#1046306 FATE#322942). - IB/umem: Fix use of npages/nmap fields (bsc#1046306 FATE#322942). - RDMA/cma: Use correct size when writing netlink stats (bsc#1046306 FATE#322942). - RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo() (bsc#1046306 FATE#322942). - IB/mlx5: revisit -Wmaybe-uninitialized warning (bsc#1046305 FATE#322943). - commit 5f2318b- KVM: s390: Multiple Epoch Facility support (bsc#1077761). - patches.arch/s390-sles15-00-10-01-kernel-sthyi-reorganize-sthyi-implementation.patch: (FATE#324258, LTC#160415, bsc#1068273). - commit 69d2bea- kvm: nVMX: Validate the virtual-APIC address on nested VM-entry (bsc#1077761). - commit 02cdfc0- KVM: nVMX: Fix trying to cancel vmlauch/vmresume (bsc#1077761). - commit d7cc599- KVM: X86: Fix loss of exception which has not yet been injected (bsc#1077761). - commit 0c65010- KVM: VMX: use kvm_event_needs_reinjection (bsc#1077761). - commit c9110ef- KVM: MMU: speedup update_permission_bitmask (bsc#1077761). - commit 6c779fb- KVM: MMU: Expose the LA57 feature to VM (bsc#1077761). - commit 6626022- KVM: MMU: Add 5 level EPT & Shadow page table support (bsc#1077761). - commit 02cce94- KVM: MMU: Rename PT64_ROOT_LEVEL to PT64_ROOT_4LEVEL (bsc#1077761). - commit 5957c99- KVM: MMU: check guest CR3 reserved bits based on its physical address width (bsc#1077761). - commit 74530a7- KVM: x86: Add return value to kvm_cpuid() (bsc#1077761). - commit 2260172- kvm: vmx: Raise #UD on unsupported XSAVES/XRSTORS (bsc#1077761). - commit 1ca81c7- kvm: vmx: Raise #UD on unsupported RDSEED (bsc#1077761). - commit 416b7c0- kvm: vmx: Raise #UD on unsupported RDRAND (bsc#1077761). - commit d990f93- KVM: VMX: cache secondary exec controls (bsc#1077761). - commit aee234d- KVM: VMX: always require WB memory type for EPT (bsc#1077761). - commit 004c65c- KVM: VMX: cleanup EPTP definitions (bsc#1077761). - commit a0416af- KVM: x86: fix use of L1 MMIO areas in nested guests (bsc#1077761). - commit 5c78d98- KVM: x86: Avoid guest page table walk when gpa_available is set (bsc#1077761). - commit 9101925- KVM: x86: simplify ept_misconfig (bsc#1077761). - commit c81e473- kvm: avoid uninitialized-variable warnings (bsc#1077761). - commit 138f617- kvm: x86: Disallow illegal IA32_APIC_BASE MSR values (bsc#1077761). - commit 41bb0d9- KVM: MMU: Bail out immediately if there is no available mmu page (bsc#1077761). - commit a95ac0e- KVM: MMU: Fix softlockup due to mmu_lock is held too long (bsc#1077761). - commit 2e9e45e- KVM: nVMX: validate eptp pointer (bsc#1077761). - commit b202868- kvm: nVMX: Add support for fast unprotection of nested guest page tables (bsc#1077761). - commit dbe7eff- KVM: X86: Fix residual mmio emulation request to userspace (bsc#1077761). - commit ba3cd5b- KVM: arm: implements the kvm_arch_vcpu_in_kernel() (bsc#1077761). - commit bc61a6f- KVM: s390: implements the kvm_arch_vcpu_in_kernel() (bsc#1077761). - commit ccf0426- KVM: X86: implement the logic for spinlock optimization (bsc#1077761). - commit cd89a32- KVM: add spinlock optimization framework (bsc#1077761). - commit 9be0d73- KVM: x86: use general helpers for some cpuid manipulation (bsc#1077761). - commit 7c96559- KVM: x86: generalize guest_cpuid_has_ helpers (bsc#1077761). - commit 6253831- KVM: x86: X86_FEATURE_NRIPS is not scattered anymore (bsc#1077761). - commit 8fc76c4- KVM: nVMX: Emulate EPTP switching for the L1 hypervisor (bsc#1077761). - commit 41af192- KVM: nVMX: Enable VMFUNC for the L1 hypervisor (bsc#1077761). - commit 03e08c3- KVM: vmx: Enable VMFUNCs (bsc#1077761). - commit febad7f- KVM: nVMX: get rid of nested_release_page* (bsc#1077761). - commit 8dfa692- KVM: nVMX: get rid of nested_get_page() (bsc#1077761). - commit 18480de- KVM: nVMX: INVPCID support (bsc#1077761). - commit c42b719- KVM: hyperv: support HV_X64_MSR_TSC_FREQUENCY and HV_X64_MSR_APIC_FREQUENCY (bsc#1077761). - commit 3211c0a- KVM: PPC: Book3S HV: POWER9 does not require secondary thread management (bsc#1077761). - commit c66a49a- powerpc/mm: Update definitions of DSISR bits (bsc#1077761). - commit 67bca61- arm64: Remove the !CONFIG_ARM64_HW_AFDBM alternative code paths (bsc#1077761). - commit 6e5f833- kvm/x86: Avoid clearing the C-bit in rsvd_bits() (bsc#1077761). - commit 420d917- KVM: update to new mmu_notifier semantic v2 (bsc#1077761). - commit 20cbd84- KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce() (bsc#1077761). - commit 7e876d5- KVM: arm/arm64: vgic: Use READ_ONCE fo cmpxchg (bsc#1077761). - commit 0963889- KVM: arm/arm64: PMU: Fix overflow interrupt injection (bsc#1077761). - commit 0e13c71- KVM: arm/arm64: Fix bug in advertising KVM_CAP_MSI_DEVID capability (bsc#1077761). - commit f588e1d- KVM: nVMX: Fix interrupt window request with "Acknowledge interrupt on exit" (bsc#1077761). - commit 96a9aa1- KVM: nVMX: mark vmcs12 pages dirty on L2 exit (bsc#1077761). - commit d690017- kvm: nVMX: don't flush VMCS12 during VMXOFF or VCPU teardown (bsc#1077761). - commit 7f92ce5- KVM: nVMX: do not pin the VMCS12 (bsc#1077761). - commit 9c1a723- KVM: avoid using rcu_dereference_protected (bsc#1077761). - commit d8f2f42- KVM: X86: init irq->level in kvm_pv_kick_cpu_op (bsc#1077761). - commit daa60bc- KVM: X86: Fix loss of pending INIT due to race (bsc#1077761). - commit 0c6ceeb- KVM: nVMX: fixes to nested virt interrupt injection (bsc#1077761). - commit a1131d2- KVM: nVMX: do not fill vm_exit_intr_error_code in prepare_vmcs12 (bsc#1077761). - commit 483e7f3- KVM: LAPIC: Fix reentrancy issues with preempt notifiers (bsc#1077761). - commit 1f7a6ad- KVM: s390: take srcu lock when getting/setting storage keys (bsc#1077761). - commit 4f1fa14- KVM: nVMX: Fix loss of L2's NMI blocking state (bsc#1077761). - commit b30d4e0- KVM: nVMX: Fix posted intr delivery when vcpu is in guest mode (bsc#1077761). - Refresh patches.arch/0002-kvm-vmx-remove-warn_on_once-in-kvm_vcpu_trigger_posted_interrupt. - commit 1d74271- x86: irq: Define a global vector for nested posted interrupts (bsc#1077761). - commit 1a7d98c- KVM: x86: do mask out upper bits of PAE CR3 (bsc#1077761). - commit 2851b3a- KVM: VMX: remove unused field (bsc#1077761). - commit c2fa409- kvm: x86: hyperv: avoid livelock in oneshot SynIC timers (bsc#1077761). - commit e399bf8- KVM: VMX: Fix invalid guest state detection after task-switch emulation (bsc#1077761). - commit 2f44a61- x86: add MULTIUSER dependency for KVM (bsc#1077761). - commit 12a5533- KVM: nVMX: Disallow VM-entry in MOV-SS shadow (bsc#1077761). - commit 77d8ab1- KVM: nVMX: track NMI blocking state separately for each VMCS (bsc#1077761). - Refresh patches.arch/18.2-kvm-nvmx-fix-host_cr3-host_cr4-cache.patch. - commit 080adef- KVM: x86: masking out upper bits (bsc#1077761). - commit 78f98d2- kvm: x86: hyperv: make VP_INDEX managed by userspace (bsc#1077761). - commit b7577ef- KVM: async_pf: Let guest support delivery of async_pf from guest mode (bsc#1077761). - Refresh patches.arch/0003-kvm-async_pf-fix-df-due-to-inject-page-not-present-and-page-ready-exceptions-simultaneously. - commit 421024f- KVM: async_pf: Force a nested vmexit if the injected #PF is async_pf (bsc#1077761). Refresh patches.arch/0003-kvm-async_pf-fix-df-due-to-inject-page-not-present-and-page-ready-exceptions-simultaneously. - commit 0c8c65c- KVM: async_pf: Add L1 guest async_pf #PF vmexit handler (bsc#1077761). - commit 05fcb6b- KVM: x86: Simplify kvm_x86_ops->queue_exception parameter list (bsc#1077761). - commit b0fb424- kvm: x86: hyperv: add KVM_CAP_HYPERV_SYNIC2 (bsc#1077761). - commit 56fe2cc- KVM: x86: make backwards_tsc_observed a per-VM variable (bsc#1077761). - commit c612bf5- KVM: SVM: handle singlestep exception when skipping emulated instructions (bsc#1077761). - Refresh patches.arch/0007-kvm-svm-enable-virtual-gif-feature. - Refresh patches.arch/kvm-svm-delete-avic_vm_id_bitmap-2-megabyte-static-array. - commit 77f3e25- blacklist acb1feab320e powerpc/64: Don't trace irqs-off at interrupt return to soft-disabled context - commit ef64ee1- Refresh patches.suse/0002-futex-futex_wake_op-fix-sign_extend32-sign-bits.patch. Update upstream status. - commit a44be7b- x86/dumpstack: Avoid uninitlized variable (git-fixes). - commit 7668118- net/mlx5e: IPoIB, Use correct timestamp in child receive flow (bsc#1075020). - net/mlx5: Update ptp_clock_event foreach PPS event (bsc#1075020). - IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush (bsc#1075020). - commit 6acdbe8- net/mlx5e: IPoIB, Modify rdma netdev allocate and free to support PKEY (bsc#1075020). - net/mlx5e: IPoIB, Add PKEY child interface ethtool ops (bsc#1075020). - net/mlx5e: IPoIB, Add PKEY child interface ndos (bsc#1075020). - net/mlx5e: IPoIB, Add PKEY child interface nic profile (bsc#1075020). - net/mlx5e: IPoIB, Use hash-table to map between QPN to child netdev (bsc#1075020). - net/mlx5e: IPoIB, Support for setting PKEY index to underlay QP (bsc#1075020). - IB/ipoib: Add ability to set PKEY index to lower device driver (bsc#1075020). - IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop (bsc#1075020). - net/mlx5: Support for attaching multiple underlay QPs to root flow table (bsc#1075020). - net/mlx5e: IPoIB, Move underlay QP init/uninit to separate functions (bsc#1075020). - net/mlx5: PTP code migration to driver core section (bsc#1075020). Refresh patches.drivers/Revert-mlx5-move-affinity-hints-assignments-to-gener.patch. - net/mlx5: File renaming towards ptp core implementation (bsc#1075020). - commit e473354- Move KVM patches to sorted section Refresh patches.arch/0001-kvm-nVMX-Don-t-allow-L2-to-access-the-hardware-CR8.patch. - commit 5d643b3- s390/zcrypt: externalize AP queue interrupt control (FATE#324118, LTC#158322). - s390/zcrypt: externalize AP config info query (FATE#324118, LTC#158322). - s390/zcrypt: externalize test AP queue (FATE#324118, LTC#158322). - commit 0c2b243- rfi-flush: Switch to new linear fallback flush (bsc#1068032). Refresh patches.arch/powerpc-xmon-Add-RFI-flush-related-fields-to-paca-du.patch. - commit 0b9f66c- powerpc/radix: Remove trace_tlbie call from radix__flush_tlb_all (bsc#1055117, fate#323286, git-fixes). - commit e6674e9- iw_cxgb4: Change error/warn prints to pr_debug (bsc#1079355). - iser-target: avoid reinitializing rdma contexts for isert commands (bsc#1079355). - iw_cxgb4: Only validate the MSN for successful completions (bsc#1079355). - commit f364c92- cxgb4: add geneve offload support for T6 (bsc#1074220). - cxgb4: implement ndo_features_check (bsc#1074220). - cxgb4: add support for vxlan segmentation offload (bsc#1074220). - cxgb4: implement udp tunnel callbacks (bsc#1074220). - cxgb4: add data structures to support vxlan (bsc#1074220). - IB/qib: Fix comparison error with qperf compare/swap test (bsc#1027067 FATE#322649). - commit a50f30f- cpufreq: intel_pstate: Add Skylake servers support (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: intel_pstate: Replace bxt_funcs with core_funcs (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - commit 5047ebd- Refresh patches.suse/mm-numa-do-not-trap-faults-on-shared-data-section-pages.patch. - commit 8c37e01- ibmvnic: fix empty firmware version and errors cleanup (bsc#1079038). - commit 0b2f959- Refresh sorted section. - Refresh patches.drivers/ibmvnic-Wait-for-device-response-when-changing-MAC.patch. - Refresh patches.drivers/ibmvnic-fix-firmware-version-when-no-firmware-level-.patch. - Refresh patches.drivers/scsi-cxlflash-Reset-command-ioasc.patch. - Refresh patches.fixes/ipvlan-remove-excessive-packet-scrubbing.patch. - commit f04d16a- printk: Never set console_may_schedule in console_trylock() (bnc#744692, bnc#789311, bsc#1078391). - commit d2af2e6- printk: Hide console waiter logic into helpers (bnc#744692, bnc#789311, bsc#1078391). - commit 9d02b3e- printk: Add console owner and waiter logic to load balance console writes (bnc#744692, bnc#789311, bsc#1078391). - commit 5d9e509- Remove the SUSE-specific print-softlockup fix (bnc#744692, bnc#789311) It is going to be replaced by the upstream solution using console waiter logic. - Delete patches.suse/printk-Switch-to-the-sync-mode-when-an-emergency-mes.patch. - Delete patches.suse/printk-default-to-async-printing.patch. - Delete patches.suse/printk-fix-suspend-hang.patch. - Delete patches.suse/printk-make-async.patch. - Delete patches.suse/printk-make-kthread-priority-normal.patch. - Delete patches.suse/printk-make-synchronous-param-rw.patch. - Delete patches.suse/printk-make-wakeup-klogd-async-fixup.patch. - Delete patches.suse/printk-make-wakeup-klogd-async.patch. - Delete patches.suse/printk-xen-Force-printk-sync-mode-when-migrating-Xen.patch. - commit 3ed9739- cxgb4: add new T5 and T6 device id's (bsc#1079352). - scsi: libcxgbi: use GFP_ATOMIC in cxgbi_conn_alloc_pdu() (bsc#1079355). - commit e0eecbf- powerpc/pseries: Add Initialization of VF Bars (FATE#324970, bsc#1078720). - powerpc/pseries/pci: Associate PEs to VFs in configure SR-IOV (FATE#324970, bsc#1078720). - powerpc/eeh: Add EEH notify resume sysfs (FATE#324970, bsc#1078720). - powerpc/eeh: Add EEH operations to notify resume (FATE#324970, bsc#1078720). - powerpc/pseries: Set eeh_pe of EEH_PE_VF type (FATE#324970, bsc#1078720). - PCI/AER: Add uevents in AER and EEH error/resume (FATE#324970, bsc#1078720). - powerpc/eeh: Update VF config space after EEH (FATE#324970, bsc#1078720). - PCI/IOV: Add pci_vf_drivers_autoprobe() interface (FATE#324970, bsc#1078720). - powerpc/pseries: Add pseries SR-IOV Machine dependent calls (FATE#324970, bsc#1078720). - powerpc/pci: Separate SR-IOV Calls (FATE#324970, bsc#1078720). - PCI: Remove reset argument from pci_iov_{add,remove}_virtfn() (FATE#324970, bsc#1078720). - commit 57512c6- Refresh patches.drivers/nvme-don-t-free-uuid-pointer-before-printing-it.patch. - Refresh patches.drivers/nvme-fabrics-fix-memory-leak-when-parsing-host-ID-op.patch. - Refresh patches.drivers/nvme-fabrics-protect-against-module-unload-during-cr.patch. - Refresh patches.drivers/nvme-fix-comment-typos-in-nvme_create_io_queues.patch. - Refresh patches.drivers/nvme-fix-subsystem-multiple-controllers-support-chec.patch. - Refresh patches.drivers/nvme-host-delete_work-and-reset_work-on-separate-wor.patch. - Refresh patches.drivers/nvme-modify-the-debug-level-for-setting-shutdown-tim.patch. - Refresh patches.drivers/nvme-pci-Fix-queue-double-allocations.patch. - Refresh patches.drivers/nvme-pci-Suspend-queues-after-deleting-them.patch. - Refresh patches.drivers/nvme-pci-allocate-device-queues-storage-space-at-pro.patch. - Refresh patches.drivers/nvme-pci-clean-up-CMB-initialization.patch. - Refresh patches.drivers/nvme-pci-clean-up-SMBSZ-bit-definitions.patch. - Refresh patches.drivers/nvme-pci-don-t-open-code-nvme_reset_ctrl.patch. - Refresh patches.drivers/nvme-pci-fix-NULL-pointer-reference-in-nvme_alloc_ns.patch. - Refresh patches.drivers/nvme-pci-introduce-RECONNECTING-state-to-mark-initia.patch. - Refresh patches.drivers/nvme-pci-remove-an-unnecessary-initialization-in-HMB.patch. - Refresh patches.drivers/nvme-pci-serialize-pci-resets.patch. - Refresh patches.drivers/nvme-rdma-remove-redundant-boolean-for-inline_data.patch. - Refresh patches.drivers/nvme-take-refcount-on-transport-module.patch. - Refresh patches.drivers/nvme_fcloop-disassocate-local-port-structs.patch. - Refresh patches.drivers/nvme_fcloop-fix-abort-race-condition.patch. - Refresh patches.drivers/nvme_fcloop-refactor-host-target-io-job-access.patch. - Refresh patches.drivers/nvme_fcloop-rework-to-remove-xxx_IN_ISR-feature-flag.patch. - Refresh patches.drivers/nvmet-fix-error-flow-in-nvmet_alloc_ctrl.patch. - Refresh patches.drivers/nvmet-lower-log-level-for-each-queue-creation.patch. - Refresh patches.drivers/nvmet-rdma-lowering-log-level-for-chatty-debug-messa.patch. - Refresh patches.drivers/nvmet-rdma-removed-queue-cleanup-from-module-exit.patch. - Refresh patches.drivers/nvmet-rearrange-nvmet_ctrl_free.patch. - Refresh patches.drivers/nvmet-release-a-ns-reference-in-nvmet_req_uninit-if-.patch. - nvme-fc: correct hang in nvme_ns_remove() (bsc#1075811). - nvme-fc: fix rogue admin cmds stalling teardown (bsc#1075811). - commit dc349bb- nvme-pci: introduce RECONNECTING state to mark initializing procedure (FATE#323952, FATE#322506). - nvme-rdma: remove redundant boolean for inline_data (FATE#323952, FATE#322506). - nvme: don't free uuid pointer before printing it (FATE#323952, FATE#322506). - nvme-pci: Suspend queues after deleting them (FATE#323952, FATE#322506). - nvme-pci: Fix queue double allocations (FATE#323952, FATE#322506). - nvme-pci: clean up SMBSZ bit definitions (FATE#323952, FATE#322506). - nvme-pci: clean up CMB initialization (FATE#323952, FATE#322506). - nvmet: release a ns reference in nvmet_req_uninit if needed (FATE#323952, FATE#322506). - nvme-fabrics: fix memory leak when parsing host ID option (FATE#323952, FATE#322506). - nvme: fix comment typos in nvme_create_io_queues (FATE#323952, FATE#322506). - nvme: host delete_work and reset_work on separate workqueues (FATE#323952, FATE#322506). - nvme-pci: allocate device queues storage space at probe (FATE#323952, FATE#322506). - nvme-pci: serialize pci resets (FATE#323952, FATE#322506). - nvme: fix subsystem multiple controllers support check (FATE#323952, FATE#322506). - nvme: take refcount on transport module (FATE#323952, FATE#322506). - nvme-pci: fix NULL pointer reference in nvme_alloc_ns (FATE#323952, FATE#322506). - nvme: modify the debug level for setting shutdown timeout (FATE#323952, FATE#322506). - nvme-pci: don't open-code nvme_reset_ctrl (FATE#323952, FATE#322506). - nvmet: rearrange nvmet_ctrl_free() (FATE#323952, FATE#322506). - nvmet: fix error flow in nvmet_alloc_ctrl() (FATE#323952, FATE#322506). - nvme-pci: remove an unnecessary initialization in HMB code (FATE#323952, FATE#322506). - nvme-fabrics: protect against module unload during create_ctrl (FATE#323952, FATE#322506). - nvme_fcloop: refactor host/target io job access (FATE#323952, FATE#322506). - nvme_fcloop: rework to remove xxx_IN_ISR feature flags (FATE#323952, FATE#322506). - nvme_fcloop: disassocate local port structs (FATE#323952, FATE#322506). - nvme_fcloop: fix abort race condition (FATE#323952, FATE#322506). - nvmet: lower log level for each queue creation (FATE#323952, FATE#322506). - nvmet-rdma: lowering log level for chatty debug messages (FATE#323952, FATE#322506). - nvmet-rdma: removed queue cleanup from module exit (FATE#323952, FATE#322506). - commit be5f8ed- nvme-pci: check segement valid for SGL use (FATE#323952, FATE#322506). - nvme-pci: move use_sgl initialization to nvme_init_iod() (FATE#323952, FATE#322506). - Refresh patches.drivers/nvme-pci-take-sglist-coalescing-in-dma_map_sg-into-a.patch. - commit ccc76c3- powerpc/pseries: Fix cpu hotplug crash with memoryless nodes (FATE#323746, bsc#1079524). - powerpc/numa: Ensure nodes initialized for hotplug (FATE#323746, bsc#1079524). - powerpc/numa: Use ibm,max-associativity-domains to discover possible nodes (FATE#323746, bsc#1079524). - commit a5a5351- nvme-fabrics: initialize default host->id in nvmf_host_default() (FATE#323952, FATE#322506). - nvme-fcloop: avoid possible uninitialized variable warning (FATE#323952, FATE#322506). - nvme-rdma: fix concurrent reset and reconnect (FATE#323952, FATE#322506). - nvme: fix sector units when going between formats (FATE#323952, FATE#322506). - nvme: setup streams after initializing namespace head (FATE#323952, FATE#322506). - nvme: check hw sectors before setting chunk sectors (FATE#323952, FATE#322506). - nvme: call blk_integrity_unregister after queue is cleaned up (FATE#323952, FATE#322506). - nvme: set discard_alignment to zero (FATE#323952, FATE#322506). - nvme-pci: fix NULL pointer dereference in nvme_free_host_mem() (FATE#323952, FATE#322506). - nvme-rdma: fix memory leak during queue allocation (FATE#323952, FATE#322506). - commit 4cd5e8f- nvme: Suppress static analyis warning (FATE#323952, FATE#322506). - Refresh patches.drivers/nvme-mpath-fix-last-path-removal-during-traffic.patch. - commit 8ff7b73- nvme-rdma: Use mr pool (FATE#323952, FATE#322506). - nvme-rdma: Check remotely invalidated rkey matches our expected rkey (FATE#323952, FATE#322506). - nvme-rdma: wait for local invalidation before completing a request (FATE#323952, FATE#322506). - nvme-rdma: don't complete requests before a send work request has completed (FATE#323952, FATE#322506). - nvme-rdma: don't suppress send completions (FATE#323952, FATE#322506). - nvme-pci: add quirk for delay before CHK RDY for WDC SN200 (FATE#323952, FATE#322506). - nvme: fix spelling mistake: "requeing" -> "requeuing" (FATE#323952, FATE#322506). - nvme-pci: avoid hmb desc array idx out-of-bound when hmmaxd set (FATE#323952, FATE#322506). - nvme-pci: disable APST on Samsung SSD 960 EVO + ASUS PRIME B350M-A (FATE#323952, FATE#322506). - commit 98c37e8- Refresh patches.drivers/ibmvnic-Wait-for-device-response-when-changing-MAC.patch. - Refresh patches.drivers/ibmvnic-fix-firmware-version-when-no-firmware-level-.patch. - Refresh patches.drivers/scsi-cxlflash-Reset-command-ioasc.patch. - Refresh patches.fixes/ipvlan-remove-excessive-packet-scrubbing.patch. Re-sort series.conf - commit ff52d23- Refresh patch order in sorted section - Refresh patches.drivers/ibmvnic-Wait-for-device-response-when-changing-MAC.patch. - Refresh patches.drivers/ibmvnic-fix-firmware-version-when-no-firmware-level-.patch. - Refresh patches.drivers/scsi-cxlflash-Reset-command-ioasc.patch. - Refresh patches.fixes/ipvlan-remove-excessive-packet-scrubbing.patch. - scripts/git_sort/git_sort.py: - scripts/git_sort/tests/test_git_sort.py: - commit afdc520- livepatch: Remove immediate feature (bsc#1071995 fate#323487). From upstream klp tree, branch for-4.16/remove-immediate. - commit b4083e7- livepatch: add locking to force and signal functions (bsc#1071995 fate#323487). Coming from upstream klp tree, branch for-4.16/signal-sysfs-force-v2. - commit a2bfaf3- livepatch: force transition to finish (bsc#1071995 fate#323487). Coming from upstream klp tree, branch for-4.16/signal-sysfs-force-v2. - commit 15e3f65- livepatch: send a fake signal to all blocking tasks (bsc#1071995 fate#323487). Fake signal support. Coming from upstream klp tree, branch for-4.16/signal-sysfs-force-v2. - commit c16c12d- iser-target: Fix possible use-after-free in connection establishment error (bsc#1046306 FATE#322942). - net/mlx5e: Check support before TC swap in ETS init (bsc#1046303 FATE#322944). - net/mlx5e: Add error print in ETS init (bsc#1046303 FATE#322944). - IB/core: Fix unable to change lifespan entry for hw_counters (bsc#1046306 FATE#322942). - commit 14a58fe- Re-sorted with series_sort - Refresh patches.drivers/ibmvnic-Wait-for-device-response-when-changing-MAC.patch. - Refresh patches.drivers/ibmvnic-fix-firmware-version-when-no-firmware-level-.patch. - Refresh patches.drivers/scsi-cxlflash-Reset-command-ioasc.patch. - Refresh patches.fixes/ipvlan-remove-excessive-packet-scrubbing.patch. - commit 6db6f83- usbip: fix stub_rx: harden CMD_SUBMIT path to handle malicious input (bsc#1078672 CVE-2017-16913). - commit 317c5b6- ahci: Add Intel Cannon Lake PCH-H PCI ID (bsc#1079088 FATE#321195 FATE#322631). - commit 1ad2ccd- x86/cpufeatures: Add Intel feature bits for Speculation Control (bsc#1068032 CVE-2017-5754). - commit f45d5d3- Refresh patches.drivers/ibmvnic-Wait-for-device-response-when-changing-MAC.patch. - Refresh patches.drivers/ibmvnic-fix-firmware-version-when-no-firmware-level-.patch. - Refresh patches.drivers/scsi-cxlflash-Reset-command-ioasc.patch. - Refresh patches.fixes/ipvlan-remove-excessive-packet-scrubbing.patch. - commit 41ae0d8- x86/cpufeatures: Add CPUID_7_EDX CPUID leaf (bsc#1068032 CVE-2017-5754). - commit 914add9- x86/bugs: Drop one "mitigation" from dmesg (bsc#1068032 CVE-2017-5754). - commit 53d0557- blacklist.conf: - commit f67c619- enic: add wq clean up budget (bsc#1075697). - commit 245a193- ocfs2: try a blocking lock before return AOP_TRUNCATED_PAGE (bsc#1073440). - commit 26c40f8- NFS: Add a cond_resched() to nfs_commit_release_pages() (bsc#1077779). - commit 012a157- nfsd: auth: Fix gid sorting when rootsquash enabled (CVE-2018-1000028, bsc#1078287). - commit dda492e- rbd: set max_segments to USHRT_MAX (bsc#1078861). - rbd: reacquire lock should update lock owner client id (bsc#1078873). - netfilter: uapi: correct UNTRACKED conntrack state bit number (bsc#1078865). - scsi: libiscsi: fix shifting of DID_REQUEUE host byte (bsc#1078875). - commit 9a95b4e- ASN.1: fix out-of-bounds read when parsing indefinite length item (bsc#1078868). - ASN.1: check for error from ASN1_OP_END__ACT actions (bsc#1078867). - KEYS: fix NULL pointer dereference during ASN.1 parsing (bsc#1078866). - KEYS: fix out-of-bounds read during ASN.1 parsing (bsc#1078862). - commit 49124a8- lib/digsig: fix dereference of NULL user_key_payload (bsc#1078860). - commit e74597f- Update config files. - commit 9008ce2- README.BRANCH: make Jeff co-maintainer during my absence - commit a8ed74e- x86/retpoline: Remove the esp/rsp thunk (bsc#1068032 CVE-2017-5754). - x86/intel_rdt/cqm: Prevent use after free (fate#323965). - commit e562833- ibmvnic: fix firmware version when no firmware level has been provided by the VIOS server (bsc#1079038). - commit 3aa382e- x86/hyper-v: stop suppressing X86_FEATURE_PCID (bsc#1077499). - commit d007750- ibmvnic: Wait for device response when changing MAC (bsc#1078681). - commit 4a4b78c- blacklist 070e004912fe powerpc/4xx: Fix compile error with 64K pages on 40x, 44x - commit cafc1fc- scsi: cxlflash: Reset command ioasc (fate#322239, git-fixes). - commit 930f93e- KVM: x86: take slots_lock in kvm_free_pit (bsc#1077761). - commit 5c47320- kvm: vmx: Properly handle machine check during VM-entry (bsc#1077761). - commit 630935e- KVM: x86: update master clock before computing kvmclock_offset (bsc#1077761). - commit 5546449- kvm: nVMX: Shadow "high" parts of shadowed 64-bit VMCS fields (bsc#1077761). - commit 9c9cd12- Move patches.fixes/kvm-nvmx-fix-nested_vmx_check_msr_bitmap_controls into sorted section - commit 597672f- kvm: nVMX: Validate the I/O bitmaps on nested VM-entry (bsc#1077761). - commit ae097f9- kvm: nVMX: Don't set vmcs12 to "launched" when VMLAUNCH fails (bsc#1077761). - commit fb500c7- KVM: use correct accessor function for __kvm_memslots (bsc#1077761). - commit e6f2939- KVM: mark memory slots as rcu (bsc#1077761). - commit a4d1b3d- KVM: mark kvm->busses as rcu protected (bsc#1077761). - commit ba3fd3a- KVM: use rcu access function for irq routing (bsc#1077761). - commit d866df7- KVM: mark vcpu->pid pointer as rcu protected (bsc#1077761). - commit f2e0948- KVM: vmx: expose more information for KVM_INTERNAL_ERROR_DELIVERY_EV exits (bsc#1077761). - commit 0622f81- kvm: avoid unused variable warning for UP builds (bsc#1077761). - commit 2e79598- x86: kvm: mmu: use ept a/d in vmcs02 iff used in vmcs12 (bsc#1077761). - commit b81235c- kvm: x86: mmu: allow A/D bits to be disabled in an mmu (bsc#1077761). - commit aa98336- x86: kvm: mmu: make spte mmio mask more explicit (bsc#1077761). - commit 05b622d- x86: kvm: mmu: dead code thanks to access tracking (bsc#1077761). - commit 8c29652- KVM: PPC: Book3S HV: Add capability to report possible virtual SMT modes (bsc#1077761). - commit ff30e98- KVM: PPC: Book3S HV: Virtualize doorbell facility on POWER9 (bsc#1077761). - commit 73e258b- KVM: PPC: Book3S HV: Allow userspace to set the desired SMT mode (bsc#1077761). - commit ef28960- KVM: PPC: Book3S HV: Context-switch HFSCR between host and guest on POWER9 (bsc#1077761). - commit f4ba5c4- KVM: PPC: Book3S HV: Enable guests to use large decrementer mode on POWER9 (bsc#1077761). - commit 5e26c30- KVM: x86: remove ignored type attribute (bsc#1077761). - commit f488813- KVM: arm/arm64: Signal SIGBUS when stage2 discovers hwpoison memory (bsc#1077761). - commit 94ecc41- arm64/kvm: vgic: use SYS_DESC() (bsc#1077761). - commit 35d3070- arm64/kvm: sysreg: fix typo'd SYS_ICC_IGRPEN*_EL1 (bsc#1077761). - commit 4396c4d- KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access (bsc#1077761). - commit f14efa3- KVM: arm64: Log an error if trapping a read-from-write-only GICv3 access (bsc#1077761). - commit e878ccd- KVM: arm64: vgic-v3: Log which GICv3 system registers are trapped (bsc#1077761). - commit c2ec271- KVM: arm64: Enable GICv3 common sysreg trapping via command-line (bsc#1077761). - commit 83b2209- KVM: arm64: vgic-v3: Add ICV_PMR_EL1 handler (bsc#1077761). - commit b32111f- KVM: arm64: vgic-v3: Add ICV_CTLR_EL1 handler (bsc#1077761). - commit c6056fb- KVM: arm64: vgic-v3: Add ICV_RPR_EL1 handler (bsc#1077761). - commit 4d8e18a- KVM: arm64: vgic-v3: Add ICV_DIR_EL1 handler (bsc#1077761). - commit dc81a76- arm64: Add workaround for Cavium Thunder erratum 30115 (bsc#1077761). - Refresh patches.drivers/0003-iommu-arm-smmu-v3-Add-workaround-for-Cavium-ThunderX.patch. - Refresh patches.drivers/0004-iommu-arm-smmu-v3-Add-workaround-for-Cavium-ThunderX.patch. - commit 672e3a4- KVM: arm64: Enable GICv3 Group-0 sysreg trapping via command-line (bsc#1077761). - commit a43257d- KVM: arm64: vgic-v3: Enable trapping of Group-0 system registers (bsc#1077761). - commit 6704cd7- KVM: arm64: vgic-v3: Add misc Group-0 handlers (bsc#1077761). - commit f366ea5- KVM: arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler (bsc#1077761). - commit 843e1f8- KVM: arm64: vgic-v3: Add ICV_BPR0_EL1 handler (bsc#1077761). - commit 4da31c6- KVM: arm64: Enable GICv3 Group-1 sysreg trapping via command-line (bsc#1077761). - commit 11e3aa3- KVM: arm64: vgic-v3: Enable trapping of Group-1 system registers (bsc#1077761). - commit 98ed82e- KVM: arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler (bsc#1077761). - commit ae8c87c- KVM: arm64: vgic-v3: Add ICV_AP1Rn_EL1 handler (bsc#1077761). - commit 43c6bc4- KVM: arm64: vgic-v3: Add ICV_EOIR1_EL1 handler (bsc#1077761). - commit ceeaa18- KVM: arm64: vgic-v3: Add ICV_IAR1_EL1 handler (bsc#1077761). - commit 12da559- KVM: arm64: vgic-v3: Add ICV_IGRPEN1_EL1 handler (bsc#1077761). - commit e1b4ec3- KVM: arm64: vgic-v3: Add ICV_BPR1_EL1 handler (bsc#1077761). - commit 559ee43- KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2 (bsc#1077761). - commit 08361be- KVM: arm64: Make kvm_condition_valid32() accessible from EL2 (bsc#1077761). - commit accb6b5- CIFS: dump IPC tcon in debug proc file (bsc#1071306). - commit e844d61- CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl (bsc#1071306). - commit 31e7d7b- CIFS: make IPC a regular tcon (bsc#1071306). - commit baba794- KVM: arm/arm64: vgic-v3: Add accessors for the ICH_APxRn_EL2 registers (bsc#1077761). - commit e0e50a9- xfs: reinit btree pointer on attr tree inactivation walk (bsc#1078787). - commit 00accea- cxgb4: make symbol pedits static (bsc#1064802 bsc#1066129). - nfp: fix error return code in nfp_pci_probe() (bsc#1055968). - IB/core: Fix ib_wc structure size to remain in 64 bytes boundary (bsc#1046306 FATE#322942). - net/mlx5: Fix race for multiple RoCE enable (bsc#1046303 FATE#322944). - RDMA/cma: Mark end of CMA ID messages (bsc#1046306 FATE#322942). - RDMA/vmw_pvrdma: Add UAR SRQ macros in ABI header file (bsc#1046306 FATE#322942). - iw_cxgb4: make pointer reg_workq static (bsc#1064802 bsc#1066129). - net/mlx5e: Fix ETS BW check (bsc#1075360). - commit 76cecfb- Re-sorted series and Updated patch-mainline - Refresh patches.drivers/IB-CM-Change-sgid-to-IB-GID-when-handling-CM-request.patch. - Refresh patches.drivers/IB-hfi1-Mask-the-path-bits-with-the-LMC-for-16B-RC-A.patch. - Refresh patches.drivers/IB-hfi1-Use-4096-for-default-active-MTU-in-query_qp.patch. - Refresh patches.drivers/RDMA-bnxt_re-Add-SRQ-support-for-Broadcom-adapters.patch. - Refresh patches.drivers/RDMA-bnxt_re-Add-support-for-MRs-with-Huge-pages.patch. - Refresh patches.drivers/RDMA-bnxt_re-Add-support-for-query-firmware-version.patch. - Refresh patches.drivers/RDMA-bnxt_re-Enable-RoCE-on-virtual-functions.patch. - Refresh patches.drivers/RDMA-bnxt_re-expose-detailed-stats-retrieved-from-HW.patch. - Refresh patches.drivers/bnxt_en-Add-ETH_RESET_AP-support.patch. - Refresh patches.drivers/bnxt_en-Don-t-print-Link-speed-1-no-longer-supported.patch. - Refresh patches.drivers/bnxt_en-Uninitialized-variable-in-bnxt_tc_parse_acti.patch. - Refresh patches.drivers/bnxt_en-Use-NETIF_F_GRO_HW.patch. - Refresh patches.drivers/cxgb4-RSS-table-is-4k-for-T6.patch. - Refresh patches.drivers/cxgb4-collect-HMA-memory-dump.patch. - Refresh patches.drivers/cxgb4-collect-MC-memory-dump.patch. - Refresh patches.drivers/cxgb4-collect-PCIe-configuration-logs.patch. - Refresh patches.drivers/cxgb4-collect-TX-rate-limit-info-in-UP-CIM-logs.patch. - Refresh patches.drivers/cxgb4-collect-egress-and-ingress-SGE-queue-contexts.patch. - Refresh patches.drivers/cxgb4-collect-on-chip-memory-information.patch. - Refresh patches.drivers/cxgb4-skip-TX-and-RX-payload-regions-in-memory-dumps.patch. - Refresh patches.drivers/ibmvnic-Don-t-handle-RX-interrupts-when-not-up.patch. - Refresh patches.drivers/ibmvnic-Include-header-descriptor-support-for-ARP-pa.patch. - Refresh patches.drivers/ibmvnic-Increase-maximum-number-of-RX-TX-queues.patch. - Refresh patches.drivers/ibmvnic-Rename-IBMVNIC_MAX_TX_QUEUES-to-IBMVNIC_MAX_.patch. - Refresh patches.drivers/lpfc-Adjust-default-value-of-lpfc_nvmet_mrq.patch. - Refresh patches.drivers/lpfc-Beef-up-stat-counters-for-debug.patch. - Refresh patches.drivers/lpfc-Correct-driver-deregistrations-with-host-n.patch. - Refresh patches.drivers/lpfc-Driver-fails-to-detect-direct-attach-stora.patch. - Refresh patches.drivers/lpfc-Expand-WQE-capability-of-every-NVME-hardwa.patch. - Refresh patches.drivers/lpfc-FLOGI-failures-are-reported-when-connected.patch. - Refresh patches.drivers/lpfc-Fix-EOVERFLOW-behavior-for-NVMET-and-defer.patch. - Refresh patches.drivers/lpfc-Fix-NVME-LS-abort_xri.patch. - Refresh patches.drivers/lpfc-Fix-SCSI-LUN-discovery-when-SCSI-and-NVME-.patch. - Refresh patches.drivers/lpfc-Fix-crash-after-bad-bar-setup-on-driver-at.patch. - Refresh patches.drivers/lpfc-Fix-crash-during-driver-unload-with-runnin.patch. - Refresh patches.drivers/lpfc-Fix-display-for-debugfs-queInfo.patch. - Refresh patches.drivers/lpfc-Fix-driver-handling-of-nvme-resources-duri.patch. - Refresh patches.drivers/lpfc-Fix-infinite-wait-when-driver-unregisters-.patch. - Refresh patches.drivers/lpfc-Fix-issues-connecting-with-nvme-initiator.patch. - Refresh patches.drivers/lpfc-Fix-ndlp-ref-count-for-pt2pt-mode-issue-RS.patch. - Refresh patches.drivers/lpfc-Fix-random-heartbeat-timeouts-during-heavy.patch. - Refresh patches.drivers/lpfc-Fix-receive-PRLI-handling.patch. - Refresh patches.drivers/lpfc-Handle-XRI_ABORTED_CQE-in-soft-IRQ.patch. - Refresh patches.drivers/lpfc-Increase-SCSI-CQ-and-WQ-sizes.patch. - Refresh patches.drivers/lpfc-Linux-LPFC-driver-does-not-process-all-RSC.patch. - Refresh patches.drivers/lpfc-Raise-maximum-NVME-sg-list-size-for-256-el.patch. - Refresh patches.drivers/lpfc-correct-port-registrations-with-nvme_fc.patch. - Refresh patches.drivers/lpfc-correct-sg_seg_cnt-attribute-min-vs-defaul.patch. - Refresh patches.drivers/lpfc-don-t-dereference-localport-before-it-has-.patch. - Refresh patches.drivers/lpfc-fix-a-couple-of-minor-indentation-issues.patch. - Refresh patches.drivers/lpfc-small-sg-cnt-cleanup.patch. - Refresh patches.drivers/lpfc-update-driver-version-to-11.4.0.5.patch. - Refresh patches.drivers/lpfc-update-driver-version-to-11.4.0.6.patch. - Refresh patches.drivers/net-Disable-GRO_HW-when-generic-XDP-is-installed-on-.patch. - Refresh patches.drivers/net-Introduce-NETIF_F_GRO_HW.patch. - Refresh patches.drivers/net-ethtool-add-support-for-reset-of-AP-inside-NIC-i.patch. - Refresh patches.drivers/scsi-libiscsi-allow-sd_shutdown-on-bad-transport. - Refresh patches.drivers/scsi-qla2xxx-Fix-recursion-while-sending-terminate-e.patch. - commit f6992cb- KVM: arm/arm64: Don't assume initialized vgic when setting PMU IRQ (bsc#1077761). - commit e46c7d2- KVM: arm/arm64: Disallow userspace control of in-kernel IRQ lines (bsc#1077761). - commit 17a802a- KVM: arm/arm64: Check if irq lines to the GIC are already used (bsc#1077761). - commit c6c6bff- KVM: arm/arm64: Introduce an allocator for in-kernel irq lines (bsc#1077761). - commit 3904963- KVM: arm/arm64: Allow setting the timer IRQ numbers from userspace (bsc#1077761). - commit 46f128d- KVM: arm/arm64: Move timer IRQ default init to arch_timer.c (bsc#1077761). - commit e809754- KVM: arm/arm64: Move irq_is_ppi() to header file (bsc#1077761). - commit e5a67f0- KVM: arm: Handle VCPU device attributes in guest.c (bsc#1077761). - commit 550f6bb- KVM: arm64: Allow creating the PMU without the in-kernel GIC (bsc#1077761). - commit ed17f94- KVM: arm/arm64: timer: remove request-less vcpu kick (bsc#1077761). - commit c014526- KVM: arm/arm64: PMU: remove request-less vcpu kick (bsc#1077761). - commit fd61d9a- KVM: arm/arm64: use vcpu requests for irq injection (bsc#1077761). - commit 9f686bf- KVM: arm/arm64: change exit request to sleep request (bsc#1077761). - commit e8990de- KVM: arm/arm64: optimize VCPU RUN (bsc#1077761). - commit 5d5c02d- KVM: arm/arm64: use vcpu requests for power_off (bsc#1077761). - commit 3b24c3f- KVM: arm/arm64: replace pause checks with vcpu request checks (bsc#1077761). - commit 1df0a22- KVM: arm/arm64: properly use vcpu requests (bsc#1077761). - commit c19d6ba- KVM: add kvm_request_pending (bsc#1077761). - commit 7d071ca- KVM: improve arch vcpu request defining (bsc#1077761). - commit fcdd37e- KVM: arm/arm64: Use uaccess functions for GICv3 {sc}active (bsc#1077761). - commit a6aa308- KVM: arm/arm64: Simplify active_change_prepare and plug race (bsc#1077761). - commit 5f251f5- KVM: arm/arm64: Separate guest and uaccess writes to dist {sc}active (bsc#1077761). - commit 06c1e27- KVM: arm/arm64: Allow GICv2 to supply a uaccess register function (bsc#1077761). - commit a828f2c- KVM: arm64: Restore host physical timer access on hyp_panic() (bsc#1077761). - commit 3c9a486- KVM: arm: Restore banked registers and physical timer access on hyp_panic() (bsc#1077761). - commit 81c5b15- KVM: LAPIC: Fix lapic timer injection delay (bsc#1077761). - commit 2887434- KVM: lapic: reorganize restart_apic_timer (bsc#1077761). - commit b3c54e2- KVM: lapic: reorganize start_hv_timer (bsc#1077761). - commit d1ec16e- KVM: s390: avoid packed attribute (bsc#1077761). - Refresh patches.drivers/kvm-Inject-machine-check-into-the-nested-guest.patch. - commit 0fb9b38- KVM: S390: add new group for flic (bsc#1077761). - commit 957f3a8- KVM: s390: implement instruction execution protection for emulated ifetch (bsc#1077761). - commit 9f7e596- kvm: nVMX: Check memory operand to INVVPID (bsc#1077761). - commit a142483- KVM: explain missing kvm_put_kvm in case of failure (bsc#1077761). - commit f859907- KVM: Replaces symbolic permissions with numeric (bsc#1077761). - commit c981562- KVM: nVMX: Don't update vmcs12->xss_exit_bitmap on nested VM-exit (bsc#1077761). - commit 334fe01- KVM: x86: avoid large stack allocations in em_fxrstor (bsc#1077761). - commit 2980e35- KVM: white space cleanup in nested_vmx_setup_ctls_msrs() (bsc#1077761). - commit 4ba3a7c- KVM: Tidy the whitespace in nested_svm_check_permissions() (bsc#1077761). - commit 8351f67- s390: rename struct psw_bits members (bsc#1077761). - commit b1352ea- s390: rename psw_bits enums (bsc#1077761). - commit df2b8ca- Refresh patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch. Fix return value - commit b1d44b2- ftrace, orc, x86: Handle ftrace dynamically allocated trampolines (bnc#1058115). - objtool: Fix seg fault caused by missing parameter (bnc#1058115). - objtool: Move synced files to their original relative locations (bnc#1058115). - objtool: Fix seg fault with clang-compiled objects (bnc#1058115). - objtool: Move kernel headers/code sync check to a script (bnc#1058115). - tracing: Update stack trace skipping for ORC unwinder (bnc#1058115). - objtool: Fix 64-bit build on 32-bit host (bnc#1058115). - objtool: Fix Clang enum conversion warning (bnc#1058115). - objtool: Fix cross-build (bnc#1058115). - tools/objtool/Makefile: don't assume sync-check.sh is executable (bnc#1058115). - x86/ftrace: Add one more ENDPROC annotation (bnc#1058115). - x86/ftrace: Fix ORC unwinding from ftrace handlers (bnc#1058115). - x86/stacktrace: Make zombie stack traces reliable (bnc#1058115). - Refresh patches.arch/10-x86-dumpstack-handle-stack-overflow-on-all-stacks.patch. - Refresh patches.arch/11-x86-entry-rename-sysenter_stack-to-cpu_entry_area_entry_stack.patch. - Refresh patches.arch/24-x86-retpoline-ftrace-convert-ftrace-assembler-indirect-jumps.patch. - Refresh patches.suse/0002-x86-stacktrace-make-clear-the-success-paths.patch. Update ORC to the upstream status. - commit 3cd5617- include/linux/mm.h: fix typo in VM_MPX definition (FATE#322447, bsc#1078248). - commit 981f4b2- Update config files. - commit c74eda6- selftests/powerpc: Add core file test for Protection Key register (FATE#322447, bsc#1078248). - selftests/powerpc: Add ptrace tests for Protection Key register (FATE#322447, bsc#1078248). - selftests/vm: Fix deadlock in protection_keys.c (FATE#322447, bsc#1078248). - selftests/vm: sub-page allocator (FATE#322447, bsc#1078248). - selftests/vm: testcases must restore pkey-permissions (FATE#322447, bsc#1078248). - selftests/vm: detect write violation on a mapped access-denied-key page (FATE#322447, bsc#1078248). - selftests/vm: associate key on a mapped page and detect write violation (FATE#322447, bsc#1078248). - selftests/vm: associate key on a mapped page and detect access violation (FATE#322447, bsc#1078248). - selftests/vm: fix an assertion in test_pkey_alloc_exhaust() (FATE#322447, bsc#1078248). - selftests/vm: powerpc implementation to check support for pkey (FATE#322447, bsc#1078248). - selftests/vm: clear the bits in shadow reg when a pkey is freed (FATE#322447, bsc#1078248). - selftests/vm: powerpc implementation for generic abstraction (FATE#322447, bsc#1078248). - selftests/vm: generic cleanup (FATE#322447, bsc#1078248). - selftests/vm: pkey register should match shadow pkey (FATE#322447, bsc#1078248). - selftests/vm: introduce two arch independent abstraction (FATE#322447, bsc#1078248). - selftests/vm: fix alloc_random_pkey() to make it really random (FATE#322447, bsc#1078248). - selftests/vm: clear the bits in shadow reg when a pkey is freed (FATE#322447, bsc#1078248). - selftests/vm: fixed bugs in pkey_disable_clear() (FATE#322447, bsc#1078248). - selftests/vm: fix the wrong assert in pkey_disable_set() (FATE#322447, bsc#1078248). - selftests/vm: generic function to handle shadow key register (FATE#322447, bsc#1078248). - selftests/vm: typecast the pkey register (FATE#322447, bsc#1078248). - selftests/vm: move generic definitions to header file (FATE#322447, bsc#1078248). - selftests/vm: rename all references to pkru to a generic name (FATE#322447, bsc#1078248). - selftests/x86: Move protecton key selftest to arch neutral directory (FATE#322447, bsc#1078248). - x86/pkeys/selftests: Fix protection keys write() warning (FATE#322447, bsc#1078248). - x86/pkeys/selftests: Rename 'si_pkey' to 'siginfo_pkey' (FATE#322447, bsc#1078248). - selftests/x86/protection_keys: Fix syscall NR redefinition warnings (FATE#322447, bsc#1078248). - signal/testing: Don't look for __SI_FAULT in userspace (FATE#322447, bsc#1078248). - Documentation/vm: PowerPC specific updates to memory protection keys (FATE#322447, bsc#1078248). - Documentation/x86: Move protecton key documentation to arch neutral directory (FATE#322447, bsc#1078248). - mm, x86: display pkey in smaps only if arch supports pkeys (FATE#322447, bsc#1078248). - Refresh patches.suse/mm-fix-KSM-data-corruption.patch. - powerpc: sys_pkey_mprotect() system call (FATE#322447, bsc#1078248). - powerpc: sys_pkey_alloc() and sys_pkey_free() system calls (FATE#322447, bsc#1078248). - powerpc: Enable pkey subsystem (FATE#322447, bsc#1078248). - powerpc/ptrace: Add memory protection key regset (FATE#322447, bsc#1078248). - powerpc: Deliver SEGV signal on pkey violation (FATE#322447, bsc#1078248). - powerpc: introduce get_mm_addr_key() helper (FATE#322447, bsc#1078248). - powerpc: Handle exceptions caused by pkey violation (FATE#322447, bsc#1078248). - powerpc: implementation for arch_vma_access_permitted() (FATE#322447, bsc#1078248). - powerpc: check key protection for user page access (FATE#322447, bsc#1078248). - powerpc: helper to validate key-access permissions of a pte (FATE#322447, bsc#1078248). - powerpc: Program HPTE key protection bits (FATE#322447, bsc#1078248). - powerpc: map vma key-protection bits to pte key bits (FATE#322447, bsc#1078248). - powerpc: implementation for arch_override_mprotect_pkey() (FATE#322447, bsc#1078248). - powerpc: ability to associate pkey to a vma (FATE#322447, bsc#1078248). - powerpc: introduce execute-only pkey (FATE#322447, bsc#1078248). - powerpc: store and restore the pkey state across context switches (FATE#322447, bsc#1078248). - powerpc: ability to create execute-disabled pkeys (FATE#322447, bsc#1078248). - powerpc: implementation for arch_set_user_pkey_access() (FATE#322447, bsc#1078248). - powerpc: cleanup AMR, IAMR when a key is allocated or freed (FATE#322447, bsc#1078248). - powerpc: helper functions to initialize AMR, IAMR and UAMOR registers (FATE#322447, bsc#1078248). - powerpc: helper function to read, write AMR, IAMR, UAMOR registers (FATE#322447, bsc#1078248). - powerpc: track allocation status of all pkeys (FATE#322447, bsc#1078248). - powerpc: initial pkey plumbing (FATE#322447, bsc#1078248). - mm, powerpc, x86: introduce an additional vma bit for powerpc pkey (FATE#322447, bsc#1078248). - mm, powerpc, x86: define VM_PKEY_BITx bits if CONFIG_ARCH_HAS_PKEYS is enabled (FATE#322447, bsc#1078248). - powerpc: capture the PTE format changes in the dump pte report (FATE#322447, bsc#1078248). - powerpc: use helper functions to get and set hash slots (FATE#322447, bsc#1078248). - powerpc: Swizzle around 4K PTE bits to free up bit 5 and bit 6 (FATE#322447, bsc#1078248). - powerpc: shifted-by-one hidx value (FATE#322447, bsc#1078248). - powerpc: Free up four 64K PTE bits in 64K backed HPTE pages (FATE#322447, bsc#1078248). - powerpc: Free up four 64K PTE bits in 4K backed HPTE pages (FATE#322447, bsc#1078248). - powerpc: introduce pte_get_hash_gslot() helper (FATE#322447, bsc#1078248). - powerpc: introduce pte_set_hidx() helper (FATE#322447, bsc#1078248). - powerpc/mm/book3s/64: Add proper pte access check helper (FATE#322447, bsc#1078248). - powerpc/mm: Don't lose "major" fault indication on retry (FATE#322447, bsc#1078248). - powerpc/mm: Set fault flags earlier (FATE#322447, bsc#1078248). - powerpc/mm: Evaluate user_mode(regs) only once in do_page_fault() (FATE#322447, bsc#1078248). - powerpc/mm: Remove a redundant test in do_page_fault() (FATE#322447, bsc#1078248). - powerpc/mm: Only call store_updates_sp() on stores in do_page_fault() (FATE#322447, bsc#1078248). - powerpc: Fix DABR match on hash based systems (FATE#322447, bsc#1078248). - powerpc/64s: Replace CONFIG_PPC_STD_MMU_64 with CONFIG_PPC_BOOK3S_64 (FATE#322447, bsc#1078248). - powerpc/mm: Update bits used to skip hash_page (FATE#322447, bsc#1078248). - powerpc/mm: Update definitions of DSISR bits (FATE#322447, bsc#1078248). - x86,mpx: make mpx depend on x86-64 to free up VMA flag (FATE#322447, bsc#1078248). - commit 90fbf25- arm64: Branch predictor hardening for Cavium ThunderX2 (bsc#1068032). - commit c0ea639- Refresh patches.fixes/mm-Batch-radix-tree-operations-when-truncating-pages.patch. - Refresh patches.fixes/mm-Factor-out-checks-and-accounting-from-__delete_fr.patch. - Refresh patches.fixes/mm-Factor-out-page-cache-page-freeing-into-a-separat.patch. - Refresh patches.fixes/mm-Move-accounting-updates-before-page_cache_tree_de.patch. - Refresh patches.fixes/mm-Move-clearing-of-page-mapping-to-page_cache_tree_.patch. - Refresh patches.fixes/mm-Refactor-truncate_complete_page.patch. - Refresh patches.fixes/mm-Speedup-cancel_dirty_page-for-clean-pages.patch. - Refresh patches.suse/sched-Only-immediately-migrate-tasks-due-to-interrupts-if-prev-and-target-CPUs-share-cache.patch. - Refresh patches.suse/sched-wait-fix-add_wait_queue-behavior-change.patch. - commit c2de752- scsi: qla2xxx: Initialize Work element before requesting IRQs (bsc#1050313). - scsi: qla2xxx: Fix uninitialized work element (bsc#1050313). - commit 20470eb- Refresh patches.drivers/block-Provide-blk_status_t-decoding-for-path-errors.patch. - Refresh patches.drivers/dm-mpath-Use-blk_path_error.patch. - Refresh patches.drivers/nvme-Add-more-command-status-translation.patch. - Refresh patches.drivers/nvme-add-tracepoint-for-nvme_complete_rq.patch. - Refresh patches.drivers/nvme-add-tracepoint-for-nvme_setup_cmd.patch. - Refresh patches.drivers/nvme-also-expose-the-namespace-identification-sysfs-.patch. - Refresh patches.drivers/nvme-fix-visibility-of-uuid-ns-attribute.patch. - Refresh patches.drivers/nvme-introduce-a-nvme_ns_ids-structure.patch. - Refresh patches.drivers/nvme-multipath-Consult-blk_status_t-for-failover.patch. - Refresh patches.drivers/nvme-multipath-Use-blk_path_error.patch. - Refresh patches.drivers/nvme-track-shared-namespaces.patch. - Refresh patches.drivers/nvmet-fc-cleanup-nvmet-add_port-remove_port.patch. Re-sort series.conf - commit 2edda93- Refresh patches.fixes/ceph-drop-negative-child-dentries-before-try-pruning-inode-s-alias.patch. - commit 66812af- libceph: don't WARN() if user tries to add invalid key (FATE#324714). - ceph: silence sparse endianness warning in encode_caps_cb (FATE#324714). - ceph: present consistent fsid, regardless of arch endianness (FATE#324714). - ceph: clean up spinlocking and list handling around cleanup_cap_releases() (FATE#324714). - ceph: remove unused and redundant variable dropping (FATE#324714). - ceph: mark expected switch fall-throughs (FATE#324714). - ceph: -EINVAL on decoding failure in ceph_mdsc_handle_fsmap() (FATE#324714). - ceph: disable cached readdir after dropping positive dentry (FATE#324714). - ceph: fix bool initialization/comparison (FATE#324714). - ceph: handle 'session get evicted while there are file locks' (FATE#324714). - ceph: optimize flock encoding during reconnect (FATE#324714). - ceph: make lock_to_ceph_filelock() static (FATE#324714). - ceph: keep auth cap when inode has flocks or posix locks (FATE#324714). - commit b22d2c0- ceph: unlock dangling spinlock in try_flush_caps() (FATE#324714). - ceph: fix __choose_mds() for LSSNAP request (FATE#324714). - ceph: properly queue cap snap for newly created snap realm (FATE#324714). - ceph: avoid panic in create_session_open_msg() if utsname() returns NULL (FATE#324714). - libceph: don't allow bidirectional swap of pg-upmap-items (FATE#324714). - ceph: stop on-going cached readdir if mds revokes FILE_SHARED cap (FATE#324714). - ceph: wait on writeback after writing snapshot data (FATE#324714). - ceph: fix capsnap dirty pages accounting (FATE#324714). - ceph: ignore wbc->range_{start,end} when write back snapshot data (FATE#324714). - ceph: fix "range cyclic" mode writepages (FATE#324714). - ceph: cleanup local variables in ceph_writepages_start() (FATE#324714). - ceph: optimize pagevec iterating in ceph_writepages_start() (FATE#324714). - ceph: make writepage_nounlock() invalidate page that beyonds EOF (FATE#324714). - ceph: properly get capsnap's size in get_oldest_context() (FATE#324714). - ceph: remove stale check in ceph_invalidatepage() (FATE#324714). - ceph: queue cap snap only when snap realm's context changes (FATE#324714). - ceph: handle race between vmtruncate and queuing cap snap (FATE#324714). - ceph: fix message order check in handle_cap_export() (FATE#324714). - ceph: fix NULL pointer dereference in ceph_flush_snaps() (FATE#324714). - ceph: adjust 36 checks for NULL pointers (FATE#324714). - ceph: delete an unnecessary return statement in update_dentry_lease() (FATE#324714). - ceph: ENOMEM pr_err in __get_or_create_frag() is redundant (FATE#324714). - ceph: check negative offsets in ceph_llseek() (FATE#324714). - ceph: more accurate statfs (FATE#324714). - ceph: properly set snap follows for cap reconnect (FATE#324714). - ceph: don't use CEPH_OSD_FLAG_ORDERSNAP (FATE#324714). - ceph: include snapc in debug message of write (FATE#324714). - ceph: make sure flushsnap messages are sent in proper order (FATE#324714). - ceph: fix -EOLDSNAPC handling (FATE#324714). - ceph: send LSSNAP request to auth mds of directory inode (FATE#324714). - ceph: don't fill readdir cache for LSSNAP reply (FATE#324714). - ceph: cleanup ceph_readdir_prepopulate() (FATE#324714). - ceph: new cap message flags indicate if there is pending capsnap (FATE#324714). - ceph: nuke startsync op (FATE#324714). - ceph: validate correctness of some mount options (FATE#324714). - ceph: limit osd write size (FATE#324714). - ceph: limit osd read size to CEPH_MSG_MAX_DATA_LEN (FATE#324714). - ceph: remove unused cap_release_safety mount option (FATE#324714). - commit a10585c- libceph: make RECOVERY_DELETES feature create a new interval (FATE#324714). - libceph: upmap semantic changes (FATE#324714). - crush: assume weight_set != null imples weight_set_size > 0 (FATE#324714). - libceph: fallback for when there isn't a pool-specific choose_arg (FATE#324714). - libceph: don't call ->reencode_message() more than once per message (FATE#324714). - libceph: make encode_request_*() work with r_mempool requests (FATE#324714). - libceph: potential NULL dereference in ceph_msg_data_create() (FATE#324714). - libceph: don't call encode_request_finish() on MOSDBackoff messages (FATE#324714). - libceph: use alloc_pg_mapping() in __decode_pg_upmap_items() (FATE#324714). - libceph: set -EINVAL in one place in crush_decode() (FATE#324714). - libceph: NULL deref on osdmap_apply_incremental() error path (FATE#324714). - libceph: fix old style declaration warnings (FATE#324714). - libceph: advertise support for NEW_OSDOP_ENCODING and SERVER_LUMINOUS (FATE#324714). - libceph: osd_state is 32 bits wide in luminous (FATE#324714). - crush: remove an obsolete comment (FATE#324714). - crush: crush_init_workspace starts with struct crush_work (FATE#324714). - libceph, crush: per-pool crush_choose_arg_map for crush_do_rule() (FATE#324714). - crush: implement weight and id overrides for straw2 (FATE#324714). - libceph: apply_upmap() (FATE#324714). - libceph: compute actual pgid in ceph_pg_to_up_acting_osds() (FATE#324714). - libceph: pg_upmap[_items] infrastructure (FATE#324714). - libceph: ceph_decode_skip_* helpers (FATE#324714). - libceph: kill __{insert,lookup,remove}_pg_mapping() (FATE#324714). - libceph: introduce and switch to decode_pg_mapping() (FATE#324714). - libceph: don't pass pgid by value (FATE#324714). - libceph: respect RADOS_BACKOFF backoffs (FATE#324714). - libceph: make DEFINE_RB_* helpers more general (FATE#324714). - libceph: avoid unnecessary pi lookups in calc_target() (FATE#324714). - libceph: use target pi for calc_target() calculations (FATE#324714). - libceph: always populate t->target_{oid,oloc} in calc_target() (FATE#324714). - libceph: make sure need_resend targets reflect latest map (FATE#324714). - libceph: delete from need_resend_linger before check_linger_pool_dne() (FATE#324714). - libceph: resend on PG splits if OSD has RESEND_ON_SPLIT (FATE#324714). - libceph: drop need_resend from calc_target() (FATE#324714). - libceph: MOSDOp v8 encoding (actual spgid + full hash) (FATE#324714). - libceph: ceph_connection_operations::reencode_message() method (FATE#324714). - libceph: encode_{pgid,oloc}() helpers (FATE#324714). - libceph: introduce ceph_spg, ceph_pg_to_primary_shard() (FATE#324714). - libceph: new pi->last_force_request_resend (FATE#324714). - libceph: foldreq->last_force_resend into ceph_osd_request_target (FATE#324714). - libceph: support SERVER_JEWEL feature bits (FATE#324714). - libceph: advertise support for OSD_POOLRESEND (FATE#324714). - libceph: handle non-empty dest in ceph_{oloc,oid}_copy() (FATE#324714). - libceph: new features macros (FATE#324714). - libceph: remove ceph_sanitize_features() workaround (FATE#324714). - ceph: update ceph_dentry_info::lease_session when necessary (FATE#324714). - ceph: new mount option that specifies fscache uniquifier (FATE#324714). - ceph: avoid accessing freeing inode in ceph_check_delayed_caps() (FATE#324714). - ceph: avoid invalid memory dereference in the middle of umount (FATE#324714). - ceph: getattr before read on ceph.* xattrs (FATE#324714). - ceph: don't re-send interrupted flock request (FATE#324714). - ceph: cleanup writepage_nounlock() (FATE#324714). - ceph: redirty page when writepage_nounlock() skips unwritable page (FATE#324714). - ceph: remove useless page->mapping check in writepage_nounlock() (FATE#324714). - ceph: update the 'approaching max_size' code (FATE#324714). - ceph: re-request max size after importing caps (FATE#324714). - ceph: ensure RNG is seeded before using (FATE#324714). - commit f96ea6d- Documentation/kernel-parameters.txt: Update 'memmap=' boot option description (bnc#1077917). - Update patches.suse/0001-x86-KASLR-Parse-all-memmap-boot-option-entries.patch (bnc#1071680, bnc#1077917, fate#323473). - Update patches.suse/0002-x86-KASLR-Handle-the-memory-limit-specified-by-the-m.patch (bnc#1071680, bnc#1077917, fate#323473). - commit 139f441- RDS: Heap OOB write in rds_message_alloc_sgs() (CVE-2018-5332 bsc#1075621). - commit 8848928- RDS: null pointer dereference in rds_atomic_free_op (CVE-2018-5333 bsc#1075617). - commit 4d458e8- net: Fix double free and memory corruption in get_net_ns_by_id() (CVE-2017-15129 bsc#1074839). - commit 249e5ac- net: ipv4: emulate READ_ONCE() on ->hdrincl bit-field in raw_sendmsg() (CVE-2017-17712 bsc#1073229). - net: ipv4: fix for a race condition in raw_sendmsg (CVE-2017-17712 bsc#1073229). - commit 34b8075- sched/fair: Use a recently used CPU as an idle candidate and the basis for SIS (bnc#1066110). - sched/fair: Do not migrate if the prev_cpu is idle (bnc#1066110). - sched/fair: Restructure wake_affine to return a CPU id (bnc#1066110). - sched/fair: Remove unnecessary parameters from wake_affine_idle (bnc#1066110). - sched/fair: Sync task util before slow-path wakeup (bnc#1066110). - commit f574d1e- ipvlan: remove excessive packet scrubbing (bsc#1070799). - commit 0cc2da1- tipc: improve link resiliency when rps is activated (bsc#1068038). - commit edad3d6- series.conf: refresh (ran series_sort.py) - Refresh patches.drivers/nvme-also-expose-the-namespace-identification-sysfs-.patch. patches.drivers/nvme-fix-visibility-of-uuid-ns-attribute.patch. patches.drivers/nvme-introduce-a-nvme_ns_ids-structure.patch. patches.drivers/nvme-track-shared-namespaces.patch. - Update upstream reference: patches.drivers/block-Provide-blk_status_t-decoding-for-path-errors.patch. patches.drivers/dm-mpath-Use-blk_path_error.patch. patches.drivers/nvme-Add-more-command-status-translation.patch. patches.drivers/nvme-add-tracepoint-for-nvme_complete_rq.patch. patches.drivers/nvme-add-tracepoint-for-nvme_setup_cmd.patch. patches.drivers/nvme-multipath-Consult-blk_status_t-for-failover.patch. patches.drivers/nvme-multipath-Use-blk_path_error.patch. patches.drivers/nvmet-fc-cleanup-nvmet-add_port-remove_port.patch. - commit 8073960- btrfs: fix btrfs_evict_inode to handle abnormal inodes correctly (bsc#1078019). - commit 776dc75- Btrfs: fix unexpected return value of bio_readpage_error (bsc#1067598). - commit 30d5aee- scsi: lpfc: fix a couple of minor indentation issues (bsc#1076693,bsc#1076672). - scsi: lpfc: don't dereference localport before it has been null checked (bsc#1076693,bsc#1076672). - scsi: lpfc: correct sg_seg_cnt attribute min vs default (bsc#1076693,bsc#1076672). - commit 5817551- scsi: lpfc: update driver version to 11.4.0.6 (bsc#1076693). - scsi: lpfc: Beef up stat counters for debug (bsc#1076693). - scsi: lpfc: Fix infinite wait when driver unregisters a remote NVME port (bsc#1076693). - scsi: lpfc: Fix issues connecting with nvme initiator (bsc#1076693). - scsi: lpfc: Fix SCSI LUN discovery when SCSI and NVME enabled (bsc#1076693). - scsi: lpfc: Increase SCSI CQ and WQ sizes (bsc#1076693). - scsi: lpfc: Fix receive PRLI handling (bsc#1076693). - scsi: lpfc: Fix -EOVERFLOW behavior for NVMET and defer_rcv (bsc#1076693). - scsi: lpfc: Fix random heartbeat timeouts during heavy IO (bsc#1076693). - commit 89d95b9- nvme: add tracepoint for nvme_complete_rq (FATE#323952, FATE#322506). - nvme: add tracepoint for nvme_setup_cmd (FATE#323952, FATE#322506). - commit 870ce83- Update patch header for ibmvnic patches - Refresh patches.drivers/ibmvnic-Allocate-and-request-vpd-in-init_resources.patch. - Refresh patches.drivers/ibmvnic-Modify-buffer-size-and-number-of-queues-on-f.patch. - Refresh patches.drivers/ibmvnic-Revert-to-previous-mtu-when-unsupported-valu.patch. - commit ac37059- scsi: lpfc: update driver version to 11.4.0.5 (bsc#1076693). - scsi: lpfc: small sg cnt cleanup (bsc#1076693). - scsi: lpfc: Fix driver handling of nvme resources during unload (bsc#1076693). - scsi: lpfc: Fix crash during driver unload with running nvme traffic (bsc#1076693). - scsi: lpfc: Correct driver deregistrations with host nvme transport (bsc#1076693). - scsi: lpfc: correct port registrations with nvme_fc (bsc#1076693). - scsi: lpfc: Linux LPFC driver does not process all RSCNs (bsc#1076693). - scsi: lpfc: Fix ndlp ref count for pt2pt mode issue RSCN (bsc#1076693). - scsi: lpfc: Adjust default value of lpfc_nvmet_mrq (bsc#1076693). - scsi: lpfc: Fix display for debugfs queInfo (bsc#1076693). - scsi: lpfc: Driver fails to detect direct attach storage array (bsc#1076693). - scsi: lpfc: Raise maximum NVME sg list size for 256 elements (bsc#1076693). - scsi: lpfc: Fix NVME LS abort_xri (bsc#1076693). - scsi: lpfc: Fix crash after bad bar setup on driver attachment (bsc#1076693). - scsi: lpfc: Handle XRI_ABORTED_CQE in soft IRQ (bsc#1076693). - scsi: lpfc: Expand WQE capability of every NVME hardware queue (bsc#1076693). - scsi: lpfc: FLOGI failures are reported when connected to a private loop (bsc#1076693). - commit 1f4d880- net/mlx5e: Keep updating ethtool statistics when the interface is down (bsc#1046303 FATE#322944). - commit 4075ba4- KEYS: Fix race between updating and finding a negative key (CVE-2017-15951, bsc#1065615, bsc#1071927). - KEYS: don't let add_key() update an uninstantiated key (CVE-2017-15951, bsc#1065615, bsc#1071927). - commit d6cb5a2- net/mlx5: Fix memory leak in bad flow of mlx5_alloc_irq_vectors (bsc#1046303 FATE#322944). - commit c5e8efb- mm/mprotect: add a cond_resched() inside change_pmd_range() (bnc#1077871). - commit e2d94df- Refresh patches.drivers/nvme-fix-visibility-of-uuid-ns-attribute.patch. Fix upstream commit-id. - commit 4210304- blacklist.conf: add 040ee69226f8 - commit bc8f9b1- ipv6: ip6_make_skb() needs to clear cork.base.dst (bsc#1076830). - xfrm: Use __skb_queue_tail in xfrm_trans_queue (bsc#1076830). - tcp/dccp: fix other lockdep splats accessing ireq_opt (bsc#1076830). - tcp/dccp: fix lockdep splat in inet_csk_route_req() (bsc#1076830). - udp: fix bcast packet reception (bsc#1076830). - vti: fix NULL dereference in xfrm_input() (bsc#1076830). - sctp: Fix a big endian bug in sctp_diag_dump() (bsc#1076830). - commit 08c4a13- Update upstream reference: patches.drivers/ibmvnic-Allocate-and-request-vpd-in-init_resources.patch. patches.drivers/ibmvnic-Modify-buffer-size-and-number-of-queues-on-f.patch. patches.drivers/ibmvnic-Revert-to-previous-mtu-when-unsupported-valu.patch. - commit 3fd778c- xfs: validate sb_logsunit is a multiple of the fs blocksize (bsc#1077513). - commit b3bd89b- config: arm64: enable ARM64_HW_AFDBM and ARM64_PAN - commit 45aa9c3- lpfc: Fix hard lock up NMI in els timeout handling (bsc#1076672). - commit 203b3e9- lpfc: tie in to new dev_loss_tmo interface in nvme transport (bsc#1076672). - commit ccb6905- scsi: qla2xxx: Fix recursion while sending terminate exchange (bsc#1076093). - commit e94594b- qed* - bump drivers to version 8.10.10.55 (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - commit c7852cd- powerpc: Don't preempt_disable() in show_cpuinfo() (bsc#1065729). - commit 54d3151- genirq/msi: Fix populating multiple interrupts (bsc#1070194). - genirq: Track whether the trigger type has been set (bsc#1070194). - genirq: Fix for_each_action_of_desc() macro (bsc#1070194). - genirq: Make sparse_irq_lock protect what it should protect (bsc#1070194). - powerpc/xmon: Check before calling xive functions (FATE#322438, bsc#1065729). - powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo (bsc#1065729). - powerpc/jprobes: Disable preemption when triggered through ftrace (bsc#1065729). - KVM: PPC: Book3S HV: Always flush TLB in kvmppc_alloc_reset_hpt() (bsc#1061840). - KVM: PPC: Book3S HV: Fix use after free in case of multiple resize requests (bsc#1061840). - KVM: PPC: Book3S HV: Drop prepare_done from struct kvm_resize_hpt (bsc#1061840). - genirq/msi: Fix populating multiple interrupts (bsc#1070194). - genirq: Track whether the trigger type has been set (bsc#1070194). - genirq: Fix for_each_action_of_desc() macro (bsc#1070194). - genirq: Make sparse_irq_lock protect what it should protect (bsc#1070194). - powerpc/xmon: Check before calling xive functions (FATE#322438, bsc#1065729). - powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo (bsc#1065729). - powerpc/jprobes: Disable preemption when triggered through ftrace (bsc#1065729). - KVM: PPC: Book3S HV: Always flush TLB in kvmppc_alloc_reset_hpt() (bsc#1061840). - KVM: PPC: Book3S HV: Fix use after free in case of multiple resize requests (bsc#1061840). - KVM: PPC: Book3S HV: Drop prepare_done from struct kvm_resize_hpt (bsc#1061840). - commit 265931d- fs: Avoid invalidation in interrupt context in dio_complete() (bsc#1073407 bsc#1069135). - Refresh patches.suse/0023-block-switch-bios-to-blk_status_t.patch. - commit 4cb0a08- arm64: Move BP hardening to check_and_switch_context (bsc#1068032). - commit 45ddc1d- RDMA/bnxt_re: Add SRQ support for Broadcom adapters (bsc#1050244 FATE#322915). - RDMA/bnxt_re: expose detailed stats retrieved from HW (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Add support for MRs with Huge pages (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Add support for query firmware version (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Enable RoCE on virtual functions (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Add SRQ support for Broadcom adapters (bsc#1050244 FATE#322915). - RDMA/bnxt_re: expose detailed stats retrieved from HW (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Add support for MRs with Huge pages (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Add support for query firmware version (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Enable RoCE on virtual functions (bsc#1050244 FATE#322915). - commit 75e0deb- be2net: restore properly promisc mode after queues reconfiguration (bsc#1050252 FATE#322920). - net/mlx5e: Fix fixpoint divide exception in mlx5e_am_stats_compare (bsc#1071289). - be2net: restore properly promisc mode after queues reconfiguration (bsc#1050252 FATE#322920). - net/mlx5e: Fix fixpoint divide exception in mlx5e_am_stats_compare (bsc#1071289). - commit 8395ca0- Documentation: document array_ptr (bsc#1068032 CVE-2017-5753). - asm/nospec, array_ptr: sanitize speculative array de-references (bsc#1068032 CVE-2017-5753). - x86: implement array_ptr_mask() (bsc#1068032 CVE-2017-5753). - x86: introduce __uaccess_begin_nospec and ifence (bsc#1068032 CVE-2017-5753). - x86, __get_user: use __uaccess_begin_nospec (bsc#1068032 CVE-2017-5753). - x86, get_user: use pointer masking to limit speculation (bsc#1068032 CVE-2017-5753). - x86: narrow out of bounds syscalls to sys_read under speculation (bsc#1068032 CVE-2017-5753). - vfs, fdtable: prevent bounds-check bypass via speculative execution (bsc#1068032 CVE-2017-5753). - kvm, x86: update spectre-v1 mitigation (bsc#1068032 CVE-2017-5753). - nl80211: sanitize array index in parse_txq_params (bsc#1068032 CVE-2017-5753). - KVM: x86: Add memory barrier on vmcs field lookup (bsc#1068032 CVE-2017-5753). - Refresh patches.arch/23-x86-retpoline-entry-convert-entry-assembler-indirect-jumps.patch. - Refresh patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch. - Refresh patches.suse/0003-locking-barriers-introduce-new-observable-speculatio.patch. - Refresh patches.suse/0007-x86-entry-64-Add-unwind-hint-annotations.patch. - Refresh patches.suse/0014-fs-prevent-speculative-execution.patch. Usee array_ptr on x86. This should put things back to normal. - commit 469e0d1- PCI: Do not allocate more buses than available in parent (FATE#323948). - Refresh patches.drivers/0001-thunderbolt-tb-fix-use-after-free-in-tb_activate_pci.patch. - commit 4836e10- Delete patches.suse/net-mlx5-Fix-fixpoint-divide-exception-in-mlx5e_am_s.patch. replace with upstreamed patch - commit 4970de8- powerpc/pseries: rfi-flush: Call setup_rfi_flush() after LPM migration (bsc#1068032). Really fix the migration patch - Delete patches.arch/powerpc-rfi-flush-Make-setup_rfi_flush-not-__init.patch. - Delete patches.arch/powerpc-rfi-flush-prevent-crash-when-changing-flush-.patch. - commit 4efb860- Fix build error in drmem.c (bsc#1077428). - commit 522031e- Move fadump patches to powerpc section. - commit d2c2ae6- powerpc/pseries: Enable support of ibm,dynamic-memory-v2 (bsc#1077428). - powerpc/drmem: Add support for ibm, dynamic-memory-v2 property (bsc#1077428). - powerpc: Move of_drconf_cell struct to asm/drmem.h (bsc#1077428). - powerpc/pseries: Update memory hotplug code to use drmem LMB array (bsc#1077428). - powerpc/numa: Update numa code use walk_drmem_lmbs (bsc#1077428). - powerpc/mm: Separate ibm, dynamic-memory data from DT format (bsc#1077428). - powerpc/numa: Look up associativity array in of_drconf_to_nid_single (bsc#1077428). - powerpc/numa: Look up device node in of_get_usable_memory() (bsc#1077428). - powerpc/numa: Look up device node in of_get_assoc_arrays() (bsc#1077428). - powerpc/pseries: Enable support of ibm,dynamic-memory-v2 (bsc#1077428). - powerpc/drmem: Add support for ibm, dynamic-memory-v2 property (bsc#1077428). - powerpc: Move of_drconf_cell struct to asm/drmem.h (bsc#1077428). - powerpc/pseries: Update memory hotplug code to use drmem LMB array (bsc#1077428). - powerpc/numa: Update numa code use walk_drmem_lmbs (bsc#1077428). - powerpc/mm: Separate ibm, dynamic-memory data from DT format (bsc#1077428). - powerpc/numa: Look up associativity array in of_drconf_to_nid_single (bsc#1077428). - powerpc/numa: Look up device node in of_get_usable_memory() (bsc#1077428). - powerpc/numa: Look up device node in of_get_assoc_arrays() (bsc#1077428). - commit 25a4560- mm: numa: do not trap faults on shared data section pages (Automatic NUMA Balancing (fate#315482)). - commit ccce19f- fs: invalidate page cache after end_io() in dio completion (bsc#1073407 bsc#1069135). - fs: Fix page cache inconsistency when mixing buffered and AIO DIO (bsc#1073407 bsc#1069135). - commit fcc82bf- Refresh patches.drivers/ibmvnic-Allocate-and-request-vpd-in-init_resources.patch. - Refresh patches.drivers/ibmvnic-Modify-buffer-size-and-number-of-queues-on-f.patch. - Refresh patches.drivers/ibmvnic-Revert-to-previous-mtu-when-unsupported-valu.patch. Add commit hash - commit 917e6ff- powerpc/64s: Wire up cpu_show_meltdown() (bsc#1068032). - commit 066f80a- CDC-ACM: apply quirk for card reader (bsc#1060279). - commit b9670bb- x86/mce: Make machine check speculation protected (bsc#1068032 CVE-2017-5754). - commit 6961313- ibmvnic: Allocate and request vpd in init_resources (bsc#1076872). - ibmvnic: Revert to previous mtu when unsupported value requested (bsc#1076872). - ibmvnic: Modify buffer size and number of queues on failover (bsc#1076872). - commit 2ae4beb- ibmvnic: Fix IPv6 packet descriptors (bsc#1076899). - ibmvnic: Fix IP offload control buffer (bsc#1076899). - commit b164618- Refresh patches.drivers/nvmet-fc-cleanup-nvmet-add_port-remove_port.patch. - commit 04a2099- arm64: Turn on KPTI only on CPUs that need it (bsc#1076187). - arm64: kpti: Fix the interaction between ASID switching and software PAN (bsc#1068032). - arm64: SW PAN: Update saved ttbr0 value on enter_lazy_tlb (bsc#1068032). - arm64: SW PAN: Point saved ttbr0 at the zero page when switching to init_mm (bsc#1068032). - arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls (bsc#1068032). - arm64: cputype: Add MIDR values for Cavium ThunderX2 CPUs (bsc#1068032). - arm64: Implement branch predictor hardening for Falkor (bsc#1068032). - arm64: Implement branch predictor hardening for affected Cortex-A CPUs (bsc#1068032). - drivers/firmware: Expose psci_get_version through psci_ops structure (bsc#1068032). - arm64: cputype: Add missing MIDR values for Cortex-A72 and Cortex-A75 (bsc#1068032). - arm64: KVM: Make PSCI_VERSION a fast path (bsc#1068032). - arm64: KVM: Use per-CPU vector when BP hardening is enabled (bsc#1068032). - arm64: Add skeleton to harden the branch predictor against aliasing attacks (bsc#1068032). - arm64: Move post_ttbr_update_workaround to C code (bsc#1068032). - arm64: cpufeature: Pass capability structure to ->enable callback (bsc#1068032). - arm64: Take into account ID_AA64PFR0_EL1.CSV3 (bsc#1068032). - arm64: Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry (bsc#1068032). - arm64: use RET instruction for exiting the trampoline (bsc#1068032). - arm64: Define cputype macros for Falkor CPU (bsc#1068032). - arm64: entry.S: convert elX_irq (bsc#1068032). - arm64: entry.S convert el0_sync (bsc#1068032). - arm64: entry.S: convert el1_sync (bsc#1068032). - arm64: entry.S: Remove disable_dbg (bsc#1068032). - commit ff2c728- x86: Use __nostackprotect for sme_encrypt_kernel (fate#322123). - commit 26b52c7- scsi: fnic: do not call host reset from command abort (bsc#1075700). - commit d6f2a44- x86/mm: Rework wbinvd, hlt operation in stop_this_cpu() (fate#322123). - x86/mm: Encrypt the initrd earlier for BSP microcode update (fate#322123). - x86/mm: Prepare sme_encrypt_kernel() for PAGE aligned encryption (fate#322123). - x86/mm: Centralize PMD flags in sme_encrypt_kernel() (fate#322123). - x86/mm: Use a struct to reduce parameters for SME PGD mapping (fate#322123). - x86/mm: Clean up register saving in the __enc_copy() assembly code (fate#322123). - commit 1891f37- config: arm64: enable HARDEN_BRANCH_PREDICTOR - commit 4d0bfd9- RDMA/mlx5: Fix out-of-bound access while querying AH (bsc#1046305 FATE#322943). - IB/hfi1: Prevent a NULL dereference (bsc#1060463 FATE#323043). - nfp: use the correct index for link speed table (bsc#1055968). - net/mlx5e: Don't override netdev features field unless in error flow (bsc#1046303 FATE#322944). - net/mlx5: Fix error handling in load one (bsc#1046303 FATE#322944). - net/mlx5: Fix mlx5_get_uars_page to return error code (bsc#1046303 FATE#322944). - net/mlx5: Fix get vector affinity helper function (bsc#1046303 FATE#322944 bsc#1075185). - {net,ib}/mlx5: Don't disable local loopback multicast traffic when needed (bsc#1046303 FATE#322944). - commit f819e2e- rpm/mkspec-dtb: Remove COPYING file (bsc#1076905). It conflicts between different versions of dtb package. - commit 0e5fcf9- scsi: core: check for device state in __scsi_remove_target() (bsc#1071302). - scsi: fixup kernel warning during rmmod() (bsc#1071302). - commit df49e29- Refresh patches.drivers/block-Provide-blk_status_t-decoding-for-path-errors.patch. - Refresh patches.drivers/dm-mpath-Use-blk_path_error.patch. - Refresh patches.drivers/nvme-Add-more-command-status-translation.patch. - Refresh patches.drivers/nvme-multipath-Consult-blk_status_t-for-failover.patch. - Refresh patches.drivers/nvme-multipath-Use-blk_path_error.patch. - Refresh patches.drivers/nvme-pci-take-sglist-coalescing-in-dma_map_sg-into-a.patch. Re-sort series.conf - commit b506849- Delete patches.suse/e1000e-Avoid-receiver-overrun-interrupt-bursts.patch. See bsc#1075428 comment 24. A workaround is being discussed upstream. Remove this patch for now. I'll re-add it once the workaround lands upstream. - commit 5a22940- module: Add retpoline tag to VERMAGIC (bsc#1068032 CVE-2017-5754). - x86/cpufeature: Move processor tracing out of scattered features (bsc#1068032 CVE-2017-5754). - objtool: Improve error message for bad file argument (bsc#1068032 CVE-2017-5754). - objtool: Fix seg fault with gold linker (bsc#1068032 CVE-2017-5754). - x86/retpoline: Add LFENCE to the retpoline/RSB filling RSB macros (bsc#1068032 CVE-2017-5754). - x86/retpoline: Fill RSB on context switch for affected CPUs (bsc#1068032 CVE-2017-5754). - commit ffce37e- x86/retpoline: Remove compile time warning (bsc#1068032 CVE-2017-5754). - Update config files. - x86/retpoline: Fill return stack buffer on vmexit (bsc#1068032 CVE-2017-5754). - x86/retpoline/xen: Convert Xen hypercall indirect jumps (bsc#1068032 CVE-2017-5754). - x86/retpoline/hyperv: Convert assembler indirect jumps (bsc#1068032 CVE-2017-5754). - x86/retpoline/ftrace: Convert ftrace assembler indirect jumps (bsc#1068032 CVE-2017-5754). - x86/retpoline/entry: Convert entry assembler indirect jumps (bsc#1068032 CVE-2017-5754). - x86/retpoline/crypto: Convert crypto assembler indirect jumps (bsc#1068032 CVE-2017-5754). - x86/spectre: Add boot time option to select Spectre v2 mitigation (bsc#1068032 CVE-2017-5754). - x86/retpoline: Add initial retpoline support (bsc#1068032 CVE-2017-5754). - objtool: Allow alternatives to be ignored (bsc#1068032 CVE-2017-5754). - objtool: Detect jumps to retpoline thunks (bsc#1068032 CVE-2017-5754). - x86/alternatives: Fix optimize_nops() checking (bsc#1068032 CVE-2017-5754). - sysfs/cpu: Fix typos in vulnerability documentation (bsc#1068032 CVE-2017-5754). - x86/cpu: Implement CPU vulnerabilites sysfs functions (bsc#1068032 CVE-2017-5754). - sysfs/cpu: Add vulnerability folder (bsc#1068032 CVE-2017-5754). - x86/cpufeatures: Add X86_BUG_SPECTRE_V (bsc#1068032 CVE-2017-5754). - x86/Documentation: Add PTI description (bsc#1068032 CVE-2017-5754). - x86/pti: Unbreak EFI old_memmap (bsc#1068032 CVE-2017-5754). - x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN (bsc#1068032 CVE-2017-5754). - x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm (bsc#1068032 CVE-2017-5754). - x86/mm: Map cpu_entry_area at the same place on 4/5 level (bsc#1068032 CVE-2017-5754). - x86/mm: Set MODULES_END to 0xffffffffff000000 (bsc#1068032 CVE-2017-5754). - x86/dumpstack: Print registers for first stack frame (bsc#1068032 CVE-2017-5754). - x86/cpu, x86/pti: Do not enable PTI on AMD processors (bsc#1068032 CVE-2017-5754). - x86/pti: Enable PTI by default (bsc#1068032 CVE-2017-5754). - x86/ldt: Make LDT pgtable free conditional (bsc#1068032 CVE-2017-5754). - x86/mm: Remove preempt_disable/enable() from __native_flush_tlb() (bsc#1068032 CVE-2017-5754). - x86/smpboot: Remove stale TLB flush invocations (bsc#1068032 CVE-2017-5754). - commit 1c37e0f- x86/cpu/AMD: Make LFENCE a serializing instruction (bsc#1068032 CVE-2017-5753). - x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC (bsc#1068032 CVE-2017-5753). - Delete patches.suse/0001-x86-cpu-AMD-Make-the-LFENCE-instruction-serialized.patch. - Delete patches.suse/0002-x86-cpu-AMD-Remove-now-unused-definition-of-MFENCE_R.patch. - commit 739d51a- ipv6: fix possible mem leaks in ipv6_make_skb() (bsc#1076830). - sctp: Replace use of sockets_allocated with specified macro (bsc#1076830). - xfrm: Reinject transport-mode packets through tasklet (bsc#1076830). - xfrm: Fix xfrm_input() to verify state is valid when (encap_type < 0) (bsc#1076830). - openvswitch: Fix pop_vlan action for double tagged frames (bsc#1076830). - tcp: fix potential underestimation on rcv_rtt (bsc#1076830). - netfilter: xt_bpf: add overflow checks (bsc#1076830). - tcp md5sig: Use skb's saddr when replying to an incoming segment (bsc#1076830). - fou: fix some member types in guehdr (bsc#1076830). - sctp: make sure stream nums can match optlen in sctp_setsockopt_reset_streams (bsc#1076830). - tcp: use current time in tcp_rcv_space_adjust() (bsc#1076830). - tcp: use IPCB instead of TCP_SKB_CB in inet_exact_dif_match() (bsc#1076830). - net/packet: fix a race in packet_bind() and packet_notifier() (bsc#1076830). - packet: fix crash in fanout_demux_rollover() (bsc#1076830). - ipv6: Do not consider linkdown nexthops during multipath (bsc#1076830). - route: also update fnhe_genid when updating a route cache (bsc#1076830). - ipv6: avoid zeroing per cpu data again (bsc#1076830). - tcp: fix tcp_fastretrans_alert warning (bsc#1076830). - net: vrf: correct FRA_L3MDEV encode type (bsc#1076830). - tcp: fix tcp_mtu_probe() vs highest_sack (bsc#1076830). - xfrm: Fix GSO for IPsec with GRE tunnel (bsc#1076830). - xfrm: Clear sk_dst_cache when applying per-socket policy (bsc#1076830). - tap: double-free in error path in tap_open() (bsc#1076830). - packet: avoid panic in packet_getsockopt() (bsc#1076830). - tcp/dccp: fix ireq->opt races (bsc#1076830). - netfilter: xt_bpf: Fix XT_BPF_MODE_FD_PINNED mode of 'xt_bpf_info_v1' (bsc#1076830). - netfilter: nf_tables: fix update chain error (bsc#1076830). - netfilter: xt_socket: Restore mark from full sockets only (bsc#1076830). - xfrm: Fix negative device refcount on offload failure (bsc#1076830). - udp: perform source validation for mcast early demux (bsc#1076830). - IPv4: early demux can return an error code (bsc#1076830). - udpv6: Fix the checksum computation when HW checksum does not apply (bsc#1076830). - sctp: fix an use-after-free issue in sctp_sock_dump (bsc#1076830). - ip_tunnel: fix ip tunnel lookup in collect_md mode (bsc#1076830). - ip_tunnel: fix setting ttl and tos value in collect_md mode (bsc#1076830). - netfilter: ipvs: fix the issue that sctp_conn_schedule drops non-INIT packet (bsc#1076830). - xfrm: Clear RX SKB secpath xfrm_offload (bsc#1076830). - ip/options: explicitly provide net ns to __ip_options_echo() (bsc#1076830). - net/netfilter/nf_conntrack_core: Fix net_conntrack_lock() (bsc#1076830). - xfrm_user: fix info leak in build_aevent() (bsc#1076830). - xfrm_user: fix info leak in xfrm_notify_sa() (bsc#1076830). - netfilter: nf_tables: Fix nft limit burst handling (bsc#1076830). - netfilter: ipt_CLUSTERIP: fix use-after-free of proc entry (bsc#1076830). - esp: Fix error handling on layer 2 xmit (bsc#1076830). - net/packet: Fix Tx queue selection for AF_PACKET (bsc#1076830). - netfilter: ebt_nflog: fix unexpected truncated packet (bsc#1076830). - commit a12e319- powerpc/rfi-flush: prevent crash when changing flush type to fallback after system boot (bsc#1068032). - commit 8b07c66- tcp: refresh tcp_mstamp from timers callbacks (bsc#1061739). - tcp: refresh tp timestamp before tcp_mtu_probe() (bsc#1061739). - tcp: do tcp_mstamp_refresh before retransmits on TSQ handler (bsc#1061739). - tcp: fix TCP_SYNCNT flakes (bsc#1061739). - tcp: fix tcp_probe_timer() for TCP_USER_TIMEOUT (bsc#1061739). - tcp: fix tcp_rearm_rto() (bsc#1061739). - tcp: switch TCP TS option (RFC 7323) to 1ms clock (bsc#1061739). - tcp: replace misc tcp_time_stamp to tcp_jiffies32 (bsc#1061739). - tcp_lp: cache tcp_time_stamp (bsc#1061739). - tcp_westwood: use tcp_jiffies32 instead of tcp_time_stamp (bsc#1061739). - tcp: use tcp_jiffies32 in __tcp_oow_rate_limited() (bsc#1061739). - tcp: uses jiffies_32 to feed tp->chrono_start (bsc#1061739). - tcp: use tcp_jiffies32 to feed probe_timestamp (bsc#1061739). - tcp: use tcp_jiffies32 for rcv_tstamp and lrcvtime (bsc#1061739). - tcp: bic, cubic: use tcp_jiffies32 instead of tcp_time_stamp (bsc#1061739). - tcp_bbr: use tcp_jiffies32 instead of tcp_time_stamp (bsc#1061739). - tcp: use tcp_jiffies32 to feed tp->snd_cwnd_stamp (bsc#1061739). - tcp: use tcp_jiffies32 to feed tp->lsndtime (bsc#1061739). - dccp: do not use tcp_time_stamp (bsc#1061739). - tcp: introduce tcp_jiffies32 (bsc#1061739). - tcp: use tp->tcp_mstamp in output path (bsc#1061739). - commit a53ef41- Update upstream reference: patches.drivers/nvme-pci-take-sglist-coalescing-in-dma_map_sg-into-a.patch. - commit 5fce852- s390: add ppa to system call and program check path (bsc#1068032). - commit 0642e4e- nvme-pci: take sglist coalescing in dma_map_sg into account (FATE#323952, FATE#322506). - commit d73f2b8- Update config files: refresh arm64, ppc64le and s390x configs Some configs got removed from default but only in vanilla: CONFIG_TREE_RCU_TRACE and CONFIG_PPC_ICSWX* - commit b9e21dc- Update config files: fix x86_64/vanilla build breakage - commit 9c77b4d- x86/pti: Make unpoison of pgd for trusted boot work for real (bsc#1068032 CVE-2017-5754). - blacklist.conf: - commit 3bf8f4e- x86,perf: Disable intel_bts when PTI (bsc#1068032 CVE-2017-5754). - Update config files. - x86/pti: Fix !PCID and sanitize defines (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Remove dead logic in pti_user_pagetable_walk*() (bsc#1068032 CVE-2017-5754). - x86/tboot: Unbreak tboot with PTI enabled (bsc#1068032 CVE-2017-5754). - x86/tlb: Drop the _GPL from the cpu_tlbstate export (bsc#1068032 CVE-2017-5754). - x86/events/intel/ds: Use the proper cache flush method for mapping ds buffers (bsc#1068032 CVE-2017-5754). - x86/pti: Switch to kernel CR3 at early in entry_SYSCALL_compat() (bsc#1068032 CVE-2017-5754). - x86/pti: Make sure the user/kernel PTEs match (bsc#1068032 CVE-2017-5754). - x86/ldt: Plug memory leak in error path (bsc#1068032 CVE-2017-5754). - x86/ldt: Make the LDT mapping RO (bsc#1068032 CVE-2017-5754). - x86/mm/dump_pagetables: Allow dumping current pagetables (bsc#1068032 CVE-2017-5754). - x86/mm/dump_pagetables: Check user space page table for WX pages (bsc#1068032 CVE-2017-5754). - x86/mm/dump_pagetables: Add page table directory to the debugfs VFS hierarchy (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Add Kconfig (bsc#1068032 CVE-2017-5754). - x86/dumpstack: Indicate in Oops whether PTI is configured and enabled (bsc#1068032 CVE-2017-5754). - x86/mm: Clarify the whole ASID/kernel PCID/user PCID naming (bsc#1068032 CVE-2017-5754). - x86/mm: Use INVPCID for __native_flush_tlb_single() (bsc#1068032 CVE-2017-5754). - x86/mm: Optimize RESTORE_CR3 (bsc#1068032 CVE-2017-5754). - x86/mm: Use/Fix PCID to optimize user/kernel switches (bsc#1068032 CVE-2017-5754). - x86/mm: Abstract switching CR3 (bsc#1068032 CVE-2017-5754). - x86/mm: Allow flushing for future ASID switches (bsc#1068032 CVE-2017-5754). - x86/pti: Map the vsyscall page if needed (bsc#1068032 CVE-2017-5754). - x86/pti: Put the LDT in its own PGD if PTI is on (bsc#1068032 CVE-2017-5754). - x86/mm/64: Make a full PGD-entry size hole in the memory map (bsc#1068032 CVE-2017-5754). - x86/events/intel/ds: Map debug buffers in cpu_entry_area (bsc#1068032 CVE-2017-5754). - x86/cpu_entry_area: Add debugstore entries to cpu_entry_area (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Map ESPFIX into user space (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Share entry text PMD (bsc#1068032 CVE-2017-5754). - irq: Make the irqentry text section unconditional (bsc#1068032 CVE-2017-5754). - x86/entry: Align entry text section to PMD boundary (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Share cpu_entry_area with user space page tables (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Force entry through trampoline when PTI active (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Add functions to clone kernel PMDs (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Populate user PGD (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Allocate a separate user PGD (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Allow NX poison to be set in p4d/pgd (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Add mapping helper functions (bsc#1068032 CVE-2017-5754). - x86/pti: Add the pti= cmdline option and documentation (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Add infrastructure for page table isolation (bsc#1068032 CVE-2017-5754). - drivers/misc/intel/pti: Rename the header file to free up the namespace (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Prepare the x86/entry assembly code for entry/exit CR3 switching (bsc#1068032 CVE-2017-5754). - x86/mm/pti: Disable global pages if PAGE_TABLE_ISOLATION=y (bsc#1068032 CVE-2017-5754). - x86/cpufeatures: Add X86_BUG_CPU_INSECURE (bsc#1068032 CVE-2017-5754). - commit b8791ed- powerpc/rfi-flush: Add DEBUG_RFI config option (bsc#1068032). - commit ff01a26- KVM: Fix stack-out-of-bounds read in write_mmio (CVE-2017-17741 bsc#1073311). - commit a0834ee- x86/platform/uv/BAU: Replace hard-coded values with MMR definitions (bsc#1076263 #fate#322814). - x86/platform/UV: Fix UV4A BAU MMRs (bsc#1076263 #fate#322814). - x86/platform/UV: Fix GAM MMR references in the UV x2apic code (bsc#1076263 #fate#322814). - x86/platform/UV: Fix GAM MMR changes in UV4A (bsc#1076263 [#]fate#322814). - x86/platform/UV: Add references to access fixed UV4A HUB MMRs (bsc#1076263 #fate#322814). - x86/platform/UV: Update uv_mmrs.h to prepare for UV4A fixes (bsc#1076263 #fate#322814). - commit fe3d886- x86/boot/KASLR: Prefer mirrored memory regions for the kernel physical address (bnc#1071680, fate#323473). - x86/KASLR: Parse all 'memmap=' boot option entries (bnc#1071680, fate#323473). - x86/boot/KASLR: Wrap e820 entries walking code into new function process_e820_entries() (bnc#1071680, fate#323473). - x86/KASLR: Handle the memory limit specified by the 'memmap=' and 'mem=' boot options (bnc#1071680, fate#323473). - x86/boot/KASLR: Switch to pass struct mem_vector to process_e820_entry() (bnc#1071680, fate#323473). - x86/boot/KASLR: Rename process_e820_entry() into process_mem_region() (bnc#1071680, fate#323473). - efi: Introduce efi_early_memdesc_ptr to get pointer to memmap descriptor (bnc#1071680, fate#323473). - Refresh patches.suse/0003-x86-KASLR-public-the-function-for-getting-random-lon.patch. - commit 08d4ed7- Update supported.conf + drivers/rpmsg/rpmsg_core - commit 3bebef7- powerpc/rfi-flush: Make setup_rfi_flush() not __init (bsc#1068032). - commit 475655a- serial: 8250_pci: Add Amazon PCI serial device ID (bsc#1076416). - commit a5ea307- net/mlx5: Fix fixpoint divide exception in mlx5e_am_stats_compare (bsc#1071289). - commit 3a609ef- powerpc/pseries: include linux/types.h in asm/hvcall.h (bsc#1068032). - commit cf01f3a- powerpc/64s: Allow control of RFI flush via debugfs (bsc#1068032). - Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch. Also remove the sysfs interface of the same now that there is upstream solution. - commit c30bac4- kernel-obs-build.spec.in: enable xfs module This allows the public cloud team to build images with XFS as root filesystem - commit 95a2d6f- powerpc/xmon: Add RFI flush related fields to paca dump (bsc#1068032). - commit 87bb47e- macros.kernel-source: pass -f properly in module subpackage (boo#1076393). - commit 66bd9b8- iwlwifi: pcie: fix DMA memory mapping / unmapping (FATE#322675). - commit ce89961- Refresh patches.drivers/ibmvnic-Fix-pending-MAC-address-changes.patch. - commit 4c95b8e- Refresh patches.drivers/ibmvnic-Fix-pending-MAC-address-changes.patch. Add commit hash - commit b83a6a8- ALSA: pcm: Remove yet superfluous WARN_ON() (bsc#1051510). - commit 10af5fa- ALSA: hda - Apply the existing quirk to iMac 14,1 (bsc#1051510). - ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant (bsc#1051510). - commit 82d50bd- Move the sound patch to sorted section Also refreshed the upstreamed patch tags - commit affe9a9- s390/mm: use generic mm_hooks (bsc#1068032 CVE-2017-5754). - commit 565b1ca- Refresh patches.arch/21-x86-cpu_entry_area-move-it-to-a-separate-unit.patch. - commit b987a74- x86/kaslr: Fix the vaddr_end mess (bsc#1068032 CVE-2017-5754). - blacklist.conf: - init: Invoke init_espfix_bsp() from mm_init() (bsc#1068032 CVE-2017-5754). - x86/cpu_entry_area: Move it out of the fixmap (bsc#1068032 CVE-2017-5754). - x86/cpu_entry_area: Move it to a separate unit (bsc#1068032 CVE-2017-5754). - x86/mm: Create asm/invpcid.h (bsc#1068032 CVE-2017-5754). - x86/mm: Put MMU to hardware ASID translation in one place (bsc#1068032 CVE-2017-5754). - x86/mm: Remove hard-coded ASID limit checks (bsc#1068032 CVE-2017-5754). - x86/mm: Move the CR3 construction functions to tlbflush.h (bsc#1068032 CVE-2017-5754). - x86/mm: Add comments to clarify which TLB-flush functions are supposed to flush what (bsc#1068032 CVE-2017-5754). - x86/mm: Remove superfluous barriers (bsc#1068032 CVE-2017-5754). - x86/mm: Use __flush_tlb_one() for kernel memory (bsc#1068032 CVE-2017-5754). - x86/microcode: Dont abuse the TLB-flush interface (bsc#1068032 CVE-2017-5754). - x86/uv: Use the right TLB-flush API (bsc#1068032 CVE-2017-5754). - x86/entry: Rename SYSENTER_stack to CPU_ENTRY_AREA_entry_stack (bsc#1068032 CVE-2017-5754). - x86/doc: Remove obvious weirdnesses from the x86 MM layout documentation (bsc#1068032 CVE-2017-5754). - x86/mm/64: Improve the memory map documentation (bsc#1068032 CVE-2017-5754). - x86/ldt: Prevent LDT inheritance on exec (bsc#1068032 CVE-2017-5754). - x86/ldt: Rework locking (bsc#1068032 CVE-2017-5754). - x86/ldt/64: Refresh DS and ES when modify_ldt changes an entry (bsc#1068032 CVE-2017-5754). - arch, mm: Allow arch_dup_mmap() to fail (bsc#1068032 CVE-2017-5754). - x86/vsyscall/64: Warn and fail vsyscall emulation in NATIVE mode (bsc#1068032 CVE-2017-5754). - x86/vsyscall/64: Explicitly set _PAGE_USER in the pagetable hierarchy (bsc#1068032 CVE-2017-5754). - x86/mm/dump_pagetables: Make the address hints correct and readable (bsc#1068032 CVE-2017-5754). - x86/mm/dump_pagetables: Check PAGE_PRESENT for real (bsc#1068032 CVE-2017-5754). - commit 7f3f7c7- ALSA: seq: Make ioctls race-free (CVE-2018-1000004,bsc#1076017). - commit 971e9f4- scsi: sr: wait for the medium to become ready (bsc#1048585). - cdrom: wait for tray to close (bsc#1048585). - cdrom: factor out common open_for_* code (bsc#1048585). - delay: add poll_event_interruptible (bsc#1048585). - commit 4aae228- x86/intel_rdt: Fix a silent failure when writing zero value schemata (fate#324327). - x86/intel_rdt: Add diagnostics when making directories (fate#324327). - x86/intel_rdt: Add diagnostics when writing the cpus file (fate#324327). - x86/intel_rdt: Add diagnostics when writing the tasks file (fate#324327). - x86/intel_rdt: Add diagnostics when writing the schemata file (fate#324327). - x86/intel_rdt: Add framework for better RDT UI diagnostics (fate#324327). - commit 14b8e33- x86/cpuid: Replace set/clear_bit32() (fate#324438). - x86/cpufeatures: Enable new SSE/AVX/AVX512 CPU features (fate#324438). - x86/cpuid: Prevent out of bound access in do_clear_cpu_cap() (fate#324438). - x86/cpuid: Add generic table for CPUID dependencies (fate#324438). - commit 02ab826- Update config files. Disabled CONFIG_EFI_SECURE_BOOT_LOCK_DOWN. (bsc#1075051) - commit 29e80d3- bpf: fix two missing target_size settings in bpf_convert_ctx_access (bsc#1073928). - commit 7f7bbde- Re-sort previous bcache patches in the sorted section - commit fb5ff24- bcache: check return value of register_shrinker (bsc#1076110). - bcache: recover data from backing when data is clean (bsc#1076110, bsc#1043652). - bcache: Fix building error on MIPS (bsc#1076110). - bcache: add a comment in journal bucket reading (bsc#1076110). - bcache: explicitly destroy mutex while exiting (bsc#1076110). - bcache: fix wrong cache_misses statistics (bsc#1076110). - bcache: update bucket_in_use in real time (bsc#1076110). - bcache: convert cached_dev.count from atomic_t to refcount_t (bsc#1076110). - bcache: only permit to recovery read error when cache device is clean (bsc#1076110, bsc#1043652). - bcache: writeback rate clamping: make 32 bit safe (bsc#1076110). - bcache: safeguard a dangerous addressing in closure_queue (bsc#1076110). - bcache: rearrange writeback main thread ratelimit (bsc#1076110). - bcache: writeback rate shouldn't artifically clamp (bsc#1076110). - bcache: smooth writeback rate control (bsc#1076110). - bcache: implement PI controller for writeback rate (bsc#1076110). - bcache: don't write back data if reading it failed (bsc#1076110, bsc#1043652). - bcache: remove unused parameter (bsc#1076110). - bcache: update bio->bi_opf bypass/writeback REQ_ flag hints (bsc#1076110). - bcache: Remove redundant set_capacity (bsc#1076110). - bcache: rewrite multiple partitions support (bsc#1076110, bsc#1038085). - bcache: fix a comments typo in bch_alloc_sectors() (bsc#1076110). - bcache: check ca->alloc_thread initialized before wake up it (bsc#1076110). - bcache: Avoid nested function definition (bsc#1076110). - bcache: use llist_for_each_entry_safe() in __closure_wake_up() (bsc#1076110). - bcache: initialize dirty stripes in flash_dev_run() (bsc#1076110). - bcache: fix bch_hprint crash and improve output (bsc#1076110). - bcache: Update continue_at() documentation (bsc#1076110). - bcache: silence static checker warning (bsc#1076110). - bcache: fix for gc and write-back race (bsc#1076110). - bcache: increase the number of open buckets (bsc#1076110). - bcache: Correct return value for sysfs attach errors (bsc#1076110). - bcache: correct cache_dirty_target in __update_writeback_rate() (bsc#1076110). - bcache: gc does not work when triggering by manual command (bsc#1076110, bsc#1038078). - bcache: Don't reinvent the wheel but use existing llist API (bsc#1076110). - bcache: do not subtract sectors_to_gc for bypassed IO (bsc#1076110). - bcache: fix sequential large write IO bypass (bsc#1076110). - commit 54ef3ac- bcache: Fix leak of bdev reference (bsc#1076110). - commit fbfa4d4- Update patches.drivers/bpf-don-t-prune-branches-when-a-scalar-is-replaced-w.patch references (add CVE-2017-17855 bsc#1073928). - Update patches.drivers/bpf-fix-incorrect-sign-extension-in-check_alu_op.patch references (add CVE-2017-16995 bsc#1073928). - Update patches.drivers/bpf-fix-missing-error-return-in-check_stack_boundary.patch references (add CVE-2017-17857 bsc#1073928). - Update patches.drivers/bpf-force-strict-alignment-checks-for-stack-pointers.patch references (add CVE-2017-17856 bsc#1073928). - Update patches.drivers/bpf-verifier-fix-bounds-calculation-on-BPF_RSH.patch references (add CVE-2017-17853 bsc#1073928). - commit e19e1fe- x86/mm, KVM: Fix warning when !CONFIG_PREEMPT_COUNT (bsc#1068032 CVE-2017-5754). - KVM: nVMX: fix HOST_CR3/HOST_CR4 cache (bsc#1068032 CVE-2017-5754). - Refresh patches.arch/19-x86-mm-implement-pcid-based-optimization-try-to-preserve-old-tlb-entries-using-pcid.patch. - Refresh patches.arch/23-x86-mm-factor-out-cr3-building-code.patch. - commit 237ac1a- x86/mm/64: Fix reboot interaction with CR4.PCIDE (bsc#1068032 CVE-2017-5754). - blacklist.conf: - x86/mm/64: Initialize CR4.PCIDE early (bsc#1068032 CVE-2017-5754). - x86/hibernate/64: Mask off CR3's PCID bits in the saved CR3 (bsc#1068032 CVE-2017-5754). - x86/mm: Add the 'nopcid' boot option to turn off PCID (bsc#1068032 CVE-2017-5754). - x86/mm: Enable CR4.PCIDE on supported systems (bsc#1068032 CVE-2017-5754). - Revert "x86/mm: Stop calling leave_mm() in idle code" (bsc#1068032 CVE-2017-5754). - x86/mm: Remove debug/x86/tlb_defer_switch_to_init_mm (bsc#1068032 CVE-2017-5754). - x86/mm: Tidy up "x86/mm: Flush more aggressively in lazy TLB mode" (bsc#1068032 CVE-2017-5754). - x86/mm/64: Remove the last VM_BUG_ON() from the TLB code (bsc#1068032 CVE-2017-5754). - x86/mm: Flush more aggressively in lazy TLB mode (bsc#1068032 CVE-2017-5754). - x86/mm: Factor out CR3-building code (bsc#1068032 CVE-2017-5754). - x86/mm: Get rid of VM_BUG_ON in switch_tlb_irqs_off() (bsc#1068032 CVE-2017-5754). - x86/mm/64: Fix an incorrect warning with CONFIG_DEBUG_VM=y, !PCID (bsc#1068032 CVE-2017-5754). - x86/mm: Reinitialize TLB state on hotplug and resume (bsc#1068032 CVE-2017-5754). - x86/mm: Implement PCID based optimization: try to preserve old TLB entries using PCID (bsc#1068032 CVE-2017-5754). - x86/mm, KVM: Teach KVM's VMX code that CR3 isn't a constant (bsc#1068032 CVE-2017-5754). - x86/mm: Stop calling leave_mm() in idle code (bsc#1068032 CVE-2017-5754). - x86/mm: Rework lazy TLB mode and TLB freshness tracking (bsc#1068032 CVE-2017-5754). - x86/mm: Remove reset_lazy_tlbstate() (bsc#1068032 CVE-2017-5754). - x86/mm: Track the TLB's tlb_gen and update the flushing algorithm (bsc#1068032 CVE-2017-5754). - x86/mm: Give each mm TLB flush generation a unique ID (bsc#1068032 CVE-2017-5754). - x86/ldt: Simplify the LDT switching logic (bsc#1068032 CVE-2017-5754). - x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code (bsc#1068032 CVE-2017-5754). - x86/mm: Don't reenter flush_tlb_func_common() (bsc#1068032 CVE-2017-5754). - x86/mm: Rework lazy TLB to track the actual loaded mm (bsc#1068032 CVE-2017-5754). - x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code (bsc#1068032 CVE-2017-5754). - x86/mm: Use new merged flush logic in arch_tlbbatch_flush() (bsc#1068032 CVE-2017-5754). - x86/mm: Refactor flush_tlb_mm_range() to merge local and remote cases (bsc#1068032 CVE-2017-5754). - x86/mm: Change the leave_mm() condition for local TLB flushes (bsc#1068032 CVE-2017-5754). - x86/mm: Pass flush_tlb_info to flush_tlb_others() etc (bsc#1068032 CVE-2017-5754). - mm, x86/mm: Make the batched unmap TLB flush API more generic (bsc#1068032 CVE-2017-5754). - x86/mm: Reduce indentation in flush_tlb_func() (bsc#1068032 CVE-2017-5754). - x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range() (bsc#1068032 CVE-2017-5754). - commit 10bb3d6- bpf: simplify narrower ctx access (bsc#1073928). - commit e69d191- nfp: always unmask aux interrupts at init (bsc#1055968). - cxgb4: Fix FW flash errors (bsc#1064802 bsc#1066129). - net/sched: Fix update of lastuse in act modules implementing stats_update (bsc#1056787). - IB/srpt: Fix ACL lookup during login (bsc#1046306 FATE#322942). - RDMA/netlink: Fix locking around __ib_get_device_by_index (bsc#1046306 FATE#322942). - IB/ipoib: Fix race condition in neigh creation (bsc#1046307 FATE#322941). - IB/mlx4: Fix mlx4_ib_alloc_mr error flow (bsc#1046302 FATE#322945). - RDMA/cxgb3: remove redundant first assignement of sqp (bsc#1046306 FATE#322942). - commit 861131d- bpf: fix integer overflows (CVE-2017-17854 bsc#1073928). - commit 30aa5d1- bpf: fix 32-bit ALU op verification (CVE-2017-17852 bsc#1073928). - commit 9e3ea9b- bpf: fix incorrect tracking of register size truncation (CVE-2017-16996 bsc#1073928). - commit fcb9274- bpf: fix branch pruning logic (CVE-2017-17862 CVE-2017-17864 bsc#1073928). - commit 72c5166- bpf: move global verifier log into verifier environment (bsc#1073928). - Refresh patches.drivers/bpf-fix-missing-error-return-in-check_stack_boundary.patch. - Refresh patches.drivers/bpf-verifier-fix-bounds-calculation-on-BPF_RSH.patch. - Refresh patches.suse/bpf-prevent-out-of-bounds-speculation.patch. - commit be080dc- bpf: encapsulate verifier log state into a structure (bsc#1073928). - bpf/verifier: improve disassembly of BPF_NEG instructions (bsc#1073928). - bpf/verifier: improve disassembly of BPF_END instructions (bsc#1073928). - commit 1108f7e- Move Spectre BPF fixes into sorted section - Refresh patches.drivers/bpf-Introduce-bpf_map-ID.patch. - Refresh patches.drivers/bpf-free-up-BPF_JMP-BPF_CALL-BPF_X-opcode.patch. - Refresh patches.suse/bpf-array-fix-overflow-in-max_entries-and-undefined-.patch. - Refresh patches.suse/bpf-prevent-out-of-bounds-speculation.patch. (Strictly speaking, not exactly a refresh as the resulting expanded tree differs but I preferred to order the members of struct bpf_map as they are in mainline.) - commit 7834099- Update config files: run oldconfig on vanilla (HMM merge fallout) - commit ffda3e4- x86/dumpstack: Fix partial register dumps (bsc#1068032 CVE-2017-5754). - x86/process: Define cpu_tss_rw in same section as declaration (bsc#1068032 CVE-2017-5754). - x86/xen/64: Fix the reported SS and CS in SYSCALL (bsc#1068032 CVE-2017-5754). - x86/entry/64: Fix entry_SYSCALL_64_after_hwframe() IRQ tracing (bsc#1068032 CVE-2017-5754). - Refresh patches.arch/10-x86-dumpstack-handle-stack-overflow-on-all-stacks.patch. - Refresh patches.arch/22-x86-entry-64-make-cpu_entry_area-tss-read-only.patch. - commit ea8be21- x86/cpufeatures: Make CPU bugs sticky (bsc#1068032 CVE-2017-5754). - x86/paravirt: Provide a way to check for hypervisors (bsc#1068032 CVE-2017-5754). - x86/virt: Add enum for hypervisors to replace x86_hyper (bsc#1068032 CVE-2017-5754). - x86/virt, x86/platform: Merge 'struct x86_hyper' into 'struct x86_platform' and 'struct x86_init' (bsc#1068032 CVE-2017-5754). - x86/paravirt: Dont patch flush_tlb_single (bsc#1068032 CVE-2017-5754). - x86/entry/64: Make cpu_entry_area.tss read-only (bsc#1068032 CVE-2017-5754). - x86/entry: Clean up the SYSENTER_stack code (bsc#1068032 CVE-2017-5754). - x86/entry/64: Remove the SYSENTER stack canary (bsc#1068032 CVE-2017-5754). - x86/entry/64: Move the IST stacks into struct cpu_entry_area (bsc#1068032 CVE-2017-5754). - x86/entry/64: Create a per-CPU SYSCALL entry trampoline (bsc#1068032 CVE-2017-5754). - x86/xen/64: Rearrange the SYSCALL entries (bsc#1068032 CVE-2017-5754). - x86/entry/64: Return to userspace from the trampoline stack (bsc#1068032 CVE-2017-5754). - x86/entry/64: Use a per-CPU trampoline stack for IDT entries (bsc#1068032 CVE-2017-5754). - x86/espfix/64: Stop assuming that pt_regs is on the entry stack (bsc#1068032 CVE-2017-5754). - x86/entry/64: Separate cpu_current_top_of_stack from TSS.sp0 (bsc#1068032 CVE-2017-5754). - x86/entry: Remap the TSS into the CPU entry area (bsc#1068032 CVE-2017-5754). - x86/entry: Move SYSENTER_stack to the beginning of struct tss_struct (bsc#1068032 CVE-2017-5754). - x86/dumpstack: Handle stack overflow on all stacks (bsc#1068032 CVE-2017-5754). - x86/entry: Fix assumptions that the HW TSS is at the beginning of cpu_tss (bsc#1068032 CVE-2017-5754). - x86/mm/fixmap: Generalize the GDT fixmap mechanism, introduce struct cpu_entry_area (bsc#1068032 CVE-2017-5754). - x86/entry/gdt: Put per-CPU GDT remaps in ascending order (bsc#1068032 CVE-2017-5754). - x86/dumpstack: Add get_stack_info() support for the SYSENTER stack (bsc#1068032 CVE-2017-5754). - x86/entry/64: Allocate and enable the SYSENTER stack (bsc#1068032 CVE-2017-5754). - x86/irq/64: Print the offending IP in the stack overflow warning (bsc#1068032 CVE-2017-5754). - x86/unwinder: Handle stack overflows more gracefully (bsc#1068032 CVE-2017-5754). - x86/unwinder/orc: Dont bail on stack overflow (bsc#1068032 CVE-2017-5754). - x86/entry/64/paravirt: Use paravirt-safe macro to access eflags (bsc#1068032 CVE-2017-5754). - commit 4ffe4d7- Refresh patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch. Add missing hunk - commit 77b0afb- bpf, array: fix overflow in max_entries and undefined behavior in index_mask (bsc#1068032 CVE-2017-5753). - commit e1fc2a6- s390/disassembler: correct disassembly lines alignment (bnc#1072915, LTC#161577). - commit 588da4b- powerpc/pseries/rfi-flush: Call setup_rfi_flush() after LPM migration (bsc#1068032). - powerpc/rfi-flush: Move the logic to avoid a redo into the sysfs code (bsc#1068032). - commit 1eb315e- s390/pci: handle insufficient resources during dma tlb flush (bnc#1072915, LTC#163393). - s390/disassembler: increase show_code buffer size (bnc#1072915, LTC#161577). - s390/qeth: fix early exit from error path (bnc#1072915, LTC#162173). - s390: fix transactional execution control register handling (bnc#1072915, LTC#162116). - s390/disassembler: add missing end marker for e7 table (bnc#1072915, LTC#162117). - commit aa6f28e- dm mpath: Use blk_path_error (FATE#323952, FATE#322506). - nvme/multipath: Use blk_path_error (FATE#323952, FATE#322506). - block: Provide blk_status_t decoding for path errors (FATE#323952, FATE#322506). - nvme/multipath: Consult blk_status_t for failover (FATE#323952, FATE#322506). - nvme: Add more command status translation (FATE#323952, FATE#322506). - commit 0e5402c- scripts/git_sort/git_sort.py: add Jens Axboe's for-next branch - commit 07603e6- nvme_fc: correct hang in nvme_ns_remove() (bsc#1075811). - nvme_fc: fix rogue admin cmds stalling teardown (bsc#1075811). - commit 529f10d- Refresh patches.suse/bpf-prevent-out-of-bounds-speculation.patch. - Delete patches.suse/0004-bpf-prevent-speculative-execution-in-eBPF-interprete.patch. Update the upstream status of the former. And removed the latter as it has been just replaced by the proper upstream solution. - commit c092517- nvme: Fix NULL dereference on reservation request (FATE#323952, FATE#322506). - commit 989d61e- Refresh patches.drivers/nvme-mpath-fix-last-path-removal-during-traffic.patch. - commit b181043- iw_cxgb4: only clear the ARMED bit if a notification is needed (bsc#1074762). - commit c4e49f6- drm/i915/cfl: Adding more Coffee Lake PCI IDs (FATE#322643 bsc#1055900). - x86/gpu: add CFL to early quirks (FATE#322643 bsc#1055900). - drm/i915: Apply Display WA #1183 on skl, kbl, and cfl (FATE#322643 bsc#1055900). - drm/i915/cnl: Map VBT DDC Pin to BSpec DDC Pin (FATE#322643 bsc#1055900). - drm/i915: Pass encoder type to cnl_ddi_vswing_sequence() explicitly (FATE#322643 bsc#1055900). - drm/i915/kbl: Change a KBL pci id to GT2 from GT1.5 (FATE#322643 bsc#1055900). - drm/i915: rework IS_*_GT* macros (FATE#322643 bsc#1055900). - drm/i915: mark all device info struct with __initconst (FATE#322643 bsc#1055900). - drm/i915: add GT number to intel_device_info (FATE#322643 bsc#1055900). - drm/i915: Unify GT* and GT3 definitions (FATE#322643 bsc#1055900). - commit 1aca3f9- ibmvnic: Don't handle RX interrupts when not up (bsc#1075066). - powerpc/tm: Flush TM only if CPU has TM feature (bsc#1075746). - commit 10ca720- Delete buggy i915 WA#1133 Upstream reverted the commit via 7a8b70535037. - commit f3d58a2- enic: Add support for 'ethtool -g/-G' (bsc#1037697). - enic: reset fetch index (bsc#1037697). - commit 1de5aa3- bpf: prevent out-of-bounds speculation (bsc#1068032 CVE-2017-5753). - Refresh patches.drivers/bpf-Introduce-bpf_map-ID.patch. - Refresh patches.drivers/bpf-free-up-BPF_JMP-BPF_CALL-BPF_X-opcode.patch. - commit 5e34282- bnxt_en: Fix the 'Invalid VF' id check in bnxt_vf_ndo_prep routine (bsc#1050242 FATE#32291). - bnxt_en: Fix population of flow_type in bnxt_hwrm_cfa_flow_alloc() (bsc#1050242 FATE#32291). - commit a5c4842- powerpc/powernv: Check device-tree for RFI flush settings (bsc#1068032). - powerpc/pseries: Query hypervisor for RFI flush settings (bsc#1068032). - powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti (bsc#1068032). - powerpc/64s: Add support for RFI flush of L1-D cache (bsc#1068032). - powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL (bsc#1068032). - powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL (bsc#1068032). - powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL (bsc#1068032). - powerpc/64s: Simple RFI macro conversions (bsc#1068032). - powerpc/64: Add macros for annotating the destination of rfid/hrfid (bsc#1068032). - powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper (bsc#1068032). - powerpc/64s: masked_interrupt() returns to kernel so avoid restoring r13 (bsc#1068032). - powerpc/64s: Add EX_SIZE definition for paca exception save areas (bsc#1068032). - commit 4d37f12- ibmvnic: Fix pending MAC address changes (bsc#1075627). - commit 6c5f5a0- powerpc/pseries: Make RAS IRQ explicitly dependent on DLPAR WQ (FATE#323745, bsc#1067906). - commit a40c0d4- Refresh patches.suse/cpufreq-intel_pstate-Temporarily-boost-P-state-when-exiting-from-idle.patch. - commit 0b73b50- Refresh patches.drivers/mfd-Add-support-for-Cherry-Trail-Dollar-Cove-TI-PMIC (bsc#1068546) Fix the i2c probe due to missing empty table - commit d3b0394- rpm/kernel-binary.spec.in: more specific kGraft Provides: (fate#323682) Follow openSUSE packaging practices described at https://en.opensuse.org/openSUSE:Package_dependencies#Renaming_a_package. - commit 050081b- ALSA: pcm: Allow aborting mutex lock at OSS read/write loops (bsc#1051510). - ALSA: pcm: Abort properly at pending signal in OSS read/write loops (bsc#1051510). - ALSA: aloop: Fix racy hw constraints adjustment (bsc#1051510). - ALSA: aloop: Fix inconsistent format due to incomplete rule (bsc#1051510). - ALSA: aloop: Release cable upon open error path (bsc#1051510). - ALSA: pcm: Add missing error checks in OSS emulation plugin builder (bsc#1051510). - ALSA: pcm: Remove incorrect snd_BUG_ON() usages (bsc#1051510). - commit e8d347b- x86/entry/64: Shorten TEST instructions (bsc#1068032 CVE-2017-5754). - x86/traps: Use a new on_thread_stack() helper to clean up an assertion (bsc#1068032 CVE-2017-5754). - x86/entry/64: Remove thread_struct::sp0 (bsc#1068032 CVE-2017-5754). - x86/entry/32: Fix cpu_current_top_of_stack initialization at boot (bsc#1068032 CVE-2017-5754). - x86/entry/64: Remove all remaining direct thread_struct::sp0 reads (bsc#1068032 CVE-2017-5754). - x86/entry/64: Stop initializing TSS.sp0 at boot (bsc#1068032 CVE-2017-5754). - x86/xen/64, x86/entry/64: Clean up SP code in cpu_initialize_context() (bsc#1068032 CVE-2017-5754). - x86/entry: Add task_top_of_stack() to find the top of a task's stack (bsc#1068032 CVE-2017-5754). - x86/entry/64: Pass SP0 directly to load_sp0() (bsc#1068032 CVE-2017-5754). - x86/entry/32: Pull the MSR_IA32_SYSENTER_CS update code out of native_load_sp0() (bsc#1068032 CVE-2017-5754). - x86/entry/64: De-Xen-ify our NMI code (bsc#1068032 CVE-2017-5754). - xen, x86/entry/64: Add xen NMI trap entry (bsc#1068032 CVE-2017-5754). - x86/xen: Get rid of paravirt op adjust_exception_frame (bsc#1068032 CVE-2017-5754). - x86/entry/64: Remove the RESTORE_..._REGS infrastructure (bsc#1068032 CVE-2017-5754). - x86/entry/64: Use POP instead of MOV to restore regs on NMI return (bsc#1068032 CVE-2017-5754). - x86/entry/64: Merge the fast and slow SYSRET paths (bsc#1068032 CVE-2017-5754). - x86/entry/64: Use pop instead of movq in syscall_return_via_sysret (bsc#1068032 CVE-2017-5754). - x86/entry/64: Shrink paranoid_exit_restore and make labels local (bsc#1068032 CVE-2017-5754). - x86/entry/64: Simplify reg restore code in the standard IRET paths (bsc#1068032 CVE-2017-5754). - x86/entry/64: Move SWAPGS into the common IRET-to-usermode path (bsc#1068032 CVE-2017-5754). - x86/entry/64: Split the IRET-to-user and IRET-to-kernel paths (bsc#1068032 CVE-2017-5754). - x86/entry/64: Remove the restore_c_regs_and_iret label (bsc#1068032 CVE-2017-5754). - commit 0f7ab23- ACPI / watchdog: Make acpi_has_watchdog() false after failing the device creation (bsc#1073960). - commit c0345e4- Refresh patches.suse/cpufreq-intel_pstate-Temporarily-boost-P-state-when-exiting-from-idle.patch. - commit 7b370e7- Re-enable CONFIG_KEXEC_VERIFY_SIG=y for x86_64 (bsc#1075051) It was turned off due to the breakage of kdump in Leap 42.1, but now it's mandatory for kexec in secure boot mode. - commit bb64d0d- nvme-mpath: fix last path removal during traffic (FATE#323952, FATE#322506). - commit d221a0c- scsi: libiscsi: Allow sd_shutdown on bad transport (bsc#1075234). - commit 31d7cc7- Update config files: fix arm64/vanilla config - commit 33b1664- Move upstreamed input and misc driver patches into sorted section - commit 5b07263- ASoC: atmel-classd: select correct Kconfig symbol (bsc#1051510). - ASoC: rockchip: disable clock on error (bsc#1051510). - ASoC: rsnd: ssiu: clear SSI_MODE for non TDM Extended modes (bsc#1051510). - commit 3cec1bc- drm/i915: Protect DDI port to DPLL map from theoretical race (bsc#1051510). - commit c8c45d6- Revert "mlx5: move affinity hints assignments to generic code" (bsc#1046303 FATE#322944 bsc#1075185). - commit 9ba5d83- Move Wireless driver patches into the sorted section Update patch tags accordingly, too. Also, correct the bad backport in patches.drivers/0001-iwlwifi-mvm-send-all-non-bufferable-frames-on-the-pr Refreshed patches: patches.drivers/0123-iwlwifi-mvm-map-cab_queue-to-real-one-earlier.patch patches.drivers/iwlwifi-mvm-quietly-accept-non-sta-assoc-response-fr patches.drivers/iwlwifi-mvm-quietly-accept-non-sta-disassoc-frames patches.drivers/iwlwifi-pcie-fix-TVQM-queue-ID-range-check patches.drivers/iwlwifi-pcie-fix-command-completion-name-debug patches.drivers/0001-iwlwifi-mvm-send-all-non-bufferable-frames-on-the-pr.patch patches.drivers/0039-iwlwifi-pcie-don-t-init-a-Tx-queue-with-an-SSN-size-.patch patches.drivers/0048-iwlwifi-pcie-support-short-Tx-queues-for-A000-device.patch patches.drivers/0144-iwlwifi-mvm-send-delba-upon-rx-ba-session-timeout.patch patches.drivers/iwlwifi-mvm-fix-a-NULL-pointer-dereference-of-error- - commit 7a1ea61- config: arm64: enable UNMAP_KERNEL_AT_EL0 - commit 6afa3ca- Move DRM/video patches into the sorted section Update patch tags accordingly, too. Refreshed patches: patches.drivers/drm-i915-Always-use-9-bits-of-the-LPC-bridge-device- patches.drivers/drm-i915-Fix-PCH-names-for-KBP-and-CNP patches.drivers/drm-i915-cfl-Add-Coffee-Lake-PCI-IDs-for-H-Sku patches.drivers/drm-i915-cfl-Add-Coffee-Lake-PCI-IDs-for-S-Skus patches.drivers/drm-i915-cfl-Add-Coffee-Lake-PCI-IDs-for-U-Sku patches.drivers/drm-i915-cfl-Introduce-Coffee-Lake-workarounds patches.drivers/drm-i915-cnl-Add-Cannonlake-PCI-IDs-for-U-skus patches.drivers/drm-i915-cnl-Fix-the-CURSOR_COEFF_MASK-used-in-DDI-V patches.drivers/drm-i915-gen9-Reintroduce-WaEnableYV12BugFixInHalfSl - commit 415c89f- arm64: kaslr: Put kernel vectors address in separate data page (bsc#1068032). - arm64: mm: Introduce TTBR_ASID_MASK for getting at the ASID in the TTBR (bsc#1068032). - arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0 (bsc#1068032). - arm64: entry: Add fake CPU feature for unmapping the kernel at EL0 (bsc#1068032). - arm64: tls: Avoid unconditional zeroing of tpidrro_el0 for native tasks (bsc#1068032). - arm64: erratum: Work around Falkor erratum #E1003 in trampoline code (bsc#1068032). - arm64: entry: Hook up entry trampoline to exception vectors (bsc#1068032). - arm64: entry: Explicitly pass exception level to kernel_ventry macro (bsc#1068032). - arm64: entry.S: move SError handling into a C function for future expansion (bsc#1068032). - arm64: Mask all exceptions during kernel_exit (bsc#1068032). - arm64: Move the async/fiq helpers to explicitly set process context flags (bsc#1068032). - arm64: introduce an order for exceptions (bsc#1068032). - arm64: explicitly mask all exceptions (bsc#1068032). - arm64: add VMAP_STACK overflow detection (bsc#1068032). - arm64: add on_accessible_stack() (bsc#1068032). - arm64: add basic VMAP_STACK support (bsc#1068032). - arm64: use an irq stack pointer (bsc#1068032). - arm64: assembler: allow adr_this_cpu to use the stack pointer (bsc#1068032). - arm64: factor out entry stack manipulation (bsc#1068032). - efi/arm64: add EFI_KIMG_ALIGN (bsc#1068032). - arm64: move SEGMENT_ALIGN to (bsc#1068032). - arm64: clean up irq stack definitions (bsc#1068032). - arm64: clean up THREAD_* definitions (bsc#1068032). - arm64: factor out PAGE_* and CONT_* definitions (bsc#1068032). - arm64: kernel: remove {THREAD,IRQ_STACK}_START_SP (bsc#1068032). - fork: allow arch-override of VMAP stack alignment (bsc#1068032). - arm64: remove __die()'s stack dump (bsc#1068032). - arm64: unwind: remove sp from struct stackframe (bsc#1068032). - arm64: unwind: reference pt_regs via embedded stack frame (bsc#1068032). - arm64: Add dump_backtrace() in show_regs (bsc#1068032). - arm64: Call __show_regs directly (bsc#1068032). - arm64: unwind: disregard frame.sp when validating frame pointer (bsc#1068032). - arm64: unwind: avoid percpu indirection for irq stack (bsc#1068032). - arm64: move non-entry code out of .entry.text (bsc#1068032). - arm64: consistently use bl for C exception entry (bsc#1068032). - arm64: Add ASM_BUG() (bsc#1068032). - arm64: mm: Map entry trampoline into trampoline and kernel page tables (bsc#1068032). - arm64: entry: Add exception trampoline page for exceptions from EL0 (bsc#1068032). - arm64: mm: Invalidate both kernel and user ASIDs when performing TLBI (bsc#1068032). - arm64: mm: Add arm64_kernel_unmapped_at_el0 helper (bsc#1068032). - arm64: mm: Allocate ASIDs in pairs (bsc#1068032). - arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN (bsc#1068032). - arm64: mm: Rename post_ttbr0_update_workaround (bsc#1068032). - arm64: mm: Remove pre_ttbr0_update_workaround for Falkor erratum #E1003 (bsc#1068032). - arm64: context: Fix comments and remove pointless smp_wmb() (bsc#1068032). - arm64: mm: Move ASID from TTBR0 to TTBR1 (bsc#1068032). - arm64: mm: Temporarily disable ARM64_SW_TTBR0_PAN (bsc#1068032). - arm64: mm: Use non-global mappings for kernel space (bsc#1068032). - arm64: Move PTE_RDONLY bit handling out of set_pte_at() (bsc#1068032). - arm64: Convert pte handling from inline asm to using (cmp)xchg (bsc#1068032). - arm64: Fix potential race with hardware DBM in ptep_set_access_flags() (bsc#1068032). - commit 0b6ce86- net/mlx5: Fix misspelling in the error message and comment (bsc#1046303 FATE#322944). - net/mlx4_core: Fix wrong calculation of free counters (bsc#1046300 FATE#322946). - net/mlx4_en: Fix selftest for small MTUs (bsc#1046299 FATE#322947 Mellanox). - i40e: fix the calculation of VFs mac addresses (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: only redistribute MSI-X vectors when needed (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - net/mlx4_core: Fix cast warning in fw.c (bsc#1046300 FATE#322946). - net/mlx4: Fix endianness issue in qp context params (bsc#1046300 FATE#322946). - commit 15cabbf- userns: prevent speculative execution (bsc#1068032 CVE-2017-5753). - udf: prevent speculative execution (bsc#1068032 CVE-2017-5753). - net: mpls: prevent speculative execution (bsc#1068032 CVE-2017-5753). - fs: prevent speculative execution (bsc#1068032 CVE-2017-5753). - ipv6: prevent speculative execution (bsc#1068032 CVE-2017-5753). - ipv4: prevent speculative execution (bsc#1068032 CVE-2017-5753). - Thermal/int340x: prevent speculative execution (bsc#1068032 CVE-2017-5753). - cw1200: prevent speculative execution (bsc#1068032 CVE-2017-5753). - qla2xxx: prevent speculative execution (bsc#1068032 CVE-2017-5753). - p54: prevent speculative execution (bsc#1068032 CVE-2017-5753). - carl9170: prevent speculative execution (bsc#1068032 CVE-2017-5753). - uvcvideo: prevent speculative execution (bsc#1068032 CVE-2017-5753). - x86, bpf, jit: prevent speculative execution when JIT is enabled (bsc#1068032 CVE-2017-5753). - bpf: prevent speculative execution in eBPF interpreter (bsc#1068032 CVE-2017-5753). - locking/barriers: introduce new observable speculation barrier (bsc#1068032 CVE-2017-5753). - x86/cpu/AMD: Remove now unused definition of MFENCE_RDTSC feature (bsc#1068032 CVE-2017-5753). - x86/cpu/AMD: Make the LFENCE instruction serialized (bsc#1068032 CVE-2017-5753). - commit ee60c7e- x86/mm: Unbreak modules that use the DMA API (bsc#1075052). - commit 0f06940- ext4: Fix ENOSPC handling in DAX page fault handler (bsc#1067281). - dax: Pass detailed error code from dax_iomap_fault() (bsc#1067281). - commit a1646e6- bsg-lib: fix use-after-free under memory-pressure (bsc#1074140). - commit 67cee42- RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy (bsc#1046306 FATE#322942). - RDMA/vmw_pvrdma: Use refcount_dec_and_test to avoid warning (bsc#1046306 FATE#322942). - s390/qeth: fix error handling in checksum cmd callback (bsc#1061024 FATE#323301). - s390/qeth: update takeover IPs after configuration change (bsc#1061024 FATE#323301). - s390/qeth: lock IP table while applying takeover changes (bsc#1061024 FATE#323301). - s390/qeth: don't apply takeover changes to RXIP (bsc#1061024 FATE#323301). - s390/qeth: apply takeover changes when mode is toggled (bsc#1061024 FATE#323301). - RDMA/vmw_pvrdma: Add shared receive queue support (bsc#1046306 FATE#322942). - IB/mlx4: Increase maximal message size under UD QP (bsc#1046302 FATE#322945). - IB/mlx5: Assign send CQ and recv CQ of UMR QP (bsc#1046305 FATE#322943). - commit 573bb09- bsg-lib: fix kernel panic resulting from missing allocation of reply-buffer (bsc#1074140). - commit 707b96d- Refresh patches.drivers/nvmet-fc-cleanup-nvmet-add_port-remove_port.patch. - Delete patches.drivers/nvmet_fc-correct-broken-add_port.patch. - commit 38a8d6d- blacklist.conf: mark cd36c3a21a40 as duplicate of 33ba43ed0afc - commit 08645b1- bpf: fix incorrect sign extension in check_alu_op() (bsc1056787). - commit 977b7b1- KVM: PPC: Book3S: fix XIVE migration of pending interrupts (bsc#1061840). - KVM: PPC: Book3S HV: Fix pending_pri value in kvmppc_xive_get_icp() (bsc#1061840). - commit d8d002b- powerpc/perf/imc: Fix nest-imc cpuhotplug callback failure (bsc#1054914). - powerpc/perf: Fix kfree memory allocated for nest pmus (bsc#1054914). - cxl: Check if vphb exists before iterating over AFU devices (bsc#1055014). - commit 61c1d48- powerpc/perf: Dereference BHRB entries safely (bsc#1065729). - commit 57f8b50- net/mlx5: Stay in polling mode when command EQ destroy fails (bsc#1046303 FATE#322944). - net/mlx5: Cleanup IRQs in case of unload failure (bsc#1046303 FATE#322944). - net/mlx5e: Prevent possible races in VXLAN control flow (bsc#1046303 FATE#322944). - net/mlx5e: Add refcount to VXLAN structure (bsc#1046303 FATE#322944). - net/mlx5e: Fix possible deadlock of VXLAN lock (bsc#1046303 FATE#322944). - socket, bpf: fix possible use after free (bsc1056787). - commit e08b924- net_sched: fix a compile warning in act_ife (bsc1056787). - commit bd78fe1- crypto: chelsio - select CRYPTO_GF128MUL (bsc#1046548). - net: sched: fix static key imbalance in case of ingress/clsact_init error (bsc1056787). - net_sched: red: Avoid illegal values (bsc1056787). - net: sched: cbq: create block for q->link.block (bsc1056787). - net: sched: fix crash when deleting secondary chains (bsc1056787). - net sched actions: fix module auto-loading (bsc1056787). - net sched actions: change IFE modules alias names (bsc1056787). - net_sched: gen_estimator: fix scaling error in bytes/packets samples (bsc1056787). - net sched actions: Use proper root attribute table for actions (bsc1056787). - commit 2bbf18d- scsi: storvsc: Fix scsi_cmd error assignments in storvsc_handle_error (fate#323887). - vmbus: unregister device_obj->channels_kset (fate#323887). - hv: kvp: Avoid reading past allocated blocks from KVP file (fate#323887). - Drivers: hv: vmbus: Fix a rescind issue (fate#323887). - commit 12ffd27- kernel-obs-build.spec.in: add --no-hostonly-cmdline to dracut invocation (boo#1062303). call dracut with --no-hostonly-cmdline to avoid the random rootfs UUID being added into the initrd's /etc/cmdline.d/95root-dev.conf - commit da5186f- cpufreq: intel_pstate: Temporarily boost P-state when exiting from idle (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - commit 3b0b990- Refresh patches.suse/mm-page_alloc.c-avoid-excessive-IRQ-disabled-times-in-free_unref_page_list.patch. - commit fcb0706- X.509: fix buffer overflow detection in sprint_oid() (bsc#1074877). - 509: fix printing uninitialized stack memory when OID is empty (bsc#1074879). - KEYS: add missing permission check for request_key() destination (bsc#1074878). - KEYS: trusted: fix writing past end of buffer in trusted_read() (bsc#1074880). - KEYS: encrypted: fix dereference of NULL user_key_payload (bsc#1074876). - commit 3160a2d- rpm/constraints.in: lower kernel-syzkaller's mem requirements OBS now reports that it needs only around 2G, so lower the limit to 8G, so that more compliant workers can be used. - commit a73399a- Remove patches.arch/x86_64-hpet-64bit-timer.patch. This is an ancient patch we should have never included in the first place. It adds a command-line parameter "hpet64" which works around a hardware "bug" that is only visible if applications mmap HPET. The bug makes the HPET main counter wrap at the 32 bit boundary when Timer 0 is used in 32 bit mode. Thomas Gleixner refused the patch upstream, he claims this does not work on some HPETs: https://patchwork.kernel.org/patch/10103049/ If someone insists on accessing the hardware directly, they should deal with hardware oddities. - commit 20efbd0- regulator: da9063: Return an error code on probe failure (bsc#1074847). - commit ca048fa- IB/mlx5: Serialize access to the VMA list (bsc#1046305 FATE#322943). - RDMA/vmw_pvrdma: Call ib_umem_release on destroy QP path (bsc#1046306 FATE#322942). - iw_cxgb4: when flushing, complete all wrs in a chain (bsc#1046543 FATE#322927). - bpf: force strict alignment checks for stack pointers (bsc#1056787). - net/mlx5: Fix error flow in CREATE_QP command (bsc#1046303 FATE#322944). - net/mlx5e: Fix defaulting RX ring size when not needed (bsc#1046303 FATE#322944). - bpf, ppc64: do not reload skb pointers in non-skb context (bsc#1056787). - bpf, s390x: do not reload skb pointers in non-skb context (bsc#1056787). - net/mlx5e: Add support for ethtool msglvl support (bsc#1046303 FATE#322944). - commit d4fe50f- cxgb4: collect TX rate limit info in UP CIM logs (bsc#1073513). - cxgb4: RSS table is 4k for T6 (bsc#1073513). - cxgb4: collect PCIe configuration logs (bsc#1073513). - cxgb4: collect egress and ingress SGE queue contexts (bsc#1073513). - cxgb4: skip TX and RX payload regions in memory dumps (bsc#1073513). - cxgb4: collect HMA memory dump (bsc#1073513). - cxgb4: collect MC memory dump (bsc#1073513). - cxgb4: collect on-chip memory information (bsc#1073513). - commit 5208a72- cpufreq, intel_pstate: Update setpoint for unspecified ACPI profile (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - commit 61ed90d- dlm: recheck kthread_should_stop() before schedule() (bsc#1071422). - commit ecebdc2- DLM: fix NULL pointer dereference in send_to_sock() (bsc#1074590). - commit 33ddb10- DLM: fix to reschedule rwork (bsc#1074590). - commit e8637ae- DLM: fix to use sk_callback_lock correctly (bsc#1074590). - commit 710c4fa- DLM: fix overflow dlm_cb_seq (bsc#1074590). - commit 09372fc- DLM: fix memory leak in tcp_accept_from_sock() (bsc#1074590). - commit 5aedf91- DLM: fix conversion deadlock when DLM_LKF_NODLCKWT flag is set (bsc#1074590). - commit 69894be- DLM: use CF_CLOSE flag to stop dlm_send correctly (bsc#1074590). - commit e8a6712- DLM: Reanimate CF_WRITE_PENDING flag (bsc#1074590). - commit a4de653- DLM: fix race condition between dlm_recoverd_stop and dlm_recoverd (bsc#1074590). - commit 819a622- DLM: close othercon at send/receive error (bsc#1074590). - commit 0937fb9- DLM: retry rcom when dlm_wait_function is timed out (bsc#1074590). - commit c842f52- DLM: fix to use sock_mutex correctly in xxx_accept_from_sock (bsc#1074590). - commit 78dd4c6- DLM: fix race condition between dlm_send and dlm_recv (bsc#1074590). - commit 11bc1dd- DLM: fix double list_del() (bsc#1074590). - commit a0f2a2c- DLM: fix remove save_cb argument from add_sock() (bsc#1074590). - commit 4b9a8d1- DLM: Fix saving of NULL callbacks (bsc#1074590). - commit 59e7b7b- DLM: Eliminate CF_WRITE_PENDING flag (bsc#1074590). - commit 28eba49- DLM: Eliminate CF_CONNECT_PENDING flag (bsc#1074590). - commit 367693f- dlm: remove this patch temporarily since I plan to back-port valuable patches of DLM dlm-4.15 to SLE15 kernel source, but this patch will impact more older patches to apply SLE15 kernel. So, I will remove this patch temporarily, then get this patch back after this back-port is done. - commit 70cb39a- scsi: libcxgbi: simplify task->hdr allocation for mgmt cmds (bsc#1073515). - scsi: cxgb4i: fix Tx skb leak (bsc#1073515). - commit c19f0ba- Fixed incorrect commit for nvmet-fc patch. The commits seems to be incorrect for patches.drivers/nvmet-fc-cleanup-nvmet-add_port-remove_port.patch, perhaps because of upstream merging? Set it to the correct commit. - commit 3e2aa51- ALSA: seq: Avoid invalid lockdep class warning (bsc#1051510). - commit 1d6dc29- dlm: use sock_create_lite inside tcp_accept_from_sock (bsc#1069364). - commit 8b8e456- sunrpc: use supplimental groups in auth hash (bsc#1012917). - commit 9a10aa8- kernel: make groups_sort calling a responsibility group_info allocators (bsc#1070623). - commit de0ae1a- ALSA: hda: Drop useless WARN_ON() (bsc#1051510). - commit f2fb93c- ASoC: twl4030: fix child-node lookup (bsc#1051510). - commit 69b6ece- ASoC: tlv320aic31xx: Fix GPIO1 register definition (bsc#1051510). - commit 11c73a1- ASoC: codecs: msm8916-wcd: Fix supported formats (bsc#1051510). - commit 374ba25- ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure (bsc#1051510). - commit dcacf0c- ASoC: da7218: fix fix child-node lookup (bsc#1051510). - commit e945eac- ASoC: wm_adsp: Fix validation of firmware and coeff lengths (bsc#1051510). - commit 51a0c9c- ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU (bsc#1051510). - commit 563b896- ALSA: rawmidi: Avoid racy info ioctl via ctl device (bsc#1051510). - commit 9c189e8- ALSA: hda - Add vendor id for Cannonlake HDMI codec (bsc#1051510). - commit e971433- ALSA: usb-audio: Add native DSD support for Esoteric D-05X (bsc#1051510). - commit 4d85d23- ALSA: pcm: prevent UAF in snd_pcm_info (bsc#1051510). - commit 25f7384- ALSA: usb-audio: Add check return value for usb_string() (bsc#1051510). - commit 3171828- ALSA: usb-audio: Fix out-of-bound error (bsc#1051510). - commit 6578e73- ALSA: seq: Remove spurious WARN_ON() at timer check (bsc#1051510). - commit fc7e398- ALSA: hda - fix headset mic problem for Dell machines with alc274 (bsc#1051510). - commit d23de14- ALSA: seq: Fix OSS sysex delivery in OSS emulation (bsc#1051510). - commit 510ff99- ALSA: timer: Limit max instances per timer (bsc#1051510). - commit 103491e- ASoC: adau17x1: Workaround for noise bug in ADC (bsc#1051510). - commit 85fa8c4- ALSA: seq: Fix nested rwsem annotation for lockdep splat (bsc#1051510). - commit fa3fd1f- ALSA: seq: Enable 'use' locking in all configurations (bsc#1051510). - commit 655ae8d- ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital (bsc#1051510). - commit 6cd87cf- ALSA: caiaq: Fix stray URB at probe error path (bsc#1051510). - commit 43475d3- ALSA: seq: Fix copy_from_user() call inside lock (bsc#1051510). - commit 2297056- ALSA: usx2y: Suppress kernel warning at page allocation failures (bsc#1051510). - commit 13eccc1- ALSA: hda - Add MIC_NO_PRESENCE fixup for 2 HP machines (bsc#1051510). - commit 81dfa71- ALSA: hda - Fix missing COEF init for ALC225/295/299 (bsc#1051510). - commit a3ae07c- ALSA: hda - change the location for one mic on a Lenovo machine (bsc#1051510). - commit 53462d1- ALSA: hda - fix headset mic detection issue on a Dell machine (bsc#1051510). - commit ec4781a- ALSA: hda/realtek - Fix Dell AIO LineOut issue (bsc#1051510). - commit 4de0a3d- ALSA: hda/realtek - New codec support for ALC257 (bsc#1051510). - commit c025c50- ALSA: hda/realtek - Add support for ALC1220 (bsc#1051510). - commit cd79b10- Move upstreamed sound patches into sorted section - commit 2f5f898- rcu: Remove debugfs tracing (bnc#1073315 remove defunct debugfs tracing). - commit 761bb8f- livepatch: Mark the kernel unsupported when disabling a live patch (fate#323487). - commit 38cb6c2- dlm: Make dismatch error message more clear (bsc#1074440). - commit 47fea46- sched/rt: Do not pull from current CPU if only one CPU to pull (bnc#1022476). - sched/rt: Simplify the IPI based RT balancing logic (bnc#1022476). - commit 2c0bd50- IB/mlx5: Fix mlx5_ib_alloc_mr error flow (bsc#1046303 FATE#322944). - IB/core: Verify that QP is security enabled in create and destroy (bsc#1046306 FATE#322942). - IB/uverbs: Fix command checking as part of ib_uverbs_ex_modify_qp() (bsc#1046306 FATE#322942). - IB/hfi: Only read capability registers if the capability exists (bsc#1060463 FATE#323043). - IB/mlx5: Fix congestion counters in LAG mode (bsc#1046303 FATE#322944). - iw_cxgb4: reflect the original WR opcode in drain cqes (bsc#1064802 bsc#1066129). - bpf: don't prune branches when a scalar is replaced with a pointer (bsc#1056787). - bpf: fix missing error return in check_stack_boundary() (bsc#1056787). - bpf/verifier: fix bounds calculation on BPF_RSH (bsc#1056787). - net/mlx5e: Fix features check of IPv6 traffic (bsc#1046305 FATE#322943). - net/mlx5: Fix rate limit packet pacing naming and struct (bsc#1046305 FATE#322943). - net/mlx5: FPGA, return -EINVAL if size is zero (bsc#1046303 FATE#322944). - net/mlx4_en: Fill all counters under one call of stats lock (bsc#1046299 FATE#322947). - commit 9946ea4- ocfs2: fix a static checker warning (bsc#1074282). - commit 691c72c- git-sort tests wip - commit fac0c20- Bluetooth: Prevent stack info leak from the EFS element (bsc#1070535 CVE-2017-1000410). - commit 0214ec3- git_sort: Use pygit2 to read git config. Fixes an error when operating on a repository with no configured remotes. - commit f28d0a2- scripts/git_sort/README.md: Add information about quilt package. - commit 41d89b6- scripts/git-pre-commit: Specify paths to check to git diff. Also, specifically check for changes between the index and HEAD (--cached). - commit 2450ed3- Delete patches.fixes/0001-autofs-fix-AT_NO_AUTOMOUNT-not-being-honored.patch. Per upstream commit: 5d38f049cee (autofs: revert "autofs: fix AT_NO_AUTOMOUNT not being honored") - commit ed5935d- blacklist.conf: we don't build null_blk module - commit bb0a8a8- block: unalign call_single_data in struct request (bsc#1050549). - commit 5e7d58d- git_sort: Support configurable cache path. Also, create the cache directory if it does not exist. - commit db0e54d- series_sort: Catch pygit2 import failure. Provide some instructions about how to install the module in the README. Note that this only catches the exception from series_sort.py. There are other executable python scripts which import pygit2 and those will still raise an ImportError if the pygit2 module is not available. However, series_sort.py is the most common entry point for new users. - commit 3c7e689- nvmet_fc: correct broken add_port (bsc#1072553). - commit cc3e8db- e1000e: Fix e1000_check_for_copper_link_ich8lan return value (bsc#1073809). - e1000e: Avoid receiver overrun interrupt bursts (bsc#1073809). - e1000e: Separate signaling for link check/link up (bsc#1073809). - e1000e: Fix return value test (bsc#1073809). - e1000e: Fix wrong comment related to link detection (bsc#1073809). - e1000e: Fix error path in link detection (bsc#1073809). - commit 6843b8f- Refresh patch order in sorted section - commit 45e9108- ibmvnic: Include header descriptor support for ARP packets (bsc#1073912). - ibmvnic: Increase maximum number of RX/TX queues (bsc#1073912). - ibmvnic: Rename IBMVNIC_MAX_TX_QUEUES to IBMVNIC_MAX_QUEUES (bsc#1073912). - commit e6d9f08- Refresh sorted section. - commit 08f400d- Delete patches.suse/0002-module-move-add_taint_module-to-a-header-file.patch. kGraft-specific patch not needed with upstream livepatch. We have add_taint_module() call in kernel/module.c (upstream commit 2992ef29ae01 ("livepatch/module: make TAINT_LIVEPATCH module-specific")). - commit cfddc2c- bnxt_en: Uninitialized variable in bnxt_tc_parse_actions() (bsc#1050242 FATE#322914). - bnxt_en: Add ETH_RESET_AP support (bsc#1050242 FATE#322914). - commit a2af10c- drivers: net: bnxt: use setup_timer() helper (bsc#1050242 FATE#322914). - Refresh patches.drivers/bnxt_en-Reorganize-the-coalescing-parameters.patch. - commit a924173- crypto: hmac - require that the underlying hash algorithm is unkeyed (CVE-2017-17806,bsc#1073874). - commit ab2ecae- crypto: salsa20 - fix blkcipher_walk API usage (CVE-2017-17805,bsc#1073792). - commit 81ba0ab- bnxt_en: Use NETIF_F_GRO_HW (bsc#1050242 FATE#322914). - net: Disable GRO_HW when generic XDP is installed on a device (bsc#1050242 FATE#322914). - net: Introduce NETIF_F_GRO_HW (bsc#1050242 FATE#322914). - net: ethtool: add support for reset of AP inside NIC interface (bsc#1050242 FATE#322914). - bnxt_en: Fix sources of spurious netpoll warnings (bsc#1050242 FATE#322914). - bnxt_en: fix dst/src fid for vxlan encap/decap actions (bsc#1050242 FATE#322914). - bnxt_en: wildcard smac while creating tunnel decap filter (bsc#1050242 FATE#322914). - bnxt_en: Fix an error handling path in 'bnxt_get_module_eeprom()' (bsc#1050242 FATE#322914). - bnxt_re: Make room for mapping beyond 32 entries (bsc#1050242 FATE#322914). - bnxt: fix bnxt_hwrm_fw_set_time for y2038 (bsc#1050242 FATE#322914). - bnxt_en: Fix IRQ coalescing regression (bsc#1050242 FATE#322914). - bnxt_en: fix typo in bnxt_set_coalesce (bsc#1050242 FATE#322914). - bnxt_en: Fix randconfig build errors (bsc#1050242 FATE#322914). - bnxt_en: alloc tc_info{} struct only when tc flower is enabled (bsc#1050242 FATE#322914). - bnxt_en: query cfa flow stats periodically to compute 'lastused' attribute (bsc#1050242 FATE#322914). - bnxt_en: add hwrm FW cmds for cfa_encap_record and decap_filter (bsc#1050242 FATE#322914). - bnxt_en: add support for Flower based vxlan encap/decap offload (bsc#1050242 FATE#322914). - bnxt_en: Refactor and simplify coalescing code (bsc#1050242 FATE#322914). - bnxt_en: Reorganize the coalescing parameters (bsc#1050242 FATE#322914). - bnxt_en: Add ethtool reset method (bsc#1050242 FATE#322914). - bnxt_en: Check maximum supported MTU from firmware (bsc#1050242 FATE#322914). - bnxt_en: Optimize .ndo_set_mac_address() for VFs (bsc#1050242 FATE#322914). - bnxt_en: Get firmware package version one time (bsc#1050242 FATE#322914). - bnxt_en: Check for zero length value in bnxt_get_nvram_item() (bsc#1050242 FATE#322914). - bnxt_en: adding PCI ID for SMARTNIC VF support (bsc#1050242 FATE#322914). - bnxt_en: Add PCIe device ID for bcm58804 (bsc#1050242 FATE#322914). - bnxt_en: Update firmware interface to 1.8.3.1 (bsc#1050242 FATE#322914). - bnxt: Move generic devlink code to new file (bsc#1050242 FATE#322914). - bnxt_en: don't consider building bnxt_tc.o if option not enabled (bsc#1050242 FATE#322914). - bnxt_en: Remove redundant unlikely() (bsc#1050242 FATE#322914). - net: add new netdevice feature for offload of RX port for UDP tunnels (bsc#1056787). - commit 8a8e435- kernel-obs-build: use pae and lpae kernels where available (bsc#1073579). - commit 1ac1946- Disable CONFIG_SPI_INTEL_SPI_PLATFORM for BIOS breakge on Lenovo laptops (bsc#1073836) - commit 47130d8- epoll: remove ep_call_nested() from ep_eventpoll_poll() (bsc#1056427). - epoll: avoid calling ep_call_nested() from ep_poll_safewake() (bsc#1056427). - locking/qrwlock: Prevent slowpath writers getting held up by fastpath (bsc#1050549). - locking/qrwlock: Use atomic_cond_read_acquire() when spinning in qrwlock (bsc#1050549). - locking/qrwlock: Use 'struct qrwlock' instead of 'struct __qrwlock' (bsc#1050549). - locking/atomic: Add atomic_cond_read_acquire() (bsc#1050549). - commit f353922- Refresh patches.arch/powerpc-64s-Implement-system-reset-idle-wakeup-reason.patch. - commit 2e65242- powerpc/64s: Fix Power9 DD2.1 logic in DT CPU features (bsc#1055121). - powerpc/64s: Fix Power9 DD2.0 workarounds by adding DD2.1 feature (bsc#1055121). - powerpc/64s/idle: avoid POWER9 DD1 and DD2.0 PMU workaround on DD2.1 (bsc#1055121). - powerpc/powernv: Save/Restore additional SPRs for stop4 cpuidle (bsc#1055121). - powerpc/64s/idle: avoid POWER9 DD1 and DD2.0 ERAT workaround on DD2.1 (bsc#1055121). - powerpc/64s: idle POWER9 can execute stop in virtual mode (bsc#1055121). - powerpc/64s: Drop no longer used IDLE_STATE_ENTER_SEQ (bsc#1055121). - powerpc/64s: POWER9 can execute stop without a sync sequence (bsc#1055121). - powerpc/64s: Move IDLE_STATE_ENTER_SEQ[_NORET] into idle_book3s.S (bsc#1055121). - powerpc/powernv/idle: Clear r12 on wakeup from stop lite (bsc#1055121). - powerpc/64s/idle: Avoid SRR usage in idle sleep/wake paths (bsc#1055121). - powerpc: add POWER9_DD20 feature (bsc#1055121). - powerpc/64: Free up CPU_FTR_ICSWX (bsc#1055121). - commit 9dfdd40- Update config files: Fix ppc64le vanilla config - commit 410ed34- powerpc: conditionally compile platform-specific serial drivers (bsc#1065729). - tpm: ibmvtpm: simplify crq initialization and document crq format (bsc#1065729). - commit d8d888e- supported.conf: add missing modules. Changed: crypto/aes_generic -> crypto/aes_ti drivers/scsi/ibmvscsi/ibmvstgt -> drivers/scsi/ibmvscsi_tgt/ibmvscsis New modules: arch/powerpc/crypto/crc32c-vpmsum drivers/tty/serial/8250/8250_of - drivers/char/powernv-op-panel Add core/lib: drivers/char/tpm/tpm_tis_core drivers/pci/hotplug/pnv-php lib/parman - commit d4b29da- supported.conf: remove garbage. - commit 1ce25e4- scsi_scan: Exit loop if TUR to LUN0 fails with 0x05/0x25 (bsc#1063043). This is specific to FUJITSU ETERNUS_DX* targets. They can return "Illegal Request - Logical unit not supported" and processing should leave the timeout loop in this case. - commit c16da9f- README.BRANCH: Add Takashi as a temporary co-maintainer. Thanks Takashi! - commit 076bb17- NFS: Fix uninitialized rpc_wait_queue (git-fixes). - xprtrdma: Throw away reply when version is unrecognized (git-fixes). - svcrdma: Preserve CB send buffer across retransmits (git-fixes). - commit 3eac6c0- blacklist.conf: mark 11e3e8d6d927 not-applicable - commit 250f889- autofs: fix careless error in recent commit (bnc#1012382 bsc#1065180). - NFS: revalidate "." etc correctly on "open" (git-fixes). - commit 4c82a6d- powerpc/64s: Fix hypercall entry clobbering r12 input (bsc#1055117). - powerpc/64s: Optimize hypercall/syscall entry (bsc#1055117). - commit 0ca40fc- README.BRANCH: add Takashi as comaintainer - commit d7552c3- KVM: PPC: Book3S HV: Fix migration and HPT resizing of HPT guests on radix hosts (bsc#1061840). - KVM: PPC: Book3S HV: Add infrastructure for running HPT guests on radix host (bsc#1061840). - KVM: PPC: Book3S HV: Unify dirty page map between HPT and radix (bsc#1061840). - commit 51c7c60- KVM: PPC: Book3S HV: Rename hpte_setup_done to mmu_ready (bsc#1061840). - Refresh patches.arch/KVM-PPC-Book3S-HV-Fix-exclusion-between-HPT-resizing.patch. - commit 052b912- KVM: PPC: Tie KVM_CAP_PPC_HTM to the user-visible TM feature (bsc#1061840). - Refresh patches.arch/KVM-PPC-Fix-oops-when-checking-KVM_CAP_PPC_HTM.patch. - commit 9c0b1aa- KVM: PPC: Book3S HV: Don't rely on host's page size information (bsc#1061840). - KVM: PPC: Book3S HV: Explicitly disable HPT operations on radix guests (bsc#1061840). - KVM: PPC: Book3S HV: Fix memory leak in kvm_vm_ioctl_get_htab_fd (bsc#1061840). - KVM: PPC: Book3S HV: Report storage key support to userspace (bsc#1061840). - commit 1a88a98- x86/ACPI/cstate: Allow ACPI C1 FFH MWAIT use on AMD systems (bsc#1069881). - commit 8e6ab6a- ceph: drop negative child dentries before try pruning inode's alias (bsc#1073525). - commit aeb9e15- Update config files. Enabling hibernation verification. - commit 490e23f- fanotify: fix fsnotify_prepare_user_wait() failure (bsc#1052766). - commit 080b493- mm/frame_vector.c: release a semaphore in 'get_vaddr_frames()' (bsc#1052766). - commit e8d4b10- PM / hibernate: require hibernate snapshot image to be validly signed when kernel is locked down (fate#316350). - PM / hibernate: a option to request that snapshot image must be validly signed (fate#316350). - PM / hibernate: prevent EFI secret key to be regenerated (fate#316350). - PM / hibernate: Generate and verify signature for snapshot image (fate#316350). - PM / hibernate: encrypt hidden area (fate#316350). - efi: allow user to regenerate secret key (fate#316350). - efi: generate secret key in EFI boot environment (fate#316350). - x86/KASLR: public the function for getting random long number (fate#316350). - hibernate: avoid the data in hidden area to be snapshotted (fate#316350). - security: create hidden area to keep sensitive data (fate#316350). - commit 8c35bf3- userfaultfd: hugetlbfs: remove superfluous page unlock in VM_SHARED case (bnc#1073113, CVE-2017-15127). - commit 0332d2e- userfaultfd: hugetlbfs: prevent UFFDIO_COPY to fill beyond the end of i_size (bnc#1073112, CVE-2017-15128). - commit 31f7526- mm, oom_reaper: gather each vma to prevent leaking TLB entry (bnc#1073258). - commit b55bb20- IB/ipoib: Restore MM behavior in case of tx_ring allocation failure (bsc#1046307 FATE#322941). - iw_cxgb4: only insert drain cqes if wq is flushed (bsc#1046543 FATE#32292). - RDMA/netlink: Fix general protection fault (bsc#1046306 FATE#322942). - IB/mlx4: Fix RSS hash fields restrictions (bsc#1046302 FATE#322945). - IB/core: Don't enforce PKey security on SMI MADs (bsc#1046306 FATE#322942). - IB/core: Bound check alternate path port number (bsc#1046306 FATE#322942). - sfc: pass valid pointers from efx_enqueue_unwind (bsc#1058169 FATE#322922). - commit 6688227- Re-sorted sorted section - commit 108f419- Delete patches.suse/0001-PM-hibernate-Fix-2G-size-issue-of-snapshot-image-ver.patch. - Delete patches.suse/0001-PM-hibernate-Fix-warning-about-non-void-function-not.patch. - Delete patches.suse/0001-PM-hibernate-Force-verify-hibernation-signature-in-s.patch. - Delete patches.suse/0001-PM-hibernate-define-HMAC-algorithm-and-digest-size-o.patch. - Delete patches.suse/0001-x86-Removed-the-free-memblock-of-hibernat-keys-to-av.patch. - Delete patches.suse/0001-x86-efi-Fix-invalid-parameter-error-when-getting-hib.patch. - Delete patches.suse/0002-x86-efi-Add-get-and-set-variable-to-EFI-services-poi.patch. - Delete patches.suse/0003-x86-boot-Public-getting-random-boot-function.patch. - Delete patches.suse/0004-x86-efi-Generating-random-number-in-EFI-stub.patch. - Delete patches.suse/0005-x86-efi-Get-entropy-through-EFI-random-number-genera.patch. - Delete patches.suse/0006-x86-efi-Generating-random-HMAC-key-for-siging-hibern.patch. - Delete patches.suse/0007-efi-Make-efi_status_to_err-public.patch. - Delete patches.suse/0008-x86-efi-Carrying-hibernation-key-by-setup-data.patch. - Delete patches.suse/0009-PM-hibernate-Reserve-hibernation-key-and-erase-footp.patch. - Delete patches.suse/0010-PM-hibernate-Generate-and-verify-signature-of-hibern.patch. - Delete patches.suse/0011-PM-hibernate-Avoid-including-hibernation-key-to-hibe.patch. - Delete patches.suse/0012-PM-hibernate-Forward-signature-verifying-result-and-.patch. - Delete patches.suse/0013-PM-hibernate-Add-configuration-to-enforce-signature-.patch. - Delete patches.suse/0014-PM-hibernate-Allow-user-trigger-hibernation-key-re-g.patch. - Delete patches.suse/0015-PM-hibernate-Bypass-verification-logic-on-legacy-BIO.patch. - Delete patches.suse/0016-PM-hibernate-Document-signature-verification-of-hibe.patch. The hibernation verification will be refactored against v4.12. Removed old version. - commit 80cd2cb- Delete patches.suse/0049-uswsusp-Disable-when-the-kernel-is-locked-down.patch. Because the code is duplicate with 0048-hibernate-Disable-when-the-kernel-is-locked-down.patch - commit 713a68b- Refresh patches.drivers/nvme-fc-remove-double-put-reference-if-admin-connect.patch. Fix commit hash. - commit 61669a7- Refresh sorted section. - commit 8c10740- git_sort.py: add rdma/rdma remote. - commit ec2ea23- sched: Only immediately migrate tasks due to interrupts if prev and target CPUs share cache (bnc#1066110 Scheduler utilisation tracking). - commit 8747826- mm/page_alloc.c: avoid excessive IRQ disabled times in free_unref_page_list() (bnc#971975 VM -- git fixes). - commit e2361a2- genwqe: Take R/W permissions into account when dealing with memory pages (bsc#1073090). - commit 0f3a06a- mm, oom_reaper: fix memory corruption (bnc#1073039). - commit c664e6e- x86/stacktrace: make clear the success paths (bnc#1058115). - Refresh patches.suse/0003-x86-stacktrace-remove-STACKTRACE_DUMP_ONCE-from-__sa.patch. - Refresh patches.suse/0004-x86-stacktrace-do-not-fail-for-ORC-with-regs-on-stac.patch. - Delete patches.suse/0002-x86-stacktrace-remove-unwind_state-error.patch. Fix livepatch to succeed also for kthreads and idle tasks. - commit 228dd50- APEI / ERST: Fix missing error handling in erst_reader() (bsc#1072556). - commit 1d69ef4- perf/x86/intel/uncore: Fix memory leaks on allocation failures (git-fixes). - blacklist.conf: Update perf git-fixes - commit 25d3ce5- media: dvb-usb-v2: lmedm04: Improve logic checking of warm start (bsc#1066569 CVE-2017-16538). - commit 4f7cbf8- Enable build of CX2072X codec for Intel Atom SST (bsc#1068546) - commit dde0783- Enable Intel CHTDC-TI powerbutton driver (bsc#1068546) - commit 5a6685e- platform/x86: Add support for Dollar Cove TI power button (bsc#1068546). - commit e0bff99- nvmet-fc: cleanup nvmet add_port/remove_port (bsc#1072553). - nvme-fc: remove double put reference if admin connect fails (bsc#1072553). - nvme-fc: don't use bit masks for set/test_bit() numbers (bsc#1072553). - nvmet-fc: correct ref counting error when deferred rcv used (bsc#1072553). - nvme-loop: check if queue is ready in queue_rq (bsc#1072553). - nvme-fc: check if queue is ready in queue_rq (bsc#1072553). - nvme-fabrics: introduce init command check for a queue that is not alive (bsc#1072553). - commit c9fa2b2- IB/hfi1: Use 4096 for default active MTU in query_qp (bsc#1070622). - IB/CM: Change sgid to IB GID when handling CM request (bsc#1070622). - IB/hfi1: Mask the path bits with the LMC for 16B RC Acks (bsc#1070622). - bnxt_en: Don't print "Link speed -1 no longer supported" messages (bsc#1070116). - commit 48fe400- lpfc: remove use of FC-specific error codes (bsc#1072553). - nvme-fc: remove use of FC-specific error codes (bsc#1072553). - nvme.h: remove FC transport-specific error values (bsc#1072553). - nvmet-fc: remove use of FC-specific error codes (bsc#1072553). - qla2xxx: remove use of FC-specific error codes (bsc#1072553). - Refresh patches.drivers/nvme-fc-correct-io-termination-handling.patch. - commit c63aa5a- scripts/git_sort/git_sort.py: Add nvme-4.16 to indexed heads - commit f08f096- Btrfs: fix reported number of inode blocks after buffered append writes (bsc#1061589). - Btrfs: move definition of the function btrfs_find_new_delalloc_bytes (bsc#1061589). - commit 3954048- USB: core: prevent malicious bNumInterfaces overflow (bsc#1072561 CVE-2017-17558). - commit cdc5902- block: fix a crash caused by wrong API (bsc#1072355). - commit 6bffd0a- config: arm64: enable rk3399 missing drivers - commit 611930b- qxl: alloc & use shadow for dumb buffers (bsc#1072190). - drm/qxl: replace QXL_INFO with DRM_DEBUG_DRIVER (bsc#1072190). - commit 6fed647- Btrfs: change how we iterate bios in endio (bsc#1071219). - commit 248d2a7- housekeeping: update btrfs patch tags - commit 5824e3f- Refresh patches.suse/btrfs-add-support-for-fallocate-s-zero-range-operati.patch. - commit c5e275b- powerpc/powernv/npu: Move tlb flush before launching ATSD (bsc#1055120). - commit 2674fa8- sched/fair: Update and fix the runnable propagation rule (bnc#1066110 Scheduler utilisation tracking). - commit 426857f- NFSv4: always set NFS_LOCK_LOST when a lock is lost (bsc#1068951). - commit 8816f29- x86/microcode/AMD: Add support for fam17h microcode loading (bsc#1068032). - commit 13cc8c9- acpi, nfit: validate commands against the device type (FATE#324505). - commit 606c2ff- acpi: always include uuid.h (FATE#324505). - commit 6bbdd80- netfilter: xt_osf: Add missing permission checks (CVE-2017-17450 bsc#1071695). - commit 3196363- netlink: Add netns check on taps (CVE-2017-17449 bsc#1071694). - commit e92da0c- netfilter: nfnetlink_cthelper: Add missing permission checks (CVE-2017-17448 bsc#1071693). - commit b16758e- scsi: bfa: fix type conversion warning (bsc#1065101). - scsi: bfa: fix access to bfad_im_port_s (bsc#1065101). - commit f3a3c83- git_sort.py: Add Martin Petersen's 4.15/scsi-fixes branch - commit 20244cd- acpi, nfit: add 'Enable Latch System Shutdown Status' command support (FATE#324505). - acpi, nfit: add support for NVDIMM_FAMILY_INTEL v1.6 DSMs (FATE#324505). - commit 00a6cf4- acpi, nfit: add support for the _LSI, _LSR, and _LSW label methods (FATE#324505). - Refresh patches.drivers/acpi-nfit-hide-unknown-commands-from-nmemX-commands.patch. - commit 33bc52f- sctp: do not peel off an assoc from one netns to another one (CVE-2017-15115 bsc#1068671). - commit 500f976- net_sched: red: Avoid devision by zero (bsc#1056787). - i40iw: Notify user of established connection after QP in RTS (bsc#1058659 FATE#322535). - i40iw: Move MPA request event for loopback after connect (bsc#1058659 FATE#322535). - i40iw: Correct ARP index mask (bsc#1058659 FATE#322535). - i40iw: Do not free sqbuf when event is I40IW_TIMER_TYPE_CLOSE (bsc#1058659 FATE#322535). - i40iw: Allocate a sdbuf per CQP WQE (bsc#1058659 FATE#322535). - s390/qeth: build max size GSO skbs on L2 devices (bsc#1061024 FATE#323301). - s390/qeth: fix GSO throughput regression (bsc#1061024 FATE#323301). - s390/qeth: fix thinko in IPv4 multicast address tracking (bsc#1061024 FATE#323301). - IB/mlx5: Fix RoCE Address Path fields (bsc#1046305 FATE#322943). - IB/srpt: Do not accept invalid initiator port names (bsc#1046306 FATE#322942). - commit 647cda2- acpi, nfit: hide unknown commands from nmemX/commands (FATE#324505). - commit 26aa55c- acpi nfit: nfit_test supports translate SPA (FATE#324505). - acpi nfit: Enable to show what feature is supported via ND_CMD_CALL for nfit_test (FATE#324505). - acpi, nfit: Show bus_dsm_mask in sysfs (FATE#324505). - libnvdimm, acpi, nfit: Add bus level dsm mask for pass thru (FATE#324505). - acpi, nfit: Enable DSM pass thru for root functions (FATE#324505). - commit 09b07e6- dccp: CVE-2017-8824: use-after-free in DCCP code (CVE-2017-8824 bsc#1070771). - commit ed1dc5d- thermal: int340x_thermal: fix compile after the UUID API switch (FATE#324505). - thermal: int340x_thermal: Switch to use new generic UUID API (FATE#324505). - commit 0f58456- Update patches.kernel.org/4.12.11-023-xfrm-policy-check-policy-direction-value.patch references (add CVE-2017-11600 bsc#1050231). - commit c24a6f8- ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() (FATE#324505). - Refresh patches.drivers/0017-usb-typec-ucsi-Add-ACPI-driver.patch. - Refresh patches.drivers/net-hns-add-acpi-function-of-xge-led-control.patch - commit b154a19- drm: hibmc: Initialize the hibmc_bo_driver.io_mem_pfn (bnc#1067977). - drm: hibmc: Use set_busid function from drm core (bsc#1067977). - vgaarb: Factor out EFI and fallback default device selection (bsc#1067977). - vgaarb: Select a default VGA device even if there's no legacy VGA (bsc#1067977). - commit 56166ea- ACPI / bus: Switch to use new generic UUID API (FATE#324505). - commit eeb5838- blacklist.conf: Add drm inapplicable commits (bsc#1051510) - commit ba5ee60- drm/i915/cnl: Mask previous DDI - PLL mapping (bsc#1051510). - commit e06d654- ACPI / extlog: Switch to use new generic UUID API (FATE#324505). - commit 9e27ec4- powerpc: Force reload for recheckpoint during tm {fp, vec, vsx} unavailable exception (bsc#1065729). - powerpc: Don't enable FP/Altivec if not checkpointed (bsc#1065729). - powerpc: Fix missing newline before { (bsc#1065729). - cxl: Rename register PSL9_FIR2 to PSL9_FIR_MASK (bsc#1055014). - cxl: Enable global TLBIs for cxl contexts (bsc#1055014). - powerpc/mm: Export flush_all_mm() (bsc#1055014). - powerpc/mm: Make switch_mm_irqs_off() out of line (bsc#1055014). - powerpc: Remove old unused icswx based coprocessor support (bsc#1055014). - powerpc/mm: Optimize detection of thread local mm's (bsc#1055014). - powerpc/mm: Move pgdir setting into a helper (bsc#1055014). - commit 5bc2261- Reorder powerpc patches. - commit ddca890- Refresh patches.drivers/cxgb4-add-tc-flower-support-for-ETH-DMAC-rewrite.patch. - commit 449190e- locking/x86: Use LOCK ADD for smp_mb() instead of MFENCE (bnc#1072172 x86 performance -- barriers). - commit a4b5e51- supported.conf: Add missing supported modules (bsc#1072163) - commit fb1f805- acpi, nfit: Switch to use new generic UUID API (FATE#324505). - commit a3ed858- net: thunderx: Fix TCP/UDP checksum offload for IPv4 pkts (bsc#1069583). - nfp: fix port stats for mac representors (bsc#1055968). - IB/core: Only enforce security for InfiniBand (bsc#1070482). - IB: INFINIBAND should depend on HAS_DMA (bsc#1046306 FATE#322942). - IB/hfi1: Initialize bth1 in 16B rc ack builder (bsc#1060463 FATE#323043). - bnxt_en: Fix a variable scoping in bnxt_hwrm_do_send_msg() (bsc#1050242 FATE#322914). - bnxt_en: Need to unconditionally shut down RoCE in bnxt_shutdown (bsc#1050242 FATE#322914). - IB/core: Avoid unnecessary return value check (bsc#1070482). - commit 232528a- scsi: lpfc: Fix a precedence bug in lpfc_nvme_io_cmd_wqe_cmpl() (bsc#1050239,FATE#322918). - commit 2fe735c- scsi: qla2xxx: Suppress a kernel complaint in qla_init_base_qpair() (FATE#322910). - commit 9d4fd8e- xen: fix hvm guest with kaslr enabled (bnc#1071891). - xen: split up xen_hvm_init_shared_info() (bnc#1071891). - x86: provide an init_mem_mapping hypervisor hook (bnc#1071891). - commit 2820573- livepatch: __klp_disable_patch() should never be called for disabled patches (bsc#1071995 fate#323487). Callbacks support. Coming from upstream klp tree, branch for-4.15/callbacks. - livepatch: Correctly call klp_post_unpatch_callback() in error paths (bsc#1071995 fate#323487). Callbacks support. Coming from upstream klp tree, branch for-4.15/callbacks. - livepatch: add transition notices (bsc#1071995 fate#323487). Callbacks support. Coming from upstream klp tree, branch for-4.15/callbacks. - livepatch: move transition "complete" notice into klp_complete_transition() (bsc#1071995 fate#323487). Callbacks support. Coming from upstream klp tree, branch for-4.15/callbacks. - livepatch: add (un)patch callbacks (bsc#1071995 fate#323487). Callbacks support. Coming from upstream klp tree, branch for-4.15/callbacks. - commit bfcc8d1- Remove buggy IPMI patch (bsc#1071877) The broken fix was identified and removed/blacklisted now. Also re-enable the rest IPMI fixes that have been disabled. - commit 0128c61- Update patches.suse/cpufreq-intel_pstate-use-setpoint-of-10-on-servers.patch (bnc#945201,bnc#1064414). - commit f696fcb- livepatch: Small shadow variable documentation fixes (bsc#1071995 fate#323487). Shadow variables support. Coming from upstream klp tree, branch for-4.15/shadow-variables. - livepatch: __klp_shadow_get_or_alloc() is local to shadow.c (bsc#1071995 fate#323487). Shadow variables support. Coming from upstream klp tree, branch for-4.15/shadow-variables. - livepatch: introduce shadow variable API (bsc#1071995 fate#323487). Shadow variables support. Coming from upstream klp tree, branch for-4.15/shadow-variables. - commit 576f832- livepatch: unpatch all klp_objects if klp_module_coming fails (bsc#1071995 fate#323487). Fix coming from upstream klp tree, branch for-4.14/upstream-fixes - commit 198dbfe- Disable IPMI fix patches due to regression (bsc#1071877) - commit 8d8a8ff- net: openvswitch: datapath: fix data type in queue_gso_packets (bsc#1066757). - net: accept UFO datagrams from tuntap and packet (bsc#1066757). - net: Remove unused skb_shared_info member (bsc#1066757). - commit 6e1c320- netfilter: ebtables: fix race condition in frame_filter_net_init() (bsc#1071929). - commit 615d8a0- series.conf: refresh (just ran series_sort.py) - commit 50b424d- supported.conf add crypto_simd (bsc#1071991). - commit 94d5bb1- xfs: extend unsupported annotations: reflink or reverse mapping btree (FATE#324503). - commit 53eb059- hmm: heterogeneous memory management documentation (VM Functionality, FATE#323338, bsc#1047814). - mm/device-public-memory: device memory cache coherent with CPU (VM Functionality, FATE#323338, bsc#1047814). - mm/device-public-memory: fix edge case in _vm_normal_page() (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm: add new helper to hotplug CDM memory region (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm: avoid bloating arch that do not make use of HMM (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm/devmem: device memory hotplug using ZONE_DEVICE (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm/devmem: dummy HMM device for ZONE_DEVICE memory (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm: fix build when HMM is disabled (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm: heterogeneous memory management (HMM for short) (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm/mirror: device page fault handler (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm/mirror: helper to snapshot CPU page table (VM Functionality, FATE#323338, bsc#1047814). - mm/hmm/mirror: mirror process address space on device with HMM helpers (VM Functionality, FATE#323338, bsc#1047814). - mm/memcontrol: allow to uncharge page without using page->lru field (VM Functionality, FATE#323338, bsc#1047814). - mm/memcontrol: support MEMORY_DEVICE_PRIVATE (VM Functionality, FATE#323338, bsc#1047814). - mm/memory_hotplug: introduce add_pages (VM Functionality, FATE#323338, bsc#1047814). - mm/migrate: allow migrate_vma() to alloc new page on empty entry (VM Functionality, FATE#323338, bsc#1047814). - mm/migrate: fix indexing bug (off by one) and avoid out of bound access (VM Functionality, FATE#323338, bsc#1047814). - mm/migrate: migrate_vma() unmap page from vma while collecting pages (VM Functionality, FATE#323338, bsc#1047814). - mm/migrate: new memory migration helper for use with device memory (VM Functionality, FATE#323338, bsc#1047814). - mm/migrate: new migrate mode MIGRATE_SYNC_NO_COPY (VM Functionality, FATE#323338, bsc#1047814). - mm/migrate: support un-addressable ZONE_DEVICE page in migration (VM Functionality, FATE#323338, bsc#1047814). - mm/ZONE_DEVICE: new type of ZONE_DEVICE for unaddressable memory (VM Functionality, FATE#323338, bsc#1047814). - mm/ZONE_DEVICE: special case put_page() for device private pages (VM Functionality, FATE#323338, bsc#1047814). - Update config files. - commit 5579b56- Fix git-repo: header in scsi_devinfo patches - Refresh patches.fixes/scsi-scsi_devinfo-cleanly-zero-pad-devinfo-strings.patch. - Refresh patches.fixes/scsi-scsi_devinfo-handle-non-terminated-strings.patch. - commit 53814b0- iwlwifi: mvm: mark MIC stripped MPDUs (bsc#1071648). - iwlwifi: mvm: enable RX offloading with TKIP and WEP (bsc#1071648). - iwlwifi: mvm: flush queue before deleting ROC (bsc#1071648). - iwlwifi: add new cards for 9260 and 22000 series (bsc#1071648). - iwlwifi: mvm: fix packet injection (bsc#1071648). - iwlwifi: mvm: don't use transmit queue hang detection when it is not possible (bsc#1071648). - iwlwifi: fix firmware names for 9000 and A000 series hw (bsc#1071648). - iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD (bsc#1071648). - iwlwifi: fix PCI IDs and configuration mapping for 9000 series (bsc#1071648). - iwlwifi: add new cards for a000 series (bsc#1071648). - iwlwifi: add new cards for 8265 series (bsc#1071648). - iwlwifi: add new cards for 8260 series (bsc#1071648). - iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons (bsc#1071648). - commit d40b4c9- Add undefine _unique_build_ids (bsc#964063) - commit 47e91a1- scsi: libsas: align sata_device's rps_resp on a cacheline (bsc#1071401). - scsi: hisi_sas: add v3 hw port AXI error handling (bsc#1071401). - scsi: hisi_sas: add v3 hw support for AXI fatal error (bsc#1071401). - scsi: hisi_sas: complete all tasklets prior to host reset (bsc#1071401). - scsi: hisi_sas: fix a bug when free device for v3 hw (bsc#1071401). - scsi: hisi_sas: add hisi_hba.rst_work init for v3 hw (bsc#1071401). - scsi: hisi_sas: add v3 hw DFX feature (bsc#1071401). - scsi: hisi_sas: init connect cfg register for v3 hw (bsc#1071401). - scsi: hisi_sas: check PHY state in get_wideport_bitmap_v3_hw() (bsc#1071401). - scsi: hisi_sas: use array for v2 hw AXI errors (bsc#1071401). - scsi: hisi_sas: fix the risk of freeing slot twice (bsc#1071401). - scsi: hisi_sas: fix NULL check in SMP abort task path (bsc#1071401). - scsi: hisi_sas: us start_phy in PHY_FUNC_LINK_RESET (bsc#1071401). - scsi: hisi_sas: fix SATA breakpoint memory size (bsc#1071401). - scsi: hisi_sas: grab hisi_hba.lock when processing slots (bsc#1071401). - scsi: hisi_sas: use spin_lock_irqsave() for hisi_hba.lock (bsc#1071401). - scsi: hisi_sas: delete get_ncq_tag_v3_hw() (bsc#1071401). - scsi: libsas: remove unused variable sas_ha (bsc#1071401). - scsi: libsas: add event to defer list tail instead of head when draining (bsc#1071401). - scsi: libsas: rename notify_port_event() for consistency (bsc#1071401). - scsi: libsas: remove unused port_gone_completion and DISCE_PORT_GONE (bsc#1071401). - scsi: libsas: remove the numbering for each event enum (bsc#1071401). - scsi: libsas: kill useless ha_event and do some cleanup (bsc#1071401). - scsi: libsas: Annotate fall-through in a switch statement (bsc#1071401). - scsi: libsas: Remove a set-but-not-used variable (bsc#1071401). - scsi: hisi_sas: replace kfree with scsi_host_put (bsc#1071401). - scsi: hisi_sas: remove phy_down_v3_hw() res variable (bsc#1071401). - scsi: hisi_sas: add phy_set_linkrate_v3_hw() (bsc#1071401). - scsi: hisi_sas: update some v3 register init settings (bsc#1071401). - scsi: hisi_sas: add reset handler for v3 hw (bsc#1071401). - scsi: hisi_sas: kill tasklet when destroying irq in v3 hw (bsc#1071401). - scsi: hisi_sas: fix v3 hw channel interrupt processing (bsc#1071401). - scsi: hisi_sas: Modify v3 hw STP_LINK_TIMER setting (bsc#1071401). - commit 9c6ddbc- cpufreq, intel_pstate: Ramp up frequency faster when utilisation reaches setpoint (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: intel_pstate: Improve IO performance with per-core P-states (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: intel_pstate: Use load-based policy by default but allow PID to be used (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - sched/fair: Update calc_group_*() comments (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Calculate runnable_weight slightly differently (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Implement more accurate async detach (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Align PELT windows between cfs_rq and its se (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Implement synchonous PELT detach on load-balance migrate (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Propagate an effective runnable_load_avg (bnc#1066110 Scheduler utilisation tracking). - sched/pelt: Fix false running accounting (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Rewrite PELT migration propagation (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Rewrite cfs_rq->removed_*avg (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Use reweight_entity() for set_user_nice() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: More accurate reweight_entity() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Introduce {en,de}queue_load_avg() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Rename {en,de}queue_entity_load_avg() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Move enqueue migrate handling (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Change update_load_avg() arguments (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Remove se->load.weight from se->avg.load_sum (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Cure calc_cfs_shares() vs. reweight_entity() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Add comment to calc_cfs_shares() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Clean up calc_cfs_shares() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Drop always true parameter of update_cfs_rq_load_avg() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Avoid checking cfs_rq->nr_running twice (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Pass 'rq' to weighted_cpuload() (bnc#1066110 Scheduler utilisation tracking). - sched/core: Reuse put_prev_task() (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Use task_groups instead of leaf_cfs_rq_list to walk all cfs_rqs (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Fix O(nr_cgroups) in load balance path (bnc#1066110 Scheduler utilisation tracking). - sched/fair: Call cpufreq update util handlers less frequently on UP (bnc#1066110 Scheduler utilisation tracking). - commit 9ea022c- fs/proc: Report eip/esp in /prod/PID/stat for coredumping (bsc#1050549). - locking/x86: Use LOCK ADD for smp_mb() instead of MFENCE (bsc#1050549). - commit 1941e2e- iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW command (bsc#1068838,bsc#1071652). - commit d602917- USB: uas: fix bug in handling of alternate settings (bsc#1071074). - commit e1e1aea- IB/mlx4: Add contig support for control objects (bsc#1071218). - IB/mlx4: Use optimal numbers of MTT entries (bsc#1071218). - IB/mlx4: Add report for RSS capabilities by vendor channel (bsc#1071218). - commit 8514de9- regulator: fan53555: fix I2C device ids (bsc#1071296). - Update config files. - supported.conf: - regulator: fan53555: Use of_device_get_match_data() to simplify probe (bsc#1071296). - commit aab6c79- blacklist.conf: usbtest is not compiled document that patch for security issue is not needed - commit 33a85d1- blacklist.conf: the driver is not compiled. Ignore fixes. - commit eab7a74- sched/wait: fix add_wait_queue() behavior change (bnc#971975 VM performance -- page waitqueue). - commit b67e247- scsi: scsi_devinfo: cleanly zero-pad devinfo strings (bsc#1062941, bsc#1037404, bsc#1012523, bsc#1038299). - scsi: scsi_devinfo: handle non-terminated strings (bsc#1062941, bsc#1037404, bsc#1012523, bsc#1038299). - commit fcb27f8- isa: Prevent NULL dereference in isa_bus driver callbacks (bsc#1051510). - commit 32eeca3- md: always set THREAD_WAKEUP and wake up wqueue if thread existed (bsc#1071403). - dlm: recheck kthread_should_stop() before schedule() (bsc#1071422). - commit a2cb166- scsi_devinfo fixes from 4.15 (bsc#1062941, bsc#1037404) - scsi: scsi_devinfo: Add 'AIX VDASD' to blacklist (bsc#1012523 bsc#1037404 bsc#1038299 bsc#1062941). - scsi: scsi_devinfo: Add TRY_VPD_PAGES to HITACHI OPEN-V blacklist entry (bsc#1012523 bsc#1037404 bsc#1038299 bsc#1062941). - scsi: scsi_devinfo: fixup string compare (bsc#1012523 bsc#1037404 bsc#1038299 bsc#1062941). - scsi: scsi_devinfo: Whitespace fixes (bsc#1012523 bsc#1037404 bsc#1038299 bsc#1062941). - commit 0b796f6- Move iTCO_wdt patch to sorted section - commit c15439f- btrfs: fix NULL pointer dereference from free_reloc_roots() (bsc#1071099). - commit f5d556f- dax: fix general protection fault in dax_alloc_inode (bsc#1052766). - commit cc66850- f2fs: fix to show ino management cache size correctly (bsc#1052766). - commit 3007e0f- Revert "f2fs: handle dirty segments inside refresh_sit_entry" (bsc#1052766). - commit dcc8098- f2fs: fix to clear FI_NO_PREALLOC (bsc#1052766). - commit 8a0aa54- ocfs2: ip_alloc_sem should be taken in ocfs2_get_block() (bsc#1052766). - commit 8d3384d- dnotify: Handle errors from fsnotify_add_mark_locked() in fcntl_dirnotify() (bsc#1052766). - commit 16097ad- fsnotify: pin both inode and vfsmount mark (bsc#1052766). - commit 1702fdd- fsnotify: clean up fsnotify_prepare/finish_user_wait() (bsc#1052766). - commit cb63dd7- supported.conf: update arm64 relevant drivers - commit 4d1cbfb- IB/rdmavt: Don't wait for resources in QP reset (bsc#1070622). - IB/hfi1: Allow meta version 4 for platform configuration (bsc#1070622). - IB/hfi1: Add parsing for platform configuration format version 4 (bsc#1070622). - commit 63d7eea- mm/memory.c: mark create_huge_pmd() inline to prevent build failure (fate#323590). - commit 8e193c8- crypto: cavium - clean up clang warning on unread variable offset (FATE#323051). - commit f445359- scsi: hisi_sas: fix internal abort slot timeout bug (bsc#1068693). - commit 645ee34- x86/stacktrace: do now unwind after user regs (bnc#1058115). - x86/stacktrace: remove unwind_state->error (bnc#1058115). - x86/stacktrace: remove STACKTRACE_DUMP_ONCE from __save_stack_trace_reliable (bnc#1058115). - x86/stacktrace: do not fail for ORC with regs on stack (bnc#1058115). More make-ORC-reliable patches. - commit 91578f6- perf/x86/intel/bts: Fix exclusive event reference leak (git-fixes d2878d642a4ed). - commit 798cbcd- blacklist.conf: Add inapplicable / non-issues commits for WiFi and DRM - commit 999cd73- mmc: core: prepend 0x to OCR entry in sysfs (bsc#1051510). - mmc: core: prepend 0x to pre_eol_info entry in sysfs (bsc#1051510). - mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl() (bsc#1051510). - rtlwifi: rtl8821ae: Fix connection lost problem (bsc#1051510). - brcmfmac: fix double free upon register_netdevice() failure (bsc#1051510). - ath10k: fix reported HT MCS rates with NSS > 1 (bsc#1051510). - drm/i915: Prevent zero length "index" write (bsc#1051510). - drm/i915: Don't try indexed reads to alternate slave addresses (bsc#1051510). - commit 4923254- thunderbolt: tb: fix use after free in tb_activate_pcie_devices (FATE#323948). - commit d3f0bb9- Refresh patches.drivers/drm-i915-Suppress-switch_mm-emission-between-the-sam. Add the cherry-picked upstream commit id, too - commit f2ecc61- blacklist.conf: Add inapplicable DRM and IIO commits (bsc#1051510) - commit b18d7d1- ipmi_ssif: unlock on allocation failure (bsc#1051510). - iio: trigger: stm32-timer: fix a corner case to write preset (bsc#1051510). - iio: inkern: fix a static checker error (bsc#1051510). - mfd: omap-usb-tll: Fix register offsets (bsc#1051510). - drm/omap: displays: panel-dpi: add backlight dependency (bsc#1051510). - drm/omap: Fix error handling path in 'omap_dmm_probe()' (bsc#1051510). - drm/i915: fix intel_backlight_device_register declaration (bsc#1051510). - commit d3a4e07- apparmor: fix off-by-one comparison on MAXMAPPED_SIG (bsc#1071070). - apparmor: fix locking when creating a new complain profile (bsc#1071061). - apparmor: fix leak of null profile name if profile allocation fails (bsc#1071057). - apparmor: fix profile attachment for special unconfined profiles (bsc#1071035). - commit 196f7ba- mm: always enable thp for dax mappings (fate#323590). Refresh patches.fixes/dax-use-common-4k-zero-page-for-dax-mmap-reads.patch - commit a9ff0a7- iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW command (FATE#322675). - commit be16b41- mm: improve readability of transparent_hugepage_enabled() (fate#323590). - commit 52d3d3e- blacklist 65c5ec11c25e powerpc/boot: Fix 64-bit boot wrapper build with non-biarch compiler - correct backlisted commit id - commit 2fd25e6- iwlwifi: fix wrong struct for a000 device (FATE#322675). - commit 6762404- IB/core: disable memory registration of filesystem-dax vmas (bsc#1070967). - commit 68da5e4- v4l2: disable filesystem-dax mapping support (bsc#1070967). - commit add8a46- mm: fail get_vaddr_frames() for filesystem-dax mappings (bsc#1070967). - commit 9705a09- mm: introduce get_user_pages_longterm (bsc#1070967). - commit 3240a1e- ecryptfs: fix dereference of NULL user_key_payload (bsc#1052766). - commit b2e39ae- dax: fix PMD faults on zero-length files (bsc#1052766). - commit 640b01c- quota: Check for register_shrinker() failure (bsc#1052766). - commit 7ea927a- xfs: evict all inodes involved with log redo item (bsc#1052766). - commit 1e78f32- xfs: clear MS_ACTIVE after finishing log recovery (bsc#1052766). - commit cd4c172- mm, hugetlbfs: introduce ->split() to vm_operations_struct (bsc#1070968). - commit b96e8a1- device-dax: implement ->split() to catch invalid munmap attempts (bsc#1070968). - commit 542be39- 9p: set page uptodate when required in write_end() (bsc#1052766). - commit de002ea- net: thunderx: Fix TCP/UDP checksum offload for IPv6 pkts (bsc#1069583). - bpf: fix lockdep splat (bsc#1056787). - net/mlx5e: Add rollback on add VLAN failure (bsc#1046303 FATE#322944). - rtnetlink: bring NETDEV_CHANGEMTU event process back in rtnetlink_event (bsc#1056787). - net: sched: fix use-after-free in tcf_action_destroy and tcf_del_walker (bsc#1056787). - commit 7674fd9- Re-sorted series.conf - commit da1763f- mm/hugetlb: fix NULL-pointer dereference on 5-level paging machine (bnc#1070965). - commit 008deb0- mm/madvise.c: fix madvise() infinite loop under special circumstances (bnc#1070964). - commit 6645258- mm/cma: fix alloc_contig_range ret code/potential leak (bnc#1070962). - commit 0363569- blacklist.conf: blacklist 3f3295709edea6268ff1609855f498035286af73 as a minor optimization - commit 689fb18- xfs: Properly retry failed inode items in case of error during buffer writeback (bsc#1070682). - xfs: Add infrastructure needed for error propagation during buffer IO failure (bsc#1070682). - commit b6a619b- dm, dax: Make sure dm_dax_flush() is called if device supports it (FATE#323717). - Refresh patches.drivers/dax-remove-the-pmem_dax_ops-flush-abstraction.patch. - commit 5a023df- Btrfs: work around maybe-uninitialized warning (FATE#323952, FATE#322506). - commit c56eb06- apparmor: fix oops in audit_signal_cb hook (bsc#1070227). - commit da7b6ca- dax: convert to bitmask for flags (FATE#323717). - dax, pmem: introduce an optional 'flush' dax_operation (FATE#323717). - dax: remove the pmem_dax_ops->flush abstraction (FATE#323717). - dm: add ->copy_from_iter() dax operation support (FATE#323717). - dm: add ->flush() dax operation support (FATE#323717). - filesystem-dax: convert to dax_copy_from_iter() (FATE#323717). - filesystem-dax: convert to dax_flush() (FATE#323717). - libnvdimm, nd_blk: remove mmio_flush_range() (FATE#323717). - libnvdimm, pmem, dax: export a cache control attribute (FATE#323717). - libnvdimm, pmem: disable dax flushing when pmem is fronting a volatile region (FATE#323717). - x86, dax, libnvdimm: remove wb_cache_pmem() indirection (FATE#323717). - x86, dax: replace clear_pmem() with open coded memset + dax_ops->flush (FATE#323717). - x86, libnvdimm, pmem: move arch_invalidate_pmem() to libnvdimm (FATE#323717). - Refresh patches.fixes/dax-explain-how-read-2-write-2-addresses-are-validat.patch. - commit 2bc41df- hv_netvsc: preserve hw_features on mtu/channels/ringparam changes (fate#323887). - hv_netvsc: hide warnings about uninitialized/missing rndis device (fate#323887). - hv_netvsc: netvsc_teardown_gpadl() split (fate#323887). - scsi: storvsc: Avoid excessive host scan on controller change (fate#323887). - hyper-v: trace channel events (fate#323887). - hyper-v: trace vmbus_send_tl_connect_request() (fate#323887). - hyper-v: trace vmbus_release_relid() (fate#323887). - hyper-v: trace vmbus_negotiate_version() (fate#323887). - hyper-v: trace vmbus_teardown_gpadl() (fate#323887). - hyper-v: trace vmbus_establish_gpadl() (fate#323887). - hyper-v: trace vmbus_close_internal() (fate#323887). - hyper-v: trace vmbus_open() (fate#323887). - hyper-v: trace vmbus_request_offers() (fate#323887). - hyper-v: trace vmbus_onversion_response() (fate#323887). - hyper-v: trace vmbus_ongpadl_torndown() (fate#323887). - hyper-v: trace vmbus_ongpadl_created() (fate#323887). - hyper-v: trace vmbus_onopen_result() (fate#323887). - hyper-v: trace vmbus_onoffer_rescind() (fate#323887). - hyper-v: trace vmbus_onoffer() (fate#323887). - hyper-v: trace vmbus_on_message() (fate#323887). - hyper-v: trace vmbus_on_msg_dpc() (fate#323887). - scsi: storvsc: Allow only one remove lun work item to be issued per lun (fate#323887). - Drivers: hv: vmbus: Make panic reporting to be more useful (fate#323887). - Drivers: hv: vmbus: Expose per-channel interrupts and events counters (fate#323887). - hv_netvsc: Set tx_table to equal weight after subchannels open (fate#323887). - vmbus: initialize reserved fields in messages (fate#323887). - hv_netvsc: Add initialization of tx_table in netvsc_device_add() (fate#323887). - hv_netvsc: Rename tx_send_table to tx_table (fate#323887). - hv_netvsc: Rename ind_table to rx_table (fate#323887). - hv_netvsc: Add ethtool handler to set and get TCP hash levels (fate#323887). - hv_netvsc: Change the hash level variable to bit flags (fate#323887). - HID: hyperv: pr_err() strings should end with newlines (fate#323887). - vmbus: add per-channel sysfs info (fate#323887). - hv_netvsc: report stop_queue and wake_queue (fate#323887). - hv_netvsc: Fix the real number of queues of non-vRSS cases (fate#323887). - hv_netvsc: make const array ver_list static, reduces object code size (fate#323887). - commit 76f63c8- scsi: mpt3sas: remove a stray KERN_INFO (bsc#1067965). - scsi: mpt3sas: cleanup _scsih_pcie_enumeration_event() (bsc#1067965). - scsi: mpt3sas: fix dma_addr_t casts (bsc#1067965). - scsi: mpt3sas: Update mpt3sas driver version (bsc#1067965). - scsi: mpt3sas: Fix sparse warnings (bsc#1067965). - scsi: mpt3sas: Fix nvme drives checking for tlr (bsc#1067965). - scsi: mpt3sas: NVMe drive support for BTDHMAPPING ioctl command and log info (bsc#1067965). - scsi: mpt3sas: Add-Task-management-debug-info-for-NVMe-drives (bsc#1067965). - scsi: mpt3sas: scan and add nvme device after controller reset (bsc#1067965). - scsi: mpt3sas: Set NVMe device queue depth as 128 (bsc#1067965). - scsi: mpt3sas: Handle NVMe PCIe device related events generated from firmware (bsc#1067965). - scsi: mpt3sas: API's to remove nvme drive from sml (bsc#1067965). - scsi: mpt3sas: API 's to support NVMe drive addition to SML (bsc#1067965). - scsi: mpt3sas: Added support for nvme encapsulated request message (bsc#1067965). - scsi: mpt3sas: SGL to PRP Translation for I/Os to NVMe devices (bsc#1067965). - scsi: mpt3sas: Add nvme device support in slave alloc, target alloc and probe (bsc#1067965). - commit 5d6012f- Rediff patches after sorting series.conf - patches.arch/s390-sles15-00-10-01-kernel-sthyi-reorganize-sthyi-implementation.patch: (FATE#324258, LTC#160415, bsc#1068273). - Refresh patches.drivers/s390-cpu-alternatives.patch. - commit 92c2ed1- rename a bunch hyperv patches to reflect new upstream ordering - commit ab8bb68- patches.arch/s390-sles15-00-10-03-kernel-sthyi-add-s390_sthyi-system-call.patch: (FATE#324258, LTC#160415, bsc#1068273). - patches.arch/s390-sles15-00-10-02-kernel-sthyi-add-cache-to-store-hypervisor-info.patch: (FATE#324258, LTC#160415, bsc#1068273). - patches.arch/s390-sles15-00-10-01-kernel-sthyi-reorganize-sthyi-implementation.patch: (FATE#324258, LTC#160415, bsc#1068273). - commit bbfb48f- KVM: s390: Support Configuration z/Architecture Mode (FATE#324111, LTC#158961,bsc#1066434). - commit 39c4947- iw_cxgb4: atomically flush the qp (bsc#1064802 bsc#1066129). - iw_cxgb4: only call the cq comp_handler when the cq is armed (bsc#1064802 bsc#1066129). - iw_cxgb4: Fix possible circular dependency locking warning (bsc#1064802 bsc#1066129). - iw_cxgb4: remove BUG_ON() usage (bsc#1064802 bsc#1066129). - RDMA/cxgb4: Protect from possible dereference (bsc#1064802 bsc#1066129). - RDMA/cxgb4: Annotate r2 and stag as __be32 (bsc#1064802 bsc#1066129). - RDMA/cxgb4: Declare stag as __be32 (bsc#1064802 bsc#1066129). - RDMA/cxgb4: Remove a set-but-not-used variable (bsc#1064802 bsc#1066129). - RDMA/cxgb4: Suppress gcc 7 fall-through complaints (bsc#1064802 bsc#1066129). - RDMA/cxgb4: Remove the obsolete kernel module option 'c4iw_debug' (bsc#1064802 bsc#1066129). - RDMA/cxgb4: Fix indentation (bsc#1064802 bsc#1066129). - iw_cxgb4: add referencing to wait objects (bsc#1064802 bsc#1066129). - iw_cxgb4: allocate wait object for each ep object (bsc#1064802 bsc#1066129). - iw_cxgb4: allocate wait object for each qp object (bsc#1064802 bsc#1066129). - iw_cxgb4: allocate wait object for each cq object (bsc#1064802 bsc#1066129). - iw_cxgb4: allocate wait object for each memory object (bsc#1064802 bsc#1066129). - iw_cxgb4: change pr_debug to appropriate log level (bsc#1064802 bsc#1066129). - iw_cxgb4: Remove __func__ parameter from pr_debug() (bsc#1064802 bsc#1066129). - IB/{cxgb3,cxgb4}: Remove unneeded config dependencies (bsc#1064802 bsc#1066129). - cxgb4: collect SGE queue context dump (bsc#1064802 bsc#1066129). - cxgb4: collect LE-TCAM dump (bsc#1064802 bsc#1066129). - cxgb4: collect vpd info directly from hardware (bsc#1064802 bsc#1066129). - cxgb4vf: define get_fecparam ethtool callback (bsc#1064802 bsc#1066129). - cxgb4: fix error return code in cxgb4_set_hash_filter() (bsc#1064802 bsc#1066129). - cxgb4: add support to create hash-filters via tc-flower offload (bsc#1064802 bsc#1066129). - cxgb4: add support to retrieve stats for hash filters (bsc#1064802 bsc#1066129). - cxgb4: add support to delete hash filter (bsc#1064802 bsc#1066129). - cxgb4: add support to create hash filters (bsc#1064802 bsc#1066129). - cxgb4: initialize hash-filter configuration (bsc#1064802 bsc#1066129). - cxgb4: save additional filter tuple field shifts in tp_params (bsc#1064802 bsc#1066129). - cxgb3: Check and handle the dma mapping errors (bsc#1064802 bsc#1066129). - cxgb4: collect hardware misc dumps (bsc#1064802 bsc#1066129). - cxgb4: collect hardware scheduler dumps (bsc#1064802 bsc#1066129). - cxgb4: collect PBT tables dump (bsc#1064802 bsc#1066129). - cxgb4: collect MPS-TCAM dump (bsc#1064802 bsc#1066129). - cxgb4: collect TID info dump (bsc#1064802 bsc#1066129). - cxgb4: collect RSS dumps (bsc#1064802 bsc#1066129). - cxgb4: collect CIM queue configuration dump (bsc#1064802 bsc#1066129). - cxgb4: collect hardware LA dumps (bsc#1064802 bsc#1066129). - cxgb4: fix overflow in collecting IBQ and OBQ dump (bsc#1064802 bsc#1066129). - cxgb4: add tc flower support for L3/L4 rewrite (bsc#1064802 bsc#1066129). - cxgb4: introduce fw_filter2_wr to prepare for L3/L4 rewrite support (bsc#1064802 bsc#1066129). - cxgb4: add tc flower support for ETH-SMAC rewrite (bsc#1064802 bsc#1066129). - cxgb4: introduce SMT ops to prepare for SMAC rewrite support (bsc#1064802 bsc#1066129). - cxgb4: add tc flower support for ETH-DMAC rewrite (bsc#1064802 bsc#1066129). - cxgb4: add tc flower support for action PASS (bsc#1064802 bsc#1066129). - cxgb4: add tc flower match support for vlan (bsc#1064802 bsc#1066129). - cxgb4: add tc flower match support for TOS (bsc#1064802 bsc#1066129). - cxgb4: fix missing break in switch and indent return statements (bsc#1064802 bsc#1066129). - cxgb4: collect IBQ and OBQ dumps (bsc#1064802 bsc#1066129). - cxgb4: collect hardware module dumps (bsc#1064802 bsc#1066129). - cxgb4: collect TP dump (bsc#1064802 bsc#1066129). - cxgb4: update API for TP indirect register access (bsc#1064802 bsc#1066129). - cxgb4: collect firmware mbox and device log dump (bsc#1064802 bsc#1066129). - cxgb4: collect on-chip memory dump (bsc#1064802 bsc#1066129). - cxgb4: collect register dump (bsc#1064802 bsc#1066129). - cxgb4: implement ethtool dump data operations (bsc#1064802 bsc#1066129). - cxgb4: Add support for new flash parts (bsc#1064802 bsc#1066129). - cxgb4vf: make a couple of functions static (bsc#1064802 bsc#1066129). - cxgb4: Update comment for min_mtu (bsc#1064802 bsc#1066129). - cxgb4: make function ch_flower_stats_cb, fixes warning (bsc#1064802 bsc#1066129). - net: sched: introduce helper to identify gact pass action (bsc#1064802 bsc#1066129). - cxgb4: do DCB state reset in couple of places (bsc#1064802 bsc#1066129). - cxgb4: fetch stats for offloaded tc flower flows (bsc#1064802 bsc#1066129). - cxgb4: add support to offload action vlan (bsc#1064802 bsc#1066129). - cxgb4: add basic tc flower offload support (bsc#1064802 bsc#1066129). - cxgb4: add tc flower offload skeleton (bsc#1064802 bsc#1066129). - cxgb4: avoid stall while shutting down the adapter (bsc#1064802 bsc#1066129). - net: sched: add couple of goto_chain helpers (bsc#1064802 bsc#1066129). - net: sched: introduce helper to identify gact trap action (bsc#1064802 bsc#1066129). - commit 20cef46- Re-sorted series.conf - commit 7b3ce49- ocfs2: fstrim: Fix start offset of first cluster group during fstrim (bsc#1063586). - commit 0ab4132- target: Move a declaration of a global variable into a header file (bsc#1070678). - commit 4efa2af- rpm/kernel-binary.spec.in: fix incorrectly moved comment While moving # END COMMON DEPS moved following comment with it. - commit 858b7e7- MODSIGN: checking the blacklisted hash before loading a kernel module (fate#316531, bnc#854875). - Delete patches.suse/0001-MODSIGN-Print-appropriate-status-message-when-access.patch. - Delete patches.suse/MODSIGN-loading-keys-from-db-when-SecureBoot-disabled.patch. - commit edc0be3- eCryptfs: use after free in ecryptfs_release_messaging() (bsc#1052766). - commit f859ac2- MODSIGN: load blacklist from MOKx (fate#316531, bnc#854875). - Delete patches.suse/0001-MODSIGN-check-hash-of-PKCS-7-signed-kernel-module-in.patch. - commit 803e6b3- xfs: skip bmbt block ino validation during owner change (bsc#1052766). - commit 6bfd0e1- MODSIGN: print appropriate status message when getting UEFI certificates list (fate#316531, bnc#854875). - Delete patches.suse/0002-MODSIGN-load-hash-blacklist-of-modules-from-MOKx.patch. - commit 7bcb5b3- fs/9p: Compare qid.path in v9fs_test_inode (bsc#1052766). - commit dbfff87- mm/page-writeback.c: remove unused parameter from balance_dirty_pages() (bsc#1052766). - blacklist.conf: Blacklist 0fafdc9f888b - commit 1229ece- MODSIGN: do not load mok when secure boot disabled (fate#316531, bnc#854875). - Delete patches.suse/0001-MODSIGN-check-hash-of-kernel-module-in-blacklist.patch. - commit 8579580- blaclist.conf: ignore a non-critical clk compile-testing fix - commit e7dbc17- powerpc/signal: Properly handle return value from uprobe_deny_signal() (bsc#1066223, bsc#1065729). - powerpc/powernv: Make opal_event_shutdown() callable from IRQ context (bsc#1066223, bsc#1065729). - powerpc/opal: Fix EBUSY bug in acquiring tokens (bsc#1066223, bsc#1065729). - commit 8e87d41- IB/hfi1: Add MODULE_FIRMWARE statements (bsc#1060463 FATE#323043 bsc#1036800). - commit 4895106- ipsec: Fix aborted xfrm policy dump crash (CVE-2017-16939 bsc#1069702). - commit 1423016- series.conf: refresh (just ran scripts/series_sort.py) - commit ae21bc7- RDMA/core: avoid uninitialized variable warning in create_udata (bsc#1046306 FATE#322942). - commit f931b31- powerpc/perf: Fix core-imc hotplug callback failure during imc initialization (FATE#322448, bsc#1054914). - commit 38573c2- blacklist.conf: mark duplicate commit - commit e6f182d- IB/hfi1: Allow MgmtAllowed on B2B setups (bsc#1060463 FATE#323043). - IB/hfi1: Fix incorrect available receive user context count (bsc#1060463 FATE#323043). - commit 040fd09- Delete patches.fixes/nvme-check-for-disk-before-submitting-cmd.patch. Not needed anymore and in fact causing regressions (bsc#1070098). - commit 1c081cf- IB/hfi1: Extend input hdr tracing for packet type (bsc#1060463 FATE#323043). - Refresh patches.drivers/IB-hfi1-Fix-output-trace-issues-from-16B-change.patch. - commit 5d3e02e- IB/cm: Fix memory corruption in handling CM request (bsc#1046306 FATE#322942). - i40iw: Move cqp_cmd_head init to CQP initialization (bsc#1058659 FATE#322535). - i40iw: Remove UDA QP from QoS list if creation fails (bsc#1058659 FATE#322535). - i40iw: Clear CQP Head/Tail during initialization (bsc#1058659 FATE#322535). - i40iw: Account for IPv6 header when setting MSS (bsc#1058659 FATE#322535). - i40iw: Move exception_lan_queue to VSI structure (bsc#1058659 FATE#322535). - i40iw: Ignore AE source field in AEQE for some AEs (bsc#1058659 FATE#322535). - i40iw: Cleanup AE processing (bsc#1058659 FATE#322535). - IB/srp: Avoid that a cable pull can trigger a kernel crash (bsc#1046306 FATE#322942). - i40iw: Do not allow posting WR after QP is flushed (bsc#1058659 FATE#322535). - i40iw: Do not generate CQE for RTR on QP flush (bsc#1058659 FATE#322535). - i40iw: Do not retransmit MPA request after it is ACKed (bsc#1058659 FATE#322535). - IB/uverbs: clean up INIT_UDATA_BUF_OR_NULL usage (bsc#1046306 FATE#322942). - IB/core: Fix calculation of maximum RoCE MTU (bsc#1046306 FATE#322942). - net/smc: dev_put for netdev after usage of ib_query_gid() (bsc#1046306 FATE#322942). - net/mlx4_en: Use __force to fix a sparse warning in TX datapath (bsc#1046299 FATE#322947). - net/mlx5: Avoid NULL pointer dereference on steering cleanup (bsc#1046303 FATE#322944). - commit edced08- Update patches.kernel.org/4.12.10-050-fork-fix-incorrect-fput-of-exe_file-causing-u.patch (bnc#1060662, bnc#1070266, CVE-2017-17052). - commit e963703- ibmvnic: fix dma_mapping_error call (bsc#1069942). - refresh sorted section - ibmvnic: Feature implementation of Vital Product Data (VPD) for the ibmvnic driver (bsc#1069942). - commit 4421afe- ibmvnic: Add vnic client data to login buffer (bsc#1069942). - commit d008cdc- blacklist.conf: Add an inapplicable DRM blacklist commit - commit ac5e9b7- video: udlfb: Fix read EDID timeout (bsc#1051510). - drm/vc4: Account for interrupts in flight (bsc#1051510). - drm/kirin: Checking for IS_ERR() instead of NULL (bsc#1051510). - drm/i915: Clear breadcrumb node when cancelling signaling (bsc#1051510). - drm/edid: Don't send non-zero YQ in AVI infoframe for HDMI 1.x sinks (bsc#1051510). - drm: handle HDMI 2.0 VICs in AVI info-frames (bsc#1051510). - drm/tegra: Set MODULE_FIRMWARE for the VIC (bsc#1051510). - drm/fsl-dcu: avoid disabling pixel clock twice on suspend (bsc#1051510). - drm/atomic-helper: Realign function parameters (bsc#1051510). - drm/amdgpu: Throttle visible VRAM moves separately (bsc#1051510). - commit a1d9e66- ipmi_si: fix memory leak on new_smi (bsc#1070006). - ipmi: Prefer ACPI system interfaces over SMBIOS ones (bsc#1070006). - drm/i915: Fix init_clock_gating for resume (bsc#1051510). - commit e55a660- KEYS: return full count in keyring_read() if buffer is too small (bsc#1066478). - commit db9dfe7- powerpc/mm/radix: Fix crashes on Power9 DD1 with radix MMU and STRICT_RWX (bsc#1055186, fate#323286, git-fixes 7614ff3272a1). - commit a720d8d- blacklist: fc2a5a6161a2 powerpc/64s: ppc_save_regs is now needed for all 64s builds - commit 23ca0a5- powerpc/64s/slice: Use addr limit when computing slice mask (bsc#1070169). - powerpc/64s: mm_context.addr_limit is only used on hash (bsc#1070169). - powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary (bsc#1070169). - powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation (bsc#1070169). - powerpc/64s/hash: Fix fork() with 512TB process address space (bsc#1070169). - powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation (bsc#1070169). - powerpc/64s/hash: Fix 512T hint detection to use >= 128T (bsc#1070169). - commit 9e4b8a7- RDMA/bnxt_re: synchronize poll_cq and req_notify_cq verbs (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Flush CQ notification Work Queue before destroying QP (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Set QP state in case of response completion errors (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Add memory barriers when processing CQ/EQ entries (bsc#1050244 FATE#322915). - bnxt_re: changing the ip address shouldn't affect new connections (bsc#1050244 FATE#322915). - bnxt_re: fix a crash in qp error event processing (bsc#1050244 FATE#322915). - bnxt_re: Implement the shutdown hook of the L2-RoCE driver interface (bsc#1050244 FATE#322915). - bnxt_re: Fix incorrect usage of test_bit() (bsc#1050244 FATE#322915). - cxgb4: add new T6 pci device id's (bsc#1062057). - cxgb4: add new T5 pci device id's (bsc#1062057). - cxgb4: add new T6 pci device id's (bsc#1062057). - cxgb4: add new T5 pci device id's (bsc#1062057). - commit c0d6d87- powerpc/kexec: Fix kexec/kdump in P9 guest kernels (bsc#1070053). - powerpc/powernv: Fix kexec crashes caused by tlbie tracing (bsc#1055117, fate#323286, git-fixes 0428491cba92). - commit 1619f34- powerpc/perf/imc: Use cpu_to_node() not topology_physical_package_id() (FATE#322448, bsc#1054914). - powerpc/perf: Fix IMC_MAX_PMU macro (FATE#322448, bsc#1054914). - commit aff096d- powerpc/book3s: EXPORT_SYMBOL_GPL machine_check_print_event_info (bsc#1061840). - commit bf1a2aa- KVM: PPC: Book3S HV: Don't call real-mode XICS hypercall handlers if not enabled (bsc#1061840). - KVM: PPC: Book3S HV: Fix exclusion between HPT resizing and other HPT updates (bsc#1061840). - KVM: PPC: Book3S HV: Add more barriers in XIVE load/unload code (bsc#1061840). - KVM: PPC: Book3S HV: Close race with testing for signals on guest entry (bsc#1061840). - KVM: PPC: Book3S HV: Simplify dynamic micro-threading code (bsc#1061840). - KVM: PPC: Book3S HV: Exit guest upon MCE when FWNMI capability is enabled (bsc#1061840). - KVM: PPC: Book3S HV: Add new capability to control MCE behaviour (bsc#1061840). Refresh patches.drivers/KVM-s390-02-CMMA-tracking-ESSA-emulation-migration-mode.patch. - commit 1cc7495- Reorder KVM patches. - commit 78a9369- target: fix ALUA state file path truncation (bsc#1064606). - target: fix PR state file path truncation (bsc#1064606). Also update patches.drivers/0058-fs-fix-kernel_write-prototype context. - rbd: set discard_alignment to zero (bsc#1064320). - commit 684d96b- mm/pagewalk.c: report holes in hugetlb ranges (bnc#1069996, CVE-2017-16994). - commit 346de02- Do not enforce patch directories yet. - commit f0d8a60- lib/int_sqrt: adjust comments (bsc#1069436). - lib/int_sqrt: optimize initial value compute (bsc#1069436). - lib/int_sqrt: optimize small argument (bsc#1069436). - kernel/kcmp.c: drop branch leftover typo (bsc#1052639). - autofs: fix AT_NO_AUTOMOUNT not being honored (bsc#1069987). - commit 8651b98- supported.conf: added liquidio, liquidio_vf and opa_vnic - commit 6dd2c4f- Update config files. - commit d61614e- liquidio: fix timespec64_to_ns typo (bsc#1067126). - liquidio: fix crash in presence of zeroed-out base address regs (bsc#1067126). - liquidio: show NIC's U-Boot version in a dev_info() message (bsc#1067126). - liquidio: change manner of detecting whether or not NIC firmware is loaded (bsc#1067126). - liquidio: make VF driver notify NIC firmware of MTU change (bsc#1067126). - liquidio: move macro definition to a proper place (bsc#1067126). - liquidio: fix use of pf in pass-through mode in a virtual machine (bsc#1067126). - liquidio: remove support for deprecated f/w cmd OCTNET_CMD_RESET_PF (bsc#1067126). - liquidio: fix Smatch error (bsc#1067126). - liquidio: with embedded f/w, issue droq credits before enablement (bsc#1067126). - liquidio: with embedded f/w, don't reload f/w, issue pf flr at exit (bsc#1067126). - liquidio: fix spelling mistake: "interuupt" -> "interrupt" (bsc#1067126). - liquidio: update VF's netdev->max_mtu if there's a change in PF's MTU (bsc#1067126). - liquidio: added support for ethtool --set-channels feature (bsc#1067126). - liquidio: moved octeon_setup_interrupt to lio_core.c (bsc#1067126). - liquidio: moved liquidio_legacy_intr_handler to lio_core.c (bsc#1067126). - liquidio: moved liquidio_msix_intr_handler to lio_core.c (bsc#1067126). - liquidio: fix issues with fw_type module parameter (bsc#1067126). - liquidio: added support for ethtool --set-ring feature (bsc#1067126). - liquidio: moved liquidio_setup_io_queues to lio_core.c (bsc#1067126). - liquidio: moved liquidio_napi_poll to lio_core.c (bsc#1067126). - liquidio: moved liquidio_napi_drv_callback to lio_core.c (bsc#1067126). - liquidio: moved liquidio_push_packet to lio_core.c (bsc#1067126). - liquidio: moved octeon_setup_droq to lio_core.c (bsc#1067126). - liquidio: moved update_txq_status to lio_core.c (bsc#1067126). - liquidio: moved wait_for_pending_requests to octeon_network.h (bsc#1067126). - liquidio: fix duplicated code for different branches (bsc#1067126). - liquidio: update debug console logging mechanism (bsc#1067126). - liquidio: moved ptp_enable to octeon_device structure (bsc#1067126). - liquidio: removed check for queue size alignment (bsc#1067126). - liquidio: rx/tx queue cleanup (bsc#1067126). - liquidio: napi cleanup (bsc#1067126). - liquidio: fix misspelled firmware image filenames (bsc#1067126). - liquidio: fix wrong info about vf rx/tx ring parameters reported to ethtool (bsc#1067126). - liquidio: moved console_bitmask module param to lio_main.c (bsc#1067126). - liquidio: add missing strings in oct_dev_state_str array (bsc#1067126). - liquidio: set sriov_totalvfs correctly (bsc#1067126). - liquidio: bump up driver version to match newer NIC firmware (bsc#1067126). - liquidio: cleanup: removed cryptic and misleading macro (bsc#1067126). - liquidio: standardization: use min_t instead of custom macro (bsc#1067126). - liquidio: fix implicit irq include causing build failures (bsc#1067126). - liquidio: lio_main: remove unnecessary static in setup_io_queues() (bsc#1067126). - liquidio: lio_vf_main: remove unnecessary static in setup_io_queues() (bsc#1067126). - liquidio: lowmem: init allocated memory to 0 (bsc#1067126). - liquidio: lowmem: do not dereference null ptr (bsc#1067126). - liquidio: lowmem: init allocated memory to 0 (bsc#1067126). - liquidio: support new firmware statistic fw_err_pki (bsc#1067126). - liquidio: fix possible eeprom format string overflow (bsc#1067126). - liquidio: stop using huge static buffer, save 4096k in .data (bsc#1067126). - liquidio: replace info-pointer mode with buffer-pointer-only mode (bsc#1067126). - liquidio: implement vlan filter enable and disable (bsc#1067126). - liquidio: fix VF driver off-by-one bug when setting ethtool - C ethX rx-frames (bsc#1067126). - liquidio: disallow enabling firmware debug from a VF (bsc#1067126). - liquidio: Fix checkpatch errors with references crossing single line (bsc#1067126). - liquidio: VF interrupt initialization cleanup (bsc#1067126). - liquidio: fix inaccurate count of napi-processed rx packets reported to Octeon (bsc#1067126). - liquidio: fix rare pci_driver.probe failure of VF driver (bsc#1067126). - liquidio: make the spinlock octeon_devices_lock static (bsc#1067126). - liquidio: fix PF falsely indicating success at setting MAC address of a nonexistent VF (bsc#1067126). - liquidio: fix insmod failure when multiple NICs are plugged in (bsc#1067126). - liquidio: use pcie_flr instead of duplicating it (bsc#1067126). - commit 4fe19f6- IB/rxe: put the pool on allocation failure (bsc#1050662 FATE#323951). - commit 927c30e- printk: Make sure to wake up printk kthread from irq work for pending output (bnc#744692, bnc#789311). - Refresh patches.suse/printk-make-synchronous-param-rw.patch. - commit 2e337de- IB/rxe: don't crash, if allocation of crc algorithm failed (bsc#1051635). - IB/rxe: check for allocation failure on elem (bsc#1050662 FATE#323951). - i40e: Avoid some useless variables and initializers in NVM functions (bsc#1056658 FATE#322188). - i40e: Add programming descriptors to cleaned_count (bsc#1056658 FATE#322188). - i40e: Fix incorrect use of tx_itr_setting when checking for Rx ITR setup (bsc#1056658 FATE#322188). - ixgbe: Fix Tx map failure path (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - igb: Fix TX map failure path (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - e1000: avoid null pointer dereference on invalid stat type (bsc#1056665 FATE#322184). - e1000: fix race condition between e1000_down() and e1000_watchdog (bsc#1056665 FATE#322184). - i40e: Fix memory leak related filter programming status (bsc#1056658 FATE#322188). - i40e: Fix comment about locking for __i40e_read_nvm_word() (bsc#1056658 FATE#322188). - ixgbe: incorrect XDP ring accounting in ethtool tx_frame param (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: fix masking of bits read from IXGBE_VXLANCTRL register (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Return error when getting PHY address if PHY access is not supported (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - commit 71a839f- Port async printk for SLE15 (bsc#744692, bsc#789311, bsc#995541, bsc#1034995, bsc#1043347) - Refresh patches.suse/printk-Switch-to-the-sync-mode-when-an-emergency-mes.patch. - Refresh patches.suse/printk-fix-suspend-hang.patch. - Refresh patches.suse/printk-make-async.patch. - Refresh patches.suse/printk-xen-Force-printk-sync-mode-when-migrating-Xen.patch. - commit b97b16d- Update config files, activate NVMe multipathing on the default kernel. - commit 02da60f- nvmet_fc: fix better length checking (FATE#323952, FATE#322506). - nvme: expose subsys attribute to sysfs (FATE#323952, FATE#322506). - nvme: create 'slaves' and 'holders' entries for hidden controllers (FATE#323952, FATE#322506). - block: create 'slaves' and 'holders' entries for hidden gendisks (FATE#323952, FATE#322506). - nvme: also expose the namespace identification sysfs files for mpath nodes (FATE#323952, FATE#322506). - nvme: implement multipath access to nvme subsystems (FATE#323952, FATE#322506). - nvme: track shared namespaces (FATE#323952, FATE#322506). - nvme: introduce a nvme_ns_ids structure (FATE#323952, FATE#322506). - nvme: track subsystems (FATE#323952, FATE#322506). - commit 6e1681a- Update config files. - commit 81510df- x86/mm: fix use-after-free of vma during userfaultfd fault (Git-fixes, bsc#1069916). - x86/mm: Fix fault error path using unsafe vma pointer (Git-fixes, bsc#1069916). - commit 26d860b- nvmet: kill nvmet_inline_bio_init (FATE#323952, FATE#322506). - nvmet: better data length validation (FATE#323952, FATE#322506). - nvme-pci: avoid dereference of symbol from unloaded module (FATE#323952, FATE#322506). - nvme: send uevent for some asynchronous events (FATE#323952, FATE#322506). - nvme: unexport starting async event work (FATE#323952, FATE#322506). - nvme: remove handling of multiple AEN requests (FATE#323952, FATE#322506). - nvme-fc: remove unused "queue_size" field (FATE#323952, FATE#322506). - nvme: centralize AEN defines (FATE#323952, FATE#322506). - nvmet: remove redundant local variable (FATE#323952, FATE#322506). - nvmet: remove redundant memset if failed to get_smart_log failed (FATE#323952, FATE#322506). - blk-mq: Avoid that request queue removal can trigger list corruption (FATE#323952, FATE#322506). - commit de963be- qed: Fix iWARP out of order flow (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - Refresh patches.drivers/IB-Move-PCI-dependency-from-root-KConfig-to-HW-s-KCo.patch. - commit 8815545- nvme: fix eui_show() print format (FATE#323952, FATE#322506). - nvme: compare NQN string with right size (FATE#323952, FATE#322506). - nvmet: fix comment typos in admin-cmd.c (FATE#323952, FATE#322506). - nvme-rdma: fix nvme_rdma_create_queue_ib error flow (FATE#323952, FATE#322506). - nvmet-rdma: update queue list during ib_device removal (FATE#323952, FATE#322506). - nvme-fc: decouple ns references from lldd references (FATE#323952, FATE#322506). - nvme-fc: fix localport resume using stale values (FATE#323952, FATE#322506). - nvme: check admin passthru command effects (FATE#323952, FATE#322506). - nvme: factor get log into a helper (FATE#323952, FATE#322506). - nvme: fix and clarify the check for missing metadata (FATE#323952, FATE#322506). - nvme: split __nvme_revalidate_disk (FATE#323952, FATE#322506). - nvme: set the chunk size before freezing the queue (FATE#323952, FATE#322506). - nvme: don't pass struct nvme_ns to nvme_config_discard (FATE#323952, FATE#322506). - nvme: don't pass struct nvme_ns to nvme_init_integrity (FATE#323952, FATE#322506). - nvme: always unregister the integrity profile in __nvme_revalidate_disk (FATE#323952, FATE#322506). - nvme: move the dying queue check from cancel to completion (FATE#323952, FATE#322506). - commit de01ab6- Re-sort series.conf - commit 3402cbf- nfp: inherit the max_mtu from the PF netdev (bsc#1055968). - nfp: fix vlan receive MAC statistics typo (bsc#1055968). - nfp: fix flower offload metadata flag usage (bsc#1055968). - IB/core: Only maintain real QPs in the security lists (bsc#1046306 FATE#322942). - IB/hfi1: Mask upper 16Bits of Extended LID prior to rvt_cq_entry (bsc#1046306 FATE#322942). - IB/core: Convert OPA AH to IB for Extended LIDs only (bsc#1046306 FATE#322942). - IB/core: Avoid crash on pkey enforcement failed in received MADs (bsc#1046306 FATE#322942). - IB/mlx4: Fix RSS's QPC attributes assignments (bsc#1046302 FATE#322945). - IB/hfi1: Set hdr_type when tx req is allocated (bsc#1060463 FATE#323043). - IB/hfi1: Eliminate allocation while atomic (bsc#1060463 FATE#323043). - IB/hfi1: Mask out A bit from psn trace (bsc#1060463 FATE#323043). - IB/core: Fix endianness annotation in rdma_is_multicast_addr() (bsc#1046306 FATE#322942). - infiniband: add MMU dependency for user_mem (bsc#1046306 FATE#322942). - IB/hfi1: Do not warn on lid conversions for OPA (bsc#1046306 FATE#322942). - IB/core: Do not warn on lid conversions for OPA (bsc#1046306 FATE#322942). - IB/core: Use __be32 for LIDs in opa_is_extended_lid (bsc#1046306 FATE#322942). - IB/hfi1: Prevent LNI out of sync by resetting host interface version (bsc#1060463 FATE#323043). - IB/hfi1: Fix output trace issues from 16B change (bsc#1060463 FATE#323043). - IB/core: Fix use workqueue without WQ_MEM_RECLAIM (bsc#1046306 FATE#322942). - qed: Add iWARP support for fpdu spanned over more than two tcp packets (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add support for MPA header being split over two tcp packets (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add support for freeing two ll2 buffers for corner cases (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add unaligned and packed packet processing (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add mpa buffer descriptors for storing and processing mpa fpdus (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add ll2 connection for processing unaligned MPA packets (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add LL2 slowpath handling (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add the source of a packet sent on an iWARP ll2 connection (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Fix initialization of ll2 offload feature (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add ll2 option for dropping a tx packet (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add ll2 ability of opening a secondary queue (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add ll2 option to limit the number of bds per packet (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Delete redundant check on dcb_app priority (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP - Add check for errors on a SYN packet (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Fix maximum number of CQs for iWARP (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add iWARP out of order support (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add iWARP enablement support (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - commit f5625a0- Re-sorted patches - commit b5ad2da- Revert a broken USB-audio patch (bsc#1051510) Delete patches.drivers/ALSA-usb-audio-Fix-potential-zero-division-at-parsin. Also blacklist it. - commit 6ef0b1b- block: avoid null pointer dereference on null disk (FATE#323952, FATE#322506). - commit 81a37d2- bio: ensure __bio_clone_fast copies bi_partno (FATE#323952, FATE#322506). - fs: guard_bio_eod() needs to consider partitions (FATE#323952, FATE#322506). - block: add a poll_fn callback to struct request_queue (FATE#323952, FATE#322506). - block: introduce GENHD_FL_HIDDEN (FATE#323952, FATE#322506). - block: don't look at the struct device dev_t in disk_devt (FATE#323952, FATE#322506). - block: add a blk_steal_bios helper (FATE#323952, FATE#322506). - block: provide a direct_make_request helper (FATE#323952, FATE#322506). - block: add REQ_DRV bit (FATE#323952, FATE#322506). - block: move REQ_NOWAIT (FATE#323952, FATE#322506). - btrfs: Fix bug for misused dev_t when lookup in dev state hash table (FATE#323952, FATE#322506). - block: tolerate tracing of NULL bio (FATE#323952, FATE#322506). - commit ad4c58e- block: replace bi_bdev with a gendisk pointer and partitions index (FATE#323952, FATE#322506). - Refresh patches.drivers/0004-md-Runtime-support-for-multiple-ppls.patch. - Refresh patches.drivers/nvme-factor-metadata-handling-out-of-__nvme_submit_u.patch. - Refresh patches.fixes/nvme-check-for-disk-before-submitting-cmd.patch. - commit 2c78f3d- iommu/vt-d: Don't register bus-notifier under dmar_global_lock (bsc#1069793). - commit 0f58c9b- rpm/kernel-binary.spec.in: Correct supplements for recent SLE products (bsc#1067494) - commit 8f05b9f- hwmon: (xgene) Fix up error handling path mixup in 'xgene_hwmon_probe()' (bsc#1069757). - mmc: dw_mmc: Fix the DTO timeout calculation (bsc#1069721). - mmc: core: add driver strength selection when selecting hs400es (bsc#1069721). - commit 75c3fc9- HID: elo: clear BTN_LEFT mapping (bsc#1065866). - commit 9f9219a- net: hns: set correct return value (bsc#1068693). - scsi: libsas: move bus_reset_handler() to target_reset_handler() (bsc#1068693). - scsi: hisi_sas: remove driver versioning (bsc#1068693). - scsi: hisi_sas: add status and command buffer for internal abort (bsc#1068693). - scsi: hisi_sas: support zone management commands (bsc#1068693). - scsi: hisi_sas: service interrupt ITCT_CLR interrupt in v2 hw (bsc#1068693). - scsi: hisi_sas: add irq and tasklet cleanup in v2 hw (bsc#1068693). - scsi: hisi_sas: remove repeated device config in v2 hw (bsc#1068693). - scsi: hisi_sas: use array for v2 hw ECC errors (bsc#1068693). - scsi: hisi_sas: add v2 hw DFX feature (bsc#1068693). - scsi: hisi_sas: fix v2 hw underflow residual value (bsc#1068693). - scsi: hisi_sas: avoid potential v2 hw interrupt issue (bsc#1068693). - scsi: hisi_sas: fix reset and port ID refresh issues (bsc#1068693). - net: hns: Fix for __udivdi3 compiler error (bsc#1068693). - net: hns: Add self-adaptive interrupt coalesce support in hns driver (bsc#1068693). - hns: remove useless void cast (bsc#1068693). - clocksource/drivers/arm_arch_timer: Avoid infinite recursion when ftrace is enabled (bsc#1068693). - net: hns: add acpi function of xge led control (bsc#1068693). - scsi: hisi_sas: make several const arrays static (bsc#1068693). - net: hns: Bugfix for Tx timeout handling in hns driver (bsc#1068693). - net: hns: Fix a skb used after free bug (bsc#1068693). - net: hns: Fix a wrong op phy C45 code (bsc#1068693). - scsi: hisi_sas: optimise DMA slot memory (bsc#1068693). - scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32 (bsc#1068693). - scsi: hisi_sas: modify internal abort dev flow for v3 hw (bsc#1068693). - scsi: hisi_sas: add v3 code to fill some more hw function pointers (bsc#1068693). - scsi: hisi_sas: add get_wideport_bitmap_v3_hw() (bsc#1068693). - scsi: hisi_sas: add v3 code to send internal abort command (bsc#1068693). - scsi: hisi_sas: add v3 code for itct setup and free (bsc#1068693). - scsi: hisi_sas: add v3 code to send ATA frame (bsc#1068693). - scsi: hisi_sas: add v3 code to send SMP frame (bsc#1068693). - scsi: hisi_sas: add v3 code to send SSP frame (bsc#1068693). - scsi: hisi_sas: add v3 cq interrupt handler (bsc#1068693). - scsi: hisi_sas: add phy up/down/bcast and channel ISR (bsc#1068693). - scsi: hisi_sas: add v3 hw PHY init (bsc#1068693). - scsi: hisi_sas: add v3 hw init (bsc#1068693). - scsi: hisi_sas: add initialisation for v3 pci-based controller (bsc#1068693). - scsi: hisi_sas: add skeleton v3 hw driver (bsc#1068693). - scsi: hisi_sas: create hisi_sas_get_fw_info() (bsc#1068693). - scsi: hisi_sas: add pci_dev in hisi_hba struct (bsc#1068693). - scsi: hisi_sas: relocate get_ncq_tag_v2_hw() (bsc#1068693). - scsi: hisi_sas: relocate sata_done_v2_hw() (bsc#1068693). - scsi: hisi_sas: relocate get_ata_protocol() (bsc#1068693). - scsi: hisi_sas: optimise the usage of hisi_hba.lock (bsc#1068693). - scsi: hisi_sas: define hisi_sas_device.device_id as int (bsc#1068693). - scsi: hisi_sas: fix timeout check in hisi_sas_internal_task_abort() (bsc#1068693). - scsi: hisi_sas: add null check before indirect pointer dereference (bsc#1068693). - net: hns: Use phy_driver to setup Phy loopback (bsc#1068693). - net: phy: Add phy loopback support in net phy framework (bsc#1068693). - commit b48234d- mm, page_alloc: fix potential false positive in __zone_watermark_ok (Git-fixes, bsc#1068978). - commit 79749ae- ALSA: timer: Remove kernel warning at compat ioctl error paths (bsc#1051510). - ALSA: pcm: update tstamp only if audio_tstamp changed (bsc#1051510). - ALSA: usb-audio: Add sanity checks in v2 clock parsers (bsc#1051510). - ALSA: usb-audio: Fix potential zero-division at parsing FU (bsc#1051510). - ALSA: usb-audio: Fix potential out-of-bound access at parsing SU (bsc#1051510). - ALSA: usb-audio: Add sanity checks to FE parser (bsc#1051510). - ALSA: usb-audio: uac1: Invalidate ctl on interrupt (bsc#1051510). - ALSA: hda: Add Raven PCI ID (bsc#1051510). - ALSA: hda/realtek - Fix ALC700 family no sound issue (bsc#1051510). - ALSA: hda/realtek: Add headset mic support for Intel NUC Skull Canyon (bsc#1051510). - ALSA: hda: Fix too short HDMI/DP chmap reporting (bsc#1051510). - ALSA: hda/realtek - Fix ALC275 no sound issue (bsc#1051510). - commit 2816ae2- ext4: fix null pointer dereference on sbi (fate#322879). - commit f2b1207- dax: fix FS_DAX=n BLOCK=y compilation (fate#322879). - commit e1180b5- i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags (bsc#1067225). - i2c: xlp9xx: Get clock frequency with clk API (bsc#1067225). - i2c: xlp9xx: Enable HWMON class probing for xlp9xx (bsc#1067225). - PCI: Mark Cavium CN8xxx to avoid bus reset (bsc#1069250). - PCI: Apply Cavium ThunderX ACS quirk to more Root Ports (bsc#1069250). - PCI: Set Cavium ACS capability quirk flags to assert RR/CR/SV/UF (bsc#1069250). - ACPI / APD: Add clock frequency for ThunderX2 I2C controller (bsc#1067225). - commit de9db6c- blacklist.conf: Add an iwlwifi blacklist commit - commit c177979- iwlwifi: fix multi queue notification for a000 devices (bsc#1051510). - iwlwifi: mvm: reset seq num after restart (bsc#1051510). - iwlwifi: mvm: add missing lq_color (bsc#1051510). - mac80211: validate user rate mask before configuring driver (bsc#1051510). - iwlwifi: mvm: fix reorder buffer for 9000 devices (bsc#1051510). - nl80211: fix null-ptr dereference on invalid mesh configuration (bsc#1051510). - nl80211: look for HT/VHT capabilities in beacon's tail (bsc#1051510). - mac80211: agg-tx: call drv_wake_tx_queue in proper context (bsc#1051510). - mwifiex: replace netif_carrier_on/off by netif_device_attach/dettach (bsc#1051510). - commit f574816- blacklist.conf: Blacklist an already-applied drm commit - commit 3376c3c- drm/sun4i: tcon: Unconditionally reset the TCON (bsc#1051510). - drm/sun4i: backend: Offset layer buffer address by DRAM starting address (bsc#1051510). - drm/radeon: disable hard reset in hibernate for APUs (bsc#1051510). - drm/nouveau/kms/nv50: perform null check on msto[i] rathern than msto (bsc#1051510). - drm/i915/perf: fix perf enable/disable ioctls with 32bits userspace (bsc#1051510). - drm/i915: Use crtc_state_is_legacy_gamma in intel_color_check (bsc#1051510). - drm/bridge/sii8620: Fix memory corruption (bsc#1051510). - commit ff1cf1f- Refresh patches.drivers/block-Fix-a-race-between-blk_cleanup_queue-and-timeo.patch. - Refresh patches.drivers/block-introduce-blk_mq_tagset_iter.patch. - Refresh patches.drivers/block-remove-blk_mq_reinit_tagset.patch. - Refresh patches.drivers/nvme-Remove-unused-headers.patch. - Refresh patches.drivers/nvme-add-duplicate_connect-option.patch. - Refresh patches.drivers/nvme-add-helper-to-compare-options-to-controller.patch. - Refresh patches.drivers/nvme-allow-controller-RESETTING-to-RECONNECTING-tran.patch. - Refresh patches.drivers/nvme-check-for-a-live-controller-in-nvme_dev_open.patch. - Refresh patches.drivers/nvme-comment-typo-fixed-in-clearing-AER.patch. - Refresh patches.drivers/nvme-consolidate-common-code-from-reset_work.patch. - Refresh patches.drivers/nvme-fc-add-a-dev_loss_tmo-field-to-the-remoteport.patch. - Refresh patches.drivers/nvme-fc-add-dev_loss_tmo-timeout-and-remoteport-resu.patch. - Refresh patches.drivers/nvme-fc-add-support-for-duplicate_connect-option.patch. - Refresh patches.drivers/nvme-fc-add-uevent-for-auto-connect.patch. - Refresh patches.drivers/nvme-fc-avoid-workqueue-flush-stalls.patch. - Refresh patches.drivers/nvme-fc-change-ctlr-state-assignments-during-reset-r.patch. - Refresh patches.drivers/nvme-fc-check-connectivity-before-initiating-reconne.patch. - Refresh patches.drivers/nvme-fc-merge-__nvme_fc_schedule_delete_work-into-__.patch. - Refresh patches.drivers/nvme-fc-remove-NVME_FC_MAX_SEGMENTS.patch. - Refresh patches.drivers/nvme-flush-reset_work-before-safely-continuing-with-.patch. - Refresh patches.drivers/nvme-get-rid-of-nvme_ctrl_list.patch. - Refresh patches.drivers/nvme-introduce-nvme_reinit_tagset.patch. - Refresh patches.drivers/nvme-move-controller-deletion-to-common-code.patch. - Refresh patches.drivers/nvme-rdma-Add-debug-message-when-reaches-timeout.patch. - Refresh patches.drivers/nvme-rdma-add-support-for-duplicate_connect-option.patch. - Refresh patches.drivers/nvme-rdma-align-nvme_rdma_device-structure.patch. - Refresh patches.drivers/nvme-rdma-remove-nvme_rdma_remove_ctrl.patch. - Refresh patches.drivers/nvme-rdma-reuse-nvme_delete_ctrl-when-reconnect-atte.patch. - Refresh patches.drivers/nvme-simplify-nvme_open.patch. - Refresh patches.drivers/nvme-switch-controller-refcounting-to-use-struct-dev.patch. - Refresh patches.drivers/nvme-use-kref_get_unless_zero-in-nvme_find_get_ns.patch. - Refresh patches.drivers/nvmet-fix-fatal_err_work-deadlock.patch. Update Patch-mainline tag. - commit b021439- block: cache the partition index in struct block_device (FATE#323952, FATE#322506). - block: add a __disk_get_part helper (FATE#323952, FATE#322506). - block: reject attempts to allocate more than DISK_MAX_PARTS partitions (FATE#323952, FATE#322506). - raid5: remove a call to get_start_sect (FATE#323952, FATE#322506). - btrfs: index check-integrity state hash by a dev_t (FATE#323952, FATE#322506). - commit f184e50- blacklist.conf: Add an amdgpu blacklist commit (bsc#1051510) - commit 08272a2- drm/amd/powerplay: initialize a variable before using it (bsc#1051510). - commit c3e3026- Refresh patches.fixes/drm-amdgpu-revert-update-tile-table-for-oland-hainan.patch Add the upstream commit information. - commit 24df947- mmc: sdhci-pci: remove outdated declaration (bsc#1051510). - mmc: sdhci-pci: Fix default d3_retune for Intel host controllers (bsc#1051510). - staging: rtl8723bs: avoid null pointer dereference on pmlmepriv (bsc#1051510). - rtlwifi: rtl8821ae: Fix HW_VAR_NAV_UPPER operation (bsc#1051510). - PM / devfreq: Fix memory leak when fail to register device (bsc#1051510). - commit 6bc162b- mfd: intel_soc_pmic: Export separate mfd-cell configs for BYT and CHT (bsc#1051510). - Refresh patches.drivers/mfd-intel_soc_pmic-Differentiate-between-Bay-and-Che. - commit 07bf2c4- ASoC: sun8i-codec: Fix left and right channels inversion (bsc#1051510). - ASoC: cs42l56: Fix reset GPIO name in example DT binding (bsc#1051510). - ALSA: usb-audio: support new Amanero Combo384 firmware version (bsc#1051510). - ALSA: timer: Add missing mutex lock for compat ioctls (bsc#1051510). - ALSA: compress: Remove unused variable (bsc#1051510). - commit 42e54fa- Move MD RAID patches to ordered section - Refresh patches.drivers/0001-raid5-ppl-check-recovery_offset-when-performing-ppl-.patch. - Refresh patches.drivers/0002-raid5-ppl-don-t-resync-after-rebuild.patch. - commit eb74fe0- blk-mq: enable checking two part inflight counts at the same time (FATE#323952, FATE#322506). - blk-mq: provide internal in-flight variant (FATE#323952, FATE#322506). - block: make part_in_flight() take an array of two ints (FATE#323952, FATE#322506). - block: pass in queue to inflight accounting (FATE#323952, FATE#322506). - blk-mq-tag: check for NULL rq when iterating tags (FATE#323952, FATE#322506). - commit 1b31ec9- nvme: comment typo fixed in clearing AER (FATE#323952, FATE#322506). - nvme: Remove unused headers (FATE#323952, FATE#322506). - nvmet: fix fatal_err_work deadlock (FATE#323952, FATE#322506). - nvme-fc: add dev_loss_tmo timeout and remoteport resume support (FATE#323952, FATE#322506). - nvme: allow controller RESETTING to RECONNECTING transition (FATE#323952, FATE#322506). - nvme-fc: check connectivity before initiating reconnects (FATE#323952, FATE#322506). - nvme-fc: add a dev_loss_tmo field to the remoteport (FATE#323952, FATE#322506). - nvme-fc: change ctlr state assignments during reset/reconnect (FATE#323952, FATE#322506). - nvme: flush reset_work before safely continuing with delete operation (FATE#323952, FATE#322506). - nvme-rdma: reuse nvme_delete_ctrl when reconnect attempts expire (FATE#323952, FATE#322506). - nvme: consolidate common code from ->reset_work (FATE#323952, FATE#322506). - nvme-rdma: remove nvme_rdma_remove_ctrl (FATE#323952, FATE#322506). - nvme: move controller deletion to common code (FATE#323952, FATE#322506). - nvme-fc: merge __nvme_fc_schedule_delete_work into __nvme_fc_del_ctrl (FATE#323952, FATE#322506). - nvme-fc: avoid workqueue flush stalls (FATE#323952, FATE#322506). - nvme-fc: remove NVME_FC_MAX_SEGMENTS (FATE#323952, FATE#322506). - nvme-fc: add support for duplicate_connect option (FATE#323952, FATE#322506). - nvme-rdma: add support for duplicate_connect option (FATE#323952, FATE#322506). - nvme: add helper to compare options to controller (FATE#323952, FATE#322506). - nvme: add duplicate_connect option (FATE#323952, FATE#322506). - commit 9578246- Btrfs: use bio_clone_bioset_partial to simplify DIO submit (FATE#323952, FATE#322506). - Btrfs: new helper btrfs_bio_clone_partial (FATE#323952, FATE#322506). - Btrfs: use bio_clone_fast to clone our bio (FATE#323952, FATE#322506). - commit aef50da- nvme: check for a live controller in nvme_dev_open (FATE#323952, FATE#322506). - nvme: get rid of nvme_ctrl_list (FATE#323952, FATE#322506). - nvme: switch controller refcounting to use struct device (FATE#323952, FATE#322506). - nvme: simplify nvme_open (FATE#323952, FATE#322506). - nvme: use kref_get_unless_zero in nvme_find_get_ns (FATE#323952, FATE#322506). - nvme-rdma: Add debug message when reaches timeout (FATE#323952, FATE#322506). - nvme-rdma: align nvme_rdma_device structure (FATE#323952, FATE#322506). - commit 8f38e6b- block: Fix a race between blk_cleanup_queue() and timeout handling (FATE#323952, FATE#322506). - block: introduce blk_mq_tagset_iter (FATE#323952, FATE#322506). - block: remove blk_mq_reinit_tagset (FATE#323952, FATE#322506). - nvme-fc: add uevent for auto-connect (FATE#323952, FATE#322506). - nvme: introduce nvme_reinit_tagset (FATE#323952, FATE#322506). - Refresh patches.drivers/nvme-fc-move-remote-port-get-put-free-location.patch. - Refresh patches.suse/blk-timeout-no-round. - commit 990148a- nvme: Fix setting logical block format when revalidating (FATE#323952, FATE#322506). - nvme-fc: fix iowait hang (FATE#323952, FATE#322506). - nvme-fc: retry initial controller connections 3 times (FATE#323952, FATE#322506). - nvme-pci: Use PCI bus address for data/queues in CMB (FATE#323952, FATE#322506). - nvme-rdma: Fix error status return in tagset allocation failure (FATE#323952, FATE#322506). - nvme-rdma: Fix possible double free in reconnect flow (FATE#323952, FATE#322506). - nvme-rdma: fix possible hang when issuing commands during ctrl removal (FATE#323952, FATE#322506). - nvmet: synchronize sqhd update (FATE#323952, FATE#322506). - Refresh patches.drivers/nvme-rdma-change-queue-flag-semantics-DELETING-ALLOC.patch. - commit 4b99674- Update patches.suse/cpufreq-intel_pstate-use-setpoint-of-40-on-servers.patch (bnc#945201,bnc#1064414). Update patches.suse/cpufreq-ondemand-set-default-up_threshold-to-40-on-multi-core-systems.patch (bnc#945201,bnc#1064414). - commit 4ef8315- fs, dax: unify IOMAP_F_DIRTY read vs write handling policy in the dax core (fate#322879). - xfs: support for synchronous DAX faults (fate#322879). - xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault() (fate#322879). - ext4: Support for synchronous DAX faults (fate#322879). - ext4: Simplify error handling in ext4_dax_huge_fault() (fate#322879). - dax: Implement dax_finish_sync_fault() (fate#322879). - dax, iomap: Add support for synchronous faults (fate#322879). - mm: Define MAP_SYNC and VM_SYNC flags (fate#322879). - dax: Allow tuning whether dax_insert_mapping_entry() dirties entry (fate#322879). - dax: Allow dax_iomap_fault() to return pfn (fate#322879). - dax: Fix comment describing dax_iomap_fault() (fate#322879). - dax: Inline dax_pmd_insert_mapping() into the callsite (fate#322879). - dax: Inline dax_insert_mapping() into the callsite (fate#322879). - dax: Create local variable for vmf->flags & FAULT_FLAG_WRITE test (fate#322879). - dax: Create local variable for VMA in dax_iomap_pte_fault() (fate#322879). - dax: Factor out getting of pfn out of iomap (fate#322879). - dax: Simplify arguments of dax_insert_mapping() (fate#322879). - mm: Remove VM_FAULT_HWPOISON_LARGE_MASK (fate#322879). - mm: introduce MAP_SHARED_VALIDATE, a mechanism to safely define new mmap flags (fate#322879). - mm: Handle 0 flags in _calc_vm_trans() macro (fate#322879). - ext4: perform dax_device lookup at mount (fate#322879). - ext2: perform dax_device lookup at mount (fate#322879). - xfs: perform dax_device lookup at mount (fate#322879). - dax: introduce a fs_dax_get_by_bdev() helper (fate#322879). - ext4: fix fault handling when mounted with -o dax,ro (fate#322879). - xfs: consolidate the various page fault handlers (fate#322879). - iomap: return VM_FAULT_* codes from iomap_page_mkwrite (fate#322879). - commit 4b7d25c- Update config files: enable KASLR for x86_64 (FATE#323473) - commit a75287b- scsi: megaraid_sas: driver version upgrade (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Add support for 64bit consistent DMA (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Do not limit queue_depth to 1k in non-RDPQ mode (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Retry with reduced queue depth when alloc fails for higher QD (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Incorrect processing of IOCTL frames for SMP/STP commands (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Resize MFA frame used for IOC INIT to 4k (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Update current host time to FW during IOC Init (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Move controller memory allocations and DMA mask settings from probe to megasas_init_fw (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Move initialization of instance parameters inside newly created function megasas_init_ctrl_params (bsc#1066909,FATE#322937). - scsi: megaraid_sas: remove instance->ctrl_info (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Pre-allocate frequently used DMA buffers (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Create separate functions for allocating and freeing controller DMA buffers (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Create separate functions to allocate ctrl memory (bsc#1066909,FATE#322937). - scsi: megaraid_sas: reduce size of fusion_context and use kmalloc for allocation (bsc#1066909,FATE#322937). - scsi: megaraid_sas: replace is_ventura with adapter_type checks (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Remove redundant checks for ctrl_context (bsc#1066909,FATE#322937). - scsi: megaraid_sas: replace instance->ctrl_context checks with instance->adapter_type (bsc#1066909,FATE#322937). - scsi: megaraid_sas: Add support for Crusader controllers (bsc#1066909,FATE#322937). - scsi: megaraid_sas: use adapter_type for all gen controllers (bsc#1066909,FATE#322937). - commit 2b04e3e- net/mlx5e: Increase Striding RQ minimum size limit to 4 multi-packet WQEs (bsc#1046303 FATE#322944). - net/mlx5e: Set page to null in case dma mapping fails (bsc#1046303 FATE#322944). - net/mlx5e: Fix napi poll with zero budget (bsc#1046305 FATE#322943). - net/mlx5: Cancel health poll before sending panic teardown command (bsc#1046303 FATE#322944). - net/mlx5: Loop over temp list to release delay events (bsc#1046303 FATE#322944). - net/mlx5e/core/en_fs: fix pointer dereference after free in mlx5e_execute_l2_action (bsc#1046305 FATE#322943). - commit 919ca4c- s390x/default: Enable CONFIG_TUNE_Z13 (bsc#1067886) Update s390x config files. - commit e68d618- Fixup s390x zfcpdump build failure (bsc#1066354) Refresh patches.drivers/s390-cpu-alternatives.patch. - commit 2b990ee- net: cdc_ether: fix divide by 0 on bad descriptors (bsc#1067085 CVE-2017-16649). - commit 73a409e- Update config files: INTEL_SOC_PMIC=n for arm/vanilla - commit c812597- Enable ACP, SI, CIK and USERPTR for amdgpu (bsc#1069343) - commit 37a7bbc- objtool: Print top level commands on incorrect usage (bnc#1058115). - x86/unwind: Disable KASAN checking in the ORC unwinder (bnc#1058115). - x86/module: Detect and skip invalid relocations (bnc#1058115). - objtool: Prevent GCC from merging annotate_unreachable(), take 2 (bnc#1058115). - commit 24f3048- drm/i915/skl+: unify cpp value in WM calculation (FATE#322643 bsc#1055900). - drm/i915/skl+: WM calculation don't require height (FATE#322643 bsc#1055900). - drm/i915/skl+: Scaling not supported in IF-ID Interlace mode (FATE#322643 bsc#1055900). - drm/i915/skl+: Check for supported plane configuration in Interlace mode (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable wrpll computation for CNL (FATE#322643 bsc#1055900). - commit 10cf16b- platform/x86: sony-laptop: Fix error handling in sony_nc_setup_rfkill() (bsc#1051510). - platform/x86: hp-wmi: Fix tablet mode detection for convertibles (bsc#1051510). - platform/x86: fujitsu-laptop: Fix radio LED detection (bsc#1051510). - serial: 8250_fintek: Fix rs485 disablement on invalid ioctl() (bsc#1051510). - mfd: rn5t618: Unregister restart handler on remove (bsc#1051510). - mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Haswell/Broadwell (bsc#1051510). - mfd: intel_soc_pmic: Differentiate between Bay and Cherry Trail CRC variants (bsc#1051510). - mfd: intel_soc_pmic: Select designware i2c-bus driver (bsc#1051510). - media: usbtv: fix brightness and contrast controls (bsc#1051510). - media: omap_vout: Fix a possible null pointer dereference in omap_vout_open() (bsc#1051510). - commit 25e6140- Update blacklist and no-fix tags Refreshed: patches.drivers/drm-i915-Always-wake-the-device-to-flush-the-GTT patches.drivers/drm-i915-bxt-set-min-brightness-from-VBT - commit e7acd40- drm/tilcdc: Precalculate total frametime in tilcdc_crtc_set_mode() (bsc#1051510). - drm/panel: simple: Fix width and height for Olimex LCD-OLinuXino-4.3TS (bsc#1051510). - drm/panel: simple: Add missing panel_simple_unprepare() calls (bsc#1051510). - drm/i915: Prune the reservation shared fence array (bsc#1051510). - drm/i915: Move init_clock_gating() back to where it was (bsc#1051510). - drm: gma500: fix logic error (bsc#1051510). - drm: Drop drm_get_link_status_name() (bsc#1051510). - commit f67acae- x86/unwind: Make CONFIG_UNWINDER_ORC=y the default in kconfig for 64-bit (bnc#1058115). - Update config files. - x86/unwind: Rename unwinder config options to 'CONFIG_UNWINDER_*' (bnc#1058115). - Refresh patches.suse/0001-orc-mark-it-as-reliable.patch. - Update config files. - x86/unwinder: Make CONFIG_UNWINDER_ORC=y the default in the 64-bit defconfig (bnc#1058115). - commit b87f785- x86/stacktrace: Avoid recording save_stack_trace() wrappers (bnc#1058115). - commit d5fd971- ASoC: topology: Fix a potential memory leak in 'soc_tplg_dapm_widget_denum_create()' (bsc#1051510). - ASoC: topology: Fix a potential NULL pointer dereference in 'soc_tplg_dapm_widget_denum_create()' (bsc#1051510). - ASoC: sun8i-codec: Set the BCLK divider (bsc#1051510). - ASoC: sun8i-codec: Invert Master / Slave condition (bsc#1051510). - ASoC: samsung: Fix possible double iounmap on s3c24xx driver probe failure (bsc#1051510). - ASoC: samsung: Fix invalid argument when devm_gpiod_get is called (bsc#1051510). - ASoC: rt5665: fix gcc-7 warning (bsc#1051510). - ASoC: rt5665: Fix uninitialized warning in rt5665_i2s_pin_event() (bsc#1051510). - ASoC: rt5514: fix gcc-7 warning (bsc#1051510). - ASoC: rsnd: avoid duplicate free_irq() (bsc#1051510). - ASoC: rockchip: Correct 'dmic-delay' property name (bsc#1051510). - ASoC: mediatek: Fix an error checking code (bsc#1051510). - ASoC: intel: include linux/module.h as needed (bsc#1051510). - ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()' (bsc#1051510). - ASoC: codecs: msm8916: fix invalid cast to bool type (bsc#1051510). - commit 4a79751- Refresh patches.suse/0001-objtool-Don-t-report-end-of-section-error-after-an-e.patch. - Refresh patches.suse/0002-x86-head-Remove-confusing-comment.patch. - Refresh patches.suse/0003-x86-head-Remove-unused-bad_address-code.patch. - Refresh patches.suse/0004-x86-head-Fix-head-ELF-function-annotations.patch. - Refresh patches.suse/0005-x86-boot-Annotate-verify_cpu-as-a-callable-function.patch. - Refresh patches.suse/0006-x86-xen-Fix-xen-head-ELF-annotations.patch. - Refresh patches.suse/0007-x86-xen-Add-unwind-hint-annotations.patch. - Refresh patches.suse/0008-x86-head-Add-unwind-hint-annotations.patch. Update upstream status. - commit e207155- blacklist.conf: no need for 9275b933d409 - commit 18d829a- Refresh patches.suse/0001-futex-futex_wake_op-do-not-fail-on-invalid-op.patch. Update upstream status - commit 915f469- crypto: x86/chacha20 - satisfy stack validation 2.0 (bnc#1058115). - commit e52c6fc- X86/KVM: Clear encryption attribute when SEV is active (bsc#1063068). - X86/KVM: Decrypt shared per-cpu variables when SEV is active (bsc#1063068). - percpu: Introduce DEFINE_PER_CPU_DECRYPTED (bsc#1063068). - x86: Add support for changing memory encryption attribute in early boot (bsc#1063068). - x86/io: Unroll string I/O when SEV is active (bsc#1063068). - x86/boot: Add early boot support when running with SEV active (bsc#1063068). - x86/mm: Add DMA support for SEV memory encryption (bsc#1063068). - x86/mm, resource: Use PAGE_KERNEL protection for ioremap of memory pages (bsc#1063068). - resource: Provide resource struct in resource walk callback (bsc#1063068). - resource: Consolidate resource walking code (bsc#1063068). - x86/efi: Access EFI data as encrypted when SEV is active (bsc#1063068). - x86/mm: Include SEV for encryption memory attribute changes (bsc#1063068). - x86/mm: Use encrypted access of boot related data with SEV (bsc#1063068). - x86/realmode: Don't decrypt trampoline area under SEV (bsc#1063068). - x86/mm: Don't attempt to encrypt initrd under SEV (bsc#1063068). - x86/mm: Add Secure Encrypted Virtualization (SEV) support (bsc#1063068). - Documentation/x86: Add AMD Secure Encrypted Virtualization (SEV) description (bsc#1063068). - commit 4c52764- nvme: check for disk before submitting cmd (bsc#1067848). - commit 3af97e1- cpufreq: intel_pstate: Drop ->get from intel_pstate structure (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - commit d7b80bc- cpufreq: intel_pstate: report correct CPU frequencies during trace (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: schedutil: Fix sugov_start() versus sugov_update_shared() race (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpuidle: menu: allow state 0 to be disabled (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: intel_pstate: Fix ratio setting for min_perf_pct (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: intel_pstate: constify attribute_group structures (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: intel_pstate: Clean up after performance governor changes (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - intel_pstate: skip scheduler hook when in "performance" mode (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - intel_pstate: delete scheduler hook in HWP mode (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - cpufreq: intel_pstate: Remove max/min fractions to limit performance (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - intel_pstate: use updated msr-index.h HWP.EPP values (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - commit 5cdc1ae- mm/page_ext.c: check if page_ext is not prepared (bnc#1068982). - commit ee8873e- x86: msr-index.h: fix shifts to ULL results in HWP macros (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - x86: msr-index.h: define HWP.EPP values (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - x86: msr-index.h: define EPB mid-points (bnc#1068680 Update schedutil and intel_pstate to default to load-based policy). - commit d4d2ce6- ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets (bsc#1068897). - commit b65087c- mm/page_alloc.c: broken deferred calculation (bnc#1068980). - commit eef6b44- PCI: vmd: Free up IRQs on suspend path (bsc#1067483). - commit 8be6133- KVM: s390: Fix KVM_S390_GET_CMMA_BITS ioctl definition (LTC#160419,bsc#1066194). - commit a777801- Update s390x config files. - commit ba626f1- mm, sparse: do not swamp log with huge vmemmap allocation failures (bnc#1040797). - commit d6d0c93- mm, memory_hotplug: remove timeout from __offline_memory (bnc#1051406). - mm, memory_hotplug: do not fail offlining too early (bnc#1051406). - mm, page_alloc: fail has_unmovable_pages when seeing reserved pages (bnc#1051406). - mm: distinguish CMA and MOVABLE isolation in has_unmovable_pages() (bnc#1051406). - commit e2cd981- drm: bridge: synopsys/dw-hdmi: Provide default configuration function for HDMI 2.0 PHY (fate#323912). - commit 97f9ebc- x86/MCE/AMD: Always give panic severity for UC errors in kernel context (git-fixes bf80bbd7dcf5). - commit af09f69- x86/intel_rdt: Initialize bitmask of shareable resource if CDP enabled (git-fixes 0dd2d7494cd8). - blacklist.conf: 3916a4135c696fa226a1abe6d6a0ff7f5edd9a7c and ac5292e9a294618cecb31109d1ba265e3d027ba2 - commit 7d8d364- s390/noexec: execute kexec datamover without DAT (bnc#1066799, LTC#161403). - commit 7dec3bf- scsi: zfcp: fix erp_action use-before-initialize in REC action trace (bnc#1066983, LTC#160081). - s390/cputime: fix guest/irq/softirq times after CPU hotplug (bnc#1066983, LTC#161328). - commit f168a73- s390/topology: enable / disable topology dynamically (bnc#1066983, LTC#159177). - s390/topology: alternative topology for topology-less machines (bnc#1066983, LTC#159177). - s390/mm: fix write access check in gup_huge_pmd() (bnc#1066983, LTC#160551). - scsi: zfcp: trace high part of "new" 64 bit SCSI LUN (bnc#1066983, LTC#158495). - scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response (bnc#1066983, LTC#158494). - scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records (bnc#1066983, LTC#158494). - scsi: zfcp: fix missing trace records for early returns in TMF eh handlers (bnc#1066983, LTC#158494). - scsi: zfcp: fix passing fsf_req to SCSI trace on TMF to correlate with HBA (bnc#1066983, LTC#158494). - scsi: zfcp: fix capping of unsuccessful GPN_FT SAN response trace records (bnc#1066983, LTC#158494). - scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled (bnc#1066983, LTC#158493). - s390/vmcp: make use of contiguous memory allocator (bnc#1066983, LTC#159171). - s390/cpcmd,vmcp: avoid GFP_DMA allocations (bnc#1066983, LTC#159112). - s390/mm: prevent memory offline for memory blocks with cma areas (bnc#1066983, LTC#159171). - s390/mm: add missing virt_to_pfn() etc. helper functions (bnc#1066983, LTC#159171). - s390/pci: recognize name clashes with uids (bnc#1066983, LTC#157731). - s390/pci: provide more debug information (bnc#1066983, LTC#157731). - s390/pci: fix handling of PEC 306 (bnc#1066983, LTC#157731). - s390/pci: improve pci hotplug (bnc#1066983, LTC#157731). - s390/pci: introduce clp_get_state (bnc#1066983, LTC#157731). - s390/pci: improve error handling during fmb (de)registration (bnc#1066983, LTC#157731). - s390/pci: improve unreg_ioat error handling (bnc#1066983, LTC#157731). - s390/pci: improve error handling during interrupt deregistration (bnc#1066983, LTC#157731). - s390/pci: don't cleanup in arch_setup_msi_irqs (bnc#1066983, LTC#157731). - commit 187b6e4- s390/spinlock: use cpu alternatives to enable niai instruction (FATE#322614,LTC#160173,bsc#1066354). - commit 2099d05- s390: introduce CPU alternatives (FATE#322614,LTC#160173,bsc#1066354). - commit c544efd- s390/spinlock: add niai spinlock hints (FATE#322614,LTC#160173,bsc#1066354). - commit 670388a- Refresh patch header to reflect mainline status - Refresh patches.drivers/0001-scsi-be2iscsi-fix-boot-flags-in-sysfs. - Refresh patches.drivers/0002-scsi-be2iscsi-fix-return-value-in-mgmt_open_connection. - Refresh patches.drivers/0003-scsi-be2iscsi-free-msi_name-and-disable-hw-intr. - Refresh patches.drivers/0004-scsi-be2iscsi-fix-modify_eq_delay-buffer-overflow. - Refresh patches.drivers/0005-scsi-be2iscsi-fix-get_initname-buffer-overflow. - Refresh patches.drivers/0006-scsi-be2iscsi-modify-ioctl-to-fetch-user-configured-iqn. - Refresh patches.drivers/0007-scsi-be2iscsi-add-cmd-to-set-host-data. - Refresh patches.drivers/0008-scsi-be2iscsi-fix-misc-static-analysis-errors. - Refresh patches.drivers/0009-scsi-be2iscsi-remove-a-circumflex-character-in-copyright-marking. - Refresh patches.drivers/0010-scsi-be2iscsi-update-driver-version. - Refresh patches.drivers/IB-Move-PCI-dependency-from-root-KConfig-to-HW-s-KCo.patch. - Refresh patches.drivers/RDMA-qedr-Add-iWARP-connection-management-functions.patch. - Refresh patches.drivers/RDMA-qedr-Add-iWARP-connection-management-qp-related.patch. - Refresh patches.drivers/RDMA-qedr-Add-iWARP-support-in-existing-verbs.patch. - Refresh patches.drivers/RDMA-qedr-Add-support-for-iWARP-in-user-space.patch. - Refresh patches.drivers/RDMA-qedr-Add-support-for-read-with-invalidate-suppo.patch. - Refresh patches.drivers/RDMA-qedr-Add-support-for-registering-an-iWARP-devic.patch. - Refresh patches.drivers/RDMA-qedr-Fix-rdma_type-initialization.patch. - Refresh patches.drivers/RDMA-qedr-Missing-error-code-in-qedr_init_user_queue.patch. - Refresh patches.drivers/RDMA-qedr-Rename-the-qedr_cm-file-as-a-preparation-f.patch. - Refresh patches.drivers/RDMA-qedr-fix-build-error-without-ipv6.patch. - Refresh patches.drivers/i40e-add-private-flag-to-control-source-pruning.patch. - Refresh patches.drivers/ibmvnic-113-Set-state-UP.patch. - Refresh patches.drivers/ibmvnic-115-Enable-scatter-gather-support.patch. - Refresh patches.drivers/ibmvnic-116-Enable-TSO-support.patch. - Refresh patches.drivers/ibmvnic-117-Let-users-change-net-device-features.patch. - Refresh patches.drivers/ibmvnic-118-Update-reset-infrastructure-to-support-tunab.patch. - Refresh patches.drivers/ibmvnic-119-Fix-failover-error-path-for-non-fatal-resets.patch. - Refresh patches.drivers/nvme-fabrics-request-transport-module.patch. - Refresh patches.drivers/nvme-fc-Add-BLK_MQ_F_NO_SCHED-flag-to-admin-tag-set.patch. - Refresh patches.drivers/nvme-fc-correct-io-termination-handling.patch. - Refresh patches.drivers/nvme-fc-correct-io-timeout-behavior.patch. - Refresh patches.drivers/nvme-fc-create-fc-class-and-transport-device.patch. - Refresh patches.drivers/nvme-fc-move-remote-port-get-put-free-location.patch. - Refresh patches.drivers/nvme-loop-Add-BLK_MQ_F_NO_SCHED-flag-to-admin-tag-se.patch. - Refresh patches.drivers/nvme-pci-add-SGL-support.patch. - Refresh patches.drivers/nvme-pci-fix-typos-in-comments.patch. - Refresh patches.drivers/nvme-rdma-Add-BLK_MQ_F_NO_SCHED-flag-to-admin-tag-se.patch. - Refresh patches.drivers/nvme-rdma-Check-that-reinit_request-got-a-proper-mr.patch. - Refresh patches.drivers/nvme-rdma-Don-t-local-invalidate-if-the-queue-is-not.patch. - Refresh patches.drivers/nvme-rdma-change-queue-flag-semantics-DELETING-ALLOC.patch. - Refresh patches.drivers/nvme-rdma-fix-wrong-logging-message.patch. - Refresh patches.drivers/nvme-rdma-move-assignment-to-declaration.patch. - Refresh patches.drivers/nvme-rdma-pass-tagset-to-directly-nvme_rdma_free_tag.patch. - Refresh patches.drivers/nvme-rdma-stop-controller-reset-if-the-controller-is.patch. - Refresh patches.drivers/nvme-rdma-teardown-admin-io-queues-once-on-error-rec.patch. - Refresh patches.drivers/nvme-simplify-compat_ioctl-handling.patch. - Refresh patches.drivers/nvme-update-timeout-module-parameter-type.patch. - Refresh patches.drivers/nvme-use-ida_simple_-get-remove-for-the-controller-i.patch. - Refresh patches.drivers/nvme-use-menu-Kconfig-interface.patch. - Refresh patches.drivers/nvmet-Change-max_nsid-in-subsystem-due-to-ns_disable.patch. - Refresh patches.drivers/nvmet-bump-NVMET_NR_QUEUES-to-128.patch. - Refresh patches.drivers/s390-qeth-add-VNICC-enable-disable-support.patch. - Refresh patches.drivers/s390-qeth-add-VNICC-get-set-timeout-support.patch. - Refresh patches.drivers/s390-qeth-add-basic-VNICC-support.patch. - Refresh patches.drivers/scsi-lpfc-Cocci-spatch-pool_zalloc-simple.patch. - Refresh patches.drivers/scsi-lpfc-Disable-NPIV-support-if-NVME-is-enabled.patch. - Refresh patches.drivers/scsi-lpfc-Ensure-io-aborts-interlocked-with-the-targ.patch. - Refresh patches.drivers/scsi-lpfc-Extend-RDP-support.patch. - Refresh patches.drivers/scsi-lpfc-Fix-FCP-hba_wqidx-assignment.patch. - Refresh patches.drivers/scsi-lpfc-Fix-crash-in-lpfc_nvme_fcp_io_submit-durin.patch. - Refresh patches.drivers/scsi-lpfc-Fix-crash-receiving-ELS-while-detaching-dr.patch. - Refresh patches.drivers/scsi-lpfc-Fix-lpfc-nvme-host-rejecting-IO-with-Not-R.patch. - Refresh patches.drivers/scsi-lpfc-Fix-oops-if-nvmet_fc_register_targetport-f.patch. - Refresh patches.drivers/scsi-lpfc-Fix-oops-of-nvme-host-during-driver-unload.patch. - Refresh patches.drivers/scsi-lpfc-Fix-secure-firmware-updates.patch. - Refresh patches.drivers/scsi-lpfc-Fix-warning-messages-when-NVME_TARGET_FC-n.patch. - Refresh patches.drivers/scsi-lpfc-Make-ktime-sampling-more-accurate.patch. - Refresh patches.drivers/scsi-lpfc-Move-CQ-processing-to-a-soft-IRQ.patch. - Refresh patches.drivers/scsi-lpfc-PLOGI-failures-during-NPIV-testing.patch. - Refresh patches.drivers/scsi-lpfc-Reduce-log-spew-on-controller-reconnects.patch. - Refresh patches.drivers/scsi-lpfc-Revise-NVME-module-parameter-descriptions-.patch. - Refresh patches.drivers/scsi-lpfc-Set-missing-abort-context.patch. - Refresh patches.drivers/scsi-lpfc-change-version-to-11.4.0.4.patch. - Refresh patches.drivers/scsi-lpfc-correct-nvme-sg-segment-count-check.patch. - Refresh patches.drivers/scsi-lpfc-fix-pci-hot-plug-crash-in-list_add-call.patch. - Refresh patches.drivers/scsi-lpfc-fix-pci-hot-plug-crash-in-timer-management.patch. - Refresh patches.drivers/scsi-lpfc-remove-redundant-null-check-on-eqe.patch. - Refresh patches.drivers/scsi-mpt3sas-Adding-support-for-SAS3616-HBA-device.patch. - Refresh patches.drivers/scsi-mpt3sas-Bump-mpt3sas-driver-version-to-v16.100..patch. - Refresh patches.drivers/scsi-mpt3sas-Display-chassis-slot-information-of-the.patch. - Refresh patches.drivers/scsi-mpt3sas-Fix-IO-error-occurs-on-pulling-out-a-dr.patch. - Refresh patches.drivers/scsi-mpt3sas-Fix-possibility-of-using-invalid-Enclos.patch. - Refresh patches.drivers/scsi-mpt3sas-Fix-removal-and-addition-of-vSES-device.patch. - Refresh patches.drivers/scsi-mpt3sas-Fixed-memory-leaks-in-driver.patch. - Refresh patches.drivers/scsi-mpt3sas-Processing-of-Cable-Exception-events.patch. - Refresh patches.drivers/scsi-mpt3sas-Reduce-memory-footprint-in-kdump-kernel.patch. - Refresh patches.drivers/scsi-mpt3sas-Updated-MPI-headers-to-v2.00.48.patch. - Refresh patches.drivers/scsi-mpt3sas-remove-redundant-copy_from_user-in-_ctl.patch. - Refresh patches.drivers/scsi-pm80xx-Different-SAS-addresses-for-phys.patch. - Refresh patches.drivers/scsi-pm80xx-ILA-and-inactive-firmware-version-throug.patch. - Refresh patches.drivers/scsi-pm80xx-cleanup-in-pm8001_abort_task-function.patch. - Refresh patches.drivers/scsi-pm80xx-corrected-SATA-abort-handling-sequence.patch. - Refresh patches.drivers/scsi-pm80xx-corrected-linkrate-value.patch. - Refresh patches.drivers/scsi-pm80xx-modified-port-reset-timer-value-for-PM80.patch. - Refresh patches.drivers/scsi-pm80xx-panic-on-ncq-error-cleaning-up-the-read-.patch. - Refresh patches.drivers/scsi-pm80xx-redefine-sas_identify_frame-structure.patch. - Refresh patches.drivers/scsi-pm80xx-tag-allocation-for-phy-control-request.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-ATIO-Q-processing-for-INTx-mode.patch. - Refresh patches.drivers/scsi-qla2xxx-Allow-MBC_GET_PORT_DATABASE-to-query-an.patch. - Refresh patches.drivers/scsi-qla2xxx-Changes-to-support-N2N-logins.patch. - Refresh patches.drivers/scsi-qla2xxx-Cocci-spatch-pool_zalloc-simple.patch. - Refresh patches.drivers/scsi-qla2xxx-Query-FC4-type-during-RSCN-processing.patch. - Refresh patches.drivers/scsi-qla2xxx-Reinstate-module-parameter-ql2xenablems.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-version-to-10.00.00.02-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-ql2xnvmeenable-to-enable-Q-Pair-for.patch. - Refresh patches.drivers/scsi-qla2xxx-don-t-break-the-bsg-lib-abstractions.patch. - Refresh patches.drivers/scsi-smartpqi-cleanup-raid-map-warning-message.patch. - Refresh patches.drivers/scsi-smartpqi-update-controller-ids.patch. - Refresh patches.drivers/scsi-smartpqi-update-driver-version-to-1.1.2-126.patch. - commit f976d20- autofs: don't fail mount for transient error (bsc#1065180). - commit f023e91- ASoC: intel: Add headset jack support to cht-cx2072x (bsc#1068546). - ASoC: Intel: add support for CX2072x machine driver (bsc#1068546). - ASoC: Intel: Add machine driver for Cherrytrail-CX2072X (bsc#1068546). - ASoC: add support for Conexant CX2072X CODEC (bsc#1068546). - ASoC: cx2072x: Add DT bingings documentation for CX2072X CODEC (bsc#1068546). - commit e2196fe- supported.conf: Updated for missing entries (bsc#1066369) Also mark old x86-platform ones unsupported - commit 2e66eed- supported.conf: List up CHT DC TI PMIC and INT0002 VGPIO (bsc#1068546) - commit 5f4a9b1- blacklist.conf: Add BT commits to be ignored (bsc#1068546) - commit 2b7fddf- Update config files: Enable Cherrytrail kconfigs (bsc#1068546) - commit 470e1f9- platform/x86: Add driver for ACPI INT0002 Virtual GPIO device (bsc#1068546). - ASoC: rt5645: Add jack detection workaround for GPD Win (bsc#1068546). - ASoC: rt5645: add inv_jd1_1 flag (bsc#1068546). - ASoC: rt5645: rename jd_invert flag in platform data (bsc#1068546). - ASoC: rt5645: read jd1_1 status for jd detection (bsc#1068546). - ACPI / PMIC: Add opregion driver for Intel Dollar Cove TI PMIC (bsc#1068546). - mfd: Add support for Cherry Trail Dollar Cove TI PMIC (bsc#1068546). - brcmfmac: Use separate firmware for revision 0 of the brcm43430 chip (bsc#1068546). - Bluetooth: hci_bcm: Add support for BCM2E7E (bsc#1068546). - mmc: sdhci-acpi: Workaround conflict with PCI wifi on GPD Win handheld (bsc#1068546). - video/console: Update BIOS dates list for GPD win console rotation DMI quirk (bsc#1068546). - video/console: Add new BIOS date for GPD pocket to dmi quirk table (bsc#1068546). - video/console: Add dmi quirk table for x86 systems which need fbcon rotation (bsc#1068546). - ACPI / x86: Extend KIOX000A quirk to cover all affected BIOS versions (bsc#1068546). - ACPI / x86: Add KIOX000A accelerometer on GPD win to always_present_ids array (bsc#1068546). - ACPI / x86: Allow matching always_present_id array entries by DMI (bsc#1068546). - commit 20e1325- arm64: Update config files and support.conf Compile SCSI_HISI_SAS_PCI as a module. Mark the driver as not supported. - commit f6b8981- pcc-cpufreq: Re-introduce deadband effect to reduce number of frequency changes (bsc#981838). - commit 7533cac- Refresh patches.suse/mm-only-drain-per-cpu-pagevecs-once-per-pagevec-usage.patch. - Refresh patches.suse/mm-page_alloc-enable-disable-IRQs-once-when-freeing-a-list-of-pages.patch. - Refresh patches.suse/mm-page_alloc-simplify-list-handling-in-rmqueue_bulk.patch. - Refresh patches.suse/mm-pagevec-remove-cold-parameter-for-pagevecs.patch. - Refresh patches.suse/mm-pagevec-rename-pagevec-drained-field.patch. - Refresh patches.suse/mm-remove-__GFP_COLD.patch. - Refresh patches.suse/mm-remove-cold-parameter-for-release_pages.patch. - Refresh patches.suse/mm-remove-cold-parameter-from-free_hot_cold_page.patch. - Refresh patches.suse/mm-truncate-do-not-check-mapping-for-every-page-being-truncated.patch. - Refresh patches.suse/mm-truncate-remove-all-exceptional-entries-from-pagevec-under-one-lock.patch. - Delete patches.suse/mm-truncate-remove-all-exceptional-entries-from-pagevec-under-one-lock-fix.patch. - commit b425423- PCI: rockchip: Add per-lane PHY support (fate#323912). - PCI: rockchip: Factor out rockchip_pcie_get_phys() (fate#323912). - commit 42c5487- rcu: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - netpoll: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - timers/posix-cpu-timers: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - sched/clock, sched/cputime: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - irq_work: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - perf/core: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - x86: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - smp/core: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - timers/hrtimer: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - timers/nohz: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - workqueue: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - irq/softirqs: Use lockdep to assert IRQs are disabled/enabled (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - locking/lockdep: Add IRQs disabled/enabled assertion APIs: lockdep_assert_irqs_enabled()/disabled() (bnc#1068202 Avoid irqs_disabled debugging checks in fast paths). - sched/idle: Micro-optimize the idle loop (bnc#978907 Scheduler performance -- idle). - commit dc86215- s390x: Update config files. - commit fcf3905- Update config files. - supported.conf: Enable Rockchip rk3399 drivers supported.conf checker reported following missing modules: drivers/phy/allwinner/phy-sun4i-usb.ko drivers/phy/allwinner/phy-sun9i-usb.ko drivers/phy/amlogic/phy-meson8b-usb2.ko drivers/phy/broadcom/phy-bcm-ns-usb2.ko drivers/phy/broadcom/phy-bcm-ns-usb3.ko drivers/phy/broadcom/phy-bcm-ns2-pcie.ko drivers/phy/broadcom/phy-brcm-sata.ko drivers/phy/hisilicon/phy-hi6220-usb.ko drivers/phy/qualcomm/phy-qcom-qmp.ko drivers/phy/qualcomm/phy-qcom-qusb2.ko drivers/phy/qualcomm/phy-qcom-usb-hs.ko drivers/phy/qualcomm/phy-qcom-usb-hsic.ko Since this patch has not enabled any of them, adding all of them in supported.conf with '-' as they were never marked as supported. - commit 3664826- lib/mpi: call cond_resched() from mpi_powm() loop (bsc#1066688). - commit 35d6a4a- iommu/rockchip: ignore isp mmu reset operation (fate#323912). - commit 59a5545- iommu/rockchip: add multi irqs support (fate#323912). - iommu/rockchip: Enable Rockchip IOMMU on ARM64 (fate#323912). - drm/rockchip: add CONFIG_OF dependency for lvds (fate#323912). - drm/rockchip: add PINCTRL dependency for LVDS (fate#323912). - drm/rockchip: Rely on the default best_encoder() behavior (fate#323912). - drm/rockchip: Cocci spatch "vma_pages" (fate#323912). - drm/rockchip: Fix uninitialized use of ret (fate#323912). - drm/rockchip: Replace dev_* with DRM_DEV_* (fate#323912). - drm/rockchip: Add support for Rockchip Soc LVDS (fate#323912). - drm/rockchip: switch to drm_*_get(), drm_*_put() helpers (fate#323912). - drm/rockchip: Fix suspend crash when drm is not bound (fate#323912). - drm/rockchip: make drm_connector_funcs structures const (fate#323912). - drm/rockchip: fix race with kms hotplug and fbdev (fate#323912). - drm/rockchip: vop: no need wait vblank on crtc enable (fate#323912). - drm/rockchip: vop: report error when check resource error (fate#323912). - drm/rockchip: vop: round_up pitches to word align (fate#323912). - drm/rockchip: vop: fix NV12 video display error (fate#323912). - drm/rockchip: vop: fix iommu page fault when resume (fate#323912). - drm/rockchip: vop: rk3328: fix overlay abnormal (fate#323912). - drm/rockchip: vop: add a series of vop support (fate#323912). - drm/rockchip: vop: group vop registers (fate#323912). - drm/rockchip: vop: move line_flag_num to interrupt registers (fate#323912). - drm/rockchip: vop: move write_relaxed flags to vop register (fate#323912). - drm/rockchip: vop: initialize registers directly (fate#323912). - drm/rockchip: Use .dumb_map_offset and .dumb_destroy defaults (fate#323912). - drm/rockchip: Use for_each_oldnew_plane_in_state in vop_crtc_atomic_flush (fate#323912). - drm/rockchip: fix NULL check on devm_kzalloc() return value (fate#323912). - drm/rockchip: Drop drm_vblank_cleanup (fate#323912). - drm/rockchip: dw_hdmi: introduce the pclk for grf (fate#323912). - drm/rockchip: dw_hdmi: introduce the VPLL clock setting (fate#323912). - drm/rockchip: dw_hdmi: add RK3399 HDMI support (fate#323912). - drm/rockchip: Remove unnecessary NULL check (fate#323912). - drm/rockchip: gem: add the lacks lock and trivial changes (fate#323912). - drm/rockchip: use drm_for_each_connector_iter() (fate#323912). - drm/rockchip: analogix_dp: Remove unused check and variables (fate#323912). - drm/rockchip: Set line flag config register in vop_crtc_enable (fate#323912). - mfd: rk808: Fix up the chip id get failed (fate#323912). - pwm: rockchip: Use same PWM ops for each IP (fate#323912). - pwm: rockchip: Move the configuration of polarity (fate#323912). - pwm: rockchip: Use pwm_apply() instead of pwm_enable() (fate#323912). - pwm: rockchip: Remove the judge from return value of pwm_config() (fate#323912). - pwm: rockchip: Add APB and function both clocks support (fate#323912). - phy: rockchip-typec: Do the calibration more correctly (fate#323912). - phy: rockchip-typec: Avoid magic numbers + add delays in aux calib (fate#323912). - phy: rockchip-typec: Check for errors from tcphy_phy_init() (fate#323912). - phy: rockchip-typec: Don't set the aux voltage swing to 400 mV (fate#323912). - phy: rockchip-typec: Set the AUX channel flip state earlier (fate#323912). - phy: rockchip-pcie: Reconstruct driver to support per-lane PHYs (fate#323912). - phy: rockchip-typec: remove unused dfp variable (fate#323912). - phy: rockchip-inno-usb2: add support of usb2-phy for rv1108 SoCs (fate#323912). - phy: rockchip-inno-usb2: add support for otg-mux interrupt (fate#323912). - phy: rockchip-inno-usb2: add support for rockchip,usbgrf property (fate#323912). - phy: rockchip-inno-usb2: Replace the extcon API (fate#323912). - phy: rockchip-inno-usb2: add support of usb2-phy for rk3228 SoCs (fate#323912). - phy: rockchip-inno-usb2: add one phy comprises with two host-ports support (fate#323912). - phy: rockchip-inno-usb2: increase otg sm work first schedule time (fate#323912). - phy: rockchip-inno-usb2: add a delay after phy resume (fate#323912). - phy: Group vendor specific phy drivers (fate#323912). - phy: Move ULPI phy header out of drivers to include path (fate#323912). - phy: qcom-usb: Remove unused ulpi phy header (fate#323912). - clk: rockchip: Remove superfluous error message in rockchip_clk_register_cpuclk() (fate#323912). - clk: rockchip: Mark rockchip_fractional_approximation static (fate#323912). - clk: rockchip: add special approximation to fix up fractional clk's jitter (fate#323912). - clk: fractional-divider: allow overriding of approximation (fate#323912). - clk: rockchip: add ids for rk3399 testclks used for camera handling (fate#323912). - clk: rockchip: add dt-binding header for rk3128 (fate#323912). - clk: rockchip: add ids for camera on rk3399 (fate#323912). - spi: rockchip: configure CTRLR1 according to size and data frame (fate#323912). - spi: rockchip: Fix clock handling in suspend/resume (fate#323912). - spi: rockchip: Fix clock handling in remove (fate#323912). - spi: rockchip: Slightly rework return value handling (fate#323912). - spi: rockchip: Disable Runtime PM when chip select is asserted (fate#323912). - spi: rockchip: Set GPIO_SS flag to enable Slave Select with GPIO CS (fate#323912). - spi: rockchip: fix error handling when probe (fate#323912). - pinctrl: rockchip: Fix the rk3399 gpio0 and gpio1 banks' drv_offset at pmu grf (fate#323912). - pinctrl: rockchip: Use common interface for recalced iomux (fate#323912). - pinctrl: rockchip: Add iomux-route switching support for rk3399 (fate#323912). - pinctrl: rockchip: Add iomux-route switching support for rk3328 (fate#323912). - pinctrl: rockchip: Add iomux-route switching support for rk3228 (fate#323912). - pinctrl: rockchip: Add iomux-route switching support (fate#323912). - pinctrl: rockchip: remove unneeded (void *) casts in of_match_table (fate#323912). - clocksource/drivers/rockchip: pr_err() strings should end with newlines (fate#323912). - iio: adc: rockchip_saradc: explicitly request exclusive reset control (fate#323912). - iio: adc: rockchip_saradc: add NULL check on of_match_device() return value (fate#323912). - PM / devfreq: rk3399_dmc: fix error return code in rk3399_dmcfreq_probe() (fate#323912). - commit e27a9b1- drm/i915/glk: Add cold boot sequence for GLK DSI (bsc#1067957). - drm/i915/glk: Split GLK DSI device ready functionality (bsc#1067957). - drm/i915/huc: Update GLK HuC version (bsc#1067957). - drm/i915/gen9: Reintroduce WaEnableYV12BugFixInHalfSliceChicken7 (bsc#1067957). - drm/i915/glk: Calculate high/low switch count for GLK (bsc#1067957). - drm/i915/glk: Don't allow 12 bpc when htotal is too big (bsc#1067957). - drm/i915/GLK/HuC: Load HuC on GLK (bsc#1067957). - drm/i915/GuC/GLK: Load GuC on GLK (bsc#1067957). - drm/i915/glk: limit pixel clock to 99% of cdclk workaround (bsc#1067957). - commit f5509cc- drm/i915/glk: Remove the alpha_support flag (bsc#1067957). - commit 4bae915- btrfs: use GFP_KERNEL in mount and remount (bsc#1062897). - commit e1d90be- Refresh patches.fixes/ext4-add-ext4_should_use_dax.patch: update upstream commit reference SHA - commit f3bb07f- Refresh patches.fixes/ext4-add-sanity-check-for-encryption-DAX.patch: update upstream commit reference SHA - commit db0eb3c- Refresh patches.fixes/ext4-prevent-data-corruption-with-journaling-DAX.patch: update upstream commit SHA - commit 73f86f5- Correct to the updated upstream fix patch (CVE-2017-16647, bsc#1067102) Refreshed patches.drivers/net-usb-asix-fill-null-ptr-deref-in-asix_suspend.patch - commit decd96f- powerpc/pseries/vio: Dispose of virq mapping on vdevice unregister (bsc#1067888). - commit 927b61a- powerpc/vphn: Fix numa update end-loop bug (FATE#323745, bsc#1067906). - powerpc/hotplug: Improve responsiveness of hotplug change (FATE#323745, bsc#1067906). - powerpc/vphn: Improve recognition of PRRN/VPHN (FATE#323745, bsc#1067906). - powerpc/vphn: Update CPU topology when VPHN enabled (FATE#323745, bsc#1067906). - commit 2e4ca0c- media: rainshadow-cec: avoid -Wmaybe-uninitialized warning again (bsc#1051510). - commit a30769c- blacklist.conf: add media and other commits (bsc#1051510) - commit e57653b- serial: pch_uart: Make port type explicit (bsc#1051510). - Refresh patches.drivers/serial-fix-port-type-numbering-for-ti-da8xx. - commit 71e99cb- iio: dummy: events: Add missing break (bsc#1051510). - Input: ucb1400_ts - fix suspend and resume handling (bsc#1051510). - Input: ti_am335x_tsc - fix incorrect step config for 5 wire touchscreen (bsc#1051510). - i2c: cadance: fix ctrl/addr reg write order (bsc#1051510). - rtc: sa1100: fix unbalanced clk_prepare_enable/clk_disable_unprepare (bsc#1051510). - cfg80211: honor NL80211_RRF_NO_HT40{MINUS,PLUS} (bsc#1051510). - serial: 8250_uniphier: fix serial port index in private data (bsc#1051510). - Revert "net: bcmgenet: Remove init parameter from bcmgenet_mii_config" (bsc#1051510). - rtc: rtc-nuc900: fix loop timeout test (bsc#1051510). - libertas: Fix lbs_prb_rsp_limit_set() (bsc#1051510). - mmc: mediatek: Fixed size in dma_free_coherent (bsc#1051510). - Fix serial console on SNI RM400 machines (bsc#1051510). - media: v4l2-compat-ioctl32: Fix timespec conversion (bsc#1051510). - [media] rainshadow-cec: use strlcat instead of strncat (bsc#1051510). - [media] rainshadow-cec: avoid -Wmaybe-uninitialized warning (bsc#1051510). - [media] mceusb: fix memory leaks in error path (bsc#1051510). - media: em28xx: calculate left volume level correctly (bsc#1051510). - media: devnode: Rename mdev argument as devnode (bsc#1051510). - media: au0828: fix RC_CORE dependency (bsc#1051510). - media: Revert "[media] et8ek8: Export OF device ID as module aliases" (bsc#1051510). - gpu: ipu-v3: add DRM dependency (bsc#1051510). - gpu: host1x: Free the IOMMU domain when there is no device to attach (bsc#1051510). - gpu: host1x: Don't fail on NULL bo physical address (bsc#1051510). - drm: rcar-du: Use the VBK interrupt for vblank events (bsc#1051510). - commit 26cdc26- Refresh patch-mainline tag: patches.drivers/net-usb-asix-fill-null-ptr-deref-in-asix_suspend.patch. - commit c4c86fe- ALSA: line6: Fix missing initialization before error path (bsc#1052235). - ALSA: line6: Fix leftover URB at error-path during probe (bsc#1052235). - ALSA: line6: Fix NULL dereference at podhd_disconnect() (bsc#1052235). - commit b480beb- Fix the logic error in mgag200 patch (bsc#1066589) Refreshed patches.drivers/drm-mgag200-Add-mode-validation-debugging-code.patch. - commit 507c2b5- blacklist.conf: blacklist a872eb2131e9 (bnc#1066602) - commit c02d5e2- net: qmi_wwan: fix divide by 0 on bad descriptors (bsc#1067086 CVE-2017-16650). - commit 2135e29- x86/smpboot: Make optimization of delay calibration work correctly (git-fixes). - commit cb9a8c3- locking/pvqspinlock: Implement hybrid PV queued/unfair locks (bsc#1050549). - futex: Fix more put_pi_state() vs. exit_pi_state_list() races (bsc#1067665). - futex: Fix pi_state->owner serialization (bsc#1067665). - commit df2923d- blacklist.conf: Add drm/vgmem blacklist patch (bsc#1051510) - commit a526463- drm/crc: Only open CRC on atomic drivers when the CRTC is active (bsc#1051510). - drm/vc4: Don't disable DSI clocks on component unload (bsc#1051510). - drm/vc4: Fix leak of HDMI EDID (bsc#1051510). - drm/i915: Hold rcu_read_lock when iterating over the radixtree (objects) (bsc#1051510). - commit 34fddd9- Update some Git-repo tags according to most recent upstream status. - Refresh patches.arch/KVM-PPC-Book3S-0005-Fix-server-always-zero-from-kvmppc_xi.patch. - Refresh patches.arch/cxl-Fix-memory-page-not-handled.patch. - Refresh patches.arch/perf-pmu-events-support-additional-power8-pvr-in-mapfile.patch. - Refresh patches.arch/perf-vendor-events-add-power9-pmu-events.patch. - Refresh patches.arch/perf-vendor-events-add-power9-pvrs-to-mapfile.patch. - Refresh patches.arch/perf-vendor-events-powerpc-remove-suffix-in-mapfile.patch. - Refresh patches.arch/perf-vendor-events-powerpc-update-power9-events.patch. - Refresh patches.arch/powerpc-Fix-action-argument-for-cpufeatures-based-TLB-flush.patch. - Refresh patches.arch/powerpc-Fix-workaround-for-spurious-MCE-on-POWER9.patch. - Refresh patches.arch/powerpc-Handle-MCE-on-POWER9-with-only-DSISR-bit-30-set.patch. - Refresh patches.arch/powerpc-mm-radix-Avoid-flushing-the-PWC-on-every-flush_tlb_range.patch. - Refresh patches.arch/powerpc-mm-radix-Improve-TLB-PWC-flushes.patch. - Refresh patches.arch/powerpc-mm-radix-Improve-_tlbiel_pid-to-be-usable-for-PWC-flushes.patch. - Refresh patches.arch/powerpc-perf-Cleanup-of-PM_BR_CMPL-vs.-PM_BRU_CMPL-in-Power9-event-list.patch. - Refresh patches.arch/powerpc-perf-Update-default-sdar_mode-value-for-power9.patch. - Refresh patches.arch/powerpc-perf-add-core-imc-pmu-support.patch. - Refresh patches.arch/powerpc-perf-add-nest-imc-pmu-support.patch. - Refresh patches.arch/powerpc-perf-add-thread-imc-pmu-support.patch. - Refresh patches.arch/powerpc-perf-fix-double-unlock-in-imc_common_cpuhp_mem_free.patch. - Refresh patches.arch/powerpc-perf-fix-usage-of-nest_imc_refc.patch. - Refresh patches.arch/powerpc-perf-imc-fix-nest-events-on-muti-socket-system.patch. - Refresh patches.arch/powerpc-xive-04-Ensure-active-irqd-when-setting-affinit.patch. - Refresh patches.arch/powerpc-xive-05-Fix-section-mismatch-warnings.patch. - Refresh patches.arch/powerpc-xive-06-Fix-the-size-of-the-cpumask-used-in-xive_find_target_in_mask.patch. - Refresh patches.arch/powerpc-xive-07-powerpc-xmon-Exclude-all-of-xmon-from-ftrace.patch. - Refresh patches.arch/powerpc-xive-08-introduce-a-common-routine-xive_queue_p.patch. - Refresh patches.arch/powerpc-xive-09-guest-exploitation-of-the-XIVE-interrup.patch. - Refresh patches.arch/powerpc-xive-10-rename-xive_poke_esb-in-xive_esb_read.patch. - Refresh patches.arch/powerpc-xive-11-introduce-xive_esb_write.patch. - Refresh patches.arch/powerpc-xive-12-add-the-HW-IRQ-number-under-xive_irq_da.patch. - Refresh patches.arch/powerpc-xive-13-introduce-H_INT_ESB-hcall.patch. - Refresh patches.arch/powerpc-xive-14-add-XIVE-Exploitation-Mode-to-CAS.patch. - Refresh patches.arch/powerpc-xive-15-improve-debugging-macros.patch. - Refresh patches.arch/powerpc-xive-16-Fix-section-__init-warning.patch. - Refresh patches.arch/powerpc-xive-18-Fix-IPI-reset.patch. - Refresh patches.arch/powerpc-xive-19-Clear-XIVE-internal-structures-when-a-C.patch. - Refresh patches.drivers/0001-acpica-iort-Update-SMMU-models-for-IORT-rev.-C.patch. - Refresh patches.drivers/0001-ata-ceva-Move-sata-port-phy-oob-settings-to-device-t.patch. - Refresh patches.drivers/0002-ata-ceva-Add-gen-3-mode-support-in-driver.patch. - Refresh patches.drivers/0002-tty-xilinx_uartps-move-to-arch_initcall-for-earlier-.patch. - Refresh patches.drivers/0003-ata-ceva-Disable-Device-Sleep-capability.patch. - Refresh patches.drivers/0004-ata-ceva-Make-RxWaterMark-value-as-module-parameter.patch. - Refresh patches.drivers/0005-ata-ceva-Add-CCI-support-for-SATA-if-CCI-is-enabled.patch. - Refresh patches.drivers/0006-ata-ceva-Correct-the-AXI-bus-configuration-for-SATA-.patch. - Refresh patches.drivers/0007-ata-ceva-Correct-the-suspend-and-resume-logic-for-SA.patch. - Refresh patches.drivers/0008-ata-ceva-Add-SMMU-support-for-SATA-IP.patch. - Refresh patches.drivers/0031-ACPI-APEI-Enable-APEI-multiple-GHES-source-to-share-.patch. - Refresh patches.drivers/05-edac-pnd2-build-in-a-minimal-sideband-driver-for-apollo-lake.patch. - Refresh patches.drivers/06-edac-pnd2-mask-off-the-lower-four-bits-of-a-bar.patch. - Refresh patches.drivers/07-edac-pnd2-conditionally-unhide-hide-the-p2sb-pci-device-to-read-bar.patch. - Refresh patches.drivers/08-edac-pnd2-properly-toggle-hidden-state-for-p2sb-pci-device.patch. - Refresh patches.drivers/ALSA-hda-Abort-capability-probe-at-invalid-register-. - Refresh patches.drivers/ALSA-hda-Implement-mic-mute-LED-mode-enum. - Refresh patches.drivers/ALSA-ice1712-Add-support-for-STAudio-ADCIII. - Refresh patches.drivers/drm-i915-Align-vswing-sequences-with-old-ddi-buffer-. - Refresh patches.drivers/drm-i915-Display-WA-1133-WaFbcSkipSegments-cnl-glk. - Refresh patches.drivers/drm-i915-Enable-voltage-swing-before-enabling-DDI_BU. - Refresh patches.drivers/drm-i915-Introduce-intel_ddi_dp_level. - Refresh patches.drivers/drm-i915-Shrink-cnl_ddi_buf_trans. - Refresh patches.drivers/drm-i915-Stop-using-long-platform-names-on-clock-gat. - Refresh patches.drivers/drm-i915-avoid-division-by-zero-on-cnl_calc_wrpll_li. - Refresh patches.drivers/drm-i915-avoid-potential-uninitialized-variable-use. - Refresh patches.drivers/drm-i915-cfl-Coffee-Lake-works-on-Kaby-Lake-PCH. - Refresh patches.drivers/drm-i915-cfl-Remove-alpha-support-protection. - Refresh patches.drivers/drm-i915-cnl-Add-Gen10-LRC-size. - Refresh patches.drivers/drm-i915-cnl-Add-WaDisableReplayBufferBankArbitratio. - Refresh patches.drivers/drm-i915-cnl-Add-support-slice-subslice-eu-configs. - Refresh patches.drivers/drm-i915-cnl-Allow-the-reg_read-ioctl-to-read-the-RC. - Refresh patches.drivers/drm-i915-cnl-Apply-large-line-width-optimization. - Refresh patches.drivers/drm-i915-cnl-Avoid-ioremap_wc-on-Cannonlake-as-well. - Refresh patches.drivers/drm-i915-cnl-Change-the-macro-name-to-DPLL_CFGCR0_DC. - Refresh patches.drivers/drm-i915-cnl-Do-not-add-an-extra-page-for-precaution. - Refresh patches.drivers/drm-i915-cnl-Extend-WM-workaround-with-IPC-for-CNL. - Refresh patches.drivers/drm-i915-cnl-Fix-DDI-hdmi-level-selection. - Refresh patches.drivers/drm-i915-cnl-Fix-DP-max-voltage. - Refresh patches.drivers/drm-i915-cnl-Introduce-initial-Cannonlake-Workaround. - Refresh patches.drivers/drm-i915-cnl-Move-ddi-buf-trans-related-functions-up. - Refresh patches.drivers/drm-i915-cnl-Move-voltage-check-into-ddi-buf-trans-f. - Refresh patches.drivers/drm-i915-cnl-Reprogram-DMC-firmware-after-S3-S4-resu. - Refresh patches.drivers/drm-i915-cnl-WA-FtrEnableFastAnisoL1BankingFix. - Refresh patches.drivers/drm-i915-cnl-WaDisableEnhancedSBEVertexCaching. - Refresh patches.drivers/drm-i915-cnl-WaDisableI2mCycleOnWRPort. - Refresh patches.drivers/drm-i915-cnl-WaForceContextSaveRestoreNonCoherent.patch. - Refresh patches.drivers/drm-i915-cnl-WaPushConstantDereferenceHoldDisable. - Refresh patches.drivers/drm-i915-cnl-WaThrottleEUPerfToAvoidTDBackPressure-c. - Refresh patches.drivers/drm-i915-cnl-don-t-hardcode-DPCLKA_CFGCR0_DDI_CLK_SE. - Refresh patches.drivers/drm-i915-cnl-extract-cnl_set_procmon_ref_values. - Refresh patches.drivers/drm-i915-cnl-simplify-cnl_procmon_values-handling. - Refresh patches.drivers/drm-i915-cnp-Display-Wa-1179-WaHardHangonHotPlug. - Refresh patches.drivers/drm-i915-cnp-Don-t-touch-other-PCH-clock-gating-bits. - Refresh patches.drivers/drm-i915-cnp-Wa-1181-Fix-Backlight-issue. - Refresh patches.drivers/drm-i915-decouple-gen9-and-gen10-dp-signal-levels. - Refresh patches.drivers/drm-i915-glk-cnl-Implement-WaDisableScalarClockGatin. - Refresh patches.drivers/media-cx231xx-cards-fix-NULL-deref-on-missing-associ. - Refresh patches.drivers/media-dib0700-fix-invalid-dvb_detach-argument. - Refresh patches.drivers/media-imon-Fix-null-ptr-deref-in-imon_probe. - Refresh patches.drivers/powerpc-powernv-Add-IMC-OPAL-APIs.patch. - Refresh patches.drivers/powerpc-powernv-Add-support-for-powercap-framework.patch. - Refresh patches.drivers/powerpc-powernv-Add-support-to-clear-sensor-groups-data.patch. - Refresh patches.drivers/powerpc-powernv-Add-support-to-set-power-shifting-ratio.patch. - Refresh patches.drivers/powerpc-powernv-Detect-and-create-IMC-device.patch. - Refresh patches.drivers/powerpc-powernv-Enable-PCI-peer-to-peer.patch. - Refresh patches.fixes/ALSA-seq-Fix-use-after-free-at-creating-a-port. - Refresh patches.fixes/loop-Remove-unused-bdev-argument.patch. - Refresh patches.fixes/loop-fix-error-handling.patch. - Refresh patches.fixes/loop-support-4k-blocksize.patch. - Refresh patches.fixes/mac80211-accept-key-reinstall-without-changing-anyth.patch. - Refresh patches.fixes/nl80211-check-for-the-required-netlink-attributes-pr.patch. - Refresh patches.fixes/powerpc-mm-book3s64-Make-KERN_IO_START-a-variable.patch. - Refresh patches.fixes/powerpc-mm-hash64-Make-vmalloc-56T-on-hash.patch. - Refresh patches.fixes/powerpc-mm-slb-Move-comment-next-to-the-code-it-s-referring-to.patch. - Refresh patches.fixes/sched-core-Address-more-wake_affine-regressions.patch. - Refresh patches.fixes/sched-core-Fix-wake_affine-performance-regression.patch. - Refresh patches.suse/0001-locking-osq_lock-Fix-osq_lock-queue-corruption.patch. - Refresh patches.suse/0001-objtool-Don-t-report-end-of-section-error-after-an-e.patch. - Refresh patches.suse/0001-sched-wait-Remove-the-lockless-swait_active-check-in.patch. - Refresh patches.suse/0002-x86-head-Remove-confusing-comment.patch. - Refresh patches.suse/0003-x86-head-Remove-unused-bad_address-code.patch. - Refresh patches.suse/0004-x86-head-Fix-head-ELF-function-annotations.patch. - Refresh patches.suse/0005-x86-boot-Annotate-verify_cpu-as-a-callable-function.patch. - Refresh patches.suse/0006-x86-xen-Fix-xen-head-ELF-annotations.patch. - Refresh patches.suse/0007-x86-xen-Add-unwind-hint-annotations.patch. - Refresh patches.suse/0008-x86-head-Add-unwind-hint-annotations.patch. - commit b965d15- Revert "ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members" (bsc#1051510). - commit 46377e9- blacklist.conf: Add i915 blacklist (bsc#1051510) - commit a51cd00- drm/i915: Use bdw_ddi_translations_fdi for Broadwell (bsc#1051510). - drm/i915: Report -EFAULT before pwrite fast path into shmemfs (bsc#1051510). - drm/i915: Order two completing nop_submit_request (bsc#1051510). - drm/i915: Read timings from the correct transcoder in intel_crtc_mode_get() (bsc#1051510). - drm/i915: remove redundant variable hw_check (bsc#1051510). - drm/i915: Fix DDI PHY init if it was already on (bsc#1051510). - drm/i915/glk: Fix DMC/DC state idleness calculation (bsc#1051510). - drm/i915: Re-enable GTT following a device reset (bsc#1051510). - drm/i915: Clear lost context-switch interrupts across reset (bsc#1051510). - drm/i915: Avoid the gpu reset vs. modeset deadlock (bsc#1051510). - commit c463053- rpm/kernel-binary.spec.in: rename kGraft to KLP (fate#323682) - commit 0ed191d- Support paes_s390 and pkey modules (bsc#1066939) - commit 5932b2c- s390/crypto: fix aes/paes Kconfig dependeny (bsc#1066939). - Update config files. - commit 85fd2af- x86/mm: Unbreak modules that rely on external PAGE_KERNEL availability (FATE#322123). - commit 2ce8e65- mm, truncate: remove all exceptional entries from pagevec under one lock -fix (bsc#1065138). - commit e824298- lib/ratelimit.c: use deferred printk() version (bsc#979928). - commit 2c73591- Input: gtco - fix potential out-of-bound access (bsc#1067085 CVE-2017-16649). - commit 60895ec- media: dib0700: fix invalid dvb_detach argument (CVE-2017-16646 bsc#1067105). - commit 66fca6a- net: usb: asix: fill null-ptr-deref in asix_suspend (CVE-2017-16647 bsc#1067102). - commit f86cac1- Input: ims-psu - check if CDC union descriptor is sane (CVE-2017-16645 bsc#1067132). - commit fba5e7b- USB: core: harden cdc_parse_cdc_header (bsc#1066693 CVE-2017-16534). - commit a719332- Refresh patches.drivers/0003-md-cluster-Suspend-writes-in-RAID10-if-within-range.patch. - Delete patches.drivers/0002-md-raid10-add-honouring-of-suspend_-lo-hi.patch. - commit 6922f7b- USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor() (bsc#1066700 CVE-2017-16535). - commit c7ecdbf- apparmor: Revert network mediation to old patches. References: bsc#1065536 Backport of upstream patch 651e28c5537a ("apparmor: add base infastructure for socket mediation") allowed us delete old apparmor networking patches which we have been carrying for quite some time. However, through 80c094a47dd4 ("Revert "apparmor: add base infastructure for socket mediation""), this patch was reverted. In order to support our networking infrastructure for apparmor, we have to retain our old patches. - apparmor: update apparmor-basic-networking-rules for 4.11-rc1 (FATE#300516). - AppArmor: basic networking rules (FATE#300516). - apparmor: Fix quieting of audit messages for network mediation (FATE#300516). - Delete patches.apparmor/0011-apparmor-add-base-infastructure-for-socket-mediation.patch. - commit 68ae091- USB: fix out-of-bounds in usb_set_configuration (bsc#1066671 CVE-2017-16531). - commit 503cdcb- btrfs: change how we decide to commit transactions during flushing (bsc#1060197). Also enable Liu Bo's patch now that the maths behind transaction commit is fixed. - commit 090a8a5- arm64: Ensure the instruction emulation is ready for userspace (bsc#1066688). - commit d42b0c9- assoc_array: Fix a buggy node-splitting case (CVE-2017-12193 bsc#1066192). - commit 2a60539- net: ethtool: remove error check for legacy setting transceiver type (bsc#1056787). - commit 7d9e6b5- Update config files to enable spidev on arm64. (bsc#1066696) - supported.conf: Support spidev (bsc#1066696) - commit 181d4fc- Refresh patch order in sorted section - commit 8c0cbfa- net_sched: avoid matching qdisc with zero handle (bsc#1056787). - soreuseport: fix initialization race (bsc#1056787). - netlink: fix netlink_ack() extack race (bsc#1056787). - net: enable interface alias removal via rtnl (bsc#1056787). - gso: fix payload length when gso_size is zero (bsc#1056787). - net: rtnetlink: fix info leak in RTM_GETSTATS call (bsc#1056787). - inet: fix improper empty comparison (bsc#1056787). - net: ethtool: Add back transceiver type (bsc#1056787). - net_sched: always reset qdisc backlog in qdisc_reset() (bsc#1056787). - net: change skb->mac_header when Generic XDP calls adjust_head (bsc#1056787). - net/sched: cls_matchall: fix crash when used with classful qdisc (bsc#1056787). - net/sock: allow the user to set negative peek offset (bsc#1056787). - sch_tbf: fix two null pointer dereferences on init failure (bsc#1056787). - sch_netem: avoid null pointer deref on init failure (bsc#1056787). - sch_fq_codel: avoid double free on init failure (bsc#1056787). - sch_cbq: fix null pointer dereferences on init failure (bsc#1056787). - sch_hhf: fix null pointer dereference on init failure (bsc#1056787). - sch_htb: fix crash on init failure (bsc#1056787). - gue: fix remcsum when GRO on and CHECKSUM_PARTIAL boundary is outer UDP (bsc#1056787). - vxlan: fix remcsum when GRO on and CHECKSUM_PARTIAL boundary is outer UDP (bsc#1056787). - net: bridge: fix dest lookup when vlan proto doesn't match (bsc#1056787). - commit 112af25- USB: serial: console: fix use-after-free on disconnect (bsc#1066618 CVE-2017-16525). - USB: serial: console: fix use-after-free after failed setup (bsc#1066618 CVE-2017-16525). - commit f99e4d9- ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor (CVE-2017-16529 bsc#1066650). - commit d27bf12- s390/kvm: fix detection of guest machine checks (FATE#324256,LTC#160417,bsc#1066327). - KVM: s390: Inject machine check into the nested guest (FATE#324256,LTC#160417,bsc#1066327). - KVM: s390: Inject machine check into the guest (FATE#324256,LTC#160417,bsc#1066327). - KVM: s390: Backup the guest's machine check info (FATE#324256,LTC#160417,bsc#1066327). - s390/nmi: s390: New low level handling for machine check happening in guest (FATE#324256,LTC#160417,bsc#1066327). - commit 03cf0ff- KVM: s390: expose no-DAT to guest and migration support (LTC#160419,bsc#1066194). - KVM: s390: ioctls to get and set guest storage attributes (LTC#160419,bsc#1066194). - KVM: s390: CMMA tracking, ESSA emulation, migration mode (LTC#160419,bsc#1066194). - commit c96fac7- KVM: make pid available for uevents without debugfs (FATE#323770,bsc#1061982). - KVM: trigger uevents when creating or destroying a VM (FATE#323770,bsc#1061982). - commit 4b7e072- media: imon: Fix null-ptr-deref in imon_probe (CVE-2017-16537 bsc#1066573). - [media] cx231xx-cards: fix NULL-deref on missing association descriptor (CVE-2017-16536 bsc#1066606). - commit b162a90- RDMA/nldev: Enforce device index check for port callback (bsc#1046306 FATE#322942). - net/mlx5e: DCBNL, Implement tc with ets type and zero bandwidth (bsc#1046303 FATE#322944). - net/mlx5e: Properly deal with encap flows add/del under neigh update (bsc#1046303 FATE#322944). - net/mlx5: Delay events till mlx5 interface's add complete for pci resume (bsc#1046303 FATE#322944). - net/mlx5: Fix health work queue spin lock to IRQ safe (bsc#1046303 FATE#322944). - nfp: refuse offloading filters that redirects to upper devices (bsc#1055968). - RDMA/netlink: OOPs in rdma_nl_rcv_msg() from misinterpreted flag (bsc#1046306 FATE#322942). - commit c03a7d9- Re-sorted sorted section - commit b3742e5- powerpc/64s/radix: Fix preempt imbalance in TLB flush (bsc#1055186). - commit 4c97add- Update patches.fixes/mm-memcontrol-fix-null-pointer-crash-in-test_clear_page_writeback.patch (VM Functionality, bsc#1061849, bsc#1065971). Fix bsc#1065971 by editing the patch in-place. - commit 44552ab- Set CONFIG_MQ_IOSCHED_DEADLINE=y on config/arm64/default (bsc#1066369) - commit 9841c29- ALSA: usb-audio: Kill stray URB at exiting (CVE-2017-16527 bsc#1066625). - ALSA: seq: Cancel pending autoload work at unbinding device (CVE-2017-16528 bsc#1066629). - commit e9dde55- rpm/kernel-binary.spec.in: add explicit dependency of kernel-*-devel on libelf-devel. Otherwise warning that got turned into error by e683952999 ("objtool: Upgrade libelf-devel warning to error...") would trigger and cause any packages being built against kernel-*-devel (such as KMPs, crash) not to have the libelf dependency included, and fail to build. - commit cad1ef9- x86/alternatives: Fix alt_max_short macro to really be a max() (git-fixes). - commit 440e729- Revert "scripts/git-pre-commit: Check the content of the series.conf sorted section." This reverts commit 869e9a97f5038eb456502f1b0ee7cd06f3b8e5c3; we have to first announce this globally with a fixed transition date and give committers time to readjust their infrastructure (namely have pygit2 put in place properly). - commit 28dd483- supported.conf: mark vsockmon as supported (bsc#1066369) This module creates a device receiving copies of vsock traffic so that it packets can be monitored e.g. by tcpdump/wireshark (the same way nlmon works for netlink). (vsock is a framework for specific guest-host communication channels, used by VMware, virtio and recently also Hyper-V) - commit 683ca74- md-cluster/raid10: set "do_balance = 0" if area is resyncing (fate#323171). - md/raid10: add honouring of suspend_{lo,hi} (fate#323171). - md-cluster: Suspend writes in RAID10 if within range (fate#323171). - md-cluster: Use a small window for raid10 resync (fate#323171). - md-cluster: update document for raid10 (fate#323171). - Delete patches.suse/0036-md-cluster-remove-EXPERIMENTAL-info.patch. - commit 0803ffd- mac80211: don't compare TKIP TX MIC key in reinstall prevention (bsc#1066472). - commit 3545ef0- mac80211: use constant time comparison with keys (bsc#1066471). - commit 0ae0929- kernel/sysctl.c: remove duplicate UINT_MAX check on do_proc_douintvec_conv() (bsc#1066470). - commit b275255- Update no-fix patch tags for recent i915 patches This removes the false-positive checks by git-fixes. - commit 9fccb15- ALSA: hda - fix headset mic problem for Dell machines with alc236 (bsc#1052235). - ALSA: hda/realtek - Add support for ALC236/ALC3204 (bsc#1052235). - ALSA: hda: Remove superfluous '-' added by printk conversion (bsc#1052235). - ALSA: hda - program ICT bits to support HBR audio (bsc#1052235). - ALSA: hda: Fix forget to free resource in error handling code path in hda_codec_driver_probe (bsc#1052235). - ALSA: hda/realtek - Fix pincfg for Dell XPS 13 9370 (bsc#1052235). - ALSA: hda: Add Cannonlake PCI ID (bsc#1052235). - ALSA: hda - Add hdmi id for a Geminilake variant (bsc#1052235). - ALSA: hda - Add AZX_DRIVER_SKL for simplification (bsc#1052235). - commit f2aaa75- sched/fair: Enable SIS_AVG_CPU by default (bsc#1061593). - commit fc3055c- ibmvnic: Fix failover error path for non-fatal resets (bsc#1066382). - commit 786fbe8- ibmvnic: Update reset infrastructure to support tunable parameters (bsc#1066382). - commit 4058b41- ibmvnic: Let users change net device features (bsc#1066382). - commit c706428- ibmvnic: Enable TSO support (bsc#1066382). - commit 251d320- ibmvnic: Enable scatter-gather support (bsc#1066382). - commit 36f16a2- ibmvnic: Fix calculation of number of TX header descriptors (bsc#1066382). - commit 5ec05af- x86/fpu: Don't let userspace set bogus xcomp_bv (bsc#1063984, CVE-2017-15537). - commit 17bafc1- ata: ceva: Add SMMU support for SATA IP (bsc#1066345). - ata: ceva: Correct the suspend and resume logic for SATA (bsc#1066345). - ata: ceva: Correct the AXI bus configuration for SATA ports (bsc#1066345). - ata: ceva: Add CCI support for SATA if CCI is enabled (bsc#1066345). - ata: ceva: Make RxWaterMark value as module parameter (bsc#1066345). - ata: ceva: Disable Device Sleep capability (bsc#1066345). - ata: ceva: Add gen 3 mode support in driver (bsc#1066345). - ata: ceva: Move sata port phy oob settings to device-tree (bsc#1066345). - commit 4b09db7- supported.conf: Add wdat_wdt as supported (bsc#1066296) - commit 45de744- Refresh patch order in sorted section - commit 071abc3- powerpc/xmon: Fix display of SPRs (bsc#1065729). - commit e8eae4d- powerpc/powernv: Increase memory block size to 1GB on radix (bsc#1065729). - commit c2f4068- powerpc/pseries: Don't attempt to acquire drc during memory hot add for assigned lmbs (FATE#322022, bsc#1065729). - powerpc/pseries: Check memory device state before onlining/offlining (FATE#322022, bsc#1065729). - commit 7e9a794- scsi: ipr: Set no_report_opcodes for RAID arrays (bsc#1066213). - commit 620e3a3- scsi: ipr: Fix scsi-mq lockdep issue (bsc#1066213). - commit a69de39- Refresh patch order in sorted section - commit 96020ad- dax: initialize variable pfn before using it (FATE#323721). - dax: use PG_PMD_COLOUR instead of open coding (FATE#323721). - dax: explain how read(2)/write(2) addresses are validated (FATE#323721). - dax: remove DAX code from page_cache_tree_insert() (FATE#323721). - dax: use common 4k zero page for dax mmap reads (FATE#323721). - dax: relocate some dax functions (FATE#323721). - mm: add vm_insert_mixed_mkwrite() (FATE#323721). - commit ade91b6- powerpc/sysrq: Fix oops whem ppmu is not registered (bsc#1065729). - commit f08eb15- drm/i915: avoid division by zero on cnl_calc_wrpll_link (FATE#322643 bsc#1055900). - drm/i915/cnl: Do not add an extra page for precaution in the Gen10 LRC size (FATE#322643 bsc#1055900). - drm/i915: avoid potential uninitialized variable use (FATE#322643 bsc#1055900). - drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Gen10 LRC size (FATE#322643 bsc#1055900). - drm/i915/cnl: Extend WM workaround with IPC for CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Change the macro name to DPLL_CFGCR0_DCO_FRACTION_SHIFT (FATE#322643 bsc#1055900). - drm/i915: Shrink cnl_ddi_buf_trans (FATE#322643 bsc#1055900). - drm/i915/glk, cnl: Implement WaDisableScalarClockGating (FATE#322643 bsc#1055900). - drm/i915/cnl: Add support slice/subslice/eu configs (FATE#322643 bsc#1055900). - drm/i915/cnl: WaThrottleEUPerfToAvoidTDBackPressure:cnl(pre-prod) (FATE#322643 bsc#1055900). - drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk (FATE#322643 bsc#1055900). - drm/i915/cnp: Display Wa #1179: WaHardHangonHotPlug (FATE#322643 bsc#1055900). - drm/i915/cnp: set min brightness from VBT (FATE#322643 bsc#1055900). - drm/i915/cnp: Don't touch other PCH clock gating bits (FATE#322643 bsc#1055900). - drm/i915/cnp: Wa 1181: Fix Backlight issue (FATE#322643 bsc#1055900). - drm/i915: Stop using long platform names on clock gating functions (FATE#322643 bsc#1055900). - drm/i915/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register (FATE#322643 bsc#1055900). - drm/i915/cnl: Avoid ioremap_wc on Cannonlake as well (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix DP max voltage (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix DDI hdmi level selection (FATE#322643 bsc#1055900). - drm/i915/cnl: Move ddi buf trans related functions up (FATE#322643 bsc#1055900). - drm/i915/cnl: Move voltage check into ddi buf trans functions (FATE#322643 bsc#1055900). - drm/i915: Enable voltage swing before enabling DDI_BUF_CTL (FATE#322643 bsc#1055900). - drm/i915: Align vswing sequences with old ddi buffer registers (FATE#322643 bsc#1055900). - drm/i915: decouple gen9 and gen10 dp signal levels (FATE#322643 bsc#1055900). - drm/i915: Introduce intel_ddi_dp_level (FATE#322643 bsc#1055900). - drm/i915/cnl: WaDisableI2mCycleOnWRPort (FATE#322643 bsc#1055900). - drm/i915/cnl: WA FtrEnableFastAnisoL1BankingFix (FATE#322643 bsc#1055900). - drm/i915/cnl: don't hardcode DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT (FATE#322643 bsc#1055900). - drm/i915/cnl: WaForceContextSaveRestoreNonCoherent (FATE#322643 bsc#1055900). - drm/i915/cnl: WaPushConstantDereferenceHoldDisable (FATE#322643 bsc#1055900). - drm/i915/cnl: extract cnl_set_procmon_ref_values (FATE#322643 bsc#1055900). - drm/i915/cnl: simplify cnl_procmon_values handling (FATE#322643 bsc#1055900). - drm/i915/cnl: Apply large line width optimization (FATE#322643 bsc#1055900). - drm/i915/cnl: WaDisableEnhancedSBEVertexCaching (FATE#322643 bsc#1055900). - drm/i915/cnl: Add WaDisableReplayBufferBankArbitrationOptimization (FATE#322643 bsc#1055900). - drm/i915/cnl: Introduce initial Cannonlake Workarounds (FATE#322643 bsc#1055900). - drm/i915/cfl: Remove alpha support protection (FATE#322643 bsc#1055900). - drm/i915/cfl: Coffee Lake works on Kaby Lake PCH (FATE#322643 bsc#1055900). - commit 2e11a0a- drm/i915/cnl: Fix PLL initialization for HDMI (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix PLL mapping (FATE#322643 bsc#1055900). - drm/i915: Fix the missing PPAT cache attributes on CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix LSPCON support (FATE#322643 bsc#1055900). - drm/i915/cnl: Reuse skl_wm_get_hw_state on Cannonlake (FATE#322643 bsc#1055900). - drm/i915/gen10: implement gen 10 watermarks calculations (FATE#322643 bsc#1055900). - drm/i915: Addition wrapper for fixed16.16 operation (FATE#322643 bsc#1055900). - drm/i915/cnl: Setup PAT Index (FATE#322643 bsc#1055900). - drm/i915/gen10: fix WM latency printing (FATE#322643 bsc#1055900). - drm/i915/gen10: fix the gen 10 SAGV block time (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable SAGV for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/gen10+: use the SKL code for reading WM latencies (FATE#322643 bsc#1055900). - drm/i915/cnl: Dump the right pll registers when dumping pipe config (FATE#322643 bsc#1055900). - drm/i915/cnl: Add allowed DP rates for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: Add max allowed Cannonlake DC (FATE#322643 bsc#1055900). - drm/i915/cnl: Add slice and subslice information to debugfs (FATE#322643 bsc#1055900). - drm/i915: Return correct EDP voltage swing table for 0.85V (FATE#322643 bsc#1055900). - drm/i915/cnl: Removing missing DDI_E bits from CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix loadgen select programming on ddi vswing sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: Add missing type case (FATE#322643 bsc#1055900). - drm/i915/cnl: Don't trust VBT's alternate pin for port D for now (FATE#322643 bsc#1055900). - drm/i915/cnl: Get DDI clock based on PLLs (FATE#322643 bsc#1055900). - drm/i915/cnl: Inherit RPS stuff from previous platforms (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake color init (FATE#322643 bsc#1055900). - x86/gpu: CNL uses the same GMS values as SKL (FATE#322643 bsc#1055900). - drm/i915/cnl: Add force wake for gen10+ (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix the CURSOR_COEFF_MASK used in DDI Vswing Programming (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix RMW on ddi vswing sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: LSPCON support is gen9+ (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable fifo underrun for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: Fix Cannonlake scaler mode programing (FATE#322643 bsc#1055900). - drm/i915: Use HAS_CSR instead of gen number on DMC load (FATE#322643 bsc#1055900). - drm/i915/DMC/CNL: Load DMC on CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Enable loadgen_select bit for vswing sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement voltage swing sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: Add DDI Buffer translation tables for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: Add registers related to voltage swing sequences (FATE#322643 bsc#1055900). - drm/i915: Add MMIO helper for 6 ports with different offsets (FATE#322643 bsc#1055900). - drm/i915/cnl: Initialize PLLs (FATE#322643 bsc#1055900). - drm/i915: Configure DPLL's for Cannonlake (FATE#322643 bsc#1055900). - drm/i915/cnl: DDI - PLL mapping (FATE#322643 bsc#1055900). - drm/i915/cnl: Allow dynamic cdclk changes on CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement CNL display init/unit sequence (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement .set_cdclk() for CNL (FATE#322643 bsc#1055900). - drm/i915/cnl: Implement .get_display_clock_speed() for CNL (FATE#322643 bsc#1055900). - drm/i915: Remove unnecessary PORT3 definition (FATE#322643 bsc#1055900). - drm/i915/cnl: Also need power well sanitize (FATE#322643 bsc#1055900). - drm/i915/cnl: Add power wells for CNL (FATE#322643 bsc#1055900). - drm/i915/gen10: Set value of Indirect Context Offset for gen10 (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake has same MOCS table than Skylake (FATE#322643 bsc#1055900). - drm/i915/cnl: Configure EU slice power gating (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake has 4 planes (3 sprites) per pipe (FATE#322643 bsc#1055900). - drm/i915/cnl: add IS_CNL_REVID macro (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Cannonlake PCI IDs for Y-skus (FATE#322643 bsc#1055900). - drm/i915/cnl: Add Cannonlake PCI IDs for U-skus (FATE#322643 bsc#1055900). - drm/i915: Always use 9 bits of the LPC bridge device ID for PCH detection (FATE#322643 bsc#1055900). - drm/i915: Fix PCH names for KBP and CNP (FATE#322643 bsc#1055900). - commit 99ef3b0- scripts/git_sort/git_sort.py: add ext4 git repository - commit 7d0f4fb- Update s390x config files (FATE#323442) - commit 139ffd3- s390/dasd: Add discard support for FBA devices (FATE#322263, bsc#1061020). - commit fcd8c50- s390/mm,kvm: use nodat PGSTE tag to optimize TLB flushing (FATE#321512, bsc#1061009). - s390/mm: add guest ASCE TLB flush optimization (FATE#321512, bsc#1061009). - s390/mm: add no-dat TLB flush optimization (FATE#321512, bsc#1061009). - s390/mm: tag normal pages vs pages used in page tables (FATE#321512, bsc#1061009). - s390/sclp: single increment assignment control (FATE#323299, bsc#1061050). - scsi: Do not retry invalid function error (bnc#809122). - Delete patches.suse/scsi-do-not-retry-invalid-function-error.patch. - commit cbe6ec6- KEYS: prevent KEYCTL_READ on negative key (bsc#1066043). - KEYS: fix writing past end of user-supplied buffer in keyring_read() (bsc#1066046). - serial: Fix port type numbering for TI DA8xx (bsc#1066048). - serial: Remove unused port type (bsc#1066045). - commit e8b8788- Delete patches.rpmify/firmware-path Firmware path is irrelevant since the firmware is not used anyway (bsc#1054239). - commit 6a4e78f- iommu/amd: Do not disable SWIOTLB if SME is active (fate#322123). - commit bf4176e- ext4: add ext4_should_use_dax() (bsc#1064591). - commit a01f212- ext4: add sanity check for encryption + DAX (bsc#1064591). - commit 19ca8bf- ext4: prevent data corruption with journaling + DAX (bsc#1064591). - commit 0aec3e0- ext4: prevent data corruption with inline data + DAX (bsc#1064591). - commit 7dfd254- mm,compaction: serialize waitqueue_active() checks (for real) (Git-fixes, VM Performance). - commit 483dd23- Kbuild: use -fshort-wchar globally (bnc#1065600). - commit 3a70c58- xen: x86: mark xen_find_pt_base as __init (bnc#1065600). - commit 1037440- xen/events: events_fifo: Don't use {get,put}_cpu() in xen_evtchn_fifo_init() (bnc#1065600). - commit 61488f9- KVM: PPC: Book3S: Protect kvmppc_gpa_to_ua() with SRCU (bsc#1061840). - commit ad12195- KVM: PPC: Book3S HV: POWER9 more doorbell fixes (bsc#1061840). - commit db3a4d5- KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM (bsc#1061840). - commit 7d9f250- KVM: PPC: Book3S HV: Use msgsync with hypervisor doorbells on POWER9 (bsc#1061840). - commit 7e124d4- KVM: PPC: Book3S HV: Hold kvm->lock around call to kvmppc_update_lpcr (bsc#1061840). - commit e13b8b9- KVM: PPC: Book3S HV: Fix case where HDEC is treated as 32-bit on POWER9 (bsc#1061840). - commit 9b7c48e- Refresh patches.drivers/0008-Revert-commit-1a8b6d76dc5b-net-add-one-common-config.patch. - Refresh patches.drivers/0009-ixgbe-Use-new-PCI_DEV_FLAGS_NO_RELAXED_ORDERING-flag.patch. - Refresh patches.drivers/0047-scsi-qla2xxx-Cleanup-FC-NVMe-code.patch. - Refresh patches.drivers/0048-scsi-qla2xxx-Move-function-prototype-to-correct-head.patch. - Refresh patches.drivers/0049-scsi-qla2xxx-Added-change-to-enable-ZIO-for-FC-NVMe-.patch. - Refresh patches.drivers/0050-scsi-qla2xxx-Simpify-unregistration-of-FC-NVMe-local.patch. - Refresh patches.drivers/0051-scsi-qla2xxx-Fix-remoteport-disconnect-for-FC-NVMe.patch. - Refresh patches.drivers/0052-scsi-qla2xxx-use-dma_mapping_error-to-check-map-erro.patch. - Refresh patches.drivers/0053-scsi-qla2xxx-fix-spelling-mistake-of-variable-sfp_ad.patch. - Refresh patches.drivers/0054-scsi-qla2xxx-Correction-to-vha-vref_count-timeout.patch. - Refresh patches.drivers/0055-scsi-qla2xxx-Fix-target-multiqueue-configuration.patch. - Refresh patches.drivers/0056-scsi-qla2xxx-Update-fw_started-flags-at-qpair-creati.patch. - Refresh patches.drivers/0057-scsi-qla2xxx-Add-command-completion-for-error-path.patch. - Refresh patches.drivers/0058-scsi-qla2xxx-Fix-WWPN-WWNN-in-debug-message.patch. - Refresh patches.drivers/0059-scsi-qla2xxx-Fix-system-panic-due-to-pointer-access-.patch. - Refresh patches.drivers/0060-scsi-qla2xxx-Use-BIT_6-to-acquire-FAWWPN-from-switch.patch. - Refresh patches.drivers/0061-scsi-qla2xxx-Fix-NPIV-host-enable-after-chip-reset.patch. - Refresh patches.drivers/0062-scsi-qla2xxx-Remove-extra-register-read.patch. - Refresh patches.drivers/0063-scsi-qla2xxx-Change-ha-wq-max_active-value-to-defaul.patch. - Refresh patches.drivers/0064-scsi-qla2xxx-Use-fabric-name-for-Get-Port-Speed-comm.patch. - Refresh patches.drivers/0065-scsi-qla2xxx-Add-ability-to-autodetect-SFP-type.patch. - Refresh patches.drivers/0066-scsi-qla2xxx-Prevent-sp-free-null-uninitialized-poin.patch. - Refresh patches.drivers/0067-scsi-qla2xxx-Use-sp-free-instead-of-hard-coded-call.patch. - Refresh patches.drivers/0068-scsi-qla2xxx-Move-logging-default-mask-to-execute-on.patch. - Refresh patches.drivers/0069-scsi-qla2xxx-Add-timeout-ability-to-wait_for_sess_de.patch. - Refresh patches.drivers/0070-scsi-qla2xxx-Allow-SNS-fabric-login-to-be-retried.patch. - Refresh patches.drivers/0071-scsi-qla2xxx-Fix-task-mgmt-handling-for-NPIV.patch. - Refresh patches.drivers/0072-scsi-qla2xxx-Print-correct-mailbox-registers-in-fail.patch. - Refresh patches.drivers/0073-scsi-qla2xxx-Remove-potential-macro-parameter-side-e.patch. - Refresh patches.drivers/0074-scsi-qla2xxx-Add-support-for-minimum-link-speed.patch. - Refresh patches.drivers/0075-scsi-qla2xxx-Add-LR-distance-support-from-nvram-bit.patch. - Refresh patches.drivers/0076-scsi-qla2xxx-Cleanup-NPIV-host-in-target-mode-during.patch. - Refresh patches.drivers/0077-scsi-qla2xxx-Enable-Async-TMF-processing.patch. - Refresh patches.drivers/0078-scsi-qla2xxx-Increase-ql2xmaxqdepth-to-64.patch. - Refresh patches.drivers/0079-scsi-qla2xxx-Recheck-session-state-after-RSCN.patch. - Refresh patches.drivers/0080-scsi-qla2xxx-Skip-zero-queue-count-entry-during-FW-d.patch. - Refresh patches.drivers/0081-scsi-qla2xxx-Ability-to-process-multiple-SGEs-in-Com.patch. - Refresh patches.drivers/0082-scsi-qla2xxx-Do-not-call-abort-handler-function-duri.patch. - Refresh patches.drivers/0083-scsi-qla2xxx-Update-driver-version-to-10.00.00.01-k.patch. - Refresh patches.drivers/0084-scsi-qla2xxx-Fix-an-integer-overflow-in-sysfs-code.patch. - Refresh patches.drivers/IB-rxe-Another-fix-for-broken-receive-queue-draining.patch. - Refresh patches.drivers/IB-rxe-Move-refcounting-earlier-in-rxe_send.patch. - Refresh patches.drivers/e1000e-Don-t-return-uninitialized-stats.patch. - Refresh patches.drivers/ibmvnic-103-Initialize-SCRQ-s-during-login-renegotiation.patch. - Refresh patches.drivers/ibmvnic-104-Check-for-transport-event-on-driver-resume.patch. - Refresh patches.drivers/ibmvnic-105-Report-rx-buffer-return-codes-as-netdev_dbg.patch. - Refresh patches.drivers/ibmvnic-106-Implement-per-queue-statistics-reporting.patch. - Refresh patches.drivers/ibmvnic-107-Convert-vnic-server-reported-statistics-to-cpu-endian.patch. - Refresh patches.drivers/ibmvnic-108-Implement-.get_ringparam.patch. - Refresh patches.drivers/ibmvnic-109-Implement-.get_channels.patch. - Refresh patches.drivers/ibmvnic-110-Clean-up-resources-on-probe-failure.patch. - Refresh patches.drivers/ibmvnic-111-Add-netdev_dbg-output-for-debugging.patch. - Refresh patches.drivers/ibmvnic-112-constify-vio_device_id.patch. - Refresh patches.drivers/net-check-type-when-freeing-metadata-dst.patch. - Refresh patches.drivers/net-mlx5e-IPoIB-Fix-driver-name-retrieved-by-ethtool.patch. - Refresh patches.drivers/net-sched-fix-memleak-for-chain-zero.patch. - Refresh patches.drivers/scsi-cxlflash-22-Fix-an-error-handling-path-in-cxlflash.patch. - Refresh patches.drivers/scsi-cxlflash-23-Remove-unnecessary-existence-check.patch. - Refresh patches.drivers/scsi-cxlflash-24-Avoid-double-mutex-unlock.patch. - Refresh patches.drivers/scsi-cxlflash-25-Fix-vlun-resize-failure-in-the-shrink-.patch. - Refresh patches.drivers/scsi-libfc-fix-a-deadlock-in-fc_rport_work.patch. - Refresh patches.drivers/scsi-qla2xxx-Add-ATIO-Q-processing-for-INTx-mode.patch. - Refresh patches.drivers/scsi-qla2xxx-Allow-MBC_GET_PORT_DATABASE-to-query-an.patch. - Refresh patches.drivers/scsi-qla2xxx-Changes-to-support-N2N-logins.patch. - Refresh patches.drivers/scsi-qla2xxx-Query-FC4-type-during-RSCN-processing.patch. - Refresh patches.drivers/scsi-qla2xxx-Reinstate-module-parameter-ql2xenablems.patch. - Refresh patches.drivers/scsi-qla2xxx-Update-driver-version-to-10.00.00.02-k.patch. - Refresh patches.drivers/scsi-qla2xxx-Use-ql2xnvmeenable-to-enable-Q-Pair-for.patch. - Refresh patches.drivers/scsi-qla2xxx-don-t-break-the-bsg-lib-abstractions.patch. - Refresh patches.drivers/scsi-scsi_transport_iscsi-fix-the-issue-that.patch. - Refresh patches.drivers/scsi_transport_fc-return-EBUSY-for-deleted-vport.patch. - Refresh patches.fixes/0001-loop-Add-PF_LESS_THROTTLE-to-block-loop-device-threa.patch. - Refresh patches.fixes/0001-md-raid5-fix-a-race-condition-in-stripe-batch.patch. Update Git-repo tags according to current content in each repository. - commit e2d8d15- cxl: Fix driver use count (bsc#1055014). - commit 004458e- powerpc/tm: Fix illegal TM state in signal handler (bsc#1065729). - powerpc/pseries: Fix parent_dn reference leak in add_dt_node() (bsc#1065729). - powerpc/mm/hash: Free the subpage_prot_table correctly (bsc#1065729). - powerpc/mm: Fix check of multiple 16G pages from device tree (bsc#1065729). - powerpc: Correct instruction code for xxlor instruction (bsc#1065729). - commit 701cd66- SMB3: Validate negotiate request must always be signed (bsc#1064597). - SMB: fix validate negotiate info uninitialised memory use (bsc#1064597). - SMB: fix leak of validate negotiate info response buffer (bsc#1064597). - commit f686414- cavium: cn99xx: enable out of tree ahci errata Refresh patches.drivers/0001-PCI-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-earl.patch. - commit 5b59192- drivers: dma-mapping: Do not leave an invalid area->pages pointer in dma_common_contiguous_remap() (Git-fixes, bsc#1065692). - commit 0f78052- xen: fix booting ballooned down hvm guest (bnc#1065600). - commit 177d959- objtool: Fix memory leak in decode_instructions() (bnc#1058115). - x86/unwind: Disable unwinder warnings on 32-bit (bnc#1058115). - x86/unwind: Align stack pointer in unwinder dump (bnc#1058115). - x86/unwind: Use MSB for frame pointer encoding on 32-bit (bnc#1058115). - x86/unwind: Fix dereference of untrusted pointer (bnc#1058115). - x86/kvm: Move kvm_fastop_exception to .fixup section (bnc#1058115). - objtool: Upgrade libelf-devel warning to error for CONFIG_ORC_UNWINDER (bnc#1058115). - kprobes/x86: Set up frame pointer in kprobe trampoline (bnc#1058115). - objtool: Support unoptimized frame pointer setup (bnc#1058115). - objtool: Skip unreachable warnings for GCC 4.4 and older (bnc#1058115). - commit 0942514- tty: xilinx_uartps: move to arch_initcall for earlier console (fate#323912). - serial: xuartps: Remove __init marking from early write (fate#323912). - commit bb8f007- x86/unwind: Show function name+offset in ORC error messages (bnc#1058115). - x86/entry: Fix idtentry unwind hint (bnc#1058115). x86/entry: Fix idtentry unwind hint (bnc#1058115). - commit a59af47- Btrfs: add support for fallocate's zero range operation (fate#323233). - commit 5c14b28- random: do not ignore early device randomness (bsc#1064475). - commit 272473f- powerpc/perf: Fix for core/nest imc call trace on cpuhotplug (FATE#322448, bsc#1054914). - commit c0cc9d1- powerpc/perf: Fix IMC initialization crash (FATE#322448, bsc#1054914). - powerpc/perf: Add ___GFP_NOWARN flag to alloc_pages_node() (FATE#322448, bsc#1054914). - commit 64c2f61- futex: futex_wake_op, fix sign_extend32 sign bits (bnc#1064590). - futex: futex_wake_op, do not fail on invalid op (bnc#1064590). - commit dff8df7- VFS: expedite unmount (bsc#1024412). - commit 7f33b23- blacklist.conf: patched file is not backported - commit 7103104- bpf: fix byte order test in test_verifier (bsc#1056787). - commit 0318ced- nfp: handle page allocation failures (bsc#1055968). - nfp: fix ethtool stats gather retry (bsc#1055968). - nfp: wait for the NSP resource to appear on boot (bsc#1055968). - nfp: wait for board state before talking to the NSP (bsc#1055968). - nfp: flower: restore RTNL locking around representor updates (bsc#1055968). - nfp: build the flower offload by default (bsc#1055968). - nfp: be drop monitor friendly (bsc#1055968). - nfp: move the start/stop app callbacks back (bsc#1055968). - nfp: flower: base lifetime of representors on existence of lower vNIC (bsc#1055968). - nfp: separate app vNIC init/clean from alloc/free (bsc#1055968). - nfp: add basic SR-IOV ndo functions to representors (bsc#1055968). - nfp: add basic SR-IOV ndo functions (bsc#1055968). - nfp: don't reuse pointers in ring dumping (bsc#1055968). - nfp: fix copy paste in names and messages regarding vNICs (bsc#1055968). - nfp: add ethtool statistics for representors (bsc#1055968). - nfp: add pointer to vNIC config memory to nfp_port structure (bsc#1055968). - nfp: report MAC statistics in ethtool (bsc#1055968). - nfp: store pointer to MAC statistics in nfp_port (bsc#1055968). - nfp: split software and hardware vNIC statistics (bsc#1055968). - nfp: add helper for printing ethtool strings (bsc#1055968). - nfp: don't report standard netdev statistics in ethtool (bsc#1055968). - nfp: allow retreiving management FW logs on representors (bsc#1055968). - nfp: provide ethtool_drvinfo on representors (bsc#1055968). - nfp: link basic ethtool ops to representors (bsc#1055968). - nfp: process MTU updates from firmware flower app (bsc#1055968). - nfp: process control messages in workqueue in flower app (bsc#1055968). - nfp: send control message when MAC representors are created (bsc#1055968). - bpf, nfp: implement jiting of BPF_J{LT,LE} (bsc#1055968). - nfp: TX time stamp packets before HW doorbell is rung (bsc#1055968). - commit 773d1a0- bpf: fix pattern matches for direct packet access (bsc#1056787). - bpf: fix off by one for range markings with L{T, E} patterns (bsc#1056787). - bpf: do not test for PCPU_MIN_UNIT_SIZE before percpu allocations (bsc#1056787). - bpf: disallow arithmetic operations on context pointer (bsc#1056787). - bpf: fix liveness marking (bsc#1056787). - bpf: fix bpf_tail_call() x64 JIT (bsc#1056787). - bpf: do not disable/enable BH in bpf_map_free_id() (bsc#1056787). - bpf/verifier: reject BPF_ALU64|BPF_END (bsc#1056787). - bpf: Only set node->ref = 1 if it has not been set (bsc#1056787). - bpf: Inline LRU map lookup (bsc#1056787). - bpf/verifier: document liveness analysis (bsc#1056787). - bpf/verifier: remove varlen_map_value_access flag (bsc#1056787). - bpf/verifier: when pruning a branch, ignore its write marks (bsc#1056787). - bpf: inline map in map lookup functions for array and htab (bsc#1056787). - bpf: make htab inlining more robust wrt assumptions (bsc#1056787). - bpf: fix liveness propagation to parent in spilled stack slots (bsc#1056787). - bpf: export bpf_prog_inc_not_zero (bsc#1056787). - bpf/verifier: track liveness for pruning (bsc#1056787). - bpf: enable BPF_J{LT, LE, SLT, SLE} opcodes in verifier (bsc#1056787). - bpf: add BPF_J{LT,LE,SLT,SLE} instructions (bsc#1056787). - bpf: Extend check_uarg_tail_zero() checks (bsc#1056787). - bpf: Move check_uarg_tail_zero() upward (bsc#1056787). - bpf/verifier: increase complexity limit to 128k (bsc#1056787). - bpf/verifier: more concise register state logs for constant var_off (bsc#1056787). - bpf/verifier: track signed and unsigned min/max values (bsc#1056787). - bpf/verifier: rework value tracking (bsc#1056787). - bpf: fix bpf_prog_get_info_by_fd to dump correct xlated_prog_len (bsc#1056787). - bpf: don't indicate success when copy_from_user fails (bsc#1056787). - selftests/bpf: subtraction bounds test (bsc#1056787). - bpf: more tests for mixed signed and unsigned bounds checks (bsc#1056787). - bpf: add test for mixed signed and unsigned bounds checks (bsc#1056787). - bpf: fix up test cases with mixed signed/unsigned bounds (bsc#1056787). - bpf: Implement show_options (bsc#1056787). - bpf: don't open-code memdup_user() (bsc#1056787). - bpf: export whether tail call has jited owner (bsc#1056787). - bpf: Fix out-of-bound access on interpreters (bsc#1056787). - bpf: Add syscall lookup support for fd array and htab (bsc#1056787). - bpf: possibly avoid extra masking for narrower load in verifier (bsc#1056787). - selftests/bpf: Add test cases to test narrower ctx field loads (bsc#1056787). - bpf: reset id on spilled regs in clear_all_pkt_pointers (bsc#1056787). - bpf: reset id on CONST_IMM transition (bsc#1056787). - bpf: don't check spilled reg state for non-STACK_SPILLed type slots (bsc#1056787). - bpf: cgroup skb progs cannot access ld_abs/ind (bsc#1056787). - bpf: Add BPF_OBJ_GET_INFO_BY_FD (bsc#1056787). - bpf: Add jited_len to struct bpf_prog (bsc#1056787). - bpf: Add BPF_MAP_GET_FD_BY_ID (bsc#1056787). - bpf: Add BPF_PROG_GET_FD_BY_ID (bsc#1056787). - bpf: Add BPF_(PROG|MAP)_GET_NEXT_ID command (bsc#1056787). - bpf: Introduce bpf_map ID (bsc#1056787). - bpf: Remove the capability check for cgroup skb eBPF program (bsc#1056787). - bpf: Allow CGROUP_SKB eBPF program to access sk_buff (bsc#1056787). - bpf: use different interpreter depending on required stack size (bsc#1056787). - bpf: reconcile bpf_tail_call and stack_depth (bsc#1056787). - bpf: split bpf core interpreter (bsc#1056787). - bpf: free up BPF_JMP | BPF_CALL | BPF_X opcode (bsc#1056787). - commit afa6680- Update config files, add CONFIG_BLK_MQ_RDMA=y. - commit 596d823- nvme-fc: correct io timeout behavior (FATE#323952, FATE#322506). - nvme-fc: correct io termination handling (FATE#323952, FATE#322506). - nvme-pci: add SGL support (FATE#323952, FATE#322506). - nvme: use ida_simple_{get,remove} for the controller instance (FATE#323952, FATE#322506). - nvmet: Change max_nsid in subsystem due to ns_disable if needed (FATE#323952, FATE#322506). - nvme-loop: Add BLK_MQ_F_NO_SCHED flag to admin tag set (FATE#323952, FATE#322506). - nvme-fc: Add BLK_MQ_F_NO_SCHED flag to admin tag set (FATE#323952, FATE#322506). - nvme-rdma: Add BLK_MQ_F_NO_SCHED flag to admin tag set (FATE#323952, FATE#322506). - nvme-pci: fix typos in comments (FATE#323952, FATE#322506). - nvme-rdma: stop controller reset if the controller is deleting (FATE#323952, FATE#322506). - nvme-rdma: change queue flag semantics DELETING -> ALLOCATED (FATE#323952, FATE#322506). - nvme-rdma: Don't local invalidate if the queue is not live (FATE#323952, FATE#322506). - nvme-rdma: teardown admin/io queues once on error recovery (FATE#323952, FATE#322506). - nvme-rdma: Check that reinit_request got a proper mr (FATE#323952, FATE#322506). - nvme-rdma: move assignment to declaration (FATE#323952, FATE#322506). - nvme-rdma: fix wrong logging message (FATE#323952, FATE#322506). - nvme-rdma: pass tagset to directly nvme_rdma_free_tagset (FATE#323952, FATE#322506). - nvme: simplify compat_ioctl handling (FATE#323952, FATE#322506). - nvme-fc: move remote port get/put/free location (FATE#323952, FATE#322506). - nvme-fc: create fc class and transport device (FATE#323952, FATE#322506). - nvme-fabrics: request transport module (FATE#323952, FATE#322506). - nvmet: bump NVMET_NR_QUEUES to 128 (FATE#323952, FATE#322506). - nvme: use menu Kconfig interface (FATE#323952, FATE#322506). - nvme: update timeout module parameter type (FATE#323952, FATE#322506). - nvme-fcloop: fix port deletes and callbacks (FATE#323952, FATE#322506). - nvmet-fc: sync header templates with comments (FATE#323952, FATE#322506). - nvmet-fc: ensure target queue id within range (FATE#323952, FATE#322506). - nvmet-fc: on port remove call put outside lock (FATE#323952, FATE#322506). - nvme-rdma: don't fully stop the controller in error recovery (FATE#323952, FATE#322506). - nvme-rdma: give up reconnect if state change fails (FATE#323952, FATE#322506). - nvme-core: Use nvme_wq to queue async events and fw activation (FATE#323952, FATE#322506). - nvme: fix sqhd reference when admin queue connect fails (FATE#323952, FATE#322506). - nvmet: implement valid sqhd values in completions (FATE#323952, FATE#322506). - nvme-fabrics: Allow 0 as KATO value (FATE#323952, FATE#322506). - nvme: allow timed-out ios to retry (FATE#323952, FATE#322506). - nvme: stop aer posting if controller state not live (FATE#323952, FATE#322506). - nvme-pci: Print invalid SGL only once (FATE#323952, FATE#322506). - nvme-pci: initialize queue memory before interrupts (FATE#323952, FATE#322506). - nvmet-fc: fix failing max io queue connections (FATE#323952, FATE#322506). - nvme-fc: use transport-specific sgl format (FATE#323952, FATE#322506). - nvme: add transport SGL definitions (FATE#323952, FATE#322506). - commit 2ece78f- nvmet-fcloop: remove use of FC-specific error codes (FATE#323952, FATE#322506). - nvme-pci: implement the HMB entry number and size limitations (FATE#323952, FATE#322506). - nvme-pci: propagate (some) errors from host memory buffer setup (FATE#323952, FATE#322506). - nvme-pci: use appropriate initial chunk size for HMB allocation (FATE#323952, FATE#322506). - nvme-pci: fix host memory buffer allocation fallback (FATE#323952, FATE#322506). - nvme: fix lightnvm check (FATE#323952, FATE#322506). - nvmet: add support for reporting the host identifier (FATE#323952, FATE#322506). - nvme: Use metadata for passthrough commands (FATE#323952, FATE#322506). - nvme: Make nvme user functions static (FATE#323952, FATE#322506). - nvme/pci: Use req_op to determine DIF remapping (FATE#323952, FATE#322506). - nvme: factor metadata handling out of __nvme_submit_user_cmd (FATE#323952, FATE#322506). - nvme-fabrics: Convert nvmf_transports_mutex to an rwsem (FATE#323952, FATE#322506). - nvme: don't blindly overwrite identifiers on disk revalidate (FATE#323952, FATE#322506). - nvme: remove nvme_revalidate_ns (FATE#323952, FATE#322506). - nvme: remove unused struct nvme_ns fields (FATE#323952, FATE#322506). - nvme: allow calling nvme_change_ctrl_state from irq context (FATE#323952, FATE#322506). - nvme: report more detailed status codes to the block layer (FATE#323952, FATE#322506). - nvme: honor RTD3 Entry Latency for shutdowns (FATE#323952, FATE#322506). - nvme: fix uninitialized prp2 value on small transfers (FATE#323952, FATE#322506). - nvme-rdma: Use unlikely macro in the fast path (FATE#323952, FATE#322506). - nvmet-fc: simplify sg list handling (FATE#323952, FATE#322506). - nvme-fc: Reattach to localports on re-registration (FATE#323952, FATE#322506). - nvme: rename AMS symbolic constants to fit specification (FATE#323952, FATE#322506). - nvme: add symbolic constants for CC identifiers (FATE#323952, FATE#322506). - nvme: fix identify namespace logging (FATE#323952, FATE#322506). - nvme-fabrics: log a warning if hostid is invalid (FATE#323952, FATE#322506). - nvme-rdma: call ops->reg_read64 instead of nvmf_reg_read64 (FATE#323952, FATE#322506). - nvme-rdma: cleanup error path in controller reset (FATE#323952, FATE#322506). - nvme-rdma: introduce nvme_rdma_start_queue (FATE#323952, FATE#322506). - nvme-rdma: rename nvme_rdma_init_queue to nvme_rdma_alloc_queue (FATE#323952, FATE#322506). - nvme-rdma: stop queues instead of simply flipping their state (FATE#323952, FATE#322506). - nvme-rdma: introduce configure/destroy io queues (FATE#323952, FATE#322506). - nvme-rdma: reuse configure/destroy_admin_queue (FATE#323952, FATE#322506). - nvme-rdma: don't free tagset on resets (FATE#323952, FATE#322506). - nvme-rdma: disable the controller on resets (FATE#323952, FATE#322506). - nvme-rdma: move tagset allocation to a dedicated routine (FATE#323952, FATE#322506). - nvme: Add admin_tagset pointer to nvme_ctrl (FATE#323952, FATE#322506). - nvme-rdma: move nvme_rdma_configure_admin_queue code location (FATE#323952, FATE#322506). - nvme-rdma: remove NVME_RDMA_MAX_SEGMENT_SIZE (FATE#323952, FATE#322506). - nvmet-fcloop: remove ALL_OPTS define (FATE#323952, FATE#322506). - nvmet: fix the return error code of target if host is not allowed (FATE#323952, FATE#322506). - nvmet: use NVME_NSID_ALL (FATE#323952, FATE#322506). - nvme: add support for NVMe 1.3 Timestamp Feature (FATE#323952, FATE#322506). - nvme: define NVME_NSID_ALL (FATE#323952, FATE#322506). - nvme: add support for FW activation without reset (FATE#323952, FATE#322506). - blk-mq: Make blk_mq_reinit_tagset() calls easier to read (FATE#323952, FATE#322506). - nvmem: include linux/err.h from header (FATE#323952, FATE#322506). - nvmem: core: Add nvmem_cell_read_u32 (FATE#323952, FATE#322506). - nvmet-rdma: remove redundant empty device add callout (FATE#323952, FATE#322506). - nvme-rdma: remove redundant empty device add callout (FATE#323952, FATE#322506). - nvme-rdma: use intelligent affinity based queue mappings (FATE#323952, FATE#322506). - block: Add rdma affinity based queue mapping helper (FATE#323952, FATE#322506). - commit 747cb11- scripts/git_sort/git_sort.py: Add upstream NVMe repository - commit 7a0ab79- bnxt_en: Fix possible corruption in DCB parameters from firmware (bsc#1050242 FATE#322914). - bnxt_en: Fix possible corrupted NVRAM parameters from firmware response (bsc#1050242 FATE#322914). - bnxt_en: Fix VF resource checking (bsc#1050242 FATE#322914). - bnxt_en: Fix VF PCIe link speed and width logic (bsc#1050242 FATE#322914). - bnxt_en: Don't use rtnl lock to protect link change logic in workqueue (bsc#1050242 FATE#322914). - bnxt_en: Improve VF/PF link change logic (bsc#1050242 FATE#322914). - commit 99e5c52- power: supply: Fix power_supply_am_i_supplied to return -ENODEV when apropriate (bsc#1064870). - commit 36c0450- Blacklist build fixes for configurations we don't use 7e7dc66adcf4 powerpc/mm: Build fix for non SPARSEMEM_VMEMAP config - commit 65839a0- bcma: gpio: Correct number of GPIOs for BCM53573 (bsc#1048185). - commit b622f9e- Blacklist fixes for unsupported ppc platforms 3c29b6038828 powerpc/8xx: fix mpc8xx_get_irq() return on no irq 8d046759f6ad powerpc/44x: Fix mask and shift to zero bug c65540453e15 powerpc/83xx: Use sizeof correct type when ioremapping - commit bc9210e- iwlwifi: nvm: set the correct offsets to 3168 series (FATE#322675). - commit 012cc15- blacklist.conf: just removes an unused constant - commit 41edaf8- blacklist.conf: We do not use m-bus - commit 0028f53- pinctrl: check ops->pin_config_set in pinconf_set_config() (bsc#1064862). - commit 7ffeae7- iwlwifi: mvm: return -ENODATA when reading the temperature with the FW down (FATE#322675). - commit 82b7e03- blacklist.conf: Totally unused - commit c8b4062- supported.conf: add CONFIG_TEST_LKM=m on kselftests-kmp - Update config files. The kselftests-kmp fails to build on vanilla as no modules are present. We add the test_module just so that kselftests-kmp is never empty on any flavor. - commit 88d2cfb- Remove remaining RPi3 patches. The post-4.12 patches modify only devicetree and we don't use the devicetree from kernel. - commit c65306e- locking/rwsem-xadd: Fix missed wakeup due to reordering of load (bsc#1050549). - commit 16013be- Refresh metadata on rpi3 enablement patches. - commit 39ba7ab- CIFS: fix circular locking dependency (bsc#1064701). - commit 0d88f5f- blacklist.conf: We do not use the driver. It is not even compiled. - commit 81c882d- blacklist.conf: We do not use the driver. It is not even compiled. - commit 363694d- blacklist.conf: We do not use the driver. It is not even compiled. - commit c1f6612- blacklist.conf: We do not use the driver. It is not even compiled. - commit 48d23a2- blacklist.conf: We do not use the driver. It is not even compiled. - commit 865ea84- blacklist.conf: We do not use the driver. It is not even compiled. - commit 5da7287- blacklist.conf: We do not use the driver. It is not even compiled. - commit 87aae5f- blacklist.conf: We do not use the driver. It is not even compiled. - commit 5d96e28- blacklist.conf: We do not use the driver. It is not even compiled. - commit 55132f5- blacklist.conf: We do not use the driver. It is not even compiled. - commit 75c2056- blacklist.conf: We do not use the driver. It is not even compiled. - commit 3eb65cd- blacklist.conf: We do noy use the driver. It is not even compiled. - commit 973ce20- blacklist.conf: We do not use the driver. It is not even compiled. - commit ae3cfa6- blacklist.conf: We do not use the driver. It is not even compiled. - commit cb9514c- blacklist.conf: We do not use the driver. It is not even compiled. - commit 93eb95b- blacklist.conf: We do not use thwe driver. It is not even compiled. - commit 1fc6071- blacklist.conf: We do not use the driver. It is not even compiled. - commit cc3ae21- blacklist.conf: We do not use the driver. It is not even compiled. - commit 7deff52- blacklist.conf: We do not use the driver. It is not even compiled. - commit 8db603c- blacklist.conf: We do not use the driver. It is not even compiled. - commit 5e82dac- blacklist.conf: We do not use the driver. It is not even compiled. - commit 17fddcc- blacklist.conf: We do not use the driver. It is not even compiled. - commit 5ec0458- blacklist.conf: We do not use the driver. It is not even compiled. - commit ded0aea- blacklist.conf: we do not use the driver. It is not even compiled. - commit d4a32ec- net/sched: cls_flower: Set egress_dev mark when calling into the HW driver (bsc#1056787). - commit 7276c25- vmbus: hvsock: add proper sync for vmbus_hvsock_device_unregister() (fate#323887). - commit b1aee9d- Refresh patches.suse/0001-ipc-sem-drop-sem_checkid-helper.patch. - Refresh patches.suse/0001-rbtree-cache-leftmost-node-internally.patch. - Refresh patches.suse/0002-ipc-sem-play-nicer-with-large-nsops-allocations.patch. - Refresh patches.suse/0002-rbtree-optimize-root-check-during-rebalancing-loop.patch. - Refresh patches.suse/0003-rbtree-add-some-additional-comments-for-rebalancing-.patch. - Refresh patches.suse/0008-sched-deadline-replace-earliest-dl-and-rq-leftmost-c.patch. - Refresh patches.suse/0009-locking-rtmutex-replace-top-waiter-and-pi_waiters-le.patch. - Refresh patches.suse/0010-block-cfq-replace-cfq_rb_root-leftmost-caching.patch. - Refresh patches.suse/0012-lib-interval-tree-correct-comment-wrt-generic-flavor.patch. - Refresh patches.suse/0013-procfs-use-faster-rb_first_cached.patch. - Refresh patches.suse/0014-fs-epoll-use-faster-rb_first_cached.patch. - Refresh patches.suse/0015-mem-memcg-cache-rightmost-node.patch. - Refresh patches.suse/0016-block-cfq-cache-rightmost-rb_node.patch. - Refresh patches.suse/0039-efi-Add-EFI_SECURE_BOOT-bit.patch. - Refresh patches.suse/0040-Add-the-ability-to-lock-down-access-to-the-running-k.patch. - Refresh patches.suse/0041-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch. - Refresh patches.suse/0042-Enforce-module-signatures-if-the-kernel-is-locked-do.patch. - Refresh patches.suse/0043-Restrict-dev-mem-and-dev-kmem-when-the-kernel-is-loc.patch. - Refresh patches.suse/0045-kexec-Disable-at-runtime-if-the-kernel-is-locked-dow.patch. - Refresh patches.suse/0046-Copy-secure_boot-flag-in-boot-params-across-kexec-re.patch. - Refresh patches.suse/0047-kexec_file-Disable-at-runtime-if-securelevel-has-bee.patch. - Refresh patches.suse/0048-hibernate-Disable-when-the-kernel-is-locked-down.patch. - Refresh patches.suse/0049-uswsusp-Disable-when-the-kernel-is-locked-down.patch. - Refresh patches.suse/0050-PCI-Lock-down-BAR-access-when-the-kernel-is-locked-d.patch. - Refresh patches.suse/0051-x86-Lock-down-IO-port-access-when-the-kernel-is-lock.patch. - Refresh patches.suse/0052-x86-Restrict-MSR-access-when-the-kernel-is-locked-do.patch. - Refresh patches.suse/0053-asus-wmi-Restrict-debugfs-interface-when-the-kernel-.patch. - Refresh patches.suse/0054-ACPI-Limit-access-to-custom_method-when-the-kernel-i.patch. - Refresh patches.suse/0055-acpi-Ignore-acpi_rsdp-kernel-param-when-the-kernel-h.patch. - Refresh patches.suse/0056-acpi-Disable-ACPI-table-override-if-the-kernel-is-lo.patch. - Refresh patches.suse/0057-acpi-Disable-APEI-error-injection-if-the-kernel-is-l.patch. These patches are tagged with Git-commit ids which are not actually found in the respective Git-repo. Udate the tags accordingly. - commit bad2721- packet: in packet_do_bind, test fanout with bind_lock held (CVE-2017-15649 bsc#1064388). - packet: hold bind lock when rebinding to fanout hook (CVE-2017-15649 bsc#1064388). - commit d09ce18- series.conf: refresh (just ran scripts/series_sort.py) - commit 1be1653- i40iw: Fix port number for query QP (bsc#1058659 FATE#322535). - i40iw: Add missing memory barriers (bsc#1058659 FATE#322535). - IB/hfi1: On error, fix use after free during user context setup (bsc#1060463 FATE#323043). - Revert "IB/ipoib: Update broadcast object if PKey value was changed in index 0" (bsc#1046307 FATE#322941). - IB/hfi1: Return correct value in general interrupt handler (bsc#1060463 FATE#323043). - IB/hfi1: Only reset QSFP after link up and turn off AOC TX (bsc#1060463 FATE#323043). - IB/hfi1: Turn off AOC TX after offline substates (bsc#1060463 FATE#323043). - IB/ipoib: Fix inconsistency with free_netdev and free_rdma_netdev (bsc#1046307 FATE#322941). - IB: Correct MR length field to be 64-bit (bsc#1046306 FATE#322942). - commit e86f670- drivers: net: xgene: Remove return statement from void function (bsc#1064426). - drivers: net: xgene: Configure tx/rx delay for ACPI (bsc#1064426). - drivers: net: xgene: Read tx/rx delay for ACPI (bsc#1064426). - drivers: net: xgene: Correct probe sequence handling (bsc#1064426). - xgene: Always get clk source, but ignore if it's missing for SGMII ports (bsc#1048501). - xgene: Don't fail probe, if there is no clk resource for SGMII interfaces (bsc#1048501). - commit 5124b20- Refresh metadata on ibmvnic patches. - commit 2625b9d- Blacklist unsupported architectures. - commit e2b7413- Update config files. - commit 7e76d8c- x86/hyperv: Fix hypercalls with extended CPU ranges for TLB flushing (fate#323887). - x86/hyperv: Don't use percpu areas for pcpu_flush/pcpu_flush_ex structures (fate#323887). - x86/hyperv: Clear vCPU banks between calls to avoid flushing unneeded vCPUs (fate#323887). - Drivers: hv: vmbus: Fix bugs in rescind handling (fate#323887). - Drivers: hv: fcopy: restore correct transfer length (fate#323887). - vmbus: don't acquire the mutex in vmbus_hvsock_device_unregister() (fate#323887). - hv_netvsc: fix send buffer failure on MTU change (fate#323887). - netvsc: increase default receive buffer size (fate#323887). - x86/hyper-v: Remove duplicated HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED definition (fate#323887). - hv_netvsc: avoid unnecessary wakeups on subchannel creation (fate#323887). - hv_netvsc: fix deadlock on hotplug (fate#323887). - hv_netvsc: Fix the channel limit in netvsc_set_rxfh() (fate#323887). - hv_netvsc: Simplify the limit check in netvsc_set_channels() (fate#323887). - hv_netvsc: Simplify num_chn checking in rndis_filter_device_add() (fate#323887). - hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param() (fate#323887). - netvsc: allow driver to be removed even if VF is present (fate#323887). - netvsc: cleanup datapath switch (fate#323887). - tracing/hyper-v: Trace hyperv_mmu_flush_tlb_others() (fate#323887). - x86/hyper-v: Support extended CPU ranges for TLB flush hypercalls (fate#323887). - scsi: storvsc: fix memory leak on ring buffer busy (fate#323887). - hv_netvsc: Fix rndis_filter_close error during netvsc_remove (fate#323887). - hv_netvsc: Add ethtool handler to set and get UDP hash levels (fate#323887). - hv_netvsc: Clean up unused parameter from netvsc_get_rss_hash_opts() (fate#323887). - hv_netvsc: Clean up unused parameter from netvsc_get_hash() (fate#323887). - vmbus: remove unused vmbus_sendpacket_ctl (fate#323887). - vmbus: remove unused vmubs_sendpacket_pagebuffer_ctl (fate#323887). - vmbus: remove unused vmbus_sendpacket_multipagebuffer (fate#323887). - Drivers: hv: vmbus: Fix rescind handling issues (fate#323887). - Tools: hv: update buffer handling in hv_fcopy_daemon (fate#323887). - Tools: hv: fix snprintf warning in kvp_daemon (fate#323887). - Drivers: hv: kvp: Use MAX_ADAPTER_ID_SIZE for translating adapter id (fate#323887). - Drivers: hv: balloon: Initialize last_post_time on startup (fate#323887). - Drivers: hv: balloon: Show the max dynamic memory assigned (fate#323887). - Drivers: hv: balloon: Correctly update onlined page count (fate#323887). - Tools: hv: vss: Skip freezing filesystems backed by loop (fate#323887). - netvsc: keep track of some non-fatal overload conditions (fate#323887). - netvsc: allow controlling send/recv buffer size (fate#323887). - netvsc: remove unnecessary check for NULL hdr (fate#323887). - netvsc: remove unnecessary cast of void pointer (fate#323887). - netvsc: whitespace cleanup (fate#323887). - netvsc: no need to allocate send/receive on numa node (fate#323887). - netvsc: check error return when restoring channels and mtu (fate#323887). - netvsc: propagate MAC address change to VF slave (fate#323887). - netvsc: don't signal host twice if empty (fate#323887). - netvsc: delay setup of VF device (fate#323887). - x86/hyper-v: Use hypercall for remote TLB flush (fate#323887). - hyper-v: Globalize vp_index (fate#323887). - x86/hyper-v: Implement rep hypercalls (fate#323887). - hyper-v: Use fast hypercall for HVCALL_SIGNAL_EVENT (fate#323887). - x86/hyper-v: Introduce fast hypercall implementation (fate#323887). - x86/hyper-v: Make hv_do_hypercall() inline (fate#323887). - x86/hyper-v: Include hyperv/ only when CONFIG_HYPERV is set (fate#323887). - netvsc: fix race on sub channel creation (fate#323887). - PCI: hv: Do not sleep in compose_msi_msg() (fate#323887). - netvsc: remove bonding setup script (fate#323887). - netvsc: Initialize 64-bit stats seqcount (fate#323887). - Revert "x86/hyper-v: include hyperv/ only when CONFIG_HYPERV is set" (fate#323887). - x86/hyper-v: stash the max number of virtual/logical processor (fate#323887). - x86/hyper-v: include hyperv/ only when CONFIG_HYPERV is set (fate#323887). - vmbus: add prefetch to ring buffer iterator (fate#323887). - vmbus: more host signalling avoidance (fate#323887). - vmbus: eliminate duplicate cached index (fate#323887). - vmbus: refactor hv_signal_on_read (fate#323887). - vmbus: drop unused ring_buffer_info elements (fate#323887). - vmbus: simplify hv_ringbuffer_read (fate#323887). - tools: hv: ignore a NIC if it has been configured (fate#323887). - commit 6f087bf- scsi: pm80xx: corrected linkrate value (FATE#322890, bsc#1049518). - scsi: pm80xx: panic on ncq error cleaning up the read log (FATE#322890, bsc#1049518). - scsi: pm80xx: corrected SATA abort handling sequence (FATE#322890, bsc#1049518). - scsi: pm80xx: modified port reset timer value for PM8006 card (FATE#322890, bsc#1049518). - scsi: pm80xx: cleanup in pm8001_abort_task function (FATE#322890, bsc#1049518). - scsi: pm80xx: tag allocation for phy control request (FATE#322890, bsc#1049518). - scsi: pm80xx: Different SAS addresses for phys (FATE#322890, bsc#1049518). - scsi: pm80xx: ILA and inactive firmware version through sysfs (FATE#322890, bsc#1049518). - scsi: pm80xx: redefine sas_identify_frame structure (FATE#322890, bsc#1049518). - scsi: pm8001: fix double free in pm8001_pci_probe (FATE#322890, bsc#1049518). - commit e741c37- mm, page_alloc: simplify list handling in rmqueue_bulk() (bsc#1060256). - commit 14e8830- mm, pagevec: rename pagevec drained field (bsc#1060256). - commit ec03f35- series.conf: reorder to reflect upstream merges - Refresh patches.drivers/scsi-qla2xxx-Allow-MBC_GET_PORT_DATABASE-to-query-an.patch. - Refresh patches.drivers/scsi-qla2xxx-Changes-to-support-N2N-logins.patch. - Refresh patches.drivers/scsi-qla2xxx-don-t-break-the-bsg-lib-abstractions.patch. - commit 7f799ea- scsi: be2iscsi: Fix boot flags in sysfs (bsc#1050253). - scsi: be2iscsi: Fix return value in mgmt_open_connection (bsc#1050253). - scsi: be2iscsi: Free msi_name and disable HW intr (bsc#1050253). - scsi: be2iscsi: Fix _modify_eq_delay buffer overflow (bsc#1050253). - scsi: be2iscsi: Fix _get_initname buffer overflow (bsc#1050253). - scsi: be2iscsi: Modify IOCTL to fetch user configured IQN (bsc#1050253). - scsi: be2iscsi: Add cmd to set host data (bsc#1050253). - scsi: be2iscsi: Fix misc static analysis errors (bsc#1050253). - scsi: be2iscsi: Remove A-circumflex character in copyright marking (bsc#1050253). - scsi: be2iscsi: Update driver version (bsc#1050253). - commit c2fd5a6- blacklist.conf: add test_kmod blacklist CONFIG_TEST_KMOD=n is currently set. When and if we enable it then we will need it, otherwise we don't. - commit 4ceac95- mm: remove __GFP_COLD (bsc#1060256). - Refresh patches.drivers/net-ena-add-support-for-out-of-order-rx-buffers-refi.patch. - Refresh patches.drivers/net-mlx4_en-Improve-receive-data-path.patch. - mm: remove cold parameter from free_hot_cold_page* (bsc#1060256). - mm: remove cold parameter for release_pages (bsc#1060256). - mm, pagevec: remove cold parameter for pagevecs (bsc#1060256). - mm: only drain per-cpu pagevecs once per pagevec usage (bsc#1060256). - mm, truncate: remove all exceptional entries from pagevec under one lock (bsc#1060256). - mm, truncate: do not check mapping for every page being truncated (bsc#1060256). - mm, page_alloc: enable/disable IRQs once when freeing a list of pages (bsc#1060256). - commit af4a6ea- Enable CONFIG_DRM_VC4 again for arm64 with dependencies (bsc#1060104) - commit ca643c4- Bluetooth: Add support for Intel Bluetooth device 9460/9560 [8087:0aaa] (bsc#1064235). - commit a7785ae- mm: Batch radix tree operations when truncating pages (bsc#1060256). - mm: Factor out checks and accounting from __delete_from_page_cache() (bsc#1060256). - mm: Move clearing of page->mapping to page_cache_tree_delete() (bsc#1060256). - mm: Move accounting updates before page_cache_tree_delete() (bsc#1060256). - mm: Factor out page cache page freeing into a separate function (bsc#1060256). - mm: Refactor truncate_complete_page() (bsc#1060256). - mm: Speedup cancel_dirty_page() for clean pages (bsc#1060256). - mm: hugetlb: return immediately for hugetlb page in __delete_from_page_cache() (bsc#1060256). - commit b25574b- efi: Add an EFI signature blob parser (fate#314508). - Update config files. - Delete patches.suse/0002-Add-an-EFI-signature-blob-parser-and-key-loader.patch. - commit 50111a7- modsign: Use secondary trust keyring for module signing (fate#314508). - commit f04a6b3- scripts/git_sort/git_sort.py: add David Howell's linux-fs.git - commit 0a669c1- MODSIGN: Allow the "db" UEFI variable to be suppressed (fate#314508). - Delete patches.suse/0005-MODSIGN-Support-not-importing-certs-from-db.patch. - commit fefd1b5- Update config files. - Update patches.suse/0004-MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch (fate#314508). - commit b7a5639- efi: Add EFI signature data types (fate#314508). - Delete patches.suse/0001-Add-EFI-signature-data-types.patch. - commit a22dd23- KEYS: Allow unrestricted boot-time addition of keys to secondary keyring (fate#314508). - commit 01ed74a- Delete patches.suse/0003-KEYS-Add-a-system-blacklist-keyring.patch. This patch already replaced by 734114f87 and 436529562 in v4.12 kernel. 734114f87 KEYS: Add a system blacklist keyring 436529562 X.509: Allow X.509 certs to be blacklisted - commit 9855c97- x86/mm: Disable various instrumentations of mm/mem_encrypt.c and mm/tlb.c (fate#322123). - commit bc2e6c5- mac80211: accept key reinstall without changing anything (CVE-2017-13080 bsc#1063667). - commit 33c9018- mm, page_owner: skip unnecessary stack_trace entries (VM Functionality, bsc#1063512). - commit 019f21f- supported.conf: enable dw_mmc-rockchip driver References: bsc#1064064 - commit 33b440c- ALSA: hda - Add model string for Intel reference board quirk (bsc#1064043). - ALSA: hda/realtek - Enable jack detection function for Intel ALC700 (bsc#1064043). - commit 0c8702a- x86/mm: Use pr_cont() in dump_pagetable() (bsc#1064024). - commit 379bbd8- ALSA: hda: Abort capability probe at invalid register read (bsc#1064017). - commit d9d62b1- Add the ability to lock down access to the running kernel image (fate#314486). - Update config files. - Delete patches.suse/0001-Add-BSD-style-securelevel-support.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit f7f8bf3- xfs: handle error if xfs_btree_get_bufs fails (bsc#1059863). - commit 2689e7f- scripts/git_sort/git_sort.py: add Michal Petersen's SCSI tree - commit 42c245c- scsi: qla2xxx: don't break the bsg-lib abstractions (FATE#322910). - scsi: qla2xxx: Query FC4 type during RSCN processing (FATE#322910). - scsi: qla2xxx: Use ql2xnvmeenable to enable Q-Pair for FC-NVMe (FATE#322910). - scsi: qla2xxx: Update driver version to 10.00.00.02-k (FATE#322910). - scsi: qla2xxx: Changes to support N2N logins (FATE#322910). - scsi: qla2xxx: Allow MBC_GET_PORT_DATABASE to query and save the port states (FATE#322910). - scsi: qla2xxx: Add ATIO-Q processing for INTx mode (FATE#322910). - scsi: qla2xxx: Reinstate module parameter ql2xenablemsix (FATE#322910). - scsi: qla2xxx: Cocci spatch "pool_zalloc-simple" (FATE#322910). - scsi: qla2xxx: Reset the logo flag, after target re-login (FATE#322910). - scsi: qla2xxx: Fix slow mem alloc behind lock (FATE#322910). - scsi: qla2xxx: Clear fc4f_nvme flag (FATE#322910). - scsi: qla2xxx: Handle PCIe error for driver (FATE#322910). - commit 641d8fb- ipv4: Fix traffic triggered IPsec connections (bsc#1061739). - ipv6: Fix traffic triggered IPsec connections (bsc#1061739). - net: prevent dst uses after free (bsc#1061739). - ipv4: Don't override return code from ip_route_input_noref() (bsc#1061739). - net: xfrm: don't double-hold dst when sk_policy in use (bsc#1061739). - ipv6: release rt6->rt6i_idev properly during ifdown (bsc#1061739). - commit 173c05a- tcp: tcp_data_queue() cleanup (bsc#1061739). - tcp: remove unused mib counters (bsc#1061739). - tcp: remove low_latency sysctl (bsc#1061739). - tcp: reindent two spots after prequeue removal (bsc#1061739). - tcp: remove prequeue support (bsc#1061739). - tcp: better validation of received ack sequences (bsc#1061739). - commit 6c0fdbb- net: add debug atomic_inc_not_zero() in dst_hold() (bsc#1061739). - net: reorder all the dst flags (bsc#1061739). - net: remove DST_NOCACHE flag (bsc#1061739). - net: remove DST_NOGC flag (bsc#1061739). - net: remove dst gc related code (bsc#1061739). - decnet: take dst->__refcnt when struct dn_route is created (bsc#1061739). - xfrm: take refcnt of dst when creating struct xfrm_dst bundle (bsc#1061739). - ipv6: get rid of icmp6 dst garbage collector (bsc#1061739). - ipv6: mark DST_NOGC and remove the operation of dst_free() (bsc#1061739). - ipv6: call dst_hold_safe() properly (bsc#1061739). - ipv6: call dst_dev_put() properly (bsc#1061739). - ipv6: take dst->__refcnt for insertion into fib6 tree (bsc#1061739). - ipv4: mark DST_NOGC and remove the operation of dst_free() (bsc#1061739). - ipv4: call dst_hold_safe() properly (bsc#1061739). - ipv4: call dst_dev_put() properly (bsc#1061739). - ipv4: take dst->__refcnt when caching dst in fib (bsc#1061739). - net: introduce a new function dst_dev_put() (bsc#1061739). - net: introduce DST_NOGC in dst_release() to destroy dst based on refcnt (bsc#1061739). - net: use loopback dev when generating blackhole route (bsc#1061739). - udp: call dst_hold_safe() in udp_sk_rx_set_dst() (bsc#1061739). - ipv6: remove unnecessary dst_hold() in ip6_fragment() (bsc#1061739). - commit f97eac8- scsi: libfc: fix a deadlock in fc_rport_work (bsc#1063695). - fs/mpage.c: fix mpage_writepage() for pages with buffers (bsc#1050471). - commit d0711a1- scripts/git_sort/git_sort.py: add md.git tree - commit d2c30da- Delete patches.suse/0001-Remove-BSD-style-securelevel-sysfs-file.patch. David Howells's lock down patch set doesn't provide sysfs interface anymore. - commit 7180bdf- acpi: Disable APEI error injection if the kernel is locked down (fate#314486). - Delete patches.suse/acpi_Disable_APEI_error_injection_if_securelevel_is_set.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 69a1c63- acpi: Disable ACPI table override if the kernel is locked down (fate#314486). - Delete patches.suse/acpi-Disable_ACPI_table_override_when_UEFI_Secure_Boot_is.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 6ef9921- acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down (fate#314486). - Delete patches.suse/0007-acpi-Ignore-acpi_rsdp-kernel-parameter-when-securele.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 10e6554- ACPI: Limit access to custom_method when the kernel is locked down (fate#314486). - Delete patches.suse/0006-acpi-Limit-access-to-custom_method-if-securelevel-is.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 62d1f7d- asus-wmi: Restrict debugfs interface when the kernel is locked down (fate#314486). - Delete patches.suse/0011-asus-wmi-Restrict-debugfs-interface-when-securelevel.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit e2ab47b- x86: Restrict MSR access when the kernel is locked down (fate#314486). - Delete patches.suse/0010-x86-Restrict-MSR-access-when-securelevel-is-set.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 3909643- x86: Lock down IO port access when the kernel is locked down (fate#314486). - Delete patches.suse/0004-x86-Lock-down-IO-port-access-when-securelevel-is-ena.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 1762c3f- PCI: Lock down BAR access when the kernel is locked down (fate#314486). - Delete patches.suse/0003-PCI-Lock-down-BAR-access-when-securelevel-is-enabled.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 9fdfbff- uswsusp: Disable when the kernel is locked down (fate#314486). - Delete patches.suse/0009-uswsusp-Disable-when-securelevel-is-set.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit a084ec6- hibernate: Disable when the kernel is locked down (fate#314486). - Delete patches.suse/0014-hibernate-Disable-when-securelevel-is-set.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 33abf1b- Copy secure_boot flag in boot params across kexec reboot (fate#314486). - Delete patches.suse/0015-kexec-uefi-copy-secure_boot-flag-in-boot-params-acro.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 8f6bfe2- kexec: Disable at runtime if the kernel is locked down (fate#314486). - kexec_file: Disable at runtime if securelevel has been set (fate#314486). - Delete patches.suse/0008-kexec-Disable-at-runtime-if-securelevel-has-been-set.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 3ec1db3- Restrict /dev/mem and /dev/kmem when the kernel is locked down (fate#314486). - Delete patches.suse/0005-Restrict-dev-mem-and-dev-kmem-when-securelevel-is-se.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 9d8716c- Enforce module signatures if the kernel is locked down (fate#314486). - Delete patches.suse/0001-Enforce-module-signatures-when-securelevel-is-greate.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit 96ad4fa- efi: Lock down the kernel if booted in secure boot mode (fate#314486). - Update config files. - Delete patches.suse/0012-Add-option-to-automatically-set-securelevel-when-in-.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit c339fd5- efi: Add EFI_SECURE_BOOT bit (fate#314486). - Delete patches.suse/0014-efi-Add-EFI_SECURE_BOOT-bit.patch. Replaced by the patch in David Howells's linux-fs git repo. - commit aff4b1b- Refresh patch order in sorted section - commit a59e716- EDAC, pnd2: Return proper error value from apl_rd_reg() (bsc#1056989). - EDAC, pnd2: Make function sbi_send() static (bsc#1056989). - EDAC, pnd2: Fix Apollo Lake DIMM detection (bsc#1056989). - i2c: i801: Restore the presence state of P2SB PCI device after reading BAR (bsc#1056989). - EDAC, pnd2: Build in a minimal sideband driver for Apollo Lake (bsc#1056989). - EDAC, pnd2: Mask off the lower four bits of a BAR (bsc#1056989). - EDAC, pnd2: Conditionally unhide/hide the P2SB PCI device to read BAR (bsc#1056989). - EDAC, pnd2: Properly toggle hidden state for P2SB PCI device (bsc#1056989). - Refresh patches.drivers/07-edac-add-owner-check-to-the-x86-platform-drivers.patch. - commit 9dd1f7f- iwlwifi: mvm: disable dbg data collect when fw isn't alive (FATE#322675). - iwlwifi: mvm: flush per station for DQA mode (FATE#322675). - iwlwifi: mvm: support getting nvm data from firmware (FATE#322675). - iwlwifi: refactor out paging code (FATE#322675). - iwlwifi: mvm: support old method of NVM parsing (FATE#322675). - iwlwifi: refactor shared mem parsing (FATE#322675). - iwlwifi: mvm: fix endianness in lq_cmd declaration (FATE#322675). - iwlwifi: track current firmware image in common code (FATE#322675). - iwlwifi: mvm: document which group enums are used with which group ID (FATE#322675). - iwlwifi: refactor firmware debug code (FATE#322675). - iwlwifi: mvm: use proper sta_addr in firmware API (FATE#322675). - iwlwifi: reorganize firmware API (FATE#322675). - iwlwifi: fw api: fix various kernel-doc warnings (FATE#322675). - iwlwifi: mvm: fix MCC endianness bug (FATE#322675). - iwlwifi: mvm: add and use iwl_mvm_has_unified_ucode() (FATE#322675). - iwlwifi: mvm: use u8 for reserved fields (FATE#322675). - iwlwifi: mvm: check family instead of new TX API for workarounds (FATE#322675). - iwlwifi: mvm: disentangle paging command structs (FATE#322675). - iwlwifi: mvm: add documentation to some WoWLAN commands (FATE#322675). - iwlwifi: mvm: byte-swap constant instead of variable (FATE#322675). - iwlwifi: dvm: remove unused defines (FATE#322675). - iwlwifi: mvm: wait for the flushed queue only (FATE#322675). - iwlwifi: mvm: fix some kernel-doc (FATE#322675). - iwlwifi: mvm: refactor beacon template command code (FATE#322675). - iwlwifi: mvm: add documentation links to various fields (FATE#322675). - iwlwifi: mvm: fix the FIFO numbers in A000 devices (FATE#322675). - iwlwifi: mvm: fix uninitialized var while waiting for queues to empty (FATE#322675). - iwlwifi: update device ID for a000 family (FATE#322675). - iwlwifi: mvm: disentangle binding command versions (FATE#322675). - iwlwifi: pcie: fix A-MSDU on gen2 devices (FATE#322675). - iwlwifi: mvm: create/name various enums (FATE#322675). - iwlwifi: mvm: support fw reading empty OTP (FATE#322675). - iwlwifi: implement fseq version mismatch warning (FATE#322675). - iwlwifi: mvm: document structures used by commands (FATE#322675). - iwlwifi: mvm: add compile-time option to disable EBS (FATE#322675). - iwlwifi: mvm: remove wrt support of page dumps in gen2 (FATE#322675). - iwlwifi: pcie: rename iwl_trans_check_hw_rf_kill() to pcie (FATE#322675). - iwlwifi: pcie: support page dumping in wrt in gen2 (FATE#322675). - iwlwifi: Add fw_name_pre_rf_next_step to support different rf steps (FATE#322675). - iwlwifi: mvm: require AP_LINK_PS for TVQM (FATE#322675). - iwlwifi: mvm: remove unused TX_CMD_NEXT_FRAME_* (FATE#322675). - iwlwifi: mvm: simplify bufferable MMPDU check (FATE#322675). - iwlwifi: kernel-doc: make proper links (FATE#322675). - iwlwifi: mvm: rename p2p-specific sta functions to include p2p in the names (FATE#322675). - iwlwifi: mvm: fix many kernel-doc warnings (FATE#322675). - iwlwifi: mvm: remove non-DQA mode (FATE#322675). - iwlwifi: add wait for tx queue empty (FATE#322675). - iwlwifi: mvm: don't retake the pointer to skb's CB (FATE#322675). - iwlwifi: mvm: add AMSDU flag to offload assist (FATE#322675). - iwlwifi: mvm: remove useless condition in LED code (FATE#322675). - iwlwifi: mvm: document RX structures (FATE#322675). - iwlwifi: mvm: use firmware LED command where applicable (FATE#322675). - iwlwifi: mvm: add const to thermal_cooling_device_ops structure (FATE#322675). - iwlwifi: pcie: add AMSDU to gen2 (FATE#322675). - iwlwifi: cleanup references to 8000 family in NVM code (FATE#322675). - iwlwifi: mvm: add debugfs to force CT-kill (FATE#322675). - iwlwifi: change functions that can only return 0 to void (FATE#322675). - iwlwifi: remove references to 8000 B-step devices (FATE#322675). - iwlwifi: add dbgc_supported to transport configuration (FATE#322675). - iwlwifi: fix a few instances of misaligned kerneldoc parameters (FATE#322675). - iwlwifi: add support of FPGA fw (FATE#322675). - iwlwifi: mvm: add TLV for NAN API differentiation (FATE#322675). - iwlwifi: fix a000 RF_ID define (FATE#322675). - iwlwifi: mvm: support init flow debugging (FATE#322675). - iwlwifi: add 9000 and A000 device families (FATE#322675). - iwlwifi: dump smem configuration when firmware crashes (FATE#322675). - iwlwifi: mvm: move a000 device NVM retrieval to a common place (FATE#322675). - iwlwifi: pcie: support dumping FH in a000 hw (FATE#322675). - iwlwifi: mvm: disable prph collection in a000 hw (FATE#322675). - iwlwifi: mvm: set the default cTDP budget (FATE#322675). - iwlwifi: mvm: add and use iwl_mvm_device_running() (FATE#322675). - iwlwifi: mvm: support new beacon template command (FATE#322675). - iwlwifi: mvm: check firmware is up in debugfs (FATE#322675). - iwlwifi: mvm: don't send CTDP commands via debugfs if not supported (FATE#322675). - iwlwifi: mvm: add station before allocating a queue (FATE#322675). - iwlwifi: mvm: use schedule_delayed_work() (FATE#322675). - iwlwifi: mvm: convert ucode_loaded to a status bit (FATE#322675). - iwlwifi: pcie: don't init a Tx queue with an SSN > size of the queue (FATE#322675). - iwlwifi: fix nmi triggering from host (FATE#322675). - iwlwifi: mvm: clear firmware running bit earlier (FATE#322675). - iwlwifi: fix a kernel-doc tag (FATE#322675). - iwlwifi: remove references to unsupported HW (FATE#322675). - iwlwifi: pcie: free the TSO page when a Tx queue is unmapped on A000 devices (FATE#322675). - iwlwifi: split firmware API from iwl-trans.h (FATE#322675). - iwlwifi: mvm: fix the coex firmware API (FATE#322675). - iwlwifi: mvm: link queue cmd docs to A000 command structs (FATE#322675). - iwlwifi: mvm: document structures used for BEACON_TEMPLATE_CMD (FATE#322675). - iwlwifi: mvm: remove the corunning support (FATE#322675). - iwlwifi: mvm: consider RFKILL during INIT as success (FATE#322675). - iwlwifi: mvm: link to TX commands in documentation (FATE#322675). - iwlwifi: call iwl_remove_notification from iwl_wait_notification (FATE#322675). - iwlwifi: mvm: remove SCAN_GROUP (FATE#322675). - iwlwifi: fw-api: cleanup cycle includes (FATE#322675). - iwlwifi: mvm: support new Coex firmware API (FATE#322675). - iwlwifi: pcie: support short Tx queues for A000 device family (FATE#322675). - iwlwifi: remove unnecessary code in iwl_trans_alloc_tx_cmd (FATE#322675). - commit 833689044e13a3fb8c6c03ad868375670d97010b Merge: 63a2f310d040 0ae0bb3f409d Author: Kalle Valo Date: Mon Jun 12 19:29:39 2017 +0300 (FATE#322675). - iwlwifi: mvm: add command name for FRAME_RELEASE (FATE#322675). - iwlwifi: mvm: group all dummy SAR function declarations together (FATE#322675). - iwlwifi: mvm: remove txq EMPTYING_DELBA state for DQA (FATE#322675). - iwlwifi: mvm: use mvmsta consistently in rs.c (FATE#322675). - iwlwifi: remove resp_pkt NULL checks (FATE#322675). - iwlwifi: mvm: Enable security on new TX API (FATE#322675). - iwlwifi: mvm: update the firmware API in TX (FATE#322675). - iwlwifi: mvm: avoid unnecessary cache trashing in Tx path (FATE#322675). - iwlwifi: mvm: remove session protection to allow channel switch (FATE#322675). - iwlwifi: mvm: don't send BAR on flushed frames (FATE#322675). - iwlwifi: mvm: remove pointless num_stored condition (FATE#322675). - iwlwifi: move BT_MBOX_PRINT macro to common header (FATE#322675). - iwlwifi: mvm: avoid variable shadowing (FATE#322675). - iwlwifi: Demote messages about fw flags size to info (FATE#322675). - iwlwifi: mvm: use scnprintf() instead of snprintf() (FATE#322675). - iwlwifi: mvm: Fix channel switch in case of count <= 1 (FATE#322675). - iwlwifi: use bitfield.h for some registers (FATE#322675). - iwlwifi: distinguish different RF modules in A000 devices (FATE#322675). - iwlwifi: mvm: track and report IBSS manager status to mac80211 (FATE#322675). - iwlwifi: mvm: make D0I3_END_CMD sync during system resume (FATE#322675). - iwlwifi: update channel flags parser (FATE#322675). - iwlwifi: mvm: change open and close criteria of a BA session (FATE#322675). - iwlwifi: mvm: support D0I3_END_CMD at the start of resume (FATE#322675). - iwlwifi: add workaround to disable wide channels in 5GHz (FATE#322675). - iwlwifi: mvm: make iwl_mvm_update_mcc() easier to follow (FATE#322675). - iwlwifi: fw: fix lar_enabled endian problem in iwl_fw_get_nvm (FATE#322675). - iwlwifi: mvm: rs: add logs for the wrong antenna case (FATE#322675). - iwlwifi: mvm: remove useless argument in iwl_nvm_init() (FATE#322675). - iwlwifi: pcie: pull out common rfkill IRQ handling code (FATE#322675). - iwlwifi: mvm: remove useless check for mvm->cfg in iwl_parse_nvm_section() (FATE#322675). - iwlwifi: pcie: add fake RF-kill to debugfs (FATE#322675). - iwlwifi: mvm: don't warn in queue sync on RF-kill (FATE#322675). - iwlwifi: use big-endian for the hw section of the nvm (FATE#322675). - iwlwifi: mvm: Avoid deferring non bufferable frames (FATE#322675). - iwlwifi: pcie: don't report RF-kill enabled while shutting down (FATE#322675). - iwlwifi: mvm: bump API to 34 for 8000 and up (FATE#322675). - iwlwifi: pcie: remove pointless debugfs parsing for csr file (FATE#322675). - iwlwifi: mvm: document status bits (FATE#322675). - iwlwifi: mvm: only send LEDS_CMD when the FW supports it (FATE#322675). - iwlwifi: mvm: support aggregations on A000 HW (FATE#322675). - iwlwifi: pcie: use kstrtou32_from_user() (FATE#322675). - iwlwifi: mvm: better link scan notification results length (FATE#322675). - iwlwifi: mvm: docs: fix enum link, provide TX response link (FATE#322675). - iwlwifi: mvm: fix fw monitor 7000 HW recollecting (FATE#322675). - iwlwifi: mvm: disentangle union in TX status struct (FATE#322675). - iwlwifi: mvm: add documentation for enum iwl_debug_cmds (FATE#322675). - iwlwifi: document transmit buffer bits better (FATE#322675). - iwlwifi: remove useless iwl_free_nvm_data() function (FATE#322675). - iwlwifi: mvm: fix nvm_data leak (FATE#322675). - iwlwifi: pcie: don't disable bh when handling FW errors (FATE#322675). - iwlwifi: mvm: reset the HW before dumping if HW error is detected (FATE#322675). - iwlwifi: mvm: don't mark TIDs that are not idle wrt BA as inactive (FATE#322675). - iwlwifi: add a W/A for a scheduler hardware bug (FATE#322675). - iwlwifi: pcie: make iwl_pcie_apm_stop_master() return void (FATE#322675). - iwlwifi: mvm: set assoc_beacon_arrive_time (FATE#322675). - iwlwifi: mvm: support new flush API (FATE#322675). - iwlwifi: mvm: document assoc_beacon_arrive_time (FATE#322675). - iwlwifi: mvm: print base HW address during init (FATE#322675). - iwlwifi: pcie: reduce unwanted noise in the logs (FATE#322675). - iwlwifi: pcie: delete the Tx queue timer earlier upon firmware crash (FATE#322675). - iwlwifi: mvm: fix typo in CTDP_CMD_OPERATION_REPORT description (FATE#322675). - iwlwifi: pcie: work around suspend/resume issue (FATE#322675). - iwlwifi: mvm: support TX on MONITOR iface (FATE#322675). - iwlwifi: mvm: refactor geo init (FATE#322675). - iwlwifi: mvm: Add debugfs entry to retrieve SAR geographic profile (FATE#322675). - iwlwifi: mvm: remove some CamelCase from firmware API (FATE#322675). - iwlwifi: mvm: fix various "Excess ... description" kernel-doc warnings (FATE#322675). - iwlwifi: mvm: remove various unused command IDs/structs (FATE#322675). - iwlwifi: mvm: use __le16 even for reserved fields (FATE#322675). - iwlwifi: mvm: add documentation for all command IDs (FATE#322675). - iwlwifi: mvm: fix a bunch of kernel-doc warnings (FATE#322675). - iwlwifi: dvm: use macros for format strings (FATE#322675). - iwlwifi: pcie: only apply retention workaround on 9000-series A-step (FATE#322675). - iwlwifi: pcie: fix 9000-series RF-kill interrupt propagation (FATE#322675). - iwlwifi: mvm: simplify CHECK_MLME_TRIGGER macro (FATE#322675). - iwlwifi: add the new a000_2ax series (FATE#322675). - iwlwifi: add twelve new 9560 series PCI IDs (FATE#322675). - iwlwifi: mvm: use proper CDB check in PHY context modify (FATE#322675). - iwlwifi: pcie: improve "invalid queue" warning (FATE#322675). - iwlwifi: mvm: support aggs of 64 frames in A000 family (FATE#322675). - iwlwifi: pcie: improve debug in iwl_pcie_rx_handle_rb() (FATE#322675). - iwlwifi: mvm: change when the BT_COEX is sent (FATE#322675). - iwlwifi: mvm: support multi tid ba notif (FATE#322675). - iwlwifi: unify external & internal modparam names (FATE#322675). - iwlwifi: pcie: make ctxt-info free idempotent (FATE#322675). - iwlwifi: pcie: warn if paging is already initialized during init (FATE#322675). - iwlwifi: mvm: rename iwl_shared_mem_cfg_v1 to the correct _v2 (FATE#322675). - iwlwifi: create new subdirectory for FW interaction (FATE#322675). - iwlwifi: move notification wait into fw/ (FATE#322675). - iwlwifi: move configuration into sub-directory (FATE#322675). - iwlwifi: mvm: remove version 2 of paging command (FATE#322675). - iwlwifi: pcie: add MSI-X interrupt tracing (FATE#322675). - iwlwifi: mvm: properly enable IP header checksumming (FATE#322675). - iwlwifi: mvm: map cab_queue to real one earlier (FATE#322675). - iwlwifi: mvm: fix mac80211's hw_queue in DQA mode (FATE#322675). - iwlwifi: mvm: remove DQA non-STA client mode special case (FATE#322675). - iwlwifi: mvm: update rx statistics cmd api (FATE#322675). - iwlwifi: pcie: propagate iwl_pcie_apm_init's status (FATE#322675). - iwlwifi: pcie: wait longer after device reset (FATE#322675). - iwlwifi: bump MAX API for 8000/9000/A000 to 33 (FATE#322675). - iwlwifi: pcie: fix unused txq NULL pointer dereference (FATE#322675). - iwlwifi: mvm: defer setting IWL_MVM_STATUS_IN_HW_RESTART (FATE#322675). - iwlwifi: add TLV for MLME offload firmware capability (FATE#322675). - iwlwifi: split the regulatory rules when the bandwidth flags require it (FATE#322675). - iwlwifi: mvm: set A-MPDU bit upon empty BA notification from FW (FATE#322675). - iwlwifi: mvm: rs: fix TLC statistics collection (FATE#322675). - iwlwifi: fix fw_pre_next_step to apply also for C step (FATE#322675). - iwlwifi: add the new 9000 series PCI IDs (FATE#322675). - iwlwifi: mvm: Fix a memory leak in an error handling path in 'iwl_mvm_sar_get_wgds_table()' (FATE#322675). - iwlwifi: mvm: start mac queues when deferred tx frames are purged (FATE#322675). - iwlwifi: mvm: don't WARN when a legit race happens in A-MPDU (FATE#322675). - mac80211: add api to start ba session timer expired flow (FATE#322675). - iwlwifi: mvm: send delba upon rx ba session timeout (FATE#322675). - iwlwifi: pcie: move rx workqueue initialization to iwl_trans_pcie_alloc() (FATE#322675). - Refresh patches.drivers/iwlwifi-mvm-don-t-warn-in-queue-sync-on-RF-kill. - Refresh patches.drivers/iwlwifi-mvm-fix-a-NULL-pointer-dereference-of-error-. - Refresh patches.drivers/iwlwifi-mvm-fix-mac80211-queue-tracking. - Refresh patches.drivers/iwlwifi-mvm-quietly-accept-non-sta-disassoc-frames. - Refresh patches.drivers/iwlwifi-mvm-remove-DQA-non-STA-client-mode-special-c. - Refresh patches.drivers/iwlwifi-pcie-fix-TVQM-queue-ID-range-check. - Refresh patches.drivers/iwlwifi-pcie-fix-command-completion-name-debug. - Refresh patches.drivers/iwlwifi-pcie-reconfigure-MSI-X-HW-on-resume. - Refresh patches.suse/iwlwifi-expose-default-fallback-ucode-api. - Delete patches.drivers/iwlwifi-mvm-reset-the-fw_dump_desc-pointer-after-ASS. - commit 318dcaf- arm64: futex: Fix undefined behaviour with FUTEX_OP_OPARG_SHIFT usage (bnc#1005915). - commit f68b002- futex: Remove duplicated code and fix undefined behaviour (bnc#1005915). - commit 3ab315a- mm: page_vma_mapped: ensure pmd is loaded with READ_ONCE outside of lock (bnc#1063517). - commit f9d9f6b- mm: meminit: mark init_reserved_page as __meminit (bnc#1063509). - commit f1081d0- mm/memory_hotplug: define find_{smallest|biggest}_section_pfn as unsigned long (bnc#1063520). - commit 5a4bbdf- blacklist.conf: blacklist pure doc update - commit 44bb57c- mm/memory_hotplug: change pfn_to_section_nr/section_nr_to_pfn macro to inline function (bnc#1063501). - commit 093a972- mm/backing-dev.c: fix an error handling path in 'cgwb_create()' (bnc#1063475). - commit 5def433- Refresh patches.suse/mm-mempolicy-fix-numa_interleave_hit-counter.patch. - commit 6574465- Revert "rpm/constraints.in: Lower default disk space requirement from 25G to 24G" This reverts commit 406abda1467c038842febffe264faae1fa2e3c1d. ok, did not wait long enough to see the failure. - commit ed99981- rpm/constraints.in: Lower default disk space requirement from 25G to 24G 25G is rejected by the build service on ARM. - commit 406abda- Add marker for the end of the sorted section. - commit 5add254- Delete patches.suse/0001-MODSIGN-Support-the-old-style-signature-format.patch. SLE15 kernel only suppports PKCS#7 signature for module. - commit 8f5ab3d- Delete patches.fixes/0001-X.509-Fix-test-for-self-signed-certificate.patch. This patches did not accept by kernel mainline but David Howells's 6c2dc5ae4 patch in v4.7-rc1 has similar logic to fix issue. - commit 6fa04b9- Delete patches.drivers/0001-acpi-nfit-treat-virtual-spa-region-as-r-v4.patch. This patch was merged in v4.8-rc1 on upstream. - commit b8a49c5- Refresh patches.suse/0003-Add-external-no-support-as-bad-taint-module.patch. - commit 5af8e7d- md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list (fate#323095). - md: notify about new spare disk in the container (fate#323095). - md: Runtime support for multiple ppls (fate#323095). - raid5-ppl: Recovery support for multiple partial parity logs (fate#323095). - raid5-ppl: don't resync after rebuild (fate#323095). - raid5-ppl: check recovery_offset when performing ppl recovery (fate#323095). - commit cf8b210- series.conf: drop already merged printk patch from patches marked for review - commit 48eb86a- printk/console: Enhance the check for consoles using init memory (bsc#1063026). - printk/console: Always disable boot consoles that use init memory before it is freed (bsc#1063026). - commit 39bffbf- Refresh and enable patches.suse/printk-console-Correctly-mark-console-that-is-used-w.patch printk/console: Correctly mark console that is used when opening /dev/console (bsc#1040020). - commit 1f1f97c- Refresh vanilla config. - commit de6c979- ibmvnic: Set state UP (bsc#1062962). - commit d037007- scsi: mpt3sas: Bump mpt3sas driver version to v16.100.00.00 (bsc#1049527,FATE#322938). - scsi: mpt3sas: Adding support for SAS3616 HBA device (bsc#1049527,FATE#322938). - scsi: mpt3sas: Fix possibility of using invalid Enclosure Handle for SAS device after host reset (bsc#1049527,FATE#322938). - scsi: mpt3sas: Display chassis slot information of the drive (bsc#1049527,FATE#322938). - scsi: mpt3sas: Updated MPI headers to v2.00.48 (bsc#1049527,FATE#322938). - scsi: mpt3sas: Fix IO error occurs on pulling out a drive from RAID1 volume created on two SATA drive (bsc#1049527,FATE#322938). - scsi: mpt3sas: Fix removal and addition of vSES device during host reset (bsc#1049527,FATE#322938). - scsi: mpt3sas: Reduce memory footprint in kdump kernel (bsc#1049527,FATE#322938). - scsi: mpt3sas: Fixed memory leaks in driver (bsc#1049527,FATE#322938). - scsi: mpt3sas: Processing of Cable Exception events (bsc#1049527,FATE#322938). - scsi: mpt3sas: remove redundant copy_from_user in _ctl_getiocinfo (bsc#1049527,FATE#322938). - scsi: mpt3sas: fix pr_info message continuation (bsc#1049527,FATE#322938). - commit 51e999e- fs: fix kernel_write prototype (fate#323946). - tcmu: free old string on reconfig (fate#323946). - tcmu: Fix possible to/from address overflow when doing the memcpy (fate#323946). - tcmu: clean up the code and with one small fix (fate#323946). - target: export lio pgr/alua support as device attr (fate#323946). - target: Fix return sense reason in target_scsi3_emulate_pr_out (fate#323946). - target: Fix cmd size for PR-OUT in passthrough_parse_cdb (fate#323946). - tcmu: Fix dev_config_store (fate#323946). - target: pscsi: Introduce TYPE_ZBC support (fate#323946). - target: Use macro for WRITE_VERIFY_32 operation codes (fate#323946). - target: fix SAM_STAT_BUSY/TASK_SET_FULL handling (fate#323946). - target: remove transport_complete (fate#323946). - pscsi: finish cmd processing from pscsi_req_done (fate#323946). - tcmu: fix sense handling during completion (fate#323946). - target: add helper to copy sense to se_cmd buffer (fate#323946). - target: do not require a transport_complete for SCF_TRANSPORT_TASK_SENSE (fate#323946). - target: make device_mutex and device_list static (fate#323946). - tcmu: fix multiple uio open/close sequences (fate#323946). - tcmu: drop configured check in destroy (fate#323946). - target: remove g_device_list (fate#323946). - xcopy: loop over devices using idr helper (fate#323946). - target: add helper to iterate over devices (fate#323946). - tcmu: perfom device add, del and reconfig synchronously (fate#323946). - target: add helper to find se_device by dev_index (fate#323946). - target: use idr for se_device dev index (fate#323946). - target: break up free_device callback (fate#323946). - tcmu: reconfigure netlink attr changes (fate#323946). - tcmu: make array tcmu_attrib_attrs static const (fate#323946). - tcmu: Fix module removal due to stuck unmap_thread thread again (fate#323946). - tcmu: Add Type of reconfig into netlink (fate#323946). - tcmu: Make dev_config configurable (fate#323946). - tcmu: Make dev_size configurable via userspace (fate#323946). - tcmu: Add netlink for device reconfiguration (fate#323946). - tcmu: Support emulate_write_cache (fate#323946). - target/iscsi: Remove dead code from iscsit_process_scsi_cmd() (fate#323946). - target/iscsi: Simplify iscsit_free_cmd() (fate#323946). - target/iscsi: Remove second argument of __iscsit_free_cmd() (fate#323946). - target/tcm_loop: Make TMF processing slightly faster (fate#323946). - target/tcm_loop: Use target_submit_tmr() instead of open-coding this function (fate#323946). - target/tcm_loop: Replace a waitqueue and a counter by a completion (fate#323946). - target/tcm_loop: Merge struct tcm_loop_cmd and struct tcm_loop_tmr (fate#323946). - target: Introduce a function that shows the command state (fate#323946). - iscsi-target: Kill left-over iscsi_target_do_cleanup (fate#323946). - target: Fix a deadlock between the XCOPY code and iSCSI session shutdown (fate#323946). - target: Use {get,put}_unaligned_be*() instead of open coding these functions (fate#323946). - target: Fix transport_init_se_cmd() (fate#323946). - target: Remove se_device.dev_list (fate#323946). - target: Use symbolic value for WRITE_VERIFY_16 (fate#323946). - target: Add TARGET_SCF_LOOKUP_LUN_FROM_TAG support for ABORT_TASK (fate#323946). - target: Add support for TMR percpu reference counting (fate#323946). - target: reject COMPARE_AND_WRITE if emulate_caw is not set (fate#323946). - iscsi: ensure RNG is seeded before use (fate#323946). - random: add get_random_{bytes,u32,u64,int,long,once}_wait family (fate#323946). - random: add wait_for_random_bytes() API (fate#323946). - iscsi-target: Avoid holding ->tpg_state_lock during param update (fate#323946). - target/configfs: Kill se_lun->lun_link_magic (fate#323946). - target/configfs: Kill se_device->dev_link_magic (fate#323946). - target/iblock: Convert WRITE_SAME to blkdev_issue_zeroout (fate#323946). - target: remove dead code (fate#323946). - commit 7cc5b73- Update subsystem names They are now generated automatically from the remote url and branch name. - commit 3f61bda- Refresh patches.drivers/0008-Revert-commit-1a8b6d76dc5b-net-add-one-common-config.patch. - net: ixgbe: Use new PCI_DEV_FLAGS_NO_RELAXED_ORDERING flag (bsc#1056419). - commit 90521fa- scsi: sd: Do not override max_sectors_kb sysfs setting (bsc#1025461). - commit ddec827- Refresh patches.drivers/03-edac-ghes-remove-symbol-exports.patch. - Refresh patches.drivers/04-edac-ghes-model-a-single-logical-memory-controller.patch. - Refresh patches.drivers/05-edac-ghes-add-platform-check.patch. - Refresh patches.drivers/06-edac-add-helper-which-returns-the-loaded-platform-driver.patch. - Refresh patches.drivers/07-edac-add-owner-check-to-the-x86-platform-drivers.patch. - commit 25bfcf5- Fix patch ordering in "scsi for-next" section - commit fa6ad69- Update config files. (bsc#1049122) - Enabling module signature verification for PKCS#7 support. (bsc#1049122) - Enabling module signature verification on ARM64. - commit f366940- ACPI / blacklist: add acpi_match_platform_list() (bsc#1042420). - commit a2737a9- powerpc/64s: Use emergency stack for kernel TM Bad Thing program checks (CVE-2017-1000255 bsc#1061633). - commit bf589f7- ALSA: seq: Fix use-after-free at creating a port (CVE-2017-15265, bsc#1062520). - commit fd32f35- mtip32xx: quiesce request queues to make sure no submissions are inflight (FATE#322582). - commit 5051e53- sched/core: Address more wake_affine() regressions (bsc#1061593). - sched/core: Fix wake_affine() performance regression (bsc#1061593). - sched/fair: Fix wake_affine_llc() balancing rules (bsc#1061593). - sched/fair: Fix wake_affine() for !NUMA_BALANCING (bsc#1061593). - commit 2d3e2a7- config: drop obsolete network drivers (fate#323372) CONFIG_PCNET32 - AMD PCnet32 CONFIG_ATL2 - Atheros L2 CONFIG_NET_VENDOR_DEC - DEC Tulip family CONFIG_NE2K_PCI - PCI NE2000 and clones CONFIG_ATP - AT-LAN-TEC/Realtek pocket adapter CONFIG_SIS900 - SiS 900 CONFIG_EPIC100 - SMC EtherPower II CONFIG_HAPPYMEAL - Sun Happy Meal - commit 09e0cef- Refresh patches.drivers/i40e-add-private-flag-to-control-source-pruning.patch. - update upstream reference - move to net-next section - commit 0c27bbf- series.conf: restore repository names (just executed series_sort.py) - commit fcbee0f- Update patches.fixes/inetpeer-fix-RCU-lookup-again.patch upstream reference and move it to sorted section - commit fe35cb6- RDMA/iwpm: Properly mark end of NL messages (bsc#1046306 FATE#322942). - commit 8db3fd1- RDMA/qedr: Parse VLAN ID correctly and ignore the value of zero (bsc#1050545 FATE#322893). - RDMA/qedr: Parse vlan priority as sl (bsc#1050545 FATE#322893). - Refresh patches.drivers/RDMA-qedr-Rename-the-qedr_cm-file-as-a-preparation-f.patch. - commit 49c1725- cxl: Add support for POWER9 DD2 (bsc#1055014). - commit c6a99b3- Fix series.conf whitespace. - commit a7d3388- mm: memcontrol: fix NULL pointer crash in test_clear_page_writeback() (VM Functionality, bsc#1061849). - commit 0cd7f9e- IB/mlx5: Fix label order in error path handling (bsc#1046305 FATE#322943). - net/mlx5: Fix wrong indentation in enable SRIOV code (bsc#1046303 FATE#322944). - net/mlx5: Fix static checker warning on steering tracepoints code (bsc#1046303 FATE#322944). - net/mlx5e: Fix calculated checksum offloads counters (bsc#1046303 FATE#322944). - net/mlx5e: Don't add/remove 802.1ad rules when changing 802.1Q VLAN filter (bsc#1046303 FATE#322944). - net/mlx5e: Print netdev features correctly in error message (bsc#1046303 FATE#322944). - net/mlx5e: Check encap entry state when offloading tunneled flows (bsc#1046303 FATE#322944). - net/mlx5e: Disallow TC offloading of unsupported match/action combinations (bsc#1046303 FATE#322944). - net/mlx5e: Fix erroneous freeing of encap header buffer (bsc#1046303 FATE#322944). - net/mlx5: Check device capability for maximum flow counters (bsc#1046303 FATE#322944). - net/mlx5: Fix FPGA capability location (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Fix access to invalid memory address (bsc#1046303 FATE#322944). - IB/mlx5: Simplify mlx5_ib_cont_pages (bsc#1046305 FATE#322943). - commit 14b0a3d- Re-sorted sorted section - commit 1999b85- nvme: fix visibility of "uuid" ns attribute (FATE#323952, FATE#322506). - commit ca3cd08- Remove obsolete patches - Delete patches.fixes/ch-add-refcounting.patch. - Delete patches.fixes/ses-Fix-racy-cleanup-of-sys-in-remove_dev.patch. - commit f705316- scsi: Rework handling of scsi_device.vpd_pg8[03] (bsc#1061782). - scsi: Rework the code for caching Vital Product Data (VPD) (bsc#1061782). - scsi: rcu: Introduce rcu_swap_protected() (bsc#1061782). - commit aec4a2a- watchdog: Revert "iTCO_wdt: all versions count down twice" (bsc#1061556). - commit dd4ee65- apparmor: Add socket, mount, signal mediation (FATE#323500) - apparmor: Fix shadowed local variable in unpack_trans_table() (FATE#323500). - apparmor: Fix logical error in verify_header() (FATE#323500). - apparmor: Fix an error code in aafs_create() (FATE#323500). - apparmor: Redundant condition: prev_ns. in [label.c:1498] (FATE#323500). - apparmor: add the ability to mediate signals (FATE#323500). - apparmor: add mount mediation (FATE#323500). - apparmor: cleanup conditional check for label in label_print (FATE#323500). - apparmor: add support for absolute root view based labels (FATE#323500). - apparmor: make policy_unpack able to audit different info messages (FATE#323500). - apparmor: add more debug asserts to apparmorfs (FATE#323500). - apparmor: add base infastructure for socket mediation (FATE#323500). - apparmor: move new_null_profile to after profile lookup fns() (FATE#323500). - apparmor: fix race condition in null profile creation (FATE#323500). - apparmor: ensure unconfined profiles have dfas initialized (FATE#323500). - apparmor: fix incorrect type assignment when freeing proxies (FATE#323500). - apparmor: fix build failure on sparc caused by undeclared signals (FATE#323500). - apparmor: fix apparmorfs DAC access permissions (FATE#323500). - Delete patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch. - Delete patches.apparmor/apparmor-basic-networking-rules.patch. - Delete patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch. - commit f4b43e1- rpm/kernel-binary.spec.in: add the kernel-binary dependencies to kernel-binary-base (bsc#1060333). - commit 955681c- scsi: ses: Fix racy cleanup of /sys in remove_dev() (bsc#1061782). - scsi: ch: add refcounting (bsc#1061782). - scsi: ses: make page2 support optional (bsc#1061782). - scsi: ses: Fixup error message 'failed to get diagnostic page 0xffffffea' (bsc#1061782). - scsi: ses: check return code from ses_recv_diag() (bsc#1061782). - scsi: ses: Fix wrong page error (bsc#1061782). - commit 26418a1- Drop obsolete hpsa patches - Delete patches.drivers/hpsa-allow-hpsa-to-claim-compaq-smartarray-devices. - Delete patches.drivers/hpsa-handle-unsupported-devices-more-gracefully. - Delete patches.drivers/hpsa-mark-older-boards-as-unsupported.patch. - commit a441a63- Update config files to remove cciss driver - commit e1fae76- scsi: hpsa: remove the smp_handler stub (bsc#1049517,FATE#322892). - scsi: hpsa: fix the device_id in hpsa_update_device_info() (bsc#1049517,FATE#322892). - scsi: hpsa: Remove 'hpsa_allow_any' module option (bsc#1049517,FATE#322892). - scsi: cciss: Drop obsolete driver (bsc#1049517,FATE#322892,FATE#323833). - scsi: hpsa: do not print errors for unsupported report luns format (bsc#1049517,FATE#322892). - scsi: hpsa: Ignore errors for unsupported LV_DEVICE_ID VPD page (bsc#1049517,FATE#322892). - scsi: hpsa: disable volume status check for legacy boards (bsc#1049517,FATE#322892). - scsi: hpsa: add support for legacy boards (bsc#1049517,FATE#322892). - commit a5fea5d- powerpc/64s: Implement system reset idle wakeup reason (bsc#1055121). - commit 4c3f65a- rpm/kernel-docs.spec.in: Require xmlto unconditionally. Getting the condition right is too challenging it seems. - commit fa08731- powerpc/64s/idle: Process interrupts from system reset wakeup (bsc#1055121). - commit 68b4938- libnvdimm, namespace: fix btt claim class crash (FATE#323731). - libnvdimm, namespace: record 'lbasize' for pmem namespaces (FATE#323731). - commit 285bf96- libnvdimm, btt: rework error clearing (FATE#323731). - libnvdimm: fix potential deadlock while clearing errors (FATE#323731). - libnvdimm, btt: cache sector_size in arena_info (FATE#323731). - libnvdimm, btt: ensure that flags were also unchanged during a map_read (FATE#323731). - libnvdimm, btt: refactor map entry operations with macros (FATE#323731). - libnvdimm, btt: fix a missed NVDIMM_IO_ATOMIC case in the write path (FATE#323731). - libnvdimm, btt: check memory allocation failure (FATE#323731). - libnvdimm, btt: BTT updates for UEFI 2.7 format (FATE#323731). - libnvdimm, label: switch to using v1.2 labels by default (FATE#323731). - libnvdimm, label: add address abstraction identifiers (FATE#323731). - libnvdimm, label: add v1.2 label checksum support (FATE#323731). - libnvdimm, label: update 'nlabel' and 'position' handling for local namespaces (FATE#323731). - libnvdimm, label: populate 'isetcookie' for blk-aperture namespaces (FATE#323731). - libnvdimm, label: populate the type_guid property for v1.2 namespaces (FATE#323731). - libnvdimm, label: honor the lba size specified in v1.2 labels (FATE#323731). - libnvdimm, label: add v1.2 interleave-set-cookie algorithm (FATE#323731). - libnvdimm, label: add v1.2 nvdimm label definitions (FATE#323731). - commit 9d14158- Delete patches.suse/ftrace-x86-xen-use-kernel-identity-mapping-only-when.patch. The change is not longer needed with PVOPS Xen (bsc#873195). - commit 7b3f924- scsi: smartpqi: update driver version to 1.1.2-126 (FATE#323891,bsc#1049514). - scsi: smartpqi: cleanup raid map warning message (FATE#323891,bsc#1049514). - scsi: smartpqi: update controller ids (FATE#323891,bsc#1049514). - scsi: smartpqi: remove the smp_handler stub (FATE#323891,bsc#1049514). - scsi: smartpqi: change driver version to 1.1.2-125 (FATE#323891,bsc#1049514). - scsi: smartpqi: add in new controller ids (FATE#323891,bsc#1049514). - scsi: smartpqi: update kexec and power down support (FATE#323891,bsc#1049514). - scsi: smartpqi: cleanup doorbell register usage (FATE#323891,bsc#1049514). - scsi: smartpqi: update pqi passthru ioctl (FATE#323891,bsc#1049514). - scsi: smartpqi: enhance BMIC cache flush (FATE#323891,bsc#1049514). - scsi: smartpqi: add pqi reset quiesce support (FATE#323891,bsc#1049514). - scsi: smartpqi: mark PM functions as __maybe_unused (FATE#323891,bsc#1049514). - commit 1882c7b- Re-sorted series.conf to the correct order of lpfc patches. - Refresh patches.drivers/scsi-lpfc-Fix-crash-receiving-ELS-while-detaching-dr.patch. - Refresh patches.drivers/scsi-lpfc-Make-ktime-sampling-more-accurate.patch. - Refresh patches.drivers/scsi-lpfc-Move-CQ-processing-to-a-soft-IRQ.patch. - Refresh patches.drivers/scsi-lpfc-fix-pci-hot-plug-crash-in-timer-management.patch. - Refresh patches.drivers/scsi-lpfc-remove-redundant-null-check-on-eqe.patch. - commit d1bbb42- Refresh configs. - commit 1eb97f0- Add ARMv7 configs. - commit 97f0e22- README: branch name - commit e68e42d- Build in Leap project. - commit e6f1ae6- sfc: Add ethtool -m support for QSFP modules (bsc#1058169 FATE#322922). - commit acd2839- Refresh patches.drivers/scsi-lpfc-Cocci-spatch-pool_zalloc-simple.patch. - Refresh patches.drivers/scsi-lpfc-Ensure-io-aborts-interlocked-with-the-targ.patch. - Refresh patches.drivers/scsi-lpfc-Fix-crash-in-lpfc_nvme_fcp_io_submit-durin.patch. - Refresh patches.drivers/scsi-lpfc-Fix-crash-receiving-ELS-while-detaching-dr.patch. - Refresh patches.drivers/scsi-lpfc-Fix-lpfc-nvme-host-rejecting-IO-with-Not-R.patch. - Refresh patches.drivers/scsi-lpfc-Fix-oops-if-nvmet_fc_register_targetport-f.patch. - Refresh patches.drivers/scsi-lpfc-Fix-warning-messages-when-NVME_TARGET_FC-n.patch. - Refresh patches.drivers/scsi-lpfc-Make-ktime-sampling-more-accurate.patch. - Refresh patches.drivers/scsi-lpfc-Move-CQ-processing-to-a-soft-IRQ.patch. - Refresh patches.drivers/scsi-lpfc-PLOGI-failures-during-NPIV-testing.patch. - Refresh patches.drivers/scsi-lpfc-Reduce-log-spew-on-controller-reconnects.patch. - Refresh patches.drivers/scsi-lpfc-change-version-to-11.4.0.4.patch. - Refresh patches.drivers/scsi-lpfc-correct-nvme-sg-segment-count-check.patch. - Refresh patches.drivers/scsi-lpfc-fix-pci-hot-plug-crash-in-timer-management.patch. - Refresh patches.drivers/scsi-lpfc-remove-redundant-null-check-on-eqe.patch. Johannes reported that when a subsystem repository is not listed in git_sort.py head_names, the patches for it are silently not ordered by qdoit. The problem is avoided for now by adding this scsi tree to head_names. A more general solution will be needed later. I've reordered the patches and refreshed them. There is no difference in the expanded tree. - commit 949fce3- Delete patches.rpmify/cloneconfig.diff. - commit 3aaafe7- block: fix integer overflow in __blkdev_sectors_to_bio_pages() (fate#322738,fate#322919,fate#322950,fate#323773). - commit 249ef28- md/r5cache: call mddev_lock/unlock() in r5c_journal_mode_set (fate#322738,fate#322919,fate#322950,fate#323773). - commit c74127c- powerpc/64s: Add workaround for P9 vector CI load issue (bsc#1055117). - powerpc/mce: Move 64-bit machine check code into mce.c (bsc#1055117). - powerpc/64s: Machine check handle ifetch from foreign real address for POWER9 (bsc#1055117). - commit e6af293- powerpc: Fix action argument for cpufeatures-based TLB flush (bsc#1055117). - powerpc: Fix workaround for spurious MCE on POWER9 (bsc#1055117). - powerpc: Handle MCE on POWER9 with only DSISR bit 30 set (bsc#1055117). - commit 783697a- powerpc/powernv: Fix local TLB flush for boot and MCE on POWER9 (bsc#1055117). - commit df999ef- powerpc/powernv: Use early_radix_enabled in POWER9 tlb flush (bsc#1055117). - commit b5bc2ee- powerpc/xive: Clear XIVE internal structures when a CPU is removed (fate#322438). - commit 12dbb32- powerpc/xive: Fix IPI reset (fate#322438). - commit 6f5e307- Update cherry-picked drm/i915 ids blacklist.conf patches.drivers/drm-i915-Initialize-data-in-intel_dsi_dcs_backlight. - commit 3e26bd9- drm/i915: Add __rcu to radix tree slot pointer (bsc#1051510). - commit 73cdd3f- iwlwifi: mvm: set the RTS_MIMO_PROT bit in flag mask when sending sta to fw (bsc#1051510). - iwlwifi: mvm: fix TCP CSUM offload with WEP and A000 series (bsc#1051510). - iwlwifi: mvm: don't warn in queue sync on RF-kill (bsc#1051510). - commit a8def16- drm/i915: remove unused function declaration (bsc#1051510). - drm/i915/bxt: set min brightness from VBT (bsc#1051510). - drm/i915: Suppress switch_mm emission between the same aliasing_ppgtt (bsc#1051510). - drm/i915: Quietly cancel FBC activation if CRTC is turned off before worker (bsc#1051510). - drm/i915: Initialize 'data' in intel_dsi_dcs_backlight.c (bsc#1051510). - drm/i915: Always wake the device to flush the GTT (bsc#1051510). - Revert "drm/i915/bxt: Disable device ready before shutdown command" (bsc#1051510). - commit a5aceb8- ALSA: hda/ca0132 - Fix memory leak at error path (bsc#1052235). - ALSA: hda: Fix regression of hdmi eld control created based on invalid pcm (bsc#1052235). - commit c5a6ca0- cxl: Fix memory page not handled (bsc#1055014). - commit 904cf45- KVM: PPC: Book3S: Fix server always zero from kvmppc_xive_get_xive() (bsc#1061840). - commit a04c301- KVM: PPC: Book3S HV: Fix bug causing host SLB to be restored incorrectly (bsc#1061840). - commit fcb992f- KVM: PPC: Book3S HV: Don't access XIVE PIPR register using byte accesses (bsc#1061840). - commit 6a8e0e7- KVM: PPC: Book3S HV: Add missing barriers to XIVE code and document them (bsc#1061840). - commit 5efae32- KVM: PPC: Book3S HV: Workaround POWER9 DD1.0 bug causing IPB bit loss (bsc#1061840). - commit f582f45- ibmveth: Support to enable LSO/CSO for Trunk VEA (bsc#1061843). - commit e982073- PCI: Mark Broadcom HT2100 Root Port Extended Tags as broken (bsc#1061880). - commit d31f3a4- x86/ldt: Fix off by one in get_segment_base() (bsc#1061872). - x86/ldt: Rename ldt_struct::size to ::nr_entries (bsc#1061872). - commit aaef532- Refresh patch order in sorted section In case of absent remotes, series_sort reordered and renamed subsystem sections. This should now be fixed as long as the subsystem is listed in series_sort.py head_names. - commit 0257dde- Refresh QXL fixes: they've been upstreamed patches.drivers/qxl-fix-pinning.patch patches.drivers/qxl-fix-primary-surface-handling.patch - commit 133bed7- Refresh patches.drivers/net-mlx5-Introduce-trigger_health_work-function.patch. - commit f064ef2- libata: check for trusted computing in IDENTIFY DEVICE data (bsc#1061782). - libata: implement SECURITY PROTOCOL IN/OUT (bsc#1061782). - libata: factor out a ata_identify_page_supported helper (bsc#1061782). - libata: clarify log page naming / grouping (bsc#1061782). - libata: factor out a ata_log_supported helper (bsc#1061782). - libata: move ata_read_log_page to libata-core.c (bsc#1061782). - commit 37e3e92- mm/page_alloc.c: apply gfp_allowed_mask before the first allocation attempt (VM Functionality, git fixes). - commit 9d48e99- scsi: scsi-sysfs: Adjust error returned for adapter reset request (bsc#1061782). - scsi: make 'state' device attribute pollable (bsc#1061782). - scsi: scsi_lib: rework scsi_internal_device_unblock_nowait() (bsc#1061782). - scsi: fc: start decoupling fc_block_scsi_eh from scsi_cmnd (bsc#1061782). - scsi: remove DRIVER_ATTR() usage (bsc#1061782). - scsi: sd_zbc: Write unlock zone from sd_uninit_cmnd() (bsc#1061782). - scsi: isci: fix typo in function names (bsc#1061782). - scsi: sas: scsi_queue_work can fail, so make callers aware (bsc#1061782). - scsi: sd: Use sysfs_match_string() (bsc#1061782). - scsi: scsi_dh_alua: remove synchronous STPG support (bsc#1061782). - scsi: remove various unused blist flags (bsc#1061782). - scsi: xen-scsifront: Remove code that zeroes driver-private command data (bsc#1061782). - scsi: virtio_scsi: Remove code that zeroes driver-private command data (bsc#1061782). - scsi: snic: Remove code that zeroes driver-private command data (bsc#1061782). - scsi: Make scsi_mq_prep_fn() call scsi_init_command() (bsc#1061782). - scsi: Introduce scsi_mq_sgl_size() (bsc#1061782). - scsi: Only add commands to the device command list if required by the LLD (bsc#1061782). - commit 4360116- scsi: Make __scsi_remove_device go straight from BLOCKED to DEL (bsc#1061782). - commit e9b1984- scsi: Introduce scsi_start_queue() (bsc#1061782). - scsi: Protect SCSI device state changes with a mutex (bsc#1061782). - commit e63b6b2- scsi: Create two versions of scsi_internal_device_unblock() (bsc#1061782). - commit e74af46- scsi: Split scsi_internal_device_block() (bsc#1061782). - commit 31782b2- sd: add support for TCG OPAL self encrypting disks (bsc#1061782). - commit db34dbf- RDMA/qedr: Fix rdma_type initialization (bsc#1050545 FATE#322893). - IB: Move PCI dependency from root KConfig to HW's KConfigs (bsc#1046306 FATE#322942). - RDMA/qedr: fix build error without ipv6 (bsc#1050545 FATE#322893). - RDMA/qedr: Missing error code in qedr_init_user_queue() (bsc#1050545 FATE#322893). - RDMA/qedr: Add support for iWARP in user space (bsc#1050545 FATE#322893). - RDMA/qedr: Add iWARP connection management functions (bsc#1050545 FATE#322893). - RDMA/qedr: Add iWARP connection management qp related callbacks (bsc#1050545 FATE#322893). - RDMA/qedr: Add support for read with invalidate, supported in iWARP (bsc#1050545 FATE#322893). - RDMA/qedr: Add iWARP support in existing verbs (bsc#1050545 FATE#322893). - RDMA/qedr: Add support for registering an iWARP device (bsc#1050545 FATE#322893). - RDMA/qedr: Rename the qedr_cm file as a preparation for iWARP support (bsc#1050545 FATE#322893). - commit 1e6b3ed- re-sorted series.conf - commit d2e8138- KVM: x86: Fix immediate_exit handling for uninitialized AP (bsc#1061813). - commit 4ed06fa- iommu/amd: pr_err() strings should end with newlines (bsc#1043261). - commit 2281132- scsi: aacraid: error: testing array offset 'bus' after use (bsc#1049519,FATE#322889). - scsi: aacraid: Fix command send race condition (bsc#1049519,FATE#322889). - scsi: aacraid: report -ENOMEM to upper layer from aac_convert_sgraw2() (bsc#1049519,FATE#322889). - scsi: aacraid: get rid of one level of indentation (bsc#1049519,FATE#322889). - scsi: aacraid: fix indentation errors (bsc#1049519,FATE#322889). - scsi: aacraid: complete all commands during bus reset (bsc#1049519,FATE#322889). - scsi: aacraid: add fib flag to mark scsi command callback (bsc#1049519,FATE#322889). - scsi: aacraid: enable sending of TMFs from aac_hba_send() (bsc#1049519,FATE#322889). - scsi: aacraid: use aac_tmf_callback for reset fib (bsc#1049519,FATE#322889). - scsi: aacraid: split off device, target, and bus reset (bsc#1049519,FATE#322889). - scsi: aacraid: split off host reset (bsc#1049519,FATE#322889). - scsi: aacraid: split off functions to generate reset FIB (bsc#1049519,FATE#322889). - commit 8d89ea9- series.conf: restore upstream ordering which I broke by mistake - commit 1757725- Reshuffle series.conf to include scsi-misc branch - commit 9845e26- mm: fix data corruption caused by lazyfree page (VM Functionality, bsc#1061775). - mm: avoid marking swap cached page as lazyfree (VM Functionality, bsc#1061775). - commit 791a9bf- scsi: megaraid_mbox: drop duplicate bus reset and device reset function (bsc#1049528,FATE#322937). - scsi: megaraid_sas: driver version upgrade (bsc#1049528,FATE#322937). - scsi: megaraid_sas: call megasas_dump_frame with correct IO frame size (bsc#1049528,FATE#322937). - scsi: megaraid_sas: modified few prints in OCR and IOC INIT path (bsc#1049528,FATE#322937). - scsi: megaraid_sas: replace internal FALSE/TRUE definitions with false/true (bsc#1049528,FATE#322937). - scsi: megaraid_sas: Return pended IOCTLs with cmd_status MFI_STAT_WRONG_STATE in case adapter is dead (bsc#1049528,FATE#322937). - scsi: megaraid_sas: use vmalloc for crash dump buffers and driver's local RAID map (bsc#1049528,FATE#322937). - scsi: megaraid_sas: Use SMID for Task abort case only (bsc#1049528,FATE#322937). - scsi: megaraid_sas: Check valid aen class range to avoid kernel panic (bsc#1049528,FATE#322937). - scsi: megaraid_sas: Fix endianness issues in DCMD handling (bsc#1049528,FATE#322937). - scsi: megaraid_sas: Do not re-fire shutdown DCMD after OCR (bsc#1049528,FATE#322937). - scsi: megaraid_sas: Call megasas_complete_cmd_dpc_fusion every 1 second while there are pending commands (bsc#1049528,FATE#322937). - scsi: megaraid_sas: Use synchronize_irq in target reset case (bsc#1049528,FATE#322937). - scsi: megaraid_sas: set minimum value of resetwaittime to be 1 secs (bsc#1049528,FATE#322937). - scsi: megaraid_sas: mismatch of allocated MFI frame size and length exposed in MFI MPT pass through command (bsc#1049528,FATE#322937). - scsi: megaraid_sas: fix allocate instance->pd_info twice (bsc#1049528,FATE#322937). - scsi: megaraid: fix format-overflow warning (bsc#1049528,FATE#322937). - scsi: megaraid: Replace PCI pool old API (bsc#1049528,FATE#322937). - scsi: megaraid_sas: fix error handle in megasas_probe_one (bsc#1049528,FATE#322937). - scsi: megaraid_sas: fix memleak in megasas_alloc_cmdlist_fusion (bsc#1049528,FATE#322937). - scsi: megaraid: Fix a sleep-in-atomic bug (bsc#1049528,FATE#322937). - commit 83ffcac- add mainline tags to hyperv patches - commit 529ce16- inetpeer: fix RCU lookup() again (bsc#1061739). - inetpeer: fix RCU lookup() (bsc#1061739). - inetpeer: remove AVL implementation in favor of RB tree (bsc#1061739). - net: convert inet_peer.refcnt from atomic_t to refcount_t (bsc#1061739). - commit 3cca9a9- Update config files. - commit d121c2b- net/mlx5e: Distribute RSS table among all RX rings (bsc#1046305 FATE#322943). - net/mlx5e: Stop NAPI when irq balancer changes affinity (bsc#1046305 FATE#322943). - net/mlx5e: Use kernel's mechanism to avoid missing NAPIs (bsc#1046305 FATE#322943). - net/mlx5e: Slightly increase RX page-cache size (bsc#1046305 FATE#322943). - net/mlx5e: Don't recycle page if moved to far NUMA (bsc#1046305 FATE#322943). - net/mlx5e: Remove unnecessary fields in ICO SQ (bsc#1046305 FATE#322943). - net/mlx5e: Type-specific optimizations for RX post WQEs function (bsc#1046305 FATE#322943). - net/mlx5e: Non-atomic RQ state indicator for UMR WQE in progress (bsc#1046305 FATE#322943). - net/mlx5e: Non-atomic indicator for ring enabled state (bsc#1046305 FATE#322943). - net/mlx5e: Refactor data-path lro header function (bsc#1046305 FATE#322943). - net/mlx5e: Early-return on empty completion queues (bsc#1046305 FATE#322943). - net/mlx5e: NAPI busy-poll when UMR post is in progress (bsc#1046305 FATE#322943). - net/mlx5e: Small enhancements for RX MPWQE allocation and free (bsc#1046305 FATE#322943). - net/mlx5e: Use memset to init skbs_frags array to zeros (bsc#1046305 FATE#322943). - net/mlx5e: Remove unnecessary wqe_sz field from RQ buffer (bsc#1046305 FATE#322943). - net/mlx5e: Replace multiplication by stride size with a shift (bsc#1046305 FATE#322943). - net/mlx5e: Reorganize struct mlx5e_rq (bsc#1046305 FATE#322943). - net/mlx5e: Support RSS for GRE tunneled packets (bsc#1046305 FATE#322943). - net/mlx5e: Support TSO and TX checksum offloads for GRE tunnels (bsc#1046305 FATE#322943). - net/mlx5e: Use IP version matching to classify IP traffic (bsc#1046305 FATE#322943). - net/mlx5: Add tracepoints (bsc#1046305 FATE#322943). - net/mlx5: Add hash table for flow groups in flow table (bsc#1046305 FATE#322943). - net/mlx5: Add hash table to search FTEs in a flow-group (bsc#1046305 FATE#322943). - net/mlx5: Don't store reserved part in FTEs and FGs (bsc#1046305 FATE#322943). - net/mlx5: Convert linear search for free index to ida (bsc#1046305 FATE#322943). - net/mlx5e: Fix wrong code indentation in conditional statement (bsc#1046305 FATE#322943). - net/mlx5: Remove a leftover unused variable (bsc#1046305 FATE#322943). - net/mlx5: Add a blank line after declarations V2 (bsc#1046305 FATE#322943). - net/mlx5e: make mlx5e_profile const (bsc#1046305 FATE#322943). - net/mlx5e: Use size_t to store byte offset in statistics descriptors (bsc#1046305 FATE#322943). - net/mlx5e: Use kernel types instead of uint*_t in ethtool callbacks (bsc#1046305 FATE#322943). - net/mlx5e: Place constants on the right side of comparisons (bsc#1046305 FATE#322943). - net/mlx5e: Avoid using multiple blank lines (bsc#1046305 FATE#322943). - net/mlx5e: Properly indent within conditional statements (bsc#1046305 FATE#322943). - net/mlx5: Add a blank line after declarations (bsc#1046305 FATE#322943). - net/mlx5: Avoid blank lines after/before open/close brace (bsc#1046305 FATE#322943). - net/mlx5e: Add outbound PCI buffer overflow counter (bsc#1046305 FATE#322943). - net/mlx5e: Add RX buffer fullness counters (bsc#1046305 FATE#322943). - net/mlx5: Add RX buffer fullness counters infrastructure (bsc#1046305 FATE#322943). - net/mlx5e: Add PCIe outbound stalls counters (bsc#1046305 FATE#322943). - net/mlx5: Add PCIe outbound stalls counters infrastructure (bsc#1046305 FATE#322943). - net/mlx5e: IPoIB, Add support for get_link_ksettings in ethtool (bsc#1046305 FATE#322943). - net/mlx5e: Send PAOS command on interface up/down (bsc#1046305 FATE#322943). - mlx5: ensure 0 is returned when vport is zero (bsc#1046305 FATE#322943). - mlx5: remove unnecessary pci_set_drvdata() (bsc#1046305 FATE#322943). - net/mlx5: Increase the maximum flow counters supported (bsc#1046305 FATE#322943). - net/mlx5: Fix counter list hardware structure (bsc#1046305 FATE#322943). - net/mlx5: Delay events till ib registration ends (bsc#1046305 FATE#322943). - net/mlx5: Add CONFIG_MLX5_ESWITCH Kconfig (bsc#1046305 FATE#322943). - net/mlx5: Separate between E-Switch and MPFS (bsc#1046305 FATE#322943). - net/mlx5: Unify vport manager capability check (bsc#1046305 FATE#322943). - net/mlx5e: NIC netdev init flow cleanup (bsc#1046305 FATE#322943). - net/mlx5e: Rearrange netdevice ops structures (bsc#1046305 FATE#322943). - commit 16606b3- scsi: lpfc: PLOGI failures during NPIV testing (bsc#1050239,FATE#322918). - scsi: lpfc: Fix oops of nvme host during driver unload (bsc#1050239,FATE#322918). - scsi: lpfc: change version to 11.4.0.4 (FATE#324028). - scsi: lpfc: Fix secure firmware updates (bsc#1050239,FATE#322918). - scsi: lpfc: Fix lpfc nvme host rejecting IO with Not Ready message (bsc#1050239,FATE#322918). - scsi: lpfc: fix pci hot plug crash in list_add call (bsc#1050239,FATE#322918). - scsi: lpfc: Fix warning messages when NVME_TARGET_FC not defined (bsc#1050239,FATE#322918). - scsi: lpfc: Cocci spatch "pool_zalloc-simple" (bsc#1050239,FATE#322918). - scsi: lpfc: Ensure io aborts interlocked with the target (bsc#1050239,FATE#322918). - scsi: lpfc: remove redundant null check on eqe (bsc#1050239, FATE#322918). - scsi: lpfc: Extend RDP support (bsc#1050239,FATE#322918). - scsi: lpfc: Set missing abort context (bsc#1050239,FATE#322918). - scsi: lpfc: Disable NPIV support if NVME is enabled (bsc#1050239,FATE#322918). - scsi: lpfc: Fix FCP hba_wqidx assignment (bsc#1050239,FATE#322918). - scsi: lpfc: fix pci hot plug crash in timer management routines (bsc#1050239,FATE#322918). - scsi: lpfc: Revise NVME module parameter descriptions for better clarity (bsc#1050239,FATE#322918). - scsi: lpfc: Fix oops if nvmet_fc_register_targetport fails (bsc#1050239,FATE#322918). - scsi: lpfc: Fix crash receiving ELS while detaching driver (bsc#1050239,FATE#322918). - scsi: lpfc: correct nvme sg segment count check (bsc#1050239,FATE#322918). - scsi: lpfc: Make ktime sampling more accurate (bsc#1050239,FATE#322918). - scsi: lpfc: Move CQ processing to a soft IRQ (bsc#1050239,FATE#322918). - scsi: lpfc: Reduce log spew on controller reconnects (bsc#1050239,FATE#322918). - scsi: lpfc: Fix crash in lpfc_nvme_fcp_io_submit during LIP (bsc#1050239,FATE#322918). - scsi: lpfc: Don't return internal MBXERR_ERROR code from probe function (bsc#1050239,FATE#322918). - scsi: lpfc: avoid false-positive gcc-8 warning (bsc#1050239,FATE#322918). - scsi: lpfc: avoid an unused function warning (bsc#1050239,FATE#322918). - scsi: lpfc: lpfc version bump 11.4.0.3 (bsc#1050239,FATE#322918). - scsi: lpfc: fix "integer constant too large" error on 32bit archs (bsc#1050239,FATE#322918). - scsi: lpfc: Add Buffer to Buffer credit recovery support (bsc#1050239,FATE#322918). - scsi: lpfc: remove console log clutter (bsc#1050239,FATE#322918). - scsi: lpfc: Fix bad sgl reposting after 2nd adapter reset (bsc#1050239,FATE#322918). - scsi: lpfc: Fix nvme target failure after 2nd adapter reset (bsc#1050239,FATE#322918). - scsi: lpfc: Fix relative offset error on large nvmet target ios (bsc#1050239,FATE#322918). - scsi: lpfc: Fix MRQ > 1 context list handling (bsc#1050239,FATE#322918). - scsi: lpfc: Limit amount of work processed in IRQ (bsc#1050239,FATE#322918). - scsi: lpfc: Correct issues with FAWWN and FDISCs (bsc#1050239,FATE#322918). - scsi: lpfc: Fix NVME PRLI handling during RSCN (bsc#1050239,FATE#322918). - scsi: lpfc: Fix crash in lpfc nvmet when fc port is reset (bsc#1050239,FATE#322918). - scsi: lpfc: Fix duplicate NVME rport entries and namespaces (bsc#1050239,FATE#322918). - scsi: lpfc: Fix handling of FCP and NVME FC4 types in Pt2Pt topology (bsc#1050239,FATE#322918). - scsi: lpfc: Correct return error codes to align with nvme_fc transport (bsc#1050239,FATE#322918). - scsi: lpfc: convert info messages to standard messages (bsc#1050239,FATE#322918). - scsi: lpfc: Fix oops when NVME Target is discovered in a nonNVME environment (bsc#1050239,FATE#322918). - scsi: lpfc: Fix rediscovery on switch blade pull (bsc#1050239,FATE#322918). - scsi: lpfc: Fix loop mode target discovery (bsc#1050239,FATE#322918). - scsi: lpfc: Fix plogi collision that causes illegal state transition (bsc#1050239,FATE#322918). - scsi: lpfc: remove useless code in lpfc_sli4_bsg_link_diag_test (bsc#1050239,FATE#322918). - scsi: lpfc: Replace PCI pool old API (bsc#1050239,FATE#322918). - lpfc: support nvmet_fc defer_rcv callback (bsc#1050239,FATE#322918). - scsi: lpfc: don't double count abort errors (bsc#1050239,FATE#322918). - scsi: lpfc: spin_lock_irq() is not nestable (bsc#1050239,FATE#322918). - scsi: lpfc: fix refcount error on node list (bsc#1050239,FATE#322918). - scsi: lpfc: Fix nvme io stoppage after link bounce (bsc#1050239,FATE#322918). - scsi: lpfc: update to revision to 11.4.0.1 (bsc#1050239,FATE#322918). - scsi: lpfc: Driver responds LS_RJT to Beacon Off ELS - Linux (bsc#1050239,FATE#322918). - scsi: lpfc: Fix crash in lpfc_sli_ringtxcmpl_put when nvmet gets an abort request (bsc#1050239,FATE#322918). - scsi: lpfc: Fix crash doing IO with resets (bsc#1050239,FATE#322918). - scsi: lpfc: Fix crash after firmware flash when IO is running (bsc#1050239,FATE#322918). - scsi: lpfc: Fix SLI3 drivers attempting NVME ELS commands (bsc#1050239,FATE#322918). - scsi: lpfc: Break up IO ctx list into a separate get and put list (bsc#1050239,FATE#322918). - scsi: lpfc: Reduce time spent in IRQ for received NVME commands (bsc#1050239,FATE#322918). - scsi: lpfc: Vport creation is failing with "Link Down" error (bsc#1050239,FATE#322918). - scsi: lpfc: Fix nvme_info sysfs output to be consistent (bsc#1050239,FATE#322918). - scsi: lpfc: Fix system panic when express lane enabled (bsc#1050239,FATE#322918). - scsi: lpfc: update to revision to 11.4.0.0 (bsc#1050239,FATE#322918). - scsi: lpfc: Add auto EQ delay logic (bsc#1050239,FATE#322918). - scsi: lpfc: Fix defects reported by Coverity Scan (bsc#1050239,FATE#322918). - scsi: lpfc: Fix vports not logging into target (bsc#1050239,FATE#322918). - scsi: lpfc: Fix PRLI retry handling when target rejects it (bsc#1050239,FATE#322918). - scsi: lpfc: Null pointer dereference when log_verbose is set to 0xffffffff (bsc#1050239,FATE#322918). - scsi: lpfc: Fix System panic after loading the driver (bsc#1050239,FATE#322918). - scsi: lpfc: Fix crash on powering off BFS VM with passthrough device (bsc#1050239,FATE#322918). - scsi: lpfc: Fix return value of board_mode store routine in case of online failure (bsc#1050239,FATE#322918). - scsi: lpfc: Fix counters so outstandng NVME IO count is accurate (bsc#1050239,FATE#322918). - scsi: lpfc: Fix Port going offline after multiple resets (bsc#1050239,FATE#322918). - scsi: lpfc: Fix nvmet node ref count handling (bsc#1050239,FATE#322918). - scsi: lpfc: Fix Lun Priority level shown as NA (bsc#1050239,FATE#322918). - scsi: lpfc: Add changes to assist in NVMET debugging (bsc#1050239,FATE#322918). - scsi: lpfc: Fix nvme port role handling in sysfs and debugfs handlers (bsc#1050239,FATE#322918). - commit 5d26711- mm: oom: let oom_reap_task and exit_mmap run concurrently (VM Functionality, bsc#1061755). - mm, hugetlb: do not allocate non-migrateable gigantic pages from movable zones (bsc#1061756, bnc#1027153, bnc#1030659, fate#323634). - commit 60f16a2- udp: remove unreachable ufo branches (bsc#1061739). - net: Kill NETIF_F_UFO and SKB_GSO_UDP (bsc#1061739). - inet: Remove software UFO fragmenting code (bsc#1061739). - net: Remove all references to SKB_GSO_UDP (bsc#1061739). - inet: Stop generating UFO packets (bsc#1061739). - net: Remove references to NETIF_F_UFO from ethtool (bsc#1061739). - net: Remove references to NETIF_F_UFO in netdev_fix_features() (bsc#1061739). - virtio_net: Remove references to NETIF_F_UFO (bsc#1061739). - dummy: Remove references to NETIF_F_UFO (bsc#1061739). - tun/tap: Remove references to NETIF_F_UFO (bsc#1061739). - macvlan/macvtap: Remove NETIF_F_UFO advertisement (bsc#1061739). - ipvlan: Stop advertising NETIF_F_UFO support (bsc#1061739). - macb: Remove bogus reference to NETIF_F_UFO (bsc#1061739). - s2io: Remove UFO support (bsc#1061739). - commit e43998f- scsi: csiostor: Avoid content leaks and casts (FATE#322932). - scsi: csiostor: Replace PCI pool old API (FATE#322932). - scsi: csiostor: add check for supported fw version (FATE#322932). - scsi: csiostor: add support for Chelsio T6 adapters (FATE#322932). - scsi: csiostor: fail probe if fw does not support FCoE (FATE#322932). - scsi: csiostor: update module version (FATE#322932). - scsi: fcoe: Fix few small typos in fcoe.c (FATE#322932). - scsi: fcoe: Remove an extra out label in _fcoe_create function (FATE#322932). - scsi: fix typos and grammar in comments of scsi_transport_fc.c (FATE#322918). - scsi: fnic: Zero io_cmpl_skip on fw reset completion (FATE#322783). - scsi: fnic: added timestamp reporting in fnic debug stats (FATE#322783). - scsi: fnic: correct speed display and add support for 25,40 and 100G (FATE#322783). - scsi: fnic: fix format string overflow warning (FATE#322783). - scsi: libfc: pass an error pointer to fc_disc_error() (FATE#322783). - commit ac9dc66- scsi: lpfc: Fix transition nvme-i rport handling to nport only (bsc#1050239,FATE#322918). - scsi: lpfc: Add nvme initiator devloss support (bsc#1050239,FATE#322918). - scsi: lpfc: make a couple of functions static (bsc#1050239,FATE#322918). - scsi: lpfc: fix spelling mistake "entrys" -> "entries" (bsc#1050239,FATE#322918). - lpfc debugfs: get rid of pointless access_ok() (bsc#1050239,FATE#322918). - commit cfc608f- mm/sparse.c: fix typo in online_mem_sections (bnc#1027153, bnc#1030659, fate#323634). - commit 4d2d8e0- Re-sorted sorted section - commit d20aa5b- xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor (bsc#1060807). - commit c584666- memremap: add scheduling point to devm_memremap_pages (bnc#1057079). - mm, page_alloc: add scheduling point to memmap_init_zone (bnc#1057079). - mm, memory_hotplug: add scheduling point to __add_pages (bnc#1057079). - commit 7fdee39- NFS: Fix NFSv2 security settings (git-fixes). - commit dc322d2- be2net: fix TSO6/GSO issue causing TX-stall on Lancer/BEx (bsc#1050252 FATE#322920). - benet: fix set but not used warning (bsc#1050252 FATE#322920). - commit a8eb98a- tg3: clean up redundant initialization of tnapi (bsc#1050260 FATE#322917). - tg3: Be drop monitor friendly (bsc#1050260 FATE#322917). - commit 8771a11- qlge: fix duplicated code for different branches (bsc#1050529 FATE#322902). - commit 69f8b35- qlcnic: remove redundant zero check on retries counter (bsc#1050540 FATE#322896). - qlogic: make device_attribute const (bsc#1050540 FATE#322896). - qlcnic: add const to bin_attribute structure (bsc#1050540 FATE#322896). - qlcnic: remove unnecessary static in qlcnic_dump_fw() (bsc#1050540 FATE#322896). - commit 544316b- igb: support BCM54616 PHY (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igbvf: convert msleep to mdelay in atomic context (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igbvf: after mailbox write, wait for reply (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igbvf: add lock around mailbox ops (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: do not drop PF mailbox lock after read of VF message (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: expose mailbox unlock method (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: add argument names to mailbox op function declarations (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: Remove incorrect "unexpected SYS WRAP" log message (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: protect TX timestamping from API misuse (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: Fix error of RX network flow classification (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - commit 89da50e- i40e SLE15 update, part 2 - i40e: 25G FEC status improvements (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Detect ATR HW Evict NVM issue and disable the feature (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Fix a bug with VMDq RSS queue allocation (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Fix for trace found with S4 state (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Fix for unused value issue found by static analysis (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Handle admin Q timeout when releasing NVM (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Store the requested FEC information (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Update state variable for adminq subtask (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Use correct flag to enable egress traffic for unicast promisc (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: display correct UDP tunnel type name (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: fix incorrect variable assignment (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: fix odd formatting and indent (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: fix up 32 bit timespec references (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: force VMDQ device name truncation (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: handle setting administratively set MAC address back to zero (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: adjust packet size to account for double VLANs (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: avoid dynamic ITR updates when polling or low packet rate (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: make IPv6 ATR code clearer (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: remove ULTRA latency mode (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: remove mismatched type warnings (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: rename vf_offload_flags to vf_cap_flags in struct virtchnl_vf_resource (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: support for VF VLAN tag stripping control (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: use cmpxchg64 when updating private flags in ethtool (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: initialize our affinity_mask based on cpu_possible_mask (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: invert logic for checking incorrect cpu vs irq affinity (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: move check for avoiding VID=0 filters into i40e_vsi_add_vlan (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: move enabling icr0 into i40e_update_enable_itr (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: prevent changing ITR if adaptive-rx/tx enabled (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: prevent snprintf format specifier truncation (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: remove WQ_UNBOUND and the task limit of our workqueue (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: remove workaround for Open Firmware MAC address (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: remove workaround for resetting XPS (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: report BPF prog id during XDP_QUERY_PROG (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: separate hw_features from runtime changing flags (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: synchronize nvmupdate command and adminq subtask (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: use cpumask_copy instead of direct assignment (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: Use le32_to_cpu before evaluating HW desc fields (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: add some missing includes (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: fix possible snprintf truncation of q_vector->name (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: prevent VF close returning before state transitions to DOWN (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: remove unnecessary __packed (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: use netdev variable in reset task (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - Refresh patches.drivers/i40e-add-private-flag-to-control-source-pruning.patch. - Refresh patches.drivers/i40e-avoid-NVM-acquire-deadlock-during-NVM-update.patch. - Refresh patches.drivers/i40e-point-wb_desc-at-the-nvm_wb_desc-during-i40e_re.patch. - commit 8d65ed4- ixgbe: Disable flow control for XFI (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Do not support flow control autonegotiation for X553 (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Update NW_MNG_IF_SEL support for X553 (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Enable LASI interrupts for X552 devices (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Ensure MAC filter was added before setting MACVLAN (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: NULL xdp_tx rings on resource cleanup (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - commit ae3ddc3- e1000e: Initial Support for IceLake (bsc#1056664 FATE#322185). - e1000e: add check on e1e_wphy() return value (bsc#1056664 FATE#322185). - commit 875d96b- arm64: cn99xx: drop iort/smmu workaround References: bsc#1039695 - Delete patches.drivers/0007-iommu-arm-smmu-ACPI-Enable-Cavium-SMMU-v2.patch. - Delete patches.drivers/0008-iommu-arm-smmu-ACPI-Enable-Cavium-SMMU-v3.patch. - Delete patches.drivers/0009-acpi-iort-thunderx2-enable-smmu-resource-size-errata.patch. - commit 8768934- s390/diag: add diag26c support (bsc#1061024 FATE#323301). - commit 829f7d6- qeth: VNIC Characteristics support (bsc#1061024 FATE#323301). - commit 014a65c- s390/qeth: add VNICC get/set timeout support (bsc#1061024 FATE#323301). - s390/qeth: add VNICC enable/disable support (bsc#1061024 FATE#323301). - s390/qeth: add basic VNICC support (bsc#1061024 FATE#323301). - s390/qeth: use skb_cow_head() for L2 OSA xmit (bsc#1061024 FATE#323301). - s390/qeth: unify code to build header elements (bsc#1061024 FATE#323301). - s390/qeth: pass full IQD header length to fill_buffer() (bsc#1061024 FATE#323301). - s390/qeth: pass TSO data offset to fill_buffer() (bsc#1061024 FATE#323301). - s390/qeth: pass TSO header length to fill_buffer() (bsc#1061024 FATE#323301). - s390/qeth: pass full data length to l2_fill_header() (bsc#1061024 FATE#323301). - s390/qeth: split L2 xmit paths (bsc#1061024 FATE#323301). - s390/qeth: fix using of ref counter for rxip addresses (bsc#1061024 FATE#323301). - s390/qeth: fix trace-messages for deleting rxip addresses (bsc#1061024 FATE#323301). - s390/qeth: reject multicast rxip addresses (bsc#1061024 FATE#323301). - s390/qeth: extract bridgeport cmd builder (bsc#1061024 FATE#323301). - s390/net: reduce inlining (bsc#1061024 FATE#323301). - s390/qeth: make more use of skb API (bsc#1061024 FATE#323301). - s390/qeth: clean up fill_buffer() offset logic (bsc#1061024 FATE#323301). - s390/qeth: straighten out fill_buffer() interface (bsc#1061024 FATE#323301). - s390/qeth: simplify fragment type selection (bsc#1061024 FATE#323301). - s390/qeth: remove extra L3 adapterparms query (bsc#1061024 FATE#323301). - s390/qeth: remove extra L2 adapterparms query (bsc#1061024 FATE#323301). - s390/qeth: don't access skb after transmission (bsc#1061024 FATE#323301). - s390/qeth: constify attribute_group structures (bsc#1061024 FATE#323301). - s390/qeth: fix L3 next-hop in xmit qeth hdr (bsc#1061024 FATE#323301). - drivers: s390: move static and inline before return type (bsc#1061024 FATE#323301). - s390/qeth: use diag26c to get MAC address on L2 (bsc#1061024 FATE#323301). - s390/qeth: fix packing buffer statistics (bsc#1061024 FATE#323301). - s390/qeth: add ipa return codes for bridgeport (bsc#1061024 FATE#323301). - s390/qeth: do early device setup for z/VM IQD NICs (bsc#1061024 FATE#323301). - s390/qeth: add support for early L3 device setup (bsc#1061024 FATE#323301). - s390/qeth: silence qeth_fix_features() (bsc#1061024 FATE#323301). - s390/qeth: consolidate pack buffer flushing (bsc#1061024 FATE#323301). - s390/qeth: add missing strings for IPA return codes (bsc#1061024 FATE#323301). - s390/qeth: log bridgeport capabilities (bsc#1061024 FATE#323301). - s390/qeth: query IPv6 IPA support on HiperSockets (bsc#1061024 FATE#323301). - s390/qeth: remove skb_is_nonlinear() check on IQD (bsc#1061024 FATE#323301). - s390/qeth: remove support for IPA_IP_FRAGMENTATION (bsc#1061024 FATE#323301). - s390: drivers: convert to use DRIVER_ATTR_RO/WO (bsc#1061024 FATE#323301). - commit 7d25fa3- sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs (bsc#1061593). - commit 8f70090- Delete patches.fixes/block-copy-bi_vcnt-in-_bio_clone_fast. - commit 471096c- scsi: bnx2fc: Update version number to 2.11.8 (FATE#322911). - scsi: bnx2fc: Make rport_terminate_io callback a NOOP (FATE#322911). - scsi: bnx2fc: If IO is still in cleanup then do not return to SCSI layer (FATE#322911). - scsi: bnx2fc: Adjust bnx2fc_npiv_create_vports for WWNNs from NVRAM that are zero (FATE#322911). - scsi: bnx2fc: Update copyright for 2017 (FATE#322911). - scsi: bnx2fc: Check for connection offload before sending RRQ (FATE#322911). - scsi: bnx2fc: Add filters to the non-offload FCoE receive path (FATE#322911). - commit 68f3019- libnvdimm, nfit: export an 'ecc_unit_size' sysfs attribute (FATE#324028). - mm, devm_memremap_pages: use multi-order radix for ZONE_DEVICE lookups (FATE#324028). - commit 1cd0d92- Move iSCSI and FCoE patches to ordered section - commit 222f486- Move device-mapper and MD patches to ordered section - commit b850033- orc: mark it as reliable (bnc#1058115). - Update config files. - commit cb41042- x86/asm: Use register variable to get stack pointer value (bnc#1058115). - commit 7e6a014- x86/asm: Fix inline asm call constraints for GCC 4.4 (bnc#1058115). - commit 98f2e81- Delete patches.fixes/sd_liberal_28_sense_invalid.diff. - Delete patches.suse/dm-emulate-blkrrpart-ioctl. - commit 0422451- mm/mempolicy: fix NUMA_INTERLEAVE_HIT counter (VM Performance, bnc#959436). - commit 7934624- scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly (bsc#1059051 CVE-2017-14489). - commit 180de31- Delete patches.arch/arm-OMAP-Fix-missing-usb.h-include.patch. (no longer needed) - Delete patches.arch/arm-arndale-usb.patch. (no longer needed) - Delete patches.arch/arm64-0006-arm64-Select-reboot-driver-for-X-Gene-platform.patch. (not needed, our config already includes the driver) - Delete patches.arch/ppc64le-build-vmlinux.patch. (no longer needed) - commit 986bfef- Delete patches.suse/binutils2_26.patch. The issue addressed by this patch should be handled via upstream commit 6d92bc9d483 (x86/build: Build compressed x86 kernels as PIE). - commit 4e90692- ctcm_fsms: Convert skb->user accesses to refcount_t (fix s390x build). - commit 3dd2c06- Delete patches.suse/btrfs-account-for-pinned-bytes-in-should_alloc_chunk.patch. - commit bc115ae- Refresh vanilla config. - commit e14f2e8- Delete patches.suse/connector-read-mostly. - commit 038f6d3- series.conf: remove commented out lines for removed patches - commit 2bff591- config: merge openSUSE configs from stable branch - commit 2ed2011- Delete patches.arch/arm-refresh-mach-types.diff. It was marked for refresh in 12/2016 and hasn't been updated. - commit d18cac1- getcwd: Close race with d_move called by lustre (bsc#1052593). - commit 930e552- qed: remove unnecessary call to memset (bsc#1050536 FATE#322898). - scsi: qedi: off by one in qedi_get_cmd_from_tid() (bsc#1050534 FATE#322899). - scsi: qedf: drop bus reset handler (bsc#1050530 FATE#322901). - scsi: qedf: Update driver version to 8.20.5.0 (bsc#1050530 FATE#322901). - scsi: qedf: Fix up modinfo parameter name for 'debug' in modinfo output (bsc#1050530 FATE#322901). - scsi: qedf: Covert single-threaded workqueues to regular workqueues (bsc#1050530 FATE#322901). - scsi: qedf: Corrent VLAN tag insertion in fallback VLAN case (bsc#1050530 FATE#322901). - scsi: qedf: Use granted MAC from the FCF for the FCoE source address if it is available (bsc#1050530 FATE#322901). - scsi: qedf: Set WWNN and WWPN based on values from qed (bsc#1050530 FATE#322901). - scsi: qedi: Limit number for CQ queues (bsc#1050534 FATE#322899). - qed: fix spelling mistake: "calescing" -> "coalescing" (bsc#1050536 FATE#322898). - qed: enhanced per queue max coalesce value (bsc#1050536 FATE#322898). - qed: Read per queue coalesce from hardware (bsc#1050536 FATE#322898). - qed: Add support for vf coalesce configuration (bsc#1050536 FATE#322898). - qede: Add ethtool support for Energy efficient ethernet (bsc#1050538 FATE#322897). - qed: Add support for Energy efficient ethernet (bsc#1050536 FATE#322898). - qed/qede: Add setter APIs support for RX flow classification (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Add getter APIs support for RX flow classification (bsc#1050538 FATE#322897). - RDMA/qedr: fix spelling mistake: "invlaid" -> "invalid" (bsc#1050545 FATE#322893). - RDMA/qedr: notify user application of supported WIDs (bsc#1050545 FATE#322893). - RDMA/qedr: notify user application if DPM is supported (bsc#1050545 FATE#322893). - commit a0c198b- powerpc/eeh: Create PHB PEs after EEH is initialized (bsc#1055120, git-fixes 5cb1f8fdddb7). - commit d07b84d- net: sched: cls_flower: fix ndo_setup_tc type for stats call (bsc#1056787). - commit f625cbb- powerpc/perf: Factor out PPMU_ONLY_COUNT_RUN check code from power8 (fate#321438, git-fixes efe881afdd999, bsc#1056686). - commit 9850b2a- driver core: platform: fix race condition with driver_override (bnc#1060662). - RDMA/uverbs: Check port number supplied by user verbs cmds (bnc#1060662). - usb: dwc3: replace %p with %pK (bnc#1060662). - USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick (bnc#1060662). - usb: usbip: set buffer pointers to NULL after free (bnc#1060662). - Add USB quirk for HVR-950q to avoid intermittent device resets (bnc#1060662). - usb: Fix typo in the definition of Endpoint[out]Request (bnc#1060662). - USB: core: fix device node leak (bnc#1060662). - USB: serial: option: add two Longcheer device ids (bnc#1060662). - USB: serial: qcserial: new Sierra Wireless EM7305 device ID (bnc#1060662). - xhci: Limit USB2 port wake support for AMD Promontory hosts (bnc#1060662). - gfs2: Fix glock rhashtable rcu bug (bnc#1060662). - Add "shutdown" to "struct class" (bnc#1060662). - tpm: Issue a TPM2_Shutdown for TPM2 devices (bnc#1060662). - tpm: fix a kernel memory leak in tpm-sysfs.c (bnc#1060662). - powerpc/powernv: Fix CPU_HOTPLUG=n idle.c compile error (bnc#1060662). - x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings (bnc#1060662). - sched/fair, cpumask: Export for_each_cpu_wrap() (bnc#1060662). - sched/core: Implement new approach to scale select_idle_cpu() (bnc#1060662). - sched/numa: Use down_read_trylock() for the mmap_sem (bnc#1060662). - sched/numa: Override part of migrate_degrades_locality() when idle balancing (bnc#1060662). - sched/fair: Simplify wake_affine() for the single socket case (bnc#1060662). - sched/numa: Implement NUMA node level wake_affine() (bnc#1060662). - sched/fair: Remove effective_load() (bnc#1060662). - sched/numa: Hide numa_wake_affine() from UP build (bnc#1060662). - xen: avoid deadlock in xenbus driver (bnc#1060662). - crypto: drbg - Fixes panic in wait_for_completion call (bnc#1060662). - Linux 4.12.1 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.1. Expand 4.12.1. - commit 4505d70- mqueue: fix a use-after-free in sys_mq_notify() (bnc#1060662). - imx-serial: RX DMA startup latency (bnc#1060662). - proc: Fix proc_sys_prune_dcache to hold a sb reference (bnc#1060662). - locking/rwsem-spinlock: Fix EINTR branch in __down_write_common() (bnc#1060662). - staging: vt6556: vnt_start Fix missing call to vnt_key_init_table (bnc#1060662). - staging: comedi: fix clean-up of comedi_class in comedi_init() (bnc#1060662). - crypto: caam - fix gfp allocation flags (part I) (bnc#1060662). - crypto: rsa-pkcs1pad - use constant time memory comparison for MACs (bnc#1060662). - ext4: check return value of kstrtoull correctly in reserved_clusters_store (bnc#1060662). - x86/mm/pat: Don't report PAT on CPUs that don't support it (bnc#1060662). - Linux 4.12.2 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.1-2. Expand 4.12.2. - commit ead2cb8- staging: android: uapi: drop definitions of removed ION_IOC_{FREE,SHARE} ioctls (bnc#1060662). - net/mlx5: Fix driver load error flow when firmware is stuck (bnc#1060662). - net/mlx5: Cancel delayed recovery work when unloading the driver (bnc#1060662). - net/mlx5e: Fix TX carrier errors report in get stats ndo (bnc#1060662). - ipv6: dad: don't remove dynamic addresses if link is down (bnc#1060662). - vxlan: fix hlist corruption (bnc#1060662). - geneve: fix hlist corruption (bnc#1060662). - net: core: Fix slab-out-of-bounds in netdev_stats_to_stats64 (bnc#1060662). - liquidio: fix bug in soft reset failure detection (bnc#1060662). - net: ipv6: Compare lwstate in detecting duplicate nexthops (bnc#1060662). - vrf: fix bug_on triggered by rx when destroying a vrf (bnc#1060662). - virtio-net: fix leaking of ctx array (bnc#1060662). - rds: tcp: use sock_create_lite() to create the accept socket (bnc#1060662). - net/mlx5e: Initialize CEE's getpermhwaddr address buffer to 0xff (bnc#1060662). - cxgb4: fix BUG() on interrupt deallocating path of ULD (bnc#1060662). - tap: convert a mutex to a spinlock (bnc#1060662). - bridge: mdb: fix leak on complete_info ptr on fail path (bnc#1060662). - brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx() (bnc#1060662 CVE-2017-7541 bsc#1049645). - sfc: don't read beyond unicast address list (bnc#1060662). - Adding asm-prototypes.h for genksyms to generate crc (bnc#1060662). - sed regex in Makefile.build requires line break between exported symbols (bnc#1060662). - Adding the type of exported symbols (bnc#1060662). - sparc64: Fix gup_huge_pmd (bnc#1060662). - brcmfmac: Fix a memory leak in error handling path in 'brcmf_cfg80211_attach' (bnc#1060662). - brcmfmac: Fix glom_skb leak in brcmf_sdiod_recv_chain (bnc#1060662). - efi: Process the MEMATTR table only if EFI_MEMMAP is enabled (bnc#1060662). - cfg80211: Define nla_policy for NL80211_ATTR_LOCAL_MESH_POWER_MODE (bnc#1060662). - cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES (bnc#1060662). - cfg80211: Check if PMKID attribute is of expected size (bnc#1060662). - cfg80211: Check if NAN service ID is of expected size (bnc#1060662). - drm/amdgpu/gfx6: properly cache mc_arb_ramcfg (bnc#1060662). - KVM: ARM64: fix phy counter access failure in guest (bnc#1060662). - KVM: PPC: Book3S: Fix typo in XICS-on-XIVE state saving code (bnc#1060662). - kvm-vfio: Decouple only when we match a group (bnc#1060662). - irqchip/gic-v3: Fix out-of-bound access in gic_set_affinity (bnc#1060662). - parisc: Report SIGSEGV instead of SIGBUS when running out of stack (bnc#1060662). - parisc: use compat_sys_keyctl() (bnc#1060662). - parisc: DMA API: return error instead of BUG_ON for dma ops on non dma devs (bnc#1060662). - parisc/mm: Ensure IRQs are off in switch_mm() (bnc#1060662). - tools/lib/lockdep: Reduce MAX_LOCK_DEPTH to avoid overflowing lock_chain/: Depth (bnc#1060662). - compiler, clang: always inline when CONFIG_OPTIMIZE_INLINING is disabled (bnc#1060662). - thp, mm: fix crash due race in MADV_FREE handling (bnc#1060662). - kernel/extable.c: mark core_kernel_text notrace (bnc#1060662). - mm/list_lru.c: fix list_lru_count_node() to be race free (bnc#1060662). - fs/dcache.c: fix spin lockup issue on nlru->lock (bnc#1060662). - checkpatch: silence perl 5.26.0 unescaped left brace warnings (bnc#1060662). - binfmt_elf: use ELF_ET_DYN_BASE only for PIE (bnc#1060662). - arm: move ELF_ET_DYN_BASE to 4MB (bnc#1060662). - arm64: move ELF_ET_DYN_BASE to 4GB / 4MB (bnc#1060662). - powerpc: move ELF_ET_DYN_BASE to 4GB / 4MB (bnc#1060662). - s390: reduce ELF_ET_DYN_BASE (bnc#1060662). - exec: Limit arg stack to at most 75% of _STK_LIM (bnc#1060662). - powerpc/kexec: Fix radix to hash kexec due to IAMR/AMOR (bnc#1060662). - ARM64: dts: marvell: armada37xx: Fix timer interrupt specifiers (bnc#1060662). - arm64: Preventing READ_IMPLIES_EXEC propagation (bnc#1060662). - vt: fix unchecked __put_user() in tioclinux ioctls (bnc#1060662). - rcu: Add memory barriers for NOCB leader wakeup (bnc#1060662). - nvmem: core: fix leaks on registration errors (bnc#1060662). - Drivers: hv: vmbus: Close timing hole that can corrupt per-cpu page (bnc#1060662). - mnt: In umount propagation reparent in a separate pass (bnc#1060662). - mnt: In propgate_umount handle visiting mounts in any order (bnc#1060662). - mnt: Make propagate_umount less slow for overlapping mount propagation trees (bnc#1060662). - selftests/capabilities: Fix the test_execve test (bnc#1060662). - mm: fix overflow check in expand_upwards() (bnc#1060662). - crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD (bnc#1060662). - crypto: atmel - only treat EBUSY as transient if backlog (bnc#1060662). - crypto: sha1-ssse3 - Disable avx2 (bnc#1060662). - crypto: caam - properly set IV after {en,de}crypt (bnc#1060662). - crypto: caam - fix signals handling (bnc#1060662). - KEYS: DH: validate __spare field (bnc#1060662). - sched/headers/uapi: Fix linux/sched/types.h userspace compilation errors (bnc#1060662). - sched/topology: Fix building of overlapping sched-groups (bnc#1060662). - sched/topology: Optimize build_group_mask() (bnc#1060662). - sched/topology: Fix overlapping sched_group_mask (bnc#1060662). - PM / wakeirq: Convert to SRCU (bnc#1060662). - pstore: Fix leaked pstore_record in pstore_get_backend_records() (bnc#1060662). - ALSA: x86: Clear the pdata.notify_lpe_audio pointer before teardown (bnc#1060662). - ALSA: hda/realtek - change the location for one of two front microphones (bnc#1060662). - PM / QoS: return -EINVAL for bogus strings (bnc#1060662). - kvm: vmx: Do not disable intercepts for BNDCFGS (bnc#1060662). - kvm: x86: Guest BNDCFGS requires guest MPX support (bnc#1060662). - kvm: vmx: Check value written to IA32_BNDCFGS (bnc#1060662). - kvm: vmx: allow host to access guest MSR_IA32_BNDCFGS (bnc#1060662). - Linux 4.12.3 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.2-3. Expand 4.12.3. - commit bebe2f3- Update config files. - commit 7cd64fe- bnxt_re: Don't issue cmd to delete GID for QP1 GID entry before the QP is destroyed (bsc#1050244 FATE#322915). - bnxt_re: Fix memory leak in FRMR path (bsc#1050244 FATE#322915). - bnxt_re: Remove RTNL lock dependency in bnxt_re_query_port (bsc#1050244 FATE#322915). - bnxt_re: Fix race between the netdev register and unregister events (bsc#1050244 FATE#322915). - bnxt_re: Free up devices in module_exit path (bsc#1050244 FATE#322915). - bnxt_re: Fix compare and swap atomic operands (bsc#1050244 FATE#322915). - bnxt_re: Stop issuing further cmds to FW once a cmd times out (bsc#1050244 FATE#322915). - bnxt_re: Fix update of qplib_qp.mtu when modified (bsc#1050244 FATE#322915). - IB/bnxt_re: Fix frame stack compilation warning (bsc#1050244 FATE#322915). - commit 28ebe60- bnxt_en: check for ingress qdisc in flower offload (bsc#1050242 FATE#32291). - bnxt_en: add a dummy definition for bnxt_vf_rep_get_fid() (bsc#1050242 FATE#32291). - bnxt_en: add code to query TC flower offload stats (bsc#1050242 FATE#32291). - bnxt_en: add TC flower offload flow_alloc/free FW cmds (bsc#1050242 FATE#32291). - bnxt_en: bnxt: add TC flower filter offload support (bsc#1050242 FATE#32291). - bnxt_en: Reduce default rings on multi-port cards (bsc#1050242 FATE#32291). - bnxt_en: Improve -ENOMEM logic in NAPI poll loop (bsc#1050242 FATE#32291). - bnxt: initialize board_info values with proper enums (bsc#1050242 FATE#32291). - bnxt: Add PCIe device IDs for bcm58802/bcm58808 (bsc#1050242 FATE#32291). - bnxt_en: assign CPU affinity hints to bnxt_en IRQs (bsc#1050242 FATE#322914). - bnxt_en: Improve tx ring reservation logic (bsc#1050242 FATE#322914). - bnxt_en: Update firmware interface spec. to 1.8.1.4 (bsc#1050242 FATE#322914). - bnxt_en: fix spelling mistake: "swtichdev" -> "switchdev" (bsc#1050242 FATE#322914). - commit a61ddf9- disable new gcc-7.1.1 warnings for now (bnc#1060662). - ir-core: fix gcc-7 warning on bool arithmetic (bnc#1060662). - s5p-jpeg: don't return a random width/height (bnc#1060662). - thermal: max77620: fix device-node reference imbalance (bnc#1060662). - thermal: cpu_cooling: Avoid accessing potentially freed structures (bnc#1060662). - ath9k: fix tx99 use after free (bnc#1060662). - ath9k: fix tx99 bus error (bnc#1060662). - ath9k: fix an invalid pointer dereference in ath9k_rng_stop() (bnc#1060662). - iwlwifi: mvm: fix the recovery flow while connecting (bnc#1060662). - NFC: fix broken device allocation (bnc#1060662). - NFC: nfcmrvl_uart: add missing tty-device sanity check (bnc#1060662). - NFC: nfcmrvl: do not use device-managed resources (bnc#1060662). - NFC: nfcmrvl: use nfc-device for firmware download (bnc#1060662). - NFC: nfcmrvl: fix firmware-management initialisation (bnc#1060662). - nfc: Ensure presence of required attributes in the activate_target handler (bnc#1060662). - nfc: Fix the sockaddr length sanitization in llcp_sock_connect (bnc#1060662). - NFC: Add sockaddr length checks before accessing sa_family in bind handlers (bnc#1060662). - perf intel-pt: Move decoder error setting into one condition (bnc#1060662). - perf intel-pt: Improve sample timestamp (bnc#1060662). - perf intel-pt: Fix missing stack clear (bnc#1060662). - perf intel-pt: Ensure IP is zero when state is INTEL_PT_STATE_NO_IP (bnc#1060662). - perf intel-pt: Fix last_ip usage (bnc#1060662). - perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero (bnc#1060662). - perf intel-pt: Use FUP always when scanning for an IP (bnc#1060662). - perf intel-pt: Clear FUP flag on error (bnc#1060662). - Bluetooth: use constant time memory comparison for secret values (bnc#1060662). - wlcore: fix 64K page support (bnc#1060662). - pstore: Don't warn if data is uncompressed and type is not PSTORE_TYPE_DMESG (bnc#1060662). - mwifiex: fixup error cases in mwifiex_add_virtual_intf() (bnc#1060662). - Btrfs: fix invalid extent maps due to hole punching (bnc#1060662). - btrfs: Don't clear SGID when inheriting ACLs (bnc#1060662). - Btrfs: incremental send, fix invalid memory access (bnc#1060662). - igb: Explicitly select page 0 at initialization (bnc#1060662). - spi: atmel: fix corrupted data issue on SAM9 family SoCs (bnc#1060662). - ASoC: zx-i2s: flip I2S master/slave mode (bnc#1060662). - ASoC: compress: Derive substream from stream based on direction (bnc#1060662). - ASoC: atmel: tse850: fix off-by-one in the "ANA" enumeration count (bnc#1060662). - PM / Domains: Fix unsafe iteration over modified list of device links (bnc#1060662). - PM / Domains: Fix unsafe iteration over modified list of domain providers (bnc#1060662). - PM / Domains: Fix unsafe iteration over modified list of domains (bnc#1060662). - scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails (bnc#1060662). - scsi: virtio_scsi: let host do exception handling (bnc#1060662). - scsi: qla2xxx: Allow ABTS, PURX, RIDA on ATIOQ for ISP83XX/27XX (bnc#1060662). - scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state (bnc#1060662). - scsi: Avoid that scsi_exit_rq() triggers a use-after-free (bnc#1060662). - iscsi-target: Add login_keys_workaround attribute for non RFC initiators (bnc#1060662). - xen/scsiback: Fix a TMR related use-after-free (bnc#1060662). - scsi: virtio_scsi: always read VPD pages for multiqueue too (bnc#1060662). - powerpc/mm/radix: Only add X for pages overlapping kernel text (bnc#1060662). - powerpc/pseries: Fix passing of pp0 in updatepp() and updateboltedpp() (bnc#1060662). - powerpc/mm/radix: Fix execute permissions for interrupt_vectors (bnc#1060662). - powerpc/64: Fix atomic64_inc_not_zero() to return an int (bnc#1060662). - powerpc: Fix emulation of mcrf in emulate_step() (bnc#1060662). - powerpc: Fix emulation of mfocrf in emulate_step() (bnc#1060662). - powerpc/asm: Mark cr0 as clobbered in mftb() (bnc#1060662). - powerpc/mm/radix: Properly clear process table entry (bnc#1060662). - powerpc/perf: Fix SDAR_MODE value for continous sampling on Power9 (bnc#1060662). - xen/x86: fix cpu hotplug (bnc#1060662). - PCI: vmd: Move SRCU cleanup after bus, child device removal (bnc#1060662). - PCI: Work around poweroff & suspend-to-RAM issue on Macbook Pro 11 (bnc#1060662). - PCI: rockchip: Use normal register bank for config accessors (bnc#1060662). - PCI/PM: Restore the status of PCI devices across hibernation (bnc#1060662). - PCI/MSI: Ignore affinity if pre/post vector count is more than min_vecs (bnc#1060662). - usb: xhci: fix spinlock recursion for USB2 test mode (bnc#1060662). - xhci: fix memleak in xhci_run() (bnc#1060662). - xhci: fix 20000ms port resume timeout (bnc#1060662). - xhci: Fix NULL pointer dereference when cleaning up streams for removed host (bnc#1060662). - xhci: Bad Ethernet performance plugged in ASM1042A host (bnc#1060662). - mxl111sf: Fix driver to use heap allocate buffers for USB messages (bnc#1060662). - usb: storage: return on error to avoid a null pointer dereference (bnc#1060662). - USB: cdc-acm: add device-id for quirky printer (bnc#1060662). - usb: renesas_usbhs: fix usbhsc_resume() for !USBHSF_RUNTIME_PWCTRL (bnc#1060662). - usb: renesas_usbhs: gadget: disable all eps when the driver stops (bnc#1060662). - HID: multitouch: do not blindly set EV_KEY or EV_ABS bits (bnc#1060662). - md: don't use flush_signals in userspace processes (bnc#1060662). - md: fix deadlock between mddev_suspend() and md_write_start() (bnc#1060662). - x86/xen: allow userspace access during hypercalls (bnc#1060662). - cx88: Fix regression in initial video standard setting (bnc#1060662). - rc-core: fix input repeat handling (bnc#1060662). - tools/testing/nvdimm: fix nfit_test buffer overflow (bnc#1060662). - libnvdimm, btt: fix btt_rw_page not returning errors (bnc#1060662). - libnvdimm: fix the clear-error check in nsio_rw_bytes (bnc#1060662). - libnvdimm: fix badblock range handling of ARS range (bnc#1060662). - ext2: Don't clear SGID when inheriting ACLs (bnc#1060662). - dm raid: stop using BUG() in __rdev_sectors() (bnc#1060662). - Raid5 should update rdev->sectors after reshape (bnc#1060662). - s390/syscalls: Fix out of bounds arguments access (bnc#1060662). - drm/amdgpu/gfx8: drop per-APU CU limits (bnc#1060662). - drm/amdgpu: fix vblank_time when displays are off (bnc#1060662). - drm/amdgpu/cgs: always set reference clock in mode_info (bnc#1060662). - drm/amd/amdgpu: Return error if initiating read out of range on vram (bnc#1060662). - drm/amdgpu: fix the memory corruption on S3 (bnc#1060662). - drm/amdgpu: Don't call amd_powerplay_destroy() if we don't have powerplay (bnc#1060662). - drm/radeon/ci: disable mclk switching for high refresh rates (v2) (bnc#1060662). - drm/radeon: Fix eDP for single-display iMac10,1 (v2) (bnc#1060662). - drm/ttm: Fix use-after-free in ttm_bo_clean_mm (bnc#1060662). - drm/etnaviv: Expose our reservation object when exporting a dmabuf (bnc#1060662). - ipmi: use rcu lock around call to intf->handlers->sender() (bnc#1060662). - ipmi:ssif: Add missing unlock in error branch (bnc#1060662). - xfs: Don't clear SGID when inheriting ACLs (bnc#1060662). - CIFS: Reconnect expired SMB sessions (bnc#1060662). - f2fs: load inode's flag from disk (bnc#1060662). - f2fs: wake up all waiters in f2fs_submit_discard_endio (bnc#1060662). - f2fs: sanity check checkpoint segno and blkoff (bnc#1060662). - f2fs: try to freeze in gc and discard threads (bnc#1060662). - f2fs: Do not issue small discards in LFS mode (bnc#1060662). - f2fs: sanity check size of nat and sit cache (bnc#1060662). - f2fs: use spin_{,un}lock_irq{save,restore} (bnc#1060662). - f2fs: Don't clear SGID when inheriting ACLs (bnc#1060662). - serial: st-asc: Potential error pointer dereference (bnc#1060662). - serial: sh-sci: Uninitialized variables in sysfs files (bnc#1060662). - ovl: mark parent impure on ovl_link() (bnc#1060662). - ovl: fix random return value on mount (bnc#1060662). - drm/amd/powerplay: fix memory leak in cz_hwmgr backend (bnc#1060662). - drm/i915: Disable MSI for all pre-gen5 (bnc#1060662). - vfio: Fix group release deadlock (bnc#1060662). - vfio: New external user group/file match (bnc#1060662). - vfio: Remove unnecessary uses of vfio_container.group_lock (bnc#1060662). - nvme-rdma: remove race conditions from IB signalling (bnc#1060662). - ftrace: Fix uninitialized variable in match_records() (bnc#1060662). - iommu/arm-smmu: Plumb in new ACPI identifiers (bnc#1060662). - drm/i915/gvt: Fix inconsistent locks holding sequence (bnc#1060662). - drm/atomic: Add missing drm_atomic_state_clear to atomic_remove_fb (bnc#1060662). - MIPS: Fix mips_atomic_set() retry condition (bnc#1060662). - MIPS: Fix mips_atomic_set() with EVA (bnc#1060662). - MIPS: Negate error syscall return in trace (bnc#1060662). - mtd: nand: tango: Fix incorrect use of SEQIN command (bnc#1060662). - ubifs: Correctly evict xattr inodes (bnc#1060662). - ubifs: Don't leak kernel memory to the MTD (bnc#1060662). - ubifs: Don't encrypt special files on creation (bnc#1060662). - ubifs: Set double hash cookie also for RENAME_EXCHANGE (bnc#1060662). - ACPI / EC: Drop EC noirq hooks to fix a regression (bnc#1060662). - Revert "ACPI / EC: Enable event freeze mode..." to fix a regression (bnc#1060662). - x86/acpi: Prevent out of bound access caused by broken ACPI tables (bnc#1060662 CVE-2017-11473 bsc#1049603). - x86/ioapic: Pass the correct data to unmask_ioapic_irq() (bnc#1060662). - MIPS: Fix MIPS I ISA /proc/cpuinfo reporting (bnc#1060662). - MIPS: Save static registers before sysmips (bnc#1060662). - MIPS: Actually decode JALX in `__compute_return_epc_for_insn' (bnc#1060662). - MIPS: Fix unaligned PC interpretation in `compute_return_epc' (bnc#1060662). - MIPS: math-emu: Prevent wrong ISA mode instruction emulation (bnc#1060662). - MIPS: Send SIGILL for BPOSGE32 in `__compute_return_epc_for_insn' (bnc#1060662). - MIPS: Rename `sigill_r6' to `sigill_r2r6' in `__compute_return_epc_for_insn' (bnc#1060662). - MIPS: Send SIGILL for linked branches in `__compute_return_epc_for_insn' (bnc#1060662). - MIPS: Send SIGILL for R6 branches in `__compute_return_epc_for_insn' (bnc#1060662). - MIPS: Fix a typo: s/preset/present/ in r2-to-r6 emulation error message (bnc#1060662). - Input: i8042 - fix crash at boot time (bnc#1060662). - IB/iser: Fix connection teardown race condition (bnc#1060662). - IB/core: Namespace is mandatory input for address resolution (bnc#1060662). - sunrpc: use constant time memory comparison for mac (bnc#1060662). - net/sunrpc/xprt_sock: fix regression in connection error reporting (bnc#1060662). - NFS: Fix initialization of nfs_page_array->npages (bnc#1060662). - PNFS fix EACCESS on commit to DS handling (bnc#1060662). - NFS: only invalidate dentrys that are clearly invalid (bnc#1060662 bsc#1047118). - udf: Fix races with i_size changes during readpage (bnc#1060662). - udf: Fix deadlock between writeback and udf_setsize() (bnc#1060662). - target: Fix COMPARE_AND_WRITE caw_sem leak during se_cmd quiesce (bnc#1060662). - iser-target: Avoid isert_conn->cm_id dereference in isert_login_recv_done (bnc#1060662). - perf annotate: Fix broken arrow at row 0 connecting jmp instruction to its target (bnc#1060662). - perf/core: Fix scheduling regression of pinned groups (bnc#1060662). - Revert "perf/core: Drop kernel samples even though :u is specified" (bnc#1060662). - staging: rtl8188eu: add TL-WN722N v2 support (bnc#1060662). - staging: comedi: ni_mio_common: fix AO timer off-by-one regression (bnc#1060662). - staging: sm750fb: avoid conflicting vesafb (bnc#1060662). - staging: lustre: ko2iblnd: check copy_from_iter/copy_to_iter return code (bnc#1060662). - ceph: fix race in concurrent readdir (bnc#1060662). - RDMA/uverbs: Fix the check for port number (bnc#1060662). - RDMA/core: Initialize port_num in qp_attr (bnc#1060662). - drm/mst: Fix error handling during MST sideband message reception (bnc#1060662). - drm/mst: Avoid dereferencing a NULL mstb in drm_dp_mst_handle_up_req() (bnc#1060662). - drm/mst: Avoid processing partially received up/down message transactions (bnc#1060662). - drm/i915: Make DP-MST connector info work (bnc#1060662). - mlx5: Avoid that mlx5_ib_sg_to_klms() overflows the klms[] array (bnc#1060662). - hfsplus: Don't clear SGID when inheriting ACLs (bnc#1060662). - vtime, sched/cputime: Remove vtime_account_user() (bnc#1060662 bnc#978907). - sched/cputime: Always set tsk->vtime_snap_whence after accounting vtime (bnc#1060662 bnc#978907). - sched/cputime: Rename vtime fields (bnc#1060662 bnc#978907). - sched/cputime: Move the vtime task fields to their own struct (bnc#1060662 bnc#978907). - sched/cputime: Accumulate vtime on top of nsec clocksource (bnc#1060662 bnc#978907). - sched/fair: Fix load_balance() affinity redo path (bnc#1060662 bnc#978907). - percpu_counter: Rename __percpu_counter_add to percpu_counter_add_batch (bnc#1060662 bnc#971975). - writeback: rework wb_[dec|inc]_stat family of functions (bnc#1060662 bnc#971975). - kernel/fork.c: virtually mapped stacks: do not disable interrupts (bnc#1060662 bnc#978907). - acpi/nfit: Fix memory corruption/Unregister mce decoder on failure (bnc#1060662). - vmbus: re-enable channel tasklet (bnc#1060662). - cpufreq: intel_pstate: Correct the busy calculation for KNL (bnc#1060662). - spmi: Include OF based modalias in device uevent (bnc#1060662). - reiserfs: Don't clear SGID when inheriting ACLs (bnc#1060662). - device-dax: fix sysfs duplicate warnings (bnc#1060662). - drm/imx: parallel-display: Accept drm_of_find_panel_or_bridge failure (bnc#1060662). - PM / Domains: defer dev_pm_domain_set() until genpd->attach_dev succeeds if present (bnc#1060662). - tracing: Fix kmemleak in instance_rmdir (bnc#1060662). - drm/i915/fbdev: Check for existence of ifbdev->vma before operations (bnc#1060662). - drm/i915: Hold RPM wakelock while initializing OA buffer (bnc#1060662). - drm/i915: reintroduce VLV/CHV PFI programming power domain workaround (bnc#1060662). - smp/hotplug: Move unparking of percpu threads to the control CPU (bnc#1060662). - smp/hotplug: Replace BUG_ON and react useful (bnc#1060662). - alarmtimer: don't rate limit one-shot timers (bnc#1060662). - sched/cputime: Don't use smp_processor_id() in preemptible context (bnc#1060662). - Linux 4.12.4 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.3-4. Expand 4.12.4. - commit 9cb5903- scsi: qla2xxx: add missing includes for qla_isr (FATE#322910). Refresh patches.drivers/0036-scsi-qla2xxx-Add-FC-NVMe-command-handling.patch. - commit 474a2df- scsi: aacraid: Add a small delay after IOP reset (FATE#322889, bsc#1049519). - commit 2a43d5a- series.conf: fix patch ordering - commit affbdfb- jfs: Don't clear SGID when inheriting ACLs (bnc#1060662). - ALSA: fm801: Initialize chip after IRQ handler is registered (bnc#1060662 bsc#1051510). - ALSA: hda - Add missing NVIDIA GPU codec IDs to patch table (bnc#1060662). - ALSA: hda - Add mute led support for HP ProBook 440 G4 (bnc#1060662). - parisc: Prevent TLB speculation on flushed pages on CPUs that only support equivalent aliases (bnc#1060662). - parisc: Extend disabled preemption in copy_user_page (bnc#1060662). - parisc: Suspend lockup detectors before system halt (bnc#1060662). - powerpc/pseries: Fix of_node_put() underflow during reconfig remove (bnc#1060662). - mmc: sunxi: Keep default timing phase settings for new timing mode (bnc#1060662). - NFS: invalidate file size when taking a lock (bnc#1060662). - NFSv4.1: Fix a race where CB_NOTIFY_LOCK fails to wake a waiter (bnc#1060662). - scripts/dtc: dtx_diff - update include dts paths to match build (bnc#1060662). - crypto: brcm - Fix SHA3-512 algorithm failure (bnc#1060662). - crypto: brcm - remove BCM_PDC_MBOX dependency in Kconfig (bnc#1060662). - crypto: authencesn - Fix digest_null crash (bnc#1060662). - KVM: PPC: Book3S HV: Enable TM before accessing TM registers (bnc#1060662). - KVM: PPC: Book3S HV: Fix host crash on changing HPT size (bnc#1060662). - dm integrity: fix inefficient allocation of journal space (bnc#1060662). - dm integrity: test for corrupted disk format during table load (bnc#1060662). - md: remove 'idx' from 'struct resync_pages' (bnc#1060662 bsc#1049599). - md/raid1: fix writebehind bio clone (bnc#1060662). - md/raid5: add thread_group worker async_tx_issue_pending_all (bnc#1060662). - drm/vmwgfx: Fix gcc-7.1.1 warning (bnc#1060662). - drm/vmwgfx: Limit max desktop dimensions to 8Kx8K (bnc#1060662). - drm/nouveau/disp/nv50-: bump max chans to 21 (bnc#1060662). - drm/nouveau/bar/gf100: fix access to upper half of BAR2 (bnc#1060662). - drm/i915: Fix scaler init during CRTC HW state readout (bnc#1060662). - isdn/i4l: fix buffer overflow (bnc#1060662). - ipmi/watchdog: fix watchdog timeout set on reboot (bnc#1060662). - dentry name snapshots (bnc#1060662 bsc#1049483). - mmc: tmio-mmc: fix bad pointer math (bnc#1060662). - Linux 4.12.5 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.4-5. Expand 4.12.5. - commit d481b6d- Moved powerpc-Blacklist-GCC-5.4-6.1-and-6.2.patch to patches.rpmify. It's a compiler blacklist addition and should be applied to vanilla too. - commit cfc7e71- iw_cxgb4: remove the stid on listen create failure (bsc#1046543 FATE#322927). - iw_cxgb4: drop listen destroy replies if no ep found (bsc#1046543 FATE#322927). - iw_cxgb4: put ep reference in pass_accept_req() (bsc#1046543 FATE#322927). - commit b8f72a3- parisc: Increase thread and stack size to 32kb (bnc#1060662). - parisc: Handle vma's whose context is not current in flush_cache_range (bnc#1060662). - scsi: lpfc: fix linking against modular NVMe support (bnc#1060662). - ACPI / LPSS: Only call pwm_add_table() for the first PWM controller (bnc#1060662). - cgroup: don't call migration methods if there are no tasks to migrate (bnc#1060662). - cgroup: create dfl_root files on subsys registration (bnc#1060662). - cgroup: fix error return value from cgroup_subtree_control() (bnc#1060662). - libata: array underflow in ata_find_dev() (bnc#1060662). - workqueue: restore WQ_UNBOUND/max_active==1 to be ordered (bnc#1060662). - iwlwifi: dvm: prevent an out of bounds access (bnc#1060662). - brcmfmac: fix memleak due to calling brcmf_sdiod_sgtable_alloc() twice (bnc#1060662). - NFSv4: Fix EXCHANGE_ID corrupt verifier issue (bnc#1060662). - mmc: sdhci-of-at91: force card detect value for non removable devices (bnc#1060662). - mmc: core: Use device_property_read instead of of_property_read (bnc#1060662). - mmc: dw_mmc: Use device_property_read instead of of_property_read (bnc#1060662). - mm, mprotect: flush TLB if potentially racing with a parallel reclaim leaving stale TLB entries (bnc#1060662). - mm/hugetlb.c: __get_user_pages ignores certain follow_hugetlb_page errors (bnc#1060662). - userfaultfd: non-cooperative: notify about unmap of destination during mremap (bnc#1060662). - userfaultfd_zeropage: return -ENOSPC in case mm has gone (bnc#1060662). - userfaultfd: non-cooperative: flush event_wqh at release time (bnc#1060662). - cpuset: fix a deadlock due to incomplete patching of cpusets_enabled() (bnc#1060662). - ocfs2: don't clear SGID when inheriting ACLs (bnc#1060662). - ALSA: hda - Fix speaker output from VAIO VPCL14M1R (bnc#1060662). - drm/amdgpu: fix header on gfx9 clear state (bnc#1060662). - drm/amdgpu: Fix undue fallthroughs in golden registers initialization (bnc#1060662). - ASoC: fix pcm-creation regression (bnc#1060662). - ASoC: ux500: Restore platform DAI assignments (bnc#1060662). - ASoC: do not close shared backend dailink (bnc#1060662). - KVM: arm/arm64: Handle hva aging while destroying the vm (bnc#1060662). - KVM: async_pf: make rcu irq exit if not triggered from idle task (bnc#1060662). - timers: Fix overflow in get_next_timer_interrupt (bnc#1060662). - powerpc/tm: Fix saving of TM SPRs in core dump (bnc#1060662). - powerpc/64: Fix __check_irq_replay missing decrementer interrupt (bnc#1060662). - iommu/amd: Enable ga_log_intr when enabling guest_mode (bnc#1060662 bsc#1052533). - ARM64: dts: marvell: armada-37xx: Fix the number of GPIO on south bridge (bnc#1060662). - gpiolib: skip unwanted events, don't convert them to opposite edge (bnc#1060662). - ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize (bnc#1060662). - ext4: fix overflow caused by missing cast in ext4_resize_fs() (bnc#1060662). - MIPS: ralink: Fix build error due to missing header (bnc#1060662). - clk: sunxi-ng: sun5i: Add clk_set_rate_parent to the CPU clock (bnc#1060662). - ARM: mvebu: use __pa_symbol in the mv98dx3236 platform SMP code (bnc#1060662). - ARM: dts: armada-38x: Fix irq type for pca955 (bnc#1060662). - ARM: dts: tango4: Request RGMII RX and TX clock delays (bnc#1060662). - media: pulse8-cec: persistent_config should be off by default (bnc#1060662). - media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds (bnc#1060662). - media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl (bnc#1060662). - ir-spi: Fix issues with lirc API (bnc#1060662). - tcmu: Fix flushing cmd entry dcache page (bnc#1060662). - tcmu: Fix possbile memory leak / OOPs when recalculating cmd base size (bnc#1060662). - ext4: preserve i_mode if __ext4_set_acl() fails (bnc#1060662). - ext4: Don't clear SGID when inheriting ACLs (bnc#1060662). - Btrfs: fix early ENOSPC due to delalloc (bnc#1060662). - blk-mq: Include all present CPUs in the default queue mapping (bnc#1060662). - blk-mq: Create hctx for each present CPU (bnc#1060662). - block: disable runtime-pm for blk-mq (bnc#1060662). - saa7164: fix double fetch PCIe access condition (bnc#1060662 CVE-2017-8831 bsc#1037994). - sctp: fix an array overflow when all ext chunks are set (bnc#1060662). - tcp_bbr: cut pacing rate only if filled pipe (bnc#1060662). - tcp_bbr: introduce bbr_bw_to_pacing_rate() helper (bnc#1060662). - tcp_bbr: introduce bbr_init_pacing_rate_from_rtt() helper (bnc#1060662). - tcp_bbr: remove sk_pacing_rate=0 transient during init (bnc#1060662). - tcp_bbr: init pacing rate on first RTT sample (bnc#1060662). - ipv4: ipv6: initialize treq->txhash in cookie_v[46]_check() (bnc#1060662). - wireless: wext: terminate ifr name coming from userspace (bnc#1060662). - net: Zero terminate ifr_name in dev_ifname() (bnc#1060662). - net: dsa: mv88e6xxx: Enable CMODE config support for 6390X (bnc#1060662). - Revert "rtnetlink: Do not generate notifications for CHANGEADDR event" (bnc#1060662). - ipv6: avoid overflow of offset in ip6_find_1stfragopt (bnc#1060662 CVE-2017-7542 bsc#1049882). - net: dsa: b53: Add missing ARL entries for BCM53125 (bnc#1060662). - ipv4: initialize fib_trie prior to register_netdev_notifier call (bnc#1060662). - rtnetlink: allocate more memory for dev_set_mac_address() (bnc#1060662). - net: bonding: Fix transmit load balancing in balance-alb mode (bnc#1060662). - mcs7780: Fix initialization when CONFIG_VMAP_STACK is enabled (bnc#1060662). - openvswitch: fix potential out of bound access in parse_ct (bnc#1060662). - packet: fix use-after-free in prb_retire_rx_blk_timer_expired() (bnc#1060662). - ipv6: Don't increase IPSTATS_MIB_FRAGFAILS twice in ip6_fragment() (bnc#1060662). - net: ethernet: nb8800: Handle all 4 RGMII modes identically (bnc#1060662). - bonding: commit link status change after propose (bnc#1060662). - dccp: fix a memleak that dccp_ipv6 doesn't put reqsk properly (bnc#1060662). - dccp: fix a memleak that dccp_ipv4 doesn't put reqsk properly (bnc#1060662). - dccp: fix a memleak for dccp_feat_init err process (bnc#1060662). - net/mlx5: Consider tx_enabled in all modes on remap (bnc#1060662). - net/mlx5: Fix command completion after timeout access invalid structure (bnc#1060662). - net/mlx5: Fix command bad flow on command entry allocation failure (bnc#1060662). - sctp: don't dereference ptr before leaving _sctp_walk_{params, errors}() (bnc#1060662). - sctp: fix the check for _sctp_walk_params and _sctp_walk_errors (bnc#1060662). - net/mlx5e: IPoIB, Modify add/remove underlay QPN flows (bnc#1060662). - net/mlx5e: Fix outer_header_zero() check size (bnc#1060662). - net/mlx5: Fix mlx5_ifc_mtpps_reg_bits structure size (bnc#1060662). - net/mlx5e: Add field select to MTPPS register (bnc#1060662). - net/mlx5e: Fix broken disable 1PPS flow (bnc#1060662). - net/mlx5e: Change 1PPS out scheme (bnc#1060662). - net/mlx5e: Add missing support for PTP_CLK_REQ_PPS request (bnc#1060662). - net/mlx5e: Fix wrong delay calculation for overflow check scheduling (bnc#1060662). - net/mlx5e: Schedule overflow check work to mlx5e workqueue (bnc#1060662). - net/mlx5: Fix mlx5_add_flow_rules call with correct num of dests (bnc#1060662). - udp6: fix socket leak on early demux (bnc#1060662). - net: phy: Correctly process PHY_HALTED in phy_stop_machine() (bnc#1060662). - workqueue: implicit ordered attribute should be overridable (bnc#1060662). - ipv4: fib: Fix NULL pointer deref during fib_sync_down_dev() (bnc#1060662). - virtio_net: fix truesize for mergeable buffers (bnc#1060662). - sparc64: Measure receiver forward progress to avoid send mondo timeout (bnc#1060662). - sparc64: Prevent perf from running during super critical sections (bnc#1060662). - sparc64: Register hugepages during arch init (bnc#1060662). - sparc64: Fix exception handling in UltraSPARC-III memcpy (bnc#1060662). - drm/vmwgfx: Fix cursor hotspot issue with Wayland on Fedora (bnc#1060662). - Linux 4.12.6 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.5-6. Expand 4.12.6. - commit c435580- cxgb4: Ignore MPS_TX_INT_CAUSE for T6 (bsc#1046540 FATE#322930). - cxgb4: Fix pause frame count in t4_get_port_stats (bsc#1046540 FATE#322930). - cxgb4: fix memory leak (bsc#1046540 FATE#322930). - cxgb4/cxgbvf: Handle 32-bit fw port capabilities (bsc#1046540 FATE#322930 bsc#1046542 FATE#322928). - cxgb4: Clear On FLASH config file after a FW upgrade (bsc#1046540 FATE#322930). - commit 9ed00a3- net/sched: Fix the logic error to decide the ingress qdisc (bsc#1056787). - net: sched: use newly added classid identity helpers (bsc#1056787). - net: sched: propagate classid down to offload drivers (bsc#1056787). - net: sched: Add helpers to identify classids (bsc#1056787). - net: sched: get rid of struct tc_to_netdev (bsc#1056787). - net: sched: change return value of ndo_setup_tc for driver supporting mqprio only (bsc#1056787). - commit 3fa59d0- ppp: Fix false xmit recursion detect with two ppp devices (bnc#1060662). - ppp: fix xmit recursion detection on ppp channels (bnc#1060662). - tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states (bnc#1060662). - net: fix keepalive code vs TCP_FASTOPEN_CONNECT (bnc#1060662). - ipv6: set rt6i_protocol properly in the route when it is installed (bnc#1060662). - bpf, s390: fix jit branch offset related to ldimm64 (bnc#1060662). - net/mlx4_en: don't set CHECKSUM_COMPLETE on SCTP packets (bnc#1060662). - net: sched: set xt_tgchk_param par.net properly in ipt_init_target (bnc#1060662). - net: sched: set xt_tgchk_param par.nft_compat as 0 in ipt_init_target (bnc#1060662). - tcp: fastopen: tcp_connect() must refresh the route (bnc#1060662). - qmi_wwan: fix NULL deref on disconnect (bnc#1060662). - net: avoid skb_warn_bad_offload false positives on UFO (bnc#1060662). - igmp: Fix regression caused by igmp sysctl namespace code (bnc#1060662). - udp: consistently apply ufo or fragmentation (bnc#1060662). - packet: fix tp_reserve race in packet_set_ring (bnc#1060662). - scsi: sg: only check for dxfer_len greater than 256M (bnc#1060662). - btrfs: Remove false alert when fiemap range is smaller than on-disk extent (bnc#1060662). - Linux 4.12.7 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.6-7. Expand 4.12.7. - commit 8cebe24- mm: ratelimit PFNs busy info message (bnc#1060662). - mm: fix list corruptions on shmem shrinklist (bnc#1060662). - futex: Remove unnecessary warning from get_futex_key (bnc#1060662). - xtensa: fix cache aliasing handling code for WT cache (bnc#1060662). - xtensa: mm/cache: add missing EXPORT_SYMBOLs (bnc#1060662). - xtensa: don't limit csum_partial export by CONFIG_NET (bnc#1060662). - xfs: Fix leak of discard bio (bnc#1060662). - pinctrl: armada-37xx: Fix number of pin in south bridge (bnc#1060662). - mtd: nand: atmel: Fix DT backward compatibility in pmecc.c (bnc#1060662). - mtd: nand: Fix timing setup for NANDs that do not support SET FEATURES (bnc#1060662). - mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow (bnc#1060662). - iscsi-target: fix memory leak in iscsit_setup_text_cmd() (bnc#1060662). - iscsi-target: Fix iscsi_np reset hung task during parallel delete (bnc#1060662). - usb-storage: fix deadlock involving host lock and scsi_done (bnc#1060662). - target: Fix node_acl demo-mode + uncached dynamic shutdown regression (bnc#1060662). - fuse: initialize the flock flag in fuse_file on allocation (bnc#1060662). - i2c: designware: Some broken DSTDs use 1MiHz instead of 1MHz (bnc#1060662). - nand: fix wrong default oob layout for small pages using soft ecc (bnc#1060662). - mmc: mmc: correct the logic for setting HS400ES signal voltage (bnc#1060662). - nfs/flexfiles: fix leak of nfs4_ff_ds_version arrays (bnc#1060662). - drm/bridge: tc358767: fix probe without attached output node (bnc#1060662). - drm/etnaviv: Fix off-by-one error in reloc checking (bnc#1060662). - drm/i915: Fix out-of-bounds array access in bdw_load_gamma_lut (bnc#1060662). - USB: serial: option: add D-Link DWM-222 device ID (bnc#1060662). - USB: serial: cp210x: add support for Qivicon USB ZigBee dongle (bnc#1060662). - USB: serial: pl2303: add new ATEN device id (bnc#1060662). - usb: musb: fix tx fifo flush handling again (bnc#1060662). - USB: hcd: Mark secondary HCD as dead if the primary one died (bnc#1060662). - staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read (bnc#1060662). - iio: aspeed-adc: wait for initial sequence (bnc#1060662). - iio: accel: st_accel: add SPI-3wire support (bnc#1060662). - iio: accel: bmc150: Always restore device to normal mode after suspend-resume (bnc#1060662). - iio: pressure: st_pressure_core: disable multiread by default for LPS22HB (bnc#1060662). - iio: light: tsl2563: use correct event code (bnc#1060662). - iio: adc: Revert "axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications" (bnc#1060662). - staging: comedi: comedi_fops: do not call blocking ops when !TASK_RUNNING (bnc#1060662). - uas: Add US_FL_IGNORE_RESIDUE for Initio Corporation INIC-3069 (bnc#1060662). - firmware: fix batched requests - wake all waiters (bnc#1060662). - firmware: fix batched requests - send wake up on failure on direct lookups (bnc#1060662). - firmware: avoid invalid fallback aborts by using killable wait (bnc#1060662). - block: Make blk_mq_delay_kick_requeue_list() rerun the queue at a quiet time (bnc#1060662). - usb: gadget: udc: renesas_usb3: Fix usb_gadget_giveback_request() calling (bnc#1060662). - usb: renesas_usbhs: Fix UGCTRL2 value for R-Car Gen3 (bnc#1060662). - USB: Check for dropped connection before switching to full speed (bnc#1060662). - usb: core: unlink urbs from the tail of the endpoint's urb_list (bnc#1060662). - usb: quirks: Add no-lpm quirk for Moshi USB to Ethernet Adapter (bnc#1060662). - usb:xhci:Add quirk for Certain failing HP keyboard on reset after resume (bnc#1060662). - PCI: Protect pci_error_handlers->reset_notify() usage with device_lock() (bnc#1060662). - PCI: Remove __pci_dev_reset() and pci_dev_reset() (bnc#1060662). - PCI: Add pci_reset_function_locked() (bnc#1060662). - xhci: Reset Renesas uPD72020x USB controller for 32-bit DMA issue (bnc#1060662). - iio: adc: vf610_adc: Fix VALT selection value for REFSEL bits (bnc#1060662). - pnfs/blocklayout: require 64-bit sector_t (bnc#1060662). - pinctrl: cherryview: Add Setzer models to the Chromebook DMI quirk (bnc#1060662). - pinctrl: sunxi: add a missing function of A10/A20 pinctrl driver (bnc#1060662). - pinctrl: intel: merrifield: Correct UART pin lists (bnc#1060662). - pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD11 (bnc#1060662). - pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD20 (bnc#1060662). - pinctrl: samsung: Remove bogus irq_[un]mask from resource management (bnc#1060662). - pinctrl: meson-gxbb: Add missing GPIODV_18 pin entry (bnc#1060662). - pinctrl: meson-gxl: Add missing GPIODV_18 pin entry (bnc#1060662). - MIPS: DEC: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression (bnc#1060662). - Revert "MIPS: Don't unnecessarily include kmalloc.h into ." (bnc#1060662). - MIPS: Octeon: Fix broken EDAC driver (bnc#1060662). - powerpc: Fix /proc/cpuinfo revision for POWER9 DD2 (bnc#1060662 bsc#1046789). - Linux 4.12.8 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.7-8. Expand 4.12.8. - commit e01e9dd- Update marker for sorted section in series.conf The section now contains patches related to more than just networking. - commit 987899b- Refresh patches.apparmor/0024-apparmor-speed-up-transactional-queries.patch. - Refresh patches.apparmor/0030-apparmor-cleanup-__find_child.patch. - Refresh patches.apparmor/0031-apparmor-add-namespace-lookup-fns.patch. - Refresh patches.drivers/0009-thunderbolt-Convert-switch-to-a-device.patch. Fix broken Git-commit tags - commit 4f9ee19- audit: Fix use after free in audit_remove_watch_rule() (bnc#1060662). - parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo (bnc#1060662). - crypto: ixp4xx - Fix error handling path in 'aead_perform()' (bnc#1060662). - crypto: x86/sha1 - Fix reads beyond the number of blocks passed (bnc#1060662). - drm/i915: Perform an invalidate prior to executing golden renderstate (bnc#1060662). - drm/amdgpu: save list length when fence is signaled (bnc#1060662). - Input: elan_i2c - add ELAN0608 to the ACPI table (bnc#1060662). - Input: elan_i2c - Add antoher Lenovo ACPI ID for upcoming Lenovo NB (bnc#1060662). - md: fix test in md_write_start() (bnc#1060662). - md: always clear ->safemode when md_check_recovery gets the mddev lock (bnc#1060662). - MD: not clear ->safemode for external metadata array (bnc#1060662). - ALSA: seq: 2nd attempt at fixing race creating a queue (bnc#1060662). - ALSA: usb-audio: Apply sample rate quirk to Sennheiser headset (bnc#1060662 bsc#1052580). - ALSA: usb-audio: Add mute TLV for playback volumes on C-Media devices (bnc#1060662). - ALSA: usb-audio: add DSD support for new Amanero PID (bnc#1060662). - mm: discard memblock data later (bnc#1060662). - slub: fix per memcg cache leak on css offline (bnc#1060662). - mm: fix double mmap_sem unlock on MMF_UNSTABLE enforced SIGBUS (bnc#1060662). - mm/cma_debug.c: fix stack corruption due to sprintf usage (bnc#1060662). - mm/mempolicy: fix use after free when calling get_mempolicy (bnc#1060662). - mm/vmalloc.c: don't unconditonally use __GFP_HIGHMEM (bnc#1060662). - mm: revert x86_64 and arm64 ELF_ET_DYN_BASE base changes (bnc#1060662). - xen: fix bio vec merging (bnc#1060662). - ARM: dts: imx6qdl-nitrogen6_som2: fix PCIe reset (bnc#1060662). - blk-mq-pci: add a fallback when pci_irq_get_affinity returns NULL (bnc#1060662). - powerpc: Fix VSX enabling/flushing to also test MSR_FP and MSR_VEC (bnc#1060662). - xen-blkfront: use a right index when checking requests (bnc#1060662). - perf/x86: Fix RDPMC vs. mm_struct tracking (bnc#1060662). - x86/asm/64: Clear AC on NMI entries (bnc#1060662). - x86: Fix norandmaps/ADDR_NO_RANDOMIZE (bnc#1060662). - x86/elf: Remove the unnecessary ADDR_NO_RANDOMIZE checks (bnc#1060662). - irqchip/atmel-aic: Fix unbalanced of_node_put() in aic_common_irq_fixup() (bnc#1060662). - irqchip/atmel-aic: Fix unbalanced refcount in aic_common_rtc_irq_fixup() (bnc#1060662). - genirq: Restore trigger settings in irq_modify_status() (bnc#1060662). - genirq/ipi: Fixup checks against nr_cpu_ids (bnc#1060662). - kernel/watchdog: Prevent false positives with turbo modes (bnc#1060662). - Sanitize 'move_pages()' permission checks (bnc#1060662). - pids: make task_tgid_nr_ns() safe (bnc#1060662). - debug: Fix WARN_ON_ONCE() for modules (bnc#1060662 bnc#1049599). - usb: optimize acpi companion search for usb port devices (bnc#1060662). - usb: qmi_wwan: add D-Link DWM-222 device ID (bnc#1060662). - Linux 4.12.9 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.8-9. Expand 4.12.9. - commit 87e5f9e- sparc64: remove unnecessary log message (bnc#1060662). - bonding: require speed/duplex only for 802.3ad, alb and tlb (bnc#1060662). - bonding: ratelimit failed speed/duplex update warning (bnc#1060662). - af_key: do not use GFP_KERNEL in atomic contexts (bnc#1060662). - dccp: purge write queue in dccp_destroy_sock() (bnc#1060662). - dccp: defer ccid_hc_tx_delete() at dismantle time (bnc#1060662). - ipv4: fix NULL dereference in free_fib_info_rcu() (bnc#1060662). - net_sched/sfq: update hierarchical backlog when drop packet (bnc#1060662). - net_sched: remove warning from qdisc_hash_add (bnc#1060662). - bpf: fix bpf_trace_printk on 32 bit archs (bnc#1060662). - net: igmp: Use ingress interface rather than vrf device (bnc#1060662). - openvswitch: fix skb_panic due to the incorrect actions attrlen (bnc#1060662). - ptr_ring: use kmalloc_array() (bnc#1060662 bsc#1055945). - ipv4: better IP_MAX_MTU enforcement (bnc#1060662). - nfp: fix infinite loop on umapping cleanup (bnc#1060662). - tun: handle register_netdevice() failures properly (bnc#1060662). - sctp: fully initialize the IPv6 address in sctp_v6_to_addr() (bnc#1060662). - tipc: fix use-after-free (bnc#1060662). - ipv6: reset fn->rr_ptr when replacing route (bnc#1060662). - ipv6: repair fib6 tree in failure case (bnc#1060662). - tcp: when rearming RTO, if RTO time is in past then fire RTO ASAP (bnc#1060662). - net/mlx4_core: Enable 4K UAR if SRIOV module parameter is not enabled (bnc#1060662). - irda: do not leak initialized list.dev to userspace (bnc#1060662). - net: sched: fix NULL pointer dereference when action calls some targets (bnc#1060662). - net_sched: fix order of queue length updates in qdisc_replace() (bnc#1060662). - bpf, verifier: add additional patterns to evaluate_reg_imm_alu (bnc#1060662). - bpf: fix mixed signed/unsigned derived min/max value bounds (bnc#1060662 bsc#1050081). - bpf/verifier: fix min/max handling in BPF_SUB (bnc#1060662 bsc#1050081). - Input: trackpoint - add new trackpoint firmware ID (bnc#1060662). - Input: elan_i2c - add ELAN0602 ACPI ID to support Lenovo Yoga310 (bnc#1060662). - Input: ALPS - fix two-finger scroll breakage in right side on ALPS touchpad (bnc#1060662 bsc#1050582). - KVM: s390: sthyi: fix sthyi inline assembly (bnc#1060662). - KVM: s390: sthyi: fix specification exception detection (bnc#1060662). - KVM: x86: simplify handling of PKRU (bnc#1060662 bsc#1055935). - KVM, pkeys: do not use PKRU value in vcpu->arch.guest_fpu.state (bnc#1060662 bsc#1055935). - KVM: x86: block guest protection keys unless the host has them enabled (bnc#1060662 bsc#1055935). - ALSA: usb-audio: Add delay quirk for H650e/Jabra 550a USB headsets (bnc#1060662). - ALSA: core: Fix unexpected error at replacing user TLV (bnc#1060662). - ALSA: hda - Add stereo mic quirk for Lenovo G50-70 (17aa:3978) (bnc#1060662 bsc#1020657). - ALSA: firewire: fix NULL pointer dereference when releasing uninitialized data of iso-resource (bnc#1060662). - ALSA: firewire-motu: destroy stream data surely at failure of card initialization (bnc#1060662). - ARCv2: SLC: Make sure busy bit is set properly for region ops (bnc#1060662). - ARCv2: PAE40: Explicitly set MSB counterpart of SLC region ops addresses (bnc#1060662). - ARCv2: PAE40: set MSB even if !CONFIG_ARC_HAS_PAE40 but PAE exists in SoC (bnc#1060662). - PM/hibernate: touch NMI watchdog when creating snapshot (bnc#1060662). - mm, shmem: fix handling /sys/kernel/mm/transparent_hugepage/shmem_enabled (bnc#1060662). - dax: fix deadlock due to misaligned PMD faults (bnc#1060662). - i2c: designware: Fix system suspend (bnc#1060662). - mm/madvise.c: fix freeing of locked page with MADV_FREE (bnc#1060662). - fork: fix incorrect fput of ->exe_file causing use-after-free (bnc#1060662). - mm/memblock.c: reversed logic in memblock_discard() (bnc#1060662). - arm64: fpsimd: Prevent registers leaking across exec (bnc#1060662). - drm: Fix framebuffer leak (bnc#1060662). - drm: Release driver tracking before making the object available again (bnc#1060662). - drm/sun4i: Implement drm_driver lastclose to restore fbdev console (bnc#1060662). - drm/atomic: Handle -EDEADLK with out-fences correctly (bnc#1060662). - drm/atomic: If the atomic check fails, return its value first (bnc#1060662). - drm/i915/vbt: ignore extraneous child devices for a port (bnc#1060662). - drm/i915/gvt: Fix the kernel null pointer error (bnc#1060662). - Revert "drm/amdgpu: fix vblank_time when displays are off" (bnc#1060662). - ACPI: device property: Fix node lookup in acpi_graph_get_child_prop_value() (bnc#1060662). - tracing: Call clear_boot_tracer() at lateinit_sync (bnc#1060662). - tracing: Missing error code in tracer_alloc_buffers() (bnc#1060662). - tracing: Fix kmemleak in tracing_map_array_free() (bnc#1060662). - tracing: Fix freeing of filter in create_filter() when set_str is false (bnc#1060662). - RDMA/uverbs: Initialize cq_context appropriately (bnc#1060662). - kbuild: linker script do not match C names unless LD_DEAD_CODE_DATA_ELIMINATION is configured (bnc#1060662). - cifs: Fix df output for users with quota limits (bnc#1060662). - cifs: return ENAMETOOLONG for overlong names in cifs_open()/cifs_lookup() (bnc#1060662). - nfsd: Limit end of page list when decoding NFSv4 WRITE (bnc#1060662). - ring-buffer: Have ring_buffer_alloc_read_page() return error on offline CPU (bnc#1060662). - virtio_pci: fix cpu affinity support (bnc#1060662). - ftrace: Check for null ret_stack on profile function graph entry function (bnc#1060662). - perf/core: Fix group {cpu,task} validation (bnc#1060662). - timers: Fix excessive granularity of new timers after a nohz idle (bnc#1060662). - x86/mm: Fix use-after-free of ldt_struct (bnc#1060662). - net: sunrpc: svcsock: fix NULL-pointer exception (bnc#1060662). - netfilter: expect: fix crash when putting uninited expectation (bnc#1060662 bnc#1048935). - netfilter: nat: fix src map lookup (bnc#1060662). - netfilter: nfnetlink: Improve input length sanitization in nfnetlink_rcv (bnc#1060662). - Bluetooth: hidp: fix possible might sleep error in hidp_session_thread (bnc#1060662 bnc#1014351). - Bluetooth: cmtp: fix possible might sleep error in cmtp_session (bnc#1060662). - Bluetooth: bnep: fix possible might sleep error in bnep_session (bnc#1060662). - Revert "android: binder: Sanity check at binder ioctl" (bnc#1060662). - binder: use group leader instead of open thread (bnc#1060662). - binder: Use wake up hint for synchronous transactions (bnc#1060662). - ANDROID: binder: fix proc->tsk check (bnc#1060662). - iio: imu: adis16480: Fix acceleration scale factor for adis16480 (bnc#1060662). - iio: hid-sensor-trigger: Fix the race with user space powering up sensors (bnc#1060662). - iio: magnetometer: st_magn: fix status register address for LSM303AGR (bnc#1060662). - iio: magnetometer: st_magn: remove ihl property for LSM303AGR (bnc#1060662). - staging: rtl8188eu: add RNX-N150NUB support (bnc#1060662). - iommu: Fix wrong freeing of iommu_device->dev (bnc#1060662). - Clarify (and fix) MAX_LFS_FILESIZE macros (bnc#1060662). - ntb: ntb_test: ensure the link is up before trying to configure the mws (bnc#1060662). - ntb: transport shouldn't disable link due to bogus values in SPADs (bnc#1060662). - ACPI: APD: Fix HID for Hisilicon Hip07/08 (bnc#1060662). - ACPI: EC: Fix regression related to wrong ECDT initialization order (bnc#1060662). - powerpc/mm: Ensure cpumask update is ordered (bnc#1060662). - Linux 4.12.10 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.9-10. Expand 4.12.10. - commit 6b3564b- arm64: mm: abort uaccess retries upon fatal signal (bnc#1060662). - x86/io: Add "memory" clobber to insb/insw/insl/outsb/outsw/outsl (bnc#1060662). - irqchip: mips-gic: SYNC after enabling GIC region (bnc#1060662). - Input: synaptics - fix device info appearing different on reconnect (bnc#1060662). - Input: xpad - fix PowerA init quirk for some gamepad models (bnc#1060662). - crypto: chacha20 - fix handling of chunked input (bnc#1060662). - i2c: ismt: Don't duplicate the receive length for block reads (bnc#1060662). - i2c: ismt: Return EMSGSIZE for block reads with bogus length (bnc#1060662). - crypto: algif_skcipher - only call put_page on referenced and used pages (bnc#1060662). - mm, uprobes: fix multiple free of ->uprobes_state.xol_area (bnc#1060662). - mm, madvise: ensure poisoned pages are removed from per-cpu lists (bnc#1060662). - ceph: fix readpage from fscache (bnc#1060662). - cpumask: fix spurious cpumask_of_node() on non-NUMA multi-node configs (bnc#1060662). - cpuset: Fix incorrect memory_pressure control file mapping (bnc#1060662). - alpha: uapi: Add support for __SANE_USERSPACE_TYPES__ (bnc#1060662). - CIFS: Fix maximum SMB2 header size (bnc#1060662 bsc#1056185). - CIFS: remove endian related sparse warning (bnc#1060662). - dm mpath: do not lock up a CPU with requeuing activity (bnc#1060662). - drm/vmwgfx: Fix F26 Wayland screen update issue (bnc#1060662). - wl1251: add a missing spin_lock_init() (bnc#1060662). - mmc: sdhci-xenon: add set_power callback (bnc#1060662). - lib/mpi: kunmap after finishing accessing buffer (bnc#1060662). - xfrm: policy: check policy direction value (bnc#1060662). - drm/ttm: Fix accounting error when fail to get pages for pool (bnc#1060662). - nvme: fix the definition of the doorbell buffer config support bit (bnc#1060662). - drm/nouveau/i2c/gf119-: add support for address-only transactions (bnc#1060662). - epoll: fix race between ep_poll_callback(POLLFREE) and ep_free()/ep_remove() (bnc#1060662). - Linux 4.12.11 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.10-11. Expand 4.12.11. - commit b96a777- usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard (bnc#1060662). - USB: serial: option: add support for D-Link DWM-157 C1 (bnc#1060662). - usb: Add device quirk for Logitech HD Pro Webcam C920-C (bnc#1060662). - usb:xhci:Fix regression when ATI chipsets detected (bnc#1060662). - USB: musb: fix external abort on suspend (bnc#1060662). - ANDROID: binder: add padding to binder_fd_array_object (bnc#1060662). - ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES (bnc#1060662). - USB: core: Avoid race of async_completed() w/ usbdev_release() (bnc#1060662). - staging/rts5208: fix incorrect shift to extract upper nybble (bnc#1060662). - iio: adc: ti-ads1015: fix incorrect data rate setting update (bnc#1060662). - iio: adc: ti-ads1015: fix scale information for ADS1115 (bnc#1060662). - iio: adc: ti-ads1015: enable conversion when CONFIG_PM is not set (bnc#1060662). - iio: adc: ti-ads1015: avoid getting stale result after runtime resume (bnc#1060662). - iio: adc: ti-ads1015: don't return invalid value from buffer setup callbacks (bnc#1060662). - iio: adc: ti-ads1015: add adequate wait time to get correct conversion (bnc#1060662). - driver core: bus: Fix a potential double free (bnc#1060662). - HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage (bnc#1060662). - binder: free memory on error (bnc#1060662). - crypto: caam/qi - fix compilation with CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y (bnc#1060662). - crypto: caam/qi - fix compilation with DEBUG enabled (bnc#1060662). - fpga: altera-hps2fpga: fix multiple init of l3_remap_lock (bnc#1060662). - intel_th: pci: Add Cannon Lake PCH-H support (bnc#1060662 FATE#321195). - intel_th: pci: Add Cannon Lake PCH-LP support (bnc#1060662 FATE#321195). - ath10k: fix memory leak in rx ring buffer allocation (bnc#1060662). - Input: trackpoint - assume 3 buttons when buttons detection fails (bnc#1060662). - rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter (bnc#1060662). - Bluetooth: Add support of 13d3:3494 RTL8723BE device (bnc#1060662). - iwlwifi: pci: add new PCI ID for 7265D (bnc#1060662). - dlm: avoid double-free on error path in dlm_device_{register,unregister} (bnc#1060662). - mwifiex: correct channel stat buffer overflows (bnc#1060662). - MCB: add support for SC31 to mcb-lpc (bnc#1060662). - s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs (bnc#1060662). - s390/mm: fix BUG_ON in crst_table_upgrade (bnc#1060662). - drm/nouveau/pci/msi: disable MSI on big-endian platforms by default (bnc#1060662). - drm/nouveau: Fix error handling in nv50_disp_atomic_commit (bnc#1060662). - workqueue: Fix flag collision (bnc#1060662). - ahci: don't use MSI for devices with the silly Intel NVMe remapping scheme (bnc#1060662). - cs5536: add support for IDE controller variant (bnc#1060662). - scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE (bnc#1060662). - scsi: sg: recheck MMAP_IO request length with lock held (bnc#1060662). - of/device: Prevent buffer overflow in of_device_modalias() (bnc#1060662). - rtlwifi: Fix memory leak when firmware request fails (bnc#1060662). - rtlwifi: Fix fallback firmware loading (bnc#1060662). - Linux 4.12.12 (bnc#1060662). - Delete patches.kernel.org/patch-4.12.11-12. Expand 4.12.12. - commit 2a3fe1e- net: sched: move prio into cls_common (bsc#1056787). - net: sched: push cls related args into cls_common structure (bsc#1056787). - nfp: change flows in apps that offload ndo_setup_tc (bsc#1055968). - dsa: push cls_matchall setup_tc processing into a separate function (bsc#1056787). - mlxsw: spectrum: rename cls arg in matchall processing (bsc#1056787). - mlxsw: spectrum: push cls_flower and cls_matchall setup_tc processing into separate functions (bsc#1056787). - mlx5e_rep: push cls_flower setup_tc processing into a separate function (bsc#1046303 FATE#322944). - mlx5e: push cls_flower and mqprio setup_tc processing into separate functions (bsc#1046303 FATE#322944). - ixgbe: push cls_u32 and mqprio setup_tc processing into separate functions (bsc#1056657 FATE#322189). - cxgb4: push cls_u32 setup_tc processing into a separate function (bsc#1046540 FATE#322930). - net: sched: make egress_dev flag part of flower offload struct (bsc#1056787). - net: sched: rename TC_SETUP_MATCHALL to TC_SETUP_CLSMATCHALL (bsc#1056787). - net: sched: make type an argument for ndo_setup_tc (bsc#1056787). - net: sched: change names of action number helpers to be aligned with the rest (bsc#1056787). - commit ed4a685- config: arm64: enable xgene pmu References: bsc#1036737 - commit c789476- resorted sorted section - commit 053446a- Delete patches.drivers/0007-RDMA-bnxt_re-Fix-race-between-netdev-register-and-un.patch. - Delete patches.drivers/0012-RDMA-bnxt_re-Add-vlan-tag-for-untagged-RoCE-traffic-.patch. - Delete patches.drivers/0018-RDMA-bnxt_re-Update-the-driver-version.patch. - Delete patches.drivers/0020-RDMA-bnxt_re-Allow-posting-when-QPs-are-in-error.patch. - commit 99f359a- Update config files: set CONFIG_SND_SOC=m for arm64 (bsc#1060104). - commit 880aeac- Update config files: update to 4.12.4 - commit 4e103ba- x86/head: Add unwind hint annotations (bnc#1058115). - x86/xen: Add unwind hint annotations (bnc#1058115). - x86/xen: Fix xen head ELF annotations (bnc#1058115). - x86/boot: Annotate verify_cpu() as a callable function (bnc#1058115). - x86/head: Fix head ELF function annotations (bnc#1058115). - x86/head: Remove unused 'bad_address' code (bnc#1058115). - x86/head: Remove confusing comment (bnc#1058115). - objtool: Don't report end of section error after an empty unwind hint (bnc#1058115). - commit d144576- crypto: x86/twofish - Fix RBP usage (bnc#1058115). - crypto: sha512-avx2 - Fix RBP usage (bnc#1058115). - crypto: x86/sha256-ssse3 - Fix RBP usage (bnc#1058115). - crypto: x86/sha256-avx2 - Fix RBP usage (bnc#1058115). - crypto: x86/sha256-avx - Fix RBP usage (bnc#1058115). - crypto: x86/sha1-ssse3 - Fix RBP usage (bnc#1058115). - crypto: x86/sha1-avx2 - Fix RBP usage (bnc#1058115). - crypto: x86/des3_ede - Fix RBP usage (bnc#1058115). - crypto: x86/cast6 - Fix RBP usage (bnc#1058115). - crypto: x86/cast5 - Fix RBP usage (bnc#1058115). - crypto: x86/camellia - Fix RBP usage (bnc#1058115). - crypto: x86/blowfish - Fix RBP usage (bnc#1058115). - commit 51691cb- md/bitmap: disable bitmap_resize for file-backed bitmaps (bsc#1061174). - commit a897895- IB/hfi1: Unsuccessful PCIe caps tuning should not fail driver load (bsc#1060463 FATE#323043). - IB/hfi1: Check eeprom config partition validity (bsc#1060463 FATE#323043). - IB/mlx5: Fix NULL deference on mlx5_ib_update_xlt failure (bsc#1046305 FATE#322943). - IB/ipoib: Fix sysfs Pkey create<->remove possible deadlock (bsc#1046307 FATE#322941). - IB/core: Fix qp_sec use after free access (bsc#1046306 FATE#322942). - IB/core: Fix typo in the name of the tag-matching cap struct (bsc#1046306 FATE#322942). - IB/mlx5: fix debugfs cleanup (bsc#1046305 FATE#322943). - bnxt_en: fix clearing devlink ptr from bnxt struct (bsc#1050242 FATE#322914). - bnxt_re: add MAY_USE_DEVLINK dependency (bsc#1050242 FATE#322914). - commit ea21d80- IB/mlx5: Support IB_SRQT_TM (bsc#1046305 FATE#322943). - net/mlx5: Add XRQ support (bsc#1046303 FATE#322944). - IB/mlx5: Fill XRQ capabilities (bsc#1046305 FATE#322943). - commit 3ba7f43- i40iw: Add support for port reuse on active side connections (bsc#1058659 FATE#322535). - i40iw: Add missing VLAN priority (bsc#1058659 FATE#322535). - i40iw: Call i40iw_cm_disconn on modify QP to disconnect (bsc#1058659 FATE#322535). - i40iw: Prevent multiple netdev event notifier registrations (bsc#1058659 FATE#322535). - i40iw: Fail open if there are no available MSI-X vectors (bsc#1058659 FATE#322535). - i40iw: make some structures const (bsc#1058659 FATE#322535). - RDMA/i40iw: Remove unused argument (bsc#1058659 FATE#322535). - i40iw: Improve CQP timeout logic (bsc#1058659 FATE#322535). - i40iw: fix spelling mistake: "allloc_buf" -> "alloc_buf" (bsc#1058659 FATE#322535). - i40iw: Fixes for static checker warnings (bsc#1058659 FATE#322535). - i40iw: Simplify code (bsc#1058659 FATE#322535). - commit 3ae25bf- Update config files. - commit 28fee52- RDMA/vmw_pvrdma: Fix reporting correct opcodes for completion (bsc#1046306 FATE#322942). - IB/ocrdma: fix incorrect fall-through on switch statement (bsc#1058513 FATE#322520). - IB/ipoib: Suppress the retry related completion errors (bsc#1046307 FATE#322941). - rdma core: Add rdma_rw_mr_payload() (bsc#1046306 FATE#322942). - RDMA/netlink: clean up message validity array initializer (bsc#1046306 FATE#322942). - RDAM/netlink: Fix out-of-bound access while checking message validity (bsc#1046306 FATE#322942). - IB/core: Expose ioctl interface through experimental Kconfig (bsc#1046306 FATE#322942). - IB/core: Assign root to all drivers (bsc#1046306 FATE#322942). - IB/core: Add completion queue (cq) object actions (bsc#1046306 FATE#322942). - IB/core: Add legacy driver's user-data (bsc#1046306 FATE#322942). - IB/core: Export ioctl enum types to user-space (bsc#1046306 FATE#322942). - IB/core: Explicitly destroy an object while keeping uobject (bsc#1046306 FATE#322942). - IB/core: Add macros for declaring methods and attributes (bsc#1046306 FATE#322942). - IB/core: Add uverbs merge trees functionality (bsc#1046306 FATE#322942). - IB/core: Add DEVICE object and root tree structure (bsc#1046306 FATE#322942). - IB/core: Declare an object instead of declaring only type attributes (bsc#1046306 FATE#322942). - IB/core: Add new ioctl interface (bsc#1046306 FATE#322942). - RDMA/vmw_pvrdma: Fix a signedness (bsc#1046306 FATE#322942). - RDMA/vmw_pvrdma: Report network header type in WC (bsc#1046306 FATE#322942). - IB/core: Add might_sleep() annotation to ib_init_ah_from_wc() (bsc#1046306 FATE#322942). - IB/cm: Fix sleeping in atomic when RoCE is used (bsc#1046306 FATE#322942). - IB/core: Add support to finalize objects in one transaction (bsc#1046306 FATE#322942). - IB/core: Add a generic way to execute an operation on a uobject (bsc#1046306 FATE#322942). - IB/uverbs: Expose XRQ capabilities (bsc#1046306 FATE#322942). - IB/uverbs: Add new SRQ type IB_SRQT_TM (bsc#1046306 FATE#322942). - IB/uverbs: Add XRQ creation parameter to UAPI (bsc#1046306 FATE#322942). - IB/core: Add new SRQ type IB_SRQT_TM (bsc#1046306 FATE#322942). - IB/core: Add XRQ capabilities (bsc#1046306 FATE#322942). - IB/usnic: check for allocation failure (bsc#1046306 FATE#322942). - commit 0db1996- IB/rxe: Handle NETDEV_CHANGE events (bsc#1050662 FATE#323951). - IB/rxe: Avoid ICRC errors by copying into the skb first (bsc#1050662 FATE#323951). - IB/rxe: Remove unneeded initialization in prepare6() (bsc#1050662 FATE#323951). - IB/rxe: Fix up rxe_qp_cleanup() (bsc#1050662 FATE#323951). - IB/rxe: Add dst_clone() in prepare_ipv6_hdr() (bsc#1050662 FATE#323951). - IB/rxe: Fix destination cache for IPv6 (bsc#1050662 FATE#323951). - IB/rxe: Fix up the responder's find_resources() function (bsc#1050662 FATE#323951). - IB/rxe: Remove dangling prototype (bsc#1050662 FATE#323951). - IB/rxe: Disable completion upcalls when a CQ is destroyed (bsc#1050662 FATE#323951). - commit a819614- IB/rdmavt: Handle dereg of inuse MRs properly (bsc#1058717 FATE#322789). - IB/qib: Convert qp_stats debugfs interface to use new iterator API (bsc#1027067 FATE#322649). - IB/hfi1: Convert qp_stats debugfs interface to use new iterator API (bsc#1060463 FATE#323043). - IB/hfi1: Convert hfi1_error_port_qps() to use new QP iterator (bsc#1060463 FATE#323043). - IB/rdmavt: Add QP iterator API for QPs (bsc#1058717 FATE#322789). - IB/hfi1: Use accessor to determine ring size (bsc#1060463 FATE#323043). - IB/qib: Stricter bounds checking for copy to buffer (bsc#1027067 FATE#322649). - IB/hif1: Remove static tracing from SDMA hot path (bsc#1060463 FATE#323043). - IB/hfi1: Acquire QSFP cable information on loopback (bsc#1060463 FATE#323043). - IB/hfi1: constify vm_operations_struct (bsc#1060463 FATE#323043). - IB/hfi1: Add opcode states to qp_stats (bsc#1060463 FATE#323043). - IB/hfi1: Add received request info to qp_stats (bsc#1060463 FATE#323043). - IB/hfi1: Fix whitespace alignment issue for MAD (bsc#1060463 FATE#323043). - IB/hfi1: Move structure and MACRO definitions in user_sdma.c to user_sdma.h (bsc#1060463 FATE#323043). - IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h (bsc#1060463 FATE#323043). - IB/hfi1: Remove duplicate definitions of num_user_pages() function (bsc#1060463 FATE#323043). - IB/hfi1: Fix the bail out code in pin_vector_pages() function (bsc#1060463 FATE#323043). - IB/hfi1: Clean up pin_vector_pages() function (bsc#1060463 FATE#323043). - IB/hfi1: Clean up user_sdma_send_pkts() function (bsc#1060463 FATE#323043). - IB/hfi1: Clean up hfi1_user_exp_rcv_setup function (bsc#1060463 FATE#323043). - IB/hfi1: Improve local kmem_cache_alloc performance (bsc#1060463 FATE#323043). - IB/hfi1: Ratelimit prints from sdma_interrupt (bsc#1060463 FATE#323043). - IB/qib: Stricter bounds checking for copy and array access (bsc#1027067 FATE#322649). - IB/qib: Remove unnecessary memory allocation for boardname (bsc#1027067 FATE#322649). - IB/{qib, hfi1}: Avoid flow control testing for RDMA write operation (bsc#1060463 FATE#323043 bsc#1027067 FATE#322649). - IB/rdmavt: Use rvt_put_swqe() in rvt_clear_mr_ref() (bsc#1058717 FATE#322789). - commit 983d8f2- IB/mlx4: Remove redundant attribute in mlx4_ib_create_qp_rss struct (bsc#1046302 FATE#322945). - RDMA/mlx4: Fix create qp command alignment (bsc#1046302 FATE#322945). - commit fbdeecb- x86/mm: Make the SME mask a u64 (fate#322123). - commit 2c6cff6- net/mlx4_core: Use ARRAY_SIZE macro (bsc#1046300 FATE#322946). - net/mlx4_core: fix incorrect size allocation for dev->caps.spec_qps (bsc#1046300 FATE#322946). - net/mlx4_core: fix memory leaks on error exit path (bsc#1046300 FATE#322946). - net/mlx4: Add user mac FW update support (bsc#1046300 FATE#322946). - net/mlx4_core: Fix misplaced brackets of sizeof (bsc#1046300 FATE#322946). - net/mlx4_core: Make explicit conversion to 64bit value (bsc#1046300 FATE#322946). - net/mlx4_core: Dynamically allocate structs at mlx4_slave_cap (bsc#1046300 FATE#322946). - net/mlx4_core: make mlx4_profile const (bsc#1046300 FATE#322946). - net/mlx4: fix spelling mistake: "availible" -> "available" (bsc#1046300 FATE#322946). - mlx4: sizeof style usage (bsc#1046300 FATE#322946). - mlx4: remove unnecessary pci_set_drvdata() (bsc#1046300 FATE#322946). - mlx4_en: remove unnecessary error check (bsc#1046299 FATE#322947). - mlx4_en: remove unnecessary returned value (bsc#1046299 FATE#322947). - commit 1ab797e- IB/mlx4: fix sprintf format warning (bsc#1046302 FATE#322945). - RDMA/mlx4: Properly annotate link layer variable (bsc#1046302 FATE#322945). - IB/mlx4: Check that reserved fields in mlx4_ib_create_qp_rss are zero (bsc#1046302 FATE#322945). - IB/mlx4: Fix struct mlx4_ib_create_wq alignment (bsc#1046302 FATE#322945). - IB/mlx4: Fix RSS QP type in creation verb (bsc#1046302 FATE#322945). - IB/mlx4: Fix some spelling mistakes (bsc#1046302 FATE#322945). - RDMA/mlx4: Remove gfp_mask argument from acquire_group call (bsc#1046302 FATE#322945). - RDMA/mlx4: Don't use uninitialized variable (bsc#1046302 FATE#322945). - IB/mlx4: use kvmalloc_array to allocate wrid (bsc#1046302 FATE#322945). - commit 104a064- IB/core: Separate CQ handle in SRQ context (bsc#1046306 FATE#322942). - net/mlx5: Update HW layout definitions (bsc#1046303 FATE#322944). - IB/mlx5: Report mlx5 enhanced multi packet WQE capability (bsc#1046305 FATE#322943). - IB/mlx5: Allow posting multi packet send WQEs if hardware supports (bsc#1046305 FATE#322943). - IB/mlx5: Add support for multi underlay QP (bsc#1046305 FATE#322943). - IB/mlx5: Fix integer overflow when page_shift == 31 (bsc#1046305 FATE#322943). - IB/mlx5: Fix memory leak in clean_mr error path (bsc#1046305 FATE#322943). - IB/mlx5: Decouple MR allocation and population flows (bsc#1046305 FATE#322943). - IB/mlx5: Enable UMR for MRs created with reg_create (bsc#1046305 FATE#322943). - IB/mlx5: Expose software parsing for Raw Ethernet QP (bsc#1046305 FATE#322943). - RDMA/mlx5: Limit scope of get vector affinity local function (bsc#1046305 FATE#322943). - IB/mlx5: Add necessary delay drop assignment (bsc#1046305 FATE#322943). - IB/mlx5: Fix some spelling mistakes (bsc#1046305 FATE#322943). - IB/mlx5: use kvmalloc_array for mlx5_ib_wq (bsc#1046305 FATE#322943). - mlx5: Replace PCI pool old API (bsc#1046303 FATE#322944). - mlx5: support ->get_vector_affinity (bsc#1046305 FATE#322943). - mlx5: move affinity hints assignments to generic code (bsc#1046303 FATE#322944). - mlx5e: don't assume anything on the irq affinity mappings of the device (bsc#1046303 FATE#322944). - mlx5: convert to generic pci_alloc_irq_vectors (bsc#1046303 FATE#322944). - commit 24ced8f- RDMA/nes: Remove zeroed parameter from port query callback (bsc#1046306 FATE#322942). - IB/rxe: Make rxe_counter_name static (bsc#1050662 FATE#323951). - IB/ipoib: Sync between remove_one to sysfs calls that use rtnl_lock (bsc#1046307 FATE#322941). - RDMA/mthca: Make explicit conversion to 64bit value (bsc#1046306 FATE#322942). - RDMA/usnic: Fix remove address space warning (bsc#1046306 FATE#322942). - RDMA/core: Refactor get link layer wrapper (bsc#1046306 FATE#322942). - RDMA/core: Delete BUG() from unreachable flow (bsc#1046306 FATE#322942). - RDMA/core: Cleanup device capability enum (bsc#1046306 FATE#322942). - RDMA/(core, ulp): Convert register/unregister event handler to be void (bsc#1046306 FATE#322942). - IB/uverbs: Introduce and use helper functions to copy ah attributes (bsc#1046306 FATE#322942). - IB/cma: Fix erroneous validation of supported default GID type (bsc#1046306 FATE#322942). - IB: Avoid ib_modify_port() failure for RoCE devices (bsc#1046306 FATE#322942). - RDMA/vmw_pvrdma: Update device query parameters and port caps (bsc#1046306 FATE#322942). - RDMA/vmw_pvrdma: Add RoCEv2 support (bsc#1046306 FATE#322942). - IB/ipoib: Enable ioctl for to IPoIB rdma netdevs (bsc#1046307 FATE#322941). - rdma: Autoload netlink client modules (bsc#1046306 FATE#322942). - rdma: Allow demand loading of NETLINK_RDMA (bsc#1046306 FATE#322942). - IB/pvrdma: Remove unused function (bsc#1046306 FATE#322942). - IB/mthca: Replace PCI pool old API (bsc#1046306 FATE#322942). - infiniband: avoid overflow warning (bsc#1046306 FATE#322942). - IB/rxe: Remove unneeded check (bsc#1050662 FATE#323951). - IB/rxe: Convert pr_info to pr_warn (bsc#1050662 FATE#323951). - commit 88ef93a- IB/hfi1: Add kernel receive context info to debugfs (bsc#1060463 FATE#323043). - IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option (bsc#1060463 FATE#323043). - IB/hfi1: Remove pstate from hfi1_pportdata (bsc#1060463 FATE#323043). - IB/hfi1: Stricter bounds checking of MAD trap index (bsc#1060463 FATE#323043). - IB/hfi1: Load fallback platform configuration per HFI device (bsc#1060463 FATE#323043). - IB/hfi1: Add flag for platform config scratch register read (bsc#1060463 FATE#323043). - IB/hfi1: Document phys port state bits not used in IB (bsc#1060463 FATE#323043). - IB/hfi1: Check xchg returned value for queuing link down entry (bsc#1060463 FATE#323043). - IB/hfi1: fix spelling mistake: "Maximim" -> "Maximum" (bsc#1060463 FATE#323043). - IB/hfi1: Enable RDMA_CAP_OPA_AH in hfi driver to support extended LIDs (bsc#1060463 FATE#323043). - IB/hfi1: Enhance PIO/SDMA send for 16B (bsc#1060463 FATE#323043). - IB/hfi1: Add 16B RC/UC support (bsc#1060463 FATE#323043). - IB/rdmavt, hfi1, qib: Enhance rdmavt and hfi1 to use 32 bit lids (bsc#1060463 FATE#323043 bsc#1027067 FATE#322649 bsc#1058717 FATE#322789). - IB/hfi1: Add 16B trace support (bsc#1060463 FATE#323043). - IB/hfi1: Add 16B UD support (bsc#1060463 FATE#323043). - IB/hfi1: Determine 9B/16B L2 header type based on Address handle (bsc#1060463 FATE#323043). - IB/hfi1: Add support to process 16B header errors (bsc#1060463 FATE#323043). - IB/hfi1: Add support to send 16B bypass packets (bsc#1060463 FATE#323043). - IB/hfi1: Add support to receive 16B bypass packets (bsc#1060463 FATE#323043). - IB/rdmavt, hfi1, qib: Modify check_ah() to account for extended LIDs (bsc#1060463 FATE#323043 bsc#1027067 FATE#322649 bsc#1058717 FATE#322789). - IB/hf1: User context locking is inconsistent (bsc#1060463 FATE#323043). - IB/hfi1: Protect context array set/clear with spinlock (bsc#1060463 FATE#323043). - IB/hfi1: Use host_link_state to read state when DC is shut down (bsc#1060463 FATE#323043). - IB/hfi1: Remove lstate from hfi1_pportdata (bsc#1060463 FATE#323043). - IB/hfi1: Remove pmtu from the QP structure (bsc#1060463 FATE#323043). - IB/hfi1: Revert egress pkey check enforcement (bsc#1060463 FATE#323043). - IB/hfi1: add const to bin_attribute structures (bsc#1060463 FATE#323043). - IB/qib: add const to bin_attribute structures (bsc#1027067 FATE#322649). - IB/hfi1: fix spelling mistake in variable name continious (bsc#1060463 FATE#323043). - IB/qib: fix spelling mistake: "failng" -> "failing" (bsc#1027067 FATE#322649). - commit 043fee2- IB/core: Fix input len in multiple user verbs (bsc#1046306 FATE#322942). - Add OPA extended LID support (bsc#1046306 FATE#322942). - infiniband: pvrdma: constify pci_device_id (bsc#1046306 FATE#322942). - infiniband: nes: constify pci_device_id (bsc#1046306 FATE#322942). - infiniband: mthca: constify pci_device_id (bsc#1046306 FATE#322942). - PCI/IB: add support for pci driver attribute groups (bsc#1046306 FATE#322942). - iwcm: Don't allocate iwcm workqueue with WQ_MEM_RECLAIM (bsc#1046306 FATE#322942). - cm: Don't allocate ib_cm workqueue with WQ_MEM_RECLAIM (bsc#1046306 FATE#322942). - RDMA/core: make ib_device.add method optional (bsc#1046306 FATE#322942). - RDMA/netlink: Export node_type (bsc#1046306 FATE#322942). - RDMA/netlink: Provide port state and physical link state (bsc#1046306 FATE#322942). - RDMA/netlink: Export LID mask control (LMC) (bsc#1046306 FATE#322942). - RDMA/netink: Export lids and sm_lids (bsc#1046306 FATE#322942). - RDMA/netlink: Advertise IB subnet prefix (bsc#1046306 FATE#322942). - RDMA/netlink: Export node_guid and sys_image_guid (bsc#1046306 FATE#322942). - RDMA/netlink: Export FW version (bsc#1046306 FATE#322942). - RDMA: Simplify get firmware interface (bsc#1046306 FATE#322942). - RDMA/netlink: Expose device and port capability masks (bsc#1046306 FATE#322942). - RDMA/netlink: Implement nldev port doit callback (bsc#1046306 FATE#322942). - RDMA/netlink: Add nldev port dumpit implementation (bsc#1046306 FATE#322942). - RDMA/netlink: Add nldev device doit implementation (bsc#1046306 FATE#322942). - RDMA/netlink: Implement nldev device dumpit calback (bsc#1046306 FATE#322942). - RDMA/netlink: Add nldev initialization flows (bsc#1046306 FATE#322942). - RDMA/netlink: Add netlink device definitions to UAPI (bsc#1046306 FATE#322942). - RDMA/netlink: Update copyright (bsc#1046306 FATE#322942). - RDMA/netlink: Convert LS to doit callback (bsc#1046306 FATE#322942). - RDMA/netlink: Reduce indirection access to cb_table (bsc#1046306 FATE#322942). - RDMA/netlink: Add and implement doit netlink callback (bsc#1046306 FATE#322942). - RDMA/core: Add and expose static device index (bsc#1046306 FATE#322942). - RDMA/core: Add iterator over ib_devices (bsc#1046306 FATE#322942). - RDMA/netlink: Rename netlink callback struct (bsc#1046306 FATE#322942). - RDMA/netlink: Simplify and rename ibnl_chk_listeners (bsc#1046306 FATE#322942). - RDMA/netlink: Rename and remove redundant parameter from ibnl_multicast (bsc#1046306 FATE#322942). - RDMA/netlink: Rename and remove redundant parameter from ibnl_unicast* (bsc#1046306 FATE#322942). - RDMA/netlink: Simplify the put_msg and put_attr (bsc#1046306 FATE#322942). - RDMA/netlink: Add flag to consolidate common handling (bsc#1046306 FATE#322942). - RDMA/iwcm: Remove extra EXPORT_SYMBOLS (bsc#1046306 FATE#322942). - RDMA/iwcm: Remove useless check of netlink client validity (bsc#1046306 FATE#322942). - RDMA/netlink: Avoid double pass for RDMA netlink messages (bsc#1046306 FATE#322942). - RDMA/netlink: Remove redundant owner option for netlink callbacks (bsc#1046306 FATE#322942). - RDMA/netlink: Remove netlink clients infrastructure (bsc#1046306 FATE#322942). - RDMA/core: Add wait/retry version of ibnl_unicast (bsc#1046306 FATE#322942). - RDMA/core: expose affinity mappings per completion vector (bsc#1046306 FATE#322942). - IB/CM: Set appropriate slid and dlid when handling CM request (bsc#1046306 FATE#322942). - IB/CM: Create appropriate path records when handling CM request (bsc#1046306 FATE#322942). - IB/CM: Add OPA Path record support to CM (bsc#1046306 FATE#322942). - IB/core: Change wc.slid from 16 to 32 bits (bsc#1046306 FATE#322942). - IB/core: Change port_attr.sm_lid from 16 to 32 bits (bsc#1046306 FATE#322942). - IB/core: Change port_attr.lid size from 16 to 32 bits (bsc#1046306 FATE#322942). - IB/mad: Change slid in RMPP recv from 16 to 32 bits (bsc#1046306 FATE#322942). - IB/IPoIB: Increase local_lid to 32 bits (bsc#1046306 FATE#322942). - IB/srpt: Increase lid and sm_lid to 32 bits (bsc#1046306 FATE#322942). - IB/core: Convert ah_attr from OPA to IB when copying to user (bsc#1046306 FATE#322942). - IB: nes: convert to use DRIVER_ATTR_RW (bsc#1046306 FATE#322942). - commit 0b03922- iommu/vt-d: Avoid calling virt_to_phys() on null pointer (bsc#1061067). - commit 1047702- Delete patches.drivers/RDMA-Simplify-get-firmware-interface.patch. - commit 60fa778- IB/hfi1: Always perform offline transition (bsc#1060463 FATE#323043). - IB/hfi1: Prevent link down request double queuing (bsc#1060463 FATE#323043). - IB/hfi1: Create workqueue for link events (bsc#1060463 FATE#323043). - IB/hfi1: Disambiguate corruption and uninitialized error cases (bsc#1060463 FATE#323043). - IB/hfi1: Only set fd pointer when base context is completely initialized (bsc#1060463 FATE#323043). - IB/hfi1: Do not enable disabled port on cable insert (bsc#1060463 FATE#323043). - IB/hfi1: Harden state transition to Armed and Active (bsc#1060463 FATE#323043). - IB/hfi1: Split copy_to_user data copy for better security (bsc#1060463 FATE#323043). - IB/hfi1: Verify port data VLs credits on transition to Armed (bsc#1060463 FATE#323043). - IB/hfi1: Move saving PCI values to a separate function (bsc#1060463 FATE#323043). - IB/hfi1: Fix initialization failure for debug firmware (bsc#1060463 FATE#323043). - IB/hfi1: Fix code consistency for if/else blocks in chip.c (bsc#1060463 FATE#323043). - IB/hfi1: Send MAD traps until repressed (bsc#1060463 FATE#323043). - IB/hfi1: Pass the context pointer rather than the index (bsc#1060463 FATE#323043). - IB/hfi1: Use context pointer rather than context index (bsc#1060463 FATE#323043). - IB/hfi1: Size rcd array index correctly and consistently (bsc#1060463 FATE#323043). - IB/hfi1: Remove unused user context data members (bsc#1060463 FATE#323043). - IB/hfi1: Assign context does not clean up file descriptor correctly on error (bsc#1060463 FATE#323043). - IB/hfi1: Serve the most starved iowait entry first (bsc#1060463 FATE#323043). - IB/hfi1: Fix bar0 mapping to use write combining (bsc#1060463 FATE#323043). - IB/hfi1: Check return values from PCI config API calls (bsc#1060463 FATE#323043). - IB/hfi1: Add receiving queue info to qp_stats (bsc#1060463 FATE#323043). - IB/qib: remove duplicate code (bsc#1027067 FATE#322649). - commit 6163efb- PCI: pciehp: Report power fault only once until we clear it (bsc#1061046). - commit c7e1a71- bnxt_en: fix switchdev port naming for external-port-rep and vf-reps (bsc#1050242 FATE#322914). - bnxt_en: use SWITCHDEV_SET_OPS() for setting vf_rep_switchdev_ops (bsc#1050242 FATE#322914). - bnxt_en: include bnxt_vfr.c code under CONFIG_BNXT_SRIOV switch (bsc#1050242 FATE#322914). - bnxt: fix unused variable warnings (bsc#1050242 FATE#322914). - bnxt: fix unsigned comparsion with 0 (bsc#1050242 FATE#322914). - bnxt_en: Use SWITCHDEV_SET_OPS() (bsc#1050242 FATE#322914). - bnxt_en: add support for port_attr_get and and get_phys_port_name (bsc#1050242 FATE#322914). - bnxt_en: add vf-rep RX/TX and netdev implementation (bsc#1050242 FATE#322914). - bnxt_en: add support to enable VF-representors (bsc#1050242 FATE#322914). - bnxt_en: Set ETS min_bw parameter for older firmware (bsc#1050242 FATE#322914). - bnxt_en: Report firmware DCBX agent (bsc#1050242 FATE#322914). - bnxt_en: Allow the user to set ethtool stats-block-usecs to 0 (bsc#1050242 FATE#322914). - bnxt_en: Add bnxt_get_num_stats() to centrally get the number of ethtool stats (bsc#1050242 FATE#322914). - bnxt_en: Implement ndo_bridge_{get|set}link methods (bsc#1050242 FATE#322914). - bnxt_en: Retrieve the hardware bridge mode from the firmware (bsc#1050242 FATE#322914). - bnxt_en: Update firmware interface spec to 1.8.0 (bsc#1050242 FATE#322914). - commit aa23996- RDMA/bnxt_re: remove unnecessary call to memset (bsc#1050244 FATE#322915). - RDMA: Fix return value check for ib_get_eth_speed() (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Implement the alloc/get_hw_stats callback (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Allocate multiple notification queues (bsc#1050244 FATE#322915). - RDMA/bnxt_re: fix spelling mistake: "Deallocte" -> "Deallocate" (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Allow posting when QPs are in error (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Add vlan tag for untagged RoCE traffic when PFC is configured (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Delete unsupported modify_port function (bsc#1050244 FATE#322915). - commit 94e058a- IB/cma: Fix default RoCE type setting (bsc#1046306 FATE#322942). - IB/core: Add generic function to extract IB speed from netdev (bsc#1046306 FATE#322942). - IB/usnic: Implement get_netdev hook (bsc#1046306 FATE#322942). - IB/cma: Set default gid type to RoCEv2 (bsc#1046306 FATE#322942). - commit 1582933- mlx4: Replace PCI pool old API (bsc#1046300 FATE#322946). - IB/mlx4: Expose RSS capabilities (bsc#1046302 FATE#322945). - IB/mlx4: Add support for RSS QP (bsc#1046302 FATE#322945). - IB/mlx4: Add support for WQ indirection table related verbs (bsc#1046302 FATE#322945). - IB/mlx4: Add support for WQ related verbs (bsc#1046302 FATE#322945). - (IB, net)/mlx4: Add resource utilization support (bsc#1046302 FATE#322945 bsc#1046300 FATE#322946 bsc#1046299 FATE#322947). - IB/mlx4: Add inline-receive support (bsc#1046302 FATE#322945). - commit 8e2d33f- net/mlx5: fix spelling mistake: "alloated" -> "allocated" (bsc#1046303 FATE#322944). - IB/mlx5: Expose extended error counters (bsc#1046305 FATE#322943). - IB/mlx5: Fix cached MR allocation flow (bsc#1046305 FATE#322943). - IB/mlx5: Report RX checksum capabilities for IPoIB (bsc#1046305 FATE#322943). - net/mlx5: Report enhanced capabilities for IPoIB (bsc#1046303 FATE#322944). - IB/mlx5: Add multicast flow steering support for underlay QP (bsc#1046305 FATE#322943). - IB/mlx5: Add support for QP with a given source QPN (bsc#1046305 FATE#322943). - IB/mlx5: Add delay drop configuration and statistics (bsc#1046305 FATE#322943). - IB/mlx5: Add support to dropless RQ (bsc#1046305 FATE#322943). - net/mlx5: Introduce general notification event (bsc#1046303 FATE#322944). - net/mlx5: Introduce set delay drop command (bsc#1046303 FATE#322944). - IB/mlx5: Restore IB guid/policy for virtual functions (bsc#1046305 FATE#322943). - IB/mlx5: Add debug control parameters for congestion control (bsc#1046305 FATE#322943). - IB/mlx5: Change logic for dispatching IB events for port state (bsc#1046305 FATE#322943). - net/mlx5e: Enable local loopback in loopback selftest (bsc#1046303 FATE#322944). - IB/mlx5: Add raw ethernet local loopback support (bsc#1046305 FATE#322943). - net/mlx5: Add raw ethernet local loopback firmware command (bsc#1046303 FATE#322944). - commit 08c6c4f- KVM: VMX: do not change SN bit in vmx_update_pi_irte() (bsc#1061017). - KVM: nVMX: Update vmcs12->guest_linear_address on nested VM-exit (bsc#1061017). - KVM: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously (bsc#1061017). - KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt (bsc#1061017). - KVM: SVM: Add a missing 'break' statement (bsc#1061017). - commit 037fe31- Delete patches.arch/0002-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_.patch. Patch was reverted upstream. - commit b3eafff- Refresh patches.arch/0001-KVM-VMX-Do-not-BUG-on-out-of-bounds-guest-IRQ.patch. Add upstream commit-id and Patch-mainline information. - commit 546cb89- Update config files. - commit e7bab09- kvm,mips: Fix potential swait_active() races (bsc#1060747). - kvm,powerpc: Serialize wq active checks in ops->vcpu_kick (bsc#1060747). - kvm: Serialize wq active checks in kvm_vcpu_wake_up() (bsc#1060747). - kvm,x86: Fix apf_task_wake_one() wq serialization (bsc#1060747). - kvm,lapic: Justify use of swait_active() (bsc#1060747). - kvm,async_pf: Use swq_has_sleeper() (bsc#1060747). - sched/wait: Add swq_has_sleeper() (bsc#1060747). - swait: Add idle variants which don't contribute to load average (bsc#1060747). - commit e57f3cb- Linux 4.12.14 (bnc#1060662). - ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt() (bnc#1060662). - ipv6: add rcu grace period before freeing fib6_node (bnc#1060662). - ipv6: fix sparse warning on rt6i_node (bnc#1060662). - macsec: add genl family module alias (bnc#1060662). - udp: on peeking bad csum, drop packets even if not at head (bnc#1060662). - bpf: fix map value attribute for hash of maps (bnc#1060662). - fsl/man: Inherit parent device and of_node (bnc#1060662). - sctp: Avoid out-of-bounds reads from address storage (bnc#1060662). - tipc: Fix tipc_sk_reinit handling of -EAGAIN (bnc#1060662). - net: systemport: Be drop monitor friendly (bnc#1060662). - net: bcmgenet: Be drop monitor friendly (bnc#1060662). - net: systemport: Free DMA coherent descriptors on errors (bnc#1060662). - netvsc: fix deadlock betwen link status and removal (bnc#1060662). - udp6: set rx_dst_cookie on rx_dst updates (bnc#1060662). - net: mvpp2: fix the mac address used when using PPv2.2 (bnc#1060662). - ipv6: set dst.obsolete when a cached route has expired (bnc#1060662). - ipv6: do not set sk_destruct in IPV6_ADDRFORM sockopt (bnc#1060662). - packet: Don't write vnet header beyond end of buffer (bnc#1060662). - kcm: do not attach PF_KCM sockets to avoid deadlock (bnc#1060662). - net: dsa: bcm_sf2: Fix number of CFP entries for BCM7278 (bnc#1060662). - Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()" (bnc#1060662). - net: fec: Allow reception of frames bigger than 1522 bytes (bnc#1060662). - mlxsw: spectrum: Forbid linking to devices that have uppers (bnc#1060662). - bridge: switchdev: Clear forward mark when transmitting packet (bnc#1060662). - Revert "net: use lib/percpu_counter API for fragmentation mem accounting" (bnc#1060662). - Revert "net: fix percpu memory leaks" (bnc#1060662). - gianfar: Fix Tx flow control deactivation (bnc#1060662). - vhost_net: correctly check tx avail during rx busy polling (bnc#1060662). - ip6_gre: update mtu properly in ip6gre_err (bnc#1060662). - ipv6: fix memory leak with multiple tables during netns destruction (bnc#1060662). - ipv6: fix typo in fib6_net_exit() (bnc#1060662). - sctp: fix missing wake ups in some situations (bnc#1060662). - f2fs: let fill_super handle roll-forward errors (bnc#1060662). - f2fs: check hot_data for roll-forward recovery (bnc#1060662). - x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common (bnc#1060662). - x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps (bnc#1060662). - x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs (bnc#1060662). - fuse: allow server to run in different pid_ns (bnc#1060662). - idr: remove WARN_ON_ONCE() when trying to replace negative ID (bnc#1060662). - md/raid1/10: reset bio allocated from mempool (bnc#1060662). - md/raid5: release/flush io in raid5_do_work() (bnc#1060662). - ipv6: Fix may be used uninitialized warning in rt6_check (bnc#1060662). - Refresh patches.drivers/net-sock-factor-out-dequeue-peek-with-offset-code.patch. - Refresh patches.suse/0001-x86-entry-64-Refactor-IRQ-stacks-and-make-them-NMI-s.patch. - commit ffd2366- mm: hugetlb: clear target sub-page last when clearing huge page (bnc#971975 VM performance -- thp). - commit ba31982- Disable CONFIG_DEBUG_LIST (bsc#1060256) CONFIG_DEBUG_LIST adds some consistency checks into list handling operations. Additional fetches resulting from this are visible in the perf profile accounting for about 3.5% of the pagecache truncation path. Disable the option to avoid the overhead as it was enabled more or less inadvertedly. We also have to disable CONFIG_BUG_ON_DATA_CORRUPTION as that selects CONFIG_DEBUG_LIST. - commit 1748d9c- IB/core: Fix for core panic (bsc#1046306 FATE#322942). - IB/{rdmavt, hfi1, qib}: Fix panic with post receive and SGE compression (bsc#1058717 FATE#322789). - commit 92c6c71- IB/uverbs: Enable QP creation with a given source QP number (bsc#1046306 FATE#322942). - IB/core: Enable QP creation with a given source QP number (bsc#1046306 FATE#322942). - IB/core: Add support for RoCEv2 multicast (bsc#1046306 FATE#322942). - IB/core: Set RoCEv2 MGID according to spec (bsc#1046306 FATE#322942). - IB/core: Fix the validations of a multicast LID in attach or detach operations (bsc#1046306 FATE#322942). - IB/core: Introduce delay drop for a WQ (bsc#1046306 FATE#322942). - commit 4537464- IB/rxe: Constify static rxe_vm_ops (bsc#1050662 FATE#323951). - IB/rxe: Use __func__ to print function's name (bsc#1050662 FATE#323951). - IB/rxe: Use DEVICE_ATTR_RO macro to show parent field (bsc#1050662 FATE#323951). - IB/rxe: Prefer 'unsigned int' to bare use of 'unsigned' (bsc#1050662 FATE#323951). - IB/rxe: Use "foo *bar" instead of "foo * bar" (bsc#1050662 FATE#323951). - commit fab70b3- IB/hfi1: Handle missing magic values in config file (bsc#1060463 FATE#323043). - IB/hfi1: Resolve kernel panics by reference counting receive contexts (bsc#1060463 FATE#323043). - IB/hfi1: Initialize TID lists to avoid crash on cleanup (bsc#1060463 FATE#323043). - IB/qib: Replace deprecated pci functions with new API (bsc#1027067 FATE#322649). - IB/hfi1: Add traces for TID operations (bsc#1060463 FATE#323043). - IB/hfi1: Use a template for tid reg/unreg (bsc#1060463 FATE#323043). - IB/hfi1: Remove reading platform configuration from EFI variable (bsc#1060463 FATE#323043). - IB/hfi1: Create common expected receive verbs/PSM code (bsc#1060463 FATE#323043). - IB/hfi1: Set proper logging levels on QSFP cable error events (bsc#1060463 FATE#323043). - IB/hfi1: Fix DC 8051 host info flag array (bsc#1060463 FATE#323043). - IB/hfi1,qib: Do not send QKey trap for UD qps (bsc#1060463 FATE#323043). - IB/hfi1: Modify handling of physical link state by Host Driver (bsc#1060463 FATE#323043). - IB/core: Allow QP state transition from reset to error (bsc#1046306 FATE#322942). - IB/hfi1: Add error checking for buffer overrun in OPA aggregate (bsc#1060463 FATE#323043). - IB/hfi1: Remove subtraction of uninitialized value (bsc#1060463 FATE#323043). - IB/hfi1: Use QPN mask to avoid overflow (bsc#1060463 FATE#323043). - IB/hfi1: Fix spelling mistake in linkdown reason (bsc#1060463 FATE#323043). - IB/rdmavt: Remove duplicated functions (bsc#1058717 FATE#322789). - IB/hfi1: Fix up sdma_init function comment (bsc#1060463 FATE#323043). - IB/hfi1: Reclassify type of messages printed for platform config logic (bsc#1060463 FATE#323043). - IB/hfi1: Remove atomic SDMA_REQ_HAS_ERROR bit operation (bsc#1060463 FATE#323043). - IB/hfi1: Remove atomic SDMA_REQ_SEND_DONE bit operation (bsc#1060463 FATE#323043). - IB/core,rdmavt,hfi1,opa-vnic: Send OPA cap_mask3 in trap (bsc#1060463 FATE#323043 bsc#1058717 FATE#322789 bsc#1046306 FATE#322942). - IB/hfi1: Replace deprecated pci functions with new API (bsc#1060463 FATE#323043). - IB/hfi1: Name function prototype parameters for affinity module (bsc#1060463 FATE#323043). - IB/hfi1: Optimize cachelines for user SDMA request structure (bsc#1060463 FATE#323043). - IB/hfi1: Don't remove RB entry when not needed (bsc#1060463 FATE#323043). - IB/rdmavt: Compress adjacent SGEs in rvt_lkey_ok() (bsc#1058717 FATE#322789). - IB/hfi1: Setup common IB fields in hfi1_packet struct (bsc#1060463 FATE#323043). - IB/hfi1: Separate input/output header tracing (bsc#1060463 FATE#323043). - IB/hfi1: Add functions to parse BTH/IB headers (bsc#1060463 FATE#323043). - IB/hfi1: Remove unused mk_qpn function (bsc#1060463 FATE#323043). - IB/hfi1: Remove unnecessary initialization from tx request (bsc#1060463 FATE#323043). - commit 0a0be08- EDAC: Add owner check to the x86 platform drivers (bsc#1042420). - Update config files. - EDAC: Add helper which returns the loaded platform driver (bsc#1042420). - EDAC, ghes: Add platform check (bsc#1042420). - EDAC, ghes: Model a single, logical memory controller (bsc#1042420). - EDAC, ghes: Remove symbol exports (bsc#1042420). - intel_pstate: convert to use acpi_match_platform_list() (bsc#1042420). - commit 0ef43b8- Refresh patches.arch/perf-vendor-events-powerpc-remove-duplicate-events.patch. - commit 7117699- nfp: only use direct firmware requests (bsc#1055968). - nfp: look for firmware image by device serial number and PCI name (bsc#1055968). - nfp: remove the probe deferral when FW not present (bsc#1055968). - nfp: set config bit (ifup/ifdown) on netdev open/close (bsc#1055968). - commit 2e0e280- cxgb4: ethtool forward error correction management support (bsc#1046540 FATE#322930). - cxgb4: core hardware/firmware support for Forward Error Correction on a link (bsc#1046540 FATE#322930). - net: ethtool: add support for forward error correction modes (bsc#1046540 FATE#322930). - cxgb4: display serial config and vpd versions (bsc#1046540 FATE#322930). - cxgb4: Update register ranges of T4/T5/T6 adapters (bsc#1046540 FATE#322930). - cxgb4: Remove some dead code (bsc#1046540 FATE#322930). - commit 8b2ccca- RDMA: Simplify get firmware interface (bsc#1046543 FATE#322927). - RDMA: Remove useless MODULE_VERSION (bsc#1046543 FATE#322927). - commit 28a0467- fs/fcntl: use copy_to/from_user() for u64 types (FATE#323952, FATE#322506). - commit aa1d84c- x86/asm: Fix inline asm call constraints for Clang (bnc#1058115). - objtool: Handle another GCC stack pointer adjustment bug (bnc#1058115). - commit a2e1012- Linux 4.12.13 (bnc#1060662). - mtd: nand: make Samsung SLC NAND usable again (bnc#1060662). - mtd: nand: hynix: add support for 20nm NAND chips (bnc#1060662). - mtd: nand: mxc: Fix mxc_v1 ooblayout (bnc#1060662). - mtd: nand: qcom: fix read failure without complete bootchain (bnc#1060662). - mtd: nand: qcom: fix config error for BCH (bnc#1060662). - nvme-fabrics: generate spec-compliant UUID NQNs (bnc#1060662). - btrfs: resume qgroup rescan on rw remount (bnc#1060662). - rtlwifi: btcoexist: Fix breakage of ant_sel for rtl8723be (bnc#1060662). - radix-tree: must check __radix_tree_preload() return value (bnc#1060662). - selftests/x86/fsgsbase: Test selectors 1, 2, and 3 (bnc#1060662). - mm: kvfree the swap cluster info if the swap file is unsatisfactory (bnc#1060662). - mm/swapfile.c: fix swapon frontswap_map memory leak on error (bnc#1060662). - mm/memory.c: fix mem_cgroup_oom_disable() call missing (bnc#1060662). - ALSA: msnd: Optimize / harden DSP and MIDI loops (bnc#1060662). - KVM: SVM: Limit PFERR_NESTED_GUEST_PAGE error_code check to L1 guest (bnc#1060662). - Bluetooth: Properly check L2CAP config option output buffer length (bnc#1060662 bnc#1057389 CVE-2017-1000251). - ARM64: dts: marvell: armada-37xx: Fix GIC maintenance interrupt (bnc#1060662). - ARM: 8692/1: mm: abort uaccess retries upon fatal signal (bnc#1060662). - NFS: Fix 2 use after free issues in the I/O code (bnc#1060662). - NFS: Sync the correct byte range during synchronous writes (bnc#1060662). - NFSv4: Fix up mirror allocation (bnc#1060662). - xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present (bnc#1060662). - commit 5f5d623- PCI: Split ->reset_notify() method into ->reset_prepare() and ->reset_done() (FATE#323952, FATE#322506). - fs: add fcntl() interface for setting/getting write life time hints (FATE#323952, FATE#322506). - lightnvm: propagate right error code to target (FATE#323952, FATE#322506). - nvme: Allocate queues for all possible CPUs (FATE#323952, FATE#322506). - nvme: Don't allow to reset a reconnecting controller (FATE#323952, FATE#322506). - nvme: Makefile: remove dead build rule (FATE#323952, FATE#322506). - nvme: Move transports to use nvme-core workqueue (FATE#323952, FATE#322506). - nvme: Quirks for PM1725 controllers (FATE#323952, FATE#322506). - nvme: Remove SCSI translations (FATE#323952, FATE#322506, FATE#323537). - nvme: add fields into identify controller data structure (FATE#323952, FATE#322506). - nvme: add hostid token to fabric options (FATE#323952, FATE#322506). - nvme: add support for streams and directives (FATE#323952, FATE#322506). - nvme: also provide a UUID in the WWID sysfs attribute (FATE#323952, FATE#322506). - nvme: don't hard code size of struct t10_pi_tuple (FATE#323952, FATE#322506). - nvme: explicitly disable APST on quirked devices (FATE#323952, FATE#322506). - nvme: fabrics commands should use the fctype field for data direction (FATE#323952, FATE#322506). - nvme-fabrics: fix reporting of unrecognized options (FATE#323952, FATE#322506). - nvme-fabrics: verify that a controller returns the correct NQN (FATE#323952, FATE#322506). - nvme-fc: address target disconnect race conditions in fcp io submit (FATE#323952, FATE#322506). - nvme-fc: don't override opts->nr_io_queues (FATE#323952, FATE#322506). - nvme-fc: merge init_request methods (FATE#323952, FATE#322506). - nvme-fc: quiesce/unquiesce admin_q instead of start/stop its hw queues (FATE#323952, FATE#322506). - nvme-fc: revise TRADDR parsing (FATE#323952, FATE#322506). - nvme-fc: update tagset nr_hw_queues after queues reinit (FATE#323952, FATE#322506). - nvme-fc: use blk_mq_delay_run_hw_queue instead of open-coding it (FATE#323952, FATE#322506). - nvme: fix byte swapping in the streams code (FATE#323952, FATE#322506). - nvme: fix directive command numd calculation (FATE#323952, FATE#322506). - nvme: fix nvme reset command timeout handling (FATE#323952, FATE#322506). - nvme: get list of namespace descriptors (FATE#323952, FATE#322506). - nvme: host: unquiesce queue in nvme_kill_queues() (FATE#323952, FATE#322506). - nvme: implement NS Optimal IO Boundary from 1.3 Spec (FATE#323952, FATE#322506). - nvme: introduce NVMe Namespace Identification Descriptor structures (FATE#323952, FATE#322506). - nvme: kick requeue list when requeueing a request instead of when starting the queues (FATE#323952, FATE#322506). - nvme-lightnvm: use blk_execute_rq in nvme_nvm_submit_user_cmd (FATE#323952, FATE#322506). - nvme-loop: get rid of unused controller lock (FATE#323952, FATE#322506). - nvme-loop: merge init_request methods (FATE#323952, FATE#322506). - nvme-loop: quiesce/unquiesce admin_q instead of start/stop its hw queues (FATE#323952, FATE#322506). - nvme-loop: update tagset nr_hw_queues after reconnecting/resetting (FATE#323952, FATE#322506). - nvme: mark shutdown_timeout static (FATE#323952, FATE#322506). - nvme: move ctrl cap to struct nvme_ctrl (FATE#323952, FATE#322506). - nvme: move nr_reconnects to nvme_ctrl (FATE#323952, FATE#322506). - nvme: move protection information check into nvme_setup_rw (FATE#323952, FATE#322506). - nvme: move queue_count to the nvme_ctrl (FATE#323952, FATE#322506). - nvme: move reset workqueue handling to common code (FATE#323952, FATE#322506). - nvme: no need to wait for the reset when keepalive fails (FATE#323952, FATE#322506). - nvme-pci: Fix an error handling path in 'nvme_probe()' (FATE#323952, FATE#322506). - nvme-pci: Introduce nvme_ring_cq_doorbell (FATE#323952, FATE#322506). - nvme-pci: Remove nvme_setup_prps BUG_ON (FATE#323952, FATE#322506). - nvme-pci: Remove watchdog timer (FATE#323952, FATE#322506). - nvme-pci: add another device ID with stripe quirk (FATE#323952, FATE#322506). - nvme-pci: add module parameter for io queue depth (FATE#323952, FATE#322506). - nvme-pci: compile warnings in nvme_alloc_host_mem() (FATE#323952, FATE#322506). - nvme-pci: factor out cqe handling into a dedicated routine (FATE#323952, FATE#322506). - nvme-pci: factor out the cqe reading mechanics from __nvme_process_cq (FATE#323952, FATE#322506). - nvme-pci: fix CMB sysfs file removal in reset path (FATE#323952, FATE#322506). - nvme-pci: fix HMB size calculation (FATE#323952, FATE#322506). - nvme-pci: implement host memory buffer support (FATE#323952, FATE#322506). - nvme-pci: merge init_request methods (FATE#323952, FATE#322506). - nvme-pci: open-code polling logic in nvme_poll (FATE#323952, FATE#322506). - nvme-pci: quiesce/unquiesce admin_q instead of start/stop its hw queues (FATE#323952, FATE#322506). - nvme-pci: remap BAR0 to cover admin CQ doorbell for large stride (FATE#323952, FATE#322506). - nvme-pci: remove redundant includes (FATE#323952, FATE#322506). - nvme-pci: rename to nvme_pci_configure_admin_queue (FATE#323952, FATE#322506). - nvme-pci: set cqe_seen on polled completions (FATE#323952, FATE#322506). - nvme-pci: use dma memory for the host memory buffer descriptors (FATE#323952, FATE#322506). - nvme: provide UUID value to userspace (FATE#323952, FATE#322506). - nvme: queue ns scanning and async request from nvme_wq (FATE#323952, FATE#322506). - nvme-rdma: Don't rearm the CQ when polling directly (FATE#323952, FATE#322506). - nvme-rdma: Get rid of CONNECTED state (FATE#323952, FATE#322506). - nvme-rdma: Make queue flags bit numbers and not shifts (FATE#323952, FATE#322506). - nvme-rdma: default MR page size to 4k (FATE#323952, FATE#322506). - nvme-rdma: fix error code in nvme_rdma_create_ctrl() (FATE#323952, FATE#322506). - nvme-rdma: get rid of unused ctrl lock (FATE#323952, FATE#322506). - nvme-rdma: make nvme_rdma_[create|destroy]_queue_ib symmetrical (FATE#323952, FATE#322506). - nvme-rdma: merge init_request and exit_request methods (FATE#323952, FATE#322506). - nvme-rdma: quiesce/unquiesce admin_q instead of start/stop its hw queues (FATE#323952, FATE#322506). - nvme-rdma: rework rdma connection establishment error path (FATE#323952, FATE#322506). - nvme-rdma: unconditionally recycle the request mr (FATE#323952, FATE#322506). - nvme-rdma: update tagset nr_hw_queues after reconnecting/resetting (FATE#323952, FATE#322506). - nvme: read the subsystem NQN from Identify Controller (FATE#323952, FATE#322506). - nvme: remove a misleading comment on struct nvme_ns (FATE#323952, FATE#322506). - nvme: rename uuid to nguid in nvme_ns (FATE#323952, FATE#322506). - nvme: save hmpre and hmmin in struct nvme_ctrl (FATE#323952, FATE#322506). - nvme: simplify nvme_dev_attrs_are_visible (FATE#323952, FATE#322506). - nvme: split nvme_uninit_ctrl into stop and uninit (FATE#323952, FATE#322506). - nvme: strip trailing 0-bytes in wwid_show (FATE#323952, FATE#322506). - nvme: switch to uuid_t (FATE#323952, FATE#322506). - nvme: use a single NVME_AQ_DEPTH and relax it to 32 (FATE#323952, FATE#322506). - nvme: use ctrl->device consistently for logging (FATE#323952, FATE#322506). - nvme: validate admin queue before unquiesce (FATE#323952, FATE#322506). - nvme.h: add dword 12 - 15 fields to struct nvme_features (FATE#323952, FATE#322506). - nvme.h: add struct nvme_host_mem_buf_desc and HMB flags (FATE#323952, FATE#322506). - nvme_fc: Fix crash when nvme controller connection fails (FATE#323952, FATE#322506). - nvme_fc: fix double calls to nvme_cleanup_cmd() (FATE#323952, FATE#322506). - nvme_fc: fix error recovery on link down (FATE#323952, FATE#322506). - nvme_fc/nvmet_fc: revise Create Association descriptor length (FATE#323952, FATE#322506). - nvme_fc: replace ioabort msleep loop with completion (FATE#323952, FATE#322506). - nvmet: Move serial number from controller to subsystem (FATE#323952, FATE#322506). - nvmet: add uuid field to nvme_ns and populate via configfs (FATE#323952, FATE#322506). - nvmet: allow overriding the NVMe VS via configfs (FATE#323952, FATE#322506). - nvmet: avoid unneeded assignment of submit_bio return value (FATE#323952, FATE#322506). - nvmet: don't overwrite identify sn/fr with 0-bytes (FATE#323952, FATE#322506). - nvmet: don't report 0-bytes in serial number (FATE#323952, FATE#322506). - nvmet-fc: Remove a set-but-not-used variable (FATE#323952, FATE#322506). - nvmet-fc: correct use after free on list teardown (FATE#323952, FATE#322506). - nvmet-fc: eliminate incorrect static markers on local variables (FATE#323952, FATE#322506). - nvmet-fc: fix byte swapping in nvmet_fc_ls_create_association (FATE#323952, FATE#322506). - nvmet: implement namespace identify descriptor list (FATE#323952, FATE#322506). - nvmet: prefix version configfs file with attr (FATE#323952, FATE#322506). - nvmet: preserve controller serial number between reboots (FATE#323952, FATE#322506). - nvmet-rdma: register ib_client to not deadlock in device removal (FATE#323952, FATE#322506). - nvmet: use NVME_IDENTIFY_DATA_SIZE (FATE#323952, FATE#322506). - nvmet_fc: Accept variable pad lengths on Create Association LS (FATE#323952, FATE#322506). - nvmet_fc: add defer_req callback for deferment of cmd buffer return (FATE#323952, FATE#322506). - nvmet_fc: fix crashes on bad opcodes (FATE#323952, FATE#322506). - nvmf: keep track of nvmet connect error status (FATE#323952, FATE#322506). - scatterlist: add sg_zero_buffer() helper (FATE#323952, FATE#322506). - Delete patches.suse/0001-lightnvme-fix-compiling-error-for-blk_status_t.patch. - commit b7fe62e- cpufreq, ondemand: Set default up_threshold to 40 on multi-core systems (bnc#464461,bnc#981838). - commit 91e0473- series.conf: Move block-layer patches into sorted patch section Refresh patches.suse/0004-cfq-iosched-Delete-unused-function-min_vdisktime.patch. - commit fec2137- series.conf: Let SCSI patches follow the upstream order and place them into the ordered section of series.conf - commit 7b4f251- rpm/kernel-binary.spec.in: only rewrite modules.dep if non-zero in size (bsc#1056979). - commit 75691fd- supported.conf: follow upstream rename of bcm2835-sdio to bcm2835 - commit e19f882- nfp: add whitelist of supported flow dissector (bsc#1055968). - commit b6ed7d2- net_sched: fix reference counting of tc filter chain (bsc#1056787). - commit 157c20a- move pcie relaxed order patches to sorted section for cxgb4 - commit 1ddb2fb- scsi: be2iscsi: Replace PCI pool old API (bsc#1050253). - commit c409c57- scsi: bnx2i: Simplify cpu hotplug code (bsc#1050314). - scsi: bnx2i: Prevent recursive cpuhotplug locking (bsc#1050314). - commit 6746c96- KVM: SVM: Add irqchip_split() checks before enabling AVIC (bsc#1044503). - KVM: Add struct kvm_vcpu pointer parameter to get_enable_apicv() (bsc#1044503). - KVM: SVM: Refactor AVIC vcpu initialization into avic_init_vcpu() (bsc#1044503). - commit ffdf86f- iommu/amd: Fix section mismatch warning (bsc#1043261). - iommu/amd: Fix compiler warning in copy_device_table() (bsc#1043261). - iommu/amd: Check if domain is NULL in get_domain() and return - EBUSY (bsc#1043261). - iommu/amd: Disable iommu only if amd_iommu=off is specified (bsc#1043261). - iommu/amd: Don't copy GCR3 table root pointer (bsc#1043261). - iommu/amd: Allocate memory below 4G for dev table if translation pre-enabled (bsc#1043261). - iommu/amd: Use is_attach_deferred call-back (bsc#1043261). - iommu: Add is_attach_deferred call-back to iommu-ops (bsc#1043261). - iommu/amd: Do sanity check for address translation and irq remap of old dev table entry (bsc#1043261). - iommu/amd: Copy old trans table from old kernel (bsc#1043261). - iommu/amd: Add function copy_dev_tables() (bsc#1043261). - iommu/amd: Define bit fields for DTE particularly (bsc#1043261). - Revert "iommu/amd: Suppress IO_PAGE_FAULTs in kdump kernel" (bsc#1043261). - iommu/amd: Add several helper functions (bsc#1043261). - iommu/amd: Detect pre enabled translation (bsc#1043261). - commit 655c694- xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present (bsc#1058524). - commit 72f8d25- nl80211: check for the required netlink attributes presence (bsc#1058410 CVE-2017-12153). - commit 8769ee8- ACPI / scan: Enable GPEs before scanning the namespace (FATE#323948). - ACPICA: Dispatch active GPEs at init time (FATE#323948). - ACPICA: Make it possible to enable runtime GPEs earlier (FATE#323948). - Refresh patches.suse/0001-cpuidle-Fix-idle-time-tracking.patch. - commit 029df21- KVM: SVM: delete avic_vm_id_bitmap (2 megabyte static array) (bsc#1059500). - commit 6783c4c- KVM: SVM: Enable Virtual GIF feature (fate#323405). - KVM: SVM: Add Virtual GIF feature definition (fate#323405). - KVM: SVM: suppress unnecessary NMI singlestep on GIF=0 and nested exit (fate#323405). - KVM: SVM: don't NMI singlestep over event injection (fate#323405). - KVM: SVM: hide TF/RF flags used by NMI singlestep (fate#323405). - KVM: nSVM: do not forward NMI window singlestep VM exits to L1 (fate#323405). - KVM: SVM: introduce disable_nmi_singlestep helper (fate#323405). - commit 82b8a75- PCI: Restore PRI and PASID state after Function-Level Reset (fate#322865). - PCI: Cache PRI and PASID bits in pci_dev (fate#322865). - commit 085d4a7- qxl: fix pinning (bsc#1057241,bsc#1057123). - qxl: fix primary surface handling (bsc#1057241,bsc#1057123). - commit 7c6173e- objtool: Fix object file corruption (bnc#1058115). - objtool: Do not retrieve data from empty sections (bnc#1058115). - objtool: Fix memory leak in elf_create_rela_section() (bnc#1058115). - commit 964c24f- Update patches.suse/0123-blk-mq-map-all-HWQ-also-in-hyperthreaded-system.patch (FATE#1054937). The patch has a FATE entry for itself, tag it correctly. - commit 822ef07- orangefs: Don't clear SGID when inheriting ACLs (bsc#1052766). - commit a58e862- Delete patches.drivers/0003-dm-integrity-test-for-corrupted-disk-format-during-t.patch, it is in patches.kernel.org/patch-4.12.4-5 already. - commit cbab9c7- lightnvme: fix compiling error for blk_status_t (fate#322738,fate#322919,fate#322950,fate#323773). - commit 12a6d58- supported.conf: add test_firmware to new kselftests-kmp package FATE#323821 This test drivers is present on vanilla so we also enable it there. - Update config files. - supported.conf: - commit cd2246a- supported.conf: add test_syctl to new kselftests-kmp package FATE#323821 As per FATE#323821 we will require new FATE requests per each new selftest driver. We don't want to support these module on production runs but we do want to support them for QA / testing uses. The compromise is to package them into its own package, this will be the kselftests-kmp package. Selftests can also be used as proof of concept vehicle for issues by customers or ourselves. Vanilla kernels do not get test_sysctl given that driver was using built-in defaults, this also means we cannot run sefltests on config/s390x/zfcpdump which does not enable modules. Likeweise, since we had to *change* the kernel for test_syctl, it it also means we can't test test_syctl with vanilla kernels. It should be possible with other selftests drivers if they are present in vanilla kernels though. - Update config files. - rpm/package-descriptions: - supported.conf: - commit 40c878b- test_firmware: add batched firmware tests (FATE#323821). - commit b825e51- test_firmware: add test case for SIGCHLD on sync fallback (FATE#323821). - commit 616e12d- firmware: enable a debug print for batched requests (FATE#323821). - commit 9d0e61c- firmware: define pr_fmt (FATE#323821). - commit b59ec48- firmware: send -EINTR on signal abort on fallback mechanism (FATE#323821). - commit 47321c2- test_sysctl: fix sysctl.sh by making it executable (FATE#323821). - commit 7287239- test_sysctl: test against int proc_dointvec() array support (FATE#323821). - commit 291f702- test_sysctl: add simple proc_douintvec() case (FATE#323821). - commit 3e388c4- test_sysctl: add simple proc_dointvec() case (FATE#323821). - commit 12b82e3- test_sysctl: test against PAGE_SIZE for int (FATE#323821). - commit 59a85c2- test_sysctl: add generic script to expand on tests (FATE#323821). - commit c47b649- test_sysctl: add dedicated proc sysctl test driver (FATE#323821). - commit e27658a- tools/testing/selftests/sysctl: Add pre-check to the value of writes_strict (FATE#323821). - commit 784faa7- sysctl: add unsigned int range support (FATE#323821). - commit 9ccbe48- sysctl: simplify unsigned int support (bsc#1048893). - commit 5e5055c- sysctl: fold sysctl_writes_strict checks into helper (bsc#1048893). - commit c687140- sysctl: kdoc'ify sysctl_writes_strict (bsc#1048893). - commit 1c8d7a1- sysctl: fix lax sysctl_check_table() sanity check (bsc#1048893). - commit 626023a- kvm: nVMX: Don't allow L2 to access the hardware CR8 (bsc#1058507, CVE-2017-12154). - KVM: Don't accept obviously wrong gsi values via KVM_IRQFD (bsc#1058038, CVE-2017-1000252). - KVM: VMX: Do not BUG() on out-of-bounds guest IRQ (bsc#1058038, CVE-2017-1000252). - commit 7aeea59- objtool: Assume unannotated UD2 instructions are dead ends (bnc#1058115). - objtool: Fix gcov check for older versions of GCC (bnc#1058115). - objtool: Fix objtool fallthrough detection with function padding (bnc#1058115). - objtool: Fix validate_branch() return codes (bnc#1058115). - objtool: Handle GCC stack pointer adjustment bug (bnc#1058115). - x86/asm: Add ASM_UNREACHABLE (bnc#1058115). - x86/asm: Fix UNWIND_HINT_REGS macro for older binutils (bnc#1058115). - x86/asm: Make objtool unreachable macros independent from GCC version (bnc#1058115). - objtool: Skip unreachable warnings for 'alt' instructions (bnc#1058115). - objtool: Track DRAP separately from callee-saved registers (bnc#1058115). - objtool: Fix '-mtune=atom' decoding support in objtool 2.0 (bnc#1058115). - Refresh patches.suse/0001-x86-unwind-Add-the-ORC-unwinder.patch. Take all ORC upstream patches to be up-to-date. - commit 5dc7bd3- Refresh patches.suse/0001-x86-entry-64-Refactor-IRQ-stacks-and-make-them-NMI-s.patch. - Refresh patches.suse/0001-x86-unwind-Add-the-ORC-unwinder.patch. - Refresh patches.suse/0002-dwarf-do-not-throw-away-unwind-info.patch. - Refresh patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch. - Refresh patches.suse/0002-x86-entry-64-Initialize-the-top-of-the-IRQ-stack-bef.patch. - Refresh patches.suse/0002-x86-kconfig-Make-it-easier-to-switch-to-the-new-ORC-.patch. - Refresh patches.suse/0003-x86-dumpstack-Fix-occasionally-missing-registers.patch. - Refresh patches.suse/0003-x86-kconfig-Consolidate-unwinders-into-multiple-choi.patch. - Refresh patches.suse/0004-x86-dumpstack-Fix-interrupt-and-exception-stack-boun.patch. - Refresh patches.suse/0005-objtool-Add-ORC-unwind-table-generation.patch. - Refresh patches.suse/0006-objtool-x86-Add-facility-for-asm-code-to-provide-unw.patch. - Refresh patches.suse/0007-x86-entry-64-Add-unwind-hint-annotations.patch. - Refresh patches.suse/0008-x86-asm-Add-unwind-hint-annotations-to-sync_core.patch. - Delete patches.suse/0001-linkage-new-macros-for-assembler-symbols.patch. - Delete patches.suse/0002-dwarf-do-not-throw-away-unwind-info.patch. - Delete patches.suse/0003-DWARF-EH-frame-based-stack-unwinding.patch. - Delete patches.suse/stack-unwind-disable-kasan.patch. Update upstream status of ORC and drop already-disabled DWARF unwinder. - commit 87cb5c8- thunderbolt: Fix reset response_type (FATE#323948). - thunderbolt: Allow clearing the key (FATE#323948). - thunderbolt: Make key root-only accessible (FATE#323948). - thunderbolt: Remove superfluous check (FATE#323948). - thunderbolt: Do not enumerate more ports from DROM than the controller has (FATE#323948). - thunderbolt: icm: Ignore mailbox errors in icm_suspend() (FATE#323948). - thunderbolt: Correct access permissions for active NVM contents (FATE#323948). - thunderbolt: fix spelling mistake: "missmatch" -> "mismatch" (FATE#323948). - thunderbolt: Add support for host and device NVM firmware upgrade (FATE#323948). - thunderbolt: Add support for Internal Connection Manager (ICM) (FATE#323948). - thunderbolt: Do not touch the hardware if the NHI is gone on resume (FATE#323948). - thunderbolt: Add support for DMA configuration based mailbox (FATE#323948). - thunderbolt: Store Thunderbolt generation in the switch structure (FATE#323948). - thunderbolt: Add support for NHI mailbox (FATE#323948). - thunderbolt: Add new Thunderbolt PCI IDs (FATE#323948). - thunderbolt: Rework control channel to be more reliable (FATE#323948). - thunderbolt: Let the connection manager handle all notifications (FATE#323948). - thunderbolt: Expose make_header() to other files (FATE#323948). - thunderbolt: Expose get_route() to other files (FATE#323948). - thunderbolt: Move control channel messages to tb_msgs.h (FATE#323948). - thunderbolt: Read vendor and device name from DROM (FATE#323948). - thunderbolt: Refactor and fix parsing of port drom entries (FATE#323948). - thunderbolt: Do not fail if DROM data CRC32 is invalid (FATE#323948). - thunderbolt: Fail switch adding operation if reading DROM fails (FATE#323948). - thunderbolt: Convert switch to a device (FATE#323948). - thunderbolt: Introduce thunderbolt bus and connection manager (FATE#323948). - thunderbolt: Allow passing NULL to tb_ctl_free() (FATE#323948). - thunderbolt: Rework capability handling (FATE#323948). - thunderbolt: Add MSI-X support (FATE#323948). - thunderbolt: Do not warn about newer DROM versions (FATE#323948). - thunderbolt: Do not try to read UID if DROM offset is read as 0 (FATE#323948). - commit dc02c6e- thunderbolt: No need to read UID of the root switch on resume (FATE#323948). - thunderbolt: Use const buffer pointer in write operations (FATE#323948). - commit 4cfbced- Refresh patches.suse/sched-wait-Break-up-long-wake-list-walk.patch. - Refresh patches.suse/sched-wait-Introduce-wakeup-boomark-in-wake_up_page_bit.patch. - commit 9f181ab- cpufreq, intel_pstate: Use setpoint of 40% on servers (bnc#945201). - commit d39e8fb- Refresh patches.drivers/net-phy-Make-phy_ethtool_ksettings_get-return-void.patch. There was a tiny bit of whitespace difference with the upstream commit. Correct it in the interest of keeping the expected context. - commit e744926- Refresh patch order in networking section - commit b2d9582- netpoll: shut up a kernel warning on refcount (bsc#1046306 FATE#322942 bsc#1056787). - commit 26241d7- Update config files. Enabled SECURITY_INFINIBAND - commit 8c7c6ab- IB/hfi1: update to new mmu_notifier semantic (bsc#1046306 FATE#322942). - IB/umem: update to new mmu_notifier semantic (bsc#1046306 FATE#322942). - IB/core: Avoid accessing non-allocated memory when inferring port type (bsc#1046306 FATE#322942). - IB/uverbs: Fix NULL pointer dereference during device removal (bsc#1046306 FATE#322942). - IB/core: Protect sysfs entry on ib_unregister_device (bsc#1046306 FATE#322942). - RDMA/vmw_pvrdma: Report CQ missed events (bsc#1046306 FATE#322942). - IB/ipoib: Notify on modify QP failure only when relevant (bsc#1046307 FATE#322941). - Revert "IB/core: Allow QP state transition from reset to error" (bsc#1046306 FATE#322942). - IB/ipoib: Remove double pointer assigning (bsc#1046307 FATE#322941). - IB/ipoib: Clean error paths in add port (bsc#1046307 FATE#322941). - IB/ipoib: Add get statistics support to SRIOV VF (bsc#1046307 FATE#322941). - IB/ipoib: Add multicast packets statistics (bsc#1046307 FATE#322941). - IB/ipoib: Set IPOIB_NEIGH_TBL_FLUSH after flushed completion initialization (bsc#1046307 FATE#322941). - IB/ipoib: Prevent setting negative values to max_nonsrq_conn_qp (bsc#1046307 FATE#322941). - IB/ipoib: Make sure no in-flight joins while leaving that mcast (bsc#1046307 FATE#322941). - IB/ipoib: Use cancel_delayed_work_sync when needed (bsc#1046307 FATE#322941). - IB/ipoib: Fix race between light events and interface restart (bsc#1046307 FATE#322941). - IB/uverbs: Fix device cleanup (bsc#1046306 FATE#322942). - RDMA/uverbs: Prevent leak of reserved field (bsc#1046306 FATE#322942). - IB/core: Fix race condition in resolving IP to MAC (bsc#1046306 FATE#322942). - IB/cma: Fix reference count leak when no ipv4 addresses are set (bsc#1046306 FATE#322942). - IB/rdmavt: Setting of QP timeout can overflow jiffies computation (bsc#1058717 FATE#322789). - IB/core: Fix sparse warnings (bsc#1046306 FATE#322942). - IB/IPoIB: Fix error code in ipoib_add_port() (bsc#1046307 FATE#322941). - IB/core: Allow QP state transition from reset to error (bsc#1046306 FATE#322942). - IB/ipoib: Let lower driver handle get_stats64 call (bsc#1046307 FATE#322941). - IB/core: Add ordered workqueue for RoCE GID management (bsc#1046306 FATE#322942). - IB/core: Remove NOIO QP create flag (bsc#1046306 FATE#322942). - IB/{rdmavt, qib, hfi1}: Remove gfp flags argument (bsc#1046306 FATE#322942 bsc#1027067 FATE#322649 bsc#1058717 FATE#322789). - IB/IPoIB: Convert IPoIB to memalloc_noio_* calls (bsc#1046307 FATE#322941). - IB/IPoIB: Forward MTU change to driver below (bsc#1046307 FATE#322941). - IB/uverbs: Make use of ib_modify_qp variant to avoid resolving DMAC (bsc#1046306 FATE#322942). - IB/core: Introduce modify QP operation with udata (bsc#1046306 FATE#322942). - IB/core: Don't resolve IP address to the loopback device (bsc#1046306 FATE#322942). - RDMA/core: Document confusing code (bsc#1046306 FATE#322942). - IB/hfi1: Ensure dd->gi_mask can not be overflowed (bsc#1046306 FATE#322942). - IB/srpt: Make a debug statement in srpt_abort_cmd() more informative (bsc#1046306 FATE#322942). - IB/core: Fix static analysis warning in ib_policy_change_task (bsc#1046306 FATE#322942). - IB/core: Fix uninitialized variable use in check_qp_port_pkey_settings (bsc#1046306 FATE#322942). - IB/core, opa_vnic, hfi1, mlx5: Properly free rdma_netdev (bsc#1046306 FATE#322942 bsc#1046305 FATE#322943). - IB/opa_vnic: Use spinlock instead of mutex for stats_lock (bsc#1046306 FATE#322942). - IB/opa_vnic: Use GFP_ATOMIC while sending trap (bsc#1046306 FATE#322942). - net: convert sk_buff.users from atomic_t to refcount_t (bsc#1046306 FATE#322942 bsc#1056787). - net: add netlink_ext_ack argument to rtnl_link_ops.changelink (bsc#1046306 FATE#322942 bsc#1056787). - net: add netlink_ext_ack argument to rtnl_link_ops.newlink (bsc#1046306 FATE#322942 bsc#1056787). - IB/core: Enforce security on management datagrams (bsc#1046306 FATE#322942). - selinux lsm IB/core: Implement LSM notification system (bsc#1046306 FATE#322942). - IB/core: Enforce PKey security on QPs (bsc#1046306 FATE#322942). - IB/core: IB cache enhancements to support Infiniband security (bsc#1046306 FATE#322942). - commit 2779070- Delete patches.drivers/IB-core-opa_vnic-hfi1-mlx5-Properly-free-rdma_netdev.patch. Patch will be re-done during IBcore commits - commit 080979b- powerpc/perf: POWER9 PMU stops after idle workaround (bsc#1056686). - commit e5b99d6- Bluetooth: Properly check L2CAP config option output buffer length (bsc#1057389 CVE-2017-1000251). - commit 6e305d4- IB/cxgb3: Fix error codes in iwch_alloc_mr() (bsc#1046534 FATE#322935). - commit fb70667- blacklist.conf: update not-backport commit id - commit 65bc4e8- dm mpath: retry BLK_STS_RESOURCE errors (fate#322738,fate#322919,fate#322950,fate#323773). - blacklist.conf: add not-backport commits - dm: fix the second dec_pending() argument in __split_and_process_bio() (fate#322738,fate#322919,fate#322950,fate#323773). - block: Fix two comments that refer to .queue_rq() return values (fate#322738,fate#322919,fate#322950,fate#323773). - commit 1bf9ecf- i40iw: Fix potential fcn_id_array out of bounds (bsc#1058659 FATE#322535). - i40iw: Use correct alignment for CQ0 memory (bsc#1058659 FATE#322535). - i40iw: Fix typecast of tcp_seq_num (bsc#1058659 FATE#322535). - i40iw: Correct variable names (bsc#1058659 FATE#322535). - i40iw: Fix parsing of query/commit FPM buffers (bsc#1058659 FATE#322535). - IB/i40iw: Fix error code in i40iw_create_cq() (bsc#1058659 FATE#322535). - i40iw: Free QP PBLEs when the QP is destroyed (bsc#1058659 FATE#322535). - i40iw: Avoid memory leak of CQP request objects (bsc#1058659 FATE#322535). - i40iw: Update list correctly (bsc#1058659 FATE#322535). - i40iw: Add missing memory barrier (bsc#1058659 FATE#322535). - i40iw: Free QP resources on CQP destroy QP failure (bsc#1058659 FATE#322535). - i40iw: Release cm_id ref on PCI function reset (bsc#1058659 FATE#322535). - i40iw: Utilize iwdev->reset during PCI function reset (bsc#1058659 FATE#322535). - i40iw: Do not poll CCQ after it is destroyed (bsc#1058659 FATE#322535). - i40iw: Fix order of cleanup in close (bsc#1058659 FATE#322535). - commit eebe943- Resorted network driver section - commit c5fe18c- MD: fix warnning for UP case (fate#322738,fate#322919,fate#322950,fate#323773). - md: simplify code with bio_io_error (fate#322738,fate#322919,fate#322950,fate#323773). - md: raid1-10: move raid1/raid10 common code into raid1-10.c (fate#322738,fate#322919,fate#322950,fate#323773). - md: raid1/raid10: initialize bvec table via bio_add_page() (fate#322738,fate#322919,fate#322950,fate#323773). - raid5-ppl: use BIOSET_NEED_BVECS when creating bioset (fate#322738,fate#322919,fate#322950,fate#323773). - md/bitmap: don't read page from device with Bitmap_sync (fate#322738,fate#322919,fate#322950,fate#323773). - block: add support for write hints in a bio (fate#322738,fate#322919,fate#322950,fate#323773). - MD: fix a null dereference (fate#322738,fate#322919,fate#322950,fate#323773). - commit dbbe938- series.conf: change patche apply order. - move patches.suse/0036-md-cluster-remove-EXPERIMENTAL-info.patch to be applied after patches.fixes/0001-md-use-a-separate-bio_set-for-synchronous-IO.patch - commit 2979567- rpm/kernel-docs.spec.in: Fix a thinko for xmlto buildreq condition - commit 9d160ac- powerpc/perf: Update default sdar_mode value for power9 (bsc#1056686). - commit 5c31f3d- powerpc/perf: Cleanup of PM_BR_CMPL vs. PM_BRU_CMPL in Power9 event list (bsc#1056686). - commit ad2bb5c- Update config files: enable USB-C in -vanilla as well Fixes: 7e26cc6a2a52f439e815997690146c51503f56dd - commit c5e1b9f- powerpc/perf: Avoid spurious PMU interrupts after idle (bsc#1056686). - commit 21fff50- powerpc/64s: Invalidate ERAT on powersave wakeup for POWER9 (bsc#1056686). - commit 037cb86- dm kcopyd: add sequential write feature (fate#322738,fate#322919,fate#322950,fate#323773). - dm linear: add support for zoned block devices (fate#322738,fate#322919,fate#322950,fate#323773). - dm flakey: add support for zoned block devices (fate#322738,fate#322919,fate#322950,fate#323773). - dm: introduce dm_remap_zone_report() (fate#322738,fate#322919,fate#322950,fate#323773). - dm: fix REQ_OP_ZONE_REPORT bio handling (fate#322738,fate#322919,fate#322950,fate#323773). - dm: fix REQ_OP_ZONE_RESET bio handling (fate#322738,fate#322919,fate#322950,fate#323773). - dm table: add zoned block devices validation (fate#322738,fate#322919,fate#322950,fate#323773). - dm crypt: add big-endian variant of plain64 IV (fate#322738,fate#322919,fate#322950,fate#323773). - dm bio prison: use rb_entry() rather than container_of() (fate#322738,fate#322919,fate#322950,fate#323773). - dm ioctl: report event number in DM_LIST_DEVICES (fate#322738,fate#322919,fate#322950,fate#323773). - dm ioctl: add a new DM_DEV_ARM_POLL ioctl (fate#322738,fate#322919,fate#322950,fate#323773). - dm: add basic support for using the select or poll function (fate#322738,fate#322919,fate#322950,fate#323773). - dm verity fec: fix GFP flags used with mempool_alloc() (fate#322738,fate#322919,fate#322950,fate#323773). - dm zoned: use GFP_NOIO in I/O path (fate#322738,fate#322919,fate#322950,fate#323773). - dm zoned: remove test for impossible REQ_OP_FLUSH conditions (fate#322738,fate#322919,fate#322950,fate#323773). - dm raid: bump target version (fate#322738,fate#322919,fate#322950,fate#323773). - dm raid: avoid mddev->suspended access (fate#322738,fate#322919,fate#322950,fate#323773). - dm raid: fix activation check in validate_raid_redundancy() (fate#322738,fate#322919,fate#322950,fate#323773). - dm raid: remove WARN_ON() in raid10_md_layout_to_format() (fate#322738,fate#322919,fate#322950,fate#323773). - dm bufio: fix error code in dm_bufio_write_dirty_buffers() (fate#322738,fate#322919,fate#322950,fate#323773). - dm integrity: test for corrupted disk format during table load (fate#322738,fate#322919,fate#322950,fate#323773). - dm integrity: WARN_ON if variables representing journal usage get out of sync (fate#322738,fate#322919,fate#322950,fate#323773). - dm integrity: use plugging when writing the journal (fate#322738,fate#322919,fate#322950,fate#323773). - commit 1a13da0- Allow a queue to request that timeouts don't get rounded up (bnc#768084). - mtd: blkdevs: Fix mtd block write failure (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: only verify integrity on the lowest stacked driver (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: Fix regression if profile verify_fn is NULL (fate#322738,fate#322919,fate#322950,fate#323773). - xen-blkfront: Fix handling of non-supported operations (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: map queues to all present CPUs (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: map all HWQ also in hyperthreaded system (fate#322738,fate#322919,fate#322950,fate#323773). - bcache.txt: standardize document format (fate#322738,fate#322919,fate#322950,fate#323773). - bfq: dispatch request to prevent queue stalling after the request completion (fate#322738,fate#322919,fate#322950,fate#323773). - bfq: fix typos in comments about B-WF2Q+ algorithm (fate#322738,fate#322919,fate#322950,fate#323773). - block: call bio_uninit in bio_endio (fate#322738,fate#322919,fate#322950,fate#323773). - block: Fix __blkdev_issue_zeroout loop (fate#322738,fate#322919,fate#322950,fate#323773). - dm zoned: fix overflow when converting zone ID to sectors (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: fix boolreturn.cocci warnings (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: stop abusing bi_end_io (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: Restore original iterator on verify stage (fate#322738,fate#322919,fate#322950,fate#323773). - block: remove the unused bio_to_phys macro (fate#322738,fate#322919,fate#322950,fate#323773). - bio: add bvec_iter rewind API (fate#322738,fate#322919,fate#322950,fate#323773). - block: guard bvec iteration logic (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: fold bio_integrity_enabled to bio_integrity_prep (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: fix interface for bio_integrity_trim (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: bio_integrity_advance must update integrity seed (fate#322738,fate#322919,fate#322950,fate#323773). - bio-integrity: bio_trim should truncate integrity vector accordingly (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq-sched: fix performance regression of mq-deadline (fate#322738,fate#322919,fate#322950,fate#323773). - block, bfq: don't change ioprio class for a bfq_queue on a service tree (fate#322738,fate#322919,fate#322950,fate#323773). - block, bfq: update wr_busy_queues if needed on a queue split (fate#322738,fate#322919,fate#322950,fate#323773). - dm: don't set bounce limit (fate#322738,fate#322919,fate#322950,fate#323773). - block: don't set bounce limit in blk_init_queue (fate#322738,fate#322919,fate#322950,fate#323773). - block: don't set bounce limit in blk_init_allocated_queue (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: don't bounce by default (fate#322738,fate#322919,fate#322950,fate#323773). - block: don't bother with bounce limits for make_request drivers (fate#322738,fate#322919,fate#322950,fate#323773). - block: remove the queue_bounce_pfn helper (fate#322738,fate#322919,fate#322950,fate#323773). - block: move bounce declarations to block/blk.h (fate#322738,fate#322919,fate#322950,fate#323773). - blk-map: call blk_queue_bounce from blk_rq_append_bio (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: expose write hints through debugfs (fate#322738,fate#322919,fate#322950,fate#323773). - dm zoned: drive-managed zoned block device target (fate#322738,fate#322919,fate#322950,fate#323773). Update: add DM_ZONED (is not set) to configs due to pick the above patch. - blk-mq: remove double set queue_num (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: Make it safe to quiesce and unquiesce from an interrupt handler (fate#322738,fate#322919,fate#322950,fate#323773). - block: Fix off-by-one errors in blk_status_to_errno() and print_req_error() (fate#322738,fate#322919,fate#322950,fate#323773). - block: Declare local symbols static (fate#322738,fate#322919,fate#322950,fate#323773). - block: Add fallthrough markers to switch statements (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: Warn when attempting to run a hardware queue that is not mapped (fate#322738,fate#322919,fate#322950,fate#323773). - block: Constify disk_type (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: Document locking assumptions (fate#322738,fate#322919,fate#322950,fate#323773). - block: Document what queue type each function is intended for (fate#322738,fate#322919,fate#322950,fate#323773). - block: Check locking assumptions at runtime (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: Initialize .rq_flags in blk_mq_rq_ctx_init() (fate#322738,fate#322919,fate#322950,fate#323773). - block: Change argument type of scsi_req_init() (fate#322738,fate#322919,fate#322950,fate#323773). - block: Make most scsi_req_init() calls implicit (fate#322738,fate#322919,fate#322950,fate#323773). - block: Introduce request_queue.initialize_rq_fn() (fate#322738,fate#322919,fate#322950,fate#323773). - block: Make request operation type argument declarations consistent (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: Reduce blk_mq_hw_ctx size (fate#322738,fate#322919,fate#322950,fate#323773). - block: return on congested block device (fate#322738,fate#322919,fate#322950,fate#323773). - Revert "blk-mq: don't use sync workqueue flushing from drivers" (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: clarify dispatch may not be drained/blocked by stopping queue (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: don't stop queue for quiescing (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: update comments on blk_mq_quiesce_queue() (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: use QUEUE_FLAG_QUIESCED to quiesce queue (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: use the introduced blk_mq_unquiesce_queue() (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: introduce blk_mq_unquiesce_queue (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: introduce blk_mq_quiesce_queue_nowait() (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: move blk_mq_quiesce_queue() into include/linux/blk-mq.h (fate#322738,fate#322919,fate#322950,fate#323773). - block: don't check for BIO_MAX_PAGES in blk_bio_segment_split() (fate#322738,fate#322919,fate#322950,fate#323773). - block: remove bio_clone() and all references (fate#322738,fate#322919,fate#322950,fate#323773). - xen-blkfront: remove bio splitting (fate#322738,fate#322919,fate#322950,fate#323773). - rbd: use bio_clone_fast() instead of bio_clone() (fate#322738,fate#322919,fate#322950,fate#323773). - drbd: use bio_clone_fast() instead of bio_clone() (fate#322738,fate#322919,fate#322950,fate#323773). - pktcdvd: Check queue type before attaching to a queue (fate#322738,fate#322919,fate#322950,fate#323773). - pktcdvd: remove the call to blk_queue_bounce (fate#322738,fate#322919,fate#322950,fate#323773). - pktcdvd: use bio_clone_fast() instead of bio_clone() (fate#322738,fate#322919,fate#322950,fate#323773). - pktcdvd: use class_groups instead of class_attrs (fate#322738,fate#322919,fate#322950,fate#323773). - bcache: use kmalloc to allocate bio in bch_data_verify() (fate#322738,fate#322919,fate#322950,fate#323773). - block: Improvements to bounce-buffer handling (fate#322738,fate#322919,fate#322950,fate#323773). - blk: use non-rescuing bioset for q->bio_split (fate#322738,fate#322919,fate#322950,fate#323773). - blk: make the bioset rescue_workqueue optional (fate#322738,fate#322919,fate#322950,fate#323773). - blk: replace bioset_create_nobvec() with a flags arg to bioset_create() (fate#322738,fate#322919,fate#322950,fate#323773). Update: patches.fixes/0001-md-use-a-separate-bio_set-for-synchronous-IO.patch rebase this patch to follow change of bioset_create() from the above patch. - blk: remove bio_set arg from blk_queue_split() (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: remove __blk_mq_alloc_request (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq-sched: unify request prepare methods (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: refactor blk_mq_sched_assign_ioc (fate#322738,fate#322919,fate#322950,fate#323773). - bfq-iosched: fix NULL ioc check in bfq_get_rq_private (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: streamline blk_mq_get_request (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: simplify blk_mq_free_request (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq-sched: unify request finished methods (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: remove blk_mq_sched_{get,put}_rq_priv (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: move blk_mq_sched_{get,put}_request to blk-mq.c (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: mark blk_mq_rq_ctx_init static (fate#322738,fate#322919,fate#322950,fate#323773). - md: change the initialization value for a spare device spot to MD_DISK_ROLE_SPARE (fate#322738,fate#322919,fate#322950,fate#323773). - md/raid1: remove unused bio in sync_request_write (fate#322738,fate#322919,fate#322950,fate#323773). - md/raid10: fix FailFast test for wrong device (fate#322738,fate#322919,fate#322950,fate#323773). - block: swim3: make of_device_ids const (fate#322738,fate#322919,fate#322950,fate#323773). - block: Dedicated error code fixups (fate#322738,fate#322919,fate#322950,fate#323773). - dm: missing break in process_queued_bios() (fate#322738,fate#322919,fate#322950,fate#323773). - x86, uaccess: introduce copy_from_iter_flushcache for pmem / cache-bypass operations (fate#322738,fate#322919,fate#322950,fate#323773). - block: switch bios to blk_status_t (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: switch ->queue_rq return value to blk_status_t (fate#322738,fate#322919,fate#322950,fate#323773). - fs: simplify dio_bio_complete (fate#322738,fate#322919,fate#322950,fate#323773). - fs: remove the unused error argument to dio_end_io() (fate#322738,fate#322919,fate#322950,fate#323773). - gfs2: remove the unused sd_log_error field (fate#322738,fate#322919,fate#322950,fate#323773). - block_dev: propagate bio_iov_iter_get_pages error in __blkdev_direct_IO (fate#322738,fate#322919,fate#322950,fate#323773). - nvme-rdma: fix merge error (fate#322738,fate#322919,fate#322950,fate#323773). - block: introduce new block status code type (fate#322738,fate#322919,fate#322950,fate#323773). - dm: change ->end_io calling convention (fate#322738,fate#322919,fate#322950,fate#323773). - dm: don't return errnos from ->map (fate#322738,fate#322919,fate#322950,fate#323773). - dm mpath: merge do_end_io_bio into multipath_end_io_bio (fate#322738,fate#322919,fate#322950,fate#323773). - dm: fix REQ_RAHEAD handling (fate#322738,fate#322919,fate#322950,fate#323773). - bsg: Check queue type before attaching to a queue (fate#322738,fate#322919,fate#322950,fate#323773). - commit 056fe48- block: Introduce queue flag QUEUE_FLAG_SCSI_PASSTHROUGH (fate#322738,fate#322919,fate#322950,fate#323773). - Refresh patches.drivers/0001-cciss-initialize-struct-scsi_req.patch. - commit fe7d9b8- blk-mq-debugfs: Add 'kick' operation (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq-debugfs: Show busy requests (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq-debugfs: Show requeue list (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq-debugfs: Show atomic request flags (fate#322738,fate#322919,fate#322950,fate#323773). - cfq-iosched: Delete unused function min_vdisktime() (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: make per-sw-queue bio merge as default .bio_merge (fate#322738,fate#322919,fate#322950,fate#323773). - blk-mq: merge bio into sw queue before plugging (fate#322738,fate#322919,fate#322950,fate#323773). - lib/raid6: Add log-of-2 table for RAID6 HW requiring disk position (fate#322738,fate#322919,fate#322950,fate#323773). - commit 63ce229- mtip32xx: avoid to read HOST_CAP from HW in .queue_rq() (fate#322738,fate#322919,fate#322950,fate#323773). - cciss: initialize struct scsi_req (fate#322738,fate#322919,fate#322950,fate#323773). - commit 865ae42- btrfs: use new block error code (fate#322738,fate#322919,fate#322950,fate#323773). - commit 4707260- Prepare for SLE15 block layer backport, the following patches will be replaced in the backport patch set. - Delete patches.suse/0007-block-return-on-congested-block-device.patch. - Delete patches.suse/blk-timeout-no-round. - commit 898bc16- IB/rxe: Another fix for broken receive queue draining (bsc#1050662 FATE#323951). - IB/rxe: Move refcounting earlier in rxe_send() (bsc#1050662 FATE#323951). - commit 232e612- rxe: fix broken receive queue draining (bsc#1050662 FATE#323951). - IB/rxe: Set dma_mask and coherent_dma_mask (bsc#1050662 FATE#323951). - IB/rxe: Fix kernel panic from skb destructor (bsc#1050662 FATE#323951). - IB/rxe: do not copy extra stack memory to skb (bsc#1050662 FATE#323951). - commit 0a634d2- RDMA/ocrdma: Fix error codes in ocrdma_create_srq() (bsc#1058513 FATE#322520). - RDMA/ocrdma: Fix an error code in ocrdma_alloc_pd() (bsc#1058513 FATE#322520). - commit 1505b7c- config: disable IPX (fate#323372) Also drop the ipx line from supported.conf - commit fd722f1- bnx2x: fix format overflow warning (bsc#1050319 FATE#322906). - net: broadcom: bnx2x: make a couple of const arrays static (bsc#1050319 FATE#322906). - bnx2x: Remove open coded carrier check (bsc#1050319 FATE#322906). - commit 1244565- net: phy: Make phy_ethtool_ksettings_get return void (bsc#1050260 FATE#322917). - commit 6fbf90a- Update config files. (fate#322251) Enabling CONFIG_IMA_KEXEC on ppc64le kernel. (fate#322251) - commit a83dbdc- be2net: Update the driver version to 11.4.0.0 (bsc#1050252 FATE#322920). - be2net: Fix UE detection logic for BE3 (bsc#1050252 FATE#322920). - commit 4374b1f- netxen: fix incorrect loop counter decrement (bsc#1050526 FATE#322905). - netxen_nic: Remove unused pointer hdr in netxen_setup_minidump() (bsc#1050526 FATE#322905). - netxen: remove writeq/readq function definitions (bsc#1050526 FATE#322905). - commit dba6746- qlge: avoid memcpy buffer overflow (bsc#1050529 FATE#322902). - commit 33f6a43- Refresh patch order in network section - commit e712677- NFSv4.1: don't use machine credentials for CLOSE when using 'sec=sys' (bsc#972003). - Delete patches.fixes/nfs4_close.fix. Replace patch with slightly-improved upstream version. - commit d4a102c- md/raid5: fix a race condition in stripe batch (linux-stable). - NFS: flush data when locking a file to ensure cache coherence for mmap (bsc#981309). - commit 42452b8- Update config files. Readd CONFIG_UCSI It was killed by the type C FATEs (bsc#1058307) - commit 4a9daca- Update config files. Drop ancient USB drivers (FATE#323891) - commit f78046a- rpm/kernel-docs.spec.in: make unpack scripts executable - commit 1ba3766- usb:xhci:Fix regression when ATI chipsets detected (bsc#1055044). - commit 8847613- Update config files. Kill analog TV (FATE#323883) - commit 56e4a2a- bnxt_en: Do not setup MAC address in bnxt_hwrm_func_qcaps() (bsc#1050242 FATE#322914). - bnxt_en: Free MSIX vectors when unregistering the device from bnxt_re (bsc#1050242 FATE#322914). - bnxt_en: Fix .ndo_setup_tc() to include XDP rings (bsc#1050242 FATE#322914). - RDMA/bnxt_re: Fix the value reported for local ack delay (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Report MISSED_EVENTS in req_notify_cq (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Fix return value of poll routine (bsc#1050244 FATE#322915). - RDMA/bnxt_re: Enable atomics only if host bios supports (bsc#1050244 FATE#322915). - RDMA/bnxt_re: checking for NULL instead of IS_ERR() (bsc#1050244 FATE#322915). - bnxt_en: Fix SRIOV on big-endian architecture (bsc#1050242 FATE#322914). - bnxt_en: Fix bug in ethtool -L (bsc#1050242 FATE#322914). - bnxt_en: Fix race conditions in .ndo_get_stats64() (bsc#1050242 FATE#322914). - bpf: bnxt: Report bpf_prog ID during XDP_QUERY_PROG (bsc#1050242 FATE#322914). - bnxt_en: Fix xmit_more with BQL (bsc#1050242 FATE#322914). - bnxt_en: Pass in sh parameter to bnxt_set_dflt_rings() (bsc#1050242 FATE#322914). - bnxt_en: Implement xmit_more (bsc#1050242 FATE#322914). - bnxt_en: Optimize doorbell write operations for newer chips (bsc#1050242 FATE#322914). - bnxt_en: Add additional chip ID definitions (bsc#1050242 FATE#322914). - bnxt_en: Add a callback to inform RDMA driver during PCI shutdown (bsc#1050242 FATE#322914). - bnxt_en: Add PCI IDs for BCM57454 VF devices (bsc#1050242 FATE#322914). - bnxt_en: Support for Short Firmware Message (bsc#1050242 FATE#322914). - bnxt: add dma mapping attributes (bsc#1050242 FATE#322914). - commit a791793- Moved bnxt_re patches into sorted network driver section - commit e77ab1e- blacklist.conf: add 2 more entries - commit 93d993d- mtip32xx: fix up the checking for internal command failure (bsc#1058157). - commit f712234- sfc: don't try and read ef10 data on non-ef10 NIC (bsc#1058169 FATE#322922). - sfc: correct comment on efx_mcdi_process_event (bsc#1058169 FATE#322922). - sfc: change Unknown MCDI event message to print full event (bsc#1058169 FATE#322922). - commit 55d76f6- i40e: point wb_desc at the nvm_wb_desc during i40e_read_nvm_aq (bsc#1056658 FATE#322188). - i40e: avoid NVM acquire deadlock during NVM update (bsc#1056658 FATE#322188). - commit 0715187- perf vendor events powerpc: Remove duplicate events (FATE#322450, bsc#1050145). - commit ad444e5- Refresh patch order in networking section - commit ae6b192- scsi: qedf: Fix a potential NULL pointer dereference (bsc#1050530 FATE#322901). - scsi: qedf: Limit number of CQs (bsc#1050530 FATE#322901). - scsi: qedf: fix spelling mistake: "offlading" -> "offloading" (bsc#1050530 FATE#322901). - scsi: qedf: Merge a few quoted strings split across lines (bsc#1050530 FATE#322901). - scsi: qedf: Use 'dma_zalloc_coherent' to reduce code verbosity (bsc#1050530 FATE#322901). - scsi: qedf: Fix a return value in case of error in 'qedf_alloc_global_queues' (bsc#1050530 FATE#322901). - commit 943143a- Moved qedf patches to sorted network section - commit f5a68e3- qed: Fix a memory allocation failure test in 'qed_mcp_cmd_init()' (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - scsi: qedi: Fix return code in qedi_ep_connect() (bsc#1050534 FATE#322899). - scsi: qedi: Add ISCSI_BOOT_SYSFS to Kconfig (bsc#1050534 FATE#322899). - RDMA/qedr: Prevent memory overrun in verbs' user responses (bsc#1050545 FATE#322893). - scsi: qedi: fix another spelling mistake: "alloction" -> "allocation" (bsc#1050534 FATE#322899). - scsi: qedi: Add support for Boot from SAN over iSCSI offload (bsc#1050534 FATE#322899). - qed: Fix printk option passed when printing ipv6 addresses (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - scsi: qedi: Remove comparison of u16 idx with zero (bsc#1050534 FATE#322899). - qed: initialize ll2_syn_handle at start of function (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Add iWARP support for physical queue allocation (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add iWARP protocol support in context allocation (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP CM add error handling (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP implement disconnect flows (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP CM add active side connect (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP CM add passive side connect (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP CM add listener functions and initial SYN processing (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: iWARP CM - setup a ll2 connection for handling SYN packets (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Add iWARP support in ll2 connections (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Rename some ll2 related defines (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Implement iWARP initialization, teardown and qp operations (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed: Introduce iWARP personality (bsc#1050536 FATE#322898 bsc#1050545 FATE#322893). - qed*: Rename qed_roce_if.h to qed_rdma_if.h (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Split rdma content between qed_rdma and qed_roce (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Duplicate qed_roce. to qed_rdma.[ch] (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Cleanup qed_roce before duplicating it (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Fix compilation without QED_RDMA (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: SPQ async callback registration (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Wait for resources before FUNC_CLOSE (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed*: Set rdma generic functions prefix (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed*: qede_roce. -> qede_rdma.[ch] (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Disable RoCE dpm when DCBx change occurs (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: RoCE EDPM to honor PFC (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Chain support for external PBL (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - bpf: qede: Report bpf_prog ID during XDP_QUERY_PROG (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Fix an off by one bug (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: add qed_int_sb_init() stub function (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: collect GSI port statistics (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Call rx_release_cb() when flushing LL2 (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: No need for LL2 frags indication (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed*: LL2 callback operations (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: LL2 code relocations (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Cleaner seperation of LL2 inputs (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Revise ll2 Rx completion (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: LL2 to use packed information for tx (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: VF XDP support (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: VF XDP support (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: VFs to try utilizing the doorbell bar (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Multiple qzone queues for VFs (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: IOV db support multiple queues per qzone (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Make VF legacy a bitfield (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Assign a unique per-queue index to queue-cid (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Pass vf_params when creating a queue-cid (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed*: L2 interface to use the SB structures directly (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Create L2 queue database (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Add bitmaps for VF CIDs (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Add support for changing iSCSI mac (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Support NVM-image reading API (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Share additional information with qedf (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Correct order of wwnn and wwpn (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: No need to reset SBs on IOV init (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Reset IGU CAM to default on init (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Hold a single array for SBs (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Provide auxiliary for getting free VF SB (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Remove assumption on SB order in IGU (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Encapsulate interrupt counters in struct (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Add aux. function translating sb_id -> igu_sb_id (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Distinguish between sb_id and igu_sb_id (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: IGU read revised (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Minor refactoring in interrupt code (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Make qed_int_cau_conf_pi() static (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Cache alignemnt padding to match host (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Mask parities after occurance (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Print multi-bit attentions properly (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Diffrentiate adapter-specific attentions (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Get rid of the attention-arrays (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Support dynamic s-tag change (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: QL41xxx VF MSI-x table (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Don't inherit RoCE DCBx for V2 (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Correct DCBx update scheme (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Add missing static/local dcbx info (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Replace set_id() api with set_name() (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Log probe of PCI device (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Provide MBI information in dev_info (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Enable RoCE parser searching on fp init (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Flush slowpath tasklet on stop (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Remove BB_A0 references (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Drop the 's' from num_ports_in_engines (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Log incorrectly installed board (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: !main_ptt for tunnel configuration (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Align DP_ERR style with other DP macros (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Fix sparse warnings (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Support 1G advertisment (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Fix setting of Management bitfields (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: qedr closure after setting state (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Correct print in iscsi error-flow (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Revise alloc/setup/free flow (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Don't use an internal MAC field (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Add missing Status-block free (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Honor user request for Tx buffers (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qede: Allow WoL to activate by default (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Remove unused including (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - qed: Utilize FW 8.20.0.0 (bsc#1050536 FATE#322898 bsc#1050538 FATE#322897). - commit 1d42a59- net: sched: fix memleak for chain zero (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190 bsc#1056787). - commit 2088d61- Refresh patches.suse/audit-Reduce-overhead-using-a-coarse-clock.patch. - Refresh patches.suse/mm-change-the-call-sites-of-numa-statistics-items.patch. - Refresh patches.suse/mm-consider-the-number-in-local-CPUs-when-reading-NUMA-stats.patch. - Refresh patches.suse/mm-update-NUMA-counter-threshold-size.patch. - commit d6d62e5- scsi: aacraid: Fix out of bounds in aac_get_name_resp (FATE#322889, bsc#1049519). - scsi: aacraid: reading out of bounds (FATE#322889, bsc#1049519). - scsi: aacraid: Don't copy uninitialized stack memory to userspace (FATE#322889, bsc#1049519). - scsi: aacraid: fix leak of data from stack back to userspace (FATE#322889, bsc#1049519). - scsi: aacraid: Update driver version to 50834 (FATE#322889, bsc#1049519). - scsi: aacraid: Remove reference to Series-9 (FATE#322889, bsc#1049519). - scsi: aacraid: Add reset debugging statements (FATE#322889, bsc#1049519). - scsi: aacraid: Enable ctrl reset for both hba and arc (FATE#322889, bsc#1049519). - scsi: aacraid: Make sure ioctl returns on controller reset (FATE#322889, bsc#1049519). - scsi: aacraid: Use correct function to get ctrl health (FATE#322889, bsc#1049519). - scsi: aacraid: Rework aac_src_restart (FATE#322889, bsc#1049519). - scsi: aacraid: Rework SOFT reset code (FATE#322889, bsc#1049519). - scsi: aacraid: Add periodic checks to see IOP reset status (FATE#322889, bsc#1049519). - scsi: aacraid: Rework IOP reset (FATE#322889, bsc#1049519). - scsi: aacraid: Using single reset mask for IOP reset (FATE#322889, bsc#1049519). - scsi: aacraid: Print ctrl status before eh reset (FATE#322889, bsc#1049519). - scsi: aacraid: Log count info of scsi cmds before reset (FATE#322889, bsc#1049519). - scsi: aacraid: Change wait time for fib completion (FATE#322889, bsc#1049519). - scsi: aacraid: Remove reset support from check_health (FATE#322889, bsc#1049519). - scsi: aacraid: Set correct Queue Depth for HBA1000 RAW disks (FATE#322889, bsc#1049519). - scsi: aacraid: Added 32 and 64 queue depth for arc natives (FATE#322889, bsc#1049519). - scsi: aacraid: Fix DMAR issues with iommu=pt (FATE#322889, bsc#1049519). - scsi: aacraid: Remove __GFP_DMA for raw srb memory (FATE#322889, bsc#1049519). - commit 4812863- supported.conf: mark mlxfw as supported - commit 51723c1- net/mlx5e: IPoIB, Fix driver name retrieved by ethtool (bsc#1046303 FATE#322944). - commit f0ce489- Update config files. New MLX5 config options - commit f7e0715- net/mlx5e: Fix CQ moderation mode not set properly (bsc#1046303 FATE#322944). - net/mlx5e: Fix inline header size for small packets (bsc#1046303 FATE#322944). - net/mlx5: E-Switch, Unload the representors in the correct order (bsc#1046303 FATE#322944). - net/mlx5e: Properly resolve TC offloaded ipv6 vxlan tunnel source address (bsc#1046303 FATE#322944). - net/mlx5e: Don't override user RSS upon set channels (bsc#1046303 FATE#322944). - net/mlx5e: Fix dangling page pointer on DMA mapping error (bsc#1046303 FATE#322944). - net/mlx5: Remove the flag MLX5_INTERFACE_STATE_SHUTDOWN (bsc#1046303 FATE#322944). - net/mlx5: Skip mlx5_unload_one if mlx5_load_one fails (bsc#1046303 FATE#322944). - net/mlx5: Fix arm SRQ command for ISSI version 0 (bsc#1046303 FATE#322944). - net/mlx5e: Fix DCB_CAP_ATTR_DCBX capability for DCBNL getcap (bsc#1046303 FATE#322944). - net/mlx5e: Check for qos capability in dcbnl_initialize (bsc#1046303 FATE#322944). - IB/mlx5: Always return success for RoCE modify port (bsc#1046303 FATE#322944). - IB/mlx5: Fix Raw Packet QP event handler assignment (bsc#1046303 FATE#322944). - RDMA/mlx5: Fix existence check for extended address vector (bsc#1046305 FATE#322943). - net/mlx5: Clean SRIOV eswitch resources upon VF creation failure (bsc#1046303 FATE#322944). - IB/mlx5: Fix a warning message (bsc#1046303 FATE#322944). - IB/mlx5: Clean mr_cache debugfs in case of failure (bsc#1046303 FATE#322944). - net/mlx5: IPSec, fix 64-bit division correctly (bsc#1046303 FATE#322944). - net/mlx5: Add Makefiles for subdirectories (bsc#1046303 FATE#322944). - net/mlx5: Build wq.o even if MLX5_CORE_EN is not selected (bsc#1046303 FATE#322944). - net/mlx5: FPGA, Fix datatype mismatch (bsc#1046303 FATE#322944). - net/mlx5: FPGA, make mlx5_fpga_device_brb static (bsc#1046303 FATE#322944). - net/mlx5: IPSec, Fix 64-bit division on 32-bit builds (bsc#1046303 FATE#322944). - net/mlx5: Add missing include in lib/gid.c (bsc#1046303 FATE#322944). - IB/core, opa_vnic, hfi1, mlx5: Properly free rdma_netdev (bsc#1046305 FATE#322943). - net/mlxfw: Properly handle dependancy with non-loadable mlx5 (bsc#1051858). - net/mlx5: fix memcpy limit? (bsc#1046303 FATE#322944). - net/mlx5: fix spelling mistake: "Allodating" -> "Allocating" (bsc#1046303 FATE#322944). - net/mlx5e: IPSec, Add IPSec ethtool stats (bsc#1046303 FATE#322944). - net/mlx5e: IPSec, Add Innova IPSec offload TX data path (bsc#1046303 FATE#322944). - net/mlx5e: IPSec, Add Innova IPSec offload RX data path (bsc#1046303 FATE#322944). - net/mlx5e: IPSec, Innova IPSec offload infrastructure (bsc#1046303 FATE#322944). - net/mlx5: Accel, Add IPSec acceleration interface (bsc#1046303 FATE#322944). - net/mlx5: FPGA, Add SBU infrastructure (bsc#1046303 FATE#322944). - net/mlx5: FPGA, Add SBU bypass and reset flows (bsc#1046303 FATE#322944). - net/mlx5: FPGA, Add high-speed connection routines (bsc#1046303 FATE#322944). - net/mlx5: FPGA, Add FW commands for FPGA QPs (bsc#1046303 FATE#322944). - net/mlx5: FPGA, Move FPGA init/cleanup to init_once (bsc#1046303 FATE#322944). - net/mlx5: Add QP WQ support (bsc#1046303 FATE#322944). - net/mlx5: Make get_cqe routine not ethernet-specific (bsc#1046303 FATE#322944). - IB/mlx5: Respect mlx5_core reserved GIDs (bsc#1046303 FATE#322944). - net/mlx5: Add support for multiple RoCE enable (bsc#1046303 FATE#322944). - net/mlx5: Add reserved-gids support (bsc#1046303 FATE#322944). - net/mlx5: Set interface flags before cleanup in unload_one (bsc#1046303 FATE#322944). - net/mlx5: Fix offset of hca cap reserved field (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Support the flash device ethtool callback (bsc#1046303 FATE#322944). - net/mlx5e: Support the flash device ethtool callback (bsc#1046303 FATE#322944). - net/mlx5: Add mlxfw callbacks (bsc#1046303 FATE#322944). - net/mlx5: Add helper functions to set/query MCC/MCDA/MCQI registers (bsc#1046303 FATE#322944). - net/mlx5: Enhance MCAM reg to allow query on access reg support (bsc#1046303 FATE#322944). - net/mlx5: Add MCC (Management Component Control) register definitions (bsc#1046303 FATE#322944). - mlxfw: Make the module selectable (bsc#1051858). - net/mlx5e: Add header re-write offloading of IPv6 hop-limit (bsc#1046303 FATE#322944). - net/mlx5e: Use macro for TC header re-write offload field mapping (bsc#1046303 FATE#322944). - net/mlx5e: Offload TC matching on ip ttl (bsc#1046303 FATE#322944). - net/mlx5e: Relocate the TC match on ip tos offload code section (bsc#1046303 FATE#322944). - net/mlx5e: Introduce RX Page-Reuse (bsc#1046303 FATE#322944). - net/mlx5e: Enhance RX SKB headroom logic (bsc#1046303 FATE#322944). - net/mlx5e: Build SKB with exact frag_size (bsc#1046303 FATE#322944). - net/mlx5e: Use device ID defines (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Add ioctl support to IPoIB device driver (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Add PTP support to IPoIB device driver (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Get more TX statistics (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Handle change_mtu (bsc#1046303 FATE#322944). - net/mlx5e: Use hard_mtu as part of the mlx5e_priv struct (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Change parameters default values (bsc#1046303 FATE#322944). - net/mlx5e: Add new profile function update_carrier (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Add ethtool support (bsc#1046303 FATE#322944). - net/mlx5e: Prevent PFC call for non ethernet ports (bsc#1046303 FATE#322944). - net/mlx5e: IPoIB, Move to a separate directory (bsc#1046303 FATE#322944). - net/mlx5: Add fast unload support in shutdown flow (bsc#1046303 FATE#322944). - net/mlx5: Expose command polling interface (bsc#1046303 FATE#322944). - net/mlx5e: Optimize update stats work (bsc#1046303 FATE#322944). - net/mlx5e: Move and optimize query out of buffer function (bsc#1046303 FATE#322944). - net/mlx5e: Reduce number of heap allocated buffers for update stats (bsc#1046303 FATE#322944). - net/mlx5e: Rename physical symbol errors counter (bsc#1046303 FATE#322944). - net/mlx5e: Fix typo in warning if CQ moderation is not supported (bsc#1046303 FATE#322944). - net/mlx5e: Use function to map aRFS into traffic type (bsc#1046303 FATE#322944). - net/mlx5: Undo LAG upon request to create virtual functions (bsc#1046303 FATE#322944). - net/mlx5: Avoid space after casting (bsc#1046303 FATE#322944). - net/mlx5: Align to match opening parenthesis (bsc#1046303 FATE#322944). - net/mlx5: Avoid blank lines before/after closing/opening braces (bsc#1046303 FATE#322944). - net/mlx5: Avoid using multiple blank lines (bsc#1046303 FATE#322944). - net/mlx5: Fix some spelling mistakes (bsc#1046303 FATE#322944). - net/mlx5: Update eqe_type_str() event names (bsc#1046303 FATE#322944). - bpf: mlx5e: Report bpf_prog ID during XDP_QUERY_PROG (bsc#1046303 FATE#322944). - net/mlxfw: fix a NULL dereference (bsc#1051858). - net/mlx5e: Fill advertised and supported port data from Hardware info (bsc#1046303 FATE#322944). - net/mlx5e: Add support for reading connector type from PTYS (bsc#1046303 FATE#322944). - net/mlx5: Update flow table commands layout (bsc#1046303 FATE#322944). - net/mlx5e: Support header re-write of partial fields in TC pedit offload (bsc#1046303 FATE#322944). - net/mlx5e: Use modify header ID cache for offloaded TC NIC flows (bsc#1046303 FATE#322944). - net/mlx5e: Use modify header ID cache for offloaded TC E-Switch flows (bsc#1046303 FATE#322944). - net/mlx5e: Add cache for HW modify header IDs (bsc#1046303 FATE#322944). - net/mlx5e: Use short attribute form when adding/deleting offloaded TC flows (bsc#1046303 FATE#322944). - net/mlx5e: Remove limitation of single NIC offloaded TC action per rule (bsc#1046303 FATE#322944). - net/mlxfw: remove redundant goto on error check (bsc#1051858). - net/mlx5e: Offload TC matching on ip tos / traffic-class (bsc#1046303 FATE#322944). - net/mlx5e: Offload TC matching on tcp flags (bsc#1046303 FATE#322944). - net/mlxfw: select CONFIG_XZ_DEC (bsc#1051858). - Add the mlxfw module for Mellanox firmware flash process (bsc#1051858). - IB/mlx5: Bump driver version (bsc#1046303 FATE#322944). - net/mlx5: Bump driver version (bsc#1046303 FATE#322944). - net/mlx5: FPGA, Add basic support for Innova (bsc#1046303 FATE#322944). - net/mlx5: Introduce trigger_health_work function (bsc#1046303 FATE#322944). - net/mlx5: Update the list of the PCI supported devices (bsc#1046303 FATE#322944). - {net, IB}/mlx5: Replace mlx5_vzalloc with kvzalloc (bsc#1046305 FATE#322943). - net/mlx5e: Fix possible memory leak (bsc#1046303 FATE#322944). - commit eb483d0- rpm/constraints.in: build ARM on at least 2 cpus - commit b7edeaf- rpm/constraints.in: increase memory for kernel-syzkaller And see if it helps. If so, push it to packaging... - commit 7193e65- Linux 4.12.12 (FATE#321195 bnc#1012628). - Delete patches.drivers/0001-intel_th-pci-Add-Cannon-Lake-PCH-LP-support.patch. - Delete patches.drivers/0002-intel_th-pci-Add-Cannon-Lake-PCH-H-support.patch. - commit 296e98a- x86/intel_rdt: Turn off most RDT features on Skylake (fate#323965). - commit 2a5c169- x86/intel_rdt: Add command line options for resource director technology (fate#323965). - commit f5e558a- x86/intel_rdt: Move special case code for Haswell to a quirk function (fate#323965). - commit c494255- x86/intel_rdt: Remove redundant ternary operator on return (fate#323965). - commit da06468- x86/intel_rdt/cqm: Improve limbo list processing (fate#323965). - commit d7dce5a- x86/intel_rdt/mbm: Fix MBM overflow handler during CPU hotplug (fate#323965). - commit a86f8e0- x86/intel_rdt: Modify the intel_pqr_state for better performance (fate#323965). - commit ab298d6- x86/intel_rdt/cqm: Clear the default RMID during hotcpu (fate#323965). - commit 3c14e89- x86/intel_rdt: Show bitmask of shareable resource with other executing units (fate#323965). - commit 0ccbd41- x86/intel_rdt/mbm: Handle counter overflow (fate#323965). - commit 94ce203- x86/intel_rdt/mbm: Add mbm counter initialization (fate#323965). - commit 32e11af- x86/intel_rdt/mbm: Basic counting of MBM events (total and local) (fate#323965). - commit 12b1bc5- x86/intel_rdt/cqm: Add CPU hotplug support (fate#323965). - commit 71658b1- x86/intel_rdt/cqm: Add sched_in support (fate#323965). - commit 4198905- x86/intel_rdt: Introduce rdt_enable_key for scheduling (fate#323965). - commit 16e00d5- x86/intel_rdt/cqm: Add mount,umount support (fate#323965). - commit e56f8c1- x86/intel_rdt/cqm: Add rmdir support (fate#323965). - commit bac5646- x86/intel_rdt: Separate the ctrl bits from rmdir (fate#323965). - commit 6ec17c9- x86/intel_rdt/cqm: Add mon_data (fate#323965). - commit 16bb61c- x86/intel_rdt: Prepare for RDT monitor data support (fate#323965). - commit ebdd847- x86/intel_rdt/cqm: Add cpus file support (fate#323965). - commit 11c3fd1- x86/intel_rdt: Prepare to add RDT monitor cpus file support (fate#323965). - commit 8229971- x86/intel_rdt/cqm: Add tasks file support (fate#323965). - commit eebc71b- x86/intel_rdt: Change closid type from int to u32 (fate#323965). - commit 6a67176- x86/intel_rdt/cqm: Add mkdir support for RDT monitoring (fate#323965). - commit bc3130b- x86/intel_rdt: Prepare for RDT monitoring mkdir support (fate#323965). - commit af2e795- x86/intel_rdt/cqm: Add info files for RDT monitoring (fate#323965). - commit 18ae4be- x86/intel_rdt: Simplify info and base file lists (fate#323965). - commit ae6127b- x86/intel_rdt/cqm: Add RMID (Resource monitoring ID) management (fate#323965). - commit e234239- x86/intel_rdt/cqm: Add RDT monitoring initialization (fate#323965). - commit 16f77e6- x86/intel_rdt: Make rdt_resources_all more readable (fate#323965). - commit 6a43549- x86/intel_rdt: Cleanup namespace to support RDT monitoring (fate#323965). - commit ace7458- x86/intel_rdt: Mark rdt_root and closid_alloc as static (fate#323965). - commit b46c4ec- x86/intel_rdt: Change file names to accommodate RDT monitor code (fate#323965). - commit a90473c- x86/intel_rdt: Introduce a common compile option for RDT (fate#323965). - commit 38084a6- x86/intel_rdt/cqm: Documentation for resctrl based RDT Monitoring (fate#323965). - commit b231f22- x86/perf/cqm: Wipe out perf based cqm (fate#323965). - commit 7619997- perf, bpf: Add BPF support to all perf_event types (fate#323965). - commit db63802- net/mlx4_core: Fixes missing capability bit in flags2 capability dump (bsc#1046300 FATE#322946). - net/mlx4_core: Fix namespace misalignment in QinQ VST support commit (bsc#1046300 FATE#322946). - net/mlx4_core: Fix sl_to_vl_change bit offset in flags2 dump (bsc#1046300 FATE#322946). - net/mlx4_en: Fix wrong indication of Wake-on-LAN (WoL) support (bsc#1046299 FATE#322947). - IB/mlx4: Fix CM REQ retries in paravirt mode (bsc#1046302 FATE#322945). - mlx4_en: remove unnecessary returned value check (bsc#1046299 FATE#322947). - {net, IB}/mlx4: Remove gfp flags argument (bsc#1046302 FATE#322945). - IB: Convert msleep below 20ms to usleep_range (bsc#1046302 FATE#322945). - mlx4_en: make mlx4_log_num_mgm_entry_size static (bsc#1046299 FATE#322947). - net/mlx4_en: Do not allocate redundant TX queues when TC is disabled (bsc#1046299 FATE#322947). - net/mlx4_en: Add dynamic variable to hold the number of user priorities (UP) (bsc#1046299 FATE#322947). - net/mlx4: fix spelling mistake: "enforcment" -> "enforcement" (bsc#1046299 FATE#322947). - net/mlx4: fix spelling mistake: "coalesing" -> "coalescing" (bsc#1046299 FATE#322947). - bpf: mlx4: Report bpf_prog ID during XDP_QUERY_PROG (bsc#1046299 FATE#322947). - net/mlx4_en: Refactor mlx4_en_free_tx_desc (bsc#1046299 FATE#322947). - net/mlx4_en: Replace TXBB_SIZE multiplications with shift operations (bsc#1046299 FATE#322947). - net/mlx4_en: Increase default TX ring size (bsc#1046299 FATE#322947). - net/mlx4_en: Poll XDP TX completion queue in RX NAPI (bsc#1046299 FATE#322947). - net/mlx4_en: Improve XDP xmit function (bsc#1046299 FATE#322947). - net/mlx4_en: Improve stack xmit function (bsc#1046299 FATE#322947). - net/mlx4_en: Improve transmit CQ polling (bsc#1046299 FATE#322947). - net/mlx4_en: Improve receive data-path (bsc#1046299 FATE#322947). - net/mlx4_en: Optimized single ring steering (bsc#1046299 FATE#322947). - net/mlx4_en: Remove unused argument in TX datapath function (bsc#1046299 FATE#322947). - IB/mlx4: Bump driver version (bsc#1046302 FATE#322945). - net/mlx4_en: Bump driver version (bsc#1046299 FATE#322947). - net/mlx4_core: Bump driver version (bsc#1046300 FATE#322946). - commit 13e2dc6- Re-sorted network driver sorted section - commit 011cd2d- rpm/kernel-binary.spec.in: package ftrace-mod.o on arm64 It is needed for building modules since 4.13: CC [M] /suse/jslaby/a/aaa.o Building modules, stage 2. MODPOST 1 modules CC /suse/jslaby/a/aaa.mod.o LD [M] /suse/jslaby/a/aaa.ko ld: cannot find ./arch/arm64/kernel/ftrace-mod.o: No such file or directory ... - commit 07da115- net: ibm: ibmvnic: constify vio_device_id (fate#323285). - ibmvnic: Add netdev_dbg output for debugging (fate#323285). - ibmvnic: Clean up resources on probe failure (fate#323285). - ibmvnic: Implement .get_channels (fate#323285). - ibmvnic: Implement .get_ringparam (fate#323285). - commit 1850d99- ibmvnic: Convert vnic server reported statistics to cpu endian (fate#323285). - ibmvnic: Implement per-queue statistics reporting (fate#323285). - commit 1d86bd7- net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void (bsc#1056666 FATE#322183). - commit c133dc9- igb: make a few local functions static (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: Remove useless argument (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: check for Tx timestamp timeouts during watchdog (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: add statistic indicating number of skipped Tx timestamps (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: avoid permanent lock of *_PTP_TX_IN_PROGRESS (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: fix race condition with PTP_TX_IN_PROGRESS bits (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - igb: mark PM functions as __maybe_unused (bsc#1056651 FATE#322191 bsc#1056643 FATE#322192). - commit 846d7ef- i40e backport for SLE15 e3412575488a net: ethernet: update drivers to handle HWTSTAMP_FILTER_NTP_ALL (v4.13-rc1) already added as part of e1000e eb873fe4d31b i40evf: fix duplicate lines (v4.13-rc1) 155b0f690051 i40evf: fix merge error in older patch (v4.13-rc1) Already applied with ref bsc#1024346 FATE#321239 bsc#1024373 FATE#321247. Refreshed. 9d68322e53e6 i40evf: disable unused flags (v4.13-rc1) bbc4e7d273b5 i40e: fix race condition with PTP_TX_IN_PROGRESS bits (v4.13-rc1) 69077577af50 i40e: avoid permanent lock of *_PTP_TX_IN_PROGRESS (v4.13-rc1) 2955faca0403 i40e: add statistic indicating number of skipped Tx timestamps (v4.13-rc1) 61189556692e i40e: use pf data structure directly in i40e_ptp_rx_hang (v4.13-rc1) 0bc0706b46cd i40e: check for Tx timestamp timeouts during watchdog (v4.13-rc1) 0a4ecc2c5e04 i40e: Check for memory allocation failure (v4.13-rc1) 392908033308 i40evf: drop i40e_type.h include (v4.13-rc1) 681bdf80cff6 i40e/i40evf: create and use new unified header file (v4.13-rc1) 55cdfd48f217 i40e: use new unified virtchnl header file (v4.13-rc1) 310a2ad92e3f virtchnl: rename i40e to generic virtchnl (v4.13-rc1) 260e93820ad6 virtchnl: move some code to core driver (v4.13-rc1) eedcfef85b15 virtchnl: convert to new macros (v4.13-rc1) 764430ce6f8c i40e/virtchnl: refactor code for validate checks (v4.13-rc1) f0adc6e831ba i40evf/virtchnl: whitespace cleanups (v4.13-rc1) ff3f4cc267f6 virtchnl: finish conversion to virtchnl interface (v4.13-rc1) 735e35c56bbc i40e/virtchnl: move function to virtchnl (v4.13-rc1) a33c83c4353b virtchnl: Add pad fields to a couple of structures (v4.13-rc1) 73556269aab3 virtchnl: Add compile time static asserts to validate structure sizes (v4.13-rc1) abf709a1e731 i40evf: Add support for Adaptive Virtual Function (v4.13-rc1) a5fcf8a6c968 net: propagate tc filter chain index down the ndo_setup_tc call (v4.13-rc1) already applied as part of ixgbe 4df864c1d9af networking: make skb_put & friends return void pointers (v4.13-rc1) already applied with ref bsc#1056787 0c8493d90b6b i40e: add XDP support for pass and drop actions (v4.13-rc1) 74608d17fe29 i40e: add support for XDP_TX action (v4.13-rc1) 65c7006f234c i40evf: assign num_active_queues inside i40evf_alloc_queues (v4.13-rc1) 7c32b1e65075 i40e/i40evf: update WOL and I40E_AQC_ADDR_VALID_MASK flags (v4.13-rc1) 59e331e36ef9 i40e: use dev_dbg instead of dev_info when warning about missing routine (v4.13-rc1) 15d23b4c361f i40e: comment that udp_port must be in host byte order (v4.13-rc1) 1e99854715c7 i40e: Fix potential out of bound array access (v4.13-rc1) 68fb13a76774 i40e: Support firmware CEE DCB UP to TC map re-definition (v4.13-rc1) 83d14c595e01 i40e: Add message for unsupported MFP mode (v4.13-rc1) 4fc8c6763957 i40e: genericize the partition bandwidth control (v4.13-rc1) 5bbb2e204544 i40e: Add support for OEM firmware version (v4.13-rc1) e58872398684 i40e: fix disabling overflow promiscuous mode (v4.13-rc1) 2e5c26ea0d08 i40e: clear only cause_ena bit (v4.13-rc1) 7642984b0876 i40e: Handle PE_CRITERR properly with IWARP enabled (v4.13-rc1) dfc4ff644674 i40e: don't hold RTNL lock for the entire reset (v4.13-rc1) 7d6d06779028 i40e: Initialize 64-bit statistics TX ring seqcount (v4.13-rc5) - i40e: Add message for unsupported MFP mode (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Add support for OEM firmware version (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Check for memory allocation failure (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Fix potential out of bound array access (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Handle PE_CRITERR properly with IWARP enabled (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Initialize 64-bit statistics TX ring seqcount (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: Support firmware CEE DCB UP to TC map re-definition (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: add XDP support for pass and drop actions (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: add statistic indicating number of skipped Tx timestamps (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: add support for XDP_TX action (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: avoid permanent lock of *_PTP_TX_IN_PROGRESS (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: check for Tx timestamp timeouts during watchdog (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: clear only cause_ena bit (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: comment that udp_port must be in host byte order (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: don't hold RTNL lock for the entire reset (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: fix disabling overflow promiscuous mode (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: fix race condition with PTP_TX_IN_PROGRESS bits (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: genericize the partition bandwidth control (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: create and use new unified header file (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/i40evf: update WOL and I40E_AQC_ADDR_VALID_MASK flags (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: use dev_dbg instead of dev_info when warning about missing routine (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: use new unified virtchnl header file (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e: use pf data structure directly in i40e_ptp_rx_hang (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/virtchnl: move function to virtchnl (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40e/virtchnl: refactor code for validate checks (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: Add support for Adaptive Virtual Function (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: assign num_active_queues inside i40evf_alloc_queues (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: disable unused flags (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: drop i40e_type.h include (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf: fix duplicate lines (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - i40evf/virtchnl: whitespace cleanups (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - virtchnl: Add compile time static asserts to validate structure sizes (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - virtchnl: Add pad fields to a couple of structures (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - virtchnl: convert to new macros (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - virtchnl: finish conversion to virtchnl interface (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - virtchnl: move some code to core driver (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - virtchnl: rename i40e to generic virtchnl (bsc#1056658 FATE#322188 bsc#1056662 FATE#322186). - Refresh patches.drivers/i40evf-fix-merge-error-in-older-patch.patch. - commit dd418e7- net: check type when freeing metadata dst (bsc#1056787). - commit a09d253- rpm/kernel-docs.spec.in: Expand kernel tree directly from sources (bsc#1057199) - commit a61b4d9- cisco: enic: Fic an error handling path in 'vnic_dev_init_devcmd2()' (bsc#1037697). - enic: Fix format truncation warning (bsc#1037697). - enic: unmask intr only when napi is complete (bsc#1037697). - commit c00bce8- Refresh patches.suse/exports-from-rcu_idle_exit-and-rcu_idle_enter.patch. - Refresh patches.suse/numa-sched-slow-down-scan-rate-if-shared-faults-dominate.patch. - Refresh patches.suse/page-waitqueue-always-add-new-entries-at-the-end.patch. - Refresh patches.suse/rcu_idle_enter-rely-on-callers-disabling-irqs.patch. - Refresh patches.suse/sched-numa-scale-scan-period-with-tasks-in-group-and-shared-private.patch. - commit 14198d9- gfs2: Don't clear SGID when inheriting ACLs (bsc#1052766). - commit 6e0baaf- xfs: fix inobt inode allocation search optimization (bsc#1052766). - commit d59b124- Update config files. Switch off radio support (FATE#323882) - commit 9ff0bc2- intel_th: pci: Add Cannon Lake PCH-H support (FATE#321195). - intel_th: pci: Add Cannon Lake PCH-LP support (FATE#321195). - commit 9fe67df- drm/i915/cfl: Fix Workarounds (FATE#322643 bsc#1055900). - drm/i915/cfl: Introduce Coffee Lake workarounds (FATE#322643 bsc#1055900). - drm/i915: Store 9 bits of PCI Device ID for platforms with a LP PCH (FATE#322643 bsc#1055900). - drm/i915/cfl: Basic DDI plumbing for Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/cfl: Coffee Lake reuses Kabylake DMC (FATE#322643 bsc#1055900). - drm/i915/huc: Load HuC on Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/guc: Load GuC on Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/cfl: Add Coffee Lake PCI IDs for U Sku (FATE#322643 bsc#1055900). - drm/i915/cfl: Add Coffee Lake PCI IDs for H Sku (FATE#322643 bsc#1055900). - drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus (FATE#322643 bsc#1055900). - drm/i915/cfl: Introduce Display workarounds for Coffee Lake (FATE#322643 bsc#1055900). - drm/i915/cfl: Coffee Lake uses CNP PCH (FATE#322643 bsc#1055900). - drm/i915/cfl: Introduce Coffee Lake platform definition (FATE#322643 bsc#1055900). - drm/i915/cnl: Cannonlake uses CNP PCH (FATE#322643 bsc#1055900). - drm/i915/cnp: Panel Power sequence changes for CNP PCH (FATE#322643 bsc#1055900). - drm/i915/cnl: Introduce Cannonlake platform defition (FATE#322643 bsc#1055900). - drm/i915/cnp: add CNP gmbus support (FATE#322643 bsc#1055900). - drm/i915/cnp: Backlight support for CNP (FATE#322643 bsc#1055900). - drm/i915/cnp: Get/set proper Raw clock frequency on CNP (FATE#322643 bsc#1055900). - drm/i915/cnp: Add PCI ID for Cannonpoint LP PCH (FATE#322643 bsc#1055900). - drm/i915/cnp: Introduce Cannonpoint PCH (FATE#322643 bsc#1055900). - commit 602378e- Linux 4.12.11 (bnc#1012628). - commit bf7fb08- supported.conf: add test_syctl to new kselftests-kmp package FATE#323821 As per FATE#323821 we will require new FATE requests per each new selftest driver. We don't want to support these module on production runs but we do want to support them for QA / testing uses. The compromise is to package them into its own package, this will be the kselftests-kmp package. Selftests can also be used as proof of concept vehicle for issues by customers or ourselves. Vanilla kernels do not get test_sysctl given that driver was using built-in defaults, this also means we cannot run sefltests on config/s390x/zfcpdump which does not enable modules. Likeweise, since we had to *change* the kernel for test_syctl, it it also means we can't test test_syctl with vanilla kernels. It should be possible with other selftests drivers if they are present in vanilla kernels though. - commit ae8069f- Update config files. Needed because of the backport of 7edaeb6841df ("kernel/watchdog: Prevent false positives with turbo modes", v4.13-rc6) added in v4.12.9. - commit 6d65043- net: Fix parisc SCM_TIMESTAMPING_PKTINFO value (bsc#1056664 FATE#322185). - net: Define SCM_TIMESTAMPING_PKTINFO on all architectures (bsc#1056664 FATE#322185). - commit ad597de- ixgbe: Initialize 64-bit stats seqcounts (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - bpf: ixgbe: Report bpf_prog ID during XDP_QUERY_PROG (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: Add IFLA_XDP_PROG_ID (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: pci_set_drvdata must be called before register_netdev (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Resolve cppcheck format string warning (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: fix writes to PFQDE (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbevf: Bump version number (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Bump version number (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: check for Tx timestamp timeouts during watchdog (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: add statistic indicating number of skipped Tx timestamps (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: avoid permanent lock of *_PTP_TX_IN_PROGRESS (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: fix race condition with PTP_TX_IN_PROGRESS bits (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: propagate tc filter chain index down the ndo_setup_tc call (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - bpf: Introduce bpf_prog ID (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: fix incorrect status check (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: add missing configuration for rate select 1 (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: always call setup_mac_link for multispeed fiber (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: add write flush when configuring CS4223/7 (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: correct CS4223/7 PHY identification (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbevf: Resolve warnings for -Wimplicit-fallthrough (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbevf: Resolve truncation warning for q_vector->name (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Resolve warnings for -Wimplicit-fallthrough (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Resolve truncation warning for q_vector->name (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Add error checking to setting VF MAC (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Correct thermal sensor event check (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: enable L3/L4 filtering for Tx switched packets (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: Remove MAC X550EM_X 1Gbase-t led_[on|off] support (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe: initialize u64_stats_sync structures early at ixgbe_probe (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - ixgbe/ixgbevf: Enables TSO for MPLS encapsulated packets (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: add termination action to allow goto chain (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: push tp down to action init (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: introduce multichain support for filters (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: push chain dump to a separate function (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: introduce helpers to work with filter chains (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: move TC_H_MAJ macro call into tcf_auto_prio (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: replace nprio by a bool to make the function more readable (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: rename tcf_destroy_chain helper (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: introduce tcf block infractructure (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - net: sched: move tc_classify function to cls_api.c (bsc#1056657 FATE#322189 bsc#1056653 FATE#322190). - commit fe2f3a3- e1000e: Undo e1000e_pm_freeze if __e1000_shutdown fails (bsc#1056664 FATE#322185). - e1000e: use disable_hardirq() also for MSIX vectors in e1000_netpoll() (bsc#1056664 FATE#322185). - e1000e: add statistic indicating number of skipped Tx timestamps (bsc#1056664 FATE#322185). - e1000e: fix race condition around skb_tstamp_tx() (bsc#1056664 FATE#322185). - net: ethernet: update drivers to make both SW and HW TX timestamps (bsc#1056664 FATE#322185). - net: allow simultaneous SW and HW transmit timestamping (bsc#1056664 FATE#322185). - net: fix documentation of struct scm_timestamping (bsc#1056664 FATE#322185). - net: add new control message for incoming HW-timestamped packets (bsc#1056664 FATE#322185). - net: add function to retrieve original skb device using NAPI ID (bsc#1056664 FATE#322185). - net: ethernet: update drivers to handle HWTSTAMP_FILTER_NTP_ALL (bsc#1056664 FATE#322185). - net: define receive timestamp filter for NTP (bsc#1056664 FATE#322185). - commit ac365e2- rpm/kernel-docs.spec.in: Re-add xmlto buildreq conditionally for SLE15 & co - commit 259b49e- rpm/group-source-files.pl: Add arch/*/tools/* files to the devel package Commit b71c9ffb1405 ("powerpc: Add arch/powerpc/tools directory") introduced in v4.12-rc1 release, moved the scripts into the tools directory. However, this location is not considered for the kernel devel package and the following error occurs when building a kmp for powerpc make[2]: /usr/src/linux-4.12.9-1/arch/powerpc/tools/gcc-check-mprofile-kernel.sh: Command not found - commit 5f1ff53- Delete patches.drivers/0002-hns-set-relation-between-hns_roce-and-hns_enet_drv.patch. - commit 1532f7a- Delete patches.arch/arm64-1-5-arm64-perf-Basic-uncore-counter-support-for-Cavium-ThunderX.patch. - Delete patches.arch/arm64-2-5-arm64-perf-Cavium-ThunderX-L2C-TAD-uncore-support.patch. - Delete patches.arch/arm64-3-5-arm64-perf-Cavium-ThunderX-L2C-CBC-uncore-support.patch. - Delete patches.arch/arm64-4-5-arm64-perf-Cavium-ThunderX-LMC-uncore-support.patch. - Delete patches.arch/arm64-5-5-arm64-perf-Cavium-ThunderX-OCX-TLK-uncore-support.patch. Delete not upstreamed driver - commit 68629cf- Delete patches.suse/arm64-0075-kdump-kexec-arm64-Add-kernel-parameter-to-enable-kexec.patch. - commit 0bb01f6- Delete patches.arch/arm64-0001-arm64-insn-Do-not-disable-irqs-during-patching.patch. - Delete patches.arch/arm64-0002-arm64-Implement-IPI-based-TLB-invalidation.patch. - Delete patches.arch/arm64-0003-KVM-arm-arm64-Check-for-broadcast-TLBI-support.patch. - Delete patches.arch/arm64-0005-arm64-Add-workaround-for-Cavium-erratum-26026.patch. HW which needed this workaround is no longer supported - commit bfc65a0- Update config files. (fate#323414) Enable IMA kernel configuration on arm64 and s390x. (fate#323414) - commit 39207d0- Update config files, enable NVMe on S/390x (FATE#323773). - commit 6e56e74- cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox() (bsc#1046540). - iw_cxgb4: fix misuse of integer variable (bsc#1046543). - iw_cxgb4: don't use WR keys/addrs for 0 byte reads (bsc#1046543). - cxgb4: Fix error codes in c4iw_create_cq() (bsc#1046540). - cxgb4: ptp_clock_register() returns error pointers (bsc#1046540 bsc#1046648). - cxgb4: add new T5 pci device id's (bsc#1046540). - crypto: chcr - Avoid algo allocation in softirq (bsc#1046548). - cxgb4: Support for get_ts_info ethtool method (bsc#1046540 bsc#1046648). - cxgb4: Add PTP Hardware Clock (PHC) support (bsc#1046540 bsc#1046648). - cxgb4: time stamping interface for PTP (bsc#1046540 bsc#1046648). - cxgb4: Use Firmware params to get buffer-group map (bsc#1046540). - cxgb4: Update T6 Buffer Group and Channel Mappings (bsc#1046540). - net: introduce __skb_put_[zero, data, u8] (bsc#1056787). - cxgb4: add new T6 pci device id's (bsc#1046540). - cxgb4: fix a NULL dereference (bsc#1046540). - cxgb4: handle serial flash interrupt (bsc#1046540). - cxgb4: fix memory leak in init_one() (bsc#1046540). - cxgb4: handle interrupt raised when FW crashes (bsc#1046540). - cxgb4: fix to bring link down after adapter crash (bsc#1046540). - tcp: add a struct net parameter to tcp_parse_options() (bsc#1046543). Refresh patches.drivers/networking-make-skb_push-__skb_push-return-void-poin.patch. - crypto: chcr - Select device in Round Robin fashion (bsc#1046548). - crypto: chcr - Ensure Destination sg entry size less than 2k (bsc#1046548). - chcr - Add debug counters (bsc#1046548). - crypto: chcr - Add ctr mode and process large sg entries for cipher (bsc#1046548). Refresh patches.drivers/networking-make-skb_put-friends-return-void-pointers.patch. - crypto: chcr - Avoid changing request structure (bsc#1046548). - crypto: chcr - Return correct error code (bsc#1046548). - crypto: chcr - Fix fallback key setting (bsc#1046548). - crypto: chcr - Pass lcb bit setting to firmware (bsc#1046548). - commit dd52566- drm/dp/mst: Handle errors from drm_atomic_get_private_obj_state() correctly (bsc#1055493). - drm/i915: Track MST link bandwidth (bsc#1055493). - drm/dp: Add DP MST helpers to atomically find and release vcpi slots (bsc#1055493). - drm/dp: Introduce MST topology state to track available link bandwidth (bsc#1055493). - drm: Add driver-private objects to atomic state (bsc#1055493). - commit 5bd7bf1- cxgbit: fix sg_nents calculation (bsc#1046545). - iscsi-target: fix invalid flags in text response (bsc#1046545). - cxgbit: add missing __kfree_skb() (bsc#1046545). - commit 053e1ff- RDMA/iser: don't send an rkey if all data is written as immadiate-data (bsc#1046647). - IB/iser: Handle lack of memory management extentions correctly (bsc#1046647). - commit e8af9ba- x86/nmi: Use raw lock (bsc#1050549). - locking/rwsem-xadd: Add killable versions of rwsem_down_read_failed() (bsc#1050549). - locking/rwsem-spinlock: Add killable versions of __down_read() (bsc#1050549). - locking/pvqspinlock: Relax cmpxchg's to improve performance on some architectures (bsc#1050549). - smp: Avoid using two cache lines for struct call_single_data (bsc#1050549). - smp, cpumask: Use non-atomic cpumask_{set,clear}_cpu() (bsc#1050549). - smp: Avoid sending needless IPI in smp_call_function_many() (bsc#1050549). - commit 46ecda3- powerpc/xive: Fix section __init warning (fate#322438). - commit fe47c32- powerpc/xive: improve debugging macros (fate#322438). - powerpc/xive: add XIVE Exploitation Mode to CAS (fate#322438). - powerpc/xive: introduce H_INT_ESB hcall (fate#322438). - powerpc/xive: add the HW IRQ number under xive_irq_data (fate#322438). - powerpc/xive: introduce xive_esb_write() (fate#322438). - commit daa41de- powerpc/xive: rename xive_poke_esb() in xive_esb_read() (fate#322438). - powerpc/xive: guest exploitation of the XIVE interrupt controller (fate#322438). - powerpc/xive: introduce a common routine xive_queue_page_alloc() (fate#322438). - powerpc/xmon: Exclude all of xmon from ftrace (fate#322438). - commit 71dd0bb- Refresh patch order in networking section - commit 2da2414- powerpc/xive: Fix the size of the cpumask used in xive_find_target_in_mask() (fate#322438). - commit 956ce91- sch_sfq: fix null pointer dereference on init failure (bsc#1056787). - sch_hfsc: fix null pointer deref and double free on init failure (bsc#1056787). - net: sched: don't do tcf_chain_flush from tcf_chain_destroy (bsc#1056787). - net: sched: fix use after free when tcf_chain_destroy is called multiple times (bsc#1056787). - udp: make function udp_skb_dtor_locked static (bsc#1056787). - commit a5094e3- nfp: double free on error in probe (bsc#1055968). - nfp: remove incorrect mask check for vlan matching (bsc#1055968). - nfp: fix supported key layers calculation (bsc#1055968). - nfp: fix unchecked flow dissector use (bsc#1055968). - nfp: avoid buffer leak when representor is missing (bsc#1055968). - nfp: make sure representors are destroyed before their lower netdev (bsc#1055968). - nfp: don't hold PF lock while enabling SR-IOV (bsc#1055968). - commit 6f53b58- net: Define SCM_TIMESTAMPING_PKTINFO on all architectures (bsc#1056787). - commit 502bfad- Update config files. - commit 3eb3872- nfp: do not update MTU from BH in flower app (bsc#1055968). - nfp: Initialize RX and TX ring 64-bit stats seqcounts (bsc#1055968). - nfp: freeing the wrong variable (bsc#1055968). - nfp: flower: add missing clean up call to avoid memory leaks (bsc#1055968). - nfp: default to chained metadata prepend format (bsc#1055968). - nfp: remove legacy MAC address lookup (bsc#1055968). - nfp: improve order of interfaces in breakout mode (bsc#1055968). - nfp: add control message passing capabilities to flower offloads (bsc#1055968). - nfp: add a stats handler for flower offloads (bsc#1055968). - nfp: add metadata to each flow offload (bsc#1055968). - nfp: add basic action capabilities to flower offloads (bsc#1055968). - nfp: extend flower matching capabilities (bsc#1055968). - nfp: extend flower add flow offload (bsc#1055968). - nfp: provide infrastructure for offloading flower based TC filters (bsc#1055968). - nfp: add phys_switch_id support (bsc#1055968). - nfp: flower: add Kconfig for flower app (bsc#1055968). - nfp: allocate a private workqueue for driver work (bsc#1055968). - nfp: reorder SR-IOV config and nfp_app SR-IOV callbacks (bsc#1055968). - nfp: handle SR-IOV already enabled when driver is probing (bsc#1055968). - nfp: wire get_phys_port_name on representors (bsc#1055968). - nfp: allow converting representor's netdev into nfp_port (bsc#1055968). - nfp: move representors' struct net_device_ops to shared code (bsc#1055968). - nfp: make the representor get stats app-independent (bsc#1055968). - nfp: spawn nfp_ports for PF and VF ports (bsc#1055968). - nfp: add nfp_app cleanup callback and make flower use it (bsc#1055968). - nfp: remove unused nfp_cpp_area_check_range() (bsc#1055968). - nfp: add helper for mapping runtime symbols (bsc#1055968). - nfp: move area mapping helper into nfpcore (bsc#1055968). - nfp: explicitly check if application FW is loaded (bsc#1055968). - nfp: add VF and PF representors to flower app (bsc#1055968). - nfp: add flower app (bsc#1055968). - nfp: add support for control messages for flower app (bsc#1055968). - nfp: add support for tx/rx with metadata portid (bsc#1055968). - nfp: provide nfp_port to of nfp_net_get_mac_addr() (bsc#1055968). - nfp: app callbacks for SRIOV (bsc#1055968). - nfp: add stats and xmit helpers for representors (bsc#1055968). - nfp: general representor implementation (bsc#1055968). - nfp: map mac_stats and vf_cfg BARs (bsc#1055968). - nfp: move physical port init into a helper (bsc#1055968). - nfp: devlink add support for getting eswitch mode (bsc#1055968). - nfp: xdp: report if program is offloaded (bsc#1055968). - nfp: bpf: add support for XDP_FLAGS_HW_MODE (bsc#1055968). - nfp: bpf: release the reference on offloaded programs (bsc#1055968). - nfp: bpf: don't offload XDP programs in DRV_MODE (bsc#1055968). - nfp: xdp: move driver XDP setup into a separate function (bsc#1055968). - nfp: add VLAN filtering support (bsc#1055968). - bpf: nfp: Report bpf_prog ID during XDP_QUERY_PROG (bsc#1055968). - nfp: report application FW build name in ethtool -i (bsc#1055968). - nfp: keep MIP object around (bsc#1055968). - nfp: remove automatic caching of HWInfo (bsc#1055968). - nfp: remove automatic caching of RTsym table (bsc#1055968). - nfp: make sure to cancel port refresh on the error path (bsc#1055968). - commit 2a7c54a- net: sched: fix p_filter_chain check in tcf_chain_flush (bsc#1056787). - net_sched: reset pointers to tcf blocks in classful qdiscs' destructors (bsc#1056787). - net/sched/hfsc: allocate tcf block for hfsc root class (bsc#1056787). - commit b26c3ec- net: switchdev: add SET_SWITCHDEV_OPS helper (bsc#1056787). - net: store port/representator id in metadata_dst (bsc#1056787). - xdp: add reporting of offload mode (bsc#1056787). - xdp: add HW offload mode flag for installing programs (bsc#1056787). - xdp: pass XDP flags into install handlers (bsc#1056787). - net: Add IFLA_XDP_PROG_ID (bsc#1056787). - bpf: Introduce bpf_prog ID (bsc#1056787). - bpf: teach verifier to track stack depth (bsc#1056787). - commit 5b751d3- networking: add and use skb_put_u8() (bsc#1056787). - networking: make skb_push & __skb_push return void pointers (bsc#1056787). - networking: make skb_pull & friends return void pointers (bsc#1056787). - networking: make skb_put & friends return void pointers (bsc#1056787). - networking: introduce and use skb_put_data() (bsc#1056787). - networking: convert many more places to skb_put_zero() (bsc#1056787). - net: sched: act_tunnel_key: make UDP checksum configurable (bsc#1056787). - net: sched: act_tunnel_key: request UDP checksum by default (bsc#1056787). - skbuff: make skb_put_zero() return void (bsc#1056787). - net: use skb_unref() in napi_consume_skb() (bsc#1056787). - bpf: permits narrower load from bpf program context fields (bsc#1056787). - skbuff/mac80211: introduce and use skb_put_zero() (bsc#1056787). - mac80211: mesh: support sending wide bandwidth CSA (bsc#1056787). - net: factor out a helper to decrement the skb refcount (bsc#1056787). - bpf: add bpf_set_hash helper for tc progs (bsc#1056787). - bpf: remove cg_skb_func_proto and use sk_filter_func_proto directly (bsc#1056787). - skbuff: only inherit relevant tx_flags (bsc#1056787). - net: qrtr: Inform open sockets about new controller (bsc#1056787). - net: qrtr: Broadcast DEL_CLIENT message when endpoint is closed (bsc#1056787). - net: qrtr: Inject BYE on remote termination (bsc#1056787). - net: qrtr: Refactor packet allocation (bsc#1056787). - net: propagate tc filter chain index down the ndo_setup_tc call (bsc#1056787). - net: sched: introduce a TRAP control action (bsc#1056787). - net: sched: select cls when cls_act is enabled (bsc#1056787). - neigh: Really delete an arp/neigh entry on "ip neigh delete" or "arp -d" (bsc#1056787). - net/sched: cls_flower: add support for matching on ip tos and ttl (bsc#1056787). - net/flow_dissector: add support for dissection of misc ip header fields (bsc#1056787). - rtnetlink: use the new rtnl_get_event() interface (bsc#1056787). - rtnl: Add support for netdev event to link messages (bsc#1056787). - net_sched: only create filter chains for new filters/actions (bsc#1056787). - net: sched: cls_api: make reclassify return all the way back to the original tp (bsc#1056787). - net/sched: flower: add support for matching on tcp flags (bsc#1056787). - net: flow_dissector: add support for dissection of tcp flags (bsc#1056787). - net/sched: fix filter flushing (bsc#1056787). - net/sched: properly assign RCU pointer in tcf_chain_tp_insert/remove (bsc#1056787). - net: allow simultaneous SW and HW transmit timestamping (bsc#1056787). - net: add new control message for incoming HW-timestamped packets (bsc#1056787). - net: add function to retrieve original skb device using NAPI ID (bsc#1056787). - net: ethernet: update drivers to handle HWTSTAMP_FILTER_NTP_ALL (bsc#1056787). - net: define receive timestamp filter for NTP (bsc#1056787). - sk_buff.h: improve description of CHECKSUM_{COMPLETE, UNNECESSARY} (bsc#1056787). - net: more accurate checksumming in validate_xmit_skb() (bsc#1056787). - net: use skb->csum_not_inet to identify packets needing crc32c (bsc#1056787). - sk_buff: remove support for csum_bad in sk_buff (bsc#1056787). - net: introduce skb_crc32c_csum_help (bsc#1056787). - skbuff: add stub to help computing crc32c on SCTP packets (bsc#1056787). - net: fix __skb_try_recv_from_queue to return the old behavior (bsc#1056787). - net: make struct net_device::tx_queue_len unsigned int (bsc#1056787). - sch_dsmark: Fix uninitialized variable warning (bsc#1056787). - net: sched: add termination action to allow goto chain (bsc#1056787). - net: sched: push tp down to action init (bsc#1056787). - net: sched: introduce multichain support for filters (bsc#1056787). - net: sched: push chain dump to a separate function (bsc#1056787). - net: sched: introduce helpers to work with filter chains (bsc#1056787). - net: sched: move TC_H_MAJ macro call into tcf_auto_prio (bsc#1056787). - net: sched: replace nprio by a bool to make the function more readable (bsc#1056787). - net: sched: rename tcf_destroy_chain helper (bsc#1056787). - net: sched: introduce tcf block infractructure (bsc#1056787). - net: sched: move tc_classify function to cls_api.c (bsc#1056787). - tcp: internal implementation for pacing (bsc#1056787). - udp: keep the sk_receive_queue held when splicing (bsc#1056787). - udp: use a separate rx queue for packet reception (bsc#1056787). - net/sock: factor out dequeue/peek with offset code (bsc#1056787). - net: fix some identation issues at kernel-doc markups (bsc#1056787). - net: skbuff.h: properly escape a macro name on kernel-doc (bsc#1056787). - commit 7232e8e- x86/mm: Fix SME encryption stack ptr handling (fate#322123). - commit aea6d23- acpi, x86/mm: Remove encryption mask from ACPI page protection type (fate#322123). - commit 4d393f7- x86/mm, kexec: Fix memory corruption with SME on successive kexecs (fate#322123). - commit 261ee7e- x86/boot: Fix memremap() related build failure (fate#322123). - commit 04d48c7- x86/boot/64/clang: Use fixup_pointer() to access 'next_early_pgt' (fate#322123). Subsequently pulled in by git-fixes. - commit db95bac- x86/mm: Add support to make use of Secure Memory Encryption (fate#322123). - commit 1ede395- compiler-gcc.h: Introduce __nostackprotector function attribute (fate#322123). - commit 9b71e69- x86/boot: Add early cmdline parsing for options with arguments (fate#322123). - commit f880532- x86/mm: Add support to encrypt the kernel in-place (fate#322123). - commit 7fb1d36- x86/mm: Create native_make_p4d() for PGTABLE_LEVELS <= 4 (fate#322123). - commit 519d43f- x86/mm: Use proper encryption attributes with /dev/mem (fate#322123). - commit 7e40dec- xen/x86: Remove SME feature in PV guests (fate#322123). - commit b2b2f82- x86/mm, kexec: Allow kexec to be used with SME (fate#322123). - commit c5ac3b2- kvm/x86/svm: Support Secure Memory Encryption within KVM (fate#322123). - commit ded3057- x86, drm, fbdev: Do not specify encrypted memory for video mappings (fate#322123). - commit 3926698- x86/boot/realmode: Check for memory encryption on the APs (fate#322123). - commit a907124- iommu/amd: Allow the AMD IOMMU to work with memory encryption (fate#322123). - Refresh patches.drivers/0012-iommu-amd-suppress-io_page_faults-in-kdump-kernel. - Refresh patches.drivers/0019-iommu-amd-remove-amd_iommu_disabled-check-from-amd_iommu_detect. - commit 06efcc5- Patch will be redone with commits for bsc#1056787 Delete patches.suse/msft-hv-1363-networking-introduce-and-use-skb_put_data.patch. - commit de2f49a- x86/cpu/AMD: Make the microcode level available earlier in the boot (fate#322123). - commit 45da941- swiotlb: Add warnings for use of bounce buffers with SME (fate#322123). - commit 4b6c991- x86, swiotlb: Add memory encryption support (fate#322123). - commit 0dc9b8d- x86/realmode: Decrypt trampoline area if memory encryption is active (fate#322123). - commit 70f1f35- x86/mm: Add support for changing the memory encryption attribute (fate#322123). - commit 5eb9aa3- x86/mm: Add support to access persistent memory in the clear (fate#322123). - commit 2521a3c- x86/boot: Use memremap() to map the MPF and MPC data (fate#322123). - commit 40f02a4- x86/mm: Add support to access boot related data in the clear (fate#322123). - commit e966ee6- x86/efi: Update EFI pagetable creation to work with SME (fate#322123). - commit ce57435- efi: Update efi_mem_type() to return an error rather than 0 (fate#322123). - commit 91147ec- efi: Add an EFI table address match function (fate#322123). - commit 473de56- x86/boot/e820: Add support to determine the E820 type of an address (fate#322123). - commit a831c04- x86/mm: Insure that boot memory areas are mapped properly (fate#322123). - commit 7075d9d- x86/mm: Add support for early encryption/decryption of memory (fate#322123). - commit c49e594- x86/mm: Extend early_memremap() support with additional attrs (fate#322123). - commit bffaaa4- x86/mm: Add SME support for read_cr3_pa() (fate#322123). - commit 8a90820- nfp: advertise support for NFD ABI 0.5 (bsc#1055968). - nfp: create control vNICs and wire up rx/tx (bsc#1055968). - nfp: allow non-equal distribution of IRQs (bsc#1055968). - nfp: slice the netdev spawning function (bsc#1055968). - nfp: don't clutter init code passing fw_ver around (bsc#1055968). - nfp: map all queue controllers at once (bsc#1055968). - nfp: make vNIC ctrl memory mapping function reusable (bsc#1055968). - nfp: add control vNIC datapath (bsc#1055968). - nfp: prepare config and enable for working without netdevs (bsc#1055968). - nfp: allow allocation and initialization of netdev-less vNICs (bsc#1055968). - nfp: make sure debug accesses don't depend on netdevs (bsc#1055968). - nfp: prepare print macros for use without netdev (bsc#1055968). - nfp: move nfp_net_vecs_init() (bsc#1055968). - nfp: reuse ring free code on close (bsc#1055968). - nfp: split out the allocation part of open (bsc#1055968). - nfp: reorder open and close functions (bsc#1055968). - nfp: fix memory leak on FW load error (bsc#1055968). - nfp: move basic eBPF stats to app-specific code (bsc#1055968). - nfp: move bpf offload code to the BPF app (bsc#1055968). - nfp: move eBPF offload files to BPF app directory (bsc#1055968). - nfp: report app name in ethtool -i (bsc#1055968). - nfp: move port init to apps (bsc#1055968). - nfp: turn reading PCIe RTsym parameters into a helper (bsc#1055968). - nfp: add missing fall through statements (bsc#1055968). - sched: add helper for updating statistics on all actions (bsc#1055968). - nfp: don't keep count for free buffers delayed kick (bsc#1055968). - nfp: don't add ring size to index calculations (bsc#1055968). - nfp: fix print format for ring pointers in ring dumps (bsc#1055968). - nfp: don't wait for resources indefinitely (bsc#1055968). - nfp: add hwmon support (bsc#1055968). - nfp: support variable NSP response lengths (bsc#1055968). - nfp: shorten CPP core probe logs (bsc#1055968). - nfp: support long reads and writes with the cpp helpers (bsc#1055968). - nfp: only try to get to PCIe ctrl memory if BARs are wide enough (bsc#1055968). - nfp: don't set aux pointers if ioremap failed (bsc#1055968). - nfp: set driver VF limit (bsc#1055968). - nfp: add set_mac_address support while the interface is up (bsc#1055968). - nfp: add MAY_USE_DEVLINK dependency (bsc#1055968). - nfp: support port splitting via devlink (bsc#1055968). - nfp: calculate total port lanes for split (bsc#1055968). - nfp: register ports as devlink ports (bsc#1055968). - nfp: add helper for cleaning up vNICs (bsc#1055968). - nfp: add devlink support (bsc#1055968). - nfp: move mutex init out of net code (bsc#1055968). - nfp: refresh port state before reporting autonegotiation (bsc#1055968). - nfp: mark port state as stale if update failed (bsc#1055968). - nfp: mark port state as stale after reconfig (bsc#1055968). - nfp: provide linking on port structures (bsc#1055968). - nfp: move refresh tracking into the port structure (bsc#1055968). - nfp: update port state in place (bsc#1055968). - nfp: introduce nfp_port (bsc#1055968). - nfp: disallow mixing vNICs with and without NSP port entry (bsc#1055968). - nfp: introduce very minimal nfp_app (bsc#1055968). - nfp: add nfp_net_pf_free_vnic() function (bsc#1055968). - nfp: rename netdev/port to vNIC (bsc#1055968). - nfp: make nfp_net alloc/init/cleanup/free not depend on netdevs (bsc#1055968). - nfp: add nfp_cppcore_pcie_unit() helper (bsc#1055968). - nfp: eliminate an if statement in calculation of completed frames (bsc#1055968). - nfp: add a helper for wrapping descriptor index (bsc#1055968). - nfp: complete the XDP TX ring only when it's full (bsc#1055968). - nfp: add CHECKSUM_COMPLETE support (bsc#1055968). - nfp: version independent support for chained RSS metadata (bsc#1055968). - nfp: don't assume RSS and IRQ moderation are always enabled (bsc#1055968). - nfp: support LSO2 capability (bsc#1055968). - nfp: rename l4_offset in struct nfp_net_tx_desc to lso_hdrlen (bsc#1055968). - nfp: don't enable TSO on the device when disabled (bsc#1055968). - commit c02b1d9- x86/mm: Provide general kernel support for memory encryption (fate#322123). - commit 0bc99cf- x86/mm: Simplify pd_page() macros (fate#322123). - commit 35ace63- x86/mm: Add support to enable SME in early boot processing (fate#322123). - commit 9508f8a- x86/mm: Remove phys_to_virt() usage in ioremap() (fate#322123). - commit 371b1fb- x86/mm: Add Secure Memory Encryption (SME) support (fate#322123). Update config files with new options. - commit 1f3aaaf- x86/cpu/AMD: Handle SME reduction in physical address size (fate#322123). - commit 88d989f- x86/cpu/AMD: Add the Secure Memory Encryption CPU feature (fate#322123). - commit 4e8af2a- x86, mpparse, x86/acpi, x86/PCI, x86/dmi, SFI: Use memremap() for RAM mappings (fate#322123). - commit fd1bdfe- x86/mm/pat: Set write-protect cache mode for full PAT support (fate#322123). - commit 9b2584b- x86/cpu/AMD: Document AMD Secure Memory Encryption (SME) (fate#322123). - commit 112bbc1- x86/boot/64: Put __startup_64() into .head.text (fate#322123). - commit cb63948- x86/boot/64: Add support of additional page table level during early boot (fate#322123). - commit c69bf2f- x86/boot/64: Rename init_level4_pgt and early_level4_pgt (fate#322123). - commit d75bf42- x86/ftrace: Exclude functions in head64.c from function-tracing (fate#322123). - commit 6d229da- Sorted patches in network section - commit e2cc8e7- x86/boot/64: Rewrite startup_64() in C (fate#322123). - commit 935bc66- x86/mm: Split read_cr3() into read_cr3_pa() and __read_cr3() (fate#322123). - commit c5d71a2- ceph: fix readpage from fscache (bsc#1057015). - commit c9e96e6- powerpc: use spin loop primitives in some functions (bsc#1056912). - commit dfd3f3e- spin loop primitives for busy waiting (bsc#1056912). - commit cda1f6a- scsi: libcxgbi: add check for valid cxgbi_task_data (bsc#1046541). - scsi: cxgb4i: assign rxqs in round robin mode (bsc#1046541). - commit 3064c71- iommu/vt-d: Helper function to query if a pasid has any active users (fate#322864). - commit 01214f9- Update config files. (FATE#322631) - commit 90aeb55- ixgbe: Use new PCI_DEV_FLAGS_NO_RELAXED_ORDERING flag (bsc#1056419). - Revert commit 1a8b6d76dc5b ("net:add one common config...") (bsc#1056419). - net/cxgb4vf: Use new PCI_DEV_FLAGS_NO_RELAXED_ORDERING flag (bsc#1056419). - net/cxgb4: Use new PCI_DEV_FLAGS_NO_RELAXED_ORDERING flag (bsc#1056419). - commit ce6396a- supported.conf: Add Goldmont-specific EDAC driver (fate#322662) - commit eff24c3- NFSv4: Fix double frees in nfs4_test_session_trunk() (git-fixes). - xprtrdma: Don't defer MR recovery if ro_map fails (git-fixes). - xprtrdma: Fix FRWR invalidation error recovery (git-fixes). - xprtrdma: Fix client lock-up after application signal fires (git-fixes). - xprtrdma: Rename rpcrdma_req::rl_free (git-fixes). - xprtrdma: Pass only the list of registered MRs to ro_unmap_sync (git-fixes). - xprtrdma: Pre-mark remotely invalidated MRs (git-fixes). - xprtrdma: On invalidation failure, remove MWs from rl_registered (git-fixes). - commit 7d59497- Per IBM request, drop drop IBM specific patches from SLE15 (bnc#1012582) - Delete patches.suse/sched-disable-FAIR_SLEEPERS-for-S390.patch. - Delete patches.suse/sched-reinstate-FAIR_SLEEPERS-feature.patch. - Delete patches.suse/sched-reinstate-sched_compat_yield.patch. - commit 3ee70fe- rt2800: fix TX_PIN_CFG setting for non MT7620 chips (bsc#1055826). - commit d79ffeb- pinctrl: intel: Add Intel Cannon Lake PCH-H pin controller support (FATE#321195). - spi: pxa2xx: Add support for Intel Cannonlake (FATE#321195). - pinctrl: intel: Add Intel Cannon Lake PCH pin controller support (FATE#321195). - pinctrl: intel: Make it possible to specify mode per pin in a group (FATE#321195). - pinctrl: intel: Add support for variable size pad groups (FATE#321195). - mmc: sdhci-pci: Add support for Intel CNP (FATE#321195). - mmc: sdhci-pci: Use macros in pci_ids definition (FATE#321195). - scsi: ufs: flush eh_work when eh_work scheduled (FATE#321195). - commit 16f0485- scsi: ufshcd-pci: Add Intel CNL support (FATE#321195). - scsi: ufshcd-pci: Fix PM config (FATE#321195). - scsi: ufs: Tidy clocks list head usage (FATE#321195). - commit f7ba845- PCI: Allow PCI express root ports to find themselves (bsc#1056419). - PCI: fix oops when try to find Root Port for a PCI device (bsc#1056419). - PCI: Disable Relaxed Ordering Attributes for AMD A1100 (bsc#1056419). - PCI: Disable Relaxed Ordering for some Intel processors (bsc#1056419). - PCI: Disable PCIe Relaxed Ordering if unsupported (bsc#1056419). - commit 7e5ee6f- scsi: qla2xxx: Fix an integer overflow in sysfs code (bsc#1056588, CVE-2017-14051). - commit a9495c3- scsi: qla2xxx: Fix an integer overflow in sysfs code (bsc#1056588, CVE-2017-14051). - commit 4fafb75- supported.conf: the old style UCSI for non-x86 - commit ed3ca0b- blacklist.conf: add one objtool patch - commit 6f1e31d- supported.conf: Reduce supported sound modules (bsc#1056612,FATE#323981) - commit a185749- scsi: cxlflash: Fix vlun resize failure in the shrink path (fate#322239). - scsi: cxlflash: Avoid double mutex unlock (fate#322239). - scsi: cxlflash: Remove unnecessary existence check (fate#322239). - scsi: cxlflash: Fix an error handling path in 'cxlflash_disk_attach()' (fate#322239). - scsi: cxlflash: return -EFAULT if copy_from_user() fails (fate#322239). - commit e126787- scsi: cxlflash: Update debug prints in reset handlers (fate#322239). - scsi: cxlflash: Update send_tmf() parameters (fate#322239). - scsi: cxlflash: Avoid double free of character device (fate#322239). - scsi: cxlflash: Update TMF command processing (fate#322239). - scsi: cxlflash: Remove zeroing of private command data (fate#322239). - scsi: cxlflash: Support WS16 unmap (fate#322239). - commit 438c2e8- scsi: cxlflash: Support AFU debug (fate#322239). - scsi: cxlflash: Support LUN provisioning (fate#322239). - scsi: cxlflash: Refactor AFU capability checking (fate#322239). - scsi: cxlflash: Introduce host ioctl support (fate#322239). - scsi: cxlflash: Separate AFU internal command handling from AFU sync specifics (fate#322239). - commit e1c2471- scsi: cxlflash: Create character device to provide host management interface (fate#322239). - scsi: cxlflash: Add scsi command abort handler (fate#322239). - scsi: cxlflash: Flush pending commands in cleanup path (fate#322239). - scsi: cxlflash: Track pending scsi commands in each hardware queue (fate#322239). - scsi: cxlflash: Handle AFU sync failures (fate#322239). - commit aec8db3- scsi: cxlflash: Schedule asynchronous reset of the host (fate#322239). - scsi: cxlflash: Reset hardware queue context via specified register (fate#322239). - scsi: cxlflash: Update cxlflash_afu_sync() to return errno (fate#322239). - scsi: cxlflash: Combine the send queue locks (fate#322239). - commit b877eca- supported.conf: add full ucsi support (FATE#322665, FATE#322666) - commit 893e6d9- RAS/CEC: Disable CEC (bsc#1056592). - commit cb2beb8- Fix up over-eager 'wait_queue_t' renaming (bnc#971975 VM performance -- page waitqueue). - commit 92ad9c7- Linux 4.12.10 (bnc#1012628 bnc#1014351 bnc#1048935 bsc#1020657 bsc#1050582). - Delete patches.drivers/ALSA-hda-Add-stereo-mic-quirk-for-Lenovo-G50-70-17aa. - Delete patches.fixes/Bluetooth-hidp-fix-possible-might-sleep-error-in-hid.patch. - Delete patches.fixes/Input-ALPS-Fix-Alps-Touchpad-two-finger-scroll-does-. - Delete patches.fixes/netfilter-expect-fix-crash-when-putting-uninited-exp.patch. - commit 030062c- sched/wait: Introduce wakeup boomark in wake_up_page_bit (bnc#971975 VM performance -- page waitqueue). - sched/wait: Break up long wake list walk (bnc#971975 VM performance -- page waitqueue). - page waitqueue: always add new entries at the end (bnc#971975 VM performance -- page waitqueue). - sched/wait: Clean up some documentation warnings (bnc#971975 VM performance -- page waitqueue). - sched/wait: Disambiguate wq_entry->task_list and wq_head->task_list naming (bnc#971975 VM performance -- page waitqueue). - sched/wait: Split out the wait_bit*() APIs from into (bnc#971975 VM performance -- page waitqueue). - sched/wait: Re-adjust macro line continuation backslashes in (bnc#971975 VM performance -- page waitqueue). - sched/wait: Improve the bit-wait API parameter names in the API function prototypes (bnc#971975 VM performance -- page waitqueue). - sched/wait: Standardize wait_bit_queue naming (bnc#971975 VM performance -- page waitqueue). - sched/wait: Standardize 'struct wait_bit_queue' wait-queue entry field name (bnc#971975 VM performance -- page waitqueue). - sched/wait: Standardize internal naming of wait-queue heads (bnc#971975 VM performance -- page waitqueue). - sched/wait: Standardize internal naming of wait-queue entries (bnc#971975 VM performance -- page waitqueue). - commit 59134c0- sched/wait: Rename wait_queue_t => wait_queue_entry_t (bnc#971975 VM performance -- page waitqueue). - Refresh patches.fixes/Bluetooth-hidp-fix-possible-might-sleep-error-in-hid.patch. - commit 60bfe92- scsi: qla2xxx: Update driver version to 10.00.00.01-k (FATE#322910). - scsi: qla2xxx: Do not call abort handler function during chip reset (FATE#322910). - scsi: qla2xxx: Ability to process multiple SGEs in Command SGL for CT passthrough commands (FATE#322910). - scsi: qla2xxx: Skip zero queue count entry during FW dump capture (FATE#322910). - scsi: qla2xxx: Recheck session state after RSCN (FATE#322910). - scsi: qla2xxx: Increase ql2xmaxqdepth to 64 (FATE#322910). - scsi: qla2xxx: Enable Async TMF processing (FATE#322910). - scsi: qla2xxx: Cleanup NPIV host in target mode during config teardown (FATE#322910). - scsi: qla2xxx: Add LR distance support from nvram bit (FATE#322910). - scsi: qla2xxx: Add support for minimum link speed (FATE#322910). - scsi: qla2xxx: Remove potential macro parameter side-effect in ql_dump_regs() (FATE#322910). - scsi: qla2xxx: Print correct mailbox registers in failed summary (FATE#322910). - scsi: qla2xxx: Fix task mgmt handling for NPIV (FATE#322910). - scsi: qla2xxx: Allow SNS fabric login to be retried (FATE#322910). - scsi: qla2xxx: Add timeout ability to wait_for_sess_deletion() (FATE#322910). - scsi: qla2xxx: Move logging default mask to execute once only (FATE#322910). - scsi: qla2xxx: Use sp->free instead of hard coded call (FATE#322910). - scsi: qla2xxx: Prevent sp->free null/uninitialized pointer dereference (FATE#322910). - scsi: qla2xxx: Add ability to autodetect SFP type (FATE#322910). - scsi: qla2xxx: Use fabric name for Get Port Speed command (FATE#322910). - scsi: qla2xxx: Change ha->wq max_active value to default (FATE#322910). - scsi: qla2xxx: Remove extra register read (FATE#322910). - scsi: qla2xxx: Fix NPIV host enable after chip reset (FATE#322910). - scsi: qla2xxx: Use BIT_6 to acquire FAWWPN from switch (FATE#322910). - scsi: qla2xxx: Fix system panic due to pointer access problem (FATE#322910). - scsi: qla2xxx: Fix WWPN/WWNN in debug message (FATE#322910). - scsi: qla2xxx: Add command completion for error path (FATE#322910). - scsi: qla2xxx: Update fw_started flags at qpair creation (FATE#322910). - scsi: qla2xxx: Fix target multiqueue configuration (FATE#322910). - scsi: qla2xxx: Correction to vha->vref_count timeout (FATE#322910). - scsi: qla2xxx: fix spelling mistake of variable sfp_additonal_info (FATE#322910). - scsi: qla2xxx: use dma_mapping_error to check map errors (FATE#322910). - scsi: qla2xxx: Fix remoteport disconnect for FC-NVMe (FATE#322910). - scsi: qla2xxx: Simpify unregistration of FC-NVMe local/remote ports (FATE#322910). - scsi: qla2xxx: Added change to enable ZIO for FC-NVMe devices (FATE#322910). - scsi: qla2xxx: Move function prototype to correct header (FATE#322910). - scsi: qla2xxx: Cleanup FC-NVMe code (FATE#322910). - scsi: qla2xxx: Off by one in qlt_ctio_to_cmd() (FATE#322910). - t10-pi: Move opencoded contants to common header (FATE#322910). - qla2xxx: Fix NVMe entry_type for iocb packet on BE system (FATE#322910). - scsi: qla2xxx: avoid unused-function warning (FATE#322910). - scsi: qla2xxx: fix a bunch of typos and spelling mistakes (FATE#322910). - scsi: qla2xxx: Protect access to qpair members with qpair->qp_lock (FATE#322910). - scsi: qla2xxx: Update Driver version to 10.00.00.00-k (FATE#322910). - scsi: qla2xxx: Use FC-NVMe FC4 type for FDMI registration (FATE#322910). - scsi: qla2xxx: Send FC4 type NVMe to the management server (FATE#322910). - scsi: qla2xxx: Add FC-NVMe F/W initialization and transport registration (FATE#322910). - scsi: qla2xxx: Add FC-NVMe command handling (FATE#322910). - scsi: qla2xxx: Add FC-NVMe port discovery and PRLI handling (FATE#322910). - scsi: qla2xxx: Update driver version to 9.01.00.00-k (FATE#322910). - scsi: qla2xxx: Include Exchange offload/Extended Login into FW dump (FATE#322910). - scsi: qla2xxx: Move target stat counters from vha to qpair (FATE#322910). - scsi: qla2xxx: Remove datasegs_per_cmd and datasegs_per_cont field (FATE#322910). - scsi: qla2xxx: Remove unused tgt_enable_64bit_addr flag (FATE#322910). - scsi: qla2xxx: Add debug logging routine for qpair (FATE#322910). - scsi: qla2xxx: Add function call to qpair for door bell (FATE#322910). - scsi: qla2xxx: use shadow register for ISP27XX (FATE#322910). - scsi: qla2xxx: move fields from qla_hw_data to qla_qpair (FATE#322910). - scsi: qla2xxx: Add fw_started flags to qpair (FATE#322910). - scsi: qla2xxx: Add debug knob for user control workload (FATE#322910). - scsi: qla2xxx: Fix mailbox failure while deleting Queue pairs (FATE#322910). - scsi: qla2xxx: Enable Target Multi Queue (FATE#322910). - scsi: qla2xxx: Preparation for Target MQ (FATE#322910). - scsi: qla2xxx: Combine Active command arrays (FATE#322910). - scsi: qla2xxx: don't include (FATE#322910). - scsi: qla2xxx: Fix compile warning (FATE#322910). - scsi: qla2xxx: remove redundant null check on tgt (FATE#322910). - scsi: qla2xxx: remove writeq/readq function definitions (FATE#322910). - scsi: qla2xxx: Remove extra register read (FATE#322910). - scsi: qla2xxx: Remove unused irq_cmd_count field (FATE#322910). - scsi: qla2xxx: Accelerate SCSI BUSY status generation in target mode (FATE#322910). - scsi: qla2xxx: Remove redundant wait when target is stopped (FATE#322910). - scsi: qla2xxx: Add ql2xiniexchg parameter (FATE#322910). - scsi: qla2xxx: Turn on FW option for exchange check (FATE#322910). - scsi: qla2xxx: Cleanup debug message IDs (FATE#322910). - scsi: qla2xxx: Fix name server relogin (FATE#322910). - scsi: qla2xxx: Convert 32-bit LUN usage to 64-bit (FATE#322910). - scsi: qla2xxx: Use flag PFLG_DISCONNECTED (FATE#322910). - scsi: tcm_qla2xxx: Do not allow aborted cmd to advance (FATE#322910). - scsi: qla2xxx: Fix path recovery (FATE#322910). - scsi: qla2xxx: Retain loop test for fwdump length exceeding buffer length (FATE#322910). - scsi: qla2xxx: Replace usage of spin_lock with spin_lock_irqsave (FATE#322910). - scsi: qla2xxx: Remove an unused structure member (FATE#322910). - commit e1bfb61- genirq/cpuhotplug: Do not migrated shutdown irqs (bsc#1054935). - commit 075835d- genirq/cpuhotplug: Reorder check logic (bsc#1054935). - commit 1367886- genirq/cpuhotplug: Dont claim success on error (bsc#1054935). - commit 4f8cdfc- USB: add usbfs ioctl to retrieve the connection speed (FATE#321327). - xhci: remove endpoint ring cache (FATE#321327, FATE#322665, FATE#322666). - xhci: refactor transfer event errors and completion codes (FATE#321327, FATE#322665, FATE#322666). - xhci: Add support for endpoint soft reset (FATE#321327). - xhci: support calling cleanup_halted_endpoint with soft retry (bFATE#321327). - xhci: handle transfer events without TRB pointer (FATE#321327). - xhci: cleanup virtual endoint structure, remove stopped_stream (FATE#321327). - xhci: cleanup finish_td() skip option (FATE#321327). - usb: typec: Add support for UCSI interface (FATE#322665, FATE#322666). - usb: typec: ucsi: Add ACPI driver (FATE#322665, FATE#322666). - usb: typec: include linux/device.h in ucsi.h (FATE#322665, FATE#322666). - usb: hcd: constify attribute_group structures (FATE#321327). - xhci: rename temp and temp1 variables (FATE#321327). - usb: Increase root hub reset signaling time to prevent retry (FATE#321327). - xhci: rework bus_resume and check ports are suspended before resuming them (FATE#321327). - usb: make device_type const (FATE#321327). - USB: core: constify vm_operations_struct (FATE#321327). - usb: xhci: Support enabling of compliance mode for xhci 1.1 (FATE#321327). - usb: misc: lvstest: add entry to place port in compliance mode (FATE#321327). - Update config files. - commit 7e26cc6- usb: typec: Add a sysfs node to manage port type (FATE#322665, FATE#322666). - usb: typec: update partner power delivery support with opmode (FATE#322665, FATE#322666). - xhci: remove unused stopped_td pointer (FATE#321327). - xhci: Add stream id to xhci_dequeue_state structure (FATE#321327). - xhci: Find out where an endpoint or stream stopped from its context (FATE#321327). - xhci: Add helper to get hardware dequeue pointer for stopped rings (FATE#321327). - usb: typec: Don't prevent using constant typec_mode_desc initializers (FATE#322665, FATE#322666). - commit 80163a3- Add live patching section to series.conf for future backports (fate#323487) - commit 428055c- Drop kGraft (fate#323487) Upstream live patching infrastructure is going to be used in SLE15 - Delete patches.suse/kgr-0002-livepatch-add-infrastructure.patch. - Delete patches.suse/kgr-0003-livepatch-kgr_in_progress-for-all-threads.patch. - Delete patches.suse/kgr-0004-ftrace-Make-ftrace_is_dead-available-globally.patch. - Delete patches.suse/kgr-0005-initial-code.patch. - Delete patches.suse/kgr-0006-add-testing-kgraft-patch.patch. - Delete patches.suse/kgr-0007-add-Documentation.patch. - Delete patches.suse/kgr-0008-mark-task_safe-in-some-kthreads.patch. - Delete patches.suse/kgr-0009-kthreads-support.patch. - Delete patches.suse/kgr-0010-handle-irqs.patch. - Delete patches.suse/kgr-0011-allow-stacking-of-patches.patch. - Delete patches.suse/kgr-0012-handle-patched-modules-that-are-being-removed.patch. - Delete patches.suse/kgr-0013-try-to-apply-skipped-patches-when-a-module-is-lo.patch. - Delete patches.suse/kgr-0014-allow-for-forced-module-load.patch. - Delete patches.suse/kgr-0015-allow-replace_all.patch. - Delete patches.suse/kgr-0016-support-for-forcing-success-of-patching-process.patch. - Delete patches.suse/kgr-0017-correct-error-handling-of-the-first-patching-sta.patch. - Delete patches.suse/kgr-0018-send-a-fake-signal-to-all-blocking-tasks.patch. - Delete patches.suse/kgr-0019-mark-task_safe-in-non-upstream-kthreads.patch. - Delete patches.suse/kgr-0020-kmemleak-really-mark-the-kthread-safe-after-a.patch. - Delete patches.suse/kgr-0021-fix-reversion-of-a-patch-already-reverted-by-a-r.patch. - Delete patches.suse/kgr-0022-add-objname-to-kgr_patch_fun-struct.patch. - Delete patches.suse/kgr-0023-remove-abort_if_missing-flag.patch. - Delete patches.suse/kgr-0024-do-not-return-and-print-an-error-only-if-the-obj.patch. - Delete patches.suse/kgr-0025-fix-subtle-race-with-kgr_module_init-going-notif.patch. - Delete patches.suse/kgr-0026-fix-an-asymmetric-dealing-with-delayed-module-lo.patch. - Delete patches.suse/kgr-0027-call-kgr_init_ftrace_ops-only-for-loaded-objects.patch. - Delete patches.suse/kgr-0028-change-to-kallsyms_on_each_symbol-iterator.patch. - Delete patches.suse/kgr-0029-add-sympos-as-disambiguator-field-to-kgr_patch_f.patch. - Delete patches.suse/kgr-0030-add-sympos-to-sysfs.patch. - Delete patches.suse/kgr-0031-add-sympos-and-objname-to-error-and-debug-messag.patch. - Delete patches.suse/kgr-0032-taint-with-TAINT_LIVEPATCH.patch. - Delete patches.suse/kgr-0033-define-pr_fmt-and-modify-all-pr_-messages.patch. - Delete patches.suse/kgr-0034-kgraft-bcache-Do-not-block-livepatching-in-the-write.patch. - Delete patches.suse/kgr-0035-kgraft-gfs2-Do-not-block-livepatching-in-the-log-dae.patch. - Delete patches.suse/kgr-0036-kgraft-xen-Do-not-block-livepatching-in-the-XEN-blki.patch. - Delete patches.suse/kgr-0037-ignore-zombie-tasks-during-the-patching.patch. - Delete patches.suse/kgr-0038-kgraft-xen-Do-not-block-kGraft-in-xenbus-kthread.patch. - Delete patches.suse/kgr-0039-kgraft-iscsi-target-Do-not-block-kGraft-in-iscsi_np-.patch. - Delete patches.suse/kgr-0040-remove-all-arch-specific-kgraft-header-files.patch. - Delete patches.suse/kgr-0041-make-a-taint-flag-module-specific.patch. - Delete patches.suse/kgr-0042-locking-semaphore-Add-down_interruptible_timeout.patch. - Delete patches.suse/kgr-0043-kgr-Mark-eeh_event_handler-kthread-safe-using-a-time.patch. - Delete patches.suse/kgr-0102-kgr-mark-kernel-unsupported-upon-patch-revert.patch. - Delete patches.suse/printk-mark_kgr_task_safe.patch. - commit dde7e1c- CIFS: Fix maximum SMB2 header size (bsc#1056185). - commit d54f5d7- Refresh patches.suse/iwlwifi-expose-default-fallback-ucode-api. The latest firmware matches for iwl7xxx/3168 series, so dropped the changes. - commit 1447668- arm64: update config file for RAS support - commit 4812033- ras: mark stub functions as 'inline' (fate#323583). - ACPI: APEI: Enable APEI multiple GHES source to share a single external IRQ (fate#323583). - acpi: apei: check for pending errors when probing GHES entries (fate#323583). - arm/arm64: KVM: add guest SEA support (fate#323583). - trace, ras: add ARM processor error trace event (fate#323583). - ras: acpi / apei: generate trace event for unrecognized CPER section (fate#323583). - efi: print unrecognized CPER section (fate#323583). - acpi: apei: panic OS with fatal error status block (fate#323583). - acpi: apei: handle SEA notification type for ARMv8 (fate#323583). - arm64: exception: handle Synchronous External Abort (fate#323583). - efi: parse ARM processor error (fate#323583). - cper: add timestamp print to CPER status printing (fate#323583). - ras: acpi/apei: cper: add support for generic data v3 structure (fate#323583). - acpi: apei: read ack upon ghes record consumption (fate#323583). - ACPI / APEI: Switch to use new generic UUID API (fate#323583). - uuid: fix incorrect uuid_equal conversion in test_uuid_test (fate#323583). - fs: switch ->s_uuid to uuid_t (fate#323583). - ima/policy: switch to use uuid_t (fate#323583). - block: remove blk_part_pack_uuid (fate#323583). - xfs: use the common helper uuid_is_null() (fate#323583). - xfs: remove uuid_getnodeuniq and xfs_uu_t (fate#323583). - S390/sysinfo: use uuid_is_null instead of opencoding it (fate#323583). - uuid: hoist uuid_is_null() helper from libnvdimm (fate#323583). - uuid: hoist helpers uuid_equal() and uuid_copy() from xfs (fate#323583). - uuid: don't export guid_index and uuid_index (fate#323583). - uuid: rename uuid types (fate#323583). - uuid: remove uuid_be defintions from the uapi header (fate#323583). - nfsd: namespace-prefix uuid_parse (fate#323583). - md: namespace private helper names (fate#323583). - xfs: use uuid_be to implement the uuid_t type (fate#323583). - xfs: use uuid_copy() helper to abstract uuid_t (fate#323583). - uuid,afs: move struct uuid_v1 back into afs (fate#323583). - commit ccd5a8a- i2c: i801: Add support for Intel Cannon Lake (FATE#321195). - mfd: intel-lpss: Add Intel Cannonlake PCI IDs (FATE#321195). - HID: intel-ish-hid: Enable Cannon Lake ish driver (FATE#321195). - commit fe6deda- Avoid page waitqueue race leaving possible page locker waiting (bnc#971975 VM performance -- page waitqueue). - commit fc6592a- powerpc/perf: Fix usage of nest_imc_refc (FATE#322448, bsc#1054914). - powerpc/perf/imc: Fix nest events on muti socket system (FATE#322448, bsc#1054914). - powerpc/perf: Fix double unlock in imc_common_cpuhp_mem_free() (FATE#322448, bsc#1054914). - powerpc/perf: Add thread IMC PMU support (FATE#322448, bsc#1054914). - powerpc/perf: Add core IMC PMU support (FATE#322448, bsc#1054914). - powerpc/perf: Add nest IMC PMU support (FATE#322448, bsc#1054914). - perf vendor events powerpc: Update POWER9 events (FATE#322450, bsc#1052213). - perf vendor events powerpc: remove suffix in mapfile (FATE#322450, bsc#1052213). - commit 3b5ba34- KVM: x86: block guest protection keys unless the host has them enabled (bsc#1055935). - KVM, pkeys: do not use PKRU value in vcpu->arch.guest_fpu.state (bsc#1055935). - KVM: x86: simplify handling of PKRU (bsc#1055935). - commit da19195- ptr_ring: use kmalloc_array() (bsc#1055945). - commit f6d643d- blacklist.conf: add more entries (uml, rhashtable tests) - commit 398a701- rpm/kernel-binary.spec.in: Update drm-kmp obsolete for SLE12-SP3/Leap-42.3 - commit 77ccbd0- Minor page waitqueue cleanups (bnc#971975 VM performance -- page waitqueue). - commit 98a2529- Drop old qed patches, which will be refreshed while doing backports - Delete patches.drivers/qed-sp3-0216-qed-bump-drivers-to-version-8.10.10.63.patch. - Delete patches.drivers/qed-sp3-0264-qed-Enable-RoCE-parser-searching-on-fp-init.patch. - Delete patches.drivers/qed-sp3-0265-qed-Correct-order-of-wwnn-and-wwpn.patch. - Delete patches.drivers/qed-sp3-0266-qed-Share-additional-information-with-qedf.patch. - Delete patches.drivers/qed-sp3-0267-qed-Support-NVM-image-reading-API.patch. - Delete patches.drivers/qed-sp3-0268-qed-Add-support-for-changing-iSCSI-mac.patch. - Delete patches.drivers/qed-sp3-0269-qedi-Add-support-for-offload-iSCSI-Boot.patch. - commit 8c6203d- mm, memory_hotplug: do not back off draining pcp free pages from kworker context (bnc#1049591). - commit e362ef6- drm/i915: Disable tv output on i9x5gm (bsc#1055490). - commit 425d710- mm: consider the number in local CPUs when reading NUMA stats (VM Performance, bnc#959436). - mm: update NUMA counter threshold size (VM Performance, bnc#959436). - mm: change the call sites of numa statistics items (VM Performance, bnc#959436). - commit 451bfd6- Refresh patch tags of patches.fixes/Input-ALPS-Fix-Alps-Touchpad-two-finger-scroll-does- - commit df5244b- rpm/kernel-docs.spec.in: Disable PDF build again ... due to the breakage with the recent TeXLive 2017. Also add the missing dependency on texlive-varwidth. - commit 9f682b5- S/390: enable CONFIG_KMSG_IDS (bsc#1053718) - commit a6e1a82- Drop obsolete S/390 patches (bsc#1053718) - Delete patches.arch/s390-sles12sp2-00-02-s390-dasd-add-query-host-access-to-volume-support.patch. - Delete patches.arch/s390-sles12sp2-00-03-s390-pci-add-report_error-attribute-01.patch. - Delete patches.arch/s390-sles12sp2-00-03-s390-pci-add-report_error-attribute-02.patch. - Delete patches.arch/s390-sles12sp2-00-03-s390-pci-add-report_error-attribute-03.patch. - Delete patches.arch/s390-sles12sp2-00-03-s390-pci-add-report_error-attribute-04.patch. - Delete patches.arch/s390-sles12sp2-00-04-s390-pci-fmb-enhancements-03.patch. - Delete patches.arch/s390-sles12sp2-10-05-kmsg-add-descriptions.patch. - Delete patches.arch/s390-sles12sp3-00-04-kmsg.patch. - Delete patches.arch/s390-sles12sp3-00-07-kmsg.patch. - Delete patches.arch/s390-sles12sp3-00-08-kmsg.patch. - commit a1f2fe2- s390: Kernel message catalog (bnc#1053718, LTC#157660). - Refresh patches.suse/0001-x86-unwind-Add-the-ORC-unwinder.patch. - Delete patches.arch/kmsg-fix-parameter-limitations. - Delete patches.arch/s390-message-catalog.diff. - commit 5df3fc3- rpm/config.sh: Update KOTD build targets Build the internal packages against SLE15 and add s390x to the OBS builds. - commit 88cc604- cxgb4: Fix tids count for ipv6 offload connection (bsc#1046540 fate#322930). - cxgb4: implement ndo_set_vf_rate() (bsc#1046540 fate#322930). - cxgb4: fix incorrect cim_la output for T6 (bsc#1046540 fate#322930). - cxgb4: FW upgrade fixes (bsc#1046540 fate#322930). - cxgb4: add new T5 pci device id (bsc#1046540 fate#322930). - cxgb4 : retrieve port information from firmware (bsc#1046540 fate#322930). - cxgb4: add new T5 pci device id (bsc#1046540 fate#322930). - commit 407692b- Drop patches.suse/scsi-netlink-ml (bsc#1055689) - commit 8e3c10c- supported.conf: Fix malformed entry for n5pf - commit 22e41e9- Linux 4.12.9 (bnc#1012628 bsc#1052580 bnc#1049599). - Delete patches.drivers/ALSA-usb-audio-Apply-sample-rate-quirk-to-Sennheiser. - Delete patches.fixes/debug-fix-WARN_ON_ONCE-for-modules.patch. - Update config files. - commit f2ab6ba- lib: test_rhashtable: Fix KASAN warning (bsc#1055359). - lib: test_rhashtable: fix for large entry counts (bsc#1055359). - commit 28437b2- supported.conf: Remove logfs (does not exist anymore), add orangefs as unsupported - commit 1afee12- kernel/watchdog: Prevent false positives with turbo modes (bnc#1055313). - Update config files. - commit 75b22a6- cma: fix calculation of aligned offset (VM Functionality, bsc#1055314). - commit 8914932- powerpc/powernv/idle: Disable LOSE_FULL_CONTEXT states when stop-api fails (bsc#1055121). - commit cf34929- powerpc/powernv: Simplify lazy IRQ handling in CPU offline (bsc#1055121). - commit 25e5ffb- powerpc/64s/idle: Move soft interrupt mask logic into C code (bsc#1055121). - fix paste error in previous patch name - commit 56abbca- mm, oom: fix potential data corruption when oom_reaper races with writer (bnc#1055311). - mm: fix double mmap_sem unlock on MMF_UNSTABLE enforced SIGBUS (bnc#1055311). - commit 8afe3e4- rtc: opal: Handle disabled TPO in opal_get_tpo_time() (bsc#1055122). - commit 2cf6a2b- rtc: interface: Validate alarm-time before handling rollover (bsc#1055122). - commit 61f40d3- x86/cpufeature, kvm/svm: Rename (shorten) the new "virtualized VMSAVE/VMLOAD" CPUID flag (fate#323405). - KVM: SVM: Enable Virtual VMLOAD VMSAVE feature (fate#323405). - KVM: SVM: Add Virtual VMLOAD VMSAVE feature definition (fate#323405). - KVM: SVM: Rename lbr_ctl field in the vmcb control area (fate#323405). - KVM: SVM: Prepare for new bit definition in lbr_ctl (fate#323405). - commit fda2890- powerpc/powernv/pci: Add support for PHB4 diagnostics (bsc#1055120). - commit 8b6d16d- powerpc/powernv/pci: Dynamically allocate PHB diag data (bsc#1055120). - commit d796605- powerpc/powernv/pci: Reduce spam when dumping PEST (bsc#1055120). - commit a228946- powerpc/powernv: Add support to clear sensor groups data (bsc#1055115). - commit ca4565c- powerpc/powernv: Add support to set power-shifting-ratio (bsc#1055115). - commit 73968cc- powerpc/powernv: Add support for powercap framework (bsc#1055115). - commit 934753a- hwmon: (ibmpowernv) Add current(A) sensor (bsc#1055115). - commit f4b3bf5- hwmon: (ibmpowernv) introduce a legacy_compatibles array (bsc#1055115). - commit 9e071c1- hwmon: (ibmpowernv) Add highest/lowest attributes to sensors (bsc#1055115). - commit ea5ab64- powerpc/powernv: Enable PCI peer-to-peer (bsc#1055120). - commit a6a5452- powerpc/powernv: Detect and create IMC device (bsc1054914, fate#322448). - commit 7df86cd- powerpc/powernv: Add IMC OPAL APIs (bsc1054914, fate#322448). - commit d35ae16- blacklist.conf: blacklist 1ee1c3f5b5cf CONFIG_DEBUG_VM is disabled in all our kernel flavors - commit 2802e86- powerpc/powernv/idle: Correctly initialize core_idle_state_ptr (bsc#1055121). - powerpc/powernv/idle: Decouple Timebase restore & Per-core SPRs restore (bsc#1055121). - powerpc/powernv/idle: Restore LPCR on wakeup from deep-stop (bsc#1055121). - powerpc/powernv/idle: Restore SPRs for deep idle states via stop API (bsc#1055121). - powerpc/powernv/idle: Use Requested Level for restoring state on P9 DD1 (bsc#1055121). - commit 9ac205d- cpuidle-powernv: Allow Deep stop states that don't stop time (bsc#1055121). - powerpc/64s/idle: Branch to handler with virtual mode offset (bsc#1055121). - commit a2551db- powerpc/mm/radix: Avoid flushing the PWC on every flush_tlb_range (bsc#1055186, fate#323286). - commit 37f137e- powerpc/mm/radix: Improve TLB/PWC flushes (bsc#1055186, fate#323286). - commit 7c388fb- powerpc/mm/radix: Improve _tlbiel_pid to be usable for PWC flushes (bsc#1055186, fate#323286). - commit c4233df- powerpc/mm/radix: Refactor radix__mark_rodata_ro() (bsc#1055186, fate#323286). - commit b3b09ac- powerpc/mm/radix: Synchronize updates to the process table (bsc#1055186, fate#323286). - commit d78f2e1- powerpc/mm/radix: Implement STRICT_RWX/mark_rodata_ro() for Radix (bsc#1055186, fate#323286). - commit 8abecba- powerpc/mm/hash: Implement mark_rodata_ro() for hash (bsc#1055186, fate#323286). - commit 80a9929- powerpc/64s: Leave interrupts hard enabled in context switch for radix (bsc#1055186, fate#323286). - commit 749d27e- powerpc/powernv: Fix boot on Power8 bare metal due to opal_configure_cores() (bsc#1055117, fate#323286). - commit 396c5c1- powerpc/powernv: Tell OPAL about our MMU mode on POWER9 (bsc#1055117, fate#323286). - commit bc75dc8- powerpc/mm: Fix pmd/pte_devmap() on non-leaf entries (bsc#1055117, fate#323286). - commit 457e49f- powerpc/mm: Add devmap support for ppc64 (bsc#1055117, fate#323286). - commit beadf59- powerpc/mm/radix: Workaround prefetch issue with KVM (bsc#1055117, fate#323286). - commit 34d0082- powerpc/mm: Trace tlbie(l) instructions (bsc#1055117, fate#323286). - commit f6cd9ad- ALSA: hda - Add stereo mic quirk for Lenovo G50-70 (17aa:3978) (bsc#1020657). - commit d300598- Bluetooth: hidp: fix possible might sleep error in hidp_session_thread (bnc#1014351). - commit fa3a4f0- ALSA: ice1712: Add support for STAudio ADCIII (bsc#1048934). - commit 53a20a8- ALSA: hda - Implement mic-mute LED mode enum (bsc#1055013). - commit b870486- cxl: Export library to support IBM XSL (bsc#1055014, fate#322239). Update config files. - commit 06766f5- mm/hugetlb: clean up ARCH_HAS_GIGANTIC_PAGE (bsc#1055014, fate#322239). - commit ecf0169- powerpc/mm/hugetlb: add support for 1G huge pages (bsc#1055014, fate#322239). Update config files. - commit 619d9b1- supported.conf: Add Intel HDMI LPE audio to be supported - commit 7218d85- supported.conf: Remove microcode loader It is not a module anymore. - commit 6997200- supported.conf: make z3fold.ko officially unsupported We do not have anybody inhouse to be familiar with the code and there was no explicit fate to enable it either. Make it available in the kernel-extra though. - commit 5bd98fe- Update TAINT_FLAGS_COUNT for the added taint flags This fixes the port for 4.12. Refresh patches.suse/supported-flag. - commit 22a9dcd- Do not ship firmware (bsc#1054239). Pull firmware from kernel-firmware instead. - commit 0b0b5c9- supported.conf: mark sfc-falcon as unsupported (fate#323467, bsc#1039860) - commit 6eb197e- tty: pl011: fix initialization order of QDF2400 E44 (fate#323912). - commit 1f108a8- Delete patches.suse/0017-NFS-nfs4_lookup_revalidate-need-to-report-STALE-inod.patch. This has been fixed a different way upstream - commit 535dc30- supported.conf: clear mistaken external support flag for cifs.ko (bsc#1053802). - commit a5b6524- Refresh patches.fixes/0001-MD-fix-sleep-in-atomic.patch. - Refresh patches.fixes/0001-NFSv4-don-t-let-hanging-mounts-block-other-mounts.patch. - Refresh patches.fixes/0001-loop-Add-PF_LESS_THROTTLE-to-block-loop-device-threa.patch. - Refresh patches.fixes/0001-md-use-a-separate-bio_set-for-synchronous-IO.patch. - Refresh patches.fixes/d-lookup-fairness.fix. - Refresh patches.fixes/dm-snap-avoid-deadlock.patch. - Refresh patches.fixes/nfs4_close.fix. - Refresh patches.suse/0017-NFS-nfs4_lookup_revalidate-need-to-report-STALE-inod.patch. - Refresh patches.suse/blk-timeout-no-round. - Delete patches.fixes/0001-NFS-don-t-try-to-cross-a-mountpount-when-there-isn-t.patch. - Delete patches.fixes/0001-Revert-SUNRPC-xs_sock_mark_closed-does-not-need-to-t.patch. - Delete patches.fixes/0001-md-handle-read-only-member-devices-better.patch. - Delete patches.fixes/cifs-optional-treename-prefix. - Delete patches.fixes/nfs_flush_incompatible.fix. - Delete patches.fixes/ptrace-in-namespace-perm-check.fix. - Delete patches.suse/nfs-no-share-transport. - Delete patches.suse/nfs-no-share-transport-nfsv4. Review patches carried forward from SLE12. Some not needed, some not wanted, some perserved and refreshed. - commit 30682b5- Linux 4.12.8 (bnc#1012628). - commit 4d7933a- SUNRPC: Mask XIDs to prevent replay cache collision (fate#322786). - NFS: Allow multiple connections to NFSv3 and NFSv4.0 servers (fate#322786). - NFS: Display the "nconnect" mount option if it is set (fate#322786). - pNFS: Allow multiple connections to the DS (fate#322786). - NFSv4: Allow multiple connections to NFSv4.x (x>0) servers (fate#322786). - NFS: Add a mount option to specify number of TCP connections to use (fate#322786). - SUNRPC: Allow creation of RPC clients with multiple connections (fate#322786). - commit e56b097- powerpc/perf/hv-24x7: Aggregate result elements on POWER9 SMT8 (FATE#323438). - powerpc/perf/hv-24x7: Support v2 of the hypervisor API (FATE#323438). - powerpc/perf/hv-24x7: Minor improvements (FATE#323438). - powerpc/perf/hv-24x7: Fix return value of hcalls (FATE#323438). - powerpc-perf/hx-24x7: Don't log failed hcall twice (FATE#323438). - powerpc/perf/hv-24x7: Properly iterate through results (FATE#323438). - powerpc/perf/hv-24x7: Fix off-by-one error in request_buffer check (FATE#323438). - powerpc/perf/hv-24x7: Fix passing of catalog version number (FATE#323438). - commit 56353ab- supported.conf: mark reiserfs unsupported (FATE#323394). ReiserFS is not supported in SLE15. ReiserFS file systems must be transferred or converted before installing. - commit 5f3f041- powerpc/mm/hash64: Make vmalloc 56T on hash (bsc#1048914, bsc#1054026). - commit cbc95bf- powerpc/mm/slb: Move comment next to the code it's referring to (bsc#1048914, bsc#1054026). - commit a120516- powerpc/mm/book3s64: Make KERN_IO_START a variable (bsc#1048914, bsc#1054026). - commit 7eb1dbb- blacklist.conf: add blacklist entries for drm - commit 369eed2- drm/i915: Remove assertion from raw __i915_vma_unpin() (bsc#1051510). - drm/i915: Fix out-of-bounds array access in bdw_load_gamma_lut (bsc#1051510). - drm/i915: Unbreak gpu reset vs. modeset locking (bsc#1051510). - drm/i915: fix backlight invert for non-zero minimum brightness (bsc#1051510). - drm/i915: Fix an error checking test (bsc#1051510). - drm/msm/hdmi: Use bitwise operators when building register values (bsc#1051510). - drm/imx: fix typo in ipu_plane_formats[] (bsc#1051510). - drm/bridge: tc358767: fix probe without attached output node (bsc#1051510). - drm/msm/dsi: Calculate link clock rates with updated dsi->lanes (bsc#1051510). - drm: omapdrm: Take GEM object reference when exporting dmabuf (bsc#1051510). - drm/rockchip: fix Kconfig dependencies (bsc#1051510). - drm/amdkfd: NULL dereference involving create_process() (bsc#1051510). - drm/mediatek: separate color module to fixup error memory reallocation (bsc#1051510). - commit 54d6c62- supported.conf: overzealous destruction of PCMCIA - commit 1d32c31- supported.conf: added Cavium Nitrox (FATE#323034) - commit c54e3ea- s390: export symbols for crash-kmp (bsc#1053915). - commit dd8539a- Update config files. Cavium crypto accelerators (FATE#323034, FATE#323051) - commit 546670e- perf vendor events: Add POWER9 PVRs to mapfile (FATE#322450, bsc#1050145). - perf vendor events: Add POWER9 PMU events (FATE#322450, bsc#1050145). - perf pmu-events: Support additional POWER8+ PVR in mapfile (FATE#322450, bsc#1050145 (dependent patch)). - commit 5191db3- Refresh patch order in networking section - commit 5beeea5- Revert "mm: numa: defer TLB flush for THP migration as long as possible" (mprotect/madvise theoretical races (bnc#1053919)). - mm: fix KSM data corruption (mprotect/madvise theoretical races (bnc#1053919)). - mm: fix MADV_[FREE|DONTNEED] TLB flush miss problem (mprotect/madvise theoretical races (bnc#1053919)). - mm: make tlb_flush_pending global (mprotect/madvise theoretical races (bnc#1053919)). - mm: refactor TLB gathering API (mprotect/madvise theoretical races (bnc#1053919)). - mm: migrate: fix barriers around tlb_flush_pending (mprotect/madvise theoretical races (bnc#1053919)). - mm: migrate: prevent racy access to tlb_flush_pending (mprotect/madvise theoretical races (bnc#1053919)). - commit e34ab01- mm, hugetlb: schedule when potentially allocating many hugepages (bsc#971975). - commit 56cb576- sched/deadline: Zero out positive runtime after throttling constrained tasks (bsc#978907). - sched/core: Allow __sched_setscheduler() in interrupts when PI is not used (bsc#978907). - commit 472d759- Remove legacy overlayfs compatibility layer (FATE#323754). - commit 276905f- ACPI / PM: Ignore spurious SCI wakeups from suspend-to-idle (FATE#323777). - ACPI / PM: Run wakeup notify handlers synchronously (FATE#323777). - commit 925f2b6- i2c: xgene-slimpro: include linux/io.h for memremap (bsc#1053633). - i2c: xgene-slimpro: Add ACPI support by using PCC mailbox (bsc#1053633). - i2c: xgene-slimpro: Use a single function to send command message (bsc#1053633). - ACPI / irq: Fix return code of acpi_gsi_to_irq() (bsc#1053627). - commit d7a9a50- Delete patches.fixes/dm-raid-Do-not-call-BUG-in-__rdev_sectors.patch. - Delete patches.fixes/md-fix-a-null-dereference.patch. - commit 88d2447- Delete patches.drivers/blk-mq-map-all-HWQ-also-in-hyperthreaded-system.patch. - commit 4b25e5c- Delete patches.suse/loop-fix-regression-with-op_is_write.patch. - commit aadbd32- Re-enable 'patches.fixes/dm-multipath-Improve-logging.patch' - commit 7c6e565- Delete patches.fixes/dm-mpath-fix-potential-for-dropping-queue_if_no_path.patch. - commit a103f04- Delete patches.fixes/watchdog-hpwdt-add-support-for-iLO5.patch. - commit e86c31d- Delete patches.drivers/target-fixup-error-message-in-target_tg_pt_gp_alua_a.patch. - Delete patches.drivers/target-fixup-error-message-in-target_tg_pt_gp_tg_pt_.patch. - commit b9fb445- megaraid_sas: Fallback to older scanning if no disks are found (bnc#870440). - megaraid_sas: boot hangs while LD is offline (bnc#698102). - Delete patches.suse/megaraid_sas-Fallback-to-older-scanning-if-not-disks.patch. - Delete patches.suse/megaraid_sas-boot-hangs-while-LD-is-offline.patch. - commit 168240e- Re-enable 'patches.suse/fcoe-reduce-max_sectors' - commit 0e279a1- scsi: fnic: changing queue command to return result DID_IMM_RETRY when rport is init (bsc#1035920). - commit 6c8597b- Delete patches.drivers/0005-scsi-fnic-Correcting-rport-check-location-in-fnic_qu.patch. - commit 243f663- Delete patches.drivers/mpt3sas-Ensure-the-connector_name-string-is-NUL-term.patch. - commit 5836852- Delete patches.fixes/scsi-dh-queuedata-accessors. - commit 475dab3- Reshuffle 'patches.drivers/scsi_transport_fc-return-EBUSY-for-deleted-vport.patch' - commit 2ed0ed3- Delete patches.fixes/block-don-t-check-request-size-in-blk_cloned_rq_chec.patch. - commit c81e3a2- Delete patches.suse/dm-mpath-detach-existing-hardware-handler. - commit 5762cda- Delete patches.suse/no-partition-scan (FATE#323406) - commit 5056c39- Refresh patches.suse/dm-mpath-accept-failed-paths. - commit a98933b- Delete patches.suse/dm-mpath-no-partitions-feature (FATE#323406) - commit ef1cd4c- ALSA: usb-audio: Apply sample rate quirk to Sennheiser headset (bsc#1052580). - commit a8251af- genirq: Handle NOAUTOEN interrupt setup proper (fate#322438). - commit 9650b8d- powerpc/xive: Fix section mismatch warnings (fate#322438). - powerpc/xive: Ensure active irqd when setting affinity (fate#322438). - powerpc/xive: Silence message about VP block allocation (fate#322438). - KVM: PPC: Book3S HV: Don't sleep if XIVE interrupt pending on POWER9 (fate#322438). - commit 2b1c5d2- KVM: PPC: Book3S HV: Don't let VCPU sleep if it has a doorbell pending (fate#322438). - commit f863b85- hpsa/smartpqi: metadata and series.conf update - moved hpsa patches upwards in series.conf - hpsa/smartpqi "limit transfer length" patches accepted upstream - Refresh patches.drivers/0001-scsi-hpsa-limit-transfer-length-to-1MB.patch. - Refresh patches.fixes/0001-smartpqi-limit-transfer-length-to-1MB.patch. - commit c0d744c- ALSA: fm801: Initialize chip after IRQ handler is registered (bsc#1051510). - iwlwifi: mvm: quietly accept non-sta assoc response frames (bsc#1051510). - iwlwifi: mvm: fix deduplication start logic (bsc#1051510). - iwlwifi: fix TX tracing for non-linear SKBs (bsc#1051510). - iwlwifi: mvm: change sta_id to u8 (bsc#1051510). - iwlwifi: mvm: handle IBSS probe_queue in a few missing places (bsc#1051510). - iwlwifi: mvm: remove DQA non-STA client mode special case (bsc#1051510). - iwlwifi: mvm: don't mess the SNAP header in TSO for non-QoS packets (bsc#1051510). - iwlwifi: mvm: fix a NULL pointer dereference of error in recovery (bsc#1051510). - iwlwifi: fix tracing when tx only is enabled (bsc#1051510). - iwlwifi: mvm: quietly accept non-sta disassoc frames (bsc#1051510). - iwlwifi: mvm: don't send fetch the TID from a non-QoS packet in TSO (bsc#1051510). - iwlwifi: mvm: fix mac80211 queue tracking (bsc#1051510). - iwlwifi: missing error code in iwl_trans_pcie_alloc() (bsc#1051510). - commit d7ab615- Linux 4.12.7 (bnc#1012628). - commit 7dae241- Refresh patches.fixes/netfilter-expect-fix-crash-when-putting-uninited-exp.patch. Update upstream status. - commit cdb9f49- Linux 4.12.6 (CVE-2017-7542 CVE-2017-8831 bnc#1012628 bsc#1037994 bsc#1049882). - Delete patches.fixes/ipv6-avoid-overflow-of-offset-in-ip6_find_1stfragopt.patch. - Delete patches.fixes/media-saa7164-fix-double-fetch-PCIe-access-condition. - commit 29b7412- sched/wait: Remove the lockless swait_active() check in swake_up*() (bsc#1050549). - commit 5f6d96e- ipc/sem: play nicer with large nsops allocations (bsc#1050323). - ipc/sem: drop sem_checkid helper (bsc#1050323). - locking/osq_lock: Fix osq_lock queue corruption (bsc#1050549). - commit 458731e- update configs - commit 2295f30- block/cfq: cache rightmost rb_node (bsc#1052639). - mem/memcg: cache rightmost node (bsc#1052639). - fs/epoll: use faster rb_first_cached() (bsc#1052639). - procfs: use faster rb_first_cached() (bsc#1052639). - lib/interval-tree: correct comment wrt generic flavor (bsc#1052639). - block/cfq: replace cfq_rb_root leftmost caching (bsc#1052639). - locking/rtmutex: replace top-waiter and pi_waiters leftmost caching (bsc#1052639). - sched/deadline: replace earliest dl and rq leftmost caching (bsc#1052639). - rbtree: add some additional comments for rebalancing cases (bsc#1052639). - rbtree: optimize root-check during rebalancing loop (bsc#1052639). - rbtree: cache leftmost node internally (bsc#1052639). - lib/interval_tree_test.c: allow full tree search (bsc#1052639). - lib/interval_tree_test.c: allow users to limit scope of endpoint (bsc#1052639). - lib/interval_tree_test.c: make test options module parameters (bsc#1052639). - lib/interval_tree_test.c: allow the module to be compiled-in (bsc#1052639). - commit 1f8bb6f- bitmap: use memcmp optimisation in more situations (bsc#1050549). - include/linux/bitmap.h: turn bitmap_set and bitmap_clear into memset when possible (bsc#1050549). - commit 1f0d3c0- kcmp: fs/epoll: wrap kcmp code with CONFIG_CHECKPOINT_RESTORE (bsc#1052639). - kcmp: add KCMP_EPOLL_TFD mode to compare epoll target files (bsc#1052639). - procfs: fdinfo: extend information about epoll target files (bsc#1052639). - fs, epoll: short circuit fetching events if thread has been killed (bsc#1052639). - commit 935d249- locking/rtmutex: Don't initialize lockdep when not required (bsc#1050549). - rt_mutex: Add lockdep annotations (bsc#1050549). - sched/cfs: Make util/load_avg more stable (bnc#978907). - commit 1933697- rpm/modules.fips include module list from dracut (bsc#1074984, FATE#323247). - rpm/modules.fips include module list from dracut - commit bfa538f- Delete stale patches.suse/suse-hv-storvsc-sg_tablesize.patch. - commit df0c558- hv: print extra debug in kvp_on_msg in error paths (bnc#1039153). - netvsc: make sure and unregister datapath (fate#323887, bsc#1052899). - netvsc: fix rtnl deadlock on unregister of vf (fate#323887, bsc#1052442). - netvsc: transparent VF management (fate#323887, bsc#1051979). - hyperv: netvsc: Neaten netvsc_send_pkt by using a temporary (fate#323887). - netvsc: signal host if receive ring is emptied (fate#323887). - netvsc: fix error unwind on device setup failure (fate#323887). - netvsc: optimize receive completions (fate#323887). - netvsc: remove unnecessary indirection of page_buffer (fate#323887). - netvsc: don't print pointer value in error message (fate#323887). - netvsc: fix warnings reported by lockdep (fate#323887). - netvsc: fix return value for set_channels (fate#323887). - Revert "netvsc: optimize calculation of number of slots" (fate#323887). - netvsc: remove no longer used max_num_rss queues (fate#323887). - netvsc: include rtnetlink.h (fate#323887). - netvsc: fix netvsc_set_channels (fate#323887). - netvsc: prefetch the first incoming ring element (fate#323887). - netvsc: Remove redundant use of ipv6_hdr() (fate#323887). - netvsc: remove bogus rtnl_unlock (fate#323887). - netvsc: fix ptr_ret.cocci warnings (fate#323887). - netvsc: add rtnl annotations in rndis (fate#323887). - netvsc: save pointer to parent netvsc_device in channel table (fate#323887). - netvsc: need rcu_derefence when accessing internal device info (fate#323887). - netvsc: use ERR_PTR to avoid dereference issues (fate#323887). - netvsc: change logic for change mtu and set_queues (fate#323887). - netvsc: change order of steps in setting queues (fate#323887). - netvsc: add some rtnl_dereference annotations (fate#323887). - netvsc: force link update after MTU change (fate#323887). - PCI: hv: Use vPCI protocol version 1.2 (fate#323887). - PCI: hv: Add vPCI version protocol negotiation (fate#323887). - PCI: hv: Temporary own CPU-number-to-vCPU-number infra (fate#323887). - PCI: hv: Use page allocation for hbus structure (fate#323887). - PCI: hv: Fix comment formatting and use proper integer fields (fate#323887). - scsi: storvsc: use default I/O timeout handler for FC devices (fate#323887). - hv_netvsc: Fix the carrier state error when data path is off (fate#323887). - hv_netvsc: Remove unnecessary var link_state from struct netvsc_device_info (fate#323887). - x86/hyperv: Read TSC frequency from a synthetic MSR (fate#323887). - x86/hyperv: Check frequency MSRs presence according to the specification (fate#323887). - networking: introduce and use skb_put_data() (fate#323887). - scsi: storvsc: remove unnecessary channel inbound lock (fate#323887). - scsi: storvsc: use in place iterator function (fate#323887). - netvsc: fold in get_outbound_net_device (fate#323887). - netvsc: pass net_device to netvsc_init_buf and netvsc_connect_vsp (fate#323887). - netvsc: mark error cases as unlikely (fate#323887). - netvsc: use typed pointer for internal state (fate#323887). - netvsc: use hv_get_bytes_to_read (fate#323887). - netvsc: optimize calculation of number of slots (fate#323887). - tools: hv: set hotplug for VF on Suse (fate#323887). - tools: hv: set allow-hotplug for VF on Ubuntu (fate#323887). - netvsc: Add #include's for csum_* function declarations (fate#323887). - vmbus: Reuse uuid_le_to_bin() helper (fate#323887). - drivers: hv: vmbus: Increase the time between retries in vmbus_post_msg() (fate#323887). - hv_utils: fix TimeSync work on pre-TimeSync-v4 hosts (fate#323887). - hv_utils: drop .getcrosststamp() support from PTP driver (fate#323887). - Drivers: hv: vmbus: Get the current time from the current clocksource (fate#323887). - HV: properly delay KVP packets when negotiation is in progress (fate#323887). - Drivers: hv: vmbus: Fix rescind handling (fate#323887). - Drivers: hv: util: Make hv_poll_channel() a little more efficient (fate#323887). - Drivers: hv: vmbus: Fix error code returned by vmbus_post_msg() (fate#323887). - tools: hv: properly handle long paths (fate#323887). - Tools: hv: vss: Thaw the filesystem and continue if freeze call has timed out (fate#323887). - tools: hv: Add clean up for included files in Ubuntu net config (fate#323887). - commit 5791482- powerpc: Only do ERAT invalidate on radix context switch on P9 DD1 (bsc#1053131). - commit b476432- crypto: cavium - make several functions static (FATE#323051, FATE#323034). - crypto: cavium/nitrox - dma_mapping_error() returns bool (FATE#323034). - crypto: cavium - fix spelling mistake "Revsion" -> "Revision" (FATE#323034). - crypto: cavium - Add more algorithms (FATE#323034, FATE#323051). - commit 7a50f51- crypto: cavium - Remove the individual encrypt/decrypt function for each algorithm (FATE#323051, FATE#323034). - crypto: cavium - Downgrade the annoying misc interrupt print from dev_err to dev_dbg (FATE#323034, FATE#323051). - crypto: cavium - Register the CNN55XX supported crypto algorithms (FATE#323034). - crypto: cavium - Add debugfs support in CNN55XX driver (FATE#323034). - crypto: cavium - Add support for CNN55XX adapters (FATE#323051). - commit 2b3984f- Delete patches.suse/x86-kvm-increase-guest-vcpu-support-count-to-240.patch. Obsolete, as it is already in upstream kernel. Also reassign a patch to jslaby which was mislabeled as mine. - commit 62ea3d9- Refresh patch order in networking section Some patches were added out of order. - commit 314b1ee- Dropped already present patch patches.drivers/ibft-expose-ibft-acpi-header-via-sysfs.patch - commit ca0f923- enabled/moved patches.suse/module-Inform-user-when-loading-externally-supported.patch patches.drivers/i40evf-fix-merge-error-in-older-patch.patch Refresh patches.drivers/i40evf-fix-merge-error-in-older-patch.patch. - commit bd094a0- Delete patches.fixes/xsa216.patch (went into 4.12). - commit 05e7511- re-enable Xen pvusb frontend patches - commit 6cb7475- kdump: protect vmcoreinfo data under the crash memory (bsc#1051137). - commit 8c0423d- kexec: move vmcoreinfo out of the kernel's .bss section (bsc#1051137). - commit b72922b- powerpc/fadump: use the correct VMCOREINFO_NOTE_SIZE for phdr (bsc#1051137). - commit 30c6dec- powerpc/fadump: Set an upper limit for boot memory size (bsc#1051137). - commit 68223be- powerpc/fadump: Update comment about offset where fadump is reserved (bsc#1051137). - commit eb88722- Refresh fadump patches metadata and change to upstream order. - commit a85ebb8- Delete stale patches.fixes/scsi-ibmvscsi-module_alias.patch. - Delete stale patches.suse/suse-ppc64-branding. - commit 6b6f95c- [media] saa7164: fix double fetch PCIe access condition (CVE-2017-8831 bsc#1037994). - commit 4d38c27- x86/tsc: Fold set_cyc2ns_scale() into caller (bsc#1052904). - commit d94e9ff- bitmap: optimise bitmap_set and bitmap_clear of a single bit (bsc#1050549). - lib/test_bitmap.c: add optimisation tests (bsc#1050549). - commit a98aaca- cpuidle: Fix idle time tracking (bsc#1052904). - x86/tsc: Call check_system_tsc_reliable() before unsynchronized_tsc() (bsc#1052904). - sched/clock: Fix early boot preempt assumption in __set_sched_clock_stable() (bsc#1052904). - sched/clock: Print a warning recommending 'tsc=unstable' (bsc#1052904). - sched/clock: Use late_initcall() instead of sched_init_smp() (bsc#1052904). - sched/clock: Remove watchdog touching (bsc#1052904). - sched/clock: Remove unused argument to sched_clock_idle_wakeup_event() (bsc#1052904). - x86/tsc: Provide 'tsc=unstable' boot parameter (bsc#1052904). - x86/tsc: Feed refined TSC calibration into sched_clock() (bsc#1052904). - x86/tsc: Fix sched_clock() sync (bsc#1052904). - x86/tsc, sched/clock, clocksource: Use clocksource watchdog to provide stable sync points (bsc#1052904). - x86/tsc: Remodel cyc2ns to use seqcount_latch() (bsc#1052904). - sched/clock: Initialize all per-CPU state before switching (back) to unstable (bsc#1052904). - commit 521cce8- ipc: add missing container_of()s for randstruct (bsc#1050323). - kernel/locking: Fix compile error with qrwlock.c (bsc#1050549). - commit 62276d3- ibmvnic: Report rx buffer return codes as netdev_dbg (bsc#1052794). - commit 3bd6034- ibmvnic: Check for transport event on driver resume (bsc#1051556, bsc#1052709). - commit fefc352- ibmvnic: Initialize SCRQ's during login renegotiation (bsc#1052223). - commit 9454da2- ext4: Don't clear SGID when inheriting ACLs (bsc#1052766). - ext4: preserve i_mode if __ext4_set_acl() fails (bsc#1052766). - commit 0e8e28d- iommu/amd: Fix schedule-while-atomic BUG in initialization code (bsc1052533). - iommu/amd: Enable ga_log_intr when enabling guest_mode (bsc1052533). - commit 645d9f3- Linux 4.12.5 (bnc#1012628 bsc#1049483 bsc#1049599). - Delete patches.fixes/dentry-name-snapshots.patch. - Delete patches.suse/0001-md-remove-idx-from-struct-resync_pages.patch. - commit e6109ef- Remove merged hyperv patches that lacked an upstream tag - commit a39c1e7- rpm/kernel-docs.spec.in: Disable PDF build again. 4.12.x still seems having some issues. Temporarily disabled again. - commit 472526a- ALSA: hda/realtek - There is no loopback mixer in the ALC234/274/294 (bsc#1052235). - ALSA: hda/realtek - Fix typo of pincfg for Dell quirk (bsc#1052235). - ALSA: hda/realtek - Support Dell headset mode for ALC3271 (bsc#1052235). - ALSA: hda/realtek - No loopback on ALC225/ALC295 codec (bsc#1052235). - ALSA: hda/realtek - Update headset mode for ALC225 (bsc#1052235). - ALSA: hda/realtek - Update headset mode for ALC298 (bsc#1052235). - ALSA: hda/realtek - Support headset mode for ALC234/ALC274/ALC294 (bsc#1052235). - ALSA: hda/realtek - Add default procedure for suspend and resume state (bsc#1052235). - ALSA: hda/realtek - Add ALC256 HP depop function (bsc#1052235). - ALSA: hda/realtek - New codec device ID for ALC1220 (bsc#1052235). - ALSA: hda/realtek - New codecs support for ALC215/ALC285/ALC289 (bsc#1052235). - ALSA: hda/realtek - Remove ALC285 device ID (bsc#1052235). - commit 876d653- Re-enable xmlto for 4.12 build Otherwise the doc-build complains and aborts. - commit de2cf2a- supported.conf: add Intel ISH support (FATE#322842) - commit 129f345- kvm: nVMX: Fix nested_vmx_check_msr_bitmap_controls (bsc#1051478). - commit 56b5cb8- blacklist.conf: Blacklist c133c7615751 ('x86/nmi: Fix timeout test in test_nmi_ipi()') Fixes just a test-case. - commit a4200a2- PCI / PM: Fix native PME handling during system suspend/resume (bsc#1051478). - PCI: Enable ECRC only if device supports it (bsc#1051478). - PCI: dwc: dra7xx: Use RW1C for IRQSTATUS_MSI and IRQSTATUS_MAIN (bsc#1051478). - PCI: Correct PCI_STD_RESOURCE_END usage (bsc#1051478). - commit 9891a80- series.conf: patches.suse/sched-optimize-latency-defaults.patch has been enabled by Mel Gorman already, drop the one with mgalbraith guard - commit 75879d1- rpm/kernel-docs.spec.in: Fix package list and enable building PDFs Finally it works! Added some missing pieces (ImageMagick, some texlive subpkgs) in addition to use explicitly python3-Sphinx stuff. - commit c117a0c- Delete patches.drivers/0002-iommu-arm-smmu-Plumb-in-new-ACPI-identifiers.patch. 6dbeea7da557 iommu/arm-smmu: Plumb in new ACPI identifiers in v4.12.4 - commit 39ce84a- Refresh patches.arch/arm64-drivers-char-kmem-disable-on-arm64.patch. - Delete patches.arch/0001-arm64-Define-Cortex-A73-MIDR.patch. - Delete patches.arch/0001-arm64-arch_timer-Add-infrastructure-for-multiple-err.patch. - Delete patches.arch/0002-arm64-arch_timer-Add-erratum-handler-for-globally-de.patch. - Delete patches.arch/0002-arm64-cpu_errata-Allow-an-erratum-to-be-match-for-al.patch. - Delete patches.arch/0003-arm64-arch_timer-Add-erratum-handler-for-CPU-specifi.patch. - Delete patches.arch/0004-arm64-arch_timer-Move-arch_timer_reg_read-write-arou.patch. - Delete patches.arch/0005-arm64-arch_timer-Get-rid-of-erratum_workaround_set_s.patch. - Delete patches.arch/0006-arm64-arch_timer-Rework-the-set_next_event-workaroun.patch. - Delete patches.arch/0007-arm64-arch_timer-Make-workaround-methods-optional.patch. - Delete patches.arch/0008-arm64-arch_timer-Allows-a-CPU-specific-erratum-to-on.patch. - Delete patches.arch/0009-arm64-arch_timer-Move-clocksource_counter-and-co-aro.patch. - Delete patches.arch/0010-arm64-arch_timer-Enable-CNTVCT_EL0-trap-if-workaroun.patch. - Delete patches.arch/0011-arm64-arch_timer-Workaround-for-Cortex-A73-erratum-8.patch. - Delete patches.arch/0012-arm64-arch_timer-Allow-erratum-matching-with-ACPI-OE.patch. - Delete patches.arch/0013-arm64-arch_timer-Add-HISILICON_ERRATUM_161010101-ACP.patch. - Delete patches.arch/arm64-0001-iommu-arm-smmu-Invalidate-TLBs-properly.patch. - Delete patches.arch/arm64-1-6-Documentation-arm64-pmu-Add-Broadcom-Vulcan-PMU-binding.patch. - Delete patches.arch/arm64-2-6-arm64-dts-Add-Broadcom-Vulcan-PMU-in-dts.patch. - Delete patches.arch/arm64-3-4-perf-xgene-Add-APM-X-Gene-SoC-Performance-Monitoring-Unit-driver.patch. - Delete patches.arch/arm64-3-6-arm64-perf-Changed-events-naming-as-per-ARM-ARM.patch. - Delete patches.arch/arm64-4-6-arm64-perf-Define-complete-ARMv8-recommended-implementation-defined-events.patch. - Delete patches.arch/arm64-5-6-arm64-perf-Filter-common-events-based-on-PMCEIDn_EL0.patch. - Delete patches.arch/arm64-6-6-arm64-perf-Add-Broadcom-Vulcan-PMU-support.patch. - Delete patches.arch/arm64-Documentation-gpio-Update-description-for-X-Gene-standby-GPIO-controller-DTS-binding.patch. - Delete patches.arch/arm64-dts-Update-X-Gene-standby-GPIO-controller-DTS-entries.patch. - Delete patches.arch/arm64-fix-includes-for-smp.patch. - Delete patches.arch/arm64-gpio-xgene-Enable-X-Gene-standby-GPIO-as-interrupt-controller.patch. - Delete patches.arch/arm64-irqdomain-Export-irq_domain_free_irqs_common.patch. - Delete patches.arch/arm64-pci-numa-adding-helper-functions-as-requiered.patch. - Delete patches.arch/arm64-thd-0002-pci-Add-is_pcierc-element-to-struct-pci_bus.patch. - Delete patches.arch/arm64-thd-gicv3-its-increase-FOREC_MAX_ZONEORDER-for-Cav.patch. - Delete patches.arch/crypto-arm64-crc32-detect-crc32-support-in-assembler.patch. - Delete patches.arch/x86-boot-rename-reserve_bios_regions.patch. - Delete patches.drivers/0001-clk-mvebu-mark-root-clocks-in-AP806-CP110-system-con.patch. - commit 36915c9- arm64: iommu/arm-smmu-v3: Increase CMDQ drain timeout value (bsc#1035479). - Delete patches.drivers/0005-iommu-arm-smmu-v3-Increase-SMMU-CMD-queue-poll-timeo.patch. Switch to solution accepted upstream. - commit 591ddbd- Drop obsolete SCSI patches - Delete patches.drivers/cciss-set-cciss_allow_hpsa-per-default.patch. - Delete patches.fixes/scsi-Do-not-use-synchronous-ALUA-submission-for-NetA.patch. - Delete patches.fixes/scsi-Retry-failfast-commands-after-EH.patch. - commit 714a4bc- st: fix blk_get_queue usage (bnc#834808). - commit ea540b7- Update loop patches to upstream submission - loop: Remove unused 'bdev' argument from loop_set_capacity (bsc#931634, FATE#319010). - loop: fix error handling regression (bsc#931634, FATE#319010). - loop: support 4k physical blocksize (bsc#931634, FATE#319010). - Refresh patches.suse/loop-Compability-for-older-releases.patch. - Delete patches.suse/loop-Add-lo_logical_blocksize.patch. - Delete patches.suse/loop-Enable-correct-physical-blocksize.patch. - Delete patches.suse/loop-Pass-logical-blocksize-in-lo_init-0-ioctl-field.patch. - Delete patches.suse/loop-Remove-unused-bdev-argument-from-loop_set_capac.patch. - commit 3d19f6c- Drop obsolete lpfc patches - Delete patches.drivers/0428-lpfc-Add-nvme-initiator-devloss-support.patch. - Delete patches.drivers/0429-lpfc-Fix-transition-nvme-i-rport-handling-to-nport-o.patch. - Delete patches.drivers/0430-lpfc-Fix-nvme-port-role-handling-in-sysfs-and-debugf.patch. - Delete patches.drivers/0431-lpfc-Add-changes-to-assist-in-NVMET-debugging.patch. - Delete patches.drivers/0432-lpfc-Fix-Lun-Priority-level-shown-as-NA.patch. - Delete patches.drivers/0433-lpfc-Fix-nvmet-node-ref-count-handling.patch. - Delete patches.drivers/0434-lpfc-Fix-Port-going-offline-after-multiple-resets.patch. - Delete patches.drivers/0435-lpfc-Fix-counters-so-outstandng-NVME-IO-count-is-acc.patch. - Delete patches.drivers/0436-lpfc-Fix-return-value-of-board_mode-store-routine-in.patch. - Delete patches.drivers/0437-lpfc-Fix-crash-on-powering-off-BFS-VM-with-passthrou.patch. - Delete patches.drivers/0438-lpfc-Fix-System-panic-after-loading-the-driver.patch. - Delete patches.drivers/0439-lpfc-Null-pointer-dereference-when-log_verbose-is-se.patch. - Delete patches.drivers/0440-lpfc-Fix-PRLI-retry-handling-when-target-rejects-it.patch. - Delete patches.drivers/0441-lpfc-Fix-vports-not-logging-into-target.patch. - Delete patches.drivers/0442-lpfc-update-to-revision-to-11.4.0.0.patch. - Delete patches.drivers/0443-lpfc-tie-lpfc-dev_loss_tmo-dynamic-changes-to-transp.patch. - commit b536d39- Refresh patches.drivers/0004-iommu-arm-smmu-v3-Add-workaround-for-Cavium-ThunderX.patch. - commit a112130- Refresh patches.drivers/0003-iommu-arm-smmu-v3-Add-workaround-for-Cavium-ThunderX.patch. - commit 1f0b409- Refresh patches.drivers/0002-ACPI-IORT-Fixup-SMMUv3-resource-size-for-Cavium-Thun.patch. - commit ec446ff- ACPICA: IORT: Update SMMU models for revision C (bsc#1036060). - commit a283c6f- Delete patches.drivers/0013-PCI-ACPI-Add-ThunderX-pass2.x-2nd-node-MCFG-quirk.patch. cd183740480f PCI/ACPI: Add ThunderX pass2.x 2nd node MCFG quirk in v4.12 - commit 8af3b43- Delete patches.drivers/0012-PCI-ACPI-Tidy-up-MCFG-quirk-whitespace.patch. ced414a14f70 PCI/ACPI: Tidy up MCFG quirk whitespace in v4.12 - commit b8dfc46- Delete patches.drivers/0017-MAINTAINERS-Add-entry-for-Cavium-MMC-driver.patch. 25fc84650373 MAINTAINERS: Add entry for Cavium MMC driver in v4.12 - commit 58bf6f3- Delete patches.drivers/0016-mmc-cavium-Support-DDR-mode-for-eMMC-devices.patch. 4ce944074e5e mmc: cavium: Support DDR mode for eMMC devices in v4.12 - commit 7ead2d8- Delete patches.drivers/0015-mmc-cavium-Add-scatter-gather-DMA-support.patch. cd76e5c565e8 mmc: cavium: Add scatter-gather DMA support in v4.12 - commit 4c792e1- Delete patches.drivers/0014-mmc-cavium-Add-MMC-PCI-driver-for-ThunderX-SOCs.patch. 166bac38c3c5 mmc: cavium: Add MMC PCI driver for ThunderX SOCs in v4.12 - commit 018a1e3- Delete patches.drivers/0013-mmc-cavium-Add-core-MMC-driver-for-Cavium-SOCs.patch. ba3869ff32e4 mmc: cavium: Add core MMC driver for Cavium SOCs in v4.12 - commit 947dfdf- Delete patches.drivers/0012-dt-bindings-mmc-Add-Cavium-SOCs-MMC-bindings.patch. dc5aee3f9f45 dt-bindings: mmc: Add Cavium SOCs MMC bindings in v4.12 - commit b4b7a95- Refresh patches.fixes/sched-Fix-up-proc-sched_debug-to-print-only-runnable-tasks-again.patch. - Refresh patches.suse/sched-optimize-latency-defaults.patch. - Refresh patches.suse/sched-reinstate-FAIR_SLEEPERS-feature.patch. - Refresh patches.suse/sched-reinstate-sched_compat_yield.patch. - Delete patches.suse/sched-domain-flags-proc-handler.patch. - Delete patches.suse/sched-provide-nortsched-boot-option.patch. - Delete patches.suse/sched-provide-rtkthreads-rtworkqueues-boot-options.patch. - commit 823b493- sched,numa: scale scan period with tasks in group and shared/private (Automatic NUMA Balancing (fate#315482)). - commit cccc123- numa,sched: slow down scan rate if shared faults dominate (Automatic NUMA Balancing (fate#315482)). - commit bd6ebee- Refresh patches.suse/sched-optimize-latency-defaults.patch. - commit 3a3fa45- Apparmor for FATE#323500 (namespace, ptrace etc.) The networking patches are applied after the upstream patches because they are not upstreamed. It was simpler to change the networking patches later because of the changes in core(LSM) in the upstream patches. - securityfs: add the ability to support symlinks (FATE#323500). - apparmorfs: Combine two function calls into one in aa_fs_seq_raw_abi_show() (FATE#323500). - doc: ReSTify apparmor.txt (FATE#323500). - apparmorfs: Use seq_putc() (FATE#323500). - apparmor: Fix error cod in __aa_fs_profile_mkdir() (FATE#323500). - security/apparmor: Use POSIX-compatible "printf '%s'" (FATE#323500). - apparmor: move file context into file.h (FATE#323500). - apparmor: make internal lib fn skipn_spaces available to the rest of apparmor (FATE#323500). - apparmor: allow profiles to provide info to disconnected paths (FATE#323500). - apparmor: Move path lookup to using preallocated buffers (FATE#323500). - apparmor: move to per loaddata files, instead of replicating in profiles (FATE#323500). - apparmor: use macro template to simplify profile seq_files (FATE#323500). - apparmor: use macro template to simplify namespace seq_files (FATE#323500). - apparmor: add custom apparmorfs that will be used by policy namespace files (FATE#323500). - apparmor: rename apparmor file fns and data to indicate use (FATE#323500). - apparmor: allow specifying an already created dir to create ns entries in (FATE#323500). - apparmor: convert from securityfs to apparmorfs for policy ns files (FATE#323500). - apparmor: move permissions into their own file to be more easily shared (FATE#323500). - apparmor: rework perm mapping to a slightly broader set (FATE#323500). - apparmor: provide finer control over policy management (FATE#323500). - apparmor: add policy revision file interface (FATE#323500). - apparmor: add mkdir/rmdir interface to manage policy namespaces (FATE#323500). - apparmor: add label data availability to the feature set (FATE#323500). - apparmor: speed up transactional queries (FATE#323500). - apparmor: add fn to test if profile supports a given mediation class (FATE#323500). - apparmor: add gerneric permissions struct and support fns (FATE#323500). - apparmor: switch from file_perms to aa_perms (FATE#323500). - apparmor: add profile permission query ability (FATE#323500). - apparmor: provide information about path buffer size at boot (FATE#323500). - apparmor: cleanup __find_child( (FATE#323500). - apparmor: add namespace lookup fns() (FATE#323500). - apparmor: fix policy load/remove semantics (FATE#323500). - apparmor: fix apparmor_query data (FATE#323500). - apparmor: fix display of ns name (FATE#323500). - apparmor: move bprm_committing_creds/committed_creds to lsm.c (FATE#323500). - apparmor: convert to profile block critical sections (FATE#323500). - apparmor: share profile name on replacement (FATE#323500). - apparmor: refactor updating profiles to the newest parent (FATE#323500). - apparmor: cleanup remove unused and not fully implemented profile rename (FATE#323500). - apparmor: convert aa_change_XXX bool parameters to flags (FATE#323500). - apparmor: cleanup rename XXX_file_context() to XXX_file_ctx() (FATE#323500). - apparmor: revalidate files during exec (FATE#323500). - apparmor: add the base fns() for domain labels (FATE#323500). - apparmor: switch from profiles to using labels on contexts (FATE#323500). - apparmor: switch getprocattr to using label_print fns( (FATE#323500). - apparmor: update query interface to support label queries (FATE#323500). - apparmor: move capability checks to using labels (FATE#323500). - apparmor: move resource checks to using labels (FATE#323500). - apparmor: add cross check permission helper macros (FATE#323500). - apparmor: move ptrace checks to using labels (FATE#323500). - apparmor: allow ptrace checks to be finer grained than just capability (FATE#323500). - apparmor: move aa_file_perm() to use labels (FATE#323500). - apparmor: update aa_audit_file() to use labels (FATE#323500). - apparmor: refactor path name lookup and permission checks around labels (FATE#323500). - apparmor: move path_link mediation to using labels (FATE#323500). - apparmor: rework file permission to cache file access in file->ctx (FATE#323500). - apparmor: mediate files when they are received (FATE#323500). - apparmor: support v7 transition format compatible with label_parse (FATE#323500). - apparmor: move exec domain mediation to using labels (FATE#323500). - apparmor: move change_hat mediation to using labels (FATE#323500). - apparmor: move change_profile mediation to using labels (FATE#323500). - apparmor: add domain label stacking info to apparmorfs (FATE#323500). - apparmor: add stacked domain labels interface (FATE#323500). - apparmor: export that basic profile namespaces are supported (FATE#323500). - apparmor: put back designators in struct initialisers (FATE#323500). - Refresh patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch. - Refresh patches.apparmor/apparmor-basic-networking-rules.patch. - Refresh patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch. - commit e310a9d- Delete patches.drivers/0071-mmc-dw_mmc-improve-dw_mci_reset-a-bit.patch. bc2dcc1a2a5e mmc: dw_mmc: improve dw_mci_reset a bit in v4.12 - commit 847a0dd- Delete patches.drivers/0070-mmc-dw_mmc-move-mci_send_cmd-forward-to-avoid-declar.patch. 4dba18defb4c mmc: dw_mmc: move mci_send_cmd forward to avoid declaration in v4.12 - commit edcfef2- Delete patches.drivers/0069-mmc-dw_mmc-remove-declaration-of-dw_mci_card_busy.patch. 132b3b6aa618 mmc: dw_mmc: remove declaration of dw_mci_card_busy in v4.12 - commit 346a64d- Delete patches.drivers/0068-mmc-dw_mmc-move-dw_mci_get_cd-forward-to-avoid-decla.patch. 671fa142fc03 mmc: dw_mmc: move dw_mci_get_cd forward to avoid declaration in v4.12 - commit e7920fa- Delete patches.drivers/0067-mmc-dw_mmc-move-dw_mci_ctrl_reset-forward-to-avoid-d.patch. 8e6db1f65510 mmc: dw_mmc: move dw_mci_ctrl_reset forward to avoid declaration in v4.12 - commit 72c131b- Delete patches.drivers/0066-mmc-dw_mmc-move-dw_mci_reset-forward-to-avoid-declar.patch. 8e6db1f65510 mmc: dw_mmc: move dw_mci_ctrl_reset forward to avoid declaration in v4.12 - commit e993d40- Delete patches.drivers/0065-mmc-dw_mmc-improve-the-timeout-polling-code.patch. b6d2d81c5c2d mmc: dw_mmc: improve the timeout polling code in v4.12 - commit 1d3f660- Delete patches.arch/0010-arm64-Add-CNTFRQ_EL0-trap-handler.patch. 9842119a238b arm64: Add CNTFRQ_EL0 trap handler in v4.12 - commit 32e4ad4- Delete patches.arch/0008-arm64-add-ESR_ELx_SYS64_ISS_SYS_OP_MASK-define.patch. 116c81f427ff arm64: Work around systems with mismatched cache line sizes in v4.9 - commit 02dfdaa- Drop cciss driver (FATE#323833) - Update config files. - supported.conf: - commit cac232d- Delete patches.arch/0003-arm64-cpu_errata-Add-capability-to-advertise-Cortex-.patch. eeb1efbcb83c arm64: cpu_errata: Add capability to advertise Cortex-A73 erratum 858921 in v4.12 - commit 22fb6fa- Delete patches.arch/0001-irqdomain-add-empty-irq_domain_check_msi_remap.patch. b3e228473e6c irqdomain: Add empty irq_domain_check_msi_remap in v4.12 - commit ba2255e- Delete patches.drivers/0444-nvme_fc-fix-confused-queue-size-handling.patch. - Delete patches.drivers/0445-nvme_fc-on-lldd-transport-io-error-terminate-associa.patch. - Delete patches.drivers/0446-lpfc-Fix-defects-reported-by-Coverity-Scan.patch. - Delete patches.drivers/0447-lpfc-Add-auto-EQ-delay-logic.patch. - Delete patches.drivers/0448-lpfc-fix-irq_affinity-relative-to-older-irq-interfaces.patch. - Delete patches.drivers/0451-scatterlist-add-sg_zero_buffer-helper.patch. - Delete patches.drivers/0452-nvmet-use-NVME_IDENTIFY_DATA_SIZE.patch. - Delete patches.drivers/0453-nvme-introduce-NVMe-Namespace-Identification-Descrip.patch. - Delete patches.drivers/0454-nvme-rename-uuid-to-nguid-in-nvme_ns.patch. - Delete patches.drivers/0455-nvme-get-list-of-namespace-descriptors.patch. - Delete patches.drivers/0456-nvme-provide-UUID-value-to-userspace.patch. - Delete patches.drivers/0457-nvmet-implement-namespace-identify-descriptor-list.patch. - Delete patches.drivers/0458-nvmet-add-uuid-field-to-nvme_ns-and-populate-via-con.patch. - Delete patches.drivers/0459-nvmet-allow-overriding-the-NVMe-VS-via-configfs.patch. - Delete patches.drivers/0460-nvme-add-fields-into-identify-controller-data-struct.patch. - Delete patches.drivers/0461-Fix-system-panic-when-express-lane-enabled.patch. - Delete patches.drivers/0462-Vport-creation-is-failing-with-Link-Down-error.patch. - Delete patches.drivers/0463-Reduce-time-spent-in-IRQ-for-received-NVME-commands.patch. - Delete patches.drivers/0464-Fix-SLI3-drivers-attempting-NVME-ELS-commands.patch. - Delete patches.drivers/0465-Fix-crash-after-firmware-flash-when-IO-is-running.patch. - Delete patches.drivers/0466-Fix-crash-doing-IO-with-resets.patch. - Delete patches.drivers/0467-Fix-crash-in-lpfc_sli_ringtxcmpl_put-when-nvmet-gets.patch. - Delete patches.drivers/0468-Driver-responds-LS_RJT-to-Beacon-Off-ELS.patch. - Delete patches.drivers/0469-lpfc-update-to-revision-to-11.4.0.1.patch. - Delete patches.drivers/0469-nvme_fc-Fix-crash-when-nvme-controller-connection-fa.patch. - Delete patches.drivers/0470-nvmet_fc-fix-crashes-on-bad-opcodes.patch. - Delete patches.drivers/0471-nvme_fc-Fix-hard-lockup-in-nvme-host-transport-on-co.patch. - Delete patches.drivers/0473-nvme_fc-fix-double-calls-to-nvme_cleanup_cmd.patch. - Delete patches.drivers/0474-nvme_fc-fix-error-recovery-on-link-down.patch. - Delete patches.drivers/0475-lpfc-Fix-nvme-io-stoppage-after-link-bounce.patch. - Delete patches.drivers/0476-lpfc-fix-refcount-error-on-node-list.patch. - Delete patches.drivers/nvme-submit-nvme_admin_activate_fw-to-admin-queue.patch. - commit 0d0b596- Refresh patches.drivers/0001-ARM64-PCI-Set-root-bus-NUMA-node-on-ACPI-systems.patch. - commit bb1bc41- Delete patches.drivers/0008-drivers-net-xgene-fix-build-after-change_mtu-functio.patch. Not required for kernel v4.12 - commit 7a10760- Clean up upstreamed patches list. Annotate the remaining ones with their current status. - Delete patches.arch/arm-exynos-dwmmc-modalias.patch. - Delete patches.arch/arm-xen-fixup.patch. - Delete patches.arch/arm64-Allow-for-different-DMA-and-CPU-bus-offsets.patch. - Delete patches.arch/arm64-PCI-xilinx-nwl-Add-support-for-Xilinx-NWL-PCIe-Host-.patch. - Delete patches.arch/arm64-Relocate-screen_info.lfb_base-on-PCI-BAR-alloc.patch. - Delete patches.arch/arm64-bcm2837-0070-ARM-bcm2835-Add-VC4-to-the-device-tree.patch. - Delete patches.arch/arm64-bcm2837-0071-drm-vc4-Add-DPI-driver.patch. - Delete patches.arch/arm64-bcm2837-0073-irqchip-bcm2836-Drop-smp_set_ops-on-arm64-builds.patch. - Delete patches.arch/arm64-bcm2837-0074-irqchip-bcm2836-Fix-compiler-warning-on-64-bit-build.patch. - Delete patches.arch/arm64-bcm2837-0075-irqchip-bcm2836-Use-a-more-generic-memory-barrier-ca.patch. - Delete patches.arch/arm64-bcm2837-0076-clk-bcm2835-Fix-compiler-warnings-on-64-bit-builds.patch. - Delete patches.arch/arm64-bcm2837-0078-ARM-bcm2835-Add-devicetree-for-the-Raspberry-Pi-3.patch. - Delete patches.arch/arm64-bcm2837-0079-drm-vc4-Fix-NULL-deref-in-HDMI-init-error-path.patch. - Delete patches.arch/arm64-bcm2837-0081-don-t-force-serial-pins-to-uart0.patch. - Delete patches.arch/arm64-bcm2837-0088-arm64-Add-platform-selection-for-BCM2835.patch. - Delete patches.arch/arm64-bcm2837-0103-ARM-bcm2835-dt-Add-the-ethernet-to-the-device-trees.patch. - Delete patches.arch/arm64-bcm2837-0104-ARM-bcm2837-dt-Add-the-ethernet-to-the-device-trees.patch. - Delete patches.arch/arm64-bcm2837-0106-rtc-efi-Fail-probing-if-RTC-reads-don-t-work.patch. - Delete patches.arch/arm64-bcm2837-0112-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch. - Delete patches.arch/arm64-bcm2837-0113-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch. - Delete patches.arch/arm64-bcm2837-0114-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch. - Delete patches.arch/arm64-bcm2837-0115-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch. - Delete patches.arch/arm64-bcm2837-0195-bcm2835-Add-Raspberry-Pi-thermal-sensor-to-the-device-tree.patch. - Delete patches.arch/arm64-bcm2837-0197-thermal-Add-Raspberry-Pi-BCM2835-thermal-driver.patch. - Delete patches.arch/arm64-ls1043-0101-fsl-fman-Convert-to-long.patch. - Delete patches.arch/arm64-ls1043-0129-phy-Add-an-mdio_device-structure.patch. - Delete patches.arch/arm64-ls1043-0130-arm64-Export-arch_setup_dma_ops.patch. - Delete patches.arch/arm64-ls1043-0215-caam-Declare-PER_CPU-variable-outside-function-scope.patch. - Delete patches.arch/arm64-ls1043-0221-caam-Use-old-attrs-interface.patch. - Delete patches.arch/ppc64le-ile-0001-powerpc-Add-global-exports-for-all-interrupt-vectors.patch. - Delete patches.arch/ppc64le-ile-0002-powerpc-Add-relocation-code-for-fixups.patch. - Delete patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch. - Delete patches.arch/ppc64le-ile-0004-powerpc-Don-t-return-to-BE-mode-when-we-are-already-.patch. - commit ab1a7d7- series.conf: Remove commented out line While pushing my for-next to SLE15 i got the following warning: remote: Warning: multiple uses in /tmp/githook.T8ujQR04YV/series.conf: patches.suse/btrfs-8888-add-allow_unsupported-module-parameter.patch This was due to aforementioned patch being disabled during the transition of the branch. In the meantime JeffM has already triaged/enabled the patch. So let's remove the extra line - commit 19d3938- Remove patches for review that must be reimplemented from scratch if still required - commit abf83a9- mwifiex: do not update MCS set from hostapd (bsc#1051510). - iwlwifi: pcie: reconfigure MSI-X HW on resume (bsc#1051510). - iwlwifi: pcie: fix command completion name debug (bsc#1051510). - iwlwifi: pcie: fix TVQM queue ID range check (bsc#1051510). - iwlwifi: mvm: unconditionally stop device after init (bsc#1051510). - iwlwifi: mvm: reset the fw_dump_desc pointer after ASSERT (bsc#1051510). - drm/tegra: dc: Avoid reset asserts on Tegra20 (bsc#1051510). - drm/panel: add backlight dependency for sitronix-st7789v (bsc#1051510). - drm/panel: S6E3HA2 needs backlight code (bsc#1051510). - drm/nouveau: use proper prototype in nouveau_pmops_runtime() definition (bsc#1051510). - drm/nouveau/disp/nv50-: bump max chans to 21 (bsc#1051510). - drm/i915: Fix scaler init during CRTC HW state readout (bsc#1051510). - drm: exynos: mark pm functions as __maybe_unused (bsc#1051510). - drm/doc: Fix missing @ctx documentation (bsc#1051510). - commit d5522f6- Btrfs: incremental send, fix invalid path for link commands (bsc#1051479). - Btrfs: incremental send, fix invalid path for unlink commands (bsc#1051479). - Btrfs: send, fix invalid path after renaming and linking file (bsc#1051479). - commit 86ebf6c- Move XEN patches to dedicated section - commit aef3ab9- Rebased patches.fixes/xen-allocate-page-for-shared-info-page-from-low-mem.patch to 4.12 - commit 221ffe0- Rebased patches.fixes/xen-balloon-don-t-online-new-memory-initially.patch to 4.12 - commit 4009e51- Rebased patches.fixes/xen-mce-dont-issue-error-message.patch to 4.12 - commit d5fc01c- Rebased patches.fixes/xen-add-sysfs-node-for-guest-type.patch to 4.12 - commit 90f8a3b- Removed patches.fixes/xen-use-machine-addresses-in-vmcoreinfo-when-pv.patch, already contained in upstream 4.12 - commit b385b8c- Refresh patches.fixes/0002-fs-fcntl-f_setown-avoid-undefined-behaviour.patch. Correct the patch according to SLE15 (as opposed to SLE12SP2) because patches.fixes/0001-fs-fcntl-f_setown-allow-returning-error.patch changed the function prototype. - commit ca46fac- Remove comment about patches merged via -stable - commit 0cb4556- Drop obsolete patches and update patch description - Refresh patches.drivers/scsi_transport_fc-return-EBUSY-for-deleted-vport.patch. - Delete patches.drivers/libfc-do-not-flood-console-with-messages-libfc-queue.patch. - Delete patches.drivers/scsi_transport_fc-do-not-call-queue_work-under-lock.patch. - Delete patches.drivers/scsi_transport_fc-fixup-race-condition-in-fc_rport_f.patch. - commit 4ca214c- bpf: fix mixed signed/unsigned derived min/max value bounds (bsc#1050081). - commit c6eeed6- Update config files. Fix vanillas after the orc update. - commit 2a27bf2- Linux 4.12.4 (bnc#1012628). - commit f2e2c0a- Review and document sched-Further-improve-spurious-CPU_IDLE-active-migrations.patch - commit 36d9aef- btrfs: nowait aio: Correct assignment of pos (FATE#321994). - btrfs: nowait aio support (FATE#321994). - xfs: nowait aio support (FATE#321994). - ext4: nowait aio support (FATE#321994). - block: return on congested block device (FATE#321994). - fs: Introduce IOMAP_NOWAIT (FATE#321994). - fs: return if direct I/O will trigger writeback (FATE#321994). - fs: Introduce RWF_NOWAIT and FMODE_AIO_NOWAIT (FATE#321994). - fs: Use RWF_* flags for AIO operations (FATE#321994). - fs: Introduce filemap_range_has_page() (FATE#321994). - fs: Separate out kiocb flags setup based on RWF_* flags (FATE#321994). - commit d1dfe7b- supported.conf: Update network drivers - commit 49a23df- ipv6: avoid overflow of offset in ip6_find_1stfragopt (CVE-2017-7542 bsc#1049882). - commit 00c5961- Enable sched-ratelimit-nohz.patch - commit f691847- Delete patches.drivers/0043-lightnvm-fix-warning-ret-may-be-used-uninitialized.patch. - commit e2eabec- Re-enable patches.drivers/scsi-bnx2i-missing-error-code-in-bnx2i_ep_connect - commit 90b3cea- exports from rcu_idle_exit() and rcu_idle_enter() (bnc#978907 Scheduler performance -- idle). - rcu_idle_enter() rely on callers disabling irqs (bnc#978907 Scheduler performance -- idle). - commit d4e79a7- Refresh patches.suse/0001-md-remove-idx-from-struct-resync_pages.patch. - commit b11fd5b- objtool: Fix sibling call detection logic (bnc#1018348). - x86/kconfig: Make it easier to switch to the new ORC unwinder (bnc#1018348). - x86/kconfig: Consolidate unwinders into multiple choice selection (bnc#1018348). - Refresh - Refresh patches.suse/0001-x86-unwind-Add-the-ORC-unwinder.patch. - Refresh patches.suse/0002-dwarf-do-not-throw-away-unwind-info.patch. - Refresh patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch. - Refresh patches.suse/0002-x86-entry-64-Initialize-the-top-of-the-IRQ-stack-bef.patch. - Refresh patches.suse/0002-x86-kconfig-Make-it-easier-to-switch-to-the-new-ORC-.patch. - Refresh patches.suse/0003-objtool-Implement-stack-validation-2.0.patch. - Refresh patches.suse/0003-x86-kconfig-Consolidate-unwinders-into-multiple-choi.patch. - Refresh patches.suse/0007-x86-entry-64-Add-unwind-hint-annotations.patch. - Refresh patches.suse/0008-x86-asm-Add-unwind-hint-annotations-to-sync_core.patch. - Update config files. Update to version from -tip. ORC is in -tip completely. So make sure we use the upstream version. - commit 34dd0f5- net: ena: update ena driver to version 1.2.0 (bsc#1047121). - net: ena: update driver's rx drop statistics (bsc#1047121). - net: ena: use lower_32_bits()/upper_32_bits() to split dma address (bsc#1047121). - net: ena: separate skb allocation to dedicated function (bsc#1047121). - net: ena: use napi_schedule_irqoff when possible (bsc#1047121). - net: ena: allow the driver to work with small number of msix vectors (bsc#1047121). - net: ena: add support for out of order rx buffers refill (bsc#1047121). - net: ena: add reset reason for each device FLR (bsc#1047121). - net: ena: change sizeof() argument to be the type pointer (bsc#1047121). - net: ena: add hardware hints capability to the driver (bsc#1047121). - net: ena: change return value for unsupported features unsupported return value (bsc#1047121). - commit 025123f- btrfs: remove outdated version of backrefs rbtree patch set These patches are superceded by the version that was submitted to upstream. This commit removes the outdated files and their corresponding entries in series.conf. - Delete patches.suse/btrfs-add-a-node-counter-to-each-of-the-rbtrees. - Delete patches.suse/btrfs-add-cond_resched-calls-when-resolving-backrefs. - Delete patches.suse/btrfs-allow-backref-search-checks-for-shared-extents. - Delete patches.suse/btrfs-backref-add-tracepoints-for-prelim_ref-insertion-and-merging. - Delete patches.suse/btrfs-backref-add-unode_aux_to_inode_list-helper. - Delete patches.suse/btrfs-backref-cleanup-_-namespace-abuse. - Delete patches.suse/btrfs-backref-constify-some-arguments. - Delete patches.suse/btrfs-btrfs_check_shared-should-manage-its-own-transaction. - Delete patches.suse/btrfs-clean-up-extraneous-computations-in-add_delayed_refs. - Delete patches.suse/btrfs-constify-tracepoint-arguments. - Delete patches.suse/btrfs-convert-prelimary-reference-tracking-to-use-rbtrees. - Delete patches.suse/btrfs-remove-ref_tree-implementation-from-backref-c. - Delete patches.suse/btrfs-struct-funcs-constify-readers. - commit 7a9c5fb- btrfs: clean up extraneous computations in add_delayed_refs (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: allow backref search checks for shared extents (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: add cond_resched() calls when resolving backrefs (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: backref, add tracepoints for prelim_ref insertion and merging (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: add a node counter to each of the rbtrees (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: convert prelimary reference tracking to use rbtrees (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: remove ref_tree implementation from backref.c (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: btrfs_check_shared should manage its own transaction (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: backref, cleanup __ namespace abuse (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: backref, add unode_aux_to_inode_list helper (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: backref, constify some arguments (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: constify tracepoint arguments (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - btrfs: struct-funcs, constify readers (bsc#974590 bsc#1030061 bsc#1022914 bsc#1017461). - commit 68ccc54- mm: kmemleak: treat vm_struct as alternative reference to vmalloc'ed objects (bsc#1027456). - mm: kmemleak: factor object reference updating out of scan_block() (bsc#1027456). - mm: kmemleak: slightly reduce the size of some structures on 64-bit architectures (bsc#1027456). - commit bc42ba6- Refresh patches.suse/0001-mm-kmemleak-slightly-reduce-the-size-of-some-structu.patch. - Refresh patches.suse/0002-mm-kmemleak-factor-object-reference-updating-out-of-.patch. - Refresh patches.suse/0003-mm-kmemleak-treat-vm_struct-as-alternative-reference.patch. - commit f7ebe40- Refresh patches.suse/0001-mm-kmemleak-slightly-reduce-the-size-of-some-structu.patch. - Refresh patches.suse/0002-mm-kmemleak-factor-object-reference-updating-out-of-.patch. - Refresh patches.suse/0003-mm-kmemleak-treat-vm_struct-as-alternative-reference.patch. - commit eb41516- audit: Reduce overhead using a coarse clock (bnc#1050724). - commit e3464f2- Remove architecture heading that is no longer supported - commit e5e149e- rcu: Use RCU_NOCB_WAKE rather than RCU_NOGP_WAKE (bnc#978907 Scheduler performance -- idle). - doc: Take tail recursion into account in RCU requirements (bnc#978907 Scheduler performance -- idle). - srcu: Document auto-expediting requirement (bnc#978907 Scheduler performance -- idle). - rcu: Remove obsolete reference to synchronize_kernel() (bnc#978907 Scheduler performance -- idle). - srcu: Eliminate possibility of destructive counter overflow (bnc#978907 Scheduler performance -- idle). - rcu: Prevent rcu_barrier() from starting needless grace periods (bnc#978907 Scheduler performance -- idle). - commit 7f11b71- ipv6: avoid overflow of offset in ip6_find_1stfragopt (CVE-2017-7542 bsc#1049882). - commit 399d4a0- bpf/verifier: fix min/max handling in BPF_SUB (bsc#1050081). - bpf: fix mixed signed/unsigned derived min/max value bounds (bsc#1050081). - commit f90c358- supported.conf: mark nf_log_bridge as supported This was the only netfilter module not marked as supported. There is no apparent reason except that nobody marked it when the functionality was separated into its own module. - commit c5e825b- supported.conf: mark nftables related modules as supported (fate#323407) - commit 0fbfb00- Input: ALPS - Fix Alps Touchpad two finger scroll does not work on right side (bsc#1050582). - commit 93ed5e8- Delete patches.drivers/0088-dma-buf-sync_file-Add-back-the-u64_to_user_ptr-macro.patch It's a stop-gap fix in SLE12-SP3 for 4.9 dmabuf API. - commit 678704a- Delete patches.drivers/vgaarb-Add-more-context-to-error-messages.patch It's no longer needed as we AMD binary-only stuff is dead. - commit 78dd994- configs: update defaults for REFCOUNT_FULL Such that it is always disabled, with the exception of x86-64 debug. - commit ddb821a- mm: update callers to use HASH_ZERO flag (bsc#971975). - mm: zero hash tables in allocator (bsc#971975). - locking/qspinlock: Explicitly include asm/prefetch.h (bsc#1050549). - locking/rtmutex: Remove unnecessary priority adjustment (bsc#1050549). - locking/refcount: Create unchecked atomic_t implementation (bsc#1050549). - commit ca0d066- Refresh patches.suse/squashfs-3.4.patch. Restore fixes from: patches.suse/squashfs3-properly-handle-dir_emit-failures.patch. - commit 03d0582- Forward port v4.13-rc qedf patches from SLE12-SP3 - commit 4512e77- Reassign some bcm283x patches patches.arch/arm64-bcm2837-0195-bcm2835-Add-Raspberry-Pi-thermal-sensor-to-the-device-tree.patch and patches.arch/arm64-bcm2837-0197-thermal-Add-Raspberry-Pi-BCM2835-thermal-driver.patch are now upstream, but due to a bug in Kconfig not enabled in arm64 builds. Needs a proper fix with proper testing which I currently can't do. - commit d6fe1c5- Enable hpsa patch that avoids bypassing the controller cache - commit 1c4e9ea- Update v4.13-rc2 bnxt_re patches - commit 41b7731- Update config files. Kill the ancient PCMCIA/CardBus . (bsc#323267) - commit 6b5ad53- blacklist 2400fd822f46 powerpc/asm: Mark cr0 as clobbered in mftb() - commit 0f1ad8b- ipc/util.h: update documentation for ipc_getref() and ipc_putref() (bsc#1050323). - ipc/sem: drop __sem_free() (bsc#1050323). - ipc/msg: remove special msg_alloc/free (bsc#1050323). - ipc/shm: remove special shm_alloc/free (bsc#1050323). - ipc: move atomic_set() to where it is needed (bsc#1050323). - ipc/msg.c: avoid ipc_rcu_putref for failed ipc_addid() (bsc#1050323). - ipc/shm.c: avoid ipc_rcu_putref for failed ipc_addid() (bsc#1050323). - ipc/sem.c: avoid ipc_rcu_putref for failed ipc_addid() (bsc#1050323). - ipc/util: drop ipc_rcu_alloc() (bsc#1050323). - ipc/msg: avoid ipc_rcu_alloc() (bsc#1050323). - ipc/shm: avoid ipc_rcu_alloc() (bsc#1050323). - ipc/sem: avoid ipc_rcu_alloc() (bsc#1050323). - ipc/util: drop ipc_rcu_free() (bsc#1050323). - ipc/msg: do not use ipc_rcu_free() (bsc#1050323). - ipc/shm: do not use ipc_rcu_free() (bsc#1050323). - ipc/sem: do not use ipc_rcu_free() (bsc#1050323). - ipc: drop non-RCU allocation (bsc#1050323). - include/linux/sem.h: correctly document sem_ctime (bsc#1050323). - ipc: merge ipc_rcu and kern_ipc_perm (bsc#1050323). - ipc/sem.c: remove sem_base, embed struct sem (bsc#1050323). - fs: remove call_fsync helper function (bsc#1050323). - mqueue: move compat syscalls to native ones (bsc#1050323). - commit c68517a- Apply the upstreamed (submitted) DRM patches, drop a couple of them (bnc#746883,bnc#895608,bnc#871134,bnc#893040,bnc#806990). patches.drivers/drm-radeon-limit-bpp-for-low-vram.patch patches.drivers/drm-ast-Actually-load-DP501-firmware-when-required.patch patches.drivers/drm-ast-Add-an-crtc_disable-callback-to-the-crtc-helper-funcs.patch patches.drivers/drm-ast-Fix-memleak-in-error-path-in-ast_bo_create.patch patches.drivers/drm-ast-Free-container-instead-of-member-in-ast_user_framebuffer_destroy.patch patches.drivers/drm-ast-Simplify-function-ast_bo_unpin.patch patches.drivers/drm-mgag200-Add-additional-limits-for-certain-G200-variants.patch patches.drivers/drm-mgag200-Add-command-line-option-to-specify-preferred-depth.patch patches.drivers/drm-mgag200-Add-doublescan-and-interlace-support.patch patches.drivers/drm-mgag200-Add-mode-validation-debugging-code.patch patches.drivers/drm-mgag200-Add-support-for-MATROX-PCI-device-IDs-0x520-and-0x521.patch patches.drivers/drm-mgag200-Cleanup-cursor-BOs-properly.patch patches.drivers/drm-mgag200-Consolidate-depth-bpp-handling.patch patches.drivers/drm-mgag200-Don-t-use-crtc_-parameters-for-validation.patch patches.drivers/drm-mgag200-Fix-memleak-in-error-path-in-mgag200_bo_create.patch patches.drivers/drm-mgag200-Free-container-instead-of-member-in-mga_user_framebuffer_destroy.patch patches.drivers/drm-mgag200-Implement-basic-PM-support patches.drivers/drm-mgag200-Initialize-data-needed-to-map-fbdev-memory.patch patches.drivers/drm-mgag200-Simplify-function-mgag200_ttm_placement.patch Dropped: patches.drivers/drm-cirrus-Add-missing-drm_connector_unregister.patch patches.drivers/drm-mgag200-Add-missing-drm_connector_unregister.patch - commit b11e49b- writeback: rework wb_[dec|inc]_stat family of functions (bnc#971975 VM performance -- statistics). - percpu_counter: Rename __percpu_counter_add to percpu_counter_add_batch (bnc#971975 VM performance -- statistics). - commit 960acce- kernel/fork.c: virtually mapped stacks: do not disable interrupts (bnc#978907 Scheduler performance -- fork). - commit e0d9b89- sched/fair: Fix load_balance() affinity redo path (bnc#978907 Scheduler performance -- load balancer). - sched/cputime: Accumulate vtime on top of nsec clocksource (bnc#978907 Scheduler performance -- nohz_full, accounting). - sched/cputime: Move the vtime task fields to their own struct (bnc#978907 Scheduler performance -- nohz_full, accounting). - sched/cputime: Rename vtime fields (bnc#978907 Scheduler performance -- nohz_full, accounting). - sched/cputime: Always set tsk->vtime_snap_whence after accounting vtime (bnc#978907 Scheduler performance -- nohz_full, accounting). - vtime, sched/cputime: Remove vtime_account_user() (bnc#978907 Scheduler performance -- nohz_full, accounting). - commit 835d782- sched/topology: Rename sched_group_cpus() (bnc#978907 Scheduler performance -- topology). - sched/topology: Rename sched_group_mask() (bnc#978907 Scheduler performance -- topology). - sched/topology: Simplify sched_group_mask() usage (bnc#978907 Scheduler performance -- topology). - sched/topology: Rewrite get_group() (bnc#978907 Scheduler performance -- topology). - sched/topology: Add a few comments (bnc#978907 Scheduler performance -- topology). - sched/topology: Fix overlapping sched_group_capacity (bnc#978907 Scheduler performance -- topology). - sched/topology: Add sched_group_capacity debugging (bnc#978907 Scheduler performance -- topology). - sched/topology: Small cleanup (bnc#978907 Scheduler performance - - topology). - sched/topology: Remove FORCE_SD_OVERLAP (bnc#978907 Scheduler performance -- topology). - sched/topology: Move comment about asymmetric node setups (bnc#978907 Scheduler performance -- topology). - sched/topology: Verify the first group matches the child domain (bnc#978907 Scheduler performance -- topology). - sched/debug: Print the scheduler topology group mask (bnc#978907 Scheduler performance -- topology). - sched/topology: Simplify build_overlap_sched_groups() (bnc#978907 Scheduler performance -- topology). - sched/topology: Refactor function build_overlap_sched_groups() (bnc#978907 Scheduler performance -- topology). - commit bccf165- supported.conf: update core networking Add missing modules, drop those not built anymore. - commit 017c4e5- powerpc/fadump: Add a warning when 'fadump_reserve_mem=' is used (bsc#1049231). - commit f59fefd- s390/crash: Remove unused KEXEC_NOTE_BYTES (bsc#1049706). - commit f3e8437- Refresh and enable patches.drivers/i40e-add-private-flag-to-control-source-pruning.patch. - commit d3ea4f6- Delete patches.suse/AF_MAX.patch. This patch reserved space for adding AF_HYPERV and AF_SMC constants as implementations of both families were not upstreamed at the moment of SLE12-SP2 kABI freeze. AF_SMC was accepted in the meantime (which turned out to be a bad thing, BtW), AF_HYPERV submission was rejected in July 2016 and no attempt to resubmit it was made since. In other words, there doesn't seem to be any reason to keep the patch, it can be reintroduced later (in updated form) if there is a need. - commit 4e036bb- Update upstream reference: patches.fixes/usb-early-Remove-trace_printk-callers-in-xhci-dbc.patch. - commit 0162ee3- blacklist.conf: blacklist 5d6dec6fba38 (we do not have any users) - commit 7131165- blacklist.conf: 3bc1630774bc (compilation fix for config which we do not care) - commit e1ee65a- blacklist.conf: 38cb266ad1a2 (trivial doc formatting) - commit 4fa3930- Sort network patch section and rename accordingly - commit 8588a81- Refresh patches.drivers/e1000e-Don-t-return-uninitialized-stats.patch. It was a local commit id. - commit 4c5c3f9- md: remove 'idx' from 'struct resync_pages' (bsc#1049599). - commit 515f14e- Patch has been merged into 4.12 Delete patches.fixes/ceph-check-i_nlink-while-converting-a-file-handle-to-dentry.patch. - commit d60ca32- enabled and moved patches present in SLE12-SP3 and still needed in SLE15 - commit 597b029- Be prepared to enable ARM64 live patching during SLE15 lifetime (FATE#322421). - Delete patches.arch/powerpc-add-kernel-parameter-iommu_alloc_quiet.patch. DMA_ATTR_NO_WARN is now incorporated. - Delete patches.fixes/fix-stop-machine. Proper mainline fix is now in. - Remove FIPS patches: - Delete patches.suse/allow-cmac_3des_ede-for-FIPS-140-2. - Delete patches.suse/allow-cmac_aes-for-FIPS-140-2. - Delete patches.suse/disallow-ansi_cprng-for-FIPS-140-2. - Delete patches.suse/fips-remove-hmac-crc32-add-nullcipher-hack. - commit cd28b1d- x86/acpi: Prevent out of bound access caused by broken ACPI tables (CVE-2017-11473 bsc#1049603). - commit cc7b51e- Update config files. Remove WUSB (FATE#323423) - commit 2257fee- supported.conf: remove support for IRDA (FATE#323263) - commit bdaf793- supported.conf: removed support for ISDN (FATE#323266) - commit 4265d36- Update config files. Exterminate ISDN (FATE#323266) - commit f13b205- Update config files. Exterminate IRDA (FATE#323263) - commit ef690e1- Linux 4.12.3 (CVE-2017-7541 bnc#1012628 bsc#1049645). - Refresh patches.suse/pstore-backend-autoaction. - Delete patches.fixes/brcmfmac-fix-possible-buffer-overflow-in-brcmf_cfg80. - commit 409edbf- Delete patches.drivers/0051-Missing-bio_put-following-submit_bio_wait.patch. - Delete patches.drivers/0127-scsi-lpfc-Fix-crash-on-PCI-hotplug-remove-path.patch. - Delete patches.drivers/0426-nvmet_fc-fix-list-corruption.patch. - Delete patches.drivers/0427-nvmet_fc-cap-amount-of-work-allowed-in-workqueue.patch. Delete superseded patches and re-attribute PM patch to Joey - commit 492279e- Delete patches.fixes/xfs-fix-buffer-overflow-dm_get_dirattrs.patch. - Delete patches.fixes/xfs_dmapi-fix-the-debug-compilation-of-xfs_dmapi.patch. - commit 2f7c909- Refresh patches.drivers/0001-module-warn-if-module-init-probe-takes-long.patch. - commit c47c847- dentry name snapshots (bsc#1049483). - commit 76ea0ca- Delete patches.drivers/ipmi_si-create-hardware-independent-softdep-for-ipmi.patch. upstream now. - commit c4eb19d- Refresh patches.drivers/0001-hpsa-update-identify-physical-device-structure.patch. - Refresh patches.drivers/0002-hpsa-do-not-get-enclosure-info-for-external-devices.patch. - Refresh patches.drivers/0003-hpsa-update-reset-handler.patch. - Refresh patches.drivers/0004-hpsa-do-not-reset-enclosures.patch. - Refresh patches.drivers/0005-hpsa-rescan-later-if-reset-in-progress.patch. - Refresh patches.drivers/0006-hpsa-correct-resets-on-retried-commands.patch. - Refresh patches.drivers/0007-hpsa-cleanup-reset-handler.patch. - Refresh patches.drivers/0008-hpsa-correct-queue-depth-for-externals.patch. - Refresh patches.drivers/0009-hpsa-separate-monitor-events-from-rescan-worker.patch. - Refresh patches.drivers/0010-hpsa-send-ioaccel-requests-with-0-length-down-raid-path.patch. - Update patches.drivers/0011-hpsa-remove-abort-handler.patch (bsc#1022600 fate#321928 bsc#1016119). - Refresh patches.drivers/0012-hpsa-bump-driver-version.patch. - Delete patches.drivers/hpsa-fallback-to-use-legacy-REPORT-PHYS-command.patch. - Delete patches.drivers/hpsa-use-correct-DID_NO_CONNECT-hostbyte.patch. - commit 3a174f7- Add Omar's total_bytes_pinned patches from upstream and delete old backports - Btrfs: always account pinned bytes when dropping a tree block ref (bsc#1040182). - Btrfs: make add_pinned_bytes() take an s64 num_bytes instead of u64 (bsc#1040182). - Btrfs: make BUG_ON() in add_pinned_bytes() an ASSERT() (bsc#1040182). - Btrfs: return old and new total ref mods when adding delayed refs (bsc#1040182). - Btrfs: rework delayed ref total_bytes_pinned accounting (bsc#1040182). - Btrfs: update total_bytes_pinned when pinning down extents (bsc#1040182). - Delete patches.suse/0001-Btrfs-make-add_pinned_bytes-take-an-s64-num_bytes-in.patch. - Delete patches.suse/0002-Btrfs-make-BUG_ON-in-add_pinned_bytes-an-ASSERT.patch. - Delete patches.suse/0003-Btrfs-update-total_bytes_pinned-when-pinning-down-ex.patch. - Delete patches.suse/0004-Btrfs-always-account-pinned-bytes-when-dropping-a-tr.patch. - Delete patches.suse/0005-Btrfs-return-old-and-new-total-ref-mods-when-adding-.patch. - Delete patches.suse/0006-Btrfs-rework-delayed-ref-total_bytes_pinned-accounti.patch. - Delete patches.suse/0007-Btrfs-warn-if-total_bytes_pinned-is-non-zero-on-unmo.patch. - commit 97e177b- Patch is already part of 4.12. Delete patches.drivers/cxgb4-0157-cxgb4-notify-uP-to-route-ctrlq-compl-to-rdma-rspq.patch. - commit c3e3c5d- btrfs: fix lockup in find_free_extent with read-only block groups (bsc#1046682). - commit fa3b074- debug: fix WARN_ON_ONCE() for modules (bnc#1049599). - commit b1e9bab- patches.fixes/mm-mmap.c-do-not-blow-on-PROT_NONE-MAP_FIXED-holes-i.patch forward port - commit e188cbc- Deleted outdated patches. - Delete patches.drivers/staging-rdma-0001-Commit-507f6afa3ab6-struct-ib_class_port_info-this-c.patch. - Delete patches.drivers/staging-rdma-0002-Fix-changed-get_user_pages-arguments.patch. - Delete patches.drivers/staging-rdma-0003-Adapt-staging-rdma-drivers-to-IB-core-Let-create_ah.patch. - commit 357b909- brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx() (CVE-2017-7541,bsc#1049645). - commit 9f05680- series.conf - move some MM patches to the proper section - commit d78e77f- rpm/kernel-binary.spec.in: find-debuginfo.sh should not touch build-id This needs rpm-4.14+ (bsc#964063). - commit f622d60- Removing gaurded patch from SLE12 not needed. - commit 0d62b5e- ext4: avoid unnecessary stalls in ext4_evict_inode() (bsc#1049486). - commit 47dc213- Reassign some of the to be reviewed patches - commit 7431a6f- Refresh patches.suse/0003-kabi-Add-placeholders-to-a-couple-of-important-struc.patch. Taking all the kABI placeholders, as teh rational for them has not changed. - commit 72e50ae- Delete patches.suse/sched-Add-missing-update_rq_clock-call-in-set_user_n.patch: Merged as 2fb8d36787affe26f3536c3d8ec094995a48037d in v4.11-rc1. - commit f2bba64- Delete patches.suse/sched-Add-missing-update_rq_clock-call-for-task_hot.patch: Merged as 3bed5e2166a5e433bf62162f3cd3c5174d335934 as v4.11-rc1. - commit 23e5248- Delete patches.suse/sched-Add-missing-update_rq_clock-in-detach_task_cfs.patch: Merged as 80f5c1b84baa8180c3c27b7e227429712cd967b6 in v4.11-rc1. - commit 85dec32- Delete patches.suse/sched-Add-missing-update_rq_clock-in-post_init_entit.patch: Merged as 4126bad6717336abe5d666440ae15555563ca53f in v4.11-rc1. - commit d31a75d- Delete patches.suse/split-package, the specfile does not use this anymore - commit f265fd3- supported.conf: import supported.conf from SLE12-SP3 and add missing entries - commit 22aaf02- Renumber SmartPQI patches, as we're restarting from 1 now - commit 9737cb7- Refresh patches.drivers/0041-scsi-smartpqi-correct-aio-error-path.patch. - Refresh patches.drivers/0048-scsi-smartpqi-make-ioaccel-references-consistent.patch. - Delete patches.drivers/0001-scsi-fcoe-convert-to-kworker.patch. - commit 2cee378- Delete patches.drivers/0001-USB-add-descriptors-from-USB-Power-Delivery-spec.patch. - Delete patches.drivers/0001-cdc-acm-added-sanity-checking-for-probe.patch. - Delete patches.drivers/0001-gspca-correct-speed-testing.patch. - Delete patches.drivers/0002-USB-PD-define-specific-requests.patch. - Delete patches.drivers/0002-uvc-correct-speed-testing.patch. - Delete patches.drivers/0003-USB-PD-additional-feature-selectors.patch. - Delete patches.suse/0001-usb-quirk-to-stop-runtime-PM-for-Intel-7260.patch. - commit 2b88672- iommu/amd: Free already flushed ring-buffer entries before full-check (bsc#1045709). - iommu/amd: Remove amd_iommu_disabled check from amd_iommu_detect() (bsc#1045715 bsc#1043261). - iommu/amd: Free IOMMU resources when disabled on command line (bsc#1045715 bsc#1043261). - iommu/amd: Set global pointers to NULL after freeing them (bsc#1045715 bsc#1043261). - iommu/amd: Check for error states first in iommu_go_to_state() (bsc#1045715 bsc#1043261). - iommu/amd: Add new init-state IOMMU_CMDLINE_DISABLED (bsc#1045715 bsc#1043261). - iommu/amd: Rename free_on_init_error() (bsc#1045715 bsc#1043261). - iommu/amd: Disable IOMMUs at boot if they are enabled (bsc#1045715 bsc#1043261). - iommu/amd: Suppress IO_PAGE_FAULTs in kdump kernel (bsc#1045715 bsc#1043261). - iommu/amd: Remove queue_release() function (bsc#1045709). - iommu/amd: Add per-domain timer to flush per-cpu queues (bsc#1045709). - iommu/amd: Add flush counters to struct dma_ops_domain (bsc#1045709). - iommu/amd: Add locking to per-domain flush-queue (bsc#1045709). - iommu/amd: Make use of the per-domain flush queue (bsc#1045709). - iommu/amd: Add per-domain flush-queue data structures (bsc#1045709). - iommu/amd: Rip out old queue flushing code (bsc#1045709). - iommu/amd: Reduce delay waiting for command buffer space (bsc#1045709). - iommu/amd: Reduce amount of MMIO when submitting commands (bsc#1045709). - iommu/amd: Constify irq_domain_ops (bsc#1045709). - iommu/amd: Ratelimit io-page-faults per device (bsc#1045709). - commit f012b19- Delete upstreamed patches - Delete patches.drivers/0097-NVMe-Only-release-requested-regions.patch. - Delete patches.drivers/0385-nvme-fc-correct-port-role-bits.patch. - Delete patches.drivers/0386-nvme-fc-require-target-or-discovery-role-for-fc-nvme.patch. - Delete patches.drivers/0387-nvme-fc-stop-queues-on-error-detection.patch. - Delete patches.drivers/0388-nvmet-fc-remove-target-cpu-scheduling-flag.patch. - Delete patches.drivers/0389-nvmet-release-the-sq-ref-on-rdma-read-errors.patch. - Delete patches.drivers/0390-nvme_fc-get-rid-of-local-reconnect_delay.patch. - Delete patches.drivers/0391-nvme_fc-Support-ctrl_loss_tmo.patch. - Delete patches.drivers/0392-nvme_fc-replace-ioabort-msleep-loop-with-completion.patch. - Delete patches.drivers/0393-nvme_fc-revise-comment-on-teardown.patch. - Delete patches.drivers/0394-nvme_fc-set-logging-level-on-resets-deletes.patch. - Delete patches.drivers/0395-nvmet_fc-Reduce-work_q-count.patch. - Delete patches.drivers/0396-nvmet_fc-Add-queue-create-and-delete-callbacks-in-LL.patch. - Delete patches.drivers/0397-nvme_fc-remove-extra-controller-reference-taken-on-r.patch. - Delete patches.drivers/0398-nvme_fcloop-fix-port-deletes-and-callbacks.patch. - Delete patches.drivers/0399-nvme_fc-correct-nvme-status-set-on-abort.patch. - Delete patches.drivers/0400-nvme_fc-create-fc-class-and-transport-device.patch. - Delete patches.drivers/0401-nvme_fc-add-uevent-for-auto-connect.patch. - Delete patches.drivers/0402-nvme-core-allow-controller-RESETTING-to-RECONNECTING.patch. - Delete patches.drivers/0403-nvme_fc-change-ctlr-state-assignments-during-reset-r.patch. - Delete patches.drivers/0404-nvme_fc-add-a-dev_loss_tmo-field-to-the-remoteport.patch. - Delete patches.drivers/0405-nvme_fc-add-dev_loss_tmo-to-controller.patch. - Delete patches.drivers/0406-nvme_fc-check-connectivity-before-initiating-reconne.patch. - Delete patches.drivers/0407-nvme_fc-change-failure-code-on-remoteport-connectivi.patch. - Delete patches.drivers/0408-nvme_fc-move-remote-port-get-put-free-location.patch. - Delete patches.drivers/0409-nvme_fc-add-dev_loss_tmo-timeout-and-remoteport-resu.patch. - Delete patches.drivers/lpfc-Revert-patch-lpfc-Delete-unnecessary-checks-bef.patch. - Delete patches.drivers/lpfc-driver-update-for-SLES12-SP2-11.1.0.1.patch. - Delete patches.fixes/fc-add-missing-ELS-explanation-values.patch. - Delete patches.fixes/fc_rport-PRLI-fixes.patch. - Delete patches.fixes/fc_rport-Return-LS_RJT_BUSY-for-PRLI-in-status-PLOGI.patch. - Delete patches.fixes/fcoe-Add-FIP-responder-on-the-real-network-device.patch. - Delete patches.fixes/fcoe-FIP-debugging.patch. - Delete patches.fixes/fcoe-Use-kfree_skb-instead-of-kfree.patch. - Delete patches.fixes/fcoe-correct-sending-FIP-VLAN-packets-on-VLAN-0.patch. - Delete patches.fixes/fcoe-filter-out-frames-from-invalid-vlans.patch. - Delete patches.fixes/fcoe-inhibit-writing-invalid-values-into-the-enabled.patch. - Delete patches.fixes/fcoe-make-R_A_TOV-and-E_D_TOV-configurable.patch. - Delete patches.fixes/fcoe-set-default-TC-priority.patch. - Delete patches.fixes/fcoe_ctlr-fix-potential-deadlock-when-re-adding-port.patch. - Delete patches.fixes/libfc-Clarify-ramp-down-messages.patch. - Delete patches.fixes/libfc-Correctly-set-E_D_TOV-and-R_A_TOV-values-in-RT.patch. - Delete patches.fixes/libfc-Debug-PRLI-failures.patch. - Delete patches.fixes/libfc-Do-not-attempt-to-login-if-the-port-is-already.patch. - Delete patches.fixes/libfc-Do-not-drop-down-to-FLOGI-for-fc_rport_login.patch. - Delete patches.fixes/libfc-Do-not-drop-out-of-order-frames.patch. - Delete patches.fixes/libfc-Do-not-take-rdata-rp_mutex-when-processing-a-F.patch. - Delete patches.fixes/libfc-Fix-PRLI-response-handling-yet-again.patch. - Delete patches.fixes/libfc-Fixup-disc_mutex-handling.patch. - Delete patches.fixes/libfc-Fixup-fixup-disc_mutex-handling.patch. - Delete patches.fixes/libfc-Implement-RTV-responder.patch. - Delete patches.fixes/libfc-Issue-PRLI-after-a-PRLO-has-been-received.patch. - Delete patches.fixes/libfc-Revisit-kref-handling.patch. - Delete patches.fixes/libfc-Send-LS_RJT-responses-on-frame-allocation-fail.patch. - Delete patches.fixes/libfc-Update-rport-reference-counting.patch. - Delete patches.fixes/libfc-additional-debugging-in-fc_rport.patch. - Delete patches.fixes/libfc-additional-debugging-messages.patch. - Delete patches.fixes/libfc-do-not-overwrite-DID_TIME_OUT-status.patch. - Delete patches.fixes/libfc-do-not-send-ABTS-when-resetting-exchanges.patch. - Delete patches.fixes/libfc-don-t-advance-state-machine-for-incoming-FLOGI.patch. - Delete patches.fixes/libfc-don-t-fail-sequence-abort-for-completed-exchan.patch. - Delete patches.fixes/libfc-fc_fcp-wait-for-E_D_TOV-when-out-of-order-sequ.patch. - Delete patches.fixes/libfc-fixup-RTV-handling.patch. - Delete patches.fixes/libfc-fixup-locking-of-ptp_setup.patch. - Delete patches.fixes/libfc-frame-alloc-failure-messages.patch. - Delete patches.fixes/libfc-quarantine-timed-out-xids.patch. - Delete patches.fixes/libfc-reset-exchange-manager-during-LOGO-handling.patch. - Delete patches.fixes/libfc-reset-timeout-on-queue-full.patch. - Delete patches.fixes/libfc-safeguard-against-invalid-exchange-index.patch. - Delete patches.fixes/libfc-sanitize-E_D_TOV-setting.patch. - Delete patches.fixes/libfc-send-LOGO-for-PLOGI-failure.patch. - Delete patches.fixes/libfc-spurious-I-O-error-under-high-load.patch. - Delete patches.fixes/libfc-use-configured-e_d_tov-for-remote-port-state-r.patch. - Delete patches.fixes/libfc-use-configured-lport-R_A_TOV-when-sending-exch.patch. - Delete patches.fixes/libfc-use-error-code-for-fc_rport_error.patch. - Delete patches.fixes/scsi-Fix-RCU-handling-for-VPD-pages.patch. - Delete patches.fixes/scsi-vpd-pages-are-mandatory-for-SPC-2.patch. - Delete patches.fixes/scsi_dh_alua-Do-not-modify-the-interval-value-for-re.patch. - Delete patches.fixes/scsi_dh_alua-Do-not-retry-for-unmapped-device.patch. - Delete patches.fixes/scsi_dh_alua-Retry-RTPG-on-SCSI-host_bytes-values.patch. - Delete patches.fixes/scsi_dh_alua-do-not-call-BUG_ON-when-updating-port-g.patch. - Delete patches.fixes/scsi_transport_sas-add-scsi_target_id-sysfs-attribut.patch. - commit 292a8cf- Update Patch-mainline tags. - Refresh patches.drivers/cxgb4-0151-cxgb4-reduce-resource-allocation-in-kdump-kernel.patch. - Refresh patches.drivers/cxgb4-0152-cxgb4-Fix-netdev_features-flag.patch. - Refresh patches.drivers/cxgb4-0153-cxgb4-keep-carrier-off-before-registering-netdev.patch. - Refresh patches.drivers/cxgb4-0157-cxgb4-notify-uP-to-route-ctrlq-compl-to-rdma-rspq.patch. - Refresh patches.drivers/qed-sp3-0264-qed-Enable-RoCE-parser-searching-on-fp-init.patch. - Refresh patches.drivers/qed-sp3-0265-qed-Correct-order-of-wwnn-and-wwpn.patch. - Refresh patches.drivers/qed-sp3-0266-qed-Share-additional-information-with-qedf.patch. - Refresh patches.drivers/qed-sp3-0267-qed-Support-NVM-image-reading-API.patch. - Refresh patches.drivers/qed-sp3-0268-qed-Add-support-for-changing-iSCSI-mac.patch. - Refresh patches.drivers/xgene-sp3-0001-phy-Add-helper-function-to-check-phy-interface-mode.patch. - Refresh patches.drivers/xgene-sp3-0011-drivers-net-xgene-Protect-indirect-MAC-access.patch. - Refresh patches.drivers/xgene-sp3-0012-drivers-net-phy-xgene-Add-lock-to-protect-mac-access.patch. - Refresh patches.drivers/xgene-sp3-0013-drivers-net-xgene-Use-rgmii-mdio-mac-access.patch. - Refresh patches.drivers/xgene-sp3-0014-drivers-net-xgene-Remove-redundant-local-stats.patch. - Refresh patches.drivers/xgene-sp3-0015-drivers-net-xgene-Refactor-statistics-error-parsing-.patch. - Refresh patches.drivers/xgene-sp3-0016-drivers-net-xgene-Remove-unused-macros.patch. - Refresh patches.drivers/xgene-sp3-0017-drivers-net-xgene-Extend-ethtool-statistics.patch. - Refresh patches.drivers/xgene-sp3-0018-drivers-net-xgene-Add-rx_overrun-tx_underrun-statist.patch. - Refresh patches.drivers/xgene-sp3-0019-drivers-net-xgene-Workaround-for-HW-errata-10GE_4.patch. - Refresh patches.drivers/xgene-sp3-0020-drivers-net-xgene-Add-frame-recovered-statistics-cou.patch. - Refresh patches.drivers/xgene-sp3-0021-drivers-net-xgene-Workaround-for-HW-errata-10GE_10-E.patch. - Refresh patches.drivers/xgene-sp3-0022-drivers-net-xgene-Fix-redundant-prefetch-buffer-clea.patch. - Refresh patches.drivers/xgene-sp3-0023-xgene-Check-all-RGMII-phy-mode-variants.patch. - commit b012c38- Delete patches.drivers/0001-iommu-amd-ratelimit-io-page-faults-per-device. - Delete patches.drivers/0001-iommu-amd-suppress-io_page_faults-in-kdump-kernel. - Delete patches.drivers/0002-iommu-amd-constify-irq_domain_ops. - Delete patches.drivers/0002-iommu-amd-disable-iommus-at-boot-if-they-are-enabled. - Delete patches.drivers/0003-iommu-amd-reduce-amount-of-mmio-when-submitting-commands. - Delete patches.drivers/0003-iommu-amd-rename-free_on_init_error. - Delete patches.drivers/0004-iommu-amd-add-new-init-state-iommu_cmdline_disabled. - Delete patches.drivers/0004-iommu-amd-reduce-delay-waiting-for-command-buffer-space. - Delete patches.drivers/0005-iommu-amd-check-for-error-states-first-in-iommu_go_to_state. - Delete patches.drivers/0005-iommu-amd-rip-out-old-queue-flushing-code. - Delete patches.drivers/0006-iommu-amd-add-per-domain-flush-queue-data-structures. - Delete patches.drivers/0006-iommu-amd-set-global-pointers-to-null-after-freeing-them. - Delete patches.drivers/0007-iommu-amd-free-iommu-resources-when-disabled-on-command-line. - Delete patches.drivers/0007-iommu-amd-make-use-of-the-per-domain-flush-queue. - Delete patches.drivers/0008-iommu-amd-add-locking-to-per-domain-flush-queue. - Delete patches.drivers/0008-iommu-amd-remove-amd_iommu_disabled-check-from-amd_iommu_detect. - Delete patches.drivers/0009-iommu-amd-add-flush-counters-to-struct-dma_ops_domain. - Delete patches.drivers/0010-iommu-amd-add-per-domain-timer-to-flush-per-cpu-queues. - Delete patches.drivers/0011-iommu-amd-remove-queue_release-function. - Delete patches.drivers/0012-iommu-amd-free-already-flushed-ring-buffer-entries-before-full-check. - commit abd2aa7- Drop bridge-remove-br_netfilter-warning.patch patches.suse/bridge-remove-br_netfilter-warning.patch was intended for SLE12-SPx only. For SLE15 we want to follow the upstream behaviour of bridge / br_netfilter. - commit d00a8a0- series.conf: Delete already upstreamed patches. - commit d8c5404- Re-assign patches.suse/0009-PM-hibernate-Reserve-hibernation-key-and-erase-footp.patch - commit 1d767fc- Delete patches.suse/0004-md-cluster-use-sync-way-to-handle-METADATA_UPDATED-m.patch. - Delete patches.suse/0005-md-move-bitmap_destroy-to-the-beginning-of-__md_stop.patch. - Delete patches.suse/0006-md-cluster-add-CHANGE_CAPACITY-message-type.patch. - Delete patches.suse/0007-md-cluster-introduce-cluster_check_sync_size.patch. - Delete patches.suse/0008-md-cluster-add-the-support-for-resize.patch. - commit ef41919- Added patches.fixes/0001-mm-memory_hotplug-simplify-empty-node-mask-handling-.patch Added patches.fixes/0002-hugetlb-memory_hotplug-prefer-to-use-reserved-pages-.patch Added patches.fixes/0003-mm-unify-new_node_page-and-alloc_migrate_target.patch. forward ported - commit d5e8bf8- patches.suse/0001-mm-memory_hotplug-support-movable_node-for-hotplugab.patch forward port - commit 3426276- Update patches.suse/0004-mm-memory_hotplug-get-rid-of-is_zone_device_section.patch (bnc#1027153, bnc#1030659, bnc#1047595, fate#323634). - Delete patches.fixes/004-mm-memory_hotplug-get-rid-of-is_zone_device_section-fix.patch. - commit 9b458ae- mm: remove return value from init_currently_empty_zone (bnc#1027153, bnc#1030659, fate#323634). - mm, memory_hotplug: consider offline memblocks removable (bnc#1027153, bnc#1030659, fate#323634). - mm: consider zone which is not fully populated to have holes (bnc#1027153, bnc#1030659, fate#323634). - mm, compaction: skip over holes in __reset_isolation_suitable (bnc#1027153, bnc#1030659, fate#323634). - mm: __first_valid_page skip over offline pages (bnc#1027153, bnc#1030659, fate#323634). - mm, vmstat: skip reporting offline pages in pagetypeinfo (bnc#1027153, bnc#1030659, fate#323634). - mm, memory_hotplug: do not associate hotadded memory to zones until online (bnc#1027153, bnc#1030659, bnc#1047506, fate#323634). - mm, memory_hotplug: fix MMOP_ONLINE_KEEP behavior (bnc#1027153, bnc#1030659, fate#323634). - mm, memory_hotplug: do not assume ZONE_NORMAL is default kernel zone (bnc#1027153, bnc#1030659, fate#323634). - mm, memory_hotplug: replace for_device by want_memblock in arch_add_memory (bnc#1027153, bnc#1030659, fate#323634). - mm, memory_hotplug: fix the section mismatch warning (bnc#1027153, bnc#1030659, fate#323634). - mm, memory_hotplug: remove unused cruft after memory hotplug rework (bnc#1027153, bnc#1030659, fate#323634). - Update patches.suse/0002-mm-memory_hotplug-use-node-instead-of-zone-in-can_on.patch (bnc#1027153, bnc#1030659, fate#323634). - Update patches.suse/0003-mm-drop-page_initialized-check-from-get_nid_for_pfn.patch (bnc#1027153, bnc#1030659, fate#323634). - Update patches.suse/0004-mm-memory_hotplug-get-rid-of-is_zone_device_section.patch (bnc#1027153, bnc#1030659, fate#323634). - mm, memory_hotplug: split up register_one_node() (bnc#1027153, bnc#1030659, fate#323634). - Delete patches.fixes/0001-mm-memory_hotplug-fix-MMOP_ONLINE_KEEP-behavior.patch. - Delete patches.fixes/0002-mm-memory_hotplug-do-not-assume-ZONE_NORMAL-is-defau.patch. - Delete patches.fixes/include-linux-mmzone.h-simplify-zone_intersects.patch. - Delete patches.suse/0006-mm-memory_hotplug-do-not-associate-hotadded-memory-t.patch. - Delete patches.suse/0008-mm-memory_hotplug-fix-the-section-mismatch-warning.patch. - Delete patches.suse/0009-mm-memory_hotplug-remove-unused-cruft-after-memory-h.patch. - Delete patches.suse/mm-memory_hotplug-consider-offline-memblocks-removable.patch. Replace the SLE12-SP2 based implementation by the upstream commits. Take the whole series but in principle there are no large changes between the two. - commit 5fdd3c7- Move all networking patches in one section Driver and core changes are intertwined upstream. Trying to separate them leads to an unbisectable series. - commit dc0dd37- Delete patches.drivers/qed-bump-driver-versions-to-8.7.1.62.patch. Specific to SLE12SP2 backport, see bsc#966318 comment 16 - Delete patches.fixes/scsi-bfa-Increase-requested-firmware-version-to-3.2..patch. Upstream as 2d1148f0f450 scsi: bfa: Increase requested firmware version to 3.2.5.1 (v4.10-rc4) - commit 31b4006- Adjust guard prefix in series.conf, no functional change - commit f09e36f- Enable patches.fixes/iio-hid-sensor-fix-return-of-EINVAL-on-invalid-value It's a trivial fix from 4.13-rc1 and still valid. - commit 4daf55f- Enable patches.drivers/kernel-Export-mm_access.patch. This patch is still required for supporting AMD ROCm. - commit d9a4c03- Delete patches.fixes/mm-do-not-loop-on-GFP_REPEAT-when-no-reclaim-progress.patch. fixed as a part of 0a0337e0d1d134465778a16f5cbea95086e8e9e0 (4.7) - commit a38fe09- Delete patches.drivers/drm-Print-EDID-errors-less-obviously.patch This change is no longer needed with the recent upstream code. - commit 30a521d- patches.suse/mm-inform-about-enabling-mirrored-memory.patch enable because the concern with the mirrored memory still holds - commit b059f43- Delete patches.fixes/powerpc-implement-arch_reserved_kernel_pages.patch. merged 1e76609cc1646c5222feefe86a3433a79be4fb73 (4.9) - commit cbafebe- Delete patches.fixes/mm-memblock-expose-total-reserved-memory.patch. merged as 8907de5dc6e9d5925cf3b0a698cc3a4272fda073 (4.9) - commit 7eb2ba2- Delete patches.fixes/mm-introduce-arch_reserved_kernel_pages.patch. merged as f6f34b4387d9e18304451a131b35d7c4f27a0b5a (4.9) - commit c8145c8- patches.suse/mm-Warn-users-of-node-memory-hot-remove-if-the-memory-ratio-is-a-high-risk.patch enable the patch as we want to have an idea that somebody overuses movable memory. - commit 490b154- Delete patches.suse/mm-fadvise-avoid-expensive-remote-LRU-cache-draining-after-FADV_DONTNEED.patch. - Delete patches.suse/mm-fix-remote-numa-hits-statistics.patch. - Delete patches.suse/mm-get-rid-of-__GFP_OTHER_NODE.patch. - Delete patches.suse/mm-mmzone.c-swap-likely-to-unlikely-as-code-logic-is-different-for-next_zones_zonelist.patch. - Delete patches.suse/mm-mprotect.c-don-t-touch-single-threaded-PTEs-which-are-on-the-right-node.patch. - Delete patches.suse/sched-debug-always-show-nr_migrations.patch. - Delete patches.suse/thp-fix-MADV_DONTNEED-vs.-numa-balancing-race.patch. - Delete patches.suse/thp-reduce-indentation-level-in-change_huge_pmd.patch. - commit 165d34d- Refresh patches.suse/memcg-deprecate-memory.force_empty-knob.patch. forward ported. We still want to catch users who might depend on the knob - commit a082540- Delete patches.suse/memcg-introduce-low-limit-for-cgroupv1.patch. cgroup v2 is no longer in devel mode since 34a9304a96d6351c2d35dcdc9293258378fc0bd8 (4.5) - commit 3ed04d3- Disable CONFIG_XFS_RT (fate#321934) - commit fede9b2- Enable patches.fixes/fs-speedup-clean-bdev-aliases.patch: The issue has not been sorted out upstream yet. - commit f565355- Delete patches.fixes/md-Make-flush-bios-explicitely-sync.patch: Merged as commit 5a8948f8a32ba56c17b3fb75d318ac98157f3ba5 to 4.12-rc4. - commit 064de7f- Delete patches.fixes/btrfs-Make-flush-bios-explicitely-sync.patch: Merged as commit 8d91012528b3c95c159e6b6779e367421df9cbb5 to 4.12-rc5. - commit 199953b- Delete patches.fixes/reiserfs-Make-flush-bios-explicitely-sync.patch: Merged as commit d8747d642ec4ce96adf17ae35652a5e4015cfe02 to 4.12-rc4. - commit 74f0ec4- Delete patches.fixes/gfs2-Make-flush-bios-explicitely-sync.patch: Merged as 0f0b9b63e14fc3f66e4d342df016c9b071c5abed to 4.12-rc4. - commit 5260255- Delete patches.suse/proc-show-MADV_FREE-pages-info-in-smaps.patch. merged as cf8496ea8020792ea32d0fbec0c140d8de93011a (4.12) - commit 622d942- Delete patches.fixes/x86-mm-fix-gup_pte_range-vs-DAX-mappings.patch: Merged as commit ef947b2529f918d9606533eb9c32b187ed6a5ede to 4.11-rc2 - commit 8edaf40- Delete patches.suse/mm-enable-MADV_FREE-for-swapless-system.patch. merged as 93e06c7a645343d222c9a838834a51042eebbbf7 (4.12) - commit f290c11- Refresh ibmvnic patch metadata Also rename patches to 3 digit scheme. - commit 1de7e2b- Delete patches.suse/mm-reclaim-MADV_FREE-pages.patch. merged as 802a3a92ad7ac0b9be9df229dee530a1f0a8039b (4.12) - commit 0086a29- Delete patches.suse/mm-move-MADV_FREE-pages-into-LRU_INACTIVE_FILE-list.patch. merged as f7ad2a6cb9f7c4040004bedee84a70a9b985583e (4.12) - commit 0d6a174- Printk patches will be handled by Petr Mladek. - commit 7aa5f41- Delete patches.suse/mm-dont-assume-anonymous-pages-have-SwapBacked-flag.patch. merged as d44d363f65780f2ac2ec672164555af54896d40d (4.12) - commit 66d14fb- Delete patches.suse/mm-delete-unnecessary-TTU_-flags.patch merged as a128ca71fb29ed4444b80f38a0148b468826e19b (4.12) - commit aa5cda3- Refresh patches.fixes/mm-make-PR_SET_THP_DISABLE-immediately-active.patch forward-port - commit 35db809- Delete patches.suse/cgroup-Export-cgroup_is_descendant.patch: Commit b11cfb5807e30 in 4.5-rc1 made this obsolete. - commit 229d877- Delete patches.suse/xfs-silence-warnings-in-xfs-vm-releasepage.patch: Merged as commit 0a417b8dc1f10 to 4.10-rc4 - commit e4fddb8- Delete patches.suse/kabi-Add-placeholder-to-vm_fault.patch: kABI placeholder not needed anymore since DAX patches are already in 4.12. - commit 7c85cca- Delete patches.fixes/mm-fix-classzone_idx-underflow-in-shrink_zones.patch. obsolete by b2e18757f2c9 - commit 054b718- Delete patches.suse/x86-mm-sched-make-lazy-TLB-mode-even-lazier-kabi.patch we do not need kabi workaround anymore - commit a1b7ca1- Refresh patches.fixes/mm-adaptive-hash-table-scaling.patch to the upstream version - Delete patches.fixes/mm-adaptive-hash-table-scaling-fix.patch. - Delete patches.fixes/mm-drop-HASH_ADAPT.patch. those were follow up fixes for the patch taken from the mmotm tree - commit e8e2fc2- Refresh patches.suse/btrfs-8888-add-allow_unsupported-module-parameter.patch. - commit dcc0c57- Refresh patches.suse/squashfs-3.4.patch. - Delete patches.suse/squashfs3-properly-handle-dir_emit-failures.patch. - commit d3a07b1- Refresh patches.suse/0001-Btrfs-skip-commit-transaction-if-we-don-t-have-enoug.patch. - commit e762284- Enable POWER patches from 4.13 - commit b709393- Enable ibmvnic patches. - commit 759126f- Refresh patches.suse/xfs-unsupported-features.patch. - commit 02d7e1f- Delete patches.suse/x86-mm-sched-make-lazy-TLB-mode-even-lazier-kabi.patch. - commit 178d687- Refresh patches.suse/ext4-unsupported-features.patch. - commit 70b7452- Delete patches.suse/8250-sysrq-ctrl_o.patch. The SLE15 merge re-added this patch. It was removed in: 05568ac53a9 (Delete POWER4 specific patches.suse/8250-sysrq-ctrl_o.patch.) - commit cf3419b- Refresh patches.suse/unsupported-features.patch. - commit 658708b- Delete patches.rpmify/lustre-lloop-dont-change-logical-size. This patch was incomplete and LUSTRE_FS=n in any case. - commit 0ba6419- Remove DMAPI patches (fate#320591). - Delete patches.fixes/xfs-fix-buffer-overflow-dm_get_dirattrs.patch. - Delete patches.fixes/xfs_dmapi-fix-the-debug-compilation-of-xfs_dmapi.patch. - Delete patches.suse/dmapi-Make-NFSD-DMAPI-aware.patch. - Delete patches.suse/dmapi-source.patch. - Delete patches.suse/dmapi-support-for-xfs.patch. - commit a1b6653- series: turn away from some patches Once upon a time, I only touched those. Turn away from them now. - commit 3b9f2a5- Refresh patches.suse/0001-x86-entry-64-Refactor-IRQ-stacks-and-make-them-NMI-s.patch. - Refresh patches.suse/0002-x86-entry-64-Initialize-the-top-of-the-IRQ-stack-bef.patch. - Refresh patches.suse/0003-x86-dumpstack-fix-occasionally-missing-registers.patch. - Refresh patches.suse/0004-x86-dumpstack-fix-interrupt-and-exception-stack-boun.patch. - Refresh patches.suse/0005-objtool-add-ORC-unwind-table-generation.patch. - Refresh patches.suse/0006-objtool-x86-add-facility-for-asm-code-to-provide-unw.patch. - Refresh patches.suse/0007-x86-entry-64-add-unwind-hint-annotations.patch. - Refresh patches.suse/0008-x86-asm-add-unwind-hint-annotations-to-sync_core.patch. Update upstream information. - commit 8db850a- Delete fadump patches which are in 4.12 and enable the rest. - commit 53bf06b- Refresh fadump patch metadata - Refresh patches.arch/ia64-remove-multiple-definitions-of-append-elf.patch. - Refresh patches.arch/move-crashkernel-and-vmcore-related-code-under-config_crash_dump.patch. - Refresh patches.arch/powerpc-fadump-remove-dependency-with-kexec.patch. - Refresh patches.arch/powerpc-fadump-reuse-crashkernel-parameter-to-reserve-memory.patch. - Refresh patches.arch/powerpc-fadump-update-fadump-kernel-documentation.patch. - commit 12d1968- series.conf: manually fixup some of the missess of the automatic guard generation - series.conf: move IOMMU AMD to Joerg - commit 0900ac0- Delete patches.arch/ACPICA-Update-TPM2-ACPI-table.patch. in 4.12 - commit 8224558- series.conf: move intel_pstate-Increase-hold-off-time-before-samples-are-scaled.patch over to Mel as requested - commit 8bc2621- series.conf: make the forward-porting patch guards per-login (scripted) - commit d3987bc- Refresh metadata on recent powerpc patches. - Refresh patches.arch/powerpc-Fix-proc-cpuinfo-revision-for-POWER9-DD2.patch. - Refresh patches.arch/powerpc-perf-0026-Fix-branch-event-code-for-power9.patch. - commit 54227b1- Remove post-4.12 tpm patches. Should get these from stable updates. - commit b857f37- Refresh and trim ppc64le and x86_64 debug configs - commit 2f8eb87- Refresh and apply patches.drivers/b43-Add-missing-MODULE_FIRMWARE. - commit 6878788- Delete patches.fixes/drm-i915-Fix-S4-resume-breakage. The workaround wasn't merged to upstream, and it seems becoming superfluous with the recent i915 driver, so let's drop this one. - commit f5a35ab- Delete upstreamed or SLE12-specific patches - commit c0b786f- rpm/kernel-docs.spec.in: Drop unnecessary xmlto for 4.13+ - commit e47dc84- rpm/kernel-docs.spec.in: Correct kernel-docs package summary/description - commit 697b763- rpm/kernel-docs.spec.in: refresh dependencies for PDF build (bsc#1048129) But it still doesn't work with Tex Live 2017, thus disabled yet. Also add texlive-anyfontsize for HTML math handling. - commit ead44a1- Update config files: temporarily disable module signature verification (bsc#1049122) - commit 59b1abb- Delete patches.suse/kgr-0001-s390-livepatch-reorganize-TIF-bits.patch. This was in upstream as 30d64f1904d44a7e52a93d711d57aabbac2efd72. - commit 2b93b5d- Delete patches.arch/stack-unwind-cfi_ignore-takes-more-arguments. - Delete patches.arch/x86_64-unwind-annotations. - Delete patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops. - Delete patches.suse/stack-unwind.patch. Kill the old stack unwinding crap. - commit 8eb0aae- Delete patches.rpmify/drm-i915-disable-KASAN-for-handlers.patch. It was never accepted, is under discussion. But we disabled CONFIG_DRM_I915_WERROR in commit 5fc7b327348b, so we are safe anyway. - commit 09fc05f- Delete patches.rpmify/get_builtin_firmware-gcc-7.patch. This was never accepted. Instead this seems to be fixed in gcc. - commit c486b10- Delete patches.drivers/ppc64-adb. This hardware was discontinued in 2006 and the patch was never accepted upstream. - commit 38f5b34- Delete patches.arch/ppc-prom-nodisplay.patch. We no longer support 32-bit ppc and this hardware only existed with a 32-bit CPU. - commit 44570ac- Delete patches.arch/ppc-pegasos-console-autodetection.patch. We no longer support 32-bit ppc and this hardware only existed with a 32-bit CPU. - commit 9a9213c- Delete patches.suse/ppc-powerbook-usb-fn-key-default.patch. We no longer support 32-bit ppc and there were no 64-bit powerbooks. - commit 550dc2e- README.BRANCH: update branch information - commit 895cf17- Create SLE15 branch - Branch off from stable - Import all the patches from SLE12 codestream with unclear upstream status and mark them with 'needs_review' guard at the end of series.conf - Initial import/merge configs from SLE12 codestream; needs verification to make sure no SLE12-enabled options are lost - Patches which were left intact (conflict as they were in both branches): patches.suse/supported-flag patches.suse/genksyms-add-override-flag.diff patches.suse/vfs-add-super_operations-get_inode_dev patches.suse/suse-hv-guest-os-id.patch patches.suse/btrfs-fs-super.c-add-new-super-block-devices-super_block_d.patch patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch patches.drivers/pstore_disable_efi_backend_by_default.patch patches.suse/pstore-backend-autoaction patches.fixes/scsi-ibmvscsi-module_alias.patch patches.fixes/drm-i915-Fix-S4-resume-breakage patches.suse/iwlwifi-expose-default-fallback-ucode-api patches.suse/crasher.patch patches.suse/ftrace-x86-xen-use-kernel-identity-mapping-only-when.patch - config.conf replaced from SLE12 codebase - drop 'needs_review'-marked variants of patches which are already present and do apply cleanly from -stable branch already. - patches.arch/acpi_thermal_passive_blacklist.patch: update with version from stable branch to fix build. - update README.BRANCH - commit 2028ed7- Refresh metadata of fadump patches - Refresh patches.arch/powerpc-fadump-add-reschedule-point-while-releasing-memory.patch. - Refresh patches.arch/powerpc-fadump-avoid-duplicates-in-crash-memory-ranges.patch. - Refresh patches.arch/powerpc-fadump-avoid-holes-in-boot-memory-area-when-fadump-is-registered.patch. - Refresh patches.arch/powerpc-fadump-provide-a-helpful-error-message.patch. - commit 6f71027- Refresh TPM and CXL patch metadata. - Refresh patches.arch/ACPICA-Update-TPM2-ACPI-table.patch. - Refresh patches.arch/cxl-Unlock-on-error-in-probe.patch. - commit f1e3eba- netfilter: expect: fix crash when putting uninited expectation (bnc#1048935). - Delete patches.fixes/netfilter-nf_ct_expect-fix-expect-removal.patch. Replace by upstream fix (from a subsys repo). - commit abad31d- netfilter: nf_ct_expect: fix expect removal (bnc#1048935). - commit 28fe876- Drop multiversion(kernel) from the KMP template (fate#323189) - commit 71504d8- rpm/kernel-docs.spec.in: Fix and cleanup for 4.13 doc build (bsc#1048129) The whole DocBook stuff has been deleted. The PDF build still non-working thus the sub-packaging disabled so far. - commit 8e7de10- mm: kmemleak: treat vm_struct as alternative reference to vmalloc'ed objects (bsc#1027456). - mm: kmemleak: factor object reference updating out of scan_block() (bsc#1027456). - mm: kmemleak: slightly reduce the size of some structures on 64-bit architectures (bsc#1027456). - commit 880dbd7- rpm/dtb.spec.in.in: Fix new include path Commit 89de3db69113d58cdab14d2c777de6080eac49dc ("rpm/dtb.spec.in.in: Update include path for dt-bindings") introduced an additional include path for 4.12. The commit message had it correct, but the spec file template lacked a path component, breaking the aarch64 build while succeeding on armv7hl. Fix that. - commit c8d853a- rpm/dtb.spec.in.in: Update include path for dt-bindings Kernels before 4.12 had arch/{arm,arm64}/boot/dts/include/ directories with a symlink to include/dt-bindings/. In 4.12 those include/ directories were dropped. Therefore use include/ directly. Additionally some cross-architecture .dtsi reuse was introduced, which requires scripts/dtc/include-prefixes/ that didn't exist on older kernels. - commit 466f108- rpm: Add arm64 dtb-zte subpackage 4.9 added arch/arm64/boot/dts/zte/. - commit 073d831- rpm: Add arm64 dtb-allwinner subpackage 4.10 added arch/arm64/boot/dts/allwinner/. - commit dfeb94a- added De0-Nanos-SoC board support (and others based on Altera SOC). - commit 9278339lamb17 1573589301  !"#$%&'()*+,-./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 { | } ~        !"#$%&'()*+,-./0123456779:;<=>?@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{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~f      !"#$%&'()*+,-./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 { | } ~  !!!!!!!!!! ! ! t! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!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#{#|#}#~#########################################"Q#######################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$!"s$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$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'{'|'}'~''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&[''&_'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('!"s(*(+(,(-(.(/(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"s(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+7+8+9+:+;+<+=+>+?+@+A+B+C+D +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+{+|+}+~++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,!F,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B!,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,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------- - - - - --------f---------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0---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-{-|-}-~-----------------------------z-------------------------------------------------------------z---------------------------------------.-........ . . . . ..................-.!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4-.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/:/;/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/a/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0t0u0v0w0x0y0z0{0|0}0~000"000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000000000000000"00111111111.1 +z1 21111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?f1A1B1C1D1E1F1Gst1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y21{1|1}1~11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111f1111111111111111112222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Yf2[2\t2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222+22222223332333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r+3t3u3v3w3x3y3z3{3|3}3~31F3s33333y33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~44444444444444444 34"44444+4.44424444444444444444444444444444444444444444444444444444444444f41B441E1F4s1J44y444444444444444444444445555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505-5253545556575-595:5;5<5=5>5-5@5A5B5C5-5E5F5G5H5-5J5K5L5M5-5O5P5Q5R5-5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M"6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666166666666666666666666666666666666666666666666666666666666666666666666666666666666667777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/8081828485868788898:8;8<8=8>8?8A8B8C8D8E8F8G8H8I8J8K8L8M8N8=8P8Q+8S.8U8V8W328Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8=-1=8888=1B883y1E1F8st1J88y88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/: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:{:|:}:~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;; ; ; ; ; ;;;;;;;;;;q;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;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;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8v;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< =?=@=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@m@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@1@@@@@@@@@@@@@@@@@@@@@AAAAAAA8DAA A A "A AAAAAAAAAAAAAA32AAA A!A"A#A$A%8bA'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;A<A=A>A?A@AA8vACADAEAFAGAHAI1=AKALfAN1BAP3y1E1FATstAWAXAYyA[A\8A^A_A`Aa8AcAdAeAf8AhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;B<B=B>B?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBfBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;E<E=E>E?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEE9EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;F<F=F>F?F@FA:QFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;G<G=G>G?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGfGGGGGGGGGGGGGGGGGGG8GGyGGG8GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;H<H=H>H?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;I<I=I>I?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKK K K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;K<K=K>K?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK4KKKKKKKKKKK0KKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLL L L L L LLLLLLLLLLLLLLLLLLL L!L"L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;L<L=L>L?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMM M M M M MMMMMMMMMMMMMMMMMMM M!M"M$M%M&M'M(M)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;M<M=M>M?M@2MBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMY8xM[M\M]M^fM`MaMbMcMdMeMfMgtMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNN N N N N NNNNNNNNNNNNNNNNNNN N!N"N#N$N%N&N'N(N)N*N+N,N-N.N/N0N1N2N3N4N5N6N7N8N9N:N;N<N=N>N?N@NANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_N`NaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN{N|N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 3NNNNNNNNNNNNNNNNNNNNOOOOOOOOOO O O O O OOOOOOOOOOOOOOOOOOO O!O"O#O$O%O&O'O(O)O*O+O,O-O.O/O0O1O2O3O4O5O6O7O8O9O:O;O<O=O>O?O@OAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzO{O|O}O~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOfOOOOA_OOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPP P P P P PPPPPPPPPPPPPPPPPPP P!P"P#P$P%P&P'P(P)P*P+P,P-P.P/P0P1P2P3P4P5P6P7P8P9P:P;P<P=P>P?P@PAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP[P\P]P^P_P`PaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzP{P|P}P~PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPHPPPPPPPPPPPPPPPPPPP>PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQ Q Q Q Q QQQQQQQQQQQQQQQQQQQ Q!Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;Q<Q=Q>Q?Q@QAQBQCQDQEQFQGQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ[Q\Q]Q^Q_Q`QaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQ{Q|Q}Q~QQQQQQQQQQQQQQ4QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRR R R R R RRRRRRRRRRRRRRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2R3R4R5R6R7R8R9R:R;R<R=fR?R@RARBRCRDRERFRGRHRIRJRKRLtRNRORPRQRRRSRTRURVRWRXRYRZR[R\A_R^R_R`RaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzR{R|R}R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSS S S S S SSSSSSSSSSSSSSSSSSS S!S"S#S$S%S&S'S(S)S*S+S,S-S.S/S0S1S2S3S4S5S6S7S8S9S:S;S<S=S>S?S@SASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS[S\S]S^S_S`SaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuCSwSxSySzS{S|S}S~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTT T T T T TTTTTTTTTTTTTTTTTTT T!T"T#T$T%T&T'T(T)T*T+T,T-T.T/T0T1T2T3T4T5T6T7T8T9T:T;T<T=T>T?T@TATBTCTDTETFTGTHTItTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT[T\T]T^T_T`TaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzT{T|T}T~TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUU U U U U UUUUUUUtUUUUUUUUUUU U!U"U#U$U%U&U'U(U)U*U+U,U-U.U/U0U1U2U3U4U5U6U7U8U9U:U;U<U=U>U?U@UAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU[U\U]U^U_U`UaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzU{U|U}U~UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU+UUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVV V V V V VVVVVVVVVVVVVVVVVVV V!V"V#V$V%V&V'V(V)V*V+V,V-V.V/V0V1V2V3V4V5V6V7V8V9V:V;V<V=V>V?V@VAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV[V\V]V^V_V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV{V|V}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVLVVVVVVVVVVVWWWWWWWWWW W W W W WWWWWWWWWWWWWWWWWWW W!W"W#W$W%W&W'W(W)W*W+W,W-W.W/W0W1W2W3W4W5W6W7W8W9W:W;W<W=W>W?W@WAWBWCWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW[W\W]W^W_W`WaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzW{W|W}W~W,WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW2WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXX X X X X XXXXXXXXXXXXXXXXXXX X!X"X#X$X%X&X'X(X)X*X+X,X-X.X/X0X1X2X3X4X5X6X7X8X9X:X;X<X=X>X?X@XAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX[X\X]X^X_X`XaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzX{X|X}X~XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3y1EXXX1F8sXXXXXXX8XX8XyXXXXXXXX8XX8XXXX88XXXX88XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYY Y Y Y Y YYYYYYYYYYYYYYYYYYY Y!Y"Y#Y$Y%Y&Y'Y(Y)Y*Y+Y,Y-Y.Y/Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y:Y;Y<Y=Y>Y?Y@YAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzY{Y|Y}Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZ Z Z Z Z ZZZZZZZZZZZZZZZZZZZ Z!Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,Z-Z.Z/Z0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z:Z;Z<Z=Z>Z?Z@ZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ[Z\Z]Z^Z_Z`ZaZbZcZdZeZfZgZhZiZjZkZlLZnZoZpZqZrZsZtZuZvZwZxZyZzZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[ [ [ [ [ [[[[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[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[{[|[}[~[[[[L[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[0[[[[[[[[[[[[[\\\\\\\\\\ \ \ \ \ \\\\\\\\\\\\\\\\\\\ \!\"\#\$\%\&\'\(\)f\+\,\-\.\/\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`{`|`}`~`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaa a a a a aaaaaaaaaaaaaaaaaaa a!a"a#a$a%a&a'a(a)a*a+a,a-a.a/a0a1a2a3a4a5a6a7a8a9a:a;a<a=a>a?a@aAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa[a\a]a^a_a`aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayaza{a|a}a~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbb b b b b bbbbbbbbbbbbbbbbbbb b!b"b#b$b%b&b'b(b)b*b+b,b-b.b/b0b1b2b3b4b5b6b7b8b9b:b;b<b=b>b?b@bAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb[b\b]b^b_b`babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzb{b|b}b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccc c c c c ccccccccccccccccccc c!c"c#c$c%c&c'c(c)c*c+c,c-c.c/c0c1c2c3c4c5c6c7c8c9c:c;c<c=c>c?c@cAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc[c\c]c^c_c`cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczc{c|c}c~cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeee e e e e eeeeeeeeeeeeeeeeeee e!e"e#e$e%e&e'e(e)e*e+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;e<e=e>e?e@eAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe[e\e]e^e_e`eaebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze{e|e}e~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffff f f f f fffffffffffffffffff f!f"f#f$f%f&f'f(f)f*f+f,f-f.f/f0f1f2f3f4f5f6f7f8f9f:f;f<f=f>f?f@fAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf[f\f]f^f_f`fafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzf{f|f}f~fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggg g g g g ggggggggggggggggggg g!g"g#g$g%g&g'g(g)g*g+g,g-g.g/g0g1g2g3g4g5g6g7g8g9g:g;g<g=g>g?g@gAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg[g\g]g^g_g`gagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg{g|g}g~ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhh h h h h hhhhhhhhhhhhhhhhhhh h!h"h#h$h%h&h'h(h)h*h+h,h-h.h/h0h1h2h3h4h5h6h7h8h9h:h;h<h=h>h?h@hAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh[h\h]h^h_h`hahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiii i i i i iiiiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;i<i=i>i?i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi[i\i]i^i_i`iaibicidieifigihiiijikiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjj j j j j jjjjjjjjjjjjjjjjjjj j!j"j#j$j%j&j'j(j)j*j+j,j-j.j/j0j1j2j3j4j5j6j7j8j9j:j;j<j=j>j?j@jAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj[j\j]j^j_j`jajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkk k k k k kkkkkkkkkkkkkkkkkkk k!k"k#k$k%k&k'k(k)k*k+k,k-k.k/k0k1k2k3k4k5k6k7k8k9k:k;k<k=k>k?k@kAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk[k\k]k^k_k`kakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzk{k|k}k~kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllll l l l l lllllllllllllllllll l!l"l#l$l%l&l'l(l)l*l+l,l-l.l/l0l1l2l3l4l5l6l7l8l9l:l;l<l=l>l?l@lAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl[l\l]l^l_l`lalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmm m m m m mmmmmmmmmmmmmmmmmmm m!m"m#m$m%m&m'm(m)m*m+m,m-m.m/m0m1m2m3m4m5m6m7m8m9m:m;m<m=m>m?m@mAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm[m\m]m^m_m`mambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzm{m|m}m~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn n n n n nnnnnnnnnnnnnnnnnnn n!n"n#n$n%n&n'n(n)n*n+n,n-n.n/n0n1n2n3n4n5n6n7n8n9n:n;n<n=n>n?n@nAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn[n\n]n^n_n`nanbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynzn{n|n}n~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooo o o o o ooooooooooooooooooo o!o"o#o$o%o&o'o(o)o*o+o,o-o.o/o0o1o2o3o4o5o6o7o8o9o:o;o<o=o>o?o@oAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo[o\o]o^o_o`oaobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozo{o|o}o~ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopppppppppp p p p p ppppppppppppppppppp p!p"p#p$p%p&p'p(p)p*p+p,p-p.p/p0p1p2p3p4p5p6p7p8p9p:p;p<p=p>p?p@pApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp[p\p]p^p_p`papbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzp{p|p}p~pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqq q q q q qqqqqqqqqqqqqqqqqqq q!q"q#q$q%q&q'q(q)q*q+q,q-q.q/q0q1q2q3q4q5q6q7q8q9q:q;q<q=q>q?q@qAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq[q\q]q^q_q`qaqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzq{q|q}q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrhjGjHjIrrrrrrrrrrrrrrrrrrrrrrrri ri rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssss s s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>s?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_jjjscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszs{s|s}s~ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstttttttttt t t t t ttttttttttttttttttt t!t"t#t$t%t&t't(t)t*t+t,t-t.t/t0t1t2t3t4t5t6t7t8t9t:t;t<t=t>t?t@tAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt[t\t]t^t_t`tatbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytzt{t|t}t~tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuu u u u u uuuuuuuuuuuuuuuuuuu u!u"u#u$u%u&u'u(u)u*u+u,u-u.u/u0u1u2u3u4u5u6u7u8u9u:u;u<u=u>u?u@uAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu[u\u]u^u_u`uaubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzu{u|u}u~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvv v v v v vvvvvvvvvvvvvvvvvvv v!v"v#v$v%v&v'v(v)v*v+v,v-v.v/v0v1v2v3v4v5v6v7v8v9v:v;v<v=v>v?v@vAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv[v\v]v^v_v`vavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzv{v|v}v~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwww w w w w wwwwwwwwwwwwwwwwwww w!w"w#w$w%w&w'w(w)w*w+w,w-w.w/w0w1w2w3w4w5w6w7w8w9w:w;w<w=w>w?w@wAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw[w\w]w^w_w`wawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzw{w|w}w~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxx x x x x xxxxxxxxxxxxxxxxxxx x!x"x#x$x%x&x'x(x)x*x+x,x-x.x/x0x1x2x3x4x5x6x7x8x9x:x;x<x=x>x?x@xAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx[x\x]x^x_x`xaxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzx{x|x}x~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyy y y y y yyyyyyyyyyyyyyyyyyy y!y"y#y$y%y&y'y(y)y*y+y,y-y.y/y0y1y2y3y4y5y6y7y8y9y:y;y<y=y>y?y@yAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy[y\y]y^y_y`yaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzy{y|y}y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz z z z z zzzzzzzzzzzzzzzzzzz z!z"z#z$z%z&z'z(z)z*z+z,z-z.z/z0z1z2z3z4z5z6z7z8z9z:z;z<z=z>z?z@zAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz[z\z]z^z_z`zazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzz{z|z}z~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{ { { { { {{{{{{{{{{{{{{{{{{{ {!{"{#{${%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||||||||| | | | | ||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|=|>|?|@|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|{|||}|~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}}} } } } } }}}}}}}}}}}}}}}}}}} }!}"}#}$}%}&}'}(})}*}+},}-}.}/}0}1}2}3}4}5}6}7}8}9}:};}<}=}>}?}@}A}B}C}D}E}F}G}H}I}J}K}L}M}N}O}P}Q}R}S}T}U}V}W}X}Y}Z}[}\}]}^}_}`}a}b}c}d}e}f}g}h}i}j}k}l}m}n}o}p}q}r}s}t}u}v}w}x}y}z}{}|}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&~'~(~)~*~+~,~-~.~/~0~1~2~3~4~5~6~7~8~9~:~;~<~=~>~?~@~A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~[~\~]~^~_~`~a~b~c~d~e~f~g~h~i~j~k~l~m~n~o~p~q~r~s~t~u~v~w~x~y~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`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{|}~  !"#$%&'()*+,-./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{|}~  !"#$%&'()*+,-./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{|}~  !"#$%&'()*+,-./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{|}~  !"#$%&'()*+,-./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{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"%.01248;=>?@ABCDEFMX!".0;pqrstuvwxyz{|}~  !"#$%&'()*+,-./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{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyrS{|rV~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%$'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿ  !"#$%&'()*+,-./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{|}~ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~рстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѠѡѢѣѤѥѦѧѨѩѪѫѬѭѮѯѰѱѲѳѴѵѶѷѸѹѺѻѼѽѾѿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ҁҁ҂҃҄҅҆҇҈҉ҊҋҌҍҎҏҐґҒғҔҕҖҗҘҙҚқҜҝҞҟҠҡҢңҤҥҦҧҨҩҪҫҬҭҮүҰұҲҳҴҵҶҷҸҹҺһҼҽҾҿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ӀӁӂӃӄӅӆӇӈӉӊӋӌӍӎӏӐӑӒӓӔӕӖӗӘәӚӛӜӝӞӟӠӡӢӣӤӥӦӧӨөӪӫӬӭӮӯӰӱӲӳӴӵӶӷӸӹӺӻӼӽӾӿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ԀԁԂԃԄԅԆԇԈԉԊԋԌԍԎԏԐԑԒԓԔԕԖԗԘԙԚԛԜԝԞԟԠԡԢԣԤԥԦԧԨԩԪԫԬԭԮԯ԰ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖ՗՘ՙ՚՛՜՝՞՟ՠաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~րցւփքօֆևֈ։֊֋֌֍֎֏֐ְֱֲֳִֵֶַָֹֺֻּֽ֑֖֛֢֣֤֥֦֧֪֚֭֮֒֓֔֕֗֘֙֜֝֞֟֠֡֨֩֫֬֯־ֿA_  !"#$%&'()*+,-./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{|}~߀߁߂߃߄߅߆߇߈߉ߊߋߌߍߎߏߐߑߒߓߔߕߖߗߘߙߚߛߜߝߞߟߠߡߢߣߤߥߦߧߨߩߪ߲߫߬߭߮߯߰߱߳ߴߵ߶߷߸߹ߺ߻߼߽߾߿  !"#$%&'()*+,-./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{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'i)*+,-./01234! 6!89:;<=++@+BCDE1BGHIJKLMNOPQR2[TUVWXYZ3u\]^_`1Bbcdef1Bhijklmn=pqrstu1Bwxyz{|}~GGGLVLXLeMaTFWaWqX-XXXXX  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLPRUVWXYZ[\]^_`aNcde9ghijklmnopFrstuvwxy|}IJK֛]  !"#$%&'()*+,-./0123456789:;<['>?WABZDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~V  "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    !"#$%&'()*+,-./0123456789:;<=>?@A@CDEFGHIJKLMNOPQRSTUVWXYZ[\]<_`abcdefghijkhmhopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|?WABZ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijlmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn/usr/src4.12.14-lp150.12.824.12.14-lp150.12.82.1   !!!!"##$$$$%&&&&&''''(())))))))**+,,,------------------....////////.....01111122222222222222345666666666666777777788889:::::::::::::::::;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<==>>?????>@@@@AAAAA@@@B@@@@@@@@@@@CCCCCCCCCCCCCCC@@D@@@@@@@@EE@@@@FF@GG@@@@@HH@@@@@II@@JJJJJJJJJJJJJJJJJJJJJ@@KKKKKKKKKKKK@@LLLL@MMMMM@@N@@OOOOOOOOOOOO@@@@@@@@P@@QQQQQ@@@@@@@@@@@@@@@@@RRRRRRRRR@@@S@TT@@@@@@UU@@@>VVVVVVVVVVVVVVVVVVVV>WW>X>YYYYYYYYYYYYY>ZZZZZ>>[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\[[[[[[[[[[[]]]]]]]]]]]]][[[[[[[[>>^^^^^^^^>__>``````````````````````>abbbaa>ccccccdcceccffffffffffffffffffccggggchciiiiiiiiiicccjjcckkkkccllllccmmmmmmcccnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnccooooooccccccccpcqqcrrrrrrrrcssscccc>tttttttttttttttttttttttttttttttttttttttttuut>v>ww>xxxxxxx>yyzyy>{{{{{{{{{{>|>}}}}}>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=======      !"#$%&'&(&)&*&+&,-.-/-0-1-2-3-4-5666666666666677777766888888669666666666666666666666666666666:::::::::::::::6666666666;;;666666666666666666666666<===========>??????????@@@@@@@@ABAAAAAAAAAAAAAAAACCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEFFFFFFFFFFFFFFFFFFFFFFEEEEEEEEGEEEEEEEEHHHHHHHHHIIIIIIIJKKKKKKLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLNNNLLLLLOOOOOOPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQRRSSSSSSSSTTTTTTTTTTTTTTTUVVWWWWWWWWWXXXYYYZZZZZZZZ[[[[[[[[[[[[[[ZZZZ\\\\\\\\\\\\\\\\\\\\\\\\\\ZZZZZZZ]^^^^^^^^^^^^^^]______________________________________________________________________________________________________________________________________________________]]]``````````````]aaaaaaaaaaaaaaaaaaaaaaaaaaa]bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbZccccccccccccccccccccccccccccccccccccccccccccZZdeeffgghhhhhhhhhhhiihhjjjjjkkllmllnnoooooppppppppppppppppppppppqqqppppppppppppppppppprrppppppppppppppppppppppppppppppppppppppssspppppppppppppppppppppppppppppppppppppppppppppppppppppppttuvvwxxxyyyyzzz{|}}}}}}}}}}}}~}}}}}}}}}}}}                                     !!!"""""#$$$$$""""%%%%&&&'''''''''''''''''''''''''''''''''''''''''''''''((())))))))))))))**************************+++++,,,,,,,,-......,,,,,,///0000001111111111111111111111111111111111111111111123333333333333333331111111111111111111111114444444444444444444444444444444444444444444444444444444444444444444444444456664444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444777777777777777777777777777777777788888999::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<====================================;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>>>??????@@@@@@@@@AAAAAAABCCCCCCCCAAADDDDDDDDDDDDDDDDDEFFFFFFFFFFFFFFFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGGGGGGGGGGGGHIIIIIIIIIGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGJJJJJJJKKKKKKKKKKKKKKKLMMMMMMMMMMMMMMMMMMMKKKKKKKKKKKKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOPPPPPPQRRRRPPPPPPPPPPPPPSSSSSSTTTTUUUUVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXYYZZZZZZZZ[[[\\\\\\\\\\\\\]]]]^^^^^^^^^^^_``````````^^^^^^^^^^^^^^^^^aaaaaaabbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdddeeeeeeeeeeeeeeeeeeeeeeeeffggggggggghhhhhhhijjjjjhkkkklmmmmmmmkkkknnnopnnqqqqqqqqrsssssssssssssssssssssssssssqqqqqqqqqttttuvvttwwwwwwwwxxxxxxxxxxxxxxxwyyyyzzzzzzz{{{{{{||||||||}}}}}}}~~~~~~~~~~~~~~                                                                              !!!!! """"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$&'''''''(((((((((((((((((((())))))))))))))))****+++,+-..................................................-/0000000000000+1111111111111111111111111111+22222+3333333333334444555555466664788887999::::::9999999997;;;4<=================================================================================>>>========================?????????????????????????@??????????======================AAA==<BCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC44DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD4EEEEEEEEEEEEEEEEEEEEEEE4FFFFFFFFFF44GGGG4HHH4IIIIIIIII4JJKKKLLLJMMMMMMMMMMMMMMMMMNNNNNNNNNNMJOOOPPPPPOO4QQRRRSSSSTTUUUUUUUUTSVVVVVVVVVVVVSWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXZZZXXX[X\XXXXX]]]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXW^_______________________________S```````````````````SaaaaaaaaaaaSbbbbbbbbbbbSccSddeeedffffffdggggggdhhhhdiiiidjjjjdkkkkdlllmnnnnnnnnnnnmmmmmmmmoooooooompppmqqqqqqqqqmrrrmssssssssssssssssssssssssssssssssssssssmttttttttttttttttttttmuuuuumvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvmwwwwwwwmxxxxxxxxxxxxxxxxxxxxyyyyyyyymz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z|}}}}}}}}}}}}}}}}}}}}}}}}mm~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~mmmmmmmmmm                                         !!!            """""""""""""""""""""""####$$$$$$$#%%#&&''''(((())))))))(((((((((((((((('***'++++++++',,,,,,,,,--------------------------------------------......................................//////////////000011112222222213333333333144444445555555666666677777777777777777777777777777777777777777777777777777777777777777777777777788889998:::::::::;;;;;;<<<<<<<<<<<<<<<<<===>>>>>>=??@@@@AAAAAAAAAAAAAAAAAAAAABBBBBBBBBCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDEEEEEEEEEFFFFGGGGGFHHHHHFIIIIIFJJJJJJKKKKKKKKKKKLLLLMMMMMMMMMMMMMMMLNNNNLOOOOLPPPPLQQQQRRRRRRRRSSSTTSUUUUUUUUUUUSVVWWWWWWXXXXYYZZZZZYY[X\\X]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]_````````````````````````````````XaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXbbbbbbbbbbbbbbbbbXcccccccccccccccccccccccccccccXddXeefggggggeXhhijjjjjjjjhXkkklmmmmmkkkXnnoppppnnnnnnXqqrsssssssqqqqttttuuvvvvvvuwwuutxxtyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzy{||||||||t}}}}}}}}}}}}}}}}}}}}}t~~~~~tt                       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! "###### $%%% &'''''''' ())))))))))) *+++++++++++++++++++ ,-- .////// 01111111111111111 23333 455 6777 899 :; <== >????????? @AA BCC DEEEEEEEEEEEEEEEEEEEEEEEFFFGGGGGGGHHHHGGGIIIIIIIGJJJJJJJJJJJJJJJJJJJJGKKKKKKKKKKKKKKKKKKKKGLLLLLLLLLLLGMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMGNNNNNNNNGOOOOFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUVVVWWWWWXXXWYYWZZZZZZZZZZZZZZZZZZZW[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^W______________________________________________________________________________________________________________________________________________________W```````````````````````````````````````````````````````````````````````````WaaaaaWbbbbbbbbbbbbbbbbbbbbbbbWcccccccWddWeeeWfffffffffffffffffggggghhgiiiiiiiiiiiiiigjkkkkkkkkkkkkkkkkkkkjllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljmmmmmmmmmmmmmjnnnnnnnnnnnnnnjoppppppppppppppppoqqqqqqqqqqqqqqqqgrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssrgtguuuuuuuuuuuuuuuuuuuuuuuuuuuuugvvvvvvvvvvvvvwwwwwwwwwwxxwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z|||||||||||||||||||||}}}|||w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ww                                                                                                                                                                                              !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""""################################$$$$$$$$%%%%%%$$$$$$$##&&&&&&&&&&&&&&&&###'''##(((((((((((((((((((((((())))))********)))))))))+++++++++++++++++++++++++)))),,,,)))----------------------------)))))).........))))))))))))////))))00000011111111111111111111111111111111111111111122222222222222222222233344455555555555555555555555555544444444444444666666666666666666666666666666666666664777777777777774444444488888888888444444499999994444444444444444:::;;;;;;::::::::::::::::::::::::::::::::4444<<<<<<<4======>>>?????????????????>@@>AA>BBBBBBBBBBBBBBBBBB>CCCCCCCCCC>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DDD>EEEEEEEEEEEEEEEEEE>FFFFFFFFFFFFFFFFFFFFFFFFFF>GGGGG>HHH>IIIII>JJJJJJJJJJJJJJJJJJJJJJJ>KKKKKKKKKKKK>LLLL>MMMMMMMMMMMMMMMMM>NNNNNNNNNNNNNNNNNNNNNN>OOOOOOOOOO>PPPPP>QQQQQ>RRRRRR>SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS>TTTTTTTTTTTTTTTTTTTTTTT>UUUUUUUUUUUUUUUUUUU>VVVVVVVVVVVVVVVVVVVVVVVVVVV>WWWWWWW>XXXXXXXXX>YYYYYYYYYYY>ZZZZZZ>>[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^>____________>`````````>aaaaaaaaaaa>bbb>ccccc>dddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhiiihjjjkkkkkkkkkjjjjjjjjlllllllllljjjmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjnnoooooooooooooonpppppppppppppppjqqqqqqqqqqqqqqqqqqjrrrrrrrjjjjjjjssssssjttttttjjjjjjjjuuuuuuuuuuuuuuuuuujjjjjjjjvvvwwwwvxxxxvyyyyvzzzzv{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{v||||v}}}}j~~~~~~~~~~~~jjjjjjjjjj                                                                                                                                                                                                                                                                         !!!!!!!!!!!!!!!!!!!!"""""""""""""""""""###############################################################$$$$$$%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''(((()))))))********++++++++++++++++,,,,,,,,,------.................///000000000000000000/////////////11111111111111111111111222222222222222333333334444555555555566667777777777777777688888888888888888888888888888888886666666666666666669999999999999:::::::::::::::::::::;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<==========<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>?????????????????????????@@@@@AAAAABBBBBBBBBBBBBCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHIIIJJJJIIKKKKKKKKKKKKKKLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMNNNNOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPQQQRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQSSSSSSSSSSSSSSTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTTTTVVVVVVVVVVVVVVVVWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYXZZZ[[[[ZZZZ\\\\\\\\\\XX]]]]]]]]]XXXX^^^______^``````^^^aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbddddddddeffffffffffffffffffffffffegggggggggggggggehhhhhhhhhiiijjjjjjikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiiiiiiiilllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnooopppppppppppppppppppppppppppppppppppppppppppppoqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqorrrosssssssotttttouuuvvvvvuwwwwwuxxxxuyyyyyyyuzzzzzzzzo{{{o|||||||||||||||||||||||||||||||||||o}}}}}}}}o~~~~oooooooooooooooooooooooo                                                                                         !!""""""""""""""#########$$$$$$$$$$$$$%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''((((((((((()))))))))))))))))))))))))))))))))******)++++++))),,,,,,,,,,,-----------...............-----------------//////////////////////////////////////////////////////////////////////////////////////////////////////////////////------------------0001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112223332444444444444425555555555552666627777777288888888888888888882299999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::2;;;;;;;;;;;;;;2<<<<<<<<<<<2==========>>>>>>>>========?????????????????================================@@@@@@@@@@@@@===========2AAA2BBBBBBB2CCC2DDD2EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE2FFFFFFFFFFFFFFFFF2GGG2HHH2III2JJJJJJJJJ2KKKKK2LLLLLLLLLLLLL2MMM2NNNNN2OOOOOO2PPPPPPPP2QQQQQQQQQQQQ2RRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTUUUUTVVVVVVVVVTTWWWXXXXXXWYYYYYYYYZZ[[[\\\\\\\\\\\\\\[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^________^^^^^^^````^aaaaa^^bbbbbbbbbbbbbbbbbbbbbbb^^^cccccc^dddddddddd^^^eeeeeeeeeee^^^^ffffffffffffffff^^^^^^^gggggg^^^^^^^^hhhhhhhhhhhhhhhhhhhhhhhh^iiijjjjjjjjikkkkkkilimmmmmminnioooooooooooippppppppppppppppppppppppiqqqqq^^^^^^rrrrrrrrrrrrrrr^sssssssssssss^^^^^ttttt^^^^^^^uuuuuuuuuuuuuuuuuuuuuuvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyzzzzzzzzzzzzzzyy{{{{{{{{{{{{{{{{{{{{{yyyy|||||y}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}yyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yyyyyyyyyyyy                                                                                                                                                                                                                                                                                           ! ! ! ! " " " " " " " " " " " " " " " " " " " " " " # # # # $ $ $ $ $ $ $ $ $ $ % % % % & & & & & ' ' ' ' ' ' ( ( ( ( ( ( ( ( ( ) ) ) * * * + + + + + , , , , , , , - - - - - - - - - - - - - - - - - - - , , , , , , , , , , , , . . . . . . . . . . / / / / / / / / / / / / / / 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 9 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ; ; ; ; ; ; < < < < < < < < < < < < < < < < < < < < < < < < < < = = = = = = = = = = < < < < < < < < < < < < < < < < < > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ @ @ A A A A @ B B B C C C C C B B D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D B E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E B F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F B G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G B H H H H H H H H H H H H H H H H H H H H H H B B B B B B B B B B B B B B B B I I I I I I I I I I I I I I I B J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J @ K K K K K K K K @ L L L M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M L N N N N N N N N N N N N N N N N N N N N N N N N N L O O O P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P O Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q R R R R R R R R R R R R R R Q Q Q Q Q Q Q Q Q Q Q Q Q O S S S O T T T T T T T @ U U U U U @ V V V W W W W W W W W W W W W W V X X X X X X X X X X X X X X X X X X X X V Y Y Y Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ Y \ \ \ \ \ \ \ \ @ ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ] ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ] a a a a a a a a a a a a a a a a @ @ @ b b b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b d d d d d d d d b e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e b @ f f f g g g g g g g g g g g g g g g g g g g g g g g g g @ h h h i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i @ @ @ @ j j j k k k l l l l l l l l l l l l l k m m m m m m m m m k j n n n n n n n n n j o o o o o p p p p p p p p p p p p p p p p o o o o o o o o o o o o o o o o o o q q q q q q q q q q q q q q q q q q q q q q q o r r r r r r r r o s s s s s s s s s s s s s s s s s s s o t t t t t t t t t t t t t t t t t t t t t o u u u u u u u u u u u u u u u u u u u u u o v v v v v v v v v v v v v v v v v v v v v v v o w w w w w w w w w w w w w w w w w w w w w o x x x x x x x x x x x x x x x x x x x x x x x x x x x x o y y y y y y y y y y y y y y y y y y y y y y y o z z z z z z z z o { { { { { { { { { { { { { { { { { { { { { { { o o o o o @ @ | | | | | | | | | | | | | | | | | | | @ } } } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @        @ @ @                                                                                                                                                                                                                                                                                                                                                                                                             ! ! ! " " " # # # # " $ $ $ % % % $ " & & " ' ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ' ) ) ) ) ) ) ) ) ) ) ) ) ) " * * * * " + + + + + " , , , , , , , , , , , " - - - - - - - - - - - - - - " . . . . " / / / / / / / / / " 0 0 0 " 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 " 3 3 3 3 3 3 3 3 " 4 4 4 " 5 5 5 5 " 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 : : : ; ; ; ; ; ; < < < < < < < < < < < ; = = : > > > > > > > : ? @ A B C ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? : D D D D D : E E E E E E E E E E E E E E E E E E E F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F E G G E E : H H H H H H H H H H H H H H H H H : I I I I I : J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J : K K K L L L L L L L L L L L L : M M M M M N N N N N N N O O O O O O O O O N N N N N N N N N N N N N N N M P P P P P P P P P P P : Q Q Q Q Q Q Q : R R R R R R R R R R R R R R R R R : S S S S S S : T U V V V U T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T W W W W W T T T : X X X X X X X X : Y Z [ Z Z Z \ Z Z Z Z Z Z Z Z Y Y Y Y ] ] ] ] ] ] Y ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ Y _ _ _ _ _ _ Y ` ` ` ` ` ` Y a a a a a a a Y b b b Y c c c Y d d d d d Y e e e e e e e e e e e e e e Y f f f f f f Y g g g g : h h h h h h h h h h h h h : i i i i i j k l l l l l l l l l l l l l l m m m k n n n n n n n n n n i o o o p p q q q q q p r r r r r r r o s s s s s s s s s t t t t t t t t t t s s s s s o u u u u u u u u u u u u u u u u u u o v v v v v v v v v v v v v v v i w w w x x x x x w y y y y y w z z z z z z z { { { { { z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z w | | | | | | | | | | | | | w } } } } } } } } } } } } } } } } } } } } } } } } } } } } } w ~ ~ ~ ~ ~ ~ w                      w w w w w w i :                                                                              ! ! ! " # # # # $ % & % ' $ ( ) ) ( * $ + , , , + - $ . / . 0 $ 1 2 1 3 $ 4 5 5 4 6 $ 7 8 7 9 $ : ; : < $ = > > = ? $ @ A A @ B B B B B B B B B B B B $ C D D C E $ F G G F H H H $ I J J I K K $ L M M L N $ O P $ Q R S S S S S T T T U V V V V V V U W W W X X Y Y Z Z Z Z Y [ [ [ \ \ \ \ \ ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` : a b c b a a a a d d d a e e e e a f f f a g g g a h h h h h h h h h h a i i i a j j j a k k k k : l l l l l : m m m m m m m : n n n n n n n n n n n : : o o o o o p p p p p p p p p p p p p p p p p : q q q q q q q : r r r r s s s s s s s s s s s s s s s s s s r t t t t t t t t t t t t t t t t t t t t t t t r u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u r v v v v v v v v v v : w w w w w w w x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x w w w w w w w w w w w w w w w w w w : y y y y y y z z z z z z z z z z z z z z z z z z z z z z y y y y y y y y y y y y y y y y y y y y : { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { : | | | | } } } } } } } } } } } } } } } } } } } | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ |                                                                           | : : : : : : : : : : : : :                                                                                                                                                                                                                                                                                                                                                  ! ! ! ! ! ! ! ! ! ! ! !  " " " "  #  $ $     %  &  ' ' ' ' '  (  ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )  * * * * *  +  ,    - - -  .  /     0 0  1 1 1 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 2 5 5 5 5 5 5 5 5 5 5 5 5 5 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 2 2 2 7 7 7 7 7 7 7 7 7 7 2 2 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 2 9 9 9 9 9 9 2 2 2 2 2 2 2 2 2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ; ; ; ; ; ; ; ; : : : : : : : : : : : : : 2 2 < < < < < < < < < < < < < 2 = = = = = = = = = = = = = = = = = = = = = = = = 2 2 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 2 2 2 @ @ @ @ @ @ @ @ @ 2 2 A A A A A A 2 B B B B B B B B 2 2 2 2 C C C C 2 D D 2 2 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E 2 2 F F F F F F F F F F F F F F F F 2 G G G G G G 2 H H H H H H H H H 2 2 2 2 I I I I I I I I I I I I I I I 2 J J 2 K K K K K K K K K K K K K K K K K K K 2 L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L 2 M M M M M M M M M M M M M M M M M M M M M M M M M M M M 2 N N N N N N N N N N N N 2 2 2 2 2 2 O O O O O O O O O O O O O O O O 2 2 2 2 P P P P P P P P P P P P P P P 2 Q Q Q Q Q Q Q Q Q Q Q 2 R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R 2 S S S S S S S S S S S S S S S S S S S S S 2 T T T T T T T T T T T T T T T T T T T T T T T T T T T T 2 U U U U 2 V V V V V V V V V V V V V V V V V 2 W W 2 2 2 2 2 X X X X X X X X X X X X X 2 Y Y Y Y Y Y Y Y 2 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z 2 [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 2 \ \ \ \ \ \ \ \ 2 2 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 2 2 2 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 2 2 2 2 2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2 ` ` ` a a a a a a ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` b b b b ` c c c c ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` 2 d d d 2 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e 2 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 2 g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g 2 2 h h h i i i h j j j j j h h h h h h k k k k k h h 2 2 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 2 m m m m m m m m m m m m m n n n n n n n n n n n n n n n n n m m m m m o o o o o o o o o o o o o o o m p p p p m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m 2 q q q q q q q q 2 2 r r 2 s s s s s s s s s s s s s s s s s s s s s s s s s s s s 2 t t t t t t t t t t t 2 2 2 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 2 v v v v v v v v v 2 w w w w w w w w 2 x x x x x x x x 2 y y y y y y y y y y y y y 2 z z z z z 2 2 2 { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 2 | | | | | | 2 2 2 2 2 } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } 2 2 2 2 2 2 ~ ~ ~ ~ ~ ~ ~ ~ 2            2 2 2 2 2 2 2 2 2                                                                                                                                                                                                                                                                                                                                                                                                                               ! ! ! ! ! !                                          " " " " " " " " " " " " " " " " " "     # # # # # #    $ $ $ $                   % % % % % % % % % %             & & & & & & & & & & & & & & &                ' ' ' ' ' ' ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) * + , , , , , , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - . . . - / / / / - 0 - 1 - 2 2 3 3 3 3 3 3 3 2 - 4 4 4 - 5 - 6 6 - 7 - 8 - 9 9 9 9 9 9 9 9 9 9 9 9 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ; < < < ; ; ; = = > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > = = = ? @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ? A A A A A A A A A A A A A A A A A A A A A A A A A ? B B B B B B B B B B C B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B D D B E E B B F F F F F F B B B B B B B B B B G B B B B B B B B B B B B B B B B B B B B B B B B B B B H H H H H H H H B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B I B B B B B B B B J B B B B B B B K K B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B L L B B B B B B B B B B B B B B B B B B B B B B B M B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B N B B B B B B B B B B B B B B B B B B B B B B B B B B B O P P P P O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B Q Q B B R R R R R R R R R R R R R R R R R B B B S S S S S S S S S B B T T T T T T T T T T T T B B B B B B B B B B B B B B U U U U U B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B V V B B B B B B B B B B B B B B B B B B B W B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B X B B B B B Y B B B B B B B B B B Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z B [ [ [ [ B B B B B B B B B B B B B B B B B B B B B B B B B B B B B \ \ \ \ \ \ \ \ \ \ \ B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B ] B B B B B B B ? ^ ? _ _ _ _ _ ? ` ` ` ` a a ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ? b b c c c c b b b ? d d d d d d d d d d d d d d d ? e e e ? f f f f g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g h h i i i i i h h h h h h h j j j j j j k k k k k j l l l l l l l l l l l l l l l j j j j j j j j j j h h h h h h h h m m m m m m m m m m m m m n n n n n n n n n n n n n n o o o o o o o o o o o o o o o o o p p p p p p p p p p p p p p p p p o o q q q q q q q q q o o o r r r r r o o o o o o o s s s s s t t t t t t t t t t o o o o u u u u u u u o o o o o o o o v v v v v v v o o o w w w w w w w w w w w w w w w w w w w w w w w o o o o o o o o o o o o o o o x x x x x x x x o y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y o o o o o o o o o o o o o z z z z z z z z z z z z z z z z o { { { { { { { o o o o | | | | | | | | | | | | | | | | | | o o o o } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } o o o o o o o o o o o o o o o o ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ o o                                                 o o o o o o o o o o o o o o                                                          !!!!!"""""""!!################!!$$$$$$$%%%%%%$$$$$$$$$$$$$$$&&&''''''(((((((((((((''''''''))))))))))))))))))))))'*******++++++++++++++++,++++---..../////000000000/111111/222/333344444433.555555555.66666.77777777777777777778888888888877777777777777999::::::::::::::::::9999999999999999999999999999777777.;;;;;;<<<;;;========;>>>>>>>>;;;???????;;;;@@@@@@@@.AAAAAAAABBBBBBBBBBBBBAAACCCCCCCCCCADDDDDDDDDDAAAEEEEEEEEEEEAFFFFFFFFFFAAAAAAGGGGGGGGGGGGGAHHHHHHHHHHHAAAIIIIIIIIII.JJJJKKKKJJJJJJJJJJJJ.LLLLMMMMMML.NNNOOONPPNNNNNNQQQQNRRRNNSSSSNTTTTTTTTTTTTTTTTTTTTNUUUUUUUUUNNVVVVVNWWWWWWWWWWWWWWWWWNNNXXXXXNYY..ZZZZZZ.[[[[[[[[[[[[[[[\\\\\\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[.]]]].^^^________^^^^``^^^aaaaaaaaaaaaaaaaaaaaaaaaa^^^bbbbbbbbbbbbbbbbbbbbbbbb^cccccc^^^^ddddddd^^^eeeeeeeeeee^^ffffff^gggggggggggggggggggggggggggggg^hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh^iiiiiiiiiiiiiiiiiiiiii^^^^^^jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj^kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk^^^ll^mmmmmmm^nnnnnn^^ooooooooo^ppp^qqqqqqqqqqqqqqqqqqqqqqqqqqqqq^rrrrrrrrrrr^ss^^^tttt^^^^uuuuu^^^vvvv^wwww.xxxyyyyyyxzzzzz.{{{{{{{{{{{{{{{{{.|||||.}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}......           !     """"""""""""""""""""""""""""""""""""""""""""""""""""  #$$$$%%%$$$$&$'$$#(()))))*******+++++++++,,,,,,--....//////////.0000-111111111111111111111111-222-344435555555567778998::;;;<<<<=>>>>>>>>???>@@@@@==AAAAAA===BBBBCDDDBBBBBBBBEEEEEEEEEEEEBFGGGFHHHHHHHHHHHHHHHHHHHHHHHHHHHHFIJ====KKKKKKKKKKKKKKKKK=LL=MMMMMMMMMMMMMMMMMMMMM=NNNNNNOPPQPPPRSSSTTTTTTTPPPPPPPPUUVVWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWWYYZY[[[\[]][^^^[________Y```a`bb`ccc`dddYYYeYfYggghgiiigjjjjgkkkkkkkkkkYlllmlnloooooYpppqprrYssstsuuYvvvwvxyyvzzzv{{{{{{{{{{{{{v|||||||||||||Y}}}~}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW                          !!!!!!!!!!!!!!!"####$$%%$$&&&&'''(((((((((((((((((())))****++++++,,,--.//////////////////.011111111111111111102222222222222222222222222222222222222033333.4444.566788888888879:6;<<66===============6>???????>@@@@AABBCCCDDDEEEEEEEEEEEEEFFFFGGGGGGGGGGGGGGGGGGGGGHHHIIIIJJJJJJJJJJJJJJJKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMNOOOOOOOOPQQRSTSUURVWVXXQQQQYYYYYYYYYZZY[[[[[[[[[[[[[[[[Y\\\\\\\\\\\\\\Y]^^_^``````````````````````^aaaaaaaaaaa^bcccc^dd^eeeeee^^fffffgggghhiijjjjkkkjjjjjjjlllllllllllllliiiiiiiiihmmmlinux-4.12.14-lp150.12.82-vanilla.cocciconfig.get_maintainer.ignore.gitattributes.mailmapCOPYINGCREDITSDocumentation00-INDEXABIREADMEobsoleteproc-sys-vm-nr_pdflush_threadssysfs-bus-usbsysfs-driver-hid-roccat-arvosysfs-driver-hid-roccat-iskusysfs-driver-hid-roccat-koneplussysfs-driver-hid-roccat-konepuresysfs-driver-hid-roccat-kovaplussysfs-driver-hid-roccat-luasysfs-driver-hid-roccat-pyrasysfs-driver-hid-roccat-ryossysfs-driver-hid-roccat-savusysfs-firmware-acpisysfs-gpioremoveddevfsdv1394ip_queuenet_dmao2cbraw1394sysfs-class-rfkillvideo1394stablefirewire-cdevo2cbsyscallssysfs-acpi-pmprofilesysfs-bus-firewiresysfs-bus-usbsysfs-bus-vmbussysfs-bus-w1sysfs-bus-xen-backendsysfs-class-backlightsysfs-class-rfkillsysfs-class-tpmsysfs-class-ubisysfs-class-udcsysfs-devicessysfs-devices-nodesysfs-devices-system-cpusysfs-devices-system-xen_memorysysfs-driver-ib_srpsysfs-driver-qla2xxxsysfs-driver-usb-usbtmcsysfs-driver-w1_ds28e04sysfs-driver-w1_ds28ea00sysfs-firmware-efi-varssysfs-firmware-opal-dumpsysfs-firmware-opal-elogsysfs-fs-orangefssysfs-modulesysfs-transport-srpthermal-notificationvdsotestingconfigfs-acpiconfigfs-iioconfigfs-rdma_cmconfigfs-spear-pcie-gadgetconfigfs-stp-policyconfigfs-usb-gadgetconfigfs-usb-gadget-acmconfigfs-usb-gadget-ecmconfigfs-usb-gadget-eemconfigfs-usb-gadget-ffsconfigfs-usb-gadget-hidconfigfs-usb-gadget-loopbackconfigfs-usb-gadget-mass-storageconfigfs-usb-gadget-midiconfigfs-usb-gadget-ncmconfigfs-usb-gadget-obexconfigfs-usb-gadget-phonetconfigfs-usb-gadget-printerconfigfs-usb-gadget-rndisconfigfs-usb-gadget-serialconfigfs-usb-gadget-sourcesinkconfigfs-usb-gadget-subsetconfigfs-usb-gadget-tcmconfigfs-usb-gadget-uac1configfs-usb-gadget-uac2configfs-usb-gadget-uvcdebugfs-driver-genwqedebugfs-ecdebugfs-ideapaddebugfs-olpcdebugfs-pfo-nx-cryptodebugfs-pktcdvddev-kmsgevmgpio-cdevima_policyprocfs-diskstatspstoresysfs-atasysfs-blocksysfs-block-bcachesysfs-block-dmsysfs-block-rssdsysfs-block-zramsysfs-bus-acpisysfs-bus-ambasysfs-bus-bcmasysfs-bus-coresight-devices-etb10sysfs-bus-coresight-devices-etm3xsysfs-bus-coresight-devices-etm4xsysfs-bus-coresight-devices-funnelsysfs-bus-coresight-devices-stmsysfs-bus-coresight-devices-tmcsysfs-bus-csssysfs-bus-event_source-devices-eventssysfs-bus-event_source-devices-formatsysfs-bus-event_source-devices-hv_24x7sysfs-bus-event_source-devices-hv_gpcisysfs-bus-fcoesysfs-bus-fsl-mcsysfs-bus-hsisysfs-bus-i2c-devices-bq32ksysfs-bus-i2c-devices-fsa9480sysfs-bus-i2c-devices-hm6352sysfs-bus-i2c-devices-lm3533sysfs-bus-iiosysfs-bus-iio-accel-bmc150sysfs-bus-iio-adc-envelope-detectorsysfs-bus-iio-adc-hi8435sysfs-bus-iio-adc-max9611sysfs-bus-iio-adc-stm32sysfs-bus-iio-chemical-vz89xsysfs-bus-iio-counter-104-quad-8sysfs-bus-iio-cros-ecsysfs-bus-iio-dac-dpot-dacsysfs-bus-iio-distance-srf08sysfs-bus-iio-frequency-ad9523sysfs-bus-iio-frequency-adf4350sysfs-bus-iio-gyro-bmg160sysfs-bus-iio-health-afe440xsysfs-bus-iio-humidity-hdc100xsysfs-bus-iio-ina2xx-adcsysfs-bus-iio-light-isl29018sysfs-bus-iio-light-lm3533-alssysfs-bus-iio-light-tsl2583sysfs-bus-iio-magnetometer-hmc5843sysfs-bus-iio-meas-specsysfs-bus-iio-mpu6050sysfs-bus-iio-potentiometer-mcp4531sysfs-bus-iio-proximity-as3935sysfs-bus-iio-timer-stm32sysfs-bus-iio-trigger-sysfssysfs-bus-iio-vf610sysfs-bus-intel_th-devices-gthsysfs-bus-intel_th-devices-mscsysfs-bus-intel_th-devices-ptisysfs-bus-intel_th-output-devicessysfs-bus-mcbsysfs-bus-mdiosysfs-bus-mediasysfs-bus-meisysfs-bus-pcisysfs-bus-pci-devices-ccisssysfs-bus-pci-drivers-ehci_hcdsysfs-bus-pci-drivers-janz-cmodiosysfs-bus-platformsysfs-bus-rbdsysfs-bus-rpmsgsysfs-bus-umcsysfs-bus-usbsysfs-bus-usb-devices-usbsevsegsysfs-bus-usb-lvstestsysfs-bus-vfio-mdevsysfs-c2portsysfs-cfq-target-latencysysfs-classsysfs-class-backlight-driver-adp8870sysfs-class-backlight-driver-lm3533sysfs-class-bdisysfs-class-cxlsysfs-class-devfreqsysfs-class-devfreq-eventsysfs-class-extconsysfs-class-fpga-bridgesysfs-class-fpga-managersysfs-class-infinibandsysfs-class-iommusysfs-class-iommu-amd-iommusysfs-class-iommu-intel-iommusysfs-class-lcdsysfs-class-ledsysfs-class-led-driver-lm3533sysfs-class-led-flashsysfs-class-led-trigger-oneshotsysfs-class-led-trigger-usbportsysfs-class-leds-gt683rsysfs-class-meisysfs-class-mic.txtsysfs-class-mtdsysfs-class-netsysfs-class-net-batman-advsysfs-class-net-cdc_ncmsysfs-class-net-grcansysfs-class-net-janz-ican3sysfs-class-net-meshsysfs-class-net-qmisysfs-class-net-queuessysfs-class-net-statisticssysfs-class-pktcdvdsysfs-class-powersysfs-class-power-twl4030sysfs-class-powercapsysfs-class-pwmsysfs-class-rcsysfs-class-rc-nuvotonsysfs-class-regulatorsysfs-class-remoteprocsysfs-class-rtc-rtc0-device-rtc_calibrationsysfs-class-scsi_hostsysfs-class-scsi_tapesysfs-class-stmsysfs-class-stm_sourcesysfs-class-switchtecsysfs-class-typecsysfs-class-uwb_rcsysfs-class-uwb_rc-wusbhcsysfs-class-watchdogsysfs-class-zramsysfs-devsysfs-devicessysfs-devices-edacsysfs-devices-firmware_nodesysfs-devices-lpss_ltrsysfs-devices-memorysysfs-devices-mmcsysfs-devices-onlinesysfs-devices-platform-_UDC_-gadgetsysfs-devices-platform-docg3sysfs-devices-platform-sh_mobile_lcdc_fbsysfs-devices-powersysfs-devices-power_resources_D0sysfs-devices-power_resources_D1sysfs-devices-power_resources_D2sysfs-devices-power_resources_D3hotsysfs-devices-power_resources_wakeupsysfs-devices-power_statesysfs-devices-real_power_statesysfs-devices-resource_in_usesysfs-devices-socsysfs-devices-sunsysfs-devices-system-cpusysfs-devices-system-ibm-rtlsysfs-devices-system-xen_cpusysfs-driver-genwqesysfs-driver-hidsysfs-driver-hid-corsairsysfs-driver-hid-lenovosysfs-driver-hid-logitech-lg4ffsysfs-driver-hid-multitouchsysfs-driver-hid-picolcdsysfs-driver-hid-prodikeyssysfs-driver-hid-roccat-konesysfs-driver-hid-srws1sysfs-driver-hid-wiimotesysfs-driver-input-axp-peksysfs-driver-intel-rapid-startsysfs-driver-pcibacksysfs-driver-ppisysfs-driver-samsung-laptopsysfs-driver-stsysfs-driver-tegra-fusesysfs-driver-toshiba_acpisysfs-driver-toshiba_hapssysfs-driver-wacomsysfs-driver-xen-blkbacksysfs-driver-xen-blkfrontsysfs-firmware-acpisysfs-firmware-dmi-entriessysfs-firmware-dmi-tablessysfs-firmware-efisysfs-firmware-efi-esrtsysfs-firmware-efi-runtime-mapsysfs-firmware-gsmisysfs-firmware-logsysfs-firmware-memmapsysfs-firmware-ofwsysfs-firmware-qemu_fw_cfgsysfs-firmware-sfisysfs-firmware-sgi_uvsysfs-fs-ext4sysfs-fs-f2fssysfs-fs-nilfs2sysfs-fs-xfssysfs-hypervisor-pmusysfs-ibftsysfs-kernel-boot_paramssysfs-kernel-fscapssysfs-kernel-iommu_groupssysfs-kernel-irqsysfs-kernel-livepatchsysfs-kernel-mmsysfs-kernel-mm-hugepagessysfs-kernel-mm-ksmsysfs-kernel-slabsysfs-kernel-uidssysfs-kernel-vmcoreinfosysfs-memory-page-offlinesysfs-modulesysfs-ocfs2sysfs-platform-asus-laptopsysfs-platform-asus-wmisysfs-platform-at91sysfs-platform-brcmstb-gisb-arbsysfs-platform-chipidea-usb-otgsysfs-platform-chipidea-usb2sysfs-platform-dell-laptopsysfs-platform-eeepc-laptopsysfs-platform-hidmasysfs-platform-hidma-mgmtsysfs-platform-i2c-demux-pinctrlsysfs-platform-ideapad-laptopsysfs-platform-kimsysfs-platform-msi-laptopsysfs-platform-phy-rcar-gen3-usb2sysfs-platform-renesas_usb3sysfs-platform-sst-atomsysfs-platform-tahvo-usbsysfs-platform-ts5500sysfs-platform-twl4030-usbsysfs-platform-usbip-vudcsysfs-powersysfs-ppssysfs-profilingsysfs-ptpsysfs-ttysysfs-wusb_cbafChangesCodingStyleDMA-API-HOWTO.txtDMA-API.txtDMA-ISA-LPC.txtDMA-attributes.txtDocBookMakefilefilesystems.tmplkernel-hacking.tmplkernel-locking.tmplkgdb.tmpllibata.tmpllibrs.tmpllsm.tmplmtdnand.tmplnetworking.tmplrapidio.tmpls390-drivers.tmplscsi.tmplsh.tmplstylesheet.xslw1.tmplz8530book.tmplEDID1024x768.S1280x1024.S1600x1200.S1680x1050.S1920x1080.S800x600.SHOWTO.txtMakefileedid.ShexIPMI.txtIRQ-affinity.txtIRQ-domain.txtIRQ.txtIntel-IOMMU.txtMakefileMakefile.sphinxPCI00-INDEXMSI-HOWTO.txtPCIEBUS-HOWTO.txtendpointfunctionbindingpci-test.txtpci-endpoint-cfs.txtpci-endpoint.txtpci-test-function.txtpci-test-howto.txtpci-error-recovery.txtpci-iov-howto.txtpci.txtpcieaer-howto.txtRCU00-INDEXDesignData-StructuresBigTreeClassicRCU.svgBigTreeClassicRCUBH.svgBigTreeClassicRCUBHdyntick.svgBigTreePreemptRCUBHdyntick.svgBigTreePreemptRCUBHdyntickCB.svgData-Structures.htmlHugeTreeClassicRCU.svgTreeLevel.svgTreeMapping.svgTreeMappingLevel.svgblkd_task.svgnxtlist.svgExpedited-Grace-PeriodsExpRCUFlow.svgExpSchedFlow.svgExpedited-Grace-Periods.htmlFunnel0.svgFunnel1.svgFunnel2.svgFunnel3.svgFunnel4.svgFunnel5.svgFunnel6.svgFunnel7.svgFunnel8.svgRequirementsGPpartitionReaders1.svgReadersPartitionGP1.svgRequirements.htmlNMI-RCU.txtRTFP.txtUP.txtarrayRCU.txtchecklist.txtlistRCU.txtlockdep-splat.txtlockdep.txtrcu.txtrcu_dereference.txtrcubarrier.txtrculist_nulls.txtrcuref.txtstallwarn.txttorture.txttrace.txtwhatisRCU.txtSAK.txtSM501.txtSubmittingPatchesaccountingcgroupstats.txtdelay-accounting.txttaskstats-struct.txttaskstats.txtacpiDSD-properties-rules.txtacpi-lid.txtaml-debugger.txtapeieinj.txtoutput_format.txtdebug.txtdsdgraph.txtdsdt-override.txtenumeration.txtgpio-properties.txti2c-muxes.txtinitrd_table_override.txtlinuxized-acpica.txtmethod-customizing.txtmethod-tracing.txtnamespace.txtosi.txtscan_handlers.txtssdt-overlays.txtvideo_extension.txtadmin-guideREADME.rstbinfmt-misc.rstbraille-console.rstbug-bisect.rstbug-hunting.rstconf.pydevices.rstdevices.txtdynamic-debug-howto.rstindex.rstinit.rstinitrd.rstjava.rstkernel-parameters.rstkernel-parameters.txtmd.rstmodule-signing.rstmono.rstparport.rstpmcpufreq.rstindex.rstintel_pstate.rstramoops.rstras.rstreporting-bugs.rstsecurity-bugs.rstserial-console.rstsysfs-rules.rstsysrq.rsttainted-kernels.rstunicode.rstvga-softcursor.rstaoeaoe.txtautoload.shstatus.shtodo.txtudev-install.shudev.txtarm00-INDEXAtmelREADMEBootingCCN.txtIXP4xxInterruptsMarvellREADMENetwinderOMAPDSSREADMEomap_pmPortingREADMESA1100ADSBitsyAssabetBrutusCERFFreeBirdGraphicsClientGraphicsMasterHUW_WEBPANELItsyLARTPLEBPangolinTifonYopyempegnanoEngineserial_UARTSH-MobileSPEAroverview.txtSamsungSamsung-S3C24XXCPUfreq.txtEB2410ITX.txtGPIO.txtH1940.txtNAND.txtOverview.txtS3C2412.txtS3C2413.txtSMDK2440.txtSuspend.txtUSB-Host.txtBootloader-interface.txtGPIO.txtOverview.txtclksrc-change-registers.awkSetupVFPrelease-notes.txtcluster-pm-race-avoidance.txtfirmware.txtkernel_mode_neon.txtkernel_user_helpers.txtkeystoneOverview.txtknav-qmss.txtmem_alignmentmemory.txtnwfpeNOTESREADMEREADME.FPETODOpxamfp.txtstioverview.txtstih407-overview.txtstih415-overview.txtstih416-overview.txtstih418-overview.txtstm32overview.txtstm32f429-overview.txtstm32f746-overview.txtstm32h743-overview.txtsunxiREADMEclocks.txtswp_emulationtcm.txtuefi.txtvlocks.txtarm64acpi_object_usage.txtarm-acpi.txtbooting.txtcpu-feature-registers.txtlegacy_instructions.txtmemory.txtsilicon-errata.txttagged-pointers.txtauxdisplaycfag12864bks0108backlightlp855x-driver.txtbcache.txtblackfin00-INDEXbfin-gpio-notes.txtbfin-spi-notes.txtblock00-INDEXbfq-iosched.txtbiodoc.txtbiovecs.txtcapability.txtcfq-iosched.txtcmdline-partition.txtdata-integrity.txtdeadline-iosched.txtioprio.txtkyber-iosched.txtnull_blk.txtpr.txtqueue-sysfs.txtrequest.txtstat.txtswitching-sched.txtwriteback_cache_control.txtblockdev00-INDEXREADME.DAC960cciss.txtdrbdDRBD-8.3-data-packets.svgDRBD-data-packets.svgREADME.txtconn-states-8.dotdata-structure-v9.txtdisk-states-8.dotdrbd-connection-state-overview.dotnode-states-8.dotfloppy.txtnbd.txtparide.txtramdisk.txtzram.txtbt8xxgpio.txtbtmrvl.txtbus-devicesti-gpmc.txtbus-virt-phys-mapping.txtcachetlb.txtcdrom00-INDEXMakefilecdrom-standard.texide-cdpacket-writing.txtcgroup-v100-INDEXblkio-controller.txtcgroups.txtcpuacct.txtcpusets.txtdevices.txtfreezer-subsystem.txthugetlb.txtmemcg_test.txtmemory.txtnet_cls.txtnet_prio.txtpids.txtrdma.txtcgroup-v2.txtcircular-buffers.txtclk.txtcmadebugfs.txtconf.pyconnectorconnector.txtconsoleconsole.txtcore-apiassoc_array.rstatomic_ops.rstconf.pycpu_hotplug.rstdebug-objects.rstflexible-arrays.rstgenericirq.rstindex.rstkernel-api.rstlocal_ops.rsttracepoint.rstworkqueue.rstcpu-freqamd-powernow.txtcore.txtcpu-drivers.txtcpufreq-nforce2.txtcpufreq-stats.txtindex.txtpcc-cpufreq.txtcpu-load.txtcpuidlecore.txtdriver.txtgovernor.txtsysfs.txtcputopology.txtcrc32.txtcrisREADMEcryptoapi-aead.rstapi-akcipher.rstapi-digest.rstapi-intro.txtapi-kpp.rstapi-rng.rstapi-samples.rstapi-skcipher.rstapi.rstarchitecture.rstasymmetric-keys.txtasync-tx-api.txtdescore-readme.txtdevel-algos.rstindex.rstintro.rstuserspace-if.rstdcdbas.txtdebugging-modules.txtdebugging-via-ohci1394.txtdell_rbu.txtdev-toolscoccinelle.rstconf.pygcov.rstgdb-kernel-debugging.rstindex.rstkasan.rstkcov.rstkmemcheck.rstkmemleak.rstsparse.rstubsan.rstdevice-mappercache-policies.txtcache.txtdelay.txtdm-crypt.txtdm-flakey.txtdm-integrity.txtdm-io.txtdm-log.txtdm-queue-length.txtdm-raid.txtdm-service-time.txtdm-uevent.txtera.txtkcopyd.txtlinear.txtlog-writes.txtpersistent-data.txtsnapshot.txtstatistics.txtstriped.txtswitch.txtthin-provisioning.txtverity.txtzero.txtdevicetree00-INDEXbindingsABI.txtarcarchs-pct.txtaxs101.txtaxs103.txteznps.txtpct.txtarmadapteva.txtal,alpine.txtalteraaltera.txtsocfpga-clk-manager.txtsocfpga-eccmgr.txtsocfpga-sdram-controller.txtsocfpga-sdram-edac.txtsocfpga-system.txtamlogic,scpi.txtamlogic.txtapmscu.txtarch_timer.txtarm,scpi.txtarm-boardsarmadeus.txtarmv7m_systick.txtatmel-at91.txtatmel-pmc.txtaxentia.txtaxis.txtaxxia.txtbcmbrcm,bcm11351-cpu-method.txtbrcm,bcm11351.txtbrcm,bcm21664.txtbrcm,bcm23550-cpu-method.txtbrcm,bcm23550.txtbrcm,bcm2835.txtbrcm,bcm4708.txtbrcm,bcm63138.txtbrcm,brcmstb.txtbrcm,cygnus.txtbrcm,ns2.txtbrcm,nsp-cpu-method.txtbrcm,nsp.txtbrcm,vulcan-soc.txtraspberrypi,bcm2835-firmware.txtcalxedacalxeda.txtl2ecc.txtcavium-thunder.txtcavium-thunder2.txtcci.txtccn.txtcompulab-boards.txtcoresight.txtcpu-capacity.txtcpu-enable-methodal,alpine-smpmarvell,berlin-smpcpus.txtdavinci.txtdigicolor.txtfirmwarelinaro,optee-tz.txttlm,trusted-foundations.txtfreescalefsl,vf610-mscm-cpucfg.txtfsl,vf610-mscm-ir.txtfsl.txtfw-cfg.txtgemini.txtglobal_timer.txthisiliconhi3519-sysctrl.txthisilicon.txti2se.txtidle-states.txtinsignal-boards.txtjuno,scpi.txtkeystonekeystone.txtti,sci.txtl2c2x0.txtmarvell98dx3236-resume-ctrl.txt98dx3236.txtap806-system-controller.txtarmada-370-xp-pmsu.txtarmada-370-xp.txtarmada-375.txtarmada-37xx.txtarmada-380-mpcore-soc-ctrl.txtarmada-38x.txtarmada-39x.txtarmada-7k-8k.txtarmada-cpu-reset.txtcoherency-fabric.txtcp110-system-controller0.txtkirkwood.txtmarvell,berlin.txtmarvell,dove.txtmarvell,kirkwood.txtmarvell,orion5x.txtmvebu-cpu-config.txtmvebu-system-controller.txtmediatekmediatek.txtmediatek,apmixedsys.txtmediatek,bdpsys.txtmediatek,ethsys.txtmediatek,hifsys.txtmediatek,imgsys.txtmediatek,infracfg.txtmediatek,mmsys.txtmediatek,pericfg.txtmediatek,topckgen.txtmediatek,vdecsys.txtmediatek,vencltsys.txtmediatek,vencsys.txtmoxart.txtmrvlferoceon.txtmrvl.txttauros2.txttimer.txtmsmqcom,idle-state.txtqcom,kpss-acc.txtqcom,saw2.txtssbi.txttimer.txtnspire.txtnxplpc32xx.txtolimex.txtomapcounter.txtcrossbar.txtctrl.txtdmm.txtdsp.txtiva.txtl3-noc.txtl4.txtmpu.txtomap.txtprcm.txttimer.txtoxnas.txtpicoxcell.txtpmu.txtprimecell.txtpsci.txtqcom.txtrockchiprockchip.txtpmu.txtrtsm-dcscb.txtsamsungexynos-adc.txtexynos-chipid.txtpmu.txtsamsung-boards.txtsysreg.txtscu.txtsecure.txtshmobile.txtsirf.txtsp810.txtspear-misc.txtspear-timer.txtspear.txtsprd.txtste-nomadik.txtste-u300.txtsti.txtsunxi.txtswir.txttechnologic.txttegrategra.txtnvidia,nvec.txtnvidia,tegra186-pmc.txtnvidia,tegra20-ahb.txtnvidia,tegra20-emc.txtnvidia,tegra20-flowctrl.txtnvidia,tegra20-mc.txtnvidia,tegra20-pmc.txtnvidia,tegra30-actmon.txtnvidia,tegra30-mc.txttopology.txttwd.txtuniphiercache-uniphier.txtux500boards.txtpower_domain.txtversatile-sysreg.txtvexpress-scc.txtvexpress-sysreg.txtvexpress.txtvt8500vt8500.txtvia,vt8500-pmc.txtvia,vt8500-timer.txtxen.txtxilinx.txtzte.txtataahci-ceva.txtahci-da850.txtahci-dm816.txtahci-fsl-qoriq.txtahci-platform.txtahci-st.txtapm-xgene.txtatmel-at91_cf.txtbrcm,sata-brcm.txtcavium-compact-flash.txtexynos-sata.txtfsl-sata.txtimx-pata.txtimx-sata.txtmarvell.txtnvidia,tegra124-ahci.txtpata-arasan.txtqcom-sata.txtsata_highbank.txtsata_rcar.txtauxdisplayhit,hd44780.txtimg-ascii-lcd.txtboardfsl-board.txtbusbrcm,bus-axi.txtbrcm,gisb-arb.txtimx-weim.txtmvebu-mbus.txtnvidia,tegra20-gmi.txtnvidia,tegra210-aconnect.txtomap-ocp2scp.txtqcom,ebi2.txtrenesas,bsc.txtsimple-pm-bus.txtsunxi-rsb.txtti,da850-mstpri.txtuniphier-system-bus.txtc6xclocks.txtdscr.txtemifa.txtsoc.txttimer64.txtchosen.txtclockalphascale,acc.txtaltr_socfpga.txtamlogic,gxbb-aoclkc.txtamlogic,gxbb-clkc.txtamlogic,meson8b-clkc.txtarm-integrator.txtarm-syscon-icst.txtarmada3700-periph-clock.txtarmada3700-tbg-clock.txtarmada3700-xtal-clock.txtartpec6.txtat91-clock.txtaxi-clkgen.txtaxs10x-i2s-pll-clock.txtbrcm,bcm2835-aux-clock.txtbrcm,bcm2835-cprman.txtbrcm,bcm53573-ilp.txtbrcm,iproc-clocks.txtbrcm,kona-ccu.txtcalxeda.txtclk-exynos-audss.txtclk-palmas-clk32kg-clocks.txtclk-s5pv210-audss.txtclock-bindings.txtclps711x-clock.txtcs2000-cp.txtcsr,atlas7-car.txtdove-divider-clock.txtefm32-clock.txtemev2-clock.txtexynos3250-clock.txtexynos4-clock.txtexynos5250-clock.txtexynos5260-clock.txtexynos5410-clock.txtexynos5420-clock.txtexynos5433-clock.txtexynos5440-clock.txtexynos7-clock.txtfixed-clock.txtfixed-factor-clock.txtfujitsu,mb86s70-crg11.txtgpio-gate-clock.txtgpio-mux-clock.txthi3620-clock.txthi3660-clock.txthi6220-clock.txthisi-crg.txthix5hd2-clock.txtidt,versaclock5.txtimx1-clock.txtimx21-clock.txtimx23-clock.txtimx25-clock.txtimx27-clock.txtimx28-clock.txtimx31-clock.txtimx35-clock.txtimx5-clock.txtimx6q-clock.txtimx6sl-clock.txtimx6sx-clock.txtimx6ul-clock.txtimx7d-clock.txtingenic,cgu.txtkeystone-gate.txtkeystone-pll.txtlpc1850-ccu.txtlpc1850-cgu.txtlpc1850-creg-clk.txtlsi,axm5516-clks.txtmarvell,berlin.txtmarvell,mmp2.txtmarvell,pxa168.txtmarvell,pxa1928.txtmarvell,pxa910.txtmaxim,max77686.txtmicrochip,pic32.txtmoxa,moxart-clock.txtmt8173-cpu-dvfs.txtmvebu-core-clock.txtmvebu-corediv-clock.txtmvebu-cpu-clock.txtmvebu-gated-clock.txtnspire-clock.txtnvidia,tegra114-car.txtnvidia,tegra124-car.txtnvidia,tegra124-dfll.txtnvidia,tegra20-car.txtnvidia,tegra210-car.txtnvidia,tegra30-car.txtnxp,lpc3220-clk.txtnxp,lpc3220-usb-clk.txtoxnas,stdclk.txtpistachio-clock.txtprima2-clock.txtpwm-clock.txtpxa-clock.txtqca,ath79-pll.txtqcom,gcc.txtqcom,lcc.txtqcom,mmcc.txtqcom,rpmcc.txtqoriq-clock.txtrenesas,cpg-div6-clocks.txtrenesas,cpg-mssr.txtrenesas,cpg-mstp-clocks.txtrenesas,h8300-div-clock.txtrenesas,h8s2678-pll-clock.txtrenesas,r8a73a4-cpg-clocks.txtrenesas,r8a7740-cpg-clocks.txtrenesas,r8a7778-cpg-clocks.txtrenesas,r8a7779-cpg-clocks.txtrenesas,rcar-gen2-cpg-clocks.txtrenesas,rz-cpg-clocks.txtrenesas,sh73a0-cpg-clocks.txtrockchip,rk3036-cru.txtrockchip,rk3188-cru.txtrockchip,rk3228-cru.txtrockchip,rk3288-cru.txtrockchip,rk3328-cru.txtrockchip,rk3368-cru.txtrockchip,rk3399-cru.txtrockchip,rv1108-cru.txtrockchip.txtsamsung,s2mps11.txtsamsung,s3c2410-clock.txtsamsung,s3c2412-clock.txtsamsung,s3c2443-clock.txtsamsung,s3c64xx-clock.txtsamsung,s5pv210-clock.txtsilabs,si514.txtsilabs,si5351.txtsilabs,si570.txtstst,nomadik.txtst,stm32-rcc.txtst,clkgen-mux.txtst,clkgen-pll.txtst,clkgen.txtst,flexgen.txtst,quadfs.txtste-u300-syscon-clock.txtstericsson,abx500.txtsun9i-de.txtsun9i-usb.txtsunxi-ccu.txtsunxi.txttango4-clock.txttiti,cdce706.txtti,cdce925.txtti-keystone-pllctrl.txtadpll.txtapll.txtautoidle.txtclockdomain.txtcomposite.txtdivider.txtdpll.txtdra7-atl.txtfapll.txtfixed-factor-clock.txtgate.txtinterface.txtmux.txtuniphier-clock.txtux500.txtvf610-clock.txtvt8500.txtxgene.txtzx296702-clk.txtzx296718-clk.txtzynq-7000.txtcommon-properties.txtcpufreqarm_big_little_dt.txtbrcm,stb-avs-cpu-freq.txtcpufreq-dt.txtcpufreq-exynos5440.txtcpufreq-spear.txtcpufreq-st.txtnvidia,tegra124-cpufreq.txtti-cpufreq.txtcrisaxis.txtboards.txtcryptoamd-ccp.txtatmel-crypto.txtbrcm,spu-crypto.txtfsl-dcp.txtfsl-imx-sahara.txtfsl-imx-scc.txtfsl-sec2.txtfsl-sec4.txtfsl-sec6.txtimg-hash.txtmarvell-cesa.txtmediatek-crypto.txtmv_cesa.txtomap-aes.txtomap-des.txtomap-sham.txtpicochip-spacc.txtqcom-qce.txtrockchip-crypto.txtsamsung-sss.txtst,stm32-crc.txtsun4i-ss.txtdevfreqeventexynos-nocp.txtexynos-ppmu.txtrockchip-dfi.txtexynos-bus.txtrk3399_dmc.txtdisplayamlogic,meson-dw-hdmi.txtamlogic,meson-vpu.txtarm,hdlcd.txtarm,malidp.txtarm,pl11x.txtarmadamarvell,dove-lcd.txtatmelatmel,lcdc.txthlcdc-dc.txtbrcm,bcm-vc4.txtbridgeadi,adv7123.txtadi,adv7511.txtanalogix_dp.txtanx7814.txtdumb-vga-dac.txtdw_hdmi.txtlvds-transmitter.txtmegachips-stdpxxxx-ge-b850v3-fw.txtps8622.txtptn3460.txtrenesas,dw-hdmi.txtsii902x.txtsil-sii8620.txttda998x.txtthine,thc63lvdm83d.txtti,tfp410.txtti,ths8135.txttoshiba,tc358767.txtcirrus,clps711x-fb.txtconnectoranalog-tv-connector.txtdvi-connector.txthdmi-connector.txtvga-connector.txtetnavivetnaviv-drm.txtexynosexynos-mic.txtexynos5433-decon.txtexynos7-decon.txtexynos_dp.txtexynos_dsim.txtexynos_hdmi.txtexynos_hdmiddc.txtexynos_hdmiphy.txtexynos_mixer.txtsamsung-fimd.txtfsl,dcu.txtfsl,tcon.txthisilicondw-dsi.txthisi-ade.txtht16k33.txtimxfsl,imx-fb.txtfsl-imx-drm.txthdmi.txtldb.txtmarvell,pxa2xx-lcdc.txtmediatekmediatek,disp.txtmediatek,dpi.txtmediatek,dsi.txtmediatek,hdmi.txtmipi-dsi-bus.txtmsmdsi.txtedp.txtgpu.txthdmi.txtmdp4.txtmdp5.txtmulti-inno,mi0283qt.txtmxsfb.txtpanelampire,am-480272h3tmqw-t01h.txtampire,am800480r3tmqwa1h.txtauo,b080uan01.txtauo,b101aw03.txtauo,b101ean01.txtauo,b101xtn01.txtauo,b116xw03.txtauo,b133htn01.txtauo,b133xtn01.txtauo,g133han01.txtauo,g185han01.txtauo,t215hvn01.txtavic,tm070ddh03.txtboe,nv101wxmn51.txtboe,tv080wum-nl0.txtchunghwa,claa070wp03xg.txtchunghwa,claa101wa01a.txtchunghwa,claa101wb03.txtdisplay-timing.txtedt,et057090dhu.txtedt,et070080dh6.txtedt,etm0700g0dh6.txtfoxlink,fl500wvr00-a0t.txtgiantplus,gpg482739qs5.txthannstar,hsd070pww1.txthannstar,hsd100pxn1.txthit,tx23d38vm0caa.txtinnolux,at043tn24.txtinnolux,at070tn92.txtinnolux,g101ice-l01.txtinnolux,g121i1-l01.txtinnolux,g121x1-l03.txtinnolux,n116bge.txtinnolux,n156bge-l21.txtinnolux,zj070na-01p.txtjdi,lt070me05000.txtkyo,tcg121xglp.txtlg,lb070wv8.txtlg,ld070wx3-sl01.txtlg,lg4573.txtlg,lh500wx1-sd03.txtlg,lp079qx1-sp0v.txtlg,lp097qx1-spa1.txtlg,lp120up1.txtlg,lp129qe.txtlgphilips,lb035q02.txtmitsubishi,aa104xd12.txtmitsubishi,aa121td01.txtnec,nl4827hc19-05b.txtnetron-dy,e231732.txtnvd,9128.txtokaya,rs800480t-7x0gp.txtolimex,lcd-olinuxino-43-ts.txtontat,yx700wv03.txtortustech,com43h4m85ulc.txtpanasonic,vvx10f004b00.txtpanasonic,vvx10f034n00.txtpanel-common.txtpanel-dpi.txtpanel-dsi-cm.txtpanel-lvds.txtpanel.txtqiaodian,qd43003c0-40.txtsamsung,ld9040.txtsamsung,lsn122dl01-c01.txtsamsung,ltn101nt05.txtsamsung,ltn140at29-301.txtsamsung,s6e3ha2.txtsamsung,s6e8aa0.txtsharp,lq101k1ly04.txtsharp,lq101r1sx01.txtsharp,lq123p1jx31.txtsharp,lq150x1lg11.txtsharp,ls037v7dw01.txtsharp,ls043t1le01.txtshelly,sca07010-bfn-lnn.txtsimple-panel.txtsitronix,st7789v.txtsony,acx565akm.txtstarry,kr122ea0sra.txtstartek,startek-kd050c.txttianma,tm070jdhg30.txttoppoly,td028ttec1.txttpk,f07a-0102.txttpk,f10a-0102.txttpo,td043mtea1.txttpo,tpg110.txturt,umsh-8596md.txtwinstar,wf35ltiacd.txtrenesas,du.txtrockchipanalogix_dp-rockchip.txtdw_hdmi-rockchip.txtdw_mipi_dsi_rockchip.txtinno_hdmi-rockchip.txtrockchip-drm.txtrockchip-vop.txtsimple-framebuffer-sunxi.txtsimple-framebuffer.txtsm501fb.txtsnps,arcpgu.txtssd1289fb.txtssd1307fb.txtst,stih4xx.txtsunxisun4i-drm.txttegranvidia,tegra114-mipi.txtnvidia,tegra20-host1x.txttiti,dra7-dss.txtti,omap-dss.txtti,omap2-dss.txtti,omap3-dss.txtti,omap4-dss.txtti,omap5-dss.txtti,opa362.txtti,tpd12s015.txttilcdcpanel.txttfp410.txttilcdc.txtvia,vt8500-fb.txtwm,prizm-ge-rops.txtwm,wm8505-fb.txtzte,vou.txtdmaadi,axi-dmac.txtapm-xgene-dma.txtarm-pl08x.txtarm-pl330.txtatmel-dma.txtatmel-xdma.txtbrcm,bcm2835-dma.txtdma.txtfsl-edma.txtfsl-imx-dma.txtfsl-imx-sdma.txtfsl-mxs-dma.txtimg-mdc-dma.txtjz4780-dma.txtk3dma.txtlpc1850-dmamux.txtmmp-dma.txtmoxa,moxart-dma.txtmpc512x-dma.txtmv-xor-v2.txtmv-xor.txtnbpfaxi.txtnvidia,tegra20-apbdma.txtnvidia,tegra210-adma.txtqcom_adm.txtqcom_bam_dma.txtqcom_hidma_mgmt.txtrenesas,rcar-dmac.txtrenesas,usb-dmac.txtshdma.txtsirfsoc-dma.txtsnps-dma.txtst_fdma.txtste-coh901318.txtste-dma40.txtstm32-dma.txtsun4i-dma.txtsun6i-dma.txtti-dma-crossbar.txtti-edma.txtxilinxxilinx_dma.txtzynqmp_dma.txtzxdma.txtedacapm-xgene-edac.txteepromat25.txteeprom.txtextconextcon-arizona.txtextcon-max3355.txtextcon-palmas.txtextcon-rt8973a.txtextcon-sm5502.txtextcon-usb-gpio.txtqcom,pm8941-misc.txtfirmwarecoreboot.txtmesonmeson_sm.txtnvidia,tegra186-bpmp.txtqcom,scm.txtfpgaaltera-fpga2sdram-bridge.txtaltera-freeze-bridge.txtaltera-hps2fpga-bridge.txtaltera-pr-ip.txtaltera-socfpga-a10-fpga-mgr.txtaltera-socfpga-fpga-mgr.txtfpga-region.txtlattice-ice40-fpga-mgr.txtxilinx-slave-serial.txtxilinx-zynq-fpga-mgr.txtfusenvidia,tegra20-fuse.txtgoldfishaudio.txtbattery.txtevents.txtpipe.txttty.txtgpio8xxx_gpio.txtabilis,tb10x-gpio.txtbrcm,bcm6345-gpio.txtbrcm,brcmstb-gpio.txtbrcm,kona-gpio.txtcavium-octeon-gpio.txtcirrus,clps711x-mctrl-gpio.txtfaraday,ftgpio010.txtfsl-imx-gpio.txtfujitsu,mb86s70-gpio.txtgpio-74x164.txtgpio-74xx-mmio.txtgpio-adnp.txtgpio-altera.txtgpio-aspeed.txtgpio-ath79.txtgpio-atlas7.txtgpio-axp209.txtgpio-clps711x.txtgpio-davinci.txtgpio-dsp-keystone.txtgpio-etraxfs.txtgpio-fan.txtgpio-grgpio.txtgpio-lp3943.txtgpio-max732x.txtgpio-max77620.txtgpio-mcp23s08.txtgpio-mm-lantiq.txtgpio-mpc8xxx.txtgpio-mvebu.txtgpio-mxs.txtgpio-nmk.txtgpio-omap.txtgpio-palmas.txtgpio-pca953x.txtgpio-pcf857x.txtgpio-pisosr.txtgpio-samsung.txtgpio-stericsson-coh901.txtgpio-stmpe.txtgpio-stp-xway.txtgpio-thunderx.txtgpio-tpic2810.txtgpio-ts4800.txtgpio-ts4900.txtgpio-twl4030.txtgpio-tz1090-pdc.txtgpio-tz1090.txtgpio-vf610.txtgpio-xgene-sb.txtgpio-xgene.txtgpio-xilinx.txtgpio-xlp.txtgpio-xra1403.txtgpio-zevio.txtgpio-zynq.txtgpio.txtgpio_atmel.txtgpio_lpc32xx.txtgpio_oxnas.txtibm,ppc4xx-gpio.txtmicrochip,pic32-gpio.txtmrvl-gpio.txtnetxbig-gpio-ext.txtni,169445-nand-gpio.txtnvidia,tegra186-gpio.txtnvidia,tegra20-gpio.txtnxp,lpc1850-gpio.txtpl061-gpio.txtrenesas,gpio-rcar.txtsnps-dwapb-gpio.txtsodaville.txtspear_spics.txtwd,mbl-gpio.txtzx296702-gpio.txtgpuarm,mali-utgard.txtnvidia,gk20a.txtsamsung-g2d.txtsamsung-rotator.txtgraph.txth8300cpu.txthsiclient-devices.txtnokia-modem.txtomap-ssi.txthwlockhwlock.txtomap-hwspinlock.txtqcom-hwspinlock.txtsirf,hwspinlock.txthwmonadc128d818.txtads1015.txtads7828.txtapm-xgene-hwmon.txtaspeed-pwm-tacho.txtg762.txtibmpowernv.txtina2xx.txtjc42.txtlm70.txtlm87.txtlm90.txtltc2978.txtltc4151.txtmax6650.txtmax6697.txtmcp3021.txtnsa320-mcu.txtntc_thermistor.txtpwm-fan.txtsht15.txtstts751.txttmp108.txtvexpress.txti2cbrcm,bcm2835-i2c.txtbrcm,iproc-i2c.txtbrcm,kona-i2c.txti2c-arb-gpio-challenge.txti2c-arb.txti2c-at91.txti2c-axxia.txti2c-brcmstb.txti2c-cadence.txti2c-cbus-gpio.txti2c-cros-ec-tunnel.txti2c-davinci.txti2c-demux-pinctrl.txti2c-designware.txti2c-digicolor.txti2c-efm32.txti2c-emev2.txti2c-exynos5.txti2c-gate.txti2c-gpio.txti2c-hix5hd2.txti2c-img-scb.txti2c-imx-lpi2c.txti2c-imx.txti2c-jz4780.txti2c-lpc2k.txti2c-meson.txti2c-mpc.txti2c-mt6577.txti2c-mux-gpio.txti2c-mux-ltc4306.txti2c-mux-pca954x.txti2c-mux-pinctrl.txti2c-mux-reg.txti2c-mux.txti2c-mv64xxx.txti2c-mxs.txti2c-nomadik.txti2c-ocores.txti2c-octeon.txti2c-omap.txti2c-opal.txti2c-pnx.txti2c-pxa-pci-ce4100.txti2c-pxa.txti2c-rcar.txti2c-riic.txti2c-rk3x.txti2c-s3c2410.txti2c-sh_mobile.txti2c-sirf.txti2c-st-ddci2c.txti2c-st.txti2c-stm32.txti2c-sunxi-p2wi.txti2c-uniphier-f.txti2c-uniphier.txti2c-versatile.txti2c-vt8500.txti2c-xgene-slimpro.txti2c-xiic.txti2c-xlp9xx.txti2c.txtnvidia,tegra186-bpmp-i2c.txtnvidia,tegra20-i2c.txtnxp,pca9541.txtqcom,i2c-qup.txtiioacceladxl345.txtbma180.txtdmard06.txtkionix,kxsd9.txtlis302.txtmma8452.txtadcamlogic,meson-saradc.txtaspeed_adc.txtat91-sama5d2_adc.txtat91_adc.txtavia-hx711.txtberlin2_adc.txtbrcm,iproc-static-adc.txtcc10001_adc.txtcpcap-adc.txtda9150-gpadc.txtenvelope-detector.txtfsl,imx25-gcq.txthi8435.txtimx7d-adc.txtlpc1850-adc.txtltc2497.txtmax1027-adc.txtmax11100.txtmax1118.txtmax1363.txtmax9611.txtmcp320x.txtmcp3422.txtmt6577_auxadc.txtnuvoton-nau7802.txtpalmas-gpadc.txtqcom,pm8xxx-xoadc.txtqcom,spmi-iadc.txtqcom,spmi-vadc.txtrenesas,gyroadc.txtrockchip-saradc.txtst,stm32-adc.txtti-adc0832.txtti-adc12138.txtti-adc128s052.txtti-adc161s626.txtti-ads7950.txtti-ads8688.txttwl4030-madc.txtvf610-adc.txtxilinx-xadc.txtchemicalatlas,ec-sm.txtatlas,orp-sm.txtatlas,ph-sm.txtdacad5592r.txtad5755.txtad7303.txtdpot-dac.txtlpc1850-dac.txtltc2632.txtmax5821.txtmcp4725.txtst,stm32-dac.txtti,dac7512.txtvf610-dac.txtfrequencyadf4350.txtgyroscopeinvensense,mpu3050.txthealthafe4403.txtafe4404.txtmax30100.txtmax30102.txthumiditydht11.txthts221.txtiio-bindings.txtimubmi160.txtinv_mpu6050.txtst_lsm6dsx.txtlightapds9300.txtapds9960.txtcm3605.txtcm36651.txtgp2ap020a00f.txtisl29018.txtopt3001.txttsl2563.txttsl2583.txtus5182d.txtvl6180.txtmagnetometerak8974.txtak8975.txtbmc150_magn.txthmc5843.txtmmc35240.txtpotentiometerds1803.txtmax5481.txtmcp4131.txtpotentiostatlmp91000.txtpressurebmp085.txthp03.txtms5611.txtzpa2326.txtproximityas3935.txtdevantech-srf04.txtsx9500.txtsensorhub.txtst-sensors.txttemperaturemaxim_thermocouple.txtmlx90614.txttmp007.txttimerstm32-timer-trigger.txtinfinibandhisilicon-hns-roce.txtinputadc-keys.txtatmel,captouch.txtatmel,maxtouch.txtbrcm,bcm-keypad.txtcap11xx.txtclps711x-keypad.txtcpcap-pwrbutton.txtcros-ec-keyb.txtcypress,cyapa.txtcypress,tm2-touchkey.txtda9062-onkey.txte3x0-button.txtelan_i2c.txtelants_i2c.txtfsl-mma8450.txtgpio-beeper.txtgpio-decoder.txtgpio-keys-polled.txtgpio-keys.txtgpio-matrix-keypad.txthid-over-i2c.txtimx-keypad.txtinput-reset.txtlpc32xx-key.txtmatrix-keymap.txtmpr121-touchkey.txtnvidia,tegra20-kbc.txtomap-keypad.txtps2keyb-mouse-apbps2.txtpwm-beeper.txtpxa27x-keypad.txtqcom,pm8941-pwrkey.txtqcom,pm8xxx-keypad.txtqcom,pm8xxx-pwrkey.txtqcom,pm8xxx-vib.txtraydium_i2c_ts.txtregulator-haptic.txtrmi4rmi_2d_sensor.txtrmi_f01.txtrmi_i2c.txtrmi_spi.txtrotary-encoder.txtsamsung-keypad.txtsnvs-pwrkey.txtspear-keyboard.txtst-keyscan.txtstmpe-keypad.txtsun4i-lradc-keys.txttca8418_keypad.txtti,drv260x.txtti,drv2665.txtti,drv2667.txtti,nspire-keypad.txtti,palmas-pwrbutton.txttouchscreenad7879.txtads7846.txtar1021.txtauo_pixcir_ts.txtbrcm,iproc-touchscreen.txtbu21013.txtchipone_icn8318.txtcolibri-vf50-ts.txtcyttsp.txtedt-ft5x06.txtegalax-ts.txtektf2127.txtfsl-mx25-tcq.txtgoodix.txtimx6ul_tsc.txtlpc32xx-tsc.txtmax11801-ts.txtmelfas_mip4.txtmms114.txtpixcir_i2c_ts.txtsilead_gsl1680.txtsis_i2c.txtsitronix-st1232.txtstmpe.txtsx8654.txtti-tsc-adc.txttouchscreen.txtts4800-ts.txttsc2005.txttsc2007.txtzet6223.txtzforce_ts.txttps65218-pwrbutton.txttwl4030-keypad.txttwl4030-pwrbutton.txtinterrupt-controllerabilis,tb10x-ictl.txtal,alpine-msix.txtallwinner,sun4i-ic.txtallwinner,sunxi-nmi.txtarm,gic-v3.txtarm,gic.txtarm,nvic.txtarm,versatile-fpga-irq.txtarm,vic.txtaspeed,ast2400-vic.txtatmel,aic.txtaxis,crisv32-intc.txtbrcm,bcm2835-armctrl-ic.txtbrcm,bcm2836-l1-intc.txtbrcm,bcm3380-l2-intc.txtbrcm,bcm6345-l1-intc.txtbrcm,bcm7038-l1-intc.txtbrcm,bcm7120-l2-intc.txtbrcm,l2-intc.txtcdns,xtensa-mx.txtcdns,xtensa-pic.txtcirrus,clps711x-intc.txtdigicolor-ic.txtezchip,nps400-ic.txtfaraday,ftintc010.txtfsl,ls-scfg-msi.txthisilicon,mbigen-v2.txtimg,meta-intc.txtimg,pdc-intc.txtingenic,intc.txtintel,ce4100-ioapic.txtinterrupts.txtjcore,aic.txtlsi,zevio-intc.txtmarvell,armada-370-xp-mpic.txtmarvell,armada-8k-pic.txtmarvell,odmi-controller.txtmarvell,orion-intc.txtmediatek,cirq.txtmediatek,sysirq.txtmicrochip,pic32-evic.txtmips-gic.txtmrvl,intc.txtmsi.txtnvidia,tegra20-ictlr.txtnxp,lpc3220-mic.txtopen-pic.txtopencores,or1k-pic.txtqca,ath79-cpu-intc.txtqca,ath79-misc-intc.txtrenesas,h8300h-intc.txtrenesas,h8s-intc.txtrenesas,intc-irqpin.txtrenesas,irqc.txtsamsung,exynos4210-combiner.txtsamsung,s3c24xx-irq.txtsigma,smp8642-intc.txtsnps,arc700-intc.txtsnps,archs-idu-intc.txtsnps,archs-intc.txtsnps,dw-apb-ictl.txtst,spear3xx-shirq.txtst,sti-irq-syscfg.txtst,stm32-exti.txttechnologic,ts4800.txtti,c64x+megamod-pic.txtti,cp-intc.txtti,keystone-irq.txtti,omap-intc-irq.txtti,omap2-intc.txtti,omap4-wugen-mpuvia,vt8500-intc.txtiommuarm,smmu-v3.txtarm,smmu.txtiommu.txtmediatek,iommu.txtmsm,iommu-v0.txtnvidia,tegra20-gart.txtnvidia,tegra30-smmu.txtrenesas,ipmmu-vmsa.txtrockchip,iommu.txtsamsung,sysmmu.txtti,omap-iommu.txtipmiaspeed,ast2400-ibt-bmc.txtipmi-smic.txtledsbacklight88pm860x.txtarcxcnn_bl.txtgpio-backlight.txtlp855x.txtmax8925-backlight.txtpm8941-wled.txtpwm-backlight.txtsky81452-backlight.txttps65217-backlight.txtcommon.txtirledspi-ir-led.txtleds-aat1290.txtleds-bcm6328.txtleds-bcm6358.txtleds-cpcap.txtleds-gpio.txtleds-is31fl319x.txtleds-is31fl32xx.txtleds-ktd2692.txtleds-lp55xx.txtleds-lp8860.txtleds-mt6323.txtleds-netxbig.txtleds-ns2.txtleds-pca9532.txtleds-pm8058.txtleds-powernv.txtleds-pwm.txtleds-tlc591xx.txtpca963x.txtregister-bit-led.txttca6507.txtlpddr2lpddr2-timings.txtlpddr2.txtmailboxaltera-mailbox.txtarm-mhu.txtbrcm,bcm2835-mbox.txtbrcm,iproc-flexrm-mbox.txtbrcm,iproc-pdc-mbox.txthisilicon,hi6220-mailbox.txtmailbox.txtmeson-mhu.txtnvidia,tegra186-hsp.txtomap-mailbox.txtrockchip-mailbox.txtsti-mailbox.txtti,message-manager.txtxgene-slimpro-mailbox.txtmarvell.txtmediaatmel-isc.txtatmel-isi.txtcoda.txtexynos-fimc-lite.txtexynos-jpeg-codec.txtexynos4-fimc-is.txtexynos5-gsc.txtfsl-vdoa.txtgpio-ir-receiver.txthix5hd2-ir.txti2cad5820.txtadp1653.txtadv7180.txtadv7343.txtadv7604.txtmt9m111.txtmt9p031.txtmt9v032.txtnokia,smia.txtov2640.txtov2659.txtov5645.txtov5647.txtov7670.txttc358743.txtths8200.txttoshiba,et8ek8.txttvp514x.txttvp5150.txttvp7002.txtimg-ir-rev1.txtmediatek-jpeg-decoder.txtmediatek-mdp.txtmediatek-vcodec.txtmediatek-vpu.txtmeson-ir.txtmtk-cir.txtnokia,n900-irpxa-camera.txtrc.txtrcar_vin.txtrenesas,fcp.txtrenesas,fdp1.txtrenesas,jpu.txtrenesas,vsp1.txts5p-cec.txts5p-mfc.txtsamsung-fimc.txtsamsung-mipi-csis.txtsamsung-s5c73m3.txtsamsung-s5k5baf.txtsamsung-s5k6a3.txtsh_mobile_ceu.txtsi4713.txtst,st-delta.txtst,st-hva.txtst,stih4xx.txtst-rc.txtstih-cec.txtstih407-c8sectpfe.txtsunxi-ir.txtti,da850-vpif.txtti,omap3isp.txtti-am437x-vpfe.txtti-cal.txtvideo-interfaces.txtxilinxvideo.txtxlnx,v-tc.txtxlnx,v-tpg.txtxlnx,video.txtmemory-controllersarm,pl172.txtath79-ddr-controller.txtatmel,ebi.txtcalxeda-ddr-ctrlr.txtexynos-srom.txtfslddr.txtifc.txtingenic,jz4780-nemc.txtmediatek,smi-common.txtmediatek,smi-larb.txtmvebu-devbus.txtmvebu-sdram-controller.txtnvidia,tegra124-emc.txtnvidia,tegra30-mc.txtomap-gpmc.txtrenesas,h8300-bsc.txtrenesas-memory-controllers.txtsynopsys.txttiti-aemif.txtti-da8xx-ddrctl.txtemif.txtmetagmeta.txtmfd88pm860x.txtab8500.txtac100.txtact8945a.txtaltera-a10sr.txtarizona.txtas3711.txtas3722.txtaspeed-gfx.txtaspeed-lpc.txtaspeed-scu.txtatmel-flexcom.txtatmel-gpbr.txtatmel-hlcdc.txtatmel-matrix.txtatmel-smc.txtaxp20x.txtbfticu.txtbrcm,bcm59056.txtcros-ec.txtda9052-i2c.txtda9055.txtda9062.txtda9063.txtda9150.txtfsl-imx25-tsadc.txthi6421.txthisilicon,hi655x.txtlp3943.txtlp873x.txtmax14577.txtmax77620.txtmax77686.txtmax77693.txtmax77802.txtmax8925.txtmax8998.txtmc13xxx.txtmfd.txtmotorola-cpcap.txtmt6397.txtmxs-lradc.txtomap-usb-host.txtomap-usb-tll.txtpalmas.txtqcom,spmi-pmic.txtqcom,tcsr.txtqcom-pm8xxx.txtqcom-rpm.txtqriox.txtrk808.txtrn5t618.txtsamsung,exynos5433-lpass.txtsamsung,sec-core.txtsky81452.txtstm32-timers.txtstmpe.txtsun4i-gpadc.txtsun6i-prcm.txtsyscon.txttc3589x.txtti-keystone-devctrl.txtti-lmu.txttps6507x.txttps65086.txttps65910.txttps65912.txttwl-familly.txttwl4030-audio.txttwl4030-power.txttwl6040.txtwm831x.txtmipsath79-soc.txtbrcmbrcm,bmips.txtsoc.txtcaviumbootbus.txtcib.txtciu.txtciu2.txtciu3.txtdma-engine.txtsata-uctl.txtuctl.txtcpu_irq.txtimgpistachio-marduk.txtpistachio.txtxilfpga.txtpic32microchip,pic32mzda.txtralink.txtmiscarm-charlcd.txtatmel-ssc.txtbrcm,kona-smc.txteeprom-93xx46.txtfsl,qoriq-mc.txtidt_89hpesx.txtifm-csi.txtnvidia,tegra20-apbmisc.txtmmcamlogic,meson-gx.txtarasan,sdhci.txtatmel-hsmci.txtbrcm,bcm2835-sdhost.txtbrcm,kona-sdhci.txtbrcm,sdhci-brcmstb.txtbrcm,sdhci-iproc.txtcavium-mmc.txtdavinci_mmc.txtexynos-dw-mshc.txtfsl-esdhc.txtfsl-imx-esdhc.txtfsl-imx-mmc.txtimg-dw-mshc.txtk3-dw-mshc.txtmarvell,xenon-sdhci.txtmicrochip,sdhci-pic32.txtmmc-card.txtmmc-pwrseq-emmc.txtmmc-pwrseq-sd8787.txtmmc-pwrseq-simple.txtmmc-spi-slot.txtmmc.txtmmci.txtmoxa,moxart-mmc.txtmtk-sd.txtmxs-mmc.txtnvidia,tegra20-sdhci.txtorion-sdio.txtpxa-mmc.txtrenesas,mmcif.txtrockchip-dw-mshc.txtsamsung,s3cmci.txtsamsung-sdhci.txtsdhci-atmel.txtsdhci-cadence.txtsdhci-dove.txtsdhci-fujitsu.txtsdhci-msm.txtsdhci-pxa.txtsdhci-sirf.txtsdhci-spear.txtsdhci-st.txtsdhci.txtsocfpga-dw-mshc.txtsunxi-mmc.txtsynopsys-dw-mshc.txtti-omap-hsmmc.txtti-omap.txttmio_mmc.txtusdhi6rol0.txtvt8500-sdmmc.txtzx-dw-mshc.txtmtdarm-versatile.txtaspeed-smc.txtatmel-dataflash.txtatmel-nand.txtatmel-quadspi.txtbrcm,brcmnand.txtcadence-quadspi.txtcommon.txtcortina,gemini-flash.txtdavinci-nand.txtdenali-nand.txtdiskonchip.txtelm.txtflctl-nand.txtfsl-quadspi.txtfsl-upm-nand.txtfsmc-nand.txtgpio-control-nand.txtgpmc-nand.txtgpmc-nor.txtgpmc-onenand.txtgpmi-nand.txthisi504-nand.txthisilicon,fmc-spi-nor.txtingenic,jz4780-nand.txtjedec,spi-nor.txtlpc32xx-mlc.txtlpc32xx-slc.txtmtd-physmap.txtmtk-nand.txtmtk-quadspi.txtmxc-nand.txtnand.txtnxp-spifi.txtorion-nand.txtoxnas-nand.txtpartition.txtpxa3xx-nand.txtqcom_nandc.txtsamsung-s3c2410.txtspear_smi.txtst-fsm.txtstm32-quadspi.txtsunxi-nand.txttango-nand.txtvf610-nfc.txtnetallwinner,sun4i-emac.txtallwinner,sun4i-mdio.txtallwinner,sun7i-a20-gmac.txtaltera_tse.txtamd-xgbe.txtapm-xgene-enet.txtapm-xgene-mdio.txtarc_emac.txtbrcm,amac.txtbrcm,bcm7445-switch-v4.0.txtbrcm,bcmgenet.txtbrcm,bgmac-nsp.txtbrcm,iproc-mdio.txtbrcm,mdio-mux-iproc.txtbrcm,systemport.txtbrcm,unimac-mdio.txtbroadcom-bcm87xx.txtbtusb.txtcalxeda-xgmac.txtcanatmel-can.txtc_can.txtcc770.txtfsl-flexcan.txtgrcan.txtholt_hi311x.txtifi_canfd.txtm_can.txtmicrochip,mcp251x.txtmpc5xxx-mscan.txtrcar_can.txtrcar_canfd.txtsja1000.txtsun4i_can.txtti_hecc.txtxilinx_can.txtcavium-mdio.txtcavium-mix.txtcavium-pip.txtcirrus,cs89x0.txtcpsw-phy-sel.txtcpsw.txtdavicom-dm9000.txtdavinci-mdio.txtdavinci_emac.txtdsab53.txtdsa.txtlan9303.txtmarvell.txtmt7530.txtqca8k.txtemac_rockchip.txtethernet.txtezchip_enet.txtfaraday,ftmac.txtfixed-link.txtfsl-fec.txtfsl-tsec-phy.txtftgmac100.txtgpmc-eth.txthisilicon-femac-mdio.txthisilicon-femac.txthisilicon-hip04-net.txthisilicon-hix5hd2-gmac.txthisilicon-hns-dsaf.txthisilicon-hns-mdio.txthisilicon-hns-nic.txtieee802154adf7242.txtat86rf230.txtca8210.txtcc2520.txtmrf24j40.txtipq806x-dwmac.txtkeystone-netcp.txtlpc-eth.txtmacb.txtmarvell,prestera.txtmarvell-armada-370-neta.txtmarvell-bt-8xxx.txtmarvell-neta-bm.txtmarvell-orion-mdio.txtmarvell-orion-net.txtmarvell-pp2.txtmarvell-pxa168.txtmaxim,ds26522.txtmdio-gpio.txtmdio-mux-gpio.txtmdio-mux-mmioreg.txtmdio-mux.txtmdio.txtmediatek,mt7620-gsw.txtmediatek-net.txtmeson-dwmac.txtmicrel-ks8851.txtmicrel-ks8995.txtmicrel-ksz90x1.txtmicrel.txtmicrochip,enc28j60.txtmscc-phy-vsc8531.txtnfcnfcmrvl.txtnxp-nci.txtpn533-i2c.txtpn544.txts3fwrn5.txtst-nci-i2c.txtst-nci-spi.txtst21nfca.txtst95hf.txttrf7970a.txtnokia-bluetooth.txtnxp,lpc1850-dwmac.txtopencores-ethoc.txtoxnas-dwmac.txtphy.txtqca-qca7000-spi.txtqcom-emac.txtralink,rt2880-net.txtralink,rt3050-esw.txtrenesas,ravb.txtrockchip-dwmac.txtsamsung-sxgbe.txtsh_eth.txtsmsc-lan87xx.txtsmsc-lan91c111.txtsmsc911x.txtsnps,dwc-qos-ethernet.txtsocfpga-dwmac.txtsti-dwmac.txtstm32-dwmac.txtstmmac.txtti,dp83867.txtti,wilink-st.txtvia-rhine.txtvia-velocity.txtwirelessbrcm,bcm43xx-fmac.txtesp,esp8089.txtieee80211.txtmarvell-8xxx.txtqca,ath9k.txtqcom,ath10k.txtti,wl1251.txtti,wlcore,spi.txtti,wlcore.txtxilinx_gmii2rgmii.txtnios2nios2.txttimer.txtnuma.txtnvmemallwinner,sunxi-sid.txtamlogic-efuse.txtbrcm,ocotp.txtimx-iim.txtimx-ocotp.txtlpc1850-otp.txtlpc1857-eeprom.txtmtk-efuse.txtmxs-ocotp.txtnvmem.txtqfprom.txtrockchip-efuse.txtvf610-ocotp.txtoppopp.txtpci83xx-512x-pci.txtaardvark-pci.txtaltera-pcie-msi.txtaltera-pcie.txtarm,juno-r1-pcie.txtaxis,artpec6-pcie.txtbrcm,iproc-pcie.txtdesignware-pcie.txtfaraday,ftpci100.txtfsl,imx6q-pcie.txtfsl,pci.txthisilicon-pcie.txthost-generic-pci.txtlayerscape-pci.txtmvebu-pci.txtnvidia,tegra20-pcie.txtpci-armada8k.txtpci-iommu.txtpci-keystone.txtpci-msi.txtpci-rcar-gen2.txtpci-thunder-ecam.txtpci-thunder-pem.txtpci.txtplda,xpressrich3-axi.txtqcom,pcie.txtralink,rt3883-pci.txtrcar-pci.txtrockchip-pcie.txtsamsung,exynos5440-pcie.txtspear13xx-pcie.txtti-pci.txtv3-v360epc-pci.txtversatile.txtxgene-pci-msi.txtxgene-pci.txtxilinx-nwl-pcie.txtxilinx-pcie.txtperfapm-xgene-pmu.txtphyapm-xgene-phy.txtbcm-ns-usb2-phy.txtbcm-ns-usb3-phy.txtberlin-sata-phy.txtberlin-usb-phy.txtbrcm,cygnus-pcie-phy.txtbrcm,kona-usb2-phy.txtbrcm,mdio-mux-bus-pci.txtbrcm-sata-phy.txtcalxeda-combophy.txtdm816x-phy.txthix5hd2-phy.txtkeystone-usb-phy.txtmeson8b-usb2-phy.txtmxs-usb-phy.txtnvidia,tegra124-xusb-padctl.txtnvidia,tegra20-usb-phy.txtphy-ath79-usb.txtphy-bindings.txtphy-da8xx-usb.txtphy-hi6220-usb.txtphy-lpc18xx-usb-otg.txtphy-miphy28lp.txtphy-miphy365x.txtphy-mt65xx-usb.txtphy-mvebu.txtphy-rockchip-inno-usb2.txtphy-rockchip-typec.txtphy-stih407-usb.txtphy-stih41x-usb.txtpistachio-usb-phy.txtpxa1928-usb-phy.txtqcom,usb-8x16-phy.txtqcom,usb-hs-phy.txtqcom,usb-hsic-phy.txtqcom-apq8064-sata-phy.txtqcom-dwc3-usb-phy.txtqcom-ipq806x-sata-phy.txtqcom-qmp-phy.txtqcom-qusb2-phy.txtrcar-gen2-phy.txtrcar-gen3-phy-usb2.txtrockchip-dp-phy.txtrockchip-emmc-phy.txtrockchip-pcie-phy.txtrockchip-usb-phy.txtsamsung-phy.txtst-spear-miphy.txtsun4i-usb-phy.txtsun9i-usb-phy.txtti-phy.txtpinctrlabilis,tb10x-iomux.txtallwinner,sunxi-pinctrl.txtatmel,at91-pinctrl.txtatmel,at91-pio4-pinctrl.txtaxis,artpec6-pinctrl.txtberlin,pinctrl.txtbrcm,bcm11351-pinctrl.txtbrcm,bcm2835-gpio.txtbrcm,cygnus-pinmux.txtbrcm,iproc-gpio.txtbrcm,ns2-pinmux.txtbrcm,nsp-gpio.txtbrcm,nsp-pinmux.txtcnxt,cx92755-pinctrl.txtfsl,imx-pinctrl.txtfsl,imx25-pinctrl.txtfsl,imx27-pinctrl.txtfsl,imx35-pinctrl.txtfsl,imx51-pinctrl.txtfsl,imx53-pinctrl.txtfsl,imx6dl-pinctrl.txtfsl,imx6q-pinctrl.txtfsl,imx6sl-pinctrl.txtfsl,imx6sx-pinctrl.txtfsl,imx6ul-pinctrl.txtfsl,imx7d-pinctrl.txtfsl,mxs-pinctrl.txtfsl,vf610-pinctrl.txtimg,pistachio-pinctrl.txtimg,tz1090-pdc-pinctrl.txtimg,tz1090-pinctrl.txtlantiq,pinctrl-falcon.txtlantiq,pinctrl-xway.txtmarvell,armada-370-pinctrl.txtmarvell,armada-375-pinctrl.txtmarvell,armada-37xx-pinctrl.txtmarvell,armada-38x-pinctrl.txtmarvell,armada-39x-pinctrl.txtmarvell,armada-98dx3236-pinctrl.txtmarvell,armada-xp-pinctrl.txtmarvell,dove-pinctrl.txtmarvell,kirkwood-pinctrl.txtmarvell,mvebu-pinctrl.txtmarvell,orion-pinctrl.txtmeson,pinctrl.txtmicrochip,pic32-pinctrl.txtnvidia,tegra114-pinmux.txtnvidia,tegra124-dpaux-padctl.txtnvidia,tegra124-pinmux.txtnvidia,tegra124-xusb-padctl.txtnvidia,tegra20-pinmux.txtnvidia,tegra210-pinmux.txtnvidia,tegra30-pinmux.txtnxp,lpc1850-scu.txtoxnas,pinctrl.txtpinctrl-aspeed.txtpinctrl-atlas7.txtpinctrl-bindings.txtpinctrl-max77620.txtpinctrl-mt65xx.txtpinctrl-palmas.txtpinctrl-single.txtpinctrl-sirf.txtpinctrl-st.txtpinctrl-sx150x.txtpinctrl-vt8500.txtpinctrl_spear.txtqcom,apq8064-pinctrl.txtqcom,apq8084-pinctrl.txtqcom,ipq4019-pinctrl.txtqcom,ipq8064-pinctrl.txtqcom,mdm9615-pinctrl.txtqcom,msm8660-pinctrl.txtqcom,msm8916-pinctrl.txtqcom,msm8960-pinctrl.txtqcom,msm8974-pinctrl.txtqcom,msm8994-pinctrl.txtqcom,msm8996-pinctrl.txtqcom,pmic-gpio.txtqcom,pmic-mpp.txtrenesas,pfc-pinctrl.txtrockchip,pinctrl.txtsamsung-pinctrl.txtst,stm32-pinctrl.txtste,abx500.txtste,nomadik.txtti,da850-pupd.txtti,iodelay.txtti,omap-pinctrl.txtxlnx,zynq-pinctrl.txtpowerdomain-idle-state.txtfsl,imx-gpc.txtfsl,imx-gpcv2.txtmax8903-charger.txtpd-samsung.txtpower-controller.txtpower_domain.txtrenesas,apmu.txtrenesas,rcar-sysc.txtrenesas,sysc-rmobile.txtresetaxxia-reset.txtbrcm,bcm21664-resetmgr.txtgemini-poweroff.txtgpio-poweroff.txtgpio-restart.txtimx-snvs-poweroff.txtkeystone-reset.txtltc2952-poweroff.txtmsm-poweroff.txtqnap-poweroff.txtreboot-mode.txtrestart-poweroff.txtst-reset.txtsyscon-poweroff.txtsyscon-reboot-mode.txtsyscon-reboot.txtrockchip-io-domain.txtsupplyab8500btemp.txtchargalg.txtcharger.txtfg.txtact8945a-charger.txtaxp20x_ac_power.txtaxp20x_battery.txtaxp20x_usb_power.txtbq2415x.txtbq24257.txtbq25890.txtbq27xxx.txtcharger-manager.txtcpcap-charger.txtda9150-charger.txtda9150-fg.txtgpio-charger.txtisp1704.txtlego_ev3_battery.txtlp8727_charger.txtltc2941.txtmax17042_battery.txtmax8925_battery.txtolpc_battery.txtpower_supply.txtqcom,coincell-charger.txtqcom_smbb.txtrt9455_charger.txtrx51-battery.txtsbs_sbs-battery.txtsbs_sbs-charger.txtti,bq24735.txttps65090.txttps65217_charger.txttwl-charger.txtwakeup-source.txtpower_supplymaxim,max14656.txtpowerpc4xxakebono.txtcpm.txtemac.txthsta.txtndfc.txtppc440spe-adma.txtreboot.txtfslcache_sram.txtccf.txtcpus.txtdcsr.txtdiu.txtdma.txtecm.txtfman.txtgtm.txtinterlaken-lac.txtl2cache.txtlbc.txtmcm.txtmcu-mpc8349emitx.txtmpc5121-psc.txtmpc512x_lpbfifo.txtmpc5200.txtmpic-msgr.txtmpic-timer.txtmpic.txtmsi-pic.txtpamu.txtpmc.txtraideng.txtscfg.txtsrio-rmu.txtsrio.txtibm,powerpc-cpu-features.txtnintendogamecube.txtwii.txtopaloppanel-opal.txtpower-mgt.txtppspps-gpio.txtproperty-units.txtpwmatmel-hlcdc-pwm.txtatmel-pwm.txtatmel-tcb-pwm.txtbrcm,bcm7038-pwm.txtbrcm,iproc-pwm.txtbrcm,kona-pwm.txtcirrus,clps711x-pwm.txtgoogle,cros-ec-pwm.txtimg-pwm.txtimx-pwm.txtlpc1850-sct-pwm.txtlpc32xx-pwm.txtmxs-pwm.txtnvidia,tegra20-pwm.txtnxp,pca9685-pwm.txtpwm-bcm2835.txtpwm-berlin.txtpwm-fsl-ftm.txtpwm-hibvt.txtpwm-lp3943.txtpwm-mediatek.txtpwm-meson.txtpwm-mtk-disp.txtpwm-omap-dmtimer.txtpwm-rockchip.txtpwm-samsung.txtpwm-st.txtpwm-stm32.txtpwm-sun4i.txtpwm-tiecap.txtpwm-tiehrpwm.txtpwm-tipwmss.txtpwm.txtpxa-pwm.txtrenesas,pwm-rcar.txtrenesas,tpu-pwm.txtspear-pwm.txtst,stmpe-pwm.txtti,twl-pwm.txtti,twl-pwmled.txtvt8500-pwm.txtregmapregmap.txtregulator88pm800.txt88pm860x.txtact8865-regulator.txtact8945a-regulator.txtanatop-regulator.txtarizona-regulator.txtas3722-regulator.txtcpcap-regulator.txtda9210.txtda9211.txtfan53555.txtfixed-regulator.txtgpio-regulator.txthisilicon,hi655x-regulator.txtisl9305.txtlm363x-regulator.txtlp872x.txtltc3589.txtltc3676.txtmax1586-regulator.txtmax77686.txtmax77802.txtmax8660.txtmax8907.txtmax8925-regulator.txtmax8952.txtmax8973-regulator.txtmax8997-regulator.txtmt6311-regulator.txtmt6323-regulator.txtmt6397-regulator.txtpalmas-pmic.txtpbias-regulator.txtpfuze100.txtpv88060.txtpv88080.txtpv88090.txtpwm-regulator.txtqcom,smd-rpm-regulator.txtqcom,spmi-regulator.txtregulator-max77620.txtregulator.txtsamsung,s2mpa01.txtsamsung,s2mps11.txtsamsung,s5m8767.txtsky81452-regulator.txtti-abb-regulator.txttps51632-regulator.txttps62360-regulator.txttps65023.txttps65090.txttps65132-regulator.txttps65217.txttps65218.txttps6586x.txttwl-regulator.txtvctrl.txtvexpress.txtremoteprocqcom,adsp.txtqcom,q6v5.txtqcom,wcnss-pil.txtst-rproc.txtwkup_m3_rproc.txtreserved-memoryramoops.txtreserved-memory.txtresetallwinner,sunxi-clock-reset.txtamlogic,meson-reset.txtath79-reset.txtberlin,reset.txtbrcm,bcm63138-pmb.txtfsl,imx-src.txtfsl,imx7-src.txthisilicon,hi3660-reset.txthisilicon,hi6220-reset.txtimg,pistachio-reset.txtnxp,lpc1850-rgu.txtoxnas,reset.txtrenesas,rst.txtreset.txtsirf,rstc.txtsocfpga-reset.txtst,sti-picophyreset.txtst,sti-powerdown.txtst,sti-softreset.txtst,stm32-rcc.txtti-syscon-reset.txtuniphier-reset.txtzte,zx2967-reset.txtzynq-reset.txtresource-names.txtrngamlogic,meson-rng.txtapm,rng.txtatmel-trng.txtbrcm,bcm2835.txtbrcm,bcm6368.txtbrcm,iproc-rng200.txthisi-rng.txtmicrochip,pic32-rng.txtmtk-rng.txtomap_rng.txtqcom,prng.txtsamsung,exynos-rng4.txtst,rng.txtst,stm32-rng.txttimeriomem_rng.txtrtcabracon,abx80x.txtalphascale,asm9260-rtc.txtarmada-380-rtc.txtatmel,at91rm9200-rtc.txtatmel,at91sam9-rtc.txtcortina,gemini.txtcpcap-rtc.txtdallas,ds1339.txtdallas,ds1390.txtdigicolor-rtc.txtdw-apb.txtepson,rtc7301.txtepson,rx6110.txtepson,rx8900.txthaoyu,hym8563.txtimxdi-rtc.txtingenic,jz4740-rtc.txtisil,isl12057.txtlpc32xx-rtc.txtmaxim,ds1742.txtmaxim,ds3231.txtmaxim,mcp795.txtmaxim-ds1302.txtmicrochip,pic32-rtc.txtmoxa,moxart-rtc.txtnvidia,tegra20-rtc.txtnxp,lpc1788-rtc.txtnxp,rtc-2123.txtolpc-xo1-rtc.txtorion-rtc.txtpcf8563.txtpxa-rtc.txtrtc-cmos.txtrtc-mxc.txtrtc-omap.txtrtc-opal.txtrtc-palmas.txtrtc-sh.txtrtc-st-lpc.txts3c-rtc.txtsa1100-rtc.txtsnvs-rtc.txtspear-rtc.txtst,stm32-rtc.txtstmp3xxx-rtc.txtsun6i-rtc.txtsunxi-rtc.txtti,bq32k.txttwl-rtc.txtvia,vt8500-rtc.txtxgene-rtc.txtxlnx-rtc.txtscsihisilicon-sas.txtsecuritytpmibmvtpm.txtst33zp24-i2c.txtst33zp24-spi.txttpm-i2c.txttpm_tis_mmio.txttpm_tis_spi.txtserial8250.txtaltera_jtaguart.txtaltera_uart.txtarc-uart.txtarm,mps2-uart.txtarm_sbsa_uart.txtatmel-usart.txtaxis,etraxfs-uart.txtbrcm,bcm2835-aux-uart.txtbrcm,bcm6345-uart.txtcavium-uart.txtcdns,uart.txtcirrus,clps711x-uart.txtdigicolor-usart.txtefm32-uart.txtfsl-imx-uart.txtfsl-lpuart.txtfsl-mxs-auart.txtingenic,uart.txtlantiq_asc.txtmaxim,max310x.txtmicrochip,pic32-uart.txtmrvl,pxa-ssp.txtmrvl-serial.txtmtk-uart.txtmvebu-uart.txtnvidia,tegra20-hsuart.txtnxp,lpc1850-uart.txtnxp,sc16is7xx.txtnxp-lpc32xx-hsuart.txtomap_serial.txtpl011.txtqca,ar9330-uart.txtqcom,msm-uart.txtqcom,msm-uartdm.txtrenesas,sci-serial.txtrs485.txtsamsung_uart.txtserial.txtsirf-uart.txtslave-device.txtsnps-dw-apb-uart.txtsprd-uart.txtst,stm32-usart.txtst-asc.txtuniphier-uart.txtvt8500-uart.txtserioallwinner,sun4i-ps2.txtaltera_ps2.txtolpc,ap-sp.txtsnps-arc_ps2.txtsocbcmraspberrypi,bcm2835-power.txtdovepmu.txtfslbman-portals.txtbman.txtcpm_qecpmcpm.txtbrg.txti2c.txtpic.txtusb.txtgpio.txtnetwork.txtqeqe.txtfirmware.txtpar_io.txtpincfg.txtucc.txtusb.txtserial.txtuqe_serial.txtguts.txtqman-portals.txtqman.txtrcpm.txtmediatekpwrap.txtscpsys.txtqcomqcom,gsbi.txtqcom,smd-rpm.txtqcom,smd.txtqcom,smem.txtqcom,smp2p.txtqcom,smsm.txtqcom,wcnss.txtrockchipgrf.txtpower_domain.txttikeystone-navigator-dma.txtkeystone-navigator-qmss.txtsci-pm-domain.txtwkup_m3_ipc.txtztepd-2967xx.txtsoundadi,adau1701.txtadi,adau17x1.txtadi,adau7002.txtadi,axi-i2s.txtadi,axi-spdif-tx.txtadi,ssm2602.txtak4104.txtak4554.txtak4613.txtak4642.txtak5386.txtalc5623.txtalc5632.txtarmada-370db-audio.txtarndale.txtatmel-at91sam9g20ek-wm8731-audio.txtatmel-classd.txtatmel-pdmic.txtatmel-sam9x5-wm8731-audio.txtatmel-wm8904.txtatmel_ac97c.txtaxentia,tse850-pcm5142.txtbrcm,bcm2835-i2s.txtbrcm,cygnus-audio.txtbt-sco.txtcdns,xtfpga-i2s.txtcs35l32.txtcs35l33.txtcs35l34.txtcs35l35.txtcs4265.txtcs4270.txtcs4271.txtcs42l42.txtcs42l52.txtcs42l56.txtcs42l73.txtcs42xx8.txtcs4349.txtcs53l30.txtda7213.txtda7218.txtda7219.txtda9055.txtdavinci-evm-audio.txtdavinci-mcasp-audio.txtdavinci-mcbsp.txtdesignware-i2s.txtdioo,dio2125.txtes8328.txteukrea-tlv320.txteverest,es7134.txtfsl,asrc.txtfsl,esai.txtfsl,spdif.txtfsl,ssi.txtfsl-asoc-card.txtfsl-sai.txtgtm601.txthdmi.txthisilicon,hi6210-i2s.txtics43432.txtimg,i2s-in.txtimg,i2s-out.txtimg,parallel-out.txtimg,pistachio-internal-dac.txtimg,spdif-in.txtimg,spdif-out.txtimx-audio-es8328.txtimx-audio-sgtl5000.txtimx-audio-spdif.txtimx-audio-wm8962.txtimx-audmux.txtingenic,jz4740-i2s.txtinno-rk3036.txtmax98090.txtmax98095.txtmax98357a.txtmax98371.txtmax98504.txtmax9860.txtmax9867.txtmax9892x.txtmrvl,pxa-ssp.txtmrvl,pxa2xx-pcm.txtmt2701-afe-pcm.txtmt2701-cs42448.txtmt2701-wm8960.txtmt8173-max98090.txtmt8173-rt5650-rt5514.txtmt8173-rt5650-rt5676.txtmt8173-rt5650.txtmtk-afe-pcm.txtmvebu-audio.txtmxs-audio-sgtl5000.txtmxs-saif.txtnau8540.txtnau8810.txtnau8824.txtnau8825.txtnokia,rx51.txtnvidia,tegra-audio-alc5632.txtnvidia,tegra-audio-max98090.txtnvidia,tegra-audio-rt5640.txtnvidia,tegra-audio-rt5677.txtnvidia,tegra-audio-sgtl5000.txtnvidia,tegra-audio-trimslice.txtnvidia,tegra-audio-wm8753.txtnvidia,tegra-audio-wm8903.txtnvidia,tegra-audio-wm9712.txtnvidia,tegra20-ac97.txtnvidia,tegra20-das.txtnvidia,tegra20-i2s.txtnvidia,tegra30-ahub.txtnvidia,tegra30-hda.txtnvidia,tegra30-i2s.txtomap-abe-twl6040.txtomap-dmic.txtomap-mcbsp.txtomap-mcpdm.txtomap-twl4030.txtpcm179x.txtpcm5102a.txtpcm512x.txtqcom,apq8016-sbc.txtqcom,lpass-cpu.txtqcom,msm8916-wcd-analog.txtqcom,msm8916-wcd-digital.txtrenesas,fsi.txtrenesas,rsnd.txtrockchip,rk3288-hdmi-analog.txtrockchip,rk3399-gru-sound.txtrockchip-i2s.txtrockchip-max98090.txtrockchip-rt5645.txtrockchip-spdif.txtrt5514.txtrt5616.txtrt5631.txtrt5640.txtrt5645.txtrt5651.txtrt5659.txtrt5660.txtrt5663.txtrt5665.txtrt5677.txtsamsung,odroid.txtsamsung,smdk-wm8994.txtsamsung,tm2-audio.txtsamsung-i2s.txtsgtl5000.txtsimple-card.txtsimple-scu-card.txtsirf-audio-codec.txtsirf-audio-port.txtsirf-audio.txtsirf-usp.txtsnow.txtsoc-ac97link.txtspdif-receiver.txtspdif-transmitter.txtssm2518.txtssm4567.txtst,sta32x.txtst,sta350.txtst,sti-asoc-card.txtst,stm32-sai.txtstorm.txtsun4i-codec.txtsun4i-i2s.txtsun8i-a33-codec.txtsun8i-codec-analog.txtsunxi,sun4i-spdif.txttas2552.txttas571x.txttas5720.txttdm-slot.txtti,ads117x.txtti,pcm1681.txtti,pcm3168a.txtti,tas5086.txttlv320aic31xx.txttlv320aic32x4.txttlv320aic3x.txttpa6130a2.txtts3a227e.txtux500-mop500.txtux500-msp.txtwidgets.txtwlf,wm8974.txtwm8510.txtwm8523.txtwm8580.txtwm8711.txtwm8728.txtwm8731.txtwm8737.txtwm8741.txtwm8750.txtwm8753.txtwm8770.txtwm8776.txtwm8804.txtwm8903.txtwm8904.txtwm8960.txtwm8962.txtwm8994.txtzte,tdm.txtzte,zx-i2s.txtzte,zx-spdif.txtsparc_sun_oracle_rng.txtspiadi,axi-spi-engine.txtbrcm,bcm2835-aux-spi.txtbrcm,bcm2835-spi.txtbrcm,spi-bcm-qspi.txtefm32-spi.txtfsl-imx-cspi.txtfsl-spi.txticpdas-lp8841-spi-rtc.txtjcore,spi.txtmicrochip,spi-pic32.txtmxs-spi.txtnvidia,tegra114-spi.txtnvidia,tegra20-sflash.txtnvidia,tegra20-slink.txtomap-spi.txtqcom,spi-qup.txtsh-hspi.txtsh-msiof.txtsnps,dw-apb-ssi.txtspi-armada-3700.txtspi-ath79.txtspi-bcm63xx-hsspi.txtspi-bcm63xx.txtspi-bus.txtspi-cadence.txtspi-clps711x.txtspi-davinci.txtspi-dw.txtspi-fsl-dspi.txtspi-fsl-lpspi.txtspi-gpio.txtspi-img-spfi.txtspi-lantiq-ssc.txtspi-meson.txtspi-mt65xx.txtspi-octeon.txtspi-orion.txtspi-rockchip.txtspi-rspi.txtspi-samsung.txtspi-sc18is602.txtspi-sirf.txtspi-st-ssc.txtspi-sun4i.txtspi-sun6i.txtspi-xilinx.txtspi-xlp.txtspi-xtensa-xtfpga.txtspi-zynqmp-qspi.txtspi_altera.txtspi_atmel.txtspi_oc_tiny.txtspi_pl022.txtsqi-pic32.txtti_qspi.txtspmiqcom,spmi-pmic-arb.txtspmi.txtsramrockchip-pmu-sram.txtrockchip-smp-sram.txtsamsung-sram.txtsram.txtsunxi-sram.txtstagingiioadclpc32xx-adc.txtspear-adc.txtsubmitting-patches.txtthermalarmada-thermal.txtbrcm,bcm2835-thermal.txtbrcm,ns-thermalda9062-thermal.txtdb8500-thermal.txtdove-thermal.txtexynos-thermal.txthisilicon-thermal.txtimx-thermal.txtkirkwood-thermal.txtmax77620_thermal.txtmediatek-thermal.txtnvidia,tegra124-soctherm.txtqcom-spmi-temp-alarm.txtqcom-tsens.txtqoriq-thermal.txtrcar-gen3-thermal.txtrcar-thermal.txtrockchip-thermal.txtspear-thermal.txtst-thermal.txttango-thermal.txtthermal-generic-adc.txtthermal.txtti_soc_thermal.txtzx2967-thermal.txttimerallwinner,sun4i-timer.txtallwinner,sun5i-a13-hstimer.txtamlogic,meson6-timer.txtarm,mps2-timer.txtarm,sp804.txtbrcm,bcm2835-system-timer.txtbrcm,kona-timer.txtcadence,ttc-timer.txtcirrus,clps711x-timer.txtdigicolor-timer.txtenergymicro,efm32-timer.txtezchip,nps400-timer0.txtezchip,nps400-timer1.txtfaraday,fttmr010.txtfsl,ftm-timer.txtfsl,imxgpt.txtimg,pistachio-gptimer.txtjcore,pit.txtlsi,zevio-timer.txtmarvell,armada-370-xp-timer.txtmarvell,orion-timer.txtmediatek,mtk-timer.txtmoxa,moxart-timer.txtnvidia,tegra20-timer.txtnvidia,tegra30-timer.txtnxp,lpc3220-timer.txtoxsemi,rps-timer.txtrenesas,16bit-timer.txtrenesas,8bit-timer.txtrenesas,cmt.txtrenesas,mtu2.txtrenesas,ostm.txtrenesas,tmu.txtrenesas,tpu.txtrockchip,rk-timer.txtsamsung,exynos4210-mct.txtsnps,arc-timer.txtsnps,archs-gfrc.txtsnps,archs-rtc.txtst,stih407-lpcst,stm32-timer.txtstericsson-u300-apptimer.txtti,keystone-timer.txttrivial-devices.txtufstc-dwc-g210-pltfrm.txtufs-qcom.txtufshcd-pltfrm.txtunittest.txtusballwinner,sun4i-a10-musb.txtam33xx-usb.txtatmel-usb.txtbrcm,bcm3384-usb.txtci-hdrc-usb2.txtda8xx-usb.txtdwc2.txtdwc3-cavium.txtdwc3-st.txtdwc3-xilinx.txtdwc3.txtehci-omap.txtehci-orion.txtehci-st.txtexynos-usb.txtfsl-usb.txtgeneric.txtgr-udc.txtisp1301.txtkeystone-usb.txtlpc32xx-udc.txtmsm-hsusb.txtmt8173-mtu3.txtmt8173-xhci.txtnvidia,tegra124-xusb.txtnvidia,tegra20-ehci.txtocteon-usb.txtohci-da8xx.txtohci-nxp.txtohci-omap3.txtohci-st.txtomap-usb.txtpxa-usb.txtqcom,dwc3.txtrenesas_usb3.txtrenesas_usbhs.txtrockchip,dwc3.txts3c2410-usb.txtsamsung-hsotg.txtspear-usb.txttwlxxxx-usb.txtudc-xilinx.txtulpi.txtusb-device.txtusb-ehci.txtusb-nop-xceiv.txtusb-ohci.txtusb-uhci.txtusb-xhci.txtusb251xb.txtusb3503.txtusb4604.txtusbmisc-imx.txtux500-usb.txtvendor-prefixes.txtvirtiommio.txtw1fsl-imx-owire.txtomap-hdq.txtw1-gpio.txtwatchdogalphascale-asm9260.txtarm,sp805.txtaspeed-wdt.txtatmel-at91rm9200-wdt.txtatmel-sama5d4-wdt.txtatmel-wdt.txtbrcm,bcm2835-pm-wdog.txtbrcm,bcm7038-wdt.txtbrcm,kona-wdt.txtcadence-wdt.txtcortina,gemin-watchdog.txtcortina,gemini-watchdog.txtdavinci-wdt.txtdigicolor-wdt.txtdw_wdt.txtfsl-imx-wdt.txtgpio-wdt.txtimgpdc-wdt.txtingenic,jz4740-wdt.txtlpc18xx-wdt.txtmarvel.txtmen-a021-wdt.txtmeson-gxbb-wdt.txtmeson-wdt.txtmicrochip,pic32-dmt.txtmicrochip,pic32-wdt.txtmoxa,moxart-watchdog.txtmt7621-wdt.txtmtk-wdt.txtof-xilinx-wdt.txtomap-wdt.txtpnx4008-wdt.txtqca-ar7130-wdt.txtqcom-wdt.txtrenesas-wdt.txtrt2880-wdt.txtsamsung-wdt.txtsbsa-gwdt.txtsigma,smp8642-wdt.txtsirfsoc_wdt.txtsp805-wdt.txtst_lpc_wdt.txtstericsson-coh901327.txtsunxi-wdt.txtts4800-wdt.txttwl4030-wdt.txtziirave-wdt.txtzte,zx2967-wdt.txtx86ce4100.txttimer.txtxilinx.txtxillybusxillybus.txtbooting-without-of.txtchangesets.txtdynamic-resolution-notes.txtof_unittest.txtoverlay-notes.txttodo.txtusage-model.txtdigsig.txtdmaengine00-INDEXclient.txtdmatest.txtprovider.txtpxa_dma.txtdoc-guideconf.pydocbook.rsthello.dotindex.rstkernel-doc.rstparse-headers.rstsphinx.rstsvg_image.svgdocutils.confdontdiffdriver-api80211cfg80211.rstconf.pyindex.rstintroduction.rstmac80211-advanced.rstmac80211.rstbasics.rstconf.pydevice-io.rstdevice_link.rstdma-buf.rstedac.rstfirmwarebuilt-in-fw.rstcore.rstdirect-fs-lookup.rstfallback-mechanisms.rstfirmware_cache.rstfw_search_path.rstindex.rstintroduction.rstlookup-order.rstother_interfaces.rstrequest_firmware.rstframe-buffer.rsthsi.rsti2c.rstiiobuffers.rstcore.rstindex.rstintro.rsttriggered-buffers.rsttriggers.rstindex.rstinfrastructure.rstinput.rstmessage-based.rstmisc_devices.rstmiscellaneous.rstpci.rstpmconf.pydevices.rstindex.rstnotifiers.rsttypes.rstregulator.rstsound.rstspi.rstuio-howto.rstusbURB.rstanchors.rstbulk-streams.rstcallbacks.rstdma.rsterror-codes.rstgadget.rsthotplug.rstindex.rstpersist.rstpower-management.rstusb.rstwriting_musb_glue_layer.rstwriting_usb_driver.rstvme.rstdriver-modelbinding.txtbus.txtclass.txtdesign-patterns.txtdevice.txtdevres.txtdriver.txtoverview.txtplatform.txtporting.txtearly-userspaceREADMEbuffer-format.txtefi-stub.txteisa.txtextconintel-int3496.txtfault-injectionfault-injection.txtnotifier-error-inject.txtprovoke-crashes.txtfb00-INDEXapi.txtarkfb.txtaty128fb.txtcirrusfb.txtcmap_xfbdev.txtdeferred_io.txtefifb.txtep93xx-fb.txtfbcon.txtframebuffer.txtgxfb.txtintel810.txtintelfb.txtinternals.txtlxfb.txtmatroxfb.txtmetronomefb.txtmodedb.txtpvr2fb.txtpxafb.txts3fb.txtsa1100fb.txtsh7760fb.txtsisfb.txtsm501.txtsm712fb.txtsstfb.txttgafb.txttridentfb.txtudlfb.txtuvesafb.txtvesafb.txtviafb.modesviafb.txtvt8623fb.txtfeaturesarch-support.txtcoreBPF-JITarch-support.txtgeneric-idle-threadarch-support.txtjump-labelsarch-support.txttracehookarch-support.txtdebugKASANarch-support.txtgcov-profile-allarch-support.txtkgdbarch-support.txtkprobeskprobes-on-ftracearch-support.txtarch-support.txtkretprobesarch-support.txtoptprobesarch-support.txtstackprotectorarch-support.txtuprobesarch-support.txtuser-ret-profilerarch-support.txtiodma-api-debugarch-support.txtdma-contiguousarch-support.txtsg-chainarch-support.txtlibstrncasecmparch-support.txtlist-arch.shlockingcmpxchg-localarch-support.txtlockdeparch-support.txtqueued-rwlocksarch-support.txtqueued-spinlocksarch-support.txtrwsem-optimizedarch-support.txtperfkprobes-eventarch-support.txtperf-regsarch-support.txtperf-stackdumparch-support.txtschednuma-balancingarch-support.txtseccompseccomp-filterarch-support.txttimearch-tick-broadcastarch-support.txtclockeventsarch-support.txtcontext-trackingarch-support.txtirq-time-acctarch-support.txtmodern-timekeepingarch-support.txtvirt-cpuacctarch-support.txtvmELF-ASLRarch-support.txtPG_uncachedarch-support.txtTHParch-support.txtTLBarch-support.txthuge-vmaparch-support.txtioremap_protarch-support.txtnuma-memblockarch-support.txtpte_specialarch-support.txtfilesystems00-INDEX9p.txtLockingadfs.txtaffs.txtafs.txtautofs4-mount-control.txtautofs4.txtautomount-support.txtbefs.txtbfs.txtbtrfs.txtcachingbackend-api.txtcachefiles.txtfscache.txtnetfs-api.txtobject.txtoperations.txtceph.txtcifsAUTHORSCHANGESREADMETODOcifs.txtwinucase_convert.plcoda.txtconfigfsconfigfs.txtcramfs.txtdax.txtdebugfs.txtdevpts.txtdirectory-lockingdlmfs.txtdnotify.txtecryptfs.txtefivarfs.txtexofs.txtext2.txtext3.txtext4.txtf2fs.txtfiemap.txtfiles.txtfuse.txtgfs2-glocks.txtgfs2-uevents.txtgfs2.txthfs.txthfsplus.txthpfs.txtinotify.txtisofs.txtjfs.txtlocks.txtmandatory-locking.txtncpfs.txtnfs00-INDEXExportingfault_injection.txtidmapper.txtknfsd-stats.txtnfs-rdma.txtnfs.txtnfs41-server.txtnfsd-admin-interfaces.txtnfsroot.txtpnfs-block-server.txtpnfs-scsi-server.txtpnfs.txtrpc-cache.txtrpc-server-gss.txtnilfs2.txtntfs.txtocfs2-online-filecheck.txtocfs2.txtomfs.txtorangefs.txtoverlayfs.txtpath-lookup.mdpath-lookup.txtpohmelfsdesign_notes.txtinfo.txtnetwork_protocol.txtportingproc.txtqnx6.txtquota.txtramfs-rootfs-initramfs.txtrelay.txtromfs.txtseq_file.txtsharedsubtree.txtspufs.txtsquashfs.txtsysfs-pci.txtsysfs-tagging.txtsysfs.txtsysv-fs.txttmpfs.txtubifs.txtudf.txtufs.txtvfat.txtvfs.txtxfs-delayed-logging-design.txtxfs-self-describing-metadata.txtxfs.txtfirmware_classhotplug-scriptflexible-arrays.txtfmc00-INDEXAPI.txtFMC-and-SDB.txtcarrier.txtfmc-chardev.txtfmc-fakedev.txtfmc-trivial.txtfmc-write-eeprom.txtidentifiers.txtmezzanine.txtparameters.txtfpgafpga-mgr.txtfrvREADME.txtatomic-ops.txtbooting.txtclock.txtconfiguring.txtfeatures.txtgdbinitgdbstub.txtkernel-ABI.txtmmu-layout.txtfutex-requeue-pi.txtgcc-plugins.txtgpio00-INDEXboard.txtconsumer.txtdriver.txtdrivers-on-gpio.txtgpio-legacy.txtgpio.txtsysfs.txtgpubridgedw-hdmi.rstconf.pydrm-internals.rstdrm-kms-helpers.rstdrm-kms.rstdrm-mm.rstdrm-uapi.rsti915.rstindex.rstintroduction.rstkms-properties.csvmeson.rsttinydrm.rsttodo.rstvc4.rstvga-switcheroo.rstvgaarbiter.rsthidhid-alps.txthid-sensor.txthid-transport.txthiddev.txthidraw.txtintel-ish-hid.txtuhid.txthighuid.txthw_random.txthwmonab8500abituguruabituguru-datasheetabituguru3abx500acpi_power_meterad7314adc128d818adm1021adm1025adm1026adm1031adm1275adm9240ads1015ads7828adt7410adt7411adt7462adt7470adt7475amc6821asb100asc7621aspeed-pwm-tachocoretempda9052da9055dme1737ds1621ds620emc1403emc2103emc6w201f71805ff71882fgfam15h_powerftsteutatesg760ag762gl518smhih6130hwmon-kernel-api.txtibmaemibmpowernvina209ina2xxina3221it87jc42k10tempk8templineage-pemlm25066lm63lm70lm73lm75lm77lm78lm80lm83lm85lm87lm90lm92lm93lm95234lm95245ltc2945ltc2978ltc2990ltc3815ltc4151ltc4215ltc4245ltc4260ltc4261max16064max16065max1619max1668max197max20751max31722max31790max34440max6639max6642max6650max6697max8688mc13783-adcmcp3021menf21bmcnct6683nct6775nct7802nct7904nsa320ntc_thermistorpc87360pc87427pcf8591pmbuspmbus-corepowr1220pwm-fansch5627sch5636scpi-hwmonsht15sht21sht3xshtc1sis5595smm665smsc47b397smsc47m1smsc47m192submitting-patchessysfs-interfacetc654tc74thmc50tmp102tmp103tmp108tmp401tmp421tps40422twl4030-madc-hwmonucd9000ucd9200userspace-toolsvexpressvia686avt1211w83627ehfw83627hfw83781dw83791dw83792dw83793w83795w83l785tsw83l786ngwm831xwm8350xgene-hwmonzl6100hwspinlock.txti2cbussesi2c-ali1535i2c-ali1563i2c-ali15x3i2c-amd756i2c-amd8111i2c-diolan-u2ci2c-i801i2c-ismti2c-mlxcpldi2c-nforce2i2c-ocoresi2c-parporti2c-parport-lighti2c-pca-isai2c-piix4i2c-sis5595i2c-sis630i2c-sis96xi2c-taos-evmi2c-viai2c-viaproscx200_acbdev-interfacefault-codesfunctionalityi2c-protocoli2c-stubi2c-topologyinstantiating-devicesmuxesi2c-mux-gpioold-module-parametersslave-eeprom-backendslave-interfacesmbus-protocolsummaryten-bit-addressesupgrading-clientswriting-clientsia64IRQ-redir.txtREADMEaliasing.txtefirtc.txterr_inject.txtfsys.txtmca.txtserial.txtxen.txtide00-INDEXChangeLog.ide-cd.1994-2004ChangeLog.ide-floppy.1996-2002ChangeLog.ide-tape.1995-2002ide-tape.txtide.txtwarm-plug-howto.txtiioiio_configfs.txtindex.rstinfinibandcore_locking.txtipoib.txtopa_vnic.txtsysfs.txtuser_mad.txtuser_verbs.txtinputconf.pydevicesalps.rstamijoy.rstappletouch.rstatarikbd.rstbcm5974.rstcma3000_d0x.rstcs461x.rstedt-ft5x06.rstelantech.rstgpio-tilt.rstiforce-protocol.rstindex.rstjoystick-parport.rstntrig.rstrotary-encoder.rstsentelic.rstwalkera0701.rstxpad.rstyealink.rstevent-codes.rstff.rstgamepad.rstgameport-programming.rstindex.rstinput-programming.rstinput.rstinput_kapi.rstinput_uapi.rstinteractive.svgjoydevindex.rstjoystick-api.rstjoystick.rstmulti-touch-protocol.rstnotifier.rstshape.svguinput.rstuserio.rstintel_txt.txtio-mapping.txtio_ordering.txtioctl00-INDEXbotching-up-ioctls.txtcdrom.txthdio.txtioctl-decoding.txtioctl-number.txtiostats.txtirqflags-tracing.txtisa.txtisapnp.txtisdn00-INDEXCREDITSHiSax.certINTERFACEINTERFACE.CAPIINTERFACE.faxREADMEREADME.FAQREADME.HiSaxREADME.audioREADME.avmb1README.concapREADME.diversionREADME.faxREADME.gigasetREADME.hfc-pciREADME.hysdnREADME.mISDNREADME.syncpppREADME.x25syncPPP.FAQkbuild00-INDEXKconfig.recursion-issue-01Kconfig.recursion-issue-02Kconfig.select-breakheaders_install.txtkbuild.txtkconfig-language.txtkconfig.txtmakefiles.txtmodules.txtkdumpgdbmacros.txtkdump.txtkernel-doc-nano-HOWTO.txtkernel-per-CPU-kthreads.txtkobject.txtkprobes.txtkref.txtkselftest.txtlaptops00-INDEXasus-laptop.txtdisk-shock-protection.txtlaptop-mode.txtsony-laptop.txtsonypi.txtthinkpad-acpi.txttoshiba_haps.txtldm.txtleds00-INDEXleds-blinkm.txtleds-class-flash.txtleds-class.txtleds-lm3556.txtleds-lp3944.txtleds-lp5521.txtleds-lp5523.txtleds-lp5562.txtleds-lp55xx.txtleds-mlxcpld.txtledtrig-oneshot.txtledtrig-transient.txtledtrig-usbport.txtuleds.txtlightnvmpblk.txtlivepatchlivepatch.txtmodule-elf-format.txtlocking00-INDEXlockdep-design.txtlockstat.txtlocktorture.txtmutex-design.txtrt-mutex-design.txtrt-mutex.txtspinlocks.txtww-mutex-design.txtlockup-watchdogs.txtlogo.giflogo.txtlzo.txtm68k00-INDEXREADME.buddhakernel-options.txtmailbox.txtmdmd-cluster.txtraid5-cache.txtraid5-ppl.txtmediaMakefileaudio.h.rst.exceptionsca.h.rst.exceptionscec.h.rst.exceptionsconf.pyconf_nitpick.pydmx.h.rst.exceptionsdvb-driversavermedia.rstbt8xx.rstcards.rstci.rstcontributors.rstdvb-usb.rstfaq.rstindex.rstintro.rstlmedm04.rstopera-firmware.rsttechnisat.rstttusb-dec.rstudev.rstfrontend.h.rst.exceptionsindex.rstintro.rstkapicec-core.rstcsi2.rstdtv-core.rstmc-core.rstrc-core.rstv4l2-clocks.rstv4l2-common.rstv4l2-controls.rstv4l2-core.rstv4l2-dev.rstv4l2-device.rstv4l2-dv-timings.rstv4l2-event.rstv4l2-fh.rstv4l2-flash-led-class.rstv4l2-intro.rstv4l2-mc.rstv4l2-mediabus.rstv4l2-mem2mem.rstv4l2-of.rstv4l2-rect.rstv4l2-subdev.rstv4l2-tuner.rstv4l2-tveeprom.rstv4l2-videobuf.rstv4l2-videobuf2.rstlirc.h.rst.exceptionsmedia.h.rst.exceptionsmedia_kapi.rstmedia_uapi.rstnet.h.rst.exceptionstypical_media_device.svguapiceccec-api.rstcec-func-close.rstcec-func-ioctl.rstcec-func-open.rstcec-func-poll.rstcec-funcs.rstcec-header.rstcec-intro.rstcec-ioc-adap-g-caps.rstcec-ioc-adap-g-log-addrs.rstcec-ioc-adap-g-phys-addr.rstcec-ioc-dqevent.rstcec-ioc-g-mode.rstcec-ioc-receive.rstdvbaudio-bilingual-channel-select.rstaudio-channel-select.rstaudio-clear-buffer.rstaudio-continue.rstaudio-fclose.rstaudio-fopen.rstaudio-fwrite.rstaudio-get-capabilities.rstaudio-get-pts.rstaudio-get-status.rstaudio-pause.rstaudio-play.rstaudio-select-source.rstaudio-set-attributes.rstaudio-set-av-sync.rstaudio-set-bypass-mode.rstaudio-set-ext-id.rstaudio-set-id.rstaudio-set-karaoke.rstaudio-set-mixer.rstaudio-set-mute.rstaudio-set-streamtype.rstaudio-stop.rstaudio.rstaudio_data_types.rstaudio_function_calls.rstaudio_h.rstca-fclose.rstca-fopen.rstca-get-cap.rstca-get-descr-info.rstca-get-msg.rstca-get-slot-info.rstca-reset.rstca-send-msg.rstca-set-descr.rstca-set-pid.rstca.rstca_data_types.rstca_function_calls.rstca_h.rstdemux.rstdmx-add-pid.rstdmx-fclose.rstdmx-fopen.rstdmx-fread.rstdmx-fwrite.rstdmx-get-caps.rstdmx-get-event.rstdmx-get-pes-pids.rstdmx-get-stc.rstdmx-remove-pid.rstdmx-set-buffer-size.rstdmx-set-filter.rstdmx-set-pes-filter.rstdmx-set-source.rstdmx-start.rstdmx-stop.rstdmx_fcalls.rstdmx_h.rstdmx_types.rstdtv-fe-stats.rstdtv-properties.rstdtv-property.rstdtv-stats.rstdvb-fe-read-status.rstdvb-frontend-event.rstdvb-frontend-parameters.rstdvbapi.rstdvbproperty-006.rstdvbproperty.rstdvbstb.svgexamples.rstfe-bandwidth-t.rstfe-diseqc-recv-slave-reply.rstfe-diseqc-reset-overload.rstfe-diseqc-send-burst.rstfe-diseqc-send-master-cmd.rstfe-dishnetwork-send-legacy-cmd.rstfe-enable-high-lnb-voltage.rstfe-get-event.rstfe-get-frontend.rstfe-get-info.rstfe-get-property.rstfe-read-ber.rstfe-read-signal-strength.rstfe-read-snr.rstfe-read-status.rstfe-read-uncorrected-blocks.rstfe-set-frontend-tune-mode.rstfe-set-frontend.rstfe-set-tone.rstfe-set-voltage.rstfe-type-t.rstfe_property_parameters.rstfrontend-property-cable-systems.rstfrontend-property-satellite-systems.rstfrontend-property-terrestrial-systems.rstfrontend-stat-properties.rstfrontend.rstfrontend_f_close.rstfrontend_f_open.rstfrontend_fcalls.rstfrontend_h.rstfrontend_legacy_api.rstfrontend_legacy_dvbv3_api.rstintro.rstlegacy_dvb_apis.rstnet-add-if.rstnet-get-if.rstnet-remove-if.rstnet.rstnet_h.rstquery-dvb-frontend-info.rstvideo-clear-buffer.rstvideo-command.rstvideo-continue.rstvideo-fast-forward.rstvideo-fclose.rstvideo-fopen.rstvideo-freeze.rstvideo-fwrite.rstvideo-get-capabilities.rstvideo-get-event.rstvideo-get-frame-count.rstvideo-get-frame-rate.rstvideo-get-navi.rstvideo-get-pts.rstvideo-get-size.rstvideo-get-status.rstvideo-play.rstvideo-select-source.rstvideo-set-attributes.rstvideo-set-blank.rstvideo-set-display-format.rstvideo-set-format.rstvideo-set-highlight.rstvideo-set-id.rstvideo-set-spu-palette.rstvideo-set-spu.rstvideo-set-streamtype.rstvideo-set-system.rstvideo-slowmotion.rstvideo-stillpicture.rstvideo-stop.rstvideo-try-command.rstvideo.rstvideo_function_calls.rstvideo_h.rstvideo_types.rstfdl-appendix.rstgen-errors.rstmediactlmedia-controller-intro.rstmedia-controller-model.rstmedia-controller.rstmedia-func-close.rstmedia-func-ioctl.rstmedia-func-open.rstmedia-funcs.rstmedia-header.rstmedia-ioc-device-info.rstmedia-ioc-enum-entities.rstmedia-ioc-enum-links.rstmedia-ioc-g-topology.rstmedia-ioc-setup-link.rstmedia-types.rstrckeytable.c.rstlirc-dev-intro.rstlirc-dev.rstlirc-func.rstlirc-get-features.rstlirc-get-length.rstlirc-get-rec-mode.rstlirc-get-rec-resolution.rstlirc-get-send-mode.rstlirc-get-timeout.rstlirc-header.rstlirc-read.rstlirc-set-measure-carrier-mode.rstlirc-set-rec-carrier-range.rstlirc-set-rec-carrier.rstlirc-set-rec-timeout-reports.rstlirc-set-rec-timeout.rstlirc-set-send-carrier.rstlirc-set-send-duty-cycle.rstlirc-set-transmitter-mask.rstlirc-set-wideband-receiver.rstlirc-write.rstrc-intro.rstrc-sysfs-nodes.rstrc-table-change.rstrc-tables.rstremote_controllers.rstv4lapp-pri.rstasync.rstaudio.rstbayer.svgbiblio.rstbuffer.rstcapture-example.rstcapture.c.rstcolorspaces.rstcommon-defs.rstcommon.rstcompat.rstconstraints.svgcontrol.rstcrop.rstcrop.svgdepth-formats.rstdev-capture.rstdev-codec.rstdev-effect.rstdev-event.rstdev-meta.rstdev-osd.rstdev-output.rstdev-overlay.rstdev-radio.rstdev-raw-vbi.rstdev-rds.rstdev-sdr.rstdev-sliced-vbi.rstdev-subdev.rstdev-teletext.rstdev-touch.rstdevices.rstdiff-v4l.rstdmabuf.rstdriver.rstdv-timings.rstextended-controls.rstfield-order.rstfieldseq_bt.svgfieldseq_tb.svgformat.rstfunc-close.rstfunc-ioctl.rstfunc-mmap.rstfunc-munmap.rstfunc-open.rstfunc-poll.rstfunc-read.rstfunc-select.rstfunc-write.rsthist-v4l2.rsthsv-formats.rstio.rstlibv4l-introduction.rstlibv4l.rstmeta-formats.rstmmap.rstnv12mt.svgnv12mt_example.svgopen.rstpipeline.dotpixfmt-002.rstpixfmt-003.rstpixfmt-004.rstpixfmt-006.rstpixfmt-007.rstpixfmt-008.rstpixfmt-013.rstpixfmt-grey.rstpixfmt-indexed.rstpixfmt-inzi.rstpixfmt-m420.rstpixfmt-meta-vsp1-hgo.rstpixfmt-meta-vsp1-hgt.rstpixfmt-nv12.rstpixfmt-nv12m.rstpixfmt-nv12mt.rstpixfmt-nv16.rstpixfmt-nv16m.rstpixfmt-nv24.rstpixfmt-packed-hsv.rstpixfmt-packed-rgb.rstpixfmt-packed-yuv.rstpixfmt-reserved.rstpixfmt-rgb.rstpixfmt-sdr-cs08.rstpixfmt-sdr-cs14le.rstpixfmt-sdr-cu08.rstpixfmt-sdr-cu16le.rstpixfmt-sdr-ru12le.rstpixfmt-srggb10.rstpixfmt-srggb10alaw8.rstpixfmt-srggb10dpcm8.rstpixfmt-srggb10p.rstpixfmt-srggb12.rstpixfmt-srggb16.rstpixfmt-srggb8.rstpixfmt-tch-td08.rstpixfmt-tch-td16.rstpixfmt-tch-tu08.rstpixfmt-tch-tu16.rstpixfmt-uv8.rstpixfmt-uyvy.rstpixfmt-vyuy.rstpixfmt-y10.rstpixfmt-y10b.rstpixfmt-y12.rstpixfmt-y12i.rstpixfmt-y16-be.rstpixfmt-y16.rstpixfmt-y41p.rstpixfmt-y8i.rstpixfmt-yuv410.rstpixfmt-yuv411p.rstpixfmt-yuv420.rstpixfmt-yuv420m.rstpixfmt-yuv422m.rstpixfmt-yuv422p.rstpixfmt-yuv444m.rstpixfmt-yuyv.rstpixfmt-yvyu.rstpixfmt-z16.rstpixfmt.rstplanar-apis.rstquerycap.rstrw.rstsdr-formats.rstselection-api-002.rstselection-api-003.rstselection-api-004.rstselection-api-005.rstselection-api-006.rstselection-api.rstselection.svgselections-common.rststandard.rststreaming-par.rstsubdev-formats.rstsubdev-image-processing-crop.svgsubdev-image-processing-full.svgsubdev-image-processing-scaling-multi-source.svgtch-formats.rsttuner.rstuser-func.rstuserp.rstv4l2-selection-flags.rstv4l2-selection-targets.rstv4l2.rstv4l2grab-example.rstv4l2grab.c.rstvbi_525.svgvbi_625.svgvbi_hsync.svgvideo.rstvideodev.rstvidioc-create-bufs.rstvidioc-cropcap.rstvidioc-dbg-g-chip-info.rstvidioc-dbg-g-register.rstvidioc-decoder-cmd.rstvidioc-dqevent.rstvidioc-dv-timings-cap.rstvidioc-encoder-cmd.rstvidioc-enum-dv-timings.rstvidioc-enum-fmt.rstvidioc-enum-frameintervals.rstvidioc-enum-framesizes.rstvidioc-enum-freq-bands.rstvidioc-enumaudio.rstvidioc-enumaudioout.rstvidioc-enuminput.rstvidioc-enumoutput.rstvidioc-enumstd.rstvidioc-expbuf.rstvidioc-g-audio.rstvidioc-g-audioout.rstvidioc-g-crop.rstvidioc-g-ctrl.rstvidioc-g-dv-timings.rstvidioc-g-edid.rstvidioc-g-enc-index.rstvidioc-g-ext-ctrls.rstvidioc-g-fbuf.rstvidioc-g-fmt.rstvidioc-g-frequency.rstvidioc-g-input.rstvidioc-g-jpegcomp.rstvidioc-g-modulator.rstvidioc-g-output.rstvidioc-g-parm.rstvidioc-g-priority.rstvidioc-g-selection.rstvidioc-g-sliced-vbi-cap.rstvidioc-g-std.rstvidioc-g-tuner.rstvidioc-log-status.rstvidioc-overlay.rstvidioc-prepare-buf.rstvidioc-qbuf.rstvidioc-query-dv-timings.rstvidioc-querybuf.rstvidioc-querycap.rstvidioc-queryctrl.rstvidioc-querystd.rstvidioc-reqbufs.rstvidioc-s-hw-freq-seek.rstvidioc-streamon.rstvidioc-subdev-enum-frame-interval.rstvidioc-subdev-enum-frame-size.rstvidioc-subdev-enum-mbus-code.rstvidioc-subdev-g-crop.rstvidioc-subdev-g-fmt.rstvidioc-subdev-g-frame-interval.rstvidioc-subdev-g-selection.rstvidioc-subscribe-event.rstyuv-formats.rstv4l-driversau0828-cardlist.rstbttv-cardlist.rstbttv.rstcafe_ccic.rstcardlist.rstcpia2.rstcx18.rstcx2341x.rstcx23885-cardlist.rstcx88-cardlist.rstcx88.rstdavinci-vpbe.rstem28xx-cardlist.rstfimc.rstfourcc.rstgspca-cardlist.rstindex.rstivtv-cardlist.rstivtv.rstmeye.rstomap3isp.rstomap4_camera.rstphilips.rstpvrusb2.rstpxa_camera.rstradiotrack.rstrcar-fdp1.rstsaa7134-cardlist.rstsaa7134.rstsaa7164-cardlist.rstsh_mobile_ceu_camera.rstsi470x.rstsi4713.rstsi476x.rstsoc-camera.rsttm6000-cardlist.rsttuner-cardlist.rsttuners.rstusbvision-cardlist.rstuvcvideo.rstv4l-with-ir.rstvivid.rstzoran.rstzr364xx.rstvideo.h.rst.exceptionsvideodev2.h.rst.exceptionsmemory-barriers.txtmemory-devicesti-emif.txtmemory-hotplug.txtmen-chameleon-bus.txtmetag00-INDEXkernel-ABI.txtmicmic_overview.txtscif_overview.txtmips00-INDEXAU1xxx_IDE.READMEmisc-devicesad525x_dpot.txtapds990x.txtbh1770glc.txtc2port.txteepromics932s401isl29003lcd-panel-cgram.txtlis3lv02dmax6875meimei-client-bus.txtmei.txtpci-endpoint-test.txtspear-pcie-gadget.txtmmc00-INDEXmmc-async-req.txtmmc-dev-attrs.txtmmc-dev-parts.txtmmc-tools.txtmn10300ABI.txtcompartmentalisation.txtmtdintel-spi.txtnandpxa3xx-nand.txtnand_ecc.txtspi-nor.txtnamespacescompatibility-list.txtresource-control.txtnetlabel00-INDEXcipso_ipv4.txtdraft-ietf-cipso-ipsecurity-01.txtintroduction.txtlsm_interface.txtnetworking00-INDEX3c509.txt6lowpan.txt6pack.txtLICENSE.qla3xxxLICENSE.qlcnicLICENSE.qlgePLIP.txtREADME.ipw2100README.ipw2200README.sb1000alias.txtaltera_tse.txtarcnet-hardware.txtarcnet.txtatm.txtax25.txtbatman-adv.txtbaycom.txtbonding.txtbridge.txtcaifLinux-CAIF.txtREADMEspi_porting.txtcan.txtcdc_mbim.txtchecksum-offloads.txtcops.txtcs89x0.txtcxacru-cf.pycxacru.txtcxgb.txtdccp.txtdctcp.txtde4x5.txtdecnet.txtdl2k.txtdm9000.txtdmfe.txtdns_resolver.txtdpaa.txtdriver.txtdsabcm_sf2.txtdsa.txte100.txte1000.txte1000e.txtena.txteql.txtfib_trie.txtfilter.txtfore200e.txtframerelay.txtgen_stats.txtgeneric-hdlc.txtgeneric_netlink.txtgianfar.txtgtp.txti40e.txti40evf.txtieee802154.txtigb.txtigbvf.txtip-sysctl.txtip_dynaddr.txtipddp.txtiphase.txtipsec.txtipv6.txtipvlan.txtipvs-sysctl.txtirda.txtixgb.txtixgbe.txtixgbevf.txtkcm.txtl2tp.txtlapb-module.txtltpc.txtmac80211-auth-assoc-deauth.txtmac80211-injection.txtmac80211_hwsimREADMEhostapd.confwpa_supplicant.confmpls-sysctl.txtmultiqueue.txtnetconsole.txtnetdev-FAQ.txtnetdev-features.txtnetdevices.txtnetfilter-sysctl.txtnetif-msg.txtnf_conntrack-sysctl.txtnfc.txtopenvswitch.txtoperstates.txtpacket_mmap.txtphonet.txtphy.txtpktgen.txtpolicy-routing.txtppp_generic.txtproc_net_tcp.txtradiotap-headers.txtray_cs.txtrds.txtregulatory.txtrxrpc.txts2io.txtscaling.txtsctp.txtsecid.txtseg6-sysctl.txtsegmentation-offloads.txtskfp.txtsmc9.txtspider_net.txtstmmac.txtstrparser.txtswitchdev.txttc-actions-env-rules.txttcp-thin.txttcp.txtteam.txttimestamping.txttlan.txttproxy.txttuntap.txtudplite.txtvortex.txtvrf.txtvxge.txtvxlan.txtx25-iface.txtx25.txtxfrm_proc.txtxfrm_sync.txtxfrm_sysctl.txtz8530drv.txtnfcnfc-hci.txtnfc-pn544.txtnios2READMEnommu-mmap.txtntb.txtnumastat.txtnvdimmbtt.txtnvdimm.txtnvmemnvmem.txtpadata.txtparisc00-INDEXdebuggingregistersparport-lowlevel.txtpcmciadevicetable.txtdriver-changes.txtdriver.txtlocking.txtpercpu-rw-semaphore.txtperfqcom_l2_pmu.txtqcom_l3_pmu.txtxgene-pmu.txtphyphy.txtsamsung-usb2.txtpi-futex.txtpinctrl.txtplatformx86-laptop-drivers.txtpnp.txtpower00-INDEXapm-acpi.txtbasic-pm-debugging.txtcharger-manager.txtdrivers-testing.txtfreezing-of-tasks.txtinterface.txtopp.txtpci.txtpm_qos_interface.txtpower_supply_class.txtpowercappowercap.txtregulatorconsumer.txtdesign.txtmachine.txtoverview.txtregulator.txtruntime_pm.txts2ram.txtstates.txtsuspend-and-cpuhotplug.txtsuspend-and-interrupts.txtswsusp-and-swap-files.txtswsusp-dmcrypt.txtswsusp.txttricks.txtuserland-swsusp.txtvideo.txtpowerpc00-INDEXbootwrapper.txtcpu_families.txtcpu_features.txtcxl.txtcxlflash.txtdscr.txteeh-pci-error-recovery.txtfirmware-assisted-dump.txthvcs.txtmpc52xx.txtpci_iov_resource_on_powernv.txtpmu-ebb.txtptrace.txtqe_firmware.txtsyscall64-abi.txttransactional_memory.txtppspps.txtprctlno_new_privs.txtseccomp_filter.txtpreempt-locking.txtprintk-formats.txtprocess1.Intro.rst2.Process.rst3.Early-stage.rst4.Coding.rst5.Posting.rst6.Followthrough.rst7.AdvancedTopics.rst8.Conclusion.rstadding-syscalls.rstapplying-patches.rstchanges.rstcode-of-conflict.rstcoding-style.rstconf.pydevelopment-process.rstemail-clients.rsthowto.rstindex.rstkernel-docs.rstmagic-number.rstmanagement-style.rststable-api-nonsense.rststable-kernel-rules.rstsubmit-checklist.rstsubmitting-drivers.rstsubmitting-patches.rstvolatile-considered-harmful.rstptipti_intel_mid.txtptpptp.txtpwm.txtrapidiomport_cdev.txtrapidio.txtrio_cm.txtsysfs.txttsi721.txtrbtree.txtremoteproc.txtrfkill.txtrobust-futex-ABI.txtrobust-futexes.txtrpmsg.txtrtc.txts39000-INDEX3270.ChangeLog3270.txtCommonIODASDDebugging390.txtcds.txtconfig3270.shdriver-model.txtmonreader.txtqeth.txts390dbf.txtvfio-ccw.txtzfcpdump.txtscheduler00-INDEXcompletion.txtsched-arch.txtsched-bwc.txtsched-deadline.txtsched-design-CFS.txtsched-domains.txtsched-nice-design.txtsched-pelt.csched-rt-group.txtsched-stats.txtscsi00-INDEX53c700.txtBusLogic.txtChangeLog.1992-1997ChangeLog.arcmsrChangeLog.ipsChangeLog.lpfcChangeLog.megaraidChangeLog.megaraid_sasChangeLog.ncr53c8xxChangeLog.sym53c8xxChangeLog.sym53c8xx_2FlashPoint.txtLICENSE.FlashPointLICENSE.qla2xxxLICENSE.qla4xxxMylex.txtNinjaSCSI.txtaacraid.txtadvansys.txtaha152x.txtaic79xx.txtaic7xxx.txtarcmsr_spec.txtbfa.txtbnx2fc.txtcxgb3i.txtdc395x.txtdpti.txtg_NCR5380.txthpsa.txthptiop.txtlibsas.txtlink_power_management_policy.txtlpfc.txtmegaraid.txtncr53c8xx.txtosd.txtosst.txtppa.txtqlogicfas.txtscsi-changer.txtscsi-generic.txtscsi-parameters.txtscsi.txtscsi_eh.txtscsi_fc_transport.txtscsi_mid_low_api.txtscsi_transport_srpMakefilerport_state_diagram.dotsmartpqi.txtst.txtsym53c500_cs.txtsym53c8xx_2.txttcm_qla2xxx.txttmscsim.txtufs.txtwd719x.txtsecurity00-INDEXIMA-templates.txtLSM.txtLoadPin.txtSELinux.txtSmack.txtYama.txtapparmor.txtconf.pycredentials.txtindex.rstkeys-ecryptfs.txtkeys-request-key.txtkeys-trusted-encrypted.txtkeys.txtself-protection.txttomoyo.txttpmindex.rsttpm_vtpm_proxy.rstxen-tpmfront.txtserial00-INDEXREADME.cycladesZdrivermoxa-smartion_gsm.txtrocket.txtserial-rs485.txttty.txtsgi-ioc4.txtshnew-machine.txtregister-banks.txtsiphash.txtsmsc_ece1099.txtsoundalsa-configuration.rstcardsaudigy-mixer.rstaudiophile-usb.rstbt87x.rstcmipci.rstemu10k1-jack.rsthdspm.rstimg-spdif-in.rstindex.rstjoystick.rstmaya44.rstmixart.rstsb-live-mixer.rstserial-u16550.rstvia82xx-mixer.rstdesignschannel-mapping-api.rstcompress-offload.rstcontrol-names.rstindex.rstjack-controls.rstoss-emulation.rstpowersave.rstprocfile.rstseq-oss.rsttimestamping.rsthd-audiocontrols.rstdp-mst.rstindex.rstmodels.rstnotes.rstindex.rstkernel-apialsa-driver-api.rstindex.rstwriting-an-alsa-driver.rstossALSAudioExcelDSP16CMI8330ESSESS1868IntroductionMultiSoundOPL3OptiPAS16PSSPSS-updatesREADME.OSSREADME.modulesREADME.ymfsbSoundProSoundblasterTropez+VIBRA16WaveArtistbtaudiomwaveoss-parameters.txtultrasoundsocclocking.rstcodec-to-codec.rstcodec.rstdai.rstdapm.rstdpcm.rstindex.rstjack.rstmachine.rstoverview.rstplatform.rstpops-clicks.rstsparcconsole.txtsphinxsphinx-statictheme_overrides.csscdomain.pyconvert_template.sedkernel_include.pykerneldoc.pykfigure.pyload_config.pyparse-headers.plpost_convert.sedrstFlatTable.pytmplcvtspi00-INDEXbutterflypxa2xxspi-lm70llpspi-sc18is602spi-summaryspidevstatic-keys.txtsvga.txtswitchtec.txtsync_file.txtsysctl00-INDEXREADMEabi.txtfs.txtkernel.txtnet.txtsunrpc.txtuser.txtvm.txttargettarget-export-devicetcm_mod_builder.pytcm_mod_builder.txttcmu-design.txttee.txtthermalcpu-cooling-api.txtexynos_thermalexynos_thermal_emulationintel_powerclamp.txtnouveau_thermalpower_allocator.txtsysfs-api.txtx86_pkg_temperature_thermalthis_cpu_ops.txttimers00-INDEXNO_HZ.txthighres.txthpet.txthrtimers.txttimekeeping.txttimers-howto.txttracecoresight.txtevents-kmem.txtevents-msr.txtevents-nmi.txtevents-power.txtevents.txtftrace-design.txtftrace.txtfunction-graph-fold.vimhwlat_detector.txtintel_th.txtkprobetrace.txtmmiotrace.txtpostprocessdecode_msr.pytrace-pagealloc-postprocess.pltrace-vmscan-postprocess.plring-buffer-design.txtstm.txttracepoint-analysis.txttracepoints.txtuprobetracer.txttranslationsja_JPSubmitChecklistSubmittingPatcheshowto.rstindex.rststable_api_nonsense.txtstable_kernel_rules.txtko_KRhowto.rstindex.rstmemory-barriers.txtstable_api_nonsense.txtzh_CNHOWTOIRQ.txtSecurityBugsSubmittingDriversSubmittingPatchesarmBootingkernel_user_helpers.txtarm64booting.txtlegacy_instructions.txtmemory.txtsilicon-errata.txttagged-pointers.txtbasic_profiling.txtcoding-style.rstemail-clients.txtfilesystemssysfs.txtgpio.txtindex.rstio_ordering.txtmagic-number.txtoops-tracing.txtsparse.txtstable_api_nonsense.txtstable_kernel_rules.txtvideo4linuxomap3isp.txtv4l2-framework.txtvolatile-considered-harmful.txtunaligned-memory-access.txtusbCREDITSWUSB-Design-overview.txtacm.txtauthorization.txtchipidea.txtdwc3.txtehci.txtfunctionfs.txtgadget-testing.txtgadget_configfs.txtgadget_hid.txtgadget_multi.txtgadget_printer.txtgadget_serial.txtiuu_phoenix.txtlinux-cdc-acm.inflinux.infmass-storage.txtmisc_usbsevseg.txtmtouchusb.txtohci.txtrio.txttypec.rstusb-help.txtusb-serial.txtusb3-debug-port.rstusbdevfs-drop-permissions.cusbip_protocol.txtusbmon.txtwusb-cbafuserspace-apiconf.pyindex.rstunshare.rstvfio-mediated-device.txtvfio.txtvideo-output.txtvirtual00-INDEXkvm00-INDEXapi.txtarmhyp-abi.txtvgic-mapped-irqs.txtcpuid.txtdevicesREADMEarm-vgic-its.txtarm-vgic-v3.txtarm-vgic.txtmpic.txts390_flic.txtvcpu.txtvfio.txtvm.txtxics.txthalt-polling.txthypercalls.txtlocking.txtmmu.txtmsr.txtnested-vmx.txtppc-pv.txtreview-checklist.txts390-diag.txttimekeeping.txtparavirt_ops.txtumlUserModeLinux-HOWTO.txtvm00-INDEXactive_mm.txtbalancecleancache.txtfrontswap.txthighmem.txthugetlbfs_reserv.txthugetlbpage.txthwpoison.txtidle_page_tracking.txtksm.txtnumanuma_memory_policy.txtovercommit-accountingpage_fragspage_migrationpage_owner.txtpagemap.txtremap_file_pages.txtslub.txtsoft-dirty.txtsplit_page_table_locktranshuge.txtunevictable-lru.txtuserfaultfd.txtz3fold.txtzsmalloc.txtzswap.txtw100-INDEXmasters00-INDEXds2482ds2490mxc-w1omap-hdqw1-gpioslaves00-INDEXw1_ds2406w1_ds2413w1_ds2423w1_ds2438w1_ds28e04w1_thermw1.genericw1.netlinkwatchdogconvert_drivers_to_kernel_api.txthpwdt.txtpcwd-watchdog.txtwatchdog-api.txtwatchdog-kernel-api.txtwatchdog-parameters.txtwdt.txtwimaxREADME.i2400mREADME.wimaxx8600-INDEXboot.txtearly-microcode.txtearlyprintk.txtentry_64.txtexception-tables.txti386IO-APIC.txtintel_mpx.txtintel_rdt_ui.txtkernel-stacksmtrr.txtpat.txtprotection-keys.txttlb.txttopology.txtusb-legacy-support.txtx86_6400-INDEXboot-options.txtcpu-hotplug-specfake-numa-for-cpusetsmachinecheckmm.txtuefi.txtzero-page.txtxillybus.txtxtensaatomctl.txtmmu.txtxz.txtzorro.txtKbuildKconfigMAINTAINERSMakefileREADMEarchKconfigalphaKconfigKconfig.debugMakefilebootMakefilebootloader.ldsbootp.cbootpz.chead.Smain.cmisc.cstdio.ctoolsmkbb.cobjstrip.cdefconfigincludeasmKbuilda.out-core.ha.out.hagp.hagp_backend.hasm-offsets.hatomic.hbarrier.hbitops.hbug.hbugs.hcache.hcacheflush.hchecksum.hcmpxchg.hcompiler.hconsole.hcore_apecs.hcore_cia.hcore_irongate.hcore_lca.hcore_marvel.hcore_mcpcia.hcore_polaris.hcore_t2.hcore_titan.hcore_tsunami.hcore_wildfire.hdelay.hdevice.hdiv64.hdma-mapping.hdma.helf.hemergency-restart.herr_common.herr_ev6.herr_ev7.hextable.hfb.hfloppy.hfpu.hftrace.hfutex.hgct.hhardirq.hhw_irq.hhwrpb.hio.hio_trivial.hirq.hirq_regs.hirqflags.hjensen.hkdebug.hkmap_types.hlinkage.hlocal.hlocal64.hmachvec.hmc146818rtc.hmce.hmmu.hmmu_context.hmmzone.hmodule.hpage.hpal.hparam.hparport.hpci.hpercpu.hperf_event.hpgalloc.hpgtable.hprocessor.hptrace.hrwsem.hsegment.hserial.hsfp-machine.hshmparam.hsignal.hsmp.hsocket.hspecial_insns.hspinlock.hspinlock_types.hstring.hswitch_to.hsyscall.htermios.hthread_info.htimex.htlb.htlbflush.htopology.htypes.huaccess.hucontext.hunaligned.hunistd.huser.hvga.hword-at-a-time.hwrperfmon.hxchg.hxor.huapiasmKbuilda.out.hauxvec.hbitsperlong.hbyteorder.hcompiler.hconsole.herrno.hfcntl.hfpu.hgentrap.hioctl.hioctls.hipcbuf.hkvm_para.hmman.hmsgbuf.hpal.hparam.hpoll.hposix_types.hptrace.hreg.hregdef.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.hsysinfo.htermbits.htermios.htypes.hunistd.hkernelMakefileasm-offsets.caudit.cbinfmt_loader.cconsole.ccore_apecs.ccore_cia.ccore_irongate.ccore_lca.ccore_marvel.ccore_mcpcia.ccore_polaris.ccore_t2.ccore_titan.ccore_tsunami.ccore_wildfire.centry.Serr_common.cerr_ev6.cerr_ev7.cerr_impl.herr_marvel.cerr_titan.ces1888.cgct.chead.Sio.cirq.cirq_alpha.cirq_i8259.cirq_impl.hirq_pyxis.cirq_srm.cmachvec_impl.hmodule.cosf_sys.cpc873xx.cpc873xx.hpci-noop.cpci-sysfs.cpci.cpci_impl.hpci_iommu.cperf_event.cprocess.cproto.hptrace.crtc.csetup.csignal.csmc37c669.csmc37c93x.csmp.csrm_env.csrmcons.csys_alcor.csys_cabriolet.csys_dp264.csys_eb64p.csys_eiger.csys_jensen.csys_marvel.csys_miata.csys_mikasa.csys_nautilus.csys_noritake.csys_rawhide.csys_ruffian.csys_rx164.csys_sable.csys_sio.csys_sx164.csys_takara.csys_titan.csys_wildfire.csystbls.Stime.ctraps.cvmlinux.lds.SlibMakefilecallback_srm.Schecksum.cclear_page.Sclear_user.Scopy_page.Scopy_user.Scsum_ipv6_magic.Scsum_partial_copy.cdbg_current.Sdbg_stackcheck.Sdbg_stackkill.Sdec_and_lock.cdivide.Sev6-clear_page.Sev6-clear_user.Sev6-copy_page.Sev6-copy_user.Sev6-csum_ipv6_magic.Sev6-divide.Sev6-memchr.Sev6-memcpy.Sev6-memset.Sev6-stxcpy.Sev6-stxncpy.Sev67-strcat.Sev67-strchr.Sev67-strlen.Sev67-strncat.Sev67-strrchr.Sfls.cfpreg.cmemchr.Smemcpy.cmemmove.Smemset.Ssrm_printk.csrm_puts.cstacktrace.cstrcat.Sstrchr.Sstrcpy.Sstrlen.Sstrncat.Sstrncpy.Sstrrchr.Sstxcpy.Sstxncpy.Sudelay.cmath-emuMakefilemath.cqrnnd.Ssfp-util.hmmMakefilefault.cinit.cnuma.coprofileMakefilecommon.cop_impl.hop_model_ev4.cop_model_ev5.cop_model_ev6.cop_model_ev67.carcKbuildKconfigKconfig.debugMakefilebootMakefiledtsMakefileabilis_tb100.dtsiabilis_tb100_dvk.dtsabilis_tb101.dtsiabilis_tb101_dvk.dtsabilis_tb10x.dtsiaxc001.dtsiaxc003.dtsiaxc003_idu.dtsiaxs101.dtsaxs103.dtsaxs103_idu.dtsaxs10x_mb.dtsieznps.dtshaps_hs.dtshaps_hs_idu.dtsnsim_700.dtsnsim_hs.dtsnsim_hs_idu.dtsnsimosci.dtsnsimosci_hs.dtsnsimosci_hs_idu.dtsskeleton.dtsiskeleton_hs.dtsiskeleton_hs_idu.dtsivdk_axc003.dtsivdk_axc003_idu.dtsivdk_axs10x_mb.dtsivdk_hs38.dtsvdk_hs38_smp.dtsconfigsaxs101_defconfigaxs103_defconfigaxs103_smp_defconfighaps_hs_defconfighaps_hs_smp_defconfignps_defconfignsim_700_defconfignsim_hs_defconfignsim_hs_smp_defconfignsimosci_defconfignsimosci_hs_defconfignsimosci_hs_smp_defconfigtb10x_defconfigvdk_hs38_defconfigvdk_hs38_smp_defconfigincludeasmKbuildarcregs.hasm-offsets.hatomic.hbarrier.hbitops.hbug.hcache.hcacheflush.hchecksum.hcmpxchg.hcurrent.hdelay.hdisasm.hdma-mapping.hdma.hdwarf.helf.hentry-arcv2.hentry-compact.hentry.hexec.hfb.hfutex.hhighmem.hhugepage.hio.hirq.hirqflags-arcv2.hirqflags-compact.hirqflags.hkdebug.hkgdb.hkmap_types.hkprobes.hlinkage.hmach_desc.hmmu.hmmu_context.hmmzone.hmodule.hpage.hpci.hperf_event.hpgalloc.hpgtable.hprocessor.hptrace.hsections.hsegment.hserial.hsetup.hshmparam.hsmp.hspinlock.hspinlock_types.hstacktrace.hstring.hswitch_to.hsyscall.hsyscalls.hthread_info.htimex.htlb-mmu1.htlb.htlbflush.huaccess.hunaligned.hunwind.huapiasmKbuildbyteorder.hcachectl.helf.hpage.hptrace.hsetup.hsigcontext.hsignal.hswab.hunistd.hkernelMakefilearc_hostlink.carcksyms.casm-offsets.cctx_sw.cctx_sw_asm.Sdevtree.cdisasm.centry-arcv2.Sentry-compact.Sentry.Sfpu.chead.Sintc-arcv2.cintc-compact.cirq.ckgdb.ckprobes.cmcip.cmodule.cpcibios.cperf_event.cprocess.cptrace.creset.csetup.csignal.csmp.cstacktrace.csys.ctraps.ctroubleshoot.cunaligned.cunwind.cvmlinux.lds.SlibMakefilememcmp.Smemcpy-700.Smemcpy-archs.Smemset-archs.Smemset.Sstrchr-700.Sstrcmp-archs.Sstrcmp.Sstrcpy-700.Sstrlen.SmmMakefilecache.cdma.cextable.cfault.chighmem.cinit.cioremap.cmmap.ctlb.ctlbex.SoprofileMakefilecommon.cplat-axs10xKconfigMakefileaxs10x.cplat-eznpsKconfigMakefileentry.Sincludeplatctop.hmtm.hsmp.hmtm.cplatform.csmp.cplat-simKconfigMakefileplatform.cplat-tb10xKconfigMakefiletb10x.carmKconfigKconfig-nommuKconfig.debugMakefilebootMakefilebootpMakefilebootp.ldsinit.Sinitrd.Skernel.ScompressedMakefileatags_to_fdt.cbig-endian.Sdebug.Sdecompress.cefi-header.Shead-sa1100.Shead-sharpsl.Shead-xscale.Shead.Slibfdt_env.hll_char_wr.Smisc.cpiggy.Sstring.cvmlinux.lds.SdtsMakefileaks-cdu.dtsalphascale-asm9260-devkit.dtsalphascale-asm9260.dtsialpine-db.dtsalpine.dtsiam335x-baltos-ir2110.dtsam335x-baltos-ir3220.dtsam335x-baltos-ir5221.dtsam335x-baltos-leds.dtsiam335x-baltos.dtsiam335x-base0033.dtsam335x-bone-common.dtsiam335x-bone.dtsam335x-boneblack-common.dtsiam335x-boneblack-wireless.dtsam335x-boneblack.dtsam335x-bonegreen-common.dtsiam335x-bonegreen-wireless.dtsam335x-bonegreen.dtsam335x-chiliboard.dtsam335x-chilisom.dtsiam335x-cm-t335.dtsam335x-evm.dtsam335x-evmsk.dtsam335x-icev2.dtsam335x-igep0033.dtsiam335x-lxm.dtsam335x-nano.dtsam335x-pcm-953.dtsiam335x-pepper.dtsam335x-phycore-rdk.dtsam335x-phycore-som.dtsiam335x-sbc-t335.dtsam335x-shc.dtsam335x-sl50.dtsam335x-wega-rdk.dtsam335x-wega.dtsiam33xx-clocks.dtsiam33xx.dtsiam3517-craneboard.dtsam3517-evm.dtsam3517.dtsiam3517_mt_ventoux.dtsam35xx-clocks.dtsiam4372.dtsiam437x-cm-t43.dtsam437x-gp-evm.dtsam437x-idk-evm.dtsam437x-sbc-t43.dtsam437x-sk-evm.dtsam43x-epos-evm.dtsam43xx-clocks.dtsiam571x-idk.dtsam572x-idk.dtsam57xx-beagle-x15-common.dtsiam57xx-beagle-x15-revb1.dtsam57xx-beagle-x15.dtsam57xx-cl-som-am57x.dtsam57xx-commercial-grade.dtsiam57xx-idk-common.dtsiam57xx-industrial-grade.dtsiam57xx-sbc-am57x.dtsanimeo_ip.dtsarm-realview-eb-11mp-bbrevd-ctrevb.dtsarm-realview-eb-11mp-bbrevd.dtsarm-realview-eb-11mp-ctrevb.dtsarm-realview-eb-11mp.dtsarm-realview-eb-a9mp-bbrevd.dtsarm-realview-eb-a9mp.dtsarm-realview-eb-bbrevd.dtsarm-realview-eb-bbrevd.dtsiarm-realview-eb-mp.dtsiarm-realview-eb.dtsarm-realview-eb.dtsiarm-realview-pb1176.dtsarm-realview-pb11mp.dtsarm-realview-pba8.dtsarm-realview-pbx-a9.dtsarm-realview-pbx.dtsiarmada-370-db.dtsarmada-370-dlink-dns327l.dtsarmada-370-mirabox.dtsarmada-370-netgear-rn102.dtsarmada-370-netgear-rn104.dtsarmada-370-rd.dtsarmada-370-seagate-nas-2bay.dtsarmada-370-seagate-nas-4bay.dtsarmada-370-seagate-nas-xbay.dtsiarmada-370-seagate-personal-cloud-2bay.dtsarmada-370-seagate-personal-cloud.dtsarmada-370-seagate-personal-cloud.dtsiarmada-370-synology-ds213j.dtsarmada-370-xp.dtsiarmada-370.dtsiarmada-375-db.dtsarmada-375.dtsiarmada-380.dtsiarmada-385-db-ap.dtsarmada-385-linksys-caiman.dtsarmada-385-linksys-cobra.dtsarmada-385-linksys-shelby.dtsarmada-385-linksys.dtsiarmada-385-synology-ds116.dtsarmada-385-turris-omnia.dtsarmada-385.dtsiarmada-388-clearfog-base.dtsarmada-388-clearfog-pro.dtsarmada-388-clearfog.dtsarmada-388-clearfog.dtsiarmada-388-db.dtsarmada-388-gp.dtsarmada-388-rd.dtsarmada-388.dtsiarmada-38x-solidrun-microsom.dtsiarmada-38x.dtsiarmada-390-db.dtsarmada-390.dtsiarmada-395-gp.dtsarmada-395.dtsiarmada-398-db.dtsarmada-398.dtsiarmada-39x.dtsiarmada-xp-98dx3236.dtsiarmada-xp-98dx3336.dtsiarmada-xp-98dx4251.dtsiarmada-xp-axpwifiap.dtsarmada-xp-db-dxbc2.dtsarmada-xp-db-xc3-24g4xg.dtsarmada-xp-db.dtsarmada-xp-gp.dtsarmada-xp-lenovo-ix4-300d.dtsarmada-xp-linksys-mamba.dtsarmada-xp-matrix.dtsarmada-xp-mv78230.dtsiarmada-xp-mv78260.dtsiarmada-xp-mv78460.dtsiarmada-xp-netgear-rn2120.dtsarmada-xp-openblocks-ax3-4.dtsarmada-xp-synology-ds414.dtsarmada-xp.dtsiarmv7-m.dtsiartpec6-devboard.dtsartpec6.dtsiaspeed-ast2500-evb.dtsaspeed-bmc-opp-palmetto.dtsaspeed-bmc-opp-romulus.dtsaspeed-g4.dtsiaspeed-g5.dtsiat91-ariag25.dtsat91-ariettag25.dtsat91-cosino.dtsiat91-cosino_mega2560.dtsat91-foxg20.dtsat91-kizbox.dtsat91-kizbox2.dtsat91-kizboxmini.dtsat91-linea.dtsiat91-qil_a9260.dtsat91-sam9_l9260.dtsat91-sama5d2_xplained.dtsat91-sama5d3_xplained.dtsat91-sama5d4_ma5d4.dtsiat91-sama5d4_ma5d4evk.dtsat91-sama5d4_xplained.dtsat91-sama5d4ek.dtsat91-tse850-3.dtsat91-vinco.dtsat91rm9200.dtsiat91rm9200_pqfp.dtsiat91rm9200ek.dtsat91sam9260.dtsiat91sam9260ek.dtsat91sam9261.dtsiat91sam9261ek.dtsat91sam9263.dtsiat91sam9263ek.dtsat91sam9g15.dtsiat91sam9g15ek.dtsat91sam9g20.dtsiat91sam9g20ek.dtsat91sam9g20ek_2mmc.dtsat91sam9g20ek_common.dtsiat91sam9g25.dtsiat91sam9g25ek.dtsat91sam9g35.dtsiat91sam9g35ek.dtsat91sam9g45.dtsiat91sam9m10g45ek.dtsat91sam9n12.dtsiat91sam9n12ek.dtsat91sam9rl.dtsiat91sam9rlek.dtsat91sam9x25.dtsiat91sam9x25ek.dtsat91sam9x35.dtsiat91sam9x35ek.dtsat91sam9x5.dtsiat91sam9x5_can.dtsiat91sam9x5_isi.dtsiat91sam9x5_lcd.dtsiat91sam9x5_macb0.dtsiat91sam9x5_macb1.dtsiat91sam9x5_usart3.dtsiat91sam9x5cm.dtsiat91sam9x5dm.dtsiat91sam9x5ek.dtsiat91sam9xe.dtsiatlas6-evb.dtsatlas6.dtsiatlas7-evb.dtsatlas7.dtsiaxm5516-amarillo.dtsaxm5516-cpus.dtsiaxm55xx.dtsiaxp152.dtsiaxp209.dtsiaxp223.dtsiaxp22x.dtsiaxp809.dtsibcm-cygnus-clock.dtsibcm-cygnus.dtsibcm-nsp.dtsibcm11351.dtsibcm21664-garnet.dtsbcm21664.dtsibcm23550-sparrow.dtsbcm23550.dtsibcm28155-ap.dtsbcm2835-rpi-a-plus.dtsbcm2835-rpi-a.dtsbcm2835-rpi-b-plus.dtsbcm2835-rpi-b-rev2.dtsbcm2835-rpi-b.dtsbcm2835-rpi-zero.dtsbcm2835-rpi.dtsibcm2835.dtsibcm2836-rpi-2-b.dtsbcm2836.dtsibcm283x-rpi-smsc9512.dtsibcm283x-rpi-smsc9514.dtsibcm283x-rpi-usb-host.dtsibcm283x.dtsibcm4708-asus-rt-ac56u.dtsbcm4708-asus-rt-ac68u.dtsbcm4708-buffalo-wzr-1750dhp.dtsbcm4708-linksys-ea6300-v1.dtsbcm4708-luxul-xap-1510.dtsbcm4708-luxul-xwc-1000.dtsbcm4708-netgear-r6250.dtsbcm4708-netgear-r6300-v2.dtsbcm4708-smartrg-sr400ac.dtsbcm4708.dtsibcm47081-asus-rt-n18u.dtsbcm47081-buffalo-wzr-600dhp2.dtsbcm47081-buffalo-wzr-900dhp.dtsbcm47081-luxul-xap-1410.dtsbcm47081-luxul-xwr-1200.dtsbcm47081-tplink-archer-c5-v2.dtsbcm47081.dtsibcm4709-asus-rt-ac87u.dtsbcm4709-buffalo-wxr-1900dhp.dtsbcm4709-linksys-ea9200.dtsbcm4709-netgear-r7000.dtsbcm4709-netgear-r8000.dtsbcm4709-tplink-archer-c9-v1.dtsbcm4709.dtsibcm47094-dlink-dir-885l.dtsbcm47094-linksys-panamera.dtsbcm47094-luxul-xwr-3100.dtsbcm47094-netgear-r8500.dtsbcm47094.dtsibcm47189-tenda-ac9.dtsbcm5301x-nand-cs0-bch1.dtsibcm5301x-nand-cs0-bch4.dtsibcm5301x-nand-cs0-bch8.dtsibcm5301x-nand-cs0.dtsibcm5301x.dtsibcm53573.dtsibcm59056.dtsibcm63138.dtsibcm7445-bcm97445svmb.dtsbcm7445.dtsibcm911360_entphn.dtsbcm911360k.dtsbcm94708.dtsbcm94709.dtsbcm953012er.dtsbcm953012hr.dtsbcm953012k.dtsbcm958300k.dtsbcm958305k.dtsbcm958522er.dtsbcm958525er.dtsbcm958525xmc.dtsbcm958622hr.dtsbcm958623hr.dtsbcm958625hr.dtsbcm958625k.dtsbcm963138dvt.dtsbcm988312hr.dtsbcm9hmidc.dtsiberlin2-sony-nsz-gs7.dtsberlin2.dtsiberlin2cd-google-chromecast.dtsberlin2cd.dtsiberlin2q-marvell-dmp.dtsberlin2q.dtsicloudengines-pogoplug-series-3.dtscompulab-sb-som.dtsicros-adc-thermistors.dtsicros-ec-keyboard.dtsicros-ec-sbs.dtsicx92755.dtsicx92755_equinox.dtsda850-enbw-cmc.dtsda850-evm.dtsda850-lcdk.dtsda850-lego-ev3.dtsda850.dtsidm8148-evm.dtsdm8148-t410.dtsdm814x-clocks.dtsidm814x.dtsidm8168-evm.dtsdm816x-clocks.dtsidm816x.dtsidove-cm-a510.dtsidove-cubox-es.dtsdove-cubox.dtsdove-d2plug.dtsdove-d3plug.dtsdove-dove-db.dtsdove-sbc-a510.dtsdove.dtsidra62x-clocks.dtsidra62x-j5eco-evm.dtsdra62x.dtsidra7-dspeve-thermal.dtsidra7-evm.dtsdra7-iva-thermal.dtsidra7.dtsidra71-evm.dtsdra72-evm-common.dtsidra72-evm-revc.dtsdra72-evm-tps65917.dtsidra72-evm.dtsdra72x.dtsidra74x.dtsidra7xx-clocks.dtsiecx-2000.dtsecx-common.dtsiefm32gg-dk3750.dtsefm32gg.dtsielpida_ecb240abacn.dtsiemev2-kzm9d.dtsemev2.dtsiep7209.dtsiep7211-edb7211.dtsep7211.dtsiethernut5.dtsevk-pro3.dtsexynos-mfc-reserved-memory.dtsiexynos-syscon-restart.dtsiexynos3250-artik5-eval.dtsexynos3250-artik5.dtsiexynos3250-monk.dtsexynos3250-pinctrl.dtsiexynos3250-rinato.dtsexynos3250.dtsiexynos4-cpu-thermal.dtsiexynos4.dtsiexynos4210-origen.dtsexynos4210-pinctrl.dtsiexynos4210-smdkv310.dtsexynos4210-trats.dtsexynos4210-universal_c210.dtsexynos4210.dtsiexynos4412-itop-elite.dtsexynos4412-itop-scp-core.dtsiexynos4412-odroid-common.dtsiexynos4412-odroidu3.dtsexynos4412-odroidx.dtsexynos4412-odroidx2.dtsexynos4412-origen.dtsexynos4412-pinctrl.dtsiexynos4412-ppmu-common.dtsiexynos4412-prime.dtsiexynos4412-smdk4412.dtsexynos4412-tiny4412.dtsexynos4412-tmu-sensor-conf.dtsiexynos4412-trats2.dtsexynos4412.dtsiexynos5.dtsiexynos5250-arndale.dtsexynos5250-pinctrl.dtsiexynos5250-smdk5250.dtsexynos5250-snow-common.dtsiexynos5250-snow-rev5.dtsexynos5250-snow.dtsexynos5250-spring.dtsexynos5250.dtsiexynos5260-pinctrl.dtsiexynos5260-xyref5260.dtsexynos5260.dtsiexynos5410-odroidxu.dtsexynos5410-pinctrl.dtsiexynos5410-smdk5410.dtsexynos5410.dtsiexynos5420-arndale-octa.dtsexynos5420-cpus.dtsiexynos5420-peach-pit.dtsexynos5420-pinctrl.dtsiexynos5420-smdk5420.dtsexynos5420-tmu-sensor-conf.dtsiexynos5420-trip-points.dtsiexynos5420.dtsiexynos5422-cpus.dtsiexynos5422-odroidxu3-audio.dtsiexynos5422-odroidxu3-common.dtsiexynos5422-odroidxu3-lite.dtsexynos5422-odroidxu3.dtsexynos5422-odroidxu4.dtsexynos5440-sd5v1.dtsexynos5440-ssdk5440.dtsexynos5440-tmu-sensor-conf.dtsiexynos5440-trip-points.dtsiexynos5440.dtsiexynos54xx-odroidxu-leds.dtsiexynos54xx.dtsiexynos5800-peach-pi.dtsexynos5800.dtsige863-pro3.dtsigemini-nas4220b.dtsgemini-rut1xx.dtsgemini-sq201.dtsgemini-wbd111.dtsgemini-wbd222.dtsgemini.dtsihi3519-demb.dtshi3519.dtsihi3620-hi4511.dtshi3620.dtsihighbank.dtship01-ca9x2.dtship01.dtsihip04-d01.dtship04.dtsihisi-x5hd2-dkb.dtshisi-x5hd2.dtsiimx1-ads.dtsimx1-apf9328.dtsimx1-pinfunc.himx1.dtsiimx23-evk.dtsimx23-olinuxino.dtsimx23-pinfunc.himx23-sansa.dtsimx23-stmp378x_devb.dtsimx23-xfi3.dtsimx23.dtsiimx25-eukrea-cpuimx25.dtsiimx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dtsimx25-eukrea-mbimxsd25-baseboard-dvi-svga.dtsimx25-eukrea-mbimxsd25-baseboard-dvi-vga.dtsimx25-eukrea-mbimxsd25-baseboard.dtsimx25-karo-tx25.dtsimx25-pdk.dtsimx25-pinfunc.himx25.dtsiimx27-apf27.dtsimx27-apf27dev.dtsimx27-eukrea-cpuimx27.dtsiimx27-eukrea-mbimxsd27-baseboard.dtsimx27-pdk.dtsimx27-phytec-phycard-s-rdk.dtsimx27-phytec-phycard-s-som.dtsiimx27-phytec-phycore-rdk.dtsimx27-phytec-phycore-som.dtsiimx27-pinfunc.himx27.dtsiimx28-apf28.dtsimx28-apf28dev.dtsimx28-apx4devkit.dtsimx28-cfa10036.dtsimx28-cfa10037.dtsimx28-cfa10049.dtsimx28-cfa10055.dtsimx28-cfa10056.dtsimx28-cfa10057.dtsimx28-cfa10058.dtsimx28-duckbill-2-485.dtsimx28-duckbill-2-enocean.dtsimx28-duckbill-2-spi.dtsimx28-duckbill-2.dtsimx28-duckbill.dtsimx28-eukrea-mbmx283lc.dtsimx28-eukrea-mbmx287lc.dtsimx28-eukrea-mbmx28lc.dtsiimx28-evk.dtsimx28-m28.dtsiimx28-m28cu3.dtsimx28-m28evk.dtsimx28-pinfunc.himx28-sps1.dtsimx28-tx28.dtsimx28.dtsiimx31-bug.dtsimx31.dtsiimx35-eukrea-cpuimx35.dtsiimx35-eukrea-mbimxsd35-baseboard.dtsimx35-pdk.dtsimx35-pinfunc.himx35.dtsiimx50-evk.dtsimx50-pinfunc.himx50.dtsiimx51-apf51.dtsimx51-apf51dev.dtsimx51-babbage.dtsimx51-digi-connectcore-jsk.dtsimx51-digi-connectcore-som.dtsiimx51-eukrea-cpuimx51.dtsiimx51-eukrea-mbimxsd51-baseboard.dtsimx51-pinfunc.himx51-ts4800.dtsimx51.dtsiimx53-ard.dtsimx53-m53.dtsiimx53-m53evk.dtsimx53-mba53.dtsimx53-pinfunc.himx53-qsb-common.dtsiimx53-qsb.dtsimx53-qsrb.dtsimx53-smd.dtsimx53-tqma53.dtsiimx53-tx53-x03x.dtsimx53-tx53-x13x.dtsimx53-tx53.dtsiimx53-usbarmory.dtsimx53-voipac-bsb.dtsimx53-voipac-dmm-668.dtsiimx53.dtsiimx6dl-apf6dev.dtsimx6dl-aristainetos2_4.dtsimx6dl-aristainetos2_7.dtsimx6dl-aristainetos_4.dtsimx6dl-aristainetos_7.dtsimx6dl-colibri-eval-v3.dtsimx6dl-cubox-i.dtsimx6dl-dfi-fs700-m60.dtsimx6dl-gw51xx.dtsimx6dl-gw52xx.dtsimx6dl-gw53xx.dtsimx6dl-gw54xx.dtsimx6dl-gw551x.dtsimx6dl-gw552x.dtsimx6dl-gw553x.dtsimx6dl-gw5903.dtsimx6dl-gw5904.dtsimx6dl-hummingboard.dtsimx6dl-icore-rqs.dtsimx6dl-icore.dtsimx6dl-nit6xlite.dtsimx6dl-nitrogen6x.dtsimx6dl-phytec-pbab01.dtsimx6dl-phytec-pfla02.dtsiimx6dl-pinfunc.himx6dl-rex-basic.dtsimx6dl-riotboard.dtsimx6dl-sabreauto.dtsimx6dl-sabrelite.dtsimx6dl-sabresd.dtsimx6dl-savageboard.dtsimx6dl-ts4900.dtsimx6dl-tx6dl-comtft.dtsimx6dl-tx6s-8034.dtsimx6dl-tx6s-8035.dtsimx6dl-tx6u-801x.dtsimx6dl-tx6u-8033.dtsimx6dl-tx6u-811x.dtsimx6dl-tx6u-81xx-mb7.dtsimx6dl-udoo.dtsimx6dl-wandboard-revb1.dtsimx6dl-wandboard.dtsimx6dl.dtsiimx6q-apalis-ixora.dtsimx6q-apf6dev.dtsimx6q-arm2.dtsimx6q-b450v3.dtsimx6q-b650v3.dtsimx6q-b850v3.dtsimx6q-ba16.dtsiimx6q-bx50v3.dtsiimx6q-cm-fx6.dtsimx6q-cubox-i.dtsimx6q-dfi-fs700-m60.dtsimx6q-dmo-edmqmx6.dtsimx6q-evi.dtsimx6q-gk802.dtsimx6q-gw51xx.dtsimx6q-gw52xx.dtsimx6q-gw53xx.dtsimx6q-gw5400-a.dtsimx6q-gw54xx.dtsimx6q-gw551x.dtsimx6q-gw552x.dtsimx6q-gw553x.dtsimx6q-gw5903.dtsimx6q-gw5904.dtsimx6q-h100.dtsimx6q-hummingboard.dtsimx6q-icore-ofcap10.dtsimx6q-icore-ofcap12.dtsimx6q-icore-rqs.dtsimx6q-icore.dtsimx6q-marsboard.dtsimx6q-mccmon6.dtsimx6q-nitrogen6_max.dtsimx6q-nitrogen6_som2.dtsimx6q-nitrogen6x.dtsimx6q-novena.dtsimx6q-phytec-pbab01.dtsimx6q-phytec-pfla02.dtsiimx6q-pinfunc.himx6q-rex-pro.dtsimx6q-sabreauto.dtsimx6q-sabrelite.dtsimx6q-sabresd.dtsimx6q-savageboard.dtsimx6q-sbc6x.dtsimx6q-tbs2910.dtsimx6q-ts4900.dtsimx6q-tx6q-1010-comtft.dtsimx6q-tx6q-1010.dtsimx6q-tx6q-1020-comtft.dtsimx6q-tx6q-1020.dtsimx6q-tx6q-1036.dtsimx6q-tx6q-1110.dtsimx6q-tx6q-11x0-mb7.dtsimx6q-udoo.dtsimx6q-utilite-pro.dtsimx6q-wandboard-revb1.dtsimx6q-wandboard.dtsimx6q-zii-rdu2.dtsimx6q.dtsiimx6qdl-apalis.dtsiimx6qdl-apf6.dtsiimx6qdl-apf6dev.dtsiimx6qdl-aristainetos.dtsiimx6qdl-aristainetos2.dtsiimx6qdl-colibri.dtsiimx6qdl-cubox-i.dtsiimx6qdl-dfi-fs700-m60.dtsiimx6qdl-gw51xx.dtsiimx6qdl-gw52xx.dtsiimx6qdl-gw53xx.dtsiimx6qdl-gw54xx.dtsiimx6qdl-gw551x.dtsiimx6qdl-gw552x.dtsiimx6qdl-gw553x.dtsiimx6qdl-gw5903.dtsiimx6qdl-gw5904.dtsiimx6qdl-hummingboard.dtsiimx6qdl-icore-rqs.dtsiimx6qdl-icore.dtsiimx6qdl-microsom-ar8035.dtsiimx6qdl-microsom.dtsiimx6qdl-nit6xlite.dtsiimx6qdl-nitrogen6_max.dtsiimx6qdl-nitrogen6_som2.dtsiimx6qdl-nitrogen6x.dtsiimx6qdl-phytec-pbab01.dtsiimx6qdl-phytec-pfla02.dtsiimx6qdl-rex.dtsiimx6qdl-sabreauto.dtsiimx6qdl-sabrelite.dtsiimx6qdl-sabresd.dtsiimx6qdl-savageboard.dtsiimx6qdl-ts4900.dtsiimx6qdl-tx6.dtsiimx6qdl-udoo.dtsiimx6qdl-wandboard-revb1.dtsiimx6qdl-wandboard-revc1.dtsiimx6qdl-wandboard.dtsiimx6qdl-zii-rdu2.dtsiimx6qdl.dtsiimx6qp-nitrogen6_max.dtsimx6qp-nitrogen6_som2.dtsimx6qp-sabreauto.dtsimx6qp-sabresd.dtsimx6qp-zii-rdu2.dtsimx6qp.dtsiimx6sl-evk.dtsimx6sl-pinfunc.himx6sl-warp.dtsimx6sl.dtsiimx6sx-nitrogen6sx.dtsimx6sx-pinfunc.himx6sx-sabreauto.dtsimx6sx-sdb-reva.dtsimx6sx-sdb-sai.dtsimx6sx-sdb.dtsimx6sx-sdb.dtsiimx6sx-udoo-neo-basic.dtsimx6sx-udoo-neo-extended.dtsimx6sx-udoo-neo-full.dtsimx6sx-udoo-neo.dtsiimx6sx.dtsiimx6ul-14x14-evk.dtsimx6ul-geam-kit.dtsimx6ul-geam.dtsiimx6ul-isiot-common.dtsiimx6ul-isiot-emmc.dtsimx6ul-isiot-nand.dtsimx6ul-isiot.dtsiimx6ul-liteboard.dtsimx6ul-litesom.dtsiimx6ul-opos6ul.dtsiimx6ul-opos6uldev.dtsimx6ul-pico-hobbit.dtsimx6ul-pinfunc.himx6ul-tx6ul-0010.dtsimx6ul-tx6ul-0011.dtsimx6ul-tx6ul-mainboard.dtsimx6ul-tx6ul.dtsiimx6ul.dtsiimx6ull-14x14-evk.dtsimx6ull-pinfunc.himx6ull.dtsiimx7-colibri-eval-v3.dtsiimx7-colibri.dtsiimx7d-cl-som-imx7.dtsimx7d-colibri-eval-v3.dtsimx7d-colibri.dtsiimx7d-nitrogen7.dtsimx7d-pinfunc.himx7d-sbc-imx7.dtsimx7d-sdb-sht11.dtsimx7d-sdb.dtsimx7d.dtsiimx7s-colibri-eval-v3.dtsimx7s-colibri.dtsiimx7s-warp.dtsimx7s.dtsiintegrator.dtsiintegratorap.dtsintegratorcp.dtskeystone-clocks.dtsikeystone-k2e-clocks.dtsikeystone-k2e-evm.dtskeystone-k2e-netcp.dtsikeystone-k2e.dtsikeystone-k2g-evm.dtskeystone-k2g.dtsikeystone-k2hk-clocks.dtsikeystone-k2hk-evm.dtskeystone-k2hk-netcp.dtsikeystone-k2hk.dtsikeystone-k2l-clocks.dtsikeystone-k2l-evm.dtskeystone-k2l-netcp.dtsikeystone-k2l.dtsikeystone.dtsikirkwood-6192.dtsikirkwood-6281.dtsikirkwood-6282.dtsikirkwood-98dx4122.dtsikirkwood-b3.dtskirkwood-blackarmor-nas220.dtskirkwood-cloudbox.dtskirkwood-d2net.dtskirkwood-db-88f6281.dtskirkwood-db-88f6282.dtskirkwood-db.dtsikirkwood-dir665.dtskirkwood-dns320.dtskirkwood-dns325.dtskirkwood-dnskw.dtsikirkwood-dockstar.dtskirkwood-dreamplug.dtskirkwood-ds109.dtskirkwood-ds110jv10.dtskirkwood-ds111.dtskirkwood-ds112.dtskirkwood-ds209.dtskirkwood-ds210.dtskirkwood-ds212.dtskirkwood-ds212j.dtskirkwood-ds409.dtskirkwood-ds409slim.dtskirkwood-ds411.dtskirkwood-ds411j.dtskirkwood-ds411slim.dtskirkwood-goflexnet.dtskirkwood-guruplug-server-plus.dtskirkwood-ib62x0.dtskirkwood-iconnect.dtskirkwood-iomega_ix2_200.dtskirkwood-is2.dtskirkwood-km_common.dtsikirkwood-km_fixedeth.dtskirkwood-km_kirkwood.dtskirkwood-laplug.dtskirkwood-linkstation-6282.dtsikirkwood-linkstation-duo-6281.dtsikirkwood-linkstation-lsqvl.dtskirkwood-linkstation-lsvl.dtskirkwood-linkstation-lswsxl.dtskirkwood-linkstation-lswvl.dtskirkwood-linkstation-lswxl.dtskirkwood-linkstation.dtsikirkwood-linksys-viper.dtskirkwood-lschlv2.dtskirkwood-lsxhl.dtskirkwood-lsxl.dtsikirkwood-mplcec4.dtskirkwood-mv88f6281gtw-ge.dtskirkwood-nas2big.dtskirkwood-net2big.dtskirkwood-net5big.dtskirkwood-netgear_readynas_duo_v2.dtskirkwood-netgear_readynas_nv+_v2.dtskirkwood-netxbig.dtsikirkwood-ns2-common.dtsikirkwood-ns2.dtskirkwood-ns2lite.dtskirkwood-ns2max.dtskirkwood-ns2mini.dtskirkwood-nsa310.dtskirkwood-nsa310a.dtskirkwood-nsa320.dtskirkwood-nsa325.dtskirkwood-nsa3x0-common.dtsikirkwood-openblocks_a6.dtskirkwood-openblocks_a7.dtskirkwood-openrd-base.dtskirkwood-openrd-client.dtskirkwood-openrd-ultimate.dtskirkwood-openrd.dtsikirkwood-pogo_e02.dtskirkwood-pogoplug-series-4.dtskirkwood-rd88f6192.dtskirkwood-rd88f6281-a.dtskirkwood-rd88f6281-z0.dtskirkwood-rd88f6281.dtsikirkwood-rs212.dtskirkwood-rs409.dtskirkwood-rs411.dtskirkwood-sheevaplug-common.dtsikirkwood-sheevaplug-esata.dtskirkwood-sheevaplug.dtskirkwood-synology.dtsikirkwood-t5325.dtskirkwood-topkick.dtskirkwood-ts219-6281.dtskirkwood-ts219-6282.dtskirkwood-ts219.dtsikirkwood-ts419-6281.dtskirkwood-ts419-6282.dtskirkwood-ts419.dtsikirkwood.dtsilogicpd-som-lv-37xx-devkit.dtslogicpd-som-lv.dtsilogicpd-torpedo-37xx-devkit.dtslogicpd-torpedo-som.dtsilpc18xx.dtsilpc3250-ea3250.dtslpc3250-phy3250.dtslpc32xx.dtsilpc4337-ciaa.dtslpc4350-hitex-eval.dtslpc4350.dtsilpc4357-ea4357-devkit.dtslpc4357.dtsils1021a-qds.dtsls1021a-twr.dtsls1021a.dtsimeson.dtsimeson6-atv1200.dtsmeson6.dtsimeson8-minix-neo-x8.dtsmeson8.dtsimeson8b-mxq.dtsmeson8b-odroidc1.dtsmeson8b.dtsimmp2-brownstone.dtsmmp2.dtsimotorola-cpcap-mapphone.dtsimoxart-uc7112lx.dtsmoxart.dtsimpa1600.dtsmps2-an385.dtsmps2-an399.dtsmps2.dtsimt2701-evb.dtsmt2701-pinfunc.hmt2701.dtsimt6580-evbp1.dtsmt6580.dtsimt6589-aquaris5.dtsmt6589.dtsimt6592-evb.dtsmt6592.dtsimt7623-evb.dtsmt7623.dtsimt8127-moose.dtsmt8127.dtsimt8135-evbp1.dtsmt8135-pinfunc.hmt8135.dtsimvebu-linkstation-fan.dtsimvebu-linkstation-gpio-simple.dtsimxs-pinfunc.hnspire-classic.dtsinspire-clp.dtsnspire-cx.dtsnspire-tp.dtsnspire.dtsiomap-gpmc-smsc911x.dtsiomap-gpmc-smsc9221.dtsiomap-zoom-common.dtsiomap2.dtsiomap2420-clocks.dtsiomap2420-h4.dtsomap2420-n800.dtsomap2420-n810-wimax.dtsomap2420-n810.dtsomap2420-n8x0-common.dtsiomap2420.dtsiomap2430-clocks.dtsiomap2430-sdp.dtsomap2430.dtsiomap24xx-clocks.dtsiomap3-beagle-xm-ab.dtsomap3-beagle-xm.dtsomap3-beagle.dtsomap3-cm-t3517.dtsomap3-cm-t3530.dtsomap3-cm-t3730.dtsomap3-cm-t3x.dtsiomap3-cm-t3x30.dtsiomap3-cpu-thermal.dtsiomap3-devkit8000-common.dtsiomap3-devkit8000-lcd-common.dtsiomap3-devkit8000-lcd43.dtsomap3-devkit8000-lcd70.dtsomap3-devkit8000.dtsomap3-evm-37xx.dtsomap3-evm-common.dtsiomap3-evm.dtsomap3-gta04.dtsiomap3-gta04a3.dtsomap3-gta04a4.dtsomap3-gta04a5.dtsomap3-ha-common.dtsiomap3-ha-lcd.dtsomap3-ha.dtsomap3-igep.dtsiomap3-igep0020-common.dtsiomap3-igep0020-rev-f.dtsomap3-igep0020.dtsomap3-igep0030-common.dtsiomap3-igep0030-rev-g.dtsomap3-igep0030.dtsomap3-ldp.dtsomap3-lilly-a83x.dtsiomap3-lilly-dbb056.dtsomap3-n9.dtsomap3-n900.dtsomap3-n950-n9.dtsiomap3-n950.dtsomap3-overo-alto35-common.dtsiomap3-overo-alto35.dtsomap3-overo-base.dtsiomap3-overo-chestnut43-common.dtsiomap3-overo-chestnut43.dtsomap3-overo-common-dvi.dtsiomap3-overo-common-lcd35.dtsiomap3-overo-common-lcd43.dtsiomap3-overo-common-peripherals.dtsiomap3-overo-gallop43-common.dtsiomap3-overo-gallop43.dtsomap3-overo-palo35-common.dtsiomap3-overo-palo35.dtsomap3-overo-palo43-common.dtsiomap3-overo-palo43.dtsomap3-overo-storm-alto35.dtsomap3-overo-storm-chestnut43.dtsomap3-overo-storm-gallop43.dtsomap3-overo-storm-palo35.dtsomap3-overo-storm-palo43.dtsomap3-overo-storm-summit.dtsomap3-overo-storm-tobi.dtsomap3-overo-storm-tobiduo.dtsomap3-overo-storm.dtsiomap3-overo-summit-common.dtsiomap3-overo-summit.dtsomap3-overo-tobi-common.dtsiomap3-overo-tobi.dtsomap3-overo-tobiduo-common.dtsiomap3-overo-tobiduo.dtsomap3-overo.dtsiomap3-pandora-1ghz.dtsomap3-pandora-600mhz.dtsomap3-pandora-common.dtsiomap3-panel-sharp-ls037v7dw01.dtsiomap3-sb-t35.dtsiomap3-sbc-t3517.dtsomap3-sbc-t3530.dtsomap3-sbc-t3730.dtsomap3-sniper.dtsomap3-tao3530.dtsiomap3-thunder.dtsomap3-zoom3.dtsomap3.dtsiomap3430-sdp.dtsomap3430es1-clocks.dtsiomap34xx-omap36xx-clocks.dtsiomap34xx.dtsiomap36xx-am35xx-omap3430es2plus-clocks.dtsiomap36xx-clocks.dtsiomap36xx-omap3430es2plus-clocks.dtsiomap36xx.dtsiomap3xxx-clocks.dtsiomap4-cpu-thermal.dtsiomap4-droid4-xt894.dtsomap4-duovero-parlor.dtsomap4-duovero.dtsiomap4-kc1.dtsomap4-panda-a4.dtsomap4-panda-common.dtsiomap4-panda-es.dtsomap4-panda.dtsomap4-sdp-es23plus.dtsomap4-sdp.dtsomap4-var-dvk-om44.dtsomap4-var-om44customboard.dtsiomap4-var-som-om44-wlan.dtsiomap4-var-som-om44.dtsiomap4-var-stk-om44.dtsomap4.dtsiomap443x-clocks.dtsiomap443x.dtsiomap4460.dtsiomap446x-clocks.dtsiomap44xx-clocks.dtsiomap5-board-common.dtsiomap5-cm-t54.dtsomap5-core-thermal.dtsiomap5-gpu-thermal.dtsiomap5-igep0050.dtsomap5-sbc-t54.dtsomap5-uevm.dtsomap5.dtsiomap54xx-clocks.dtsiorion5x-kuroboxpro.dtsorion5x-lacie-d2-network.dtsorion5x-lacie-ethernet-disk-mini-v2.dtsorion5x-linkstation-lschl.dtsorion5x-linkstation-lsgl.dtsorion5x-linkstation-lswtgl.dtsorion5x-linkstation.dtsiorion5x-lswsgl.dtsorion5x-maxtor-shared-storage-2.dtsorion5x-mv88f5181.dtsiorion5x-mv88f5182.dtsiorion5x-netgear-wnr854t.dtsorion5x-rd88f5182-nas.dtsorion5x.dtsiox810se.dtsiox820.dtsipicoxcell-pc3x2.dtsipicoxcell-pc3x3.dtsipicoxcell-pc7302-pc3x2.dtspicoxcell-pc7302-pc3x3.dtspm9g45.dtsprima2-evb.dtsprima2.dtsipxa168-aspenite.dtspxa168.dtsipxa25x.dtsipxa27x.dtsipxa2xx.dtsipxa3xx.dtsipxa910-dkb.dtspxa910.dtsiqcom-apq8060-dragonboard.dtsqcom-apq8064-arrow-sd-600eval-pins.dtsiqcom-apq8064-arrow-sd-600eval.dtsqcom-apq8064-asus-nexus7-flo.dtsqcom-apq8064-cm-qs600.dtsqcom-apq8064-ifc6410.dtsqcom-apq8064-pins.dtsiqcom-apq8064-sony-xperia-yuga.dtsqcom-apq8064-v2.0.dtsiqcom-apq8064.dtsiqcom-apq8074-dragonboard.dtsqcom-apq8084-ifc6540.dtsqcom-apq8084-mtp.dtsqcom-apq8084.dtsiqcom-ipq4019-ap.dk01.1-c1.dtsqcom-ipq4019-ap.dk01.1.dtsiqcom-ipq4019.dtsiqcom-ipq8064-ap148.dtsqcom-ipq8064-v1.0.dtsiqcom-ipq8064.dtsiqcom-mdm9615-wp8548-mangoh-green.dtsqcom-mdm9615-wp8548.dtsiqcom-mdm9615.dtsiqcom-msm8660-surf.dtsqcom-msm8660.dtsiqcom-msm8960-cdp.dtsqcom-msm8960.dtsiqcom-msm8974-lge-nexus5-hammerhead.dtsqcom-msm8974-sony-xperia-honami.dtsqcom-msm8974.dtsiqcom-pm8841.dtsiqcom-pm8941.dtsiqcom-pma8084.dtsir7s72100-genmai.dtsr7s72100-rskrza1.dtsr7s72100.dtsir8a73a4-ape6evm.dtsr8a73a4.dtsir8a7740-armadillo800eva.dtsr8a7740.dtsir8a7743-sk-rzg1m.dtsr8a7743.dtsir8a7745-sk-rzg1e.dtsr8a7745.dtsir8a7778-bockw.dtsr8a7778.dtsir8a7779-marzen.dtsr8a7779.dtsir8a7790-lager.dtsr8a7790.dtsir8a7791-koelsch.dtsr8a7791-porter.dtsr8a7791.dtsir8a7792-blanche.dtsr8a7792-wheat.dtsr8a7792.dtsir8a7793-gose.dtsr8a7793.dtsir8a7794-alt.dtsr8a7794-silk.dtsr8a7794.dtsir8a77xx-aa104xd12-panel.dtsir8a77xx-aa121td01-panel.dtsirk1108-evb.dtsrk1108.dtsirk3036-evb.dtsrk3036-kylin.dtsrk3036.dtsirk3066a-bqcurie2.dtsrk3066a-marsboard.dtsrk3066a-mk808.dtsrk3066a-rayeager.dtsrk3066a.dtsirk3188-px3-evb.dtsrk3188-radxarock.dtsrk3188.dtsirk3228-evb.dtsrk3229-evb.dtsrk322x.dtsirk3288-evb-act8846.dtsrk3288-evb-rk808.dtsrk3288-evb.dtsirk3288-fennec.dtsrk3288-firefly-beta.dtsrk3288-firefly-reload-core.dtsirk3288-firefly-reload.dtsrk3288-firefly.dtsrk3288-firefly.dtsirk3288-miqi.dtsrk3288-phycore-rdk.dtsrk3288-phycore-som.dtsirk3288-popmetal.dtsrk3288-r89.dtsrk3288-rock2-som.dtsirk3288-rock2-square.dtsrk3288-tinker.dtsrk3288-veyron-analog-audio.dtsirk3288-veyron-brain.dtsrk3288-veyron-chromebook.dtsirk3288-veyron-jaq.dtsrk3288-veyron-jerry.dtsrk3288-veyron-mickey.dtsrk3288-veyron-minnie.dtsrk3288-veyron-pinky.dtsrk3288-veyron-sdmmc.dtsirk3288-veyron-speedy.dtsrk3288-veyron.dtsirk3288.dtsirk3xxx.dtsis3c2416-pinctrl.dtsis3c2416-smdk2416.dtss3c2416.dtsis3c24xx.dtsis3c6400.dtsis3c6410-mini6410.dtss3c6410-smdk6410.dtss3c6410.dtsis3c64xx-pinctrl.dtsis3c64xx.dtsis5pv210-aquila.dtss5pv210-goni.dtss5pv210-pinctrl.dtsis5pv210-smdkc110.dtss5pv210-smdkv210.dtss5pv210-torbreck.dtss5pv210.dtsisama5d2-pinfunc.hsama5d2.dtsisama5d3.dtsisama5d31.dtsisama5d31ek.dtssama5d33.dtsisama5d33ek.dtssama5d34.dtsisama5d34ek.dtssama5d35.dtsisama5d35ek.dtssama5d36.dtsisama5d36ek.dtssama5d36ek_cmp.dtssama5d3_can.dtsisama5d3_emac.dtsisama5d3_gmac.dtsisama5d3_lcd.dtsisama5d3_mci2.dtsisama5d3_tcb1.dtsisama5d3_uart.dtsisama5d3xcm.dtsisama5d3xcm_cmp.dtsisama5d3xdm.dtsisama5d3xmb.dtsisama5d3xmb_cmp.dtsisama5d3xmb_emac.dtsisama5d3xmb_gmac.dtsisama5d4.dtsisamsung_k3pe0e000b.dtsish73a0-kzm9g.dtssh73a0.dtsiskeleton.dtsiskeleton64.dtsisocfpga.dtsisocfpga_arria10.dtsisocfpga_arria10_socdk.dtsisocfpga_arria10_socdk_nand.dtssocfpga_arria10_socdk_qspi.dtssocfpga_arria10_socdk_sdmmc.dtssocfpga_arria5.dtsisocfpga_arria5_socdk.dtssocfpga_cyclone5.dtsisocfpga_cyclone5_de0_sockit.dtssocfpga_cyclone5_mcv.dtsisocfpga_cyclone5_mcvevk.dtssocfpga_cyclone5_socdk.dtssocfpga_cyclone5_sockit.dtssocfpga_cyclone5_socrates.dtssocfpga_cyclone5_sodia.dtssocfpga_cyclone5_vining_fpga.dtssocfpga_vt.dtsspear1310-evb.dtsspear1310.dtsispear1340-evb.dtsspear1340.dtsispear13xx.dtsispear300-evb.dtsspear300.dtsispear310-evb.dtsspear310.dtsispear320-evb.dtsspear320-hmi.dtsspear320.dtsispear3xx.dtsispear600-evb.dtsspear600.dtsist-pincfg.hste-ccu8540-pinctrl.dtsiste-ccu8540.dtsste-ccu9540.dtsste-dbx5x0.dtsiste-href-ab8500.dtsiste-href-ab8505.dtsiste-href-family-pinctrl.dtsiste-href-stuib.dtsiste-href-tvk1281618.dtsiste-href.dtsiste-hrefprev60-stuib.dtsste-hrefprev60-tvk.dtsste-hrefprev60.dtsiste-hrefv60plus-stuib.dtsste-hrefv60plus-tvk.dtsste-hrefv60plus.dtsiste-nomadik-nhk15.dtsste-nomadik-pinctrl.dtsiste-nomadik-s8815.dtsste-nomadik-stn8815.dtsiste-snowball.dtsste-u300.dtsstih407-b2120.dtsstih407-clock.dtsistih407-family.dtsistih407-pinctrl.dtsistih407.dtsistih410-b2120.dtsstih410-b2260.dtsstih410-clock.dtsistih410-pinctrl.dtsistih410.dtsistih418-b2199.dtsstih418-clock.dtsistih418.dtsistihxxx-b2120.dtsistm32429i-eval.dtsstm32746g-eval.dtsstm32f429-disco.dtsstm32f429.dtsistm32f469-disco.dtsstm32f746.dtsistm32h743-pinctrl.dtsistm32h743.dtsistm32h743i-eval.dtssun4i-a10-a1000.dtssun4i-a10-ba10-tvbox.dtssun4i-a10-chuwi-v7-cw0825.dtssun4i-a10-cubieboard.dtssun4i-a10-dserve-dsrv9703c.dtssun4i-a10-gemei-g9.dtssun4i-a10-hackberry.dtssun4i-a10-hyundai-a7hd.dtssun4i-a10-inet1.dtssun4i-a10-inet97fv2.dtssun4i-a10-inet9f-rev03.dtssun4i-a10-itead-iteaduino-plus.dtssun4i-a10-jesurun-q5.dtssun4i-a10-marsboard.dtssun4i-a10-mini-xplus.dtssun4i-a10-mk802.dtssun4i-a10-mk802ii.dtssun4i-a10-olinuxino-lime.dtssun4i-a10-pcduino.dtssun4i-a10-pcduino2.dtssun4i-a10-pov-protab2-ips9.dtssun4i-a10.dtsisun5i-a10s-auxtek-t003.dtssun5i-a10s-auxtek-t004.dtssun5i-a10s-mk802.dtssun5i-a10s-olinuxino-micro.dtssun5i-a10s-r7-tv-dongle.dtssun5i-a10s-wobo-i5.dtssun5i-a10s.dtsisun5i-a13-difrnce-dit4350.dtssun5i-a13-empire-electronix-d709.dtssun5i-a13-empire-electronix-m712.dtssun5i-a13-hsg-h702.dtssun5i-a13-inet-98v-rev2.dtssun5i-a13-licheepi-one.dtssun5i-a13-olinuxino-micro.dtssun5i-a13-olinuxino.dtssun5i-a13-q8-tablet.dtssun5i-a13-utoo-p66.dtssun5i-a13.dtsisun5i-gr8-chip-pro.dtssun5i-gr8-evb.dtssun5i-gr8.dtsisun5i-r8-chip.dtssun5i-r8.dtsisun5i-reference-design-tablet.dtsisun5i.dtsisun6i-a31-app4-evb1.dtssun6i-a31-colombus.dtssun6i-a31-hummingbird.dtssun6i-a31-i7.dtssun6i-a31-m9.dtssun6i-a31-mele-a1000g-quad.dtssun6i-a31.dtsisun6i-a31s-colorfly-e708-q1.dtssun6i-a31s-cs908.dtssun6i-a31s-inet-q972.dtssun6i-a31s-primo81.dtssun6i-a31s-sina31s-core.dtsisun6i-a31s-sina31s.dtssun6i-a31s-sinovoip-bpi-m2.dtssun6i-a31s-yones-toptech-bs1078-v2.dtssun6i-a31s.dtsisun6i-reference-design-tablet.dtsisun7i-a20-bananapi-m1-plus.dtssun7i-a20-bananapi.dtssun7i-a20-bananapro.dtssun7i-a20-cubieboard2.dtssun7i-a20-cubietruck.dtssun7i-a20-hummingbird.dtssun7i-a20-i12-tvbox.dtssun7i-a20-icnova-swac.dtssun7i-a20-itead-ibox.dtssun7i-a20-lamobo-r1.dtssun7i-a20-m3.dtssun7i-a20-mk808c.dtssun7i-a20-olimex-som-evb.dtssun7i-a20-olinuxino-lime.dtssun7i-a20-olinuxino-lime2-emmc.dtssun7i-a20-olinuxino-lime2.dtssun7i-a20-olinuxino-micro.dtssun7i-a20-orangepi-mini.dtssun7i-a20-orangepi.dtssun7i-a20-pcduino3-nano.dtssun7i-a20-pcduino3.dtssun7i-a20-wexler-tab7200.dtssun7i-a20-wits-pro-a20-dkt.dtssun7i-a20.dtsisun8i-a23-a33.dtsisun8i-a23-evb.dtssun8i-a23-gt90h-v4.dtssun8i-a23-inet86dz.dtssun8i-a23-ippo-q8h-v1.2.dtssun8i-a23-ippo-q8h-v5.dtssun8i-a23-polaroid-mid2407pxe03.dtssun8i-a23-polaroid-mid2809pxe04.dtssun8i-a23-q8-tablet.dtssun8i-a23.dtsisun8i-a33-et-q8-v1.6.dtssun8i-a33-ga10h-v1.1.dtssun8i-a33-inet-d978-rev2.dtssun8i-a33-ippo-q8h-v1.2.dtssun8i-a33-olinuxino.dtssun8i-a33-q8-tablet.dtssun8i-a33-sinlinx-sina33.dtssun8i-a33.dtsisun8i-a83t-allwinner-h8homlet-v2.dtssun8i-a83t-cubietruck-plus.dtssun8i-a83t.dtsisun8i-h2-plus-orangepi-zero.dtssun8i-h3-bananapi-m2-plus.dtssun8i-h3-beelink-x2.dtssun8i-h3-nanopi-m1.dtssun8i-h3-nanopi-neo-air.dtssun8i-h3-nanopi-neo.dtssun8i-h3-nanopi.dtsisun8i-h3-orangepi-2.dtssun8i-h3-orangepi-lite.dtssun8i-h3-orangepi-one.dtssun8i-h3-orangepi-pc-plus.dtssun8i-h3-orangepi-pc.dtssun8i-h3-orangepi-plus.dtssun8i-h3-orangepi-plus2e.dtssun8i-h3.dtsisun8i-q8-common.dtsisun8i-r16-parrot.dtssun8i-reference-design-tablet.dtsisun8i-v3s-licheepi-zero.dtssun8i-v3s.dtsisun9i-a80-cubieboard4.dtssun9i-a80-optimus.dtssun9i-a80.dtsisunxi-common-regulators.dtsisunxi-h3-h5.dtsisunxi-itead-core-common.dtsisunxi-reference-design-tablet.dtsitango4-common.dtsitango4-smp8758.dtsitango4-vantage-1172.dtstegra114-dalmore.dtstegra114-roth.dtstegra114-tn7.dtstegra114.dtsitegra124-apalis-emc.dtsitegra124-apalis-eval.dtstegra124-apalis.dtsitegra124-jetson-tk1-emc.dtsitegra124-jetson-tk1.dtstegra124-nyan-big-emc.dtsitegra124-nyan-big.dtstegra124-nyan-blaze-emc.dtsitegra124-nyan-blaze.dtstegra124-nyan.dtsitegra124-venice2.dtstegra124.dtsitegra20-colibri-512.dtsitegra20-harmony.dtstegra20-iris-512.dtstegra20-medcom-wide.dtstegra20-paz00.dtstegra20-plutux.dtstegra20-seaboard.dtstegra20-tamonten.dtsitegra20-tec.dtstegra20-trimslice.dtstegra20-ventana.dtstegra20-whistler.dtstegra20.dtsitegra30-apalis-eval.dtstegra30-apalis.dtsitegra30-beaver.dtstegra30-cardhu-a02.dtstegra30-cardhu-a04.dtstegra30-cardhu.dtsitegra30-colibri-eval-v3.dtstegra30-colibri.dtsitegra30.dtsitny_a9260.dtstny_a9260_common.dtsitny_a9263.dtstny_a9g20.dtstps6507x.dtsitps65217.dtsitps65910.dtsitwl4030.dtsitwl4030_omap3.dtsitwl6030.dtsitwl6030_omap4.dtsiuniphier-ld4-ref.dtsuniphier-ld4.dtsiuniphier-ld6b-ref.dtsuniphier-ld6b.dtsiuniphier-pinctrl.dtsiuniphier-pro4-ace.dtsuniphier-pro4-ref.dtsuniphier-pro4-sanji.dtsuniphier-pro4.dtsiuniphier-pro5.dtsiuniphier-pxs2-gentil.dtsuniphier-pxs2-vodka.dtsuniphier-pxs2.dtsiuniphier-ref-daughter.dtsiuniphier-sld3-ref.dtsuniphier-sld3.dtsiuniphier-sld8-ref.dtsuniphier-sld8.dtsiuniphier-support-card.dtsiusb_a9260.dtsusb_a9260_common.dtsiusb_a9263.dtsusb_a9g20-dab-mmx.dtsiusb_a9g20.dtsusb_a9g20_common.dtsiusb_a9g20_lpw.dtsversatile-ab.dtsversatile-pb.dtsvexpress-v2m-rs1.dtsivexpress-v2m.dtsivexpress-v2p-ca15-tc1.dtsvexpress-v2p-ca15_a7.dtsvexpress-v2p-ca5s.dtsvexpress-v2p-ca9.dtsvf-colibri-eval-v3.dtsivf-colibri.dtsivf500-colibri-eval-v3.dtsvf500-colibri.dtsivf500.dtsivf610-colibri-eval-v3.dtsvf610-colibri.dtsivf610-cosmic.dtsvf610-pinfunc.hvf610-twr.dtsvf610-zii-dev-rev-b.dtsvf610-zii-dev-rev-c.dtsvf610-zii-dev.dtsivf610.dtsivf610m4-colibri.dtsvf610m4-cosmic.dtsvf610m4.dtsivfxxx.dtsivt8500-bv07.dtsvt8500.dtsiwd-mbwe.dtswm8505-ref.dtswm8505.dtsiwm8650-mid.dtswm8650.dtsiwm8750-apc8750.dtswm8750.dtsiwm8850-w70v2.dtswm8850.dtsixenvm-4.2.dtszx296702-ad1.dtszx296702.dtsizynq-7000.dtsizynq-microzed.dtszynq-parallella.dtszynq-zc702.dtszynq-zc706.dtszynq-zed.dtszynq-zybo.dtsinstall.shcommonKconfigMakefilebL_switcher.cbL_switcher_dummy_if.cdmabounce.cfirmware.cit8152.clocomo.cmcpm_entry.cmcpm_head.Smcpm_platsmp.csa1111.cscoop.csharpsl_param.cvlock.Svlock.hconfigsacs5k_defconfigacs5k_tiny_defconfigam200epdkit_defconfigaspeed_g4_defconfigaspeed_g5_defconfigassabet_defconfigat91_dt_defconfigaxm55xx_defconfigbadge4_defconfigbcm2835_defconfigcerfcube_defconfigclps711x_defconfigcm_x2xx_defconfigcm_x300_defconfigcns3420vb_defconfigcolibri_pxa270_defconfigcolibri_pxa300_defconfigcollie_defconfigcorgi_defconfigdavinci_all_defconfigdove_defconfigdram_0x00000000.configdram_0xc0000000.configdram_0xd0000000.configebsa110_defconfigefm32_defconfigem_x270_defconfigep93xx_defconfigeseries_pxa_defconfigexynos_defconfigezx_defconfigfootbridge_defconfiggemini_defconfigh3600_defconfigh5000_defconfighackkit_defconfighisi_defconfigimote2_defconfigimx_v4_v5_defconfigimx_v6_v7_defconfigintegrator_defconfigiop13xx_defconfigiop32x_defconfigiop33x_defconfigixp4xx_defconfigjornada720_defconfigkeystone_defconfigks8695_defconfiglart_defconfiglpc18xx_defconfiglpc32xx_defconfiglpd270_defconfiglubbock_defconfigmagician_defconfigmainstone_defconfigmini2440_defconfigmmp2_defconfigmoxart_defconfigmps2_defconfigmulti_v4t_defconfigmulti_v5_defconfigmulti_v7_defconfigmv78xx0_defconfigmvebu_v5_defconfigmvebu_v7_defconfigmxs_defconfigneponset_defconfignetwinder_defconfignetx_defconfignhk8815_defconfignuc910_defconfignuc950_defconfignuc960_defconfigomap1_defconfigomap2plus_defconfigorion5x_defconfigpalmz72_defconfigpcm027_defconfigpleb_defconfigprima2_defconfigpxa168_defconfigpxa255-idp_defconfigpxa3xx_defconfigpxa910_defconfigpxa_defconfigqcom_defconfigraumfeld_defconfigrealview_defconfigrpc_defconfigs3c2410_defconfigs3c6400_defconfigs5pv210_defconfigsama5_defconfigshannon_defconfigshmobile_defconfigsimpad_defconfigsocfpga_defconfigspear13xx_defconfigspear3xx_defconfigspear6xx_defconfigspitz_defconfigstm32_defconfigsunxi_defconfigtango4_defconfigtct_hammer_defconfigtegra_defconfigtrizeps4_defconfigu300_defconfigu8500_defconfigversatile_defconfigvexpress_defconfigvf610m4_defconfigviper_defconfigvt8500_v6_v7_defconfigxcep_defconfigzeus_defconfigzx_defconfigcryptoKconfigMakefileaes-ce-core.Saes-ce-glue.caes-cipher-core.Saes-cipher-glue.caes-neonbs-core.Saes-neonbs-glue.cchacha20-neon-core.Schacha20-neon-glue.ccrc32-ce-core.Scrc32-ce-glue.ccrct10dif-ce-core.Scrct10dif-ce-glue.cghash-ce-core.Sghash-ce-glue.csha1-armv4-large.Ssha1-armv7-neon.Ssha1-ce-core.Ssha1-ce-glue.csha1.hsha1_glue.csha1_neon_glue.csha2-ce-core.Ssha2-ce-glue.csha256-armv4.plsha256-core.S_shippedsha256_glue.csha256_glue.hsha256_neon_glue.csha512-armv4.plsha512-core.S_shippedsha512-glue.csha512-neon-glue.csha512.hfirmwareKconfigMakefiletrusted_foundations.cincludeasmKbuildarch_gicv3.harch_timer.harm-cci.hasm-offsets.hassembler.hatomic.hauxvec.hbL_switcher.hbarrier.hbitops.hbitrev.hbug.hbugs.hcache.hcacheflush.hcachetype.hchecksum.hclocksource.hcmpxchg.hcompiler.hcp15.hcpu.hcpufeature.hcpuidle.hcputype.hcti.hdcc.hdelay.hdevice.hdiv64.hdma-contiguous.hdma-iommu.hdma-mapping.hdma.hdomain.hecard.hedac.hefi.helf.hentry-macro-multi.Sexception.hfb.hfiq.hfirmware.hfixmap.hflat.hfloppy.hfncpy.hfpstate.hftrace.hfutex.hglue-cache.hglue-df.hglue-pf.hglue-proc.hglue.hgpio.hhardirq.hhardwarecache-feroceon-l2.hcache-l2x0.hcache-tauros2.hcache-uniphier.hcp14.hdec21285.hentry-macro-iomd.Sioc.hiomd.hiop3xx-adma.hiop3xx.hiop_adma.hit8152.hlocomo.hmemc.hsa1111.hscoop.hssp.hhighmem.hhugetlb-3level.hhugetlb.hhw_breakpoint.hhw_irq.hhwcap.hhypervisor.hide.hidmap.hinsn.hio.hirq.hirq_work.hirqflags.hjump_label.hkexec.hkgdb.hkmap_types.hkprobes.hkvm_arm.hkvm_asm.hkvm_coproc.hkvm_emulate.hkvm_host.hkvm_hyp.hkvm_mmio.hkvm_mmu.hkvm_psci.hlimits.hlinkage.hmacharch.hdma.hflash.hirq.hmap.hpci.hsharpsl_param.htime.hmc146818rtc.hmcpm.hmcs_spinlock.hmemblock.hmemory.hmmu.hmmu_context.hmodule.hmpu.hmtd-xip.hneon.hnwflash.hopcodes-sec.hopcodes-virt.hopcodes.houtercache.hpage-nommu.hpage.hparavirt.hpatch.hpci.hpercpu.hperf_event.hpgalloc.hpgtable-2level-hwdef.hpgtable-2level-types.hpgtable-2level.hpgtable-3level-hwdef.hpgtable-3level-types.hpgtable-3level.hpgtable-hwdef.hpgtable-nommu.hpgtable.hprobes.hproc-fns.hprocessor.hprocinfo.hprom.hpsci.hptrace.hsections.hset_memory.hsetup.hshmparam.hsignal.hsmp.hsmp_plat.hsmp_scu.hsmp_twd.hsparsemem.hspinlock.hspinlock_types.hstackprotector.hstacktrace.hstage2_pgtable.hstring.hsuspend.hswab.hswitch_to.hsync_bitops.hsyscall.hsystem_info.hsystem_misc.htcm.htherm.hthread_info.hthread_notify.htimex.htlb.htlbflush.htls.htopology.htraps.htrusted_foundations.huaccess.hucontext.hunified.hunistd.hunwind.huprobes.huser.hv7m.hvdso.hvdso_datapage.hvfp.hvfpmacros.hvga.hvirt.hword-at-a-time.hxenevents.hhypercall.hhypervisor.hinterface.hpage-coherent.hpage.hxen-ops.hxor.hdebug8250.Sasm9260.Sat91.Sbcm63xx.Sbrcmstb.Sclps711x.Sdc21285.Sdigicolor.Sefm32.Sexynos.Sicedcc.Simx-uart.himx.Sks8695.Smeson.Smsm.Snetx.Somap2plus.Spalmchip.Spl01x.Srenesas-scif.Ss3c24xx.Ss5pv210.Ssa1100.Ssamsung.Ssirf.Ssti.Stegra.Suncompress.hux500.Svexpress.Svf.Svt8500.Szynq.SuapiasmKbuildauxvec.hbyteorder.hfcntl.hhwcap.hioctls.hkvm.hkvm_para.hmman.hperf_regs.hposix_types.hptrace.hsetup.hsigcontext.hsignal.hstat.hstatfs.hswab.htypes.hunistd.hkernelMakefilearch_timer.carmksyms.casm-offsets.catags.hatags_compat.catags_parse.catags_proc.cbios32.ccpuidle.ccrash_dump.cdebug.Sdevtree.cdma-isa.cdma.cearly_printk.cefi.celf.centry-armv.Sentry-common.Sentry-ftrace.Sentry-header.Sentry-v7m.Sfiq.cfiqasm.Sftrace.chead-common.Shead-nommu.Shead.Shibernate.chw_breakpoint.chyp-stub.Sinsn.cio.cirq.cisa.ciwmmxt.Sjump_label.ckgdb.cmachine_kexec.cmodule-plts.cmodule.cmodule.ldsopcodes.cparavirt.cpatch.cperf_callchain.cperf_event_v6.cperf_event_v7.cperf_event_xscale.cperf_regs.cpj4-cp0.cprocess.cpsci_smp.cptrace.creboot.creboot.hrelocate_kernel.Sreturn_address.csetup.csignal.csigreturn_codes.Ssleep.Ssmccc-call.Ssmp.csmp_scu.csmp_tlb.csmp_twd.cstacktrace.csuspend.cswp_emulate.csys_arm.csys_oabi-compat.ctcm.cthumbee.ctime.ctopology.ctraps.cunwind.cv7m.cvdso.cvmlinux-xip.lds.Svmlinux.lds.Sxscale-cp0.ckvmKconfigMakefilecoproc.ccoproc.hcoproc_a15.ccoproc_a7.cemulate.cguest.chandle_exit.chypMakefilebanked-sr.ccp15-sr.centry.Shyp-entry.Ss2-setup.cswitch.ctlb.cvfp.Sinit.Sinterrupts.Sirq.hreset.ctrace.hvgic-v3-coproc.clibMakefileashldi3.Sashrdi3.Sbacktrace.Sbitops.hbswapsdi2.Scall_with_stack.Schangebit.Sclear_user.Sclearbit.Scopy_from_user.Scopy_page.Scopy_template.Scopy_to_user.Scsumipv6.Scsumpartial.Scsumpartialcopy.Scsumpartialcopygeneric.Scsumpartialcopyuser.Sdelay-loop.Sdelay.cdiv64.Secard.Sfindbit.Sfloppydma.Sgetuser.Sio-acorn.Sio-readsb.Sio-readsl.Sio-readsw-armv3.Sio-readsw-armv4.Sio-writesb.Sio-writesl.Sio-writesw-armv3.Sio-writesw-armv4.Slib1funcs.Slshrdi3.Smemchr.Smemcpy.Smemmove.Smemset.Smemzero.Smuldi3.Sputuser.Ssetbit.Sstrchr.Sstrrchr.Stestchangebit.Stestclearbit.Stestsetbit.Suaccess_with_memcpy.cucmpdi2.Sxor-neon.cmach-alpineKconfigMakefilealpine_cpu_pm.calpine_cpu_pm.halpine_cpu_resume.halpine_machine.cplatsmp.cmach-artpecKconfigMakefileboard-artpec6.cmach-asm9260Kconfigmach-aspeedKconfigmach-at91KconfigMakefileat91rm9200.cat91sam9.cgeneric.hpm.cpm.hpm_data-offsets.cpm_suspend.Ssama5.cmach-axxiaKconfigMakefileaxxia.cplatsmp.cmach-bcmKconfigMakefilebcm63xx.cbcm63xx_pmb.cbcm63xx_smp.cbcm63xx_smp.hbcm_5301x.cbcm_cygnus.cbcm_kona_smc.cbcm_kona_smc.hbcm_nsp.cboard_bcm21664.cboard_bcm23550.cboard_bcm281xx.cboard_bcm2835.cbrcmstb.ckona_l2_cache.ckona_l2_cache.hplatsmp-brcmstb.cplatsmp.cmach-berlinKconfigMakefileberlin.cheadsmp.Splatsmp.cmach-clps711xKconfigMakefileboard-dt.cmach-cns3xxxKconfigMakefilecns3420vb.ccns3xxx.hcore.ccore.hdevices.cdevices.hpcie.cpm.cpm.hmach-davinciKconfigMakefileMakefile.bootaemif.casp.hboard-da830-evm.cboard-da850-evm.cboard-dm355-evm.cboard-dm355-leopard.cboard-dm365-evm.cboard-dm644x-evm.cboard-dm646x-evm.cboard-mityomapl138.cboard-neuros-osd2.cboard-omapl138-hawk.cboard-sffsdr.cclock.cclock.hcommon.ccp_intc.ccp_intc.hcpuidle.ccpuidle.hda830.cda850.cda8xx-dt.cdavinci.hddr2.hdevices-da8xx.cdevices.cdm355.cdm365.cdm644x.cdm646x.cincludemachclock.hcommon.hcpufreq.hcputype.hda8xx.hentry-macro.Shardware.hirqs.hmux.hpm.hserial.htime.huncompress.hirq.cmux.cmux.hpdata-quirks.cpm.cpm_domain.cpsc.cpsc.hserial.csleep.Ssram.csram.htime.cusb-da8xx.cusb.cmach-digicolorKconfigMakefiledigicolor.cmach-doveKconfigMakefileMakefile.bootcm-a510.ccommon.ccommon.hdove-db-setup.cincludemachbridge-regs.hdove.hhardware.hirqs.hpm.huncompress.hirq.cmpp.cmpp.hpcie.cmach-ebsa110MakefileMakefile.bootcore.ccore.hincludemachentry-macro.Shardware.hio.hirqs.hmemory.huncompress.hio.cleds.cmach-efm32MakefileMakefile.bootdtmachine.cmach-ep93xxKconfigMakefileMakefile.bootadssphere.cclock.ccore.ccrunch-bits.Scrunch.cdma.cedb93xx.cgesbc9312.cincludemachep93xx-regs.hgpio-ep93xx.hhardware.hirqs.hplatform.huncompress.hmicro9.csimone.csnappercl15.csoc.htimer-ep93xx.cts72xx.cts72xx.hvision_ep9307.cmach-exynosKconfigMakefilecommon.hexynos-smc.Sexynos.cfirmware.cheadsmp.Sincludemachmap.hmcpm-exynos.cplatsmp.cpm.csleep.Ssmc.hsuspend.cmach-footbridgeKconfigMakefileMakefile.bootcats-hw.ccats-pci.ccommon.ccommon.hdc21285-timer.cdc21285.cdma.cebsa285-pci.cebsa285.cincludemachentry-macro.Shardware.hio.hirqs.hisa-dma.hmemory.huncompress.hisa-irq.cisa-rtc.cisa-timer.cisa.cnetwinder-hw.cnetwinder-pci.cpersonal-pci.cpersonal.cmach-geminiKconfigMakefileboard-dt.cmach-highbankKconfigMakefilecore.hhighbank.cpm.csmc.Ssysregs.hsystem.cmach-hisiKconfigMakefilecore.hhisilicon.chotplug.cplatmcpm.cplatsmp.cmach-imx3ds_debugboard.c3ds_debugboard.hKconfigMakefileMakefile.bootanatop.cavic.cboard-mx31lilly.hboard-mx31lite.hboard-mx31moboard.hcommon.hcpu-imx25.ccpu-imx27.ccpu-imx31.ccpu-imx35.ccpu-imx5.ccpu.ccpuidle-imx5.ccpuidle-imx6q.ccpuidle-imx6sl.ccpuidle-imx6sx.ccpuidle.hcrmregs-imx3.hdevicesdevices-imx21.hdevices-imx27.hdevices-imx31.hdevices-imx35.hKconfigMakefiledevices-common.hdevices.cplatform-fec.cplatform-flexcan.cplatform-fsl-usb2-udc.cplatform-gpio-mxc.cplatform-gpio_keys.cplatform-imx-dma.cplatform-imx-fb.cplatform-imx-i2c.cplatform-imx-keypad.cplatform-imx-ssi.cplatform-imx-uart.cplatform-imx2-wdt.cplatform-imx21-hcd.cplatform-imx27-coda.cplatform-ipu-core.cplatform-mx2-camera.cplatform-mx2-emma.cplatform-mxc-ehci.cplatform-mxc-mmc.cplatform-mxc_nand.cplatform-mxc_rtc.cplatform-mxc_w1.cplatform-pata_imx.cplatform-sdhci-esdhc-imx.cplatform-spi_imx.cehci-imx27.cehci-imx31.cehci-imx35.cehci.hepit.cgpc.chardware.hheadsmp.Shotplug.ciim.himx27-dt.cimx31-dt.cimx35-dt.ciomux-imx31.ciomux-mx21.hiomux-mx27.hiomux-mx2x.hiomux-mx3.hiomux-mx35.hiomux-v1.ciomux-v1.hiomux-v3.ciomux-v3.hirq-common.cirq-common.hmach-armadillo5x0.cmach-bug.cmach-imx1.cmach-imx25.cmach-imx27_visstrim_m10.cmach-imx50.cmach-imx51.cmach-imx53.cmach-imx6q.cmach-imx6sl.cmach-imx6sx.cmach-imx6ul.cmach-imx7d.cmach-kzm_arm11_01.cmach-ls1021a.cmach-mx21ads.cmach-mx27_3ds.cmach-mx27ads.cmach-mx31_3ds.cmach-mx31ads.cmach-mx31lilly.cmach-mx31lite.cmach-mx31moboard.cmach-mx35_3ds.cmach-pca100.cmach-pcm037.cmach-pcm037_eet.cmach-pcm043.cmach-qong.cmach-vf610.cmach-vpr200.cmm-imx21.cmm-imx27.cmm-imx3.cmmdc.cmx21.hmx27.hmx2x.hmx31.hmx31lilly-db.cmx31lite-db.cmx31moboard-devboard.cmx31moboard-marxbot.cmx31moboard-smartbot.cmx35.hmx3x.hmxc.hpcm037.hplatsmp.cpm-imx25.cpm-imx27.cpm-imx5.cpm-imx6.csrc.cssi-fiq-ksym.cssi-fiq.Ssuspend-imx53.Ssuspend-imx6.Ssystem.ctzic.culpi.hmach-integratorKconfigMakefilecm.hcommon.hcore.chardware.himpd1.cimpd1.hintegrator_ap.cintegrator_cp.clm.clm.hpci_v3.cpci_v3.hmach-iop13xxKconfigMakefileMakefile.bootincludemachadma.hentry-macro.Shardware.hiop13xx.hiq81340.hirqs.hmemory.htime.huncompress.hio.ciq81340mc.ciq81340sc.cirq.cmsi.cmsi.hpci.cpci.hsetup.ctpmi.cmach-iop32xKconfigMakefileMakefile.bootem7210.cglantank.cgpio-iop32x.hincludemachadma.hentry-macro.Sglantank.hhardware.hiop32x.hiq31244.hiq80321.hirqs.hn2100.htime.huncompress.hiq31244.ciq80321.cirq.cn2100.cmach-iop33xKconfigMakefileMakefile.bootincludemachadma.hentry-macro.Shardware.hiop33x.hiq80331.hiq80332.hirqs.htime.huncompress.hiq80331.ciq80332.cirq.cuart.cmach-ixp4xxKconfigMakefileMakefile.bootavila-pci.cavila-setup.ccommon-pci.ccommon.ccoyote-pci.ccoyote-setup.cdsmg600-pci.cdsmg600-setup.cfsg-pci.cfsg-setup.cgateway7001-pci.cgateway7001-setup.cgoramo_mlr.cgtwx5715-pci.cgtwx5715-setup.cincludemachcpu.hentry-macro.Shardware.hio.hirqs.hixp46x_ts.hixp4xx-regs.hnpe.hplatform.hqmgr.hudc.huncompress.hixdp425-pci.cixdp425-setup.cixdpg425-pci.cixp4xx_npe.cixp4xx_qmgr.cmiccpt-pci.cnas100d-pci.cnas100d-setup.cnslu2-pci.cnslu2-setup.comixp-setup.cvulcan-pci.cvulcan-setup.cwg302v2-pci.cwg302v2-setup.cmach-keystoneKconfigMakefilekeystone.ckeystone.hmemory.hplatsmp.cpm_domain.csmc.Smach-ks8695KconfigMakefileMakefile.bootboard-acs5k.cboard-dsm320.cboard-micrel.cboard-og.cboard-sg.ccpu.cdevices.cdevices.hgeneric.hincludemachentry-macro.Sgpio-ks8695.hhardware.hirqs.hmemory.hregs-gpio.hregs-irq.hregs-misc.hregs-switch.hregs-uart.huncompress.hirq.cpci.cregs-hpna.hregs-lan.hregs-mem.hregs-pci.hregs-sys.hregs-wan.htime.cmach-lpc18xxMakefileMakefile.bootboard-dt.cmach-lpc32xxMakefileMakefile.bootcommon.ccommon.hincludemachboard.hentry-macro.Shardware.hplatform.huncompress.hphy3250.cpm.cserial.csuspend.Smach-mediatekKconfigMakefilemediatek.cplatsmp.cmach-mesonKconfigMakefilemeson.cmach-mmpKconfigMakefileaddr-map.haspenite.cavengers_lite.cbrownstone.cclock-mmp2.cclock-pxa168.cclock-pxa910.cclock.cclock.hcommon.ccommon.hcputype.hdevices.cdevices.hflint.cgplugd.cirqs.hjasper.cmfp-mmp2.hmfp-pxa168.hmfp-pxa910.hmfp.hmmp-dt.cmmp2-dt.cmmp2.cmmp2.hpm-mmp2.cpm-mmp2.hpm-pxa910.cpm-pxa910.hpxa168.cpxa168.hpxa910.cpxa910.hregs-apbc.hregs-apmu.hregs-icu.hregs-timers.hregs-usb.hsram.ctavorevb.cteton_bga.cteton_bga.htime.cttc_dkb.cmach-moxartKconfigMakefilemoxart.cmach-mv78xx0KconfigMakefilebridge-regs.hbuffalo-wxl-setup.ccommon.ccommon.hdb78x00-bp-setup.cirq.cirqs.hmpp.cmpp.hmv78xx0.hpcie.crd78x00-masa-setup.cmach-mvebuKconfigMakefilearmada-370-xp.hboard-v7.ccoherency.ccoherency.hcoherency_ll.Scommon.hcpu-reset.cdove.cheadsmp-a9.Sheadsmp.Skirkwood-pm.ckirkwood-pm.hkirkwood.ckirkwood.hmvebu-soc-id.cmvebu-soc-id.hplatsmp-a9.cplatsmp.cpm-board.cpm.cpmsu.cpmsu.hpmsu_ll.Ssystem-controller.cmach-mxsKconfigMakefilemach-mxs.cpm.cpm.hmach-netxKconfigMakefileMakefile.bootfb.cfb.hgeneric.cgeneric.hincludemachhardware.hirqs.hnetx-regs.hpfifo.huncompress.hxc.hnxdb500.cnxdkn.cnxeb500hmi.cpfifo.ctime.cxc.cmach-nomadikKconfigMakefilecpu-8815.cmach-nspireKconfigMakefileclcd.cclcd.hmmio.hnspire.cmach-omap1KconfigMakefileMakefile.bootams-delta-fiq-handler.Sams-delta-fiq.cboard-ams-delta.cboard-fsample.cboard-generic.cboard-h2-mmc.cboard-h2.cboard-h2.hboard-h3-mmc.cboard-h3.cboard-h3.hboard-htcherald.cboard-innovator.cboard-nand.cboard-nokia770.cboard-osk.cboard-palmte.cboard-palmtt.cboard-palmz71.cboard-perseus2.cboard-sx1-mmc.cboard-sx1.cboard-sx1.hcamera.hclock.cclock.hclock_data.ccommon.hdevices.cdma.cfb.cflash.cflash.hfpga.cfpga.hgpio15xx.cgpio16xx.cgpio7xx.ci2c.cid.cincludemachams-delta-fiq.hboard-ams-delta.hhardware.hio.hirqs.hlcd_dma.hlcdc.hmemory.hmtd-xip.hmux.homap1510.homap16xx.homap7xx.hserial.hsoc.htc.huncompress.husb.hio.ciomap.hirq.clcd_dma.cmcbsp.cmmc.hmux.cocpi.copp.hopp_data.cpm.cpm.hpm_bus.creset.cserial.csleep.Ssoc.hsram-init.csram.Ssram.htime.ctimer.ctimer32k.cusb.cmach-omap2KconfigMakefileam33xx-restart.cam33xx.hboard-generic.cboard-n8x0.cclkt2xxx_dpll.cclkt2xxx_dpllcore.cclkt2xxx_virt_prcm_set.cclock.cclock.hclock2xxx.hclock3xxx.hclockdomain.cclockdomain.hclockdomains2420_data.cclockdomains2430_data.cclockdomains2xxx_3xxx_data.cclockdomains33xx_data.cclockdomains3xxx_data.cclockdomains43xx_data.cclockdomains44xx_data.cclockdomains54xx_data.cclockdomains7xx_data.cclockdomains81xx_data.ccm-regbits-24xx.hcm-regbits-33xx.hcm-regbits-34xx.hcm-regbits-44xx.hcm-regbits-54xx.hcm-regbits-7xx.hcm.hcm1_44xx.hcm1_54xx.hcm1_7xx.hcm2_44xx.hcm2_54xx.hcm2_7xx.hcm2xxx.ccm2xxx.hcm2xxx_3xxx.hcm33xx.ccm33xx.hcm3xxx.ccm3xxx.hcm44xx.hcm81xx.hcm_common.ccminst44xx.ccommon-board-devices.hcommon.ccommon.hcontrol.ccontrol.hcpuidle34xx.ccpuidle44xx.cctrl_module_wkup_44xx.hdevices.cdisplay.cdisplay.hdma.cdrm.cfb.cgpmc-onenand.cgpmc.hhdq1w.chdq1w.hhsmmc.chsmmc.hi2c.ci2c.hid.cid.hincludemachhardware.hirqs.hserial.hio.ciomap.hl3_2xxx.hl3_3xxx.hl4_2xxx.hl4_3xxx.hmcbsp.cmmc.hmsdi.comap-headsmp.Somap-hotplug.comap-mpuss-lowpower.comap-pm-noop.comap-pm.homap-secure.comap-secure.homap-smc.Somap-smp.comap-wakeupgen.comap-wakeupgen.homap2-restart.comap24xx.homap3-restart.comap34xx.homap4-common.comap4-restart.comap4-sar-layout.homap44xx.homap54xx.homap_device.comap_device.homap_hwmod.comap_hwmod.homap_hwmod_2420_data.comap_hwmod_2430_data.comap_hwmod_2xxx_3xxx_interconnect_data.comap_hwmod_2xxx_3xxx_ipblock_data.comap_hwmod_2xxx_interconnect_data.comap_hwmod_2xxx_ipblock_data.comap_hwmod_33xx_43xx_common_data.homap_hwmod_33xx_43xx_interconnect_data.comap_hwmod_33xx_43xx_ipblock_data.comap_hwmod_33xx_data.comap_hwmod_3xxx_data.comap_hwmod_43xx_data.comap_hwmod_44xx_data.comap_hwmod_54xx_data.comap_hwmod_7xx_data.comap_hwmod_81xx_data.comap_hwmod_common_data.comap_hwmod_common_data.homap_hwmod_common_ipblock_data.comap_hwmod_reset.comap_opp_data.homap_phy_internal.comap_twl.copp.copp2420_data.copp2430_data.copp2xxx.hopp3xxx_data.copp4xxx_data.cpdata-quirks.cpm-debug.cpm.cpm.hpm24xx.cpm34xx.cpm44xx.cpmu.cpowerdomain-common.cpowerdomain.cpowerdomain.hpowerdomains2xxx_3xxx_data.cpowerdomains2xxx_3xxx_data.hpowerdomains2xxx_data.cpowerdomains33xx_data.cpowerdomains3xxx_data.cpowerdomains43xx_data.cpowerdomains44xx_data.cpowerdomains54xx_data.cpowerdomains7xx_data.cprcm-common.hprcm43xx.hprcm44xx.hprcm_mpu44xx.cprcm_mpu44xx.hprcm_mpu54xx.hprcm_mpu7xx.hprcm_mpu_44xx_54xx.hprm-regbits-24xx.hprm-regbits-33xx.hprm-regbits-34xx.hprm-regbits-44xx.hprm.hprm2xxx.cprm2xxx.hprm2xxx_3xxx.cprm2xxx_3xxx.hprm33xx.cprm33xx.hprm3xxx.cprm3xxx.hprm44xx.cprm44xx.hprm44xx_54xx.hprm54xx.hprm7xx.hprm_common.cprminst44xx.cprminst44xx.hscrm44xx.hscrm54xx.hsdrc.csdrc.hsdrc2xxx.cserial.hsleep24xx.Ssleep34xx.Ssleep44xx.Ssmartreflex-class3.csoc.hsr_device.csram.csram.hsram242x.Ssram243x.Sti81xx-restart.cti81xx.htimer.cusb-tusb6010.cusb.hvc.cvc.hvc3xxx_data.cvc44xx_data.cvoltage.cvoltage.hvoltagedomains2xxx_data.cvoltagedomains3xxx_data.cvoltagedomains44xx_data.cvoltagedomains54xx_data.cvp.cvp.hvp3xxx_data.cvp44xx_data.cwd_timer.cwd_timer.hmach-orion5xKconfigMakefileboard-d2net.cboard-dt.cboard-mss2.cboard-rd88f5182.cbridge-regs.hcommon.ccommon.hdb88f5281-setup.cdns323-setup.cirq.cirqs.hkurobox_pro-setup.cls_hgl-setup.cmpp.cmpp.hmv2120-setup.cnet2big-setup.corion5x.hpci.crd88f5181l-fxo-setup.crd88f5181l-ge-setup.crd88f5182-setup.crd88f6183ap-ge-setup.cterastation_pro2-setup.cts209-setup.cts409-setup.cts78xx-fpga.hts78xx-setup.ctsx09-common.ctsx09-common.hwnr854t-setup.cwrt350n-v2-setup.cmach-oxnasKconfigMakefileheadsmp.Shotplug.cplatsmp.cmach-picoxcellKconfigMakefilecommon.cmach-prima2KconfigMakefilecommon.ccommon.hheadsmp.Shotplug.cplatsmp.cpm.cpm.hrstc.crtciobrg.csleep.Smach-pxaKconfigMakefileMakefile.bootam200epd.cam300epd.cballoon3.ccapc7117.ccm-x255.ccm-x270.ccm-x2xx-pci.ccm-x2xx-pci.hcm-x2xx.ccm-x300.ccolibri-evalboard.ccolibri-pxa270-income.ccolibri-pxa270.ccolibri-pxa300.ccolibri-pxa320.ccolibri-pxa3xx.ccolibri.hcorgi.ccorgi_pm.ccsb701.ccsb726.ccsb726.hdevices.cdevices.hem-x270.ceseries-irq.heseries.cezx.cgeneric.cgeneric.hgumstix.cgumstix.hh5000.ch5000.hhimalaya.chx4700.cicontrol.cidp.cidp.hincludemachaddr-map.haudio.hballoon3.hbitfield.hcorgi.hdma.heseries-gpio.hgeneric.hhardware.hhx4700.hio.hirqs.hlubbock.hmagician.hmainstone.hmfp.hmtd-xip.hpalmld.hpalmtc.hpalmtx.hpoodle.hpxa25x-udc.hpxa2xx-regs.hpxa3xx-regs.hregs-ac97.hregs-lcd.hregs-ost.hregs-uart.hreset.hsmemc.hspitz.htosa.htrizeps4.huncompress.hvpac270.hz2.hirq.clittleton.clittleton.hlpd270.clpd270.hlubbock.cmagician.cmainstone.cmfp-pxa25x.hmfp-pxa27x.hmfp-pxa2xx.cmfp-pxa2xx.hmfp-pxa300.hmfp-pxa320.hmfp-pxa3xx.cmfp-pxa3xx.hmfp-pxa930.hmioa701.cmioa701.hmioa701_bootresume.Smp900.cmxm8x10.cmxm8x10.hpalm27x.cpalm27x.hpalmld.cpalmt5.cpalmt5.hpalmtc.cpalmte2.cpalmte2.hpalmtreo.cpalmtreo.hpalmtx.cpalmz72.cpalmz72.hpcm027.cpcm027.hpcm990-baseboard.cpcm990_baseboard.hpm.cpm.hpoodle.cpxa-dt.cpxa25x.cpxa25x.hpxa27x-udc.hpxa27x.cpxa27x.hpxa2xx.cpxa300.cpxa300.hpxa320.cpxa320.hpxa3xx-ulpi.cpxa3xx.cpxa3xx.hpxa930.cpxa930.hpxa_cplds_irqs.craumfeld.cregs-rtc.hregs-u2d.hreset.csaar.csharpsl_pm.csharpsl_pm.hsleep.Ssmemc.cspitz.cspitz_pm.cstandby.Sstargate2.ctavorevb.ctosa-bt.ctosa.ctosa_bt.htrizeps4.cudc.hviper.cviper.hvpac270.cxcep.cz2.czeus.czeus.hzylonite.czylonite.hzylonite_pxa300.czylonite_pxa320.cmach-qcomKconfigMakefileplatsmp.cmach-realviewKconfigMakefilehotplug.chotplug.hplatsmp-dt.crealview-dt.cmach-rockchipKconfigMakefilecore.hheadsmp.Splatsmp.cpm.cpm.hrockchip.csleep.Smach-rpcMakefileMakefile.bootdma.cecard.cecard.hfiq.Sincludemachacornfb.hentry-macro.Shardware.hio.hirqs.hisa-dma.hmemory.huncompress.hirq.criscpc.ctime.cmach-s3c24xxKconfigMakefileMakefile.bootanubis.hbast-ide.cbast-irq.cbast.hcommon-smdk.ccommon-smdk.hcommon.ccommon.hcpufreq-utils.cfb-core.hgta02.hh1940-bluetooth.ch1940.hincludemachdma.hfb.hgpio-samsung.hhardware.hio.hirqs.hmap.hpm-core.hregs-clock.hregs-gpio.hregs-irq.hregs-lcd.hregs-s3c2443-clock.hrtc-core.hs3c2412.hiotiming-s3c2410.ciotiming-s3c2412.cirq-pm.cmach-amlm5900.cmach-anubis.cmach-at2440evb.cmach-bast.cmach-gta02.cmach-h1940.cmach-jive.cmach-mini2440.cmach-n30.cmach-nexcoder.cmach-osiris-dvs.cmach-osiris.cmach-otom.cmach-qt2410.cmach-rx1950.cmach-rx3715.cmach-s3c2416-dt.cmach-smdk2410.cmach-smdk2413.cmach-smdk2416.cmach-smdk2440.cmach-smdk2443.cmach-tct_hammer.cmach-vr1000.cmach-vstms.cnand-core.hosiris.hotom.hpll-s3c2410.cpll-s3c2440-12000000.cpll-s3c2440-16934400.cpm-h1940.Spm-s3c2410.cpm-s3c2412.cpm-s3c2416.cpm.cregs-dsc.hregs-mem.hs3c2410.cs3c2412-power.hs3c2412.cs3c2416.cs3c2440.cs3c2442.cs3c2443.cs3c244x.csetup-camif.csetup-i2c.csetup-sdhci-gpio.csetup-spi.csetup-ts.csimtec-audio.csimtec-nor.csimtec-pm.csimtec-usb.csimtec.hsleep-s3c2410.Ssleep-s3c2412.Ssleep.Sspi-core.hvr1000.hmach-s3c64xxKconfigMakefileata-core.hbacklight.hcommon.ccommon.hcpuidle.ccrag6410.hdev-audio.cdev-backlight.cdev-uart.cincludemachdma.hgpio-samsung.hhardware.hirqs.hmap.hpm-core.hregs-clock.hregs-gpio.hregs-irq.hirq-pm.cirq-uart.hmach-anw6410.cmach-crag6410-module.cmach-crag6410.cmach-hmt.cmach-mini6410.cmach-ncp.cmach-real6410.cmach-s3c64xx-dt.cmach-smartq.cmach-smartq.hmach-smartq5.cmach-smartq7.cmach-smdk6400.cmach-smdk6410.conenand-core.hpl080.cpm.cregs-gpio-memport.hregs-modem.hregs-srom.hregs-sys.hregs-syscon-power.hregs-usb-hsotg-phy.hs3c6400.cs3c6410.csetup-fb-24bpp.csetup-i2c0.csetup-i2c1.csetup-ide.csetup-keypad.csetup-sdhci-gpio.csetup-spi.csetup-usb-phy.csleep.Swatchdog-reset.hmach-s5pv210KconfigMakefilecommon.hpm.cregs-clock.hs5pv210.csleep.Smach-sa1100KconfigMakefileMakefile.bootassabet.cbadge4.ccerf.cclock.ccollie.cgeneric.cgeneric.hh3100.ch3600.ch3xxx.chackkit.cincludemachSA-1100.hassabet.hbadge4.hbitfield.hcerf.hcollie.hgeneric.hh3xxx.hhardware.hirqs.hjornada720.hmemory.hmtd-xip.hnanoengine.hneponset.hreset.hshannon.hsimpad.huncompress.hjornada720.cjornada720_ssp.clart.cnanoengine.cneponset.cpci-nanoengine.cpleb.cpm.cshannon.csimpad.csleep.Sssp.cmach-shmobileKconfigMakefilecommon.hemev2.hheadsmp-scu.Sheadsmp.Splatsmp-apmu.cplatsmp-apmu.hplatsmp-scu.cplatsmp.cpm-r8a7779.cpm-rcar-gen2.cpm-rmobile.cpm-rmobile.hr8a7779.hr8a7790.hr8a7791.hrcar-gen2.hregulator-quirk-rcar-gen2.csetup-emev2.csetup-r7s72100.csetup-r8a73a4.csetup-r8a7740.csetup-r8a7778.csetup-r8a7779.csetup-r8a7790.csetup-r8a7791.csetup-rcar-gen2.csetup-sh73a0.csh73a0.hsmp-emev2.csmp-r8a7779.csmp-r8a7790.csmp-r8a7791.csmp-sh73a0.csuspend.ctimer.cmach-socfpgaKconfigMakefilecore.hheadsmp.Sl2_cache.cocram.cplatsmp.cpm.cself-refresh.Ssocfpga.cmach-spearKconfigMakefilegeneric.hheadsmp.Shotplug.cincludemachirqs.hmisc_regs.hspear.huncompress.hpl080.cpl080.hplatsmp.crestart.cspear1310.cspear1340.cspear13xx.cspear300.cspear310.cspear320.cspear3xx.cspear6xx.ctime.cmach-stiKconfigMakefileboard-dt.cheadsmp.Splatsmp.csmp.hmach-stm32KconfigMakefileMakefile.bootboard-dt.cmach-sunxiKconfigMakefileplatsmp.csunxi.cmach-tangoKconfigMakefileplatsmp.cpm.csetup.csmc.Ssmc.hmach-tegraKconfigMakefileboard-paz00.cboard.hcommon.hcpuidle-tegra114.ccpuidle-tegra20.ccpuidle-tegra30.ccpuidle.ccpuidle.hhotplug.cio.ciomap.hirammap.hirq.cirq.hplatsmp.cpm-tegra20.cpm-tegra30.cpm.cpm.hreset-handler.Sreset.creset.hsleep-tegra20.Ssleep-tegra30.Ssleep.Ssleep.htegra.cmach-u300KconfigMakefilecore.cdummyspichip.cregulator.cmach-uniphierKconfigMakefilemach-ux500KconfigMakefilecpu-db8500.cdb8500-regs.hplatsmp.cpm.cpm_domains.cpm_domains.hmach-versatileKconfigMakefileversatile_dt.cmach-vexpressKconfigMakefileMakefile.bootcore.hdcscb.cdcscb_setup.Shotplug.cplatsmp.cspc.cspc.htc2_pm.cv2m-mps2.cv2m.cmach-vt8500KconfigMakefileMakefile.bootvt8500.cmach-w90x900KconfigMakefileMakefile.bootclksel.cclock.cclock.hcpu.ccpu.hdev.cgpio.cincludemachentry-macro.Shardware.hirqs.hmap.hmfp.hregs-clock.hregs-irq.hregs-ldm.hregs-serial.huncompress.hirq.cmach-nuc910evb.cmach-nuc950evb.cmach-nuc960evb.cmfp.cnuc910.cnuc910.hnuc950.cnuc950.hnuc960.cnuc960.hnuc9xx.hregs-ebi.hregs-gcr.hregs-timer.hregs-usb.htime.cmach-zxKconfigMakefilecore.hheadsmp.Splatsmp.czx296702-pm-domain.czx296702.cmach-zynqKconfigMakefilecommon.ccommon.hheadsmp.Splatsmp.cpm.cslcr.cmmKconfigMakefileabort-ev4.Sabort-ev4t.Sabort-ev5t.Sabort-ev5tj.Sabort-ev6.Sabort-ev7.Sabort-lv4t.Sabort-macro.Sabort-nommu.Salignment.ccache-aurora-l2.hcache-fa.Scache-feroceon-l2.ccache-l2x0-pmu.ccache-l2x0.ccache-nop.Scache-tauros2.ccache-tauros3.hcache-uniphier.ccache-v4.Scache-v4wb.Scache-v4wt.Scache-v6.Scache-v7.Scache-v7m.Scache-xsc3l2.ccontext.ccopypage-fa.ccopypage-feroceon.ccopypage-v4mc.ccopypage-v4wb.ccopypage-v4wt.ccopypage-v6.ccopypage-xsc3.ccopypage-xscale.cdma-mapping.cdma.hdump.cextable.cfault-armv.cfault.cfault.hflush.cfsr-2level.cfsr-3level.chighmem.chugetlbpage.cidmap.cinit.ciomap.cioremap.cl2c-common.cl2c-l2x0-resume.Smm.hmmap.cmmu.cnommu.cpabort-legacy.Spabort-v6.Spabort-v7.Spageattr.cpgd.cphysaddr.cproc-arm1020.Sproc-arm1020e.Sproc-arm1022.Sproc-arm1026.Sproc-arm720.Sproc-arm740.Sproc-arm7tdmi.Sproc-arm920.Sproc-arm922.Sproc-arm925.Sproc-arm926.Sproc-arm940.Sproc-arm946.Sproc-arm9tdmi.Sproc-fa526.Sproc-feroceon.Sproc-macros.Sproc-mohawk.Sproc-sa110.Sproc-sa1100.Sproc-syms.cproc-v6.Sproc-v7-2level.Sproc-v7-3level.Sproc-v7.Sproc-v7m.Sproc-xsc3.Sproc-xscale.Spv-fixup-asm.Stcm.htlb-fa.Stlb-v4.Stlb-v4wb.Stlb-v4wbi.Stlb-v6.Stlb-v7.SnetMakefilebpf_jit_32.cbpf_jit_32.hnwfpeARM-gcc.hChangeLogMakefiledouble_cpdo.centry.Sextended_cpdo.cfpa11.cfpa11.hfpa11.inlfpa11_cpdo.cfpa11_cpdt.cfpa11_cprt.cfpmodule.cfpmodule.hfpmodule.inlfpopcode.cfpopcode.hfpsr.hmilieu.hsingle_cpdo.csoftfloat-macrossoftfloat-specializesoftfloat.csoftfloat.hoprofileMakefilecommon.cplat-iopMakefileadma.ccp6.ci2c.cpci.cpmu.crestart.csetup.ctime.cplat-omapKconfigMakefilecounter_32k.cdebug-leds.cdma.cdmtimer.cincludeplatcounter-32k.hcpu.hdmtimer.hi2c.hsram.hsram.cplat-orionMakefilecommon.cgpio.cincludeplataddr-map.hcommon.hirq.hmpp.horion-gpio.hpcie.htime.hirq.cmpp.cpcie.ctime.cplat-pxaKconfigMakefileincludeplatmfp.hmfp.cssp.cplat-samsungKconfigMakefileadc.ccpu.cdev-uart.cdevs.cgpio-samsung.cincludeplatadc-core.hadc.hcpu-freq-core.hcpu-freq.hcpu.hdevs.hfb-s3c2410.hfb.hgpio-cfg-helpers.hgpio-cfg.hgpio-core.hiic-core.hkeypad.hmap-base.hmap-s3c.hmap-s5p.hpm-common.hpm.hpwm-core.hregs-adc.hregs-irqtype.hregs-spi.hregs-udc.hsamsung-time.hsdhci.husb-phy.hwakeup-mask.hinit.cplatformdata.cpm-check.cpm-common.cpm-debug.cpm-gpio.cpm.cwakeup-mask.cwatchdog-reset.cplat-versatileKconfigMakefileheadsmp.Sincludeplatplatsmp.hsched_clock.hplatsmp.csched-clock.cprobesMakefiledecode-arm.cdecode-arm.hdecode-thumb.cdecode-thumb.hdecode.cdecode.hkprobesMakefileactions-arm.cactions-common.cactions-thumb.ccheckers-arm.ccheckers-common.ccheckers-thumb.ccheckers.hcore.ccore.hopt-arm.ctest-arm.ctest-core.ctest-core.htest-thumb.cuprobesMakefileactions-arm.ccore.ccore.htoolsMakefilegen-mach-typesmach-typessyscall.tblsyscallhdr.shsyscallnr.shsyscalltbl.shvdsoMakefiledatapage.Svdso.Svdso.lds.Svdsomunge.cvgettimeofday.cvfpMakefileentry.Svfp.hvfpdouble.cvfphw.Svfpinstr.hvfpmodule.cvfpsingle.cxenMakefileefi.cenlighten.cgrant-table.chypercall.Smm.cp2m.carm64KconfigKconfig.debugKconfig.platformsMakefilebootMakefiledtsMakefilealMakefilealpine-v2-evp.dtsalpine-v2.dtsiallwinnerMakefilesun50i-a64-bananapi-m64.dtssun50i-a64-pine64-plus.dtssun50i-a64-pine64.dtssun50i-a64.dtsisun50i-h5-orangepi-pc2.dtssun50i-h5.dtsialteraMakefilesocfpga_stratix10.dtsisocfpga_stratix10_socdk.dtsamdMakefileamd-overdrive-rev-b0.dtsamd-overdrive-rev-b1.dtsamd-overdrive.dtsamd-seattle-clks.dtsiamd-seattle-soc.dtsiamd-seattle-xgbe-b.dtsihusky.dtsamlogicMakefilemeson-gx-p23x-q20x.dtsimeson-gx.dtsimeson-gxbb-nexbox-a95x.dtsmeson-gxbb-odroidc2.dtsmeson-gxbb-p200.dtsmeson-gxbb-p201.dtsmeson-gxbb-p20x.dtsimeson-gxbb-vega-s95-meta.dtsmeson-gxbb-vega-s95-pro.dtsmeson-gxbb-vega-s95-telos.dtsmeson-gxbb-vega-s95.dtsimeson-gxbb-wetek-hub.dtsmeson-gxbb-wetek-play2.dtsmeson-gxbb.dtsimeson-gxl-mali.dtsimeson-gxl-s905d-p230.dtsmeson-gxl-s905d-p231.dtsmeson-gxl-s905d.dtsimeson-gxl-s905x-hwacom-amazetv.dtsmeson-gxl-s905x-khadas-vim.dtsmeson-gxl-s905x-nexbox-a95x.dtsmeson-gxl-s905x-p212.dtsmeson-gxl-s905x-p212.dtsimeson-gxl-s905x.dtsimeson-gxl.dtsimeson-gxm-nexbox-a1.dtsmeson-gxm-q200.dtsmeson-gxm-q201.dtsmeson-gxm.dtsiapmMakefileapm-merlin.dtsapm-mustang.dtsapm-shadowcat.dtsiapm-storm.dtsiarmMakefilefoundation-v8-gicv3.dtsfoundation-v8.dtsfoundation-v8.dtsijuno-base.dtsijuno-clocks.dtsijuno-cs-r1r2.dtsijuno-motherboard.dtsijuno-r1.dtsjuno-r2.dtsjuno.dtsrtsm_ve-aemv8a.dtsrtsm_ve-motherboard.dtsivexpress-v2f-1xv7-ca53x2.dtsvexpress-v2m-rs1.dtsibroadcomMakefilebcm2835-rpi.dtsibcm2837-rpi-3-b.dtsbcm2837.dtsibcm283x-rpi-smsc9514.dtsibcm283x-rpi-usb-host.dtsibcm283x.dtsins2-clock.dtsins2-svk.dtsns2-xmc.dtsns2.dtsicaviumMakefilethunder-88xx.dtsthunder-88xx.dtsithunder2-99xx.dtsthunder2-99xx.dtsiexynosMakefileexynos5433-bus.dtsiexynos5433-pinctrl.dtsiexynos5433-tm2-common.dtsiexynos5433-tm2.dtsexynos5433-tm2e.dtsexynos5433-tmu-g3d-sensor-conf.dtsiexynos5433-tmu-sensor-conf.dtsiexynos5433-tmu.dtsiexynos5433.dtsiexynos7-espresso.dtsexynos7-pinctrl.dtsiexynos7-tmu-sensor-conf.dtsiexynos7-trip-points.dtsiexynos7.dtsifreescaleMakefilefsl-ls1012a-frdm.dtsfsl-ls1012a-qds.dtsfsl-ls1012a-rdb.dtsfsl-ls1012a.dtsifsl-ls1043a-qds.dtsfsl-ls1043a-rdb.dtsfsl-ls1043a.dtsifsl-ls1046a-qds.dtsfsl-ls1046a-rdb.dtsfsl-ls1046a.dtsifsl-ls1088a-qds.dtsfsl-ls1088a-rdb.dtsfsl-ls1088a.dtsifsl-ls2080a-qds.dtsfsl-ls2080a-rdb.dtsfsl-ls2080a-simu.dtsfsl-ls2080a.dtsifsl-ls2088a-qds.dtsfsl-ls2088a-rdb.dtsfsl-ls2088a.dtsifsl-ls208xa-qds.dtsifsl-ls208xa-rdb.dtsifsl-ls208xa.dtsihisiliconMakefilehi3660-hikey960.dtshi3660.dtsihi3798cv200-poplar.dtshi3798cv200.dtsihi6220-hikey.dtshi6220.dtsihikey-pinctrl.dtsihikey960-pinctrl.dtsihip05-d02.dtship05.dtsihip06-d03.dtship06.dtsihip07-d05.dtship07.dtsilgMakefilelg1312-ref.dtslg1312.dtsilg1313-ref.dtslg1313.dtsimarvellMakefilearmada-371x.dtsiarmada-3720-db.dtsarmada-3720-espressobin.dtsarmada-372x.dtsiarmada-37xx.dtsiarmada-7020.dtsiarmada-7040-db.dtsarmada-7040.dtsiarmada-8020.dtsiarmada-8040-db.dtsarmada-8040-mcbin.dtsarmada-8040.dtsiarmada-ap806-dual.dtsiarmada-ap806-quad.dtsiarmada-ap806.dtsiarmada-cp110-master.dtsiarmada-cp110-slave.dtsiberlin4ct-dmp.dtsberlin4ct-stb.dtsberlin4ct.dtsimediatekMakefilemt6755-evb.dtsmt6755.dtsimt6795-evb.dtsmt6795.dtsimt8173-evb.dtsmt8173-pinfunc.hmt8173.dtsinvidiaMakefiletegra132-norrin.dtstegra132.dtsitegra186-p2771-0000.dtstegra186-p3310.dtsitegra186.dtsitegra210-p2180.dtsitegra210-p2371-0000.dtstegra210-p2371-2180.dtstegra210-p2530.dtsitegra210-p2571.dtstegra210-p2595.dtsitegra210-p2597.dtsitegra210-smaug.dtstegra210.dtsiqcomMakefileapq8016-sbc-pmic-pins.dtsiapq8016-sbc-soc-pins.dtsiapq8016-sbc.dtsapq8016-sbc.dtsiapq8096-db820c-pins.dtsiapq8096-db820c-pmic-pins.dtsiapq8096-db820c.dtsapq8096-db820c.dtsimsm8916-mtp.dtsmsm8916-mtp.dtsimsm8916-pins.dtsimsm8916.dtsimsm8992-bullhead-rev-101.dtsmsm8992-pins.dtsimsm8992.dtsimsm8994-angler-rev-101.dtsmsm8994-pins.dtsimsm8994.dtsimsm8996-mtp.dtsmsm8996-mtp.dtsimsm8996-pins.dtsimsm8996.dtsipm8004.dtsipm8916.dtsipm8994.dtsipmi8994.dtsirenesasMakefiler8a7795-h3ulcb.dtsr8a7795-salvator-x.dtsr8a7795.dtsir8a7796-m3ulcb.dtsr8a7796-salvator-x.dtsr8a7796.dtsirockchipMakefilerk3328-evb.dtsrk3328.dtsirk3368-evb-act8846.dtsrk3368-evb.dtsirk3368-geekbox.dtsrk3368-orion-r68-meta.dtsrk3368-px5-evb.dtsrk3368-r88.dtsrk3368.dtsirk3399-evb.dtsrk3399-gru-kevin.dtsrk3399-gru.dtsirk3399-opp.dtsirk3399.dtsisocionextMakefileuniphier-ld11-ref.dtsuniphier-ld11.dtsiuniphier-ld20-ref.dtsuniphier-ld20.dtsiuniphier-pinctrl.dtsiuniphier-ref-daughter.dtsiuniphier-support-card.dtsisprdMakefilesc9836-openphone.dtssc9836.dtsisc9860.dtsisharkl64.dtsisp9860g-1h10.dtswhale2.dtsixilinxMakefilezynqmp-ep108-clk.dtsizynqmp-ep108.dtszynqmp.dtsizteMakefilezx296718-evb.dtszx296718.dtsiinstall.shconfigsdefconfigcryptoKconfigMakefileaes-ce-ccm-core.Saes-ce-ccm-glue.caes-ce-cipher.caes-ce-setkey.haes-ce.Saes-cipher-core.Saes-cipher-glue.caes-glue.caes-modes.Saes-neon.Saes-neonbs-core.Saes-neonbs-glue.cchacha20-neon-core.Schacha20-neon-glue.ccrc32-ce-core.Scrc32-ce-glue.ccrct10dif-ce-core.Scrct10dif-ce-glue.cghash-ce-core.Sghash-ce-glue.csha1-ce-core.Ssha1-ce-glue.csha2-ce-core.Ssha2-ce-glue.csha256-core.S_shippedsha256-glue.csha512-armv8.plsha512-core.S_shippedsha512-glue.cincludeasmKbuildacenv.hacpi.halternative.harch_gicv3.harch_timer.harm-cci.hasm-offsets.hasm-uaccess.hassembler.hatomic.hatomic_ll_sc.hatomic_lse.hbarrier.hbitops.hbitrev.hboot.hbrk-imm.hbug.hcache.hcacheflush.hchecksum.hclocksource.hcmpxchg.hcompat.hcompiler.hcpu.hcpu_ops.hcpucaps.hcpufeature.hcpuidle.hcputype.hcurrent.hdcc.hdebug-monitors.hdevice.hdma-mapping.hdmi.hefi.helf.hesr.hexception.hexec.hextable.hfb.hfixmap.hfpsimd.hfpsimdmacros.hftrace.hfutex.hhardirq.hhugetlb.hhw_breakpoint.hhwcap.hhypervisor.hinsn.hio.hirq.hirq_work.hirqflags.hjump_label.hkasan.hkernel-pgtable.hkexec.hkgdb.hkprobes.hkvm_arm.hkvm_asm.hkvm_coproc.hkvm_emulate.hkvm_host.hkvm_hyp.hkvm_mmio.hkvm_mmu.hkvm_psci.hlinkage.hlse.hmemblock.hmemory.hmmu.hmmu_context.hmmzone.hmodule.hneon.hnuma.hpage.hparavirt.hpci.hpercpu.hperf_event.hpgalloc.hpgtable-hwdef.hpgtable-prot.hpgtable-types.hpgtable.hprobes.hproc-fns.hprocessor.hptdump.hptrace.hseccomp.hsections.hshmparam.hsignal32.hsmp.hsmp_plat.hsparsemem.hspinlock.hspinlock_types.hstack_pointer.hstackprotector.hstacktrace.hstage2_pgtable-nopmd.hstage2_pgtable-nopud.hstage2_pgtable.hstat.hstring.hsuspend.hsync_bitops.hsyscall.hsysreg.hsystem_misc.hthread_info.htimex.htlb.htlbflush.htopology.htraps.huaccess.hunistd.hunistd32.huprobes.hvdso.hvdso_datapage.hvirt.hword-at-a-time.hxenevents.hhypercall.hhypervisor.hinterface.hpage-coherent.hpage.hxen-ops.huapiasmKbuildauxvec.hbitsperlong.hbyteorder.hfcntl.hhwcap.hkvm.hparam.hperf_regs.hposix_types.hptrace.hsetup.hsigcontext.hsiginfo.hsignal.hstat.hstatfs.hucontext.hunistd.hkernelMakefileacpi.cacpi_numa.cacpi_parking_protocol.calternative.carm64ksyms.carmv8_deprecated.casm-offsets.ccacheinfo.ccpu-reset.Scpu-reset.hcpu_errata.ccpu_ops.ccpufeature.ccpuidle.ccpuinfo.ccrash_dump.cdebug-monitors.cefi-entry.Sefi-header.Sefi.centry-fpsimd.Sentry-ftrace.Sentry.Sentry32.Sfpsimd.cftrace.chead.Shibernate-asm.Shibernate.chw_breakpoint.chyp-stub.Simage.hinsn.cio.cirq.cjump_label.ckaslr.ckgdb.ckuser32.Smachine_kexec.cmodule-plts.cmodule.cmodule.ldsparavirt.cpci.cperf_callchain.cperf_event.cperf_regs.cprobesMakefiledecode-insn.cdecode-insn.hkprobes.ckprobes_trampoline.Ssimulate-insn.csimulate-insn.huprobes.cprocess.cpsci.cptrace.creloc_test_core.creloc_test_syms.Srelocate_kernel.Sreturn_address.csetup.csignal.csignal32.csleep.Ssmccc-call.Ssmp.csmp_spin_table.cstacktrace.csuspend.csys.csys32.csys_compat.ctime.ctopology.ctrace-events-emulation.htraps.cvdsovdso.cMakefilegen_vdso_offsets.shgettimeofday.Snote.Ssigreturn.Svdso.Svdso.lds.Svmlinux.lds.SkvmKconfigMakefiledebug.cguest.chandle_exit.chyphyp-init.Shyp.SMakefiledebug-sr.centry.Sfpsimd.Shyp-entry.Ss2-setup.cswitch.csysreg-sr.ctlb.cinject_fault.cirq.hregmap.creset.csys_regs.csys_regs.hsys_regs_generic_v8.ctrace.hvgic-sys-reg-v3.clibMakefileatomic_ll_sc.cbitops.Sclear_page.Sclear_user.Scopy_from_user.Scopy_in_user.Scopy_page.Scopy_template.Scopy_to_user.Sdelay.cmemchr.Smemcmp.Smemcpy.Smemmove.Smemset.Sstrchr.Sstrcmp.Sstrlen.Sstrncmp.Sstrnlen.Sstrrchr.SmmMakefilecache.Scontext.ccopypage.cdma-mapping.cdump.cextable.cfault.cflush.chugetlbpage.cinit.cioremap.ckasan_init.cmmap.cmmu.cnuma.cpageattr.cpgd.cphysaddr.cproc.Sptdump_debugfs.cnetMakefilebpf_jit.hbpf_jit_comp.cxenMakefilehypercall.SblackfinClear_BSD.txtKconfigKconfig.debugMakefilebootMakefileinstall.shconfigsBF518F-EZBRD_defconfigBF526-EZBRD_defconfigBF527-AD7160-EVAL_defconfigBF527-EZKIT-V2_defconfigBF527-EZKIT_defconfigBF527-TLL6527M_defconfigBF533-EZKIT_defconfigBF533-STAMP_defconfigBF537-STAMP_defconfigBF538-EZKIT_defconfigBF548-EZKIT_defconfigBF561-ACVILON_defconfigBF561-EZKIT-SMP_defconfigBF561-EZKIT_defconfigBF609-EZKIT_defconfigBlackStamp_defconfigCM-BF527_defconfigCM-BF533_defconfigCM-BF537E_defconfigCM-BF537U_defconfigCM-BF548_defconfigCM-BF561_defconfigDNP5370_defconfigH8606_defconfigIP0X_defconfigPNAV-10_defconfigSRV1_defconfigTCM-BF518_defconfigTCM-BF537_defconfigincludeasmKbuildasm-offsets.hatomic.hbarrier.hbfin-global.hbfin-lq035q1.hbfin5xx_spi.hbfin_can.hbfin_dma.hbfin_pfmon.hbfin_ppi.hbfin_sdh.hbfin_serial.hbfin_simple_timer.hbfin_sport.hbfin_sport3.hbfin_twi.hbfin_watchdog.hbfrom.hbitops.hblackfin.hbug.hcache.hcacheflush.hcdef_LPBlackfin.hchecksum.hclkdev.hclocks.hcmpxchg.hcontext.Scplb.hcplbinit.hcpu.hdef_LPBlackfin.hdelay.hdma-mapping.hdma.hdpmc.hearly_printk.helf.hentry.hexec.hfixed_code.hflat.hftrace.hgpio.hgptimers.hhardirq.hio.hipipe.hipipe_base.hirq.hirq_handler.hirqflags.hkgdb.hl1layout.hlinkage.hmem_init.hmem_map.hmmu.hmmu_context.hmodule.hnand.hnmi.hpage.hpage_offset.hpci.hpda.hperf_event.hpgtable.hpm.hportmux.hprocessor.hpseudo_instructions.hptrace.hreboot.hrwlock.hscb.hsections.hsegment.hsmp.hspinlock.hspinlock_types.hstring.hswitch_to.hsyscall.hthread_info.htime.htimex.htlb.htlbflush.htrace.htraps.huaccess.hunistd.hvga.hmach-commonirq.hpll.hports-a.hports-b.hports-c.hports-d.hports-e.hports-f.hports-g.hports-h.hports-i.hports-j.huapiasmKbuildbfin_sport.hbyteorder.hcachectl.hfcntl.hfixed_code.hioctls.hpoll.hposix_types.hptrace.hsigcontext.hsiginfo.hsignal.hstat.hswab.hunistd.hkernelMakefileasm-offsets.cbfin_dma.cbfin_gpio.cbfin_ksyms.ccplb-mpuMakefilecplbinit.ccplbmgr.ccplb-nompuMakefilecplbinit.ccplbmgr.ccplbinfo.cdebug-mmrs.cdma-mapping.cdumpstack.cearly_printk.centry.Sexception.cfixed_code.Sflat.cftrace-entry.Sftrace.cgptimers.cipipe.cirqchip.ckgdb.ckgdb_test.cmodule.cnmi.cperf_event.cprocess.cpseudodbg.cptrace.creboot.csetup.cshadow_console.csignal.cstacktrace.csys_bfin.ctime-ts.ctime.ctrace.ctraps.cvmlinux.lds.SlibMakefileashldi3.cashrdi3.cdivsi3.Sgcclib.hins.Slshrdi3.cmemchr.Smemcmp.Smemcpy.Smemmove.Smemset.Smodsi3.Smuldi3.Souts.Ssmulsi3_highpart.Sstrcmp.Sstrcpy.Sstrncmp.Sstrncpy.Sudivsi3.Sumodsi3.Sumulsi3_highpart.Smach-bf518KconfigMakefileboardsKconfigMakefileezbrd.ctcm-bf518.cdma.cincludemachanomaly.hbf518.hbfin_serial.hblackfin.hcdefBF512.hcdefBF514.hcdefBF516.hcdefBF518.hdefBF512.hdefBF514.hdefBF516.hdefBF518.hdma.hgpio.hirq.hmem_map.hpll.hportmux.hints-priority.cmach-bf527KconfigMakefileboardsKconfigMakefilead7160eval.ccm_bf527.cezbrd.cezkit.ctll6527m.cdma.cincludemachanomaly.hbf527.hbfin_serial.hblackfin.hcdefBF522.hcdefBF525.hcdefBF527.hdefBF522.hdefBF525.hdefBF527.hdma.hgpio.hirq.hmem_map.hpll.hportmux.hints-priority.cmach-bf533KconfigMakefileboardsH8606.cKconfigMakefileblackstamp.ccm_bf533.cezkit.cip0x.cstamp.cdma.cincludemachanomaly.hbf533.hbfin_serial.hblackfin.hcdefBF532.hdefBF532.hdma.hgpio.hirq.hmem_map.hpll.hportmux.hints-priority.cmach-bf537KconfigMakefileboardsKconfigMakefilecm_bf537e.ccm_bf537u.cdnp5370.cminotaur.cpnav10.cstamp.ctcm_bf537.cdma.cincludemachanomaly.hbf537.hbfin_serial.hblackfin.hcdefBF534.hcdefBF537.hdefBF534.hdefBF537.hdma.hgpio.hirq.hmem_map.hpll.hportmux.hints-priority.cmach-bf538KconfigMakefileboardsKconfigMakefileezkit.cdma.cext-gpio.cincludemachanomaly.hbf538.hbfin_serial.hblackfin.hcdefBF538.hcdefBF539.hdefBF538.hdefBF539.hdma.hgpio.hirq.hmem_map.hpll.hportmux.hints-priority.cmach-bf548KconfigMakefileboardsKconfigMakefilecm_bf548.cezkit.cdma.cincludemachanomaly.hbf548.hbf54x-lq043.hbf54x_keys.hbfin_serial.hblackfin.hcdefBF542.hcdefBF544.hcdefBF547.hcdefBF548.hcdefBF549.hcdefBF54x_base.hdefBF542.hdefBF544.hdefBF547.hdefBF548.hdefBF549.hdefBF54x_base.hdma.hgpio.hirq.hmem_map.hpll.hportmux.hints-priority.cmach-bf561KconfigMakefileatomic.SboardsKconfigMakefileacvilon.ccm_bf561.cezkit.ctepla.ccoreb.cdma.chotplug.cincludemachanomaly.hbf561.hbfin_serial.hblackfin.hcdefBF561.hdefBF561.hdma.hgpio.hirq.hmem_map.hpll.hportmux.hsmp.hints-priority.csecondary.Ssmp.cmach-bf609KconfigMakefileboardsKconfigMakefileezkit.cclock.cdma.cdpm.Sincludemachanomaly.hbf609.hbfin_serial.hblackfin.hcdefBF609.hcdefBF60x_base.hdefBF609.hdefBF60x_base.hdma.hgpio.hirq.hmem_map.hpll.hpm.hportmux.hints-priority.cpm.cscb.cmach-commonMakefilearch_checks.ccache-c.ccache.Sclock.hclocks-init.cdpmc.cdpmc_modes.Sentry.Shead.Sinterrupt.Sints-priority.cpm.cscb-init.csmp.cmmMakefileblackfin_sram.hinit.cisram-driver.cmaccess.csram-alloc.coprofileMakefilebfin_oprofile.cc6xKconfigMakefilebootMakefiledtsMakefiledsk6455.dtsevmc6457.dtsevmc6472.dtsevmc6474.dtsevmc6678.dtslinked_dtb.Stms320c6455.dtsitms320c6457.dtsitms320c6472.dtsitms320c6474.dtsitms320c6678.dtsiconfigsdsk6455_defconfigevmc6457_defconfigevmc6472_defconfigevmc6474_defconfigevmc6678_defconfigincludeasmKbuildasm-offsets.hbitops.hbug.hcache.hcacheflush.hchecksum.hclock.hcmpxchg.hdelay.hdma-mapping.hdscr.helf.hflat.hftrace.hhardirq.hirq.hirqflags.hlinkage.hmegamod-pic.hmodule.hpage.hpgtable.hprocessor.hprocinfo.hptrace.hsections.hsetup.hsoc.hspecial_insns.hstring.hswitch_to.hsyscall.hsyscalls.hthread_info.htimer64.htimex.htlb.htraps.huaccess.hunaligned.huapiasmKbuildbyteorder.hptrace.hsetup.hsigcontext.hswab.hunistd.hkernelMakefileasm-offsets.cc6x_ksyms.cdevicetree.cdma.centry.Shead.Sirq.cmodule.cprocess.cptrace.csetup.csignal.csoc.cswitch_to.Ssys_c6x.ctime.ctraps.cvectors.Svmlinux.lds.SlibMakefilechecksum.ccsum_64plus.Sdivi.Sdivremi.Sdivremu.Sdivu.Sllshl.Sllshr.Sllshru.Smemcpy_64plus.Smpyll.Snegll.Spop_rts.Spush_rts.Sremi.Sremu.Sstrasgi.Sstrasgi_64plus.SmmMakefiledma-coherent.cinit.cplatformsKconfigMakefilecache.cdscr.cemif.cmegamod-pic.cpll.cplldata.ctimer64.ccrisKconfigKconfig.debugMakefilearch-v10KconfigREADME.mmdriversKconfigMakefileaxisflashmap.ceeprom.cgpio.ci2c.ci2c.hsync_serial.ckernelMakefilecrisksyms.cdebugport.cdma.centry.Sfasttimer.chead.Sio_interface_mux.cirq.ckgdb.cprocess.cptrace.csetup.cshadows.csignal.ctime.ctraps.clibMakefilechecksum.Schecksumcopy.Scsumcpfruser.Sdram_init.Shw_settings.Smemset.cstring.cusercopy.cmmMakefilefault.cinit.ctlb.coutput_arch.ldarch-v32KconfigdriversKconfigMakefileaxisflashmap.ccryptocop.ciop_fw_load.cmach-a3Makefilenandflash.cmach-fsMakefilenandflash.cpciMakefilebios.cdma.csync_serial.ckernelMakefilecache.ccacheflush.Scrisksyms.cdebugport.centry.Sfasttimer.chead.Sirq.ckgdb.ckgdb_asm.Sprocess.cptrace.csetup.csignal.ctime.ctraps.clibMakefilechecksum.Schecksumcopy.Scsumcpfruser.Sdelay.cmemset.cstrcmp.Sstring.cusercopy.cmach-a3KconfigMakefilearbiter.cdma.cdram_init.Shw_settings.Spinmux.cmach-fsKconfigMakefilearbiter.cdma.cdram_init.Shw_settings.Spinmux.cmmMakefileinit.cintmem.cl2cache.cmmu.Stlb.coutput_arch.ldbootMakefilecompressedMakefileREADMEdecompress_v10.ldsdecompress_v32.ldshead_v10.Shead_v32.Smisc.cdtsMakefileartpec3.dtsidev88.dtsetraxfs.dtsip1343.dtsrescueMakefilehead_v10.Shead_v32.Skimagerescue.Srescue_v10.ldsrescue_v32.ldstestrescue.Stoolsbuild.cconfigsartpec_3_defconfigdev88_defconfigetrax-100lx_defconfigetrax-100lx_v2_defconfigetraxfs_defconfigincludearch-v10archbitops.hbug.hcache.hchecksum.hdelay.hdma.hio.hio_interface_mux.hirq.hirqflags.hmemmap.hmmu.hoffset.hpage.hpgtable.hprocessor.hswab.hsystem.hthread_info.htimex.htlb.huaccess.hunistd.harch-v32archbitops.hbug.hcache.hchecksum.hcryptocop.hdelay.hdma.hhwregsMakefileasmata_defs_asm.hbif_core_defs_asm.hbif_dma_defs_asm.hbif_slave_defs_asm.hconfig_defs_asm.hcpu_vect.hcris_defs_asm.hcris_supp_reg.hdma_defs_asm.heth_defs_asm.hgio_defs_asm.hintr_vect.hintr_vect_defs_asm.hirq_nmi_defs_asm.hmarb_defs_asm.hmmu_defs_asm.hmmu_supp_reg.hrt_trace_defs_asm.hser_defs_asm.hsser_defs_asm.hstrcop_defs_asm.hstrmux_defs_asm.htimer_defs_asm.hata_defs.hbif_core_defs.hbif_dma_defs.hbif_slave_defs.hconfig_defs.hcpu_vect.hdma.hdma_defs.heth_defs.hextmem_defs.hiopMakefileasmiop_crc_par_defs_asm.hiop_dmc_in_defs_asm.hiop_dmc_out_defs_asm.hiop_fifo_in_defs_asm.hiop_fifo_in_extra_defs_asm.hiop_fifo_out_defs_asm.hiop_fifo_out_extra_defs_asm.hiop_mpu_defs_asm.hiop_reg_space_asm.hiop_sap_in_defs_asm.hiop_sap_out_defs_asm.hiop_scrc_in_defs_asm.hiop_scrc_out_defs_asm.hiop_spu_defs_asm.hiop_sw_cfg_defs_asm.hiop_sw_cpu_defs_asm.hiop_sw_mpu_defs_asm.hiop_sw_spu_defs_asm.hiop_timer_grp_defs_asm.hiop_trigger_grp_defs_asm.hiop_version_defs_asm.hiop_crc_par_defs.hiop_dmc_in_defs.hiop_dmc_out_defs.hiop_fifo_in_defs.hiop_fifo_in_extra_defs.hiop_fifo_out_defs.hiop_fifo_out_extra_defs.hiop_mpu_defs.hiop_mpu_macros.hiop_reg_space.hiop_sap_in_defs.hiop_sap_out_defs.hiop_scrc_in_defs.hiop_scrc_out_defs.hiop_spu_defs.hiop_sw_cfg_defs.hiop_sw_cpu_defs.hiop_sw_mpu_defs.hiop_sw_spu_defs.hiop_timer_grp_defs.hiop_trigger_grp_defs.hiop_version_defs.hirq_nmi_defs.hmarb_bp_defs.hmarb_defs.hreg_rdwr.hrt_trace_defs.hser_defs.hsser_defs.hstrcop.hstrcop_defs.hsupp_reg.hintmem.hirq.hirqflags.hmemmap.hmmu.hoffset.hpage.hpgtable.hprocessor.hswab.hsystem.hthread_info.htimex.htlb.huaccess.hunistd.hmach-a3macharbiter.hdma.hhwregsasmclkgen_defs_asm.hddr2_defs_asm.hgio_defs_asm.hpinmux_defs_asm.hpio_defs_asm.hreg_map_asm.htimer_defs_asm.hclkgen_defs.hddr2_defs.hgio_defs.hintr_vect.hintr_vect_defs.hiopasmiop_reg_space_asm.hiop_sap_in_defs_asm.hiop_sap_out_defs_asm.hiop_sw_cfg_defs_asm.hiop_sw_cpu_defs_asm.hiop_sw_mpu_defs_asm.hiop_sw_spu_defs_asm.hiop_version_defs_asm.hiop_reg_space.hiop_sap_in_defs.hiop_sap_out_defs.hiop_sw_cfg_defs.hiop_sw_cpu_defs.hiop_sw_mpu_defs.hiop_sw_spu_defs.hiop_version_defs.hl2cache_defs.hmarb_bar_defs.hmarb_foo_defs.hpinmux_defs.hpio_defs.hreg_map.hstrmux_defs.htimer_defs.hmemmap.hpinmux.hstartup.incmach-fsmacharbiter.hdma.hhwregsasmbif_core_defs_asm.hconfig_defs_asm.hgio_defs_asm.hpinmux_defs_asm.hreg_map_asm.htimer_defs_asm.hbif_core_defs.hbif_dma_defs.hbif_slave_defs.hconfig_defs.hgio_defs.hintr_vect.hintr_vect_defs.hmarb_bp_defs.hmarb_defs.hpinmux_defs.hreg_map.hstrmux_defs.htimer_defs.hmemmap.hpinmux.hstartup.incasmKbuildasm-offsets.haxisflashmap.hbitops.hbug.hbugs.hcache.hcacheflush.hchecksum.hdelay.hdma-mapping.hdma.heshlibld.hetraxi2c.hfasttimer.hfb.hftrace.hhw_irq.hio.hirq.hirqflags.hmmu.hmmu_context.hpage.hpci.hpgalloc.hpgtable.hprocessor.hptrace.hsegment.hserial.hshmparam.hsignal.hstacktrace.hstring.hswab.hswitch_to.htermios.hthread_info.htimex.htlb.htlbflush.huaccess.hucontext.hunaligned.hunistd.huser.huapiarch-v10archsv_addr.aghsv_addr_ag.hsvinto.huser.harch-v32archcryptocop.huser.hasmKbuildbyteorder.helf.helf_v10.helf_v32.hethernet.hetraxgpio.hioctls.hparam.hposix_types.hptrace.hptrace_v10.hptrace_v32.hrs485.hsetup.hsigcontext.hsignal.hstat.hswab.hsync_serial.htermbits.htermios.hunistd.hkernelMakefileasm-offsets.ccrisksyms.cdevicetree.cirq.cmodule.cprocess.cprofile.cptrace.csetup.cstacktrace.csys_cris.ctime.ctraps.cvmlinux.lds.SmmMakefilefault.cinit.cioremap.ctlb.cfrvKconfigKconfig.debugMakefilebootMakefiledefconfigincludeasmKbuildasm-offsets.hatomic.hatomic_defs.hax88796.hbarrier.hbitops.hbug.hbugs.hbusctl-regs.hcache.hcacheflush.hchecksum.hcmpxchg.hcpu-irqs.hcurrent.hdelay.hdevice.hdiv64.hdm9000.hdma-mapping.hdma.helf.hemergency-restart.hfb.hfpu.hftrace.hfutex.hgdb-stub.hgpio-regs.hhardirq.hhighmem.hhw_irq.hio.hirc-regs.hirq.hirq_regs.hirqflags.hkdebug.hkmap_types.hlinkage.hlocal.hlocal64.hmath-emu.hmb-regs.hmb86943a.hmb93091-fpga-irqs.hmb93093-fpga-irqs.hmb93493-irqs.hmb93493-regs.hmem-layout.hmmu.hmmu_context.hmodule.hpage.hpci.hpercpu.hperf_event.hpgalloc.hpgtable.hprocessor.hptrace.hsections.hsegment.hserial-regs.hserial.hsetup.hshmparam.hsignal.hsmp.hspinlock.hspr-regs.hstring.hswitch_to.hsyscall.htermios.hthread_info.htimer-regs.htimex.htlb.htlbflush.htopology.htypes.huaccess.hucontext.hunaligned.hunistd.huser.hvga.hvirtconvert.hxor.huapiasmKbuildauxvec.hbitsperlong.hbyteorder.herrno.hfcntl.hioctl.hioctls.hipcbuf.hkvm_para.hmman.hmsgbuf.hparam.hpoll.hposix_types.hptrace.hregisters.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hunistd.hkernelMakefileasm-offsets.cbreak.Scmode.Sdebug-stub.cdma.centry-table.Sentry.Sfrv_ksyms.cfutex.cgdb-io.cgdb-io.hgdb-stub.chead-mmu-fr451.Shead-uc-fr401.Shead-uc-fr451.Shead-uc-fr555.Shead.Shead.incirq-mb93091.cirq-mb93093.cirq-mb93493.cirq.clocal.hlocal64.hmodule.cpm-mb93093.cpm.cprocess.cptrace.csetup.csignal.csleep.Sswitch_to.Ssys_frv.csysctl.ctime.ctraps.cuaccess.cvmlinux.lds.SlibMakefile__ashldi3.S__ashrdi3.S__lshrdi3.S__muldi3.S__negdi2.S__ucmpdi2.Satomic-lib.catomic-ops.Satomic64-ops.Scache.Schecksum.cinsl_ns.Sinsl_sw.Smemcpy.Smemset.Soutsl_ns.Soutsl_sw.Smb93090-mb00Makefileflash.cpci-dma-nommu.cpci-dma.cpci-frv.cpci-frv.hpci-irq.cpci-vdk.cmmMakefilecache-page.cdma-alloc.celf-fdpic.cextable.cfault.chighmem.cinit.ckmap.cmmu-context.cpgalloc.ctlb-flush.Stlb-miss.Sh8300KconfigKconfig.cpuMakefilebootMakefilecompressedMakefilehead.Smisc.cvmlinux.ldsvmlinux.scrdtsMakefileedosk2674.dtsh8300h_sim.dtsh8s_sim.dtsconfigsedosk2674_defconfigh8300h-sim_defconfigh8s-sim_defconfigincludeasmKbuildatomic.hbitops.hbug.hbyteorder.hcache.hcmpxchg.hdma-mapping.helf.hflat.hhash.hio.hirq.hirqflags.hkgdb.hpage.hpage_offset.hpci.hpgtable.hprocessor.hptrace.hsegment.hsignal.hsmp.hstring.hswitch_to.hsyscall.hthread_info.htlb.htraps.huaccess.huser.huapiasmKbuildbitsperlong.hbyteorder.hptrace.hsigcontext.hsignal.hunistd.hkernelMakefileasm-offsets.cdma.centry.Sh8300_ksyms.chead_ram.Shead_rom.Sirq.ckgdb.cmodule.cprocess.cptrace.cptrace_h.cptrace_s.csetup.csignal.csim-console.csyscalls.ctraps.cvmlinux.lds.SlibMakefileabs.Sashldi3.cashrdi3.cdelay.clibgcc.hlshrdi3.cmemcpy.Smemset.Smoddivsi3.Smodsi3.Smuldi3.cmulsi3.Sstrncpy.Sucmpdi2.cudivsi3.SmmMakefilefault.cinit.cmemory.chexagonKconfigMakefileconfigscomet_defconfigincludeasmKbuildasm-offsets.hatomic.hbitops.hcache.hcacheflush.hchecksum.hcmpxchg.hdelay.hdma-mapping.hdma.helf.hexec.hfixmap.hfpu.hfutex.hhexagon_vm.hintrinsics.hio.hirq.hirqflags.hkgdb.hlinkage.hmem-layout.hmmu.hmmu_context.hmodule.hpage.hperf_event.hpgalloc.hpgtable.hprocessor.hsmp.hspinlock.hspinlock_types.hstring.hsuspend.hswitch_to.hsyscall.hthread_info.htime.htimer-regs.htimex.htlb.htlbflush.htraps.huaccess.hvdso.hvm_fault.hvm_mmu.huapiasmKbuildbitsperlong.hbyteorder.hkvm_para.hparam.hptrace.hregisters.hsetup.hsigcontext.hsignal.hswab.hunistd.huser.hkernelMakefileasm-offsets.cdma.chead.Shexagon_ksyms.cirq_cpu.ckgdb.cmodule.cprocess.cptrace.creset.cscreen_info.csetup.csignal.csmp.cstacktrace.csyscalltab.ctime.ctrampoline.Straps.cvdso.cvm_entry.Svm_events.cvm_init_segtable.Svm_ops.Svm_switch.Svm_vectors.Svmlinux.lds.SlibMakefilechecksum.cio.cmemcpy.Smemset.SmmMakefilecache.ccopy_from_user.Scopy_to_user.Scopy_user_template.Sinit.cioremap.cpgalloc.cstrnlen_user.Suaccess.cvm_fault.cvm_tlb.cia64KconfigKconfig.debugMakefileconfigsbigsur_defconfiggeneric_defconfiggensparse_defconfigsim_defconfigtiger_defconfigzx1_defconfigdigMakefilemachvec.cmachvec_vtd.csetup.chpcommonMakefileaml_nfw.chwsw_iommu.csba_iommu.csimKconfigMakefilebootMakefileboot_head.Sbootloader.cbootloader.ldsfw-emu.cssc.hhpsim.Shpsim_console.chpsim_irq.chpsim_machvec.chpsim_setup.chpsim_ssc.hsimeth.csimscsi.csimserial.czx1Makefilehpzx1_machvec.chpzx1_swiotlb_machvec.cincludeasmKbuildacenv.hacpi-ext.hacpi.hagp.hasm-offsets.hasm-prototypes.hasmmacro.hatomic.hbarrier.hbitops.hbug.hbugs.hcache.hcacheflush.hchecksum.hclocksource.hcpu.hcputime.hcurrent.hcyclone.hdelay.hdevice.hdiv64.hdma-mapping.hdma.hdmi.hearly_ioremap.helf.hemergency-restart.hesi.hexception.hexport.hextable.hfb.hfpswa.hftrace.hfutex.hgcc_intrin.hhardirq.hhpsim.hhugetlb.hhw_irq.hidle.hintrinsics.hio.hiommu.hiommu_table.hiosapic.hirq.hirq_regs.hirq_remapping.hirqflags.hkdebug.hkexec.hkmap_types.hkprobes.hkregs.hlibata-portmap.hlinkage.hlocal.hlocal64.hmachvec.hmachvec_dig.hmachvec_dig_vtd.hmachvec_hpsim.hmachvec_hpzx1.hmachvec_hpzx1_swiotlb.hmachvec_init.hmachvec_sn2.hmachvec_uv.hmca.hmca_asm.hmeminit.hmman.hmmu.hmmu_context.hmmzone.hmodule.hmsidef.hnativeinst.hirq.hpatchlist.hnodedata.hnuma.hpage.hpal.hparam.hparport.hpatch.hpci.hpercpu.hperfmon.hpgalloc.hpgtable.hprocessor.hptrace.hrwsem.hsal.hsections.hsegment.hserial.hshmparam.hsiginfo.hsignal.hsmp.hsnacpi.haddrs.harch.hbte.hclksupport.hgeo.hintr.hio.hioc3.hklconfig.hl1.hleds.hmodule.hmspec.hnodepda.hpcibr_provider.hpcibus_provider_defs.hpcidev.hpda.hpic.hrw_mmr.hshub_mmr.hshubio.hsimulator.hsn2sn_hwperf.hsn_cpuid.hsn_feature_sets.hsn_sal.htioca.htioca_provider.htioce.htioce_provider.htiocp.htiocx.htypes.hsparsemem.hspinlock.hspinlock_types.hstring.hswiotlb.hswitch_to.hsyscall.htermios.hthread_info.htimex.htlb.htlbflush.htopology.htypes.huaccess.hunaligned.huncached.hunistd.hunwind.huser.hustack.huvuv.huv_hub.huv_mmrs.hvga.hxor.huapiasmKbuildauxvec.hbitsperlong.hbreak.hbyteorder.hcmpxchg.herrno.hfcntl.hfpu.hgcc_intrin.hia64regs.hintel_intrin.hintrinsics.hioctl.hioctls.hipcbuf.hmman.hmsgbuf.hparam.hperfmon.hperfmon_default_smpl.hpoll.hposix_types.hptrace.hptrace_offsets.hresource.hrse.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hucontext.hunistd.hustack.hinstall.shkernelMakefileMakefile.gateacpi-ext.cacpi.casm-offsets.caudit.cbrl_emu.ccrash.ccrash_dump.ccyclone.cdma-mapping.cefi.cefi_stub.Selfcore.centry.Sentry.herr_inject.cesi.cesi_stub.Sfsys.Sfsyscall_gtod_data.hftrace.cgate-data.Sgate.Sgate.lds.Shead.Sia64_ksyms.cinit_task.ciosapic.cirq.cirq_ia64.cirq_lsapic.civt.Sjprobes.Skprobes.cmachine_kexec.cmachvec.cmca.cmca_asm.Smca_drv.cmca_drv.hmca_drv_asm.Sminstate.hmodule.cmsi_ia64.cnr-irqs.cnuma.cpal.Spalinfo.cpatch.cpci-dma.cpci-swiotlb.cperfmon.cperfmon_default_smpl.cperfmon_generic.hperfmon_itanium.hperfmon_mckinley.hperfmon_montecito.hprocess.cptrace.crelocate_kernel.Ssal.csalinfo.csetup.csigframe.hsignal.csmp.csmpboot.cstacktrace.csys_ia64.ctime.ctopology.ctraps.cunaligned.cuncached.cunwind.cunwind_decoder.cunwind_i.hvmlinux.lds.SlibMakefilecarta_random.Schecksum.cclear_page.Sclear_user.Scopy_page.Scopy_page_mck.Scopy_user.Scsum_partial_copy.cdo_csum.Sflush.Sidiv32.Sidiv64.Sio.cip_fast_csum.Smemcpy.Smemcpy_mck.Smemset.Sstrlen.Sstrlen_user.Sstrncpy_from_user.Sstrnlen_user.Sxor.SmmMakefilecontig.cdiscontig.cextable.cfault.chugetlbpage.cinit.cioremap.cnuma.ctlb.cmodule.ldsoprofileMakefilebacktrace.cinit.cperfmon.cpciMakefilefixup.cpci.cscriptscheck-gascheck-gas-asm.Scheck-model.ccheck-segrel.Scheck-segrel.ldscheck-serialize.Scheck-text-align.Stoolchain-flagsunwcheck.pysnMakefileincludeioerror.htio.hxtalkhubdev.hxbow.hxwidgetdev.hkernelMakefilebte.cbte_error.chuberror.cidle.cio_acpi_init.cio_common.cio_init.ciomv.cirq.cklconflib.cmachvec.cmca.cmsi_sn.cpio_phys.Ssetup.csn2Makefilecache.cio.cprominfo_proc.cptc_deadlock.Ssn2_smp.csn_hwperf.csn_proc_fs.ctimer.ctimer_interrupt.ctiocx.cpciMakefilepci_dma.cpcibrMakefilepcibr_ate.cpcibr_dma.cpcibr_provider.cpcibr_reg.ctioca_provider.ctioce_provider.cuvMakefilekernelMakefilemachvec.csetup.cm32rKconfigKconfig.debugMakefilebootMakefilecompressedMakefileboot.hhead.Sinstall.shm32r_sio.cmisc.cvmlinux.lds.Svmlinux.scrsetup.Sconfigsm32104ut_defconfigm32700ut.smp_defconfigm32700ut.up_defconfigmappi.nommu_defconfigmappi.smp_defconfigmappi.up_defconfigmappi2.opsp_defconfigmappi2.vdec2_defconfigmappi3.smp_defconfigoaks32r_defconfigopsput_defconfigusrv_defconfigincludeasmKbuildaddrspace.hasm-offsets.hassembler.hatomic.hbarrier.hbitops.hbug.hbugs.hcache.hcachectl.hcacheflush.hchecksum.hcmpxchg.hdcache_clear.hdelay.hdevice.hdiv64.hdma-mapping.hdma.helf.hemergency-restart.hfb.hflat.hftrace.hfutex.hhardirq.hhw_irq.hio.hirq.hirq_regs.hirqflags.hkdebug.hkmap_types.hlinkage.hlocal.hlocal64.hm32102.hm32104utm32104ut_pld.hm32700utm32700ut_lan.hm32700ut_lcd.hm32700ut_pld.hm32r.hm32r_mp_fpga.hmappi2mappi2_pld.hmappi3mappi3_pld.hmc146818rtc.hmmu.hmmu_context.hmmzone.hopsputopsput_lan.hopsput_lcd.hopsput_pld.hpage.hpci.hpercpu.hpgalloc.hpgtable-2level.hpgtable.hprocessor.hptrace.hrtc.hs1d13806.hsegment.hserial.hsetup.hshmparam.hsignal.hsmp.hspinlock.hspinlock_types.hstring.hswitch_to.hsyscall.htermios.hthread_info.htimex.htlb.htlbflush.htopology.htypes.huaccess.hucontext.hunaligned.hunistd.huser.hvga.hxor.huapiasmKbuildauxvec.hbitsperlong.hbyteorder.herrno.hfcntl.hioctl.hioctls.hipcbuf.hmman.hmsgbuf.hparam.hpoll.hposix_types.hptrace.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hunistd.hkernelMakefilealign.casm-offsets.centry.Shead.Sirq.cm32r_ksyms.cmodule.cprocess.cptrace.csetup.csignal.csmp.csmpboot.csys_m32r.csyscall_table.Stime.ctraps.cvmlinux.lds.SlibMakefileashxdi3.Schecksum.Scsum_partial_copy.cdelay.clibgcc.hmemcpy.Smemset.Sstrlen.Sucmpdi2.cusercopy.cmmMakefilecache.cdiscontig.cextable.cfault-nommu.cfault.cinit.cioremap-nommu.cioremap.cmmu.Spage.SoprofileMakefileinit.cplatformsMakefilem32104utMakefileio.csetup.cm32700utMakefiledot.gdbinit_200MHz_16MBdot.gdbinit_300MHz_32MBdot.gdbinit_400MHz_32MBio.csetup.cmappiMakefiledot.gdbinitdot.gdbinit.nommudot.gdbinit.smpio.csetup.cmappi2Makefiledot.gdbinit.vdec2io.csetup.cmappi3Makefiledot.gdbinitio.csetup.coaks32rMakefiledot.gdbinit.nommuio.csetup.copsputMakefiledot.gdbinitio.csetup.cusrvMakefileio.csetup.cm68k68000Makefilebootlogo-vz.hbootlogo.hentry.Shead.Sints.cm68328.cm68EZ328.cm68VZ328.cromvec.Stimers.cKconfigKconfig.busKconfig.cpuKconfig.debugKconfig.devicesKconfig.machineMakefileamigaMakefileamiints.camisound.cchipram.ccia.cconfig.cpcmcia.cplatform.capolloMakefileconfig.cdn_ints.catariMakefileataints.catakeyb.catasound.cconfig.cdebug.cstdma.cstram.ctime.cbvme6000Makefileconfig.crtc.ccoldfireMakefileamcore.ccache.cclk.cdevice.cdma.cdma_timer.centry.Sfirebee.cgpio.chead.Sintc-2.cintc-5249.cintc-525x.cintc-5272.cintc-simr.cintc.cm5206.cm520x.cm523x.cm5249.cm525x.cm5272.cm527x.cm528x.cm5307.cm53xx.cm5407.cm5441x.cm54xx.cmcf8390.cnettel.cpci.cpit.creset.csltimers.ctimers.cvectors.cconfigsamcore_defconfigamiga_defconfigapollo_defconfigatari_defconfigbvme6000_defconfighp300_defconfigm5208evb_defconfigm5249evb_defconfigm5272c3_defconfigm5275evb_defconfigm5307c3_defconfigm5407c3_defconfigm5475evb_defconfigmac_defconfigmulti_defconfigmvme147_defconfigmvme16x_defconfigq40_defconfigsun3_defconfigsun3x_defconfigemuMakefilenatfeat.cnfblock.cnfcon.cnfeth.cfpsp040MakefileREADMEbindec.Sbinstr.Sbugfix.Sdecbin.Sdo_func.Sfpsp.hgen_except.Sget_op.Skernel_ex.Sres_func.Sround.Ssacos.Ssasin.Ssatan.Ssatanh.Sscale.Sscosh.Ssetox.Ssgetem.Ssint.Sskeleton.Sslog2.Sslogn.Ssmovecr.Ssrem_mod.Sssin.Sssinh.Sstan.Sstanh.Ssto_res.Sstwotox.Stbldo.Sutil.Sx_bsun.Sx_fline.Sx_operr.Sx_ovfl.Sx_snan.Sx_store.Sx_unfl.Sx_unimp.Sx_unsupp.Shp300MakefileREADME.hp300config.chp300map.mapreboot.Stime.ctime.hifpsp060CHANGESMISCMakefileREADMETEST.DOCfplsp.docfplsp.safpsp.docfpsp.safskeleton.Sftest.sailsp.docilsp.saiskeleton.Sisp.docisp.saitest.saos.Spfpsp.sasrcREADME-SRCfplsp.Sfpsp.Sftest.Silsp.Sisp.Sitest.Spfpsp.SincludeasmKbuildMC68328.hMC68EZ328.hMC68VZ328.ha.out-core.hadb_iop.hamigahw.hamigaints.hamigayle.hamipcmcia.hapollohw.hasm-offsets.hatafd.hatafdreg.hatari_joystick.hatari_stdma.hatari_stram.hatarihw.hatariints.hatarikb.hatomic.hbitops.hblinken.hbootinfo.hbootstd.hbug.hbugs.hbvme6000hw.hcache.hcacheflush.hcacheflush_mm.hcacheflush_no.hchecksum.hcmpxchg.hcoldfire.hcontregs.hcurrent.hdelay.hdiv64.hdma-mapping.hdma.hdsp56k.hdvma.helf.hentry.hexport.hfb.hfbio.hflat.hfloppy.hfpu.hftrace.hgpio.hhardirq.hhash.hhp300hw.hhwtest.hide.hidprom.hintersil.hio.hio_mm.hio_no.hirq.hirqflags.hkexec.hlinkage.hm5206sim.hm520xsim.hm523xsim.hm525xsim.hm5272sim.hm527xsim.hm528xsim.hm52xxacr.hm5307sim.hm53xxacr.hm53xxsim.hm5407sim.hm5441xsim.hm54xxacr.hm54xxgpt.hm54xxpci.hm54xxsim.hmac_asc.hmac_baboon.hmac_iop.hmac_oss.hmac_psc.hmac_via.hmachdep.hmachines.hmachw.hmacintosh.hmacints.hmath-emu.hmc146818rtc.hmcf8390.hmcf_pgalloc.hmcf_pgtable.hmcfclk.hmcfdma.hmcfgpio.hmcfintc.hmcfmmu.hmcfpit.hmcfqspi.hmcfsim.hmcfslt.hmcftimer.hmcfuart.hmcfwdebug.hmmu.hmmu_context.hmmzone.hmodule.hmotorola_pgalloc.hmotorola_pgtable.hmovs.hmvme147hw.hmvme16xhw.hnatfeat.hnettel.hnubus.hopenprom.hoplib.hpage.hpage_mm.hpage_no.hpage_offset.hparport.hpci.hpgalloc.hpgtable.hpgtable_mm.hpgtable_no.hprocessor.hptrace.hq40_master.hq40ints.hquicc_simple.hraw_io.hsegment.hserial.hsetup.hsignal.hsmp.hstring.hsun3-head.hsun3_pgalloc.hsun3_pgtable.hsun3ints.hsun3mmu.hsun3x.hsun3xflop.hsun3xprom.hswitch_to.hthread_info.htimex.htlb.htlbflush.htraps.huaccess.huaccess_mm.huaccess_no.hucontext.hunaligned.hunistd.huser.hvga.hvirtconvert.hzorro.huapiasmKbuilda.out.hbootinfo-amiga.hbootinfo-apollo.hbootinfo-atari.hbootinfo-hp300.hbootinfo-mac.hbootinfo-q40.hbootinfo-vme.hbootinfo.hbyteorder.hcachectl.hfcntl.hioctls.hparam.hpoll.hposix_types.hptrace.hsetup.hsigcontext.hsignal.hstat.hswab.hunistd.hinstall.shkernelMakefileasm-offsets.cbootinfo_proc.cdma.cearly_printk.centry.Shead.Sints.cirq.cmachine_kexec.cmodule.cmodule.ldspcibios.cprocess.cptrace.crelocate_kernel.Ssetup.csetup_mm.csetup_no.csignal.csun3-head.Ssys_m68k.csyscalltable.Stime.ctraps.cuboot.cvectors.cvmlinux-nommu.ldsvmlinux-std.ldsvmlinux-sun3.ldsvmlinux.lds.SlibMakefileashldi3.cashrdi3.cchecksum.cdivsi3.Slshrdi3.cmemcpy.cmemmove.cmemset.cmodsi3.Smuldi3.cmulsi3.Suaccess.cudivsi3.Sumodsi3.SmacMakefilebaboon.cconfig.ciop.cmac_penguin.Smacboing.cmacints.cmisc.coss.cpsc.cvia.cmath-emuMakefilefp_arith.cfp_arith.hfp_cond.Sfp_decode.hfp_emu.hfp_entry.Sfp_log.cfp_move.Sfp_movem.Sfp_scan.Sfp_trig.cfp_trig.hfp_util.Smulti_arith.hmmMakefilecache.cfault.chwtest.cinit.ckmap.cmcfmmu.cmemory.cmotorola.csun3kmap.csun3mmu.cmvme147Makefileconfig.cmvme16xMakefileconfig.crtc.cq40MakefileREADMEconfig.cq40ints.csun3Makefileconfig.cdvma.cidprom.cintersil.cleds.cmmu_emu.cpromMakefileconsole.cinit.cmisc.cprintf.csun3dvma.csun3ints.csun3xMakefileconfig.cdvma.cprom.ctime.ctime.htoolsamigaMakefiledmesg.cmetagKconfigKconfig.debugKconfig.socMakefilebootMakefiledtsMakefileskeleton.dtsskeleton.dtsitz1090.dtsitz1090_generic.dtsconfigsmeta1_defconfigmeta2_defconfigmeta2_smp_defconfigtz1090_defconfigincludeasmKbuildatomic.hatomic_lnkget.hatomic_lock1.hbarrier.hbitops.hbug.hcache.hcacheflush.hcachepart.hchecksum.hclock.hcmpxchg.hcmpxchg_irq.hcmpxchg_lnkget.hcmpxchg_lock1.hcore_reg.hcpu.hda.hdelay.hdiv64.hdma-mapping.helf.hfixmap.hftrace.hglobal_lock.hhighmem.hhugetlb.hhwthread.hio.hirq.hirqflags.hl2cache.hlinkage.hmacharch.hmetag_isa.hmetag_mem.hmetag_regs.hmman.hmmu.hmmu_context.hmmzone.hmodule.hpage.hperf_event.hpgalloc.hpgtable-bits.hpgtable.hprocessor.hptrace.hsetup.hsmp.hsparsemem.hspinlock.hspinlock_lnkget.hspinlock_lock1.hspinlock_types.hstacktrace.hstring.hswitch.hsyscall.hsyscalls.htbx.htcm.hthread_info.htlb.htlbflush.htopology.htraps.huaccess.hunistd.huser_gateway.huapiasmKbuildbyteorder.hech.hptrace.hsigcontext.hsiginfo.hswab.hunistd.hkernelMakefileasm-offsets.ccachepart.cclock.ccore_reg.cda.cdevtree.cdma.cftrace.cftrace_stub.Shead.Sirq.ckick.cmachines.cmetag_ksyms.cmodule.cperfMakefileperf_event.cperf_event.hperf_callchain.cprocess.cptrace.csetup.csignal.csmp.cstacktrace.csys_metag.ctbiunexp.Stcm.ctime.ctopology.ctraps.cuser_gateway.Svmlinux.lds.SlibMakefileashldi3.Sashrdi3.Schecksum.cclear_page.Scmpdi2.Scopy_page.Sdelay.cdiv64.Sdivsi3.Sip_fast_csum.Slshrdi3.Smemcpy.Smemmove.Smemset.Smodsi3.Smuldi3.Sucmpdi2.Susercopy.cmmKconfigMakefilecache.cextable.cfault.chighmem.chugetlbpage.cinit.cioremap.cl2cache.cmaccess.cmmu-meta1.cmmu-meta2.cnuma.coprofileMakefilebacktrace.cbacktrace.hcommon.ctbxMakefiletbicore.Stbictx.Stbictxfpu.Stbidefr.Stbidspram.Stbilogf.Stbipcx.Stbiroot.Stbisoft.Stbistring.ctbitimer.SmicroblazeKconfigKconfig.debugKconfig.platformMakefilebootMakefiledtsMakefilelinked_dtb.Ssystem.dtsconfigsmmu_defconfignommu_defconfigincludeasmKbuildasm-compat.hasm-offsets.hatomic.hbitops.hbug.hbugs.hcache.hcacheflush.hchecksum.hcmpxchg.hcpuinfo.hcputable.hcurrent.hdelay.hdiv64.hdma-mapping.hdma.helf.hemergency-restart.hentry.hexceptions.hfb.hfixmap.hflat.hftrace.hfutex.hhardirq.hhash.hhighmem.hhw_irq.hio.hirq.hirq_regs.hirqflags.hkdebug.hkgdb.hkmap_types.hlinkage.hlocal.hlocal64.hmmu.hmmu_context.hmmu_context_mm.hmodule.hpage.hparport.hpci-bridge.hpci.hpercpu.hpgalloc.hpgtable.hprocessor.hprom.hptrace.hpvr.hregisters.hseccomp.hsections.hserial.hsetup.hshmparam.hstring.hswitch_to.hsyscall.hthread_info.htimex.htlb.htlbflush.htopology.huaccess.hucontext.hunaligned.hunistd.hunwind.huser.hvga.hxor.huapiasmKbuildauxvec.hbitsperlong.hbyteorder.helf.herrno.hfcntl.hioctl.hioctls.hipcbuf.hkvm_para.hmman.hmsgbuf.hparam.hpoll.hposix_types.hptrace.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.hunistd.hkernelMakefileasm-offsets.ccpuMakefilecache.ccpuinfo-pvr-full.ccpuinfo-static.ccpuinfo.cmb.cpvr.cdma.cearly_printk.centry-nommu.Sentry.Sexceptions.cftrace.chead.Sheartbeat.chw_exception_handler.Sirq.ckgdb.cmcount.Smicroblaze_ksyms.cmisc.Smodule.cplatform.cprocess.cprom.cptrace.creset.csetup.csignal.cstacktrace.csys_microblaze.csyscall_table.Stimer.ctraps.cunwind.cvmlinux.lds.SlibMakefileashldi3.cashrdi3.ccmpdi2.cdivsi3.Sfastcopy.Slibgcc.hlshrdi3.cmemcpy.cmemmove.cmemset.cmodsi3.Smuldi3.cmulsi3.Suaccess_old.Sucmpdi2.cudivsi3.Sumodsi3.SmmMakefileconsistent.cfault.chighmem.cinit.cmmu_context.cpgtable.coprofileMakefilemicroblaze_oprofile.cpciMakefileindirect_pci.ciomap.cpci-common.cxilinx_pci.cmipsKbuildKbuild.platformsKconfigKconfig.debugMakefileMakefile.postlinkalchemyKconfigMakefilePlatformboard-gpr.cboard-mtx1.cboard-xxs1500.ccommonMakefileclock.cdbdma.cdma.cgpiolib.cirq.cplatform.cpower.cprom.csetup.csleeper.Stime.cusb.cvss.cdevboardsMakefilebcsr.cdb1000.cdb1200.cdb1300.cdb1550.cdb1xxx.cplatform.cplatform.hpm.car7MakefilePlatformclock.cgpio.cirq.cmemory.cplatform.cprom.csetup.ctime.cath25KconfigMakefilePlatformar2315.car2315.har2315_regs.har5312.car5312.har5312_regs.hboard.cdevices.cdevices.hearly_printk.cprom.cath79KconfigMakefilePlatformclock.ccommon.ccommon.hdev-common.cdev-common.hdev-gpio-buttons.cdev-gpio-buttons.hdev-leds-gpio.cdev-leds-gpio.hdev-spi.cdev-spi.hdev-usb.cdev-usb.hdev-wmac.cdev-wmac.hearly_printk.cirq.cmach-ap121.cmach-ap136.cmach-ap81.cmach-db120.cmach-pb44.cmach-ubnt-xm.cmachtypes.hpci.cpci.hprom.csetup.cbcm47xxKconfigMakefilePlatformbcm47xx_private.hboard.cbuttons.cirq.cleds.cprom.cserial.csetup.ctime.cworkarounds.cbcm63xxKconfigMakefilePlatformboardsKconfigMakefileboard_bcm963xx.cclk.ccpu.ccs.cdev-dsp.cdev-enet.cdev-flash.cdev-hsspi.cdev-pcmcia.cdev-rng.cdev-spi.cdev-uart.cdev-usb-usbd.cdev-wdt.cearly_printk.cgpio.cirq.cnvram.cprom.creset.csetup.ctimer.cbmipsKconfigMakefilePlatformdma.cirq.csetup.cbootMakefilecompressedMakefilecalc_vmlinuz_load_addr.cdbg.cdecompress.cdummy.chead.Sld.scriptstring.cuart-16550.cuart-alchemy.cuart-prom.cdtsMakefilebrcmMakefilebcm3368-netgear-cvg834g.dtsbcm3368.dtsibcm3384_viper.dtsibcm3384_zephyr.dtsibcm63268-comtrend-vr-3032u.dtsbcm63268.dtsibcm6328.dtsibcm6358-neufbox4-sercomm.dtsbcm6358.dtsibcm6362-neufbox6-sercomm.dtsbcm6362.dtsibcm6368.dtsibcm7125.dtsibcm7346.dtsibcm7358.dtsibcm7360.dtsibcm7362.dtsibcm7420.dtsibcm7425.dtsibcm7435.dtsibcm93384wvg.dtsbcm93384wvg_viper.dtsbcm96368mvwg.dtsbcm97125cbmb.dtsbcm97346dbsmb.dtsbcm97358svmb.dtsbcm97360svmb.dtsbcm97362svmb.dtsbcm97420c.dtsbcm97425svmb.dtsbcm97435svmb.dtsbcm97xxx-nand-cs1-bch24.dtsibcm97xxx-nand-cs1-bch4.dtsibcm9ejtagprb.dtscavium-octeonMakefiledlink_dsr-1000n.dtsdlink_dsr-500n-1000n.dtsidlink_dsr-500n.dtsocteon_3xxx.dtsocteon_3xxx.dtsiocteon_68xx.dtsubnt_e100.dtsimgMakefilepistachio.dtsipistachio_marduk.dtsingenicMakefileci20.dtsjz4740.dtsijz4780.dtsiqi_lb60.dtslantiqMakefiledanube.dtsieasy50712.dtsmtiMakefilemalta.dtssead3.dtsnetlogicMakefilexlp_evp.dtsxlp_fvp.dtsxlp_gvp.dtsxlp_rvp.dtsxlp_svp.dtspic32Makefilepic32mzda.dtsipic32mzda_sk.dtsqcaMakefilear9132.dtsiar9132_tl_wr1043nd_v1.dtsar9331.dtsiar9331_dpt_module.dtsar9331_dragino_ms14.dtsar9331_omega.dtsar9331_tl_mr3020.dtsralinkMakefilemt7620a.dtsimt7620a_eval.dtsrt2880.dtsirt2880_eval.dtsrt3050.dtsirt3052_eval.dtsrt3883.dtsirt3883_eval.dtsxilfpgaMakefilemicroAptiv.dtsinexys4ddr.dtsecoff.helf2ecoff.ctoolsMakefilerelocs.crelocs.hrelocs_32.crelocs_64.crelocs_main.ccavium-octeonKconfigMakefilePlatformcpu.ccryptoMakefileocteon-crypto.cocteon-crypto.hocteon-md5.cocteon-sha1.cocteon-sha256.cocteon-sha512.ccsrc-octeon.cdma-octeon.cexecutiveMakefilecvmx-bootmem.ccvmx-cmd-queue.ccvmx-helper-board.ccvmx-helper-errata.ccvmx-helper-jtag.ccvmx-helper-loop.ccvmx-helper-npi.ccvmx-helper-rgmii.ccvmx-helper-sgmii.ccvmx-helper-spi.ccvmx-helper-util.ccvmx-helper-xaui.ccvmx-helper.ccvmx-interrupt-decodes.ccvmx-interrupt-rsl.ccvmx-l2c.ccvmx-pko.ccvmx-spi.ccvmx-sysinfo.cocteon-model.cflash_setup.coct_ilm.cocteon-irq.cocteon-memcpy.Socteon-platform.cocteon-usb.cocteon_boot.hsetup.csmp.ccobaltMakefilePlatformbuttons.cirq.clcd.cled.cmtd.cpci.creset.crtc.cserial.csetup.ctime.cconfigsar7_defconfigath25_defconfigath79_defconfigbcm47xx_defconfigbcm63xx_defconfigbigsur_defconfigbmips_be_defconfigbmips_stb_defconfigcapcella_defconfigcavium_octeon_defconfigci20_defconfigcobalt_defconfigdb1xxx_defconfigdecstation_defconfige55_defconfigfuloong2e_defconfiggeneric32r1.config32r2.config32r6.config64r1.config64r2.config64r6.configboard-sead-3.configeb.configel.configmicro32r2.configgeneric_defconfiggpr_defconfigip22_defconfigip27_defconfigip28_defconfigip32_defconfigjazz_defconfigjmr3927_defconfiglasat_defconfiglemote2f_defconfigloongson1b_defconfigloongson1c_defconfigloongson3_defconfigmalta_defconfigmalta_kvm_defconfigmalta_kvm_guest_defconfigmalta_qemu_32r6_defconfigmaltaaprp_defconfigmaltasmvp_defconfigmaltasmvp_eva_defconfigmaltaup_defconfigmaltaup_xpa_defconfigmarkeins_defconfigmips_paravirt_defconfigmpc30x_defconfigmsp71xx_defconfigmtx1_defconfignlm_xlp_defconfignlm_xlr_defconfigpic32mzda_defconfigpistachio_defconfigpnx8335_stb225_defconfigqi_lb60_defconfigrb532_defconfigrbtx49xx_defconfigrm200_defconfigrt305x_defconfigsb1250_swarm_defconfigtb0219_defconfigtb0226_defconfigtb0287_defconfigworkpad_defconfigxilfpga_defconfigxway_defconfigdecMakefilePlatformecc-berr.cint-handler.Sioasic-irq.ckn01-berr.ckn02-irq.ckn02xa-berr.cplatform.cpromMakefilecmdline.cconsole.cdectypes.hidentify.cinit.clocore.Smemory.creset.csetup.ctc.ctime.cwbflush.cemmaMakefilePlatformcommonMakefileprom.cmarkeinsMakefileirq.cled.cplatform.csetup.cfwarcMakefilearc_con.ccmdline.cenv.cfile.cidentify.cinit.cmemory.cmisc.cpromlib.csalone.ctime.ctree.ccfeMakefilecfe_api.ccfe_api_int.hlibMakefilecall_o32.Scmdline.csniMakefilesniprom.cgenericKconfigMakefilePlatformboard-sead3.cinit.cirq.ckexec.cproc.cvmlinux.its.SincludeasmKbuildabi.haddrspace.hamon.harch_hweight.hasm-eva.hasm-offsets.hasm-prototypes.hasm.hasmmacro-32.hasmmacro-64.hasmmacro.hatomic.hbarrier.hbcache.hbitops.hbitrev.hbmips-spaces.hbmips.hbootinfo.hbranch.hbreak.hbug.hbugs.hcache.hcacheflush.hcacheops.hcdmm.hcevt-r4k.hchecksum.hclock.hclocksource.hcmp.hcmpxchg.hcompat-signal.hcompat.hcompiler.hcop2.hcpu-features.hcpu-info.hcpu-type.hcpu.hcpufeature.hdebug.hdececc.hinterrupts.hioasic.hioasic_addrs.hioasic_ints.hkn01.hkn02.hkn02ba.hkn02ca.hkn02xa.hkn03.hkn05.hkn230.hmachtype.hprom.hsystem.hdelay.hdevice.hdiv64.hdma-coherence.hdma-mapping.hdma.hds1287.hdsemul.hdsp.hedac.helf.hemmaemma2rh.hmarkeins.herrno.heva.hexec.hextable.hfb.hfixmap.hfloppy.hfpregdef.hfpu.hfpu_emulator.hftrace.hfutex.hfwarchinv.htypes.hcfecfe_api.hcfe_error.hfw.hgio_device.hgt64120.hhardirq.hhazards.hhighmem.hhpet.hhugetlb.hhw_irq.hi8259.hide.hidle.hinst.hio.hip32crime.hip32_ints.hmace.hirq.hirq_cpu.hirq_gt641xx.hirq_regs.hirqflags.hisadep.hjazz.hjazzdma.hjump_label.hkdebug.hkexec.hkgdb.hkmap_types.hkprobes.hkvm_host.hkvm_para.hlasatds1603.heeprom.hhead.hlasat.hlasatint.hpicvue.hserial.hlinkage.hllsc.hlocal.hm48t37.hmaar.hmach-ar7ar7.hirq.hprom.hspaces.hmach-ath25ath25_platform.hcpu-feature-overrides.hdma-coherence.hmach-ath79ar71xx_regs.har933x_uart.hath79.hath79_spi_platform.hcpu-feature-overrides.hirq.hkernel-entry-init.hmach-au1x00au1000.hau1000_dma.hau1100_mmc.hau1200fb.hau1550_spi.hau1550nd.hau1xxx_dbdma.hau1xxx_eth.hau1xxx_ide.hau1xxx_psc.hcpu-feature-overrides.hgpio-au1000.hgpio-au1300.hioremap.hprom.hmach-bcm47xxbcm47xx.hbcm47xx_board.hcpu-feature-overrides.hmach-bcm63xxbcm63xx_board.hbcm63xx_cpu.hbcm63xx_cs.hbcm63xx_dev_dsp.hbcm63xx_dev_enet.hbcm63xx_dev_flash.hbcm63xx_dev_hsspi.hbcm63xx_dev_pci.hbcm63xx_dev_pcmcia.hbcm63xx_dev_spi.hbcm63xx_dev_uart.hbcm63xx_dev_usb_usbd.hbcm63xx_gpio.hbcm63xx_io.hbcm63xx_irq.hbcm63xx_iudma.hbcm63xx_nvram.hbcm63xx_regs.hbcm63xx_reset.hbcm63xx_timer.hboard_bcm963xx.hcpu-feature-overrides.hioremap.hirq.hspaces.hmach-bmipscpu-feature-overrides.hdma-coherence.hioremap.hspaces.hmach-cavium-octeoncpu-feature-overrides.hdma-coherence.hirq.hkernel-entry-init.hmangle-port.hspaces.hwar.hmach-cobaltcobalt.hcpu-feature-overrides.hirq.hmach-gt64120.hmach-db1x00bcsr.hirq.hmach-deccpu-feature-overrides.hmc146818rtc.hmach-emma2rhirq.hmach-genericcpu-feature-overrides.hdma-coherence.hfloppy.hide.hioremap.hirq.hkernel-entry-init.hkmalloc.hmangle-port.hmc146818rtc.hspaces.htopology.hwar.hmach-ip22cpu-feature-overrides.hspaces.hwar.hmach-ip27cpu-feature-overrides.hdma-coherence.hirq.hkernel-entry-init.hkmalloc.hmangle-port.hmmzone.hspaces.htopology.hwar.hmach-ip28cpu-feature-overrides.hspaces.hwar.hmach-ip32cpu-feature-overrides.hdma-coherence.hkmalloc.hmangle-port.hwar.hmach-jazzdma-coherence.hfloppy.hmc146818rtc.hmach-jz4740base.hclock.hcpu-feature-overrides.hdma.hgpio.hirq.hjz4740_fb.hjz4740_mmc.hjz4740_nand.hplatform.htimer.hmach-lantiqfalconcpu-feature-overrides.hfalcon_irq.hirq.hlantiq_soc.hlantiq.hlantiq_platform.hxwayirq.hlantiq_irq.hlantiq_soc.hxway_dma.hmach-lasatirq.hmach-gt64120.hmach-loongson32cpufreq.hdma.hirq.hloongson1.hnand.hplatform.hprom.hregs-clk.hregs-mux.hregs-pwm.hregs-rtc.hregs-wdt.hmach-loongson64boot_param.hcpu-feature-overrides.hcs5536cs5536.hcs5536_mfgpt.hcs5536_pci.hcs5536_vsm.hdma-coherence.hirq.hkernel-entry-init.hloongson.hloongson_hwmon.hmachine.hmc146818rtc.hmem.hmmzone.hpci.hspaces.htopology.hworkarounds.hmach-maltacpu-feature-overrides.hirq.hkernel-entry-init.hmach-gt64120.hmalta-dtshim.hmalta-pm.hmc146818rtc.hspaces.hwar.hmach-netlogiccpu-feature-overrides.hirq.hmulti-node.hmach-paravirtcpu-feature-overrides.hirq.hkernel-entry-init.hmach-pic32cpu-feature-overrides.hirq.hpic32.hspaces.hmach-pistachioirq.hmach-pmcs-msp71xxcpu-feature-overrides.hmsp_cic_int.hmsp_gpio_macros.hmsp_int.hmsp_pci.hmsp_prom.hmsp_regops.hmsp_regs.hmsp_slp_int.hmsp_usb.hwar.hmach-pnx833xgpio.hirq-mapping.hirq.hpnx833x.hmach-ralinkirq.hmt7620mt7620.hcpu-feature-overrides.hmt7621mt7621.hcpu-feature-overrides.hpinmux.hralink_regs.hrt288xrt288x.hcpu-feature-overrides.hrt305xrt305x.hcpu-feature-overrides.hrt3883rt3883.hcpu-feature-overrides.hmach-rc32434cpu-feature-overrides.hddr.hdma.hdma_v.heth.hgpio.hinteg.hirq.hpci.hprom.hrb.hrc32434.htimer.hwar.hmach-rmcpu-feature-overrides.hmc146818rtc.hwar.hmach-sibytecpu-feature-overrides.hwar.hmach-tx39xxioremap.hmangle-port.hspaces.hmach-tx49xxcpu-feature-overrides.hioremap.hkmalloc.hmangle-port.hspaces.hwar.hmach-vr41xxirq.hmach-xilfpgairq.hmachine.hmc146818-time.hmc146818rtc.hmips-boardsbonito64.hgeneric.hlaunch.hmalta.hmaltaint.hmsc01_pci.hpiix4.hsead3-addr.hsim.hmips-cm.hmips-cpc.hmips-r2-to-r6-emul.hmips_machine.hmips_mt.hmipsmtregs.hmipsprom.hmipsregs.hmmu.hmmu_context.hmmzone.hmodule.hmsa.hmsc01_ic.hnetlogiccommon.hhaldefs.hinterrupt.hmips-extns.hpsb-bootinfo.hxlp-halbridge.hcpucontrol.hiomap.hpcibus.hpic.hsys.huart.hxlp.hxlrbridge.hflash.hfmn.hgpio.hiomap.hmsidef.hpic.hxlr.hnile4.hocteoncvmx-address.hcvmx-agl-defs.hcvmx-asm.hcvmx-asxx-defs.hcvmx-bootinfo.hcvmx-bootmem.hcvmx-ciu-defs.hcvmx-ciu2-defs.hcvmx-ciu3-defs.hcvmx-cmd-queue.hcvmx-config.hcvmx-coremask.hcvmx-dbg-defs.hcvmx-dpi-defs.hcvmx-fau.hcvmx-fpa-defs.hcvmx-fpa.hcvmx-gmxx-defs.hcvmx-gpio-defs.hcvmx-helper-board.hcvmx-helper-errata.hcvmx-helper-jtag.hcvmx-helper-loop.hcvmx-helper-npi.hcvmx-helper-rgmii.hcvmx-helper-sgmii.hcvmx-helper-spi.hcvmx-helper-util.hcvmx-helper-xaui.hcvmx-helper.hcvmx-iob-defs.hcvmx-ipd-defs.hcvmx-ipd.hcvmx-l2c-defs.hcvmx-l2c.hcvmx-l2d-defs.hcvmx-l2t-defs.hcvmx-led-defs.hcvmx-lmcx-defs.hcvmx-mio-defs.hcvmx-mixx-defs.hcvmx-npei-defs.hcvmx-npi-defs.hcvmx-packet.hcvmx-pci-defs.hcvmx-pciercx-defs.hcvmx-pcsx-defs.hcvmx-pcsxx-defs.hcvmx-pemx-defs.hcvmx-pescx-defs.hcvmx-pexp-defs.hcvmx-pip-defs.hcvmx-pip.hcvmx-pko-defs.hcvmx-pko.hcvmx-pow-defs.hcvmx-pow.hcvmx-rnm-defs.hcvmx-rst-defs.hcvmx-scratch.hcvmx-sli-defs.hcvmx-smix-defs.hcvmx-spi.hcvmx-spinlock.hcvmx-spxx-defs.hcvmx-sriox-defs.hcvmx-srxx-defs.hcvmx-stxx-defs.hcvmx-sysinfo.hcvmx-uctlx-defs.hcvmx-wqe.hcvmx.hocteon-feature.hocteon-model.hocteon.hpci-octeon.hpaccess.hpage.hpcipci.hbridge.hperf_event.hpgalloc.hpgtable-32.hpgtable-64.hpgtable-bits.hpgtable.hpm-cps.hpm.hpmon.hprefetch.hprocessor.hprom.hptrace.hr4k-timer.hr4kcache.hreboot.hreg.hregdef.hrtlx.hseccomp.hsetup.hsgigio.hhpc3.hioc.hip22.hmc.hpi1.hseeq.hsgi.hwd.hsgialib.hsgiarcs.hshmparam.hsibytebcm1480_int.hbcm1480_l2c.hbcm1480_mc.hbcm1480_regs.hbcm1480_scd.hbigsur.hboard.hcarmel.hsb1250.hsb1250_defs.hsb1250_dma.hsb1250_genbus.hsb1250_int.hsb1250_l2c.hsb1250_ldt.hsb1250_mac.hsb1250_mc.hsb1250_regs.hsb1250_scd.hsb1250_smbus.hsb1250_syncser.hsb1250_uart.hsentosa.hswarm.hsigcontext.hsignal.hsim.hsmp-cps.hsmp-ops.hsmp.hsnaddrs.hagent.harch.hfru.hgda.hhub.hintr.hio.hioc3.hklconfig.hkldir.hklkernvars.hlaunch.hmapped_kernel.hnmi.hsn0addrs.harch.hhub.hhubio.hhubmd.hhubni.hhubpi.hip27.hsn_private.htypes.hsni.hsocket.hsparsemem.hspinlock.hspinlock_types.hspram.hstackframe.hstackprotector.hstacktrace.hstring.hswitch_to.hsyscall.htermios.hthread_info.htime.htimex.htlb.htlbdebug.htlbex.htlbflush.htlbmisc.htopology.htraps.htxx9boards.hdmac.hgeneric.hjmr3927.hndfmc.hpci.hrbtx4927.hrbtx4938.hrbtx4939.hsmsc_fdc37m81x.hspi.htx3927.htx4927.htx4927pcic.htx4938.htx4939.htxx9irq.htxx9pio.htxx9tmr.htypes.huaccess.huasm.hunistd.huprobes.hvdso.hvga.hvpe.hvr41xxcapcella.hgiu.hirq.hmpc30x.hpci.hsiu.htb0219.htb0226.htb0287.hvr41xx.hwar.hwatch.hwbflush.hxtalkxtalk.hxwidget.huapiasmKbuildauxvec.hbitfield.hbitsperlong.hbreak.hbyteorder.hcachectl.herrno.hfcntl.hhwcap.hinst.hioctl.hioctls.hkvm.hkvm_para.hmman.hmsgbuf.hparam.hpoll.hposix_types.hptrace.hreg.hresource.hsembuf.hsetup.hsgidefs.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.hsysmips.htermbits.htermios.htypes.hucontext.hunistd.hjazzKconfigMakefilePlatformirq.cjazzdma.creset.csetup.cjz4740KconfigMakefilePlatformboard-qi_lb60.cgpio.cplatform.cpm.cprom.creset.creset.hsetup.ctime.ctimer.ckernel8250-platform.cMakefileasm-offsets.cbinfmt_elfn32.cbinfmt_elfo32.cbmips_5xxx_init.Sbmips_vec.Sbranch.ccacheinfo.ccevt-bcm1480.ccevt-ds1287.ccevt-gt641xx.ccevt-r4k.ccevt-sb1250.ccevt-txx9.ccps-vec-ns16550.Scps-vec.Scpu-bugs64.ccpu-probe.ccrash.ccrash_dump.ccsrc-bcm1480.ccsrc-ioasic.ccsrc-r4k.ccsrc-sb1250.cearly_printk.cearly_printk_8250.celf.centry.Sftrace.cgenex.Sgpio_txx9.chead.Si8253.cidle.cirq-gt641xx.cirq-msc01.cirq-rm7000.cirq.cirq_txx9.cjump_label.ckgdb.ckprobes.clinux32.cmachine_kexec.cmcount.Smips-cm.cmips-cpc.cmips-mt-fpaff.cmips-mt.cmips-r2-to-r6-emul.cmips_machine.cmodule-rela.cmodule.cocteon_switch.Sperf_event.cperf_event_mipsxx.cpm-cps.cpm.cprobes-common.hproc.cprocess.cprom.cptrace.cptrace32.cr2300_fpu.Sr2300_switch.Sr4k_fpu.Sr4k_switch.Sr6000_fpu.Srelocate.crelocate_kernel.Sreset.crtlx-cmp.crtlx-mt.crtlx.cscall32-o32.Sscall64-64.Sscall64-n32.Sscall64-o32.Ssegment.csetup.csignal-common.hsignal.csignal32.csignal_n32.csignal_o32.csmp-bmips.csmp-cmp.csmp-cps.csmp-mt.csmp-up.csmp.cspinlock_test.cspram.cstacktrace.csync-r4k.csyscall.csysrq.ctime.ctopology.ctraps.cunaligned.cuprobes.cvdso.cvmlinux.lds.Svpe-cmp.cvpe-mt.cvpe.cwatch.ckvm00README.txtKconfigMakefilecallback.ccommpage.ccommpage.hdyntrans.cemulate.centry.cfpu.Shypcall.cinterrupt.cinterrupt.hmips.cmmu.cmsa.Sstats.ctlb.ctrace.htrap_emul.cvz.clantiqKconfigMakefilePlatformclk.cclk.hearly_printk.cfalconMakefileprom.creset.csysctrl.cirq.cprom.cprom.hxwayMakefileclk.cdcdc.cdma.cgptu.cprom.creset.csysctrl.cvmmc.cxrx200_phy_fw.clasatKconfigMakefilePlatformat93c.cat93c.hds1603.cds1603.himageMakefilehead.Sromscript.normalinterrupt.clasat_board.clasat_models.hpicvue.cpicvue.hpicvue_proc.cprom.cprom.hreset.cserial.csetup.csysctl.clibMakefileashldi3.cashrdi3.cbitops.cbswapdi.cbswapsi.ccmpdi2.ccsum_partial.Sdelay.cdump_tlb.ciomap-pci.ciomap.clibgcc.hlshrdi3.cmemcpy.Smemset.Smips-atomic.cr3k_dump_tlb.cstrlen_user.Sstrncpy_user.Sstrnlen_user.Sucmpdi2.cuncached.cloongson32KconfigMakefilePlatformcommonMakefileirq.cplatform.cprom.creset.csetup.ctime.cls1bMakefileboard.cls1cMakefileboard.cloongson64KconfigMakefilePlatformcommonMakefilebonito-irq.ccmdline.ccs5536Makefilecs5536_acc.ccs5536_ehci.ccs5536_ide.ccs5536_isa.ccs5536_mfgpt.ccs5536_ohci.ccs5536_pci.cdma-swiotlb.cearly_printk.cenv.cinit.cirq.cmachtype.cmem.cpci.cplatform.cpm.creset.crtc.cserial.csetup.ctime.cuart_base.cfuloong-2eMakefileirq.creset.clemote-2fMakefileclock.cec_kb3310b.cec_kb3310b.hirq.cmachtype.cpm.creset.cloongson-3Makefileacpi_init.ccop2-ex.chpet.cirq.cnuma.cplatform.csmp.csmp.hmath-emuMakefilecp1emu.cdp_2008class.cdp_add.cdp_cmp.cdp_div.cdp_fint.cdp_flong.cdp_fmax.cdp_fmin.cdp_fsp.cdp_maddf.cdp_mul.cdp_simple.cdp_sqrt.cdp_sub.cdp_tint.cdp_tlong.cdsemul.cieee754.cieee754.hieee754d.cieee754dp.cieee754dp.hieee754int.hieee754sp.cieee754sp.hme-debugfs.csp_2008class.csp_add.csp_cmp.csp_div.csp_fdp.csp_fint.csp_flong.csp_fmax.csp_fmin.csp_maddf.csp_mul.csp_simple.csp_sqrt.csp_sub.csp_tint.csp_tlong.cmmMakefilec-octeon.cc-r3k.cc-r4k.cc-tx39.ccache.ccerr-sb1.ccex-gen.Scex-oct.Scex-sb1.Sdma-default.cextable.cfault.cgup.chighmem.chugetlbpage.cinit.cioremap.cmmap.cpage-funcs.Spage.cpgtable-32.cpgtable-64.cpgtable.csc-debugfs.csc-ip22.csc-mips.csc-r5k.csc-rm7k.ctlb-funcs.Stlb-r3k.ctlb-r4k.ctlb-r8k.ctlbex-fault.Stlbex.cuasm-micromips.cuasm-mips.cuasm.cmti-maltaMakefilePlatformmalta-amon.cmalta-display.cmalta-dt.cmalta-dtshim.cmalta-init.cmalta-int.cmalta-memory.cmalta-platform.cmalta-pm.cmalta-reset.cmalta-setup.cmalta-time.cnetMakefilebpf_jit.cbpf_jit.hbpf_jit_asm.SnetlogicKconfigMakefilePlatformcommonMakefileearlycons.cirq.cnlm-dma.creset.Ssmp.csmpboot.Stime.cxlpMakefileahci-init-xlp2.cahci-init.ccop2-ex.cdt.cnlm_hal.csetup.cusb-init-xlp2.cusb-init.cwakeup.cxlrMakefilefmn-config.cfmn.cplatform-flash.cplatform.csetup.cwakeup.coprofileMakefilebacktrace.ccommon.cop_impl.hop_model_loongson2.cop_model_loongson3.cop_model_mipsxx.cparavirtKconfigMakefilePlatformparavirt-irq.cparavirt-smp.cserial.csetup.cpciMakefilefixup-bcm63xx.cfixup-capcella.cfixup-cobalt.cfixup-emma2rh.cfixup-fuloong2e.cfixup-ip32.cfixup-jmr3927.cfixup-lantiq.cfixup-lemote2f.cfixup-loongson3.cfixup-malta.cfixup-mpc30x.cfixup-pmcmsp.cfixup-rbtx4927.cfixup-rbtx4938.cfixup-rc32434.cfixup-sb1250.cfixup-sni.cfixup-tb0219.cfixup-tb0226.cfixup-tb0287.cmsi-octeon.cmsi-xlp.cops-bcm63xx.cops-bonito64.cops-bridge.cops-emma2rh.cops-gt64xxx_pci0.cops-lantiq.cops-loongson2.cops-loongson3.cops-mace.cops-msc.cops-nile4.cops-pmcmsp.cops-rc32434.cops-sni.cops-tx3927.cops-tx4927.cops-vr41xx.cpci-alchemy.cpci-ar2315.cpci-ar71xx.cpci-ar724x.cpci-bcm1480.cpci-bcm1480ht.cpci-bcm47xx.cpci-bcm63xx.cpci-bcm63xx.hpci-emma2rh.cpci-generic.cpci-ip27.cpci-ip32.cpci-lantiq.cpci-lantiq.hpci-lasat.cpci-legacy.cpci-malta.cpci-mt7620.cpci-octeon.cpci-rc32434.cpci-rt2880.cpci-rt3883.cpci-sb1250.cpci-tx4927.cpci-tx4938.cpci-tx4939.cpci-virtio-guest.cpci-vr41xx.cpci-vr41xx.hpci-xlp.cpci-xlr.cpci.cpcie-octeon.cpic32KconfigMakefilePlatformcommonMakefileirq.creset.cpic32mzdaMakefileconfig.cearly_clk.cearly_console.cearly_pin.cearly_pin.hinit.cpic32mzda.htime.cpistachioKconfigMakefilePlatforminit.cirq.ctime.cpmcs-msp71xxKconfigMakefilePlatformmsp_elb.cmsp_eth.cmsp_hwbutton.cmsp_irq.cmsp_irq_cic.cmsp_irq_per.cmsp_irq_slp.cmsp_pci.cmsp_prom.cmsp_serial.cmsp_setup.cmsp_smp.cmsp_time.cmsp_usb.cpnx833xMakefilePlatformcommonMakefileinterrupts.cplatform.cprom.creset.csetup.cstb22xMakefileboard.cpowerMakefilecpu.chibernate.chibernate_asm.SralinkKconfigMakefilePlatformbootrom.ccevt-rt3352.cclk.ccommon.hearly_printk.cill_acc.cirq-gic.cirq.cmt7620.cmt7621.cof.cprom.creset.crt288x.crt305x.crt3883.ctimer-gic.ctimer.crb532MakefilePlatformdevices.cgpio.cirq.cprom.cserial.csetup.ctime.csgi-ip22MakefilePlatformip22-berr.cip22-eisa.cip22-gio.cip22-hpc.cip22-int.cip22-mc.cip22-nvram.cip22-platform.cip22-reset.cip22-setup.cip22-time.cip28-berr.csgi-ip27KconfigMakefilePlatformTODOip27-berr.cip27-console.cip27-hubio.cip27-init.cip27-irq-pci.cip27-irq.cip27-irqno.cip27-klconfig.cip27-klnuma.cip27-memory.cip27-nmi.cip27-reset.cip27-smp.cip27-timer.cip27-xtalk.csgi-ip32MakefilePlatformcrime.cip32-berr.cip32-irq.cip32-memory.cip32-platform.cip32-reset.cip32-setup.csibyteKconfigMakefilePlatformbcm1480Makefileirq.csetup.csmp.ctime.ccommonMakefilebus_watcher.ccfe.ccfe_console.csb_tbprof.csb1250Makefileirq.csetup.csmp.ctime.cswarmMakefileplatform.crtc_m41t81.crtc_xicor1241.csetup.cswarm-i2c.csniMakefilePlatforma20r.ceisa.cirq.cpcimt.cpcit.creset.crm200.csetup.ctime.ctxx9KconfigMakefilePlatformgeneric7segled.cMakefileirq_tx3927.cirq_tx4927.cirq_tx4938.cirq_tx4939.cmem_tx4927.cpci.csetup.csetup_tx3927.csetup_tx4927.csetup_tx4938.csetup_tx4939.csmsc_fdc37m81x.cspi_eeprom.cjmr3927Makefileirq.cprom.csetup.crbtx4927Makefileirq.cprom.csetup.crbtx4938Makefileirq.cprom.csetup.crbtx4939Makefileirq.cprom.csetup.cvdsoMakefileelf.Sgenvdso.cgenvdso.hgettimeofday.csigreturn.Svdso.hvdso.lds.Svr41xxKconfigPlatformcasio-e55Makefilesetup.ccommonMakefilebcu.ccmu.cgiu.cicu.cinit.cirq.cpmu.crtc.csiu.ctype.cibm-workpadMakefilesetup.cxilfpgaKconfigMakefilePlatforminit.cintc.ctime.cmn10300KconfigKconfig.debugMakefilebootMakefilecompressedMakefilehead.Smisc.cmisc.hvmlinux.ldsinstall.shtoolsbuild.cconfigsasb2303_defconfigasb2364_defconfigincludeasmKbuildasm-offsets.hatomic.hbitops.hbug.hbugs.hbusctl-regs.hcache.hcacheflush.hchecksum.hcmpxchg.hcpu-regs.hcurrent.hdebugger.hdelay.hdevice.hdiv64.hdma-mapping.hdma.hdmactl-regs.helf.hemergency-restart.hexceptions.hfb.hfpu.hframe.incftrace.hfutex.hgdb-stub.hhardirq.hhighmem.hhw_irq.hintctl-regs.hio.hirq.hirq_regs.hirqflags.hkdebug.hkgdb.hkmap_types.hkprobes.hlinkage.hlocal.hlocal64.hmc146818rtc.hmmu.hmmu_context.hmodule.hnmi.hpage.hpage_offset.hpci.hpercpu.hpgalloc.hpgtable.hpio-regs.hprocessor.hptrace.hreset-regs.hrtc-regs.hrtc.hrwlock.hserial-regs.hserial.hsetup.hshmparam.hsignal.hsmp.hsmsc911x.hspinlock.hspinlock_types.hstring.hswitch_to.hsyscall.htermios.hthread_info.htimer-regs.htimex.htlb.htlbflush.htopology.htypes.huaccess.hucontext.hunaligned.hunistd.huser.hvga.hxor.huapiasmKbuildauxvec.hbitsperlong.hbyteorder.herrno.hfcntl.hioctl.hioctls.hipcbuf.hkvm_para.hmman.hmsgbuf.hparam.hpoll.hposix_types.hptrace.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hunistd.hkernelMakefileasm-offsets.ccevt-mn10300.ccsrc-mn10300.centry.Sfpu-low.Sfpu-nofpu-low.Sfpu-nofpu.cfpu.cgdb-io-serial-low.Sgdb-io-serial.cgdb-io-ttysm-low.Sgdb-io-ttysm.cgdb-low.Sgdb-stub.chead.Sinternal.hio.cirq.ckgdb.ckprobes.cmn10300-debug.cmn10300-serial-low.Smn10300-serial.cmn10300-serial.hmn10300-watchdog-low.Smn10300-watchdog.cmn10300_ksyms.cmodule.cprocess.cprofile-low.Sprofile.cptrace.crtc.csetup.csigframe.hsignal.csmp-low.Ssmp.cswitch_to.Ssys_mn10300.ctime.ctraps.cvmlinux.lds.SlibMakefile__ashldi3.S__ashrdi3.S__lshrdi3.S__ucmpdi2.Sashrdi3.cbitops.cchecksum.cdelay.cdo_csum.Sinternal.hlshrdi3.cmemcpy.Smemmove.Smemset.Snegdi2.cusercopy.cmmKconfig.cacheMakefilecache-dbg-flush-by-reg.Scache-dbg-flush-by-tag.Scache-dbg-inv-by-reg.Scache-dbg-inv-by-tag.Scache-dbg-inv.Scache-disabled.ccache-flush-by-reg.Scache-flush-by-tag.Scache-flush-icache.ccache-inv-by-reg.Scache-inv-by-tag.Scache-inv-icache.ccache-smp-flush.ccache-smp-inv.ccache-smp.ccache-smp.hcache.ccache.incdma-alloc.cextable.cfault.cinit.cmisalignment.cmmu-context.cpgtable.ctlb-mn10300.Stlb-smp.coprofileMakefileop_model_null.cproc-mn103e010Makefileincludeproccache.hclock.hdmactl-regs.hintctl-regs.hirq.hproc.hproc-init.cproc-mn2ws0050Makefileincludeproccache.hclock.hdmactl-regs.hintctl-regs.hirq.hnand-regs.hproc.hsmp-regs.hproc-init.cunit-asb2303Makefileflash.cincludeunitclock.hleds.hserial.hsmc91111.htimex.hleds.csmc91111.cunit-init.cunit-asb2305Makefileincludeunitclock.hleds.hserial.htimex.hleds.cpci-asb2305.cpci-asb2305.hpci-irq.cpci.cunit-init.cunit-asb2364Makefileincludeunitclock.hfpga-regs.hirq.hleds.hserial.hsmsc911x.htimex.hirq-fpga.cleds.csmsc911x.cunit-init.cnios2KconfigKconfig.debugMakefilebootMakefilecompressedMakefileconsole.chead.Smisc.cvmlinux.lds.Svmlinux.scrdts10m50_devboard.dts3c120_devboard.dtsinstall.shlinked_dtb.Sconfigs10m50_defconfig3c120_defconfigincludeasmKbuildasm-macros.hasm-offsets.hcache.hcacheflush.hchecksum.hcpuinfo.hdelay.hdma-mapping.helf.hentry.hio.hirq.hirqflags.hkgdb.hlinkage.hmmu.hmmu_context.hpage.hpgalloc.hpgtable-bits.hpgtable.hprocessor.hptrace.hregisters.hsetup.hshmparam.hsignal.hstring.hswitch_to.hsyscall.hsyscalls.hthread_info.htimex.htlb.htlbflush.htraps.huaccess.huapiasmKbuildbyteorder.helf.hptrace.hsigcontext.hsignal.hswab.hunistd.hkernelMakefileasm-offsets.ccpuinfo.centry.Shead.Sinsnemu.Sirq.ckgdb.cmisaligned.cmodule.cnios2_ksyms.cprocess.cprom.cptrace.csetup.csignal.csys_nios2.csyscall_table.ctime.ctraps.cvmlinux.lds.SlibMakefiledelay.cmemcpy.cmemmove.cmemset.cmmMakefilecacheflush.cdma-mapping.cextable.cfault.cinit.cioremap.cmmu_context.cpgtable.ctlb.cuaccess.cplatformKconfig.platformMakefileplatform.copenriscKconfigMakefileREADME.openriscTODO.openriscbootdtsMakefileor1ksim.dtsconfigsor1ksim_defconfigincludeasmKbuildasm-offsets.hatomic.hbitopsbitops.h__ffs.h__fls.hatomic.hffs.hfls.hcache.hcmpxchg.hcpuinfo.hdelay.hdma-mapping.helf.hfixmap.hfutex.hio.hirq.hirqflags.hlinkage.hmmu.hmmu_context.hpage.hpgalloc.hpgtable.hprocessor.hptrace.hserial.hspinlock.hspr.hspr_defs.hstring.hsyscall.hsyscalls.hthread_info.htimex.htlb.htlbflush.huaccess.hunaligned.huapiasmKbuildbyteorder.helf.hparam.hptrace.hsigcontext.hunistd.hkernelMakefileasm-offsets.cdma.centry.Shead.Sirq.cmodule.cor32_ksyms.cprocess.cprom.cptrace.csetup.csignal.csys_call_table.ctime.ctraps.cvmlinux.hvmlinux.lds.SlibMakefiledelay.cmemcpy.cmemset.Sstring.SmmMakefilefault.cinit.cioremap.ctlb.cpariscKconfigKconfig.debugMakefileconfigs712_defconfiga500_defconfigb180_defconfigc3000_defconfigc8000_defconfigdefault_defconfiggeneric-32bit_defconfiggeneric-64bit_defconfigdefpalo.confincludeasmKbuildagp.hasm-offsets.hasmregs.hassembly.hatomic.hbitops.hbug.hbugs.hcache.hcacheflush.hchecksum.hcmpxchg.hcompat.hcompat_ucontext.hdelay.hdma-mapping.hdma.hdwarf.heisa_bus.heisa_eeprom.helf.hfb.hfixmap.hfloppy.hftrace.hfutex.hgrfioctl.hhardirq.hhardware.hhash.hhugetlb.hide.hio.hirq.hirqflags.hkbdleds.hkmap_types.hldcw.hled.hlinkage.hmachdep.hmckinley.hmmu.hmmu_context.hmmzone.hmodule.hpage.hparisc-device.hparport.hpci.hpdc.hpdc_chassis.hpdcpat.hperf.hperf_event.hpgalloc.hpgtable.hprefetch.hprocessor.hpsw.hptrace.hropes.hrt_sigframe.hrunway.hsections.hserial.hshmparam.hsignal.hsmp.hsocket.hspecial_insns.hspinlock.hspinlock_types.hstring.hsuperio.hswitch_to.hsyscall.htermios.hthread_info.htimex.htlb.htlbflush.htraps.huaccess.hucontext.hunaligned.hunistd.hunwind.huapiasmKbuildbitsperlong.hbyteorder.herrno.hfcntl.hioctl.hioctls.hipcbuf.hmman.hmsgbuf.hpdc.hposix_types.hptrace.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hunistd.hinstall.shkernelMakefileasm-offsets.caudit.cbinfmt_elf32.ccache.ccompat_audit.cdrivers.centry.Sfirmware.cftrace.chardware.chead.Shpmc.Sinventory.cirq.cmodule.cpa7300lc.cpacache.Sparisc_ksyms.cpci-dma.cpci.cpdc_chassis.cpdc_cons.cperf.cperf_asm.Sperf_images.hprocess.cprocessor.cptrace.creal2.Ssetup.csignal.csignal32.csignal32.hsmp.cstacktrace.csys_parisc.csys_parisc32.csyscall.Ssyscall_table.Stime.ctopology.ctraps.cunaligned.cunwind.cvmlinux.lds.SlibMakefilebitops.cchecksum.cdelay.cio.ciomap.clusercopy.Smemcpy.cmemset.cucmpdi2.cmath-emuMakefileREADMEcnv_float.hdbl_float.hdecode_exc.cdenormal.cdfadd.cdfcmp.cdfdiv.cdfmpy.cdfrem.cdfsqrt.cdfsub.cdriver.cfcnvff.cfcnvfu.cfcnvfut.cfcnvfx.cfcnvfxt.cfcnvuf.cfcnvxf.cfloat.hfmpyfadd.cfpbits.hfpu.hfpudispatch.cfrnd.chppa.hmath-emu.hsfadd.csfcmp.csfdiv.csfmpy.csfrem.csfsqrt.csfsub.csgl_float.hmmMakefilefault.chugetlbpage.cinit.cioremap.cnmoprofileMakefileinit.cpowerpcKconfigKconfig.debugMakefileMakefile.postlinkboot44x.h4xx.c4xx.hMakefileREADMEaddnote.cbamboo.ccpm-serial.ccrt0.Scrtsavres.Scuboot-52xx.ccuboot-824x.ccuboot-83xx.ccuboot-85xx-cpm2.ccuboot-85xx.ccuboot-8xx.ccuboot-acadia.ccuboot-amigaone.ccuboot-bamboo.ccuboot-c2k.ccuboot-ebony.ccuboot-hotfoot.ccuboot-katmai.ccuboot-kilauea.ccuboot-mpc7448hpc2.ccuboot-pq2.ccuboot-rainier.ccuboot-sam440ep.ccuboot-sequoia.ccuboot-taishan.ccuboot-warp.ccuboot-yosemite.ccuboot.ccuboot.hdcr.hdecompress.cdevtree.cdiv64.Sdtsa3m071.dtsa4m072.dtsac14xx.dtsacadia.dtsadder875-redboot.dtsadder875-uboot.dtsakebono.dtsamigaone.dtsarches.dtsasp834x-redboot.dtsbamboo.dtsbluestone.dtsc2k.dtscanyonlands.dtscharon.dtscm5200.dtscurrituck.dtsdigsy_mtc.dtsebony.dtseiger.dtsep405.dtsep8248e.dtsep88xc.dtsfslb4420qds.dtsb4420si-post.dtsib4420si-pre.dtsib4860qds.dtsb4860si-post.dtsib4860si-pre.dtsib4qds.dtsib4si-post.dtsibsc9131rdb.dtsbsc9131rdb.dtsibsc9131si-post.dtsibsc9131si-pre.dtsibsc9132qds.dtsbsc9132qds.dtsibsc9132si-post.dtsibsc9132si-pre.dtsic293pcie.dtsc293si-post.dtsic293si-pre.dtsicyrus_p5020.dtse500mc_power_isa.dtsie500v2_power_isa.dtsie5500_power_isa.dtsie6500_power_isa.dtsielo3-dma-0.dtsielo3-dma-1.dtsielo3-dma-2.dtsige_imp3a.dtsgef_ppc9a.dtsgef_sbc310.dtsgef_sbc610.dtsinterlaken-lac-portals.dtsiinterlaken-lac.dtsikmcent2.dtskmcoge4.dtsmpc8536ds.dtsmpc8536ds.dtsimpc8536ds_36b.dtsmpc8536si-post.dtsimpc8536si-pre.dtsimpc8540ads.dtsmpc8541cds.dtsmpc8544ds.dtsmpc8544ds.dtsimpc8544si-post.dtsimpc8544si-pre.dtsimpc8548cds.dtsimpc8548cds_32b.dtsmpc8548cds_36b.dtsmpc8548si-post.dtsimpc8548si-pre.dtsimpc8555cds.dtsmpc8560ads.dtsmpc8568mds.dtsmpc8568si-post.dtsimpc8568si-pre.dtsimpc8569mds.dtsmpc8569si-post.dtsimpc8569si-pre.dtsimpc8572ds.dtsmpc8572ds.dtsimpc8572ds_36b.dtsmpc8572ds_camp_core0.dtsmpc8572ds_camp_core1.dtsmpc8572si-post.dtsimpc8572si-pre.dtsimpc8641_hpcn.dtsmpc8641_hpcn_36b.dtsmpc8641si-post.dtsimpc8641si-pre.dtsimvme2500.dtsmvme7100.dtsoca4080.dtsp1010rdb-pa.dtsp1010rdb-pa.dtsip1010rdb-pa_36b.dtsp1010rdb-pb.dtsp1010rdb-pb_36b.dtsp1010rdb.dtsip1010rdb_32b.dtsip1010rdb_36b.dtsip1010si-post.dtsip1010si-pre.dtsip1020mbg-pc.dtsip1020mbg-pc_32b.dtsp1020mbg-pc_36b.dtsp1020rdb-pc.dtsip1020rdb-pc_32b.dtsp1020rdb-pc_36b.dtsp1020rdb-pc_camp_core0.dtsp1020rdb-pc_camp_core1.dtsp1020rdb-pd.dtsp1020rdb.dtsp1020rdb.dtsip1020rdb_36b.dtsp1020si-post.dtsip1020si-pre.dtsip1020utm-pc.dtsip1020utm-pc_32b.dtsp1020utm-pc_36b.dtsp1021mds.dtsp1021rdb-pc.dtsip1021rdb-pc_32b.dtsp1021rdb-pc_36b.dtsp1021si-post.dtsip1021si-pre.dtsip1022ds.dtsip1022ds_32b.dtsp1022ds_36b.dtsp1022rdk.dtsp1022si-post.dtsip1022si-pre.dtsip1023rdb.dtsp1023si-post.dtsip1023si-pre.dtsip1024rdb.dtsip1024rdb_32b.dtsp1024rdb_36b.dtsp1025rdb.dtsip1025rdb_32b.dtsp1025rdb_36b.dtsp1025twr.dtsp1025twr.dtsip2020ds.dtsp2020ds.dtsip2020rdb-pc.dtsip2020rdb-pc_32b.dtsp2020rdb-pc_36b.dtsp2020rdb.dtsp2020si-post.dtsip2020si-pre.dtsip2041rdb.dtsp2041si-post.dtsip2041si-pre.dtsip3041ds.dtsp3041si-post.dtsip3041si-pre.dtsip4080ds.dtsp4080si-post.dtsip4080si-pre.dtsip5020ds.dtsp5020si-post.dtsip5020si-pre.dtsip5040ds.dtsp5040si-post.dtsip5040si-pre.dtsippa8548.dtspq3-dma-0.dtsipq3-dma-1.dtsipq3-duart-0.dtsipq3-esdhc-0.dtsipq3-espi-0.dtsipq3-etsec1-0.dtsipq3-etsec1-1.dtsipq3-etsec1-2.dtsipq3-etsec1-3.dtsipq3-etsec1-timer-0.dtsipq3-etsec2-0.dtsipq3-etsec2-1.dtsipq3-etsec2-2.dtsipq3-etsec2-grp2-0.dtsipq3-etsec2-grp2-1.dtsipq3-etsec2-grp2-2.dtsipq3-gpio-0.dtsipq3-i2c-0.dtsipq3-i2c-1.dtsipq3-mpic-message-B.dtsipq3-mpic-timer-B.dtsipq3-mpic.dtsipq3-rmu-0.dtsipq3-sata2-0.dtsipq3-sata2-1.dtsipq3-sec2.1-0.dtsipq3-sec3.0-0.dtsipq3-sec3.1-0.dtsipq3-sec3.3-0.dtsipq3-sec4.4-0.dtsipq3-usb2-dr-0.dtsipq3-usb2-dr-1.dtsiqonverge-usb2-dr-0.dtsiqoriq-bman1-portals.dtsiqoriq-bman1.dtsiqoriq-clockgen1.dtsiqoriq-clockgen2.dtsiqoriq-dma-0.dtsiqoriq-dma-1.dtsiqoriq-duart-0.dtsiqoriq-duart-1.dtsiqoriq-esdhc-0.dtsiqoriq-espi-0.dtsiqoriq-fman-0-10g-0.dtsiqoriq-fman-0-1g-0.dtsiqoriq-fman-0-1g-1.dtsiqoriq-fman-0-1g-2.dtsiqoriq-fman-0-1g-3.dtsiqoriq-fman-0-1g-4.dtsiqoriq-fman-0.dtsiqoriq-fman-1-10g-0.dtsiqoriq-fman-1-1g-0.dtsiqoriq-fman-1-1g-1.dtsiqoriq-fman-1-1g-2.dtsiqoriq-fman-1-1g-3.dtsiqoriq-fman-1-1g-4.dtsiqoriq-fman-1.dtsiqoriq-fman3-0-10g-0-best-effort.dtsiqoriq-fman3-0-10g-0.dtsiqoriq-fman3-0-10g-1-best-effort.dtsiqoriq-fman3-0-10g-1.dtsiqoriq-fman3-0-1g-0.dtsiqoriq-fman3-0-1g-1.dtsiqoriq-fman3-0-1g-2.dtsiqoriq-fman3-0-1g-3.dtsiqoriq-fman3-0-1g-4.dtsiqoriq-fman3-0-1g-5.dtsiqoriq-fman3-0.dtsiqoriq-fman3-1-10g-0.dtsiqoriq-fman3-1-10g-1.dtsiqoriq-fman3-1-1g-0.dtsiqoriq-fman3-1-1g-1.dtsiqoriq-fman3-1-1g-2.dtsiqoriq-fman3-1-1g-3.dtsiqoriq-fman3-1-1g-4.dtsiqoriq-fman3-1-1g-5.dtsiqoriq-fman3-1.dtsiqoriq-fman3l-0.dtsiqoriq-gpio-0.dtsiqoriq-gpio-1.dtsiqoriq-gpio-2.dtsiqoriq-gpio-3.dtsiqoriq-i2c-0.dtsiqoriq-i2c-1.dtsiqoriq-mpic.dtsiqoriq-mpic4.3.dtsiqoriq-qman1-portals.dtsiqoriq-qman1.dtsiqoriq-qman3.dtsiqoriq-raid1.0-0.dtsiqoriq-rmu-0.dtsiqoriq-sata2-0.dtsiqoriq-sata2-1.dtsiqoriq-sec4.0-0.dtsiqoriq-sec4.2-0.dtsiqoriq-sec5.0-0.dtsiqoriq-sec5.2-0.dtsiqoriq-sec5.3-0.dtsiqoriq-sec6.0-0.dtsiqoriq-usb2-dr-0.dtsiqoriq-usb2-mph-0.dtsisbc8641d.dtst1023rdb.dtst1023si-post.dtsit1024qds.dtst1024rdb.dtst1024si-post.dtsit102xsi-pre.dtsit1040d4rdb.dtst1040qds.dtst1040rdb.dtst1040si-post.dtsit1042d4rdb.dtst1042qds.dtst1042rdb.dtst1042rdb_pi.dtst1042si-post.dtsit104xd4rdb.dtsit104xqds.dtsit104xrdb.dtsit104xsi-pre.dtsit2080qds.dtst2080rdb.dtst2080si-post.dtsit2081qds.dtst2081si-post.dtsit208xqds.dtsit208xrdb.dtsit208xsi-pre.dtsit4240qds.dtst4240rdb.dtst4240si-post.dtsit4240si-pre.dtsigamecube.dtsglacier.dtshaleakala.dtsholly.dtshotfoot.dtsicon.dtsiss4xx-mpic.dtsiss4xx.dtskatmai.dtskilauea.dtsklondike.dtskmeter1.dtsksi8560.dtskuroboxHD.dtskuroboxHG.dtslite5200.dtslite5200b.dtsmakalu.dtsmedia5200.dtsmgcoge.dtsmotionpro.dtsmpc5121.dtsimpc5121ads.dtsmpc5125twr.dtsmpc5200b.dtsimpc7448hpc2.dtsmpc8272ads.dtsmpc8308_p1m.dtsmpc8308rdb.dtsmpc8313erdb.dtsmpc8315erdb.dtsmpc832x_mds.dtsmpc832x_rdb.dtsmpc8349emitx.dtsmpc8349emitxgp.dtsmpc834x_mds.dtsmpc836x_mds.dtsmpc836x_rdk.dtsmpc8377_mds.dtsmpc8377_rdb.dtsmpc8377_wlan.dtsmpc8378_mds.dtsmpc8378_rdb.dtsmpc8379_mds.dtsmpc8379_rdb.dtsmpc8610_hpcd.dtsmpc866ads.dtsmpc885ads.dtsmucmc52.dtsmvme5100.dtso2d.dtso2d.dtsio2d300.dtso2dnt2.dtso2i.dtso2mnt.dtso3dnt.dtsobs600.dtspcm030.dtspcm032.dtspdm360ng.dtspq2fads.dtsps3.dtsrainier.dtsredwood.dtssam440ep.dtssbc8349.dtssbc8548-altflash.dtssbc8548-post.dtsisbc8548-pre.dtsisbc8548.dtssequoia.dtssocrates.dtsstorcenter.dtsstx_gp3_8560.dtsstxssa8555.dtstaishan.dtstqm5200.dtstqm8540.dtstqm8541.dtstqm8548-bigflash.dtstqm8548.dtstqm8555.dtstqm8560.dtstqm8xx.dtsuc101.dtsvirtex440-ml507.dtsvirtex440-ml510.dtswalnut.dtswarp.dtswii.dtsxcalibur1501.dtsxpedite5200.dtsxpedite5200_xmon.dtsxpedite5301.dtsxpedite5330.dtsxpedite5370.dtsyosemite.dtsdummy.cebony.celf.helf_util.cep405.cep8248e.cep88xc.cepapr-wrapper.cepapr.cfixed-head.Sfixup-headers.sedfsl-soc.cfsl-soc.hgamecube-head.Sgamecube.chack-coff.cholly.cinstall.shio.hlibfdt-wrapper.clibfdt_env.hmain.cmktree.cmotload-head.Smpc52xx-psc.cmpc8xx.cmpc8xx.hmpsc.cmv64x60.cmv64x60.hmv64x60_i2c.cmvme5100.cmvme7100.cns16550.cof.cof.hofconsole.coflib.copal-calls.Sopal.cops.hpage.hplanetcore.cplanetcore.hppc_asm.hppcboot-hotfoot.hppcboot.hpq2.cpq2.hps3-head.Sps3-hvcall.Sps3.cpseries-head.Sredboot-83xx.credboot-8xx.credboot.hreg.hrs6000.hserial.csimple_alloc.csimpleboot.cstdbool.hstdint.hstdio.cstdio.hstdlib.cstdlib.hstring.Sstring.hswab.htreeboot-akebono.ctreeboot-bamboo.ctreeboot-currituck.ctreeboot-ebony.ctreeboot-iss4xx.ctreeboot-walnut.ctypes.huartlite.cugecon.cugecon.hutil.Svirtex.cvirtex405-head.Swii-head.Swii.cwrapperxz_config.hzImage.coff.lds.SzImage.lds.SzImage.ps3.lds.Sconfigs40xacadia_defconfigep405_defconfigkilauea_defconfigklondike_defconfigmakalu_defconfigobs600_defconfigvirtex_defconfigwalnut_defconfig44xakebono_defconfigarches_defconfigbamboo_defconfigbluestone_defconfigcanyonlands_defconfigcurrituck_defconfigebony_defconfigeiger_defconfigicon_defconfigiss476-smp_defconfigkatmai_defconfigrainier_defconfigredwood_defconfigsam440ep_defconfigsequoia_defconfigtaishan_defconfigvirtex5_defconfigwarp_defconfig52xxcm5200_defconfiglite5200b_defconfigmotionpro_defconfigpcm030_defconfigtqm5200_defconfig83xxasp8347_defconfigkmeter1_defconfigmpc8313_rdb_defconfigmpc8315_rdb_defconfigmpc832x_mds_defconfigmpc832x_rdb_defconfigmpc834x_itx_defconfigmpc834x_itxgp_defconfigmpc834x_mds_defconfigmpc836x_mds_defconfigmpc836x_rdk_defconfigmpc837x_mds_defconfigmpc837x_rdb_defconfigsbc834x_defconfig85xx85xx-32bit.config85xx-64bit.config85xx-hw.config85xx-smp.configge_imp3a_defconfigksi8560_defconfigmpc8540_ads_defconfigmpc8560_ads_defconfigmpc85xx_cds_defconfigppa8548_defconfigsbc8548_defconfigsocrates_defconfigstx_gp3_defconfigtqm8540_defconfigtqm8541_defconfigtqm8548_defconfigtqm8555_defconfigtqm8560_defconfigxes_mpc85xx_defconfig86xx-hw.config86xx-smp.configadder875_defconfigaltivec.configamigaone_defconfigc2k_defconfigcell_defconfigchrp32_defconfigcorenet_basic_defconfigdpaa.configep8248e_defconfigep88xc_defconfigfsl-emb-nonhw.configg5_defconfiggamecube_defconfigholly_defconfigle.configlinkstation_defconfigmaple_defconfigmgcoge_defconfigmpc512x_defconfigmpc5200_defconfigmpc7448_hpc2_defconfigmpc8272_ads_defconfigmpc83xx_defconfigmpc85xx_basic_defconfigmpc866_ads_defconfigmpc86xx_basic_defconfigmpc885_ads_defconfigmvme5100_defconfigpasemi_defconfigpmac32_defconfigpowernv_defconfigppc40x_defconfigppc44x_defconfigppc64_defconfigppc64e_defconfigppc6xx_defconfigpq2fads_defconfigps3_defconfigpseries_defconfigstorcenter_defconfigtqm8xx_defconfigwii_defconfigcryptoMakefileaes-spe-core.Saes-spe-glue.caes-spe-keys.Saes-spe-modes.Saes-spe-regs.haes-tab-4k.Scrc-vpmsum_test.ccrc32-vpmsum_core.Scrc32c-vpmsum_asm.Scrc32c-vpmsum_glue.ccrct10dif-vpmsum_asm.Scrct10dif-vpmsum_glue.cmd5-asm.Smd5-glue.csha1-powerpc-asm.Ssha1-spe-asm.Ssha1-spe-glue.csha1.csha256-spe-asm.Ssha256-spe-glue.cincludeasm8xx_immap.hKbuildaccounting.hagp.harchrandom.hasm-compat.hasm-offsets.hasm-prototypes.hasync_tx.hatomic.hbacklight.hbarrier.hbitops.hbook3s32hash.hmmu-hash.hpgalloc.hpgtable.h64hash-4k.hhash-64k.hhash.hhugetlb.hmmu-hash.hmmu.hpgalloc.hpgtable-4k.hpgtable-64k.hpgtable.hradix-4k.hradix-64k.hradix.htlbflush-hash.htlbflush-radix.htlbflush.hpgalloc.hpgtable.hbootx.hbtext.hbug.hbugs.hcache.hcacheflush.hcell-pmu.hcell-regs.hchecksum.hcmpxchg.hcode-patching.hcompat.hcontext_tracking.hcopro.hcpm.hcpm1.hcpm2.hcpu_has_feature.hcpufeature.hcpuidle.hcputable.hcputhreads.hcputime.hcurrent.hdbdma.hdbell.hdcr-generic.hdcr-mmio.hdcr-native.hdcr-regs.hdcr.hdebug.hdebugfs.hdelay.hdevice.hdisassemble.hdma-mapping.hdma.hdt_cpu_ftrs.hedac.heeh.heeh_event.hehv_pic.helf.hemergency-restart.hemulated_ops.hepapr_hcalls.hexception-64e.hexception-64s.hexec.hextable.hfadump.hfb.hfeature-fixups.hfirmware.hfixmap.hfloppy.hfs_pd.hfsl_85xx_cache_sram.hfsl_gtm.hfsl_hcalls.hfsl_lbc.hfsl_pamu_stash.hfsl_pm.hftrace.hfutex.hgrackle.hhardirq.hhead-64.hheathrow.hhighmem.hhmi.hhugetlb.hhvcall.hhvconsole.hhvcserver.hhvsi.hhw_breakpoint.hhw_irq.hhydra.hi8259.hibmebus.hicswx.hide.hima.himmap_cpm2.hio-defs.hio-workarounds.hio.hio_event_irq.hiommu.hipic.hirq.hirq_work.hirqflags.hisa-bridge.hjump_label.hkdebug.hkdump.hkexec.hkeylargo.hkgdb.hkmap_types.hkprobes.hkvm_asm.hkvm_book3s.hkvm_book3s_32.hkvm_book3s_64.hkvm_book3s_asm.hkvm_booke.hkvm_booke_hv_asm.hkvm_fpu.hkvm_host.hkvm_para.hkvm_ppc.hlibata-portmap.hlinkage.hlivepatch.hlocal.hlppaca.hlv1call.hmachdep.hmacio.hmc146818rtc.hmce.hmediabay.hmm-arch-hooks.hmman.hmmu-40x.hmmu-44x.hmmu-8xx.hmmu-book3e.hmmu.hmmu_context.hmmzone.hmodule.hmpc5121.hmpc52xx.hmpc52xx_psc.hmpc5xxx.hmpc6xx.hmpc8260.hmpc85xx.hmpic.hmpic_msgr.hmpic_timer.hmsi_bitmap.hnmi.hnohash32pgalloc.hpgtable.hpte-40x.hpte-44x.hpte-8xx.hpte-fsl-booke.h64pgalloc.hpgtable-4k.hpgtable-64k.hpgtable.hpgalloc.hpgtable.hpte-book3e.hnvram.hohare.hopal-api.hopal.hoprofile_impl.hpaca.hpage.hpage_32.hpage_64.hparport.hpasemi_dma.hpci-bridge.hpci.hpercpu.hperf_event.hperf_event_fsl_emb.hperf_event_server.hpgalloc.hpgtable-be-types.hpgtable-types.hpgtable.hplpar_wrappers.hpmac_feature.hpmac_low_i2c.hpmac_pfunc.hpmc.hpmi.hpnv-pci.hpowernv.hppc-opcode.hppc-pci.hppc4xx.hppc4xx_ocm.hppc_asm.hprobes.hprocessor.hprom.hps3.hps3av.hps3gpu.hps3stor.hpte-common.hptrace.hreg.hreg_8xx.hreg_a2.hreg_booke.hreg_fsl_emb.hrheap.hrio.hrtas.hrunlatch.hscom.hseccomp.hsections.hserial.hsetjmp.hsetup.hsfp-machine.hshmparam.hsignal.hsmp.hsmu.hsparsemem.hspinlock.hspinlock_types.hspu.hspu_csa.hspu_info.hspu_priv1.hsstep.hstring.hswab.hswiotlb.hswitch_to.hsynch.hsyscall.hsyscalls.hsystbl.htce.htermios.hthread_info.htime.htimex.htlb.htlbflush.htm.htopology.htrace.htrace_clock.htsi108.htsi108_irq.htsi108_pci.htypes.huaccess.hudbg.huic.hunaligned.huninorth.hunistd.huprobes.huser.hvdso.hvdso_datapage.hvga.hvio.hword-at-a-time.hxics.hxilinx_intc.hxilinx_pci.hxive-regs.hxive.hxmon.hxor.huapiasmKbuildauxvec.hbitsperlong.hbootx.hbyteorder.hcputable.heeh.helf.hepapr_hcalls.herrno.hfcntl.hioctl.hioctls.hipcbuf.hkvm.hkvm_para.hmman.hmsgbuf.hnvram.hopal-prd.hparam.hperf_event.hperf_regs.hpoll.hposix_types.hps3fb.hptrace.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hspu_info.hstat.hstatfs.hswab.htermbits.htermios.htm.htypes.hucontext.hunistd.hkernelMakefilealign.casm-offsets.caudit.cbtext.ccacheinfo.ccacheinfo.hcompat_audit.ccpu_setup_44x.Scpu_setup_6xx.Scpu_setup_fsl_booke.Scpu_setup_pa6t.Scpu_setup_power.Scpu_setup_ppc970.Scputable.ccrash.ccrash_dump.cdbell.cdma-iommu.cdma-swiotlb.cdma.cdt_cpu_ftrs.ceeh.ceeh_cache.ceeh_dev.ceeh_driver.ceeh_event.ceeh_pe.ceeh_sysfs.centry_32.Sentry_64.Sepapr_hcalls.Sepapr_paravirt.cexceptions-64e.Sexceptions-64s.Sfadump.cfirmware.cfpu.Sfsl_booke_entry_mapping.Shead_32.Shead_40x.Shead_44x.Shead_64.Shead_8xx.Shead_booke.hhead_fsl_booke.Shw_breakpoint.cidle.cidle_6xx.Sidle_book3e.Sidle_book3s.Sidle_e500.Sidle_power4.Sima_kexec.cio-workarounds.cio.ciomap.ciommu.cirq.cisa-bridge.cjump_label.ckexec_elf_64.ckgdb.ckprobes-ftrace.ckprobes.ckvm.ckvm_emul.Sl2cr_6xx.Slegacy_serial.cmachine_kexec.cmachine_kexec_32.cmachine_kexec_64.cmachine_kexec_file_64.cmce.cmce_power.cmisc.Smisc_32.Smisc_64.Smodule.cmodule_32.cmodule_64.cmsi.cnvram_64.cof_platform.coptprobes.coptprobes_head.Spaca.cpci-common.cpci-hotplug.cpci_32.cpci_64.cpci_dn.cpci_of_scan.cpmc.cppc32.hppc_save_regs.Sproc_powerpc.cprocess.cprom.cprom_init.cprom_init_check.shprom_parse.cptrace.cptrace32.creloc_32.Sreloc_64.Srtas-proc.crtas-rtc.crtas.crtas_flash.crtas_pci.crtasd.csetup-common.csetup.hsetup_32.csetup_64.csignal.csignal.hsignal_32.csignal_64.csmp-tbsync.csmp.cstacktrace.csuspend.cswsusp.cswsusp_32.Sswsusp_64.cswsusp_asm64.Sswsusp_booke.Ssys_ppc32.csyscalls.csysfs.csystbl.Ssystbl_chk.csystbl_chk.shtau_6xx.ctime.ctm.StraceMakefileftrace.cftrace_32.Sftrace_64.Sftrace_64_mprofile.Sftrace_64_pg.Strace_clock.ctraps.cudbg.cudbg_16550.cuprobes.cvdso.cvdso32Makefilecacheflush.Sdatapage.Sgetcpu.Sgettimeofday.Snote.Ssigtramp.Svdso32.lds.Svdso32_wrapper.Svdso64Makefilecacheflush.Sdatapage.Sgetcpu.Sgettimeofday.Snote.Ssigtramp.Svdso64.lds.Svdso64_wrapper.Svecemu.cvector.Svmlinux.lds.SkvmKconfigMakefilebook3s.cbook3s.hbook3s_32_mmu.cbook3s_32_mmu_host.cbook3s_32_sr.Sbook3s_64_mmu.cbook3s_64_mmu_host.cbook3s_64_mmu_hv.cbook3s_64_mmu_radix.cbook3s_64_slb.Sbook3s_64_vio.cbook3s_64_vio_hv.cbook3s_emulate.cbook3s_exports.cbook3s_hv.cbook3s_hv_builtin.cbook3s_hv_hmi.cbook3s_hv_interrupts.Sbook3s_hv_ras.cbook3s_hv_rm_mmu.cbook3s_hv_rm_xics.cbook3s_hv_rm_xive.cbook3s_hv_rmhandlers.Sbook3s_interrupts.Sbook3s_mmu_hpte.cbook3s_paired_singles.cbook3s_pr.cbook3s_pr_papr.cbook3s_rmhandlers.Sbook3s_rtas.cbook3s_segment.Sbook3s_xics.cbook3s_xics.hbook3s_xive.cbook3s_xive.hbook3s_xive_template.cbooke.cbooke.hbooke_emulate.cbooke_interrupts.Sbookehv_interrupts.Se500.ce500.he500_emulate.ce500_mmu.ce500_mmu_host.ce500_mmu_host.he500mc.cemulate.cemulate_loadstore.cfpu.Sirq.hmpic.cpowerpc.ctiming.ctiming.htrace.htrace_book3s.htrace_booke.htrace_hv.htrace_pr.hlibMakefilealloc.cchecksum_32.Schecksum_64.Schecksum_wrappers.ccode-patching.ccopy_32.Scopypage_64.Scopypage_power7.Scopyuser_64.Scopyuser_power7.Scrtsavres.Sdiv64.Sfeature-fixups-test.Sfeature-fixups.chweight_64.Sldstfp.Slocks.cmem_64.Smemcmp_64.Smemcpy_64.Smemcpy_power7.Srheap.csstep.cstring.Sstring_64.Stest_emulate_step.cvmx-helper.cxor_vmx.cmath-emuMakefilefabs.cfadd.cfadds.cfcmpo.cfcmpu.cfctiw.cfctiwz.cfdiv.cfdivs.cfmadd.cfmadds.cfmr.cfmsub.cfmsubs.cfmul.cfmuls.cfnabs.cfneg.cfnmadd.cfnmadds.cfnmsub.cfnmsubs.cfre.cfres.cfrsp.cfrsqrte.cfrsqrtes.cfsel.cfsqrt.cfsqrts.cfsub.cfsubs.clfd.clfs.cmath.cmath_efp.cmcrfs.cmffs.cmtfsb0.cmtfsb1.cmtfsf.cmtfsfi.cstfd.cstfiwx.cstfs.cudivmodti4.cmm40x_mmu.c44x_mmu.c8xx_mmu.cMakefilecopro_fault.cdma-noncoherent.cdump_hashpagetable.cdump_linuxpagetables.cfault.cfsl_booke_mmu.chash64_4k.chash64_64k.chash_low_32.Shash_native_64.chash_utils_64.chighmem.chugepage-hash64.chugetlbpage-book3e.chugetlbpage-hash64.chugetlbpage-radix.chugetlbpage.cicswx.cicswx.hicswx_pid.cinit-common.cinit_32.cinit_64.cmem.cmmap.cmmu_context_book3s64.cmmu_context_hash32.cmmu_context_iommu.cmmu_context_nohash.cmmu_decl.hnuma.cpgtable-book3e.cpgtable-book3s64.cpgtable-hash64.cpgtable-radix.cpgtable.cpgtable_32.cpgtable_64.cppc_mmu_32.cslb.cslb_low.Sslice.csubpage-prot.ctlb-radix.ctlb_hash32.ctlb_hash64.ctlb_low_64e.Stlb_nohash.ctlb_nohash_low.Svphn.cvphn.hnetMakefilebpf_jit.hbpf_jit32.hbpf_jit64.hbpf_jit_asm.Sbpf_jit_asm64.Sbpf_jit_comp.cbpf_jit_comp64.coprofileMakefilebacktrace.ccellpr_util.hspu_profiler.cspu_task_sync.cvma_map.ccommon.cop_model_7450.cop_model_cell.cop_model_fsl_emb.cop_model_pa6t.cop_model_power4.cperf8xx-pmu.cMakefilebhrb.Scallchain.ccore-book3s.ccore-fsl-emb.ce500-pmu.ce6500-pmu.chv-24x7-catalog.hhv-24x7-domains.hhv-24x7.chv-24x7.hhv-common.chv-common.hhv-gpci-requests.hhv-gpci.chv-gpci.hisa207-common.cisa207-common.hmpc7450-pmu.cperf_regs.cpower4-pmu.cpower5+-pmu.cpower5-pmu.cpower6-pmu.cpower7-events-list.hpower7-pmu.cpower8-events-list.hpower8-pmu.cpower9-events-list.hpower9-pmu.cppc970-pmu.creq-gen_begin.h_clear.h_end.h_request-begin.h_request-end.hperf.hplatforms40xKconfigMakefileep405.cppc40x_simple.cvirtex.cwalnut.c44x44x.hKconfigMakefilecanyonlands.cebony.cidle.ciss4xx.cmisc_44x.Sppc44x_simple.cppc476.cppc476_modules.ldssam440ep.cvirtex.cvirtex_ml510.cwarp.c512xKconfigMakefileclock-commonclk.cmpc5121_ads.cmpc5121_ads.hmpc5121_ads_cpld.cmpc512x.hmpc512x_generic.cmpc512x_lpbfifo.cmpc512x_shared.cpdm360ng.c52xxKconfigMakefileefika.clite5200.clite5200_pm.clite5200_sleep.Smedia5200.cmpc5200_simple.cmpc52xx_common.cmpc52xx_gpt.cmpc52xx_lpbfifo.cmpc52xx_pci.cmpc52xx_pic.cmpc52xx_pm.cmpc52xx_sleep.S82xxKconfigMakefileep8248e.ckm82xx.cm82xx_pci.hmpc8272_ads.cpq2.cpq2.hpq2ads-pci-pic.cpq2ads.hpq2fads.c83xxKconfigMakefileasp834x.ckm83xx.cmcu_mpc8349emitx.cmisc.cmpc830x_rdb.cmpc831x_rdb.cmpc832x_mds.cmpc832x_rdb.cmpc834x_itx.cmpc834x_mds.cmpc836x_mds.cmpc836x_rdk.cmpc837x_mds.cmpc837x_rdb.cmpc83xx.hsbc834x.csuspend-asm.Ssuspend.cusb.c85xxKconfigMakefilebsc913x_qds.cbsc913x_rdb.cc293pcie.ccommon.ccorenet_generic.cge_imp3a.cksi8560.cmpc8536_ds.cmpc85xx.hmpc85xx_ads.cmpc85xx_cds.cmpc85xx_ds.cmpc85xx_mds.cmpc85xx_pm_ops.cmpc85xx_rdb.cmvme2500.cp1010rdb.cp1022_ds.cp1022_rdk.cp1023_rdb.cppa8548.cqemu_e500.csbc8548.csgy_cts1000.csmp.csmp.hsocrates.csocrates_fpga_pic.csocrates_fpga_pic.hstx_gp3.ct1042rdb_diu.ctqm85xx.ctwr_p102x.cxes_mpc85xx.c86xxKconfigMakefilecommon.cgef_ppc9a.cgef_sbc310.cgef_sbc610.cmpc8610_hpcd.cmpc86xx.hmpc86xx_hpcn.cmpc86xx_smp.cmvme7100.cpic.csbc8641d.c8xxKconfigMakefileadder875.cep88xc.cm8xx_setup.cmpc86xads.hmpc86xads_setup.cmpc885ads.hmpc885ads_setup.cmpc8xx.htqm8xx_setup.cKconfigKconfig.cputypeMakefileamigaoneKconfigMakefilesetup.ccellKconfigMakefileaxon_msi.ccbe_powerbutton.ccbe_regs.ccbe_thermal.ccell.hcpufreq_spudemand.cinterrupt.cinterrupt.hiommu.cpervasive.cpervasive.hpmu.cras.cras.hsetup.csmp.cspider-pci.cspider-pic.cspu_base.cspu_callbacks.cspu_manage.cspu_notify.cspu_priv1_mmio.cspu_priv1_mmio.hspu_syscalls.cspufsMakefilebacking_ops.ccontext.ccoredump.cfault.cfile.cgang.chw_ops.cinode.clscsa_alloc.crun.csched.cspu_restore.cspu_restore_crt0.Sspu_restore_dump.h_shippedspu_save.cspu_save_crt0.Sspu_save_dump.h_shippedspu_utils.hspufs.hsputrace.hswitch.csyscalls.cchrpKconfigMakefilechrp.hgg2.hnvram.cpci.cpegasos_eth.csetup.csmp.ctime.cembedded6xxKconfigMakefilec2k.cflipper-pic.cflipper-pic.hgamecube.chlwd-pic.chlwd-pic.hholly.clinkstation.cls_uart.cmpc10x.hmpc7448_hpc2.cmvme5100.cstorcenter.cusbgecko_udbg.cusbgecko_udbg.hwii.cfsl_uli1575.cmapleKconfigMakefilemaple.hpci.csetup.ctime.cpasemiKconfigMakefiledma_lib.cgpio_mdio.cidle.ciommu.cmisc.cmsi.cpasemi.hpci.cpowersave.Ssetup.ctime.cpowermacKconfigMakefilebacklight.cbootx_init.ccache.Sfeature.clow_i2c.cnvram.cpci.cpfunc_base.cpfunc_core.cpic.cpmac.hsetup.csleep.Ssmp.ctime.cudbg_adb.cudbg_scc.cpowernvKconfigMakefileeeh-powernv.cidle.cnpu-dma.copal-async.copal-dump.copal-elog.copal-flash.copal-hmi.copal-irqchip.copal-kmsg.copal-lpc.copal-memory-errors.copal-msglog.copal-nvram.copal-power.copal-prd.copal-rtc.copal-sensor.copal-sysparam.copal-tracepoints.copal-wrappers.Sopal-xscom.copal.cpci-cxl.cpci-ioda.cpci.cpci.hpowernv.hrng.csetup.csmp.csubcore-asm.Ssubcore.csubcore.hps3KconfigMakefiledevice-init.cexports.cgelic_udbg.chtab.chvcall.Sinterrupt.cmm.cos-area.cplatform.hrepository.csetup.csmp.cspu.csystem-bus.ctime.cpseriesKconfigMakefilecmm.cdlpar.cdtl.ceeh_pseries.cevent_sources.cfirmware.chotplug-cpu.chotplug-memory.chvCall.ShvCall_inst.chvconsole.chvcserver.cibmebus.cio_event_irq.ciommu.ckexec.clpar.clparcfg.cmobility.cmsi.cnvram.cof_helpers.cof_helpers.hoffline_states.hpci.cpci_dlpar.cpower.cpseries.hpseries_energy.cras.creconfig.crng.cscanlog.csetup.csmp.csuspend.cvio.cpurgatoryMakefiletrampoline.Ssysdev6xx-suspend.SKconfigMakefileaxonram.ccpm1.ccpm2.ccpm2_pic.ccpm2_pic.hcpm_common.cdart.hdart_iommu.cdcr-low.Sdcr.cehv_pic.cfsl_85xx_cache_ctlr.hfsl_85xx_cache_sram.cfsl_85xx_l2ctlr.cfsl_gtm.cfsl_lbc.cfsl_mpic_err.cfsl_mpic_timer_wakeup.cfsl_msi.cfsl_msi.hfsl_pci.cfsl_pci.hfsl_pmc.cfsl_rcpm.cfsl_rio.cfsl_rio.hfsl_rmu.cfsl_soc.cfsl_soc.hgeMakefilege_pic.cge_pic.hgrackle.ci8259.cindirect_pci.cipic.cipic.hmicropatch.cmmio_nvram.cmpc5xxx_clocks.cmpc8xx_pic.cmpc8xx_pic.hmpic.cmpic.hmpic_msgr.cmpic_msi.cmpic_timer.cmpic_u3msi.cmsi_bitmap.cmv64x60.hmv64x60_dev.cmv64x60_pci.cmv64x60_pic.cmv64x60_udbg.cof_rtc.cpmi.cppc4xx_cpm.cppc4xx_gpio.cppc4xx_hsta_msi.cppc4xx_msi.cppc4xx_ocm.cppc4xx_pci.cppc4xx_pci.hppc4xx_soc.crtc_cmos_setup.cscom.csimple_gpio.csimple_gpio.htsi108_dev.ctsi108_pci.cudbg_memcons.cuic.cxicsKconfigMakefileicp-hv.cicp-native.cicp-opal.cics-opal.cics-rtas.cxics-common.cxilinx_intc.cxilinx_pci.cxiveKconfigMakefilecommon.cnative.cxive-internal.htoolsgcc-check-mprofile-kernel.shrelocs_check.shxmonMakefileansidecl.hdis-asm.hnonstdio.cnonstdio.hppc-dis.cppc-opc.cppc.hspr_access.Sspu-dis.cspu-insns.hspu-opc.cspu.hxmon.cs390KbuildKconfigKconfig.debugMakefileappldataMakefileappldata.happldata_base.cappldata_mem.cappldata_net_sum.cappldata_os.cbootMakefilecompressedMakefilehead.Smisc.cvmlinux.lds.Svmlinux.scrinstall.shconfigsdefault_defconfiggcov_defconfigperformance_defconfigzfcpdump_defconfigcryptoMakefileaes_s390.carch_random.ccrc32-vx.ccrc32be-vx.Scrc32le-vx.Sdes_s390.cghash_s390.cpaes_s390.cprng.csha.hsha1_s390.csha256_s390.csha512_s390.csha_common.cdefconfighypfsMakefilehypfs.hhypfs_dbfs.chypfs_diag.chypfs_diag0c.chypfs_sprp.chypfs_vm.cinode.cincludeasmKbuildairq.happldata.harchrandom.hasm-prototypes.hatomic.hatomic_ops.hbarrier.hbitops.hbug.hbugs.hcache.hccwdev.hccwgroup.hchecksum.hchpid.hcio.hclp.hcmb.hcmpxchg.hcompat.hcpacf.hcpcmd.hcpu.hcpu_mf.hcpufeature.hcputime.hcrw.hcss_chars.hctl_reg.hcurrent.hdebug.hdelay.hdevice.hdiag.hdis.hdma-mapping.hdma.headm.hebcdic.helf.hexec.hextable.hextmem.hfacility.hfb.hfcx.hfpuapi.hinternal.htypes.hftrace.hfutex.hgmap.hhardirq.hhugetlb.hhw_irq.hidals.hidle.hio.hipl.hirq.hirqflags.hisc.hitcw.hjump_label.hkdebug.hkexec.hkprobes.hkvm_host.hkvm_para.hlinkage.hlivepatch.hlowcore.hmman.hmmu.hmmu_context.hmmzone.hmodule.hnmi.hnuma.hos_info.hpage-states.hpage.hpci.hpci_clp.hpci_debug.hpci_dma.hpci_insn.hpci_io.hpercpu.hperf_event.hpgalloc.hpgtable.hpkey.hpreempt.hprocessor.hptrace.hqdio.hreset.hruntime_instr.hrwsem.hschid.hsclp.hscsw.hseccomp.hsections.hsegment.hserial.hset_memory.hsetup.hshmparam.hsignal.hsigp.hsmp.hsparsemem.hspinlock.hspinlock_types.hstp.hstring.hswitch_to.hsyscall.hsysinfo.htermios.hthread_info.htimex.htlb.htlbflush.htopology.htracediag.hzcrypt.htypes.huaccess.hunaligned.hunistd.huprobes.huser.hvdso.hvga.hvtime.hvtimer.hvx-insn.hxor.huapiasmKbuildauxvec.hbitsperlong.hbyteorder.hchpid.hchsc.hclp.hcmb.hdasd.hdebug.hguarded_storage.hhypfs.hioctls.hipcbuf.hkvm.hkvm_para.hkvm_perf.hkvm_virtio.hmonwriter.hmsgbuf.hpkey.hposix_types.hptrace.hqeth.hschid.hsclp_ctl.hsembuf.hsetup.hshmbuf.hsie.hsigcontext.hsiginfo.hsignal.hsocket.hstat.hstatfs.hswab.htape390.htermios.htypes.hucontext.hunistd.hvirtio-ccw.hvtoc.hzcrypt.hkernelMakefileals.casm-offsets.caudit.caudit.hbase.Scache.ccompat_audit.ccompat_linux.ccompat_linux.hcompat_ptrace.hcompat_signal.ccompat_wrapper.ccpcmd.ccrash_dump.cdebug.cdiag.cdis.cdumpstack.cearly.cearly_printk.cebcdic.centry.Sentry.hfpu.cftrace.cguarded_storage.chead.Shead64.Shead_kdump.Sidle.cipl.cirq.cjump_label.ckdebugfs.ckprobes.clgr.cmachine_kexec.cmcount.Smodule.cnmi.cos_info.cperf_cpum_cf.cperf_cpum_cf_events.cperf_cpum_sf.cperf_event.cpgm_check.Sprocess.cprocessor.cptrace.creipl.Srelocate_kernel.Sruntime_instr.csetup.csignal.csmp.cstacktrace.csuspend.cswsusp.Ssys_s390.csyscalls.Ssysinfo.ctime.ctopology.ctrace.ctraps.cuprobes.cvdso.cvdso32Makefileclock_getres.Sclock_gettime.Sgetcpu.Sgettimeofday.Snote.Svdso32.lds.Svdso32_wrapper.Svdso64Makefileclock_getres.Sclock_gettime.Sgetcpu.Sgettimeofday.Snote.Svdso64.lds.Svdso64_wrapper.Svmlinux.lds.Svtime.ckvmKconfigMakefilediag.cgaccess.cgaccess.hguestdbg.cintercept.cinterrupt.cirq.hkvm-s390.ckvm-s390.hpriv.csigp.csthyi.ctrace-s390.htrace.hvsie.clibMakefiledelay.cfind.cmem.Sprobes.cspinlock.cstring.cuaccess.cxor.cmmMakefilecmm.cdump_pagetables.cextmem.cfault.cgmap.cgup.chugetlbpage.cinit.cmaccess.cmem_detect.cmmap.cpage-states.cpageattr.cpgalloc.cpgtable.cvmem.cnetMakefilebpf_jit.Sbpf_jit.hbpf_jit_comp.cnumaMakefilemode_emu.cnuma.cnuma_mode.htoptree.ctoptree.hoprofileMakefileinit.cpciMakefilepci.cpci_clp.cpci_debug.cpci_dma.cpci_event.cpci_insn.cpci_mmio.cpci_sysfs.ctoolsMakefilegen_facilities.cscoreKconfigKconfig.debugMakefilebootMakefileconfigsspct6600_defconfigincludeasmKbuildasm-offsets.hasmmacro.hatomic.hbitops.hbug.hbugs.hcache.hcacheflush.hchecksum.hcmpxchg.hdelay.hdevice.hdiv64.hdma.helf.hemergency-restart.hexec.hfixmap.hftrace.hfutex.hhardirq.hhw_irq.hio.hirq.hirq_regs.hirqflags.hkdebug.hkmap_types.hlinkage.hlocal.hlocal64.hmmu.hmmu_context.hmodule.hpage.hpci.hpercpu.hpgalloc.hpgtable-bits.hpgtable.hprocessor.hptrace.hscoreregs.hsegment.hsetup.hshmparam.hstring.hswitch_to.hsyscalls.hthread_info.htimex.htlb.htlbflush.htopology.huaccess.hucontext.hunaligned.huser.huapiasmKbuildauxvec.hbitsperlong.hbyteorder.herrno.hfcntl.hioctl.hioctls.hipcbuf.hkvm_para.hmman.hmsgbuf.hparam.hpoll.hposix_types.hptrace.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hunistd.hkernelMakefileasm-offsets.centry.Shead.Sirq.cmodule.cprocess.cptrace.csetup.csignal.csys_call_table.csys_score.ctime.ctraps.cvmlinux.lds.SlibMakefileashldi3.cashrdi3.cchecksum.Schecksum_copy.ccmpdi2.clibgcc.hlshrdi3.cstring.Sucmpdi2.cmmMakefilecache.cextable.cfault.cinit.cpgtable.ctlb-miss.Stlb-score.cshKconfigKconfig.cpuKconfig.debugMakefileboardsKconfigMakefileboard-apsh4a3a.cboard-apsh4ad0a.cboard-edosk7705.cboard-edosk7760.cboard-espt.cboard-magicpanelr2.cboard-polaris.cboard-secureedge5410.cboard-sh2007.cboard-sh7757lcr.cboard-sh7785lcr.cboard-shmin.cboard-titan.cboard-urquell.cmach-ap325rxaMakefilesdram.Ssetup.cmach-caymanMakefileirq.cpanic.csetup.cmach-dreamcastMakefileirq.crtc.csetup.cmach-ecovec24Makefilesdram.Ssetup.cmach-highlanderKconfigMakefileirq-r7780mp.cirq-r7780rp.cirq-r7785rp.cpinmux-r7785rp.cpsw.csetup.cmach-hp6xxMakefilehp6xx_apm.cpm.cpm_wakeup.Ssetup.cmach-kfr2r09Makefilelcd_wqvga.csdram.Ssetup.cmach-landiskMakefilegio.cirq.cpsw.csetup.cmach-lboxre2Makefileirq.csetup.cmach-microdevMakefilefdc37c93xapm.cio.cirq.csetup.cmach-migorKconfigMakefilelcd_qvga.csdram.Ssetup.cmach-r2dKconfigMakefileirq.csetup.cmach-rskKconfigMakefiledevices-rsk7203.cdevices-rsk7264.cdevices-rsk7269.csetup.cmach-sdk7780KconfigMakefileirq.csetup.cmach-sdk7786Makefilefpga.cgpio.cirq.cnmi.csetup.csram.cmach-se7206Makefileirq.csetup.c7343Makefileirq.csetup.c770xMakefileirq.csetup.c7721Makefileirq.csetup.c7722Makefileirq.csetup.c7724Makefileirq.csdram.Ssetup.c7751Makefileirq.csetup.c7780Makefileirq.csetup.cMakefileboard-se7619.cmach-sh03Makefilertc.csetup.cmach-sh7763rdpMakefileirq.csetup.cmach-x3protoMakefilegpio.cilsel.csetup.cof-generic.cbootMakefilecompressedMakefilecache.chead_32.Shead_64.Sinstall.shmisc.cvmlinux.scrdtsMakefilej2_mimas_v2.dtsromimageMakefilehead.Smmcif-sh7724.cvmlinux.scrcchipsKconfighd6446xMakefilehd64461.cconfigsap325rxa_defconfigapsh4a3a_defconfigapsh4ad0a_defconfigcayman_defconfigdreamcast_defconfigecovec24-romimage_defconfigecovec24_defconfigedosk7705_defconfigedosk7760_defconfigespt_defconfighp6xx_defconfigj2_defconfigkfr2r09-romimage_defconfigkfr2r09_defconfiglandisk_defconfiglboxre2_defconfigmagicpanelr2_defconfigmicrodev_defconfigmigor_defconfigpolaris_defconfigr7780mp_defconfigr7785rp_defconfigrsk7201_defconfigrsk7203_defconfigrsk7264_defconfigrsk7269_defconfigrts7751r2d1_defconfigrts7751r2dplus_defconfigsdk7780_defconfigsdk7786_defconfigse7206_defconfigse7343_defconfigse7619_defconfigse7705_defconfigse7712_defconfigse7721_defconfigse7722_defconfigse7724_defconfigse7750_defconfigse7751_defconfigse7780_defconfigsecureedge5410_defconfigsh03_defconfigsh2007_defconfigsh7710voipgw_defconfigsh7724_generic_defconfigsh7757lcr_defconfigsh7763rdp_defconfigsh7770_generic_defconfigsh7785lcr_32bit_defconfigsh7785lcr_defconfigshmin_defconfigshx3_defconfigtitan_defconfigul2_defconfigurquell_defconfigdriversKconfigMakefiledmaKconfigMakefiledma-api.cdma-g2.cdma-pvr2.cdma-sh.cdma-sysfs.cdmabrg.cheartbeat.cpciMakefilecommon.cfixups-cayman.cfixups-dreamcast.cfixups-landisk.cfixups-r7780rp.cfixups-rts7751r2d.cfixups-sdk7780.cfixups-sdk7786.cfixups-se7751.cfixups-sh03.cfixups-snapgear.cfixups-titan.cops-dreamcast.cops-sh4.cops-sh5.cops-sh7786.cpci-dreamcast.cpci-sh4.hpci-sh5.cpci-sh5.hpci-sh7751.cpci-sh7751.hpci-sh7780.cpci-sh7780.hpci.cpcie-sh7786.cpcie-sh7786.hpush-switch.csuperhywayMakefileops-sh4-202.cincludeasmKbuildadc.haddrspace.halignment.hasm-offsets.hatomic-grb.hatomic-irq.hatomic-llsc.hatomic.hbarrier.hbitops-cas.hbitops-grb.hbitops-llsc.hbitops-op32.hbitops.hbl_bit.hbl_bit_32.hbl_bit_64.hbug.hbugs.hcache.hcache_insns.hcache_insns_32.hcache_insns_64.hcacheflush.hchecksum.hchecksum_32.hclock.hcmpxchg-cas.hcmpxchg-grb.hcmpxchg-irq.hcmpxchg-llsc.hcmpxchg-xchg.hcmpxchg.hdevice.hdma-mapping.hdma-register.hdma.hdmabrg.hdwarf.helf.hentry-macros.Sextable.hfb.hfixmap.hflat.hfpu.hfreq.hftrace.hfutex-cas.hfutex-irq.hfutex-llsc.hfutex.hgpio.hhardirq.hhd64461.hheartbeat.hhugetlb.hhw_breakpoint.hhw_irq.hi2c-sh7760.hio.hio_generic.hio_noioport.hio_trapped.hirq.hirqflags.hkdebug.hkexec.hkgdb.hkmap_types.hkprobes.hlinkage.hmachvec.hmmu.hmmu_context.hmmu_context_32.hmmu_context_64.hmmzone.hmodule.hpage.hpci.hperf_event.hpgalloc.hpgtable-2level.hpgtable-3level.hpgtable.hpgtable_32.hpgtable_64.hposix_types.hprocessor.hprocessor_32.hprocessor_64.hptrace.hptrace_32.hptrace_64.hpush-switch.hreboot.hromimage-macros.hrtc.hseccomp.hsections.hsegment.hsetup.hsfp-machine.hsh7760fb.hsh_bios.hshmparam.hsiu.hsmc37c93x.hsmp-ops.hsmp.hsparsemem.hspi.hspinlock-cas.hspinlock-llsc.hspinlock.hspinlock_types.hsram.hstackprotector.hstacktrace.hstring.hstring_32.hstring_64.hsuspend.hswitch_to.hswitch_to_32.hswitch_to_64.hsyscall.hsyscall_32.hsyscall_64.hsyscalls.hsyscalls_32.hsyscalls_64.hthread_info.htimex.htlb.htlb_64.htlbflush.htopology.htraps.htraps_32.htraps_64.htypes.huaccess.huaccess_32.huaccess_64.hunaligned-sh4a.hunaligned.huncached.hunistd.hunwinder.huser.hvga.hvmlinux.lds.hwatchdog.hword-at-a-time.hcpu-commoncpuaddrspace.hmmu_context.hpfc.hrtc.hsigcontext.htimer.hcpu-sh2cpucache.hfreq.hwatchdog.hcpu-sh2acpuaddrspace.hcache.hfreq.hrtc.hsh7203.hsh7264.hsh7269.hwatchdog.hcpu-sh3cpuadc.hcache.hdac.hdma-register.hdma.hfreq.hgpio.hmmu_context.hserial.hsh7720.hwatchdog.hcpu-sh4cpuaddrspace.hcache.hdma-register.hdma.hfpu.hfreq.hmmu_context.hrtc.hsh7722.hsh7723.hsh7724.hsh7734.hsh7757.hsh7785.hsh7786.hshx3.hsigcontext.hsq.hwatchdog.hcpu-sh4acpudma.hserial.hcpu-sh5cpuaddrspace.hcache.hirq.hmmu_context.hregisters.hrtc.hmach-commonmachhighlander.hhp6xx.hlboxre2.hmagicpanelr2.hmangle-port.hmicrodev.hr2d.hromimage.hsdk7780.hsecureedge5410.hsh2007.hsh7763rdp.hsh7785lcr.hshmin.htitan.hurquell.hmach-dreamcastmachdma.hmaple.hpci.hsysasic.hmach-ecovec24machpartner-jet-setup.txtromimage.hmach-kfr2r09machkfr2r09.hpartner-jet-setup.txtromimage.hmach-landiskmachgio.hiodata_landisk.hmach-migormachmigor.hmach-sdk7786machfpga.hirq.hmach-semachmrshpc.hse.hse7206.hse7343.hse7721.hse7722.hse7724.hse7751.hse7780.hmach-sh03machio.hsh03.hmach-x3protomachhardware.hilsel.huapiasmKbuildauxvec.hbyteorder.hcachectl.hcpu-features.hhw_breakpoint.hioctls.hposix_types.hposix_types_32.hposix_types_64.hptrace.hptrace_32.hptrace_64.hsetup.hsigcontext.hsignal.hsockios.hstat.hswab.htypes.hunistd.hunistd_32.hunistd_64.hkernelMakefileasm-offsets.ccpuMakefileadc.cclock-cpg.cclock.cfpu.cinit.cirqMakefileimask.cintc-sh5.cipr.cpfc.cproc.csh2Makefileclock-sh7619.centry.Sex.Sprobe.csetup-sh7619.csmp-j2.csh2aMakefileclock-sh7201.cclock-sh7203.cclock-sh7206.cclock-sh7264.cclock-sh7269.centry.Sex.Sfpu.copcode_helper.cpinmux-sh7203.cpinmux-sh7264.cpinmux-sh7269.cprobe.csetup-mxg.csetup-sh7201.csetup-sh7203.csetup-sh7206.csetup-sh7264.csetup-sh7269.csh3Makefileclock-sh3.cclock-sh7705.cclock-sh7706.cclock-sh7709.cclock-sh7710.cclock-sh7712.centry.Sex.Spinmux-sh7720.cprobe.cserial-sh770x.cserial-sh7710.cserial-sh7720.csetup-sh3.csetup-sh7705.csetup-sh770x.csetup-sh7710.csetup-sh7720.cswsusp.Ssh4Makefileclock-sh4-202.cclock-sh4.cfpu.cperf_event.cprobe.csetup-sh4-202.csetup-sh7750.csetup-sh7760.csoftfloat.csq.csh4aMakefileclock-sh7343.cclock-sh7366.cclock-sh7722.cclock-sh7723.cclock-sh7724.cclock-sh7734.cclock-sh7757.cclock-sh7763.cclock-sh7770.cclock-sh7780.cclock-sh7785.cclock-sh7786.cclock-shx3.cintc-shx3.cperf_event.cpinmux-sh7722.cpinmux-sh7723.cpinmux-sh7724.cpinmux-sh7734.cpinmux-sh7757.cpinmux-sh7785.cpinmux-sh7786.cpinmux-shx3.cserial-sh7722.csetup-sh7343.csetup-sh7366.csetup-sh7722.csetup-sh7723.csetup-sh7724.csetup-sh7734.csetup-sh7757.csetup-sh7763.csetup-sh7770.csetup-sh7780.csetup-sh7785.csetup-sh7786.csetup-shx3.csmp-shx3.cubc.csh5Makefileclock-sh5.centry.Sfpu.cprobe.csetup-sh5.cswitchto.Sunwind.cshmobileMakefilecpuidle.cpm.csleep.Scrash_dump.cdebugtraps.Sdisassemble.cdma-nommu.cdumpstack.cdwarf.centry-common.Sftrace.chead_32.Shead_64.Shw_breakpoint.cidle.cio.cio_trapped.ciomap.cioport.cirq.cirq_32.cirq_64.ckdebugfs.ckgdb.ckprobes.cmachine_kexec.cmachvec.cmodule.cnmi_debug.cperf_callchain.cperf_event.cprocess.cprocess_32.cprocess_64.cptrace.cptrace_32.cptrace_64.creboot.crelocate_kernel.Sreturn_address.csetup.csh_bios.csh_ksyms_32.csh_ksyms_64.csignal_32.csignal_64.csmp.cstacktrace.cswsusp.csys_sh.csys_sh32.csyscalls_32.Ssyscalls_64.Stime.ctopology.ctraps.ctraps_32.ctraps_64.cunwinder.cvmlinux.lds.SvsyscallMakefilevsyscall-note.Svsyscall-sigreturn.Svsyscall-syscall.Svsyscall-trapa.Svsyscall.cvsyscall.lds.SlibMakefile__clear_user.Sashiftrt.Sashldi3.cashlsi3.Sashrdi3.cashrsi3.Schecksum.Scopy_page.Sdelay.cdiv64-generic.cdiv64.Sio.clibgcc.hlshrdi3.clshrsi3.Smcount.Smemchr.Smemcpy-sh4.Smemcpy.Smemmove.Smemset-sh4.Smemset.Smovmem.Sstrlen.Sudiv_qrnnd.Sudivsi3.Sudivsi3_i4i-Os.Sudivsi3_i4i.Slib64Makefilecopy_page.Scopy_user_memcpy.Smemcpy.Smemset.Spanic.csdivsi3.Sstrcpy.Sstrlen.Sudelay.cudivdi3.Sudivsi3.Smath-emuMakefilemath.csfp-util.hmmKconfigMakefilealignment.casids-debugfs.ccache-debugfs.ccache-j2.ccache-sh2.ccache-sh2a.ccache-sh3.ccache-sh4.ccache-sh5.ccache-sh7705.ccache-shx3.ccache.cconsistent.cextable_32.cextable_64.cfault.cflush-sh4.cgup.chugetlbpage.cinit.cioremap.cioremap_fixed.ckmap.cmmap.cnommu.cnuma.cpgtable.cpmb.csram.ctlb-debugfs.ctlb-pteaex.ctlb-sh3.ctlb-sh4.ctlb-sh5.ctlb-urb.ctlbex_32.ctlbex_64.ctlbflush_32.ctlbflush_64.cuncached.coprofileMakefilebacktrace.ccommon.ctoolsMakefilegen-mach-typesmach-typessparcKbuildKconfigKconfig.debugMakefilebootMakefileinstall.shpiggyback.cconfigssparc32_defconfigsparc64_defconfigcryptoMakefileaes_asm.Saes_glue.ccamellia_asm.Scamellia_glue.ccrc32c_asm.Scrc32c_glue.ccrop_devid.cdes_asm.Sdes_glue.cmd5_asm.Smd5_glue.copcodes.hsha1_asm.Ssha1_glue.csha256_asm.Ssha256_glue.csha512_asm.Ssha512_glue.cincludeasmKbuildagp.hapb.hasm-offsets.hasm-prototypes.hasm.hasmmacro.hatomic.hatomic_32.hatomic_64.hauxio.hauxio_32.hauxio_64.hbackoff.hbarrier.hbarrier_32.hbarrier_64.hbbc.hbitext.hbitops.hbitops_32.hbitops_64.hbtext.hbug.hbugs.hcache.hcacheflush.hcacheflush_32.hcacheflush_64.hcachetlb_32.hchafsr.hchecksum.hchecksum_32.hchecksum_64.hchmctrl.hclock.hcmpxchg.hcmpxchg_32.hcmpxchg_64.hcompat.hcompat_signal.hcontregs.hcpu_type.hcpudata.hcpudata_32.hcpudata_64.hcurrent.hdcr.hdcu.hdelay.hdelay_32.hdelay_64.hdevice.hdma-mapping.hdma.hebus_dma.hecc.heeprom.helf.helf_32.helf_64.hestate.hextable_64.hfb.hfbio.hfhc.hfloppy.hfloppy_32.hfloppy_64.hfpumacro.hftrace.hfutex.hfutex_32.hfutex_64.hhardirq.hhardirq_32.hhardirq_64.hhead.hhead_32.hhead_64.hhibernate.hhighmem.hhugetlb.hhvtramp.hhw_irq.hhypervisor.hide.hidprom.hintr_queue.hio-unit.hio.hio_32.hio_64.hioctls.hiommu.hiommu_32.hiommu_64.hirq.hirq_32.hirq_64.hirqflags.hirqflags_32.hirqflags_64.hjump_label.hkdebug.hkdebug_32.hkdebug_64.hkgdb.hkmap_types.hkprobes.hldc.hleon.hleon_amba.hleon_pci.hlsu.hmachines.hmbus.hmc146818rtc.hmc146818rtc_32.hmc146818rtc_64.hmdesc.hmemctrl.hmman.hmmu.hmmu_32.hmmu_64.hmmu_context.hmmu_context_32.hmmu_context_64.hmmzone.hmsi.hmxcc.hnmi.hns87303.hobio.hopenprom.hoplib.hoplib_32.hoplib_64.hpage.hpage_32.hpage_64.hparport.hpbm.hpci.hpci_32.hpci_64.hpcic.hpcr.hpercpu.hpercpu_32.hpercpu_64.hperf_event.hpgalloc.hpgalloc_32.hpgalloc_64.hpgtable.hpgtable_32.hpgtable_64.hpgtsrmmu.hpil.hprocessor.hprocessor_32.hprocessor_64.hprom.hpsr.hptrace.hross.hsbi.hscratchpad.hseccomp.hsections.hsetup.hsfafsr.hsfp-machine.hsfp-machine_32.hsfp-machine_64.hshmparam.hshmparam_32.hshmparam_64.hsigcontext.hsiginfo.hsignal.hsmp.hsmp_32.hsmp_64.hsparsemem.hspinlock.hspinlock_32.hspinlock_64.hspinlock_types.hspitfire.hstacktrace.hstarfire.hstring.hstring_32.hstring_64.hsunbpp.hswift.hswitch_to.hswitch_to_32.hswitch_to_64.hsyscall.hsyscalls.htermbits.htermios.hthread_info.hthread_info_32.hthread_info_64.htimer.htimer_32.htimer_64.htimex.htimex_32.htimex_64.htlb.htlb_32.htlb_64.htlbflush.htlbflush_32.htlbflush_64.htopology.htopology_32.htopology_64.htrap_block.htraps.htsb.htsunami.httable.hturbosparc.huaccess.huaccess_32.huaccess_64.hunaligned.hunistd.hupa.huprobes.huser.hvaddrs.hvga.hviking.hvio.hvisasm.hwinmacro.hxor.hxor_32.hxor_64.huapiasmKbuildapc.hasi.hauxvec.hbitsperlong.hbyteorder.hdisplay7seg.henvctrl.herrno.hfbio.hfcntl.hioctl.hioctls.hipcbuf.hjsflash.hkvm_para.hmman.hmsgbuf.hopenpromio.hparam.hperfctr.hpoll.hposix_types.hpsr.hpsrcompat.hpstate.hptrace.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htraps.huctx.hunistd.hutrap.hwatchdog.hkernelMakefileapc.casm-offsets.caudit.cauxio_32.cauxio_64.cbtext.ccentral.ccherrs.Schmc.ccompat_audit.ccpu.ccpumap.ccpumap.hdevices.cdma.cds.cdtlb_miss.Sdtlb_prot.Sebus.centry.Sentry.hetrap_32.Setrap_64.Sfpu_traps.Sftrace.cgetsetcc.Shead_32.Shead_64.Shelpers.Shvapi.chvcalls.Shvtramp.Sidprom.ciommu.ciommu_common.hioport.cirq.hirq_32.cirq_64.citlb_miss.Sivec.Sjump_label.ckernel.hkgdb_32.ckgdb_64.ckprobes.ckstack.hktlb.Sldc.cled.cleon_kernel.cleon_pci.cleon_pci_grpci1.cleon_pci_grpci2.cleon_pmc.cleon_smp.cmdesc.cmisctrap.Smodule.cnmi.cof_device_32.cof_device_64.cof_device_common.cof_device_common.hpci.cpci_common.cpci_fire.cpci_impl.hpci_msi.cpci_psycho.cpci_sabre.cpci_schizo.cpci_sun4v.cpci_sun4v.hpci_sun4v_asm.Spcic.cpcr.cperf_event.cpmc.cpower.cprocess_32.cprocess_64.cprom.hprom_32.cprom_64.cprom_common.cprom_irqtrans.cpsycho_common.cpsycho_common.hptrace_32.cptrace_64.creboot.crtrap_32.Srtrap_64.Ssbus.csetup_32.csetup_64.csignal32.csignal_32.csignal_64.csigutil.hsigutil_32.csigutil_64.csmp_32.csmp_64.csparc_ksyms.cspiterrs.Ssstate.cstacktrace.cstarfire.csun4d_irq.csun4d_smp.csun4m_irq.csun4m_smp.csun4v_ivec.Ssun4v_tlb_miss.Ssys32.Ssys_sparc32.csys_sparc_32.csys_sparc_64.csyscalls.Ssysfs.csystbls.hsystbls_32.Ssystbls_64.Stime_32.ctime_64.ctrampoline_32.Strampoline_64.Straps_32.ctraps_64.ctsb.Sttable_32.Sttable_64.Suna_asm_32.Suna_asm_64.Sunaligned_32.cunaligned_64.cuprobes.curtt_fill.Sutrap.Svio.cviohs.cvisemul.cvmlinux.lds.Swindows.cwinfixup.Swof.Swuf.SlibCOPYING.LIBGENbzero.SGENcopy_from_user.SGENcopy_to_user.SGENmemcpy.SGENpage.SGENpatch.SMakefileNG2copy_from_user.SNG2copy_to_user.SNG2memcpy.SNG2patch.SNG4clear_page.SNG4copy_from_user.SNG4copy_page.SNG4copy_to_user.SNG4memcpy.SNG4memset.SNG4patch.SNGbzero.SNGcopy_from_user.SNGcopy_to_user.SNGmemcpy.SNGpage.SNGpatch.SPeeCeeI.cU1copy_from_user.SU1copy_to_user.SU1memcpy.SU3copy_from_user.SU3copy_to_user.SU3memcpy.SU3patch.SVISsave.Sashldi3.Sashrdi3.Satomic32.catomic_64.Sbitext.cbitops.Sblockops.Sbzero.Schecksum_32.Schecksum_64.Sclear_page.Scmpdi2.ccopy_in_user.Scopy_page.Scopy_user.Scsum_copy.Scsum_copy_from_user.Scsum_copy_to_user.Sdivdi3.Sffs.Shweight.Siomap.cipcsum.Slibgcc.hlocks.Slshrdi3.Smcount.Smemcmp.Smemcpy.Smemmove.Smemscan_32.Smemscan_64.Smemset.Smuldi3.Smulti3.Sstrlen.Sstrncmp_32.Sstrncmp_64.Sucmpdi2.cudivdi3.Sxor.Smath-emuMakefilemath_32.cmath_64.csfp-util_32.hsfp-util_64.hmmMakefileextable.cfault_32.cfault_64.cgup.chighmem.chugetlbpage.chypersparc.Sinit_32.cinit_64.cinit_64.hio-unit.ciommu.cleon_mm.cmm_32.hsrmmu.csrmmu_access.Sswift.Stlb.ctsb.ctsunami.Sultra.Sviking.SnetMakefilebpf_jit_32.hbpf_jit_64.hbpf_jit_asm_32.Sbpf_jit_asm_64.Sbpf_jit_comp_32.cbpf_jit_comp_64.coprofileMakefileinit.cpowerMakefilehibernate.chibernate_asm.SpromMakefilebootstr_32.cbootstr_64.ccif.Sconsole_32.cconsole_64.cinit_32.cinit_64.cmemory.cmisc_32.cmisc_64.cmp.cp1275.cprintf.cranges.ctree_32.ctree_64.ctileKbuildKconfigKconfig.debugMakefileconfigstilegx_defconfigtilepro_defconfiggxioKconfigMakefiledma_queue.ciorpc_globals.ciorpc_mpipe.ciorpc_mpipe_info.ciorpc_trio.ciorpc_uart.ciorpc_usb_host.ckiorpc.cmpipe.ctrio.cuart.cusb_host.cincludearchmpipe.hmpipe_constants.hmpipe_def.hmpipe_shm.hmpipe_shm_def.hspr_def.htrio.htrio_constants.htrio_def.htrio_pcie_intfc.htrio_pcie_intfc_def.htrio_pcie_rc.htrio_pcie_rc_def.htrio_shm.htrio_shm_def.huart.huart_def.husb_host.husb_host_def.hasmKbuildasm-offsets.hatomic.hatomic_32.hatomic_64.hbacktrace.hbarrier.hbitops.hbitops_32.hbitops_64.hcache.hcacheflush.hchecksum.hcmpxchg.hcompat.hcurrent.hdelay.hdevice.hdiv64.hdma-mapping.hdma.helf.hfixmap.hftrace.hfutex.hhardirq.hhardwall.hhighmem.hhomecache.hhugetlb.hhv_driver.hide.hinsn.hio.hirq.hirq_work.hirqflags.hjump_label.hkdebug.hkexec.hkgdb.hkmap_types.hkprobes.hlinkage.hmmu.hmmu_context.hmmzone.hmodule.hpage.hpci.hpercpu.hperf_event.hpgalloc.hpgtable.hpgtable_32.hpgtable_64.hpmc.hprocessor.hptrace.hsections.hsetup.hsigframe.hsignal.hsmp.hspinlock.hspinlock_32.hspinlock_64.hspinlock_types.hstack.hstring.hswitch_to.hsyscall.hsyscalls.hthread_info.htile-desc.htile-desc_32.htile-desc_64.htimex.htlb.htlbflush.htopology.htraps.huaccess.hunaligned.hunistd.huser.hvdso.hvga.hword-at-a-time.hgxiocommon.hdma_queue.hiorpc_globals.hiorpc_mpipe.hiorpc_mpipe_info.hiorpc_trio.hiorpc_uart.hiorpc_usb_host.hkiorpc.hmpipe.htrio.huart.husb_host.hhvdrv_mpipe_intf.hdrv_mshim_intf.hdrv_pcie_rc_intf.hdrv_srom_intf.hdrv_trio_intf.hdrv_uart_intf.hdrv_usb_host_intf.hdrv_xgbe_impl.hdrv_xgbe_intf.hhypervisor.hiorpc.hnetio_errors.hnetio_intf.hsyscall_public.huapiarchabi.hchip.hchip_tilegx.hchip_tilepro.hicache.hinterrupts.hinterrupts_32.hinterrupts_64.hopcode.hopcode_tilegx.hopcode_tilepro.hsim.hsim_def.hspr_def.hspr_def_32.hspr_def_64.hasmKbuildauxvec.hbitsperlong.hbyteorder.hcachectl.hhardwall.hkvm_para.hmman.hptrace.hsetup.hsigcontext.hsiginfo.hsignal.hstat.hswab.hunistd.hkernelMakefileasm-offsets.cbacktrace.ccompat.ccompat_signal.cearly_printk.centry.Sftrace.chardwall.chead_32.Shead_64.Shvglue.Shvglue_trace.cintvec_32.Sintvec_64.Sirq.cjump_label.ckgdb.ckprobes.cmachine_kexec.cmcount_64.Smessaging.cmodule.cpci-dma.cpci.cpci_gx.cperf_event.cpmc.cproc.cprocess.cptrace.creboot.cregs_32.Sregs_64.Srelocate_kernel_32.Srelocate_kernel_64.Ssetup.csignal.csingle_step.csmp.csmpboot.cstack.csys.csysfs.ctile-desc_32.ctile-desc_64.ctime.ctlb.ctraps.cunaligned.cusb.cvdsovdso.cMakefilevdso.Svdso.lds.Svdso32.Svgettimeofday.cvrt_sigreturn.Svmlinux.lds.SkvmKconfiglibMakefileatomic_32.catomic_asm_32.Scacheflush.cchecksum.ccpumask.cdelay.cexports.cmemchr_32.cmemchr_64.cmemcpy_32.Smemcpy_64.cmemcpy_user_64.cmemmove.cmemset_32.cmemset_64.cspinlock_32.cspinlock_64.cspinlock_common.hstrchr_32.cstrchr_64.cstring-endian.hstrlen_32.cstrlen_64.cstrnlen_32.cstrnlen_64.cuaccess.cusercopy_32.Susercopy_64.SmmMakefileelf.cextable.cfault.chighmem.chomecache.chugetlbpage.cinit.cmigrate.hmigrate_32.Smigrate_64.Smmap.cpgtable.cumKconfig.charKconfig.commonKconfig.debugKconfig.netKconfig.restKconfig.umMakefileMakefile-os-LinuxMakefile-skasconfigsi386_defconfigx86_64_defconfigdriversMakefilechan.hchan_kern.cchan_user.cchan_user.hcow.hcow_sys.hcow_user.cdaemon.hdaemon_kern.cdaemon_user.cfd.charddog_kern.charddog_user.chostaudio_kern.cline.cline.hmconsole.hmconsole_kern.cmconsole_kern.hmconsole_user.cmmapper_kern.cnet_kern.cnet_user.cnull.cpcap_kern.cpcap_user.cpcap_user.hport.hport_kern.cport_user.cpty.crandom.cslip.hslip_common.cslip_common.hslip_kern.cslip_user.cslirp.hslirp_kern.cslirp_user.cssl.cssl.hstderr_console.cstdio_console.cstdio_console.htty.cubd.hubd_kern.cubd_user.cumcast.humcast_kern.cumcast_user.cvde.hvde_kern.cvde_user.cxterm.cxterm.hxterm_kern.cincludeasmKbuilda.out-core.hbugs.hcache.hcommon.lds.Sdma.hfixmap.hhardirq.hirq.hirqflags.hkmap_types.hkvm_para.hmmu.hmmu_context.hpage.hpgalloc.hpgtable-2level.hpgtable-3level.hpgtable.hprocessor-generic.hptrace-generic.hsections.hsetup.hsmp.hstacktrace.hsyscall-generic.hsysrq.hthread_info.htimex.htlb.htlbflush.huaccess.hsharedaio.harch.has-layout.hcommon-offsets.helf_user.hframe_kern.hinit.hirq_kern.hirq_user.hkern.hkern_util.hlongjmp.hmem.hmem_user.hnet_kern.hnet_user.hos.hptrace_user.hregisters.hsigio.hskasmm_id.hskas.hstub-data.htimer-internal.hum_malloc.huser.hkernelMakefileasm-offsets.cconfig.c.indyn.lds.Searly_printk.cexec.cexitcode.cgmon_syms.cgprof_syms.cinitrd.cirq.ckmsg_dump.cksyms.cmaccess.cmem.cphysmem.cprocess.cptrace.creboot.csigio.csignal.cskasMakefileclone.cmmu.cprocess.csyscall.cuaccess.cstacktrace.csyscall.csysrq.ctime.ctlb.ctrap.cum_arch.cumid.cuml.lds.Svmlinux.lds.Sos-LinuxMakefileaio.cdriversMakefileetap.hethertap_kern.cethertap_user.ctuntap.htuntap_kern.ctuntap_user.celf_aux.cexecvp.cfile.chelper.cirq.cmain.cmem.cprocess.cregisters.csigio.csignal.cskasMakefilemem.cprocess.cstart_up.ctime.ctty.cumid.cuser_syms.cutil.cscriptsMakefile.rulesunicore32KconfigKconfig.debugMakefilebootMakefilecompressedMakefilehead.Smisc.cpiggy.S.invmlinux.lds.inconfigsunicore32_defconfigincludeasmKbuildassembler.hbarrier.hbitops.hbug.hcache.hcacheflush.hchecksum.hcmpxchg.hcpu-single.hcputype.hdelay.hdma-mapping.hdma.helf.hfpstate.hfpu-ucf64.hgpio.hhwcap.hhwdef-copro.hio.hirq.hirqflags.hlinkage.hmemblock.hmemory.hmmu.hmmu_context.hpage.hpci.hpgalloc.hpgtable-hwdef.hpgtable.hprocessor.hptrace.hstacktrace.hstring.hsuspend.hswitch_to.hthread_info.htimex.htlb.htlbflush.htraps.huaccess.hmachPKUnity.hbitfield.hdma.hhardware.hmap.hmemory.hocd.hpm.hregs-ac97.hregs-dmac.hregs-gpio.hregs-i2c.hregs-intc.hregs-nand.hregs-ost.hregs-pci.hregs-pm.hregs-ps2.hregs-resetc.hregs-rtc.hregs-sdc.hregs-spi.hregs-uart.hregs-umal.hregs-unigfx.huncompress.huapiasmKbuildbyteorder.hptrace.hsigcontext.hunistd.hkernelMakefileasm-offsets.cclock.cdebug-macro.Sdebug.Sdma.cearly_printk.celf.centry.Sfpu-ucf64.cgpio.chead.Shibernate.chibernate_asm.Sirq.cksyms.cksyms.hmodule.cpci.cpm.cprocess.cptrace.cpuv3-core.cpuv3-nb0916.csetup.csetup.hsignal.csleep.Sstacktrace.csys.ctime.ctraps.cvmlinux.lds.SlibMakefilebacktrace.Sclear_user.Scopy_from_user.Scopy_page.Scopy_template.Scopy_to_user.Sdelay.Sfindbit.Sstrncpy_from_user.Sstrnlen_user.SmmKconfigMakefilealignment.ccache-ucv2.Sdma-swiotlb.cextable.cfault.cflush.cinit.cioremap.cmm.hmmu.cpgd.cproc-macros.Sproc-syms.cproc-ucv2.Stlb-ucv2.Sx86KbuildKconfigKconfig.cpuKconfig.debugMakefileMakefile.umMakefile_32.cpubootMakefilea20.capm.cbioscall.Sbitops.hboot.hcmdline.ccode16gcc.hcompressedMakefilecmdline.ccpuflags.cearly_serial_console.ceboot.ceboot.hefi_stub_32.Sefi_stub_64.Sefi_thunk_64.Serror.cerror.hhead_32.Shead_64.Skaslr.cmisc.cmisc.hmkpiggy.cpagetable.cstring.cvmlinux.lds.Scopy.Scpu.ccpucheck.ccpuflags.ccpuflags.hctype.hearly_serial_console.cedd.cheader.Sinstall.shmain.cmemory.cmkcpustr.cmtools.conf.inpm.cpmjump.Sprintf.cregs.csetup.ldstring.cstring.htoolsbuild.ctty.cversion.cvesa.hvideo-bios.cvideo-mode.cvideo-vesa.cvideo-vga.cvideo.cvideo.hconfigsi386_defconfigtiny.configx86_64_defconfigxen.configcryptoMakefileaes-i586-asm_32.Saes-x86_64-asm_64.Saes_ctrby8_avx-x86_64.Saes_glue.caesni-intel_asm.Saesni-intel_avx-x86_64.Saesni-intel_glue.cblowfish-x86_64-asm_64.Sblowfish_glue.ccamellia-aesni-avx-asm_64.Scamellia-aesni-avx2-asm_64.Scamellia-x86_64-asm_64.Scamellia_aesni_avx2_glue.ccamellia_aesni_avx_glue.ccamellia_glue.ccast5-avx-x86_64-asm_64.Scast5_avx_glue.ccast6-avx-x86_64-asm_64.Scast6_avx_glue.cchacha20-avx2-x86_64.Schacha20-ssse3-x86_64.Schacha20_glue.ccrc32-pclmul_asm.Scrc32-pclmul_glue.ccrc32c-intel_glue.ccrc32c-pcl-intel-asm_64.Scrct10dif-pcl-asm_64.Scrct10dif-pclmul_glue.cdes3_ede-asm_64.Sdes3_ede_glue.cfpu.cghash-clmulni-intel_asm.Sghash-clmulni-intel_glue.cglue_helper-asm-avx.Sglue_helper-asm-avx2.Sglue_helper.cpoly1305-avx2-x86_64.Spoly1305-sse2-x86_64.Spoly1305_glue.csalsa20-i586-asm_32.Ssalsa20-x86_64-asm_64.Ssalsa20_glue.cserpent-avx-x86_64-asm_64.Sserpent-avx2-asm_64.Sserpent-sse2-i586-asm_32.Sserpent-sse2-x86_64-asm_64.Sserpent_avx2_glue.cserpent_avx_glue.cserpent_sse2_glue.csha1-mbMakefilesha1_mb.csha1_mb_ctx.hsha1_mb_mgr.hsha1_mb_mgr_datastruct.Ssha1_mb_mgr_flush_avx2.Ssha1_mb_mgr_init_avx2.csha1_mb_mgr_submit_avx2.Ssha1_x8_avx2.Ssha1_avx2_x86_64_asm.Ssha1_ni_asm.Ssha1_ssse3_asm.Ssha1_ssse3_glue.csha256-avx-asm.Ssha256-avx2-asm.Ssha256-mbMakefilesha256_mb.csha256_mb_ctx.hsha256_mb_mgr.hsha256_mb_mgr_datastruct.Ssha256_mb_mgr_flush_avx2.Ssha256_mb_mgr_init_avx2.csha256_mb_mgr_submit_avx2.Ssha256_x8_avx2.Ssha256-ssse3-asm.Ssha256_ni_asm.Ssha256_ssse3_glue.csha512-avx-asm.Ssha512-avx2-asm.Ssha512-mbMakefilesha512_mb.csha512_mb_ctx.hsha512_mb_mgr.hsha512_mb_mgr_datastruct.Ssha512_mb_mgr_flush_avx2.Ssha512_mb_mgr_init_avx2.csha512_mb_mgr_submit_avx2.Ssha512_x4_avx2.Ssha512-ssse3-asm.Ssha512_ssse3_glue.ctwofish-avx-x86_64-asm_64.Stwofish-i586-asm_32.Stwofish-x86_64-asm_64-3way.Stwofish-x86_64-asm_64.Stwofish_avx_glue.ctwofish_glue.ctwofish_glue_3way.centryMakefilecalling.hcommon.centry_32.Sentry_64.Sentry_64_compat.Ssyscall_32.csyscall_64.csyscallsMakefilesyscall_32.tblsyscall_64.tblsyscallhdr.shsyscalltbl.shthunk_32.Sthunk_64.SvdsoMakefilecheckundef.shvclock_gettime.cvdso-layout.lds.Svdso-note.Svdso.lds.Svdso2c.cvdso2c.hvdso32vdso32-setup.cnote.Ssigreturn.Ssystem_call.Svclock_gettime.cvdso-fakesections.cvdso32.lds.Svdsox32.lds.Svgetcpu.cvma.cvsyscallMakefilevsyscall_64.cvsyscall_emu_64.Svsyscall_gtod.cvsyscall_trace.heventsKconfigMakefileamdMakefilecore.cibs.ciommu.ciommu.hpower.cuncore.ccore.cintelMakefilebts.ccore.ccqm.ccstate.cds.cknc.clbr.cp4.cp6.cpt.cpt.hrapl.cuncore.cuncore.huncore_nhmex.cuncore_snb.cuncore_snbep.cmsr.cperf_event.hhypervMakefilehv_init.cia32Makefileaudit.cia32_aout.cia32_signal.csys_ia32.cincludeasmKbuilda.out-core.hacenv.hacpi.hagp.halternative-asm.halternative.hamd_nb.hapb_timer.hapic.hapic_flat_64.hapicdef.hapm.harch_hweight.harchrandom.hasm-offsets.hasm-prototypes.hasm.hatomic.hatomic64_32.hatomic64_64.hbarrier.hbios_ebda.hbitops.hboot.hbootparam_utils.hbug.hbugs.hcache.hcacheflush.hcalgary.hce4100.hchecksum.hchecksum_32.hchecksum_64.hclocksource.hcmdline.hcmpxchg.hcmpxchg_32.hcmpxchg_64.hcompat.hcpu.hcpu_device_id.hcpufeature.hcpufeatures.hcpumask.hcrash.hcryptoaes.hcamellia.hglue_helper.hserpent-avx.hserpent-sse2.htwofish.hcurrent.hdebugreg.hdelay.hdesc.hdesc_defs.hdevice.hdisabled-features.hdiv64.hdma-mapping.hdma.hdmi.hdwarf2.he820api.htypes.hedac.hefi.helf.hemergency-restart.hentry_arch.hespfix.hexec.hexport.hextable.hfb.hfixmap.hfloppy.hfpuapi.hinternal.hregset.hsignal.htypes.hxstate.hframe.hftrace.hfutex.hgart.hgenapic.hgeode.hhardirq.hhighmem.hhpet.hhugetlb.hhw_breakpoint.hhw_irq.hhypertransport.hhypervisor.hi8259.hia32.hia32_unistd.himr.hinat.hinat_types.hinit.hinsn.hinst.hintel-family.hintel-mid.hintel_mid_vrtc.hintel_pmc_ipc.hintel_pt.hintel_punit_ipc.hintel_rdt.hintel_rdt_common.hintel_scu_ipc.hintel_telemetry.hio.hio_apic.hiomap.hiommu.hiommu_table.hiosf_mbi.hipi.hirq.hirq_regs.hirq_remapping.hirq_vectors.hirq_work.hirqdomain.hirqflags.hist.hjump_label.hkasan.hkaslr.hkbdleds.hkdebug.hkexec-bzimage64.hkexec.hkgdb.hkmap_types.hkmemcheck.hkprobes.hkvm_emulate.hkvm_guest.hkvm_host.hkvm_page_track.hkvm_para.hkvmclock.hlguest.hlguest_hcall.hlinkage.hlivepatch.hlocal.hlocal64.hmach_timer.hmach_traps.hmath_emu.hmc146818rtc.hmce.hmicrocode.hmicrocode_amd.hmicrocode_intel.hmisc.hmmconfig.hmmu.hmmu_context.hmmx.hmmzone.hmmzone_32.hmmzone_64.hmodule.hmpspec.hmpspec_def.hmpx.hmshyperv.hmsi.hmsidef.hmsr-index.hmsr-trace.hmsr.hmtrr.hmwait.hnmi.hnops.hnuma.hnuma_32.hnumachipnumachip.hnumachip_csr.holpc.holpc_ofw.hpage.hpage_32.hpage_32_types.hpage_64.hpage_64_types.hpage_types.hparavirt.hparavirt_types.hparport.hpat.hpci-direct.hpci-functions.hpci.hpci_64.hpci_x86.hpercpu.hperf_event.hperf_event_p4.hpgalloc.hpgtable-2level.hpgtable-2level_types.hpgtable-3level.hpgtable-3level_types.hpgtable.hpgtable_32.hpgtable_32_types.hpgtable_64.hpgtable_64_types.hpgtable_types.hpkeys.hplatform_sst_audio.hpm-trace.hpmc_core.hpmem.hposix_types.hpreempt.hprobe_roms.hprocessor-cyrix.hprocessor-flags.hprocessor.hprom.hproto.hptrace.hpurgatory.hpvclock-abi.hpvclock.hqrwlock.hqspinlock.hqspinlock_paravirt.hrealmode.hreboot.hreboot_fixups.hrequired-features.hrio.hrmwcc.hrwsem.hseccomp.hsections.hsegment.hserial.hset_memory.hsetup.hsetup_arch.hshmparam.hsigcontext.hsigframe.hsighandling.hsignal.hsimd.hsmap.hsmp.hsparsemem.hspecial_insns.hspinlock.hspinlock_types.hsta2x11.hstackprotector.hstacktrace.hstring.hstring_32.hstring_64.hsuspend.hsuspend_32.hsuspend_64.hsvm.hswiotlb.hswitch_to.hsync_bitops.hsys_ia32.hsyscall.hsyscalls.hsysfb.htce.htext-patching.hthread_info.htime.htimer.htimex.htlb.htlbflush.htopology.htraceexceptions.hfpu.hirq_vectors.hmpx.htrace_clock.htraps.htsc.huaccess.huaccess_32.huaccess_64.hunaligned.hunistd.hunwind.huprobes.huser.huser32.huser_32.huser_64.huvbios.huv.huv_bau.huv_hub.huv_irq.huv_mmrs.hvdso.hvga.hvgtod.hvirtext.hvm86.hvmx.hvsyscall.hvvar.hword-at-a-time.hx2apic.hx86_init.hxencpuid.hevents.hhypercall.hhypervisor.hinterface.hinterface_32.hinterface_64.hpage-coherent.hpage.hpci.hswiotlb-xen.htrace_types.hxor.hxor_32.hxor_64.hxor_avx.huapiasmKbuilda.out.hauxvec.hbitsperlong.hboot.hbootparam.hbyteorder.hdebugreg.he820.herrno.hfcntl.hhw_breakpoint.hhwcap2.hhyperv.hioctl.hioctls.hipcbuf.hist.hkvm.hkvm_para.hkvm_perf.hldt.hmce.hmman.hmsgbuf.hmsr.hmtrr.hparam.hperf_regs.hpoll.hposix_types.hposix_types_32.hposix_types_64.hposix_types_x32.hprctl.hprocessor-flags.hptrace-abi.hptrace.hresource.hsembuf.hsetup.hshmbuf.hsigcontext.hsigcontext32.hsiginfo.hsignal.hsocket.hsockios.hstat.hstatfs.hsvm.hswab.htermbits.htermios.htypes.hucontext.hunistd.hvm86.hvmx.hvsyscall.hkernelMakefileacpiMakefileapei.cboot.ccppc_msr.ccstate.csleep.csleep.hwakeup_32.Swakeup_64.Salternative.camd_gart_64.camd_nb.capb_timer.caperture_64.capicMakefileapic.capic_flat_64.capic_noop.capic_numachip.cbigsmp_32.chtirq.chw_nmi.cio_apic.cipi.cmsi.cprobe_32.cprobe_64.cvector.cx2apic_cluster.cx2apic_phys.cx2apic_uv_x.capm_32.casm-offsets.casm-offsets_32.casm-offsets_64.caudit_64.cbootflag.ccheck.ccpuMakefileamd.cbugs.ccentaur.ccommon.ccpu.hcyrix.chypervisor.cintel.cintel_cacheinfo.cintel_rdt.cintel_rdt_rdtgroup.cintel_rdt_schemata.cmatch.cmcheckMakefiledev-mcelog.cmce-apei.cmce-genpool.cmce-inject.cmce-internal.hmce-severity.cmce.cmce_amd.cmce_intel.cp5.ctherm_throt.cthreshold.cwinchip.cmicrocodeMakefileamd.ccore.cintel.cmkcapflags.shmshyperv.cmtrrMakefileamd.ccentaur.ccleanup.ccyrix.cgeneric.cif.cmain.cmtrr.hperfctr-watchdog.cpowerflags.cproc.crdrand.cscattered.ctopology.ctransmeta.cumc.cvmware.ccpuid.ccrash.ccrash_dump_32.ccrash_dump_64.cdevicetree.cdoublefault.cdumpstack.cdumpstack_32.cdumpstack_64.ce820.cearly-quirks.cearly_printk.cebda.cespfix_64.cfpuMakefilebugs.ccore.cinit.cregset.csignal.cxstate.cftrace.cftrace_32.Sftrace_64.Shead32.chead64.chead_32.Shead_64.Shpet.chw_breakpoint.ci8237.ci8253.ci8259.cio_delay.cioport.cirq.cirq_32.cirq_64.cirq_work.cirqinit.citmt.cjump_label.ckdebugfs.ckexec-bzimage64.ckgdb.ckprobesMakefilecommon.hcore.cftrace.copt.cksysfs.ckvm.ckvmclock.cldt.clivepatch.cmachine_kexec_32.cmachine_kexec_64.cmmconf-fam10h_64.cmodule.cmpparse.cmsr.cnmi.cnmi_selftest.cparavirt-spinlocks.cparavirt.cparavirt_patch_32.cparavirt_patch_64.cpci-calgary_64.cpci-dma.cpci-iommu_table.cpci-nommu.cpci-swiotlb.cpcspeaker.cperf_regs.cplatform-quirks.cpmem.cprobe_roms.cprocess.cprocess_32.cprocess_64.cptrace.cpvclock.cquirks.creboot.creboot_fixups_32.crelocate_kernel_32.Srelocate_kernel_64.Sresource.crtc.csetup.csetup_percpu.csignal.csignal_compat.csmp.csmpboot.cstacktrace.cstep.csys_x86_64.csysfb.csysfb_efi.csysfb_simplefb.ctboot.ctce_64.ctime.ctls.ctls.htopology.ctrace_clock.ctracepoint.ctraps.ctsc.ctsc_msr.ctsc_sync.cunwind_frame.cunwind_guess.cuprobes.cverify_cpu.Svm86_32.cvmlinux.lds.Svsmp_64.cx86_init.ckvmKconfigMakefilecpuid.ccpuid.hdebugfs.cemulate.chyperv.chyperv.hi8254.ci8254.hi8259.cioapic.cioapic.hirq.cirq.hirq_comm.ckvm_cache_regs.hlapic.clapic.hmmu.cmmu.hmmu_audit.cmmutrace.hmtrr.cpage_track.cpaging_tmpl.hpmu.cpmu.hpmu_amd.cpmu_intel.csvm.ctrace.htss.hvmx.cx86.cx86.hlguestKconfigMakefileboot.chead_32.SlibMakefileatomic64_32.catomic64_386_32.Satomic64_cx8_32.Scache-smp.cchecksum_32.Sclear_page_64.Scmdline.ccmpxchg16b_emu.Scmpxchg8b_emu.Scopy_page_64.Scopy_user_64.Scpu.ccsum-copy_64.Scsum-partial_64.ccsum-wrappers_64.cdelay.cgetuser.Shweight.Sinat.cinsn.ciomap_copy_64.Skaslr.cmemcpy_32.cmemcpy_64.Smemmove_64.Smemset_64.Smisc.cmmx_32.cmsr-reg-export.cmsr-reg.Smsr-smp.cmsr.cputuser.Srwsem.Sstring_32.cstrstr_32.cusercopy.cusercopy_32.cusercopy_64.cx86-opcode-map.txtmath-emuMakefileREADMEcontrol_w.hdiv_Xsig.Sdiv_small.Serrors.cexception.hfpu_arith.cfpu_asm.hfpu_aux.cfpu_emu.hfpu_entry.cfpu_etc.cfpu_proto.hfpu_system.hfpu_tags.cfpu_trig.cget_address.cload_store.cmul_Xsig.Spoly.hpoly_2xm1.cpoly_atan.cpoly_l2.cpoly_sin.cpoly_tan.cpolynom_Xsig.Sreg_add_sub.creg_compare.creg_constant.creg_constant.hreg_convert.creg_divide.creg_ld_str.creg_mul.creg_norm.Sreg_round.Sreg_u_add.Sreg_u_div.Sreg_u_mul.Sreg_u_sub.Sround_Xsig.Sshr_Xsig.Sstatus_w.hversion.hwm_shrx.Swm_sqrt.SmmMakefileamdtopology.cdebug_pagetables.cdump_pagetables.cextable.cfault.cgup.chighmem_32.chugetlbpage.cident_map.cinit.cinit_32.cinit_64.ciomap_32.cioremap.ckasan_init_64.ckaslr.ckmemcheckMakefileerror.cerror.hkmemcheck.copcode.copcode.hpte.cpte.hselftest.cselftest.hshadow.cshadow.hkmmio.cmm_internal.hmmap.cmmio-mod.cmpx.cnuma.cnuma_32.cnuma_64.cnuma_emulation.cnuma_internal.hpageattr-test.cpageattr.cpat.cpat_internal.hpat_rbtree.cpf_in.cpf_in.hpgtable.cpgtable_32.cphysaddr.cphysaddr.hpkeys.csetup_nx.csrat.ctestmmiotrace.ctlb.cnetMakefilebpf_jit.Sbpf_jit_comp.coprofileMakefilebacktrace.cinit.cnmi_int.cop_counter.hop_model_amd.cop_model_p4.cop_model_ppro.cop_x86_model.hpciMakefileacpi.camd_bus.cbroadcom_bus.cbus_numa.cbus_numa.hce4100.ccommon.cdirect.cearly.cfixup.ci386.cinit.cintel_mid_pci.cirq.clegacy.cmmconfig-shared.cmmconfig_32.cmmconfig_64.cnumachip.colpc.cpcbios.csta2x11-fixup.cxen.cplatformMakefileatomMakefilepunit_atom_debug.cce4100Makefilece4100.cfalconfalls.dtsefiMakefileearly_printk.cefi.cefi_32.cefi_64.cefi_stub_32.Sefi_stub_64.Sefi_thunk_64.Squirks.cgeodeMakefilealix.cgeos.cnet5501.cgoldfishMakefilegoldfish.cintelintel-midMakefiledevice_libsMakefileplatform_bcm43xx.cplatform_bma023.cplatform_bt.cplatform_emc1403.cplatform_gpio_keys.cplatform_lis331.cplatform_max7315.cplatform_mpu3050.cplatform_mrfld_pinctrl.cplatform_mrfld_power_btn.cplatform_mrfld_rtc.cplatform_mrfld_sd.cplatform_mrfld_spidev.cplatform_mrfld_wdt.cplatform_msic.cplatform_msic.hplatform_msic_audio.cplatform_msic_battery.cplatform_msic_gpio.cplatform_msic_ocd.cplatform_msic_power_btn.cplatform_msic_thermal.cplatform_pcal9555a.cplatform_tc35876x.cplatform_tca6416.cintel-mid.cintel_mid_vrtc.cintel_mid_weak_decls.hmfld.cmrfld.cpwr.csfi.cintel-quarkMakefileimr.cimr_selftest.cMakefileiosf_mbi.cirisMakefileiris.colpcMakefileolpc-xo1-pm.colpc-xo1-rtc.colpc-xo1-sci.colpc-xo15-sci.colpc.colpc_dt.colpc_ofw.cxo1-wakeup.Sscx200Makefilescx200_32.csfiMakefilesfi.cts5500Makefilets5500.cuvMakefilebios_uv.ctlb_uv.cuv_irq.cuv_nmi.cuv_sysfs.cuv_time.cpowerMakefilecpu.chibernate_32.chibernate_64.chibernate_asm_32.Shibernate_asm_64.SpurgatoryMakefileentry64.Spurgatory.csetup-x86_64.Ssha256.csha256.hstack.Sstring.crasKconfigMakefilemce_amd_inj.crealmodeMakefileinit.crmMakefilebioscall.Scopy.Sheader.Srealmode.hrealmode.lds.Sreboot.Sregs.cstack.Strampoline_32.Strampoline_64.Strampoline_common.Svideo-bios.cvideo-mode.cvideo-vesa.cvideo-vga.cwakemain.cwakeup.hwakeup_asm.Srmpiggy.StoolsMakefilechkobjdump.awkdistill.awkgen-insn-attr-x86.awkinsn_sanity.crelocs.crelocs.hrelocs_32.crelocs_64.crelocs_common.ctest_get_len.cumKconfigMakefileasmapic.harch_hweight.harchparam.hbarrier.hchecksum.hchecksum_32.hchecksum_64.hdesc.helf.hirq_vectors.hmm_context.hmodule.hprocessor.hprocessor_32.hprocessor_64.hptrace.hrequired-features.hsegment.hsyscall.hvm-flags.hbugs_32.cbugs_64.cchecksum_32.Sdelay.celfcore.cfault.cldt.cmem_32.cmem_64.cos-LinuxMakefilemcontext.cprctl.cregisters.ctask_size.ctls.cptrace_32.cptrace_64.cptrace_user.csetjmp_32.Ssetjmp_64.Ssharedsysdeparchsetjmp.harchsetjmp_32.harchsetjmp_64.hfaultinfo.hfaultinfo_32.hfaultinfo_64.hkernel-offsets.hmcontext.hptrace.hptrace_32.hptrace_64.hptrace_user.hstub.hstub_32.hstub_64.hsyscalls.hsyscalls_32.hsyscalls_64.htls.hsignal.cstub_32.Sstub_64.Sstub_segv.csys_call_table_32.csys_call_table_64.csyscalls_32.csyscalls_64.csysrq_32.csysrq_64.ctls_32.ctls_64.cuser-offsets.cvdsoMakefilecheckundef.shum_vdso.cvdso-layout.lds.Svdso-note.Svdso.Svdso.lds.Svma.cvideoMakefilefbdev.cxenKconfigMakefileapic.cdebugfs.cdebugfs.hefi.cenlighten.cenlighten_hvm.cenlighten_pv.cenlighten_pvh.cgrant-table.cirq.cmmu.cmmu.hmmu_hvm.cmmu_pv.cmulticalls.cmulticalls.hp2m.cpci-swiotlb-xen.cplatform-pci-unplug.cpmu.cpmu.hsetup.csmp.csmp.hsmp_hvm.csmp_pv.cspinlock.csuspend.csuspend_hvm.csuspend_pv.ctime.ctrace.cvdso.hvga.cxen-asm.Sxen-asm.hxen-asm_32.Sxen-asm_64.Sxen-head.Sxen-ops.hxen-pvh.SxtensaKconfigKconfig.debugMakefilebootMakefileboot-elfMakefileboot.lds.Sbootstrap.Sboot-redbootMakefileboot.ldbootstrap.SdtsMakefilecsp.dtskc705.dtskc705_nommu.dtslx200mx.dtslx60.dtsml605.dtsxtfpga-flash-128m.dtsixtfpga-flash-16m.dtsixtfpga-flash-4m.dtsixtfpga.dtsilibMakefilezmem.cconfigsaudio_kc705_defconfigcadence_csp_defconfigcommon_defconfiggeneric_kc705_defconfigiss_defconfignommu_kc705_defconfigsmp_lx200_defconfigincludeasmKbuildasm-offsets.hasm-uaccess.hasmmacro.hatomic.hbarrier.hbitops.hbootparam.hbugs.hcache.hcacheasm.hcacheflush.hchecksum.hcmpxchg.hcoprocessor.hcurrent.hdelay.hdevice.hdma-mapping.hdma.helf.hfb.hfixmap.hflat.hftrace.hfutex.hhighmem.hhw_breakpoint.hhw_irq.hinitialize_mmu.hio.hirq.hirqflags.hkmem_layout.hmmu.hmmu_context.hmodule.hmxregs.hnommu_context.hpage.hparam.hpci-bridge.hpci.hperf_event.hpgalloc.hpgtable.hplatform.hprocessor.hptrace.hregs.hsegment.hserial.hshmparam.hsignal.hsmp.hspinlock.hspinlock_types.hstacktrace.hstring.hswitch_to.hsyscall.hsysmem.hthread_info.htimex.htlb.htlbflush.htraps.htypes.huaccess.hucontext.hunaligned.hunistd.huser.hvectors.hvga.huapiasmKbuildauxvec.hbyteorder.hioctls.hipcbuf.hmman.hmsgbuf.hparam.hpoll.hposix_types.hptrace.hsembuf.hsetup.hshmbuf.hsigcontext.hsignal.hsocket.hsockios.hstat.hswab.htermbits.htypes.hunistd.hkernelMakefilealign.Sasm-offsets.ccoprocessor.Sentry.Shead.Shw_breakpoint.cirq.cmcount.Smodule.cmxhead.Spci-dma.cpci.cperf_event.cplatform.cprocess.cptrace.cs32c1i_selftest.csetup.csignal.csmp.cstacktrace.csyscall.ctime.ctraps.cvectors.Svmlinux.lds.Sxtensa_ksyms.clibMakefilechecksum.Smemcopy.Smemset.Spci-auto.cstrncpy_user.Sstrnlen_user.Susercopy.SmmMakefilecache.cfault.chighmem.cinit.cioremap.cmisc.Smmu.ctlb.coprofileMakefilebacktrace.cinit.cplatformsissMakefileconsole.cincludeplatformhardware.hserial.hsimcall.hnetwork.csetup.csimdisk.cxt2000Makefileincludeplatformhardware.hserial.hsetup.cxtfpgaMakefileincludeplatformhardware.hlcd.hserial.hlcd.csetup.cvariantscspincludevariantcore.htie-asm.htie.hdc232bincludevariantcore.htie-asm.htie.hdc233cincludevariantcore.htie-asm.htie.hde212includevariantcore.htie-asm.htie.hfsfincludevariantcore.htie-asm.htie.htest_kc705_hifiincludevariantcore.htie-asm.htie.htest_mmuhifi_c3includevariantcore.htie-asm.htie.hblockKconfigKconfig.ioschedMakefilebadblocks.cbfq-cgroup.cbfq-iosched.cbfq-iosched.hbfq-wf2q.cbio-integrity.cbio.cblk-cgroup.cblk-core.cblk-exec.cblk-flush.cblk-integrity.cblk-ioc.cblk-lib.cblk-map.cblk-merge.cblk-mq-cpumap.cblk-mq-debugfs.cblk-mq-debugfs.hblk-mq-pci.cblk-mq-sched.cblk-mq-sched.hblk-mq-sysfs.cblk-mq-tag.cblk-mq-tag.hblk-mq-virtio.cblk-mq.cblk-mq.hblk-settings.cblk-softirq.cblk-stat.cblk-stat.hblk-sysfs.cblk-tag.cblk-throttle.cblk-timeout.cblk-wbt.cblk-wbt.hblk-zoned.cblk.hbounce.cbsg-lib.cbsg.ccfq-iosched.ccmdline-parser.ccompat_ioctl.cdeadline-iosched.celevator.cgenhd.cioctl.cioprio.ckyber-iosched.cmq-deadline.cnoop-iosched.copal_proto.hpartition-generic.cpartitionsKconfigMakefileacorn.cacorn.haix.caix.hamiga.camiga.hatari.catari.hcheck.ccheck.hcmdline.ccmdline.hefi.cefi.hibm.cibm.hkarma.ckarma.hldm.cldm.hmac.cmac.hmsdos.cmsdos.hosf.cosf.hsgi.csgi.hsun.csun.hsysv68.csysv68.hultrix.cultrix.hscsi_ioctl.csed-opal.ct10-pi.ccertsKconfigMakefileblacklist.cblacklist.hblacklist_hashes.cblacklist_nohashes.csystem_certificates.Ssystem_keyring.ccrypto842.cKconfigMakefileablk_helper.cablkcipher.cacompress.caead.caes_generic.caes_ti.caf_alg.cahash.cakcipher.calgapi.calgboss.calgif_aead.calgif_hash.calgif_rng.calgif_skcipher.cansi_cprng.canubis.capi.carc4.casymmetric_keysKconfigMakefileasymmetric_keys.hasymmetric_type.cmscode.asn1mscode_parser.cpkcs7.asn1pkcs7_key_type.cpkcs7_parser.cpkcs7_parser.hpkcs7_trust.cpkcs7_verify.cpublic_key.crestrict.csignature.cverify_pefile.cverify_pefile.hx509.asn1x509_akid.asn1x509_cert_parser.cx509_parser.hx509_public_key.casync_txKconfigMakefileasync_memcpy.casync_pq.casync_raid6_recov.casync_tx.casync_xor.craid6test.cauthenc.cauthencesn.cblkcipher.cblowfish_common.cblowfish_generic.ccamellia_generic.ccast5_generic.ccast6_generic.ccast_common.ccbc.cccm.cchacha20_generic.cchacha20poly1305.ccipher.ccmac.ccompress.ccrc32_generic.ccrc32c_generic.ccrct10dif_common.ccrct10dif_generic.ccryptd.ccrypto_engine.ccrypto_null.ccrypto_user.ccrypto_wq.cctr.ccts.cdeflate.cdes_generic.cdh.cdh_helper.cdrbg.cecb.cecc.cecc.hecc_curve_defs.hecdh.cecdh_helper.cechainiv.cfcrypt.cfips.cgcm.cgf128mul.cghash-generic.chash_info.chmac.cinternal.hjitterentropy-kcapi.cjitterentropy.ckeywrap.ckhazad.ckpp.clrw.clz4.clz4hc.clzo.cmcryptd.cmd4.cmd5.cmemneq.cmichael_mic.cpcbc.cpcrypt.cpoly1305_generic.cproc.cripemd.hrmd128.crmd160.crmd256.crmd320.crng.crsa-pkcs1pad.crsa.crsa_helper.crsaprivkey.asn1rsapubkey.asn1salsa20_generic.cscatterwalk.cscompress.cseed.cseqiv.cserpent_generic.csha1_generic.csha256_generic.csha3_generic.csha512_generic.cshash.csimd.cskcipher.ctcrypt.ctcrypt.htea.ctestmgr.ctestmgr.htgr192.ctwofish_common.ctwofish_generic.cvmac.cwp512.cxcbc.cxor.cxts.cdriversKconfigMakefileaccessibilityKconfigMakefilebrailleMakefilebraille_console.cacpiKconfigMakefileac.cacpi_amba.cacpi_apd.cacpi_cmos_rtc.cacpi_configfs.cacpi_dbg.cacpi_extlog.cacpi_ipmi.cacpi_lpat.cacpi_lpss.cacpi_memhotplug.cacpi_pad.cacpi_platform.cacpi_pnp.cacpi_processor.cacpi_video.cacpi_watchdog.cacpicaMakefileacapps.haccommon.hacconvert.hacdebug.hacdispat.hacevents.hacglobal.hachware.hacinterp.haclocal.hacmacros.hacnamesp.hacobject.hacopcode.hacparser.hacpredef.hacresrc.hacstruct.hactables.hacutils.hamlcode.hamlresrc.hdbcmds.cdbconvert.cdbdisply.cdbexec.cdbfileio.cdbhistry.cdbinput.cdbmethod.cdbnames.cdbobject.cdbstats.cdbtest.cdbutils.cdbxface.cdsargs.cdscontrol.cdsdebug.cdsfield.cdsinit.cdsmethod.cdsmthdat.cdsobject.cdsopcode.cdsutils.cdswexec.cdswload.cdswload2.cdswscope.cdswstate.cevevent.cevglock.cevgpe.cevgpeblk.cevgpeinit.cevgpeutil.cevhandler.cevmisc.cevregion.cevrgnini.cevsci.cevxface.cevxfevnt.cevxfgpe.cevxfregn.cexconcat.cexconfig.cexconvrt.cexcreate.cexdebug.cexdump.cexfield.cexfldio.cexmisc.cexmutex.cexnames.cexoparg1.cexoparg2.cexoparg3.cexoparg6.cexprep.cexregion.cexresnte.cexresolv.cexresop.cexstore.cexstoren.cexstorob.cexsystem.cextrace.cexutils.chwacpi.chwesleep.chwgpe.chwpci.chwregs.chwsleep.chwtimer.chwvalid.chwxface.chwxfsleep.cnsaccess.cnsalloc.cnsarguments.cnsconvert.cnsdump.cnsdumpdv.cnseval.cnsinit.cnsload.cnsnames.cnsobject.cnsparse.cnspredef.cnsprepkg.cnsrepair.cnsrepair2.cnssearch.cnsutils.cnswalk.cnsxfeval.cnsxfname.cnsxfobj.cpsargs.cpsloop.cpsobject.cpsopcode.cpsopinfo.cpsparse.cpsscope.cpstree.cpsutils.cpswalk.cpsxface.crsaddr.crscalc.crscreate.crsdump.crsdumpinfo.crsinfo.crsio.crsirq.crslist.crsmemory.crsmisc.crsserial.crsutils.crsxface.ctbdata.ctbfadt.ctbfind.ctbinstal.ctbprint.ctbutils.ctbxface.ctbxfload.ctbxfroot.cutaddress.cutalloc.cutascii.cutbuffer.cutcache.cutcopy.cutdebug.cutdecode.cutdelete.cuterror.cuteval.cutexcep.cutglobal.cuthex.cutids.cutinit.cutlock.cutmath.cutmisc.cutmutex.cutnonansi.cutobject.cutosi.cutownerid.cutpredef.cutprint.cutresrc.cutstate.cutstring.cutstrtoul64.cuttrack.cutuuid.cutxface.cutxferror.cutxfinit.cutxfmutex.capeiKconfigMakefileapei-base.capei-internal.hbert.ceinj.cerst-dbg.cerst.cghes.chest.carm64KconfigMakefilegtdt.ciort.cbattery.cbattery.hbgrt.cblacklist.cbus.cbutton.ccm_sbs.ccontainer.ccppc_acpi.ccustom_method.cdebugfs.cdevice_pm.cdevice_sysfs.cdock.cdptfKconfigMakefiledptf_power.cint340x_thermal.cec.cec_sys.cevent.cevged.cfan.cglue.ched.cinternal.hioapic.cirq.cnfitKconfigMakefilecore.cmce.cnfit.hnuma.cnvs.cosi.cosl.cpci_irq.cpci_link.cpci_mcfg.cpci_root.cpci_slot.cpmicintel_pmic.cintel_pmic.hintel_pmic_bxtwc.cintel_pmic_chtwc.cintel_pmic_crc.cintel_pmic_xpower.cpower.cproc.cprocessor_core.cprocessor_driver.cprocessor_idle.cprocessor_pdc.cprocessor_perflib.cprocessor_thermal.cprocessor_throttling.cproperty.creboot.cresource.csbs.csbshc.csbshc.hscan.csleep.csleep.hspcr.csysfs.ctables.cthermal.cutils.cvideo_detect.cwakeup.cx86utils.cambaKconfigMakefilebus.ctegra-ahb.candroidKconfigMakefilebinder.cbinder_trace.hataKconfigMakefileacard-ahci.cahci.cahci.hahci_brcm.cahci_ceva.cahci_da850.cahci_dm816.cahci_imx.cahci_mvebu.cahci_octeon.cahci_platform.cahci_qoriq.cahci_seattle.cahci_st.cahci_sunxi.cahci_tegra.cahci_xgene.cata_generic.cata_piix.clibahci.clibahci_platform.clibata-acpi.clibata-core.clibata-eh.clibata-pmp.clibata-scsi.clibata-sff.clibata-trace.clibata-transport.clibata-transport.hlibata-zpodd.clibata.hpata_acpi.cpata_ali.cpata_amd.cpata_arasan_cf.cpata_artop.cpata_at32.cpata_atiixp.cpata_atp867x.cpata_bf54x.cpata_bk3710.cpata_cmd640.cpata_cmd64x.cpata_cs5520.cpata_cs5530.cpata_cs5535.cpata_cs5536.cpata_cypress.cpata_efar.cpata_ep93xx.cpata_falcon.cpata_hpt366.cpata_hpt37x.cpata_hpt3x2n.cpata_hpt3x3.cpata_icside.cpata_imx.cpata_isapnp.cpata_it8213.cpata_it821x.cpata_ixp4xx_cf.cpata_jmicron.cpata_legacy.cpata_macio.cpata_marvell.cpata_mpc52xx.cpata_mpiix.cpata_netcell.cpata_ninja32.cpata_ns87410.cpata_ns87415.cpata_octeon_cf.cpata_of_platform.cpata_oldpiix.cpata_opti.cpata_optidma.cpata_palmld.cpata_pcmcia.cpata_pdc2027x.cpata_pdc202xx_old.cpata_piccolo.cpata_platform.cpata_pxa.cpata_radisys.cpata_rb532_cf.cpata_rdc.cpata_rz1000.cpata_samsung_cf.cpata_sc1200.cpata_sch.cpata_serverworks.cpata_sil680.cpata_sis.cpata_sl82c105.cpata_triflex.cpata_via.cpdc_adma.csata_dwc_460ex.csata_fsl.csata_highbank.csata_inic162x.csata_mv.csata_nv.csata_promise.csata_promise.hsata_qstor.csata_rcar.csata_sil.csata_sil24.csata_sis.csata_svw.csata_sx4.csata_uli.csata_via.csata_vsc.csis.hatmKconfigMakefileadummy.cambassador.cambassador.hatmtcp.ceni.ceni.hfirestream.cfirestream.hfore200e.cfore200e.hhe.che.hhorizon.chorizon.hidt77105.cidt77105.hidt77252.cidt77252.hidt77252_tables.hiphase.ciphase.hlanai.cmidway.hnicstar.cnicstar.hnicstarmac.cnicstarmac.copyrightsolos-attrlist.csolos-pci.csuni.csuni.htonga.huPD98401.huPD98402.cuPD98402.hzatm.czatm.hzeprom.hauxdisplayKconfigMakefilearm-charlcd.ccfag12864b.ccfag12864bfb.ccharlcd.chd44780.cht16k33.cimg-ascii-lcd.cks0108.cpanel.cbaseKconfigMakefileattribute_container.cbase.hbus.ccacheinfo.cclass.ccomponent.ccontainer.ccore.ccpu.cdd.cdevcoredump.cdevres.cdevtmpfs.cdma-coherent.cdma-contiguous.cdma-mapping.cdriver.cfirmware.cfirmware_class.chypervisor.cinit.cisa.cmap.cmemory.cmodule.cnode.cpinctrl.cplatform-msi.cplatform.cpowerMakefileclock_ops.ccommon.cdomain.cdomain_governor.cgeneric_ops.cmain.coppMakefilecore.ccpu.cdebugfs.cof.copp.hpower.hqos.cruntime.csysfs.ctrace.cwakeirq.cwakeup.cproperty.cregmapKconfigMakefileinternal.hregcache-flat.cregcache-lzo.cregcache-rbtree.cregcache.cregmap-ac97.cregmap-debugfs.cregmap-i2c.cregmap-irq.cregmap-mmio.cregmap-spi.cregmap-spmi.cregmap.ctrace.hsoc.csyscore.ctestKconfigMakefiletest_async_driver_probe.ctopology.ctransport_class.cbcmaKconfigMakefileREADMETODObcma_private.hcore.cdriver_chipcommon.cdriver_chipcommon_b.cdriver_chipcommon_nflash.cdriver_chipcommon_pflash.cdriver_chipcommon_pmu.cdriver_chipcommon_sflash.cdriver_gmac_cmn.cdriver_gpio.cdriver_mips.cdriver_pci.cdriver_pci_host.cdriver_pcie2.chost_pci.chost_soc.cmain.cscan.cscan.hsprom.cblockDAC960.cDAC960.hKconfigMakefileamiflop.caoeMakefileaoe.haoeblk.caoechr.caoecmd.caoedev.caoemain.caoenet.cataflop.cbrd.ccciss.ccciss.hcciss_cmd.hcciss_scsi.ccciss_scsi.hcryptoloop.cdrbdKconfigMakefiledrbd_actlog.cdrbd_bitmap.cdrbd_debugfs.cdrbd_debugfs.hdrbd_int.hdrbd_interval.cdrbd_interval.hdrbd_main.cdrbd_nl.cdrbd_nla.cdrbd_nla.hdrbd_proc.cdrbd_protocol.hdrbd_receiver.cdrbd_req.cdrbd_req.hdrbd_state.cdrbd_state.hdrbd_state_change.hdrbd_strings.cdrbd_strings.hdrbd_vli.hdrbd_worker.cfloppy.cloop.cloop.hmtip32xxKconfigMakefilemtip32xx.cmtip32xx.hnbd.cnull_blk.cparideKconfigMakefileTransition-notesaten.cbpck.cbpck6.ccomm.cdstr.cepat.cepia.cfit2.cfit3.cfriq.cfrpw.ckbic.cktti.cmkdon20.con26.cparide.cparide.hpcd.cpd.cpf.cpg.cppc6lnx.cpseudo.hpt.cpktcdvd.cps3disk.cps3vram.crbd.crbd_types.hrsxxMakefileconfig.ccore.ccregs.cdev.cdma.crsxx.hrsxx_cfg.hrsxx_priv.hskd_main.cskd_s1120.hsmart1,2.hsunvdc.cswim.cswim3.cswim_asm.Ssx8.cumem.cumem.hvirtio_blk.cxen-blkbackMakefileblkback.ccommon.hxenbus.cxen-blkfront.cxsysace.cz2ram.czramKconfigMakefilezcomp.czcomp.hzram_drv.czram_drv.hbluetoothKconfigMakefileath3k.cbcm203x.cbfusb.cbluecard_cs.cbpa10x.cbt3c_cs.cbtbcm.cbtbcm.hbtintel.cbtintel.hbtmrvl_debugfs.cbtmrvl_drv.hbtmrvl_main.cbtmrvl_sdio.cbtmrvl_sdio.hbtqca.cbtqca.hbtqcomsmd.cbtrtl.cbtrtl.hbtsdio.cbtuart_cs.cbtusb.cbtwilink.cdtl1_cs.chci_ag6xx.chci_ath.chci_bcm.chci_bcsp.chci_h4.chci_h5.chci_intel.chci_ldisc.chci_ll.chci_mrvl.chci_nokia.chci_qca.chci_serdev.chci_uart.hhci_vhci.cbusKconfigMakefilearm-cci.carm-ccn.cbrcmstb_gisb.cda8xx-mstpri.cimx-weim.cmips_cdmm.cmvebu-mbus.comap-ocp2scp.comap_l3_noc.comap_l3_noc.homap_l3_smx.comap_l3_smx.hqcom-ebi2.csimple-pm-bus.csunxi-rsb.ctegra-aconnect.ctegra-gmi.cuniphier-system-bus.cvexpress-config.ccdromMakefilecdrom.cgdrom.ccharKconfigMakefileagpKconfigMakefileagp.hali-agp.calpha-agp.camd-k7-agp.camd64-agp.cati-agp.cbackend.ccompat_ioctl.ccompat_ioctl.hefficeon-agp.cfrontend.cgeneric.chp-agp.ci460-agp.cintel-agp.cintel-agp.hintel-gtt.cisoch.cnvidia-agp.cparisc-agp.csgi-agp.csis-agp.csworks-agp.cuninorth-agp.cvia-agp.capm-emulation.capplicom.capplicom.hbfin-otp.cbsr.cds1302.cds1620.cdsp56k.cdtlk.cefirtc.cgeneric_nvram.changcheck-timer.chpet.chw_randomKconfigMakefileamd-rng.catmel-rng.cbcm2835-rng.cbcm63xx-rng.ccavium-rng-vf.ccavium-rng.ccore.cgeode-rng.chisi-rng.cintel-rng.ciproc-rng200.cixp4xx-rng.cmeson-rng.cmsm-rng.cmtk-rng.cmxc-rnga.cn2-asm.Sn2-drv.cn2rng.hnomadik-rng.cocteon-rng.comap-rng.comap3-rom-rng.cpasemi-rng.cpic32-rng.cpowernv-rng.cpseries-rng.cs390-trng.cst-rng.cstm32-rng.ctimeriomem-rng.ctpm-rng.ctx4939-rng.cvia-rng.cvirtio-rng.cxgene-rng.cipmiKconfigMakefilebt-bmc.cipmi_bt_sm.cipmi_devintf.cipmi_kcs_sm.cipmi_msghandler.cipmi_powernv.cipmi_poweroff.cipmi_si_intf.cipmi_si_sm.hipmi_smic_sm.cipmi_ssif.cipmi_watchdog.clp.cmbcs.cmbcs.hmem.cmisc.cmmtimer.cmspec.cmwave3780i.c3780i.hMakefileREADMEmwavedd.cmwavedd.hmwavepub.hsmapi.csmapi.htp3780i.ctp3780i.hnsc_gpio.cnvram.cnwbutton.cnwbutton.hnwflash.cpc8736x_gpio.cpcmciaKconfigMakefilecm4000_cs.ccm4040_cs.ccm4040_cs.hscr24x_cs.csynclink_cs.cpowernv-op-panel.cppdev.cps3flash.crandom.craw.crtc.cscx200_gpio.csnsc.csnsc.hsnsc_event.csonypi.ctb0219.ctile-srom.ctlclk.ctoshiba.ctpmKconfigMakefilest33zp24KconfigMakefilei2c.cspi.cst33zp24.cst33zp24.htpm-chip.ctpm-dev-common.ctpm-dev.ctpm-dev.htpm-interface.ctpm-sysfs.ctpm.htpm1_eventlog.ctpm2-cmd.ctpm2-space.ctpm2_eventlog.ctpm_acpi.ctpm_atmel.ctpm_atmel.htpm_crb.ctpm_eventlog.htpm_i2c_atmel.ctpm_i2c_infineon.ctpm_i2c_nuvoton.ctpm_ibmvtpm.ctpm_ibmvtpm.htpm_infineon.ctpm_nsc.ctpm_of.ctpm_ppi.ctpm_tis.ctpm_tis_core.ctpm_tis_core.htpm_tis_spi.ctpm_vtpm_proxy.ctpmrm-dev.cxen-tpmfront.cttyprintk.cuv_mmtimer.cvirtio_console.cxilinx_hwicapMakefilebuffer_icap.cbuffer_icap.hfifo_icap.cfifo_icap.hxilinx_hwicap.cxilinx_hwicap.hxillybusKconfigMakefilexillybus.hxillybus_core.cxillybus_of.cxillybus_pcie.cclkKconfigMakefileat91Makefileclk-generated.cclk-h32mx.cclk-main.cclk-master.cclk-peripheral.cclk-pll.cclk-plldiv.cclk-programmable.cclk-slow.cclk-smd.cclk-system.cclk-usb.cclk-utmi.cpmc.cpmc.hsckc.caxisMakefileclk-artpec6.caxs10xMakefilei2s_pll_clock.cbcmKconfigMakefileclk-bcm21664.cclk-bcm281xx.cclk-bcm2835-aux.cclk-bcm2835.cclk-bcm53573-ilp.cclk-bcm63xx.cclk-cygnus.cclk-iproc-armpll.cclk-iproc-asiu.cclk-iproc-pll.cclk-iproc.hclk-kona-setup.cclk-kona.cclk-kona.hclk-ns2.cclk-nsp.cberlinMakefileberlin2-avpll.cberlin2-avpll.hberlin2-div.cberlin2-div.hberlin2-pll.cberlin2-pll.hbg2.cbg2q.ccommon.hclk-asm9260.cclk-axi-clkgen.cclk-axm5516.cclk-cdce706.cclk-cdce925.cclk-clps711x.cclk-composite.cclk-conf.cclk-cs2000-cp.cclk-devres.cclk-divider.cclk-efm32gg.cclk-fixed-factor.cclk-fixed-rate.cclk-fractional-divider.cclk-gate.cclk-gpio.cclk-hi655x.cclk-highbank.cclk-max77686.cclk-mb86s7x.cclk-moxart.cclk-multiplier.cclk-mux.cclk-nomadik.cclk-nspire.cclk-oxnas.cclk-palmas.cclk-pwm.cclk-qoriq.cclk-rk808.cclk-s2mps11.cclk-scpi.cclk-si514.cclk-si5351.cclk-si5351.hclk-si570.cclk-stm32f4.cclk-tango4.cclk-twl6040.cclk-u300.cclk-versaclock5.cclk-vt8500.cclk-wm831x.cclk-xgene.cclk.cclk.hclkdev.ch8300Makefileclk-div.cclk-h8s2678.chisiliconKconfigMakefileclk-hi3519.cclk-hi3620.cclk-hi3660.cclk-hi6220-stub.cclk-hi6220.cclk-hip04.cclk-hix5hd2.cclk.cclk.hclkdivider-hi6220.cclkgate-separated.ccrg-hi3516cv300.ccrg-hi3798cv200.ccrg.hreset.creset.himxMakefileclk-busy.cclk-cpu.cclk-fixup-div.cclk-fixup-mux.cclk-gate-exclusive.cclk-gate2.cclk-imx1.cclk-imx21.cclk-imx25.cclk-imx27.cclk-imx31.cclk-imx35.cclk-imx51-imx53.cclk-imx6q.cclk-imx6sl.cclk-imx6sx.cclk-imx6ul.cclk-imx7d.cclk-pfd.cclk-pllv1.cclk-pllv2.cclk-pllv3.cclk-vf610.cclk.cclk.hingenicMakefilecgu.ccgu.hjz4740-cgu.cjz4780-cgu.ckeystoneMakefilegate.cpll.cloongson1Makefileclk-loongson1b.cclk-loongson1c.cclk.cclk.hmediatekKconfigMakefileclk-apmixed.cclk-gate.cclk-gate.hclk-mt2701-bdp.cclk-mt2701-eth.cclk-mt2701-hif.cclk-mt2701-img.cclk-mt2701-mm.cclk-mt2701-vdec.cclk-mt2701.cclk-mt6797-img.cclk-mt6797-mm.cclk-mt6797-vdec.cclk-mt6797-venc.cclk-mt6797.cclk-mt8135.cclk-mt8173.cclk-mtk.cclk-mtk.hclk-pll.creset.cmesonKconfigMakefileclk-audio-divider.cclk-cpu.cclk-mpll.cclk-pll.cclkc.hgxbb-aoclk.cgxbb.cgxbb.hmeson8b.cmeson8b.hmicrochipMakefileclk-core.cclk-core.hclk-pic32mzda.cmmpMakefileclk-apbc.cclk-apmu.cclk-frac.cclk-gate.cclk-mix.cclk-mmp2.cclk-of-mmp2.cclk-of-pxa168.cclk-of-pxa1928.cclk-of-pxa910.cclk-pxa168.cclk-pxa910.cclk.cclk.hreset.creset.hmvebuKconfigMakefileap806-system-controller.carmada-370.carmada-375.carmada-37xx-periph.carmada-37xx-tbg.carmada-37xx-xtal.carmada-38x.carmada-39x.carmada-xp.cclk-corediv.cclk-cpu.ccommon.ccommon.hcp110-system-controller.cdove-divider.cdove-divider.hdove.ckirkwood.cmv98dx3236.corion.cmxsMakefileclk-div.cclk-frac.cclk-imx23.cclk-imx28.cclk-pll.cclk-ref.cclk-ssp.cclk.cclk.hnxpMakefileclk-lpc18xx-ccu.cclk-lpc18xx-cgu.cclk-lpc18xx-creg.cclk-lpc32xx.cpistachioMakefileclk-pistachio.cclk-pll.cclk.cclk.hpxaMakefileclk-pxa.cclk-pxa.hclk-pxa25x.cclk-pxa27x.cclk-pxa3xx.cqcomKconfigMakefileclk-alpha-pll.cclk-alpha-pll.hclk-branch.cclk-branch.hclk-pll.cclk-pll.hclk-rcg.cclk-rcg.hclk-rcg2.cclk-regmap-divider.cclk-regmap-divider.hclk-regmap-mux.cclk-regmap-mux.hclk-regmap.cclk-regmap.hclk-rpm.cclk-smd-rpm.ccommon.ccommon.hgcc-apq8084.cgcc-ipq4019.cgcc-ipq806x.cgcc-mdm9615.cgcc-msm8660.cgcc-msm8916.cgcc-msm8960.cgcc-msm8974.cgcc-msm8994.cgcc-msm8996.cgdsc.cgdsc.hlcc-ipq806x.clcc-mdm9615.clcc-msm8960.cmmcc-apq8084.cmmcc-msm8960.cmmcc-msm8974.cmmcc-msm8996.creset.creset.hrenesasKconfigMakefileclk-div6.cclk-div6.hclk-emev2.cclk-mstp.cclk-r8a73a4.cclk-r8a7740.cclk-r8a7778.cclk-r8a7779.cclk-rcar-gen2.cclk-rz.cclk-sh73a0.cr8a7743-cpg-mssr.cr8a7745-cpg-mssr.cr8a7795-cpg-mssr.cr8a7796-cpg-mssr.crcar-gen2-cpg.crcar-gen2-cpg.hrcar-gen3-cpg.crcar-gen3-cpg.hrenesas-cpg-mssr.crenesas-cpg-mssr.hrockchipMakefileclk-cpu.cclk-ddr.cclk-inverter.cclk-mmc-phase.cclk-muxgrf.cclk-pll.cclk-rk3036.cclk-rk3188.cclk-rk3228.cclk-rk3288.cclk-rk3328.cclk-rk3368.cclk-rk3399.cclk-rockchip.cclk-rv1108.cclk.cclk.hsoftrst.csamsungKconfigMakefileclk-cpu.cclk-cpu.hclk-exynos-audss.cclk-exynos-clkout.cclk-exynos3250.cclk-exynos4.cclk-exynos5250.cclk-exynos5260.cclk-exynos5260.hclk-exynos5410.cclk-exynos5420.cclk-exynos5433.cclk-exynos5440.cclk-exynos7.cclk-pll.cclk-pll.hclk-s3c2410-dclk.cclk-s3c2410.cclk-s3c2412.cclk-s3c2443.cclk-s3c64xx.cclk-s5pv210-audss.cclk-s5pv210.cclk.cclk.hsirfMakefileatlas6.hclk-atlas6.cclk-atlas7.cclk-common.cclk-prima2.cprima2.hsocfpgaMakefileclk-gate-a10.cclk-gate.cclk-periph-a10.cclk-periph.cclk-pll-a10.cclk-pll.cclk.cclk.hspearMakefileclk-aux-synth.cclk-frac-synth.cclk-gpt-synth.cclk-vco-pll.cclk.cclk.hspear1310_clock.cspear1340_clock.cspear3xx_clock.cspear6xx_clock.cstMakefileclk-flexgen.cclkgen-fsyn.cclkgen-mux.cclkgen-pll.cclkgen.hsunxisunxi-ngKconfigMakefileccu-sun50i-a64.cccu-sun50i-a64.hccu-sun5i.cccu-sun5i.hccu-sun6i-a31.cccu-sun6i-a31.hccu-sun8i-a23-a33.hccu-sun8i-a23.cccu-sun8i-a33.cccu-sun8i-h3.cccu-sun8i-h3.hccu-sun8i-r.cccu-sun8i-r.hccu-sun8i-v3s.cccu-sun8i-v3s.hccu-sun9i-a80-de.cccu-sun9i-a80-de.hccu-sun9i-a80-usb.cccu-sun9i-a80-usb.hccu-sun9i-a80.cccu-sun9i-a80.hccu_common.cccu_common.hccu_div.cccu_div.hccu_frac.cccu_frac.hccu_gate.cccu_gate.hccu_mp.cccu_mp.hccu_mult.cccu_mult.hccu_mux.cccu_mux.hccu_nk.cccu_nk.hccu_nkm.cccu_nkm.hccu_nkmp.cccu_nkmp.hccu_nm.cccu_nm.hccu_phase.cccu_phase.hccu_reset.cccu_reset.hMakefileclk-a10-codec.cclk-a10-hosc.cclk-a10-mod1.cclk-a10-pll2.cclk-a10-ve.cclk-a20-gmac.cclk-factors.cclk-factors.hclk-mod0.cclk-simple-gates.cclk-sun4i-display.cclk-sun4i-pll3.cclk-sun4i-tcon-ch1.cclk-sun6i-apb0-gates.cclk-sun6i-apb0.cclk-sun6i-ar100.cclk-sun8i-apb0.cclk-sun8i-bus-gates.cclk-sun8i-mbus.cclk-sun9i-core.cclk-sun9i-cpus.cclk-sun9i-mmc.cclk-sunxi.cclk-usb.ctegraKconfigMakefileclk-audio-sync.cclk-bpmp.cclk-dfll.cclk-dfll.hclk-divider.cclk-emc.cclk-id.hclk-periph-fixed.cclk-periph-gate.cclk-periph.cclk-pll-out.cclk-pll.cclk-super.cclk-tegra-audio.cclk-tegra-fixed.cclk-tegra-periph.cclk-tegra-pmc.cclk-tegra-super-gen4.cclk-tegra114.cclk-tegra124-dfll-fcpu.cclk-tegra124.cclk-tegra20.cclk-tegra210.cclk-tegra30.cclk.cclk.hcvb.ccvb.htiKconfigMakefileadpll.capll.cautoidle.cclk-2xxx.cclk-33xx.cclk-3xxx-legacy.cclk-3xxx.cclk-43xx.cclk-44xx.cclk-54xx.cclk-7xx.cclk-814x.cclk-816x.cclk-dra7-atl.cclk.cclkt_dflt.cclkt_dpll.cclkt_iclk.cclock.hclockdomain.ccomposite.cdivider.cdpll.cdpll3xxx.cdpll44xx.cfapll.cfixed-factor.cgate.cinterface.cmux.cuniphierKconfigMakefileclk-uniphier-core.cclk-uniphier-cpugear.cclk-uniphier-fixed-factor.cclk-uniphier-fixed-rate.cclk-uniphier-gate.cclk-uniphier-mio.cclk-uniphier-mux.cclk-uniphier-peri.cclk-uniphier-sys.cclk-uniphier.hux500Makefileabx500-clk.cclk-prcc.cclk-prcmu.cclk-sysctrl.cclk.hu8500_of_clk.cu8540_clk.cu9540_clk.cversatileKconfigMakefileclk-icst.cclk-icst.hclk-impd1.cclk-realview.cclk-sp810.cclk-versatile.cclk-vexpress-osc.cicst.cicst.hx86Makefileclk-lpt.cclk-pmc-atom.czteMakefileclk-zx296702.cclk-zx296718.cclk.cclk.hzynqMakefileclkc.cpll.cclocksourceKconfigMakefileacpi_pm.carc_timer.carm_arch_timer.carm_global_timer.carmv7m_systick.casm9260_timer.cbcm2835_timer.cbcm_kona_timer.ccadence_ttc_timer.cclkevt-probe.cclksrc-dbx500-prcmu.cclksrc-probe.cclksrc_st_lpc.cclps711x-timer.ccs5535-clockevt.cdummy_timer.cdw_apb_timer.cdw_apb_timer_of.cem_sti.cexynos_mct.cfsl_ftm_timer.ch8300_timer16.ch8300_timer8.ch8300_tpu.ci8253.cjcore-pit.cmeson6_timer.cmetag_generic.cmips-gic-timer.cmmio.cmoxart_timer.cmps2-timer.cmtk_timer.cmxs_timer.cnomadik-mtu.cnumachip.cpxa_timer.cqcom-timer.crenesas-ostm.crockchip_timer.csamsung_pwm_timer.cscx200_hrt.csh_cmt.csh_mtu2.csh_tmu.csun4i_timer.ctango_xtal.ctcb_clksrc.ctegra20_timer.ctime-armada-370-xp.ctime-efm32.ctime-lpc32xx.ctime-orion.ctime-pistachio.ctimer-atlas7.ctimer-atmel-pit.ctimer-atmel-st.ctimer-digicolor.ctimer-fttmr010.ctimer-imx-gpt.ctimer-integrator-ap.ctimer-keystone.ctimer-nps.ctimer-oxnas-rps.ctimer-prima2.ctimer-sp.htimer-sp804.ctimer-stm32.ctimer-sun5i.ctimer-ti-32k.ctimer-u300.cversatile.cvf_pit_timer.cvt8500_timer.czevio-timer.cconnectorKconfigMakefilecn_proc.ccn_queue.cconnector.ccpufreqKconfigKconfig.armKconfig.powerpcKconfig.x86Makefileacpi-cpufreq.camd_freq_sensitivity.carm_big_little.carm_big_little.harm_big_little_dt.cat32ap-cpufreq.cblackfin-cpufreq.cbmips-cpufreq.cbrcmstb-avs-cpufreq.ccppc_cpufreq.ccpufreq-dt-platdev.ccpufreq-dt.ccpufreq-dt.hcpufreq-nforce2.ccpufreq.ccpufreq_conservative.ccpufreq_governor.ccpufreq_governor.hcpufreq_governor_attr_set.ccpufreq_ondemand.ccpufreq_ondemand.hcpufreq_performance.ccpufreq_powersave.ccpufreq_stats.ccpufreq_userspace.ccris-artpec3-cpufreq.ccris-etraxfs-cpufreq.cdavinci-cpufreq.cdbx500-cpufreq.ce_powersaver.celanfreq.cexynos5440-cpufreq.cfreq_table.cgx-suspmod.chighbank-cpufreq.cia64-acpi-cpufreq.cimx6q-cpufreq.cintel_pstate.ckirkwood-cpufreq.clonghaul.clonghaul.hlongrun.cloongson1-cpufreq.cloongson2_cpufreq.cmaple-cpufreq.cmt8173-cpufreq.cmvebu-cpufreq.comap-cpufreq.cp4-clockmod.cpasemi-cpufreq.cpcc-cpufreq.cpmac32-cpufreq.cpmac64-cpufreq.cpowernow-k6.cpowernow-k7.cpowernow-k7.hpowernow-k8.cpowernow-k8.hpowernv-cpufreq.cppc_cbe_cpufreq.cppc_cbe_cpufreq.hppc_cbe_cpufreq_pervasive.cppc_cbe_cpufreq_pmi.cpxa2xx-cpufreq.cpxa3xx-cpufreq.cqoriq-cpufreq.cs3c2410-cpufreq.cs3c2412-cpufreq.cs3c2416-cpufreq.cs3c2440-cpufreq.cs3c24xx-cpufreq-debugfs.cs3c24xx-cpufreq.cs3c64xx-cpufreq.cs5pv210-cpufreq.csa1100-cpufreq.csa1110-cpufreq.csc520_freq.cscpi-cpufreq.csfi-cpufreq.csh-cpufreq.csparc-us2e-cpufreq.csparc-us3-cpufreq.cspear-cpufreq.cspeedstep-centrino.cspeedstep-ich.cspeedstep-lib.cspeedstep-lib.hspeedstep-smi.csti-cpufreq.ctegra124-cpufreq.ctegra186-cpufreq.ctegra20-cpufreq.cti-cpufreq.cunicore2-cpufreq.cvexpress-spc-cpufreq.ccpuidleKconfigKconfig.armKconfig.mipsKconfig.powerpcMakefilecoupled.ccpuidle-arm.ccpuidle-at91.ccpuidle-big_little.ccpuidle-calxeda.ccpuidle-clps711x.ccpuidle-cps.ccpuidle-exynos.ccpuidle-kirkwood.ccpuidle-mvebu-v7.ccpuidle-powernv.ccpuidle-pseries.ccpuidle-ux500.ccpuidle-zynq.ccpuidle.ccpuidle.hdriver.cdt_idle_states.cdt_idle_states.hgovernor.cgovernorsMakefileladder.cmenu.csysfs.ccryptoKconfigMakefileamccMakefilecrypto4xx_alg.ccrypto4xx_core.ccrypto4xx_core.hcrypto4xx_reg_def.hcrypto4xx_sa.ccrypto4xx_sa.hcrypto4xx_trng.ccrypto4xx_trng.hatmel-aes-regs.hatmel-aes.catmel-authenc.hatmel-sha-regs.hatmel-sha.catmel-tdes-regs.hatmel-tdes.cbcmMakefilecipher.ccipher.hspu.cspu.hspu2.cspu2.hspum.hutil.cutil.hbfin_crc.cbfin_crc.hcaamKconfigMakefilecaamalg.ccaamalg_desc.ccaamalg_desc.hcaamalg_qi.ccaamhash.ccaampkc.ccaampkc.hcaamrng.ccompat.hctrl.cctrl.hdesc.hdesc_constr.herror.cerror.hintern.hjr.cjr.hkey_gen.ckey_gen.hpdb.hpkc_desc.cqi.cqi.hregs.hsg_sw_qm.hsg_sw_sec4.hcaviumMakefilecptKconfigMakefilecpt_common.hcpt_hw_types.hcptpf.hcptpf_main.ccptpf_mbox.ccptvf.hcptvf_algs.ccptvf_algs.hcptvf_main.ccptvf_mbox.ccptvf_reqmanager.crequest_manager.hzipMakefilecommon.hzip_crypto.czip_crypto.hzip_deflate.czip_deflate.hzip_device.czip_device.hzip_inflate.czip_inflate.hzip_main.czip_main.hzip_mem.czip_mem.hzip_regs.hccpKconfigMakefileccp-crypto-aes-cmac.cccp-crypto-aes-galois.cccp-crypto-aes-xts.cccp-crypto-aes.cccp-crypto-des3.cccp-crypto-main.cccp-crypto-sha.cccp-crypto.hccp-dev-v3.cccp-dev-v5.cccp-dev.cccp-dev.hccp-dmaengine.cccp-ops.cccp-pci.cccp-platform.cchelsioKconfigMakefilechcr_algo.cchcr_algo.hchcr_core.cchcr_core.hchcr_crypto.hexynos-rng.cgeode-aes.cgeode-aes.hhifn_795x.cimg-hash.cixp4xx_crypto.cmarvellMakefilecesa.ccesa.hcipher.chash.ctdma.cmediatekMakefilemtk-aes.cmtk-platform.cmtk-platform.hmtk-regs.hmtk-sha.cmv_cesa.cmv_cesa.hmxc-scc.cmxs-dcp.cn2_asm.Sn2_core.cn2_core.hnxKconfigMakefilenx-842-powernv.cnx-842-pseries.cnx-842.cnx-842.hnx-aes-cbc.cnx-aes-ccm.cnx-aes-ctr.cnx-aes-ecb.cnx-aes-gcm.cnx-aes-xcbc.cnx-sha256.cnx-sha512.cnx.cnx.hnx_csbcpb.hnx_debugfs.comap-aes.comap-des.comap-sham.cpadlock-aes.cpadlock-sha.cpicoxcell_crypto.cpicoxcell_crypto_regs.hqatKconfigMakefileqat_c3xxxMakefileadf_c3xxx_hw_data.cadf_c3xxx_hw_data.hadf_drv.cqat_c3xxxvfMakefileadf_c3xxxvf_hw_data.cadf_c3xxxvf_hw_data.hadf_drv.cqat_c62xMakefileadf_c62x_hw_data.cadf_c62x_hw_data.hadf_drv.cqat_c62xvfMakefileadf_c62xvf_hw_data.cadf_c62xvf_hw_data.hadf_drv.cqat_commonMakefileadf_accel_devices.hadf_accel_engine.cadf_admin.cadf_aer.cadf_cfg.cadf_cfg.hadf_cfg_common.hadf_cfg_strings.hadf_cfg_user.hadf_common_drv.hadf_ctl_drv.cadf_dev_mgr.cadf_hw_arbiter.cadf_init.cadf_isr.cadf_pf2vf_msg.cadf_pf2vf_msg.hadf_sriov.cadf_transport.cadf_transport.hadf_transport_access_macros.hadf_transport_debug.cadf_transport_internal.hadf_vf2pf_msg.cadf_vf_isr.cicp_qat_fw.hicp_qat_fw_init_admin.hicp_qat_fw_la.hicp_qat_fw_loader_handle.hicp_qat_fw_pke.hicp_qat_hal.hicp_qat_hw.hicp_qat_uclo.hqat_algs.cqat_asym_algs.cqat_crypto.cqat_crypto.hqat_hal.cqat_uclo.cqat_dh895xccMakefileadf_dh895xcc_hw_data.cadf_dh895xcc_hw_data.hadf_drv.cqat_dh895xccvfMakefileadf_dh895xccvf_hw_data.cadf_dh895xccvf_hw_data.hadf_drv.cqceMakefileablkcipher.ccipher.hcommon.ccommon.hcore.ccore.hdma.cdma.hregs-v5.hsha.csha.hrockchipMakefilerk3288_crypto.crk3288_crypto.hrk3288_crypto_ablkcipher.crk3288_crypto_ahash.cs5p-sss.csahara.cstm32KconfigMakefilestm32_crc32.csunxi-ssMakefilesun4i-ss-cipher.csun4i-ss-core.csun4i-ss-hash.csun4i-ss.htalitos.ctalitos.hux500KconfigMakefilecrypMakefilecryp.ccryp.hcryp_core.ccryp_irq.ccryp_irq.hcryp_irqp.hcryp_p.hhashMakefilehash_alg.hhash_core.cvirtioKconfigMakefilevirtio_crypto_algs.cvirtio_crypto_common.hvirtio_crypto_core.cvirtio_crypto_mgr.cvmxKconfigMakefileaes.caes_cbc.caes_ctr.caes_xts.caesp8-ppc.haesp8-ppc.plghash.cghashp8-ppc.plppc-xlate.plvmx.cdaxKconfigMakefiledax-private.hdax.hdevice-dax.hdevice.cpmem.csuper.cdcaKconfigMakefiledca-core.cdca-sysfs.cdevfreqKconfigMakefiledevfreq-event.cdevfreq.ceventKconfigMakefileexynos-nocp.cexynos-nocp.hexynos-ppmu.cexynos-ppmu.hrockchip-dfi.cexynos-bus.cgovernor.hgovernor_passive.cgovernor_performance.cgovernor_powersave.cgovernor_simpleondemand.cgovernor_userspace.crk3399_dmc.ctegra-devfreq.cdioMakefiledio-driver.cdio-sysfs.cdio.cdmadma-bufKconfigMakefiledma-buf.cdma-fence-array.cdma-fence.creservation.cseqno-fence.csw_sync.csync_debug.csync_debug.hsync_file.csync_trace.hKconfigMakefileTODOacpi-dma.camba-pl08x.cat_hdmac.cat_hdmac_regs.hat_xdmac.cbcm2835-dma.cbestcommKconfigMakefileata.cbcom_ata_task.cbcom_fec_rx_task.cbcom_fec_tx_task.cbcom_gen_bd_rx_task.cbcom_gen_bd_tx_task.cbestcomm.cfec.cgen_bd.csram.ccoh901318.ccoh901318.hcoh901318_lli.ccppi41.cdma-axi-dmac.cdma-jz4740.cdma-jz4780.cdmaengine.cdmaengine.hdmatest.cdwKconfigMakefilecore.cinternal.hpci.cplatform.cregs.hedma.cep93xx_dma.cfsl-edma.cfsl_raid.cfsl_raid.hfsldma.cfsldma.hhsuKconfigMakefilehsu.chsu.hpci.cidma64.cidma64.himg-mdc-dma.cimx-dma.cimx-sdma.cioatMakefiledca.cdma.cdma.hhw.hinit.cprep.cregisters.hsysfs.ciop-adma.cipuMakefileipu_idmac.cipu_intern.hipu_irq.ck3dma.clpc18xx-dmamux.cmic_x100_dma.cmic_x100_dma.hmmp_pdma.cmmp_tdma.cmoxart-dma.cmpc512x_dma.cmv_xor.cmv_xor.hmv_xor_v2.cmxs-dma.cnbpfaxi.cof-dma.comap-dma.cpch_dma.cpl330.cppc4xxMakefileadma.cadma.hdma.hxor.hpxa_dma.cqcomKconfigMakefilebam_dma.chidma.chidma.hhidma_dbg.chidma_ll.chidma_mgmt.chidma_mgmt.hhidma_mgmt_sys.cs3c24xx-dma.csa11x0-dma.cshKconfigMakefilercar-dmac.cshdma-arm.hshdma-base.cshdma-of.cshdma-r8a73a4.cshdma.hshdmac.csudmac.cusb-dmac.csirf-dma.cst_fdma.cst_fdma.hste_dma40.cste_dma40_ll.cste_dma40_ll.hstm32-dma.csun4i-dma.csun6i-dma.ctegra20-apb-dma.ctegra210-adma.cti-dma-crossbar.ctimb_dma.ctxx9dmac.ctxx9dmac.hvirt-dma.cvirt-dma.hxgene-dma.cxilinxMakefilexilinx_dma.czynqmp_dma.czx_dma.cedacKconfigMakefilealtera_edac.caltera_edac.hamd64_edac.camd64_edac.hamd64_edac_dbg.camd64_edac_inj.camd76x_edac.camd8111_edac.camd8111_edac.hamd8131_edac.camd8131_edac.hcell_edac.ccpc925_edac.cdebugfs.ce752x_edac.ce7xxx_edac.cedac_device.cedac_device.hedac_device_sysfs.cedac_mc.cedac_mc.hedac_mc_sysfs.cedac_module.cedac_module.hedac_pci.cedac_pci.hedac_pci_sysfs.cfsl_ddr_edac.cfsl_ddr_edac.hghes_edac.chighbank_l2_edac.chighbank_mc_edac.ci3000_edac.ci3200_edac.ci5000_edac.ci5100_edac.ci5400_edac.ci7300_edac.ci7core_edac.ci82443bxgx_edac.ci82860_edac.ci82875p_edac.ci82975x_edac.cie31200_edac.clayerscape_edac.cmce_amd.cmce_amd.hmpc85xx_edac.cmpc85xx_edac.hmv64x60_edac.cmv64x60_edac.hocteon_edac-l2c.cocteon_edac-lmc.cocteon_edac-pc.cocteon_edac-pci.cpasemi_edac.cpnd2_edac.cpnd2_edac.hppc4xx_edac.cppc4xx_edac.hr82600_edac.csb_edac.cskx_edac.csynopsys_edac.cthunderx_edac.ctile_edac.cwq.cx38_edac.cxgene_edac.ceisaKconfigMakefileeisa-bus.ceisa.idspci_eisa.cvirtual_root.cextconKconfigMakefiledevres.cextcon-adc-jack.cextcon-arizona.cextcon-axp288.cextcon-gpio.cextcon-intel-cht-wc.cextcon-intel-int3496.cextcon-max14577.cextcon-max3355.cextcon-max77693.cextcon-max77843.cextcon-max8997.cextcon-palmas.cextcon-qcom-spmi-misc.cextcon-rt8973a.cextcon-rt8973a.hextcon-sm5502.cextcon-sm5502.hextcon-usb-gpio.cextcon.cextcon.hfirewireKconfigMakefilecore-card.ccore-cdev.ccore-device.ccore-iso.ccore-topology.ccore-transaction.ccore.hinit_ohci1394_dma.cnet.cnosy-user.hnosy.cnosy.hohci.cohci.hsbp2.cfirmwareKconfigMakefilearm_scpi.cbroadcomKconfigMakefilebcm47xx_nvram.cbcm47xx_sprom.cdcdbas.cdcdbas.hdell_rbu.cdmi-id.cdmi-sysfs.cdmi_scan.cedd.cefiKconfigMakefileapple-properties.carm-init.carm-runtime.ccapsule-loader.ccapsule.ccper.cdev-path-parser.cefi-bgrt.cefi-pstore.cefi.cefibc.cefivars.cesrt.cfake_mem.clibstubMakefilearm-stub.carm32-stub.carm64-stub.cefi-stub-helper.cefistub.hfdt.cgop.crandom.csecureboot.cstring.cmemattr.cmemmap.creboot.cruntime-map.cruntime-wrappers.ctestMakefileefi_test.cefi_test.hvars.cgoogleKconfigMakefilecoreboot_table-acpi.ccoreboot_table-of.ccoreboot_table.ccoreboot_table.hgsmi.cmemconsole-coreboot.cmemconsole-x86-legacy.cmemconsole.cmemconsole.hvpd.cvpd_decode.cvpd_decode.hiscsi_ibft.ciscsi_ibft_find.cmemmap.cmesonKconfigMakefilemeson_sm.cpcdp.cpcdp.hpsci.cpsci_checker.cqcom_scm-32.cqcom_scm-64.cqcom_scm.cqcom_scm.hqemu_fw_cfg.craspberrypi.cscpi_pm_domain.ctegraKconfigMakefilebpmp.civc.cti_sci.cti_sci.hfmcKconfigMakefilefmc-chardev.cfmc-core.cfmc-dump.cfmc-fakedev.cfmc-match.cfmc-sdb.cfmc-trivial.cfmc-write-eeprom.cfru-parse.cfpgaKconfigMakefilealtera-fpga2sdram.caltera-freeze-bridge.caltera-hps2fpga.caltera-pr-ip-core-plat.caltera-pr-ip-core.cfpga-bridge.cfpga-mgr.cfpga-region.cice40-spi.csocfpga-a10.csocfpga.cts73xx-fpga.cxilinx-pr-decoupler.cxilinx-spi.czynq-fpga.cfsiKconfigMakefilefsi-core.cgpioKconfigMakefiledevres.cgpio-104-dio-48e.cgpio-104-idi-48.cgpio-104-idio-16.cgpio-74x164.cgpio-74xx-mmio.cgpio-adnp.cgpio-adp5520.cgpio-adp5588.cgpio-altera-a10sr.cgpio-altera.cgpio-amd8111.cgpio-amdpt.cgpio-arizona.cgpio-aspeed.cgpio-ath79.cgpio-axp209.cgpio-bcm-kona.cgpio-bd9571mwv.cgpio-brcmstb.cgpio-bt8xx.cgpio-clps711x.cgpio-crystalcove.cgpio-cs5535.cgpio-da9052.cgpio-da9055.cgpio-davinci.cgpio-dln2.cgpio-dwapb.cgpio-em.cgpio-ep93xx.cgpio-etraxfs.cgpio-exar.cgpio-f7188x.cgpio-ftgpio010.cgpio-ge.cgpio-gpio-mm.cgpio-grgpio.cgpio-htc-egpio.cgpio-ich.cgpio-intel-mid.cgpio-iop.cgpio-it87.cgpio-janz-ttl.cgpio-kempld.cgpio-ks8695.cgpio-loongson.cgpio-loongson1.cgpio-lp3943.cgpio-lp873x.cgpio-lpc18xx.cgpio-lpc32xx.cgpio-lynxpoint.cgpio-max7300.cgpio-max7301.cgpio-max730x.cgpio-max732x.cgpio-max77620.cgpio-mb86s7x.cgpio-mc33880.cgpio-mc9s08dz60.cgpio-mcp23s08.cgpio-menz127.cgpio-merrifield.cgpio-ml-ioh.cgpio-mm-lantiq.cgpio-mmio.cgpio-mockup.cgpio-mpc5200.cgpio-mpc8xxx.cgpio-msic.cgpio-mvebu.cgpio-mxc.cgpio-mxs.cgpio-octeon.cgpio-omap.cgpio-palmas.cgpio-pca953x.cgpio-pcf857x.cgpio-pch.cgpio-pci-idio-16.cgpio-pisosr.cgpio-pl061.cgpio-pxa.cgpio-rc5t583.cgpio-rcar.cgpio-rdc321x.cgpio-reg.cgpio-sa1100.cgpio-sch.cgpio-sch311x.cgpio-sodaville.cgpio-spear-spics.cgpio-sta2x11.cgpio-stmpe.cgpio-stp-xway.cgpio-syscon.cgpio-tb10x.cgpio-tc3589x.cgpio-tegra.cgpio-timberdale.cgpio-tpic2810.cgpio-tps65086.cgpio-tps65218.cgpio-tps6586x.cgpio-tps65910.cgpio-tps65912.cgpio-ts4800.cgpio-ts4900.cgpio-ts5500.cgpio-twl4030.cgpio-twl6040.cgpio-tz1090-pdc.cgpio-tz1090.cgpio-ucb1400.cgpio-vf610.cgpio-viperboard.cgpio-vr41xx.cgpio-vx855.cgpio-wcove.cgpio-wm831x.cgpio-wm8350.cgpio-wm8994.cgpio-ws16c48.cgpio-xgene-sb.cgpio-xgene.cgpio-xilinx.cgpio-xlp.cgpio-xtensa.cgpio-zevio.cgpio-zx.cgpio-zynq.cgpiolib-acpi.cgpiolib-devprop.cgpiolib-legacy.cgpiolib-of.cgpiolib-sysfs.cgpiolib.cgpiolib.hgpuMakefiledrmKconfigMakefileamdacpKconfigMakefileacp_hw.cincludeacp_gfx_if.hamdgpuKconfigMakefileObjectID.hamdgpu.hamdgpu_acp.camdgpu_acp.hamdgpu_acpi.camdgpu_afmt.camdgpu_amdkfd.camdgpu_amdkfd.hamdgpu_amdkfd_gfx_v7.camdgpu_amdkfd_gfx_v8.camdgpu_atombios.camdgpu_atombios.hamdgpu_atomfirmware.camdgpu_atomfirmware.hamdgpu_atpx_handler.camdgpu_benchmark.camdgpu_bios.camdgpu_bo_list.camdgpu_cgs.camdgpu_connectors.camdgpu_connectors.hamdgpu_cs.camdgpu_ctx.camdgpu_device.camdgpu_display.camdgpu_dpm.camdgpu_dpm.hamdgpu_drv.camdgpu_drv.hamdgpu_encoders.camdgpu_fb.camdgpu_fence.camdgpu_gart.camdgpu_gds.hamdgpu_gem.camdgpu_gfx.camdgpu_gfx.hamdgpu_gtt_mgr.camdgpu_i2c.camdgpu_i2c.hamdgpu_ib.camdgpu_ih.camdgpu_ih.hamdgpu_ioc32.camdgpu_irq.camdgpu_irq.hamdgpu_job.camdgpu_kms.camdgpu_mn.camdgpu_mode.hamdgpu_object.camdgpu_object.hamdgpu_pll.camdgpu_pll.hamdgpu_pm.camdgpu_pm.hamdgpu_powerplay.camdgpu_powerplay.hamdgpu_prime.camdgpu_psp.camdgpu_psp.hamdgpu_ring.camdgpu_ring.hamdgpu_sa.camdgpu_sync.camdgpu_sync.hamdgpu_test.camdgpu_trace.hamdgpu_trace_points.camdgpu_ttm.camdgpu_ttm.hamdgpu_ucode.camdgpu_ucode.hamdgpu_uvd.camdgpu_uvd.hamdgpu_vce.camdgpu_vce.hamdgpu_virt.camdgpu_virt.hamdgpu_vm.camdgpu_vm.hamdgpu_vram_mgr.catom.catom.hatombios_crtc.catombios_crtc.hatombios_dp.catombios_dp.hatombios_encoders.catombios_encoders.hatombios_i2c.catombios_i2c.hci_dpm.cci_dpm.hci_smc.ccik.ccik.hcik_dpm.hcik_ih.ccik_ih.hcik_sdma.ccik_sdma.hcikd.hclearstate_ci.hclearstate_defs.hclearstate_gfx9.hclearstate_si.hclearstate_vi.hcz_ih.ccz_ih.hdce_v10_0.cdce_v10_0.hdce_v11_0.cdce_v11_0.hdce_v6_0.cdce_v6_0.hdce_v8_0.cdce_v8_0.hdce_virtual.cdce_virtual.hgfx_v6_0.cgfx_v6_0.hgfx_v7_0.cgfx_v7_0.hgfx_v8_0.cgfx_v8_0.hgfx_v9_0.cgfx_v9_0.hgfxhub_v1_0.cgfxhub_v1_0.hgmc_v6_0.cgmc_v6_0.hgmc_v7_0.cgmc_v7_0.hgmc_v8_0.cgmc_v8_0.hgmc_v9_0.cgmc_v9_0.hiceland_ih.ciceland_ih.hiceland_sdma_pkt_open.hkv_dpm.ckv_dpm.hkv_smc.cmmhub_v1_0.cmmhub_v1_0.hmmsch_v1_0.hmxgpu_ai.cmxgpu_ai.hmxgpu_vi.cmxgpu_vi.hnbio_v6_1.cnbio_v6_1.hppsmc.hpsp_gfx_if.hpsp_v3_1.cpsp_v3_1.hr600_dpm.hsdma_v2_4.csdma_v2_4.hsdma_v3_0.csdma_v3_0.hsdma_v4_0.csdma_v4_0.hsi.csi.hsi_dma.csi_dma.hsi_dpm.csi_dpm.hsi_enums.hsi_ih.csi_ih.hsi_smc.csid.hsislands_smc.hsoc15.csoc15.hsoc15_common.hsoc15d.htonga_ih.ctonga_ih.htonga_sdma_pkt_open.huvd_v4_2.cuvd_v4_2.huvd_v5_0.cuvd_v5_0.huvd_v6_0.cuvd_v6_0.huvd_v7_0.cuvd_v7_0.hvce_v2_0.cvce_v2_0.hvce_v3_0.cvce_v3_0.hvce_v4_0.cvce_v4_0.hvega10_ih.cvega10_ih.hvega10_sdma_pkt_open.hvi.cvi.hvi_dpm.hvid.hamdkfdKconfigMakefilecik_event_interrupt.ccik_int.hcik_regs.hkfd_chardev.ckfd_crat.hkfd_dbgdev.ckfd_dbgdev.hkfd_dbgmgr.ckfd_dbgmgr.hkfd_device.ckfd_device_queue_manager.ckfd_device_queue_manager.hkfd_device_queue_manager_cik.ckfd_device_queue_manager_vi.ckfd_doorbell.ckfd_events.ckfd_events.hkfd_flat_memory.ckfd_interrupt.ckfd_kernel_queue.ckfd_kernel_queue.hkfd_kernel_queue_cik.ckfd_kernel_queue_vi.ckfd_module.ckfd_mqd_manager.ckfd_mqd_manager.hkfd_mqd_manager_cik.ckfd_mqd_manager_vi.ckfd_packet_manager.ckfd_pasid.ckfd_pm4_headers.hkfd_pm4_headers_diq.hkfd_pm4_headers_vi.hkfd_pm4_opcodes.hkfd_priv.hkfd_process.ckfd_process_queue_manager.ckfd_queue.ckfd_topology.ckfd_topology.hincludeamd_acpi.hamd_pcie.hamd_pcie_helpers.hamd_shared.hasic_regbifbif_3_0_d.hbif_3_0_sh_mask.hbif_4_1_d.hbif_4_1_sh_mask.hbif_5_0_d.hbif_5_0_enum.hbif_5_0_sh_mask.hbif_5_1_d.hbif_5_1_enum.hbif_5_1_sh_mask.hdcedce_10_0_d.hdce_10_0_enum.hdce_10_0_sh_mask.hdce_11_0_d.hdce_11_0_enum.hdce_11_0_sh_mask.hdce_11_2_d.hdce_11_2_enum.hdce_11_2_sh_mask.hdce_6_0_d.hdce_6_0_sh_mask.hdce_8_0_d.hdce_8_0_enum.hdce_8_0_sh_mask.hgcagfx_6_0_d.hgfx_6_0_sh_mask.hgfx_7_0_d.hgfx_7_2_d.hgfx_7_2_enum.hgfx_7_2_sh_mask.hgfx_8_0_d.hgfx_8_0_enum.hgfx_8_0_sh_mask.hgfx_8_1_d.hgfx_8_1_enum.hgfx_8_1_sh_mask.hgmcgmc_6_0_d.hgmc_6_0_sh_mask.hgmc_7_0_d.hgmc_7_0_sh_mask.hgmc_7_1_d.hgmc_7_1_sh_mask.hgmc_8_1_d.hgmc_8_1_enum.hgmc_8_1_sh_mask.hgmc_8_2_d.hgmc_8_2_enum.hgmc_8_2_sh_mask.hossoss_1_0_d.hoss_1_0_sh_mask.hoss_2_0_d.hoss_2_0_sh_mask.hoss_2_4_d.hoss_2_4_enum.hoss_2_4_sh_mask.hoss_3_0_1_d.hoss_3_0_1_enum.hoss_3_0_1_sh_mask.hoss_3_0_d.hoss_3_0_enum.hoss_3_0_sh_mask.hsmusmu_6_0_d.hsmu_6_0_sh_mask.hsmu_7_0_0_d.hsmu_7_0_0_sh_mask.hsmu_7_0_1_d.hsmu_7_0_1_sh_mask.hsmu_7_1_0_d.hsmu_7_1_0_enum.hsmu_7_1_0_sh_mask.hsmu_7_1_1_d.hsmu_7_1_1_enum.hsmu_7_1_1_sh_mask.hsmu_7_1_2_d.hsmu_7_1_2_enum.hsmu_7_1_2_sh_mask.hsmu_7_1_3_d.hsmu_7_1_3_enum.hsmu_7_1_3_sh_mask.hsmu_8_0_d.hsmu_8_0_enum.hsmu_8_0_sh_mask.huvduvd_4_0_d.huvd_4_0_sh_mask.huvd_4_2_d.huvd_4_2_sh_mask.huvd_5_0_d.huvd_5_0_enum.huvd_5_0_sh_mask.huvd_6_0_d.huvd_6_0_enum.huvd_6_0_sh_mask.hvcevce_1_0_d.hvce_1_0_sh_mask.hvce_2_0_d.hvce_2_0_sh_mask.hvce_3_0_d.hvce_3_0_sh_mask.hvega10ATHUBathub_1_0_default.hathub_1_0_offset.hathub_1_0_sh_mask.hDCdce_12_0_default.hdce_12_0_offset.hdce_12_0_sh_mask.hGCgc_9_0_default.hgc_9_0_offset.hgc_9_0_sh_mask.hHDPhdp_4_0_default.hhdp_4_0_offset.hhdp_4_0_sh_mask.hMMHUBmmhub_1_0_default.hmmhub_1_0_offset.hmmhub_1_0_sh_mask.hMPmp_9_0_default.hmp_9_0_offset.hmp_9_0_sh_mask.hNBIFnbif_6_1_default.hnbif_6_1_offset.hnbif_6_1_sh_mask.hNBIOnbio_6_1_default.hnbio_6_1_offset.hnbio_6_1_sh_mask.hOSSSYSosssys_4_0_default.hosssys_4_0_offset.hosssys_4_0_sh_mask.hSDMA0sdma0_4_0_default.hsdma0_4_0_offset.hsdma0_4_0_sh_mask.hSDMA1sdma1_4_0_default.hsdma1_4_0_offset.hsdma1_4_0_sh_mask.hSMUIOsmuio_9_0_default.hsmuio_9_0_offset.hsmuio_9_0_sh_mask.hTHMthm_9_0_default.hthm_9_0_offset.hthm_9_0_sh_mask.hUVDuvd_7_0_default.huvd_7_0_offset.huvd_7_0_sh_mask.hVCEvce_4_0_default.hvce_4_0_offset.hvce_4_0_sh_mask.hsoc15ip.hvega10_enum.hatom-bits.hatom-names.hatom-types.hatombios.hatomfirmware.hatomfirmwareid.hcgs_common.hcgs_linux.hcik_structs.hdisplayobject.hdm_pp_interface.hivsrcidivsrcid_vislands30.hkgd_kfd_interface.hpptable.hv9_structs.hvi_structs.hpowerplayMakefileamd_powerplay.ceventmgrMakefileeventactionchains.ceventactionchains.heventinit.ceventinit.heventmanagement.ceventmanagement.heventmgr.ceventsubchains.ceventsubchains.heventtasks.ceventtasks.hpsm.cpsm.hhwmgrMakefilecz_clockpowergating.ccz_clockpowergating.hcz_hwmgr.ccz_hwmgr.hfunctiontables.chardwaremanager.chwmgr.chwmgr_ppt.hpp_acpi.cppatomctrl.cppatomctrl.hppatomfwctrl.cppatomfwctrl.hppevvmath.hpppcielanes.cpppcielanes.hpptable_v1_0.hprocess_pptables_v1_0.cprocess_pptables_v1_0.hprocesspptables.cprocesspptables.hsmu7_clockpowergating.csmu7_clockpowergating.hsmu7_dyn_defaults.hsmu7_hwmgr.csmu7_hwmgr.hsmu7_powertune.csmu7_powertune.hsmu7_thermal.csmu7_thermal.hvega10_hwmgr.cvega10_hwmgr.hvega10_inc.hvega10_powertune.cvega10_powertune.hvega10_pptable.hvega10_processpptables.cvega10_processpptables.hvega10_thermal.cvega10_thermal.hincamd_powerplay.hcz_ppsmc.heventmanager.heventmgr.hfiji_ppsmc.hfiji_pwrvirus.hhardwaremanager.hhwmgr.hpolaris10_ppsmc.hpolaris10_pwrvirus.hpower_state.hpp_acpi.hpp_asicblocks.hpp_debug.hpp_endian.hpp_feature.hpp_instance.hpp_power_source.hpp_soc15.hppinterrupt.hsmu7.hsmu71.hsmu71_discrete.hsmu72.hsmu72_discrete.hsmu73.hsmu73_discrete.hsmu74.hsmu74_discrete.hsmu7_common.hsmu7_discrete.hsmu7_fusion.hsmu7_ppsmc.hsmu8.hsmu8_fusion.hsmu9.hsmu9_driver_if.hsmu_ucode_xfer_cz.hsmu_ucode_xfer_vi.hsmumgr.htonga_ppsmc.hvega10_ppsmc.hsmumgrMakefilecz_smumgr.ccz_smumgr.hfiji_smc.cfiji_smc.hfiji_smumgr.cfiji_smumgr.hiceland_smc.ciceland_smc.hiceland_smumgr.ciceland_smumgr.hpolaris10_smc.cpolaris10_smc.hpolaris10_smumgr.cpolaris10_smumgr.hsmu7_smumgr.csmu7_smumgr.hsmumgr.ctonga_smc.ctonga_smc.htonga_smumgr.ctonga_smumgr.hvega10_smumgr.cvega10_smumgr.hschedulergpu_sched_trace.hgpu_scheduler.cgpu_scheduler.hsched_fence.carcKconfigMakefilearcpgu.harcpgu_crtc.carcpgu_drv.carcpgu_hdmi.carcpgu_regs.harcpgu_sim.carmKconfigMakefilehdlcd_crtc.chdlcd_drv.chdlcd_drv.hhdlcd_regs.hmalidp_crtc.cmalidp_drv.cmalidp_drv.hmalidp_hw.cmalidp_hw.hmalidp_planes.cmalidp_regs.harmadaKconfigMakefilearmada_510.carmada_crtc.carmada_crtc.harmada_debugfs.carmada_drm.harmada_drv.carmada_fb.carmada_fb.harmada_fbdev.carmada_gem.carmada_gem.harmada_hw.harmada_ioctlP.harmada_overlay.carmada_trace.carmada_trace.hastKconfigMakefileast_dp501.cast_dram_tables.hast_drv.cast_drv.hast_fb.cast_main.cast_mode.cast_post.cast_tables.hast_ttm.cati_pcigart.catmel-hlcdcKconfigMakefileatmel_hlcdc_crtc.catmel_hlcdc_dc.catmel_hlcdc_dc.hatmel_hlcdc_output.catmel_hlcdc_plane.cbochsKconfigMakefilebochs.hbochs_drv.cbochs_fbdev.cbochs_hw.cbochs_kms.cbochs_mm.cbridgeKconfigMakefileadv7511KconfigMakefileadv7511.hadv7511_audio.cadv7511_drv.cadv7533.canalogixanalogix-anx78xx.canalogix-anx78xx.hKconfigMakefileanalogix_dp_core.canalogix_dp_core.hanalogix_dp_reg.canalogix_dp_reg.hdumb-vga-dac.clvds-encoder.cmegachips-stdpxxxx-ge-b850v3-fw.cnxp-ptn3460.cparade-ps8622.csii902x.csil-sii8620.csil-sii8620.hsynopsysKconfigMakefiledw-hdmi-ahb-audio.cdw-hdmi-audio.hdw-hdmi-i2s-audio.cdw-hdmi.cdw-hdmi.htc358767.cti-tfp410.ccirrusKconfigMakefilecirrus_drv.ccirrus_drv.hcirrus_fbdev.ccirrus_main.ccirrus_mode.ccirrus_ttm.cdrm_agpsupport.cdrm_atomic.cdrm_atomic_helper.cdrm_auth.cdrm_blend.cdrm_bridge.cdrm_bufs.cdrm_cache.cdrm_color_mgmt.cdrm_connector.cdrm_context.cdrm_crtc.cdrm_crtc_helper.cdrm_crtc_helper_internal.hdrm_crtc_internal.hdrm_debugfs.cdrm_debugfs_crc.cdrm_dma.cdrm_dp_aux_dev.cdrm_dp_dual_mode_helper.cdrm_dp_helper.cdrm_dp_mst_topology.cdrm_drv.cdrm_dumb_buffers.cdrm_edid.cdrm_edid_load.cdrm_encoder.cdrm_encoder_slave.cdrm_fb_cma_helper.cdrm_fb_helper.cdrm_file.cdrm_flip_work.cdrm_fourcc.cdrm_framebuffer.cdrm_gem.cdrm_gem_cma_helper.cdrm_global.cdrm_hashtab.cdrm_info.cdrm_internal.hdrm_ioc32.cdrm_ioctl.cdrm_irq.cdrm_kms_helper_common.cdrm_legacy.hdrm_lock.cdrm_memory.cdrm_mipi_dsi.cdrm_mm.cdrm_mode_config.cdrm_mode_object.cdrm_modes.cdrm_modeset_helper.cdrm_modeset_lock.cdrm_of.cdrm_panel.cdrm_pci.cdrm_plane.cdrm_plane_helper.cdrm_prime.cdrm_print.cdrm_probe_helper.cdrm_property.cdrm_rect.cdrm_scatter.cdrm_scdc_helper.cdrm_simple_kms_helper.cdrm_sysfs.cdrm_trace.hdrm_trace_points.cdrm_vm.cdrm_vma_manager.cetnavivKconfigMakefilecmdstream.xml.hcommon.xml.hetnaviv_buffer.cetnaviv_cmd_parser.cetnaviv_cmdbuf.cetnaviv_cmdbuf.hetnaviv_drv.cetnaviv_drv.hetnaviv_dump.cetnaviv_dump.hetnaviv_gem.cetnaviv_gem.hetnaviv_gem_prime.cetnaviv_gem_submit.cetnaviv_gpu.cetnaviv_gpu.hetnaviv_iommu.cetnaviv_iommu.hetnaviv_iommu_v2.cetnaviv_mmu.cetnaviv_mmu.hstate.xml.hstate_3d.xml.hstate_hi.xml.hexynosKconfigMakefileexynos5433_drm_decon.cexynos7_drm_decon.cexynos_dp.cexynos_drm_core.cexynos_drm_crtc.cexynos_drm_crtc.hexynos_drm_dpi.cexynos_drm_drv.cexynos_drm_drv.hexynos_drm_dsi.cexynos_drm_fb.cexynos_drm_fb.hexynos_drm_fbdev.cexynos_drm_fbdev.hexynos_drm_fimc.cexynos_drm_fimc.hexynos_drm_fimd.cexynos_drm_g2d.cexynos_drm_g2d.hexynos_drm_gem.cexynos_drm_gem.hexynos_drm_gsc.cexynos_drm_gsc.hexynos_drm_iommu.cexynos_drm_iommu.hexynos_drm_ipp.cexynos_drm_ipp.hexynos_drm_mic.cexynos_drm_plane.cexynos_drm_plane.hexynos_drm_rotator.cexynos_drm_rotator.hexynos_drm_vidi.cexynos_drm_vidi.hexynos_hdmi.cexynos_mixer.cregs-fimc.hregs-gsc.hregs-hdmi.hregs-mixer.hregs-rotator.hregs-vp.hfsl-dcuKconfigMakefilefsl_dcu_drm_crtc.cfsl_dcu_drm_crtc.hfsl_dcu_drm_drv.cfsl_dcu_drm_drv.hfsl_dcu_drm_kms.cfsl_dcu_drm_output.hfsl_dcu_drm_plane.cfsl_dcu_drm_plane.hfsl_dcu_drm_rgb.cfsl_tcon.cfsl_tcon.hgma500KconfigMakefileaccel_2d.cbacklight.cblitter.cblitter.hcdv_device.ccdv_device.hcdv_intel_crt.ccdv_intel_display.ccdv_intel_dp.ccdv_intel_hdmi.ccdv_intel_lvds.cframebuffer.cframebuffer.hgem.cgem.hgma_device.cgma_device.hgma_display.cgma_display.hgtt.cgtt.hintel_bios.cintel_bios.hintel_gmbus.cintel_i2c.cmdfld_device.cmdfld_dsi_dpi.cmdfld_dsi_dpi.hmdfld_dsi_output.cmdfld_dsi_output.hmdfld_dsi_pkg_sender.cmdfld_dsi_pkg_sender.hmdfld_intel_display.cmdfld_output.cmdfld_output.hmdfld_tmd_vid.cmdfld_tpo_vid.cmid_bios.cmid_bios.hmmu.cmmu.hoaktrail.hoaktrail_crtc.coaktrail_device.coaktrail_hdmi.coaktrail_hdmi_i2c.coaktrail_lvds.coaktrail_lvds_i2c.copregion.copregion.hpower.cpower.hpsb_device.cpsb_device.hpsb_drv.cpsb_drv.hpsb_intel_display.cpsb_intel_drv.hpsb_intel_lvds.cpsb_intel_modes.cpsb_intel_reg.hpsb_intel_sdvo.cpsb_intel_sdvo_regs.hpsb_irq.cpsb_irq.hpsb_lid.cpsb_reg.htc35876x-dsi-lvds.ctc35876x-dsi-lvds.hhisiliconKconfigMakefilehibmcKconfigMakefilehibmc_drm_de.chibmc_drm_drv.chibmc_drm_drv.hhibmc_drm_fbdev.chibmc_drm_regs.hhibmc_drm_vdac.chibmc_ttm.ckirinKconfigMakefiledw_drm_dsi.cdw_dsi_reg.hkirin_ade_reg.hkirin_drm_ade.ckirin_drm_drv.ckirin_drm_drv.hi2cKconfigMakefilech7006_drv.cch7006_mode.cch7006_priv.hsil164_drv.ctda998x_drv.ci810Makefilei810_dma.ci810_drv.ci810_drv.hi915KconfigKconfig.debugMakefiledvo.hdvo_ch7017.cdvo_ch7xxx.cdvo_ivch.cdvo_ns2501.cdvo_sil164.cdvo_tfp410.cgvtMakefileaperture_gm.ccfg_space.ccmd_parser.ccmd_parser.hdebug.hdisplay.cdisplay.hedid.cedid.hexeclist.cexeclist.hfirmware.cgtt.cgtt.hgvt.cgvt.hhandlers.chypercall.hinterrupt.cinterrupt.hkvmgt.cmmio.cmmio.hmpt.hopregion.creg.hrender.crender.hsched_policy.csched_policy.hscheduler.cscheduler.htrace.htrace_points.cvgpu.ci915_cmd_parser.ci915_debugfs.ci915_drv.ci915_drv.hi915_gem.ci915_gem.hi915_gem_batch_pool.ci915_gem_batch_pool.hi915_gem_clflush.ci915_gem_clflush.hi915_gem_context.ci915_gem_context.hi915_gem_dmabuf.ci915_gem_evict.ci915_gem_execbuffer.ci915_gem_fence_reg.ci915_gem_fence_reg.hi915_gem_gtt.ci915_gem_gtt.hi915_gem_internal.ci915_gem_object.hi915_gem_render_state.ci915_gem_render_state.hi915_gem_request.ci915_gem_request.hi915_gem_shrinker.ci915_gem_stolen.ci915_gem_tiling.ci915_gem_timeline.ci915_gem_timeline.hi915_gem_userptr.ci915_gpu_error.ci915_guc_reg.hi915_guc_submission.ci915_ioc32.ci915_irq.ci915_memcpy.ci915_mm.ci915_oa_hsw.ci915_oa_hsw.hi915_params.ci915_params.hi915_pci.ci915_perf.ci915_pvinfo.hi915_reg.hi915_selftest.hi915_suspend.ci915_sw_fence.ci915_sw_fence.hi915_sysfs.ci915_trace.hi915_trace_points.ci915_utils.hi915_vgpu.ci915_vgpu.hi915_vma.ci915_vma.hintel_acpi.cintel_atomic.cintel_atomic_plane.cintel_audio.cintel_bios.cintel_bios.hintel_breadcrumbs.cintel_cdclk.cintel_color.cintel_crt.cintel_csr.cintel_ddi.cintel_device_info.cintel_display.cintel_dp.cintel_dp_aux_backlight.cintel_dp_link_training.cintel_dp_mst.cintel_dpio_phy.cintel_dpll_mgr.cintel_dpll_mgr.hintel_drv.hintel_dsi.cintel_dsi.hintel_dsi_dcs_backlight.cintel_dsi_pll.cintel_dsi_vbt.cintel_dvo.cintel_engine_cs.cintel_fbc.cintel_fbdev.cintel_fifo_underrun.cintel_frontbuffer.cintel_frontbuffer.hintel_guc_fwif.hintel_guc_loader.cintel_guc_log.cintel_gvt.cintel_gvt.hintel_hangcheck.cintel_hdmi.cintel_hotplug.cintel_huc.cintel_i2c.cintel_lpe_audio.cintel_lrc.cintel_lrc.hintel_lspcon.cintel_lvds.cintel_mocs.cintel_mocs.hintel_modes.cintel_opregion.cintel_overlay.cintel_panel.cintel_pipe_crc.cintel_pm.cintel_psr.cintel_renderstate.hintel_renderstate_gen6.cintel_renderstate_gen7.cintel_renderstate_gen8.cintel_renderstate_gen9.cintel_ringbuffer.cintel_ringbuffer.hintel_runtime_pm.cintel_sdvo.cintel_sdvo_regs.hintel_sideband.cintel_sprite.cintel_tv.cintel_uc.cintel_uc.hintel_uncore.cintel_vbt_defs.hselftestshuge_gem_object.chuge_gem_object.hi915_gem_coherency.ci915_gem_context.ci915_gem_dmabuf.ci915_gem_evict.ci915_gem_gtt.ci915_gem_object.ci915_gem_request.ci915_live_selftests.hi915_mock_selftests.hi915_random.ci915_random.hi915_selftest.ci915_vma.cintel_breadcrumbs.cintel_hangcheck.cintel_uncore.cmock_context.cmock_context.hmock_dmabuf.cmock_dmabuf.hmock_drm.cmock_drm.hmock_engine.cmock_engine.hmock_gem_device.cmock_gem_device.hmock_gem_object.hmock_gtt.cmock_gtt.hmock_request.cmock_request.hscatterlist.cimxKconfigMakefiledw_hdmi-imx.cimx-drm-core.cimx-drm.himx-ldb.cimx-tve.cipuv3-crtc.cipuv3-plane.cipuv3-plane.hparallel-display.clibdrm_random.cdrm_random.hmediatekKconfigMakefilemtk_cec.cmtk_cec.hmtk_disp_ovl.cmtk_disp_rdma.cmtk_dpi.cmtk_dpi_regs.hmtk_drm_crtc.cmtk_drm_crtc.hmtk_drm_ddp.cmtk_drm_ddp.hmtk_drm_ddp_comp.cmtk_drm_ddp_comp.hmtk_drm_drv.cmtk_drm_drv.hmtk_drm_fb.cmtk_drm_fb.hmtk_drm_gem.cmtk_drm_gem.hmtk_drm_plane.cmtk_drm_plane.hmtk_dsi.cmtk_hdmi.cmtk_hdmi.hmtk_hdmi_ddc.cmtk_hdmi_regs.hmtk_mipi_tx.cmtk_mt8173_hdmi_phy.cmesonKconfigMakefilemeson_canvas.cmeson_canvas.hmeson_crtc.cmeson_crtc.hmeson_drv.cmeson_drv.hmeson_dw_hdmi.cmeson_dw_hdmi.hmeson_plane.cmeson_plane.hmeson_registers.hmeson_vclk.cmeson_vclk.hmeson_venc.cmeson_venc.hmeson_venc_cvbs.cmeson_venc_cvbs.hmeson_viu.cmeson_viu.hmeson_vpp.cmeson_vpp.hmgaMakefilemga_dma.cmga_drv.cmga_drv.hmga_ioc32.cmga_irq.cmga_state.cmga_warp.cmgag200KconfigMakefilemgag200_cursor.cmgag200_drv.cmgag200_drv.hmgag200_fb.cmgag200_i2c.cmgag200_main.cmgag200_mode.cmgag200_reg.hmgag200_ttm.cmsmKconfigMakefileNOTESadrenoa2xx.xml.ha3xx.xml.ha3xx_gpu.ca3xx_gpu.ha4xx.xml.ha4xx_gpu.ca4xx_gpu.ha5xx.xml.ha5xx_gpu.ca5xx_gpu.ha5xx_power.cadreno_common.xml.hadreno_device.cadreno_gpu.cadreno_gpu.hadreno_pm4.xml.hdsidsi.cdsi.hdsi.xml.hdsi_cfg.cdsi_cfg.hdsi_host.cdsi_manager.cmmss_cc.xml.hphydsi_phy.cdsi_phy.hdsi_phy_14nm.cdsi_phy_20nm.cdsi_phy_28nm.cdsi_phy_28nm_8960.cplldsi_pll.cdsi_pll.hdsi_pll_14nm.cdsi_pll_28nm.cdsi_pll_28nm_8960.csfpb.xml.hedpedp.cedp.hedp.xml.hedp_aux.cedp_bridge.cedp_connector.cedp_ctrl.cedp_phy.chdmihdmi.chdmi.hhdmi.xml.hhdmi_audio.chdmi_bridge.chdmi_connector.chdmi_hdcp.chdmi_i2c.chdmi_phy.chdmi_phy_8960.chdmi_phy_8996.chdmi_phy_8x60.chdmi_phy_8x74.chdmi_pll_8960.cqfprom.xml.hmdpmdp4mdp4.xml.hmdp4_crtc.cmdp4_dsi_encoder.cmdp4_dtv_encoder.cmdp4_irq.cmdp4_kms.cmdp4_kms.hmdp4_lcdc_encoder.cmdp4_lvds_connector.cmdp4_lvds_pll.cmdp4_plane.cmdp5mdp5.xml.hmdp5_cfg.cmdp5_cfg.hmdp5_cmd_encoder.cmdp5_crtc.cmdp5_ctl.cmdp5_ctl.hmdp5_encoder.cmdp5_irq.cmdp5_kms.cmdp5_kms.hmdp5_mdss.cmdp5_mixer.cmdp5_mixer.hmdp5_pipe.cmdp5_pipe.hmdp5_plane.cmdp5_smp.cmdp5_smp.hmdp_common.xml.hmdp_format.cmdp_kms.cmdp_kms.hmsm_atomic.cmsm_debugfs.cmsm_debugfs.hmsm_drv.cmsm_drv.hmsm_fb.cmsm_fbdev.cmsm_fence.cmsm_fence.hmsm_gem.cmsm_gem.hmsm_gem_prime.cmsm_gem_shrinker.cmsm_gem_submit.cmsm_gem_vma.cmsm_gpu.cmsm_gpu.hmsm_iommu.cmsm_kms.hmsm_mmu.hmsm_perf.cmsm_rd.cmsm_ringbuffer.cmsm_ringbuffer.hmxsfbKconfigMakefilemxsfb_crtc.cmxsfb_drv.cmxsfb_drv.hmxsfb_out.cmxsfb_regs.hnouveauKbuildKconfigdispnv04Kbuildarb.ccrtc.ccursor.cdac.cdfp.cdisp.cdisp.hhw.chw.hnvreg.hoverlay.ctvmodesnv17.ctvnv04.ctvnv17.ctvnv17.hincludenvifcl0002.hcl0046.hcl006b.hcl0080.hcl506e.hcl506f.hcl5070.hcl507a.hcl507b.hcl507c.hcl507d.hcl507e.hcl826e.hcl826f.hcl906f.hcl9097.hcla06f.hclass.hclient.hdevice.hdriver.hevent.hif0000.hif0001.hif0002.hif0003.hif0004.hif0005.hioctl.hlist.hnotify.hobject.hos.hunpack.hnvkmcoreclient.hdebug.hdevice.hengine.henum.hevent.hfirmware.hgpuobj.hioctl.hmemory.hmm.hmsgqueue.hnotify.hobject.hoproxy.hoption.hos.hpci.hramht.hsubdev.htegra.henginebsp.hce.hcipher.hdisp.hdma.hfalcon.hfifo.hgr.hmpeg.hmsenc.hmspdec.hmsppp.hmsvld.hnvdec.hnvenc.hpm.hsec.hsec2.hsw.hvic.hvp.hxtensa.hsubdevbar.hbiosbios.hM0203.hM0205.hM0209.hP0260.hbit.hbmp.hboost.hconn.hcstep.hdcb.hdisp.hdp.hextdev.hfan.hgpio.hi2c.hiccsense.himage.hinit.hmxm.hnpde.hpcir.hperf.hpll.hpmu.hpower_budget.hramcfg.hrammap.htherm.htiming.hvmap.hvolt.hvpstate.hxpio.hbus.hclk.hdevinit.hfb.hfuse.hgpio.hi2c.hibus.hiccsense.hinstmem.hltc.hmc.hmmu.hmxm.hpci.hpmu.hsecboot.htherm.htimer.htop.hvga.hvolt.hnouveau_abi16.cnouveau_abi16.hnouveau_acpi.cnouveau_acpi.hnouveau_backlight.cnouveau_bios.cnouveau_bios.hnouveau_bo.cnouveau_bo.hnouveau_chan.cnouveau_chan.hnouveau_connector.cnouveau_connector.hnouveau_crtc.hnouveau_debugfs.cnouveau_debugfs.hnouveau_display.cnouveau_display.hnouveau_dma.cnouveau_dma.hnouveau_dp.cnouveau_drm.cnouveau_drv.hnouveau_encoder.hnouveau_fbcon.cnouveau_fbcon.hnouveau_fence.cnouveau_fence.hnouveau_gem.cnouveau_gem.hnouveau_hwmon.cnouveau_hwmon.hnouveau_ioc32.cnouveau_ioctl.hnouveau_led.cnouveau_led.hnouveau_nvif.cnouveau_platform.cnouveau_platform.hnouveau_prime.cnouveau_reg.hnouveau_sgdma.cnouveau_ttm.cnouveau_ttm.hnouveau_usif.cnouveau_usif.hnouveau_vga.cnouveau_vga.hnv04_fbcon.cnv04_fence.cnv10_fence.cnv10_fence.hnv17_fence.cnv50_display.cnv50_display.hnv50_fbcon.cnv50_fence.cnv84_fence.cnvc0_fbcon.cnvc0_fence.cnvifKbuildclient.cdevice.cdriver.cnotify.cobject.cnvkmKbuildcoreKbuildclient.cengine.cenum.cevent.cfirmware.cgpuobj.cioctl.cmemory.cmm.cnotify.cobject.coproxy.coption.cramht.csubdev.cengineKbuildbspKbuildg84.cceKbuildfuccom.fucgf100.fuc3gf100.fuc3.hgt215.fuc3gt215.fuc3.hgf100.cgk104.cgm107.cgm200.cgp100.cgp102.cgt215.cpriv.hcipherKbuildg84.cdeviceKbuildacpi.cacpi.hbase.cctrl.cctrl.hpci.cpriv.htegra.cuser.cdispKbuildbase.cbaseg84.cbasegf119.cbasegk104.cbasegk110.cbasegp102.cbasegt200.cbasegt215.cbasenv50.cchangf119.cchannv50.cchannv50.hconn.cconn.hcoreg84.ccoreg94.ccoregf119.ccoregk104.ccoregk110.ccoregm107.ccoregm200.ccoregp100.ccoregp102.ccoregt200.ccoregt215.ccorenv50.ccursg84.ccursgf119.ccursgk104.ccursgp102.ccursgt215.ccursnv50.cdacnv50.cdmacgf119.cdmacgp102.cdmacnv50.cdmacnv50.hdport.cdport.hg84.cg94.cgf119.cgk104.cgk110.cgm107.cgm200.cgp100.cgp102.cgt200.cgt215.chdagf119.chdagt215.chdmig84.chdmigf119.chdmigk104.chdmigt215.cnv04.cnv50.cnv50.hoimmg84.coimmgf119.coimmgk104.coimmgp102.coimmgt215.coimmnv50.coutp.coutp.houtpdp.coutpdp.hovlyg84.covlygf119.covlygk104.covlygp102.covlygt200.covlygt215.covlynv50.cpiocgf119.cpiocnv50.cpiornv50.cpriv.hrootg84.crootg94.crootgf119.crootgk104.crootgk110.crootgm107.crootgm200.crootgp100.crootgp102.crootgt200.crootgt215.crootnv04.crootnv50.crootnv50.hsorg94.csorgf119.csorgm107.csorgm200.csornv50.cvga.cdmaKbuildbase.cgf100.cgf119.cnv04.cnv50.cpriv.huser.cuser.husergf100.cusergf119.cusernv04.cusernv50.cfalcon.cfifoKbuildbase.cchan.cchan.hchang84.cchangf100.hchangk104.hchannv04.hchannv50.cchannv50.hdmag84.cdmanv04.cdmanv10.cdmanv17.cdmanv40.cdmanv50.cg84.cgf100.cgf100.hgk104.cgk104.hgk110.cgk208.cgk20a.cgm107.cgm200.cgm20b.cgp100.cgp10b.cgpfifog84.cgpfifogf100.cgpfifogk104.cgpfifogk110.cgpfifogm200.cgpfifogp100.cgpfifonv50.cnv04.cnv04.hnv10.cnv17.cnv40.cnv50.cnv50.hpriv.hregsnv04.hgrKbuildbase.cctxgf100.cctxgf100.hctxgf104.cctxgf108.cctxgf110.cctxgf117.cctxgf119.cctxgk104.cctxgk110.cctxgk110b.cctxgk208.cctxgk20a.cctxgm107.cctxgm200.cctxgm20b.cctxgp100.cctxgp102.cctxgp107.cctxnv40.cctxnv40.hctxnv50.cfuccom.fucgpc.fucgpcgf100.fuc3gpcgf100.fuc3.hgpcgf117.fuc3gpcgf117.fuc3.hgpcgk104.fuc3gpcgk104.fuc3.hgpcgk110.fuc3gpcgk110.fuc3.hgpcgk208.fuc5gpcgk208.fuc5.hgpcgm107.fuc5gpcgm107.fuc5.hhub.fuchubgf100.fuc3hubgf100.fuc3.hhubgf117.fuc3hubgf117.fuc3.hhubgk104.fuc3hubgk104.fuc3.hhubgk110.fuc3hubgk110.fuc3.hhubgk208.fuc5hubgk208.fuc5.hhubgm107.fuc5hubgm107.fuc5.hmacros.fucos.hg84.cgf100.cgf100.hgf104.cgf108.cgf110.cgf117.cgf119.cgk104.cgk110.cgk110b.cgk208.cgk20a.cgm107.cgm200.cgm20b.cgp100.cgp102.cgp107.cgp10b.cgt200.cgt215.cmcp79.cmcp89.cnv04.cnv10.cnv10.hnv15.cnv17.cnv20.cnv20.hnv25.cnv2a.cnv30.cnv34.cnv35.cnv40.cnv40.hnv44.cnv50.cnv50.hpriv.hregs.hmpegKbuildg84.cnv31.cnv31.hnv40.cnv44.cnv50.cpriv.hmsencKbuildmspdecKbuildbase.cg98.cgf100.cgk104.cgt215.cpriv.hmspppKbuildbase.cg98.cgf100.cgt215.cpriv.hmsvldKbuildbase.cg98.cgf100.cgk104.cgt215.cmcp89.cpriv.hnvdecKbuildbase.cgp102.cpriv.hnvencKbuildpmKbuildbase.cg84.cgf100.cgf100.hgf108.cgf117.cgk104.cgt200.cgt215.cnv40.cnv40.hnv50.cpriv.hsecKbuildfucg98.fuc0sg98.fuc0s.hg98.csec2Kbuildbase.cgp102.cpriv.hswKbuildbase.cchan.cchan.hgf100.cnv04.cnv10.cnv50.cnv50.hnvsw.cnvsw.hpriv.hvicKbuildvpKbuildg84.cxtensa.cfalconKbuildbase.cmsgqueue.cmsgqueue.hmsgqueue_0137c63d.cmsgqueue_0148cdec.cpriv.hv1.csubdevKbuildbarKbuildbase.cg84.cgf100.cgf100.hgk20a.cnv50.cnv50.hpriv.hbiosKbuildM0203.cM0205.cM0209.cP0260.cbase.cbit.cboost.cconn.ccstep.cdcb.cdisp.cdp.cextdev.cfan.cgpio.ci2c.ciccsense.cimage.cinit.cmxm.cnpde.cpcir.cperf.cpll.cpmu.cpower_budget.cpriv.hramcfg.crammap.cshadow.cshadowacpi.cshadowof.cshadowpci.cshadowramin.cshadowrom.ctherm.ctiming.cvmap.cvolt.cvpstate.cxpio.cbusKbuildbase.cg94.cgf100.chwsq.chwsq.hnv04.cnv31.cnv50.cpriv.hclkKbuildbase.cg84.cgf100.cgk104.cgk20a.cgk20a.hgm20b.cgt215.cgt215.hmcp77.cnv04.cnv40.cnv50.cnv50.hpll.hpllgt215.cpllnv04.cpriv.hseq.hdevinitKbuildbase.cfbmem.hg84.cg98.cgf100.cgm107.cgm200.cgt215.cmcp89.cnv04.cnv04.hnv05.cnv10.cnv1a.cnv20.cnv50.cnv50.hpriv.hfbKbuildbase.cg84.cgddr3.cgddr5.cgf100.cgf100.hgf108.cgk104.cgk20a.cgm107.cgm200.cgm20b.cgp100.cgp102.cgp10b.cgt215.cmcp77.cmcp89.cnv04.cnv10.cnv1a.cnv20.cnv25.cnv30.cnv35.cnv36.cnv40.cnv41.cnv44.cnv46.cnv47.cnv49.cnv4e.cnv50.cnv50.hpriv.hram.cram.hramfuc.hramgf100.cramgf108.cramgk104.cramgm107.cramgm200.cramgp100.cramgt215.crammcp77.cramnv04.cramnv10.cramnv1a.cramnv20.cramnv40.cramnv40.hramnv41.cramnv44.cramnv49.cramnv4e.cramnv50.cramseq.hregsnv04.hsddr2.csddr3.cfuseKbuildbase.cgf100.cgm107.cnv50.cpriv.hgpioKbuildbase.cg94.cgf119.cgk104.cnv10.cnv50.cpriv.hi2cKbuildanx9805.caux.caux.hauxg94.cauxgf119.cauxgm200.cbase.cbit.cbus.cbus.hbusgf119.cbusnv04.cbusnv4e.cbusnv50.cg94.cgf117.cgf119.cgk104.cgm200.cnv04.cnv4e.cnv50.cpad.cpad.hpadg94.cpadgf119.cpadgm200.cpadnv04.cpadnv4e.cpadnv50.cpriv.hibusKbuildgf100.cgf117.cgk104.cgk20a.cgm200.cgp10b.cpriv.hiccsenseKbuildbase.cgf100.cpriv.hinstmemKbuildbase.cgk20a.cnv04.cnv40.cnv50.cpriv.hltcKbuildbase.cgf100.cgk104.cgm107.cgm200.cgp100.cpriv.hmcKbuildbase.cg84.cg98.cgf100.cgk104.cgk20a.cgp100.cgp10b.cgt215.cnv04.cnv11.cnv17.cnv44.cnv50.cpriv.hmmuKbuildbase.cgf100.cnv04.cnv04.hnv41.cnv44.cnv50.cpriv.hmxmKbuildbase.cmxms.cmxms.hnv50.cpriv.hpciKbuildagp.cagp.hbase.cg84.cg92.cg94.cgf100.cgf106.cgk104.cgp100.cnv04.cnv40.cnv46.cnv4c.cpcie.cpriv.hpmuKbuildbase.cfucarith.fucgf100.fuc3gf100.fuc3.hgf119.fuc4gf119.fuc4.hgk208.fuc5gk208.fuc5.hgt215.fuc3gt215.fuc3.hhost.fuci2c_.fucidle.fuckernel.fucmacros.fucmemx.fucos.hperf.fuctest.fucgf100.cgf119.cgk104.cgk110.cgk208.cgk20a.cgm107.cgm20b.cgp100.cgp102.cgt215.cmemx.cpriv.hsecbootKbuildacr.cacr.hacr_r352.cacr_r352.hacr_r361.cacr_r361.hacr_r364.cacr_r367.cacr_r367.hacr_r375.cbase.cgm200.cgm200.hgm20b.cgp102.cgp10b.chs_ucode.chs_ucode.hls_ucode.hls_ucode_gr.cls_ucode_msgqueue.cpriv.hthermKbuildbase.cfan.cfannil.cfanpwm.cfantog.cg84.cgf119.cgm107.cgt215.cic.cnv40.cnv50.cpriv.htemp.ctimerKbuildbase.cgk20a.cnv04.cnv40.cnv41.cpriv.hregsnv04.htopKbuildbase.cgk104.cpriv.hvoltKbuildbase.cgf100.cgk104.cgk20a.cgk20a.hgm20b.cgpio.cnv40.cpriv.homapdrmKconfigMakefileTODOdisplaysKconfigMakefileconnector-analog-tv.cconnector-dvi.cconnector-hdmi.cencoder-opa362.cencoder-tfp410.cencoder-tpd12s015.cpanel-dpi.cpanel-dsi-cm.cpanel-lgphilips-lb035q02.cpanel-nec-nl8048hl11.cpanel-sharp-ls037v7dw01.cpanel-sony-acx565akm.cpanel-tpo-td028ttec1.cpanel-tpo-td043mtea1.cdssKconfigMakefilebase.ccore.cdispc.cdispc.hdispc_coefs.cdisplay.cdpi.cdsi.cdss-of.cdss.cdss.hdss_features.cdss_features.hhdmi.hhdmi4.chdmi4_core.chdmi4_core.hhdmi5.chdmi5_core.chdmi5_core.hhdmi_common.chdmi_phy.chdmi_pll.chdmi_wp.comapdss-boot-init.comapdss.houtput.cpll.crfbi.csdi.cvenc.cvideo-pll.comap_connector.comap_crtc.comap_debugfs.comap_dmm_priv.homap_dmm_tiler.comap_dmm_tiler.homap_drv.comap_drv.homap_encoder.comap_fb.comap_fbdev.comap_gem.comap_gem_dmabuf.comap_irq.comap_plane.ctcm-sita.ctcm-sita.htcm.hpanelKconfigMakefilepanel-jdi-lt070me05000.cpanel-lg-lg4573.cpanel-lvds.cpanel-panasonic-vvx10f034n00.cpanel-samsung-ld9040.cpanel-samsung-s6e3ha2.cpanel-samsung-s6e8aa0.cpanel-sharp-lq101r1sx01.cpanel-sharp-ls043t1le01.cpanel-simple.cpanel-sitronix-st7789v.cqxlKconfigMakefileqxl_cmd.cqxl_debugfs.cqxl_dev.hqxl_display.cqxl_draw.cqxl_drv.cqxl_drv.hqxl_dumb.cqxl_fb.cqxl_gem.cqxl_image.cqxl_ioctl.cqxl_irq.cqxl_kms.cqxl_object.cqxl_object.hqxl_prime.cqxl_release.cqxl_ttm.cr128Makefiler128_cce.cr128_drv.cr128_drv.hr128_ioc32.cr128_irq.cr128_state.cradeonKconfigMakefileObjectID.hatom-bits.hatom-names.hatom-types.hatom.catom.hatombios.hatombios_crtc.catombios_dp.catombios_encoders.catombios_i2c.cavivod.hbtc_dpm.cbtc_dpm.hbtcd.hcayman_blit_shaders.ccayman_blit_shaders.hci_dpm.cci_dpm.hci_smc.ccik.ccik_blit_shaders.ccik_blit_shaders.hcik_reg.hcik_sdma.ccikd.hclearstate_cayman.hclearstate_ci.hclearstate_defs.hclearstate_evergreen.hclearstate_si.hcypress_dpm.ccypress_dpm.hdce3_1_afmt.cdce6_afmt.cevergreen.cevergreen_blit_shaders.cevergreen_blit_shaders.hevergreen_cs.cevergreen_dma.cevergreen_hdmi.cevergreen_reg.hevergreen_smc.hevergreend.hkv_dpm.ckv_dpm.hkv_smc.cmkregtable.cni.cni_dma.cni_dpm.cni_dpm.hni_reg.hnid.hnislands_smc.hppsmc.hpptable.hr100.cr100_track.hr100d.hr200.cr300.cr300_reg.hr300d.hr420.cr420d.hr500_reg.hr520.cr520d.hr600.cr600_blit_shaders.cr600_blit_shaders.hr600_cs.cr600_dma.cr600_dpm.cr600_dpm.hr600_hdmi.cr600_reg.hr600d.hradeon.hradeon_acpi.cradeon_acpi.hradeon_agp.cradeon_asic.cradeon_asic.hradeon_atombios.cradeon_atpx_handler.cradeon_audio.cradeon_audio.hradeon_benchmark.cradeon_bios.cradeon_clocks.cradeon_combios.cradeon_connectors.cradeon_cs.cradeon_cursor.cradeon_device.cradeon_display.cradeon_dp_auxch.cradeon_dp_mst.cradeon_drv.cradeon_drv.hradeon_encoders.cradeon_family.hradeon_fb.cradeon_fence.cradeon_gart.cradeon_gem.cradeon_i2c.cradeon_ib.cradeon_ioc32.cradeon_irq_kms.cradeon_kfd.cradeon_kfd.hradeon_kms.cradeon_legacy_crtc.cradeon_legacy_encoders.cradeon_legacy_tv.cradeon_mn.cradeon_mode.hradeon_object.cradeon_object.hradeon_pm.cradeon_prime.cradeon_reg.hradeon_ring.cradeon_sa.cradeon_semaphore.cradeon_sync.cradeon_test.cradeon_trace.hradeon_trace_points.cradeon_ttm.cradeon_ucode.cradeon_ucode.hradeon_uvd.cradeon_vce.cradeon_vm.creg_srcscaymanevergreenr100r200r300r420r600rn50rs600rv515rs100d.hrs400.crs400d.hrs600.crs600d.hrs690.crs690d.hrs780_dpm.crs780_dpm.hrs780d.hrv200d.hrv250d.hrv350d.hrv515.crv515d.hrv6xx_dpm.crv6xx_dpm.hrv6xxd.hrv730_dpm.crv730d.hrv740_dpm.crv740d.hrv770.crv770_dma.crv770_dpm.crv770_dpm.hrv770_smc.crv770_smc.hrv770d.hsi.csi_blit_shaders.csi_blit_shaders.hsi_dma.csi_dpm.csi_dpm.hsi_reg.hsi_smc.csid.hsislands_smc.hsmu7.hsmu7_discrete.hsmu7_fusion.hsumo_dpm.csumo_dpm.hsumo_smc.csumod.htrinity_dpm.ctrinity_dpm.htrinity_smc.ctrinityd.huvd_v1_0.cuvd_v2_2.cuvd_v3_1.cuvd_v4_2.cvce_v1_0.cvce_v2_0.crcar-duKconfigMakefilercar_du_crtc.crcar_du_crtc.hrcar_du_drv.crcar_du_drv.hrcar_du_encoder.crcar_du_encoder.hrcar_du_group.crcar_du_group.hrcar_du_kms.crcar_du_kms.hrcar_du_lvdscon.crcar_du_lvdscon.hrcar_du_lvdsenc.crcar_du_lvdsenc.hrcar_du_plane.crcar_du_plane.hrcar_du_regs.hrcar_du_vsp.crcar_du_vsp.hrcar_dw_hdmi.crcar_lvds_regs.hrockchipKconfigMakefileanalogix_dp-rockchip.ccdn-dp-core.ccdn-dp-core.hcdn-dp-reg.ccdn-dp-reg.hdw-mipi-dsi.cdw_hdmi-rockchip.cinno_hdmi.cinno_hdmi.hrockchip_drm_drv.crockchip_drm_drv.hrockchip_drm_fb.crockchip_drm_fb.hrockchip_drm_fbdev.crockchip_drm_fbdev.hrockchip_drm_gem.crockchip_drm_gem.hrockchip_drm_psr.crockchip_drm_psr.hrockchip_drm_vop.crockchip_drm_vop.hrockchip_vop_reg.crockchip_vop_reg.hsavageMakefilesavage_bci.csavage_drv.csavage_drv.hsavage_state.cselftestsMakefiledrm_mm_selftests.hdrm_selftest.cdrm_selftest.htest-drm_mm.cshmobileKconfigMakefileshmob_drm_backlight.cshmob_drm_backlight.hshmob_drm_crtc.cshmob_drm_crtc.hshmob_drm_drv.cshmob_drm_drv.hshmob_drm_kms.cshmob_drm_kms.hshmob_drm_plane.cshmob_drm_plane.hshmob_drm_regs.hsisMakefilesis_drv.csis_drv.hsis_mm.cstiKconfigMakefileNOTESsti_awg_utils.csti_awg_utils.hsti_compositor.csti_compositor.hsti_crtc.csti_crtc.hsti_cursor.csti_cursor.hsti_drv.csti_drv.hsti_dvo.csti_gdp.csti_gdp.hsti_hda.csti_hdmi.csti_hdmi.hsti_hdmi_tx3g4c28phy.csti_hdmi_tx3g4c28phy.hsti_hqvdp.csti_hqvdp_lut.hsti_mixer.csti_mixer.hsti_plane.csti_plane.hsti_tvout.csti_vid.csti_vid.hsti_vtg.csti_vtg.hsun4iKconfigMakefilesun4i_backend.csun4i_backend.hsun4i_crtc.csun4i_crtc.hsun4i_dotclock.csun4i_dotclock.hsun4i_drv.csun4i_drv.hsun4i_framebuffer.csun4i_framebuffer.hsun4i_layer.csun4i_layer.hsun4i_rgb.csun4i_rgb.hsun4i_tcon.csun4i_tcon.hsun4i_tv.csun6i_drc.ctdfxMakefiletdfx_drv.ctdfx_drv.htegraKconfigMakefiledc.cdc.hdpaux.cdpaux.hdrm.cdrm.hdsi.cdsi.hfalcon.cfalcon.hfb.cgem.cgem.hgr2d.cgr2d.hgr3d.cgr3d.hhdmi.chdmi.hmipi-phy.cmipi-phy.houtput.crgb.csor.csor.hvic.cvic.htilcdcKconfigMakefiletilcdc_crtc.ctilcdc_drv.ctilcdc_drv.htilcdc_external.ctilcdc_external.htilcdc_panel.ctilcdc_panel.htilcdc_plane.ctilcdc_regs.htilcdc_slave_compat.ctilcdc_slave_compat.dtstilcdc_slave_compat.htilcdc_tfp410.ctilcdc_tfp410.htinydrmKconfigMakefilecoreMakefiletinydrm-core.ctinydrm-helpers.ctinydrm-pipe.cmi0283qt.cmipi-dbi.cttmMakefilettm_agp_backend.cttm_bo.cttm_bo_manager.cttm_bo_util.cttm_bo_vm.cttm_execbuf_util.cttm_lock.cttm_memory.cttm_module.cttm_object.cttm_page_alloc.cttm_page_alloc_dma.cttm_tt.cudlKconfigMakefileudl_connector.cudl_dmabuf.cudl_drv.cudl_drv.hudl_encoder.cudl_fb.cudl_gem.cudl_main.cudl_modeset.cudl_transfer.cvc4KconfigMakefilevc4_bo.cvc4_crtc.cvc4_debugfs.cvc4_dpi.cvc4_drv.cvc4_drv.hvc4_dsi.cvc4_gem.cvc4_hdmi.cvc4_hvs.cvc4_irq.cvc4_kms.cvc4_packet.hvc4_plane.cvc4_qpu_defines.hvc4_regs.hvc4_render_cl.cvc4_trace.hvc4_trace_points.cvc4_v3d.cvc4_validate.cvc4_validate_shaders.cvc4_vec.cvgemMakefilevgem_drv.cvgem_drv.hvgem_fence.cviaMakefilevia_3d_reg.hvia_dma.cvia_dmablit.cvia_dmablit.hvia_drv.cvia_drv.hvia_irq.cvia_map.cvia_mm.cvia_verifier.cvia_verifier.hvia_video.cvirtioKconfigMakefilevirtgpu_debugfs.cvirtgpu_display.cvirtgpu_drm_bus.cvirtgpu_drv.cvirtgpu_drv.hvirtgpu_fb.cvirtgpu_fence.cvirtgpu_gem.cvirtgpu_ioctl.cvirtgpu_kms.cvirtgpu_object.cvirtgpu_plane.cvirtgpu_prime.cvirtgpu_ttm.cvirtgpu_vq.cvmwgfxKconfigMakefiledevice_includeincludeCheck.hsvga3d_caps.hsvga3d_cmd.hsvga3d_devcaps.hsvga3d_dx.hsvga3d_limits.hsvga3d_reg.hsvga3d_surfacedefs.hsvga3d_types.hsvga_escape.hsvga_overlay.hsvga_reg.hsvga_types.hvm_basic_types.hvmware_pack_begin.hvmware_pack_end.hvmwgfx_binding.cvmwgfx_binding.hvmwgfx_buffer.cvmwgfx_cmdbuf.cvmwgfx_cmdbuf_res.cvmwgfx_context.cvmwgfx_cotable.cvmwgfx_dmabuf.cvmwgfx_drv.cvmwgfx_drv.hvmwgfx_execbuf.cvmwgfx_fb.cvmwgfx_fence.cvmwgfx_fence.hvmwgfx_fifo.cvmwgfx_gmr.cvmwgfx_gmrid_manager.cvmwgfx_ioctl.cvmwgfx_irq.cvmwgfx_kms.cvmwgfx_kms.hvmwgfx_ldu.cvmwgfx_marker.cvmwgfx_mob.cvmwgfx_msg.cvmwgfx_msg.hvmwgfx_overlay.cvmwgfx_prime.cvmwgfx_reg.hvmwgfx_resource.cvmwgfx_resource_priv.hvmwgfx_scrn.cvmwgfx_shader.cvmwgfx_simple_resource.cvmwgfx_so.cvmwgfx_so.hvmwgfx_stdu.cvmwgfx_surface.cvmwgfx_ttm_glue.cvmwgfx_va.czteKconfigMakefilezx_drm_drv.czx_drm_drv.hzx_hdmi.czx_hdmi_regs.hzx_plane.czx_plane.hzx_plane_regs.hzx_tvenc.czx_tvenc_regs.hzx_vou.czx_vou.hzx_vou_regs.hhost1xKconfigMakefilebus.cbus.hcdma.ccdma.hchannel.cchannel.hdebug.cdebug.hdev.cdev.hhwcdma_hw.cchannel_hw.cdebug_hw.chost1x01.chost1x01.hhost1x01_hardware.hhost1x02.chost1x02.hhost1x02_hardware.hhost1x04.chost1x04.hhost1x04_hardware.hhost1x05.chost1x05.hhost1x05_hardware.hhw_host1x01_channel.hhw_host1x01_sync.hhw_host1x01_uclass.hhw_host1x02_channel.hhw_host1x02_sync.hhw_host1x02_uclass.hhw_host1x04_channel.hhw_host1x04_sync.hhw_host1x04_uclass.hhw_host1x05_channel.hhw_host1x05_sync.hhw_host1x05_uclass.hintr_hw.csyncpt_hw.cintr.cintr.hjob.cjob.hmipi.csyncpt.csyncpt.hipu-v3KconfigMakefileipu-common.cipu-cpmem.cipu-csi.cipu-dc.cipu-di.cipu-dmfc.cipu-dp.cipu-ic.cipu-image-convert.cipu-pre.cipu-prg.cipu-prv.hipu-smfc.cipu-vdi.cvgaKconfigMakefilevga_switcheroo.cvgaarb.chidKconfigMakefilehid-a4tech.chid-accutouch.chid-alps.chid-apple.chid-appleir.chid-asus.chid-aureal.chid-axff.chid-belkin.chid-betopff.chid-cherry.chid-chicony.chid-cmedia.chid-core.chid-corsair.chid-cp2112.chid-cypress.chid-debug.chid-dr.chid-elecom.chid-elo.chid-emsff.chid-ezkey.chid-gaff.chid-gembird.chid-generic.chid-gfrm.chid-gt683r.chid-gyration.chid-holtek-kbd.chid-holtek-mouse.chid-holtekff.chid-hyperv.chid-icade.chid-ids.hhid-input.chid-kensington.chid-keytouch.chid-kye.chid-lcpower.chid-led.chid-lenovo.chid-lg.chid-lg.hhid-lg2ff.chid-lg3ff.chid-lg4ff.chid-lg4ff.hhid-lgff.chid-logitech-dj.chid-logitech-hidpp.chid-magicmouse.chid-mf.chid-microsoft.chid-monterey.chid-multitouch.chid-nti.chid-ntrig.chid-ortek.chid-penmount.chid-petalynx.chid-picolcd.hhid-picolcd_backlight.chid-picolcd_cir.chid-picolcd_core.chid-picolcd_debugfs.chid-picolcd_fb.chid-picolcd_lcd.chid-picolcd_leds.chid-pl.chid-plantronics.chid-primax.chid-prodikeys.chid-rmi.chid-roccat-arvo.chid-roccat-arvo.hhid-roccat-common.chid-roccat-common.hhid-roccat-isku.chid-roccat-isku.hhid-roccat-kone.chid-roccat-kone.hhid-roccat-koneplus.chid-roccat-koneplus.hhid-roccat-konepure.chid-roccat-kovaplus.chid-roccat-kovaplus.hhid-roccat-lua.chid-roccat-lua.hhid-roccat-pyra.chid-roccat-pyra.hhid-roccat-ryos.chid-roccat-savu.chid-roccat-savu.hhid-roccat.chid-saitek.chid-samsung.chid-sensor-custom.chid-sensor-hub.chid-sjoy.chid-sony.chid-speedlink.chid-steelseries.chid-sunplus.chid-tivo.chid-tmff.chid-topseed.chid-twinhan.chid-uclogic.chid-udraw-ps3.chid-waltop.chid-wiimote-core.chid-wiimote-debug.chid-wiimote-modules.chid-wiimote.hhid-xinmo.chid-zpff.chid-zydacron.chidraw.ci2c-hidKconfigMakefilei2c-hid.cintel-ish-hidKconfigMakefileipchw-ish-regs.hhw-ish.hipc.cpci-ish.cishtpishtp-hid-client.cishtp-hid.cishtp-hid.hbus.cbus.hclient-buffers.cclient.cclient.hdma-if.chbm.chbm.hinit.cishtp-dev.huhid.cusbhidKconfigMakefilehid-core.chid-pidff.chid-quirks.chiddev.cusbhid.husbkbd.cusbmouse.cwacom.hwacom_sys.cwacom_wac.cwacom_wac.hhsiKconfigMakefileclientsKconfigMakefilecmt_speech.chsi_char.cnokia-modem.cssi_protocol.ccontrollersKconfigMakefileomap_ssi.homap_ssi_core.comap_ssi_port.comap_ssi_regs.hhsi_boardinfo.chsi_core.chsi_core.hhvKconfigMakefilechannel.cchannel_mgmt.cconnection.chv.chv_balloon.chv_fcopy.chv_kvp.chv_snapshot.chv_util.chv_utils_transport.chv_utils_transport.hhyperv_vmbus.hring_buffer.cvmbus_drv.chwmonKconfigMakefileab8500.cabituguru.cabituguru3.cabx500.cabx500.hacpi_power_meter.cad7314.cad7414.cad7418.cadc128d818.cadcxx.cadm1021.cadm1025.cadm1026.cadm1029.cadm1031.cadm9240.cads1015.cads7828.cads7871.cadt7310.cadt7410.cadt7411.cadt7462.cadt7470.cadt7475.cadt7x10.cadt7x10.hamc6821.capplesmc.casb100.casc7621.caspeed-pwm-tacho.casus_atk0110.catxp1.ccoretemp.cda9052-hwmon.cda9055-hwmon.cdell-smm-hwmon.cdme1737.cds1621.cds620.cemc1403.cemc2103.cemc6w201.cf71805f.cf71882fg.cf75375s.cfam15h_power.cfschmd.cftsteutates.cg760a.cg762.cgl518sm.cgl520sm.cgpio-fan.chih6130.chwmon-vid.chwmon.ci5500_temp.ci5k_amb.cibmaem.cibmpex.cibmpowernv.ciio_hwmon.cina209.cina2xx.cina3221.cit87.cjc42.cjz4740-hwmon.ck10temp.ck8temp.clineage-pem.clm63.clm70.clm73.clm75.clm75.hlm77.clm78.clm80.clm83.clm85.clm87.clm90.clm92.clm93.clm95234.clm95241.clm95245.cltc2945.cltc2990.cltc4151.cltc4215.cltc4222.cltc4245.cltc4260.cltc4261.cmax1111.cmax16065.cmax1619.cmax1668.cmax197.cmax31722.cmax31790.cmax6639.cmax6642.cmax6650.cmax6697.cmc13783-adc.cmcp3021.cmenf21bmc_hwmon.cnct6683.cnct6775.cnct7802.cnct7904.cnsa320-hwmon.cntc_thermistor.cpc87360.cpc87427.cpcf8591.cpmbusKconfigMakefileadm1275.clm25066.cltc2978.cltc3815.cmax16064.cmax20751.cmax34440.cmax8688.cpmbus.cpmbus.hpmbus_core.ctps40422.cucd9000.cucd9200.czl6100.cpowr1220.cpwm-fan.cs3c-hwmon.csch5627.csch5636.csch56xx-common.csch56xx-common.hscpi-hwmon.csht15.csht21.csht3x.cshtc1.csis5595.csmm665.csmsc47b397.csmsc47m1.csmsc47m192.cstts751.ctc654.ctc74.cthmc50.ctmp102.ctmp103.ctmp108.ctmp401.ctmp421.cultra45_env.cvexpress-hwmon.cvia-cputemp.cvia686a.cvt1211.cvt8231.cw83627ehf.cw83627hf.cw83781d.cw83791d.cw83792d.cw83793.cw83795.cw83l785ts.cw83l786ng.cwm831x-hwmon.cwm8350-hwmon.cxgene-hwmon.chwspinlockKconfigMakefilehwspinlock_core.chwspinlock_internal.homap_hwspinlock.cqcom_hwspinlock.csirf_hwspinlock.cu8500_hsem.chwtracingcoresightKconfigMakefilecoresight-etb10.ccoresight-etm-cp14.ccoresight-etm-perf.ccoresight-etm-perf.hcoresight-etm.hcoresight-etm3x-sysfs.ccoresight-etm3x.ccoresight-etm4x-sysfs.ccoresight-etm4x.ccoresight-etm4x.hcoresight-funnel.ccoresight-priv.hcoresight-replicator-qcom.ccoresight-replicator.ccoresight-stm.ccoresight-tmc-etf.ccoresight-tmc-etr.ccoresight-tmc.ccoresight-tmc.hcoresight-tpiu.ccoresight.cof_coresight.cintel_thKconfigMakefilecore.cdebug.cdebug.hgth.cgth.hintel_th.hmsu.cmsu.hpci.cpti.cpti.hsth.csth.hstmKconfigMakefileconsole.ccore.cdummy_stm.cftrace.cheartbeat.cpolicy.cstm.hi2cKconfigMakefilealgosKconfigMakefilei2c-algo-bit.ci2c-algo-pca.ci2c-algo-pcf.ci2c-algo-pcf.hbussesKconfigMakefilei2c-acorn.ci2c-ali1535.ci2c-ali1563.ci2c-ali15x3.ci2c-amd756-s4882.ci2c-amd756.ci2c-amd8111.ci2c-at91.ci2c-au1550.ci2c-axxia.ci2c-bcm-iproc.ci2c-bcm-kona.ci2c-bcm2835.ci2c-bfin-twi.ci2c-brcmstb.ci2c-cadence.ci2c-cbus-gpio.ci2c-cpm.ci2c-cros-ec-tunnel.ci2c-davinci.ci2c-designware-baytrail.ci2c-designware-core.ci2c-designware-core.hi2c-designware-pcidrv.ci2c-designware-platdrv.ci2c-digicolor.ci2c-diolan-u2c.ci2c-dln2.ci2c-efm32.ci2c-eg20t.ci2c-elektor.ci2c-emev2.ci2c-exynos5.ci2c-gpio.ci2c-highlander.ci2c-hix5hd2.ci2c-hydra.ci2c-i801.ci2c-ibm_iic.ci2c-ibm_iic.hi2c-img-scb.ci2c-imx-lpi2c.ci2c-imx.ci2c-iop3xx.ci2c-iop3xx.hi2c-isch.ci2c-ismt.ci2c-jz4780.ci2c-kempld.ci2c-lpc2k.ci2c-meson.ci2c-mlxcpld.ci2c-mpc.ci2c-mt65xx.ci2c-mv64xxx.ci2c-mxs.ci2c-nforce2-s4985.ci2c-nforce2.ci2c-nomadik.ci2c-ocores.ci2c-octeon-core.ci2c-octeon-core.hi2c-octeon-platdrv.ci2c-omap.ci2c-opal.ci2c-parport-light.ci2c-parport.ci2c-parport.hi2c-pasemi.ci2c-pca-isa.ci2c-pca-platform.ci2c-piix4.ci2c-pmcmsp.ci2c-pnx.ci2c-powermac.ci2c-puv3.ci2c-pxa-pci.ci2c-pxa.ci2c-qup.ci2c-rcar.ci2c-riic.ci2c-rk3x.ci2c-robotfuzz-osif.ci2c-s3c2410.ci2c-scmi.ci2c-sh7760.ci2c-sh_mobile.ci2c-sibyte.ci2c-simtec.ci2c-sirf.ci2c-sis5595.ci2c-sis630.ci2c-sis96x.ci2c-st.ci2c-stm32f4.ci2c-stu300.ci2c-sun6i-p2wi.ci2c-taos-evm.ci2c-tegra-bpmp.ci2c-tegra.ci2c-thunderx-pcidrv.ci2c-tiny-usb.ci2c-uniphier-f.ci2c-uniphier.ci2c-versatile.ci2c-via.ci2c-viapro.ci2c-viperboard.ci2c-wmt.ci2c-xgene-slimpro.ci2c-xiic.ci2c-xlp9xx.ci2c-xlr.cscx200_acb.ci2c-boardinfo.ci2c-core.ci2c-core.hi2c-dev.ci2c-mux.ci2c-slave-eeprom.ci2c-smbus.ci2c-stub.cmuxesKconfigMakefilei2c-arb-gpio-challenge.ci2c-demux-pinctrl.ci2c-mux-gpio.ci2c-mux-ltc4306.ci2c-mux-mlxcpld.ci2c-mux-pca9541.ci2c-mux-pca954x.ci2c-mux-pinctrl.ci2c-mux-reg.cideKconfigMakefileaec62xx.cali14xx.calim15x3.camd74xx.catiixp.cau1xxx-ide.cbuddha.ccmd640.ccmd64x.ccs5520.ccs5530.ccs5535.ccs5536.ccy82c693.cdelkin_cb.cdtc2278.cfalconide.cgayle.chpt366.cht6560b.cicside.cide-4drives.cide-acpi.cide-atapi.cide-cd.cide-cd.hide-cd_ioctl.cide-cd_verbose.cide-cs.cide-devsets.cide-disk.cide-disk.hide-disk_ioctl.cide-disk_proc.cide-dma-sff.cide-dma.cide-eh.cide-floppy.cide-floppy.hide-floppy_ioctl.cide-floppy_proc.cide-gd.cide-gd.hide-generic.cide-io-std.cide-io.cide-ioctls.cide-iops.cide-legacy.cide-lib.cide-park.cide-pci-generic.cide-pio-blacklist.cide-pm.cide-pnp.cide-probe.cide-proc.cide-scan-pci.cide-sysfs.cide-tape.cide-taskfile.cide-timings.cide-xfer-mode.cide.cide_platform.cit8172.cit8213.cit821x.cjmicron.cmacide.cns87415.copti621.cpalm_bk3710.cpdc202xx_new.cpdc202xx_old.cpiix.cpmac.cq40ide.cqd65xx.cqd65xx.hrapide.crz1000.csc1200.cserverworks.csetup-pci.csgiioc4.csiimage.csis5513.csl82c105.cslc90e66.ctc86c001.ctriflex.ctrm290.ctx4938ide.ctx4939ide.cumc8672.cvia82cxxx.cidleKconfigMakefileintel_idle.ciioKconfigMakefileaccelKconfigMakefileadxl345.hadxl345_core.cadxl345_i2c.cadxl345_spi.cbma180.cbma220_spi.cbmc150-accel-core.cbmc150-accel-i2c.cbmc150-accel-spi.cbmc150-accel.hda280.cda311.cdmard06.cdmard09.cdmard10.chid-sensor-accel-3d.ckxcjk-1013.ckxsd9-i2c.ckxsd9-spi.ckxsd9.ckxsd9.hmc3230.cmma7455.hmma7455_core.cmma7455_i2c.cmma7455_spi.cmma7660.cmma8452.cmma9551.cmma9551_core.cmma9551_core.hmma9553.cmxc4005.cmxc6255.csca3000.cssp_accel_sensor.cst_accel.hst_accel_buffer.cst_accel_core.cst_accel_i2c.cst_accel_spi.cstk8312.cstk8ba50.cadcKconfigMakefilead7266.cad7291.cad7298.cad7476.cad7766.cad7791.cad7793.cad7887.cad7923.cad799x.cad_sigma_delta.caspeed_adc.cat91-sama5d2_adc.cat91_adc.caxp20x_adc.caxp288_adc.cbcm_iproc_adc.cberlin2-adc.ccc10001_adc.ccpcap-adc.cda9150-gpadc.cenvelope-detector.cexynos_adc.cfsl-imx25-gcq.chi8435.chx711.cimx7d_adc.cina2xx-adc.clp8788_adc.clpc18xx_adc.clpc32xx_adc.cltc2485.cltc2497.cmax1027.cmax11100.cmax1118.cmax1363.cmax9611.cmcp320x.cmcp3422.cmen_z188_adc.cmeson_saradc.cmt6577_auxadc.cmxs-lradc-adc.cnau7802.cpalmas_gpadc.cqcom-pm8xxx-xoadc.cqcom-spmi-iadc.cqcom-spmi-vadc.cqcom-vadc-common.cqcom-vadc-common.hrcar-gyroadc.crockchip_saradc.cspear_adc.cstm32-adc-core.cstm32-adc-core.hstm32-adc.cstx104.csun4i-gpadc-iio.cti-adc081c.cti-adc0832.cti-adc12138.cti-adc128s052.cti-adc161s626.cti-ads1015.cti-ads7950.cti-ads8688.cti-tlc4541.cti_am335x_adc.ctwl4030-madc.ctwl6030-gpadc.cvf610_adc.cviperboard_adc.cxilinx-xadc-core.cxilinx-xadc-events.cxilinx-xadc.hamplifiersKconfigMakefilead8366.cbufferKconfigMakefileindustrialio-buffer-cb.cindustrialio-buffer-dma.cindustrialio-buffer-dmaengine.cindustrialio-triggered-buffer.ckfifo_buf.cchemicalKconfigMakefileams-iaq-core.catlas-ph-sensor.cvz89x.ccommonKconfigMakefilecros_ec_sensorsKconfigMakefilecros_ec_sensors.ccros_ec_sensors_core.ccros_ec_sensors_core.hhid-sensorsKconfigMakefilehid-sensor-attributes.chid-sensor-trigger.chid-sensor-trigger.hms_sensorsKconfigMakefilems_sensors_i2c.cms_sensors_i2c.hssp_sensorsKconfigMakefilessp.hssp_dev.cssp_iio.cssp_iio_sensor.hssp_spi.cst_sensorsKconfigMakefilest_sensors_buffer.cst_sensors_core.cst_sensors_core.hst_sensors_i2c.cst_sensors_spi.cst_sensors_trigger.ccounter104-quad-8.cKconfigMakefiledacKconfigMakefilead5064.cad5360.cad5380.cad5421.cad5446.cad5449.cad5504.cad5592r-base.cad5592r-base.had5592r.cad5593r.cad5624r.had5624r_spi.cad5686.cad5755.cad5761.cad5764.cad5791.cad7303.cad8801.ccio-dac.cdpot-dac.clpc18xx_dac.cltc2632.cm62332.cmax517.cmax5821.cmcp4725.cmcp4922.cstm32-dac-core.cstm32-dac-core.hstm32-dac.cvf610_dac.cdummyKconfigMakefileiio_dummy_evgen.ciio_dummy_evgen.hiio_simple_dummy.ciio_simple_dummy.hiio_simple_dummy_buffer.ciio_simple_dummy_events.cfrequencyKconfigMakefilead9523.cadf4350.cgyroKconfigMakefileadis16080.cadis16130.cadis16136.cadis16260.cadxrs450.cbmg160.hbmg160_core.cbmg160_i2c.cbmg160_spi.chid-sensor-gyro-3d.citg3200_buffer.citg3200_core.cmpu3050-core.cmpu3050-i2c.cmpu3050.hssp_gyro_sensor.cst_gyro.hst_gyro_buffer.cst_gyro_core.cst_gyro_i2c.cst_gyro_spi.chealthKconfigMakefileafe4403.cafe4404.cafe440x.hmax30100.cmax30102.chumidityKconfigMakefileam2315.cdht11.chdc100x.chid-sensor-humidity.chts221.hhts221_buffer.chts221_core.chts221_i2c.chts221_spi.chtu21.csi7005.csi7020.ciio_core.hiio_core_trigger.himuKconfigMakefileadis.cadis16400.hadis16400_buffer.cadis16400_core.cadis16480.cadis_buffer.cadis_trigger.cbmi160KconfigMakefilebmi160.hbmi160_core.cbmi160_i2c.cbmi160_spi.cinv_mpu6050KconfigMakefileinv_mpu_acpi.cinv_mpu_core.cinv_mpu_i2c.cinv_mpu_iio.hinv_mpu_ring.cinv_mpu_spi.cinv_mpu_trigger.ckmx61.cst_lsm6dsxKconfigMakefilest_lsm6dsx.hst_lsm6dsx_buffer.cst_lsm6dsx_core.cst_lsm6dsx_i2c.cst_lsm6dsx_spi.cindustrialio-buffer.cindustrialio-configfs.cindustrialio-core.cindustrialio-event.cindustrialio-sw-device.cindustrialio-sw-trigger.cindustrialio-trigger.cindustrialio-triggered-event.cinkern.clightKconfigMakefileacpi-als.cadjd_s311.cal3320a.capds9300.capds9960.cbh1750.cbh1780.ccm32181.ccm3232.ccm3323.ccm3605.ccm36651.ccros_ec_light_prox.cgp2ap020a00f.chid-sensor-als.chid-sensor-prox.cisl29018.cisl29125.cjsa1212.clm3533-als.cltr501.cmax44000.copt3001.cpa12203001.crpr0521.csi1145.cstk3310.ctcs3414.ctcs3472.ctsl2563.ctsl2583.ctsl4531.cus5182d.cvcnl4000.cveml6070.cvl6180.cmagnetometerKconfigMakefileak8974.cak8975.cbmc150_magn.cbmc150_magn.hbmc150_magn_i2c.cbmc150_magn_spi.chid-sensor-magn-3d.chmc5843.hhmc5843_core.chmc5843_i2c.chmc5843_spi.cmag3110.cmmc35240.cst_magn.hst_magn_buffer.cst_magn_core.cst_magn_i2c.cst_magn_spi.corientationKconfigMakefilehid-sensor-incl-3d.chid-sensor-rotation.cpotentiometerKconfigMakefileds1803.cmax5481.cmax5487.cmcp4131.cmcp4531.ctpl0102.cpotentiostatKconfigMakefilelmp91000.cpressureKconfigMakefileabp060mg.cbmp280-core.cbmp280-i2c.cbmp280-regmap.cbmp280-spi.cbmp280.hcros_ec_baro.chid-sensor-press.chp03.chp206c.cmpl115.cmpl115.hmpl115_i2c.cmpl115_spi.cmpl3115.cms5611.hms5611_core.cms5611_i2c.cms5611_spi.cms5637.cst_pressure.hst_pressure_buffer.cst_pressure_core.cst_pressure_i2c.cst_pressure_spi.ct5403.czpa2326.czpa2326.hzpa2326_i2c.czpa2326_spi.cproximityKconfigMakefileas3935.cpulsedlight-lidar-lite-v2.csrf04.csrf08.csx9500.ctemperatureKconfigMakefilehid-sensor-temperature.cmaxim_thermocouple.cmlx90614.ctmp006.ctmp007.ctsys01.ctsys02d.ctriggerKconfigMakefileiio-trig-hrtimer.ciio-trig-interrupt.ciio-trig-loop.ciio-trig-sysfs.cstm32-timer-trigger.cinfinibandKconfigMakefilecoreMakefileaddr.cagent.cagent.hcache.ccgroup.ccm.ccm_msgs.hcma.ccma_configfs.ccore_priv.hcq.cdevice.cfmr_pool.ciwcm.ciwcm.hiwpm_msg.ciwpm_util.ciwpm_util.hmad.cmad_priv.hmad_rmpp.cmad_rmpp.hmr_pool.cmulticast.cnetlink.copa_smi.hpacker.crdma_core.crdma_core.hroce_gid_mgmt.crw.csa.hsa_query.csmi.csmi.hsysfs.cucm.cucma.cud_header.cumem.cumem_odp.cumem_rbtree.cuser_mad.cuverbs.huverbs_cmd.cuverbs_main.cuverbs_marshall.cuverbs_std_types.cverbs.chwMakefilebnxt_reKconfigMakefilebnxt_re.hib_verbs.cib_verbs.hmain.cqplib_fp.cqplib_fp.hqplib_rcfw.cqplib_rcfw.hqplib_res.cqplib_res.hqplib_sp.cqplib_sp.hroce_hsi.hcxgb3KconfigMakefilecxio_dbg.ccxio_hal.ccxio_hal.hcxio_resource.ccxio_resource.hcxio_wr.hiwch.ciwch.hiwch_cm.ciwch_cm.hiwch_cq.ciwch_ev.ciwch_mem.ciwch_provider.ciwch_provider.hiwch_qp.ctcb.hcxgb4KconfigMakefilecm.ccq.cdevice.cev.cid_table.ciw_cxgb4.hmem.cprovider.cqp.cresource.ct4.ht4fw_ri_api.hhfi1KconfigMakefileaffinity.caffinity.haspm.hchip.cchip.hchip_registers.hcommon.hdebugfs.cdebugfs.hdevice.cdevice.hdriver.cefivar.cefivar.heprom.ceprom.hfile_ops.cfirmware.chfi.hinit.cintr.ciowait.hmad.cmad.hmmu_rb.cmmu_rb.hopa_compat.hpcie.cpio.cpio.hpio_copy.cplatform.cplatform.hqp.cqp.hqsfp.cqsfp.hrc.cruc.csdma.csdma.hsdma_txreq.hsysfs.ctrace.ctrace.htrace_ctxts.htrace_dbg.htrace_ibhdrs.htrace_misc.htrace_rc.htrace_rx.htrace_tx.huc.cud.cuser_exp_rcv.cuser_exp_rcv.huser_pages.cuser_sdma.cuser_sdma.hverbs.cverbs.hverbs_txreq.cverbs_txreq.hvnic.hvnic_main.cvnic_sdma.chnsKconfigMakefilehns_roce_ah.chns_roce_alloc.chns_roce_cmd.chns_roce_cmd.hhns_roce_common.hhns_roce_cq.chns_roce_device.hhns_roce_eq.chns_roce_eq.hhns_roce_hem.chns_roce_hem.hhns_roce_hw_v1.chns_roce_hw_v1.hhns_roce_main.chns_roce_mr.chns_roce_pd.chns_roce_qp.ci40iwKconfigMakefilei40iw.hi40iw_cm.ci40iw_cm.hi40iw_ctrl.ci40iw_d.hi40iw_hmc.ci40iw_hmc.hi40iw_hw.ci40iw_main.ci40iw_osdep.hi40iw_p.hi40iw_pble.ci40iw_pble.hi40iw_puda.ci40iw_puda.hi40iw_register.hi40iw_status.hi40iw_type.hi40iw_ucontext.hi40iw_uk.ci40iw_user.hi40iw_utils.ci40iw_verbs.ci40iw_verbs.hi40iw_vf.ci40iw_vf.hi40iw_virtchnl.ci40iw_virtchnl.hmlx4KconfigMakefileah.calias_GUID.ccm.ccq.cdoorbell.cmad.cmain.cmcg.cmlx4_ib.hmr.cqp.csrq.csysfs.cmlx5KconfigMakefileah.ccmd.ccmd.hcq.cdoorbell.cgsi.cib_virt.cmad.cmain.cmem.cmlx5_ib.hmr.codp.cqp.csrq.cmthcaKconfigMakefilemthca_allocator.cmthca_av.cmthca_catas.cmthca_cmd.cmthca_cmd.hmthca_config_reg.hmthca_cq.cmthca_dev.hmthca_doorbell.hmthca_eq.cmthca_mad.cmthca_main.cmthca_mcg.cmthca_memfree.cmthca_memfree.hmthca_mr.cmthca_pd.cmthca_profile.cmthca_profile.hmthca_provider.cmthca_provider.hmthca_qp.cmthca_reset.cmthca_srq.cmthca_uar.cmthca_user.hmthca_wqe.hnesKconfigMakefilenes.cnes.hnes_cm.cnes_cm.hnes_context.hnes_hw.cnes_hw.hnes_mgt.cnes_mgt.hnes_nic.cnes_utils.cnes_verbs.cnes_verbs.hocrdmaKconfigMakefileocrdma.hocrdma_ah.cocrdma_ah.hocrdma_hw.cocrdma_hw.hocrdma_main.cocrdma_sli.hocrdma_stats.cocrdma_stats.hocrdma_verbs.cocrdma_verbs.hqedrKconfigMakefilemain.cqedr.hqedr_cm.cqedr_cm.hqedr_hsi_rdma.hverbs.cverbs.hqibKconfigMakefileqib.hqib_6120_regs.hqib_7220.hqib_7220_regs.hqib_7322_regs.hqib_common.hqib_debugfs.cqib_debugfs.hqib_diag.cqib_driver.cqib_eeprom.cqib_file_ops.cqib_fs.cqib_iba6120.cqib_iba7220.cqib_iba7322.cqib_init.cqib_intr.cqib_keys.cqib_mad.cqib_mad.hqib_pcie.cqib_pio_copy.cqib_qp.cqib_qsfp.cqib_qsfp.hqib_rc.cqib_ruc.cqib_sd7220.cqib_sdma.cqib_sysfs.cqib_twsi.cqib_tx.cqib_uc.cqib_ud.cqib_user_pages.cqib_user_sdma.cqib_user_sdma.hqib_verbs.cqib_verbs.hqib_wc_ppc64.cqib_wc_x86_64.cusnicKconfigMakefileusnic.husnic_abi.husnic_common_pkt_hdr.husnic_common_util.husnic_debugfs.cusnic_debugfs.husnic_fwd.cusnic_fwd.husnic_ib.husnic_ib_main.cusnic_ib_qp_grp.cusnic_ib_qp_grp.husnic_ib_sysfs.cusnic_ib_sysfs.husnic_ib_verbs.cusnic_ib_verbs.husnic_log.husnic_transport.cusnic_transport.husnic_uiom.cusnic_uiom.husnic_uiom_interval_tree.cusnic_uiom_interval_tree.husnic_vnic.cusnic_vnic.hvmw_pvrdmaKconfigMakefilepvrdma.hpvrdma_cmd.cpvrdma_cq.cpvrdma_dev_api.hpvrdma_doorbell.cpvrdma_main.cpvrdma_misc.cpvrdma_mr.cpvrdma_qp.cpvrdma_ring.hpvrdma_verbs.cpvrdma_verbs.hswMakefilerdmavtKconfigMakefileah.cah.hcq.ccq.hmad.cmad.hmcast.cmcast.hmmap.cmmap.hmr.cmr.hpd.cpd.hqp.cqp.hrc.csrq.csrq.htrace.ctrace.htrace_cq.htrace_mr.htrace_qp.htrace_rc.htrace_rvt.htrace_tx.hvt.cvt.hrxeKconfigMakefilerxe.crxe.hrxe_av.crxe_comp.crxe_cq.crxe_hdr.hrxe_hw_counters.crxe_hw_counters.hrxe_icrc.crxe_loc.hrxe_mcast.crxe_mmap.crxe_mr.crxe_net.crxe_net.hrxe_opcode.crxe_opcode.hrxe_param.hrxe_pool.crxe_pool.hrxe_qp.crxe_queue.crxe_queue.hrxe_recv.crxe_req.crxe_resp.crxe_srq.crxe_sysfs.crxe_task.crxe_task.hrxe_verbs.crxe_verbs.hulpMakefileipoibKconfigMakefileipoib.hipoib_cm.cipoib_ethtool.cipoib_fs.cipoib_ib.cipoib_main.cipoib_multicast.cipoib_netlink.cipoib_verbs.cipoib_vlan.ciserKconfigMakefileiscsi_iser.ciscsi_iser.hiser_initiator.ciser_memory.ciser_verbs.cisertKconfigMakefileib_isert.cib_isert.hopa_vnicKconfigMakefileopa_vnic_encap.copa_vnic_encap.hopa_vnic_ethtool.copa_vnic_internal.hopa_vnic_netdev.copa_vnic_vema.copa_vnic_vema_iface.csrpKbuildKconfigib_srp.cib_srp.hsrptKconfigMakefileib_dm_mad.hib_srpt.cib_srpt.hinputKconfigMakefileapm-power.cevbug.cevdev.cff-core.cff-memless.cgameportKconfigMakefileemu10k1-gp.cfm801-gp.cgameport.clightning.cns558.cinput-compat.cinput-compat.hinput-leds.cinput-mt.cinput-polldev.cinput.cjoydev.cjoystickKconfigMakefilea3d.cadi.camijoy.canalog.cas5011.ccobra.cdb9.cgamecon.cgf2k.cgrip.cgrip_mp.cguillemot.ciforceKconfigMakefileiforce-ff.ciforce-main.ciforce-packets.ciforce-serio.ciforce-usb.ciforce.hinteract.cjoydump.cmagellan.cmaplecontrol.cpsxpad-spi.csidewinder.cspaceball.cspaceorb.cstinger.ctmdc.cturbografx.ctwidjoy.cwalkera0701.cwarrior.cxpad.czhenhua.ckeyboardKconfigMakefileadc-keys.cadp5520-keys.cadp5588-keys.cadp5589-keys.camikbd.catakbd.catkbd.cbcm-keypad.cbf54x-keys.ccap11xx.cclps711x-keypad.ccros_ec_keyb.cdavinci_keyscan.cep93xx_keypad.cgoldfish_events.cgpio_keys.cgpio_keys_polled.chil_kbd.chilkbd.chpps2atkbd.himx_keypad.cipaq-micro-keys.cjornada680_kbd.cjornada720_kbd.clkkbd.clm8323.clm8333.clocomokbd.clpc32xx-keys.cmaple_keyb.cmatrix_keypad.cmax7359_keypad.cmcs_touchkey.cmpr121_touchkey.cnewtonkbd.cnomadik-ske-keypad.cnspire-keypad.comap-keypad.comap4-keypad.copencores-kbd.cpmic8xxx-keypad.cpxa27x_keypad.cpxa930_rotary.cqt1070.cqt2160.csamsung-keypad.csh_keysc.csnvs_pwrkey.cspear-keyboard.cst-keyscan.cstmpe-keypad.cstowaway.csun4i-lradc-keys.csunkbd.ctc3589x-keypad.ctca6416-keypad.ctca8418_keypad.ctegra-kbc.ctm2-touchkey.ctwl4030_keypad.cw90p910_keypad.cxtkbd.cmatrix-keymap.cmisc88pm80x_onkey.c88pm860x_onkey.cKconfigMakefileab8500-ponkey.cad714x-i2c.cad714x-spi.cad714x.cad714x.hadxl34x-i2c.cadxl34x-spi.cadxl34x.cadxl34x.hapanel.carizona-haptics.cati_remote2.catlas_btns.catmel_captouch.caxp20x-pek.cbfin_rotary.cbma150.ccm109.ccma3000_d0x.ccma3000_d0x.hcma3000_d0x_i2c.ccobalt_btns.ccpcap-pwrbutton.cda9052_onkey.cda9055_onkey.cda9063_onkey.cdm355evm_keys.cdrv260x.cdrv2665.cdrv2667.ce3x0-button.cgp2ap002a00f.cgpio-beeper.cgpio_decoder.cgpio_tilt_polled.chisi_powerkey.chp_sdc_rtc.cideapad_slidebar.cims-pcu.cixp4xx-beeper.ckeyspan_remote.ckxtj9.cm68kspkr.cmax77693-haptic.cmax8925_onkey.cmax8997_haptic.cmc13783-pwrbutton.cmma8450.cpalmas-pwrbutton.cpcap_keys.cpcf50633-input.cpcf8574_keypad.cpcspkr.cpm8941-pwrkey.cpm8xxx-vibrator.cpmic8xxx-pwrkey.cpowermate.cpwm-beeper.crb532_button.cregulator-haptic.cretu-pwrbutton.crotary_encoder.csgi_btns.csirfsoc-onkey.csoc_button_array.csparcspkr.ctps65218-pwrbutton.ctwl4030-pwrbutton.ctwl4030-vibra.ctwl6040-vibra.cuinput.cwistron_btns.cwm831x-on.cxen-kbdfront.cyealink.cyealink.hmouseKconfigMakefilealps.calps.hamimouse.cappletouch.catarimouse.cbcm5974.cbyd.cbyd.hcyapa.ccyapa.hcyapa_gen3.ccyapa_gen5.ccyapa_gen6.ccypress_ps2.ccypress_ps2.helan_i2c.helan_i2c_core.celan_i2c_i2c.celan_i2c_smbus.celantech.celantech.hfocaltech.cfocaltech.hgpio_mouse.chgpk.chgpk.hinport.clifebook.clifebook.hlogibm.clogips2pp.clogips2pp.hmaplemouse.cnavpoint.cpc110pad.cpsmouse-base.cpsmouse-smbus.cpsmouse.hpxa930_trkball.crpcmouse.csentelic.csentelic.hsermouse.csynaptics.csynaptics.hsynaptics_i2c.csynaptics_usb.ctouchkit_ps2.ctouchkit_ps2.htrackpoint.ctrackpoint.hvmmouse.cvmmouse.hvsxxxaa.cmousedev.crmi4KconfigMakefilermi_2d_sensor.crmi_2d_sensor.hrmi_bus.crmi_bus.hrmi_driver.crmi_driver.hrmi_f01.crmi_f03.crmi_f11.crmi_f12.crmi_f30.crmi_f34.crmi_f34.hrmi_f34v7.crmi_f54.crmi_f55.crmi_i2c.crmi_smbus.crmi_spi.cserioKconfigMakefilealtera_ps2.cambakmi.cams_delta_serio.capbps2.carc_ps2.cat32psif.cct82c710.cgscps2.chil_mlc.chp_sdc.chp_sdc_mlc.chyperv-keyboard.ci8042-io.hi8042-ip22io.hi8042-jazzio.hi8042-ppcio.hi8042-snirm.hi8042-sparcio.hi8042-unicore32io.hi8042-x86ia64io.hi8042.ci8042.hlibps2.cmaceps2.colpc_apsp.cparkbd.cpcips2.cps2mult.cq40kbd.crpckbd.csa1111ps2.cserio.cserio_raw.cserport.csun4i-ps2.cuserio.cxilinx_ps2.csparse-keymap.ctabletKconfigMakefileacecad.caiptek.cgtco.chanwang.ckbtab.cpegasus_notetaker.cwacom_serial4.ctouchscreen88pm860x-ts.cKconfigMakefilead7877.cad7879-i2c.cad7879-spi.cad7879.cad7879.hads7846.car1021_i2c.catmel-wm97xx.catmel_mxt_ts.cauo-pixcir-ts.cbcm_iproc_tsc.cbu21013_ts.cchipone_icn8318.ccolibri-vf50-ts.ccy8ctmg110_ts.ccyttsp4_core.ccyttsp4_core.hcyttsp4_i2c.ccyttsp4_spi.ccyttsp_core.ccyttsp_core.hcyttsp_i2c.ccyttsp_i2c_common.ccyttsp_spi.cda9034-ts.cda9052_tsi.cdynapro.cedt-ft5x06.ceeti_ts.cegalax_ts.cegalax_ts_serial.cektf2127.celants_i2c.celo.cfsl-imx25-tcq.cfujitsu_ts.cgoodix.cgunze.champshire.chp680_ts_input.chtcpen.cili210x.cimx6ul_tsc.cinexio.cipaq-micro-ts.cjornada720_ts.clpc32xx_ts.cmainstone-wm97xx.cmax11801_ts.cmc13783_ts.cmcs5000_ts.cmelfas_mip4.cmigor_ts.cmk712.cmms114.cmtouch.cmxs-lradc-ts.cof_touchscreen.cpcap_ts.cpenmount.cpixcir_i2c_ts.craydium_i2c_ts.crohm_bu21023.cs3c2410_ts.csilead.csis_i2c.cst1232.cstmpe-ts.csun4i-ts.csur40.csurface3_spi.csx8654.cti_am335x_tsc.ctouchit213.ctouchright.ctouchwin.ctps6507x-ts.cts4800-ts.ctsc2004.ctsc2005.ctsc2007.htsc2007_core.ctsc2007_iio.ctsc200x-core.ctsc200x-core.htsc40.cucb1400_ts.cusbtouchscreen.cw90p910_ts.cwacom_i2c.cwacom_w8001.cwdt87xx_i2c.cwm831x-ts.cwm9705.cwm9712.cwm9713.cwm97xx-core.czet6223.czforce_ts.czylonite-wm97xx.ciommuKconfigMakefileamd_iommu.camd_iommu_init.camd_iommu_proto.hamd_iommu_types.hamd_iommu_v2.carm-smmu-v3.carm-smmu.cdma-iommu.cdmar.cexynos-iommu.cfsl_pamu.cfsl_pamu.hfsl_pamu_domain.cfsl_pamu_domain.hintel-iommu.cintel-svm.cintel_irq_remapping.cio-pgtable-arm-v7s.cio-pgtable-arm.cio-pgtable.cio-pgtable.hiommu-sysfs.ciommu-traces.ciommu.ciova.cipmmu-vmsa.cirq_remapping.cirq_remapping.hmsm_iommu.cmsm_iommu.hmsm_iommu_hw-8xxx.hmtk_iommu.cmtk_iommu.hmtk_iommu_v1.cof_iommu.comap-iommu-debug.comap-iommu.comap-iommu.homap-iopgtable.hrockchip-iommu.cs390-iommu.ctegra-gart.ctegra-smmu.cipackKconfigMakefilecarriersKconfigMakefiletpci200.ctpci200.hdevicesKconfigMakefileipoctal.cipoctal.hscc2698.hipack.cirqchipKconfigMakefilealphascale_asm9260-icoll.hexynos-combiner.cirq-alpine-msi.cirq-armada-370-xp.cirq-aspeed-vic.cirq-ath79-cpu.cirq-ath79-misc.cirq-atmel-aic-common.cirq-atmel-aic-common.hirq-atmel-aic.cirq-atmel-aic5.cirq-bcm2835.cirq-bcm2836.cirq-bcm6345-l1.cirq-bcm7038-l1.cirq-bcm7120-l2.cirq-brcmstb-l2.cirq-clps711x.cirq-crossbar.cirq-digicolor.cirq-dw-apb-ictl.cirq-eznps.cirq-ftintc010.cirq-gic-common.cirq-gic-common.hirq-gic-pm.cirq-gic-realview.cirq-gic-v2m.cirq-gic-v3-its-pci-msi.cirq-gic-v3-its-platform-msi.cirq-gic-v3-its.cirq-gic-v3.cirq-gic.cirq-hip04.cirq-i8259.cirq-imgpdc.cirq-imx-gpcv2.cirq-ingenic.cirq-jcore-aic.cirq-keystone.cirq-lpc32xx.cirq-ls-scfg-msi.cirq-mbigen.cirq-metag-ext.cirq-metag.cirq-mips-cpu.cirq-mips-gic.cirq-mmp.cirq-mtk-cirq.cirq-mtk-sysirq.cirq-mvebu-odmi.cirq-mvebu-pic.cirq-mxs.cirq-nvic.cirq-omap-intc.cirq-or1k-pic.cirq-orion.cirq-partition-percpu.cirq-pic32-evic.cirq-renesas-h8300h.cirq-renesas-h8s.cirq-renesas-intc-irqpin.cirq-renesas-irqc.cirq-s3c24xx.cirq-sa11x0.cirq-sirfsoc.cirq-st.cirq-stm32-exti.cirq-sun4i.cirq-sunxi-nmi.cirq-tango.cirq-tb10x.cirq-tegra.cirq-ts4800.cirq-versatile-fpga.cirq-vf610-mscm-ir.cirq-vic.cirq-vt8500.cirq-xilinx-intc.cirq-xtensa-mx.cirq-xtensa-pic.cirq-zevio.cirqchip.cqcom-irq-combiner.cspear-shirq.cisdnKconfigMakefilecapiKconfigMakefilecapi.ccapidrv.ccapidrv.hcapilib.ccapiutil.ckcapi.ckcapi.hkcapi_proc.cdivertMakefiledivert_init.cdivert_procfs.cisdn_divert.cisdn_divert.hgigasetKconfigMakefileasyncdata.cbas-gigaset.ccapi.ccommon.cdummyll.cev-layer.cgigaset.hi4l.cinterface.cisocdata.cproc.cser-gigaset.cusb-gigaset.chardwareKconfigMakefileavmKconfigMakefileavm_cs.cavmcard.hb1.cb1dma.cb1isa.cb1pci.cb1pcmcia.cc4.ct1isa.ct1pci.ceiconKconfigMakefileadapter.hcapi20.hcapidtmf.ccapidtmf.hcapifunc.ccapifunc.hcapimain.ccardtype.hcp_vers.hdadapter.cdadapter.hdebug.cdebug_if.hdebuglib.cdebuglib.hdfifo.hdi.cdi.hdi_dbg.hdi_defs.hdid_vers.hdiddfunc.cdiva.cdiva.hdiva_didd.cdiva_dma.cdiva_dma.hdiva_pci.hdivacapi.hdivamnt.cdivasfunc.cdivasi.cdivasmain.cdivasproc.cdivasync.hdqueue.cdqueue.hdsp_defs.hdsp_tst.hdspdids.hdsrv4bri.hdsrv_bri.hdsrv_pri.hentity.hhelpers.hidifunc.cio.cio.histream.ckst_ifc.hmaintidi.cmaintidi.hman_defs.hmdm_msg.hmessage.cmi_pc.hmntfunc.cos_4bri.cos_4bri.hos_bri.cos_bri.hos_capi.hos_pri.cos_pri.hpc.hpc_init.hpc_maint.hpkmaint.hplatform.hpr_pc.hs_4bri.cs_bri.cs_pri.csdp_hdr.hum_idi.cum_idi.hum_xdi.hxdi_adapter.hxdi_msg.hxdi_vers.hmISDNKconfigMakefileavmfritz.chfc_multi.hhfc_multi_8xx.hhfc_pci.hhfcmulti.chfcpci.chfcsusb.chfcsusb.hiohelper.hipac.hisar.hmISDNinfineon.cmISDNipac.cmISDNisar.cnetjet.cnetjet.hspeedfax.cw6692.cw6692.hhisaxKconfigMakefileamd7930_fn.camd7930_fn.harcofi.carcofi.hasuscom.cavm_a1.cavm_a1p.cavm_pci.cavma1_cs.cbkm_a4t.cbkm_a8.cbkm_ax.hcallc.cconfig.cdiva.celsa.celsa_cs.celsa_ser.centernow_pci.cfsm.cfsm.hgazel.chfc4s8s_l1.chfc4s8s_l1.hhfc_2bds0.chfc_2bds0.hhfc_2bs0.chfc_2bs0.hhfc_pci.chfc_pci.hhfc_sx.chfc_sx.hhfc_usb.chfc_usb.hhfcscard.chisax.hhisax_cfg.hhisax_debug.hhisax_fcpcipnp.chisax_fcpcipnp.hhisax_if.hhisax_isac.chisax_isac.hhscx.chscx.hhscx_irq.cicc.cicc.hipac.hipacx.cipacx.hisac.cisac.hisar.cisar.hisdnl1.cisdnl1.hisdnl2.cisdnl2.hisdnl3.cisdnl3.hisurf.cix1_micro.cjade.cjade.hjade_irq.cl3_1tr6.cl3_1tr6.hl3dss1.cl3dss1.hl3ni1.cl3ni1.hlmgr.cmic.cnetjet.cnetjet.hniccy.cnj_s.cnj_u.cq931.cs0box.csaphir.csedlbauer.csedlbauer_cs.csportster.cst5481.hst5481_b.cst5481_d.cst5481_init.cst5481_usb.ctei.cteleint.cteles0.cteles3.cteles_cs.ctelespci.cw6692.cw6692.hhysdnKconfigMakefileboardergo.cboardergo.hhycapi.chysdn_boot.chysdn_defs.hhysdn_init.chysdn_net.chysdn_pof.hhysdn_procconf.chysdn_proclog.chysdn_sched.cince1pc.hi4lKconfigMakefileisdn_audio.cisdn_audio.hisdn_bsdcomp.cisdn_common.cisdn_common.hisdn_concap.cisdn_concap.hisdn_net.cisdn_net.hisdn_ppp.cisdn_ppp.hisdn_tty.cisdn_tty.hisdn_ttyfax.cisdn_ttyfax.hisdn_v110.cisdn_v110.hisdn_x25iface.cisdn_x25iface.hisdnhdlc.cisdnloopMakefileisdnloop.cisdnloop.hmISDNKconfigMakefileclock.ccore.ccore.hdsp.hdsp_audio.cdsp_biquad.hdsp_blowfish.cdsp_cmx.cdsp_core.cdsp_dtmf.cdsp_ecdis.hdsp_hwec.cdsp_hwec.hdsp_pipeline.cdsp_tones.cfsm.cfsm.hhwchannel.cl1oip.hl1oip_codec.cl1oip_core.clayer1.clayer1.hlayer2.clayer2.hsocket.cstack.ctei.ctimerdev.cledsKconfigMakefileled-class-flash.cled-class.cled-core.cled-triggers.cleds-88pm860x.cleds-aat1290.cleds-adp5520.cleds-asic3.cleds-bcm6328.cleds-bcm6358.cleds-bd2802.cleds-blinkm.cleds-clevo-mail.cleds-cobalt-qube.cleds-cobalt-raq.cleds-cpcap.cleds-da903x.cleds-da9052.cleds-dac124s085.cleds-fsg.cleds-gpio-register.cleds-gpio.cleds-hp6xx.cleds-ipaq-micro.cleds-is31fl319x.cleds-is31fl32xx.cleds-ktd2692.cleds-lm3530.cleds-lm3533.cleds-lm355x.cleds-lm3642.cleds-locomo.cleds-lp3944.cleds-lp3952.cleds-lp5521.cleds-lp5523.cleds-lp5562.cleds-lp55xx-common.cleds-lp55xx-common.hleds-lp8501.cleds-lp8788.cleds-lp8860.cleds-lt3593.cleds-max77693.cleds-max8997.cleds-mc13783.cleds-menf21bmc.cleds-mlxcpld.cleds-mt6323.cleds-net48xx.cleds-netxbig.cleds-nic78bx.cleds-ns2.cleds-ot200.cleds-pca9532.cleds-pca955x.cleds-pca963x.cleds-pm8058.cleds-powernv.cleds-pwm.cleds-rb532.cleds-regulator.cleds-s3c24xx.cleds-sead3.cleds-ss4200.cleds-sunfire.cleds-syscon.cleds-tca6507.cleds-tlc591xx.cleds-versatile.cleds-wm831x-status.cleds-wm8350.cleds-wrap.cleds.htriggerKconfigMakefileledtrig-backlight.cledtrig-camera.cledtrig-cpu.cledtrig-default-on.cledtrig-disk.cledtrig-gpio.cledtrig-heartbeat.cledtrig-mtd.cledtrig-oneshot.cledtrig-panic.cledtrig-timer.cledtrig-transient.culeds.clguestKconfigMakefileREADMEcore.chypercalls.cinterrupts_and_traps.clg.hlguest_user.cpage_tables.csegments.cx86core.cswitcher_32.SlightnvmKconfigMakefilecore.cpblk-cache.cpblk-core.cpblk-gc.cpblk-init.cpblk-map.cpblk-rb.cpblk-read.cpblk-recovery.cpblk-rl.cpblk-sysfs.cpblk-write.cpblk.hrrpc.crrpc.hmacintoshKconfigMakefileadb-iop.cadb.cadbhid.camsMakefileams-core.cams-i2c.cams-input.cams-pmu.cams.hans-lcd.cans-lcd.hapm_emu.cmac_hid.cmacio-adb.cmacio_asic.cmacio_sysfs.cmediabay.crack-meter.csmu.ctherm_adt746x.ctherm_windtunnel.cvia-cuda.cvia-macii.cvia-pmu-backlight.cvia-pmu-event.cvia-pmu-event.hvia-pmu-led.cvia-pmu.cvia-pmu68k.cwindfarm.hwindfarm_ad7417_sensor.cwindfarm_core.cwindfarm_cpufreq_clamp.cwindfarm_fcu_controls.cwindfarm_lm75_sensor.cwindfarm_lm87_sensor.cwindfarm_max6690_sensor.cwindfarm_mpu.hwindfarm_pid.cwindfarm_pid.hwindfarm_pm112.cwindfarm_pm121.cwindfarm_pm72.cwindfarm_pm81.cwindfarm_pm91.cwindfarm_rm31.cwindfarm_smu_controls.cwindfarm_smu_sat.cwindfarm_smu_sensors.cmailboxKconfigMakefilearm_mhu.cbcm-flexrm-mailbox.cbcm-pdc-mailbox.cbcm2835-mailbox.chi6220-mailbox.cmailbox-altera.cmailbox-sti.cmailbox-test.cmailbox-xgene-slimpro.cmailbox.cmailbox.homap-mailbox.cpcc.cpl320-ipc.cplatform_mhu.crockchip-mailbox.ctegra-hsp.cti-msgmgr.cmcbKconfigMakefilemcb-core.cmcb-internal.hmcb-lpc.cmcb-parse.cmcb-pci.cmdKconfigMakefilebcacheKconfigMakefilealloc.cbcache.hbset.cbset.hbtree.cbtree.hclosure.cclosure.hdebug.cdebug.hextents.cextents.hio.cjournal.cjournal.hmovinggc.crequest.crequest.hstats.cstats.hsuper.csysfs.csysfs.htrace.cutil.cutil.hwriteback.cwriteback.hbitmap.cbitmap.hdm-bio-prison-v1.cdm-bio-prison-v1.hdm-bio-prison-v2.cdm-bio-prison-v2.hdm-bio-record.hdm-bufio.cdm-bufio.hdm-builtin.cdm-cache-background-tracker.cdm-cache-background-tracker.hdm-cache-block-types.hdm-cache-metadata.cdm-cache-metadata.hdm-cache-policy-internal.hdm-cache-policy-smq.cdm-cache-policy.cdm-cache-policy.hdm-cache-target.cdm-core.hdm-crypt.cdm-delay.cdm-era-target.cdm-exception-store.cdm-exception-store.hdm-flakey.cdm-integrity.cdm-io.cdm-ioctl.cdm-kcopyd.cdm-linear.cdm-log-userspace-base.cdm-log-userspace-transfer.cdm-log-userspace-transfer.hdm-log-writes.cdm-log.cdm-mpath.cdm-mpath.hdm-path-selector.cdm-path-selector.hdm-queue-length.cdm-raid.cdm-raid1.cdm-region-hash.cdm-round-robin.cdm-rq.cdm-rq.hdm-service-time.cdm-snap-persistent.cdm-snap-transient.cdm-snap.cdm-stats.cdm-stats.hdm-stripe.cdm-switch.cdm-sysfs.cdm-table.cdm-target.cdm-thin-metadata.cdm-thin-metadata.hdm-thin.cdm-uevent.cdm-uevent.hdm-verity-fec.cdm-verity-fec.hdm-verity-target.cdm-verity.hdm-zero.cdm.cdm.hfaulty.clinear.clinear.hmd-cluster.cmd-cluster.hmd.cmd.hmultipath.cmultipath.hpersistent-dataKconfigMakefiledm-array.cdm-array.hdm-bitset.cdm-bitset.hdm-block-manager.cdm-block-manager.hdm-btree-internal.hdm-btree-remove.cdm-btree-spine.cdm-btree.cdm-btree.hdm-persistent-data-internal.hdm-space-map-common.cdm-space-map-common.hdm-space-map-disk.cdm-space-map-disk.hdm-space-map-metadata.cdm-space-map-metadata.hdm-space-map.hdm-transaction-manager.cdm-transaction-manager.hraid0.craid0.hraid1.craid1.hraid10.craid10.hraid5-cache.craid5-log.hraid5-ppl.craid5.craid5.hmediaKconfigMakefilececKconfigMakefilecec-adap.ccec-api.ccec-core.ccec-edid.ccec-notifier.ccec-priv.hcommonKconfigMakefileb2c2KconfigMakefileflexcop-common.hflexcop-eeprom.cflexcop-fe-tuner.cflexcop-hw-filter.cflexcop-i2c.cflexcop-misc.cflexcop-reg.hflexcop-sram.cflexcop.cflexcop.hflexcop_ibi_value_be.hflexcop_ibi_value_le.hbtcx-risc.hcx2341x.ccypress_firmware.ccypress_firmware.hsaa7146KconfigMakefilesaa7146_core.csaa7146_fops.csaa7146_hlp.csaa7146_i2c.csaa7146_vbi.csaa7146_video.csianoKconfigMakefilesms-cards.csms-cards.hsmscoreapi.csmscoreapi.hsmsdvb-debugfs.csmsdvb-main.csmsdvb.hsmsendian.csmsendian.hsmsir.csmsir.htveeprom.cv4l2-tpgKconfigMakefilev4l2-tpg-colors.cv4l2-tpg-core.cdvb-coreKconfigMakefiledemux.hdmxdev.cdmxdev.hdvb-usb-ids.hdvb_ca_en50221.cdvb_ca_en50221.hdvb_demux.cdvb_demux.hdvb_frontend.cdvb_frontend.hdvb_math.cdvb_math.hdvb_net.cdvb_net.hdvb_ringbuffer.cdvb_ringbuffer.hdvbdev.cdvbdev.hdvb-frontendsKconfigMakefilea8293.ca8293.haf9013.caf9013.haf9013_priv.haf9033.caf9033.haf9033_priv.has102_fe.cas102_fe.has102_fe_types.hascot2e.cascot2e.hatbm8830.catbm8830.hatbm8830_priv.hau8522.hau8522_common.cau8522_decoder.cau8522_dig.cau8522_priv.hbcm3510.cbcm3510.hbcm3510_priv.hbsbe1-d01a.hbsbe1.hbsru6.hcx22700.ccx22700.hcx22702.ccx22702.hcx24110.ccx24110.hcx24113.ccx24113.hcx24116.ccx24116.hcx24117.ccx24117.hcx24120.ccx24120.hcx24123.ccx24123.hcxd2820r.hcxd2820r_c.ccxd2820r_core.ccxd2820r_priv.hcxd2820r_t.ccxd2820r_t2.ccxd2841er.ccxd2841er.hcxd2841er_priv.hdib0070.cdib0070.hdib0090.cdib0090.hdib3000.hdib3000mb.cdib3000mb_priv.hdib3000mc.cdib3000mc.hdib7000m.cdib7000m.hdib7000p.cdib7000p.hdib8000.cdib8000.hdib9000.cdib9000.hdibx000_common.cdibx000_common.hdrx39xyjKconfigMakefilebsp_i2c.hdrx39xxj.hdrx_dap_fasi.hdrx_driver.hdrx_driver_version.hdrxj.cdrxj.hdrxj_map.hdrxd.hdrxd_firm.cdrxd_firm.hdrxd_hard.cdrxd_map_firm.hdrxk.hdrxk_hard.cdrxk_hard.hdrxk_map.hds3000.cds3000.hdvb-pll.cdvb-pll.hdvb_dummy_fe.cdvb_dummy_fe.hec100.cec100.heds1547.hgp8psk-fe.cgp8psk-fe.hhelene.chelene.hhorus3a.chorus3a.hisl6405.cisl6405.hisl6421.cisl6421.hisl6423.cisl6423.hitd1000.citd1000.hitd1000_priv.hix2505v.cix2505v.hl64781.cl64781.hlg2160.clg2160.hlgdt3305.clgdt3305.hlgdt3306a.clgdt3306a.hlgdt330x.clgdt330x.hlgdt330x_priv.hlgs8gl5.clgs8gl5.hlgs8gxx.clgs8gxx.hlgs8gxx_priv.hlnbh24.hlnbh25.clnbh25.hlnbp21.clnbp21.hlnbp22.clnbp22.hm88ds3103.cm88ds3103.hm88ds3103_priv.hm88rs2000.cm88rs2000.hmb86a16.cmb86a16.hmb86a16_priv.hmb86a20s.cmb86a20s.hmn88472.cmn88472.hmn88472_priv.hmn88473.cmn88473.hmn88473_priv.hmt312.cmt312.hmt312_priv.hmt352.cmt352.hmt352_priv.hnxt200x.cnxt200x.hnxt6000.cnxt6000.hnxt6000_priv.hor51132.cor51132.hor51211.cor51211.hrtl2830.crtl2830.hrtl2830_priv.hrtl2832.crtl2832.hrtl2832_priv.hrtl2832_sdr.crtl2832_sdr.hs5h1409.cs5h1409.hs5h1411.cs5h1411.hs5h1420.cs5h1420.hs5h1420_priv.hs5h1432.cs5h1432.hs921.cs921.hsi2165.csi2165.hsi2165_priv.hsi2168.csi2168.hsi2168_priv.hsi21xx.csi21xx.hsp2.csp2.hsp2_priv.hsp8870.csp8870.hsp887x.csp887x.hstb0899_algo.cstb0899_cfg.hstb0899_drv.cstb0899_drv.hstb0899_priv.hstb0899_reg.hstb6000.cstb6000.hstb6100.cstb6100.hstb6100_cfg.hstb6100_proc.hstv0288.cstv0288.hstv0297.cstv0297.hstv0299.cstv0299.hstv0367.cstv0367.hstv0367_priv.hstv0367_regs.hstv0900.hstv0900_core.cstv0900_init.hstv0900_priv.hstv0900_reg.hstv0900_sw.cstv090x.cstv090x.hstv090x_priv.hstv090x_reg.hstv6110.cstv6110.hstv6110x.cstv6110x.hstv6110x_priv.hstv6110x_reg.htc90522.ctc90522.htda10021.ctda10023.ctda1002x.htda10048.ctda10048.htda1004x.ctda1004x.htda10071.ctda10071.htda10071_priv.htda10086.ctda10086.htda18271c2dd.ctda18271c2dd.htda18271c2dd_maps.htda665x.ctda665x.htda8083.ctda8083.htda8261.ctda8261.htda8261_cfg.htda826x.ctda826x.htdhd1.hts2020.cts2020.htua6100.ctua6100.hves1820.cves1820.hves1x93.cves1x93.hz0194a.hzd1301_demod.czd1301_demod.hzl10036.czl10036.hzl10039.czl10039.hzl10353.czl10353.hzl10353_priv.hfirewireKconfigMakefilefiredtv-avc.cfiredtv-ci.cfiredtv-dvb.cfiredtv-fe.cfiredtv-fw.cfiredtv-rc.cfiredtv.hi2cKconfigMakefilead5820.cad9389b.cadp1653.cadv7170.cadv7175.cadv7180.cadv7183.cadv7183_regs.hadv7343.cadv7343_regs.hadv7393.cadv7393_regs.hadv7511.cadv7604.cadv7842.cak881x.captina-pll.captina-pll.has3645a.cbt819.cbt856.cbt866.ccs3308.ccs5345.ccs53l32a.ccx25840KconfigMakefilecx25840-audio.ccx25840-core.ccx25840-core.hcx25840-firmware.ccx25840-ir.ccx25840-vbi.cet8ek8KconfigMakefileet8ek8_driver.cet8ek8_mode.cet8ek8_reg.hir-kbd-i2c.cks0127.cks0127.hlm3560.clm3646.cm52790.cm5molsKconfigMakefilem5mols.hm5mols_capture.cm5mols_controls.cm5mols_core.cm5mols_reg.hml86v7667.cmsp3400-driver.cmsp3400-driver.hmsp3400-kthreads.cmt9m032.cmt9m111.cmt9p031.cmt9t001.cmt9v011.cmt9v032.cnoon010pc30.cov2640.cov2659.cov5645.cov5647.cov7640.cov7670.cov9650.cs5c73m3Makefiles5c73m3-core.cs5c73m3-ctrls.cs5c73m3-spi.cs5c73m3.hs5k4ecgx.cs5k5baf.cs5k6a3.cs5k6aa.csaa6588.csaa6752hs.csaa7110.csaa7115.csaa711x_regs.hsaa7127.csaa717x.csaa7185.csmiappsmiapp-pll.csmiapp-pll.hKconfigMakefilesmiapp-core.csmiapp-limits.csmiapp-limits.hsmiapp-quirk.csmiapp-quirk.hsmiapp-reg-defs.hsmiapp-reg.hsmiapp-regs.csmiapp-regs.hsmiapp.hsoc_cameraKconfigMakefileimx074.cmt9m001.cmt9t031.cmt9t112.cmt9v022.cov5642.cov6650.cov772x.cov9640.cov9640.hov9740.crj54n1cb0c.ctw9910.csony-btf-mpx.csr030pc30.ctc358743.ctc358743_regs.htda7432.ctda9840.ctea6415c.ctea6415c.htea6420.ctea6420.hths7303.cths8200.cths8200_regs.htlv320aic23b.ctvaudio.ctvp514x.ctvp514x_regs.htvp5150.ctvp5150_reg.htvp7002.ctvp7002_reg.htw2804.ctw9903.ctw9906.cuda1342.cupd64031a.cupd64083.cvp27smpx.cvpx3220.cvs6624.cvs6624_regs.hwm8739.cwm8775.cmedia-device.cmedia-devnode.cmedia-entity.cmmcKconfigMakefilesianoKconfigMakefilesmssdio.cpciKconfigMakefileb2c2KconfigMakefileflexcop-dma.cflexcop-pci.cbt8xxKconfigMakefilebt848.hbt878.cbt878.hbtcx-risc.cbtcx-risc.hbttv-audio-hook.cbttv-audio-hook.hbttv-cards.cbttv-driver.cbttv-gpio.cbttv-i2c.cbttv-if.cbttv-input.cbttv-risc.cbttv-vbi.cbttv.hbttvp.hdst.cdst_ca.cdst_ca.hdst_common.hdst_priv.hdvb-bt8xx.cdvb-bt8xx.hcobaltKconfigMakefilecobalt-alsa-main.ccobalt-alsa-pcm.ccobalt-alsa-pcm.hcobalt-alsa.hcobalt-cpld.ccobalt-cpld.hcobalt-driver.ccobalt-driver.hcobalt-flash.ccobalt-flash.hcobalt-i2c.ccobalt-i2c.hcobalt-irq.ccobalt-irq.hcobalt-omnitek.ccobalt-omnitek.hcobalt-v4l2.ccobalt-v4l2.hm00233_video_measure_memmap_package.hm00235_fdma_packer_memmap_package.hm00389_cvi_memmap_package.hm00460_evcnt_memmap_package.hm00473_freewheel_memmap_package.hm00479_clk_loss_detector_memmap_package.hm00514_syncgen_flow_evcnt_memmap_package.hcx18KconfigMakefilecx18-alsa-main.ccx18-alsa-mixer.ccx18-alsa-mixer.hcx18-alsa-pcm.ccx18-alsa-pcm.hcx18-alsa.hcx18-audio.ccx18-audio.hcx18-av-audio.ccx18-av-core.ccx18-av-core.hcx18-av-firmware.ccx18-av-vbi.ccx18-cards.ccx18-cards.hcx18-controls.ccx18-controls.hcx18-driver.ccx18-driver.hcx18-dvb.ccx18-dvb.hcx18-fileops.ccx18-fileops.hcx18-firmware.ccx18-firmware.hcx18-gpio.ccx18-gpio.hcx18-i2c.ccx18-i2c.hcx18-io.ccx18-io.hcx18-ioctl.ccx18-ioctl.hcx18-irq.ccx18-irq.hcx18-mailbox.ccx18-mailbox.hcx18-queue.ccx18-queue.hcx18-scb.ccx18-scb.hcx18-streams.ccx18-streams.hcx18-vbi.ccx18-vbi.hcx18-version.hcx18-video.ccx18-video.hcx23418.hcx23885KconfigMakefilealtera-ci.caltera-ci.hcimax2.ccimax2.hcx23885-417.ccx23885-alsa.ccx23885-av.ccx23885-av.hcx23885-cards.ccx23885-core.ccx23885-dvb.ccx23885-f300.ccx23885-f300.hcx23885-i2c.ccx23885-input.ccx23885-input.hcx23885-ioctl.ccx23885-ioctl.hcx23885-ir.ccx23885-ir.hcx23885-reg.hcx23885-vbi.ccx23885-video.ccx23885-video.hcx23885.hcx23888-ir.ccx23888-ir.hnetup-eeprom.cnetup-eeprom.hnetup-init.cnetup-init.hcx25821KconfigMakefilecx25821-alsa.ccx25821-audio-upstream.ccx25821-audio-upstream.hcx25821-audio.hcx25821-biffuncs.hcx25821-cards.ccx25821-core.ccx25821-gpio.ccx25821-i2c.ccx25821-medusa-defines.hcx25821-medusa-reg.hcx25821-medusa-video.ccx25821-medusa-video.hcx25821-reg.hcx25821-sram.hcx25821-video-upstream.ccx25821-video-upstream.hcx25821-video.ccx25821-video.hcx25821.hcx88KconfigMakefilecx88-alsa.ccx88-blackbird.ccx88-cards.ccx88-core.ccx88-dsp.ccx88-dvb.ccx88-i2c.ccx88-input.ccx88-mpeg.ccx88-reg.hcx88-tvaudio.ccx88-vbi.ccx88-video.ccx88-vp3054-i2c.ccx88-vp3054-i2c.hcx88.hddbridgeKconfigMakefileddbridge-core.cddbridge-regs.hddbridge.hdm1105KconfigMakefiledm1105.cdt3155KconfigMakefiledt3155.cdt3155.hivtvKconfigMakefileivtv-alsa-main.civtv-alsa-mixer.civtv-alsa-mixer.hivtv-alsa-pcm.civtv-alsa-pcm.hivtv-alsa.hivtv-cards.civtv-cards.hivtv-controls.civtv-controls.hivtv-driver.civtv-driver.hivtv-fileops.civtv-fileops.hivtv-firmware.civtv-firmware.hivtv-gpio.civtv-gpio.hivtv-i2c.civtv-i2c.hivtv-ioctl.civtv-ioctl.hivtv-irq.civtv-irq.hivtv-mailbox.civtv-mailbox.hivtv-queue.civtv-queue.hivtv-routing.civtv-routing.hivtv-streams.civtv-streams.hivtv-udma.civtv-udma.hivtv-vbi.civtv-vbi.hivtv-version.hivtv-yuv.civtv-yuv.hivtvfb.cmantisKconfigMakefilehopper_cards.chopper_vp3028.chopper_vp3028.hmantis_ca.cmantis_ca.hmantis_cards.cmantis_common.hmantis_core.cmantis_core.hmantis_dma.cmantis_dma.hmantis_dvb.cmantis_dvb.hmantis_evm.cmantis_hif.cmantis_hif.hmantis_i2c.cmantis_i2c.hmantis_input.cmantis_input.hmantis_ioc.cmantis_ioc.hmantis_link.hmantis_pci.cmantis_pci.hmantis_pcmcia.cmantis_reg.hmantis_uart.cmantis_uart.hmantis_vp1033.cmantis_vp1033.hmantis_vp1034.cmantis_vp1034.hmantis_vp1041.cmantis_vp1041.hmantis_vp2033.cmantis_vp2033.hmantis_vp2040.cmantis_vp2040.hmantis_vp3028.cmantis_vp3028.hmantis_vp3030.cmantis_vp3030.hmeyeKconfigMakefilemeye.cmeye.hnetup_unidvbKconfigMakefilenetup_unidvb.hnetup_unidvb_ci.cnetup_unidvb_core.cnetup_unidvb_i2c.cnetup_unidvb_spi.cngeneKconfigMakefilengene-cards.cngene-core.cngene-dvb.cngene-i2c.cngene.hpluto2KconfigMakefilepluto2.cpt1KconfigMakefilept1.cva1j5jf8007s.cva1j5jf8007s.hva1j5jf8007t.cva1j5jf8007t.hpt3KconfigMakefilept3.cpt3.hpt3_dma.cpt3_i2c.csaa7134KconfigMakefilesaa7134-alsa.csaa7134-cards.csaa7134-core.csaa7134-dvb.csaa7134-empress.csaa7134-go7007.csaa7134-i2c.csaa7134-input.csaa7134-reg.hsaa7134-ts.csaa7134-tvaudio.csaa7134-vbi.csaa7134-video.csaa7134.hsaa7146KconfigMakefilehexium_gemini.chexium_orion.cmxb.csaa7164KconfigMakefilesaa7164-api.csaa7164-buffer.csaa7164-bus.csaa7164-cards.csaa7164-cmd.csaa7164-core.csaa7164-dvb.csaa7164-encoder.csaa7164-fw.csaa7164-i2c.csaa7164-reg.hsaa7164-types.hsaa7164-vbi.csaa7164.hsmipcieKconfigMakefilesmipcie-ir.csmipcie-main.csmipcie.hsolo6x10KconfigMakefilesolo6x10-core.csolo6x10-disp.csolo6x10-eeprom.csolo6x10-enc.csolo6x10-g723.csolo6x10-gpio.csolo6x10-i2c.csolo6x10-jpeg.hsolo6x10-offsets.hsolo6x10-p2m.csolo6x10-regs.hsolo6x10-tw28.csolo6x10-tw28.hsolo6x10-v4l2-enc.csolo6x10-v4l2.csolo6x10.hsta2x11KconfigMakefilesta2x11_vip.csta2x11_vip.httpciKconfigMakefileav7110.cav7110.hav7110_av.cav7110_av.hav7110_ca.cav7110_ca.hav7110_hw.cav7110_hw.hav7110_ipack.cav7110_ipack.hav7110_ir.cav7110_v4l.cbudget-av.cbudget-ci.cbudget-core.cbudget-patch.cbudget.cbudget.hdvb_filter.cdvb_filter.httpci-eeprom.cttpci-eeprom.htw5864KconfigMakefiletw5864-core.ctw5864-h264.ctw5864-reg.htw5864-util.ctw5864-video.ctw5864.htw68KconfigMakefiletw68-core.ctw68-reg.htw68-risc.ctw68-video.ctw68.htw686xKconfigMakefiletw686x-audio.ctw686x-core.ctw686x-regs.htw686x-video.ctw686x.hzoranKconfigMakefilevideocodec.cvideocodec.hzoran.hzoran_card.czoran_card.hzoran_device.czoran_device.hzoran_driver.czoran_procfs.czoran_procfs.hzr36016.czr36016.hzr36050.czr36050.hzr36057.hzr36060.czr36060.hplatformKconfigMakefileam437xKconfigMakefileam437x-vpfe.cam437x-vpfe.ham437x-vpfe_regs.harv.catmelKconfigMakefileatmel-isc-regs.hatmel-isc.catmel-isi.catmel-isi.hblackfinKconfigMakefilebfin_capture.cppi.ccodaMakefilecoda-bit.ccoda-common.ccoda-gdi.ccoda-h264.ccoda-jpeg.ccoda.hcoda_regs.himx-vdoa.cimx-vdoa.htrace.hdavinciKconfigMakefileccdc_hw_device.hdm355_ccdc.cdm355_ccdc_regs.hdm644x_ccdc.cdm644x_ccdc_regs.hisif.cisif_regs.hvpbe.cvpbe_display.cvpbe_osd.cvpbe_osd_regs.hvpbe_venc.cvpbe_venc_regs.hvpfe_capture.cvpif.cvpif.hvpif_capture.cvpif_capture.hvpif_display.cvpif_display.hvpss.cexynos-gscMakefilegsc-core.cgsc-core.hgsc-m2m.cgsc-regs.cgsc-regs.hexynos4-isKconfigMakefilecommon.ccommon.hfimc-capture.cfimc-core.cfimc-core.hfimc-is-command.hfimc-is-errno.cfimc-is-errno.hfimc-is-i2c.cfimc-is-i2c.hfimc-is-param.cfimc-is-param.hfimc-is-regs.cfimc-is-regs.hfimc-is-sensor.cfimc-is-sensor.hfimc-is.cfimc-is.hfimc-isp-video.cfimc-isp-video.hfimc-isp.cfimc-isp.hfimc-lite-reg.cfimc-lite-reg.hfimc-lite.cfimc-lite.hfimc-m2m.cfimc-reg.cfimc-reg.hmedia-dev.cmedia-dev.hmipi-csis.cmipi-csis.hfsl-viu.cm2m-deinterlace.cmarvell-ccicKconfigMakefilecafe-driver.cmcam-core.cmcam-core.hmmp-driver.cmtk-jpegMakefilemtk_jpeg_core.cmtk_jpeg_core.hmtk_jpeg_hw.cmtk_jpeg_hw.hmtk_jpeg_parse.cmtk_jpeg_parse.hmtk_jpeg_reg.hmtk-mdpMakefilemtk_mdp_comp.cmtk_mdp_comp.hmtk_mdp_core.cmtk_mdp_core.hmtk_mdp_ipi.hmtk_mdp_m2m.cmtk_mdp_m2m.hmtk_mdp_regs.cmtk_mdp_regs.hmtk_mdp_vpu.cmtk_mdp_vpu.hmtk-vcodecMakefilemtk_vcodec_dec.cmtk_vcodec_dec.hmtk_vcodec_dec_drv.cmtk_vcodec_dec_pm.cmtk_vcodec_dec_pm.hmtk_vcodec_drv.hmtk_vcodec_enc.cmtk_vcodec_enc.hmtk_vcodec_enc_drv.cmtk_vcodec_enc_pm.cmtk_vcodec_enc_pm.hmtk_vcodec_intr.cmtk_vcodec_intr.hmtk_vcodec_util.cmtk_vcodec_util.hvdecvdec_h264_if.cvdec_vp8_if.cvdec_vp9_if.cvdec_drv_base.hvdec_drv_if.cvdec_drv_if.hvdec_ipi_msg.hvdec_vpu_if.cvdec_vpu_if.hvencvenc_h264_if.cvenc_vp8_if.cvenc_drv_base.hvenc_drv_if.cvenc_drv_if.hvenc_ipi_msg.hvenc_vpu_if.cvenc_vpu_if.hmtk-vpuMakefilemtk_vpu.cmtk_vpu.hmx2_emmaprp.comapKconfigMakefileomap_vout.comap_vout_vrfb.comap_vout_vrfb.homap_voutdef.homap_voutlib.comap_voutlib.homap3ispMakefilecfa_coef_table.hgamma_table.hisp.cisp.hispccdc.cispccdc.hispccp2.cispccp2.hispcsi2.cispcsi2.hispcsiphy.cispcsiphy.hisph3a.hisph3a_aewb.cisph3a_af.cisphist.cisphist.hisppreview.cisppreview.hispreg.hispresizer.cispresizer.hispstat.cispstat.hispvideo.cispvideo.hluma_enhance_table.hnoise_filter_table.homap3isp.hpxa_camera.crcar-fcp.crcar-vinKconfigMakefilercar-core.crcar-dma.crcar-v4l2.crcar-vin.hrcar_fdp1.crcar_jpu.cs3c-camifMakefilecamif-capture.ccamif-core.ccamif-core.hcamif-regs.ccamif-regs.hs5p-cecMakefileexynos_hdmi_cec.hexynos_hdmi_cecctrl.cregs-cec.hs5p_cec.cs5p_cec.hs5p-g2dMakefileg2d-hw.cg2d-regs.hg2d.cg2d.hs5p-jpegMakefilejpeg-core.cjpeg-core.hjpeg-hw-exynos3250.cjpeg-hw-exynos3250.hjpeg-hw-exynos4.cjpeg-hw-exynos4.hjpeg-hw-s5p.cjpeg-hw-s5p.hjpeg-regs.hs5p-mfcMakefileregs-mfc-v6.hregs-mfc-v7.hregs-mfc-v8.hregs-mfc.hs5p_mfc.cs5p_mfc_cmd.cs5p_mfc_cmd.hs5p_mfc_cmd_v5.cs5p_mfc_cmd_v5.hs5p_mfc_cmd_v6.cs5p_mfc_cmd_v6.hs5p_mfc_common.hs5p_mfc_ctrl.cs5p_mfc_ctrl.hs5p_mfc_debug.hs5p_mfc_dec.cs5p_mfc_dec.hs5p_mfc_enc.cs5p_mfc_enc.hs5p_mfc_intr.cs5p_mfc_intr.hs5p_mfc_iommu.hs5p_mfc_opr.cs5p_mfc_opr.hs5p_mfc_opr_v5.cs5p_mfc_opr_v5.hs5p_mfc_opr_v6.cs5p_mfc_opr_v6.hs5p_mfc_pm.cs5p_mfc_pm.hsh_veu.csh_vou.csoc_cameraKconfigMakefilesh_mobile_ceu_camera.csoc_camera.csoc_camera_platform.csoc_mediabus.csoc_scale_crop.csoc_scale_crop.hstibdispMakefilebdisp-debug.cbdisp-filter.hbdisp-hw.cbdisp-reg.hbdisp-v4l2.cbdisp.hc8sectpfeKconfigMakefilec8sectpfe-common.cc8sectpfe-common.hc8sectpfe-core.cc8sectpfe-core.hc8sectpfe-debugfs.cc8sectpfe-debugfs.hc8sectpfe-dvb.cc8sectpfe-dvb.hcecMakefilestih-cec.cdeltaMakefiledelta-cfg.hdelta-debug.cdelta-debug.hdelta-ipc.cdelta-ipc.hdelta-mem.cdelta-mem.hdelta-mjpeg-dec.cdelta-mjpeg-fw.hdelta-mjpeg-hdr.cdelta-mjpeg.hdelta-v4l2.cdelta.hhvaMakefilehva-debugfs.chva-h264.chva-hw.chva-hw.hhva-mem.chva-mem.hhva-v4l2.chva.hti-vpeMakefilecal.ccal_regs.hcsc.ccsc.hsc.csc.hsc_coeff.hvpdma.cvpdma.hvpdma_priv.hvpe.cvpe_regs.hvia-camera.cvia-camera.hvim2m.cvimcKconfigMakefilevimc-capture.cvimc-capture.hvimc-core.cvimc-core.hvimc-sensor.cvimc-sensor.hvividKconfigMakefilevivid-cec.cvivid-cec.hvivid-core.cvivid-core.hvivid-ctrls.cvivid-ctrls.hvivid-kthread-cap.cvivid-kthread-cap.hvivid-kthread-out.cvivid-kthread-out.hvivid-osd.cvivid-osd.hvivid-radio-common.cvivid-radio-common.hvivid-radio-rx.cvivid-radio-rx.hvivid-radio-tx.cvivid-radio-tx.hvivid-rds-gen.cvivid-rds-gen.hvivid-sdr-cap.cvivid-sdr-cap.hvivid-vbi-cap.cvivid-vbi-cap.hvivid-vbi-gen.cvivid-vbi-gen.hvivid-vbi-out.cvivid-vbi-out.hvivid-vid-cap.cvivid-vid-cap.hvivid-vid-common.cvivid-vid-common.hvivid-vid-out.cvivid-vid-out.hvsp1Makefilevsp1.hvsp1_bru.cvsp1_bru.hvsp1_clu.cvsp1_clu.hvsp1_dl.cvsp1_dl.hvsp1_drm.cvsp1_drm.hvsp1_drv.cvsp1_entity.cvsp1_entity.hvsp1_hgo.cvsp1_hgo.hvsp1_hgt.cvsp1_hgt.hvsp1_histo.cvsp1_histo.hvsp1_hsit.cvsp1_hsit.hvsp1_lif.cvsp1_lif.hvsp1_lut.cvsp1_lut.hvsp1_pipe.cvsp1_pipe.hvsp1_regs.hvsp1_rpf.cvsp1_rwpf.cvsp1_rwpf.hvsp1_sru.cvsp1_sru.hvsp1_uds.cvsp1_uds.hvsp1_video.cvsp1_video.hvsp1_wpf.cxilinxKconfigMakefilexilinx-dma.cxilinx-dma.hxilinx-tpg.cxilinx-vip.cxilinx-vip.hxilinx-vipp.cxilinx-vipp.hxilinx-vtc.cxilinx-vtc.hradioKconfigMakefiledsbr100.clm7000.hradio-aimslab.cradio-aztech.cradio-cadet.cradio-gemtek.cradio-isa.cradio-isa.hradio-keene.cradio-ma901.cradio-maxiradio.cradio-miropcm20.cradio-mr800.cradio-raremono.cradio-rtrack2.cradio-sf16fmi.cradio-sf16fmr2.cradio-shark.cradio-shark2.cradio-si476x.cradio-tea5764.cradio-tea5777.cradio-tea5777.hradio-terratec.cradio-timb.cradio-trust.cradio-typhoon.cradio-wl1273.cradio-zoltrix.csaa7706h.csi470xKconfigMakefileradio-si470x-common.cradio-si470x-i2c.cradio-si470x-usb.cradio-si470x.hsi4713KconfigMakefileradio-platform-si4713.cradio-usb-si4713.csi4713.csi4713.htea575x.ctef6862.cwl128xKconfigMakefilefmdrv.hfmdrv_common.cfmdrv_common.hfmdrv_rx.cfmdrv_rx.hfmdrv_tx.cfmdrv_tx.hfmdrv_v4l2.cfmdrv_v4l2.hrcKconfigMakefileati_remote.cene_ir.cene_ir.hfintek-cir.cfintek-cir.hgpio-ir-recv.cigorplugusb.ciguanair.cimg-irKconfigMakefileimg-ir-core.cimg-ir-hw.cimg-ir-hw.himg-ir-jvc.cimg-ir-nec.cimg-ir-raw.cimg-ir-raw.himg-ir-rc5.cimg-ir-rc6.cimg-ir-sanyo.cimg-ir-sharp.cimg-ir-sony.cimg-ir.himon.cir-hix5hd2.cir-jvc-decoder.cir-lirc-codec.cir-mce_kbd-decoder.cir-nec-decoder.cir-rc5-decoder.cir-rc6-decoder.cir-rx51.cir-sanyo-decoder.cir-sharp-decoder.cir-sony-decoder.cir-spi.cir-xmp-decoder.cite-cir.cite-cir.hkeymapsKconfigMakefilerc-adstech-dvb-t-pci.crc-alink-dtu-m.crc-anysee.crc-apac-viewcomp.crc-asus-pc39.crc-asus-ps3-100.crc-ati-tv-wonder-hd-600.crc-ati-x10.crc-avermedia-a16d.crc-avermedia-cardbus.crc-avermedia-dvbt.crc-avermedia-m135a.crc-avermedia-m733a-rm-k6.crc-avermedia-rm-ks.crc-avermedia.crc-avertv-303.crc-azurewave-ad-tu700.crc-behold-columbus.crc-behold.crc-budget-ci-old.crc-cec.crc-cinergy-1400.crc-cinergy.crc-d680-dmb.crc-delock-61959.crc-dib0700-nec.crc-dib0700-rc5.crc-digitalnow-tinytwin.crc-digittrade.crc-dm1105-nec.crc-dntv-live-dvb-t.crc-dntv-live-dvbt-pro.crc-dtt200u.crc-dvbsky.crc-dvico-mce.crc-dvico-portable.crc-em-terratec.crc-encore-enltv-fm53.crc-encore-enltv.crc-encore-enltv2.crc-evga-indtube.crc-eztv.crc-flydvb.crc-flyvideo.crc-fusionhdtv-mce.crc-gadmei-rm008z.crc-geekbox.crc-genius-tvgo-a11mce.crc-gotview7135.crc-hauppauge.crc-imon-mce.crc-imon-pad.crc-iodata-bctv7e.crc-it913x-v1.crc-it913x-v2.crc-kaiomy.crc-kworld-315u.crc-kworld-pc150u.crc-kworld-plus-tv-analog.crc-leadtek-y04g0051.crc-lme2510.crc-manli.crc-medion-x10-digitainer.crc-medion-x10-or2x.crc-medion-x10.crc-msi-digivox-ii.crc-msi-digivox-iii.crc-msi-tvanywhere-plus.crc-msi-tvanywhere.crc-nebula.crc-nec-terratec-cinergy-xs.crc-norwood.crc-npgtech.crc-pctv-sedna.crc-pinnacle-color.crc-pinnacle-grey.crc-pinnacle-pctv-hd.crc-pixelview-002t.crc-pixelview-mk12.crc-pixelview-new.crc-pixelview.crc-powercolor-real-angel.crc-proteus-2309.crc-purpletv.crc-pv951.crc-rc6-mce.crc-real-audio-220-32-keys.crc-reddo.crc-snapstream-firefly.crc-streamzap.crc-su3000.crc-tbs-nec.crc-technisat-ts35.crc-technisat-usb2.crc-terratec-cinergy-c-pci.crc-terratec-cinergy-s2-hd.crc-terratec-cinergy-xs.crc-terratec-slim-2.crc-terratec-slim.crc-tevii-nec.crc-tivo.crc-total-media-in-hand-02.crc-total-media-in-hand.crc-trekstor.crc-tt-1500.crc-twinhan-dtv-cab-ci.crc-twinhan1027.crc-videomate-m1f.crc-videomate-s350.crc-videomate-tv-pvr.crc-winfast-usbii-deluxe.crc-winfast.clirc_dev.cmceusb.cmeson-ir.cmtk-cir.cnuvoton-cir.cnuvoton-cir.hrc-core-priv.hrc-ir-raw.crc-loopback.crc-main.credrat3.cserial_ir.csir_ir.cst_rc.cstreamzap.csunxi-cir.cttusbir.cwinbond-cir.cspiKconfigMakefilegs1662.ctunersKconfigMakefilee4000.ce4000.he4000_priv.hfc0011.cfc0011.hfc0012-priv.hfc0012.cfc0012.hfc0013-priv.hfc0013.cfc0013.hfc001x-common.hfc2580.cfc2580.hfc2580_priv.hit913x.cit913x.hm88rs6000t.cm88rs6000t.hmax2165.cmax2165.hmax2165_priv.hmc44s803.cmc44s803.hmc44s803_priv.hmsi001.cmt2060.cmt2060.hmt2060_priv.hmt2063.cmt2063.hmt20xx.cmt20xx.hmt2131.cmt2131.hmt2131_priv.hmt2266.cmt2266.hmxl301rf.cmxl301rf.hmxl5005s.cmxl5005s.hmxl5007t.cmxl5007t.hqm1d1c0042.cqm1d1c0042.hqt1010.cqt1010.hqt1010_priv.hr820t.cr820t.hsi2157.csi2157.hsi2157_priv.htda18212.ctda18212.htda18218.ctda18218.htda18218_priv.htda18271-common.ctda18271-fe.ctda18271-maps.ctda18271-priv.htda18271.htda827x.ctda827x.htda8290.ctda8290.htda9887.ctda9887.htea5761.ctea5761.htea5767.ctea5767.htua9001.ctua9001.htua9001_priv.htuner-i2c.htuner-simple.ctuner-simple.htuner-types.ctuner-xc2028-types.htuner-xc2028.ctuner-xc2028.hxc4000.cxc4000.hxc5000.cxc5000.husbKconfigMakefileairspyKconfigMakefileairspy.cas102KconfigMakefileas102_drv.cas102_drv.has102_fw.cas102_fw.has102_usb_drv.cas102_usb_drv.has10x_cmd.cas10x_cmd.has10x_cmd_cfg.cas10x_cmd_stream.cas10x_handle.hau0828KconfigMakefileau0828-cards.cau0828-cards.hau0828-core.cau0828-dvb.cau0828-i2c.cau0828-input.cau0828-reg.hau0828-vbi.cau0828-video.cau0828.hb2c2KconfigMakefileflexcop-usb.cflexcop-usb.hcpia2KconfigMakefilecpia2.hcpia2_core.ccpia2_registers.hcpia2_usb.ccpia2_v4l.ccx231xxKconfigMakefilecx231xx-417.ccx231xx-audio.ccx231xx-avcore.ccx231xx-cards.ccx231xx-conf-reg.hcx231xx-core.ccx231xx-dif.hcx231xx-dvb.ccx231xx-i2c.ccx231xx-input.ccx231xx-pcb-cfg.ccx231xx-pcb-cfg.hcx231xx-reg.hcx231xx-vbi.ccx231xx-vbi.hcx231xx-video.ccx231xx.hdvb-usbdvb-usb-v2KconfigMakefileaf9015.caf9015.haf9035.caf9035.hanysee.canysee.hau6610.cau6610.haz6007.cce6230.cce6230.hdvb_usb.hdvb_usb_common.hdvb_usb_core.cdvb_usb_urb.cdvbsky.cec168.cec168.hgl861.cgl861.hlmedm04.clmedm04.hmxl111sf-demod.cmxl111sf-demod.hmxl111sf-gpio.cmxl111sf-gpio.hmxl111sf-i2c.cmxl111sf-i2c.hmxl111sf-phy.cmxl111sf-phy.hmxl111sf-reg.hmxl111sf-tuner.cmxl111sf-tuner.hmxl111sf.cmxl111sf.hrtl28xxu.crtl28xxu.husb_urb.czd1301.cKconfigMakefilea800.caf9005-fe.caf9005-remote.caf9005-script.haf9005.caf9005.haz6027.caz6027.hcinergyT2-core.ccinergyT2-fe.ccinergyT2.hcxusb.ccxusb.hdib0700.hdib0700_core.cdib0700_devices.cdib07x0.hdibusb-common.cdibusb-mb.cdibusb-mc-common.cdibusb-mc.cdibusb.hdigitv.cdigitv.hdtt200u-fe.cdtt200u.cdtt200u.hdtv5100.cdtv5100.hdvb-usb-common.hdvb-usb-dvb.cdvb-usb-firmware.cdvb-usb-i2c.cdvb-usb-init.cdvb-usb-remote.cdvb-usb-urb.cdvb-usb.hdw2102.cdw2102.hfriio-fe.cfriio.cfriio.hgp8psk.cgp8psk.hm920x.cm920x.hnova-t-usb2.copera1.cpctv452e.ctechnisat-usb2.cttusb2.cttusb2.humt-010.cusb-urb.cvp702x-fe.cvp702x.cvp702x.hvp7045-fe.cvp7045.cvp7045.hem28xxKconfigMakefileem28xx-audio.cem28xx-camera.cem28xx-cards.cem28xx-core.cem28xx-dvb.cem28xx-i2c.cem28xx-input.cem28xx-reg.hem28xx-v4l.hem28xx-vbi.cem28xx-video.cem28xx.hgo7007KconfigMakefilego7007-driver.cgo7007-fw.cgo7007-i2c.cgo7007-loader.cgo7007-priv.hgo7007-usb.cgo7007-v4l2.cs2250-board.csnd-go7007.cgspcaKconfigMakefileautogain_functions.cbenq.cconex.ccpia1.cdtcs033.cetoms.cfinepix.cgl860KconfigMakefilegl860-mi1320.cgl860-mi2020.cgl860-ov2640.cgl860-ov9655.cgl860.cgl860.hgspca.cgspca.hjeilinj.cjl2005bcd.cjpeg.hkinect.ckonica.cm5602KconfigMakefilem5602_bridge.hm5602_core.cm5602_mt9m111.cm5602_mt9m111.hm5602_ov7660.cm5602_ov7660.hm5602_ov9650.cm5602_ov9650.hm5602_po1030.cm5602_po1030.hm5602_s5k4aa.cm5602_s5k4aa.hm5602_s5k83a.cm5602_s5k83a.hm5602_sensor.hmars.cmr97310a.cnw80x.cov519.cov534.cov534_9.cpac207.cpac7302.cpac7311.cpac_common.hse401.cse401.hsn9c2028.csn9c2028.hsn9c20x.csonixb.csonixj.cspca1528.cspca500.cspca501.cspca505.cspca506.cspca508.cspca561.csq905.csq905c.csq930x.cstk014.cstk1135.cstk1135.hstv0680.cstv06xxKconfigMakefilestv06xx.cstv06xx.hstv06xx_hdcs.cstv06xx_hdcs.hstv06xx_pb0100.cstv06xx_pb0100.hstv06xx_sensor.hstv06xx_st6422.cstv06xx_st6422.hstv06xx_vv6410.cstv06xx_vv6410.hsunplus.ct613.ctopro.ctouptek.ctv8532.cvc032x.cvicam.cw996Xcf.cxirlink_cit.czc3xx-reg.hzc3xx.chackrfKconfigMakefilehackrf.chdpvrKconfigMakefilehdpvr-control.chdpvr-core.chdpvr-i2c.chdpvr-video.chdpvr.hmsi2500KconfigMakefilemsi2500.cpulse8-cecKconfigMakefilepulse8-cec.cpvrusb2KconfigMakefilepvrusb2-audio.cpvrusb2-audio.hpvrusb2-context.cpvrusb2-context.hpvrusb2-cs53l32a.cpvrusb2-cs53l32a.hpvrusb2-ctrl.cpvrusb2-ctrl.hpvrusb2-cx2584x-v4l.cpvrusb2-cx2584x-v4l.hpvrusb2-debug.hpvrusb2-debugifc.cpvrusb2-debugifc.hpvrusb2-devattr.cpvrusb2-devattr.hpvrusb2-dvb.cpvrusb2-dvb.hpvrusb2-eeprom.cpvrusb2-eeprom.hpvrusb2-encoder.cpvrusb2-encoder.hpvrusb2-fx2-cmd.hpvrusb2-hdw-internal.hpvrusb2-hdw.cpvrusb2-hdw.hpvrusb2-i2c-core.cpvrusb2-i2c-core.hpvrusb2-io.cpvrusb2-io.hpvrusb2-ioread.cpvrusb2-ioread.hpvrusb2-main.cpvrusb2-std.cpvrusb2-std.hpvrusb2-sysfs.cpvrusb2-sysfs.hpvrusb2-util.hpvrusb2-v4l2.cpvrusb2-v4l2.hpvrusb2-video-v4l.cpvrusb2-video-v4l.hpvrusb2-wm8775.cpvrusb2-wm8775.hpvrusb2.hpwcKconfigMakefilepwc-ctrl.cpwc-dec1.cpwc-dec1.hpwc-dec23.cpwc-dec23.hpwc-if.cpwc-kiara.cpwc-kiara.hpwc-misc.cpwc-nala.hpwc-timon.cpwc-timon.hpwc-uncompress.cpwc-v4l.cpwc.hrainshadow-cecKconfigMakefilerainshadow-cec.cs2255KconfigMakefiles2255drv.csianoKconfigMakefilesmsusb.cstk1160KconfigMakefilestk1160-ac97.cstk1160-core.cstk1160-i2c.cstk1160-reg.hstk1160-v4l.cstk1160-video.cstk1160.hstkwebcamKconfigMakefilestk-sensor.cstk-webcam.cstk-webcam.htm6000KconfigMakefiletm6000-alsa.ctm6000-cards.ctm6000-core.ctm6000-dvb.ctm6000-i2c.ctm6000-input.ctm6000-regs.htm6000-stds.ctm6000-usb-isoc.htm6000-video.ctm6000.httusb-budgetKconfigMakefiledvb-ttusb-budget.cttusb-decKconfigMakefilettusb_dec.cttusbdecfe.cttusbdecfe.husbtvKconfigMakefileusbtv-audio.cusbtv-core.cusbtv-video.cusbtv.husbvisionKconfigMakefileusbvision-cards.cusbvision-cards.husbvision-core.cusbvision-i2c.cusbvision-video.cusbvision.huvcKconfigMakefileuvc_ctrl.cuvc_debugfs.cuvc_driver.cuvc_entity.cuvc_isight.cuvc_queue.cuvc_status.cuvc_v4l2.cuvc_video.cuvcvideo.hzr364xxKconfigMakefilezr364xx.cv4l2-coreKconfigMakefiletuner-core.cv4l2-async.cv4l2-clk.cv4l2-common.cv4l2-compat-ioctl32.cv4l2-ctrls.cv4l2-dev.cv4l2-device.cv4l2-dv-timings.cv4l2-event.cv4l2-fh.cv4l2-flash-led-class.cv4l2-ioctl.cv4l2-mc.cv4l2-mem2mem.cv4l2-of.cv4l2-subdev.cv4l2-trace.cvb2-trace.cvideobuf-core.cvideobuf-dma-contig.cvideobuf-dma-sg.cvideobuf-dvb.cvideobuf-vmalloc.cvideobuf2-core.cvideobuf2-dma-contig.cvideobuf2-dma-sg.cvideobuf2-dvb.cvideobuf2-memops.cvideobuf2-v4l2.cvideobuf2-vmalloc.cmemoryKconfigMakefileatmel-ebi.catmel-sdramc.cda8xx-ddrctl.cemif.cemif.hfsl-corenet-cf.cfsl_ifc.cjz4780-nemc.cmtk-smi.cmvebu-devbus.cof_memory.cof_memory.homap-gpmc.cpl172.csamsungKconfigMakefileexynos-srom.cexynos-srom.htegraKconfigMakefilemc.cmc.htegra114.ctegra124-emc.ctegra124.ctegra210.ctegra30.ctegra20-mc.cti-aemif.cmemstickKconfigMakefilecoreKconfigMakefilememstick.cms_block.cms_block.hmspro_block.chostKconfigMakefilejmb38x_ms.cr592.cr592.hrtsx_pci_ms.crtsx_usb_ms.ctifm_ms.cmessageMakefilefusionKconfigMakefilelsimpi.hmpi_cnfg.hmpi_fc.hmpi_history.txtmpi_init.hmpi_ioc.hmpi_lan.hmpi_log_fc.hmpi_log_sas.hmpi_raid.hmpi_sas.hmpi_targ.hmpi_tool.hmpi_type.hmptbase.cmptbase.hmptctl.cmptctl.hmptdebug.hmptfc.cmptlan.cmptlan.hmptsas.cmptsas.hmptscsih.cmptscsih.hmptspi.cmfd88pm800.c88pm805.c88pm80x.c88pm860x-core.c88pm860x-i2c.cKconfigMakefileaat2870-core.cab3100-core.cab3100-otp.cab8500-core.cab8500-debugfs.cab8500-gpadc.cab8500-sysctrl.cabx500-core.cac100.cact8945a.cadp5520.caltera-a10sr.carizona-core.carizona-i2c.carizona-irq.carizona-spi.carizona.has3711.cas3722.casic3.catmel-flexcom.catmel-hlcdc.catmel-smc.caxp20x-i2c.caxp20x-rsb.caxp20x.cbcm590xx.ccros_ec.ccros_ec_acpi_gpe.ccros_ec_i2c.ccros_ec_spi.ccs47l24-tables.ccs5535-mfd.cda903x.cda9052-core.cda9052-i2c.cda9052-irq.cda9052-spi.cda9055-core.cda9055-i2c.cda9062-core.cda9063-core.cda9063-i2c.cda9063-irq.cda9150-core.cdavinci_voicecodec.cdb8500-prcmu.cdbx500-prcmu-regs.hdln2.cdm355evm_msp.cexynos-lpass.cezx-pcap.cfsl-imx25-tsadc.chi6421-pmic-core.chi655x-pmic.chtc-i2cpld.chtc-pasic3.cintel-lpss-acpi.cintel-lpss-pci.cintel-lpss.cintel-lpss.hintel_msic.cintel_quark_i2c_gpio.cintel_soc_pmic_bxtwc.cintel_soc_pmic_core.cintel_soc_pmic_core.hintel_soc_pmic_crc.cipaq-micro.cjanz-cmodio.cjz4740-adc.ckempld-core.clm3533-core.clm3533-ctrlbank.clp3943.clp873x.clp8788-irq.clp8788.clpc_ich.clpc_sch.cmax14577.cmax77620.cmax77686.cmax77693.cmax77843.cmax8907.cmax8925-core.cmax8925-i2c.cmax8997-irq.cmax8997.cmax8998-irq.cmax8998.cmc13xxx-core.cmc13xxx-i2c.cmc13xxx-spi.cmc13xxx.hmcp-core.cmcp-sa11x0.cmenelaus.cmenf21bmc.cmfd-core.cmotorola-cpcap.cmt6397-core.cmxs-lradc.comap-usb-host.comap-usb-tll.comap-usb.hpalmas.cpcf50633-adc.cpcf50633-core.cpcf50633-gpio.cpcf50633-irq.cqcom-pm8xxx.cqcom-spmi-pmic.cqcom_rpm.crc5t583-irq.crc5t583.crdc321x-southbridge.cretu-mfd.crk808.crn5t618.crt5033.crtl8411.crts5209.crts5227.crts5229.crts5249.crtsx_pcr.crtsx_pcr.hrtsx_usb.csec-core.csec-irq.csi476x-cmd.csi476x-i2c.csi476x-prop.csky81452.csm501.csmsc-ece1099.cssbi.csta2x11-mfd.cstm32-timers.cstmpe-i2c.cstmpe-spi.cstmpe.cstmpe.hstw481x.csun4i-gpadc.csun6i-prcm.csyscon.ct7l66xb.ctc3589x.ctc6387xb.ctc6393xb.cti-lmu.cti_am335x_tscadc.ctimberdale.ctimberdale.htmio_core.ctps6105x.ctps65010.ctps6507x.ctps65086.ctps65090.ctps65217.ctps65218.ctps6586x.ctps65910.ctps65911-comparator.ctps65912-core.ctps65912-i2c.ctps65912-spi.ctps80031.ctwl-core.ctwl-core.htwl4030-audio.ctwl4030-irq.ctwl4030-power.ctwl6030-irq.ctwl6040.cucb1400_core.cucb1x00-assabet.cucb1x00-core.cucb1x00-ts.cvexpress-sysreg.cviperboard.cvx855.cwl1273-core.cwm5102-tables.cwm5110-tables.cwm831x-auxadc.cwm831x-core.cwm831x-i2c.cwm831x-irq.cwm831x-otp.cwm831x-spi.cwm8350-core.cwm8350-gpio.cwm8350-i2c.cwm8350-irq.cwm8350-regmap.cwm8400-core.cwm8994-core.cwm8994-irq.cwm8994-regmap.cwm8994.hwm8997-tables.cwm8998-tables.cmiscKconfigMakefilead525x_dpot-i2c.cad525x_dpot-spi.cad525x_dpot.cad525x_dpot.haltera-staplKconfigMakefilealtera-comp.caltera-exprt.haltera-jtag.caltera-jtag.haltera-lpt.caltera.capds9802als.capds990x.caspeed-lpc-ctrl.catmel-ssc.catmel_tclib.cbh1770glc.cc2portKconfigMakefilec2port-duramar2150.ccore.ccb710KconfigMakefilecore.cdebug.csgbuf2.ccs5535-mfgpt.ccxlKconfigMakefileapi.cbase.ccontext.ccxl.hdebugfs.cfault.cfile.cflash.cguest.chcalls.chcalls.hirq.cmain.cnative.cof.cpci.cphb.csysfs.ctrace.ctrace.hvphb.cds1682.cdummy-irq.cechoKconfigMakefileecho.cecho.hfir.hoslec.heepromKconfigMakefileat24.cat25.cdigsy_mtc_eeprom.ceeprom.ceeprom_93cx6.ceeprom_93xx46.cidt_89hpesx.cmax6875.cenclosure.cfsa9480.cgenwqeKconfigMakefilecard_base.ccard_base.hcard_ddcb.ccard_ddcb.hcard_debugfs.ccard_dev.ccard_sysfs.ccard_utils.cgenwqe_driver.hhmc6352.chpilo.chpilo.hibmasmMakefilecommand.cdot_command.cdot_command.hevent.cheartbeat.ci2o.hibmasm.hibmasmfs.clowlevel.clowlevel.hmodule.cr_heartbeat.cremote.cremote.huart.cics932s401.cioc4.cisl29003.cisl29020.ckgdbts.clattice-ecp3-config.clis3lv02dKconfigMakefilelis3lv02d.clis3lv02d.hlis3lv02d_i2c.clis3lv02d_spi.clkdtm.hlkdtm_bugs.clkdtm_core.clkdtm_heap.clkdtm_perms.clkdtm_rodata.clkdtm_usercopy.cmeiKconfigMakefilebus-fixup.cbus.cclient.cclient.hdebugfs.chbm.chbm.hhw-me-regs.hhw-me.chw-me.hhw-txe-regs.hhw-txe.chw-txe.hhw.hinit.cinterrupt.cmain.cmei-trace.cmei-trace.hmei_dev.hpci-me.cpci-txe.cmicKconfigMakefilebusMakefilecosm_bus.ccosm_bus.hmic_bus.cscif_bus.cscif_bus.hvop_bus.cvop_bus.hcardMakefilemic_debugfs.cmic_device.cmic_device.hmic_x100.cmic_x100.hcommonmic_dev.hcosmMakefilecosm_debugfs.ccosm_main.ccosm_main.hcosm_scif_server.ccosm_sysfs.ccosm_clientMakefilecosm_scif_client.chostMakefilemic_boot.cmic_debugfs.cmic_device.hmic_intr.cmic_intr.hmic_main.cmic_smpt.cmic_smpt.hmic_x100.cmic_x100.hscifMakefilescif_api.cscif_debugfs.cscif_dma.cscif_epd.cscif_epd.hscif_fd.cscif_fence.cscif_main.cscif_main.hscif_map.hscif_mmap.cscif_nm.cscif_nodeqp.cscif_nodeqp.hscif_peer_bus.cscif_peer_bus.hscif_ports.cscif_rb.cscif_rb.hscif_rma.cscif_rma.hscif_rma_list.cscif_rma_list.hvopMakefilevop_debugfs.cvop_main.cvop_main.hvop_vringh.cpch_phub.cpci_endpoint_test.cphantom.cpti.cqcom-coincell.csgi-gruMakefilegru.hgru_instructions.hgrufault.cgrufile.cgruhandles.cgruhandles.hgrukdump.cgrukservices.cgrukservices.hgrulib.hgrumain.cgruprocfs.cgrutables.hgrutlbpurge.csgi-xpMakefilexp.hxp_main.cxp_nofault.Sxp_sn2.cxp_uv.cxpc.hxpc_channel.cxpc_main.cxpc_partition.cxpc_sn2.cxpc_uv.cxpnet.cspear13xx_pcie_gadget.csram-exec.csram.csram.hti-stKconfigMakefilest_core.cst_kim.cst_ll.cti_dac7512.ctifm_7xx1.ctifm_core.ctsl2550.cvexpress-syscfg.cvmw_balloon.cvmw_vmciKconfigMakefilevmci_context.cvmci_context.hvmci_datagram.cvmci_datagram.hvmci_doorbell.cvmci_doorbell.hvmci_driver.cvmci_driver.hvmci_event.cvmci_event.hvmci_guest.cvmci_handle_array.cvmci_handle_array.hvmci_host.cvmci_queue_pair.cvmci_queue_pair.hvmci_resource.cvmci_resource.hvmci_route.cvmci_route.hmmcKconfigMakefilecoreKconfigMakefileblock.cblock.hbus.cbus.hcard.hcore.ccore.hdebugfs.chost.chost.hmmc.cmmc_ops.cmmc_ops.hmmc_test.cpwrseq.cpwrseq.hpwrseq_emmc.cpwrseq_sd8787.cpwrseq_simple.cqueue.cqueue.hquirks.hsd.csd.hsd_ops.csd_ops.hsdio.csdio_bus.csdio_bus.hsdio_cis.csdio_cis.hsdio_io.csdio_irq.csdio_ops.csdio_ops.hsdio_uart.cslot-gpio.cslot-gpio.hhostKconfigMakefileandroid-goldfish.catmel-mci.cau1xmmc.cbcm2835.cbfin_sdh.ccavium-octeon.ccavium-thunderx.ccavium.ccavium.hcb710-mmc.ccb710-mmc.hdavinci_mmc.cdw_mmc-exynos.cdw_mmc-exynos.hdw_mmc-k3.cdw_mmc-pci.cdw_mmc-pltfm.cdw_mmc-pltfm.hdw_mmc-rockchip.cdw_mmc-zx.cdw_mmc-zx.hdw_mmc.cdw_mmc.hjz4740_mmc.cmeson-gx-mmc.cmmc_spi.cmmci.cmmci.hmmci_qcom_dml.cmmci_qcom_dml.hmoxart-mmc.cmtk-sd.cmvsdio.cmvsdio.hmxcmmc.cmxs-mmc.cof_mmc_spi.comap.comap_hsmmc.cpxamci.cpxamci.hrtsx_pci_sdmmc.crtsx_usb_sdmmc.cs3cmci.cs3cmci.hsdhci-acpi.csdhci-bcm-kona.csdhci-brcmstb.csdhci-cadence.csdhci-cns3xxx.csdhci-dove.csdhci-esdhc-imx.csdhci-esdhc.hsdhci-iproc.csdhci-msm.csdhci-of-arasan.csdhci-of-at91.csdhci-of-esdhc.csdhci-of-hlwd.csdhci-pci-core.csdhci-pci-data.csdhci-pci-o2micro.csdhci-pci-o2micro.hsdhci-pci.hsdhci-pic32.csdhci-pltfm.csdhci-pltfm.hsdhci-pxav2.csdhci-pxav3.csdhci-s3c.csdhci-sirf.csdhci-spear.csdhci-st.csdhci-tegra.csdhci-xenon-phy.csdhci-xenon.csdhci-xenon.hsdhci.csdhci.hsdhci_f_sdh30.csdricoh_cs.csh_mmcif.csh_mobile_sdhi.csunxi-mmc.ctifm_sd.ctmio_mmc.ctmio_mmc.htmio_mmc_dma.ctmio_mmc_pio.ctoshsd.ctoshsd.husdhi6rol0.cushc.cvia-sdmmc.cvub300.cwbsd.cwbsd.hwmt-sdmmc.cmtdKconfigMakefileafs.car7part.cbcm47xxpart.cbcm63xxpart.cchipsKconfigMakefilecfi_cmdset_0001.ccfi_cmdset_0002.ccfi_cmdset_0020.ccfi_probe.ccfi_util.cchipreg.cfwh_lock.hgen_probe.cjedec_probe.cmap_absent.cmap_ram.cmap_rom.ccmdlinepart.cdevicesKconfigMakefilebcm47xxsflash.cbcm47xxsflash.hblock2mtd.cdocg3.cdocg3.hlart.cm25p80.cms02-nv.cms02-nv.hmtd_dataflash.cmtdram.cphram.cpmc551.cpowernv_flash.cserial_flash_cmds.hslram.cspear_smi.csst25l.cst_spi_fsm.cftl.cinftlcore.cinftlmount.clpddrKconfigMakefilelpddr2_nvm.clpddr_cmds.cqinfo_probe.cmapsKconfigMakefileamd76xrom.cbfin-async-flash.ccfi_flagadm.cck804xrom.cdc21285.cesb2rom.cgpio-addr-flash.cichxrom.cimpa7.cintel_vr_nor.cixp4xx.cl440gx.clantiq-flash.clatch-addr-flash.cmap_funcs.cnetsc520.cnettel.cpci.cpcmciamtd.cphysmap.cphysmap_of_core.cphysmap_of_gemini.cphysmap_of_gemini.hphysmap_of_versatile.cphysmap_of_versatile.hpismo.cplat-ram.cpmcmsp-flash.cpxa2xx-flash.crbtx4939-flash.csa1100-flash.csbc_gxx.csc520cdp.cscb2_flash.cscx200_docflash.csolutionengine.csun_uflash.cts5500_flash.ctsunami_flash.cuclinux.cvmu-flash.cmtd_blkdevs.cmtdblock.cmtdblock_ro.cmtdchar.cmtdconcat.cmtdcore.cmtdcore.hmtdoops.cmtdpart.cmtdsuper.cmtdswap.cnandKconfigMakefileams-delta.catmelMakefilenand-controller.cpmecc.cpmecc.hau1550nd.cbcm47xxnflashMakefilebcm47xxnflash.hmain.cops_bcm4706.cbf5xx_nand.cbrcmnandMakefilebcm63138_nand.cbcm6368_nand.cbrcmnand.cbrcmnand.hbrcmstb_nand.ciproc_nand.ccafe_nand.ccmx270_nand.ccs553x_nand.cdavinci_nand.cdenali.cdenali.hdenali_dt.cdenali_pci.cdiskonchip.cdocg4.cfsl_elbc_nand.cfsl_ifc_nand.cfsl_upm.cfsmc_nand.cgpio.cgpmi-nandMakefilebch-regs.hgpmi-lib.cgpmi-nand.cgpmi-nand.hgpmi-regs.hhisi504_nand.cjz4740_nand.cjz4780_bch.cjz4780_bch.hjz4780_nand.clpc32xx_mlc.clpc32xx_slc.cmpc5121_nfc.cmtk_ecc.cmtk_ecc.hmtk_nand.cmxc_nand.cnand_amd.cnand_base.cnand_bbt.cnand_bch.cnand_ecc.cnand_hynix.cnand_ids.cnand_macronix.cnand_micron.cnand_samsung.cnand_timings.cnand_toshiba.cnandsim.cndfc.cnuc900_nand.comap2.comap_elm.corion_nand.coxnas_nand.cpasemi_nand.cplat_nand.cpxa3xx_nand.cqcom_nandc.cr852.cr852.hs3c2410.csh_flctl.csharpsl.csm_common.csm_common.hsocrates_nand.csunxi_nand.ctango_nand.ctmio_nand.ctxx9ndfmc.cvf610_nfc.cxway_nand.cnftlcore.cnftlmount.cofpart.conenandKconfigMakefilegeneric.comap2.conenand_base.conenand_bbt.csamsung.csamsung.hredboot.crfd_ftl.csm_ftl.csm_ftl.hspi-norKconfigMakefileaspeed-smc.catmel-quadspi.ccadence-quadspi.cfsl-quadspi.chisi-sfc.cintel-spi-platform.cintel-spi.cintel-spi.hmtk-quadspi.cnxp-spifi.cspi-nor.cstm32-quadspi.cssfdc.ctestsMakefilemtd_nandecctest.cmtd_test.cmtd_test.hnandbiterrs.coobtest.cpagetest.creadtest.cspeedtest.cstresstest.csubpagetest.ctorturetest.cubiKconfigMakefileattach.cblock.cbuild.ccdev.cdebug.cdebug.heba.cfastmap-wl.cfastmap.cgluebi.cio.ckapi.cmisc.cubi-media.hubi.hupd.cvmt.cvtbl.cwl.cwl.hnetKconfigLICENSE.SRCMakefileSpace.cappletalkKconfigMakefilecops.ccops.hcops_ffdrv.hcops_ltdrv.hipddp.cipddp.hltpc.cltpc.harcnetKconfigMakefilearc-rawmode.carc-rimi.carcdevice.harcnet.ccapmode.ccom20020-isa.ccom20020-pci.ccom20020.ccom20020.hcom20020_cs.ccom9026.hcom90io.ccom90xx.crfc1051.crfc1201.cbondingMakefilebond_3ad.cbond_alb.cbond_debugfs.cbond_main.cbond_netlink.cbond_options.cbond_procfs.cbond_sysfs.cbond_sysfs_slave.cbonding_priv.hcaifKconfigMakefilecaif_hsi.ccaif_serial.ccaif_spi.ccaif_spi_slave.ccaif_virtio.ccanKconfigMakefileat91_can.cbfin_can.cc_canKconfigMakefilec_can.cc_can.hc_can_pci.cc_can_platform.ccc770KconfigMakefilecc770.ccc770.hcc770_isa.ccc770_platform.cdev.cflexcan.cgrcan.cifi_canfdKconfigMakefileifi_canfd.cjanz-ican3.cled.cm_canKconfigMakefilem_can.cmscanKconfigMakefilempc5xxx_can.cmscan.cmscan.hpch_can.cpeak_canfdKconfigMakefilepeak_canfd.cpeak_canfd_user.hpeak_pciefd_main.crcarKconfigMakefilercar_can.crcar_canfd.crx-offload.csja1000KconfigMakefileems_pci.cems_pcmcia.ckvaser_pci.cpeak_pci.cpeak_pcmcia.cplx_pci.csja1000.csja1000.hsja1000_isa.csja1000_platform.ctscan1.cslcan.csoftingKconfigMakefilesofting.hsofting_cs.csofting_fw.csofting_main.csofting_platform.hspiKconfigMakefilehi311x.cmcp251x.csun4i_can.cti_hecc.cusbKconfigMakefileems_usb.cesd_usb2.cgs_usb.ckvaser_usb.cmcba_usb.cpeak_usbMakefilepcan_usb.cpcan_usb_core.cpcan_usb_core.hpcan_usb_fd.cpcan_usb_pro.cpcan_usb_pro.husb_8dev.cvcan.cvxcan.cxilinx_can.ccrisMakefileeth_v10.cdsaKconfigMakefileb53KconfigMakefileb53_common.cb53_mdio.cb53_mmap.cb53_priv.hb53_regs.hb53_spi.cb53_srab.cbcm_sf2.cbcm_sf2.hbcm_sf2_cfp.cbcm_sf2_regs.hdsa_loop.cdsa_loop.hdsa_loop_bdinfo.clan9303-core.clan9303.hlan9303_i2c.clan9303_mdio.cmt7530.cmt7530.hmv88e6060.cmv88e6060.hmv88e6xxxKconfigMakefilechip.cglobal1.cglobal1.hglobal1_atu.cglobal1_vtu.cglobal2.cglobal2.hmv88e6xxx.hport.cport.hqca8k.cqca8k.hdummy.ceql.cethernet3com3c509.c3c515.c3c574_cs.c3c589_cs.c3c59x.cKconfigMakefiletyphoon.ctyphoon.h83908390.c8390.h8390p.cKconfigMakefileapne.cax88796.caxnet_cs.cetherh.chydra.clib8390.cmac8390.cmcf8390.cne.cne2k-pci.cpcnet_cs.csmc-ultra.cstnic.cwd.czorro8390.cKconfigMakefileadaptecKconfigMakefilestarfire.cadiKconfigMakefilebfin_mac.cbfin_mac.haeroflexKconfigMakefilegreth.cgreth.hagereKconfigMakefileet131x.cet131x.halacritechKconfigMakefileslic.hslicoss.callwinnerKconfigMakefilesun4i-emac.csun4i-emac.halteonKconfigMakefileacenic.cacenic.halteraKconfigMakefilealtera_msgdma.caltera_msgdma.haltera_msgdmahw.haltera_sgdma.caltera_sgdma.haltera_sgdmahw.haltera_tse.haltera_tse_ethtool.caltera_tse_main.caltera_utils.caltera_utils.hamazonKconfigMakefileenaMakefileena_admin_defs.hena_com.cena_com.hena_common_defs.hena_eth_com.cena_eth_com.hena_eth_io_defs.hena_ethtool.cena_netdev.cena_netdev.hena_pci_id_tbl.hena_regs_defs.hamd7990.c7990.hKconfigMakefilea2065.ca2065.ham79c961a.cam79c961a.hamd8111e.camd8111e.hariadne.cariadne.hatarilance.cau1000_eth.cau1000_eth.hdeclance.chplance.chplance.hlance.cmvme147.cni65.cni65.hnmclan_cs.cpcnet32.csun3lance.csunlance.cxgbeMakefilexgbe-common.hxgbe-dcb.cxgbe-debugfs.cxgbe-desc.cxgbe-dev.cxgbe-drv.cxgbe-ethtool.cxgbe-i2c.cxgbe-main.cxgbe-mdio.cxgbe-pci.cxgbe-phy-v1.cxgbe-phy-v2.cxgbe-platform.cxgbe-ptp.cxgbe.hapmKconfigMakefilexgenexgene-v2KconfigMakefileenet.cenet.hethtool.cethtool.hmac.cmac.hmain.cmain.hmdio.cring.cring.hKconfigMakefilexgene_enet_cle.cxgene_enet_cle.hxgene_enet_ethtool.cxgene_enet_hw.cxgene_enet_hw.hxgene_enet_main.cxgene_enet_main.hxgene_enet_ring2.cxgene_enet_ring2.hxgene_enet_sgmac.cxgene_enet_sgmac.hxgene_enet_xgmac.cxgene_enet_xgmac.happleKconfigMakefilebmac.cbmac.hmace.cmace.hmacmace.caquantiaKconfigMakefileatlanticMakefileaq_cfg.haq_common.haq_ethtool.caq_ethtool.haq_hw.haq_hw_utils.caq_hw_utils.haq_main.caq_main.haq_nic.caq_nic.haq_nic_internal.haq_pci_func.caq_pci_func.haq_ring.caq_ring.haq_rss.haq_utils.haq_vec.caq_vec.hhw_atlhw_atl_a0.chw_atl_a0.hhw_atl_a0_internal.hhw_atl_b0.chw_atl_b0.hhw_atl_b0_internal.hhw_atl_llh.chw_atl_llh.hhw_atl_llh_internal.hhw_atl_utils.chw_atl_utils.hver.harcKconfigMakefileemac.hemac_arc.cemac_main.cemac_mdio.cemac_rockchip.catherosKconfigMakefilealxMakefilealx.hethtool.chw.chw.hmain.creg.hatl1cMakefileatl1c.hatl1c_ethtool.catl1c_hw.catl1c_hw.hatl1c_main.catl1eMakefileatl1e.hatl1e_ethtool.catl1e_hw.catl1e_hw.hatl1e_main.catl1e_param.catlxMakefileatl1.catl1.hatl2.catl2.hatlx.catlx.hauroraKconfigMakefilenb8800.cnb8800.hbroadcomKconfigMakefileb44.cb44.hbcm63xx_enet.cbcm63xx_enet.hbcmsysport.cbcmsysport.hbgmac-bcma-mdio.cbgmac-bcma.cbgmac-platform.cbgmac.cbgmac.hbnx2.cbnx2.hbnx2_fw.hbnx2xMakefilebnx2x.hbnx2x_cmn.cbnx2x_cmn.hbnx2x_dcb.cbnx2x_dcb.hbnx2x_dump.hbnx2x_ethtool.cbnx2x_fw_defs.hbnx2x_fw_file_hdr.hbnx2x_hsi.hbnx2x_init.hbnx2x_init_ops.hbnx2x_link.cbnx2x_link.hbnx2x_main.cbnx2x_mfw_req.hbnx2x_reg.hbnx2x_sp.cbnx2x_sp.hbnx2x_sriov.cbnx2x_sriov.hbnx2x_stats.cbnx2x_stats.hbnx2x_vfpf.cbnx2x_vfpf.hbnxtMakefilebnxt.cbnxt.hbnxt_dcb.cbnxt_dcb.hbnxt_ethtool.cbnxt_ethtool.hbnxt_fw_hdr.hbnxt_hsi.hbnxt_nvm_defs.hbnxt_sriov.cbnxt_sriov.hbnxt_ulp.cbnxt_ulp.hbnxt_xdp.cbnxt_xdp.hcnic.ccnic.hcnic_defs.hcnic_if.hgenetMakefilebcmgenet.cbcmgenet.hbcmgenet_wol.cbcmmii.csb1250-mac.ctg3.ctg3.hbrocadeKconfigMakefilebnaKconfigMakefilebfa_cee.cbfa_cee.hbfa_cs.hbfa_defs.hbfa_defs_cna.hbfa_defs_mfg_comm.hbfa_defs_status.hbfa_ioc.cbfa_ioc.hbfa_ioc_ct.cbfa_msgq.cbfa_msgq.hbfi.hbfi_cna.hbfi_enet.hbfi_reg.hbna.hbna_enet.cbna_hw_defs.hbna_tx_rx.cbna_types.hbnad.cbnad.hbnad_debugfs.cbnad_ethtool.ccna.hcna_fwimg.ccadenceKconfigMakefilemacb.cmacb.hmacb_pci.ccalxedaKconfigMakefilexgmac.ccaviumKconfigMakefileliquidioMakefilecn23xx_pf_device.ccn23xx_pf_device.hcn23xx_pf_regs.hcn23xx_vf_device.ccn23xx_vf_device.hcn23xx_vf_regs.hcn66xx_device.ccn66xx_device.hcn66xx_regs.hcn68xx_device.ccn68xx_device.hcn68xx_regs.hlio_core.clio_ethtool.clio_main.clio_vf_main.cliquidio_common.hliquidio_image.hocteon_config.hocteon_console.cocteon_device.cocteon_device.hocteon_droq.cocteon_droq.hocteon_iq.hocteon_mailbox.cocteon_mailbox.hocteon_main.hocteon_mem_ops.cocteon_mem_ops.hocteon_network.hocteon_nic.cocteon_nic.hrequest_manager.cresponse_manager.cresponse_manager.hocteonMakefileocteon_mgmt.cthunderMakefilenic.hnic_main.cnic_reg.hnicvf_ethtool.cnicvf_main.cnicvf_queues.cnicvf_queues.hq_struct.hthunder_bgx.cthunder_bgx.hthunder_xcv.cchelsioKconfigMakefilecxgbMakefilecommon.hcphy.hcpl5_cmd.hcxgb2.celmer0.hespi.cespi.hfpga_defs.hgmac.hmv88e1xxx.cmv88e1xxx.hmv88x201x.cmy3126.cpm3393.cregs.hsge.csge.hsubr.csuni1x10gexp_regs.htp.ctp.hvsc7326.cvsc7326_reg.hcxgb3Makefileadapter.hael1002.caq100x.ccommon.hcxgb3_ctl_defs.hcxgb3_defs.hcxgb3_ioctl.hcxgb3_main.ccxgb3_offload.ccxgb3_offload.hfirmware_exports.hl2t.cl2t.hmc5.cregs.hsge.csge_defs.ht3_cpl.ht3_hw.ct3cdev.hversion.hvsc8211.cxgmac.ccxgb4Makefileclip_tbl.cclip_tbl.hcxgb4.hcxgb4_dcb.ccxgb4_dcb.hcxgb4_debugfs.ccxgb4_debugfs.hcxgb4_ethtool.ccxgb4_fcoe.ccxgb4_fcoe.hcxgb4_filter.ccxgb4_filter.hcxgb4_main.ccxgb4_tc_u32.ccxgb4_tc_u32.hcxgb4_tc_u32_parse.hcxgb4_uld.ccxgb4_uld.hl2t.cl2t.hsched.csched.hsge.ct4_chip_type.ht4_hw.ct4_hw.ht4_msg.ht4_pci_id_tbl.ht4_regs.ht4_values.ht4fw_api.ht4fw_version.hcxgb4vfMakefileadapter.hcxgb4vf_main.csge.ct4vf_common.ht4vf_defs.ht4vf_hw.clibcxgbMakefilelibcxgb_cm.clibcxgb_cm.hlibcxgb_ppm.clibcxgb_ppm.hcirrusKconfigMakefilecs89x0.ccs89x0.hep93xx_eth.cmac89x0.cciscoKconfigMakefileenicKconfigMakefilecq_desc.hcq_enet_desc.henic.henic_api.cenic_api.henic_clsf.cenic_clsf.henic_dev.cenic_dev.henic_ethtool.cenic_main.cenic_pp.cenic_pp.henic_res.cenic_res.hrq_enet_desc.hvnic_cq.cvnic_cq.hvnic_dev.cvnic_dev.hvnic_devcmd.hvnic_enet.hvnic_intr.cvnic_intr.hvnic_nic.hvnic_resource.hvnic_rq.cvnic_rq.hvnic_rss.hvnic_stats.hvnic_vic.cvnic_vic.hvnic_wq.cvnic_wq.hwq_enet_desc.hdavicomKconfigMakefiledm9000.cdm9000.hdecKconfigMakefiletulip21142.cKconfigMakefilede2104x.cde4x5.cde4x5.hdmfe.ceeprom.cinterrupt.cmedia.cpnic.cpnic2.ctimer.ctulip.htulip_core.culi526x.cwinbond-840.cxircom_cb.cdlinkKconfigMakefiledl2k.cdl2k.hsundance.cdnet.cdnet.hec_bhf.cemulexKconfigMakefilebenetKconfigMakefilebe.hbe_cmds.cbe_cmds.hbe_ethtool.cbe_hw.hbe_main.cbe_roce.cbe_roce.hethoc.cezchipKconfigMakefilenps_enet.cnps_enet.hfaradayKconfigMakefileftgmac100.cftgmac100.hftmac100.cftmac100.hfealnx.cfreescaleKconfigMakefiledpaaKconfigMakefiledpaa_eth.cdpaa_eth.hdpaa_eth_sysfs.cdpaa_eth_trace.hdpaa_ethtool.cfec.hfec_main.cfec_mpc52xx.cfec_mpc52xx.hfec_mpc52xx_phy.cfec_ptp.cfmanKconfigMakefilefman.cfman.hfman_dtsec.cfman_dtsec.hfman_mac.hfman_memac.cfman_memac.hfman_muram.cfman_muram.hfman_port.cfman_port.hfman_sp.cfman_sp.hfman_tgec.cfman_tgec.hmac.cmac.hfs_enetKconfigMakefilefec.hfs_enet-main.cfs_enet.hmac-fcc.cmac-fec.cmac-scc.cmii-bitbang.cmii-fec.cfsl_pq_mdio.cgianfar.cgianfar.hgianfar_ethtool.cgianfar_ptp.cucc_geth.cucc_geth.hucc_geth_ethtool.cxgmac_mdio.cfujitsuKconfigMakefilefmvj18x_cs.chisiliconKconfigMakefilehip04_eth.chisi_femac.chix5hd2_gmac.chnsMakefilehnae.chnae.hhns_ae_adapt.chns_dsaf_gmac.chns_dsaf_gmac.hhns_dsaf_mac.chns_dsaf_mac.hhns_dsaf_main.chns_dsaf_main.hhns_dsaf_misc.chns_dsaf_misc.hhns_dsaf_ppe.chns_dsaf_ppe.hhns_dsaf_rcb.chns_dsaf_rcb.hhns_dsaf_reg.hhns_dsaf_xgmac.chns_dsaf_xgmac.hhns_enet.chns_enet.hhns_ethtool.chns_mdio.chpKconfigMakefilehp100.chp100.hi825xx82596.cKconfigMakefileether1.cether1.hlasi_82596.clib82596.csni_82596.csun3_82586.csun3_82586.hibmKconfigMakefileeheaMakefileehea.hehea_ethtool.cehea_hw.hehea_main.cehea_phyp.cehea_phyp.hehea_qmr.cehea_qmr.hemacKconfigMakefilecore.ccore.hdebug.hemac.hmal.cmal.hphy.cphy.hrgmii.crgmii.htah.ctah.hzmii.czmii.hibmveth.cibmveth.hibmvnic.cibmvnic.hintelKconfigMakefilee100.ce1000Makefilee1000.he1000_ethtool.ce1000_hw.ce1000_hw.he1000_main.ce1000_osdep.he1000_param.ce1000e80003es2lan.c80003es2lan.h82571.c82571.hMakefiledefines.he1000.hethtool.chw.hich8lan.cich8lan.hmac.cmac.hmanage.cmanage.hnetdev.cnvm.cnvm.hparam.cphy.cphy.hptp.cregs.hfm10kMakefilefm10k.hfm10k_common.cfm10k_common.hfm10k_dcbnl.cfm10k_debugfs.cfm10k_ethtool.cfm10k_iov.cfm10k_main.cfm10k_mbx.cfm10k_mbx.hfm10k_netdev.cfm10k_pci.cfm10k_pf.cfm10k_pf.hfm10k_tlv.cfm10k_tlv.hfm10k_type.hfm10k_vf.cfm10k_vf.hi40eMakefilei40e.hi40e_adminq.ci40e_adminq.hi40e_adminq_cmd.hi40e_alloc.hi40e_client.ci40e_client.hi40e_common.ci40e_dcb.ci40e_dcb.hi40e_dcb_nl.ci40e_debugfs.ci40e_devids.hi40e_diag.ci40e_diag.hi40e_ethtool.ci40e_fcoe.ci40e_fcoe.hi40e_hmc.ci40e_hmc.hi40e_lan_hmc.ci40e_lan_hmc.hi40e_main.ci40e_nvm.ci40e_osdep.hi40e_prototype.hi40e_ptp.ci40e_register.hi40e_status.hi40e_trace.hi40e_txrx.ci40e_txrx.hi40e_type.hi40e_virtchnl.hi40e_virtchnl_pf.ci40e_virtchnl_pf.hi40evfMakefilei40e_adminq.ci40e_adminq.hi40e_adminq_cmd.hi40e_alloc.hi40e_common.ci40e_devids.hi40e_hmc.hi40e_lan_hmc.hi40e_osdep.hi40e_prototype.hi40e_register.hi40e_status.hi40e_trace.hi40e_txrx.ci40e_txrx.hi40e_type.hi40e_virtchnl.hi40evf.hi40evf_client.ci40evf_client.hi40evf_ethtool.ci40evf_main.ci40evf_virtchnl.cigbMakefilee1000_82575.ce1000_82575.he1000_defines.he1000_hw.he1000_i210.ce1000_i210.he1000_mac.ce1000_mac.he1000_mbx.ce1000_mbx.he1000_nvm.ce1000_nvm.he1000_phy.ce1000_phy.he1000_regs.higb.higb_ethtool.cigb_hwmon.cigb_main.cigb_ptp.cigbvfMakefiledefines.hethtool.cigbvf.hmbx.cmbx.hnetdev.cregs.hvf.cvf.hixgbMakefileixgb.hixgb_ee.cixgb_ee.hixgb_ethtool.cixgb_hw.cixgb_hw.hixgb_ids.hixgb_main.cixgb_osdep.hixgb_param.cixgbeMakefileixgbe.hixgbe_82598.cixgbe_82599.cixgbe_common.cixgbe_common.hixgbe_dcb.cixgbe_dcb.hixgbe_dcb_82598.cixgbe_dcb_82598.hixgbe_dcb_82599.cixgbe_dcb_82599.hixgbe_dcb_nl.cixgbe_debugfs.cixgbe_ethtool.cixgbe_fcoe.cixgbe_fcoe.hixgbe_lib.cixgbe_main.cixgbe_mbx.cixgbe_mbx.hixgbe_model.hixgbe_phy.cixgbe_phy.hixgbe_ptp.cixgbe_sriov.cixgbe_sriov.hixgbe_sysfs.cixgbe_type.hixgbe_x540.cixgbe_x540.hixgbe_x550.cixgbevfMakefiledefines.hethtool.cixgbevf.hixgbevf_main.cmbx.cmbx.hregs.hvf.cvf.hjme.cjme.hkorina.clantiq_etop.cmarvellKconfigMakefilemv643xx_eth.cmvmdio.cmvneta.cmvneta_bm.cmvneta_bm.hmvpp2.cpxa168_eth.cskge.cskge.hsky2.csky2.hmediatekKconfigMakefilemtk_eth_soc.cmtk_eth_soc.hmellanoxKconfigMakefilemlx4KconfigMakefilealloc.ccatas.ccmd.ccq.cen_clock.cen_cq.cen_dcb_nl.cen_ethtool.cen_main.cen_netdev.cen_port.cen_port.hen_resources.cen_rx.cen_selftest.cen_tx.ceq.cfw.cfw.hfw_qos.cfw_qos.hicm.cicm.hintf.cmain.cmcg.cmlx4.hmlx4_en.hmlx4_stats.hmr.cpd.cport.cprofile.cqp.creset.cresource_tracker.csense.csrq.cmlx5coreKconfigMakefilealloc.ccmd.ccq.cdebugfs.cdev.cen.hen_arfs.cen_clock.cen_common.cen_dcbnl.cen_ethtool.cen_fs.cen_fs_ethtool.cen_main.cen_rep.cen_rep.hen_rx.cen_rx_am.cen_selftest.cen_stats.hen_tc.cen_tc.hen_tx.cen_txrx.ceq.ceswitch.ceswitch.heswitch_offloads.cfs_cmd.cfs_cmd.hfs_core.cfs_core.hfs_counters.cfw.chealth.cipoib.cipoib.hlag.cmad.cmain.cmcg.cmlx5_core.hmr.cpagealloc.cpd.cport.cqp.crl.csriov.csrq.ctransobj.cuar.cvport.cvxlan.cvxlan.hwq.cwq.hmlxswKconfigMakefilecmd.hcore.ccore.hcore_acl_flex_actions.ccore_acl_flex_actions.hcore_acl_flex_keys.ccore_acl_flex_keys.hcore_hwmon.ccore_thermal.cemad.hi2c.ci2c.hib.hitem.hminimal.cpci.cpci.hpci_hw.hport.hreg.hresources.hspectrum.cspectrum.hspectrum_acl.cspectrum_acl_flex_keys.hspectrum_acl_tcam.cspectrum_buffers.cspectrum_cnt.cspectrum_cnt.hspectrum_dcb.cspectrum_dpipe.cspectrum_dpipe.hspectrum_flower.cspectrum_kvdl.cspectrum_router.cspectrum_router.hspectrum_switchdev.cswitchib.cswitchx2.ctrap.htxheader.hmicrelKconfigMakefileks8695net.cks8695net.hks8842.cks8851.cks8851.hks8851_mll.cksz884x.cmicrochipKconfigMakefileenc28j60.cenc28j60_hw.hencx24j600-regmap.cencx24j600.cencx24j600_hw.hmoxaKconfigMakefilemoxart_ether.cmoxart_ether.hmyricomKconfigMakefilemyri10geMakefilemyri10ge.cmyri10ge_mcp.hmyri10ge_mcp_gen_header.hnatsemiKconfigMakefilejazzsonic.cmacsonic.cnatsemi.cns83820.csonic.csonic.hxtsonic.cneterionKconfigMakefiles2io-regs.hs2io.cs2io.hvxgeMakefilevxge-config.cvxge-config.hvxge-ethtool.cvxge-ethtool.hvxge-main.cvxge-main.hvxge-reg.hvxge-traffic.cvxge-traffic.hvxge-version.hnetronomeKconfigMakefilenfpMakefilenfp_asm.hnfp_bpf.hnfp_bpf_jit.cnfp_bpf_verifier.cnfp_main.cnfp_main.hnfp_net.hnfp_net_common.cnfp_net_ctrl.hnfp_net_debugfs.cnfp_net_ethtool.cnfp_net_main.cnfp_net_offload.cnfp_netvf_main.cnfpcorecrc32.hnfp.hnfp6000nfp6000.hnfp_xpb.hnfp6000_pcie.cnfp6000_pcie.hnfp_arm.hnfp_cpp.hnfp_cppcore.cnfp_cpplib.cnfp_hwinfo.cnfp_mip.cnfp_mutex.cnfp_nffw.cnfp_nffw.hnfp_nsp.cnfp_nsp.hnfp_nsp_cmds.cnfp_nsp_eth.cnfp_resource.cnfp_rtsym.cnfp_target.cnetx-eth.cnuvotonKconfigMakefilew90p910_ether.cnvidiaKconfigMakefileforcedeth.cnxpKconfigMakefilelpc_eth.coki-semiKconfigMakefilepch_gbeKconfigMakefilepch_gbe.hpch_gbe_api.cpch_gbe_api.hpch_gbe_ethtool.cpch_gbe_main.cpch_gbe_param.cpch_gbe_phy.cpch_gbe_phy.hpacketenginesKconfigMakefilehamachi.cyellowfin.cpasemiKconfigMakefilepasemi_mac.cpasemi_mac.hpasemi_mac_ethtool.cqlogicKconfigMakefilenetxenMakefilenetxen_nic.hnetxen_nic_ctx.cnetxen_nic_ethtool.cnetxen_nic_hdr.hnetxen_nic_hw.cnetxen_nic_hw.hnetxen_nic_init.cnetxen_nic_main.cqedMakefileqed.hqed_cxt.cqed_cxt.hqed_dcbx.cqed_dcbx.hqed_debug.cqed_debug.hqed_dev.cqed_dev_api.hqed_fcoe.cqed_fcoe.hqed_hsi.hqed_hw.cqed_hw.hqed_init_fw_funcs.cqed_init_ops.cqed_init_ops.hqed_int.cqed_int.hqed_iscsi.cqed_iscsi.hqed_l2.cqed_l2.hqed_ll2.cqed_ll2.hqed_main.cqed_mcp.cqed_mcp.hqed_ooo.cqed_ooo.hqed_ptp.cqed_reg_addr.hqed_roce.cqed_roce.hqed_selftest.cqed_selftest.hqed_sp.hqed_sp_commands.cqed_spq.cqed_sriov.cqed_sriov.hqed_vf.cqed_vf.hqedeMakefileqede.hqede_dcbnl.cqede_ethtool.cqede_filter.cqede_fp.cqede_main.cqede_ptp.cqede_ptp.hqede_roce.cqla3xxx.cqla3xxx.hqlcnicMakefileqlcnic.hqlcnic_83xx_hw.cqlcnic_83xx_hw.hqlcnic_83xx_init.cqlcnic_83xx_vnic.cqlcnic_ctx.cqlcnic_dcb.cqlcnic_dcb.hqlcnic_ethtool.cqlcnic_hdr.hqlcnic_hw.cqlcnic_hw.hqlcnic_init.cqlcnic_io.cqlcnic_main.cqlcnic_minidump.cqlcnic_sriov.hqlcnic_sriov_common.cqlcnic_sriov_pf.cqlcnic_sysfs.cqlgeMakefileqlge.hqlge_dbg.cqlge_ethtool.cqlge_main.cqlge_mpi.cqualcommKconfigMakefileemacMakefileemac-ethtool.cemac-mac.cemac-mac.hemac-phy.cemac-phy.hemac-sgmii-fsm9900.cemac-sgmii-qdf2400.cemac-sgmii-qdf2432.cemac-sgmii.cemac-sgmii.hemac.cemac.hqca_7k.cqca_7k.hqca_debug.cqca_debug.hqca_framing.cqca_framing.hqca_spi.cqca_spi.hrdcKconfigMakefiler6040.crealtek8139cp.c8139too.cKconfigMakefileatp.catp.hr8169.crenesasKconfigMakefileravb.hravb_main.cravb_ptp.csh_eth.csh_eth.hrockerKconfigMakefilerocker.hrocker_hw.hrocker_main.crocker_ofdpa.crocker_tlv.crocker_tlv.hsamsungKconfigMakefilesxgbeMakefilesxgbe_common.hsxgbe_core.csxgbe_desc.csxgbe_desc.hsxgbe_dma.csxgbe_dma.hsxgbe_ethtool.csxgbe_main.csxgbe_mdio.csxgbe_mtl.csxgbe_mtl.hsxgbe_platform.csxgbe_reg.hseeqKconfigMakefileether3.cether3.hsgiseeq.csgiseeq.hsfcKconfigMakefilebitfield.hef10.cef10_regs.hef10_sriov.cef10_sriov.hefx.cefx.henum.hethtool.cfalconKconfigMakefilebitfield.hefx.cefx.henum.hethtool.cfalcon.cfalcon_boards.cfarch.cfarch_regs.hfilter.hio.hmdio_10g.cmdio_10g.hmtd.cnet_driver.hnic.cnic.hphy.hqt202x_phy.crx.cselftest.cselftest.htenxpress.ctx.ctx.htxc43128_phy.cworkarounds.hfarch.cfarch_regs.hfilter.hio.hmcdi.cmcdi.hmcdi_mon.cmcdi_pcol.hmcdi_port.cmtd.cnet_driver.hnic.cnic.hptp.crx.cselftest.cselftest.hsiena.csiena_sriov.csiena_sriov.hsriov.csriov.htx.ctx.htx_tso.cvfdi.hworkarounds.hsgiKconfigMakefileioc3-eth.cmeth.cmeth.hsilanKconfigMakefilesc92031.csisKconfigMakefilesis190.csis900.csis900.hsmscKconfigMakefileepic100.csmc911x.csmc911x.hsmc9194.csmc9194.hsmc91c92_cs.csmc91x.csmc91x.hsmsc911x.csmsc911x.hsmsc9420.csmsc9420.hstmicroKconfigMakefilestmmacKconfigMakefilealtr_tse_pcs.caltr_tse_pcs.hchain_mode.ccommon.hdescs.hdescs_com.hdwmac-dwc-qos-eth.cdwmac-generic.cdwmac-ipq806x.cdwmac-lpc18xx.cdwmac-meson.cdwmac-meson8b.cdwmac-oxnas.cdwmac-rk.cdwmac-socfpga.cdwmac-sti.cdwmac-stm32.cdwmac-sunxi.cdwmac100.hdwmac1000.hdwmac1000_core.cdwmac1000_dma.cdwmac100_core.cdwmac100_dma.cdwmac4.hdwmac4_core.cdwmac4_descs.cdwmac4_descs.hdwmac4_dma.cdwmac4_dma.hdwmac4_lib.cdwmac_dma.hdwmac_lib.cenh_desc.cmmc.hmmc_core.cnorm_desc.cring_mode.cstmmac.hstmmac_ethtool.cstmmac_hwtstamp.cstmmac_main.cstmmac_mdio.cstmmac_pci.cstmmac_pcs.hstmmac_platform.cstmmac_platform.hstmmac_ptp.cstmmac_ptp.hsunKconfigMakefilecassini.ccassini.hldmvsw.cniu.cniu.hsunbmac.csunbmac.hsungem.csungem.hsunhme.csunhme.hsunqe.csunqe.hsunvnet.csunvnet_common.csunvnet_common.hsynopsysKconfigMakefiledwc-xlgmac-common.cdwc-xlgmac-desc.cdwc-xlgmac-ethtool.cdwc-xlgmac-hw.cdwc-xlgmac-net.cdwc-xlgmac-pci.cdwc-xlgmac-reg.hdwc-xlgmac.htehutiKconfigMakefiletehuti.ctehuti.htiKconfigMakefilecpmac.ccpsw-common.ccpsw-phy-sel.ccpsw.ccpsw.hcpsw_ale.ccpsw_ale.hcpts.ccpts.hdavinci_cpdma.cdavinci_cpdma.hdavinci_emac.cdavinci_mdio.cnetcp.hnetcp_core.cnetcp_ethss.cnetcp_sgmii.cnetcp_xgbepcsr.ctlan.ctlan.htileKconfigMakefiletilegx.ctilepro.ctoshibaKconfigMakefileps3_gelic_net.cps3_gelic_net.hps3_gelic_wireless.cps3_gelic_wireless.hspider_net.cspider_net.hspider_net_ethtool.ctc35815.ctundraKconfigMakefiletsi108_eth.ctsi108_eth.hviaKconfigMakefilevia-rhine.cvia-velocity.cvia-velocity.hwiznetKconfigMakefilew5100-spi.cw5100.cw5100.hw5300.cxilinxKconfigMakefilell_temac.hll_temac_main.cll_temac_mdio.cxilinx_axienet.hxilinx_axienet_main.cxilinx_axienet_mdio.cxilinx_emaclite.cxircomKconfigMakefilexirc2ps_cs.cxscaleKconfigMakefileixp4xx_eth.cfddiKconfigMakefiledefxx.cdefxx.hskfpMakefilecfm.cdrvfbi.cecm.cess.cfplustm.chcmtdef.hfddi.hfddimib.hfplustm.hhwmtm.hmbuf.hosdef1st.hsba.hsba_def.hskfbi.hskfbiinc.hsmc.hsmt.hsmt_p.hsmtstate.hsupern_2.htargethw.htargetos.htypes.hhwmtm.chwt.cpcmplc.cpmf.cqueue.crmt.cskfddi.csmt.csmtdef.csmtinit.csmttimer.csrf.cfjesMakefilefjes.hfjes_debugfs.cfjes_ethtool.cfjes_hw.cfjes_hw.hfjes_main.cfjes_regs.hfjes_trace.cfjes_trace.hgeneve.cgtp.chamradio6pack.cKconfigMakefilebaycom_epp.cbaycom_par.cbaycom_ser_fdx.cbaycom_ser_hdx.cbpqether.cdmascc.chdlcdrv.cmkiss.cscc.cyam.cz8530.hhippiKconfigMakefilerrunner.crrunner.hhypervKconfigMakefilehyperv_net.hnetvsc.cnetvsc_drv.crndis_filter.cieee802154KconfigMakefileadf7242.cat86rf230.cat86rf230.hatusb.catusb.hca8210.ccc2520.cfakelb.cmrf24j40.cifb.cipvlanMakefileipvlan.hipvlan_core.cipvlan_main.cipvtap.cirdaKconfigMakefileact200l-sir.cactisys-sir.cali-ircc.cali-ircc.hau1k_ir.cbfin_sir.cbfin_sir.hdonauboe.cdonauboe.hesi-sir.cgirbil-sir.cirda-usb.cirda-usb.hirtty-sir.cirtty-sir.hkingsun-sir.cks959-sir.cksdazzle-sir.clitelink-sir.cma600-sir.cmcp2120-sir.cmcs7780.cmcs7780.hnsc-ircc.cnsc-ircc.hold_belkin-sir.cpxaficp_ir.csa1100_ir.csh_sir.csir-dev.hsir_dev.csir_dongle.csmsc-ircc2.csmsc-ircc2.hsmsc-sio.hstir4200.ctekram-sir.ctoim3232-sir.cvia-ircc.cvia-ircc.hvlsi_ir.cvlsi_ir.hw83977af.hw83977af_ir.cw83977af_ir.hloopback.cmacsec.cmacvlan.cmacvtap.cmdio.cmii.cnetconsole.cnlmon.cntb_netdev.cphyKconfigMakefileamd.caquantia.cat803x.cbcm-cygnus.cbcm-phy-lib.cbcm-phy-lib.hbcm63xx.cbcm7xxx.cbcm87xx.cbroadcom.ccicada.cdavicom.cdp83640.cdp83640_reg.hdp83848.cdp83867.cet1011c.cfixed_phy.cicplus.cintel-xway.clxt.cmarvell.cmdio-bcm-iproc.cmdio-bcm-unimac.cmdio-bitbang.cmdio-boardinfo.cmdio-boardinfo.hmdio-cavium.cmdio-cavium.hmdio-gpio.cmdio-hisi-femac.cmdio-moxart.cmdio-mux-bcm-iproc.cmdio-mux-gpio.cmdio-mux-mmioreg.cmdio-mux.cmdio-octeon.cmdio-sun4i.cmdio-thunder.cmdio-xgene.cmdio-xgene.hmdio_bus.cmdio_device.cmeson-gxl.cmicrel.cmicrochip.cmscc.cnational.cphy-core.cphy.cphy_device.cphy_led_triggers.cqsemi.crealtek.csmsc.cspi_ks8995.cste10Xp.cswphy.cswphy.hteranetics.cvitesse.cxilinx_gmii2rgmii.cplipKconfigMakefileplip.cpppKconfigMakefilebsd_comp.cppp_async.cppp_deflate.cppp_generic.cppp_mppe.cppp_mppe.hppp_synctty.cpppoe.cpppox.cpptp.crionet.csb1000.cslipKconfigMakefileslhc.cslip.cslip.hsungem_phy.ctap.cteamKconfigMakefileteam.cteam_mode_activebackup.cteam_mode_broadcast.cteam_mode_loadbalance.cteam_mode_random.cteam_mode_roundrobin.ctun.cusbKconfigMakefileasix.hasix_common.casix_devices.cax88172a.cax88179_178a.ccatc.ccdc-phonet.ccdc_eem.ccdc_ether.ccdc_mbim.ccdc_ncm.ccdc_subset.cch9200.ccx82310_eth.cdm9601.cgl620a.chso.chuawei_cdc_ncm.cint51x1.cipheth.ckalmia.ckaweth.clan78xx.clan78xx.hlg-vl600.cmcs7830.cnet1080.cpegasus.cpegasus.hplusb.cqmi_wwan.cr8152.crndis_host.crtl8150.csierra_net.csmsc75xx.csmsc75xx.hsmsc95xx.csmsc95xx.hsr9700.csr9700.hsr9800.csr9800.husbnet.czaurus.cveth.cvirtio_net.cvmxnet3Makefileupt1_defs.hvmxnet3_defs.hvmxnet3_drv.cvmxnet3_ethtool.cvmxnet3_int.hvrf.cvsockmon.cvxlan.cwanKconfigMakefilec101.ccosa.ccosa.hdlci.cdscc4.cfarsync.cfarsync.hfsl_ucc_hdlc.cfsl_ucc_hdlc.hhd64570.chd64570.hhd64572.chd64572.hhdlc.chdlc_cisco.chdlc_fr.chdlc_ppp.chdlc_raw.chdlc_raw_eth.chdlc_x25.chostess_sv11.cixp4xx_hss.clapbether.clmcMakefilelmc.hlmc_debug.clmc_debug.hlmc_ioctl.hlmc_main.clmc_media.clmc_proto.clmc_proto.hlmc_var.hn2.cpc300too.cpci200syn.csbni.csbni.hsdla.csealevel.cslic_ds26522.cslic_ds26522.hwanxl.cwanxl.hwanxlfw.Swanxlfw.inc_shippedx25_asy.cx25_asy.hz85230.cz85230.hwimaxKconfigMakefilei2400mKconfigMakefilecontrol.cdebug-levels.hdebugfs.cdriver.cfw.ci2400m-usb.hi2400m.hnetdev.cop-rfkill.crx.csysfs.ctx.cusb-debug-levels.husb-fw.cusb-notif.cusb-rx.cusb-tx.cusb.cwirelessKconfigMakefileadmtekKconfigMakefileadm8211.cadm8211.hathKconfigMakefilear5523KconfigMakefilear5523.car5523.har5523_hw.hath.hath10kKconfigMakefileahb.cahb.hbmi.cbmi.hce.cce.hcore.ccore.hdebug.cdebug.hdebugfs_sta.chif.hhtc.chtc.hhtt.chtt.hhtt_rx.chtt_tx.chw.chw.hmac.cmac.hp2p.cp2p.hpci.cpci.hrx_desc.hspectral.cspectral.hswap.cswap.htargaddrs.htestmode.ctestmode.htestmode_i.hthermal.cthermal.htrace.ctrace.htxrx.ctxrx.hwmi-ops.hwmi-tlv.cwmi-tlv.hwmi.cwmi.hwow.cwow.hath5kKconfigMakefileahb.cani.cani.hath5k.hattach.cbase.cbase.hcaps.cdebug.cdebug.hdesc.cdesc.hdma.ceeprom.ceeprom.hgpio.cinitvals.cled.cmac80211-ops.cpci.cpcu.cphy.cqcu.creg.hreset.crfbuffer.hrfgain.hrfkill.csysfs.ctrace.hath6klKconfigMakefilebmi.cbmi.hcfg80211.ccfg80211.hcommon.hcore.ccore.hdebug.cdebug.hhif-ops.hhif.chif.hhtc-ops.hhtc.hhtc_mbox.chtc_pipe.cinit.cmain.crecovery.csdio.ctarget.htestmode.ctestmode.htrace.ctrace.htxrx.cusb.cwmi.cwmi.hath9kKconfigMakefileahb.cani.cani.hantenna.car5008_initvals.har5008_phy.car9001_initvals.har9002_calib.car9002_hw.car9002_initvals.har9002_mac.car9002_phy.car9002_phy.har9003_2p2_initvals.har9003_aic.car9003_aic.har9003_buffalo_initvals.har9003_calib.car9003_eeprom.car9003_eeprom.har9003_hw.car9003_mac.car9003_mac.har9003_mci.car9003_mci.har9003_paprd.car9003_phy.car9003_phy.har9003_rtt.car9003_rtt.har9003_wow.car9330_1p1_initvals.har9330_1p2_initvals.har9340_initvals.har9462_2p0_initvals.har9462_2p1_initvals.har9485_initvals.har953x_initvals.har955x_1p0_initvals.har9565_1p0_initvals.har9565_1p1_initvals.har956x_initvals.har9580_1p0_initvals.hath9k.hbeacon.cbtcoex.cbtcoex.hcalib.ccalib.hchannel.ccommon-beacon.ccommon-beacon.hcommon-debug.ccommon-debug.hcommon-init.ccommon-init.hcommon-spectral.ccommon-spectral.hcommon.ccommon.hdebug.cdebug.hdebug_sta.cdfs.cdfs.hdfs_debug.cdfs_debug.hdynack.cdynack.heeprom.ceeprom.heeprom_4k.ceeprom_9287.ceeprom_def.cgpio.chif_usb.chif_usb.hhtc.hhtc_drv_beacon.chtc_drv_debug.chtc_drv_gpio.chtc_drv_init.chtc_drv_main.chtc_drv_txrx.chtc_hst.chtc_hst.hhw-ops.hhw.chw.hinit.clink.cmac.cmac.hmain.cmci.cmci.hpci.cphy.hrecv.creg.hreg_aic.hreg_mci.hreg_wow.hrng.ctx99.cwmi.cwmi.hwow.cxmit.ccarl9170KconfigMakefilecarl9170.hcmd.ccmd.hdebug.cdebug.heeprom.hfw.cfwcmd.hfwdesc.hhw.hled.cmac.cmain.cphy.cphy.hrx.ctx.cusb.cversion.hwlan.hdebug.cdfs_pattern_detector.cdfs_pattern_detector.hdfs_pri_detector.cdfs_pri_detector.hhw.ckey.cmain.creg.hregd.cregd.hregd_common.hspectral_common.htrace.ctrace.hwcn36xxKconfigMakefiledebug.cdebug.hdxe.cdxe.hhal.hmain.cpmc.cpmc.hsmd.csmd.htxrx.ctxrx.hwcn36xx.hwil6210KconfigMakefileboot_loader.hcfg80211.cdebug.cdebugfs.cethtool.cfw.cfw.hfw_inc.cinterrupt.cioctl.cmain.cnetdev.cp2p.cpcie_bus.cpm.cpmc.cpmc.hrx_reorder.ctrace.ctrace.htxrx.ctxrx.hwil6210.hwil_crash_dump.cwil_platform.cwil_platform.hwmi.cwmi.hatmelKconfigMakefileat76c50x-usb.cat76c50x-usb.hatmel.catmel.hatmel_cs.catmel_pci.cbroadcomKconfigMakefileb43KconfigMakefileb43.hbus.cbus.hdebugfs.cdebugfs.hdma.cdma.hleds.cleds.hlo.clo.hmain.cmain.hphy_a.hphy_ac.cphy_ac.hphy_common.cphy_common.hphy_g.cphy_g.hphy_ht.cphy_ht.hphy_lcn.cphy_lcn.hphy_lp.cphy_lp.hphy_n.cphy_n.hpio.cpio.hppr.cppr.hradio_2055.cradio_2055.hradio_2056.cradio_2056.hradio_2057.cradio_2057.hradio_2059.cradio_2059.hrfkill.crfkill.hsdio.csdio.hsysfs.csysfs.htables.ctables.htables_lpphy.ctables_lpphy.htables_nphy.ctables_nphy.htables_phy_ht.ctables_phy_ht.htables_phy_lcn.ctables_phy_lcn.hwa.cwa.hxmit.cxmit.hb43legacyKconfigMakefileb43legacy.hdebugfs.cdebugfs.hdma.cdma.hilt.cilt.hleds.cleds.hmain.cmain.hphy.cphy.hpio.cpio.hradio.cradio.hrfkill.crfkill.hsysfs.csysfs.hxmit.cxmit.hbrcm80211KconfigMakefilebrcmfmacMakefilebcdc.cbcdc.hbcmsdh.cbtcoex.cbtcoex.hbus.hcfg80211.ccfg80211.hchip.cchip.hcommon.ccommon.hcommonring.ccommonring.hcore.ccore.hdebug.cdebug.hfeature.cfeature.hfirmware.cfirmware.hflowring.cflowring.hfweh.cfweh.hfwil.cfwil.hfwil_types.hfwsignal.cfwsignal.hmsgbuf.cmsgbuf.hof.cof.hp2p.cp2p.hpcie.cpcie.hpno.cpno.hproto.cproto.hsdio.csdio.htracepoint.ctracepoint.husb.cusb.hvendor.cvendor.hbrcmsmacMakefileaiutils.caiutils.hampdu.campdu.hantsel.cantsel.hbrcms_trace_brcmsmac.hbrcms_trace_brcmsmac_msg.hbrcms_trace_brcmsmac_tx.hbrcms_trace_events.cbrcms_trace_events.hchannel.cchannel.hd11.hdebug.cdebug.hdma.cdma.hled.cled.hmac80211_if.cmac80211_if.hmain.cmain.hphyphy_cmn.cphy_hal.hphy_int.hphy_lcn.cphy_lcn.hphy_n.cphy_qmath.cphy_qmath.hphy_radio.hphyreg_n.hphytbl_lcn.cphytbl_lcn.hphytbl_n.cphytbl_n.hphy_shim.cphy_shim.hpmu.cpmu.hpub.hrate.crate.hscb.hstf.cstf.htypes.hucode_loader.cucode_loader.hbrcmutilMakefiled11.cutils.cincludebrcm_hw_ids.hbrcmu_d11.hbrcmu_utils.hbrcmu_wifi.hchipcommon.hdefs.hsoc.hciscoKconfigMakefileairo.cairo.hairo_cs.cintelKconfigMakefileipw2x00KconfigMakefileipw.hipw2100.cipw2100.hipw2200.cipw2200.hlibipw.hlibipw_geo.clibipw_module.clibipw_rx.clibipw_tx.clibipw_wx.ciwlegacy3945-debug.c3945-mac.c3945-rs.c3945.c3945.h4965-calib.c4965-debug.c4965-mac.c4965-rs.c4965.c4965.hKconfigMakefilecommands.hcommon.ccommon.hcsr.hdebug.ciwl-spectrum.hprph.hiwlwifiKconfigMakefiledvmMakefileagn.hcalib.ccalib.hcommands.hdebugfs.cdev.hdevices.cled.cled.hlib.cmac80211.cmain.cpower.cpower.hrs.crs.hrx.crxon.cscan.csta.ctt.ctt.htx.cucode.ciwl-1000.ciwl-2000.ciwl-5000.ciwl-6000.ciwl-7000.ciwl-8000.ciwl-9000.ciwl-a000.ciwl-agn-hw.hiwl-config.hiwl-context-info.hiwl-csr.hiwl-debug.ciwl-debug.hiwl-devtrace-data.hiwl-devtrace-io.hiwl-devtrace-iwlwifi.hiwl-devtrace-msg.hiwl-devtrace-ucode.hiwl-devtrace.ciwl-devtrace.hiwl-drv.ciwl-drv.hiwl-eeprom-parse.ciwl-eeprom-parse.hiwl-eeprom-read.ciwl-eeprom-read.hiwl-fh.hiwl-fw-error-dump.hiwl-fw-file.hiwl-fw.hiwl-io.ciwl-io.hiwl-modparams.hiwl-notif-wait.ciwl-notif-wait.hiwl-nvm-parse.ciwl-nvm-parse.hiwl-op-mode.hiwl-phy-db.ciwl-phy-db.hiwl-prph.hiwl-scd.hiwl-trans.ciwl-trans.hmvmMakefilebinding.ccoex.cconstants.hd3.cdebugfs-vif.cdebugfs.cdebugfs.hfw-api-coex.hfw-api-d3.hfw-api-mac.hfw-api-power.hfw-api-rs.hfw-api-rx.hfw-api-scan.hfw-api-sta.hfw-api-stats.hfw-api-tof.hfw-api-tx.hfw-api.hfw-dbg.cfw-dbg.hfw.cled.cmac-ctxt.cmac80211.cmvm.hnvm.coffloading.cops.cphy-ctxt.cpower.cquota.crs.crs.hrx.crxmq.cscan.csf.csta.csta.htdls.ctestmode.htime-event.ctime-event.htof.ctof.htt.ctx.cutils.cpciectxt-info.cdrv.cinternal.hrx.ctrans-gen2.ctrans.ctx-gen2.ctx.cintersilKconfigMakefilehostapKconfigMakefilehostap.hhostap_80211.hhostap_80211_rx.chostap_80211_tx.chostap_ap.chostap_ap.hhostap_common.hhostap_config.hhostap_cs.chostap_download.chostap_hw.chostap_info.chostap_ioctl.chostap_main.chostap_pci.chostap_plx.chostap_proc.chostap_wlan.horinocoKconfigMakefileairport.ccfg.ccfg.hfw.cfw.hhermes.chermes.hhermes_dld.chermes_dld.hhermes_rid.hhw.chw.hmain.cmain.hmic.cmic.horinoco.horinoco_cs.corinoco_nortel.corinoco_pci.corinoco_pci.horinoco_plx.corinoco_tmd.corinoco_usb.cscan.cscan.hspectrum_cs.cwext.cwext.hp54KconfigMakefileeeprom.ceeprom.hfwio.cled.clmac.hmain.cp54.hp54pci.cp54pci.hp54spi.cp54spi.hp54spi_eeprom.hp54usb.cp54usb.htxrx.cprism54Makefileisl_38xx.cisl_38xx.hisl_ioctl.cisl_ioctl.hisl_oid.hislpci_dev.cislpci_dev.hislpci_eth.cislpci_eth.hislpci_hotplug.cislpci_mgt.cislpci_mgt.hoid_mgt.coid_mgt.hprismcompat.hmac80211_hwsim.cmac80211_hwsim.hmarvellKconfigMakefilelibertasKconfigLICENSEMakefileREADMEcfg.ccfg.hcmd.ccmd.hcmdresp.cdebugfs.cdebugfs.hdecl.hdefs.hdev.hethtool.cfirmware.chost.hif_cs.cif_sdio.cif_sdio.hif_spi.cif_spi.hif_usb.cif_usb.hmain.cmesh.cmesh.hradiotap.hrx.ctx.ctypes.hlibertas_tfKconfigMakefilecmd.cdeb_defs.hif_usb.cif_usb.hlibertas_tf.hmain.cmwifiex11ac.c11ac.h11h.c11n.c11n.h11n_aggr.c11n_aggr.h11n_rxreorder.c11n_rxreorder.hKconfigMakefileREADMEcfg80211.ccfg80211.hcfp.ccmdevt.cdebugfs.cdecl.hethtool.cfw.hie.cinit.cioctl.hjoin.cmain.cmain.hpcie.cpcie.hscan.csdio.csdio.hsta_cmd.csta_cmdresp.csta_event.csta_ioctl.csta_rx.csta_tx.ctdls.ctxrx.cuap_cmd.cuap_event.cuap_txrx.cusb.cusb.hutil.cutil.hwmm.cwmm.hmwl8k.cmediatekKconfigMakefilemt7601uKconfigMakefilecore.cdebugfs.cdma.cdma.heeprom.ceeprom.hinit.cinitvals.hinitvals_phy.hmac.cmac.hmain.cmcu.cmcu.hmt7601u.hphy.cregs.htrace.ctrace.htx.cusb.cusb.hutil.cralinkKconfigMakefilert2x00KconfigMakefilert2400pci.crt2400pci.hrt2500pci.crt2500pci.hrt2500usb.crt2500usb.hrt2800.hrt2800lib.crt2800lib.hrt2800mmio.crt2800mmio.hrt2800pci.crt2800pci.hrt2800soc.crt2800usb.crt2800usb.hrt2x00.hrt2x00config.crt2x00crypto.crt2x00debug.crt2x00debug.hrt2x00dev.crt2x00dump.hrt2x00firmware.crt2x00leds.crt2x00leds.hrt2x00lib.hrt2x00link.crt2x00mac.crt2x00mmio.crt2x00mmio.hrt2x00pci.crt2x00pci.hrt2x00queue.crt2x00queue.hrt2x00reg.hrt2x00soc.crt2x00soc.hrt2x00usb.crt2x00usb.hrt61pci.crt61pci.hrt73usb.crt73usb.hray_cs.cray_cs.hrayctl.hrealtekKconfigMakefilertl818xKconfigMakefilertl8180Makefiledev.cgrf5101.cgrf5101.hmax2820.cmax2820.hrtl8180.hrtl8225.crtl8225.hrtl8225se.crtl8225se.hsa2400.csa2400.hrtl8187Makefiledev.cleds.cleds.hrfkill.crfkill.hrtl8187.hrtl8225.crtl8225.hrtl818x.hrtl8xxxuKconfigMakefilertl8xxxu.hrtl8xxxu_8192c.crtl8xxxu_8192e.crtl8xxxu_8723a.crtl8xxxu_8723b.crtl8xxxu_core.crtl8xxxu_regs.hrtlwifiKconfigMakefilebase.cbase.hbtcoexistMakefilehalbt_precomp.hhalbtc8192e2ant.chalbtc8192e2ant.hhalbtc8723b1ant.chalbtc8723b1ant.hhalbtc8723b2ant.chalbtc8723b2ant.hhalbtc8821a1ant.chalbtc8821a1ant.hhalbtc8821a2ant.chalbtc8821a2ant.hhalbtcoutsrc.chalbtcoutsrc.hrtl_btc.crtl_btc.hcam.ccam.hcore.ccore.hdebug.cdebug.hefuse.cefuse.hpci.cpci.hps.cps.hpwrseqcmd.hrc.crc.hregd.cregd.hrtl8188eeMakefiledef.hdm.cdm.hfw.cfw.hhw.chw.hled.cled.hphy.cphy.hpwrseq.cpwrseq.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8192cMakefiledm_common.cdm_common.hfw_common.cfw_common.hmain.cphy_common.cphy_common.hrtl8192ceMakefiledef.hdm.cdm.hhw.chw.hled.cled.hphy.cphy.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8192cuMakefiledef.hdm.cdm.hhw.chw.hled.cled.hmac.cmac.hphy.cphy.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8192deMakefiledef.hdm.cdm.hfw.cfw.hhw.chw.hled.cled.hphy.cphy.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8192eeMakefiledef.hdm.cdm.hfw.cfw.hhw.chw.hled.cled.hphy.cphy.hpwrseq.cpwrseq.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8192seMakefiledef.hdm.cdm.hfw.cfw.hhw.chw.hled.cled.hphy.cphy.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8723aeMakefilebtc.hdef.hdm.cdm.hfw.cfw.hhal_bt_coexist.chal_bt_coexist.hhal_btc.chal_btc.hhw.chw.hled.cled.hphy.cphy.hpwrseq.cpwrseq.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8723beMakefiledef.hdm.cdm.hfw.cfw.hhw.chw.hled.cled.hphy.cphy.hpwrseq.cpwrseq.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hrtl8723comMakefiledm_common.cdm_common.hfw_common.cfw_common.hmain.cphy_common.cphy_common.hrtl8821aeMakefiledef.hdm.cdm.hfw.cfw.hhw.chw.hled.cled.hphy.cphy.hpwrseq.cpwrseq.hreg.hrf.crf.hsw.csw.htable.ctable.htrx.ctrx.hstats.cstats.husb.cusb.hwifi.hrndis_wlan.crsiKconfigMakefilersi_91x_core.crsi_91x_debugfs.crsi_91x_mac80211.crsi_91x_main.crsi_91x_mgmt.crsi_91x_pkt.crsi_91x_sdio.crsi_91x_sdio_ops.crsi_91x_usb.crsi_91x_usb_ops.crsi_boot_params.hrsi_common.hrsi_debugfs.hrsi_main.hrsi_mgmt.hrsi_sdio.hrsi_usb.hstKconfigMakefilecw1200KconfigMakefilebh.cbh.hcw1200.hcw1200_sdio.ccw1200_spi.cdebug.cdebug.hfwio.cfwio.hhwbus.hhwio.chwio.hmain.cpm.cpm.hqueue.cqueue.hscan.cscan.hsta.csta.htxrx.ctxrx.hwsm.cwsm.htiKconfigMakefilewilink_platform_data.cwl1251KconfigMakefileacx.cacx.hboot.cboot.hcmd.ccmd.hdebugfs.cdebugfs.hevent.cevent.hinit.cinit.hio.cio.hmain.cps.cps.hreg.hrx.crx.hsdio.cspi.cspi.htx.ctx.hwl1251.hwl12xx_80211.hwl12xxKconfigMakefileacx.cacx.hcmd.ccmd.hconf.hdebugfs.cdebugfs.hevent.cevent.hmain.creg.hscan.cscan.hwl12xx.hwl18xxKconfigMakefileacx.cacx.hcmd.ccmd.hconf.hdebugfs.cdebugfs.hevent.cevent.hio.cio.hmain.creg.hscan.cscan.htx.ctx.hwl18xx.hwlcoreKconfigMakefileacx.cacx.hboot.cboot.hcmd.ccmd.hconf.hdebug.hdebugfs.cdebugfs.hevent.cevent.hhw_ops.hini.hinit.cinit.hio.cio.hmain.cps.cps.hrx.crx.hscan.cscan.hsdio.cspi.csysfs.csysfs.htestmode.ctestmode.htx.ctx.hvendor_cmd.cvendor_cmd.hwl12xx_80211.hwlcore.hwlcore_i.hwl3501.hwl3501_cs.czydasKconfigMakefilezd1201.czd1201.hzd1211rwKconfigMakefilezd_chip.czd_chip.hzd_def.hzd_mac.czd_mac.hzd_rf.czd_rf.hzd_rf_al2230.czd_rf_al7230b.czd_rf_rf2959.czd_rf_uw2453.czd_usb.czd_usb.hxen-netbackMakefilecommon.hhash.cinterface.cnetback.crx.cxenbus.cxen-netfront.cnfcKconfigMakefilefdpKconfigMakefilefdp.cfdp.hi2c.cmei_phy.cmei_phy.hmicroreadKconfigMakefilei2c.cmei.cmicroread.cmicroread.hnfcmrvlKconfigMakefilefw_dnld.cfw_dnld.hi2c.cmain.cnfcmrvl.hspi.cuart.cusb.cnfcsim.cnxp-nciKconfigMakefilecore.cfirmware.ci2c.cnxp-nci.hpn533KconfigMakefilei2c.cpn533.cpn533.husb.cpn544KconfigMakefilei2c.cmei.cpn544.cpn544.hport100.cs3fwrn5KconfigMakefilecore.cfirmware.cfirmware.hi2c.cnci.cnci.hs3fwrn5.hst-nciKconfigMakefilecore.ci2c.cndlc.cndlc.hse.cspi.cst-nci.hvendor_cmds.cst21nfcaKconfigMakefilecore.cdep.ci2c.cse.cst21nfca.hvendor_cmds.cst95hfKconfigMakefilecore.cspi.cspi.htrf7970a.cntbKconfigMakefilehwKconfigMakefileamdKconfigMakefilentb_hw_amd.cntb_hw_amd.hintelKconfigMakefilentb_hw_intel.cntb_hw_intel.hntb.cntb_transport.ctestKconfigMakefilentb_perf.cntb_pingpong.cntb_tool.cnubusMakefilenubus.cproc.cnvdimmKconfigMakefileblk.cbtt.cbtt.hbtt_devs.cbus.cclaim.ccore.cdax_devs.cdimm.cdimm_devs.ce820.clabel.clabel.hnamespace_devs.cnd-core.hnd.hpfn.hpfn_devs.cpmem.cpmem.hregion.cregion_devs.cnvmeKconfigMakefilehostKconfigMakefilecore.cfabrics.cfabrics.hfc.clightnvm.cnvme.hpci.crdma.cscsi.ctargetKconfigMakefileadmin-cmd.cconfigfs.ccore.cdiscovery.cfabrics-cmd.cfc.cfcloop.cio-cmd.cloop.cnvmet.hrdma.cnvmemKconfigMakefilebcm-ocotp.ccore.cimx-iim.cimx-ocotp.clpc18xx_eeprom.clpc18xx_otp.cmeson-efuse.cmtk-efuse.cmxs-ocotp.cqfprom.crockchip-efuse.csunxi_sid.cvf610-ocotp.cofKconfigMakefileaddress.cbase.cdevice.cdynamic.cfdt.cfdt_address.cirq.cof_mdio.cof_net.cof_numa.cof_pci.cof_pci_irq.cof_private.hof_reserved_mem.coverlay.cpdt.cplatform.cresolver.cunittest-dataMakefileoverlay.dtsoverlay_bad_phandle.dtsoverlay_base.dtstestcases.dtstests-interrupts.dtsitests-match.dtsitests-overlay.dtsitests-phandle.dtsitests-platform.dtsiunittest.coprofilebuffer_sync.cbuffer_sync.hcpu_buffer.ccpu_buffer.hevent_buffer.cevent_buffer.hnmi_timer_int.coprof.coprof.hoprofile_files.coprofile_perf.coprofile_stats.coprofile_stats.hoprofilefs.ctimer_int.cpariscKconfigMakefileREADME.dinoasp.cccio-dma.cccio-rm-dma.cdino.ceisa.ceisa_eeprom.ceisa_enumerator.cgsc.cgsc.hhppb.ciommu-helpers.hiosapic.ciosapic_private.hlasi.clba_pci.cled.cpdc_stable.cpower.csba_iommu.csuperio.cwax.cparportBUGS-parportKconfigMakefileTODO-parportdaisy.cieee1284.cieee1284_ops.cmultiface.hparport_amiga.cparport_atari.cparport_ax88796.cparport_cs.cparport_gsc.cparport_gsc.hparport_ip32.cparport_mfc3.cparport_pc.cparport_serial.cparport_sunbpp.cprobe.cprocfs.cshare.cpciKconfigMakefileaccess.cats.cbus.cdwcKconfigMakefilepci-dra7xx.cpci-exynos.cpci-imx6.cpci-keystone-dw.cpci-keystone.cpci-keystone.hpci-layerscape.cpcie-armada8k.cpcie-artpec6.cpcie-designware-ep.cpcie-designware-host.cpcie-designware-plat.cpcie-designware.cpcie-designware.hpcie-hisi.cpcie-qcom.cpcie-spear13xx.cecam.cendpointKconfigMakefilefunctionsKconfigMakefilepci-epf-test.cpci-ep-cfs.cpci-epc-core.cpci-epc-mem.cpci-epf-core.chosthost-bridge.cKconfigMakefilepci-aardvark.cpci-ftpci100.cpci-host-common.cpci-host-generic.cpci-hyperv.cpci-mvebu.cpci-rcar-gen2.cpci-tegra.cpci-thunder-ecam.cpci-thunder-pem.cpci-versatile.cpci-xgene-msi.cpci-xgene.cpcie-altera-msi.cpcie-altera.cpcie-iproc-bcma.cpcie-iproc-msi.cpcie-iproc-platform.cpcie-iproc.cpcie-iproc.hpcie-rcar.cpcie-rockchip.cpcie-xilinx-nwl.cpcie-xilinx.cvmd.chotplughotplug-pci.cKconfigMakefileacpi_pcihp.cacpiphp.hacpiphp_core.cacpiphp_glue.cacpiphp_ibm.ccpci_hotplug.hcpci_hotplug_core.ccpci_hotplug_pci.ccpcihp_generic.ccpcihp_zt5550.ccpcihp_zt5550.hcpqphp.hcpqphp_core.ccpqphp_ctrl.ccpqphp_nvram.ccpqphp_nvram.hcpqphp_pci.ccpqphp_sysfs.cibmphp.hibmphp_core.cibmphp_ebda.cibmphp_hpc.cibmphp_pci.cibmphp_res.cpci_hotplug_core.cpciehp.hpciehp_core.cpciehp_ctrl.cpciehp_hpc.cpciehp_pci.cpcihp_skeleton.cpnv_php.crpadlpar.hrpadlpar_core.crpadlpar_sysfs.crpaphp.hrpaphp_core.crpaphp_pci.crpaphp_slot.cs390_pci_hpc.csgi_hotplug.cshpchp.hshpchp_core.cshpchp_ctrl.cshpchp_hpc.cshpchp_pci.cshpchp_sysfs.chtirq.ciov.cirq.cmmap.cmsi.cof.cpci-acpi.cpci-driver.cpci-label.cpci-mid.cpci-stub.cpci-sysfs.cpci.cpci.hpcieKconfigMakefileaerKconfigKconfig.debugMakefileaer_inject.caerdrv.caerdrv.haerdrv_acpi.caerdrv_core.caerdrv_errprint.cecrc.caspm.cpcie-dpc.cpme.cportdrv.hportdrv_acpi.cportdrv_bus.cportdrv_core.cportdrv_pci.cptm.cprobe.cproc.cquirks.cremove.crom.csearch.csetup-bus.csetup-irq.csetup-res.cslot.cswitchKconfigMakefileswitchtec.csyscall.cvc.cvpd.cxen-pcifront.cpcmciaKconfigMakefileat91_cf.cbcm63xx_pcmcia.cbcm63xx_pcmcia.hbfin_cf_pcmcia.ccardbus.ccirrus.hcistpl.ccs.ccs_internal.hdb1xxx_ss.cds.celectra_cf.ci82092.ci82092aa.hi82365.ci82365.hm32r_cfc.cm32r_cfc.hm32r_pcc.cm32r_pcc.ho2micro.homap_cf.cpcmcia_cis.cpcmcia_resource.cpd6729.cpd6729.hpxa2xx_balloon3.cpxa2xx_base.cpxa2xx_base.hpxa2xx_cm_x255.cpxa2xx_cm_x270.cpxa2xx_cm_x2xx.cpxa2xx_colibri.cpxa2xx_e740.cpxa2xx_hx4700.cpxa2xx_mainstone.cpxa2xx_palmld.cpxa2xx_palmtc.cpxa2xx_palmtx.cpxa2xx_sharpsl.cpxa2xx_stargate2.cpxa2xx_trizeps4.cpxa2xx_viper.cpxa2xx_vpac270.cricoh.hrsrc_iodyn.crsrc_mgr.crsrc_nonstatic.csa1100_assabet.csa1100_cerf.csa1100_generic.csa1100_generic.hsa1100_h3600.csa1100_nanoengine.csa1100_shannon.csa1100_simpad.csa1111_badge4.csa1111_generic.csa1111_generic.hsa1111_jornada720.csa1111_lubbock.csa1111_neponset.csa11xx_base.csa11xx_base.hsoc_common.csoc_common.hsocket_sysfs.ctcic.ctcic.hti113x.htopic.hvg468.hvrc4171_card.cvrc4173_cardu.cvrc4173_cardu.hxxs1500_ss.cyenta_socket.cyenta_socket.hperfKconfigMakefilearm_pmu.carm_pmu_acpi.carm_pmu_platform.cqcom_l2_pmu.cqcom_l3_pmu.cxgene_pmu.cphyKconfigMakefilephy-armada375-usb2.cphy-bcm-cygnus-pcie.cphy-bcm-kona-usb2.cphy-bcm-ns-usb2.cphy-bcm-ns-usb3.cphy-bcm-ns2-pcie.cphy-berlin-sata.cphy-berlin-usb.cphy-brcm-sata.cphy-core.cphy-da8xx-usb.cphy-dm816x-usb.cphy-exynos-dp-video.cphy-exynos-mipi-video.cphy-exynos-pcie.cphy-exynos4210-usb2.cphy-exynos4x12-usb2.cphy-exynos5-usbdrd.cphy-exynos5250-sata.cphy-exynos5250-usb2.cphy-hi6220-usb.cphy-hix5hd2-sata.cphy-lpc18xx-usb-otg.cphy-meson8b-usb2.cphy-miphy28lp.cphy-mt65xx-usb3.cphy-mvebu-sata.cphy-omap-control.cphy-omap-usb2.cphy-pistachio-usb.cphy-pxa-28nm-hsic.cphy-pxa-28nm-usb2.cphy-qcom-apq8064-sata.cphy-qcom-ipq806x-sata.cphy-qcom-qmp.cphy-qcom-qusb2.cphy-qcom-ufs-i.hphy-qcom-ufs-qmp-14nm.cphy-qcom-ufs-qmp-14nm.hphy-qcom-ufs-qmp-20nm.cphy-qcom-ufs-qmp-20nm.hphy-qcom-ufs.cphy-qcom-usb-hs.cphy-qcom-usb-hsic.cphy-rcar-gen2.cphy-rcar-gen3-usb2.cphy-rockchip-dp.cphy-rockchip-emmc.cphy-rockchip-inno-usb2.cphy-rockchip-pcie.cphy-rockchip-typec.cphy-rockchip-usb.cphy-s5pv210-usb2.cphy-samsung-usb2.cphy-samsung-usb2.hphy-spear1310-miphy.cphy-spear1340-miphy.cphy-stih407-usb.cphy-sun4i-usb.cphy-sun9i-usb.cphy-ti-pipe3.cphy-tusb1210.cphy-twl4030-usb.cphy-xgene.ctegraKconfigMakefilexusb-tegra124.cxusb-tegra210.cxusb.cxusb.hulpi_phy.hpinctrlKconfigMakefileaspeedKconfigMakefilepinctrl-aspeed-g4.cpinctrl-aspeed-g5.cpinctrl-aspeed.cpinctrl-aspeed.hbcmKconfigMakefilepinctrl-bcm281xx.cpinctrl-bcm2835.cpinctrl-cygnus-mux.cpinctrl-iproc-gpio.cpinctrl-ns2-mux.cpinctrl-nsp-gpio.cpinctrl-nsp-mux.cberlinKconfigMakefileberlin-bg2.cberlin-bg2cd.cberlin-bg2q.cberlin-bg4ct.cberlin.cberlin.hcore.ccore.hdevicetree.cdevicetree.hfreescaleKconfigMakefilepinctrl-imx.cpinctrl-imx.hpinctrl-imx1-core.cpinctrl-imx1.cpinctrl-imx1.hpinctrl-imx21.cpinctrl-imx23.cpinctrl-imx25.cpinctrl-imx27.cpinctrl-imx28.cpinctrl-imx35.cpinctrl-imx50.cpinctrl-imx51.cpinctrl-imx53.cpinctrl-imx6dl.cpinctrl-imx6q.cpinctrl-imx6sl.cpinctrl-imx6sx.cpinctrl-imx6ul.cpinctrl-imx7d.cpinctrl-mxs.cpinctrl-mxs.hpinctrl-vf610.cintelKconfigMakefilepinctrl-baytrail.cpinctrl-broxton.cpinctrl-cherryview.cpinctrl-geminilake.cpinctrl-intel.cpinctrl-intel.hpinctrl-merrifield.cpinctrl-sunrisepoint.cmediatekKconfigMakefilepinctrl-mt2701.cpinctrl-mt6397.cpinctrl-mt7623.cpinctrl-mt8127.cpinctrl-mt8135.cpinctrl-mt8173.cpinctrl-mtk-common.cpinctrl-mtk-common.hpinctrl-mtk-mt2701.hpinctrl-mtk-mt6397.hpinctrl-mtk-mt7623.hpinctrl-mtk-mt8127.hpinctrl-mtk-mt8135.hpinctrl-mtk-mt8173.hmesonMakefilepinctrl-meson-gxbb.cpinctrl-meson-gxl.cpinctrl-meson.cpinctrl-meson.hpinctrl-meson8.cpinctrl-meson8b.cmvebuKconfigMakefilepinctrl-armada-370.cpinctrl-armada-375.cpinctrl-armada-37xx.cpinctrl-armada-38x.cpinctrl-armada-39x.cpinctrl-armada-xp.cpinctrl-dove.cpinctrl-kirkwood.cpinctrl-mvebu.cpinctrl-mvebu.hpinctrl-orion.cnomadikKconfigMakefilepinctrl-ab8500.cpinctrl-ab8505.cpinctrl-ab8540.cpinctrl-ab9540.cpinctrl-abx500.cpinctrl-abx500.hpinctrl-nomadik-db8500.cpinctrl-nomadik-db8540.cpinctrl-nomadik-stn8815.cpinctrl-nomadik.cpinctrl-nomadik.hpinconf-generic.cpinconf.cpinconf.hpinctrl-adi2-bf54x.cpinctrl-adi2-bf60x.cpinctrl-adi2.cpinctrl-adi2.hpinctrl-amd.cpinctrl-amd.hpinctrl-artpec6.cpinctrl-as3722.cpinctrl-at91-pio4.cpinctrl-at91.cpinctrl-at91.hpinctrl-coh901.cpinctrl-coh901.hpinctrl-da850-pupd.cpinctrl-digicolor.cpinctrl-falcon.cpinctrl-lantiq.cpinctrl-lantiq.hpinctrl-lpc18xx.cpinctrl-max77620.cpinctrl-oxnas.cpinctrl-palmas.cpinctrl-pic32.cpinctrl-pic32.hpinctrl-pistachio.cpinctrl-rockchip.cpinctrl-single.cpinctrl-st.cpinctrl-sx150x.cpinctrl-tb10x.cpinctrl-tz1090-pdc.cpinctrl-tz1090.cpinctrl-u300.cpinctrl-utils.cpinctrl-utils.hpinctrl-xway.cpinctrl-zynq.cpinmux.cpinmux.hpxaKconfigMakefilepinctrl-pxa25x.cpinctrl-pxa27x.cpinctrl-pxa2xx.cpinctrl-pxa2xx.hqcomKconfigMakefilepinctrl-apq8064.cpinctrl-apq8084.cpinctrl-ipq4019.cpinctrl-ipq8064.cpinctrl-mdm9615.cpinctrl-msm.cpinctrl-msm.hpinctrl-msm8660.cpinctrl-msm8916.cpinctrl-msm8960.cpinctrl-msm8994.cpinctrl-msm8996.cpinctrl-msm8x74.cpinctrl-qdf2xxx.cpinctrl-spmi-gpio.cpinctrl-spmi-mpp.cpinctrl-ssbi-gpio.cpinctrl-ssbi-mpp.csamsungKconfigMakefilepinctrl-exynos.cpinctrl-exynos.hpinctrl-exynos5440.cpinctrl-s3c24xx.cpinctrl-s3c64xx.cpinctrl-samsung.cpinctrl-samsung.hsh-pfcKconfigMakefilecore.ccore.hgpio.cpfc-emev2.cpfc-r8a73a4.cpfc-r8a7740.cpfc-r8a7778.cpfc-r8a7779.cpfc-r8a7790.cpfc-r8a7791.cpfc-r8a7792.cpfc-r8a7794.cpfc-r8a7795-es1.cpfc-r8a7795.cpfc-r8a7796.cpfc-sh7203.cpfc-sh7264.cpfc-sh7269.cpfc-sh73a0.cpfc-sh7720.cpfc-sh7722.cpfc-sh7723.cpfc-sh7724.cpfc-sh7734.cpfc-sh7757.cpfc-sh7785.cpfc-sh7786.cpfc-shx3.cpinctrl.csh_pfc.hsirfMakefilepinctrl-atlas6.cpinctrl-atlas7.cpinctrl-prima2.cpinctrl-sirf.cpinctrl-sirf.hspearKconfigMakefilepinctrl-plgpio.cpinctrl-spear.cpinctrl-spear.hpinctrl-spear1310.cpinctrl-spear1340.cpinctrl-spear300.cpinctrl-spear310.cpinctrl-spear320.cpinctrl-spear3xx.cpinctrl-spear3xx.hstm32KconfigMakefilepinctrl-stm32.cpinctrl-stm32.hpinctrl-stm32f429.cpinctrl-stm32f469.cpinctrl-stm32f746.cpinctrl-stm32h743.csunxiKconfigMakefilepinctrl-sun4i-a10.cpinctrl-sun50i-a64-r.cpinctrl-sun50i-a64.cpinctrl-sun50i-h5.cpinctrl-sun5i.cpinctrl-sun6i-a31-r.cpinctrl-sun6i-a31.cpinctrl-sun7i-a20.cpinctrl-sun8i-a23-r.cpinctrl-sun8i-a23.cpinctrl-sun8i-a33.cpinctrl-sun8i-a83t.cpinctrl-sun8i-h3-r.cpinctrl-sun8i-h3.cpinctrl-sun8i-v3s.cpinctrl-sun9i-a80-r.cpinctrl-sun9i-a80.cpinctrl-sunxi.cpinctrl-sunxi.htegraKconfigMakefilepinctrl-tegra-xusb.cpinctrl-tegra.cpinctrl-tegra.hpinctrl-tegra114.cpinctrl-tegra124.cpinctrl-tegra20.cpinctrl-tegra210.cpinctrl-tegra30.ctiKconfigMakefilepinctrl-ti-iodelay.cuniphierKconfigMakefilepinctrl-uniphier-core.cpinctrl-uniphier-ld11.cpinctrl-uniphier-ld20.cpinctrl-uniphier-ld4.cpinctrl-uniphier-ld6b.cpinctrl-uniphier-pro4.cpinctrl-uniphier-pro5.cpinctrl-uniphier-pxs2.cpinctrl-uniphier-sld8.cpinctrl-uniphier.hvt8500KconfigMakefilepinctrl-vt8500.cpinctrl-wm8505.cpinctrl-wm8650.cpinctrl-wm8750.cpinctrl-wm8850.cpinctrl-wmt.cpinctrl-wmt.hplatformKconfigMakefilechromeKconfigMakefilechromeos_laptop.cchromeos_pstore.ccros_ec_dev.ccros_ec_dev.hcros_ec_lightbar.ccros_ec_lpc.ccros_ec_proto.ccros_ec_sysfs.ccros_ec_vbc.ccros_kbd_led_backlight.cgoldfishKconfigMakefilegoldfish_pipe.cpdev_bus.cmipsKconfigMakefilecpu_hwmon.colpcMakefileolpc-ec.cx86KconfigMakefileacer-wmi.cacerhdf.calienware-wmi.camilo-rfkill.capple-gmux.casus-laptop.casus-nb-wmi.casus-wireless.casus-wmi.casus-wmi.hclassmate-laptop.ccompal-laptop.cdell-laptop.cdell-rbtn.cdell-rbtn.hdell-smbios.cdell-smbios.hdell-smo8800.cdell-wmi-aio.cdell-wmi-led.cdell-wmi.ceeepc-laptop.ceeepc-wmi.cfujitsu-laptop.cfujitsu-tablet.chdaps.chp-wireless.chp-wmi.chp_accel.cibm_rtl.cideapad-laptop.cintel-hid.cintel-rst.cintel-smartconnect.cintel-vbtn.cintel_bxtwc_tmu.cintel_cht_int33fe.cintel_ips.cintel_ips.hintel_menlow.cintel_mid_powerbtn.cintel_mid_thermal.cintel_oaktrail.cintel_pmc_core.cintel_pmc_core.hintel_pmc_ipc.cintel_punit_ipc.cintel_scu_ipc.cintel_scu_ipcutil.cintel_telemetry_core.cintel_telemetry_debugfs.cintel_telemetry_pltdrv.cintel_turbo_max_3.cmlx-platform.cmlxcpld-hotplug.cmsi-laptop.cmsi-wmi.cmxm-wmi.cpanasonic-laptop.cpmc_atom.cpvpanic.csamsung-laptop.csamsung-q10.csilead_dmi.csony-laptop.csurface3-wmi.csurface3_button.csurfacepro3_button.ctc1100-wmi.cthinkpad_acpi.ctopstar-laptop.ctoshiba-wmi.ctoshiba_acpi.ctoshiba_bluetooth.ctoshiba_haps.cwmi.cxo1-rfkill.cxo15-ebook.cpnpKconfigMakefilebase.hcard.ccore.cdriver.cinterface.cisapnpKconfigMakefilecompat.ccore.cproc.cmanager.cpnpacpiKconfigMakefilecore.cpnpacpi.hrsparser.cpnpbiosKconfigMakefilebioscalls.ccore.cpnpbios.hproc.crsparser.cquirks.cresource.csupport.csystem.cpowerKconfigMakefileavsKconfigMakefilerockchip-io-domain.csmartreflex.cresetKconfigMakefilearm-versatile-reboot.cas3722-poweroff.cat91-poweroff.cat91-reset.cat91-sama5d2_shdwc.caxxia-reset.cbrcm-kona-reset.cbrcmstb-reboot.cgemini-poweroff.cgpio-poweroff.cgpio-restart.chisi-reboot.cimx-snvs-poweroff.ckeystone-reset.cltc2952-poweroff.cmsm-poweroff.cpiix4-poweroff.cqnap-poweroff.creboot-mode.creboot-mode.hrestart-poweroff.crmobile-reset.cst-poweroff.csyscon-poweroff.csyscon-reboot-mode.csyscon-reboot.cvexpress-poweroff.cxgene-reboot.czx-reboot.csupply88pm860x_battery.c88pm860x_charger.cKconfigMakefileab8500_bmdata.cab8500_btemp.cab8500_charger.cab8500_fg.cabx500_chargalg.cact8945a_charger.capm_power.caxp20x_ac_power.caxp20x_battery.caxp20x_usb_power.caxp288_charger.caxp288_fuel_gauge.cbq2415x_charger.cbq24190_charger.cbq24257_charger.cbq24735-charger.cbq25890_charger.cbq27xxx_battery.cbq27xxx_battery_i2c.ccharger-manager.ccollie_battery.ccpcap-charger.cda9030_battery.cda9052-battery.cda9150-charger.cda9150-fg.cds2760_battery.cds2780_battery.cds2781_battery.cds2782_battery.cgeneric-adc-battery.cgoldfish_battery.cgpio-charger.cipaq_micro_battery.cisp1704_charger.cjz4740-battery.clego_ev3_battery.clp8727_charger.clp8788-charger.cltc2941-battery-gauge.cmax14577_charger.cmax14656_charger_detector.cmax17040_battery.cmax17042_battery.cmax77693_charger.cmax8903_charger.cmax8925_power.cmax8997_charger.cmax8998_charger.colpc_battery.cpcf50633-charger.cpda_power.cpm2301_charger.cpm2301_charger.hpmu_battery.cpower_supply.hpower_supply_core.cpower_supply_leds.cpower_supply_sysfs.cqcom_smbb.crt5033_battery.crt9455_charger.crx51_battery.cs3c_adc_battery.csbs-battery.csbs-charger.csmb347-charger.ctest_power.ctosa_battery.ctps65090-charger.ctps65217_charger.ctwl4030_charger.ctwl4030_madc_battery.cwm831x_backup.cwm831x_power.cwm8350_power.cwm97xx_battery.cz2_battery.cpowercapKconfigMakefileintel_rapl.cpowercap_sys.cppsKconfigMakefileclientsKconfigMakefilepps-gpio.cpps-ktimer.cpps-ldisc.cpps_parport.cgeneratorsKconfigMakefilepps_gen_parport.ckapi.ckc.ckc.hpps.csysfs.cps3Makefileps3-lpm.cps3-sys-manager.cps3-vuart.cps3av.cps3av_cmd.cps3stor_lib.csys-manager-core.cvuart.hptpKconfigMakefileptp_chardev.cptp_clock.cptp_ixp46x.cptp_kvm.cptp_pch.cptp_private.hptp_sysfs.cpwmKconfigMakefilecore.cpwm-ab8500.cpwm-atmel-hlcdc.cpwm-atmel-tcb.cpwm-atmel.cpwm-bcm-iproc.cpwm-bcm-kona.cpwm-bcm2835.cpwm-berlin.cpwm-bfin.cpwm-brcmstb.cpwm-clps711x.cpwm-crc.cpwm-cros-ec.cpwm-ep93xx.cpwm-fsl-ftm.cpwm-hibvt.cpwm-img.cpwm-imx.cpwm-jz4740.cpwm-lp3943.cpwm-lpc18xx-sct.cpwm-lpc32xx.cpwm-lpss-pci.cpwm-lpss-platform.cpwm-lpss.cpwm-lpss.hpwm-mediatek.cpwm-meson.cpwm-mtk-disp.cpwm-mxs.cpwm-omap-dmtimer.cpwm-pca9685.cpwm-puv3.cpwm-pxa.cpwm-rcar.cpwm-renesas-tpu.cpwm-rockchip.cpwm-samsung.cpwm-spear.cpwm-sti.cpwm-stm32.cpwm-stmpe.cpwm-sun4i.cpwm-tegra.cpwm-tiecap.cpwm-tiehrpwm.cpwm-tipwmss.cpwm-twl-led.cpwm-twl.cpwm-vt8500.csysfs.crapidioKconfigMakefiledevicesKconfigMakefilerio_mport_cdev.ctsi721.ctsi721.htsi721_dma.crio-access.crio-driver.crio-scan.crio-sysfs.crio.crio.hrio_cm.cswitchesKconfigMakefileidt_gen2.cidt_gen3.cidtcps.ctsi568.ctsi57x.crasKconfigMakefilecec.cdebugfs.cdebugfs.hras.cregulator88pm800.c88pm8607.cKconfigMakefileaat2870-regulator.cab3100.cab8500-ext.cab8500.cact8865-regulator.cact8945a-regulator.cad5398.canatop-regulator.carizona-ldo1.carizona-micsupp.cas3711-regulator.cas3722-regulator.caxp20x-regulator.cbcm590xx-regulator.cbd9571mwv-regulator.ccore.ccpcap-regulator.cda903x.cda9052-regulator.cda9055-regulator.cda9062-regulator.cda9063-regulator.cda9210-regulator.cda9210-regulator.hda9211-regulator.cda9211-regulator.hdb8500-prcmu.cdbx500-prcmu.cdbx500-prcmu.hdevres.cdummy.cdummy.hfan53555.cfixed-helper.cfixed.cgpio-regulator.chelpers.chi6421-regulator.chi655x-regulator.cinternal.hisl6271a-regulator.cisl9305.clm363x-regulator.clp3971.clp3972.clp872x.clp873x-regulator.clp8755.clp8788-buck.clp8788-ldo.cltc3589.cltc3676.cmax14577-regulator.cmax1586.cmax77620-regulator.cmax77686-regulator.cmax77693-regulator.cmax77802-regulator.cmax8649.cmax8660.cmax8907-regulator.cmax8925-regulator.cmax8952.cmax8973-regulator.cmax8997-regulator.cmax8998.cmc13783-regulator.cmc13892-regulator.cmc13xxx-regulator-core.cmc13xxx.hmt6311-regulator.cmt6311-regulator.hmt6323-regulator.cmt6397-regulator.cof_regulator.cpalmas-regulator.cpbias-regulator.cpcap-regulator.cpcf50633-regulator.cpfuze100-regulator.cpv88060-regulator.cpv88060-regulator.hpv88080-regulator.cpv88080-regulator.hpv88090-regulator.cpv88090-regulator.hpwm-regulator.cqcom_rpm-regulator.cqcom_smd-regulator.cqcom_spmi-regulator.crc5t583-regulator.crk808-regulator.crn5t618-regulator.crt5033-regulator.cs2mpa01.cs2mps11.cs5m8767.csky81452-regulator.cstw481x-vmmc.cti-abb-regulator.ctps51632-regulator.ctps6105x-regulator.ctps62360-regulator.ctps65023-regulator.ctps6507x-regulator.ctps65086-regulator.ctps65090-regulator.ctps65132-regulator.ctps65217-regulator.ctps65218-regulator.ctps6524x-regulator.ctps6586x-regulator.ctps65910-regulator.ctps65912-regulator.ctps80031-regulator.ctwl-regulator.ctwl6030-regulator.cuserspace-consumer.cvctrl-regulator.cvexpress-regulator.cvirtual.cwm831x-dcdc.cwm831x-isink.cwm831x-ldo.cwm8350-regulator.cwm8400-regulator.cwm8994-regulator.cremoteprocKconfigMakefileda8xx_remoteproc.comap_remoteproc.comap_remoteproc.hqcom_adsp_pil.cqcom_common.cqcom_common.hqcom_q6v5_pil.cqcom_wcnss.cqcom_wcnss.hqcom_wcnss_iris.cremoteproc_core.cremoteproc_debugfs.cremoteproc_elf_loader.cremoteproc_internal.hremoteproc_sysfs.cremoteproc_virtio.cst_remoteproc.cst_slim_rproc.cwkup_m3_rproc.cresetKconfigMakefilecore.chisiliconKconfigMakefilehi6220_reset.creset-hi3660.creset-a10sr.creset-ath79.creset-berlin.creset-imx7.creset-lpc18xx.creset-meson.creset-oxnas.creset-pistachio.creset-socfpga.creset-stm32.creset-sunxi.creset-ti-syscon.creset-uniphier.creset-zx2967.creset-zynq.cstiKconfigMakefilereset-stih407.creset-syscfg.creset-syscfg.htegraKconfigMakefilereset-bpmp.crpmsgKconfigMakefileqcom_smd.crpmsg_char.crpmsg_core.crpmsg_internal.hvirtio_rpmsg_bus.crtcKconfigMakefileclass.chctosys.cinterface.crtc-88pm80x.crtc-88pm860x.crtc-ab-b5ze-s3.crtc-ab3100.crtc-ab8500.crtc-abx80x.crtc-ac100.crtc-armada38x.crtc-as3722.crtc-asm9260.crtc-at32ap700x.crtc-at91rm9200.crtc-at91rm9200.hrtc-at91sam9.crtc-au1xxx.crtc-bfin.crtc-bq32k.crtc-bq4802.crtc-cmos.crtc-coh901331.crtc-core.hrtc-cpcap.crtc-da9052.crtc-da9055.crtc-da9063.crtc-davinci.crtc-dev.crtc-digicolor.crtc-dm355evm.crtc-ds1216.crtc-ds1286.crtc-ds1302.crtc-ds1305.crtc-ds1307.crtc-ds1343.crtc-ds1347.crtc-ds1374.crtc-ds1390.crtc-ds1511.crtc-ds1553.crtc-ds1672.crtc-ds1685.crtc-ds1742.crtc-ds2404.crtc-ds3232.crtc-efi-platform.crtc-efi.crtc-em3027.crtc-ep93xx.crtc-fm3130.crtc-gemini.crtc-generic.crtc-hid-sensor-time.crtc-hym8563.crtc-imxdi.crtc-isl12022.crtc-isl1208.crtc-jz4740.crtc-lib.crtc-lp8788.crtc-lpc24xx.crtc-lpc32xx.crtc-ls1x.crtc-m41t80.crtc-m41t93.crtc-m41t94.crtc-m48t35.crtc-m48t59.crtc-m48t86.crtc-max6900.crtc-max6902.crtc-max6916.crtc-max77686.crtc-max8907.crtc-max8925.crtc-max8997.crtc-max8998.crtc-mc13xxx.crtc-mc146818-lib.crtc-mcp795.crtc-moxart.crtc-mpc5121.crtc-mrst.crtc-msm6242.crtc-mt6397.crtc-mv.crtc-mxc.crtc-nuc900.crtc-omap.crtc-opal.crtc-palmas.crtc-pcap.crtc-pcf2123.crtc-pcf2127.crtc-pcf50633.crtc-pcf85063.crtc-pcf8523.crtc-pcf8563.crtc-pcf8583.crtc-pic32.crtc-pl030.crtc-pl031.crtc-pm8xxx.crtc-proc.crtc-ps3.crtc-puv3.crtc-pxa.crtc-r7301.crtc-r9701.crtc-rc5t583.crtc-rk808.crtc-rp5c01.crtc-rs5c313.crtc-rs5c348.crtc-rs5c372.crtc-rv3029c2.crtc-rv8803.crtc-rx4581.crtc-rx6110.crtc-rx8010.crtc-rx8025.crtc-rx8581.crtc-s35390a.crtc-s3c.crtc-s3c.hrtc-s5m.crtc-sa1100.crtc-sa1100.hrtc-sh.crtc-sirfsoc.crtc-snvs.crtc-spear.crtc-st-lpc.crtc-starfire.crtc-stk17ta8.crtc-stm32.crtc-stmp3xxx.crtc-sun4v.crtc-sun6i.crtc-sunxi.crtc-sysfs.crtc-tegra.crtc-test.crtc-tile.crtc-tps6586x.crtc-tps65910.crtc-tps80031.crtc-twl.crtc-tx4939.crtc-v3020.crtc-vr41xx.crtc-vt8500.crtc-wm831x.crtc-wm8350.crtc-x1205.crtc-xgene.crtc-zynqmp.csystohc.cs390MakefileblockKconfigMakefiledasd.cdasd_3990_erp.cdasd_alias.cdasd_devmap.cdasd_diag.cdasd_diag.hdasd_eckd.cdasd_eckd.hdasd_eer.cdasd_erp.cdasd_fba.cdasd_fba.hdasd_genhd.cdasd_int.hdasd_ioctl.cdasd_proc.cdcssblk.cscm_blk.cscm_blk.hscm_blk_cluster.cscm_drv.cxpram.ccharKconfigMakefilecon3215.ccon3270.cctrlchar.cctrlchar.hdefkeymap.cdefkeymap.mapdiag_ftp.cdiag_ftp.hfs3270.chmcdrv_cache.chmcdrv_cache.hhmcdrv_dev.chmcdrv_dev.hhmcdrv_ftp.chmcdrv_ftp.hhmcdrv_mod.ckeyboard.ckeyboard.hmonreader.cmonwriter.craw3270.craw3270.hsclp.csclp.hsclp_async.csclp_cmd.csclp_con.csclp_config.csclp_cpi_sys.csclp_cpi_sys.hsclp_ctl.csclp_diag.hsclp_early.csclp_early_core.csclp_ftp.csclp_ftp.hsclp_ocf.csclp_pci.csclp_quiesce.csclp_rw.csclp_rw.hsclp_sdias.csclp_sdias.hsclp_tty.csclp_tty.hsclp_vt220.ctape.htape_34xx.ctape_3590.ctape_3590.htape_char.ctape_class.ctape_class.htape_core.ctape_proc.ctape_std.ctape_std.htty3270.ctty3270.hvmcp.cvmcp.hvmlogrdr.cvmur.cvmur.hzcore.ccioMakefileairq.cblacklist.cblacklist.hccwgroup.cccwreq.cchp.cchp.hchsc.cchsc.hchsc_sch.cchsc_sch.hcio.ccio.hcio_debug.hcmf.ccrw.ccss.ccss.hdevice.cdevice.hdevice_fsm.cdevice_id.cdevice_ops.cdevice_pgid.cdevice_status.ceadm_sch.ceadm_sch.hfcx.cidset.cidset.hio_sch.hioasm.cioasm.hisc.citcw.corb.hqdio.hqdio_debug.cqdio_debug.hqdio_main.cqdio_setup.cqdio_thinint.cscm.ctrace.ctrace.hvfio_ccw_cp.cvfio_ccw_cp.hvfio_ccw_drv.cvfio_ccw_fsm.cvfio_ccw_ops.cvfio_ccw_private.hcryptoMakefileap_asm.hap_bus.cap_bus.hap_card.cap_debug.hap_queue.cpkey_api.czcrypt_api.czcrypt_api.hzcrypt_card.czcrypt_cca_key.hzcrypt_cex2a.czcrypt_cex2a.hzcrypt_cex4.czcrypt_cex4.hzcrypt_debug.hzcrypt_error.hzcrypt_msgtype50.czcrypt_msgtype50.hzcrypt_msgtype6.czcrypt_msgtype6.hzcrypt_pcixcc.czcrypt_pcixcc.hzcrypt_queue.cnetKconfigMakefilectcm_dbug.cctcm_dbug.hctcm_fsms.cctcm_fsms.hctcm_main.cctcm_main.hctcm_mpc.cctcm_mpc.hctcm_sysfs.cfsm.cfsm.hlcs.clcs.hnetiucv.cqeth_core.hqeth_core_main.cqeth_core_mpc.cqeth_core_mpc.hqeth_core_sys.cqeth_l2.hqeth_l2_main.cqeth_l2_sys.cqeth_l3.hqeth_l3_main.cqeth_l3_sys.csmsgiucv.csmsgiucv.hsmsgiucv_app.cscsiMakefilezfcp_aux.czfcp_ccw.czfcp_dbf.czfcp_dbf.hzfcp_def.hzfcp_erp.czfcp_ext.hzfcp_fc.czfcp_fc.hzfcp_fsf.czfcp_fsf.hzfcp_qdio.czfcp_qdio.hzfcp_reqlist.hzfcp_scsi.czfcp_sysfs.czfcp_unit.cvirtioMakefilekvm_virtio.cvirtio_ccw.csbusMakefilecharKconfigMakefilebbc_envctrl.cbbc_i2c.cbbc_i2c.hdisplay7seg.cenvctrl.cflash.cjsflash.cmax1617.hopenprom.cuctrl.cscsi3w-9xxx.c3w-9xxx.h3w-sas.c3w-sas.h3w-xxxx.c3w-xxxx.h53c700.c53c700.h53c700.scr53c700_d.h_shippedBusLogic.cBusLogic.hFlashPoint.cKconfigMakefileNCR5380.cNCR5380.hNCR53c406a.cNCR_D700.cNCR_D700.hNCR_Q720.cNCR_Q720.ha100u2w.ca100u2w.ha2091.ca2091.ha3000.ca3000.ha4000t.caacraidMakefileTODOaachba.caacraid.hcommctrl.ccomminit.ccommsup.cdpcsup.clinit.cnark.crkt.crx.csa.csrc.cadvansys.caha152x.caha152x.haha1542.caha1542.haha1740.caha1740.haic7xxxKconfig.aic79xxKconfig.aic7xxxMakefileaic7770.caic7770_osm.caic79xx.haic79xx.regaic79xx.seqaic79xx_core.caic79xx_inline.haic79xx_osm.caic79xx_osm.haic79xx_osm_pci.caic79xx_pci.caic79xx_pci.haic79xx_proc.caic79xx_reg.h_shippedaic79xx_reg_print.c_shippedaic79xx_seq.h_shippedaic7xxx.haic7xxx.regaic7xxx.seqaic7xxx_93cx6.caic7xxx_93cx6.haic7xxx_core.caic7xxx_inline.haic7xxx_osm.caic7xxx_osm.haic7xxx_osm_pci.caic7xxx_pci.caic7xxx_pci.haic7xxx_proc.caic7xxx_reg.h_shippedaic7xxx_reg_print.c_shippedaic7xxx_seq.h_shippedaicasmMakefileaicasm.caicasm.haicasm_gram.yaicasm_insformat.haicasm_macro_gram.yaicasm_macro_scan.laicasm_scan.laicasm_symbol.caicasm_symbol.haiclib.caiclib.hcam.hqueue.hscsi_iu.hscsi_message.haic94xxKconfigMakefileaic94xx.haic94xx_dev.caic94xx_dump.caic94xx_dump.haic94xx_hwi.caic94xx_hwi.haic94xx_init.caic94xx_reg.caic94xx_reg.haic94xx_reg_def.haic94xx_sas.haic94xx_scb.caic94xx_sds.caic94xx_sds.haic94xx_seq.caic94xx_seq.haic94xx_task.caic94xx_tmf.cam53c974.carcmsrMakefilearcmsr.harcmsr_attr.carcmsr_hba.carmKconfigMakefileacornscsi-io.Sacornscsi.cacornscsi.harxescsi.ccumana_1.ccumana_2.ceesox.cfas216.cfas216.hmsgqueue.cmsgqueue.hoak.cpowertec.cqueue.cqueue.hscsi.hatari_scsi.catp870u.catp870u.hbe2iscsiKconfigMakefilebe.hbe_cmds.cbe_cmds.hbe_iscsi.cbe_iscsi.hbe_main.cbe_main.hbe_mgmt.cbe_mgmt.hbfaMakefilebfa.hbfa_core.cbfa_cs.hbfa_defs.hbfa_defs_fcs.hbfa_defs_svc.hbfa_fc.hbfa_fcbuild.cbfa_fcbuild.hbfa_fcpim.cbfa_fcpim.hbfa_fcs.cbfa_fcs.hbfa_fcs_fcpim.cbfa_fcs_lport.cbfa_fcs_rport.cbfa_hw_cb.cbfa_hw_ct.cbfa_ioc.cbfa_ioc.hbfa_ioc_cb.cbfa_ioc_ct.cbfa_modules.hbfa_plog.hbfa_port.cbfa_port.hbfa_svc.cbfa_svc.hbfad.cbfad_attr.cbfad_bsg.cbfad_bsg.hbfad_debugfs.cbfad_drv.hbfad_im.cbfad_im.hbfi.hbfi_ms.hbfi_reg.hbnx2fc57xx_hsi_bnx2fc.hKconfigMakefilebnx2fc.hbnx2fc_constants.hbnx2fc_debug.cbnx2fc_debug.hbnx2fc_els.cbnx2fc_fcoe.cbnx2fc_hwi.cbnx2fc_io.cbnx2fc_tgt.cbnx2i57xx_iscsi_constants.h57xx_iscsi_hsi.hKconfigMakefilebnx2i.hbnx2i_hwi.cbnx2i_init.cbnx2i_iscsi.cbnx2i_sysfs.cbvme6000_scsi.cch.cconstants.ccsiostorKconfigMakefilecsio_attr.ccsio_defs.hcsio_hw.ccsio_hw.hcsio_hw_chip.hcsio_hw_t5.ccsio_init.ccsio_init.hcsio_isr.ccsio_lnode.ccsio_lnode.hcsio_mb.ccsio_mb.hcsio_rnode.ccsio_rnode.hcsio_scsi.ccsio_scsi.hcsio_wr.ccsio_wr.ht4fw_api_stor.hcxgbiKconfigMakefilecxgb3iKbuildKconfigcxgb3i.ccxgb3i.hcxgb4iKbuildKconfigcxgb4i.ccxgb4i.hlibcxgbi.clibcxgbi.hcxlflashKconfigMakefilecommon.hlunmgt.cmain.cmain.hsislite.hsuperpipe.csuperpipe.hvlun.cvlun.hdc395x.cdc395x.hdevice_handlerKconfigMakefilescsi_dh_alua.cscsi_dh_emc.cscsi_dh_hp_sw.cscsi_dh_rdac.cdmx3191d.cdptdpti_i2o.hdpti_ioctl.hdptsig.hosd_defs.hosd_util.hsys_info.hdpt_i2o.cdpti.heata.ceata_generic.heata_pio.ceata_pio.hesas2rKconfigMakefileatioctl.hatvda.hesas2r.hesas2r_disc.cesas2r_flash.cesas2r_init.cesas2r_int.cesas2r_io.cesas2r_ioctl.cesas2r_log.cesas2r_log.hesas2r_main.cesas2r_targdb.cesas2r_vda.cesp_scsi.cesp_scsi.hfcoeMakefilefcoe.cfcoe.hfcoe_ctlr.cfcoe_sysfs.cfcoe_transport.clibfcoe.hfdomain.cfdomain.hfnicMakefilecq_desc.hcq_enet_desc.hcq_exch_desc.hfcpio.hfnic.hfnic_attrs.cfnic_debugfs.cfnic_fcs.cfnic_fip.hfnic_io.hfnic_isr.cfnic_main.cfnic_res.cfnic_res.hfnic_scsi.cfnic_stats.hfnic_trace.cfnic_trace.hrq_enet_desc.hvnic_cq.cvnic_cq.hvnic_cq_copy.hvnic_dev.cvnic_dev.hvnic_devcmd.hvnic_intr.cvnic_intr.hvnic_nic.hvnic_resource.hvnic_rq.cvnic_rq.hvnic_scsi.hvnic_stats.hvnic_wq.cvnic_wq.hvnic_wq_copy.cvnic_wq_copy.hwq_enet_desc.hg_NCR5380.cgdth.cgdth.hgdth_ioctl.hgdth_proc.cgdth_proc.hgvp11.cgvp11.hhisi_sasKconfigMakefilehisi_sas.hhisi_sas_main.chisi_sas_v1_hw.chisi_sas_v2_hw.chosts.chpsa.chpsa.hhpsa_cmd.hhptiop.chptiop.hibmvscsiMakefileibmvfc.cibmvfc.hibmvscsi.cibmvscsi.hibmvscsi_tgtMakefileibmvscsi_tgt.cibmvscsi_tgt.hlibsrp.clibsrp.himm.cimm.hinitio.cinitio.hipr.cipr.hips.cips.hisciMakefilehost.chost.hinit.cisci.hphy.cphy.hport.cport.hport_config.cprobe_roms.cprobe_roms.hregisters.hremote_device.cremote_device.hremote_node_context.cremote_node_context.hremote_node_table.cremote_node_table.hrequest.crequest.hsas.hscu_completion_codes.hscu_event_codes.hscu_remote_node_context.hscu_task_context.htask.ctask.hunsolicited_frame_control.cunsolicited_frame_control.hiscsi_boot_sysfs.ciscsi_tcp.ciscsi_tcp.hjazz_esp.clasi700.clibfcMakefilefc_disc.cfc_elsct.cfc_exch.cfc_fcp.cfc_frame.cfc_libfc.cfc_libfc.hfc_lport.cfc_npiv.cfc_rport.clibiscsi.clibiscsi_tcp.clibsasKconfigMakefilesas_ata.csas_discover.csas_dump.csas_dump.hsas_event.csas_expander.csas_host_smp.csas_init.csas_internal.hsas_phy.csas_port.csas_scsi_host.csas_task.clpfcMakefilelpfc.hlpfc_attr.clpfc_attr.hlpfc_bsg.clpfc_bsg.hlpfc_compat.hlpfc_crtn.hlpfc_ct.clpfc_debugfs.clpfc_debugfs.hlpfc_disc.hlpfc_els.clpfc_hbadisc.clpfc_hw.hlpfc_hw4.hlpfc_ids.hlpfc_init.clpfc_logmsg.hlpfc_mbox.clpfc_mem.clpfc_nl.hlpfc_nportdisc.clpfc_nvme.clpfc_nvme.hlpfc_nvmet.clpfc_nvmet.hlpfc_scsi.clpfc_scsi.hlpfc_sli.clpfc_sli.hlpfc_sli4.hlpfc_version.hlpfc_vport.clpfc_vport.hmac53c94.cmac53c94.hmac_esp.cmac_scsi.cmegaraidmegaraid.cmegaraid.hKconfig.megaraidMakefilembox_defs.hmega_common.hmegaraid_ioctl.hmegaraid_mbox.cmegaraid_mbox.hmegaraid_mm.cmegaraid_mm.hmegaraid_sas.hmegaraid_sas_base.cmegaraid_sas_fp.cmegaraid_sas_fusion.cmegaraid_sas_fusion.hmesh.cmesh.hmpt3sasKconfigMakefilempimpi2.hmpi2_cnfg.hmpi2_init.hmpi2_ioc.hmpi2_raid.hmpi2_sas.hmpi2_tool.hmpi2_type.hmpt3sas_base.cmpt3sas_base.hmpt3sas_config.cmpt3sas_ctl.cmpt3sas_ctl.hmpt3sas_debug.hmpt3sas_scsih.cmpt3sas_transport.cmpt3sas_trigger_diag.cmpt3sas_trigger_diag.hmpt3sas_warpdrive.cmvme147.cmvme147.hmvme16x_scsi.cmvsasKconfigMakefilemv_64xx.cmv_64xx.hmv_94xx.cmv_94xx.hmv_chips.hmv_defs.hmv_init.cmv_sas.cmv_sas.hmvumi.cmvumi.hncr53c8xx.cncr53c8xx.hnsp32.cnsp32.hnsp32_debug.cnsp32_io.hosdKbuildKconfigosd_debug.hosd_initiator.cosd_uld.cosst.cosst.hosst_detect.hosst_options.hpcmciaKconfigMakefileaha152x_core.caha152x_stub.cfdomain_core.cfdomain_stub.cnsp_cs.cnsp_cs.hnsp_debug.cnsp_io.hnsp_message.cqlogic_stub.csym53c500_cs.cpm8001Makefilepm8001_chips.hpm8001_ctl.cpm8001_ctl.hpm8001_defs.hpm8001_hwi.cpm8001_hwi.hpm8001_init.cpm8001_sas.cpm8001_sas.hpm80xx_hwi.cpm80xx_hwi.hpmcraid.cpmcraid.hppa.cppa.hps3rom.cqedfKconfigMakefiledrv_fcoe_fw_funcs.cdrv_fcoe_fw_funcs.hdrv_scsi_fw_funcs.cdrv_scsi_fw_funcs.hqedf.hqedf_attr.cqedf_dbg.cqedf_dbg.hqedf_debugfs.cqedf_els.cqedf_fip.cqedf_hsi.hqedf_io.cqedf_main.cqedf_version.hqediKconfigMakefileqedi.hqedi_dbg.cqedi_dbg.hqedi_debugfs.cqedi_fw.cqedi_fw_api.cqedi_fw_iscsi.hqedi_fw_scsi.hqedi_gbl.hqedi_hsi.hqedi_iscsi.cqedi_iscsi.hqedi_main.cqedi_sysfs.cqedi_version.hqla1280.cqla1280.hqla2xxxKconfigMakefileqla_attr.cqla_bsg.cqla_bsg.hqla_dbg.cqla_dbg.hqla_def.hqla_devtbl.hqla_dfs.cqla_fw.hqla_gbl.hqla_gs.cqla_init.cqla_inline.hqla_iocb.cqla_isr.cqla_mbx.cqla_mid.cqla_mr.cqla_mr.hqla_nx.cqla_nx.hqla_nx2.cqla_nx2.hqla_os.cqla_settings.hqla_sup.cqla_target.cqla_target.hqla_tmpl.cqla_tmpl.hqla_version.htcm_qla2xxx.ctcm_qla2xxx.hqla4xxxKconfigMakefileql4_83xx.cql4_83xx.hql4_attr.cql4_bsg.cql4_bsg.hql4_dbg.cql4_dbg.hql4_def.hql4_fw.hql4_glbl.hql4_init.cql4_inline.hql4_iocb.cql4_isr.cql4_mbx.cql4_nvram.cql4_nvram.hql4_nx.cql4_nx.hql4_os.cql4_version.hqlogicfas.cqlogicfas408.cqlogicfas408.hqlogicpti.cqlogicpti.hraid_class.cscript_asm.plscsi.cscsi.hscsi_common.cscsi_debug.cscsi_debugfs.cscsi_debugfs.hscsi_devinfo.cscsi_dh.cscsi_error.cscsi_ioctl.cscsi_lib.cscsi_lib_dma.cscsi_logging.cscsi_logging.hscsi_module.cscsi_netlink.cscsi_pm.cscsi_priv.hscsi_proc.cscsi_sas_internal.hscsi_scan.cscsi_sysctl.cscsi_sysfs.cscsi_trace.cscsi_transport_api.hscsi_transport_fc.cscsi_transport_iscsi.cscsi_transport_sas.cscsi_transport_spi.cscsi_transport_srp.cscsi_typedefs.hscsicam.csd.csd.hsd_dif.csd_zbc.csense_codes.hses.csg.csgiwd93.csim710.csmartpqiKconfigMakefilesmartpqi.hsmartpqi_init.csmartpqi_sas_transport.csmartpqi_sis.csmartpqi_sis.hsni_53c710.csnicMakefilecq_desc.hcq_enet_desc.hsnic.hsnic_attrs.csnic_ctl.csnic_debugfs.csnic_disc.csnic_disc.hsnic_fwint.hsnic_io.csnic_io.hsnic_isr.csnic_main.csnic_res.csnic_res.hsnic_scsi.csnic_stats.hsnic_trc.csnic_trc.hvnic_cq.cvnic_cq.hvnic_cq_fw.hvnic_dev.cvnic_dev.hvnic_devcmd.hvnic_intr.cvnic_intr.hvnic_resource.hvnic_snic.hvnic_stats.hvnic_wq.cvnic_wq.hwq_enet_desc.hsr.csr.hsr_ioctl.csr_vendor.cst.cst.hst_options.hstex.cstorvsc_drv.csun3_scsi.csun3_scsi_vme.csun3x_esp.csun_esp.csym53c416.csym53c416.hsym53c8xx_2Makefilesym53c8xx.hsym_defs.hsym_fw.csym_fw.hsym_fw1.hsym_fw2.hsym_glue.csym_glue.hsym_hipd.csym_hipd.hsym_malloc.csym_misc.hsym_nvram.csym_nvram.hufsKconfigMakefiletc-dwc-g210-pci.ctc-dwc-g210-pltfrm.ctc-dwc-g210.ctc-dwc-g210.hufs-qcom.cufs-qcom.hufs.hufs_quirks.hufshcd-dwc.cufshcd-dwc.hufshcd-pci.cufshcd-pltfrm.cufshcd-pltfrm.hufshcd.cufshcd.hufshci-dwc.hufshci.hunipro.hvirtio_scsi.cvmw_pvscsi.cvmw_pvscsi.hwd33c93.cwd33c93.hwd719x.cwd719x.hxen-scsifront.czalon.czorro7xx.csfiKconfigMakefilesfi_acpi.csfi_core.csfi_core.hshKconfigMakefileclkMakefilecore.ccpg.cintcKconfigMakefileaccess.cbalancing.cchip.ccore.chandle.cinternals.hirqdomain.cuserimask.cvirq-debugfs.cvirq.cmapleMakefilemaple.cpm_runtime.csuperhywayMakefilesuperhyway-sysfs.csuperhyway.csnKconfigMakefileioc3.csocKconfigMakefileatmelKconfigMakefilesoc.csoc.hbcmKconfigMakefilebrcmstbMakefilebiuctrl.ccommon.craspberrypi-power.cdoveMakefilepmu.cfslKconfigMakefileguts.cqbmanKconfigMakefilebman.cbman_ccsr.cbman_portal.cbman_priv.hbman_test.cbman_test.hbman_test_api.cdpaa_sys.hqman.cqman_ccsr.cqman_portal.cqman_priv.hqman_test.cqman_test.hqman_test_api.cqman_test_stash.cqeKconfigMakefilegpio.cqe.cqe_common.cqe_ic.cqe_ic.hqe_io.cqe_tdm.cucc.cucc_fast.cucc_slow.cusb.cimxKconfigMakefilegpc.cgpcv2.cmediatekKconfigMakefilemtk-infracfg.cmtk-pmic-wrap.cmtk-scpsys.cqcomKconfigMakefilemdt_loader.cqcom_gsbi.csmd-rpm.csmem.csmem_state.csmp2p.csmsm.cspm.cwcnss_ctrl.crenesasMakefiler8a7743-sysc.cr8a7745-sysc.cr8a7779-sysc.cr8a7790-sysc.cr8a7791-sysc.cr8a7792-sysc.cr8a7794-sysc.cr8a7795-sysc.cr8a7796-sysc.crcar-rst.crcar-sysc.crcar-sysc.hrenesas-soc.crockchipKconfigMakefilegrf.cpm_domains.csamsungKconfigMakefileexynos-pmu.cexynos-pmu.hexynos3250-pmu.cexynos4-pmu.cexynos5250-pmu.cexynos5420-pmu.cpm_domains.csunxiKconfigMakefilesunxi_sram.ctegraKconfigMakefilecommon.cflowctrl.cfuseMakefilefuse-tegra.cfuse-tegra20.cfuse-tegra30.cfuse.hspeedo-tegra114.cspeedo-tegra124.cspeedo-tegra20.cspeedo-tegra210.cspeedo-tegra30.ctegra-apbmisc.cpmc-tegra186.cpmc.ctiKconfigMakefileknav_dma.cknav_qmss.hknav_qmss_acc.cknav_qmss_queue.cti_sci_pm_domains.cwkup_m3_ipc.cux500KconfigMakefileux500-soc-id.cversatileKconfigMakefilesoc-integrator.csoc-realview.czteKconfigMakefilezx296718_pm_domains.czx2967_pm_domains.czx2967_pm_domains.hspiKconfigMakefilespi-adi-v3.cspi-altera.cspi-armada-3700.cspi-ath79.cspi-atmel.cspi-au1550.cspi-axi-spi-engine.cspi-bcm-qspi.cspi-bcm-qspi.hspi-bcm2835.cspi-bcm2835aux.cspi-bcm53xx.cspi-bcm53xx.hspi-bcm63xx-hsspi.cspi-bcm63xx.cspi-bfin-sport.cspi-bfin5xx.cspi-bitbang-txrx.hspi-bitbang.cspi-brcmstb-qspi.cspi-butterfly.cspi-cadence.cspi-cavium-octeon.cspi-cavium-thunderx.cspi-cavium.cspi-cavium.hspi-clps711x.cspi-coldfire-qspi.cspi-davinci.cspi-dln2.cspi-dw-mid.cspi-dw-mmio.cspi-dw-pci.cspi-dw.cspi-dw.hspi-efm32.cspi-ep93xx.cspi-falcon.cspi-fsl-cpm.cspi-fsl-cpm.hspi-fsl-dspi.cspi-fsl-espi.cspi-fsl-lib.cspi-fsl-lib.hspi-fsl-lpspi.cspi-fsl-spi.cspi-fsl-spi.hspi-gpio.cspi-img-spfi.cspi-imx.cspi-iproc-qspi.cspi-jcore.cspi-lantiq-ssc.cspi-lm70llp.cspi-loopback-test.cspi-lp8841-rtc.cspi-meson-spifc.cspi-mpc512x-psc.cspi-mpc52xx-psc.cspi-mpc52xx.cspi-mt65xx.cspi-mxs.cspi-nuc900.cspi-oc-tiny.cspi-omap-100k.cspi-omap-uwire.cspi-omap2-mcspi.cspi-orion.cspi-pic32-sqi.cspi-pic32.cspi-pl022.cspi-ppc4xx.cspi-pxa2xx-dma.cspi-pxa2xx-pci.cspi-pxa2xx.cspi-pxa2xx.hspi-qup.cspi-rb4xx.cspi-rockchip.cspi-rspi.cspi-s3c24xx-fiq.Sspi-s3c24xx-fiq.hspi-s3c24xx.cspi-s3c64xx.cspi-sc18is602.cspi-sh-hspi.cspi-sh-msiof.cspi-sh-sci.cspi-sh.cspi-sirf.cspi-st-ssc4.cspi-sun4i.cspi-sun6i.cspi-tegra114.cspi-tegra20-sflash.cspi-tegra20-slink.cspi-test.hspi-ti-qspi.cspi-tle62x0.cspi-topcliff-pch.cspi-txx9.cspi-xcomm.cspi-xilinx.cspi-xlp.cspi-xtensa-xtfpga.cspi-zynqmp-gqspi.cspi.cspidev.cspmiKconfigMakefilespmi-pmic-arb.cspmi.cssbKconfigMakefileb43_pci_bridge.cbridge_pcmcia_80211.cdriver_chipcommon.cdriver_chipcommon_pmu.cdriver_chipcommon_sflash.cdriver_extif.cdriver_gige.cdriver_gpio.cdriver_mipscore.cdriver_pcicore.cembedded.chost_soc.cmain.cpci.cpcihost_wrapper.cpcmcia.cscan.csdio.csprom.cssb_private.hstagingKconfigMakefileandroidKconfigMakefileTODOashmem.cashmem.hionKconfigMakefileion-ioctl.cion.cion.hion_carveout_heap.cion_chunk_heap.cion_cma_heap.cion_heap.cion_page_pool.cion_system_heap.cuapiashmem.hion.hboardKconfigMakefileTODOarmadillo800eva.cboard.cboard.hkzm9d.cccreeDocumentationdevicetreebindingscryptoarm-cryptocell.txtKconfigMakefileTODOcc_bitops.hcc_crypto_ctx.hcc_hal.hcc_hw_queue_defs.hcc_lli_defs.hcc_pal_log.hcc_pal_log_plat.hcc_pal_types.hcc_pal_types_plat.hcc_regs.hdx_crys_kernel.hdx_env.hdx_host.hdx_reg_base_host.hdx_reg_common.hhash_defs.hhw_queue_defs_plat.hssi_aead.cssi_aead.hssi_buffer_mgr.cssi_buffer_mgr.hssi_cipher.cssi_cipher.hssi_config.hssi_driver.cssi_driver.hssi_fips.cssi_fips.hssi_fips_data.hssi_fips_ext.cssi_fips_ll.cssi_fips_local.cssi_fips_local.hssi_hash.cssi_hash.hssi_ivgen.cssi_ivgen.hssi_pm.cssi_pm.hssi_pm_ext.cssi_pm_ext.hssi_request_mgr.cssi_request_mgr.hssi_sram_mgr.cssi_sram_mgr.hssi_sysfs.cssi_sysfs.hclocking-wizardKconfigMakefileTODOclk-xlnx-clock-wizard.cdt-binding.txtcomediKconfigMakefileTODOcomedi.hcomedi_buf.ccomedi_compat32.ccomedi_compat32.hcomedi_fops.ccomedi_internal.hcomedi_pci.ccomedi_pci.hcomedi_pcmcia.ccomedi_pcmcia.hcomedi_usb.ccomedi_usb.hcomedidev.hcomedilib.hdriversdrivers.c8255.c8255.h8255_pci.cMakefileaddi_apci_1032.caddi_apci_1500.caddi_apci_1516.caddi_apci_1564.caddi_apci_16xx.caddi_apci_2032.caddi_apci_2200.caddi_apci_3120.caddi_apci_3501.caddi_apci_3xxx.caddi_tcw.haddi_watchdog.caddi_watchdog.hadl_pci6208.cadl_pci7x3x.cadl_pci8164.cadl_pci9111.cadl_pci9118.cadq12b.cadv_pci1710.cadv_pci1720.cadv_pci1723.cadv_pci1724.cadv_pci1760.cadv_pci_dio.caio_aio12_8.caio_iiro_16.camcc_s5933.hamplc_dio200.camplc_dio200.hamplc_dio200_common.camplc_dio200_pci.camplc_pc236.camplc_pc236.hamplc_pc236_common.camplc_pc263.camplc_pci224.camplc_pci230.camplc_pci236.camplc_pci263.cc6xdigio.ccb_das16_cs.ccb_pcidas.ccb_pcidas64.ccb_pcidda.ccb_pcimdas.ccb_pcimdda.ccomedi_8254.ccomedi_8254.hcomedi_8255.ccomedi_bond.ccomedi_isadma.ccomedi_isadma.hcomedi_parport.ccomedi_test.ccontec_pci_dio.cdac02.cdaqboard2000.cdas08.cdas08.hdas08_cs.cdas08_isa.cdas08_pci.cdas16.cdas16m1.cdas1800.cdas6402.cdas800.cdmm32at.cdt2801.cdt2811.cdt2814.cdt2815.cdt2817.cdt282x.cdt3000.cdt9812.cdyna_pci10xx.cfl512.cgsc_hpdi.cicp_multi.cii_pci20kc.cjr3_pci.cjr3_pci.hke_counter.cme4000.cme_daq.cmf6x4.cmite.cmite.hmpc624.cmultiq3.cni_6527.cni_65xx.cni_660x.cni_670x.cni_at_a2150.cni_at_ao.cni_atmio.cni_atmio16d.cni_daq_700.cni_daq_dio24.cni_labpc.cni_labpc.hni_labpc_common.cni_labpc_cs.cni_labpc_isadma.cni_labpc_isadma.hni_labpc_pci.cni_labpc_regs.hni_mio_common.cni_mio_cs.cni_pcidio.cni_pcimio.cni_stc.hni_tio.cni_tio.hni_tio_internal.hni_tiocmd.cni_usb6501.cpcl711.cpcl724.cpcl726.cpcl730.cpcl812.cpcl816.cpcl818.cpcm3724.cpcmad.cpcmda12.cpcmmio.cpcmuio.cplx9052.hplx9080.hquatech_daqp_cs.crtd520.crti800.crti802.cs526.cs626.cs626.hserial2002.cssv_dnp.cusbdux.cusbduxfast.cusbduxsigma.cvmk80xx.cz8536.hkcomedilibMakefilekcomedilib_main.cproc.crange.cdgncKconfigMakefileTODOdgnc_cls.cdgnc_cls.hdgnc_driver.cdgnc_driver.hdgnc_mgmt.cdgnc_mgmt.hdgnc_neo.cdgnc_neo.hdgnc_pci.hdgnc_tty.cdgnc_tty.hdgnc_utils.cdgnc_utils.hdigi.hemxx_udcKconfigMakefileTODOemxx_udc.cemxx_udc.hfbtftKconfigMakefileREADMEfb_agm1264k-fl.cfb_bd663474.cfb_hx8340bn.cfb_hx8347d.cfb_hx8353d.cfb_hx8357d.cfb_hx8357d.hfb_ili9163.cfb_ili9320.cfb_ili9325.cfb_ili9340.cfb_ili9341.cfb_ili9481.cfb_ili9486.cfb_pcd8544.cfb_ra8875.cfb_s6d02a1.cfb_s6d1121.cfb_sh1106.cfb_ssd1289.cfb_ssd1305.cfb_ssd1306.cfb_ssd1325.cfb_ssd1331.cfb_ssd1351.cfb_st7735r.cfb_st7789v.cfb_tinylcd.cfb_tls8204.cfb_uc1611.cfb_uc1701.cfb_upd161704.cfb_watterott.cfbtft-bus.cfbtft-core.cfbtft-io.cfbtft-sysfs.cfbtft.hfbtft_device.cflexfb.cinternal.hfsl-dpaa2KconfigMakefileethernetMakefileREADMETODOdpaa2-eth-trace.hdpaa2-eth.cdpaa2-eth.hdpaa2-ethtool.cdpkg.hdpni-cmd.hdpni.cdpni.hnet.hfsl-mcKconfigMakefileREADME.txtTODObusKconfigMakefiledpbp-cmd.hdpbp.cdpcon-cmd.hdpcon.cdpioMakefiledpio-cmd.hdpio-driver.cdpio-driver.txtdpio-service.cdpio.cdpio.hqbman-portal.cqbman-portal.hdpmcp-cmd.hdpmcp.cdpmcp.hdpmng-cmd.hdpmng.cdprc-cmd.hdprc-driver.cdprc.cfsl-mc-allocator.cfsl-mc-bus.cfsl-mc-msi.cfsl-mc-private.hirq-gic-v3-its-fsl-mc-msi.cmc-io.cmc-sys.cincludedpaa2-fd.hdpaa2-global.hdpaa2-io.hdpbp.hdpcon.hdpmng.hdprc.hmc-bus.hmc-cmd.hmc-sys.hmc.hfwserialKconfigMakefileTODOdma_fifo.cdma_fifo.hfwserial.cfwserial.hgdm724xKconfigMakefileTODOgdm_endian.cgdm_endian.hgdm_lte.cgdm_lte.hgdm_mux.cgdm_mux.hgdm_tty.cgdm_tty.hgdm_usb.cgdm_usb.hhci.hhci_packet.hnetlink_k.cnetlink_k.hgoldfishKconfigMakefileREADMEgoldfish_audio.cgoldfish_nand.cgoldfish_nand_reg.hgreybusDocumentationfirmwareauthenticate.cfirmware-managementfirmware.csysfs-bus-greybusKconfigMakefilearche-apb-ctrl.carche-platform.carche_platform.harpc.haudio_apbridgea.caudio_apbridgea.haudio_codec.caudio_codec.haudio_gb.caudio_manager.caudio_manager.haudio_manager_module.caudio_manager_private.haudio_manager_sysfs.caudio_module.caudio_topology.cauthentication.cbootrom.cbundle.cbundle.hcamera.cconnection.cconnection.hcontrol.ccontrol.hcore.cdebugfs.ces2.cfirmware.hfw-core.cfw-download.cfw-management.cgb-camera.hgbphy.cgbphy.hgpio.cgreybus.hgreybus_authentication.hgreybus_firmware.hgreybus_id.hgreybus_manifest.hgreybus_protocols.hgreybus_trace.hhd.chd.hhid.ci2c.cinterface.cinterface.hlight.clog.cloopback.cmanifest.cmanifest.hmodule.cmodule.hoperation.coperation.hpower_supply.cpwm.craw.csdio.cspi.cspilib.cspilib.hsvc.csvc.hsvc_watchdog.ctoolsAndroid.mkMakefileREADME.loopbacklbtestloopback_test.cuart.cusb.cvibrator.cgs_fpgabootKconfigMakefileREADMETODOgs_fpgaboot.cgs_fpgaboot.hio.cio.hiioDocumentationdacmax517device.txtinkernel.txtlightsysfs-bus-iio-light-tsl2x7xoverview.txtring.txtsysfs-bus-iio-ad7192sysfs-bus-iio-adc-ad7280asysfs-bus-iio-ddssysfs-bus-iio-impedance-analyzer-ad5933sysfs-bus-iio-lighttrigger.txtKconfigMakefileTODOaccelKconfigMakefileadis16201.cadis16203.cadis16209.cadis16240.cadcKconfigMakefilead7192.cad7192.had7280a.cad7280a.had7606.cad7606.had7606_par.cad7606_spi.cad7780.cad7816.caddacKconfigMakefileadt7316-i2c.cadt7316-spi.cadt7316.cadt7316.hcdcKconfigMakefilead7150.cad7152.cad7746.cad7746.hfrequencyKconfigMakefilead9832.cad9832.had9834.cad9834.hdds.hgyroKconfigMakefileadis16060_core.cimpedance-analyzerKconfigMakefilead5933.clightKconfigMakefileisl29028.ctsl2x7x.htsl2x7x_core.cmeterKconfigMakefileade7753.cade7754.cade7758.hade7758_core.cade7758_ring.cade7758_trigger.cade7759.cade7854-i2c.cade7854-spi.cade7854.cade7854.hmeter.hresolverKconfigMakefilead2s1200.cad2s1210.cad2s1210.had2s90.ctriggerKconfigMakefileiio-trig-bfin-timer.ciio-trig-bfin-timer.hks7010KconfigMakefileTODOeap_packet.hks7010_sdio.cks7010_sdio.hks_hostif.cks_hostif.hks_wlan.hks_wlan_ioctl.hks_wlan_net.cmichael_mic.cmichael_mic.hlustreKconfigMakefileREADME.txtTODOincludelinuxlibcfscurproc.hlibcfs.hlibcfs_cpu.hlibcfs_crypto.hlibcfs_debug.hlibcfs_fail.hlibcfs_hash.hlibcfs_ioctl.hlibcfs_prim.hlibcfs_private.hlibcfs_string.hlibcfs_time.hlibcfs_workitem.hlinuxlibcfs.hlinux-cpu.hlinux-time.hlnetapi.hlib-dlc.hlib-lnet.hlib-types.hlnet.hlnetctl.hlnetst.hnidstr.hsocklnd.htypes.hlnetKconfigMakefileklndsMakefileo2iblndMakefileo2iblnd.co2iblnd.ho2iblnd_cb.co2iblnd_modparams.csocklndMakefilesocklnd.csocklnd.hsocklnd_cb.csocklnd_lib.csocklnd_modparams.csocklnd_proto.clibcfsMakefiledebug.cfail.chash.clibcfs_cpu.clibcfs_lock.clibcfs_mem.clibcfs_string.clinuxlinux-cpu.clinux-crypto-adler.clinux-crypto.clinux-crypto.hlinux-curproc.clinux-debug.clinux-mem.clinux-module.clinux-prim.clinux-tracefile.cmodule.cprng.ctracefile.ctracefile.hworkitem.clnetMakefileacceptor.capi-ni.cconfig.clib-eq.clib-md.clib-me.clib-move.clib-msg.clib-ptl.clib-socket.clo.cmodule.cnet_fault.cnidstrings.cpeer.crouter.crouter_proc.cselftestMakefilebrw_test.cconctl.cconrpc.cconrpc.hconsole.cconsole.hframework.cmodule.cping_test.crpc.crpc.hselftest.htimer.ctimer.hlustreKconfigMakefilefidMakefilefid_internal.hfid_lib.cfid_request.clproc_fid.cfldMakefilefld_cache.cfld_internal.hfld_request.clproc_fld.cincludecl_object.hinterval_tree.hllog_swab.hlprocfs_status.hlu_object.hlu_ref.hlustrell_fiemap.hlustre_errno.hlustre_idl.hlustre_ioctl.hlustre_user.hlustre_acl.hlustre_cfg.hlustre_compat.hlustre_debug.hlustre_disk.hlustre_dlm.hlustre_dlm_flags.hlustre_export.hlustre_fid.hlustre_fld.hlustre_ha.hlustre_handles.hlustre_import.hlustre_intent.hlustre_kernelcomm.hlustre_lib.hlustre_linkea.hlustre_lmv.hlustre_log.hlustre_mdc.hlustre_mds.hlustre_net.hlustre_nrs.hlustre_nrs_fifo.hlustre_obdo.hlustre_param.hlustre_patchless_compat.hlustre_req_layout.hlustre_sec.hlustre_swab.hlustre_ver.hobd.hobd_cksum.hobd_class.hobd_support.hseq_range.huapi_kernelcomm.hldlminterval_tree.cl_lock.cldlm_extent.cldlm_flock.cldlm_inodebits.cldlm_internal.hldlm_lib.cldlm_lock.cldlm_lockd.cldlm_plain.cldlm_pool.cldlm_request.cldlm_resource.clliteMakefiledcache.cdir.cfile.cglimpse.clcommon_cl.clcommon_misc.cllite_internal.hllite_lib.cllite_mmap.cllite_nfs.clproc_llite.cnamei.crange_lock.crange_lock.hrw.crw26.cstatahead.csuper25.csymlink.cvvp_dev.cvvp_internal.hvvp_io.cvvp_lock.cvvp_object.cvvp_page.cxattr.cxattr_cache.cxattr_security.clmvMakefilelmv_fld.clmv_intent.clmv_internal.hlmv_obd.clproc_lmv.clovMakefilelov_cl_internal.hlov_dev.clov_ea.clov_internal.hlov_io.clov_lock.clov_merge.clov_obd.clov_object.clov_offset.clov_pack.clov_page.clov_pool.clov_request.clovsub_dev.clovsub_io.clovsub_lock.clovsub_object.clovsub_page.clproc_lov.cmdcMakefilelproc_mdc.cmdc_internal.hmdc_lib.cmdc_locks.cmdc_reint.cmdc_request.cmgcMakefilelproc_mgc.cmgc_internal.hmgc_request.cobdclassMakefilecl_internal.hcl_io.ccl_lock.ccl_object.ccl_page.cclass_obd.cdebug.cgenops.ckernelcomm.clinkea.clinuxlinux-module.clinux-sysctl.cllog.cllog_cat.cllog_internal.hllog_obd.cllog_swab.clprocfs_counters.clprocfs_status.clu_object.clu_ref.clustre_handles.clustre_peer.cobd_config.cobd_mount.cobdo.cstatfs_pack.cuuid.cobdechoMakefileecho_client.cecho_internal.hoscMakefilelproc_osc.cosc_cache.cosc_cl_internal.hosc_dev.cosc_internal.hosc_io.cosc_lock.cosc_object.cosc_page.cosc_quota.cosc_request.cptlrpcMakefileclient.cconnection.cerrno.cevents.cimport.clayout.cllog_client.cllog_net.clproc_ptlrpc.cniobuf.cnrs.cnrs_fifo.cpack_generic.cpers.cpinger.cptlrpc_internal.hptlrpc_module.cptlrpcd.crecover.csec.csec_bulk.csec_config.csec_gc.csec_lproc.csec_null.csec_plain.cservice.cwiretest.csysfs-fs-lustremediaKconfigMakefileatomispKconfigMakefileTODOi2cKconfigMakefileap1302.cap1302.hgc0310.cgc0310.hgc2235.cgc2235.himxKconfigMakefilead5816g.cad5816g.hcommon.hdrv201.cdrv201.hdw9714.cdw9714.hdw9718.cdw9718.hdw9719.cdw9719.himx.cimx.himx132.himx134.himx135.himx175.himx208.himx219.himx227.hotp.cotp_brcc064_e2prom.cotp_e2prom.cotp_imx.cvcm.clibmsrlisthelper.clm3554.cmt9m114.cmt9m114.hov2680.cov2680.hov2722.cov2722.hov5693KconfigMakefilead5823.hov5693.cov5693.hov8858.cov8858.hov8858_btns.hincludeasmintel_mid_pcihelpers.hlinuxatomisp.hatomisp_gmin_platform.hatomisp_platform.hlibmsrlisthelper.hvlv2_plat_clock.hmedialm3554.hlm3642.hpciKconfigMakefileatomisp2Makefileatomisp-regs.hatomisp_acc.catomisp_acc.hatomisp_cmd.catomisp_cmd.hatomisp_common.hatomisp_compat.hatomisp_compat_css20.catomisp_compat_css20.hatomisp_compat_ioctl32.catomisp_compat_ioctl32.hatomisp_csi2.catomisp_csi2.hatomisp_dfs_tables.hatomisp_drvfs.catomisp_drvfs.hatomisp_file.catomisp_file.hatomisp_fops.catomisp_fops.hatomisp_helper.hatomisp_internal.hatomisp_ioctl.catomisp_ioctl.hatomisp_subdev.catomisp_subdev.hatomisp_tables.hatomisp_tpg.catomisp_tpg.hatomisp_trace_event.hatomisp_v4l2.catomisp_v4l2.hcss2400Makefilebasecircbufinterfaceia_css_circbuf.hia_css_circbuf_comm.hia_css_circbuf_desc.hsrccircbuf.crefcountinterfaceia_css_refcount.hsrcrefcount.ccamerapipeinterfaceia_css_pipe_binarydesc.hia_css_pipe_stagedesc.hia_css_pipe_util.hsrcpipe_binarydesc.cpipe_stagedesc.cpipe_util.cutilinterfaceia_css_util.hsrcutil.ccss_2400_systemhive_isp_css_2400_system_generatedia_css_isp_configs.cia_css_isp_configs.hia_css_isp_params.cia_css_isp_params.hia_css_isp_states.cia_css_isp_states.hhrtbits.hcell_params.hcss_receiver_2400_common_defs.hcss_receiver_2400_defs.hdefs.hdma_v2_defs.hgdc_v2_defs.hgp_regs_defs.hgp_timer_defs.hgpio_block_defs.hhive_isp_css_defs.hhive_isp_css_host_ids_hrt.hhive_isp_css_irq_types_hrt.hhive_isp_css_streaming_to_mipi_types_hrt.hhive_types.hif_defs.hinput_formatter_subsystem_defs.hinput_selector_defs.hinput_switch_2400_defs.hinput_system_ctrl_defs.hinput_system_defs.hirq_controller_defs.hisp2400_mamoiada_params.hisp2400_support.hisp_acquisition_defs.hisp_capture_defs.hmmu_defs.hscalar_processor_2400_params.hsp_hrt.hstr2mem_defs.hstreaming_to_mipi_defs.htimed_controller_defs.hvar.hversion.hspmem_dump.ccss_2401_csi2p_systemcsi_rx_global.hhive_isp_css_2401_system_csi2p_generatedia_css_isp_configs.cia_css_isp_configs.hia_css_isp_params.cia_css_isp_params.hia_css_isp_states.cia_css_isp_states.hhostcsi_rx.ccsi_rx_local.hcsi_rx_private.hibuf_ctrl.cibuf_ctrl_local.hibuf_ctrl_private.hinput_system_local.hinput_system_private.hisys_dma.cisys_dma_local.hisys_dma_private.hisys_irq.cisys_irq_local.hisys_irq_private.hisys_stream2mmio.cisys_stream2mmio_local.hisys_stream2mmio_private.hpixelgen_local.hpixelgen_private.hsystem_local.hhrtPixelGen_SysBlock_defs.hbits.hcell_params.hcss_receiver_2400_common_defs.hcss_receiver_2400_defs.hdefs.hdma_v2_defs.hgdc_v2_defs.hgp_regs_defs.hgp_timer_defs.hgpio_block_defs.hhive_isp_css_2401_irq_types_hrt.hhive_isp_css_defs.hhive_isp_css_host_ids_hrt.hhive_isp_css_streaming_to_mipi_types_hrt.hhive_types.hibuf_cntrl_defs.hif_defs.hinput_formatter_subsystem_defs.hinput_selector_defs.hinput_switch_2400_defs.hinput_system_ctrl_defs.hinput_system_defs.hirq_controller_defs.hisp2400_support.hisp2401_mamoiada_params.hisp_acquisition_defs.hisp_capture_defs.hmipi_backend_common_defs.hmipi_backend_defs.hmmu_defs.hrx_csi_defs.hscalar_processor_2400_params.hsp_hrt.hstr2mem_defs.hstream2mmio_defs.hstreaming_to_mipi_defs.htimed_controller_defs.hvar.hversion.hibuf_ctrl_global.hinput_system_global.hisys_dma_global.hisys_irq_global.hisys_stream2mmio_global.hpixelgen_global.hspmem_dump.csystem_global.hcss_2401_systemhive_isp_css_2401_system_generatedia_css_isp_configs.cia_css_isp_configs.hia_css_isp_params.cia_css_isp_params.hia_css_isp_states.cia_css_isp_states.hhrtbits.hcell_params.hcss_receiver_2400_common_defs.hcss_receiver_2400_defs.hdefs.hdma_v2_defs.hgdc_v2_defs.hgp_regs_defs.hgp_timer_defs.hgpio_block_defs.hhive_isp_css_2401_irq_types_hrt.hhive_isp_css_defs.hhive_isp_css_host_ids_hrt.hhive_isp_css_streaming_to_mipi_types_hrt.hhive_types.hif_defs.hinput_formatter_subsystem_defs.hinput_selector_defs.hinput_switch_2400_defs.hinput_system_ctrl_defs.hinput_system_defs.hirq_controller_defs.hisp2400_support.hisp2401_mamoiada_params.hisp_acquisition_defs.hisp_capture_defs.hmmu_defs.hscalar_processor_2400_params.hsp_hrt.hstr2mem_defs.hstreaming_to_mipi_defs.htimed_controller_defs.hvar.hversion.hspmem_dump.ccss_api_version.hcss_trace.hhive_isp_css_commondebug_global.hdma_global.hevent_fifo_global.hfifo_monitor_global.hgdc_global.hgp_device_global.hgp_timer_global.hgpio_global.hhmem_global.hhostdebug.cdebug_local.hdebug_private.hdma.cdma_local.hdma_private.hevent_fifo.cevent_fifo_local.hevent_fifo_private.hfifo_monitor.cfifo_monitor_local.hfifo_monitor_private.hgdc.cgdc_local.hgdc_private.hgp_device.cgp_device_local.hgp_device_private.hgp_timer.cgp_timer_local.hgp_timer_private.hgpio_local.hgpio_private.hhive_isp_css_ddr_hrt_modified.hhive_isp_css_hrt_modified.hhmem.chmem_local.hhmem_private.hinput_formatter.cinput_formatter_local.hinput_formatter_private.hinput_system.cinput_system_local.hinput_system_private.hirq.cirq_local.hirq_private.hisp.cisp_local.hisp_private.hmmu.cmmu_local.hmmu_private.hsp.csp_local.hsp_private.hsystem_local.htimed_ctrl.ctimed_ctrl_local.htimed_ctrl_private.hvamem_local.hvamem_private.hvmem.cvmem_local.hvmem_private.hinput_formatter_global.hinput_system_global.hirq_global.hisp_global.hmmu_global.hresource_global.hsp_global.hsystem_global.htimed_ctrl_global.hvamem_global.hvmem_global.hxmem_global.hhive_isp_css_includeassert_support.hbamem.hbbb_config.hbitop_support.hcpu_mem_support.hcsi_rx.hdebug.hdevice_accessdevice_access.hdma.herror_support.hevent_fifo.hfifo_monitor.hgdc_device.hgp_device.hgp_timer.hgpio.hhmem.hhostcsi_rx_public.hdebug_public.hdma_public.hevent_fifo_public.hfifo_monitor_public.hgdc_public.hgp_device_public.hgp_timer_public.hgpio_public.hhmem_public.hibuf_ctrl_public.hinput_formatter_public.hinput_system_public.hirq_public.hisp2400_config.hisp2500_config.hisp2600_config.hisp2601_config.hisp_config.hisp_op1w.hisp_op1w_types.hisp_op2w.hisp_op2w_types.hisp_op_count.hisp_public.hisys_dma_public.hisys_irq_public.hisys_public.hisys_stream2mmio_public.hmmu_public.hosys_public.hpipeline_public.hpixelgen_public.href_vector_func.href_vector_func_types.hsp_public.htag_public.htimed_ctrl_public.hvamem_public.hvmem_public.hibuf_ctrl.hinput_formatter.hinput_system.hirq.hisp.hisys_dma.hisys_irq.hisys_stream2mmio.hmath_support.hmemory_accessmemory_access.hmemory_realloc.hmisc_support.hmmu_device.hmpmath.hosys.hpixelgen.hplatform_support.hprint_support.hqueue.hresource.hsocket.hsp.hstorage_class.hstream_buffer.hstring_support.hsystem_types.htag.htimed_ctrl.htype_support.hvamem.hvector_func.hvector_ops.hvmem.hxmem.hhive_isp_css_sharedhostqueue_local.hqueue_private.htag.ctag_local.htag_private.hqueue_global.hsocket_global.hstream_buffer_global.hsw_event_global.htag_global.hia_css.hia_css_3a.hia_css_acc_types.hia_css_buffer.hia_css_control.hia_css_device_access.cia_css_device_access.hia_css_dvs.hia_css_env.hia_css_err.hia_css_event_public.hia_css_firmware.hia_css_frac.hia_css_frame_format.hia_css_frame_public.hia_css_host_data.hia_css_input_port.hia_css_irq.hia_css_memory_access.cia_css_metadata.hia_css_mipi.hia_css_mmu.hia_css_mmu_private.hia_css_morph.hia_css_pipe.hia_css_pipe_public.hia_css_prbs.hia_css_properties.hia_css_shading.hia_css_stream.hia_css_stream_format.hia_css_stream_public.hia_css_timer.hia_css_tpg.hia_css_types.hia_css_version.hia_css_version_data.hispkernelsaaaa_2ia_css_aa2.host.cia_css_aa2.host.hia_css_aa2_param.hia_css_aa2_state.hia_css_aa2_types.hanranr_1.0ia_css_anr.host.cia_css_anr.host.hia_css_anr_param.hia_css_anr_types.hanr_2ia_css_anr2.host.cia_css_anr2.host.hia_css_anr2_table.host.cia_css_anr2_table.host.hia_css_anr2_types.hia_css_anr_param.hbayer_lsbayer_ls_1.0ia_css_bayer_load_param.hia_css_bayer_ls_param.hia_css_bayer_store_param.hbhbh_2ia_css_bh.host.cia_css_bh.host.hia_css_bh_param.hia_css_bh_types.hbnlmia_css_bnlm.host.cia_css_bnlm.host.hia_css_bnlm_default.host.cia_css_bnlm_default.host.hia_css_bnlm_param.hia_css_bnlm_state.hia_css_bnlm_types.hbnrbnr2_2ia_css_bnr2_2.host.cia_css_bnr2_2.host.hia_css_bnr2_2_param.hia_css_bnr2_2_types.hbnr_1.0ia_css_bnr.host.cia_css_bnr.host.hia_css_bnr_param.hcnrcnr_1.0ia_css_cnr.host.cia_css_cnr.host.hia_css_cnr_param.hia_css_cnr_state.hcnr_2ia_css_cnr2.host.cia_css_cnr2.host.hia_css_cnr2_param.hia_css_cnr2_types.hia_css_cnr_param.hia_css_cnr_state.hconversionconversion_1.0ia_css_conversion.host.cia_css_conversion.host.hia_css_conversion_param.hia_css_conversion_types.hcopy_outputcopy_output_1.0ia_css_copy_output.host.cia_css_copy_output.host.hia_css_copy_output_param.hcropcrop_1.0ia_css_crop.host.cia_css_crop.host.hia_css_crop_param.hia_css_crop_types.hcsccsc_1.0ia_css_csc.host.cia_css_csc.host.hia_css_csc_param.hia_css_csc_types.hctcctc1_5ia_css_ctc1_5.host.cia_css_ctc1_5.host.hia_css_ctc1_5_param.hia_css_ctc_param.hctc2ia_css_ctc2.host.cia_css_ctc2.host.hia_css_ctc2_param.hia_css_ctc2_types.hctc_1.0ia_css_ctc.host.cia_css_ctc.host.hia_css_ctc_param.hia_css_ctc_table.host.cia_css_ctc_table.host.hia_css_ctc_types.hdede_1.0ia_css_de.host.cia_css_de.host.hia_css_de_param.hia_css_de_state.hia_css_de_types.hde_2ia_css_de2.host.cia_css_de2.host.hia_css_de2_param.hia_css_de2_types.hia_css_de_param.hia_css_de_state.hdpdp_1.0ia_css_dp.host.cia_css_dp.host.hia_css_dp_param.hia_css_dp_state.hia_css_dp_types.hdpc2ia_css_dpc2.host.cia_css_dpc2.host.hia_css_dpc2_default.host.cia_css_dpc2_default.host.hia_css_dpc2_param.hia_css_dpc2_state.hia_css_dpc2_types.hdvsdvs_1.0ia_css_dvs.host.cia_css_dvs.host.hia_css_dvs_param.hia_css_dvs_types.heed1_8ia_css_eed1_8.host.cia_css_eed1_8.host.hia_css_eed1_8_default.host.cia_css_eed1_8_default.host.hia_css_eed1_8_param.hia_css_eed1_8_state.hia_css_eed1_8_types.hfcfc_1.0ia_css_formats.host.cia_css_formats.host.hia_css_formats_param.hia_css_formats_types.hfixedbdsfixedbds_1.0ia_css_fixedbds_param.hia_css_fixedbds_types.hfpnfpn_1.0ia_css_fpn.host.cia_css_fpn.host.hia_css_fpn_param.hia_css_fpn_types.hgcgc_1.0ia_css_gc.host.cia_css_gc.host.hia_css_gc_param.hia_css_gc_table.host.cia_css_gc_table.host.hia_css_gc_types.hgc_2ia_css_gc2.host.cia_css_gc2.host.hia_css_gc2_param.hia_css_gc2_table.host.cia_css_gc2_table.host.hia_css_gc2_types.hhdria_css_hdr.host.cia_css_hdr.host.hia_css_hdr_param.hia_css_hdr_types.hio_lsbayer_io_lsia_css_bayer_io.host.cia_css_bayer_io.host.hia_css_bayer_io_param.hia_css_bayer_io_types.hcommonia_css_common_io_param.hia_css_common_io_types.hplane_io_lsia_css_plane_io_param.hia_css_plane_io_types.hyuv420_io_lsia_css_yuv420_io_param.hia_css_yuv420_io_types.hyuv444_io_lsia_css_yuv444_io_param.hia_css_yuv444_io_types.hipu2_io_lsbayer_io_lsia_css_bayer_io.host.cia_css_bayer_io.host.hia_css_bayer_io_param.hia_css_bayer_io_types.hcommonia_css_common_io_param.hia_css_common_io_types.hplane_io_lsia_css_plane_io_param.hia_css_plane_io_types.hyuv420_io_lsia_css_yuv420_io_param.hia_css_yuv420_io_types.hyuv444_io_lsia_css_yuv444_io.host.cia_css_yuv444_io.host.hia_css_yuv444_io_param.hia_css_yuv444_io_types.hiteratoriterator_1.0ia_css_iterator.host.cia_css_iterator.host.hia_css_iterator_param.hmaccmacc1_5ia_css_macc1_5.host.cia_css_macc1_5.host.hia_css_macc1_5_param.hia_css_macc1_5_table.host.cia_css_macc1_5_table.host.hia_css_macc1_5_types.hmacc_1.0ia_css_macc.host.cia_css_macc.host.hia_css_macc_param.hia_css_macc_table.host.cia_css_macc_table.host.hia_css_macc_types.hnormnorm_1.0ia_css_norm.host.cia_css_norm.host.hia_css_norm_param.hia_css_norm_types.hobob2ia_css_ob2.host.cia_css_ob2.host.hia_css_ob2_param.hia_css_ob2_types.hob_1.0ia_css_ob.host.cia_css_ob.host.hia_css_ob_param.hia_css_ob_types.houtputoutput_1.0ia_css_output.host.cia_css_output.host.hia_css_output_param.hia_css_output_types.hqplaneqplane_2ia_css_qplane.host.cia_css_qplane.host.hia_css_qplane_param.hia_css_qplane_types.hrawraw_1.0ia_css_raw.host.cia_css_raw.host.hia_css_raw_param.hia_css_raw_types.hraw_aa_binningraw_aa_binning_1.0ia_css_raa.host.cia_css_raa.host.hrefref_1.0ia_css_ref.host.cia_css_ref.host.hia_css_ref_param.hia_css_ref_state.hia_css_ref_types.hs3as3a_1.0ia_css_s3a.host.cia_css_s3a.host.hia_css_s3a_param.hia_css_s3a_types.hs3a_stat_lsia_css_s3a_stat_ls_param.hia_css_s3a_stat_store_param.hscsc_1.0ia_css_sc.host.cia_css_sc.host.hia_css_sc_param.hia_css_sc_types.hscalescale_1.0ia_css_scale_param.hsdiscommonia_css_sdis_common.host.hia_css_sdis_common_types.hia_css_sdis_param.hsdis_1.0ia_css_sdis.host.cia_css_sdis.host.hia_css_sdis_param.hia_css_sdis_types.hsdis_2ia_css_sdis2.host.cia_css_sdis2.host.hia_css_sdis2_types.hia_css_sdis_param.htdftdf_1.0ia_css_tdf.host.cia_css_tdf.host.hia_css_tdf_default.host.cia_css_tdf_default.host.hia_css_tdf_param.hia_css_tdf_types.htnrtnr3ia_css_tnr3_types.htnr_1.0ia_css_tnr.host.cia_css_tnr.host.hia_css_tnr_param.hia_css_tnr_state.hia_css_tnr_types.hudsuds_1.0ia_css_uds_param.hvfvf_1.0ia_css_vf.host.cia_css_vf.host.hia_css_vf_param.hia_css_vf_types.hwbwb_1.0ia_css_wb.host.cia_css_wb.host.hia_css_wb_param.hia_css_wb_types.hxnrxnr_1.0ia_css_xnr.host.cia_css_xnr.host.hia_css_xnr_param.hia_css_xnr_table.host.cia_css_xnr_table.host.hia_css_xnr_types.hxnr_3.0ia_css_xnr3.host.cia_css_xnr3.host.hia_css_xnr3_param.hia_css_xnr3_types.hia_css_xnr3_wrapper_param.hynrynr_1.0ia_css_ynr.host.cia_css_ynr.host.hia_css_ynr_param.hia_css_ynr_state.hia_css_ynr_types.hynr_2ia_css_ynr2.host.cia_css_ynr2.host.hia_css_ynr2_param.hia_css_ynr2_types.hia_css_ynr_param.hia_css_ynr_state.hyuv_lsyuv_ls_1.0ia_css_yuv_load_param.hia_css_yuv_ls_param.hia_css_yuv_store_param.hmodesinterfaceinput_buf.isp.hisp_const.hisp_exprs.hisp_types.hmemory_realloc.cruntimebinaryinterfaceia_css_binary.hsrcbinary.cbufqinterfaceia_css_bufq.hia_css_bufq_comm.hsrcbufq.cdebuginterfaceia_css_debug.hia_css_debug_internal.hia_css_debug_pipe.hsrcia_css_debug.ceventinterfaceia_css_event.hsrcevent.ceventqinterfaceia_css_eventq.hsrceventq.cframeinterfaceia_css_frame.hia_css_frame_comm.hsrcframe.cifmtrinterfaceia_css_ifmtr.hsrcifmtr.cinputfifointerfaceia_css_inputfifo.hsrcinputfifo.cisp_paraminterfaceia_css_isp_param.hia_css_isp_param_types.hsrcisp_param.cisysinterfaceia_css_isys.hia_css_isys_comm.hsrccsi_rx_rmgr.ccsi_rx_rmgr.hibuf_ctrl_rmgr.cibuf_ctrl_rmgr.hisys_dma_rmgr.cisys_dma_rmgr.hisys_init.cisys_stream2mmio_rmgr.cisys_stream2mmio_rmgr.hrx.cvirtual_isys.cvirtual_isys.hpipelineinterfaceia_css_pipeline.hia_css_pipeline_common.hsrcpipeline.cqueueinterfaceia_css_queue.hia_css_queue_comm.hsrcqueue.cqueue_access.cqueue_access.hrmgrinterfaceia_css_rmgr.hia_css_rmgr_vbuf.hsrcrmgr.crmgr_vbuf.cspctrlinterfaceia_css_spctrl.hia_css_spctrl_comm.hsrcspctrl.ctaggerinterfaceia_css_tagger_common.htimersrctimer.csh_css.csh_css_defs.hsh_css_dvs_info.hsh_css_firmware.csh_css_firmware.hsh_css_frac.hsh_css_host_data.csh_css_hrt.csh_css_hrt.hsh_css_internal.hsh_css_irq.csh_css_legacy.hsh_css_metadata.csh_css_metrics.csh_css_metrics.hsh_css_mipi.csh_css_mipi.hsh_css_mmu.csh_css_morph.csh_css_param_dvs.csh_css_param_dvs.hsh_css_param_shading.csh_css_param_shading.hsh_css_params.csh_css_params.hsh_css_params_internal.hsh_css_pipe.csh_css_properties.csh_css_shading.csh_css_sp.csh_css_sp.hsh_css_stream.csh_css_stream_format.csh_css_stream_format.hsh_css_struct.hsh_css_uds.hsh_css_version.chmmhmm.chmm_bo.chmm_dynamic_pool.chmm_reserved_pool.chmm_vm.chrthive_isp_css_custom_host_hrt.hhive_isp_css_mm_hrt.chive_isp_css_mm_hrt.hincludehmmhmm.hhmm_bo.hhmm_bo_dev.hhmm_common.hhmm_pool.hhmm_vm.hmmuisp_mmu.hsh_mmu.hsh_mmu_mrfld.hmmuisp_mmu.csh_mmu_mrfld.cplatformMakefileclockMakefileplatform_vlv2_plat_clk.cplatform_vlv2_plat_clk.hvlv2_plat_clock.cintel-midMakefileatomisp_gmin_platform.cintel_mid_pcihelpers.cbcm2048KconfigMakefileTODOradio-bcm2048.cradio-bcm2048.hcxd2099KconfigMakefileTODOcxd2099.ccxd2099.hdavinci_vpfeKconfigMakefileTODOdavinci-vpfe-mc.txtdavinci_vpfe_user.hdm365_ipipe.cdm365_ipipe.hdm365_ipipe_hw.cdm365_ipipe_hw.hdm365_ipipeif.cdm365_ipipeif.hdm365_ipipeif_user.hdm365_isif.cdm365_isif.hdm365_isif_regs.hdm365_resizer.cdm365_resizer.hvpfe.hvpfe_mc_capture.cvpfe_mc_capture.hvpfe_video.cvpfe_video.hlircKconfigMakefileTODOTODO.lirc_ziloglirc_zilog.comap4issKconfigMakefileTODOiss.ciss.hiss_csi2.ciss_csi2.hiss_csiphy.ciss_csiphy.hiss_ipipe.ciss_ipipe.hiss_ipipeif.ciss_ipipeif.hiss_regs.hiss_resizer.ciss_resizer.hiss_video.ciss_video.hmostDocumentationABIsysfs-class-most.txtdriver_usage.txtKconfigMakefileTODOaim-cdevKconfigMakefilecdev.caim-networkKconfigMakefilenetworking.cnetworking.haim-soundKconfigMakefilesound.caim-v4l2KconfigMakefilevideo.chdm-dim2KconfigMakefiledim2_errors.hdim2_hal.cdim2_hal.hdim2_hdm.cdim2_hdm.hdim2_reg.hdim2_sysfs.cdim2_sysfs.hhdm-i2cKconfigMakefilehdm_i2c.chdm-usbKconfigMakefilehdm_usb.cmostcoreKconfigMakefilecore.cmostcore.hmt29f_spinandKconfigMakefileTODOmt29f_spinand.cmt29f_spinand.hnetlogicKconfigMakefileTODOplatform_net.cplatform_net.hxlr_net.cxlr_net.hnvecKconfigMakefileREADMETODOnvec-keytable.hnvec.cnvec.hnvec_kbd.cnvec_paz00.cnvec_power.cnvec_ps2.cocteonocteon-usbKconfigMakefileTODOocteon-hcd.cocteon-hcd.hKconfigMakefileethernet-defines.hethernet-mdio.cethernet-mdio.hethernet-mem.cethernet-mem.hethernet-rgmii.cethernet-rx.cethernet-rx.hethernet-sgmii.cethernet-spi.cethernet-tx.cethernet-tx.hethernet-util.hethernet.cocteon-ethernet.holpc_dconKconfigMakefileTODOolpc_dcon.colpc_dcon.holpc_dcon_xo_1.colpc_dcon_xo_1_5.crtl8188euKconfigMakefileTODOcorertw_ap.crtw_cmd.crtw_debug.crtw_efuse.crtw_ieee80211.crtw_ioctl_set.crtw_iol.crtw_led.crtw_mlme.crtw_mlme_ext.crtw_pwrctrl.crtw_recv.crtw_rf.crtw_security.crtw_sreset.crtw_sta_mgt.crtw_wlan_util.crtw_xmit.chalHal8188ERateAdaptive.cbb_cfg.cfw.chal_com.chal_intf.cmac_cfg.codm.codm_HWConfig.codm_RTL8188E.cphy.cpwrseq.cpwrseqcmd.crf.crf_cfg.crtl8188e_cmd.crtl8188e_dm.crtl8188e_hal_init.crtl8188e_rxdesc.crtl8188e_xmit.crtl8188eu_led.crtl8188eu_recv.crtl8188eu_xmit.cusb_halinit.cincludeHal8188EPhyCfg.hHal8188EPhyReg.hHal8188ERateAdaptive.hHalVerDef.hbasic_types.hdrv_types.hfw.hhal_com.hhal_intf.hieee80211.hmlme_osdep.hmon.hmp_custom_oid.hodm.hodm_HWConfig.hodm_RTL8188E.hodm_RegDefine11N.hodm_debug.hodm_precomp.hodm_reg.hodm_types.hosdep_intf.hosdep_service.hphy.hpwrseq.hpwrseqcmd.hrecv_osdep.hrf.hrtl8188e_cmd.hrtl8188e_dm.hrtl8188e_hal.hrtl8188e_led.hrtl8188e_recv.hrtl8188e_spec.hrtl8188e_xmit.hrtw_android.hrtw_ap.hrtw_cmd.hrtw_debug.hrtw_eeprom.hrtw_efuse.hrtw_event.hrtw_ht.hrtw_ioctl.hrtw_ioctl_rtl.hrtw_ioctl_set.hrtw_iol.hrtw_led.hrtw_mlme.hrtw_mlme_ext.hrtw_mp_phy_regdef.hrtw_pwrctrl.hrtw_qos.hrtw_recv.hrtw_rf.hrtw_security.hrtw_sreset.hrtw_xmit.hsta_info.husb_ops_linux.hwifi.hwlan_bssdef.hxmit_osdep.hos_depioctl_linux.cmlme_linux.cmon.cos_intfs.cosdep_service.crecv_linux.crtw_android.cusb_intf.cusb_ops_linux.cxmit_linux.crtl8192eKconfigMakefileTODOdot11d.cdot11d.hlicensertl8192eKconfigMakefiler8190P_def.hr8190P_rtl8256.cr8190P_rtl8256.hr8192E_cmdpkt.cr8192E_cmdpkt.hr8192E_dev.cr8192E_dev.hr8192E_firmware.cr8192E_firmware.hr8192E_hw.hr8192E_hwimg.cr8192E_hwimg.hr8192E_phy.cr8192E_phy.hr8192E_phyreg.hrtl_cam.crtl_cam.hrtl_core.crtl_core.hrtl_dm.crtl_dm.hrtl_eeprom.crtl_eeprom.hrtl_ethtool.crtl_pci.crtl_pci.hrtl_pm.crtl_pm.hrtl_ps.crtl_ps.hrtl_wx.crtl_wx.hrtl819x_BA.hrtl819x_BAProc.crtl819x_HT.hrtl819x_HTProc.crtl819x_Qos.hrtl819x_TS.hrtl819x_TSProc.crtllib.hrtllib_crypt_ccmp.crtllib_crypt_tkip.crtllib_crypt_wep.crtllib_debug.hrtllib_module.crtllib_rx.crtllib_softmac.crtllib_softmac_wx.crtllib_tx.crtllib_wx.crtl8192uKconfigMakefileauthorschangescopyingieee80211Makefiledot11d.cdot11d.hieee80211.hieee80211_crypt.cieee80211_crypt.hieee80211_crypt_ccmp.cieee80211_crypt_tkip.cieee80211_crypt_wep.cieee80211_module.cieee80211_rx.cieee80211_softmac.cieee80211_softmac_wx.cieee80211_tx.cieee80211_wx.crtl819x_BA.hrtl819x_BAProc.crtl819x_HT.hrtl819x_HTProc.crtl819x_Qos.hrtl819x_TS.hrtl819x_TSProc.cr8180_93cx6.cr8180_93cx6.hr8190_rtl8256.cr8190_rtl8256.hr8192U.hr8192U_core.cr8192U_dm.cr8192U_dm.hr8192U_hw.hr8192U_wx.cr8192U_wx.hr819xU_cmdpkt.cr819xU_cmdpkt.hr819xU_firmware.cr819xU_firmware.hr819xU_firmware_img.cr819xU_firmware_img.hr819xU_phy.cr819xU_phy.hr819xU_phyreg.hrtl8712KconfigMakefileTODObasic_types.hdrv_types.hethernet.hhal_init.cieee80211.cieee80211.hmlme_linux.cmlme_osdep.hmp_custom_oid.hos_intfs.cosdep_intf.hosdep_service.hrecv_linux.crecv_osdep.hrtl8712_bitdef.hrtl8712_cmd.crtl8712_cmd.hrtl8712_cmdctrl_bitdef.hrtl8712_cmdctrl_regdef.hrtl8712_debugctrl_bitdef.hrtl8712_debugctrl_regdef.hrtl8712_edcasetting_bitdef.hrtl8712_edcasetting_regdef.hrtl8712_efuse.crtl8712_efuse.hrtl8712_event.hrtl8712_fifoctrl_bitdef.hrtl8712_fifoctrl_regdef.hrtl8712_gp_bitdef.hrtl8712_gp_regdef.hrtl8712_hal.hrtl8712_interrupt_bitdef.hrtl8712_io.crtl8712_led.crtl8712_macsetting_bitdef.hrtl8712_macsetting_regdef.hrtl8712_powersave_bitdef.hrtl8712_powersave_regdef.hrtl8712_ratectrl_bitdef.hrtl8712_ratectrl_regdef.hrtl8712_recv.crtl8712_recv.hrtl8712_regdef.hrtl8712_security_bitdef.hrtl8712_spec.hrtl8712_syscfg_bitdef.hrtl8712_syscfg_regdef.hrtl8712_timectrl_bitdef.hrtl8712_timectrl_regdef.hrtl8712_wmac_bitdef.hrtl8712_wmac_regdef.hrtl8712_xmit.crtl8712_xmit.hrtl871x_cmd.crtl871x_cmd.hrtl871x_debug.hrtl871x_eeprom.crtl871x_eeprom.hrtl871x_event.hrtl871x_ht.hrtl871x_io.crtl871x_io.hrtl871x_ioctl.hrtl871x_ioctl_linux.crtl871x_ioctl_rtl.crtl871x_ioctl_rtl.hrtl871x_ioctl_set.crtl871x_ioctl_set.hrtl871x_led.hrtl871x_mlme.crtl871x_mlme.hrtl871x_mp.crtl871x_mp.hrtl871x_mp_ioctl.crtl871x_mp_ioctl.hrtl871x_mp_phy_regdef.hrtl871x_pwrctrl.crtl871x_pwrctrl.hrtl871x_recv.crtl871x_recv.hrtl871x_rf.hrtl871x_security.crtl871x_security.hrtl871x_sta_mgt.crtl871x_wlan_sme.hrtl871x_xmit.crtl871x_xmit.hsta_info.husb_halinit.cusb_intf.cusb_ops.cusb_ops.husb_ops_linux.cusb_osintf.hwifi.hwlan_bssdef.hxmit_linux.cxmit_osdep.hrtl8723bsKconfigMakefileTODOcorertw_ap.crtw_btcoex.crtw_cmd.crtw_debug.crtw_eeprom.crtw_efuse.crtw_ieee80211.crtw_io.crtw_ioctl_set.crtw_mlme.crtw_mlme_ext.crtw_odm.crtw_pwrctrl.crtw_recv.crtw_rf.crtw_security.crtw_sta_mgt.crtw_wlan_util.crtw_xmit.chalHal8723BPwrSeq.cHal8723BReg.hHalBtc8723b1Ant.cHalBtc8723b1Ant.hHalBtc8723b2Ant.cHalBtc8723b2Ant.hHalBtcOutSrc.hHalHWImg8723B_BB.cHalHWImg8723B_BB.hHalHWImg8723B_MAC.cHalHWImg8723B_MAC.hHalHWImg8723B_RF.cHalHWImg8723B_RF.hHalPhyRf.cHalPhyRf.hHalPhyRf_8723B.cHalPhyRf_8723B.hHalPwrSeqCmd.cMp_Precomp.hhal_btcoex.chal_com.chal_com_phycfg.chal_intf.chal_phy.chal_sdio.codm.codm.hodm_AntDiv.codm_AntDiv.hodm_CfoTracking.codm_CfoTracking.hodm_DIG.codm_DIG.hodm_DynamicBBPowerSaving.codm_DynamicBBPowerSaving.hodm_DynamicTxPower.codm_DynamicTxPower.hodm_EdcaTurboCheck.codm_EdcaTurboCheck.hodm_HWConfig.codm_HWConfig.hodm_NoiseMonitor.codm_NoiseMonitor.hodm_PathDiv.codm_PathDiv.hodm_RTL8723B.codm_RTL8723B.hodm_RegConfig8723B.codm_RegConfig8723B.hodm_RegDefine11N.hodm_debug.codm_debug.hodm_interface.hodm_precomp.hodm_reg.hodm_types.hrtl8723b_cmd.crtl8723b_dm.crtl8723b_hal_init.crtl8723b_phycfg.crtl8723b_rf6052.crtl8723b_rxdesc.crtl8723bs_recv.crtl8723bs_xmit.csdio_halinit.csdio_ops.cincludeHal8192CPhyReg.hHal8723BPhyCfg.hHal8723BPhyReg.hHal8723BPwrSeq.hHalPwrSeqCmd.hHalVerDef.hautoconf.hbasic_types.hcmd_osdep.hdrv_conf.hdrv_types.hdrv_types_sdio.hethernet.hhal_btcoex.hhal_com.hhal_com_h2c.hhal_com_phycfg.hhal_com_reg.hhal_data.hhal_intf.hhal_pg.hhal_phy.hhal_phy_reg.hhal_sdio.hieee80211.hioctl_cfg80211.hmlme_osdep.hosdep_intf.hosdep_service.hosdep_service_linux.hrecv_osdep.hrtl8192c_recv.hrtl8192c_rf.hrtl8723b_cmd.hrtl8723b_dm.hrtl8723b_hal.hrtl8723b_recv.hrtl8723b_rf.hrtl8723b_spec.hrtl8723b_xmit.hrtw_ap.hrtw_beamforming.hrtw_br_ext.hrtw_btcoex.hrtw_byteorder.hrtw_cmd.hrtw_debug.hrtw_eeprom.hrtw_efuse.hrtw_event.hrtw_ht.hrtw_io.hrtw_ioctl.hrtw_ioctl_set.hrtw_mlme.hrtw_mlme_ext.hrtw_mp.hrtw_odm.hrtw_pwrctrl.hrtw_qos.hrtw_recv.hrtw_rf.hrtw_security.hrtw_version.hrtw_wifi_regd.hrtw_xmit.hsdio_hal.hsdio_ops.hsdio_ops_linux.hsdio_osintf.hsta_info.hwifi.hwlan_bssdef.hxmit_osdep.hos_depioctl_cfg80211.cioctl_linux.cmlme_linux.cos_intfs.cosdep_service.crecv_linux.crtw_proc.crtw_proc.hsdio_intf.csdio_ops_linux.cwifi_regd.cxmit_linux.crts5208KconfigMakefileTODOgeneral.cgeneral.hms.cms.hrtsx.crtsx.hrtsx_card.crtsx_card.hrtsx_chip.crtsx_chip.hrtsx_scsi.crtsx_scsi.hrtsx_sys.hrtsx_transport.crtsx_transport.hsd.csd.hspi.cspi.htrace.ctrace.hxd.cxd.hskeinKconfigMakefileTODOskein_api.cskein_api.hskein_base.cskein_base.hskein_block.cskein_block.hskein_generic.cskein_iv.hthreefish_api.cthreefish_api.hthreefish_block.csm750fbKconfigMakefileTODOddk750.hddk750_chip.cddk750_chip.hddk750_display.cddk750_display.hddk750_dvi.cddk750_dvi.hddk750_hwi2c.cddk750_hwi2c.hddk750_mode.cddk750_mode.hddk750_power.cddk750_power.hddk750_reg.hddk750_sii164.cddk750_sii164.hddk750_swi2c.cddk750_swi2c.hreadmesm750.csm750.hsm750_accel.csm750_accel.hsm750_cursor.csm750_cursor.hsm750_hw.cspeakupDefaultKeyAssignmentsKconfigMakefileTODObuffers.cdevsynth.cfakekey.ci18n.ci18n.hkeyhelp.ckobjects.cmain.cselection.cserialio.cserialio.hspeakup.hspeakup_acnt.hspeakup_acntpc.cspeakup_acntsa.cspeakup_apollo.cspeakup_audptr.cspeakup_bns.cspeakup_decext.cspeakup_decpc.cspeakup_dectlk.cspeakup_dtlk.cspeakup_dtlk.hspeakup_dummy.cspeakup_keypc.cspeakup_ltlk.cspeakup_soft.cspeakup_spkout.cspeakup_txprt.cspeakupmap.hspeakupmap.mapspk_priv.hspk_priv_keyinfo.hspk_types.hspkguide.txtsynth.cthread.cvarhandlers.ctypecKconfigMakefileTODOfusb302KconfigMakefileTODOfusb302.cfusb302_reg.hpd.hpd_bdo.hpd_vdo.htcpci.ctcpci.htcpm.ctcpm.hunisysDocumentationABIsysfs-platform-visorchipsetoverview.txtKconfigMAINTAINERSMakefileTODOincludechannel.hiochannel.hvisorbus.hvisorbusKconfigMakefilecontrolvmchannel.hvbuschannel.hvisorbus_main.cvisorbus_private.hvisorchannel.cvisorchipset.cvmcallinterface.hvisorhbaKconfigMakefilevisorhba_main.cvisorinputKconfigMakefileultrainputreport.hvisorinput.cvisornicKconfigMakefilevisornic_main.cvc04_servicesKconfigMakefilebcm2835-audioKconfigMakefileTODObcm2835-ctl.cbcm2835-pcm.cbcm2835-vchiq.cbcm2835.cbcm2835.hvc_vchi_audioserv_defs.hbcm2835-cameraKconfigMakefileTODObcm2835-camera.cbcm2835-camera.hcontrols.cmmal-common.hmmal-encodings.hmmal-msg-common.hmmal-msg-format.hmmal-msg-port.hmmal-msg.hmmal-parameters.hmmal-vchiq.cmmal-vchiq.hinterfacevchiTODOconnectionsconnection.hmessage_driversmessage.hvchi.hvchi_cfg.hvchi_cfg_internal.hvchi_common.hvchi_mh.hvchiq_armvchiq.hvchiq_2835_arm.cvchiq_arm.cvchiq_arm.hvchiq_build_info.hvchiq_cfg.hvchiq_connected.cvchiq_connected.hvchiq_core.cvchiq_core.hvchiq_debugfs.cvchiq_debugfs.hvchiq_genversionvchiq_if.hvchiq_ioctl.hvchiq_kern_lib.cvchiq_killable.hvchiq_memdrv.hvchiq_pagelist.hvchiq_shim.cvchiq_util.cvchiq_util.hvchiq_version.cvmeMakefiledevicesKconfigMakefilevme_pio2.hvme_pio2_cntr.cvme_pio2_core.cvme_pio2_gpio.cvme_user.cvme_user.hvt6655KconfigMakefileTODObaseband.cbaseband.hcard.ccard.hchannel.cchannel.hdesc.hdevice.hdevice_cfg.hdevice_main.cdpc.cdpc.hkey.ckey.hmac.cmac.hpower.cpower.hrf.crf.hrxtx.crxtx.hsrom.csrom.htesttmacro.hupc.hvt6656KconfigMakefileTODObaseband.cbaseband.hcard.ccard.hchannel.cchannel.hdesc.hdevice.hdpc.cdpc.hfirmware.cfirmware.hint.cint.hkey.ckey.hmac.cmac.hmain_usb.cpower.cpower.hrf.crf.hrxtx.crxtx.husbpipe.cusbpipe.hwcmd.cwcmd.hwilc1000KconfigMakefileTODOcoreconfigurator.ccoreconfigurator.hhost_interface.chost_interface.hlinux_mon.clinux_wlan.cwilc_debugfs.cwilc_sdio.cwilc_spi.cwilc_wfi_cfgoperations.cwilc_wfi_cfgoperations.hwilc_wfi_netdevice.hwilc_wlan.cwilc_wlan.hwilc_wlan_cfg.cwilc_wlan_cfg.hwilc_wlan_if.hwlan-ngKconfigMakefileREADMEcfg80211.chfa384x.hhfa384x_usb.cp80211conv.cp80211conv.hp80211hdr.hp80211ioctl.hp80211metadef.hp80211metastruct.hp80211mgmt.hp80211msg.hp80211netdev.cp80211netdev.hp80211req.cp80211req.hp80211types.hp80211wep.cprism2fw.cprism2mgmt.cprism2mgmt.hprism2mib.cprism2sta.cprism2usb.cxgifbKconfigMakefileTODOXGI_main.hXGI_main_26.cXGIfb.hvb_def.hvb_init.cvb_init.hvb_setmode.cvb_setmode.hvb_struct.hvb_table.hvb_util.hvgatypes.htargetKconfigMakefileiscsiKconfigMakefilecxgbitKconfigMakefilecxgbit.hcxgbit_cm.ccxgbit_ddp.ccxgbit_lro.hcxgbit_main.ccxgbit_target.ciscsi_target.ciscsi_target.hiscsi_target_auth.ciscsi_target_auth.hiscsi_target_configfs.ciscsi_target_datain_values.ciscsi_target_datain_values.hiscsi_target_device.ciscsi_target_device.hiscsi_target_erl0.ciscsi_target_erl0.hiscsi_target_erl1.ciscsi_target_erl1.hiscsi_target_erl2.ciscsi_target_erl2.hiscsi_target_login.ciscsi_target_login.hiscsi_target_nego.ciscsi_target_nego.hiscsi_target_nodeattrib.ciscsi_target_nodeattrib.hiscsi_target_parameters.ciscsi_target_parameters.hiscsi_target_seq_pdu_list.ciscsi_target_seq_pdu_list.hiscsi_target_stat.ciscsi_target_tmr.ciscsi_target_tmr.hiscsi_target_tpg.ciscsi_target_tpg.hiscsi_target_transport.ciscsi_target_util.ciscsi_target_util.hloopbackKconfigMakefiletcm_loop.ctcm_loop.hsbpKconfigMakefilesbp_target.csbp_target.htarget_core_alua.ctarget_core_alua.htarget_core_configfs.ctarget_core_device.ctarget_core_fabric_configfs.ctarget_core_fabric_lib.ctarget_core_file.ctarget_core_file.htarget_core_hba.ctarget_core_iblock.ctarget_core_iblock.htarget_core_internal.htarget_core_pr.ctarget_core_pr.htarget_core_pscsi.ctarget_core_pscsi.htarget_core_rd.ctarget_core_rd.htarget_core_sbc.ctarget_core_spc.ctarget_core_stat.ctarget_core_tmr.ctarget_core_tpg.ctarget_core_transport.ctarget_core_ua.ctarget_core_ua.htarget_core_user.ctarget_core_xcopy.ctarget_core_xcopy.htcm_fcKconfigMakefiletcm_fc.htfc_cmd.ctfc_conf.ctfc_io.ctfc_sess.ctcMakefiletc-driver.ctc.cteeKconfigMakefileopteeKconfigMakefilecall.ccore.coptee_msg.hoptee_private.hoptee_smc.hrpc.csupp.ctee_core.ctee_private.htee_shm.ctee_shm_pool.cthermalKconfigMakefilearmada_thermal.cbroadcomKconfigMakefilebcm2835_thermal.cns-thermal.cclock_cooling.ccpu_cooling.cda9062-thermal.cdb8500_thermal.cdevfreq_cooling.cdove_thermal.cfair_share.cgov_bang_bang.chisi_thermal.cimx_thermal.cint340x_thermalKconfigMakefileacpi_thermal_rel.cacpi_thermal_rel.hint3400_thermal.cint3402_thermal.cint3403_thermal.cint3406_thermal.cint340x_thermal_zone.cint340x_thermal_zone.hprocessor_thermal_device.cintel_bxt_pmic_thermal.cintel_pch_thermal.cintel_powerclamp.cintel_quark_dts_thermal.cintel_soc_dts_iosf.cintel_soc_dts_iosf.hintel_soc_dts_thermal.ckirkwood_thermal.cmax77620_thermal.cmtk_thermal.cof-thermal.cpower_allocator.cqcomqcom-spmi-temp-alarm.cKconfigMakefiletsens-8916.ctsens-8960.ctsens-8974.ctsens-8996.ctsens-common.ctsens.ctsens.hqoriq_thermal.crcar_gen3_thermal.crcar_thermal.crockchip_thermal.csamsungKconfigMakefileexynos_tmu.cexynos_tmu.hspear_thermal.cstKconfigMakefilest_thermal.cst_thermal.hst_thermal_memmap.cst_thermal_syscfg.cstep_wise.ctango_thermal.ctegraKconfigMakefilesoctherm-fuse.csoctherm.csoctherm.htegra124-soctherm.ctegra132-soctherm.ctegra210-soctherm.cthermal-generic-adc.cthermal_core.cthermal_core.hthermal_helpers.cthermal_hwmon.cthermal_hwmon.hthermal_sysfs.cti-soc-thermalKconfigMakefileTODOdra752-bandgap.hdra752-thermal-data.comap3-thermal-data.comap4-thermal-data.comap4xxx-bandgap.homap5-thermal-data.comap5xxx-bandgap.hti-bandgap.cti-bandgap.hti-thermal-common.cti-thermal.huser_space.cx86_pkg_temp_thermal.czx2967_thermal.cthunderboltKconfigMakefilecap.cctl.cctl.heeprom.cnhi.cnhi.hnhi_regs.hpath.cswitch.ctb.ctb.htb_regs.htunnel_pci.ctunnel_pci.httyKconfigMakefileamiserial.cbfin_jtag_comm.ccyclades.cehv_bytechan.cgoldfish.chvcKconfigMakefilehvc_bfin_jtag.chvc_console.chvc_console.hhvc_dcc.chvc_irq.chvc_iucv.chvc_opal.chvc_rtas.chvc_tile.chvc_udbg.chvc_vio.chvc_xen.chvcs.chvsi.chvsi_lib.cipwirelessMakefilehardware.chardware.hmain.cmain.hnetwork.cnetwork.hsetup_protocol.htty.ctty.hisicom.cmetag_da.cmips_ejtag_fdc.cmoxa.cmoxa.hmxser.cmxser.hn_gsm.cn_hdlc.cn_r3964.cn_tracerouter.cn_tracesink.cn_tracesink.hn_tty.cnozomi.cpty.crocket.crocket.hrocket_int.hserdevKconfigMakefilecore.cserdev-ttyport.cserial21285.c82508250.h8250_accent.c8250_acorn.c8250_bcm2835aux.c8250_boca.c8250_core.c8250_dma.c8250_dw.c8250_early.c8250_em.c8250_exar.c8250_exar_st16c554.c8250_fintek.c8250_fourport.c8250_fsl.c8250_gsc.c8250_hp300.c8250_hub6.c8250_ingenic.c8250_lpc18xx.c8250_lpss.c8250_mid.c8250_moxa.c8250_mtk.c8250_of.c8250_omap.c8250_pci.c8250_pnp.c8250_port.c8250_pxa.c8250_uniphier.cKconfigMakefileserial_cs.cKconfigMakefilealtera_jtaguart.caltera_uart.camba-pl010.camba-pl011.camba-pl011.hapbuart.capbuart.har933x_uart.carc_uart.catmel_serial.catmel_serial.hbcm63xx_uart.cbfin_sport_uart.cbfin_sport_uart.hbfin_uart.cclps711x.ccpm_uartMakefilecpm_uart.hcpm_uart_core.ccpm_uart_cpm1.ccpm_uart_cpm1.hcpm_uart_cpm2.ccpm_uart_cpm2.hcrisv10.ccrisv10.hdigicolor-usart.cdz.cdz.hearlycon-arm-semihost.cearlycon.cefm32-uart.cetraxfs-uart.cfsl_lpuart.cicom.cicom.hifx6x60.cifx6x60.himx.cioc3_serial.cioc4_serial.cip22zilog.cip22zilog.hjsmMakefilejsm.hjsm_cls.cjsm_driver.cjsm_neo.cjsm_tty.ckgdb_nmi.ckgdboc.clantiq.clpc32xx_hs.cm32r_sio.cm32r_sio_reg.hmax3100.cmax310x.cmcf.cmen_z135_uart.cmeson_uart.cmpc52xx_uart.cmps2-uart.cmpsc.cmsm_serial.cmux.cmvebu-uart.cmxs-auart.cnetx-serial.comap-serial.cpch_uart.cpic32_uart.cpic32_uart.hpmac_zilog.cpmac_zilog.hpnx8xxx_uart.cpxa.crp2.csa1100.csamsung.csamsung.hsb1250-duart.csc16is7xx.csccnxp.cserial-tegra.cserial_core.cserial_ks8695.cserial_mctrl_gpio.cserial_mctrl_gpio.hserial_txx9.csh-sci.csh-sci.hsirfsoc_uart.csirfsoc_uart.hsn_console.csprd_serial.cst-asc.cstm32-usart.cstm32-usart.hsuncore.csunhv.csunsab.csunsab.hsunsu.csunzilog.csunzilog.htilegx.ctimbuart.ctimbuart.huartlite.cucc_uart.cvr41xx_siu.cvt8500_serial.cxilinx_uartps.czs.czs.hsynclink.csynclink_gt.csynclinkmp.csysrq.ctty_audit.ctty_baudrate.ctty_buffer.ctty_io.ctty_ioctl.ctty_jobctrl.ctty_ldisc.ctty_ldsem.ctty_mutex.ctty_port.cvtMakefileconsolemap.ccp437.unidefkeymap.c_shippeddefkeymap.mapkeyboard.cselection.cvc_screen.cvt.cvt_ioctl.cuioKconfigMakefileuio.cuio_aec.cuio_cif.cuio_dmem_genirq.cuio_fsl_elbc_gpcm.cuio_hv_generic.cuio_mf624.cuio_netx.cuio_pci_generic.cuio_pdrv_genirq.cuio_pruss.cuio_sercos3.cusbKconfigMakefileREADMEatmKconfigMakefilecxacru.cspeedtch.cueagle-atm.cusbatm.cusbatm.hxusbatm.cc67x00Makefilec67x00-drv.cc67x00-hcd.cc67x00-hcd.hc67x00-ll-hpi.cc67x00-sched.cc67x00.hchipideaKconfigMakefilebits.hci.hci_hdrc_imx.cci_hdrc_imx.hci_hdrc_msm.cci_hdrc_pci.cci_hdrc_usb2.cci_hdrc_zevio.ccore.cdebug.chost.chost.hotg.cotg.hotg_fsm.cotg_fsm.hudc.cudc.hulpi.cusbmisc_imx.cclassKconfigMakefilecdc-acm.ccdc-acm.hcdc-wdm.cusblp.cusbtmc.ccommonMakefilecommon.cled.culpi.cusb-otg-fsm.ccoreKconfigMakefilebuffer.cconfig.cdevices.cdevio.cdriver.cendpoint.cfile.cgeneric.chcd-pci.chcd.chub.chub.hledtrig-usbport.cmessage.cnotify.cof.cotg_whitelist.hport.cquirks.csysfs.curb.cusb-acpi.cusb.cusb.hdwc2KconfigMakefilecore.ccore.hcore_intr.cdebug.hdebugfs.cgadget.chcd.chcd.hhcd_ddma.chcd_intr.chcd_queue.chw.hparams.cpci.cplatform.cdwc3KconfigMakefilecore.ccore.hdebug.hdebugfs.cdrd.cdwc3-exynos.cdwc3-keystone.cdwc3-of-simple.cdwc3-omap.cdwc3-pci.cdwc3-st.cep0.cgadget.cgadget.hhost.cio.htrace.ctrace.hulpi.cearlyMakefileehci-dbgp.cxhci-dbc.cxhci-dbc.hgadgetKconfigMakefilecomposite.cconfig.cconfigfs.cconfigfs.hepautoconf.cfunctionMakefilef_acm.cf_ecm.cf_eem.cf_fs.cf_hid.cf_loopback.cf_mass_storage.cf_mass_storage.hf_midi.cf_ncm.cf_obex.cf_phonet.cf_printer.cf_rndis.cf_serial.cf_sourcesink.cf_subset.cf_tcm.cf_uac1.cf_uac2.cf_uvc.cf_uvc.hg_zero.hndis.hrndis.crndis.hstorage_common.cstorage_common.htcm.hu_ecm.hu_eem.hu_ether.cu_ether.hu_ether_configfs.hu_fs.hu_gether.hu_hid.hu_midi.hu_ncm.hu_phonet.hu_printer.hu_rndis.hu_serial.cu_serial.hu_tcm.hu_uac1.cu_uac1.hu_uac2.hu_uvc.huvc.huvc_configfs.cuvc_configfs.huvc_queue.cuvc_queue.huvc_v4l2.cuvc_v4l2.huvc_video.cuvc_video.hfunctions.clegacyKconfigMakefileacm_ms.caudio.ccdc2.cdbgp.cether.cg_ffs.cgmidi.chid.cinode.cmass_storage.cmulti.cncm.cnokia.cprinter.cserial.ctcm_usb_gadget.cwebcam.czero.cu_f.cu_f.hu_os_desc.hudcKconfigMakefileamd5536udc.camd5536udc.hamd5536udc_pci.cat91_udc.cat91_udc.hatmel_usba_udc.catmel_usba_udc.hbcm63xx_udc.cbdcKconfigMakefilebdc.hbdc_cmd.cbdc_cmd.hbdc_core.cbdc_dbg.cbdc_dbg.hbdc_ep.cbdc_ep.hbdc_pci.cbdc_udc.ccore.cdummy_hcd.cfotg210-udc.cfotg210.hfsl_mxc_udc.cfsl_qe_udc.cfsl_qe_udc.hfsl_udc_core.cfsl_usb2_udc.hfusb300_udc.cfusb300_udc.hgoku_udc.cgoku_udc.hgr_udc.cgr_udc.hlpc32xx_udc.cm66592-udc.cm66592-udc.hmv_u3d.hmv_u3d_core.cmv_udc.hmv_udc_core.cnet2272.cnet2272.hnet2280.cnet2280.homap_udc.comap_udc.hpch_udc.cpxa25x_udc.cpxa25x_udc.hpxa27x_udc.cpxa27x_udc.hr8a66597-udc.cr8a66597-udc.hrenesas_usb3.cs3c-hsudc.cs3c2410_udc.cs3c2410_udc.htrace.ctrace.hudc-xilinx.cusbstring.chostKconfigMakefilebcma-hcd.cehci-atmel.cehci-dbg.cehci-exynos.cehci-fsl.cehci-fsl.hehci-grlib.cehci-hcd.cehci-hub.cehci-mem.cehci-msm.cehci-mv.cehci-mxc.cehci-omap.cehci-orion.cehci-pci.cehci-platform.cehci-pmcmsp.cehci-ppc-of.cehci-ps3.cehci-q.cehci-sched.cehci-sh.cehci-spear.cehci-st.cehci-sysfs.cehci-tegra.cehci-tilegx.cehci-timer.cehci-w90x900.cehci-xilinx-of.cehci.hfhci-dbg.cfhci-hcd.cfhci-hub.cfhci-mem.cfhci-q.cfhci-sched.cfhci-tds.cfhci.hfotg210-hcd.cfotg210.hfsl-mph-dr-of.chwa-hc.cimx21-dbg.cimx21-hcd.cimx21-hcd.hisp116x-hcd.cisp116x.hisp1362-hcd.cisp1362.hmax3421-hcd.cohci-at91.cohci-da8xx.cohci-dbg.cohci-exynos.cohci-hcd.cohci-hub.cohci-mem.cohci-nxp.cohci-omap.cohci-omap3.cohci-pci.cohci-platform.cohci-ppc-of.cohci-ps3.cohci-pxa27x.cohci-q.cohci-s3c2410.cohci-sa1111.cohci-sm501.cohci-spear.cohci-st.cohci-tilegx.cohci-tmio.cohci.hoxu210hp-hcd.coxu210hp.hpci-quirks.cpci-quirks.hr8a66597-hcd.cr8a66597.hsl811-hcd.csl811.hsl811_cs.cssb-hcd.cu132-hcd.cuhci-debug.cuhci-grlib.cuhci-hcd.cuhci-hcd.huhci-hub.cuhci-pci.cuhci-platform.cuhci-q.cwhciKbuildasl.cdebug.chcd.chw.cinit.cint.cpzl.cqset.cwhcd.hwhci-hc.hwusb.cxhci-dbg.cxhci-ext-caps.hxhci-hub.cxhci-mem.cxhci-mtk-sch.cxhci-mtk.cxhci-mtk.hxhci-mvebu.cxhci-mvebu.hxhci-pci.cxhci-plat.cxhci-plat.hxhci-rcar.cxhci-rcar.hxhci-ring.cxhci-tegra.cxhci-trace.cxhci-trace.hxhci.cxhci.himageKconfigMakefilemdc800.cmicrotek.cmicrotek.hisp1760KconfigMakefileisp1760-core.cisp1760-core.hisp1760-hcd.cisp1760-hcd.hisp1760-if.cisp1760-regs.hisp1760-udc.cisp1760-udc.hmiscKconfigMakefileadutux.cappledisplay.cchaoskey.ccypress_cy7c63.ccytherm.cehset.cemi26.cemi62.cezusb.cftdi-elan.cidmouse.ciowarrior.cisight_firmware.cldusb.clegousbtower.clvstest.crio500.crio500_usb.hsisusbvgaKconfigMakefilesisusb.csisusb.hsisusb_con.csisusb_init.csisusb_init.hsisusb_struct.htrancevibrator.cucsi.cucsi.husb251xb.cusb3503.cusb4604.cusb_u132.husblcd.cusbsevseg.cusbtest.cuss720.cyurex.cmonKconfigMakefilemon_bin.cmon_main.cmon_stat.cmon_text.cusb_mon.hmtu3KconfigMakefilemtu3.hmtu3_core.cmtu3_dr.cmtu3_dr.hmtu3_gadget.cmtu3_gadget_ep0.cmtu3_host.cmtu3_hw_regs.hmtu3_plat.cmtu3_qmu.cmtu3_qmu.hmusbKconfigMakefileam35x.cblackfin.cblackfin.hcppi_dma.ccppi_dma.hda8xx.cdavinci.cdavinci.hjz4740.cmusb_am335x.cmusb_core.cmusb_core.hmusb_cppi41.cmusb_debug.hmusb_debugfs.cmusb_dma.hmusb_dsps.cmusb_gadget.cmusb_gadget.hmusb_gadget_ep0.cmusb_host.cmusb_host.hmusb_io.hmusb_regs.hmusb_trace.cmusb_trace.hmusb_virthub.cmusbhsdma.cmusbhsdma.homap2430.comap2430.hsunxi.ctusb6010.ctusb6010.htusb6010_omap.cux500.cux500_dma.cphyKconfigMakefileof.cphy-ab8500-usb.cphy-am335x-control.cphy-am335x-control.hphy-am335x.cphy-fsl-usb.cphy-fsl-usb.hphy-generic.cphy-generic.hphy-gpio-vbus-usb.cphy-isp1301-omap.cphy-isp1301.cphy-keystone.cphy-msm-usb.cphy-mv-usb.cphy-mv-usb.hphy-mxs-usb.cphy-omap-otg.cphy-qcom-8x16-usb.cphy-tahvo.cphy-tegra-usb.cphy-twl6030-usb.cphy-ulpi-viewport.cphy-ulpi.cphy.crenesas_usbhsKconfigMakefilecommon.ccommon.hfifo.cfifo.hmod.cmod.hmod_gadget.cmod_host.cpipe.cpipe.hrcar2.crcar2.hrcar3.crcar3.hserialKconfigMakefileMakefile-keyspan_pda_fwaircable.cark3116.cbelkin_sa.cbelkin_sa.hbus.cch341.cconsole.ccp210x.ccyberjack.ccypress_m8.ccypress_m8.hdigi_acceleport.cempeg.cezusb_convert.plf81232.cf81534.cftdi_sio.cftdi_sio.hftdi_sio_ids.hgarmin_gps.cgeneric.cio_16654.hio_edgeport.cio_edgeport.hio_ionsp.hio_ti.cio_ti.hio_usbvend.hipaq.cipw.cir-usb.ciuu_phoenix.ciuu_phoenix.hkeyspan.ckeyspan_pda.ckeyspan_usa26msg.hkeyspan_usa28msg.hkeyspan_usa49msg.hkeyspan_usa67msg.hkeyspan_usa90msg.hkl5kusb105.ckl5kusb105.hkobil_sct.ckobil_sct.hmct_u232.cmct_u232.hmetro-usb.cmos7720.cmos7840.cmxuport.cnavman.comninet.copticon.coption.coti6858.coti6858.hpl2303.cpl2303.hqcaux.cqcserial.cquatech2.csafe_serial.csierra.cspcp8x5.cssu100.csymbolserial.cti_usb_3410_5052.cupd78f0730.cusb-serial-simple.cusb-serial.cusb-wwan.husb_debug.cusb_wwan.cvisor.cvisor.hwhiteheat.cwhiteheat.hwishbone-serial.cxsens_mt.cstorageKconfigMakefilealauda.ccypress_atacb.cdatafab.cdebug.cdebug.hene_ub6250.cfreecom.cinitializers.cinitializers.hisd200.cjumpshot.ckarma.conetouch.coption_ms.coption_ms.hprotocol.cprotocol.hrealtek_cr.cscsiglue.cscsiglue.hsddr09.csddr55.cshuttle_usbat.csierra_ms.csierra_ms.htransport.ctransport.huas-detect.huas.cunusual_alauda.hunusual_cypress.hunusual_datafab.hunusual_devs.hunusual_ene_ub6250.hunusual_freecom.hunusual_isd200.hunusual_jumpshot.hunusual_karma.hunusual_onetouch.hunusual_realtek.hunusual_sddr09.hunusual_sddr55.hunusual_uas.hunusual_usbat.husb.cusb.husual-tables.ctypecKconfigMakefiletypec.ctypec_wcove.cusb-skeleton.cusbipKconfigMakefileREADMEstub.hstub_dev.cstub_main.cstub_rx.cstub_tx.cusbip_common.cusbip_common.husbip_event.cvhci.hvhci_hcd.cvhci_rx.cvhci_sysfs.cvhci_tx.cvudc.hvudc_dev.cvudc_main.cvudc_rx.cvudc_sysfs.cvudc_transfer.cvudc_tx.cwusbcoreKconfigMakefilecbaf.ccrypto.cdev-sysfs.cdevconnect.cmmc.cpal.creservation.crh.csecurity.cwa-hc.cwa-hc.hwa-nep.cwa-rpipe.cwa-xfer.cwusbhc.cwusbhc.huwbKconfigMakefileaddress.callocator.cbeacon.cdriver.cdrp-avail.cdrp-ie.cdrp.cest.chwa-rc.ci1480MakefiledfuMakefiledfu.ci1480-dfu.hmac.cphy.cusb.ci1480-est.cie-rcv.cie.clc-dev.clc-rc.cneh.cpal.cradio.creset.crsv.cscan.cumc-bus.cumc-dev.cumc-drv.cuwb-debug.cuwb-internal.huwbd.cwhc-rc.cwhci.cvfioKconfigMakefilemdevKconfigMakefilemdev_core.cmdev_driver.cmdev_private.hmdev_sysfs.cvfio_mdev.cpciKconfigMakefilevfio_pci.cvfio_pci_config.cvfio_pci_igd.cvfio_pci_intrs.cvfio_pci_private.hvfio_pci_rdwr.cplatformKconfigMakefileresetKconfigMakefilevfio_platform_amdxgbe.cvfio_platform_calxedaxgmac.cvfio_amba.cvfio_platform.cvfio_platform_common.cvfio_platform_irq.cvfio_platform_private.hvfio.cvfio_iommu_spapr_tce.cvfio_iommu_type1.cvfio_spapr_eeh.cvirqfd.cvhostKconfigKconfig.vringhMakefilenet.cscsi.ctest.ctest.hvhost.cvhost.hvringh.cvsock.cvideoKconfigMakefilebacklight88pm860x_bl.cKconfigMakefileaat2870_bl.cadp5520_bl.cadp8860_bl.cadp8870_bl.cams369fg06.capple_bl.carcxcnn_bl.cas3711_bl.cbacklight.cbd6107.ccorgi_lcd.ccr_bllcd.cda903x_bl.cda9052_bl.cep93xx_bl.cgeneric_bl.cgpio_backlight.chp680_bl.chx8357.cili922x.cili9320.cili9320.hipaq_micro_bl.cjornada720_bl.cjornada720_lcd.ckb3886_bl.cl4f00242t03.clcd.cld9040.cld9040_gamma.hlm3533_bl.clm3630a_bl.clm3639_bl.clms283gf05.clms501kf03.clocomolcd.clp855x_bl.clp8788_bl.cltv350qv.cltv350qv.hlv5207lp.cmax8925_bl.comap1_bl.cot200_bl.cpandora_bl.cpcf50633-backlight.cplatform_lcd.cpm8941-wled.cpwm_bl.cs6e63m0.cs6e63m0_gamma.hsky81452-backlight.ctdo24m.ctosa_bl.ctosa_lcd.ctps65217_bl.cvgg2432a4.cwm831x_bl.cconsoleKconfigMakefilebitblit.cdummycon.cfbcon.cfbcon.hfbcon_ccw.cfbcon_cw.cfbcon_rotate.cfbcon_rotate.hfbcon_ud.cmdacon.cnewport_con.csoftcursor.csticon.csticore.ctileblit.cvgacon.cdisplay_timing.cfbdev68328fb.cKconfigMakefileacornfb.cacornfb.hamba-clcd-nomadik.camba-clcd-nomadik.hamba-clcd-versatile.camba-clcd-versatile.hamba-clcd.camifb.carcfb.carkfb.casiliantfb.catafb.catafb.hatafb_iplan2p2.catafb_iplan2p4.catafb_iplan2p8.catafb_mfb.catafb_utils.hatmel_lcdfb.catyMakefileati_ids.haty128fb.catyfb.hatyfb_base.cmach64_accel.cmach64_ct.cmach64_cursor.cmach64_gx.cradeon_accel.cradeon_backlight.cradeon_base.cradeon_i2c.cradeon_monitor.cradeon_pm.cradeonfb.hau1100fb.cau1100fb.hau1200fb.cau1200fb.hauo_k1900fb.cauo_k1901fb.cauo_k190x.cauo_k190x.hbf537-lq035.cbf54x-lq043fb.cbfin-lq035q1-fb.cbfin-t350mcqb-fb.cbfin_adv7393fb.cbfin_adv7393fb.hbroadsheetfb.cbt431.hbt455.hbw2.cc2p.hc2p_core.hc2p_iplan2.cc2p_planar.ccarminefb.ccarminefb.hcarminefb_regs.hcg14.ccg3.ccg6.cchipsfb.ccirrusfb.cclps711x-fb.cclps711xfb.ccobalt_lcdfb.ccontrolfb.ccontrolfb.hcoreMakefilecfbcopyarea.ccfbfillrect.ccfbimgblt.cfb_cmdline.cfb_ddc.cfb_defio.cfb_draw.hfb_notify.cfb_sys_fops.cfbcmap.cfbcvt.cfbmem.cfbmon.cfbsysfs.cmodedb.csvgalib.csyscopyarea.csysfillrect.csysimgblt.ccyber2000fb.ccyber2000fb.hda8xx-fb.cdnfb.cedid.hefifb.cep93xx-fb.cfb-puv3.cffb.cfm2fb.cfsl-diu-fb.cg364fb.cgbefb.cgeodeKconfigMakefiledisplay_gx.cdisplay_gx1.cdisplay_gx1.hgeodefb.hgx1fb_core.cgxfb.hgxfb_core.clxfb.hlxfb_core.clxfb_ops.csuspend_gx.cvideo_cs5530.cvideo_cs5530.hvideo_gx.cgoldfishfb.cgrvga.cgxt4500.checubafb.chgafb.chitfb.chpfb.chyperv_fb.ci740_reg.hi740fb.ci810Makefilei810-i2c.ci810.hi810_accel.ci810_dvt.ci810_gtf.ci810_main.ci810_main.hi810_regs.higafb.cimsttfb.cimxfb.cintelfbMakefileintelfb.hintelfb_i2c.cintelfbdrv.cintelfbhw.cintelfbhw.hjz4740_fb.ckyroMakefileSTG4000InitDevice.cSTG4000Interface.hSTG4000OverlayDevice.cSTG4000Ramdac.cSTG4000Reg.hSTG4000VTG.cfbdev.cleo.cmacfb.cmacmodes.cmacmodes.hmatroxMakefileg450_pll.cg450_pll.hi2c-matroxfb.cmatroxfb_DAC1064.cmatroxfb_DAC1064.hmatroxfb_Ti3026.cmatroxfb_Ti3026.hmatroxfb_accel.cmatroxfb_accel.hmatroxfb_base.cmatroxfb_base.hmatroxfb_crtc2.cmatroxfb_crtc2.hmatroxfb_g450.cmatroxfb_g450.hmatroxfb_maven.cmatroxfb_maven.hmatroxfb_misc.cmatroxfb_misc.hmaxinefb.cmb862xxMakefilemb862xx-i2c.cmb862xx_reg.hmb862xxfb.hmb862xxfb_accel.cmb862xxfb_accel.hmb862xxfbdrv.cmbxMakefilembxdebugfs.cmbxfb.creg_bits.hregs.hmetronomefb.cmmpKconfigMakefilecore.cfbKconfigMakefilemmpfb.cmmpfb.hhwKconfigMakefilemmp_ctrl.cmmp_ctrl.hmmp_spi.cpanelKconfigMakefiletpo_tj032md01bw.cmx3fb.cmxsfb.cn411.cneofb.cnuc900fb.cnuc900fb.hnvidiaMakefilenv_accel.cnv_backlight.cnv_dma.hnv_hw.cnv_i2c.cnv_local.hnv_of.cnv_proto.hnv_setup.cnv_type.hnvidia.cocfb.coffb.comapKconfigMakefilehwa742.clcd_ams_delta.clcd_h3.clcd_htcherald.clcd_inn1510.clcd_inn1610.clcd_mipid.clcd_osk.clcd_palmte.clcd_palmtt.clcd_palmz71.clcdc.clcdc.homapfb.homapfb_main.csossi.comap2KconfigMakefileomapfbKconfigMakefiledisplaysKconfigMakefileconnector-analog-tv.cconnector-dvi.cconnector-hdmi.cencoder-opa362.cencoder-tfp410.cencoder-tpd12s015.cpanel-dpi.cpanel-dsi-cm.cpanel-lgphilips-lb035q02.cpanel-nec-nl8048hl11.cpanel-sharp-ls037v7dw01.cpanel-sony-acx565akm.cpanel-tpo-td028ttec1.cpanel-tpo-td043mtea1.cdssKconfigMakefileapply.ccore.cdispc-compat.cdispc-compat.hdispc.cdispc.hdispc_coefs.cdisplay-sysfs.cdisplay.cdpi.cdsi.cdss-of.cdss.cdss.hdss_features.cdss_features.hhdmi.hhdmi4.chdmi4_core.chdmi4_core.hhdmi5.chdmi5_core.chdmi5_core.hhdmi_common.chdmi_phy.chdmi_pll.chdmi_wp.cmanager-sysfs.cmanager.comapdss-boot-init.coutput.coverlay-sysfs.coverlay.cpll.crfbi.csdi.cvenc.cvideo-pll.comapfb-ioctl.comapfb-main.comapfb-sysfs.comapfb.hvrfb.cp9100.cplatinumfb.cplatinumfb.hpm2fb.cpm3fb.cpmag-aa-fb.cpmag-ba-fb.cpmagb-b-fb.cps3fb.cpvr2fb.cpxa168fb.cpxa168fb.hpxa3xx-gcu.cpxa3xx-gcu.hpxafb.cpxafb.hq40fb.crivaMakefilefbdev.cnv_driver.cnv_type.hnvreg.hriva_hw.criva_hw.hriva_tbl.hrivafb-i2c.crivafb.hs1d13xxxfb.cs3c-fb.cs3c2410fb.cs3c2410fb.hs3fb.csa1100fb.csa1100fb.hsavageMakefilesavagefb-i2c.csavagefb.hsavagefb_accel.csavagefb_driver.csbuslib.csbuslib.hsh7760fb.csh_mobile_lcdcfb.csh_mobile_lcdcfb.hsh_mobile_meram.csimplefb.csis300vtbl.h310vtbl.hMakefileinit.cinit.hinit301.cinit301.hinitdef.hinitextlfb.coem300.hoem310.hsis.hsis_accel.csis_accel.hsis_main.csis_main.hvgatypes.hvstruct.hskeletonfb.csm501fb.csm712.hsm712fb.csmscufx.cssd1307fb.csstfb.csticore.hstifb.csunxvr1000.csunxvr2500.csunxvr500.ctcx.ctdfxfb.ctgafb.ctmiofb.ctridentfb.cudlfb.cuvesafb.cvalkyriefb.cvalkyriefb.hvermilionMakefilecr_pll.cvermilion.cvermilion.hvesafb.cvfb.cvga16fb.cviaMakefileaccel.caccel.hchip.hdebug.hdvi.cdvi.hglobal.cglobal.hhw.chw.hioctl.cioctl.hlcd.clcd.hshare.htblDPASetting.ctblDPASetting.hvia-core.cvia-gpio.cvia_aux.cvia_aux.hvia_aux_ch7301.cvia_aux_edid.cvia_aux_sii164.cvia_aux_vt1621.cvia_aux_vt1622.cvia_aux_vt1625.cvia_aux_vt1631.cvia_aux_vt1632.cvia_aux_vt1636.cvia_clock.cvia_clock.hvia_i2c.cvia_modesetting.cvia_modesetting.hvia_utility.cvia_utility.hviafbdev.cviafbdev.hviamode.cviamode.hvt1636.cvt1636.hvt8500lcdfb.cvt8500lcdfb.hvt8623fb.cw100fb.cw100fb.hwm8505fb.cwm8505fb_regs.hwmt_ge_rops.cwmt_ge_rops.hxen-fbfront.cxilinxfb.chdmi.clogoKconfigMakefileclut_vga16.ppmlogo.clogo_blackfin_clut224.ppmlogo_blackfin_vga16.ppmlogo_dec_clut224.ppmlogo_linux_clut224.ppmlogo_linux_mono.pbmlogo_linux_vga16.ppmlogo_m32r_clut224.ppmlogo_mac_clut224.ppmlogo_parisc_clut224.ppmlogo_sgi_clut224.ppmlogo_spe_clut224.ppmlogo_sun_clut224.ppmlogo_superh_clut224.ppmlogo_superh_mono.pbmlogo_superh_vga16.ppmof_display_timing.cof_videomode.cvgastate.cvideomode.cvirtKconfigMakefilefsl_hypervisor.cvirtioKconfigMakefilevirtio.cvirtio_balloon.cvirtio_input.cvirtio_mmio.cvirtio_pci_common.cvirtio_pci_common.hvirtio_pci_legacy.cvirtio_pci_modern.cvirtio_ring.cvlynqKconfigMakefilevlynq.cvmeKconfigMakefileboardsKconfigMakefilevme_vmivme7805.cvme_vmivme7805.hbridgesKconfigMakefilevme_ca91cx42.cvme_ca91cx42.hvme_fake.cvme_tsi148.cvme_tsi148.hvme.cvme_bridge.hw1KconfigMakefilemastersKconfigMakefileds1wm.cds2482.cds2490.cmatrox_w1.cmxc_w1.comap_hdq.cw1-gpio.cslavesKconfigMakefilew1_bq27000.cw1_ds2405.cw1_ds2406.cw1_ds2408.cw1_ds2413.cw1_ds2423.cw1_ds2431.cw1_ds2433.cw1_ds2438.cw1_ds2760.cw1_ds2760.hw1_ds2780.cw1_ds2780.hw1_ds2781.cw1_ds2781.hw1_ds28e04.cw1_smem.cw1_therm.cw1.cw1.hw1_family.cw1_family.hw1_int.cw1_int.hw1_io.cw1_netlink.cw1_netlink.hwatchdogKconfigMakefileacquirewdt.cadvantechwdt.calim1535_wdt.calim7101_wdt.car7_wdt.casm9260_wdt.caspeed_wdt.cat32ap700x_wdt.cat91rm9200_wdt.cat91sam9_wdt.cat91sam9_wdt.hath79_wdt.catlas7_wdt.cbcm2835_wdt.cbcm47xx_wdt.cbcm63xx_wdt.cbcm7038_wdt.cbcm_kona_wdt.cbfin_wdt.cbooke_wdt.ccadence_wdt.ccoh901327_wdt.ccpu5wdt.ccpwd.cda9052_wdt.cda9055_wdt.cda9062_wdt.cda9063_wdt.cdavinci_wdt.cdiag288_wdt.cdigicolor_wdt.cdw_wdt.cebc-c384_wdt.cep93xx_wdt.ceurotechwdt.cf71808e_wdt.cgef_wdt.cgemini_wdt.cgeodewdt.cgpio_wdt.chpwdt.ci6300esb.ciTCO_vendor.hiTCO_vendor_support.ciTCO_wdt.cib700wdt.cibmasr.cie6xx_wdt.cimgpdc_wdt.cimx2_wdt.cindydog.cintel-mid_wdt.cintel_scu_watchdog.cintel_scu_watchdog.hiop_wdt.cit8712f_wdt.cit87_wdt.cixp4xx_wdt.cjz4740_wdt.ckempld_wdt.cks8695_wdt.clantiq_wdt.cloongson1_wdt.clpc18xx_wdt.cm54xx_wdt.cmachzwd.cmax63xx_wdt.cmax77620_wdt.cmei_wdt.cmena21_wdt.cmenf21bmc_wdt.cmeson_gxbb_wdt.cmeson_wdt.cmixcomwd.cmoxart_wdt.cmpc8xxx_wdt.cmt7621_wdt.cmtk_wdt.cmtx-1_wdt.cmv64x60_wdt.cni903x_wdt.cnic7018_wdt.cnuc900_wdt.cnv_tco.cnv_tco.hocteon-wdt-main.cocteon-wdt-nmi.Sof_xilinx_wdt.comap_wdt.comap_wdt.horion_wdt.cpc87413_wdt.cpcwd.cpcwd_pci.cpcwd_usb.cpic32-dmt.cpic32-wdt.cpika_wdt.cpnx4008_wdt.cpnx833x_wdt.cpretimeout_noop.cpretimeout_panic.cqcom-wdt.crc32434_wdt.crdc321x_wdt.crenesas_wdt.cretu_wdt.criowd.crn5t618_wdt.crt2880_wdt.cs3c2410_wdt.csa1100_wdt.csama5d4_wdt.csb_wdog.csbc60xxwdt.csbc7240_wdt.csbc8360.csbc_epx_c3.csbc_fitpc2_wdt.csbsa_gwdt.csc1200wdt.csc520_wdt.csch311x_wdt.cscx200_wdt.cshwdt.csirfsoc_wdt.csmsc37b787_wdt.csoftdog.csp5100_tco.csp5100_tco.hsp805_wdt.cst_lpc_wdt.cstmp3xxx_rtc_wdt.csun4v_wdt.csunxi_wdt.ctangox_wdt.ctegra_wdt.cts4800_wdt.cts72xx_wdt.ctwl4030_wdt.ctxx9wdt.cux500_wdt.cvia_wdt.cw83627hf_wdt.cw83877f_wdt.cw83977f_wdt.cwafer5823wdt.cwatchdog_core.cwatchdog_core.hwatchdog_dev.cwatchdog_pretimeout.cwatchdog_pretimeout.hwd501p.hwdat_wdt.cwdrtas.cwdt.cwdt285.cwdt977.cwdt_pci.cwm831x_wdt.cwm8350_wdt.cxen_wdt.cziirave_wdt.czx2967_wdt.cxenKconfigMakefileacpi.carm-device.cballoon.cbiomerge.ccpu_hotplug.cdbgp.cefi.ceventsMakefileevents_2l.cevents_base.cevents_fifo.cevents_internal.hevtchn.cfallback.cfeatures.cgntalloc.cgntdev.cgrant-table.cmanage.cmcelog.cpci.cpcpu.cplatform-pci.cpreempt.cprivcmd.cprivcmd.hswiotlb-xen.csys-hypervisor.ctime.ctmem.cxen-acpi-cpuhotplug.cxen-acpi-memhotplug.cxen-acpi-pad.cxen-acpi-processor.cxen-balloon.cxen-pcibackMakefileconf_space.cconf_space.hconf_space_capability.cconf_space_header.cconf_space_quirks.cconf_space_quirks.hpassthrough.cpci_stub.cpciback.hpciback_ops.cvpci.cxenbus.cxen-scsiback.cxen-selfballoon.cxen-stub.cxenbusMakefilexenbus.hxenbus_client.cxenbus_comms.cxenbus_dev_backend.cxenbus_dev_frontend.cxenbus_probe.cxenbus_probe_backend.cxenbus_probe_frontend.cxenbus_xs.cxenfsMakefilesuper.cxenfs.hxenstored.cxensyms.cxlate_mmu.czorroKconfigMakefilegen-devlist.cnames.cproc.czorro-driver.czorro-sysfs.czorro.czorro.hzorro.idsfirmware3comtyphoon.bin.ihexMakefileREADME.AddingFirmwareWHENCEacenictg1.bin.ihextg2.bin.ihexadaptecstarfire_rx.bin.ihexstarfire_tx.bin.ihexadvansys3550.bin.ihex38C0800.bin.ihex38C1600.bin.ihexmcode.bin.ihexatmsar11.HEXav7110Boot.Sbootcode.bin.ihexbnx2bnx2-mips-06-6.2.1.fw.ihexbnx2-mips-09-6.2.1a.fw.ihexbnx2-rv2p-06-6.0.15.fw.ihexbnx2-rv2p-09-6.0.17.fw.ihexbnx2-rv2p-09ax-6.0.17.fw.ihexbnx2xbnx2x-e1-6.2.9.0.fw.ihexbnx2x-e1h-6.2.9.0.fw.ihexbnx2x-e2-6.2.9.0.fw.ihexcis3CCFEM556.cis.ihex3CXEM556.cis.ihexCOMpad2.cis.ihexCOMpad4.cis.ihexDP83903.cis.ihexLA-PCM.cis.ihexMT5634ZLX.cis.ihexNE2K.cis.ihexPCMLM28.cis.ihexPE-200.cis.ihexPE520.cis.ihexRS-COM-2P.cis.ihexSW_555_SER.cis.ihexSW_7xx_SER.cis.ihexSW_8xx_SER.cis.ihextamarack.cis.ihexcpia2stv0672_vp4.bin.ihexcxgb3ael2005_opt_edc.bin.ihexael2005_twx_edc.bin.ihexael2020_twx_edc.bin.ihext3b_psram-1.1.0.bin.ihext3c_psram-1.1.0.bin.ihexdsp56kbootstrap.asmbootstrap.bin.ihexe100d101m_ucode.bin.ihexd101s_ucode.bin.ihexd102e_ucode.bin.ihexedgeportboot.H16boot2.H16down.H16down2.H16down3.bin.ihexemi26bitstream.HEXfirmware.HEXloader.HEXemi62bitstream.HEXloader.HEXmidi.HEXspdif.HEXessmaestro3_assp_kernel.fw.ihexmaestro3_assp_minisrc.fw.ihexihex2fw.ckawethnew_code.bin.ihexnew_code_fix.bin.ihextrigger_code.bin.ihextrigger_code_fix.bin.ihexkeyspanmpr.HEXusa18x.HEXusa19.HEXusa19qi.HEXusa19qw.HEXusa19w.HEXusa28.HEXusa28x.HEXusa28xa.HEXusa28xb.HEXusa49w.HEXusa49wlc.HEXkeyspan_pdakeyspan_pda.HEXkeyspan_pda.Sxircom_pgs.HEXxircom_pgs.Skorgk1212.dsp.ihexmatroxg200_warp.H16g400_warp.H16mts_cdma.fw.ihexmts_edge.fw.ihexmts_gsm.fw.ihexmyricomlanai.bin.ihexositechXilinx7OD.bin.ihexqlogic1040.bin.ihex12160.bin.ihex1280.bin.ihexisp1000.bin.ihexsd7220.fw.ihexr128r128_cce.bin.ihexradeonR100_cp.bin.ihexR200_cp.bin.ihexR300_cp.bin.ihexR420_cp.bin.ihexR520_cp.bin.ihexR600_me.bin.ihexR600_pfp.bin.ihexRS600_cp.bin.ihexRS690_cp.bin.ihexRS780_me.bin.ihexRS780_pfp.bin.ihexRV610_me.bin.ihexRV610_pfp.bin.ihexRV620_me.bin.ihexRV620_pfp.bin.ihexRV630_me.bin.ihexRV630_pfp.bin.ihexRV635_me.bin.ihexRV635_pfp.bin.ihexRV670_me.bin.ihexRV670_pfp.bin.ihexRV710_me.bin.ihexRV710_pfp.bin.ihexRV730_me.bin.ihexRV730_pfp.bin.ihexRV770_me.bin.ihexRV770_pfp.bin.ihexsb16alaw_main.csp.ihexima_adpcm_capture.csp.ihexima_adpcm_init.csp.ihexima_adpcm_playback.csp.ihexmulaw_main.csp.ihexsuncassini.bin.ihextehutibdx.bin.ihexti_3410.fw.ihexti_5052.fw.ihextigontg3.bin.ihextg3_tso.bin.ihextg3_tso5.bin.ihexttusb-budgetdspbootcode.bin.ihexvicamfirmware.H16whiteheat.HEXwhiteheat_loader.HEXwhiteheat_loader_debug.HEXyam1200.bin.ihex9600.bin.ihexyamahads1_ctrl.fw.ihexds1_dsp.fw.ihexds1e_ctrl.fw.ihexyss225_registers.bin.ihexfs9pKconfigMakefileacl.cacl.hcache.ccache.hfid.cfid.hv9fs.cv9fs.hv9fs_vfs.hvfs_addr.cvfs_dentry.cvfs_dir.cvfs_file.cvfs_inode.cvfs_inode_dotl.cvfs_super.cxattr.cxattr.hKconfigKconfig.binfmtMakefileadfsKconfigMakefileadfs.hdir.cdir_f.cdir_f.hdir_fplus.cdir_fplus.hfile.cinode.cmap.csuper.caffsChangesKconfigMakefileaffs.hamigaffs.camigaffs.hbitmap.cdir.cfile.cinode.cnamei.csuper.csymlink.cafsKconfigMakefileafs.hafs_cm.hafs_fs.hafs_vl.hcache.ccallback.ccell.ccmservice.cdir.cfile.cflock.cfsclient.cinode.cinternal.hmain.cmisc.cmntpt.cnetdevices.cproc.crxrpc.csecurity.cserver.csuper.cvlclient.cvlocation.cvnode.cvolume.cwrite.caio.canon_inodes.cattr.cautofs4KconfigMakefileautofs_i.hdev-ioctl.cexpire.cinit.cinode.croot.csymlink.cwaitq.cbad_inode.cbefsChangeLogKconfigMakefileTODObefs.hbefs_fs_types.hbtree.cbtree.hdatastream.cdatastream.hdebug.cendian.hinode.cinode.hio.cio.hlinuxvfs.csuper.csuper.hbfsKconfigMakefilebfs.hdir.cfile.cinode.cbinfmt_aout.cbinfmt_elf.cbinfmt_elf_fdpic.cbinfmt_em86.cbinfmt_flat.cbinfmt_misc.cbinfmt_script.cblock_dev.cbtrfsKconfigMakefileacl.casync-thread.casync-thread.hbackref.cbackref.hbtrfs_inode.hcheck-integrity.ccheck-integrity.hcompression.ccompression.hctree.cctree.hdedupe.hdelayed-inode.cdelayed-inode.hdelayed-ref.cdelayed-ref.hdev-replace.cdev-replace.hdir-item.cdisk-io.cdisk-io.hexport.cexport.hextent-tree.cextent_io.cextent_io.hextent_map.cextent_map.hfile-item.cfile.cfree-space-cache.cfree-space-cache.hfree-space-tree.cfree-space-tree.hhash.chash.hinode-item.cinode-map.cinode-map.hinode.cioctl.clocking.clocking.hlzo.cmath.hordered-data.cordered-data.horphan.cprint-tree.cprint-tree.hprops.cprops.hqgroup.cqgroup.hraid56.craid56.hrcu-string.hreada.crelocation.croot-tree.cscrub.csend.csend.hstruct-funcs.csuper.csysfs.csysfs.htestsbtrfs-tests.cbtrfs-tests.hextent-buffer-tests.cextent-io-tests.cfree-space-tests.cfree-space-tree-tests.cinode-tests.cqgroup-tests.ctransaction.ctransaction.htree-defrag.ctree-log.ctree-log.hulist.culist.huuid-tree.cvolumes.cvolumes.hxattr.cxattr.hzlib.cbuffer.ccachefilesKconfigMakefilebind.cdaemon.cinterface.cinternal.hkey.cmain.cnamei.cproc.crdwr.csecurity.cxattr.ccephKconfigMakefileacl.caddr.ccache.ccache.hcaps.cceph_frag.cdebugfs.cdir.cexport.cfile.cinode.cioctl.cioctl.hlocks.cmds_client.cmds_client.hmdsmap.csnap.cstrings.csuper.csuper.hxattr.cchar_dev.ccifsKconfigMakefileasn1.ccache.ccifs_debug.ccifs_debug.hcifs_dfs_ref.ccifs_fs_sb.hcifs_ioctl.hcifs_spnego.ccifs_spnego.hcifs_unicode.ccifs_unicode.hcifs_uniupr.hcifsacl.ccifsacl.hcifsencrypt.ccifsfs.ccifsfs.hcifsglob.hcifspdu.hcifsproto.hcifssmb.cconnect.cdir.cdns_resolve.cdns_resolve.hexport.cfile.cfscache.cfscache.hinode.cioctl.clink.cmisc.cnetmisc.cnterr.cnterr.hntlmssp.hreaddir.crfc1002pdu.hsess.csmb1ops.csmb2file.csmb2glob.hsmb2inode.csmb2maperror.csmb2misc.csmb2ops.csmb2pdu.csmb2pdu.hsmb2proto.hsmb2status.hsmb2transport.csmbencrypt.csmberr.hsmbfsctl.htransport.cwinucase.cxattr.ccodaKconfigMakefilecache.ccnode.ccoda_cache.hcoda_fs_i.hcoda_int.hcoda_linux.ccoda_linux.hdir.cfile.cinode.cpioctl.cpsdev.csymlink.csysctl.cupcall.ccompat.ccompat_binfmt_elf.ccompat_ioctl.cconfigfsKconfigMakefileconfigfs_internal.hdir.cfile.cinode.citem.cmount.csymlink.ccoredump.ccramfsKconfigMakefileREADMEinode.cinternal.huncompress.ccryptoKconfigMakefilebio.ccrypto.cfname.cfscrypt_private.hkeyinfo.cpolicy.cdax.cdcache.cdcookies.cdebugfsMakefilefile.cinode.cinternal.hdevptsMakefileinode.cdirect-io.cdlmKconfigMakefileast.cast.hconfig.cconfig.hdebug_fs.cdir.cdir.hdlm_internal.hlock.clock.hlockspace.clockspace.hlowcomms.clowcomms.hlvb_table.hmain.cmember.cmember.hmemory.cmemory.hmidcomms.cmidcomms.hnetlink.cplock.crcom.crcom.hrecover.crecover.hrecoverd.crecoverd.hrequestqueue.crequestqueue.huser.cuser.hutil.cutil.hdrop_caches.cecryptfsKconfigMakefilecrypto.cdebug.cdentry.cecryptfs_kernel.hfile.cinode.ckeystore.ckthread.cmain.cmessaging.cmiscdev.cmmap.cread_write.csuper.cefivarfsKconfigMakefilefile.cinode.cinternal.hsuper.cefsKconfigMakefiledir.cefs.hfile.cinode.cnamei.csuper.csymlink.ceventfd.ceventpoll.cexec.cexofsBUGSKbuildKconfigKconfig.orecommon.hdir.cexofs.hfile.cinode.cnamei.core.core_raid.core_raid.hsuper.csys.cexportfsMakefileexpfs.cext2KconfigMakefileacl.cacl.hballoc.cdir.cext2.hfile.cialloc.cinode.cioctl.cnamei.csuper.csymlink.cxattr.cxattr.hxattr_security.cxattr_trusted.cxattr_user.cext4KconfigMakefileacl.cacl.hballoc.cbitmap.cblock_validity.cdir.cext4.hext4_extents.hext4_jbd2.cext4_jbd2.hextents.cextents_status.cextents_status.hfile.cfsmap.cfsmap.hfsync.chash.cialloc.cindirect.cinline.cinode.cioctl.cmballoc.cmballoc.hmigrate.cmmp.cmove_extent.cnamei.cpage-io.creadpage.cresize.csuper.csymlink.csysfs.ctruncate.hxattr.cxattr.hxattr_security.cxattr_trusted.cxattr_user.cf2fsKconfigMakefileacl.cacl.hcheckpoint.cdata.cdebug.cdir.cextent_cache.cf2fs.hfile.cgc.cgc.hhash.cinline.cinode.cnamei.cnode.cnode.hrecovery.csegment.csegment.hshrinker.csuper.ctrace.ctrace.hxattr.cxattr.hfatKconfigMakefilecache.cdir.cfat.hfatent.cfile.cinode.cmisc.cnamei_msdos.cnamei_vfat.cnfs.cfcntl.cfhandle.cfile.cfile_table.cfilesystems.cfreevxfsKconfigMakefilevxfs.hvxfs_bmap.cvxfs_dir.hvxfs_extern.hvxfs_fshead.cvxfs_fshead.hvxfs_immed.cvxfs_inode.cvxfs_inode.hvxfs_lookup.cvxfs_olt.cvxfs_olt.hvxfs_subr.cvxfs_super.cfs-writeback.cfs_pin.cfs_struct.cfscacheKconfigMakefilecache.ccookie.cfsdef.chistogram.cinternal.hmain.cnetfs.cobject-list.cobject.coperation.cpage.cproc.cstats.cfuseKconfigMakefileacl.ccontrol.ccuse.cdev.cdir.cfile.cfuse_i.hinode.cxattr.cgfs2KconfigMakefileacl.cacl.haops.cbmap.cbmap.hdentry.cdir.cdir.hexport.cfile.cgfs2.hglock.cglock.hglops.cglops.hincore.hinode.cinode.hlock_dlm.clog.clog.hlops.clops.hmain.cmeta_io.cmeta_io.hops_fstype.cquota.cquota.hrecovery.crecovery.hrgrp.crgrp.hsuper.csuper.hsys.csys.htrace_gfs2.htrans.ctrans.hutil.cutil.hxattr.cxattr.hhfsKconfigMakefileattr.cbfind.cbitmap.cbnode.cbrec.cbtree.cbtree.hcatalog.cdir.cextent.chfs.hhfs_fs.hinode.cmdb.cpart_tbl.cstring.csuper.csysdep.ctrans.chfsplusKconfigMakefileacl.hattributes.cbfind.cbitmap.cbnode.cbrec.cbtree.ccatalog.cdir.cextents.chfsplus_fs.hhfsplus_raw.hinode.cioctl.coptions.cpart_tbl.cposix_acl.csuper.ctables.cunicode.cwrapper.cxattr.cxattr.hxattr_security.cxattr_trusted.cxattr_user.chostfsMakefilehostfs.hhostfs_kern.chostfs_user.chpfsKconfigMakefilealloc.canode.cbuffer.cdentry.cdir.cdnode.cea.cfile.chpfs.hhpfs_fn.hinode.cmap.cname.cnamei.csuper.chugetlbfsMakefileinode.cinode.cinternal.hioctl.ciomap.cisofsKconfigMakefilecompress.cdir.cexport.cinode.cisofs.hjoliet.cnamei.crock.crock.hutil.czisofs.hjbd2KconfigMakefilecheckpoint.ccommit.cjournal.crecovery.crevoke.ctransaction.cjffs2KconfigLICENCEMakefileREADME.LockingTODOacl.cacl.hbackground.cbuild.ccompr.ccompr.hcompr_lzo.ccompr_rtime.ccompr_rubin.ccompr_zlib.cdebug.cdebug.hdir.cerase.cfile.cfs.cgc.cioctl.cjffs2_fs_i.hjffs2_fs_sb.hmalloc.cnodelist.cnodelist.hnodemgmt.cos-linux.hread.creadinode.cscan.csecurity.csummary.csummary.hsuper.csymlink.cwbuf.cwrite.cwritev.cxattr.cxattr.hxattr_trusted.cxattr_user.cjfsKconfigMakefileacl.cfile.cinode.cioctl.cjfs_acl.hjfs_btree.hjfs_debug.cjfs_debug.hjfs_dinode.hjfs_discard.cjfs_discard.hjfs_dmap.cjfs_dmap.hjfs_dtree.cjfs_dtree.hjfs_extent.cjfs_extent.hjfs_filsys.hjfs_imap.cjfs_imap.hjfs_incore.hjfs_inode.cjfs_inode.hjfs_lock.hjfs_logmgr.cjfs_logmgr.hjfs_metapage.cjfs_metapage.hjfs_mount.cjfs_superblock.hjfs_txnmgr.cjfs_txnmgr.hjfs_types.hjfs_umount.cjfs_unicode.cjfs_unicode.hjfs_uniupr.cjfs_xattr.hjfs_xtree.cjfs_xtree.hnamei.cresize.csuper.csymlink.cxattr.ckernfsKconfigMakefiledir.cfile.cinode.ckernfs-internal.hmount.csymlink.clibfs.clockdMakefileclnt4xdr.cclntlock.cclntproc.cclntxdr.chost.cmon.cnetns.hprocfs.cprocfs.hsvc.csvc4proc.csvclock.csvcproc.csvcshare.csvcsubs.cxdr.cxdr4.clocks.cmbcache.cminixKconfigMakefilebitmap.cdir.cfile.cinode.citree_common.citree_v1.citree_v2.cminix.hnamei.cmount.hmpage.cnamei.cnamespace.cncpfsKconfigMakefiledir.cfile.cgetopt.cgetopt.hinode.cioctl.cmmap.cncp_fs.hncp_fs_i.hncp_fs_sb.hncplib_kernel.cncplib_kernel.hncpsign_kernel.cncpsign_kernel.hsock.csymlink.cnfsKconfigMakefileblocklayoutMakefileblocklayout.cblocklayout.hdev.cextent_tree.crpc_pipefs.ccache_lib.ccache_lib.hcallback.ccallback.hcallback_proc.ccallback_xdr.cclient.cdelegation.cdelegation.hdir.cdirect.cdns_resolve.cdns_resolve.hfile.cfilelayoutMakefilefilelayout.cfilelayout.hfilelayoutdev.cflexfilelayoutMakefileflexfilelayout.cflexfilelayout.hflexfilelayoutdev.cfscache-index.cfscache.cfscache.hgetroot.cinode.cinternal.hio.ciostat.hmount_clnt.cnamespace.cnetns.hnfs.hnfs2super.cnfs2xdr.cnfs3_fs.hnfs3acl.cnfs3client.cnfs3proc.cnfs3super.cnfs3xdr.cnfs42.hnfs42proc.cnfs42xdr.cnfs4_fs.hnfs4client.cnfs4file.cnfs4getroot.cnfs4idmap.cnfs4idmap.hnfs4namespace.cnfs4proc.cnfs4renewd.cnfs4session.cnfs4session.hnfs4state.cnfs4super.cnfs4sysctl.cnfs4trace.cnfs4trace.hnfs4xdr.cnfsroot.cnfstrace.cnfstrace.hpagelist.cpnfs.cpnfs.hpnfs_dev.cpnfs_nfs.cproc.cread.csuper.csymlink.csysctl.cunlink.cwrite.cnfs_commonMakefilegrace.cnfsacl.cnfsdKconfigMakefileacl.hauth.cauth.hblocklayout.cblocklayoutxdr.cblocklayoutxdr.hcache.hcurrent_stateid.hexport.cexport.hfault_inject.cflexfilelayout.cflexfilelayoutxdr.cflexfilelayoutxdr.hidmap.hlockd.cnetns.hnfs2acl.cnfs3acl.cnfs3proc.cnfs3xdr.cnfs4acl.cnfs4callback.cnfs4idmap.cnfs4layouts.cnfs4proc.cnfs4recover.cnfs4state.cnfs4xdr.cnfscache.cnfsctl.cnfsd.hnfsfh.cnfsfh.hnfsproc.cnfssvc.cnfsxdr.cpnfs.hstate.hstats.cstats.htrace.ctrace.hvfs.cvfs.hxdr.hxdr3.hxdr4.hxdr4cb.hnilfs2KconfigMakefilealloc.calloc.hbmap.cbmap.hbtnode.cbtnode.hbtree.cbtree.hcpfile.ccpfile.hdat.cdat.hdir.cdirect.cdirect.hexport.hfile.cgcinode.cifile.cifile.hinode.cioctl.cmdt.cmdt.hnamei.cnilfs.hpage.cpage.hrecovery.csegbuf.csegbuf.hsegment.csegment.hsufile.csufile.hsuper.csysfs.csysfs.hthe_nilfs.cthe_nilfs.hnlsKconfigMakefilemac-celtic.cmac-centeuro.cmac-croatian.cmac-cyrillic.cmac-gaelic.cmac-greek.cmac-iceland.cmac-inuit.cmac-roman.cmac-romanian.cmac-turkish.cnls_ascii.cnls_base.cnls_cp1250.cnls_cp1251.cnls_cp1255.cnls_cp437.cnls_cp737.cnls_cp775.cnls_cp850.cnls_cp852.cnls_cp855.cnls_cp857.cnls_cp860.cnls_cp861.cnls_cp862.cnls_cp863.cnls_cp864.cnls_cp865.cnls_cp866.cnls_cp869.cnls_cp874.cnls_cp932.cnls_cp936.cnls_cp949.cnls_cp950.cnls_euc-jp.cnls_iso8859-1.cnls_iso8859-13.cnls_iso8859-14.cnls_iso8859-15.cnls_iso8859-2.cnls_iso8859-3.cnls_iso8859-4.cnls_iso8859-5.cnls_iso8859-6.cnls_iso8859-7.cnls_iso8859-9.cnls_koi8-r.cnls_koi8-ru.cnls_koi8-u.cnls_utf8.cno-block.cnotifyKconfigMakefilednotifyKconfigMakefilednotify.cfanotifyKconfigMakefilefanotify.cfanotify.hfanotify_user.cfdinfo.cfdinfo.hfsnotify.cfsnotify.hgroup.cinotifyKconfigMakefileinotify.hinotify_fsnotify.cinotify_user.cmark.cnotification.cnsfs.cntfsKconfigMakefileaops.caops.hattrib.cattrib.hbitmap.cbitmap.hcollate.ccollate.hcompress.cdebug.cdebug.hdir.cdir.hendian.hfile.cindex.cindex.hinode.cinode.hlayout.hlcnalloc.clcnalloc.hlogfile.clogfile.hmalloc.hmft.cmft.hmst.cnamei.cntfs.hquota.cquota.hrunlist.crunlist.hsuper.csysctl.csysctl.htime.htypes.hunistr.cupcase.cusnjrnl.cusnjrnl.hvolume.hocfs2KconfigMakefileacl.cacl.halloc.calloc.haops.caops.hblockcheck.cblockcheck.hbuffer_head_io.cbuffer_head_io.hclusterMakefileheartbeat.cheartbeat.hmasklog.cmasklog.hnetdebug.cnodemanager.cnodemanager.hocfs2_heartbeat.hocfs2_nodemanager.hquorum.cquorum.hsys.csys.htcp.ctcp.htcp_internal.hdcache.cdcache.hdir.cdir.hdlmMakefiledlmapi.hdlmast.cdlmcommon.hdlmconvert.cdlmconvert.hdlmdebug.cdlmdebug.hdlmdomain.cdlmdomain.hdlmlock.cdlmmaster.cdlmrecovery.cdlmthread.cdlmunlock.cdlmfsMakefiledlmfs.cuserdlm.cuserdlm.hdlmglue.cdlmglue.hexport.cexport.hextent_map.cextent_map.hfile.cfile.hfilecheck.cfilecheck.hheartbeat.cheartbeat.hinode.cinode.hioctl.cioctl.hjournal.cjournal.hlocalalloc.clocalalloc.hlocks.clocks.hmmap.cmmap.hmove_extents.cmove_extents.hnamei.cnamei.hocfs1_fs_compat.hocfs2.hocfs2_fs.hocfs2_ioctl.hocfs2_lockid.hocfs2_lockingver.hocfs2_trace.hquota.hquota_global.cquota_local.crefcounttree.crefcounttree.hreservations.creservations.hresize.cresize.hslot_map.cslot_map.hstack_o2cb.cstack_user.cstackglue.cstackglue.hsuballoc.csuballoc.hsuper.csuper.hsymlink.csymlink.hsysfile.csysfile.huptodate.cuptodate.hxattr.cxattr.homfsKconfigMakefilebitmap.cdir.cfile.cinode.comfs.homfs_fs.hopen.copenpromfsMakefileinode.corangefsKconfigMakefileacl.cdcache.cdevorangefs-req.cdir.cdowncall.hfile.cinode.cnamei.corangefs-bufmap.corangefs-bufmap.horangefs-cache.corangefs-debug.horangefs-debugfs.corangefs-debugfs.horangefs-dev-proto.horangefs-kernel.horangefs-mod.corangefs-sysfs.corangefs-sysfs.horangefs-utils.cprotocol.hsuper.csymlink.cupcall.hwaitqueue.cxattr.coverlayfsKconfigMakefilecopy_up.cdir.cinode.cnamei.coverlayfs.hovl_entry.hreaddir.csuper.cutil.cpipe.cpnode.cpnode.hposix_acl.cprocKconfigMakefilearray.cbase.ccmdline.cconsoles.ccpuinfo.cdevices.cfd.cfd.hgeneric.cinode.cinternal.hinterrupts.ckcore.ckmsg.cloadavg.cmeminfo.cnamespaces.cnommu.cpage.cproc_net.cproc_sysctl.cproc_tty.croot.cself.csoftirqs.cstat.ctask_mmu.ctask_nommu.cthread_self.cuptime.cversion.cvmcore.cproc_namespace.cpstoreKconfigMakefileftrace.cinode.cinternal.hplatform.cpmsg.cram.cram_core.cqnx4KconfigMakefileREADMEbitmap.cdir.cinode.cnamei.cqnx4.hqnx6KconfigMakefileREADMEdir.cinode.cnamei.cqnx6.hsuper_mmi.cquotaKconfigMakefilecompat.cdquot.ckqid.cnetlink.cquota.cquota_tree.cquota_tree.hquota_v1.cquota_v2.cquotaio_v1.hquotaio_v2.hramfsMakefilefile-mmu.cfile-nommu.cinode.cinternal.hread_write.creaddir.creiserfsKconfigMakefileREADMEacl.hbitmap.cdir.cdo_balan.cfile.cfix_node.chashes.cibalance.cinode.cioctl.citem_ops.cjournal.clbalance.clock.cnamei.cobjectid.cprints.cprocfs.creiserfs.hresize.cstree.csuper.ctail_conversion.cxattr.cxattr.hxattr_acl.cxattr_security.cxattr_trusted.cxattr_user.cromfsKconfigMakefileinternal.hmmap-nommu.cstorage.csuper.cselect.cseq_file.csignalfd.csplice.csquashfsKconfigMakefileblock.ccache.cdecompressor.cdecompressor.hdecompressor_multi.cdecompressor_multi_percpu.cdecompressor_single.cdir.cexport.cfile.cfile_cache.cfile_direct.cfragment.cid.cinode.clz4_wrapper.clzo_wrapper.cnamei.cpage_actor.cpage_actor.hsquashfs.hsquashfs_fs.hsquashfs_fs_i.hsquashfs_fs_sb.hsuper.csymlink.cxattr.cxattr.hxattr_id.cxz_wrapper.czlib_wrapper.cstack.cstat.cstatfs.csuper.csync.csysfsKconfigMakefiledir.cfile.cgroup.cmount.csymlink.csysfs.hsysvKconfigMakefileballoc.cdir.cfile.cialloc.cinode.citree.cnamei.csuper.csysv.htimerfd.ctracefsMakefileinode.cubifsKconfigMakefilebudget.ccommit.ccompress.ccrypto.cdebug.cdebug.hdir.cfile.cfind.cgc.cio.cioctl.cjournal.ckey.hlog.clprops.clpt.clpt_commit.cmaster.cmisc.cmisc.horphan.crecovery.creplay.csb.cscan.cshrinker.csuper.ctnc.ctnc_commit.ctnc_misc.cubifs-media.hubifs.hxattr.cudfKconfigMakefileballoc.cdir.cdirectory.cecma_167.hfile.cialloc.cinode.clowlevel.cmisc.cnamei.costa_udf.hpartition.csuper.csymlink.ctruncate.cudf_i.hudf_sb.hudfdecl.hudfend.hudftime.cunicode.cufsKconfigMakefileballoc.ccylinder.cdir.cfile.cialloc.cinode.cnamei.csuper.cswab.hufs.hufs_fs.hutil.cutil.huserfaultfd.cutimes.cxattr.cxfsKconfigMakefilekmem.ckmem.hlibxfsxfs_ag_resv.cxfs_ag_resv.hxfs_alloc.cxfs_alloc.hxfs_alloc_btree.cxfs_alloc_btree.hxfs_attr.cxfs_attr_leaf.cxfs_attr_leaf.hxfs_attr_remote.cxfs_attr_remote.hxfs_attr_sf.hxfs_bit.cxfs_bit.hxfs_bmap.cxfs_bmap.hxfs_bmap_btree.cxfs_bmap_btree.hxfs_btree.cxfs_btree.hxfs_cksum.hxfs_da_btree.cxfs_da_btree.hxfs_da_format.cxfs_da_format.hxfs_defer.cxfs_defer.hxfs_dir2.cxfs_dir2.hxfs_dir2_block.cxfs_dir2_data.cxfs_dir2_leaf.cxfs_dir2_node.cxfs_dir2_priv.hxfs_dir2_sf.cxfs_dquot_buf.cxfs_format.hxfs_fs.hxfs_ialloc.cxfs_ialloc.hxfs_ialloc_btree.cxfs_ialloc_btree.hxfs_inode_buf.cxfs_inode_buf.hxfs_inode_fork.cxfs_inode_fork.hxfs_log_format.hxfs_log_recover.hxfs_log_rlimit.cxfs_quota_defs.hxfs_refcount.cxfs_refcount.hxfs_refcount_btree.cxfs_refcount_btree.hxfs_rmap.cxfs_rmap.hxfs_rmap_btree.cxfs_rmap_btree.hxfs_rtbitmap.cxfs_sb.cxfs_sb.hxfs_shared.hxfs_symlink_remote.cxfs_trans_resv.cxfs_trans_resv.hxfs_trans_space.hxfs_types.hmrlock.huuid.cuuid.hxfs.hxfs_acl.cxfs_acl.hxfs_aops.cxfs_aops.hxfs_attr.hxfs_attr_inactive.cxfs_attr_list.cxfs_bmap_item.cxfs_bmap_item.hxfs_bmap_util.cxfs_bmap_util.hxfs_buf.cxfs_buf.hxfs_buf_item.cxfs_buf_item.hxfs_dir2_readdir.cxfs_discard.cxfs_discard.hxfs_dquot.cxfs_dquot.hxfs_dquot_item.cxfs_dquot_item.hxfs_error.cxfs_error.hxfs_export.cxfs_export.hxfs_extent_busy.cxfs_extent_busy.hxfs_extfree_item.cxfs_extfree_item.hxfs_file.cxfs_filestream.cxfs_filestream.hxfs_fsmap.cxfs_fsmap.hxfs_fsops.cxfs_fsops.hxfs_globals.cxfs_icache.cxfs_icache.hxfs_icreate_item.cxfs_icreate_item.hxfs_inode.cxfs_inode.hxfs_inode_item.cxfs_inode_item.hxfs_ioctl.cxfs_ioctl.hxfs_ioctl32.cxfs_ioctl32.hxfs_iomap.cxfs_iomap.hxfs_iops.cxfs_iops.hxfs_itable.cxfs_itable.hxfs_linux.hxfs_log.cxfs_log.hxfs_log_cil.cxfs_log_priv.hxfs_log_recover.cxfs_message.cxfs_message.hxfs_mount.cxfs_mount.hxfs_mru_cache.cxfs_mru_cache.hxfs_ondisk.hxfs_pnfs.cxfs_pnfs.hxfs_qm.cxfs_qm.hxfs_qm_bhv.cxfs_qm_syscalls.cxfs_quota.hxfs_quotaops.cxfs_refcount_item.cxfs_refcount_item.hxfs_reflink.cxfs_reflink.hxfs_rmap_item.cxfs_rmap_item.hxfs_rtalloc.cxfs_rtalloc.hxfs_stats.cxfs_stats.hxfs_super.cxfs_super.hxfs_symlink.cxfs_symlink.hxfs_sysctl.cxfs_sysctl.hxfs_sysfs.cxfs_sysfs.hxfs_trace.cxfs_trace.hxfs_trans.cxfs_trans.hxfs_trans_ail.cxfs_trans_bmap.cxfs_trans_buf.cxfs_trans_dquot.cxfs_trans_extfree.cxfs_trans_inode.cxfs_trans_priv.hxfs_trans_refcount.cxfs_trans_rmap.cxfs_xattr.cincludeacpiacbuffer.hacconfig.hacexcep.hacnames.hacoutput.hacpi.hacpi_bus.hacpi_drivers.hacpi_io.hacpi_lpat.hacpi_numa.hacpiosxf.hacpixf.hacrestyp.hactbl.hactbl1.hactbl2.hactbl3.hactypes.hacuuid.hapei.hbutton.hcppc_acpi.hghes.hhed.hpcc.hpdc_intel.hplatformacenv.hacenvex.hacgcc.hacgccex.hacintel.haclinux.haclinuxex.hprocessor.hreboot.hvideo.hasm-generic4level-fixup.h5level-fixup.hasm-offsets.hasm-prototypes.hatomic-long.hatomic.hatomic64.haudit_change_attr.haudit_dir_write.haudit_read.haudit_signal.haudit_write.hbarrier.hbitopsbitops.h__ffs.h__fls.harch_hweight.hatomic.hbuiltin-__ffs.hbuiltin-__fls.hbuiltin-ffs.hbuiltin-fls.hconst_hweight.hext2-atomic-setbit.hext2-atomic.hffs.hffz.hfind.hfls.hfls64.hhweight.hle.hlock.hnon-atomic.hsched.hbitsperlong.hbug.hbugs.hcache.hcacheflush.hchecksum.hclkdev.hcmpxchg-local.hcmpxchg.hcurrent.hdelay.hdevice.hdiv64.hdma-contiguous.hdma.hearly_ioremap.hemergency-restart.hexec.hexport.hextable.hfb.hfixmap.hftrace.hfutex.hgetorder.hgpio.hhardirq.hhugetlb.hhw_irq.hide_iops.hint-ll64.hio.hioctl.hiomap.hirq.hirq_regs.hirq_work.hirqflags.hkdebug.hkmap_types.hkprobes.hkvm_para.hlinkage.hlocal.hlocal64.hmcs_spinlock.hmemory_model.hmm-arch-hooks.hmm_hooks.hmmu.hmmu_context.hmodule.hmsi.hpage.hparam.hparport.hpci.hpci_iomap.hpercpu.hpgalloc.hpgtable-nop4d-hack.hpgtable-nop4d.hpgtable-nopmd.hpgtable-nopud.hpgtable.hpreempt.hptrace.hqrwlock.hqrwlock_types.hqspinlock.hqspinlock_types.hresource.hrwsem.hseccomp.hsections.hsegment.hserial.hset_memory.hsiginfo.hsignal.hsimd.hsizes.hspinlock.hstatfs.hstring.hswitch_to.hsyscall.hsyscalls.htermios-base.htermios.htimex.htlb.htlbflush.htopology.htrace_clock.huaccess-unaligned.huaccess.hunaligned.hunistd.huser.hvga.hvmlinux.lds.hvtime.hword-at-a-time.hxor.hclocksourcearm_arch_timer.hmetag_generic.hpxa.hsamsung_pwm.htimer-sp804.hcryptoablk_helper.hacompress.haead.haes.hakcipher.halgapi.hauthenc.hb128ops.hblowfish.hcast5.hcast6.hcast_common.hcbc.hchacha20.hcryptd.hcrypto_wq.hctr.hdes.hdh.hdrbg.hecdh.hengine.hgf128mul.hghash.hhash.hhash_info.hif_alg.hinternalacompress.haead.hakcipher.hgeniv.hhash.hkpp.hrng.hrsa.hscompress.hsimd.hskcipher.hkpp.hlrw.hmcryptd.hmd5.hnull.hpadlock.hpcrypt.hpkcs7.hpoly1305.hpublic_key.hrng.hscatterwalk.hserpent.hsha.hsha1_base.hsha256_base.hsha3.hsha512_base.hskcipher.htwofish.hvmac.hxts.hdrmati_pcigart.hbridgeanalogix_dp.hdw_hdmi.hmhl.hdrmP.hdrm_agpsupport.hdrm_atomic.hdrm_atomic_helper.hdrm_auth.hdrm_blend.hdrm_bridge.hdrm_cache.hdrm_color_mgmt.hdrm_connector.hdrm_crtc.hdrm_crtc_helper.hdrm_debugfs.hdrm_debugfs_crc.hdrm_displayid.hdrm_dp_dual_mode_helper.hdrm_dp_helper.hdrm_dp_mst_helper.hdrm_drv.hdrm_edid.hdrm_encoder.hdrm_encoder_slave.hdrm_fb_cma_helper.hdrm_fb_helper.hdrm_file.hdrm_fixed.hdrm_flip_work.hdrm_fourcc.hdrm_framebuffer.hdrm_gem.hdrm_gem_cma_helper.hdrm_global.hdrm_hashtab.hdrm_ioctl.hdrm_irq.hdrm_legacy.hdrm_mem_util.hdrm_mipi_dsi.hdrm_mm.hdrm_mode_config.hdrm_mode_object.hdrm_modes.hdrm_modeset_helper.hdrm_modeset_helper_vtables.hdrm_modeset_lock.hdrm_of.hdrm_os_linux.hdrm_panel.hdrm_pci.hdrm_pciids.hdrm_plane.hdrm_plane_helper.hdrm_prime.hdrm_print.hdrm_property.hdrm_rect.hdrm_scdc_helper.hdrm_simple_kms_helper.hdrm_sysfs.hdrm_vma_manager.hgma_drm.hi2cch7006.hsil164.htda998x.hi915_component.hi915_drm.hi915_pciids.hintel-gtt.hintel_lpe_audio.htinydrmili9341.hmipi-dbi.htinydrm-helpers.htinydrm.httmttm_bo_api.httm_bo_driver.httm_execbuf_util.httm_lock.httm_memory.httm_module.httm_object.httm_page_alloc.httm_placement.hdt-bindingsarmux500_pm_domains.hclkti-dra7-atl.hclockalphascale,asm9260.hat91.hath79-clk.haxis,artpec6-clkctrl.hbcm-cygnus.hbcm-ns2.hbcm-nsp.hbcm21664.hbcm281xx.hbcm2835-aux.hbcm2835.hberlin2.hberlin2q.hclps711x-clock.hefm32-cmu.hexynos-audss-clk.hexynos3250.hexynos4.hexynos5250.hexynos5260-clk.hexynos5410.hexynos5420.hexynos5433.hexynos5440.hexynos7-clk.hgxbb-aoclkc.hgxbb-clkc.hhi3516cv300-clock.hhi3519-clock.hhi3620-clock.hhi3660-clock.hhi6220-clock.hhip04-clock.hhistb-clock.hhix5hd2-clock.himx1-clock.himx21-clock.himx27-clock.himx5-clock.himx6qdl-clock.himx6sl-clock.himx6sx-clock.himx6ul-clock.himx7d-clock.hjz4740-cgu.hjz4780-cgu.hlpc18xx-ccu.hlpc18xx-cgu.hlpc32xx-clock.hlsi,axm5516-clks.hmarvell,mmp2.hmarvell,pxa168.hmarvell,pxa1928.hmarvell,pxa910.hmaxim,max77620.hmaxim,max77686.hmaxim,max77802.hmeson8b-clkc.hmicrochip,pic32-clock.hmpc512x-clock.hmt2701-clk.hmt6797-clk.hmt8135-clk.hmt8173-clk.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-clk.hpxa-clock.hqcom,gcc-apq8084.hqcom,gcc-ipq4019.hqcom,gcc-ipq806x.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,gcc-msm8994.hqcom,gcc-msm8996.hqcom,lcc-ipq806x.hqcom,lcc-mdm9615.hqcom,lcc-msm8960.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hqcom,mmcc-msm8996.hqcom,rpmcc.hr7s72100-clock.hr8a73a4-clock.hr8a7740-clock.hr8a7743-cpg-mssr.hr8a7745-cpg-mssr.hr8a7778-clock.hr8a7779-clock.hr8a7790-clock.hr8a7791-clock.hr8a7792-clock.hr8a7793-clock.hr8a7794-clock.hr8a7795-cpg-mssr.hr8a7796-cpg-mssr.hrenesas-cpg-mssr.hrk3036-cru.hrk3066a-cru.hrk3188-cru-common.hrk3188-cru.hrk3228-cru.hrk3288-cru.hrk3328-cru.hrk3368-cru.hrk3399-cru.hrockchip,rk808.hrv1108-cru.hs3c2410.hs3c2412.hs3c2443.hs5pv210-audss.hs5pv210.hsamsung,s2mps11.hsamsung,s3c64xx-clock.hsh73a0-clock.hste-ab8500.hstih407-clks.hstih410-clks.hstih416-clks.hstih418-clks.hstm32fx-clock.hsun4i-a10-pll2.hsun50i-a64-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun8i-a23-a33-ccu.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra114-car.htegra124-car-common.htegra124-car.htegra186-clock.htegra20-car.htegra210-car.htegra30-car.hvf610-clock.hzx296702-clock.hzx296718-clock.hdisplaytda998x.hdmaat91.haxi-dmac.hnbpfaxi.hsun4i-a10.hgenpdk2g.hgpiogpio.hmeson-gxbb-gpio.hmeson-gxl-gpio.hmeson8-gpio.hmeson8b-gpio.htegra-gpio.htegra186-gpio.hi2ci2c.hiioadcfsl-imx25-gcq.hadi,ad5592r.hqcom,spmi-vadc.hinputinput.hlinux-event-codes.hti-drv260x.hinterrupt-controllerarm-gic.hirq-st.hirq.hmips-gic.hledscommon.hleds-netxbig.hleds-ns2.hleds-pca9532.hmailboxtegra186-hsp.hmediac8sectpfe.homap3-isp.htvp5150.hxilinx-vip.hmemorymt2701-larb-port.hmt8173-larb-port.htegra114-mc.htegra124-mc.htegra210-mc.htegra30-mc.hmfdarizona.has3722.hatmel-flexcom.hdbx500-prcmu.hmax77620.hpalmas.hqcom-rpm.hst-lpc.hstm32f4-rcc.hstm32f7-rcc.hnetmscc-phy-vsc8531.hti-dp83867.hphyphy-pistachio-usb.hphy.hpinctrlam33xx.ham43xx.hat91.hbcm2835.hdm814x.hdra.hhisi.hkeystone.hmt6397-pinfunc.hmt65xx.hmt7623-pinfunc.hnomadik.homap.hpinctrl-tegra-xusb.hpinctrl-tegra.hqcom,pmic-gpio.hqcom,pmic-mpp.hrockchip.hsamsung.hstm32f429-pinfunc.hstm32f746-pinfunc.hstm32h7-pinfunc.hsun4i-a10.hpowerimx7-power.hmt2701-power.hmt8173-power.hr8a7743-sysc.hr8a7745-sysc.hr8a7779-sysc.hr8a7790-sysc.hr8a7791-sysc.hr8a7792-sysc.hr8a7793-sysc.hr8a7794-sysc.hr8a7795-sysc.hr8a7796-sysc.hraspberrypi-power.hrk3288-power.hrk3328-power.hrk3368-power.hrk3399-power.htegra186-powergate.hpwmpwm.hregulatormaxim,max77802.hresetaltr,rst-mgr-a10.haltr,rst-mgr-a10sr.haltr,rst-mgr.hamlogic,meson-gxbb-reset.hamlogic,meson8b-reset.hgxbb-aoclkc.hhisi,hi6220-resets.himx7-reset.hmt2701-resets.hmt8135-resets.hmt8173-resets.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-resets.hqcom,gcc-apq8084.hqcom,gcc-ipq806x.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hstih407-resets.hstih415-resets.hstih416-resets.hsun50i-a64-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun8i-a23-a33-ccu.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.htegra124-car.htegra186-reset.htegra210-car.hti-syscon.hsocqcom,gsbi.hrockchip,boot-mode.hzte,pm_domains.hsoundapq8016-lpass.haudio-jack-events.hcs35l32.hcs42l42.hfsl-imx-audmux.hsamsung-i2s.htas2552.htlv320aic31xx-micbias.hspmispmi.hthermallm90.htegra124-soctherm.hthermal.hthermal_exynos.hkeysasymmetric-parser.hasymmetric-subtype.hasymmetric-type.hbig_key-type.hceph-type.hdns_resolver-type.hencrypted-type.hkeyring-type.hrxrpc-type.hsystem_keyring.htrusted-type.huser-type.hkvmarm_arch_timer.harm_pmu.harm_vgic.hiodev.hlinux8250_pci.ha.out.hacct.hacpi.hacpi_dma.hacpi_iort.hacpi_pmtmr.hadb.hadfs_fs.haer.hagp_backend.hagpgart.hahci-remap.hahci_platform.haio.halarmtimer.haltera_jtaguart.haltera_uart.hambabus.hclcd.hkmi.hmmci.hpl022.hpl080.hpl08x.hpl093.hserial.hsp810.hamd-iommu.hamifd.hamifdreg.hanon_inodes.hapm-emulation.hapm_bios.happle-gmux.happle_bl.harm-cci.harm-smccc.hasn1.hasn1_ber_bytecode.hasn1_decoder.hassoc_array.hassoc_array_priv.hasync.hasync_tx.hata.hata_platform.hatalk.hath9k_platform.hatm.hatm_suni.hatm_tcp.hatmdev.hatmel-mci.hatmel-ssc.hatmel_pdc.hatmel_tc.hatomic.hattribute_container.haudit.hauto_dev-ioctl.hauto_fs.hauxvec.haverage.hb1pcmcia.hbacking-dev-defs.hbacking-dev.hbacklight.hbadblocks.hballoon_compaction.hbcd.hbch.hbcm47xx_nvram.hbcm47xx_sprom.hbcm47xx_wdt.hbcm963xx_nvram.hbcm963xx_tag.hbcmabcma.hbcma_driver_arm_c9.hbcma_driver_chipcommon.hbcma_driver_gmac_cmn.hbcma_driver_mips.hbcma_driver_pci.hbcma_driver_pcie2.hbcma_regs.hbcma_soc.hbfin_mac.hbinfmts.hbio.hbit_spinlock.hbitfield.hbitmap.hbitops.hbitrev.hblk-cgroup.hblk-mq-pci.hblk-mq-virtio.hblk-mq.hblk_types.hblkdev.hblkpg.hblktrace_api.hblockgroup_lock.hbma150.hbootmem.hbottom_half.hbpf-cgroup.hbpf.hbpf_trace.hbpf_types.hbpf_verifier.hbrcmphy.hbsearch.hbsg-lib.hbsg.hbtree-128.hbtree-type.hbtree.hbtrfs.hbuffer_head.hbug.hbvec.hbyteorderbig_endian.hgeneric.hlittle_endian.hc2port.hcache.hcacheinfo.hcancore.hdevdev.hpeak_canfd.hled.hplatformcc770.hmcp251x.hrcar_can.hsja1000.hrx-offload.hskb.hcapability.hcb710.hcciss_ioctl.hccp.hcdev.hcdrom.hcephauth.hbuffer.hceph_debug.hceph_features.hceph_frag.hceph_fs.hceph_hash.hcls_lock_client.hdebugfs.hdecode.hlibceph.hmdsmap.hmessenger.hmon_client.hmsgpool.hmsgr.hosd_client.hosdmap.hpagelist.hrados.hstring_table.htypes.hcfag12864b.hcgroup-defs.hcgroup.hcgroup_rdma.hcgroup_subsys.hcirc_buf.hcleancache.hclkclk-provider.hclk.hat91_pmc.hbcm2835.hclk-conf.hmmp.hmxs.hrenesas.htegra.hti.hzynq.hclkdev.hclock_cooling.hclockchips.hclocksource.hcm4000_cs.hcma.hcmdline-parser.hcn_proc.hcnt32_to_63.hcoda.hcoda_psdev.hcompaction.hcompat.hcompiler-clang.hcompiler-gcc.hcompiler-intel.hcompiler.hcompletion.hcomponent.hconcap.hconfigfs.hconnector.hconsole.hconsole_struct.hconsolemap.hcontainer.hcontext_tracking.hcontext_tracking_state.hcordic.hcoredump.hcoresight-pmu.hcoresight-stm.hcoresight.hcount_zeros.hcper.hcpu.hcpu_cooling.hcpu_pm.hcpu_rmap.hcpufeature.hcpufreq.hcpuhotplug.hcpuidle.hcpumask.hcpuset.hcrash_core.hcrash_dump.hcrc-ccitt.hcrc-itu-t.hcrc-t10dif.hcrc16.hcrc32.hcrc32c.hcrc7.hcrc8.hcred.hcrushcrush.hhash.hmapper.hcrypto.hcryptohash.hcs5535.hctype.hcuda.hcyclades.hdavinci_emac.hdax.hdca.hdcache.hdccp.hdcookies.hdebug_locks.hdebugfs.hdebugobjects.hdecompressbunzip2.hgeneric.hinflate.hmm.hunlz4.hunlzma.hunlzo.hunxz.hdelay.hdelayacct.hdelayed_call.hdell-led.hdevcoredump.hdevfreq-event.hdevfreq.hdevfreq_cooling.hdevice-mapper.hdevice.hdevice_cgroup.hdevpts_fs.hdigsig.hdio.hdirent.hdlm.hdlm_plock.hdm-dirty-log.hdm-io.hdm-kcopyd.hdm-region-hash.hdm9000.hdmadma-buf.hdma-contiguous.hdma-debug.hdma-direction.hdma-fence-array.hdma-fence.hdma-iommu.hdma-mapping.hdw.hhsu.hipu-dma.hmmp-pdma.hpxa-dma.hxilinx_dma.hdma_remapping.hdmaengine.hdmapool.hdmar.hdmi.hdnotify.hdns_resolver.hdqblk_qtree.hdqblk_v1.hdqblk_v2.hdrbd.hdrbd_genl.hdrbd_genl_api.hdrbd_limits.hds2782_battery.hdtlk.hdw_apb_timer.hdynamic_debug.hdynamic_queue_limits.hearlycpio.hecryptfs.hedac.hedd.hedma.heeprom_93cx6.heeprom_93xx46.hefi-bgrt.hefi.hefs_vh.heisa.helevator.helf-fdpic.helf-randomize.helf.helfcore-compat.helfcore.helfnote.henclosure.herr.herrno.herrqueue.hetherdevice.hethtool.heventfd.heventpoll.hevm.hexport.hexportfs.hext2_fs.hextable.hextconextcon.hextcon-adc-jack.hextcon-gpio.hf2fs_fs.hf75375s.hfalloc.hfanotify.hfault-inject.hfb.hfcdevice.hfcntl.hfd.hfddidevice.hfdtable.hfec.hfile.hfilter.hfips.hfirewire.hfirmwarefirmware-map.hfirmware.hmesonmeson_sm.hfixp-arith.hflat.hflex_array.hflex_proportions.hfmc-sdb.hfmc.hfont.hfpgaaltera-pr-ip-core.hfpga-bridge.hfpga-mgr.hframe.hfreezer.hfrontswap.hfs.hfs_enet_pd.hfs_pin.hfs_stack.hfs_struct.hfs_uart_pd.hfscache-cache.hfscache.hfscrypt_common.hfscrypt_notsupp.hfscrypt_supp.hfsi.hfslfsl-diu-fb.hbestcommata.hbestcomm.hbestcomm_priv.hfec.hgen_bd.hsram.hedac.hguts.hfsl_devices.hfsl_hypervisor.hfsl_ifc.hfsldma.hfsnotify.hfsnotify_backend.hftrace.hftrace_irq.hfutex.hfwnode.hgameport.hgcd.hgenalloc.hgenetlink.hgenhd.hgenl_magic_func.hgenl_magic_struct.hgetcpu.hgfp.hglob.hgoldfish.hgpiogpio-fan.hgpio-pxa.hgpio.hconsumer.hdriver.hgpio-reg.hmachine.hgpio_keys.hgpio_mouse.hhardirq.hhash.hhashtable.hhdlc.hhdlcdrv.hhdmi.hhid-debug.hhid-roccat.hhid-sensor-hub.hhid-sensor-ids.hhid.hhiddev.hhidraw.hhighmem.hhighuid.hhil.hhil_mlc.hhippidevice.hhost1x.hhp_sdc.hhpet.hhrtimer.hhsihsi.hssi_protocol.hhtcpld.hhtirq.hhuge_mm.hhugetlb.hhugetlb_cgroup.hhugetlb_inline.hhw_breakpoint.hhw_random.hhwmon-sysfs.hhwmon-vid.hhwmon.hhwspinlock.hhyperv.hhypervisor.hi2ci2c-algo-bit.hi2c-algo-pca.hi2c-algo-pcf.hi2c-dev.hi2c-gpio.hi2c-mux-gpio.hi2c-mux-pinctrl.hi2c-mux.hi2c-ocores.hi2c-omap.hi2c-pca-platform.hi2c-pnx.hi2c-pxa.hi2c-smbus.hi2c-xiic.hi2c.hadp5588.hadp8860.hadp8870.hads1015.hapds990x.hbfin_twi.hbh1770glc.hdm355evm_msp.hds620.hi2c-hid.hi2c-sh_mobile.hlm8323.hltc4245.hmax6639.hmax732x.hmcs.hmlxcpld.hmms114.hpca954x.hpcf857x.hpmbus.hpxa-i2c.htc35876x.htps65010.htsc2007.htwl.htwl4030-madc.hi7300_idle.hi8042.hi8253.hicmp.hicmpv6.hide.hidr.hieee80211.hieee802154.hif_arp.hif_bridge.hif_eql.hif_ether.hif_fddi.hif_frad.hif_link.hif_ltalk.hif_macvlan.hif_phonet.hif_pppol2tp.hif_pppox.hif_tap.hif_team.hif_tun.hif_tunnel.hif_vlan.higmp.hihex.hiioaccelkxcjk_1013.hadcad_sigma_delta.hbuffer-dma.hbuffer-dmaengine.hbuffer.hbuffer_impl.hcommonssp_sensors.hst_sensors.hst_sensors_i2c.hst_sensors_spi.hconfigfs.hconsumer.hdacad5421.had5504.had5791.hmax517.hmcp4725.hdriver.hevents.hfrequencyad9523.hadf4350.hgyroitg3200.hiio.himuadis.hkfifo_buf.hmachine.hmagnetometerak8975.hsw_device.hsw_trigger.hsysfs.htimerstm32-timer-trigger.htrigger.htrigger_consumer.htriggered_buffer.htriggered_event.htypes.hima.hin.hin6.hinet.hinet_diag.hinetdevice.hinit.hinit_ohci1394_dma.hinit_task.hinitrd.hinotify.hinputinput-polldev.hinput.had714x.hadp5589.hadxl34x.has5011.hauo-pixcir-ts.hbu21013.hcma3000.hcy8ctmg110_pdata.hcyttsp.hgp2ap002a00f.hgpio_tilt.hili210x.hkxtj9.hlm8333.hmatrix_keypad.hmt.hnavpoint.hsamsung-keypad.hsh_keysc.hsparse-keymap.htouchscreen.htps6507x-ts.hintegrity.hintel-iommu.hintel-svm.hinterrupt.hinterval_tree.hinterval_tree_generic.hio-64-nonatomic-hi-lo.hio-64-nonatomic-lo-hi.hio-mapping.hio.hioc3.hioc4.hiocontext.hiomap.hiommu-common.hiommu-helper.hiommu.hiopoll.hioport.hioprio.hiova.hip.hipack.hipc.hipc_namespace.hipmi-fru.hipmi.hipmi_smi.hipv6.hipv6_route.hirq.hirq_cpustat.hirq_poll.hirq_work.hirqbypass.hirqchipirqchip.harm-gic-common.harm-gic-v3.harm-gic.harm-vic.hchained_irq.hingenic.hirq-omap-intc.hirq-partition-percpu.hirq-sa11x0.hmetag-ext.hmetag.hmips-gic.hmmp.hmxs.hversatile-fpga.hxtensa-mx.hxtensa-pic.hirqdesc.hirqdomain.hirqflags.hirqhandler.hirqnr.hirqreturn.hisa.hisapnp.hiscsi_boot_sysfs.hiscsi_ibft.hisdnisdn.hcapilli.hcapiutil.hhdlc.hisdn_divertif.hisdn_ppp.hisdnif.hisicom.hjbd2.hjhash.hjiffies.hjournal-head.hjoystick.hjump_label.hjump_label_ratelimit.hjz4740-adc.hjz4780-nemc.hkallsyms.hkasan-checks.hkasan.hkbd_diacr.hkbd_kern.hkbuild.hkconfig.hkcore.hkcov.hkd.hkdb.hkdebug.hkdev_t.hkern_levels.hkernel-page-flags.hkernel.hkernel_stat.hkernelcapi.hkernfs.hkexec.hkey-type.hkey.hkeyboard.hkfifo.hkgdb.hkhugepaged.hklist.hkmemcheck.hkmemleak.hkmod.hkmsg_dump.hkobj_map.hkobject.hkobject_ns.hkprobes.hkref.hks0108.hks8842.hks8851_mll.hksm.hkthread.hktime.hkvm_host.hkvm_irqfd.hkvm_para.hkvm_types.hl2tp.hlapb.hlatencytop.hlcd.hlcm.hled-class-flash.hled-lm3530.hleds-bd2802.hleds-lp3944.hleds-lp3952.hleds-pca9532.hleds-regulator.hleds-tca6507.hleds.hleds_pwm.hlguest.hlguest_launcher.hlibata.hlibfdt.hlibfdt_env.hlibnvdimm.hlibps2.hlicense.hlightnvm.hlinkage.hlinux_logo.hlis3lv02d.hlist.hlist_bl.hlist_lru.hlist_nulls.hlist_sort.hlivepatch.hllc.hllist.hlockdbind.hdebug.hlockd.hnlm.hshare.hxdr.hxdr4.hlockdep.hlockref.hlog2.hlp.hlru_cache.hlsm_audit.hlsm_hooks.hlz4.hlzo.hmISDNdsp.hmISDNhw.hmISDNif.hmailboxbrcm-message.hmailbox_client.hmailbox_controller.hmaple.hmarvell_phy.hmath64.hmax17040_battery.hmbcache.hmbus.hmc146818rtc.hmc6821.hmcb.hmdev.hmdio-bitbang.hmdio-mux.hmdio.hmei_cl_bus.hmemblock.hmemcontrol.hmemory.hmemory_hotplug.hmempolicy.hmempool.hmemremap.hmemstick.hmfd88pm80x.h88pm860x.haat2870.hab3100.habx500abx500.hab8500-bm.hab8500-codec.hab8500-gpadc.hab8500-sysctrl.hab8500.hux500_chargalg.hac100.hadp5520.haltera-a10sr.harizonacore.hpdata.hregisters.has3711.has3722.hasic3.hatmel-hlcdc.haxp20x.hbcm590xx.hcore.hcros_ec.hcros_ec_commands.hda8xx-cfgchip.hda903x.hda9052da9052.hpdata.hreg.hda9055core.hpdata.hreg.hda9062core.hregisters.hda9063core.hpdata.hregisters.hda9150core.hregisters.hdavinci_voicecodec.hdb8500-prcmu.hdbx500-prcmu.hdln2.hds1wm.hezx-pcap.hhi6421-pmic.hhi655x-pmic.hhtc-pasic3.himx25-tsadc.hintel_msic.hintel_soc_pmic.hintel_soc_pmic_bxtwc.hipaq-micro.hjanz.hkempld.hlm3533.hlp3943.hlp873x.hlp8788-isink.hlp8788.hlpc_ich.hmax14577-private.hmax14577.hmax77620.hmax77686-private.hmax77686.hmax77693-common.hmax77693-private.hmax77693.hmax77843-private.hmax8907.hmax8925.hmax8997-private.hmax8997.hmax8998-private.hmax8998.hmc13783.hmc13892.hmc13xxx.hmcp.hmenelaus.hmotorola-cpcap.hmt6323core.hregisters.hmt6397core.hregisters.hmxs-lradc.hpalmas.hpcf50633adc.hbacklight.hcore.hgpio.hmbc.hpmic.hqcom_rpm.hrc5t583.hrdc321x.hretu.hrk808.hrn5t618.hrt5033-private.hrt5033.hrtsx_common.hrtsx_pci.hrtsx_usb.hsamsungcore.hirq.hrtc.hs2mpa01.hs2mps11.hs2mps13.hs2mps14.hs2mps15.hs2mpu02.hs5m8763.hs5m8767.hsi476x-core.hsi476x-platform.hsi476x-reports.hsky81452.hsmsc.hsta2x11-mfd.hstm32-timers.hstmpe.hstw481x.hsun4i-gpadc.hsysconsyscon.hatmel-matrix.hatmel-mc.hatmel-smc.hatmel-st.hclps711x.hexynos4-pmu.hexynos5-pmu.himx6q-iomuxc-gpr.himx7-iomuxc-gpr.ht7l66xb.htc3589x.htc6387xb.htc6393xb.hti-lmu-register.hti-lmu.hti_am335x_tscadc.htmio.htps6105x.htps6507x.htps65086.htps65090.htps65217.htps65218.htps6586x.htps65910.htps65912.htps80031.htwl4030-audio.htwl6040.hucb1x00.hviperboard.hwl1273-core.hwm831xauxadc.hcore.hgpio.hirq.hotp.hpdata.hpmu.hregulator.hstatus.hwatchdog.hwm8350audio.hcomparator.hcore.hgpio.hpmic.hrtc.hsupply.hwdt.hwm8400-audio.hwm8400-private.hwm8400.hwm8994core.hgpio.hpdata.hregisters.hmic_bus.hmicrel_phy.hmicrochipphy.hmigrate.hmigrate_mode.hmii.hmiscdevice.hmlx4cmd.hcq.hdevice.hdoorbell.hdriver.hqp.hsrq.hmlx5cmd.hcq.hdevice.hdoorbell.hdriver.hfs.hmlx5_ifc.hport.hqp.hsrq.htransobj.hvport.hmm-arch-hooks.hmm.hmm_inline.hmm_types.hmm_types_task.hmman.hmmccard.hcore.hhost.hmmc.hpm.hsd.hsdhci-pci-data.hsdio.hsdio_func.hsdio_ids.hsh_mmcif.hslot-gpio.hmmdebug.hmmiotrace.hmmu_context.hmmu_notifier.hmmzone.hmnt_namespace.hmod_devicetable.hmodule.hmoduleloader.hmoduleparam.hmount.hmpage.hmpi.hmpls.hmpls_iptunnel.hmroute.hmroute6.hmsdos_fs.hmsg.hmsi.hmtdbbm.hblktrans.hcfi.hcfi_endian.hconcat.hdoc2000.hflashchip.hftl.hgen_probe.hinftl.hlatch-addr-flash.hlpc32xx_mlc.hlpc32xx_slc.hmap.hmtd.hmtdram.hnand-gpio.hnand.hnand_bch.hnand_ecc.hndfc.hnftl.honenand.honenand_regs.hpartitions.hpfow.hphysmap.hpismo.hplat-ram.hqinfo.hsh_flctl.hsharpsl.hspear_smi.hspi-nor.hsuper.hubi.hxip.hmutex.hmv643xx.hmv643xx_eth.hmv643xx_i2c.hmvebu-pmsu.hmxm-wmi.hn_r3964.hnamei.hnd.hnet.hnetdev_features.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_comment.hip_set_counter.hip_set_getport.hip_set_hash.hip_set_list.hip_set_skbinfo.hip_set_timeout.hpfxlen.hnf_conntrack_amanda.hnf_conntrack_common.hnf_conntrack_dccp.hnf_conntrack_ftp.hnf_conntrack_h323.hnf_conntrack_h323_asn1.hnf_conntrack_h323_types.hnf_conntrack_irc.hnf_conntrack_pptp.hnf_conntrack_proto_gre.hnf_conntrack_sane.hnf_conntrack_sctp.hnf_conntrack_sip.hnf_conntrack_snmp.hnf_conntrack_tcp.hnf_conntrack_tftp.hnf_conntrack_zones_common.hnfnetlink.hnfnetlink_acct.hx_tables.hxt_hashlimit.hxt_physdev.hnetfilter_arparp_tables.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebtables.hnetfilter_defs.hnetfilter_ingress.hnetfilter_ipv4netfilter_ipv4.hip_tables.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hnetlink.hnetpoll.hnfs.hnfs3.hnfs4.hnfs_fs.hnfs_fs_i.hnfs_fs_sb.hnfs_iostat.hnfs_page.hnfs_xdr.hnfsacl.hnl802154.hnls.hnmi.hnode.hnodemask.hnotifier.hns_common.hnsc_gpio.hnsproxy.hntb.hntb_transport.hnubus.hnuma.hnvme-fc-driver.hnvme-fc.hnvme-rdma.hnvme.hnvmem-consumer.hnvmem-provider.hnvram.hof.hof_address.hof_device.hof_dma.hof_fdt.hof_gpio.hof_graph.hof_iommu.hof_irq.hof_mdio.hof_net.hof_pci.hof_pdt.hof_platform.hof_reserved_mem.hoid_registry.holpc-ec.homap-dma.homap-dmaengine.homap-gpmc.homap-iommu.homap-mailbox.homapfb.honce.hoom.hopenvswitch.hoprofile.hosq_lock.hoxu210hp.hpadata.hpage-flags-layout.hpage-flags.hpage-isolation.hpage_counter.hpage_ext.hpage_idle.hpage_owner.hpage_ref.hpageblock-flags.hpagemap.hpagevec.hparman.hparport.hparport_pc.hparser.hpata_arasan_cf_data.hpatchkey.hpath.hpch_dma.hpci-acpi.hpci-aspm.hpci-ats.hpci-dma-compat.hpci-dma.hpci-ecam.hpci-ep-cfs.hpci-epc.hpci-epf.hpci.hpci_hotplug.hpci_ids.hpcieport_if.hpda_power.hpe.hpercpu-defs.hpercpu-refcount.hpercpu-rwsem.hpercpu.hpercpu_counter.hpercpu_ida.hperfarm_pmu.hperf_event.hperf_regs.hpersonality.hpfn.hpfn_t.hphonet.hphyphy.homap_control_phy.homap_usb.hphy-qcom-ufs.hphy-sun4i-usb.hphy.htegraxusb.hphy_fixed.hphy_led_triggers.hpid.hpid_namespace.hpim.hpinctrlconsumer.hdevinfo.hmachine.hpinconf-generic.hpinconf.hpinctrl-state.hpinctrl.hpinmux.hpipe_fs_i.hpkeys.hpktcdvd.hpl320-ipc.hplatform_dataad5449.had5755.had5761.had7266.had7291.had7298.had7303.had7791.had7793.had7879.had7887.hadau17x1.hadau1977.hads7828.harm-ux500-pm.hasoc-imx-ssi.hasoc-kirkwood.hasoc-mx27vis.hasoc-palm27x.hasoc-s3c.hasoc-s3c24xx_simtec.hasoc-ti-mcbsp.hasoc-ux500-msp.hat24.hat91_adc.hata-pxa.hata-samsung_cf.hatmel.hatmel_mxt_ts.hb53.hbcmgenet.hbd6107.hbfin_rotary.hbrcmfmac.hbt-nokia-h4p.hclk-integrator.hclk-lpss.hclk-realview.hclk-u300.hcpuidle-exynos.hcrypto-atmel.hcrypto-ux500.hcyttsp4.hdavinci_asp.hdb8500_thermal.hdma-atmel.hdma-coh901318.hdma-dw.hdma-ep93xx.hdma-hsu.hdma-imx-sdma.hdma-imx.hdma-mmp_tdma.hdma-mv_xor.hdma-s3c24xx.hdma-ste-dma40.hdmtimer-omap.hdwc3-omap.hedma.hefm32-spi.hefm32-uart.hehci-sh.helm.hemif_plat.heth-netx.hfsa9480.hg762.hgpio-ath79.hgpio-davinci.hgpio-dwapb.hgpio-htc-egpio.hgpio-omap.hgpio-ts5500.hgpio_backlight.hgpmc-omap.hhsmmc-omap.hhwmon-s3c.hi2c-cbus-gpio.hi2c-davinci.hi2c-designware.hi2c-imx.hi2c-mux-reg.hi2c-nuc900.hi2c-s3c2410.hina2xx.hintel-mid_wdt.hintel-spi.hinvensense_mpu6050.hiommu-omap.hirda-pxaficp.hirda-sa11x0.hisl9305.hitco_wdt.hkeyboard-pxa930_rotary.hkeyboard-spear.hkeypad-ep93xx.hkeypad-nomadik-ske.hkeypad-omap.hkeypad-pxa27x.hkeypad-w90p910.hkeyscan-davinci.hlcd-mipid.hleds-kirkwood-netxbig.hleds-kirkwood-ns2.hleds-lm355x.hleds-lm3642.hleds-lp55xx.hleds-omap.hleds-pca963x.hleds-s3c24xx.hlm3630a_bl.hlm3639_bl.hlp855x.hlp8727.hlp8755.hlv5207lp.hmacb.hmax197.hmax3421-hcd.hmax6697.hmdio-gpio.hmediacamera-mx2.hcamera-mx3.hcamera-pxa.hcoda.hgpio-ir-recv.hir-rx51.hmmp-camera.homap1_camera.homap4iss.hs5p_hdmi.hsi4713.hsii9234.hsoc_camera_platform.htimb_radio.htimb_video.hmfd-mcp-sa11x0.hmlxcpld-hotplug.hmmc-davinci.hmmc-esdhc-imx.hmmc-mxcmmc.hmmc-omap.hmmc-pxamci.hmmc-s3cmci.hmmc-sdhci-s3c.hmmp_audio.hmmp_dma.hmouse-pxa930_trkball.hmtd-davinci-aemif.hmtd-davinci.hmtd-mxc_nand.hmtd-nand-omap2.hmtd-nand-pxa3xx.hmtd-nand-s3c2410.hmtd-onenand-omap2.hmtd-orion_nand.hmv_usb.hnet-cw1200.hnfcmrvl.hntc_thermistor.hnxp-nci.homap-twl4030.homap-wd-timer.homap1_bl.homap_drm.homapdss.hpca953x.hpcmcia-pxa2xx_viper.hpinctrl-adi2.hpinctrl-single.hpixcir_i2c_ts.hpwm_omap_dmtimer.hpxa2xx_udc.hpxa_sdhci.hregulator-haptic.hremoteproc-omap.hrtc-ds2404.hrtc-v3020.hs3c-hsotg.hs3c-hsudc.hsa11x0-serial.hsc18is602.hsdhci-pic32.hserial-imx.hserial-omap.hserial-sccnxp.hsh_ipmmu.hshmob_drm.hsht15.hsht3x.hshtc1.hsi5351.hsimplefb.hsky81452-backlight.hspi-clps711x.hspi-davinci.hspi-ep93xx.hspi-imx.hspi-mt65xx.hspi-nuc900.hspi-omap2-mcspi.hspi-s3c64xx.hssm2518.hst-nci.hst1232_pdata.hst33zp24.hst_sensors_pdata.hsyscon.hti-aemif.htouchscreen-s3c2410.htsl2563.huio_dmem_genirq.huio_pruss.husb-davinci.husb-ehci-mxc.husb-ehci-orion.husb-musb-ux500.husb-mx2.husb-ohci-pxa27x.husb-ohci-s3c2410.husb-omap.husb-omap1.husb-pxa3xx-ulpi.husb-s3c2410_udc.husb3503.hux500_wdt.hvideo-clcd-versatile.hvideo-ep93xx.hvideo-imxfb.hvideo-mx3fb.hvideo-nuc900fb.hvideo-pxafb.hvideo_s3c.hvoltage-omap.hwiznet.hwkup_m3.hx86clk-pmc-atom.hpmc_atom.hzforce_ts.hplatform_device.hplist.hpm-trace.hpm.hpm2301_charger.hpm_clock.hpm_domain.hpm_opp.hpm_qos.hpm_runtime.hpm_wakeirq.hpm_wakeup.hpmem.hpmu.hpnfs_osd_xdr.hpnp.hpoison.hpoll.hposix-clock.hposix-timers.hposix_acl.hposix_acl_xattr.hpowerab8500.hbq2415x_charger.hbq24735-charger.hbq27xxx_battery.hcharger-manager.hgeneric-adc-battery.hgpio-charger.hisp1704_charger.hjz4740-battery.hmax17042_battery.hmax8903_charger.hsbs-battery.hsmartreflex.hsmb347-charger.htwl4030_madc_battery.hpower_supply.hpowercap.hppp-comp.hppp_channel.hppp_defs.hpps-gpio.hpps_kernel.hpr.hpreempt.hprefetch.hprime_numbers.hprintk.hproc_fs.hproc_ns.hprofile.hprojid.hproperty.hpsci.hpstore.hpstore_ram.hpti.hptp_classify.hptp_clock_kernel.hptr_ring.hptrace.hpurgatory.hpvclock_gtod.hpwm.hpwm_backlight.hpxa168_eth.hpxa2xx_ssp.hqcom_scm.hqedcommon_hsi.heth_common.hfcoe_common.hiscsi_common.hqed_chain.hqed_eth_if.hqed_fcoe_if.hqed_if.hqed_iov_if.hqed_iscsi_if.hqed_ll2_if.hqed_roce_if.hqede_roce.hrdma_common.hroce_common.hstorage_common.htcp_common.hqnx6_fs.hquicklist.hquota.hquotaops.hradix-tree.hraidmd_u.hpq.hxor.hraid_class.hramfs.hrandom.hrange.hras.hratelimit.hrational.hrbtree.hrbtree_augmented.hrbtree_latch.hrcu_node_tree.hrcu_segcblist.hrcu_sync.hrculist.hrculist_bl.hrculist_nulls.hrcupdate.hrcupdate_wait.hrcutiny.hrcutree.hrcuwait.hreboot.hreciprocal_div.hrefcount.hregmap.hregset.hregulatorab8500.hact8865.harizona-ldo1.harizona-micsupp.hconsumer.hda9211.hdb8500-prcmu.hdriver.hfan53555.hfixed.hgpio-regulator.hlp3971.hlp3972.hlp872x.hmachine.hmax1586.hmax8649.hmax8660.hmax8952.hmax8973-regulator.hmt6311.hmt6323-regulator.hmt6397-regulator.hof_regulator.hpfuze100.htps51632-regulator.htps62360.htps6507x.huserspace-consumer.hrelay.hremoteprocremoteproc.hst_slim_rproc.hreservation.hresetreset-controller.hreset.hbcm63xx_pmb.hresource.hresource_ext.hrestart_block.hrfkill.hrhashtable.hring_buffer.hrio.hrio_drv.hrio_ids.hrio_regs.hrmap.hrmi.hrndis.hrodata_test.hroot_dev.hrpmsgrpmsg.hqcom_smd.hrslib.hrtcrtc.hds1286.hds1307.hds1685.hm48t59.hsirfsoc_rtciobrg.hrtmutex.hrtnetlink.hrwlock.hrwlock_api_smp.hrwlock_types.hrwsem-spinlock.hrwsem.hrxrpc.hs3c_adc_battery.hsa11x0-dma.hsbitmap.hscatterlist.hscc.hschedsched.hautogroup.hclock.hcoredump.hcpufreq.hcputime.hdeadline.hdebug.hhotplug.hidle.hinit.hjobctl.hloadavg.hmm.hnohz.hnuma_balancing.hprio.hrt.hsignal.hstat.hsysctl.htask.htask_stack.htopology.huser.hwake_q.hxacct.hsched_clock.hscif.hscpi_protocol.hscreen_info.hsctp.hscx200.hscx200_gpio.hsdb.hsdla.hseccomp.hsecurebits.hsecurity.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hselection.hselinux.hsem.hsemaphore.hseq_buf.hseq_file.hseq_file_net.hseqlock.hseqno-fence.hserdev.hserial.hserial_8250.hserial_bcm63xx.hserial_core.hserial_max3100.hserial_pnx8xxx.hserial_s3c.hserial_sci.hserio.hsfi.hsfi_acpi.hsh_clk.hsh_dma.hsh_eth.hsh_intc.hsh_timer.hshdma-base.hshm.hshmem_fs.hshrinker.hsignal.hsignal_types.hsignalfd.hsiphash.hsirfsoc_dma.hsizes.hskb_array.hskbuff.hslab.hslab_def.hslub_def.hsm501-regs.hsm501.hsmc911x.hsmc91x.hsmp.hsmpboot.hsmsc911x.hsmscphy.hsocbrcmstbbrcmstb.hdovepmu.hmediatekinfracfg.hqcommdt_loader.hsmd-rpm.hsmem.hsmem_state.hwcnss_ctrl.hrenesasrcar-rst.hrcar-sysc.hsamsungexynos-pmu.hexynos-regs-pmu.hsunxisunxi_sram.htiknav_dma.hknav_qmss.hti-msgmgr.hti_sci_protocol.hsock_diag.hsocket.hsonet.hsony-laptop.hsonypi.hsort.hsound.hsoundcard.hspiad7877.hadi_spi3.hads7846.hat73c213.hat86rf230.hcc2520.hcorgi_lcd.hds1305.heeprom.hflash.hifx_modem.hl4f00242t03.hlibertas_spi.hlms283gf05.hmax7301.hmc33880.hmcp23s08.hmmc_spi.hmxs-spi.hpxa2xx_spi.hrspi.hs3c24xx.hsh_hspi.hsh_msiof.hspi.hspi_bitbang.hspi_gpio.hspi_oc_tiny.htdo24m.htle62x0.hxilinx_spi.hspinlock.hspinlock_api_smp.hspinlock_api_up.hspinlock_types.hspinlock_types_up.hspinlock_up.hsplice.hspmi.hsram.hsrcu.hsrcuclassic.hsrcutiny.hsrcutree.hssbssb.hssb_driver_chipcommon.hssb_driver_extif.hssb_driver_gige.hssb_driver_mips.hssb_driver_pci.hssb_embedded.hssb_regs.hssbi.hstackdepot.hstackprotector.hstacktrace.hstart_kernel.hstat.hstatfs.hstatic_key.hstddef.hste_modem_shm.hstm.hstmmac.hstmp3xxx_rtc_wdt.hstmp_device.hstop_machine.hstring.hstring_helpers.hstringhash.hstringify.hsudmac.hsungem_phy.hsunrpcaddr.hauth.hauth_gss.hbc_xprt.hcache.hclnt.hdebug.hgss_api.hgss_asn1.hgss_err.hgss_krb5.hgss_krb5_enctypes.hmetrics.hmsg_prot.hrpc_pipe_fs.hrpc_rdma.hsched.hstats.hsvc.hsvc_rdma.hsvc_xprt.hsvcauth.hsvcauth_gss.hsvcsock.htimer.htypes.hxdr.hxprt.hxprtmultipath.hxprtrdma.hxprtsock.hsunserialcore.hsunxi-rsb.hsuperhyway.hsuspend.hsvga.hsw842.hswab.hswait.hswap.hswap_cgroup.hswap_slots.hswapfile.hswapops.hswiotlb.hsxgbe_platform.hsync_file.hsynclink.hsys.hsys_soc.hsyscalls.hsyscore_ops.hsysctl.hsysfs.hsyslog.hsysrq.hsysv_fs.ht10-pi.htask_io_accounting.htask_io_accounting_ops.htask_work.htaskstats_kern.htboot.htc.htca6416_keypad.htcp.htee_drv.htextsearch.htextsearch_fsm.htfrc.hthermal.hthinkpad_acpi.hthread_info.hthreads.hti_wilink_st.htick.htifm.htimb_dma.htimb_gpio.htime.htime64.htimecounter.htimekeeper_internal.htimekeeping.htimer.htimerfd.htimeriomem-rng.htimerqueue.htimex.htopology.htorture.htoshiba.htpm.htpm_command.htrace.htrace_clock.htrace_events.htrace_seq.htracefs.htracehook.htracepoint-defs.htracepoint.htransport_class.htsacct_kern.htty.htty_driver.htty_flip.htty_ldisc.htypecheck.htypes.hu64_stats_sync.huaccess.hucb1400.hucs2_string.hudp.huidgid.huinput.huio.huio_driver.hulpidriver.hinterface.hregs.hunalignedaccess_ok.hbe_byteshift.hbe_memmove.hbe_struct.hgeneric.hle_byteshift.hle_memmove.hle_struct.hmemmove.hpacked_struct.huprobes.husbusb.hassociation.hatmel_usba_udc.haudio-v2.haudio.hc67x00.hcdc-wdm.hcdc.hcdc_ncm.hch9.hchipidea.hcomposite.hehci-dbgp.hehci_def.hehci_pdriver.hezusb.hfunctionfs.hg_hid.hgadget.hgadget_configfs.hgpio_vbus.hhcd.hinput.hiowarrior.hirda.hisp116x.hisp1301.hisp1362.hisp1760.hm66592.hmsm_hsusb_hw.hmusb-ux500.hmusb.hnet2280.hof.hohci_pdriver.hotg-fsm.hotg.hphy.hphy_companion.hquirks.hr8a66597.hrenesas_usbhs.hrndis_host.hsamsung_usb_phy.hserial.hsl811.hstorage.htegra_usb_phy.htilegx.htypec.huas.hulpi.husb338x.husb_phy_generic.husbnet.hwusb-wa.hwusb.hxhci-dbgp.husb_usual.husbdevice_fs.huser-return-notifier.huser.huser_namespace.huserfaultfd_k.hutil_macros.huts.hutsname.huuid.huwbuwb.hdebug-cmd.hspec.humc.hwhci.hverification.hvermagic.hvexpress.hvfio.hvfs.hvga_switcheroo.hvgaarb.hvia-core.hvia-gpio.hvia.hvia_i2c.hvideodev2.hvirtio.hvirtio_byteorder.hvirtio_caif.hvirtio_config.hvirtio_console.hvirtio_net.hvirtio_ring.hvirtio_vsock.hvlynq.hvm_event_item.hvm_sockets.hvmacache.hvmalloc.hvme.hvmpressure.hvmstat.hvmw_vmci_api.hvmw_vmci_defs.hvringh.hvt.hvt_buffer.hvt_kern.hvtime.hw1-gpio.hwait.hwanrouter.hwatchdog.hwimaxdebug.hwin_minmax.hwireless.hwkup_m3_ipc.hwl12xx.hwm97xx.hworkqueue.hwriteback.hww_mutex.hxattr.hxz.hyam.hz2_battery.hzbud.hzconf.hzlib.hzorro.hzpool.hzsmalloc.hzutil.hmath-emudouble.hop-1.hop-2.hop-4.hop-8.hop-common.hquad.hsingle.hsoft-fp.hmediablackfinbfin_capture.hppi.hcec-notifier.hcec.hdavinciccdc_types.hdm355_ccdc.hdm644x_ccdc.hisif.hvpbe.hvpbe_display.hvpbe_osd.hvpbe_types.hvpbe_venc.hvpfe_capture.hvpfe_types.hvpif_types.hvpss.hdrv-intfcx2341x.hcx25840.hexynos-fimc.hmsp3400.hs3c_camif.hsaa7146.hsaa7146_vv.hsh_mobile_ceu.hsh_vou.hsi476x.hsoc_mediabus.htea575x.hi2ci2c-addr.had9389b.hadp1653.hadv7183.hadv7343.hadv7393.hadv7511.hadv7604.hadv7842.hak881x.has3645a.hbt819.hcs5345.hcs53l32a.hir-kbd-i2c.hlm3560.hlm3646.hm52790.hm5mols.hmt9m032.hmt9p031.hmt9t001.hmt9t112.hmt9v011.hmt9v022.hmt9v032.hnoon010pc30.hov2659.hov7670.hov772x.hov9650.hrj54n1cb0c.hs5c73m3.hs5k4ecgx.hs5k6aa.hsaa6588.hsaa7115.hsaa7127.hsmiapp.hsr030pc30.htc358743.hths7303.htvaudio.htvp514x.htvp7002.htw9910.huda1342.hupd64031a.hupd64083.hwm8775.hlirc.hlirc_dev.hmedia-device.hmedia-devnode.hmedia-entity.hrc-core.hrc-map.hrcar-fcp.hsoc_camera.htuner-types.htuner.htveeprom.hv4l2-async.hv4l2-clk.hv4l2-common.hv4l2-ctrls.hv4l2-dev.hv4l2-device.hv4l2-dv-timings.hv4l2-event.hv4l2-fh.hv4l2-flash-led-class.hv4l2-image-sizes.hv4l2-ioctl.hv4l2-mc.hv4l2-mediabus.hv4l2-mem2mem.hv4l2-of.hv4l2-rect.hv4l2-subdev.hv4l2-tpg-colors.hv4l2-tpg.hvideobuf-core.hvideobuf-dma-contig.hvideobuf-dma-sg.hvideobuf-dvb.hvideobuf-vmalloc.hvideobuf2-core.hvideobuf2-dma-contig.hvideobuf2-dma-sg.hvideobuf2-dvb.hvideobuf2-memops.hvideobuf2-v4l2.hvideobuf2-vmalloc.hvsp1.hmemoryjedec_ddr.hmiscaltera.hcharlcd.hcxl-base.hcxl.hnet6lowpan.h9p9p.hclient.htransport.hSpace.hact_api.haddrconf.haf_ieee802154.haf_rxrpc.haf_unix.haf_vsock.hah.harp.hatmclip.hax25.hax88796.hbluetoothbluetooth.hhci.hhci_core.hhci_mon.hhci_sock.hl2cap.hmgmt.hrfcomm.hsco.hbond_3ad.hbond_alb.hbond_options.hbonding.hbusy_poll.hcaifcaif_dev.hcaif_device.hcaif_hsi.hcaif_layer.hcaif_spi.hcfcnfg.hcfctrl.hcffrml.hcfmuxl.hcfpkt.hcfserl.hcfsrvl.hcalipso.hcfg80211-wext.hcfg80211.hcfg802154.hchecksum.hcipso_ipv4.hcls_cgroup.hcodel.hcodel_impl.hcodel_qdisc.hcompat.hdatalink.hdcbevent.hdcbnl.hdevlink.hdn.hdn_dev.hdn_fib.hdn_neigh.hdn_nsp.hdn_route.hdsa.hdsfield.hdst.hdst_cache.hdst_metadata.hdst_ops.hesp.hethoc.hfib_rules.hfirewire.hflow.hflow_dissector.hflowcache.hfou.hfq.hfq_impl.hgarp.hgen_stats.hgenetlink.hgeneve.hgre.hgro_cells.hgtp.hgue.hhwbm.hicmp.hieee80211_radiotap.hieee802154_netdev.hif_inet6.hife.hila.hinet6_connection_sock.hinet6_hashtables.hinet_common.hinet_connection_sock.hinet_ecn.hinet_frag.hinet_hashtables.hinet_sock.hinet_timewait_sock.hinetpeer.hip.hip6_checksum.hip6_fib.hip6_route.hip6_tunnel.hip_fib.hip_tunnels.hip_vs.hipcomp.hipconfig.hipv6.hipx.hirdaaf_irda.hcrc.hdiscovery.hircomm_core.hircomm_event.hircomm_lmp.hircomm_param.hircomm_ttp.hircomm_tty.hircomm_tty_attach.hirda.hirda_device.hiriap.hiriap_event.hirias_object.hirlan_client.hirlan_common.hirlan_eth.hirlan_event.hirlan_filter.hirlan_provider.hirlap.hirlap_event.hirlap_frame.hirlmp.hirlmp_event.hirlmp_frame.hirmod.hirqueue.hirttp.hparameters.hqos.htimer.hwrapper.hiucvaf_iucv.hiucv.hiw_handler.hkcm.hl3mdev.hlapb.hlib80211.hllc.hllc_c_ac.hllc_c_ev.hllc_c_st.hllc_conn.hllc_if.hllc_pdu.hllc_s_ac.hllc_s_ev.hllc_s_st.hllc_sap.hlwtunnel.hmac80211.hmac802154.hmip6.hmld.hmpls.hmpls_iptunnel.hmrp.hncsi.hndisc.hneighbour.hnet_namespace.hnet_ratelimit.hnetevent.hnetfilterbr_netfilter.hipv4nf_conntrack_ipv4.hnf_defrag_ipv4.hnf_dup_ipv4.hnf_nat_masquerade.hnf_reject.hipv6nf_conntrack_icmpv6.hnf_conntrack_ipv6.hnf_defrag_ipv6.hnf_dup_ipv6.hnf_nat_masquerade.hnf_reject.hnf_conntrack.hnf_conntrack_acct.hnf_conntrack_core.hnf_conntrack_ecache.hnf_conntrack_expect.hnf_conntrack_extend.hnf_conntrack_helper.hnf_conntrack_l3proto.hnf_conntrack_l4proto.hnf_conntrack_labels.hnf_conntrack_seqadj.hnf_conntrack_synproxy.hnf_conntrack_timeout.hnf_conntrack_timestamp.hnf_conntrack_tuple.hnf_conntrack_zones.hnf_dup_netdev.hnf_log.hnf_nat.hnf_nat_core.hnf_nat_helper.hnf_nat_l3proto.hnf_nat_l4proto.hnf_nat_redirect.hnf_queue.hnf_socket.hnf_tables.hnf_tables_core.hnf_tables_ipv4.hnf_tables_ipv6.hnfnetlink_log.hnft_dup.hnft_fib.hnft_masq.hnft_meta.hnft_redir.hnft_reject.hxt_rateest.hnetlabel.hnetlink.hnetnscan.hconntrack.hcore.hdccp.hgeneric.hhash.hieee802154_6lowpan.hipv4.hipv6.hmib.hmpls.hnetfilter.hnftables.hpacket.hsctp.hunix.hx_tables.hxfrm.hnetprio_cgroup.hnetrom.hnexthop.hnfcdigital.hhci.hllc.hnci.hnci_core.hnfc.hnl802154.hp8022.hphonetgprs.hpep.hphonet.hpn_dev.hping.hpkt_cls.hpkt_sched.hpptp.hprotocol.hpsample.hpsnap.hraw.hrawv6.hred.hregulatory.hrequest_sock.hrose.hroute.hrtnetlink.hsch_generic.hscm.hsctpauth.hchecksum.hcommand.hconstants.hsctp.hsm.hstructs.htsnmap.hulpevent.hulpqueue.hsecure_seq.hseg6.hseg6_hmac.hslhc_vj.hsmc.hsnmp.hsock.hsock_reuseport.hstp.hstrparser.hswitchdev.htc_acttc_bpf.htc_connmark.htc_csum.htc_defact.htc_gact.htc_ife.htc_ipt.htc_mirred.htc_nat.htc_pedit.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htcp.htcp_states.htimewait_sock.htransp_v6.htso.hudp.hudp_tunnel.hudplite.hvsock_addr.hvxlan.hwext.hwimax.hx25.hx25device.hxfrm.hpcmciaciscode.hcisreg.hcistpl.hdevice_id.hds.hss.hrasras_event.hrdmaib.hib_addr.hib_cache.hib_cm.hib_fmr_pool.hib_hdrs.hib_mad.hib_marshall.hib_pack.hib_pma.hib_sa.hib_smi.hib_umem.hib_umem_odp.hib_verbs.hiw_cm.hiw_portmap.hmr_pool.hopa_addr.hopa_port_info.hopa_smi.hopa_vnic.hrdma_cm.hrdma_cm_ib.hrdma_netlink.hrdma_vt.hrdmavt_cq.hrdmavt_mr.hrdmavt_qp.hrw.huverbs_std_types.huverbs_types.hrxrpcpacket.hscsifcfc_encaps.hfc_fc2.hfc_fcoe.hfc_fcp.hfc_fip.hfc_ms.hfc_encode.hfc_frame.hfcoe_sysfs.hiscsi_if.hiscsi_proto.hiser.hlibfc.hlibfcoe.hlibiscsi.hlibiscsi_tcp.hlibsas.hosd_attributes.hosd_initiator.hosd_ore.hosd_protocol.hosd_sec.hosd_sense.hosd_types.hsas.hsas_ata.hscsi.hscsi_bsg_iscsi.hscsi_cmnd.hscsi_common.hscsi_dbg.hscsi_device.hscsi_devinfo.hscsi_dh.hscsi_driver.hscsi_eh.hscsi_host.hscsi_ioctl.hscsi_proto.hscsi_request.hscsi_tcq.hscsi_transport.hscsi_transport_fc.hscsi_transport_iscsi.hscsi_transport_sas.hscsi_transport_spi.hscsi_transport_srp.hscsicam.hsg.hsrp.hviosrp.hsocarcaux.hmcip.htimers.hat91at91sam9_ddrsdr.hat91sam9_sdramc.hatmel-secumod.hatmel-sfr.hbcm2835raspberrypi-firmware.hbrcmstbcommon.hfslbman.hqeimmap_qe.hqe.hqe_ic.hqe_tdm.hucc.hucc_fast.hucc_slow.hqman.himxcpuidle.hrevision.htimer.hmediateksmi.hnpscommon.hmtm.hrockchiprockchip_sip.hsa1100pwer.htegraahb.hbpmp-abi.hbpmp.hcommon.hcpuidle.hemc.hflowctrl.hfuse.hivc.hmc.hpm.hpmc.hsoundac97_codec.haci.had1816a.had1843.hadau1373.haess.hak4113.hak4114.hak4117.hak4531_codec.hak4641.hak4xxx-adda.halc5623.hasequencer.hasound.hasoundef.hatmel-abdac.hatmel-ac97c.hcompress_driver.hcontrol.hcore.hcs35l33.hcs35l34.hcs35l35.hcs4231-regs.hcs4271.hcs42l52.hcs42l56.hcs42l73.hcs8403.hcs8427.hda7213.hda7218.hda7219-aad.hda7219.hda9055.hdesignware_i2s.hdmaengine_pcm.hemu10k1.hemu10k1_synth.hemu8000.hemu8000_reg.hemux_legacy.hemux_synth.hes1688.hgus.hhda_chmap.hhda_hwdep.hhda_i915.hhda_register.hhda_regmap.hhda_verbs.hhdaudio.hhdaudio_ext.hhdmi-codec.hhwdep.hi2c.hinfo.hinitval.hjack.hl3.hmax9768.hmax98088.hmax98090.hmax98095.hmemalloc.hminors.hmixer_oss.hmpu401.homap-hdmi-audio.homap-pcm.hopl3.hopl4.hpcm-indirect.hpcm.hpcm_drm_eld.hpcm_iec958.hpcm_oss.hpcm_params.hpt2258.hpxa2xx-lib.hrawmidi.hrt286.hrt298.hrt5514.hrt5640.hrt5645.hrt5651.hrt5659.hrt5660.hrt5665.hrt5670.hrt5677.hs3c24xx_uda134x.hsb.hsb16_csp.hseq_device.hseq_kernel.hseq_midi_emul.hseq_midi_event.hseq_oss.hseq_oss_legacy.hseq_virmidi.hsh_dac_audio.hsh_fsi.hsimple_card.hsimple_card_utils.hsnd_wavefront.hsoc-dai.hsoc-dapm.hsoc-dpcm.hsoc-topology.hsoc.hsoundfont.hspear_dma.hspear_spdif.hsta32x.hsta350.htas2552-plat.htas5086.htea6330t.htimer.htlv.htlv320aic32x4.htlv320aic3x.htlv320dac33-plat.htpa6130a2-plat.huda134x.huda1380.hutil_mem.hvx_core.hwavefront.hwm0010.hwm1250-ev1.hwm2000.hwm2200.hwm5100.hwm8903.hwm8904.hwm8955.hwm8960.hwm8962.hwm8993.hwm8996.hwm9081.hwm9090.hwss.htargetiscsiiscsi_target_core.hiscsi_target_stat.hiscsi_transport.htarget_core_backend.htarget_core_base.htarget_core_fabric.htracedefine_trace.hevents9p.hafs.halarmtimer.hasoc.hbcache.hblock.hbpf.hbtrfs.hcgroup.hclk.hcma.hcompaction.hcontext_tracking.hcpuhp.hdevlink.hdma_fence.hext4.hf2fs.hfib.hfib6.hfilelock.hfilemap.hfs_dax.hgpio.hhost1x.hhswadsp.hhuge_memory.hi2c.hintel-sst.hintel_ish.hiommu.hipi.hirq.hjbd2.hkmem.hkvm.hlibata.hlock.hmce.hmdio.hmigrate.hmmc.hmmflags.hmodule.hnapi.hnet.hnilfs2.hnmi.hoom.hpage_isolation.hpage_ref.hpagemap.hpower.hpower_cpu_migrate.hprintk.hrandom.hrcu.hregulator.hrpm.hrxrpc.hsched.hscsi.hsignal.hskb.hsock.hspi.hspmi.hsunrpc.hsunvnet.hswiotlb.hsyscalls.htarget.htask.hthermal.hthermal_power_allocator.hthp.htimer.htlb.hudp.hufs.hv4l2.hvb2.hvmscan.hvsock_virtio_transport_common.hwbt.hworkqueue.hwriteback.hxdp.hxen.hperf.hsyscall.htrace_events.huapiasm-genericKbuild.asmauxvec.hbitsperlong.herrno-base.herrno.hfcntl.hint-l64.hint-ll64.hioctl.hioctls.hipcbuf.hkvm_para.hmman-common.hmman.hmsgbuf.hparam.hpoll.hposix_types.hresource.hsembuf.hsetup.hshmbuf.hshmparam.hsiginfo.hsignal-defs.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits.htermios.htypes.hucontext.hunistd.hdrmamdgpu_drm.harmada_drm.hdrm.hdrm_fourcc.hdrm_mode.hdrm_sarea.hetnaviv_drm.hexynos_drm.hi810_drm.hi915_drm.hmga_drm.hmsm_drm.hnouveau_drm.homap_drm.hqxl_drm.hr128_drm.hradeon_drm.hsavage_drm.hsis_drm.htegra_drm.hvc4_drm.hvgem_drm.hvia_drm.hvirtgpu_drm.hvmwgfx_drm.hlinuxKbuilda.out.hacct.hadb.hadfs_fs.haffs_hardblocks.hagpgart.haio_abi.ham437x-vpfe.handroidbinder.hapm_bios.harcfb.haspeed-lpc-ctrl.hatalk.hatm.hatm_eni.hatm_he.hatm_idt77105.hatm_nicstar.hatm_tcp.hatm_zatm.hatmapi.hatmarp.hatmbr2684.hatmclip.hatmdev.hatmioc.hatmlec.hatmmpc.hatmppp.hatmsap.hatmsvc.haudit.hauto_dev-ioctl.hauto_fs.hauto_fs4.hauxvec.hax25.hb1lli.hbatman_adv.hbaycom.hbcache.hbcm933xx_hcs.hbfs_fs.hbinfmts.hblkpg.hblktrace_api.hblkzoned.hbpf.hbpf_common.hbpf_perf_event.hbpqether.hbsg.hbt-bmc.hbtrfs.hbtrfs_tree.hbyteorderbig_endian.hlittle_endian.hcaifcaif_socket.hif_caif.hcancan.hbcm.herror.hgw.hnetlink.hraw.hvxcan.hcapability.hcapi.hcciss_defs.hcciss_ioctl.hcdrom.hcec-funcs.hcec.hcgroupstats.hchio.hcifscifs_mount.hcm4000_cs.hcn_proc.hcoda.hcoda_psdev.hcoff.hconnector.hconst.hcoresight-stm.hcramfs_fs.hcryptouser.hcuda.hcyclades.hcycx_cfm.hdcbnl.hdccp.hdevlink.hdlm.hdlm_device.hdlm_netlink.hdlm_plock.hdlmconstants.hdm-ioctl.hdm-log-userspace.hdma-buf.hdn.hdqblk_xfs.hdvbaudio.hca.hdmx.hfrontend.hnet.hosd.hversion.hvideo.hedd.hefs_fs_sb.helf-em.helf-fdpic.helf.helfcore.herrno.herrqueue.hethtool.heventpoll.hfadvise.hfalloc.hfanotify.hfb.hfcntl.hfd.hfdreg.hfib_rules.hfiemap.hfilter.hfirewire-cdev.hfirewire-constants.hflat.hfou.hfs.hfsl_hypervisor.hfsmap.hfuse.hfutex.hgameport.hgen_stats.hgenetlink.hgenwqegenwqe_card.hgfs2_ondisk.hgigaset_dev.hgpio.hgsmmux.hgtp.hhash_info.hhdlchdlc.hioctl.hhdlcdrv.hhdreg.hhid.hhiddev.hhidraw.hhpet.hhsics-protocol.hhsi_char.hhsr_netlink.hhw_breakpoint.hhyperv.hhysdn_if.hi2c-dev.hi2c.hi2o-dev.hi8k.hicmp.hicmpv6.hif.hif_addr.hif_addrlabel.hif_alg.hif_arcnet.hif_arp.hif_bonding.hif_bridge.hif_cablemodem.hif_eql.hif_ether.hif_fc.hif_fddi.hif_frad.hif_hippi.hif_infiniband.hif_link.hif_ltalk.hif_macsec.hif_packet.hif_phonet.hif_plip.hif_ppp.hif_pppol2tp.hif_pppox.hif_slip.hif_team.hif_tun.hif_tunnel.hif_vlan.hif_x25.hife.higmp.hiioevents.htypes.hila.hin.hin6.hin_route.hinet_diag.hinotify.hinput-event-codes.hinput.hioctl.hip.hip6_tunnel.hip_vs.hipc.hipmi.hipmi_msgdefs.hipsec.hipv6.hipv6_route.hipx.hirda.hirqnr.hisdnisdn.hcapicmd.hisdn_divertif.hisdn_ppp.hisdnif.hiso_fs.hivtv.hivtvfb.hixjuser.hjffs2.hjoystick.hkcm.hkcmp.hkcov.hkd.hkdev_t.hkernel-page-flags.hkernel.hkernelcapi.hkexec.hkeyboard.hkeyctl.hkfd_ioctl.hkvm.hkvm_para.hl2tp.hlibc-compat.hlightnvm.hlimits.hlirc.hllc.hloop.hlp.hlwtunnel.hmagic.hmajor.hmap_to_7segment.hmatroxfb.hmdio.hmedia-bus-format.hmedia.hmei.hmembarrier.hmemfd.hmempolicy.hmeye.hmic_common.hmic_ioctl.hmii.hminix_fs.hmman.hmmcioctl.hmmtimer.hmodule.hmpls.hmpls_iptunnel.hmqueue.hmroute.hmroute6.hmsdos_fs.hmsg.hmtio.hn_r3964.hnbd-netlink.hnbd.hncp.hncp_fs.hncp_mount.hncp_no.hndctl.hneighbour.hnet.hnet_dropmon.hnet_namespace.hnet_tstamp.hnetconf.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_hash.hip_set_list.hnf_conntrack_common.hnf_conntrack_ftp.hnf_conntrack_sctp.hnf_conntrack_tcp.hnf_conntrack_tuple_common.hnf_log.hnf_nat.hnf_tables.hnf_tables_compat.hnfnetlink.hnfnetlink_acct.hnfnetlink_compat.hnfnetlink_conntrack.hnfnetlink_cthelper.hnfnetlink_cttimeout.hnfnetlink_log.hnfnetlink_queue.hx_tables.hxt_AUDIT.hxt_CHECKSUM.hxt_CLASSIFY.hxt_CONNMARK.hxt_CONNSECMARK.hxt_CT.hxt_DSCP.hxt_HMARK.hxt_IDLETIMER.hxt_LED.hxt_LOG.hxt_MARK.hxt_NFLOG.hxt_NFQUEUE.hxt_RATEEST.hxt_SECMARK.hxt_SYNPROXY.hxt_TCPMSS.hxt_TCPOPTSTRIP.hxt_TEE.hxt_TPROXY.hxt_addrtype.hxt_bpf.hxt_cgroup.hxt_cluster.hxt_comment.hxt_connbytes.hxt_connlabel.hxt_connlimit.hxt_connmark.hxt_conntrack.hxt_cpu.hxt_dccp.hxt_devgroup.hxt_dscp.hxt_ecn.hxt_esp.hxt_hashlimit.hxt_helper.hxt_ipcomp.hxt_iprange.hxt_ipvs.hxt_l2tp.hxt_length.hxt_limit.hxt_mac.hxt_mark.hxt_multiport.hxt_nfacct.hxt_osf.hxt_owner.hxt_physdev.hxt_pkttype.hxt_policy.hxt_quota.hxt_rateest.hxt_realm.hxt_recent.hxt_rpfilter.hxt_sctp.hxt_set.hxt_socket.hxt_state.hxt_statistic.hxt_string.hxt_tcpmss.hxt_tcpudp.hxt_time.hxt_u32.hnetfilter_arpnetfilter_arp.harp_tables.harpt_mangle.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebt_among.hebt_arp.hebt_arpreply.hebt_ip.hebt_ip6.hebt_limit.hebt_log.hebt_mark_m.hebt_mark_t.hebt_nat.hebt_nflog.hebt_pkttype.hebt_redirect.hebt_stp.hebt_vlan.hebtables.hnetfilter_decnet.hnetfilter_ipv4netfilter_ipv4.hip_tables.hipt_CLUSTERIP.hipt_ECN.hipt_LOG.hipt_REJECT.hipt_TTL.hipt_ah.hipt_ecn.hipt_ttl.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hip6t_HL.hip6t_LOG.hip6t_NPT.hip6t_REJECT.hip6t_ah.hip6t_frag.hip6t_hl.hip6t_ipv6header.hip6t_mh.hip6t_opts.hip6t_rt.hnetlink.hnetlink_diag.hnetrom.hnfc.hnfs.hnfs2.hnfs3.hnfs4.hnfs4_mount.hnfs_fs.hnfs_idmap.hnfs_mount.hnfsacl.hnfsdcld.hdebug.hexport.hnfsfh.hstats.hnilfs2_api.hnilfs2_ondisk.hnl80211.hnsfs.hnubus.hnvme_ioctl.hnvram.homap3isp.homapfb.hoom.hopenvswitch.hpacket_diag.hparam.hparport.hpatchkey.hpci.hpci_regs.hpcitest.hperf_event.hpersonality.hpfkeyv2.hpg.hphantom.hphonet.hpkt_cls.hpkt_sched.hpktcdvd.hpmu.hpoll.hposix_acl.hposix_acl_xattr.hposix_types.hppdev.hppp-comp.hppp-ioctl.hppp_defs.hpps.hpr.hprctl.hpsample.hpsci.hptp_clock.hptrace.hqnx4_fs.hqnxtypes.hqrtr.hquota.hradeonfb.hraidmd_p.hmd_u.hrandom.hraw.hrds.hreboot.hreiserfs_fs.hreiserfs_xattr.hresource.hrfkill.hrio_cm_cdev.hrio_mport_cdev.hromfs_fs.hrose.hroute.hrpmsg.hrtc.hrtnetlink.hscc.hschedsched.htypes.hscif_ioctl.hscreen_info.hsctp.hsdla.hseccomp.hsecurebits.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hselinux_netlink.hsem.hserial.hserial_core.hserial_reg.hserio.hshm.hsignal.hsignalfd.hsmc.hsmc_diag.hsmiapp.hsnmp.hsock_diag.hsocket.hsockios.hsonet.hsonypi.hsound.hsoundcard.hspispidev.hstat.hstddef.hstm.hstring.hsunrpcdebug.hsuspend_ioctls.hswab.hswitchtec_ioctl.hsync_file.hsynclink.hsysctl.hsysinfo.htarget_core_user.htaskstats.htc_acttc_bpf.htc_connmark.htc_csum.htc_defact.htc_gact.htc_ife.htc_ipt.htc_mirred.htc_nat.htc_pedit.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htc_ematchtc_em_cmp.htc_em_meta.htc_em_nbyte.htc_em_text.htcp.htcp_metrics.htee.htelephony.htermios.hthermal.htime.htimerfd.htimes.htimex.htiocl.htipc.htipc_config.htipc_netlink.htoshiba.htty.htty_flags.htypes.hudf_fs_i.hudp.huhid.huinput.huio.huleds.hultrasound.hun.hunistd.hunix_diag.husbaudio.hcdc-wdm.hcdc.hch11.hch9.hfunctionfs.hg_printer.hgadgetfs.hmidi.htmc.hvideo.husbdevice_fs.husbip.huserfaultfd.huserio.hutime.hutsname.huuid.huvcvideo.hv4l2-common.hv4l2-controls.hv4l2-dv-timings.hv4l2-mediabus.hv4l2-subdev.hveth.hvfio.hvfio_ccw.hvhost.hvideodev2.hvirtio_9p.hvirtio_balloon.hvirtio_blk.hvirtio_config.hvirtio_console.hvirtio_crypto.hvirtio_gpu.hvirtio_ids.hvirtio_input.hvirtio_mmio.hvirtio_net.hvirtio_pci.hvirtio_ring.hvirtio_rng.hvirtio_scsi.hvirtio_types.hvirtio_vsock.hvm_sockets.hvsockmon.hvt.hvtpm_proxy.hwait.hwanrouter.hwatchdog.hwil6210_uapi.hwimaxwimax.hi2400m.hwireless.hx25.hxattr.hxfrm.hxilinx-v4l2-controls.hzorro.hzorro_ids.hmisccxl.hmtdinftl-user.hmtd-abi.hmtd-user.hnftl-user.hubi-user.hrdmabnxt_re-abi.hcxgb3-abi.hcxgb4-abi.hhfihfi1_ioctl.hhfi1_user.hhns-abi.hib_user_cm.hib_user_mad.hib_user_sa.hib_user_verbs.hmlx4-abi.hmlx5-abi.hmthca-abi.hnes-abi.hocrdma-abi.hqedr-abi.hrdma_netlink.hrdma_user_cm.hrdma_user_ioctl.hrdma_user_rxe.hvmw_pvrdma-abi.hscsicxlflash_ioctl.hfcfc_els.hfc_fs.hfc_gs.hfc_ns.hscsi_bsg_fc.hscsi_netlink.hscsi_netlink_fc.hsoundasequencer.hasoc.hasound.hasound_fm.hcompress_offload.hcompress_params.hemu10k1.hfirewire.hhdsp.hhdspm.hsb16_csp.hsfnt_info.hsnd_sst_tokens.htlv.husb_stream.hvideoedid.hsisfb.huvesafb.hxenevtchn.hgntalloc.hgntdev.hprivcmd.hvideoatmel_lcdc.haty128.hauo_k190xfb.hbroadsheetfb.hcirrus.hcvisionppc.hda8xx-fb.hdisplay_timing.hedid.hexynos5433_decon.hexynos7_decon.hgbe.hhecubafb.higa.hili9320.himx-ipu-image-convert.himx-ipu-v3.hkyro.hmach64.hmaxinefb.hmbxfb.hmetronomefb.hmipi_display.hmmp_disp.hneomagic.hnewport.hof_display_timing.hof_videomode.homap-panel-data.homapfb_dss.homapvrfb.hpermedia2.hplatform_lcd.hpm3fb.hpmag-ba-fb.hpmagb-b-fb.hpxa168fb.hradeon.hs1d13xxxfb.hsa1100fb.hsamsung_fimd.hsh_mobile_lcdc.hsh_mobile_meram.hsisfb.hsstfb.htdfx.htgafb.htrident.hudlfb.huvesafb.hvga.hvideomode.hw100fb.hxenacpi.harmhypercall.hhypervisor.hinterface.hpage-coherent.hpage.hballoon.hevents.hfeatures.hgrant_table.hhvc-console.hhvm.hinterfacecallback.helfnote.hevent_channel.hfeatures.hgrant_table.hhvmdm_op.hhvm_op.hhvm_vcpu.hparams.hstart_info.hio9pfs.hblkif.hconsole.hdisplif.hfbif.hkbdif.hnetif.hpciif.hprotocols.hring.hsndif.htpmif.hvscsiif.hxenbus.hxs_wire.hmemory.hnmi.hphysdev.hplatform.hsched.hvcpu.hversion.hxen-mca.hxen.hxenpmu.hpage.hplatform_pci.hswiotlb-xen.htmem.hxen-ops.hxen.hxenbus.hxenbus_dev.hinitKconfigMakefilecalibrate.cdo_mounts.cdo_mounts.hdo_mounts_initrd.cdo_mounts_md.cdo_mounts_rd.cinit_task.cinitramfs.cmain.cnoinitramfs.cversion.cipcMakefilecompat.ccompat_mq.cipc_sysctl.cmq_sysctl.cmqueue.cmsg.cmsgutil.cnamespace.csem.cshm.csyscall.cutil.cutil.hkernelKconfig.freezerKconfig.hzKconfig.locksKconfig.preemptMakefileacct.casync.caudit.caudit.haudit_fsnotify.caudit_tree.caudit_watch.cauditfilter.cauditsc.cbacktracetest.cbounds.cbpfMakefilearraymap.cbpf_lru_list.cbpf_lru_list.hcgroup.ccore.chashtab.chelpers.cinode.clpm_trie.cmap_in_map.cmap_in_map.hpercpu_freelist.cpercpu_freelist.hstackmap.csyscall.cverifier.ccapability.ccgroupMakefilecgroup-internal.hcgroup-v1.ccgroup.ccpuset.cfreezer.cnamespace.cpids.crdma.ccompat.cconfigsconfigs.candroid-base.configandroid-recommended.configkvm_guest.configtiny.configxen.configcontext_tracking.ccpu.ccpu_pm.ccrash_core.ccrash_dump.ccred.cdebugMakefiledebug_core.cdebug_core.hgdbstub.ckdbMakefilekdb_bp.ckdb_bt.ckdb_cmdskdb_debugger.ckdb_io.ckdb_keyboard.ckdb_main.ckdb_private.hkdb_support.cdelayacct.cdma.celfcore.ceventsMakefilecallchain.ccore.chw_breakpoint.cinternal.hring_buffer.cuprobes.cexec_domain.cexit.cextable.cfork.cfreezer.cfutex.cfutex_compat.cgcovKconfigMakefilebase.cfs.cgcc_3_4.cgcc_4_7.cgcov.hgroups.chung_task.cirqKconfigMakefileaffinity.cautoprobe.cchip.ccpuhotplug.cdebug.hdevres.cdummychip.cgeneric-chip.chandle.cinternals.hipi.cirqdesc.cirqdomain.cmanage.cmigration.cmsi.cpm.cproc.cresend.csettings.hspurious.cirq_work.cjump_label.ckallsyms.ckcmp.ckcov.ckexec.ckexec_core.ckexec_file.ckexec_internal.hkmod.ckprobes.cksysfs.ckthread.clatencytop.clivepatchKconfigMakefilecore.ccore.hpatch.cpatch.htransition.ctransition.hlockingMakefilelockdep.clockdep_internals.hlockdep_proc.clockdep_states.hlocktorture.cmcs_spinlock.hmutex-debug.cmutex-debug.hmutex.cmutex.hosq_lock.cpercpu-rwsem.cqrwlock.cqspinlock.cqspinlock_paravirt.hqspinlock_stat.hrtmutex-debug.crtmutex-debug.hrtmutex.crtmutex.hrtmutex_common.hrwsem-spinlock.crwsem-xadd.crwsem.crwsem.hsemaphore.cspinlock.cspinlock_debug.ctest-ww_mutex.cmembarrier.cmemremap.cmodule-internal.hmodule.cmodule_signing.cnotifier.cnsproxy.cpadata.cpanic.cparams.cpid.cpid_namespace.cpowerKconfigMakefileautosleep.cconsole.chibernate.cmain.cpower.hpoweroff.cprocess.cqos.csnapshot.csuspend.csuspend_test.cswap.cuser.cwakelock.cprintkMakefilebraille.cbraille.hconsole_cmdline.hinternal.hprintk.cprintk_safe.cprofile.cptrace.crange.crcuMakefilercu.hrcu_segcblist.crcu_segcblist.hrcuperf.crcutorture.csrcu.csrcutiny.csrcutree.csync.ctiny.ctiny_plugin.htree.ctree.htree_exp.htree_plugin.htree_trace.cupdate.creboot.crelay.cresource.cschedMakefileautogroup.cautogroup.hclock.ccompletion.ccore.ccpuacct.ccpuacct.hcpudeadline.ccpudeadline.hcpufreq.ccpufreq_schedutil.ccpupri.ccpupri.hcputime.cdeadline.cdebug.cfair.cfeatures.hidle.cidle_task.cloadavg.crt.csched-pelt.hsched.hstats.cstats.hstop_task.cswait.ctopology.cwait.cseccomp.csignal.csmp.csmpboot.csmpboot.hsoftirq.cstacktrace.cstop_machine.csys.csys_ni.csysctl.csysctl_binary.ctask_work.ctaskstats.ctest_kprobes.ctimeKconfigMakefilealarmtimer.cclockevents.cclocksource.chrtimer.citimer.cjiffies.cntp.cntp_internal.hposix-clock.cposix-cpu-timers.cposix-stubs.cposix-timers.csched_clock.ctest_udelay.ctick-broadcast-hrtimer.ctick-broadcast.ctick-common.ctick-internal.htick-oneshot.ctick-sched.ctick-sched.htime.ctimeconst.bctimeconv.ctimecounter.ctimekeeping.ctimekeeping.htimekeeping_debug.ctimekeeping_internal.htimer.ctimer_list.ctorture.ctraceKconfigMakefileblktrace.cbpf_trace.cftrace.cpower-traces.cring_buffer.cring_buffer_benchmark.crpm-traces.ctrace.ctrace.htrace_benchmark.ctrace_benchmark.htrace_branch.ctrace_clock.ctrace_entries.htrace_event_perf.ctrace_events.ctrace_events_filter.ctrace_events_filter_test.htrace_events_hist.ctrace_events_trigger.ctrace_export.ctrace_functions.ctrace_functions_graph.ctrace_hwlat.ctrace_irqsoff.ctrace_kdb.ctrace_kprobe.ctrace_mmiotrace.ctrace_nop.ctrace_output.ctrace_output.htrace_printk.ctrace_probe.ctrace_probe.htrace_sched_switch.ctrace_sched_wakeup.ctrace_selftest.ctrace_selftest_dynamic.ctrace_seq.ctrace_stack.ctrace_stat.ctrace_stat.htrace_syscalls.ctrace_uprobe.ctracing_map.ctracing_map.htracepoint.ctsacct.cucount.cuid16.cup.cuser-return-notifier.cuser.cuser_namespace.cutsname.cutsname_sysctl.cwatchdog.cwatchdog_hld.cworkqueue.cworkqueue_internal.hlib842842.h842_compress.c842_debugfs.h842_decompress.cMakefileKconfigKconfig.debugKconfig.kasanKconfig.kgdbKconfig.kmemcheckKconfig.ubsanMakefileargv_split.casn1_decoder.cassoc_array.catomic64.catomic64_test.caudit.cbcd.cbch.cbitmap.cbitrev.cbsearch.cbtree.cbug.cbuild_OID_registrybust_spinlocks.cchacha20.ccheck_signature.cchecksum.cclz_ctz.cclz_tab.ccmdline.ccompat_audit.ccordic.ccpu_rmap.ccpumask.ccrc-ccitt.ccrc-itu-t.ccrc-t10dif.ccrc16.ccrc32.ccrc32defs.hcrc32test.ccrc7.ccrc8.cctype.cdebug_info.cdebug_locks.cdebugobjects.cdec_and_lock.cdecompress.cdecompress_bunzip2.cdecompress_inflate.cdecompress_unlz4.cdecompress_unlzma.cdecompress_unlzo.cdecompress_unxz.cdevres.cdigsig.cdiv64.cdma-debug.cdma-noop.cdma-virt.cdump_stack.cdynamic_debug.cdynamic_queue_limits.cearlycpio.cextable.cfault-inject.cfdt.cfdt_empty_tree.cfdt_ro.cfdt_rw.cfdt_strerror.cfdt_sw.cfdt_wip.cfind_bit.cflex_array.cflex_proportions.cfontsKconfigMakefilefont_10x18.cfont_6x10.cfont_6x11.cfont_7x14.cfont_8x16.cfont_8x8.cfont_acorn_8x8.cfont_mini_4x6.cfont_pearl_8x8.cfont_sun12x22.cfont_sun8x16.cfonts.cgcd.cgen_crc32table.cgenalloc.cglob.cglobtest.chexdump.chweight.cidr.cinflate.cint_sqrt.cinterval_tree.cinterval_tree_test.ciomap.ciomap_copy.ciommu-common.ciommu-helper.cioremap.ciov_iter.cirq_poll.cirq_regs.cis_single_threaded.cjedec_ddr_data.ckasprintf.ckfifo.cklist.ckobject.ckobject_uevent.ckstrtox.ckstrtox.hlcm.clibcrc32c.clist_debug.clist_sort.cllist.clocking-selftest-hardirq.hlocking-selftest-mutex.hlocking-selftest-rlock-hardirq.hlocking-selftest-rlock-softirq.hlocking-selftest-rlock.hlocking-selftest-rsem.hlocking-selftest-softirq.hlocking-selftest-spin-hardirq.hlocking-selftest-spin-softirq.hlocking-selftest-spin.hlocking-selftest-wlock-hardirq.hlocking-selftest-wlock-softirq.hlocking-selftest-wlock.hlocking-selftest-wsem.hlocking-selftest.clockref.clru_cache.clz4Makefilelz4_compress.clz4_decompress.clz4defs.hlz4hc_compress.clzoMakefilelzo1x_compress.clzo1x_decompress_safe.clzodefs.hmemory-notifier-error-inject.cmemweight.cmpiMakefilegeneric_mpih-add1.cgeneric_mpih-lshift.cgeneric_mpih-mul1.cgeneric_mpih-mul2.cgeneric_mpih-mul3.cgeneric_mpih-rshift.cgeneric_mpih-sub1.clonglong.hmpi-bit.cmpi-cmp.cmpi-inline.hmpi-internal.hmpi-pow.cmpicoder.cmpih-cmp.cmpih-div.cmpih-mul.cmpiutil.cnet_utils.cnetdev-notifier-error-inject.cnlattr.cnmi_backtrace.cnodemask.cnotifier-error-inject.cnotifier-error-inject.hof-reconfig-notifier-error-inject.coid_registry.conce.cparman.cparser.cpci_iomap.cpercpu-refcount.cpercpu_counter.cpercpu_ida.cpercpu_test.cplist.cpm-notifier-error-inject.cprime_numbers.cradix-tree.craid6Makefilealgos.caltivec.ucavx2.cavx512.cint.ucmktables.cmmx.cneon.cneon.ucrecov.crecov_avx2.crecov_avx512.crecov_s390xc.crecov_ssse3.cs390vx.ucsse1.csse2.ctestMakefiletest.ctilegx.ucunroll.awkx86.hrandom32.cratelimit.crational.crbtree.crbtree_test.creciprocal_div.creed_solomonMakefiledecode_rs.cencode_rs.creed_solomon.crefcount.crhashtable.csbitmap.cscatterlist.cseq_buf.csg_pool.csg_split.csha1.cshow_mem.csiphash.csmp_processor_id.csort.cstackdepot.cstmp_device.cstring.cstring_helpers.cstrncpy_from_user.cstrnlen_user.cswiotlb.csyscall.ctest-kstrtox.ctest-string_helpers.ctest_bitmap.ctest_bpf.ctest_firmware.ctest_hash.ctest_hexdump.ctest_kasan.ctest_list_sort.ctest_module.ctest_parman.ctest_printf.ctest_rhashtable.ctest_siphash.ctest_sort.ctest_static_key_base.ctest_static_keys.ctest_user_copy.ctest_uuid.ctextsearch.ctimerqueue.cts_bm.cts_fsm.cts_kmp.cubsan.cubsan.hucs2_string.cusercopy.cuuid.cvsprintf.cwin_minmax.cxzKconfigMakefilexz_crc32.cxz_dec_bcj.cxz_dec_lzma2.cxz_dec_stream.cxz_dec_syms.cxz_dec_test.cxz_lzma2.hxz_private.hxz_stream.hzlib_deflateMakefiledeflate.cdeflate_syms.cdeftree.cdefutil.hzlib_inflateMakefileinffast.cinffast.hinffixed.hinflate.cinflate.hinflate_syms.cinftrees.cinftrees.hinfutil.cinfutil.hmmKconfigKconfig.debugMakefilebacking-dev.cballoon_compaction.cbootmem.ccleancache.ccma.ccma.hcma_debug.ccompaction.cdebug.cdebug_page_ref.cdmapool.cearly_ioremap.cfadvise.cfailslab.cfilemap.cframe_vector.cfrontswap.cgup.chighmem.chuge_memory.chugetlb.chugetlb_cgroup.chwpoison-inject.cinit-mm.cinternal.hinterval_tree.ckasanMakefilekasan.ckasan.hkasan_init.cquarantine.creport.ckhugepaged.ckmemcheck.ckmemleak-test.ckmemleak.cksm.clist_lru.cmaccess.cmadvise.cmemblock.cmemcontrol.cmemory-failure.cmemory.cmemory_hotplug.cmempolicy.cmempool.cmemtest.cmigrate.cmincore.cmlock.cmm_init.cmmap.cmmu_context.cmmu_notifier.cmmzone.cmprotect.cmremap.cmsync.cnobootmem.cnommu.coom_kill.cpage-writeback.cpage_alloc.cpage_counter.cpage_ext.cpage_idle.cpage_io.cpage_isolation.cpage_owner.cpage_poison.cpage_vma_mapped.cpagewalk.cpercpu-km.cpercpu-vm.cpercpu.cpgtable-generic.cprocess_vm_access.cquicklist.creadahead.crmap.crodata_test.cshmem.cslab.cslab.hslab_common.cslob.cslub.csparse-vmemmap.csparse.cswap.cswap_cgroup.cswap_slots.cswap_state.cswapfile.ctruncate.cusercopy.cuserfaultfd.cutil.cvmacache.cvmalloc.cvmpressure.cvmscan.cvmstat.cworkingset.cz3fold.czbud.czpool.czsmalloc.czswap.cnet6lowpan6lowpan_i.hKconfigMakefilecore.cdebugfs.ciphc.cndisc.cnhc.cnhc.hnhc_dest.cnhc_fragment.cnhc_ghc_ext_dest.cnhc_ghc_ext_frag.cnhc_ghc_ext_hop.cnhc_ghc_ext_route.cnhc_ghc_icmpv6.cnhc_ghc_udp.cnhc_hop.cnhc_ipv6.cnhc_mobility.cnhc_routing.cnhc_udp.c802KconfigMakefilefc.cfddi.cgarp.chippi.cmrp.cp8022.cp8023.cpsnap.cstp.c8021qKconfigMakefilevlan.cvlan.hvlan_core.cvlan_dev.cvlan_gvrp.cvlan_mvrp.cvlan_netlink.cvlanproc.cvlanproc.h9pKconfigMakefileclient.cerror.cmod.cprotocol.cprotocol.htrans_common.ctrans_common.htrans_fd.ctrans_rdma.ctrans_virtio.ctrans_xen.cutil.cKconfigMakefileappletalkMakefileaarp.catalk_proc.cddp.cdev.csysctl_net_atalk.catmKconfigMakefileaddr.caddr.hatm_misc.catm_sysfs.cbr2684.cclip.ccommon.ccommon.hioctl.clec.clec.hlec_arpc.hmpc.cmpc.hmpoa_caches.cmpoa_caches.hmpoa_proc.cpppoatm.cproc.cprotocols.hpvc.craw.cresources.cresources.hsignaling.csignaling.hsvc.cax25KconfigMakefileTODOaf_ax25.cax25_addr.cax25_dev.cax25_ds_in.cax25_ds_subr.cax25_ds_timer.cax25_iface.cax25_in.cax25_ip.cax25_out.cax25_route.cax25_std_in.cax25_std_subr.cax25_std_timer.cax25_subr.cax25_timer.cax25_uid.csysctl_net_ax25.cbatman-advKconfigMakefilebat_algo.cbat_algo.hbat_iv_ogm.cbat_iv_ogm.hbat_v.cbat_v.hbat_v_elp.cbat_v_elp.hbat_v_ogm.cbat_v_ogm.hbitarray.cbitarray.hbridge_loop_avoidance.cbridge_loop_avoidance.hdebugfs.cdebugfs.hdistributed-arp-table.cdistributed-arp-table.hfragmentation.cfragmentation.hgateway_client.cgateway_client.hgateway_common.cgateway_common.hhard-interface.chard-interface.hhash.chash.hicmp_socket.cicmp_socket.hlog.clog.hmain.cmain.hmulticast.cmulticast.hnetlink.cnetlink.hnetwork-coding.cnetwork-coding.horiginator.coriginator.hpacket.hrouting.crouting.hsend.csend.hsoft-interface.csoft-interface.hsysfs.csysfs.htp_meter.ctp_meter.htranslation-table.ctranslation-table.htvlv.ctvlv.htypes.hbluetooth6lowpan.cKconfigMakefilea2mp.ca2mp.haf_bluetooth.camp.camp.hbnepKconfigMakefilebnep.hcore.cnetdev.csock.ccmtpKconfigMakefilecapi.ccmtp.hcore.csock.cecdh_helper.cecdh_helper.hhci_conn.chci_core.chci_debugfs.chci_debugfs.hhci_event.chci_request.chci_request.hhci_sock.chci_sysfs.chidpKconfigMakefilecore.chidp.hsock.cl2cap_core.cl2cap_sock.cleds.cleds.hlib.cmgmt.cmgmt_util.cmgmt_util.hrfcommKconfigMakefilecore.csock.ctty.csco.cselftest.cselftest.hsmp.csmp.hbpfMakefiletest_run.cbridgeKconfigMakefilebr.cbr_device.cbr_fdb.cbr_forward.cbr_if.cbr_input.cbr_ioctl.cbr_mdb.cbr_multicast.cbr_netfilter_hooks.cbr_netfilter_ipv6.cbr_netlink.cbr_netlink_tunnel.cbr_nf_core.cbr_private.hbr_private_stp.hbr_private_tunnel.hbr_stp.cbr_stp_bpdu.cbr_stp_if.cbr_stp_timer.cbr_switchdev.cbr_sysfs_br.cbr_sysfs_if.cbr_vlan.cbr_vlan_tunnel.cnetfilterKconfigMakefileebt_802_3.cebt_among.cebt_arp.cebt_arpreply.cebt_dnat.cebt_ip.cebt_ip6.cebt_limit.cebt_log.cebt_mark.cebt_mark_m.cebt_nflog.cebt_pkttype.cebt_redirect.cebt_snat.cebt_stp.cebt_vlan.cebtable_broute.cebtable_filter.cebtable_nat.cebtables.cnf_log_bridge.cnf_tables_bridge.cnft_meta_bridge.cnft_reject_bridge.ccaifKconfigMakefilecaif_dev.ccaif_socket.ccaif_usb.ccfcnfg.ccfctrl.ccfdbgl.ccfdgml.ccffrml.ccfmuxl.ccfpkt_skbuff.ccfrfml.ccfserl.ccfsrvl.ccfutill.ccfveil.ccfvidl.cchnl_net.ccanKconfigMakefileaf_can.caf_can.hbcm.cgw.cproc.craw.ccephKconfigMakefilearmor.cauth.cauth_none.cauth_none.hauth_x.cauth_x.hauth_x_protocol.hbuffer.cceph_common.cceph_fs.cceph_hash.cceph_strings.ccls_lock_client.ccrushcrush.ccrush_ln_table.hhash.cmapper.ccrypto.ccrypto.hdebugfs.cmessenger.cmon_client.cmsgpool.cosd_client.cosdmap.cpagelist.cpagevec.csnapshot.cstring_table.ccompat.ccoreMakefiledatagram.cdev.cdev_addr_lists.cdev_ioctl.cdevlink.cdrop_monitor.cdst.cdst_cache.cethtool.cfib_rules.cfilter.cflow.cflow_dissector.cgen_estimator.cgen_stats.cgro_cells.chwbm.clink_watch.clwt_bpf.clwtunnel.cneighbour.cnet-procfs.cnet-sysfs.cnet-sysfs.hnet-traces.cnet_namespace.cnetclassid_cgroup.cnetevent.cnetpoll.cnetprio_cgroup.cpktgen.cptp_classifier.crequest_sock.crtnetlink.cscm.csecure_seq.cskbuff.csock.csock_diag.csock_reuseport.cstream.csysctl_net_core.ctimestamping.ctso.cutils.cdcbKconfigMakefiledcbevent.cdcbnl.cdccpKconfigMakefileackvec.cackvec.hccid.cccid.hccidsKconfigccid2.cccid2.hccid3.cccid3.hlibloss_interval.closs_interval.hpacket_history.cpacket_history.htfrc.ctfrc.htfrc_equation.cdccp.hdiag.cfeat.cfeat.hinput.cipv4.cipv6.cipv6.hminisocks.coptions.coutput.cprobe.cproto.cqpolicy.csysctl.ctimer.cdecnetKconfigMakefileREADMETODOaf_decnet.cdn_dev.cdn_fib.cdn_neigh.cdn_nsp_in.cdn_nsp_out.cdn_route.cdn_rules.cdn_table.cdn_timer.cnetfilterKconfigMakefiledn_rtmsg.csysctl_net_decnet.cdns_resolverKconfigMakefiledns_key.cdns_query.cinternal.hdsaKconfigMakefiledsa.cdsa2.cdsa_priv.hlegacy.cslave.cswitch.ctag_brcm.ctag_dsa.ctag_edsa.ctag_lan9303.ctag_mtk.ctag_qca.ctag_trailer.cethernetMakefileeth.chsrKconfigMakefilehsr_device.chsr_device.hhsr_forward.chsr_forward.hhsr_framereg.chsr_framereg.hhsr_main.chsr_main.hhsr_netlink.chsr_netlink.hhsr_slave.chsr_slave.hieee8021546lowpan6lowpan_i.hKconfigMakefilecore.creassembly.crx.ctx.cKconfigMakefilecore.ccore.hheader_ops.cieee802154.hnetlink.cnl-mac.cnl-phy.cnl802154.cnl802154.hnl_policy.crdev-ops.hsocket.csysfs.csysfs.htrace.ctrace.hifeKconfigMakefileife.cipv4KconfigMakefileaf_inet.cah4.carp.ccipso_ipv4.cdatagram.cdevinet.cesp4.cesp4_offload.cfib_frontend.cfib_lookup.hfib_notifier.cfib_rules.cfib_semantics.cfib_trie.cfou.cgre_demux.cgre_offload.cicmp.cigmp.cinet_connection_sock.cinet_diag.cinet_fragment.cinet_hashtables.cinet_timewait_sock.cinetpeer.cip_forward.cip_fragment.cip_gre.cip_input.cip_options.cip_output.cip_sockglue.cip_tunnel.cip_tunnel_core.cip_vti.cipcomp.cipconfig.cipip.cipmr.cnetfilternetfilter.cKconfigMakefilearp_tables.carpt_mangle.carptable_filter.cip_tables.cipt_CLUSTERIP.cipt_ECN.cipt_MASQUERADE.cipt_REJECT.cipt_SYNPROXY.cipt_ah.cipt_rpfilter.ciptable_filter.ciptable_mangle.ciptable_nat.ciptable_raw.ciptable_security.cnf_conntrack_l3proto_ipv4.cnf_conntrack_proto_icmp.cnf_defrag_ipv4.cnf_dup_ipv4.cnf_log_arp.cnf_log_ipv4.cnf_nat_h323.cnf_nat_l3proto_ipv4.cnf_nat_masquerade_ipv4.cnf_nat_pptp.cnf_nat_proto_gre.cnf_nat_proto_icmp.cnf_nat_snmp_basic.cnf_reject_ipv4.cnf_socket_ipv4.cnf_tables_arp.cnf_tables_ipv4.cnft_chain_nat_ipv4.cnft_chain_route_ipv4.cnft_dup_ipv4.cnft_fib_ipv4.cnft_masq_ipv4.cnft_redir_ipv4.cnft_reject_ipv4.cping.cproc.cprotocol.craw.craw_diag.croute.csyncookies.csysctl_net_ipv4.ctcp.ctcp_bbr.ctcp_bic.ctcp_cdg.ctcp_cong.ctcp_cubic.ctcp_dctcp.ctcp_diag.ctcp_fastopen.ctcp_highspeed.ctcp_htcp.ctcp_hybla.ctcp_illinois.ctcp_input.ctcp_ipv4.ctcp_lp.ctcp_metrics.ctcp_minisocks.ctcp_nv.ctcp_offload.ctcp_output.ctcp_probe.ctcp_rate.ctcp_recovery.ctcp_scalable.ctcp_timer.ctcp_vegas.ctcp_vegas.htcp_veno.ctcp_westwood.ctcp_yeah.ctunnel4.cudp.cudp_diag.cudp_impl.hudp_offload.cudp_tunnel.cudplite.cxfrm4_input.cxfrm4_mode_beet.cxfrm4_mode_transport.cxfrm4_mode_tunnel.cxfrm4_output.cxfrm4_policy.cxfrm4_protocol.cxfrm4_state.cxfrm4_tunnel.cipv6KconfigMakefileaddrconf.caddrconf_core.caddrlabel.caf_inet6.cah6.canycast.ccalipso.cdatagram.cesp6.cesp6_offload.cexthdrs.cexthdrs_core.cexthdrs_offload.cfib6_rules.cfou6.cicmp.cilaMakefileila.hila_common.cila_lwt.cila_xlat.cinet6_connection_sock.cinet6_hashtables.cip6_checksum.cip6_fib.cip6_flowlabel.cip6_gre.cip6_icmp.cip6_input.cip6_offload.cip6_offload.hip6_output.cip6_tunnel.cip6_udp_tunnel.cip6_vti.cip6mr.cipcomp6.cipv6_sockglue.cmcast.cmcast_snoop.cmip6.cndisc.cnetfilternetfilter.cKconfigMakefileip6_tables.cip6t_MASQUERADE.cip6t_NPT.cip6t_REJECT.cip6t_SYNPROXY.cip6t_ah.cip6t_eui64.cip6t_frag.cip6t_hbh.cip6t_ipv6header.cip6t_mh.cip6t_rpfilter.cip6t_rt.cip6table_filter.cip6table_mangle.cip6table_nat.cip6table_raw.cip6table_security.cnf_conntrack_l3proto_ipv6.cnf_conntrack_proto_icmpv6.cnf_conntrack_reasm.cnf_defrag_ipv6_hooks.cnf_dup_ipv6.cnf_log_ipv6.cnf_nat_l3proto_ipv6.cnf_nat_masquerade_ipv6.cnf_nat_proto_icmpv6.cnf_reject_ipv6.cnf_socket_ipv6.cnf_tables_ipv6.cnft_chain_nat_ipv6.cnft_chain_route_ipv6.cnft_dup_ipv6.cnft_fib_ipv6.cnft_masq_ipv6.cnft_redir_ipv6.cnft_reject_ipv6.coutput_core.cping.cproc.cprotocol.craw.creassembly.croute.cseg6.cseg6_hmac.cseg6_iptunnel.csit.csyncookies.csysctl_net_ipv6.ctcp_ipv6.ctcpv6_offload.ctunnel6.cudp.cudp_impl.hudp_offload.cudplite.cxfrm6_input.cxfrm6_mode_beet.cxfrm6_mode_ro.cxfrm6_mode_transport.cxfrm6_mode_tunnel.cxfrm6_output.cxfrm6_policy.cxfrm6_protocol.cxfrm6_state.cxfrm6_tunnel.cipxKconfigMakefileaf_ipx.cipx_proc.cipx_route.cpe2.csysctl_net_ipx.cirdaKconfigMakefileaf_irda.cdiscovery.circommKconfigMakefileircomm_core.circomm_event.circomm_lmp.circomm_param.circomm_ttp.circomm_tty.circomm_tty_attach.circomm_tty_ioctl.cirda_device.ciriap.ciriap_event.cirias_object.cirlanKconfigMakefileirlan_client.cirlan_client_event.cirlan_common.cirlan_eth.cirlan_event.cirlan_filter.cirlan_provider.cirlan_provider_event.cirlap.cirlap_event.cirlap_frame.cirlmp.cirlmp_event.cirlmp_frame.cirmod.cirnetKconfigMakefileirnet.hirnet_irda.cirnet_irda.hirnet_ppp.cirnet_ppp.hirnetlink.cirproc.cirqueue.cirsysctl.cirttp.cparameters.cqos.ctimer.cwrapper.ciucvKconfigMakefileaf_iucv.ciucv.ckcmKconfigMakefilekcmproc.ckcmsock.ckeyMakefileaf_key.cl2tpKconfigMakefilel2tp_core.cl2tp_core.hl2tp_debugfs.cl2tp_eth.cl2tp_ip.cl2tp_ip6.cl2tp_netlink.cl2tp_ppp.cl3mdevKconfigMakefilel3mdev.clapbKconfigMakefilelapb_iface.clapb_in.clapb_out.clapb_subr.clapb_timer.cllcKconfigMakefileaf_llc.cllc_c_ac.cllc_c_ev.cllc_c_st.cllc_conn.cllc_core.cllc_if.cllc_input.cllc_output.cllc_pdu.cllc_proc.cllc_s_ac.cllc_s_ev.cllc_s_st.cllc_sap.cllc_station.csysctl_net_llc.cmac80211KconfigMakefileaes_ccm.caes_ccm.haes_cmac.caes_cmac.haes_gcm.caes_gcm.haes_gmac.caes_gmac.hagg-rx.cagg-tx.ccfg.cchan.cdebug.hdebugfs.cdebugfs.hdebugfs_key.cdebugfs_key.hdebugfs_netdev.cdebugfs_netdev.hdebugfs_sta.cdebugfs_sta.hdriver-ops.cdriver-ops.hethtool.cfils_aead.cfils_aead.hht.cibss.cieee80211_i.hiface.ckey.ckey.hled.cled.hmain.cmesh.cmesh.hmesh_hwmp.cmesh_pathtbl.cmesh_plink.cmesh_ps.cmesh_sync.cmichael.cmichael.hmlme.cocb.coffchannel.cpm.crate.crate.hrc80211_minstrel.crc80211_minstrel.hrc80211_minstrel_debugfs.crc80211_minstrel_ht.crc80211_minstrel_ht.hrc80211_minstrel_ht_debugfs.crx.cscan.cspectmgmt.csta_info.csta_info.hstatus.ctdls.ctkip.ctkip.htrace.ctrace.htrace_msg.htx.cutil.cvht.cwep.cwep.hwme.cwme.hwpa.cwpa.hmac802154KconfigMakefilecfg.ccfg.hdriver-ops.hieee802154_i.hiface.cllsec.cllsec.hmac_cmd.cmain.cmib.crx.ctrace.ctrace.htx.cutil.cmplsKconfigMakefileaf_mpls.cinternal.hmpls_gso.cmpls_iptunnel.cncsiKconfigMakefileinternal.hncsi-aen.cncsi-cmd.cncsi-manage.cncsi-pkt.hncsi-rsp.cnetfilterKconfigMakefilecore.cipsetKconfigMakefileip_set_bitmap_gen.hip_set_bitmap_ip.cip_set_bitmap_ipmac.cip_set_bitmap_port.cip_set_core.cip_set_getport.cip_set_hash_gen.hip_set_hash_ip.cip_set_hash_ipmac.cip_set_hash_ipmark.cip_set_hash_ipport.cip_set_hash_ipportip.cip_set_hash_ipportnet.cip_set_hash_mac.cip_set_hash_net.cip_set_hash_netiface.cip_set_hash_netnet.cip_set_hash_netport.cip_set_hash_netportnet.cip_set_list_set.cpfxlen.cipvsKconfigMakefileip_vs_app.cip_vs_conn.cip_vs_core.cip_vs_ctl.cip_vs_dh.cip_vs_est.cip_vs_fo.cip_vs_ftp.cip_vs_lblc.cip_vs_lblcr.cip_vs_lc.cip_vs_nfct.cip_vs_nq.cip_vs_ovf.cip_vs_pe.cip_vs_pe_sip.cip_vs_proto.cip_vs_proto_ah_esp.cip_vs_proto_sctp.cip_vs_proto_tcp.cip_vs_proto_udp.cip_vs_rr.cip_vs_sched.cip_vs_sed.cip_vs_sh.cip_vs_sync.cip_vs_wlc.cip_vs_wrr.cip_vs_xmit.cnf_conntrack_acct.cnf_conntrack_amanda.cnf_conntrack_broadcast.cnf_conntrack_core.cnf_conntrack_ecache.cnf_conntrack_expect.cnf_conntrack_extend.cnf_conntrack_ftp.cnf_conntrack_h323_asn1.cnf_conntrack_h323_main.cnf_conntrack_h323_types.cnf_conntrack_helper.cnf_conntrack_irc.cnf_conntrack_l3proto_generic.cnf_conntrack_labels.cnf_conntrack_netbios_ns.cnf_conntrack_netlink.cnf_conntrack_pptp.cnf_conntrack_proto.cnf_conntrack_proto_dccp.cnf_conntrack_proto_generic.cnf_conntrack_proto_gre.cnf_conntrack_proto_sctp.cnf_conntrack_proto_tcp.cnf_conntrack_proto_udp.cnf_conntrack_sane.cnf_conntrack_seqadj.cnf_conntrack_sip.cnf_conntrack_snmp.cnf_conntrack_standalone.cnf_conntrack_tftp.cnf_conntrack_timeout.cnf_conntrack_timestamp.cnf_dup_netdev.cnf_internals.hnf_log.cnf_log_common.cnf_log_netdev.cnf_nat_amanda.cnf_nat_core.cnf_nat_ftp.cnf_nat_helper.cnf_nat_irc.cnf_nat_proto_common.cnf_nat_proto_dccp.cnf_nat_proto_sctp.cnf_nat_proto_tcp.cnf_nat_proto_udp.cnf_nat_proto_unknown.cnf_nat_redirect.cnf_nat_sip.cnf_nat_tftp.cnf_queue.cnf_sockopt.cnf_synproxy_core.cnf_tables_api.cnf_tables_core.cnf_tables_inet.cnf_tables_netdev.cnf_tables_trace.cnfnetlink.cnfnetlink_acct.cnfnetlink_cthelper.cnfnetlink_cttimeout.cnfnetlink_log.cnfnetlink_queue.cnft_bitwise.cnft_byteorder.cnft_cmp.cnft_compat.cnft_counter.cnft_ct.cnft_dup_netdev.cnft_dynset.cnft_exthdr.cnft_fib.cnft_fib_inet.cnft_fwd_netdev.cnft_hash.cnft_immediate.cnft_limit.cnft_log.cnft_lookup.cnft_masq.cnft_meta.cnft_nat.cnft_numgen.cnft_objref.cnft_payload.cnft_queue.cnft_quota.cnft_range.cnft_redir.cnft_reject.cnft_reject_inet.cnft_rt.cnft_set_bitmap.cnft_set_hash.cnft_set_rbtree.cx_tables.cxt_AUDIT.cxt_CHECKSUM.cxt_CLASSIFY.cxt_CONNSECMARK.cxt_CT.cxt_DSCP.cxt_HL.cxt_HMARK.cxt_IDLETIMER.cxt_LED.cxt_LOG.cxt_NETMAP.cxt_NFLOG.cxt_NFQUEUE.cxt_RATEEST.cxt_REDIRECT.cxt_SECMARK.cxt_TCPMSS.cxt_TCPOPTSTRIP.cxt_TEE.cxt_TPROXY.cxt_TRACE.cxt_addrtype.cxt_bpf.cxt_cgroup.cxt_cluster.cxt_comment.cxt_connbytes.cxt_connlabel.cxt_connlimit.cxt_connmark.cxt_conntrack.cxt_cpu.cxt_dccp.cxt_devgroup.cxt_dscp.cxt_ecn.cxt_esp.cxt_hashlimit.cxt_helper.cxt_hl.cxt_ipcomp.cxt_iprange.cxt_ipvs.cxt_l2tp.cxt_length.cxt_limit.cxt_mac.cxt_mark.cxt_multiport.cxt_nat.cxt_nfacct.cxt_osf.cxt_owner.cxt_physdev.cxt_pkttype.cxt_policy.cxt_quota.cxt_rateest.cxt_realm.cxt_recent.cxt_repldata.hxt_sctp.cxt_set.cxt_socket.cxt_state.cxt_statistic.cxt_string.cxt_tcpmss.cxt_tcpudp.cxt_time.cxt_u32.cnetlabelKconfigMakefilenetlabel_addrlist.cnetlabel_addrlist.hnetlabel_calipso.cnetlabel_calipso.hnetlabel_cipso_v4.cnetlabel_cipso_v4.hnetlabel_domainhash.cnetlabel_domainhash.hnetlabel_kapi.cnetlabel_mgmt.cnetlabel_mgmt.hnetlabel_unlabeled.cnetlabel_unlabeled.hnetlabel_user.cnetlabel_user.hnetlinkKconfigMakefileaf_netlink.caf_netlink.hdiag.cgenetlink.cnetromMakefileaf_netrom.cnr_dev.cnr_in.cnr_loopback.cnr_out.cnr_route.cnr_subr.cnr_timer.csysctl_net_netrom.cnfcKconfigMakefileaf_nfc.ccore.cdigital.hdigital_core.cdigital_dep.cdigital_technology.chciKconfigMakefilecommand.ccore.chci.hhcp.cllc.cllc.hllc_nop.cllc_shdlc.cllcp.hllcp_commands.cllcp_core.cllcp_sock.cnciKconfigMakefilecore.cdata.chci.clib.cntf.crsp.cspi.cuart.cnetlink.cnfc.hrawsock.copenvswitchKconfigMakefileactions.cconntrack.cconntrack.hdatapath.cdatapath.hdp_notify.cflow.cflow.hflow_netlink.cflow_netlink.hflow_table.cflow_table.hvport-geneve.cvport-gre.cvport-internal_dev.cvport-internal_dev.hvport-netdev.cvport-netdev.hvport-vxlan.cvport.cvport.hpacketKconfigMakefileaf_packet.cdiag.cinternal.hphonetKconfigMakefileaf_phonet.cdatagram.cpep-gprs.cpep.cpn_dev.cpn_netlink.csocket.csysctl.cpsampleKconfigMakefilepsample.cqrtrKconfigMakefileqrtr.cqrtr.hsmd.crdsKconfigMakefileaf_rds.cbind.ccong.cconnection.cib.cib.hib_cm.cib_fmr.cib_frmr.cib_mr.hib_rdma.cib_recv.cib_ring.cib_send.cib_stats.cib_sysctl.cinfo.cinfo.hloop.cloop.hmessage.cpage.crdma.crdma_transport.crdma_transport.hrds.hrds_single_path.hrecv.csend.cstats.csysctl.ctcp.ctcp.htcp_connect.ctcp_listen.ctcp_recv.ctcp_send.ctcp_stats.cthreads.ctransport.crfkillKconfigMakefilecore.cinput.crfkill-gpio.crfkill.hroseMakefileaf_rose.crose_dev.crose_in.crose_link.crose_loopback.crose_out.crose_route.crose_subr.crose_timer.csysctl_net_rose.crxrpcKconfigMakefileaf_rxrpc.car-internal.hcall_accept.ccall_event.ccall_object.cconn_client.cconn_event.cconn_object.cconn_service.cinput.cinsecure.ckey.clocal_event.clocal_object.cmisc.coutput.cpeer_event.cpeer_object.cproc.crecvmsg.crxkad.csecurity.csendmsg.cskbuff.csysctl.cutils.cschedKconfigMakefileact_api.cact_bpf.cact_connmark.cact_csum.cact_gact.cact_ife.cact_ipt.cact_meta_mark.cact_meta_skbprio.cact_meta_skbtcindex.cact_mirred.cact_nat.cact_pedit.cact_police.cact_sample.cact_simple.cact_skbedit.cact_skbmod.cact_tunnel_key.cact_vlan.ccls_api.ccls_basic.ccls_bpf.ccls_cgroup.ccls_flow.ccls_flower.ccls_fw.ccls_matchall.ccls_route.ccls_rsvp.ccls_rsvp.hcls_rsvp6.ccls_tcindex.ccls_u32.cem_canid.cem_cmp.cem_ipset.cem_meta.cem_nbyte.cem_text.cem_u32.cematch.csch_api.csch_atm.csch_blackhole.csch_cbq.csch_choke.csch_codel.csch_drr.csch_dsmark.csch_fifo.csch_fq.csch_fq_codel.csch_generic.csch_gred.csch_hfsc.csch_hhf.csch_htb.csch_ingress.csch_mq.csch_mqprio.csch_multiq.csch_netem.csch_pie.csch_plug.csch_prio.csch_qfq.csch_red.csch_sfb.csch_sfq.csch_tbf.csch_teql.csctpKconfigMakefileassociola.cauth.cbind_addr.cchunk.cdebug.cendpointola.cinput.cinqueue.cipv6.cobjcnt.coffload.coutput.coutqueue.cprimitive.cprobe.cproc.cprotocol.csctp_diag.csm_make_chunk.csm_sideeffect.csm_statefuns.csm_statetable.csocket.cstream.csysctl.ctransport.ctsnmap.culpevent.culpqueue.csmcKconfigMakefileaf_smc.csmc.hsmc_cdc.csmc_cdc.hsmc_clc.csmc_clc.hsmc_close.csmc_close.hsmc_core.csmc_core.hsmc_diag.csmc_ib.csmc_ib.hsmc_llc.csmc_llc.hsmc_pnet.csmc_pnet.hsmc_rx.csmc_rx.hsmc_tx.csmc_tx.hsmc_wr.csmc_wr.hsocket.cstrparserKconfigMakefilestrparser.csunrpcKconfigMakefileaddr.cauth.cauth_generic.cauth_gssMakefileauth_gss.cgss_generic_token.cgss_krb5_crypto.cgss_krb5_keys.cgss_krb5_mech.cgss_krb5_seal.cgss_krb5_seqnum.cgss_krb5_unseal.cgss_krb5_wrap.cgss_mech_switch.cgss_rpc_upcall.cgss_rpc_upcall.hgss_rpc_xdr.cgss_rpc_xdr.hsvcauth_gss.cauth_null.cauth_unix.cbackchannel_rqst.ccache.cclnt.cdebugfs.cnetns.hrpc_pipe.crpcb_clnt.csched.csocklib.cstats.csunrpc.hsunrpc_syms.csvc.csvc_xprt.csvcauth.csvcauth_unix.csvcsock.csysctl.ctimer.cxdr.cxprt.cxprtmultipath.cxprtrdmaMakefilebackchannel.cfmr_ops.cfrwr_ops.cmodule.crpc_rdma.csvc_rdma.csvc_rdma_backchannel.csvc_rdma_marshal.csvc_rdma_recvfrom.csvc_rdma_rw.csvc_rdma_sendto.csvc_rdma_transport.ctransport.cverbs.cxprt_rdma.hxprtsock.cswitchdevKconfigMakefileswitchdev.csysctl_net.ctipcKconfigMakefileaddr.caddr.hbcast.cbcast.hbearer.cbearer.hcore.ccore.hdiscover.cdiscover.heth_media.cib_media.clink.clink.hmonitor.cmonitor.hmsg.cmsg.hname_distr.cname_distr.hname_table.cname_table.hnet.cnet.hnetlink.cnetlink.hnetlink_compat.cnode.cnode.hserver.cserver.hsocket.csocket.hsubscr.csubscr.hsysctl.cudp_media.cudp_media.hunixKconfigMakefileaf_unix.cdiag.cgarbage.csysctl_net_unix.cvmw_vsockKconfigMakefileaf_vsock.caf_vsock_tap.cvirtio_transport.cvirtio_transport_common.cvmci_transport.cvmci_transport.hvmci_transport_notify.cvmci_transport_notify.hvmci_transport_notify_qstate.cvsock_addr.cwimaxKconfigMakefiledebug-levels.hdebugfs.cid-table.cop-msg.cop-reset.cop-rfkill.cop-state-get.cstack.cwimax-internal.hwirelessKconfigMakefileap.cchan.ccore.ccore.hdb.txtdebugfs.cdebugfs.hethtool.cgenregdb.awkibss.clib80211.clib80211_crypt_ccmp.clib80211_crypt_tkip.clib80211_crypt_wep.cmesh.cmlme.cnl80211.cnl80211.hocb.cof.cradiotap.crdev-ops.hreg.creg.hregdb.hscan.csme.csysfs.csysfs.htrace.ctrace.hutil.cwext-compat.cwext-compat.hwext-core.cwext-priv.cwext-proc.cwext-sme.cwext-spy.cx25KconfigMakefileaf_x25.csysctl_net_x25.cx25_dev.cx25_facilities.cx25_forward.cx25_in.cx25_link.cx25_out.cx25_proc.cx25_route.cx25_subr.cx25_timer.cxfrmKconfigMakefilexfrm_algo.cxfrm_device.cxfrm_hash.cxfrm_hash.hxfrm_input.cxfrm_ipcomp.cxfrm_output.cxfrm_policy.cxfrm_proc.cxfrm_replay.cxfrm_state.cxfrm_sysctl.cxfrm_user.csamplesKconfigMakefileauxdisplayMakefilecfag12864b-example.cblackfinMakefilegptimers-example.cbpfMakefileREADME.rstbpf_helpers.hbpf_load.cbpf_load.hcgroup_helpers.ccgroup_helpers.hcookie_uid_helper_example.cfds_example.clathist_kern.clathist_user.clibbpf.hlwt_len_hist.shlwt_len_hist_kern.clwt_len_hist_user.cmap_perf_test_kern.cmap_perf_test_user.coffwaketime_kern.coffwaketime_user.cparse_ldabs.cparse_simple.cparse_varlen.crun_cookie_uid_helper_example.shsampleip_kern.csampleip_user.csock_example.csock_example.hsock_flags_kern.csockex1_kern.csockex1_user.csockex2_kern.csockex2_user.csockex3_kern.csockex3_user.cspintest_kern.cspintest_user.ctc_l2_redirect.shtc_l2_redirect_kern.ctc_l2_redirect_user.ctcbpf1_kern.ctcbpf2_kern.ctest_cgrp2_array_pin.ctest_cgrp2_attach.ctest_cgrp2_attach2.ctest_cgrp2_sock.ctest_cgrp2_sock.shtest_cgrp2_sock2.ctest_cgrp2_sock2.shtest_cgrp2_tc.shtest_cgrp2_tc_kern.ctest_cls_bpf.shtest_current_task_under_cgroup_kern.ctest_current_task_under_cgroup_user.ctest_ipip.shtest_lru_dist.ctest_lwt_bpf.ctest_lwt_bpf.shtest_map_in_map_kern.ctest_map_in_map_user.ctest_overhead_kprobe_kern.ctest_overhead_tp_kern.ctest_overhead_user.ctest_probe_write_user_kern.ctest_probe_write_user_user.ctest_tunnel_bpf.shtrace_event_kern.ctrace_event_user.ctrace_output_kern.ctrace_output_user.ctracex1_kern.ctracex1_user.ctracex2_kern.ctracex2_user.ctracex3_kern.ctracex3_user.ctracex4_kern.ctracex4_user.ctracex5_kern.ctracex5_user.ctracex6_kern.ctracex6_user.cxdp1_kern.cxdp1_user.cxdp2_kern.cxdp_tx_iptunnel_common.hxdp_tx_iptunnel_kern.cxdp_tx_iptunnel_user.cconfigfsMakefileconfigfs_sample.cconnectorMakefilecn_test.cucon.chidrawMakefilehid-example.chw_breakpointMakefiledata_breakpoint.ckdbMakefilekdb_hello.ckfifoMakefilebytestream-example.cdma-example.cinttype-example.crecord-example.ckobjectMakefilekobject-example.ckset-example.ckprobesMakefilejprobe_example.ckprobe_example.ckretprobe_example.clivepatchMakefilelivepatch-sample.cmeiMakefilemei-amt-version.cmicmpssdMakefilemicctrlmpssmpssd.cmpssd.hsysfs.cpktgenREADME.rstfunctions.shparameters.shpktgen.conf-1-1-ip6pktgen.conf-1-1-ip6-rdospktgen.conf-1-2pktgen_bench_xmit_mode_netif_receive.shpktgen_bench_xmit_mode_queue_xmit.shpktgen_sample01_simple.shpktgen_sample02_multiqueue.shpktgen_sample03_burst_single_flow.shpktgen_sample04_many_flows.shpktgen_sample05_flow_per_thread.shrpmsgMakefilerpmsg_client_sample.cseccompMakefilebpf-direct.cbpf-fancy.cbpf-helper.cbpf-helper.hdropper.cstatxMakefiletest-statx.ctimersMakefilehpet_example.ctrace_eventsMakefiletrace-events-sample.ctrace-events-sample.htrace_printkMakefiletrace-printk.cuhidMakefileuhid-example.cv4lMakefilev4l2-pci-skeleton.cvfio-mdevMakefilemtty.cwatchdogMakefilewatchdog-simple.cscriptsKbuild.includeLindentMakefileMakefile.asm-genericMakefile.buildMakefile.cleanMakefile.dtbinstMakefile.extrawarnMakefile.fwinstMakefile.gcc-pluginsMakefile.headersinstMakefile.helpMakefile.hostMakefile.kasanMakefile.libMakefile.modbuiltinMakefile.modinstMakefile.modpostMakefile.modsignMakefile.ubsanadjust_autoksyms.shasn1_compiler.cbasicMakefilebin2c.cfixdep.cbloat-o-meterbootgraph.plcheck-lc_ctype.ccheck_00index.shcheck_extable.shcheckincludes.plcheckkconfigsymbols.pycheckpatch.plcheckstack.plchecksyscalls.shcheckversion.plcleanfilecleanpatchcoccicheckcoccinelleapiallocalloc_cast.coccikzalloc-simple.coccipool_zalloc-simple.coccid_find_alias.coccidebugfsdebugfs_simple_attr.coccidrm-get-put.coccierr_cast.coccikstrdup.coccimemdup.coccimemdup_user.cocciplatform_no_drv_owner.coccipm_runtime.cocciptr_ret.cocciresource_size.coccisetup_timer.coccisimple_open.coccivma_pages.coccifreeclk_put.coccidevm_free.cocciifnullfree.cocciiounmap.coccikfree.coccikfreeaddr.coccipci_free_consistent.cocciiteratorsdevice_node_continue.coccifen.cocciitnull.coccilist_entry_update.cocciuse_after_iter.coccilockscall_kern.coccidouble_lock.cocciflags.coccimini_lock.coccimiscarray_size.coccibadty.cocciboolconv.cocciboolinit.cocciboolreturn.coccibugon.coccicond_no_effect.coccicstptr.coccidoubleinit.cocciifaddr.cocciifcol.cocciirqf_oneshot.coccinoderef.cocciof_table.cocciorplus.coccireturnvar.coccisemicolon.cocciwarn.coccinullbadzero.coccideref_null.coccieno.coccikmerr.coccitestsdoublebitand.coccidoubletest.cocciodd_ptr_err.cocciunsigned_lesser_than_zero.cocciconfigconmakehash.cconst_structs.checkpatchdecode_stacktrace.shdecodecodedepmod.shdiffconfigdocproc.cdtcMakefileMakefile.dtcchecks.cdata.cdt_to_configdtc-lexer.ldtc-lexer.lex.c_shippeddtc-parser.tab.c_shippeddtc-parser.tab.h_shippeddtc-parser.ydtc.cdtc.hdtx_difffdtdump.cfdtget.cfdtput.cflattree.cfstree.cinclude-prefixesarcarmarm64c6xcrisdt-bindingsh8300metagmicroblazemipsnios2openriscpowerpcshxtensalibfdtMakefile.libfdtfdt.cfdt.hfdt_empty_tree.cfdt_ro.cfdt_rw.cfdt_strerror.cfdt_sw.cfdt_wip.clibfdt.hlibfdt_env.hlibfdt_internal.hlivetree.csrcpos.csrcpos.htreesource.cupdate-dtc-source.shutil.cutil.hversion_gen.hexport_report.plextract-cert.cextract-ikconfigextract-module-sig.plextract-sys-certs.plextract-vmlinuxextract_xc3028.plfaddr2linegcc-goto.shgcc-ldgcc-plugin.shgcc-pluginsMakefilecyc_complexity_plugin.cgcc-common.hgcc-generate-gimple-pass.hgcc-generate-ipa-pass.hgcc-generate-rtl-pass.hgcc-generate-simple_ipa-pass.hlatent_entropy_plugin.csancov_plugin.cstructleak_plugin.cgcc-version.shgcc-x86_32-has-stack-protector.shgcc-x86_64-has-stack-protector.shgdbMakefilelinuxMakefile__init__.pyconstants.py.incpus.pydmesg.pylists.pymodules.pyproc.pysymbols.pytasks.pyutils.pyvmlinux-gdb.pygen_initramfs_list.shgenksymsMakefilegenksyms.cgenksyms.hkeywords.gperfkeywords.hash.c_shippedlex.llex.lex.c_shippedparse.tab.c_shippedparse.tab.h_shippedparse.yget_dvb_firmwareget_maintainer.plgfp-translateheaderdep.plheaders.shheaders_check.plheaders_install.shinsert-sys-cert.ckallsyms.ckconfigMakefilePOTFILES.incheck.shconf.cconfdata.cexpr.cexpr.hgconf.cgconf.gladeimages.ckxgettext.clist.hlkc.hlkc_proto.hlxdialogBIG.FAT.WARNINGcheck-lxdialog.shchecklist.cdialog.hinputbox.cmenubox.ctextbox.cutil.cyesno.cmconf.cmenu.cmerge_config.shnconf.cnconf.gui.cnconf.hqconf.ccqconf.hstreamline_config.plsymbol.cutil.czconf.gperfzconf.hash.c_shippedzconf.lzconf.lex.c_shippedzconf.tab.c_shippedzconf.ykernel-dockernel-doc-xml-refksymoopsREADMEld-version.shlink-vmlinux.shmakelstmarkup_oops.plmkcompile_hmkmakefilemksysmapmkuboot.shmkversionmodMakefiledevicetable-offsets.cempty.cfile2alias.cksym-provides.cmk_elfconfig.cmodpost.cmodpost.hsumversion.cmodule-common.ldsnamespace.plobjdiffpackageMakefilebuilddebbuildtarmkspecpatch-kernelpnmtologo.cprofile2linkerlist.plprune-kernelrecordmcount.crecordmcount.hrecordmcount.plselinuxMakefileREADMEgenheadersMakefilegenheaders.cinstall_policy.shmdpMakefiledbus_contextsmdp.csetlocalversionshow_deltasign-file.csortextable.csortextable.hspelling.txtstackdeltastackusagetags.shtracingdraw_functrace.pyftrace-bisect.shunifdef.cver_linuxxen-hypercalls.shxz_wrap.shsecurityKconfigMakefileapparmorKconfigMakefileapparmorfs.caudit.ccapability.ccontext.ccrypto.cdomain.cfile.cincludeapparmor.happarmorfs.haudit.hcapability.hcontext.hcrypto.hdomain.hfile.hipc.hlib.hmatch.hpath.hpolicy.hpolicy_ns.hpolicy_unpack.hprocattr.hresource.hsecid.hipc.clib.clsm.cmatch.cnulldfa.inpath.cpolicy.cpolicy_ns.cpolicy_unpack.cprocattr.cresource.csecid.ccommoncap.cdevice_cgroup.cinode.cintegrityKconfigMakefiledigsig.cdigsig_asymmetric.cevmKconfigMakefileevm.hevm_crypto.cevm_main.cevm_posix_acl.cevm_secfs.ciint.cimaKconfigMakefileima.hima_api.cima_appraise.cima_crypto.cima_fs.cima_init.cima_kexec.cima_main.cima_mok.cima_policy.cima_queue.cima_template.cima_template_lib.cima_template_lib.hintegrity.hintegrity_audit.ckeysKconfigMakefilebig_key.ccompat.ccompat_dh.cdh.cencrypted-keysMakefileecryptfs_format.cecryptfs_format.hencrypted.cencrypted.hmasterkey_trusted.cgc.cinternal.hkey.ckeyctl.ckeyring.cpermission.cpersistent.cproc.cprocess_keys.crequest_key.crequest_key_auth.csysctl.ctrusted.ctrusted.huser_defined.cloadpinKconfigMakefileloadpin.clsm_audit.cmin_addr.csecurity.cselinuxKconfigMakefileavc.cexports.chooks.cincludeaudit.havc.havc_ss.hclassmap.hconditional.hinitial_sid_to_string.hnetif.hnetlabel.hnetnode.hnetport.hobjsec.hsecurity.hxfrm.hnetif.cnetlabel.cnetlink.cnetnode.cnetport.cnlmsgtab.cselinuxfs.cssavtab.cavtab.hconditional.cconditional.hconstraint.hcontext.hebitmap.cebitmap.hhashtab.chashtab.hmls.cmls.hmls_types.hpolicydb.cpolicydb.hservices.cservices.hsidtab.csidtab.hstatus.csymtab.csymtab.hxfrm.csmackKconfigMakefilesmack.hsmack_access.csmack_lsm.csmack_netfilter.csmackfs.ctomoyoKconfigMakefileaudit.ccommon.ccommon.hcondition.cdomain.cenviron.cfile.cgc.cgroup.cload_policy.cmemory.cmount.cnetwork.cpolicyexception_policy.conf.defaultrealpath.csecurityfs_if.ctomoyo.cutil.cyamaKconfigMakefileyama_lsm.csoundKconfigMakefileac97_bus.caoaKconfigMakefileaoa-gpio.haoa.hcodecsKconfigMakefileonyx.conyx.htas-basstreble.htas-gain-table.htas.ctas.htoonie.ccoreMakefilealsa.calsa.hcore.cgpio-feature.cgpio-pmf.cfabricsKconfigMakefilelayout.csoundbusKconfigMakefilecore.ci2sbusMakefilecontrol.ccore.ci2sbus.hinterface.hpcm.csoundbus.hsysfs.carmKconfigMakefileaaci.caaci.hpxa2xx-ac97-lib.cpxa2xx-ac97.cpxa2xx-pcm-lib.cpxa2xx-pcm.cpxa2xx-pcm.hatmelKconfigMakefileabdac.cac97c.cac97c.hcoreKconfigMakefilecompress_offload.ccontrol.ccontrol_compat.cctljack.cdevice.chrtimer.chwdep.chwdep_compat.cinfo.cinfo_oss.cinit.cisadma.cjack.cmemalloc.cmemory.cmisc.cossMakefilecopy.cio.clinear.cmixer_oss.cmulaw.cpcm_oss.cpcm_plugin.cpcm_plugin.hrate.croute.cpcm.cpcm_compat.cpcm_dmaengine.cpcm_drm_eld.cpcm_iec958.cpcm_lib.cpcm_memory.cpcm_misc.cpcm_native.cpcm_timer.cpcm_trace.hrawmidi.crawmidi_compat.cseqKconfigMakefileossMakefileseq_oss.cseq_oss_device.hseq_oss_event.cseq_oss_event.hseq_oss_init.cseq_oss_ioctl.cseq_oss_midi.cseq_oss_midi.hseq_oss_readq.cseq_oss_readq.hseq_oss_rw.cseq_oss_synth.cseq_oss_synth.hseq_oss_timer.cseq_oss_timer.hseq_oss_writeq.cseq_oss_writeq.hseq.cseq_clientmgr.cseq_clientmgr.hseq_compat.cseq_device.cseq_dummy.cseq_fifo.cseq_fifo.hseq_info.cseq_info.hseq_lock.cseq_lock.hseq_memory.cseq_memory.hseq_midi.cseq_midi_emul.cseq_midi_event.cseq_ports.cseq_ports.hseq_prioq.cseq_prioq.hseq_queue.cseq_queue.hseq_system.cseq_system.hseq_timer.cseq_timer.hseq_virmidi.csgbuf.csound.csound_oss.ctimer.ctimer_compat.cvmaster.cdriversKconfigMakefilealoop.cdummy.cml403-ac97cr.cmpu401Makefilempu401.cmpu401_uart.cmtpav.cmts64.copl3Makefileopl3_drums.copl3_lib.copl3_midi.copl3_oss.copl3_seq.copl3_synth.copl3_voice.hopl4Makefileopl4_lib.copl4_local.hopl4_mixer.copl4_proc.copl4_seq.copl4_synth.cyrw801.cpcm-indirect2.cpcm-indirect2.hpcspMakefilepcsp.cpcsp.hpcsp_input.cpcsp_input.hpcsp_lib.cpcsp_mixer.cportman2x4.cserial-u16550.cvirmidi.cvxMakefilevx_cmd.cvx_cmd.hvx_core.cvx_hwdep.cvx_mixer.cvx_pcm.cvx_uer.cfirewireKconfigMakefileamdtp-am824.camdtp-am824.hamdtp-stream-trace.hamdtp-stream.camdtp-stream.hbebobMakefilebebob.cbebob.hbebob_command.cbebob_focusrite.cbebob_hwdep.cbebob_maudio.cbebob_midi.cbebob_pcm.cbebob_proc.cbebob_stream.cbebob_terratec.cbebob_yamaha_terratec.ccmp.ccmp.hdiceMakefiledice-hwdep.cdice-interface.hdice-midi.cdice-pcm.cdice-proc.cdice-stream.cdice-transaction.cdice.cdice.hdigi00xMakefileamdtp-dot.cdigi00x-hwdep.cdigi00x-midi.cdigi00x-pcm.cdigi00x-proc.cdigi00x-stream.cdigi00x-transaction.cdigi00x.cdigi00x.hfcp.cfcp.hfirefaceMakefileamdtp-ff.cff-hwdep.cff-midi.cff-pcm.cff-proc.cff-protocol-ff400.cff-stream.cff-transaction.cff.cff.hfireworksMakefilefireworks.cfireworks.hfireworks_command.cfireworks_hwdep.cfireworks_midi.cfireworks_pcm.cfireworks_proc.cfireworks_stream.cfireworks_transaction.cisight.ciso-resources.ciso-resources.hlib.clib.hmotuMakefileamdtp-motu-trace.hamdtp-motu.cmotu-hwdep.cmotu-midi.cmotu-pcm.cmotu-proc.cmotu-protocol-v2.cmotu-protocol-v3.cmotu-stream.cmotu-transaction.cmotu.cmotu.hoxfwMakefileoxfw-command.coxfw-hwdep.coxfw-midi.coxfw-pcm.coxfw-proc.coxfw-scs1x.coxfw-spkr.coxfw-stream.coxfw.coxfw.hpackets-buffer.cpackets-buffer.htascamMakefileamdtp-tascam.ctascam-hwdep.ctascam-midi.ctascam-pcm.ctascam-proc.ctascam-stream.ctascam-transaction.ctascam.ctascam.hhdaKconfigMakefilearray.cextMakefilehdac_ext_bus.chdac_ext_controller.chdac_ext_stream.chda_bus_type.chdac_bus.chdac_controller.chdac_device.chdac_i915.chdac_regmap.chdac_stream.chdac_sysfs.chdmi_chmap.clocal.htrace.ctrace.hi2cMakefilecs8427.ci2c.cotherMakefileak4113.cak4114.cak4117.cak4xxx-adda.cpt2258.ctea6330t.cisaKconfigMakefilead1816aMakefilead1816a.cad1816a_lib.cad1848Makefilead1848.cadlib.cals100.cazt2320.ccmi8328.ccmi8330.ccs423xMakefilecs4231.ccs4236.ccs4236_lib.ces1688Makefilees1688.ces1688_lib.ces18xx.cgalaxyMakefileazt1605.cazt2316.cgalaxy.cgusMakefilegus_dma.cgus_dram.cgus_io.cgus_irq.cgus_main.cgus_mem.cgus_mem_proc.cgus_mixer.cgus_pcm.cgus_reset.cgus_tables.hgus_timer.cgus_uart.cgus_volume.cgusclassic.cgusextreme.cgusmax.cinterwave-stb.cinterwave.cmsndMakefilemsnd.cmsnd.hmsnd_classic.cmsnd_classic.hmsnd_midi.cmsnd_pinnacle.cmsnd_pinnacle.hmsnd_pinnacle_mixer.copl3sa2.copti9xxMakefilemiro.copti92x-ad1848.copti92x-cs4231.copti93x.csbMakefileemu8000.cemu8000_callback.cemu8000_local.hemu8000_patch.cemu8000_pcm.cemu8000_synth.cjazz16.csb16.csb16_csp.csb16_main.csb8.csb8_main.csb8_midi.csb_common.csb_mixer.csbawe.csc6000.csscape.cwavefrontMakefilewavefront.cwavefront_fx.cwavefront_midi.cwavefront_synth.cwssMakefilewss_lib.clast.cmipsKconfigMakefilead1843.chal2.chal2.hsgio2audio.cossCHANGELOGKconfigMakefileREADME.FIRSTad1848.cad1848.had1848_mixer.haedsp16.caudio.cbin2hex.ccoproc.hdev_table.cdev_table.hdmabuf.cdmasoundKconfigMakefiledmasound.hdmasound_atari.cdmasound_core.cdmasound_paula.cdmasound_q40.chex2hex.ckahlua.cmidi_ctrl.hmidi_synth.cmidi_synth.hmidibuf.cmpu401.cmpu401.hmsnd.cmsnd.hmsnd_classic.cmsnd_classic.hmsnd_pinnacle.cmsnd_pinnacle.hopl3.copl3_hw.hos.hpas2.hpas2_card.cpas2_midi.cpas2_mixer.cpas2_pcm.cpss.csb.hsb_audio.csb_card.csb_card.hsb_common.csb_ess.csb_ess.hsb_midi.csb_mixer.csb_mixer.hsequencer.csleep.hsound_calls.hsound_config.hsound_firmware.hsound_timer.csoundcard.csoundvers.hswarm_cs4297a.csys_timer.ctrix.ctuning.huart401.cuart6850.culaw.hv_midi.cv_midi.hvidc.cvidc.hvidc_fill.Swaveartist.cwaveartist.hpariscKconfigMakefileharmony.charmony.hpciKconfigMakefileac97Makefileac97_codec.cac97_id.hac97_local.hac97_patch.cac97_patch.hac97_pcm.cac97_proc.cad1889.cad1889.hak4531_codec.cali5451Makefileali5451.cals300.cals4000.casihpiMakefileasihpi.chpi.hhpi6000.chpi6000.hhpi6205.chpi6205.hhpi_internal.hhpi_version.hhpicmn.chpicmn.hhpidebug.chpidebug.hhpidspcd.chpidspcd.hhpifunc.chpimsginit.chpimsginit.hhpimsgx.chpimsgx.hhpioctl.chpioctl.hhpios.chpios.hhpipcida.hatiixp.catiixp_modem.cau88x0Makefileau8810.cau8810.hau8820.cau8820.hau8830.cau8830.hau88x0.cau88x0.hau88x0_a3d.cau88x0_a3d.hau88x0_a3ddata.cau88x0_core.cau88x0_eq.cau88x0_eq.hau88x0_eqdata.cau88x0_game.cau88x0_mixer.cau88x0_mpu401.cau88x0_pcm.cau88x0_synth.cau88x0_wt.hau88x0_xtalk.cau88x0_xtalk.haw2Makefileaw2-alsa.caw2-saa7146.caw2-saa7146.haw2-tsl.csaa7146.hazt3328.cazt3328.hbt87x.cca0106Makefileca0106.hca0106_main.cca0106_mixer.cca0106_proc.cca_midi.cca_midi.hcmipci.ccs4281.ccs46xxMakefilecs46xx.ccs46xx.hcs46xx_dsp_scb_types.hcs46xx_dsp_spos.hcs46xx_dsp_task_types.hcs46xx_lib.ccs46xx_lib.hdsp_spos.cdsp_spos.hdsp_spos_scb_lib.ccs5530.ccs5535audioMakefilecs5535audio.ccs5535audio.hcs5535audio_olpc.ccs5535audio_pcm.ccs5535audio_pm.cctxfiMakefilect20k1reg.hct20k2reg.hctamixer.cctamixer.hctatc.cctatc.hctdaio.cctdaio.hcthardware.ccthardware.hcthw20k1.ccthw20k1.hcthw20k2.ccthw20k2.hctimap.cctimap.hctmixer.cctmixer.hctpcm.cctpcm.hctresource.cctresource.hctsrc.cctsrc.hcttimer.ccttimer.hctvmem.cctvmem.hxfi.cechoaudioMakefiledarla20.cdarla20_dsp.cdarla24.cdarla24_dsp.cecho3g.cecho3g_dsp.cechoaudio.cechoaudio.hechoaudio_3g.cechoaudio_dsp.cechoaudio_dsp.hechoaudio_gml.cgina20.cgina20_dsp.cgina24.cgina24_dsp.cindigo.cindigo_dsp.cindigo_express_dsp.cindigodj.cindigodj_dsp.cindigodjx.cindigodjx_dsp.cindigoio.cindigoio_dsp.cindigoiox.cindigoiox_dsp.clayla20.clayla20_dsp.clayla24.clayla24_dsp.cmia.cmia_dsp.cmidi.cmona.cmona_dsp.cemu10k1Makefileemu10k1.cemu10k1_callback.cemu10k1_main.cemu10k1_patch.cemu10k1_synth.cemu10k1_synth_local.hemu10k1x.cemufx.cemumixer.cemumpu401.cemupcm.cemuproc.cio.cirq.cmemory.cp16v.cp16v.hp17v.htimer.ctina2.hvoice.cens1370.cens1371.ces1938.ces1968.cfm801.chdaKconfigMakefileca0132_regs.hdell_wmi_helper.chda_auto_parser.chda_auto_parser.hhda_beep.chda_beep.hhda_bind.chda_codec.chda_codec.hhda_controller.chda_controller.hhda_controller_trace.hhda_eld.chda_generic.chda_generic.hhda_hwdep.chda_intel.chda_intel.hhda_intel_trace.hhda_jack.chda_jack.hhda_local.hhda_proc.chda_sysfs.chda_tegra.clocal.hpatch_analog.cpatch_ca0110.cpatch_ca0132.cpatch_cirrus.cpatch_cmedia.cpatch_conexant.cpatch_hdmi.cpatch_realtek.cpatch_si3054.cpatch_sigmatel.cpatch_via.cthinkpad_helper.cice1712Makefileak4xxx.camp.camp.haureon.caureon.hdelta.cdelta.henvy24ht.hews.cews.hhoontech.choontech.hice1712.cice1712.hice1724.cjuli.cjuli.hmaya44.cmaya44.hphase.cphase.hpontis.cpontis.hprodigy192.cprodigy192.hprodigy_hifi.cprodigy_hifi.hpsc724.cpsc724.hquartet.cquartet.hrevo.crevo.hse.cse.hstac946x.hvt1720_mobo.cvt1720_mobo.hwm8766.cwm8766.hwm8776.cwm8776.hwtm.cwtm.hintel8x0.cintel8x0m.ckorg1212Makefilekorg1212.clolaMakefilelola.clola.hlola_clock.clola_mixer.clola_pcm.clola_proc.clx6464esMakefilelx6464es.clx6464es.hlx_core.clx_core.hlx_defs.hmaestro3.cmixartMakefilemixart.cmixart.hmixart_core.cmixart_core.hmixart_hwdep.cmixart_hwdep.hmixart_mixer.cmixart_mixer.hnm256Makefilenm256.cnm256_coef.coxygenMakefileak4396.hcm9780.hcs2000.hcs4245.hcs4362a.hcs4398.hoxygen.coxygen.hoxygen_io.coxygen_lib.coxygen_mixer.coxygen_pcm.coxygen_regs.hpcm1796.hse6x.cvirtuoso.cwm8766.hwm8776.hwm8785.hxonar.hxonar_cs43xx.cxonar_dg.cxonar_dg.hxonar_dg_mixer.cxonar_hdmi.cxonar_lib.cxonar_pcm179x.cxonar_wm87x6.cpcxhrMakefilepcxhr.cpcxhr.hpcxhr_core.cpcxhr_core.hpcxhr_hwdep.cpcxhr_hwdep.hpcxhr_mix22.cpcxhr_mix22.hpcxhr_mixer.cpcxhr_mixer.hriptideMakefileriptide.crme32.crme96.crme9652Makefilehdsp.chdspm.crme9652.csis7019.csis7019.hsonicvibes.ctridentMakefiletrident.ctrident.htrident_main.ctrident_memory.cvia82xx.cvia82xx_modem.cvx222Makefilevx222.cvx222.hvx222_ops.cymfpciMakefileymfpci.cymfpci.hymfpci_main.cpcmciaKconfigMakefilepdaudiocfMakefilepdaudiocf.cpdaudiocf.hpdaudiocf_core.cpdaudiocf_irq.cpdaudiocf_pcm.cvxMakefilevxp_mixer.cvxp_ops.cvxpocket.cvxpocket.hppcKconfigMakefileawacs.cawacs.hbeep.cburgundy.cburgundy.hdaca.ckeywest.cpmac.cpmac.hpowermac.csnd_ps3.csnd_ps3.hsnd_ps3_reg.htumbler.ctumbler_volume.hshKconfigMakefileaica.caica.hsh_dac_audio.csocKconfigMakefileadiKconfigMakefileaxi-i2s.caxi-spdif.camdKconfigMakefileacp-pcm-dma.cacp.hincludeacp_2_2_d.hacp_2_2_enum.hacp_2_2_sh_mask.hatmelKconfigMakefileatmel-classd.catmel-classd.hatmel-pcm-dma.catmel-pcm-pdc.catmel-pcm.hatmel-pdmic.catmel-pdmic.hatmel_ssc_dai.catmel_ssc_dai.hatmel_wm8904.csam9g20_wm8731.csam9x5_wm8731.ctse850-pcm5142.cau1xKconfigMakefileac97c.cdb1000.cdb1200.cdbdma2.cdma.ci2sc.cpsc-ac97.cpsc-i2s.cpsc.hbcmKconfigMakefilebcm2835-i2s.ccygnus-pcm.ccygnus-ssp.ccygnus-ssp.hblackfinKconfigMakefilebf5xx-ac97-pcm.cbf5xx-ac97.cbf5xx-ac97.hbf5xx-ad1836.cbf5xx-ad193x.cbf5xx-ad1980.cbf5xx-ad73311.cbf5xx-i2s-pcm.cbf5xx-i2s-pcm.hbf5xx-i2s.cbf5xx-sport.cbf5xx-sport.hbf5xx-ssm2602.cbf6xx-i2s.cbf6xx-sport.cbf6xx-sport.hbfin-eval-adau1373.cbfin-eval-adau1701.cbfin-eval-adau1x61.cbfin-eval-adau1x81.cbfin-eval-adav80x.ccirrusKconfigMakefileedb93xx.cep93xx-ac97.cep93xx-i2s.cep93xx-pcm.cep93xx-pcm.hsimone.csnappercl15.ccodecs88pm860x-codec.c88pm860x-codec.hKconfigMakefileab8500-codec.cab8500-codec.hac97.cad1836.cad1836.had193x-i2c.cad193x-spi.cad193x.cad193x.had1980.cad73311.cad73311.hadau-utils.cadau-utils.hadau1373.cadau1373.hadau1701.cadau1701.hadau1761-i2c.cadau1761-spi.cadau1761.cadau1761.hadau1781-i2c.cadau1781-spi.cadau1781.cadau1781.hadau17x1.cadau17x1.hadau1977-i2c.cadau1977-spi.cadau1977.cadau1977.hadau7002.cadav801.cadav803.cadav80x.cadav80x.hads117x.cak4104.cak4535.cak4535.hak4554.cak4613.cak4641.cak4642.cak4671.cak4671.hak5386.calc5623.calc5623.halc5632.calc5632.harizona.carizona.hbt-sco.ccq93vc.ccs35l32.ccs35l32.hcs35l33.ccs35l33.hcs35l34.ccs35l34.hcs35l35.ccs35l35.hcs4265.ccs4265.hcs4270.ccs4271-i2c.ccs4271-spi.ccs4271.ccs4271.hcs42l42.ccs42l42.hcs42l51-i2c.ccs42l51.ccs42l51.hcs42l52.ccs42l52.hcs42l56.ccs42l56.hcs42l73.ccs42l73.hcs42xx8-i2c.ccs42xx8.ccs42xx8.hcs4349.ccs4349.hcs47l24.ccs47l24.hcs53l30.ccs53l30.hcx20442.ccx20442.hda7210.cda7213.cda7213.hda7218.cda7218.hda7219-aad.cda7219-aad.hda7219.cda7219.hda732x.cda732x.hda732x_reg.hda9055.cdio2125.cdmic.ces7134.ces8328-i2c.ces8328-spi.ces8328.ces8328.hgtm601.chdac_hdmi.chdac_hdmi.hhdmi-codec.cics43432.cinno_rk3036.cinno_rk3036.hisabelle.cisabelle.hjz4740.cl3.clm4857.clm49453.clm49453.hmax9768.cmax98088.cmax98088.hmax98090.cmax98090.hmax98095.cmax98095.hmax98357a.cmax98371.cmax98371.hmax9850.cmax9850.hmax98504.cmax98504.hmax9860.cmax9860.hmax9867.cmax9867.hmax9877.cmax9877.hmax98925.cmax98925.hmax98926.cmax98926.hmax98927.cmax98927.hmc13783.cmc13783.hml26124.cml26124.hmsm8916-wcd-analog.cmsm8916-wcd-digital.cnau8540.cnau8540.hnau8810.cnau8810.hnau8824.cnau8824.hnau8825.cnau8825.hpcm1681.cpcm179x-i2c.cpcm179x-spi.cpcm179x.cpcm179x.hpcm3008.cpcm3008.hpcm3168a-i2c.cpcm3168a-spi.cpcm3168a.cpcm3168a.hpcm5102a.cpcm512x-i2c.cpcm512x-spi.cpcm512x.cpcm512x.hrl6231.crl6231.hrl6347a.crl6347a.hrt286.crt286.hrt298.crt298.hrt5514-spi.crt5514-spi.hrt5514.crt5514.hrt5616.crt5616.hrt5631.crt5631.hrt5640.crt5640.hrt5645.crt5645.hrt5651.crt5651.hrt5659.crt5659.hrt5660.crt5660.hrt5663.crt5663.hrt5665.crt5665.hrt5670-dsp.hrt5670.crt5670.hrt5677-spi.crt5677-spi.hrt5677.crt5677.hsgtl5000.csgtl5000.hsi476x.csigmadsp-i2c.csigmadsp-regmap.csigmadsp.csigmadsp.hsirf-audio-codec.csirf-audio-codec.hsn95031.csn95031.hspdif_receiver.cspdif_transmitter.cssm2518.cssm2518.hssm2602-i2c.cssm2602-spi.cssm2602.cssm2602.hssm4567.csta32x.csta32x.hsta350.csta350.hsta529.cstac9766.csti-sas.ctas2552.ctas2552.htas5086.ctas571x.ctas571x.htas5720.ctas5720.htfa9879.ctfa9879.htlv320aic23-i2c.ctlv320aic23-spi.ctlv320aic23.ctlv320aic23.htlv320aic26.ctlv320aic26.htlv320aic31xx.ctlv320aic31xx.htlv320aic32x4-i2c.ctlv320aic32x4-spi.ctlv320aic32x4.ctlv320aic32x4.htlv320aic3x.ctlv320aic3x.htlv320dac33.ctlv320dac33.htpa6130a2.ctpa6130a2.hts3a227e.cts3a227e.htwl4030.ctwl6040.ctwl6040.huda134x.cuda134x.huda1380.cuda1380.hwl1273.cwl1273.hwm0010.cwm1250-ev1.cwm2000.cwm2000.hwm2200.cwm2200.hwm5100-tables.cwm5100.cwm5100.hwm5102.cwm5102.hwm5110.cwm5110.hwm8350.cwm8350.hwm8400.cwm8400.hwm8510.cwm8510.hwm8523.cwm8523.hwm8580.cwm8580.hwm8711.cwm8711.hwm8727.cwm8728.cwm8728.hwm8731.cwm8731.hwm8737.cwm8737.hwm8741.cwm8741.hwm8750.cwm8750.hwm8753.cwm8753.hwm8770.cwm8770.hwm8776.cwm8776.hwm8782.cwm8804-i2c.cwm8804-spi.cwm8804.cwm8804.hwm8900.cwm8900.hwm8903.cwm8903.hwm8904.cwm8904.hwm8940.cwm8940.hwm8955.cwm8955.hwm8958-dsp2.cwm8960.cwm8960.hwm8961.cwm8961.hwm8962.cwm8962.hwm8971.cwm8971.hwm8974.cwm8974.hwm8978.cwm8978.hwm8983.cwm8983.hwm8985.cwm8985.hwm8988.cwm8988.hwm8990.cwm8990.hwm8991.cwm8991.hwm8993.cwm8993.hwm8994.cwm8994.hwm8995.cwm8995.hwm8996.cwm8996.hwm8997.cwm8997.hwm8998.cwm8998.hwm9081.cwm9081.hwm9090.cwm9090.hwm9705.cwm9712.cwm9713.cwm9713.hwm_adsp.cwm_adsp.hwm_hubs.cwm_hubs.hwmfw.hdavinciKconfigMakefiledavinci-evm.cdavinci-i2s.cdavinci-i2s.hdavinci-mcasp.cdavinci-mcasp.hdavinci-vcif.cedma-pcm.cedma-pcm.hdwcKconfigMakefiledwc-i2s.cdwc-pcm.clocal.hfslKconfigMakefileefika-audio-fabric.ceukrea-tlv320.cfsl-asoc-card.cfsl_asrc.cfsl_asrc.hfsl_asrc_dma.cfsl_dma.cfsl_dma.hfsl_esai.cfsl_esai.hfsl_sai.cfsl_sai.hfsl_spdif.cfsl_spdif.hfsl_ssi.cfsl_ssi.hfsl_ssi_dbg.cfsl_utils.cfsl_utils.himx-audmux.cimx-audmux.himx-es8328.cimx-mc13783.cimx-pcm-dma.cimx-pcm-fiq.cimx-pcm.himx-sgtl5000.cimx-spdif.cimx-ssi.cimx-ssi.himx-wm8962.cmpc5200_dma.cmpc5200_dma.hmpc5200_psc_ac97.cmpc5200_psc_i2s.cmpc8610_hpcd.cmx27vis-aic32x4.cp1022_ds.cp1022_rdk.cpcm030-audio-fabric.cphycore-ac97.cwm1133-ev1.cgenericKconfigMakefilesimple-card-utils.csimple-card.csimple-scu-card.chisiliconKconfigMakefilehi6210-i2s.chi6210-i2s.himgKconfigMakefileimg-i2s-in.cimg-i2s-out.cimg-parallel-out.cimg-spdif-in.cimg-spdif-out.cpistachio-internal-dac.cintelKconfigMakefileatomMakefilesstsst-atom-controls.csst-atom-controls.hsst-mfld-dsp.hsst-mfld-platform-compress.csst-mfld-platform-pcm.csst-mfld-platform.hMakefilesst.csst.hsst_acpi.csst_drv_interface.csst_ipc.csst_loader.csst_pci.csst_pvt.csst_stream.cbaytrailMakefilesst-baytrail-dsp.csst-baytrail-ipc.csst-baytrail-ipc.hsst-baytrail-pcm.cboardsMakefilebdw-rt5677.cbroadwell.cbxt_da7219_max98357a.cbxt_rt298.cbyt-max98090.cbyt-rt5640.cbytcht_da7213.cbytcht_nocodec.cbytcr_rt5640.cbytcr_rt5651.ccht_bsw_max98090_ti.ccht_bsw_rt5645.ccht_bsw_rt5672.chaswell.cmfld_machine.cskl_nau88l25_max98357a.cskl_nau88l25_ssm4567.cskl_rt286.ccommonMakefilesst-acpi.csst-acpi.hsst-dsp-priv.hsst-dsp.csst-dsp.hsst-firmware.csst-ipc.csst-ipc.hsst-match-acpi.chaswellMakefilesst-haswell-dsp.csst-haswell-ipc.csst-haswell-ipc.hsst-haswell-pcm.cskylakeMakefilebxt-sst.cskl-messages.cskl-nhlt.cskl-nhlt.hskl-pcm.cskl-sst-cldma.cskl-sst-cldma.hskl-sst-dsp.cskl-sst-dsp.hskl-sst-ipc.cskl-sst-ipc.hskl-sst-utils.cskl-sst.cskl-topology.cskl-topology.hskl-tplg-interface.hskl.cskl.hjz4740KconfigMakefilejz4740-i2s.cjz4740-i2s.hqi_lb60.ckirkwoodKconfigMakefilearmada-370-db.ckirkwood-dma.ckirkwood-i2s.ckirkwood.hmediatekKconfigMakefilecommonMakefilemtk-afe-fe-dai.cmtk-afe-fe-dai.hmtk-afe-platform-driver.cmtk-afe-platform-driver.hmtk-base-afe.hmt2701Makefilemt2701-afe-clock-ctrl.cmt2701-afe-clock-ctrl.hmt2701-afe-common.hmt2701-afe-pcm.cmt2701-cs42448.cmt2701-reg.hmt2701-wm8960.cmt8173Makefilemt8173-afe-common.hmt8173-afe-pcm.cmt8173-max98090.cmt8173-rt5650-rt5514.cmt8173-rt5650-rt5676.cmt8173-rt5650.cmxsKconfigMakefilemxs-pcm.cmxs-pcm.hmxs-saif.cmxs-saif.hmxs-sgtl5000.cnuc900KconfigMakefilenuc900-ac97.cnuc900-audio.cnuc900-audio.hnuc900-pcm.comapKconfigMakefileam3517evm.cams-delta.cmcbsp.cmcbsp.hn810.comap-abe-twl6040.comap-dmic.comap-dmic.homap-hdmi-audio.comap-mcbsp.comap-mcbsp.homap-mcpdm.comap-mcpdm.homap-pcm.comap-twl4030.comap3pandora.cosk5912.crx51.cpxaKconfigMakefilebrownstone.ccorgi.ce740_wm9705.ce750_wm9705.ce800_wm9712.cem-x270.chx4700.cimote2.cmagician.cmioa701_wm9713.cmmp-pcm.cmmp-sspa.cmmp-sspa.hpalm27x.cpoodle.cpxa-ssp.cpxa-ssp.hpxa2xx-ac97.cpxa2xx-i2s.cpxa2xx-i2s.hpxa2xx-pcm.craumfeld.cspitz.ctosa.cttc-dkb.cz2.czylonite.cqcomKconfigMakefileapq8016_sbc.clpass-apq8016.clpass-cpu.clpass-ipq806x.clpass-lpaif-reg.hlpass-platform.clpass.hstorm.crockchipKconfigMakefilerk3288_hdmi_analog.crk3399_gru_sound.crockchip_i2s.crockchip_i2s.hrockchip_max98090.crockchip_rt5645.crockchip_spdif.crockchip_spdif.hsamsungKconfigMakefilearndale_rt5631.cbells.cdma.hdmaengine.ch1940_uda1380.ci2s-regs.hi2s.ci2s.hidma.cidma.hjive_wm8750.clittlemill.clowland.cneo1973_wm8753.codroid.cpcm.cpcm.hregs-i2s-v2.hregs-iis.hrx1950_uda1380.cs3c-i2s-v2.cs3c-i2s-v2.hs3c2412-i2s.cs3c2412-i2s.hs3c24xx-i2s.cs3c24xx-i2s.hs3c24xx_simtec.cs3c24xx_simtec.hs3c24xx_simtec_hermes.cs3c24xx_simtec_tlv320aic23.cs3c24xx_uda134x.csmartq_wm8987.csmdk_spdif.csmdk_wm8580.csmdk_wm8994.csmdk_wm8994pcm.csnow.cspdif.cspdif.hspeyside.ctm2_wm5110.ctobermory.cshKconfigMakefiledma-sh7760.cfsi.chac.cmigor.crcarMakefileadg.ccmd.ccore.cctu.cdma.cdvc.cgen.cmix.crsnd.hsrc.cssi.cssiu.csh7760-ac97.csiu.hsiu_dai.csiu_pcm.cssi.csirfKconfigMakefilesirf-audio-port.csirf-audio.csirf-usp.csirf-usp.hsoc-ac97.csoc-cache.csoc-compress.csoc-core.csoc-dapm.csoc-devres.csoc-generic-dmaengine-pcm.csoc-io.csoc-jack.csoc-ops.csoc-pcm.csoc-topology.csoc-utils.cspearKconfigMakefilespdif_in.cspdif_in_regs.hspdif_out.cspdif_out_regs.hspear_pcm.cspear_pcm.hstiKconfigMakefilesti_uniperif.cuniperif.huniperif_player.cuniperif_reader.cstmKconfigMakefilestm32_sai.cstm32_sai.hstm32_sai_sub.csunxiKconfigMakefilesun4i-codec.csun4i-i2s.csun4i-spdif.csun8i-codec-analog.csun8i-codec.ctegraKconfigMakefiletegra20_ac97.ctegra20_ac97.htegra20_das.ctegra20_das.htegra20_i2s.ctegra20_i2s.htegra20_spdif.ctegra20_spdif.htegra30_ahub.ctegra30_ahub.htegra30_i2s.ctegra30_i2s.htegra_alc5632.ctegra_asoc_utils.ctegra_asoc_utils.htegra_max98090.ctegra_pcm.ctegra_pcm.htegra_rt5640.ctegra_rt5677.ctegra_sgtl5000.ctegra_wm8753.ctegra_wm8903.ctegra_wm9712.ctrimslice.ctxx9KconfigMakefiletxx9aclc-ac97.ctxx9aclc-generic.ctxx9aclc.ctxx9aclc.hux500KconfigMakefilemop500.cmop500_ab8500.cmop500_ab8500.hux500_msp_dai.cux500_msp_dai.hux500_msp_i2s.cux500_msp_i2s.hux500_pcm.cux500_pcm.hxtensaKconfigMakefilextfpga-i2s.czteKconfigMakefilezx-i2s.czx-spdif.czx-tdm.csound_core.csparcKconfigMakefileamd7930.ccs4231.cdbri.cspiKconfigMakefileat73c213.cat73c213.hsynthMakefileemuxMakefileemux.cemux_effect.cemux_hwdep.cemux_nrpn.cemux_oss.cemux_proc.cemux_seq.cemux_synth.cemux_voice.hsoundfont.cutil_mem.cusb6fireMakefilechip.cchip.hcomm.ccomm.hcommon.hcontrol.ccontrol.hfirmware.cfirmware.hmidi.cmidi.hpcm.cpcm.hKconfigMakefilebcd2000Makefilebcd2000.ccaiaqMakefileaudio.caudio.hcontrol.ccontrol.hdevice.cdevice.hinput.cinput.hmidi.cmidi.hcard.ccard.hclock.cclock.hdebug.hendpoint.cendpoint.hformat.cformat.hhelper.chelper.hhifaceMakefilechip.cchip.hpcm.cpcm.hline6KconfigMakefilecapture.ccapture.hdriver.cdriver.hmidi.cmidi.hmidibuf.cmidibuf.hpcm.cpcm.hplayback.cplayback.hpod.cpodhd.ctoneport.cvariax.cmidi.cmidi.hmiscMakefileua101.cmixer.cmixer.hmixer_maps.cmixer_quirks.cmixer_quirks.hmixer_scarlett.cmixer_scarlett.hmixer_us16x08.cmixer_us16x08.hpcm.cpcm.hpower.hproc.cproc.hquirks-table.hquirks.cquirks.hstream.cstream.husbaudio.husx2yMakefileus122l.cus122l.husX2Yhwdep.cusX2Yhwdep.husb_stream.cusb_stream.husbus428ctldefs.husbusx2y.cusbusx2y.husbusx2yaudio.cusx2y.husx2yhwdeppcm.cusx2yhwdeppcm.hx86KconfigMakefileintel_hdmi_audio.cintel_hdmi_audio.hintel_hdmi_lpe_audio.htoolsMakefileaccountingMakefilegetdelays.carchalphaincludeasmbarrier.huapiasmbitsperlong.hmman.harcincludeuapiasmmman.harmincludeasmbarrier.huapiasmkvm.hmman.hperf_regs.harm64includeasmbarrier.huapiasmbitsperlong.hkvm.hmman.hperf_regs.hfrvincludeuapiasmbitsperlong.hmman.hh8300includeasmbitsperlong.huapiasmmman.hhexagonincludeuapiasmbitsperlong.hmman.hia64includeasmbarrier.huapiasmbitsperlong.hmman.hm32rincludeuapiasmbitsperlong.hmman.hmicroblazeincludeuapiasmbitsperlong.hmman.hmipsincludeasmbarrier.huapiasmbitsperlong.hkvm.hmman.hmn10300includeuapiasmbitsperlong.hmman.hpariscincludeuapiasmbitsperlong.hmman.hpowerpcincludeasmbarrier.huapiasmbitsperlong.hkvm.hmman.hperf_regs.hs390includeasmbarrier.huapiasmbitsperlong.hkvm.hkvm_perf.hmman.hsie.hscoreincludeuapiasmbitsperlong.hmman.hshincludeasmbarrier.huapiasmmman.hsparcincludeasmbarrier.hbarrier_32.hbarrier_64.huapiasmbitsperlong.hmman.htileincludeasmbarrier.huapiasmbitsperlong.hmman.hx86includeasmatomic.hbarrier.hcmpxchg.hcpufeatures.hdisabled-features.hrequired-features.hrmwcc.hunistd_32.hunistd_64.huapiasmbitsperlong.hkvm.hkvm_perf.hmman.hperf_regs.hsvm.hvmx.hlibmemcpy_64.Smemset_64.Sxtensaincludeasmbarrier.huapiasmmman.hbuildBuildBuild.includeDocumentationBuild.txtMakefileMakefile.buildMakefile.featureMakefile.includefeatureMakefiletest-all.ctest-backtrace.ctest-bionic.ctest-bpf.ctest-clang.cpptest-compile.ctest-cplus-demangle.ctest-cxx.cpptest-dwarf.ctest-dwarf_getlocations.ctest-fortify-source.ctest-get_cpuid.ctest-glibc.ctest-gtk2-infobar.ctest-gtk2.ctest-hello.ctest-jvmti.ctest-libaudit.ctest-libbabeltrace.ctest-libbfd.ctest-libcrypto.ctest-libdw-dwarf-unwind.ctest-libelf-gelf_getnote.ctest-libelf-getphdrnum.ctest-libelf-getshdrstrndx.ctest-libelf-mmap.ctest-libelf.ctest-libnuma.ctest-libperl.ctest-libpython-version.ctest-libpython.ctest-libslang.ctest-libunwind-aarch64.ctest-libunwind-arm.ctest-libunwind-debug-frame-aarch64.ctest-libunwind-debug-frame-arm.ctest-libunwind-debug-frame.ctest-libunwind-x86.ctest-libunwind-x86_64.ctest-libunwind.ctest-llvm-version.cpptest-llvm.cpptest-lzma.ctest-numa_num_possible_cpus.ctest-pthread-attr-setaffinity-np.ctest-sched_getcpu.ctest-sdt.ctest-stackprotector-all.ctest-sync-compare-and-swap.ctest-timerfd.ctest-zlib.cfixdep.ctestsexBuildMakefilea.carchBuilde.cf.cb.cc.cd.cemptyBuildempty2READMEex.cinc.crun.shcgroupMakefilecgroup_event_listener.cfirewireMakefiledecode-fcp.clist.hnosy-dump.cnosy-dump.hgpioBuildMakefilegpio-event-mon.cgpio-hammer.cgpio-utils.cgpio-utils.hlsgpio.chvMakefilebondvf.shhv_fcopy_daemon.chv_get_dhcp_info.shhv_get_dns_info.shhv_kvp_daemon.chv_set_ifconfig.shhv_vss_daemon.clsvmbusiioMakefileiio_event_monitor.ciio_generic_buffer.ciio_utils.ciio_utils.hlsiio.cincludeasmasm-genericatomic-gcc.hbarrier.hbitopsbitops.h__ffs.h__ffz.h__fls.harch_hweight.hatomic.hconst_hweight.hfind.hfls.hfls64.hhweight.hbitsperlong.halternative-asm.hatomic.hbarrier.hbug.hlinuxatomic.hbitmap.hbitops.hbug.hcompiler-gcc.hcompiler.hcoresight-pmu.herr.hexport.hfilter.hhash.hhashtable.hkernel.hlist.hlog2.hpoison.hrbtree.hrbtree_augmented.hrefcount.hspinlock.hstring.hstringify.htime64.htypes.htoolsbe_byteshift.hendian.hle_byteshift.huapiasm-genericbitsperlong.hmman-common.hmman.hlinuxbpf.hbpf_common.hbpf_perf_event.hfcntl.hhw_breakpoint.hmman.hperf_event.hstat.hkvmkvm_statMakefilekvm_statkvm_stat.txtlaptopdslmMakefiledslm.cfreefallMakefilefreefall.cledsMakefileled_hw_brightness_mon.culedmon.clguestMakefileextractlguest.clguest.txtlibapiBuildMakefilecpu.ccpu.hdebug-internal.hdebug.cdebug.hfdBuildarray.carray.hfsBuildfs.cfs.htracing_path.ctracing_path.hbitmap.cbpfBuildMakefilebpf.cbpf.hlibbpf.clibbpf.hfind_bit.chweight.clockdepBuildMakefilecommon.cincludeliblockdepcommon.hmutex.hrwlock.hlockdeplockdep.clockdep_internals.hlockdep_states.hpreload.crbtree.crun_tests.shtestsAA.cABA.cABBA.cABBA_2threads.cABBCCA.cABBCCDDA.cABCABC.cABCDBCDA.cABCDBDDA.cWW.ccommon.hunlock_balance.cuincludeasmhash.hhweight.hsections.hlinuxbitops.hcompiler.hdebug_locks.hdelay.hftrace.hgfp.hhardirq.hhash.hinterrupt.hirqflags.hkallsyms.hkern_levels.hkernel.hkmemcheck.hlinkage.hlist.hlockdep.hmodule.hmutex.hpoison.hprefetch.hproc_fs.hrbtree_augmented.hrcu.hseq_file.hspinlock.hstacktrace.hstringify.htraceeventslock.hrbtree.cstr_error_r.cstring.csubcmdBuildMakefileexec-cmd.cexec-cmd.hhelp.chelp.hpager.cpager.hparse-options.cparse-options.hrun-command.crun-command.hsigchain.csigchain.hsubcmd-config.csubcmd-config.hsubcmd-util.hsymbolkallsyms.ckallsyms.htraceeventBuildMakefileevent-parse.cevent-parse.hevent-plugin.cevent-utils.hkbuffer-parse.ckbuffer.hparse-filter.cparse-utils.cplugin_cfg80211.cplugin_function.cplugin_hrtimer.cplugin_jbd2.cplugin_kmem.cplugin_kvm.cplugin_mac80211.cplugin_sched_switch.cplugin_scsi.cplugin_xen.ctrace-seq.cvsprintf.cnetMakefilebpf_asm.cbpf_dbg.cbpf_exp.lbpf_exp.ybpf_jit_disasm.cnfsdinject_fault.shobjtoolBuildDocumentationstack-validation.txtMakefilearcharch.hx86Builddecode.cinsngen-insn-attr-x86.awkinat.cinat.hinat_types.hinsn.cinsn.hx86-opcode-map.txtbuiltin-check.cbuiltin.helf.celf.hobjtool.cspecial.cspecial.hwarn.hpcipcitest.cpcitest.shpcmciaMakefilecrc32hash.cperfBuildCREDITSDocumentationBuild.txtMakefileandroid.txtasciidoc.confcallchain-overhead-calculation.txtexamples.txtintel-bts.txtintel-pt.txtitrace.txtjit-interface.txtjitdump-specification.txtmanpage-1.72.xslmanpage-base.xslmanpage-bold-literal.xslmanpage-normal.xslmanpage-suppress-sp.xslperf-annotate.txtperf-archive.txtperf-bench.txtperf-buildid-cache.txtperf-buildid-list.txtperf-c2c.txtperf-config.txtperf-data.txtperf-diff.txtperf-evlist.txtperf-ftrace.txtperf-help.txtperf-inject.txtperf-kallsyms.txtperf-kmem.txtperf-kvm.txtperf-list.txtperf-lock.txtperf-mem.txtperf-probe.txtperf-record.txtperf-report.txtperf-sched.txtperf-script-perl.txtperf-script-python.txtperf-script.txtperf-stat.txtperf-test.txtperf-timechart.txtperf-top.txtperf-trace.txtperf.data-file-format.txtperf.txtperfconfig.exampletips.txtMANIFESTMakefileMakefile.configMakefile.perfarchBuildalphaBuildarmBuildMakefileannotateinstructions.cincludedwarf-regs-table.hperf_regs.htestsBuilddwarf-unwind.cregs_load.SutilBuildauxtrace.ccs-etm.ccs-etm.hdwarf-regs.cpmu.cunwind-libdw.cunwind-libunwind.carm64BuildMakefileannotateinstructions.cincludedwarf-regs-table.hperf_regs.htestsBuilddwarf-unwind.cregs_load.SutilBuilddwarf-regs.cunwind-libunwind.ccommon.ccommon.hmipsBuildpariscBuildpowerpcBuildMakefileannotateinstructions.cincludearch-tests.hdwarf-regs-table.hperf_regs.htestsBuildarch-tests.cdwarf-unwind.cregs_load.SutilBuildbook3s_hcalls.hbook3s_hv_exits.hdwarf-regs.cheader.ckvm-stat.cperf_regs.cskip-callchain-idx.csym-handling.cunwind-libunwind.cs390BuildMakefileannotateinstructions.cincludedwarf-regs-table.hutilBuilddwarf-regs.cheader.ckvm-stat.cmachine.cshBuildMakefileincludedwarf-regs-table.hutilBuilddwarf-regs.csparcBuildMakefileincludedwarf-regs-table.hutilBuilddwarf-regs.cx86BuildMakefileannotateinstructions.centrysyscallssyscall_64.tblsyscalltbl.shincludearch-tests.hdwarf-regs-table.hperf_regs.htestsBuildarch-tests.cdwarf-unwind.cgen-insn-x86-dat.awkgen-insn-x86-dat.shinsn-x86-dat-32.cinsn-x86-dat-64.cinsn-x86-dat-src.cinsn-x86.cintel-cqm.cperf-time-to-tsc.crdpmc.cregs_load.SutilBuildauxtrace.cdwarf-regs.cgroup.cheader.cintel-bts.cintel-pt.ckvm-stat.cperf_regs.cpmu.ctsc.cunwind-libdw.cunwind-libunwind.cxtensaBuildMakefileincludedwarf-regs-table.hutilBuilddwarf-regs.cbenchBuildbench.hfutex-hash.cfutex-lock-pi.cfutex-requeue.cfutex-wake-parallel.cfutex-wake.cfutex.hmem-functions.cmem-memcpy-arch.hmem-memcpy-x86-64-asm-def.hmem-memcpy-x86-64-asm.Smem-memset-arch.hmem-memset-x86-64-asm-def.hmem-memset-x86-64-asm.Snuma.csched-messaging.csched-pipe.cbuiltin-annotate.cbuiltin-bench.cbuiltin-buildid-cache.cbuiltin-buildid-list.cbuiltin-c2c.cbuiltin-config.cbuiltin-data.cbuiltin-diff.cbuiltin-evlist.cbuiltin-ftrace.cbuiltin-help.cbuiltin-inject.cbuiltin-kallsyms.cbuiltin-kmem.cbuiltin-kvm.cbuiltin-list.cbuiltin-lock.cbuiltin-mem.cbuiltin-probe.cbuiltin-record.cbuiltin-report.cbuiltin-sched.cbuiltin-script.cbuiltin-stat.cbuiltin-timechart.cbuiltin-top.cbuiltin-trace.cbuiltin-version.cbuiltin.hcheck-headers.shcommand-list.txtdesign.txtjvmtiBuildjvmti_agent.cjvmti_agent.hlibjvmti.cperf-archive.shperf-completion.shperf-read-vdso.cperf-sys.hperf-with-kcore.shperf.cperf.hpmu-eventsBuildREADMEarchpowerpcmapfile.csvpower8cache.jsonfloating-point.jsonfrontend.jsonmarked.jsonmemory.jsonother.jsonpipeline.jsonpmc.jsontranslation.jsonx86bonnellcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonvirtual-memory.jsonbroadwellcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore.jsonvirtual-memory.jsonbroadwelldecache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore-cache.jsonuncore-memory.jsonuncore-power.jsonvirtual-memory.jsonbroadwellxcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore-cache.jsonuncore-interconnect.jsonuncore-memory.jsonuncore-power.jsonvirtual-memory.jsongoldmontcache.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonvirtual-memory.jsonhaswellcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore.jsonvirtual-memory.jsonhaswellxcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore-cache.jsonuncore-interconnect.jsonuncore-memory.jsonuncore-power.jsonvirtual-memory.jsonivybridgecache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore.jsonvirtual-memory.jsonivytowncache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore-cache.jsonuncore-interconnect.jsonuncore-memory.jsonuncore-power.jsonvirtual-memory.jsonjaketowncache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore-cache.jsonuncore-interconnect.jsonuncore-memory.jsonuncore-power.jsonvirtual-memory.jsonknightslandingcache.jsonfrontend.jsonmemory.jsonpipeline.jsonuncore-memory.jsonvirtual-memory.jsonmapfile.csvnehalemepcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonvirtual-memory.jsonnehalemexcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonvirtual-memory.jsonsandybridgecache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore.jsonvirtual-memory.jsonsilvermontcache.jsonfrontend.jsonmemory.jsonpipeline.jsonvirtual-memory.jsonskylakecache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonuncore.jsonvirtual-memory.jsonwestmereep-dpcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonvirtual-memory.jsonwestmereep-spcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonvirtual-memory.jsonwestmereexcache.jsonfloating-point.jsonfrontend.jsonmemory.jsonother.jsonpipeline.jsonvirtual-memory.jsonjevents.cjevents.hjsmn.cjsmn.hjson.cjson.hpmu-events.hpythontracepoint.pytwatch.pyscriptsBuildperlPerf-Trace-UtilBuildContext.cContext.xsMakefile.PLREADMElibPerfTraceContext.pmCore.pmUtil.pmtypemapbincheck-perf-trace-recordfailed-syscalls-recordfailed-syscalls-reportrw-by-file-recordrw-by-file-reportrw-by-pid-recordrw-by-pid-reportrwtop-recordrwtop-reportwakeup-latency-recordwakeup-latency-reportcheck-perf-trace.plfailed-syscalls.plrw-by-file.plrw-by-pid.plrwtop.plwakeup-latency.plpythonPerf-Trace-UtilBuildContext.clibPerfTraceCore.pyEventClass.pySchedGui.pyUtil.pybincompaction-times-recordcompaction-times-reportevent_analyzing_sample-recordevent_analyzing_sample-reportexport-to-postgresql-recordexport-to-postgresql-reportfailed-syscalls-by-pid-recordfailed-syscalls-by-pid-reportfutex-contention-recordfutex-contention-reportnet_dropmonitor-recordnet_dropmonitor-reportnetdev-times-recordnetdev-times-reportsched-migration-recordsched-migration-reportsctop-recordsctop-reportstackcollapse-recordstackcollapse-reportsyscall-counts-by-pid-recordsyscall-counts-by-pid-reportsyscall-counts-recordsyscall-counts-reportcall-graph-from-postgresql.pycheck-perf-trace.pycompaction-times.pyevent_analyzing_sample.pyexport-to-postgresql.pyfailed-syscalls-by-pid.pyfutex-contention.pynet_dropmonitor.pynetdev-times.pysched-migration.pysctop.pystackcollapse.pystat-cpi.pysyscall-counts-by-pid.pysyscall-counts.pytestsBuildattrattr.cattr.pyREADMEbase-recordbase-stattest-record-C0test-record-basictest-record-branch-anytest-record-branch-filter-anytest-record-branch-filter-any_calltest-record-branch-filter-any_rettest-record-branch-filter-hvtest-record-branch-filter-ind_calltest-record-branch-filter-ktest-record-branch-filter-utest-record-counttest-record-datatest-record-freqtest-record-graph-defaulttest-record-graph-dwarftest-record-graph-fptest-record-grouptest-record-group-samplingtest-record-group1test-record-no-delaytest-record-no-inherittest-record-no-samplestest-record-periodtest-record-rawtest-stat-C0test-stat-basictest-stat-defaulttest-stat-detailed-1test-stat-detailed-2test-stat-detailed-3test-stat-grouptest-stat-group1test-stat-no-inheritbackward-ring-buffer.cbitmap.cbp_signal.cbp_signal_overflow.cbpf-script-example.cbpf-script-test-kbuild.cbpf-script-test-prologue.cbpf-script-test-relocation.cbpf.cbuiltin-test.cclang.ccode-reading.ccpumap.cdso-data.cdwarf-unwind.cevent-times.cevent_update.cevsel-roundtrip-name.cevsel-tp-sched.cexpr.cfdarray.chists_common.chists_common.hhists_cumulate.chists_filter.chists_link.chists_output.cis_printable_array.ckeep-tracking.ckmod-path.cllvm.cllvm.hmakemmap-basic.cmmap-thread-lookup.copenat-syscall-all-cpus.copenat-syscall-tp-fields.copenat-syscall.cparse-events.cparse-no-sample-id-all.cperf-hooks.cperf-record.cperf-targz-src-pkgpmu.cpython-use.csample-parsing.csdt.cstat.csw-clock.cswitch-tracking.ctask-exit.ctests.hthread-map.cthread-mg-share.ctopology.cunit_number__scnprintf.cvmlinux-kallsyms.ctracebeautyBuildbeauty.heventfd.cflock.cfutex_op.cmmap.cmode_t.cmsg_flags.copen_flags.cperf_event_open.cpid.csched_policy.cseccomp.csignum.csocket_type.cstatx.cwaitid_options.cstracegroupsfileuiBuildbrowser.cbrowser.hbrowsersBuildannotate.cheader.chists.chists.hmap.cmap.hscripts.cgtkBuildannotate.cbrowser.cgtk.hhelpline.chists.cprogress.csetup.cutil.chelpline.chelpline.hhist.ckeysyms.hlibslang.hprogress.cprogress.hsetup.cstdiohist.ctuiBuildhelpline.cprogress.csetup.ctui.hutil.cui.hutil.cutil.hutilBuildPERF-VERSION-GENannotate.cannotate.hauxtrace.cauxtrace.hblock-range.cblock-range.hbpf-loader.cbpf-loader.hbpf-prologue.cbpf-prologue.hbuild-id.cbuild-id.hc++Buildclang-c.hclang-test.cppclang.cppclang.hcache.hcall-path.ccall-path.hcallchain.ccallchain.hcgroup.ccgroup.hcloexec.ccloexec.hcolor.ccolor.hcomm.ccomm.hcompress.hconfig.cconfig.hcounts.ccounts.hcpumap.ccpumap.hcs-etm.hctype.cdata-convert-bt.cdata-convert-bt.hdata-convert.hdata.cdata.hdb-export.cdb-export.hdebug.cdebug.hdemangle-java.cdemangle-java.hdemangle-rust.cdemangle-rust.hdrv_configs.cdrv_configs.hdso.cdso.hdump-insn.cdump-insn.hdwarf-aux.cdwarf-aux.hdwarf-regs.cenv.cenv.hevent.cevent.hevlist.cevlist.hevsel.cevsel.hevsel_fprintf.cexpr.hexpr.yfind-vdso-map.cgenelf.cgenelf.hgenelf_debug.cgenerate-cmdlist.shgroup.hheader.cheader.hhelp-unknown-cmd.chelp-unknown-cmd.hhist.chist.hincludeasmasm-offsets.hcpufeature.hdwarf2.hswab.hsystem.huaccess.hdwarf-regs.hlinuxctype.hlinkage.hintel-bts.cintel-bts.hintel-pt-decoderBuildgen-insn-attr-x86.awkinat.cinat.hinat_types.hinsn.cinsn.hintel-pt-decoder.cintel-pt-decoder.hintel-pt-insn-decoder.cintel-pt-insn-decoder.hintel-pt-log.cintel-pt-log.hintel-pt-pkt-decoder.cintel-pt-pkt-decoder.hx86-opcode-map.txtintel-pt.cintel-pt.hintlist.cintlist.hjit.hjitdump.cjitdump.hkvm-stat.hlevenshtein.clevenshtein.hlibunwindarm64.cx86_32.cllvm-utils.cllvm-utils.hlzma.cmachine.cmachine.hmap.cmap.hmem-events.cmem-events.hmemswap.cmemswap.hnamespaces.cnamespaces.hordered-events.cordered-events.hparse-branch-options.cparse-branch-options.hparse-events.cparse-events.hparse-events.lparse-events.yparse-regs-options.cparse-regs-options.hpath.cpath.hperf-hooks-list.hperf-hooks.cperf-hooks.hperf_regs.cperf_regs.hpmu.cpmu.hpmu.lpmu.yprint_binary.cprint_binary.hprobe-event.cprobe-event.hprobe-file.cprobe-file.hprobe-finder.cprobe-finder.hpstack.cpstack.hpython-ext-sourcespython.cquote.cquote.hrb_resort.hrblist.crblist.hrecord.csane_ctype.hscripting-enginesBuildtrace-event-perl.ctrace-event-python.csession.csession.hsetup.pysort.csort.hsrcline.csrcline.hstat-shadow.cstat.cstat.hstrbuf.cstrbuf.hstrfilter.cstrfilter.hstring.cstring2.hstrlist.cstrlist.hsvghelper.csvghelper.hsymbol-elf.csymbol-minimal.csymbol.csymbol.hsymbol_fprintf.csyscalltbl.csyscalltbl.htarget.ctarget.hterm.cterm.hthread-stack.cthread-stack.hthread.cthread.hthread_map.cthread_map.htime-utils.ctime-utils.htool.htop.ctop.htrace-event-info.ctrace-event-parse.ctrace-event-read.ctrace-event-scripting.ctrace-event.ctrace-event.htrigger.htsc.ctsc.hunits.cunits.hunwind-libdw.cunwind-libdw.hunwind-libunwind-local.cunwind-libunwind.cunwind.husage.cutil-cxx.hutil.cutil.hvalues.cvalues.hvdso.cvdso.hxyarray.cxyarray.hzlib.cpoweracpiMakefileMakefile.configMakefile.rulescommoncmfsize.cgetopt.cmanacpidump.8os_specificservice_layersoslinuxtbl.cosunixdir.cosunixmap.cosunixxf.ctoolsacpidbgMakefileacpidbg.cacpidumpMakefileacpidump.hapdump.capfiles.capmain.cecMakefileec_access.ccpupowerMakefileREADMEToDobenchMakefileREADME-BENCHbenchmark.cbenchmark.hconfig.hcpufreq-bench_plot.shcpufreq-bench_script.shexample.cfgmain.cparse.cparse.hsystem.csystem.hdebugi386Makefilecentrino-decode.cdump_psb.cintel_gsic.cpowernow-k8-decode.ckernelMakefilecpufreq-test_tsc.cx86_64Makefilelibcpufreq.ccpufreq.hcpuidle.ccpuidle.hcpupower.ccpupower.hcpupower_intern.hmancpupower-frequency-info.1cpupower-frequency-set.1cpupower-idle-info.1cpupower-idle-set.1cpupower-info.1cpupower-monitor.1cpupower-set.1cpupower.1pocs.pode.pofr.poit.popt.poutilsbuiltin.hcpufreq-info.ccpufreq-set.ccpuidle-info.ccpuidle-set.ccpupower-info.ccpupower-set.ccpupower.chelpersamd.cbitmask.cbitmask.hcpuid.chelpers.hmisc.cmsr.cpci.csysfs.csysfs.htopology.cidle_monitoramd_fam14h_idle.ccpuidle_sysfs.ccpupower-monitor.ccpupower-monitor.hhsw_ext_idle.cidle_monitors.defidle_monitors.hmperf_monitor.cnhm_idle.csnb_idle.cversion-gen.shpm-graphMakefileanalyze_boot.pyanalyze_suspend.pybootgraph.8sleepgraph.8x86intel_pstate_tracerintel_pstate_tracer.pyturbostatMakefileturbostat.8turbostat.cx86_energy_perf_policyMakefilex86_energy_perf_policy.8x86_energy_perf_policy.cscriptsMakefile.archMakefile.includeutilities.makspiMakefilespidev_fdx.cspidev_test.ctestingfault-injectionfailcmd.shktestcompare-ktest-sample.plexamplesREADMEcrosstests.confincludebisect.confdefaults.confmin-config.confpatchcheck.conftests.confkvm.confsnowball.conftest.confktest.plsample.confnvdimmKbuildMakefileconfig_check.cdax-dev.cpmem-dax.ctestKbuildiomap.cnfit.cnfit_test.hradix-treeMakefilebenchmark.cgeneratedautoconf.hidr-test.citeration_check.clinuxlinux.cbug.hcpu.hgfp.hidr.hinit.hkernel.hkmemleak.hpercpu.hpreempt.hradix-tree.hrcupdate.hslab.hmain.cmultiorder.cregression.hregression1.cregression2.cregression3.ctag_check.ctest.ctest.hselftestsMakefilebpfMakefilebpf_endian.hbpf_util.hconfiggnustubs.hincludeuapilinuxtypes.htest_align.ctest_iptunnel_common.htest_kmod.shtest_l4lb.ctest_lpm_map.ctest_lru_map.ctest_maps.ctest_pkt_access.ctest_progs.ctest_tag.ctest_tcp_estats.ctest_verifier.ctest_xdp.cbreakpointsMakefilebreakpoint_test.cbreakpoint_test_arm64.cstep_after_suspend_test.ccapabilitiesMakefiletest_execve.cvalidate_cap.ccpu-hotplugMakefileconfigcpu-on-off-test.shcpufreqMakefileconfigcpu.shcpufreq.shgovernor.shmain.shmodule.shspecial-tests.shdriversgpudrm_mm.shi915.shefivarfsMakefilecreate-read.cefivarfs.shopen-unlink.cexecMakefileexecveat.cfilesystemsMakefilednotify_test.cfirmwareMakefileconfigfw_fallback.shfw_filesystem.shftraceMakefileREADMEconfigftracetestsamplesfail.tcpass.tcunresolved.tcunsupported.tcuntested.tcxfail.tctest.d00basicbasic1.tcbasic2.tcbasic3.tcbasic4.tceventevent-enable.tcevent-pid.tcsubsystem-enable.tctoplevel-enable.tcftracefgraph-filter-stack.tcfgraph-filter.tcfunc-filter-glob.tcfunc-filter-pid.tcfunc_event_triggers.tcfunc_profiler.tcfunc_set_ftrace_file.tcfunc_traceonoff_triggers.tcfunctionsinstancesinstance-event.tcinstance.tckprobeadd_and_remove.tcbusy_check.tckprobe_args.tckprobe_args_type.tckprobe_ftrace.tckretprobe_args.tckretprobe_maxactive.tcmultiple_kprobes.tctemplatetriggertrigger-eventonoff.tctrigger-filter.tctrigger-hist-mod.tctrigger-hist.tctrigger-multihist.tctrigger-snapshot.tctrigger-stacktrace.tctrigger-traceonoff.tcfutexMakefileREADMEfunctionalMakefilefutex_requeue_pi.cfutex_requeue_pi_mismatched_ops.cfutex_requeue_pi_signal_restart.cfutex_wait_private_mapped_file.cfutex_wait_timeout.cfutex_wait_uninitialized_heap.cfutex_wait_wouldblock.crun.shincludeatomic.hfutextest.hlogging.hrun.shgen_kselftest_tar.shgpioMakefileconfiggpio-mockup-chardev.cgpio-mockup-sysfs.shgpio-mockup.shia64Makefilealiasing-test.cintel_pstateMakefileaperf.cmsr.crun.shipcMakefileconfigmsgque.ckcmpMakefilekcmp_test.ckselftest.hkselftest_install.shliblib.mkMakefilebitmap.shconfigprime_numbers.shprintf.shlockingww_mutex.shmedia_testsMakefilebind_unbind_sample.shmedia_device_open.cmedia_device_test.copen_loop_test.shregression_test.txtvideo_device_test.cmembarrierMakefilemembarrier_test.cmemfdMakefilefuse_mnt.cfuse_test.cmemfd_test.crun_fuse_test.shmemory-hotplugMakefileconfigmem-on-off-test.shmountMakefileconfigunprivileged-remount-test.cmqueueMakefilemq_open_tests.cmq_perf_tests.cnetMakefileconfignetdevice.shpsock_fanout.cpsock_lib.hpsock_tpacket.creuseport_bpf.creuseport_bpf_cpu.creuseport_bpf_numa.creuseport_dualstack.crun_afpackettestsrun_netsocktestssocket.ctest_bpf.shnetworkingtimestampingMakefilehwtstamp_config.ctimestamping.ctxtimestamp.cnsfsMakefileowner.cpidns.cntbntb_test.shpowerpcMakefilealignmentMakefilecopy_first_unaligned.ccopy_paste_unaligned_common.ccopy_paste_unaligned_common.hcopy_unaligned.cpaste_last_unaligned.cpaste_unaligned.cbenchmarksMakefilecontext_switch.cfutex_bench.cgettimeofday.cmmap_bench.cnull_syscall.ccache_shapeMakefilecache_shape.ccontext_switchMakefilecp_abort.ccopyloopsMakefileasmexport.hppc_asm.hprocessor.hcopyuser_64.Scopyuser_power7.Smemcpy_64.Smemcpy_power7.Svalidate.cdscrMakefiledscr.hdscr_default_test.cdscr_explicit_test.cdscr_inherit_exec_test.cdscr_inherit_test.cdscr_sysfs_test.cdscr_sysfs_thread_test.cdscr_user_test.charness.cincludebasic_asm.hfpu_asm.hgpr_asm.hinstructions.hreg.hsubunit.hutils.hvmx_asm.hvsx_asm.hlibreg.SmathMakefilefpu_asm.Sfpu_preempt.cfpu_signal.cfpu_syscall.cvmx_asm.Svmx_preempt.cvmx_signal.cvmx_syscall.cvsx_asm.Svsx_preempt.cmmMakefilehugetlb_vs_thp_test.cprot_sao.csubpage_prot.cpmuMakefilecount_instructions.cebbMakefileback_to_back_ebbs_test.cbusy_loop.Sclose_clears_pmcc_test.ccpu_event_pinned_vs_ebb_test.ccpu_event_vs_ebb_test.ccycles_test.ccycles_with_freeze_test.ccycles_with_mmcr2_test.cebb.cebb.hebb_handler.Sebb_on_child_test.cebb_on_willing_child_test.cebb_vs_cpu_event_test.cevent_attributes_test.cfixed_instruction_loop.Sfork_cleanup_test.cinstruction_count_test.clost_exception_test.cmulti_counter_test.cmulti_ebb_procs_test.cno_handler_test.cpmae_handling_test.cpmc56_overflow_test.creg_access_test.ctask_event_pinned_vs_ebb_test.ctask_event_vs_ebb_test.ctrace.ctrace.hevent.cevent.hl3_bank_test.clib.clib.hloop.Sper_event_excludes.cprimitivesMakefileasmasm-compat.hfirmware.hppc-opcode.hppc_asm.hprocessor.hlinuxstringify.hload_unaligned_zeropad.cword-at-a-time.hptraceMakefileptrace-gpr.cptrace-gpr.hptrace-tar.cptrace-tar.hptrace-tm-gpr.cptrace-tm-spd-gpr.cptrace-tm-spd-tar.cptrace-tm-spd-vsx.cptrace-tm-spr.cptrace-tm-tar.cptrace-tm-vsx.cptrace-vsx.cptrace-vsx.hptrace.hscriptshmi.shsignalMakefilesignal.Ssignal.csignal_tm.cstringloopsMakefileasmexport.hppc_asm.hmemcmp.cmemcmp_64.Sswitch_endianMakefilecheck.Scommon.hswitch_endian_test.SsyscallsMakefileipc.hipc_unmuxed.ctmMakefiletm-exec.ctm-fork.ctm-resched-dscr.ctm-signal-context-chk-fpu.ctm-signal-context-chk-gpr.ctm-signal-context-chk-vmx.ctm-signal-context-chk-vsx.ctm-signal-msr-resv.ctm-signal-stack.ctm-signal.Stm-syscall-asm.Stm-syscall.ctm-tar.ctm-tmspr.ctm-vmx-unavail.ctm-vmxcopy.ctm.hutils.cvphnMakefiletest-vphn.cvphn.cvphn.hprctlMakefiledisable-tsc-ctxt-sw-stress-test.cdisable-tsc-on-off-stress-test.cdisable-tsc-test.cpstoreMakefilecommon_testsconfigpstore_crash_testpstore_post_reboot_testspstore_testsptpMakefiletestptp.ctestptp.mkptraceMakefilepeeksiginfo.crcutorturebinconfig2frag.shconfigNR_CPUS.shconfigcheck.shconfiginit.shcpus2use.shfunctions.shjitter.shkvm-build.shkvm-recheck-lock.shkvm-recheck-rcu.shkvm-recheck-rcuperf-ftrace.shkvm-recheck-rcuperf.shkvm-recheck.shkvm-test-1-run.shkvm.shparse-build.shparse-console.shparse-torture.shconfigslockBUSTEDBUSTED.bootCFLISTCFcommonLOCK01LOCK02LOCK02.bootLOCK03LOCK03.bootLOCK04LOCK04.bootLOCK05LOCK05.bootLOCK06LOCK06.bootLOCK07LOCK07.bootver_functions.shrcuBUSTEDBUSTED.bootCFLISTCFcommonSRCU-NSRCU-N.bootSRCU-PSRCU-P.bootTASKS01TASKS01.bootTASKS02TASKS02.bootTASKS03TASKS03.bootTINY01TINY02TINY02.bootTREE01TREE01.bootTREE02TREE02-TTREE03TREE03.bootTREE04TREE04.bootTREE05TREE05.bootTREE06TREE06.bootTREE07TREE07.bootTREE08TREE08-TTREE08-T.bootTREE08.bootTREE09ver_functions.shrcuperfCFLISTCFcommonTREETREE54ver_functions.shdocTINY_RCU.txtTREE_RCU-kconfig.txtinitrd.txtrcu-test-image.txtformalsrcu-cbmcMakefileempty_includeslinuxdelay.hexport.hmutex.hpercpu.hpreempt.hrcupdate.hsched.hsmp.hworkqueue.huapilinuxtypes.hincludelinuxkconfig.htypes.hmodify_srcu.awksrcassume.hbarriers.hbug_on.hcombined_source.cconfig.hinclude_srcu.cint_typedefs.hlocks.hmisc.cmisc.hpercpu.hpreempt.cpreempt.hsimple_sync_srcu.cworkqueues.htestsstore_bufferingMakefileassert_end.failforce.failforce2.failforce3.failmain.passtest.ctest_script.shseccompMakefileconfigseccomp_bpf.ctest_harness.hsigaltstackMakefilesas.csizeMakefileget_size.cspliceMakefiledefault_file_splice_read.cdefault_file_splice_read.shstatic_keysMakefileconfigtest_static_keys.shsyncMakefilesw_sync.hsync.csync.hsync_alloc.csync_fence.csync_merge.csync_stress_consumer.csync_stress_merge.csync_stress_parallelism.csync_test.csync_wait.csynctest.hsysctlMakefilecommon_testsrun_numerictestsrun_stringteststimersMakefileadjtick.calarmtimer-suspend.cchange_skew.cclocksource-switch.cinconsistency-check.cleap-a-day.cleapcrash.cmqueue-lat.cnanosleep.cnsleep-lat.cposix_timers.craw_skew.crtctest.cset-2038.cset-tai.cset-timer-lat.cset-tz.cskew_consistency.cthreadtest.cvalid-adjtimex.cuserMakefileconfigtest_user_copy.shvDSOMakefileparse_vdso.cvdso_standalone_test_x86.cvdso_test.cvmMakefilecompaction_test.cconfighugepage-mmap.chugepage-shm.cmap_hugetlb.cmlock-random-test.cmlock2-tests.cmlock2.hon-fault-limit.crun_vmteststhuge-gen.ctranshuge-stress.cuserfaultfd.cvirtual_address_range.cwatchdogMakefilewatchdog-test.cx86Makefilecheck_cc.shcheck_initial_reg_state.centry_from_vm86.cfsgsbase.cioperm.ciopl.cldt_gdt.cmpx-debug.hmpx-dig.cmpx-hw.hmpx-mini-test.cmpx-mm.hpkey-helpers.hprotection_keys.cptrace_syscall.craw_syscall_helper_32.Ssigreturn.csingle_step_syscall.csyscall_arg_fault.csyscall_nt.csysret_rip.csysret_ss_attrs.ctest_FCMOV.ctest_FCOMI.ctest_FISTTP.ctest_mremap_vdso.ctest_syscall_vdso.ctest_vdso.cthunks.Sthunks_32.Strivial_32bit_program.ctrivial_64bit_program.cunwind_vdso.cvdso_restorer.czramMakefileREADMEconfigzram.shzram01.shzram02.shzram_lib.shthermaltmonMakefileREADMEpid.csysfs.ctmon.8tmon.ctmon.htui.ctimeudelay_test.shusbMakefileffs-aio-examplemultibuffdevice_appaio_multibuff.chost_appMakefiletest.csimpledevice_appaio_simple.chost_appMakefiletest.cffs-test.chcd-tests.shtestusb.cusbipAUTHORSCOPYINGINSTALLMakefile.amREADMEautogen.shcleanup.shconfigure.acdocusbip.8usbipd.8libsrcMakefile.amlist.hnames.cnames.hsysfs_utils.csysfs_utils.husbip_common.cusbip_common.husbip_device_driver.cusbip_device_driver.husbip_host_common.cusbip_host_common.husbip_host_driver.cusbip_host_driver.hvhci_driver.cvhci_driver.hsrcMakefile.amusbip.cusbip.husbip_attach.cusbip_bind.cusbip_detach.cusbip_list.cusbip_network.cusbip_network.husbip_port.cusbip_unbind.cusbipd.cutils.cutils.hvudcvudc_server_example.shvirtioMakefileasmbarrier.hlinuxbug.hcompiler.hdevice.hdma-mapping.herr.hexport.hhrtimer.hirqreturn.hkernel.hkmemleak.hmodule.hprintk.hratelimit.hscatterlist.hslab.huaccess.huio.hvirtio.hvirtio_byteorder.hvirtio_config.hvirtio_ring.hvringh.hringtestMakefileREADMEmain.cmain.hnoring.cptr_ring.cring.crun-on-all.shvirtio_ring_0_9.cvirtio_ring_inorder.cvirtio_ring_poll.cuapilinuxuio.hvirtio_config.hvirtio_ring.hvirtio_types.hvhost_testMakefilevhost_test.cvirtio-traceMakefileREADMEtrace-agent-ctl.ctrace-agent-rw.ctrace-agent.ctrace-agent.hvirtio_test.cvringh_test.cvmMakefilepage-types.cpage_owner_sort.cslabinfo-gnuplot.shslabinfo.cusrKconfigMakefilegen_init_cpio.cinitramfs_data.SvirtMakefilekvmKconfigarmaarch32.carch_timer.carm.chyptimer-sr.cvgic-v2-sr.cvgic-v3-sr.cmmio.cmmu.cperf.cpmu.cpsci.ctrace.hvgictrace.hvgic-debug.cvgic-init.cvgic-irqfd.cvgic-its.cvgic-kvm-device.cvgic-mmio-v2.cvgic-mmio-v3.cvgic-mmio.cvgic-mmio.hvgic-v2.cvgic-v3.cvgic.cvgic.hasync_pf.casync_pf.hcoalesced_mmio.ccoalesced_mmio.heventfd.cirqchip.ckvm_main.cvfio.cvfio.hlibKconfigMakefileirqbypass.c/usr/src//usr/src/linux-4.12.14-lp150.12.82-vanilla//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ABI//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ABI/obsolete//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ABI/removed//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ABI/stable//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ABI/testing//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/DocBook//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/EDID//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/PCI//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/PCI/endpoint//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/PCI/endpoint/function//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/PCI/endpoint/function/binding//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/RCU//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/RCU/Design//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/RCU/Design/Data-Structures//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/RCU/Design/Expedited-Grace-Periods//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/RCU/Design/Requirements//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/accounting//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/acpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/acpi/apei//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/acpi/dsd//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/admin-guide//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/admin-guide/pm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/aoe//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/Atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/Marvell//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/OMAP//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/SA1100//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/SPEAr//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/Samsung-S3C24XX//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/Samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/VFP//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/keystone//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/nwfpe//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/pxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/sti//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/stm32//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm/sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/arm64//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/auxdisplay//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/backlight//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/blackfin//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/block//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/blockdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/blockdev/drbd//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/bus-devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/cdrom//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/cgroup-v1//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/cma//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/connector//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/console//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/core-api//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/cpu-freq//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/cpuidle//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/cris//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/dev-tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/device-mapper//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/altera//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/apm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/calxeda//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/cpu-enable-method//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/freescale//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/keystone//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/marvell//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/mrvl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/msm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/nxp//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/omap//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/uniphier//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/ux500//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/arm/vt8500//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/ata//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/auxdisplay//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/board//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/bus//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/c6x//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/clock//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/clock/st//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/clock/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/cpufreq//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/cris//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/devfreq//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/devfreq/event//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/armada//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/bridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/connector//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/etnaviv//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/exynos//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/imx//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/msm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/panel//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/display/tilcdc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/dma//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/dma/xilinx//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/edac//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/eeprom//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/extcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/firmware/meson//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/fpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/fuse//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/goldfish//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/gpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/h8300//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/hsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/hwlock//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/hwmon//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/accel//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/adc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/chemical//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/dac//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/frequency//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/gyroscope//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/health//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/humidity//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/imu//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/light//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/magnetometer//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/potentiometer//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/potentiostat//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/pressure//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/proximity//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/temperature//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iio/timer//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/infiniband//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/input//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/input/rmi4//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/input/touchscreen//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/interrupt-controller//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/iommu//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/ipmi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/leds//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/leds/backlight//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/leds/irled//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/lpddr2//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mailbox//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/media/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/media/xilinx//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/memory-controllers//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/memory-controllers/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/memory-controllers/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/metag//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mips//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mips/brcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mips/cavium//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mips/img//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mips/pic32//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/mtd//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/net/can//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/net/dsa//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/net/ieee802154//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/net/nfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/net/wireless//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/nios2//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/nvmem//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/opp//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/pinctrl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/power/reset//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/power/supply//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/power/supply/ab8500//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/power_supply//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/powerpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/powerpc/4xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/powerpc/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/powerpc/nintendo//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/powerpc/opal//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/pps//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/pwm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/regmap//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/regulator//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/remoteproc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/reserved-memory//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/reset//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/rng//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/rtc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/scsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/security//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/security/tpm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/serial//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/serio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/dove//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/fsl/cpm_qe//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/fsl/cpm_qe/cpm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/soc/zte//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/sound//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/spmi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/sram//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/staging//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/staging/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/staging/iio/adc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/thermal//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/timer//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/ufs//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/virtio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/w1//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/watchdog//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/devicetree/bindings/xillybus//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/dmaengine//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/doc-guide//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/driver-api//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/driver-api/80211//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/driver-api/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/driver-api/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/driver-api/pm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/driver-api/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/driver-model//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/early-userspace//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/extcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/fault-injection//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/fb//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/core/BPF-JIT//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/core/generic-idle-thread//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/core/jump-labels//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/core/tracehook//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/KASAN//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/gcov-profile-all//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/kgdb//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/kprobes-on-ftrace//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/kprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/kretprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/optprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/stackprotector//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/uprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/debug/user-ret-profiler//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/io//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/io/dma-api-debug//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/io/dma-contiguous//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/io/sg-chain//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/lib/strncasecmp//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/locking//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/locking/cmpxchg-local//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/locking/lockdep//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/locking/queued-rwlocks//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/locking/queued-spinlocks//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/locking/rwsem-optimized//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/perf/kprobes-event//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/perf/perf-regs//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/perf/perf-stackdump//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/sched//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/sched/numa-balancing//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/seccomp//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/seccomp/seccomp-filter//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/time//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/time/arch-tick-broadcast//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/time/clockevents//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/time/context-tracking//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/time/irq-time-acct//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/time/modern-timekeeping//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/time/virt-cpuacct//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/ELF-ASLR//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/PG_uncached//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/THP//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/TLB//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/huge-vmap//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/ioremap_prot//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/numa-memblock//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/features/vm/pte_special//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/filesystems//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/filesystems/caching//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/filesystems/cifs//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/filesystems/configfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/filesystems/nfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/filesystems/pohmelfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/firmware_class//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/fmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/fpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/frv//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/gpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/gpu/bridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/hid//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/hwmon//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/i2c/busses//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/i2c/muxes//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ia64//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ide//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/infiniband//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/input//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/input/devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/input/joydev//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ioctl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/isdn//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/kbuild//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/kdump//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/laptops//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/leds//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/lightnvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/livepatch//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/locking//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/m68k//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/md//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/dvb-drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/kapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/uapi/cec//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/uapi/dvb//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/uapi/mediactl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/uapi/rc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/uapi/v4l//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/media/v4l-drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/memory-devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/metag//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/mic//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/mips//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/misc-devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/misc-devices/mei//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/mmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/mn10300//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/mtd//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/mtd/nand//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/namespaces//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/netlabel//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/networking//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/networking/caif//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/networking/dsa//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/networking/mac80211_hwsim//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/nfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/nios2//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/nvdimm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/nvmem//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/parisc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/pcmcia//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/power/powercap//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/power/regulator//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/powerpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/pps//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/prctl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/process//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/pti//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/ptp//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/rapidio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/s390//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/scheduler//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/scsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/scsi/scsi_transport_srp//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/security//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/security/tpm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/serial//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sound//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sound/cards//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sound/designs//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sound/hd-audio//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sound/kernel-api//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sound/oss//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sound/soc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sparc//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sphinx-static//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sphinx//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/sysctl//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/target//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/thermal//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/timers//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/trace/postprocess//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations/ja_JP//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations/ko_KR//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations/zh_CN//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations/zh_CN/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations/zh_CN/arm64//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations/zh_CN/filesystems//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/translations/zh_CN/video4linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/userspace-api//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/virtual//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/virtual/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/virtual/kvm/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/virtual/kvm/devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/virtual/uml//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/vm//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/w1//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/w1/masters//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/w1/slaves//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/watchdog//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/wimax//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/x86/i386//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/x86/x86_64//usr/src/linux-4.12.14-lp150.12.82-vanilla/Documentation/xtensa//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/boot/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/alpha/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/plat-axs10x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/plat-eznps//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/plat-eznps/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/plat-eznps/include/plat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/plat-sim//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arc/plat-tb10x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/boot/bootp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include/asm/hardware//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include/asm/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include/asm/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include/debug//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/kvm/hyp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-alpine//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-artpec//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-asm9260//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-aspeed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-at91//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-axxia//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-berlin//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-clps711x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-cns3xxx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-davinci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-davinci/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-davinci/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-digicolor//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-dove//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-dove/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-dove/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ebsa110//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ebsa110/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ebsa110/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-efm32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ep93xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ep93xx/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ep93xx/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-exynos//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-exynos/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-exynos/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-footbridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-footbridge/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-footbridge/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-gemini//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-highbank//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-hisi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-imx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-imx/devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-integrator//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop13xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop13xx/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop13xx/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop32x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop32x/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop32x/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop33x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop33x/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-iop33x/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ixp4xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ixp4xx/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ixp4xx/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-keystone//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ks8695//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ks8695/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ks8695/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-lpc18xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-lpc32xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-lpc32xx/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-lpc32xx/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-meson//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-mmp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-moxart//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-mv78xx0//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-mvebu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-mxs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-netx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-netx/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-netx/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-nomadik//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-nspire//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-omap1//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-omap1/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-omap1/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-omap2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-omap2/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-omap2/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-orion5x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-oxnas//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-picoxcell//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-prima2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-pxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-pxa/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-pxa/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-realview//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-rpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-rpc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-rpc/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-s3c24xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-s3c24xx/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-s3c24xx/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-s3c64xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-s3c64xx/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-s3c64xx/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-s5pv210//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-sa1100//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-sa1100/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-sa1100/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-shmobile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-socfpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-spear//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-spear/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-spear/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-sti//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-stm32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-tango//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-u300//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-uniphier//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-ux500//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-versatile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-vexpress//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-vt8500//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-w90x900//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-w90x900/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-w90x900/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-zx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mach-zynq//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/nwfpe//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-iop//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-omap//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-omap/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-omap/include/plat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-orion//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-orion/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-orion/include/plat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-pxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-pxa/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-pxa/include/plat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-samsung/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-samsung/include/plat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-versatile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-versatile/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/plat-versatile/include/plat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/probes//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/probes/kprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/probes/uprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/vdso//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/vfp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/al//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/allwinner//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/altera//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/amd//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/amlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/apm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/broadcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/cavium//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/exynos//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/freescale//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/lg//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/marvell//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/nvidia//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/renesas//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/socionext//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/sprd//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/xilinx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/boot/dts/zte//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/include/asm/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/kernel/probes//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/kernel/vdso//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/kvm/hyp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/arm64/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/include/mach-common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/kernel/cplb-mpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/kernel/cplb-nompu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf518//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf518/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf518/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf518/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf527//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf527/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf527/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf527/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf533//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf533/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf533/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf533/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf537//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf537/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf537/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf537/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf538//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf538/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf538/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf538/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf548//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf548/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf548/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf548/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf561//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf561/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf561/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf561/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf609//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf609/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf609/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-bf609/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mach-common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/blackfin/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/c6x/platforms//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v10//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v10/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v10/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v10/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v10/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/drivers/mach-a3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/drivers/mach-fs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/drivers/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/mach-a3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/mach-fs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/arch-v32/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/boot/rescue//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/boot/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v10//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v10/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/arch/hwregs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/arch/hwregs/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/arch/hwregs/iop//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/arch/hwregs/iop/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-a3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-a3/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-a3/mach/hwregs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-fs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-fs/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-fs/mach/hwregs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/uapi/arch-v10//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/uapi/arch-v10/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/uapi/arch-v32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/uapi/arch-v32/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/cris/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/mb93090-mb00//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/frv/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/h8300/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/hexagon/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/dig//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/hp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/hp/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/hp/sim//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/hp/sim/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/hp/zx1//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include/asm/native//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include/asm/sn//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include/asm/sn/sn2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include/asm/uv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/scripts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/sn//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/sn/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/sn/include/xtalk//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/sn/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/sn/kernel/sn2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/sn/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/sn/pci/pcibr//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/uv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/ia64/uv/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/asm/m32104ut//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/asm/m32700ut//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/asm/mappi2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/asm/mappi3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/asm/opsput//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/m32104ut//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/m32700ut//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/mappi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/mappi2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/mappi3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/oaks32r//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/opsput//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m32r/platforms/usrv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/68000//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/amiga//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/apollo//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/atari//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/bvme6000//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/coldfire//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/fpsp040//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/hp300//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/ifpsp060//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/ifpsp060/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/mac//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/mvme147//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/mvme16x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/q40//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/sun3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/sun3/prom//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/sun3x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/m68k/tools/amiga//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/include/asm/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/kernel/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/metag/tbx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/kernel/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/microblaze/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/alchemy//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/alchemy/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/alchemy/devboards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/ar7//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/ath25//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/ath79//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/bcm47xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/bcm63xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/bcm63xx/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/bmips//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/brcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/cavium-octeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/img//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/ingenic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/lantiq//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/mti//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/netlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/pic32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/qca//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/ralink//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/dts/xilfpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/boot/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/cavium-octeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/cavium-octeon/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/cavium-octeon/executive//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/cobalt//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/configs/generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/dec//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/dec/prom//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/emma//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/emma/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/emma/markeins//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/fw//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/fw/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/fw/cfe//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/fw/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/fw/sni//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/dec//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/emma//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/fw//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/fw/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/fw/cfe//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/ip32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/lasat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ar7//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ath25//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ath79//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-au1x00//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-bcm47xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-bcm63xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-bmips//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-cavium-octeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-cobalt//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-db1x00//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-dec//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-emma2rh//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ip22//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ip27//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ip28//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ip32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-jazz//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-jz4740//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-lantiq//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-lantiq/falcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-lantiq/xway//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-lasat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-loongson32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-loongson64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-loongson64/cs5536//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-malta//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-netlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-paravirt//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-pic32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-pistachio//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-pmcs-msp71xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-pnx833x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ralink//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ralink/mt7620//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ralink/mt7621//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ralink/rt288x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ralink/rt305x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-ralink/rt3883//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-rc32434//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-rm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-sibyte//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-tx39xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-tx49xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-vr41xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mach-xilfpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/mips-boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/netlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/netlogic/xlp-hal//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/netlogic/xlr//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/octeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/sgi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/sibyte//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/sn//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/sn/sn0//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/txx9//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/vr41xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/asm/xtalk//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/jazz//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/jz4740//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/lantiq//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/lantiq/falcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/lantiq/xway//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/lasat//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/lasat/image//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson32/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson32/ls1b//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson32/ls1c//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson64/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson64/common/cs5536//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson64/fuloong-2e//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson64/lemote-2f//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/loongson64/loongson-3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/mti-malta//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/netlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/netlogic/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/netlogic/xlp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/netlogic/xlr//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/paravirt//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pic32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pic32/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pic32/pic32mzda//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pistachio//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pmcs-msp71xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pnx833x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pnx833x/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/pnx833x/stb22x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/ralink//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/rb532//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sgi-ip22//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sgi-ip27//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sgi-ip32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sibyte//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sibyte/bcm1480//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sibyte/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sibyte/sb1250//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sibyte/swarm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/sni//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/txx9//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/txx9/generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/txx9/jmr3927//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/txx9/rbtx4927//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/txx9/rbtx4938//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/txx9/rbtx4939//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/vdso//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/vr41xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/vr41xx/casio-e55//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/vr41xx/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/vr41xx/ibm-workpad//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mips/xilfpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/boot/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/proc-mn103e010//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/proc-mn103e010/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/proc-mn103e010/include/proc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/proc-mn2ws0050//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/proc-mn2ws0050/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/proc-mn2ws0050/include/proc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2303//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2303/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2303/include/unit//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2305//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2305/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2305/include/unit//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2364//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2364/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/mn10300/unit-asb2364/include/unit//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/nios2/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/include/asm/bitops//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/openrisc/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/parisc/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/boot/dts/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/configs/40x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/configs/44x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/configs/52xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/configs/83xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/configs/85xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/asm/book3s//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/asm/book3s/32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/asm/book3s/64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/asm/nohash//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/asm/nohash/32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/asm/nohash/64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/kernel/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/kernel/vdso32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/kernel/vdso64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/oprofile/cell//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/perf/req-gen//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/40x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/44x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/512x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/52xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/82xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/83xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/85xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/86xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/8xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/amigaone//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/cell//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/cell/spufs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/chrp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/embedded6xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/maple//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/pasemi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/powermac//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/powernv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/ps3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/platforms/pseries//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/purgatory//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/sysdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/sysdev/ge//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/sysdev/xics//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/sysdev/xive//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/powerpc/xmon//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/appldata//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/hypfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/include/asm/fpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/include/asm/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/kernel/vdso32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/kernel/vdso64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/numa//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/s390/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/score/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-ap325rxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-cayman//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-dreamcast//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-ecovec24//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-highlander//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-hp6xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-kfr2r09//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-landisk//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-lboxre2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-microdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-migor//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-r2d//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-rsk//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-sdk7780//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-sdk7786//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/7206//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/7343//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/770x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/7721//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/7722//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/7724//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/7751//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-se/7780//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-sh03//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-sh7763rdp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boards/mach-x3proto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/boot/romimage//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/cchips//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/cchips/hd6446x//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/drivers/dma//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/drivers/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/drivers/superhyway//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-common/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh2/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh2a//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh2a/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh3/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh4//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh4/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh4a//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh4a/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh5//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/cpu-sh5/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-common//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-common/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-dreamcast//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-dreamcast/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-ecovec24//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-ecovec24/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-kfr2r09//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-kfr2r09/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-landisk//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-landisk/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-migor//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-migor/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-sdk7786//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-sdk7786/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-se//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-se/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-sh03//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-sh03/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-x3proto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/mach-x3proto/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/irq//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/sh2//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/sh2a//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/sh3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/sh4//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/sh4a//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/sh5//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/cpu/shmobile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/kernel/vsyscall//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/lib64//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sh/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/sparc/prom//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/gxio//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include/gxio//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include/hv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include/uapi/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/kernel/vdso//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/tile/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/include/shared//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/include/shared/skas//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/kernel/skas//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/os-Linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/os-Linux/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/os-Linux/skas//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/um/scripts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/include/mach//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/unicore32/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/boot/compressed//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/boot/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/crypto/sha1-mb//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/crypto/sha256-mb//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/crypto/sha512-mb//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/entry//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/entry/syscalls//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/entry/vdso//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/entry/vdso/vdso32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/entry/vsyscall//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/events//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/events/amd//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/events/intel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/hyperv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/ia32//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm/e820//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm/fpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm/numachip//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm/uv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/asm/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/acpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/apic//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/cpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/cpu/mcheck//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/cpu/microcode//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/cpu/mtrr//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/fpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kernel/kprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/lguest//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/mm/kmemcheck//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/atom//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/ce4100//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/efi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/geode//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/goldfish//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/intel-mid//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/intel-mid/device_libs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/intel-quark//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/intel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/iris//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/olpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/scx200//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/sfi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/ts5500//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/platform/uv//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/purgatory//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/ras//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/realmode//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/realmode/rm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/um//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/um/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/um/os-Linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/um/shared//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/um/shared/sysdep//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/um/vdso//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/video//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/x86/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/boot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/boot/boot-elf//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/boot/boot-redboot//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/boot/dts//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/boot/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/iss//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/iss/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/iss/include/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/xt2000//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/xt2000/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/xt2000/include/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/xtfpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/xtfpga/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/platforms/xtfpga/include/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/csp//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/csp/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/csp/include/variant//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/dc232b//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/dc232b/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/dc232b/include/variant//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/dc233c//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/dc233c/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/dc233c/include/variant//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/de212//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/de212/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/de212/include/variant//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/fsf//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/fsf/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/fsf/include/variant//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/test_kc705_hifi//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/test_kc705_hifi/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/test_kc705_hifi/include/variant//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/test_mmuhifi_c3//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/test_mmuhifi_c3/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/arch/xtensa/variants/test_mmuhifi_c3/include/variant//usr/src/linux-4.12.14-lp150.12.82-vanilla/block//usr/src/linux-4.12.14-lp150.12.82-vanilla/block/partitions//usr/src/linux-4.12.14-lp150.12.82-vanilla/certs//usr/src/linux-4.12.14-lp150.12.82-vanilla/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/crypto/asymmetric_keys//usr/src/linux-4.12.14-lp150.12.82-vanilla/crypto/async_tx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/accessibility//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/accessibility/braille//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi/acpica//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi/apei//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi/arm64//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi/dptf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi/nfit//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi/pmic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/acpi/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/amba//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/android//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ata//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/atm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/auxdisplay//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/base//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/base/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/base/power/opp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/base/regmap//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/base/test//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/bcma//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block/aoe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block/drbd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block/mtip32xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block/paride//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block/rsxx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block/xen-blkback//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/block/zram//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/bluetooth//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/bus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/cdrom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/agp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/hw_random//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/ipmi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/mwave//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/pcmcia//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/tpm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/tpm/st33zp24//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/xilinx_hwicap//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/char/xillybus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/at91//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/axis//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/axs10x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/berlin//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/h8300//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/imx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/ingenic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/keystone//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/loongson1//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/meson//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/microchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/mmp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/mvebu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/mxs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/nxp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/pistachio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/pxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/renesas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/sirf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/socfpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/spear//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/st//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/sunxi-ng//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/uniphier//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/ux500//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/versatile//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/zte//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clk/zynq//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/clocksource//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/connector//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/cpufreq//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/cpuidle//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/cpuidle/governors//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/amcc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/caam//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/cavium//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/cavium/cpt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/cavium/zip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/ccp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/chelsio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/marvell//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/nx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat/qat_c3xxx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat/qat_c3xxxvf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat/qat_c62x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat/qat_c62xvf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat/qat_common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat/qat_dh895xcc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qat/qat_dh895xccvf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/qce//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/stm32//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/sunxi-ss//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/ux500//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/ux500/cryp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/ux500/hash//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/virtio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/crypto/vmx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dax//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dca//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/devfreq//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/devfreq/event//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma-buf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/bestcomm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/dw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/hsu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/ioat//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/ipu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/ppc4xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/dma/xilinx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/edac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/eisa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/extcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firewire//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware/broadcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware/efi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware/efi/libstub//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware/efi/test//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware/google//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware/meson//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/firmware/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/fmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/fpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/fsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/acp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/acp/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/amdgpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/amdkfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/bif//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/dce//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/gca//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/gmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/oss//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/smu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/uvd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vce//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/ATHUB//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/DC//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/GC//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/HDP//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/MMHUB//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/MP//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/NBIF//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/NBIO//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/OSSSYS//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA1//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/SMUIO//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/THM//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/UVD//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/asic_reg/vega10/VCE//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/include/ivsrcid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/powerplay//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/powerplay/eventmgr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/powerplay/hwmgr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/powerplay/inc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/powerplay/smumgr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/amd/scheduler//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/armada//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/ast//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/atmel-hlcdc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/bochs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/bridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/bridge/adv7511//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/bridge/analogix//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/bridge/synopsys//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/cirrus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/etnaviv//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/exynos//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/fsl-dcu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/gma500//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/hisilicon/hibmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/hisilicon/kirin//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/i810//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/i915//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/i915/gvt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/i915/selftests//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/imx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/meson//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/mga//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/mgag200//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/adreno//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/dsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/dsi/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/dsi/pll//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/edp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/hdmi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/mdp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/mdp/mdp4//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/msm/mdp/mdp5//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/mxsfb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/dispnv04//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/include/nvif//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/include/nvkm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/include/nvkm/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/include/nvkm/engine//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/include/nvkm/subdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvif//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/bsp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/ce//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/ce/fuc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/cipher//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/device//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/disp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/dma//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/fifo//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/gr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/mpeg//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/msenc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/mspdec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/msppp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/msvld//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/nvdec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/nvenc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/pm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/sec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/sec2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/sw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/vic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/engine/vp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/falcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/bar//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/bios//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/bus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/clk//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/devinit//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/fb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/fuse//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/ibus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/instmem//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/ltc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/mc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/mmu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/mxm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/pmu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/fuc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/secboot//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/therm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/timer//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/top//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/nouveau/nvkm/subdev/volt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/omapdrm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/omapdrm/displays//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/omapdrm/dss//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/panel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/qxl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/r128//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/radeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/radeon/reg_srcs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/rcar-du//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/savage//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/selftests//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/shmobile//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/sis//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/sti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/sun4i//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/tdfx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/tilcdc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/tinydrm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/tinydrm/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/ttm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/udl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/vc4//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/vgem//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/via//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/virtio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/vmwgfx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/vmwgfx/device_include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/drm/zte//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/host1x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/host1x/hw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/ipu-v3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/gpu/vga//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hid/i2c-hid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hid/intel-ish-hid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hid/intel-ish-hid/ipc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hid/intel-ish-hid/ishtp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hid/usbhid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hsi/clients//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hsi/controllers//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hv//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hwmon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hwmon/pmbus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hwspinlock//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hwtracing//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hwtracing/coresight//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hwtracing/intel_th//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/hwtracing/stm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/i2c/algos//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/i2c/busses//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/i2c/muxes//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ide//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/idle//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/accel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/adc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/amplifiers//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/buffer//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/chemical//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/common/cros_ec_sensors//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/common/hid-sensors//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/common/ms_sensors//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/common/ssp_sensors//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/common/st_sensors//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/counter//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/dac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/dummy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/frequency//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/gyro//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/health//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/humidity//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/imu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/imu/bmi160//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/imu/inv_mpu6050//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/imu/st_lsm6dsx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/light//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/magnetometer//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/orientation//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/potentiometer//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/potentiostat//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/pressure//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/proximity//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/temperature//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iio/trigger//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/bnxt_re//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/cxgb3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/cxgb4//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/hfi1//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/hns//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/i40iw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/mlx4//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/mlx5//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/mthca//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/nes//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/ocrdma//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/qedr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/qib//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/usnic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/hw/vmw_pvrdma//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/sw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/sw/rdmavt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/sw/rxe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/ulp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/ulp/ipoib//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/ulp/iser//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/ulp/isert//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/ulp/opa_vnic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/ulp/srp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/infiniband/ulp/srpt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/gameport//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/joystick//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/joystick/iforce//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/keyboard//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/mouse//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/rmi4//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/serio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/tablet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/input/touchscreen//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/iommu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ipack//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ipack/carriers//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ipack/devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/irqchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/capi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/divert//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/gigaset//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/hardware//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/hardware/avm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/hardware/eicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/hardware/mISDN//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/hisax//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/hysdn//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/i4l//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/isdnloop//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/isdn/mISDN//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/leds//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/leds/trigger//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/lguest//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/lguest/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/lightnvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/macintosh//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/macintosh/ams//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mailbox//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mcb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/md//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/md/bcache//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/md/persistent-data//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/cec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/common/b2c2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/common/saa7146//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/common/siano//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/common/v4l2-tpg//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/dvb-core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/dvb-frontends//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/dvb-frontends/drx39xyj//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/firewire//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/i2c/cx25840//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/i2c/et8ek8//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/i2c/m5mols//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/i2c/s5c73m3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/i2c/smiapp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/i2c/soc_camera//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/mmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/mmc/siano//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/b2c2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/bt8xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/cobalt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/cx18//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/cx23885//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/cx25821//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/cx88//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/ddbridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/dm1105//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/dt3155//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/ivtv//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/mantis//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/meye//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/netup_unidvb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/ngene//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/pluto2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/pt1//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/pt3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/saa7134//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/saa7146//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/saa7164//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/smipcie//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/solo6x10//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/sta2x11//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/ttpci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/tw5864//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/tw68//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/tw686x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/pci/zoran//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/am437x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/blackfin//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/coda//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/davinci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/exynos-gsc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/exynos4-is//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/marvell-ccic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/mtk-jpeg//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/mtk-mdp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/mtk-vcodec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/mtk-vcodec/vdec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/mtk-vcodec/venc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/mtk-vpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/omap//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/omap3isp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/rcar-vin//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/s3c-camif//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/s5p-cec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/s5p-g2d//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/s5p-jpeg//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/s5p-mfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/soc_camera//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/sti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/sti/bdisp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/sti/c8sectpfe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/sti/cec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/sti/delta//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/sti/hva//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/ti-vpe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/vimc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/vivid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/vsp1//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/platform/xilinx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/radio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/radio/si470x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/radio/si4713//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/radio/wl128x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/rc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/rc/img-ir//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/rc/keymaps//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/tuners//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/airspy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/as102//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/au0828//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/b2c2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/cpia2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/cx231xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/dvb-usb-v2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/dvb-usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/em28xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/go7007//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/gspca//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/gspca/gl860//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/gspca/m5602//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/gspca/stv06xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/hackrf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/hdpvr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/msi2500//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/pulse8-cec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/pvrusb2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/pwc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/rainshadow-cec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/s2255//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/siano//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/stk1160//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/stkwebcam//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/tm6000//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/ttusb-budget//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/ttusb-dec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/usbtv//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/usbvision//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/uvc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/usb/zr364xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/media/v4l2-core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/memory//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/memory/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/memory/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/memstick//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/memstick/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/memstick/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/message//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/message/fusion//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/message/fusion/lsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/altera-stapl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/c2port//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/cb710//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/cxl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/echo//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/eeprom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/genwqe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/ibmasm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/lis3lv02d//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mei//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/bus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/card//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/cosm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/cosm_client//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/scif//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/mic/vop//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/sgi-gru//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/sgi-xp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/ti-st//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/misc/vmw_vmci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mmc/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mmc/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/chips//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/lpddr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/maps//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/nand//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/nand/atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/nand/bcm47xxnflash//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/nand/brcmnand//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/nand/gpmi-nand//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/onenand//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/spi-nor//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/mtd/ubi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/appletalk//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/arcnet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/bonding//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/caif//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/c_can//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/cc770//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/ifi_canfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/m_can//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/mscan//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/peak_canfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/rcar//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/sja1000//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/softing//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/can/usb/peak_usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/cris//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/dsa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/dsa/b53//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/dsa/mv88e6xxx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/3com//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/8390//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/adaptec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/adi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/aeroflex//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/agere//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/alacritech//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/allwinner//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/alteon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/altera//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/amazon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/amazon/ena//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/amd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/amd/xgbe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/apm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/apm/xgene-v2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/apm/xgene//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/apple//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/aquantia//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/aquantia/atlantic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/aquantia/atlantic/hw_atl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/atheros//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/atheros/alx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/atheros/atl1c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/atheros/atl1e//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/atheros/atlx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/aurora//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/broadcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/broadcom/bnx2x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/broadcom/bnxt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/broadcom/genet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/brocade//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/brocade/bna//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cadence//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/calxeda//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cavium//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cavium/liquidio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cavium/octeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cavium/thunder//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/chelsio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/chelsio/cxgb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/chelsio/cxgb3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/chelsio/cxgb4//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/chelsio/cxgb4vf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/chelsio/libcxgb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cirrus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cisco//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/cisco/enic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/davicom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/dec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/dec/tulip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/dlink//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/emulex//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/emulex/benet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/ezchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/faraday//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/freescale//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/freescale/dpaa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/freescale/fman//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/freescale/fs_enet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/fujitsu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/hisilicon/hns//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/hp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/i825xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/ibm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/ibm/ehea//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/ibm/emac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/e1000//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/e1000e//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/fm10k//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/i40e//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/i40evf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/igb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/igbvf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/ixgb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/ixgbe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/intel/ixgbevf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/marvell//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/mellanox//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/mellanox/mlx4//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/mellanox/mlx5//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/mellanox/mlx5/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/mellanox/mlxsw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/micrel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/microchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/moxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/myricom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/myricom/myri10ge//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/natsemi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/neterion//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/neterion/vxge//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/netronome//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/netronome/nfp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/netronome/nfp/nfpcore//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/nuvoton//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/nvidia//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/nxp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/oki-semi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/oki-semi/pch_gbe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/packetengines//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/pasemi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qlogic/netxen//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qlogic/qed//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qlogic/qede//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qlogic/qlcnic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qlogic/qlge//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qualcomm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/qualcomm/emac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/rdc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/realtek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/renesas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/rocker//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/samsung/sxgbe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/seeq//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/sfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/sfc/falcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/sgi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/silan//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/sis//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/smsc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/stmicro//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/stmicro/stmmac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/sun//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/synopsys//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/tehuti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/tile//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/toshiba//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/tundra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/via//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/wiznet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/xilinx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/xircom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ethernet/xscale//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/fddi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/fddi/skfp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/fddi/skfp/h//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/fjes//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/hamradio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/hippi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/hyperv//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ieee802154//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ipvlan//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/irda//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/plip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/ppp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/slip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/team//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/vmxnet3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wan//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wan/lmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wimax//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wimax/i2400m//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/admtek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/ar5523//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/ath10k//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/ath5k//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/ath6kl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/ath9k//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/carl9170//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/wcn36xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ath/wil6210//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/b43//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/b43legacy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/brcm80211//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/brcm80211/brcmfmac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/brcm80211/brcmsmac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/brcm80211/brcmutil//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/broadcom/brcm80211/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/cisco//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intel/ipw2x00//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intel/iwlegacy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intel/iwlwifi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intel/iwlwifi/dvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intel/iwlwifi/mvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intel/iwlwifi/pcie//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intersil//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intersil/hostap//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intersil/orinoco//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intersil/p54//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/intersil/prism54//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/marvell//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/marvell/libertas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/marvell/libertas_tf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/marvell/mwifiex//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/mediatek/mt7601u//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ralink//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ralink/rt2x00//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtl818x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtl818x/rtl8180//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtl818x/rtl8187//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtl8xxxu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/btcoexist//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8188ee//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8192c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8192ce//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8192cu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8192de//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8192ee//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8192se//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8723ae//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8723be//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8723com//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/realtek/rtlwifi/rtl8821ae//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/rsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/st//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/st/cw1200//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ti/wl1251//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ti/wl12xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ti/wl18xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/ti/wlcore//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/zydas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/wireless/zydas/zd1211rw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/net/xen-netback//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/fdp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/microread//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/nfcmrvl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/nxp-nci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/pn533//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/pn544//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/s3fwrn5//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/st-nci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/st21nfca//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nfc/st95hf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ntb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ntb/hw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ntb/hw/amd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ntb/hw/intel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ntb/test//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nubus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nvdimm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nvme//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nvme/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nvme/target//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/nvmem//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/of//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/of/unittest-data//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/oprofile//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/parisc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/parport//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/dwc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/endpoint//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/endpoint/functions//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/hotplug//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/pcie//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/pcie/aer//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pci/switch//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pcmcia//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/phy/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/aspeed//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/berlin//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/freescale//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/intel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/meson//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/mvebu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/nomadik//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/pxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/sh-pfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/sirf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/spear//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/stm32//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/uniphier//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pinctrl/vt8500//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/platform/chrome//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/platform/goldfish//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/platform/mips//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/platform/olpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/platform/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pnp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pnp/isapnp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pnp/pnpacpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pnp/pnpbios//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/power/avs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/power/reset//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/power/supply//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/powercap//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pps//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pps/clients//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pps/generators//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ps3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ptp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/pwm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/rapidio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/rapidio/devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/rapidio/switches//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ras//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/regulator//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/remoteproc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/reset//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/reset/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/reset/sti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/reset/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/rpmsg//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/rtc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390/block//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390/char//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390/cio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390/scsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/s390/virtio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sbus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sbus/char//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/aacraid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/aic7xxx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/aic7xxx/aicasm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/aic94xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/arcmsr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/be2iscsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/bfa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/bnx2fc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/bnx2i//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/csiostor//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/cxgbi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/cxgbi/cxgb3i//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/cxgbi/cxgb4i//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/cxlflash//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/device_handler//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/dpt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/esas2r//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/fcoe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/fnic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/hisi_sas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/ibmvscsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/ibmvscsi_tgt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/isci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/libfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/libsas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/lpfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/megaraid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/mpt3sas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/mpt3sas/mpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/mvsas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/osd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/pcmcia//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/pm8001//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/qedf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/qedi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/qla2xxx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/qla4xxx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/smartpqi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/snic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/sym53c8xx_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/scsi/ufs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sfi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sh/clk//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sh/intc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sh/maple//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sh/superhyway//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/sn//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/bcm/brcmstb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/dove//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/fsl/qbman//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/fsl/qe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/imx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/renesas//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/tegra/fuse//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/ux500//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/versatile//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/soc/zte//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/spmi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/ssb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/android//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/android/ion//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/android/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/board//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/ccree//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/ccree/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/ccree/Documentation/devicetree//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/ccree/Documentation/devicetree/bindings//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/ccree/Documentation/devicetree/bindings/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/clocking-wizard//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/comedi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/comedi/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/comedi/kcomedilib//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/dgnc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/emxx_udc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fbtft//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fsl-dpaa2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fsl-dpaa2/ethernet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fsl-mc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fsl-mc/bus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fsl-mc/bus/dpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fsl-mc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/fwserial//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/gdm724x//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/goldfish//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/greybus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/greybus/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/greybus/Documentation/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/greybus/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/gs_fpgaboot//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/Documentation/dac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/Documentation/light//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/accel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/adc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/addac//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/cdc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/frequency//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/gyro//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/impedance-analyzer//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/light//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/meter//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/resolver//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/iio/trigger//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/ks7010//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/include/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/include/linux/libcfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/include/linux/libcfs/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/include/linux/lnet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet/klnds//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet/klnds/o2iblnd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet/klnds/socklnd//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet/libcfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet/libcfs/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet/lnet//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lnet/selftest//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/fid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/fld//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/include/lustre//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/ldlm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/llite//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/lmv//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/lov//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/mdc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/mgc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/obdclass//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/obdclass/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/obdecho//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/osc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/lustre/lustre/ptlrpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/i2c/imx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/i2c/ov5693//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/include/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/include/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/base//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/base/circbuf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/base/circbuf/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/base/circbuf/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/base/refcount//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/base/refcount/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/base/refcount/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/util/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/util/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2400_system//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2400_system/hive_isp_css_2400_system_generated//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2400_system/hrt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_csi2p_system//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_csi2p_system/hive_isp_css_2401_system_csi2p_generated//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_csi2p_system/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_csi2p_system/hrt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_system//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_system/hive_isp_css_2401_system_generated//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_system/hrt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_include/device_access//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_include/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_include/memory_access//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_shared//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_shared/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/aa//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/aa/aa_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/anr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/anr/anr_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/anr/anr_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bayer_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bayer_ls/bayer_ls_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bh//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bh/bh_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bnlm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bnr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bnr/bnr2_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/bnr/bnr_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/cnr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/cnr/cnr_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/cnr/cnr_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/conversion//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/conversion/conversion_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/copy_output//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/copy_output/copy_output_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/crop//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/crop/crop_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/csc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/csc/csc_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/de//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/de/de_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/de/de_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/dp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/dp/dp_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/dpc2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/dvs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/dvs/dvs_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/eed1_8//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/fc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/fc/fc_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/fixedbds//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/fixedbds/fixedbds_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/fpn//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/fpn/fpn_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/gc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/gc/gc_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/gc/gc_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/hdr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/io_ls/bayer_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/io_ls/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/io_ls/plane_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/io_ls/yuv420_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/io_ls/yuv444_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ipu2_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ipu2_io_ls/bayer_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ipu2_io_ls/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ipu2_io_ls/plane_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ipu2_io_ls/yuv420_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ipu2_io_ls/yuv444_io_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/iterator//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/iterator/iterator_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/macc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/macc/macc1_5//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/macc/macc_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/norm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/norm/norm_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ob//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ob/ob2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ob/ob_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/output//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/output/output_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/qplane//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/qplane/qplane_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/raw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/raw/raw_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/raw_aa_binning//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/raw_aa_binning/raw_aa_binning_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ref//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ref/ref_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/s3a//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/s3a/s3a_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/s3a_stat_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sc/sc_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/scale//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/scale/scale_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/sdis/sdis_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tdf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tdf/tdf_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tnr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tnr/tnr3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/tnr/tnr_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/uds//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/uds/uds_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/vf//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/vf/vf_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/wb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/wb/wb_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/xnr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/xnr/xnr_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/xnr/xnr_3.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ynr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ynr/ynr_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ynr/ynr_2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/yuv_ls//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/yuv_ls/yuv_ls_1.0//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/binary//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/binary/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/binary/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/bufq//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/bufq/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/bufq/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/debug//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/debug/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/debug/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/event//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/event/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/event/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/eventq//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/eventq/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/eventq/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/frame/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/ifmtr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/ifmtr/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/ifmtr/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/inputfifo//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/inputfifo/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/inputfifo/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isp_param//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isp_param/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isp_param/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/pipeline//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/pipeline/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/pipeline/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/queue//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/queue/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/queue/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/rmgr//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/rmgr/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/rmgr/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/spctrl//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/spctrl/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/spctrl/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/tagger//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/tagger/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/timer//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/timer/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/hmm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/hrt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/include/hmm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/include/mmu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/pci/atomisp2/mmu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/platform/clock//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/atomisp/platform/intel-mid//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/bcm2048//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/cxd2099//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/davinci_vpfe//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/lirc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/media/omap4iss//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/Documentation/ABI//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/aim-cdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/aim-network//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/aim-sound//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/aim-v4l2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/hdm-dim2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/hdm-i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/hdm-usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/most/mostcore//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/mt29f_spinand//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/netlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/nvec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/octeon-usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/octeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/olpc_dcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8188eu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8188eu/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8188eu/hal//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8188eu/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8188eu/os_dep//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8192e//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8192e/rtl8192e//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8192u//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8192u/ieee80211//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8712//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8723bs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8723bs/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8723bs/hal//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8723bs/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rtl8723bs/os_dep//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/rts5208//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/skein//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/sm750fb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/speakup//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/typec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/typec/fusb302//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys/Documentation/ABI//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys/visorbus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys/visorhba//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys/visorinput//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/unisys/visornic//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services/bcm2835-audio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services/bcm2835-camera//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services/interface/vchi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services/interface/vchi/connections//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services/interface/vchi/message_drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vc04_services/interface/vchiq_arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vme//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vme/devices//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vt6655//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/vt6656//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/wilc1000//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/wlan-ng//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/staging/xgifb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/target//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/target/iscsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/target/iscsi/cxgbit//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/target/loopback//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/target/sbp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/target/tcm_fc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tee//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tee/optee//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal/broadcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal/int340x_thermal//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal/st//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thermal/ti-soc-thermal//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/thunderbolt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/hvc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/ipwireless//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/serdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/serial//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/serial/8250//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/serial/cpm_uart//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/serial/jsm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/tty/vt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/uio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/atm//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/c67x00//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/chipidea//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/class//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/dwc2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/dwc3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/early//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/gadget//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/gadget/function//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/gadget/legacy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/gadget/udc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/gadget/udc/bdc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/host//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/host/whci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/image//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/isp1760//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/misc/sisusbvga//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/mon//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/mtu3//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/musb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/renesas_usbhs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/serial//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/storage//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/typec//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/usbip//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/usb/wusbcore//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/uwb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/uwb/i1480//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/uwb/i1480/dfu//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vfio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vfio/mdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vfio/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vfio/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vfio/platform/reset//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vhost//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/backlight//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/console//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/aty//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/geode//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/i810//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/intelfb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/kyro//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/matrox//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/mb862xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/mbx//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/mmp//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/mmp/fb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/mmp/hw//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/mmp/panel//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/nvidia//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/omap//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/omap2//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/omap2/omapfb//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/omap2/omapfb/displays//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/omap2/omapfb/dss//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/riva//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/savage//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/sis//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/vermilion//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/fbdev/via//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/video/logo//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/virt//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/virtio//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vlynq//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vme//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vme/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/vme/bridges//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/w1//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/w1/masters//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/w1/slaves//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/watchdog//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/xen/events//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/xen/xen-pciback//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/xen/xenbus//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/xen/xenfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/drivers/zorro//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/3com//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/acenic//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/adaptec//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/advansys//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/av7110//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/bnx2//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/bnx2x//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/cis//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/cpia2//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/cxgb3//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/dsp56k//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/e100//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/edgeport//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/emi26//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/emi62//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/ess//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/kaweth//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/keyspan//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/keyspan_pda//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/korg//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/matrox//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/myricom//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/ositech//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/qlogic//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/r128//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/radeon//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/sb16//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/sun//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/tehuti//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/tigon//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/ttusb-budget//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/vicam//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/yam//usr/src/linux-4.12.14-lp150.12.82-vanilla/firmware/yamaha//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/9p//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/adfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/affs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/afs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/autofs4//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/befs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/bfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/btrfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/btrfs/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/cachefiles//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ceph//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/cifs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/coda//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/configfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/cramfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/debugfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/devpts//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/dlm//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ecryptfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/efivarfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/efs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/exofs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/exportfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ext2//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ext4//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/f2fs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/fat//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/freevxfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/fscache//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/fuse//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/gfs2//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/hfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/hfsplus//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/hostfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/hpfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/hugetlbfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/isofs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/jbd2//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/jffs2//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/jfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/kernfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/lockd//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/minix//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ncpfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nfs/blocklayout//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nfs/filelayout//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nfs/flexfilelayout//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nfs_common//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nfsd//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nilfs2//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/nls//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/notify//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/notify/dnotify//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/notify/fanotify//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/notify/inotify//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ntfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ocfs2//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ocfs2/cluster//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ocfs2/dlm//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ocfs2/dlmfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/omfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/openpromfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/orangefs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/overlayfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/proc//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/pstore//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/qnx4//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/qnx6//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/quota//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ramfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/reiserfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/romfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/squashfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/sysfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/sysv//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/tracefs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ubifs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/udf//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/ufs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/xfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/fs/xfs/libxfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/acpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/acpi/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/asm-generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/asm-generic/bitops//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/clocksource//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/crypto//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/crypto/internal//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/drm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/drm/bridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/drm/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/drm/tinydrm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/drm/ttm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/clk//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/clock//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/display//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/dma//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/genpd//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/iio/adc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/input//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/interrupt-controller//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/leds//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/mailbox//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/memory//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/mfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/pinctrl//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/pwm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/regulator//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/reset//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/soc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/sound//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/spmi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/dt-bindings/thermal//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/keys//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/amba//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/bcma//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/byteorder//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/can//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/can/dev//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/can/platform//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/ceph//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/clk//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/crush//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/decompress//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/dma//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/extcon//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/firmware/meson//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/fpga//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/fsl/bestcomm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/hsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/accel//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/adc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/dac//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/frequency//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/gyro//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/imu//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/magnetometer//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/iio/timer//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/input//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/irqchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/isdn//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/lockd//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mailbox//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/abx500//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/arizona//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/da9052//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/da9055//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/da9062//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/da9063//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/da9150//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/mt6323//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/mt6397//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/pcf50633//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/syscon//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/wm831x//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/wm8350//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mfd/wm8994//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mlx4//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mlx5//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/mtd//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/netfilter/ipset//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/netfilter_arp//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/netfilter_bridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/netfilter_ipv4//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/netfilter_ipv6//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/phy//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/phy/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/pinctrl//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/platform_data//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/platform_data/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/platform_data/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/qed//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/raid//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/regulator//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/remoteproc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/reset//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/rpmsg//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/rtc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/sched//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/brcmstb//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/dove//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/renesas//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/soc/ti//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/ssb//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/sunrpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/ulpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/unaligned//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/uwb//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/linux/wimax//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/math-emu//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/media//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/media/blackfin//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/media/davinci//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/media/drv-intf//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/media/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/memory//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/9p//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/bluetooth//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/caif//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/irda//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/iucv//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/netfilter/ipv4//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/netfilter/ipv6//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/netns//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/nfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/phonet//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/sctp//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/net/tc_act//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/pcmcia//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/ras//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/rdma//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/rxrpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/scsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/scsi/fc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/at91//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/bcm2835//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/brcmstb//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/fsl/qe//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/imx//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/nps//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/sa1100//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/soc/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/sound//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/target//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/target/iscsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/trace/events//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/asm-generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/drm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/android//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/byteorder//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/caif//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/can//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/cifs//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/dvb//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/genwqe//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/hdlc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/hsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/isdn//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/mmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/netfilter/ipset//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/netfilter_arp//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/netfilter_bridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/netfilter_ipv4//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/netfilter_ipv6//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/nfsd//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/raid//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/sched//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/sunrpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/tc_act//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/tc_ematch//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/linux/wimax//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/mtd//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/rdma//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/rdma/hfi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/scsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/scsi/fc//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/sound//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/video//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/uapi/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/video//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/xen//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/xen/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/xen/interface//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/xen/interface/hvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/include/xen/interface/io//usr/src/linux-4.12.14-lp150.12.82-vanilla/init//usr/src/linux-4.12.14-lp150.12.82-vanilla/ipc//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/bpf//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/cgroup//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/debug//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/debug/kdb//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/events//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/gcov//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/irq//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/livepatch//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/locking//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/printk//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/rcu//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/sched//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/time//usr/src/linux-4.12.14-lp150.12.82-vanilla/kernel/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/842//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/fonts//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/lz4//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/lzo//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/mpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/raid6//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/raid6/test//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/reed_solomon//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/xz//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/zlib_deflate//usr/src/linux-4.12.14-lp150.12.82-vanilla/lib/zlib_inflate//usr/src/linux-4.12.14-lp150.12.82-vanilla/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/mm/kasan//usr/src/linux-4.12.14-lp150.12.82-vanilla/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/6lowpan//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/802//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/8021q//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/9p//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/appletalk//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/atm//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ax25//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/batman-adv//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bluetooth//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bluetooth/bnep//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bluetooth/cmtp//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bluetooth/hidp//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bluetooth/rfcomm//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bpf//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/bridge/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/caif//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/can//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ceph//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ceph/crush//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/dcb//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/dccp//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/dccp/ccids//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/dccp/ccids/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/decnet//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/decnet/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/dns_resolver//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/dsa//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ethernet//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/hsr//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ieee802154//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ieee802154/6lowpan//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ife//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ipv4//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ipv4/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ipv6//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ipv6/ila//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ipv6/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ipx//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/irda//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/irda/ircomm//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/irda/irlan//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/irda/irnet//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/iucv//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/kcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/key//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/l2tp//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/l3mdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/lapb//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/llc//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/mac80211//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/mac802154//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/mpls//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/ncsi//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/netfilter//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/netfilter/ipset//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/netfilter/ipvs//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/netlabel//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/netlink//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/netrom//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/nfc//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/nfc/hci//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/nfc/nci//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/openvswitch//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/packet//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/phonet//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/psample//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/qrtr//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/rds//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/rfkill//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/rose//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/rxrpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/sched//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/sctp//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/smc//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/strparser//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/sunrpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/sunrpc/auth_gss//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/sunrpc/xprtrdma//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/switchdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/tipc//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/unix//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/vmw_vsock//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/wimax//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/wireless//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/x25//usr/src/linux-4.12.14-lp150.12.82-vanilla/net/xfrm//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/auxdisplay//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/blackfin//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/bpf//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/configfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/connector//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/hidraw//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/hw_breakpoint//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/kdb//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/kfifo//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/kobject//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/kprobes//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/livepatch//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/mei//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/mic//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/mic/mpssd//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/pktgen//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/rpmsg//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/seccomp//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/statx//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/timers//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/trace_events//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/trace_printk//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/uhid//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/v4l//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/vfio-mdev//usr/src/linux-4.12.14-lp150.12.82-vanilla/samples/watchdog//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/basic//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/api//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/api/alloc//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/api/debugfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/free//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/iterators//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/locks//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/null//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/coccinelle/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/dtc//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/dtc/include-prefixes//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/dtc/libfdt//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/gcc-plugins//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/gdb//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/gdb/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/genksyms//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/kconfig//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/kconfig/lxdialog//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/ksymoops//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/mod//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/package//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/selinux//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/selinux/genheaders//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/selinux/mdp//usr/src/linux-4.12.14-lp150.12.82-vanilla/scripts/tracing//usr/src/linux-4.12.14-lp150.12.82-vanilla/security//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/apparmor//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/apparmor/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/integrity//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/integrity/evm//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/integrity/ima//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/keys//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/keys/encrypted-keys//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/loadpin//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/selinux//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/selinux/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/selinux/ss//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/smack//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/tomoyo//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/tomoyo/policy//usr/src/linux-4.12.14-lp150.12.82-vanilla/security/yama//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/aoa//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/aoa/codecs//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/aoa/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/aoa/fabrics//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/aoa/soundbus//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/aoa/soundbus/i2sbus//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/core//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/core/oss//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/core/seq//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/core/seq/oss//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/drivers/mpu401//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/drivers/opl3//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/drivers/opl4//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/drivers/pcsp//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/drivers/vx//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/bebob//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/dice//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/digi00x//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/fireface//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/fireworks//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/motu//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/oxfw//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/firewire/tascam//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/hda//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/hda/ext//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/i2c//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/i2c/other//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/ad1816a//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/ad1848//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/cs423x//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/es1688//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/galaxy//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/gus//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/msnd//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/opti9xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/sb//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/wavefront//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/isa/wss//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/mips//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/oss//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/oss/dmasound//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/parisc//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/ac97//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/ali5451//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/asihpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/au88x0//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/aw2//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/ca0106//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/cs46xx//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/cs5535audio//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/ctxfi//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/echoaudio//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/emu10k1//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/hda//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/ice1712//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/korg1212//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/lola//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/lx6464es//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/mixart//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/nm256//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/oxygen//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/pcxhr//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/riptide//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/rme9652//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/trident//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/vx222//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pci/ymfpci//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pcmcia//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pcmcia/pdaudiocf//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/pcmcia/vx//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/ppc//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/adi//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/amd//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/amd/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/atmel//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/au1x//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/bcm//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/blackfin//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/cirrus//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/codecs//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/davinci//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/dwc//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/fsl//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/hisilicon//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/img//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel/atom//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel/atom/sst//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel/baytrail//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel/boards//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel/haswell//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/intel/skylake//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/jz4740//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/kirkwood//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/mediatek//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/mediatek/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/mediatek/mt2701//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/mediatek/mt8173//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/mxs//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/nuc900//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/omap//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/pxa//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/qcom//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/rockchip//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/samsung//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/sh/rcar//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/sirf//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/spear//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/sti//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/stm//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/sunxi//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/tegra//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/txx9//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/ux500//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/xtensa//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/soc/zte//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/sparc//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/synth//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/synth/emux//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb/6fire//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb/bcd2000//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb/caiaq//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb/hiface//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb/line6//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb/misc//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/usb/usx2y//usr/src/linux-4.12.14-lp150.12.82-vanilla/sound/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/accounting//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/alpha//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/alpha/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/alpha/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/alpha/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/alpha/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm64//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm64/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm64/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm64/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/arm64/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/frv//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/frv/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/frv/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/frv/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/h8300//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/h8300/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/h8300/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/h8300/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/h8300/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/hexagon//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/hexagon/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/hexagon/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/hexagon/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/ia64//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/ia64/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/ia64/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/ia64/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/ia64/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/m32r//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/m32r/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/m32r/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/m32r/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/microblaze//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/microblaze/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/microblaze/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/microblaze/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mips//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mips/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mips/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mips/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mips/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mn10300//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mn10300/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mn10300/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/mn10300/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/parisc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/parisc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/parisc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/parisc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/powerpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/powerpc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/powerpc/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/powerpc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/powerpc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/s390//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/s390/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/s390/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/s390/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/s390/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/score//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/score/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/score/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/score/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sh/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sh/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sh/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sh/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sparc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sparc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sparc/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sparc/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/sparc/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/tile//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/tile/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/tile/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/tile/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/tile/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/x86/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/x86/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/x86/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/x86/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/x86/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/xtensa//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/xtensa/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/xtensa/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/xtensa/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/arch/xtensa/include/uapi/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build/feature//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build/tests/ex//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build/tests/ex/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build/tests/ex/empty//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/build/tests/ex/empty2//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/cgroup//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/firewire//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/hv//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/iio//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/asm-generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/asm-generic/bitops//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/uapi/asm-generic//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/include/uapi/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/kvm/kvm_stat//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/laptop//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/laptop/dslm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/laptop/freefall//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/leds//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lguest//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/api//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/api/fd//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/api/fs//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/bpf//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/include/liblockdep//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/uinclude//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/uinclude/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/uinclude/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/uinclude/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/lockdep/uinclude/trace/events//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/subcmd//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/symbol//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/lib/traceevent//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/nfsd//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/objtool//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/objtool/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/objtool/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/objtool/arch/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/objtool/arch/x86/insn//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/pci//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/pcmcia//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/Documentation//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/alpha//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm/annotate//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm64//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm64/annotate//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm64/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm64/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/arm64/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/mips//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/parisc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/powerpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/powerpc/annotate//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/powerpc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/powerpc/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/powerpc/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/s390//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/s390/annotate//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/s390/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/s390/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/sh//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/sh/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/sh/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/sparc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/sparc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/sparc/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/x86/annotate//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/x86/entry//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/x86/entry/syscalls//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/x86/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/x86/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/x86/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/xtensa//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/xtensa/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/arch/xtensa/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/bench//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/jvmti//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/powerpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/powerpc/power8//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/bonnell//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/broadwell//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/broadwellde//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/broadwellx//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/goldmont//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/haswell//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/haswellx//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/ivybridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/ivytown//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/jaketown//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/knightslanding//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/nehalemep//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/nehalemex//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/sandybridge//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/silvermont//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/skylake//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/westmereep-dp//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/westmereep-sp//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/pmu-events/arch/x86/westmereex//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/python//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/perl//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/perl/Perf-Trace-Util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/perl/Perf-Trace-Util/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/perl/Perf-Trace-Util/lib/Perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/perl/Perf-Trace-Util/lib/Perf/Trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/perl/bin//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/python//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/python/Perf-Trace-Util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/python/Perf-Trace-Util/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/scripts/python/bin//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/tests/attr//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/trace/beauty//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/trace/strace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/trace/strace/groups//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/ui//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/ui/browsers//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/ui/gtk//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/ui/stdio//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/ui/tui//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util/c++//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util/include/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util/include/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util/intel-pt-decoder//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util/libunwind//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/perf/util/scripting-engines//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/common//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/man//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/os_specific//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/os_specific/service_layers//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/tools//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/tools/acpidbg//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/tools/acpidump//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/acpi/tools/ec//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/bench//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/debug//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/debug/i386//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/debug/kernel//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/debug/x86_64//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/man//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/po//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/utils//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/utils/helpers//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/cpupower/utils/idle_monitor//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/pm-graph//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/x86/intel_pstate_tracer//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/x86/turbostat//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/power/x86/x86_energy_perf_policy//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/scripts//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/spi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/fault-injection//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/ktest//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/ktest/examples//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/ktest/examples/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/nvdimm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/nvdimm/test//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/radix-tree//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/radix-tree/generated//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/radix-tree/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/bpf//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/bpf/gnu//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/bpf/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/bpf/include/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/bpf/include/uapi/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/breakpoints//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/capabilities//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/cpu-hotplug//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/cpufreq//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/drivers//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/drivers/gpu//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/efivarfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/exec//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/filesystems//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/firmware//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/samples//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/test.d//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/test.d/00basic//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/test.d/event//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/test.d/ftrace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/test.d/instances//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/test.d/kprobe//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ftrace/test.d/trigger//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/futex//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/futex/functional//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/futex/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/gpio//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ia64//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/intel_pstate//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ipc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/kcmp//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/locking//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/media_tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/membarrier//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/memfd//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/memory-hotplug//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/mount//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/mqueue//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/net//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/networking//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/networking/timestamping//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/nsfs//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ntb//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/alignment//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/benchmarks//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/cache_shape//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/context_switch//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/copyloops//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/copyloops/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/dscr//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/lib//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/math//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/mm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/pmu//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/pmu/ebb//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/primitives//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/primitives/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/primitives/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/ptrace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/scripts//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/signal//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/stringloops//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/stringloops/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/switch_endian//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/syscalls//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/tm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/powerpc/vphn//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/prctl//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/pstore//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ptp//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/ptrace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/bin//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/configs//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/configs/lock//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/configs/rcu//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/configs/rcuperf//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/doc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/empty_includes/uapi/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/include//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/rcutorture/formal/srcu-cbmc/tests/store_buffering//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/seccomp//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/sigaltstack//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/size//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/splice//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/static_keys//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/sync//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/sysctl//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/timers//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/user//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/vDSO//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/vm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/watchdog//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/x86//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/testing/selftests/zram//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/thermal//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/thermal/tmon//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/time//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/ffs-aio-example//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/ffs-aio-example/multibuff//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/ffs-aio-example/multibuff/device_app//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/ffs-aio-example/multibuff/host_app//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/ffs-aio-example/simple//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/ffs-aio-example/simple/device_app//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/ffs-aio-example/simple/host_app//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/usbip//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/usbip/doc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/usbip/libsrc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/usbip/src//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/usb/usbip/vudc//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio/asm//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio/ringtest//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio/uapi//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio/uapi/linux//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio/vhost_test//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/virtio/virtio-trace//usr/src/linux-4.12.14-lp150.12.82-vanilla/tools/vm//usr/src/linux-4.12.14-lp150.12.82-vanilla/usr//usr/src/linux-4.12.14-lp150.12.82-vanilla/virt//usr/src/linux-4.12.14-lp150.12.82-vanilla/virt/kvm//usr/src/linux-4.12.14-lp150.12.82-vanilla/virt/kvm/arm//usr/src/linux-4.12.14-lp150.12.82-vanilla/virt/kvm/arm/hyp//usr/src/linux-4.12.14-lp150.12.82-vanilla/virt/kvm/arm/vgic//usr/src/linux-4.12.14-lp150.12.82-vanilla/virt/lib/-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.opensuse.org/openSUSE:Maintenance:11474/openSUSE_Leap_15.0_Update/3d9adc3f5ba136da61651bb51be2915f-kernel-source.openSUSE_Leap_15.0_Updatedrpmxz5noarch-suse-linux                                                                          !"                  !                  #     ##                                                   $ $         $  %                                                       &'    "              "                 "                                        (                                                                                )                                          #                #         #                                                        *                      "      #     ##                                         " #  "                                   "              "   "       #"   #         " "      "   ""  "          " #    "      +,,,,-,,,,,.,,-,               "       "                                                                                    &           "                          /// 0      /    0    """       "                !      00000     11222 31  /// !456  6666676689988 3663:6        $ $      !!!!!   ;;!!!!!!!!!!!      #   6 < =66!  directoryASCII textUTF-8 Unicode textAlgol 68 source, ASCII textC source, ASCII textXML 1.0 document, ASCII textmakefile script, ASCII textSVG Scalable Vector Graphics imageHTML document, ASCII textassembler source, ASCII textC source, UTF-8 Unicode textPOSIX shell script, ASCII text executablediff output, ASCII textawk script, ASCII text executableLaTeX 2e document, ASCII textPython script, ASCII text executableASCII text, with very long linesISO-8859 textassembler source, UTF-8 Unicode textPerl script text executableASCII text, with overstrikingUTF-8 Unicode text, with very long linesGIF image data, version 89a, 257 x 303LaTeX document, ASCII textLaTeX document, ASCII text, with very long linesnews or mail, ASCII textAlgol 68 source, UTF-8 Unicode textPython script, UTF-8 Unicode text executableBourne-Again shell script, ASCII text executableUTF-8 Unicode (with BOM) textWindows setup INFormation, ASCII textC source, ISO-8859 textemptyOS/2 REXX batch file, ASCII textC source, ASCII text, with very long linesPOSIX shell script, UTF-8 Unicode text executableC source, Non-ISO extended-ASCII textawk or perl script, ASCII textLinux make config build file, ASCII textC source, UTF-8 Unicode text, with very long linesC++ source, UTF-8 Unicode textOS/2 REXX batch file, UTF-8 Unicode textNetpbm image data, size = 16 x 1, pixmap, ASCII textNetpbm image data, size = 80 x 80, pixmap, ASCII textNetpbm image data, size = 80 x 80, bitmap, ASCII textNetpbm image data, size = 40 x 40, pixmap, ASCII textC++ source, ASCII textexported SGML document, ASCII texta /usr/bin/python script, ASCII text executablePerl5 module source textPython script, ASCII text executable, with very long linesSVG XML documentC source, ASCII text, with escape sequencestroff or preprocessor input, ASCII texttroff or preprocessor input, UTF-8 Unicode textGNU gettext message catalogue, UTF-8 Unicode textGNU gettext message catalogue, ISO-8859 texttroff or preprocessor input, ASCII text, with very long linesBourne-Again shell script, ASCII text executable, with very long linesautomake makefile script, ASCII textM4 macro processor script, ASCII text>jYh\utf-861030a2d532e4a077c50efd08172ffa605e8aafb0a7115e4fda1e27779820b41?@7zXZ !t/]"k%OvE% ~# >qQNēy;:JJCq `RB?7YTAzw:uqnh5PPmz Ȼ[HzsB8NYKΉq {=t3Hs.iB,D&LB&B3CaVP zDL"$u<*xѕgćѹcϝyO CղczK]V丣-q/C:^Z[11AmH̐?n8uLx6olaƭAOk6d2.q䄼(kK7v/zo9ڰ)Ki\-j l}jQjiOwh`D2 R.4 c؎X/NRN~ǬAzrR8X]YI4ToF!xr*UeFQA9iܓObL@<\Ԧnu_OOVRC,L .@ʳ{-iyO%Yk}"u9{~לpUùy _X:v'ea/a9<Q:mŒN 8d#IĈCZN=qUߛR;iL~X-.\9 U,uAW:N蟺±ctS_wZԚGB{ZH|ةeXYA*{hUD~LJj;UX`*!#td~ Wּ~O*X@9 av og6sD#$?i`<pdg^ V4&| d(  O[Ul8^,T^ =u~TFZ\qW0˰zA>翪xLGt" ,kBG>u"qĿԖQhmB1$w0_я![=^B?-N^^pTDB>[ dK(EjM2he/Ă:TN I#|Nk,7wf1k$GaL-ype=)/SqFKX 04`#y,.D "+p> 3~P1;p)o7h@\yN'_5fTNd@ܤҟV0k4\'| ]7޼ Ju-yޙW΍@>Pno(9_~nu"L7?cq+̀9r@D;F/qrJsV~UK#aB%sgA?j)b끺q;L)sm[>OE?MORo8rV /&s*&*SyxY{'V_nVb).Ӷ3Ajyg(8JAW1&PY׃nk]֥GM"\aMp|zz*UXRr.oPJI)xZ5;U1x9հ8ѰДUlZ0CAkUʌv,Y9.<K8#Y\B]x"+cK$s$:P_}039Lq[$GD72Dߋ;`+l-%fm6_LB`qmh% #lo` %.3zKQT t/t<>ew@C9/'l,?{{yg6A<$Y3P"*3K*V{ Ɂ_S_5Yvךv(bʚ=3`>1_}#q#bRLf9nQOnM ;*1͍U|Tva'2iqO QfNYZckIïj#Lj]\5R}l!~DEZyd3Ǎ`H*=^ L?qyΑIԮ1BII)/^NmA R:mt>qq/fڍ,F/|5O<0ZR~iSe&ISd| $K=IP,VWw^:21t٬kb?=.V@ yu_FWf6Jد4 ȇHȗX BHO BĚ4r.wv8d#8,C犸 ~3zR`{{] / pK9iBIs* > TM'Hl-@n}n$a'30[w$v7HZUaH )r:sbKD:ID8;n(b\d8u3.wяss@z,cwr? {ƌ ,l U'Lgo,_}wo~,vs|؅a>M. TZ%TkhvhnHtuNYI 0smqs3X'$łkYɤx3=K< *iR;I(zf) ڃD/ C616-zk3SS^xNFe>+oy3@bW^-I p/w?au>zIxz LmNΌS .-dG&Hf'8PH!!?F}B79$$nYM#`,jXW&e獆.vW;,6cbxM=A1v*qy;Fy<>)_[!Ck!r% ROKG҆t~gZKDc}˪}s*B VLk%RPoXjG Sa _fL6+I0Gt"=3Vi7Є]_C0gAƮK)4n~;ۂY)k6h\l ota(&mQ\1j(?ܞ(wIȐc[&Ri 븮!X05 S' c 4?jh `֗>8& hge)XZڷ]ID9rOZAP-H(JMw NؚYv=fQp |èH̳2.ݥ嘭%tzLҭm57 a [w_p+-e#xJ)r9L*,&:柱q PmN$^An)t"xekFDn ,M Zp .\-ەHN!"q)-x@RyK7QhSp׏s2W2Ixd(D̲-S`"6DYʏ-'IOTD†8\y1PIMwV);$_g>gqR{vYEQ"YCR/d>c|ƺrޑM8":=i\<*׏΋9 iv-D=0R#Lq0գdՕ$0l"t")壐VG9|~<=˽3b c.8^kXjqV`3,o8!=ѰX ƶ.9?rc\/,a292zwb3]v`cPz\_}zٞ!xBWhj o*4ӛ<,DzO5\[ 1Ơ$Vt%7r~[$Ź|.Mˑ]c Vepu"K}Ajm#^a]-O{4t؅ GBD\3ceJub:tn&j"a@&856FY@Oʭ$U]`~~"|98_IH옻{Rs\^tnMA!pzITbE˵0c(R $V <ּkp˰ƐZ3*VJtC MYMW nyT$r!Z@㞼,Fr Bn:ű44PiB |n|R04YF6M;VTHЎ[N.D+kmL'}- $<ʶbk٬Q_%ʐsL B$υE* ^v/P[Pu|$(GHy0pqߍL6ΚV\G;z{D-pG|Ps"9rq-'4;k:yUEVQ:Ân.!6(p3riтv\tkϲ!(xc`d8Ae3B жޚP4魞([ttf) (HɣP 51n5Qۭ8LR~ C?۱xA ~^3xO{<©`D{=rU!,ouJ)(\&bHAt a^X|jl,!4rk=.iTmeAUsT)5=2VA6rmKc.kIOf"&('s},Wٯi T?=ȥ3oZϥeS)R^Aҙ*B)?.nkӚ}RLx=w ]ciҰ4&ncjz˟,?̈́gY ]mv%c FTb䅤]צCR\)rG2?_^D~Y@ %&tVJbL5!€{]ѹQ/T06'Xx$ JRe~X0 =@$ce:&NC?a_eX!RbJW[Z J.M dmb. < )1}O.m>>6SoE{`0lV}]34Vv BX$D=-Qqo7\vˬSxǤ! 8nk2a2_WmqnXnYP" 1Ei~76?r\Y`'?4t<YH#D3Hֵ*ԈAFz<->. 0P 9F:z[X ݴ6u}s#3:=8 v_~AJ2+h xy$;B݁(S:jrTظFORk6}y @Q¹ZEncp{bd.u+HFt>M/n!D WYV0l0ݟ T7wFgmS9J[OKg:(2WCqGBh>Q ,H,vпczޡ1Ӣv'x塌óo'DHDlu;*/k2(YegRBeSEKV!w,:6+GBo;5lyd7=6$g? %iH[MB'y 1-b2V"+\樕6 Oj&64{c{?0r8JrHLs< 5 2mm>VGaIgh`CoTG%d@q) )TR[ԗ'VskH'zJutNuyjT VڧziepA#K?Ϝغa#l"4Ns>tfCL7<13Kک.qRJn']Z~ث/|ŭqGQ e:GQSti* [Չ]8i u=UK+Z`1ɹGK(=$X3ㆉl3e`QՁ,!i\7LdHʣqLܨKT6tSvǛ ticK.y!\̃! 6!E T`~LP23UR2\ş :rzoN+&=Qͽ›"K"HNqc)"evfrMn?b%rL8xq)ӸhSnEu>,-q8K)²\yhqQf#9ϖ@ Ɖ;$ͨޞ=G޲{kKs;j)3W\8uGbDVXRY>˞M,StjBI5? ZkvU1'dъr%4=c9=l_s!9Wq+D$ؾ*?JA[L󩔮|h"W6«ܶS"@7lj4P]BDcs7 sN}2QU*@䴥W 7(ff ;1nr1=UtW@Q o2!m!:r^<^71ͪ"i8hA-\ךƶv.Om阄}qUc .jC5鴛ϼhp<ؐ?Js-ޚqLh$:T3XXjVCPY"hI{DMI6%a1rA=6:b5c3CBQѾXxnaLyш{YpX~_s *nW%uA8D8Ef> Ʒ5KX(O]}JJ-"b ~N^(sQSPO'͕#^(=axt=9VYE>h+i 2N&MdonoV=nh8'Q_xi y Nbؽ?X*N3n`t +fG~_7@6ކW|6`lʇES XPUb * xJ]ƹ \D'}RôceٶSRi<#*K=mMf@BU׼{Ey?R#/iŞC'`nR=k :95mBtf1O^Q$~g~(Wx'T8?5[7r_uW&Vy +DxV|4d?f]1 @L=_4,dt7ˑ0&2Beo,pr #MGDۮq@ںHSx+F@~$aa5\n#oRӶpƹy'ڣ($iF8V Ih)6]SQ:{pCe#-ǟ( 4Mb #SY&Qk1贜o9g l?bMMA^ *Ms RU jҞ|. ؖg'BhC+ӗR]Ƭ(]NI4ƼjD@,D~efUאYEKl* rUc,y̓^Td2y_ cɝK< B2Y7pk׳>6{F<ںAO}C)۰-eyu;\{I 5)9rV,^xΰS+0J1 #8;yfL'FZ_ O~"$ɴ{\b YkɔGBm/Y[hPa6Ax>7-8l/hXI!!i^->W"Sgڹ HLFYfh q;SQ_"?G(vըm+M,zU*O8z"qj øԬ^9k3+~:fUbTFŀTMK)R$T8r$ VvQ杨 /'C2.m'I9}:V;|V3%VK ExMEQ&ݹjg*07se'UMRD?nܢRa]hz纛I-MxzpޞLܥ6c;|ۺ`a l8t[Y"z{F 3fa}R%uX/hnq+5ب!iSa!]jl&^m5@N{~TF jʚ: 7{Itpb,atm͆6qTuj*j-"(@0]4BZfh16Q{?7O _RO[(.)GC#]K 4vx=c߈';DҔMdEmEvPZ #NX(H2=INֺ<-Icuۋ&>lFKw鄌 W[YStWb2w Q-ݭ8U0-WVi1~D\c&vdl 66x2ciΩea㼧\`Bt~ `Qm5yr+ `'N]۱&  - MVm׮,3TOH\2^yXӷu8cj-鑩(lDEÑiA{0q@x$nO@swOϰ<ۋ**<E s덫:w܂vz #_>n53-&ȹ(1v5ӡϓtq!WQ-45jx5u.)&' :M9O⃳l7Z̳.EsˉѠtjIT| ʥrrnƭ>!)&8:5_߶|W#Ҥj+9q_;.mRq" L_bȽ5wC 5vD7‡!Mg:k]E) `MGV󋥩&Vcw cg l^t'm Kɭ=IlEXѥ2ZZ"G*6M0P!LYFG5'kZ@~lEV 6t;u+2)}G;=knfr-r3YCA`#҈xRO^{pRWZ|kѵ?"j!8<-KI Ќyƺ:yt`E o {;w@f\ 8b4f݇PCæ#0e2ں003@j;1dտ ޗzb="XG/Ba%k.Uv۔k4nãULS3$9©+Lt+z39uRϲ2>|&g؊tȊ'NӯakMeWP:zhXǙ[\hhGY dѱ#~%(qbм" XװJ}1PbږWL] ?i&mAGאJsy%3!x뭡"Nl(LHfDn7e!w ̚ɧcG#{ ;W)yBWܩTx'ewGx݊Rm4^*=ǥl.AD+2U >ߺR aw wU.r}S*{ft!r'H5I+hr@jd:<@ -T[#d zI%^ ;J,?3{t>2qziK8Z/a{]RY^oC 9Oo1Ui`|}Ǚ)9y-I?{]XuUuhFފ9GwUs?^ܙ '_|Y=Y0#ӂԺYQg.L#I76*DE R$;ЅcZk/;= jv7ZoVj늡:, 4+@$w 9@6fB[UiіT1*Z*\*d36 9k VbYpx:bOD88 hL:d/Osh;NFI#ȷ=7jsv( w A3 f-Lm]{ҋ(T(ӻEhHдӋNe_np&Yx> DuI8lKʷAYeR(fW$ro^.s-ӛeiSY}Bffbrhi]bBzDJ蔦\͵zHSf=˶!~#H,Z &O$~;SΘk끩pb)8Ap` zeY᏶btO}ŸX[r(pG%Kyޅi|*LSs/JPI5yPY\\meʺD-+>澳ke~r.,^x ڽZI` Bzf6\ >O"'H͛k֘ 棾$ ѓUP?|Y(x3U|t1TV.@\Zp˛AV_02G `2f?'_Z Y OTk$ݟQmW*yP۲(fR(:v()Lc$ 61ȩ::KIx~ oxvϧo&@[p~u_qTvxIPJ Ԁ\CLnnlIʘ1>no!Z3{ll^T#Sl&>YpRgtilDhX}qV;NǕ?) k .E3!dq/#V(0~S }sXe×}L;Tǡ2 8hc 2̉f4Ttӕm;DB\-u%aAhnE Rdy`ߖGy|x<=T}ȩeqB;IeoF%4d.t5S0[>7Bt$Pݬ5bٛ;([DwE(q˝1jN6Kȃm<4U^dABRO!NWtV:agb0ATDrOs g^71,= ЦiBU^fi! <4^R^vbeh|0V mԂdoX1Axij =z&я"X V0 b ^} ])hQ-//1N?%k:{j, HHB aI=;&`MebȔ . 9p#SLDOO`O ܹ`9FK Ru4GEpMe]B6N(G-mP>x@tv^qAV$Т9-_gg OS!z]'AR^t;N:zQL‰2滝{д E͠`M[1)X, ~(Ch> n}?쪃iÞh A!tdOU 8"/X( R ]I_1/jQ?!6S80ϒ~(*kÌKj f)W sJĔRP-׶ Oe4~7g<1+#U&*%Q{ϱz'Е0X|}&ϗن@txYReoE#˹Î'yN"wTolj ah#trGw'ma}G0ɵVL ɖ"(o\|§Ep|6q[;:if8/gU#,RFcMQʇǁ]˕Z}S牊C`ljlb?`Ơa6ys̎ٛ|`mì*)7H3VTn',Сmy(JucǪ+ii6NT PHZ nVoѐ]̙t}0MrU<68?ޱ3,n+!O%ˋƙ)T%r^iM!H>j&W(X7>3{KCx)-'w)@,Mɷ5 t@U|6Akp7(?̼e$`n{EzLrZ?*3eٌ gDё@J|7Sd;^ܣe8ʵ/0uUz+V.qsakNucU꺚Wf(9ui +^1Lq γS|ڦ#U+w5e dh )zm-sDף3 " * Gw(r'Z|jKP/Nk7K"4t,$0_ϼND% XS'`i9KJf=JkH 9$1҆Tqր1tAO%t7u_i>E%ՂCznٓ夦7 7 ҡ~xc@Ӫi+\%{H)%"3\ԩt)EKCy벍`ו%Tw- |޽#R*鱜0n#6aj!i~{i7e Ô4s !\|cuhm?~r F7 -uLA#F/nՅ[\sIM|k5BB\HIY+xNVjxo[.JqwH%7Z_Y:baWExouBX g te8L -͑F`A.#o+T#ц¡9[FXKD.t#KMN.4ֱ,!j tglO#әlKZ>NDV:!Ee֛9)xOP uE*R zQH0f,\n/ؑ0'ǃ ȌjIlܪ ̪|&ʭ 1sAc~A[]ȏ(M&F &lD7~u?HbQSmc5jyf7և5!dR/#xbl 85@g 96ʢdcfWp nIf%Q/ ie@{UJI5?ֲ }S*,i)V ǝLyĚ!|"TK<6n}<@0UשRa|!jWHeCvZ% ppyma[fmo5KU9D}fsDg,U TY+$Q&b @}];>F" ;#wQ'm}C56 - VMw{F̧U%@ 7fx&ޠ켐&!SGgX@QP37 &h[4D3ovXLڜ4u ¿~"C5UdC8 \ܪ"0;ȃXʠv䣀!SZtE'^)ۉϧsIO!;z[SPkXldZ} LˌѥbM7A5EmL=;1rҿ=ft&}l*2ğJՓ w?B_؆0|| @|݆wNIq~]A-xx ݓx]o:ꆗ4|:bP;AVݛ,pESҜ`(k確Q؆ba C_Àޫ هn%TO-vU7L?н}B?'Ij%'K-xe2:y Cr3}vihO6طpy]ss"뒜]ȿא4Vf9|n\scrN tHhǃH6J<(=85碮 8J}9qr !HtbL乻pOqGVvѺ &m\={!XN0WU,J>ڛan$td}5;мLbjI֚"j;Sqo7E5jj}P¸4bbYv5XQ 3' Թ(S,.K;c?cr/p8b8lj蟋 jJL:BUCB^ u3CJ4A!9CsY)&.ٵͰ=Bh/{B79}o!D[6bp=H3D1yۑ gi@,.\#$'lDU P),EqWnDl@zj;M/(_\hawB ՓKs7\B7Ct(90%ei_LQ|գ09F'\)GAGw/TFFJ]Va}[#YIX.CbA>*QBgYɌ!+?P>KuYQ 1bXaOBg7=z:Y! u~]RE/Xh)ispe(AmU /wD(af76Ҥѝh3 U۱t,(̉["Sy`Ӹ1L 0sCֻ_-Dpe˧BA#ӛ`&eX xEd[K2K26zyih$w᭔Tlv%=\ :fϏ^H+QUBP4oXTfR I)Nn@P::MjOGÔ~q;K{r9ׄc+b SB`utIEnJ/5`:!4dbFĄ(J0D9-/3pD/#'}j؂+`%^N_FKogkkD_ gpW(gرڋt݇w|{);s~Pu"LPj]6·(l&RͯF= 4}3(rZ#TT%p֔Tqߚ87LNkvl^ j-X!Kـ2I؟8PnId5o%ޛh;Wqa8 un~֘\qQ=3qdhckT瞿/E#ˬg|TEKs;ײ HCr0oSUdM*T10;)ŘaBߔ9r^d_wj/_euYv[bC *..|_9p%&vZ`J >Гk=F98'z225j2NNlY "b-2Cϱ}YSX1NXgEjRClW-L2{Nzo)Nބ?=RDqjbBd,<ƥ'ibE/xmibؚl̴:W`">Ⱥ;SF覊ᆶsשųSVD~K{i /q5]$FZ"kaX^ Id:ߣ)Q(Y~>aߒya4D0!,slY>+K鴵"u}(mY 2g|r80z*1ڨQZ,p57ܘ!I/0X)-p~m9 ]7ds2 WkcdrƝ ‹PE!-ǍC^2,E1xaw'/*m3F>FU'u/DLK5h 4]BA%p%FYh➼S_V6˯k7h VPְ"aDK*P_Ffj)j'j 1l՗XegZZ{8%S#VlHXz\#k p޷jό`f,WʱرLՕ߆K^~pgk)hT뤟 eHAn_ǧLU\CiU1 NU{32jO"ˊGzb>Iy0U,iBML'FצT7to]7ڟ@R|zw۩G)|FrsQz!aKyb,"L.G6Sol{V&f({)P𤼚AV-ˌ>jtM7bo}yga*&$}M2F[tbB|(փZ ?A/4]:ũAs@vqtڕar%1VDe, `Kփ"7{XGC VaE!+^2սXS}0&a(-BGbPZsw@<%a~-ki E4]a8^BQE/āιdHV-˴87vw8O~M[0"$mg3CO{#C2[PӨdh+}ao@pbjwq'Zɩl ٕ6YA aX:VJ) U&AR8|i@67U؍W1y[sc.OPe6ᗲ|_ŹѠyC<,==fzӧqSM!M5ꪚ1:\%F*Lb W)16!jlCPBF_a;HVVt|@Ͷl8>bZӱldXr¹y쇍@zCh螻ֲAʧڤEC/^L{}5OUTF R@[(8P{Z隝)ZnY9LI</l8d ؛?NVVc:L¡C_r-ݧnmBd!&a,!Lh  Y#k|_JwK'nrRfS;Od\j/D,\xnHquU&4H7v?_BJ0@ZFL:*7Yۤxȯ) z@K뜛 Pb=ɺ~ ]5Sګ;W#2X`TI=*Fu<HƔ4^[ګK5 ͐_XpG&7w["eXw<1I#}lC7 v\\+RC0pdhPV %qF 1wJ|$uSPuBjEmf τ2@`ewyݭA(-ec}fZ|eI7^hlK\1l@ŝ4хvB(FZ *׆ BPr)!0.͑LX.FKs¹f:h98[7H+FNr#giwo#g_nqLge4Y$e\I7,FYC5շAe'HJ:/-㎂Z-ݟyϹ]1:կ^̨ʬYNsJ~=IA)8J>4&yJz x|ʿOT+ 1  L(Ãdx$*uWޚ;պ@[; <'-)}83RUȝ>"/%γl"2lmҖ2ÏÄ;z՜[16/tX&V$ w"PVfgV jݨ{75qmI*K CE+X+BKA?5NuȌU5Ar'ܙnj^#ḅlMtwzex:vFG |RYOݘ] }J9kXCaݴfzPR/~!e%yS^3D[do!~fcv@m^_ qlV$g D%BSLҜ;tP)rCw7)?`ҩ}A7G{.n;ΪIpVkh^,כ|ttn)sCL"AV{7ԑc'SUɊgc7T7bxB0MT.z2+p<0CQ*?gfd⩟O (L6Gӵ8-E G²hTpn. =Mp5܏|,`❩GJ?a5fCu,᭠aR5n^;[䌗Mm/OI{L8,?ՒV\η~OCNI<0[~&<>P{IMp|_>jOlHOE!lR9 ]&H@$OGC۷RZ#$8ǿyЋ)"e`[:h`G㗸1RJQb%_xnQm>Pxz6u73lĨ䪌\K]s4G͉NRs/͢nSW/YekXJٮ-XnvUkϾrF 'qFJ?f2rWLzzť }p9fE;sZrK@ 8\ʴNKaݸR9_Uɖ,ZyL0mU/.nWIBjpDh㊝Co 3%^&GӬW\&_I_pGzqkpvqȴoOmw&_%'t*nxR|R%Bn*υ҃8 hhju"e|9[)ypW,8` rh 1E@SxQʰg]-4j8W,f]FY1AT*2t*{OsͭovEi&rka{`/f;flm'lBo|D\ۭ.p>_4A2j5/Ў%ՏjI槽ؓEʭB*P8=,pޜk ݶ]\A6__zXГ;]mkIgeRXp׌I],<.wTw=ᳯ0!? +蔈vvu?_PċN/T. XgXdDiC+MLgYm^ҵQTu:סyHrI§g;m<0(_ 0W};D`:Ʒ6uRA}Yy-['Im7c^ ާw{PkE.Hf7eHhcKH_Xޏ5A\" 7Kv ʃ'2y%x x+i@Oȿ/q1۴ Wh B c7XJ<7r`%>*e^<ض bԶ3 .i gK D]943-L:E9Ԫr΃z]b$լhfRgYڙ #۹0Iuգ&q% Q!O#.ے@\S07Fh{v 'f'p?5fr#EѽrQY9c湙!yʏ#}FFgg gcV I ?MGo5"TZEunբ 4dɮks$aYr׭bK_:ݮFe2vd!hб(gە iyS !fד`5mH!5ה=LPۼ~Ͷ%ʦg!pƠs:`>Rm ĥ +oLN(s^9?[P8P羷λ-9h9tOy!UY"25Gش]%\eOu1YؽbM[|u2 `ȫ&2]'XKRpKuZ3+wBGхZj$K;{.gdoM@a5SU"ccPoXm SXqd"CkfU`6!BA)V2^zPPawgzVk)ŬD5_5/WnNֽw:^YUEgՍ.j>oijR ຾ NodQ[WP79K(3'a'+a(k' ":EL-g]}Caqq.qQO@y:1Z#Q)p^ J@`iN^ϫ7ms%=ǰtfpI-6z}(T_Lu Gy,l/E$w}eG#|p7gQqt8E>jXk ODQ]i@4b %0࢘K\:-Flt#nHg3|c{?k9Us5Nz^+"SP5Cqn\Vw;Ps$0Ik܉Xl06XI:+n ;v/ޝ"8lCTK|ָm\Dv,"ԁ8$L2ߕAW@j xEeE4bBi$clLD,>$H`? $a Q5ͽBn'mDNu;ѰG7u'X ZzԒ;5E6/CY9Ϝr-w43Q~$Sv~*twI4q,W]_hG+ _ Z/v{V@:8 9֣  ޞVcqpkQP򭱬+pwk ߳HCސ-3fU\Btgwj-Nx#HU+_ čTv0^;25lG*Kg\`nOgo %,W nmː=0h|MCbbR澀qF6&A*E\PM⦊!l1钄nCx3YAx>POsvПwuB/5ŵZ#K] Y ݀?]ၤK-S_83ܿ|C|E[>5ֆ5;~Ĭ}A =wl,1ěR>؄"vbB, ANK?-%xzq5$U5y D MB;/(쪽U1|(}=ADMoO%C v QI,ݼ*pcK罥W&X6sE3eC^ ػIS[UՒF`XxhXt_CK~*tl|Tko\|%|ѧAot(iUi707ňzIIg; >5]ν^ Y7T b3fQz1tܹ饗P$˼jE#oY4{2!n#ܕ1F-P$&;o>4l=Ø=wW}3Ï 6!p[8K(41@kbn35@?jC5~=[Gb8;d"N\¿mg]rzdA$H[r,}xʅM\l卞 +h⛴|0a8f9[+r f|x6q3ʕFyskdo֦ҧqz%) &wI )8]HHWSCm0;5jܑЎCÄ6r059*bsgilݎ s %V^c!*M`5qIcSX?uMK,[47)mFbT%m4VPEK HDRR4ֵf/laMX6nw~+VBID'ŝ_0t)=*Qhm-OѓsfZ2O ᑰNj zep }L"ͅ^0#.f&LʕLBzRPuy>&(4SV:Rg.Gnݓ¢mn.0jͶjwWPGZްb+hfcEOc*9jb,ku.Y-Ilv~̬O;|fQ3;1.Bs߂t}~oMϦw # ^C&ϡv0C@[ I3%΢+Z6<ADq2(][P<\ -ލTfMA;4Z怮=4者9r7.H#cT>pLSF6Bk<EWQΙp ,/ЂqwPf?m綀hEN;@w~B&-Ueȶ[\x=*ٷ֟' _qsw@i4EFP~7kigtG&?Q tɃyƲvulv5*{w"3˙=%4yv ,Q;^!SIe,z]hB\A$~ ]|G i?l# +"28#WEZ$Xvldth\(j㵽sr]{]ӿ6q1leM'ewŇܤUQvUm<R'XØ9^P{xOPb/S.[kuM#jK|p:n2EX-ClYGbYgApSxd{u/S[DSC?X97yHJ9VSpjv]7g4@~b[?О)5Q(c|SbԥhWE@ AJ,>g{$]4`)R7I]& "D3&si\ISA|c4 C,cA,|wfa})5QWd,:%Y+رxñV+G\7Q,xcR`]nEѯp0ŗ/*L`#;1@nȳ @\}mTn`J/߷.8M|w9MIVYD%(?*<ޫ KwZy_ه'NUvµp5^C;p  ZGJGBf:7,լgqP)1:xGx}?䏏6:^ Dd srNS[sO1>6Z`XR>}T49BioqLzBc# A 8ǚ<_4 S09pH1q6kp)}7jg+G€?)U+-!7f6gGt!q/¤RBKT4r{]t' ^vgr\ =,,߱ y28[$7TjaCշpħ. |l}9&)p=9eE|=[ 5])_-o r*6W :XG=&E}@cl"%#|-<G8E ~x>v$:|G݂Xb+CBD ^Sw Nvrե^795Fo GC$"s y~SݜBqʓd, =+1?4rG`ȉQjb iz:,җrKBv w.s)Lif v6V}!1{I[O3}xR|έvzbu݃HE Tsqj#LQa!'Y|r.p̌j9gU!U^|YR+yј[-A Q:ktU i]Rqg+!kBNWj bj0wtψ.*_hOb6ݢv'jgui(E=ǫyD@H?L$!5і80ҀӽlX}k`ml[<; Xj^﮻Q%ib;y-7/'£[44YpA?ᨔP$J>uJ F5 : sdF< Jm"TH@_}D|vLNr=EFyz9dMXgZ8\'[:uSSL82{$UUc,u˵">mbd`q`KB? nGUKjUZ2[}G (M55(BS`2iyE:mkf&J|a={Wl}qn RxyZǞɍ5tם^4c;'<iհ~D2kƾ% e_QA^LiU|fN4%'PifM{--/Vs_:>u%E9)o7G~ 4uDכ (})&$q,f|EeyR(B0~94ͨJ кxK$Vd.,$:_q K&c a F}Z *FlQY5PIg%8RAvwtr4iZ\.P$8`HF!) i8M~:]S$zMn5M6tc<\ qb!lV{!^aZUCiß6tLYTغ}ݲPn+(7n+<42ON>#>* Ltn ہ'M桽dXp,%N\/W j LG#!Wb]h]AT@k'tYW*c'YQ=+avcEEkt8_Di&k QNgNJB;\dصƩx}td]owmGi5ӄX̴q1P8G/0ZuV7ۥ: R 3_K ﶦT:wT;7U%p/Ƣx* 9PYUM,p,yĺ8,s~{r49n#?FG9W򛭂Nf-`*OlQ~%gepUCR`3(v\Il?@[kPG5qQ4h<2?cI!hZ~9NrD5sGhO~"⠪G17ޠZi#+LW!`YߪXWey^QӇq"u3F&]?-+TgK 94VX|GT!7tȯ 5SQmd]HզB V7JB٨C+?Wo*Aᠳ=lUaОWl09PSXP7^LؐtNZI4ũxJT(Չ&DDwrH%׬P&(?!.823 djn% m7/]N`˜&a+_;![~I l_h`+-!{]9RDgWׇ4W3 R1u/?߻_v/O:fȓY]s(Ӊ9^3|"u[l*j4󼑰v9%t[ :N*Ōq1:фy5yUl0O̢b^6bg)[-jtWgTca=nx&wV*b /lpF;+dnZ:ؾfg2(7O~HDj (-M HoY"ᄪ\ZS%Ɯ#u!6d$76eO#<ۙ~ ~S ON)2К;7% z1.O!!!Kݷ\l-x;MLJX<4%mBG'<B4;?7ڬ(=c/yY `Tڃ? W. jJ5m:xGT `DX  ./sT6κTJ43%uG.%Yh>`bJ=05ĠڵF.Sei~FRmvHO;S)oNiJ iXMj>QE+!%w5Zo`q)H~SADa*ˋ F*RX闤kb{Tgoi_} 3K`g`M<\̮{iՋPJ\39ا`D}O/M^g;E5a, G @-})E j?svrφ*W-۴83?&Qk.`t <>,j305dc1ɯJIMXK2kesvyTeu "~nf#׈:D}Nb ?ل$%Bu~%2b?P,FDm;+ptp1~2Cq;2iB/qɥj ^~l4\X;T.)^,y6kR@ĂR xׯ*.L9Ux-s vi%BIdcKvMckƁtΐ)h&>gɥ!ȞaJ{LitkH`67<# a?zYX x M*NL MOqߵS2"x CMCZ{,jA52.J"G-1*U}@Q^-خ16k?x$޴MZM^evSHKa ,٘.sd|Ue+Y-. zD\3*5 \# M|ek)0BbE$;g)?L,d"FmJV0KNGr1\<*PvT"dcb?\*PJv;A!U_!V*: O*vdaL7f"Nb&α|,-:QU8N9mIh̄!n07r,瓆j#NP-&Ha0eBqQ/$\:\VΓ[t{iFʿpD53Et;:5F:]qZN],`#FP5M]F}ՙ࢙/YjUfb֩ :SڔHDJr 3r Oe}'#q/ {>0E.v5=3p>5O"|il*9kgi&KY -|T܇z57dNo T_sSПfW$;{߱Ɏ{D~P"* ̅*(aH0.J{ 1s+lvt![*<<5>mNӄӥB%܆ܙtg.Q_~ZkZ`y^Dv' YVիQHvR>ߔ#GؐL-iX)z:q`oj,.@oUNh:C_1IPGI'RY-c >nTM#/ vx@1 g<|W)_tt$jШ[=ohIfv}}=G!nf@kv"5HCs u /(Å+,r4kU8t/C}VZh3s1n* 畏 >R=J0kmO]h{e2W;dŃWuqxgEu2$֕>l𐷩%_ϱA3b&QS̬/ KPAŏva܈X0B|:p_N/=OW:!B,X鹊eK J I \ˌCzksczl|L(DPs,!IV|_gf [zHBd`2oGz%}ƨ2m7A@`jstݞ=I7 a|+`{5ՙR"pxCq½lK JiiS H3N.Rs$2(Ytdyw;/i74W *v}Mtxܙ6#a%k is@#-af_ ;T!H;qW`47gTxSmJmgeР`%=DSKrQ$Y=#P5͢\XVfmf,CiNO:3̭oA'Pȏsٜg(.4\e$)km1򡜲΂6:URu_F(#INC9I6 vMH! 튡uޞzoGp9jGy(є4/!.kԤ1Wtpbj}l#OqI؅F5ڢJcʧ}W+@itY`@Tl'.BS_Q0yN[Mk8{OvD?̋<@O(K1حjM{̈<,W>:I8]{w@brye7p m?S>%.ەf{4Ԯ' xvnr^F͔}m2fcr]M@dJetYr4DD+2BqeP3]4h>IRSj<)l|5C*j T_}TʾfB 0Op&X{/Q۸FћL; DRz1" e @ HŖuW>9&EXws\JcE5SZ!XJdkT+Ύ@2Ɲ:EjkE\_U("_ &5Nf{+m14΃k=v)IUyvUpCsYADz.iDlqXu+5qKmƏ$1B~:<= ?T>ˤoa+'8nߖ%܉ fO\o!@1pUnNDd@ʞUOg!3 V2jݎpeTdlI+}_0sGiӧ\ ôDa)HD䜮cD b%rL 흕+|r+d_UYÁ`ŖQs]V 0ET=lkE)t?ά+7ֆR 3S8q+<BE=H8EŝG7 >3 'IB"YZM2*0հ0f,!LWJJep"] 1{:Lf'Lpג!v{̣`Y8c^ -L_: ( sZ"M]T=:( mBʾ2,=;1I0Y߀y M10~֍׫JzsfKn%ԫ/O3:$@u):hˇ| UA],_i'K@&O;H[5Bp4)ٲ6ZJX!_|pA>Z>G X܇G!ǯ60@n Gzr1e<]نνFTVi3kV7b rcYAGWHA{ߏAbԚHC#m 0Àmcʦ _4W2^ϭ oS"g^Dy%v ;0w3>߲r5DE2W+z1 }gl\:B5}nI'PdĈ ]ZCpnXB; }@bteϑH~wEbvpY"jwfewyUu"*q&_qg,X_^TxdNHAsQT{Y$,ݠ8aևtEMrjʅ{Ɂt,XceF_JXɳZna2u^Cل?5 L 0%jd{FWc ?i'ѴgPA>>g8.yZd( ܇.UKԕ?gSLOTVL؟0OdĩSiJumT6XTӗ b՞НpFL2ñ(WG%>\kʣ@⹔-&&tM Dfq,\L!4*SkOhy `gÓ6DLo n~~Mxt+]EeaMJFj*&h̘K@^LX$.X2辿%zQ_/5Vy|0ޙ٤o) HL:*_BL%k8fөOQu[}i@8ᐫ,XiWg1R~(: AIB [nY̸ );pJO3Ϛ͒·F"eu"_]U 쟝0$ZT4]@H um]n4̜{ĶhƥCAVs˚xK[ۙ`{in*t;i$-݄`q@$9#hC:/GM"z$$c#9>UָlD҈a^廬ZU;'M7-Hۨ1/+:coO/3E dөt~.~`~y"Ti&/㝱.>ȾvD+ k]݋óq="k ) @{,j6m(Bk~b岢$ FI9r)dͿju滼 :tP0.4 3 vUO^"7`Q.@r:;fZxŊȋBcMf2= X}ľ]V7-> f c1҉N'N\ Y%^k-<[Jb`>+Q=m_2 C&=;Ճ 4 a[1j 4e8HS+:ǛwV|S$q@u&֬Ɔ,I>aE2l I\G6ם2Ledw6'~蕼B-xx N{njw(x&$]5&M͕wMwȦd-+FCPZf:xM9? (luÄ  Z\t[N]T:1dc؟ןJ6]yQ0RoB`EY)sCeop]*ZwG+>DL~O{gko ntRS\_GW0/H楘~p0~?֙xAіq SIRْn9bOh΅ w2a='K_hK+ڿu<(2vr}\w[HfR#FHnw;SֶQ֘S=UWKUb̦e /\"IHFx..k:/)_jU:Yk֬" !y^xc#Uۉ@0#|qǹvb bb`׏W,LV hoy A@zVX`M?OʍpЮHB7!᫫GKc~=lvzv32 Q3LÇ^`( 0WT@~_&aݯ p>EeG8р.Ss p (Ncur'0֯M腩w&y^R܏n*;O-|ゔ9C )1a|J<=AM꯮YܲDL`2$ tq*eE1V}$)7bYo0j,}{JJ?TN7uGBհF\yM@ j45+,10&vh{q_8_0̌d>4J39ۃl7}YݨU:Rx& .Z8_9w 4yQ b92 1WR;'޺o? ?E}9)>eizZTZ5j^)sYI7) jwvj#QEKn itYjXN /DyWPno^OWMGVC9k`zg5wq" t5]'_ 4\+=G#$Asѵ< ^_е2iN $1*74ǥM`>6 -DI*=Njԅ{C#7 v:h\] 3WBKӿ*uX b|D ]I4o99RxuYفIP|BR4q[q9f-x5,`}tgAb/8VfFim!s1θ V R4S*p &ߕ-U5Gms.y婧L'5gF50ciFt.`!J3\"/4{TPaY]0Sgu Pz`bwv+dy% #kzz=V_/ 1+H>&W O]clHp:=pp6W/f\bVr\i7{P-{"X[*3CaA3# 5nÌkW xjo2&\Yjɭ@m,ǗJGL4gX]-kLL_8x~ʦņ(6ȻTVR Q@wHfbDܙem1>QMY(SZͩ.2z$ a-lէ%S4&|0cBus RG@s C.u"i.<ゐM/?hLua.iZJ{;[1$鿚!|q3?91:qhAX?%BQR!/XE$ 6䶔;tCxLVh[ϲG%D-0Ǥ7S(2*SR:uU 蟕R6Yn$#Of?o+ B:D>w6ޔINN|@N\_.M8ϛCGdeXQ>Y$a"j3rƁv\ MnA-;<znԞD+%qaA-RC3b$sѨWq)I來b/խ=6Żdmߩ迓&}U޹fJL&]cvH{o NϠ9v;-}Eh֑;SX8X?IvT򈠨5A$U]LϮjamMZ<<0*1ꝪuZ@v4(&@|-ykP/LI+EN*aZ8\XL:ö٤@=u@(%=x]aTR)^5{[loi|"zNN XeZ.kR5wpF3 BP_F&&$0x 8-ULIP?*6ڿ ۰7Aw ~ 3!'XÐH +vWנc@Ӂ#&#0E# sɁ@ і__zJw^[wZY,cv8i<Q@Q2#5T]/3K:-Ip!Qۮ`д=@-uf >&ϤyYED aة6?j4cH dFPM&Q5NnSԞ I>LQ 7ՆpДŠ>3j5e/[Jl")_B| z-i%J1jt1i#^ 8]x)r\`j暗-hm8KzһN;SŔvBH#aVí6yCfS+5(%~{O%Q`/lAtbÂ=X> I\<~~!@T(Y `-Fdy j]~yNp9\@P%'DiY5_ItMﶥyCoC~Mp")Y]fTk}5gti+m *,`d4> PCͮAl6a{ä1Z>ҖȦOGcmlܯ<+N94c8àt<}_M<8ۿ" 3[,e_Ie8"dƋO9Aj1C*Ubi|inFV*U]rQ*˱YJmVڸ訊NvEtXػj"n>8fI)9Gޅw] iO]k3YbT#e|#MY0n3 BUOPp~{#͐";gL&T 6L /;d 4oQ^1 KxCQN:ʖ B2xia=E7햛$& c1+" .0GE;j v,'}P{߰U>mHOT&CQ{PK4OnOcΙoQ3Bu0vt Q8M.|bA<{^?3(GߊۄKZIvMʘ[t2*_**D"x4YAV@F2/Iddl}7qo9|`z.5CUda <{yc$Y˒3)=Zڟۗ0k-;DN*V{Px(ՙ>?BۦΧG\ˠƻ)B#kv[ ۚ jdO cDW(h^c}u űW7g`p H=L/&~iG+ l"w@*Z:k~(^TGpbr@LSDѿ~a,ayȭbl W2Z@q;> l<В4]5zqQPg}$DzU{A$ o4oivw,-NI8EviʉukDTLd(5FX`Z&U?J녔lasO`h03{%@4<쮲{T̈́J#/Rk^fux ˆN{v8)-K:i _K[H YͲ^۶ B,u#Z؏TҐ@ַ^@- vym|#'`K)%p@j=k-xHQ,]+h/YotO0]kV衙0K2o@})& ʒZ\w1|Fd@%}q*Jk y4h`!MfGݿ'Shyev+c7";Oo3;D\xBEڍ5/3l~]9X[9J'?4#(B;O;gQg϶Ҫ S;穇 ȑMr^W:6=;PbѨ ٯ(tUs-m]ZSR}dfF&u`l~&66Q7%=gChA -T8KPƏ=lĒNY7i!*`}rVw%Qړ:ͯNpҋřLE O+ĉeyă?L6 2ʄm2m(AU%qK+#TC9uHgZIOーv%P1xSzyDFĖz45b0ud|lvxb6ie$|E3dhA"L>Q76W(NʧϽ 'Yjsn?P# [>#=p!5 ^~)cAh󩤜TS#$q'-CDGG٤~x Z~2b?sFMh׈ IXM@m[O,bKHr9i]}ICKdp+t #S(Ɍ6gBQ=J,,6+nj' ѹoɎ_^u bPhKO->1P =חhGƞlrJv|&tSoCO3jXKk`Ӽz1jCOǁ˵IEى-`A| }獷cmϸ/>wۆp=n u#'pw Q"u>=5)ɢ=Q9;^AVWd@97ӈʑAB kP, >d7jR55iPE,Rۀ4Ov1M;Oal=Dn{ލP}6G&2_gD?-Ln\Kj׍٪lŚU1:nAY|r/b:'HRx@Z0Zv&AVv\-|FHclpAVK{ 3n93h8^J.Gű(t :wZ+` "Ql6nvt"0]a=-d0i7RZS_vBݿΗƻ(}-_d =۰8s:E,)qwHHYyAK&n34t/bO3r$b3-s!al^]2 vPj]Nx܁C3>Uܑ#]KѵkO` 5"!,XI ;ُGyj-)GKa&n ~Tk,*\h ԐWQ%-_x۩hF C)[243Iv9b6%ssi (TK2o 7O+N⹂lH%$X@\c+KgrK)InZ0W]v'eK6bT,ck`6n*yY-*ta.,|%h$,2a:hA% "wBAi9|//!K75hV%VqTP3WgݲUqbCL Im@CD$_kwI kpG:,SS*}j(d-ZKhj~Zht&Gn+9/g8,%׊N3E#d' T jyAY\rNT~ppH\„xg^SJAJۊS<,d scG{4SDgv=SҒwY؜keI Jl Qxdc>;Ƒ:n>\,xX֢hy} ;S.|3kw o\!{#,ip#kJ06[f/^ di~ Pa?9Kg#x9Έ.^X5@fV@R'rdr`H),gG3NRF gVst„Ϙ1D!) ;b q%3>E!A c~1QL:x!XX0th2ƀT-OCZEaafT9 >{g2#3׎4+6;Nf`E*w5Sf&}W=k؟MI*J DYaф1~%n1B ,650DNQyTϣ$(53z7LT}:~H w($fED G^*L0˨`M|J &!t\|$X bgx3j=D&D q'\ /=z5طe}g_c.ۄω+ْUʏIp+7~&)am_}?FM]2#!`rc}1Y1i%É2@JuoK4Tv̟htwgӻșPs]ś_hQok9#U aΊ"'CVk`*/=)uq\l&xv*jHJ[Jvu3ө)F18ZdO#uǚ:Vx% ((pQ}[Ոjb6B?l֏^;fjpy=AeckxR:pS  Zli$73Qf294$u)u>U7 *6Hjy8OKu|$iWr∑ʂD Eq+uXHǭy^B^Ѽ)NbT,s'DMUJ$`š+Dz{wH`+H>Hpޜ?c5%UZc9ڙN^In+GIjr̀oL'I~U]-`CTjW""@I~Be vZ~/I3kVg@$a&L!.edcA-P_4*QAmccP{񲄄L3؆ %p/JG-ozS:'"wY[HQ?}o94UP?NݗN#_UD$,MB@ȫz+o~8sTGLROY?Ѽv^4+e7 ff9;09@+dM[*N)X0Y n| }\5)蹄B.=L?M"Ypc ?.DUؔGQM SmYT]O^RX`6 kKՍKC"ŃC S$` rB6jND k )_!S^>/LApН͹2Sޑ tɢ@RkԥvX2QT4*tW~xV2إm ɺÙx_LFa/2 DB>_fE0ʤƭfxn!%ղ~emQqAr(,RI[_7e)2.D]ѦBGq!X*SOC}|eo_ٲF٬m4@e 4C{2<S s"AkbkEKG̉2P2?[( RN!ƜBR5}ֹJ{2)wKc(z_mlOl:Vd5 qW=2aBb|yH G5.V޾ ,<BYc?ȍ(xOW*KD 2(MAB>=T#vꎮ/&0$ ֯@R7F5=eb呱;qؤHC1c6MP^D5%;6ȐKV]w>Wlp2e/afENrjѐI5@lH(a9(q_9FZ!C_I :^YZq4-$( ca`S!>a)vs. =)U[[$:ݡyו3IOFݛCDL.,[TwZJ,r(kxta8tM>'[S/pXNrT;m~g$s^a?,6s4 h.?$mH}hi-Ue`$VI]߉.)s%QO3N >4]Ժ"sla@zF.L>_mVكBقwF멦s%BBHނQ S­{ >d@tr>31ئ pW蓋t0*=i YkQo`gws[y.`4}OKQ#=6Hr>%5[Uqs2nƙa {*ǭ` @r͛hbXa b9vc%`ck˖/sv.NyYc*kT&ᶰ$Q['nl `52\nfϗ}'lGU'4q,]JZt*yV"+64Ċ`Wmt=x"$Q_ ,Vv@ryd~0*d?mZ΁.݊p-Сބ 6@!@-do#$Ξ*Duځ9K k;h3:{AC9ZXn3% 5T.;Y?xG6ᨻ+(905J窞C>mG 6NB J0tgA#cwƢ 7٨ȵ ltgV~Mee9w,~bzOzH 澔a=uV+$X3+LVJ^VE4S̞߫fLPf[H |Xt0L&m"h+H GerLoߣ.ѿASujө`vPK7]nuZȧ~ifBh։Kq@՞ۣ)b#4qdU[}?~[<^5xv'7pLWۀ,F_z,RʾCTޚ*艫;^Vxy1nE~D㪀wG|CG!?m* VX'e0'BD,ӏ2z?!/Goa2"<8\\@S4Xͧo{ٟ b_"'W-C[<~N]%ɴ_a$̬oE!=b7,oDR,'{C4u[ZWHS͹3}%Ce-ᕲ7VIVMtB.F}0I4KƮ-s.#{s7XV3E?,e6;=b*^?NNHv4~ei'mzɋm DQcdX[\!'$X*W3l3ח-2,{3h/V>IX4{|4jЮQ$]leȴ~>;ȋu2nMDnȽq/$v-}Թ2{,ܒB((C:HneevYY2S+?n1 !APgri|Ĥ%|# TCeξXܷyBRƽ_Xa*j=g.%(;qGM&!UmySfVU 8HNL1_ },%7mi.Z LIfntf]/S 0<)x7ZGJ;/4$©i/XV3T/'r @$Ð< B#M.I`[DQA{K? t&MVuPЭk#V?j(V H&2d&V1ڼB3^BYiҨ&iࠚVе|D"{t<5b¶{4o=o®8@KcaSgm;nԨ +fK("Ay'MtsU<%~vрuqvE u?@ .[w7 nTLF?;rյ>_kتH 湨p%' %-rX:ddNZq$BmsB%8TJ}W=:Bp;t=~^ 12cQXz,_9v|ъw)As8n2|"v 1"K+}1e[+@q( a3[XlevoqP֟0G@5ni(~ [frЕUT48l+m%Iō7|"Lqvx[N7_ߚM wMf6ykUvL| +kG- ad'qm S K|w2;9ٖ㧑>Ó} 9Uul7xa,T :8Фd*shTWb!$aGkl>^ӡ4 0N9͂ puk'5~i S1--0[gZ_2Ix @`WK!&o It<]\|c @ )掭^E"=%|hMΞ Y$pGJ=Ɔs=Btp^ 2R/#>PTYArLr8'{dVL<']RyP "%ݨ.yY d=ۧi%MFikeX4&rH(qRh ;XRKBGYg3! Ś5b lыOP=B;RLkRhrÆq ڬF.J` 6hB-*Zw7DʇY [dU$ Pm*rAb"hSL{7~=o潥UoheLbPv c$0ZzVPhsc_33pgj/[f8`%TLi2C Fٞk2z&+'{SM4fi:1 5jZ{ڷ<{QLs f~˹W; PIT0F}_˞.EFR ,!jڇh#6aޱTNjDhON:. F gxyN#8@>ER/\Dj_ PRWc:wtJ`qO76 CaQ@n-qc$m }!tz 2R&lalL3~s7+>`;>>R4hXtij%?˦ ɽMN9O@#u˪nznD)aJ]Jfrа20וnj4ւ>ghsPP&dtڈ^5j885!]&S C{^Kua]&^$}Cs 7`CQL(1\]y/r_-4{N{puQcȉgYc>a{rAq۲@jT; _*7lz3zgo3ck78 Y،S\Ge <D{HJ*tR % *'/Q+7#)[jq+y })3 m XeGvԘq˾O7'kԲAh"\dz4}6^Z .RlgƮ _+`S}4n?o÷.ꪚZ] H|KC,[})UlH7Xp05?Ŏ~El`&Eu#ce8mY3qfv~L6c WXCj``.!a0p֗֫ |\ݽ7S-{wAp6s˘ȵq/[.:_[W}cNIjs5)yخ Z<&M v? -qP"|g+~ S]dS/W9BOv[5>Ĩ5B.a^x*>piq!o!;V݃R9~Dat0ܞ(79tL%ףkgyEI y+ KrO.,E SR %ԛ5l'ñq]T][uWY ‚VŲ9jZzBi)LsɌ`%=qkZ)xA"ԽXyf"WX9>g]h|tk_B9GTџ_'G*H8,hm^D_- 1"Qh\iLS`5{w5å.ھ4.3(`"I L7W~E2bb2H<6V/^vIAn~E{VŔX+R<'=,j3fnU-'KdP%,O>suikH߲`wO쇚ѥHV^1 BiyznSS٠ :pq@4[CBEyo(N2!>sa f']p&j-tnXpZSV1H:Ԗ }C֎w;fuȡ<E=oH99[rf,ORa+W繫dwzV-W/wpSY1ˇT ,m5cF?5d)yqxȞ;rFH%00Ƥ=RD~$ebF8  ܶN˦h?n+}6q W/~PsUoU )3 y-ls3Z`bs>j]' =BHv i6O2<戰f y1kD-E}d 0fꥅF樢T} vA[%oVBnzZ;'XoY9 l ]̵Ι\0g%}wf ~Ne&Yݤ@ D'8zYoHhJ)6F߁2W?qǀv`c_2ȕ0QޕB69IP!l{ᔊTPuM%:Zk[+~;Bbq,i*Y0:e`.ټStH ㉪k0mN0Лڽ $z.Or?0c [}GGJk%#졏kh;[y\e {9 R͋o0!hT=UifYV'(#gky74b^,\ }h0 ОjN{6*5p,d  sCj<2kԗ9zΒ_rÙ>D#}`o:#d|K-!: r5XM`\! 郠sjS+ءia΃iH]Q8)"c8o8Yy*Er"bzi.bh);`* "/:'S@9Zx kѶN@,p]wٶ%V1wD{W֫m/?Hxnt䖎&P,tlV >JD:̾SتV>Pr9aO01mNtVCyړ=:Kz-T&{kBjm&a2 AQy&>)KG^1vG]lil~7B."_9ם8 P10s|a`4Ubp4| e2Ph#{{U UՎdqiK?BMB+Y. I,1G7 {K'̣4d+MlPEO ]lO[UCmfI{0 @3XȻ9|S6`Ic >o !iDr&SZL)b:̮^/uaVeoIlwܽȑ{>Yu%\|Y]rng}Hj']X9ғ1&{f tgn&Om n8 msu" u:o@]X}/b+bXWvy(gg.49\ieOS.hB)d5vbړѨ7Aa"Aj/)t+K2-͸$>(m}Ujc_; dV]./8ID3X62˕ַ[s?N7cE"%qȦMIHU_P+"E|+n{Z3pi?& {Mkg1ۄAG8Y*ErYKMֈij=ߛR epZQbȥF%QpHs^$.y-q$/gw*3Yfu "=թ8_ N<0l$RLwrikH]o!-7Еjܪ4zv>֜ɯܻ$.ّz5MTC;WP@h2іNʟs#({Z'ܰXObL.QRtNcl8e;63!'l2V tQyP(hɢ..j%ZߛA\8qSJZ e0!t{'mz"⮊2g^24TO^gڬ|F>&.j5]FFAv#gvQ+DžK휁f\}iղ4 .$?rt݊ A-alF#Yhp]v# ٵv)AZDuG.yIZk &}SzDg^'xA6vw+gq-4Uwb &ѿ_oxu܆%f(n] F8925)VѼL<&4Ɖ`=773oPzͨ ](P5A Tl ?9XwZbS_MNJ$ȿar.rB?ڝUxVe[ӓ=db,\nHyORY#d%E$ɳmSkHn<ĖN㫽q ].^06/ *RCprClEĶ nImܧ="M=GEu'cQ I(%wEʗʝˬ5b6Ucw0Lf5yv4:!` ;N2/zD "7/)G02Jy;˓655:3)*2YoX)9qj 7?~tɬђՊ/|MAW]{A%uCѭu_Q",*㚈˲ǁsfSmUAu@5_wزȈ S1%qÏ+~rm]0焺N3/9P zhud۬rٞtD.d,?N ^`?M*v |&Zzg[h@ïeqv_¹ jpD MF&^D$onS>HVeڒC(Jf_UxFw+ tykb76/9QKìӶeyV<#^ls%'H&:YX7d<K0twM J*J Ra\Qhi5dSThץNlCu=4 ]!tWYEٖ^3l \l5=XŇ'"@}_)~C}TE@#_Od*}<(`Lieh&]ЇO4 )wd$CߣnՌt%WXF /"+iq9T€\L@XuDC+7jobZ9¼tv0J);8IW+G(RV٠u{p˂& H)Gy' UiD(0vXE֓++E2Nq}th6Z;5*J(e]+tfRXDzW $=wIx=y*iX~$:! Sʆоkuզ 2Qcr k r=%6;1| 躷9Ґfc=vm%Dy ʚ7%r(S 8p5 S[ٿ0T枪n,/W Nwwr;a0Z9$ܷ*޴Bj4*˲Kb4H)eS!9βGw*<\Ly襀4!G~ dC2X Rh]o]pK[D9JFg~5)ģx/-KG^B~g! Jlf ҿ%z9@u@ێLzرKl{j{A7oJNps}[,;c ٟg zHr W;Y=F11+YO4kz5TwO' IފЀծ \_N0e6~<8yyB!B`1C>J`5蓌Tu]1[2C& Sc|2[Nk(9O43RV@E t="$"-Nc`D3}dI~9Wg̹->,` =(Q r-] {jZ^,ݛWs=kO)Y*//TZF>_MFnǙB6Ƥ̓Z#aUhUz;ڡ''E˜<9r= ^1Cp]ktj Z RqeG·)}طWa.@ki$zuΟKhě;vMBC pH)@A}/SGqb0JֽsGUrL#Ke72âB50%*~óAar @?ze+Ea8܀`jP4`QTU.HʃH^Q):V6zQlX7W^~74S$[FKzlI3jy1,wUa}T9??$;+Iw?(Ie}B$|B[6%4a3 >Z "2x OYboڌ-_Ini"Dw8&OJ+9(zC~[XX8RiyiQI-"j-2$p4=}wʆ[:1bA:?ygiJ&4!jfksqFB~$p6$؄!xT8!Z8:;pmMzNhP`4>W;Z._b3V T23$yZ=6^^^)0hЎN+U㗖s)ʅhIikH+g$@|w;b|R8B'F^UWKVԺ[bͣ)7kF 6EY+zE*(m_;R:֩oҢxEƴ:x w] C]z!cg". X9AGݭv^*O&'!"\f1tze$]NEM^*hǣD-ϥm&٫gRخ)i܁BSNhL7f.>Wjm+s3Rc9{BַW]W:,k[3EU-@]⊦%wD%/rYMn0qbIfUzPhU޻te,e3*6IG"G2*QBȰ2SĞH ҁbq;9xtފc'TI^ps]d3vh\\Jdz=WMu wc۞&)p Q"Vxd{uӄ2h1X.RIpS@g*ܡo玱gvu݄KQvfeKmP*K 6E4Q%'wivMBU^)Լ}#+, >ThliYKR KYy0֌̗E5W!SP!2Q75<8nHq ]Z[| .> ^F^|YྐVyh) 2C'3Zg> 5طHu-uͥK [>Ô;<$c" o+-P,1kz:U >("i"v6+YIAy%oD1I_M!G{%dޱhJ2lsO2~c݀;&|z Syrd(rX*SH|\Ý4= /#J&a^L@rˍBF d̞{nlp{nsgߊErkV9~#nj!UvhylYLdFc$HcjOveŴ^M.]=MkPHU%BC3oe==%8|æRZx0}"L(jc42$[myEdU{"Z"S`,k^ ~SUS_:%U.ʄc¿(=kݳSlvdve+^=W8N 1nq.#ijv*o7vxÆ[%(p le]2Aolq\H9S%qbX\,y[| W8$`tikHP=a V\c o $]YQl i}?MkewsѣUcL˷jJ53ef9d0iLюn$iȜCǞ[D&,H|HA0j*#MLqvu}/6'fq ⾰t>_t"qGI.T6o 6SJgYe%MYx ^ʿRoT8BFD@)whA.ZblXרI!k4]],՗#xAWu,?*È?rvh!^O^rUO S|Ai֌o ҳ,1?OR`q-Gw7wop Am5>}dm_8jGm+Y`"#jZ OR2M|Je⋽n6g .5#_P ]:]MؑrMENy䟯>l#;rtb艦{hqgjIOX_k$ȧ|6~wA.$wY}i}ݔau?AcĕNN)*Hɘ-EֶKЁvD:G$h %Al5fFD9·a3 bH@a+MDӺ'^dMU8G知6zQqSZk^Pc)[ Xz-J|:Y*I}6+)CB5-:sT 52pQ+ X"K6AOxWd.ڨn4.xB{NYZЭQpۄD!W0Gz2@;Y(D1̝𹰷jN ߫NDRYKxT8~x ZePa\ؑn JT6pTEwCBkBc[TfVNܴW~5t'|.p{?.~!=B:s:rn%ambtcZ+?.nWWȡ՗DW: B*Ek8rUDACq[PNǖ51*h}`9s2hOwpHggɨm.) WX+ܬ0 yK y{ !e?Ȍ ?lHLe dL=>B&>`\<Tη r]+x &d1nl`w#*[(-dOÕMhD(}$)_N.g,e.6,iut-?/McVXLvmupiramLe:PhX _]hMZi境)j̓97eǗ~j$2^3:}SzNnhUXLpHۦ ų^9q"R=oЌ&MevVrFN!Lf|__?r79zԤr}yh9"!DMYWN09r1߿9>ru#n=^6],& 1uҕ]`|^ TXgCaJ/I9vhp eW%t3}} A&O-v#Dhw{qY`smZ2K`MhrU 4vm7Uyd{ܽr i^ d9X12ԈOͣK|_vW<297ň#Va8SBj9,UMt 垆a.*ڡ-/ֵ:i(<]taVXK9v9V(w|6GK74f;QI^Z\n?%cs<[=ݲ uNd $KQj1Za37a?P7nq7L` 0ع]F1b&x1i**7.qϭ,TlI};.6U?uIӌMtZ|خ؍s\ YQ"$w*x@/۰FS ЅVf̦ y ?=0ʹtxfJ` /lŷo7Ҭ%S6mtnP@n^ot˱d'@?4<,^ĠqߴZz>)xc߉Nζpn9DKOƒGEys:D3 jF. ) \,D" Ӊ^t (bK)ʗ>$Msyd_LQr \6%lf=tˈSVPB[pH7^-57eR291t@*ݵ|V@WB@#~{%/5:gٽ7]#- [߆oXJYn7wT !U.DPirVG³^ I~w>4u VMGt¼#w7Άa}x`iTǒbB-^0zZS#Ccg, EjNMPx+RϞ3#: ʲ4TSFhS;_ߜIs$b[\[_u=~WK^rS$Qjs_LNO9حN5~ʏ&72;kmf7|xx/3ibLy, Z@i}))J~ O`{ ,]L?K{d 7ۈAT(#VՇgli2 &+tJ\s@S1[|kj݄#:B P4< @uf`Ba7eMn&8AI^7 mYdU&'쟇 eF (d')J8d//l=1I5IAז0[%N5z*A[z14o~صQ2\lbkCCd$aGÃX9N$O )w]J[!rlGHiJ^xN*FHx̊faEM{ik8'%usRьjT iw1y?^`w "M Ρ{,L1d 3;,5rQ󸏹g*XEi&IE=ߴqC9 fFO$!W7An١L $!$Kو ̙vɆJTbKg˔+@b 17.LjОDA;3,]>j`i`~,e;B`:h:Emh^&\y7ݏzmViT/]9hBdjB[i j3HiB#'%Z1tELZ1ns![tYWfxhV12E&Geqo2*Yt^ewJW4c{)X 4j  [VRg%cT; 1QTkz.Uj [2>0ʼnq͝m MqWt'ua"aNC??DYiҠ; dpM_Tڞ/-)0KѻwIQpbD/ )\j"G^kԏ:XNy3$Av0fztIq"1}H\`#m\b 1c+Ō[jLN;e@gIqˉpslw ;$QmtJ)ڡq BqJ^=5~˘E&~]:ޓ&Vct#g,†p9r˂9-VAU}DX}^HNǧ\  6:'O h>J {9#"k3-2 1A;XNk~N`ڃt~(>HW&ceѹ"OO@ǣ ,*ܫ ?ɌK>J0Yr)jI&5GRK/ڶ/z>VPB1q4^[uz2(_prGp4A/h3.:=7x(!k2s_2{'RxJ޲;%3E o_/UtUMUKb?/2B]K$mDF /'dRGB&KxZA!n{gx#,y)q?7lloKJ h/^LZX tTGRvcmmҽ I4lqCRhg)ɸ[Ygtnق/̠SE-OT+鹝"c|fh7C\1+5"n3-chD3Ĉ,GKz|h! $":K|bbpL.G̏r49bK>'CS?lD/Ơa0/fU5s88C]~ϑqKGv-G. PYuj:@ꭣܡ0;HJ%TU-ޞ5˼(]KBU= {^{M-Y()]ӑx$ ^ n)Nvy ?YI n0}ŗ>ʶ7ip`#bek'j\ᪧ튲l'.9uu~\][b&aJAZ!oh˻ǽDw槫em?6&pE3 SeI'|5we]~d_sSJE;qH%F=M]av;&\TgTPFLxQ<^p=r3L^~!LڼM|FzgCA'QfPvZ+kn*|!C!j8lIm2]Yr(#tY0֡i=tҥᙿl}CHR1ټHsF [{0*">(/OQOؾK)zk8yqNfiN_ UMn| }Йv}jF^6E$wpn6rK K?\YSQ?ag|k`W/N'dW#ҸNDWא3ZPMaSe}j.qx=PoNB{10=1y)5(;_(s6[, rVlyv0`$gɛthfS2j%Tcg"b 0 E=Xm|vW/jGcٌz=5UtGqz[V*(420fX#*cZ 6UmQtLVk ʒXh-3KnfJ;-c_-oF̢Dѯ';% iԙw"W*+f;272xS1 c=bN*h4eI+4!mL2xՃ5bd#`G+຃SxrNh ?"%R2b,1'2V=P"o!9¸zkɺ,Si@Лq#5aQrɹ[B[OZScP}"v]֛_ s)k( SoF&K 9Pf;DV 4SI]D\Dk wS @)mK uOAڼgV_?ѮQ|JX/k40}~O΂. EEG ;æ]Ϙl2JΊuXlK ̖ϫ Vή A ֒*ukX]\䛥&di2g. ^k#@;a( &6L=]n7o!в@;A C_9{<ݤdV/v4cPu y 9 Wa?dggenl\*}ԹQ9DGSC߼`%ٝ"~jr{tlB&Ε&mԇr3U#Rk=B\?SC9B~aɨ`-(GІLчxsSfL*+Yկ=*ͽ: ϖTqOegr3 DM)K*XNҹf1hI,"{n"G.B6nC NiT.+*C~X繎qW:GA\`BЯoO7Kw\wnja4><UTSWX˜\'ğ:w?ABfkY biw$=4қ`\G?ً. ^[tT.DDetyp>w˄еGHV2xLr|Xlc_4<x,{JQp\ B*5t++ĶW4j.Wt=8qz^VAR UOq.{׳D:fpxҝ\r|¢}說FĪԭRK:*~'ygGjsqrT*;2ܫdt>lЌhV>0q!QڿcZyx7(jS(A7X/ߡ="XpNeA{HHhr Ln{՜|P+ i3r2O(B2zk@S~R4 VѬ캭*Rg|x }K-\CG:qi@9($ `.4/Xv`uvׂFD xX#C]aҡE#zy*=' 䍿:_qfwXd*\)ߔg}4>B5ReesVN8H:%A%Y @!3 BKڿO 9>BǥJ,=W #Q'W<ڋ@E%?^c nr3$NżMysv`ӗX QAsS\x:cK@'^7z!au/9h ][5aXHGZ> C,Z}Q NwwN] #D\[pvʒeu,IUSI[ޗZv2v>}GFqnǍ9 [^*K(bca(cpZ?/0T̀Mձ D[!%wc窯ܞd92?J&5# iX:Ǹ'V:e/K4A.}3BSt]i{!ָ0ozOvNªxL| L5d$>v _ ؘisk<q/ gP-rZ&0A# uJ* zw*G]Up#N`) uj-AiyH  ҄VDj =ŀC Dhws-<x@vU1t;aa6zOApVu]TrDv98d>u)4L0aqe4Ui ||nkgw&%^("PBAI[6b en$%/g$sIhʲZQ-l4L:wɏB[!PsEъM³*/oEP^Q=b_Z(1~ƒ7RѼs]S⢪d,s_" Jg)e Ȫs9ɂ\qn@ow:5+_`Og2]8=V篵=ݯ4RYJT; *3NA^* $^R\H'<|' 5tC!2e懵JG촾 KUښt$%:-ǶBSft.-j1Œ+c(gݱ\EdYnX7+ЫC֤Սz.c1Or+n#aHx@AisntwJ`< J1C!WBA6[3/U|m r9,\'L=l3!Q0[|R x컼Ѿ1M?4NTŎ 򑷅AhNhGEVDO~tc}~ivbxPjz?5Ϸ>Ipkf,MPӯ;ZmT:|o߄9ݞoNx8D֍јT%˄T*٥gmצ%44(4㊹?˱L= c~rkl&_pB.fJu/͋)"PI>$vѱ:༟]|-7)$#^OůmUË.`Dy&I$d{owׯ\>PvArq M U'r*wrAg֓,|$d>ZeLcUcK;*ƔߡP3aVI%> \*} CH 毩 8bɩO vF>S"090w7dGm{dR LNN[TS_2U_R.Ußk/ Zo&^|u"<~r{$5} ~9=gAɅ "qq}6δx ~2bU ~^Qٚ4eΫ/Y16a2G 'IBP N/TldQDs| / bDS2C\[S-EBn)b{Ti"_|By )9#/U1}#XfU@&Vgno ĐB"e5hȼ-MRlz (<x aǼvOcBr:fS_*LsjR4@wjV~nK:ЦKn.ƙ5M[_|`x'Qp㖀a-R\#U~'GjO`A|rҌ9u[nUEMoŋYLW}no͗S\w7{iOE'1^kխW=Ѡ 0VzxP03$GPY?ro=QZ*Pw4O=JȲqsǀ@0 >)t+qhڇ#j@(!R5NI,*a[LfI݋'d8qm̚?&y.码jR,\x2'f͟Gde MOs tg/}nVNEn]f*Yx ϳ9kHsL"+F)/=1Ww=[B[{u:TEָ@)99TR:ڏgeO|rh9:5t-Ѳ6@jT04 z*^f8pːWT6\#rS_XNOwKq(RzeLp/ ᛐ$(+$\4h%v|KtjR0fGb*,3[Hz=-jmtJ9"$ǐ*W<fb})Se\4],%?IP>@?Xt8؃Y=f9'h`SEJ)d?A el0=М0e%|.mjH%J UKcciaL}-E'~2#3oê1_y#Ird:Cr^b pd(]rTA$.JZ8ۼio(!#mqj5WVXiV=ó̈}@T(x,d>~ KKFt(x& by@8/J0'}h S 3В.$}~XEPbt[0ؤAJŜaЎ8²ُ;隭T$6}uE*98!8mb1BH]l&Ũy o:B\=43O9q5S+(lq;LEnfe0=y?!݋͒٧C{&7),e ' kڶm+CGlg; O2P7_cVBCygJ$d@Z7\h_f_"g0QzzVfW|R0Ltkw:/, V*QJfT0Qu}onÁD΢n.*#Df[<*/.E`IrJ* v>KfYzr+B%ue#)DLc 1j b:~uݕэPdxԒ֮ko&/B1=ݑȔHA]@ { LFaAh&2҈B,g+WG]5C IuꮊK(Ic/3ח{9Q&tԎ7<;qǨehi 9ca[;9`TiOah㤻ʰb8VS|@[8<㡾Y?+UW"ȘKl\+iF{cMڷ{W1 |mZ 2oZ| AO>xsé(v:jW?BuwuF'Z͟dH&*f τ9tg PGZ*e37Cu$zHLx$ >*w̏`;Ӥ 7s[z B,x Y+Gaq)@ Npd#q6o!S֙Jjѿg6M/Sh;!'m@UݔDV&?pwp,.Rd5GO,s9Tfۧ' L!Yb)'7*+N3tL d 7A~sCծ;S]f\qVypd9eNݾNa)s. 7>#A|Zd`tņMsUҷR6L@&^1LI¿ze$ڞop`Oxe%6i\[܄V;<`gٱ֦Lt?5z]`#3^uHé-_*4#adMdZEwia6(7n~H8Q=IU)JenUqȄFJrPJ1W4nѫVMg WD U -AǤ90RRzG& n Ϝr:! eW1VkS^p몖W㵸XpS|g'xd(A-,47U0Mۈ!':cQĪOƥد/G`jro=rY# ;u?z'KI2rʾ6Sn ⤹H\jzm;nY.e@M#J]ĥ#5\To4;flsʉS8.EbfǴg-ZMHWxp"3#MJ+.pJE拜=LЍ<¯xwƟ ɛKB\mu.o875: v(HEdPØbQmk± K{@:d=,uӄaA ۩EXdͮti0RBzdl05C^؏ĔVd y[q%}$slo2oEW4|v_ ~KNö Åޜ$ik{Z/ga;i1! {$vLL.o#ľ{r!tH[,=}j)/ E?}rp9]3v|\+ٮT%F8ovP:d,Fh9Tfɿ9[GЍa,UZH8E$+E;VcHh.~Xv"jS=+,B{)'zxdY/$/S}8KpJ`|Q8iȆPý{&/rRC:[C{a g9FRE ҵoϐlUo}(?H8JLWu;5Pܬ@a64H~`gqUmj"'C8uD6:z9HDpV!> i4K#S '/ﺰrP" ܻpeawq &7fb>[@)a!c?BABH` _t)$pGB0;A=0*t 0s׹ecrخ%n.Djo^ңismֿ"2j0YfHqk䀋 `Ȼ- t< BO A^ݚ|hW Ʌ+YڥY]{_q1Tw(MXutj GCck -5yi*Yj\B"#'&@vQܔd Ȇ?N:>/wL'?Ɛ!LN2X{ݹg`n4v8c)Mו#A耍 ZL0oP:ܦSQ{AZvf{Ĭ '>%y7"Ffy ?\,2_slI|P xmhp;(sTy gR 6k4gڤ Su^!?܅sg; !g=1HQXA笁)#oM*< UH5 dfowq'@m Vg _7$wE2F`/I*ވmSU<ɵ;sXw*bIr,SW4 o4T%Qz|t _^W'` ]g9MaqŤY4,Й/pn`UJin+RpV"WnO{"ZH0&G^0pM]JMOH>5CL [mEvj +fQ@7OV bB) ɥ7N*l3d4n6κDYޒku~$ 7ڧ\C:b (⑈r8'U8VT~֖#%XɹV!;~ S@sMbPJGQ,ʤg*ch'ﲴF ~F2|0Ϗ - lA$@ O8S'ikVg?s4h^=мǝH^u #T\JHFjm GJ-wMTQZ]ANUɺ%N!4&yǥ5)>Z*,lNtY}4KH~sy }*H<.|sWPz}L ^?w,*93uOa# K@(&$|O2c>f ڷ,8x"uM O Mbyo.H&%L ޔU\$Km-ҽf1 !ucOlWKBNA*\pcXcV$~;Y0g[4HJJgӜ|MR֍~͍TOⅣՋ!>$g&XEIS=|two":Vmm/εt@k;J~k*:^2.DB^N99wN$kȀW%tuuLBjhC8łf;PDG֏~r'+O*m=IӞ{$;3oҩyw@ +4t9=xnuF95L$g(t8һwqWqP*i` |с@+D߉]JECp$xɧ) O`\w Q=TW8ѹ&0`ϛFeYO ĠgXZL ."P9M%)"qNO:,ӄ,u$˿iaTse$yd/2w'FW氆AR{.pF ǩp (-}n1@X"1aݬ bV:S:!#P0bJ|eQ~#G;^^tg,bQ?[[;Lw+4l$( YE6Ԭߜ\?h5Z!1tAyXH56vwԸ"d0shÚ쓽-6iwMQu%t)y}h֛x,1lW\]k"~Ho=$2',<.LTjRЩi9Kw'Ɠ>L?ѪMz5z[ EZ$ĘlCKB쒡^J"E/! 8pU dۚt3N@ַ`5ȑDnyϩ,=[c>:1,2[ovz{-݌*a|#qYH,k@Sr|<x(M'l470NI> GO܃׾{ʜ&y fI>VCg@1b)u2щT.  ׿?ǻqѓ̯}~jBu_Hڥ"Nd'l5߮/`")4Cvqj aqNT_鳑#'}%,v<~EWkCa&O+/\V*6欖'?MC>O^B`+Nʽ"3*I,>T$*?V)$*"} ]*svfީiMEb82Gݻ8P Wvh{|Q 36c6E^K_\_ .*5+t;{PAp$b}\(@oz [䰤ýq!gGYQqem b/4亠-Z aK)ӯ-LCš!JaaQ)]l$ ψ)s1d!QkQN*,(.KZɒ&6RgTT<:y3r|A+ccE`;zud ڋQi5] :[o~ #tq5݁ȘO›};}_& ;lOxj]k0!Lqϩ`x2Q͟I(d]rԔH{v5q;G>*^L'Nr\<>iFksQJ<M5 #Q3bjʾ7"LBlN,sKە-UNHs{e{XlHNAh&9Kfmrz| ֑kQ7rDY=u %GnT0Pqxk&#]dߋTD"KD+7hE/<4巉9:ڽeC0y9:u-4xfݿJ< 6Wn(NAa~e& r%*{*=IPzj[t9'.?@ kݝD7>tMŠVӷV*sUVGCiTh٫H$ EG`%ddm2hUo|of$4ZO|; K{$*WBouH¦c.1JGlזLKN\[1Dbf/$#HԱ ɔ@n'~#|sxԧ̠J8%2{RfXm><,+θ*43BoB Gz['^pC U,,T 'Z+pY*(, 3hu%@3[&L Z9ve.ޅ ui;y6K0cN6j*KdntҊl"/xV,6*rs`=g0?}kAl֨[;$W9Au@:t%C[K|3E8"GwM3lV`y+cv1 lDג@ƑgO2h4v06`Q_{Q/NvԎEJk $e_23OfTn P QW^pgD܋Dװa'V-2T_roϭ3S==vEDx-{%H9+޵BE[K5-1տEL V\~b$^3YTGZr7 DRH-fBb"Հ Ξkm l`$|m1o߭KE. XˠNxʍjkWDܸоmb$c5Ъi펺(^M] }~A l!CϨGK%v)=ZYaysQIud\ɠy8(U`ϴ˵MNeeEE"7w8@z~X2aKY¶?mmsqyTqq4dUJ~0 rϺ:^s0>X?qUڲJoju_{5ג0~gSho7^{Lj e׌̯ U8eOf6.IVhtK~@1?+b)>cn((zY$דiұB#:/Isg-UR Y'i]WǤ?N¥X2P=D e((Kl\ZDp\nZ& PsS9/3V-m:ӱCa8iBϫw_9gcjk/oUH O(x a@XAZ)8֞;ʝg%̈́/݅U2r|t_v^T/\NPA)i䇯>I#oEȑ)-u[OʺJDfnp"esZL?y&CM SHnҀcڸTnta@\IЈZE!)OKYZC_%AV&2d1J-V4lfZJo_%@MrRH 7;)Awc(;_uCUr\bT%[ 1:go˟$AUx>p#5edY@8&sm0o[jQa:-S".۫Xk*f j͕zpWp׉M.<:;`ns ]4TSYӎK/4xF{ uh*=/vBqPg8@% $uˬ{h`(x(TLQnyQF=)嫄ksh#EX Ӂ3>ze7' h0*OȑF¹VI(xMsr4 xLF_1$>=5qbr=O6%!P.Uڔň[5s_pP;#Fߪ^vĤG@K+sͮ?[/鏊bB{xԕAAirVh(ɛQG9wODt(,8\iތ~ͩINAdFv<ē}bj[3^jyBBL0N9)ǰ|9x넹Gْ=iȘ!?/F~8ӑ8 /4xb0흗^/R? (\p)-}#ݞRfUlzfN 8eW?;cvD_&K,$_275M: 8 drg4dEĪ`S7-E'vYr7809zb ͒KA7bwV~bx͍ʡ{PO͓7{aJK3{~k)2;ܳgpsn4fmUem<͎ɸs7 ,Ńw ʝXgL9 {1(Wȑix^!&DIDssB) j&p`՜WHVQv :!Fvk  պ{r: ^kAtxp,ykhBN%=&k5FX$B%g^Tyyş0E#?n@qq >DZ߸(@z= r޵F_t5Ը c/vȉi%I~50Ќ^0N+::P8`-i%g:aavSa^ ,_ Rǽ>^%MhBL |^]b ՙڎy-a':6NO;#úeV`w%ͭsLU%ԑBClз*LQs7>wȂ?_Na@&yMC໖^>OyVqa7V,ﷇOp|8|v Ϡv&&Zu0r ɟn&p?5t / ŞO#3ى߲"e -@kp fi0+WƜwTA k9|ڧߪxjHZQUw%+͗l^dʟg; T o Sʳ[r~J6Y`q}\?yJD"0S%m1*`9KVy.~!|@ܧyf!OHĔu`M^oile{PŚ$ Q rxK*Wel7yuv4}0WYұ {ȒGhnwq2PI,٪:{ ]ȂK@r S9t^ k3茲 9ejj/Z AZb+i cV}q =QH2{- ;ZF:[R.R|oKo;Se|3C?i؊+8^\Fl3 ,яB|A4S1ߧmcP7?c.0(7r6М֧"t0t|;vxص<6˶b]7~J"SsL[2fM&УZPU^ؑuƤFO kGF~ס:,r0Xkh$>و>Ê,7W6.r.ij/p$=,KIw.}>F"/fEVO ia[*5ecMsL.ɟ#zg>WNkYJ'po=@ $R*-t T?`X-1e';T[HNdէH|s.XeD3Y.ed|4p;IO'׋nZTALrsnNBzڷ;/=IZѵQ[gWGFghE!օUƁsBDڿV@П"gCnZĔus`#}L޼9#b#FLk[smM%FpJt1g#"BD= *22ԩM6/u1$WB} .w@B퇄އxws˝4y|&}1/!ZX )PEkWuحXͮ,4fK̶a+[D 5*U6i1#p4IԝĉVc #!_if@Ou`B֒!/=R%ff]D]o hp9+RΣ=䱗Q0NʠNm Sc_&#۽PAș%.~ )FuIxm8؊-H$kvTb|U{mT72u<YK:?g[_Q}C [>;Q;OM]RYNCd¬NxS4NF޸wm+wfpʜqJ,dڠ0VRTe]`-JE:u8ڬM67?gmP f46 Ώ݅ 53Fp.n-:t(TBsFX}@SG۸lVe3-'Gz}LԆRsN}B 6{]]qTn/Kt[<W-#k3Xv:?a(T{=(R4[#TSeT"{"rZ+~I "E^䖆 1.Ψ$lo^ >PAkc&iGO)F8E^b呤=(C} /7zZ6O}PIqlŃ!B!l!W'☚'1!F0{TI(=8Uhy^/ CpCB`"P& 褬a+mb[dHNv%i\/n>=>+`{/s3'6:Q gGVR(27*3ܡ MVDZu&QWCwZN$׵>DgEBD +0h+{: ~~sLhTPѣ{LpKMhb㜕0lRxߏ%PmC#NM)7gd-oĔ쁶b$#a<U4j52 B\@*.Q[ X=}iR?u4 hk0DǨ-$ưe4*Qך۴oZw p#l+Z yIF@+ӼPz "QE\.E[L'L$XYN Ǝ#áN)ȟKfpNW70ԫE>ͺZ͕:^6-V(ݩ~5(bе]E+|rl,@^ul(MQp(ZavVWRW|ok QXA8cE;H.Ahnd\$s6!T'R$_GH S[xOs3 C}wOZҪ|*83I|5Zl+byuck@Ͱåjќ@VH"ϾobzLUFR(:`]̳|lD*8B("^~9a59^a 8tBO([0ң9O.6 v5q{6&G^ |$ףASC$ qg'2.¤9K9^S ]|Q:KhhdPKH!7d(~Eꨄhȡun|6NB\~:u[C R%E^K< F%ɹQ,Ǹ,'(P9=0E@Vf[_ZV۪&"#y^ )#`'YieQǤzFcpF-6$?{Yˤx~zμ| g5r;?ηo/BaA?JrWZ"pikMDH~_ JG0Z+z۸:H7L$ ޱL E(\WH-o%~TԩY"z}vUywԺIxXppp:ʎ+wJl1Ԓ顃Owbn.KNJ ަ1/Z!@= b1ݾ'.mɜ8SBt̂x?#5֦ *DӿRvb1ן>l{N S,wM#ԍg֥)Hu/ee6+c 9e9~:#MH^O!]"\Pipswu$&^HR;fBWq=[M5_pd uZ#|b4=᷿FpLK_p\%=[qx뢎pVGU]G3Уv {xs49_.}k1Yx/(@!֭}1r!}vSKG5#/C` Aj (͙˩_g+s@BՖq hގ[fohi,c̒od!(5zVPJpem`L7wυDEL1Tg)8՟ #l;2+/†F_E| j8SCk]~m U\D^JzpA~(dfWlĿGjWyH*X4PfnƥdDW9'9ny:<D5 i r4[?5&@:`S{;jD&ȅI{pY),?p| ,YƬkUzi |{_Q㣒Mͨ<~\_>Y[+ʄE[?w6\+l;+x?| !sܴ|Z˶Sz*uDsWy`Bկ΅Lw]%Dc~17iĎ/h6TV`fb3?#_ܡ%@kJ{9mۡ֠!;i)wR}yXxywoW=&KHcіXbdMz2\sѬ ?}xc뻶4=;vK&J BK'cӁ~TVvMWnK ԷL)j$uGgNW22YdO 1z{0yXB]-nff \6N"qbm Ү^E~+_D5R7~xX#TGA1 .gҩUhyX–^g$o xJ(Ewlyl!2#\x_b ُһ^G 3e]ta>zE A&8zgR}׾am q46xהhƃKLnzXi}/'ݽ8F]vzcҙ)V4"ܡ*rJt^k]ZA tYvMxDi| kNl8\J~x}ፔ|]̪zm( 2 6a.sCS.}H+ 7FB>juG%ݦm[pR4&鐮ŶҮeQzi61$ r,T }I\SUBznjjeKs NiOB6:hf8|{1`n!7np&(r6uE %Kyl7щ2RFe""`TXg>~;1;p1tNnzcRA h!lmyWKBiVV!ގTE0J%=69eX4SB5hX"ac\?.+\rbc8)t]>7Mv(md\ Xm歊tIaȸ<n85V**{a~MJrx&0'HZWAWi=y ȭ 8 `/h-9܌> Q?3I*&R\qxa1+MĩiC缘dMmxמ a+LșF։IOO9f)0X~FXD7%Y.&8 cqV<51QN8%tlI2)ŕF/YFL dnFI1VGrh= A*BZ6& |&Dgc(L'|8$ ZZ#NUXm :(bVWZdUv;`H/CyK?YN9!!1pFֻ`n}% hVQMUNirv4MY ;b53910Vln͊FTnJ~UNk6D>+#/Ӟ ~G.|zٍpɺ#lE aO wuKر  ͗o b{Ws&R O܄R'e2d6÷ζFvaOĠytߑd`6hJ( -o@l&e;͑-X9VFZ$L{1bݩºQX9t ϱ|KfOBm2L/~HjsUڳf@^B—͋)'BԧGdttLpFdƷaٺvXnЅb|Lׄx&{Z! 0b0YmFG{;9yQH)9Y]pŢE0+]gnqpU1s$CWGHwu`q[|ans{?-3\/$ |2QJk-?+za=@i׹ It:VFCXA [Ifwmn'qKE۲$4cKeRXwM#JC:A_nXʩWmF*AtQv6} /(轃yZ NOC;=3 ;S}3CơC{/S{M$J$v9<[E#f!ǚػOmaﱋ@ O'݋{JVKҡ\uveӫ$.|c!AΈܨ4I~>lWkr e_ɠloԠ#Bbz$$-<-RfWSӞ-v@4I0,R+^U -FY.H\>#NL+( ni=i BoqĀ>Hbht;juȇ+v*MPC** %Y,(qSą[ exFXx>nZSqɂT.7;Z>8X+.J<,z4&K*!8N6єҧXN% JgdqY 7cyV*n}ۥ։?/3ѐEdL1Oԥh8)nY5:iRb<ߥ\RثelԪRlQ>xj֝OqF@ 9Cmlu<,[ },{TF${RtvMn@qL>x}gmŕ(; 7cWY:z>SsچI[<9NP si'[6Ty Z/X]Rgi/D ;_5r,:0K)-#dwI' 9B ;l$;?8J/PBBd hz[V[87 p5w rz_?bIrY[_y3d,RIw_J9pxw@{x[nx; qP|{''vQ@;b>aLDkki9BrI >ΡKdXf ![vW#u(MJ`F- i )mx2b!~( ޺p5z3ؚ,m BsҊk! RCѢ!%o9+9N%`*B'FKjE*#^1ZO#Ђ؝0/"4K1{ -3Ӭx[6np'))?&0%>.XϽ@[Ƨ :8'vw-` 0.ѶG<6BkOPFGzy~^dJkGmN w-OCίF =eztR#){a,e@q%}qyZ3W@]k ;HCW`cwlBsM[\(aĆwPR] СUwN=Ms*4X5Wj)Ud,Wz&kc5?u`YK qi5u=?*0FtY+@_]cf,Pk/j@uOA6/NRQ5=[#腻z?3K;Q 5J*E#6MD֘=Yiwҩasw CH5@"xm`v h)-;ZUO(|ouW Tl(Qc4@#gkvnJbf?/#67%cӆL׽՚tv q]iL'鑼S4KtgY"V!ݙ DԜFh\k'm?_'ιi6gzY\7_L⺹? fUYGf8AQC2>ЪBͱ$Omrx(wyu9S _8Dw^(>zNf=^?E-_z%j-cm njc;G=E!ͺܶ:aCs4DQeB7ձy.[k-~߻Rfv3[[ED6kp-2R2p`֐AP<׻%0L B_GL~ P\ ^|+ # [.FI|8H֭S;_̶).\uɬ'֪{FaSo{=:ɏO*Õ|돍rkMN0䖵g< K pnxfPp vX]ʰG!ER3aЙpWi}ƈs?\h@$"6}| e_yJXU1 48?2< C ڙeL;2exse9/W@Q,Yr6Sկ:,Z*gL>R(;+-4U(ykWyuLf2A_=@`7~έ3q 2YLbE&\a:$zB@z4blT v愇WE-6 =eH-b :YKX=r} \9^o[OvDu7ѶLwC4Use0 "aUD X1u9N)o,.KRnBUĦz ס=* Ao䚺L&^0>:/x}&AO[q3#&"YkH5A*s6L& m)~x.D4#$QtyqcKzuSAh/W2F{AVgfGr'#g ֆjNHh|j+ڊ2BA,KYl[6ow$vi\Jjk!b+B2lOSH EʞIt֜zިA7ahbR\76A2"8} umPa5.=$0k; (Py/o՜ G,tlf 1Z^ČXj` ު.Z0~y^;\>NO߰8dbA}Ne81"e]=ܹ.#j~K--m~ !qs[ČQd l~@6- pS͈[.Zy3D[?uهY]6]0$HPzCx?WI0EB^%{Dt4#= DҳԪ}DXb 7~9T&)k rB%hߝ&Qֲ.CAHd9W8X ޒan^żmٙ.1[`Hv6 8Ӏ{;?)[e>Ab['Q_qzY紗;IZ  NO&8WK*vL:fT ĕӵ #db~kjung6b !'*Wē&)穷Z+2 [>zA\(.V <ՎJ i"bXGb\vLXPjT7]N|..I5lCrNXPOss"h$k_1#eUZRW)5,A5˺JlWM7lS'Y '.ۚk%eYWW(s|[{9"yww?Ohr̥K͌H4ɩ/3;9"V8C+Дw|K!G] 071T3)T(HV<1+ <6g˗% T Ň8=w}Ժtm"+ޘ0TtTuqMײԘACV}Ttش\VZ؅nCHaXBC`aeBu ݈D~^&$N ^UWlqn4noyɯz xcd"wu%9|k40jyD+ hM3!! Y[WC:;ez*$9!=7RJ6ɳ2ʬE+JJHh EG "V_FM޺IaIsjBK!bXWU%SՉ\a&`u=ExUENgóܓFW2gj_T8.A_F:}yL YLe)&wwpjEވvE'3 ߶D8/Z_.#\߿[ˡCqN $-s*LeʸEU Bb&?NsDƞ.O8ehKEYzFfeW-8.V0m"G[>d~;ltrHj-Q{҃vjfOɎ^l<'I>#$<>ر"~^Db?W'Py՜g1E `VP?P5̈:?zbs 9*g>co Lz]= xnHJ96S .SX}wip``+3Y2X $ }$Ay`!a^UK_4ncf5a^[cf4ݳ̵uٹQ I}a+$<+[!/vx2_hiU±AG󏦽Q[g T w_FCcAlvRm:NJ8IdWj":êceS̥&}I*[oϠIܧ刢ϻ~8Ux4u[HjM1!A6gf各||)DmQ@OzP"t+(u=81~R-.\vւcpک_ryR#ݾK2ߋT7p&Kq1 /kTR_W GLҸ 4\c=* LFև.{7,_?tP_'I' F <UvXqFXX2 ,u1߻!^' f#`V ݎgU HƨeV48NBhWWX"OSaj*Y%6s<1F)-5 tNmdp1ľ:n'4I2o*/KnD ^G4r d!nC:8∡ 9BJGAFG,hy!9pԩS}^yL8Kt(@z/$r3r$>?sӗ7M\qp:uzT` zmAk-$koŝjOVEymm~p$4<~gל!7g \!R09}xs >1²$eMbf?Űˬq*;2rRt#(o5bL;+21.ezگ~c4W|ty3.e"w%ẕ)32G\z6\=2uҁnC.%!yZ%ݚ 4mnKUy8 iV~ŵtsҿp jGXkh4dΤ1V|P5^@]; ,ުrﳅ9TeX}\09MĈ6D}/Mz1=-2H/dq^xZD?g&B2mggMRRN'ד*a8cvyYve|i8R(_Bg˝p [ǟMy1]X&؄6 Ǧ`:xr=eAHCx)nLc1*YС?& 0;$&\unM BL״Ъg|&Զ^Y|c cKfW30CXdRJg93ʵsq>5o?ƬrY s2ֶ LX/R ,(9`/UP7d0vB1v[RRDdoslJ'"e2W"VIpVi=5<ALKe|zIqيJ+CHυ+S Y~ߗ:8!ӬrmzX0_b䑠(K>+M8QF-&%eN2P4YOF$UKʫEn[Um̘Lw5 dzFh3 h5V'ZR~lQ'25 $muc.Yj=w\fé&)ԥVF0lJvDJq--ui-=n9 !]}1LQ¡&h@UMOnT`ـ@퟈&V?˗LX6g:62:|@(Yh!F@]TXAQ1iMgJ ۑ$U uq[@ 6Ji+R aWyUጡuM_bG"iT"۷LЦX&_k:7m ~Ik6f#>4mUjR9Q/, f✴ɦXMR:m$\]^Zb}K P:.a]4\jԚ*]Y2vfIZtJچ/ϥm7VͮL .4qD>Sն8Ȍb~ q Y%!*g @}SԄL#ƃ~/e0םnrk[vR'I\gjvj9LOh$'9 "7ѠTH# `)ixQ.,; ;w_z֛k#_ t_YV@pT, #A>JjjEٹGbcܬiYlQ;qٻ<(%9z_Xqx46ױngqȈu') 4Ť$p¯.)tXdTji,St K/ٝlh>ӓiqBIVx]!*s6"<~xX(Fxz"8Fԅh_^鴨g"U4$ |3PY4|&ޥqRȇ^ kqe542 {#Gf4XF& 6r`y ̐dpڔjvUS;}{Gjl{ޔ(~+# A/S}qTH2NRѣIb{gSIuT)7]dߡ-BVaE#qq(ScG/22spo{]`\d$kyc!|4 b"XR{E\+IӏN%C "2x;lBMfV3GhPʊAN2Gr,m"i[ms{+KG첒x6kIu=՝ݥSC"h@5Hn5ŷŧAl$BazCV5 ~ΨjR`hLtFˆ8D`sn̝yeĀI7]F@6tHϪDXE$)3&G2\)+t%9Cj_i>((%BֆihG|*bPi]8t2/GOCTgO寧_[_~7҂`Қa#P*& Xl jt?*]@A,lhBHܝ3N#Ê)*),;mnl"h1{=WIL%Q#~2= - Q!H-'zJJ PH;_E ?Q|2+zyU^RctNNeBP[n)OZ~޹(Ym2 J;-XTAĖjE/󂡾Gs˱&Gb+~؅U^m TwXasAFi IO4nserAaSw\Z#aAKr%G❷{+o0˷H*x VA:BƍC8AȒKtҍd nZ:oGCnnbl}$((  L^gؕQ?"?ή8CZ3.F rDOZ Ϸj cK6|rh8OA8BM7aЎP21cԯu!a[CC|+ _ՓEјt:W8Լ$CB "|1'On( .D%ͤĶ eQ-7Ɣ]s3͝~`^f,kKz'O[OL#j'U,Q!>8[]CUZzk߾XrzEkqo2DD j6gzc3kVȦȮh#[2ѰzAdt/xpc.u*CvDV;UV},9lɡmP|֫+ D ohq;ITF#I[.yƻNDwo{'EPx7E/0 kȬh7yMHbBnm%jW(zAX=ѽk-qc*&݇1An AHl.Gm(rWqe7Z}e|48b0@JϪۡmaTYԞZi~ sabl~+2#c *ᤪzSCf<1vicB.Lxy "p~^y$!roPq\U`#Q-g+H##egDIv{( EU75S:hP*RFQǹ4gƟPrR 5+]֘ai,?4)à!ˮV'LHr 3dd #HP@P&0f2@VlbJdo+H-SI|ċ[;B* s0Qm#@#J⟦{衿-Tj&+L&З0{8t w5@oEKZ)&IXWIòJn x:Rۡ8TK3\Pv_򓴶FoMTOUrd fÒZ=TdKf%i"Y1zxdb A("LeùsWE2+,iO_q*5]vnr^(Daz +h8pd{Oor2)y8&HrnYE+1__~mX;*sޟ;*E,5㴪l*+"O +Y7j_κ)fphK WN{f&N?t_zFyZ_#|J$P#$6löaIMXr4O T᪥W#VWPsTdKT@bCGQvIHpITI6;Mw=%oaԻ ,Ё6չ14-i+f o"jo6Ӌ܃B%z=\m elRd⮁[)\uUH<"Wȕs;eհ`f;ȨPmN25mȭ K*t-q,tXOv#Zu; lQG(o|6s;gE;Uh&Ӥž22YfyVW" _wX=vd9wͽ{~ý䤠@nW"Iɿn'v`W J(=L929 DI3b$ԇۇif dJ#~&ʥ oJz OLy 2g也iT{˗OϷ6ְ v.8-5c 1IP3w#̮YšНmYXg\Y^]XET@x4"q1oؾiI)xP_P9Ih>4-Cx-. +4bo kPW >%:FOW@!9Iےājϒ|iz[5+2UP?u:HU·$` 7cwYZ1O¤pނIrw rD=Xᨍ48}GK Xg8n*ەp3n$QYENÛmkRat݃rcm˱4GxHnuGw^FUS?wy>xFhOݍkUɋϳѡ@kk44NS?g4P\ޥU,L|F"E SҹP}$OpR@8|Lg_ݷ뵠@Wj}|5&Z 4-5Iۍ&o|"GWRO2|/PI㓧04 e(l>fhAS-ɻx ](% P=_`y3/- KdQ.,F|zJo%D vi|cjdHZ(JT=7]ypN9yS%^Ds]5`" &] > ٢\j c}y9sh.g2L~{ }q8y 敀Z謄L$J-~Usע?Ypz\22DECapżq$=]%{x?%K6mYatݟm!8 ]bmmy\lD7wưZ\i^\Z+_Iġ+Sܖx+T3H+mƬ:ܽYZ#z.:&zuD{o k"h3Q,h|$FUa4+XWI |К}XhEc[vs!JWo~Vė4N1 S] ͋<BIs(CW;);p\IPAOIOV`PIQQw\e1f4:yБ;Zvj`?ʶH%GJ+F%E40uI$kr-fQ(N+SH[9}?6 \o`|#wMO"p3N܈˽2sPc~ƥѝsƸ}|F#7ެ'=t> ' 5uX *eMOnX'5)uYWк=Ps Lmv _80qB@Y߉ @˒6+ .X^5u|W$&A/=SYd<'Xxw-sFgnӚ`kӬwiE{ \wN3jF٫?e7*4BٰQD|QZ@X=Y&Vpu1 X3_IJ1-!R]jh PXz)#w5pa,@t1X? :0qYyܼӮ Y`_Ҋ^#ߣ*<{C\/t͑ѓp{.XX(ꮱw>/b %i`P,->rFdF oи8Ե]hv͐S)$zeՓ꜂^(Fmz|_Hx1/rQL۳<{~ץKsm ߋMB_y :=IY~@+;{sI9s{GJ9ER_ qlԺ6.XֻzKij>Vz8t8 vm@Rя=><1"m\>\.=v]_^@ 7c$ksV䝚ßB F=%K &*_tͽH0W2>m-ji }‚Drq\"ݑfڭl'~hv(nUr1Inr[}"><1/nډ/ @3t%mNq$R@jh rU|!;'7L$N 3?*8 <+T=ea4רMk`ë)l1Ӗ"gb[@A =쳎#Ċv-\d5 SQN p+֑/鑕0SaJ(aZ *jhѡ>} ;ki1]$еZq mu-Ij%lp c-ZyJSkƌi R sdzBBt!Su[c9_t qVϏ"5g*BddVl#_jZ;Et[OX@~LCki:GwW /8l8Hq,ƕ(qtC+5F"npd_+VDc>ˆȤVv1'iuäXﭥe7\fw Ǫ<9m=ݺ7*¹Pȩ? 'mn47*'uŪ}-&Mmq3٘z!Qz5e0?lXkcxU cw)d71{ vcޖ>?0iN0B/GJGɳ$MRHֲnBմ'?dإMٱ*f8|Q_JrT6mij`b0-Шj0ͷ`WF%˹ѸBgH,f޶jL49Zz[{?1Xܢ<`mWwO2|I˽ۇЛC]f#R.`x~dSq3uWWEYʨ5eV+oa&;ozo .mZ1ܼ,'$m9&JoN-c4:L=iQ[?[AǤ=6ԚfA^zEH2o*b 1bY=< ʃA2^x5)k%@%eӬ`-)>sԠWa3 *}(F'` UUhp/h6xhwYTD2_,bo* !B h4𒦙^;ɿ^]жtцrviguxHEKgH,=[.gMqzRze?{ϷSS;In t^qnIh5 U;ׂ!ytGImPK4 R:|e"yj7 +hW2;ikYT(򪥙e9)Fϼ4 C"Wş~NN~q,&ӇĪJ5Es󩱙3r48rd:RaLkoY}7Jw򥽪o6 Yj)]Wvhψ^P~4TZr#C SHzi&aiΐʚUvrę)p߀mAKNZ7;uz _Ghӧ[9FF “V?[i *(oLY2SEˈLxYm_ R :gZ#7)"3ҝ1$7 =ZR'2:e]GBKǀ~8'JS5ԙѕŲ}Q(S)= JToN_^qػrT^W"ѷ{wdE*;cx n%3 ope`~ rHRxꊍv?~`1Vx?aF"ɵ! bI<8c6u"dtC^%DM n|N6_tAqcN#? Edv@U|kTƢNTg\4%RVF0 9s^_ =<]![ r<~ G](D{(w@vhyb,pVWG4t[sM@B]Tߜ҈8y( ]Jk>;i *6E/ɨ8[ڥ2 a|l}J;Mܢqg@H˒Z,?N!;,f.#4/ w(gwYB Ʋ>ueJK17GJ =3OIKok 4^wM8R O4^:$)e"l=}¿IVuzL諍eg|gAAw":฻eې~ʯ9S)1%Lr "=3zi/s$2.;fP5f1Fh+NO}Jh9=:1nÃ>@tS/X;.6 SŤu3^BzqN$EtTqԁuQ3_}7)Mlv6O<.Mer3bܭwсl v5iN%7^nv*{9Ѥ岝yh}K^,D|u)bZxop] HaV(Ջ]P$}8k$฀ڕ__e,3a:p+'Bs.ߋ@_RUc,uGYMXaVָ%9- 3?O/"K;i,'u[^=KKc G0`Az.~A VE^]z BѮ9~/EAr]lxM6s"~%d\9at@ǺԽ-ݮhi[p<θQA>gK|xQB/ kZSp--ZzRPT#ცjD牕3%BႍR:-ȏ4ǃDd4AESPt]DvkCkyPI5#a@;Әˁhd V`(lgaD7d it2P|5YS jtҸK%(((dwY)>o>-lj2eBeoz PcLv*҈rRM3hxoӼk0y?8,K bZrah J+PYr vC[]=DvVY<ސ:6z9IF]Qz8Q- Wy*{չF1."_XcV ]awZ'CIi?Bni@3j@$͓V/Q5Xsaˍ_?Tgdy@@"%ބ! 4V`MTnPV2T/jLR7冹u>u0 @#Mчk[!oKQdZy>V%vVYYB~B`k6+b"tB۩<úcO絺fID؜ԷG2bkDu6,5OQ;֎{(NLSÜ.gcH˔a[?$;:UæAZ#5Z ]{sWdtzGF>] u47ŕw2JyW S12Ė++szY01-BLWF!ё>ljF~ypsDyTFgʉf5dd6&X:27JK&[v)G^#{(Upk͚9O6k׏~H4>038h T0ΈK^GGDW"VmR+C_/Ll@q9P"L4L1pcnxg:)KI}zqzoVVerɐ?('mƬK˖jJ2v/oIG)cThu5l߃  iC ywWnʹ8IA{|a.p?` P {/ircf<״%v\ȕ3;z@˂Yc ~Z} af5 | 9rsٺֳ+rΠҁ1u妛i~-V- W:k5_RPaŕN05yӥ\ x5=|7PLj!$yχe5j+"gYzU/{u$4^V;0gtSB1:9}<×) e,(ywݧD,])M%Jo-epǟ}a^$\Ubv(g 07ů5r So7hԗRFÐees$6 'Nl>_2k@nDvsa!N4:;.Y ",1CR+4Y&&c/)>VKD)IjBA<6g 3aIDJSJZkJ >C4xkN Σx-XX“$m jye=|^n M3O1{g'l^)|b F1}f gIK% Т[ ~wU'n 71KgP+ɟs-NLG"GhL$]̏c\/elgmb^10i&rI/\4Q7 ,pa'iyΚ=c#>0l!iBClɰo:?ELo6GZ@[JVWVrB*L}'t;#&M+"aN@Sd0ڢKa^֘?=r*ʛBous4kjy0 Vih+,2 |48-::}etvD\l"|t *v(ixxtt. JmϗE䫖[[Dc~,76$r8 `QJ׹gmI|8rNZ9ߔ q+`&Ef}mV63rKJsX%pɢHHP0ZHc\XhK^8fsU 7f7b|TvЇ6㔠(|Q.]VYfjId>A5"2Et3zeiۜ0N;JO;V@MweRLQ=JDU'Ce ¥gt;6&&+ FR V}Fh늣:ev]ڗGd_iwx5\0#7~Uyqbo40(߲w)*e+/P0vͥud A6%mzi۱))pqEe˖H`ȰjBՕdW&6Pc1-+, d -:\ۨ+Un/Jgі +v{B kpq'/OEK\WxҐؤ[#S펪jyF+ tH~"i$Ôp۽ДRv0+3ϋZppW]9mpGS(|bxJ.srT 5鋜Mi)*RD-T̰-c4ze#B|iKô!jDYY-(NAmu7Ǩ2ӌhsۂE|'1Y3s)F󼇒b4mlWmNr"Ild=`%`ɾ ӬAOƮh$;i+Vlm Ts߰"gD~ {ˌ֗A YDg`*NAW"Jp4Kt.DoBҹO6? xIqW^9.xzI^57`PK@WFV^a8V]/y6t7G݄_F.<~Qߤl#.NEe++?wq7D1BI! ő_dCcqOqU,'06_ɷ#Uڀ_5cQ?*^N rw=X}v͍y݄:rʠdz j Xi2A&x\!!}N[?'Bf@ x%Кӻjbjk>x]{pNx2<w)fl'ʞ5[toBVv]@~K:޹1:YO>@ԋ~yKGI@1xGx21 (#/\NdհܐWI̦Z;R7\o.+BmigUD8"u>%B)hUN'܅=2[+!Q(A[{#rcbU7/pn]ۍᕻ$,)(F) 2 Fŕ Ũ~GEЈq,y' H9:5$~NJw{msdLs;w &%QxE_EcjUga?H0 wzrRI v4EW'3{Y]ceGpgfuNÓ59YjjIKRQ(Xh}< XYnoK;LInJj.qau-NcᚉQTQ*;aĴ;Q 6Qa@H~Hy߱SB:,q]'Ml Gv#M0+a3F?RľYLWL$5 u~Rq'Q,2! Q4ey9L nDž3ey[#䅑wNg7N4O |!.-˒=fHƻN>S |[ڮ2/0A&{[Pr@RY2TMՆI9oe^7KVEfi SrĤq,'Xa2B5*mS=jrͰ+<ص ~|6sׁ [oF,l5LjHŷzTciVL^)[! xzW9Ҫ4Y`&dOMfX'z}V'=ў"6BjJFlu@2*uk$+}lN1/WoY`TsVֲelj?dA r2/u-az muzqs|-p65{ĵh_X-*%*Pŕ0D@Wq߂]eaJr6$:لڅs$-] XjML6T`>1:Z6V6P tv~2Re}mǼ́%C]Ռ[X沦`QQhȧfr%i-Y=4n.P\k zNF鳁3qN\|f:U7obWHĪ++,(ύ M<'uߓ>"6JWKrfۓ0G6wi$縷BY-~f#,(E:Б 9:[_fh`:3­ʗD":3N4!NPgpOR\E̯Gʨ1Ntd TTWh1O5͖1?t"mCіDwKduuVˑ˄^ tSй_-FZ}J0;]C8028o NFt@>' B-RO'@cdT$_ggE 70ßZ~AҜl0- Vnq"\[izсvkX3IȹX߸SAg#JU L AGd̃BZlX%sQ/]llRho^/ V;&߂!\񪬘|@ׄbcJIz6Ld*$X[e]/m)(*ޭ}MIk~-gΧLHkMKݣc7,ڐ*WoUg@'!폟cz6=Rt.,f>ݻ=Á$G#LxCr6i *XF- yASw5F~#`J0\ _ &Ιo//ŢC5]\[!1C_wU }#1$j`ArQ4C\Dź - W Vame'na Ň& \(Yn0ʼn8Q 4 }5f.Vخ"HiE헷I4]fGc@E8I! Ŧ7gV* -kh2X 4X*vq\U\ܻ(G I=0 ]rU:gPK}-~b{dC7Wf_FRI!̎\qojqExY_xWSi#e zo8ߏLXY>` J|q0N}`O,-izA̙i zL Yz9Y[R[+s=UVP'.Е, 8DMѢ$D&K2s9ku7 ݮcaQ0}8GeJ=TQ qF]|Y^2rƘԅcs ( BurJٝX6U#nE ݽwb\*wu(Bbk#C!~/٦dϪk}SϢQҮ.da&B,8Jd8A絫 3efWzdtk=KRLAf0+ڗO[Z4Cԗpp)0CzhOe#7M^lIcN<'Bkr) 7ɎKJ&,zCXʹ/M p"'ѿ|Ms{9BM]Duݷ_™̧khY=錀;j:6WL)6HJΏ\q 570(s†ySVv(17{LD$X7j&4Rmt/Y߸V0Z׺`5Ca0>xqUsdXFKqlRzUrMe w^ZA +D3"{mSd8]z7gt*|  l Zgzՙh^gƣ+E~j?Z֭Ө|k찀;/`udt_Z/"4OkH1@ L]e\8%bs+]n%ΓRt9&i3Pg>?2\g]c1C2p٬Q8}2 9yXŁ!ԩWDW#O-uPf޽|lx^u|ݕ_xϊ&B<1v|!Ok&CH,2hT \mw Aժ%зQ!ƓLz]#aq]AyK(u 'ra т/Ke B]&m .ũ(kߒt[z{&׬mxmquawEt =6"AR74GPF}1IoKH:2 "á ѣǕk-zX˞BP1rڤ@qi]Ҁ/Ot0/WjY/G)Ad˜ÂAj0)u紒jK[>ٵn.d̡nhT>/Y[~X?֊ !CAưUv_c )cwTըnK7'hy{9O}"_Bl5a$D 5bb[JU'Ny৫"P> й0&%t+hM8K HR 1W|bM-V~XQy.f$u˞Լ\`_x:iqw7z"dUDwߡ+6ƣA(Gx"?y@T[ze\ z'Ce@֒(PQx;*`0C!n ~jwIM]!&=Hln5--"wI!*uxlِ(P7,.9pzo(\|=1MZ˦ c/+{rݾY<V?Lxͅ]Ўܭ 6kتZ 4ɦt砉éϓi|v8N ɇ)'諵:鞔lXˀI^@XV宄󟱭j%ҢZD=j.hQ'N HY2T OGdY%ML6ȜԾꓮo_뗽~E@/%98(]rCgc YPQOZ:Pw8JŠ0_eHq9,T;+ԢtΒU]ҍAl z)vJ:lb6_ #Ze|C]M)ICyiVYf 4x"Ooo/ʘ!hŒB!8,O1KK;{& Q9djqƚOl9 ~y©}K.'ʎ#LQ,S: 6m5>]0-bMG5^?~'j"76lJ,\V%ь ቅ;AϬ\%"rY3}_Dwc5:YbIAPy01yap: IY\8j('դ1=Sg`b`J[cf!nwYɎ ڂa5z^S4w*QUߺ5e롽_!C$P;3d©Peݽk)!0ݩ"(A02s{EwYX'ic ]UFᲴxLqtr!P1Yޠ2aKF`2r3uШWoؼYⰑN ZH2yXLt|l^Bp'(1O(05'[{@ȥcvL|T2P[WdUK%ӴxxpxN 1G!A+EwM$2h ꆡXƦN跧o%FWK/c`j?~H'\UY5Ih? `+W(YaMݬnOGAW BEP +/_1 go뇦5 ^/LOS2+ܨpo?zbŻ!L0TV9<[+A~H #D>jyD&puĪun%A][GhH Tmj\ 3 Vu8zgR@ ꩗J m˞%&S٪z*֎ղ8Q]TA-m٘܎Mv~)ϟͣ1Ʉ\m}Vo{O; %Dƅ>EGҡf#m?թmD|wŤ/乊z/L-29_бvHGT~ $\L̉&PPgKOG2Ŧ| d@!3°*@[GicPOV(k off>ſ[r[CIk/@MPկ`0|4J}}"xiX=Nxyl %\)|Lc!D4lB^ޝ?~4R}Ij4a*}EN~և7h-6j'Xr:!>*Ӷ`9.% Rn;PQL|}q5CHU2m,6WWԐϢi2f@a)M9-q_KQ%e2Ӊ6Q21``ϵSU}Ϝ+~,AƐ9 ?_䭠HKwk] aL`"_^$h*P% s׹*=b&g[o8~5d&=r-~?a=j;wBeP7ހFpaA<ꉑ )Cl@i2vxTX8,t#`?N7:lD['C'::Le4, Q:`ǨByㆃRX/F3u2L Uբ_, dfB)13}\K,lbdyL o+|s-e } M&y\2I(Za|sDnq\%EɯRHqB5 /WGz3NJ_[[-5ۮ4G_1{,=x sb_Dn0 5kPsק ^( 5]m >@L=uXVMt% #Mh Ken@Rˇ СS.i1͈DT9Q/ޱRM'5=b`& SAY"3uhinT6Jx@VH~8@q+hM(Uk2 Zhb[&kYe0Wٖ5썕)n#rYj .T EAPD&Jf48LwW#9ayy8Qq.fSJ5ȹ6څ=7"HJm\N?[Iԅ_GΠèM{Owsy U^r=rwVijۅ^ {:Çǚ~G3 >{zRaq=vă926L}/Nif ݭ <]62Hw)%{g5/^`/~Z8Dʟ6Zp-aoTuQn9zf^#ǀ)N}tCCdf]7IJ=y. *ةqwO& 4FS+񯎡"LMJZu#pLژ9ʑ~S:IǓufم-yJۨR*`{e{_`"ͦ&+!V[ &s>ؙy3%d` d9|"{Lx VhNa \7V(U;=q<ӃNRdq`.Jf;wS^,h:{l8U_aWBvfkb{J*~p0io$Cta;RH* >xJvMgۅU~ kkA(ȝ/3qlL⵳GlRN֔h%RV&Csyʕ=[2eLIC7aZ(̼42^)Y/Zhsfkw"Rb5Vl=GHBk$ڧכD0'KYW~R:)|xa/4bA.ԩKy2{v>ndҡ呂j=+~H<@,|R .D-6cbś8ToI$UB'.;I'&Dc豐$3M/+!ENSmH߄X ^E9K`r"vB-GB  K0^8/mx  $0jXL"NŪaAZBqEznv:RƯ|{18OfbBr3uN<ǮdR9^eAL~7z9 k${7@8,^3SrS#cEtPxMjeG'|P5WȧF|*9 gi&s&%CӰ=8j*=ܮ|^ -y˼4*L&'Dnɫ\'} H9~p!\AXd d=bOmθ"\Gjգs!W.1K쯊ke : I y,j*GpֿwY^@meM) SRf:.*x-hp!\a/y;[o{j,Kx@fTVwʬ@">̌,CK컂9: B+xxzs9D$!TBg֪t0<n۰ULmyPnRkhB;bGH$JsjZVaxk}+(׏Rm@WןyeZq|$K >-'-&e{ͥv* b8"yZ)`k м#W 5zg޽"ם]P9m9s< %uꙮv0~O7cbߝ]\ |zGRif5% tc,}Y!Øqqnd !VL ԁePz^}5ŅQLAg6c1UpxoZ7tr 1M1XEU Z8vU2.dc۵[KAŵr1K3?WSiʍ\/0XX[hq(a3eRK WZc6@=ݙwp8ֹ6n лbyA+V;dY JN|gO{TK^ݼ5s ,ݺHԭ|+2''_>rRCavc[=zz\jD@IboZJnҥzjfLHPY-RTޗNqnutmh 9Apgv]GWvk!˲kNjx\VlV0$3X1A)&Fs97̬}^"3Qe#Ed1hv8}ZAϲػ^d:Y0!+fzǠu 5T|XܔGn̹Ζ0a=d 0 k84p.8+65͑9ahhzBkLe)ɩEa+9O{W4*ZQv&p9%%RGwfd:9fC:s#ncj5nPmN-{Ld|eeV ?x. M}Ԫ'EGwsVztIzVrІ׽Reħ^EHfc$Yg+Z 13I<I!7OY'ߛbPGy<*,G*.lUҤz4 kF[*w@ ޚu#6g =20f_}u 8L)62T5<;ϱ2 IKoK3!]w=^ISmI6ZTm{򫭌Rg$6Le/^ U1o7Aȶ{<`](zn/u/k k^-r(q2<1Ltk8?$YBzOX{̷f-/Y0 *8|%2還P+vݶ^)B/U/i"$..w@ǰ1 DE MJ<6qh&=]v/&؇#Nw:'Vh2X][GÖJGOL-KG7plJ迬tAY6;KSwt3#p sh<WGO-hrz"pBe6%v3Y EJdaO]HRɥ)NmTSOX'nf̀]Hǔ E5@_ 0' ez&B,!׾W:}gMcq<ǖ3 5*t_i nGsH?&Ӟ%ԍ5cW*-W?(XKFF3a9e-{C\ =d8#L+kO#pM*go<vnSlU=H|o囱zd.-XR4*LjZ_*ӄYM" ϘlC 4fM I%WnD&˻"I oaS>= "KdG.ZTFiHI56"su/'/xإp /Ku;۹ 5xqErS! %X7E_gC0S%Fg'"SMrq}ğvυj!o t:IO%Gԑq]]ؠx{cY7KU ~B|j9x MžtE4XXrN\ 3 ~R L)PtQQ4F-?g_Ϗ\IQ>ZXڌPv 6=t뮝kdr@ $1faNE7 QeyRz=8pyW=jbSK?3SdVJN+e嬹9F:+2ޮ]N'*(vy)pIZB* "LN$q% FYnDp-̊=*z#EA<>ԭPk;: ЏM9utýjDvDžy-[x*1hP.q~Wyf*{۾2ł 71UmQ$uVUIuh䞣x}:V[יQJvi6S7 րsg,|HيJ5Ud lוT y,R͵n*<>ZDT:*OE[Y @e-W3P g,}ץ\)]# 5`Td5򧅷OKVhWYʨ]sfM8fy$b7f%y.ު*6W娖?˚b߼ig-Gd\Պ٦<ҷ2w?Zdtw\C']V}ȊKIE{boe@ޯPNqZ٫TȽJ.NJ=rĴZ`bߦ YI7yp Z`ؤߒ"X}v׹ze^."KizN#S-]tH$k~g7e:FZ uٳk 0Ll4{K=w}D: IZuצ?1:ѩfif C fd%cxbuA,:.Bl+ Z($pi/9~Ӻjg.P3 FIXT6EհZ7?e;( ]g~S"aѲ;=zؑS12!֣KN+2g\{[xd[=b$L}lpEXxY I̷fu%FRwcymJhAߨbE?,4 93v֢ZR)k>qSUIj2Țw_$??M0 bqYLǨUEs0;  k, (}t2lAL=Ii{e->XPzJ[>`zaS-_k34tg8獿mPS#c{,lgT9;oG}x2}yPɝ,FZ{յͽIZ/|T=PG<Ջ1^x* (jxA |QE[~V>M'1xIiI~MՕnI(.X:0z_s6@ g桇]X*:ȸk]禡sZCOɕT!|jH'fjBL?7ѿ˵nWoA;WFG:^؟TJ*R)HhOQ`:y.Ƞ fѻyߜP0[W% E29ʃ#8˾F"q's ;`h/Y>ScFt |zkJL8Ef:Yk|\M2C>P0)/< Uٷ*Q2G7 +.` jS}^po!ҠG,Ei!6}gB!])Uؾ!K,k!G MjU|_558LNW۬ug$:7VWG؊V}y'\P#o\qPKځ9>M`'|s pX|6ro(wnT(!Q&D" y*l1[}(l| 2pTvV4hwV˨%uǠ$_h>4L}è kc>[ʨ1n'Zay29sWM8IPeLڝT@뿇E>ʷyaDY,CYZ ͳG]|}A i΅!_%ں$iޚ5oaVijdEE+ yY1g@%TEHW*D'rWMz} Px3Zڿ3g}>W=-Gˡ-'vÄ?نB5xS-CCQ\Yj?ܧ2:i! xQ^-, дOTu+b}Fy$!zm8].<"+vy X]Xnp[ \pj =8LdZN}_e1CiS:.^b.V׭Qx5 t"B1^5?8~ҰA8*uxf* ER55V<))e@Y턳K/ ]NٿZnK ~-2qH/ҙ,P'ZDHr&sGeSO%#Jp9ߞ; Zˉj"<'\k'cר*], a&9 Hh,KE2-1z1$Ҩ  M"y[24NmTy3}Mi1BGjY7{;vc ǻ =IQ)ah\FSs6wnm!$sȈz܍,!Ӈ<p'W/:7?Ccd# y]dolH0eFQunҶY+p/U ZCYkӽ]';J>0/&(8+~O :ڇt:^r L,Wp^LJο0Є%dՎ0 TDeG: g$ p)`^66D)*w1]ycS)&i!2}ߵ'4w,[3 7{fѦ/GŞܥcUZ % ҍ;lnQ9RME07ږ 4bM/IPŀFk@h &m:Ÿ1ʩ$kg$Y,uI$O9Y4p^z"PS;).ȤO2b}C~TT>'n$xֲ-Rq"_fS&}(U]kAj}Ea`TEoN_9rSf͚盺\2S]`,5yL\u~Zp[u VbxʤtTtPKEZd!og9~IKheV.]pm o^ɔdÉM(* tֳnʾlYOÄo ߤWK$F玱SQ"?m3lM6ʕB>j&'0^eP"VDƐqz,!gҿ/k@IQ# d͛0qE\ɒE&ky-n4V(򢵙J^\ڎ1"=#%-|\3ߕkt-R,g-}-, !ۿB׍ڱ",ٯn)9W[%Sa&^/(j +JVAj(K%ݮԤ!H?aj[ 4X/{ڝ|d tK}X ޟ!]fQv.z%>׬^rZҴ)%k'/ R4 ĺZ+`J{7vCxrβ`V*@RtcezR[%0F"M {:k?$ KF,CjtU}cCD\GR .][\+줹]#K f3)a/܃iqB[-t& kA |Ẃ߁WȌv{`$fϸ>M2$j=msMP`cee NV;C5h/bUʨٲy9$a #޻SEOK L}aK~&NEScc6s]Z$ՋŤZB 3y:1!^>q#'ظ[ħʉ`ezԆF 7aaO•X53i&raKYvoh8 jvWc0>Sya!9𐗽iDr8ؑAaLiJX}15'y+ڴŸۛPgk 1tZ-:/T}@Ra|fLeY^y]ʘieBISw kmg<~C i&q?fa1mEi0gH9ւ](j.fM^OU)i+# j@]d5J =܆d{a)-YnC}a|QQ'с[\Q?]k#.= RF;SxiKs@+-e?֤ia'*p~$utlp´Oѿ}XE汈-k.`y&WൈY,|mV?-tC u8TxlR }j(0PSށ"'\rA#1[If F(B. FA婶{SF亠L9ItzƇ8 G'V#fc9׮e |#6U:v.tn370Lke4dΔ ݹ5ֱ\mC5IXNZqdTg k4uGUntmSK6:3CEͣdf(ŝ3u@wǘLӨ;;{c~& ֳ1q>v|Zֽ-)%Ʌn;~e}'bŘ RU-iEڒ^7 t;;C\o]͍znNshl/S帴L r7ER, 1XZN+U,>j O'e fJzʂ̩^yDx#j+=<9[G3 OwYavjzSrX7vc%w,z޳H`B0 !xp/>8s·T0h`?t+Y8.]t 1{U@k7=Ɂ$,[­37W(Gܫ( B Rݿ829hO)FK5Hh ah=y6%iO! NB})"t:s9hxf%C>al,O~a,<9W_kEp sqF,\PQMk$bPF@hM)\H&MrB2[Zl±:(0Xīe?{ v,-Q ڟwxÙ9 R_2+ڕ4ĩo>Q9zr?Cs;ޯNTPDV|l6Ca{SLQ m̨RQse?ҩIr Hp 'D}m"*jK̮Ԉp`ǻvT:LXm`6iK?7)P>5-vFexV6<&P˝k@=ynk  Ыɸ)-6i]IS*\>^a|FȊ}uNd}[8%oz67I{Z('e SA* gx+Bxwݩ+Galܐ-THP{ QlcX>'/?%R8أCyAtRJ ኚS>Hǵ9H&0@W+sV1!Mtr Wh۳iy-!h|p1^\mN$t˨%\I:E#$Zc.5GHbbn?&/Z1aW(qnZƿ.&[N4滅fUA;phr-q*y͑} >逄lsZEΔOEQUDt#x"Vh<YW.a֜k*9HDA bv-PyxPv)$fJmM>JH!l8d̹)"4Oy/HnhpzB{s\_͹[*ʳ .?aoj\x> nGLff Y)=M:>ݱUYۯՑnr>vi}ŕ[W(լL˨PFS׉10E,ŃiczzFҍCawla1 |\8 Bo5.3W[91VLXcM*׈iZ<2Pjס= 8#6_/ZsX-Sx˭=7[V!B\2tv8J:a*k]TF6wYO25bg{gvŏɫo1 CxC֤yҟH5,@ 빢pjiL|A8u:g o\F{欭CjP}*|GZ GFjq[fY'7e7+9ߩC޼r9F.3V=˲DbUєeSW`9Zq@Ӡj r]) "t[֙R:<G:=v5کV7&IsT?049; ' 6,إV\gx6;D3ZU K=Yc6{'f5l|5)?SXG׮%N}${}lS a/ -9G^!4Ot#(+J[sVP'y/r +I}" Y t7n^ƚK>Vh^[7D0#HRKؘy@Mq[}{~d0WIFRi2* 1vf$Ȕt>O5aA/3玮$][Q# xXu"JҥuiJ>vILn92/#Ty:[ͽ"\[xRLFIBI4t˚sOm l9mѡ9*H8VR6k}L6xȢՒ&FЧA`We浸`R)~), ф8C0hg3M?En-oG;+ E*W:+}3cp_õFr(!LV`:Ƭcgbms:Jv ]}W1Bu̓ljp C1T N, gI䰼"W]h![R$Ȳ.t:}YE}d-Fߙ yT`1> ?y&^d^.1CCy OҎ;X9:*Kse`N\&r5s5CTe ,Mm Ǻ Cm,Zk-L2WmjnG ђ\Xw:ъ7ľ^J:z|sQzf@IP)]X6j)q߄B1XOf;?UQ׌Y9BA2.(ch*=H^ 4 yK^p-Qqmb`gm40ȑPfA9B.\ $ o@3K_Au,F#i;C}|,Zea ? ֔N`ޛtvN?SdKzQA^T]SݰP,G׆3>\muEPE jGKy*716B9AuCd~8,cp)j57R$3 V<Z]NA^Oݭ>F^DѤ9`~my(>T5lI{bwm{$CZ`M[uUv_\_UlGCc0M\((g.6ț稑\Q¡?J[*E7pv$jFA#)۽aXp$5瞉4~0+N!7?=uL듌?*eޕy E 0HFg.r-~,dP8/5 1'&)MFNTnpwp'[{{Y-A-FF0A/PeɆG0 &jiӚ71ٖ[d[+4@o]~2Z/Xs8!#RJБ 7]/mQAP"@u9L\ C5tf\8/ed"-NS;Dﬨ[r3ƨЫ Iw51n &fQF-oU N' I {2C)MLZ %нh Ty.T@Ĭ{P~7L{##IP{wa=sK& Oa(D%ho/̆Z\Xg6HLj;I]o~k[ܻ\>aVW$O`r͌VGl8MG$fB͈U\?5i 44v03t@N۴>SHфu]ި?_LKr_z7.Pb5w&%ρd/D39Z진TM;D"AMLrN@_]=} ,NsxBjF>ٜd+MeGa8{oxDAIÜa:ַ$ɻ0 7:2?6q3A V)n\Q" 5Nvt~ FWDy [I1Al%o%rF?[딚Ձ'{I;1RqA(No!  ^]2_5V'q3z\QȪg2pr a{vAqZKMD6bI_O"Xd6@QӚ7Wi{c4Y0F9+WԱjVՕV- k`k`?Pn;Ӷf.jAдQt0PD;lӽUlc}ɲ?X"}%ȐxX8EM9#P")3.cVZD\36mKmv<4'xoo:M4%lւHFwt\QBҎ"ux=ȫq7}_Δ>n8@M Xei\]4YVQ9p#ey,XMBҾxLF%}b0?Z15eo?󏄷M . Zs֨ߘt$HCek e\hB7zpO١o柺4܌DEڎ+Vk<ȧC}KsMV*- Sa%Q{Y#f:I8(ROd"4Nљ΍՜HkM鶐G+-s1@ +$haœrVDu%Gś:/KA[5RؘAV E 8}SS׬ҥ$@ 7W p{M/_cY_ w]~pF?P+j ;@c!%g=k@W Yg9UOh:vFؖo)Zӏ; WfvSC@>jپ\qN \$MN_(1@Sc΢& CT:@3$z*jf߂Գ0u6chz@-. IrݖSt921Oi/4ɳ=zR$3`tJ-zȳűEE1N!TƩhCd_RdכWt51TѰӃ7ž={|3N~Jy1kfgn֑\Æ?5>Q ( gU MPًրfy3ЄY@Whd?+H(!r6*"suWA(fGNIT>]fv3. B믝!ß&8"d[d6(KL|8Cw$]h <ze-gH;^oY!K>t(?rthO!k舠zhUo'lo"f9uAe `uk~!R{,{=lM'1<z`D_Q@CoSѦQE3+; }fNOqƼ.6^b1M-=3w*ʀ+X)mPN3њzTFC~*!~!" )UL(\Now("+8 8$޴rlRW˕,rr8en9v 0Fۂk%dQj|u/;Y1k[9:~]ǗȆ$UI Կh#ϪBON+ʼnl,xsq=6V-8%(+} ~E"=bH"Pd;C߂=Üy0 $MrFA{}LO=Wk;[ eyH\ V#fap6} ɇKOt& ˥}/sw YN|9ۈLƜې-Gg n* J̹khh7Ә |k:.>rY{KŪ -:!A30r#CC:_!$}˔CSBV͢~#ӤU{ +_qdDž;A&l-P H!*jӺׁp]~'Yf5MN,'V h,(4ŋb`/PR,kB79EH{(Ptqņ1z0]^F"-J^@N|[h( MhyA @:TmJfu",,c&21x%ړ'&JoCl˪:Ť Lvbl|7m+('zDɜ1 bP$J"/7u:RiY=S3 H/nWekQ|PfI4Kt<D2bEl$M&dllEbYE.,KѮNڠGDC&Ӵ-r>h>|˅6?w6,kR)&_aYlO4~^xLju"43޾%||o&B>qXq-_擘u }`?!M㉲b"<O , >ɍ6AM3j#Hnri .Z?xQw!jT?I8gl[m}wu/#{(C摅QxQx4qNsDE )Dz9N- ɸœ,*ZFgo;#x!I8chXnyJE׫C,pUvEpv2DdX0e&~N<`>[S҃}Q_@(?_Խo>R nv>|L!>XXvOwHvW"ր'Lgsns5; pjNPR_3͟NϘHO'7NJ|xvBd,~O%4{&\q0^5\@uD+Îq#yw4XC~^!IIC̟6n؞NTis|p +~x9~(=H%>W/D+}ާXH J,s=apC)f!Hˢ`=Z q?L߽p`K<5'!$X5)Pvf5wy:H6l䅳{8SbkaM|Ak#oƃi;'yc {:Ŏx;#c% .AL+2#f'$'R OIaѩ_/Wh0Fl=X/)q q_|x?%0DWMrԯ'-ѓ(a"3WDr-ӨƘb]zb%SX0>DÇ͖LI, 0I1]rgB)}7KsiC(cLܿ+!\ +* =)KDt1>c7 x<!BuZ=_1YڪZ$2EjW8SxL.?u 쏄X-sCkQefNJ\_JN$.q腬y ج-Y:JUv9UdgW;7>&ؕO`J:뒘֗r^dg՛5N8 @ @[.C% zNzH TO9Aw},,AOy=">A%nZ;#b9כ˷‰q ňCI6QG'n RX_!? c_=0yGwn2E6DP9dTՍZpzcT$xY>Lȣ }m_Р,n-M.s(+/I7:+K7IA U^TyJXpD8C4m^G:GRJ]xhuE!`M2&6k.:˷]LP2畷L AJWC.[m(q`ϕMc7V-,9i0݂ yd&b93WЖ]DŽ|x֟VU`Qw@97þWXh'Vk郔CDVz8h6;zRs`B1>> 扝*Q땧8WyZWwA;޻ǙBAv -!%'@.po3ErDh5̯(&2:XJ믡Oe꣍FB{[̈St9B-0a[BߊT.U$(aۀNbn#Q 4 E5"7=S67e5Иr+1qTtZ@A;WS6WE9aMXol0BδsH5TJLaEbZhZ\C-k1n!]$&C_P7!:J9jl.,d} ad5n0GXl,%yYj8#[snn(׸R/&6dɬfhͳ 3nҿ=vHɕ4 vn )5V_Ϳ5Ef0^/-sϨX{ba|b,͘|^|m~j[3W`'ٳmp]l_;Xm*Lfʵ Ь\{/ϛEٹhП,] ; yy9Af UMQZ醂 Rrl؎.{S둤[FQMAAOFuobzanD)b@><+}y s^iIP7)2LeNc䨨wF"+'oZgMq6P3}KuSHK+DJ Ȅmcє/RQ$֓ Hjzis}"v~>v6`)*\ζ]yC3hU-+o~m_O?Mu?;V5JӦO!Vl߄rCiA+DNB.\i\kѐm|C0M l6%tLk+*>HxTű92Mt_n)tz*Ef;} H%K/ x+\ԑrlvfpo(ǏoS[!Y K\y~FZ%b?]*>P+ \m#")4mbw)O眧J̔v| P׃T=f;P}`kx#\H lmWaY'o98.n*=EjMԿY\(i/y#옍)[UBk?IB K+f%R-1%R @Ťp}qD_. (tO>p J%>Iv:&`-l3RmKMgWJf>NS(+Mn$&R&wQZh^ ܬDx{8*G$o,B^=+D15jqBȥHԶ㫧dS?(w^⒝_C1]T2G7(]FHm)˪,œqٝ&3 g ́^P" Oz5DYڪ^cIUpʮo~Bokh29C x=pq!}|퓞AeSrnK nc|,w qNt&K21:g4P%6>SlE&9&}*ɰ6ΊbTj#"e,\\J΁(ƌK[o_,f\-t'RhXص?%^&Y-7=hiXZ!UTHhEAvb4;WV Lm" |H,dsQID!ˊ6_M?iu+oﴳRJvNrb6knq&=::#dZaY_pX82ա!@o4VHy_0H !Jga~ЇN$g<Ԕ&[Wӏx/I6뉹9>'zq,K.&zLMurT ᗺC'7M4̥óI7=>-j T#U[jwDA49/eٯ~of(‰v@e;"jT{zFγ %0Ў_\Xi+'J^ƻ" F~ rUSatśNm>WEuTu 1Pis,_@L~4%?aYʇ)Zus;S𻗇e$}eg _t 8w(x֊ aX;CѿI3{E6ؒ_Sw_<m_{  O9h'f/BdHa¥ԈqY0r>Yv"@u>XuO~LdsO)ӯS;Y^fH֮xSAtfK3M~(v[-C'DXc41 HgېOz/@WNg;< $;9Dc&_m^gxC3(`j'EqhE|AAմrӜr US9ҋ(8&dS.; _=H |س\nC%S.L^xES#x~Yƹ <PE9W7Oȝ׈1e(=Xu"4-!TCA"#/AklNHVF]~J^fF$rdYѶ.fS0LJ܆-}֖[o^XRߨ%ը'?BT' Xx=:G66] qW/4smj*C$-mwc&58 MmKԜOLNW͒ZSN=<3 +X9X6nrG~` ՘h-KfKWsD4*G|06[{#W{) B_6&eA13Y9ʫ\w&nT BDp2I'7R-gXlR1 Yw)Eƈ1f]!iFwZRi߂z`0/z}D^ՠpa4g'qqF^*)sE`tˊEJxOR'>4 4549@ɅN]Z'BfSB=Fy林EƥTޯpJXq+(e~*ɌYr8 ŊW#$' V/sKgyAL``hWнƌ?JAgh+>,m>eN8QV@ѩ 3!$EG8G$ui~.Ou\I-YYfxaх7[@p .6J8@˳(|GxܟpahܯX!vrsUoYW>rē49h5@>fQA(':&ҝ%B
u>RL+(4Kp pK٨BGio;۸G&WV/Կ>[rũfPbT]s1@h{^v9|H o824,ږBhb!s Y?)2Ej2ؿ%#b̆r`zQF󓖝".V%C.Mt$*2͒kϠvR7[kb،\!"/ۆ:v:_Kװ1$˃TytL-ėl˾3mt }sis1?|Q$V%׸"{.5/,✿ ~y%Aұ{0ߛ|sҲ d ;;T}$@P7KKЍg318U]먁PGf%`)cUU8^%㖤MݫqY"uO@B~AoűE i9H/̛ ^K~#];H;7h1š:n@Q5uz.߮Ǿ Z 4nN>l7 O K</BJe>;C{֞!{^O6E"/ŷaS?q?*61)V{LgWU[qț98ǵ.ȡ,\-F)->FfG86~O5}2hf8],6^ҶߪOjo89If`$㡣t6F-XFTVH](/D:-2NPhF|JfXQ G9LfVĪO 1 Q) ٮ3 hh#g0oQ:vӏI,}aκX(U4 ΝXȞpr_GPZ0Wx4[Z"5[jO"bu~}b;uƾn\Ă Кfwru|g/)a FPY-M.S!`XX2 A }!P #DEL=Ǭ (XE?RAbXp;.k!L~0+˞Hm.byWԯ6ַCg`|#pV͑% ʈaR1U+s=g/;!|\8aF]\>m"S*/~GEםSIOgy&mz3a:cR"9ظVFNʪ$/C\.~ou,^,Fcw |ߤيҶrbz8Zj_1=?)SDvwiǺ{>X`4z?.>=UHs䎙*(w`s1HB. Aq<[ =<(IaBPh 2CIlћY l+X;jU>i!̿K#8{iT-f?ORt$>7sbй0 |FAƘ9(o>5ʢLH[*iUnɞʻpL'!d[ AJn>0}4@QGI +l#[.LjHgdnK&?b-a;GC`( ;ڼ",}iNsćchPl|?a\ooxD@lhsZN.8;eu ˰3] yaQE  S! $' ꯀ;%WFt(:ä]!L" >|'Z?yܹ>I+ -GG˵fݖɀa;-#c۲4Uu1{Mr<޵X1od}|+x$z4'}/IF 򨧻M:)Saɾ1s7VX†fh/#WSͽ WRmUW3]l@Q  pswا '@{r!R5ٱu+S5_'Q&jQͲ@kcT̨&)[p)Kma3* v]UHX 7aoJ8^DVL91͇شxX=Z䔴upX|]hQҭiV4KKGygQlkCщ.s[QFX|MHVjlɘ[Qh2"5u q#.rM(_0m%. L>g!dUP`94QrN-Zxҷ s4 p`(ʞOMJ7;gׄ\^R2Y_j.>&XF¬EpXK^Oqٚŕ2)֒Ǘ\5C+1F}M0N܁G2>V'qC@GhT;sup]:?GBr)e?0=fӥA*3<0ȩz*,% ¿'^y%vtPMe`qb7%2B૾F[H'+?JC;fpBdug k-`2.:n{r]/ b8?ަt,e3~Fu=6gis47&7)q無V4rGg )lQ`^W(o'7liu"wgeCw߹Q@yLS{zt%]?7[z<>#W{/7+6{ӑIgA!‡R+`HQ湒Ŕip&vD'=nfo|x1#Ų?]p+^:@PrjHX'1‰ h~҆2 Dq + aKe &pt| AwY, tŠ4 |m=tZa 87Ko<&o$4EWi,怊ɸ${(UNj+(Ԓ?UeU"}uP=z^*0$rbHT}͹ bI~(\\SOڂ}:t5[ao j#jBB`#;cC<=ޢ3MFP.zxc;[:B\v%EawN͍ >.Ćܧj"r|8):\$oaيF,ZLk6 "xaf6"Wt{=|ߡo-(׋<0s(*+!$h8ls1/.Co*Yoky"w`?."?՗eVd p=4R6v԰2nyx=`( A)WNM=3܇z:=՟Fba`Y0tE4|wfx477|>P,qFAU`q)%$k !{ >#!Ku-bx2U.RO1Bd{ңcaR~mA-I lUZ汝nF 4 U^;[oXJpIc~t;Y#_[/:c͘gBvb<;7SM}?qv'WC, \BcYQ5#z0kr~2&y~{#=;O8O> r,ۯ)(J-ޗ~e؛aKD8.ͦR`g\.6\GΏ(X#Ҥǵ%5Sj,B&}c-yx!*l;?w,%z;D`DuCZ]Ў+a;AU1.ϊ{l6#QEJVpڠܺȌٍ3ѡoj٨zE#t^mgE+/m ?EӉ:.Q%5)I"B  $af /j$D DEo )UgTƀx=7pV*u\,x:int,Gf`+Gzfh{+ }~^Cl@ $F/mNBi0-@!u hFolfHGa]*sPjUEV0B'8B,9[}0pR^b4(VCFYw4#yVYfdYзlj*srnH\`; rdZDLuq[DEqأI.%[m`=$k]+zB_Ra aT{?~: ;d?$6{f?.[ 2beQu6\Oa!§Ya)hkPʞ:(} תfJf- Aw1Vt!}&mlAǜ=Q=c%v3k24_ zބ$ Z]9%HLV[C`VčQY 'f(L99;a}BMp{!m2fS-D⽣4k=lٯ-~<|bYőރ?V߽Ný,yt܋:HQZ<>7>ԒL}2BҢEƇ;PZAC \-UnL'$k`Ƀ,qSb#hV'-/k2h|7FR#uBzxq{zNw":F~K#oQ5Ai(Wv;3|oʳ81 f\$ pj5"9|_%Yf'TG5*RQQZz_.w N$,$Ul?A-7wD5~׸%~MAvoO.,z˖ bb=N?%^}h>cz ZKB3Ăg`bqmz܄ 9)qVХ8Uk8 5Ҵ%=3hzPKߠ8X.eu]Rs׿v͜r'|w["CeZPd٠Ld9JvWݿpe"@[󱐟Fn:fE_P|ݒW2k p ;#p2C/CNnCY RE숡-5v'sB绚K rh]=O @dX1kZ}FSq)<7+qrlJHI4 k3keJIyv`^1}Zi~<Rc sUPW0D&hՋIdqNf,uzA6.m5E)!gy?EQ"9LP{{~d|F Pˁ}k bx~}d qA)y"EU蝐? 2&w͙ʊN#yÅ?L \~Al#A, ȽҸl+eȞA.ٻ Nl<' Gʺ SӂNԷ_0QG\@&ࡏZL%(;?d$ AHuS />aY^z)2{1-!ñ<5f;v[qS YdB;RA[{M9IaxNyS\C/jL>QpkÔPH&l/;Fo Zѡ\ )yNp%Ӷ%vDnT[r'Wزʖzq|ӕ"1|*Xb(ڎȎ5~,Rbm.K69c60S u$7}wtu2J+(IX f.( q㪴>Qiٹ6iהfX.wG'W>z~Em!+&KB2O~-^FxG*&kdL(hALvt-{:(>U77EvҜo]e.= Q9t:3J0zCptjabi@ie (#¥WoߩHDZ9}bį v]Pb%J&W{°dž:wlVf\(Fbȅ}D<6Vl8Dlv|l_#Xժ97Iv :LbX9g6pǘ=gݒj߾E1Xv{~`$fs;'=e\x5~͈PyܬZƶI㲲A0ZI|s퍹;K@OP\=S vbUV^ED( <Һ6GooR4# 'vCte,vz&p#L⃌~)E|f_n_JMw PT;]=wkNת914AWo2ڊZ=㻌-UsgySIazx[5:3Q+yN̛!*h^ayTn0UV =0C#q}/8nwP-^JϺͬh:̽iެbiQA;6dΫ/y:&K.8PF\aͰ*s\Nt)IM$/ GI7ȚPu嵙B;{F;ݤM34Uߐy^ Ưֵ?՗BЏMgTܵe9dlb#wjb;p9B+ySl:m1qCUEWnzU I3 cȶymTjPc9@R+ٳn7Ѣu}bCs>"O޹$.`5d:F_BeXT-g;+gR t8"NG`kmlC _ _Z/HLP_8kg$.i'" cfXe,GG}I$unSCWxVU3Đ~ܟ)EH|UZOLm7D9CgsC"nW^^n]0Lwq]關 /5tO\?Z;FZ\AA.hzJԹbhxFU)n-Vo\U5 **Hy휀L \#@фmBɪ"P8ڇ|[HDK@]1v˃C>TaSEiXʮ/0ʇsI} @xӝ W3)!Kg L۵cm&ciNY2K-RJǥ]gt<*v07px80lDoJw R;uEĉ^0? gno*ZFg `VcI_R>Lи^>Zu=W,.S,ߒĻuષ@[g<`ښX`n%Q4+b{?(iƔ +yD"/ti8piq΋tiF)9}g[n0{7lri$K+{0 o:ڈKpnzBݨ.଍Ǘ1ZvYJ76rgPmTbKJqnR{a)YhX>4j+ijM 0C m͂8ff*#\aQƠ0xRWRBOhq2:px= g}a}s8 5(:'[(,Χoy{ s,cڠ^[,(Bym  @Z4E~N[k?t[E7j51 "llxbo#Ҧ({8I~ :I0N[p%ᏍW~-VP'F7\q #YUế"хr yS.~ϓ.` a 3Oɿ%?[u(l+TlrL'%ÈW9 +mڌ{4Fdh֗.='Nt i]]gNa!el*XC>?D'C;62Sxs_'ΩFmF!l_m|G {R\g pELS«0IJN"!0Lj+ЍX bKSʴ[_ZnN0= I FKG.{ެסIJ/\d"; ud9p/Fףۦ0zBzTϼgSmPyvsnR}|/spu{ Ԣ.0lkS.ګ>^1#5<u ~m;sG|G 2|Is٨]i,5]Kc8Ȣ _uz|G|id:ׇH&@ *UQ IUr&%-tl.L9D2 WR>MK}A V`F;ZU* J{v-/dqHـJ8BMZX/JȱPc!EەUGbML<7{}Q]Kz,wfz,b4)CGDqX~ƈqP/5dp rpƆB;gdt(CZߛ/韛C5u5>ߝg`J4lBPd??âu  볅՘zuBH&m ҅msw/Mbs{X:hꀮ4$hۏ죾E6F,0ǫE:%}xl7'}%3 9geC̒ecDZgy'_[aƄR9ԋ}Oq؊U[l"P۶)YqJIa^O\9l y,!pue%YMsi!5mӰB 8E;86JkX#{1Zq~%&pJsv7pMz 'E Tg;Fp|}w3]YvoQ:AѶlRb?J~Z]1Fл9B$h 7v@T+n8k77bOq}saؚxR* W/eAWɱd!ꨂWZo?PΉ90Tεf8)s"'}$@=1btLXt.>}Pq?vt47.V+@xZJ1Tl=Y s(-Ѣc0 JgW:(LÝd03ݱdH͐Cz 2I*lpLLwz(sA3>?$/TP`oȵT@+=d&=IvjSe;O3|:2`]\U@ܦÕcU%#Z>kR^eNɸ:>QMJ.솜Ƭ#]2xVFB?3] Nf14Of+Z'<&,OǍuҿNqٷY {ml%P3*jq\p̋ɪ&V~b((3D!'a䴙hl:O42!nJ?HdejcB\eܢtՙ- `w=f2?ʪߐͰr^ ; 5@j&Y76 ʜ}e`P rr #rXWaW&}P{s7T67ZB>ct0  BPgٓǫ N^ϣ#(JH뫵+4wW.:v J颐:#3r'$g2vc6,#3}5N8„+_{|#=wZ, ( 5. װB# U1rK],$ VPe)U3t%ZZ0#QjU?5~}[:ɝ&']*]q\PEJ슸&Qo[^EW@&^Ι[XHLL\r{DoG4#6 ך 7<":UNvITq/\JУ D9zpr yXGl}fw94$TP ̟NE<|.D l/N9MMƪ| oWн;ԨkC8OBC!~nOT% f0*eRzL1L͙&t(o?B=3mRzFۜ~[CTWA H;=|u_bqlo8tZ=z.^BI/dvL{gӓۓH:^Nmw"}8@r Nd G/$\HuibhrS$8RMxNn0 ނRz&a%e;?Galfc*~@ ySzgi@|@1[>ʇ_0Sց 迳UC bjRcᭋ=AFS-Y.\'O8ڲBO~M.gAPK@mڢHNP!An>Ohx)&)QTw{zz w9Ik' ^Քw&ޜTOGXFuˎ^J8&?XAqJ"H~u՝h=rEʎT`T+a2 O֜TɅb$:w8N=TVmԪ \yvF;j_Ԑe J'[L9uv9YV HVS8|rP^>]vZ}Ln3c|݋!>;ɎN*n$U?ƶsDFM ؏%(Pgø 6|9dYnƥg;rӸNךfZ QqqOks8;NccX4xIMn$2ā =}N;HbVOW^xv*}y"WQR}2Yq kvYkdqi w,X!qI{sTVҁO/[VQLM]j eU'f +p\7 ZёTh7X;leSBTTz+eIz,@Hrs4j&ID{u8J# l^@۷Z^-kԶnثEF&oAsP)Uϫ8^9ր탵%bA=8$heOFm~yV;;b͑2 @E8 &&>n 2 )p ;uώdBs>U ^+Zu7|>;3؝2^}qpR, s41/C9UUG#?"] : -iq-bE(yo.[w5ciF~6SߔlMk80DG60~xG=Ej1-VR'n6dBiOVGЛ+I".בgf$izHT"MTnə+-3s<Qŭa(l r᜚NY:ٱ`Sip ^r-p~9E,[ WdD+Z?]c R+ A8f u- 2oqvIf2K5% - $LqI3VmGֵX2=Lo)T{ $’p K~(.ZAB^IMNlڼ:\H@U|p4GW? RX&&pOT-,SP= fý8-Cccde@<~UҲԕ9`[juмn#$*;cJsAIAcv6unJDtKN- !=(;0:a ir̦)`4Ak#pJ+l^VOZ'i&B`44$ Gt[yhr  WzÝTq7ތ h%L:( Ǔ3 ߸p,g+'zҋhePŹ{#P:=Rt02$ (#_%䤧Nz`Jq&A N?;?$p0pۻQg誸)Bfk]Q/d_?Bg6> hI,|mASn-LdCåo*'VTD V߱_Wl;Uz,itXt*}3dvcdDB$˖ a7O5NUԺ5ZDtM\[mRWEIa$ S$8Iah>ҥ}aI5m!꠯E$@s.~-PYh`(n9xSӂ. )+൚1*H6ߡPA0IͭCQG*y`hhF@lmgmQG\'(F(d#9h\N(Ή#L}\m&{L9>Ok3w5#\i\pxuǐ"Ŷ_遗3e݆!m'?S"[XH6urߪ_E NXl9ҭ=TS[^Ɏ?3[?ה I=O{ _E!ܪ᠑>V.H3Zw#|tSRdžOÉWջњ5nD+'HN^r,0frENٍK1+=Z6-hC¦w|ӀO!!.\#Q1r{ ;{L"ءbyX׃YfiSmcSư)U.z<ľ?ĎE6uNc:izvȑ0`,K4/ll_y|.Yňş .7m^iQ!ttyVIG8R ZICH KK;0ưdIHUɺOݡ[. ?)H$L5#C=+ALNQ޺bgl(=kgY^ D]<A2ݏϜEJPmu,;ji]Q0Ap5^&[\=FWmk> PCCǁ+=!=8@INà3ւ=.>c2W?V=swhu$U!8SI;)As]5lGR!iEjdpET܅Dx-й=ؒ}* "` /8#}u60[4]ZF6ß=IuىL :gҋ,*w,"N#J "N9)N,$d?`MD -s%Qdze.Of@E%ø4CS6TzNh0S uSt'ZEt> z|=3YJ)a)7˛J=gy.!1Z3z_<-N}_"4f1j V|?ՙZ>"ˈܑy+}v>P㔔;BUVVY]dq+I 8ڠbo&|Y34=Yʸ+brvݣ86PYcWjvGugN(? ./~F'6+֬?Ҕb9#-*lΎ Q s?Z3zrO'o%(~Ѐ1'SSi #˕[婌$%[?K3gP)&vyV>_Y< S`/E&>B9Dn%Q -+ !j3 vjsW,T 8IM*?(Fr64=AefbԵߚh̏>$zDtBWυ`&* w =1#R LlnC&%ǞXWgg|]^S;x[FF,LMvm5JGGf663,x٣YSdbFe +?Czpޣ '8lEۥC'Y5G/E˩=1JMpOhIh$NIAPl!YF wܫf*11˶. ZR09o8 ƲlRs£q՟a-ZI.y ul@g1yiF7ƙv\=B7hy hAC8@\NT ̀#D|Bo>R+[t?p*rHZY V/PG8#H1glC~"Asv!I?)^W 3- |8@)+tX&]1Zhbi1%M 0mvNB#-{ϰ r5 >>UteJ ,=>> utگa,dͽ2iƋ:`sUo.MiICL~GU#ﭸmpiTY-˜{I{Dό k(3C(Z.1P")Ư-SNt }P`EɜyV{7wJ;PȔH& vxK.Iql;Rx 2p$" hWK%MHԬ-3#S& |<7(p=UFX,r\xhǁx!,Dȟu2ߣ{lSOT/w`n۾PDd~<^itFr*"6/ l?Dq$zjIP*ŧ;z *8U/ 8x@yS:, evʨ8REeˁ0e33]itAYr׸y^@&4^Hek^^w<6+ N^4"ĵA ǖP;-$iU1 ebr.k~@7._ 21 m.Z+6Ml =%11TR+<[)AAzkPOm?ZԦ)zF5Nj(::XQ`b|wv$_dgPE{ęXk\c& ifDQG&3P0tY:mjKP@l.loGg#m;}fuxr`R"q7<6.$YyٳNQK/ CѶo383u݇xF%2lwpހpa!8,هS1 FjKfL=kÙуxo S?m*' 8cbC/1q;Ӷ툩-7=jPC D 8h+S;WJ?-zZA>OY- |0;4gei4u- mm̛棸V4Ap!F^EEq$¦_(wѕ p) @hB7"bm D+w;*T۳OL)rFZV=d6'OQ F6s:RQ|<'7eHa`>緋'xm5m^4ApɁԺ+U>k_^W!iߕ5zt&:LyPhsU"}l`uRr{h#Li)$6K VJQ+GtlQ$7<[K^M`؁@GqɋոGï{c/i,)"W;㹲9HJ)OS6|6R5-!{GC`*U)u N!}qE~_y*2}sWFҌN¨%e O&lnlu%lY׌UE;ghMQ(؍ԃҌ$*wPd| W`2eD(Ԕum wz sb)( .+jm@fIZݕTf^C벴5bO%:ŗyɓ l~м֊B!^ \@ۏr3 4'lC /*J)M=ULX s](/q9_ k~= c?_Zg,x.kٛ)jf:QQ7[&aY &P")Pj0n2zo;\Sd̅d `̕w@2."M M Ħgw܎< Vmc-[D Kd mrGD~v˄C8M}/ gv'\->[;=&]-13"'s 3mW% p LfgHY"W! [ؗ3;MgjYB6HZ5%(yּ|N߾~LiB'#Gxc8BkmX?sN?hdxx r~:}a JDۢtEvZ2Kׄ}X(_Yp X'mBw5['!İ%0W.ijGdIi0j L!2c?'/Fِ@=l{um(b!yv,> ̛e[jsdS ݛ?kml( Q-V^Cw9q+>JFE^PJO zMl(tz]\2n!uL pߺs0npe>8ulz Pc^`"aRB*¼i/cG]tF4e>uK7t!-cLo?&@{-13M ףGr0 ~Գ_ ׳㷕L\gb5G]Բ۵F17vMEw^\bp\i0.{7&G̖foM@ ^;W+ڣnؽŲkn*)I#Q_ܖ OK"ͷll(_. 0́?"yn{|h6廍#5"4[RKD ׾ %[zp8_: u~ p촔9ץMC]gQU _2k2lb`8.!^˿@;cEC(OY9G&_c5:3i22a!mN/>wȰkctgFh9qۺy'@l#Ή;Z}t4hgey#@ѵOQR`VCe~6a<+ٜ1dn{1 mraS"R(F݊y'ւ+EPJ1I'FwC-jWr,B<WcJU֓ʩ46Mo+ r=? 71Ż9"XXCnш+*Wq *:`*F+hJ&yٞgX cuҰEM,MD9ۄ**THO8]ʻ#=pbxd,pP! =&RM`tx1L9ם/^(MqG!SmvBȌC<ӣ˿O*P90kEsEEC#Jj:we",&u  oDCv<{&%B6_yYbZz^`1VpS*7HpH!S^ 1,8q0X4bkE.j]&4̝WF^'#mdZ]SRz))kVAy$m'?iBeTߩc_\2-DjۚZy25*uؾwY`EW"|CRɭiǫj4%Iգ =bp,HA^Lj؟Ŵzp:a%#p6=N} @.z>_9,NPGR՝:}'v|_`ѷ֚q#hAYfźOisyDc.m,?t6l9EFk]'--jeU-X WƤC8N9뿐ʺŇ;+xRN?K9]ܦ$_VDYME-23@e2Q ([D1آC#<~lv=i %q/ -%+E$7Iڞ72,(K8pt׶f VѲտ`l'6 }ߩL%؈d!elL^.uvmZ'k7AW(kFPeCha==}xaZo5.-HV ͓,i fcȵvH>({gPǧE84ߔ#|VQWVW1-]qyw$B֚C8"29<5 JMfaI@p7-C_ã0z $Y渢jdHzГT2>MnXqR Xi7׀=W1dGwCUۦvO\u4}${(7sI"p k&tCLfULXwY$]-\Z(ҬW|j{@My^j\w+RpQ&#ҐޖG&̟h\Km"{0T+dXmyH п_bPF|]+!OGjp ub4ޫr83>Sԥ=+͸-{CFOPR:U+ީբ{ڍt4f|9u+[UP2ZM7 nvA~BĒW#f"Α~BƍRYE[S#txNJХ%1z:lUչeYu*SD d3Zrz kEJ' JZ&Ug !V2!{9JSS_#2TfpCھ2"r{$xmoꎊǩBBӵ/ïT4 J]sՐf.% ;mɛb#2'XQ3%6.?u3Jf`$%~"{?ͳeEl<Ʊއ٪?^\4 Z]Hn{(3`|C_Qs\τ-+"d 2vTٍ!Գp+)‚T)ոF.m.D{Dz0 rȠ3Orj_rrl%9}U W7h7g~Oʂd0jT4Vw+3'cEﳿprĀL!O9 AweAh#,2?AD^76q&/V(ƿa3F 54~W^;:|3(RΒs-e9-nA滿s\,tX7N #Nxd`D8r_yu75%Z}puV!="3A`bE,szh-umpnיmrA,_0RU4:u2ٶpfA D4^5FZ"ĕ͐YX87/x"jj"vS_\x8̸`1q{^JLs9CZSq#";͖kQ˛߀U ;α#;prKF=F%nant7 4θ- b-C5D{ry0MZjD;W%3kya$n44f3 0nGF1 3f (_:>}S;FZ @]w6$u=ض,(p2Q e^/8j4v%<гvOk f ĬC F'Yᑠ_w?33z rM~i 9+]84eYl+pd%O9MaY  NF^U V^V A]6Zδ#pbs ^#Oȥ%7_"b. ZUT(@Oe3{#r_R jckhXż_tNKzqG/)Qd~85K *2LQ&]1b9bͱ3'痨`*-MpBjx(?fRw>{pz̍U"΅["d_>JatȈ@prS$=6E[ge&"2wSh] Ίf^*E+&IZGGX_(&`C6I09Muuʜ8ܡk5yOnۈ@Gs$aI{;JEʊ潇ΥTzĊ.V .~ք@i1X4 . j:O|(4ͷbsgu@Ϻ|^kl2a7O'v# I`dcENw6-8?pi+qTZa{µ\8,0ZN^ՉhVr^Sj1[@sBs0"g}:B1j~ P*LJŨu$T9 B(R-Sx.r~?7oAɓ;4[8*m'hRFE } rE ”ՀOo[jW4 "rf B# L-;cdy}t8hpSml.Y'F64)mMK0cS9 |>~*rUdkoQZ>9f:]s+߫o2N7ܔU"LAm૽/W)s(iߥ܀%Fܭ.b3 cAHCdMW$vA8/wZ0;_MMeo[E"gJx%^wUG|2N@T! _ 3`UId:No'ZcXeIwb?t;2Ż,ACDIPӖ*~ RQ +4W~'A絳Dק~6=D M% =4 Dͽ@KwkAxܛ5g[|9FxܟJ"0K`Ks ;{ZFrN=8^"ILH*c9kEL6꛻M0&'΀:cvJq}3-":7oz2)}\ 8܎Z'W'{,%#R<L@m_m0Yϯw9>SJ$Ҏ-L\ͻDA OUu#$R]-3V C4SZ&jP #j9/4|ԨϩaO60f=ձN5}3|-Z7w#o&הyR|o IF36٫Y9T(G 9>ץuפZ`I`Ӷ#o;rXXmt즮*-|@) a;lq&JE?ROv8(<YO'`$qxYx1ӠP_oBx_"J>XɉIހ`.]'dSDR'T<>l=p_-CZ-H |=G;ir:V٩zi)]9#L#/h^RS*L_ E{ 6%g Ӫi6 L:! 15 vrC+>P+*[;Ī!:%}pC#'bI|H%Ah9$a"{aT {<9ga, LeLJΖMcLaxg$ĺ{slm(VSǘ-3zY;Ir l4Tyx [nke1Yy;JL5*+U*]ܝXI $R(zSm"]{_|~5PjdhcdT q=*g#z|[Km^e[ql`ZK&Ռ}bG3kSZ `PGgDUlTCqSܛ1;0mxZ5@NP~FK x]͂~??Xvٯ2 Mj1VԋФsIP%wx CU5˷YߵDEQleD;mj9à9LK_.1!"g8bFo#C~UWȴ|>~\vMy>J~嚥 =5^{㟅[)֔n@vh1WQMK: k:N;d{㻤N[b+gaCt(?e28+\8? ^ "h\2{ϔu弉P$nFtŪw`fGoLarmUm5s.P L ;t"D<bn#jV<VJG>r&S/*W-i^X?xSl]F]4|a "Kڅt*zSVQQNysn Ļ C!>Xe .e: : xjwtF!;c[jy11̓0Z4Ťg;G_Q2D<]ߎ8E5P+kLI |/o\׬㳲?>J}fWI6\!aW }Ԣl&f(g0eBoXb=2|!H؛w \wfK|h^QC끙߆oqD]s!` lMR51Ju; j hnx:w $AhsXv=r⒳q@!7DkXjoM'Mw4*X}hpYAwa`^уu[`3Lz,}+gC~n y,Bl84ZZ,1+'<ً(LYc^Dmc<:ir;_V3fK՝hbXfwPu2" ij,\ׄtٖ62C!hc[k% ,Y-zŔ }p bRHɿ ։?qUhz|MwWTY}8Qj@WkvIlw}*̩5H:;F\X:/@H\7&"F͐W+Jj#fl6bmb3(oR7z.^CߴoƁ:$Rca)YIsW1D|?h0ld$sXui3Ľm7j+< Y^ۗB1ټ= v>[ T {\Xs8K:/L_E lw< tSp?@0=3O)nŷwgɼm@*eRSjeI&&3=۴c^p#[f܍`%O~ .VMoq\\0ߋ9")UI5!4x^.+X.<񣧾_)-Pē@S~,=?V׊~yd8&/YY?U괘ke+`G25Q[5e_ TF7|}g} 'r# jN߈f~,A_IZnoP';]U3 GT&~uYz ޵>b"9IM֞Yh>lՍX=Ph8&EINl3YAB>fgYMjM Ѽ[E/5hd_w'1O9a\YDΪNH$=1^s5oD"xx>k@ZEϳ:O4q]_CכP2uy?#`o ,,lvw7lqc}]-v}%<71NFW(hr&ݝMk7%ʀAo+@k;9nč%Y8?V!=?o־%R(8β:F<"B!8w 'QCs8ppo F@9O:6 vZjrdi;T1v(*&CH[eM1%kP\簅 hO977mbؼLz7FsٟZjy 6+&6;r@?xe^K.ªStqئ W(g6*ݏֹ0k~\t|33.@Ř\/&;l{lQ^30Ta!u4rۓGUz\mٸ&RFli NAH<'7[…uIҗok(-?mHV `{NX#B8C'-[7;\/ 6< ;d?ȧG sJ"v⟴ES e͝5aM׳%S1C5Kj0)m;x'"]V $o $-BkeSrب&B1@ ;X )}2]ċNН04mi6 `/'y`)ߍ69^*GTy~j_ٛF$,(뇰bs3'S> $"h̉}.0i [daQv^U2ۤ-Q23-P_BO\B_~RMLl5,02Yl_aht*Ł㓣vi^e-qŤ~|D%ͱ,H}M0#>ncJ)ʱ~Z\?!-'x-d婏%sKų$G?D \w3n<@j9cڴMY 0R }/ţX{W")TL$NK1W~|q0˿$0@nQځT[ǀlCݘJW JoGM*u=0bpT$[pŮ[?'t̪/!Gj?RKBuJBGG$P$P[!/'P<ŶVnB?*o& !gxyzDk>ٟ Pz435EEꌁh0r?m/K?iu)z׫il:Ӂ%iOiѕxF!lYjꌣ4VH0Qnsfall (K*P/)v~k`*^r ̸NˌGrH8AYoiŀ=[VCz,dw#%u|y/aA@տΎPzl{13< .aT: )a˯ĸ9PЏ}*oRzNu?dnL:zY*:l(ɾZ4zq4 y2T0"-M-ƊQRP:&V\5yD+9vY $< _ eL#U\( ^Z.[sʙbGLbJ]33!H xԿMeeJhܢ7\Jc&V6Rm"KO "ަ ]#[T+@q'PzHMN+ϗҐW`%ef\޺Xȴ 諳LmjNQTAϿP4<6nQ<_8>VpXU/{<2~ Hb$@zV--FiyLRINc-̅L<~+V_wXtΠsg;ij}_>Z/pGcI a*r.eR-BP_!]U, K[I $|;ÒEmͯq goyj8걝#ceB~vy ]21 +~_Ů]q[2JCԇg{]2/*VFqB#8HHV|.AJ%ͰT;DooWb?=$7|,ݕ卅Q0(aW h.kձspuL C1eHZ.fzzW8aVy 64U`EN6<]/T yGD›R@ !h34I4&CBOAcd iL4 )խ`1 P|"@X>X5 4xj9 g*X z,"icsJ&aӭ;A}]@Rxa_V@UXJNM4 #S-EvTgsrAs1yK2!ժ4nydIYhD/2̼/=L_(}g&pk 3j_N9Pj'҂]L)jzzke91k.4Bηu_BN{]jy25T/Ƒ@Nj#F ?==bu(+%yb$nNG Lު7땆i!~:c]p&/..{XG 筰A<`5T{|aSHWN"2!if]x|kK ;:n< :  zX =A, -ƓtB/UbM9U*qkVy b<3w>"M#QdgC߼kD*,svGn8@J@ [,|on^Mr95Pօ&F_,vt ﯮ:H6}txVG'w̹fR )]MOq9˚` 9JSKݖ$ dD2 l_o@<Č15; 0}Wu,٬GNTMP偓ruq:p?;!H%keopB gqGW@ μۇ=_q^S hY7x UQ#J`q"=:'Gyz~U4rlG{B8JW &WLbs`I0҂U ;wr7:T0tgk0SCI_9I82el}H߀2R :Da{1 p4"jV;MbXuMϓaGSS"']&U6wb,uիzO\ `[jJ]D=(6i”#t5Fn&=\;#X(` %yu@1$+q{R:"-dNtc0[ª MsA3, ['|@N>TyJZF Fƪ܉KǢbl+z:O^W>X"}ui>CG4a-}(KG+Jo@U>(Lʹ/զMF3YE? $7>8ma'VԴ%gg4-HƯ5S|i8,2\t 4BVv$%mTIEGjjϭ2qI4),'#OBO6wd?7Tb!bԌƕ/t V/l4;<C+r(p~2aɻL",mZʪ2٠TypH hqʭl̮,GJHSJd*R %c@Z%rE K1SWﹱL>lf6ECA.T'r[qtr̅ Kj"/Tr4lMNd>˟n"2kzmqe^~񃕙(2pnϽ6דe]H(8Pi,p+[ ѶH;feO:bڹPs}3~5} ;ŰG{6r<&ω̇d:]u`Iow9 GuG쎯 LgQ&z֓<'٪[uTp,G/˸=y*q(y7Dֵ\M&Zǯ#a)a(`b{oJ"fΠ[Q l(_~G2UE*JX9 "ւ&mg(;)n1$f J)\K#,+sBereYDh9u$Yzb.Ks~rz JPo7XT[cQkQ&"[Z3KpJOS FĚΎkO-7]%W^?Ր!˦/_ 9vE^/D4c@.j7" J{5mʹ[:ӤI:O8w^a'ni?볺K=[} ?Q$8/ZַHte{s"W@%9hDt:v]?Cݯ_{@]qo]3uu(6OOư ~7˲.ʦ2whEɿF; .?=2֓2h;Y .ԫEM #a!h_Tgo) geğ ru2rqOBwz?TKs%^Ѵb~A _v9MIAfs5O\$y'o*{OO0p2?=eK=μbS+i+қxG6n!XOR(=ilۯ OܵG&Q?j5'z:sC0 V Kw7(eQ'+.vD/pS"M9cvt}֗P0xW[Ѹ]rbOiD&Mr tG-R [f2=,($y$xm> 3<lt&;e7E3`L?+/tvy^!-Ig GauYRP$wn܍jڡHfty#QNㅑ`=p;AG8M**eD1jV^eב41p\cw)_ CF`|XVXY' il1CѺ/F3 shh IV&!U 5;YC+,/I·2c9h/tKKjJlȋ㔱VvH ʀ@Nev9+:~|zDmYT7uPޗw͔~UW5?DE!Nk+B .BHpoZЦ%ˀIO홐E3;%9 ?PDGWArQ "_xԔ8\)PL`½%nB~TgJ'Ƞm@9t85J&Å=5Q3|iPI<(u<ȄJx!|@EGS~od'lԦ)J'a9 Ax}ěmM REEW5kIE88=}O`wu706U5_&t_uNގ㣆[hhɭq4S!R`ˏjdXD eLrkH'%}X&@ptwcRK ]H̉unGloCCi)~ArxK?Hi4[D)e-i^:_QQ?_ܓ$hLɶYI5٪T5 ]Xw6Ze,}L7B~DŽXM jZp - 7٬^R6$4ӆ~l|&';JaWAE՚X!}5/%9'kq4Hx@BǥM9Fd\&-OGQƚIbA~^OJ[oTO2-p0f8@CĎRﳧd X$U"Qv'T-}= h` 'i\%zƭ}tӋ2s>W Lms5bg բڣ\rR# ԎujaXH%"ǜâ\I1i*>-^9%v ߨ;Jǥ>Vd&{o8d[>3![-zV( ȍΞ̣^fʇzثҬ%꟰J(lR{˟Bg#ZY-d:&u ᯥA)֎SvAra",dԳpɁ%/t~f0%)Ip=-Ƈб:hp6<ݬ%p>|fStQטQ` K9h&cD{X kwH(*/Z^WMB'P{kY-DZj&Ӟ0qiX^誥c> RH8 { ZOm?{jWES5LЎe6\hY)m(= 'ڐ}ui{yjT-v,- Tl-BCA( JC.J񩍓\*8bLi3oߑfܛmÍɹ5e3TI8PȲhFN>\vRaIgI >?zJI؞GcFJ㳜mY8s†pi<-/}-7gqҔ"TYjx|$᎐vDl7iĭ26_0)ҖK7{tuW hCE# T̮xlxZsScnt bzM;N~Q8IvM*̋05ͪ3v%}3^=2=ô!(c'3es@,5/+FL.^#*ׄHW?M . )d9$5:L_]Wi:>9[3_ą`H!R)|.ϵ[~붑pwJ$H2шU%koc[Wۦ;V+>R.$ΟUlsGF ut vPd6!fL4> Ǜp&.\33tئtUPue0w@.ēIiE{S@)e8Ij wC{24tVƢ1֐.#HF%~ZxՋ dOQGO_k7v*Bt~∂7Zw3X7s@@`7ن24.>Ti~#$"CtrFCIG,(0Xs_;=JfB4$}śR"Ӆ{hYKk0"?+G#(9=5{WK5.T7G6VWaY-|`e,eJ<Ȫ$+اi#MBtvWf2MZ8*>x"qlP L"H;fƐT@*;o k A|ff}ϼ{b[eAՓXT\*)4+_*?}D2`8QM3t;ݦi_Zri os§vlX4PTd0|9(0XEOXS xȎnaNIzԃ[gw8'[R!gF6^dn.yχ%ÍŹK]Hw~G k9ѹAL̤}2vΆlXTNwBX(s: aZ\B4%Ҟd43Vѹ3m=BUKH&q3#q i. 1y?ZK WF)?&Ax@;^HI})Z!SfV\᧪.]Ь m?p&Gm40n>Wď̪LkBWZExVy;Slz3oc=e,lFh~qV뻦T%0TH̗4hj UYi6ǯE\!^DNw0+S^{Aƚk5v7B_g2PD0[0SNLV#*Xҳ\jJ쵦Py\}p"$CO."N`ܷJY,[*}yc!EKFFzs!k5ϱJC:N8h+[Ia#;~Lǵ,|qR~ETqQ&cdVY9Qz(1Pe?/5m3uhI{C>OEÆ|T r@w i_VUA,^BGrUQR+Y̷+]CY`[]b8%B-<,ux}tJ*vEIR"QT㟍[t\ez.TѸ\!/p@%z@4T,O)Y; Y ΫAŶ*ɳK(݉&H&TUQյI 3EԹ}h `IH*ȏ}}Rlzb@>5?;z|j'2gHg|ɥ<W/ tHHʂ\zC4zA MQ3WY%9˫عGC{o5^0""@Y?,AxxZO@Z븾͢Ɓۆ5@q n cTzBhQɕzL"iQkÇ@Dawx\+[WHޯgMoΆ6)\X*qpTL8]af\$? meleͤyj2@RC*6I3nsHոÃNPl>ǿBh]6[n}7f\nsr+_~,3f-M{tqeHf wr$+R'Kpؼ4,3X k%_28D<̺%Z]QyJ0o6 _.|0yr8&RCMS [({;!4Dx䍩o"eDAP B2ZY_L/BnJо/B)(#=>Ͻɾlp6uwYaqdV7GJH˥beHW_ur*`2Kʣ6@z"x©5ّWvVea||k/ #c/Ko8hZ1gzLȩ2K09-Ό.9 _%C<cLIƻ`|Ljڳgq!z'Pv}nH:]:?OO-{/ZxDIc! kL<qx*eA b BL}9)!Ix0Ղn1\!G'5qg^jb]*r~u%& H1;@UЩήՒvC3;xqQ0iwʴ绬Sϐ:=<*"'c'eCUB`e;-*]1SSVO9=3UXi SG-9j ct7eu| V*~F0Z1z`lGWTA2M7|x%4gWqB͢}϶nڜKvKv+ F=I+ҭ*B*;b-q40/Ź)ۣdlqf{B6lG+,b&$Łs/(+gIF<9AP;kuͺY!^&RwLn)({<$Kb,CbbPU^P w`WN?\2'L2u8WsA.^a"HI \E4z.R)hBb ~8#z9ENB@ S&ĵ7He/ 'LyX]O.Ŕ& FtP=Z]"nN±&>Orz?vTϭQ~3ud,LE|hQ1U[u}~a!/<j/E ?~Zѐf]5k];Y whEyg&P\"Dqg@ nHʰ7:GK96VV߱PUE(U7<4~ iM ]EA)H)MDMd+GjW&lH" 8ԓpKݽ}9^^[k'u /2!s*8/ 'D,=뢔-,sQQBV nmOzPh_Lvvj _J&k˶[z=4Kn~rq!Q:b{;(n6􄛩BeZ1uXi,S&B%Qn_hغ_nEV6{z)~J]"쟂G[}a zEIdkإ3}-$Cvz~!c'6Z*LpA?S9sMvMBb7(ȍ@:*ƙ(RD Dwͩggǭ`D2ș>MӇd++l gjAGVG2S0QO` yv4\Mum=u# AŔa#CG=Z?-h:>YD bTe)WSI7=nc甚61Ry1QNWjOcS>,1)v70ctd*.[TVLFKK-v=6<[aVܬy;7m_: ĠK rz%YCn^}xқwq<~\/eT#= N]Q.05C:s@̃K U앧9(.1[>"}Ұ&Xr#=rR#=v=H . pՈ&~>LR%ITR.2I<y \NIS&/}ȢM*bÚ{w)hiABǢ vż]Po" zT1]D f`5r4QfDm!>|26M<'#~+V"^e=yZ wΐc!kQY~Xo(sƦ6\q\`H6 (;^HJns`1;TGodm>b9$K|S/74]Ëh$-W;-30z[wٟ r=31#/<=F)O{a28yW0 [ʕf*O_A,+v}BAt芽Oʃ|>吝f1&^`{ l,} .FjP-XGà9=+|ZOa ]N&VO`Xzی JT 3nq[G.1r]p۲Rç ȏUz]n4yL϶ =AvME0/)6THc9\Oj '#A69 LIշ;'!ߎ]:L-. $ 0IItb9%3ZUE5RY'~~&/LNu}UK~YږGd-?Uݜ }$9<ޣl+VB GJ+y "6gDl%z qt3˴℮hbmkZ%oyGvCIITtq- D>a߸[\Crfӫi:K4^ Bb2Z0zeK 8BОB$jmc]!wQ ke@@aZ*̏C60 +~c( ̇vZk\IWzѧ٢"> 1)>7Y6ԚX=+yp,lIQ![Qp50nGM̗ɷ+N4Kv31Аx^_ܴNgYdrܭ8eިZ9x47FL|?A~q:N#3!?<'w_I@'*_6@7`;xvp6GrY ?=۝{Z^D%{oNd2 ~r1"٣U(n ]*`Xx(OR_-s|alv.+O8 O+ +g[(ؗq&Q7M@SSe2ӪjSӹOzjE}>#ȧ HT'Y jqkE4t=J\(f1yC! ;æntq;K&tRЬWǾə#;aƂTgđ&Eg1fҟ@.[jF?~!L+c+Z|n' -)NAn T7G%W;نRY?8p'ȈN2ѥk8-Sh:WBV 6F1pv(ダ~xL4Z"_`s%9%I_.rGvI!)˭t)~aJRde_xCYJ:> 16qx' Q8}*YNWّG+b;ݽ1A&pZ4\w#>:f!)z<'V:49&26TjLC&rgie(ca#=q^WZf]zjZvN HŢC F!rŌ^|E3حb<ȸO \ȪA$⮜No7UB脔 CaDYαTW6|6C9S_^U+"\ŗA|y91 ؔ;NG?!٠ p6X/HvEX$^lz^[}&s#ϙgSU@/{rmWgFf\#1?59}kBè/e|ߠdNp~M(%?ģtH#yo8>'KJ1%sh9hJ.Uip#u &f2|v,@VB_q5TUн.^*@e!UTxR~Gw]JI^ܸD @3./Y~IƟa:gd6n&EUVnCDtOXb͎D9 xۆz_>abZ!/s%$=ueG3sÂ0#n<66Dԝ.^:0f1Gx&"\haH2zg壽a@!zP]ˋ<3T^~sTf?&X *M]OpQƃ{:9C}KnL yX2o \aU9@_4y9a-NAV37G_`0"|MG]l meTL!zV,DS@^;Sl bыu ѽx0&G80,Rd[ؚlb[6Z 0kQ5P( eفetW*ݗ %%K_Omؗ憪JZx$3'-AZޱ]p8SM=ߤ[Ub/bパX"rCgNkFű2/2Ds;zp!/E\Yu;G[Z;0─lN\^ͥ :&ŧk]܇bڔS,z9py<q*0x̓19 9#4=-݌]kfLr;}4uz] n9`Ǔ/maR+pCHgCyK dNu܌: n:\E4^ X,DX^anr>#LLG8CȮ嘑,$㓖IuMSHjO4HȻ>NJLl-]8wМ|9SSHjVۣf(VTђv fm0f; #:q>Z\^uV.1 WBIbAV} :S $e/:fO|ԚzL^:uTPͷ؉֣to7ܓkAVW)?Y-] Rx;^U/HY~= Ye|t7(_&& $F]:q> ¶&mɒ~Gs9L`ƒl?i(l['31*+ӳ/ Cde%EpL:QՌTE~蠅B* ;.=<k4C$0,O4+^ }T  a TDZRZVgV"XPC9S+ E]_^4%ۊl uvi*(5c |Y\Me7b ;}Bȧpӱ@ 1܇R' nP7/KLN(_FsbΫ{{_h8m6 lhEPz ^HcCru/ԛ߄zs(]A*r@eoqI He0gI@ M+/B}Hgaש|ɒkrªy"|=?jat|b|:hϘ6w=ŠU'^ Q볲9 #tP@ ݪl5, dd*³M]a h\ o镙g=MãpɧLqSt`[)CƉcMm/^OCȮwRv< tw6bS[@Я%Gïx0-ܶ~]4-"wI<>G&45k&t7Z{H)!>+4'_Ƨ4G[H6Af/PkrFi8^㕄bI$h<Ġ -']C$7V WKʻD+lZ6!lM?t~E*Rᴉp?hEiF $ӴXRi, \LZ&['i(Gr\pkUR}qCvnGFȓﻓHvlR*7Ng7N&xu]up?u\POKz媐,YUSi*V= 5X,ܓ- eʎK&ux֗,ۤ@VBMfWl}+ТmEת1.P3Yn oXa'| }0t"x˺UGǝE#84{m( 6œqAe>لNߗW|k)tXQ#rM`l̀[q̇9ڊyCh/,YUl'M eFyC{G6ғ 6nVd5WHB7pj/o`_j9q>&nAU.Ʒ҂F/&>>bXs_9*[)=zu\YTrժ(ᎾW1qz d-mZ3xJٖYbm!ٷNXWīڶAA!ZZ*&^gk g%"?]Q1%(sFzIW"n#]j{U,㶽 @ަb-݁;v}\&g~{~VLA%FyC!zݧFHeLޡ9P]վ=R(!qk P1Hnp.kmѴ/π7Qi깿[gS ]vN!W X@Dˮ7J# gY^pnCJS&{1%MBAh,n`󔩃 s)cTє,oۆ@ƶt^|:SYVOֻRF?-}=E!˨2`"~m3aGqƻb7ԛ*'ñ0@54=.;ЎqgSHAfֳ&ࡍK6''P.YIuhrH/VǑPt|OO\f[\o䂛';g5 MX-'2 W#D-}f* l;g SԂ5?y 7m>AHs7t =?pll 5basfg ݡ3*]B[߽W-#yC'h!HBJ|;ZZ@ecCFs;RWlJ? ،@%Ceg} zFCx[7nkfJM+eml<hIO٨a]+5^) 0kôh^30-?i67ܗ)\J,kspEswM7It7%oKúw7튌{.zfe-([tc$jeǧGQ6D0nZ˯y D䕥΀G+.hhܸ {'tr2+Y[ 8PGE mo.HJo3_e:T5dR& &KBtJ$feYe 鄸51F؜Wvas"D(\r(G0+P,D^ԫ?.S4 ;͗%WUK Դ ;'CAjDG|4`,YלA(D \dU;<%R &"Rt8X) g2= wSͨVH7˸)Kih.\D ~?{z4 q+|n '%,gUGъp~+5 3|c*X|u [VuFke@ؓ-ywV3$V4NeVnTD+inɎgDzu/vBC#_dK1T-\ ^aQL>#&PBH&s=,Pݠh<U5a(Ξ8"#h *7R2p:Y {Y9Hyw2֢@ZNmP.sg8GEbO߹9';(VYLZyWP3/$|񧽺tr)$oQ%󖨔Iq0geu9QFJ0. u[KE N[10^ac" t~\-FLq6%}t慇A+һmnbk5D9!B>0굾^1lvM.|taC ) /HG 7:P; ^ݐK-HԛQ4z3l-ę8(PTE3)ZCY ' D2=0}3Y PZ5衼@Y8˶p%Ls0Q҈xC,gOk~훠n|ջwus33zdHnDEϞ\#)]Jlh о8V, :Km)5t:܄:#=WEؙS'&2X֐<.D.YtLhSˆ~76`8FWw0K"fKt ᇝD>i~˧qCU0mH-%Q\Ouؽ7ALj3n¨-+{1UejBRѴ&QKH7IǛ[tnCTQ8w@c$fOՋ DַK~ϊr%A KMڀXvN)oР9QO%i"fK5!rߕF &fpBOWԪӧ!o< zS!5&/oCq‹m N0PO]WJغ/1 ,U) tY v80pZC}iZ`ݯ$ K%Dw 4g&&  d+8"D#7N. KӃ6p]Yqc$3C;eCicHN`;"1$f'U(d{0O8Ì`iopuWW,0* B0B2>;s$.L߱ǹ8,|QGoqOڰge1M$=({M*#Wp=*[61h@H(u[f4C(7FW=4zlk yZ?wmU"V(Q-=3 a(`h]rW`:+cTgYSģD2 QŪk*lD\Y HkCw8>7J}ĴpȖ˱{/SԊ*m.?of+1@jH5q-dzT˸Kjp rµd fVMFрA(U;T깳a/ 7G(Ĩ*< 4ܚβ_NhVh/4u86& \:~qfUTBlVXo=ՀPܗejx Wh ;L uuh[$l1Jשе:5m-xa2ތטMA5hO_T\tOMEf()ap (Zc{1͛qfr$\\΍'6G /?bS" Y됸IUF@#TQ̹[K'ư4kS 14pNIB 4 E14R(+6u?B6QIMcRd *y cӵyNLAYxXr5'gR_KYJ p?815=ZV$ ɇH3{[y|3x5>N2 7xtU ۝n z?֓+t^ ^7}"F6Łi;+yGݓ&y@}Gxi!مnR➅_Dwo ')ΰ/5ivz=)WX_ԕTaeB }jw!H7Ѡ+'7->g=]q2,:m@zՃO>O:ZrTӴOzmb'T^l;ْ5+){ W I1ͯ"|gV,ߓeЧ$ =%p%!X hk!zщ{߾[R6FrtV1[ÈWZF@|Wrp6\hEʰm2Qo i/㠥Z~Qk̇̍1xZ؎GW ]}h8@7Sh#=΀lKHg/) - C# Ɗh4F?=v8s[^X#B&yOx}68槃Gua}6K^ݗbEБ`aZ`u ',ɂ2jMw}c(PvόM8醄q'A{>{G "7=ƤcAռwY[lb qv(Ƙ*).90|)XN5ax>D4O:&H!(?y2A@w~D{7zr+bѠ7T$j%e~#N/Y09TiHzwuiZţWp&[+j1_c?Y[NUWj %VXF{@D_DM_izGrj}e!g2h[VI|-|0;ɹFr$lʼQ9KC2.ߞ!ۃ|~C ;"ݴa^*ލo;}RgiŨ2Ϩr*LJ-)qw0lI 閎e5h C'ش*T0ӭГ!<?Em:o3HX7f]z} 6EL!I"ocҹNrxZ.oZX@Q!ȴ:/?c~5;V5^ɰW=1²$+uF:e4M˟$gKE%4.o]+P (121*K0s XPu )p}[EqYA}u iBwz58UwGLaAZ\ ̆-uSZ=oW(Eʆ9`oU$7?Ҧ-wYsh#…H'\gC7ء/a1H =lQ% 5=^j#f2RIf>S]k[JOY W 4QPw(8Ӳ|)+%I+J le:4L)@=MVЀ8 &[VZuW`6:?{%!oL7-rEoiz{-ۃ.Zm׉5+t0"5Κ5)zB?zv;46 lŜw :-\ d .ocT) JnݣxZVSBN8[v3U|^+kٮ&礔E IJMN`8LJ|dHͲ)f=%gӳ ҩ(&T__Q aCZLQg_CiiS\P%aBz Ƅmb Lt":aNڜя0atO{yŝzC\Y7#1>YdTjnfd*uvnoK}i&/GS4 ̀zJͱ`q` ӁBm!ݫk剧Vp`o׶Y?CAǞ |.qy%@],(`O%i[1p(_Aʦ7ZDu=0GΎ:_+XK/gem̬>k"yQN$d-sá퇙j} ]PAђAX2*?b  d;s]lpsԓj3qهGAr BC7R 2;+禇,Y4xp4 FՍ3:nҊLy =NbYGpvc ҅{ ʣ?(=$vRk5>Z[l  Ä1" -rĆbq[adpRCrE/qgt~Tڊi7"Oh,9#ՠ*F\x`}CdxB-P|n{eݫ8u7kM>n4uԅT̹wmZT7}+ b|z[\ݶۉ~--T,`zSWt3[o( C\[ /"f!s_/*dZ>>(%X (xn,bXUo0Y_ZLc!#' 1RupkY5"B92 d62c#}@g Dgv9F9$-XǦesW5! 5O3UBY8Õ%"9O^voBmq^駛0gn%V"xL?׀dz.NG6Oa"<_.9-o*d5Uu?pfIϵ8CXD|Zց+&ݧgwS5&_LIZc\k/C\ –sc a_p&L ycIzeg"=aV݀4RVr'C!1*ySG. MnnEc UsUNU@+Dwۚ $Dc-,L1E'X \ 1W4 0Ə㈴=),\o2BO<;CoL~P%,܂!-)e$;ذ CCKE{~I<+:%ZЫ(Dkmy=N I. )??j}y^ȢI]|._YQ!c2וD3 v`FsH?^𢕬U 8Xށ[Tؽq+S$h!0OYS m0-7Kh vSKs`Pɿ,D8׆?MĄXpepT:S8a|܅fY \HKY0{wZ4>tqm~Ks o&z؛:Ӌ+'%@v8 Z \%c3vd5.h6=#Xꍃ-AK+OO^jdzZϱ"HR Z[LLAG{i=AٿdSC mJ}%ٴreO<Յ=/\wea(=(F127Hae8 1* \^$nzb>D29F~d{qFSd~G$niwJhE"9W;!>3fWT驋L(h#0T*=2Aa]Jv@qA<*YW0hL^h(gyںf?bXR%y]D 1C˱3<2F4=cisg++61u~CZ'xzC#U#K =Kfj<^V {XXPˆFs+k19ɂS 4mV=ry%J)x o-E>l x<d0=H+>qD¿vr`9-R]$I-=ԆK7 O"iwBv%zbҖk"XϤ簚{;G_v,_t9"3f )%X,#9kYbVF=Tv SMQVwO$X7]ܘsK. Oވf㶕S8șCpoBI,X4&kyOP1U½b0hB0~:IP=l%6Ɩ*P Sz./ݽEqf(wbDF!k8'\p1F_ <&$)o#}83E(dC3POi`T:7$)~GGbXvj:=8bn_8+9oۅ=JW6'ȟ]evŤ'zаV}rGG9i TԌZy~|gt# j. 6LB} eds3{rgi v :~j߼__vRVR\ ud3sʇm:ңueB)7︸%VU;PS; WS$f'o*$u&J:(QO'ðb{YVNWoMR{ޛJKܑX%DMwې ˆ}ş(wG5_ї1}oƦ1#ⱋ4n&ȫ'Bٴh֯8'\=YCL?qXG. ]Zm#{6I;GFahfXrid_= 1M'!X>_fsȆF685tUϝQrߴ&/}WL">45kàd@t/nkXV7~:~Y핢N7q"|! pqhU=pǑ;Wg|Qrqi p,9ʞ3|3(>7kZ([c75OʥJ^E0tŠw Cw3%<_7͕7PQE Nxym XC3+ `EDQA:#Yfm4ZU1HXm]2w6;5ꞯt5 gS2"M-??DL{/gG|F5߅Os>K-ѡB7۝n98d 8\SzEs~b(FV,MND8L#( ˜O'!]'&G{8-W"f=]x8`n-z<7SXqNE֪\R+yyE(` &L/o²qyD$^^,>A}ᨏr$g?š[p} lC45c6YŮ25Cvk÷ yي ٔ@gspMM@g0"!RLJÃ݆B1C\ %3qj\vԢ̝`n! I2<PO뎊-EM_H6[#(D LB'YV \1~j3 2Vq6tʡUN@ev|GYz;<:h" r˒(&69ڲ+no)hRuf_ẕ*KPzْ VFh(M}j"BvX/\' 1; LJA^Aow K+V. ֙W˒#~Vx!#U5 g]:<1Ճo#~qh2Qĕ(P$ԉRʟX}wʪg2v5f_Ǭ8*Nݔ\3v֯90&Q`*J@*:̜:ҷRWࡵiNac=k1b3m xdp.$k/O0d 4ednt鱃7zp@Oaw 8@ W/a\rګC>Ϡ^g +n?koڲ}w7"r8mɕZ<#m`{:e~uN>S OJ>B{풀;}z 3<X̟tUJ^A]jEO/ q4@eªSقns ` ePib0F2}Bh!^Z ڠZ`><$"wFCML!k]4GTaK[4L4ӱGr{^ɒxG~2vGb⏝L'?BF`{'t*tbwmi"wv//ױ/VhȎ\W׫t!E8Jx<4nRGph tv_xLRMKKpqu0Os9H; )uf-\/*"A*WIw5Cpwi v+Ywi更PD~0?TL`ĚATF,;xt$T]Fyjj1Pt.85e}RE`gXļ0BzUNos(8v#.d-`_r&1EK/2`mkՔ\v(/8p 2__Kn:!$z[e[EC0[W4p%j8X@ԷX[=MXb).\Sc-se.^;ᩯ bRN H# rTdsۑ.Gij}J֖[K9)w㞤rM K ss BԠ.n7&ys:5/>u8ݿyӿa1r~=+HsLR0D]䆸( Z+G!ze ~Bժ}UTêd<ݯ2Z:1"t/.2Tp|B3#54b˪=2IS*6'$({-2ρl.,lk8-<~TсCo qޣ˩ vz,z-܉ZI`b8b4ZhAqWpe"g\{4_-jEQB0:w}2w!g&:ϱu U+9>&?<2+86dRιSVd̻ 4Yoyȯhd~F]3/\B!2,*S7;@6oĎA :"3\w%;%TújT6 eS+b&EH_t ,ef4$OG18$/bρgH$q=PY]KP*=ږ(X#;%ތ9}eKFb ^ȹgCVtIi\۰ǖڹli̶/;3F݄={z ű7Oy赤\;͐eCPXàEz:Mr8~̥}d}iP.{\U2׬o ~2B]T1a/Fiw`R5!:@+{ll"{(Kj mF&*uQACv}zMNh H]׷HաQ'oZ|'P [yzG$+К%gbJ <3XP)g+gp V … h/!C<I >/.ہc(LrĚ%C@O\ZGX`=He@'̈2þ%3T?ui:J+jBcxe\L0׀Q'^jjaIWJ;X>tMmG8Y•# L SM&S`9|G(L+ݏPQrF%ӣw +R4Q\$PK[Bs;Y)VŦYZ%yzSɋ@8J/)9V+ԔsJ0cWw~mwa TxhI>*©l-zc= zEx8or28 kpKIats,4Bļ7WC?9UΉժ1ؗ>"`JLhUE|*!`>g~on: *eՉhgSK&? `h|7ԌҀYE}J@D:)d{dBX>О` ́6= '!'sjе}f)ERhy1^Ƣ5+SL.49<$nvw|]"X@I*gG =:QKQO8DaJWs "qd: Hl/1ԋgZvzNE_8Zye pK_tpgOpqX@Ө5INV^|ů>bSa4TѤ썬.*C5Xa~hA5Ǥ$MR.S6֬=(hi q.%,F0(f nT,S-vO=rdb+_i|dSS lN?z"> mB(j5 ѪJ[CO7e|y=c Zo^|\ i?vF$0f߿R*5y*2B!ok֌=ܤwR$p,Fg k{q:YKبfbJqM<_BP.6TsyjfQ88?@J|  9/IDNyK۴MJO_WDEA<tkM' `{s<`Vӯ=e 63\ OBdͬO%*ƹ>L1G0qyA ezOCۤLwd֦(͙ O.hV_[!G~mimhN?;4]MiJߥa[qf/Os2&7 "읳Ģt5֗F%|=OIE0\ƌ=R26ء?[dܠ8SǷϹ ysGfZn>Rƭ0͇#'.7^bJc,zo*hr=Z@#ß9.G$P+@'{fO8ݳl<:2yJ&YV&lJ+2ykGCjEM039h:Otp ) ?c.'hLB}D߹ԚS&x ҉/ε:<MB*|f"vYK|Tp#Ҙ &_K|}f.{Y4U|&n'uh82Z &#F?(uz,VuY`7h`z③j.ԝSiIPiaSƋ),V?$4KWXȿ9#koCSS7;GɛÒMxRki(b?p3DX4d YCp5ы6FmLlo<%5~FzHm! Lc|s| ?v& JiufFp̌nR;_GPn`A esuE9AYt2h50Wl!əlg/|#.VDKdHh(<,7m"/7tm4qyB)Y~$gk苖9L=9?glyF: 8ޚFܢ@j$?a̓ l#/;?T%eXezs-)ķ1V(R6#TDKVB0kh\pGU .TU^u2 eO>W-:%CP&G⿈a-kp$eh6M8t#!!r#wA.Xה| ^H7($妭hSGϷ_;-J:!Xm`ug5$:Zcs2taCs>`hڸrb%/䐑j/YΓ3Xv~ֶv7&l++/8ՏRDm؇qB/qiPѬ Gpd w? "OO!2]pʟ̷k:Ig`xڡwLɭU):Ob̴ o@ !R-N9)z󣱚 LkދDegNmc J؀B~1`iM>*PQp-x#gFf]a0Go*7lD1i01n2( gj+a>߅o6SCׅrөb+B0"d97=X+GOЀ bʿR˨m0abL'cca%;͋4ep*vP6QO!"*vhZai,MXtq\/}M9/ֻ%s@iK3d)x|Sw%r8 E% .ocvY}/R=ؓ ; =hP^4.ǻΠfPG)Is| 5J/Qbzue^w:>ߗ |:I߫'nmDřS8SϮ^P Qer.@}tş|v?hCnm7 oqZ/u k4`˻w_-,RDXk)CXHD]U9YΩ?CnSDUOc@yؕ\r'Ύp1 b!略@!xWʜeF~!Yu+K$da14([/])-نZ2"fd#4”8[_\9q.m@=՝-V;௦_٭be{{8ݿ{9-Sf`)fǕ"J+PG<9t-ZPN4v1q"昍q\j1mN3QaJCen0*'ډ?0rF 6Dk'"7Rh (bGfhtg$^6]y>0_>Fl Q# h5v&U-w-sXxT!@A5_w8\JcIPAW *!GpP TnuPdUҏ;dȞ[7g0`L @h\˘]fE MաPig'(Zf*[QY%o}XT-iH4p@Ar)f;|xƋW s RHl.mG # \u3ă]YjDԲ/kW[<Jl%W֛> !  +0څQPd43`#DP:8ORA:t \-͔1OڱoJ D["nmnwC^tezt]޸K1|ǩ}Յd!\s `(UI$!6\*p^R( N, MQ0--7˝rvL6nK̢T`PC<8!XI!ڥ&֖>1M zi z+_b-A[5C[j5>{ꟑaڣ3# =*`aM1.]*)=!%Jcu& +-䧇JQǫ3#qiYu&;Cobi-$m#KY3!ZN> flY!=ho!|wG@6gӉck9 аmiR ˷F+,V:V⭠7 a/͝{*4~R<9?R[5@ҋK)PDD N{ȸ2ipvqiݳ됭iw`1T+<Ƚ𶞿u5t?TNkw9Ʃ"0 VN;cs=LqںXq* G8_QPKg|/@~LXò0.՗K38rRĞtQ't_/*mDb3BiEr[H4\0*#B3Ŗ.0[m@0,Q; 3%MC}lN ا- I%e_*ƍ0~:n숃ys ݢ UUOҦsG Yk"  י!)a-v0]vV9X#җtIJ ,W]BkT:;QT7-w4i}&--6"g`j8ՙnľݤb^a]KWT/1xkɲ2QЪK}GV!LRmn$x3Nl@ۢ\E-OoD>p|MfQ YЖh8>2LíIqr6n{v B s]c!SNJzEN5Wчq+[*U1 ^hV7A0QiM+\G*T j&2WŎr(sSs08n*C?}|D * \2*]ɍS ^d#;  eL̓+#[*L!p%Ci>#Asom2 E>jmnݰD(>XaҷOreoz+@q&8^Hڍ۸!Ndt=r8&C21# A=8ޚikYkIYQIaUܤͬޡr+K=^ܑ?ΡW{ufIyφͿZ@˼9f3#g؄ .*d.j]9f X!#v@Lǁ`%4/|+YA(pǥl3T-c7 ;g%, S CςDVm?߆ i N.U"ɗ-DH7j˵`W3Ut'1^WYnHR˪J&9MCnjj'eR:D2j6$ uWW3bџp3=.tT$Gbr绷P%#> جovJcκbuԀH䐕}.w5@M/B$Z*A]Fo%> &jbY{1UVo+qR1408Y(#s^*1 qan-0ZfDs9V*669܇qघf]>f~iIӾ7;5nؘw֕;l"\ տ1XB,[Sv}N<,`5=i*Ɍz;m?'q9p8Ϥp5ٴ*RyݟCq|z>I.LI˦H҃!(B d?s@8\hŤ[4^˴C4'=a}dC0qQ·"vbCjSf;׭T\Yo?.^dOމ9-8|r4jϕnϟ:'|# (MWUx;+tSZzn^[[ BҸ?dBKkfQf60f,9^y `P 애[]05tȗS)CgFGox(&G\\@[IVkŠQZMgDq(N ֍^{RY/oo+]|-"zsIҍ d"(˴t/'UhV>Xnvd ch a9 M`P)o2&g1 0B#f}9 ğqeWl9aClNAF-xm:H=ݼO6R~U|ϥv6 MחF^eXvH//j% 8 m*2Sj*tyB>}ciC?tChk&3_=iœ,ɡm~H%GAZ7YbV{xRѝfP)8&&/ 9VT$**tג&$yM_er(l۶7uR_?Q y?a GMtVމ>(^0Ze՞5/p@\V/O]a 6J~o79A =qhi/f_'#FDij&Se6}h]ڼ8]禅)!\ĐO. }x=\B-ߐ]{C| te⨈yYRƫj+OԶX\;M?E KNL肐7y_UOvЖda#<"("#~Nhߞ5-а#B5r/xwvja%FvQƿ.͑ߝ3祯;@耴TeD#6=`T%ؼgzZq;$&Y\k:xd]sF[ vw3+$lhCYP` ^` 3+(ǐO{jhs+D][Q9+anq+cˠi ӸWs9tW3>їF\ЫyXs. +Hͯ=#(ͱ`BOH[_Y%ۤP/ù_|=7;N"g#AKXL R f`9UUVb!XBM ^ej߳ӦZ:A}w>c9sudw'Au g^@e}EM]}T4++}$4VN>`dC)0_`yy#\ojWvB&NWjIqv:ر1][2uvgtA(b̒p: іT.7>x>v/(Jm/MLvyثhpcs6g.nȒ5&Yh B/e1Oښ>HB &-x`vV)6r)"RL-So4xqUٴRGO9Fupz8n ΰ%[h1~w71F*M; pf)-q{ښмDrX[m)NKmyETs%n6hʩxF2*BqH[Dģq"ٕgr^+ &}Hbm2onUcŝ 4T! v9 c_SbW{Fq=T(,ЗŔ"q!YH5qc-)226U7׹uBDroۊz;/Zjh&j%}TUgo D\c-4 I@$mS\ONB]SF͠7nD9~ LTil#Us 2{`Q{rv+aG:4`ArG`3e8⾶Ģ`P aG :H'y󠹇u֪s:ekZhVѱ^H$hԧ|=I [̌p:RwnQ9_J%0FeF(#&9[lrl9:C9JHVP' =ڴU)8ߤcp/2;Rk.G՚@9S/zU !q' [1?͠#Il܂Ѿ_6RPeME|PF*9ebz6UJɲl9ջ#vbEv79mWRЮnz+  o Y^p\X%%>s$a99&VVni:Eu&G =𠳤J\8]A`EC4xaˋq;@%J fhͺeMz{r褙rCqU[E*Ѷ_!reƲJ1yoYD>*iV.$kAHp*ČM@e\dh ./^},Vm@.ʑjFKLҕ)z ƺ=qZ$pw͒r+o )bǕVJ٨ICG+}~ZD ՚C |m\9_@d:Kw_f8"P}/W\xyR+z)K8@.$d`h2yW9c9q\ANN-j>yˎ{)ݪTx lh&O0 SV_>K^i!frD+]j.VbQbW:i{a`+$PmuIka+1*%s|!Q™ ?%N9G_+T? ~1؟~AjfWR$M@ؼX\x|̀1-6R7||0ʜqԃM<}-#SLB9*xŋGülj};QIed,>ਓÐ%{s[4=U)]:x,ϼSq)jSr=4Y\*5)EJp&c$BiUѯUy;)w$؂At]yQܸ3w,3r)B҂@m5p[^i)!K;J"&)p㽰~F yY16˙$l.7WRT&~Im,ZJfdEqU}1Trul+%ad_T$'n=@:wzt\AeDҲhQX㶭;H9 sj49f잰^)*P7=Y1_Y5Z-Ċ}O^mW~ 6ׇNs(%"b+>qiYh$Z0Ǖ~WLͦJR|}J~3uț%lg¢:*e=/(O:NdQ^ 50]Vf 6N̥o*߆T m1H%9,z^ox)Z&y^M\9tWj=4pB,<7E:`&otiՋ84mV#Ǩmll&{:s jhDد ~ m<.0Q")K;~:0?vW~kX )hZZlYp 9/~F&=CȠw1@/RiXKTa3ç}qCWr% ̞??QC+gE )^;K `IBv]#TyTX;Һ^7E4&;ek/.έ< VݵXIe,/@>S[l8oqJɯ?7? *buV8|66vhf$\ÖOִk$^$:Tt:;իW&c钗9OKrp)8mqV +tNQ{:W\pA0$i]и3G%$<>nЛ"fG ZF \$8 J021 =FD&QSY1$3Ѝ&;DŽ# #4lDN,P /dDYRcɆUftƳ>|E}=\XdPlV8R?eOw|utH)7o3a{<_9Ǩ-ȉ6%)LLHK*+椷YR'lM8u lL%i(K֗{.82@7$AhP F;qDtj{&R-Cyqdw7ɵKqǺ_Zg9LzF0F+n [%giG7P@7R 4"έM/ Fkuv^ٚ`m Ѱh&2Q(>q &'kѰěîIi̙:7tR`s:0Se&0Y ȈYNrz :>F~~*z_6j~sofriaLxJ?"h>ժw*4F;ь +P8Ke^)!F+h%2ZFjrUM-a"qRw?*<*RZbďi-"s_nPR -.{\”Oqu$ Pg2ve;YMϕ")!׏xKswH5BI!ڋy-;z6t.uJT'R눈l|mۚ@i3#m R}ȠM~QC)t0XЫ.EHҩKV^o]Tjf &uhN[hP7SMn3/A |1+j&ؕlbb6ٷ3\x}!άte̞`hO9gOgϡ|16~s FCi.WT7s#9dȞ>ZYasQL76`{Oۗ24?{U 򛪘/ f-Ԕ6p!Oȭ/)7';Wܙj5ȍϨ )sI\##@^985.1B2B0$)-Xl̵~^H͡J m Mc3Wֵn0VV8v,FU\ e>}A<榒z ;juh?r`R+#["JS9A}O@Y,|"Oֽ͝(l C1ð"^*lUa-GЍ@sЈNZPQFh@Ҭ wb6 ; f]*wv/dȩҳ ӬΰM~T#q3/ّheUF=W06Vt'd& iTĝ.ԗ?Wf:ݾpy WR>ɫs$2/Ck*hn/E:3 P>PTu4apx2>W !KmPg9SP1glѐ1J"՛ګ2jn^sPLgaVs](z Ei XT]&UtC&fKJ@Z187du.$ٚHQԟI<֊q;# Wɯ\ƺm,,Bx.L)Dr/\= }V4 Ƒ70tgh70 G7{q݂Gyki<#ycܵ'/*HV dLmo!?_+Q ʎE_k"˨9no<)o[ݰyD5qp^uɠEaĽ'B6UKblɉohBK-U"Xr-Qzt9fyŞpb\@o([|P[I2KNʽd5J(cQEͶUvK,wnjjJ+;dx*|^gy tìK} tRȺ6ўqq˽1epRc o_z6r!pTZ"u$O=Ԃ"B.CoOCYMҙ[} [d 28K .*>".  k;0 -&➽E?Pc˚#ϩ'+?C{TDIiZ<;GCO=8D5ˮV): -.Ht E4cuKCj |~@SpwC#t..U'zCFd Е/ʼ4fߌGa W yjs'SY9V;$}ɊBWKs(,%Y#6X. ung+AIꗗr&?y LtI+$1l6[(׸TVB@;(s4Yfpj]шp>lvmNʋS<(\Jv-rT?A zH[b{c_-;&R|[gJL6;(ЩFhJ3L=3_fOiyMFȟT|_ws+80K^)(:%]ӵdHב{=ί^$i|aRm h |h,|x~'1_wΫ+GοY厌o2Y%!͕d­ ]\&)FYGXZ6RSM졀akB>_ 8أ ߘ %9JԺ6]Z81Oi3 JqNcBIQ12~uMyZ`;ڸTG6`4d"P ':"8K9-+UCulߗ1ilj@2&h4|W:췻o,Nhٷ{J]x5#א@+OjE&?0>B^\`!P22L|nYC5ԘRPO9+9qF #}7pʲ/1}6~l-Xk#n\z+9DaXx.C& |&eJSȬ:Pt2:SWtկB KAyoɜvhcC]K )SmXCZ?m%m^G\\>dGObz!89L_ơ$ji%;nxRYbp^_VKnK<퟼G_P\[D+C{?`LPhGQwx%y!S7m p/!(nÄA>ŭr= 1o<+hG4~϶LxE_mH2{HI(rrrl*'28w'2L.nP=Fe8C;Tgg"P﷡mu` ^t^94&!},=;7SoC]Sfh+)mF$a2hM15+w&+g!V܄H';pϛ wG6 RQVX ?'\yV7H4APfٶQ)N sJw*٧afqӟ 9yZQBL7bnR3B.uQ)RnyىA\!HO:t{q-Tst~j_ Pڇnݟz=w/) KP' y奣qᵴt҅#-^.ɰH ߄:4o``@jHet 0am,PQ֫| d((N1[QE\ߕaŸ"&#&.ZI͔"XWiK9Y0c<3\;CHxP5󒭇VǬ;PWqdgFG?/¼~)WDo3ۉj'Rk)eJ5cٱ!. +^+d~4ק߇7[Kj BO0)kQ4`kM.]q{@1YUNۨ+}->bxK [L"Dka7ik96@1E-aKa"&%ѱ2.N Sf YZ