python312-testsuite-3.12.4-150600.3.3.1<>,bf{4p9|5Fv^1'C l +ID^u!ec6FMɈ` 9v-^x]l@&`KP*#4dtf߸=G+ h{L(H Bm& Cn6^=ơ;L~*Na6orM"+.+2q}j(π<8(EE/ 7pUҝd73ЂǺ{A\ِ2;$jqt@ l4c5 >T>7i>>\?Ld * Y$(Abm LX q   f yt!e~~Ʉɸ8(v8ˀ9\:F WG WH pI X Y \ ] J^ =b p5c pd qge qlf qol qqu qv (Kw xydDzHCpython312-testsuite3.12.4150600.3.3.1Unit tests for Python and its standard libraryUnit tests that are useful for verifying integrity and functionality of the installed Python interpreter and standard library. They are a documented part of stdlib, as a module 'test'.f{4s390zp36^ SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Unspecifiedhttps://www.python.org/linuxs390xh`8w@; 8h/CjjtVqPtV+ + +  ~ZDQ]`6;):;)g3g3g3ed]fd!! )@@@--|~|E|~oOoy333!!!XhXhX3^-w5 v v  XXXeq-3+-3^%]^%===##j#<-;<-3.3ўtў4 34   $$d$~[}Y~Ν[[[;;;@@@+++,,5F5xx+xgM`gMvuvtututuv.>>FfEFfg.fg.=8=zzz G  i &A&Arrr'''AAA XXX ###NNN d d dQQQ===  434^^sssqhqЮc>NN }}}GG `4_`4ՇHՇ11((*C(,&(,!C!C!CnHmjnFFF88@9]]k];\;\;\777T@Tsxrs...&&T'X3N3N3Nx""""U"U"U}}}Lg451532j3646SRS-+7-VVV~8|~8SRS`>V>/>VW"WH~H444? ? ? [o<-<-==o=FFGG-'c.bCBCqqqqxmTs _ _ _<;<V‹_HZ_Hkk0.Q1'vvvrpr CB MMQ>>o o o z# 6#111o˹I˹ppp  >>>""HHHJJ_KM \  - rKoJKohhh3*|3JJggg2o02n***TTT?Qpx x\ؒGȖgbgGgb   6.G6H66G6EEEI%HI%iiiP=PP=AAA~~~WoNqR|Q{T{nn-m-m-m !]]e.e.e._&???33@?@ipipip;!;!:D D D VVVc=^c3M33M00E0...NNNmFmvpkvѝ((({̐̐aaa[c @u@u@u%%*%VVV222.k.k.k{{G{ZZ///??~StT'c'c'cYYY.h-.h11^144|POPMJ)MbbbZeZ>Z52C5PҹP%4%4%|```G}G'G},,,o=l_uW>=o>VʱVfQQ...\\\22%2IIIPvPddd<<<4 ( '=( ! "$QQQRNR4s4F4D AD eaOaZZHHHx:x:x:   Yt.}{}___U[U[U[)CQtQ#Qt777̐+*e+YTYHFI!!99:UUU{uJ{$$$SS55XXtX9 Y9 bbbgvWvWvW!d!d!dT KnT rnLsqgggm3j$mMZZZ??? eJ323444ee_ ^_ <:{<MMMvztx5z}U#U#U# WWX7m$m$m${{{)?)?)?0 /?0 AQ@zB`TgTgTgffroqr  t 6b56b h ZZ!!!'''uttut!<!<!<(((YY}wKONO85s86x5,5,5,rrr44K4DcCDcUhh RR---޲tMwGEwG,9,,9www'_'_'_ΰ''E>>>z@wz@tttLLLMBC;:BCm/lm/$$$ݟݟݜ.s.s.sr9r~~QQQ?uF":j434:MNMNhngpgdm05G111'yr. . ::&$$$';  R" ^ 24 ZxFJg`DYSFd3ZFx*a4CL3^d^jjjUUUtDOx$2?+sw! 0 Y%1HԹICvJnw~%* L`p$(y`01.-irxCa>$ikv37D14cF/E&O\mqKjbsx~r $>Mrz>0=1.-<~!!OtwTkz9QF>K/ng>ia( ^>dC=J>?525d::VVVVVVV^;^yu,y{5>O !-)beu v::yTbաj;\.!Z+% *D/J! qE$8 RPa8B8B ;wBLnS1 &X&&X77F7{ x{ 333UUUl kl (@(@(@gb(g:::mmm#/#/#/ ^=r=r=r$$$...;7; 0}#%"nE8:G@$bsj&IeE!LY {OR^0 f#n+  x"uE; R$qqqNNNbbFDFFSFSFSQQQ9$9$9HFK"""GGGU/P'"3s \UY h{y_jt n"""oI ;.;.;.3 2[3 LGLGLG...UUUMMMGGGGGGRRR+++XTWXTzzz  k A k'v'v'v\\\7770)0)0) B BQQQ'''+++++,OOO ,,,sssQQQQQkkk### [[(x 84]+{_3 G < a.+$9G  BJ M z &+ O{t2".LqjqHrnnn~~~PPPEC~ P,Ne:h+˰b;IUbL77  >  3+ y, oR$e&CsH##777 ` ` `˟˟˟HHH۩^^^---LH%Hkkk888 n.ktSJxf7B|GB,0 9#0 K)   .jlm@ I.p=d @r /k$ j%-)629:y> /!*)NoO: * 8q8->IV' ',,bbb s s s~~~   _zAL ueeei$3"$3J1EJ1#r!}#r{ kXEp) G%Y8g{pD!A0tAhAxF1J?BA=3; 2[A!"  ...--->>NCA!!zBO   2Ct!+CCCGcVVooo3Y000:   ZZ BvBC e(e ttt///@ d  dRyLc=<:MRY VY HHH9P89)Xq''(vLLICQI : ,;: W ^L^*^LL!<* ):&&{&))*:PPP##%$}%6I26I'T''T 5 j ?L?*?L5/5 P}#<% ,LQQQ9KK""" C ]**+FFDG w $"R$ , , s gD t Wl:֢k֢/)/w%G#% -CzF7 *0a i!%u}Y2b!|111###EEE2d<$q {3brGmmm   &c&c&c V V V     v v v WWW 000 i#e .! /' |%u(n::   % % L=('C(77zy zTNT$TNq1q%2Y{|}[Kkgxy <l\]?1*R,)#TaTrw-\W >A8ZZ[ zzz4444%%%=M0?,RWWW-v}/nR+{Xjv:'9X#_j:   WWW&&& bbLB#)%.-R&&`cV`nD1I~[X"H?@1TL/( 8_ 8'P#'Pkv Ruy5j w3 fov/,/TH N<85w,% BE6]2 Ws5 5 5 /R/3/R74?78###_g_g_gX U X 0%0 FF&E02L<NOv\b#Wo4G )P9 ,_7l5,5#6R;]77Il3d>+#w$N'|<*26:ccc::,,,!<!<!<zzz %6%6%6XXXt3t3t3{{{R[@j5*6_M%W<   MqM Y YZaaa8  .& 3-F,*57'  ""E (dD7wER:9#au$6&ZJ<H J  LHLD DE~EY0j sTV ;&:N'N'N'RRR/:~BO48'1 b*r 7C A&DD : m m"!"ZWHZFFF^EE)))SRSuu%uVV Vbbbeee2AAd*0FZ@wNu;UtW;;; I I I***===535[][FbEFb } } }YYY q?s=O-/k'nBf[7%56@ )?$ m5gdg(888"""Y)FA7) Yh uK %YQ Bi666qev  ///tia* (Ijo3#*EC5{RRR  ^2_:.  .F jj? t txg>>>KK%%[`QD'!JJ"vD<;>pUdcI1, HXH^{ zlkvEAA큤A큤A큤AA큤A큤A큤A큤A큤A큤큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤큤AAA큤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큤AA큤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큤AAAA큤AA큤A큤AA큤A큤AAA큤AAA큤AAAA큤AAAA큤AAAA큤AA큤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큤A큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤큤Afzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzfzbdf7e75d9d9fbd4c1d96bd8a3c16740ccc1dd29ba6d1070f2d06044edd1ed00ab6c7137ceeeaf06f4c28345aba414083984d0978a4e84180c1282a657c70cec8bf8947fdff4effbc4db73207e784a4ac571d9e26cb9d12c37e2a51416fe6bce06448ac4a5595ce4bf64e920f620cf8b165435e8076f149c43383357d3a112333479b180fe6bf7fdf61832c40db00810363905e631196db0b0f2f6114a14a0411b442fdd5ae6894a19498cee51845f1f4f803576557f2f7685c17adbbce99d879474d2f1c400fd54fc16336f5f0d436b6b9a1fdaaa9441b458beae30e6c079700b1a2db60ff60ddbd7cb6e1510f600096679658881722b54859da3d7657267584868b362e08df19d10519009d4ec5fe9d170d4f5ba9947be6fe19a15eeaabf32cc4304ac1099d9d4e01e82ca0aae0f6c362474b1b976f4fb040c458a296cfc8e11933965d3f03aa674c8ada3b5d73a2287d71e35bd8e4fa6d732724ba951dd27a836cdb388117cf81e78d9fa2a141cca1b14b0179733322e710067749a1b16fe96e1be6bbfae6aefea011520b32672ac83f731d89d56852019b8a328a7ef047f0164ea1c63d9ade9179a938b287929d4ec3d83ea2cdf783d7b0c44b9c9a48fb8f164ea1c63d9ade9179a938b287929d4ec3d83ea2cdf783d7b0c44b9c9a48fb8f164ea1c63d9ade9179a938b287929d4ec3d83ea2cdf783d7b0c44b9c9a48fb8f77938c235cf74d97333a76c2dfe707f05fe7c26a59ebea399abdec326c16368477938c235cf74d97333a76c2dfe707f05fe7c26a59ebea399abdec326c16368477938c235cf74d97333a76c2dfe707f05fe7c26a59ebea399abdec326c1636843fb54a16af3b36674aef736ba8dae8a29301eec9e9fbe42c66d2f4c152bd33f757c7b3f6cbc8ae7e3f44b8d03c0682ff20215f27d9dbac739a14f97cc9d802773fb54a16af3b36674aef736ba8dae8a29301eec9e9fbe42c66d2f4c152bd33f758145cd361e66c42ae6b1a129f026468ea12404f1f488b8015532ae15d095e8c53538da7e0a45d11d8782bf13bda94243fcfc7715cf18140df6db3527f4ddb5c58145cd361e66c42ae6b1a129f026468ea12404f1f488b8015532ae15d095e8cc8200c9c89cbcf9e6a5439b9d7caf8f4b840c6af729f2baf1c99b3ef16d0c152c8200c9c89cbcf9e6a5439b9d7caf8f4b840c6af729f2baf1c99b3ef16d0c152c8200c9c89cbcf9e6a5439b9d7caf8f4b840c6af729f2baf1c99b3ef16d0c1520f4a624e20ef3dd498d3eb2cdc2131c91cb3a17573f845cabb7b4128d966b8f80f4a624e20ef3dd498d3eb2cdc2131c91cb3a17573f845cabb7b4128d966b8f8e9926b359a3001d2064607a2c458ac88a79890631127b85c124fb17a29aac2545141b1a320fad48266cd9a6f29f2ff0ec8c891df041eed2e8f929c96d753a18ddf0668767ca2417f74b39de66a93760f4cefce4fd03ecfb63c2a480d3a23ea8785c9addc1790b9106cc7d2730a0f165421e37753dbdc009d4ec351b149bc78ffd35b4b99a25589f39f6448e4a26cb0db7ce1ccffbd625980e1d326efe1e48953d35b4b99a25589f39f6448e4a26cb0db7ce1ccffbd625980e1d326efe1e48953d35b4b99a25589f39f6448e4a26cb0db7ce1ccffbd625980e1d326efe1e48953e126bd709822cc394bb02ad0868276a731d3fe6799d23dd12329ca960a7694e9b271cd0f5b4fe5dc71c2228197876b207173f577dce26a1b3ee18307d6721962e126bd709822cc394bb02ad0868276a731d3fe6799d23dd12329ca960a7694e9be5f487dddd83d51ae7ece9cb70b081309be38d47b5e92039d0fec4dd1a2b5d2be5f487dddd83d51ae7ece9cb70b081309be38d47b5e92039d0fec4dd1a2b5d2be5f487dddd83d51ae7ece9cb70b081309be38d47b5e92039d0fec4dd1a2b5d26624e72dc9dd20c502ff16b586205c4e42c123d354ad8f5c6576520c5c7189de9a619d73f579604830a05396863fcf5b2d5889b5b6d27fc8234aba996c937134ff533cca81470cf9ca52b49c4fe6caaa83ac56305ed703a0c4980611d732500f10f9cffd1642ca2252a88fabc207f4b05ee69bc93d8dd400e8dc8b7e772b2adf10f9cffd1642ca2252a88fabc207f4b05ee69bc93d8dd400e8dc8b7e772b2adf10f9cffd1642ca2252a88fabc207f4b05ee69bc93d8dd400e8dc8b7e772b2adf1efe011639387e23e16890656838084c8a35890f67c2e03aedca14f9fa93b89d1243f224bb5365d0b24d046a5ef760a5ed0ac16ebb4cd0e1f0509f2719a962451efe011639387e23e16890656838084c8a35890f67c2e03aedca14f9fa93b89decd4cef94347a5627454d7d293c18de1a126b93a56e635614fe9f0d1d0034338ecd4cef94347a5627454d7d293c18de1a126b93a56e635614fe9f0d1d0034338ecd4cef94347a5627454d7d293c18de1a126b93a56e635614fe9f0d1d0034338276aa7b9aa76469909601f1ecf7ab1956003fe4627a3b139aa4546407a9420e6fe65ab8887c2a2adf38cf1fdb47823680e07f3866e2369ffcb21cd9f0095b136096597554e243d2dda7aa33e5a7c32160d0f00ee8520cce82cf221fa07cb8574d412fd775d6ba94e35b447666ad5e6b61b953c8ff9a79837cde68defd1d3e7d5d412fd775d6ba94e35b447666ad5e6b61b953c8ff9a79837cde68defd1d3e7d5d412fd775d6ba94e35b447666ad5e6b61b953c8ff9a79837cde68defd1d3e7d56c805a2802c995085cc5e34d57722382c9d3c50d55458aaffcea96f77481cf0b7bc41242cf9bbbcb086e981fcb16ed71ce21994e8e40ca2fa5efec9209804da66c805a2802c995085cc5e34d57722382c9d3c50d55458aaffcea96f77481cf0b0c886ae1fa4dbb0a48cd71acb20bfb2e6df8a38682d95ba6ff9821a0ac887a7b42cb974020b1e4218d773effb7ffab2299d113149be9402c532e75125637015d0c886ae1fa4dbb0a48cd71acb20bfb2e6df8a38682d95ba6ff9821a0ac887a7bff96d95890b894615d560679991ef120e422fd9594b5f4542b992dd0fb45fdff5f4af1122f9781e45bbb06467f5abd133e67ca3f51f71d57d50389c941d6a680ff96d95890b894615d560679991ef120e422fd9594b5f4542b992dd0fb45fdff7e229332033d6b0fe07a5890a1044801ccaf2ba38e7489b556cb963a35aae7f6a9891221ba73b0a2e2a707b2cae4444c3198347de03353772820f83a0904d9b17e229332033d6b0fe07a5890a1044801ccaf2ba38e7489b556cb963a35aae7f6339a839964713aa6cc1a3c323f93e4fa6eb4c2c51d13b74d61c3ce6bc9961847331c10faf5a17c226789ab5dbe24233ac9195064ec274d154849b416f62a97dc339a839964713aa6cc1a3c323f93e4fa6eb4c2c51d13b74d61c3ce6bc99618477a9c2b5cd5a1af20628b1cfe33140c1ba0d2288c2aacc470c1bf9ce053d9c3464050dab0ae4631ae67f81d40a5d842ac5db52dc712dd75f649b2ae5ed777ba237a9c2b5cd5a1af20628b1cfe33140c1ba0d2288c2aacc470c1bf9ce053d9c346e59aab22d11404fc4950c0f0fb4ec17bbe88dddc8aa12c1d9f00a6f083be3055e59aab22d11404fc4950c0f0fb4ec17bbe88dddc8aa12c1d9f00a6f083be3055e59aab22d11404fc4950c0f0fb4ec17bbe88dddc8aa12c1d9f00a6f083be3055f7864e4a31b07a32349906853ae33845b1d7e10f140933e2cd356c4160d38230f7864e4a31b07a32349906853ae33845b1d7e10f140933e2cd356c4160d38230f7864e4a31b07a32349906853ae33845b1d7e10f140933e2cd356c4160d38230653ac0c57eab77b330bbed9c30b02278b30dbdb21b8327cf3869c6a02a708ee6653ac0c57eab77b330bbed9c30b02278b30dbdb21b8327cf3869c6a02a708ee636441fd2b6e4b2e1bf33c3c19579b2ee8a4fe2869ea903e803a9f20447efe5fc0e25d9a380c411c175e7fce6702c82669ea738eb00a477d219ee9b9b3bf4667fc029c3c2e5e71f9ef3e047bda5dbf7cecd1688478f2e380ec310e0bd6dea0b5ed6fcdc94fe0b7cef0d9de1cf2550303b74208597305a34d9f501e14ebe1197ee8130dff3a951da9ad17caa7f1906a5f59eac0be663fe497bf70311138b87b0a75abd3fb91d9f542ad57c8fa60bfa63f8960cbcfbc7e5e9dd5a618aff85021f368130dff3a951da9ad17caa7f1906a5f59eac0be663fe497bf70311138b87b0a7393dc5edbb0088dee2217954093882441b40b5a966bbcd7b2fae975177dcfa782d432702e222df01e399d0ae15fd5591f7d54043b78f340a54828ae006db8a24393dc5edbb0088dee2217954093882441b40b5a966bbcd7b2fae975177dcfa780fa3f2ad8f8e41079ca0058c0529ab7ab7c9e13ca806ff0b5ba83bcb826d638c176efaa5feaedcbb6e0490762fb79b0da4464829ed9e719bcd9b8d508102484f0fa3f2ad8f8e41079ca0058c0529ab7ab7c9e13ca806ff0b5ba83bcb826d638cbfec1272c43ec8069374aab275fb1c7f9caa94326feab06efef7d3b4ccc60931bfec1272c43ec8069374aab275fb1c7f9caa94326feab06efef7d3b4ccc60931bfec1272c43ec8069374aab275fb1c7f9caa94326feab06efef7d3b4ccc6093175e83b529e2c21ba2d138e18047ad26dea3ada0850e83cc2cbb0dfe6ebcfab5a33413e052414ecab3a3d4bd9fe4d161045f7e90bd044278a6790441c33e08d826a98623b2197ad8b56d4db2d007181899de17a526d7b2671cfd5539ee46b16189dd07c06fa1a97331993808a273209e68467e129fd6c933bbe46a9b5654441fe9dd07c06fa1a97331993808a273209e68467e129fd6c933bbe46a9b5654441fe9dd07c06fa1a97331993808a273209e68467e129fd6c933bbe46a9b5654441fea0fb774b85940ca7155c538f14498118ea50b318f5a0cfa8cfb798a76d162319a0fb774b85940ca7155c538f14498118ea50b318f5a0cfa8cfb798a76d162319a0fb774b85940ca7155c538f14498118ea50b318f5a0cfa8cfb798a76d16231936436ffe2e144bd8fbe307944c1b7c85a7ce54de94189fedc725f32efb939e42bdf9769933145833a856bf4f3469a8223b261577dfdb3ec4ea3e707b88b1391136436ffe2e144bd8fbe307944c1b7c85a7ce54de94189fedc725f32efb939e42fc9b0443c1beed046d2459ee523965c92a53a48347125b51a910dc8e9e166dfafc9b0443c1beed046d2459ee523965c92a53a48347125b51a910dc8e9e166dfafc9b0443c1beed046d2459ee523965c92a53a48347125b51a910dc8e9e166dfaf5cb6aaead0bfc62184862b47728645ff915c33ed6b3a93138cb947cbaa58403ddf404409553446ee0397833749b6b0706e59092be9e3e84586ba3f32a13fa3ef5cb6aaead0bfc62184862b47728645ff915c33ed6b3a93138cb947cbaa584035326be11924cb0ef290e8e8a8b43258f21fccf10a9a70b2a8acd4b4b77d997e95326be11924cb0ef290e8e8a8b43258f21fccf10a9a70b2a8acd4b4b77d997e95326be11924cb0ef290e8e8a8b43258f21fccf10a9a70b2a8acd4b4b77d997e96196d893ce1b7e775e3ca75351c211730803fa1ce62dbde39684d35d20562b056a32bd5a4ffad8066dec236d5bd9bae0547c996b5b462ec1d063c5999ddd3e5c6196d893ce1b7e775e3ca75351c211730803fa1ce62dbde39684d35d20562b052b12c6b9b4599de7f8985d3a7828870443b496b33443ca2aeef5997ff58b71d82b12c6b9b4599de7f8985d3a7828870443b496b33443ca2aeef5997ff58b71d82b12c6b9b4599de7f8985d3a7828870443b496b33443ca2aeef5997ff58b71d8b1ccdb0752c4cdaa22565d219466f94f3cd8709c430256756b2f6fff9d73c05e1a9db7512ca6c4a7ced8395595bdc2398c8aff833446acff4b2467233a8f004eb1ccdb0752c4cdaa22565d219466f94f3cd8709c430256756b2f6fff9d73c05ea47f136d00e11422af89b80181871e7be76d56cf1d3eb469f8f362ff3e0b4f72a47f136d00e11422af89b80181871e7be76d56cf1d3eb469f8f362ff3e0b4f72a47f136d00e11422af89b80181871e7be76d56cf1d3eb469f8f362ff3e0b4f7276c0e63e7fdcdc16aa31287f9c79f7ee232a99a7cf1cbef244ef9038b55b238fa5f0f251b3cfc1a70702be8de43a9f77d188c24d1d6188d7df8f2e22fe5813e776c0e63e7fdcdc16aa31287f9c79f7ee232a99a7cf1cbef244ef9038b55b238f6bf049b2dd5ad666ac967e8b1ad79333f46b0cfec8c2fa358f1da1b9852ddc6cbc3c52e99dbd70d51810204d24a7c4d021fd170fd8687328f3fb157ce0ca51ae31a333581bfd21d1a8ef0cee6925a6fad4dfec44ae37b457178bd649d6490e803852d38debe2fdcd6e808b30ac4fe33b744e5117b550d254df5bb3cd64937acf42250117c60cf934effa4544b5707f08c14eecdfbb98bf999ee4d9a41867ea093852d38debe2fdcd6e808b30ac4fe33b744e5117b550d254df5bb3cd64937acfc4baa8a8ee94479c7838ada518783f19069b7d2818f9ce765468b65909c002bad7eeaa05a68901016b557871f576590840f71ca990620e9535805275d515a8bac4baa8a8ee94479c7838ada518783f19069b7d2818f9ce765468b65909c002bad81dabd1fc2695ed9090261096ddc5d472d4fbbc5d73ba728236ca83f5993e36e6873f3379d4c9e7f214d0a6e0e83a122e173be533f1af2435eef689d48ef40ad81dabd1fc2695ed9090261096ddc5d472d4fbbc5d73ba728236ca83f5993e360f5c7a819b81161c5946524d0ae410d59f352eb871c19c5181e3fa4c7b7e7f620f5c7a819b81161c5946524d0ae410d59f352eb871c19c5181e3fa4c7b7e7f620f5c7a819b81161c5946524d0ae410d59f352eb871c19c5181e3fa4c7b7e7f62aa216afb8ceb14e0c58f9ae49f9d16a4305327c024f0722ed66c77d6f73a1547f0953789ff6db8768011da6c240849f3985743b3bef9414a693edbbecd13fb1e1b9b2dbe216b1fdb143ab6adf6d2ebf2f5b7d49a96fe741c5ab88242dd9990ffb7fa9c60c13a752e26864c9f5636db77852dba0ac30ba0d695f533d3e478fd296b336d82300c41d0750291ab9e481d2e6252367ef5a10b9706947d4ebbcdac52b7fa9c60c13a752e26864c9f5636db77852dba0ac30ba0d695f533d3e478fd2953a6400aeabcdd32a6fc9ba81686af9b43ce29fba61ac1550a2bc5d173dc2ef6fd1c4fba69be679cbdc75d57e0103cf8430ccfa059e011099f7f2a5ce7d77a6053a6400aeabcdd32a6fc9ba81686af9b43ce29fba61ac1550a2bc5d173dc2ef6fe117e079d7c3850dd457cf2269500fdaf573af93f6d34cfe4c2b07e3ec3e13f0452a12fd1170d4e61fc174a0c56c3c72c009f282417f188ffabbe05fc411c49a9fff2744fdfcb073e97f15e4d1d6998888f4e23a0786904f5e5333910028bb4c94a627e3e093e9b38e038858df7d7d7efb96ad0158b6e922f9160ff83fb25958772b56ec7b9eb37e56c9187ecfb4db6887d8c608ba56e3a7c8a29ddddda946ac94a627e3e093e9b38e038858df7d7d7efb96ad0158b6e922f9160ff83fb2595acfe1859576f64900dcd683d68f16cd1a928d7c5fbfa0916734fabf0f33e4b93acfe1859576f64900dcd683d68f16cd1a928d7c5fbfa0916734fabf0f33e4b93acfe1859576f64900dcd683d68f16cd1a928d7c5fbfa0916734fabf0f33e4b93aacca15e96f156d200c3b0340fbb1b20d40e628404903cc3ee62744b7284e6a3aacca15e96f156d200c3b0340fbb1b20d40e628404903cc3ee62744b7284e6a3aacca15e96f156d200c3b0340fbb1b20d40e628404903cc3ee62744b7284e6a329f92ab06d9725a2b10abf98a609b2809453914792e63f6ff0dd02ab3aa993631159c4f4e57d80ef321363215405062222718e403d613dbce52593535cd2caaf29f92ab06d9725a2b10abf98a609b2809453914792e63f6ff0dd02ab3aa993637c80a16bcb49c5c6bd43fe36e2b9bd7aa91eb8a29d9b4c6e8125df2748eb1ada5d645ea6867782a071131f9ffdb52a7e8e10460fd0da81c37a4ce375e5819c007c80a16bcb49c5c6bd43fe36e2b9bd7aa91eb8a29d9b4c6e8125df2748eb1adaa06215c8fabf7fe8bec3f087781461c1a51fb29a9ac7b9c53997c10a7884ae48a06215c8fabf7fe8bec3f087781461c1a51fb29a9ac7b9c53997c10a7884ae48a06215c8fabf7fe8bec3f087781461c1a51fb29a9ac7b9c53997c10a7884ae485099de71cb057cfe38d0849e125da1094eef162552c8bc055729b0c042892ce1cbc19a9e188122211930f4e0b73ab1448c23bf3e165cf9e8f6691717deec41fc5099de71cb057cfe38d0849e125da1094eef162552c8bc055729b0c042892ce185b0fef1d38efaeef7f930e11198220e8660295054efc8c6499890c0be9e47aefe75b6928da22eba39e748eb81bce7ca0d15b624ea145d51bd040a26d1111a4b98fe65676b28ba1cd2377e4133c4e003e4ba07cc9c4d2c9c6707117b5bd417892db41db29a04e61ab0dc3843ec370b2b02d6646dd00599f22e785c7ce7cef5cf3b0cab0c601fa9d97683a80245ac0b1ff6e3c7a93664f7a640b4d964698d859a2db41db29a04e61ab0dc3843ec370b2b02d6646dd00599f22e785c7ce7cef5cf6dcab27644f1818a4d8e6e7b881e54aa79c79aa77ed356fe4b359346dba20524e39a3e216ac69590957543fed2a9bc9097161aa789d3598e9df2d8c68ffb9fe66dcab27644f1818a4d8e6e7b881e54aa79c79aa77ed356fe4b359346dba20524f995960ffb4cb2f3d004a7bd11ca266a6e3a9516aa6a3edd9befb1dfd0b247ab0e52c41e88bc961b5c58b3b3bf01297e4e86a390fa2bdd673fb58ce34271c6b1f995960ffb4cb2f3d004a7bd11ca266a6e3a9516aa6a3edd9befb1dfd0b247abf944833b96352bbb5a6f1829873e1d3db819289528be2b1c4ea6720f23f2ab252fa927c0236688cb0d550871484a4fc9026ec0f33e1e8ef283c8e46e6e984eccf944833b96352bbb5a6f1829873e1d3db819289528be2b1c4ea6720f23f2ab251fcdcef4363f03219b18990002608519cf93069b51e0a0af27821c4d28fc8e6f7c9a5f65008f58e096d9bdd33c4b8ec82c1df6432720954dcde40298ff88572f1fcdcef4363f03219b18990002608519cf93069b51e0a0af27821c4d28fc8e6fb1b44f53ae61fc9fdeeef705e3b527e32db2802d5c1e7786e9cfe483ee369394b1b44f53ae61fc9fdeeef705e3b527e32db2802d5c1e7786e9cfe483ee369394b1b44f53ae61fc9fdeeef705e3b527e32db2802d5c1e7786e9cfe483ee3693940a39c54ab839868434bbd130d98952f259a16f8e648e0049f87e9ea0f0b0c1aa58ffc0930c174f9a4a1408631e407351ea052a251eef35d3eee0dc0794f29910f1bad68b8fb905f7f8d421e2e93027156d9a094761e78edb197a06fabdf567e4976460933d30d2b7552928a074efa462f03f46bad02aef40e3e9e562e45e46a0976460933d30d2b7552928a074efa462f03f46bad02aef40e3e9e562e45e46a0976460933d30d2b7552928a074efa462f03f46bad02aef40e3e9e562e45e46a0c3d9b60ee70d2b8fa724fad0263729ce762903232211f18894c1c7de0a79f45775e6e8fc30638f92904fd03640ab0e157113613037ee37c53c0ed96f46f9e91488337d5bab374852e8b24f0f2fa2504fa80fd68428e73c577f223e44fbfdd6eadee393434528551f1a521baea073dcd47f97f53b359eed164ba9b5db3d0bada67073b9d3cc251c1fa1ce5d2e93f4fb9f78300d427906635a4e1d92ad619d1f09dee393434528551f1a521baea073dcd47f97f53b359eed164ba9b5db3d0bada6286bbad9b18e3540fe678ce8a1f5a72e0005c27f056c244b8871d9bc66a7fe89ec30909598b5cdf91475f58f890b1f66b1e35301bf3c0c6217525628524ab132286bbad9b18e3540fe678ce8a1f5a72e0005c27f056c244b8871d9bc66a7fe89c9b7764322f3270f49afabaf948e7ce8503e088bb8deca97ddea83eace30576e6657debda5db7b5e3fb557e5b77cdecf2d1295511dbda705ebb219c8390e2e70c9b7764322f3270f49afabaf948e7ce8503e088bb8deca97ddea83eace30576effe93b486c389bef6acf7e9bed993d6d4ceb319d80c53cc631ea1f54aabd2b52ffe93b486c389bef6acf7e9bed993d6d4ceb319d80c53cc631ea1f54aabd2b52ffe93b486c389bef6acf7e9bed993d6d4ceb319d80c53cc631ea1f54aabd2b52f61d95bde388de83c95dc558c31534434c99484b3e3de703a117f7d2516f336853f680ca738e37cb38d7c018b0801a7c9350a0c881f516f4159afa23cc434f01f61d95bde388de83c95dc558c31534434c99484b3e3de703a117f7d2516f3368f1f04b40b445bcfd787d4cb7a50a6e8da87377116d4362ad48f700a6f9f664e2f1f04b40b445bcfd787d4cb7a50a6e8da87377116d4362ad48f700a6f9f664e2f1f04b40b445bcfd787d4cb7a50a6e8da87377116d4362ad48f700a6f9f664e267891e4728fc0dd2d6f95733b38455d720947ee23019de96fc1eea11172ecfc867891e4728fc0dd2d6f95733b38455d720947ee23019de96fc1eea11172ecfc867891e4728fc0dd2d6f95733b38455d720947ee23019de96fc1eea11172ecfc848e4a7fb09d9630571effc736e9b7502f343cf16fa4a44941d9709496c700b97cdb3148b717f277a73b74266d434b96aa3c01246e2090da731bd40c79a70cc1748e4a7fb09d9630571effc736e9b7502f343cf16fa4a44941d9709496c700b974aac0f5b19270d789651362f5c136b8f21bd79470dd312d048eadfe6522ddf82c6b097e501525634703e5ffa4186ea1f3fd5ee961839c712da2fe71c88e5a39b4aac0f5b19270d789651362f5c136b8f21bd79470dd312d048eadfe6522ddf828dbefbb8515570de4d5140e6ee25faa090fa304f21571dadab10a122ecf4ae02ea1becbae2b8bbb42558bb6e7fa06f054b0afeb23c65abf5ef9a06a41ac579292d8bddd984dc8641db445a69c6cb9e8797cbc87ecfc917ecf962b29b917363217e2ea450c93a3dc35d55c59e4b4dcfb61d6f4efd6a620eb83080e3cec8cbf62f3781507a9d657bbfabad74a06732a6190b61f3e260be07fc6af10519f886bc8d7e2ea450c93a3dc35d55c59e4b4dcfb61d6f4efd6a620eb83080e3cec8cbf62f7562176f462402270d1028042dc9f48d094178bc9760838fdcb1a23dd4f09d6fa81165e433b611af490012e9545594d8f9c44a8c1a817ae6ebdedf9aa15e86327562176f462402270d1028042dc9f48d094178bc9760838fdcb1a23dd4f09d6fb7361f0119361f77fb45fbdb693e21dff191ec3d21d98556bf889863df02ec2ab7361f0119361f77fb45fbdb693e21dff191ec3d21d98556bf889863df02ec2ab7361f0119361f77fb45fbdb693e21dff191ec3d21d98556bf889863df02ec2a1a9bba22e4a359b85e878cf22a0da2e2584dc3b97351e5650231644691e7c0581a9bba22e4a359b85e878cf22a0da2e2584dc3b97351e5650231644691e7c0581a9bba22e4a359b85e878cf22a0da2e2584dc3b97351e5650231644691e7c058f8e4635f304878ff540b33488245a5b6a875bfcd72248656e5e81cb84d2ad580d114a51cf7e158c5e831e4a22d945f91230bada79136fbaab276406d7a3646c51db0b45d3e98569431d52bbf72c9faf83eb33ae9f295eac665658c9ea118c89963ad4cb2d7f3e9da2435fcabbbe4ab516eb5ffde210173012ca260b6d63d6a796d0cd0273afdc23583823801852cf81f0c02e08aef36e9eea92664c71ad4fa4a63ad4cb2d7f3e9da2435fcabbbe4ab516eb5ffde210173012ca260b6d63d6a7997536b50589ce08c009f6677e49f10bba8a1e5041fb574e02cda7a805ef9762c97536b50589ce08c009f6677e49f10bba8a1e5041fb574e02cda7a805ef9762c97536b50589ce08c009f6677e49f10bba8a1e5041fb574e02cda7a805ef9762c66e73052a497ac3ac24712be3085f708d2e1276f0a0fb3f6af8e3234db6b672066e73052a497ac3ac24712be3085f708d2e1276f0a0fb3f6af8e3234db6b672066e73052a497ac3ac24712be3085f708d2e1276f0a0fb3f6af8e3234db6b67208f68d7fd88a9db4412f28493d5b37e24367f32cf95f7bc49558fbfe058be101f8f68d7fd88a9db4412f28493d5b37e24367f32cf95f7bc49558fbfe058be101f8f68d7fd88a9db4412f28493d5b37e24367f32cf95f7bc49558fbfe058be101f1e734e12740303b25a746d565f380a2629a9a40bffd6e971570b5f37f67102071e734e12740303b25a746d565f380a2629a9a40bffd6e971570b5f37f67102071e734e12740303b25a746d565f380a2629a9a40bffd6e971570b5f37f6710207f3d1f9a7e55a6d87ac7b333cd33689d30472cf44d7e5cbd1471ad46faf0eb3c6f3d1f9a7e55a6d87ac7b333cd33689d30472cf44d7e5cbd1471ad46faf0eb3c6f3d1f9a7e55a6d87ac7b333cd33689d30472cf44d7e5cbd1471ad46faf0eb3c6380e8b687910d5d725185b756183afaa8089f4eb0aac06ea715acc7a96cd25c7380e8b687910d5d725185b756183afaa8089f4eb0aac06ea715acc7a96cd25c7380e8b687910d5d725185b756183afaa8089f4eb0aac06ea715acc7a96cd25c774e83c465fda1b7491ececb445d4112824a03b4eebdc30d7389cb79080cfc70b74e83c465fda1b7491ececb445d4112824a03b4eebdc30d7389cb79080cfc70b74e83c465fda1b7491ececb445d4112824a03b4eebdc30d7389cb79080cfc70bb3c04f8f15abf9792fe0bd6539d906f6ba9d2ba543f7b33fe287684de92eee04b3c04f8f15abf9792fe0bd6539d906f6ba9d2ba543f7b33fe287684de92eee04b3c04f8f15abf9792fe0bd6539d906f6ba9d2ba543f7b33fe287684de92eee04b12859bf937bde51b17a651de2ed7b23b73b0ffe457a06cf01cf58fb41d824bdb12859bf937bde51b17a651de2ed7b23b73b0ffe457a06cf01cf58fb41d824bdb12859bf937bde51b17a651de2ed7b23b73b0ffe457a06cf01cf58fb41d824bd5de0a1940b1f6650a11530b323dff55c7ea42e61fd2b21ae6983a9ec96afc4755de0a1940b1f6650a11530b323dff55c7ea42e61fd2b21ae6983a9ec96afc4755de0a1940b1f6650a11530b323dff55c7ea42e61fd2b21ae6983a9ec96afc475697b64020d1b26bd058508c9adcb651f53ca20495f4169008a8e99616b7d9b1f697b64020d1b26bd058508c9adcb651f53ca20495f4169008a8e99616b7d9b1f697b64020d1b26bd058508c9adcb651f53ca20495f4169008a8e99616b7d9b1ff2cae193d4ed70e2cb91188e97bab81df6fb761c9a24762ba998ee2f43ab6319f2cae193d4ed70e2cb91188e97bab81df6fb761c9a24762ba998ee2f43ab6319f2cae193d4ed70e2cb91188e97bab81df6fb761c9a24762ba998ee2f43ab631967e3f3878e22f5accd0640099b9c47ffef42c4c4d59e80629d31a4a4e78c1896c2410244707792c841c603ac4597287d18d6666c3f27ce5c5cbff3d59bac5ac867e3f3878e22f5accd0640099b9c47ffef42c4c4d59e80629d31a4a4e78c1896781d2d02a505124e72696c03f6f55f30666552fe14a718f3040657c39be29817bb9dcd65cfebfd87f285d7d49f6325bbfb1e4b418f76a95c335675af1a307b1d781d2d02a505124e72696c03f6f55f30666552fe14a718f3040657c39be29817f715a8cb2079a32736589ee9efb4b68a8991932f5da2a2da961ede89a7bbbe967e22aec500f7ce6ada4456d36eefeb49dfb7bb8f37baa0712f05b478b4ced74af715a8cb2079a32736589ee9efb4b68a8991932f5da2a2da961ede89a7bbbe96ed9e35154da744d0858960bef15d9690cfc903e7bbf6259047e814d825c92b28ed9e35154da744d0858960bef15d9690cfc903e7bbf6259047e814d825c92b28ed9e35154da744d0858960bef15d9690cfc903e7bbf6259047e814d825c92b28fda5b0236e0c868dfed54bf79c1f0f3578175e3d99af3195ad8bc4cc6d7f43fbfb8000501e869ea622d31a1108062b113268e45cbabb89151b91641402ee9949fda5b0236e0c868dfed54bf79c1f0f3578175e3d99af3195ad8bc4cc6d7f43fb7e51041d83c87fc8832c8896aaa304d64f8c0a0fed6d4ced390a76b92850abbe2f676506fdee6c1577532f8ca8d6266d4ffcfb3b009e635aa96c3b93f1a20fd3580b8cfa40747cccf3438a7c5ad001b4765e7298df75bc5e0037616f3ea7b233167c0b9289a1856d02216207c926cc81e898d3ca8f29f2399ff8652dbf840d7cde51f2496f869404d03d44a3c025dc6c38b26dbb2cbf743315e956209e8667706085408b5e2fdded15c578e72f9a95fafa4d593a9077f3f84b81f258ae2dc91d5e0a97a8ae01e21d3d8faa991e43a44cd7b99284f7081b5bb71e72a0494cd5bb5e0a97a8ae01e21d3d8faa991e43a44cd7b99284f7081b5bb71e72a0494cd5bb5e0a97a8ae01e21d3d8faa991e43a44cd7b99284f7081b5bb71e72a0494cd5bb2d7c2c79cfde426f72c2db0a93f361c78b56425e2afb4bad1489fb446d3d95362d7c2c79cfde426f72c2db0a93f361c78b56425e2afb4bad1489fb446d3d95362d7c2c79cfde426f72c2db0a93f361c78b56425e2afb4bad1489fb446d3d9536f9a942d50ad1c0943766323246eb03fffb0c90c51bcc9bf0901e1cd185691164068dab7fa1f0c5da4705070e0f065925b61db8df5e7db072799486179f8723cbf9a942d50ad1c0943766323246eb03fffb0c90c51bcc9bf0901e1cd185691164f28296a9fb2bd2311e9b79b6b38b14f6cb2ca9160eb5f5d94f883e11bfdd9952b5cc74d3955d2c9747e3d7849cdd8d68089b55e64bb839fe6beca65e40b0877ef28296a9fb2bd2311e9b79b6b38b14f6cb2ca9160eb5f5d94f883e11bfdd9952f8303ad650d593b19fc50cd46bb24dc1810cc5bd496035be06d1261d78e8ca0d3df90d7d3d67d77b071e8f07fa887f5b8eab5ecf7bc3107dbf531c8008f7ddcef8303ad650d593b19fc50cd46bb24dc1810cc5bd496035be06d1261d78e8ca0dab6dc91d1ad6207a58ab5d8c1e2bd539e0fb7c612bda7c78ecaf2c4c3ef618d7e809625484188a0c37ea329daee4f7e0a3c63a936945ae447cb364fe3bcd97ccc36fa939c09fc39a259b145fa309cf731a6cef84ccd4d4acd29bb44d6307d580b568c5c6b5dfbc790caa9bde7cddd666f51d9042bcdcf7e2b502b2e71ffd125fe7f1d22f417487550b3bca63982eb810c7e9678e87d98cf7b93f95d31290b324b568c5c6b5dfbc790caa9bde7cddd666f51d9042bcdcf7e2b502b2e71ffd125f73cff11b7253eb865b8f831dd9860c3247a9f4ea0b13e8ef6e4e9cc79434ce14b567d7db5e90fac746af7d6b526a0d483c459b19169950ab2b8f1480dbe1648f73cff11b7253eb865b8f831dd9860c3247a9f4ea0b13e8ef6e4e9cc79434ce145e99e935954a64a09d365f02af283094350204ba72fc4ffa0cad48cd984b760ef44dc7a9e27e21d798c3b0c1a171cf52d0b182e14df6bb1c00e28f8a0e4afb915e99e935954a64a09d365f02af283094350204ba72fc4ffa0cad48cd984b760e0ca3596d43c406ad6ae6fa332808999852004856a9c8c0721663245b793f6e3f0ca3596d43c406ad6ae6fa332808999852004856a9c8c0721663245b793f6e3f0ca3596d43c406ad6ae6fa332808999852004856a9c8c0721663245b793f6e3ff538b6a2eae13acc4f7b182dd43943ca3e58e09fbff153d1664897a5a2d6573f188022cd054ef612bc8103d57e3c163915032bba33705ea4e23087eab3e4d30739410d07ad0fa9c6842002c9ebeb96db03d1c32f8eed3eb099f1061bad2bd1d130f003392065680b94691b8d38bf68b64a4c5eeebda6a0ebffa0a66d409aedb2c0067074fb34e3b01148517f563759bd44e930b3d38a65f4ddd0cc426b27b9ee30f003392065680b94691b8d38bf68b64a4c5eeebda6a0ebffa0a66d409aedb23ea962254101dc64f162b0ed41ce95514e093a0beb6755257d3d4803a73cc0923ea962254101dc64f162b0ed41ce95514e093a0beb6755257d3d4803a73cc0923ea962254101dc64f162b0ed41ce95514e093a0beb6755257d3d4803a73cc092583aa484ac64194a28d34d7276276c384aa3f2497e54265bdcd4908b171047c9583aa484ac64194a28d34d7276276c384aa3f2497e54265bdcd4908b171047c9583aa484ac64194a28d34d7276276c384aa3f2497e54265bdcd4908b171047c9211f9c6d796781cf59d9d66642909bdddf5392a4ba9c034fc5c2edc26db2c3a00c3b619e68de07f7bb756b04420a88d8350ea098dfd27f0700e5a25315ce7c1f211f9c6d796781cf59d9d66642909bdddf5392a4ba9c034fc5c2edc26db2c3a04831e30be7721a32337446f2cba59507d11709120b1eeddf23c19aec2274790f8cc77032a4e5acb4ba47d7889d9b590fe74775b71076e87916080b2ab50ec3de607fec2727e755ab3b53b12e9153b347f6219db74ab55da4173bccbd8609b95c85c83fd074fd003b6670fb7d4fe61e654a4b4c52a0d4e0852e07ebb6e0d94aa085c83fd074fd003b6670fb7d4fe61e654a4b4c52a0d4e0852e07ebb6e0d94aa085c83fd074fd003b6670fb7d4fe61e654a4b4c52a0d4e0852e07ebb6e0d94aa0b05608beb6347dff474fd50736b72ad72e885ad826d85f9fff0b8d9d63ac09d4c926e14716f2f530e7a781599c7ce8ea7e9d65db94558e8efcddabce9b4064a5320c85de4aa2a09dcdd427c8565063637fb3cf96c8dcad3cba6163f5ebb5c6ca56723ce718410eeb827413a7d41278fef96b0e82633addc9772448b44582db5725fe10313dbfc3b33cd91dcd10aaf2f5ccbcfc55cbecbc7bb6947603e66aa87456723ce718410eeb827413a7d41278fef96b0e82633addc9772448b44582db5712e00ed213506527999401e92fb3105c822cdd09ebde40cd403372ae41e3eabb12e00ed213506527999401e92fb3105c822cdd09ebde40cd403372ae41e3eabb12e00ed213506527999401e92fb3105c822cdd09ebde40cd403372ae41e3eabb8afef29e99693a2b3077cf2d2fb57b2adff50be914a2eb9f27ee0e23ae963a768afef29e99693a2b3077cf2d2fb57b2adff50be914a2eb9f27ee0e23ae963a768afef29e99693a2b3077cf2d2fb57b2adff50be914a2eb9f27ee0e23ae963a764f14e6739889542bd7750ee2a38e9d3dac146f5ebf60a909efbf3140673b657b2dd7a062e6d1624f2d496173e1cf670f243622c485f39e5b5baf98c4bd057c404f14e6739889542bd7750ee2a38e9d3dac146f5ebf60a909efbf3140673b657bfcf512cac328ea7b7b49d0baeeb493d561051fd1c262a088542c7beb8cc27c8367fb6f54f845b6ecab122fe0ab13658d6ee11fe429a7d651e8cd28649ed77f925e873c6b055761e05b907858ca165ad9d51fc5452b520f4f56cc8c161fcc11a13faa5eb1313effe179ed278172bebcf548941c5375fa4a18bfa12abf91b4a51e5afbf9765701c002eb6dd4d39690e54932efc62014acb4330518361ad86502d03faa5eb1313effe179ed278172bebcf548941c5375fa4a18bfa12abf91b4a51e51ad0407dbad521f5020adda0d1a3b99e26f01aa96855bc39ccfadc762ec654851ad0407dbad521f5020adda0d1a3b99e26f01aa96855bc39ccfadc762ec6548c5c63e06ac8a6bc6e4936b653171cd54a604ffc1f176ffaff411b6313ba76acf0509c59b10116c6e325c72658f2df4fcd8056639a5ab172c3660de051698e8871f238161b3d64ee24ec603b1c08e6313fa853cc2a5aa78d1a96517da09324482079e83210e7d9dc756858db8a622ee5b9c27110288549a76c0662d5d63360b2e1fddb61cebdd0d1f3c4ba06695b339812275cbc67c2aa4a171e8d78c0cf0e6831fddb61cebdd0d1f3c4ba06695b339812275cbc67c2aa4a171e8d78c0cf0e6831fddb61cebdd0d1f3c4ba06695b339812275cbc67c2aa4a171e8d78c0cf0e6836c03619c9fdec7ab6f525bd55035ba3652e6819b86d9e1094d4494acc3ddb5456c03619c9fdec7ab6f525bd55035ba3652e6819b86d9e1094d4494acc3ddb5456c03619c9fdec7ab6f525bd55035ba3652e6819b86d9e1094d4494acc3ddb545cc96c1a4670a799ed983dc02bb2fabdee96d19d40c085c602175b1ea1b8b01a56c3cb5b9f9d74d96925437af1d86cbb0d00e900b875f6b793bb0c14157366bebcc96c1a4670a799ed983dc02bb2fabdee96d19d40c085c602175b1ea1b8b01a5a2b3d324d8ae888dbf68d558c686a90870b2ae21814ed623093f10a62ad5c909d9cc7aede8eacba0dc51274b4949a2ce2ba091d1a53f265f5c2e4699d61e5f6ca2b3d324d8ae888dbf68d558c686a90870b2ae21814ed623093f10a62ad5c9090c08ca6e7b7e24cdab9acaa00979d8d58edc6257d5c1a350f5e59115aa91459f0c08ca6e7b7e24cdab9acaa00979d8d58edc6257d5c1a350f5e59115aa91459f0c08ca6e7b7e24cdab9acaa00979d8d58edc6257d5c1a350f5e59115aa91459fa16a12345cb572bd12137b0690e48d2c93994d75166150cee57ca92c278a97bca16a12345cb572bd12137b0690e48d2c93994d75166150cee57ca92c278a97bca16a12345cb572bd12137b0690e48d2c93994d75166150cee57ca92c278a97bcb760dee972769f8dc4599040b7c7eeeaf073da8b1b5d8362ec901b5a82f5269b6482f5a93b28037c55f020ff142f7dbdec113c403e0b3df6602c5a762dd31e16b760dee972769f8dc4599040b7c7eeeaf073da8b1b5d8362ec901b5a82f5269b0a0b36d0fa7d15e96823af8b1fe9fb601e3177f3eb387ca4a68692ba22657fff12f0ac781f9b87c46a743a9145d70db5cfe31ccf8ed79712f9c1a97a8677b66b825c466e76a29a877488ec3dec4aa2136d461907b15d72a458bed01fc5e8d8639ffc02d71847820a7460502568edd26395eaefa68c6c6289ba8bfd9ba990a4cbf71244d647db83f4ecd38283fac4ec400fc33d0204b7f6e8492b7792a7dc71339ffc02d71847820a7460502568edd26395eaefa68c6c6289ba8bfd9ba990a4cbef111534cb306deeb5b11accac48073dd785650c4e2a5c79d656dc84b0db7bab3ed63893a2db7d661203b835da90d7aabb00efcff3c8b4886f8958d7950376fdef111534cb306deeb5b11accac48073dd785650c4e2a5c79d656dc84b0db7bab0df003e3188d686afd4835e83ea2eb44a00f01d3f4a3452365549b277130a77d6df816a297d785922443bddbf4fdf68d664ea247cd67c0fadd658656201a8f730df003e3188d686afd4835e83ea2eb44a00f01d3f4a3452365549b277130a77dfdea4724deac2b1c0fdf81acdf339137bb83d42370551479a0c046ac4cd3ba4396c2f4938a09af317b2f4381ff3d2337fe43d28261e0724e5a61c50fae8d9e7cfdea4724deac2b1c0fdf81acdf339137bb83d42370551479a0c046ac4cd3ba437dddefc6b58bc6c3ee3c709b6b31212e1f996f4657258091e7d015b1568a059e7dddefc6b58bc6c3ee3c709b6b31212e1f996f4657258091e7d015b1568a059e7dddefc6b58bc6c3ee3c709b6b31212e1f996f4657258091e7d015b1568a059e54f190da6c2067825fc86b96abbed7627a39e99d6a8312de12038a6e016ca406385739311b811c427f5a1fcae3237514be33f954cc8e9ce60d2e2b6452f7039b54f190da6c2067825fc86b96abbed7627a39e99d6a8312de12038a6e016ca406e1b63ed43d1e9d7e47bac87f511af14dd15b43c51f75efac1aaec9289721c4bce1b63ed43d1e9d7e47bac87f511af14dd15b43c51f75efac1aaec9289721c4bce1b63ed43d1e9d7e47bac87f511af14dd15b43c51f75efac1aaec9289721c4bc5aacdab4a121aaf26fc40757af6bcea62119a228d3bc5a0b87f85ed3f79354d984a7d04312d6e90d7f8486f30037a3cdcccdf98ea82e38fecf75903e4162f9f85aacdab4a121aaf26fc40757af6bcea62119a228d3bc5a0b87f85ed3f79354d96b0e3dacbbb184789affe08ce307541bd72f29ff54e400fa37c11f708ef231ee69c254795be5408300c0889fc9067e5e431004cece87fe8db9e12909bd3b3c216b0e3dacbbb184789affe08ce307541bd72f29ff54e400fa37c11f708ef231ee99992dce1fbdc8a6bcdef1a7c29202d003207035bae8e54a248f1f51d40f47be58951cb732060836c03df8e404a3255bc12e64eab0cbc527e9b9abeca616326399992dce1fbdc8a6bcdef1a7c29202d003207035bae8e54a248f1f51d40f47beeb315f1d9318c1e5e2e4e99b20e34f1788244e9e65a0a24da58a74ec738545ea075eaeda4fbed5bfd16068845ad28dfee70e08e82e6fa4bb0b96a31880028037eb315f1d9318c1e5e2e4e99b20e34f1788244e9e65a0a24da58a74ec738545ea197f9c7b02a591a9bea4734cec85cee8af12d2c9de04b8f726b6cc6c4921646c2323d431b7dd26c86507b1618d3f0212cb76bcd99091d28d0086b0b7ceb3acb6197f9c7b02a591a9bea4734cec85cee8af12d2c9de04b8f726b6cc6c4921646cf453fef011fb1ca30e42e11ad5119d1adb5b234197ef941d6e6ebe2bbe46cfd8f453fef011fb1ca30e42e11ad5119d1adb5b234197ef941d6e6ebe2bbe46cfd8f453fef011fb1ca30e42e11ad5119d1adb5b234197ef941d6e6ebe2bbe46cfd8aed53622b2b38f3b1a047ed138997199f5ad7072137877b383df5ed45ffecf7d486df51813b83a18f26cff61ded4b9f8e4c50407cb97d0027b7f8d930727bc2baed53622b2b38f3b1a047ed138997199f5ad7072137877b383df5ed45ffecf7d4ef96a421f7c8c8cf0f9f48c71864bbcdaba1b8910619dbf8f55a59453a134ae4ef96a421f7c8c8cf0f9f48c71864bbcdaba1b8910619dbf8f55a59453a134ae4ef96a421f7c8c8cf0f9f48c71864bbcdaba1b8910619dbf8f55a59453a134aed33669023d16c4874d57ec639a79c186b4a58c8bdfce1655699eedf5c666cff2d33669023d16c4874d57ec639a79c186b4a58c8bdfce1655699eedf5c666cff2d33669023d16c4874d57ec639a79c186b4a58c8bdfce1655699eedf5c666cff2081db36567fd993e5e6ce7b052eaac273d33d606ef86fbf57b1be6690411dab80ab6f0250463142867db2852f89a2c96bfb5e15d1fa63ff3bf9d9470913a1e8d18707784eed11a00473c42ece228be22571e975a86f73fad6832dda82ab2c903d3a318f644d5c0bb15337122e023084bdd2fec9711e5e74433503890c5e6f08579d59a18b099639d547123adb97f3124b1f6bcb0013a2b509875681270371b55d3a318f644d5c0bb15337122e023084bdd2fec9711e5e74433503890c5e6f0852648b59532df35bc94d90654182dd2c4adfc8145c11be0a2ea266fc0f3fa41a5cb477001b5b3f11af548e8f51d87ad3f85f5ca3bf74d65a2c4ecee076ac32e2b2648b59532df35bc94d90654182dd2c4adfc8145c11be0a2ea266fc0f3fa41a5a7fcb6db58123423dc32a27fa7a0fc6e220cad395190e3d6070d18d711393a3814c1e37916e4caf1d290eece2ee70af618861d0d76f5a8ad0c74435fef7fa5c9a7fcb6db58123423dc32a27fa7a0fc6e220cad395190e3d6070d18d711393a389c68202eb1c2526218ece58e1b10a629ea382e1c01577c2bb715477cda59c3229c68202eb1c2526218ece58e1b10a629ea382e1c01577c2bb715477cda59c32243ab3d89fa895a9afbadbe264fb67b63880a37b2a485171579c6a28d9093d47ee35d43514a200933e5c09aa5237d70363dc95956de85300fb118b31f40cc3d6d9dd2ea96b2d283341241a3b8e438729da72399cca3a43267f0299a8b9f3711beedfe2b63d1cc29f8fa922f5087693fc09a3ebcfcdccb9cd84f9032f2668df75032cb112edfaa55011241b1455c4ec137d27ceb2d831a4d7cb4ca59399970cb6aec21f9b40de33878c2de1ebf696251084486bc2eb1b375e99b40739d088cd61932cb112edfaa55011241b1455c4ec137d27ceb2d831a4d7cb4ca59399970cb6af675543724926be0276d68c0364788bd5e0fb59b6bfbcbaf5a04c42ae11e1190cecf5600550b2cf7ecb5cb19780a67903c782637782292bf8967a3081949ea9df675543724926be0276d68c0364788bd5e0fb59b6bfbcbaf5a04c42ae11e1190bc61c8bca9fa4265523779180862f11857b9adfa6e4a5775a2d2804a059f2c6fbc61c8bca9fa4265523779180862f11857b9adfa6e4a5775a2d2804a059f2c6fbc61c8bca9fa4265523779180862f11857b9adfa6e4a5775a2d2804a059f2c6fedc079b0a8b519e6ceee3eff8874e20b12742a348464912cb168dbf9c23a58b0edc079b0a8b519e6ceee3eff8874e20b12742a348464912cb168dbf9c23a58b0edc079b0a8b519e6ceee3eff8874e20b12742a348464912cb168dbf9c23a58b0d987d5e6aeabceb63ff5ae571f9866a1a36fc34c751ac7a7aa4d311faa8c9d84ee96df6b9c779a9346d6002ebadaccde44ed01f8031ce1ed6ef871caf2dd6effb06b877e43c109563219abe2fd425e7b044fcb4e7acfbef1e06264cf97a7461e29140923b4bcceea35b3c0357c694bbbf238c0fd8fcbfefc39e15788f26ea94329140923b4bcceea35b3c0357c694bbbf238c0fd8fcbfefc39e15788f26ea94329140923b4bcceea35b3c0357c694bbbf238c0fd8fcbfefc39e15788f26ea943ad914217089c476c32b993991ae100d9bc11a53f37ae7bb3a3ac38a244d08213ad914217089c476c32b993991ae100d9bc11a53f37ae7bb3a3ac38a244d08213ad914217089c476c32b993991ae100d9bc11a53f37ae7bb3a3ac38a244d082132f61665583686597cf593cdfb035f0e1edc7f56698e35999bf8288fc9d550432bed2b3602defeb298f4e7a0ac2df422bd8c81b234e6bf427c0420c4aa30ade672f61665583686597cf593cdfb035f0e1edc7f56698e35999bf8288fc9d5504322d76ae3f519a841008c30924d593e3e44261db3ab2d93dafb28ef59793f862a8996df885937b0678e48a67fa0c2c592bec5dfeedfd7976dfba736c502e747c152d76ae3f519a841008c30924d593e3e44261db3ab2d93dafb28ef59793f862a8b23509e76a93cb5151b7ac1b9d381028c070f69d9822b0b8e4b2b7f1096c75a0b23509e76a93cb5151b7ac1b9d381028c070f69d9822b0b8e4b2b7f1096c75a0b23509e76a93cb5151b7ac1b9d381028c070f69d9822b0b8e4b2b7f1096c75a07cdae8ab49b931034817c2502ab5a154d44d60d4e83488bb45be9ce79201d6ce138db30fb3c78aa6a6a2417f625958c0836e16f489c6996380c62cdf6c5ffd0f1e485d5b92077ba9c188822c73be885b38424873478c4f0ce557cdb65a1b6e4b6ac3f9fbfcd820aab23539cca0080803997a9d2fd86f69bf0f3bcb015c52f8a10720f4529d24ca1a4c11dafec6d4b16a6168afbf17ba00468f7823b91161bfa26ac3f9fbfcd820aab23539cca0080803997a9d2fd86f69bf0f3bcb015c52f8a163ed515990992a8085e35b8faf3eca665dec0a6cb1a54a8391b653466852d9a3712039ea3dda9d09b866ed366231250b39136e1e4e1a3f3c7afc0e572fa8080563ed515990992a8085e35b8faf3eca665dec0a6cb1a54a8391b653466852d9a32b5231da3690cbc710bc16254233174f6033e348589bb0f91c4e6564cfa5b014031659594a8aa7b7f667e1dc5a710a0c654df25a2a7fa9b2d0f8b5ba41e5606d2b5231da3690cbc710bc16254233174f6033e348589bb0f91c4e6564cfa5b0142bd20d33eed506d238c53499e39d484d8b9c0e521597b46dd1ea1cfa89a0371804b336ba1c432bd9b00f9abf0781660ba4dd5a6fd36ce7787507e6c741e94d9bd9ac14de8bfb8b8fe39cd1d3bcb7b2ae5a7ff83103954c13c32672737c9eece86a00099f510780dabf7b1933937609b5291c85d60bc8b303f3fa66711a2d11220851a63634ebb9221017f615d7d9d398a636f6f79436cd24fceab1f4c306eaf26a00099f510780dabf7b1933937609b5291c85d60bc8b303f3fa66711a2d112263df2b9e5d2ad9c1b966af7bcf06ea034e2903d9dfacf2c4492894bf0ef1fed21cb363ba5f83ea722ec9aa8b3e82f9abcfbd45c16efe301474d301bd0a5fb24f63df2b9e5d2ad9c1b966af7bcf06ea034e2903d9dfacf2c4492894bf0ef1fed220f1bc198bf262e77015c4b9e041ad13dd85fa9cc9bbd2b60c4556bd61bfd1b434aa2ab24113a2f0f5ce590a9c1f82fe08e9ea6a128f8ed3de413ee071e923e610130a8caff4c55107dca94c5735eb3a5fc2e5cb82372ff94c0c3424dba3249963fbd57c1626f609324c6a160e25fbc6688ed062b5e1d9c3d593010344ac6f4c63fbd57c1626f609324c6a160e25fbc6688ed062b5e1d9c3d593010344ac6f4c63fbd57c1626f609324c6a160e25fbc6688ed062b5e1d9c3d593010344ac6f4c7d734ec689533817a8181952896cebf6c40c2f9593bcaa36261a1686a63e2e067d734ec689533817a8181952896cebf6c40c2f9593bcaa36261a1686a63e2e069b838dd7fa5ed84987d2e5d742672e628933f2068c249fd13f88fd48994309e6762c654b4bec02c0aaf67b7a802a5303e235b127c52086db6a13f1a6d13c640ccc443289aeb8a39f2acb70ab37b48b33af8db1e54c58790e8d02b013c3353777762c654b4bec02c0aaf67b7a802a5303e235b127c52086db6a13f1a6d13c640c78a5641d5926d06035fb41bc0301835ad3975e377c5490f5d8457aaf4b0c3c1078a5641d5926d06035fb41bc0301835ad3975e377c5490f5d8457aaf4b0c3c1078a5641d5926d06035fb41bc0301835ad3975e377c5490f5d8457aaf4b0c3c10f4a2af838e9c7a82045e5ca4e18b8685d42f19ae15e78993fb462258dd9be13eaec96c2f8313927ee1275c0f16e6089141d89100337fd8421aaff2fe926e8aa7f4a2af838e9c7a82045e5ca4e18b8685d42f19ae15e78993fb462258dd9be13ee1c3c183b879a833a53f6a5aaf73cbd5e7735b42b0ecd9803d8c69d43a5e2242e1c3c183b879a833a53f6a5aaf73cbd5e7735b42b0ecd9803d8c69d43a5e2242e1c3c183b879a833a53f6a5aaf73cbd5e7735b42b0ecd9803d8c69d43a5e22428f35abd8d97bccab26880893f5c3c399cbb119918255a9a2cb155b2d6c9fa2933c0e56105aa2f791f1ff449687e1fe97297d5cc603281d3b1ebd96148f877f938f35abd8d97bccab26880893f5c3c399cbb119918255a9a2cb155b2d6c9fa2935fa94e85eee444b646c88088ba1ee5a0063d587406ba5973d4ebf561b92c14145fa94e85eee444b646c88088ba1ee5a0063d587406ba5973d4ebf561b92c14145fa94e85eee444b646c88088ba1ee5a0063d587406ba5973d4ebf561b92c1414ffe02747dc5c9371a06b8ab5a7ae763a33080aa2fe8fcf152ea55ea60bdaff8c01a13526927dc1b150972e534a9ec2814b5224cd23229ec596f6aabf7c861595ffe02747dc5c9371a06b8ab5a7ae763a33080aa2fe8fcf152ea55ea60bdaff8ce48dba25f5af0a0343c6dc7273cd31f5c5a8150be949f79443f08413e2ee87090a407fb83bf64dc7784786ce4e038b66edec9576cca1a7bf6b09123e9b90a386e48dba25f5af0a0343c6dc7273cd31f5c5a8150be949f79443f08413e2ee8709d5f83069305b49560c9a06bea1442517922a8c2978ded5bb55e9d752f468045bd5f83069305b49560c9a06bea1442517922a8c2978ded5bb55e9d752f468045bd5f83069305b49560c9a06bea1442517922a8c2978ded5bb55e9d752f468045b500ee38288d6ef92b0042d5a98237ee2dcd0a217b746e8c64dba40f7ef469f6b02ea291bb2e408abe0accf67d855df586ffbf3d508a74ab6411af7c3c14b6582500ee38288d6ef92b0042d5a98237ee2dcd0a217b746e8c64dba40f7ef469f6bb79531ad1269a33dd350af5d0f8de6475b5d1404e8d83c3f2099b886cb7125fc7698c792e6639790302f73d4c3fda0d83c237298491e0aa2e3f7727ec0656e60a69c66d0aabba75949a2ffa9b5e636c2d4e792fdacad25946534b3ec21913e43ccab5fc3cf9289a8257d67c9c034a71c60ce395b8a8c938b753ba7913027b41fccab5fc3cf9289a8257d67c9c034a71c60ce395b8a8c938b753ba7913027b41fccab5fc3cf9289a8257d67c9c034a71c60ce395b8a8c938b753ba7913027b41f7a736e8613716a6972d0618a51debe620f5ee447568d0730e7730684e4481673ddd72789a3de2f901b712eb7284710d9919770392922af7a2c69ed2b06385e747a736e8613716a6972d0618a51debe620f5ee447568d0730e7730684e44816735597b608d1d681d978c7ffe015e680c43820b91b1bba861adf7ad3e9959677e466ee16bca5e29e82fea166127dd777cd7c81abdcc7ff1ec2fb04848c453c0ccf5597b608d1d681d978c7ffe015e680c43820b91b1bba861adf7ad3e9959677e4c2dbbaaa6dcd29d57e9b06dcbb8e3d1db5dd9e276a0fd78b48ca5ca0976b89578125f11e28bc4f217be90d5cd409bfd3790095dcf0398012362d2a088cd1b9a2119a28a0affb933afa5fdf5a9f159991ce705347d8aaa6cf956c67c8e029da8c9d251dc280ec45757da9967a1e5d2aa5b31912a1cfe00eacdf8b5614bdeb9b25db88502ece48f42418efdb51939218954583a77ffee626e92509e321e9e48367b7603f12af6b0d20d20c567eacaacdc160a5488b67bd8d2c2f3462e8a7d68de87e1c8206d76a3a435c8d06cd5b75d4455d53ffb05684efc5ce10c1715deaa4332bae9f76bfad8fe42fbd3c63bf21cdae0607ae2b5793fad1a62c21d04db77f6e7e1c8206d76a3a435c8d06cd5b75d4455d53ffb05684efc5ce10c1715deaa433e1c031a7229e1dc8d00f4389df76dc015ab2a9e0f7909e5259f2d8e49c3ea138672abb3f824dfad4b18af7de3260c4e57cdb46560c376c85860a26a526c3f35fe1c031a7229e1dc8d00f4389df76dc015ab2a9e0f7909e5259f2d8e49c3ea138dfea33580a86959b93191c6ec5c92137fb18c404ffdb3c91667fa6fceac980c5e43c1cba4fd47b6029871b2e9512ca7331a6eeaa0de1255d59209617cdd637fbdfea33580a86959b93191c6ec5c92137fb18c404ffdb3c91667fa6fceac980c50332f8ddcabe58f3efc2eb6df863e8e09e11c6557cd0d4ddf4c3de7c2dab172e7c59d0e08d118b6cf43f0de8660eb554a0271b6b8e96f458cd9fa8a6b95f8be20332f8ddcabe58f3efc2eb6df863e8e09e11c6557cd0d4ddf4c3de7c2dab172eebc590d30613c945ca623ac0590bb840c70b83d4f2d28512d65f37df2380e39756b8c4d0a374ad2d806e6339955aa89e1200a8ae39c4d7c3c564ae7fe677c914ebc590d30613c945ca623ac0590bb840c70b83d4f2d28512d65f37df2380e397cd8f497a73cf329d464520832afd004300a01067e084b01cf3cbcc6766beda6585cab720b702cb8fe601b2411c85c1102629846b0bb81600ca32ca8ef13dde96cd8f497a73cf329d464520832afd004300a01067e084b01cf3cbcc6766beda65b03c8960b407ba89158e838c06ffe8693a7b2bb5328e431156d5db2e406b69cd1b12008b8885ebbc1b516fb03c759f023152484c6b9ad3a0c9cc6345bdf3beaeb03c8960b407ba89158e838c06ffe8693a7b2bb5328e431156d5db2e406b69cdc9e14beaef45d7c97008bf1fcf38800281e7e82410edd38f26007efe3d3afb12fe27f6f3e16f86acf84a26d0dd231ae20a616a72b7d51f2625661899eff466f6c9e14beaef45d7c97008bf1fcf38800281e7e82410edd38f26007efe3d3afb12227d9522bd1bc9ef858c0a1fd2778b1b20d74bcd366a7a47d0c87baa3ede79c7227d9522bd1bc9ef858c0a1fd2778b1b20d74bcd366a7a47d0c87baa3ede79c7227d9522bd1bc9ef858c0a1fd2778b1b20d74bcd366a7a47d0c87baa3ede79c76ebe746d1951e7f18a8fa1f8d152e28f8be9fefff0a7c749174bb7ccb669c57280d01452d934020fee7b99cdb7c157fd8b873dd77a47b5852d623b017bf44221b910e0448f8e68216fb397c4fa939611ed35318e4a36099e16011f28dba04cec2583b424dc55da190fb8f0075af86330ca5d6a6ad5b8675ba0f1e740fd69ec202583b424dc55da190fb8f0075af86330ca5d6a6ad5b8675ba0f1e740fd69ec202583b424dc55da190fb8f0075af86330ca5d6a6ad5b8675ba0f1e740fd69ec2008a241558598f41e342bd22345e0775dfd72e95039fef6b38d41b4ec6b368e8d08a241558598f41e342bd22345e0775dfd72e95039fef6b38d41b4ec6b368e8d28e944d4e1dc3b8d845faded3637effe346123dad5810aa23906b67d400b0a866f0942ac2191d776c92d5cfbf785dddde2efa306b4f8054dc32803d7a7ea82a7d83e9b80d08d45e82b504aa5278d410fc98943a540d3fce75e4dd24cb7d9261dee56ec699a8f24e15ff06943203c5765b452c2929fe4ff8cf3ff6eebb7076a4ea61f8ee6fc1566b11fbe93f625e8337e8b6d8ef6d2a1f123b0aa5fd97a48a118d0fbf12da27f5168c04911ad1fea77d12e8e37e1a8fa5191967acb431b723e53a61f8ee6fc1566b11fbe93f625e8337e8b6d8ef6d2a1f123b0aa5fd97a48a1180c62b4531e3901103ff83059ef96d30cc8783f8badaebca857c5d0a8a1507670fc5e7fdd20310f748dacd7d1cf5282a4c713e4fcdfc41e01ac252bfc44f86d0201c76f79589a9f4dac6c7e95125cbd09dadc875c2dba8b41b07d82c8faf69ee8acfbb0d493bc7676df582b0f18f2632f496601e5380be4677b9729ada9ec4861a1fc3dbba380879d95c664449aafdcb1960633618a5c585196485984721223f39a287979ef14c8a221e07ca781bb4ce87542c643720e6774c0f5a34c2edac9aabd8a26ad620552baf207515f70754ee48b326743f682abfb240be3f50f5c5cb3bd8a26ad620552baf207515f70754ee48b326743f682abfb240be3f50f5c5cb3bd8a26ad620552baf207515f70754ee48b326743f682abfb240be3f50f5c5cb3b05e03f7428c7809de7ed0382b6eea2a0e6e1c62b7f34d21d85f1cff85abe84e0b218cdd14e15be3d001cf7845a793fab268eeb96f86d480c685c51fa5a67fb5b05e03f7428c7809de7ed0382b6eea2a0e6e1c62b7f34d21d85f1cff85abe84e62ff89a25c798770257b0cbac57dcc61385c9f9e12e8109c6bdbf4da45c45d83c770b48863bb3f7076194e70b5cdc667e246b37b9fe711f79cd9ff8b0ee56f3462ff89a25c798770257b0cbac57dcc61385c9f9e12e8109c6bdbf4da45c45d836f1386eb551899a1248615882176755ec823080d552cf79c3820215fa09be70938f03882bbc753559c105fae62e28918b669e2de77bca89b8faefeac72f6af06d46a1fda8383cc5018c60ce6603d6449d084097b571cf9a101d4fe0131a402e552af5058cf78a3fd7da40b65bd30fbdbd6dae95808c742e1a243bc86099ca296eaca255546e664cc2ee95459a8b801ce21c7807f48ed2147437250c9c6e3bc7152af5058cf78a3fd7da40b65bd30fbdbd6dae95808c742e1a243bc86099ca2965cc342fefec3396cdb775c76715e54f7b7418e991ddb939bf67532216f681e8fe2df11c935872bd9c02def4f2d7d86a8269a65fb98f5411d16208ec19dad22d41420518806697eceaa35f021b27c190860ea4f635f918878f6f3f8e3fa93d4d893c73f909aa0d2feb84126457cc7b407400bad1a23a60bb94b818a79e623165093c73f909aa0d2feb84126457cc7b407400bad1a23a60bb94b818a79e623165093c73f909aa0d2feb84126457cc7b407400bad1a23a60bb94b818a79e6231650050afc6fe8cb62b7e61371ca77e36a9a2ee722543129250aee965ea44b15e88aa498ab6114ad33ea8c0f526dbaab321f855bf0d6895a57843d809c91e528faa7050afc6fe8cb62b7e61371ca77e36a9a2ee722543129250aee965ea44b15e88a67085d446bc6d0eb09b8dcff795b89a97b57b610d142e0ab4af7d81cd66626803a7bcf22024eb5a180be06a9a0497a2d976f77bede16a99081b354f9b81b1d7b67085d446bc6d0eb09b8dcff795b89a97b57b610d142e0ab4af7d81cd6662680b5bbfc6a1317c6fe97243e85525bd49bfcda88331c93635a7e96849135b2d2796070016e26a0cc5023b8ee92504f82c167a43d77ee62ab9f05c9dc115f83d297b5bbfc6a1317c6fe97243e85525bd49bfcda88331c93635a7e96849135b2d279236874a2a413a30d2b153f5056d2051de81a5ae98bc4a618dafdb4fd7283247d236874a2a413a30d2b153f5056d2051de81a5ae98bc4a618dafdb4fd7283247d236874a2a413a30d2b153f5056d2051de81a5ae98bc4a618dafdb4fd7283247dea29d9e3762930bbf8bec8d8b69c7c698f9b5dca2cb5201d55912ffeeff00308f4d0b4e1a4d032481dca11206ed7faab08255352e44ec5f411660980e77f68f4ea29d9e3762930bbf8bec8d8b69c7c698f9b5dca2cb5201d55912ffeeff0030865fd073cd55293835c8f8fe3b95fe5745b767e17784e6f764de42543dafb899465fd073cd55293835c8f8fe3b95fe5745b767e17784e6f764de42543dafb899465fd073cd55293835c8f8fe3b95fe5745b767e17784e6f764de42543dafb8994ff79b028262a9352ae9ab01fbf9913719ec7ff850fd23c26aa97c7001a902dcbff79b028262a9352ae9ab01fbf9913719ec7ff850fd23c26aa97c7001a902dcbff79b028262a9352ae9ab01fbf9913719ec7ff850fd23c26aa97c7001a902dcb7a6075bf55d4b19eaaf28ef2e4d859b01509d6301317c4f37517818e978cab597a6075bf55d4b19eaaf28ef2e4d859b01509d6301317c4f37517818e978cab597a6075bf55d4b19eaaf28ef2e4d859b01509d6301317c4f37517818e978cab59d1a4991fdbf6d4169466c5be440f97e182cce21bf99e24d3afde5d217f98642ac2f53e9d85fa69b74496b6d1ee8c1f7a31f240dbd4f42ca12193247792bbf86cd1a4991fdbf6d4169466c5be440f97e182cce21bf99e24d3afde5d217f98642acb21c9bbf0e13fe418a48d9ac4599a9e6740803ffef9a31f9c493486326c2a5f98e3fcad4adab0ee38e574602c325437da47b0d551cb6c357814660aee2ef8b8b6f58315884badcdd19410e1f136e94fbd4a2fe355c2b58776f5eb9fb851f3bf0384fc543f394399562a9c6ccf7d9d4f1512a5fdeabb4ad6a061c2a59b4257613d6c664cae5dd90567b1de6823bbd6c968b006db44622b07502876480c9fb17f4535fd7302b027caa238b228343c769a173ea641ccdd117f9a1935537fee483c69869f80267c8e3935107402b6bbbe5baa3e8eb44528a22ec9baf071021b2a6f69869f80267c8e3935107402b6bbbe5baa3e8eb44528a22ec9baf071021b2a6f69869f80267c8e3935107402b6bbbe5baa3e8eb44528a22ec9baf071021b2a6f67ba5703c324ce23003d91d3e111fb232601c358326286ee6966ab10de8fd89c94d50a2ed2d9ed7df073e5866f4a1558b6a1d06b81175198a0310115b6bf123667ba5703c324ce23003d91d3e111fb232601c358326286ee6966ab10de8fd89c51f0fc564000cc8cb45e8ad6e501d3ea53f188309867b1798b89c37fa7290a03723791c937854cdb3ee508a2fb77230d6090b8b44faa94743a2ed0584fae833651f0fc564000cc8cb45e8ad6e501d3ea53f188309867b1798b89c37fa7290a03b7e9347cd9002becfd55b697beb9c52e7d7d5573e012da61e79a418ff8064b86b7e9347cd9002becfd55b697beb9c52e7d7d5573e012da61e79a418ff8064b86b7e9347cd9002becfd55b697beb9c52e7d7d5573e012da61e79a418ff8064b86f948fc2bcfe82e0ca2b61bdaed28607e6c038d89ead443af95f3123ca5a27321e09989ea17547a9d205820f11fde4a16b1da56b998b911fe83f675e56c7ac483f948fc2bcfe82e0ca2b61bdaed28607e6c038d89ead443af95f3123ca5a2732129c6eaaab18f359acfb6a5defa86007afe305eeae20ebb56516dde20bd111f9c3b19add74b4cb1a79ce93fc78240bb48072ad28614bbd73019951793bfba94f49388c2a166a5466caa9c4603a8043957ffa675048abc88dd8754a5d00718396141057275409c893b8774d5803c34dee4e8b092c319f044592baa82c8d1a9e80541057275409c893b8774d5803c34dee4e8b092c319f044592baa82c8d1a9e8053c5b2582fcdd779abd5dbf2ce447710f5ea2914c767ae90efa15a55cf7ebd1512efabc18dfe0def4e4b169a6ec01d7b22f5164eac10cd592c798f14ef4e8e5b06e8f166a918e3d4119622bf4b4801a18a8b2c1a852b171d447579158042996dd2efabc18dfe0def4e4b169a6ec01d7b22f5164eac10cd592c798f14ef4e8e5b090aa3886fda2d5c17eee67a1f307c674349377857ca976da938a1d0d67bae041318af53a767954228eebd8b88ce22f661bf057f7b200244b3742989ed0a53a4890aa3886fda2d5c17eee67a1f307c674349377857ca976da938a1d0d67bae041fb78e86eb4e33b55538c942c1e13ba71e237c16f4eb70ef84c3fdd568c73256ffb78e86eb4e33b55538c942c1e13ba71e237c16f4eb70ef84c3fdd568c73256ffb78e86eb4e33b55538c942c1e13ba71e237c16f4eb70ef84c3fdd568c73256fb0f3092450a09e872ed8f9cf23e0b8b43ae12f98f454b3666cdcc579e04d0b40b0f3092450a09e872ed8f9cf23e0b8b43ae12f98f454b3666cdcc579e04d0b40b0f3092450a09e872ed8f9cf23e0b8b43ae12f98f454b3666cdcc579e04d0b407e17a9075f54f1e10459bb1f28ee22d0b4c75274df102b7f4110a208587d497f7e17a9075f54f1e10459bb1f28ee22d0b4c75274df102b7f4110a208587d497f7e17a9075f54f1e10459bb1f28ee22d0b4c75274df102b7f4110a208587d497f9ae7f827b24aedab6b7c43881000c8844996b37700e623af8507fc57ecba1669069ba206f57514ac728f4d18945c2360d7cba4458f2b2d38ec5a9fda58c49e451d10fab591634135a55461772ba7b6439a64aaaf66892f1063869389855fa9bc524fd3914b38a2b998782897ff62cd1857187d83e190051f6dd7a2e619b0994a524fd3914b38a2b998782897ff62cd1857187d83e190051f6dd7a2e619b0994a524fd3914b38a2b998782897ff62cd1857187d83e190051f6dd7a2e619b0994a6b1c62bf788c8a8b872e13621388f9354fb802a8f3a9029ef7269e581010b9e4f4962d7cd5e544316732e80d69516962940d8e1f68fd8ab67a2c96f5a7c683a46b1c62bf788c8a8b872e13621388f9354fb802a8f3a9029ef7269e581010b9e428ff771ecb368fffcd20812ef0e5fa0ca0a97742cd990554c96d86d8510f030daf028e335ab64ac1e125ffd5b3f4fce0408d2ef8935ca7d2d8f4b0a5be049b7c28ff771ecb368fffcd20812ef0e5fa0ca0a97742cd990554c96d86d8510f030da0ea4ecd6ca1b64980bf9310f1f9b75e09a3a4ddf9d8d34f5cf30c41ba4d3d1ea0ea4ecd6ca1b64980bf9310f1f9b75e09a3a4ddf9d8d34f5cf30c41ba4d3d1ea0ea4ecd6ca1b64980bf9310f1f9b75e09a3a4ddf9d8d34f5cf30c41ba4d3d1e5343ba0232bc8de87f8bd95aa0fa7fcef24a8dee1b82e436ed64547efcbe51e85343ba0232bc8de87f8bd95aa0fa7fcef24a8dee1b82e436ed64547efcbe51e8af27ee86a57c595755ab8a8bae5375acae71234652ec7e9729416fd73258a60b548b8252c60ac72e8b9ec990f4944a20094e775d4582aafb783c9b59bf306d6fed7665be8ab71dbbae82b1e916f36f8b61fed72defae9c8b6fb1e99e68f700c8548b8252c60ac72e8b9ec990f4944a20094e775d4582aafb783c9b59bf306d6f404779bcb311f5cb7afc9c6e130750736ff54639239f60eb3c0cb4565c3a83fc404779bcb311f5cb7afc9c6e130750736ff54639239f60eb3c0cb4565c3a83fc404779bcb311f5cb7afc9c6e130750736ff54639239f60eb3c0cb4565c3a83fcda95385bdc0b54fc1f00031fde16e71d682a5974485264ad5bed67a3f18a770ada95385bdc0b54fc1f00031fde16e71d682a5974485264ad5bed67a3f18a770ada95385bdc0b54fc1f00031fde16e71d682a5974485264ad5bed67a3f18a770a58b44cde5269636a1e5bfe3a55438493a4db3bfb9b469e6e7eb32c16f6a1b8a21639f33aab5d69f5552f016753a1bd6cf9c346835a462e9a51358d19f044197c48afaab447f593dd3f2618bf9d42aa7c6eec318c45087f1daf89ccb6f5f898d49b9f934c4f6fcba43812d660cdf709fba80689e27d4254f2c6222c3c56748d7430e422983459320c856abd0f801c0037f74b9461dfe0b0b207ea94a2957449229b9f934c4f6fcba43812d660cdf709fba80689e27d4254f2c6222c3c56748d74cc0f91c519a0a8e3b271cf96bf9c9ec197185a7416422ec5ad21cb00ccb2c95564027c7c8e1714f087162033f9996c1b60a8515722363c1d105e3107090b7f44cc0f91c519a0a8e3b271cf96bf9c9ec197185a7416422ec5ad21cb00ccb2c95545f06665dc6617698ba3ccbf6316782a439c39acd25270fbf9613339e6a581a745f06665dc6617698ba3ccbf6316782a439c39acd25270fbf9613339e6a581a7fd8c4863f4bdc14c73a0c7f2bc92a24cbf05ba112cd07736b06b2050d7b6f89129f42f144093607192cecd629feb374fa6a0a81cc5c41d9c09d6e25f7a95682329f42f144093607192cecd629feb374fa6a0a81cc5c41d9c09d6e25f7a95682329f42f144093607192cecd629feb374fa6a0a81cc5c41d9c09d6e25f7a95682300e0fa5aef2b606c2241661d9c46b6126ac2e3704be8f181304a0516595b8ea600e0fa5aef2b606c2241661d9c46b6126ac2e3704be8f181304a0516595b8ea600e0fa5aef2b606c2241661d9c46b6126ac2e3704be8f181304a0516595b8ea602af5a7f292a75ee4268fb916b2a3559d085cc4b9b668a2889f0aee262d56e25b91cc49b7ccef82471610cdda42345fd549b9dd5a05f3ec5c6ca29a6354be50c02af5a7f292a75ee4268fb916b2a3559d085cc4b9b668a2889f0aee262d56e25d08dfbdcfefe8cde02b1deece22371d7fb5767d25b8800f4f16a4c35cf6ba1de69ad5ce035d66444c9ad2fd31ab727be35cd6e0774f66ab8f8887986665f6198d08dfbdcfefe8cde02b1deece22371d7fb5767d25b8800f4f16a4c35cf6ba1de89c0f107384676f1908fe201cf0103d77953f9444d2fb2bb8808170736ae0ffc929cc11f8c39764fcb44a393039da178d1399ab3d24a33059eb8d18f9ad30d5a89c0f107384676f1908fe201cf0103d77953f9444d2fb2bb8808170736ae0ffc989ec399a1b14207a76c38d31b047061d1b51787b16e6cb0b7edaf9f39cfc65491b271295b148902d1c771e45fd830f3bc3d2bfd4be86b600e299d2f755c20e2be3c9a4887651e3ae4a1cc6185a53fba993055d3756d657a00660f214761dc559ac7303ce9c9a6d8ab6399bf3efb1c79df11849f1dafe87d1a57f12dbb0dbc199ac7303ce9c9a6d8ab6399bf3efb1c79df11849f1dafe87d1a57f12dbb0dbc199ac7303ce9c9a6d8ab6399bf3efb1c79df11849f1dafe87d1a57f12dbb0dbc194aeba8e28edb980bd46ccc0e300c01fc1706e6a15a5d113c4e13f42d40223e8d74e4c0a36c50fcf77cf8a0a35d05c236720780e26f6cb71c564e97c41a1d745b4aeba8e28edb980bd46ccc0e300c01fc1706e6a15a5d113c4e13f42d40223e8dd9ce6068825c0f54576cef186653677d50d577b6d6f70b2a135b28e20c0d45823158dd39802550cc158b5b520dd7deb2f83bf3c1441574911b9a325919d46eb2d9ce6068825c0f54576cef186653677d50d577b6d6f70b2a135b28e20c0d45822e44f2c73959cebf76419f9f0bfa88db06f291e49ad6eed3154d179116e339b52e44f2c73959cebf76419f9f0bfa88db06f291e49ad6eed3154d179116e339b504106330d6e6528b6e26e9198d8566d9679538bfa3298d9c61607e3d14b281d930486af07d28e27fa5fbdb8d602908da668175fbe157b577a8ce74c39fff5ca33246ae10d6f10aea1c922388cc4acc5117e4ce04c58574207dd08e0ecab73ea41b386bcbdd3ee00144dcf0f94e0c6f6e94bf894b2c220fbd7a303dd65393281ba0389136a0ac9901b4099766bc353d2b943d99c3eb7fd64a74ba4256872fc93b9c760c78ea75703adb4cb250dfda797820c90ae79a235cbd549cf5a101fc6087a0389136a0ac9901b4099766bc353d2b943d99c3eb7fd64a74ba4256872fc93bba61e92ce720370a8199b9e028ba0ebdf5842cb1fbc5aa60942cf71c1fd384d6ba61e92ce720370a8199b9e028ba0ebdf5842cb1fbc5aa60942cf71c1fd384d6ba61e92ce720370a8199b9e028ba0ebdf5842cb1fbc5aa60942cf71c1fd384d6ade97197f3e910c910853680599b764708c7199d3ed894d14a1f30eab1be464cade97197f3e910c910853680599b764708c7199d3ed894d14a1f30eab1be464cade97197f3e910c910853680599b764708c7199d3ed894d14a1f30eab1be464cce9fc12cfa62bd954c158883d82e5da765dd9af4a4ae9be4ae8fd8f6d4a34637ce9fc12cfa62bd954c158883d82e5da765dd9af4a4ae9be4ae8fd8f6d4a34637ce9fc12cfa62bd954c158883d82e5da765dd9af4a4ae9be4ae8fd8f6d4a34637892d9b894df709d854812c945fbb772412b91c7af89d57976d5018b6d09d8cfa892d9b894df709d854812c945fbb772412b91c7af89d57976d5018b6d09d8cfa892d9b894df709d854812c945fbb772412b91c7af89d57976d5018b6d09d8cfa09712d1cddb27c71eb645f9fb75984386ff5779c7223d68413aaca3dcca9115cebf102ec78b2c488b84c64b4e8cf771ffa6bbc04b3e88521e545bcfadac50c7509712d1cddb27c71eb645f9fb75984386ff5779c7223d68413aaca3dcca9115c5d198c944b5d5e50a51e4182d369b37348b0147076ea10524f22b236a4cea17e5d198c944b5d5e50a51e4182d369b37348b0147076ea10524f22b236a4cea17e5d198c944b5d5e50a51e4182d369b37348b0147076ea10524f22b236a4cea17efaac3ff1cabaf01754b4f0d3a1e93b12b65c97cdfae45b459a9fb12bfd9b5ceffaac3ff1cabaf01754b4f0d3a1e93b12b65c97cdfae45b459a9fb12bfd9b5ceffaac3ff1cabaf01754b4f0d3a1e93b12b65c97cdfae45b459a9fb12bfd9b5cefaf00b601f183d2f2949e44e66abc7a10bb87d24739155b5f9616ab54f386fd79af00b601f183d2f2949e44e66abc7a10bb87d24739155b5f9616ab54f386fd79af00b601f183d2f2949e44e66abc7a10bb87d24739155b5f9616ab54f386fd797e00e764149be5848bf9f6ad87169c98c1f6e33e28f5daeea4587712784f91d80a1d822837a12b11281baea27e90a8e7ad08e17017d60726fe97bddfac9350c57e00e764149be5848bf9f6ad87169c98c1f6e33e28f5daeea4587712784f91d80418142f9cfb77b0703039c38ed06da50b4d248191a54af0f87adb6e8ec114bdbefa8315d4969eeb3ed8d799efe2950e24ee7ddcf6dbeedb85bb7cc386896ddd0418142f9cfb77b0703039c38ed06da50b4d248191a54af0f87adb6e8ec114bd7abf78d7053cea4b5112b4b01c47e3c0546b015386e0b44635a9ecb19ed778e6290568dc46d887cb56596efb763e561eb416809342e6b1930524ece71bfe2ad17abf78d7053cea4b5112b4b01c47e3c0546b015386e0b44635a9ecb19ed778e61e0820786f1f2df809441152e3aca196fa263f08b471a1efc251372e58badb061e0820786f1f2df809441152e3aca196fa263f08b471a1efc251372e58badb061e0820786f1f2df809441152e3aca196fa263f08b471a1efc251372e58badb062597399594aa443bebf91bbb488f1bae7871485e5e137887b5e11b850c44ebb5c056f7c560a892e1576f7f4e6dd70d4a352170573070ab587ef18ed444575cc42597399594aa443bebf91bbb488f1bae7871485e5e137887b5e11b850c44ebb5a5537ebebc7c7b0f842aa4b2391fddb824840bc7b6375e5af45ef661529c251d25f008e94f86e3646e4608f8f59cf70a92b4b4ef741812e42566cd4b067e14c0b7a440cdf73ea492ddfdf08778f03c70cc319274e9543c37a3becd28f03aaef22add1448833bf831b6962332f9ad5a354d7b3ab2ce5ca3f6cbb01f9f25eff7c768e06bb92a5e605c32aeb0af75fd15270a1455f442586061ded3266ab370fa8ba0808d6436f096a5336f57f94bcdddf2a383c0360473f1939ea254adff16af23026967a1c7ecde61a9d56ca8c4d7bc3029729123ac746581f104656892b4970ba3442e2aa3d73c1e1674dd6f509fadeb80ee4f4b86c0296fa2249f245d3033fe9e32d12be69245c0b7d53e198071a23a44535775e130b8cced07d84eecfed7e9b8522dbffa9df84cc6dd3373deb3360e209962655027842a7272c4d15f061b3044a42e1e992d32ef35cf87dd210b75b444ca2200992e0d142c91fae4dbf264c8b8522dbffa9df84cc6dd3373deb3360e209962655027842a7272c4d15f061b3033a5c567f95be8748d518f21ac64575535d869f743038305a216122b26b43dab33a5c567f95be8748d518f21ac64575535d869f743038305a216122b26b43dab33a5c567f95be8748d518f21ac64575535d869f743038305a216122b26b43dab23962cc1a65b7e34d00a231d2a300fef93b16d89e8111896be220c773a6043a223962cc1a65b7e34d00a231d2a300fef93b16d89e8111896be220c773a6043a223962cc1a65b7e34d00a231d2a300fef93b16d89e8111896be220c773a6043a2643c27dbc7c808d42b43c5a206f587663c884b1ee20866f279a7a0d8e0e60412b2b4a7e4dbf20f53414675aeb5a6eef3e5b2ff42a5029a5d6f5bfabdad2694ce643c27dbc7c808d42b43c5a206f587663c884b1ee20866f279a7a0d8e0e604123ace108ac7f3d2cacd16ed103564b48243d79f7f4585aa8a4f68486e9bbc460016b3456dbc18c2a0725d7e6c6d594adc926feec47cf27e0d77f68dee6c1544053ace108ac7f3d2cacd16ed103564b48243d79f7f4585aa8a4f68486e9bbc4600893c0075d02b3e993f17a4a1f32b5f7794fa24587a200fbb02b040f4f803cab8dc5afedd937ceb0d29ee9275df89d2025533f6a572feca03bb6e90630caa5c99893c0075d02b3e993f17a4a1f32b5f7794fa24587a200fbb02b040f4f803cab88588ebc48ecffd45f6b9bf6b8fee90dc8b684d4f2b810e7859cf30f0e17d03a2e578e1204ec3328e806ae0deeb94ed3339743db3b51ef1fd8d9107cb1337216f8588ebc48ecffd45f6b9bf6b8fee90dc8b684d4f2b810e7859cf30f0e17d03a2ed48fc329bb78869689b141a044610909a2e90abf1395b8a95b68091e2bab5a0a8d6e8c07cab6974b6525245c1ad27bdc16d37a04d4da4648232656cc9a468c8ed48fc329bb78869689b141a044610909a2e90abf1395b8a95b68091e2bab5a05798d55d5c2f482261c81c689522734a8fb0d621f05b6943a7002715c5c8a34cfed4928b3c30cedda6b648ff4b5ad62c0fe139aa7134d7957a903543d4f908465798d55d5c2f482261c81c689522734a8fb0d621f05b6943a7002715c5c8a34cb956aaa14fb0eaed548ed5934035fff7b5aaa580dae07c956fc97534fada285bb956aaa14fb0eaed548ed5934035fff7b5aaa580dae07c956fc97534fada285bb956aaa14fb0eaed548ed5934035fff7b5aaa580dae07c956fc97534fada285b4af40abd9f9daf0472bbff112fa9c1a0f8cb6d3643da614164649a8ac70f858fd435f3a17d0dd18d64e89fc5484294c0535d157db16d0c7eb5c0c212abbc6c9815a32b69817f6a7770a308144ccd0150c4a20ed7747a38600516e65fb041b2402d93c357d43e7779cad66a81e84be6a91bd684df286672e1a7c392278aeb344e36dc7c0fafe880d55733650dde62dd594d59969eb9ad22bc64a4d3b7aa81416576175a1cc1ac41a35caad8b3e2a58b571461445a36aa06e9a9e358b96ec3bfd4f24ef3538f78c67f3e27dcc6260ed385740a2d7e77b1709319d7ffd5b17f73d8094e18eaf7e9fc3ced1004397993b6175353411b3a88636ec582826c11c962c7f24ef3538f78c67f3e27dcc6260ed385740a2d7e77b1709319d7ffd5b17f73d822c4a470425d43f766f531c449697aca852018985f2bb54e34939958b6da318222c4a470425d43f766f531c449697aca852018985f2bb54e34939958b6da318222c4a470425d43f766f531c449697aca852018985f2bb54e34939958b6da3182d758f93dbc188935ad053912b441c40ed9469995b0df8bc03c71727d931f7c37d758f93dbc188935ad053912b441c40ed9469995b0df8bc03c71727d931f7c37edb560f9f807e354ff540f73ef1b7c8f9783613828e8a26dda8f473574858540137fc2799c43af511e4b2316dce23bdbcca750530dc98f9d0dd60fb610e68c9ae218130b765c04208d43e0d0b430dd07413a5057b74e648b3f5131ad351a4711c52685a39477a2dc683a5576a8dfb75dd3d007e330b1c52d829afce825a18944c5a396fc13a58ff31fa465dd58e70e42938962715789e2ea2576cac1102dff52508ffd74c13edd630f7797fb217580305d38cd993c1fa7cef4db3dab02c9b5d6c5a396fc13a58ff31fa465dd58e70e42938962715789e2ea2576cac1102dff52e479777bcfd85c3ede4c98664e9030b63cd9b19f571f0be8fc4573418f378d8ee479777bcfd85c3ede4c98664e9030b63cd9b19f571f0be8fc4573418f378d8ee479777bcfd85c3ede4c98664e9030b63cd9b19f571f0be8fc4573418f378d8e6891377fbf395ff03ff6efaa772e7630248a19f685cfc7cf78a0ffd940cfca3e31ff25d3361b44be3653325ba25f8da0f3d2b18f0ea5b5bb457e2ba2034da4a7c30af45f24378cdc78b9ab737249b4e2b54cadc6b3019a9e83602da721a9a24db4a8f1c599ad92e43e49e0e1256057897e4097b9876136b38f0796ba33cb5cfa38d7e1d6efc4fdca4237a9827652ed556a007e4f149f3f70eb80c0424ce10172b4a8f1c599ad92e43e49e0e1256057897e4097b9876136b38f0796ba33cb5cfac8043d17c22006e3afd814b07e96347b4adabbf638be51040bfb320c4e8cd73572fc580ee444035050639ff806d3436801aad3158e63174d30cd9b8dfdf661abc8043d17c22006e3afd814b07e96347b4adabbf638be51040bfb320c4e8cd7353997dde7a0c8ea9d1771d49949305671468fd0d18c0bdca38a99894c701bf5ec96dca2889b33864b0af16d8468567865c6c1b575725e7c81a830d18ba3cbdc533997dde7a0c8ea9d1771d49949305671468fd0d18c0bdca38a99894c701bf5ec8f092f053b9d7ec45f904f1a0e23c663593a23b4cd88f4994c9ee447dedd39aecf5e485107f5ad8c8f3aef3d0291dc77ea1b843af94f815efb2307c4d5a0e5fd8f092f053b9d7ec45f904f1a0e23c663593a23b4cd88f4994c9ee447dedd39ae95480c1976c3155d0d245e425d2477f27d15a78f1e90ddf429d850dbc18a005295480c1976c3155d0d245e425d2477f27d15a78f1e90ddf429d850dbc18a005295480c1976c3155d0d245e425d2477f27d15a78f1e90ddf429d850dbc18a0052c8aadd2b394faf0db4d20bd6d7ea9df19f860f6e794a9c53a8f7e98fcea2f9a6c8aadd2b394faf0db4d20bd6d7ea9df19f860f6e794a9c53a8f7e98fcea2f9a6c8aadd2b394faf0db4d20bd6d7ea9df19f860f6e794a9c53a8f7e98fcea2f9a65dff6a3e0bf12b8ba114b50c41e5a72935bc63d63459607594ce83adb44dd2a2c07134e04404e6937053d216570fb7f95300d93e73279121113f6083251237a25dff6a3e0bf12b8ba114b50c41e5a72935bc63d63459607594ce83adb44dd2a2c64f33a59d902bfb2fc1dcba11d1c5f8ac8fdad8d0fa3fbf697ae4a7100dfe3ec64f33a59d902bfb2fc1dcba11d1c5f8ac8fdad8d0fa3fbf697ae4a7100dfe3ec64f33a59d902bfb2fc1dcba11d1c5f8ac8fdad8d0fa3fbf697ae4a7100dfe3e781fb916b52da94025c0415d33075aeb496946de38e5b718f8abfa02999da18132c0ad315b4618d57580c997130f2adb33609174a3bd8ab6252686dd24c0f2c0781fb916b52da94025c0415d33075aeb496946de38e5b718f8abfa02999da18130f17b72e37f11b257038dfba54a687d54ea43cd7e31fb28f4d3a7c161601d6e30f17b72e37f11b257038dfba54a687d54ea43cd7e31fb28f4d3a7c161601d6e30f17b72e37f11b257038dfba54a687d54ea43cd7e31fb28f4d3a7c161601d6e05e9a03c1e6242247f37c2cb6011459c06b70a9e9f8aa844c4c8af75437f0a3f05e9a03c1e6242247f37c2cb6011459c06b70a9e9f8aa844c4c8af75437f0a3f5431f21c3e899c93b8ea8672be15483fde6d8ad4ca1d2f706b6503fb6d69fab91651936bfd58d8460758455ab28e06452cf8b7b6945fe9d0067e39340a1d6f7f1651936bfd58d8460758455ab28e06452cf8b7b6945fe9d0067e39340a1d6f7f1651936bfd58d8460758455ab28e06452cf8b7b6945fe9d0067e39340a1d6f7f7e24293683f65ab5b90f25b28c7145948fb992ff901419c688d806b9b7c2ec8fb70e9a15b72dbd3c7806606b743d5940390c6b63ce9475ab4c6a0cab7f43f4527e24293683f65ab5b90f25b28c7145948fb992ff901419c688d806b9b7c2ec8f51b1a3158f668814276511dac25ed926d58d580a7b9c6116986f31f4c210f6d924771e354344e288aa1ac0abd20d64129ae508081d0e731a92098e51b13cf628ff0bc6fee55cffea581b01b5dbc80679dac88231c62e581b0c6070c165f1fd9f4c1cc00d50b1c2105f72694c18721d7e9dcdf9495794f5782f3d9b0de27e67a54c1cc00d50b1c2105f72694c18721d7e9dcdf9495794f5782f3d9b0de27e67a54c1cc00d50b1c2105f72694c18721d7e9dcdf9495794f5782f3d9b0de27e67a504e36ae65f6e3dab769ee3a410a85905e7f2200315f9544a2f3fc17f5391fc4904e36ae65f6e3dab769ee3a410a85905e7f2200315f9544a2f3fc17f5391fc4904e36ae65f6e3dab769ee3a410a85905e7f2200315f9544a2f3fc17f5391fc496043a68e6066231d028509a812e0b4dc16ad42eeb2991881de5dfa19cfeac093d4b9b4ac367d281d6c0ad257f917033dbcca9d19e0a36350c039eb11e5fe374a6043a68e6066231d028509a812e0b4dc16ad42eeb2991881de5dfa19cfeac093799af26542092370f83ced49e5d1363b8fa4cb2425126c2513e746b2b750b713799af26542092370f83ced49e5d1363b8fa4cb2425126c2513e746b2b750b713799af26542092370f83ced49e5d1363b8fa4cb2425126c2513e746b2b750b7138f70b3a6520a22ad5ef20054b902904b1c549ca1ac652be07069eafcf8425a7329eeabcacff4c9ab0e3a9c3f8d1e1f46ae8b71cdccae96acd820765ef845d017578c1d1c91493b699fe8b3b6d03d59162b77f665ec14d065b21bd5bd311c6e1d2bec2eef77e02594b7b07d85a0085cbf105e9f729e0b6bbf40ed60d7a006e033541ec11bbe8557374f08192ca8b9c3721b13c547bfd33e880f61838dda1748ad2bec2eef77e02594b7b07d85a0085cbf105e9f729e0b6bbf40ed60d7a006e03339771dad8a49d63e9dfcd1846e4721742c2e51d0617564338b0d64bb7babbcd37b7cc1de2fd7725654dda30469ae0e6d0f37c617848519ac53c134fb7cf1d3ee777d7bcc78442fbce2df4a3123eafca18522399a2ae06c8039a6e0b3b50bef9b1776e5bd5c9fd2100a831b6878bf667a1b22f2ffcdfcce693185d68d4164bf2878f66a0bf57cd96064d7ba8c18def9827d9ed8a7f29aaec0ca42c6d2317327561776e5bd5c9fd2100a831b6878bf667a1b22f2ffcdfcce693185d68d4164bf28d148d741e0e079d09adb021ec801cb54b2521014000a2bd0868c6acc400caf1f5eb00b4516c4302adf6f3e08f0c0bdd6b7e6b975d7ec0207eafb1cb836542e13d148d741e0e079d09adb021ec801cb54b2521014000a2bd0868c6acc400caf1ff7923b0a89744f76e79b24420fafd4ecad0cf7fbeb8ff4b82c0c4779e6110fd11cfb494f0c004cf7cb15b5d5f05baf2e324a8c29e85b9b586badb6f61f1c8fbbf7923b0a89744f76e79b24420fafd4ecad0cf7fbeb8ff4b82c0c4779e6110fd1e02034e2d689b2a26d51a8c2482c6291449acc04915dad433735eaba4c9a65d9e02034e2d689b2a26d51a8c2482c6291449acc04915dad433735eaba4c9a65d9e02034e2d689b2a26d51a8c2482c6291449acc04915dad433735eaba4c9a65d9e69e51d2348731b3d93ec95942c6237758f3396f45e25c42fe06300eaebfa9eee69e51d2348731b3d93ec95942c6237758f3396f45e25c42fe06300eaebfa9eee69e51d2348731b3d93ec95942c6237758f3396f45e25c42fe06300eaebfa9eee51a5323e9ffe5c9ac099d574618e612cf0bf6430dc85faf037457c3066fe56de51a5323e9ffe5c9ac099d574618e612cf0bf6430dc85faf037457c3066fe56de51a5323e9ffe5c9ac099d574618e612cf0bf6430dc85faf037457c3066fe56d5619f9f2ef97c14fcd492b09a36e361f6542cc4b3640ed2ee577d7a7b06a7740226c4e9426cf8e92199a139f09a6d68eaab9ddd51f614b509d3e27a453bbc2e591158ddd976412543a839b8ea2c1fedb49836d8b981cc0c505e6c8b838dfd22bec57c38fd337e8538e7b5968954e1bb25e266a740ac5f9f96831c6f3fc3e5aa37850dbbe25731a74f3231a95fdcc2d67c0adc076037bbe48dc3b0a4b30f84359ec57c38fd337e8538e7b5968954e1bb25e266a740ac5f9f96831c6f3fc3e5aa3634d70caa3978f404aa383b2323f963b8ad1c388b817487faa6a64454d8caad8634d70caa3978f404aa383b2323f963b8ad1c388b817487faa6a64454d8caad8634d70caa3978f404aa383b2323f963b8ad1c388b817487faa6a64454d8caad8ffb2974501488bf6ef5b80836efe4a0496e610fc50523f800d20100d516c4612ffb2974501488bf6ef5b80836efe4a0496e610fc50523f800d20100d516c4612ffb2974501488bf6ef5b80836efe4a0496e610fc50523f800d20100d516c4612d699b2e5ee866c2854e7a10066b2256ee861d93c2ff5cb85e7d32b0037d2a0d2d699b2e5ee866c2854e7a10066b2256ee861d93c2ff5cb85e7d32b0037d2a0d2d699b2e5ee866c2854e7a10066b2256ee861d93c2ff5cb85e7d32b0037d2a0d235bbc4915fca65601608abeacbf923cb748663bd0a11f862e564738cff8eff281bb53e335edaa9f37dba8707d5558c2d28f3fa1a3dfe62520a4caf92eee8f10d51ff29792cd0fac9b9c91e5d8984c7ed133c5a285ba480558a191167e79d1de66d0e47e33c994b199cfe9abc5b80bd567a748a7a5c4dd63cd8a90d88635f7ab1a6d327c8c80f87a9fb1c0abcf3422d56c4fc4ee5d7ce6a4f428d68487d461fd56d0e47e33c994b199cfe9abc5b80bd567a748a7a5c4dd63cd8a90d88635f7ab12bb9978e01bb81264f78e5c724be58a913eb6ef3e5f9db6add6ad4eea4efdff62bb9978e01bb81264f78e5c724be58a913eb6ef3e5f9db6add6ad4eea4efdff62bb9978e01bb81264f78e5c724be58a913eb6ef3e5f9db6add6ad4eea4efdff6a23bb50e5414a77bf0073d96aa93b2218389b591408ce678e4fa97599ca021ffa23bb50e5414a77bf0073d96aa93b2218389b591408ce678e4fa97599ca021ffa23bb50e5414a77bf0073d96aa93b2218389b591408ce678e4fa97599ca021ffcbe66ab86504ebe6de39aaa2505e2520c2a83509f5c2787602b8efb92405ff6cc3d7f5041f8a3f0d1f2eaafc57c2af5b0d938aba8f94616474e292b9cb9c4e7a45ae170196841fa5852d56e6e038489db54f6446ff3a2eadb262fdd7edc8af8e049b971fb62a3d41f6d6e248a1e2564a3b440c37c016d6e1011ab3abe2a612a2d0a4c2ff16b1fc1493f368e8f40e71149d3d485527c91b68794559ecf9c5b0ef049b971fb62a3d41f6d6e248a1e2564a3b440c37c016d6e1011ab3abe2a612a27833d218536e0506357cf2e6645879fcaf0da4195affb2e445a345dd249f24cb7833d218536e0506357cf2e6645879fcaf0da4195affb2e445a345dd249f24cb7833d218536e0506357cf2e6645879fcaf0da4195affb2e445a345dd249f24cb5f0a7df3aa7447f2fba93e3c9de89630786f5f6de4d6f1856debb166c24c469ab179f690841e55415639d031feb1675cf9d696c0179d9c7a1c03055bf1559bd671fec142cac8444639385bbd6ccf130d17b663971dadd73a9fd6d8e9b791e1b842a40aa4a182904d2366132ce39962d19b7acc74ea1649116e620802991dc55c42a40aa4a182904d2366132ce39962d19b7acc74ea1649116e620802991dc55c42a40aa4a182904d2366132ce39962d19b7acc74ea1649116e620802991dc55cbc0d4c4c2c046b7f952cb0a1d623d82257bc4644578df4224483607950b0d0f5b1ed86a6c4be68ba04b939c7d6d3d7d988cab43c26cee84b078b7f0ce57be213bc0d4c4c2c046b7f952cb0a1d623d82257bc4644578df4224483607950b0d0f5c4358b28c0bf94b8b10af4543e11c8104b7cccac90b4dc993ebfbbaff7acd0d1e3f45b33bfcd07272699e5ae6dafd158622cc12217ffedd7f2f21b01b2e0bf372aef2e1476ff5353854839bbff6733e45ab823b813794bd369fe0bb7fa058f9565f36fead26677a876f362bc9d508823d13dd435a55b9b2eae7e29c1154d30567555944062e01e799a547e4e9fd893c582ac7fe31a6f4787bc7e717aff1f8ed865f36fead26677a876f362bc9d508823d13dd435a55b9b2eae7e29c1154d3056b31472013b32d4c9504d5a1e2b16012452f22ac847bf6a8b0c0ca5f390ffe632b31472013b32d4c9504d5a1e2b16012452f22ac847bf6a8b0c0ca5f390ffe63202c04b3f71dfd1c21a93eb4b29ea1da727e21945623f5bf96c9421f9226df3681036ddaa45b27e569c21a51eccaf655e756b8672b256d44516213ded8bf5d27f1036ddaa45b27e569c21a51eccaf655e756b8672b256d44516213ded8bf5d27f1036ddaa45b27e569c21a51eccaf655e756b8672b256d44516213ded8bf5d27fb6f0bb85fea09f760a2e78189cfbe417fadf585d4119122a52d11833e6a9a8c56ca6d8552a15499564f1187efd818d0db467800c5be6cf56832426f1d1925254b6f0bb85fea09f760a2e78189cfbe417fadf585d4119122a52d11833e6a9a8c5591b22864778e4b3505388a858bbfa2c38683847d3ac8e3c62f61fca19043850591b22864778e4b3505388a858bbfa2c38683847d3ac8e3c62f61fca19043850591b22864778e4b3505388a858bbfa2c38683847d3ac8e3c62f61fca19043850bfc3410b75966993011b01a732796f8de08d979fb66729d8ee5b5bf07bf1a7eee3cdcd1b8d26a5b4af958c57e3f3afaf75edbd90bf1499566e6c2423d45c9e5ebfc3410b75966993011b01a732796f8de08d979fb66729d8ee5b5bf07bf1a7ee3163093505e854474d6d4d8e13a524db774571b04a7e07c5fb0197c8edaf6693e619327d2013c16a8c03c79004476ab36c20f31edd213fdef077f33501bda66b3163093505e854474d6d4d8e13a524db774571b04a7e07c5fb0197c8edaf6693547d5c71b3e523d711fb6580055eb8b8ff5fa63d7ff94e0e4867f0151c950943ec86d6782a7eabdd6fefba2791d02ec8b9413d2eb890245b30f3906549b131e4ce6ce4a135955aae78cf67edffaa880023fd7b22251563070423e2cde074d95a0836a7335aeb02a2d37ca28c00b46637496db2983445a94d0a9e56ea315280ef21c2565b059c9e298d96297431384baac8e495b0ea01c59371cacba4dba0b0190836a7335aeb02a2d37ca28c00b46637496db2983445a94d0a9e56ea315280ef422f301b047e1cef3b3e5901e686a7c26769c34a9080768e07cb8314cf50763ea27a0b982c7be3adaadd9f96db57dad6af0655ef3797d3dcb0955f65f5a41b61422f301b047e1cef3b3e5901e686a7c26769c34a9080768e07cb8314cf50763ec0b485bc655a5e9db1be96159f9db2f7e23f0d6681f80fbdff3ef93bd202f451c0b485bc655a5e9db1be96159f9db2f7e23f0d6681f80fbdff3ef93bd202f451c0b485bc655a5e9db1be96159f9db2f7e23f0d6681f80fbdff3ef93bd202f4516e259bab4d4db1ca4bd59d868c930cd88ceac9fe055b36e6f9fdc826590e8376db805700d2a6733e1555afa8667acd7560c2333df968691897be22c06fc274f96e259bab4d4db1ca4bd59d868c930cd88ceac9fe055b36e6f9fdc826590e83767ddf53d40ef2c59f8dd9aef6e689020885e256b3ce517eab51a698bf1c24c42d48027b39046be4a07fb8d3073eb8da8569f2eb98cdb383b138fd270814e97e31c4981bf30d1d8ee68cbcbfdc85549231d00191bba5514e60c5ede5e57299ad759c8dcf9648c8f4f8ff912da4471cfc9f388b3d8379f5b86bd323775fedd70ff89c8dcf9648c8f4f8ff912da4471cfc9f388b3d8379f5b86bd323775fedd70ff89c8dcf9648c8f4f8ff912da4471cfc9f388b3d8379f5b86bd323775fedd70ff8b6bed917b30e1dd267dc880ca563c6c624d356d9c4197c7f1377824cde5704e6b6bed917b30e1dd267dc880ca563c6c624d356d9c4197c7f1377824cde5704e6b6bed917b30e1dd267dc880ca563c6c624d356d9c4197c7f1377824cde5704e6aaef93bb7d2759990e7f6ae06207f4fd474699046e98d3a2b4e2fb9264a699128a6219f0e0f8c3cb954f2da4bcf43bac94679a75931aba2db2acb55a53bda660aaef93bb7d2759990e7f6ae06207f4fd474699046e98d3a2b4e2fb9264a69912c0f6430ef014aa3615416ff3b0ad8ed8f6c2e3b1a18bd0cf0d5d6a7167fce53c673dbf3faf37a6f25d8656ba0717c47cefc5ce90c33b4d8744af9fb8a308c0102f7f36f1f5870c79c32a8be66eba970be82fa640f2c3d09b178170c844bcff53bd18a594af05170ef27ac4f7621e73fb6c5d92650ca6dff7a5716b719c5b56bfbd18a594af05170ef27ac4f7621e73fb6c5d92650ca6dff7a5716b719c5b56bfbd18a594af05170ef27ac4f7621e73fb6c5d92650ca6dff7a5716b719c5b56bf2691a6a2cffe1d31ee7aa95624190dd049cbbd70efdf6c4c65a29fae1ba5b0c2a0fb5eed6cd3421132cdbffa73f26fb9facafd0eccfd235bcbd7a8961fa6553423f3975309f71f097e8083532f0eeff2acc9d82fec5f8e78f9f75de0a0d3882fd544f04af2ef4c2f552fc1d9283095abc6ab02542f98041022d0b936a6c9e22b6366f1e13c0c22e96b00cc8c064752f04682a0cb845903bc5e541e8aad7ee797d544f04af2ef4c2f552fc1d9283095abc6ab02542f98041022d0b936a6c9e22b23c8915ab71f00a451f8d8713c7ba60a026f68391101538e73171a3351e0adba23c8915ab71f00a451f8d8713c7ba60a026f68391101538e73171a3351e0adba23c8915ab71f00a451f8d8713c7ba60a026f68391101538e73171a3351e0adba718e1969d107c95ba861a71897b276f2531442c0eed7acab1c941c59de26bef28c83c896fedb379015334f7caadf25360ac085cbb0acf7666fe5a7e11cc68c27718e1969d107c95ba861a71897b276f2531442c0eed7acab1c941c59de26bef2c4045e69b0edaed5268572bdbf8e3c29d675e711b5e67a0d4b5932ff429b9e629691d469b552208793639453a093141eda7c0ec1a4763e3cdc4507c142c7387fc4045e69b0edaed5268572bdbf8e3c29d675e711b5e67a0d4b5932ff429b9e62b1bb03f5d8db33d11f4b0038f5d31ca1fef938558311a5b7fe64190e09ea0503ee120f866821597cb5eb6b93e829c76231f443264e22812d7d16150a2aa0a7a9b1bb03f5d8db33d11f4b0038f5d31ca1fef938558311a5b7fe64190e09ea0503c1ea1771ade0c6b2fbc31dda978f50207dd06b3260f7b342d139ef3cfe68926dd7dd63c879f107ca3ef59aa1e863d5ae44df56e586796f6e4786886f8adba3dac1ea1771ade0c6b2fbc31dda978f50207dd06b3260f7b342d139ef3cfe68926de62cade389e9cc4c9398221497b0a2baea182d3392a9d8b9b3cbd3f3adeb059f4e7316a808a545df2fb2f39719f197d523b4534168c4b7d3a62ab9a0f3655162e62cade389e9cc4c9398221497b0a2baea182d3392a9d8b9b3cbd3f3adeb059f8becf678f20645e480e7430116992128b0490a77f040598e6fb60aeea0630dcafdb991f3089e9a3249d79933c5069ebd3ec5c74267a9dfd6feac905b54709f3b8becf678f20645e480e7430116992128b0490a77f040598e6fb60aeea0630dcace324a69735da03695e74ec0b8969b5ba013f8eb2560ef8f03c99137b84a3a74bbc6cc07fd2a14d4068f1c1518203ba0ee63820297495d95f388ea623026c7c8ce324a69735da03695e74ec0b8969b5ba013f8eb2560ef8f03c99137b84a3a74675755b07f069bbfce8ff5a038995af77d973845543bd63895745b4eeb62bed312d45dad27f6071a4a5a675360d32e0f3a5c3729c366ae40cefd0f7ca12e6886675755b07f069bbfce8ff5a038995af77d973845543bd63895745b4eeb62bed30b87a3848bb36733f3a8b250baef5d68d3e020d3b84ff46f70bc1f186d8e6a34d5f47ed7c72aa854da0385b45c2191ef18f9747b7b29fbdbb4d8a5c79860f2ee0b87a3848bb36733f3a8b250baef5d68d3e020d3b84ff46f70bc1f186d8e6a3412404e0b1caefb0864e89f14c9a227e257a9e48c467e65157948800376a9653612404e0b1caefb0864e89f14c9a227e257a9e48c467e65157948800376a9653612404e0b1caefb0864e89f14c9a227e257a9e48c467e65157948800376a96536031da1335a4f7bec543c31d59cd966491be746accc2987bfa5d0234c84acc6bdc5291a19ec9d3f0a8857cf29a9a6f14f0e047e331fa9cffa21eb251f627030a6031da1335a4f7bec543c31d59cd966491be746accc2987bfa5d0234c84acc6bd4a292eecabf59ee226a2fa3e3445ebd8e057e5d30ffd722ef9b3fdba17b7c981bd370f8fb2dfcc8bc1b8a45ba75c662f211b0f45a5419cff20969447285147d54a292eecabf59ee226a2fa3e3445ebd8e057e5d30ffd722ef9b3fdba17b7c9814cd7d5dd5ddbcd6f5b0837fa57421fb1a3a39ea2a382e88a4d62ee13d0752c8e312ced06e44b6bf14cfa9b69b535a9ffeea5273ab7bc879cc592e06ecf71cc1ba630fe6c9c6806e8684b38870e258cfedf374c2dc97cb3587452903a3cb2a6287853c9c194635d7bb9924b621d43136f961c4c3234f0f15c3e211abf87a3ed4dba6347b3b1e299c4f6f2baba2441b1e271370f8593d4c548edb0af4ce070bb927853c9c194635d7bb9924b621d43136f961c4c3234f0f15c3e211abf87a3ed4d366ded23e7d5f353fc0e3de768917125b52fb66906f4b4d8567c5adf90e7804a366ded23e7d5f353fc0e3de768917125b52fb66906f4b4d8567c5adf90e7804a366ded23e7d5f353fc0e3de768917125b52fb66906f4b4d8567c5adf90e7804a0fe2e834af3cbb78ac73b0101f9f7b9e2cdb0fe44fdb61148cc4e178cb9aeaf90fe2e834af3cbb78ac73b0101f9f7b9e2cdb0fe44fdb61148cc4e178cb9aeaf90fe2e834af3cbb78ac73b0101f9f7b9e2cdb0fe44fdb61148cc4e178cb9aeaf9ddef3811d9b847803802511af24ce636b10d14972f6e5779abf83c7291d259f0ddef3811d9b847803802511af24ce636b10d14972f6e5779abf83c7291d259f0efc168ab714ee5e9a1cde75b7fbaec7d1393a10b2816422829d6507dc907b3229fc6fee2cc04189eca11bc5fa0df10464de4091acbf446aaa6f16161ac04c8859fc6fee2cc04189eca11bc5fa0df10464de4091acbf446aaa6f16161ac04c8859fc6fee2cc04189eca11bc5fa0df10464de4091acbf446aaa6f16161ac04c88518d6e41c459c4dd2077b44069467da02073ff25b60bdaa838f1fdbdaa4101fcd18d6e41c459c4dd2077b44069467da02073ff25b60bdaa838f1fdbdaa4101fcd18d6e41c459c4dd2077b44069467da02073ff25b60bdaa838f1fdbdaa4101fcdb019ccf0dc8ab4e161627cfc35dee4fcb80f36b97a135a12bca8eb18a7e897dfb019ccf0dc8ab4e161627cfc35dee4fcb80f36b97a135a12bca8eb18a7e897dfb019ccf0dc8ab4e161627cfc35dee4fcb80f36b97a135a12bca8eb18a7e897df9909de5fb9a2e07740de1e8fa6ad1f8ec3a91898dffc2f630b5d9eb7ca41d9c107a01cfff1511491bfae0a27cb9a1747816356b3681a730e241afaa92d647c7a9909de5fb9a2e07740de1e8fa6ad1f8ec3a91898dffc2f630b5d9eb7ca41d9c1807d7dd4d886b896bd98a7820990517d4855c9a9ae31d196098d69b4ebeca110136a9c453e2d507c5473cd3d72d8b00d858aba0acd0f74b7abf4034b80c91d339e71e54ea0fa2cece8990e7214a171fa5b36c6168cb124d25fc058a0453969a39b419482e4fead2bbfaaa16b4796873a78d818c3f91e784f25d3abae835afb759b419482e4fead2bbfaaa16b4796873a78d818c3f91e784f25d3abae835afb759b419482e4fead2bbfaaa16b4796873a78d818c3f91e784f25d3abae835afb75b8466833728180600f5c9621f3add4d3f01dd9a3b9a679fb4b824a42a294b08613f968f306186c0f71c9ed6eaaf0b3aaa1bd6f2668f7506834d563773b3b56c0b8466833728180600f5c9621f3add4d3f01dd9a3b9a679fb4b824a42a294b0868e06632e273c782a3d4204a0cfa42e62af2a4d78869de1ddaaa02dcb59d88f8ed1768dcf21cef83f07a0774e51614dfa207839d9095484c3ba7ceb6492bec0c0be01f585c09bb27a95c14bcbccb0109ad0492d809b31befd89c74a70efa8bb11a121baa605dfb2075a3f73901deaa04daceab8625653ccd42de273957c906c54ba36c85e23f2138db3c62391baee9cd42f0c557e9a9c2abc9434d0685491912f49a3717383bddca3ed67d8baa6c94ba2f3294ba26ff77e27fae2bcbbd799ead78d12030ca103fd6b0caef599343dee4d5a5624993128c987bc56d039b682cadae8834f2592398f53f7665667c501c9ea315de54c02acdc3aa3c23e6ca87bb7828d12030ca103fd6b0caef599343dee4d5a5624993128c987bc56d039b682cada90ce8d52b1a1a545e501a3a1b2c68e712ce8b21f24dab3c73ebec7ece10c623727ecd5d0c3e2457e891e08d91fa476d2dd313b2c0a0a7f066ff4d85bc283259690ce8d52b1a1a545e501a3a1b2c68e712ce8b21f24dab3c73ebec7ece10c623792d51fb56ecb0274d9074d5873b750c4a062fb24f8bad63fe27a975f68a49376f7f26930e7bc3c639e87680f2daa62d3344f4508d9d178534cd11d1f863c1baf92d51fb56ecb0274d9074d5873b750c4a062fb24f8bad63fe27a975f68a49376e7aac9ebeda0e295ea2f70662622e745a06035618d49a97bc7125eb36aaa8523e7aac9ebeda0e295ea2f70662622e745a06035618d49a97bc7125eb36aaa8523e7aac9ebeda0e295ea2f70662622e745a06035618d49a97bc7125eb36aaa85231385722c212d09fe0ba96ce7d6aeaf7ad59c20e107b95122f396a990d0abaf291385722c212d09fe0ba96ce7d6aeaf7ad59c20e107b95122f396a990d0abaf291385722c212d09fe0ba96ce7d6aeaf7ad59c20e107b95122f396a990d0abaf29079729884a6c5d5e90df4b1fc0449d09c44a358d9b0fd0d7f935d64222bb0435079729884a6c5d5e90df4b1fc0449d09c44a358d9b0fd0d7f935d64222bb0435079729884a6c5d5e90df4b1fc0449d09c44a358d9b0fd0d7f935d64222bb04356083f1cffb2cd7bb177a62963de61502c6a0f63bad6e2fbd36a169ce8155212ac41192b0d16d739d92b5f49d71fe24cec6fd8a573705da2362980ede9f38d83e6083f1cffb2cd7bb177a62963de61502c6a0f63bad6e2fbd36a169ce8155212a977ac516090498d951759a4f9f1d2d0614bf969fabc8e9318a8e0b1cac4cecec977ac516090498d951759a4f9f1d2d0614bf969fabc8e9318a8e0b1cac4cecec977ac516090498d951759a4f9f1d2d0614bf969fabc8e9318a8e0b1cac4cecec154207fc0d5e1690ec6e08a8dacc3f189e2f01536a51a6c582780bd7afecd9bb154207fc0d5e1690ec6e08a8dacc3f189e2f01536a51a6c582780bd7afecd9bb154207fc0d5e1690ec6e08a8dacc3f189e2f01536a51a6c582780bd7afecd9bbd994c05706b410868428e64071d89781fda569130ebf2ae690d5a7fe05be2ac1d994c05706b410868428e64071d89781fda569130ebf2ae690d5a7fe05be2ac1d994c05706b410868428e64071d89781fda569130ebf2ae690d5a7fe05be2ac1215e753843667a25eaa2fc56c9e9fd43f0e1684a04613559d008548b7040bd9136c29769f5f9f82705f0262d74fdb3afa03268fd9e7cb280053e4e3bcff35c3a215e753843667a25eaa2fc56c9e9fd43f0e1684a04613559d008548b7040bd914331e1c9edac259a3f020239ba4f4498fa5b65fa17ebe0e6969e115360d3136b7a21682e334b77874eb39a47cd3aa72120c1566c1fc27cddcffd5cbfd9819e924331e1c9edac259a3f020239ba4f4498fa5b65fa17ebe0e6969e115360d3136b75e5cebadd32e93946157aec83b123d82ff60757d74345d44a97dd76d46f80e480c712946b9d0819b765ed18fb0ac78e3172c8837c00d0489be8eda3a40437e370585fddbb13099f9acc5a70ac38441f15104ac3fcdf0ca462a231024049b1ef60bcfd61680ada844374e6f4e69975838ab4ef18aaa63af0f18880e69d1d8a36025f7dd1d930c4e78a742ef745bf88c4f6ad153f3d295b35495e3ee44c9ca08da20eddd1f87a9f7b49024d2f46f4e55868d9de53b87d6651bbe4a6a7397bf73452834965b47acaa0b2387466367415f5a4ebce7a82e7bce18422983d38056e772120a31ca66df94fc15d5ec99bb1fe1e1fb01a6bc7e64429bb28b0820ff4b26e52834965b47acaa0b2387466367415f5a4ebce7a82e7bce18422983d38056e77551d55dc7d66b239e8c9d1014c60656f8f6a558bab305e0d2e10d8e6c15bb4c6cdf42c65ed2091b7f9ac293cd0d807581d4dea4e3de4808822f3454ca3cd0a10551d55dc7d66b239e8c9d1014c60656f8f6a558bab305e0d2e10d8e6c15bb4c69b7863cd02b9600290cbf2d778e7b47fdd1ca0ecf2b0691784ff1000285defebc744a70bf9617d42e9cb0dcdeef288cdaaf334e6716606e377e75988d49573729b7863cd02b9600290cbf2d778e7b47fdd1ca0ecf2b0691784ff1000285defebbcc8b248a4ce1025255f6c9d18e9f7db9ee9bbe4b3136e66f65233651a25635473d09e23975f1d5386a9e7fcae8fc5a89b25004df3a1f361f617898495beb7ee85ea38a23bec4ab409254d6a5777ae169c94a69270f75d3f38d0a8c761c0afd543c8ee0c3c1b0134ec1b48bb8fc00852bf47bc9299e08c786923f2f6ebffd1a443c8ee0c3c1b0134ec1b48bb8fc00852bf47bc9299e08c786923f2f6ebffd1a443c8ee0c3c1b0134ec1b48bb8fc00852bf47bc9299e08c786923f2f6ebffd1a4a704e6e8110b77288746dc39e527da254a776cf45250721d38537d6df38088eda704e6e8110b77288746dc39e527da254a776cf45250721d38537d6df38088eda704e6e8110b77288746dc39e527da254a776cf45250721d38537d6df38088ed6e3213ae8db63ada602452d0a1a6b0bfbd2483463a2acca7ee72cbb316d5bfe16e3213ae8db63ada602452d0a1a6b0bfbd2483463a2acca7ee72cbb316d5bfe16e3213ae8db63ada602452d0a1a6b0bfbd2483463a2acca7ee72cbb316d5bfe144e44ea2d3b8133da464c4c72cf8a5c7704ce2d26da121b4418d77668a5d747094732d6c823e763181729257f72d1cc896b631c3ce2036141fb931b2f72070be44e44ea2d3b8133da464c4c72cf8a5c7704ce2d26da121b4418d77668a5d7470daa68561bcce9f2ae07efbc0f9b71f3d2e7115a14c4fa5e72dcbfb3390d8e480daa68561bcce9f2ae07efbc0f9b71f3d2e7115a14c4fa5e72dcbfb3390d8e480daa68561bcce9f2ae07efbc0f9b71f3d2e7115a14c4fa5e72dcbfb3390d8e480b82f21bdb0223e4b4672d97ef472d3fef3bf65931005fdb49210478b1a6d60d95a42abe07ab7028832fc93134fa419c2921ec439cb0a307d8d7a61c90195be4eb82f21bdb0223e4b4672d97ef472d3fef3bf65931005fdb49210478b1a6d60d964b2995d870241f5cc6a1efde9cd2375766ba139d2440dbfa09b5cdb74f80b7c797673dc56b991cb5d7ae3ddf1756a41b362600a72b867a9de73939bb2cab30b64b2995d870241f5cc6a1efde9cd2375766ba139d2440dbfa09b5cdb74f80b7c1c6b23877c7523d37b7494485c8b6219d67c7449e0d7bd86133b1a77843744ced22392c4ab3ba35711d8ebf4e6d79a5eab3e7d3b691ffbe7f9040f1f6b8f6aeb1c6b23877c7523d37b7494485c8b6219d67c7449e0d7bd86133b1a77843744cea3acf22990b9bae0cb5c1ac409eaa1be1110cc83dcdc958ff895ce9379fb9b537f9d4224b17b64bed2d2be774f222d9e6bcfd30cef146e2aa6effa68bbde410ca3acf22990b9bae0cb5c1ac409eaa1be1110cc83dcdc958ff895ce9379fb9b534d2cc16dfa8881cc71c2389c247b68d4fdc36432c19d3422fc7d4f214878fb25a15e20e9bb9aefc3d05a9cfa72d3f7449ce0fc9203198a19b254e7dbd57cea214d2cc16dfa8881cc71c2389c247b68d4fdc36432c19d3422fc7d4f214878fb2531bab45fbfaa5d7b4f1336d923df993f6e1536b6e48d085a9468ac29decaece631bab45fbfaa5d7b4f1336d923df993f6e1536b6e48d085a9468ac29decaece631bab45fbfaa5d7b4f1336d923df993f6e1536b6e48d085a9468ac29decaece604958e2f49e6065bdb90810019e4225ef7473a147b0ed99efea8ba3828b8e8a4ad25b8fa27aa2b230f1e5155f8d86061a6a4f9f84fe35e08d361136489ab776d2c06a8cd1dfe5c470dad83d8f8dabe0051d99fe600a8b6b7ee01bdaa8561dc5a2b52e3aa64e2b34586a0cfc3f954be9d02c3c566ac3f22b62313c6a4cdba06a52b52e3aa64e2b34586a0cfc3f954be9d02c3c566ac3f22b62313c6a4cdba06a5d429398719e8199e38d0a2eaf1d709bfd90e0f8176a67f6cc3e7816c13d39c4e18847edfc6d49261b3e15ee1a4df9227ff95e061ea6d606746804b616b2e97823518598c65e5ee81e3a8e8f22e2b4160847f38891e4c3a969e156e3cdc7186c018847edfc6d49261b3e15ee1a4df9227ff95e061ea6d606746804b616b2e97829015116ee6ddc999e690ce900cacd6f6b33afac0a6eda331723b5fba25936eee9015116ee6ddc999e690ce900cacd6f6b33afac0a6eda331723b5fba25936eee9015116ee6ddc999e690ce900cacd6f6b33afac0a6eda331723b5fba25936eee897958a0e908d582a8aed3045d3970a296c75882be0810277061549a3e66d7306f20810df3ce5f03124d232c45f372ed8d569970c256bb126e0022a8510caf1e897958a0e908d582a8aed3045d3970a296c75882be0810277061549a3e66d7303a9d434675d028e81cf5bc0ba96abbb39858762de62d663e14996221ee3395223a9d434675d028e81cf5bc0ba96abbb39858762de62d663e14996221ee3395223a9d434675d028e81cf5bc0ba96abbb39858762de62d663e14996221ee339522185d3f4e40aa0c8829ae749be9525da92eb68a9865c298d9b49c6961ceddcdcb185d3f4e40aa0c8829ae749be9525da92eb68a9865c298d9b49c6961ceddcdcb185d3f4e40aa0c8829ae749be9525da92eb68a9865c298d9b49c6961ceddcdcb147f5ab7dd73ad658e61a1f9a1ad8062870e74434f3717cf601e93eddb81d2097b8a28e5ef7d96079c7fd39bee3a9916690ea790dc5a4745ef59f0d82369d3a4147f5ab7dd73ad658e61a1f9a1ad8062870e74434f3717cf601e93eddb81d2096d2741c123d6d88115eb4eaec793a6bf585edc25b5548be0356d9a9a61efe6076d2741c123d6d88115eb4eaec793a6bf585edc25b5548be0356d9a9a61efe6076d2741c123d6d88115eb4eaec793a6bf585edc25b5548be0356d9a9a61efe60741a1aab58e09cd8cb3f4ce29758e82f4d5f2dc80ba44c57e71a7727e6f20132908c68d40bc2bc63a827288ca951fb48f57d4ac472b5054e7d50c0625543e317841a1aab58e09cd8cb3f4ce29758e82f4d5f2dc80ba44c57e71a7727e6f201329b0bc834c32a1caad291f26b52587e563ce0770e17338a679b30bfd675dd77a2ab0bc834c32a1caad291f26b52587e563ce0770e17338a679b30bfd675dd77a2ab0bc834c32a1caad291f26b52587e563ce0770e17338a679b30bfd675dd77a2a4db31ccd464163c2454aff24b498721d83d8f4d0aa6d34964314b61a77bc8b5a7daf64d47638edd0a2e714ea47d62093301535734ce26d0c4167789e11cf87374db31ccd464163c2454aff24b498721d83d8f4d0aa6d34964314b61a77bc8b5a6b009c0218f1f8dbbb07baa48ecd9cc1b4ace65e695780d868425c7fa4d7393919152f8907b0ea8a5ef123c0564e993983ede83374a79371eac7ecc2d91102ce6b009c0218f1f8dbbb07baa48ecd9cc1b4ace65e695780d868425c7fa4d73939d53a6ad7184ac09047ff0a24545b9d9456e4199ea2c3db3235311adcf71bfb71d53a6ad7184ac09047ff0a24545b9d9456e4199ea2c3db3235311adcf71bfb71c424a75cda64dca22ba2245e81be9a3ac66cfd4632d4b1274be2857df779a98308d30fc14e5638c62d777d37cb1c5e0ef7e7de073583d6d7cef57f739d2b004695dd12de10c399f49c70a11e0fda6b79c87ba4149b7675eef6bc5864b925f3c008d30fc14e5638c62d777d37cb1c5e0ef7e7de073583d6d7cef57f739d2b00465a669e56ca78d614f90ac1fd681be36ecfebb5590baa418f0b592974cc7b25865a669e56ca78d614f90ac1fd681be36ecfebb5590baa418f0b592974cc7b25865a669e56ca78d614f90ac1fd681be36ecfebb5590baa418f0b592974cc7b2586cabd2e961b9120cceeb841f6a5e5eae1e8838c1d016d72fca60c7d32e01b2428cabd2e961b9120cceeb841f6a5e5eae1e8838c1d016d72fca60c7d32e01b2428cabd2e961b9120cceeb841f6a5e5eae1e8838c1d016d72fca60c7d32e01b2428a6b87cff8754b97c430600be054d374d5b59ef2d80c31c37637514aa351e0f02f7685b18d3e4947e4ed89ffe5d4803dbd62ea5809a84d2a4849a4c714ae398d5a6b87cff8754b97c430600be054d374d5b59ef2d80c31c37637514aa351e0f024c0d51b3ab52fbf3c923bae2ce51cd9d3e28d8967779116078c58bbc29a4d5e048c272699a63ff1e7698d97d40ada5201ace753f26fe64c1749cc6d78ddb49914c0d51b3ab52fbf3c923bae2ce51cd9d3e28d8967779116078c58bbc29a4d5e0c4397fe80562f96ce4fc21a929d6e07eb2dfcb1ce51a03bfa56cd9ad928a2d1a340a8e72212ff2b64ae42282e6ce29c1af9d6e01db0fd55da77f85195534cf18c4397fe80562f96ce4fc21a929d6e07eb2dfcb1ce51a03bfa56cd9ad928a2d1a5037b4f9943660ee4613f53cffa3ea6074f89288c03019dd7319a4f0a2498cc85037b4f9943660ee4613f53cffa3ea6074f89288c03019dd7319a4f0a2498cc85037b4f9943660ee4613f53cffa3ea6074f89288c03019dd7319a4f0a2498cc8bf465af86dbed53008cac337ad6167f11b0683581097bab3cedfdeccbf54511fbf465af86dbed53008cac337ad6167f11b0683581097bab3cedfdeccbf54511febcbba21870c4ea988366a9166b8c5fb831fb49a6796ead89ae407453014ac5d3e33a904dec5d3220ced73a4b8adea0a8c666b6d4dd45c79f09ddb65e964949e3e33a904dec5d3220ced73a4b8adea0a8c666b6d4dd45c79f09ddb65e964949e3e33a904dec5d3220ced73a4b8adea0a8c666b6d4dd45c79f09ddb65e964949eed5465d1804bd6e761f108d8b99c4233af0a4c0cb04fe5eed92e1eca0b65df651a5c3c8136a4278fd19966d72119da1b7d770db092e387fcf31de4f6c10b932fed5465d1804bd6e761f108d8b99c4233af0a4c0cb04fe5eed92e1eca0b65df654dc7a1a8ae34112b0bd0703df4429b3b52089de25314c8f38503c2e68ac6bc985f8d65c09833dfa213318ec7e70e44fec91949d564e5e506da254d4a5bf71f2e4dc7a1a8ae34112b0bd0703df4429b3b52089de25314c8f38503c2e68ac6bc982de400b21a7867c80f026bf67b8fe89d0792be3991517d3873f27e0ff10a4f212de400b21a7867c80f026bf67b8fe89d0792be3991517d3873f27e0ff10a4f212de400b21a7867c80f026bf67b8fe89d0792be3991517d3873f27e0ff10a4f211c11838ac7555ed134ed0efcf0196a53d642a3b2e5ee603f24a41507634bfb871c11838ac7555ed134ed0efcf0196a53d642a3b2e5ee603f24a41507634bfb871c11838ac7555ed134ed0efcf0196a53d642a3b2e5ee603f24a41507634bfb875c0a9bf8ed2d79593f7072a04b39d420ca4c3a66d2efb6b4ba023a3ee192e2f668ed8a12f0f770668ab5fa365d2e5fb4536eb75b976d71055520c7e36dce07175c0a9bf8ed2d79593f7072a04b39d420ca4c3a66d2efb6b4ba023a3ee192e2f6012d1e92df40cda98d6964e77c623401eaccfecac78de2084cc1f0d9267e1fee012d1e92df40cda98d6964e77c623401eaccfecac78de2084cc1f0d9267e1fee012d1e92df40cda98d6964e77c623401eaccfecac78de2084cc1f0d9267e1feea738ea43a5de9cfff5bd7c82fd295b2c42ed960603b7bbcfbb48c2fa19a2ef286e38ea8c9dd94184f376481c875540643d7d3bf17c05a01bd58896a2a3f7a58b0a22e9ed785fb9f49c4f22b77451926f292c9337a027445a77745332b55a71c6d7af964b77586454b67434a76de11460cf361643e608b26ed9b6e7504a8a5cfdab015326e09a7d8c54028b1efbf4441ef54d6a98283e30a1eb6ff9a12afd69b348eeb163e7202c3c092c45b16a615b0e96b5d51aa049af788481b2e076914f2d1510c503775ceaffc6d66d07ef55e8353f1f99be33075fae3ce1d59f980e5473bd180a1145d18611e620bf7e5baa5b29f4afbaebc894befcb303251b5ccdbab84559920a8cb9ea62be33023d6dd183bea88bc20bad1b4caeb196decb9e5fb6e6cc925dc8ed7705c2bd444542091169073445d907f5cade9579da83e8d2568ad80c7b9ee51db4a46087da7530ade979f38e5de7a2e068b5a58cc9cc543aa8e3940c7a222a2d24b2ecc8523b399aeaa3dd52b113f0ef7ffe0720f669ca21e133b9663c223c95e77edf64bf88b2fb3f9ab385866187630a4914c7c17ed7221c9f820f7ff61582b28115c56fe3127a4a203aefed876bd4f7e8d8c20224afce0ffe97802304af89c305a0d5feb8bf6ba9c7b3abfb6d5e620ba6d4f4d69277ef315e226b03ea1d93a88bf105909313e5661b5f35c281bece7485a9b997a621cd59f9ac2a4dc7a2a75969654a60ae333bdda0b53be979e0db035daa9780f202d9faea3dac87068283e5d1d92cfe4dfb2cc50d5ea5341d5ac0efadfa47db48595daafcfc93e79b29fca6d56488393712285db29e7e5a75c693f9be4008cde600b2b81700b5e6b23aea484f7a4312bf613b75417b78419056d4c9918b3a2cf6b5a616f6e75b7af05fa928568dc9dbf39845da83a48720e019214a0f250aa5e8de0ebec4bb64b1c3671c38f4657ff67b9508572bfc5aed3d0537d4428fa5607a5fda208e87975103191246d69aac4eb605cf6d84969b2054bee95dcccbe7824a99ae26e6fabb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a41963c93fafcb826c1f368cf3c033605cc8b196ccc18d9fe2d364a8ce34372882ab393dd4d2a309fee14c786ac3b0ee2dbdfe4988af0c6e16d8973d60d4a20cac801057af2bca6f7499d8a2d75b2c4747fe85715a686084f4c2153c685a22b7d628d39a6286aca58ab1a43ffd9f84e0758243334f579c6a7e3c082cf55a96a9f6d2e4697e8be2a05804632055675644930a5b6ea8f1624f6c2e22ad4c77faf62b30acd2537d0f34dfe800af9ad704ef8c51d36c1b0b2b10c24845f81d21a040d6924d33abed83a37049a27e743a76c573c3f7fbd3f5fd9d45472c9e717080a96db0acd2537d0f34dfe800af9ad704ef8c51d36c1b0b2b10c24845f81d21a040d69b6e7f6eeef758dd9f2f3f2645029471f09b8a8eb25670045d9d91fd24c597629262a107916641c7f211ac5898c0177535cd0bdc5aa872cc6e883842694d8f52181a04af69c7f806ec39ab2cac5f0fa7fa8beb6802601105355fb3e606151405d2d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25602d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de2560882cb60873b718a2ac2bfa3b6a792e4aa75cf0ef3fa2fc1dc156ef71076ba740882cb60873b718a2ac2bfa3b6a792e4aa75cf0ef3fa2fc1dc156ef71076ba7401ce7e4f76ea1ca631f8c7f6f111a79da0459abbdb3b7ffb75889016aa063f49be018176ceda72da4521485d8143cfbf610179b33d90c4734eebc701f4122f2b2aa64d5312536a9db635df3b591992eee4d6e535169943d30ec5da07efc607401cfd723672e8205a30f93aa14e24ef5b0264c41db367b50cfa0b6fcb83d8819473772f8e0b1d195a925ea83650aa433b41fc60f47bebecfe4df029c13351a118316285baf776fd9abe7c58c629db7f5a9dd4c8fb6a5a9da4c0631437dfe0156d31663266778f115c4273bd59940d635b3c5779b39672d57b4e1847cb3a0718dc1fede78d1ae0cafe988ca047250e56bdd0c876b9183336ca2220824d4279f40fcf0e5fe17bc13ea1b4a99e6ffcc62bf3c92ab801211646f422ec199e68b898b48b34d31d2e3c349a6b90c727f0b0ce5561837395749e3b7f8ce0a9075dd1201f42f2a37492a063495fd3e8f26bda891940b1cd10b5739f945e396e4228c9d93a83454585a198ffea4f78c67d58d1ebe89a0be1107612058e25ed4cb37964f2a71e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855dc42f71ddb9289969f6895c6c906460eef3f84dc348a831e1381f8c94c89c6d671b0f37c6ee95d539931e93cd51951db6cf4b7857403067ebc85fe7626e97a94172a97207d979f7c3bd568e22878a981481ff2eac2f622bc4d7563ae506438ed1cf93ad5d32bdc4ab545a70f4e5ff51036251c978dc1023e9b0346b8a673e6a13879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535ee4c90b3e38f21c46787d33a153c6be9b2315e8d6713932f5f8c32e52250b6e6c337a7f092ff03d6341594b9250b1ec3e6d47af23fafc0a2c6a0a1175ff9395b7c371f54360f268521754635e89e0181dc07da4954f1d451a1a6784ff8dc05e21e187c9a9e0da993bd129eb8c3d188966814075ff19fe949a56e0e253245f345b4f0b58a20fd68347ccb827e7a62c688e3710572b97ff19ad48a07b186af2ec743c21b213b1fc167b642af992768ac2249680e57247ff539999d9060094342d7d00f4861f1eb15bace0e9f19d9975f52b2b2153e6dc7111717965332f337187220f803a24c94538a7f05049a0e848cc3d6c5617253f7e9b3d5381cba4c898bbd175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837c9aef9d40b86c56d54db8d1c6b229322d74b3f761c31809dd8a76cb9d1a9800821cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c7c27282fd2ae5688be2831fd6c76aaffb7a7577026de0fd2bb8d41326dacb2e7aa6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9bba0998b7a6a1b2fc45f847dbea1d2f9dc889104832b0042b5ebe335e677efd30094a6a62abf390c3376e5ed6515082bbcd70c2a6cb335a9f0378a1222d08f7d25bc47b4bc6d60577ca938da25b3ae68271de889b383b4cfbac55d8e41d47639097d18ce1d42da357521f5af5803816d3c4bade38950f69cff512a236f763585be4de892443028c3f230ab37e0c658f5bd0246b07147005580c2904b733ecf4fc3624859618c952810487e41736753cf32f4570dc6248fda1091771f56019a3f96e4ceb607215ff447544cb0d785493e1e855852f874af7c67d8e8afe859f539547112543abe89682d8ccd47e7fedb25447a4c5133f8db313772ab6ed87729371b91e1c1c38b7150cbc174a2f0c06bd1d60a411222d09e21927254b7a861039481fe0a36192ef7643adb06b14979e006c17834874e7df605d915e549e3025e8ae832d96c16368e74f1615d025cc296472cff2507b0f0824959ef98f86fd677637a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b4fd472cf3011f3f9d3b072eac5592b4c58c7895ed2c41763590258ee8551ef7a78099b6154509ce59732b68a909ef7dc465724f68b184383ce2400642e6501d508255f32eea017d306e286d9e6db090a05d26f0088719b122209819b6f73396d175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837972de213c408d10c381f44fec786787844141c7590506e001452e8e25f262be8a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b73cdabebfb92b4eaf6b8af8442953da1041fa8141a0513279b8df215879d424621cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c70bee94ba2d980eac331c16af1f6ea7583260dad3e592e5a263209aab26c821a92c6c3d3d2ebda9a2a745febfb14b555dd9d9fcfdcbbbe5a516b48032e5fecd73f02a1dec4f2512ac0994b6463dd31636449b428315a210bae8fe1fb6a07a5c96198e4881db3ad935ec51a772196302df943deb3a651833c973996ffb082188b26fb2881acee2f256c276ad2f6365a269f381adeba08ae4b236525b21789d67e55ba95511417ebecef59e8f548925709e0b099469b0224406290158aad1ffad7889dcde91096709ebf4709be497ab38a3850c9ea6a54448f839f6d45ca3320e20656a6eac75511fb835d8fd1bdf1353776f081e8537be7015956035419dd3222d0f5f79fd6b657e110d09a87943d9279054417f81ae855751d9852e3925c482ba656a6eac75511fb835d8fd1bdf1353776f081e8537be7015956035419dd3222d13a23979abae7ea0ed0a4830a47c39c3486f752e7a7287b0812db737c936f7cb373986d70b1a424ca17a8b28d984385fafef024ed33c50d675bc96736d18036813a23979abae7ea0ed0a4830a47c39c3486f752e7a7287b0812db737c936f7cbafb0085847df15f3255a589476ed31ea47ccf04f96649c26fa723ba7d9b7a4e8afb0085847df15f3255a589476ed31ea47ccf04f96649c26fa723ba7d9b7a4e8afb0085847df15f3255a589476ed31ea47ccf04f96649c26fa723ba7d9b7a4e8a7550208eaea699cf8c4c21b88e2cea6b0d0c9b958bdbb7b2e2657a22bbf34f1a7550208eaea699cf8c4c21b88e2cea6b0d0c9b958bdbb7b2e2657a22bbf34f1a7550208eaea699cf8c4c21b88e2cea6b0d0c9b958bdbb7b2e2657a22bbf34f1858f52d9b21c0c124ef7239f11081b07cbf05355c99f58cda510d53385a5fcee858f52d9b21c0c124ef7239f11081b07cbf05355c99f58cda510d53385a5fcee858f52d9b21c0c124ef7239f11081b07cbf05355c99f58cda510d53385a5fcee35a2f7e387e48383601f443e1d809351a9a6864bf0ca73be9ebd72e97b47b3bfb9f7e72ef948e2fe15ef720987b9ade7b2a324cd0734471c699fb0c9b4596bb235a2f7e387e48383601f443e1d809351a9a6864bf0ca73be9ebd72e97b47b3bfc18d24456d0f610902e088eb01bb1e2a6ce97c096a2d1b0ac9aafed2b153bc79c18d24456d0f610902e088eb01bb1e2a6ce97c096a2d1b0ac9aafed2b153bc79c18d24456d0f610902e088eb01bb1e2a6ce97c096a2d1b0ac9aafed2b153bc796789d612d6481efada00c05f1ad7dc5a2872ddfe5d7d523d72449cbf7cf93fc4c7dffdd959f93d592641017d63dd2e23c75a066a5bab5b2938bf4e67f5e54e37c92ccd80d6b46af82b417c429251351d04d4f1bec7c05534b828319a4d6c60d54c03c12970db8205943764e2df1dad49c6928b5a86ab04a499e79651f74183c25c6e9db65c2e84f6632de47e28539eccfc7ebc42232b3528c9790b5ded572e5586cd6025164a14d4000fa7e2d8b04eaae7da077510d94b64a199c02ee7dfd6df7d611eda3b4e025c8a2cf88e440d6c5a716b17dbbbfaf7da4c4ca8129464735cfcaf5430e2cd52642d9e470d28605713a7820b01d0b0119066daceec1b73e426069731c30b8e35c0e62e28fc43463f19f514afe86fa65bb1fad29574a3a3cb3b8e8bfd66f4a135522ec288395ca279227b540c47620758289ff73ff190c20abbc8a8b1c618b693f0473338ef78315f7dc3462b0c3bc33c0b6024f72d6c10c4e7c807ff5789d9236766419d5da5e6e2b07229a255f3bb5746169d3e1b00ddfc6aade5a5ccf2480560b9638148842270d01b9fba615a1645803e05bfac94c9f46b7ea4e03bc24630d2ce308498959d856506503097b8ff85294b741d38069b33097b0907453745ef5721d89c77fc1c48503474260b458f24127e1b3f0bfe11dbc3d643dbeb4125c5511acfbf917cc8141cceb06e76e4f0fef30adf25ff1b12863a72b4a13b865a333dcf9b94a3c88d25800227d5b0afecef97980b685f9d85049501eaea73444519136a6572c2eb6ea958d0d38f3223c6805b91ff4464b61a3983b89d53697530bb18933de6e01d98d72e7a39de2d946e5bfaeb38de7340f083a902de30424d9642545e1cdb566b895c61fc537ad4e11f309d225344824cb61ed42edfc5c30da21615a6b7163097d49301fb6ee70792d5dd74f9c5fc47d85e4dbef1e732a7567e3ee4eb0b1ce4d5f99737532622e77a365e8773ae3273264868cedc029f6e776f414660996c23d3522deca07327e8b1d397aca00eb4b06f8fce3fa3d752a7bd753e36a2dbfd537621a4902794af4d614626325a5e6d850baa967acbe2fb6df9a317ce17c2765b2265af94fc55c9e4d266169adaf756473008b6e446598fb15155dfef47686b54ddd4fc61db04ea2490528684175e9d3435ab12fe9366ebeb202c8c224b5b785fc5d7e09d4c40b877f9d27f195a894caad57f383fa19d87acb8957d4e18d2ecaad4a70d0908528a046850712b7d2193f94792848495fae33b33f1e9a4eb8610540f4184502c51360c296f28bd97553bf1dc44c5bb24d0c49d5e92d40d72ba8a721284e4a383a486a48ed3f3b772fb8ef578edef1f0ae9573ffda2ea4da86c02e1c11b3f8cd6f577e8f4f1cec54d5a04625cd7a457ddb9c219a0b46c0b5d41b5cd5f8bc664b33d9824773c955d3ccdba066bd4e630abe3488e156e7a860f84f79e78d0b09f6d5627ba469304de3c5042d0c3e878ec87a88512cf122e3e4a88e0d3ef779d0f3b7be91dc8408a02ba63472aa58f7fda54e58d114d57f056bf90cb4bc9b54db2d7104248aabd317954c668077d1657364fc915133757cd5c2ad758dd1deb574ed7f95c37c1b0a5ab099687f1439a3ec8f3443420e464473d2271a09cb22864525ed92e4eaf1ca972a865a7b3bdfabb923fdcfba2d740fbde069695b979c5ea874fe44b2c1798942deb2e91c24a4e75d6fbb7e76df1b65befbe724a6b33274e2c0128e4772d0215a36a2f589ac9b45f13d3c3e0a8a3360c02c07a0fbfb6c1cd0613ff0782018900ff2000b805c68d2ff69a3d09ef879b5435cf0b6e910de4ab94827ff7d618087c9a62ccc91473d08c4b5db02badbe1f2c9e1a07eb44947b81cf20e01db6e79f116c0284f59f4f0ecb5f9117453204628442809d951b1432f941f776f944328a3cf4335cfe5e8142c4e363a5fa620a031bd89779b7ce19e055bec495d5e72bf1d24bdd811b80469d1551aa11df94289e2e84623511c4d46f5f0b58ae0af831bae0b396019cfea86d3ebd082b60c5314086fb2b8668587f6818e6a6a6783e1a54cc7f3a43239c102e567611f5843d17caf7fc134881d94a2bce6bb3a1febfee646ffd0cf98bbeeb68d0e58131e73494a1371f4d173aa5ca53eb3733b198fe48b1b39279cd0ddfb03590db793bb12817267238f230b36b020c1227e76e71a6830baba170878a44f70dce4f6c573f45c63df49a72f71d3553495e525faee06aedcf86d09c0b195d9201297b8b899b53c8e3c2201d27d2eaee0a900e107c86379d1fe74d161ac89aacda75984a33114001d531b601d932959d05b8ec17a31f9d541a9a7670b1580967e04517aad11875a134606bec01c6b06a956d6cdbaf5e661f05d4d6e8659ceae44a0618f36c06011731342f56f139cb2dc13fb7377a5ca76053e25e201eac9d7f348364a027e4f2e2ad3aff90f82849872f07b31bc1a0370164bbf5f6370e2e9f1176cf2cbbcb94c168f5c88cc677715a57e2d1e8adb9e9c75e5ca539b5aee06047cda577f069ab2042dcfb4a0391cc37ed702c23c9b77edc1f50cc859c5fa86be7c6c0cefbe40302e21228689a46e89918fc129e9baf571eb115d2b4717fbf00ae77093052cf58c95b5ec36671ee9e13c9aa598caa4c5794ee7588e5760750dfea06eb5ff7cb373834e083fb6abbbb8f7b32ffe4e814b4619bb1ab12db352e37b6a98dc9980e5ff85c23fcc04bb3a4604453a0109a66a09ab4097f4acb732d487f6b15d6d0b87d77619ec3f6d67460984e588687071cb02e4a4b746bd7405be1e655ec0de64a3c875c46cdbfc08aa2c915e5ba6f6e40961605dd840ac2d80d95414bae8dcabfa9ee4172c5a8e97bd82b8faadb7e790353e1cb9b9a05c05717690bc382cbbbe38878ab88707a889b9c4a90ee3e8a1413dacb31ea467899c46e096c86d9840282ced7520a9c5fdbdc4a98164690e3fcd1acc6dfcb049d9a669ad4a70c6ad3254e8174e0d90c33b6f22cd3462e0691eae840d2a2b85d2e7446708b92f485e8d2b6170049da06c710b873ad6f79072f94b96800c71ad8a079695c72217b40489bc96d1116a30f307df03858b93b9771b444ade53cd13799995d5883f92528a1d3de269327678d81f59ea754b48fac3f1e634d6df20db84e1bb844577868a402f2aa0e6ddc6c1c96a781890237be3905cfb1f86b3dd7879ec42fbff62ddf28c177a8be4d5c325db9c8357907b046bcf3160fe998192c81da2b3b756cc31ed7b96e688d667631f55c2373c8b82b13a535db30231def9f9feab8ce5196e04d96766b3086d3b98ede72cd5c9f98eca908fd9a72410b2679a0c6aa2e9e39c2543098ca9b069d126dee02241b449754a110ddeb06011501741b2c0da718c417b7c907ad418102a9060278d1e79a430b95eb5cd3dd7b571586a47db5155b7f2bb02f58f5709d1fe760c0fffbb8a2bf39e1f6c1bdf3d36d324a179c52686faa549f47c1e4b25ee809a4147cef51637234d4d360bd5e989f46f2cc8be591e04a0fadb43e90a363e5f39e958b73481dd03695193b8c8bc6894b7afe4591d33b4a695646e51a488ceb485870c49565aaed29eaa58c803824c2b11b6f7b1ee1ea5d13d71a4ebd19a61544600d39573978ef33af969ce6c7a740019ad29fb4d299511b10244daa59567c172e56fff0d90147d407a460cd21f6b2c704ab683cbbf569b98445f5ebaabb2b1362cb112f7abc40bbb0894dc84ea49ad6aab9b6f8d6b9cd3389583eee62ff3db418635fbb1b0157116e1f44c32ddeb1b2bf6d156eba35a24ec955e689e4eb4404c3e58229b4fb7b93eef39e2c5deaf757ed813023c20dd3eb09d4c775711a1f4d8a8821323d401375da9642bf6514c0970709bc77d3fe9622cb06db37b592c25a067e6c69f8c94d032392663a5cbe58b4ebfe74e46858252214c40a2599bdb395c4fc8094ae4b92920bc54e5b84e89c5a9a2cadacf59be0dc153aafed476687acaa1bc254095b3df4d8e6542980c32f07e65d343bd49a1a76c09f5a9daf649a796590d12c564846a5627aa321eacc100404851a44da8c4595ec28cc1b93ce6b2fc998ff6b663ae00525a7553130d94cdc9625754b8d5170b945271f6f322520e1ca1ed6f4cdc3c2bd472d59ab741e0e3edb3883f12b8a93e2bf2bbfb997c6d1af30f2b996eb7b8b6ed811aff39c252b83393475bd8e5d33ce95332c79fe801a5f972461bb6055d4a3241579d1c2c9a7f5fc82f4e7aa9fd0e3865b504566e27eabc396033090ea3eb8f4c46f4cbe09b3315aeb9937cc89ec36b0d40cf9dd544e740aa467dde13541ad10c942600518cc436b1f5562bdf1be54a7d8ea952da312fbc0a138f7093f9d98bde6c2864fb833eb5a2c8dbd336854a535bfa21d8015a43af7eac4cfc71db6c6012b60c4afef3329d0dc2053b244322a646de9bcf447c8482870d22f17077331bf9ebb8a3c0c8cdd3a85481148e31df0096661e8419302212753606551bf8e49bd801e9d110bd77b4b2006bb7c8340e8f7ace8ae2e77628f59d1dadd589ccd9235a53008cc43ff8a77b3925249b04b35a61af5d32f10b89479cfd28202f3a5dc91216fee0be038eef0c27b7a636c01f33b693ac433858a67c7eedf75b74d7a255a655733f59dd1be4419dc578d58eec509707c0275c863bd78715b62bc2b153270b24b942c5093eb0a3157b91a40a99adaa0163a150ca27235c84f6438f8471179f04b1c7cd53bcdf556d44bf0826474fbb8969ea96851f427582edaa35f8dbafadec2485f3d3242b223a1e6fbf09db082e1f094520fa122654ff1722f7580d851e5a5c35096211a7a2d63c0beceb5c96a48366d708dd66fdb696bf88e9dd28ff159c97908a856e487fa1d5f538aceb22470dcedc161311ed31a58f0108faa3e5a09efff9928d7672028c672c8fbb4b5b446922e49be8743f06c4b150a1fce409a53028fca4805e85a19be0f982d246d1ca33a50412576808262534768f1803492fbef19106a0ed3a09f82669d4e92223797a0c300c93ef17f6820ad8afdca92dfac738065cfe707ec7244043a99ee445ff02d7b93748b2103b5ff3f5c61e86328c4cea68c265356b11da18a9e4a1d169033fed4fbd207160bccdd82b270cefb483e3866a07fbe06a3100c0dd615f75e35f6dfdbf80e4bdb71134bc10353b6157335da0587d38779ee8a3b746f83a63030ccac681949bb4e71938dbceeaeba4922721855d77e1d63c5c5b11b70b8161b2d096d573bae1cd40b58403adad689c9c3dbe9331b2d4a046c4fe22d2849f05307cd5eda1549257d26d90d2d205f72baf9ef3c2aeedad7f1b08bafffed4646e1785f1220af19084b38dc0baa0a5260df9ae11e73c29a4a433ca6f295e46fd2a58d496ee5a87c7c687d533c49049a189528a197862064343ee56654bd86448d6ff88e5d24db74455f718aaef619281720964b7184bf9a6ca599b98c32d427291b5083a2593bd5d72e862bfc7d5c3f7d118b984033875f8d93bba94bd68625d9e2c249cc06a72bc90b0b6bb3dfdada363da0931a766676c77d42ddb83ff21b3f8b7629348b6fea3133ece8f19fd24bc4bf85cca8d12e6adf8c91ab2982cb36fe54e9920809e7011c2864d118271342ec48275bf9106474e0b276f2bd36cda005de19c3786dec3858ec95e266d5b71d990dca911c47b7576ccdd4623d0de3033b49fdce7bdecc7e4967dee4e1a2acfdeea55bc8515496b947a98309ba418ad8ea33ac15c7fe6fd25c1984823d905ce7a72eb1f5a8e80c79ec324b1c51cf6bb26ee59caf252eaf2dad82b16ea75d97764ccd6014d345766be5784b67b2ca3a45457dbcab8d44be79f6253bfd3180f087415c53d5cb9d2ca665a3030ba09897503bbd20815a678707009de9374398d25b20e7b24838987c18405341dbb2b5a7fe0f3bd2a10150e25026037b0abbdf4f94bca13ff022c24d7af19fd37061569756017519e78a672885b2041461f85b5cf2988c9fc09dc6868ab9df865484f9c873e4b4675944f6e6199b4e493281bea8747ed979d5ec2637b5d2cb9d418441cd9495dbb0d2b8d624407ef24026f267e96615b666001352077da66479109793d2e217eb52b4ea5946871cb24c521b7947e587a3dceef06f1a26c773a3b442dff87d99d291dc391c740d75e61d2c6c195962d449a1add3d0f360895d70436610518cf6952628eeebc168c6645187e1915a64998d7b79fdd66371c161efc01c4d02f916a0050edfc4ab627a3a005dcf2c9eaffd996ac0982ce18ad5e135ef39dc65c0d69495984d5d8ed95b9cf6750cd3b0ee046dc018d0fa41b391521d23b854a10884abd6967b20f99cb0c19b75b6c84c78f9e75c381dea9b8a2b5264019b2fd0f6d737872f0bce2decb119d7440a408127c46ef60368a18b342c583f176612f58bbff4cc5014489b8e79dcfc6b1b7222ffa83fe458fe1d5d785f430b7c2c863a1fd522e7133dd55b5e9c7428026370098b9afd67c64921ce78b7c6f193fe8612da3120de00a2d4cfdb9b174b45f1b619a8cd19e5e4b97508f5218ebed3bd7aec420cce393d2c55727b030963ab728e9228ecaebab7ecff8186dea480b49b959a649160b1a8f0f1807fa24142e0990db44fd734b755edfdce78bf655b19096f00be31840e6703d25202b5127a3c53347d2bcce28ee47ad72e542d45629b5e23c4beaf46064d2515e665e0c81f2555f9b19e72cff8e9344e7f2ba25a77d9b87a5c9f58bf051089bef257c721ce64ae236c28ec6725c35e3b819c96ea206a9ce65c956769ceeb88c2ddf2d13e5b644cc0bebb4592fc1b2190bcf30b0e7560aee514e770e371ff4e35855d574cf7609a93a4f747616efa6b8a6f5a6bafb6b28a73dd838377b295dfa2bb637db4f575a95d80381e2b757fff1747222b28a8c8eeb28ad08478e3b65b1be0e69b290b47859078dc0223892c32777ad4ea92934f61f42ebe545c0adc5f2dbb3ff9d60e7477109bb7677d50c83bc7b87480dfa9ad6f8bdcd4f0830e0f5f2dbb3ff9d60e7477109bb7677d50c83bc7b87480dfa9ad6f8bdcd4f0830e0f5f2dbb3ff9d60e7477109bb7677d50c83bc7b87480dfa9ad6f8bdcd4f0830e0f4d6fd51d0b89969eaad838736f706d416bd2340a1b89c9031d2f118ffc01659f4d6fd51d0b89969eaad838736f706d416bd2340a1b89c9031d2f118ffc01659f4d6fd51d0b89969eaad838736f706d416bd2340a1b89c9031d2f118ffc01659fab850413199f011401d56552a9e23cdfa39d564c0e77caa5c2d13b819843a8feab850413199f011401d56552a9e23cdfa39d564c0e77caa5c2d13b819843a8feab850413199f011401d56552a9e23cdfa39d564c0e77caa5c2d13b819843a8fe0d4bcad0bf057176f50993768b50bbb8972db6ef659403d72d1275689bef86bf0d4bcad0bf057176f50993768b50bbb8972db6ef659403d72d1275689bef86bf0d4bcad0bf057176f50993768b50bbb8972db6ef659403d72d1275689bef86bfe82598d4bfb28e92f2f6323226bb3d3b6c6793d6dd470ab3e649001f322eea8e8d0efbdd8f75e5874739247927762a19f96930723628060adbdb86922bdc276d25452d95bace5961797f3bc134f4fd2a1ad4bafc121794c467ed8a296686c96281b46c8691e5f38eb7bb657a7e9107a0416ad88bf141e0d1fc42bea3499d4ea3d17a7485ecceec917aeb26d8a8f81b15d63b115fd2e1420aa784e447d53cdb8c23294b14dc5e1a9028f679edfbb0c9f04e556997662fa827c278b1dc8a7acef30077c553ae28326ef59c06e3743a6ddf5e046d9482eb9becfa8e06ff5bd37e2e8e8c9f3f9cb2e5f8437d71de433d6d4591ed3798efad7179160fc7c55364e9a645dfffe1e238a1f3b4415239fba22b9dda57b660ced8594c1bce69fb9ae534c977828e96ce02141aa8bb6cb1264e47f5d1e74bc31d2466dfe6adc7bf0dfae16fbccf53fcd34551789105da747c60b0940e96a2209f52e0b698b6c112e485d7f0acdfb818d7a349c046cfd8d52fbc06892578a88ef9a171a7aded856b0387d0a610f52b26d8b238bfdccbdd7e60f343c33854db86221fe19897d41dbc755a6676f68933da6eccd49fe9a4c86d0e475152487499ad8773d17a33070739434112838be8f42061d87f1a3072108604201f49a7e1942f754a174fea856f2e4b98e3ab1619e39a392aaa84f796d035423569cbdb25f0610646d89322a84d0f4d26b3a30d5216ca5f84c64bd63fae69edc59341ff18d8b4b84e81107efaa29b19877dfacaabc9a81be207a31ec0bc8d8260567bb478bfd68d67ef7464a68c9f227b698182c9285a6af1db33313f21c0049d5be0a7ee546f01b0073281aba9a98fc2094282c9285a6af1db33313f21c0049d5be0a7ee546f01b0073281aba9a98fc2094282c9285a6af1db33313f21c0049d5be0a7ee546f01b0073281aba9a98fc209423477e5cf3e4b7f76603e84e63ea8d3bb7d9f45f640050ebaf4babf6576ac73e73477e5cf3e4b7f76603e84e63ea8d3bb7d9f45f640050ebaf4babf6576ac73e73477e5cf3e4b7f76603e84e63ea8d3bb7d9f45f640050ebaf4babf6576ac73e723f6c3af819799b7aa1e390e7909ec2748cc20d4b3f6a41fe11ad4265ddfaacb23f6c3af819799b7aa1e390e7909ec2748cc20d4b3f6a41fe11ad4265ddfaacb23f6c3af819799b7aa1e390e7909ec2748cc20d4b3f6a41fe11ad4265ddfaacb7879299a86de5e7bda68136e07221d3aabecd775a7545911bc676a2bd106479a2d004fc894a5f080c84b96451a2553eae9c36b97b40b6be47b70be3807697473aaa8e0911b69cf6e717e6c32a5e4cb651c2e3ce08c45d9f6f6627fd14d5da79f9f6ff59deff9a407d6d7f7f41759eef338bb6ebb5d3abae9180efe6c9589b34fc106dce17ef43e06125974b3472edebde39ae945107a1f6b10bd44185da68f1c220712cfdcb43c8f5d292b5226a036a0453f958379594d6a89b8c29fde14a4af1e7ad681e5a669e1da2450759e2f61643c8f107548c11f7da12c71f4e5cb5ec685cbcf775cb6719596f5a3c2fdae484b9e753c3bd37c1f4a12c80c3204d7d59d410c26b109ce9d32d35c0e4bc6dc92a7579910ce706939a056323de5801a7a87abcfa16526dd3d1f31954f88813928de507f4bf2911f30d08ff756d8b46baee54fce1d82a5a062eaff3ba90478641f671ce5da6f6ba7bdf49029df9eefca2f870171178ae901e108f56305aff7e36268a690bc49933a24b1aaa587fda00f4d3b7151dc8ebdca81804c959266b14122bf74e62cab773dd8e2f37b379aac1052663c27b4cdc7089ddb410ddb81a5ccf42662972e07dfc44fc429d3056af6dd128e480ac039362a15a7738ba76dffe807fd03fa29f7edaa8eb21ca0057c44a1ee8ca7f21a2c5226b7d35ccac23780ae535921353b54bf7d7e61f1ad9b021167ba6c10e37c432b4b93a7d257fbb890636fa7f6f376321cca47d5919ea5b6adc75d3858ba5f2c20d320c3f5390ff9778e03d341957bd37c5d3cf0c3327976979f2e01f19a80d1c7d5d758dcea82276e73150454212a5136b19c5fc2727786132ddafdd87f8d1367c93897805ee274c0e53ddbb0a46525aadb7dd32756fb85ad74e8b0fd3864c058e3cddf5ce304faa4f47e6aa8b70fe1672836fd8ed7d1681821800f7bfaad5eff3b33c4e6f51a6204075617b781d03a9093911d45ff78ee6ef92717e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e2fd0f8d0e275181458e991b65b4f10deb24bec9a0e1d72d0557b98ba71fd22de2fd0f8d0e275181458e991b65b4f10deb24bec9a0e1d72d0557b98ba71fd22de2fd0f8d0e275181458e991b65b4f10deb24bec9a0e1d72d0557b98ba71fd22d53f3f8e67d84cb2ae18cb9c596ef2945e876910b21a6a13a9f5eab500e47a5de53f3f8e67d84cb2ae18cb9c596ef2945e876910b21a6a13a9f5eab500e47a5de53f3f8e67d84cb2ae18cb9c596ef2945e876910b21a6a13a9f5eab500e47a5de389d2a576a76f5415884081d1e1e06805813884a9828a80ce3aa0cd734d41194389d2a576a76f5415884081d1e1e06805813884a9828a80ce3aa0cd734d41194389d2a576a76f5415884081d1e1e06805813884a9828a80ce3aa0cd734d411940462d208441ecf19f50d04ca23e7c3f1d73b1402bfa5a9fd88840b53199b25fa5ef958040d0ac84460c591ff4875965aeb2cb27ebcc6257499c4ad81a5b816c1eb3d9ad381f35012e3d0bdf27e3993d4412c104d585be314e4eb16117f772352e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855876718e6a7413fbd9f4c77b304eae9346862f53c1b38cfbcf832f37075c89d6b876718e6a7413fbd9f4c77b304eae9346862f53c1b38cfbcf832f37075c89d6b876718e6a7413fbd9f4c77b304eae9346862f53c1b38cfbcf832f37075c89d6be3ce559620458dcf46abfd1c3575d7cb7bf2dc6f440521381a6fca7986ef875ee3ce559620458dcf46abfd1c3575d7cb7bf2dc6f440521381a6fca7986ef875ee3ce559620458dcf46abfd1c3575d7cb7bf2dc6f440521381a6fca7986ef875efa8108df6d0ccb1c793de431240a4cc0565e7c5ee4c1b4cddc9bf2e4cf993dadfa8108df6d0ccb1c793de431240a4cc0565e7c5ee4c1b4cddc9bf2e4cf993dadfa8108df6d0ccb1c793de431240a4cc0565e7c5ee4c1b4cddc9bf2e4cf993dadcb634330aba1da7b9082116a898bb4e998c575c82ef9562bc8f6eecbe9040e7492ab3ae7a92a26be015b0dcf088e4b9b8e9339dc696f51408a88106da31cdfedcb634330aba1da7b9082116a898bb4e998c575c82ef9562bc8f6eecbe9040e7479755fccc9b88b58a8b19c7d8604a108dd7ef7e9597a4ae20b23bc78b992430779755fccc9b88b58a8b19c7d8604a108dd7ef7e9597a4ae20b23bc78b992430779755fccc9b88b58a8b19c7d8604a108dd7ef7e9597a4ae20b23bc78b9924307f5a3ef52567349c93366a30fd6680d7d0e6f13f1e0d0716ab460dca087939225707dccb31c4e1e1d88b3f5f34795bbf6b9a03b3f5e605ebe79104863fca0b8f9f5a3ef52567349c93366a30fd6680d7d0e6f13f1e0d0716ab460dca08793922540498d64848a5e376d503c0356b2369e6a4fa726d9c5d4f83d43afea26aeee7640498d64848a5e376d503c0356b2369e6a4fa726d9c5d4f83d43afea26aeee7640498d64848a5e376d503c0356b2369e6a4fa726d9c5d4f83d43afea26aeee7620891acd7c78620708c0ca6962c905b150155930ad505e64e0927ce93386f766ea6964f3593805a6dcb9eb41728afdb095963f2bb725a4e5200e75ca7a66768c20891acd7c78620708c0ca6962c905b150155930ad505e64e0927ce93386f76605151d440c5841e6caf1c64418ca94e78c9b6264201d79a2d1b1e7d611e5e73b05151d440c5841e6caf1c64418ca94e78c9b6264201d79a2d1b1e7d611e5e73b05151d440c5841e6caf1c64418ca94e78c9b6264201d79a2d1b1e7d611e5e73b4e77f7c738a69ba86f4d76a8e3cef2f36c85989277a6cfce27ac6b6c083273c94e77f7c738a69ba86f4d76a8e3cef2f36c85989277a6cfce27ac6b6c083273c94e77f7c738a69ba86f4d76a8e3cef2f36c85989277a6cfce27ac6b6c083273c939792353f72c85929c643542d5807da9ff60a8a150dcbe33d6cdb7791925ad1465f07cdcb3a3ffb2961bc58aa7bb14f8be316dfb4e4b2fa5d370f260d6ac184091fe528f1566a410e14c23aa233cdd4f9e7cbdfbc4162679ca3392f64f7db59df13de0efe19901d1ff80042b0f67650fc623ccc115c72f4eba9dadf38f97c3f4f13de0efe19901d1ff80042b0f67650fc623ccc115c72f4eba9dadf38f97c3f4f13de0efe19901d1ff80042b0f67650fc623ccc115c72f4eba9dadf38f97c3f4e0b2de530d27a87c8ef80a4fd0ffdf36254e0acc4319ddf74c073c68d1a86cb4cea45db2cc907dec788be8a876f55ad4dfb80e071dfc8c38fcf3ddf6407f3eabe0b2de530d27a87c8ef80a4fd0ffdf36254e0acc4319ddf74c073c68d1a86cb416e7f85dcde48c70aac2c2b13596e932971e29e360bb311ac3d984fca1de978b16e7f85dcde48c70aac2c2b13596e932971e29e360bb311ac3d984fca1de978b16e7f85dcde48c70aac2c2b13596e932971e29e360bb311ac3d984fca1de978bb48148143c6fc0477e7641397cfd35f1c331da822d1b1d9a683f1b29568b1e6b2aba3b7367007b26ca34c88c1cd227e6f2a5a0c016bd12cd4b9856723585d60fb48148143c6fc0477e7641397cfd35f1c331da822d1b1d9a683f1b29568b1e6bf2115e2c0cfec9d9f0673c5c5edcf223f0aeee71e579782b80c0cb16fee15d95e09bbc8ffa18c81a08724a1c3f20e54af4c59443a9db532819f92a5f71c01c05f2115e2c0cfec9d9f0673c5c5edcf223f0aeee71e579782b80c0cb16fee15d95d9cbf8ac274a17afc2d71281a4f563724090b9af9cb125d73f918ae6bf56de3ad9cbf8ac274a17afc2d71281a4f563724090b9af9cb125d73f918ae6bf56de3ad9cbf8ac274a17afc2d71281a4f563724090b9af9cb125d73f918ae6bf56de3aed24b1f83e7496ac79a362d9f880aaef56cfd6f70bce4500adf95cfa48234140252bb3dc1430f04588000fe7240a9882bf99863a5e3f3ba1810d837cac236296ed24b1f83e7496ac79a362d9f880aaef56cfd6f70bce4500adf95cfa482341403f48ba03e7ada51b5ba37acd340ec93957a8a94f6b8dea97ee8721c9b7b18b0a40f5f0b2a9f517e3eb0551ba8c63d43747f68e88fa1931581fabce05c93ae1c43f48ba03e7ada51b5ba37acd340ec93957a8a94f6b8dea97ee8721c9b7b18b0afa330ee3fb3fb23b70d20b2d7cb088d85fd692e3e62356415b7c4c2388ea7f9bfa330ee3fb3fb23b70d20b2d7cb088d85fd692e3e62356415b7c4c2388ea7f9bfa330ee3fb3fb23b70d20b2d7cb088d85fd692e3e62356415b7c4c2388ea7f9b63e9944950686e5f745e16fc846b29ceb7a4ab0db4db61c194b93f6b4f075ccb9a625519e96606e098424ca6fd2772281e001259885e60c1ed09acee3e8f47aa52d6751740145a5f4c58ad473390b1a3af17da51ea94d09b463f13cef5a0da12349e33b775770ed7e4136ec6996f7c4f2d5c6dbaf4338998eb738e0784974cf2fe1f69f900cd658b1f64dcf1506e9dec85d0a598f477327d7ede62c9803867a6b5a9db29bf39b8fe8538163bec99ded8b084f0ae7878dc006455b8af2ae1ece97878db392a1c49a1d3ef1e778601180f166a53127c09bca94e3a8ab919cd0979fa492830ec3c8b435548f8d36c178a9123f9a33a758cdd5301495a084fd5e41608e34e7b1f7f948c757782a955f1027e00dc96dd5dde39233b484a51781cc3cb796c6477de7b2cc2dd58ca6a28120bfacdb8db90a10ecf00767ef096cb19990d488760bd6e892fa897a74751f0a4e3f65162b269a5b77144bf5fb25733e047d16df0bd9149eff77dcd2b9a097ad5fe8bf29786a4969f5387119e1c0df5e8338f007ebb070de5a79ba529179ac22db18c19a33d7451e32cb99913787ecfca5eb35f9f344e6b8dc9c299fae928d69b2cdbd3ad0b9b6b7770982e7735709e5ae500b43257f7787472cea9a4151df21fe4d6540714775f80f5e9374835215fd75347cc97b666f2606d999af86057e15e14be679c7761bf7d3137e748dfc7ff8d58059897e3eb1da96b97f486f1faeba16318028e9dc7a9dbb40380dbbe9af2c14c1fc2fcdd24dd8a1bf77ce3311598609487bb5a7b06796c7820a614f53e405aacff0ce1dfc004ef412209d3880a624ede3721e27aabc56907f1d4a17a479ee68ad1e4b492f72c8517ce7338e097e190d19d06f0d92e564fed407a554305623f84bdf5b618251d4877feebe242467ec0af91d99d21898edc360210826e97bba637b0b00be68ad3775a5e4ec2070c93cdf0ee84a0e421de96cc2237671be6bd4fbdd8984b7715ffc1b578981bcbd2b887339619c4581f8facf9a8a259ef3af0233fa402477909adaa148d0b38fe2587e1d8114f01e97316a078e5f44a1846b04842cebb3a7ccb8adc60317861bf79402f9a5ee0f1e35f81010f694effb86d78e5d985e9bf13153e65f8a9df9fca2644885ee46748b4dbb95c204548585865494c3c80d2f8f47f34d0eb887e2f9921d9dc4fec3ad8f5016eda3a2d6223c5a0cd2705bfeae55d8c4c69dad300bd10b7a0aad091b8d51f6f8c066aebcbcf5b2dccce414ae800ce1338756971d9db568e1a804f84a720079b23d791bdb5056049ce86ae56723dad5223d042a1a13eb5c13bd2df698f25d03936f547651cc25d1beecb4e94aa433af1ee3efbf57c38e88e036a7393b56ae28744f6ab93d14eb1e527a27c269b809c0739e81d45402f985fbad9f95819b375be278887a21bcbd5b1252c2056edcbf6ea93091f81ffa030f0e8f2f44cfef5a147dd4551d41ad8d1f3c7463996ab05fd924108d89baf7930613c23d5ac307cf17ab41b08ba096f14fa6a111d9c6804502943a25ce6098851f6e4413e95c9eac5c3c0a548a6e3b1a2b47b489e99f8e331d2a646e46cb292ea35baff99b6b598b102b626f1cfbc2ee7492f532762b756b0cf0cbbb3dca7219c7e9ba139f7dd8aae546ac13909a2c08c55d8656638ce2909421055dfd251fb73e3aa43ccb8dedcd9aa0ff40a9ef8a3835271b13944990d0f909270c2fc2c6838806231156f6c84bf6abb7c30b123802d9146b508f963ad19ad9722346f064d4fb789b477913a61cecf8b9b8ad7b383224bbdc4e94ed80f55ac66a2570c8a19d2b1dad7c057cf4c944d9c2f8adaf5bf6c8539881e135676140dc03395184e2a4b494a8d5a93efb5bbd8615047b5cfa9d5b78b62cb45b4aaab3c14c76fa089cba521a74a927722c25e7e3f358bf74f36bf0a2dbf479ab4aaab3c14c76fa089cba521a74a927722c25e7e3f358bf74f36bf0a2dbf479ab4aaab3c14c76fa089cba521a74a927722c25e7e3f358bf74f36bf0a2dbf479a65e2605f5cbe2eb58d8fe665dae0c2b7f2ec396046a5014a25752f852261203965e2605f5cbe2eb58d8fe665dae0c2b7f2ec396046a5014a25752f852261203965e2605f5cbe2eb58d8fe665dae0c2b7f2ec396046a5014a25752f8522612039fc024b67c4c76440deac7ff02e82b54a10a6d1c3b1e8d09247c886be85dcb949b65a0eb59c825f8453289396208a827896270ff5f7fa5d88959845c3448c771cfbfea5fe6ba131f9d44d67fce2e846f8c66e09a51577e7e6433c7decb7205b86fbfea5fe6ba131f9d44d67fce2e846f8c66e09a51577e7e6433c7decb7205b86fbfea5fe6ba131f9d44d67fce2e846f8c66e09a51577e7e6433c7decb7205b86575a455f1f1fb79b8d7b13c2d96a8f13945ecdeddef145b719a3ee7fd774d276575a455f1f1fb79b8d7b13c2d96a8f13945ecdeddef145b719a3ee7fd774d276575a455f1f1fb79b8d7b13c2d96a8f13945ecdeddef145b719a3ee7fd774d276e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a4173973dd00be34307faa6088e34f7b2a0cd32925ac7d4b882a2fa2a84f5225b61ce17b00a1338fca815852eae64f7c819b9ed34a6f5c40ee189ff32312d8fc5dc42597f8398476b33e3d8bc4987659e356d67ddbef94f5847c73f8277e110bc656cff3be4b5803851e715e41b99183ab49c015423c86b92a357339c15f122b20d6fcba7f7dd598f68caba1558cef0b02e62c886e556da34e0c50ed07938baecda8e99942797e32e09643d3c5102dd9261888cbe832a2d71792b55854eeb026b7f507e62cdab4a7876b5d6c0d7f7ff7289303c5349281e4a369207052e70af3884528c663a2c5bc5977c54655699389e6d31420d0e79ac6fccac835ee0b167e3636198f2e61362121c9f7adfbde802883c99e6b23977e4e0bbbbd042b3074214fe274b0ea5fe46ed86e7a60a9045e65bf777b31c8bcc6b9d445aa0dad8015e109717c2d426539f03ce33fb57037aeb5781ca3aadddbaae97d4e7f46e29452000916914b082bfe2a837f00bc8c9440ee014779131d6ad035d3c20085805b2708f1bce46556ff43645e932299187a821683171f734f5231cf696a68aa3c81e04754e018785efc750bbbafe910f4b4e4240995b5a2143a4341dc5c1bb73151c1d852042e9d54b110cc4f93f8f45b694b8d7510deff4990b42c1e328a0161aaeba5b255b9cc6eace31da334d60098f3e044860bd92d6b51f37be32408eff3f509acf8554a20704cdd82183ee6dc3c974072a613e12e337086b5a2f1693c63ba04e29a39d3eb45cb64dfabdc854501b65981f46779f9a1816c0023a86e63f233153f3b6062a7c94235291d4ce6ffd20d2bed901b8cfb07380c8412160e0c6939d3289a39d3eb45cb64dfabdc854501b65981f46779f9a1816c0023a86e63f233153f7b6aa5d8dca352a67b1b38e9a94e886abfaf11f65b4389cc8458d82d07df418277548c121e9a2f52e1263c74cdbf1b3d5ef03cfd863f55140efeec799e1911c87b6aa5d8dca352a67b1b38e9a94e886abfaf11f65b4389cc8458d82d07df4182efb8f7d2fc271a79cdcd2f9a9122a2a2876155380968c2bbc6db271d5cc3fb6a168adf8e316782d41a99920618d78fe7f0e5d74af09ec90cc7c3b0db33176cb7efb8f7d2fc271a79cdcd2f9a9122a2a2876155380968c2bbc6db271d5cc3fb6a9e23bd9d6964c9ccbf9984ebce9eff5381f5609e669275997f780c608fa584b25b017e151ccbad92e3cd91edd60ec9c11cfdb933cb58b4e9f6d677d14f0b8cbb9e23bd9d6964c9ccbf9984ebce9eff5381f5609e669275997f780c608fa584b248cf4dacb8104a2cee60bd1b7971359a82073d3b639a7ab59f4888900e0d976e48cf4dacb8104a2cee60bd1b7971359a82073d3b639a7ab59f4888900e0d976e48cf4dacb8104a2cee60bd1b7971359a82073d3b639a7ab59f4888900e0d976e85e4e26965614847f7c004ab8cf99d98aa90f82b34a6377a219c484c88683cfc27d1cff80ab95628aadf71bcdf4ef3b98cab4c164d92c8238e476408199db66d9bc5f77ef675e849c672672912cc45e1610b85679f4c95196327fd0881dc8babc2094a4388cf274a6ebc02eff1620545304b2ff368059fc3f1c142b8cd15abab8fe5ce586d82cf92c2bde6b054af00049dbda726a549f709d1ad0a2364d600bfb83a63661be2ab77e0034fa2ef7bb42fb4c881d8f38d5eff1ed4ab8d089f83db404f8a18ce89ed98f91b75c9912b8eb98ba03d11ebca65e1421e1623fc34eee5d93d7bc49d9ef355374ac3db73d54e3231f9ef05039116068c41e2a6aee9597ad825e4b2070ecbf4654933b4d25e728a420506ddaf7da74687791760de87924803df195ecc8a572bccae6b6ea59b5c2645c35548fc93baaa73a118182dd1b72292b6210f312efa2d19edcb3eaad3e574bc0a18b4f3559dc4a397313361432c2b03df195ecc8a572bccae6b6ea59b5c2645c35548fc93baaa73a118182dd1b7228792853f8633ab0c3dbccd07aa85be1cb4cc3075366533f77d4129646a01416d62a8f354b04a021a27c6cfac65a84ce4a829feb26330d0de6f22f58b572aa3548792853f8633ab0c3dbccd07aa85be1cb4cc3075366533f77d4129646a01416d57acf91d54af0cdc7f42c09608888055840f218afe201c8f1db20f273a0b37e94ff414edb8e65971d80a95d66a806226a211834739ca34ca47561c6b945721f357acf91d54af0cdc7f42c09608888055840f218afe201c8f1db20f273a0b37e970ace4d72ddc8050a16138fe765f6e1013e1d6f757bc5e3de04905b357b742cebdeadd9371f00ae56bf08a1f80e06f49f8fab02c0899b75f81a27922563cfd00758e0f61a9f7845eb059a7b2845a68dd258df0258b78871254f0a62168e5263ab737dbd80ffde463ca867edd816a02dfdc746d6ad20a24b0a8a8066253ff9f25c7f8002fb454b2b90ed8f2417e493a4ec466665a085da5ce80aec04dac669d39b737dbd80ffde463ca867edd816a02dfdc746d6ad20a24b0a8a8066253ff9f25cf36544cb587f34552b2cfbff7948bb2be9334e4d3ed3e26e7e01520f7397462cf36544cb587f34552b2cfbff7948bb2be9334e4d3ed3e26e7e01520f7397462cf36544cb587f34552b2cfbff7948bb2be9334e4d3ed3e26e7e01520f7397462767d87bbeb89109116c54e350032d8f6cceb5eda0dfb5b7b0fec31a7a87f07c712073f016e892aadf60ce19625366d6dcc13f5677b64e435b5a6b5419161ab87767d87bbeb89109116c54e350032d8f6cceb5eda0dfb5b7b0fec31a7a87f07c7dbba538307d7a66cbc2b6ef190fb85db64cb7193a5b60349119c1eb0aeb411234b227a65d371bd722882dbba2ac59d8076066b3daba7a6e96a618bb898306741dbba538307d7a66cbc2b6ef190fb85db64cb7193a5b60349119c1eb0aeb41123926cd3637f20fcda1ebce56c6474a482add17541ae82d81b449f6b403bff196862bf7362602c84dfa641f73864e566af2b4d6d841536f09fff21fbc4a22a3bf3926cd3637f20fcda1ebce56c6474a482add17541ae82d81b449f6b403bff1968cf3c9d6f42acd8d996ceaddd6b1a1514fd0e49702fbeddf0afd85bdd3b0209523559cd8d68258be016ff0536c44f5c7701bf35d2c50cf05028973b33cecc662675c26e8d5561071398fcc18321c0e20542b5e12318b0f4b2b962dcd99c870a62d3b8fc2bdf93a2c36c68c519665c633cb17e4ea0d4edbcea7aaa4e24f895bb489a8e4ab6645ac4b24070bc5ce0a7f2e6c198bbe60e815ac357a7b57046247dc7d3b8fc2bdf93a2c36c68c519665c633cb17e4ea0d4edbcea7aaa4e24f895bb48345fdf13976fdf7fb624489b46f7460497863ea4b83dc85fe62366bbb46566e79dae493518ac0721df861fd2beca5c8b8f0c5264eedbc9fc147d153c3d7f0b84345fdf13976fdf7fb624489b46f7460497863ea4b83dc85fe62366bbb46566e7338b516e4d2655886a2e2773bbf17a31a0ee81790ca6634f669cf8ecad43e857bd6eeb72fad28a26393fa10f5cb1c59b7a1b8639dba7362b06f6374b1c7902da338b516e4d2655886a2e2773bbf17a31a0ee81790ca6634f669cf8ecad43e857d741d2a5d01bee91641f0d0f6e0a9bc6d8c37f4c92c896bd691331314c95cd77e2b61443c9c3be6a18e8190b71da49cb8f4a69af12e577092bf8d8333a1a97e8367d4c1633a7828c2c07af46eb5963035104f48b3f6c14f3926fa00c8ba7c7cc9530f8e61b245740e57e5c0009bf532a880c0c62cbec4c0d1c7116b8657987c1c563dd0e81f9938174bc3f6821927851c63382d073bc067f2ef974805cfaf81e9530f8e61b245740e57e5c0009bf532a880c0c62cbec4c0d1c7116b8657987c186bb4f0e23ce221a362be0dfae1344133953307ee5fdbf1c673e5f6227a14479596ac25b7ae0c2c99b47b00d7db56988b886eebead3b87251f396871c4c6411486bb4f0e23ce221a362be0dfae1344133953307ee5fdbf1c673e5f6227a1447985586455bdd044a8352c21f5839c6a9a1de28e4ae80bba6a9c3cb1fe2d4e2cb27bdb71d66bcc3bb88852dd06dac52369294de09820efdf4c7f40a0e1cdfd28db85586455bdd044a8352c21f5839c6a9a1de28e4ae80bba6a9c3cb1fe2d4e2cb26addb9fbd5d9007e5d50c40c4af5710d73bd62a5c1192b6d067a35cf580be219222ffdc29f267be3d309d7b0cb148777a80f05cccf030c5b49f2b8c544d25f4c222ffdc29f267be3d309d7b0cb148777a80f05cccf030c5b49f2b8c544d25f4c222ffdc29f267be3d309d7b0cb148777a80f05cccf030c5b49f2b8c544d25f4cc96e5b909af107d1154920c1d90c00f27182012c0e03ca9a97b31dd795e325d5c96e5b909af107d1154920c1d90c00f27182012c0e03ca9a97b31dd795e325d5c96e5b909af107d1154920c1d90c00f27182012c0e03ca9a97b31dd795e325d57226e485fe584e0c18da4f739734f0d916a737ed3e307ae55a9f97969e7e0e797226e485fe584e0c18da4f739734f0d916a737ed3e307ae55a9f97969e7e0e797226e485fe584e0c18da4f739734f0d916a737ed3e307ae55a9f97969e7e0e797d1d2fc87b9cbaf744af1ed8e31a96947b13da28bf2e7a0358996af9c195e3801fd24490e10dec6271a006fc01014adcccf9d486b7c201dde975092927246b685c72e61f5972cec7e2f830aa0bcdd6c8f3d56c7736a8e78af679d994aa7af84e67f2619c60c171d03b091931851b658f7a92446e131ac261a3352eb0ccc1b17e4cc554dcb58d602bd9d557b2aa497fe9a325d9e021d97a95c0358e907291a47afb67d0e9f8e7869235e94949b06313e412be59c29ad1f089f323019f0f3a0e4919924c427e33c86284ef2a41f76ab6937ab36f12e3d1ef4e617cdbf616a8fc120cbf55d49bdb78c5a93446d44dfe0bf247a408ae159813989285f7e8c87fd4698466c98fbe5fc76e145a86bf16ef64596aff5f93d1ac943b4079392f7b4b6925b74464655baa283d2de961e223e0853b498ca51f0889cb790267c8554ac79c92be1927e654180fcf6d84257be161fe6fa59796774e862c89b6b78adb656738f3927aa94e0831b09c237b129749e06bb355deb007be0e1fd63dc0cdf4ef5c265dd724296e344278ce3ffb39962c5761dd04b19e987f8068a09fff02cab7418cc24548165a86eecd536d0231efea5adf656cbfec33371e62a7679724af19a5e20489882cc29688bde3f474f1ad1d16fae2a0dff21d797493e624e83f9c72dcb4ab482196211cee77253034cb6b85b50bffb302fde20f083a5e888f34af603ea4ec3181376673273db26aa634b690c176d9b5cc176351f5f0d0d5f5a480d6fa0ece7f191895d8e33cb8b36645d0ef197096c459c6f63450366114753a85eaa8c113515c10201568a2fcb868d1c34ffe9d7f04e3f617a2cb61d587167359a83b09ecf8ea20ca76f83063957790f4bc6be258b41f9bd19dd1bb15743f2aeba402b1ef087eb5fd8642c4e715869f579a760d57410df11ea4c24f708906c98abd9b9565e647181ecffdba1096c6386dc361afd83a6ffd8c9cecc557cc7b3d68ee75bf4ddd747f5cf11199f177deb717cf911c176bdd1d01a404c2bb7d765a9d381cd355a639062269a63cf88c8aa9ed65573357f9e31c978e0b94885dce15dd9d688b1641444b776864b36c27d688d9d458ce39b4afb18477960f93d5321b8c1bae41a920a9e51761cda281ace5a5c5bf0fa86e4d0928cfc4d8fb6ba3b285f21b835816ebdb510ace36bdacf11bdc0d0249ca6c6bcaac74865c7a379eb76424fde0fa97a4bd485386ce9cfab245526bae57bc79eae764db06ec7909affefc4b8d47bc6c136285c9b5f616d37bc551130428e21d07a904f8eb0c6b965ab4c887659d484da9b31c0f4f29de0b294064a45967999f29175282bc2c033b949bb22f7712a67b892fceadf5b3e510505ce7a9ac7d11627af73657123e73fe6dddec3b7bb49b60331c69c11f25ef1b2a6e9ecff6ea40c4052ef415c55e6348ccab9dd115569f78edfdd1e4e6c96da4251b94e45b8764d0580a2b0495edec3f0867cf12dda7b2b24a50f083c40093579e592e464bac9c71744d2262139771090d0a3ce801e5a5ebcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c4e24373b0749e87f33c75d356562c55a548373e2489eb578fb3fa8ab5917c1984e24373b0749e87f33c75d356562c55a548373e2489eb578fb3fa8ab5917c1984e24373b0749e87f33c75d356562c55a548373e2489eb578fb3fa8ab5917c198f431d68ac39c96e28177e8eb7709c712be63eca4f25f1d03f19914ff9db70029f431d68ac39c96e28177e8eb7709c712be63eca4f25f1d03f19914ff9db70029f431d68ac39c96e28177e8eb7709c712be63eca4f25f1d03f19914ff9db7002949f316042013922fd1ce82823e87ab0d44cec37a3d677042ea8e530c9400d55e49f316042013922fd1ce82823e87ab0d44cec37a3d677042ea8e530c9400d55e49f316042013922fd1ce82823e87ab0d44cec37a3d677042ea8e530c9400d55efd952fa5bb5ec52c9d4b1004152a88b029e4d6b29b9a09cb720e9c52dd30cde6fd952fa5bb5ec52c9d4b1004152a88b029e4d6b29b9a09cb720e9c52dd30cde6fd952fa5bb5ec52c9d4b1004152a88b029e4d6b29b9a09cb720e9c52dd30cde61755bf26276b61e67b42d043067732d22be57f65bf827a47c60c6d445ed427bb1755bf26276b61e67b42d043067732d22be57f65bf827a47c60c6d445ed427bb1755bf26276b61e67b42d043067732d22be57f65bf827a47c60c6d445ed427bb0f1c80ca60c30bcb80574c3efb2c59e7681115e8a8cfa9eeb90279df0a28dc9e0f1c80ca60c30bcb80574c3efb2c59e7681115e8a8cfa9eeb90279df0a28dc9e0f1c80ca60c30bcb80574c3efb2c59e7681115e8a8cfa9eeb90279df0a28dc9e10e5701f88264e2afa4d5a6bb4a46bd65cd73724c717948794fbca91c44f8dbb93786fef6e3c5925c9aba365410b6bf465426ba223c9f6b1e42526f776a9557b10e5701f88264e2afa4d5a6bb4a46bd65cd73724c717948794fbca91c44f8dbbc7be82637d78fab9ffab159d1c0d409c8b1b9c8016e153191b1d79b0183ce9ecc7be82637d78fab9ffab159d1c0d409c8b1b9c8016e153191b1d79b0183ce9ecc7be82637d78fab9ffab159d1c0d409c8b1b9c8016e153191b1d79b0183ce9ecc8f8540473a18ae590e968b1c7f4db1796832f2fd67db915c4f7e51388f6a4d2c8f8540473a18ae590e968b1c7f4db1796832f2fd67db915c4f7e51388f6a4d2c8f8540473a18ae590e968b1c7f4db1796832f2fd67db915c4f7e51388f6a4d27b576f6ae7eccc2cbd8e8fe77136b6334419a5a886dba015ed7f367895b28b4c17d1541d0db8ec83191b3a40a857cdf8a034a3ec81109c2ad708fb8eecf29ca17b576f6ae7eccc2cbd8e8fe77136b6334419a5a886dba015ed7f367895b28b4cf5a7ace06b2f52332be0b615445ffd8d55b26b20ba1b19cfa3f02aa1d6d472a75fe8c542f390ca6a4e241cafb13100ba41048918a2cfcd235333d3b640f2aabaf5a7ace06b2f52332be0b615445ffd8d55b26b20ba1b19cfa3f02aa1d6d472a7005105e11f47375556984f11c7a4e84b3518e8c720e6370f5d863d60bcba8d0f7c9e982e225e59cb60744364c02348d900be5b753303209faf2d2fdc8d675bc7005105e11f47375556984f11c7a4e84b3518e8c720e6370f5d863d60bcba8d0f6f62996ce7f990e7f4fdfddb2de038ce657d2da154557cc8aa0df13d061fc4fc6f62996ce7f990e7f4fdfddb2de038ce657d2da154557cc8aa0df13d061fc4fc6f62996ce7f990e7f4fdfddb2de038ce657d2da154557cc8aa0df13d061fc4fc3b3411a0d8bd84afe4a77cb1597aed90fc9cc3a1fb6ebfe357ac608f342d3b06d14f5864a23b69f7d633cc5f3b1191ca88b2818445eb4613891f68d4eef8f11f3b3411a0d8bd84afe4a77cb1597aed90fc9cc3a1fb6ebfe357ac608f342d3b0692da891a4832737a8d5e2cc621f5c7b04160705d33cb9c8865efb01df58ada4c0f586df3e5a4a850910143bc1b573294ddfc550f0e615d600290b903fadbb45592da891a4832737a8d5e2cc621f5c7b04160705d33cb9c8865efb01df58ada4c4ee92557708ee489dc8cf10f180046eb10cc8803a1c78aeb81cca2cd5f042e74fa9639efaf0035396c10f22587169eec4f163a4e3782a5c4e2ffe6cacac31aeb4ee92557708ee489dc8cf10f180046eb10cc8803a1c78aeb81cca2cd5f042e7497427aea2eea33277fcf448f1780948f9997dbcec7375102478949bb4998dc6397427aea2eea33277fcf448f1780948f9997dbcec7375102478949bb4998dc6397427aea2eea33277fcf448f1780948f9997dbcec7375102478949bb4998dc6397873f0c3f11c37589f046454050e27bfddc0ffef4bff724f2aec84f72583ff8cd639b708576d5dbe49ea7bc3b8d4fabf8204c1d97925b66a457a2992e494d2097873f0c3f11c37589f046454050e27bfddc0ffef4bff724f2aec84f72583ff8aa91209c1f58d31b870068828db7ca6328058719b41aebb12429d75d9a548ff6aa91209c1f58d31b870068828db7ca6328058719b41aebb12429d75d9a548ff61d695ec61e09c600385b56cb77ed4f8fd06c58a4a84a2030b59c8ae6a5d4ccb55e58dd720bc87235f207a114c19c83e930f3c144f6c255a16cafac09d0de5b08c50d12aa556d1a821ed6a95915bfbcee68937d1baac0e4e829df5ba1555499ee5e58dd720bc87235f207a114c19c83e930f3c144f6c255a16cafac09d0de5b084a0bc0ce88ac55128059841e7608c79249cf2f1e0daf8493389e72895ed2b2697cc484736aadc5ed3862546d612495f5362ce945bc3564727f512215c8571ae64a0bc0ce88ac55128059841e7608c79249cf2f1e0daf8493389e72895ed2b269df2d2c3048219fd9102370b7575b62d63eb37ab9ee09d9d481806b3d70ae200ddf2d2c3048219fd9102370b7575b62d63eb37ab9ee09d9d481806b3d70ae200ddf2d2c3048219fd9102370b7575b62d63eb37ab9ee09d9d481806b3d70ae200db0d319ccfe576e55bea5a14196f6d6e0ce0583839aaacbe47c5de594ec65daf3b0d319ccfe576e55bea5a14196f6d6e0ce0583839aaacbe47c5de594ec65daf3b0d319ccfe576e55bea5a14196f6d6e0ce0583839aaacbe47c5de594ec65daf303c720743cd19df449b8ecdfd6e6ccc97018bc52f24cc6a17181604c67a65eb003c720743cd19df449b8ecdfd6e6ccc97018bc52f24cc6a17181604c67a65eb0336b3ec494cd76cf3a2f303cf4fd6f2e146a8fe745bfadc3d0a224c1bb7514f4d9ef7dcfbc3240dc7b13b7dd34bb3400402674ab74449d6fca441dea498a62023adb924b7e7c0a2ad341fcb9f4f4e91b0d146dfff10c1bf13679d9f1c98e8bd1d9ef7dcfbc3240dc7b13b7dd34bb3400402674ab74449d6fca441dea498a6202492e634fc0891d84e0d0ae6b0b7d27652f4215f521eaa869a14fc793026cfc89c22a0f58207b2565cb947447ff8cde4fc935b8477bbdad07822794990dddad86e5cd7000f70df6743bafa3689dff15d231e47b86242208fc70bd9401fdb072da807bb091c2354d4f8785a41382412e459ff8e0a6ebcfb32deda65a4cb88e504d807bb091c2354d4f8785a41382412e459ff8e0a6ebcfb32deda65a4cb88e504d807bb091c2354d4f8785a41382412e459ff8e0a6ebcfb32deda65a4cb88e504d039f7f3a9432dd09f57e6b988bfe4f291041dfa6af787b09773b2e073e6a0e2d039f7f3a9432dd09f57e6b988bfe4f291041dfa6af787b09773b2e073e6a0e2d039f7f3a9432dd09f57e6b988bfe4f291041dfa6af787b09773b2e073e6a0e2d88220f11648c0c1025a19539ed6e229d19f25c78cf5d1cfbaaf26f8231decbe5bb85df5b7d9c7f1fba48725541aca07e986025c5ba728ca8a88242a6faa35f8088220f11648c0c1025a19539ed6e229d19f25c78cf5d1cfbaaf26f8231decbe5ca5917c6a80056a2a17ed5438279ab0d0927e46b9df95a4b98023020ff12bc123f4894b216dbc3344c1475bc4a229c2cf4dfbaf79165bfdf9186abad3ecb6cc4ca5917c6a80056a2a17ed5438279ab0d0927e46b9df95a4b98023020ff12bc12ce54d9d2d99de1f4baebd7e6defe917ed84d3b013893c53087a8d890f5c5f23cf2dc36b64955820fbf7312a875713f7b42d1fdd7c597f4d99db63117c03da997788173c18bf1737fb55f18d921bb8823e8ffe41e79b432c0409fc56672fe60014d030334a31d76811908f8a024fb63a6157dadb43993f98b872fa07d0f53c2591cf89a1c286e955fb61c930fae7aa756e73d1d4777b9f4f2eacf60abade5465b4d030334a31d76811908f8a024fb63a6157dadb43993f98b872fa07d0f53c259c4d1a2da63b84e86a00f80a449b413ca70e98b901a41a61ebce71fda238333c20823bd57568bdf009e6595125ef0def9419462ab917c724ed676268f0b95a881c4d1a2da63b84e86a00f80a449b413ca70e98b901a41a61ebce71fda238333c26e7da9fa8e334e86719dffe99513b1e3c508943d2a25d5eaf5c00da65083d3db312e501995b01632074b859bdfbac55a38fa358756053b4248cab8e1e618bf756e7da9fa8e334e86719dffe99513b1e3c508943d2a25d5eaf5c00da65083d3db3eb324634869811206261633f1d14589833ada78287dd8d54fd9ff15a746e6bb3eb324634869811206261633f1d14589833ada78287dd8d54fd9ff15a746e6bb3eb324634869811206261633f1d14589833ada78287dd8d54fd9ff15a746e6bb705c76cecbf0f74da33836ede32caba01a48f42db9f1e6b8afb7672e2aa9a9f6642d0acd06bfad0462a00380c1c1a2299e78e72e562bd330cde9c4dadb33d56d705c76cecbf0f74da33836ede32caba01a48f42db9f1e6b8afb7672e2aa9a9f61bbd9bfefbd12764993da235e0c03c725429b1261abc3d7ef707ac0cd156b1328db10d3efc76752c2b2e1ef89dd6c8ff8819b1e9fbe17ea427d68ead5eeec29f1bbd9bfefbd12764993da235e0c03c725429b1261abc3d7ef707ac0cd156b132a516b1584bde0c31e5ec82c5fe9aaa6fcfd9f6551964e3f87f0d92e04ec7692bbc211a1779ea6ab4bb80e14296b0365c6c9bbac9c040366a8c8754ace2232b03a1594721860e47e5c57d144a946b1370f717236442aefedabfbd11a42e12aefb8e654fc5b0c31fb390bb0de02b1235e4888e977d4e57bb0461795c3150a569417fe427b09ed190da2542bdc606d725e1dd4d366a9bbeb71361a0c8b54fe28aff315c48d29f37782a1ed7893dfe19c93b887fd972a5807f0625785931cf8c5a9a193185f658ac4d15f14a02b6e6e980cf55f73a2de7fc1295247e4af9ebae46b7c4983e3c5206614868df1eba70913068dd2c60dbd4c187c3d8e6864e909f0bcece60895c925f0dd6cf8e49f77a886d36d42e418f7db97e73a03636a1b26529da9af980862f4f073e1714b65180c09dbb0e3580c36979e357ee13c78f7af4f2286fcf8da4cc425f92b2008f019bda28eebfb2be4675383c2c69c7f339d822e4894bb25ed7afc1a19521f376cda3026a9c47d3d35396c01e4b905b87738095f63bba3daef847e841e62c5ec54ed8690c29ad2e8f6dc8ca6446103ff1ad34529a8e364895d7a4ce3826c7b67047ae1c9b8928585318c094d4c09257eb6b3f200e27984ed680f1a7b16cfe6c31e1afcd6747a1380c75dbec6306a68a9aade382a4aaa34f569c5acfe1cfe97d8ad43b3e37b77e07e78559287d3553ed632ad8e9482eb3cf3d01a99d5d1e194d8e0fc289fe6150ad5ba7534483fc3d58842029aa435fece8991e422a9cace08dfdfba83780a4c3de9db6969cb25468382d9d716175b3bbf4f440a1559db0e45e4cc88160890a091fedcf85f7f877d90744d775673ec70b7a1b92765f8d33c1d43e43a1e342ff6c0865dc3a5035e65f9af1fc83c0f8cbd6e6557fc7f1f013c7c8f21a24790360dbe4480b89e6b2aa7be98f9ca87d726b6376f7989ab128c45a1ec6f9151e96c662db95b4801636ada593b81997275d2d6aaa600ccf3212d6a127af69ff6408814bad3b588227ae73f83b1879ca95d053cf8ff5af2e4b7a0e399c73d02da96d786104fb53e6f6bdc5807135ab1249bc84a97af327e41def4b978b02fe4fcc448f046826706e8ae0b4b2185a986b1bde30d01d4e8fa439e55a0b86c7fe8f33046867d75945eaa475cfde6732f1a67402c876f108aa1b1c6fb99b5788fd50add08da9bb2960fcbfbbbc71a83d62eb98bfb5231b23dfaae42fb7fe701af13f4a52efc80f75f1aa898160b88778ce4839ad1518c78d51784a1a775aec04c6afbf6cd3478edc1811dcb5db8fb266f38d875b49dd3fccc9881d56fba03377f93999b25f999cb60feed1b640ac8e4b26b1807db3aa9ce47354dd519dfa72e9cace6a15395c52e0a1195f3c26719b308df9ab0ef710012afda536b2483689f7a7658c8cc4ba3380434b365a479f4d11e7a51dc209b29aded8ce33199d13d791e5b6820830db0af58dd4c215a026bf6f8754ec221669f31dbca6226a796dc6152c086a12f5988a011f525b019431ed020b2feb54d17f2ae408a82373809bfaf048fdda19c370653320fa60b5240a6a74b93033e65fbf5c554557981bd7c3baf897aef6dcb4cc1ae8fd284c1045f84b68d94d72fbc5c329c19a4bde323471cc48eee55e8b59e2fb71de020a0b773090138dccce240e4f6f1d58d6da3850f81c89a38e2dec73ad6f5dabe7803660691c6ec18f1c4b22fa336b354cb98b5e290f71d9565cc0c1fc26d603450c9b96a2ee2a927ff99ea69df189935ca65227bf8d282ec8107c008bbf539e12e2ffc5a0bfad59ddd5ee68dbe56019d5524da4a75444af1be0949ba94adb47c70986d0ada5974d47de1706c14112ef1307bef2647727afe340657b5bb6adc1381db221cdc29a3ec90712cce082860d42d08e0fd819638564f902aa1ee292896e947d8826e100cef7bbe4430e2255acba7fa800fb815de6b3c3b26aaa0e528bf3aaa0b4e1aa422b1d0e463d8e29c24e8e67443c9318489d123f700786b8de5c268fe9b951c27c5848932e7685af7379285b3787d61be4926d38fa188d7a7f11413398fd6364886208f4fd3f96d0763f8218c9177bf1cf4dd0e27c69f898aad4cd34d4d773c8b4d86eccdb191e7bf7a01da6f4a5f282e4806458e296fb8402ee1bdaa5773937e7cf6fafc61dd5670a56707d7d2775dd741821afea097c0dd818846978c5cd08ee78edfa2d713f5ec9e133300357b7d82401ee1287f4cf706c1522acacc7697d98b0bb199052f7407603baf2dcb8695baeea7e7cb6602ab12cf2c81f78e6c8301788937056e6311b43d2f7bdf21391c0ee9f2dce5af5051c7831fb27fb1a7f817a1eb76f4f82aa3a3f7aa20af3e76cb9697e1b5ed2239f44c9aa718531ea20d899ef4b53914a6f8837ef30a4305f4794640ae0a832e2de25eac599ca4e411b81bd0ca48ec1bace4f93891c8940452c1696e9f18b1cca9a8c4c61ffd7f1cea777a1efc8aa6de761676d56d1a7e18c23245e29e6be8f4652e2413a5d833c92380a9d4557bea78b8962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19b420207000451d6a09e4413bec306bcad1aaf9d91e8ee30fc1bcf47687f9ac9a64eb7d09a8b77b6488c78e65840fb4064f463f2d91cb3f9e5e01dcb6c10987fde4eb7d09a8b77b6488c78e65840fb4064f463f2d91cb3f9e5e01dcb6c10987fde4eb7d09a8b77b6488c78e65840fb4064f463f2d91cb3f9e5e01dcb6c10987fdefae5cd26086824e7c2892e5a2ddfeea6c3a9512199e78a6f351019864f46ae76fae5cd26086824e7c2892e5a2ddfeea6c3a9512199e78a6f351019864f46ae76fae5cd26086824e7c2892e5a2ddfeea6c3a9512199e78a6f351019864f46ae76b552147bd9e6bd1e62768e48060a9317ee5519e8a369290bbab2ca802ffc5ae6b552147bd9e6bd1e62768e48060a9317ee5519e8a369290bbab2ca802ffc5ae67dd12f1bf475dab5acd70d10e9cf18433301659f373a58df03cf376e14ac4ba4ed7a0cda3bd7fdadfea9ea7a6f1c663a745485958b6ad4cf587c5e46dcccc710ed7a0cda3bd7fdadfea9ea7a6f1c663a745485958b6ad4cf587c5e46dcccc710ed7a0cda3bd7fdadfea9ea7a6f1c663a745485958b6ad4cf587c5e46dcccc710dae1d27e6cffbbbb0e72cb92dfd6126a0f101e62cba42d0595120cda421d2e4a044458d8d9fd2e17e198e53df9b8db1d70889c693f6245f6197dd275f83386b8dae1d27e6cffbbbb0e72cb92dfd6126a0f101e62cba42d0595120cda421d2e4acde84b54bc3ce09c158455a199cc9d79d3016388a24c723ba597ba669da4cda662505dbc91dfbd2709ddcea8d276be5053f9a5d66c6b2781161515b5010c2feecde84b54bc3ce09c158455a199cc9d79d3016388a24c723ba597ba669da4cda6e70e49a0c267d05dfd8c6360b0544ecf8aeff3704d4f4b64def2e5fa68538d495a80d67f5fa3ed4baafaea1d71b3c264884757159850fd6020e6286a395a9f1ee70e49a0c267d05dfd8c6360b0544ecf8aeff3704d4f4b64def2e5fa68538d496f8a4bc23894fd515d58687abae11170a2affb59ec82815fe276a62433b957096f8a4bc23894fd515d58687abae11170a2affb59ec82815fe276a62433b957096f8a4bc23894fd515d58687abae11170a2affb59ec82815fe276a62433b957091e6a3d719e05056af107ccabed751097f42fab0cb46b70a4a9b4e8869ded13d31e6a3d719e05056af107ccabed751097f42fab0cb46b70a4a9b4e8869ded13d31e6a3d719e05056af107ccabed751097f42fab0cb46b70a4a9b4e8869ded13d39ef7ea0d2063843c4f27e080d893dce014b018f0c09a429604e60ac557601edd9ef7ea0d2063843c4f27e080d893dce014b018f0c09a429604e60ac557601edd9ef7ea0d2063843c4f27e080d893dce014b018f0c09a429604e60ac557601edd203ca276f0f221ed928930df22d490b65785ce785765bf39d4af1b2ea0ec90b5bcce24f8ff98abc3b5fb1cc03d7978c5ba54b1072d41d9b4026e36ae53b3dba2203ca276f0f221ed928930df22d490b65785ce785765bf39d4af1b2ea0ec90b5afd3b286319c4e49fdc75b0c5f737c7551383badbdf011c85a5f2c4582a6590aafd3b286319c4e49fdc75b0c5f737c7551383badbdf011c85a5f2c4582a6590aafd3b286319c4e49fdc75b0c5f737c7551383badbdf011c85a5f2c4582a6590a947ae243994236ce49acc260b20f597f32354a5642d3e7f870247be03e6e81d89157fd63ff700412865958e04a72ea6226900c5963b68d866c1607c50259021c947ae243994236ce49acc260b20f597f32354a5642d3e7f870247be03e6e81d8226a7581e59877949a875fc740d4a0609143e00ab9ba98011821d8c4f08266a4226a7581e59877949a875fc740d4a0609143e00ab9ba98011821d8c4f08266a4226a7581e59877949a875fc740d4a0609143e00ab9ba98011821d8c4f08266a475c82009411640d0f00215dcafa23c296ce633d4e2e58729c46a0d2dc888607875c82009411640d0f00215dcafa23c296ce633d4e2e58729c46a0d2dc888607875c82009411640d0f00215dcafa23c296ce633d4e2e58729c46a0d2dc8886078f5af1d97582fbd510da2edb7f9f9e42c8976ecc838875cb71f840ed51d67f10cf5af1d97582fbd510da2edb7f9f9e42c8976ecc838875cb71f840ed51d67f10cf5af1d97582fbd510da2edb7f9f9e42c8976ecc838875cb71f840ed51d67f10cffb571e1b500c04222ce2a4c1934ad95b67cba1bc591990365b9014e752fb65fffb571e1b500c04222ce2a4c1934ad95b67cba1bc591990365b9014e752fb65fffb571e1b500c04222ce2a4c1934ad95b67cba1bc591990365b9014e752fb65f3e57b3595c92b6054bbed3728621df7c362f99d385db45cbbb6f49e5c3e370646d8703caa095c904b0b11ee82cb2ec6a7dab32f09bc65fefd16d344ba7de49a9f4399eedda93340c6a0f5f8295a4d29d2ae6332fc3010addfc29a6a5a412be91745cf4d24e84300d2c76261d654c48b14bf51167474863735befd3ec27657493745cf4d24e84300d2c76261d654c48b14bf51167474863735befd3ec27657493745cf4d24e84300d2c76261d654c48b14bf51167474863735befd3ec2765749326d17ad82275b1a9224ab60710b5d77a2d081dd28b45aea325b9adfe8d1f26e726d17ad82275b1a9224ab60710b5d77a2d081dd28b45aea325b9adfe8d1f26e726d17ad82275b1a9224ab60710b5d77a2d081dd28b45aea325b9adfe8d1f26e7c28d2a821cfe61f4d5744456b78eaa41c344e90918c152e00ceb234919c290c3c28d2a821cfe61f4d5744456b78eaa41c344e90918c152e00ceb234919c290c3c28d2a821cfe61f4d5744456b78eaa41c344e90918c152e00ceb234919c290c393ff5929c53f0d32e76bb813cdcf4fb39619154d30898faa1e3356dddbc657b193ff5929c53f0d32e76bb813cdcf4fb39619154d30898faa1e3356dddbc657b193ff5929c53f0d32e76bb813cdcf4fb39619154d30898faa1e3356dddbc657b155a584fc824f94e129ec79f0fd0599f82ff63ad805478ee31c86d55087933a390e0baf32e86d87b58d9302ce8e6531fb3c25975839d462f849d96b3d7878503555a584fc824f94e129ec79f0fd0599f82ff63ad805478ee31c86d55087933a39509627b20c905d0bab237da84858ba8bd50d88bf53a0ccdab080480894f31f6d509627b20c905d0bab237da84858ba8bd50d88bf53a0ccdab080480894f31f6d509627b20c905d0bab237da84858ba8bd50d88bf53a0ccdab080480894f31f6d355469bff2ab7353fb6f0469a50b7d8f51a5409ce2cc7802fca7a3dc64a3674a9868f606b4f3d96533d181b62c72107fa39b7dba4375acdef84ccc04b716f12a67cdba44fa5738a51833e93386205b50a1849f01a95a9e66353df97663fcb80038cb87d8ac3908f9fe093b47d721b940ed9840f64b6d8b34f5feec14e9cb26cebc1d97c982e3ebc871f216d1364261bf59e4c0c7848bdf5a2867aee430bc86fa14d544cd73779115d22ff78ef3b54da7ea8eae9099b0fe647ae1fbfb7db6ef57824865e49b9c4bacd78cf001dbb37b6299f99c7b358d5670a3296b4c877c9c645057610fddffceccf2879d75c342ef9aad68c956719a7aaf1183ad76cd4ba9ca6b7a0c515000f994c6a7d03c10abc3268aa4429965c69ac092f5d44a03ec1a338e2a30ee34e4b205591bf60ca290fdcd2226df8b64c1bba7fd32ef248767e9477837d72ba171ea9c1a16e684e513a17ba48f06a2b6e60d2d4529eb72337078b4f28c9eb3b2776eefc4ff6710297e12cd096e9ac6982cbcab6e2c60c839dcda7f3eb7df84a9bedb9baf15aad31a1034f7b4053979fa9db6a0bb5eae4a986f6460e1826aacf76d7660184be403f54ae786aaa28966c112f0f9c7ae36bcd09a8402562b272b03c79c45c5656370e5de36389b885885e7c39a856b33bf75e6bb8774d0c1ba05730f310a37cc2fa7d63b35c4efbd3a50cbfa84bfe7b3898e16882943dcbde7f38b145e9662abe4033bac8a73824c17da006b56d6237c0fe4015c7f98fba7b32eb1b7d971b5ae7ddf7dc13effcf83909edc2e9a14f7dc94dc1bf43cc1652a8435dab514ca15d9a97cc91e7ec93737f1b15ebb7f7d9c6679ab9126562eb42b6219aee9226982725f99408a14e92a77d92d06f1f2674aba4311ad056de459cbfc96302598242a5f5f6c6bf839ed2cc47d557bbca5a09fb06e311638e7443e569efa57d423d7855ec201efd8fb0cd8d853113cc7e40436640a88c2db7df8a66f7d60df4d7c5502aa603acc43b7cc146765833c381eac1c43c37f9e8d1c1491e6416318b958e22f136e739192b6e51c6683501c04dd1f1db2890ca3684f8d7d45db5187ac95234c0d5579e88460ad0009017d745b8920139b32469f0d000d3d63e23aad42a4ed3c47583b47e1e43e07c6e45a51c0c047409ea0d94bbdef784c953755471b56f5929029a5350ce5362607bed4e4d3473104684ffb89834aade7b25daee0d98c9fd3a432f9fa045832aef51e7df3cac815a09493711da6947b75c8855a4dded3dee2b05b44c59c2745853c5bd456603941d0cdc655d5d3b52f1eef4e70db2bf0c4ff08a825ab1b15a64c2e338c64ac05680cb0ecce1d72b7b52db50c711a32748cf83724cb699e7173a8984b3a18341f1d81e5d4765c928d5d9ed47640394b35cdc81c0126ba80bd7cf9c266ce4f1e184faf90ffebbf6b7459f96ea1791c33c4ea8e4ae34034d989991485e21e6b56038f2f5c193f51c0ae1eb059ea31dfda3ebca19d929dd6f4c81eaac505fdfb7a55d69a66ea1ff7709375292504848c54bdbe0e6e79226ab16cb18df8bbcd064a8284002db3fb64ce0bb566bf4b4208edcfdae2d17512adff3a37ae43b033ba903a2fd4acc2affd05d9a0a7819ca0d5851ec76d954b07b825fa17c8fd9923c40648f1fb57f1fe58dfafd78b89321b6f70f7e9b5106140740f7c303b64c136aa56d5415f6008d5b21b33795a05ebfa6213aea5c4af520eb9ff4c08eb27b1aecc61c30e078e388d6fcaf05ae7a96c8c9347ca539ba06a38f1f6b8ad9011ba4f7da13bed82f22b8bff1ae6f04111e1e285e5041f10dc6d9d93420a397464828e023141cc28575b9599bbf7f2b0215a89b79d182aa100d82cae3b4e54ca7651878db766367fa92450ead9f6fd56a471dbc24540fc4d0e4477c175e291488f45e171d21356148be5ef1b1ccff452638d763f723194668330573087be350b89f14f67c926b131b62bb68ccc3a37b44e54fee90b81610b73d778ff1c5f498cef74389c1b7419132575c4485dea4c163b952b366d1b9dd4ba0af64dfcfaf9d245eaabf8c5e7dffaf3708dd97839ae14aec6427429c2211dee06b45551aa30ed486f49973aac649483a2d0a451a5ea87797972dd064c1f1a415510ac8129f3ae3438ef27f4246604e57cf6fa132d33f7ea1907f751f0201ea69a0bc368cdb2b24e7c7f958d8df659a8ff84142bfb932e20846df813bba0eef6a62f47ba0d4a10d40e0feb76cd8a63118567464d165ab982ce605f0a21e85fe3662d645488ab2b8e33980ed3e20c1bb711595254208175fed72189820de7ccbce0cf7cd8e4305d5925596029da0e7511c84ad376cc9fbc00c9dee05915adc9c33b1e5cd0d9e547c32a8d1eae44d961089d9ca3a6d24924f49cd5a2602a19e0b77562c50e174cbf96e9677d91d14f62780dee286f7cf1c8798cdc6cc322e2bc864d8d7c4421720ec8ee39751d36f0f832b8ed4a77b8209adafd05f82d144f2feeeeda41cd414a3a70f78c67d3c0df741cd4cd7196f8439760f7cf42f5a2ffa003ffe01335c4148d514c6cebd5e9140179e88ad7d24b889760f7cf42f5a2ffa003ffe01335c4148d514c6cebd5e9140179e88ad7d24b889760f7cf42f5a2ffa003ffe01335c4148d514c6cebd5e9140179e88ad7d24b8838bf326aee417aabd611b72f46c849ff1a98d949fbe912a36b67333c0a3299c938bf326aee417aabd611b72f46c849ff1a98d949fbe912a36b67333c0a3299c938bf326aee417aabd611b72f46c849ff1a98d949fbe912a36b67333c0a3299c924fda13abe1088aeb81c25553581acd18712d79de0433377bc0e4229cf3d96330510e38d016377370514e5cd93898298ba87280ee6e4612f059768d99c2b93aa24fda13abe1088aeb81c25553581acd18712d79de0433377bc0e4229cf3d9633a3112a296b25e4de2b4629d1dae09cd7a0b30629d0c5dd6106177b1d371f7b202394cabf3b67859b7b212d8799d24c33dea332d4c1f4231151b8506c4fb0fef6a3112a296b25e4de2b4629d1dae09cd7a0b30629d0c5dd6106177b1d371f7b203873882d7b4c02b6ec9af4a01dbdca87095e8e7c3745ae85dea5a662600c22583873882d7b4c02b6ec9af4a01dbdca87095e8e7c3745ae85dea5a662600c22583873882d7b4c02b6ec9af4a01dbdca87095e8e7c3745ae85dea5a662600c22580a42dd67698a72422df8e370de4d471ed6134e151aab3e61b5c756a0250220d10a42dd67698a72422df8e370de4d471ed6134e151aab3e61b5c756a0250220d10a42dd67698a72422df8e370de4d471ed6134e151aab3e61b5c756a0250220d13cddc2625a20e939675d59ca7620ef342d5a63aea9bd75c198000ea24194e1ec3cddc2625a20e939675d59ca7620ef342d5a63aea9bd75c198000ea24194e1ec2077d5850702d20d3e33d21e38ee8296ef3575f097cef8160048b20259f29d307c677a9dc423274aba9a094d34158730e890bca5ecebbf951ad52cd06014e4f7e35b8a9ab83d9f7e876893d3d8a3f4f4fe4da00cf280bd059485ee1be2bc97a84c1f5bcdb50bef8f4438cc0214e56001f240314caa900727ca9b6b44ff7c5a638f58d4a7b7d73769a444e999fbfa276de3fdb2e05ea562726515b45dd63969e81f0f5c7f9e91f37d1c47c142073bfc7928c8753132393bc2097b626ea60a95718f58d4a7b7d73769a444e999fbfa276de3fdb2e05ea562726515b45dd63969e8f480b8bb889ef389cb8f1ac29dfd8fb1b3e562bc0f6028c082834ed5ca324ecef480b8bb889ef389cb8f1ac29dfd8fb1b3e562bc0f6028c082834ed5ca324ecef480b8bb889ef389cb8f1ac29dfd8fb1b3e562bc0f6028c082834ed5ca324ecea097d8386df33eeb906c70ff11208cf67d8b6055c98b0c154db31933fe576cd8a097d8386df33eeb906c70ff11208cf67d8b6055c98b0c154db31933fe576cd8a097d8386df33eeb906c70ff11208cf67d8b6055c98b0c154db31933fe576cd8e2e3dce795bce7a5a6bd7ed958e0c995bb3ac51c6b576fbd29ac59f0b486e977c80ae5ba6cf6ea3c1a7559fa3f81d2d48f040c9506efdf617f586739b83e18b1998cdb4e7cc35c3102b65833706a62857a509d1ba5ad94e41c0357cbb99ebacee5204975a0f0a41b4f246a56c9b537f76b26de57cd3e52f0b7716ca07a73f0d17e58c5350d19436b5f62d9488b3af508305098d6b4e0ac11137002b84aabaf01073bb805b75bc57242498d561f0bc9c1dc76432a672f2bb0e0d63493c46dd3abd635fdd587d4be0ced092257897a0040b209a75f6b2707693b96a8a1fec7bb47f1e3ce096dbea1f6a0f57ead18aafb27e6aaf47e64b748f5fa0af2f2323c99388dae4206dcd0a2817fbdfbbedff5a49a512d3a94fda8a044c57423c6bcdb53fb843c7df8503261a2563ec321bc22fd8adf71f7f8819d6a9dd3af78f6611f5726c59760dd36d4ff3aa4361018636959f2e7ab770069ec4e5608600ae23d8ca2af34916d854f7f04c3189cd7d8e04177bca3c55bf1acdccf88beac501ff24239f4cec90833c2a2225bae3f583d875501ff44f1f78fc6d028a9d72b8cacf0963598f0879a317088b4936a4cb22c9b4722f0585c8fda5b0314af2ec8c980a0eae14a2baf095903d90fdf8f9a4360b82bd4257f77b78fd719f70e65ecd386c3c9b6eadaa4fbd8508b134be77d5c174ad5263820bbb984465b7b1d30c1d6853158831aa807e5c6806c71551dad6320669fe7b665e127659f6afd9bdb7c21876ba2ccf9f0a844d9d1e5c4669e755b239392e79068b80921b315c90fc1a8036e8fe22ef990f6d96513b2655256d9d71c7aa575b5b060322ae7f8e88902ba5bb8af98be3983c2a4b1b941b41e75e3ae622b3bb57890b863c9dfce5da1c520707b883c632383c2a4b1b941b41e75e3ae622b3bb57890b863c9dfce5da1c520707b883c632383c2a4b1b941b41e75e3ae622b3bb57890b863c9dfce5da1c520707b883c6323e9a9515e099adf29539d7a1f43775caa316c13f902054e93cbf0e53f5d77825be9a9515e099adf29539d7a1f43775caa316c13f902054e93cbf0e53f5d77825be9a9515e099adf29539d7a1f43775caa316c13f902054e93cbf0e53f5d77825b8d401f7cf141c6c75ca61281bf92d1738850bac528f65b9bebcefd4ed67de39e41459cea1a597712ad05d5f8904acb6290243db6db69f5d11358dbe3c860e3df709d8ce8cebd4225912ea61dae2b5ac222af7106c657cf19ccf0bf3cbcf0180a226489016155b9f6abe835aab6d164030e16b196963e313c1102c2c1c99d27571a7491173d37523bf021553923654109a4007da9e82fd5223b6e429f86d95a79c801c2e899bf252d04a8c6dd23ca691682683e0d70a0b027884c9c5138f1e12002f18a8cc5caa4e9cc32a0767d767a6b5aa23b521d680413b41ff441ef80dbb634ea74b923190ac71851fc786fa46f388e6e333db582660a121759dd860aeef859542f3d9453708737e22902e0687c94842e81deeb0c1dde3b081ff7ef8ecfdb59542f3d9453708737e22902e0687c94842e81deeb0c1dde3b081ff7ef8ecfdb59542f3d9453708737e22902e0687c94842e81deeb0c1dde3b081ff7ef8ecfdb5e518bf704522adacdefab9f9e935703149b87df3caebb6a2eaead3aec89ec795e518bf704522adacdefab9f9e935703149b87df3caebb6a2eaead3aec89ec795e518bf704522adacdefab9f9e935703149b87df3caebb6a2eaead3aec89ec792637918eb329cfe48f7e4affd56a62c4e309744015b860c6001c04cde6b61c3d2637918eb329cfe48f7e4affd56a62c4e309744015b860c6001c04cde6b61c3d2637918eb329cfe48f7e4affd56a62c4e309744015b860c6001c04cde6b61c3df4f85a99cbc7538177a34072c69d772245f3f9a815f83a00b71c7c9cc85a14e9f4f85a99cbc7538177a34072c69d772245f3f9a815f83a00b71c7c9cc85a14e9f4f85a99cbc7538177a34072c69d772245f3f9a815f83a00b71c7c9cc85a14e96149c7028e48123445a5d573d993d7ce8793043a3fba0ba78c5868353adcfd1c6149c7028e48123445a5d573d993d7ce8793043a3fba0ba78c5868353adcfd1c6149c7028e48123445a5d573d993d7ce8793043a3fba0ba78c5868353adcfd1c5405a1ae5dd5c1eaee5991be9581c4855570ad82e6ab2f77c0678fac9ab69870f5cea967d2665fe23ce55670407b91082fa8a752d43e5266225752b29654b37b5405a1ae5dd5c1eaee5991be9581c4855570ad82e6ab2f77c0678fac9ab6987029f2f6d94fc2ac696ae12059df10430f32fca3b42dd6da2c196cbe956db3a6c429f2f6d94fc2ac696ae12059df10430f32fca3b42dd6da2c196cbe956db3a6c429f2f6d94fc2ac696ae12059df10430f32fca3b42dd6da2c196cbe956db3a6c47aaf8801bcda83a7c6a91298e5ff15fdd4aebc84c10414d25a2ed0fafb87c7337aaf8801bcda83a7c6a91298e5ff15fdd4aebc84c10414d25a2ed0fafb87c7337aaf8801bcda83a7c6a91298e5ff15fdd4aebc84c10414d25a2ed0fafb87c733266256d786df8b37bbb00314495489c93b27c717671dad7d8be1605cb0cd1e4de636f111b4a237d6e8773f50d9490cbbc56a44baff30c510f0b4736bcc822c0b266256d786df8b37bbb00314495489c93b27c717671dad7d8be1605cb0cd1e4dc79f56c05387e633a4374cdc531cae175e1ff5a65928a7206fcfdfbf5b51a033c79f56c05387e633a4374cdc531cae175e1ff5a65928a7206fcfdfbf5b51a033c79f56c05387e633a4374cdc531cae175e1ff5a65928a7206fcfdfbf5b51a033ea404474081e09f3fe203567e5986ff80f6525c516962fe24ff979af8599e8fdea404474081e09f3fe203567e5986ff80f6525c516962fe24ff979af8599e8fdea404474081e09f3fe203567e5986ff80f6525c516962fe24ff979af8599e8fde568f5c05bffd69848678e706c48c2ee3bb70ebb903f8d68ee39cc7136bee53ae568f5c05bffd69848678e706c48c2ee3bb70ebb903f8d68ee39cc7136bee53ae568f5c05bffd69848678e706c48c2ee3bb70ebb903f8d68ee39cc7136bee53a9da73f28f8e6b50b4af95b85ebf12e57bcfdeac6ec6c8e1dcab8561a6d154b949da73f28f8e6b50b4af95b85ebf12e57bcfdeac6ec6c8e1dcab8561a6d154b949da73f28f8e6b50b4af95b85ebf12e57bcfdeac6ec6c8e1dcab8561a6d154b945cc7d2bd146906df0090f3e1d2d40c6efdfc6bc9fc25554d8c210e2043d2c1b25cc7d2bd146906df0090f3e1d2d40c6efdfc6bc9fc25554d8c210e2043d2c1b25cc7d2bd146906df0090f3e1d2d40c6efdfc6bc9fc25554d8c210e2043d2c1b245726b8db241b5d0c6d356abc0f2c65ee6e10ba86bce3f5e8b3f205c40c0b05645726b8db241b5d0c6d356abc0f2c65ee6e10ba86bce3f5e8b3f205c40c0b05645726b8db241b5d0c6d356abc0f2c65ee6e10ba86bce3f5e8b3f205c40c0b0563af6f75f70aec89634431700d45d4d234ab11fcf625bb45dabeca5acae8dc0e43af6f75f70aec89634431700d45d4d234ab11fcf625bb45dabeca5acae8dc0e43af6f75f70aec89634431700d45d4d234ab11fcf625bb45dabeca5acae8dc0e48b18a74713f611edd0ca58459587195ae4f9f2982919e3a6b0144170bad62d978b18a74713f611edd0ca58459587195ae4f9f2982919e3a6b0144170bad62d978b18a74713f611edd0ca58459587195ae4f9f2982919e3a6b0144170bad62d975901aacb49bc83687fb495c012df41ce7eaa580535096bc9cc62b176ba14b02a5901aacb49bc83687fb495c012df41ce7eaa580535096bc9cc62b176ba14b02a5901aacb49bc83687fb495c012df41ce7eaa580535096bc9cc62b176ba14b02a1e20f41994eae80f9f7674f606bc7de139e3a0ea8fa2e066f23e4853925f912a1e20f41994eae80f9f7674f606bc7de139e3a0ea8fa2e066f23e4853925f912a1e20f41994eae80f9f7674f606bc7de139e3a0ea8fa2e066f23e4853925f912aecfffb6bdd2a1feab677e6d531d59840a3a4def63375673aab4fbdeb1429525081f3d4e3ef8dd8ed4bc4df06dd7a7eb7ee47e5d7ede345d04613af7e5e2b2f23ecfffb6bdd2a1feab677e6d531d59840a3a4def63375673aab4fbdeb142952500bbac1b39164ca5e6e26985a32111c79ea9c041477c4037dfd8fce69c7c669710bbac1b39164ca5e6e26985a32111c79ea9c041477c4037dfd8fce69c7c669710bbac1b39164ca5e6e26985a32111c79ea9c041477c4037dfd8fce69c7c669713d99746ea6870677d264bbd882ae5568ab907abcecaaa93f418752c0d615eab93d99746ea6870677d264bbd882ae5568ab907abcecaaa93f418752c0d615eab93d99746ea6870677d264bbd882ae5568ab907abcecaaa93f418752c0d615eab919d3dfa4652172992980605c0e3836e8d06c68365947feb92559b2ccd97f647e19d3dfa4652172992980605c0e3836e8d06c68365947feb92559b2ccd97f647e19d3dfa4652172992980605c0e3836e8d06c68365947feb92559b2ccd97f647e4421e4c868e98a5c7fa328d9c7f0ff252b3f83c6ef591a3591d8e579ed7d8f764421e4c868e98a5c7fa328d9c7f0ff252b3f83c6ef591a3591d8e579ed7d8f764421e4c868e98a5c7fa328d9c7f0ff252b3f83c6ef591a3591d8e579ed7d8f76330c0d83eccdec027d506316378a1b22f9f4f33b0ab3493a8ad65e0a84aead11b2a2c882fb11b1e3c4831604f3703a5da75de075184d71be47dc9ec149a4d6a8330c0d83eccdec027d506316378a1b22f9f4f33b0ab3493a8ad65e0a84aead11e2855cbb69883f912951dac16342c94c6b15dc1ba67141bc3bb5bae2e75126cce2855cbb69883f912951dac16342c94c6b15dc1ba67141bc3bb5bae2e75126cce2855cbb69883f912951dac16342c94c6b15dc1ba67141bc3bb5bae2e75126ccf1ce4f96dfc16b09d9b484b1f8601a828e9370c8f61e5427a8e03b39c68623c6f1ce4f96dfc16b09d9b484b1f8601a828e9370c8f61e5427a8e03b39c68623c6f1ce4f96dfc16b09d9b484b1f8601a828e9370c8f61e5427a8e03b39c68623c68f3bf6de8c1da6afdf280d305567d20b0b694842ebc90b380398a94e6b1bc9cd8f3bf6de8c1da6afdf280d305567d20b0b694842ebc90b380398a94e6b1bc9cd8f3bf6de8c1da6afdf280d305567d20b0b694842ebc90b380398a94e6b1bc9cde27c09d3675bdef80875a33ede27c6dea1cc452611b2a0222519c433e898dc35e27c09d3675bdef80875a33ede27c6dea1cc452611b2a0222519c433e898dc35e27c09d3675bdef80875a33ede27c6dea1cc452611b2a0222519c433e898dc35023889624586b8ea27808dca43a6b0f2c8f9447588581933676cad766e4d06b231ba8bd292bc1c6b8a6cbf3a813011512ae5d056422ce7243c18312151463478023889624586b8ea27808dca43a6b0f2c8f9447588581933676cad766e4d06b25f255ba0c0262fb61a20ad14e6de3ab2a3451f83681693ecc88fc3180fce8b40602137a78c49e33b4584fea9464cc5b648d172af9f78b5293101401c3a7843d75f255ba0c0262fb61a20ad14e6de3ab2a3451f83681693ecc88fc3180fce8b40b174551f931c212edc7cd754700b315993357c1618253b15501ca96a43daa20eb174551f931c212edc7cd754700b315993357c1618253b15501ca96a43daa20eb174551f931c212edc7cd754700b315993357c1618253b15501ca96a43daa20eeccc02e2fda55422bc9a00f3c2ea314e7c943dc2294bd704c9511557ff9091d9eccc02e2fda55422bc9a00f3c2ea314e7c943dc2294bd704c9511557ff9091d9eccc02e2fda55422bc9a00f3c2ea314e7c943dc2294bd704c9511557ff9091d9d70d91608aa306f83b3f6715d5c7b31c1f8a41f6ece82252f59c9825e74be5ce4d397afe2e18f385a844b1828cb82fe1b2459167e1e620677f4b3c02879ccff8d70d91608aa306f83b3f6715d5c7b31c1f8a41f6ece82252f59c9825e74be5ce0eace6806419651e4242dcf2c4204bde89d51706ad09405eb2e71df3585f410d0eace6806419651e4242dcf2c4204bde89d51706ad09405eb2e71df3585f410d0d780542b7619c2a89a1a081e77bd586e8b178e608a7bc95d7cab780a0645535f75556497f49b28269bef9bf8776f605579a96a58d6ff024650cb5f6091acdfff75556497f49b28269bef9bf8776f605579a96a58d6ff024650cb5f6091acdfff75556497f49b28269bef9bf8776f605579a96a58d6ff024650cb5f6091acdffb49ff31750bbc3958922c33319e3fd9ebf902ee287adea7b780922c45b3e5dbcb49ff31750bbc3958922c33319e3fd9ebf902ee287adea7b780922c45b3e5dbcb49ff31750bbc3958922c33319e3fd9ebf902ee287adea7b780922c45b3e5dbc4a246708ed0c569c9b30937e2520e2ed69f05230ce6cd37c68606f568b24f6684a246708ed0c569c9b30937e2520e2ed69f05230ce6cd37c68606f568b24f6684a246708ed0c569c9b30937e2520e2ed69f05230ce6cd37c68606f568b24f668edb41c441d7c1347fe511ddd25bce17d631a880a50ed49772658942275c705caedb41c441d7c1347fe511ddd25bce17d631a880a50ed49772658942275c705caedb41c441d7c1347fe511ddd25bce17d631a880a50ed49772658942275c705cad5100332cbb3ca58b6175db28370326f66e54e1792c91c5dc9bbc9450faee648d5100332cbb3ca58b6175db28370326f66e54e1792c91c5dc9bbc9450faee648d5100332cbb3ca58b6175db28370326f66e54e1792c91c5dc9bbc9450faee64837351a1d3ef6b8af51a68f35ac70d25c56a2e94681b8744b59419cc8e7fda4fc37351a1d3ef6b8af51a68f35ac70d25c56a2e94681b8744b59419cc8e7fda4fc37351a1d3ef6b8af51a68f35ac70d25c56a2e94681b8744b59419cc8e7fda4fcb7e121e346bafb5f008db72ae3db08b15fea33a8be2039c9053cf1a5aace04f9b7e121e346bafb5f008db72ae3db08b15fea33a8be2039c9053cf1a5aace04f9b7e121e346bafb5f008db72ae3db08b15fea33a8be2039c9053cf1a5aace04f93d382da84bbd700321cf4647cfec591135980182ca9ddd87cf3aaa9c810906613d382da84bbd700321cf4647cfec591135980182ca9ddd87cf3aaa9c810906613d382da84bbd700321cf4647cfec591135980182ca9ddd87cf3aaa9c81090661f18beb7b5c4bdfc419f5e53f14ae77a8646810c7cc31c11219a710c772836e49f18beb7b5c4bdfc419f5e53f14ae77a8646810c7cc31c11219a710c772836e49f18beb7b5c4bdfc419f5e53f14ae77a8646810c7cc31c11219a710c772836e49a0101e550f52d502fde37e44db65e01c81c2798b682827973b3c6668ed75fcf8a0101e550f52d502fde37e44db65e01c81c2798b682827973b3c6668ed75fcf8a0101e550f52d502fde37e44db65e01c81c2798b682827973b3c6668ed75fcf8a43a2d517e8c1e8633b82ae6c86cd7264d8f05a3f836c44528a4c8f48066f6eea43a2d517e8c1e8633b82ae6c86cd7264d8f05a3f836c44528a4c8f48066f6eea43a2d517e8c1e8633b82ae6c86cd7264d8f05a3f836c44528a4c8f48066f6eeb1ef49913eb9c7ea35aeae167a599d505eb6119546f332d1c75952cf591bdbc0b1ef49913eb9c7ea35aeae167a599d505eb6119546f332d1c75952cf591bdbc0b1ef49913eb9c7ea35aeae167a599d505eb6119546f332d1c75952cf591bdbc0e600403918c34343614ed7a2c5b76b9b200389ed81d1dc30604b9563ed47e54ce600403918c34343614ed7a2c5b76b9b200389ed81d1dc30604b9563ed47e54ce600403918c34343614ed7a2c5b76b9b200389ed81d1dc30604b9563ed47e54cf130b7f2e048fd72e01ff0848b03329b291cb40d6c7232991404df6ac554b913f130b7f2e048fd72e01ff0848b03329b291cb40d6c7232991404df6ac554b913f130b7f2e048fd72e01ff0848b03329b291cb40d6c7232991404df6ac554b913803c692705a88b92cbe877ca929f32b2c7d36160781967f8163e8c8567ef22d9549dcb6dfdf4bff069f7823c09485aa81a5d2735d8ab49a1ddc36738b9b48e3a803c692705a88b92cbe877ca929f32b2c7d36160781967f8163e8c8567ef22d93a7d9b466df4cb8e519dfb6f2c0c20272b89b2672a32029a587e6a0483b2b61e3a7d9b466df4cb8e519dfb6f2c0c20272b89b2672a32029a587e6a0483b2b61e3a7d9b466df4cb8e519dfb6f2c0c20272b89b2672a32029a587e6a0483b2b61e688c9edcfc60cfc6929b45c297f5e485f24042bd3fa1ff0067979d616837159e688c9edcfc60cfc6929b45c297f5e485f24042bd3fa1ff0067979d616837159e688c9edcfc60cfc6929b45c297f5e485f24042bd3fa1ff0067979d616837159ecdfe45a5f84cfbbd366b0ea43024c571f9db0530d69f3fb53d3a08813345ec1dcdfe45a5f84cfbbd366b0ea43024c571f9db0530d69f3fb53d3a08813345ec1dcdfe45a5f84cfbbd366b0ea43024c571f9db0530d69f3fb53d3a08813345ec1da3433340dc3c9e058b312e079007e9475c72d4bf3e6fc1a2c1b058db8f289b51d8ac27a86f8a8f64d1b152635e6ecd0469ddbf5dadd29870a0f969538ec5cbbcff1bd2ee0d3e3598b97b4462892ff7c0fc1c5d74047682cc705ddbb532eb511cd03945aa6603b60a6de3cb72ae9426554e525246e650e552e8dc6a7859382ff4293f44618c6478ebde19142b4b326f88d9e80337492716ca76e9818072e0a24386e6ee8041d61295ce806a40091edd4ed7ba21a56cb47c4854e2fdb22275866709236782d5a0add20328f237ec3c077100029d197aebd224fe4f740c5a8ca6c217eb1541899cfedd2fe54f646e861219d3912f01476bc30f25bd517d8c8b0e43ba98c912a7f136a738263f52865b90340cf416f059c67f409aafc5069a6237f5edf8b5f5af764f9af568c99077e3525a119c73fab5678a99c6dfac663a987d6c1d3c992a333fe7e072bdbd9b904ddf152525b7f2088a78e457f5d44704da4610ff96fa7fb8cc3e954b1cb6dbff3c655d187fba2526ef3140978f6894bc7683a290df922b1ebfa25185ccf01b3d22b82365986e4f45cae5499700e7ce54a4f69576ca89b1f53e9174c99f1230ea2a1c52607565c7eff5a612a00e0fc117dde11106756b01386113d03607575da952edf4a8e525564cd2d2b888cb997f4e868ef8d04ea0d55ac445635b331a4fccef38e9424e788495c360fe1da317c4f7b6a096b41f2fdd13b3f4d8548a2f0b7e5d561c2e49f86e4df8107acb6a6b2ef421460f81f5eb7626bacfc2218bcc300177c52f42f8f0a93bef65869f54088990534b7cc66cb5a68165fd7e158d573adf12c2672d086d4b4e15515aaba654a45855f7c41a23fe2e684f4fca33991b0b65e02a5959d045b59906bf3e2557a7f777f1def3dc891b5d617d2a261527acfc1749ff8c402601f8bdc90f486ab6bfed45a0371f17ebefa675796e8d7fb222955be13e8f1f430ec9f33117dc1fce6809376f0807f2694dc3211773272d31fdd1f0c27bf31e09adf9a7fd9ac42e4264e5bc26b3b381226b393da43fbc6288392bed91965db17f04fc537eb3413484523d24f20cff8f1fc4ef9cfa4ad7dedb5560aa6437d210f15bdd6fe1b548358dae2177e468664a5300a9735e7c46fc3f5b7c8f972236e37ab1d55bfdd54be704da15598334ecfc62b6913a5f53038c69fdcefc7b7f6b5adba12de9f92fb094590167c377e945cf84dd42a417393dcea25acac17b11bd64a3e29f427faeb2808548a75c9d5a44965c65064bd5d17c459fcc6d354101c50c6d1b616f6a9b304f9c5c9d6c9896a8573db42eaf1df8fd5cac67468ff275bedb2d87e085bef8c80cb6dea16764a698dac8e7f56da15fa162371b43c851d70844922c97c6d9908f5ad0fc3586aa4cd8a82abf64174a8a572271a3e85d7cf31317aff8036928d7503ee5c786ffbcd1fc6f3786d57a7ae87dd32eac1acfb3be5ecf03d75f5645690954271d3d33cba1219a5e19252d2b219b0caba3b31df3a33f3d7babf4a563f562929ace7c3b99c54c0368da32f76a4c106cbeba3c92456947fbc68d1b012bc3762db1b5f9399e7be66b83ffa7aabe4a8a0b3fe98cbc1f6aaa31253b24f8db4e58304fdccf26ce85a5a89661e8555d05531985619fa54a16eccda0e15e50bc11dcc6ee9df9b3c590cdc2f3c65d439622b1f44ba6cb54a14bfb9bb9fec4a1ca47a930f067c307f32481a1f30fe454d29ec7d61e9aff7c02bca3072ab2dede632a98e0d68985b025d4022e9c77b4c902b5c643a427591509b6fc30159101affa9ed68093ef6f506e1da862f483a0e87a1ad792dda15a5dd776c04aa372fe041355d94e3a7c550e15925576c576c3fab33e040af706bfa799e42fd67fd82457af7627ebcf642a42b83b54aa5049f70be6b5b8a82a7f059f3edbf3a7a0066ade3ba7b03d85828601c5ddb995a245420d9e20c76a8278426bffa63062a73de8257629a0b4f419bbc3fe0b53e3bb0e33bddef4ffea647f1ce70a030110d3a0fd8202329f474a2e98948c06c60c15a8e79b9fe5edfb0df4be28827dc628a32a9dc948297e16dbf183583bd45300824bd42f77ed83bfb5074a7aec03ecc0a21d7f378a4294d8f773f647189e97ee04846c7ef611bdf1c21cf9ac9ccf44fe55f4757c32db0c18ff0deeb58d6f6ec7d463aa0ee94baa8aab42a1e7c53a9b5547110fffd1a85c30acc0a952bcb21605490ad5f19e2919a1dedda2a7ddb4a77389cf78f56293c97fc1343724690ac279da272056003b08bd1a60a2f4e2063c0e74c7c94fca024c3046bcd841c6a9908d89ba7707fec4fc69771fc2276cda10c957f4d6a1a504ebd2dcbb536860c2c4816456542c70eb5323ae6ff7b2b7b3b80f1bc7e671e8e233c04e5d40fc9b37a0fd138c0755e738772a0c09c6f31a1f55ce36aba4d6e0f950bfc3602f6d6e9725d95557723276d8712ecb60c7f8893d3d490497bac75a3d8eac37baacce9be16ec5823538909c6e7b9d012ef454a911212af57cd6ab3bd645a24360cd851c3520dd63eac74cf61b6190792cb5fed61851529991d84859b1a9694403fffa265af1dd63eac74cf61b6190792cb5fed61851529991d84859b1a9694403fffa265af1dd63eac74cf61b6190792cb5fed61851529991d84859b1a9694403fffa265af1bd7ddb04d1c403884b0755f6bb95723d844d022d317320223d61eef8f0e3ab15bd7ddb04d1c403884b0755f6bb95723d844d022d317320223d61eef8f0e3ab15bd7ddb04d1c403884b0755f6bb95723d844d022d317320223d61eef8f0e3ab1595bdb9f0af858b2c7e573512a8bfd95e67cce25a19c9c81e40294aa7571604d595bdb9f0af858b2c7e573512a8bfd95e67cce25a19c9c81e40294aa7571604d595bdb9f0af858b2c7e573512a8bfd95e67cce25a19c9c81e40294aa7571604d5d3a1c53750f9dee25b329ac437abd1c2b9e29c4550bdcd7bcda7528a39cc0107d3a1c53750f9dee25b329ac437abd1c2b9e29c4550bdcd7bcda7528a39cc0107d3a1c53750f9dee25b329ac437abd1c2b9e29c4550bdcd7bcda7528a39cc01077e17fad540793d795b2b929bea1a8824ae76f7bb981a13b4d894c245283b4d117e17fad540793d795b2b929bea1a8824ae76f7bb981a13b4d894c245283b4d117e17fad540793d795b2b929bea1a8824ae76f7bb981a13b4d894c245283b4d11b7f5e7b0da4ee72ad65d0c6ef765037c7a26518b1558f32e7b06ecc1a26490d543c54096c3a8f83e1c3461f6fbbb110ed26a913f8cfeec5ed117257cd776f464d0db5b8fc6e45a2139721b806f1e01199c7754c68d262c2264a8e333791fa90b9af63db46e8b76f28aaa4abb86b3dbc35c82e31f94eafeea5784a7669cc429821274341e8132110bb9797f33f733800277e6f1ac8c690ba9df6385944236aca19702c041204212de37a219d66f3dfd059317585ec60367bd9884d93bb80f2a3829068da4967199248db915410aa0c4f2f69c1b67f56825d0a9e4805b0d388379e7d44bd233a16f72c15c6d46146b3d8cb35c812d884f3ae76afb6dfcbced8b000e2edb35637827cd6e8a8e52091e405e27eb9daf16c9242026eed5b11515911d45eb597de2fd5d4f55d213a9b3c6df7f21ef9413339b9a2ef4cf93dae169cbb3b4548949a9076491e2082d3346c2a77b2e6471b937a25ae6baea9186fd2a6ba0e5787c11287548c8f85fdd46d2b77803bc81423c3c16ebbe5cfcd130788466f8b3a504b832b73a37f942641f2d79fdfc611685f7d679bc4dcf3bb6b11b5cbab715578b602865dfa5c80baa64006d64c5875765aab457d5b4bedd73a5e8436d73e4c1dc6d473bc273c1a33868026b3569fa6d3c73b59fbc7a8faa6f580ce5a0265e976f36a57bbffaa8a31fe93489579fd9b149ce23c1fd3e742e1351a38ceac408a98870a4de235dc87cf9a4875307b2e1908b3e153ec2a72405161bd20f06b0a7698144b7d3b83270a71811c926753a237f9aad898fe02d04f821310e256a384e5f4257e7b6c52a66ff25e456a2f00d0ae1101b3b7adcf2909a339ee357dcb33964932aed80f19551e3bf5593d2b20bdb8c01d55e18860874ab320f4c10e06ce37c093f02eb0ce60734298eff3a0c8604af7051116ce2f3b6a5326bf6d2e8e34dbf5f923ab31c41aea638bc3d85a83ce2865a59a31602b301875537ea9eb8c75eed467627fd3c0b899d57c79c6adb8469fa2922b25acea7fc88d9f580b170081bf67010debfe55f9555e9ff407a920a079a4a29bc662b7ea272e1af3b1c3fac8962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcfbeb58d66620ec3226a9419eb074593bbadab24bb334330e3fe7951abac9b30cfbeb58d66620ec3226a9419eb074593bbadab24bb334330e3fe7951abac9b30cfbeb58d66620ec3226a9419eb074593bbadab24bb334330e3fe7951abac9b3079a3214f09251cc3783516acfc2be74a0c01758516808ac230cb3652115f575979a3214f09251cc3783516acfc2be74a0c01758516808ac230cb3652115f575979a3214f09251cc3783516acfc2be74a0c01758516808ac230cb3652115f57594a36e4c58fdbce90e04fb22961a6265b7444111dc6c5ac92c369243af9575d3f907ff802b47b253ad1dff6b753889b7a5abe10bbfd9b3444de80f10d5138f9484a36e4c58fdbce90e04fb22961a6265b7444111dc6c5ac92c369243af9575d3f11d46e0d8f9d10f6c69052b15e8d66a065629d7d961488ce25d79b51c6fc971fbf5b0c3840931c91932fba0ba9021eb830de26c913206fe25c0afc0ff152f71a11d46e0d8f9d10f6c69052b15e8d66a065629d7d961488ce25d79b51c6fc971fff14a3c44d27aca48a3f03477c0b5ba3cbccce93e9cc44a1b406b43e811bd4a908252a0d98b65dab314740ccb1b0a0c21467f3d9d309771ef87ec72566c64295ff14a3c44d27aca48a3f03477c0b5ba3cbccce93e9cc44a1b406b43e811bd4a9480954af124eafd48463448cff8f88e629e5142327b6486ed2db5ca8c1950ba4480954af124eafd48463448cff8f88e629e5142327b6486ed2db5ca8c1950ba4480954af124eafd48463448cff8f88e629e5142327b6486ed2db5ca8c1950ba42e9d6026797dea9cf8cb80bf72b05cf8d1bc165727cc6ed00c85d102aa03159961c59b7620009f6d36db97eb6075f0eb195d94bcb231e44e2613dd79b1a034192e9d6026797dea9cf8cb80bf72b05cf8d1bc165727cc6ed00c85d102aa0315999049d5206687a42d902ef4c53c19978ce35c301f31d2936c40adf945c35c39a1f7faaaf809c2546a3e701908a077f82a02a719442c0e8f5b52854d84f298c7bd9049d5206687a42d902ef4c53c19978ce35c301f31d2936c40adf945c35c39a1450322e4f09ad46a0c7c84e5d53211188cc2b14b44cad8212fac70e3fa99cb8b2214b216c4253c5094c893319c036a2209e278ea26edd025398c017e5dbcb03f450322e4f09ad46a0c7c84e5d53211188cc2b14b44cad8212fac70e3fa99cb8b755a3d6be82a7062d790c038c973390314b03443174c198d2545fd63ccac9c1ce9738f6396d6e73d8fa259dc01a349718c6291d41dddcc93ece56c863353aab20d98c41a97e223ff065f8560f2120345da9277a89e83f71f103805266611c057313eb7e945187e42ecbacd28b55e00b7a859b9a2fb5cbcffb01ce58bf51eedb5c86fb360619e4114fd71ac6000909d6da367e11bdb9fd77ee83769f17079066db220bb27e2a4395dc131ccd7bf9fbad0f3de0bde4138f724042b339fcb05ec51f6baa061dcfdc8c82f1edf4a1a3293c2180d4fd51619ec83f121ee2461e7a1e818c36b3fe82930c2519a9da6e8fde3093187af0cdf0e7ef9966f42362634452b219558b7c32b9b1ea03512cd638cab4d59d049428abf6318b07eb33f1ba3b0c3f0c95d104cb12cc84a2d304a21e35c6e9a661ee8a31452529d3865cbd75f3a089ca124139afe89cc8eb7a6c3bb2abd85d8abdbb90f1b696dcfb09b305ff88e1dd8eb10ff8837b339686ae5aa2e0072a9de6abddf691b87dd415b56f395d8852bfb51a69437e4640cc57f0fdd48f4f2110d71d693680018ba7b1789939aa398eed5c6bc726d93654f868f5c2dfcec291a32be735409e0734a0d554a4ea3c2432adbba3c544a8e99413b0be95979a74c1a42b8a3bf4033fa57572a8290a61ef98d6afc940e3a4f07e70d4e0b8a7c53b59188a3773e7e3608200576b8a0c423fae44874cb28a11f6bf5d88ed65a99601a1876f5421a850ac29747004afdff6619b12663cf0e8aa927f968275690aa4fcc7d1d535d33a3d92b8dc6276a7dc9093f91a4bdf21a420a6382596fb986ab85e08b76f3a1da466b344cdb7ff46717d1d62a7f5166a811cc1399a6489dad2a750fa1e95ed7b4e361928a225131c5909f33559016c612fee8b9a2162b8d6de84a10da9d4f898021a3b41299c8b2b476a246807f5166a811cc1399a6489dad2a750fa1e95ed7b4e361928a225131c5909f3355e56825f4b1aad7b9e71b8503d46268ee2a7984f8f6fd3b55854d6090165c3660e56825f4b1aad7b9e71b8503d46268ee2a7984f8f6fd3b55854d6090165c3660e56825f4b1aad7b9e71b8503d46268ee2a7984f8f6fd3b55854d6090165c3660c9ac89bd2c5c69ab8f3e900653336e41af4a224eb4d47aebe617386ad6b6d590c9ac89bd2c5c69ab8f3e900653336e41af4a224eb4d47aebe617386ad6b6d590c9ac89bd2c5c69ab8f3e900653336e41af4a224eb4d47aebe617386ad6b6d590c3ad67a1e59ec4b242a22c6dce755bc9d90b526b2b2aaf2472b5136e531f74c2c3ad67a1e59ec4b242a22c6dce755bc9d90b526b2b2aaf2472b5136e531f74c2c3ad67a1e59ec4b242a22c6dce755bc9d90b526b2b2aaf2472b5136e531f74c217a126f28908c4bc2d44b9721277f5774bcd0e320e772d748ebd0ead53a1eac217a126f28908c4bc2d44b9721277f5774bcd0e320e772d748ebd0ead53a1eac217a126f28908c4bc2d44b9721277f5774bcd0e320e772d748ebd0ead53a1eac2e1496f216cd89e02e45bedfebd9f7ca46cfa4643882f945d121b92f2f3430187e1496f216cd89e02e45bedfebd9f7ca46cfa4643882f945d121b92f2f3430187e1496f216cd89e02e45bedfebd9f7ca46cfa4643882f945d121b92f2f343018751f1901cf043c01995c7fc165f964bf79f9ad554b97511300a8c2262e8c39a8551f1901cf043c01995c7fc165f964bf79f9ad554b97511300a8c2262e8c39a8551f1901cf043c01995c7fc165f964bf79f9ad554b97511300a8c2262e8c39a859e6a0e42a595ea3a9e2524324af129b0c7d88df80c520d7e9d604401f395219bbf87afdef09b7ffa948074bc3d01928c5300bace8e94053b1b0242d0f53d08d7ff8c34aba49d8dac3cbed0391331ef385da7809aedd110abd294f4100f978d7e12cbb4e2e61d8f842f4fb0caa87a9f4308884b4c16d0cf4cb8783fc78d05f5c912cbb4e2e61d8f842f4fb0caa87a9f4308884b4c16d0cf4cb8783fc78d05f5c912cbb4e2e61d8f842f4fb0caa87a9f4308884b4c16d0cf4cb8783fc78d05f5c900a78974b8dcc47ba73db77abe75346afdcdf9156882e0c96f69cff4d18cb83effd78fc16b6a5f8fbe5b006ae6c1a2d4d45f4ea14110208020ee9a2eed54c54000a78974b8dcc47ba73db77abe75346afdcdf9156882e0c96f69cff4d18cb83edbc511f09d0ef05ceaed75d4cdbd9d43aaae4da845a7ef673b2817633ec75777d5429613818c17993aaf8438d8193cc17e27d88130b3978214945778f223023edbc511f09d0ef05ceaed75d4cdbd9d43aaae4da845a7ef673b2817633ec75777872c706d94f55b15728be7ea38294910c396f19f9b99c3381298535fd97093c5999ddc880ca960c2a70eeffcea6700f3c4ba264e67015ad8e265875717f054cb872c706d94f55b15728be7ea38294910c396f19f9b99c3381298535fd97093c54ac0b0144089ba6ba42b74cd8c1ecb833df6f44ac96bc2e66fb8d306e63a6abf4ac0b0144089ba6ba42b74cd8c1ecb833df6f44ac96bc2e66fb8d306e63a6abf4ac0b0144089ba6ba42b74cd8c1ecb833df6f44ac96bc2e66fb8d306e63a6abfef111557dfd6ba4e782c539b25c608cf0561c061b59d0f86628cbe2422f71bdcef111557dfd6ba4e782c539b25c608cf0561c061b59d0f86628cbe2422f71bdcef111557dfd6ba4e782c539b25c608cf0561c061b59d0f86628cbe2422f71bdcee3db455cef1bd157e5bbdf24f671258f71fa10e507fae897dd059e00a57697cee3db455cef1bd157e5bbdf24f671258f71fa10e507fae897dd059e00a57697cee3db455cef1bd157e5bbdf24f671258f71fa10e507fae897dd059e00a57697c8cebd37f07053d56d22bc4da61909d3802a434562af3ba85101273c93c9225fe8cebd37f07053d56d22bc4da61909d3802a434562af3ba85101273c93c9225fe8cebd37f07053d56d22bc4da61909d3802a434562af3ba85101273c93c9225feeaee6c11f3576fc9cb41639d9b7a0769dbf83631edda47511dbdd862c2ab85afeaee6c11f3576fc9cb41639d9b7a0769dbf83631edda47511dbdd862c2ab85afeaee6c11f3576fc9cb41639d9b7a0769dbf83631edda47511dbdd862c2ab85afc15a3a17f6b65e9c51c58ed3a79d12bc517f867321ed118e5dc7b5c3a1ed7d4b05d5e533f5e590d9ee2c7692d26dc87ccbf381f4831cca3362baf596691a55bbe34151ed8e0c5f0ea996f1128834b15f41f5e2081a41dca2ba7f2f307c331f49a8a24bcd720323185063761b53731cd6dcc5583fc0fd7ffd972137f345b1d738845bca9a59de1959c1501cbc1f2c90fa9ab73a38653175fe94073c012fa555b10c4e8456a424135a4dda4829050de77b05c7fb56ef716841bdfe1371af2eb6958358092b45c8631df6466a2e4dc23278263b2dd2ba5765e99caba47c304dd3b5357bf940a54f04d5f7b335a0a6697a1e9dda14eb2f1dbc590beb0fe98ed65f023ee9d9ab704a1f7e0ce35bb832fe7189528cb5873d1f30285d3520bc48f66eb831b6aa0a2168c412559b6c9667846d84de86554af573a1a9dfa5dc753de3754a7ac917c8e4309742c3571b8c3c8d97361ab6b838f7cd5bda498a410d9d6d9fc7449711060a7ec45e0a4bfbd5d497d069676cbf31f77f3385d3e166795e79deaadefa4275a55f7778d400fcbf0628822dcae95d8239da065ba8e40049daaa32e46538070d2455c077280a8b537f23e3e3a7362074ba2630567d7f951f11fa113d81a2f5fdaf0a506502fd4cac0ccc0c5e7ccc02330150b75d3d7fd4bde0e3c95e8f1c4f13d767b8a4d55fe9a377c3ff20cfd7e77b9b9da12e1df9772c1f685f27fbb4ae9e31ddd26e43b7c051041bb3d9d6bebd418a858da67268920bc672afb9f647152e43fe5e381c71ccd9da9bbd843a854761f8fe60bc6c17b7c0e24e0106f5b4867e0b9c0357e14f488bb45585eccdf47f62b7ff914a0fae73f48cc307c8a5a8f44410fb1085689eaad5a24914e940b0488e0ff2cc3191b972e625522a9eaa9e77f6297e6007745040e9b6a2c2be3880e25206594582e0cd09ef482ee27a395794cdc34731bce3ea1ff032b1c8bcbc275779325999641c052b771a28d8f94367f6ef8398e92de819ccd8e4938c819c2b24aa08f06cdcc0266bb0ec37eb08cd0dcfaeb8dc99c4ea418b80bf6c13d4aea912fc699aa3b30ddaf938bdb62e04b67ede3fedf08cc4fd20c2cccdea46f2791f95e0ab991d8cf6c7c66ec81e23c3b6cbf713954d89eb8389b63343d6b8fd261dc6cb652a0aaf93be5d801ed0b24e46c391e25d3f2fa622d5781a27553176648270768435295a235a760bf725752f3d33f36e79c3406c72aeac084df89c84d522fc9953ec3fbb31e8c90f53f87b21c82275d275dc73870a4c8bc4962c1462cb477c6a6323788c591003ab421973d4fe19e3503f22da78a9920c4831a4fa121410ff76430dc10fdd81144ddbdddb014398e2153afe488f1d629b4192a2da8a743b10ed55f3e26ed662bd9e2718d789c9d406692ba3573699a2e1f58713cc2e5a65792df472217aaaf8402dd0c29356b41254e201645eeca3d0c9ca84ba7726c8c21b3796c04cbb9e20d8a2b51ee894cc35e6cc84c00eb7d5e2bdf9ceb8977eb94c2bcc1630ea93c6c4b82381406dadf1efcd32a4b669ed5eed317926a11646c05922fc49b815568ef2c3858d5bec273e4d25cc162e76fd6c5cc50ba26dfc4e71aedbc34f08ac850efbf934ab3c7ab179e4cb253305c42e22d5631bed2d57e795a70d0356d0c04e3ac395ab73051c5298b9ee99d099269d838a12b6fa3b0af725565418ec1fedd8a522acccc0df88de0107d3183911047ec758a69bec7e24edba03838c00331c5004208d850bd577475b3f5e5eaab13ca96387dd517a8864c25fcbbbc0dffd0f8580f07b30ec8e1dffd59f6e422b9ad6163924bc1fb70ae8b697a11282d5b32b02708b40cb9a7d82eef95478516949ab993d14634219a6f62a4470f46ccbdf434d9a2c5526fb0263e9e2305d3cd3097ff4fa587d2c2becfeb700d3d340eef0f3b701ff78b0f0ec898c045797ff45987136a2a5712f8f8310710e0944e4b4547bab2dc99933edd1bc9a67f41bd0b0ac605c5431ad8c658c0c8e3c5d766eac8fbb81d51132f9fb818bfcb98e4e0c90037146f2b5d3cbb9e43cb419f36385cfd7a4567fd509ef00ec53cbd92e941be30507b7dd5976f4223f9d01998f1e73262e900e0ed002b0f53dc4b7f43de32a9f3ec07815d8459ad8919b9a770d34122836da36401bbafbbd4acf8e410c26b109ce9d32d35c0e4bc6dc92a7579910ce706939a056323de5801a7a87abcfa16526dd3d1f31954f88813928de507f4bf2911f30d08ff756d8b46baee54fce1d82a5a062eaff3ba90478641f671ce5da6f6ba7bdf49029df9eefca2f870171178ae901e108f56305aff7e36268a690bc49933a24b1aaa587fda00f4d3b7151dc8ebdca81804c959266b14122bf74e62cab773dd8e2f37b379aac1052663c27b4cdc7089ddb410ddb81a5ccf42662972e07dfc44fc429d3056af6dd128e480ac039362a15a7738ba76dffe807fd03fa29f7edaa8eb21ca0057c44a1ee8ca7f21a2c5226b7d35ccac23780ae535921353b54bf7d7e61f1ad9b021167ba6c10e37c432b4b93a7d257fbb890636fa7f6f376321cca47d5919ea5b6adc75d3858ba5f2c20d320c3f5390ff9778e03d341957bd37c5d3cf0c3327976979f2e01f19a80d1c7d5d758dcea82276e73150454212a5136b19c5fc2727786132ddafdd87f8d1367c93897805ee274c0e53ddbb0a46525aadb7dd32756fb85ad74e8b0fd3864c058e3cddf5ce304faa4f47e6aa8b70fe1672836fd8ed7d1681821800f884528c663a2c5bc5977c54655699389e6d31420d0e79ac6fccac835ee0b167e3636198f2e61362121c9f7adfbde802883c99e6b23977e4e0bbbbd042b307421bb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a4154e018785efc750bbbafe910f4b4e4240995b5a2143a4341dc5c1bb73151c1d8e7410c3054ab07bf15658aa4d8caf4a883ef4441e9b2a0a3c776bdc99a970a99d007b3dc972d03fed43d403f07a303494ecfc3306287e471b87f07ea8e42dba2634ef4c9f17dcb8b84e6c11722bf48330e5bfa2f75422ace218d8352ee2bee2816b2c0711911b716c53ce311f56190f74e592edaf42dc276f7aa250fa1649c2f5cecc4fd18a445fca6a5e3e5402102cdde911e381ec55e2f4a3f0a2425547a581d1d8fff411b109ae7a02cc074cc1392f385c99d2c2e7d0c6252f365bc807f4eb6a795aceb53425500551ddbd3160799943eb8cdad5b7e882ec09446df9f185c6b4ab8db568af6ff82d7bacb41d6765153d60e9fafbccac971c411ddd9ba54d1e874fa2df6cd0be511afe021f9c6b074b387fa3e7072900f83a91720fdb1f55ec8783e99ec908c52a03cd279b3236216eb55c26b361f96408b19c4421eeede64762434228595cfb8c6bbdf65f78a8d2a48155722ade60a75782a245743406c070295d103086b772634a1767922659693ae08f5b593802d4566ee075e82e138f9e80a66b13de5129999117dc5867933517785491d38229789390104bdcfd8874ac31b641ece27ef5caa73c4a6f1249734903328b31c9dad37b2aba542e467a663568e6bb341e2069284820cfb188f57bd0935df47d6a26b96428903e074423a267b5df5d269e99c4bd13ca2bf70d9ea39b5244003cea67774d452b000606c7a159126cbe74c427bdd9c0d2a0d5760ef8aff7edb4c810c04c6ebdb778e87e8f41760cb47a03f3306cd9880992582f5b70f3765c5330af83c6b180b5cc41330263382c13ab53bf8fd3eab8669d570a29271a736cd9c25430432c51b511386a19d082714d49094b8a06d19d0ef4442adfd69a860b8c6da732aa0b7d8d1a0989686a927bccc3b318baea7115511e8357f8cf3101ebff2c0080bd8fa679cd3f55408c7f3c9a0db1c3a777801e4b3d0810bdacccf16d44d833d857a1867a1f2dfdd3eaa8fef53519b55ded23ff3e262a8d23c0a14bd4cb25c93efe08b80b2ac73f766d15b61e18f565a58637c5d07ea3bf4879ab0a9756638a114d1943e24349e8a792f638acf8138cdb3ea6e3c7b28aa2a2293f1c05964e5cb7a8eac8aff0b1aa33fda1d7b1fa4bdae0354b9981db98001b2ad7ab83894c1701a83db2a434d0036cebf36f78329dcabcbb80ba4fa1ca831a197083fd90be7d5d528f185fdbd7c41639b23a630c5927dac335385b8b28613d021f8f5593cf80e3219d022afbb3ba0d783124d19d960fe337eeb737b8edb5609401c4ff64c34df50561a2cfe1919e8a0230849e963929c1e9a081b55746cbb5e4c5065598ebb9ac7954b1541282b5aa7f96306bea9ee7ef1d3edfd9b34c996a658f3b40cb95f02060b0f3fc69084636255b8ec4fffeb7212cfaf1750218eae57437fb004ec4dbbb0f0cdcb031ea1c6a48c4fa1441be4fd4d827928c7bec285abde82a21189c1a9267d354050a11b1ef13921fb7becab1311a7a0379940570e18009d6d406d92ef8bb0b4c7ccbd3c4c53acf2b32008dc2bce73c8b8c018228dd4763f4bf1ab7e87d6736fbf82b0397e6d0acde9840a96513fde1f6a2c11837d90ba19fe2b4caedf993851a3770614f5550e8e0d8cab767bd322e120df4ff4a67ee4f074bdd9b98b0d12f072648ef649eb3b200a550d58a073cc57f23fb9809493ee3e686911f61747e39699760c5a9514837ad029a6a6f3a7d203f53ba39e126ff3c8147a6dc9026831b857cd905acc464b8b1705a63c0947192afcb8f3cba1b6b02819eb69e9fbea82e337bcc22022bf3319d0b820d8caef19fbfc0a7e6a6e6abf55bdfd1aad363633393ce6b2eaf6f87a33570bffb7715bfa56fbe4ec47f8d6e0cff87c599853116b23a55702051e6a0b2c89c3df492836f471542874c6129f698cf5bd54a3e3b9967c99645fd12105d41f97507bb3ab184f143fe99ca1f9cb0b100ecac6bb7b41eed44b65641910935f5bf09347b7f7e4366fd1fb465d134da1e844d9cc631e93455cec81fa2bb942fac796a3871bd815bf0dcf8b21c027565ee238eb219a44411bbf91b49a23e5817743c2d725930913adc5e49212632ab1abdda0e3e95af12fe1f00fcf8500287c1d1f58e22b1557abac2de1d8e0876dda4a61ae5bfed32c6569afd55153094cb01ecf607f2b991375c4ba2881cbe84abaaf08711b99f2284abf0595cb3c2e1890e19b2cce72fa8c7a7e688a79d55e15ea4914078c81058b0289ceb80cd5b69821c97afd561440ee867dd2b557e759f023df84319ffcca7db62892e993c42a5cabc17afd561440ee867dd2b557e759f023df84319ffcca7db62892e993c42a5cabc17afd561440ee867dd2b557e759f023df84319ffcca7db62892e993c42a5cabc1c2723a6d59bb84e8f63fc0f06a0ddf2c13be83b1605d283fde506268ceb2992d570d736f32444edbf4103d607796efa4fc4a435597e3f2bbf9a4313c316338a8c2723a6d59bb84e8f63fc0f06a0ddf2c13be83b1605d283fde506268ceb2992d0a1fff29c00ae92079d9465ac09f90af9758ec783247bb091bd289d102c1396bebc00926b06eb25c025aa711d7713de4dde38506f30d83838888bcc482be280f0a1fff29c00ae92079d9465ac09f90af9758ec783247bb091bd289d102c1396b28c19ef51eefdb9ac851547163f5d6a5f4598208fd79a981edd63e790ef25aeb28c19ef51eefdb9ac851547163f5d6a5f4598208fd79a981edd63e790ef25aeb28c19ef51eefdb9ac851547163f5d6a5f4598208fd79a981edd63e790ef25aeb3e5f7104f6a09e000f5cd2f415780010568157352b292a4006a99dfe4b36e18e3e5f7104f6a09e000f5cd2f415780010568157352b292a4006a99dfe4b36e18e3e5f7104f6a09e000f5cd2f415780010568157352b292a4006a99dfe4b36e18e7fc82c6beeffa48f0fe7b24ff5a4bfdd233efac4b344c3b679dfe1cb465d5b9d7fc82c6beeffa48f0fe7b24ff5a4bfdd233efac4b344c3b679dfe1cb465d5b9d7fc82c6beeffa48f0fe7b24ff5a4bfdd233efac4b344c3b679dfe1cb465d5b9d6457fae449f780b906401e82daadb1111764026d207cf5338ab65f030e4c52e56457fae449f780b906401e82daadb1111764026d207cf5338ab65f030e4c52e56457fae449f780b906401e82daadb1111764026d207cf5338ab65f030e4c52e56a8baeb4193a21fa32f3b701643b8af94e0d0dc3be139009fbeb6411232f61656a8baeb4193a21fa32f3b701643b8af94e0d0dc3be139009fbeb6411232f61656a8baeb4193a21fa32f3b701643b8af94e0d0dc3be139009fbeb6411232f6165a2bda6762d72412b721f1a4fb6d82f22a9e7dd0f206743ec6a2e8294eb745c41516bb5b3c534faf4aa1d74eca204ede64060e98ac77adcb79d02c0ad50007c23db1c6b7c24ecb33eab8cdf14ce4ad5c0dd0ea56caef49af1399c7508897a4ec7a1d7eaeefd2e2a7b3f0814d36dac96b5208a278703ef1e1af4cbd41013dd5ead1dd371ec51b0bf2da49c5796c219238b6aa1ddef5631608c61518647cfc7b6fe56409312c0fdefb1f77dc7ee86bd131c5eb7a2b4a9885812b52828f7ecc485ada4dc8f1f947d52cd86d4d830ef677a2f04d337a29ddff32b53edaeca152e21c190acfbdbfe5d1ea7f28e0ee87ec387c806df1c62b5da0f958126201f40a8e87a7441da993ceb5cc9e9813855b42071025f5fde39f5d37b7b466b9bd85eb06ec232e7c81e22943c773d06dc7466c9d92d1c07a993563cb9f7928ef06f431dfe49820cf8b5a48b37a0c3c1f7cc9b24b2d6d30fbbd0ce34ea8436d5e0f53229c44e1460673e9b73b327a7a09a622ab740ba3ca1d644a96d01a88e776b434dfcdbb9dc1b75187ed9944ee82a03c6a00d65688016929fca327ddfaa28b28579ac6d2114878f1d10cd8aea701903401a823c863e13abf11c64d8ad146b5a2ce40c69a6e466dfb8acead4756b3790e903fa7b432727ea9cb34d93d679443003563a14a2e3109abe60c539a3d4031d294bc88de45d0b121c239de5774a06fc8bf675fc92e1dbd3074792470472694ed7db79c6fc2f810ac3c23809420af973c55eb81e3a26244790b9d8a3409dbf7a48f1e2ed4bf6a57a24ecf771da5bbb791abc3a5fe426244790b9d8a3409dbf7a48f1e2ed4bf6a57a24ecf771da5bbb791abc3a5fe426244790b9d8a3409dbf7a48f1e2ed4bf6a57a24ecf771da5bbb791abc3a5fe4c6a874f71d35e198a3ea52cfd3d690f443a5b15ed55e140d3c2ed90370e7d0b2c6a874f71d35e198a3ea52cfd3d690f443a5b15ed55e140d3c2ed90370e7d0b2c6a874f71d35e198a3ea52cfd3d690f443a5b15ed55e140d3c2ed90370e7d0b2dc19509d058ef20253f1b07f2a1c7c7ab58cb050549050a2c788f3d8e9581bb5727446c1fc2931e31094a4cbbf8105bb4659a4290ac7005cc7bdf4e5e0b9a70cdc19509d058ef20253f1b07f2a1c7c7ab58cb050549050a2c788f3d8e9581bb5ccb63debeb21a52ce5d819d383f3d259a9299e51899cb4e4c5019f3bed4a4c8dce8565d2c231156453e099ec2fe877dd40490773716fa359d61da24ad17371e6ccb63debeb21a52ce5d819d383f3d259a9299e51899cb4e4c5019f3bed4a4c8df2c08cdd148a50b8402821294393a6450ac6111fe351aa04321c6a026ea4de4c530c3ea85589b38ce3350d75b64417a39bd9117e6fae556347ee589574e10277f2c08cdd148a50b8402821294393a6450ac6111fe351aa04321c6a026ea4de4cf34d1f95fe7db10e66a7ef5e5571b3668f476fd6278ae258c851833d4378b4dd66c283ccfdf4539a30e3570a8bbbce084e6a483a813ed501e6f8b21d0aef97bbf34d1f95fe7db10e66a7ef5e5571b3668f476fd6278ae258c851833d4378b4ddfa736b4bade365a50b1fac0f35665d2e74b8e932363996f7af158e80b4c6c7af029b199efb0b470bcfd7b87d2fa81fd8dfdb7cde1f5e7c348ff224dd1ddbef22fa736b4bade365a50b1fac0f35665d2e74b8e932363996f7af158e80b4c6c7affddca4f988fbc5d73698909b3236df5f7c25a1bca5b42e07bf52ef587fb37712f3080c204e7b94c27c71c0fe900fefe84d3ab8cb5d2163b9c4b228fc2c4bdaabfddca4f988fbc5d73698909b3236df5f7c25a1bca5b42e07bf52ef587fb377125bdfc26e6b171d56947f10418be487e2f062c6dcbd52d4e6ed20d2c6266bfb2baae0479bcd214d1195dbbe9edb4659d248430760aae680c9aaa80a4bbeb14744f3680205969ef41e6e47900fdce09ccf383d9aebf5da2815bd62941825723861e94569584a9815a39a0a1a3f492b03fb1e6c10fe798c4e44d4e672cf85e30ddc9c18670919f4001deddbed35128a68821dcd29aa045e7902b6bc31e20e88af30d25e4d53f3ef67bf3b7761a0131485564435a02a67a32a8a806f52593621ca349842e17fdf2669ad4e08a6cd853dc6d25474cbd9116327a46d267cfeb7e324768ad832676a9b604a712d98101842eabf9a5daec1fc97191bb0c6892c44aa02da322003969fe2193517308b6d3a44fd0d5b4d09097062394c2d3e732f3e61836cedf3b7261ba89ce4c0cab0a1c2a08998062288a6025b9e9995704c18f8dde415efc251583e3ae822ba63ee0b69c94f267c09760224c68314d4f909d2b94e17110eb65a01fcf2efce45dc3031eae69b7ae9621908a006bd807723f7093c267271b0ff12b4a945e553fcebb0831ab4629354fdf5ca57e1ff15b159eb8f61cf4ca3b7dc25b2b6d074f59893810549b1ae848a1236486cd7267336c12ee571b4ccc23ce814a8471de70cfc5b5d92dc2867f79a0b7392037e3e9fa2a8d0e889d71bb7fe2f865dcea270466f0558dea28795a72f0b1f4226a3fa8182012a96cc8b9dea83fd903703ab44f945c7ef113eacb0a68b7eec08d5138aa509ee082788934fb735f3b208c5de7506203629b1b759befb0927cbabf85881362359caed2307754420fd365db6cdfa5a69b10ff115999c895abc2d592ac5092d0914cc619dcf208f950c6b8318c3936945e0afbda2e10c775b535518052d1e72fc5d2f05123ea93387cde0e38dc1901e938356f4627f6842ff0cf9a74582edc1f22868b295944b3e1fc32a9307ca64e8134832d45ce61f77f403b53d6b6c47bdc4292d0261af6cbdebfb05026370fed86aeda74493909b439146999a65cd61532924c1f95fe58348a0e11ef01adbb1a48084a10064b4596cc3c1c6c207b40508bf3a705da6e4d830345560bc37486f30e605c5ab19985724cbd9b009f483e1900cc3e178e2b04d75ab72726259119159f060aa80274efb33e53a5455636bd5aa16f923535375b348ee538e9c5f644b86b56642acb0aafd23646b5c766078d2680e18ee8e9085c0ac919a7200a93ff375ed09ee1125b1c976b487c49e8c43f58690977878211ed45c4071ef735a4c1dd92f187b9a6b2717b7b8f6a5ec1ed0bba00648a415646f1dcb72f61e475b68fd211072a2b5279e9d386bb76fa82cf63457d06090936c782e0c34c17079bba83b59b59faaa563fcb191c657ecdb5254f92e648e2f8a42ab739b205ea252ca8282794d453cdbf3c952b4afad8ba2bfbe140247bca1365d41ef1eb82482a35334d30f4caa7d11e2eadb846bb6f478884b27d61baa0984cc41a9b0abeb2bf7b23b01f86005d8bd24a02c38826cbeef04be3fe83b434c09ef76bef4dcd6c9e99bd635301cb8166b7ff1eae9c48e9307e63fe7e38cf8547ebc1aeda30cdee19c2951ef51c08efd7e2ec45bd64cbbddd290a0533aa1caafaa48b9ddd76292c72579b62cd0b2f592234e7c5b714a1f44d108e5f6f3aca4370e287d02986f7e68f199bdc7333baeaa80a9067504cf97853550b45bd711ffa2d7cbb30a20402daf02b50f73ff94af6041202ca93514c24ae394bd65fe03a351616f29704291319a3edb297957f7c13dc8674e956fe24dd5ac49febea4fc20a33b8d22e8517d2754966a68984fdede1f13dc6b3f7e5192bacf57a1b7fedbfb8bf0c27696c5b19976008134617d8931c71626c705cd0ccfc4a3f8ac64507e809dcfc771dbc2b19976008134617d8931c71626c705cd0ccfc4a3f8ac64507e809dcfc771dbc2b19976008134617d8931c71626c705cd0ccfc4a3f8ac64507e809dcfc771dbc298f6676d226dcbd913b27b3569923c313498817f364a2b1f6b3a8d8c547fb65f98f6676d226dcbd913b27b3569923c313498817f364a2b1f6b3a8d8c547fb65ffc72f14e52648addaace3c9efda013d548e7d07b04c79fc4273337750998072c0d1757eb09e83e685b8e17c7da197127bfa2bba8429110343bda31472c65e90dedef1344292d8123a340c01498f2c0d3d241193b1eba78f9362777ba7cca1a050d1757eb09e83e685b8e17c7da197127bfa2bba8429110343bda31472c65e90d2d8ba25ae8ec457d4c67b3153c8e84fd318079690d2cf4aac1bc5de172d946262d8ba25ae8ec457d4c67b3153c8e84fd318079690d2cf4aac1bc5de172d946262d8ba25ae8ec457d4c67b3153c8e84fd318079690d2cf4aac1bc5de172d9462608311a8bc310d18fd3c1bb3a7b165d04dc9910f047e41acc053c2f8bfef5b55408311a8bc310d18fd3c1bb3a7b165d04dc9910f047e41acc053c2f8bfef5b55408311a8bc310d18fd3c1bb3a7b165d04dc9910f047e41acc053c2f8bfef5b554163a1f56c97c6845d0eed3b4bdaf455f3f69db4b018e9e24cda9b5e86935c826163a1f56c97c6845d0eed3b4bdaf455f3f69db4b018e9e24cda9b5e86935c826163a1f56c97c6845d0eed3b4bdaf455f3f69db4b018e9e24cda9b5e86935c826321bf0310592ec23951b9610c82e5f1425899e2bedac66d36ff4b179bbcfa3a9321bf0310592ec23951b9610c82e5f1425899e2bedac66d36ff4b179bbcfa3a9321bf0310592ec23951b9610c82e5f1425899e2bedac66d36ff4b179bbcfa3a99372682d1e5cc7d557dcdb7324f8c115ca10f55a2ad235c5561faad837d3fac69372682d1e5cc7d557dcdb7324f8c115ca10f55a2ad235c5561faad837d3fac69372682d1e5cc7d557dcdb7324f8c115ca10f55a2ad235c5561faad837d3fac62403d6246ab1b0b1bc990fc9c534071664cbb28f40d8b1d24481375d6f0302d52403d6246ab1b0b1bc990fc9c534071664cbb28f40d8b1d24481375d6f0302d52403d6246ab1b0b1bc990fc9c534071664cbb28f40d8b1d24481375d6f0302d59f3a69ce6b94553fc47713fddeabece521ee001d18ac7dfcf5c74ea787956394b390bec67ad673e1a56b3379c2e9856b93bcee2089db1558856b28534d03bba39f3a69ce6b94553fc47713fddeabece521ee001d18ac7dfcf5c74ea78795639453ad9d651c77b220a0efc5dc8d1f58312aa9f1af9a233d4da8b0afdfddad0b4953ad9d651c77b220a0efc5dc8d1f58312aa9f1af9a233d4da8b0afdfddad0b4953ad9d651c77b220a0efc5dc8d1f58312aa9f1af9a233d4da8b0afdfddad0b490722e9f49e7ce6e3e7d879f0cdcdb37d0af97e32b7c51d29193aa4de58f8f3410722e9f49e7ce6e3e7d879f0cdcdb37d0af97e32b7c51d29193aa4de58f8f3410722e9f49e7ce6e3e7d879f0cdcdb37d0af97e32b7c51d29193aa4de58f8f3412e00f71f0aa7c9ec9cdc8719e890d16405bb74667fc3fca0ae1c682dd8facd9f733b5194718c15414c71a13d0405f32c16546704c3bbdce9a2b8dc3f51f61e472e00f71f0aa7c9ec9cdc8719e890d16405bb74667fc3fca0ae1c682dd8facd9f01abf2728154c32f49d229137a80b05e8bcde1df5628578a54e9603bde112fc201abf2728154c32f49d229137a80b05e8bcde1df5628578a54e9603bde112fc201abf2728154c32f49d229137a80b05e8bcde1df5628578a54e9603bde112fc2424d19783cf900501f11c3f167a7e83de32ad020db50af12d63723835f1fd0d0424d19783cf900501f11c3f167a7e83de32ad020db50af12d63723835f1fd0d0424d19783cf900501f11c3f167a7e83de32ad020db50af12d63723835f1fd0d0a7057149d50631207c45c06daef3a7fa658f401c78c8bd0ede517ffa4ce4ea4c103d7211c5f73399683b3aa6d8c38a9a9a246edcf805ead433f4e5dcc396a47a74b0412764d637881cf78f3d9cbb8e4d8bc9ca835a03331d53496baac7403ddc5adebcaf2e80a31f4d0cc59e78a1147bed843a5f4082cdc040dc1b3ebf0d95cbe37bc194ef5666a36cf865e27ea178ed94bd4a7808f8dc3c50935d53752ce9a2f5c43b62abf42da90f335c03549e8a69dca3de732af9a50ea3142a0d6047200b2f228bfcaf42f18f38f34c65d7b204fd061b5ca6048f47008214a5e69255ae60d4774469069bd2e5bd18e36bfd21ba9478b3f42c2d64153c1568da5a1133612ec897428ab038eeb3a29a974162c13288c9faf175f519679bccfb78a3540b78eb4d21743c7a319400d8c4535c173b71df08848e3c2014c6db202a1734ebdbc8b4198e0c4c1e29a36fdcc43442ccc661ef4faddfa0bff68bffcf4ca855088bc0c8dec9091b641fa1ee23ea8bffdc4b163aacdcfe9191bbf47a23ec4e2e12f02046dec9091b641fa1ee23ea8bffdc4b163aacdcfe9191bbf47a23ec4e2e12f02046dec9091b641fa1ee23ea8bffdc4b163aacdcfe9191bbf47a23ec4e2e12f0204669bd8e19378cceeb3e685061c749f63f43aca7b024a2db49c89218c2b08403c369bd8e19378cceeb3e685061c749f63f43aca7b024a2db49c89218c2b08403c369bd8e19378cceeb3e685061c749f63f43aca7b024a2db49c89218c2b08403c35ade742365f520e981b5eb707817d68bd050128c12ff617ee5e1b2d6148aff4560f11f6f1c53b1e906df7819fd26fee3ee1e169741435ef6dddf9ad6dee31e48e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c4649c197988d64172367b27701070b6f8875a948ba82fd053df5b5eb5bd2d91c4649c197988d64172367b27701070b6f8875a948ba82fd053df5b5eb5bd2d91c4649c197988d64172367b27701070b6f8875a948ba82fd053df5b5eb5bd2d91a7f2e095a64d8aa43fe8d625d28286bd9bfa2c262cd339c97dd2582d352d3761dbc06b8c857e2757e86e889fca46dfa39cdb5d20b7f2d7aaa18cf07521952c74dbc06b8c857e2757e86e889fca46dfa39cdb5d20b7f2d7aaa18cf07521952c74dbc06b8c857e2757e86e889fca46dfa39cdb5d20b7f2d7aaa18cf07521952c74aa6cafc59c8e91d912d6cedf2b8d6dfe0a3804367b154ee3130737d87e909dfcaa6cafc59c8e91d912d6cedf2b8d6dfe0a3804367b154ee3130737d87e909dfcaa6cafc59c8e91d912d6cedf2b8d6dfe0a3804367b154ee3130737d87e909dfcde50d5eb79cb8faf15fe1a099ecfb76079b0dbf43f296f4403dc9be202029d52b7df7fde431410701a137ad4b28880bd8877dedb72fdfa7c95e7912dabd0c28f60f11f6f1c53b1e906df7819fd26fee3ee1e169741435ef6dddf9ad6dee31e480b42fd6a5ca853c78e71e81dab55dc337dc9e11ff48f2826d0c644ede44041ca4e4c19e458af040cd567dbe8e57c97f363fdc29427043489cdfedd964ff7fc15127d1da86c38af649f207282ca7c27e3d575f170651b1bc90f97b8e023286c78127d1da86c38af649f207282ca7c27e3d575f170651b1bc90f97b8e023286c78127d1da86c38af649f207282ca7c27e3d575f170651b1bc90f97b8e023286c7824b64a58c62a216d6dca045b792e83a0e9f26bef5a1de2f4bc7dc7a7d35a138824b64a58c62a216d6dca045b792e83a0e9f26bef5a1de2f4bc7dc7a7d35a138824b64a58c62a216d6dca045b792e83a0e9f26bef5a1de2f4bc7dc7a7d35a1388e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855713c504050240f32f8cc4fbf44d7da7a345e26dc7e30c34a8398cfd65172c4bf713c504050240f32f8cc4fbf44d7da7a345e26dc7e30c34a8398cfd65172c4bf713c504050240f32f8cc4fbf44d7da7a345e26dc7e30c34a8398cfd65172c4bf49aa000891210e026135546b1e6ed26e3aaf80283ea852c0493e2bb9119d2aa249aa000891210e026135546b1e6ed26e3aaf80283ea852c0493e2bb9119d2aa249aa000891210e026135546b1e6ed26e3aaf80283ea852c0493e2bb9119d2aa2aba46736f33c8f7c1d10ccefb66788b2b00144ec853ed6a656f9629ba8cef0d8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855df3b37f8973517352947a38d03426db84443563f61f7b56f73fb730031b8abdd1e776284f94c2b36b43a55102737e20effa54a5c3d20bfbb694b112a59723cf173c98cdb13c9bba9b653e13920bfe789ffbf23a1d1dad06f1589dcfb3c7b94ba1e776284f94c2b36b43a55102737e20effa54a5c3d20bfbb694b112a59723cf191c1d1d3675430d2e59503c5e0d1d19f378dfa7343fa367cd33225587fedc22591c1d1d3675430d2e59503c5e0d1d19f378dfa7343fa367cd33225587fedc22591c1d1d3675430d2e59503c5e0d1d19f378dfa7343fa367cd33225587fedc225c549c54a9c6b7f72787b69bb89d851464c5b1de9f154b6ee1ef41e5fe9cb4cf7c322017a3ff86ba94c22e89bf2765a6396bf196185f0ce5e509b5539be52ec7e985118409eaf42550d557e8285cd33f5b1f0c01c4130471b9d2e8578d4e515e0c2666061302d4f951c1ac0a40cd2ea7981273d7d004348720fea507c9f945c17985118409eaf42550d557e8285cd33f5b1f0c01c4130471b9d2e8578d4e515e01d7ef24403250cbc47c08b262f51f34203c5244ceab246d750394981deed05b11d7ef24403250cbc47c08b262f51f34203c5244ceab246d750394981deed05b11d7ef24403250cbc47c08b262f51f34203c5244ceab246d750394981deed05b16d3e94b216312a02afe20c15607807a9ec27a7e229d143e71a71a4755ce00cfd512bc438f880139c2de02f09814cf307acecb93c4b0ea2bd134e5b1bc466df8e551f9d39f71be56d4a3761c9b97128c40b07671f02582aac0f8bc0d6181d6572551f9d39f71be56d4a3761c9b97128c40b07671f02582aac0f8bc0d6181d6572551f9d39f71be56d4a3761c9b97128c40b07671f02582aac0f8bc0d6181d6572f94b41557203dc91b30ae0af1f74e2b3464244fa60718b68a876fa82feef12ecf94b41557203dc91b30ae0af1f74e2b3464244fa60718b68a876fa82feef12ecf94b41557203dc91b30ae0af1f74e2b3464244fa60718b68a876fa82feef12ece3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c808610738be1a0fefb8b6a234bff858017cd45a7837e4a8fdf6785b29971c41f808610738be1a0fefb8b6a234bff858017cd45a7837e4a8fdf6785b29971c41f808610738be1a0fefb8b6a234bff858017cd45a7837e4a8fdf6785b29971c41f41ec2bd051c068b823e4d0a42d52456ff4a30744801a410cb68177384102797641ec2bd051c068b823e4d0a42d52456ff4a30744801a410cb68177384102797641ec2bd051c068b823e4d0a42d52456ff4a30744801a410cb68177384102797693784254c856c0f09f4734016eaa2520d7d474a069c1eb4b627864b9d0f01610717611f7306319079565b41c779e99d599863c3dfc0114f1bbc8df4371712e6193784254c856c0f09f4734016eaa2520d7d474a069c1eb4b627864b9d0f016100af276896b0b8fd6406d5aa0bd0fd3d824f954a1ea95928352e5be96a14d3284fc5cf91573f362420d35972f4a8ab9f063aeb6993db2a5cafc0e1d4c7521fa490af276896b0b8fd6406d5aa0bd0fd3d824f954a1ea95928352e5be96a14d32841375b83ad0f610a0b2f5960297b4a190e0216bd298a05edb66cae9185cb7c737c0e18b8229ae981e7e9d2a31a0dea6305004b526fa221d4a37bce76c6c50519b1375b83ad0f610a0b2f5960297b4a190e0216bd298a05edb66cae9185cb7c737374cf78c8f25ce8bee814914ec7d6d478e7c5942bf7e71570b9a289ec3b94635088cd83f74fde30461c3cbb0f547d9ffd654f059be09fd56b20412e6f9351eae714c74726332c69ed471c3af7d974ebd04df63da3d67257f6843a21c04e97c62c997b528ba19b164bb0f05d5aeb95640eeeee4e6ce1af1c34dddcb5be67dd2cdc376de725c080e57316152cffbc3ca4f00c6a44ed5e1859369d5d868e13a08a0c997b528ba19b164bb0f05d5aeb95640eeeee4e6ce1af1c34dddcb5be67dd2cd3982df0b64b2d19f997c2d437c3906b74754a322f891f1e2f1bb35122b944a39f5a6855f29598c2b529643a72871d44a645b4a91a8996f8ea5eff1e0c6d3510b9ab950ec284192d83218b71852dddf3bbe089e45d50a1940e992de2beb5ddc42ec927e419b49d889b60fdd3784c6c18a64220fcba4c5591bc8862414698312569bf2495ed0185004846283497c89e02cedb9e42f0d98331dc3aa40de60d99f1fec927e419b49d889b60fdd3784c6c18a64220fcba4c5591bc8862414698312565042ba826377a6ebdca878b583ee75803b40e5b747e40c7159946c0c741f899f5042ba826377a6ebdca878b583ee75803b40e5b747e40c7159946c0c741f899f8f24fb5c7972d9b96a03c6024372d85b92588e0d1e28558c392aec21262d383aa7c8a5766088ae92da154322feaf949f01e0b14350ddac5b6ce0cc03e46c5c90a82ad9c599f72426ffb22fead89fd3edfe96d0b5228afde1f9c0b5c029b76584a7c8a5766088ae92da154322feaf949f01e0b14350ddac5b6ce0cc03e46c5c90980c9c21f8503450b3013605796f9a5762a647dd9e9d2d901cca841809c33c50f553a6501ed892a27c8668320605b232ac5b51d166b549bf42530f97cad41f706f430634b530f53a3fe7615702d3d5d43960206fd8fd9c6a85bedaef06b43e12e8e7794901614c0e1c0f44aed707130e97fc93c9b56ffdbef68e13ac001f4ebc07bd5468a7986b235a3a3608144df473da01300cbe3ef5c8c851724c573891ad21279350082c15f1524b46c444d28b4bc3bbdd2c89cd810791b709a7522b60f67dcaaa9a28d3baaf0ef8fd196395be98d61c945771a070b9b0ce83d3325a05cc9ad48f603c1d67e658f04f92635cc6caf146002d78de585fa7965d908d8aeddc7dcaaa9a28d3baaf0ef8fd196395be98d61c945771a070b9b0ce83d3325a05cc5b9396cc992d982b9be17bd961de939d491ba858da384e6cacce4a52eb2932e55b9396cc992d982b9be17bd961de939d491ba858da384e6cacce4a52eb2932e55b9396cc992d982b9be17bd961de939d491ba858da384e6cacce4a52eb2932e5098ab44b19b69e9d365ec18ea0b5baa59cd2b9b8b60d422f71526d5053e9b346098ab44b19b69e9d365ec18ea0b5baa59cd2b9b8b60d422f71526d5053e9b346098ab44b19b69e9d365ec18ea0b5baa59cd2b9b8b60d422f71526d5053e9b3465243429088eebbb8e588f7a7533242933645d14800d9ab8f03c2a7103601f928478d62c5b63a716175454fb706da3a8569b44f566a3f44f2d4a9ae01298ea0546911f99041ffcd17f806417d9107b3b51254fb77166960f68eee3eedceb2cef16963a65497b91fd58a1edd52753a4948e27197246c44e229d4917872232bef7936e7525ce7f83efca391a87d758bdd7481e935457f2865707e9c7ca05b442dc9e9e1ade796ab1ca2f6beac7d5ad950c3fb235d54a90aef459267b08c30ceac5919e88b1651716ea32178cf256672c21a672c0d0c2d8b0c74c3c55576fd3c47fd19e88b1651716ea32178cf256672c21a672c0d0c2d8b0c74c3c55576fd3c47fd16f6a809e2b125488ec2d415ad539b2985cf643d81a75d4b1b28a9fc081539ee34913bcc249861f1568632ce8c2b9b532ca78baa4ae6769dc9ce1d41da43fa0034913bcc249861f1568632ce8c2b9b532ca78baa4ae6769dc9ce1d41da43fa00f2bd33ec94218ec451589bc00ee348ec93d2edcfa415717798c71ca3f3e5862396d851478b8a2011ea8e2c03e723f1eb318d806c8dd25f0e699fc4e5fd9cf92b96d851478b8a2011ea8e2c03e723f1eb318d806c8dd25f0e699fc4e5fd9cf92b96d851478b8a2011ea8e2c03e723f1eb318d806c8dd25f0e699fc4e5fd9cf92bc5fa60e13642d6a85d1e328bc78ef8b95e00aabbe09988aaa5d7cbe2833c0ed61814f6687a8b10e8448576496807ce02819d471071b5b82099ff0119db623e83c5fa60e13642d6a85d1e328bc78ef8b95e00aabbe09988aaa5d7cbe2833c0ed6fd668b11de55893e93f4de9f430a4ca7625b502cd8b0c8019252ebc54694ea08c4c244124d2070a30b33fa8aa7de85082bfa37033e2600e37310d34f869293fc92ccc4b0003801a318921c0fffa55eb8bb760e79433d8bb7c145ed78be08b66c8962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3cdbbc4fc5af6456da68bbd6967c5f289065f64393d456c477d33d4745dd4b6d03dbbc4fc5af6456da68bbd6967c5f289065f64393d456c477d33d4745dd4b6d03dbbc4fc5af6456da68bbd6967c5f289065f64393d456c477d33d4745dd4b6d03646a306c23af6472437064478430ef62bdaa817f9b67a81954d359a2e9111e81646a306c23af6472437064478430ef62bdaa817f9b67a81954d359a2e9111e81646a306c23af6472437064478430ef62bdaa817f9b67a81954d359a2e9111e81088036097fa6924e1cf6055418977490a0bb77223e01bd1283d68d543c6f57733ecce16608be54486cf40a2b8c09cadef5323a57423f243b2a60e3110a20195a5029687fb54ce537a3f876c45f61d86c274b0d963d8a5559f8439340756c5291696fe060aa162f01353bf296ba3e952a36053cee53e02a98345d16cf3350d22f81a9c27cefe731d662a04cfb79d9cdb8fb127a029ed771c241872b7fb6dfcc4d70ff5825eb20d7b119bd70813848eceb193691bc74911c06d1177e57b19ffebb6020980b30b9b91b822cc36f53207b4d1c787df6e4d26da2f1e5cd855aaa3761f41bb0e6ead52c9b2506bc0bd11f694638e1372f514e7013425e688395eb7be3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559fa8f3d8afa464a685d80d315aba222d5f491fe0d312c597e71174d0552add2e9fa8f3d8afa464a685d80d315aba222d5f491fe0d312c597e71174d0552add2e9fa8f3d8afa464a685d80d315aba222d5f491fe0d312c597e71174d0552add2e23e918b9f11389dfad0d8c91f1fd4e149dede6efc8a36de4d1c6d0c494d43782f847ae8050228e47543bdc724074d9910c19a055cad3f431202063e91e40009a59ecf7fd1d2a1d72a7acf81ebc772b3a220cdb3afac6481bc5000d431d5bd2d38962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c132763d3aeb8d97ac881bf204997526d5aaf1e4a23101cba18f041c84141ba2b132763d3aeb8d97ac881bf204997526d5aaf1e4a23101cba18f041c84141ba2b132763d3aeb8d97ac881bf204997526d5aaf1e4a23101cba18f041c84141ba2b117290d9640ef2f873e5200d1fa7cc96ba2f94ba2afce2250a6b5d8c562747fb117290d9640ef2f873e5200d1fa7cc96ba2f94ba2afce2250a6b5d8c562747fb117290d9640ef2f873e5200d1fa7cc96ba2f94ba2afce2250a6b5d8c562747fb00135aeba76b7245b029173ac02b8ca3527e74ab65e0beddcf781ef56b0b237100135aeba76b7245b029173ac02b8ca3527e74ab65e0beddcf781ef56b0b2371fe07ed4a7336c8eaa4f77b5d988505294927d3ec56eee30ef95696fb11d7ac937f13c1eb1200aca8950594833d12431203eddda8ac94d87fb2e5daa454965a9d67668e87f9329d134a023fbb5c5bc8c52926f4da2ac85bdef4c364856eeacdde7f13c1eb1200aca8950594833d12431203eddda8ac94d87fb2e5daa454965a9dc5d4cc9de034e62ab8a5f4899bab4488e50e9a2ff05989e076b9acdb75560956645d5bb6dfdfb2b7d7c6240a88b1d3d60949f23926695dfaea5d8649919db1fff7012ea3e446882a625544d1ac4e52c7eccb8c2b3a59532fb51354445d607ced5a15e201c544e9f24afff507b61fbbbab7edb845a04ce933251b96046c2058f036d306c45bdd276cc035cccff005988762756684deacd9bad182f4f23c5502c45a15e201c544e9f24afff507b61fbbbab7edb845a04ce933251b96046c2058f04d2c224e16da3dbb7c208cdd18d9f02baf0c9f719b543d0a5e4c2e75fd3ac619139ba6963ba5ec9facf1403f3c01f9b38b9fe943b2a531d681852905a103a9b60df524ec63af6bc5f2c38d46ff264ff35b5d41cd5302d5fadbd0fd0ed5d88449ed15317178598e73e722f0757c86e2222fc837c10d8d2f29023ca24e99a08834a6e10ffb6c644e195ff7e45133bf9b5923639a3d2990b91591d64b867b2f48288962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c5ac008096b6de6858f321bab601da135f4e85a4a0bc775ae38d3ef67a1462b535ac008096b6de6858f321bab601da135f4e85a4a0bc775ae38d3ef67a1462b535ac008096b6de6858f321bab601da135f4e85a4a0bc775ae38d3ef67a1462b535d993a92fa51013177ef4fb9568718ca85ece42e974d847643b04294f72fb5e45d993a92fa51013177ef4fb9568718ca85ece42e974d847643b04294f72fb5e45d993a92fa51013177ef4fb9568718ca85ece42e974d847643b04294f72fb5e4322ce739b1c3bb6858f77e1b2b593a58ec6f0489e9e6c64db5b785ae7bdc05d3d27f0c8a757f8bcb04032144a584b27fe98565a99657cea18c3a5d4c48a21ef0f802a6312661888d5bb986f46839875db4f1f2d2c7ef645ef34cdd07f1a048a2aa4e01154eda5f2cb1a0e18cac3acc3deaca31eb18f05fae649f53fbe565fec683ad7369e5f5e4fd49a461f9e70f066bf7376e5311514699c8cb8b29768fc9c3146cb980a056a76c64e740ea199b71a2595c2a51547227fe5b37e1a6e0f059ad846383c256992c3213e9ad1d9b3380292b8c52fe9ae83e111e5bc4503ea74eda508a8f6001d8436047e12daec3b44a21a210421be4fdf6b4131f746ceeb0be9b8962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3ce32e22986310bb3c1dc541d28c4fb32ee1c03eaac77a3ff94e6216351fdacfd7e32e22986310bb3c1dc541d28c4fb32ee1c03eaac77a3ff94e6216351fdacfd7e32e22986310bb3c1dc541d28c4fb32ee1c03eaac77a3ff94e6216351fdacfd7a4f771fae5a51a983d4176e844f26476fd07350f2621806a6bbe68bd65535d38a4f771fae5a51a983d4176e844f26476fd07350f2621806a6bbe68bd65535d38a4f771fae5a51a983d4176e844f26476fd07350f2621806a6bbe68bd65535d38f9d7206f0da3dbf3dcdbc4a642e6c03496bdd54d00bbd1e8b249b850141d0e84f9d7206f0da3dbf3dcdbc4a642e6c03496bdd54d00bbd1e8b249b850141d0e84f9d7206f0da3dbf3dcdbc4a642e6c03496bdd54d00bbd1e8b249b850141d0e84108daaaf28aedeb45be64c934244d3c7a6aa7c212e447fa649c9840e5c64c273ff32e5251d8f2e520fa95033191067b14a8a7a4716a5b107bf1ab3ebaf29c841108daaaf28aedeb45be64c934244d3c7a6aa7c212e447fa649c9840e5c64c273522020ea8de45e3756560e7bc8196c9ecb30828d1e96a0d7fcbf9ec33d9c7676176e7742b9f72ee7b870624603673d992dbe7d57562adffe8209b68582e33d3f522020ea8de45e3756560e7bc8196c9ecb30828d1e96a0d7fcbf9ec33d9c7676c39370b237f6e058dca5d1a3e16b70521dc6157fcac0b0166b8de2aef4357fbaa1337cdce74d1a1f473d39da88af10c8cc40c4e397c1f4d147247c069b19a606c39370b237f6e058dca5d1a3e16b70521dc6157fcac0b0166b8de2aef4357fbaf0b9ad14b35bd6f7b7b0797eec83163088faeb21fa7c2ed701bac48546755043d82f771891683f843dab97ac2e19235797626a3f754b27f29fc371c4a8a9a2a7f0b9ad14b35bd6f7b7b0797eec83163088faeb21fa7c2ed701bac48546755043cede51ee008bf69568bec188c6d736cc4ea54c744afb5a5bb5704182450aac142dfb504633ad66bdf46040d7db09aa46a62905823cda0f3ff50f9a89c55585aecede51ee008bf69568bec188c6d736cc4ea54c744afb5a5bb5704182450aac14cb9f519ef8f320fac5dc1267dd8a267e805fa738ec6c56c42234da156498ac459566cfba8ab81ed49251a172662d10e515669d789c568551c18751458ff1226377cc4ea022ce3fd1ede28f63c39c6bceae36fa0a88208fe1c4b970bb40098a8e9aa85527b25294d37beeffc5535bef3136e1100c110e3e164c6dab0132dd11ace095fd69fac49411a3e9dd85905f97f61b1f90242ef4a2b130eeb7e7e7b8bf8f0146790e88014695d8a96733f7758e8121d6021518a4867e99877d343867fa2bec349b80aa239e3b164068e26e998aac687b414e735d0898ca5a74c58a639a158e0205a623281002f11430a90ae32c481f93a24cb38335658314b764165528d2ec349b80aa239e3b164068e26e998aac687b414e735d0898ca5a74c58a639a15e5872187e1723031426842749f7a326e6152b084e744e4ea69d62a1dcae44e9aeba0e15f4e4a51cad831e0a246a6433dbb21da7a1bfb9728db7f140f0b6a284ae5872187e1723031426842749f7a326e6152b084e744e4ea69d62a1dcae44e9a6246607e2667fd8912165d85680f6a42dc5c8ece9245b6f2738acb9fc1eaf840b7cad4268cc71063d2e7f9dbfcfb87fad887c793922177fe3752f2f2b45740b4d8d05af9ebd2674e58c86a5f3fa61de42bd9a783a0deff9dd89e4678f7001e8b9cc5351bd5d85bcfbb69e4f191aae7c0c64f651fd0f0427f1de947bff10503b426b343ce214494be6507ee186faf96eabdb5fddfaf05156dc40ddd77715ed1c313409caab3623531cdde96136a02cb6edcf19bd16ed852ea71b15fd7ddbd2f0903909c22494709b9e4fd496faff65ce7d8ce07b0d0e950453fa6a8b0e92df8b615343726a5cfc1fe00a9232783f2fa4da73fd958311d94529a790742a7fc0d003e975cd8a99a06dd701689451894fc204e21c59fc6ca254f3ab0bbfc090b03378e38b9fab3d6870e7e3b1259dbfa2343b7eace08fed1978a0e2f3ffd0567675057781cfe1aa96953225073845e75bc3e5318777d10c86ee7a58464c060b16ced57781cfe1aa96953225073845e75bc3e5318777d10c86ee7a58464c060b16ced57781cfe1aa96953225073845e75bc3e5318777d10c86ee7a58464c060b16ced40008c4e9547868d843d0442ba5b274fbfd78786bfeab2a7878345b896d861d140008c4e9547868d843d0442ba5b274fbfd78786bfeab2a7878345b896d861d140008c4e9547868d843d0442ba5b274fbfd78786bfeab2a7878345b896d861d18d97561f1d7be5e55e52e432f70d6751c30a9a08bd305477a279204161613f9ad2543405f463c3ee8b2fdfebcd88f30279a4b20f8c735f45e18666d772d75b212507eab0cb7a594b25fb2fc1c6a0b0f27af53d1980ba358d4e0c1b1dc32a9e634a6e7afc1af1d39ee6934777e117159c3377f20c50a3605f8adb726b192cd8074a6e7afc1af1d39ee6934777e117159c3377f20c50a3605f8adb726b192cd8074a6e7afc1af1d39ee6934777e117159c3377f20c50a3605f8adb726b192cd8075d740a6b510156140c5a35fc70036d3350a56651835b8b1579089a4f7712b0f3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559d6e1c27870cb53512a2e29ab03e61c25188ebed57e933ee5ce4e749d72c0a87e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85588019969050ee7f98e2451534b118cc6693636408b5a76fcfbc9a9eea452064f88019969050ee7f98e2451534b118cc6693636408b5a76fcfbc9a9eea452064f88019969050ee7f98e2451534b118cc6693636408b5a76fcfbc9a9eea452064fbe4218ffc6e7dba0ad1382b6ca6975c6fd2048f072820ae595dcb831a3eab59ebe4218ffc6e7dba0ad1382b6ca6975c6fd2048f072820ae595dcb831a3eab59ebe4218ffc6e7dba0ad1382b6ca6975c6fd2048f072820ae595dcb831a3eab59ede46da9948a760db50b2abcc66b858f5b0bcc48f364f483f60721c75c13df51c322e7103545b01d76184d8f5a010f61e2c66e05cad4f9364a765fcd0de651fba322e7103545b01d76184d8f5a010f61e2c66e05cad4f9364a765fcd0de651fba322e7103545b01d76184d8f5a010f61e2c66e05cad4f9364a765fcd0de651fbade46da9948a760db50b2abcc66b858f5b0bcc48f364f483f60721c75c13df51ca4c11ef5660415507d711cd322d63420790bccc0c518baf822e0f800f79d7555a4c11ef5660415507d711cd322d63420790bccc0c518baf822e0f800f79d7555a4c11ef5660415507d711cd322d63420790bccc0c518baf822e0f800f79d755591f81ce5bf9c88cc70dc978eb50fc314583f9e1e42c4fd5e4bdab5f8f551bfbee1c0ba88891af1bc1b871257db12acdd31e69a2c7008ef966b3dab119446f634e1c0ba88891af1bc1b871257db12acdd31e69a2c7008ef966b3dab119446f634e1c0ba88891af1bc1b871257db12acdd31e69a2c7008ef966b3dab119446f634f0ab9a4015eb79610d8f795bab430422d695c954e5a5229c61be9337bf78fa505404d083abf6542bbb582d1f8346c6cfe1a08a23b6ab260f0015941a0ce2d6395404d083abf6542bbb582d1f8346c6cfe1a08a23b6ab260f0015941a0ce2d6395404d083abf6542bbb582d1f8346c6cfe1a08a23b6ab260f0015941a0ce2d639f7463f2d7b8190f761754227cd37f63e0792afc3a76d1bc21f1357c690b74ce30afc4760800a5b577443c082773c37c881b60d0cc8f48c3406be3ab25f7731a10afc4760800a5b577443c082773c37c881b60d0cc8f48c3406be3ab25f7731a10afc4760800a5b577443c082773c37c881b60d0cc8f48c3406be3ab25f7731a1697a54ed73e83b36e6f4c4ba503dbff0780f032e65311b7acfe4e618cf6c8be142376ede22fbd49cd23ecb7fcd690206b53e5304c1c75fcf36358ab8acdda62aa77e0500279faa84140feb506c7a40d2e25da021b11085f0db0949ef6b6ddf29a77e0500279faa84140feb506c7a40d2e25da021b11085f0db0949ef6b6ddf29a77e0500279faa84140feb506c7a40d2e25da021b11085f0db0949ef6b6ddf294a9cef12fb64fcccc142e229caa3d3c2468d38b2d94cb0a9aaa7dbac1dc1acb54a9cef12fb64fcccc142e229caa3d3c2468d38b2d94cb0a9aaa7dbac1dc1acb54a9cef12fb64fcccc142e229caa3d3c2468d38b2d94cb0a9aaa7dbac1dc1acb5649a8a0d752839a8df33ffb83b4e7f6e6aca7d3902e482e6583640fdf736864d87c14d213e12410a641c4bda62ab54e274aef3c31bc5e9b061aec5cea0feee9ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558114471369b1c19c08df98a28fe537122cf17317b49d8ff5c80248d11fe7d4458114471369b1c19c08df98a28fe537122cf17317b49d8ff5c80248d11fe7d4458114471369b1c19c08df98a28fe537122cf17317b49d8ff5c80248d11fe7d4459832e76f31a1d45a0f92f15a7b41b3eaeeb9db7e64269daab97417770b5bbbb3313d810752de682e6f4303212b5139bf24efb6783896aa050c4e624c402ae9d69832e76f31a1d45a0f92f15a7b41b3eaeeb9db7e64269daab97417770b5bbbb31c32cc0cd52567caa0ff6f38ba422dfe0bfc3277e3c4829e06cb5608f8a697751c32cc0cd52567caa0ff6f38ba422dfe0bfc3277e3c4829e06cb5608f8a697751c32cc0cd52567caa0ff6f38ba422dfe0bfc3277e3c4829e06cb5608f8a6977591b810575833dc18085a652c7902e46e897cf67b77831ef2de70f17ca88c5e7a91b810575833dc18085a652c7902e46e897cf67b77831ef2de70f17ca88c5e7a1bcd8b8466ee6564d8d7c3de3896573d9467b1b7835fbd2aba6f544c16a4d6b437fa71003ffeda4c9a4b28a7249d0d51cac5c9e6341f99fc66e4efa42a94e12de2da56d38b03760aa596ab4c7fe739082c97a5db6f22ede2daf21f2ee1808c70c288a662ca98c41e476d64063b072359f0a3fe1c8621d63215f8b403e48072ab14e47ff5b54acad1a752c7231d17d56a30ab7070a34647f4456b44c541282071bf1bd854583323c16e11369110a452e1184684ed4663803fe936a1558d5441880cc1927a8b0b3f3c5430fbd39e639f950038df045d0efe3c2a21394c395bbf63a6ae1f6882d4ae85a19208637767f029fbd359a25a553619c51f9c16313edf6402edccafefbc615f960a4fe462e299a39d25e257b9d472d9f44b6126dd7bea6ca6ae1f6882d4ae85a19208637767f029fbd359a25a553619c51f9c16313edf64fffecef60728fe470f5c122228f02772dead741844afd732db4529e34013a6b819826da3ede1d4abd21bbee382c6f65fb34c6ce3e417adf66e2a25ba06f344d82600d8e6bb022975648bda168fea8bfec439bb7e35065c017ea46f16c6fedcd130feef5f3f5f1812e318e9680ba50a88fb47e64060a44668c89ac69c31bd5d6ec049a7ef9b1c205640ef59bbb854a83fee99c6a5dc1a7200ea2eb5db02353a7f30feef5f3f5f1812e318e9680ba50a88fb47e64060a44668c89ac69c31bd5d6e05745714f6df36800dbfabd248320917286762c788ec464ec587f3de8044f34205745714f6df36800dbfabd248320917286762c788ec464ec587f3de8044f34290fa75e814f20efad8c979b8e216c299ff81364fb74e004de2f16160b08d6183f23ff299be9720824eaf06db57ccea4bef7329b0edfc5ec7efea71517d3cecf5ae925dc5aada76f377c8132ed8052af5f59c8a8e7171dbd79b6f88981319b756891fa32c48167f5d497e5f713848439f9632a2fcd60e804b2118abb0438261f6795ae9869e2437c97991a809d1283e3c7f1d7b4db98094c099033cb574e194e55fba38fcccb6e269a8c3acaeb8678aa487b9eedb98ad9ba1a4676baa86ebed6f795ae9869e2437c97991a809d1283e3c7f1d7b4db98094c099033cb574e194e5ab7d9db530a4c3cdd7a7ca74a142abd53a2fcae84892a62efe3499e5af2bada58f9a10330f8abda201a0bfcdeb32b4ea9263afc65fee29142ebd5bf1b37edf05ab7d9db530a4c3cdd7a7ca74a142abd53a2fcae84892a62efe3499e5af2bada59e4bf77a4ec3d54f3df2ff76d6b61b95d0c2b4aae2da8c983a2dc426a1a31065e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e0d475424ec47d9d626279873b902f572463757ed8c32b5b3fac6f78b2d3ffa5e0d475424ec47d9d626279873b902f572463757ed8c32b5b3fac6f78b2d3ffa5e0d475424ec47d9d626279873b902f572463757ed8c32b5b3fac6f78b2d3ffa5054edec1d0211f624fed0cbca9d4f9400b0e491c43742af2c5b0abebf0c990d8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ad2c606d4b388d506265167df65ce018da78561ced114586c524b6914bae497aad2c606d4b388d506265167df65ce018da78561ced114586c524b6914bae497aad2c606d4b388d506265167df65ce018da78561ced114586c524b6914bae497a054edec1d0211f624fed0cbca9d4f9400b0e491c43742af2c5b0abebf0c990d8b79abdaa1c57d2b62a22d04e33c0f7ca5c06f911eb9ce62d7932ed42beac17b89305a0606e3243e645d97fd603ae848d83e6c49467fb0f1a48e892f5ef2d2986e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551b6f21cd4968a2124ebe69e9a96dd4280c47a6835f95d11493b5e33a13765f511b6f21cd4968a2124ebe69e9a96dd4280c47a6835f95d11493b5e33a13765f511b6f21cd4968a2124ebe69e9a96dd4280c47a6835f95d11493b5e33a13765f51e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855399fc34afd9532197f87634db1785a46d1b9ff4ab19676d4e35052dc120e7208399fc34afd9532197f87634db1785a46d1b9ff4ab19676d4e35052dc120e7208399fc34afd9532197f87634db1785a46d1b9ff4ab19676d4e35052dc120e7208d747e529a73b73e5d7173277b7e001e4c263941cbffdd499bcf13f74e9b6aba58e7ac1073b7162bb50724edc9959dce314153b8f9a8330190c64859005ad945ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8552fc1dbc08f1c586fad0354ee7083933379088016aa67b0486ee6dfe56c3a0d9d2fc1dbc08f1c586fad0354ee7083933379088016aa67b0486ee6dfe56c3a0d9d2fc1dbc08f1c586fad0354ee7083933379088016aa67b0486ee6dfe56c3a0d9d96dda36cddd3327f5088528cf37d97dfd6d4ffad94a6d0dd524a18ce4bc46e5de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ccb11e47a29b4a6d135e6b44d3b72a28002080adfaca8579a98ff81185d50a67ccb11e47a29b4a6d135e6b44d3b72a28002080adfaca8579a98ff81185d50a67ccb11e47a29b4a6d135e6b44d3b72a28002080adfaca8579a98ff81185d50a67e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555e400a6c66067c1fef4746104a45b3a3067387332e0f22423c8fe00ef859b5195e400a6c66067c1fef4746104a45b3a3067387332e0f22423c8fe00ef859b5195e400a6c66067c1fef4746104a45b3a3067387332e0f22423c8fe00ef859b519e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855fa544e1b81426394f60c7db33f5806fa7b72cd38285bd1d4748e06b2e8ede937fa544e1b81426394f60c7db33f5806fa7b72cd38285bd1d4748e06b2e8ede937fa544e1b81426394f60c7db33f5806fa7b72cd38285bd1d4748e06b2e8ede937e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855054edec1d0211f624fed0cbca9d4f9400b0e491c43742af2c5b0abebf0c990d8b79abdaa1c57d2b62a22d04e33c0f7ca5c06f911eb9ce62d7932ed42beac17b89305a0606e3243e645d97fd603ae848d83e6c49467fb0f1a48e892f5ef2d29866ea5bc0c6a2d6f1c455c312fe2051fa3822e059df15512758532eb0ceb655291957d36d411875991e593e0e7ff10e4d21f6984aee4b43b45ece592c23e26ce19ddf68725e36599b25fdcdf3bcb7dfb259994768d1f2f5726ad0bcb79b19578fe6fc2a043370183388812faebb60caf7150f5d21daa6f35cf2a81b4c1d2eef7c7a8d7b76cf6ecff66b2a56bed782c9ac5fd97bc282497a413c17cd6e83708997811ef6d5d8fc41c1a912a7929dbde7d7f20790e365f1c5c7ae288a10c42d04cc87d697841dad40c1fd64dd57f752172b0b91be30a4cb0df843e71d7ce1757e8cdac4a04d5f0c6ba6ab2a20135cbbba56d26b90f442cabded9b3d2fa511acbc0c90bda252596bd8d6d48c294d43235a88dc13cb4820d7b2c8c7c2df560e29da139c7e4ab3b9bfcee22cb50c5f279fc43c007778a602cfec948f78b0b5af27a378d9e1ee0aa50f09079fc1bcb732091199de61ea19100e1ac59b4b52dfb03205322e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559fb34f288557151b577621780726d50102c148188e388abf9c3bdf950f9ae35c9fb34f288557151b577621780726d50102c148188e388abf9c3bdf950f9ae35c9fb34f288557151b577621780726d50102c148188e388abf9c3bdf950f9ae35ccf939fe1db2fdd3d2dfb8e81d0cb15871961b0f18ccf6f1a5212435a98f7fe86e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ee6e44c4a37f0ef2ae91a52f8e842c66dc1fa6cc1b48f01df3bcb2e52c148d61ee6e44c4a37f0ef2ae91a52f8e842c66dc1fa6cc1b48f01df3bcb2e52c148d61ee6e44c4a37f0ef2ae91a52f8e842c66dc1fa6cc1b48f01df3bcb2e52c148d61c9d23efe3fb1810eed0f1a81a7d7233aa5c11b1529e9905bc1526ee978fe9eb68962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19bcb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3ca96b21d0df8d821e223fd81725a268489f1e52ab84d46f6f7e3f27449a5b334ca96b21d0df8d821e223fd81725a268489f1e52ab84d46f6f7e3f27449a5b334ca96b21d0df8d821e223fd81725a268489f1e52ab84d46f6f7e3f27449a5b334cddedbc99a29fe8f5d453e7086c9d564a6664a13fbbc06730d289242a849278e7ddedbc99a29fe8f5d453e7086c9d564a6664a13fbbc06730d289242a849278e7ddedbc99a29fe8f5d453e7086c9d564a6664a13fbbc06730d289242a849278e71e2e4fa4fbf84d10a15e43ef66dbb08fb64af357eae29537d718a19f3f8e28f44f3f9a0a9ede8f1f8fad784543a5eb22d1d8825757062fb3a7fbc50d19bc32b2c299d8de62fe95d016caef259c2de5fcb563e32b9e0a41a3c743c6bf40628e1d54ce3a944e6046d7cfcc25fc3ff616003ae4bf7a84c0b943375f76099fcbab058d7f7ba787107fabd4f7919c2aeba9a057058d210f22ace10c5cb136dc32f7cd54ce3a944e6046d7cfcc25fc3ff616003ae4bf7a84c0b943375f76099fcbab052cd017ce225e6208a39a37a9c2d4334747730bfe7a4a36365b6d31045df136e28e4f7177eff44bce65982508c6128e93c02e1a5d10cb0c88c402e99e949f2a162cd017ce225e6208a39a37a9c2d4334747730bfe7a4a36365b6d31045df136e2523317c8a768a67c1b1b9b4fb4ebc51480ea6486a1aee8432b301d15a3b26378c8009339ab5277766afe8419636ce3f1b2acdb1aa66aa5c54f26c96661f9e785523317c8a768a67c1b1b9b4fb4ebc51480ea6486a1aee8432b301d15a3b263788e7cee8dcf21985100c460e9b778ce933dd9fa6cfe72d45ac651d67abe2f12432460a7bbf8beff006088dfab9ea64bc024941191c88a470f56dcc8af39f677689d5f6f84c6e131a01267ad5e466b47f9e4e8bab1ed72bd9fd3e4b2938eccf06ea4aadf0abe379122e78429b91508145ce874daae7dfbd19457f32e4f708acf76b00f6e177d828b92613df98bc0ddde9cbe3cef59172b3f2578ab647522df10d8d9ddd8c677140ce08f12ed187b4ba483cce027517ede9f32c051cf3ef04490c98733ebe334422f00b261ae3cb841e7c555c697fde3edbd2058efe6acd80749fc8f534d5364cb7184cc90f580a8b0f69a45d82d0fe4705ba6c48c7c215aa37af54bdf4d0fb4721b9d99a4012b98aebdcff46c2201a9fe0bbac2fa89d24783a2656c72ff2caf9938768f54a483dcd0cbe655d4ab18884b4c9ceeef71c027cc3143d7161ba8eac9855ddc33a8b4628655d5f64fbb43c40347bf0c5464a49330e18622bee22e91bd27a44eb3f565f52cc7c4945bfe5817141fb3d3c5adeba7152f7e1ec816299c4810176dc50bedd842f3c258928802832d6f36a15076a5e0092fe2ed25decf68534b9f93b7086b30a6f509210c98095442a4b5df65cc58d52a38ab5fcb4d07e72a0755e272622e671d24f318c36b7c9df5f84100f94a470638bc3745453b79531a0110b9e3869974140efc02e95613287e0cb009d42898d9875e4fdf47a2152235957da6eb7db1bfad5c944cbab47a5ee8e2a09fa9a4d27ec30374fbdd33eccb256bdc7d162159da44b08e3dbfeab5fbed3aa076d269b3eb35781b6e43c36dcdaccb3384902d0db83ecc473248a5cd13df42fdc43bcfa6276c0a87b40c7ed8d569658184ff5ae666318375f0a9310d872c37c58f6e66ca86a139a19c6602a37dbff499e70c7a691bc089e1bfbf83a22731e6b95b643681117e530daa4b7d0a8ac823b30d3ffff1a38b03ed3c388f3d74d5d52952265c7b471d5e4509f823e26e466e52c127a5e384be037aa109cb6654c48c13ab8aeb63cebe0e1aa9e4a95922eca190177ab4a0aec2c28e204ffdec203f1b4bbdda8043515ce9b4bc74f38459434a91477197a4c9b3a58bb2bd4c70027472003c0e363c6d7efad59b2cce72fa8c7a7e688a79d55e15ea4914078c81058b0289ceb80cd5b69821c937ff666a114f8dc873f7efb19d2fca939881f0ce3d27df3f59d81b563575dbc837ff666a114f8dc873f7efb19d2fca939881f0ce3d27df3f59d81b563575dbc837ff666a114f8dc873f7efb19d2fca939881f0ce3d27df3f59d81b563575dbc8214200ca8ef87396f6485688831e0f2919c04d101f33a8ecd3d2a2fd2bf0b9059c95083bc869555f57226b45c3b2f378aa17eb905df103abf63ec30642bc60d2214200ca8ef87396f6485688831e0f2919c04d101f33a8ecd3d2a2fd2bf0b9055d87a45a8fdafca7730241a177ed45ce1da7a841d18d9f09f10f10d44e2efdefcd34e1832fb4d9ed139a810edbcd79721bf52cfa652a34b1e5e4f5e55a0e89775d87a45a8fdafca7730241a177ed45ce1da7a841d18d9f09f10f10d44e2efdefb4e826132905b6c2d87a5784a3f1d0921b5fffdb480771628e34c6eaf3f61a15b4e826132905b6c2d87a5784a3f1d0921b5fffdb480771628e34c6eaf3f61a15b4e826132905b6c2d87a5784a3f1d0921b5fffdb480771628e34c6eaf3f61a156ef847fc81136398ca689f67bf1692b06c9fbbc85f1f4fd9b81a2614babea4626ef847fc81136398ca689f67bf1692b06c9fbbc85f1f4fd9b81a2614babea4626ef847fc81136398ca689f67bf1692b06c9fbbc85f1f4fd9b81a2614babea462aefe5474eec894e301952cf6c134694f49f644da79ad43fdb42beca959046cf7aefe5474eec894e301952cf6c134694f49f644da79ad43fdb42beca959046cf7aefe5474eec894e301952cf6c134694f49f644da79ad43fdb42beca959046cf70b74729514db184796ec0864a373ffbe2d8c33db7965aa3a6fe8a894ae69c79fef6a820fb2e2c0ab76dfb156e7a19aae2f2318dd411d855daaaa850584501456d0d90bfd7e011d5dd8f26d3c798854430da6a9c8c3c607a02199fcfefb51ac877399ec0cb4be6b656bdbfdb818272b59ac50e3149a03f419776da83c3af3ebde7190c4657ad1d1eb57e37fcc4f5868a64dd8673041c511777f7cabff2e56dfb80c9c665429a34dc1ec6832ff33d62ed05798ce0953dd681481b6330eb84a3c623100c0f9c80ee313ba939ba7870a6da629f55b3b6afc2ba2ba952706cb2bd934e9ea40815a00612f56b6534c812c10766ed9ba2fc497219737d1577ecc1ccbbbc189f9a589aa6578cfda84a2e2ea48add2623e66a6146f33be2425f9a79b9d1d6f4fba227e4afbd1663ea7ff8a3a9a2bcc995d1a78b30e0ac0f526daa50b5ee82dd1dd8ca1e049abef5e5548179aba2532952f9f5362bc7c6d09bd73f80c5974629caf51f23bd82ec1d271312f45ff02710ca015d2ba8c3f56406ed5f4cc76ea17198bcd28965ab715e720bb6986fc68f490a1ddcef0fba1017c5eb29e327bcaa13ce02730563600dfde0b63692389968e44708b9bc505057bba127eac0664e4699d2dd52d9338a9b14cedf5d09bfaa23e32ef2af831aa4bba5e12168119ecb43701e6c6f64c0a59a81a5b7aca858d9f25b9ef8a83ee43b5c870d0d770b9bfa1990819f789d350a9dfa0f6f0b7a6809c35d8641879a928ba0df66bc19f0555fa7684ba667d67b1de8d9aab5a4dba739f052e67c60c44a0803e75fc5d11cbcdcbbc3bf91c06e7d1ecc78e182afccf0680becbe6206ed676059c3b68dc555676e4b99348d18818d4a27ad5db018045a1c3abf50f2bbb0bad81643f082389201d7399fbc0d494395da89493b77a15c88b5100363ef25c7fee27101e3106eda61bb4e58f0fb7a495ca9d7635dd244a0e4e063830c5925858e6be2fba9aa2ff116a1be58f0fb7a495ca9d7635dd244a0e4e063830c5925858e6be2fba9aa2ff116a1be58f0fb7a495ca9d7635dd244a0e4e063830c5925858e6be2fba9aa2ff116a1bce6e10f2a206110ae3c89d75e4ed8c3a4b019aa6c172b9315dcc29c762ab7681ce6e10f2a206110ae3c89d75e4ed8c3a4b019aa6c172b9315dcc29c762ab7681ce6e10f2a206110ae3c89d75e4ed8c3a4b019aa6c172b9315dcc29c762ab7681df113644bb04d5fa213087d0542ae17ce2f718f0f9958cc6b8e0a9dd65501cf4df113644bb04d5fa213087d0542ae17ce2f718f0f9958cc6b8e0a9dd65501cf4df113644bb04d5fa213087d0542ae17ce2f718f0f9958cc6b8e0a9dd65501cf4729057cb4fa3732896b9867bf80f62eb45eaa0dcfdccb457ee29859c4f06d770729057cb4fa3732896b9867bf80f62eb45eaa0dcfdccb457ee29859c4f06d770729057cb4fa3732896b9867bf80f62eb45eaa0dcfdccb457ee29859c4f06d770252cbe7d98d6b7f68d94d2c7dd289a5fb0dcf8dc7abcf01275af83903d57f5f3252cbe7d98d6b7f68d94d2c7dd289a5fb0dcf8dc7abcf01275af83903d57f5f3252cbe7d98d6b7f68d94d2c7dd289a5fb0dcf8dc7abcf01275af83903d57f5f3ff07c2cfddc7c3890795daea794c941d7ce7b9c4b879e71c8465c6a72930db8aff07c2cfddc7c3890795daea794c941d7ce7b9c4b879e71c8465c6a72930db8aff07c2cfddc7c3890795daea794c941d7ce7b9c4b879e71c8465c6a72930db8a5cf8b834e96d713df1af5cf1ace3ff47a1ab212296f8e2c5c917973ed75f957c5cf8b834e96d713df1af5cf1ace3ff47a1ab212296f8e2c5c917973ed75f957c5cf8b834e96d713df1af5cf1ace3ff47a1ab212296f8e2c5c917973ed75f957c493e9fe94c91362e3e0535a87a639d018202f531758e4b05c4bb5e23a7007d86493e9fe94c91362e3e0535a87a639d018202f531758e4b05c4bb5e23a7007d86493e9fe94c91362e3e0535a87a639d018202f531758e4b05c4bb5e23a7007d86a581df19d3a17fbe4a0de1396ed193cef3bdf6077fac4ef0410291c8409a5948a581df19d3a17fbe4a0de1396ed193cef3bdf6077fac4ef0410291c8409a5948a581df19d3a17fbe4a0de1396ed193cef3bdf6077fac4ef0410291c8409a5948d33d3ccdc68116ec19c1b4e31fc842bb57b2218ec8b35a187866612f750313c6d33d3ccdc68116ec19c1b4e31fc842bb57b2218ec8b35a187866612f750313c6d33d3ccdc68116ec19c1b4e31fc842bb57b2218ec8b35a187866612f750313c62b5c0e8a16b9efc94cf69c04e76cdbc396f40862a84bb9a576139df4ada028742b5c0e8a16b9efc94cf69c04e76cdbc396f40862a84bb9a576139df4ada028742b5c0e8a16b9efc94cf69c04e76cdbc396f40862a84bb9a576139df4ada02874229239d6d43ba9b2c5d36d3c65e8f9b5d9c4aebce1043f53e943b88bf26709cf229239d6d43ba9b2c5d36d3c65e8f9b5d9c4aebce1043f53e943b88bf26709cf229239d6d43ba9b2c5d36d3c65e8f9b5d9c4aebce1043f53e943b88bf26709cf9af4f46643f87a96ff8dfdd93596113a0fcf59c49cd26504a488c110fd60ca339af4f46643f87a96ff8dfdd93596113a0fcf59c49cd26504a488c110fd60ca339af4f46643f87a96ff8dfdd93596113a0fcf59c49cd26504a488c110fd60ca3395878c00170fd577d63423c8801cf61692092f2a16a2d4c1677cada1ea58e3dbfdd762fd069fb0d76fc3aa468281d6608cc6dacee276c5a540c4ce5232e5646a95878c00170fd577d63423c8801cf61692092f2a16a2d4c1677cada1ea58e3dbe3c3792bd489ebc71c9bc945de9404c1558f56c50bba8948293786f65efc4a62e3c3792bd489ebc71c9bc945de9404c1558f56c50bba8948293786f65efc4a62e3c3792bd489ebc71c9bc945de9404c1558f56c50bba8948293786f65efc4a62c474d258a13d77fe50dbee653b5dbc73abf439c9783959b2bd79c66a858d6f58c474d258a13d77fe50dbee653b5dbc73abf439c9783959b2bd79c66a858d6f58c474d258a13d77fe50dbee653b5dbc73abf439c9783959b2bd79c66a858d6f587d7e5b8eb42113f7b511b5f0c678a031fe2e464e34c5f3f6250d3921b875869b7d7e5b8eb42113f7b511b5f0c678a031fe2e464e34c5f3f6250d3921b875869b7d7e5b8eb42113f7b511b5f0c678a031fe2e464e34c5f3f6250d3921b875869b7a133c2a4ccff7999b2d12f3e7047d58e932686b17f6628a8be7ad79a5fcf3ad7a133c2a4ccff7999b2d12f3e7047d58e932686b17f6628a8be7ad79a5fcf3ad7a133c2a4ccff7999b2d12f3e7047d58e932686b17f6628a8be7ad79a5fcf3ad3a367acd64c9332e62af65a06f73680aab290c14344736e7cb023e486437865c3a367acd64c9332e62af65a06f73680aab290c14344736e7cb023e486437865c3a367acd64c9332e62af65a06f73680aab290c14344736e7cb023e486437865c99d61e30197653bc8e72b9d731bee531e017c3983d419415a23a68f1f202a31f42dda1a95ff3c6327db32eb0668c6ad8e53070500fdd90caeeb2280f5be05d0e2c8cfd497a36b3a6008d7b5491ff08dea51d8a501b07a4c085dccf05f489077f24363b884e0dd8ce0890b2a262c4fc3933e3c6d75ae0de14dd37e8656a6a51e582544c2ef9cf58b69c969d19bd470c2cfc4533e37b6dd8d64fc52209fe37e2769ddc5a2c593063442e1def67a63db9caddeab830d4de8f752b4fbe6d0da36f8586031dc23e0e69c8d5c7d82dd62c8db74dade2821aad66edf3f36e3fe3e7bb7e38f1e868b1daf10aa0342e239074cb2a9c0b021006b07b9acac083ee984b565eaa91e64f7afe9f5c82fa3b4019352bc762e6f8d1aa05bdd5408305daa629f91dd7d20a9f15b209485ddcd9794b5ee327993ff56c96b4f0d0548e5769d8a5f7cb1e813e2e1546526f216de8e547e99cb4f3e3830d061c440b371a676cab0359a2cdbfabc494d9c6f7271eb6090bfa82f985a9539bc913f8ae9ac4bd8530d37153853d404a971a95d722158441af51c7642494f4db29e7ebe3aa31d8585eb0c86f3fb3ed4833418c98f7828f5be0052e731f70c05642002f4ed6907e3f970f374a674e9a444596abaf66775e80f562cf1892db4fcad689ce97fa327df86569a2f1e1b69d63680f8af6152e4fe7fe36f1fbb65acd9d076666b7ef54eec2b2349ac62b9efa9ea9408a0e3225199a9cdaaaee75d91ffd0c02c6718465066c91f48b429af1d7e94d0027baca8b67db0013cc94bd81c5df01d28a76dc3198537a16e8dff2b0fbe9258dc917eb73b5255f5657781f20cbf4b3c6de19456f70153f3d2f3b8c353287e731a576d1049c22247609b9e2e77f8f3f976c86b95fdeffef6d18cd2f2e68ec39f29a1cfd48d0f4639051ef640b0dc58c3a391df4694a9d560b04e88df63adc6da1310d34a34b5dbadb3695a7bbe99b149aaae4eb233ee5c31b7655907aa2d4807474344a54f33f9e933af9c9f2b34f0f1f8a6c98d69df23e6c7519cb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c6d667b8f124adbef9385e56824154d24b484c185e2ce2213974091435c99c9a66d667b8f124adbef9385e56824154d24b484c185e2ce2213974091435c99c9a66d667b8f124adbef9385e56824154d24b484c185e2ce2213974091435c99c9a6ff4ba0f6ac9e0367f65f48ecccebd9c19ed6566aca43b3ce4e0463f424236506ff4ba0f6ac9e0367f65f48ecccebd9c19ed6566aca43b3ce4e0463f424236506ff4ba0f6ac9e0367f65f48ecccebd9c19ed6566aca43b3ce4e0463f4242365069bf1fa0afbf5468b7189db48910760fff0cb3401973895fdd665f17562322a8698284aae42abda13b168a49dcdfc04f169ebe3d14044625ecf90197ce85806b39bf1fa0afbf5468b7189db48910760fff0cb3401973895fdd665f17562322a8661e7aa939f448574b13deccd71017d26020ee964f0ad2fd54e165ad7091a8dbbd2a6feba418a534a443d3a9192c1a4628ab75f5d51f9521fe78266d2c89ab92561e7aa939f448574b13deccd71017d26020ee964f0ad2fd54e165ad7091a8dbb12a66997f2f6402b573a32952a420dedd6c7cc3e30c8ed95614f92d5f8c1249c0acb3c0ff460be493c028230e6637bbce99aa91bb1a420c9af8e518c2ea7036112a66997f2f6402b573a32952a420dedd6c7cc3e30c8ed95614f92d5f8c1249cad28576fea90a9de3135c2d8298f7faa0419294944339c669e4b41d40d1f1fff05124906ee837b2b7472c7f581fc8cd6f5fb71bff0e1e51a8b21da39816bd510ad28576fea90a9de3135c2d8298f7faa0419294944339c669e4b41d40d1f1fffb108f94b574f676ae7ecb4afd51f2b2aed8c5cc013f9425c558cd99b03ee3b9c09d9c46d319311dee12b225855a9a015547cd5423d3bf1712a1bca454e4ae4e8b108f94b574f676ae7ecb4afd51f2b2aed8c5cc013f9425c558cd99b03ee3b9cf5a50a9e65ba3f2a89364a01a5563253fd36570f77013196fc19e653462c16c7d3d3a50faac596628faa7cd558a8de83b69f45f99da9c0b839c25508f397c6f2f5a50a9e65ba3f2a89364a01a5563253fd36570f77013196fc19e653462c16c7d82e949746c5b6cd3ab219fe390c550a465f3410b26cc588f90f5282fca37c9dd0ac1f628c0bc416f735438dfb2f5b090e90597c736382b18a5b658508fea42bacffbeb6cae190df1fb5d362577175954cea7658ab70ae7e4a5026de837ba51e86e75b79544d9deade1c8b0b4288f9768a23e6c1c385444af9aa16f985a80778b84dff5eb752c30f19bff2fd42b756743bd3296585daca0f3c3ca2562d8a8a3886e75b79544d9deade1c8b0b4288f9768a23e6c1c385444af9aa16f985a807785e847026dc6a8e93cd8351e5f307fc6bdc8c60512cfbe0a986b7e046829d434fbacd685fe382076f14d0a264d797085779559c7b464e105ef1d40f844f68e5e45e847026dc6a8e93cd8351e5f307fc6bdc8c60512cfbe0a986b7e046829d434f83999cc221401dc2fccca9d3dbe395c82a9f009db310a00e811c68c60654771916c62c93da9ed9338601adb171f1aac3d28c1c9cae35ee1b6de7948de837e436d910ad886333abf3664a4fb4290d3b81307a16c6d9ca14356b3644a9aae6e714997e7fe3cee72d5a5d86ea6e3b33713f021abb13d753faf765632fb12d9210f4552f388dd8d5d0ae4776304c47e69b34bf059ea1ea8b7f3e4c8d6cc6207e5e72b78e533e055c607b009b1ad93dbbf16a3595f6522b95536eff974b202a34e8fde3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e46f1bf431aa68e36406b32cd94afaafd109452df427aa726855be4176077b56a2e3c4212f38d27aff680c0a7f6c377829438a7c7a4f85ad4789b22de7ca73a9042acb60984c6f721fa89c42cebe22572acc9434cc7f27d2fb4362b3602deb1d627f9028bbdde32e61ceceeb929520023607de25aebdc039c2d568d9c1a8d1dbc7c15747f0d13d0884b48d424c3b38d5e05cfece09c539c906d5dec48be3d083c0a16cfbe6b674abb6534c984f06af296a01668b208f0967f25f8a4348e625a36d9acb2151507735aa72c6aeaf15142a75cb0d3b37b48215ac45ee17106adc18b8f8f36cea94f8189a18558ae6badafbe89f20e5edc5471c7068ed53d1e2c0310e58aaf931dbd123de187c9626f6ddda79636fcdc2ecf9a01e78aca57228b12ec37dabad99038483b8ec26c13c32580f910a984b965ecd8d985f9853398d0c43d00d7c71bb5ddd1e7b3f4ed971764a36053b04c9c13782d9e0d8d75a4cf8562c216b1bc0470873c45a27c75bad8b510ddc8ec79b39fd7916eabc9a69df80d6172b215e185efa93f9f846a102c75c44b83c96371db7c66a57a9f5389932d9bbee88b1c2babfb31ff4e45cab41898b85c482c4430bd385d6a474e1239074372b513f61027bbcdf521589b58fca01c3a5d2cf9ee40f69e48567b2175647fb5e2cbb0b58591f599605aa90a10579b1d89245d53985c2fb5cbbb9b7f33a79d5d9c7966fbcd26438397c6c3de40f4546c7112c81f784356e614ae529d8c90570d40f711a12117d8c600e848b41f0c89ec1758d650a8425dd9bc40b502fce6298d4cdc002c744eb87a94e5ebd94e5966e103dcf29da97b458543600f3aa79c8158d47a98dbb430e3a9ec863c1e49395af584707be79f5abc127d87b0b2b3d29c853ffc606dbb1eb3a3abef7bbdfc9f9e8db93e359b381811aa9301ddcdc0542be2dccec06bdd3ea6d3305b4c82e329cb262edbd393980df2be56a77227be17a2b642bedce156e749b4ce527b626400921e854ed1a92cacca37cd0bff47cdd1da2ced78620be4420f7dd1f13f444a81ebb3c7e5d37b0eae1dfb409e623151dea094784f66843756eb80cb02fc102a06b377af65a1169f7504d7c9b5401c78d92312d5d1651075e4d0543540710285b399f63272edba01863e3fbedd0cf1d1f2cd8bfea3da96e466d38c6287a7ae90526ffe8eda0949f4bca67f4673bd35d11f15e64527e437114bb55fa830fe5dbae09db5401656ee0b4972674a14cb284abf05a26ecd1ebf21df6acd0761df30eaee8de4f2c43f1735d1f80d140b725468897449a593a68ddf8aa933bcd2efa9139e801195c4c1089391d377af6e92b6201d1ed2e11e69e35ae460395c0727870f181561e610e446bc8513aceb9f1842dbe7776fc2f5e756a96e24ecc5dae35ccef5323a94e957e7283e5d2f23dbc3f275557a846081d0009356c4cfba21c94c43cf1ed0d9432ccb8384c738e2149663973b5cdda4b5d12e6e55197da847cf1a1b4f1a5494e84a64168252e6fb595b7d92c6e5048c1b636d6bfddd963f73d6cf44dbc966ead784f228d3d1bf08552d8ba4cbe68ca304af03d307a859212d0ed60cd964a4beecd006e4848c284579a5dc5b2b93dfbf360a95dea9976a5c63e1b7f2f591aa5d314d62d46ebd9d5bac6a7f4961c8522d3a867a07b1632f123b51bcb2c760f895b41404abefb2b2984022cd201b6b2c42ff167b86b22e9a9467cbbbf53186c9af2947d8d345b9fa254bd6298dcf3d7c4c3fc5f9845aafcca4dbad75ad5227e9f8fd78a59d7124ad185134c82391ee88960f5f2f2b7d1bd919167a0c73fe4e7236abc5c7194af44d961d3ca24d489a0e8ee62f2f2b7d1bd919167a0c73fe4e7236abc5c7194af44d961d3ca24d489a0e8ee62945ad77be763dc74a4a385d3d0efbb1e3c4212a6788063765d6ffc84065a9dee2c9ee8f0882f982375a26492886e44cc343bb672ba40314b37691bd3c7cbf6de2c9ee8f0882f982375a26492886e44cc343bb672ba40314b37691bd3c7cbf6de2c9ee8f0882f982375a26492886e44cc343bb672ba40314b37691bd3c7cbf6dee8b8959e4c1972d5459051ea31dd99fafded4056c6b10aa56f85fa3c7273c7c788dc95887e29b6d19c61a38e56c50f6618016b90372340be356466a74349b9cbe8b8959e4c1972d5459051ea31dd99fafded4056c6b10aa56f85fa3c7273c7c7238200eb5f7066e05d58f0737b8674337c91b3099ec0a3c56d6f3e84c5c3c8f0238200eb5f7066e05d58f0737b8674337c91b3099ec0a3c56d6f3e84c5c3c8f0238200eb5f7066e05d58f0737b8674337c91b3099ec0a3c56d6f3e84c5c3c8f035178a4aa0697d846ba8bd61cfc41e813aa9a7fe4987b8494a9747c87c42e9876b03fc6e2c78989621eff8210d65798a95f2f9373c23116326bdf0022a995c6635178a4aa0697d846ba8bd61cfc41e813aa9a7fe4987b8494a9747c87c42e987925631ad1ccdea19731a5dea2028f9c7323fa9c45cb44f203a8ccf694fcd0c8d9af11c79a5949b3575b9bbf577a9c1144801d227d861ca68650fad857aafb00f925631ad1ccdea19731a5dea2028f9c7323fa9c45cb44f203a8ccf694fcd0c8dd1bbee9aa13d0f279353e009f26449acb8f8e8f2a58440d2114f7ff19e10fd5cd1bbee9aa13d0f279353e009f26449acb8f8e8f2a58440d2114f7ff19e10fd5cd1bbee9aa13d0f279353e009f26449acb8f8e8f2a58440d2114f7ff19e10fd5c5b20876c0a4f4c0c655a5d6334e94345e34123df42d0a3b8b6293df936cabbc01510bb97211de7561cbd6266596527959b50a32d710e557693be66c42c9bf2c3c855e2f48f814bf478e5b904a220368e897847f75da7a8bffe9f84e561d08e924bbd9da1de21a2e49e725114d88cfa65e055bb607f16dcda3be0cc7d1f199bb437e81bf588d826bdf92d18599593680273077a243e35cb253d143fea3aada7345bcf1fbf4606c5ea0ab13bd0a95271ebc6bb30e8dcdd44592c575efff7ab819b6467af078a4e6021f332ffcfeaeddd62aba8f54ebae55483f70024799e798c04baad627b7dc1f8208ac80aa7911eceecfa7feeb7c3ab9dd3a2e03d1e6af1ad9920ad72e28027886eddc8d3c2d91b1a3a9d6d1574239cdba6abe0fedecb43f87b64443abfdb3b96639cb2ae28008f3fb33e4bfdfd10081d1acb2a985a440a44020c365e4fbac114b2613059f9f8a535218c85da9ab9ca9b7e873a1a164e6334953c71a127f45f63af487f08da539c5334d9ea51b436034ae7c7abd3317ab9b4843c71a127f45f63af487f08da539c5334d9ea51b436034ae7c7abd3317ab9b4843c71a127f45f63af487f08da539c5334d9ea51b436034ae7c7abd3317ab9b484354ba1e71da2962c1656a2df0f5f2a561d93d56700c23d72c1211f6049082b4f354ba1e71da2962c1656a2df0f5f2a561d93d56700c23d72c1211f6049082b4f354ba1e71da2962c1656a2df0f5f2a561d93d56700c23d72c1211f6049082b4f76cdaf57275154269282cd84078749639b678b44cc0128122f09ac11ebad6c6e76cdaf57275154269282cd84078749639b678b44cc0128122f09ac11ebad6c6e76cdaf57275154269282cd84078749639b678b44cc0128122f09ac11ebad6c6eee41658cc4830028842595abf270b5b6529fb5c4e9d06a006354fa1d84ce80ceee41658cc4830028842595abf270b5b6529fb5c4e9d06a006354fa1d84ce80ceee41658cc4830028842595abf270b5b6529fb5c4e9d06a006354fa1d84ce80ce237bde8fed201b0a41fb4bb8b5f266a9b68290004b4e5a62498561af2ba8124f237bde8fed201b0a41fb4bb8b5f266a9b68290004b4e5a62498561af2ba8124f237bde8fed201b0a41fb4bb8b5f266a9b68290004b4e5a62498561af2ba8124fad8ae840f9141b89b7c7b33b99764b6a3b6319fabe0ee6d22cb4abe06a258f1e028bd816fd13992c226de2251c4a3a80ce8245f29ee47f90e26ae679ef65c6b80a2817f75869abd908e0d8fd3367ec2263f28d54d3823224ade7135bd11dd2928e39a7fb6e5b315ed4d82ed28622418120cfba48a16d2315e0d892ed74565a6a0e3cad638826e73a960d0d914deedab8cc38143bd13d8013e2c4e7e00076e38249c3054956b86c76aeed08f4bf9280062fd1cb2137b4373e06f2589b41716f9449c3054956b86c76aeed08f4bf9280062fd1cb2137b4373e06f2589b41716f9449c3054956b86c76aeed08f4bf9280062fd1cb2137b4373e06f2589b41716f94c42354f77c5d303c456292669cee8190a462a3b685609e3e8edbced6dd39932fc42354f77c5d303c456292669cee8190a462a3b685609e3e8edbced6dd39932fc42354f77c5d303c456292669cee8190a462a3b685609e3e8edbced6dd39932f1fafea6f3bdb72bfe817944f8ef4d35ffddf6e49bd2c333a1327fda1b3e4684d1fafea6f3bdb72bfe817944f8ef4d35ffddf6e49bd2c333a1327fda1b3e4684d1fafea6f3bdb72bfe817944f8ef4d35ffddf6e49bd2c333a1327fda1b3e4684d34555789ab12ca631633cb97ce53d9c71543c6e3aee0909329e1cfabff9a101634555789ab12ca631633cb97ce53d9c71543c6e3aee0909329e1cfabff9a101634555789ab12ca631633cb97ce53d9c71543c6e3aee0909329e1cfabff9a101699e4b58b4fa403210ea9110566c062cf4239c5530ceb81ccbe02c7f00ef13f3b99e4b58b4fa403210ea9110566c062cf4239c5530ceb81ccbe02c7f00ef13f3b99e4b58b4fa403210ea9110566c062cf4239c5530ceb81ccbe02c7f00ef13f3bb8552347a97f1804d9fa8636ac36bad0b80f2fcd59746457a88dff1a57107fd19668062e98d9c61873bc29c9a2cecbea6d47edf3d9099623bb6b082016edd8d4b13b016e99af2960e4d70a244592118f542cb542c50daa6b8e37229c7b7ea88c6e479745ea8d463ca298e98fad919bfb049824d79e7d328e8e9638370649505b68cac78921c6354f2928fffa6e127b5c72cc779092396f58d9935bcec7f7b5989760de61d00cc3ca9c9e3c47e505e66d211491f8100ca3c3c10997b5e247c40880400c588a2125356d8b77564ec78bbf4e6fcf386ebc40195853ad2583eda1a980400c588a2125356d8b77564ec78bbf4e6fcf386ebc40195853ad2583eda1a980400c588a2125356d8b77564ec78bbf4e6fcf386ebc40195853ad2583eda1a9fb213acf81c796f3f44afd00e17945f88874b6ff65fe9d3026f6c204da2ffb33fb213acf81c796f3f44afd00e17945f88874b6ff65fe9d3026f6c204da2ffb33fb213acf81c796f3f44afd00e17945f88874b6ff65fe9d3026f6c204da2ffb331b3f2d854c47f52f218d8d1042a32c36aa880403ce367001717d360a1e7a31411b3f2d854c47f52f218d8d1042a32c36aa880403ce367001717d360a1e7a31411b3f2d854c47f52f218d8d1042a32c36aa880403ce367001717d360a1e7a3141b1b34f10d74422c829e53436bd6920f3a4035fb1fc33403a9816eea339cf90acb1b34f10d74422c829e53436bd6920f3a4035fb1fc33403a9816eea339cf90acb1b34f10d74422c829e53436bd6920f3a4035fb1fc33403a9816eea339cf90ac338a41b69d461c43dcd7247aa1fab6f99e53594e612c0727d4bfb6ca9c75b1ff338a41b69d461c43dcd7247aa1fab6f99e53594e612c0727d4bfb6ca9c75b1ff338a41b69d461c43dcd7247aa1fab6f99e53594e612c0727d4bfb6ca9c75b1ffff58ee4945d960ef431f8b6989de9a93bca4e9d15e0ab8c5af384902772d3e3d86f382548d56f528f9cb962e54a4a426bb952ef107472f010c4188388cbb45744c5ab3a1875887418f42c11d5642e605a50ce089939a0f341e5ccdd6e988c1d8360d141a7561e2f819c975229440d12bdd3d62f3f1f186e3a32f34501e4598bec32da01ce566fdd3691e007e988c287b2dde6fb05738d88be1dc02d69093d80ce422d0616d27b2e6e557fb3c66646d39d3373cc8e9445248c41fa7aa460694191189f6e752a8a42427dde5a1d92d1d7093d304589b4c4825d2e07c91a51f0fab96cb518e4e90757d2e910e04636cd09fbabfc50ef991243b6281acfa1ed4528eed826b99fadfe28207c40e1118190b9d38ad8f908ed3b5847843a16da7e1690e91274b69a9ce91422ad6615ffae8c81d6039fd819b3b7d5c6963c0eb6f1f38faca56f29c553b80f63e2ac2f8115e5e5408345e72379c887ca548f087d1abe0fd2c30b2eeffad6d2b8eefa0bea40b7a7ce1e3674c5b6912805d81f1b3455d9c112980b9de10d97782a8a04783ed5b232ae0f55cc36480c4d1782fc843fbce49d58c1eded0326f0de81225824b2f2a8adb8b195b9c92b23dba39cbc3d06d9e331b97e27a94f23e040ac906e92accc2f5985b8019c8d08b431078cff67b77902f0e5d9cc0300c155b44d4dd99aa46104cd77e87d68872357bd98426a38abb5c0a5c5e53115243540357f6a60838a28972f19b58f1663aef54c4c82d3d0e368ad430cde791747002fd84542afeee07af165f3fcd8d9cae63d2e814a665173b0b1a8a45a8b0a4d8901f970f70a34beb99766e1f449b07d003f53f32464c7c507caa3c1198a722bfbd6bd8f924f2b87b38b2d617d48358bf5498190682c077f6af5b1c49c8bcfaf65c917b01696eaa34d9f84ff26354ab9ba0c72e8c0de26e55b3fc02465f8577c6ff84e461a2cfecc4d7f00e5ec45b178d73e76f0383329e6f960327415d28cbbf6cce4aaac20c779ef65f86257607b39aba63f331cba4b538ad4fc598a43979808f02ee6d3828f59ea02e6e6284e854701e54691f484b8e09b84d6c47f170cb65ecc5c39b9ff45ca73c6a5691c447a1390e41d4bac22cbc65955bcda47a75eab84c41e29b9005d5a9e4e81ddab993a0e3f982f132558454424744b7a47a75eab84c41e29b9005d5a9e4e81ddab993a0e3f982f132558454424744b7a47a75eab84c41e29b9005d5a9e4e81ddab993a0e3f982f132558454424744b747e0a25701d124bc254469095a8705525f20790ce1024bb6a4e042a31d89af6e47e0a25701d124bc254469095a8705525f20790ce1024bb6a4e042a31d89af6e47e0a25701d124bc254469095a8705525f20790ce1024bb6a4e042a31d89af6e7d05503ee8c06a1b94d5c9b4cee0d2148c69ec5ed9b33a0a1fd7dd0020fdce017d05503ee8c06a1b94d5c9b4cee0d2148c69ec5ed9b33a0a1fd7dd0020fdce01a9d045952996ffa2dea8fb0ba6214863ff33feb7578f808737dd266f94c1cedf9086dee2660f90f7ce8af6313d8e2c6d3f9533e235d96c00cd35b72d0d7578e69086dee2660f90f7ce8af6313d8e2c6d3f9533e235d96c00cd35b72d0d7578e69086dee2660f90f7ce8af6313d8e2c6d3f9533e235d96c00cd35b72d0d7578e66c3cf8b23af57ff73dddbf74f54bb3ac9a5c779b615dd157278572582305bdc06c3cf8b23af57ff73dddbf74f54bb3ac9a5c779b615dd157278572582305bdc06c3cf8b23af57ff73dddbf74f54bb3ac9a5c779b615dd157278572582305bdc0627109835b5f0b1e05df7ee24016f3c5f7228c1322d0c40fdc5a461717e610e4627109835b5f0b1e05df7ee24016f3c5f7228c1322d0c40fdc5a461717e610e4662251b4b3828b950e983c9a8ea4ec34c44e11bf09c109e7e05f99608e760c0ed58046351c05223ed85c5ec24c719432d2d183ab6583579d001a8d3e85ba7a757bd6d9b038cb1d73f7552c9defba1ad2266cebdf93f823f9136b754865b944c2b4d7823a50ae6be5c2d8396dd9daae5c4cb6e7c0eeae70e709a5926a41e46b624fac50bf6920a1cc22b66a117a680737fb58de18e7e651251f13ddb042980febfd3995c1d5740955412abd791e4589a65f5308cb11d1468c5764cb8d55182efbcc84a8e928d2782cd08ce62641fea3fedfb70a7166f645fe098f52ae6562092801e60c92372857e0224dfdaebdb881bdca5861fa759a35fe54b2542d12b538f5a806bb9ae62f75a753848ec4e6135e82bc949bd9659b3a2f8588fe293661d2ff2378df013f81407266858ebe8039d3dfd1574a110387a302afed8f2ce10bec51f315df18df3de67a2ea8a460c36437c048794f1145d282f04b8f66b5a0e4f38ee29a320bdb5b2b5e8e8b1ce6b421d73e973b8812c8e95d95b3debdcbea56d43f628789a4030da18104d48d020c1b33bef33fe9f3a980d7d0adf0dea9663e9ce04c594a186aa0bb09e390885df3226904d776cd8672859c562c92b35967ef476af04771d1b2a3097560077071e0d0c08a5dd9099473d03667e41fbc2a57201deecb85e3bfd55873f99634d453c2804bbe38d704fe23847a26e8a4acc9903c48a01546f939ad02e454a26a86b8c4518f5ebb04632f85aebe41006277fa253639d0811d2c07d81393777722a8a405878c44123bd8175d1b559a4cfff5eb0f20308ccb29c5fd1fa1dd31e4b40f2d4cf4e3814c40da8ca50943304eab01a544ba2e6d3f34be8648b28a6baccb20d65ee65241a14ae2494cf9e3cfc4d12b7362358f6b8e1b95f733213d19d65df4af952be84e793d2047fbd7ec57b389c190bd85b8b0221b3c8d4944258fa42ec7c90f600de7f43c6599cbcf2280b6d535c68e6182270cfbf5bc3b271db92d5f728c649b9501b4c786d42db74bc75afeb41a54dde27dc5a125828ff4983cb917f7f89bbba3c69c12ac5cdafbaabd488fde1bcd8d27a5f65c5f859df122d54bea22ee16a8c865ff5735ce54b710e880db7e6a29ebcb31353e7a90d2fd8b6ab894ab6e47aaec7b7895b39bf2ddd6f4f06ef2057e49669e7bb7959a2eec0aecdf57ae8c4a341e7edd48b12faf3f3e021ee45e59dd8e67a68ef6b48b9a62b5f9c391546f101d83ab295f8702d35eb916cba2ee63e62b85279384ce19e3f7e67c1096048d5498b6a6133a870dfab078dabdf1be517cf8aa9b4c323df7e8eaf8e5f49f337bda9e23cb69a26e63eab8533a347a9cab2f1c2a1e0e000946f9c7c9c7d17656b2cd8bda885c6a7d0bab01fed93cc39e8f2bb6a85fd3633b8148887b65c166b1e7d2970c23dfe9f8af68fcd1ba481aaca7905a72c6aa21f09ef28c9141d2e46185a8147fd3d4ddc86c1a114d87ca065eab589fc5789b2cce72fa8c7a7e688a79d55e15ea4914078c81058b0289ceb80cd5b69821c92f7ef92b779669085bbc9e216c9b2f91ad37e2729e819f43b4fcc507550b0a3d2f7ef92b779669085bbc9e216c9b2f91ad37e2729e819f43b4fcc507550b0a3d2f7ef92b779669085bbc9e216c9b2f91ad37e2729e819f43b4fcc507550b0a3d2642bc16f25e09269b80d1ab9c18b0b5ec297ab4e783dc5374c1a5ae871c0a546efbe5261d528af4100ebeb2d544700baac21404c203ec38fe0173f9fab296cd2642bc16f25e09269b80d1ab9c18b0b5ec297ab4e783dc5374c1a5ae871c0a549721260ae9f75f9ddfbc1669826d30fc38560312b1ea9bd466589ffdcc1c700b8cac528fb5941ab950084a136c23d2465dc8a52c40630fb255ea3db173ee5c229721260ae9f75f9ddfbc1669826d30fc38560312b1ea9bd466589ffdcc1c700b69693bfe309dabb87baf30a75feb12cbc3a7cafdc5d5bf0faf832a29aae6c63524a2b6305b8fd2a323440c04223a552a64105bde02690029ceedaf882fead45037a376f5cfac16d83ef6ad8a84d4bfe5b4e46027316fcba9c122d5c69179d1ef065fe64f720d63e0086e032e179977f8be7d37c8844ceb73894733607baa3a4e2e9a405fd3a762b41bb2a1cf8774596d8ec5e571ad99d4d8acd6fd0ab32bc52f3d5defbe3381e09577c8349768d1532ebe8b0f5bf8926d36e76fe476a5a51233dac32dd0b9d9407ada23c267adc96b50e4f08ecb4ad0c6adb6a504e35d0bf9da0974489fa485f5496cf067165aecca3194a77973cd136882402c6c2c5d0c97897b527c0af625e6afa98c71e78e0c38485c38f89071550652898d0287ec4de94027b2a81290cca48fe76238b539288bc7ce6f94c017d365038ca7e9b126799fe8840ac7e5cd74977fd30b85b2afb0a4b5668ea5e57330f56329f8813c8bff59e30390d65b40257226bd615d6bbaa536e8e097d3e8c0b7e99938cfcc1c752820ee6003414f5af4f99fe667722add1505c16d61818ba968c1c44ab6782411d5f20079fc515a6563fbc382e7a1a318675e09dc8657f02357e5ab52929800aa87ba8b7b2a5128cd33d12b63d7533db53619f933ba82051ae72da7e1d1773fc514b4ecc2f7e6ab0af8e7f52e0cd6335633c1c8b1c966df71d08fe4d5a463882aec9eae779cbbf2b141ee4be32e9373702ddc570d65b05c5ba0505ae00ea5b8bee637ffcadbf5644d7934563da1658ee30b8fb8adf2a5c89bd714ca9faeac763e5bec8787ffd49f08a617224cdbb84f0eeb7cef643f3cd918090c606a311a25d929d1352bf59490b49a7eb887ad86771187950e574c96d7b8677943fcf214146611156a98f9a9b46735fbe1f08c8fc7b455408977cb6f3ece63bec64adefd45bac6fc674ac16273396f21289087295f151144a3c50f6d19081ac85cd36fa39186601c41630f4c531265419c647340ba82ae819cf303327b764a27d0b89fd4cfb65b111dc0c13e45a0376bc9574f9fadd3584804c9c6f23895e964b27318cfe6359e7f56727a88404368eebf377150327df5a5ac408d7088beda26594185096414fb92a6f484f6c67bdf6c47322799d6d9437dd4d00ff194c98f6caf97bb69e7bd65e867600692c863b60bafaceaa5656b68cb0e2b123455c6612572f9e4a4cb065dc0f174199f34bac4e209bf2785603be056e549b8089956fdc73165fcb491d5b5887cc53a9e613aa6fe543958baee61ca3569b5b653b0d4617c5d0e3e8a9d3d27fd95fa67cfeed736874f9abfa6065cd37a41fe73112a8382b8ec1ec3f6425c6edf565c2a091c7534f18fdafc3b6dd945edc21958218256abc09e106dd6726f795a3582d99f8d4a43f5241aab05731f498c9e657a229d653982c357996876c0752c7832ce66232ba3885b36e739fabac3ae55d6c9b336e0ed65aafba2ef5b0e55c6df2f127bd17ea788fac9756cb53b00adb28be4954d7df2f45f6a7a7841b3b8e2d9f0bfded26710860034b4a76365fd265259184e2f16dd161ef3d287159bf6a3dfdc723d86f19367319b503bae5cb1cee922379a3aad1af7f1cbb0ca7c262d815d0eeed7ae5e6c9e261942d68ad4453eea48e12d987bf7d9b5ff10737528d1e2b3791145028c1b4722b58edb2ab6b4ca213db1af90fcae32037068b234f06ef502f99de6233b14bf7852148a3f7019a4b73bfb389a382e8a6b26aa7d307286f83baf87a1abaa9d79e4b1d2f5d3b0a3703d82fac7a572877b0d1080c32c5eb8794f30d2dabeb621596a2f47099244b00d7460bd6fdbfab2544fa511a68f3d3a5631cb141f000dac8be2eef70a062be47555beb93b97b20136d57641f72ca963578ed488b94e23579cf4f62fee1230952a719ef82797743ff9285c3bee96e44501a2379b1d5874bd1d57ad4a5aa188873448f7f52301d0dc7c4b559b62602380933013544b72c64718f2955f9c0c4a0c6aff472fda45dbcfcc95de2bcfefb7a221327a81ee0c1ff843d70270e76150cbfb9e41e5d753fde30cd980a7c535929d2ab8f8d79730926ea09a0d3c8bffa937788cbc6567e7c0dceb38474d4d3545c5c4ce1c81f1ebd5e593474d4a2668f4a8cb8aa9abda9d89cf89b0d8742975627337f91c81f1ebd5e593474d4a2668f4a8cb8aa9abda9d89cf89b0d8742975627337f91c81f1ebd5e593474d4a2668f4a8cb8aa9abda9d89cf89b0d8742975627337f9d36e352690ee8d9ad6c431bbc4e43c4ac9e31e14312cb6dfb85f56df9beaa8c5d36e352690ee8d9ad6c431bbc4e43c4ac9e31e14312cb6dfb85f56df9beaa8c5d36e352690ee8d9ad6c431bbc4e43c4ac9e31e14312cb6dfb85f56df9beaa8c56f3fb037eaf67db911f677747d3df23d22a72ecccc875d7327daa5f18465c03f6f3fb037eaf67db911f677747d3df23d22a72ecccc875d7327daa5f18465c03f6f3fb037eaf67db911f677747d3df23d22a72ecccc875d7327daa5f18465c03f96d63220568d2f3316a1cdb2869a1a52a7c95d66803db1662eb45808061949ed1f40aa6cd328063aacd9bd44cc880ec832f953745de51c893a4b1373941a37d996d63220568d2f3316a1cdb2869a1a52a7c95d66803db1662eb45808061949edfcb3a13376b66f7a34e26582997b674f573268337401c411b8bd9350a6a1f6198c79e38a080b773dd27a20f677ab3472f68f25adbc6c8ed643da36791c16f2f7b02dddb935a8ed963dea2c0cd1bcde19ff0f82ec08fbd6d3348bf2aa06f434b3058c48c55ef64042d215da7aded8ba999ab41b0f8a78dcd5c3bd23b6c4976c97058c48c55ef64042d215da7aded8ba999ab41b0f8a78dcd5c3bd23b6c4976c97058c48c55ef64042d215da7aded8ba999ab41b0f8a78dcd5c3bd23b6c4976c97f4e0a64b52aa5f731308da9b31569728c4258671ff1aa441ccb1d328b769c30ef4e0a64b52aa5f731308da9b31569728c4258671ff1aa441ccb1d328b769c30ef4e0a64b52aa5f731308da9b31569728c4258671ff1aa441ccb1d328b769c30e4856a9243b6836f65b9ebca4b923aea3ee13df35b5b6d5b670dc7c4a2b469df3448e6cef2877e8f3441c668d07410fd3836d9d95cecef3d748b28a099ffebf394856a9243b6836f65b9ebca4b923aea3ee13df35b5b6d5b670dc7c4a2b469df3dbd02101d0ca2f2ccbd54a4c1e2524639fbe32d9c5656ad6e21dc5c5661e7d2d73b9153beb3a4295ececa6bc2bf22476e06e6e7ec9feaff3406ccd3513fc20d8dbd02101d0ca2f2ccbd54a4c1e2524639fbe32d9c5656ad6e21dc5c5661e7d2da598c9fb22572c9606ba9a8480703cb9548fe0de57821974972847b62f6b5656a502389a06ee18c3ebf722c25a0f89360db8414ce396d2c0712740abaca20325a598c9fb22572c9606ba9a8480703cb9548fe0de57821974972847b62f6b56565204168161f89ece2927fdfae7c216117faadd14bb6f1c5e3019a14ec963ce0efa11412eb8738dd95e8fa4ebbf8f9d0164940145315425a0d50df9f5c96f4db75204168161f89ece2927fdfae7c216117faadd14bb6f1c5e3019a14ec963ce0e8c407cadd8f6886377b10d03b8ec21bc85400884b3ad434df15117833b9bddaa54be8a8b5a0cbec1eb9d64d98c465cd6bd4be17b34ad7367b71c2c4e7e0e729f8c407cadd8f6886377b10d03b8ec21bc85400884b3ad434df15117833b9bddaa2278ad9389e8799530d95873f745cbe94d8c93ba563ee74c6423fd77b135c29902a7bf88bd4ed4c65119a50ac56aa9ec312aea43c8d98057a08027b79ad7c3d8f3a9592ea161f6bd5492176a7a9e7ab1e8e77f99187641789aeb775e85212202109bb1e8ed18b364dd5dd266f9389980f2d8bca6777b40728e425b3dd7e91b978cc3dea3d236e8b0989a6e7a7c1b33574641a3e61d080742a67d6efc98180fc41f3bb537aa523d7615ad4b527f29a437cb14d9f97e7d9b465de6af5077a040edc3913dacb18c1f8b4d32627464053d0bd366c486b1b799a45faa8e81bc8f4f598fec4abfd88af3806d3845fbebea48a408f2d21ea019937cfc8dea43beda98c3938b2207e8eae7cd5f126bca3c19741184c7d9a9f3906db4cbaeb47d39736d83c117a26ecde1ed72ac97c60764bbdf7f560472f96f273be442d1f84d9d7ffe18c5e42e3aa94a00ec84fce7e20754052518576b0b83e892b3ccd4ad29cd6a011e7c6928a349577d327ebf675117b8933dd31fdd9c395f41136069e01f8210f836a10786fb4e6f05f8d06bf76a467bed150d17f6031b45f8e8f22e8b9f79dc17cc717cc76ca65212cfee7cef0e7ee73d1cb10ca55ac488102c5973651d74580e48024934b977d355a6439f874a559e59b52049e419dca8516f7cd743160a87c6f5d3bcdfb7015574607231f7542939ec0f4b39cc1e19b53bd1c99b19252ff7ad3ddefe67cc39c2a4737f1dad3a6c7877cb4eb96df6c331966214b77548f6b2c6a62965628493abf804fe9b06a9d6f034431488d62d2b4900e779b72feb6885d24ae006ecd84f56133e8248860a07ce380c52cbcaf51fc2c0f948db51ca458a2f9655118430069e32950762d9b34480f034dc4260dde0f971dc8722546cf64cc6e5f0c49806a4b02e2013762de8fde46b5039570d626aef23a4d95f2a0ddc14adc09efdd1f15843d27a7ba4d6e97577f8b8111e4d24453ee29d0067ef5b16ac0521be12776ea762afa50eecc1b1cfc9696729f3b26ea62ce776eca555e5d4d988e2f6403f077ea81d0381a367cd76a0579bcb62c4f519e11aaa8c8a4fe14ba4ad3dc3f22793dc2a38fef0dd2a101e740def56d5f77c8cf3e8026cce385e222c4c4ddc52a9f9e92cd51abfd1376a7e9bdfd5cb0229ce510166ab333ebb100c84fda53c407ee831f66c8ce864ca8742df7e95bc18e69e70971c00529481d5629a36a4cf98b84f5057a2e8fc1b669b9a4d4f85e935da9f5bba0ed0dcb8c8084e1237afabb8f0e9bce292ff4ce907541aa4fcae663064e9340b0fe9a41a3e9c07729fdcc979c27ac69bce33c846638f5e9f26f3b0f0df2a2e8a2c15d6b97b6d8f63ad7c4326c48452bb5e429182bde90edd45b54cd9cf9a5ca78560014730819451f25556cb5f67d6a46b0ed8892f1acb4f6f3e7fa8e20417c34db1e12f3b3c529177eb267d32feaccbfaf2cc2e301c5c7dd541b902268a643275e1ecf114b0b7d3e302ccd8df528871d37feb2d9e1db83edeeedf16bcd6f8276a6de999d6728ccad6cc2080b6676d0f6ffd11ab93279e16c447c36984b8911ef42f71ccf0a3785f9f7f001e3531b6bf80e891dfee8f243539676104b9427f240429a9cdf404aeffb900d2e264b3277bd74bd099cec75e346b1bcb4de2e07a1376e7202258e3924712fed01c6e13bad0cbf466d6c31c377ccb9027277f7dca353de3f47030398b527251042b782584eaef60fe8d2798ed961b04aa3f2ad81621e486be39d4f7603b12c4917183a3785b85047a732fe0106a0040c0c640dfad6542d75b849643f2bfcc684f6cb0c5b7de28dba46a4fe3bfac5aa12301cd28049cec85f4c74a61567fb3e8e0be8d56e9cfec6a41895dc37fb202e09200575039c53caf0842b39455630c7c72e5da91dbb14d19811eb3daf529abe62e7ccbab3bc3bb313fbe3cd08f4e9a0fd644b8123984f9776368c62c6d5c41ed2703ab2529fa8c291ac6cfd20ca414285ee9ebcb42d2fc2bbe334912a2c892056aceff5e158f51f0ef23a5d679ffba74ff8209756d0565b383b4ed50d7f1dd7ab9510c8bd7bb00fcdda836436f3369d26e05f1fdf298b3edc460e922f4927fe7d01a6d37e35c30a74ae2bc481f8e5506203d0eeb1cc7c114a4e11fd4d175923b7fc9db867860904bc46d779f6a38c68c7386b2a77110dbb5f5bc7c72eeb59a5cecdb4e056ea567bbc3948a8535971c7bb9b472b155ae3011669c70dae2bf8f152f2e3767af3780a7d0644e39bd2650ed314146c23a711dd66e8340278caefc77a190c46cabba23e1c3802779a5677c75d200d7917386667002157b9ffe643e50f7b8c8fd0579e1274c3a57d5ebedfd12fe3c79d5da8616ca37f7a9d8fddaac2c9164b593c7b116580aa99690a5f59ab5f7f1b7bc255f584e3089ce93d5c99bd57e8fccb119b636109eec7c04a3dd9148cb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3c3fa828d431d4e3640ee6c5d0ca9fd6b39a66a4f88366c51968139e685a82b9cb3fa828d431d4e3640ee6c5d0ca9fd6b39a66a4f88366c51968139e685a82b9cb3fa828d431d4e3640ee6c5d0ca9fd6b39a66a4f88366c51968139e685a82b9cb8280158a977b1fc8543180f22e2fd5484e50cd06a34440878b6e00f9baf0e5678280158a977b1fc8543180f22e2fd5484e50cd06a34440878b6e00f9baf0e5678280158a977b1fc8543180f22e2fd5484e50cd06a34440878b6e00f9baf0e567283e571ba4b3b3562ebf312bfa2967cec1f20f3c130220646a25f625578e851b1f81750bcf355a9d06ab4540ea7333e6c588dd9140a2855b40d4dd255d63582a283e571ba4b3b3562ebf312bfa2967cec1f20f3c130220646a25f625578e851b39ec493b48e251ef29e520355bb40f32db1a3131698f50b2b9ce88eaf0b6d21539ec493b48e251ef29e520355bb40f32db1a3131698f50b2b9ce88eaf0b6d21539ec493b48e251ef29e520355bb40f32db1a3131698f50b2b9ce88eaf0b6d21599e36d24b509d434f1277425bcc9a2de9d0487f057fb692f715efa7be1e2b3e199e36d24b509d434f1277425bcc9a2de9d0487f057fb692f715efa7be1e2b3e199e36d24b509d434f1277425bcc9a2de9d0487f057fb692f715efa7be1e2b3e1ff3fcf5ece6a7e45f638d638e0222986ae8b16dec533e0c9399efa25cf2eca92ff3fcf5ece6a7e45f638d638e0222986ae8b16dec533e0c9399efa25cf2eca92ff3fcf5ece6a7e45f638d638e0222986ae8b16dec533e0c9399efa25cf2eca925ed05ef7ddeb510e843bf8ea9f8aa774f7ff36d7725466d873baef0a9fc47e8a5ed05ef7ddeb510e843bf8ea9f8aa774f7ff36d7725466d873baef0a9fc47e8a5ed05ef7ddeb510e843bf8ea9f8aa774f7ff36d7725466d873baef0a9fc47e8a44e2eec2e9a2436718322b39d852f4288e598b4cb286e5ea879d395f2928049a44e2eec2e9a2436718322b39d852f4288e598b4cb286e5ea879d395f2928049a44e2eec2e9a2436718322b39d852f4288e598b4cb286e5ea879d395f2928049a15ab53ec27a2f4fcaa7db087376fe5b292025f46ca92475e9ce19c151c43e83415ab53ec27a2f4fcaa7db087376fe5b292025f46ca92475e9ce19c151c43e83415ab53ec27a2f4fcaa7db087376fe5b292025f46ca92475e9ce19c151c43e83422fbfe3e33c23977c552ee911f88292584830c6374be5ee571af34fdb91c290722fbfe3e33c23977c552ee911f88292584830c6374be5ee571af34fdb91c290722fbfe3e33c23977c552ee911f88292584830c6374be5ee571af34fdb91c2907d1530e5e1c0b8c4f7be4dad7affc14f4d0774566b01409f2669e114b6550f693d1530e5e1c0b8c4f7be4dad7affc14f4d0774566b01409f2669e114b6550f693d1530e5e1c0b8c4f7be4dad7affc14f4d0774566b01409f2669e114b6550f693980018acfb6ffd46f00dd9771fb55c4eb9049926794d261312e5e9e61405ceb0980018acfb6ffd46f00dd9771fb55c4eb9049926794d261312e5e9e61405ceb0980018acfb6ffd46f00dd9771fb55c4eb9049926794d261312e5e9e61405ceb086731a23e4ec617ec358f57159e892a9f8c492d2696c44c16654c2b28d956f2386731a23e4ec617ec358f57159e892a9f8c492d2696c44c16654c2b28d956f2386731a23e4ec617ec358f57159e892a9f8c492d2696c44c16654c2b28d956f238fefd84002042bbc574fa414eeae5dcef34038050a0500296cf09af2bb3363278fefd84002042bbc574fa414eeae5dcef34038050a0500296cf09af2bb3363278fefd84002042bbc574fa414eeae5dcef34038050a0500296cf09af2bb33632719a4c900db8efe493e2651b1ab1a6939fed0396d98fd24e9b243aec4adeb88e719a4c900db8efe493e2651b1ab1a6939fed0396d98fd24e9b243aec4adeb88e719a4c900db8efe493e2651b1ab1a6939fed0396d98fd24e9b243aec4adeb88e742c34d1d3045d25ee02f4cfa3a958b791c1d11fe751b4041c7061f9ce01f41204f7f9619aa7e639b3b8e765454f65179b823172fd55193a5caf61294477328521c1aa64711743286d4963f32ae9d0be0e85c43a6eb2a3a9d5493322cfe68e3311130e7f10bd0c00fede3056c0db37f2a3a3665a46a753e04f1f561867b0073451c7f057ceb002d2f596b6baf0980c84ae5feb20f43f083abea459dd739cb976ba43f90e11f43e7bc7eb918de31dc2cd3f2f0767b151190f023ae47d26479bfe7efda8996bdb8c407e0656749896833b92c58fa380b848503a993a0f6b12ce654fd7ff058321216cac312a3f646c57b30ad845e115c21657942eb3b06eada188a92607d3e207c0b50d8a4177e907648234d1e6b7dbcd7fbe5005893a2f26fb04525e382e57d75fae517bbd1179c7337fbc6826fb9b6756d0961017f8679587a65d5fe696edf4cfce37f9bb3bb5868879c05c27021f2f0694a9005dd09696b8b68d6b81cbb09c4f2bd98fa158bc60c3c0e801532437f31fc4c2033bd341e73f2c18ad77604db5e490ce25530ec1f33dac605417b7d826c90fde3f0fdea8606907684a4e2bb5136384aafb24affac99aeaeb4602ba712d03c53f56c6347e7a3213bdbb40cf90016fec3a563bcda08693efcb62647067a29a39793ee32887a8960e4412548c819aeb6fe944d66cc231d9984d627c75e3278731ccadf1e13688db6e4ab5ddde036dd3fba7ab097c73464822d3575de934da4d0806c57784587f8758dab5ddde036dd3fba7ab097c73464822d3575de934da4d0806c57784587f8758dab5ddde036dd3fba7ab097c73464822d3575de934da4d0806c57784587f8758d4c5ff437e8b820cf31478c31bd3a3911674530d676152f2ce02d7dec97a131c44c5ff437e8b820cf31478c31bd3a3911674530d676152f2ce02d7dec97a131c44c5ff437e8b820cf31478c31bd3a3911674530d676152f2ce02d7dec97a131c4804a865a9ba32469173270d02c62519a0992b9be6b2518fb85e273a71b392b5b40a91af084dd775eca66df4f524ff6f17f45c698d0ea7207bc285fe587e6b86b804a865a9ba32469173270d02c62519a0992b9be6b2518fb85e273a71b392b5b45022e205d163e63629f40ba70903bc8619d3bb8f56ebc5c80f71ad8f2afc95f45022e205d163e63629f40ba70903bc8619d3bb8f56ebc5c80f71ad8f2afc95fa8ac1f7c9b23714c3280a30610034f95f8960cbc872959f7151331ce4b0db17a8558c63da2b862f183494bf99b6b1b5fdb02514660f8940edb4810f155dd62968558c63da2b862f183494bf99b6b1b5fdb02514660f8940edb4810f155dd62968558c63da2b862f183494bf99b6b1b5fdb02514660f8940edb4810f155dd6296a112619f9609a9a41780dea2bce40d1a06bc9c50ba07304be0cbc20c979857cba112619f9609a9a41780dea2bce40d1a06bc9c50ba07304be0cbc20c979857cba112619f9609a9a41780dea2bce40d1a06bc9c50ba07304be0cbc20c979857cbf273404c4df9bfc8d3890582dfef4706d843b189429f89c7bc0de882eca52b8e15be72d546f383b8b8361cbff8311fb327afb92833ca6e03154db30b5fc93abd1c414597b4589cc9b0fbb21aa2dc5a06c531a3bfd0450fb73a3ff2e76c1fec3b84532b424b6b7922d81f6a0cf3c5e024630abe402b8f10e70eb4e062042d1583a37e7698e409b6da0461a1f8b2cc88cc6ae6c6f82e5611fe42931940b0153e8a494148458a3798d3ccd212187e1bf433a1630af911b957838798900cbc5166e53db51ee5963b73ee35613677d2693587b81ea0cab270f66442b87e45942972b949fdf00167cf6e48a6ceb152688eee2f9e5bd23413a9fcfbf4e1a136354a5193496c15de901d5dd2bf9568697b697c363b0ccab293df51405345301ba3e4e1577f0c906cae30ae4f4af4297b6c81ae811a23caf2f802ca857d2dae38a768eb90c08c41050ae16352a8178d421ccec357cafaf3eab6da0c16a5c41a5ebad1b25200b52954ef3275176b8d8e8fd7c77512fe788f157ac3df9f81cd6d7a427e4bab6df770e5eddc2aee4316e1d06c294d60940774e9de22ae97260395342b31bd4402624a0e7446e8bd3bd8b53bdea2f0b5c2554621d1e5dacffe3a0dafced559b2a94253c0f1b690e64aed86a3aa8eb55027d52d5197a47bba704fcc9695e1b82c4f42b3e28edfc8204b72994195aea74662b90ee8fc226e7b9af05f493d3b1636513e2cc02f5609254299358e4c826e445e1b802cb5120c7902994b5fe65771ea06263438fe339784104fcc37ca6eaa898d1bf3d856986db15f2482c607658d2715e4fb583c841d33498874ce272e6fa88fbe4b27abf1a7a53f7954b960dd1130e4fb8f219e6038e99b89f38209ac1e2aed20038876d2ceeb843f5c3fb91fe274717e62eddae834ebfa59c75a9c7580e8bd04243ba4ba16a10fd3736d946b94f415bac429f222d9898354e46ae065aee136f95a8cc780ef07d34a805853600caf8c002d2e12e45aee074e2df9632ab6785aed544c8d8a934ad902c784e35cfbd729ab0524ba8d30cf673c13d67008e31512936bf7baff9ca096de14a22e3060b4707e8ee59eb9ad67402616e622f5866acde227907a42c6773691c7a9fe7a92a12d983ea89600b4f903599753340073f7ed3a58472c32a46f10ee06a9a3a34468b1615652d240e41102239cf89cc56256d30dbc360e314f2ddbf56829791de1db995a5af5c33c9a965efcabf650f828406e7f741397393440cef44624064ac265ce222a75af53bb6e08af20ce334d6496ea7bd41d833875b0d4f7b20184728889cb3b2460bbc589ba38ba73b7568739e12c19b80384fd648e1d43d8bba46017a9271cd4580034ef348423f7b023cd8a45f39d12d301715ded1da6210311434b520e9de9ffcde26246d1d87a41b84dbe7bdd626f08efd3570ffdbdaa4c5ec3abf590c8f4d10ec38295fceb0cb679d0bff712426b3fe075463dc62bd8f6eeef319a79fa00120463831c759f5869f6851e85739a473c855d050f51f9f457b43f7ea9fd2397eecb03b69c13f47e9523f2067cf7176047eb36d6f6b4f5c22bb720a5d1a99e48f578f025a05404e635c3d6270adaefa3aa12481d918a6969715b80d95af5d5ef20454fd64919e779a2de5e9a07b4856706b8ffbee2c8b0bc863fedccd73c96422a1f8e05495a9748a6bd58e2f51c48098cecb12af541417fbb516c6ab4ae10a0b7320bd0d84105a11d238394961d16e75d38e67ebb189ec7f31f2ef7eca58d41e5bfafa9a5a5865add9cf514893641fa0ee136033e2e62d67a66eaee967c56d37e590eeab6ec1959814508cbb67a9e3bbcf9751299bd6a6790934f9a17b09b45139106972c641071a95224d0098739f6105ad54b94539778c6e3863884743239fbb65356f4ccba150b5242b257045a265d93496fe4d0a48a85cf3b21caade1e78d9ffb5fa1664f4b1469dce970d0ee278013329cfa7243f90ae656afd2b2be8c810d870c644610eae1d615e24ea5e0cd52370c5f0d3acdb7bb13706a174aef71182de2a26dc48fccd6bb920a768904abbc9b46365df3e409b2ecc14279245843abef9e72e7efac30138a994bf6301e7e1d7d7042a33d42e863d2638811c4972a64d28e5e8603d297c43bc4963abc576ac7b5d103ccc7083101718c6573d01829a5b846ab3a0e34376d1dc78ac5c4fd80187626ed13d1c8860e0cdd8871bd47dfe64aca2134b1f22b778f4ede6d9ea9a940a5a24f86707406935a039905aa31913fc5d295e5d9d683613a2ccd35f8d7997cd96b9e23f9d892b54a126999fb69b5bb79fa1d178646729bcece2d4f055428dfc135c0edc17d713b3db16bce9a1bbf74ff1602827d4fc7dcdbe1f66aaad1106c982aab19ab688d7ecd29980fafc73fb5a756d419b0159b4cd9cc0924a6464aef7a27a8898a7e603745bc02c34d2b32644bc4f806fa08c34fb30b4461a8d6dd50bcb085eecfe1c61e12a5b24727fdaf29fce3c4c948632d2ca2da68fcfc8d553107b9fc145d214baddcf7c98ad426629c09b215be0b6820373943674170b942b5a312014dae0e1c405bb69d3f7c21231a70479897d64c127625395e694c263b6f2987f3194c8e08fc385da875247f35b53d700274c389ac91d9ee1eccd5d3ddccd72b73cea2611f58dbd0cc1e8ef395c142362b22e5151be6dfb21b7927598b459a580bfe99732b1e028d8b162d1706ff78d7b1d8c2a4cbca110122a073c12c2bb7e6031ce89ec9a0486f5e5496b76efc33531a04a7c2cf991a9366d849d3d5a9356a8f6ef3a258b6ff904cc47393a2fb15c347ead9cf56aa043978e546c251fc39fd5e4cdada291bf66be06a8a948cece919fab8bbdb74f247c745a08009190132eabc5eba3b1cf806c851a0399ce86c63f419a6bfca2dcb08b953e0009d039316901da36c006eb278cf2c29727fd54048c0bec867d7be69b6476e9f5f8f4be3389a66fc3e9ad168d8a40a23f6fdbeac9d20a5267d3e1fca1c93fc6970042aadc041ac3bf1475413b85a9a3be74b0c067c55e932927f3e018873207c95a4c8b6d86950b0e9b44d1b95ad10c313e51004cd61c052b608d1cf358288818cf76c134ab452f47811ce89b476986dedfda8a49294b619455cd29df6b16467372e6c49d13b0bd7a14571f7f345f1201b81438418551171833eaff90250e95a88ed285d2ebcbe2ab3e23f9fe78f89a9ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e44235646e8fd088c062573e18be4af8b01583cf1d3b1cfaa18aa0e19028e29459a71d94cc60d7f78b3fa166c1b315404aaaa09b80e66b73efda96721c230993dfd3dfbf12a5694be61908580e549b8f38007cdeebb4ab8e3ad901e2e798fbc6606d5d200b0aef413eaaaa352c582a40102e6e8b3fc3322631e53f1d44da1ea0271d3e1a940a61aa331338fcb346dec2a5b36f1469c7d1da307cef9922bd60c3fde98345b7cb5c652a0dc394cd0d4d1fb6e68cf471bf9f5ad39aa6538f99be8f8d68aa4fb3ce8765f6df1e772e7f7c54ca1187453ff9ef295d993c93e1cb470b06ea6a1cfdf5706871c3c2d0151ec7b8232dc458f8f8df809e0bdc9cf85760b8693069caf537a20411ca4126c765c39c4f8c91221fcadf9bed8aabf68b676a93311fdd02dd883e7b37d919da182a1f6ea8804ee650cd95c0fb52bdfe42f5aaa235103edaf537a20411ca4126c765c39c4f8c91221fcadf9bed8aabf68b676a93311fdd0ccd43d1ec53ad2f997ecbb9a7253b0ed5b65c6524f009df2d0719ca43471b5bdccd43d1ec53ad2f997ecbb9a7253b0ed5b65c6524f009df2d0719ca43471b5bdccd43d1ec53ad2f997ecbb9a7253b0ed5b65c6524f009df2d0719ca43471b5bd46d7d77ba0a125336f9948df93620d335ee7fe44bb1a04bdef286bd6a52256c61c78c9536cbd31acf4912085e2da00c27598eabfe258af87af01f04459a9dc0446d7d77ba0a125336f9948df93620d335ee7fe44bb1a04bdef286bd6a52256c6ef04104318b78ab5f9ad64cad4ac391729ab5b513582b69b180ce922b81e85e3a293678906158a625e8edbeedf19f628304d80f49d1e1c52883e7896fd7e925fef04104318b78ab5f9ad64cad4ac391729ab5b513582b69b180ce922b81e85e33cf23abcf1b57231007aed568f7ad51eb9eadb6ae73f96bfd2a15bc25145158ab3d6b49c2938b0585357442ac11e924ac59a2ba0bf780c1a155b559f8d6b07683cf23abcf1b57231007aed568f7ad51eb9eadb6ae73f96bfd2a15bc25145158a1ce5eda8c7cac885b94164c3c7b449faed39f742491e2d6ac7d458094d84c4b162c2cf1aaec76a17c0964851d1f38b8fb7c7709bec67bdff42bf1f1c420cfbb91ce5eda8c7cac885b94164c3c7b449faed39f742491e2d6ac7d458094d84c4b12f3963ae478e8c4485b39f65dbc5a63032743de8ad971c549eb422923b0d5ac077ea1753854005afcf36cc78d1b8aadf0cb8b0b57ed87d1395228eb57e293e9b2f3963ae478e8c4485b39f65dbc5a63032743de8ad971c549eb422923b0d5ac0d30ddb4a2a8ae6b043be17306d192e46bc39199acbe61db9950d11b32cf364b46d1eada2fb997c3362ec218d87e68450895116fab1809aff4baf472cfb80e71d89168f0a157e153af666ab3a377dcf9e3eebdcab0df50f83d4d20a2493c90a344d547ce80d2917eda8500e465b22f56c738c43c42883b1bd1e72474a96752635bffb2d04a05d5449ef934817a754e2095cfa72b7d046dac89ee0d466d4d00569f449a265d08366e8f3ea45c5f3495d446ffde250dbe1264b4787590c92a2aa6c586064b38402c437e920e45dba9b3ec1e21b60e4918915d0921037d0fe3d8bea47ea76be81fc4d450771af98ed91d997f5422f9eb718a6d4eaa184f1f848c6c3c621a7fa6701f252a9fcdb1d41803c1164f6b52759b2a379d4de47925215e4c1cb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3cd0e0a234adff47c9d10532eaf466f044869e5eadaae25c557d1de6b6478a72f7d0e0a234adff47c9d10532eaf466f044869e5eadaae25c557d1de6b6478a72f7d0e0a234adff47c9d10532eaf466f044869e5eadaae25c557d1de6b6478a72f71073b2c7eeb2ebaee53cba424f52e563d53b52c9ce4b9fc175c8bbe1ecc4c9c11073b2c7eeb2ebaee53cba424f52e563d53b52c9ce4b9fc175c8bbe1ecc4c9c11073b2c7eeb2ebaee53cba424f52e563d53b52c9ce4b9fc175c8bbe1ecc4c9c18ef6d7298916a610546f8e61ee0424b8ea6ba013458c6b3fddb788f9cd4d6c098ef6d7298916a610546f8e61ee0424b8ea6ba013458c6b3fddb788f9cd4d6c098ef6d7298916a610546f8e61ee0424b8ea6ba013458c6b3fddb788f9cd4d6c09eee296cf82bc59157c5b6d18f9b7ffb096d4991bb32c190df2fe1911cc250b04eee296cf82bc59157c5b6d18f9b7ffb096d4991bb32c190df2fe1911cc250b04eee296cf82bc59157c5b6d18f9b7ffb096d4991bb32c190df2fe1911cc250b049146b9fcbf5186d3413d5b5ba53445d77c032359cbd9a5e0825adddef54a4dc55ef5ed551da53acda14bc9e70856e1a068cea036f1198255141989d8a38681f39146b9fcbf5186d3413d5b5ba53445d77c032359cbd9a5e0825adddef54a4dc54cf4761b7b9697d7a977cfd2b41625736ac6ea99777a8e5587d4f427c4541f9e1bd471e65ccb6b02950d41e0122e9b40fe8e82a6798ecb4c1ecf68f6f7ee9bd07e1a085075629c88ee920fa8f0bebf89ea0dbca27412eea2756802fd2fa42bd3e3d7cbe5d57bb726eb64704172b86e7aaeb78037862b63990aa6d965daa8aea8228ab16dce80095754f17604e1d4af3f3de00f35e75033a8859fc70ea07082a0de89ebf6387fc48e8ffeb4d36cd9d67711c4bd8615f7250b514078f508f2df4555e712cae702b578a4eeb23314f1759f1a3df91dd81962b4ae2fc91104d726ebbfb356a2fd1a1a359cc6e64037180914ad495971932cb82dd956a79707e714c13076513c7cdbd80d6268aef3f641a474cab63a1fc1318e1a65fcc3271af811570caf5183ca6e173c1d85b522227ff2340ef6f147376a5316da413bb8a9647846a2d6d77c74f739469baaefa34524787704f6847a7ce8913eb4906a41111a553b26dcddc46835921ca7fcbdb3f370b4605b08a2e413618b5768a3357f2efd44bc9f5a2e6cdaf162433b32a33bb982df55632cb4e64d48f7ff529e555fb25f44347660169c9bd0051823fc2d116cf0675667d1cecd5c5a0d6d9e7aa57d3837c3593594079053ae80bc9333214ff20930f633354753586788ca1d81135d132aee7e3ed734ef91732d65a26ddcee01b61f959f1cd5cc491afbde52fbe270b8211260867adb0ac3eddbe957c0137a84f2dbac75bfd09c0a8b51e3e75a7af9eaa3f8eba612ef7b502c40693ab31ad83bbbeec5749307cd17ac47e68bedcb5be530a7d86080af023af4df03f2ffab5a6220e783db8c1edca287cc91e61e380925b09dd9d43c9527c65abba1c9a4068b87c961c26a66c5c706e48b0a89728e8ca06343f122bf0c8e42b7264243496c2e71bcfbbcd77c9671a7402306115013b2b70e305b8a2eb12d915d3763278bf9a79dca69984f65461fd80dc270b78c94af6f6cdcdd4759fb797c51d00cedef8d26c1f2ccb952f6785fd9161b1e3ad8eb538b37b4c4cb9a3ce8f18e7d0a0cadb73cc9264772462de953499534736998d3c54f8c7c3cdcecc944330b5199e7328b80f6213c301854b9c28be561d20f0f566501a4f9bbdcecc944330b5199e7328b80f6213c301854b9c28be561d20f0f566501a4f9bbdcecc944330b5199e7328b80f6213c301854b9c28be561d20f0f566501a4f9bb1b334f45374931e6ae49c20df6534859daa708af76b249ae12c82666922e086c1b334f45374931e6ae49c20df6534859daa708af76b249ae12c82666922e086c1b334f45374931e6ae49c20df6534859daa708af76b249ae12c82666922e086cc264b930e4d7e6f03a7e7fa2b9f85bc51800329cd3f4d64de77c9326c660ffb31bdee304893edca5eabcba9e085b24f6ce16971087dc04acfd2380577a7f78a0c264b930e4d7e6f03a7e7fa2b9f85bc51800329cd3f4d64de77c9326c660ffb3740bcbffe0a3de261e4c5bf69e52f279cf8f87f30e45bb981b8f5356cc345514740bcbffe0a3de261e4c5bf69e52f279cf8f87f30e45bb981b8f5356cc345514740bcbffe0a3de261e4c5bf69e52f279cf8f87f30e45bb981b8f5356cc345514a7936e52f66d5dbcc213c3ae87ad8e2e33899afa5d5d0c252794866eb28bfdabc16eadd0c48d1195b229db3ff38285d23b437adc4827989853549fce0ccc5ba7a7936e52f66d5dbcc213c3ae87ad8e2e33899afa5d5d0c252794866eb28bfdabecb34c6cfcfb01e0f28fa342d1e69615e88d503cd30ac6698ba50f2b7f8dd3ad6a2ec7b9aad76a4e9c2e27041a988321c1639e284e900d7f9b56ccd95ca576c8ecb34c6cfcfb01e0f28fa342d1e69615e88d503cd30ac6698ba50f2b7f8dd3ad3b0537dd16012d6d99349df252141a8f88fe181382cf8a678eb063b3e1c7fae33b0537dd16012d6d99349df252141a8f88fe181382cf8a678eb063b3e1c7fae33b0537dd16012d6d99349df252141a8f88fe181382cf8a678eb063b3e1c7fae3444b5c1ccee6edb81158fead06943bb01e1ad41bd12c6d4fdf220c22452e1dff444b5c1ccee6edb81158fead06943bb01e1ad41bd12c6d4fdf220c22452e1dff444b5c1ccee6edb81158fead06943bb01e1ad41bd12c6d4fdf220c22452e1dffb5b3225ebff063a4d9f9cbc80a55590c8ff7a112f192ab5dd2dcae2775941e061be974ac1a846541834fe5fc7432a8edc2a2a885f3d91bbe8640b57ae343a5beb5b3225ebff063a4d9f9cbc80a55590c8ff7a112f192ab5dd2dcae2775941e06d5e48fe6b1c32a8e24ff71be008f847105fb364df1e4de43ec98062318b914abd5e48fe6b1c32a8e24ff71be008f847105fb364df1e4de43ec98062318b914ab9ba0617a0dc989b0872319f498fa55ec816296fed113f59fc417ddfdfce179f4085cb4147e79610b58d09cc15c4375df01a2330a02e8d47d9d4f073f81d2302e085cb4147e79610b58d09cc15c4375df01a2330a02e8d47d9d4f073f81d2302e085cb4147e79610b58d09cc15c4375df01a2330a02e8d47d9d4f073f81d2302e695d83e6fbde5a56db8bfc308e2bc2670d769d9e4be7eed9afb2cf7fc2ab36cad4b869356d03bc0d45f309509d097e673ff7a6950d869ed2eedf3577fb0b4197695d83e6fbde5a56db8bfc308e2bc2670d769d9e4be7eed9afb2cf7fc2ab36caac32e1e0a8e1d6f11122de650c2689800ab4acf1adb82e661d3cc626ed70c9d25759911b7bff42c6808f7cbccc0a30fb01538b36598ccce3c5dca9f96379cfe0ac32e1e0a8e1d6f11122de650c2689800ab4acf1adb82e661d3cc626ed70c9d22dab468dbfeeb3e3001343e7a9a6971d2617bcf8f1aadb7f22c8fe6682586938810c0e947ecb34bfb62c8df3799fcc435700d76a611e2e95349be672717608512dab468dbfeeb3e3001343e7a9a6971d2617bcf8f1aadb7f22c8fe6682586938bbcdb3d999b5b8116c1b7b99e972348724b565ca60ae69985228cf19426e14606fd5b1455c3ba4f4bf58dd16d7edc1f5ffa665344c7477697ada0742a52cc4d6bbcdb3d999b5b8116c1b7b99e972348724b565ca60ae69985228cf19426e14601a209bd5f6b1b2619c1b01dd9f070f4606498b4bb58146c3200a6c96486e9ffa1a209bd5f6b1b2619c1b01dd9f070f4606498b4bb58146c3200a6c96486e9ffa1a209bd5f6b1b2619c1b01dd9f070f4606498b4bb58146c3200a6c96486e9ffa513a6ebdfaa9f229029dc5cf703d1d3a83d0824dfe767752daa92c284f56dea7513a6ebdfaa9f229029dc5cf703d1d3a83d0824dfe767752daa92c284f56dea7513a6ebdfaa9f229029dc5cf703d1d3a83d0824dfe767752daa92c284f56dea7ca987f91ead53fc47d7e412f055005bf39b5c912b2c0ad7ddfde7b8efa8f9239ca987f91ead53fc47d7e412f055005bf39b5c912b2c0ad7ddfde7b8efa8f9239ca987f91ead53fc47d7e412f055005bf39b5c912b2c0ad7ddfde7b8efa8f9239da40997825010bc93a4164b5d67c6e08c05e2bdb63bc205a1c5d6f72fd929cf95ec85038c527bd87cc6a9f8842324329097cf599462e886536d13211343c7717c4568da46f28bd171b6a6c96c565e6d2dda86b2887d73ab1df739e80750b2eb85ef094a85bf34048d25ddde984e0dc946ce627e7b88ade1b9544c2dc53e9683f78c458bfab0476ccdd7f86b4e2a643418ee7680166a867cbfcd899c0a036cead505c046d1a4449fbe1ee5e1023a395f77ab84afb8ff9c97c65caca87cf42ae541d35dbfd73490730ab5238b90fee01d6b52270bc4536e1e2fd52153ad33c27a8577a21d562e42ad2e0beb1d57d70a0874fe484d33db3e33cfa6b3a29861590966b476fb8b5ff536241a2bbcd6cece79ffd19291f1cc488c7211ace7fbc25e1dadd5833e88d2066d7ceb8e3cf8d4a1ea223de5f00c230fcf92c3bdcdb6912e867d8761f299aca7cbd22dfa905fa0dfe7b2b606fae0ab77dd4227dafde3a87a1b14c2ccff4785be559b9d9975c477de7e181acff11e3585f5aa71a7129c2e6984fab966704bdb7b0c849a3ddfd9bd0393a2786ba5c21f233dc7d0ac312c76bf4600bd10fabe5314c160aea7aff21f59a9f5cd272d97327fbf391e096df3dcfc6f48b34ed6e9e8753503e423e7695508fd98ab75705f95e8c2573422c126f84bdce14b020516d754b9f50d46c7c6944d462650f3b9ff8cc7a3c51fd96bce534fa294759fb797c51d00cedef8d26c1f2ccb952f6785fd9161b1e3ad8eb538b37b4c42d1f5fcb66e7a37e24e15e3b3a8f9a118f154edee497d607d542ea77a449935bf55dbac8be3aa0353a704c6eb6781b9f37679040206eddb06b19cb8335bd6b27f55dbac8be3aa0353a704c6eb6781b9f37679040206eddb06b19cb8335bd6b27f55dbac8be3aa0353a704c6eb6781b9f37679040206eddb06b19cb8335bd6b2765d186cc2818fcd75bf96a74898e23cd90b801c9ee882f3b6b13c872fa03ee3d65d186cc2818fcd75bf96a74898e23cd90b801c9ee882f3b6b13c872fa03ee3d65d186cc2818fcd75bf96a74898e23cd90b801c9ee882f3b6b13c872fa03ee3d111878d9905071edd73849ca51ee15ceabeb2754eaa4483ac9348e23509a03ea8b4ebb6290dfdfad30482acb1d3d47faeb23bb964b0e3e8ef40687db479cc5e1111878d9905071edd73849ca51ee15ceabeb2754eaa4483ac9348e23509a03ea88b2061fc1876384078e80bace7b8e98998046746fe5804af2deae15607af57888b2061fc1876384078e80bace7b8e98998046746fe5804af2deae15607af57888b2061fc1876384078e80bace7b8e98998046746fe5804af2deae15607af578509ddb8a864503b64def2fc11ccf84c12e838422790e21319dcc61005a325a50509ddb8a864503b64def2fc11ccf84c12e838422790e21319dcc61005a325a50509ddb8a864503b64def2fc11ccf84c12e838422790e21319dcc61005a325a5071edafa28824dd575f78cf3dd8a7b7a1875adafd0b96b12be6a65475ff091f8571edafa28824dd575f78cf3dd8a7b7a1875adafd0b96b12be6a65475ff091f8571edafa28824dd575f78cf3dd8a7b7a1875adafd0b96b12be6a65475ff091f85d994beb0b6056c15381e2bb8ff85978da7fcb85a4448a6c24d222c26a634407fd994beb0b6056c15381e2bb8ff85978da7fcb85a4448a6c24d222c26a634407fd994beb0b6056c15381e2bb8ff85978da7fcb85a4448a6c24d222c26a634407f6c4a71ecc24bb14f47aa0febfe06febfd1130d989af7decb3f82c8f5883db9efc47d3c8fddfdfc1fb3a3275a798c76cd5fc625729ec5834b19822f7909030df76c4a71ecc24bb14f47aa0febfe06febfd1130d989af7decb3f82c8f5883db9efde7c83986452190e4d463e225209b54276da2938ad2c79c5da923ff5a823fa8c5d9c01514c525a33263ad4033ae752294f200eb45264eec0360efd20c68c936bde7c83986452190e4d463e225209b54276da2938ad2c79c5da923ff5a823fa8cf4e54c8216a00ca4621e042c6ed6d03b6771caa62da404b2374d13b26f6a677bdfb289a8ce87e979098239e7ecf57a0cfe000a493495f3d41fa39ddd7ff77a77f4e54c8216a00ca4621e042c6ed6d03b6771caa62da404b2374d13b26f6a677b2575d8dc77a4ff4284140c025bfd90ac4e8cd79abafdf969a6d9c05a8d028cf42575d8dc77a4ff4284140c025bfd90ac4e8cd79abafdf969a6d9c05a8d028cf42575d8dc77a4ff4284140c025bfd90ac4e8cd79abafdf969a6d9c05a8d028cf47f09c48d04597097aac0ab82c5300c0e6edaad5e117d9cc6d1283cc794b662657f09c48d04597097aac0ab82c5300c0e6edaad5e117d9cc6d1283cc794b662657f09c48d04597097aac0ab82c5300c0e6edaad5e117d9cc6d1283cc794b66265cb226f9cd99f7a80db68391bc9e4cbfdc8b7488c4ce2fdf345235fd0d0ffb3bdf97fb0994bdd4ea6f86cea31427820f3d4f3ca164eb4d546b175ba2dda683d3b86c73b30c94e98208717220e2f00af942e2af260f4480ae94540b3646373d1fef4b3b9d36f7aa3e32a0ce3cf96118b56c55c8e6e90d2bb28bac59f6de5d639a32d7dd1368e34002c3050d92b380ebeba2751157500b2fb92c3288e5cc098108b10dd24880885729bf81662b882ec29d117fafde3fa4ce73eef7b1e2e7e3003b53a2ce2a1d0b015577c4621f06270a272a163a03a1858ddff7990d3429389b213784ab33433f1434838aa0f0b0975f53fc902c94c8ae7ed58b538dafd87df317634f10ee69edee4a879ff88e15b00b09466e1df3a1bb6080673c215e17e305bb184f22ac691816ffd094aee1dee8ca361e222e67295289228ffac4f35247733dfed8d2ba84cc3850a4fd801cffb071259ec984dc9138bd89925e051c015d9abf376a65a946f48c6ccc5fc94a6299110b83c26d92b5b13987f92ce5e8e3ec4299effb7a3da670cf0cd353682551a6c673957a13b04106463b40318f1817f654898495a272ca32127539c56ab2a572118ce8bcf725a0b32458273974e82f186816365b67dd85b4581d6e51e69c97eb9f9f198459c580234ae379f5593557a7fd707a377197b91b03ad08ca6bb4843ff7c42d4500af15b71cc284390b21f0d9c10d96f0a1148734f867408858c63d4b6f788b6bf12f7bced81a61eff12a37c9e541902ab573d66b654e2c58f4d8ef133db1a0bd4572e06dd506294fb60d5af84a335b8e3017f7795962dafb9437a260c9d24743af59ab032c0c7aa5de3cba6466ecdcdca62a4b242aeaea1e5e4a1d8fc01f44394b3f801323b479a9f0c7623bef7df7d735b1dd8f98b73b73333aefcd8098414f34e44e0f89ab8ed9d3cf7f55f830dd8863d0037c6ed96e493d4cea9a4294435217e549498cc807a191974cf4dcb1afca5c4182f0dbb9caae06d42f893dbfa0394dd8b1e0e606a1dbcfe0da31a5d00bd3947acb0ed9eba932e0403be904eafa76a3bf70d4555ba648a55eede768393d81033cf2ff26b5f672100e90fd2601ece2ecfd713d37ea9534677e2bb63112765dfbb156d382585fdc56ef6fc9708b42cd0085baaac2fd96212a1018b87ff1761cec47db7bde1efd4f90984e2490a9c7733f2ac5a78fe1b61ffaea2bbe098a0913e094b7ab9c799ea68de05f9515815ed6614fed935ab4ec9e984175633dc3d487ea0ad8374d542d6e896dab6f806bf1158dca2030900fbb959aaa46144b95e48b0b39d86d643b42d403df888c710636992f609e40a3b691a03aeb67c3a021d362c3b009c1e0ae75ddb27807c8349edecfd64ea6428404276d51a758c4e796a4e27fd2caaec6687a7161a900075d3649f8083e1ef214fd91bfeef4903cc7258ce9244e77378bb3d29e032bc682d013870efd47730dc432487785e150aa0bb10ba0c9949499236c1212723af3b65a5f47f14d54dd567940cdd70712b2898f0889a688b10effe9ea1a77fb04add9f226fa064c8f739d15ef6bb989f87860eab97b8055cc5262ebcb9411c1634c6de2f8db0f43d0f401172674410952236396cc09bd43e7eda74671fdb0945dc73b94c35efdeed55a233be93707e228ad9d2eeb59bd43e7eda74671fdb0945dc73b94c35efdeed55a233be93707e228ad9d2eeb59bd43e7eda74671fdb0945dc73b94c35efdeed55a233be93707e228ad9d2eeb5936a83e8870fa65046f2d268c3534f8090abcaeb08b798e49d3f52313f031643936a83e8870fa65046f2d268c3534f8090abcaeb08b798e49d3f52313f031643936a83e8870fa65046f2d268c3534f8090abcaeb08b798e49d3f52313f031643c855d9c50f4332830a4566bc11974341b12bface91e9338ab39c77d2f614b07ac855d9c50f4332830a4566bc11974341b12bface91e9338ab39c77d2f614b07ac855d9c50f4332830a4566bc11974341b12bface91e9338ab39c77d2f614b07abe90c74c66fd50fb8a16083a9b75643d18993f237ef316592698feb8af5704f8be90c74c66fd50fb8a16083a9b75643d18993f237ef316592698feb8af5704f8be90c74c66fd50fb8a16083a9b75643d18993f237ef316592698feb8af5704f8be20886ce826d17c9fa00b35247b2336c866d1c7312911350463a42a77d1bf02a3ddca5f37affd3918a7b090e6daafde69878722acc9c7a3742e1a78c5f4afb67f5d47ab37c2a4f6e3e1fc11a4196346f96603e0c0366c22fc14b7573a7ce06cc2ecdf93bb7e7f8c959ef553777434a31dbf3260aaf55089fc5d79a6a1e670e0c54453b2d15442bc59b8e9883eef418bda11419a0576d38a624d252c85f04bfcc492388a10b5d8da12bc8daf5d17d1aa102de07c484686134481c4c06073cc5833e6da465bd14aa424688b1d38d8321e33f99389e14ab7b4ca47035adef1c86d3aea4270d94e39de3bb2c2d73c70c12a8669e4f0462dcdd6e7b3dbfdf1a691aa0c4133d02cde47a612b5eb089efdc129c3c503d4763a29916bdbe0aaebc926b61e10848118ddb784e12c63061b75e8c27d973540f57cbcb9e5604f865f9c816ba6511027394a3553f0bdda4281b75c11708809fbdd2091d4b2a521432d9437a01d2cadf9609a20af0109c65016779e4f5a61fe8affb0b542b668a41a8201c638f695ae0f5453767dd4704ee0cf2d3e9bd0f7c13357a3b73fdf6f406b04035b0346057f64bc7ca0f7e5fad65612bbef5cee5f19adf9ec56cb772e10b7c0a0fbb231c9bbb5f8d8da152923b10685edf7bc8e360807545e2973ff28872f37ec362864ed4613fd7e399539fce3af909c52de3ca5ef8163d4bf713697a0ff38ae430f172f19f098b6d6a463c0268b3b0a2327ea981e2a570d69a826264ec19d7d1bce6e77d3dc478c0357ef9910f3fea602e1b8ed48c7a0b74496801e98936dba7be52ebb67a4c0a325a885b86efec679bcd53478ea7174438becbaa6c3e9f3fb385275875cacffccb42ff5a9e11ef22ede37cefda33cb5342a99daff6be2280b800aba905f4351ac42cb1e88409de3ca466df30f5afdc112399e04a05d4fa4362623d770b2e06978a09668f2651aafa6784a43290660d2b275cb5289deb944180031660f00e508e9eceb09614946c00d1171693d090e1c6c17e271f400f156d57faa153c920c5be16063ea6141b54db86c41f7b2c694570d0a1a80455ffd601901668962a375442bddd8d49865f3bf601c2c7a741fe947d8ec667358bb640cd0d19b3d2d824d235661798718fb4a393010ec9007aaf16ef4ff6ccafd8c7c0f6053772d8759c4ee1eb55cb0b8c0e75f1f2f40f4e7942ce81e2f0389fe6622bbcda4092d8759c4ee1eb55cb0b8c0e75f1f2f40f4e7942ce81e2f0389fe6622bbcda4092d8759c4ee1eb55cb0b8c0e75f1f2f40f4e7942ce81e2f0389fe6622bbcda409c444666c2fea3da0cb0eceb7e5174b1e3e2b190125a99ebd3daecba44262c1cec444666c2fea3da0cb0eceb7e5174b1e3e2b190125a99ebd3daecba44262c1cec444666c2fea3da0cb0eceb7e5174b1e3e2b190125a99ebd3daecba44262c1ce3c0be3532edcc9882b584437e140d90724e5b77fe18bd38f2bcaf1fd3fcdd641ce37536083d917196ed0d2fbad4fa6c466c17d75449cc3724e9b925cfafc61dedd4579799dd8b4306e55418df759dd3f515811f4e94cf642e3a99ee12bd1d740e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8559cec4b1c6a5b3d261b4434a7ee0e9203839de7139cbbfde5dc23dc214dcdaf879cec4b1c6a5b3d261b4434a7ee0e9203839de7139cbbfde5dc23dc214dcdaf879cec4b1c6a5b3d261b4434a7ee0e9203839de7139cbbfde5dc23dc214dcdaf871391eee52ceafa9a39781bea1319da07a09177e04325f422c7d68cfdb5c641ce1391eee52ceafa9a39781bea1319da07a09177e04325f422c7d68cfdb5c641ce1391eee52ceafa9a39781bea1319da07a09177e04325f422c7d68cfdb5c641ceafd2f6336dcb179126d9288a2169a54ab93f147fde760c641dafebc4cd97eced18fcb3bdbf6cd81120ec6955d796e1f36f14084a11a40847e66f1e546557b4fdafd2f6336dcb179126d9288a2169a54ab93f147fde760c641dafebc4cd97eced25ef0c8565efe090736e996a4bf842ac2959009fb45c68fabd22b834e314ffcc25ef0c8565efe090736e996a4bf842ac2959009fb45c68fabd22b834e314ffcc25ef0c8565efe090736e996a4bf842ac2959009fb45c68fabd22b834e314ffcc9484934361d819b89ea4316dba49415f491e151e8b2588921fc275f65588f4e2e6e522d0ace95fa7d8496631064dadcb13f2d7de65d75420b774f90e0b9319a69484934361d819b89ea4316dba49415f491e151e8b2588921fc275f65588f4e2d58365efea2bafc4be38137fc2158e912c847fb6c7528ad8011e506dc7aff7340880526a9d1bd3d89c07e56c7161099d513bbbb8e4578588cbdfa3b2535cce76d6594d9ee6fe9c68d8962601ee0ee5fb69fa51749bf01c81784a1e8fbda6bf57ea6833251e0fcf0b225529baccd29a5caa0eb9add31faeee68e27ddd9cc21e1045cfcc78b1e0bd7dcfca2a2586ee7bcbd1b4944e69635ea6225bc03b88634ab6452db5137e133767d5b5a4ef104d197263b43b60699ee65a4d74f07c86257e0d94d4aa49f1c6c6ab662c3462944cc1535e70b6abe25125d65d9a2dc7e512231594d4aa49f1c6c6ab662c3462944cc1535e70b6abe25125d65d9a2dc7e512231594d4aa49f1c6c6ab662c3462944cc1535e70b6abe25125d65d9a2dc7e5122315db7aebcc8175c154f39dda7a0bc3ad4898b4bfb445fab919b44f3678f03f22f5268092f333aa39a57b2a893d722d1b91a86d5c332f293609af4e4d1491799384fe5cae525d4d045b73dda7ce79c30492327e79813a5bee797f3f74e6005ac4c4e91e9b27203bcb7e4493702b26dd2965ee3abc90161ad1df7f36ea1f80ac7952eae926e3975afea7e6e166f5f7d4635fea035ef79cdec49c9b69249030cc438369a74768ffd0f03a2fb1a45ddc3385e2193ea84d4b4d557550cbb64715911099c153e36827bd81d06e139a556daa161ac77959c1d629e40074caa5d6042ea2f2e2acfc90b53e3c75652750753e2c1769f86b98d221c1c1191a51f3fbf4bbc0cf60c1b09377e6ba1b78ce7a59f4fc84fd311448452f5981d1dc977aed43f7dbc4f9a70202186f0ed03b75b165dcbbe359d5cbded59885e9ece57f32f60a76956bcc99f16e3ff2db7998a1f7ee29634db3852ca02afcb152efb5f86bf730c8f335799ede5ef13dfe7078cb8e3dac04c5b12fa7953971e0855426839677c4b1b23533d74f2da17971ee21409013350e298b67ba7d9500ff3de98b7b7cddf24de62dfd70e4af57ca201a4775fd1df0bc2dcde1242c8fa3d7e7c72ff2927d73aec2d07f317e8075cf9cab5c9af2bf8589008fb2681565f0b4ef4da0b05da081aadc687f317e8075cf9cab5c9af2bf8589008fb2681565f0b4ef4da0b05da081aadc687f317e8075cf9cab5c9af2bf8589008fb2681565f0b4ef4da0b05da081aadc6812bd005a9a7275cd69d95d5775b46aff54439d5bc87c1e80947d447b3945620812bd005a9a7275cd69d95d5775b46aff54439d5bc87c1e80947d447b3945620812bd005a9a7275cd69d95d5775b46aff54439d5bc87c1e80947d447b394562081a0af804dbc876b0f0e5047ab2b3ee688a3410a0fc83b0ac61208a1643c8b57806ce10c83279291bcaf6be8f4d24d22e548ccb67f47b7ee7561f6613ef35dd201a0af804dbc876b0f0e5047ab2b3ee688a3410a0fc83b0ac61208a1643c8b5782781242f827e90af1f96f26e78cad43c504b311126aec0c00b33e88c721d603c896ca2ae1fd6045d859a5b03670d111a0a8b3b4de197e20e9561ec2187b79eab0d105e310c8e3caaafa542bcd6258f140511676c5f0fda2fa2e71a2d2458298359c346f50290290a5a1537030cbdd8bd87324f6e887bf0c222452de9fac1dc49051e91b9bef3f5db944f853c22af9250cb847a21c8d24d4acdaef01c756e6b1e59c346f50290290a5a1537030cbdd8bd87324f6e887bf0c222452de9fac1dc49cfc24feae7118a1b08d1357548234b7a3491869d0466305a47cc962e4f7c833eb6b0a27e06156f5ac07ecf4d43dd7357e2c279224985444f43ea1896cecb6715375c3e8a2a456bb83e55437499eb2fd2761ba8a1666e3b42b0b2550c422356b4b6b0a27e06156f5ac07ecf4d43dd7357e2c279224985444f43ea1896cecb6715258b36afd3b9715467f13c40f8b964d256768d798031662e25f3ed0adf5cb4b73f0f3608e9b1d83e54aee6e00c710175212ee09f067b39dbae2c76351acee6e8370ef46a640130bf8ccaacd81bfced82149c5cf2e5792bfddb85f23c38e1c47b2c956451c853491dfdcfc47abda05723003054f2d0a6439a211d98a8e0499891296d40cbfd6b341efe056c0d4a9075ad441e1dfeb3aae8655d98413deb1aa79f760200dda3cfdff2cd31d8ab6c806794f3770faa465e7eae00a1cb3a2fbcbe3a89e0326292b96a5700582a37ebf3d8ba60f1d136772b5cd15b2c2ae653fda188a4fc0efd8ac47181439a5dcfc19d53cabbe88ba7bff49edafa421f9f04b822209b7927594b43a8417872a7a533486a6c86b481e07d3c2d0e78f4d9c046203425e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855856575acc2c8b7873b7af7909fa4ebcaf18c7be7702b1b9e13089f3de24a278e856575acc2c8b7873b7af7909fa4ebcaf18c7be7702b1b9e13089f3de24a278e856575acc2c8b7873b7af7909fa4ebcaf18c7be7702b1b9e13089f3de24a278eddf9219ede3ba1bbcd1ba34cc8a5b2d840dc3477a7edae963e10ddfb9e7324e3ddf9219ede3ba1bbcd1ba34cc8a5b2d840dc3477a7edae963e10ddfb9e7324e3ddf9219ede3ba1bbcd1ba34cc8a5b2d840dc3477a7edae963e10ddfb9e7324e3ffd93515dbe0bc61779aafb3cdf11e4c32d229e120139bfc38d3ea54b95a76e38cf248d2b943c380e0f50a3b80293de6d739f8a6a7ebfc182d81ee7663e04aa17a72d9ed8bed3d8e10d9a4b2013ffe79c6cd6367254e5baad1286d43552890ec798aae7206b2a921c09f0754f215d0d809180f08413f87d77f82908eda01968cf10ab50ee397d44da9231e17fe6c4ba2bc7d76dc96da782b47d5fbab579c05e8c1dac33346d14806773eb6ac36d80e8c3e046989b9fe7d75d7f2b274faf7b7da592c294d253a266eeb1dd4baffedc87aae29faee70e2c5dab1c86460a1678afa48110eda63bc62087a84f0fff7dfd2a7169ae7df2c0b9a30ae8d587200c79145c3bffa36e519c31e7d4a6ef862999afde0d2971b12d5cc8ccba97d00e228918559b771ca779dd36fbad406d9f8a406c0877bc588d17742df39e5d68daa40f17e04882d7d6a685aaa45f5ace5db9e0e01216676d20ee9ca29dbe5881241d6bed1f66e4cde564f6c62f8cc0bd1f50002c0b09fe3c9e82aadffd3c6641cd283f31804882d7d6a685aaa45f5ace5db9e0e01216676d20ee9ca29dbe5881241d6bed16b3d0b9ad38fa48b21602b37674d3cfdccb6e4ac16229dcec2288154e730f90724ea2f33c0bca8ff3fb70b1a9e342069e2ba4dd4cacbdf23631899e26aa347e76b3d0b9ad38fa48b21602b37674d3cfdccb6e4ac16229dcec2288154e730f90728c96e551b734847c72fc13bf627f73e698245e9eccc787aa03b7ba6215d12afe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c28f9d08c039cd2c5d6ce7a1d0152474ddd466a30f6da8751045f8aefc02e660c28f9d08c039cd2c5d6ce7a1d0152474ddd466a30f6da8751045f8aefc02e660c28f9d08c039cd2c5d6ce7a1d0152474ddd466a30f6da8751045f8aefc02e6606abafeb9686a64a4f8f091db1b2a553505c78326273b4f42d02e368433bda599d2dd0e216c693d0ea75617051db7b882345656b9fb3faa71326296dbe39d35b26abafeb9686a64a4f8f091db1b2a553505c78326273b4f42d02e368433bda599d4f7d6dca3c66256307738a9f10b4b7d877fa7cad3a2742c0e4192c49673d8a72923167c3f47d7060a1836c8d9cb15707f133feadadcc061f66a73b9bffbeab0d4f7d6dca3c66256307738a9f10b4b7d877fa7cad3a2742c0e4192c49673d8a7ec1fc4727c5a5d18b553fc535a04830bdcddccb5c2aacfc2ed630be6957d9df3a8627b2c991393564e7c392a10e98c64838d40bf6504175d09256ab44b47251cec1fc4727c5a5d18b553fc535a04830bdcddccb5c2aacfc2ed630be6957d9df3b3f5a08579b81f6a35c4ddfd38ab64d41a9fcf540415df9e66e79255f3737f85d32276d99e88a53241d2440bf4c31c76c77bf41b35172bc87b9d934213c2336eb3f5a08579b81f6a35c4ddfd38ab64d41a9fcf540415df9e66e79255f3737f85fbf87924f909b5354e23996dcfeee581c8357085aa1bc1929736956883730a08fbf87924f909b5354e23996dcfeee581c8357085aa1bc1929736956883730a08fbf87924f909b5354e23996dcfeee581c8357085aa1bc1929736956883730a084607ab4d2ac5a41f67a308d41f5ee2351e71bcca4178dd4af5e78a3d642c75f24607ab4d2ac5a41f67a308d41f5ee2351e71bcca4178dd4af5e78a3d642c75f24607ab4d2ac5a41f67a308d41f5ee2351e71bcca4178dd4af5e78a3d642c75f2677cc2c6098c12003173234795626cbe55fe17406027e44630518f348c8d39de677cc2c6098c12003173234795626cbe55fe17406027e44630518f348c8d39de677cc2c6098c12003173234795626cbe55fe17406027e44630518f348c8d39de69330aab65abaa92fef5616464903ab206452ee1822dbc89befb438e4afdb94569330aab65abaa92fef5616464903ab206452ee1822dbc89befb438e4afdb94569330aab65abaa92fef5616464903ab206452ee1822dbc89befb438e4afdb945f72db870465af670531896d085adf290f68b8d92735e3e1955af65a1c2c5cb0de98a8a7cb8d79016893d34312774b08d0c17d533b05839f2477ba171aa80d8a1f72db870465af670531896d085adf290f68b8d92735e3e1955af65a1c2c5cb0d3accdc6db4c7a254ecb15c8d88ddbcb9a8706f08c8b576a190f239dd5862c3df3accdc6db4c7a254ecb15c8d88ddbcb9a8706f08c8b576a190f239dd5862c3df3accdc6db4c7a254ecb15c8d88ddbcb9a8706f08c8b576a190f239dd5862c3df8b150ed6ef9fafc4b7e00a001632da6ca10802b42d6013f5d91d23f0db0df3b18b150ed6ef9fafc4b7e00a001632da6ca10802b42d6013f5d91d23f0db0df3b18b150ed6ef9fafc4b7e00a001632da6ca10802b42d6013f5d91d23f0db0df3b121ecedcec15a21edb39410f4262fc64908cac2bb80d22e1fbec5f15027e09d084d3a571c8f611374a5abc694a13fd6eda939543e00a716ef7bd1a49c35798ed921ecedcec15a21edb39410f4262fc64908cac2bb80d22e1fbec5f15027e09d083fd82ee8fcaaeb27d6a611bcb72c67aab5a6ae36162fb8d5c2ae6464bd2b16a714c92d11f7e53a1d315e9125458a68105097d152dbee27cd063c9f6664c7453c2f1214af1113c659b37ff02aa9727f3341812e066c82524c471e4325bcde6f72c72c7dfa54f5af1bb9ad263964adf130597666ae1e5cd125f5a435b565d6c15f084149ce7f90a847acf09ab5d6295f770f5078d0c696a06c0019842583ebc6f05de0b82d1083ca378f5731bb0d5215f04d26fee7243d50b29d9f2cd55ea6a7f424085a59861d397d516cd5ff993ad664f08c84720035798ee8629981811339163346942cde6b530cad810e781b76687bb71cc57bdfed1b6f16a7a97b831f55e1c89b087f49b924b4f49dfd5f2da2f69bb4de8dc93d3363f948869e95a3aed43cae4323fc50a690894c1585050cc6f960b6eb4a85c0717685c5e6d0b378fc02edae810e99fdd9cb7fe0c84c20ae7e4d1cf8a0f46bcac23277ad2e4ae30111337d3c0857fea8601b13933939e7cae66259587e9d68aab603eb71d073315455d247e728ca814a823bf7bf60162daf9db95b93d532948c4c0bea762ce62f60189078d236b20e7cb522daf2390fa84c55eea81c5c30190f90f29ae2ca1ad8355bf247c6b4e45d1e019318703953a4b172ba65e618544ed10de382d346336379deedcb14d3bc951aafae7528eb7cfd8083fbe900640ee1c945d892cd8249fab9ceb12218bd2f9f0212bee458a94cb4a5a8cc15179c83f566b3670119b135c6fc7246f2c13bd70a0214347b259c76dbe5d075ebc9ec0775a71f794d21dd78a40f089927362fb07ee5bf510fe71e8bf50123f0e4bae212655ada2e5140d65b4b3f20658556063d0ccdaeb0e36dd2d48a5444934608c057c779a237a9592a0975722f01b1d05d983f0c4067d31025885a68f9966d73a925aae364a718a33d187320b03c9d178452ae88d9eeb30c4c396113983a3baf5086bec937e3627678aed60731227d14a64c2a2de938915961fbc1a1017c26f5e223117164491ad0ae08f28d85574a61f14657a7d788855535fef7dac3b034e7fb46bd6d4ec061b4667b52fef27123e6a7e181cb59bc5f01fde5fbb76699a5e8c5063fccb4ab204e72c086532f46b6dee1adbb448ffb2d55c7f9816e53faa285dd4b9c7b7e862869f8aa003bc55b4e286b98ebcecb05850fae4d4c8c666b2b03592b661056d8a8372d8c74610612b92538692d087426a61cf2ff3b553706a54ccd29fdee942425e01e51a321d3869a013e38a224983af61879df7fc866f6c8c7a1d3b601fd3b4b7000101e03b2a798fdc8ccc7ab3aa0bde6b83249ecdd8123b85f25fef76a550262c95d389905bfe4575700ab6c04185497628449717f848f088452cb437e01ff8f9f6b0330d9de072c40b656a17467c1d951ecdff576ba012fb37eee59e7f113eafef9b9355804af12e8d9ca6dee2881accbbef09b09496ce377af58889ccc83d52ff4b98a5ea7d9eca630f98fd38dee62cbf9af302ca6f40a9dfc7477dad01bc44d53c0625926eb41031dfb915a9fa911c1edec4aa5299bc84148018615f7fd0644273f17ba6c78b6cfdaca9b9017f9a8a9750f950578776399bdc2f51c431066409639de152a28542d8f833933fd16788f7bfafa6590f728022ed5d2f8a128b0b1dc2bbab15656dac8455a7a56abd64d3715c4a745b47069fa730c4c717d63b31ec61ef9ddbd62567e0eeba124066c95bbe54fbee614ef420ac453aafce3843088f6d0306a1307f280b7ebaecf6c40651daf4f4b28bcd21a0439c8a7e9b0d7887997e354eedb4edbbe661a4ff59bb9120a4911365cf14328b6a218c22087b283caf27f3c27820469411bccf40cdc1856d9b02918e6341c10b3525246c3c88e1bebb98830d468e5d844efc8c46782fec445a5726c7bc6130fe5cdb3e4804f680aef702a158afbbaa8218ea3d5e7bf22ea6751ca3e87c5a9f02db45eb9753025e7baa569bb0e1c6218d5574429d2e2885e99286adcd1ad3acbaa92b8ecae776727ab3317276e5d1661da06360efbc90762d41083d3ad5607a6c206cc725373d79840ef54d5dbe8584ba7229217f0a95904bd6ad456a75b35f3938052546e10a8b9e30ff85eb82cfafd2ee909913907cb4683dae53b542dd31973b2ac0a5e5e4d55665f7808701f87be431ecbeed62a569dc0a3c2157f8fce0c1756ba1e8720475a85072582070747449636dcf916141ade9d5653c1cb628537ee6d630212c8b1a30415e31ef1265b8ee74f8f57b14046de318a09bd50d3812f1b9eeaf6acb4970205831d3ba2b573b2441309cd4b9608c8260766f0c6cd6272c610f319282ce07e2401bf1cadcec4971ad9def9f97ab46cca389d6ea4dbf9be8c9c9a5c76dcb5ae7ccef77331437513d3a3d37f088cfa6f3f7e6a58e78bbc1892b81080d75d250f8b77ee8a630f5f0432df4058e5f628db4e34a6a3d26af006999ed5bbd19964108e60b00df791afaa35be1773accb3495169358d068861fb5cbc06f4186ce9e5382f263962755cfa933e5e1381412a4f4a0ca0a58843ff70e8fc367a954fb1318270e2ecb9205d2f85b08a651806fd2ced04912496e395cf3c5b04f07ef77b157ae963906e9f674a25269831129e4feb118a9048501bedd6a2e764e985b7632f22a77b2cf32a19fd90cffd7860587eafa537963bfe7417e610756462eef65bd99acdea9a072b28a79a91173d898e7e97a71a994273995ff91f8e9b82eb5ea28bfc63c0604de669e9d9e3c732f0a8cb4605d768edb154250b4dd7029178fdf2709506f28c8c6478b165f5025b07ee63c0c337a502d6beb2d97210fd422ef0029bacc7dda1b08b6e1325209cad926b5a2034792cbf14ddad1bade23f42145be1256db18276127cf3608d09f0558c80a8f1a8924016bd2a977ed54efa1ebf0a880ed91e310c4ff7db670ab48bf9b05f08bf199b059b770def2df951b50c5f59bd879106f37c10ddc8cbd203b7ccebfe983f2761674ded759035f0b5f2da9135e8eeecaa6d072b415444596bff662ec9dfd55e19c6ea0ab0aeb2425bb1c958e8ec5261e8d624351c8fe058d0e288a784c5904cd09ec7e75b777caa763b4ef5ea2e85e5fbcfbe65c2c8f8ecf1450b4415a05adee079172854ab3850a3b3facc9af5997bf57d4396a15c4486ea46224d1bb4fb680f34f7c9ad96a8f24ec88be73ea8e5a6c65260e9cb8a79152fc90d3c84314239b59356c452c7d88b88fe8fa96f2f123d25437728bb82efd605526a1004b662620292c1d808ed696b5cc61d9c5748121fd10807123998124b3c8e971a76d61cbf6a1bc9f9806c2b8e651a3aae2978c21a5654e98a3ff339e9d7525d14bf7361d0dbf63325537bdd019c67d7dc265431266c1c13877b1f639de99c00960b9356996859dfbc79b3ebec6aa1d3e821a1b4bf1b80168e78b70e4fd1bdd72a5dec30063b092aa8eb243eda3b95eb4b47ff95a50897ccbacc4c3e2cdb56febb5106607bf5f9b92b2b7a9516814e7650139cfe46f6b36bfcfa32719cb87050b0fb410da3b88df752c2e1bdaeec77ac052b04febef31a68823cfcbafdfa1f139c91c2b486f3a4a931bef18e08883fc5f5c81975f5bd19cf92e6d1f57959850b17952fa721b5a9349855176174868a2e0abf530a4d5fb31e9e0d19a7cf8e17fbbb4913ca0ce8f2ab8281bda5184b45d9ebf4538b1339a025105555f7cf8e17fbbb4913ca0ce8f2ab8281bda5184b45d9ebf4538b1339a025105555f7cf8e17fbbb4913ca0ce8f2ab8281bda5184b45d9ebf4538b1339a025105555fb1a8382acacce4022b02daa25b293ddfc1dc6ce6a3ddb8b3d95b517592c5a4282f27f5c9108936a693fd496565e5c5050b5c62cfbb61d1d5da9d97c89533d6376c30f791c757548867f4c621e58ca093476cd8cec7ace0d91b8436c7c5d4e531ba5f2b50b0712b113f73ed1f23b741b0a120e2cabbe6cfbe73653ae2724d00f8rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython312-core-3.12.4-150600.3.3.1.src.rpmpython312-testsuitepython312-testsuite(s390-64)@@@@@@@@     /bin/bashlibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2)(64bit)python(abi)python312python312-tkrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.123.12.43.12.43.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3fff|f|fy_fb@ff@eZe؈eԔ@ee@e@e|?eV@ee d@dd@d˖dD@d dx@dw6dNX@dJcdI@d!@d@d@c>@c@ck@c@cS@cck@cWcRc#cccb@b?b@b@bzSby@bs@b?@b@b a@a@a@a@aX@a@aa@af@a\>@a,@a(a @a` @` @`g@``r```@`N@`/@`"y@`!'`_T__԰_ _v@_u@_P_|\@_m_O@_N7_>e__@__A@___ @_X@_X@_X@_X@_X@_X@_X@_X@_X@^z^z^z^z^)@^^^^@^(@^3^@^'@^H^|@^h^`^>^>^8 @^8 @^ P@^[]f@]f@]]]]W]]c@]]]z@](]]]@]V]w@]i]g@]W@]Ik]6]!]G@\\9\~\@\\@\7\+@\\s\b@\b@\Q\C@\4\4\,\2\\\\&@[[@[^[ @[ͻ[ͻ[$@[ā@[/[[@["@[D[;e@[6@[4ZnZ@Z@ZZԐ@Zx@Z@Z Z Z Zz@ZxG@Zhu@Z`@ZLZ"Z }YYX@Yo@YY@YY@Y@YP@YI@XӸXƉXqX@Xv@W@V@Vm@VVhVCV }@U@U@U@U@UU[%UT@UT@UCjU@TeTBV@T;mcepl@cepl.eudaniel.garcia@suse.commcepl@suse.comschwab@suse.deschwab@suse.demcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eupmonreal@suse.commcepl@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eudaniel.garcia@suse.comdaniel.garcia@suse.comdaniel.garcia@suse.commcepl@suse.comdaniel.garcia@suse.comdmueller@suse.comdaniel.garcia@suse.comdmueller@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdaniel.garcia@suse.comdaniel.garcia@suse.commcepl@suse.comdaniel.garcia@suse.comdaniel.garcia@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comkukuk@suse.comdmueller@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.deschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdmueller@suse.comdcermak@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.decallumjfarmer13@gmail.commcepl@suse.comcallumjfarmer13@gmail.comcallumjfarmer13@gmail.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comdmueller@suse.comandreas.stieger@gmx.decallumjfarmer13@gmail.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commliska@suse.czmcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.demcepl@suse.commcepl@suse.commgorse@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.combwiedemann@suse.comtchvatal@suse.commcepl@suse.comguillaume.gardet@opensuse.orgjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commliska@suse.czmcepl@suse.commcepl@suse.commcepl@suse.comjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtoddrme2178@gmail.commcepl@suse.comjengelh@inai.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commimi.vx@gmail.comhpj@urpla.netjengelh@inai.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.comadam@mizerski.plschwab@suse.debwiedemann@suse.comtchvatal@suse.comtchvatal@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comdimstar@opensuse.orgmimi.vx@gmail.comjmatejek@suse.comdmueller@suse.comvcizek@suse.comjengelh@inai.deschwab@suse.dejmatejek@suse.comkukuk@suse.dejmatejek@suse.comjmatejek@suse.comasn@cryptomilk.orgjmatejek@suse.comjmatejek@suse.combwiedemann@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comschwab@suse.detoddrme2178@gmail.comarichardson.kde@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comdimstar@opensuse.orgjmatejek@suse.comfisiu@opensuse.orgdimstar@opensuse.orgmeissner@suse.comschwab@suse.dejmatejek@suse.comjmatejek@suse.commailaender@opensuse.orgrguenther@suse.comp.drouand@gmail.comcrrodriguez@opensuse.orgjmatejek@suse.com- Stop using %%defattr, it seems to be breaking proper executable attributes on /usr/bin/ scripts (bsc#1227378).- Add F00251-change-user-install-location.patch to make pip and modern tools install directly in /usr/local when used by the user. bsc#1225660- Add docs-docutils_014-Sphinx_420.patch make building docs compatible with Sphinx 4_2_0 and docutils 0.14.- Update import_failed.map for python 3.12- Reenable test_multiprocessing_forkserver test_multiprocessing_spawn test_subprocess tests in qemu build- Update to 3.12.4: - Security - gh-118486: os.mkdir() on Windows now accepts mode of 0o700 to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting tempfile.mkdtemp() in scenarios where the base temporary directory is more permissive than the default (bsc#1227152). - gh-116741: Update bundled libexpat to 2.6.2 - gh-117233: Detect BLAKE2, SHA3, Shake, & truncated SHA512 support in the OpenSSL-ish libcrypto library at build time. This allows hashlib to be used with libraries that do not to support every algorithm that upstream OpenSSL does. - Core and Builtins - gh-119821: Fix execution of annotation scopes within classes when globals is set to a non-dict. Patch by Jelle Zijlstra. - gh-118263: Speed up os.path.normpath() with a direct C call. - gh-119311: Fix bug where names are unexpectedly mangled in the bases of generic classes. - gh-119395: Fix bug where names appearing after a generic class are mangled as if they are in the generic class. - gh-118507: Fix os.path.isfile() on Windows for pipes. - gh-119213: Non-builtin modules built with argument clinic were crashing if used in a subinterpreter before the main interpreter. The objects that were causing the problem by leaking between interpreters carelessly have been fixed. - gh-119011: Fixes type.__type_params__ to return an empty tuple instead of a descriptor. - gh-118997: Fix _Py_ClearImmortal() assertion: use _Py_IsImmortal() to tolerate reference count lower than _Py_IMMORTAL_REFCNT. Fix the assertion for the stable ABI, when a C extension is built with Python 3.11 or lower. Patch by Victor Stinner. - gh-118513: Fix incorrect UnboundLocalError when two comprehensions in the same function both reference the same name, and in one comprehension the name is bound while in the other it’s an implicit global. - gh-118164: Break a loop between the Python implementation of the decimal module and the Python code for integer to string conversion. Also optimize integer to string conversion for values in the range from 9_000 to 135_000 decimal digits. - gh-118272: Fix bug where generator.close does not free the generator frame’s locals. - gh-116767: Fix crash in compiler on ‘async with’ that has many context managers. - gh-117894: Prevent agen.aclose() objects being re-used after .throw(). - gh-117881: prevent concurrent access to an async generator via athrow().throw() or asend().throw() - gh-115874: Fixed a possible segfault during garbage collection of _asyncio.FutureIter objects - Library - gh-119819: Fix regression to allow logging configuration with multiprocessing queue types. - gh-89727: Fix issue with shutil.rmtree() where a RecursionError is raised on deep directory trees. - gh-89727: Partially fix issue with shutil.rmtree() where a RecursionError is raised on deep directory trees. A recursion error is no longer raised when rmtree.avoids_symlink_attacks is false. - gh-119118: Fix performance regression in the tokenize module by caching the line token attribute and calculating the column offset more efficiently. - gh-89727: Fix issue with os.fwalk() where a RecursionError was raised on deep directory trees by adjusting the implementation to be iterative instead of recursive. - gh-113892: Now, the method sock_connect of asyncio.ProactorEventLoop raises a ValueError if given socket is not in non-blocking mode, as well as in other loop implementations. - gh-119174: Fix high DPI causes turtledemo(turtle-graphics examples) windows blurry Patch by Wulian233 and Terry Jan Reedy - gh-118643: Fix an AttributeError in the email module when re-fold a long address list. Also fix more cases of incorrect encoding of the address separator in the address list. - gh-58933: Make pdb return to caller frame correctly when f_trace of the caller frame is not set - gh-118868: Fixed issue where kwargs were no longer passed to the logging handler QueueHandler - gh-118164: The Python implementation of the decimal module could appear to hang in relatively small power cases (like 2**117) if context precision was set to a very high value. A different method to check for exactly representable results is used now that doesn’t rely on computing 10**precision (which could be effectively too large to compute). - gh-118404: Fix inspect.signature() for non-comparable callables. - gh-118314: Fix an edge case in binascii.a2b_base64() strict mode, where excessive padding is not detected when no padding is necessary. - gh-118042: Fix an unraisable exception in telnetlib.Telnet.__del__() when the __init__() method was not called. - gh-118221: Fix a bug where sqlite3.iterdump() could fail if a custom row factory was used. Patch by Erlend Aasland. - gh-118013: Fix regression introduced in gh-103193 that meant that calling inspect.getattr_static() on an instance would cause a strong reference to that instance’s class to persist in an internal cache in the inspect module. This caused unexpected memory consumption if the class was dynamically created, the class held strong references to other objects which took up a significant amount of memory, and the cache contained the sole strong reference to the class. The fix for the regression leads to a slowdown in getattr_static(), but the function should still be significantly faster than it was in Python 3.11. Patch by Alex Waygood. - gh-90848: Fixed unittest.mock.create_autospec() to configure parent mock with keyword arguments. - gh-118168: Fix incorrect argument substitution when typing.Unpack is used with the builtin tuple. typing.Unpack now raises TypeError when used with certain invalid types. Patch by Jelle Zijlstra. - gh-118033: Fix dataclasses.dataclass() not creating a __weakref__ slot when subclassing typing.Generic. - gh-117535: Do not try to get the source line for made up file name “sys” in warnings. - gh-114053: Fix erroneous NameError when calling typing.get_type_hints() on a class that made use of PEP 695 type parameters in a module that had from __future__ import annotations at the top of the file. Patch by Alex Waygood. - gh-117995: Don’t raise DeprecationWarning when a sequence of parameters is used to bind indexed, nameless placeholders. See also gh-100668. - gh-80361: Fix TypeError in email.message.Message.get_payload() when the charset is RFC 2231 encoded. - gh-86650: Fix IndexError when parse some emails with invalid Message-ID (including one-off addresses generated by Microsoft Outlook). - gh-117691: Improve the error messages emitted by tarfile deprecation warnings relating to PEP 706. If a filter argument is not provided to extract() or extractall, the deprecation warning now points to the line in the user’s code where the relevant function was called. Patch by Alex Waygood. - gh-77102: site module now parses .pth file with UTF-8 first, and locale encoding if UnicodeDecodeError happened. It supported only locale encoding before. - gh-117692: Fixes a bug when doctest.DocTestFinder was failing on wrapped builtin_function_or_method. - gh-117566: ipaddress.IPv6Address.is_loopback() will now return True for IPv4-mapped loopback addresses, i.e. addresses in the ::ffff:127.0.0.0/104 address space. - gh-117503: Fix support of non-ASCII user names in bytes paths in os.path.expanduser() on Posix. - gh-117313: Only treat '\n', '\r' and '\r\n' as line separators in re-folding the email messages. Preserve control characters '\v', '\f', '\x1c', '\x1d' and '\x1e' and Unicode line separators '\x85', '\u2028' and '\u2029' as is. - gh-113171 (bsc#1226448, CVE-2024-4032): Fixed various false positives and false negatives in ipaddress.IPv4Address.is_private (see these docs for details) ipaddress.IPv4Address.is_global ipaddress.IPv6Address.is_private ipaddress.IPv6Address.is_global Also in the corresponding ipaddress.IPv4Network and ipaddress.IPv6Network attributes. - gh-103956: Fix lack of newline characters in trace module output when line tracing is enabled but source code line for current frame is not available. - gh-92081: Fix missing spaces in email headers when the spaces are mixed with encoded 8-bit characters. - gh-103194: Prepare Tkinter for C API changes in Tcl 8.7/9.0 to avoid _tkinter.Tcl_Obj being unexpectedly returned instead of bool, str, bytearray, or int. - gh-87106: Fixed handling in inspect.Signature.bind() of keyword arguments having the same name as positional-only arguments when a variadic keyword argument (e.g. **kwargs) is present. - bpo-45767: Fix integer conversion in os.major(), os.minor(), and os.makedev(). Support device numbers larger than 2**63-1. Support non-existent device number (NODEV). - bpo-40943: Fix several IndexError when parse emails with truncated Message-ID, address, routes, etc, e.g. example@. - bpo-30988: Fix parsing of emails with invalid address headers having a leading or trailing dot. Patch by tsufeki. - gh-67693: Fix urllib.parse.urlunparse() and urllib.parse.urlunsplit() for URIs with path starting with multiple slashes and no authority. Based on patch by Ashwin Ramaswami. - bpo-15010: unittest.TestLoader.discover() now saves the original value of unittest.TestLoader._top_level_dir and restores it at the end of the call. - Documentation - gh-117928: The minimum Sphinx version required for the documentation is now 6.2.1. - gh-91565: Changes to documentation files and config outputs to reflect the new location for reporting bugs - i.e. GitHub rather than bugs.python.org. - Tests - gh-119050: regrtest test runner: Add XML support to the refleak checker (-R option). Patch by Victor Stinner. - IDLE - bpo-34774: Use user-selected color theme for Help => IDLE Doc. - C API - gh-119585: Fix crash when a thread state that was created by PyGILState_Ensure() calls a destructor that during PyThreadState_Clear() that calls back into PyGILState_Ensure() and PyGILState_Release(). This might occur when in the free-threaded build or when using thread-local variables whose destructors call PyGILState_Ensure(). - gh-117534: Improve validation logic in the C implementation of datetime.fromisoformat() to better handle invalid years. Patch by Vlad Efanov. - Updated patches: - CVE-2023-6597-TempDir-cleaning-symlink.patch - bpo-31046_ensurepip_honours_prefix.patch - fix_configure_rst.patch - python-3.3.0b1-fix_date_time_compiler.patch - subprocess-raise-timeout.patch- Add CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch to fix tests with patched libexpat below 2.6.0 that doesn't update the version number, just in 15.6. - Drop libexpat260.patch, not needed anymore. This patch is merged with the CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch to keep working on 15.6. - Add fix-test-recursion-limit-15.6.patch, gh#python/cpython#115083.- Update to 3.12.3: - Security - gh-115398: Allow controlling Expat >=2.6.0 reparse deferral (CVE-2023-52425, bsc#1219559) by adding five new methods: xml.etree.ElementTree.XMLParser.flush() xml.etree.ElementTree.XMLPullParser.flush() xml.parsers.expat.xmlparser.GetReparseDeferralEnabled() xml.parsers.expat.xmlparser.SetReparseDeferralEnabled() xml.sax.expatreader.ExpatParser.flush() - gh-115399: Update bundled libexpat to 2.6.0 (bsc#1222075) - gh-115243: Fix possible crashes in collections.deque.index() when the deque is concurrently modified. - gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads (bsc#1226447, CVE-2024-0397). - Core and Builtins - gh-109120: Added handle of incorrect star expressions, e.g f(3, *). Patch by Grigoryev Semyon - gh-99108: Updated the hashlib built-in HACL* project C code from upstream that we use for many implementations when they are not present via OpenSSL in a given build. This also avoids the rare potential for a C symbol name one definition rule linking issue. - gh-116735: For INSTRUMENTED_CALL_FUNCTION_EX, set arg0 to sys.monitoring.MISSING instead of None for CALL event. - gh-113964: Starting new threads and process creation through os.fork() are now only prevented once all non-daemon threads exit. - gh-116604: Respect the status of the garbage collector when indirect calls are made via PyErr_CheckSignals() and the evaluation breaker. Patch by Pablo Galindo - gh-116626: Ensure INSTRUMENTED_CALL_FUNCTION_EX always emits CALL - gh-116296: Fix possible refleak in object.__reduce__() internal error handling. - gh-116034: Fix location of the error on a failed assertion. - gh-115823: Properly calculate error ranges in the parser when raising SyntaxError exceptions caused by invalid byte sequences. Patch by Pablo Galindo - gh-112087: For an empty reverse iterator for list will be reduced to reversed(). Patch by Donghee Na. - gh-115154: Fix a bug that was causing the tokenize.untokenize() function to handle unicode named literals incorrectly. Patch by Pablo Galindo - gh-114828: Fix compilation crashes in uncommon code examples using super() inside a comprehension in a class body. - gh-115011: Setters for members with an unsigned integer type now support the same range of valid values for objects that has a __index__() method as for int. - gh-112215: Change the C recursion limits to more closely reflect the underlying platform limits. - gh-96497: Fix incorrect resolution of mangled class variables used in assignment expressions in comprehensions. - Library - gh-117467: Preserve mailbox ownership when rewriting in mailbox.mbox.flush(). Patch by Tony Mountifield. - gh-117310: Fixed an unlikely early & extra Py_DECREF triggered crash in ssl when creating a new _ssl._SSLContext if CPython was built implausibly such that the default cipher list is empty or the SSL library it was linked against reports a failure from its C SSL_CTX_set_cipher_list() API. - gh-117178: Fix regression in lazy loading of self-referential modules, introduced in gh-114781. - gh-117084: Fix zipfile extraction for directory entries with the name containing backslashes on Windows. - gh-117110: Fix a bug that prevents subclasses of typing.Any to be instantiated with arguments. Patch by Chris Fu. - gh-90872: On Windows, subprocess.Popen.wait() no longer calls WaitForSingleObject() with a negative timeout: pass 0 ms if the timeout is negative. Patch by Victor Stinner. - gh-116957: configparser: Don’t leave ConfigParser values in an invalid state (stored as a list instead of a str) after an earlier read raised DuplicateSectionError or DuplicateOptionError. - gh-90095: Ignore empty lines and comments in .pdbrc - gh-116764: Restore support of None and other false values in urllib.parse functions parse_qs() and parse_qsl(). Also, they now raise a TypeError for non-zero integers and non-empty sequences. - gh-116811: In PathFinder.invalidate_caches, delegate to MetadataPathFinder.invalidate_caches. - gh-116600: Fix repr() for global Flag members. - gh-116484: Change automatically generated tkinter.Checkbutton widget names to avoid collisions with automatically generated tkinter.ttk.Checkbutton widget names within the same parent widget. - gh-116401: Fix blocking os.fwalk() and shutil.rmtree() on opening named pipe. - gh-116143: Fix a race in pydoc _start_server, eliminating a window in which _start_server can return a thread that is “serving” but without a docserver set. - gh-116325: typing: raise SyntaxError instead of AttributeError on forward references as empty strings. - gh-90535: Fix support of interval values > 1 in logging.TimedRotatingFileHandler for when='MIDNIGHT' and when='Wx'. - gh-115978: Disable preadv(), readv(), pwritev(), and writev() on WASI. - Under wasmtime for WASI 0.2, these functions don’t pass test_posix (https://github.com/bytecodealliance/wasmtime/issues/7830). - gh-88352: Fix the computation of the next rollover time in the logging.TimedRotatingFileHandler handler. computeRollover() now always returns a timestamp larger than the specified time and works correctly during the DST change. doRollover() no longer overwrite the already rolled over file, saving from data loss when run at midnight or during repeated time at the DST change. - gh-87115: Set __main__.__spec__ to None when running a script with pdb - gh-76511: Fix UnicodeEncodeError in email.Message.as_string() that results when a message that claims to be in the ascii character set actually has non-ascii characters. Non-ascii characters are now replaced with the U+FFFD replacement character, like in the replace error handler. - gh-116040: [Enum] fix by-value calls when second value is falsey; e.g. Cardinal(1, 0) - gh-75988: Fixed unittest.mock.create_autospec() to pass the call through to the wrapped object to return the real result. - gh-115881: Fix issue where ast.parse() would incorrectly flag conditional context managers (such as with (x() if y else z()): ...) as invalid syntax if feature_version=(3, 8) was passed. This reverts changes to the grammar made as part of gh-94949. - gh-115886: Fix silent truncation of the name with an embedded null character in multiprocessing.shared_memory.SharedMemory. - gh-115809: Improve algorithm for computing which rolled-over log files to delete in logging.TimedRotatingFileHandler. It is now reliable for handlers without namer and with arbitrary deterministic namer that leaves the datetime part in the file name unmodified. - gh-74668: urllib.parse functions parse_qs() and parse_qsl() now support bytes arguments containing raw and percent-encoded non-ASCII data. - gh-67044: csv.writer() now always quotes or escapes '\r' and '\n', regardless of lineterminator value. - gh-115712: csv.writer() now quotes empty fields if delimiter is a space and skipinitialspace is true and raises exception if quoting is not possible. - gh-112364: Fixed ast.unparse() to handle format_spec with ", ' or \\. Patched by Frank Hoffmann. - gh-111358: Fix a bug in asyncio.BaseEventLoop.shutdown_default_executor() to ensure the timeout passed to the coroutine behaves as expected. - gh-115618: Fix improper decreasing the reference count for None argument in property methods getter(), setter() and deleter(). - gh-115570: A DeprecationWarning is no longer omitted on access to the __doc__ attributes of the deprecated typing.io and typing.re pseudo-modules. - gh-112006: Fix inspect.unwrap() for types with the __wrapper__ data descriptor. - gh-101293: Support callables with the __call__() method and types with __new__() and __init__() methods set to class methods, static methods, bound methods, partial functions, and other types of methods and descriptors in inspect.Signature.from_callable(). - gh-115392: Fix a bug in doctest where incorrect line numbers would be reported for decorated functions. - gh-114563: Fix several format() bugs when using the C implementation of Decimal: * memory leak in some rare cases when using the z format option (coerce negative 0) * incorrect output when applying the z format option to type F (fixed-point with capital NAN / INF) * incorrect output when applying the # format option (alternate form) - gh-115197: urllib.request no longer resolves the hostname before checking it against the system’s proxy bypass list on macOS and Windows. - gh-115165: Most exceptions are now ignored when attempting to set the __orig_class__ attribute on objects returned when calling typing generic aliases (including generic aliases created using typing.Annotated). Previously only AttributeError was ignored. Patch by Dave Shawley. - gh-115133: Fix tests for XMLPullParser with Expat 2.6.0. - gh-115059: io.BufferedRandom.read1() now flushes the underlying write buffer. - gh-79382: Trailing ** no longer allows to match files and non-existing paths in recursive glob(). - gh-114071: Support tuple subclasses using auto() for enum member value. - gh-114763: Protect modules loaded with importlib.util.LazyLoader from race conditions when multiple threads try to access attributes before the loading is complete. - gh-97959: Fix rendering class methods, bound methods, method and function aliases in pydoc. Class methods no longer have “method of builtins.type instance” note. Corresponding notes are now added for class and unbound methods. Method and function aliases now have references to the module or the class where the origin was defined if it differs from the current. Bound methods are now listed in the static methods section. Methods of builtin classes are now supported as well as methods of Python classes. - gh-112281: Allow creating union of types for typing.Annotated with unhashable metadata. - gh-111775: Fix importlib.resources.simple.ResourceHandle.open() for text mode, added missed stream argument. - gh-90095: Make .pdbrc and -c work with any valid pdb commands. - gh-107155: Fix incorrect output of help(x) where x is a lambda function, which has an __annotations__ dictionary attribute with a "return" key. - gh-105866: Fixed _get_slots bug which caused error when defining dataclasses with slots and a weakref_slot. - gh-60346: Fix ArgumentParser inconsistent with parse_known_args. - gh-100985: Update HTTPSConnection to consistently wrap IPv6 Addresses when using a proxy. - gh-100884: email: fix misfolding of comma in address-lists over multiple lines in combination with unicode encoding. - gh-95782: Fix io.BufferedReader.tell(), io.BufferedReader.seek(), _pyio.BufferedReader.tell(), io.BufferedRandom.tell(), io.BufferedRandom.seek() and _pyio.BufferedRandom.tell() being able to return negative offsets. - gh-96310: Fix a traceback in argparse when all options in a mutually exclusive group are suppressed. - gh-93205: Fixed a bug in logging.handlers.TimedRotatingFileHandler where multiple rotating handler instances pointing to files with the same name but different extensions would conflict and not delete the correct files. - bpo-44865: Add missing call to localization function in argparse. - bpo-43952: Fix multiprocessing.connection.Listener.accept() to accept empty bytes as authkey. Not accepting empty bytes as key causes it to hang indefinitely. - bpo-42125: linecache: get module name from __spec__ if available. This allows getting source code for the __main__ module when a custom loader is used. - gh-66543: Make mimetypes.guess_type() properly parsing of URLs with only a host name, URLs containing fragment or query, and filenames with only a UNC sharepoint on Windows. Based on patch by Dong-hee Na. - bpo-33775: Add ‘default’ and ‘version’ help text for localization in argparse. - Documentation - gh-115399: Document CVE-2023-52425 of Expat <2.6.0 under “XML vulnerabilities”. - gh-115233: Fix an example for LoggerAdapter in the Logging Cookbook. - Tests - gh-83434: Disable JUnit XML output (--junit-xml=FILE command line option) in regrtest when hunting for reference leaks (-R option). Patch by Victor Stinner. - gh-117187: Fix XML tests for vanilla Expat <2.6.0. - gh-116333: Tests of TLS related things (error codes, etc) were updated to be more lenient about specific error message strings and behaviors as seen in the BoringSSL and AWS-LC forks of OpenSSL. - gh-115979: Update test_importlib so that it passes under WASI SDK 21. - gh-112536: Add –tsan to test.regrtest for running TSAN tests in reasonable execution times. Patch by Donghee Na. - gh-116307: Added import helper isolated_modules as CleanImport does not remove modules imported during the context. Use it in importlib.resources tests to avoid leaving mod around to impede importlib.metadata tests. - gh-115720: Leak tests (-R, --huntrleaks) now show a summary of the number of leaks found in each iteration. - gh-115122: Add --bisect option to regrtest test runner: run failed tests with test.bisect_cmd to identify failing tests. Patch by Victor Stinner. - gh-115596: Fix ProgramPriorityTests in test_os permanently changing the process priority. - Build - gh-116313: Get WASI builds to work under wasmtime 18 w/ WASI 0.2/preview2 primitives. - gh-116117: Backport libb2’s PR #42 to fix compiling CPython on 32-bit Windows with clang-cl. - gh-115167: Avoid vendoring vcruntime140_threads.dll when building with Visual Studio 2022 version 17.8. - gh-112536: Add support for thread sanitizer (TSAN) - Windows - gh-117267: Ensure DirEntry.stat().st_ctime behaves consistently with os.stat() during the deprecation period of st_ctime by containing the same value as st_birthtime. After the deprecation period, st_ctime will be the metadata change time (or unavailable through DirEntry), and only st_birthtime will contain the creation time. - gh-116773: Fix instances of <_overlapped.Overlapped object at 0xXXX> still has pending operation at deallocation, the process may crash. - gh-91227: Fix the asyncio ProactorEventLoop implementation so that sending a datagram to an address that is not listening does not prevent receiving any more datagrams. - gh-115554: The installer now has more strict rules about updating the Python Launcher for Windows. In general, most users only have a single launcher installed and will see no difference. When multiple launchers have been installed, the option to install the launcher is disabled until all but one have been removed. Downgrading the launcher (which was never allowed) is now more obviously blocked. - gh-115543: Python Launcher for Windows can now detect Python 3.13 when installed from the Microsoft Store, and will install Python 3.12 by default when PYLAUNCHER_ALLOW_INSTALL is set. - gh-115049: Fixes py.exe launcher failing when run as users without user profiles. - gh-115009: Update Windows installer to use SQLite 3.45.1. - IDLE - gh-88516: On macOS show a proxy icon in the title bar of editor windows to match platform behaviour. - Tools/Demos - gh-113516: Don’t set LDSHARED when building for WASI. - C API - gh-117021: Fix integer overflow in PyLong_AsPid() on non-Windows 64-bit platforms. - gh-116869: Make the C API compatible with - Werror=declaration-after-statement compiler flag again. Patch by Victor Stinner.- Use the system-wide crypto-policies [bsc#1211301] * Use the system default cipher list instead of hardcoded values * Add the --with-ssl-default-suites=openssl configure option- (bsc#1219666, CVE-2023-6597) Add CVE-2023-6597-TempDir-cleaning-symlink.patch (patch from gh#python/cpython!99930) fixing symlink bug in cleanup of tempfile.TemporaryDirectory.- Switch to %%autopatch. Let’s try it as an experiment, and if we need conditional patch, we should put condition inside of it. - Remove double definition of /usr/bin/idle%%{version} in %%files.- Add upstream patch libexpat260.patch, Fix tests for XMLPullParser with Expat 2.6.0, gh#python/cpython#115288- (bsc#1210638, CVE-2023-27043) Add CVE-2023-27043-email-parsing-errors.patch, which rejects malformed addresses in email.parseaddr() (gh#python/cpython!111116) Detect email address parsing errors and return empty tuple to indicate the parsing error (old API). Add an optional 'strict' parameter to getaddresses() and parseaddr() functions. Patch by Thomas Dwyer.- Update to 3.12.2: - Security - gh-113659: Skip .pth files with names starting with a dot or hidden file attribute. - Core and Builtins - gh-114887: Changed socket type validation in create_datagram_endpoint() to accept all non-stream sockets. This fixes a regression in compatibility with raw sockets. - gh-114388: Fix a RuntimeWarning emitted when assign an integer-like value that is not an instance of int to an attribute that corresponds to a C struct member of type T_UINT and T_ULONG. Fix a double RuntimeWarning emitted when assign a negative integer value to an attribute that corresponds to a C struct member of type T_UINT. - gh-113703: Fix a regression in the codeop module that was causing it to incorrectly identify incomplete f-strings. Patch by Pablo Galindo - gh-89811: Check for a valid tp_version_tag before performing bytecode specializations that rely on this value being usable. - gh-113602: Fix an error that was causing the parser to try to overwrite existing errors and crashing in the process. Patch by Pablo Galindo - gh-113297: Fix segfault in the compiler on with statement with 19 context managers. - gh-106905: Use per AST-parser state rather than global state to track recursion depth within the AST parser to prevent potential race condition due to simultaneous parsing. - The issue primarily showed up in 3.11 by multithreaded users of ast.parse(). In 3.12 a change to when garbage collection can be triggered prevented the race condition from occurring. - gh-112943: Correctly compute end column offsets for multiline tokens in the tokenize module. Patch by Pablo Galindo - gh-112716: Fix SystemError in the import statement and in __reduce__() methods of builtin types when __builtins__ is not a dict. - gh-94606: Fix UnicodeEncodeError when email.message.get_payload() reads a message with a Unicode surrogate character and the message content is not well-formed for surrogateescape encoding. Patch by Sidney Markowitz. - Library - gh-114965: Update bundled pip to 24.0 - gh-114959: tarfile no longer ignores errors when trying to extract a directory on top of a file. - gh-109475: Fix support of explicit option value “–” in argparse (e.g. --option=--). - gh-110190: Fix ctypes structs with array on Windows ARM64 platform by setting MAX_STRUCT_SIZE to 32 in stgdict. Patch by Diego Russo - gh-113280: Fix a leak of open socket in rare cases when error occurred in ssl.SSLSocket creation. - gh-77749: email.policy.EmailPolicy.fold() now always encodes non-ASCII characters in headers if utf8 is false. - gh-114492: Make the result of termios.tcgetattr() reproducible on Alpine Linux. Previously it could leave a random garbage in some fields. - gh-113267: Revert changes in gh-106584 which made calls of TestResult methods startTest() and stopTest() unbalanced. - gh-75128: Ignore an OSError in asyncio.BaseEventLoop.create_server() when IPv6 is available but the interface cannot actually support it. - gh-114257: Dismiss the FileNotFound error in ctypes.util.find_library() and just return None on Linux. - gh-114328: The tty.setcbreak() and new tty.cfmakecbreak() no longer clears the terminal input ICRLF flag. This fixes a regression introduced in 3.12 that no longer matched how OSes define cbreak mode in their stty(1) manual pages. - gh-101438: Avoid reference cycle in ElementTree.iterparse. The iterator returned by ElementTree.iterparse may hold on to a file descriptor. The reference cycle prevented prompt clean-up of the file descriptor if the returned iterator was not exhausted. - gh-104522: OSError raised when run a subprocess now only has filename attribute set to cwd if the error was caused by a failed attempt to change the current directory. - gh-114149: Enum: correctly handle tuple subclasses in custom __new__. - gh-109534: Fix a reference leak in asyncio.selector_events.BaseSelectorEventLoop when SSL handshakes fail. Patch contributed by Jamie Phan. - gh-114077: Fix possible OverflowError in socket.socket.sendfile() when pass count larger than 2 GiB on 32-bit platform. - gh-114014: Fixed a bug in fractions.Fraction where an invalid string using d in the decimals part creates a different error compared to other invalid letters/characters. Patch by Jeremiah Gabriel Pascual. - gh-113951: Fix the behavior of tag_unbind() methods of tkinter.Text and tkinter.Canvas classes with three arguments. Previously, widget.tag_unbind(tag, sequence, funcid) destroyed the current binding for sequence, leaving sequence unbound, and deleted the funcid command. Now it removes only funcid from the binding for sequence, keeping other commands, and deletes the funcid command. It leaves sequence unbound only if funcid was the last bound command. - gh-113877: Fix tkinter method winfo_pathname() on 64-bit Windows. - gh-113661: unittest runner: Don’t exit 5 if tests were skipped. The intention of exiting 5 was to detect issues where the test suite wasn’t discovered at all. If we skipped tests, it was correctly discovered. - gh-113781: Silence unraisable AttributeError when warnings are emitted during Python finalization. - gh-112932: Restore the ability for zipfile to extractall from zip files with a “/” directory entry in them as is commonly added to zips by some wiki or bug tracker data exporters. - gh-113594: Fix UnicodeEncodeError in email when re-fold lines that contain unknown-8bit encoded part followed by non-unknown-8bit encoded part. - gh-113538: In asyncio.StreamReaderProtocol.connection_made(), there is callback that logs an error if the task wrapping the “connected callback” fails. This callback would itself fail if the task was cancelled. Prevent this by checking whether the task was cancelled first. If so, close the transport but don’t log an error. - gh-85567: Fix resource warnings for unclosed files in pickle and pickletools command line interfaces. - gh-101225: Increase the backlog for multiprocessing.connection.Listener objects created by multiprocessing.manager and multiprocessing.resource_sharer to significantly reduce the risk of getting a connection refused error when creating a multiprocessing.connection.Connection to them. - gh-113543: Make sure that webbrowser.MacOSXOSAScript sends webbrowser.open audit event. - gh-113028: When a second reference to a string appears in the input to pickle, and the Python implementation is in use, we are guaranteed that a single copy gets pickled and a single object is shared when reloaded. Previously, in protocol 0, when a string contained certain characters (e.g. newline) it resulted in duplicate objects. - gh-113421: Fix multiprocessing logger for %(filename)s. - gh-111784: Fix segfaults in the _elementtree module. Fix first segfault during deallocation of _elementtree.XMLParser instances by keeping strong reference to pyexpat module in module state for capsule lifetime. Fix second segfault which happens in the same deallocation process by keeping strong reference to _elementtree module in XMLParser structure for _elementtree module lifetime. - gh-113407: Fix import of unittest.mock when CPython is built without docstrings. - gh-113320: Fix regression in Python 3.12 where Protocol classes that were not marked as runtime-checkable would be unnecessarily introspected, potentially causing exceptions to be raised if the protocol had problematic members. Patch by Alex Waygood. - gh-113358: Fix rendering tracebacks for exceptions with a broken __getattr__. - gh-113214: Fix an AttributeError during asyncio SSL protocol aborts in SSL-over-SSL scenarios. - gh-113246: Update bundled pip to 23.3.2. - gh-113199: Make http.client.HTTPResponse.read1 and http.client.HTTPResponse.readline close IO after reading all data when content length is known. Patch by Illia Volochii. - gh-113188: Fix shutil.copymode() and shutil.copystat() on Windows. Previously they worked differenly if dst is a symbolic link: they modified the permission bits of dst itself rather than the file it points to if follow_symlinks is true or src is not a symbolic link, and did not modify the permission bits if follow_symlinks is false and src is a symbolic link. - gh-61648: Detect line numbers of properties in doctests. - gh-112559: signal.signal() and signal.getsignal() no longer call repr on callable handlers. asyncio.run() and asyncio.Runner.run() no longer call repr on the task results. Patch by Yilei Yang. - gh-110190: Fix ctypes structs with array on PPC64LE platform by setting MAX_STRUCT_SIZE to 64 in stgdict. Patch by Diego Russo. - gh-79429: Ignore FileNotFoundError when remove a temporary directory in the multiprocessing finalizer. - gh-81194: Fix a crash in socket.if_indextoname() with specific value (UINT_MAX). Fix an integer overflow in socket.if_indextoname() on 64-bit non-Windows platforms. - gh-112343: Improve handling of pdb convenience variables to avoid replacing string contents. - gh-111615: Fix a regression caused by a fix to gh-93162 whereby you couldn’t configure a QueueHandler without specifying handlers. - gh-111049: Fix crash during garbage collection of the io.BytesIO buffer object. - gh-110345: Show the Tcl/Tk patchlevel (rather than version) in tkinter._test(). - gh-109858: Protect zipfile from “quoted-overlap” zipbomb. It now raises BadZipFile when try to read an entry that overlaps with other entry or central directory. - gh-114440: On Windows, closing the connection writer when cleaning up a broken multiprocessing.Queue queue is now done for all queues, rather than only in concurrent.futures manager thread. This can prevent a deadlock when a multiprocessing worker process terminates without cleaning up. This completes the backport of patches by Victor Stinner and Serhiy Storchaka. - gh-38807: Fix race condition in trace. Instead of checking if a directory exists and creating it, directly call os.makedirs() with the kwarg exist_ok=True. - gh-75705: Set unixfrom envelope in mailbox.mbox and mailbox.MMDF. - gh-106233: Fix stacklevel in InvalidTZPathWarning during zoneinfo module import. - gh-105102: Allow ctypes.Union to be nested in ctypes.Structure when the system endianness is the opposite of the classes. - gh-104282: Fix null pointer dereference in lzma._decode_filter_properties() due to improper handling of BCJ filters with properties of zero length. Patch by Radislav Chugunov. - gh-102512: When os.fork() is called from a foreign thread (aka _DummyThread), the type of the thread in a child process is changed to _MainThread. Also changed its name and daemonic status, it can be now joined. - bpo-35928: io.TextIOWrapper now correctly handles the decoding buffer after read() and write(). - bpo-26791: shutil.move() now moves a symlink into a directory when that directory is the target of the symlink. This provides the same behavior as the mv shell command. The previous behavior raised an exception. Patch by Jeffrey Kintscher. - bpo-36959: Fix some error messages for invalid ISO format string combinations in strptime() that referred to directives not contained in the format string. Patch by Gordon P. Hemsley. - bpo-18060: Fixed a class inheritance issue that can cause segfaults when deriving two or more levels of subclasses from a base class of Structure or Union. - Documentation - gh-110746: Improved markup for valid options/values for methods ttk.treeview.column and ttk.treeview.heading, and for Layouts. - gh-95649: Document that the asyncio module contains code taken from v0.16.0 of the uvloop project, as well as the required MIT licensing information. - Tests - gh-109980: Fix test_tarfile_vs_tar in test_shutil for macOS, where system tar can include more information in the archive than shutil.make_archive. - gh-105089: Fix test.test_zipfile.test_core.TestWithDirectory.test_create_directory_with_write test in AIX by doing a bitwise AND of 0xFFFF on mode , so that it will be in sync with zinfo.external_attr - bpo-40648: Test modes that file can get with chmod() on Windows. - Build - gh-112305: Fixed the check-clean-src step performed on out of tree builds to detect errant $(srcdir)/Python/frozen_modules/*.h files and recommend appropriate source tree cleanup steps to get a working build again. - gh-112867: Fix the build for the case that WITH_PYMALLOC_RADIX_TREE=0 set. - bpo-11102: The os.major(), os.makedev(), and os.minor() functions are now available on HP-UX v3. - bpo-36351: Do not set ipv6type when cross-compiling. - IDLE - gh-96905: In idlelib code, stop redefining built-ins ‘dict’ and ‘object’. - gh-72284: Improve the lists of features, editor key bindings, and shell key bingings in the IDLE doc. - gh-113903: Fix rare failure of test.test_idle, in test_configdialog. - gh-113729: Fix the “Help -> IDLE Doc” menu bug in 3.11.7 and 3.12.1. - gh-113269: Fix test_editor hang on macOS Catalina. - gh-112898: Fix processing unsaved files when quitting IDLE on macOS. - gh-103820: Revise IDLE bindings so that events from mouse button 4/5 on non-X11 windowing systems (i.e. Win32 and Aqua) are not mistaken for scrolling. - bpo-13586: Enter the selected text when opening the “Replace” dialog. - Tools/Demos - gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.13 and multissltests to use 1.1.1w, 3.0.13, 3.1.5, and 3.2.1. - gh-115015: Fix a bug in Argument Clinic that generated incorrect code for methods with no parameters that use the METH_METHOD | METH_FASTCALL | METH_KEYWORDS calling convention. Only the positional parameter count was checked; any keyword argument passed would be silently accepted. - Refresh patches: - bpo-31046_ensurepip_honours_prefix.patch - fix_configure_rst.patch - no-skipif-doctests.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.3.0b1-localpath.patch - python-3.3.0b1-test-posix_fadvise.patch - skip-test_pyobject_freed_is_freed.patch - subprocess-raise-timeout.patch- Update patch fix_configure_rst.patch - Update to 3.12.1 (CVE-2023-6507, bsc#1217939): - Core and Builtins - gh-112125: Fix None.__ne__(None) returning NotImplemented instead of False - gh-112625: Fixes a bug where a bytearray object could be cleared while iterating over an argument in the bytearray.join() method that could result in reading memory after it was freed. - gh-105967: Workaround a bug in Apple’s macOS platform zlib library where zlib.crc32() and binascii.crc32() could produce incorrect results on multi-gigabyte inputs. Including when using zipfile on zips containing large data. - gh-112356: Stopped erroneously deleting a LOAD_NULL bytecode instruction when optimized twice. - gh-111058: Change coro.cr_frame/gen.gi_frame to return None after the coroutine/generator has been closed. This fixes a bug where getcoroutinestate() and getgeneratorstate() return the wrong state for a closed coroutine/generator. - gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors. Patch by pablo Galindo - gh-112387: Fix error positions for decoded strings with backwards tokenize errors. Patch by Pablo Galindo - gh-112367: Avoid undefined behaviour when using the perf trampolines by not freeing the code arenas until shutdown. Patch by Pablo Galindo - gh-112243: Don’t include comments in f-string debug expressions. Patch by Pablo Galindo - gh-112266: Change docstrings of __dict__ and __weakref__. - gh-111654: Fix runtime crash when some error happens in opcode LOAD_FROM_DICT_OR_DEREF. - gh-109181: Speed up Traceback object creation by lazily compute the line number. Patch by Pablo Galindo - gh-102388: Fix a bug where iso2022_jp_3 and iso2022_jp_2004 codecs read out of bounds - gh-111366: Fix an issue in the codeop that was causing SyntaxError exceptions raised in the presence of invalid syntax to not contain precise error messages. Patch by Pablo Galindo - gh-111380: Fix a bug that was causing SyntaxWarning to appear twice when parsing if invalid syntax is encountered later. Patch by Pablo galindo - gh-94438: Fix a regression that prevented jumping across is None and is not None when debugging. Patch by Savannah Ostrowski. - gh-110938: Fix error messages for indented blocks with functions and classes with generic type parameters. Patch by Pablo Galindo - gh-109894: Fixed crash due to improperly initialized static MemoryError in subinterpreter. - gh-110782: Fix crash when typing.TypeVar is constructed with a keyword argument. Patch by Jelle Zijlstra. - gh-110696: Fix incorrect error message for invalid argument unpacking. Patch by Pablo Galindo - gh-110543: Fix regression in Python 3.12 where types.CodeType.replace() would produce a broken code object if called on a module or class code object that contains a comprehension. Patch by Jelle Zijlstra. - gh-110514: Add PY_THROW to sys.setprofile() events - gh-110455: Guard assert(tstate->thread_id > 0) with #ifndef HAVE_PTHREAD_STUBS. This allows for for pydebug builds to work under WASI which (currently) lacks thread support. - gh-110259: Correctly identify the format spec in f-strings (with single or triple quotes) that have multiple lines in the expression part and include a formatting spec. Patch by Pablo Galindo - gh-110237: Fix missing error checks for calls to PyList_Append in _PyEval_MatchClass. - gh-109889: Fix the compiler’s redundant NOP detection algorithm to skip over NOPs with no line number when looking for the next instruction’s lineno. - gh-109853: sys.path[0] is now set correctly for subinterpreters. - gh-105716: Subinterpreters now correctly handle the case where they have threads running in the background. Before, such threads would interfere with cleaning up and destroying them, as well as prevent running another script. - gh-109793: The main thread no longer exits prematurely when a subinterpreter is cleaned up during runtime finalization. The bug was a problem particularly because, when triggered, the Python process would always return with a 0 exitcode, even if it failed. - gh-109596: Fix some tokens in the grammar that were incorrectly marked as soft keywords. Also fix some repeated rule names and ensure that repeated rules are not allowed. Patch by Pablo Galindo - gh-109351: Fix crash when compiling an invalid AST involving a named (walrus) expression. - gh-109216: Fix possible memory leak in BUILD_MAP. - gh-109207: Fix a SystemError in __repr__ of symtable entry object. - gh-109179: Fix bug where the C traceback display drops notes from SyntaxError. - gh-109052: Use the base opcode when comparing code objects to avoid interference from instrumentation - gh-88943: Improve syntax error for non-ASCII character that follows a numerical literal. It now points on the invalid non-ASCII character, not on the valid numerical literal. - gh-106931: Statically allocated string objects are now interned globally instead of per-interpreter. This fixes a situation where such a string would only be interned in a single interpreter. Normal string objects are unaffected. - Library - gh-79325: Fix an infinite recursion error in tempfile.TemporaryDirectory() cleanup on Windows. - gh-112645: Remove deprecation error on passing onerror to shutil.rmtree(). - gh-112618: Fix a caching bug relating to typing.Annotated. Annotated[str, True] is no longer identical to Annotated[str, 1]. - gh-112334: Fixed a performance regression in 3.12’s subprocess on Linux where it would no longer use the fast-path vfork() system call when it should have due to a logic bug, instead always falling back to the safe but slower fork(). - Also fixed a related 3.12 security regression: If a value of extra_groups=[] was passed to subprocess.Popen or related APIs, the underlying setgroups(0, NULL) system call to clear the groups list would not be made in the child process prior to exec(). This has been assigned CVE-2023-6507. - This was identified via code inspection in the process of fixing the first bug. - gh-110190: Fix ctypes structs with array on Arm platform by setting MAX_STRUCT_SIZE to 32 in stgdict. Patch by Diego Russo. - gh-112578: Fix a spurious RuntimeWarning when executing the zipfile module. - gh-112509: Fix edge cases that could cause a key to be present in both the __required_keys__ and __optional_keys__ attributes of a typing.TypedDict. Patch by Jelle Zijlstra. - gh-112414: Fix regression in Python 3.12 where calling repr() on a module that had been imported using a custom loader could fail with AttributeError. Patch by Alex Waygood. - gh-112358: Revert change to struct.Struct initialization that broke some cases of subclassing. - gh-94722: Fix bug where comparison between instances of DocTest fails if one of them has None as its lineno. - gh-112105: Make readline.set_completer_delims() work with libedit - gh-111942: Fix SystemError in the TextIOWrapper constructor with non-encodable “errors” argument in non-debug mode. - gh-109538: Issue warning message instead of having RuntimeError be displayed when event loop has already been closed at StreamWriter.__del__(). - gh-111942: Fix crashes in io.TextIOWrapper.reconfigure() when pass invalid arguments, e.g. non-string encoding. - gh-111460: curses: restore wide character support (including curses.unget_wch() and get_wch()) on macOS, which was unavailable due to a regression in Python 3.12. - gh-103791: contextlib.suppress now supports suppressing exceptions raised as part of a BaseExceptionGroup, in addition to the recent support for ExceptionGroup. - gh-111804: Remove posix.fallocate() under WASI as the underlying posix_fallocate() is not available in WASI preview2. - gh-111841: Fix truncating arguments on an embedded null character in os.putenv() and os.unsetenv() on Windows. - gh-111541: Fix doctest for SyntaxError not-builtin subclasses. - gh-110894: Call loop exception handler for exceptions in client_connected_cb of asyncio.start_server() so that applications can handle it. Patch by Kumar Aditya. - gh-111531: Fix reference leaks in bind_class() and bind_all() methods of tkinter widgets. - gh-111356: Added io.text_encoding(), io.DEFAULT_BUFFER_SIZE, and io.IncrementalNewlineDecoder to io.__all__. - gh-111342: Fixed typo in math.sumprod(). - gh-68166: Remove mention of not supported “vsapi” element type in tkinter.ttk.Style.element_create(). Add tests for element_create() and other ttk.Style methods. Add examples for element_create() in the documentation. - gh-75666: Fix the behavior of tkinter widget’s unbind() method with two arguments. Previously, widget.unbind(sequence, funcid) destroyed the current binding for sequence, leaving sequence unbound, and deleted the funcid command. Now it removes only funcid from the binding for sequence, keeping other commands, and deletes the funcid command. It leaves sequence unbound only if funcid was the last bound command. - gh-79033: Another attempt at fixing asyncio.Server.wait_closed(). It now blocks until both conditions are true: the server is closed, and there are no more active connections. (This means that in some cases where in 3.12.0 this function would incorrectly have returned immediately, it will now block; in particular, when there are no active connections but the server hasn’t been closed yet.) - gh-111295: Fix time not checking for errors when initializing. - gh-111253: Add error checking during _socket module init. - gh-111251: Fix _blake2 not checking for errors when initializing. - gh-111174: Fix crash in io.BytesIO.getbuffer() called repeatedly for empty BytesIO. - gh-111187: Postpone removal version for locale.getdefaultlocale() to Python 3.15. - gh-111159: Fix doctest output comparison for exceptions with notes. - gh-110910: Fix invalid state handling in asyncio.TaskGroup and asyncio.Timeout. They now raise proper RuntimeError if they are improperly used and are left in consistent state after this. - gh-111092: Make turtledemo run without default root enabled. - gh-110488: Fix a couple of issues in pathlib.PurePath.with_name(): a single dot was incorrectly considered a valid name, and in PureWindowsPath, a name with an NTFS alternate data stream, like a:b, was incorrectly considered invalid. - gh-110392: Fix tty.setraw() and tty.setcbreak(): previously they returned partially modified list of the original tty attributes. tty.cfmakeraw() and tty.cfmakecbreak() now make a copy of the list of special characters before modifying it. - gh-110590: Fix a bug in _sre.compile() where TypeError would be overwritten by OverflowError when the code argument was a list of non-ints. - gh-65052: Prevent pdb from crashing when trying to display undisplayable objects - gh-110519: Deprecation warning about non-integer number in gettext now alwais refers to the line in the user code where gettext function or method is used. Previously it could refer to a line in gettext code. - gh-110395: Ensure that select.kqueue() objects correctly appear as closed in forked children, to prevent operations on an invalid file descriptor. - gh-110378: contextmanager() and asynccontextmanager() context managers now close an invalid underlying generator object that yields more then one value. - gh-110365: Fix termios.tcsetattr() bug that was overwritting existing errors during parsing integers from term list. - gh-109653: Fix a Python 3.12 regression in the import time of random. Patch by Alex Waygood. - gh-110196: Add __reduce__ method to IPv6Address in order to keep scope_id - gh-110036: On Windows, multiprocessing Popen.terminate() now catchs PermissionError and get the process exit code. If the process is still running, raise again the PermissionError. Otherwise, the process terminated as expected: store its exit code. Patch by Victor Stinner. - gh-110038: Fixed an issue that caused KqueueSelector.select() to not return all the ready events in some cases when a file descriptor is registered for both read and write. - gh-109631: re functions such as re.findall(), re.split(), re.search() and re.sub() which perform short repeated matches can now be interrupted by user. - gh-109747: Improve errors for unsupported look-behind patterns. Now re.error is raised instead of OverflowError or RuntimeError for too large width of look-behind pattern. - gh-109818: Fix reprlib.recursive_repr() not copying __type_params__ from decorated function. - gh-109047: concurrent.futures: The executor manager thread now catches exceptions when adding an item to the call queue. During Python finalization, creating a new thread can now raise RuntimeError. Catch the exception and call terminate_broken() in this case. Patch by Victor Stinner. - gh-109782: Ensure the signature of os.path.isdir() is identical on all platforms. Patch by Amin Alaee. - gh-109590: shutil.which() will prefer files with an extension in PATHEXT if the given mode includes os.X_OK on win32. If no PATHEXT match is found, a file without an extension in PATHEXT can be returned. This change will have shutil.which() act more similarly to previous behavior in Python 3.11. - gh-109786: Fix possible reference leaks and crash when re-enter the __next__() method of itertools.pairwise. - gh-109593: Avoid deadlocking on a reentrant call to the multiprocessing resource tracker. Such a reentrant call, though unlikely, can happen if a GC pass invokes the finalizer for a multiprocessing object such as SemLock. - gh-109613: Fix os.stat() and os.DirEntry.stat(): check for exceptions. Previously, on Python built in debug mode, these functions could trigger a fatal Python error (and abort the process) when a function succeeded with an exception set. Patch by Victor Stinner. - gh-109375: The pdb alias command now prevents registering aliases without arguments. - gh-107219: Fix a race condition in concurrent.futures. When a process in the process pool was terminated abruptly (while the future was running or pending), close the connection write end. If the call queue is blocked on sending bytes to a worker process, closing the connection write end interrupts the send, so the queue can be closed. Patch by Victor Stinner. - gh-50644: Attempts to pickle or create a shallow or deep copy of codecs streams now raise a TypeError. Previously, copying failed with a RecursionError, while pickling produced wrong results that eventually caused unpickling to fail with a RecursionError. - gh-108987: Fix _thread.start_new_thread() race condition. If a thread is created during Python finalization, the newly spawned thread now exits immediately instead of trying to access freed memory and lead to a crash. Patch by Victor Stinner. - gh-108791: Improved error handling in pdb command line interface, making it produce more concise error messages. - gh-105829: Fix concurrent.futures.ProcessPoolExecutor deadlock - gh-106584: Fix exit code for unittest if all tests are skipped. Patch by Egor Eliseev. - gh-102956: Fix returning of empty byte strings after seek in zipfile module - gh-84867: unittest.TestLoader no longer loads test cases from exact unittest.TestCase and unittest.FunctionTestCase classes. - gh-91133: Fix a bug in tempfile.TemporaryDirectory cleanup, which now no longer dereferences symlinks when working around file system permission errors. - gh-73561: Omit the interface scope from an IPv6 address when used as Host header by http.client. - gh-86826: zipinfo now supports the full range of values in the TZ string determined by RFC 8536 and detects all invalid formats. Both Python and C implementations now raise exceptions of the same type on invalid data. - bpo-43153: On Windows, tempfile.TemporaryDirectory previously masked a PermissionError with NotADirectoryError during directory cleanup. It now correctly raises PermissionError if errors are not ignored. Patch by Andrei Kulakov and Ken Jin. - bpo-35332: The shutil.rmtree() function now ignores errors when calling os.close() when ignore_errors is True, and os.close() no longer retried after error. - bpo-41422: Fixed memory leaks of pickle.Pickler and pickle.Unpickler involving cyclic references via the internal memo mapping. - bpo-40262: The ssl.SSLSocket.recv_into() method no longer requires the buffer argument to implement __len__ and supports buffers with arbitrary item size. - Documentation - gh-111699: Relocate smtpd deprecation notice to its own section rather than under locale in What’s New in Python 3.12 document - gh-108826: dis module command-line interface is now mentioned in documentation. Test- s - gh-112769: The tests now correctly compare zlib version when zlib.ZLIB_RUNTIME_VERSION contains non-integer suffixes. For example zlib-ng defines the version as 1.3.0.zlib-ng. - gh-110367: Make regrtest --verbose3 option compatible with - -huntrleaks -jN options. The ./python -m test -j1 -R 3:3 - -verbose3 command now works as expected. Patch by Victor Stinner. - gh-111165: Remove no longer used functions run_unittest() and run_doctest() from the test.support module. - gh-110932: Fix regrtest if the SOURCE_DATE_EPOCH environment variable is defined: use the variable value as the random seed. Patch by Victor Stinner. - gh-110995: test_gdb: Fix detection of gdb built without Python scripting support. Patch by Victor Stinner. - gh-110918: Test case matching patterns specified by options - -match, --ignore, --matchfile and --ignorefile are now tested in the order of specification, and the last match determines whether the test case be run or ignored. - gh-110647: Fix test_stress_modifying_handlers() of test_signal. Patch by Victor Stinner. - gh-103053: Fix test_tools.test_freeze on FreeBSD: run “make distclean” instead of “make clean” in the copied source directory to remove also the “python” program. Patch by Victor Stinner. - gh-110167: Fix a deadlock in test_socket when server fails with a timeout but the client is still running in its thread. Don’t hold a lock to call cleanup functions in doCleanups(). One of the cleanup function waits until the client completes, whereas the client could deadlock if it called addCleanup() in such situation. Patch by Victor Stinner. - gh-110388: Add tests for tty. - gh-81002: Add tests for termios. - gh-110267: Add tests for pickling and copying PyStructSequence objects. Patched by Xuehai Pan. - gh-110031: Skip test_threading tests using thread+fork if Python is built with Address Sanitizer (ASAN). Patch by Victor Stinner. - gh-110088: Fix test_asyncio timeouts: don’t measure the maximum duration, a test should not measure a CI performance. Only measure the minimum duration when a task has a timeout or delay. Add CLOCK_RES to test_asyncio.utils. Patch by Victor Stinner. - gh-109974: Fix race conditions in test_threading lock tests. Wait until a condition is met rather than using time.sleep() with a hardcoded number of seconds. Patch by Victor Stinner. - gh-110033: Fix test_interprocess_signal() of test_signal. Make sure that the subprocess.Popen object is deleted before the test raising an exception in a signal handler. Otherwise, Popen.__del__() can get the exception which is logged as Exception ignored in: ... and the test fails. Patch by Victor Stinner. - gh-109594: Fix test_timeout() of test_concurrent_futures.test_wait. Remove the future which may or may not complete depending if it takes longer than the timeout ot not. Keep the second future which does not complete before wait() timeout. Patch by Victor Stinner. - gh-109972: Split test_gdb.py file into a test_gdb package made of multiple tests, so tests can now be run in parallel. Patch by Victor Stinner. - gh-103053: Skip test_freeze_simple_script() of test_tools.test_freeze if Python is built with ./configure - -enable-optimizations, which means with Profile Guided Optimization (PGO): it just makes the test too slow. The freeze tool is tested by many other CIs with other (faster) compiler flags. Patch by Victor Stinner. - gh-109580: Skip test_perf_profiler if Python is built with ASAN, MSAN or UBSAN sanitizer. Python does crash randomly in this test on such build. Patch by Victor Stinner. - gh-104736: Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb “bt” command output to detect when gdb fails to retrieve the traceback. For example, skip a test if Backtrace stopped: frame did not save the PC is found. Patch by Victor Stinner. - gh-108927: Fixed order dependence in running tests in the same process when a test that has submodules (e.g. test_importlib) follows a test that imports its submodule (e.g. test_importlib.util) and precedes a test (e.g. test_unittest or test_compileall) that uses that submodule. - Build - gh-112088: Add Tools/build/regen-configure.sh script to regenerate the configure with an Ubuntu container image. The quay.io/tiran/cpython_autoconf:271 container image (tiran/cpython_autoconf) is no longer used. Patch by Victor Stinner. - gh-111046: For wasi-threads, memory is now exported to fix compatibility issues with some wasm runtimes. - gh-103053: “make check-clean-src” now also checks if the “python” program is found in the source directory: fail with an error if it does exist. Patch by Victor Stinner. - gh-109191: Fix compile error when building with recent versions of libedit. - IDLE - bpo-35668: Add docstrings to the IDLE debugger module. Fix two bugs: initialize Idb.botframe (should be in Bdb); in Idb.in_rpc_code, check whether prev_frame is None before trying to use it. Greatly expand test_debugger. - C API - gh-106560: Fix redundant declarations in the public C API. Declare PyBool_Type and PyLong_Type only once. Patch by Victor Stinner. - gh-112438: Fix support of format units “es”, “et”, “es#”, and “et#” in nested tuples in PyArg_ParseTuple()-like functions. - gh-109521: PyImport_GetImporter() now sets RuntimeError if it fails to get sys.path_hooks or sys.path_importer_cache or they are not list and dict correspondingly. Previously it could return NULL without setting error in obscure cases, crash or raise SystemError if these attributes have wrong type.- Remove F00251-change-user-install-location.patch, that patch breaks the python-rpm-macros usage with multibuild- Update to the final release of 3.12.0: Python 3.12 is the latest stable release of the Python programming language, with a mix of changes to the language and the standard library. The library changes focus on cleaning up deprecated APIs, usability, and correctness. Of note, the distutils package has been removed from the standard library. Filesystem support in os and pathlib has seen a number of improvements, and several modules have better performance. The language changes focus on usability, as f-strings have had many limitations removed and ‘Did you mean …’ suggestions continue to improve. The new type parameter syntax and type statement improve ergonomics for using generic types and type aliases with static type checkers. This article doesn’t attempt to provide a complete specification of all new features, but instead gives a convenient overview. For full details, you should refer to the documentation, such as the Library Reference and Language Reference. If you want to understand the complete implementation and design rationale for a change, refer to the PEP for a particular new feature; but note that PEPs usually are not kept up-to-date once a feature has been fully implemented. - New syntax features: - PEP 695, type parameter syntax and the type statement - New grammar features: - PEP 701, f-strings in the grammar - Interpreter improvements: - PEP 684, a unique per-interpreter GIL - PEP 669, low impact monitoring - Improved ‘Did you mean …’ suggestions for NameError, ImportError, and SyntaxError exceptions - Python data model improvements: - PEP 688, using the buffer protocol from Python - Significant improvements in the standard library: - The pathlib.Path class now supports subclassing - The os module received several improvements for Windows support - A command-line interface has been added to the sqlite3 module - isinstance() checks against runtime-checkable protocols enjoy a speed up of between two and 20 times - The asyncio package has had a number of performance improvements, with some benchmarks showing a 75% speed up. - A command-line interface has been added to the uuid module - Due to the changes in PEP 701, producing tokens via the tokenize module is up to up to 64% faster. - Security improvements: - Replace the builtin hashlib implementations of SHA1, SHA3, SHA2-384, SHA2-512, and MD5 with formally verified code from the HACL* project. These builtin implementations remain as fallbacks that are only used when OpenSSL does not provide them. - C API improvements: - PEP 697, unstable C API tier - PEP 683, immortal objects - CPython implementation improvements: - PEP 709, comprehension inlining - CPython support for the Linux perf profiler - Implement stack overflow protection on supported platforms - New typing features: - PEP 692, using TypedDict to annotate **kwargs - PEP 698, typing.override() decorator - Important deprecations, removals or restrictions: - PEP 623: Remove wstr from Unicode objects in Python’s C API, reducing the size of every str object by at least 8 bytes. - PEP 632: Remove the distutils package. See the migration guide for advice replacing the APIs it provided. The third-party Setuptools package continues to provide distutils, if you still require it in Python 3.12 and beyond. - gh-95299: Do not pre-install setuptools in virtual environments created with venv. This means that distutils, setuptools, pkg_resources, and easy_install will no longer available by default; to access these run pip install setuptools in the activated virtual environment. - The asynchat, asyncore, and imp modules have been removed, along with several unittest.TestCase method aliases. - Refresh bluez-devel-vendor.tar.xz from bluez-devel 5.69-1.1.- Update to 3.12.0rc3: - Core and Builtins - gh-109496: On a Python built in debug mode, Py_DECREF() now calls _Py_NegativeRefcount() if the object is a dangling pointer to deallocated memory: memory filled with 0xDD “dead byte” by the debug hook on memory allocators. The fix is to check the reference count before checking for _Py_IsImmortal(). Patch by Victor Stinner. - gh-109371: Deopted instructions correctly for tool initialization and modified the incorrect assertion in instrumentation, when a previous tool already sets INSTRUCTION events - gh-105658: Fix bug where the line trace of an except block ending with a conditional includes an excess event with the line of the conditional expression. - gh-109219: Fix compiling type param scopes that use a name which is also free in an inner scope. - gh-109341: Fix crash when compiling an invalid AST involving a ast.TypeAlias. - gh-109195: Fix source location for the LOAD_* instruction preceding a LOAD_SUPER_ATTR to load the super global (or shadowing variable) so that it encompasses only the name super and not the following parentheses. - gh-109118: Disallow nested scopes (lambdas, generator expressions, and comprehensions) within PEP 695 annotation scopes that are nested within classes. - gh-109114: Relax the detection of the error message for invalid lambdas inside f-strings to not search for arbitrary replacement fields to avoid false positives. Patch by Pablo Galindo - gh-109118: Fix interpreter crash when a NameError is raised inside the type parameters of a generic class. - gh-108976: Fix crash that occurs after de-instrumenting a code object in a monitoring callback. - gh-108732: Make iteration variables of module- and class-scoped comprehensions visible to pdb and other tools that use frame.f_locals again. - gh-108959: Fix caret placement for error locations for subscript and binary operations that involve non-semantic parentheses and spaces. Patch by Pablo Galindo - Library - gh-108682: Enum: require names=() or type=... to create an empty enum using the functional syntax. - gh-108843: Fix an issue in ast.unparse() when unparsing f-strings containing many quote types. - Documentation - gh-102823: Document the return type of x // y when x and y have type float. - Tests - gh-109396: Fix test_socket.test_hmac_sha1() in FIPS mode. Use a longer key: FIPS mode requires at least of at least 112 bits. The previous key was only 32 bits. Patch by Victor Stinner. - gh-104736: Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb “bt” command output to detect when gdb fails to retrieve the traceback. For example, skip a test if Backtrace stopped: frame did not save the PC is found. Patch by Victor Stinner. - gh-109237: Fix test_site.test_underpth_basic() when the working directory contains at least one non-ASCII character: encode the ._pth file to UTF-8 and enable the UTF-8 Mode to use UTF-8 for the child process stdout. Patch by Victor Stinner. - gh-109230: Fix test_pyexpat.test_exception(): it can now be run from a directory different than Python source code directory. Before, the test failed in this case. Skip the test if Modules/pyexpat.c source is not available. Skip also the test on Python implementations other than CPython. Patch by Victor Stinner. - gh-109015: Fix test_asyncio, test_imaplib and test_socket tests on FreeBSD if the TCP blackhole is enabled (sysctl net.inet.tcp.blackhole). Skip the few tests which failed with ETIMEDOUT which such non standard configuration. Currently, the FreeBSD GCP image enables TCP and UDP blackhole (sysctl net.inet.tcp.blackhole=2 and sysctl net.inet.udp.blackhole=1). Patch by Victor Stinner. - gh-91960: Skip test_gdb if gdb is unable to retrieve Python frame objects: if a frame is . When Python is built with “clang -Og”, gdb can fail to retrive the frame parameter of _PyEval_EvalFrameDefault(). In this case, tests like py_bt() are likely to fail. Without getting access to Python frames, python-gdb.py is mostly clueless on retrieving the Python traceback. Moreover, test_gdb is no longer skipped on macOS if Python is built with Clang. Patch by Victor Stinner. - gh-108962: Skip test_tempfile.test_flags() if chflags() fails with “OSError: [Errno 45] Operation not supported” (ex: on FreeBSD 13). Patch by Victor Stinner. - gh-108851: Fix test_tomllib recursion tests for WASI buildbots: reduce the recursion limit and compute the maximum nested array/dict depending on the current available recursion limit. Patch by Victor Stinner. - gh-108851: Add get_recursion_available() and get_recursion_depth() functions to the test.support module. Patch by Victor Stinner. - gh-108834: Add --fail-rerun option option to regrtest: if a test failed when then passed when rerun in verbose mode, exit the process with exit code 2 (error), instead of exit code 0 (success). Patch by Victor Stinner. - gh-108834: Rename regrtest --verbose2 option (-w) to --rerun. Keep --verbose2 as a deprecated alias. Patch by Victor Stinner. - gh-108834: When regrtest reruns failed tests in verbose mode (./python -m test --rerun), tests are now rerun in fresh worker processes rather than being executed in the main process. If a test does crash or is killed by a timeout, the main process can detect and handle the killed worker process. Tests are rerun in parallel if the -jN option is used to run tests in parallel. Patch by Victor Stinner. - gh-103186: Suppress and assert expected RuntimeWarnings in test_sys_settrace.py - Build - gh-108740: Fix a race condition in make regen-all. The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating “global objects”. Previously, some identifiers may miss depending on the order in which these files were generated. Patch by Victor Stinner. - Python 3.12.0 release candidate 2: - Security - gh-108310: Fixed an issue where instances of ssl.SSLSocket were vulnerable to a bypass of the TLS handshake and included protections (like certificate verification) and treating sent unencrypted data as if it were post-handshake TLS encrypted data. Security issue reported as CVE-2023-40217 by Aapo Oksman. Patch by Gregory P. Smith. - gh-107774: PEP 669 specifies that sys.monitoring.register_callback will generate an audit event. Pre-releases of Python 3.12 did not generate the audit event. This is now fixed. - Core and Builtins - gh-108520: Fix multiprocessing.synchronize.SemLock.__setstate__() to properly initialize multiprocessing.synchronize.SemLock._is_fork_ctx. This fixes a regression when passing a SemLock accross nested processes. - Rename multiprocessing.synchronize.SemLock.is_fork_ctx to multiprocessing.synchronize.SemLock._is_fork_ctx to avoid exposing it as public API. - gh-108654: Restore locals shadowed by an inlined comprehension if the comprehension raises an exception. - gh-108487: Change an assert that would cause a spurious crash in a devious case that should only trigger deoptimization. - gh-106176: Use a WeakValueDictionary to track the lists containing the modules each thread is currently importing. This helps avoid a reference leak from keeping the list around longer than necessary. Weakrefs are used as GC can’t interrupt the cleanup. - gh-107901: Fix missing line number on JUMP_BACKWARD at the end of a for loop. - gh-108390: Raise an exception when setting a non-local event (RAISE, EXCEPTION_HANDLED, etc.) in sys.monitoring.set_local_events. - Fixes crash when tracing in recursive calls to Python classes. - gh-91051: Fix abort / segfault when using all eight type watcher slots, on platforms where char is signed by default. - gh-107724: In pre-release versions of 3.12, up to rc1, the sys.monitoring callback function for the PY_THROW event was missing the third, exception argument. That is now fixed. - gh-107080: Trace refs builds (--with-trace-refs) were crashing when used with isolated subinterpreters. The problematic global state has been isolated to each interpreter. Other fixing the crashes, this change does not affect users. - gh-77377: Ensure that multiprocessing synchronization objects created in a fork context are not sent to a different process created in a spawn context. This changes a segfault into an actionable RuntimeError in the parent process. - Library - gh-108469: ast.unparse() now supports new f-string syntax introduced in Python 3.12. Note that the f-string quotes are reselected for simplicity under the new syntax. (Patch by Steven Sun) - gh-108682: Enum: raise TypeError if super().__new__() is called from a custom __new__. - gh-108295: Fix crashes related to use of weakrefs on typing.TypeVar. - gh-64662: Fix support for virtual tables in sqlite3.Connection.iterdump(). Patch by Aviv Palivoda. - gh-108111: Fix a regression introduced in gh-101251 for 3.12, resulting in an incorrect offset calculation in gzip.GzipFile.seek(). - gh-105736: Harmonized the pure Python version of OrderedDict with the C version. Now, both versions set up their internal state in __new__. Formerly, the pure Python version did the set up in __init__. - gh-108083: Fix bugs in the constructor of sqlite3.Connection and sqlite3.Connection.close() where exceptions could be leaked. Patch by Erlend E. Aasland. - gh-107963: Fix multiprocessing.set_forkserver_preload() to check the given list of modules names. Patch by Dong-hee Na. - gh-106242: Fixes os.path.normpath() to handle embedded null characters without truncating the path. - gh-107913: Fix possible losses of errno and winerror values in OSError exceptions if they were cleared or modified by the cleanup code before creating the exception object. - gh-107845: tarfile.data_filter() now takes the location of symlinks into account when determining their target, so it will no longer reject some valid tarballs with LinkOutsideDestinationError. - gh-107805: Fix signatures of module-level generated functions in turtle. - gh-107715: Fix doctest.DocTestFinder.find() in presence of class names with special characters. Patch by Gertjan van Zwieten. - gh-100814: Passing a callable object as an option value to a Tkinter image now raises the expected TclError instead of an AttributeError. - gh-106684: Close asyncio.StreamWriter when it is not closed by application leading to memory leaks. Patch by Kumar Aditya. - gh-107396: tarfiles; Fixed use before assignment of self.exception for gzip decompression - gh-106052: re module: fix the matching of possessive quantifiers in the case of a subpattern containing backtracking. - gh-100061: Fix a bug that causes wrong matches for regular expressions with possessive qualifier. - gh-99203: Restore following CPython <= 3.10.5 behavior of shutil.make_archive(): do not create an empty archive if root_dir is not a directory, and, in that case, raise FileNotFoundError or NotADirectoryError regardless of format choice. Beyond the brought-back behavior, the function may now also raise these exceptions in dry_run mode. - Documentation - gh-105052: Update timeit doc to specify that time in seconds is just the default. - Tests - gh-89392: Removed support of test_main() function in tests. They now always use normal unittest test runner. - gh-108388: Convert test_concurrent_futures to a package of 7 sub-tests. Patch by Victor Stinner. - gh-108388: Split test_multiprocessing_fork, test_multiprocessing_forkserver and test_multiprocessing_spawn into test packages. Each package is made of 4 sub-tests: processes, threads, manager and misc. It allows running more tests in parallel and so reduce the total test duration. Patch by Victor Stinner. - gh-105776: Fix test_cppext when the C compiler command -std=c11 option: remove -std= options from the compiler command. Patch by Victor Stinner. - gh-107178: Add the C API test for functions in the Mapping Protocol, the Sequence Protocol and some functions in the Object Protocol. - Build - gh-63760: Fix Solaris build: no longer redefine the gethostname() function. Solaris defines the function since 2005. Patch by Victor Stinner, original patch by Jakub Kulík. - gh-107814: When calling find_python.bat with -q it did not properly silence the output of nuget. That is now fixed. - Windows - gh-107565: Update Windows build to use OpenSSL 3.0.10. - gh-106242: Fixes realpath() to behave consistently when passed a path containing an embedded null character on Windows. In strict mode, it now raises OSError instead of the unexpected ValueError, and in non-strict mode will make the path absolute. - gh-106844: Fix integer overflow and truncating by the null character in _winapi.LCMapStringEx() which affects ntpath.normcase(). - macOS - gh-107565: Update macOS installer to use OpenSSL 3.0.10. - Tools/Demos - gh-107565: Update multissltests and GitHub CI workflows to use OpenSSL 1.1.1v, 3.0.10, and 3.1.2. - gh-95065: Argument Clinic now supports overriding automatically generated signature by using directive @text_signature. - C API - gh-107916: C API functions PyErr_SetFromErrnoWithFilename(), PyErr_SetExcFromWindowsErrWithFilename() and PyErr_SetFromWindowsErrWithFilename() save now the error code before calling PyUnicode_DecodeFSDefault(). - gh-107915: Such C API functions as PyErr_SetString(), PyErr_Format(), PyErr_SetFromErrnoWithFilename() and many others no longer crash or ignore errors if it failed to format the error message or decode the filename. Instead, they keep a corresponding error. - gh-107810: Improve DeprecationWarning for uses of PyType_Spec with metaclasses that have custom tp_new.- restrict PEP668 to ALP/Tumbleweed- Refresh all patches - Drop Revert-gh105127-left-tests.patch, in upstream now - Update to 3.12.0rc1: - Reverted the :mod:`email.utils` security improvement change released in 3.12beta4 that unintentionally caused :mod:`email.utils.getaddresses` to fail to parse email addresses with a comma in the quoted name field. See :gh:`106669`. - Start initializing ob_digit during creation of :c:type:`PyLongObject` objects. Patch by Illia Volochii. - Increase C recursion limit for functions other than the main interpreter from 800 to 1500. This should allow functions like list.__repr__ and json.dumps to handle all the inputs that they could prior to 3.12 - Fix potential unaligned memory access on C APIs involving returned sequences of char * pointers within the :mod:`grp` and :mod:`socket` modules. These were revealed using a - fsaniziter=alignment build on ARM macOS. Patch by Christopher Chavez. - Add the exception as the third argument to PY_UNIND callbacks in sys.monitoring. This makes the PY_UNWIND callback consistent with the other exception hanlding callbacks. - Raise a ValueError when a monitoring callback funtion returns DISABLE for events that cannot be disabled locally. - Add a RERAISE event to sys.monitoring, which occurs when an exception is reraised, either explicitly by a plain raise statement, or implicitly in an except or finally block. - Unsupported modules now always fail to be imported. - Fix classmethod-style :func:`super` method calls (i.e., where the second argument to :func:`super`, or the implied second argument drawn from self/cls in the case of zero-arg super, is a type) when the target of the call is not a classmethod. - Python no longer crashes due an infrequent race when initialzing per-interpreter interned strings. The crash would manifest when the interpreter was finalized. - Python no longer crashes due to an infrequent race in setting Py_FileSystemDefaultEncoding and Py_FileSystemDefaultEncodeErrors (both deprecated), when simultaneously initializing two isolated subinterpreters. Now they are only set during runtime initialization. - Fix a segmentation fault caused by a use-after-free bug in frame_dealloc when the trashcan delays the deallocation of a PyFrameObject. - No longer suppress arbitrary errors in the __annotations__ getter and setter in the type and module types. - Propagate frozen_modules to multiprocessing spawned process interpreters. - Prevent out-of-bounds memory access during mmap.find() calls. - Seems that in some conditions, OpenSSL will return SSL_ERROR_SYSCALL instead of SSL_ERROR_SSL when a certification verification has failed, but the error parameters will still contain ERR_LIB_SSL and SSL_R_CERTIFICATE_VERIFY_FAILED. We are now detecting this situation and raising the appropiate ssl.SSLCertVerificationError. Patch by Pablo Galindo - Fix :func:`types.get_original_bases` to only return :attr:`!__orig_bases__` if it is present on cls directly. Patch by James Hilton-Balfe. - Prevent memory leak and use-after-free when using pointers to pointers with ctypes - Make :func:`gettext.pgettext` search plural definitions when translation is not found. - Document behavior of :func:`shutil.disk_usage` for non-mounted filesystems on Unix. - Do not report MultipartInvariantViolationDefect defect when the :class:`email.parser.Parser` class is used to parse emails with headersonly=True. - Fix invalid result from :meth:`PurePath.relative_to` method when attempting to walk a ".." segment in other with walk_up enabled. A :exc:`ValueError` exception is now raised in this case. - Fix potential missing NULL check of d2i_SSL_SESSION result in _ssl.c. - Update the bundled copy of pip to version 23.2.1. - Fixed several bugs in zipfile.Path, including: in Path.match`, Windows separators are no longer honored (and never were meant to be); Fixed ``name/suffix/suffixes/stem operations when no filename is present and the Path is not at the root of the zipfile; Reworked glob for performance and more correct matching behavior. - Add __copy__ and __deepcopy__ in :mod:`enum` - Revert a change to :func:`colorsys.rgb_to_hls` that caused division by zero for certain almost-white inputs. Patch by Terry Jan Reedy. - Instances of :class:`typing.TypeVar`, :class:`typing.ParamSpec`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs`, and :class:`typing.TypeVarTuple` once again support weak references, fixing a regression introduced in Python 3.12.0 beta 1. Patch by Jelle Zijlstra. - Detect possible memory allocation failure in the libtommath function :c:func:`mp_init` used by the _tkinter module. - Fix crash when calling repr with a manually constructed SignalDict object. Patch by Charlie Zhao. - Change the default return value of :meth:`http.client.HTTPConnection.get_proxy_response_headers` to be None and not {}. - Ensure gettext(msg) retrieve translations even if a plural form exists. In other words: gettext(msg) == ngettext(msg, '', 1). - Add documentation for :c:type:`PyInterpreterConfig` and :c:func:`Py_NewInterpreterFromConfig`. Also clarify some of the nearby docs relative to per-interpreter GIL. - Document the :mod:`curses` module variables :const:`~curses.LINES` and :const:`~curses.COLS`. - Add a number of standard external names to nitpick_ignore. - Add documentation on how to localize the :mod:`argparse` module. - test_logging: Fix test_udp_reconnection() by increasing the timeout from 100 ms to 5 minutes (LONG_TIMEOUT). Patch by Victor Stinner. - test_capi: Fix test_no_FatalError_infinite_loop() to no longer write a coredump, by using test.support.SuppressCrashReport. Patch by Victor Stinner. - Avoid creating a reference to the test object in :meth:`~unittest.TestResult.collectedDurations`. - Moved tests for zipfile.Path into Lib/test/test_zipfile/_path. Made zipfile._path a package. - Check for linux/limits.h before including it in Modules/posixmodule.c. - Detect MPI compilers in :file:`configure`. - Add experimental wasi-threads support. Patch by Takashi Yamamoto. - Update Windows build to use OpenSSL 3.0.9 - Update macOS installer to use OpenSSL 3.0.9. - Fix bugs in the Argument Clinic destination clear command; the destination buffers would never be cleared, and the destination directive parser would simply continue to the fault handler after processing the command. Patch by Erlend E. Aasland. - freeze now fetches CONFIG_ARGS from the original CPython instance the Makefile uses to call utility scripts. Patch by Ijtaba Hussain. - :c:func:`PyModule_AddObjectRef` is now only available in the limited API version 3.10 or later.- add externally_managed.in to label this build as PEP-668 managed- IT MEANS THAT bsc#1210638 STILL HAS NOT BEEN FIXED! - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) partially reverting CVE-2023-27043-email-parsing-errors.patch, because of the regression in gh#python/cpython#106669.- Update to 3.12.0b4: - gh-issue-102988: CVE-2023-27043 (bsc#1210638): Prevent :func:`email.utils.parseaddr` and :func:`email.utils.getaddresses` from returning the realname portion of an invalid RFC2822 email header in the email address portion of the 2-tuple returned after being parsed by :class:`email._parseaddr.AddressList`. - gh-issue-106396: When the format specification of an f-string expression is empty, the parser now generates an empty :class:`ast.JoinedStr` node for it instead of an one-element :class:`ast.JoinedStr` with an empty string :class:`ast.Constant`. - gh-issue-106145: Make ``end_lineno`` and ``end_col_offset`` required on ``type_param`` ast nodes. - gh-issue-105979: Fix crash in :func:`!_imp.get_frozen_object` due to improper exception handling. - gh-issue-98931: Ensure custom :exc:`SyntaxError` error messages are raised for invalid imports with multiple targets. Patch by Pablo Galindo - gh-issue-105908: Fixed bug where :gh:`99111` breaks future import ``barry_as_FLUFL`` in the Python REPL. - gh-issue-105340: Include the comprehension iteration variable in ``locals()`` inside a module- or class-scope comprehension. - gh-issue-105486: Change the repr of ``ParamSpec`` list of args in ``types.GenericAlias``. - gh-issue-101006: Improve error handling when read :mod:`marshal` data. - gh-issue-106524: Fix crash in :func:`!_sre.template` with templates containing invalid group indices. - gh-issue-106510: Improve debug output for atomic groups in regular expressions. - gh-issue-106503: Fix ref cycle in :class:`!asyncio._SelectorSocketTransport` by removing ``_write_ready`` in ``close``. - gh-issue-105497: Fix flag mask inversion when unnamed flags exist. - gh-issue-90876: Prevent :mod:`multiprocessing.spawn` from failing to *import* in environments where ``sys.executable`` is ``None``. This regressed in 3.11 with the addition of support for path-like objects in multiprocessing. - gh-issue-106292: Check for an instance-dict cached value in the :meth:`__get__` method of :func:`functools.cached_property`. This better matches the pre-3.12 behavior and improves compatibility for users subclassing :func:`functools.cached_property` and adding a :meth:`__set__` method. - gh-issue-106330: Fix incorrect matching of empty paths in :meth:`pathlib.PurePath.match`. This bug was introduced in Python 3.12.0 beta 1. - gh-issue-102541: Make pydoc.doc catch bad module ImportError when output stream is not None. - gh-issue-106152: Added PY_THROW event hook for :mod:`cProfile` for generators - gh-issue-106075: Added `asyncio.taskgroups.__all__` to `asyncio.__all__` for export in star imports. - gh-issue-105987: Fix crash due to improper reference counting in :mod:`asyncio` eager task factory internal routines. - gh-issue-105974: Fix bug where a :class:`typing.Protocol` class that had one or more non-callable members would raise :exc:`TypeError` when :func:`issubclass` was called against it, even if it defined a custom ``__subclasshook__`` method. The behaviour in Python 3.11 and lower -- which has now been restored -- was not to raise :exc:`TypeError` in these situations if a custom ``__subclasshook__`` method was defined. Patch by Alex Waygood. - gh-issue-96145: Reverted addition of ``json.AttrDict``. - gh-issue-105497: Fix flag inversion when alias/mask members exist. - gh-issue-104554: Add RTSPS scheme support in urllib.parse - gh-issue-94777: Fix hanging :mod:`multiprocessing` ``ProcessPoolExecutor`` when a child process crashes while data is being written in the call queue. - gh-issue-106232: Make timeit doc command lines compatible with Windows by using double quotes for arguments. This works on linux and macOS also. - gh-issue-101634: When running the Python test suite with ``-jN`` option, if a worker stdout cannot be decoded from the locale encoding report a failed testn so the exitcode is non-zero. Patch by Victor Stinner. - gh-issue-106118: Fix compilation for platforms without :data:`!O_CLOEXEC`. The issue was introduced with Python 3.12b1 in :gh:`103295`. Patch by Erlend Aasland. - gh-issue-104692: Include ``commoninstall`` as a prerequisite for ``bininstall`` This ensures that ``commoninstall`` is completed before ``bininstall`` is started when parallel builds are used (``make - j install``), and so the ``python3`` symlink is only installed after all standard library modules are installed. - gh-issue-106359: Argument Clinic now explicitly forbids "kwarg splats" in function calls used as annotations. - gh-issue-105227: The new :c:func:`PyType_GetDict` provides the dictionary for the given type object that is normally exposed by ``cls.__dict__``. Normally it's sufficient to use :c:member:`~PyTypeObject.tp_dict`, but for the static builtin types :c:member:`!tp_dict` is now always ``NULL``. :c:func:`!PyType_GetDict()` provides the correct dict object instead.- Update to 3.12.0b3: - gh-103142: The version of OpenSSL used in Windows and Mac installers has been upgraded to 1.1.1u to address CVE-2023-2650, CVE-2023-0465, CVE-2023-0466, CVE-2023-0464, as well as CVE-2023-0286, CVE-2022-4303, and CVE-2022-4303 fixed previously in 1.1.1t (gh-101727). - gh-102153: urllib.parse.urlsplit() now strips leading C0 control and space characters following the specification for URLs defined by WHATWG in response to CVE-2023-24329. - gh-99889: Fixed a security in flaw in uu.decode() that could allow for directory traversal based on the input if no out_file was specified. - gh-104049: Do not expose the local on-disk location in directory indexes produced by http.client.SimpleHTTPRequestHandler. - gh-103935: trace.__main__ now uses io.open_code() for files to be executed instead of raw open(). - gh-102953: The extraction methods in tarfile, and shutil.unpack_archive(), have a new filter argument that allows limiting tar features than may be surprising or dangerous, such as creating files outside the destination directory. See Extraction filters for details. - Remove upstreamed patches: - 00398-fix-stack-overwrite-on-32-bit-in-perf-map-test-harness-gh-104811-104823.patch- Add 00398-fix-stack-overwrite-on-32-bit-in-perf-map-test-harness-gh-104811-104823.patch gh#python/cpython#104811- Refresh all patches - Update to 3.12.0b1: Full changelog can be found here https://docs.python.org/dev/whatsnew/changelog.html#python-3-12-0-beta-1- Why in the world we download from HTTP?- Ignore failing test test_freeze_simple_script, it fails because it cannot import _sysconfigdata__linux_x86_64-linux-gnu that's not present in the test environment, it fails without bundled libs. - Remove non existing paths: * %{sitedir}/tkinter/test * %{sitedir}/sqlite3/test * %{dynlib _curses_panel}- Update to 3.12.0a7: Full changelog can be found here https://docs.python.org/dev/whatsnew/changelog.html#python-3-12-0-alpha-7- Switch off obsoleting previous interpreters.- Update to 3.12.0a6: - Many new features for Python 3.12 are still being planned and written. Among the new major new features and changes so far: - Even more improved error messages. More exceptions potentially caused by typos now make suggestions to the user. - Support for the Linux perf profiler to report Python function names in traces. - The deprecated wstr and wstr_length members of the C implementation of unicode objects were removed, per PEP 623. - In the unittest module, a number of long deprecated methods and classes were removed. (They had been deprecated since Python 3.1 or 3.2). - The deprecated smtpd and distutils modules have been removed (see PEP 594 and PEP 632. The setuptools package (installed by default in virtualenvs and many other places) continues to provide the distutils module. - A number of other old, broken and deprecated functions, classes and methods have been removed. - Invalid backslash escape sequences in strings now warn with SyntaxWarning instead of DeprecationWarning, making them more visible. (They will become syntax errors in the future.) - The internal representation of integers has changed in preparation for performance enhancements. (This should not affect most users as it is an internal detail, but it may cause problems for Cython-generated code.) - Add the refreshed version of F00251-change-user-install-location.patch (updated from Fedora), which works together with the installation schemes in sysconfig. - Remove distutils-reproducible-compile.patch, which is not applicable anymore (because distutils was removed from the standard library). - Remove upstreamed support-expat-CVE-2022-25236-patched.patch- Update to 3.11.2: Bug fixes, no changes in API and no security bugs.- Add python310 Obsoletes line to obsolete_python_versioned macro.- Add provides for readline and sqlite3 to the main Python package.- Disable NIS for new products, it's deprecated and gets removed- build GLIBC hwcaps optimized versions of the interpreter- Don't fail on Sphinx build warnings. - For jsc#PED-1570, providing Python 3.11 for SLE-15-SP5.- Update to 3.11.1: - python -m http.server no longer allows terminal control characters sent within a garbage request to be printed to the stderr server lo This is done by changing the http.server BaseHTTPRequestHandler .log_message method to replace control characters with a \xHH hex escape before printin - Avoid publishing list of active per-interpreter audit hooks via the gc module - The IDNA codec decoder used on DNS hostnames by socket or asyncio related name resolution functions no longer involves a quadratic algorithm. This prevents a potential CPU denial of service if an out-of-spec excessive length hostname involving bidirectional characters were decoded. Some protocols such as urllib http 3xx redirects potentially allow for an attacker to supply such a name (CVE-2022-45061). - Update bundled libexpat to 2.5.0 - Fix a shell code injection vulnerability in the get-remote-certificate.py example script. The script no longer uses a shell to run openssl commands. Issue reported and initial fix by Caleb Shortt. Patch by Victor Stinner. - Fix a crash when an object which does not have a dictionary frees its instance values. - Fix a bug in the tokenizer that could cause infinite recursion when showing syntax warnings that happen in the first line of the source. Patch by Pablo Galindo - Fix an issue that could cause frames to be visible to Python code as they are being torn down, possibly leading to memory corruption or hard crashes of the interpreter. - Fix a reference bug in _imp.create_builtin() after the creation of the first sub-interpreter for modules builtins and sys. Patch by Victor Stinner. - Fixed a bug that was causing a buffer overflow if the tokenizer copies a line missing the newline caracter from a file that is as long as the available tokenizer buffer. Patch by Pablo galindo - Fix bug where an ExceptionGroup subclass can wrap a BaseException. - Fix zip path for venv created from a non-installed python on POSIX platforms. - Fix an issue that could potentially cause incorrect error handling for some bytecode instructions. - Fix an issue that prevented PyThreadState and PyInterpreterState memory from being freed properly. - Fix failure in except* with unhashable exceptions. - Fix calculation of sys._base_executable when inside a POSIX virtual environment using copies of the python binary when the base installation does not provide the executable name used by the venv. Calculation will fall back to alternative names (“python”, “python.”). - Update faulthandler to emit an error message with the proper unexpected signal number. Patch by Dong-hee Na. - Fix location of SyntaxError for a try block with both except and except*. - Fix the error reporting positions of specialized traceback anchors when the source line contains Unicode characters. - Fix subscription of type aliases containing bare generic types or types like TypeVar: for example tuple[A, T][int] and tuple[TypeVar, T][int], where A is a generic type, and T is a type variable. - Lower the recursion depth for marshal on WASI to support wasmtime 2.0/main. - Fix multiple crashes in debug mode when str subclasses are used instead of str itself. - Fix an issue where member descriptors (such as those for __slots__) could behave incorrectly or crash instead of raising a TypeError when accessed via an instance of an invalid type. - Suppress ImportError for invalid query for help() command. Patch by Dong-hee Na. - Fix detection of MAC addresses for uuid on certain OSs. Patch by Chaim Sanders - Print exception class name instead of its string representation when raising errors from ctypes calls. - os.sched_yield() now release the GIL while calling sched_yield(2). Patch by Dong-hee Na. - Fix an issue that could delay the specialization of PRECALL instructions. - Bugfix: PyFunction_GetAnnotations() should return a borrowed reference. It was returning a new reference. - Ensure that all Python frame objects are backed by “complete” frames. - Fixed a missing incref/decref pair in Exception.__setstate__(). Patch by Ofey Chan. - Fix the Python path configuration used to initialized sys.path at Python startup. Paths are no longer encoded to UTF-8/strict to avoid encoding errors if it contains surrogate characters (bytes paths are decoded with the surrogateescape error handler). Patch by Victor Stinner. - Fix overly-broad source position information for chained comparisons used as branching conditions. - At Python exit, sometimes a thread holding the GIL can wait forever for a thread (usually a daemon thread) which requested to drop the GIL, whereas the thread already exited. To fix the race condition, the thread which requested the GIL drop now resets its request before exiting. Issue discovered and analyzed by Mingliang ZHAO. Patch by Victor Stinner. - Fix a possible assertion failure, fatal error, or SystemError if a line tracing event raises an exception while opcode tracing is enabled. - Fix undefined behaviour in C code of null pointer arithmetic. - Make sure that all frame objects created are created from valid interpreter frames. Prevents the possibility of invalid frames in backtraces and signal handlers. - Disable incorrect pickling of the C implemented classmethod descriptors. - On WASI ENOTCAPABLE is now mapped to PermissionError. The errno modules exposes the new error number. getpath.py now ignores PermissionError when it cannot open landmark files pybuilddir.txt and pyenv.cfg. - Allow pdb to locate source for frozen modules in the standard library. - Raise ValueError instead of SystemError when methods of uninitialized io.IncrementalNewlineDecoder objects are called. Patch by Oren Milman. - Fix a possible assertion failure in io.FileIO when the opener returns an invalid file descriptor. - Also escape s in the http.server BaseHTTPRequestHandler.log_message so that it is technically possible to parse the line and reconstruct what the original data was. Without this a xHH is ambiguious as to if it is a hex replacement we put in or the characters r”x” came through in the original request line. - asyncio.get_event_loop() now only emits a deprecation warning when a new event loop was created implicitly. It no longer emits a deprecation warning if the current event loop was set. - Fix bug when calling trace.CoverageResults with valid infile. - Fix a bug in handling class cleanups in unittest.TestCase. Now addClassCleanup() uses separate lists for different TestCase subclasses, and doClassCleanups() only cleans up the particular class. - Release the GIL when calling termios APIs to avoid blocking threads. - Fix ast.increment_lineno() to also cover ast.TypeIgnore when changing line numbers. - Fix bug in urllib.parse.urlparse() that causes URL schemes that begin with a digit, a plus sign, or a minus sign to be parsed incorrectly. - Check the number of arguments in substitution in user generics containing a TypeVarTuple and one or more TypeVar. - Fix substitution of ParamSpec followed by TypeVarTuple in generic aliases. - Fix substitution of TypeVarTuple and ParamSpec together in user generics. - Fixed bug where inspect.signature() reported incorrect arguments for decorated methods. - Fix SystemError in ctypes when exception was not set during __initsubclass__. - Remove older version of _SSLProtocolTransport.get_write_buffer_limits in asyncio.sslproto - fix negative numbers failing in verify() - Fix statistics.NormalDist pickle with 0 and 1 protocols. - enum.auto() is now correctly activated when combined with other assignment values. E.g. ONE = auto(), 'some text' will now evaluate as (1, 'some text'). - Update the bundled copy of pip to version 22.3.1. - Clean up refleak on failed module initialisation in _zoneinfo - Clean up refleaks on failed module initialisation in in _pickle - Clean up refleak on failed module initialisation in _io. - Fix memory leak in math.dist() when both points don’t have the same dimension. Patch by Kumar Aditya. - [3.11] Applied changes from importlib_metadata 4.11.4 through 4.13, including compatibility and robustness fixes for Distribution objects without _normalized_name, disallowing invalid inputs to Distribution.from_name, and refined behaviors in PathDistribution._name_from_stem and PathDistribution._normalized_name. - Fix argument typechecks in _overlapped.WSAConnect() and _overlapped.Overlapped.WSASendTo() functions. - Prevent crashing in traceback when retrieving the byte-offset for some source files that contain certain unicode characters. - Fix internal error in the re module which in very rare circumstances prevented compilation of a regular expression containing a conditional expression without the “else” branch. - Fix asyncio.StreamWriter.drain() to call protocol.connection_lost callback only once on Windows. - Add a mutex to unittest.mock.NonCallableMock to protect concurrent access to mock attributes. - Fix hang on Windows in subprocess.wait_closed() in asyncio with ProactorEventLoop. Patch by Kumar Aditya. - Fix infinite loop in unittest when a self-referencing chained exception is raised - tkinter.Text.count() raises now an exception for options starting with “-” instead of silently ignoring them. - On uname_result, restored expectation that _fields and _asdict would include all six properties including processor. - A createSocket() method was added to SysLogHandler. - Fix bug in urllib.parse.urlparse() that causes certain port numbers containing whitespace, underscores, plus and minus signs, or non-ASCII digits to be incorrectly accepted. - Allow venv to pass along PYTHON* variables to ensurepip and pip when they do not impact path resolution - On macOS, fix a crash in syslog.syslog() in multi-threaded applications. On macOS, the libc syslog() function is not thread-safe, so syslog.syslog() no longer releases the GIL to call it. Patch by Victor Stinner. - Allow BUILTINS to be a valid field name for frozen dataclasses. - Wrap network errors consistently in urllib FTP support, so the test suite doesn’t fail when a network is available but the public internet is not reachable. - Make sure patch.dict() can be applied on async functions. - Earlier in 3.11 we deprecated asyncio.Task.cancel("message"). We realized we were too harsh, and have undeprecated it. - Change deprecate warning message in unittest from It is deprecated to return a value!=None to It is deprecated to return a value that is not None from a test case - Fixes AttributeError when subprocess.check_output() is used with argument input=None and either of the arguments encoding or errors are used. - Fix is_private properties in the ipaddress module. Previously non-private networks (0.0.0.0/0) would return True from this method; now they correctly return False. - Avoid spurious tracebacks from asyncio when default executor cleanup is delayed until after the event loop is closed (e.g. as the result of a keyboard interrupt). - Avoid a crash in the C version of asyncio.Future.remove_done_callback() when an evil argument is passed. - Remove tokenize.NL check from tabnanny. - Fix generation of the default name of tkinter.Checkbutton. Previously, checkbuttons in different parent widgets could have the same short name and share the same state if arguments “name” and “variable” are not specified. Now they are globally unique. - Update bundled libexpat to 2.4.9 - Fix race condition in asyncio where process_exited() called before the pipe_data_received() leading to inconsistent output. Patch by Kumar Aditya. - Fixed check in multiprocessing.resource_tracker that guarantees that the length of a write to a pipe is not greater than PIPE_BUF. - Corrected type annotation for dataclass attribute pstats.FunctionProfile.ncalls to be str. - Fix repr of Any subclasses. - Work around missing socket functions in socket’s __repr__. - In inspect, fix overeager replacement of “typing.” in formatting annotations. - Fix handling of bytes path-like objects in os.ismount(). - Fix handling compiler warnings (SyntaxWarning and DeprecationWarning) in codeop.compile_command() when checking for incomplete input. Previously it emitted warnings and raised a SyntaxError. Now it always returns None for incomplete input without emitting any warnings. - To avoid apparent memory leaks when asyncio.open_connection() raises, break reference cycles generated by local exception and future instances (which has exception instance as its member var). Patch by Dong Uk, Kang. - Fixed flickering of the turtle window when the tracer is turned off. Patch by Shin-myoung-serp. - Fix asyncio subprocess transport to kill process cleanly when process is blocked and avoid RuntimeError when loop is closed. Patch by Kumar Aditya. - Prevent error when activating venv in nested fish instances. - TarFile.next() now returns None when called on an empty tarfile. - Document the optional callback parameter of WeakMethod. Patch by Géry Ogam. - Restrict use of sockets instead of pipes for stdin of subprocesses created by asyncio to AIX platform only. - shutil.copytree() now applies the ignore_dangling_symlinks argument recursively. - Fix IndexError in argparse.ArgumentParser when a store_true action is given an explicit argument. - Document that calling variadic functions with ctypes requires special care on macOS/arm64 (and possibly other platforms). - Remove extra row - Clarified the conflicting advice given in the ast documentation about ast.literal_eval() being “safe” for use on untrusted input while at the same time warning that it can crash the process. The latter statement is true and is deemed unfixable without a large amount of work unsuitable for a bugfix. So we keep the warning and no longer claim that literal_eval is safe. - Restructured the documentation for the os.wait* family of functions, and improved the docs for os.waitid() with more explanation of the possible argument constants. - Skip test_normalization() of test_unicodedata if it fails to download NormalizationTest.txt file from pythontest.net. Patch by Victor Stinner. - Correct test_marsh on (32 bit) x86: test_deterministic sets was failing. - Optional big memory tests in test_sqlite3 now catch the correct sqlite.DataError exception type in case of too large strings and/or blobs passed. - Fix a bug in the typing tests where a test relying on CPython-specific implementation details was not decorated with @cpython_only and was not skipped on other implementations. - Add tests for star-unpacking with PEP 646, and some other miscellaneous PEP 646 tests. - Added explicit coverage of Py_Initialize (and hence Py_InitializeEx) back to the embedding tests (all other embedding tests migrated to Py_InitializeFromConfig in Python 3.11) - Some C API tests were moved into the new Lib/test/test_capi/ directory. - Fix -Wimplicit-int, -Wstrict-prototypes, and - Wimplicit-function-declaration compiler warnings in configure checks. - Fix a compilation issue with GCC 12 on macOS. - Fix -Wimplicit-int compiler warning in configure check for PTHREAD_SCOPE_SYSTEM. - Fix a possible fd leak in Programs/_freeze_module.c introduced in Python 3.11. - Fix build with PYTHON_FOR_REGEN=python3.8. - Specify the full path to the source location for make docclean (needed for cross-builds). - Don’t use vendored libmpdec headers if --with-system-libmpdec is passed to configure. Don’t use vendored libexpat headers if --with-system-expat is passed to !configure. - Fix the build process of clang compiler for _bootstrap_python if LTO optimization is applied. Patch by Matthias Görgens and Dong-hee Na. - wasm32-emscripten builds for browsers now include concurrent.futures for asyncio and unittest.mock. - wasm32-emscripten platform no longer builds resource module, getresuid(), getresgid(), and their setters. The APIs are stubs and not functional. - Updated pegen regeneration script on Windows to find and use Python 3.9 or higher. Prior to this, pegen regeneration already required 3.9 or higher, but the script may have used lower versions of Python. - Fix a bug in the previous bugfix that caused IDLE to not start when run with 3.10.8, 3.12.0a1, and at least Microsoft Python 3.10.2288.0 installed without the Lib/test package. 3.11.0 was never affected. - The wasm_build.py script now pre-builds Emscripten ports, checks for broken EMSDK versions, and warns about pkg-config env vars. - The new tool Tools/wasm/wasm_builder.py automates configure, compile, and test steps for building CPython on WebAssembly platforms. - Fix handling of module docstrings in Tools/i18n/pygettext.py. - PyBUF_* constants were marked as part of Limited API of Python 3.11+. These were available in 3.11.0 with Py_LIMITED_API defined for 3.11, and are necessary to use the buffer API. - Fix use-after-free in Py_SetPythonHome(NULL), Py_SetProgramName(NULL) and _Py_SetProgramFullPath(NULL) function calls. Issue reported by Benedikt Reinartz. Patch by Victor Stinner. - Py_InitializeEx now correctly calls PyConfig_Clear after initializing the interpreter (the omission didn’t cause a memory leak only because none of the dynamically allocated config fields are populated by the wrapper function) - Removed upstreamed patches: - 98437-sphinx.locale._-as-gettext-in-pyspecific.patch - CVE-2022-45061-DoS-by-IDNA-decode.patch- Add CVE-2022-45061-DoS-by-IDNA-decode.patch to avoid CVE-2022-45061 (bsc#1205244) allowing DoS by IDNA decoding extremely long domain names.- Update to 3.11.0 (overall changes from 3.10.*): - General changes - PEP 657 -- Include Fine-Grained Error Locations in Tracebacks - PEP 654 -- Exception Groups and except* - PEP 680 -- tomllib: Support for Parsing TOML in the Standard Library - gh-90908 -- Introduce task groups to asyncio - gh-34627 -- Atomic grouping ((?>...)) and possessive quantifiers (*+, ++, ?+, {m,n}+) are now supported in regular expressions. - The Faster CPython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See Faster CPython for details. - Typing and typing language changes - PEP 673 -- Self Type - PEP 646 -- Variadic Generics - PEP 675 -- Arbitrary Literal String Type - PEP 655 -- Marking individual TypedDict items as required or potentially-missing - PEP 681 -- Data Class Transforms - (just changes from 3.11.0rc2): - Fix multiplying a list by an integer (list *= int): detect the integer overflow when the new allocated length is close to the maximum size. Issue reported by Jordan Limor. Patch by Victor Stinner. - On Linux the multiprocessing module returns to using filesystem backed unix domain sockets for communication with the forkserver process instead of the Linux abstract socket namespace. Only code that chooses to use the “forkserver” start method is affected. Abstract sockets have no permissions and could allow any user on the system in the same network namespace (often the whole system) to inject code into the multiprocessing forkserver process. This was a potential privilege escalation. Filesystem based socket permissions restrict this to the forkserver process user as was the default in Python 3.8 and earlier. This prevents Linux CVE-2022-42919. - Fix an issue where several frame objects could be backed by the same interpreter frame, possibly leading to corrupted memory and hard crashes of the interpreter. - Fix possible data corruption or crashes when accessing the f_back member of newly-created generator or coroutine frames. - Fix a crash occurring when PyEval_GetFrame() is called while the topmost Python frame is in a partially-initialized state. - Fix command line parsing: reject -X int_max_str_digits option with no value (invalid) when the PYTHONINTMAXSTRDIGITS environment variable is set to a valid limit. Patch by Victor Stinner. - Fix undefined behaviour in _testcapimodule.c. - When ValueError is raised if an integer is larger than the limit, mention the sys.set_int_max_str_digits() function in the error message. Patch by Victor Stinner. - Correctly raise SyntaxError on exception groups (PEP 654) on python versions prior to 3.11 - Document some places where an assignment expression needs parentheses. - Update the bundled copies of pip and setuptools to versions 22.3 and 65.5.0 respectively. - fix Flag to use boundary CONFORM - This restores previous Flag behavior of allowing flags with non-sequential values to be combined; e.g. - class Skip(Flag): TWO = 2 EIGHT = 8 - Skip.TWO | Skip.EIGHT -> - Fix ! in c domain ref target syntax via a conf.py patch, so it works as intended to disable ref target resolution. - Update tutorial introduction output to use 3.10+ SyntaxError invalid range.- Add 98437-sphinx.locale._-as-gettext-in-pyspecific.patch to allow building of documentation with the latest Sphinx 5.3.0 (gh#python/cpython#98366).- Update to 3.11.0rc2: - Converting between int and str in bases other than 2 (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) now raises a ValueError if the number of digits in string form is above a limit to avoid potential denial of service attacks due to the algorithmic complexity. This is a mitigation for CVE-2020-10735. This new limit can be configured or disabled by environment variable, command line flag, or sys APIs. See the integer string conversion length limitation documentation. The default limit is 4300 digits in string form. - Fix case of undefined behavior in ceval.c - Do not expose KeyWrapper in _functools. - Ensure that tracing, sys.setrace(), is turned on immediately. In pre-release versions of 3.11, some tracing events might have been lost when turning on tracing in a __del__ method or interrupt. - Fix use after free in trace refs build mode. Patch by Kumar Aditya. - When loading a file with invalid UTF-8 inside a multi-line string, a correct SyntaxError is emitted. - Make sure that incomplete frames do not show up in tracemalloc traces. - Remove two cases of undefined behavior, by adding NULL checks. - Fix possible NULL pointer dereference in _PyThread_CurrentFrames. Patch by Kumar Aditya. - Fix AttributeError missing name and obj attributes in object.__getattribute__(). Patch by Philip Georgi. - Loading a file with invalid UTF-8 will now report the broken character at the correct location. - Fixed a bug that caused _PyCode_GetExtra to return garbage for negative indexes. Patch by Pablo Galindo - Fix a deadlock in PyGILState_Ensure() when allocating new thread state. Patch by Kumar Aditya. - PyType_Ready() now initializes ht_cached_keys and performs additional checks to ensure that type objects are properly configured. This avoids crashes in 3rd party packages that don’t use regular API to create new types. - Skip over incomplete frames in PyThreadState_GetFrame(). - Fix format string in _PyPegen_raise_error_known_location that can lead to memory corruption on some 64bit systems. The function was building a tuple with i (int) instead of n (Py_ssize_t) for Py_ssize_t arguments. - Fix misleading contents of error message when converting an all-whitespace string to float. - ast.parse() will no longer parse function definitions with positional-only params when passed feature_version less than (3, 8). Patch by Shantanu Jain. - Fix incorrect error message in the io module. - Fix the faulthandler implementation of faulthandler.register(signal, chain=True) if the sigaction() function is not available: don’t call the previous signal handler if it’s NULL. Patch by Victor Stinner. - Correct conversion of numbers.Rational’s to float. - Fix TypeVarTuple.__typing_prepare_subst__. TypeError was not raised when using more than one TypeVarTuple, like [*T, *V] in type alias substitutions. - Fix asyncio.streams.StreamReaderProtocol to keep a strong reference to the created task, so that it’s not garbage collected - Fix a performance regression in logging TimedRotatingFileHandler. Only check for special files when the rollover time has passed. - Fix unused localName parameter in the Attr class in xml.dom.minidom. - Fix incorrect condition that causes sys.thread_info.name to be wrong on pthread platforms. - Remove an incompatible change from bpo-28080 that caused a regression that ignored the utf8 in ZipInfo.flag_bits. Patch by Pablo Galindo. - Fix asyncio.Runner to call asyncio.set_event_loop() only once to avoid calling attach_loop() multiple times on child watchers. Patch by Kumar Aditya. - Fix unittest.IsolatedAsyncioTestCase to set event loop before calling setup functions. Patch by Kumar Aditya. - When a task catches asyncio.CancelledError and raises some other error, the other error should generally not silently be suppressed. - Fail gracefully if EPERM or ENOSYS is raised when loading crypt methods. This may happen when trying to load MD5 on a Linux kernel with FIPS enabled. - Allow asyncio.StreamWriter.drain() to be awaited concurrently by multiple tasks. Patch by Kumar Aditya. - Fix ast.unparse() when ImportFrom.level is None - Improve discoverability of the higher level concurrent.futures module by providing clearer links from the lower level threading and multiprocessing modules. - What’s New 3.11 now has instructions for how to provide compiler and linker flags for Tcl/Tk and OpenSSL on RHEL 7 and CentOS 7. - Mitigate the inherent race condition from using find_unused_port() in testSockName() by trying to find an unused port a few times before failing. Patch by Ross Burton. - Build and test with OpenSSL 1.1.1q - Use support-expat-CVE-2022-25236-patched.patch from the current version of gh#python/cpython#93900 instead of the old support-expat-245.patch. - Reapply fix_configure_rst.patch.- Increase testsuite timeout for test_freeze_simple_script- fix import_failed.map to refer to the python 3.11 package versions- Update to 3.11.0rc1: - Core and Builtins - Update code object hashing and equality to consider all debugging and exception handling tables. This fixes an issue where certain non-identical code objects could be “deduplicated” during compilation. - _PyPegen_Parser_New now properly detects token memory allocation errors. Patch by Honglin Zhu. - Run Python code in tracer/profiler function at full speed. Fixes slowdown in earlier versions of 3.11. - Emit a warning in debug mode if an object does not call PyObject_GC_UnTrack() before deallocation. Patch by Pablo Galindo. - Prevented crashes in the AST constructor when compiling some absurdly long expressions like "+0"*1000000. RecursionError is now raised instead. Patch by Pablo Galindo - ast.AST node positions are now validated when provided to compile() and other related functions. If invalid positions are detected, a ValueError will be raised. - Fix error detection in some builtin functions when keyword argument name is an instance of a str subclass with overloaded __eq__ and __hash__. Previously it could cause SystemError or other undesired behavior. - Library - Update bundled pip to 22.2.2. - Fix asyncio.TaskGroup to propagate exception when asyncio.CancelledError was replaced with another exception by a context manger. Patch by Kumar Aditya and Guido van Rossum. - Update bundled pip to 22.2.1. - Fix GC crash when deallocating _lsprof.Profiler by untracking it before calling any callbacks. Patch by Kumar Aditya. - Fix asyncio.run() for asyncio.Task implementations without uncancel() method. Patch by Kumar Aditya. - Fix check for existence of os.EFD_CLOEXEC, os.EFD_NONBLOCK and os.EFD_SEMAPHORE flags on older kernel versions where these flags are not present. Patch by Kumar Aditya. - Fix concurrent.futures.Executor.map() to cancel the currently waiting on future on an error - e.g. TimeoutError or KeyboardInterrupt. - Ensure that timeouts scheduled with asyncio.Timeout that have already expired are delivered promptly. - Suppress writing an XML declaration in open files in ElementTree.write() with encoding='unicode' and xml_declaration=None. - Fix findtext in the xml module to only give an empty string when the text attribute is set to None. - Documentation - Fix stylesheet not working in Windows CHM htmlhelp docs and add warning that they are deprecated. Contributed by C.A.M. Gerlach. - Update library documentation with availability information on WebAssembly platforms wasm32-emscripten and wasm32-wasi. - Use consistent syntax for platform availability. The directive now supports a content body and emits a warning when it encounters an unknown platform. - Document a limitation in ThreadPoolExecutor where its exit handler is executed before any handlers in atexit. - Tests - Lib/test/test_asyncio/test_ssl.py exposed a bug in the macOS kernel where intense concurrent load on non-blocking sockets occasionally causes errno.ENOBUFS (“No buffer space available”) to be emitted. FB11063974 filed with Apple, in the mean time as a workaround buffer size used in tests on macOS is decreased to avoid intermittent failures. Patch by Fantix King. - Fix problem with test_ssl test_get_ciphers on systems that require perfect forward secrecy (PFS) ciphers. - Add a regression test for re exponentional slowdown when using rjsmin. - Build - Fix a regression in configure script that caused some header checks to ignore custom CPPFLAGS. The regression was introduced in gh-94802. - wasm32-wasi builds no longer depend on WASIX’s pthread stubs. Python now has its own stubbed pthread API. - Python now detects missing dup function in WASI and works around some missing errno, select, and socket constants. - Python now skips missing socket functions and methods on WASI. WASI can only create sockets from existing fd / accept and has no netdb. - Platforms wasm32-unknown-emscripten and wasm32-unknown-wasi have been promoted to PEP 11 tier 3 platform support. - IDLE - Document handling of extensions in Save As dialogs. - Include prompts when saving Shell (interactive input and output). - Fix the Shell context menu copy-with-prompts bug of copying an extra line when one selects whole lines. - In the Edit menu, move Select All and add a new separator. - Enable using IDLE’s module browser with .pyw files. - Add .pyi as a recognized extension for IDLE on macOS. This allows opening stub files by double clicking on them in the Finder. - C API - Restore the 3.10 behavior for multiple inheritance of C extension classes that store their dictionary at the end of the struct. - Added PyCode_GetVarnames(), PyCode_GetCellvars() and PyCode_GetFreevars() for accessing co_varnames, co_cellvars and co_freevars respectively via the C API.- Update to 3.11.0b5: - Core and Builtins - gh-93351: ast.AST node positions are now validated when provided to compile() and other related functions. If invalid positions are detected, a ValueError will be raised. - gh-94438: Fix an issue that caused extended opcode arguments and some conditional pops to be ignored when calculating valid jump targets for assignments to the f_lineno attribute of frame objects. In some cases, this could cause inconsistent internal state, resulting in a hard crash of the interpreter. - gh-95060: Undocumented PyCode_Addr2Location function now properly returns when addrq argument is less than zero. - gh-95113: Replace all EXTENDED_ARG_QUICK instructions with basic EXTENDED_ARG instructions in unquickened code. Consumers of non-adaptive bytecode should be able to handle extended arguments the same way they were handled in CPython 3.10 and older. - gh-91409: Fix incorrect source location info caused by certain optimizations in the bytecode compiler. - gh-94036: Fix incorrect source location info for some multi-line attribute accesses and method calls. - gh-94739: Allow jumping within, out of, and across exception handlers in the debugger. - gh-94949: ast.parse() will no longer parse parenthesized context managers when passed feature_version less than (3, 9). Patch by Shantanu Jain. - gh-94947: ast.parse() will no longer parse assignment expressions when passed feature_version less than (3, 8). Patch by Shantanu Jain. - gh-91256: Ensures the program name is known for help text during interpreter startup. - gh-94869: Fix the column offsets for some expressions in multi-line f-strings ast nodes. Patch by Pablo Galindo. - gh-94822: Fix an issue where lookups of metaclass descriptors may be ignored when an identically-named attribute also exists on the class itself. - gh-91153: Fix an issue where a bytearray item assignment could crash if it’s resized by the new value’s __index__() method. - gh-90699: Fix reference counting bug in bool.__repr__(). Patch by Kumar Aditya. - Library - gh-95087: Fix IndexError in parsing invalid date in the email module. - gh-95199: Upgrade bundled setuptools to 63.2.0. - gh-95194: Upgrade bundled pip to 22.2. - gh-95132: Fix a sqlite3 regression where *args and **kwds were incorrectly relayed from connect() to the Connection factory. The regression was introduced in 3.11a1 with PR 24421 (gh-85128). Patch by Erlend E. Aasland.` - gh-93157: Fix fileinput module didn’t support errors option when inplace is true. - gh-95105: wsgiref.types.InputStream.__iter__() should return Iterator[bytes], not Iterable[bytes]. Patch by Shantanu Jain. - gh-94857: Fix refleak in _io.TextIOWrapper.reconfigure. Patch by Kumar Aditya. - gh-94821: Fix binding of unix socket to empty address on Linux to use an available address from the abstract namespace, instead of “0”. - gh-89988: Fix memory leak in pickle.Pickler when looking up dispatch_table. Patch by Kumar Aditya. - bpo-47025: Drop support for bytes on sys.path. - Tests - gh-95212: Make multiprocessing test case test_shared_memory_recreate parallel-safe. - Build - gh-94847: Fixed _decimal module build issue on GCC when compiling with LTO and pydebug. Debug builds no longer force inlining of functions. - gh-94841: Fix the possible performance regression of PyObject_Free() compiled with MSVC version 1932. - gh-94801: configure now uses custom flags like ZLIB_CFLAGS and ZLIB_LIBS when searching for headers and libraries. - gh-94773: deepfreeze.py now supports code object with frozensets that contain incompatible, unsortable types. - C API - gh-94930: Fix SystemError raised when PyArg_ParseTupleAndKeywords() is used with # in (...) but without PY_SSIZE_T_CLEAN defined. - gh-94864: Fix PyArg_Parse* with deprecated format units “u” and “Z”. It returned 1 (success) when warnings are turned into exceptions. - gh-94731: Python again uses C-style casts for most casting operations when compiled with C++. This may trigger compiler warnings, if they are enabled with e.g. -Wold-style-cast `` or ``-Wzero-as-null-pointer-constant options for g++.- Switch from %primary_interpreter to prjconf-defined %primary_python (gh#openSUSE/python-rpm-macros#127).- Update to 3.11.0b4: - Fixes many bugs and adds following more significant changes - Security - gh-68966: The deprecated mailcap module now refuses to inject Coreunsafe text (filenames, MIME types, parameters) into shell Corecommands. Instead of using such text, it will warn and act Coreas if a match was not found (or for test commands, as if the Coretest failed). and Builtins - gh-93516: Lazily create a table mapping bytecode offsets to line numbers to speed up calculation of line numbers when tracing. - gh-93461: importlib.invalidate_caches() now drops entries from sys.path_importer_cache with a relative path as name. This solves a caching issue when a process changes its current working directory. - FileFinder no longer inserts a dot in the path, e.g. /egg/./spam is now /egg/spam. Library - gh-93896: Fix asyncio.run() and unittest.IsolatedAsyncioTestCase to always the set event loop as it was done in Python 3.10 and earlier. Patch by Kumar Aditya. - gh-94101: Manual instantiation of ssl.SSLSession objects is no longer allowed as it lead to misconfigured instances that crashed the interpreter when attributes where accessed on them. - gh-83658: Make multiprocessing.Pool raise an exception if maxtasksperchild is not None or a positive int. - gh-61162: Clarify sqlite3 behavior when Using the connection as a context manager. Tools/Demos - gh-94538: Fix Argument Clinic output to custom file destinations. Patch by Erlend E. Aasland. C API - gh-93937: The following frame functions and type are now directly available with #include , it’s no longer needed to add #include : PyFrame_Check() PyFrame_GetBack() PyFrame_GetBuiltins() PyFrame_GetGenerator() PyFrame_GetGlobals() PyFrame_GetLasti() PyFrame_GetLocals() PyFrame_Type- Update to 3.11.0b2: - many small updates - Add patch support-expat-245.patch: * Support Expat >= 2.4.4 (jsc#SLE-21253)- Refresh bluez-devel-vendor.tar.xz - Fix building with system-expat (gh#python/cpython#92875). Nope, it didn't work, worked around it.- Update to pre-release version 3.11.0b1: - PEP 657 – Include Fine-Grained Error Locations in Tracebacks - PEP 654 – Exception Groups and except* - PEP 673 – Self Type - PEP 646 – Variadic Generics - PEP 680– tomllib: Support for Parsing TOML in the Standard Library - PEP 675– Arbitrary Literal String Type - PEP 655– Marking individual TypedDict items as required or potentially-missing - bpo-46752– Introduce task groups to asyncio - The Faster Cpython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See https://docs.python.org/3.11/whatsnew/3.11.html#faster-cpython for details.- Switch primary_interpreter from python38 to python310- Update to 3.10.4: - bpo-46968: Check for the existence of the “sys/auxv.h” header in faulthandler to avoid compilation problems in systems where this header doesn’t exist. Patch by Pablo Galindo - bpo-23691: Protect the re.finditer() iterator from re-entering. - bpo-42369: Fix thread safety of zipfile._SharedFile.tell() to avoid a “zipfile.BadZipFile: Bad CRC-32 for file” exception when reading a ZipFile from multiple threads. - bpo-38256: Fix binascii.crc32() when it is compiled to use zlib’c crc32 to work properly on inputs 4+GiB in length instead of returning the wrong result. The workaround prior to this was to always feed the function data in increments smaller than 4GiB or to just call the zlib module function. - bpo-39394: A warning about inline flags not at the start of the regular expression now contains the position of the flag. - bpo-47061: Deprecate the various modules listed by PEP 594: - aifc, asynchat, asyncore, audioop, cgi, cgitb, chunk, crypt, imghdr, msilib, nntplib, nis, ossaudiodev, pipes, smtpd, sndhdr, spwd, sunau, telnetlib, uu, xdrlib - bpo-2604: Fix bug where doctests using globals would fail when run multiple times. - bpo-45997: Fix asyncio.Semaphore re-aquiring FIFO order. - bpo-47022: The asynchat, asyncore and smtpd modules have been deprecated since at least Python 3.6. Their documentation and deprecation warnings and have now been updated to note they will removed in Python 3.12 (PEP 594). - bpo-46421: Fix a unittest issue where if the command was invoked as python -m unittest and the filename(s) began with a dot (.), a ValueError is returned. - bpo-40296: Fix supporting generic aliases in pydoc. - Update to 3.10.3: - bpo-46940: Avoid overriding AttributeError metadata information for nested attribute access calls. Patch by Pablo Galindo. - bpo-46852: Rename the private undocumented float.__set_format__() method to float.__setformat__() to fix a typo introduced in Python 3.7. The method is only used by test_float. Patch by Victor Stinner. - bpo-46794: Bump up the libexpat version into 2.4.6 - bpo-46820: Fix parsing a numeric literal immediately (without spaces) followed by “not in” keywords, like in 1not in x. Now the parser only emits a warning, not a syntax error. - bpo-46762: Fix an assert failure in debug builds when a ‘<’, ‘>’, or ‘=’ is the last character in an f-string that’s missing a closing right brace. - bpo-46724: Make sure that all backwards jumps use the JUMP_ABSOLUTE instruction, rather than JUMP_FORWARD with an argument of (2**32)+offset. - bpo-46732: Correct the docstring for the __bool__() method. Patch by Jelle Zijlstra. - bpo-46707: Avoid potential exponential backtracking when producing some syntax errors involving lots of brackets. Patch by Pablo Galindo. - bpo-40479: Add a missing call to va_end() in Modules/_hashopenssl.c. - bpo-46615: When iterating over sets internally in setobject.c, acquire strong references to the resulting items from the set. This prevents crashes in corner-cases of various set operations where the set gets mutated. - bpo-45773: Remove two invalid “peephole” optimizations from the bytecode compiler. - bpo-43721: Fix docstrings of getter, setter, and deleter to clarify that they create a new copy of the property. - bpo-46503: Fix an assert when parsing some invalid N escape sequences in f-strings. - bpo-46417: Fix a race condition on setting a type __bases__ attribute: the internal function add_subclass() now gets the PyTypeObject.tp_subclasses member after calling PyWeakref_NewRef() which can trigger a garbage collection which can indirectly modify PyTypeObject.tp_subclasses. Patch by Victor Stinner. - bpo-46383: Fix invalid signature of _zoneinfo’s module_free function to resolve a crash on wasm32-emscripten platform. - bpo-46070: Py_EndInterpreter() now explicitly untracks all objects currently tracked by the GC. Previously, if an object was used later by another interpreter, calling PyObject_GC_UnTrack() on the object crashed if the previous or the next object of the PyGC_Head structure became a dangling pointer. Patch by Victor Stinner. - bpo-46339: Fix a crash in the parser when retrieving the error text for multi-line f-strings expressions that do not start in the first line of the string. Patch by Pablo Galindo - bpo-46240: Correct the error message for unclosed parentheses when the tokenizer doesn’t reach the end of the source when the error is reported. Patch by Pablo Galindo - bpo-46091: Correctly calculate indentation levels for lines with whitespace character that are ended by line continuation characters. Patch by Pablo Galindo - bpo-43253: Fix a crash when closing transports where the underlying socket handle is already invalid on the Proactor event loop. - bpo-47004: Apply bugfixes from importlib_metadata 4.11.3, including bugfix for EntryPoint.extras, which was returning match objects and not the extras strings. - bpo-46985: Upgrade pip wheel bundled with ensurepip (pip 22.0.4) - bpo-46968: faulthandler: On Linux 5.14 and newer, dynamically determine size of signal handler stack size CPython allocates using getauxval(AT_MINSIGSTKSZ). This changes allows for Python extension’s request to Linux kernel to use AMX_TILE instruction set on Sapphire Rapids Xeon processor to succeed, unblocking use of the ISA in frameworks. - bpo-46955: Expose asyncio.base_events.Server as asyncio.Server. Patch by Stefan Zabka. - bpo-23325: The signal module no longer assumes that SIG_IGN and SIG_DFL are small int singletons. - bpo-46932: Update bundled libexpat to 2.4.7 - bpo-25707: Fixed a file leak in xml.etree.ElementTree.iterparse() when the iterator is not exhausted. Patch by Jacob Walls. - bpo-44886: Inherit asyncio proactor datagram transport from asyncio.DatagramTransport. - bpo-46827: Support UDP sockets in asyncio.loop.sock_connect() for selector-based event loops. Patch by Thomas Grainger. - bpo-46811: Make test suite support Expat >=2.4.5 - bpo-46252: Raise TypeError if ssl.SSLSocket is passed to transport-based APIs. - bpo-46784: Fix libexpat symbols collisions with user dynamically loaded or statically linked libexpat in embedded Python. - bpo-39327: shutil.rmtree() can now work with VirtualBox shared folders when running from the guest operating-system. - bpo-46756: Fix a bug in urllib.request.HTTPPasswordMgr.find_user_password() and urllib.request.HTTPPasswordMgrWithPriorAuth.is_authenticated() which allowed to bypass authorization. For example, access to URI example.org/foobar was allowed if the user was authorized for URI example.org/foo. - bpo-46643: In typing.get_type_hints(), support evaluating stringified ParamSpecArgs and ParamSpecKwargs annotations. Patch by Gregory Beauregard. - bpo-45863: When the tarfile module creates a pax format archive, it will put an integer representation of timestamps in the ustar header (if possible) for the benefit of older unarchivers, in addition to the existing full-precision timestamps in the pax extended header. - bpo-46676: Make typing.ParamSpec args and kwargs equal to themselves. Patch by Gregory Beauregard. - bpo-46672: Fix NameError in asyncio.gather() when initial type check fails. - bpo-46655: In typing.get_type_hints(), support evaluating bare stringified TypeAlias annotations. Patch by Gregory Beauregard. - bpo-45948: Fixed a discrepancy in the C implementation of the xml.etree.ElementTree module. Now, instantiating an xml.etree.ElementTree.XMLParser with a target=None keyword provides a default xml.etree.ElementTree.TreeBuilder target as the Python implementation does. - bpo-46521: Fix a bug in the codeop module that was incorrectly identifying invalid code involving string quotes as valid code. - bpo-46581: Brings ParamSpec propagation for GenericAlias in line with Concatenate (and others). - bpo-46591: Make the IDLE doc URL on the About IDLE dialog clickable. - bpo-46400: expat: Update libexpat from 2.4.1 to 2.4.4 - bpo-46487: Add the get_write_buffer_limits method to asyncio.transports.WriteTransport and to the SSL transport. - bpo-45173: Note the configparser deprecations will be removed in Python 3.12. - bpo-46539: In typing.get_type_hints(), support evaluating stringified ClassVar and Final annotations inside Annotated. Patch by Gregory Beauregard. - bpo-46491: Allow typing.Annotated to wrap typing.Final and typing.ClassVar. Patch by Gregory Beauregard. - bpo-46436: Fix command-line option -d/--directory in module http.server which is ignored when combined with command-line option --cgi. Patch by Géry Ogam. - bpo-41403: Make mock.patch() raise a TypeError with a relevant error message on invalid arg. Previously it allowed a cryptic AttributeError to escape. - bpo-46474: In importlib.metadata.EntryPoint.pattern, avoid potential REDoS by limiting ambiguity in consecutive whitespace. - bpo-46469: asyncio generic classes now return types.GenericAlias in __class_getitem__ instead of the same class. - bpo-46434: pdb now gracefully handles help when __doc__ is missing, for example when run with pregenerated optimized .pyc files. - bpo-46333: The __eq__() and __hash__() methods of typing.ForwardRef now honor the module parameter of typing.ForwardRef. Forward references from different modules are now differentiated. - bpo-46246: Add missing __slots__ to importlib.metadata.DeprecatedList. Patch by Arie Bovenberg. - bpo-46266: Improve day constants in calendar. - Now all constants (MONDAY … SUNDAY) are documented, tested, and added to __all__. - bpo-46232: The ssl module now handles certificates with bit strings in DN correctly. - bpo-43118: Fix a bug in inspect.signature() that was causing it to fail on some subclasses of classes with a __text_signature__ referencing module globals. Patch by Weipeng Hong. - bpo-26552: Fixed case where failing asyncio.ensure_future() did not close the coroutine. Patch by Kumar Aditya. - bpo-21987: Fix an issue with tarfile.TarFile.getmember() getting a directory name with a trailing slash. - bpo-20392: Fix inconsistency with uppercase file extensions in MimeTypes.guess_type(). Patch by Kumar Aditya. - bpo-46080: Fix exception in argparse help text generation if a argparse.BooleanOptionalAction argument’s default is argparse.SUPPRESS and it has help specified. Patch by Felix Fontein. - bpo-44439: Fix .write() method of a member file in ZipFile, when the input data is an object that supports the buffer protocol, the file length may be wrong. - bpo-45703: When a namespace package is imported before another module from the same namespace is created/installed in a different sys.path location while the program is running, calling the importlib.invalidate_caches() function will now also guarantee the new module is noticed. - bpo-24959: Fix bug where unittest sometimes drops frames from tracebacks of exceptions raised in tests. - bpo-44791: Fix substitution of ParamSpec in Concatenate with different parameter expressions. Substitution with a list of types returns now a tuple of types. Substitution with Concatenate returns now a Concatenate with concatenated lists of arguments. - bpo-14156: argparse.FileType now supports an argument of ‘-’ in binary mode, returning the .buffer attribute of sys.stdin/sys.stdout as appropriate. Modes including ‘x’ and ‘a’ are treated equivalently to ‘w’ when argument is ‘-’. Patch contributed by Josh Rosenberg - bpo-46463: Fixes escape4chm.py script used when building the CHM documentation file - bpo-46913: Fix test_faulthandler.test_sigfpe() if Python is built with undefined behavior sanitizer (UBSAN): disable UBSAN on the faulthandler_sigfpe() function. Patch by Victor Stinner. - bpo-46708: Prevent default asyncio event loop policy modification warning after test_asyncio execution. - bpo-46678: The function make_legacy_pyc in Lib/test/support/import_helper.py no longer fails when PYTHONPYCACHEPREFIX is set to a directory on a different device from where tempfiles are stored. - bpo-46616: Ensures test_importlib.test_windows cleans up registry keys after completion. - bpo-44359: test_ftplib now silently ignores socket errors to prevent logging unhandled threading exceptions. Patch by Victor Stinner. - bpo-46542: Fix a Python crash in test_lib2to3 when using Python built in debug mode: limit the recursion limit. Patch by Victor Stinner. - bpo-46576: test_peg_generator now disables compiler optimization when testing compilation of its own C extensions to significantly speed up the testing on non-debug builds of CPython. - bpo-46542: Fix test_json tests checking for RecursionError: modify these tests to use support.infinite_recursion(). Patch by Victor Stinner. - bpo-13886: Skip test_builtin PTY tests on non-ASCII characters if the readline module is loaded. The readline module changes input() behavior, but test_builtin is not intented to test the readline module. Patch by Victor Stinner. - bpo-38472: Fix GCC detection in setup.py when cross-compiling. The C compiler is now run with LC_ALL=C. Previously, the detection failed with a German locale. - bpo-46513: configure no longer uses AC_C_CHAR_UNSIGNED macro and pyconfig.h no longer defines reserved symbol __CHAR_UNSIGNED__. - bpo-45296: Clarify close, quit, and exit in IDLE. In the File menu, ‘Close’ and ‘Exit’ are now ‘Close Window’ (the current one) and ‘Exit’ is now ‘Exit IDLE’ (by closing all windows). In Shell, ‘quit()’ and ‘exit()’ mean ‘close Shell’. If there are no other windows, this also exits IDLE. - bpo-45447: Apply IDLE syntax highlighting to pyi files. Patch by Alex Waygood and Terry Jan Reedy. - bpo-46433: The internal function _PyType_GetModuleByDef now correctly handles inheritance patterns involving static types. - bpo-14916: Fixed bug in the tokenizer that prevented PyRun_InteractiveOne from parsing from the provided FD. - Remove upstreamed patches: - support-expat-245.patch- Add patch support-expat-245.patch: * Support Expat >= 2.4.5- bsc#1195831 Obsolete older "most modern" versions of python packages (python39 for python310 and so forth). For next versions it is necessary just to edit the macro.- Remove second superfluous BR rpm-build-python- Remove second superfluous BR rpm-build-python - Add fix_configure_rst.patch, which removes duplicate link targets and make documentation with old Sphinx in SLE - Skip test_capi (bsc#1195140 and bpo#37169)- Update to 3.10.2: Bugfix only - bpo#46347 memory leak in PyEval_EvalCodeEx (especially visible with Cython code) - and many others- Upgrade to 3.10.1 (jsc#SLE-18038): - PEP 623 – Deprecate and prepare for the removal of the wstr member in PyUnicodeObject. - PEP 604 – Allow writing union types as X | Y - PEP 612 – Parameter Specification Variables - PEP 626 – Precise line numbers for debugging and other tools. - PEP 618 – Add Optional Length-Checking To zip. - bpo-12782: Parenthesized context managers are now officially allowed. - PEP 632 – Deprecate distutils module. - PEP 613 – Explicit Type Aliases - PEP 634 – Structural Pattern Matching: Specification - PEP 635 – Structural Pattern Matching: Motivation and Rationale - PEP 636 – Structural Pattern Matching: Tutorial - PEP 644 – Require OpenSSL 1.1.1 or newer - PEP 624 – Remove Py_UNICODE encoder APIs - PEP 597 – Add optional EncodingWarning - Patches readjusted: - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch- Remove pdb_adjust_breakpoints.patch and instead just adjust location of the test breakpoint in Lib/test/test_pdb.py via sed, because we have shortened Lib/pdb.py by removing the shebang (bpo#45964).- Add pdb_adjust_breakpoints.patch fixing expectd results in test_pdb_breakpoints_preserved_across_interactive_sessions (bpo#45964).- Remove shebangs from from python-base libraries in _libdir (bsc#1193179). - Readjust patches: - bpo-31046_ensurepip_honours_prefix.patch - decimal.patch - python-3.3.0b1-fix_date_time_compiler.patch- Move rpm-build-python construct to correct place.- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Final release of 3.10.0: Complete list on https://www.python.org/downloads/release/python-3100/, but highlights are: - PEP 623 – Deprecate and prepare for the removal of the wstr member in PyUnicodeObject. - PEP 604 – Allow writing union types as X | Y - PEP 612 – Parameter Specification Variables - PEP 626 – Precise line numbers for debugging and other tools. - PEP 618 – Add Optional Length-Checking To zip. - PEP 632 – Deprecate distutils module. - PEP 613 – Explicit Type Aliases - PEP 634 – Structural Pattern Matching: Specification - PEP 635 – Structural Pattern Matching: Motivation and Rationale - PEP 636 – Structural Pattern Matching: Tutorial - PEP 644 – Require OpenSSL 1.1.1 or newer - PEP 624 – Remove Py_UNICODE encoder APIs - PEP 597 – Add optional EncodingWarning - bpo-12782: Parenthesized context managers are now officially allowed.- Switch on option --with-system-libmpdec (bsc#1189356).- Reenable profileopt with qemu emulation, test_faulthandler is no longer run during profiling- test_faulthandler is still problematic under qemu linux-user emulation, disable it there- Update to 3.10.0rc1 (the penultimate prerelease), which contains plenty of small bugfixes among others: - bpo#38605: from __future__ import annotations (PEP 563) used to be on this list in previous pre-releases but it has been postponed to Python 3.11 due to some compatibility concerns. - bpo-44600: Fix incorrect line numbers while tracing some failed patterns in match statements. Patch by Charles Burkland. - plenty of modifications in types.Union- Update to 3.10.0b4: https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-0-beta-4 - Remove python3-imp-returntype.patch which has been upstreamed.- Update to 3.10.0b2: - PEP 623 -- Deprecate and prepare for the removal of the wstr member in PyUnicodeObject. - PEP 604 -- Allow writing union types as X | Y - PEP 612 -- Parameter Specification Variables - PEP 626 -- Precise line numbers for debugging and other tools. - PEP 618 -- Add Optional Length-Checking To zip. - bpo-12782: Parenthesized context managers are now officially allowed. - PEP 632 -- Deprecate distutils module. - PEP 613 -- Explicit Type Aliases - PEP 634 -- Structural Pattern Matching: Specification - PEP 635 -- Structural Pattern Matching: Motivation and Rationale - PEP 636 -- Structural Pattern Matching: Tutorial - PEP 644 -- Require OpenSSL 1.1.1 or newer - PEP 624 -- Remove Py_UNICODE encoder APIs - PEP 597 -- Add optional EncodingWarning - Removed patches (assumed upstream): - sphinx-update-removed-function.patch- Revert previous skip over test_capi - Add skip-test_pyobject_freed_is_freed.patch to skip failing test on SLE-15.- allow build with Sphinx >= 3.x- Exclude test_capi on Leap (test fails there)- Stop providing "python" symbol (bsc#1185588), which means python2 currently.- Update to 3.9.5: * Security - bpo-43434: Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland. - bpo-43882: The presence of newline or tab characters in parts of a URL could allow some forms of attacks. - Following the controlling specification for URLs defined by WHATWG urllib.parse() now removes ASCII newlines and tabs from URLs, preventing such attacks. - bpo-43472: Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module. - bpo-36384: ipaddress module no longer accepts any leading zeros in IPv4 address strings. Leading zeros are ambiguous and interpreted as octal notation by some libraries. For example the legacy function socket.inet_aton() treats leading zeros as octal notatation. glibc implementation of modern inet_pton() does not accept any leading zeros. For a while the ipaddress module used to accept ambiguous leading zeros. - bpo-43075: Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server. - bpo-42800: Audit hooks are now fired for frame.f_code, traceback.tb_frame, and generator code/frame attribute access. * Core and Builtins - bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations. - bpo-42924: Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string). * Library - bpo-43993: Update bundled pip to 21.1.1. - bpo-43937: Fixed the turtle module working with non-default root window. - bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0 - bpo-43920: OpenSSL 3.0.0: load_verify_locations() now returns a consistent error message when cadata contains no valid certificate. - bpo-43607: urllib can now convert Windows paths with \\?\ prefixes into URL paths. - bpo-43284: platform.win32_ver derives the windows version from sys.getwindowsversion().platform_version which in turn derives the version from kernel32.dll (which can be of a different version than Windows itself). Therefore change the platform.win32_ver to determine the version using the platform module’s _syscmd_ver private function to return an accurate version. - bpo-42248: [Enum] ensure exceptions raised in _missing__ are released - bpo-43799: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 to suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs. - bpo-43794: Add ssl.OP_IGNORE_UNEXPECTED_EOF constants (OpenSSL 3.0.0) - bpo-43789: OpenSSL 3.0.0: Don’t call the password callback function a second time when first call has signaled an error condition. - bpo-43788: The header files for ssl error codes are now OpenSSL version-specific. Exceptions will now show correct reason and library codes. The make_ssl_data.py script has been rewritten to use OpenSSL’s text file with error codes. - bpo-43655: tkinter dialog windows are now recognized as dialogs by window managers on macOS and X Window. - bpo-43534: turtle.textinput() and turtle.numinput() create now a transient window working on behalf of the canvas window. - bpo-43522: Fix problem with hostname_checks_common_name. OpenSSL does not copy hostflags from struct SSL_CTX to struct SSL. - bpo-42967: Allow bytes separator argument in urllib.parse.parse_qs and urllib.parse.parse_qsl when parsing str query strings. Previously, this raised a TypeError. - bpo-43176: Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error. - bpo-41735: Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin. - bpo-36470: Fix dataclasses with InitVars and replace(). Patch by Claudiu Popa. - bpo-32745: Fix a regression in the handling of ctypes’ ctypes.c_wchar_p type: embedded null characters would cause a ValueError to be raised. Patch by Zackery Spytz. * Documentation - bpo-43959: The documentation on the PyContextVar C-API was clarified. - bpo-43938: Update dataclasses documentation to express that FrozenInstanceError is derived from AttributeError. - bpo-43755: Update documentation to reflect that unparenthesized lambda expressions can no longer be the expression part in an if clause in comprehensions and generator expressions since Python 3.9. - bpo-43739: Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type. * Tests - bpo-43961: Fix test_logging.test_namer_rotator_inheritance() on Windows: use os.replace() rather than os.rename(). Patch by Victor Stinner. - bpo-43842: Fix a race condition in the SMTP test of test_logging. Don’t close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor. Patch by Victor Stinner. - bpo-43811: Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up testing. - bpo-43791: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR. - Refreshed patches: - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch - Add vendorized files from bluez-devel to enable building support for Bluetooth.- Make sure to close the import_failed.map file after the exception has been raised in order to avoid ResourceWarnings when the failing import is part of a try...except block.- Update to 3.9.4: - bpo#43710: Reverted the fix for https://bugs.python.org/issue42500 as it changed the PyThreadState struct size and broke the 3.9.x ABI in the 3.9.3 release (visible on 32-bit platforms using binaries compiled using an earlier version of Python 3.9.x headers). - bpo#26053: Fixed bug where the pdb interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt. - bpo#42988 (bsc#1183374) CVE-2021-3426: Remove the getfile feature of the pydoc module which could be abused to read arbitrary files on the disk (directory traversal vulnerability). Moreover, even source code of Python modules can contain sensitive data like passwords. Vulnerability reported by David Schwörer. - bpo#43285: ftplib no longer trusts the IP address value returned from the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to probe IPv4 address and port combinations on the client network. Code that requires the former vulnerable behavior may set a trust_server_pasv_ipv4_address attribute on their ftplib.FTP instances to True to re-enable it. - bpo#43439: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo. - bpo#43660: Fix crash that happens when replacing sys.stderr with a callable that can remove the object while an exception is being printed. Patch by Pablo Galindo. - bpo#43555: Report the column offset for SyntaxError for invalid line continuation characters. Patch by Pablo Galindo. - bpo#43517: Fix misdetection of circular imports when using from pkg.mod import attr, which caused false positives in non-trivial multi-threaded code. - bpo#35883: Python no longer fails at startup with a fatal error if a command line argument contains an invalid Unicode character. The Py_DecodeLocale() function now escapes byte sequences which would be decoded as Unicode characters outside the [U+0000; U+10ffff] range. - bpo#43406: Fix a possible race condition where PyErr_CheckSignals tries to execute a non-Python signal handler. - bpo#42500: Improve handling of exceptions near recursion limit. Converts a number of Fatal Errors in RecursionErrors. - bpo#43433: xmlrpc.client.ServerProxy no longer ignores query and fragment in the URL of the server. - bpo#35930: Raising an exception raised in a “future” instance will create reference cycles. - bpo#43577: Fix deadlock when using ssl.SSLContext debug callback with ssl.SSLContext.sni_callback(). - bpo#43521: ast.unparse can now render NaNs and empty sets. - bpo#43423: subprocess.communicate() no longer raises an IndexError when there is an empty stdout or stderr IO buffer during a timeout on Windows. - bpo#27820: Fixed long-standing bug of smtplib.SMTP where doing AUTH LOGIN with initial_response_ok=False will fail. The cause is that SMTP.auth_login _always_ returns a password if provided with a challenge string, thus non-compliant with the standard for AUTH LOGIN. Also fixes bug with the test for smtpd. - bpo#43332: Improves the networking efficiency of http.client when using a proxy via set_tunnel(). Fewer small send calls are made during connection setup. - bpo#43399: Fix ElementTree.extend not working on iterators when using the Python implementation - bpo#43316: The python -m gzip command line application now properly fails when detecting an unsupported extension. It exits with a non-zero exit code and prints an error message to stderr. - bpo#43260: Fix TextIOWrapper can not flush internal buffer forever after very large text is written. - bpo#42782: Fail fast in shutil.move() to avoid creating destination directories on failure. - bpo#37193: Fixed memory leak in socketserver.ThreadingMixIn introduced in Python 3.7. - bpo#43199: Answer “Why is there no goto?” in the Design and History FAQ. - bpo#43407: Clarified that a result from time.monotonic(), time.perf_counter(), time.process_time(), or time.thread_time() can be compared with the result from any following call to the same function - not just the next immediate call. - bpo#27646: Clarify that ‘yield from ’ works with any iterable, not just iterators. - bpo#36346: Update some deprecated unicode APIs which are documented as “will be removed in 4.0” to “3.12”. See PEP 623 for detail. - bpo#37945: Fix test_getsetlocale_issue1813() of test_locale: skip the test if setlocale() fails. Patch by Victor Stinner. - bpo#41561: Add workaround for Ubuntu’s custom OpenSSL security level policy. - bpo#43288: Fix test_importlib to correctly skip Unicode file tests if the fileystem does not support them. - bpo#43617: Improve configure.ac: Check for presence of autoconf-archive package and remove our copies of M4 macros. - bpo#42225: Document that IDLE can fail on Unix either from misconfigured IP masquerage rules or failure displaying complex colored (non-ascii) characters. - bpo#43283: Document why printing to IDLE’s Shell is often slower than printing to a system terminal and that it can be made faster by pre-formatting a single string before printing.- Update to 3.9.2: - bpo#42938 (bsc#1181126): Avoid static buffers when computing the repr of ctypes.c_double and ctypes.c_longdouble values. This issue was assigned CVE-2021-3177. - bpo#42967 (bsc#1182379): Fix web cache poisoning vulnerability by defaulting the query args separator to &, and allowing the user to choose a custom separator. This issue was assigned CVE-2021-23336. - Upstreamed patches were removed: - CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch - bsc1167501-invalid-alignment.patch - skip_random_failing_tests.patch - CVE-2019-5010-null-defer-x509-cert-DOS.patch- Add Obsoletes for python3-base when primary interpreter is set to properly replace it during upgrades. (bsc#1181324)- Update to 3.9.1: Security bugs: - Prevented potential DoS attack via CPU and RAM exhaustion when processing malformed Apple Property List files in binary format. - The plistlib module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities. This should not affect users as entity declarations are not used in regular plist files. - Add volatile to the accumulator variable in hmac.compare_digest, making constant-time-defeating optimizations less likely. Core and Builtins - Allow assignment expressions in set literals and set comprehensions as per PEP 572. Patch by Pablo Galindo. - Fix a regression introduced by the new parser, where an unparenthesized walrus operator was not allowed within generator expressions. - types.GenericAlias objects can now be the targets of weakrefs. - Fixed a bug in the PEG parser that was causing crashes in debug mode. Now errors are checked in left-recursive rules to avoid cases where such errors do not get handled in time and appear as long-distance crashes in other places. - Fixed a possible crash in the PEG parser when checking for the ‘!=’ token in the barry_as_flufl rule. Patch by Pablo Galindo. - Fix handling of errors during creation of PyFunctionObject, which resulted in operations on uninitialized memory. Patch by Yonatan Goldschmidt. - Fix a bug in the parser, where a curly brace following a primary didn’t fail immediately. This led to invalid expressions like a {b} to throw a SyntaxError with a wrong offset, or invalid expressions ending with a curly brace like a { to not fail immediately in the REPL. - Fix possible buffer overflow in the new parser when checking for continuation lines. Patch by Pablo Galindo. - Run the parser two times. On the first run, disable all the rules that only generate better error messages to gain performance. If there’s a parse failure, run the parser a second time with those enabled. - Document the default implementation of object.__eq__. - Fix peephole optimizer misoptimize conditional jump + JUMP_IF_NOT_EXC_MATCH pair. - The garbage collector now tracks all user-defined classes. Patch by Brandt Bucher. - Fixed potential issues with removing not completely initialized module from sys.modules when import fails. - Star-unpacking is now allowed for with item’s targets in the PEG parser. - Fixed stack overflow in issubclass() and isinstance() when getting the __bases__ attribute leads to infinite recursion. - When loading a native module and a load failure occurs, prevent a possible UnicodeDecodeError when not running in a UTF-8 locale by decoding the load error message using the current locale’s encoding. - Correctly count control blocks in ‘except’ in compiler. Ensures that a syntax error, rather a fatal error, occurs for deeply nested, named exception handlers. Library - types.GenericAlias will now raise a TypeError when attempting to initialize with a keyword argument. Previously, this would cause the interpreter to crash if the interpreter was compiled with debug symbols. This does not affect interpreters compiled for release. Patch by Ken Jin. - CGIHTTPRequestHandler.run_cgi() HTTP_ACCEPT improperly parsed. Replace the special purpose getallmatchingheaders with generic get_all method and add relevant tests. - inspect.findsource() now raises OSError instead of IndexError when co_lineno of a code object is greater than the file length. This can happen, for example, when a file is edited after it was imported. PR by Irit Katriel. - Fix handling of trailing comments by inspect.getsource(). - ChainMap.__iter__ no longer calls __getitem__ on underlying maps - TracebackException no longer holds a reference to the exception’s traceback object. Consequently, instances of TracebackException for equivalent but non-equal exceptions now compare as equal. - We fixed an issue in pickle.whichmodule in which importing multiprocessing could change the how pickle identifies which module an object belongs to, potentially breaking the unpickling of those objects. - Clarify the error message for asyncio.IncompleteReadError when expected is None. - Extracting a symlink from a tarball should succeed and overwrite the symlink if it already exists. The fix is to remove the existing file or symlink before extraction. Based on patch by Chris AtLee, Jeffrey Kintscher, and Senthil Kumaran. - Fixed tkinter.ttk.Style.map(). The function accepts now the representation of the default state as empty sequence (as returned by Style.map()). The structure of the result is now the same on all platform and does not depend on the value of wantobjects. - Fix various issues with typing.Literal parameter handling (flatten, deduplicate, use type to cache key). Patch provided by Yurii Karabas. - Fix the threading.Thread class at fork: do nothing if the thread is already stopped (ex: fork called at Python exit). Previously, an error was logged in the child process. - The onerror callback from shutil.rmtree now receives correct function when os.open fails. - Fix os.sendfile() on illumos. - Fixed writing binary Plist files larger than 4 GiB. - The repr() of typing types containing Generic Alias Types previously did not show the parameterized types in the GenericAlias. They have now been changed to do so. - webbrowser: Ignore NotADirectoryError when calling xdg-settings. - binhex.binhex() consisently writes macOS 9 line endings. - Fix a stack overflow error for asyncio Task or Future repr(). - The overflow occurs under some circumstances when a Task or Future recursively returns itself. - Fix memory leak in subprocess.Popen() in case an uid (gid) specified in user (group, extra_groups) overflows uid_t (gid_t). - Improve asyncio.wait function to create the futures set just one time. - InvalidFileException and RecursionError are now the only errors caused by loading malformed binary Plist file (previously ValueError and TypeError could be raised in some specific cases). - Pickling heap types implemented in C with protocols 0 and 1 raises now an error instead of producing incorrect data. - plistlib: fix parsing XML plists with hexadecimal integer values - Fix an incorrectly formatted error from _codecs.charmap_decode() when called with a mapped value outside the range of valid Unicode code points. PR by Max Bernstein. - Fix pickling pure Python datetime.time subclasses. Patch by Dean Inwood. - Fixed a bug that was causing ctypes.util.find_library() to return None when triying to locate a library in an environment when gcc>=9 is available and ldconfig is not. Patch by Pablo Galindo - C14N 2.0 serialisation in xml.etree.ElementTree failed for unprefixed attributes when a default namespace was defined. - Fix a bug in the symtable module that was causing module-scope global variables to not be reported as both local and global. Patch by Pablo Galindo. - str() for the type attribute of the tkinter.Event object always returns now the numeric code returned by Tk instead of the name of the event type. - fix tkinter.EventType Enum so all members are strings, and none are tuples - Fix SQLite3 segfault when backing up closed database. Patch contributed by Peter David McCormick. - Fix the tarfile module to write only basename of TAR file to GZIP compression header. - Allow ctypes.wintypes to be imported on non-Windows systems. - shutil.which() now ignores empty entries in PATHEXT instead of treating them as a match. - Fix time-of-check/time-of-action issue in subprocess.Popen.send_signal. - Fix --outfile for cProfile / profile not writing the output file in the original directory when the program being profiled changes the working directory. PR by Anthony Sottile. - ZipFile truncates files to avoid corruption when a shorter comment is provided in append (“a”) mode. Patch by Jan Mazur. - Fixed KeyError exception when flattening an email to a string attempts to replace a non-existent Content-Transfer-Encoding header. Documentation - Fix the URL for the IMAP protocol documents. - Document __format__ functionality for IP addresses. - Clarify that subscription expressions are also valid for certain classes and types in the standard library, and for user-defined classes and types if the classmethod __class_getitem__() is provided. - Documented generic alias type and types.GenericAlias. Also added an entry in glossary for generic types. - In Programming FAQ “Sequences (Tuples/Lists)” section, add “How do you remove multiple items from a list”. - Fix RemovedInSphinx40Warning when building the documentation. Patch by Dong-hee Na. - Update the refcounts info of PyType_FromModuleAndSpec. - Fix tarfile’s extractfile documentation - Document some restrictions on the default string representations of numeric classes. Tests - Reenable test_gdb on gdb 9.2 and newer: https://bugzilla.redhat.com/show_bug.cgi?id=1866884 bug is fixed in gdb 10.1. - Fix test_asyncio.test_call_later() race condition: don’t measure asyncio performance in the call_later() unit test. The test failed randomly on the CI. - Include _testinternalcapi module in Windows installer for test suite - Fix test_logging.test_race_between_set_target_and_flush(): the test now waits until all threads complete to avoid leaking running threads. - Avoid a test failure in test_lib2to3 if the module has already imported at the time the test executes. Patch by Pablo Galindo. - Tests for CJK codecs no longer call eval() on content received via HTTP. - Fix test_site.test_license_exists_at_url(): call urllib.request.urlcleanup() to reset the global urllib.request._opener. Patch by Victor Stinner. - test_ssl: skip test_min_max_version_mismatch when TLS 1.0 is not available - Add tests for SIGINT handling in the runpy module. - Fixed a failure in test_tk.test_widgets.ScaleTest happening when executing the test with Tk 8.6.10. Build - Fix a race condition in “make regen-all” when make -jN option is used to run jobs in parallel. The clinic.py script now only use atomic write to write files. Moveover, generated files are now left unchanged if the content does not change, to not change the file modification time. - Update Py_UNREACHABLE to use __builtin_unreachable() if only the compiler is able to use it. Patch by Dong-hee Na. - Addressed three compiler warnings found by undefined behavior sanitizer (ubsan). IDLE - Fix reporting offset of the RE error in searchengine. - Get docstrings for IDLE calltips more often by using inspect.getdoc. - Mostly finish using ttk widgets, mainly for editor, settings, and searches. Some patches by Mark Roseman. - Use ‘IDLE Shell’ as shell title - Rewrite the Calltips doc section. - In calltips, stop reminding that ‘/’ marks the end of positional-only arguments. - Typing opening and closing parentheses inside the parentheses of a function call will no longer cause unnecessary “flashing” off and on of an existing open call-tip, e.g. when typed in a string literal. C API - Fix potential crash in deallocating method objects when dynamically allocated PyMethodDef’s lifetime is managed through the self argument of a PyCFunction. - Py_FileSystemDefaultEncodeErrors and Py_UTF8Mode are available again in limited API. - Readjustet and reapplied patches: - CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch - skip_random_failing_tests.patch - sphinx-update-removed-function.patch- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Make python39-doc building again - Add no-skipif-doctests.patch, because SLE-15 version of Sphinx doesn't know about skipif directive in doctests.- Update sphinx-update-removed-function.patch patch to the latest version in python36.- Last try before this results in an editwar: * remove importlib_resources and importlib-metadata provides/obsoletes * import importlib_resources is not the same as import importlib.resources, same for metadata * The backport packages from PyPI needed for older flavors are specified as such for setuptools or in pyproject.toml. If a package requires them they typically add them with a python version qualifier and the packages have their own version numbers.- Add patch sphinx-update-removed-function.patch to no longer call a now removed function and to make documentation build independent of the Sphinx version (bsc#1179630, gh#python/cpython#13236).- Don't require packages which break build on SLE-15 although we really don't need them (python3-python-docs-theme and python3-sphinxcontrib-qthelp).- Fix build with RPM 4.16: error: bare words are no longer supported, please use "...": x86 == ppc.- Update to the final version 3.9.0: Complete changelog with all (many) changes from previous version is on https://docs.python.org/release/3.9.0/whatsnew/3.9.html Changes from the previous RC versions (not that many) are on https://docs.python.org/release/3.9.0/whatsnew/changelog.html#changelog- Buildrequire timezone only for general flavor. It's used in this flavor for the test suite.- Update to 3.9.0rc1: * Core and Builtins - bpo-38156: Handle interrupts that come after EOF correctly in PyOS_StdioReadline. * Library - bpo-41497: Fix potential UnicodeDecodeError in dis module. - bpo-41490: Update ensurepip to install pip 20.2.1 and setuptools 49.2.1. - bpo-41467: On Windows, fix asyncio recv_into() return value when the socket/pipe is closed (BrokenPipeError): return 0 rather than an empty byte string (b''). - bpo-41425: Make tkinter doc example runnable. - bpo-41384: Raise TclError instead of TypeError when an unknown option is passed to tkinter.OptionMenu. - bpo-38731: Fix NameError in command-line interface of py_compile. - bpo-41317: Use add_done_callback() in asyncio.loop.sock_accept() to unsubscribe reader early on cancellation. - bpo-41364: Reduce import overhead of uuid. - bpo-41341: Recursive evaluation of typing.ForwardRef in get_type_hints. - bpo-41182: selector: use DefaultSelector based upon implementation - bpo-40726: Handle cases where the end_lineno is None on ast.increment_lineno(). * Documentation - bpo-41045: Add documentation for debug feature of f-strings. - bpo-41314: Changed the release when from __future__ import annotations becomes the default from 4.0 to 3.10 (following a change in PEP 563). * Windows - bpo-41492: Fixes the description that appears in UAC prompts. - bpo-40948: Improve post-install message to direct people to the “py” command. - bpo-41412: The installer will now fail to install on Windows 7 and Windows 8. Further, the UCRT dependency is now always downloaded on demand. - bpo-40741: Update Windows release to include SQLite 3.32.3. * IDLE - bpo-41468: Improve IDLE run crash error message (which users should never see). - bpo-41373: Save files loaded with no line ending, as when blank, or different line endings, by setting its line ending to the system default. Fix regression in 3.8.4 and 3.9.0b4.- Synchronize formatting and fixes with python38.- Increase testsuite timeout to account for super long running test_peg_generator- Removed CVE-2019-20907_tarfile-inf-loop.patch: fixed in upstream - Removed recursion.tar: contained in upstream - Update to 3.9.0b5: - bpo-41304: Fixes python3x._pth being ignored on Windows, caused by the fix for bpo-29778 (CVE-2020-15801). - bpo-41162: Audit hooks are now cleared later during finalization to avoid missing events. - bpo-29778: Ensure python3.dll is loaded from correct locations when Python is embedded (CVE-2020-15523). - bpo-39603: Prevent http header injection by rejecting control characters in http.client.putrequest(…). - bpo-41295: Resolve a regression in CPython 3.8.4 where defining “__setattr__” in a multi-inheritance setup and calling up the hierarchy chain could fail if builtins/extension types were involved in the base types. - bpo-41247: Always cache the running loop holder when running asyncio.set_running_loop. - bpo-41252: Fix incorrect refcounting in _ssl.c’s _servername_callback(). - bpo-41215: Use non-NULL default values in the PEG parser keyword list to overcome a bug that was ' preventing Python from being properly compiled when using the XLC compiler. Patch by Pablo Galindo. - bpo-41218: Python 3.8.3 had a regression where compiling with ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension with CO_COROUTINE. Now only list comprehension making use of async/await will tagged as so. - bpo-41175: Guard against a NULL pointer dereference within bytearrayobject triggered by the bytearray() + bytearray() operation. - bpo-39960: The “hackcheck” that prevents sneaking around a type’s __setattr__() by calling the superclass method was rewritten to allow C implemented heap types. - bpo-41288: Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now UnpicklingError instead of crashing. - bpo-39017: Avoid infinite loop when reading specially crafted TAR files using the tarfile module (CVE-2019-20907, bsc#1174091). - bpo-41235: Fix the error handling in ssl.SSLContext.load_dh_params(). - bpo-41207: In distutils.spawn, restore expectation that DistutilsExecError is raised when the command is not found. - bpo-39168: Remove the __new__ method of typing.Generic. - bpo-41194: Fix a crash in the _ast module: it can no longer be loaded more than once. It now uses a global state rather than a module state. - bpo-39384: Fixed email.contentmanager to allow set_content() to set a null string. - bpo-41300: Save files with non-ascii chars. Fix regression released in 3.9.0b4 and 3.8.4. - bpo-37765: Add keywords to module name completion list. Rewrite Completions section of IDLE doc. - bpo-40170: Revert PyType_HasFeature() change: it reads again directly the PyTypeObject.tp_flags member when the limited C API is not used, rather than always calling PyType_GetFlags() which hides implementation details.- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch.- Changed bpo-31046_ensurepip_honours_prefix.patch to include fix from py3.8- Spec file fixes - Re-added subprocess-raise-timeout.patch: now compatible - Removed bpo34022-stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch: contained in upstream- Fix minor issues found in the staging.- Do not set ourselves as primary interpreter- Update to 3.9.0b4: - PEP 584, Union Operators in dict - PEP 585, Type Hinting Generics In Standard Collections - PEP 593, Flexible function and variable annotations - PEP 602, Python adopts a stable annual release cadence - PEP 615, Support for the IANA Time Zone Database in the Standard Library - PEP 616, String methods to remove prefixes and suffixes - PEP 617, New PEG parser for CPython - bpo#38379, garbage collection does not block on resurrected objects; - bpo#38692, os.pidfd_open added that allows process management without races and signals; - bpo#39926, Unicode support updated to version 13.0.0; - bpo#1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore; - A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall; - A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489; - A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384. - Remove upstreamed patches: - F00102-lib64.patch - SUSE-FEDORA-multilib.patch - OBS_dev-shm.patch - subprocess-raise-timeout.patch - bpo36302-sort-module-sources.patch - bpo40784-Fix-sqlite3-deterministic-test.patch- Update pre_checkin.sh and regenerate- Convert few dependencies to their pkgconfig counterparts- Remove release requirement on libpython, it is not really needed to be equal as the abi changes with versions- Add provides python3-bla on all the subpkgs in case we are primary provider of the functionality- Remove unversioned files from devel subpkg too - Remove main python3 files from -base based whether we are primary interpreter or not - Fix idle to be co-installable - Add condition to be primary to provide/obsolete python3-* - Fix doc to build in versioned folder so the pythons can be installed next to each other- Revert the full versioning of calls on the macros. These are generic so they should really just call python3 X- For the doc package we can build with generic flavor, we don't need the our-interpreter based one- Add provides for pytohn3X-typing/etc to allow BR on those still to work when needed- Change macros.python3 to use full versioned 3.8 instead of just 3 for python interpreter- Reduce some now unused conditionals- Redux the -base dependencies to match up pre-merge layout- Generate baselibs in pre-checkin too- Generate the importlib-failed using pre_checking again - Add back the information about skipped tests on the pre_checkin output- Use %python_pkg_name instead of hardcoding python3 where applicable - Sort out preamble with spec-cleaner- Calculate required variables instead of relying on their continuous manual update- Fix the -base module build again to generate only the deps we need- Replace OBS_dev-shm.patch with the upstream PR#20944- Use the %{python_pkg_name} on more places to allow easier multiversioning - Switch to _multibuild approach for easier maintenance of this package. All is now in one spec file with 3 conditionals: * bcond_with base * bcond_with doc * bcond_with general- add requires python3-base on libpython subpackage (bsc#1167008)- build against Sphinx 2.x until python is compatible with Sphinx 3.x (see gh#python/cpython#19397, bpo#40204)- Fix build with SQLite 3.32 (bpo#40783) add bpo40784-Fix-sqlite3-deterministic-test.patch- Update to version 3.8.3: - Complete list of changes is available at https://docs.python.org/release/3.8.3/whatsnew/changelog.html#python-3-8-3-final, but most of them are just bugfixes. - Removed patch CVE-2020-8492-urllib-ReDoS.patch: contained in upstream- Add #!BuildIgnore: gdk-pixbuf-loader-rsvg to python3 SPEC- Add patch bsc1167501-invalid-alignment.patch (bsc#1167501, bpo#40052) to fix alignment in abstract.h header file.- Update list of skipped tests for qemu linux-user build, test_setegid (test.test_os.PosixUidGidTests) is confusing it- Update to 3.8.2: - Complete list of changes is available at https://docs.python.org/release/3.8.2/whatsnew/changelog.html#python-3-8-2-final, but most of them are just bugfixes. - Updated patches: - F00102-lib64.patch - OBS_dev-shm.patch - SUSE-FEDORA-multilib.patch - subprocess-raise-timeout.patch- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Add Requires: libpython%{so_version} == %{version}-%{release} to python3-base to keep both packages always synchronized (bsc#1162224).- Do not pull in bluez in base again, explain the cycle, it needs to be solved by bluez maintainer for us by providing just the headers separately- Reame idle icons to idle3 in order to not conflict with python2 variant of the package * renamed the icons * renamed icon load in desktop file- Add importlib_resources provide/obsolete as it is integral part of the lang since 3.7 release- Add -fno-semantic-interposition as it brings speed up: https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup- Update to 3.8.1: - This is mainly bugfix release and no significant changes to API are expected. The full changelog is available on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-1 - Remove bpo-38688_shutil.copytree_prevent-infinite-recursion.patch, which is included in the upstream tarball.- Add bpo-31046_ensurepip_honours_prefix.patch which makes ensurepip to honour the value of $(prefix). Proposed fix for bpo#31046..- Move bluez-devel dependency to base as it is needed for socket.AF_BLUETOOTH and otherwise does not work- Reintroduce QtHelp with the help of the new BR python-sphinxcontrib-qthelp.- Fix SUSE-FEDORA-multilib.patch, the platform agnostic infix for library installation is "lib", not "dir".- Move idle subpackage build from python3-base to python3. appstream-glib required for packaging introduces considerable extra dependencies and a build loop via rust/librsvg. - Correct installation of idle IDE icons: + idle.png is not the target directory + non-GNOME-specific icons belong into icons/hicolor - Add required Name key to idle3 desktop file- Update to the final release 3.8.0. . - New Features: - Assignment expressions - Positional-only parameters - Parallel filesystem cache for compiled bytecode files - Debug build uses the same ABI as release build - f-strings support = for self-documenting expressions and debugging - PEP 578: Python Runtime Audit Hooks - PEP 587: Python Initialization Configuration - Vectorcall: a fast calling protocol for CPython - Pickle protocol 5 with out-of-band data buffers - New modules: - importlib.metadata - Improved modules: - ast asyncio, builtins, collections, curses, ctypes, datetime, functools, gc, gettext, gzip, idelib and IDLE, inspect, io, json.tool, math, mmap, multiprocessing, os, os.path, pathlib, pickle, plistlib, py_compile, shlex, shutil, socket, ssl, statistics, sys, tarfile, threading, tokenize, tkinter, time, typing, unicodedata, unittest, venv, weakref, xml - C API improvements - bdist_winnst command has been deprecated (use bdist_wheel) - https://docs.python.org/3.8/whatsnew/3.8.html remains rest of changes including documentation on how to port your programs to the current version of Python.- Add idle3.appdata.xml and idle3.desktop (originally from Fedora) to make Idle3 full GUI desktop application. (bsc#1153830)- Drop intltool from BuildRequires. Doesn't appear to be used.- Add folder version to allow tarball downloads even for beta/rc releases- Revert patches from Fedora (F00102-lib64.patch and F00251-change-user-install-location.patch) into their original prisitine Fedora versions, SUSE-FEDORA-multilib.patch refreshed accordingly.- Correct quotation of platsubdir in Lib/distutils/command/install.py- Replace python-3.6.0-multilib.patch with two patches from Fedora (F00102-lib64.patch and F00251-change-user-install-location.patch), and our own SUSE-FEDORA-multilib.patch to allow better cooperation with Fedora and better upstreaming. - Add OBS_dev-shm.patch fixing bpo#38377- Pull in just gettext and let solver to sort out between: gettext-runtime-mini and gettext-runtime- Update to 3.8.0rc1. Overall changes from 3.7: - PEP 572, Assignment expressions - PEP 570, Positional-only arguments - PEP 587, Python Initialization Configuration (improved embedding) - PEP 590, Vectorcall: a fast calling protocol for CPython - PEP 578, Runtime audit hooks - PEP 574, Pickle protocol 5 with out-of-band data - Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) - Parallel filesystem cache for compiled bytecode - Debug builds share ABI as release builds, also the 'm' ABI tag was removed (irrelevant since 3.4), bpo#36707 - f-strings support a handy = specifier for debugging - continue is now legal in finally: blocks - on Windows, the default asyncio event loop is now ProactorEventLoop - on macOS, the spawn start method is now used by default in multiprocessing - multiprocessing can now use shared memory segments to avoid pickling costs between processes - typed_ast is merged back to CPython - LOAD_GLOBAL is now 40% faster - pickle now uses Protocol 4 by default, improving performance - Refreshed patches: - CVE-2019-5010-null-defer-x509-cert-DOS.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.6.0-multilib.patch - subprocess-raise-timeout.patch- Add bpo36302-sort-module-sources.patch (boo#1041090)- Try harder obsoleting importlib-metadata- Update to 3.8.0b4: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-4- Re-enable test_threading on aarch64- Remove xrpm from subpackage tk description- Update to 3.8.0b3: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-3 - Patches reapplied: - python-3.3.0b1-fix_date_time_compiler.patch - python-3.3.0b1-test-posix_fadvise.patch - python-3.6.0-multilib.patch - subprocess-raise-timeout.patch- Add Provides: python3-importlib-metadata- Update to 3.8.0b2: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-2 - Patches included in upstream: - bpo-37169_PyObject_IsFreed.patch - Patches reapplied: - 00251-change-user-install-location.patch - distutils-reproducible-compile.patch - python-3.3.0b1-localpath.patch - python-3.6.0-multilib.patch- Update list of skipped tests for qemu linux-user build - Don't do profiling in qemu linux-user build- Update to 3.8.0b1 (changes since 3.7.*): - PEP 572, Assignment expressions - PEP 570, Positional-only arguments - PEP 587, Python Initialization Configuration (improved embedding) - PEP 590, Vectorcall: a fast calling protocol for CPython - PEP 578, Runtime audit hooks - PEP 574, Pickle protocol 5 with out-of-band data - Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) - Parallel filesystem cache for compiled bytecode - Debug builds share ABI as release builds - f-strings support a handy = specifier for debugging - continue is now legal in finally: blocks - multiprocessing can now use shared memory segments to avoid pickling costs between processes - typed_ast is merged back to CPython - LOAD_GLOBAL is now 40% faster - pickle now uses Protocol 4 by default, improving performance - Remove patches which were included in the upstream: - 00251-change-user-install-location.patch - 00316-mark-bdist_wininst-unsupported.patch - CVE-2019-9947-no-ctrl-char-http.patch - raise_SIGING_not_handled.patch- Set _lto_cflags to nil as the package is using LTO via --enable-lto. That will prevent to propage LTO for Python modules that are built in a separate package.- Update to 3.8.0.a3: - PEP 572: Assignment Expressions. - Other (mostly small) changes are on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-alpha-3- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- Fix metadata of patches. - Rename boo1071941-make-install-in-sep-loc.patch to 00251-change-user-install-location.patch which is the original name, so it can be looked up in the Fedora VCS.- Mark distutils bdist_wininst command unsupported with 00316-mark-bdist_wininst-unsupported.patch - Remove Windows bdist_wininst executables from runtime package- Update to 3.7.3, which is the maintenance release without any significant changes in API. - Updated patches: - CVE-2019-5010-null-defer-x509-cert-DOS.patch - distutils-reproducible-compile.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.6.0-multilib.patch - raise_SIGING_not_handled.patch- Remove building of Qt Develop help files.- Return distutils-reproducible-compile.patch which is still missing (still unfinished bpo#29708).- Update to 3.8.0a2: * List of all (mostly small) changes are on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-alpha-2- Build nis module again.- Update to 3.8.0a1: * The most visible change so far is probably the implementation of PEP 572: Assignment Expressions. For a detailed list of changes, see: https://docs.python.org/3.8/whatsnew/changelog.html * Recover building of nis module properly in python3 package - Update patches: * CVE-2019-5010-null-defer-x509-cert-DOS.patch * python-3.3.0b1-fix_date_time_compiler.patch * python-3.3.0b1-test-posix_fadvise.patch * python-3.6.0-multilib.patch * raise_SIGING_not_handled.patch- Put LICENSE file where it belongs (bsc#1121852)- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746. An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Do not require full gettext in order to avoid pulling in the glib2 as a dependency- Update to 3.7.2: * bugfix release: https://docs.python.org/3.7/whatsnew/changelog.html#changelog- Stop applying python-3.6.0-multilib-new.patch (which is still WIP), and apply the old proven python-3.6.0-multilib.patch instead.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Upgrade to 3.7.2rc1: * bugfix release, for the full list of all changes see https://docs.python.org/3.7/whatsnew/changelog.html#changelog - Make run of the test suite more verbose- Write summaries without em dashes.- Remove python-3.3.0b1-curses-panel.patch it is unnecessary anymore. - Add boo1071941-make-install-in-sep-loc.patch to make pip and distutils in user environment install into separate location (boo#1071941) Set values of prefix and exec_prefix in distutils install command to /usr/local if executable is /usr/bin/python* and RPM build is not detected to make pip and distutils install into separate location - Remove finally python-3.3.3-skip-distutils-test_sysconfig_module.patch - Remove distutils-reproducible-compile.patch which doesn't make really much difference in reproducibility (see gh#python/cpython#8057 and discussion there).- Rename Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch to bpo34022-stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch- Add dependency on bluez-devel to build support for Bluetooth (boo#1109998)- Add devhelp subpackage and split qthelp into another subpackage.- Remove python-3.0b1-record-rpm.patch and Python-3.0b1-record-rpm.patch, as they are not needed anymore- Switch off test_threading for optimization builds.- Update to python-3.7.1. This is just a brief overview, complete changelog available at https://docs.python.org/3.7/whatsnew/changelog.html#python-3-7-1-final: Library bpo-34970: Protect tasks weak set manipulation in asyncio.all_tasks() - Patches already accepted upstream are removed: * 00307-allow-to-call-Py_Main-after-Py_Initialize.patch * 00308-tls-1.3.patch - New patches added: * Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch * raise_SIGING_not_handled.patch - All other patches refreshed via quilt.- Add raise_SIGING_not_handled.patch to fix bsc#1094814- Add patch to fix importlib return types: * python3-imp-returntype.patch- bpo-34022 still not completely fixed, so we have to keep excluding test_cmd_line_script, test_multiprocessing_main_handling, and test_runpy from the test suite.- Update to python 3.7.1~rc2: Core and Builtins bpo-34879: Fix a possible null pointer dereference in bytesobject.c. Patch by Zackery Spytz. bpo-34854: Fixed a crash in compiling string annotations containing a lambda with a keyword-only argument that doesn’t have a default value. bpo-34320: Fix dict(od) didn’t copy iteration order of OrderedDict. Library bpo-34769: Fix for async generators not finalizing when event loop is in debug mode and garbage collector runs in another thread. bpo-34922: Fixed integer overflow in the digest() and hexdigest() methods for the SHAKE algorithm in the hashlib module. bpo-34900: Fixed unittest.TestCase.debug() when used to call test methods with subtests. Patch by Bruno Oliveira. bpo-34871: Fix inspect module polluted sys.modules when parsing __text_signature__ of callable. bpo-34872: Fix self-cancellation in C implementation of asyncio.Task bpo-34819: Use a monotonic clock to compute timeouts in Executor.map() and as_completed(), in order to prevent timeouts from deviating when the system clock is adjusted. bpo-34334: In QueueHandler, clear exc_text from LogRecord to prevent traceback from being written twice. bpo-6721: Acquire the logging module’s commonly used internal locks while fork()ing to avoid deadlocks in the child process. bpo-34172: Fix a reference issue inside multiprocessing.Pool that caused the pool to remain alive if it was deleted without being closed or terminated explicitly. Documentation bpo-32174: chm document displays non-ASCII charaters properly on some MBCS Windows systems. Tests bpo-32962: Fixed test_gdb when Python is compiled with flags - mcet -fcf-protection -O0. C API bpo-34910: Ensure that PyObject_Print() always returns -1 on error. Patch by Zackery Spytz.- Add Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch to fix problems with SOURCE_DATE_EPOCH variable (bpo-34022)- Add patch to fix build with tls1.3 supported openssl * 00308-tls-1.3.patch - Add patch to fix Py_Main calls after Py_initialize * 00307-allow-to-call-Py_Main-after-Py_Initialize.patch- Add -fwrapv to OPTS, which is default for python3 anyway See for example https://github.com/zopefoundation/persistent/issues/86 for bugs which are caused by avoiding it.- Fix ownership of _contextvars, _queue, and _xxtestfuzz- Switch off LTO for distros with older GCC - Fix %files- Add dependency over libuuid-devel- update to python 3.7.0 Complete overview of changes is available on https://docs.python.org/3/whatsnew/3.7.html, these are just highlights: * PEP 563, postponed evaluation of type annotations. * async and await are now reserved keywords. * New library modules: contextvars: PEP 567 – Context Variables dataclasses: PEP 557 – Data Classes importlib.resources * New built-in features: PEP 553, the new breakpoint() function. * Python data model improvements: PEP 562, customization of access to module attributes. PEP 560, core support for typing module and generic types. the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language spec. * Significant improvements in the standard library: The asyncio module has received new features, significant usability and performance improvements. The time module gained support for functions with nanosecond resolution. * CPython implementation improvements: Avoiding the use of ASCII as a default text encoding: PEP 538, legacy C locale coercion PEP 540, forced UTF-8 runtime mode PEP 552, deterministic .pycs the new development runtime mode PEP 565, improved DeprecationWarning handling * C API improvements: PEP 539, new C API for thread-local storage * Documentation improvements: PEP 545, Python documentation translations New documentation translations: Japanese, French, and Korean. - drop python3-sorted_tar.patch - drop 0001-allow-for-reproducible-builds-of-python-packages.patch - refresh python-3.6.0-multilib-new.patch - refresh subprocess-raise-timeout.patch * new C API for thread-local storage * Deterministic pyc files * Built-in breakpoint() * Data Classes * Core support for typing module and generic types * Customization of access to module attributes * Postponed evaluation of annotations * Time functions with nanosecond resolution * Improved DeprecationWarning handling * Context Variables * Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode) * The insertion-order preservation nature of dict objects is now an official part of the Python language spec. * Notable performance improvements in many areas.- disable lto with gcc versions below 7 (results in link failures)- Use faster find subcommand execution strategies.- Do not mention the testsuite disabling in opts as it was moved to main pkg so base is test-free- As we run in main python package do not generate the pre_checkin from both now- Move the tests from base to generic package wrt bsc#1088573 * We still fail the whole distro if python3 is not build * The other archs than x86_64 took couple of hours to unblock build of other software, this way we work around the issue - Some tests are still run in -base for the LTO tweaking, but at least it is not run twice- update to 3.6.5 * bugfix release * see Misc/NEWS for details - drop ctypes-pass-by-value.patch - drop fix-localeconv-encoding-for-LC_NUMERIC.patch - refresh python-3.6.0-multilib-new.patch- Created %so_major and %so_minor macros - Put Tools/gdb/libpython.py script into proper place and ship it with devel subpackage.- ctypes-pass-by-value.patch: Fix pass by value for structs on aarch64- Add python3-sorted_tar.patch (boo#1081750)- Drop python3-tk and python3-idle recommends to reduce python3 always pulling X stack bsc#1081751- Add patch to fix glibc 2.27 fail bsc#1079761: * fix-localeconv-encoding-for-LC_NUMERIC.patch- Update skip_random_failing_tests.patch (for PowerPC) to avoid test_call_later failure- move XML modules and python3-xml provide to python3-base (fixes bsc#1077230) - move ensurepip to base- Add skip_random_failing_tests.patch only for PowerPC- update to 3.6.4 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed python3-ncurses-6.0-accessors.patch - drop PYTHONSTARTUP hooks that cause spurious startup errors * fixes bsc#1070738 * the relevant feature (REPL history) is now built into Python itself- Install 2to3-%{python_version} executable (override defattr of the -tools package). 2to3 (unversioned) is a symlink and does not carry permissions (bsc#1070853).- move 2to3 to python3-tools package- update to 3.6.3 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed 0001-3.6-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3093.patch- drop python-2.7-libffi-aarch64.patch: this patches the intree copy of libffi which is unused/deleted in the line afterwards - fix build against system libffi: include flags weren't set so it actually used the in-tree libffi headers.- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-3.6-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3093.patch- Update RPM group for python documentation.- fix missing %{?armsuffix}- distutils-reproducible-compile.patch: ensure distutils order files before compiling, which works around bsc#1049186- Add libnsl-devel build requires for glibc obsoleting libnsl- update to 3.6.2 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed test-socket-aead-kernel49.patch - add Provides: python3-typing (fixes bsc#1050653) - drop duplicate Provides: python3- drop db-devel from requirements- Add missing link to python library in config dir (bsc#1040164)- update to 3.6.1 * bugfix release, over a hundred bugs fixed * never add import location's parent directory to sys.path * switch to git for version control, build changes related to that * fix "failed to get random numbers" on old kernels (bsc#1029902) * several crashes and memory leaks corrected * f-string are no longer accepted as docstrings- prevent regenerating AST at build-time more robustly - add "--without profileopt" and "--without testsuite" options to python3-base to allow short circuiting when working on the package- Add 0001-allow-for-reproducible-builds-of-python-packages.patch upstream https://github.com/python/cpython/pull/296- reenable test_socket with AEAD patch (test-socket-aead-kernel49.patch) - reintroduce %py3_soflags macro (and better named %cpython3_soabi equivalent)- update to 3.6.0 * PEP 498 Formated string literals * PEP 515 Underscores in numeric literals * PEP 526 Syntax for variable annotations * PEP 525 Asynchronous generators * PEP 530 Asynchronous comprehensions * PEP 506 New "secrets" module for safe key generation * less memory consumed by dicts * dtrace and systemtap support * improved asyncio module * better defaults for ssl * new hashing algorithms in hashlib * bytecode format changed to allow more optimizations * "async" and "await" are on track to be reserved words * StopIteration from generators is deprecated * support for openssl < 1.0.2 is deprecated * os.urandom now blocks when getrandom() blocks * huge number of new features, bugfixes and optimizations * see https://docs.python.org/3.6/whatsnew/3.6.html for details - rework multilib patch: drop Python-3.5.0-multilib.patch, implement upstreamable python-3.6.0-multilib-new.patch - refresh python-3.3.0b1-localpath.patch, subprocess-raise-timeout.patch - drop upstreamed Python-3.5.1-fix_lru_cache_copying.patch - finally drop python-2.6b1-canonicalize2.patch that was not applied in source and only kept around in case we needed it in the future. (which we don't, as it seems) - update import_failed map and baselibs - build ctypes against system libffi (buildrequire libffi-devel in python3-base) - add new key to keyring (signed by keys already in keyring) - introduced common configure section between python3 and python3-base - moved pyconfig.h and Makefile to devel subpackage as distutils no longer need it at runtime - added python-rpm-macros dependency, regenerated macros file, drop macros.python3.py because it is not used now - improve summaries and descriptions (fixes bsc#917607) - enabled Link-Time Optimization, see what happens - including skipped_tests.py in pre_checkin.sh run - run specs through spec-cleaner, rearrange sections- move _hashlib and _ssl modules and tests to python3-base - recommend python3- Skip test_asyncio under qemu_user_space_build- Add Python-3.5.1-fix_lru_cache_copying.patch Fix copying the lru_cache() wrapper object. Fixes deep-copying lru_cache regression, which worked on previous versions of python but fails on python 3.5. This fixes a bunch of packages in devel:languages:python3. See: https://bugs.python.org/issue25447- Build the docs in .qch format as well- update to 3.5.1 * bugfix-only release, dozens of bugs fixed - Drop upstreamed Python-3.5.0-_Py_atomic_xxx-symbols.patch - "Python3" to "Python 3" in summary * This seems cleaner and fixes and rpmlint warning- Add Python-3.5.0-_Py_atomic_xxx-symbols.patch This fixes a build error for many packages that use the Python, C-API. This patch is already accepted upstream and is slated to appear in python 3.5.1.- update to 3.5.0 * coroutines with async/await syntax * matrix multiplication operator `@` * unpacking generalizations * new modules `typing` and `zipapp` * type annotations * .pyo files replaced by custom suffixes for optimization levels in __pycache__ * support for memory BIO in ssl module * performance improvements in several modules * and many more - removals and behavior changes * deprecated `__version__` is removed * support for .pyo files was removed * system calls are auto-retried on EINTR * bare generator expressions in function calls now cause SyntaxError (change "f(x for x in i)" to "f((x for x in i))" to fix) * removed undocumented `format` member of private `PyMemoryViewObject` struct * renamed `PyMemAllocator` to `PyMemAllocatorEx` - redefine %dynlib macro to reflect that modules now have arch+os as part of name - module `time` is now built-in - dropped upstreamed patches: python-3.4.1-fix-faulthandler.patch python-3.4.3-test-conditional-ssl.patch python-fix-short-dh.patch (also dropped dh2048.pem required for this patch) - updated patch Python-3.3.0b2-multilib.patch to Python-3.5.0-multilib.patch - python-ncurses-6.0-accessors.patch taken from python 2 to fix build failure with new gcc + ncurses- Add python3-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- improve import_failed hook to do the right thing when invoking missing modules with "python3 -m modulename" (boo#942751)- Build with --enable-loadable-sqlite-extensions to make it works as geospatial database.- Fix source list for previous change (add dh2048.pem).- dh2048.pem: added generated 2048 dh parameter set to fix ssl test (bsc#935856) - python-fix-short-dh.patch: replace the 512 bits dh parameter set by 2048 bits to fix build with new openssl 1.0.2c (bsc#935856)- ctypes-libffi-aarch64.patch: remove upstreamed patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- drop the PDF subpackage (removes the massive texlive dependency, and most likely nobody is using the PDFs anyway)- python-3.4.3-test-conditional-ssl.patch - restore tests failing because test_urllib was unconditionally importing ssl (without really needing it) - restore functionality of multilib patch - drop libffi-ppc64le.diff because upstream completely changed everything yet again (sorry ppc64 folks :| )- Update to version 3.4.3 - Drop upstreamed CVE-2014-4650-CGIHTTPServer-traversal.patch (bpo#21766)- Add python-3.4.1-fix-faulthandler.patch, upstream patch for bogus faulthandler which fails with GCC 5.- asyncio has been merged in python3 main package; provide and obsolete it - Remove obsolete AUTHORS section - Remove redundant %clean section- Only pkgconfig(x11) is required for build, not the whole set of packages provided by xorg-x11-devel metapackage.- add %python3_version rpm macro for Fedora compatibility - add missing argument in import_failed, rename Novell Bugzilla to SUSE Bugzillas390zp36 1720613684  "#$%&&&)*),,,/01222565888;<=>>>ABADEDGHGJKJMNMPQPSSSVVVYY[\]^_`_bcbefehhhklmnnnqqqtutwwwz{z}}}       """%%%(((+++...121454787:::=>=@ABCDEFFFIIILMLOPORSRUVWXYX[\[^_^aaadefghgjjjmmmpqpstuvvvyz{|}|     !"#$$$'')*+*---010333676999<=<?@?BBBEFEHIJKKKNONQRQTUVWXYZ[Z]^]`a`cdcfgfijilmloporrruvwxxx{{}~     ! #$#&&()*+,-,///222555888;<;>>>AAADDDGHGJKJMNMPPPSTSVWXYZ[\]^_`_bbbeeehihklknonqrqtutwxwzzz}~    "#"%%%()(+,+./0121454777:;:=>?@@@CCCFGFIJKLLLOPQRSRUUUXYX[\[^_^abadedghgjkjmnmpqpsssvwvyzy|}~      !"!$$&'('***---010343676999<<>???BCBEFEHHHKKKNONQQQTUVWXYZ[\]^_`abcdefghijklmnopqrstutwxyz{|{|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrrruuuxxx{{{~      !"#$%&'()*+,---0003456777:::=>?@ABCDEFGHIJKLMNOPQRSRUVUXYX[\[^^^abcdefghijklmloporsruvwxyx{{{~~      !!!$%$'('*+,-.-0103436669:9<=<?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{{{~~~                        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 3 3 6 6 6 9 : ; < = > ? @ A B C C C F F F I I I L L L O O O R S R U U U X X X [ \ [ ^ ^ ^ a a a d d d g g g j j j m m m p p p s s s v v v y y y | } |                                " " " % % % ( ( ( + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B Cx E F F F I I I L M L O P O R S R U U U X Y X [ \ [ ^ _ ^ a b c d e f g h i j k l m n o p q r s t u v w v y y y | | |    FGlL                             " # " % & % ( ( ( + + + . . . 1 1 1 4 4 4 7 8 9 : ; < = > ? @ A B C D E F G H I J J J M M M P Q P S T S V W V Y Z Y \ ] \ _ ` _ 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 { | } ~                   x        " # " % & % ( ) ( + , - . / . 1 2 3 4 5 4 7 7 9 : ; : = > ? @ A B C D C F F F I I I L M N O P Q R R T U U W X X X [ \ [ ^ _ ` ax d e e e h h h k l m n o p q r s t u v v v y z { |x  x x                          ! " # $ % % % ( ( ( + , - . / 0 0 0 3 4 3 6 6 6 9 9 ; < = > ? @ A B C B E F G H I H K K M N O P Q R Q T U T W X Y Z [ [ [ ^ _ ` a b b b ^ f g h i j k k k n o p q q q t u v w x y z { { { ~  ^ f g x          ###&&&))),,,///232555888;;;>>>AAADEFGHIJKLMNOPQRSTUVWXYZ[]^^^aaadedghgjkjmnmpqpstsvwxyzy|}|    !"#$%&'()*+,,,///224555888;;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ `aaadedghgjklmnopqrstuvwxyz{|}~      """%&'()*+,-./0123456777:::=>=@@BCCCFFFIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    ! ###&&&))),-./0123456789:;<>?@@@CCCFGFIIILLLOOORRRUVUXYX[\[^^^aaadefghijklmnopqrstuvwxyz{|}~x      !"#$%%%()(+,+./.121444777:::===@A@CCCFFFIJILMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3.12.4-150600.3.3.13.12.4-150600.3.3.1     !!"""""""""!!###$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$###################################%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%''(((((((((((((((((((((((((((((((((''''''''''))******))+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++++++++++++++++++++++++++++++++++--..................-----//000000000000000000000000000////////////111222222222222222222222222222222222222222222222222222133333333333333333333333333333333333333333333333333333333333333333111111111111111445555555555555555555555554444444444444446677777777777777777777777766666668889999998:;;;:<=======================================<<<<<<<<<<<<>??????>><@@AAA@BBCCCCCCB<<::DDEEEEEED:FGGGGGGFF:HHIIIIIIH:JJKKKKKKJ:LLMMMMMMLNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNPPPQQQQQQQQQQQQPPNRRSSSRRRNTTTUUUUUUUUUUUUUUUUUUTTTTNNVVVWWWWWWWWWWWWVVNXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXNZ[\]]]]]]\\ZZ^___^^`ZZabbccccccbZdefffeZghiiihZjklmmmlZnopqqqpZrstuuutZNvwwwwwwvvNxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxzz{{{zz||}}}|zzx~~~~~xxxxxxxxxxxxxxxNNNNNNNNNNNNNNNNN_ctypes_test.cpython-312-s390x-linux-gnu.so_testbuffer.cpython-312-s390x-linux-gnu.so_testcapi.cpython-312-s390x-linux-gnu.so_testclinic.cpython-312-s390x-linux-gnu.so_testimportmultiple.cpython-312-s390x-linux-gnu.so_testinternalcapi.cpython-312-s390x-linux-gnu.so_testmultiphase.cpython-312-s390x-linux-gnu.so_testsinglephase.cpython-312-s390x-linux-gnu.so_xxinterpchannels.cpython-312-s390x-linux-gnu.so_xxtestfuzz.cpython-312-s390x-linux-gnu.sosqlite3testSine-1000Hz-300ms.aif__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyc_test_atexit.cpython-312.opt-1.pyc_test_atexit.cpython-312.opt-2.pyc_test_atexit.cpython-312.pyc_test_eintr.cpython-312.opt-1.pyc_test_eintr.cpython-312.opt-2.pyc_test_eintr.cpython-312.pyc_test_embed_set_config.cpython-312.opt-1.pyc_test_embed_set_config.cpython-312.opt-2.pyc_test_embed_set_config.cpython-312.pyc_test_embed_structseq.cpython-312.opt-1.pyc_test_embed_structseq.cpython-312.opt-2.pyc_test_embed_structseq.cpython-312.pyc_test_multiprocessing.cpython-312.opt-1.pyc_test_multiprocessing.cpython-312.opt-2.pyc_test_multiprocessing.cpython-312.pyc_test_venv_multiprocessing.cpython-312.opt-1.pyc_test_venv_multiprocessing.cpython-312.opt-2.pyc_test_venv_multiprocessing.cpython-312.pycarchiver_tests.cpython-312.opt-1.pycarchiver_tests.cpython-312.opt-2.pycarchiver_tests.cpython-312.pycaudiotests.cpython-312.opt-1.pycaudiotests.cpython-312.opt-2.pycaudiotests.cpython-312.pycaudit-tests.cpython-312.opt-1.pycaudit-tests.cpython-312.opt-2.pycaudit-tests.cpython-312.pycautotest.cpython-312.opt-1.pycautotest.cpython-312.opt-2.pycautotest.cpython-312.pycbisect_cmd.cpython-312.opt-1.pycbisect_cmd.cpython-312.opt-2.pycbisect_cmd.cpython-312.pyccurses_tests.cpython-312.opt-1.pyccurses_tests.cpython-312.opt-2.pyccurses_tests.cpython-312.pycdatetimetester.cpython-312.opt-1.pycdatetimetester.cpython-312.opt-2.pycdatetimetester.cpython-312.pycdis_module.cpython-312.opt-1.pycdis_module.cpython-312.opt-2.pycdis_module.cpython-312.pycfork_wait.cpython-312.opt-1.pycfork_wait.cpython-312.opt-2.pycfork_wait.cpython-312.pyclist_tests.cpython-312.opt-1.pyclist_tests.cpython-312.opt-2.pyclist_tests.cpython-312.pyclock_tests.cpython-312.opt-1.pyclock_tests.cpython-312.opt-2.pyclock_tests.cpython-312.pycmapping_tests.cpython-312.opt-1.pycmapping_tests.cpython-312.opt-2.pycmapping_tests.cpython-312.pycmemory_watchdog.cpython-312.opt-1.pycmemory_watchdog.cpython-312.opt-2.pycmemory_watchdog.cpython-312.pycmock_socket.cpython-312.opt-1.pycmock_socket.cpython-312.opt-2.pycmock_socket.cpython-312.pycmp_fork_bomb.cpython-312.opt-1.pycmp_fork_bomb.cpython-312.opt-2.pycmp_fork_bomb.cpython-312.pycmp_preload.cpython-312.opt-1.pycmp_preload.cpython-312.opt-2.pycmp_preload.cpython-312.pycmultibytecodec_support.cpython-312.opt-1.pycmultibytecodec_support.cpython-312.opt-2.pycmultibytecodec_support.cpython-312.pycpickletester.cpython-312.opt-1.pycpickletester.cpython-312.opt-2.pycpickletester.cpython-312.pycprofilee.cpython-312.opt-1.pycprofilee.cpython-312.opt-2.pycprofilee.cpython-312.pycpyclbr_input.cpython-312.opt-1.pycpyclbr_input.cpython-312.opt-2.pycpyclbr_input.cpython-312.pycpythoninfo.cpython-312.opt-1.pycpythoninfo.cpython-312.opt-2.pycpythoninfo.cpython-312.pycre_tests.cpython-312.opt-1.pycre_tests.cpython-312.opt-2.pycre_tests.cpython-312.pycregrtest.cpython-312.opt-1.pycregrtest.cpython-312.opt-2.pycregrtest.cpython-312.pycrelimport.cpython-312.opt-1.pycrelimport.cpython-312.opt-2.pycrelimport.cpython-312.pycreperf.cpython-312.opt-1.pycreperf.cpython-312.opt-2.pycreperf.cpython-312.pycseq_tests.cpython-312.opt-1.pycseq_tests.cpython-312.opt-2.pycseq_tests.cpython-312.pycsignalinterproctester.cpython-312.opt-1.pycsignalinterproctester.cpython-312.opt-2.pycsignalinterproctester.cpython-312.pycssl_servers.cpython-312.opt-1.pycssl_servers.cpython-312.opt-2.pycssl_servers.cpython-312.pycssltests.cpython-312.opt-1.pycssltests.cpython-312.opt-2.pycssltests.cpython-312.pycstring_tests.cpython-312.opt-1.pycstring_tests.cpython-312.opt-2.pycstring_tests.cpython-312.pyctest___all__.cpython-312.opt-1.pyctest___all__.cpython-312.opt-2.pyctest___all__.cpython-312.pyctest__locale.cpython-312.opt-1.pyctest__locale.cpython-312.opt-2.pyctest__locale.cpython-312.pyctest__opcode.cpython-312.opt-1.pyctest__opcode.cpython-312.opt-2.pyctest__opcode.cpython-312.pyctest__osx_support.cpython-312.opt-1.pyctest__osx_support.cpython-312.opt-2.pyctest__osx_support.cpython-312.pyctest__xxinterpchannels.cpython-312.opt-1.pyctest__xxinterpchannels.cpython-312.opt-2.pyctest__xxinterpchannels.cpython-312.pyctest__xxsubinterpreters.cpython-312.opt-1.pyctest__xxsubinterpreters.cpython-312.opt-2.pyctest__xxsubinterpreters.cpython-312.pyctest_abc.cpython-312.opt-1.pyctest_abc.cpython-312.opt-2.pyctest_abc.cpython-312.pyctest_abstract_numbers.cpython-312.opt-1.pyctest_abstract_numbers.cpython-312.opt-2.pyctest_abstract_numbers.cpython-312.pyctest_aifc.cpython-312.opt-1.pyctest_aifc.cpython-312.opt-2.pyctest_aifc.cpython-312.pyctest_argparse.cpython-312.opt-1.pyctest_argparse.cpython-312.opt-2.pyctest_argparse.cpython-312.pyctest_array.cpython-312.opt-1.pyctest_array.cpython-312.opt-2.pyctest_array.cpython-312.pyctest_asdl_parser.cpython-312.opt-1.pyctest_asdl_parser.cpython-312.opt-2.pyctest_asdl_parser.cpython-312.pyctest_ast.cpython-312.opt-1.pyctest_ast.cpython-312.opt-2.pyctest_ast.cpython-312.pyctest_asyncgen.cpython-312.opt-1.pyctest_asyncgen.cpython-312.opt-2.pyctest_asyncgen.cpython-312.pyctest_atexit.cpython-312.opt-1.pyctest_atexit.cpython-312.opt-2.pyctest_atexit.cpython-312.pyctest_audioop.cpython-312.opt-1.pyctest_audioop.cpython-312.opt-2.pyctest_audioop.cpython-312.pyctest_audit.cpython-312.opt-1.pyctest_audit.cpython-312.opt-2.pyctest_audit.cpython-312.pyctest_augassign.cpython-312.opt-1.pyctest_augassign.cpython-312.opt-2.pyctest_augassign.cpython-312.pyctest_base64.cpython-312.opt-1.pyctest_base64.cpython-312.opt-2.pyctest_base64.cpython-312.pyctest_baseexception.cpython-312.opt-1.pyctest_baseexception.cpython-312.opt-2.pyctest_baseexception.cpython-312.pyctest_bdb.cpython-312.opt-1.pyctest_bdb.cpython-312.opt-2.pyctest_bdb.cpython-312.pyctest_bigaddrspace.cpython-312.opt-1.pyctest_bigaddrspace.cpython-312.opt-2.pyctest_bigaddrspace.cpython-312.pyctest_bigmem.cpython-312.opt-1.pyctest_bigmem.cpython-312.opt-2.pyctest_bigmem.cpython-312.pyctest_binascii.cpython-312.opt-1.pyctest_binascii.cpython-312.opt-2.pyctest_binascii.cpython-312.pyctest_binop.cpython-312.opt-1.pyctest_binop.cpython-312.opt-2.pyctest_binop.cpython-312.pyctest_bisect.cpython-312.opt-1.pyctest_bisect.cpython-312.opt-2.pyctest_bisect.cpython-312.pyctest_bool.cpython-312.opt-1.pyctest_bool.cpython-312.opt-2.pyctest_bool.cpython-312.pyctest_buffer.cpython-312.opt-1.pyctest_buffer.cpython-312.opt-2.pyctest_buffer.cpython-312.pyctest_bufio.cpython-312.opt-1.pyctest_bufio.cpython-312.opt-2.pyctest_bufio.cpython-312.pyctest_builtin.cpython-312.opt-1.pyctest_builtin.cpython-312.opt-2.pyctest_builtin.cpython-312.pyctest_bytes.cpython-312.opt-1.pyctest_bytes.cpython-312.opt-2.pyctest_bytes.cpython-312.pyctest_bz2.cpython-312.opt-1.pyctest_bz2.cpython-312.opt-2.pyctest_bz2.cpython-312.pyctest_c_locale_coercion.cpython-312.opt-1.pyctest_c_locale_coercion.cpython-312.opt-2.pyctest_c_locale_coercion.cpython-312.pyctest_calendar.cpython-312.opt-1.pyctest_calendar.cpython-312.opt-2.pyctest_calendar.cpython-312.pyctest_call.cpython-312.opt-1.pyctest_call.cpython-312.opt-2.pyctest_call.cpython-312.pyctest_cgi.cpython-312.opt-1.pyctest_cgi.cpython-312.opt-2.pyctest_cgi.cpython-312.pyctest_cgitb.cpython-312.opt-1.pyctest_cgitb.cpython-312.opt-2.pyctest_cgitb.cpython-312.pyctest_charmapcodec.cpython-312.opt-1.pyctest_charmapcodec.cpython-312.opt-2.pyctest_charmapcodec.cpython-312.pyctest_class.cpython-312.opt-1.pyctest_class.cpython-312.opt-2.pyctest_class.cpython-312.pyctest_clinic.cpython-312.opt-1.pyctest_clinic.cpython-312.opt-2.pyctest_clinic.cpython-312.pyctest_cmath.cpython-312.opt-1.pyctest_cmath.cpython-312.opt-2.pyctest_cmath.cpython-312.pyctest_cmd.cpython-312.opt-1.pyctest_cmd.cpython-312.opt-2.pyctest_cmd.cpython-312.pyctest_cmd_line.cpython-312.opt-1.pyctest_cmd_line.cpython-312.opt-2.pyctest_cmd_line.cpython-312.pyctest_cmd_line_script.cpython-312.opt-1.pyctest_cmd_line_script.cpython-312.opt-2.pyctest_cmd_line_script.cpython-312.pyctest_code.cpython-312.opt-1.pyctest_code.cpython-312.opt-2.pyctest_code.cpython-312.pyctest_code_module.cpython-312.opt-1.pyctest_code_module.cpython-312.opt-2.pyctest_code_module.cpython-312.pyctest_codeccallbacks.cpython-312.opt-1.pyctest_codeccallbacks.cpython-312.opt-2.pyctest_codeccallbacks.cpython-312.pyctest_codecencodings_cn.cpython-312.opt-1.pyctest_codecencodings_cn.cpython-312.opt-2.pyctest_codecencodings_cn.cpython-312.pyctest_codecencodings_hk.cpython-312.opt-1.pyctest_codecencodings_hk.cpython-312.opt-2.pyctest_codecencodings_hk.cpython-312.pyctest_codecencodings_iso2022.cpython-312.opt-1.pyctest_codecencodings_iso2022.cpython-312.opt-2.pyctest_codecencodings_iso2022.cpython-312.pyctest_codecencodings_jp.cpython-312.opt-1.pyctest_codecencodings_jp.cpython-312.opt-2.pyctest_codecencodings_jp.cpython-312.pyctest_codecencodings_kr.cpython-312.opt-1.pyctest_codecencodings_kr.cpython-312.opt-2.pyctest_codecencodings_kr.cpython-312.pyctest_codecencodings_tw.cpython-312.opt-1.pyctest_codecencodings_tw.cpython-312.opt-2.pyctest_codecencodings_tw.cpython-312.pyctest_codecmaps_cn.cpython-312.opt-1.pyctest_codecmaps_cn.cpython-312.opt-2.pyctest_codecmaps_cn.cpython-312.pyctest_codecmaps_hk.cpython-312.opt-1.pyctest_codecmaps_hk.cpython-312.opt-2.pyctest_codecmaps_hk.cpython-312.pyctest_codecmaps_jp.cpython-312.opt-1.pyctest_codecmaps_jp.cpython-312.opt-2.pyctest_codecmaps_jp.cpython-312.pyctest_codecmaps_kr.cpython-312.opt-1.pyctest_codecmaps_kr.cpython-312.opt-2.pyctest_codecmaps_kr.cpython-312.pyctest_codecmaps_tw.cpython-312.opt-1.pyctest_codecmaps_tw.cpython-312.opt-2.pyctest_codecmaps_tw.cpython-312.pyctest_codecs.cpython-312.opt-1.pyctest_codecs.cpython-312.opt-2.pyctest_codecs.cpython-312.pyctest_codeop.cpython-312.opt-1.pyctest_codeop.cpython-312.opt-2.pyctest_codeop.cpython-312.pyctest_collections.cpython-312.opt-1.pyctest_collections.cpython-312.opt-2.pyctest_collections.cpython-312.pyctest_colorsys.cpython-312.opt-1.pyctest_colorsys.cpython-312.opt-2.pyctest_colorsys.cpython-312.pyctest_compare.cpython-312.opt-1.pyctest_compare.cpython-312.opt-2.pyctest_compare.cpython-312.pyctest_compile.cpython-312.opt-1.pyctest_compile.cpython-312.opt-2.pyctest_compile.cpython-312.pyctest_compileall.cpython-312.opt-1.pyctest_compileall.cpython-312.opt-2.pyctest_compileall.cpython-312.pyctest_compiler_assemble.cpython-312.opt-1.pyctest_compiler_assemble.cpython-312.opt-2.pyctest_compiler_assemble.cpython-312.pyctest_compiler_codegen.cpython-312.opt-1.pyctest_compiler_codegen.cpython-312.opt-2.pyctest_compiler_codegen.cpython-312.pyctest_complex.cpython-312.opt-1.pyctest_complex.cpython-312.opt-2.pyctest_complex.cpython-312.pyctest_configparser.cpython-312.opt-1.pyctest_configparser.cpython-312.opt-2.pyctest_configparser.cpython-312.pyctest_contains.cpython-312.opt-1.pyctest_contains.cpython-312.opt-2.pyctest_contains.cpython-312.pyctest_context.cpython-312.opt-1.pyctest_context.cpython-312.opt-2.pyctest_context.cpython-312.pyctest_contextlib.cpython-312.opt-1.pyctest_contextlib.cpython-312.opt-2.pyctest_contextlib.cpython-312.pyctest_contextlib_async.cpython-312.opt-1.pyctest_contextlib_async.cpython-312.opt-2.pyctest_contextlib_async.cpython-312.pyctest_copy.cpython-312.opt-1.pyctest_copy.cpython-312.opt-2.pyctest_copy.cpython-312.pyctest_copyreg.cpython-312.opt-1.pyctest_copyreg.cpython-312.opt-2.pyctest_copyreg.cpython-312.pyctest_coroutines.cpython-312.opt-1.pyctest_coroutines.cpython-312.opt-2.pyctest_coroutines.cpython-312.pyctest_cprofile.cpython-312.opt-1.pyctest_cprofile.cpython-312.opt-2.pyctest_cprofile.cpython-312.pyctest_crashers.cpython-312.opt-1.pyctest_crashers.cpython-312.opt-2.pyctest_crashers.cpython-312.pyctest_crypt.cpython-312.opt-1.pyctest_crypt.cpython-312.opt-2.pyctest_crypt.cpython-312.pyctest_csv.cpython-312.opt-1.pyctest_csv.cpython-312.opt-2.pyctest_csv.cpython-312.pyctest_curses.cpython-312.opt-1.pyctest_curses.cpython-312.opt-2.pyctest_curses.cpython-312.pyctest_datetime.cpython-312.opt-1.pyctest_datetime.cpython-312.opt-2.pyctest_datetime.cpython-312.pyctest_dbm.cpython-312.opt-1.pyctest_dbm.cpython-312.opt-2.pyctest_dbm.cpython-312.pyctest_dbm_dumb.cpython-312.opt-1.pyctest_dbm_dumb.cpython-312.opt-2.pyctest_dbm_dumb.cpython-312.pyctest_dbm_gnu.cpython-312.opt-1.pyctest_dbm_gnu.cpython-312.opt-2.pyctest_dbm_gnu.cpython-312.pyctest_dbm_ndbm.cpython-312.opt-1.pyctest_dbm_ndbm.cpython-312.opt-2.pyctest_dbm_ndbm.cpython-312.pyctest_decimal.cpython-312.opt-1.pyctest_decimal.cpython-312.opt-2.pyctest_decimal.cpython-312.pyctest_decorators.cpython-312.opt-1.pyctest_decorators.cpython-312.opt-2.pyctest_decorators.cpython-312.pyctest_defaultdict.cpython-312.opt-1.pyctest_defaultdict.cpython-312.opt-2.pyctest_defaultdict.cpython-312.pyctest_deque.cpython-312.opt-1.pyctest_deque.cpython-312.opt-2.pyctest_deque.cpython-312.pyctest_descr.cpython-312.opt-1.pyctest_descr.cpython-312.opt-2.pyctest_descr.cpython-312.pyctest_descrtut.cpython-312.opt-1.pyctest_descrtut.cpython-312.opt-2.pyctest_descrtut.cpython-312.pyctest_devpoll.cpython-312.opt-1.pyctest_devpoll.cpython-312.opt-2.pyctest_devpoll.cpython-312.pyctest_dict.cpython-312.opt-1.pyctest_dict.cpython-312.opt-2.pyctest_dict.cpython-312.pyctest_dict_version.cpython-312.opt-1.pyctest_dict_version.cpython-312.opt-2.pyctest_dict_version.cpython-312.pyctest_dictcomps.cpython-312.opt-1.pyctest_dictcomps.cpython-312.opt-2.pyctest_dictcomps.cpython-312.pyctest_dictviews.cpython-312.opt-1.pyctest_dictviews.cpython-312.opt-2.pyctest_dictviews.cpython-312.pyctest_difflib.cpython-312.opt-1.pyctest_difflib.cpython-312.opt-2.pyctest_difflib.cpython-312.pyctest_dis.cpython-312.opt-1.pyctest_dis.cpython-312.opt-2.pyctest_dis.cpython-312.pyctest_docxmlrpc.cpython-312.opt-1.pyctest_docxmlrpc.cpython-312.opt-2.pyctest_docxmlrpc.cpython-312.pyctest_dtrace.cpython-312.opt-1.pyctest_dtrace.cpython-312.opt-2.pyctest_dtrace.cpython-312.pyctest_dynamic.cpython-312.opt-1.pyctest_dynamic.cpython-312.opt-2.pyctest_dynamic.cpython-312.pyctest_dynamicclassattribute.cpython-312.opt-1.pyctest_dynamicclassattribute.cpython-312.opt-2.pyctest_dynamicclassattribute.cpython-312.pyctest_eintr.cpython-312.opt-1.pyctest_eintr.cpython-312.opt-2.pyctest_eintr.cpython-312.pyctest_embed.cpython-312.opt-1.pyctest_embed.cpython-312.opt-2.pyctest_embed.cpython-312.pyctest_ensurepip.cpython-312.opt-1.pyctest_ensurepip.cpython-312.opt-2.pyctest_ensurepip.cpython-312.pyctest_enum.cpython-312.opt-1.pyctest_enum.cpython-312.opt-2.pyctest_enum.cpython-312.pyctest_enumerate.cpython-312.opt-1.pyctest_enumerate.cpython-312.opt-2.pyctest_enumerate.cpython-312.pyctest_eof.cpython-312.opt-1.pyctest_eof.cpython-312.opt-2.pyctest_eof.cpython-312.pyctest_epoll.cpython-312.opt-1.pyctest_epoll.cpython-312.opt-2.pyctest_epoll.cpython-312.pyctest_errno.cpython-312.opt-1.pyctest_errno.cpython-312.opt-2.pyctest_errno.cpython-312.pyctest_except_star.cpython-312.opt-1.pyctest_except_star.cpython-312.opt-2.pyctest_except_star.cpython-312.pyctest_exception_group.cpython-312.opt-1.pyctest_exception_group.cpython-312.opt-2.pyctest_exception_group.cpython-312.pyctest_exception_hierarchy.cpython-312.opt-1.pyctest_exception_hierarchy.cpython-312.opt-2.pyctest_exception_hierarchy.cpython-312.pyctest_exception_variations.cpython-312.opt-1.pyctest_exception_variations.cpython-312.opt-2.pyctest_exception_variations.cpython-312.pyctest_exceptions.cpython-312.opt-1.pyctest_exceptions.cpython-312.opt-2.pyctest_exceptions.cpython-312.pyctest_extcall.cpython-312.opt-1.pyctest_extcall.cpython-312.opt-2.pyctest_extcall.cpython-312.pyctest_faulthandler.cpython-312.opt-1.pyctest_faulthandler.cpython-312.opt-2.pyctest_faulthandler.cpython-312.pyctest_fcntl.cpython-312.opt-1.pyctest_fcntl.cpython-312.opt-2.pyctest_fcntl.cpython-312.pyctest_file.cpython-312.opt-1.pyctest_file.cpython-312.opt-2.pyctest_file.cpython-312.pyctest_file_eintr.cpython-312.opt-1.pyctest_file_eintr.cpython-312.opt-2.pyctest_file_eintr.cpython-312.pyctest_filecmp.cpython-312.opt-1.pyctest_filecmp.cpython-312.opt-2.pyctest_filecmp.cpython-312.pyctest_fileinput.cpython-312.opt-1.pyctest_fileinput.cpython-312.opt-2.pyctest_fileinput.cpython-312.pyctest_fileio.cpython-312.opt-1.pyctest_fileio.cpython-312.opt-2.pyctest_fileio.cpython-312.pyctest_fileutils.cpython-312.opt-1.pyctest_fileutils.cpython-312.opt-2.pyctest_fileutils.cpython-312.pyctest_finalization.cpython-312.opt-1.pyctest_finalization.cpython-312.opt-2.pyctest_finalization.cpython-312.pyctest_float.cpython-312.opt-1.pyctest_float.cpython-312.opt-2.pyctest_float.cpython-312.pyctest_flufl.cpython-312.opt-1.pyctest_flufl.cpython-312.opt-2.pyctest_flufl.cpython-312.pyctest_fnmatch.cpython-312.opt-1.pyctest_fnmatch.cpython-312.opt-2.pyctest_fnmatch.cpython-312.pyctest_fork1.cpython-312.opt-1.pyctest_fork1.cpython-312.opt-2.pyctest_fork1.cpython-312.pyctest_format.cpython-312.opt-1.pyctest_format.cpython-312.opt-2.pyctest_format.cpython-312.pyctest_fractions.cpython-312.opt-1.pyctest_fractions.cpython-312.opt-2.pyctest_fractions.cpython-312.pyctest_frame.cpython-312.opt-1.pyctest_frame.cpython-312.opt-2.pyctest_frame.cpython-312.pyctest_frozen.cpython-312.opt-1.pyctest_frozen.cpython-312.opt-2.pyctest_frozen.cpython-312.pyctest_fstring.cpython-312.opt-1.pyctest_fstring.cpython-312.opt-2.pyctest_fstring.cpython-312.pyctest_ftplib.cpython-312.opt-1.pyctest_ftplib.cpython-312.opt-2.pyctest_ftplib.cpython-312.pyctest_funcattrs.cpython-312.opt-1.pyctest_funcattrs.cpython-312.opt-2.pyctest_funcattrs.cpython-312.pyctest_functools.cpython-312.opt-1.pyctest_functools.cpython-312.opt-2.pyctest_functools.cpython-312.pyctest_gc.cpython-312.opt-1.pyctest_gc.cpython-312.opt-2.pyctest_gc.cpython-312.pyctest_generator_stop.cpython-312.opt-1.pyctest_generator_stop.cpython-312.opt-2.pyctest_generator_stop.cpython-312.pyctest_generators.cpython-312.opt-1.pyctest_generators.cpython-312.opt-2.pyctest_generators.cpython-312.pyctest_genericalias.cpython-312.opt-1.pyctest_genericalias.cpython-312.opt-2.pyctest_genericalias.cpython-312.pyctest_genericclass.cpython-312.opt-1.pyctest_genericclass.cpython-312.opt-2.pyctest_genericclass.cpython-312.pyctest_genericpath.cpython-312.opt-1.pyctest_genericpath.cpython-312.opt-2.pyctest_genericpath.cpython-312.pyctest_genexps.cpython-312.opt-1.pyctest_genexps.cpython-312.opt-2.pyctest_genexps.cpython-312.pyctest_getopt.cpython-312.opt-1.pyctest_getopt.cpython-312.opt-2.pyctest_getopt.cpython-312.pyctest_getpass.cpython-312.opt-1.pyctest_getpass.cpython-312.opt-2.pyctest_getpass.cpython-312.pyctest_getpath.cpython-312.opt-1.pyctest_getpath.cpython-312.opt-2.pyctest_getpath.cpython-312.pyctest_gettext.cpython-312.opt-1.pyctest_gettext.cpython-312.opt-2.pyctest_gettext.cpython-312.pyctest_glob.cpython-312.opt-1.pyctest_glob.cpython-312.opt-2.pyctest_glob.cpython-312.pyctest_global.cpython-312.opt-1.pyctest_global.cpython-312.opt-2.pyctest_global.cpython-312.pyctest_grammar.cpython-312.opt-1.pyctest_grammar.cpython-312.opt-2.pyctest_grammar.cpython-312.pyctest_graphlib.cpython-312.opt-1.pyctest_graphlib.cpython-312.opt-2.pyctest_graphlib.cpython-312.pyctest_grp.cpython-312.opt-1.pyctest_grp.cpython-312.opt-2.pyctest_grp.cpython-312.pyctest_gzip.cpython-312.opt-1.pyctest_gzip.cpython-312.opt-2.pyctest_gzip.cpython-312.pyctest_hash.cpython-312.opt-1.pyctest_hash.cpython-312.opt-2.pyctest_hash.cpython-312.pyctest_hashlib.cpython-312.opt-1.pyctest_hashlib.cpython-312.opt-2.pyctest_hashlib.cpython-312.pyctest_heapq.cpython-312.opt-1.pyctest_heapq.cpython-312.opt-2.pyctest_heapq.cpython-312.pyctest_hmac.cpython-312.opt-1.pyctest_hmac.cpython-312.opt-2.pyctest_hmac.cpython-312.pyctest_html.cpython-312.opt-1.pyctest_html.cpython-312.opt-2.pyctest_html.cpython-312.pyctest_htmlparser.cpython-312.opt-1.pyctest_htmlparser.cpython-312.opt-2.pyctest_htmlparser.cpython-312.pyctest_http_cookiejar.cpython-312.opt-1.pyctest_http_cookiejar.cpython-312.opt-2.pyctest_http_cookiejar.cpython-312.pyctest_http_cookies.cpython-312.opt-1.pyctest_http_cookies.cpython-312.opt-2.pyctest_http_cookies.cpython-312.pyctest_httplib.cpython-312.opt-1.pyctest_httplib.cpython-312.opt-2.pyctest_httplib.cpython-312.pyctest_httpservers.cpython-312.opt-1.pyctest_httpservers.cpython-312.opt-2.pyctest_httpservers.cpython-312.pyctest_idle.cpython-312.opt-1.pyctest_idle.cpython-312.opt-2.pyctest_idle.cpython-312.pyctest_imaplib.cpython-312.opt-1.pyctest_imaplib.cpython-312.opt-2.pyctest_imaplib.cpython-312.pyctest_imghdr.cpython-312.opt-1.pyctest_imghdr.cpython-312.opt-2.pyctest_imghdr.cpython-312.pyctest_index.cpython-312.opt-1.pyctest_index.cpython-312.opt-2.pyctest_index.cpython-312.pyctest_int.cpython-312.opt-1.pyctest_int.cpython-312.opt-2.pyctest_int.cpython-312.pyctest_int_literal.cpython-312.opt-1.pyctest_int_literal.cpython-312.opt-2.pyctest_int_literal.cpython-312.pyctest_interpreters.cpython-312.opt-1.pyctest_interpreters.cpython-312.opt-2.pyctest_interpreters.cpython-312.pyctest_io.cpython-312.opt-1.pyctest_io.cpython-312.opt-2.pyctest_io.cpython-312.pyctest_ioctl.cpython-312.opt-1.pyctest_ioctl.cpython-312.opt-2.pyctest_ioctl.cpython-312.pyctest_ipaddress.cpython-312.opt-1.pyctest_ipaddress.cpython-312.opt-2.pyctest_ipaddress.cpython-312.pyctest_isinstance.cpython-312.opt-1.pyctest_isinstance.cpython-312.opt-2.pyctest_isinstance.cpython-312.pyctest_iter.cpython-312.opt-1.pyctest_iter.cpython-312.opt-2.pyctest_iter.cpython-312.pyctest_iterlen.cpython-312.opt-1.pyctest_iterlen.cpython-312.opt-2.pyctest_iterlen.cpython-312.pyctest_itertools.cpython-312.opt-1.pyctest_itertools.cpython-312.opt-2.pyctest_itertools.cpython-312.pyctest_keyword.cpython-312.opt-1.pyctest_keyword.cpython-312.opt-2.pyctest_keyword.cpython-312.pyctest_keywordonlyarg.cpython-312.opt-1.pyctest_keywordonlyarg.cpython-312.opt-2.pyctest_keywordonlyarg.cpython-312.pyctest_kqueue.cpython-312.opt-1.pyctest_kqueue.cpython-312.opt-2.pyctest_kqueue.cpython-312.pyctest_largefile.cpython-312.opt-1.pyctest_largefile.cpython-312.opt-2.pyctest_largefile.cpython-312.pyctest_launcher.cpython-312.opt-1.pyctest_launcher.cpython-312.opt-2.pyctest_launcher.cpython-312.pyctest_linecache.cpython-312.opt-1.pyctest_linecache.cpython-312.opt-2.pyctest_linecache.cpython-312.pyctest_list.cpython-312.opt-1.pyctest_list.cpython-312.opt-2.pyctest_list.cpython-312.pyctest_listcomps.cpython-312.opt-1.pyctest_listcomps.cpython-312.opt-2.pyctest_listcomps.cpython-312.pyctest_lltrace.cpython-312.opt-1.pyctest_lltrace.cpython-312.opt-2.pyctest_lltrace.cpython-312.pyctest_locale.cpython-312.opt-1.pyctest_locale.cpython-312.opt-2.pyctest_locale.cpython-312.pyctest_logging.cpython-312.opt-1.pyctest_logging.cpython-312.opt-2.pyctest_logging.cpython-312.pyctest_long.cpython-312.opt-1.pyctest_long.cpython-312.opt-2.pyctest_long.cpython-312.pyctest_longexp.cpython-312.opt-1.pyctest_longexp.cpython-312.opt-2.pyctest_longexp.cpython-312.pyctest_lzma.cpython-312.opt-1.pyctest_lzma.cpython-312.opt-2.pyctest_lzma.cpython-312.pyctest_mailbox.cpython-312.opt-1.pyctest_mailbox.cpython-312.opt-2.pyctest_mailbox.cpython-312.pyctest_mailcap.cpython-312.opt-1.pyctest_mailcap.cpython-312.opt-2.pyctest_mailcap.cpython-312.pyctest_marshal.cpython-312.opt-1.pyctest_marshal.cpython-312.opt-2.pyctest_marshal.cpython-312.pyctest_math.cpython-312.opt-1.pyctest_math.cpython-312.opt-2.pyctest_math.cpython-312.pyctest_math_property.cpython-312.opt-1.pyctest_math_property.cpython-312.opt-2.pyctest_math_property.cpython-312.pyctest_memoryio.cpython-312.opt-1.pyctest_memoryio.cpython-312.opt-2.pyctest_memoryio.cpython-312.pyctest_memoryview.cpython-312.opt-1.pyctest_memoryview.cpython-312.opt-2.pyctest_memoryview.cpython-312.pyctest_metaclass.cpython-312.opt-1.pyctest_metaclass.cpython-312.opt-2.pyctest_metaclass.cpython-312.pyctest_mimetypes.cpython-312.opt-1.pyctest_mimetypes.cpython-312.opt-2.pyctest_mimetypes.cpython-312.pyctest_minidom.cpython-312.opt-1.pyctest_minidom.cpython-312.opt-2.pyctest_minidom.cpython-312.pyctest_mmap.cpython-312.opt-1.pyctest_mmap.cpython-312.opt-2.pyctest_mmap.cpython-312.pyctest_modulefinder.cpython-312.opt-1.pyctest_modulefinder.cpython-312.opt-2.pyctest_modulefinder.cpython-312.pyctest_monitoring.cpython-312.opt-1.pyctest_monitoring.cpython-312.opt-2.pyctest_monitoring.cpython-312.pyctest_msilib.cpython-312.opt-1.pyctest_msilib.cpython-312.opt-2.pyctest_msilib.cpython-312.pyctest_multibytecodec.cpython-312.opt-1.pyctest_multibytecodec.cpython-312.opt-2.pyctest_multibytecodec.cpython-312.pyctest_multiprocessing_main_handling.cpython-312.opt-1.pyctest_multiprocessing_main_handling.cpython-312.opt-2.pyctest_multiprocessing_main_handling.cpython-312.pyctest_named_expressions.cpython-312.opt-1.pyctest_named_expressions.cpython-312.opt-2.pyctest_named_expressions.cpython-312.pyctest_netrc.cpython-312.opt-1.pyctest_netrc.cpython-312.opt-2.pyctest_netrc.cpython-312.pyctest_nis.cpython-312.opt-1.pyctest_nis.cpython-312.opt-2.pyctest_nis.cpython-312.pyctest_nntplib.cpython-312.opt-1.pyctest_nntplib.cpython-312.opt-2.pyctest_nntplib.cpython-312.pyctest_ntpath.cpython-312.opt-1.pyctest_ntpath.cpython-312.opt-2.pyctest_ntpath.cpython-312.pyctest_numeric_tower.cpython-312.opt-1.pyctest_numeric_tower.cpython-312.opt-2.pyctest_numeric_tower.cpython-312.pyctest_opcache.cpython-312.opt-1.pyctest_opcache.cpython-312.opt-2.pyctest_opcache.cpython-312.pyctest_opcodes.cpython-312.opt-1.pyctest_opcodes.cpython-312.opt-2.pyctest_opcodes.cpython-312.pyctest_openpty.cpython-312.opt-1.pyctest_openpty.cpython-312.opt-2.pyctest_openpty.cpython-312.pyctest_operator.cpython-312.opt-1.pyctest_operator.cpython-312.opt-2.pyctest_operator.cpython-312.pyctest_optparse.cpython-312.opt-1.pyctest_optparse.cpython-312.opt-2.pyctest_optparse.cpython-312.pyctest_ordered_dict.cpython-312.opt-1.pyctest_ordered_dict.cpython-312.opt-2.pyctest_ordered_dict.cpython-312.pyctest_os.cpython-312.opt-1.pyctest_os.cpython-312.opt-2.pyctest_os.cpython-312.pyctest_ossaudiodev.cpython-312.opt-1.pyctest_ossaudiodev.cpython-312.opt-2.pyctest_ossaudiodev.cpython-312.pyctest_osx_env.cpython-312.opt-1.pyctest_osx_env.cpython-312.opt-2.pyctest_osx_env.cpython-312.pyctest_pathlib.cpython-312.opt-1.pyctest_pathlib.cpython-312.opt-2.pyctest_pathlib.cpython-312.pyctest_patma.cpython-312.opt-1.pyctest_patma.cpython-312.opt-2.pyctest_patma.cpython-312.pyctest_pdb.cpython-312.opt-1.pyctest_pdb.cpython-312.opt-2.pyctest_pdb.cpython-312.pyctest_peepholer.cpython-312.opt-1.pyctest_peepholer.cpython-312.opt-2.pyctest_peepholer.cpython-312.pyctest_pep646_syntax.cpython-312.opt-1.pyctest_pep646_syntax.cpython-312.opt-2.pyctest_pep646_syntax.cpython-312.pyctest_perf_profiler.cpython-312.opt-1.pyctest_perf_profiler.cpython-312.opt-2.pyctest_perf_profiler.cpython-312.pyctest_perfmaps.cpython-312.opt-1.pyctest_perfmaps.cpython-312.opt-2.pyctest_perfmaps.cpython-312.pyctest_pickle.cpython-312.opt-1.pyctest_pickle.cpython-312.opt-2.pyctest_pickle.cpython-312.pyctest_picklebuffer.cpython-312.opt-1.pyctest_picklebuffer.cpython-312.opt-2.pyctest_picklebuffer.cpython-312.pyctest_pickletools.cpython-312.opt-1.pyctest_pickletools.cpython-312.opt-2.pyctest_pickletools.cpython-312.pyctest_pipes.cpython-312.opt-1.pyctest_pipes.cpython-312.opt-2.pyctest_pipes.cpython-312.pyctest_pkg.cpython-312.opt-1.pyctest_pkg.cpython-312.opt-2.pyctest_pkg.cpython-312.pyctest_pkgutil.cpython-312.opt-1.pyctest_pkgutil.cpython-312.opt-2.pyctest_pkgutil.cpython-312.pyctest_platform.cpython-312.opt-1.pyctest_platform.cpython-312.opt-2.pyctest_platform.cpython-312.pyctest_plistlib.cpython-312.opt-1.pyctest_plistlib.cpython-312.opt-2.pyctest_plistlib.cpython-312.pyctest_poll.cpython-312.opt-1.pyctest_poll.cpython-312.opt-2.pyctest_poll.cpython-312.pyctest_popen.cpython-312.opt-1.pyctest_popen.cpython-312.opt-2.pyctest_popen.cpython-312.pyctest_poplib.cpython-312.opt-1.pyctest_poplib.cpython-312.opt-2.pyctest_poplib.cpython-312.pyctest_positional_only_arg.cpython-312.opt-1.pyctest_positional_only_arg.cpython-312.opt-2.pyctest_positional_only_arg.cpython-312.pyctest_posix.cpython-312.opt-1.pyctest_posix.cpython-312.opt-2.pyctest_posix.cpython-312.pyctest_posixpath.cpython-312.opt-1.pyctest_posixpath.cpython-312.opt-2.pyctest_posixpath.cpython-312.pyctest_pow.cpython-312.opt-1.pyctest_pow.cpython-312.opt-2.pyctest_pow.cpython-312.pyctest_pprint.cpython-312.opt-1.pyctest_pprint.cpython-312.opt-2.pyctest_pprint.cpython-312.pyctest_print.cpython-312.opt-1.pyctest_print.cpython-312.opt-2.pyctest_print.cpython-312.pyctest_profile.cpython-312.opt-1.pyctest_profile.cpython-312.opt-2.pyctest_profile.cpython-312.pyctest_property.cpython-312.opt-1.pyctest_property.cpython-312.opt-2.pyctest_property.cpython-312.pyctest_pstats.cpython-312.opt-1.pyctest_pstats.cpython-312.opt-2.pyctest_pstats.cpython-312.pyctest_pty.cpython-312.opt-1.pyctest_pty.cpython-312.opt-2.pyctest_pty.cpython-312.pyctest_pulldom.cpython-312.opt-1.pyctest_pulldom.cpython-312.opt-2.pyctest_pulldom.cpython-312.pyctest_pwd.cpython-312.opt-1.pyctest_pwd.cpython-312.opt-2.pyctest_pwd.cpython-312.pyctest_py_compile.cpython-312.opt-1.pyctest_py_compile.cpython-312.opt-2.pyctest_py_compile.cpython-312.pyctest_pyclbr.cpython-312.opt-1.pyctest_pyclbr.cpython-312.opt-2.pyctest_pyclbr.cpython-312.pyctest_pyexpat.cpython-312.opt-1.pyctest_pyexpat.cpython-312.opt-2.pyctest_pyexpat.cpython-312.pyctest_queue.cpython-312.opt-1.pyctest_queue.cpython-312.opt-2.pyctest_queue.cpython-312.pyctest_quopri.cpython-312.opt-1.pyctest_quopri.cpython-312.opt-2.pyctest_quopri.cpython-312.pyctest_raise.cpython-312.opt-1.pyctest_raise.cpython-312.opt-2.pyctest_raise.cpython-312.pyctest_random.cpython-312.opt-1.pyctest_random.cpython-312.opt-2.pyctest_random.cpython-312.pyctest_range.cpython-312.opt-1.pyctest_range.cpython-312.opt-2.pyctest_range.cpython-312.pyctest_re.cpython-312.opt-1.pyctest_re.cpython-312.opt-2.pyctest_re.cpython-312.pyctest_readline.cpython-312.opt-1.pyctest_readline.cpython-312.opt-2.pyctest_readline.cpython-312.pyctest_regrtest.cpython-312.opt-1.pyctest_regrtest.cpython-312.opt-2.pyctest_regrtest.cpython-312.pyctest_repl.cpython-312.opt-1.pyctest_repl.cpython-312.opt-2.pyctest_repl.cpython-312.pyctest_reprlib.cpython-312.opt-1.pyctest_reprlib.cpython-312.opt-2.pyctest_reprlib.cpython-312.pyctest_resource.cpython-312.opt-1.pyctest_resource.cpython-312.opt-2.pyctest_resource.cpython-312.pyctest_richcmp.cpython-312.opt-1.pyctest_richcmp.cpython-312.opt-2.pyctest_richcmp.cpython-312.pyctest_rlcompleter.cpython-312.opt-1.pyctest_rlcompleter.cpython-312.opt-2.pyctest_rlcompleter.cpython-312.pyctest_robotparser.cpython-312.opt-1.pyctest_robotparser.cpython-312.opt-2.pyctest_robotparser.cpython-312.pyctest_runpy.cpython-312.opt-1.pyctest_runpy.cpython-312.opt-2.pyctest_runpy.cpython-312.pyctest_sax.cpython-312.opt-1.pyctest_sax.cpython-312.opt-2.pyctest_sax.cpython-312.pyctest_sched.cpython-312.opt-1.pyctest_sched.cpython-312.opt-2.pyctest_sched.cpython-312.pyctest_scope.cpython-312.opt-1.pyctest_scope.cpython-312.opt-2.pyctest_scope.cpython-312.pyctest_script_helper.cpython-312.opt-1.pyctest_script_helper.cpython-312.opt-2.pyctest_script_helper.cpython-312.pyctest_secrets.cpython-312.opt-1.pyctest_secrets.cpython-312.opt-2.pyctest_secrets.cpython-312.pyctest_select.cpython-312.opt-1.pyctest_select.cpython-312.opt-2.pyctest_select.cpython-312.pyctest_selectors.cpython-312.opt-1.pyctest_selectors.cpython-312.opt-2.pyctest_selectors.cpython-312.pyctest_set.cpython-312.opt-1.pyctest_set.cpython-312.opt-2.pyctest_set.cpython-312.pyctest_setcomps.cpython-312.opt-1.pyctest_setcomps.cpython-312.opt-2.pyctest_setcomps.cpython-312.pyctest_shelve.cpython-312.opt-1.pyctest_shelve.cpython-312.opt-2.pyctest_shelve.cpython-312.pyctest_shlex.cpython-312.opt-1.pyctest_shlex.cpython-312.opt-2.pyctest_shlex.cpython-312.pyctest_shutil.cpython-312.opt-1.pyctest_shutil.cpython-312.opt-2.pyctest_shutil.cpython-312.pyctest_signal.cpython-312.opt-1.pyctest_signal.cpython-312.opt-2.pyctest_signal.cpython-312.pyctest_site.cpython-312.opt-1.pyctest_site.cpython-312.opt-2.pyctest_site.cpython-312.pyctest_slice.cpython-312.opt-1.pyctest_slice.cpython-312.opt-2.pyctest_slice.cpython-312.pyctest_smtplib.cpython-312.opt-1.pyctest_smtplib.cpython-312.opt-2.pyctest_smtplib.cpython-312.pyctest_smtpnet.cpython-312.opt-1.pyctest_smtpnet.cpython-312.opt-2.pyctest_smtpnet.cpython-312.pyctest_sndhdr.cpython-312.opt-1.pyctest_sndhdr.cpython-312.opt-2.pyctest_sndhdr.cpython-312.pyctest_socket.cpython-312.opt-1.pyctest_socket.cpython-312.opt-2.pyctest_socket.cpython-312.pyctest_socketserver.cpython-312.opt-1.pyctest_socketserver.cpython-312.opt-2.pyctest_socketserver.cpython-312.pyctest_sort.cpython-312.opt-1.pyctest_sort.cpython-312.opt-2.pyctest_sort.cpython-312.pyctest_source_encoding.cpython-312.opt-1.pyctest_source_encoding.cpython-312.opt-2.pyctest_source_encoding.cpython-312.pyctest_spwd.cpython-312.opt-1.pyctest_spwd.cpython-312.opt-2.pyctest_spwd.cpython-312.pyctest_ssl.cpython-312.opt-1.pyctest_ssl.cpython-312.opt-2.pyctest_ssl.cpython-312.pyctest_stable_abi_ctypes.cpython-312.opt-1.pyctest_stable_abi_ctypes.cpython-312.opt-2.pyctest_stable_abi_ctypes.cpython-312.pyctest_startfile.cpython-312.opt-1.pyctest_startfile.cpython-312.opt-2.pyctest_startfile.cpython-312.pyctest_stat.cpython-312.opt-1.pyctest_stat.cpython-312.opt-2.pyctest_stat.cpython-312.pyctest_statistics.cpython-312.opt-1.pyctest_statistics.cpython-312.opt-2.pyctest_statistics.cpython-312.pyctest_strftime.cpython-312.opt-1.pyctest_strftime.cpython-312.opt-2.pyctest_strftime.cpython-312.pyctest_string.cpython-312.opt-1.pyctest_string.cpython-312.opt-2.pyctest_string.cpython-312.pyctest_string_literals.cpython-312.opt-1.pyctest_string_literals.cpython-312.opt-2.pyctest_string_literals.cpython-312.pyctest_stringprep.cpython-312.opt-1.pyctest_stringprep.cpython-312.opt-2.pyctest_stringprep.cpython-312.pyctest_strptime.cpython-312.opt-1.pyctest_strptime.cpython-312.opt-2.pyctest_strptime.cpython-312.pyctest_strtod.cpython-312.opt-1.pyctest_strtod.cpython-312.opt-2.pyctest_strtod.cpython-312.pyctest_struct.cpython-312.opt-1.pyctest_struct.cpython-312.opt-2.pyctest_struct.cpython-312.pyctest_structseq.cpython-312.opt-1.pyctest_structseq.cpython-312.opt-2.pyctest_structseq.cpython-312.pyctest_subclassinit.cpython-312.opt-1.pyctest_subclassinit.cpython-312.opt-2.pyctest_subclassinit.cpython-312.pyctest_subprocess.cpython-312.opt-1.pyctest_subprocess.cpython-312.opt-2.pyctest_subprocess.cpython-312.pyctest_sunau.cpython-312.opt-1.pyctest_sunau.cpython-312.opt-2.pyctest_sunau.cpython-312.pyctest_sundry.cpython-312.opt-1.pyctest_sundry.cpython-312.opt-2.pyctest_sundry.cpython-312.pyctest_super.cpython-312.opt-1.pyctest_super.cpython-312.opt-2.pyctest_super.cpython-312.pyctest_support.cpython-312.opt-1.pyctest_support.cpython-312.opt-2.pyctest_support.cpython-312.pyctest_symtable.cpython-312.opt-1.pyctest_symtable.cpython-312.opt-2.pyctest_symtable.cpython-312.pyctest_syntax.cpython-312.opt-1.pyctest_syntax.cpython-312.opt-2.pyctest_syntax.cpython-312.pyctest_sys.cpython-312.opt-1.pyctest_sys.cpython-312.opt-2.pyctest_sys.cpython-312.pyctest_sys_setprofile.cpython-312.opt-1.pyctest_sys_setprofile.cpython-312.opt-2.pyctest_sys_setprofile.cpython-312.pyctest_sys_settrace.cpython-312.opt-1.pyctest_sys_settrace.cpython-312.opt-2.pyctest_sys_settrace.cpython-312.pyctest_sysconfig.cpython-312.opt-1.pyctest_sysconfig.cpython-312.opt-2.pyctest_sysconfig.cpython-312.pyctest_syslog.cpython-312.opt-1.pyctest_syslog.cpython-312.opt-2.pyctest_syslog.cpython-312.pyctest_tabnanny.cpython-312.opt-1.pyctest_tabnanny.cpython-312.opt-2.pyctest_tabnanny.cpython-312.pyctest_tarfile.cpython-312.opt-1.pyctest_tarfile.cpython-312.opt-2.pyctest_tarfile.cpython-312.pyctest_tcl.cpython-312.opt-1.pyctest_tcl.cpython-312.opt-2.pyctest_tcl.cpython-312.pyctest_telnetlib.cpython-312.opt-1.pyctest_telnetlib.cpython-312.opt-2.pyctest_telnetlib.cpython-312.pyctest_tempfile.cpython-312.opt-1.pyctest_tempfile.cpython-312.opt-2.pyctest_tempfile.cpython-312.pyctest_termios.cpython-312.opt-1.pyctest_termios.cpython-312.opt-2.pyctest_termios.cpython-312.pyctest_textwrap.cpython-312.opt-1.pyctest_textwrap.cpython-312.opt-2.pyctest_textwrap.cpython-312.pyctest_thread.cpython-312.opt-1.pyctest_thread.cpython-312.opt-2.pyctest_thread.cpython-312.pyctest_threadedtempfile.cpython-312.opt-1.pyctest_threadedtempfile.cpython-312.opt-2.pyctest_threadedtempfile.cpython-312.pyctest_threading.cpython-312.opt-1.pyctest_threading.cpython-312.opt-2.pyctest_threading.cpython-312.pyctest_threading_local.cpython-312.opt-1.pyctest_threading_local.cpython-312.opt-2.pyctest_threading_local.cpython-312.pyctest_threadsignals.cpython-312.opt-1.pyctest_threadsignals.cpython-312.opt-2.pyctest_threadsignals.cpython-312.pyctest_time.cpython-312.opt-1.pyctest_time.cpython-312.opt-2.pyctest_time.cpython-312.pyctest_timeit.cpython-312.opt-1.pyctest_timeit.cpython-312.opt-2.pyctest_timeit.cpython-312.pyctest_timeout.cpython-312.opt-1.pyctest_timeout.cpython-312.opt-2.pyctest_timeout.cpython-312.pyctest_tix.cpython-312.opt-1.pyctest_tix.cpython-312.opt-2.pyctest_tix.cpython-312.pyctest_tokenize.cpython-312.opt-1.pyctest_tokenize.cpython-312.opt-2.pyctest_tokenize.cpython-312.pyctest_trace.cpython-312.opt-1.pyctest_trace.cpython-312.opt-2.pyctest_trace.cpython-312.pyctest_traceback.cpython-312.opt-1.pyctest_traceback.cpython-312.opt-2.pyctest_traceback.cpython-312.pyctest_tracemalloc.cpython-312.opt-1.pyctest_tracemalloc.cpython-312.opt-2.pyctest_tracemalloc.cpython-312.pyctest_ttk_textonly.cpython-312.opt-1.pyctest_ttk_textonly.cpython-312.opt-2.pyctest_ttk_textonly.cpython-312.pyctest_tty.cpython-312.opt-1.pyctest_tty.cpython-312.opt-2.pyctest_tty.cpython-312.pyctest_tuple.cpython-312.opt-1.pyctest_tuple.cpython-312.opt-2.pyctest_tuple.cpython-312.pyctest_turtle.cpython-312.opt-1.pyctest_turtle.cpython-312.opt-2.pyctest_turtle.cpython-312.pyctest_type_aliases.cpython-312.opt-1.pyctest_type_aliases.cpython-312.opt-2.pyctest_type_aliases.cpython-312.pyctest_type_annotations.cpython-312.opt-1.pyctest_type_annotations.cpython-312.opt-2.pyctest_type_annotations.cpython-312.pyctest_type_cache.cpython-312.opt-1.pyctest_type_cache.cpython-312.opt-2.pyctest_type_cache.cpython-312.pyctest_type_comments.cpython-312.opt-1.pyctest_type_comments.cpython-312.opt-2.pyctest_type_comments.cpython-312.pyctest_type_params.cpython-312.opt-1.pyctest_type_params.cpython-312.opt-2.pyctest_type_params.cpython-312.pyctest_typechecks.cpython-312.opt-1.pyctest_typechecks.cpython-312.opt-2.pyctest_typechecks.cpython-312.pyctest_types.cpython-312.opt-1.pyctest_types.cpython-312.opt-2.pyctest_types.cpython-312.pyctest_typing.cpython-312.opt-1.pyctest_typing.cpython-312.opt-2.pyctest_typing.cpython-312.pyctest_ucn.cpython-312.opt-1.pyctest_ucn.cpython-312.opt-2.pyctest_ucn.cpython-312.pyctest_unary.cpython-312.opt-1.pyctest_unary.cpython-312.opt-2.pyctest_unary.cpython-312.pyctest_unicode.cpython-312.opt-1.pyctest_unicode.cpython-312.opt-2.pyctest_unicode.cpython-312.pyctest_unicode_file.cpython-312.opt-1.pyctest_unicode_file.cpython-312.opt-2.pyctest_unicode_file.cpython-312.pyctest_unicode_file_functions.cpython-312.opt-1.pyctest_unicode_file_functions.cpython-312.opt-2.pyctest_unicode_file_functions.cpython-312.pyctest_unicode_identifiers.cpython-312.opt-1.pyctest_unicode_identifiers.cpython-312.opt-2.pyctest_unicode_identifiers.cpython-312.pyctest_unicodedata.cpython-312.opt-1.pyctest_unicodedata.cpython-312.opt-2.pyctest_unicodedata.cpython-312.pyctest_univnewlines.cpython-312.opt-1.pyctest_univnewlines.cpython-312.opt-2.pyctest_univnewlines.cpython-312.pyctest_unpack.cpython-312.opt-1.pyctest_unpack.cpython-312.opt-2.pyctest_unpack.cpython-312.pyctest_unpack_ex.cpython-312.opt-1.pyctest_unpack_ex.cpython-312.opt-2.pyctest_unpack_ex.cpython-312.pyctest_unparse.cpython-312.opt-1.pyctest_unparse.cpython-312.opt-2.pyctest_unparse.cpython-312.pyctest_urllib.cpython-312.opt-1.pyctest_urllib.cpython-312.opt-2.pyctest_urllib.cpython-312.pyctest_urllib2.cpython-312.opt-1.pyctest_urllib2.cpython-312.opt-2.pyctest_urllib2.cpython-312.pyctest_urllib2_localnet.cpython-312.opt-1.pyctest_urllib2_localnet.cpython-312.opt-2.pyctest_urllib2_localnet.cpython-312.pyctest_urllib2net.cpython-312.opt-1.pyctest_urllib2net.cpython-312.opt-2.pyctest_urllib2net.cpython-312.pyctest_urllib_response.cpython-312.opt-1.pyctest_urllib_response.cpython-312.opt-2.pyctest_urllib_response.cpython-312.pyctest_urllibnet.cpython-312.opt-1.pyctest_urllibnet.cpython-312.opt-2.pyctest_urllibnet.cpython-312.pyctest_urlparse.cpython-312.opt-1.pyctest_urlparse.cpython-312.opt-2.pyctest_urlparse.cpython-312.pyctest_userdict.cpython-312.opt-1.pyctest_userdict.cpython-312.opt-2.pyctest_userdict.cpython-312.pyctest_userlist.cpython-312.opt-1.pyctest_userlist.cpython-312.opt-2.pyctest_userlist.cpython-312.pyctest_userstring.cpython-312.opt-1.pyctest_userstring.cpython-312.opt-2.pyctest_userstring.cpython-312.pyctest_utf8_mode.cpython-312.opt-1.pyctest_utf8_mode.cpython-312.opt-2.pyctest_utf8_mode.cpython-312.pyctest_utf8source.cpython-312.opt-1.pyctest_utf8source.cpython-312.opt-2.pyctest_utf8source.cpython-312.pyctest_uu.cpython-312.opt-1.pyctest_uu.cpython-312.opt-2.pyctest_uu.cpython-312.pyctest_uuid.cpython-312.opt-1.pyctest_uuid.cpython-312.opt-2.pyctest_uuid.cpython-312.pyctest_venv.cpython-312.opt-1.pyctest_venv.cpython-312.opt-2.pyctest_venv.cpython-312.pyctest_wait3.cpython-312.opt-1.pyctest_wait3.cpython-312.opt-2.pyctest_wait3.cpython-312.pyctest_wait4.cpython-312.opt-1.pyctest_wait4.cpython-312.opt-2.pyctest_wait4.cpython-312.pyctest_wave.cpython-312.opt-1.pyctest_wave.cpython-312.opt-2.pyctest_wave.cpython-312.pyctest_weakref.cpython-312.opt-1.pyctest_weakref.cpython-312.opt-2.pyctest_weakref.cpython-312.pyctest_weakset.cpython-312.opt-1.pyctest_weakset.cpython-312.opt-2.pyctest_weakset.cpython-312.pyctest_webbrowser.cpython-312.opt-1.pyctest_webbrowser.cpython-312.opt-2.pyctest_webbrowser.cpython-312.pyctest_winapi.cpython-312.opt-1.pyctest_winapi.cpython-312.opt-2.pyctest_winapi.cpython-312.pyctest_winconsoleio.cpython-312.opt-1.pyctest_winconsoleio.cpython-312.opt-2.pyctest_winconsoleio.cpython-312.pyctest_winreg.cpython-312.opt-1.pyctest_winreg.cpython-312.opt-2.pyctest_winreg.cpython-312.pyctest_winsound.cpython-312.opt-1.pyctest_winsound.cpython-312.opt-2.pyctest_winsound.cpython-312.pyctest_with.cpython-312.opt-1.pyctest_with.cpython-312.opt-2.pyctest_with.cpython-312.pyctest_wmi.cpython-312.opt-1.pyctest_wmi.cpython-312.opt-2.pyctest_wmi.cpython-312.pyctest_wsgiref.cpython-312.opt-1.pyctest_wsgiref.cpython-312.opt-2.pyctest_wsgiref.cpython-312.pyctest_xdrlib.cpython-312.opt-1.pyctest_xdrlib.cpython-312.opt-2.pyctest_xdrlib.cpython-312.pyctest_xml_dom_minicompat.cpython-312.opt-1.pyctest_xml_dom_minicompat.cpython-312.opt-2.pyctest_xml_dom_minicompat.cpython-312.pyctest_xml_etree.cpython-312.opt-1.pyctest_xml_etree.cpython-312.opt-2.pyctest_xml_etree.cpython-312.pyctest_xml_etree_c.cpython-312.opt-1.pyctest_xml_etree_c.cpython-312.opt-2.pyctest_xml_etree_c.cpython-312.pyctest_xmlrpc.cpython-312.opt-1.pyctest_xmlrpc.cpython-312.opt-2.pyctest_xmlrpc.cpython-312.pyctest_xmlrpc_net.cpython-312.opt-1.pyctest_xmlrpc_net.cpython-312.opt-2.pyctest_xmlrpc_net.cpython-312.pyctest_xxlimited.cpython-312.opt-1.pyctest_xxlimited.cpython-312.opt-2.pyctest_xxlimited.cpython-312.pyctest_xxtestfuzz.cpython-312.opt-1.pyctest_xxtestfuzz.cpython-312.opt-2.pyctest_xxtestfuzz.cpython-312.pyctest_yield_from.cpython-312.opt-1.pyctest_yield_from.cpython-312.opt-2.pyctest_yield_from.cpython-312.pyctest_zipapp.cpython-312.opt-1.pyctest_zipapp.cpython-312.opt-2.pyctest_zipapp.cpython-312.pyctest_zipfile64.cpython-312.opt-1.pyctest_zipfile64.cpython-312.opt-2.pyctest_zipfile64.cpython-312.pyctest_zipimport.cpython-312.opt-1.pyctest_zipimport.cpython-312.opt-2.pyctest_zipimport.cpython-312.pyctest_zipimport_support.cpython-312.opt-1.pyctest_zipimport_support.cpython-312.opt-2.pyctest_zipimport_support.cpython-312.pyctest_zlib.cpython-312.opt-1.pyctest_zlib.cpython-312.opt-2.pyctest_zlib.cpython-312.pyctestcodec.cpython-312.opt-1.pyctestcodec.cpython-312.opt-2.pyctestcodec.cpython-312.pyctf_inherit_check.cpython-312.opt-1.pyctf_inherit_check.cpython-312.opt-2.pyctf_inherit_check.cpython-312.pyctime_hashlib.cpython-312.opt-1.pyctime_hashlib.cpython-312.opt-2.pyctime_hashlib.cpython-312.pycwin_console_handler.cpython-312.opt-1.pycwin_console_handler.cpython-312.opt-2.pycwin_console_handler.cpython-312.pycxmltests.cpython-312.opt-1.pycxmltests.cpython-312.opt-2.pycxmltests.cpython-312.pyc_test_atexit.py_test_eintr.py_test_embed_set_config.py_test_embed_structseq.py_test_multiprocessing.py_test_venv_multiprocessing.pyarchiver_tests.pyaudiodatapluck-alaw.aifcpluck-pcm16.aiffpluck-pcm16.aupluck-pcm16.wavpluck-pcm24-ext.wavpluck-pcm24.aiffpluck-pcm24.aupluck-pcm24.wavpluck-pcm32.aiffpluck-pcm32.aupluck-pcm32.wavpluck-pcm8.aiffpluck-pcm8.aupluck-pcm8.wavpluck-ulaw.aifcpluck-ulaw.auaudiotest.auaudiotests.pyaudit-tests.pyautotest.pybadsyntax_pep3120.pybisect_cmd.pycertdata__pycache__make_ssl_certs.cpython-312.opt-1.pycmake_ssl_certs.cpython-312.opt-2.pycmake_ssl_certs.cpython-312.pycallsans.pembadcert.pembadkey.pemcapath4e1295a3.05ed36f99.06e88d7b8.099d0fa06.0b1930218.0ceff1710.0ffdh3072.pemidnsans.pemkeycert.passwd.pemkeycert.pemkeycert2.pemkeycert3.pemkeycert4.pemkeycertecc.pemmake_ssl_certs.pynokia.pemnosan.pemnullbytecert.pemnullcert.pempycacert.pempycakey.pemrevocation.crlsecp384r1.pemselfsigned_pythontestdotnet.pemssl_cert.pemssl_key.passwd.pemssl_key.pemtalos-2019-0758.pemcjkencodingsbig5-utf8.txtbig5.txtbig5hkscs-utf8.txtbig5hkscs.txtcp949-utf8.txtcp949.txteuc_jisx0213-utf8.txteuc_jisx0213.txteuc_jp-utf8.txteuc_jp.txteuc_kr-utf8.txteuc_kr.txtgb18030-utf8.txtgb18030.txtgb2312-utf8.txtgb2312.txtgbk-utf8.txtgbk.txthz-utf8.txthz.txtiso2022_jp-utf8.txtiso2022_jp.txtiso2022_kr-utf8.txtiso2022_kr.txtjohab-utf8.txtjohab.txtshift_jis-utf8.txtshift_jis.txtshift_jisx0213-utf8.txtshift_jisx0213.txtclinic.test.ccmath_testcases.txtconfigdatacfgparser.1cfgparser.2cfgparser.3crashersREADME__pycache__bogus_code_obj.cpython-312.opt-1.pycbogus_code_obj.cpython-312.opt-2.pycbogus_code_obj.cpython-312.pycgc_inspection.cpython-312.opt-1.pycgc_inspection.cpython-312.opt-2.pycgc_inspection.cpython-312.pycinfinite_loop_re.cpython-312.opt-1.pycinfinite_loop_re.cpython-312.opt-2.pycinfinite_loop_re.cpython-312.pycmutation_inside_cyclegc.cpython-312.opt-1.pycmutation_inside_cyclegc.cpython-312.opt-2.pycmutation_inside_cyclegc.cpython-312.pycrecursive_call.cpython-312.opt-1.pycrecursive_call.cpython-312.opt-2.pycrecursive_call.cpython-312.pyctrace_at_recursion_limit.cpython-312.opt-1.pyctrace_at_recursion_limit.cpython-312.opt-2.pyctrace_at_recursion_limit.cpython-312.pycunderlying_dict.cpython-312.opt-1.pycunderlying_dict.cpython-312.opt-2.pycunderlying_dict.cpython-312.pycbogus_code_obj.pygc_inspection.pyinfinite_loop_re.pymutation_inside_cyclegc.pyrecursive_call.pytrace_at_recursion_limit.pyunderlying_dict.pycurses_tests.pydataREADMEdatetimetester.pydecimaltestdataabs.decTestadd.decTestand.decTestbase.decTestclamp.decTestclass.decTestcompare.decTestcomparetotal.decTestcomparetotmag.decTestcopy.decTestcopyabs.decTestcopynegate.decTestcopysign.decTestddAbs.decTestddAdd.decTestddAnd.decTestddBase.decTestddCanonical.decTestddClass.decTestddCompare.decTestddCompareSig.decTestddCompareTotal.decTestddCompareTotalMag.decTestddCopy.decTestddCopyAbs.decTestddCopyNegate.decTestddCopySign.decTestddDivide.decTestddDivideInt.decTestddEncode.decTestddFMA.decTestddInvert.decTestddLogB.decTestddMax.decTestddMaxMag.decTestddMin.decTestddMinMag.decTestddMinus.decTestddMultiply.decTestddNextMinus.decTestddNextPlus.decTestddNextToward.decTestddOr.decTestddPlus.decTestddQuantize.decTestddReduce.decTestddRemainder.decTestddRemainderNear.decTestddRotate.decTestddSameQuantum.decTestddScaleB.decTestddShift.decTestddSubtract.decTestddToIntegral.decTestddXor.decTestdecDouble.decTestdecQuad.decTestdecSingle.decTestdivide.decTestdivideint.decTestdqAbs.decTestdqAdd.decTestdqAnd.decTestdqBase.decTestdqCanonical.decTestdqClass.decTestdqCompare.decTestdqCompareSig.decTestdqCompareTotal.decTestdqCompareTotalMag.decTestdqCopy.decTestdqCopyAbs.decTestdqCopyNegate.decTestdqCopySign.decTestdqDivide.decTestdqDivideInt.decTestdqEncode.decTestdqFMA.decTestdqInvert.decTestdqLogB.decTestdqMax.decTestdqMaxMag.decTestdqMin.decTestdqMinMag.decTestdqMinus.decTestdqMultiply.decTestdqNextMinus.decTestdqNextPlus.decTestdqNextToward.decTestdqOr.decTestdqPlus.decTestdqQuantize.decTestdqReduce.decTestdqRemainder.decTestdqRemainderNear.decTestdqRotate.decTestdqSameQuantum.decTestdqScaleB.decTestdqShift.decTestdqSubtract.decTestdqToIntegral.decTestdqXor.decTestdsBase.decTestdsEncode.decTestexp.decTestextra.decTestfma.decTestinexact.decTestinvert.decTestln.decTestlog10.decTestlogb.decTestmax.decTestmaxmag.decTestmin.decTestminmag.decTestminus.decTestmultiply.decTestnextminus.decTestnextplus.decTestnexttoward.decTestor.decTestplus.decTestpower.decTestpowersqrt.decTestquantize.decTestrandomBound32.decTestrandoms.decTestreduce.decTestremainder.decTestremainderNear.decTestrescale.decTestrotate.decTestrounding.decTestsamequantum.decTestscaleb.decTestshift.decTestsquareroot.decTestsubtract.decTesttestall.decTesttointegral.decTesttointegralx.decTestxor.decTestdis_module.pydtracedata__pycache__call_stack.cpython-312.opt-1.pyccall_stack.cpython-312.opt-2.pyccall_stack.cpython-312.pycgc.cpython-312.opt-1.pycgc.cpython-312.opt-2.pycgc.cpython-312.pycinstance.cpython-312.opt-1.pycinstance.cpython-312.opt-2.pycinstance.cpython-312.pycline.cpython-312.opt-1.pycline.cpython-312.opt-2.pycline.cpython-312.pycassert_usable.dassert_usable.stpcall_stack.dcall_stack.d.expectedcall_stack.pycall_stack.stpcall_stack.stp.expectedgc.dgc.d.expectedgc.pygc.stpgc.stp.expectedinstance.pyline.dline.d.expectedline.pyempty.vbsencoded_modules__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycmodule_iso_8859_1.cpython-312.opt-1.pycmodule_iso_8859_1.cpython-312.opt-2.pycmodule_iso_8859_1.cpython-312.pycmodule_koi8_r.cpython-312.opt-1.pycmodule_koi8_r.cpython-312.opt-2.pycmodule_koi8_r.cpython-312.pycmodule_iso_8859_1.pymodule_koi8_r.pyexception_hierarchy.txtfloating_points.txtfork_wait.pyformatfloat_testcases.txtieee754.txtimghdrdatapython-raw.jpgpython.bmppython.exrpython.gifpython.jpgpython.pbmpython.pgmpython.pngpython.ppmpython.raspython.sgipython.tiffpython.webppython.xbmleakersREADME.txt__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyctest_ctypes.cpython-312.opt-1.pyctest_ctypes.cpython-312.opt-2.pyctest_ctypes.cpython-312.pyctest_selftype.cpython-312.opt-1.pyctest_selftype.cpython-312.opt-2.pyctest_selftype.cpython-312.pyctest_ctypes.pytest_selftype.pylevenshtein_examples.jsonlibregrtest__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyccmdline.cpython-312.opt-1.pyccmdline.cpython-312.opt-2.pyccmdline.cpython-312.pycfilter.cpython-312.opt-1.pycfilter.cpython-312.opt-2.pycfilter.cpython-312.pycfindtests.cpython-312.opt-1.pycfindtests.cpython-312.opt-2.pycfindtests.cpython-312.pyclogger.cpython-312.opt-1.pyclogger.cpython-312.opt-2.pyclogger.cpython-312.pycmain.cpython-312.opt-1.pycmain.cpython-312.opt-2.pycmain.cpython-312.pycpgo.cpython-312.opt-1.pycpgo.cpython-312.opt-2.pycpgo.cpython-312.pycrefleak.cpython-312.opt-1.pycrefleak.cpython-312.opt-2.pycrefleak.cpython-312.pycresult.cpython-312.opt-1.pycresult.cpython-312.opt-2.pycresult.cpython-312.pycresults.cpython-312.opt-1.pycresults.cpython-312.opt-2.pycresults.cpython-312.pycrun_workers.cpython-312.opt-1.pycrun_workers.cpython-312.opt-2.pycrun_workers.cpython-312.pycruntests.cpython-312.opt-1.pycruntests.cpython-312.opt-2.pycruntests.cpython-312.pycsave_env.cpython-312.opt-1.pycsave_env.cpython-312.opt-2.pycsave_env.cpython-312.pycsetup.cpython-312.opt-1.pycsetup.cpython-312.opt-2.pycsetup.cpython-312.pycsingle.cpython-312.opt-1.pycsingle.cpython-312.opt-2.pycsingle.cpython-312.pyctestresult.cpython-312.opt-1.pyctestresult.cpython-312.opt-2.pyctestresult.cpython-312.pyctsan.cpython-312.opt-1.pyctsan.cpython-312.opt-2.pyctsan.cpython-312.pycutils.cpython-312.opt-1.pycutils.cpython-312.opt-2.pycutils.cpython-312.pycwin_utils.cpython-312.opt-1.pycwin_utils.cpython-312.opt-2.pycwin_utils.cpython-312.pycworker.cpython-312.opt-1.pycworker.cpython-312.opt-2.pycworker.cpython-312.pyccmdline.pyfilter.pyfindtests.pylogger.pymain.pymypy.inipgo.pyrefleak.pyresult.pyresults.pyrun_workers.pyruntests.pysave_env.pysetup.pysingle.pytestresult.pytsan.pyutils.pywin_utils.pyworker.pylist_tests.pylock_tests.pymailcap.txtmapping_tests.pymath_testcases.txtmemory_watchdog.pymime.typesmock_socket.pymp_fork_bomb.pymp_preload.pymultibytecodec_support.pypickletester.pyprofilee.pypstats.pckpyclbr_input.pypythoninfo.pyrandv2_32.pckrandv2_64.pckrandv3.pckre_tests.pyrecursion.tarregrtest.pyregrtestdataimport_from_tests__pycache__test_regrtest_a.cpython-312.opt-1.pyctest_regrtest_a.cpython-312.opt-2.pyctest_regrtest_a.cpython-312.pyctest_regrtest_c.cpython-312.opt-1.pyctest_regrtest_c.cpython-312.opt-2.pyctest_regrtest_c.cpython-312.pyctest_regrtest_a.pytest_regrtest_b__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycutil.cpython-312.opt-1.pycutil.cpython-312.opt-2.pycutil.cpython-312.pycutil.pytest_regrtest_c.pyrelimport.pyreperf.pyseq_tests.pysignalinterproctester.pysndhdrdataREADMEsndhdr.8svxsndhdr.aifcsndhdr.aiffsndhdr.ausndhdr.hcomsndhdr.sndtsndhdr.vocsndhdr.wavssl_servers.pyssltests.pystring_tests.pysubprocessdata__pycache__fd_status.cpython-312.opt-1.pycfd_status.cpython-312.opt-2.pycfd_status.cpython-312.pycinput_reader.cpython-312.opt-1.pycinput_reader.cpython-312.opt-2.pycinput_reader.cpython-312.pycqcat.cpython-312.opt-1.pycqcat.cpython-312.opt-2.pycqcat.cpython-312.pycqgrep.cpython-312.opt-1.pycqgrep.cpython-312.opt-2.pycqgrep.cpython-312.pycsigchild_ignore.cpython-312.opt-1.pycsigchild_ignore.cpython-312.opt-2.pycsigchild_ignore.cpython-312.pycfd_status.pyinput_reader.pyqcat.pyqgrep.pysigchild_ignore.pysupport__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycast_helper.cpython-312.opt-1.pycast_helper.cpython-312.opt-2.pycast_helper.cpython-312.pycasynchat.cpython-312.opt-1.pycasynchat.cpython-312.opt-2.pycasynchat.cpython-312.pycasyncore.cpython-312.opt-1.pycasyncore.cpython-312.opt-2.pycasyncore.cpython-312.pycbytecode_helper.cpython-312.opt-1.pycbytecode_helper.cpython-312.opt-2.pycbytecode_helper.cpython-312.pychashlib_helper.cpython-312.opt-1.pychashlib_helper.cpython-312.opt-2.pychashlib_helper.cpython-312.pychypothesis_helper.cpython-312.opt-1.pychypothesis_helper.cpython-312.opt-2.pychypothesis_helper.cpython-312.pycimport_helper.cpython-312.opt-1.pycimport_helper.cpython-312.opt-2.pycimport_helper.cpython-312.pycinterpreters.cpython-312.opt-1.pycinterpreters.cpython-312.opt-2.pycinterpreters.cpython-312.pyclogging_helper.cpython-312.opt-1.pyclogging_helper.cpython-312.opt-2.pyclogging_helper.cpython-312.pycos_helper.cpython-312.opt-1.pycos_helper.cpython-312.opt-2.pycos_helper.cpython-312.pycpty_helper.cpython-312.opt-1.pycpty_helper.cpython-312.opt-2.pycpty_helper.cpython-312.pycscript_helper.cpython-312.opt-1.pycscript_helper.cpython-312.opt-2.pycscript_helper.cpython-312.pycsmtpd.cpython-312.opt-1.pycsmtpd.cpython-312.opt-2.pycsmtpd.cpython-312.pycsocket_helper.cpython-312.opt-1.pycsocket_helper.cpython-312.opt-2.pycsocket_helper.cpython-312.pyctestcase.cpython-312.opt-1.pyctestcase.cpython-312.opt-2.pyctestcase.cpython-312.pycthreading_helper.cpython-312.opt-1.pycthreading_helper.cpython-312.opt-2.pycthreading_helper.cpython-312.pycwarnings_helper.cpython-312.opt-1.pycwarnings_helper.cpython-312.opt-2.pycwarnings_helper.cpython-312.pyc_hypothesis_stubs__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc_helpers.cpython-312.opt-1.pyc_helpers.cpython-312.opt-2.pyc_helpers.cpython-312.pycstrategies.cpython-312.opt-1.pycstrategies.cpython-312.opt-2.pycstrategies.cpython-312.pyc_helpers.pystrategies.pyast_helper.pyasynchat.pyasyncore.pybytecode_helper.pyhashlib_helper.pyhypothesis_helper.pyimport_helper.pyinterpreters.pylogging_helper.pyos_helper.pypty_helper.pyscript_helper.pysmtpd.pysocket_helper.pytestcase.pythreading_helper.pywarnings_helper.pytest___all__.pytest__locale.pytest__opcode.pytest__osx_support.pytest__xxinterpchannels.pytest__xxsubinterpreters.pytest_abc.pytest_abstract_numbers.pytest_aifc.pytest_argparse.pytest_array.pytest_asdl_parser.pytest_ast.pytest_asyncgen.pytest_asyncio__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pycecho.cpython-312.opt-1.pycecho.cpython-312.opt-2.pycecho.cpython-312.pycecho2.cpython-312.opt-1.pycecho2.cpython-312.opt-2.pycecho2.cpython-312.pycecho3.cpython-312.opt-1.pycecho3.cpython-312.opt-2.pycecho3.cpython-312.pycfunctional.cpython-312.opt-1.pycfunctional.cpython-312.opt-2.pycfunctional.cpython-312.pyctest_base_events.cpython-312.opt-1.pyctest_base_events.cpython-312.opt-2.pyctest_base_events.cpython-312.pyctest_buffered_proto.cpython-312.opt-1.pyctest_buffered_proto.cpython-312.opt-2.pyctest_buffered_proto.cpython-312.pyctest_context.cpython-312.opt-1.pyctest_context.cpython-312.opt-2.pyctest_context.cpython-312.pyctest_eager_task_factory.cpython-312.opt-1.pyctest_eager_task_factory.cpython-312.opt-2.pyctest_eager_task_factory.cpython-312.pyctest_events.cpython-312.opt-1.pyctest_events.cpython-312.opt-2.pyctest_events.cpython-312.pyctest_futures.cpython-312.opt-1.pyctest_futures.cpython-312.opt-2.pyctest_futures.cpython-312.pyctest_futures2.cpython-312.opt-1.pyctest_futures2.cpython-312.opt-2.pyctest_futures2.cpython-312.pyctest_locks.cpython-312.opt-1.pyctest_locks.cpython-312.opt-2.pyctest_locks.cpython-312.pyctest_pep492.cpython-312.opt-1.pyctest_pep492.cpython-312.opt-2.pyctest_pep492.cpython-312.pyctest_proactor_events.cpython-312.opt-1.pyctest_proactor_events.cpython-312.opt-2.pyctest_proactor_events.cpython-312.pyctest_protocols.cpython-312.opt-1.pyctest_protocols.cpython-312.opt-2.pyctest_protocols.cpython-312.pyctest_queues.cpython-312.opt-1.pyctest_queues.cpython-312.opt-2.pyctest_queues.cpython-312.pyctest_runners.cpython-312.opt-1.pyctest_runners.cpython-312.opt-2.pyctest_runners.cpython-312.pyctest_selector_events.cpython-312.opt-1.pyctest_selector_events.cpython-312.opt-2.pyctest_selector_events.cpython-312.pyctest_sendfile.cpython-312.opt-1.pyctest_sendfile.cpython-312.opt-2.pyctest_sendfile.cpython-312.pyctest_server.cpython-312.opt-1.pyctest_server.cpython-312.opt-2.pyctest_server.cpython-312.pyctest_sock_lowlevel.cpython-312.opt-1.pyctest_sock_lowlevel.cpython-312.opt-2.pyctest_sock_lowlevel.cpython-312.pyctest_ssl.cpython-312.opt-1.pyctest_ssl.cpython-312.opt-2.pyctest_ssl.cpython-312.pyctest_sslproto.cpython-312.opt-1.pyctest_sslproto.cpython-312.opt-2.pyctest_sslproto.cpython-312.pyctest_streams.cpython-312.opt-1.pyctest_streams.cpython-312.opt-2.pyctest_streams.cpython-312.pyctest_subprocess.cpython-312.opt-1.pyctest_subprocess.cpython-312.opt-2.pyctest_subprocess.cpython-312.pyctest_taskgroups.cpython-312.opt-1.pyctest_taskgroups.cpython-312.opt-2.pyctest_taskgroups.cpython-312.pyctest_tasks.cpython-312.opt-1.pyctest_tasks.cpython-312.opt-2.pyctest_tasks.cpython-312.pyctest_threads.cpython-312.opt-1.pyctest_threads.cpython-312.opt-2.pyctest_threads.cpython-312.pyctest_timeouts.cpython-312.opt-1.pyctest_timeouts.cpython-312.opt-2.pyctest_timeouts.cpython-312.pyctest_transports.cpython-312.opt-1.pyctest_transports.cpython-312.opt-2.pyctest_transports.cpython-312.pyctest_unix_events.cpython-312.opt-1.pyctest_unix_events.cpython-312.opt-2.pyctest_unix_events.cpython-312.pyctest_waitfor.cpython-312.opt-1.pyctest_waitfor.cpython-312.opt-2.pyctest_waitfor.cpython-312.pyctest_windows_events.cpython-312.opt-1.pyctest_windows_events.cpython-312.opt-2.pyctest_windows_events.cpython-312.pyctest_windows_utils.cpython-312.opt-1.pyctest_windows_utils.cpython-312.opt-2.pyctest_windows_utils.cpython-312.pycutils.cpython-312.opt-1.pycutils.cpython-312.opt-2.pycutils.cpython-312.pycecho.pyecho2.pyecho3.pyfunctional.pytest_base_events.pytest_buffered_proto.pytest_context.pytest_eager_task_factory.pytest_events.pytest_futures.pytest_futures2.pytest_locks.pytest_pep492.pytest_proactor_events.pytest_protocols.pytest_queues.pytest_runners.pytest_selector_events.pytest_sendfile.pytest_server.pytest_sock_lowlevel.pytest_ssl.pytest_sslproto.pytest_streams.pytest_subprocess.pytest_taskgroups.pytest_tasks.pytest_threads.pytest_timeouts.pytest_transports.pytest_unix_events.pytest_waitfor.pytest_windows_events.pytest_windows_utils.pyutils.pytest_atexit.pytest_audioop.pytest_audit.pytest_augassign.pytest_base64.pytest_baseexception.pytest_bdb.pytest_bigaddrspace.pytest_bigmem.pytest_binascii.pytest_binop.pytest_bisect.pytest_bool.pytest_buffer.pytest_bufio.pytest_builtin.pytest_bytes.pytest_bz2.pytest_c_locale_coercion.pytest_calendar.pytest_call.pytest_capi__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyccheck_config.cpython-312.opt-1.pyccheck_config.cpython-312.opt-2.pyccheck_config.cpython-312.pyctest_abstract.cpython-312.opt-1.pyctest_abstract.cpython-312.opt-2.pyctest_abstract.cpython-312.pyctest_bytearray.cpython-312.opt-1.pyctest_bytearray.cpython-312.opt-2.pyctest_bytearray.cpython-312.pyctest_bytes.cpython-312.opt-1.pyctest_bytes.cpython-312.opt-2.pyctest_bytes.cpython-312.pyctest_codecs.cpython-312.opt-1.pyctest_codecs.cpython-312.opt-2.pyctest_codecs.cpython-312.pyctest_complex.cpython-312.opt-1.pyctest_complex.cpython-312.opt-2.pyctest_complex.cpython-312.pyctest_dict.cpython-312.opt-1.pyctest_dict.cpython-312.opt-2.pyctest_dict.cpython-312.pyctest_eval_code_ex.cpython-312.opt-1.pyctest_eval_code_ex.cpython-312.opt-2.pyctest_eval_code_ex.cpython-312.pyctest_exceptions.cpython-312.opt-1.pyctest_exceptions.cpython-312.opt-2.pyctest_exceptions.cpython-312.pyctest_float.cpython-312.opt-1.pyctest_float.cpython-312.opt-2.pyctest_float.cpython-312.pyctest_getargs.cpython-312.opt-1.pyctest_getargs.cpython-312.opt-2.pyctest_getargs.cpython-312.pyctest_immortal.cpython-312.opt-1.pyctest_immortal.cpython-312.opt-2.pyctest_immortal.cpython-312.pyctest_list.cpython-312.opt-1.pyctest_list.cpython-312.opt-2.pyctest_list.cpython-312.pyctest_long.cpython-312.opt-1.pyctest_long.cpython-312.opt-2.pyctest_long.cpython-312.pyctest_mem.cpython-312.opt-1.pyctest_mem.cpython-312.opt-2.pyctest_mem.cpython-312.pyctest_misc.cpython-312.opt-1.pyctest_misc.cpython-312.opt-2.pyctest_misc.cpython-312.pyctest_run.cpython-312.opt-1.pyctest_run.cpython-312.opt-2.pyctest_run.cpython-312.pyctest_set.cpython-312.opt-1.pyctest_set.cpython-312.opt-2.pyctest_set.cpython-312.pyctest_structmembers.cpython-312.opt-1.pyctest_structmembers.cpython-312.opt-2.pyctest_structmembers.cpython-312.pyctest_sys.cpython-312.opt-1.pyctest_sys.cpython-312.opt-2.pyctest_sys.cpython-312.pyctest_unicode.cpython-312.opt-1.pyctest_unicode.cpython-312.opt-2.pyctest_unicode.cpython-312.pyctest_watchers.cpython-312.opt-1.pyctest_watchers.cpython-312.opt-2.pyctest_watchers.cpython-312.pyccheck_config.pytest_abstract.pytest_bytearray.pytest_bytes.pytest_codecs.pytest_complex.pytest_dict.pytest_eval_code_ex.pytest_exceptions.pytest_float.pytest_getargs.pytest_immortal.pytest_list.pytest_long.pytest_mem.pytest_misc.pytest_run.pytest_set.pytest_structmembers.pytest_sys.pytest_unicode.pytest_watchers.pytest_cgi.pytest_cgitb.pytest_charmapcodec.pytest_class.pytest_clinic.pytest_cmath.pytest_cmd.pytest_cmd_line.pytest_cmd_line_script.pytest_code.pytest_code_module.pytest_codeccallbacks.pytest_codecencodings_cn.pytest_codecencodings_hk.pytest_codecencodings_iso2022.pytest_codecencodings_jp.pytest_codecencodings_kr.pytest_codecencodings_tw.pytest_codecmaps_cn.pytest_codecmaps_hk.pytest_codecmaps_jp.pytest_codecmaps_kr.pytest_codecmaps_tw.pytest_codecs.pytest_codeop.pytest_collections.pytest_colorsys.pytest_compare.pytest_compile.pytest_compileall.pytest_compiler_assemble.pytest_compiler_codegen.pytest_complex.pytest_concurrent_futures__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycexecutor.cpython-312.opt-1.pycexecutor.cpython-312.opt-2.pycexecutor.cpython-312.pyctest_as_completed.cpython-312.opt-1.pyctest_as_completed.cpython-312.opt-2.pyctest_as_completed.cpython-312.pyctest_deadlock.cpython-312.opt-1.pyctest_deadlock.cpython-312.opt-2.pyctest_deadlock.cpython-312.pyctest_future.cpython-312.opt-1.pyctest_future.cpython-312.opt-2.pyctest_future.cpython-312.pyctest_init.cpython-312.opt-1.pyctest_init.cpython-312.opt-2.pyctest_init.cpython-312.pyctest_process_pool.cpython-312.opt-1.pyctest_process_pool.cpython-312.opt-2.pyctest_process_pool.cpython-312.pyctest_shutdown.cpython-312.opt-1.pyctest_shutdown.cpython-312.opt-2.pyctest_shutdown.cpython-312.pyctest_thread_pool.cpython-312.opt-1.pyctest_thread_pool.cpython-312.opt-2.pyctest_thread_pool.cpython-312.pyctest_wait.cpython-312.opt-1.pyctest_wait.cpython-312.opt-2.pyctest_wait.cpython-312.pycutil.cpython-312.opt-1.pycutil.cpython-312.opt-2.pycutil.cpython-312.pycexecutor.pytest_as_completed.pytest_deadlock.pytest_future.pytest_init.pytest_process_pool.pytest_shutdown.pytest_thread_pool.pytest_wait.pyutil.pytest_configparser.pytest_contains.pytest_context.pytest_contextlib.pytest_contextlib_async.pytest_copy.pytest_copyreg.pytest_coroutines.pytest_cppext__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycsetup.cpython-312.opt-1.pycsetup.cpython-312.opt-2.pycsetup.cpython-312.pycextension.cppsetup.pytest_cprofile.pytest_crashers.pytest_crypt.pytest_csv.pytest_ctypes__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_anon.cpython-312.opt-1.pyctest_anon.cpython-312.opt-2.pyctest_anon.cpython-312.pyctest_array_in_pointer.cpython-312.opt-1.pyctest_array_in_pointer.cpython-312.opt-2.pyctest_array_in_pointer.cpython-312.pyctest_arrays.cpython-312.opt-1.pyctest_arrays.cpython-312.opt-2.pyctest_arrays.cpython-312.pyctest_as_parameter.cpython-312.opt-1.pyctest_as_parameter.cpython-312.opt-2.pyctest_as_parameter.cpython-312.pyctest_bitfields.cpython-312.opt-1.pyctest_bitfields.cpython-312.opt-2.pyctest_bitfields.cpython-312.pyctest_buffers.cpython-312.opt-1.pyctest_buffers.cpython-312.opt-2.pyctest_buffers.cpython-312.pyctest_bytes.cpython-312.opt-1.pyctest_bytes.cpython-312.opt-2.pyctest_bytes.cpython-312.pyctest_byteswap.cpython-312.opt-1.pyctest_byteswap.cpython-312.opt-2.pyctest_byteswap.cpython-312.pyctest_callbacks.cpython-312.opt-1.pyctest_callbacks.cpython-312.opt-2.pyctest_callbacks.cpython-312.pyctest_cast.cpython-312.opt-1.pyctest_cast.cpython-312.opt-2.pyctest_cast.cpython-312.pyctest_cfuncs.cpython-312.opt-1.pyctest_cfuncs.cpython-312.opt-2.pyctest_cfuncs.cpython-312.pyctest_checkretval.cpython-312.opt-1.pyctest_checkretval.cpython-312.opt-2.pyctest_checkretval.cpython-312.pyctest_delattr.cpython-312.opt-1.pyctest_delattr.cpython-312.opt-2.pyctest_delattr.cpython-312.pyctest_errno.cpython-312.opt-1.pyctest_errno.cpython-312.opt-2.pyctest_errno.cpython-312.pyctest_find.cpython-312.opt-1.pyctest_find.cpython-312.opt-2.pyctest_find.cpython-312.pyctest_frombuffer.cpython-312.opt-1.pyctest_frombuffer.cpython-312.opt-2.pyctest_frombuffer.cpython-312.pyctest_funcptr.cpython-312.opt-1.pyctest_funcptr.cpython-312.opt-2.pyctest_funcptr.cpython-312.pyctest_functions.cpython-312.opt-1.pyctest_functions.cpython-312.opt-2.pyctest_functions.cpython-312.pyctest_incomplete.cpython-312.opt-1.pyctest_incomplete.cpython-312.opt-2.pyctest_incomplete.cpython-312.pyctest_init.cpython-312.opt-1.pyctest_init.cpython-312.opt-2.pyctest_init.cpython-312.pyctest_internals.cpython-312.opt-1.pyctest_internals.cpython-312.opt-2.pyctest_internals.cpython-312.pyctest_keeprefs.cpython-312.opt-1.pyctest_keeprefs.cpython-312.opt-2.pyctest_keeprefs.cpython-312.pyctest_libc.cpython-312.opt-1.pyctest_libc.cpython-312.opt-2.pyctest_libc.cpython-312.pyctest_loading.cpython-312.opt-1.pyctest_loading.cpython-312.opt-2.pyctest_loading.cpython-312.pyctest_macholib.cpython-312.opt-1.pyctest_macholib.cpython-312.opt-2.pyctest_macholib.cpython-312.pyctest_memfunctions.cpython-312.opt-1.pyctest_memfunctions.cpython-312.opt-2.pyctest_memfunctions.cpython-312.pyctest_numbers.cpython-312.opt-1.pyctest_numbers.cpython-312.opt-2.pyctest_numbers.cpython-312.pyctest_objects.cpython-312.opt-1.pyctest_objects.cpython-312.opt-2.pyctest_objects.cpython-312.pyctest_parameters.cpython-312.opt-1.pyctest_parameters.cpython-312.opt-2.pyctest_parameters.cpython-312.pyctest_pep3118.cpython-312.opt-1.pyctest_pep3118.cpython-312.opt-2.pyctest_pep3118.cpython-312.pyctest_pickling.cpython-312.opt-1.pyctest_pickling.cpython-312.opt-2.pyctest_pickling.cpython-312.pyctest_pointers.cpython-312.opt-1.pyctest_pointers.cpython-312.opt-2.pyctest_pointers.cpython-312.pyctest_prototypes.cpython-312.opt-1.pyctest_prototypes.cpython-312.opt-2.pyctest_prototypes.cpython-312.pyctest_python_api.cpython-312.opt-1.pyctest_python_api.cpython-312.opt-2.pyctest_python_api.cpython-312.pyctest_random_things.cpython-312.opt-1.pyctest_random_things.cpython-312.opt-2.pyctest_random_things.cpython-312.pyctest_refcounts.cpython-312.opt-1.pyctest_refcounts.cpython-312.opt-2.pyctest_refcounts.cpython-312.pyctest_repr.cpython-312.opt-1.pyctest_repr.cpython-312.opt-2.pyctest_repr.cpython-312.pyctest_returnfuncptrs.cpython-312.opt-1.pyctest_returnfuncptrs.cpython-312.opt-2.pyctest_returnfuncptrs.cpython-312.pyctest_simplesubclasses.cpython-312.opt-1.pyctest_simplesubclasses.cpython-312.opt-2.pyctest_simplesubclasses.cpython-312.pyctest_sizes.cpython-312.opt-1.pyctest_sizes.cpython-312.opt-2.pyctest_sizes.cpython-312.pyctest_slicing.cpython-312.opt-1.pyctest_slicing.cpython-312.opt-2.pyctest_slicing.cpython-312.pyctest_stringptr.cpython-312.opt-1.pyctest_stringptr.cpython-312.opt-2.pyctest_stringptr.cpython-312.pyctest_strings.cpython-312.opt-1.pyctest_strings.cpython-312.opt-2.pyctest_strings.cpython-312.pyctest_struct_fields.cpython-312.opt-1.pyctest_struct_fields.cpython-312.opt-2.pyctest_struct_fields.cpython-312.pyctest_structures.cpython-312.opt-1.pyctest_structures.cpython-312.opt-2.pyctest_structures.cpython-312.pyctest_unaligned_structures.cpython-312.opt-1.pyctest_unaligned_structures.cpython-312.opt-2.pyctest_unaligned_structures.cpython-312.pyctest_unicode.cpython-312.opt-1.pyctest_unicode.cpython-312.opt-2.pyctest_unicode.cpython-312.pyctest_values.cpython-312.opt-1.pyctest_values.cpython-312.opt-2.pyctest_values.cpython-312.pyctest_varsize_struct.cpython-312.opt-1.pyctest_varsize_struct.cpython-312.opt-2.pyctest_varsize_struct.cpython-312.pyctest_win32.cpython-312.opt-1.pyctest_win32.cpython-312.opt-2.pyctest_win32.cpython-312.pyctest_wintypes.cpython-312.opt-1.pyctest_wintypes.cpython-312.opt-2.pyctest_wintypes.cpython-312.pyctest_anon.pytest_array_in_pointer.pytest_arrays.pytest_as_parameter.pytest_bitfields.pytest_buffers.pytest_bytes.pytest_byteswap.pytest_callbacks.pytest_cast.pytest_cfuncs.pytest_checkretval.pytest_delattr.pytest_errno.pytest_find.pytest_frombuffer.pytest_funcptr.pytest_functions.pytest_incomplete.pytest_init.pytest_internals.pytest_keeprefs.pytest_libc.pytest_loading.pytest_macholib.pytest_memfunctions.pytest_numbers.pytest_objects.pytest_parameters.pytest_pep3118.pytest_pickling.pytest_pointers.pytest_prototypes.pytest_python_api.pytest_random_things.pytest_refcounts.pytest_repr.pytest_returnfuncptrs.pytest_simplesubclasses.pytest_sizes.pytest_slicing.pytest_stringptr.pytest_strings.pytest_struct_fields.pytest_structures.pytest_unaligned_structures.pytest_unicode.pytest_values.pytest_varsize_struct.pytest_win32.pytest_wintypes.pytest_curses.pytest_dataclasses__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycdataclass_module_1.cpython-312.opt-1.pycdataclass_module_1.cpython-312.opt-2.pycdataclass_module_1.cpython-312.pycdataclass_module_1_str.cpython-312.opt-1.pycdataclass_module_1_str.cpython-312.opt-2.pycdataclass_module_1_str.cpython-312.pycdataclass_module_2.cpython-312.opt-1.pycdataclass_module_2.cpython-312.opt-2.pycdataclass_module_2.cpython-312.pycdataclass_module_2_str.cpython-312.opt-1.pycdataclass_module_2_str.cpython-312.opt-2.pycdataclass_module_2_str.cpython-312.pycdataclass_textanno.cpython-312.opt-1.pycdataclass_textanno.cpython-312.opt-2.pycdataclass_textanno.cpython-312.pycdataclass_module_1.pydataclass_module_1_str.pydataclass_module_2.pydataclass_module_2_str.pydataclass_textanno.pytest_datetime.pytest_dbm.pytest_dbm_dumb.pytest_dbm_gnu.pytest_dbm_ndbm.pytest_decimal.pytest_decorators.pytest_defaultdict.pytest_deque.pytest_descr.pytest_descrtut.pytest_devpoll.pytest_dict.pytest_dict_version.pytest_dictcomps.pytest_dictviews.pytest_difflib.pytest_difflib_expect.htmltest_dis.pytest_doctest__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycdecorator_mod.cpython-312.opt-1.pycdecorator_mod.cpython-312.opt-2.pycdecorator_mod.cpython-312.pycdoctest_aliases.cpython-312.opt-1.pycdoctest_aliases.cpython-312.opt-2.pycdoctest_aliases.cpython-312.pycdoctest_lineno.cpython-312.opt-1.pycdoctest_lineno.cpython-312.opt-2.pycdoctest_lineno.cpython-312.pycsample_doctest.cpython-312.opt-1.pycsample_doctest.cpython-312.opt-2.pycsample_doctest.cpython-312.pycsample_doctest_no_docstrings.cpython-312.opt-1.pycsample_doctest_no_docstrings.cpython-312.opt-2.pycsample_doctest_no_docstrings.cpython-312.pycsample_doctest_no_doctests.cpython-312.opt-1.pycsample_doctest_no_doctests.cpython-312.opt-2.pycsample_doctest_no_doctests.cpython-312.pyctest_doctest.cpython-312.opt-1.pyctest_doctest.cpython-312.opt-2.pyctest_doctest.cpython-312.pyctest_doctest2.cpython-312.opt-1.pyctest_doctest2.cpython-312.opt-2.pyctest_doctest2.cpython-312.pycdecorator_mod.pydoctest_aliases.pydoctest_lineno.pysample_doctest.pysample_doctest_no_docstrings.pysample_doctest_no_doctests.pytest_doctest.pytest_doctest.txttest_doctest2.pytest_doctest2.txttest_doctest3.txttest_doctest4.txttest_docxmlrpc.pytest_dtrace.pytest_dynamic.pytest_dynamicclassattribute.pytest_eintr.pytest_email__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest__encoded_words.cpython-312.opt-1.pyctest__encoded_words.cpython-312.opt-2.pyctest__encoded_words.cpython-312.pyctest__header_value_parser.cpython-312.opt-1.pyctest__header_value_parser.cpython-312.opt-2.pyctest__header_value_parser.cpython-312.pyctest_asian_codecs.cpython-312.opt-1.pyctest_asian_codecs.cpython-312.opt-2.pyctest_asian_codecs.cpython-312.pyctest_contentmanager.cpython-312.opt-1.pyctest_contentmanager.cpython-312.opt-2.pyctest_contentmanager.cpython-312.pyctest_defect_handling.cpython-312.opt-1.pyctest_defect_handling.cpython-312.opt-2.pyctest_defect_handling.cpython-312.pyctest_email.cpython-312.opt-1.pyctest_email.cpython-312.opt-2.pyctest_email.cpython-312.pyctest_generator.cpython-312.opt-1.pyctest_generator.cpython-312.opt-2.pyctest_generator.cpython-312.pyctest_headerregistry.cpython-312.opt-1.pyctest_headerregistry.cpython-312.opt-2.pyctest_headerregistry.cpython-312.pyctest_inversion.cpython-312.opt-1.pyctest_inversion.cpython-312.opt-2.pyctest_inversion.cpython-312.pyctest_message.cpython-312.opt-1.pyctest_message.cpython-312.opt-2.pyctest_message.cpython-312.pyctest_parser.cpython-312.opt-1.pyctest_parser.cpython-312.opt-2.pyctest_parser.cpython-312.pyctest_pickleable.cpython-312.opt-1.pyctest_pickleable.cpython-312.opt-2.pyctest_pickleable.cpython-312.pyctest_policy.cpython-312.opt-1.pyctest_policy.cpython-312.opt-2.pyctest_policy.cpython-312.pyctest_utils.cpython-312.opt-1.pyctest_utils.cpython-312.opt-2.pyctest_utils.cpython-312.pyctorture_test.cpython-312.opt-1.pyctorture_test.cpython-312.opt-2.pyctorture_test.cpython-312.pycdatamsg_01.txtmsg_02.txtmsg_03.txtmsg_04.txtmsg_05.txtmsg_06.txtmsg_07.txtmsg_08.txtmsg_09.txtmsg_10.txtmsg_11.txtmsg_12.txtmsg_12a.txtmsg_13.txtmsg_14.txtmsg_15.txtmsg_16.txtmsg_17.txtmsg_18.txtmsg_19.txtmsg_20.txtmsg_21.txtmsg_22.txtmsg_23.txtmsg_24.txtmsg_25.txtmsg_26.txtmsg_27.txtmsg_28.txtmsg_29.txtmsg_30.txtmsg_31.txtmsg_32.txtmsg_33.txtmsg_34.txtmsg_35.txtmsg_36.txtmsg_37.txtmsg_38.txtmsg_39.txtmsg_40.txtmsg_41.txtmsg_42.txtmsg_43.txtmsg_44.txtmsg_45.txtmsg_46.txtmsg_47.txtpython.bmppython.exrpython.gifpython.jpgpython.pbmpython.pgmpython.pngpython.ppmpython.raspython.sgipython.tiffpython.webppython.xbmsndhdr.aifcsndhdr.aiffsndhdr.ausndhdr.wavtest__encoded_words.pytest__header_value_parser.pytest_asian_codecs.pytest_contentmanager.pytest_defect_handling.pytest_email.pytest_generator.pytest_headerregistry.pytest_inversion.pytest_message.pytest_parser.pytest_pickleable.pytest_policy.pytest_utils.pytorture_test.pytest_embed.pytest_ensurepip.pytest_enum.pytest_enumerate.pytest_eof.pytest_epoll.pytest_errno.pytest_except_star.pytest_exception_group.pytest_exception_hierarchy.pytest_exception_variations.pytest_exceptions.pytest_extcall.pytest_faulthandler.pytest_fcntl.pytest_file.pytest_file_eintr.pytest_filecmp.pytest_fileinput.pytest_fileio.pytest_fileutils.pytest_finalization.pytest_float.pytest_flufl.pytest_fnmatch.pytest_fork1.pytest_format.pytest_fractions.pytest_frame.pytest_frozen.pytest_fstring.pytest_ftplib.pytest_funcattrs.pytest_functools.pytest_future_stmt__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycfuture_test1.cpython-312.opt-1.pycfuture_test1.cpython-312.opt-2.pycfuture_test1.cpython-312.pycfuture_test2.cpython-312.opt-1.pycfuture_test2.cpython-312.opt-2.pycfuture_test2.cpython-312.pyctest_future.cpython-312.opt-1.pyctest_future.cpython-312.opt-2.pyctest_future.cpython-312.pyctest_future_flags.cpython-312.opt-1.pyctest_future_flags.cpython-312.opt-2.pyctest_future_flags.cpython-312.pyctest_future_multiple_features.cpython-312.opt-1.pyctest_future_multiple_features.cpython-312.opt-2.pyctest_future_multiple_features.cpython-312.pyctest_future_multiple_imports.cpython-312.opt-1.pyctest_future_multiple_imports.cpython-312.opt-2.pyctest_future_multiple_imports.cpython-312.pyctest_future_single_import.cpython-312.opt-1.pyctest_future_single_import.cpython-312.opt-2.pyctest_future_single_import.cpython-312.pycbadsyntax_future10.pybadsyntax_future3.pybadsyntax_future4.pybadsyntax_future5.pybadsyntax_future6.pybadsyntax_future7.pybadsyntax_future8.pybadsyntax_future9.pyfuture_test1.pyfuture_test2.pytest_future.pytest_future_flags.pytest_future_multiple_features.pytest_future_multiple_imports.pytest_future_single_import.pytest_gc.pytest_gdb__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycgdb_sample.cpython-312.opt-1.pycgdb_sample.cpython-312.opt-2.pycgdb_sample.cpython-312.pyctest_backtrace.cpython-312.opt-1.pyctest_backtrace.cpython-312.opt-2.pyctest_backtrace.cpython-312.pyctest_cfunction.cpython-312.opt-1.pyctest_cfunction.cpython-312.opt-2.pyctest_cfunction.cpython-312.pyctest_cfunction_full.cpython-312.opt-1.pyctest_cfunction_full.cpython-312.opt-2.pyctest_cfunction_full.cpython-312.pyctest_misc.cpython-312.opt-1.pyctest_misc.cpython-312.opt-2.pyctest_misc.cpython-312.pyctest_pretty_print.cpython-312.opt-1.pyctest_pretty_print.cpython-312.opt-2.pyctest_pretty_print.cpython-312.pycutil.cpython-312.opt-1.pycutil.cpython-312.opt-2.pycutil.cpython-312.pycgdb_sample.pytest_backtrace.pytest_cfunction.pytest_cfunction_full.pytest_misc.pytest_pretty_print.pyutil.pytest_generator_stop.pytest_generators.pytest_genericalias.pytest_genericclass.pytest_genericpath.pytest_genexps.pytest_getopt.pytest_getpass.pytest_getpath.pytest_gettext.pytest_glob.pytest_global.pytest_grammar.pytest_graphlib.pytest_grp.pytest_gzip.pytest_hash.pytest_hashlib.pytest_heapq.pytest_hmac.pytest_html.pytest_htmlparser.pytest_http_cookiejar.pytest_http_cookies.pytest_httplib.pytest_httpservers.pytest_idle.pytest_imaplib.pytest_imghdr.pytest_import__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pycdata__pycache__double_const.cpython-312.opt-1.pycdouble_const.cpython-312.opt-2.pycdouble_const.cpython-312.pyccircular_imports__pycache__basic.cpython-312.opt-1.pycbasic.cpython-312.opt-2.pycbasic.cpython-312.pycbasic2.cpython-312.opt-1.pycbasic2.cpython-312.opt-2.pycbasic2.cpython-312.pycbinding.cpython-312.opt-1.pycbinding.cpython-312.opt-2.pycbinding.cpython-312.pycbinding2.cpython-312.opt-1.pycbinding2.cpython-312.opt-2.pycbinding2.cpython-312.pycfrom_cycle1.cpython-312.opt-1.pycfrom_cycle1.cpython-312.opt-2.pycfrom_cycle1.cpython-312.pycfrom_cycle2.cpython-312.opt-1.pycfrom_cycle2.cpython-312.opt-2.pycfrom_cycle2.cpython-312.pycindirect.cpython-312.opt-1.pycindirect.cpython-312.opt-2.pycindirect.cpython-312.pycrebinding.cpython-312.opt-1.pycrebinding.cpython-312.opt-2.pycrebinding.cpython-312.pycrebinding2.cpython-312.opt-1.pycrebinding2.cpython-312.opt-2.pycrebinding2.cpython-312.pycsource.cpython-312.opt-1.pycsource.cpython-312.opt-2.pycsource.cpython-312.pycsubpackage.cpython-312.opt-1.pycsubpackage.cpython-312.opt-2.pycsubpackage.cpython-312.pycuse.cpython-312.opt-1.pycuse.cpython-312.opt-2.pycuse.cpython-312.pycutil.cpython-312.opt-1.pycutil.cpython-312.opt-2.pycutil.cpython-312.pycbasic.pybasic2.pybinding.pybinding2.pyfrom_cycle1.pyfrom_cycle2.pyindirect.pyrebinding.pyrebinding2.pysource.pysubpackage.pysubpkg__pycache__subpackage2.cpython-312.opt-1.pycsubpackage2.cpython-312.opt-2.pycsubpackage2.cpython-312.pycutil.cpython-312.opt-1.pycutil.cpython-312.opt-2.pycutil.cpython-312.pycsubpackage2.pyutil.pysubpkg2__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycparent__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycchild.cpython-312.opt-1.pycchild.cpython-312.opt-2.pycchild.cpython-312.pycchild.pyuse.pyutil.pydouble_const.pypackage__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycsubmodule.cpython-312.opt-1.pycsubmodule.cpython-312.opt-2.pycsubmodule.cpython-312.pycsubmodule.pypackage2__pycache__submodule1.cpython-312.opt-1.pycsubmodule1.cpython-312.opt-2.pycsubmodule1.cpython-312.pycsubmodule2.cpython-312.opt-1.pycsubmodule2.cpython-312.opt-2.pycsubmodule2.cpython-312.pycsubmodule1.pysubmodule2.pypackage3__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycsubmodule.cpython-312.opt-1.pycsubmodule.cpython-312.opt-2.pycsubmodule.cpython-312.pycsubmodule.pypackage4__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycsubmodule.cpython-312.opt-1.pycsubmodule.cpython-312.opt-2.pycsubmodule.cpython-312.pycsubmodule.pyunwritable__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycx.cpython-312.opt-1.pycx.cpython-312.opt-2.pycx.cpython-312.pycx.pytest_importlib__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyc_context.cpython-312.opt-1.pyc_context.cpython-312.opt-2.pyc_context.cpython-312.pyc_path.cpython-312.opt-1.pyc_path.cpython-312.opt-2.pyc_path.cpython-312.pycabc.cpython-312.opt-1.pycabc.cpython-312.opt-2.pycabc.cpython-312.pycfixtures.cpython-312.opt-1.pycfixtures.cpython-312.opt-2.pycfixtures.cpython-312.pycstubs.cpython-312.opt-1.pycstubs.cpython-312.opt-2.pycstubs.cpython-312.pyctest_abc.cpython-312.opt-1.pyctest_abc.cpython-312.opt-2.pyctest_abc.cpython-312.pyctest_api.cpython-312.opt-1.pyctest_api.cpython-312.opt-2.pyctest_api.cpython-312.pyctest_lazy.cpython-312.opt-1.pyctest_lazy.cpython-312.opt-2.pyctest_lazy.cpython-312.pyctest_locks.cpython-312.opt-1.pyctest_locks.cpython-312.opt-2.pyctest_locks.cpython-312.pyctest_main.cpython-312.opt-1.pyctest_main.cpython-312.opt-2.pyctest_main.cpython-312.pyctest_metadata_api.cpython-312.opt-1.pyctest_metadata_api.cpython-312.opt-2.pyctest_metadata_api.cpython-312.pyctest_namespace_pkgs.cpython-312.opt-1.pyctest_namespace_pkgs.cpython-312.opt-2.pyctest_namespace_pkgs.cpython-312.pyctest_pkg_import.cpython-312.opt-1.pyctest_pkg_import.cpython-312.opt-2.pyctest_pkg_import.cpython-312.pyctest_spec.cpython-312.opt-1.pyctest_spec.cpython-312.opt-2.pyctest_spec.cpython-312.pyctest_threaded_import.cpython-312.opt-1.pyctest_threaded_import.cpython-312.opt-2.pyctest_threaded_import.cpython-312.pyctest_util.cpython-312.opt-1.pyctest_util.cpython-312.opt-2.pyctest_util.cpython-312.pyctest_windows.cpython-312.opt-1.pyctest_windows.cpython-312.opt-2.pyctest_windows.cpython-312.pyctest_zip.cpython-312.opt-1.pyctest_zip.cpython-312.opt-2.pyctest_zip.cpython-312.pycthreaded_import_hangers.cpython-312.opt-1.pycthreaded_import_hangers.cpython-312.opt-2.pycthreaded_import_hangers.cpython-312.pycutil.cpython-312.opt-1.pycutil.cpython-312.opt-2.pycutil.cpython-312.pyc_context.py_path.pyabc.pybuiltin__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_finder.cpython-312.opt-1.pyctest_finder.cpython-312.opt-2.pyctest_finder.cpython-312.pyctest_loader.cpython-312.opt-1.pyctest_loader.cpython-312.opt-2.pyctest_loader.cpython-312.pyctest_finder.pytest_loader.pydata__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycexample-21.12-py3-none-any.whlexample-21.12-py3.6.eggexample2-1.0.0-py3-none-any.whlextension__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_case_sensitivity.cpython-312.opt-1.pyctest_case_sensitivity.cpython-312.opt-2.pyctest_case_sensitivity.cpython-312.pyctest_finder.cpython-312.opt-1.pyctest_finder.cpython-312.opt-2.pyctest_finder.cpython-312.pyctest_loader.cpython-312.opt-1.pyctest_loader.cpython-312.opt-2.pyctest_loader.cpython-312.pyctest_path_hook.cpython-312.opt-1.pyctest_path_hook.cpython-312.opt-2.pyctest_path_hook.cpython-312.pyctest_case_sensitivity.pytest_finder.pytest_loader.pytest_path_hook.pyfixtures.pyfrozen__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_finder.cpython-312.opt-1.pyctest_finder.cpython-312.opt-2.pyctest_finder.cpython-312.pyctest_loader.cpython-312.opt-1.pyctest_loader.cpython-312.opt-2.pyctest_loader.cpython-312.pyctest_finder.pytest_loader.pyimport___init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest___loader__.cpython-312.opt-1.pyctest___loader__.cpython-312.opt-2.pyctest___loader__.cpython-312.pyctest___package__.cpython-312.opt-1.pyctest___package__.cpython-312.opt-2.pyctest___package__.cpython-312.pyctest_api.cpython-312.opt-1.pyctest_api.cpython-312.opt-2.pyctest_api.cpython-312.pyctest_caching.cpython-312.opt-1.pyctest_caching.cpython-312.opt-2.pyctest_caching.cpython-312.pyctest_fromlist.cpython-312.opt-1.pyctest_fromlist.cpython-312.opt-2.pyctest_fromlist.cpython-312.pyctest_helpers.cpython-312.opt-1.pyctest_helpers.cpython-312.opt-2.pyctest_helpers.cpython-312.pyctest_meta_path.cpython-312.opt-1.pyctest_meta_path.cpython-312.opt-2.pyctest_meta_path.cpython-312.pyctest_packages.cpython-312.opt-1.pyctest_packages.cpython-312.opt-2.pyctest_packages.cpython-312.pyctest_path.cpython-312.opt-1.pyctest_path.cpython-312.opt-2.pyctest_path.cpython-312.pyctest_relative_imports.cpython-312.opt-1.pyctest_relative_imports.cpython-312.opt-2.pyctest_relative_imports.cpython-312.pyctest___loader__.pytest___package__.pytest_api.pytest_caching.pytest_fromlist.pytest_helpers.pytest_meta_path.pytest_packages.pytest_path.pytest_relative_imports.pynamespace_pkgsboth_portionsfoo__pycache__one.cpython-312.opt-1.pycone.cpython-312.opt-2.pycone.cpython-312.pyctwo.cpython-312.opt-1.pyctwo.cpython-312.opt-2.pyctwo.cpython-312.pycone.pytwo.pymissing_directory.zipmodule_and_namespace_package__pycache__a_test.cpython-312.opt-1.pyca_test.cpython-312.opt-2.pyca_test.cpython-312.pyca_testa_test.pyemptynested_portion1.zipnot_a_namespace_pkgfoo__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycone.cpython-312.opt-1.pycone.cpython-312.opt-2.pycone.cpython-312.pycone.pyportion1foo__pycache__one.cpython-312.opt-1.pycone.cpython-312.opt-2.pycone.cpython-312.pycone.pyportion2foo__pycache__two.cpython-312.opt-1.pyctwo.cpython-312.opt-2.pyctwo.cpython-312.pyctwo.pyproject1parentchild__pycache__one.cpython-312.opt-1.pycone.cpython-312.opt-2.pycone.cpython-312.pycone.pyproject2parentchild__pycache__two.cpython-312.opt-1.pyctwo.cpython-312.opt-2.pyctwo.cpython-312.pyctwo.pyproject3parentchild__pycache__three.cpython-312.opt-1.pycthree.cpython-312.opt-2.pycthree.cpython-312.pycthree.pytop_level_portion1.zippartial__pycache__cfimport.cpython-312.opt-1.pyccfimport.cpython-312.opt-2.pyccfimport.cpython-312.pycpool_in_threads.cpython-312.opt-1.pycpool_in_threads.cpython-312.opt-2.pycpool_in_threads.cpython-312.pyccfimport.pypool_in_threads.pyresources__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc_path.cpython-312.opt-1.pyc_path.cpython-312.opt-2.pyc_path.cpython-312.pyctest_compatibilty_files.cpython-312.opt-1.pyctest_compatibilty_files.cpython-312.opt-2.pyctest_compatibilty_files.cpython-312.pyctest_contents.cpython-312.opt-1.pyctest_contents.cpython-312.opt-2.pyctest_contents.cpython-312.pyctest_custom.cpython-312.opt-1.pyctest_custom.cpython-312.opt-2.pyctest_custom.cpython-312.pyctest_files.cpython-312.opt-1.pyctest_files.cpython-312.opt-2.pyctest_files.cpython-312.pyctest_open.cpython-312.opt-1.pyctest_open.cpython-312.opt-2.pyctest_open.cpython-312.pyctest_path.cpython-312.opt-1.pyctest_path.cpython-312.opt-2.pyctest_path.cpython-312.pyctest_read.cpython-312.opt-1.pyctest_read.cpython-312.opt-2.pyctest_read.cpython-312.pyctest_reader.cpython-312.opt-1.pyctest_reader.cpython-312.opt-2.pyctest_reader.cpython-312.pyctest_resource.cpython-312.opt-1.pyctest_resource.cpython-312.opt-2.pyctest_resource.cpython-312.pycupdate-zips.cpython-312.opt-1.pycupdate-zips.cpython-312.opt-2.pycupdate-zips.cpython-312.pycutil.cpython-312.opt-1.pycutil.cpython-312.opt-2.pycutil.cpython-312.pyc_path.pydata01__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycbinary.filesubdirectory__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycbinary.fileutf-16.fileutf-8.filedata02__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycone__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycresource1.txtsubdirectorysubsubdirresource.txttwo__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycresource2.txtdata03__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycnamespaceportion1__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycportion2__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycresource1.txtnamespacedata01binary.fileutf-16.fileutf-8.filetest_compatibilty_files.pytest_contents.pytest_custom.pytest_files.pytest_open.pytest_path.pytest_read.pytest_reader.pytest_resource.pyupdate-zips.pyutil.pyzipdata01__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycziptestdata.zipzipdata02__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycziptestdata.zipsource__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_case_sensitivity.cpython-312.opt-1.pyctest_case_sensitivity.cpython-312.opt-2.pyctest_case_sensitivity.cpython-312.pyctest_file_loader.cpython-312.opt-1.pyctest_file_loader.cpython-312.opt-2.pyctest_file_loader.cpython-312.pyctest_finder.cpython-312.opt-1.pyctest_finder.cpython-312.opt-2.pyctest_finder.cpython-312.pyctest_path_hook.cpython-312.opt-1.pyctest_path_hook.cpython-312.opt-2.pyctest_path_hook.cpython-312.pyctest_source_encoding.cpython-312.opt-1.pyctest_source_encoding.cpython-312.opt-2.pyctest_source_encoding.cpython-312.pyctest_case_sensitivity.pytest_file_loader.pytest_finder.pytest_path_hook.pytest_source_encoding.pystubs.pytest_abc.pytest_api.pytest_lazy.pytest_locks.pytest_main.pytest_metadata_api.pytest_namespace_pkgs.pytest_pkg_import.pytest_spec.pytest_threaded_import.pytest_util.pytest_windows.pytest_zip.pythreaded_import_hangers.pyutil.pytest_index.pytest_inspect__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycinspect_fodder.cpython-312.opt-1.pycinspect_fodder.cpython-312.opt-2.pycinspect_fodder.cpython-312.pycinspect_fodder2.cpython-312.opt-1.pycinspect_fodder2.cpython-312.opt-2.pycinspect_fodder2.cpython-312.pycinspect_stock_annotations.cpython-312.opt-1.pycinspect_stock_annotations.cpython-312.opt-2.pycinspect_stock_annotations.cpython-312.pycinspect_stringized_annotations.cpython-312.opt-1.pycinspect_stringized_annotations.cpython-312.opt-2.pycinspect_stringized_annotations.cpython-312.pycinspect_stringized_annotations_2.cpython-312.opt-1.pycinspect_stringized_annotations_2.cpython-312.opt-2.pycinspect_stringized_annotations_2.cpython-312.pyctest_inspect.cpython-312.opt-1.pyctest_inspect.cpython-312.opt-2.pyctest_inspect.cpython-312.pycinspect_fodder.pyinspect_fodder2.pyinspect_stock_annotations.pyinspect_stringized_annotations.pyinspect_stringized_annotations_2.pytest_inspect.pytest_int.pytest_int_literal.pytest_interpreters.pytest_io.pytest_ioctl.pytest_ipaddress.pytest_isinstance.pytest_iter.pytest_iterlen.pytest_itertools.pytest_json__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_decode.cpython-312.opt-1.pyctest_decode.cpython-312.opt-2.pyctest_decode.cpython-312.pyctest_default.cpython-312.opt-1.pyctest_default.cpython-312.opt-2.pyctest_default.cpython-312.pyctest_dump.cpython-312.opt-1.pyctest_dump.cpython-312.opt-2.pyctest_dump.cpython-312.pyctest_encode_basestring_ascii.cpython-312.opt-1.pyctest_encode_basestring_ascii.cpython-312.opt-2.pyctest_encode_basestring_ascii.cpython-312.pyctest_enum.cpython-312.opt-1.pyctest_enum.cpython-312.opt-2.pyctest_enum.cpython-312.pyctest_fail.cpython-312.opt-1.pyctest_fail.cpython-312.opt-2.pyctest_fail.cpython-312.pyctest_float.cpython-312.opt-1.pyctest_float.cpython-312.opt-2.pyctest_float.cpython-312.pyctest_indent.cpython-312.opt-1.pyctest_indent.cpython-312.opt-2.pyctest_indent.cpython-312.pyctest_pass1.cpython-312.opt-1.pyctest_pass1.cpython-312.opt-2.pyctest_pass1.cpython-312.pyctest_pass2.cpython-312.opt-1.pyctest_pass2.cpython-312.opt-2.pyctest_pass2.cpython-312.pyctest_pass3.cpython-312.opt-1.pyctest_pass3.cpython-312.opt-2.pyctest_pass3.cpython-312.pyctest_recursion.cpython-312.opt-1.pyctest_recursion.cpython-312.opt-2.pyctest_recursion.cpython-312.pyctest_scanstring.cpython-312.opt-1.pyctest_scanstring.cpython-312.opt-2.pyctest_scanstring.cpython-312.pyctest_separators.cpython-312.opt-1.pyctest_separators.cpython-312.opt-2.pyctest_separators.cpython-312.pyctest_speedups.cpython-312.opt-1.pyctest_speedups.cpython-312.opt-2.pyctest_speedups.cpython-312.pyctest_tool.cpython-312.opt-1.pyctest_tool.cpython-312.opt-2.pyctest_tool.cpython-312.pyctest_unicode.cpython-312.opt-1.pyctest_unicode.cpython-312.opt-2.pyctest_unicode.cpython-312.pyctest_decode.pytest_default.pytest_dump.pytest_encode_basestring_ascii.pytest_enum.pytest_fail.pytest_float.pytest_indent.pytest_pass1.pytest_pass2.pytest_pass3.pytest_recursion.pytest_scanstring.pytest_separators.pytest_speedups.pytest_tool.pytest_unicode.pytest_keyword.pytest_keywordonlyarg.pytest_kqueue.pytest_largefile.pytest_launcher.pytest_lib2to3__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pycpytree_idempotency.cpython-312.opt-1.pycpytree_idempotency.cpython-312.opt-2.pycpytree_idempotency.cpython-312.pycsupport.cpython-312.opt-1.pycsupport.cpython-312.opt-2.pycsupport.cpython-312.pyctest_all_fixers.cpython-312.opt-1.pyctest_all_fixers.cpython-312.opt-2.pyctest_all_fixers.cpython-312.pyctest_fixers.cpython-312.opt-1.pyctest_fixers.cpython-312.opt-2.pyctest_fixers.cpython-312.pyctest_main.cpython-312.opt-1.pyctest_main.cpython-312.opt-2.pyctest_main.cpython-312.pyctest_parser.cpython-312.opt-1.pyctest_parser.cpython-312.opt-2.pyctest_parser.cpython-312.pyctest_pytree.cpython-312.opt-1.pyctest_pytree.cpython-312.opt-2.pyctest_pytree.cpython-312.pyctest_refactor.cpython-312.opt-1.pyctest_refactor.cpython-312.opt-2.pyctest_refactor.cpython-312.pyctest_util.cpython-312.opt-1.pyctest_util.cpython-312.opt-2.pyctest_util.cpython-312.pycdataREADMEbom.pycrlf.pydifferent_encoding.pyfalse_encoding.pyfixersbad_order.pymyfixes__init__.pyfix_explicit.pyfix_first.pyfix_last.pyfix_parrot.pyfix_preorder.pyno_fixer_cls.pyparrot_example.pyinfinite_recursion.pypy2_test_grammar.pypy3_test_grammar.pypytree_idempotency.pysupport.pytest_all_fixers.pytest_fixers.pytest_main.pytest_parser.pytest_pytree.pytest_refactor.pytest_util.pytest_linecache.pytest_list.pytest_listcomps.pytest_lltrace.pytest_locale.pytest_logging.pytest_long.pytest_longexp.pytest_lzma.pytest_mailbox.pytest_mailcap.pytest_marshal.pytest_math.pytest_math_property.pytest_memoryio.pytest_memoryview.pytest_metaclass.pytest_mimetypes.pytest_minidom.pytest_mmap.pytest_module__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycbad_getattr.cpython-312.opt-1.pycbad_getattr.cpython-312.opt-2.pycbad_getattr.cpython-312.pycbad_getattr2.cpython-312.opt-1.pycbad_getattr2.cpython-312.opt-2.pycbad_getattr2.cpython-312.pycbad_getattr3.cpython-312.opt-1.pycbad_getattr3.cpython-312.opt-2.pycbad_getattr3.cpython-312.pycfinal_a.cpython-312.opt-1.pycfinal_a.cpython-312.opt-2.pycfinal_a.cpython-312.pycfinal_b.cpython-312.opt-1.pycfinal_b.cpython-312.opt-2.pycfinal_b.cpython-312.pycgood_getattr.cpython-312.opt-1.pycgood_getattr.cpython-312.opt-2.pycgood_getattr.cpython-312.pycbad_getattr.pybad_getattr2.pybad_getattr3.pyfinal_a.pyfinal_b.pygood_getattr.pytest_modulefinder.pytest_monitoring.pytest_msilib.pytest_multibytecodec.pytest_multiprocessing_fork__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyctest_manager.cpython-312.opt-1.pyctest_manager.cpython-312.opt-2.pyctest_manager.cpython-312.pyctest_misc.cpython-312.opt-1.pyctest_misc.cpython-312.opt-2.pyctest_misc.cpython-312.pyctest_processes.cpython-312.opt-1.pyctest_processes.cpython-312.opt-2.pyctest_processes.cpython-312.pyctest_threads.cpython-312.opt-1.pyctest_threads.cpython-312.opt-2.pyctest_threads.cpython-312.pyctest_manager.pytest_misc.pytest_processes.pytest_threads.pytest_multiprocessing_forkserver__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyctest_manager.cpython-312.opt-1.pyctest_manager.cpython-312.opt-2.pyctest_manager.cpython-312.pyctest_misc.cpython-312.opt-1.pyctest_misc.cpython-312.opt-2.pyctest_misc.cpython-312.pyctest_processes.cpython-312.opt-1.pyctest_processes.cpython-312.opt-2.pyctest_processes.cpython-312.pyctest_threads.cpython-312.opt-1.pyctest_threads.cpython-312.opt-2.pyctest_threads.cpython-312.pyctest_manager.pytest_misc.pytest_processes.pytest_threads.pytest_multiprocessing_main_handling.pytest_multiprocessing_spawn__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyctest_manager.cpython-312.opt-1.pyctest_manager.cpython-312.opt-2.pyctest_manager.cpython-312.pyctest_misc.cpython-312.opt-1.pyctest_misc.cpython-312.opt-2.pyctest_misc.cpython-312.pyctest_processes.cpython-312.opt-1.pyctest_processes.cpython-312.opt-2.pyctest_processes.cpython-312.pyctest_threads.cpython-312.opt-1.pyctest_threads.cpython-312.opt-2.pyctest_threads.cpython-312.pyctest_manager.pytest_misc.pytest_processes.pytest_threads.pytest_named_expressions.pytest_netrc.pytest_nis.pytest_nntplib.pytest_ntpath.pytest_numeric_tower.pytest_opcache.pytest_opcodes.pytest_openpty.pytest_operator.pytest_optparse.pytest_ordered_dict.pytest_os.pytest_ossaudiodev.pytest_osx_env.pytest_pathlib.pytest_patma.pytest_pdb.pytest_peepholer.pytest_peg_generator__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_c_parser.cpython-312.opt-1.pyctest_c_parser.cpython-312.opt-2.pyctest_c_parser.cpython-312.pyctest_first_sets.cpython-312.opt-1.pyctest_first_sets.cpython-312.opt-2.pyctest_first_sets.cpython-312.pyctest_grammar_validator.cpython-312.opt-1.pyctest_grammar_validator.cpython-312.opt-2.pyctest_grammar_validator.cpython-312.pyctest_pegen.cpython-312.opt-1.pyctest_pegen.cpython-312.opt-2.pyctest_pegen.cpython-312.pyctest_c_parser.pytest_first_sets.pytest_grammar_validator.pytest_pegen.pytest_pep646_syntax.pytest_perf_profiler.pytest_perfmaps.pytest_pickle.pytest_picklebuffer.pytest_pickletools.pytest_pipes.pytest_pkg.pytest_pkgutil.pytest_platform.pytest_plistlib.pytest_poll.pytest_popen.pytest_poplib.pytest_positional_only_arg.pytest_posix.pytest_posixpath.pytest_pow.pytest_pprint.pytest_print.pytest_profile.pytest_property.pytest_pstats.pytest_pty.pytest_pulldom.pytest_pwd.pytest_py_compile.pytest_pyclbr.pytest_pydoc__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pycpydoc_mod.cpython-312.opt-1.pycpydoc_mod.cpython-312.opt-2.pycpydoc_mod.cpython-312.pycpydocfodder.cpython-312.opt-1.pycpydocfodder.cpython-312.opt-2.pycpydocfodder.cpython-312.pyctest_pydoc.cpython-312.opt-1.pyctest_pydoc.cpython-312.opt-2.pyctest_pydoc.cpython-312.pycpydoc_mod.pypydocfodder.pytest_pydoc.pytest_pyexpat.pytest_queue.pytest_quopri.pytest_raise.pytest_random.pytest_range.pytest_re.pytest_readline.pytest_regrtest.pytest_repl.pytest_reprlib.pytest_resource.pytest_richcmp.pytest_rlcompleter.pytest_robotparser.pytest_runpy.pytest_sax.pytest_sched.pytest_scope.pytest_script_helper.pytest_secrets.pytest_select.pytest_selectors.pytest_set.pytest_setcomps.pytest_shelve.pytest_shlex.pytest_shutil.pytest_signal.pytest_site.pytest_slice.pytest_smtplib.pytest_smtpnet.pytest_sndhdr.pytest_socket.pytest_socketserver.pytest_sort.pytest_source_encoding.pytest_spwd.pytest_sqlite3__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_backup.cpython-312.opt-1.pyctest_backup.cpython-312.opt-2.pyctest_backup.cpython-312.pyctest_cli.cpython-312.opt-1.pyctest_cli.cpython-312.opt-2.pyctest_cli.cpython-312.pyctest_dbapi.cpython-312.opt-1.pyctest_dbapi.cpython-312.opt-2.pyctest_dbapi.cpython-312.pyctest_dump.cpython-312.opt-1.pyctest_dump.cpython-312.opt-2.pyctest_dump.cpython-312.pyctest_factory.cpython-312.opt-1.pyctest_factory.cpython-312.opt-2.pyctest_factory.cpython-312.pyctest_hooks.cpython-312.opt-1.pyctest_hooks.cpython-312.opt-2.pyctest_hooks.cpython-312.pyctest_regression.cpython-312.opt-1.pyctest_regression.cpython-312.opt-2.pyctest_regression.cpython-312.pyctest_transactions.cpython-312.opt-1.pyctest_transactions.cpython-312.opt-2.pyctest_transactions.cpython-312.pyctest_types.cpython-312.opt-1.pyctest_types.cpython-312.opt-2.pyctest_types.cpython-312.pyctest_userfunctions.cpython-312.opt-1.pyctest_userfunctions.cpython-312.opt-2.pyctest_userfunctions.cpython-312.pyctest_backup.pytest_cli.pytest_dbapi.pytest_dump.pytest_factory.pytest_hooks.pytest_regression.pytest_transactions.pytest_types.pytest_userfunctions.pytest_ssl.pytest_stable_abi_ctypes.pytest_startfile.pytest_stat.pytest_statistics.pytest_strftime.pytest_string.pytest_string_literals.pytest_stringprep.pytest_strptime.pytest_strtod.pytest_struct.pytest_structseq.pytest_subclassinit.pytest_subprocess.pytest_sunau.pytest_sundry.pytest_super.pytest_support.pytest_symtable.pytest_syntax.pytest_sys.pytest_sys_setprofile.pytest_sys_settrace.pytest_sysconfig.pytest_syslog.pytest_tabnanny.pytest_tarfile.pytest_tcl.pytest_telnetlib.pytest_tempfile.pytest_termios.pytest_textwrap.pytest_thread.pytest_threadedtempfile.pytest_threading.pytest_threading_local.pytest_threadsignals.pytest_time.pytest_timeit.pytest_timeout.pytest_tix.pytest_tkinterREADME__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pycsupport.cpython-312.opt-1.pycsupport.cpython-312.opt-2.pycsupport.cpython-312.pyctest_colorchooser.cpython-312.opt-1.pyctest_colorchooser.cpython-312.opt-2.pyctest_colorchooser.cpython-312.pyctest_font.cpython-312.opt-1.pyctest_font.cpython-312.opt-2.pyctest_font.cpython-312.pyctest_geometry_managers.cpython-312.opt-1.pyctest_geometry_managers.cpython-312.opt-2.pyctest_geometry_managers.cpython-312.pyctest_images.cpython-312.opt-1.pyctest_images.cpython-312.opt-2.pyctest_images.cpython-312.pyctest_loadtk.cpython-312.opt-1.pyctest_loadtk.cpython-312.opt-2.pyctest_loadtk.cpython-312.pyctest_messagebox.cpython-312.opt-1.pyctest_messagebox.cpython-312.opt-2.pyctest_messagebox.cpython-312.pyctest_misc.cpython-312.opt-1.pyctest_misc.cpython-312.opt-2.pyctest_misc.cpython-312.pyctest_simpledialog.cpython-312.opt-1.pyctest_simpledialog.cpython-312.opt-2.pyctest_simpledialog.cpython-312.pyctest_text.cpython-312.opt-1.pyctest_text.cpython-312.opt-2.pyctest_text.cpython-312.pyctest_variables.cpython-312.opt-1.pyctest_variables.cpython-312.opt-2.pyctest_variables.cpython-312.pyctest_widgets.cpython-312.opt-1.pyctest_widgets.cpython-312.opt-2.pyctest_widgets.cpython-312.pycwidget_tests.cpython-312.opt-1.pycwidget_tests.cpython-312.opt-2.pycwidget_tests.cpython-312.pycsupport.pytest_colorchooser.pytest_font.pytest_geometry_managers.pytest_images.pytest_loadtk.pytest_messagebox.pytest_misc.pytest_simpledialog.pytest_text.pytest_variables.pytest_widgets.pywidget_tests.pytest_tokenize.pytest_tomllib__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pycburntsushi.cpython-312.opt-1.pycburntsushi.cpython-312.opt-2.pycburntsushi.cpython-312.pyctest_data.cpython-312.opt-1.pyctest_data.cpython-312.opt-2.pyctest_data.cpython-312.pyctest_error.cpython-312.opt-1.pyctest_error.cpython-312.opt-2.pyctest_error.cpython-312.pyctest_misc.cpython-312.opt-1.pyctest_misc.cpython-312.opt-2.pyctest_misc.cpython-312.pycburntsushi.pydatainvalidarrayarray-missing-comma.tomlarray-of-tablesoverwrite-array-in-parent.tomloverwrite-bool-with-aot.tomlfile-end-after-val.tomlunclosed-after-item.tomlunclosed-empty.tomlbasic-str-ends-in-escape.tomlbooleaninvalid-false-casing.tomlinvalid-true-casing.tomldates-and-timesinvalid-day.tomldotted-keysaccess-non-table.tomlextend-defined-aot.tomlextend-defined-table-with-subtable.tomlextend-defined-table.tomlinline-tableinline-table-missing-comma.tomldefine-twice-in-subtable.tomldefine-twice.tomlfile-end-after-key-val.tomlmutate.tomloverride-val-in-table.tomloverride-val-with-array.tomloverride-val-with-table.tomloverwrite-implicitly.tomloverwrite-value-in-inner-array.tomloverwrite-value-in-inner-table.tomlunclosed-empty.tomlinvalid-comment-char.tomlinvalid-escaped-unicode.tomlinvalid-hex.tomlkeys-and-valsends-early-table-def.tomlends-early.tomlno-value.tomlonly-ws-after-dot.tomloverwrite-with-deep-table.tomlliteral-strunclosed.tomlmissing-closing-double-square-bracket.tomlmissing-closing-square-bracket.tomlmultiline-basic-strcarriage-return.tomlescape-only.tomlfile-ends-after-opening.tomllast-line-escape.tomlunclosed-ends-in-whitespace-escape.tomlmultiline-literal-strfile-ends-after-opening.tomlunclosed.tomlnon-scalar-escaped.tomltableeof-after-opening.tomlredefine-1.tomlredefine-2.tomlunclosed-multiline-string.tomlunclosed-string.tomlvalidapostrophes-in-literal-string.jsonapostrophes-in-literal-string.tomlarrayarray-subtables.jsonarray-subtables.tomlopen-parent-table.jsonopen-parent-table.tomlboolean.jsonboolean.tomldates-and-timesdatetimes.jsondatetimes.tomllocaltime.jsonlocaltime.tomlempty-inline-table.jsonempty-inline-table.tomlfive-quotes.jsonfive-quotes.tomlhex-char.jsonhex-char.tomlmultiline-basic-strends-in-whitespace-escape.jsonends-in-whitespace-escape.tomlno-newlines.jsonno-newlines.tomltrailing-comma.jsontrailing-comma.tomltest_data.pytest_error.pytest_misc.pytest_tools__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_freeze.cpython-312.opt-1.pyctest_freeze.cpython-312.opt-2.pyctest_freeze.cpython-312.pyctest_i18n.cpython-312.opt-1.pyctest_i18n.cpython-312.opt-2.pyctest_i18n.cpython-312.pyctest_makefile.cpython-312.opt-1.pyctest_makefile.cpython-312.opt-2.pyctest_makefile.cpython-312.pyctest_reindent.cpython-312.opt-1.pyctest_reindent.cpython-312.opt-2.pyctest_reindent.cpython-312.pyctest_sundry.cpython-312.opt-1.pyctest_sundry.cpython-312.opt-2.pyctest_sundry.cpython-312.pyctest_freeze.pytest_i18n.pytest_makefile.pytest_reindent.pytest_sundry.pytest_trace.pytest_traceback.pytest_tracemalloc.pytest_ttk__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_extensions.cpython-312.opt-1.pyctest_extensions.cpython-312.opt-2.pyctest_extensions.cpython-312.pyctest_style.cpython-312.opt-1.pyctest_style.cpython-312.opt-2.pyctest_style.cpython-312.pyctest_widgets.cpython-312.opt-1.pyctest_widgets.cpython-312.opt-2.pyctest_widgets.cpython-312.pyctest_extensions.pytest_style.pytest_widgets.pytest_ttk_textonly.pytest_tty.pytest_tuple.pytest_turtle.pytest_type_aliases.pytest_type_annotations.pytest_type_cache.pytest_type_comments.pytest_type_params.pytest_typechecks.pytest_types.pytest_typing.pytest_ucn.pytest_unary.pytest_unicode.pytest_unicode_file.pytest_unicode_file_functions.pytest_unicode_identifiers.pytest_unicodedata.pytest_unittest__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyc_test_warnings.cpython-312.opt-1.pyc_test_warnings.cpython-312.opt-2.pyc_test_warnings.cpython-312.pycdummy.cpython-312.opt-1.pycdummy.cpython-312.opt-2.pycdummy.cpython-312.pycsupport.cpython-312.opt-1.pycsupport.cpython-312.opt-2.pycsupport.cpython-312.pyctest_assertions.cpython-312.opt-1.pyctest_assertions.cpython-312.opt-2.pyctest_assertions.cpython-312.pyctest_async_case.cpython-312.opt-1.pyctest_async_case.cpython-312.opt-2.pyctest_async_case.cpython-312.pyctest_break.cpython-312.opt-1.pyctest_break.cpython-312.opt-2.pyctest_break.cpython-312.pyctest_case.cpython-312.opt-1.pyctest_case.cpython-312.opt-2.pyctest_case.cpython-312.pyctest_discovery.cpython-312.opt-1.pyctest_discovery.cpython-312.opt-2.pyctest_discovery.cpython-312.pyctest_functiontestcase.cpython-312.opt-1.pyctest_functiontestcase.cpython-312.opt-2.pyctest_functiontestcase.cpython-312.pyctest_loader.cpython-312.opt-1.pyctest_loader.cpython-312.opt-2.pyctest_loader.cpython-312.pyctest_program.cpython-312.opt-1.pyctest_program.cpython-312.opt-2.pyctest_program.cpython-312.pyctest_result.cpython-312.opt-1.pyctest_result.cpython-312.opt-2.pyctest_result.cpython-312.pyctest_runner.cpython-312.opt-1.pyctest_runner.cpython-312.opt-2.pyctest_runner.cpython-312.pyctest_setups.cpython-312.opt-1.pyctest_setups.cpython-312.opt-2.pyctest_setups.cpython-312.pyctest_skipping.cpython-312.opt-1.pyctest_skipping.cpython-312.opt-2.pyctest_skipping.cpython-312.pyctest_suite.cpython-312.opt-1.pyctest_suite.cpython-312.opt-2.pyctest_suite.cpython-312.pyc_test_warnings.pydummy.pysupport.pytest_assertions.pytest_async_case.pytest_break.pytest_case.pytest_discovery.pytest_functiontestcase.pytest_loader.pytest_program.pytest_result.pytest_runner.pytest_setups.pytest_skipping.pytest_suite.pytestmock__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pycsupport.cpython-312.opt-1.pycsupport.cpython-312.opt-2.pycsupport.cpython-312.pyctestasync.cpython-312.opt-1.pyctestasync.cpython-312.opt-2.pyctestasync.cpython-312.pyctestcallable.cpython-312.opt-1.pyctestcallable.cpython-312.opt-2.pyctestcallable.cpython-312.pyctesthelpers.cpython-312.opt-1.pyctesthelpers.cpython-312.opt-2.pyctesthelpers.cpython-312.pyctestmagicmethods.cpython-312.opt-1.pyctestmagicmethods.cpython-312.opt-2.pyctestmagicmethods.cpython-312.pyctestmock.cpython-312.opt-1.pyctestmock.cpython-312.opt-2.pyctestmock.cpython-312.pyctestpatch.cpython-312.opt-1.pyctestpatch.cpython-312.opt-2.pyctestpatch.cpython-312.pyctestsealable.cpython-312.opt-1.pyctestsealable.cpython-312.opt-2.pyctestsealable.cpython-312.pyctestsentinel.cpython-312.opt-1.pyctestsentinel.cpython-312.opt-2.pyctestsentinel.cpython-312.pyctestwith.cpython-312.opt-1.pyctestwith.cpython-312.opt-2.pyctestwith.cpython-312.pycsupport.pytestasync.pytestcallable.pytesthelpers.pytestmagicmethods.pytestmock.pytestpatch.pytestsealable.pytestsentinel.pytestwith.pytest_univnewlines.pytest_unpack.pytest_unpack_ex.pytest_unparse.pytest_urllib.pytest_urllib2.pytest_urllib2_localnet.pytest_urllib2net.pytest_urllib_response.pytest_urllibnet.pytest_urlparse.pytest_userdict.pytest_userlist.pytest_userstring.pytest_utf8_mode.pytest_utf8source.pytest_uu.pytest_uuid.pytest_venv.pytest_wait3.pytest_wait4.pytest_warnings__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pycdata__pycache__import_warning.cpython-312.opt-1.pycimport_warning.cpython-312.opt-2.pycimport_warning.cpython-312.pycpackage_helper.cpython-312.opt-1.pycpackage_helper.cpython-312.opt-2.pycpackage_helper.cpython-312.pycstacklevel.cpython-312.opt-1.pycstacklevel.cpython-312.opt-2.pycstacklevel.cpython-312.pycimport_warning.pypackage_helper.pystacklevel.pytest_wave.pytest_weakref.pytest_weakset.pytest_webbrowser.pytest_winapi.pytest_winconsoleio.pytest_winreg.pytest_winsound.pytest_with.pytest_wmi.pytest_wsgiref.pytest_xdrlib.pytest_xml_dom_minicompat.pytest_xml_etree.pytest_xml_etree_c.pytest_xmlrpc.pytest_xmlrpc_net.pytest_xxlimited.pytest_xxtestfuzz.pytest_yield_from.pytest_zipapp.pytest_zipfile__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyctest_core.cpython-312.opt-1.pyctest_core.cpython-312.opt-2.pyctest_core.cpython-312.pyc_path__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc_functools.cpython-312.opt-1.pyc_functools.cpython-312.opt-2.pyc_functools.cpython-312.pyc_itertools.cpython-312.opt-1.pyc_itertools.cpython-312.opt-2.pyc_itertools.cpython-312.pyc_support.cpython-312.opt-1.pyc_support.cpython-312.opt-2.pyc_support.cpython-312.pyc_test_params.cpython-312.opt-1.pyc_test_params.cpython-312.opt-2.pyc_test_params.cpython-312.pyctest_complexity.cpython-312.opt-1.pyctest_complexity.cpython-312.opt-2.pyctest_complexity.cpython-312.pyctest_path.cpython-312.opt-1.pyctest_path.cpython-312.opt-2.pyctest_path.cpython-312.pycwrite-alpharep.cpython-312.opt-1.pycwrite-alpharep.cpython-312.opt-2.pycwrite-alpharep.cpython-312.pyc_functools.py_itertools.py_support.py_test_params.pytest_complexity.pytest_path.pywrite-alpharep.pytest_core.pytest_zipfile64.pytest_zipimport.pytest_zipimport_support.pytest_zlib.pytest_zoneinfo__init__.py__main__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc__main__.cpython-312.opt-1.pyc__main__.cpython-312.opt-2.pyc__main__.cpython-312.pyc_support.cpython-312.opt-1.pyc_support.cpython-312.opt-2.pyc_support.cpython-312.pyctest_zoneinfo.cpython-312.opt-1.pyctest_zoneinfo.cpython-312.opt-2.pyctest_zoneinfo.cpython-312.pyctest_zoneinfo_property.cpython-312.opt-1.pyctest_zoneinfo_property.cpython-312.opt-2.pyctest_zoneinfo_property.cpython-312.pyc_support.pydata__pycache__update_test_data.cpython-312.opt-1.pycupdate_test_data.cpython-312.opt-2.pycupdate_test_data.cpython-312.pycupdate_test_data.pyzoneinfo_data.jsontest_zoneinfo.pytest_zoneinfo_property.pytestcodec.pytesttar.tartesttar.tar.xztf_inherit_check.pytime_hashlib.pytokenizedata__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyccoding20731.cpython-312.opt-1.pyccoding20731.cpython-312.opt-2.pyccoding20731.cpython-312.pycbad_coding.pybad_coding2.pybadsyntax_3131.pycoding20731.pytokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txttokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txttokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txttokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txttokenize_tests.txttracedmodules__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyctestmod.cpython-312.opt-1.pyctestmod.cpython-312.opt-2.pyctestmod.cpython-312.pyctestmod.pytypinganndata__init__.py__pycache____init__.cpython-312.opt-1.pyc__init__.cpython-312.opt-2.pyc__init__.cpython-312.pyc_typed_dict_helper.cpython-312.opt-1.pyc_typed_dict_helper.cpython-312.opt-2.pyc_typed_dict_helper.cpython-312.pycann_module.cpython-312.opt-1.pycann_module.cpython-312.opt-2.pycann_module.cpython-312.pycann_module2.cpython-312.opt-1.pycann_module2.cpython-312.opt-2.pycann_module2.cpython-312.pycann_module3.cpython-312.opt-1.pycann_module3.cpython-312.opt-2.pycann_module3.cpython-312.pycann_module4.cpython-312.opt-1.pycann_module4.cpython-312.opt-2.pycann_module4.cpython-312.pycann_module5.cpython-312.opt-1.pycann_module5.cpython-312.opt-2.pycann_module5.cpython-312.pycann_module6.cpython-312.opt-1.pycann_module6.cpython-312.opt-2.pycann_module6.cpython-312.pycann_module695.cpython-312.opt-1.pycann_module695.cpython-312.opt-2.pycann_module695.cpython-312.pycann_module7.cpython-312.opt-1.pycann_module7.cpython-312.opt-2.pycann_module7.cpython-312.pycann_module8.cpython-312.opt-1.pycann_module8.cpython-312.opt-2.pycann_module8.cpython-312.pycann_module9.cpython-312.opt-1.pycann_module9.cpython-312.opt-2.pycann_module9.cpython-312.pycmod_generics_cache.cpython-312.opt-1.pycmod_generics_cache.cpython-312.opt-2.pycmod_generics_cache.cpython-312.pyc_typed_dict_helper.pyann_module.pyann_module2.pyann_module3.pyann_module4.pyann_module5.pyann_module6.pyann_module695.pyann_module7.pyann_module8.pyann_module9.pymod_generics_cache.pywheeldatasetuptools-67.6.1-py3-none-any.whlwheel-0.40.0-py3-none-any.whlwin_console_handler.pyxmltestdatac14n-20READMEc14nComment.xmlc14nDefault.xmlc14nPrefix.xmlc14nPrefixQname.xmlc14nPrefixQnameXpathElem.xmlc14nQname.xmlc14nQnameElem.xmlc14nQnameXpathElem.xmlc14nTrim.xmldoc.dtddoc.xslinC14N1.xmlinC14N2.xmlinC14N3.xmlinC14N4.xmlinC14N5.xmlinC14N6.xmlinNsContent.xmlinNsDefault.xmlinNsPushdown.xmlinNsRedecl.xmlinNsSort.xmlinNsSuperfluous.xmlinNsXml.xmlout_inC14N1_c14nComment.xmlout_inC14N1_c14nDefault.xmlout_inC14N2_c14nDefault.xmlout_inC14N2_c14nTrim.xmlout_inC14N3_c14nDefault.xmlout_inC14N3_c14nPrefix.xmlout_inC14N3_c14nTrim.xmlout_inC14N4_c14nDefault.xmlout_inC14N4_c14nTrim.xmlout_inC14N5_c14nDefault.xmlout_inC14N5_c14nTrim.xmlout_inC14N6_c14nDefault.xmlout_inNsContent_c14nDefault.xmlout_inNsContent_c14nPrefixQnameXpathElem.xmlout_inNsContent_c14nQnameElem.xmlout_inNsContent_c14nQnameXpathElem.xmlout_inNsDefault_c14nDefault.xmlout_inNsDefault_c14nPrefix.xmlout_inNsPushdown_c14nDefault.xmlout_inNsPushdown_c14nPrefix.xmlout_inNsRedecl_c14nDefault.xmlout_inNsRedecl_c14nPrefix.xmlout_inNsSort_c14nDefault.xmlout_inNsSort_c14nPrefix.xmlout_inNsSuperfluous_c14nDefault.xmlout_inNsSuperfluous_c14nPrefix.xmlout_inNsXml_c14nDefault.xmlout_inNsXml_c14nPrefix.xmlout_inNsXml_c14nPrefixQname.xmlout_inNsXml_c14nQname.xmlworld.txtexpat224_utf8_bug.xmlsimple-ns.xmlsimple.xmltest.xmltest.xml.outxmltests.pyzip_cp437_header.zipzipdir.zipzipdir_backslash.zipziptestdataREADME.md__pycache__testdata_module_inside_zip.cpython-312.opt-1.pyctestdata_module_inside_zip.cpython-312.opt-2.pyctestdata_module_inside_zip.cpython-312.pycexe_with_z64exe_with_zipheader.shtestdata_module_inside_zip.pytkinter/usr/lib64/python3.12/lib-dynload//usr/lib64/python3.12//usr/lib64/python3.12/test//usr/lib64/python3.12/test/__pycache__//usr/lib64/python3.12/test/audiodata//usr/lib64/python3.12/test/certdata//usr/lib64/python3.12/test/certdata/__pycache__//usr/lib64/python3.12/test/certdata/capath//usr/lib64/python3.12/test/cjkencodings//usr/lib64/python3.12/test/configdata//usr/lib64/python3.12/test/crashers//usr/lib64/python3.12/test/crashers/__pycache__//usr/lib64/python3.12/test/data//usr/lib64/python3.12/test/decimaltestdata//usr/lib64/python3.12/test/dtracedata//usr/lib64/python3.12/test/dtracedata/__pycache__//usr/lib64/python3.12/test/encoded_modules//usr/lib64/python3.12/test/encoded_modules/__pycache__//usr/lib64/python3.12/test/imghdrdata//usr/lib64/python3.12/test/leakers//usr/lib64/python3.12/test/leakers/__pycache__//usr/lib64/python3.12/test/libregrtest//usr/lib64/python3.12/test/libregrtest/__pycache__//usr/lib64/python3.12/test/regrtestdata//usr/lib64/python3.12/test/regrtestdata/import_from_tests//usr/lib64/python3.12/test/regrtestdata/import_from_tests/__pycache__//usr/lib64/python3.12/test/regrtestdata/import_from_tests/test_regrtest_b//usr/lib64/python3.12/test/regrtestdata/import_from_tests/test_regrtest_b/__pycache__//usr/lib64/python3.12/test/sndhdrdata//usr/lib64/python3.12/test/subprocessdata//usr/lib64/python3.12/test/subprocessdata/__pycache__//usr/lib64/python3.12/test/support//usr/lib64/python3.12/test/support/__pycache__//usr/lib64/python3.12/test/support/_hypothesis_stubs//usr/lib64/python3.12/test/support/_hypothesis_stubs/__pycache__//usr/lib64/python3.12/test/test_asyncio//usr/lib64/python3.12/test/test_asyncio/__pycache__//usr/lib64/python3.12/test/test_capi//usr/lib64/python3.12/test/test_capi/__pycache__//usr/lib64/python3.12/test/test_concurrent_futures//usr/lib64/python3.12/test/test_concurrent_futures/__pycache__//usr/lib64/python3.12/test/test_cppext//usr/lib64/python3.12/test/test_cppext/__pycache__//usr/lib64/python3.12/test/test_ctypes//usr/lib64/python3.12/test/test_ctypes/__pycache__//usr/lib64/python3.12/test/test_dataclasses//usr/lib64/python3.12/test/test_dataclasses/__pycache__//usr/lib64/python3.12/test/test_doctest//usr/lib64/python3.12/test/test_doctest/__pycache__//usr/lib64/python3.12/test/test_email//usr/lib64/python3.12/test/test_email/__pycache__//usr/lib64/python3.12/test/test_email/data//usr/lib64/python3.12/test/test_future_stmt//usr/lib64/python3.12/test/test_future_stmt/__pycache__//usr/lib64/python3.12/test/test_gdb//usr/lib64/python3.12/test/test_gdb/__pycache__//usr/lib64/python3.12/test/test_import//usr/lib64/python3.12/test/test_import/__pycache__//usr/lib64/python3.12/test/test_import/data//usr/lib64/python3.12/test/test_import/data/__pycache__//usr/lib64/python3.12/test/test_import/data/circular_imports//usr/lib64/python3.12/test/test_import/data/circular_imports/__pycache__//usr/lib64/python3.12/test/test_import/data/circular_imports/subpkg//usr/lib64/python3.12/test/test_import/data/circular_imports/subpkg/__pycache__//usr/lib64/python3.12/test/test_import/data/circular_imports/subpkg2//usr/lib64/python3.12/test/test_import/data/circular_imports/subpkg2/__pycache__//usr/lib64/python3.12/test/test_import/data/circular_imports/subpkg2/parent//usr/lib64/python3.12/test/test_import/data/circular_imports/subpkg2/parent/__pycache__//usr/lib64/python3.12/test/test_import/data/package//usr/lib64/python3.12/test/test_import/data/package/__pycache__//usr/lib64/python3.12/test/test_import/data/package2//usr/lib64/python3.12/test/test_import/data/package2/__pycache__//usr/lib64/python3.12/test/test_import/data/package3//usr/lib64/python3.12/test/test_import/data/package3/__pycache__//usr/lib64/python3.12/test/test_import/data/package4//usr/lib64/python3.12/test/test_import/data/package4/__pycache__//usr/lib64/python3.12/test/test_import/data/unwritable//usr/lib64/python3.12/test/test_import/data/unwritable/__pycache__//usr/lib64/python3.12/test/test_importlib//usr/lib64/python3.12/test/test_importlib/__pycache__//usr/lib64/python3.12/test/test_importlib/builtin//usr/lib64/python3.12/test/test_importlib/builtin/__pycache__//usr/lib64/python3.12/test/test_importlib/data//usr/lib64/python3.12/test/test_importlib/data/__pycache__//usr/lib64/python3.12/test/test_importlib/extension//usr/lib64/python3.12/test/test_importlib/extension/__pycache__//usr/lib64/python3.12/test/test_importlib/frozen//usr/lib64/python3.12/test/test_importlib/frozen/__pycache__//usr/lib64/python3.12/test/test_importlib/import_//usr/lib64/python3.12/test/test_importlib/import_/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/both_portions//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/both_portions/foo//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/both_portions/foo/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/module_and_namespace_package//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/not_a_namespace_pkg//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/portion1//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/portion1/foo//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/portion1/foo/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/portion2//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/portion2/foo//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/portion2/foo/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project1//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project1/parent//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project1/parent/child//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project1/parent/child/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project2//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project2/parent//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project2/parent/child//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project2/parent/child/__pycache__//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project3//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project3/parent//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project3/parent/child//usr/lib64/python3.12/test/test_importlib/namespace_pkgs/project3/parent/child/__pycache__//usr/lib64/python3.12/test/test_importlib/partial//usr/lib64/python3.12/test/test_importlib/partial/__pycache__//usr/lib64/python3.12/test/test_importlib/resources//usr/lib64/python3.12/test/test_importlib/resources/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data01//usr/lib64/python3.12/test/test_importlib/resources/data01/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data01/subdirectory//usr/lib64/python3.12/test/test_importlib/resources/data01/subdirectory/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data02//usr/lib64/python3.12/test/test_importlib/resources/data02/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data02/one//usr/lib64/python3.12/test/test_importlib/resources/data02/one/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data02/subdirectory//usr/lib64/python3.12/test/test_importlib/resources/data02/subdirectory/subsubdir//usr/lib64/python3.12/test/test_importlib/resources/data02/two//usr/lib64/python3.12/test/test_importlib/resources/data02/two/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data03//usr/lib64/python3.12/test/test_importlib/resources/data03/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data03/namespace//usr/lib64/python3.12/test/test_importlib/resources/data03/namespace/portion1//usr/lib64/python3.12/test/test_importlib/resources/data03/namespace/portion1/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/data03/namespace/portion2//usr/lib64/python3.12/test/test_importlib/resources/data03/namespace/portion2/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/namespacedata01//usr/lib64/python3.12/test/test_importlib/resources/zipdata01//usr/lib64/python3.12/test/test_importlib/resources/zipdata01/__pycache__//usr/lib64/python3.12/test/test_importlib/resources/zipdata02//usr/lib64/python3.12/test/test_importlib/resources/zipdata02/__pycache__//usr/lib64/python3.12/test/test_importlib/source//usr/lib64/python3.12/test/test_importlib/source/__pycache__//usr/lib64/python3.12/test/test_inspect//usr/lib64/python3.12/test/test_inspect/__pycache__//usr/lib64/python3.12/test/test_json//usr/lib64/python3.12/test/test_json/__pycache__//usr/lib64/python3.12/test/test_lib2to3//usr/lib64/python3.12/test/test_lib2to3/__pycache__//usr/lib64/python3.12/test/test_lib2to3/data//usr/lib64/python3.12/test/test_lib2to3/data/fixers//usr/lib64/python3.12/test/test_lib2to3/data/fixers/myfixes//usr/lib64/python3.12/test/test_module//usr/lib64/python3.12/test/test_module/__pycache__//usr/lib64/python3.12/test/test_multiprocessing_fork//usr/lib64/python3.12/test/test_multiprocessing_fork/__pycache__//usr/lib64/python3.12/test/test_multiprocessing_forkserver//usr/lib64/python3.12/test/test_multiprocessing_forkserver/__pycache__//usr/lib64/python3.12/test/test_multiprocessing_spawn//usr/lib64/python3.12/test/test_multiprocessing_spawn/__pycache__//usr/lib64/python3.12/test/test_peg_generator//usr/lib64/python3.12/test/test_peg_generator/__pycache__//usr/lib64/python3.12/test/test_pydoc//usr/lib64/python3.12/test/test_pydoc/__pycache__//usr/lib64/python3.12/test/test_sqlite3//usr/lib64/python3.12/test/test_sqlite3/__pycache__//usr/lib64/python3.12/test/test_tkinter//usr/lib64/python3.12/test/test_tkinter/__pycache__//usr/lib64/python3.12/test/test_tomllib//usr/lib64/python3.12/test/test_tomllib/__pycache__//usr/lib64/python3.12/test/test_tomllib/data//usr/lib64/python3.12/test/test_tomllib/data/invalid//usr/lib64/python3.12/test/test_tomllib/data/invalid/array-of-tables//usr/lib64/python3.12/test/test_tomllib/data/invalid/array//usr/lib64/python3.12/test/test_tomllib/data/invalid/boolean//usr/lib64/python3.12/test/test_tomllib/data/invalid/dates-and-times//usr/lib64/python3.12/test/test_tomllib/data/invalid/dotted-keys//usr/lib64/python3.12/test/test_tomllib/data/invalid/inline-table//usr/lib64/python3.12/test/test_tomllib/data/invalid/keys-and-vals//usr/lib64/python3.12/test/test_tomllib/data/invalid/literal-str//usr/lib64/python3.12/test/test_tomllib/data/invalid/multiline-basic-str//usr/lib64/python3.12/test/test_tomllib/data/invalid/multiline-literal-str//usr/lib64/python3.12/test/test_tomllib/data/invalid/table//usr/lib64/python3.12/test/test_tomllib/data/valid//usr/lib64/python3.12/test/test_tomllib/data/valid/array//usr/lib64/python3.12/test/test_tomllib/data/valid/dates-and-times//usr/lib64/python3.12/test/test_tomllib/data/valid/multiline-basic-str//usr/lib64/python3.12/test/test_tools//usr/lib64/python3.12/test/test_tools/__pycache__//usr/lib64/python3.12/test/test_ttk//usr/lib64/python3.12/test/test_ttk/__pycache__//usr/lib64/python3.12/test/test_unittest//usr/lib64/python3.12/test/test_unittest/__pycache__//usr/lib64/python3.12/test/test_unittest/testmock//usr/lib64/python3.12/test/test_unittest/testmock/__pycache__//usr/lib64/python3.12/test/test_warnings//usr/lib64/python3.12/test/test_warnings/__pycache__//usr/lib64/python3.12/test/test_warnings/data//usr/lib64/python3.12/test/test_warnings/data/__pycache__//usr/lib64/python3.12/test/test_zipfile//usr/lib64/python3.12/test/test_zipfile/__pycache__//usr/lib64/python3.12/test/test_zipfile/_path//usr/lib64/python3.12/test/test_zipfile/_path/__pycache__//usr/lib64/python3.12/test/test_zoneinfo//usr/lib64/python3.12/test/test_zoneinfo/__pycache__//usr/lib64/python3.12/test/test_zoneinfo/data//usr/lib64/python3.12/test/test_zoneinfo/data/__pycache__//usr/lib64/python3.12/test/tokenizedata//usr/lib64/python3.12/test/tokenizedata/__pycache__//usr/lib64/python3.12/test/tracedmodules//usr/lib64/python3.12/test/tracedmodules/__pycache__//usr/lib64/python3.12/test/typinganndata//usr/lib64/python3.12/test/typinganndata/__pycache__//usr/lib64/python3.12/test/wheeldata//usr/lib64/python3.12/test/xmltestdata//usr/lib64/python3.12/test/xmltestdata/c14n-20//usr/lib64/python3.12/test/ziptestdata//usr/lib64/python3.12/test/ziptestdata/__pycache__/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:34718/SUSE_SLE-15-SP6_Update/39a47e99c42b0faf6e465bd5384482c8-python312.SUSE_SLE-15-SP6_Update:basedrpmxz5s390x-suse-linux                               !"#$     %   &  '' (       )    *    + ++,+----.---+++-/ +, ,0 1+,+,,++,, 2---,3+,+4  !"#$   &                 565 7 7  7    8         8  9  :      ;                '                   <               =           >?  ;@@@  65  AAA BBBA CC  D  E FBBGG H7: IIJ ELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=1b52ecf03f55b8a93be305c362e144c749f6c857, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=2b6fb1d4c8082eb6521c1bef9a021a3c99329a48, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=6ab845b313eff728d9e3c0d99566a43bcbd83dcb, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=ee25d08f57149f3bd65213da3a58309207c437f1, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=38f9853e3a73354b640882bba6cd54a2d4391312, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3df03651e752a5a0fd516e44d6b8f2ea6499db32, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3b5b3fd43eace48a02d42959574732c2cf0c8d7a, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=de600b83a95da5ee4f43f9437d35f2ad33004d70, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3ef6a2bcc4d1ad0dcddf05a7f98634da795b2ce0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=6f39c14ddf220f5b2ca952b379ff921f8f356102, strippeddirectoryASCII textPython script, ASCII text executablePython script, UTF-8 Unicode text executableISO-8859 textASCII text, with very long linesemptyUTF-8 Unicode textNon-ISO extended-ASCII textASCII text, with escape sequencesNon-ISO extended-ASCII text, with LF, NEL line terminatorsASCII text, with CRLF line terminatorsawk or perl script, ASCII textASCII text, with no line terminatorsJPEG image data, baseline, precision 8, 16x16, frames 3OpenEXR image data, version 2, storage: scanline, compression: none, dataWindow: (0 0)-(15 15), displayWindow: (0 0)-(15 15), lineOrder: increasing yGIF image data, version 89a, 16 x 16JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 16x16, frames 3Netpbm image data, size = 16 x 16, rawbits, bitmapNetpbm image data, size = 16 x 16, rawbits, greymapPNG image data, 16 x 16, 8-bit colormap, non-interlacedNetpbm image data, size = 16 x 16, rawbits, pixmapSun raster image data, 16 x 16, 32-bit, RGB, no colormapSGI image data, RLE, 3-D, 16 x 16, 4 channelsTIFF image data, little-endian, direntries=17, height=16, bps=1242, compression=none, PhotometricIntepretation=RGB, name=python.tiff, orientation=upper-left, width=16RIFF (little-endian) data, Web/P imagetar archivePython script, UTF-8 Unicode text executable, with very long linesPython script, ASCII text executable, with very long linesPython script text executable Python script, ASCII text executableC++ source, ASCII textHTML document, ASCII text, with very long linesSMTP mail, ASCII textnews or mail, ASCII textMIME entity, ASCII textmessage/rfc822, ASCII texttext/plain; charset="us-ascii", ASCII textmultipart/mixed; boundary="BOUNDARY", ASCII textRFC 822 mail, ASCII text, with CRLF line terminatorsmultipart/mixed; boundary=ABCDE, ASCII textmultipart/mixed; boundary="AAA", ASCII textHTML document, ASCII textPython script, ASCII text executable (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)ASCII text (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)gzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)Little-endian UTF-16 Unicode text, with no line terminatorsLittle-endian UTF-16 Unicode text, with no line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)gzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)UTF-8 Unicode (with BOM) textASCII text, with CR, LF line terminatorsRuby script, ASCII textPOSIX tar archivePOSIX tar archive (GNU) (XZ compressed data)Python script, UTF-8 Unicode (with BOM) text executableXML 1.0 document, ASCII textexported SGML document, ASCII textXML document, ASCII textASCII text, with very long lines, with no line terminatorsUTF-8 Unicode text, with no line terminatorsUTF-8 Unicode text, with very long lines, with CRLF line terminatorsXML 1.0 document, ISO-8859 textASCII text, with CRLF line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)Bourne-Again shell script executable (binary data)Bourne-Again shell script, ASCII text executable #'+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR,`~ֹ1>n8Sutf-85b3f73a85a95cf30f7bdebe03cfbdbfa316d75d2ef65cff01ee217e49584cd35? 7zXZ !t/]"k%a 9 J:&қQ^+[ ꀚ‡H]OyLKqMOٳ=u27U5l0u Q5iQS2yD)󲫺?H?Z 6+mv3yP(tyS3}.bS)ˁuƋ}y5ݽaIr%10cJ\[U!!)/oi,! 8 O0xw2Qid_S ~@wwVHE*`^N $=I6Rd7]CҊ7wQD+ͥEZQOpzQ{O6TTl ]k$CZro5i*;M{K2W݁]WjYTaS)m@[,Xd5S9v^oAI^P,㟪]]lo!Iɘtȩr{N ³m|؉FlHRP+%U1gh̍Lg.=(=)`Uʹb\h\σ^MGk0{P&A N׹:(dQ;("o ӏ4ňk[m+L,7o R'U< U*!eMk9b#yUI1JT#@=퐇0%[~کb/FHiiHL8ϻ) :Fx0GQ[xQȟ6 He |?tj[D0_Jk/;.a̮T1kA,F}((mGt(|{ļhw J} n3b5oQcRZj'PTٮX`5Z|^ʭ$30>Cyc xlKd1BRl@U1Y;D3 &C2YF+-_@}U,U)|$wԚ1Xo9&=k=>=t] g7~I##ۂ+s6@GTMD#eō_ZXyZeվ&3('7{'*n `oӍ遖3y')rЈeNDv{&vӀfd]%Ia ,rf%Hf3Dj^zmux+YP`uABy݊n~TYՉӡV7 +À۳mfTh!o(D_.SD{(wz5SZ-,60ԶXÿ<@6d` ?/VE#LnyMAh.^V@6W @檱<+]AAv@EXWٲE1J@%ha8ҘNoag+ )k4\8=?.ͫ.tЩ㣤`+<~~x5E@)'gykFF t4a'bȵUC0~Gbn߀h Z&RDS2HD)ֵJ+U$:kK}W\9 ]0|j'0Zl϶҆UT\ #rb&3DIJU`MTwWx$&]3{?8Hx EMn]yi+Ti$AbÃΦUo`1(Apj,ȴ %NؾȹUu28p bj`Xq2^EhEq @:8q BkS@(4s7,W37i Da RvTyE4l:6|s~3')$}Z_V:`FW"S$Vx?_ATf8qA|=^hse̎%Q%.nh dXUm2"ں#Wcca"is>qn.ўuBnռAydpN'pR79?[K-Ò?3r{ -($GUBmt3d!UBˮˈc B3u{M IMK %y(XDU 3jP-zeR)YPtz)gq)+h=8[`*5\P/7',1Q]~`?-mhqbWoOS=01ٺFV~c? } -s "qި2UW0 <ڻmhv3kEሷU_>UXμoB7ܾrKQGb YҠBGk#J*v@q/|[7wۭv/?1c#Xy$9{ UrŬ \1DӓEd:߯.Q-f%F`+'WS#!n<4Do/*tW]JDW  Ĺ,_Sފf vM8/3 < rYaZB'M6qvzÄR9a1/z'"vyA:p`N&z*h}&Ua6ڀIM#Qƛ-YyS.];8$;Z>>)Gm47sآ)]@Αjj, CpΒk.KLE [ay-1ܞ(@"mֺzd~G, _Ie}56צ=hӋ2QixVLBPK)=tp]ɎODRCZILF Q 2tWՎ(.Jh(Vq΋'""U3X9'f0HfW͛\r9ދOgcmL5;[RDF\0?DY=5X>b֍~[]K(XD1bqL /o#d,|wC>T7LcjN[Z2%GAS_ 9,$/y|\*6Fcs[CZM\MD#4B_>$7?C48lH̘4xa|+%;5jZ=NV FEد#MKeEyպiNXL2{*G .9KM]ߗFsVfQ:ENeQ$[&]ܜu>mA-`.2g]|w* ̝8yD`'jdL^)j&XSֱ_L$F9f **l+=a KxGoɰ<.D3f9DWK pڨSul9˹hQ[2ehWԅ0^'o`Y ,DPa?#6 ;c 73MSJI=pW1ge3ܮCT7+>( ڛIgLJ2JF]_Q9.!' .U)Fo'km6v qi}؆c#'q-2pZ'{"^cj>qLT6Y &H]ZGgy~=7(ANZǫuioh8|I]׶Ԓ}v 8 #X0<-'Mlf \ !×zDsLl (NKGIhJ0Kǎ)xb'<%0><+Ak]޶1_h@t-I fw*zld_8̼ɡs`ÄW[5LPr;z^AKL/}td߁ kJ's* F/#ǬU{Pϩk,DaC7,z=(BzaV׼RiPtD`m-A]ie:h-d!ʼn+ R7cBdad&H0=CMzo8g^xy3+sUƔF-#5g;) 6 )eo|NxrwrWe j._<$ASj]A=8"Eҩb1Ovg ek#c"MuO!XZLhnD[0Xu\%⹑(@ߣ8LpbB|o05fA yGtw$X᫈͗ǰW<>m٩#V%HS X<ӵ`^=D!'#}\4:襺C"}_nWTl ƌ]gQ2@r[휿)  3K$TjC1C4J3PfΕ+_ޓ+#Go;?.; 9i RYRc3L!I /)9]d]0BX1!n6R#dICHΰYۘQk-9EgߍO@v&[)A~7 -}M>׭aD؎7F#͙^ hP, ).;=m[xb(p>%$>7E}Ҝr$Uxmgӟ*zQ֢"Hma]`nb;UJ]Dű>tcÄ'rvozN FX= O7ZwO軑=Xf5z( *,ܚgc%c~TVjiM0,Nw|/}> I!4Y(k{ qdY{`cNR&*Yj җ ɨ&ԫ`X[䒕Qp/VϣnxO^֎l*(бJga`Hߢ1l y FlWO|`\CsE:V_чh yLjuAn2qtvB %D @t'fW$YP&=5 {GLcvPz/JX[6yv " |/ j),+Ai& ́ˏ:'U[\[XH CڎG WJkwXD2I}ݵW'IAESsVBZ^A~S:P)+SȮ88f5bJStnF=κUrs:PynOOq,rjcך+AJBQ?y'`kZ>aoDt-)V_q+-{,M^|-($6F $t39,OXd#/v7wUڇ`2mài30ؠ 98Ct, <87DI x`hջRHpG,W3/3 }Ps곻I`L ()68^p  iCr]LYع`98a|@s)=FlE 2̱#CQ1hii=&VC&[mtəb 9)BR0=ǔsZId$3<ȭF,;=K2"(JYi~l ޏ% C<1HXF/w@pKp]Xq,LOeerÓ0D5?"ҔdPwݴ@4SÇh6[:q/DNf(EJ+RツⲻHՈtL {j%%aMnbjh%P+&p)vҰ/;؆6JG&ƣ$9MPE"C| ba "a.ќ8Ē@h18J/ptղ~+cQ`5+cDݏ 7M5{1,:EO/E(/e$d6Ůg5ɭ hBI^~+韺l&4#pB⇓TQv5w7'~Iʛ %jѮ#ի7Y>t|DR\W<WkA»@61NsHs /-dxX&uGfDgM#>VFɺ9ZVh6I'/>M^ʩ~dbmjw|5 .B~9g"yqvE]ЄsƜ31uyӏעp t=5s6R!4Wp+Zœ6ws9i4\AJSO/5qL4rto Y14PB񋺆U~DQLp<>{i(Ȏ퓬&`'985E>Fӎ|vic( a=9BYپU,~ !SvWǚxwĂl~lߴ2{G}N&ۊb""ST^W`,P,Ҟo#b&-7657iN*A1 v[ζt .\X{8Dzly 5][*Cp,I"4~c˸5[9Q&&ܽͱ]6pVa_.\ n'E0Au7^1tߢ-wwm9-AU aݑUkG}甉4" _M} YgZ"֟t(#5v>,E|6|U3+ C\V8-*ӋsaK^vB0{'v7Es:Dn3qES.25NL2hl7M() mEjN͡E/`{Z2L6w<5zv(851b"cNJI]|Yf_2-dexm{熖hg@#tmnBe _vg1nf]Ne5'fcIJk0ת746](b ɃG5[<_g vӲI%} ~g#xf=lSw\δMz4TR?s ρx;JY~H'rBa\RF\{8ᑂ+!wy[zkBDvsP<+(˿xd!3fRG;# ~a+N v!]F "[%0 HlIrOK. ۳jqZ6t$ 5*[򦒖p*T9# w|%Vw>hX) 0+ *p>PQBB%/aXQߧ{-P4.H_,m-$$)ikds |+=z: n^tl(sկ_;:q"ȢQ2ʇ{ÁHoMm VF# ×T3&8"/XEhĄNZTl֒ p˃:Rsļf.?FH.ضfwmIY͛tZ1=Wߘ%|_ݱA.pp p d1tƏ&AJ]:lϩڪbOGcOx2vMe{RC {вuJVdhdj9aǠ+!_ rS+-@Vi\Eb+¬}L)Jt2PkܖfQ,I-=.9ٙFՃ[S?TCs61Xo VQy)r # wƵTvDTɐ"nwLuak-EB)\N|JgpŲBmkeε )Qr;-  [=Qn-xY4p.pp+Mάbhw6ّcZ7rϜ OaMD,/B~Ky_C;>CwAޯY˷tC?I&'u fA>O+T^if! DFW#eC63u*oJ _ў^k*{M*}DWG*cXssd8`rRs9/b)7wݰ %YH$;^׌DQ9?] n%ud |-)8`AgE;4E^\X)?DXV: +JFKq9{P5'خ']{zdu󨅘3Kza6y.u%ypg5QޥѩD_WX8mf(N?a}_N>mgܰ"Wi` j0Rcx仦@a7(0t;}-°ӅNPim\$ 3,v#)FggVفICRO0ǚQ=_e}I}MHu maȽfr4ԓJFM-O~j3sFϵ ltUt W1n^͊a=LvXЗ%W bkM㉖WRd]P~D1C; Y@QZn~ @n=Wuτe"tMqSÂx=Xq]0A_ۛ1pR1b}TCB.@NS72n̲ B/@9f9Dq;P2snZP%fnEvV;κF^1_({AxB/󿉹pxۀ?_YiN ȺD>bQlon2vSkto1z׃ YN!:ll^@9ìrxP|G0tcwdmyyu(LՀ/L~7qE߱8wMjJ@iӁ~vx"^;])h.3p=|YNY jXض۵N +2Z\>Z0-H]T [4NGLYӼ<htO9=tT .p eSZnCtwSR4vA] 6#Jp "y'FI>4e9n<ҍ42DN $,Ak ~emِV(G yJKťm\\c"T,=2e GIA!8*Ն+$いZ (Z:cx,|.FV"&d7B]"MQjxtY\B2YCK)*2>WkI8l4!RϪ&մlQNpI:l 1.w0>[Ĵf{݋vHMO 9ykUPpwpXe":+EXF'*L0?Q"9YyZڍw?Oߜ ӬztS@&@H/DȡEoV0hluM:H!FRj ^sf%G0句w?6T6*`]c9rKNzf4#|8,gVN2xK9ۤrs5Mo4*gv>2̖KJƼwo'PKLĞ(Dj̙MMƇD w}V< QW70!f w#4~]O^ndqoV@P#Cʘ\^|i$;3].JvhQ7+ qD E wgp>pnAΗ$%P:,PO6Pkl?mD5QZC߉ʇ|R1Ӟcef!`owJT؊N mv[6\g'}*0Kg <ӔҬ=¯ԍE e]K$y[0 3}gtPzLdӯ.RͺpKF@͕Y09]ND\e W*O׫ 0V:v\mNwebԖm? %nΖH242-5%r;s~UUl XN~)$Kw *zi6ɶPIXnDc襩×D{~ݰvG,BDVoM]=nCvnnzO=腫Bu)NGa} ޸pĜ#ۮHMACw^4yy^\8JN` H5gˏo9{=!v͡xμiEUEEjսK9`H@ChFhqe*4"ƢZ8/fs{-Wlߖ6-v@:1aIzXHz`ZQUaKZ-~ጱ_) c=\f0 iʐf^ Q(|"v[ݳ AAxA(MOיs}( 51Le< 7M_D;D 񷤴Fe cVn7r/82j.Hse=* @Aέe~եl9>wBH$5h zΖ;RtNfX !PW#l^[E옽?snh%JA[!5ku&@ S^<V(§+mݒ,[WW6G /7Uׅ}KĹJ[`yip79 <K Ȭ-BHۄZ=uEGСUݞj ["$x΂p::U/@.-1kɉo`mfna6~zb$JFsȘj\rRkI{o|>ۥJPHktʦއ `8ImϤX6sz!/1ERX޲`H30^3M12nA2v[4TP*!_SY ,M08fxVV1_dS#gnRtEϣږkL3m;,7ILEe*W'3Nų %;䂕p,8-{ȌMZ☪Y.-Zr˺dk'´9ޔ NDQWz&-ɵ7U_v8;~јT@"+~aߠҵc!XgR5L!WG<ҎܓyZFyRj&":'HMO@ūuUg6;Y0i[8T3*; hpKjh7i}1 3ECw1E.t <vo()vM|,/pV^0 o~(޶.9mW.o7-*auVImFW͢+,e߁8Uޑ[XəŦ&6E΢0ZKr00Urs'qE.<0_?:rL t=_7&/+X =4`='wOrVJAC,e4^ذrA-L78a3\(PAfXD7 uM}R19)S*c/(/}vhYlmp 힊+RV x^X!Ʌ7%c_~pmaYPLOi"K=c՛Xwvn{1@ؽ-yu Yq`Vb5a("=Dh]yWI7"T JYzNM {FW 3@wplܭ5oICbD36.i"$MU5^N&uWߡo; jΈ*ʒҫ'88+ewr"uh5jLX7?uX{V^alD6 1x^0"`L'Zݮy->ch˓.!e:. /[?Q+j~i!OYeXd SU Hk/;nwYf"$.&W7ѮyY(9D+!rը,g̽^Q@ rVxH梶Nn.'&c#,{nmƊ_K'R_ /:w^ 1m@ +6 | Yi ~20` 5΍'xQ5"#P}w5t?;h#WGvƛq:c*q F!Tt^H1Uܰl3/7K'?7g;HZI 9o2poӊ t{y0'#ejxq/2.o)ԅQ_4 QMϢg!)a 9sqaQys"ˎ?Ha4-Ǡ^-^̱a'~l IsE *O@?o{a{]uY(M?A1)5}I4T,;cI'3s6/AN&~ڽKݕLFN}qFFGu;hpqx:ʺb+ƫ ?:<vDi$/>22+.b6By4֡(%S穀5mN&*25k'8gډU+H7LtV&$Dr>B# S{G ?AZI%~9ss nr8@!Rf),>C Y_&Îvq$) ^2Fpց6XU+1'=kDT'k2.NY@YB h2wdBW|RdCpDKSS|Ӊ+DsXTcİҁY7W[g#N01J`)$ftEhݖLY5?`/w8Ȑ&ihC LvQR^/[Oqwވ6*\1Y&L^pU۬l8`Ҙ}di.J8 2%{# q$,k|? ml&^Tj^*cDߟ7mu)'z@myD&k`zT#2`-6JuK~ؙ3l3amŐ+\ꕌ+l}/3y$X9Apox,K2ɶcG_J[7pyE:f]^_w@3jLk*湼 d>& 1WܬVzݍ(+5Slh ^. 4w?ea[ Ds)(UbʋM6;)S|QC!OJ.Z"9`as"E؄\X<U$j,S"Hc|Vb-B/A8[q 2#\H|+e#"`$;4%N4:gN5?)ݕvՠДuRχt7~q H(eo8j#"_?2*ưlK?@,Z4& jMKs#4^ذh#z5|?.4)>r; k*tf~g[lSl;-dv:H!+׼gKcw/ۂ<+^FH iy7$kv"c>h?= 6(GK]3 O^1_Eg4EAKgYY<w =/v utˮ<,?d)V[]o6d9i钩)Bu>8qѦIKP<-WeI5G8 ySɛC еΦ1Ia j-`oTA't;Ғ-7lʼ˼C揎<&IRXkAc1AfK̀ЬUlD56ѻ5Q">@KϽ)< NjgQӡޭ6.%MP?(7[ @Q]%[zཪU8lVV HA9;[47F΢-g>}Q[؍zZ6vLMc֯h¦ _hc5,v'=唛&^}B50*WEAՂ$6 XT oe1A~p z="h>tGd.Lյ򺌏5z~}=xW]P~ddM]l~r?A1Z-L0foWTO<6=B\P9YA[|ًGb-Q+ˬ/qܔ|{ {żɩnL.vSba̪ (ϞfUűg87lC%slzU.NqkotER{xmؤ׼<\Q5R>U:*l")”~̼ӸJ[zܚO~^<Voλ>OI픨t;܅rf5K ꝽmG`l ):^%Qx4b-ܣh֡KJcIP`:=TڢOkОOL݌C, ?ڨ?q$a DKrGWqD9"',us (Qr~F}R*HV 18f>wg*#E 01,+U)ŃRK]e!L@K MbhoU=H#:ԷV~{$hhspCwE6!bbJ~jVl CeA.?qK+O ֐_;JXG&FqT*Xu44_ƃ'KFg4Hۭ@o` F1D!@nz5 Z* gl&\ &FYQWvV+x*&Q*-#~>(7.GP)عzz8HiPVu&ر!XwfuMWɹxz>ʧZULpi mk^]A|`Jhq^qC<`9d GUVT -zjHu7X^#+p\PՅj,` ?/8I.-wslziRX"e6Iw:;оe9ʜ4=rʗ1iIoi'.=8Khn>oZes7̨&dLq$|CnT5ꛊpF " <4 RDSGp?$SʆE>24o~6/:ev˽Pf%R3YNˢA*GƤ1^xn4r)>Z=lCtrZ/Րc,$Kp^fJh"qkr0;QN:rl5Ud/V^\Q/Vֽg5d{ d#}t|k !{yg,Xdp5҄5£.Ժʍqj9V ܧ`3 v;VqtDj]4.I#cT Ι=6e<|$ k:rr\|<ڎ7Vοڒvϗrϒ/Pj>p4 T9 Lu*ܠXXV.3p[RhevU# );ޒ7 iݥ|`qK \AtTL\r8o&a%ڹoB_ 854,'J%xC%j eIt!y5$tgeG-oY]qNK6gt[ҩi,-<Gus!UWZ0g<[UlIc6VU/:BM'X>K LAPt *9m^(0#^ɃWD&TSSiV|͵eԬmf-p(o>/;f(+@ k!H2 T)A6{mj" *{eDFu α7)#Œɧ9zȆ6A!:BQO׌+Uyb6) #4ݎnNbQc[*݊$L5{_+Du^xᲤG䛎08[}l!ܘ|1$bF$L/*P V!4/n]!#'%U EK&QssA7H/JJ3D5U友*Ԧ"QTذ.I}n27@ M^ZTcfuuf9\ܮr(rv" y ݰfHՍhp!v&G6?: 7q0l]$~;jr{T_hјq` [A]ɢxmjZKb,@D:xP-6kw<$&{qn7\JtҚ2a73W3~G xF|^[B*(qZTFэnMx`|eVwd}bVc<_۸IC8=׫ٟP_GjdQ9`39)Pjڧ3L8MPDuK}2/SL/-އltcaB>zI*O3(ҍM:1^WxOHW<`f͌Qf~(F,J ĐA,.ܘD6ҤfYJ.5}b)ΚIC(kQp%=DՄ)Cte<8V6yZk0,:2ɝ { }s"f307g=b7L oݯDQN(L]yN{Z}=B7!kuE~' 3RbJL՗\ Нvd( K'vh"hp^d!}yx"*#˯BOP`v;+~N>4P".K9\`%"o猂ݶAG~zB,'|o:mGX&2%R'QY{H. "_,iꈷ* 9'l~*3K5"TMشTWKK1@&Tײ&U]% :7EÏ1z>C󉂞ЈxQ97A=J`\{Z/v Nj^ UH{lHPMX9j ZMл}v}Gj^@=.;81?@ ,IUHq@?rsko7v>\lBi{rnz/eܬ06;SƑBwd<OsXn)V%e7#$Dž@\R'taGP0>hHWiM.E=j4GjzSzd ׭2"xT.vs!Q?O䮴^(TVDXEtx;dCy|T$Ǩ"mR*w֊Ohrm,nCҼ] ;y;^lc (B?8{uRç<ü1J0@ Ry-د4PKTJh d8Vùi; s@e'8cdA8ZZRl-Z5ngq_ ~!J[d28s]ڈX@IZ('}?<ل3CMLBIj7<{$ $9(X!&#Y!eއS툆 ^IV:`V8qz̝@[(묎 #b΅v6nV5/,6euUrxOb=fKgmq&G:pcEB- uOhkN2 @Es'sG6N2 Rj=api9FuZW@ ]aAz^(h3T>Q1ZAË̒Mz'$!toQ\T_m~(wc؅m(s `qIAF!((k,:JZ"YLk, 28-`Ν)cij-!Гqy7lA4y}`{X* +2&^79֐~‡BajARwmP K=R8W yK^q۪Hr,ı1,{=gmhFS^t$#kxG ~>nnk-A{z*-h!}PXdFw?wv/?&(T9P Z{c֑CYaf}þb]"\̾srn\UbKR0BGVwmPjsb#٫5.~0^-}~Phgw{pnBLdS=t.ip83g-ne+Ib_4\Cc:́~͙Cj"]#2B. nyNw( (@3a njpxA5t\_;\2T|ݛkT:b= &M]-3T8f[j>^J['\BBWjA4̛g%~iqy`Gb)C5y>=xk0ptAfeM˒-"%"MoӌnN rTN%:?pҪ80oZl2ެ}WpȌv~ fKOi[ N)/#`ǖQyM<58LZ޲oDol&aK7N'pn owjBԷ,ۏ._&[$3\Xw| BeRΎHhCd bA68`=,N{rù}3҄%iA i$hJ:LϷt \#TkwxH[:t~+0'=j\h׍UaVQpzˊ:MKiz3Ǭ]?գ 7^4z8f]5R11^m<2O)s]8[}жu#U rpax6KCh)?D>M&`L$pӖMi:1A}HBKSV+Jٕ"0 *nu-z͝v0g ҜCjD}t`--.b*Izv8v*7&#S* Paj=ܗ8"S!mA]psmMCwcAEbyeТ1/eYJE5Ԙ>}ɔ)%vm) w)#`iMC'ɿAGs1pH,YlM \;OwB76=D2AB5@( ZufQ6Pmf>2,x-7!s<ݔz垸Sa!x!sDB4Ѣ2ᯄ3ivw쐽@7EOw_|Fu5a3!Kg5#li%KW4W!++eOJd َf'rsi/v,% Nɦi9nԹ0yjGzkh|5~E{A)f -M>`vXfSmznr=3.rj`/bӶՑd+CȈCwfZ7)Qrt#5 )dE M\C7W!d[Qҥ< E D Dk=z~jiMLu\[`Cp?spfN$6K2kݕu !h J$8mn{$_7⮭a!ca(v1.|&b? OVq`vWVR0Pt4#7 {n#-8eC&]״QP~RJolƟ@'^,} `Fl"=ҟ9&;WT7Fj椛pN>J(rB^P/ HF64uY9b2JC|fsH "5]L:P1Q#a9u9"6UZ re7Z ƁPgId=)a`.3£ vR9烍g[YiaGfdSWG˂2-7*?Á J[*9K8s~Wh+T)wn'-_DK)xs.he՗LWT[]Zp|s`z~ Iac%h?X.@t!&- DF'09J\hnUo'Vϲگp*ʹf.eAԋ7(,NjAHȐ#0g_zov0hwߊ+ؿ'UkrKx*;WY%ٚ?ď:V|* _LO4_.ric =kEuI.<%l^8X5-ʍs/Ewu6oM׷Cjݶejm(%B.| Vۤ [SVF 3Ur煳5 $ɽ (|ط+ y1?o}CR!ۚW[W\??ɰ(LKtd>G%0Pm;P 0"}?CZeN:S.lKWQeT< rIs ˚jsm$]o WJ@@,WK=%'3_z0.T6^kzNEU(Q֑@dSs-4He20z=&.8)j::mDh5}<僽aGHӈ"^|eE f)2j;+cS1lȆՕYlxŀVm` քa4d=&jPp f+!`u#$섷E>pPd$eӌ=N쨰a!}M"*7iT?>\Vߗa3M}]GQU34ছB>vd4Be?ǹ֗;%7VuorsN@HDEVB4%d52k+ai[W|W_|hš-uyiց[!DT6.E6 rҺH%[.br{CmESݔ-4ܲWc4CXf7S | Ү 3ؗRjD&pu Z0=פ1(r3 TcpvFnAgFwΪu6,Go=;JDddR$GghhW/^7up)W694 ˩?N6X 2#%tT@G0Zwcc|Ù}{x77HL!!7+Km2yF[k6f46v<*\a[3.a Ah/IY|TY o σ'Ie3URف\g}H ktmnbC2]S TaǡOE0[cKb@ [ZAZ¥3{a*cfC| iA8Puw58NjlhuwtĢA B0|Tjdr8e=xT=UebRGpQ r%rnW:m mr_ր] fpMEU4+AFѪ^:GkZ2HSPVpoDOrIe{a{XAל`?4:$&0?}0׼U[:?R郕fF&$D$@j xygٷwjE5k5 cEqf1|m +DքQ֤HQ+Vc9:‘5I6qyMѴ"o*i bxz>I,ƴ!c!8>[`MmYGcwIcxmGlV7]@s/fIJRqmsrSFD%b [Q1= ܀mrL~_ٸ 2kha0򙥣'tI3=Vo7gx<>mU7Q,0ll/ Z"RɪUTx*ZeDƒ~Gmz;C.v L^4Q j_ x,ՊU P;=ݣbժ>ֆ뱠ƒoNHGl++P+Ε֘\\KqZQ;5JF)Zxi3`Dp|:1θG/$h,$>1Ug:CB׬}s:=er$o xyFD ܵiw2 jPDw>/5cWǠARj }pP52|> fXڌg1w4uIc|zX,׫s5)%p0SeoUF@g7,:VkB[ট cJy{W}/ԟ{u@xbJuJ|]x7T^vJqTr֛vAacN+'V9@74,T ۶xnV7 Deʩcp,d6sc0cbq)ʄ$VOe"7l*u/fprA(O0t.ǒf훫'x|Fۭp Ʌ}!]nhV.Pđ7)F&oI7D}݃@&i`٢=)vD PD 9B ș0!K ׁ}:A?]P.뱰Ӥ&;.mHq]^b}HSIYÒ#g097d _u̼3 (ꡬpD.=ͪ{nvΨ<\Rw,k%<^z\kROt~])(9;;6 6DawpQ/%!sW#Cp=%?MA?FRJ%JgZ^$m c:!pL嗗Y]+}e42?V͞1T΋myAC͠ə; G 2}@Fς UJ?q1USPQPY}SPİG40|h9&_r籏; +:HPt܎գc %P%3)FOrQ MDmFdqBD¦|PA,ܺjQsRbUM*h.x¡քK+ezm;MPY9>WHAVh8'"1FҀŅ6+d>Tz^jl#$?ԣcV-]߱X:NqnϏvP =r k,t1,&.0YdN b#R/b,VN JOfi@/J`pdTCYXS-,,^J.bDƏUc \ad a<)"X}Yw~,f%~o-kʕ2}<ܤ Ow%%8YK@Vv}A5YlIpQ&k'hqhX%H~Jl |wvw_ b3Cx"] WFV֪/=w%PDo"NC'3G&KADa3Bgn3aYA׭Bح, )({DflА Xv{AT>,A]BBwz0nƨ_h|\p RZ.t\1@v$[/zך[WV9Zx ]ιT`7LS{~XR~yQ g([]z<Ɇ6#p:1Mc8~-^zƨ^ # ALnL+KT8f!wVy8 zԯT@CEe#nX(mFN/ ޺y*$"Ww^W*Юwq{W]4c(Z9ǪM Wa_ML8c{@W wKrC|iv"{6vJX/Nu6eZQQRQi(}&'k.&.*"RlLVє ڪ[<7{(/bi n:FܥY+;,[)`+P9a+lWHamF|+d(gT|"ajtjB$<һ هA*5 k:q/hր$d 2fl <#Ry$Q&$TsRzwl Rm '~lr3|n&d@^i?.,ĘavӏNN6ˏ#Rw;CZbxX fhR؝ \µ@KH>PHO@{f LvЋxUr>ǁuG~9dpFwfT)ұnVaL9ZźbG˯Xi>dUœDBϳpaS}Ea 8v*͘ ^9̆ٴb@VBg9w Ҏ[yxu4N ƃRgIq Lj ^]-*lhAi2ERU1vqYRp*a8ԔX2}. d / &vp!Z^jJo7*6][8[PBIEClSP.R`QQ#^ě$w$ B-ܢ]䦉 z8ϸ6OhX}Sף"Jv,jmQ|w&tUct]UۯЇ`8|!lFT- WĵZWIq[W^F>/r )ᘺ'MEwd|`ҵu 1^CC9 >zFL著쒂n>O^[[&œxDĞ>#:V服.w +(q@YaY?'m\LnnH4~LD_1,ͪ{ ɤHr]<}w5YdpC1sa?]Θ 9x?s ʞQ66jw% mҵ?ћ71n1~%j *M))l\UT)`l;0czcOy.xT" :LK*6wH_-FѝK4O8w.|h]0Ǩ^]2u- c8sX|f&ҧ4FO! 7-H'͍a;2(+G[ylH4 Ę ݡܰPKe;=h\޴/ b,93wp<*i!CK r91zO=`<˹sљt6`;5,0Y?l}~OaUcV3(o)5j0NڃvtW>ancB#;ivQ0u)a/qGtlt9pz+Vc ?ҢzzҠfEAtd+N%%̦]{H_d 6)vnr5hȃf|Sp%S#v*t#nFOz\aK1WC3]w x g$iNag0.yߕ+l:,ׁ^}3Y*(DKRgT뿺MlM@r"lt%r Wm|kof{F.Hm/˴WHaaAbP2ofwI]fQgyYQ`@SB0n)m("h lF|1\ ջ43*~)XᛓoCv.)fح\5% lŏg7BS|}{gٙ &i9٘)ဏ$T6 80K7<Z>4iY K=D,h ;2*M4nFt(ImQ/qm }($D*I3pMrKwn\$Dl%^*& Q[4Y?dW0It5/*=& Ꮆhi^CE ,)G yt + C֒.O`{ ԥ7|Õf(Hd`N(3Iw=x!+@R0ZljYkJv%m^ɿbUgޢ%mަ$i.0>4E.:DL D<#YS*oʴ&SpeK_UAUlk(DtEN}d_>$.Dz{g8/sȦ$\ǵ=.LN`uFPmq]h50ɝ jܺ7ٝxj1}h` ΋=.iː2A:b")` BuA_-r_2KU6E1e%L9G4I ;*|TUhs'uHl Yײwk4ާ_X(n3xJ@ ::BhɃ&>Y#cixB/ 5L8D46ѩygJT:r %YXjSNu;ɗװ +^ms"v]Es1WWKz_v<rK%W( LEKbY\:3RmDRB=ay_g%g)[ ty el|4=WJZۻ\[ e"çWR^$,)eB H[_ C>BX4Âk\Teuy;zpF5>a -UvtOul$`?b?mX/E_`.9Bu6f|FZH/=cqf>}n#(BvAիĵfVa q"7,j]#I^B AS_U=!m-R+&iC@Y`Zv1ƜԭS%F5/~"h Pu}89s 27u7-'ӟx~sxCWb ӑ0) [8hH+}ُ*KBggIsOe;AN"2&i (ENĐ$5x{T4\\+4XS~hFX4" @Tv:FJK,D,#2L$b…$2"B0Lĵ>O: ,1ex/v"x|oꗂFπAP4U̝lFA/ (s5 |b&]Hp1M;蒬SDfaBJsUۇ?mCiF͂d>򒾌YH76X'HJN=!kX&Ȑ^VryK3ʒTC0 Š 3WQٖRbi,* qL=,N]roPR.":4w MSI C<3F +NIvιaAa;(dv\]yٮ Ss$";U>B30>bϜq* bWg l?6v i1fmib%zG{ȁD^gaC^[" *O5۪[-PɟY.@3*&6m!HQh0nYLGg3Csr@N);8@ׅ0R48Of3K}uP?}nH%j-I|X,8Hś>vϙAYb@h E}[YB"2PRw}*qcxlkX0 $ bab'ψW:+:-V%̬ V+wvְn( ز_ORXHBG̬\'rafհu0!_L ?2 g\sJ0̻\mppZ1 9П:yyXI] y%c(藝2UxD g~/%Q4m sYwDq7 ;2wk O`Ŭf\:؄)`^H\_ HLul ||0>grw:3ͷ֡]EIG_AV)l] @b&_j>ay켌SEuPTJw|_#[JI67Z80@߇E>#ř?c a p϶inv^J^"C?4Dͳ%X7YX4 WV}c3Pe*}?aC"XGť.Kѵzc,r;R+},/m_Xy (p'ۂJ(_J޴U!}Ξ'\awHa!쿜pa;wK3'{'[.Va/g^>U n D;ԛG0 znrNIzmQl yʷ`X(3e~KmmkVֿ0'<{sI U30w _Φo 86tB|/C!"x_Ly*B$Z kV|?I-2M9JL$ 2ګf Mʣ2<-.F>P&!nU J+p窖%;(<=h {-ezBre IHMx.mܕhC$BX9h0e{YhN}};Iۦ~o44oyBr'PU}}VaoS^>=աt[35:8,^3YwjbpwQ+ %j؝ ^3+&6' :{2/˞+/bI8?hx$y2[<ư26 |9$ZaR#ےfg.aڝ 썁4P8'^ 40\=ű sv%ex1#y2e26 15r#*?'=Ux(pX )<`vqq&TDO7`l ջ)*˾i􏠌C[ [J+ ;O8a[l哊2ؤqًN&!qaZ0%,MszzhE.Hg^eYA|jyH< &Pvt4@BA)BUe;\Ť-$eRNDł8?ZYA ~ ^%WZc6{\c{{Ӌ2Q~Fp?cT$7fp\x_ #nrڏOxYHϠd;w)0c{eŒˬO DD7=*ʨ/b'[D*nj:b/YP807bJ}ZHR8mn=/ RDY$:KX}b E!r '96\?5_}Ii ݣ5ڠ ӽ;؜g[c3'fBYx(} }t]R7g'YSʬ)} }xP>؄X*GߟF3xGGqc;c4ۚʴ暓k\sƏrF{҇b_ԄuP7o 9I7T#X~Xlhvc^KZ͂jEnU1vBfE l5𻽬vi&Cr+)ʝJۥsnS^ 625ZLdᖸJ[0g^{Wd4T{U^1Mw@V~t7H eߟ"*Yh=% !VenUCY Lq0j Z,lȅ$B RӸzr9D2jPP͝ F^痈X'cUfoUY7}6||FYvס'U{&:f-kig/+yˑ( 7c^h֎dxnP|ic`bqR`>oV h4<-\ecps+1v"q|꧗pn/!&/@۩:؏ Y* T?˥J9 }(7ɫƌM7?IJmTz f!W)7go nWP%uhO+uԜCτSqRkؖ*E+ k/O:=_ Йшˮ"~4$4{v6+ꝧb_8qQ+75ߨ/ő-;F[\4M#:M pxsmKkV?<;ƴR, m^쵥M5Q.r F`a]0 /5P)pL_!x–@bQ``d7w-?\ ҆JNxPXuVOy%BԿ۔z㭹5Bׅ\}/9y2~S$yropCf0)9cYǑdfEG0޳:"6>wʁUsa\*&{s>-5OjaXq ,t*)Y6ڌ"Gd(B~+adW=SkmӷM\aMtPPW&V:LB&̕'Dí {+K`2{?Q]R=Tkf5oC##14uCH C:;0^r1._-7g׌em S[kU-ˌPed֬kyֈÒ,gd:XuRa0(>UmSVWyCOkIlcE'uz0o[UF ՞uT;ו30uh@"vݫ<ݞW3OTh;Iӑ-3_܊b{FezuJ_rBޠ^_,3x (r@$sB ֌+{v~Z9_lJsCW_%TΆbSC |C{>dQWvu9b:  K[N8$!] v'56$+`|˜5oұ3>sC@B@c]US̽H܂qeo>y%kv.8Bwދk&uNi3Huhl| Ue2/⾆bί8߲@([q@w (!gV{N0 l>d(16Gɒ+hi{$NyʃI̿Q,-~,['EOeɽHh){CT>J n0jO!ߞz=3yCVG1Wo?4"0U}uC?Q)ٯbT"DLJ8Lv;:;&4&2d 8.87(5-H48h[5NDJLa׋Gd~ Rjk{àgZ@ ~eaWƓѧy[Y[ykZꧪPȎKmrW.߾DmW UG#BWι4`pH'E:P1*vI3ǃ<"8 )?{'Orb 0 6vUmv$ir#ʑa 6u',TW747ìZpl%6@FȾ?1fl</dcbٔ?C%jVǕׁ=>8 "`aB.NrB ÀmT;:JV;y']z׶~KM%27(vv %Hm^_^OO>brBxE'  P!i`m0AA麎HJ] 5C}L[#tpˊӁpCsy.ZFo, !VdtŦ] -QgzR>ոK86lfVl#Ssvvmq"b&H;*Mi  {B+ ]Uvnea4Rw+Et#B|)Eԟt eӻ6Y]OB~B V&f(^eʼnkHYWkcvs |d9%Dg؆.O2[|K`Uf{ !L[ ?d'^<"躡=܇ zDǷp.jz'Ccb%keOヮ@--)L,ss3Hx*:)߆?QqmP6p){wjr2:P& մ.s[˙:Q9 gfDW88%wtb'=dLb!v"Ƿ]^%'V2W ]L"c?,^=][I$2pr>*[\?.-+mn+H;b.P" UkӽaHk3)2kz A_w&, |@ƁO# `8L4 3v ӵ9a?3zt6NzKk\WSgY= W%CZ\H0?9ICd]dV]Z3jւt-H)OZȘ,lwyɇ.D+33]CFjOh>5߲7 e~9kk1ϝ$t7ucT"JMW.q'朸>0WmR ȶzV#NH0"mxQ#):h& +_.bgt"Qn:`/ɜN/wER[2&VJYyAP|q:F 76[ϗ( R_*%zI{ Y2*t!:A:ۿ%ܐgi~4i^֜w&gYgehHGqs*pEWAhd<tTkηyյo5Vrs@p JHP^"T%FmzL6Dkٙ} CHr2'#;. WJ/f"G'<:u\cGG:K'''Йr f>n}.2Q=*XQ 7HL7UjnQG ZgAvb.$O|Y, )W!%$P Qf7*ύUl㚃 LbUW^8[Ko+`Tu,$S *w&*d\NvjE蜝pl$52&lu %G ] _I:@iX!BhuűSgc#!{T-C$&&/&oXeEACn =$;+2yT4\pKKsdmƋri>wq8i*[m͒w(UÉo+&C#,L 1HQ N/996;w_Ln3UM@z']5_rb+CβҞ *zۢ1ظ2S^K޺꾊;IǓ/0|7j@9-*",:NN$yT rSGō׸y:M[QAD]Vl#Qb}͉34̴:Jxu1w*M67;g„Aw҉uѰ`ξ%hiefؤ[|xޮē!N|? ذԚXs36*0l.cOPej.Kkv!Ŷ7Qw\VPc) \v. AW&b (k|X9'Ǔo9YG*ވ|g8#QKu`e)6ůԉ nǵaږ[[s?24WޥtTb VmRL8.< jq1ѣ&CU|dɰ"(s7,@/;{c8l,[/Nzۑo@/ϿuxFՙ2<|k fpD.-e9"(rrF= }Yޓ__d@ jaI?1w;Gޱ;' _yk5w ~b*^.zXc>Ht;\tN⊝5e5F|hm5.!c=~ӵU/Rv W]cvم"? c/OI*;%z3)鷖Y5͸|Mls}Q˼s@k31R!Ʌ"DZ.X4 ? i^f?d<_<4jZ9x'Q;LL֫ p{x]'D&Ig6e@0RxC Xj~4}Vǔr$J_47٪Z7rtX- BƔ5vʽ]vig͇Z-Mh9`Φ/Q"?-% uӉܫ]XYFyw|cX Gu3+O(L91&hh.J'/L6-űlhG/oZ1b#6//rcd!3aKYD|X>,]HlE1L-c/t}DP@QpLm~cwH 2OOr[(Q`gK "V.ԨGmLBE/-3Rwe4?H$͙B;Dg{Q\V c$zAuw)cijeevVe1tӚ0@󍱼X~w1N(e"+-BEN!+Knl:hnh"i0Ui$*l ȠZwx4ΛM~jGNYj`zY|EkN[,p Dy5R"*O< +Amj{馭2ZV~b z&zVk`C8H1CRB"웃^͎h+$zHy='xQLt>q 獢EwB*j.csFaT|ҁi8E8hb7@ĕJc1f=cY'$ԝw#pFN !;,yn;ߺUBDbl4Dax(禣)6Cжl)hФZ auJToT#F˥Xey>9_F̋Sdoýc0/tmB.Er-BP[bdWȱxiIbqTA[ԳM~\LCg). WŒԀ}BE6<ӫ#PF9pNίnShE⻻nM'en3o8H3i5aMꂉ iEMA"CcM,e._ tHƜB%7NCJRehF>M8~{!VOt@wi Tǡ;bGE 8 #5:ԩ.r Qڰѿm`%aE盳#MF,aQ-)cY}(&'GL\W5kպ?Ds.-l07VuDNgz0  G`B$+QJ}RɚL0>IO|!mt V|"'&L9VU@KŏUAyQ9~`I-?>b43Uhflt_"LWJ2~wӀ|0Pz'g&!C1 FVP=^R}FQ.1j !U"EKB+dWg}zӮD ".1}'kqƃU)!(3)ӆBKܦ4$EqjGc}CCUDP}f= 8Qn0D?\o}ipA S{ַut8А7߫ڊUS͓tO[iоT|RO_vC{mc±eߥa\P>#\#6p9r>H핌iv pQƆt|aMa% d֛U$~nԷz@ZՠQ8.w3!+Fx̽S_Um$o2_z)u0/]wu(2dbQpO&KI YEwZn]!q{/L8h&Ay<{&wGG=~J2w==uyȔ?kT)6ޱҊ|jlQsc 7j3sY "ԬX|q;#P`% >Fe"XKUKsY*)g,KՌb)H8JiEXaLYrРǾ~ң|2+K&מaG6b%6mF0 B?|GT0Xm>{톑a٫ P{:V#ghсauj;:E̜,Aլ ,[RLʤ,&bAs;ꉒ]dĚ\ ,IFCrx`r6o7O Ke.r\?}i0E%2 S&bɞRp?hE0c%4@畝]4'_uر?˸&U۶1DIX U@mPg_d;&wlDCfEØQkۺhhy:эP'.50Ѥ[͋[@9ƞϗodPؒ^Mšk%//:wcSbM/"6\A"tOJJ?W!bkT* Z _< &`;,'7ʊQE0L'Hh^vK*^eRL2ibn΄Do&B@65>w]1&HiN2ĺ&s{{ MTJdnRKz}GT߲ՃGt?,Ѕ͠p %Bϋݑ7ݔyB,i["(5\ =D V$uMM-aH=72y }jD'7{Sh0oJ[A* uAsGR8KʗiO 'COyzdMVq VU'-L7[-Y2ԓi\H~mg@^kpEZW?k1W-=2Y_DZڜ᳕CmTQ)-BܑO\y#m#TB7‘󅩸c9iTy> r@SH&USC4HqZ -!MeuľxˠtŽ|MR?͝3؋ ݗByI5wGNbg"8 xтՇi䋄Owy"}cǶb\X<ٲ]P3ia.adKMy}k^%t O$܌፦w"! `+L}@MҴk >i] 8ˌCTCL!꣖as_RMZyn=͍p9!CS8@eP|}UNlf5JPrƃz=0;@z E1ZWwU%I67y#Wơ_F{4Ӭq`wywބl`Ntj>nal/:0 ,U 50riX=,2١B@wb EQh:}FN qn)'B$t31}$&-F+zҾ濫(@jV;tPKM2I g6{ UxDܓ{r P|ֳuVν%`prqU{Jxsŕkk~, nKѦ=F'+WC#[2WW[L ߳z)S4*8F:x }v)ܽh}1EkfqCd]J- m7ͻrm~CKmRV+:տ$rꎚF a%r2ĝFl;:VJEˍ~Ԑ29tނ۔ QA^_ }W$tG=,x2Y-ҋȼCԣ,/3vt$ 'þjaKEX=JMc>W,ӕn~N%_܏GFTYYP2|H;3|mRk _O!ZVy4{8wz캷q[ߍZBDx^ɡHLL#y{hH<ԕnfi+Zȅ~d_$/ʉJ{a|Lк[V(ϦTg-S%Jې~| \J cKrss5.gPv!I5 e eoKu]}US'{7mO*BUѬ.W8-5x( < J=t;c|heOtǯ8ٰWd(vrP5AսuխV _Bus[9SW[zpvBux kq72O/|=Ĉ`b-;Vz{o TFE"s]C$Qi5!*n3;ީVe@7t Ji骚C%W}ZMְ/"*ŊM@٨u%#Se>u4Ɉ爗9b ^9!yEy,:}y)3I NT!Clvu嫃"[];370F6P1#䪈d3usU$,Lbq'[a[XdcYjһ-V (yEkwqy~P _L+iN+UmQY)d&M0Mʘ6k0Ie9}g׈#Df;i.$M>;x n1k?Fl),>0wM\,SQLu3dOB6rQNRe*h5e}X~34xD&-Y+cJW }yLٮkkAWtBNi[*7@P)5$kw|hA&+2m,vlv Œ[T.7CcdŒ`lWgYS9SK -Έ%X(h%\Tk4dH0T$Rr,áËr O8`j#(]Q6mzs E?)#Y I_\?6dºMF͖! хZr)r9 . :o |}$_4k.ON?{,oKԺ;!7+hr){Aj`obR)m828}5ZWOi7Q'=nf&$S>_JoiXF#IccB-k}0>F8fqVG*;:e%ۢ5jrk3nT XM(8'K T*SP|۔Za #k Z4X,wiμ`&D $ra=-.2lT0uCaH1`m@6}.DH00` Ud\`2 M E$H1(4&p)0b0Q*TDEDAl oYZ|\&$C#h"b YcB1\Ad)PAH B-( 1@B1A*x@EHD@?KX~4lZt#iI<5H@D1PЊ $ҎHǐT܊UHqv'yIĄ~@*H˗w3`>E1#UEUUZl 4 f`״QVnTɓw=ӿ()tV2"&eҭqЄX` Ą`@pAZ Ha]$;" p"*"*$ȨlE^?E%DivAo,@- U/"CˑW* q$UD1Ca ƙ/Ȃ:}GaP\X* ' r<ǺzK(70TTDM냁>ܸ;ǔ4"" *#HTAUV FAHcac 6E&s`  qPB(9c1#))( y= {2F01c  HČRDU)CQ=<0" F(E-QMQH#nQ0@"^87+ " L l )AHEQO1U][!B.)Q*JH'|JbO1^A/= qQ9dRAE*)֊(gEeU0YLTE#@*ӂ"Q##!"1HX1H@d \…tF (cقҠP,#"JDH)P ! >#)WAX~Qu;=O;!@&uʮASR* sKQ"шQ{SAIj :aX|@ESD̈JGAk]{{[5 A;"{6"90Hbb"=8 C0y'D$@\HSI]׈"dAġQ{ .EdP ֝)|=x;/ Zw`a!9@ C)ZEbkuvXƲu%FEHcDF AFHAA"$H" A"0DāDD,Ud`,C@E# %077?"*6@DrD@=x b^ˏ#$d |}us.X2y-`6w v{@'Br^c3# SFA~)ǭ^N~P1PQB@*IH (CO2w|^V]<0.j$}<^>]ikk$(S0 i2KEFv?}{PB@#ޓ߽Sp:t,2:F2TDEI%}(@89z;?[ d8"llO@vlR;xDZ@tHV땇oOÃT31'4ݲ!4gwH H ؈W~P7Q66"ry7\]r  SsqD\zwg?JP>;N?옜[5v"ڲ*{?„G0~TS{P#@M8' zJLDSΑLF'aL]C7E'z뉯(>["kI(k_w>&e Q& s!Oy!6h?J\\, '({n٘J䪒CAHN]JH[ C׶ X/9 D35۔z!ep& .5gBδxŧn^`Wz*0'B 9Vqvqr*mf;zDp`=~㉸`' R1 1b 1[ ! YAg 13Q6D4b\l\Qlr9yW/o"bX EH"d"Fub " E9c+E$ fEYI$i. "11\r!"%+eVـ 6lƘ=P9s@@H f )QC@ a 9 KAjv A+ÎxE+[Duc;n~Z`Yq<&GWsD^ئ`V f3_̈́ x.ƺl#:l8|f,cCۑ@"jl`"*q!(w A#@JbS@K`Ko(UE :p  lWm @CQS"Qx,yn(&݀(qyX"A!@Sb @:q(@@LdEg@Uu )u")PQUEGɐu"*"*F n`(΀ v H" ab.HAvTCE<L-0 1DS`(*"X?4* WTU紪:@P7Mr0T0:s9Cfqɢ1rЀB(@IޑW! w?a >5qzɃܛZ81nhb(S7hB-f巺] ͘[9cCf8b!@L f5j'm!L#pWkW MM&lLҴ.xϧch c twhdoi:X1y-Dc{ZsXfsSb'AoK% a.cPЂsd.ڀpi()ٺo@O/i@8b|Bgs`Q:qs LU,{>/b6'](@ӛ(:#-ԹcAa.i nl" JsQ?\Fbm͖CϹ]]{\I"A h!a }[H7@P&ݺ]ƘA41T("!]7S`i} v < 췱gAEDwD`t0U]lA;}*vL 8* xAw 0ie ?H  -C`/E> ű7mxc)U;v P6@M]ET 0Pu'EWm{oU657S` D*Qq;k>FQ9pp "k] @޾r $t?/2h+MdE}͑d6kLbͽ:+g)Y̯mXq$'MRPL$c4ɷBN5 _bF5@5mѪ4FlsDWcEQ &7zl̞V{@m51i++V ^hP$#U(=?UΪS^o.jM7ٛfiWlZPWm.6\5Ë݁"ʯ">{ 4lV6;|mLoɮKfՆ[t|zCzxo=a`pn { gm0@Ix*]^NfMaf}7ڵэof%tފ:;ӊiZ/oO/Mz0@tס]8  PPDWm ]qwQV "x@B}귢-`K8\eA7T9]r*/YԢ)|T E:9.[a CkTCxmSp5jچ @ųj"0  0A1z tv';C{"F(xZV )@CȍA!cdV@10Cq4)f)Jb*^!(F0 tEXF= .f f%0Cş2'tSAO h"`u -ݔX@. DWz08ހ`ӑP-H$\o=wD`)NTH/^3v%'b¦% D#f{摐}8dlc(Db"QCV* 9EU121UKDD*h   $ .)TAb'? >*&("=r zB0)U(i +`=xXxrw(c`(<1r ?[*K\fGfDT̀"|AD1Uy!O^4Tw 9lV?[ʴ*QUEqE RnS_,pl(j@ A19m` y!DZu,AN%k*` jEr<,DEtPD኿0  D4@"F&X( TCNڊSDLA5AX:ET; >" ި^EhG r(D/ !yDo \^rp{F1s(KؑCi9"!uI F0> FsL#BTBhJPD VA+gYGdG(QDPa A%PD "ɂ|5+"$ȇlD2 P TX`մ(n QIQ 9E]A SU $B=5]@q](@ԁDŽ /DAҊ;̾" @f(H"(H=<bX"=A|H$Ab.Dbt,^Y)x"1 ް@y(/Ap:W\A/q[,$$Q|>/E=K@TR;JeE`M;8z(xRX B?R\>tyCaYOb%9;lb+4MbX P;Z 8W4)b ,fJ0dHiD /@;,DH&E(ϤHu@ˈ‣ >R "w8b ـoP&xrDi}LPcv*V ycs@`pB1x0"X0[A0<0;A޻APyD Sfd !Ű 1lE6a^nhM")؂6Ba$T.`&-Rb bLt*H]cT*Sgd#F+{{B;_#ǔşN,}:B8B/ *Aoe~ [z`F e1U tr" PSð@6LCC=ŰKtA3}+1@Qء@ :6"nwT``&6[1Nُ` Z؂`;|-#~cݴ?G ť8淺Jxv)~ɮMg#ZEa0{V)>:Ǹ@ic`qbqX22?<-4B1XڇkFsvNb 照8[LCS_ِ|kOrv0\+ uia;~J3C3|v_-S wcQ>w4yge.,.q|i X߿2*jHaqL4cދ,W`d;9GGaر ?M)ոJw/49Ls7x8_LC_^N1.i4_VĦF5F,yV!bc14P_d7 v>8#lnc0&< uMwy\#7yNɪA~gr8c0`0zi"!LZB!ϳNՌcXu"Mif\H4O#54f|/}Lvrh&& )4>kg=Sx`thp ŀ0ciِ^TG[4SGa{ds,/E'qlxB_q,\#~޳DC/ Λ8W{}{|}.[q[;x70 :w˘ܱr>t܇8رӱ)8]xp7vl`Xs(f61j.{eINhՎw &'??z@J,b0(`^ļb }y8"| ;Vmcs^]þhzlnߘe9^g6#>iد;fbu>;{k}Soz/xaX+lD}1_^.bsQ˔5 s :6.¶q}1I9SZ:c/ ϛ`5!};*"haS^r}[}t@t:zL4 @젙/ OANaI]dj OYB"o|iɰ vlu,h nC`! iƼlܟu:u(^hr&U,(B8A|>Ig[,xQPfcd,wivN=O^~oGF̎&UtǞbzyى?\>fAȽ3` yhd+8EAn4hٿe] 4 PӜ-)+0n裎7C]as~Vw'TuF+F`)t`^p2F~@I6.q|As%Ð7 #rmdz@ GzP:>x790D1F<\y28Xn^;58wNY03=޾CJ3deKw-AJqj2`DZcn4~h/c>X>6o` ˹ 1$[@X}*#5.]CNԘZ]Fcyzxtt4٪uxzWH6.@ǀE; Bhy`p4 < 2&hOZ9lhP7H}w0Dhۚ^x`HM9x'rfbcء8bݵ2})1ܝɯ<)s)6#{2sl2酘e*3P,BVo95seY9 Ep)IzcPܞY+^YGg/LIp iN<_^0Jscg2[3b(2C\,O&i1OaM)s3F\Μ$&M$,iiOz- "XqhxBME@`d.yY0Ѹ\4cl8khEޞ<8T, b^ Y`*ޝ9f뛆0#EΖ| zIѹأI2Gb4b|6 %t2e>]C(a`]08a93G]CDp" P6[Mܹ [E@QhFd(vǝ~'%Bg^+9 39.qȡvq*0}=Q gD5yh&(` 73t۸Br *b(UoZ)PNs_=19Sgqbts񎈿a~c݉? l|NJc֙~;bc&>C8v^ǗG/ZirPLvx3&ԶjALx<:3w uDF+:c$z{N;RktF- _|ь-̠~k]xx s2Rd.9z=5B8z'.a䣲 !7"H{ң.!?7]f,T':5%p4UꌄrPZko&3P4f:T@Gò>Ǫn h̃4_joɐVb-f jZ|"ӓ:F :na-N4.Ȣ5%F~QrelϗeL+><`",)?_qi wzS*0լ(.ȣ+PLC8RəAxc#cp=HňKrN=v*(pϚ2wag i1QiPY՜", >C?LP::s4_Xmj9;;c`Ԙ`yTkr}qhM]27{~ǐz.)fCINq/5Z{=S{^'c1Ho:ǨDz)F31q3ڗQ75 E$@lC/u1Lŏ\now_ywZgp7cGc^m8Uj?:-\fG @@4NNU{ͻh<ذq?X p}?DC!ېp`8 ˱-I󮅎'c ?v&Nk6nzquǴqr1߀Vl͉d)*9b! }Z=}!bv _2[0F0 bFqbދ=HNzT)VjGeH^)zB yNE"#+* V"DA J EhبhۋVUtGBbi2b}(l*.pBdhYљU~ZY:̷LcqE)u5G:~;pi7"l04؉!A(?2:P%gZ[lgXXO0t Y{FzߘُΟ-X rw]ol6cKRD,X* `ʼn#%QziT*]1 X\k'i)uC> 9g_mTR+(tṘI-v =/2Q\OyW{44U9jT>oF!3D8'#h66>۶!2 ݡD44ãXС8G)۴o4] 8xދN-01CLOUd#ۂV?/?}=Rrg Q&ܳPlGF^p6'ꦓ]0r!n+L)S+XS/˰n@3$k@9_ɶvxW*נJ5iuWohQJA!zu^~3e&P FmJ6" QH([п>0p\[od^<> B#&ֺ."壋Ovʹ@\]y#~b\ٯ _Mۍ%cnPUӛ'hz; ;xx`黬-*/ӽ:$ouK!?])xtQ<6iפ`00bbhZ5;KxhZ&Z_+-*]]xӟ#(rP_M7mk5*'NaE1/eo;L|ΌyM1R6UJn @\(D 6_M7 ?;l  qLs+k|DrA-*!P+PR ;,fu(Jℊ:x/`IjO.TcmFAT <>CRv2Xáv%?&#sSBt B @ }*}Ĺ$Q h>#F&^Ak\BP~e"{Y6)S7昝O[¾q(L(T/J;d+ߝ{(w :2?ל|a ڱ0Q|6_n?>>\"UBm}Kʼn 2f;2}-vQ13-)j>r"t?5#?:Džxp@h~k{wLokB0vZ~0ݼO*P[x 0&ϕre`B ttC8vN98GG7vdDzTW'ՎSyQ$W1 y6^ִ2 lQp&t*ds*jqJp^vOi]RBo 8\Qul/OKҠ"6>ωu"=*?G=bmP]茊sAN(d $$B*~"&;{ze` %ԫa~~wH]'p;Gv@@I|Fn VAzPMYXcCǃ}_/HLJ]%B]e9=Vir]R?-k*efx('d/X%@R!WKh)RZCeCC"1j UM&oU?e \8G~ -O gdb ǷQb0$L`MU$"]~1E7̘>(r57[Ozϛ(5'~hIUIboL0+==y~m/u_`r ]*@R Q+o`v),^h,L)C/6#NFbD `,`Fh50ˣڑ?љP4)t\l@`"9LA/QJsرψAlAo_j?}Y5+C>Wc+B-D~|#ecHL`bf8I Z2S 0c<[@d/}QcC#M BA,cL PQ 4W;kjzkcr&,h~)h>`4hO:*],JzhU>% %udt^#,͹ B@QZP1sOcʬB[V?lB@7 'j"DFZv-Ih @HA $B4چpXZ(T%RE,iF4U@(DY))4ǶX9w 7@XY=1UoD8 Na(qPiiDX *"%n͹4H$9NgϦht,Du^+;|#&Ϛpq "`!w6{3QTDĈ:*&##QSL y867 7me><'Ouڶk92ǝjZpf?;,Aʂ́H) S" 0ĚD#_/0cH/c혟y+/i9n}`kH:1ٽl> "PdSD rRI+Wu>Xz0cExZ^=^}~'?F1XF1}ͥVq|~f4)"ZK?*N&5%kzWQa 2bgXk/I~ZnFIަ'<޿:Zu AWb{MjWdAD$4 ǜ+oqYoס$CLQov c%Wba?X;FAz "dR cY0wZK)mAipyb-Wk R+~(Oщc*CG:zۯvwH@Ta=@S= c0{?raO,DZ-tHy6 sFu4]N*dP^A_+V-l'Vc0XIL2ֈX%ՈH΢~p9꣮e{D'FgܰD@ERIZU{ﳬJB!mbvN0(y涍 tRE\&0 BÍX@u/,N/1R-ǢB2uks~04&SZ`Y PhPkrdS ) tgq7!œ Z,{=ň5Q ^Jiv2l;h0F*"MDo/uLE}n~"9T"U)d?7ƻȬqI1cNw2πш@~ОoevrbHܟ**HgUU%8xEժ284+5 "dzHLwb1oVL^m{r5 nKy9?fփ<\&(~D_^r ~[4Dxs_DZ`Pv ͻ$(OifڶN܆a T)cW0*us=kE<X:; =ﵴX$bԦWtp}àU'7#KyLTƼ4 5%7=}oM?ObnrKs8?)jVݯZ]7eĪew᜽FLHw}<3xt<׋wVOw-y}Nc׳u-ގ&gocqʈYAx<@>oWcEMCEi\~ÇT8ヽFY-\R%a,~ŊcjRl6FYPFĪHkNX4bX!6=!ۉnļb̕z=ՇufqpyOZrvM)S:cvSv⡢¿ɟ#0f@6ΣںHzr0"=ź9D MD |T2+R'qɚ̪@ͦ҃ܣHYg;``f5*_M#hHO}d+}(* 덌 =`j8|"o{vȘhPvjQ' =aN +~6,<"HsP?݁[_~f16nOnyY(*8?[@3 )= }ʟE]_+u ?6~yi] (-G*`nK66F.(pwly장F +w@) Ab8Wd@bMÙi?.vTq\vC&=Čvb'ޗՅ+?հϢJ8K&cYbJek"56B5B6gor6'<~t&4#s~&++ }ywE.`}-1ͽ;qt`ݞOuܡϖT{b(< { ׂ}r:Quhj>ЙMS̱cSvPGyݜQ^թΎstYJ>T|;?OO,IaT_(c9_I,e lŘƿ7 }쏖Y1FO(*hvfvcd~c 8{G.Ol6? P()y3G2yxٟȚ\ϨU*e|#ܶ'J ZklK.86Gcg<7UcM2n NO;ss{#{?ęozW4dMֆG;NZ#thS7fC0y|z0~:=C+ rmh s>䙿'E`t?Oھp?OaPA Q$$G@7w?pHkg|P_1Ej~Ÿ 38݉o8  }) "/VMW/j nh8,ІaB,2HdzrQ0˳ _WQ9i )1˼+c3VCc[=/# `ʮQ{H/8/XfbWVտCLHV;=$c.| ڕQoψܸPZ &'-FR/c7Ϗ 6?u~{F8sǻA0(%="\(P dKLTpEMC5?=tC* u|?55񟌾нN+[Ia ;#Yg*=Ǘ3UW'gIn)k5r|gppDNT -[ 𠳇4!p[K]39}GR_/q G<528:R;c wT ?!=ĀU?BQSl՟=3_)|I9(Zk^NkWݻ9̗ p{z>>B&d L5ꑻ~']E ~E Hֱ2~` NaS%2zíup][s᠝ذվ1^>ҿ'' Pk}1]kDe\Pr9vP'GA/wáB?{*T "tX^m73X? ͒,ќRfEv7lta|VczfsW'ͥ~6ǟyQB:;R06/5#K{}A3/ykypksC?)ޖ1:8]tc9ǜp.@%Q_ 7`29^Q,m=䋰xG>g@#VRi!ݛDqSysz@s^1KH>1zaDS)`@2vX7;2УlEK(EB+jh]b>cz!ƿũqLXl 2=M8$H ,H,TEN x.LqpCV: pbL4'SO&kg8kb3$\9q\Wv7u{{E DSu;E15iV}2; Vgk(q!m' LBFEP*JB?ܫ#jCJŽ% 1Z ֣ʪfFxI AAW++) RTX94]/ ,b($- K @k JRFZK(mUHZ%T 6Hڂ`URU'N%,  ޠ 0 \Cn?|p8Z9gAt.r[* a'加s=:1>_689Ym@Y7|i|OjkHُO(̕ ]sGLq}AKW}m=C<=xo($6UI(0A{&w0B]&> ͨ#dPm^}Xdu2{ˆ/@?[aP?6W[=+h0o8t [š_<'-]-HJ 9h_czT*&#Y7x{XT!9?D„r)0CPq"jzkCcO+qv/_i3{lb]W)$+yyN%;zaLSy>`=|ފF\hF#sD:_k  YR\Vx:3G{oyVT\saׇ0 > .8Md[sv,0Ǎʫ)Q7'-y8e^"wr޽bsUuv {'./R[Nc++ t7|7gMxOp8Wb:č0s*z`Q }X>ӷާN3KF@4 %.dO[QE{xݵ@@')=`@K?;^wbLL[S7zosڨHM) ` x4tپ:c5|[iO p9@%i?$1G5CYVݝL4oaMJ"HQ* {4qcȟZ~g,0Iwcq-d !TTReZ) QZil>]`wGwk~e9&E?9ڃ;=aOn~2Ý>QkŐg@G/noFy}6hK߾;h%Z(ԙ)" >^]sBĠ7P<9' yܦ644A`LxF{cm ΝǴH*]"/g b&!:TO61}akAP;M!4Zs`lW 7ZM0@CB@FoAJV h/@"|۠C$P= >P5 %gV=z4 \wjmT**Adʒ[xPf P<2]XPFբ-5z tB p1sAs 2 .HSg5Z-k)h28G rŊ2 ^EFqj;&HDb_ *>q7Q wsy2T)`Xjݮ$C!{cZj:a;j.h]*'̠׈zfcR>u\z0I¨v6xsdB5@@(:o&;jۇ1 ѧ5 ^Xc#eKne YR Y[V69x4Lb> Fo#wJiVDfc2pUob96LO70v6/,Z/ #|. rc&ijMއ7w]=FUVV;t30פ/KîsZ@ϛ;ϴtv(&/=QZEr#qޑD1G<SA4_>ݽlQ&V>?"6c3|_q π;x-0]#2l% >ydL0(f~W{9N 47It69]4Oe9M>u_4=L(\y :3Ǽ-`}iƞMpٖ@ؕ0ї K,ӏvNG{9vOq fِb WznObt@nPX& 0z f "/_9XQ4gj8Y83k`2JӗE@M;>W^9L8fh%uKh]"(u95y?:%.tLzz# m~+$麇#>c\NkkOs2DO]Pln†vdlZm|,Y"K!8sX0mPdU %YT#R(VJ].o,8UQc%vsGYVDT',/Lt|+Kgiء<~<0FL|>j۰*3̶+(C/x.1ͅ)JӃ k2Y.h}װCЏ;~;Mhs:Ё"z5 pμkÄ xAЀ5!5ja0v\6|愡fhDYxX2 =so0a^7]3[s./7 6'J"\E7E")=KlNյy(\}O C(- o.'dFߡ y; A-QCp] C/rU;:?'~gߩ5E7ly?SRDAN&e]AI$w!4)'ofilމK) o3z!RQa:^ۯ:#9n )C e=E~uǔG/J t:U$CksӔߗs5Dc5Z0N0e#0t4'V6,v 4 ^l';e ! NSbcqf`web!֛K!ݟLjZ0Lμǔ*{ӏ36,ŕ0OLy(8 I9B 1@nn21dP/Mqn3'WZm A "1A9Na0`Q䶦SoQzm1] @@y&>D7X16}"u<,B0 ct;F -p~ۼcfG-sCHz$=#OVS:o}vxPlO$;ӫ;348s2ٱ7ns|vw,w76%[;6={s9p7)sf:Qy7q7C}cZycs|&bZiigp*p:l0ldzx.ǀӠt:_-}SsypCKi,l{ik}׸1'\,-\/0˞7{v..upHӜ;7n/渇 sӿ{3~7L|5pα;1xƟZ'w ۇlF={8_s^97 g71vlL3zM7doǮ7oq!x?6{!}lNhΔ SW#LZ!o+8._j/Y[ vVŀUIS 9cwә?Fqhm|䛎:m}\=  M17P;;f b|wmɳN& OlN)b?I&:LSK Np7q+ 4 )`tӧ =|Ls^]p׃qdS/STEBc7lAN5nf8x52SHs;Ổ[vihǻ՟@ٟҕ۝a`P=q̟ 1S;RҜ9әQ<(ŝoP]bQr2 BWy\497#sX|g΀ i i, =;kďBOzw:6Kl'WB)YՃ g `OfoiU4.`E>P>`Y>hf}i @;-uZA57$ju(Bʒ7P߻d_;Wj\͙dW?.  qsDm"_/e,ԏ?[lCDU!yo,zC.p-VEeqVu~_}]V^s!;8vЬmq4=`o{({xJA w>E8=>dA6ujT.,PIwNX` N G@bftDN7j U S}D#ssc+;x-\^w68:j-}R B%N/`?ؒ\8+jޤ@Rxԧ*(L2d >w`F?U *_[j{pX$#XFԦT1KbP5(y_ggcH2QFgz$iFe@'|q5#tkY !aѐ2;j F@9Z֐읎߅Z('b*DNx˞4`V11% ZZ U 㒺e5Ԃup-o0a[ה8jןxק>ls+66ۯUTL4#fLQJG7]r1u_#!M*],##B>qzi^ Jh &bYeΩIq'G޵! ea?B8d)N0|hZ F0TfoNENφ? ToϋyQڴ+䷰Š(ADEޟd|[eтqY>:7^3SUyoAU\t>00T9)!>Uwҳd$. $͇K>=nqu˞͂ h#7l;hVtzҔ8-3O_!M28Q| ;cd3ٜ7:bKӛ7PJv%erTP=4^`N[8bzvL]^! ˨7g|x\spDO!&B jb~Ȍb̧eL#N[,P0FC(M?[k[*GnJDbͲ܎E<ˤM śxX$$C ֨FgJcpPXb"_<Fo٩8O5. (TQc}џ  EY#TdF E)(b*  >o`QEX *ȠR "dPX*(Y",( Thrܮ?zXi:Ohj58%,r3 -OFӂ v g..H56ځַxw;?s6)w^VkH Eפ_Wvg]^Ɏ%.)2ܾ*~eD2q~㍡Ãڸйyӄee>bw1:ǐ,P \at, ]m ` Q+c@NcM^ "axI 7qys\k傯Ç}ϹZUџ53ṔPH/<pzBEx RN{n6iR}<#A{|%< ̔VW ҠV No!pvBnY~K$!<أBiW\Ԃ =UKŋ94.011[Lc3џT48޷ ;YDcO1{rkb8}F0LJ(u!`uoO?˩@SAAh-67 lc*2e x[SCe!dOE&!WpfEt/I1mqz}]'NDj& | j*'g{l7I9:ۿ;߈?Wó`34)z\WEa\S>Z}ߒIx#o7: H.hc}kW2eqIσão7ק;gZ-c^p̀2ds5)T&~]xh*_T{DIL&頜(X4!:ϵ") !pWZ9v0(ǒ> ]1N-p bC8PBwGͤ^}8L?J}$k^S@>υ)n y}'зff]6=YQ-2(StK@`li}ur St)} x kƅ" ]QH ,!w8vET,ə`8!u}ϳԆx(:.?&gL D!s!vYfwcAUQEY"`$aYaF QPS%E $viYmTuM\ho;( ̲RRz1⏇{qAY@)@.#T8jBfN3$G.fIafH*1ĤC w㿥3DC1{=5>ST鷌cshrvdvV -n}JOha o~VovMXPt)!A<@e$-T9,'b:*rWJwL>_l%RwPcӛlz!R9_Y4(AD ,IHIAA1iOVؽ(#ɋY >V{Q?-~<İb'(b֞-^7yKx`b&;ע`>;뛛7~H$! DT"1PH`'zU1DD@PE1DD 1"K|}6^}$W~q$2?'KQ $APw-z.~$l,yсݻGg4f%(*ʽc_].gu0(9vr)ԡ}k׎+K0Wg'FIͽyYÓJwP4a$$I߱@ +/4_l`!tZ;JTM5 5DQԅ4?#c>\;tуA} Ƿ56^קsf"ymc]y_+}Yذhhh}/74}ȁ6\ٳ(jaQ6\X|/PvpCB@ dwQGiœxF59?#.xN.<-O07 )gi\l`~A^숼O|}@ ݅",QV(Ac nF=,x}l%w]KvG!b[*L;ÿp#ڧ̽6|}̘&~rO]"'_I9k>OieqzOv-́kEvfZO퟾]yyN{NmN3m~$0/%=Ŷ†S-"JADH}2|(=TYcEARAb'D+c{hfӔ~')LTO{'GT@wD8]{n\MhkTh~l&@]mJ'|Q"k/ieغygt88u^t!2]kAlljw?ݪ-4EreI.x;+oAwahYժ[CnX`.8[Xo5F"E!p{(C, ER D)B ,$t'+>u2OJ@qmC'CԣDt`)9M?Khధt}/s`* 2~N<,tcN,L{#[>IC)}PA: 3E, &qrP mG:7EL Ā 42h@?Ղj/rMw`H.F C~;d fTHo/mx핯Xr \PW@'(Z[%mz\XKQ)$D]lӂX* 2@Ϋif#t5o{LCA{s@#@tvޟ祓sZ\/]1e;{phA(UnEy%T|B싵fvkT,w^vy~LS7usɽ gOOX4#/˚bЊihG]tbHQ zepl_3Wִ?)Y;-%rUN,g3>eSQ_aXvG9eg`pÐa=}u x?7c;hN21sv9;zG{A4lKJW?d3c 5cK"9K~ѱ_,0嘁2qcbU@BOs:hz>ޞ!KhP pPj f@hO]3?9h?:VzE i#4ƈwlDǢǙpY6@Y-#J蛙`GPfQ+4FtϴrebxY8ל9q³u4EG(qg- ,vcNݛ=+{um66yq; A6E (˗|FF'kJQK!WK##4H\e|{26>ގ#uhҲQP\@5~m!}rɛ0rV*ɋ>|0O* 7χ}EGd1G*DD=Fd=Dᰍ(z</}%҈U*HDXE" [쯱# e/iR}&(Ӱ#4nUijdjͳ#>M͞T^TApS9-Oj_tDA1ιȱUzUNb`￯>>ˎ5.]CXAH/5 h; #h}+>o @q4gꋬu#+$1R0HI]e[&&dM\#=O//?}Б^[* z4mFOޒ0տub5~Dp~>Ͱad97f93ۦޅ- ݳH\<(dL3}vOQ(mU6 S)E/,(w7ѡ~sgcnr4ٽںnc4KNsHnmN&g3Ah,ol;-6nܼs6om+f1ܺ\ ^#l`Ǡӧ؇;f,\` f1h ݷsqނ`X\9X4ٕC]{lcⷶrjp>?1X rdl[j("Ϧ0~p78N5l.T7 H!Hu/6wu;+`35ګ:W4Z((E*à7 $ޔo@ǰlnu8:ipOS_:1@Ok7V"q6n"gG[ǤH'rܷtoYF-u[r%navU1EQz8>"Ԉ%kVcA +62æ̀MJ3y46b'U1V?_Iȏ$F217XfEӑev(-2FcR"J%&̍}6kfYpX~}4bn=8n B#MVV-GKYA%/ J(pzBz:m":SLpuLNWv^cotzخ&I2'="S2_=%ܴWP\=s:^2DKɍ'^`~]{6^Y|zQ""QPTjmV-gnt"Ay:8ZO`Iך/6 vsb열:R NZ%}=( B+$   oh}I9$o"3޷F({F&bF~X~y.I"{V>esCbQM/Lvc+(єw/b!>?{'a^ȵLZI&qpہzjuÍ~B!.i(q(p)O& E(]>j x1\)R{ pVQ|gr'9'!"AiRpt"ePC#\hsf4iA = !#,DkJAC} f"m}P*xTǔ-2H-Va hA"F/ ,U*b*GcИὝ@LG q¸>niP@ |ޫG><_p7Yf(n  aT؟5Y(ݽXY<8^,"Xx>̣O*OakHm=l HʙsO"edJ&*jn9Rr(>/9S?臩Cd5q}׮Y:gb(~Qi<:b`&EQM-& mE&lrw0;fv&!٣rshn$('lT G?@N Ga+./t. c-@NnH*a`r׳^a> ʂ2W jx31.ˡx@ah H}6$<}_>֩,O c2`Y3.`~}YMxiq})˦4?Ywdi Qrx ?NEEsreVh0L=%V}eoF9emGATrT1lR]Ml0H ӋCl\?uyMɊ);ybz]|ŏfǕ3\lo w$RXC{lsrdqMBH=|`N R}2.)e(bjy3z-)3p(~cdAA *QTEEQXXDb**`VAEF,`"* DTTbb TMc c1Db"(UD"BRH2A*- %1 `Tc) @PYEb( "EXQDUU`j(AQDUU(#UX*EVձw'>a댁:hu\a') IC?q(/o6+f x1o@R͡T˲{q'$*YDDay*j$C4V7Fh*xò_ItErgDfk40a9jn@!ME@oR P5t.x@/ m1cρS vxWrhaNR0Tc o#`8^=g@̐6ܑC!߿D'5\C?iF6~ I"#>']xXهLl<)[vջMvwxwxx'e5q8b"1,V,Y ;H"Y0Cţasu;JwgmU+XbV610+k$_$Ϩ. @YgW,-NNbl0d:},TҴ!v5S^κ֟e4vۏט0}H7 w &v N68,lf:(Mm>Y'WlŃ6\ڭbpnf%}hBb`V!n=ɼC]'9Nyq#o;w9X4%di^P7:mΫѝ=5`csA=Ҵx6=[k fR~)- 0j< @1 edҡf]G-E@2Nx Q$0eHcOF*?e=gA͠65Y9qI>{qJ$\#<"Rmg塇i9GErl F&h?g￧}J9 CJd\Fd%>tt"*bL>fEڠmTbhwyŸ7GXz+C,CʾW4 C8[#^9lm\ZYtCvVGpx&f7@ccϳ0Jnx|/vqҴ^&%(f"{j&f9H&v1Y !0|9ͻʲhhGf >N(zIŊ&!rD a?vondD#b~~gh?sp@ш䚨uM{O"_x L%>#W<= ]FrwKD(w%kwVy=SZhDXg B_fo}-i5nSM((wqtE( 1U hé׆'a-$u[뾈Ƶ̚ 9%M! 2º /'.`t!EgCBtb@5dzp@oe*!(3]JZԞKlQ,{#vsv?Y'&GU:uRaˁ‍N; MuyOl6hl-r)887t]6?A/흎h64@=>+` ob ic~8;;NGoY6a$ ng^h`;FO.CŹ܄<+-0j`60@FE :NSxsAl1;dc~GcXo "~!eQ>fئ:SVЏ4=}k'w|7NQ>.BS>?P>h7s"_T 򻐊"O#q{>-ffcR4 f3-6U4}FubJ!?8CeTsa画6*+(Aҏr^>KKLs5V~5ךm(m¤$XHO,~k~+C \L{۳]woL,v*# < ;twxBA]}K<K{ÀW"8c+$=Y_0.Keρ}"=mSOX'8I^٢KΔrЙC u1bϊH Dd)ςCQ5*RzO[G_ou כ%N]*VCC H)S̄G1 &6>$:wr|vrf{+^iSA/Oh'F6?Th#JcAue0 !]D,yfˣ}V7@4a^1p}<'l8&B|C!hqoILAÒbuH DrKAfӸۈ ¢^54_(pNf3aP.0FѶk+TA{4쁖.W+{Ԕ;Pa6Fe㖜(,8 YBKnXk=Zi/\od2c#m|vyOٯ?CTbE77w_}>*O2_ӹB`XH4YǫS?Koq1&H iנ('T{YW$&3M QM)zWܘ[AO/~th7܆튈ʐdؚЙ4|?}7w!W.ZC eJR)9\jkr|Gkk7'g}:W.H  (`_30Q(#ĕURAbȱΫ]XL>7XtfItyOk$~9?v@|H!kYkARDtYg] {Qg &^F7;a2GCͶ'eުy?7|J`AU@XFDb` ,DbHEdPQDX*,ȌbȠ*ddb)*(" UXPR(B((1PQbD` B,dX*HAb(,X(,DAX QTEUT ,DUAP1EEUX(HTUF,hEQ`,EPE$ETTbDUb,XHEXPVAHE@F,QTd(PU"(F2dUEFc" ,A`*,"}+ QUP``R1b3sn0,4 oi9-k'(gqcؑLȜ+~ên([O+ o14 uKT{(uYݧbJD0B<đpEN9qL:\WFcǦm F,tAyrm++ aA!Bdo k iB",~"C.bnL!LY3(Oz-!İPQ 8`B]ׁN}ͥ\o?{-`yTΏnNj2ڶcuۉ Xwùc}Otv*F(6QtUQG۹y'U=.~TqdLI0PC+Adc^J!O,͛~&(^iKNm3PalBӛp[UR Sim2@'XHqGňou^Ø ϳy fklˬ$kއkz~zhqVReWa=m6twwnf $'PYlҊ;)"f`?S 0;/ abQp vLF+ぎ *].-{Ã.i?şXò;ƙAT!;{Z!QILFB4qo:plS_hIYoi8Ƨƒ:VûdK'ȲtRR ܲ~7EXMJ9= ~7 H{Ԭ*d"߳J|7@DN瀰QOO Y)"3&/V ?qOT0 ;~͡Xu{2O6iE =h*j$?:'ݐOPz"uQ^+O=Hw #u>}I h,4l#`㿂T@$gQu_C=_ɗʀuwt4".t Yٜe/Wˆ8^+_#Q5#'^}D|SPLn vC'󬷟9rX87(l z3Y*==~C_5X[i_w1wA>G iY_S*z=|aP8BD|oMUjJM4G?|<'̜<fݽ G*mQ I2X"d+I ) Ȥ(+HMuR,R)kvi]!yy{U?Dѯ|M (*TEC=H5޿@; 'ai*p͂{b`-QO/:6 Ր1 f`fX?er'}>>pPe<,Š&f:&3&!'}ˀHL&j'I?)HREL9&X?~; '5ZcWcmL<]!M ƁF3g=-z+e:ڸG'ׄyGz fLk9 iŭ&pfX&Po4}wS;%lyP ΣQ;[OA"H?#jxo,{H*$D ZRFH}<_;=GCbz-e6¯w-+?c[w^y*JAf& *1sD@5p#wC[yRe? ! ,!2~4 6"x.r?0߼~sb'ww*Ov?Be*9i'%1H{sc\3AYY+YJl<2y_|mY5$DcChU ~( CjccGfٻ8Z,t5^׍Gf^ޝZ5ߞj!y/z6 ܌b-\xΥ̅@P(sV\1Pp~4Y5 L2oA0}r3" 'p![^nםt$Ԕ}簁K9IGC\cF{MC,P b "a}ij;(߰S5O F_?Zŏw\x@vo[Cc7S,B뗮m|)&dƗqèG#_"˰ g.JR`͵=q\XPcrsl?2fCΪ#oP |'?IT!si{a+H ycd0{_4 6mdvqT;8gjE<[L^ |(k6?^y>Lp[!58RCL9>"R@dbO:Z+7ڃ=Y?4eqQ+0Cꕄm5J0<#uǟ]`a-(w:>{Nk][QEy$25||; ~ t&Ic];!S̠lT<&dJQoXfɌHu2ET0a=[ョe[7Z?! ǔ JϪʸ6~4oX0>4VO~uG;Pq'lz/<ҕ}O{>I<= Ò;6g30sŢdAJ=3Vt lGO 0mn)'Xai ݍZ[6jԁnjB1rvqtpt~ bqwS{ "frX"^slުC3#"3.դcb/iNQN͡Ǎzb 2{ys\,8/o&#z?˙)myˇqxX@X>'T?8yPCOǏ"ܮ'NM6 X|6~O/vsX-`-}:q_Ǎ;scD۾ȰPZ! "鐚P(HIAcKC1) gϯ0"4\Z}A'ٝ6ovQ.g9< G7bf(N>[eoz?WMkC;v͍S}!Enwop/w=;4fΞЙgͻfX}'HP8E! 8!xY q_DSsn#P8M|޺0vS,7kg0zF=o[kgˣ^GQac/=-h|G<k${FpF=nu0yIVQpm )ۺ/LǀW/9LqD*V+|apOTg@f̨#ݚ}~ә5'Җ@,λc<.ͧ|t5sV4z{F DB{J{!>3AZ"L!Vqh z=/آyfOż؄؅,s՘G}΀&CF60""RLlQ|/zZjrT>h36BitQ펅1=2`c V  7nD)}y73.!Zp͏nAҰ" cU0CEuց^FBѾ}rX8ε@/x pewO,fr 8!;]'>޼OWʘdi]92i?4 BIo,j }MQtQ/#WXu. wvֱxX1hvgnEDH1a=UpVg kՑVa4Pm 6+Pcg8DrtPA,q7سsٶx<شfevcN123uvΑ`wHA4Ǭ4LDL _z4ʂtX ^'Šzשc1<>Q'oVcgRS\_Ҏ0|`>e:<9wvMPm۝h~OPYw0:~p=,>v˩,]Kǰ9'b{>Mr¡͟87EBGaMԛlߣո;-m;x/EL/l ޘ4!6?3r:q-Px|(3G]J/ n2=^a6mqO@X7tlp1t>~S+2q6/gyo{#>n"hG}i, 3⽍= '9fsw?+pN田Ӑ΁np7=Hzir (v9)7%&2601 mp-3̴f4kRtb}ZӐB:zxs'F[}>1 5`^k淩اXϜwI$=*(%fأbxY2&Qeڜ ,qyg)sF@59LY6r{Ҽ ⹲Cnk0ֶs:vNƇbaZ"-hYygyȇ0J4IZ|K }F71kwJNlo7?τֹ֩NWaVo]s !ni/p7<ΰuuj2zEQ.-(_M݃f1a~v.Wy:Y`ԣN:Hb ڣDD@_(.8gfi ^g <pfTpeUXptMt"@23PZdE!%? *63pr+5TzcڹG1&V^ӃdOh.vڻ}e#yW:wvݘYtw{.^L|LfGg_n #`cV# 7i[?_eOs= ?:"A-g2S-P NXN0+9I24i/ Nfs_⏸\jǗ`َц}7G{#k?qN":Fy {d3%}g#ʹl~u}kyo|Ӊ`r,WkG m0wLf٤#?z~"Ƌk2iomo~*p?Ůnn 7#Y75l`-Zp6 㝤<6cu1͎9\SM!g1`nS yG|o+`s18ANkkWuR3w[7'mawlg1Agd_ ʁtW$Д]J b>h.ʐ,~;ٷ<*C.,{ dVA`968.6lvnlbrON~/=հO/(<=˂jvvnc%ב{hCbS0 vi0` 0ly_Dޟ_JccLbcXљ_)-]2JԠR( V^q8o_^`l}?<-E6= )乙T/x뛈iɻ2ν/\@> 3C74i'Qӗk.8blŁVj+hp Z , emFʹBC(jd3.Sp>OV$+E5iRݟtlxɅB|G[Ꭓ~s@Q=Sm]fװ:>i`i٣rg|wnq-c9 ϵkjunk] T/_}>k vͱh:|cc׾.;QuaƱgy(wyӼ?llkqd8<`x/VߍܴMBkω|nnwܤ3>kOOnyoda "!AN3%ʲ6)@2s'2?4d}kt)roJ,XZ8w/dтl w猹.; ĩę3h "0eJ@JŘWvVe~eJ$ȕ !,j^9a`dlt )<>l8\Ep~,zg40}Av}s |.:ՙ2X,_aGŝhИd2-v=^=N48mZ'0Gf7b޲}kmLgq)>7ڌ'✊`C[^1Y=BOR@~ Q 3 ˶\(Cх=Z>ʢ]Xq|'n4(fss9=?,D TaNe"R@LX,!Y`JY>kW18rHS8 <%!v|l9:/u7Ÿ,Yw̏0a`b{Gq'1f;2=]&f1qnŻlwE2~vגlx%ݴ1ZV]xE/˰.X1 #tQ[?KaV%x*q8ghQs-fVsJzw~[,! .k Y2R&5r+2f^"*Qhw7_\5f֙+A4oAmj0͔/m|8up:K6S;m~űtzu:,.helYrs4ahzfT-=@Xq=X_m0_yZƤQCӪJsi#C>StDŽOqMf:92Q@VኢhX,遲or6H,(+:fo,4Px4Kf}c8S-W:;2g#X=޹f,MxYYgxt%FmSKM mO̹+jv~i,󽱅hݗ?|Y xa͟}-|l.+dz=4!w:-醏[FĆЋ 'm:Y^YRy{o?eaڼg7bCGd8|Y+pwN]p'+5#Y a?\Gi''䬡j?N{RaN{;mzg]Qttͨ4?oWXExy:qzgl?L a MlXw>5zpƖL -̷:ctЈqQ67nÚ6?I^#KF a\z{:V|}Ѻ㦖Cdմ}jdl=;k3W;-RjՍu_QF5-Zj:O w`z4`Y67Y392#Ui u^EA?s:1AFlfGJҙ q^<`c hh xm2-'L 5=5+Syk_1*.`T7>"}V ׍1v;ݛÈ'=jпRϿ߼ipzy<,g[|׍f\BLqgȱr#GN{Y ؊KߌUޯsC[c}mmqA$lIxȠui+8Ұ)^P+1u  }:<Կ뛚y&ϬcggE?Ѭ=Y>Y|c{M4~.l]f'I^VŴO&Q6 ?Y=2KP6Y95V,XzgoL )c|w.M%|њ8>FK|K zf^FMt7 W>t<6Ky6vNvtC:] .0amN  V;wkP]f=^AJ6`}&tE*V}&}X 2™gJhq;-0ak6'(Pɋ31t/S-"rʊnm/)F Fi{(!٨"CXhF"@ؾ6P~0E@nW"BVN]K6}}v3;wEƠ<*֍R/.swlʹg+ bըa ͱ6{TΟ}[2B*۶ Jc~v| ٻ7vԬD=1R_sle7nN^A221AY&SYAm3᥼}*^-mVlPխQ4B0hҀ}P/mG顆O\==+D·L5]P@:dBfwj@)Ѡ%F>@]5+śvuϡ5}yO/m%&=w5PntHO۶}D|9w*isw3G]7Z'!@ր iznQJ:mDhkl.J][uWt(fPP  E=l@z!zБU)z4"cM W{Mg]!=yۺ)zy5뻻wlk{9}/.O\޵ԝVㄽ+gM-pP,uUk ht$l{4;c慄uPt=-C (2v&(Kۯ 1)ZF le8AY2XD B(E0 D:тxL|$\w6:ͬR#K~H1a]i{m0 @tJh 1)Q`isɄVFҘ)ބyv K@TC&="E76g΢%D(s@`M4Z=2~`c0`1n2YAg tĒ爂>&YL2 g@h: G@E *h2D<Ҟۚ-y&wYkd{,1]aC 7 ܃ rR6$w"G얶!:8ĩh6v]fq6# "  ,Y2 hA{no,VW3ihKcD:4w-9;JP($ Ph ?A9Wo9pѫ_Q0TVkKb"#F`JڗbKD@DAƅ} /.ddi"誺ڙpQF!{~t4 CJLsXHbR2,oȹd@KA G.a0 AL"`oE̡~0"( Px)8 08cl#s><"(cl \X `mtG#AMQ!Bf'Wqdsb Amn`A"B]Ĥ)U60@<7A,($!1b ˣ1\HLC^"O[\a&L@ ̀Ma](:$Ca`&0:\7̀ v9f  o ܅;j)1 *M vtq`]UviLz@ny^(LTaJ"9ТdGNݸSF&e!HYJJq)5j(;\Q€ŏC/j!D"C n7iaS߼N(Ӥ vXM6%SȅN, dy#ܻXD&A(T!0tGkB1r}@5dP:(h(u1N."xǛɸg<xH+Z} C~;:axCTsы` <+C̈fG(r;pγ݁y=lla1[ބ\yovl(͜q մpPBEvAruiHIpN7h^]Fv#%!yN NrRq!="qVV mS-b8p0E1ϕ C81NNNKQo`TtYV < #@B_)a5Ѣ#RЗ.ӧXuk;٧I!B㠣J dza8]KQ$4mU 1b"pqDPG$.2(yyb5i#2BBUlOe0%G}PigXNj ; @( "T_2JPCfvg`qLZe 6a6e,='wAAp3`"F m0´ $$SylgrC,l/󝽤8:Ȳ4OWQ+20@~~#|{ҺYc1eY ؽ}x.˳v2PC › UDH?<: dI @ &|LL8b'Gm[`7D(D"AHJAJx1pqa'nZcDL~Cvݥp鮎[! k0I=,\2knVٝCΞ"va&ǢD`n+LEعZ$>GT;//7e&Y8I<1D" 12e7ӡ;]Ci+q b eHzSbDMW&8`幏~M1i1DsNIc̰-[xDA) 6Ř!Op_+5P#tdWaXv=xW'P&ȉP⦅\yM5 x1#Du맳ET,Pf cMpb$vt" zbbmU\hcB%4%rvwLc35^9t魛q *D@#P\40b`c daqcr;,l4F=]:] ADNEQFQ 4Sb!w:x뺷Hڱ  ձ4؉t@} x:lL/+a#8ӦbYC歷TAƘ1zq#hwlsѦ,M:g&q "] acܔ<ŘӈmF攡Q# Aj AZ` i< ^ r9AN!ă8pt3J) ؀4N-gTi1*8+r44-DPĂږ\5$#UЀccb''V.azldTqjPeLcOK)ՙxLQ-el} L&![)N-eVJLa&5;'n.*nz8?Gs$Nx;6" pwg$\Wkˉ~D@[BFe H 6l8h@S#ɲ"ِh0vEE fcj siRjjY*57 @t*@\)]HDk"k5uJ!0!ؚcD)&쁑N_P0&ag%`fwP1)tFǺy89*S{ݳv̈]N 2.5,F>m3H9[RW-Ʀђ)M)].*X3.C-d&T^~0yMc>J!:K@#}g@=)MdĎdl,QFhZ>s,q>tt#BfSMaCQ`yh40M iuRbvq WeWL)Cf toxZ"f1iɎH6 Ll`'d Û4`"@vv~S$R]E(^]11MGg7ĎcQ{fFZK2(aU*87Im[>JCaame@RHaQZm권,0k"e6 ѽ z> JT։ с).űA$a18aB;Z2y Б aHG J"60 f܈܎gb0IsQPpPGlWt<Dkg(4b|L5~O6/ԔĻs 1_cCYbA.D1P/((?: !IHn,a+.O)7nA(4 ܔwعBdT`!D cxe0sP)/STvH;gb$d0\8i, T3lU[y8F:"D4Ό;+J1ZFBt@0ƒp8agQKհldPq0"c21WC 3kDw$: S 5`Bd6zc+A٩ԻKMiL⫈$ǁ-!CEhF0cĄe[;&vlQBC Fd# zeVzg7K"E =҄h`Ĩ,&\cJ % 1FF$֌O@8 f 1P+(iP1uڃ։ $Ndd Qr|@hu#w' 4Z%5p70|8w!:{ƈjWK#̃i{O?9sk|U(3c t09pޭ0J4U6BÓ2˙}j ]qLMiw_QfZOl]Ë*7D 0Fh,ôe1X&M"LmARi2 F@3 y2 !ꌡ3E , 2v+@M=l&%aD+XÐp0,2:0B 0PPXdAe„ΔߖN^uh/<(+s蓖%єE3 JiNTpTeE{"5KS tal3s5L ň#R,BAJ(bc<ѐ"8Pʲ0 C oo3hȈz 2#99 f0Ș`ՌQEңdaCK6$E$j Q9. L. U70XC78±d,"Lο* HI#DFL`c004a F.z`t)/iq#(fFdbѓ ;N0hZN'7Q2I-llECi. y{@[=ctu3A$$AC2c@r3ߧvaio8TfkFZ5LE;N&^m=r6F*-P!M(?UqšCޖƌ7!V<*4XG0jV`gXϘ;v7RPl0cDШzM߲˯ZH18j1q=glᓈ@`ƸalfThp4C4p| رHssZՉMC01Aپ334$52MpAPA4QM<- 3U(c& ݮWmP A0lf«f瘷2q[ 6D"Dh9c&F:dwdO3DM:$u^[gu 1``n6 5w2(1 vn29E7[CŊcW7B#?_uBH}̠BpSDS rD3XB3KbEL %J) "Ryj c0( )>Qqw`쥳6 P+ +rPҌ! =ǐLP `f~~ c0r 9,5i)5qv0:g7랙waH"%Q 22(=!=%"P.R X.cąGPvgndCG H* Cf!f {)F4ǘȲV+LYr08lœWa(qBwuM01n+ T`0c`nOX 0<% ܯ{a1 8 ZB!`*Rsֽh< hS7iaQS띻)Qni& p0C [8_NObw;2+$=Om 1B[-USMSI8m'%ќӿۙKH{ioj;L7ҕ)KA0I~c$lhsbu԰ 0c2?P yrr[!/ܼ!#ҢaXl6kCp륂70#UA Sk~hF*`XmQ@WeXTDI@e4\p@CdPbMl?~T<+U@ch<s P خe)e (W{)&!H0S2zdGF!X4TPM}; ^b?D;;uYۏ~plܠ60!x&Iz(<"},D!6K8`;Jʕõ {N -g!~ɪ;}7 3嘘0!=00B+w.捙ef"' Ph:ސBQ&qV,cs9mM u2Wwo[cnf',s(M[;4vNķG/ E@c&&˵YT*6.w BBM((h`>s혆lPaHȖ`mbM:\bStr0t"^@A d`*N@DrNHpEizj}3z 5X x0A$.cg^hT!al ԟP\J(;$fa/rms^lb"F `ͅj lP!THRDs0CvfNpCO?k'tQӢh[3?{MttZ,=#]'}z8i20^*(̪8:{8n?@zG@/1/P8T.>:#iKX8`Pٞ؛K4)vs̤2b]F XvZ˺5Z:9+mTu/ba[)m6Ba:>Χ&t;dAݺ#6kQv;*G%*V lQETvo43Ig2 LfkNW%G qi5Bù},nn: [fCJN>s1T0.E*ZR,T3$P:w3fY"fڪv%N.S +˔SH:Ejs&,S$ff%-D@>r1%ŶA3T:dEFb1#\UIY.8+!Frowg#m@>J0١B |."y uÐpt?8:,4\^G?SHvǛH׈g ['싕T-w  Xp \faobf?a+Sv[ BIӏ 0c"sb^qIJ1 ($3AP; 611O!M{gV-2ꃸ9I !xԠȂR$*+TR̠D) |EdJƚZN+ K 5, (@ $, Š k6 ܩ@K`!d4,\h`#.UAYN/G8xK8MQX7^䄄L^) N)*,AhcHMsפ@n ZN5"+twӖ,},@hFht"7tO6t[yԽZ|dĴf՚sM*Hr%K,֍IccC8ϫeE`{s .\sW2ꎵs{NH{ @qdcT5F fX4aE7n!Ϸ/HP;ٰd^+,,QJˮy5Z`/5UWXVUTɅ): xm"1;L#LXTǣG~x%v("\ nUd(A4 F.GӴGWxy8 8կC_\DP(L?pO1=P=Dꀖߨ)#jV>LQ4#};J(0{58KkfM:5E'fNcCc,b'FKB aHFfXwu!`Nh#M0sjZݎ<]<' v1:?7QK.(Ykݸ f39ڥ~V0s "¹bRKJ,!j|#ES EIB~7;5"=$RE 6@h2}|LY t'I;<0U-+Y)dcU*, l@+,z"B> K|Ӕ\Cjv㊳(LjMçf`o3~dOiۉi(PkwhEzqk FgbvP1>$M)݈IP+&?5Xpy;1O/>&Mݎ~1Sw姌MP&񑘔u7(pQN1޿pgx~!v>UHSa|p Yr) Rp(Y tgyMN؍lu˲8ծjT1DeQbaGLdavǣH|Ky_8A/ x9L,#tj -.y)X[/Х$TDʸx6x} } _ Zk:̀!_U#d'q^CO8Ϫ0`Ӥ4:9,} )hxHb!I;?`.Ov{!`8`>bfžzΆ`Z3)v7`81Z|H͎?1j/緰A[j&A -3Ɂx;,6NM4'·<ц(nzQk6rLl9zlLXGyhCS/4H":똇{M@ttI sFFn1y `$4ƍ ^΄V^ iw]|fNAhQHg;Ʒ$Nx?f0C?W[)L탯KvX6C@AH\bèsO&yc8 IeO?j> 04c\ȇhLۮ(u 5SpuL;21]@Q܅&5$S\ K{xv9̃~Xz #+aLCȆKpS̈X>U|k5kwaqDKqEɏf&Wd).T;X& BtJ]={̠VDX[cGӵo?5as[V';>kszfx@yL$`|3G=}'/F.ok/YCb[rOIv_940g낄{vS8zYpB;ꇟ#~Y\GVG۱yh5~- g︧wI0j#dS٪ϭ.=IN,sto1`JC.oE/ xzi'.P|3,p%V<2XWq"fW!!9Ng[g_z"HQ+ >X{C`"=:"#]3)  {M:Z!;QNHe"t"[;|KG{; C̚|IL91`%41 bH`5HGÅi>jzXs|ƳXB`qGas`0+Gup /]5P`8snܚ0lsloy0spu1av bHY'^p?GAdi3` [C#ʟr/&BwhNW=pnj=ZxAbҞ>'.fo(5) |n u$4u8])_UE9>4ȦϣY["27&oս,jEƷTF`8A1$s~j>{g45Π Py)Ǎtp6+qBb {Zlz.Fj󏝭ccb; s<8%9dtG״54qvaJ*-7; H ݸlb DYn}9HـGKC6i1y1}G.qI!Qs./bY{Hn7nӃóDYQŽ2B=&L i^ =v<\qf2[I96bCS3[YBhfv도EהNӹeB/;=nxw9Ƒ:{lhcM4ݠ X$aX'CIo'9l~׵ԵTRў< .M|j뮹Vc+|㮺srI5E=4=Dg:롫!}M}*b9 T8xFbK/GKq4>-Xmmps"0itcFap;b`<h!Gq!Xn1ɍUh.5O&稧< q=h41eAQH2q6Д"}:=6syޓ F6okFr=d<)>x1()4I`oO=h#nxk}gX)q6SM.B-LVZ' 0p9k[}^^[tӀ*vrC 1orp:XKt4Dq60M{LمgQRb,gz9G:ީi(QY0oA>F<.H# j }80я2`XRN{P3qta72bj!!N&,kl4ȃalŃvL:[:[6iݡY7fL3^z? '!K?!MNxUR)=..wĿKセsX+qBA,}heF6(`4H9, Fۂ#Oӧ]N>VǯQinb7cQ : m={NVwt+"z^|ɴ~Qɓ9ZGGFq`G`C`'ӡT .2>Y{bNCۡCl/?7m8Cf cĈ&"ᱻM**K(Y^Vq;j4mB.tW_y@$E:2WAh7qqp4hsEF>~Eg9f.p@ yXnH`%07'CsaNHa6'ƴT@l4F ӥCFC2[J9UTEp,$A8HbA9B#}6n`?8>W%l؉>8]hNuoS>a!ïcP=+'00yQA~~z"ѧg0 T/G8;m⩂h5I`ąB+]nZڷmoN3c=]a1v>gswn,c@8z00zOq\O7jPABzAS 6fO!%pZW2<㿕f !EbOgZyOIaw&.t3Cy!C9p ٳVi7PUts8ܚZdJIf$Gq!;uoԆטs/ ,ك|x  &qGOHWXXq!86__ է7@n˲ω iau-K R#QUa]n䅇O+wfӥoOӑݳ:9 Kҋ7\w%'T(LVA攇_c{,7^ %jXe!` }'3?L{ƂklG&ݮbqd֝KEB VhH1YDEE\.-vH+@mcO}m:hF]dR`y{h׸Y,WrfYb{ 7 q:Nݣ3|v,m4M1nr.qFE`R(תEe *bI#a݃ 5|b.qBP裫Ŏ2gf@לwI2(1O'~J_GYZ0 ~, ~N&@Ɔ={`Rxi;{J7ѼߣHv39wl>{{Jp*szL%xF#m iO[Bu'Yu`.:,!sϽf:-j'OI8cp/w;h`> ry#]n#p{7CqdF@XcA#6|8Pܜ͘E\gYӣ.z4R 8{ }tLlvy487ɫ'co!>'b=}eh7ŧ^׭au.ݥwFh:'P}Kxxz=6mbI=!㣩OMBL0C=/s5p*E1o#~wqmu_gKxM7ƕnljle!4Y 1c O'1GNXv>g˔gV mm,ÛcW}Gm=C-&搅h12BșnTqtx X8KL mi{,c :mqh(45f{ߒ44c~n{=as1Hrj4>o1ac$ /RP2؝ ]*Hn\Cboi>t&Cr nk%=o  S//q`N{ Gۈچ 6Gɤcͳf$:}Ev+'oO|f׋q{Ly[x8H=-x]yu w68;Wهť:kku_c_۽- d }$5t{Z;+*v&NM11Hr]iɇbc.7L`Ƙҝp ._3^XRѐgr@T "dG>E#;6b^v[2z(#9JpN&Cc+5=6DwIAšK斨-sr=OQw'!4``8k'Td;&)sL\Ei"5EՃBpd8Zc!Ëב{O!-"NpnFC $ưz\ A@u\XO n>O{|X9;} :#Mh駲!gcAN$7:ܚwWKhӵG ȜCcXlt8 64cciix^!fժ4!/fp,A9o0{N{l 8_aMKѭv#[CB{180xnk([/3I=+37P7!q=,Nv[u1c~ر &)`hF/aѳk ;yM؟ַ&ck728!` ta͍z=ބH1ˋd@<;=qdboYU:n6S 1 eh=LX}~b6]APFnYqp"J6&AAh+78ܪ8prlm%6]t?;Ql0̟KA1p~%DHLwʍ+ػiAcNg,E01&cK0rr~{醒mqIÖI"y/[tqnŔzZM4&<0H`8 M*8<'):6sh3b9lt,GI;k&caBm-7:c/c6;jlӤl!q|6ChB>>?}>1iA*40&-Cidi]ҧ#-1n[\kG uKJiV1p~ۧ/rnO1}Occlc;=(;{RﴏI]<ۚ59v8& rvPjSd6cwLf:;uj,cpZc b\ ;6&Y ӏ30;~v@l-3OW3d= G>98]g 8Sxn (0Cլ$`0 !PSImrb4Cӟ &!! ~*كLi{eiaɁi8r1l $ӤoM0=gd7hiHH&syhn.|%Gli1li̓[x^SB{ѠqyM05~ 3`w448;lcB06ZKf=E]xKg=0 _9.4Жipxy{ubLhqaQKA 3Ly0'805ݓ<.:onI)0̈́!ȱz2qQl0b ~r(Yc50~^ | 41CR1pq81]NiӎN~g^:4t33I4c(Şq1]1bCf^OrF1]ݭ,^p)%1NcGI.717˱) MrcQ ١uƊ Gc9䉖爱40)IFl alg8jBŻh`Cn07\ib68 j K4L?c7 S2H0nF,2xѿ< bics\M0d݅07 / :ZA!4zh:AN<-[#Lv,y`Dv[4SL{nh&sh r- 2OyF ӧu@dCݚXG1iFAͺ9C]蝉:. (*) !Vci y>&81: qMq`,v0r=-2G\ms< p%rtǐ6PaZl `^:4s47bDjnY(4KqQLvDĔ1 e8!(lM3=]u5m,밻w@c͏S8Anb 4S:TډԶSu[<-&F f0 v|L99]Ά<ĻZCXqQ،˨`5=dӅ@vAz)9fjtr0Z $i1*;m/~B{XtP:vF4:j n.˙1 z}NoNA8`i44&U64VXvKnʥKA2XH ?>EYf2#`40fńӈ@EoF,SYd,1.KґQ҈ߦ06)U I©ϩ#S,A #QVS38f-0wm 6 z5i>ݍO, &! pɃƂ3PdlFvM)xXSjP ڇn. c.Qi^p{Gp =L|BQz)c|y"$AeKp̞m i -';=7cPM{*MGT)PXI2͎0a)/c|96zDtBC MOf :֝%ݞJfNe(IyaaRYL2 CY 0:/:K" 1`۟OvXgY*wn2tvKLY&>v4ŧob;c7L].^ 80z؏ hvv.'<); Ē~ah`b0ti40\UUA*k 30 ) 3 W0pb5$`A F q0Gw@@DyҠH$M+00LB(JR*J Z(hRJFZP%"( "*F bB"RU%Fb(V h%R" XH H`H$"""$b*Q$" c((ԺVЮfdRZ( јhL 3 (0!(5( p֊" (lŠ((Mh Š((0303 p31 [ JK2 B2d M-)H R@4 PH4DE0EQ3J * D 2ģBĔC$("VJE"R%B X*($(b! H" (- h-肀wO~8ΆE_`$P1?FaNpew HV~1` iA&1y0#.=͔SBӂ[B,S5(AA_9CA9&3JЁaw`&Rdf^fT x1aʂ@Hr%TPD1 Lq`<w?:C(2V2G!)W D S!PA7J^m02/)GaӠԊ$̢!2("%AqfHa \ M]WT4::C a( XiDȀk@DE eE@ S@,E>Q0JM?sU?꺭CE# [*.DM@CiPJ E2z*Qab%K?3XB=`=NPM (QS߰W `w B#2vEy("D2)H"6T*0ρTL3"ʨL ă!L!!C% (DBAD)@ĈDK - D1 T D@D@0JLʍD* D(*B.3DBL!2$C TPHD *L"1% MQQ)C0L +DB"C3*|1\Q@{(EFa a%fed&!(R`I&h(AQWgvUGVa49Sp6`)dP 2iWL;}05Y! "g;,:d_aOtpd@2 2LZb bqh^1 t{4(` O4ickỦI}*_\aC\OJ洇r;T=4&&.BG\N`6+Jf nxp=cOXhohTK0 f} Mb h*+4> r4Ӊ-NYNcJu;\ZQM`-4 @X"8@pLO N$")@x;`0d`9S|!;3bEE;,*x" TH@fB! QP1bD@L**3 (0ʬ,2*8 *C,‹0L`D JL +2&j`Q0O^eE=J!(D 6x T" &q2$ȆȰ JC=,` dftD i@Jn)^!T|!&~DǥS O405zS }? a8!K"WwY C<af~?[=/߸7gfr}ۈ)fa`t#aExr/=l3,Óq Q7Ci VblIXg8\t H`PtաTbr6zfx?= $kIOWJ?ع)sB(0Gz¨@̰J&V8!0 3 01Wd@dDC`@ٔy)Fޱ ==Q<7M"cLUxoiUz 9?9=PQ08[nm}Sn1Pb'fa'Ʉ?l>컮LW0~ETP{D~< t` 9/X^Lo%e2NhH&Bְ<.I.$ C94 .bY4Uz'%sgh'l7~$TɊNa)@yX#+ n70a>:8 ]& =t9Ci҃v4٥E惐R|`&>Hds&Yb3z@WWm=%FQk*d)FQ?[K_h!~L(8gpݐaM:hTUMi*Jr(:eGX_}m76ZZZZZZZZZ~0ķg>wwAUUU#YK H ?SK Lw͛dku+vئ: OSsmr#- /s'R?)o/aYYr#`ț a6 al05mORNZLT%%$ɓhh':P|HBRRRPV^$fDo;[ԟ7?R9IIIE((,~ ʬXVVWAeEqȦF!F,ٽMވGپ!CFy|񎬯>b+20'')W>Qh?` phKv5α >q |:/pc( 9]~M},_w^b2dȟUO\qx| zo{:$H"cw~gC\?W~>Q0L1 ;Gcm'T%uVVV~KNBHdy#~8͕XGdx2H#d[>o>;r~l ={Pٓ1 Ĵaꟴĸ};}aa;s q5@2zfN%,QO#N#Zb>'E2\V~xo/BN{)v'~Թo`37]i3K;9?/;><}f09HQ.b |8s= +TGN d0~ssBL!%(H!bJ^5M)D9  #Obzz=)){p9 2ٴ7Y66WP pc1 cvdmf " pk"&~9p1q5 GD?7CP;]Zc u:@3$AAt2t4At:|1!ZF&1f#adHՆS#EaѣLBRvyad<ؽWX L #b*1Cu.SbΧR-a# 2 3L1h/ll 'Q "nB6QcxY7 `~n/ab^Sǰ`iBasߏW/ sa]3b:mh Xدc0 Mϰt"~K+=CLp ?ts 88`c.;ra8>QIwX0N·Xq>|zІgo;߸v7N;XI9ň0`!Wy&^+WGq.b8`h澬%&?#a]L#-&' kB776b.,sf>)JSGC 4:LϪa@g1;cs=`|6Bϵ#f@#}^!p4&M2pv-C8v=Al bZiii?<~3q>:&B%}+ e6]x132(F C$#FS6&QZBA].kٸ)NAXh ၚnO:5qB&;+Of4)t8Lc 2&?q:[hfɱ(\^0n2&paֱ~zi,.t t>(*bviwj1= fc<;'<٨8h \MKh0ﬡ\)Ѭ.HobP:swO/uL4!ܸ9㈁ٰ+Bbi|6bgl70yލ b;:f-fgvv{./ QG@8y}۾]pvPtE~ʾi8 WqHa cK4IDDj Ci^n?0C ?{ A(K-999LH +x;2GM?)?_l=9"sdkBFm R䎔 u8c$9-`>C ʼnB .Vj.f=3  4s8pj1`ܷinC36dcqH!2P&Tq<:Oio[l^c>-N RnlVoi98X-iOwe\86T7F)fLXp)8-ާD7f |:}XtC?Z2cN]NH9lȈGG:!Tl<%DJ!rLDp (/f1$ X .H쇭#LTPxqZQQ֌03$t<98@c?`agCŴ~6t`tNf3V8 rzg8xXw[_ǣCv06@rtrz=n!ؐ7y!F:Y[ 19nC, o`81=~=9#E^ Ὓ82fmbc=S_ v/SBr!Kg3GMgvNcF;<y Řuڟ2hWBJdLhH=mzV|qӍⵆ `$~k[="z=v y#HXb`꺳`4A7V/,?!X@MbB H$ִZ^4ƃB5+XdFM0v ܈cs8xFlJu?p㉳! {XVďxu8!1i)LicJ4-@AB]y_8\\!,:$Bniy['R_[q2L7*Lٙ,f220VSk&˄ cgڸ-!ay8 b7Ra#\~U9Oy?qCX<81<%p(P(goz(uDJה!xtZhM ϲ#'3Ȁp^Iq6cemFG0A;sNg[ʗ_dW*&Dp ܌}0wtOJ~c06:w| HNfŐa>J?L7^y*GSȸ(+09s&?*m)V/$k-3&f㲠GK Z}V(j ی{r\R5郁Q!l_:zp̃}j;sS&^>ț-b\*qK\x "9(8QH.P1rh! v> z!zgMϙ pђ}V,! B?Ͼ{o=8 펹 .[aHᠩԻVoWf7{wX)PvzԢؼbLi]T##4uASZltO3[I諧k|A:!" d)"h3Y!&E q(p!v-U-!k60bhB 1yR9 D" ";dvOTMSw ap&B1  8:ݑ#pJM]E`pHoH/"":y_GLwyLc7eCZ;XuǸ[T|C^XGQxCs$O>lw "1{8*&hNK^^s}Si-LbA&PDŽxO DC0ʲpqyiZn ¤Z0@)d:H˔l5( ;qx7721ڏO._ou5 1ۈ`W9ZϹ>ܓi1i\>B6>m\Whud@8DL1sPPA|`34(RJEH|NQK$"5<AqUÒ61q!Qa0s%uMc@Pp7Jìu+ u'X˔7 N25yLgH8ɇ9,rz"\g,X1aqfqvQ;K'(4r,Bͧ%j p 0`<+kۍbbַ+置)-=)4l'sكi:g{>uO/}ix_|<zJmPg4TR^@5 Rk%bEcpD5MBz <: Mk[(6ǁzbNB`_(cӛRJ+cAii.9$L'98+D>kxD,yѿa޼GW#!|>k+[?9?-f{L+=C{͟lL O p46\-m~7,0. J1QNd-y/ 18T=Q(X61&7c{y0ibf2ȧn`1hg!{zI%%2[j}yzx,Y^Q.wK{L& L L"90 9 hqTڝl;{YԖ2dI;<[_kGZ(8GSPa0FNtKd{@>rԱ4-Ǝ9"`BG o]`KufG?8]y`ixugNiI%a.ؿ2^G fK`q͌nXRM6FcLdA9>̏xM41Y$bc%:SKЕNٛf1.0$JOgņ  "hÄA`0'3*dw8]:a2$az Jc̥?ݞ&562yFyJ5<܄]uM=/i{;:"?BG(Mtm_G$3=@2mm8V\dO&THٞ͝l8>;GwgO=.DVɃg_e[Ť,..Ƈ,yX9  O<4p_"1qssgӍKHtD6;?lG<ӛ|i41?i<Ż9F=|6csLqoQ=57 7Z؟yCbp!{ ty)+N`|R;!M{>Vnl &.N2F]HH' \5;(`˂ (13zْ2@ Ae;he?X̜@çšfc$hgUPǀy& ޲0 w oc ~]8OwqI5?#BqqUH#i, ^V1ፇ(0u.1 N<1ƚhmlmپš 3a3fg c'q`f- P1~,(rևcMX}p:$OC =郴897 @%Y ᎮD}I':Ơ#@/{$q璊J3#s(d^)?vL0l팙B2cC,d/ .!7C ea1G1r0OQ"CoK9%X@颊1UX']yg缷w..x濪g=!;6꘣Ll01=Cqx?-LwP4 ce^*=})9"+1bhq,Vq%5bNBUfq`N_[xWunߖ( m=NHX*(QUQUFHf$n^93'9~gq19\%F!U,$z^-{7~˗.\ɻ,B4D18BDp}'g]\nN\P\z& (餌&2֞S?os4FfaCp:yw(K`)],c=Su>N0ټcF,F{uOc #ȩx0/囇 1^+0܆&4sOr48hu:+f0?n,bZpp4$ym<lCm{Z31oi Ysvx^}E]>.#&O71?t3xL8<=#|q6i֣7\{p܍H瘺կmHel鼶C Jͣa1D(pi&=}e3)Sޏ|uPٟBDr[ʓmB|drA ȗ-[[)$$BCF dWd:K*RA8GۦTPy;PE20k\9Q1}bolxH"/\C1'fht]#{u%Q?r-)9/ &85&zfݐdei"0XB,BCgB?݈l>s}XєoNo`L&R8 vc(&#Φ0JS(Gd*t# `?Y.dORkh6RWl4SOcdM1ͦaw&sgYw_agONYvvM+T0S": 2y}7>d?8u⏕k ``yݎ-$daߤnn.i;à=JYdz?ʌ;14%$HL *qQDO@qBٚ=l{[l8-M GÂ54F.Bcm;! 1@fhtɞv>w;FyD覐~ͰcCi0scl=|cZY˭\#n\o&^2Ү[[DB*Zq D!&l=ט+16w\7c/i S!A`эO$b>Aq(spa%/rjH02X*c q05!crO;bBC<Ǿcc61 L(<D'x|Q JA>0bDqC'r$`$!Eq:;4b|3YйcLl.u\y0Mn7ͲŞ juc"籌}\ųLGYӄ5ZupP9l:f|9ЎӋn7iŌM= aߒN rrTZ (F,3$0"+N#1YQ(.ŘÇIz'm F<:ѧ j@bmg :Ib2%&.)ɄZj CBS0rIgh22I Y>BBd% "[&_q?G<_3Dl c?S?1glӓ7<eP<ɦ 4V${ ޶8YTu2<~p@a 4ƞh9X֪nGӭWyTccglY!f.2ȩ>80My?Wgd8?Qbގt{8Ė!ea,#ĸh °%z`k` v'7D{KlCz;7ǢaA-ڟ3\ 1%w1o>WՃćQGofD9.ӭp+<'H(c{47CPzgǩ~u5o˩uBZwDx$**DnlcIu]̘hqߨ=/K}mߕGcph a~6nw4?ޖ??vϱӋplsi{\1at.ǭx8[ ' tr?>cC#Qi%H9.(dfGٹ!v9<Oc>.{ǰcv i w[M?۟J%bg1Q[|Zz/UbNnKOSiM;\B'`~z.؇2C7-;o안mt8:ӫ!;ij'1@V^g]48=e>~XFw͐rɻOP݀bl:ZdM69^F vmh2җ#Ĝ 2z5Q %^N"3C AqKӓ]\[gm6cwt?t<-:i8+qlT%ȔcC4k˒ ynYY+̥ ŒJhL9,y Wdb:6I#G,[W01BTEFPurfL'!'\Jq dC "d 15s /"9X4\ h+%i(sJdw&Pd4w/u4”*^-`)pS$" >Q %NM$cz\=@F!(35f>~Qы]dWꄭ8Xds2ETG(aO@cSzuyD@iFp &=xU񹨩zؒf1S<[1EktuZrd) 3΅t%‚E1P ^?՝l+kǂahK4gPqx|7n#fdGdcrBC,K%tWQslbN藋^I4|vl^\$89qTC3Rojj r_')VXw:U}cά~T*ȟ TMQ<=}dpfL2[ 2DLNs([T^S ";PX w "7p`.>maLa8eڈߞaf#%],2L%5iΞ#:j\95BfTfJÖ3LJ{g+RK4 8O<֚7mlzQ,Ow%Ybh9ș۞7Β:1>)TWJf-?f_O0IN*bޝ2'P)2 0b5& .r޵7T:cTjܚ ?cNb]>YI-JcXe}poM!*]cdWcMX"Qhq-q,_*/K1k䍙lXPYƕ9N8E$y3* CRγuǑ/Ln0r+ U?)tgL0}ˬ79J9TdV+)$F9Sn#"M3.ɧ6N4EsU L6rPtrO&Y":z]v$ J 1g}v[/.nc&ڨUG)VcELxx$Yq]9]J*vv>w =ìѓ q@}&(bQ!Nxr2}MG%ZDXPn*?˜qY_V򉔥netͻ;B1 <^LeѨR8$4\^PڝF_*Sg,1oFٝ, vJ:\_o0 %lLW FU Qd3'iJH6jca&}k !nrg~ܮ{h!]zƐqP^+05j (劐XÍu䮋B*Dk Xjkր/i&5,nھS?tz\䅂Y JKcGYPh.G1Tz"d S[Rz"Z !%'˨;GPfeq2k9%"m)1jCbNq6<43+Vg8{՟}&R+C^e 8WsELy@߅.'21 he͑ٶO; ̮Ch M蹜 }E4d y7*" wôua lvw" 6%]磛'j4x[ 0Q5 4&D. q:4I'1Q^2X4[曲Mn%WPÔ)|湌co  `Ze392Z`X*`*BbccezҔQEH,DAApDDQEQEQEQE ɐ ʜgba˒.ta+=&v1PfC8:=?K>)~kC7KN36cčL{w5j$-6YK!@ 3d́L.6"O1h@"^m LGiOK8-1{F٢ cզA x`c{9 6o~aj~nc#N4dhayE 4m1?ꫫqd᷂#@bzY^6C|a:>N=գpVqL,ay#ÿ# tdbqI* Ȅ@xdqFCOG!a,MeSd)^,8LA7#7}:9~%h24>qQӸbXў#IiM:n̦:2Zvl^ba;iŴhN3W+JE?E^q %1K€! `!Si;לnwNa5"{hflzk8[P; bhn'7~0>sv؛=<0nӌv0#6H~j_߻u3`Y>`0w{Ni`$:6> 缻R ؁,G~BI~?}> $uTWRyOAE1_HP4lT<Pp {wq:TxפG)پGIؽG:o9ݗa²LYI-\IF€#>V6 xzY==D<^,\;&M;=UD"+t,qZH{0ÿ2fdV怚s(ɏYQfyx9BAӒ 23a9xʚj8Ը >2%{VJF|E6RKʴBZVqEc&6#ximb) 2$Dq QyC''g"Sח"#1vIď3ED>Neu3s2e(9)]ƗC 3>eN$p*+G,BYIzVHۓB<3(9Z f9Zg9jKȾ#MHa RT1c_Wh.=Qc%JeQ2&\rF f )aAX2#LhLQ{) *IF F`9D9dG'RDp— R0@͒ ##F`W 8tHÑ) >eJbXCΎ0@!N/Т!7CDB4oYdDZR,yzaJFۓy,c%b+ɯQVdؼ!H~lҝBBؕcKjA(Dc/L(c}ƐTPHa##TT4#XNhLq80KQ,0nM#̷$¬̓`OjHQ>苲2&ǔb\c"QVOL)Ad_$F0q|S%^M$ېxxfH2|vljRra5fM0[N1 3d`C"13h8Z@XVTc |I!>OBݫF$͕栈 !(bQ\R1$I/CҕFq@Buxr0QLO qQ bS{ȕ4$YsWد0i^hJ1+՘ÙJp+Y"YZ&Ȑ++ғ0O2 gN8PWD|?r\ũ|OO@!$q FBǍTfΰŕd%iDA6F1Yaa2a<>=\{E#_κ1ڙ1^j <1OS S!) OjU^劊i@}+KLSEQ;@#נh?%brd /`&A0mf~&b"L?q^L383F,ңXLLewd1>fiF8$ؿW9?lg;g@:3Î7 e/ WݛlqM.ҽq1C@b"l5n=K);ȟ=ް@5],% L[YaS fN/O]w_2&}vBbjMb&S+ak$R6̍Oq(sQF!57у @cַ8FÁMn\8 1NDZ>| wa wPQhnNBLwqAj޳}K.u3i F6, Kc ,|p# ݝ!gk|M0~gIC&*@uҎyƄpy=1T`=sOr7xW ,ϡ<)΃yVEX)"iEaX~wF. e UI?nC2 m\(jD2CF=ve BBSLB1i@|(=/;28a?-Gaك"U10>d?d?5ctwCLTQ4BDvt01gvCo?+g+l뜈hPy ݳmcOE4؆Nzy C! !PHH !" s)3`{ѻ!5-p\d'f8J<Ɲ{H^?+>ܠ@;٧&40Kn!Ա wnV?&$C`"ib`t+f"nOAB`lXpw1=;YW9cО ?FbìWhl6/v\L?0lbs/d,1G4L@"װsЈ~;*F~N;9NK}/;0p;Y`h߳3 llq5̹H2(y} uPՈ(Cc;׿.C1 +FT\A)DhSf؈`A*j :`d`m6l14w'5Ҍ?1U?ElhrwOtØ {׽)'` Չ jI=F[$bg|{ 5`X#Ldy.eF9XC@Y`y4s7;tlLrhsS0aXxD:F<~2O6e8@=DW,Wk(C#urfDa6͟i7~8u:m1rÓ4xv}'~?OH9-cmon~/o|c!dcfdI= CCFޔw9o#;ZC!aؑ9V~H@2!ϗSu^ 2G UR (YR\RI4[L3(zw0o:4^Ml=a lv9Ep1AzyHV!D2q\D.2d=vnKZ#d`*1NF'!L@&슸q46:v^O05͡׎ 1a1HCƌwgPq"Q%(r'n|%Ѽa=PT<2$wgLCL'UQ'DQ$E;tK-10tYJ[pwП*0[k'%,3Zhtb1,7}1/($Lh~# ߴƐNVl(p1>L&ʁ?bpji{F>ڷ=g s' Ǵ`nc_t܍vMhLcb_5 +?Xd) 8vrQɉ2qςZKP^*E 2"u,y^ՠ61BTazj/Ѭ51!+pEdi2'wNyL~>ɰHRǑ n3;h^yޔkDk='%,DB}#^LkU#/xM`'ܓGұ`hk3gf=SFH9c]nt:X;9.i;sGKc?nsGiߴv)0#`Gؖ 1\Oi;V!?eLm]rRj$9ݿp /;`=K6aɎQ9NW Či9qT~0>tf?pǢ^6.2"yhs5G>}K)  ;+ z,}U=CA !dW^"p|̾ip/l(T>@ڕWoޭ9*m~|gcgc ¨}I،.<4`q;&wE ȏ
\cTIL 5DƌaԒJvfD?[IJpMIIsG!mՍ77 qFqh9D2;Oy֘[t z+U˵_{L*U$٪%/F #XY HUqX&լօJB1Qa1ӓ%w&DR1LBZ-`FO,$8W+c$1S) \VӲFаE33Z}xd,`!x|:;8nwMf<G+K GxlcGYg?{bQ|G=0|tF,SkK`|] P|1&~y\;NֿWr ShsX q"#k411b f0T = xC8#v!W[/nn {Hǟ`>OwGy4{'vKE+)(1*#)͊ѨS4i}fqCLvk,AC)7#/0,PD?ه;MRp3H <ܞݐ5XF# @\)d:IQQ})HS=iC;ަ`F,Ԏ0)d (AvL?KHYX[r]_ZqY2ʯ|jTVB>X3(޾FvA9GWhRˮr9\,be_~;E|W3Z1n*T<#|{C)˔Ii3:rxG4/hHsc>ќc-IÄ ̧49(&=FyrNd0A닏~w`.||S)^^tǖzܤȃݼ@Go!D?l4->ܐp|^L3ېG?hiOy1er`khzx N`q Ґ{:q D?;) 7:yk<nvCf}3?GZQ>q>y\]B1ayȎөq |XRu ?n1*:9ZBSd Asu )N)Hoރ`r߭Tv%;j @0-!ڇאvd Gg@{>`6j?J<}qb xxU?N=8ѻJc0x4:\/yF8ޔXQ>Ah@izǒ~1ߨe" bF@Hh+ڑ.Lj"D@?lPΧ;'gj%hy%юGi:r: 䛄brp˚z;P'*hL 13O?8>5 CPWgtc _a= ˈUKP K^ΈuER PTf|c]@[BA&K?fu4p~UMC d<T&tpyl~ 4iT Jc*-IdT6Wk aJ7)iJW$jsox^bo16?y$9L|ٳ76=wͣg^\x,C7!k"#"f[U|DH'Db oBC&g)_VQgAӈ~ ֔t2 w(g]g!T…6I7H2&*X;TYٰ%5dlFT˦Q(ui0p.m~z?WnndĔ(Jv71;VT 5OR)("L*:nS~w5-),)ШڄAޤ@?1 {hlDd>c"{l(`Cju%}cNFcm#+ŏG0G`Kh63ݙ t /|m" m`baSM~鋣ڰ CsTzkb;|X#w{K04blXf IǸQ2d. Tv܏i!샏\@p˅>0U^†a{F<%FI*s-I4xgWs}z1,OCAᓐD:?QkLbdH"DT9/c^Jqr)RO7`wb2LStD _{PrfrMG'LbI|#$#$GP,baҖG""F2^r<3.H1d\論̈>^g\䣙X["`{^JXc: @eDli=TT!#fԇ@G!+7t5׽ H˱br8dؾTw<#jL5*9JOYG)F4[:)*ΐkU'u).Bqߩ2D o`U08Q n&ˏ@S,y_i s[*" bԿH/`~}pOK7K?_S@O*,)7=Sp#A"yB}7[c!mNYԆ,S|g3e{WU[7L p5+HIvCQvP42S&l'[^曋& u̒Q$~%Qj"qUScV&ȋvQN)P?D7/lnzi}@Ӂ 6PZ?F$U%0t??#V:wc8|F0w~'oMDDqUy B =SIsI x ?S&_ݿ* :Md3)d?:z'+s|Hʸ/o 3ҿ}KUGCWgri@zT9K3 b{wiC 3)Gw_~ ~nqA0R4?\?Ke}Q;OOԂɈzDr¿N=/qzG2~ڔJGq󣂫1bg\Z_o 3~6]}?l뗠~,R.s}V] /1QM1/ 0=Iߌ."ޡ.h'n;;b&:xdarp%1dT9=!%ݎ nc6t}4lC#*.G37&p# `ug46y4nv-L!̐"xK0pp?i'"{*'B`~8 c`oاlS7#݃OJ|#rqAj{*?"K \@= s͈rBac`~F>aQB3eOx+7&sfn6y:p1gz3W Dh6 "I^#4 W#$RyDC$!E`ȫ*ǓFK&>膃vИ`c!g1;ÅtZlz{ !lH'@y -p5>hi=0ş|< {ޑ@Il/Q+g\B"EÏWν!9WO|c%:qgcshx @B©e+c73G\Z17sS5d0ʠp&VldgĿ2ea⒌10ʞYѤ QdVX^M9#'1&t )2.LQ#|@H+#bJxKbϨyjQĀ1|ULDv%faLNJ'򸜄LY+yaRÖElS U18qWi@HU 2/ )Q;Uy,L2U1ň)r6cO|6CvBG[C.G67jE0sæ)7 )Mɓ:ܟVG d9?v :\GxFs EGt\f6O@Y"gIH>$+ҭB,ҖV-jjR*bT7_$z"w{C1<3'>]G9~mͳ=9YIxzcîp*AS"#P͑,fGjH*b)>i3 H?SY]*Veנ=L]ۍz%H=RRH̩kԧwX3W*W*fIWU*eF^="Ѭ;k,ZҭzPr*-ڞ߹UT`*eZ:UI\2+՜*[&T*Ū_g6aӐwfNDN0ug ?i}+_sT3]iyb0b$dG~JfmTM);UABAa1f2`9pǖ`w!BG[wt ,,,*,,ihZVc%E%1@go]ɢ)))) JJ l%ؚ%˖.Caw^B Pk޾Q4ds݃vg}OZ~wG02B'|yCl"duel0\d8dh8ʢiG Q1cVI?$fX2F4;rĜa\T0昢8ap]S+E-,fK3\ Q2gHg 0 q@g LjJbؾ5' \s`_Y2F( cJ"x1EpKQQ40&*&[ I3&PqF$Y Hd`ۛA*0eftϚHBzkČi\~iGV 814ly/F^c{y.G`RBM - x0_d.c=2>b<X'>??G_9~iXQ߂b .Pd%<4IGP@nmU v6N fBQ *հ׹oĿñ(/blIy:;:=!l}S! I# ~ua8e&#Bx+_,U(^!B Q2>,MKbH#ŀq`'nyCOy(y{D(y0l| >oHylQH|B@y="E+Ӏ Ľ2jD)!lɬhrAA4Zq$!r\A0~r5%[0/\xeP0-.=YsLs!FU7Xw&Px Ckj7[Ib@Ol=[4Dv=.DOa !c?B r8st-<4G琈^ zP;KEkD;lѤR7؁mh_" z尮 MAAsA lEXEWQ@ޅ{"Kk@\P.\gCJ!0>;8TN5>YӃ})_@a2|&5Tcfԧ:X?a#`ġ"o|?D%|(ш!fE1_އyħv@?a{}dI'Aϕq']?>⁔ȺMJ at;' w6vq*JW/8GhF[̪|?:"t3!e /^jvL$^w1pAK午}=<$;-# 0OO8S\PoGO" .B&֟0K~@;՝ t캂-{_.܆EtHO}[:VOw=̮TΐW[mgj*ago#Aftl@!=8hDž|g|e3aόg@da`a }3R|rI1pa4 SJQ9IIO~RH~;1L/hpv)hv<ô9k^ӎ49;CC$PB)1`@6!ԔBǁbR1^ASy<iOQQ @)C ~;  2(y29`@l}GclR "!G >ȷ%#cpc DD{Sb~}_8"8f!Đ $>To /P?MHwP(2||z?5aTW#4  y/Ҁ^vS*L>/ :jJW{ENd?ĝT %$_%  PRbN5BvnSsMFGn|{r|@9XDO5"vMw]k@q}]K8mA Y"pUEo8 y @}ABtD88) 댔]SrR(j5 gXBSSb9F{"<~20'>X2"xC*l0$> DF~.!!ι XDxI"| l>!|O, H)g9,\HXqP=Di VLAw$V80Ůq!#XqCE +6{R zPЏnKb>q4u>'LcqP4@)aaIa[5<$}?d& k֠nj)JiYvjR)@C^rZF/~pSa@J =ġ!')nAG b|0ydM8z ;a)A&o<yvM`z̪S!GInBa1Q#"$m #K4 S 2]CϼA07${P0V4= O4DkkȽ, 5 l`yAC!y&(w(C^=?', ˃ ߗhI/v@nԘ`&|2A4MjG~Yk)Sv5S2٭ݮ5d՚YU^SX}vvvƓ h>藛43%TL go(jM,FfZN3Cbx-KccDzEu'œ$B6#|ljMYfNo('?*ʻ6 pbStz[+T_>:kFWt 5p/ dti|9Ho.wpNKANy1Y'e2^~u\ޚ9ʮB AAiCԓa {P w1}XŠ?S䇑%(ÇdsMqܫD$ ` r'bmX~_FeIAR B(U^Gd=DBnaF}G x }M!=c%xc d@{{x—梔!iS}Ab A_PڐMɀݐ1U7!&ďOgY!$}0e;0x{'#I`NZ/Q  HIy p鑢I}x@H>O%|PPPB0!#@`a0=rc >" `@ !XhN$= GQ"@M =DQ6NX1H..9CDI'Rlk4Kf yb8 ;/|qh0a;!蠷:pf9 sʢ0\Sd@?Yk1R$u~Qw#RL՞ t!F(}źh~R~\S_y~ta)Bt{oC+H$'1 rkZ0?rU6Bۍ"babۼC@aŞFb: /(>KþjM _ulz(?+iA\lG^Q`"tbFn"lG&E=̓Y0 q~/Coէ7W#s)D _`X&=GA6Q߰T ~c #l*yrAb l&H0̬3 @3!0tWd06d.`"nhEp1_bOc ?I)brǢ8Æ( VGq$(a a!dHVI YY첪_qNs7tܣO6u\#O׸z{G uZ6nl4h*S vlYs{nۡ87SK(1>{Db,a`DMKPHsDc~ `;fd{]N4njBfhxȡs'׼5.fPcv&|0c @đFT$sn=S`|s%Ƅ\on[B3"r}佭ڐ ! <`qt r?wn?u p` ͐>cdC;R ֒!I`XXK9%1s2NwkNFuG`n (ӣ*N@`?cor̎UcDG3fux/Ii6}KfJí*4f~yJN] ECG1 ȕ "nX#$x0fגDE!2ji՜ʆ UvF|E;29٩1Djr، nr'f0G?:7|Sn|g^$Tdԛ$tPE~q͆6{6)z/zh 9F{\O}SOcIs.b{NWم͒?}ͰtZq1 ƣY\crFdp9tq_{򛆕)q64X~ aQбE9P@5 pAR|gY흍:">o@úڴxukݖ ~'Lҁ?{g>wk̸:G[w݀zt2l+c4uu9@·W8 gsz2l:k8c8]O{@=pi7KOCLMLX:Ɵp絜pf4 oVjC{ :bӖÁ1PZSiX>|GQ՝!9RKz-z0T1?)0@ggB8O$@80D2fL;#\Xg׏!Ҵ0,F1F1}4P4z+!N!" &1?0$!q,$f `^T $Q?Lc{j |tw?O`7h荱<,qNC$ \a^zp4L j '!he:1|Om՗T!l8Լ݌8v~}ӧæCmKC6c {. B줍?[1's&NMW!kq˰l .C7G=//;< [N/k ?߽9XXr-T"icfk@!`6^/|i7=bd.`j2?[K‰"ٌ{A$dCu+mT~P-kOHα%qr@Z# \ J<F.lvtFgKcNKz7M7~iѡf#ꭕzÝ8"Enύ ~F <.)i]$sa@'i8%s.l YP,Ǜ{%lҀ1їVCNp bei<Á7 5OZii>@7lGsv읓d.Alu\ظ`81G<,7G!{mş<߭aӳC3>;C3? ;!C:;lШ@A}vc&:LDPiob JGFBY&@@]/Fy,E`OnwaIO΢Eެ]|108eң7 DTa@JG-t+ }?\Wℯ!pz7i\0E6,Cֺ2OnI`BcNKRqFlҐ,R r10KDIi59ds`],Lل!+tZ图<Fx;3e@p!Hr&,zODaDV<ٹ2=,=݈>G;P88P6c `?!3y/FϟyM0S^{B'^0n`hOf LscbsGb3+2!2)x& f8^SB18wOԂ݋\-'`iW9fR*[*% ;Nۻ`=A ٦i4>3bW69Zr:\LLc!dPȌS  S:]180E㌆6fPKpF8(c>d{OpF+1v  |ݾ|k&n^ͣGBp _d P1]Vx{#[!gཋX^>SE3[8&fłgSO s7nkqa? }RVg>im83,:}4iݐl)w`ҡDpW/\nKn!>Wzݎ{pQ5&=ܞFCs=MΪ/'u 7 Y֤z:l3 ihmpX5S37thLBNܟaC>t^|N3yhyV 96Cq$W+O(f~]=z# 0b&-cJ9hLQ]sC1kacE 8eH1ьXŵ]i=S?QAs:Mp洦ɼ|^s#rɟ2|oRaǞ~m븎t1qAߝrXjW[}8ե8EgR-13Ba%kJ3 dOu{'_f>17u`c'tV66lYxr4;kP =f(Z:5"6tL=P(tS2|;걩=Q8Ih_DŽ'G).el_J>7v]r.(_pF/vd+d0D%Bap&4tb=k9d鄤"Qbr]zӓ^ ?Ҩ*Wg" rOY8n7}=ku3 DtMHڥ(MNX V"P1dO2 J15)c[?~s[)6;(]6:Q6.Ǥ5mWwc*1/`b($7 zD8}39/{7]^4Ydl6#4Y1Bdim]zQ%IpP FY(+OZ'5QQQ<"#, AJ4H=#JǕQ`q-OSAy>>'GTgo?$_qG,~Φp}u}g+B?'/Gb4lі1ֱ=v;b^x+):rKlCS6v>^^HH6Pc ZKŀC.2֤sp`<uDUf}Qsϝ^Sb_j٘6K.{چY5e3ٺ1~sYe+958bcսZ}E[)QqCD{.*8-X% Ͽ[ {~= )c'RݱM)|:uSbf7Dzm x3ハ `_5eVDٳG#4j|}~ޱk%ɟvVt/7cx9AXڙ͙h|Bnΐouyk㲆_]X(OK,EIha^|GG50RiSfҩl Ӄ2ҁhv?Үb.X(tT(* "~DȀ|?Pf{>y pሁ rF8~BIX3y42<oJl$b5/5HbG0C-:~ӼrxWt=G['ܝddẇkd6sZ8+c˗W5δR)Yn|g*'o$̇kgg3.h^ i՝K- 򆞗yYC,KW4?w&r2^қ_y2W?OIX?5-m޼,0ĸ(%1P?eD4躚P|ߋ9=q -'K0^y[jjvOkZ"N7'nVaEOVי\RɒPQ1AMlw~<\L=f_◪7ԅ1ğ:M|ڙ2Pbk4V^2Jqicʏ >pMJ7*A]Mb1lnKU7:~S/uب5+*+j^"cbu+@&iھ[ahĮ[j8ރo35j&tп+HƻxOvGAu!`L"x)Z9?2G+AAV<<l`]8KJļszRiD!Tƺ}+Վqi26n0) #k.Ɨ{ 3Xz4&O >fi }{vjB4k?m0ʎs0h=JTg8 ӓ)QP7i3ϧw.ŨD#wat4tkw]Mym+d8G Vg\\=Swl+EM}gſwE=KIʧ]ڜnoV-~_ =w[ʹltzW]:FB=G?`Ό`aŵpNXމK[<pӴLo6hZ |g!IrAMĕ1"Ii87=FO}CV QΊ |ss8ڔ F+sǯkkCÕmbN7?J[Ixhz& >&//bP"=֐-qʢ2evLP74q#2ёhQa3?T1gՊK\X#6?ʀt8ǩh1Hq i%Ң;@*Tt.W\ǨHFo~d:|+g=Xn[33>M?M31M˗!i!;'MlWAi=Hb 2=i{ ~:mMLk!YY]eezlӚa<٣3 C=kX=cGؖQS й7;a=I^|Zq~+p21] VSb|?$؁_e822}*pga\S:f`6b`t 6wa^Bq1C.BdIÌ[>[:ٟ\{='C=L1Iabb?W50q1q!-7h0c0ccCL?g_tݟ3330Y`Cz]803!!32`|n.|/ccs71#QdZiɍ/={۟> Ir8Xv:$1nۂ<si V1؅;88ͷ}Hy!ܮ)7gO}ۻL83̉{4 ?!l4sҺlpF{ϴtZE#$@Q4doXaƀ@;!z?cLt,b]ѹiyM# ssglb>Y~{ y}c`q+7/NOcil|nуڙyv16ޒJ0zD5H |ϳcͱL,Cڼƅq;ۗ-j16wL\1 Lӌp\a4a=f!: 0CHG`gzfBx613>aV Ce3 O4ww'AVځB!Cr!rᦂ4lX<Ӱl^|C^؊c A!3%y힙#:P6xol?E=@`i`^ev/C1ct/9&Y$.qFQ \c`[}wm#4!;ҿ+kTPp[`m]jSx %ylB>%'Fl O7D(ڎ>=`53#a89\{HBw!-HjxCFIH)3f82xˣ8kHMi8+Ѷ3EaRW* .9n= *$L$aAHkfkvSK9Rr'qÖY5zn0lOoIyOd[k?92L-wG H̲;CVc8fQ4wyOI &wB=gMivcNQ :qA?YZ=cn9G3W[O-%dQvia:?)BBƆ0E@:x\2ٷ Kb*[ wπ:*'<ɠ!IZ 6I(D(bﮅ#9( rgݹQ0[ׁ+ހPBD4B4 (-RS>AB;V!H 2D#2 64LF&L2dhb A0 & {&@#A@ Ci<# Jyة=MO5T~xOjfSid5= SGꇨlP=zS44me65 EoW{D_B `^8RU9@AdG@1,A>oHhLG ##&UBفBوi9 "b10"aVlѭ7ξ fF,,PE/˚w|cKbq{,p0Y Ոu0L0̐ Nr/N;x. ( LĈk=9GZcj@>o]98L{>Vo9n&tZ:raæ:h Ľ|RxwЖxp̴5] 1CQw !%S &6Sddzq`5ɲ#xPH9n@nݸlnܽ*"š,3aN b6)PP+.Nl̓9M~;B2OpNl]E}rZ._QFffXc>q I? Yrۡ2 c`Ӭvt$RAA phjc9"?Ј V (䬾|^oSz@f2|daaKud"9^ɏwl 8kw&Li,]x vhbj}n2qd,EV7d6hN(p0_$qbl3[m>9]L2ol0 b2 +ĥnQ:"ѐ JD&u% $gRrSt2*$8a <80`#*rHYH 4 414%I D!0Da* %|!CYy8XB0 )GCPA^00œGDNbHs rDb.0)l0jDC-  dd#DDKU"&`@؝I@b ͅDuwPQ g Mc]am-mS L^5i/x vqA\)e;`ub&(,lj.!6X01!xWe]|а/%Ƈ3GKc~sSu6*4?aȪ(5 ;;,x|j&#!g!@r(9iG+TXjNf=ġ)Qb0a0B:hbSONɔt8Cϔ|@jcMD8;.BD0ЃkZ0)F Z`.i TЃQYF9df?Y?Z`xAMĈd b|C1xuD- 樮=D8+" i  4-KXI/?L]6rg{=GPП>tN86sU' vVLN\/kMÑxI˵wG꛼&dCo>p^Nňřsd0/npܥ)n)4kY|nMt MO ۍ^2nYXwצj^w/Fw{s!Cи#ujWDPKZWAkXPb(sҮ[Es@A( DP.梦D۶҉kR‰xƁ@uD5IÉ}\֦;xÝ(TQ ɹ50!P6Tw.]w}. <+9L d)44RBza9F]¨ƂD"K!1)jRG 3Dz &7k,<:EmNoS5@u;V,* ݳ|¢<Ӷ;g7:JI^M&z6Iqy S6!V˰ iDE<BJhq;YaDF#v |n0?u_Jpr=!H{C }AJX ^P y lGaVwv.`f%AK]Y/nr[4w,rM{և7al?;Y!byyIgKPN_h!8Gտj2A@YDbc,3.f*v8Pa<ó ¸8dMhk7wb" b]<\!w kkj}#E(`6:}pD<4)q'9ʴBT xpP8KQVzz1X<']gq۱/B.yGl "@.!N:%5Q 󋣺Y;{^$DDKgIځ>{L Ir'Cw&#:[ b]Lqb=9Y~r1믾Z,PY=if`w/(`Av=?ӒTpLi8ٻ6nx-^Q;rr݂w'E*ŝ $@B:( dD !$,Q2!b "8HbòF ȥq m"h"&,t4uFg&PDi˜"wC`pr㭏(:X]<vaHQC !ĂԠ0 <N&(MYő|PS{7u6sl#xn!5uz=AOio3yQKا?s~2zJx!`!;8;gqǣUQ.k7CͦYCP*̆cP}j#S hrj#IB(\uhxM1SxL )Hjg ؛w9w1/w9WcP 845"g/fJkcl3 YNƨbbw3|i39Zt T%Ew':dm;lH04koUr{=}*o5ʚp\L?3z"'ؙXV:qG !C}Clf=m .Hq..stDj=d"AKnn&ߗ|)Tme_F94^'VL^]m>CrvL&00p{lr?g: i Bڡن>Uᶴ=j:mS{ h2=)|Tx~e <$B1@y4̈'^E36|63=:*MZZ|Otkpwᴅg iW5ӥ{<ǔ{W|s΃5}Ͻ fg"c3-j vg6n‰4`+OѬ~LhȯhK yZevLg4BtS&!i~0 ;ׅkYwV 㞳|^jcaZɽu5f43b91;7/ W~w04: VHAgExrx<^! Pm袖C{Hl4!E˖tdZa@L&mD Q4s9a<<n|>[\x@>1襢%1[MaU G@պmhyaP`$ 6T p2 pnL:{~l%6*5J h>`jNұ}HBJgڈu\P [G6 ٳ:iKv2(ll!4]ɣd@3I2>,Vev]nYbqt!ha0 d )֘xXdyE<]8~tsFysק?st3LlR$ j)*'kLqi1h<<޿?{60-CI/CNŎ4Z7\nf4E{u5'6qð:pb 0ī!ha4`ʘso8.rr<a9"ǃGw|y[2џ=P82E Шa{^^95#hQxheT2qɄëTL_qZ+=fD'4UK:B0$(KKF:81:_N:I=smr}-@q`7?zG/<-i=a řv|xyyySL-P(3yw6ryϬwnٍQ%Fh11.;gQͬAO}W[O_B=(^U{wmc>NPLUNOjuxc3cOﳄ|ǟȇ:*_QjcVt2!)|V,Z>A5){0 {lXcPٸwPǧDFV]r6Pْv58z485\|Ŧc4gFy)%te F0:ش` غ/OtBZ`mUQn'L53= -'Ťla[ÜblEcm0'lvWPrQ-!49yEfB& Ұ*:Lf] 4/TNUG(2gzvr&1-KT[2mtç on*]bsT;XTmwtj06A6=V`Q[¨c=؜)U|x77ztp(uuknK[Af#yb"[%ݐ;ދBEc HFFd&; ܪ[z Kn7Q5rꔬ" Nl{gEYI'ⶴ^0!OcNx7>9lѤWӽ RVwg)>4&IFXuCYPIe<#H_F:^G;>3ww]4gnϷ1|<og[JdBZtd4 Ij:' kږp}|KǬJ#LIlT-w@x86c{l#ZsOڤCJ+㍕+,OVdnHw} ڏP9>\]{85TM{w;C.]9&?!YDC;k>|Ĭ|{GB0K;;C; bw?6aݡOs#x<ӹ=uuJ([fUDǺ7Ɗ٣|='\ Oy'sӻqͧzPVh΅3H|}Ig{lLk'l?X$1%vXMB=fwAYZJ߼nw/J,-1u8dT腩Ip-2 Vmy9viXH.I -_LbF59a@姁w͖7~;ٵKuw!}WY͡ O2|ͬWn[?Ys󺥛Ɩӈ54u,v5\/C$b7e R^5( s`i` VCT/Sa09!j˞b s|XҦ絝 p=}aa4f't]>1vq-Է$N7!XC&^l9i}Ía>GvOSS!<;XYޣu87iv+(/xZ8c̍gn6CP󏧤Ѵgb$:P:p6Z8|=x`4xQ^ol>sUO#ɛ۸20@7b1pP(TqssVTyXsn r9Fga@uޠޡ?d=eʆw0@t:kk&e*jZ)jrkȱӻCIa\>*ycMN#d@&G< ?Ģ*R5j 8LAc9n2b=E9b`kl[>Bɧ4s9mXA2=X= 0`R?G#{´Y6߅1~gsNC;x@ÊGeZ\dx|)YY"0cX`Psy{O';F>Oi70<^Cz~(5`)8K0qkeQzD^FִJSN>(IRo {Q|sݶq=K3,>'Ǜbqq5Z|}|pwk:ȃÇ[/9p-n|kS[P3[=G\}P=ۗX4Wg]:`qwv, $SkLwuXa? 'L&{;=]~ڞSİƏޡbZ=ZK96uq՟MՓy@,55Fݧϳ?kˑr[mh1Uɳ8Tzz|gfaш6bT

/b==UTuh A_|]@u W =69A#x^^k^@ :ޝ:=w:J 6}4X8Qbu]ct$`\Ek`+'c6z hE@жPX  ;p/!<%Pe|" M*)1+(Wu^ƪ=L^sFmCz:,>cf͝w(^Q-11ün9jɼ*'&>&-ʺx/'Ǚx>hr?j_8EIt7Cf 9sq)~hzFDyyC. P 6Û$cBkAvFZߞ3˄5CO$}XS<3cd3I%|Btdy~-(;pޤgL|'[lˣAǜQsJyfMFN=Nd@~?#}]yKB/f;=MZs`(h \w0 5>Y vrdy("9, @+1(^Z5["R:Pd}f{^c^D6(ϥ?AGdFГ&ո, CZ`m3 3.bM>puct0Oss6۶38-u4~<C{?QU\itǣ-%;MMaW ^g5#@FH LsT*UTR,٧uٺPh맽9ޑ=棳0r5U}w(A(ZkFSsKc?lR =EB:\bsN&ӚxV !\x1Y;;Ύɱ;6`c˒x{0pC{mu- ~ƌ(11HhI7{6vj6 #Ć/9DžSd52h~KVhO@9m445 lhz"L0HJET!ǝB<_&f<:F4; wykepg"u<,3TzGdr'~գ3aZKu[ Bs祆}F8ҕ#Ծ`Dixss|^`P<ݒL.{0i:vhQ`eFE@7hƼ,tpN+-ag 3nzX}^S܍Cr1&XjB >f;6iĻ݃kn3մltir1@PhF} 釪ո)c_b֙tsͦ|9袬â5WNO.?;w2X8Hwwӎ;\WE}ᑉat)fhqgJݣT! ηMa=yEeQALRyJj G9uY푈JW]l.'>~{?rI 6d@'W4U.<-pXNU۽Xɇ8)߼X7=Pom;z U0Me%\+b߮Bju)Q zV8(v3*4_ q%Da mCLqm Bc;|/Xڵwg ;_a}wh߭?YG;x_ٿ߯J+[9rc>L!Ľ4WY,L nbF8^>1˥&ܴJ`$]kh iji}|7 EHwhbV.1],=ĩ& }zqRB^Ʃ;X wll@lN/MD0-N 0c~yHf4"aRfاDC m79?3d}z32~{BfaH@Ž ?S":}T`xd3,dٌVllb2j+5w7!vL0nLc`h7f1c]7 Çϱ44!81:u 1W&N; aܰLqO#byqƗ@4!j4^f  {q-`1h*@D;Wc?`2I?5/Ɉ:TaR#1b`ljƃ8iN pDĽ66T]9f4:vM /żz=,b2`s7O(8@rC7{Hqb"#!R199DRP7?eӞ4 .YKƇa1iœ%u٤x`ͅGla>G"!B%D8 /9C6/wXbb!SOha-k\t͉C\zP& 7 TL4AQ9GLHd1/M0c@b] "`):c0cCC8ci!C(L7xbakd׸lPc86D `:GDJ9h p" *U..,L)^v؎DW1nM5KdT3bX4de'f&XZ3!&KGf4L-(z a"E Rqc]LO A:`lD3T#"jEL` bDiH)C`=сu{$yhj"6syEMLmAHu1b+!:&ρBIN4-. |`Xah cłm xa,xF)Rm&XR!kN`1G(ēXV׉*pax ,DsJxӋHA1Ȗb`%bC)viػ80S6#heC,>X5S6"kK  a"Q!htnACb0-3IE* i]y,xES&!P4ၢ(^H3"bJW[ ELnrD* (T@mH" xL h .e"L7>?@1qs` QB@pa`STE戥ȩx#xUR@c"/V ll 0Gl TDL10 4DqHM1`N$ULHD0jEFD 0 $VU?z o 3$rbALkh.QGB[X V+, d(@h %aJf-) ) PSLK1_/$Q@BD@1L‚GD%#( Y@IŃP.BPP$VEEE.!{P!"+"z(Zb8@h`fo WC^+xTG6("්(4D$A-A/Š#lR@" xpn@uDZ$EQ$@[EFV @ X AVL(>ԼUt BP$S2*a B !$d(( xh` 0"0Q=VD[ AA &DQ- Et c(TV@'SBx^T* PZ P8Z H x7 (FDFxm&  +xDd$@PT (Z P@q"J^(H"@ HEC3"bD"%TRAdSC(1DJ# hr`2xD- "( I  (T@D-[E"Z ނZ@HHbbH!" ,IZP E*" !QJB RY,W( " D@DARPYZ E@M0* TS+ER@j! PJd.B"BV$-@BȅEoH#x1VE@0C -E@"+h5VADFA!Q"5*PTxx%E@* *"%^ATGj*cCu@**-D(aLQm Bxhh2"ȀxmdERm hH*Ƞ(h"!h^TAMpmF@d2E}QDV@.Emj(TD /EAPm 2 @5DKAB! (d "K@U*pry "(H UT * *RU$EI[E1xh6V FAj &P~hldK`"P@ V7iH2 `TQFAd/-/YE  AQj  l(- (Zx(*(PTA 瀫h"Q V"-*]\gPdEшQ0&2dF5 c"TADD @D@G@0E BC 0#QB@A$AT$ESQU/""A**CTc$BD(( E( [@oQ* E`=P P\+ # 8 $@ 1DdQ(` /AA[d$"PPAoAO(%@P#P@$DFj"PZH1U- +x(:*hW(TD瀃T @dIiȢ"D"H!U R$A W ! ) 9EEQ* ""h/F@ ERA*h#@$ERE"((%EjEBD@ @TNF/QU@-Q$3 eUm5RAQ;bUd*"T G*P/QAP rȪ !F QL EE5*"eB@ AB@FE@@"2 """h) .QG( E$PA)$ZAmb0N&P(؂,"*& %"oD xFȊD/DTL(Ĉ` *z"(TD AD A $ DAkU" dQS1DRAIr hh! Ȉk!x" ^(r 0DFAE(0P$NDlv1FtP TA/D2eA(*^xڀh+숡h"* ^ %b 訒  ABAE$AIEAD1"TR C! [A CQ7x V(^ \Tb 'gU1#""~z ! )Q6>PŎ2D?BHL D.'1qVq ZC5ʿ@9҈Y%b" -~_|}da` hb1r#e@FE$IT@HDAB H" I` {/@+!12bU B""$(@Z"BŒ*@*`A"0R(pl`?Ǵ6np_A%E=1QB a"$AI"*)$ ]=bG0A'm;ū UMLR*[LփSD-iibe(\&L\2\eK*W32嶔Gf[mqmYjmRit6eͶ6Ƹ6mhKE5n:SWZe2gr%`MF@XE@E8 "(BF.(F P!1 E@D!UY$E @X,)ARAAB@*IŐXAAb  EQA"*1Q2HaHP1B"z`*qTB$R1_q (!ц@G0",$PXEQE`#A@DP`D((nl "SBE6T(Q0@3B=X(iQ h&XAF1S: H;D >G=3&Zۊ\JtLX )m)hS4[LFSFa fjH cb5)4LhqXՂ Suc1*<S K`k@wA`!c X*r x,D  BGZDFYU" d*(4FLI!$& aE#*cT4@IQdA\`FEL@lDFD@6F )h1 RC h @VJ*%^ &\b1!8* %ъ8#um`CTJ`1*DF1Ql=*h`"-آp@b8QQPŊT lՈ!B@, "HRCg[(sPsDb֍Pd@%؂ق"##"E ,0Eh5& DPC)=%XE"-IXF*"A` )1"$c@!  ) *X#A`X" r" 2 !"Ȫ(;L(*A,(2b0@ DEUsM\BUA=LC[U e)¸Hz C= A 1NKB kY c1'o4EHb@AH,B a HA`" @YdD|X}`  ̀Ո *zqLv@:DAKQS Dbi`vCLDED\ Szh2`8nU1z U"@V  xH#k"@$K`|Jhq`PY#E"gHz^3 #19!{40d bF"")1I 11XƘ6l 7Hqib(dA3hS~zz@k DTBˠb,`HUJ$R@  S:3勩GK#VE`L D?$U-1ŜAP bHkٷ7n桧MD Վ+RHV1fZ۷1[ <S .۵mݳ$@i)mb )@S8 ׯV\b(<4磟V*U lQ<ϣvB h`uhկ1h:oN0PryPƀtD7 A Q@llUαB y"C9x&*'` fEP.1TBPт؈z8 ~6"Q<b1Pc/>$t\]&nY"WFz4hoc=q,՞(aal0*fAT DUAPЬY TUP" V 6dUJE^䈂sN `qB*gkiaɀ􈖰 D HQ X2ʑ21 HQxx`*qiCj4Hưh cP.CZ(%_b qDE@+"AnWA((DE`EA醕~CCM()S 1L%hTK/" XbsOh& J4`8 At,@Hb"* Ch{( k z >EU^1k 0F9#J@PC!+<5,b\\bAV#q&%#WBG5 `]XP~LtP1An@8"*"`;TM'<,?ΊPT= T`S f:!f zv A0R Tz+> u 'nАbOS뙦OOX 2n ~ "@،.C;eEa9|*{|?$PP Q$ԪخĢ=<(.{7Q (weq}pS^&<}]^ [t?_mKg䵜&87039 ?\CIHʄ=<#E;q=gp|+ 1C.y\׶xڱR78C 9)#+j[g}ONl1iO0F_p1jŠPyYW#}-jDTXePoyt^8P)Y %PdQXorThԦ )4k3a9bN>Η̸֠ Й~$N[̣z(ea^OKQĖ8τQCy$xư٦ O }|nKYʡYOhy\G7cxmh'.p Lbaɳz!X@hukF _2p` GufC nCG'uWG 6gӷx7+$1j(e|SܺH-"dGK YB1K8t8A8Sר؎j%OCy:ǯov0b%8u#;c%M)H):8D6J d^#%QoUr9Fηm]wV@D&[Xm0&UvdSJMeSMR-']bt"=aBmq?.ԡze BC}?gy=@WD3wT0û_X _7pV-ӡm+ Ǖ ˔"!Wd)A# \:h@4`Q1.G!Z+㬸[H(JP|"[v#2_7Ed[v}WB`m/ALG/o0o PcBfHN6a`j-R9eG`Wѳ:X(b 8RK Ӻ.7[6M JkB GDϺ^^hvsp?nAX6'ytRxfI@4R+E,s r )TT `(JG!WTlP}><=1}nEj5]m:.aыf)c!(uq9j O"<%q6jҠO0~:N@vZ2kӜ|lPK4Zڳfp=o@Y0@j`ldKJ?s4ҙJ*Þ8|'_BzPbU_ XAkP2<Ҽo{|&cN`5,!^_Vy}-yyI> Nt!rS!*E/ @11C4euEsR"C #Ww\ ͑}yxyVG>/n>=i9rAϦGtߠb1l_Ԯ?3L6M Qf`a)XVH/C [Bf N pr6*k EFE )9@:w4nWe 4L$BkLOS28 ™ @|AyhΎӉ |V OWKt3jip;:5雓7p, D)Jg? nZvga4d7mI*F$q;C9V5{3@=[pqht%'yY9a?itF Fս?-3،k0_j AP&wS-lPz)MZE2XX508x7sb{pϕi29ͼN D D(&_,6-:w[t\.% (LBִ;k|T3`>bf4ә9],^Pl6>)^e.f4+;C=G#:".WvWEMP&e|6P?ٽ45} FCoǁi4ODJ{׿V?(yMIώcc!v貑ٱ%[l6qX58KHHdݳ1A a, 0Ob=q纃w_^,F}E굑Mx .]é/]}8!/`=\iNƲZ df}`z^Voɗvfٓ|2 ٮF ?ꃢ&OF1mmC id fGAt2\!Y,g4Pƿ/` P硤i\x>`2z =180ӤZa]!QC3JwɆe4nc&1- k `:(NV(Ѡa9^Pu é>uпGT:O967|Pr;%ȁg{4&b?AĿxNXP쿇 n"SE<'&uեZ댏ke|og2q{85rC0kA%b"2@օXpO PR#pKC<})=VŻ}AlMTZȶϐop%bGbC00/-8 I,A2 J tD_A2oN.]K6,(CEW!k ^2z(QC.[TphѣO,}axj,TYKUVJ"(ZUQTX~v|Y)u ӆaH048V@ƈ X@ Eb*\嚡}FpཛS<^(bcЊm{  6 I@-T1$J!aS\ޡ1ǂS @ڱ;P4GQdl=4)RD A?%b~R7 9s_kM/#DX ҅bTCDx¡*u2>ij<V T_N!ͱͷ\Myiv$'/3miO==uUh62lkFkG }6Ѻݘ)u̠!P?1mMy˻ӽ{nLK*B,lhzM6*`T>(2E4#Ϡdju5eN 40G2{vjɎH4r3Aj~ՠSx|5b6/{h3qvl[_1 lAz3{GufcP2ѡg{zںjܰcXWoP`Fφ.5nvN՟ÿ{+Li@h':'jCMlُio|/?1z `>SDh kJځBqsXhXh>݃%S,SB>v[BaؑOzz]s=>?ihgx3ȱ Q;q渰ʳy~a#P6Sl_w6Kޝ׵yܢTAZFEqnM*smtǭqx!x^9Nnx3 >:'tǁԽ[=Vbxl\pO{jFt ++GqN̙=icndΛAphO}0ǘ*t.E V3Kk $ٙx\ Jh|2`o3%'.o4zdM!{?&m TzK³"˝?e3)2dž}e3/ @KD{^qd<9R=:W V]-6;W>y۴Gf6<`Nz5y. <[ԷYwyϸ/.|5;AN={O {1  U٥4ڙÒ9i|҈SxqfL&/sg|lK/8Fe9Efs`y\L3B^".TQ58e"uVlpGm)ښ&xu/Fؼ3xv~:KgwqbcThAMVLA=PiX%!XX͌ ~qloT b)88v'9ˊuT4 I&i}gH'!#46`o4x9Ѝ_ B 5SГ Mb(=X >M5O 5{>cXᅰ+/0OCq&d;5ohѢX p1_@c:XC7/ 鶈SDCK=P| |T#d["rGeg|O{LsAz!v,BVo|-=]†ܗ=hrz~̡7>r(l2keiqy-#CόT~OGV2YƱ·Hu-^V'ߗGt9n7+RD3H])c×8ƴ؂s$.|oYGs{G(gG?a~+kg/QF4GYaaկ7=5@0Y 6 Tk(p r*hI:*EdpuKFjh.cpE?`!8;`tgnۚq6h꥚0b ŕ=ۑz1l[\-s26o=|!D>1*@RP]sڡz n;GAA O4Y晬=)7gn5[P8q]g|91v5>yPR'vB6&{ȧzJ5 3Cf6B]pх35 (*9{o!BN34E@H?kAFo+)Gr]@GqĬC8eE#|}d;ETmeEfЛm<^6f`88$s&B'wGtDB?ձ/߯y=x쬛^zN×.st^;L>ZÇ$B h 6UdX*uHl!3#Axpe9G" n:$S g)< 8y@;H&p=nZ!a@GMQGI`cxji2]#e U.Z_z̺YAg!1N ;2㖌.I9# :| )(a\@8x?8{[G8$"H0tPKlU Ǟb~u5g _:cQy=IQ2ﱥ@@ϭ9;;?H&Rh$Mf|'i?D8bpd2@rۧq.\+M:\*@!Aհ@~+q/DcA0Ög$v.$+q#WWKb` f [w0 6Oowߵ!GS`$ 3RR4r?_G1r"A!(.SLdv21L]->3rөE/}g1[ɽywCn9Um(Hl$Q̕bxQZ%]u#^s'xާ`~S~Ýl|=+vOڴc!B/ ߵՂoˀ,J2]__|f4zWjh>_Ѥ,Ŗ%*wzb@j8a 5eByb}0AQ%gzu&LikgB۞cu48)kpzFjTcv'mx'~҇% #'rς=Mp|Tf|saQ!au_3|w7lhLyeS?%u,K /nmت*aZ"9nd$jZ渃niBJxӹ4rz_amKY7U,c~ύdll  -Gp ҆|[vɍ3frŴt }>?V L|Ghhbu|lSR]P9@ vOPt!C1eo%hP0 O2$/_1;#n@3H ^l'~8g*E+<Gc;>$GdzM@ϓ)r BV},Xb36?D'Yċ,X{e`sZ,XbŶxCi1;m]*gf,llXDꝎ;^n//b!"V*T(JE$,$*ŀ bIPLJT$b+TV(P P1R dP$R` A@$$VEYQH`E"Ȥd (B`*"{Zs33ffuu8888~܌w^Qv v 2| Í7>)f@@,^{~&׼FgDz_!KJWgww1%x|篟bt}U>`y(|=4ZzHHQ`;Q.۶k?=wO[RtԢ3/{IR{MqgjOĀGUltU?d829tC3(԰'cn5P}CECƇeMGEd`oп<Y#/eQ>[:Vڠ<~Mǻ䱗ڮO0 cQtk y"kSEۅz%.SZX(+;Oa/*u{S=nhyy?͞z-ږ Ḱn9i-}q<`(NQM)£A7k=#S30Yϙ8]i~0Rنp!ds` +Ɯ:(FҐ f~foꘀ_+%d\)C/>K&%0O-7Gc$J&PqԜR CE9w{Z5ua (PrRrGg{ *o@,tl|~Ijtz}MUmL8pĉ>^G9?{}qqzSp/sr@$/^?ͦڂ7i{ovm @{Ru:_b-S̬q[Lu t[mp9~TBg|2w7ߴ?TA\m9@e"fުJѫ}nͣ@4\<dH{٦_6gk -iH/l6!.Yaem2uXBY.%ƌhz҄-R:V {Np@,{ mkP{}'h~*}n]t<Ƴ}Ԓc!IsC <Ɩܘں9eƔP?WK9CB)*43}FÑ8/@Ν6.B֩8T&=6,s%|<3|+bIhʀ)MgQ!OOP 7k}C^hipU?q*cx?clPuo4G̊FǼjKʊchιϩù]e{"g>ѧ |kCn1M91ٿl?A{F>8qǛcc(Zx`]~~Uz*qGm|;h<5yr666U7#A k{w.5yIW࿂XoC:!h R؛*%pv%I5(X/~ɉc;tй|{Hc-))aCՙaX581q5qݫn9 Ư=y=< ޽}ܺ2z;Q48.qcΪM3{}b #BuD@FBEb@؊xD? #v'4 !Dh.Nqo,mYJRט'\ScXuFԸ`u%Җҕ Ͳ33_UH44$|& 1 h3;r{qZoW051XG,8g*z/Hr:/b`gz0\1J A p0C2lpC,||~z[ l-[ a83"`^QZ117<#[Dj~\ s=㝠Qh~8~ ,Kd^B aT}h 3hO\R At!Xm<%@\[ZYCpN~\[<6epLQ@tǼ؃饓 " u^  v !> }oWQUn1^eA964`&.xƎKyX?YHƪX8oU|%V+cF1Ε0j"k~Wlc5L:L+bgo;Fط[~Kho*؜屢:WlH7l`q5 h?=ՍP#<Z76y,4o(juZ-W`ꛏ:XqvNٰ~s[-=٫ c؏.һԵFٗGM`̙X4Xe`S+;˝b8cas>9Gܷ@/~_X8l6 8mqxv@O݂#ҏx~sG\`q@_w>ig}BE؇7c?-Lj/ ܸV=ujo:vmF}u}}~GsxܸT|83M{=yt ;|o9򚍬_w5F%#GjX6]G@Jp QxwaY;yq;X|FUWZu1:_0|w j1u;B1S*bߊ^W3r^dbg}ksM4[0 jV)t|59y룅_oJ`䆪O)58/G W\Bz'y,o9g$dhGJ)ۏSw2Bv3A>'C/JMkGJ$n.M`W=;@o9"#IN l1(;1M{_mihy_dW"dE\Wf~:7ļ[zgvodھ6 4uٿ?yrF;任n0C4s\&8u7Dꚹ{W sϖq_һ\|6f< 94&=hdN83n}lrF4ǜ#ΙMLVuwS0 qR0˚? jdM~w.un.~p7"*9("ۊy:q"S۳mfv$&F(Mjʀ.UG0 >i+kTaѺwZ}ߜa1]{8b[7q;i?R9<L d(."T<^BaG~n[V+[Bd nfZ:+G:P "$?ӳx9Lpl9"%ş(J!Շ wC; d68"10/,*o =BaF[·S|l\5Lrv{jLK`cE[S;n=BY [Vvsش+5L鈯1ޕB^k27zgļV8ًÈJ+pFwګ0w4׿V]~^+T]Mu1sE;zMT(ښgu%ٵٸ.?_fC0ۙ ~Ӫoskb{vD (Ҡ*(wij8rV2! Gߓ|K &&3wL4‰AzIZTp`[:Tg`X IO[+udW'ƃprg.ﰪj egxŐ7͛4)6XVy#,n] N %SsPO kO,uq: Qڋ*ymѝ P@X]DJvY *_ 4K}ޡ^ppJV2&rNbT@HyÊ.E;{  UHkf8'po4 uH!f|&P6ba"e޵B~ <:=4ZCy"jm%L 2\Nm&"Vkkjؔ/wu"|4>o0|;މv+XŽ62{JԲ Fa7oR;gwW7r{XaV8>l"]': (qdɽ{ ostzqnOEidt4|]jisU=EB`axR!Lcǿp/zXjx2)SJgOBP<#{2e87ذCA~dD221޼fxMCD@: *!pg!к0kCVgW0QGBw=>i!!!oh6&tʅ rCaS )F(V(Srl2o|i #8p.QޛrECJgˆ0S…jTB7A0BBn] g;Zme+~ 3 ؎4$ P?)HC؍X3wA ٗtghv?Rm˘7${ /0 Їг$@=|BKH{O$30 _$IhD!Qvw`>BB@<ќECNbԿ! R;VqOri[iA! BY/T0τz{R§4mkwFd3Wz]C1M`3ұ 4:&_NU4Es`QG9'lpnռCZSFP0uEn㻗uP|#Nj(P 6 #G8'f.Մ> ءGfl iB:*oACw£VrEmC<&1B-O:$m2f*5 ^sC,^*qG* RA:gE4ȎJnunyV2#đx ۾$6|a\2 /ѱDB˯i:MXjt'\7rԞ9x.ٳ(9(DPgBy;ûan큷! F:V c qu q苮O07T){gQ_ Κ0цlˣ[.L0ю9SAf$# pdSXk #|"%/ 'BαLCFr-kCdgOiLqЄň)1"~Ù7g9%D9cAcvlo02O$t7BT1]5'f7K &_xћC8pN C1) w9} Y_C,5s+5 XЩaْdlaX/ i\yPY YJ *֤~[fuM6CDA9Mj uD ,t,Ӷ.1K~ƺ"zhwEfXe Obat=ZP e0N|m=i͓.8XVM u kÄaZ1&)5ae({ o%t*PopkO|181C~[|)J׺1>7ݫ\Pѝ)@ЗHP  pOVseא$cɐ@MD=1har˟=;q/3@5 lv?$`>g'~Gm*[gD&2:o~c>۟j0Z 3x6z#Lnq&kԗt8FİFַWbzԞC˹-պJQX-o>FuOIW㳷yg^)T:ק6ڱNX䟬4ظ7)LyF\AN8.L3 ܔV}S4'd|96 S<:Rzx?9f3WscWRfvN` Z\wz֎q=#Ϻ8 >8|:'Ҽӳs哷6G{SZ{Ba.NF7ݛ;QpInʊ}<^ZZjcص \;'58.yu*tYeXלl#+zo`zWidysp_0Z԰Pn0h:gh{}[`ݱj8mc;F@^nkjmWlrm4xdڍt.cG?.Gems59O:V0cXG_>;}x%pkG5uj]yGTr_r mx7nԻm}uΩ7]Cܸ G=3AnSvE@Z۶rWzo=sW1?o7scّsq F>P0N Xwf뿗O^.8o_MP#!W7 7yᡔlr9ZjjyƦs'* O:(7ްy%{VESuϤ@}u3#ڼUp|%͞UDsRCyt '`@1H}(w١Dp0[O*p!C0垩!>7 >vFq\p㡠s>aQG:Wkz'z@'$n+ٖJ *vjk<7AEnCZ亻+G˱tV+TOn;&:)ZPnuf"'Ds*Xwq =o!G@˞*kECL\^7`E,>9 &;Aw.; k: ~!`xxw$P,o;:'̈́ øtN[ciVUHq@.T5ΥCW7FykͿ' ߟPj?nKOHq&؛US"R|8:UFxY3; M! (YbAGHO#&Ŧ/[@s9 E RO3KSPHW1 o7j: ;| )MRJ#T)H-JSD<ɘQ!?~0D|i1bJH>!O,7QCbI`eI$w1h<*ei@3쥃3oXv  ߌaD`{_ѹȔqf﮳Q0FGXxιe g0'zth1<Ξܿ<tHaF3fY13ѓ;a(]lɖ8/ 5 q_bnѫ_)^1.K*UD?.K}n췉3+]v- z8)AՔGA;mN6ǽǡ|:*ib(7|90387@GPM#Yeh.mFYBȁy[=Ӱ7*6 \V7Ǣ7M`hzx Gyt*/UvQuhs~t0:e`b& ph3ro}18nknf'i[F^dqkơ<7򘆢4:SJPB3N5OS3< s^!K)ASExH'% <'V#1\(h$M[{5.?[>_-UPP10`vgű=yz뾡$c8vi937row=3nEȡ%(ȕ#05f-?mַ߲_69)*7|³VPd۞<x?83gt\Ojv=yϪ>=ck/Sn _jjƀc+>}f~j ~Ǿg[ˣ.\9O hΏw7A%ͽr^wÉ6)䯾[ht&3}dzLK40lV3P wn9uΖ;wjQv_>$H:=I.ƶR_M_7sX5k)gn&no#-Qsy؀{(fR"⏻3F$;,k}uʜEH4/}BSB/RQW1K"Vdk%|?p=.>쾞o;3Ώ#.%D5_Ǔ="c#1T6nmiMhvϹL%:%?M]{k?css'W]?y>yuml]J~ųFSwWJx8%"9uQҙZcKI@kw͝rtsKށޕ((`Ѐ~+حx.LO Yj8ۼRq?Ttloo-뻪?zFګ{|:_ADv {";yp8QPQEQLMb>R\7_--ܷ&A¥ 7fKۼ,&8]ƮsOޫwJH<=}MFF@U0]wfuZIࢪxԝz It3&. Y UT\PKhu]-2q%b"lnwNʢjm삀3o=?װLlU9P ֶR{K[=<*ٺ}gy{~fW(P`˜ OWo9x㣉JD=VnnY^N.~J>8p8{^zFoW=tbŰjvF;L(P}kHvH9rv7M`H4fҎm0K״!uچܸ$X%whrӦaGǬG}Es&xquNRPG- ў/ SK ٱOeӽ6Zl6ɾ3bMAzּGFogY"*#TAdϮ~zoH__BRz+.Q[;3͖ BD(ukwu|d0 1@)ZTᶮw_j}'PqdGwtw| X¦|oі|V0LЗi8 a_At8{pUsU<.bC}5CUDZ+͈!Hhή'm}$&ˆq ! kY.^ 9tK <墿2'KWȠVm؉YSqEl;,zb+FCTZ)Jg1TA SG /k@jمP46000}kdʢnB!is?́Qr`uM<W9 TҞG!]@`Jē=O[MsAq=~l_4QwqZ=|:XMF"_G\k˜ڻN^#XdPDOo7ADApC=%7{``0UA MPD=+CSU^ (Z''C@P=TPOl BI#>hr#8˞ 4> ݃R}fjDKk9xm< ~ZPEps=5w]К,-ԤYQğȶ AHDbNݰiutgø@)B凩Ἦ _ԎOf> A2Z) BY`Y%$d`ojn7lhԫi}sqKtmƏyguzF-{v65;Y`ub56Gat)Jg _|}J#0l k49J;ttNCvFB04+  `c<PF!Q Ao+C_nu,dTnFnKϚP΂:\(OZ3z3Ե^hI2TV(:ݬbO1I _P"T8L',^=-GaNW#d3Y zU@mG%ӡ A%r5/u:ȹ@&1C &C#OqP#s #[LP94DNjJgNHΜ?,~녓>!wתٟP:X<nN" ,J;`M9Dd /x'?N~?K ]М6A(1y'594ou\͉ z)NT=@oA:GJ-͌@O#HU?GXx KOeEyzP@zsy/`GACɍ |b|H)v;h 8OX tM`h LF Xڅ7n_T:\=NwfYdӱ|g^ 1ƘV LM r`G89O(9-Lxs>}eE1VP(a?2>=ϵ˹!?tisP1kl^P4O->x0Yy#=ƝoKn3LNlo ƭװnc]qƍp}6&m6w[;6  cXr6a@xO|>9r X#pX8 Ost?hh:T Z&KMcuUC`rh+~MLTtͭ& .1È)VS@zX`؟~,MM;a{+޹+tf?3L"N5jFƎn ݣGN8]]I2t w iciH[>U/QPLT0a'x`L( Ј lA ⿎ >Lf'ߢUݾz 1܈h-ώB\sVUt-ZmՓN [(lhaЅ_{c淇;!:\[6}ãsC kaCL\ly`G͊{]'J[ĘZ6v KGRe6<`Lj~f@ۀ ewmKk dGuTOg m)GlEEx-*AJ7ף+ #y]=}D7VpxhD4-@ݺ=$1 dC;bOc̓<'(cn=sϠh^㪏[8\cGc7]?KC 0fNPAϾ1xGhPhbԃr9aAr%eD9 Zzvq^^{tO=bx$4D(q1睚>4`bT5C@7^Fro4s6B|y_*Se< "x r-YkVUo1|P7\_ Gt`Ź]Pa29{ҁ^x_ ݁6Z__uTJX0A GwcfV!OHյFFi&>އzXO+ߥM(v]~3u&?UE7)O<~;{bsy]&E'.A`(9ov:nV(W,zZS2A ɥQ&)c>k5NA𱇰U9ȺNwNqVt|} +0~+ڊjqC@+%gܱ)pƏ,KnǬ~@w?cUrMػ<,W`PP xZjlal6(GԽ!Z |̚S2fddU?c?Ϡ#GBz? dЄ @!|II  @~߶zFbaKю⽬7`wusJ57 (@ašJQ:0M9l@m%h``J LQ~&bU^*)( MñX28 #\MX #ŏ}<5}Sj [x~y?yDŽ쀫F^$X*mXN2݊C)& f>Nsf}/"=Wv\b'^ xptձB}z^_}^v- \0 "UY G;2;D?ၤMj_drM5J (1 5o۷rt .4b.}vn@`|`j##C@d 4(zqrnИ?l]+l/QzÂh 9r`ϊM-0k/;bG{{gNԘkCR䞭'/ɖ2h2o~i^״ޔ62CD~C>䜞qk޷ 1,Qt/>t.ކ񫰱&c9K]<rЀ  GNwW?7̴~mx7 "5׳xѨ&㾒pht>P= `tP,b~*/{>F [*,Hc1_W>~ yM5ݞ=QyX1ɽ6+,~pj>uvo:W lx4f eihtrmy#T9%id5n9V.[* 6-bO5ovXHR2:d4Óhl6̠^ct; uqJ@7ږ9yb~rB WMb@+b FVs+b[,va-> 3Hj`S#q JwO _Rؾ4^oj=1o`yǫukK:9XYzkd7Cw /JxX?uYe.7Fh&jU䞿g:Tuyrz?hCp`;i9M)9XԏY4iSF}\WPc,xh vfwhV6qd@@-P#PjK4ٽ]F͚O2-M%?=u,7ƊSiF8m#>_+ *2e?fmv1 c?L܍ I[9. 'yuò@vnd1 O0PAD d+[<\g dʋZ$.8\3vhF.”^1@T ҀwBs6r;Qm{l}]GaA?wg> ˹hFrs_T N{痡9֖5fABp jƎCmGh_w=MѦƋ];XpuI?paza8.psk|Q_`gLCEjz\'4Q}췃k?䙏q|<7`lCFЅÇ] WSv}:Ti{ōpXL@a2bPCJJcFDVkPi &P,CE6. {+ Am *3EKC5kP1)IfTX1YyѶ4~ng@*@2hk(?H>?/68V@u*};y៺л22`C3kDS`yqCr&{FyYp?u(c1*c9\bH|Mp<`WO*/Kj7_/1׎1ydGmn$N*hdoG/AdPX;!v;)j {g/f"V}V$ ]vQewK&%^hjfv8EAtibF6貍Bcz]=~Wfce#~Y=0nbYjg#f# 4JvR*G`γa&jhW *y }Xz;G;2B+iyNPAއ~нX_jTE}u. 0*25Oe%,,cs!x-OxH+=tSO3*˛Y;Ԟ K–0yC9vsd;t!A[el0!';Vlc(<3ZV60ֆ[]O]2jR^%KbYJA}җy^W}Z w<2j׈]E`Uc4>-㏃7Yi  MÊymЌ=H˕j؁# 'aw>z۽MvCM'픷4>4aFqU[2s;N _xָo`8 Q|]p\{7F{YFXj`X7Pn]0\㤯,gl 5"cRzH a W~=gӲGtww%R,+u;<۳%X.挵p5eۮuql#YJҲh{3Q&ou^{GcRɕMW&o3G[+PFSQ/ezc[Rf'qF=/mG>jx=)ގͿ۬ԳxQ%CJ`_ ]!χʧ2Y'=Ö9I&~6bWg)X:_NҟWFFT7ScgMDqxv=Ƶ0r׌^cm gǩ7'zIN@8@h6OD 'YZph k*`z{Tr盟xo7? =K%@jC\96N7͜&+|,^ i&7k |(+$k7s0@itѪ iѢ=+TNBEifupo0|}_>Q{wy7s0T f<eݍ=&{RPZmU*ZݺUUT*T)5'Z*QTJHkQU$C4$zPPd * % )@!A@%) Hzh!@ث-&AJ h(֠ʵU(( mUjcN@u}7FZЙ7ױzW];l@h ( s @2zݩYR3/{lHq}Y!!x4MA}P93c-om|$R>}8(ףy}u TP@q^6X;h& BSBքUѭ2U˶ X;Lu^q(]h:sxԨ3i3y@i>^=S֪̣ ^ j{ ѐ i@& 4h##F4h<L&LPi4d@L dѠ=4Th'U=MM=4)&щ5OLډMOҟ?E?<ڠh)iMLM&2@)LڛS h@h=F@4 @iD M4 @511OF#dLM4i4?SO(SM2joJy2CjP=&SzO)=OSSF 6TD&h&#L&0LɄd4Z$2 lĆDĊ0V)Y!sb( k((]_JEFX *#ۊ j+Y5soNZe-`&q"3 bTn ^E6Jț$lJD4ZFBd(1zn,á $ ل8 E Y߇d(t!ՒWX]raxe¦H5l i.e ,(k%Pm!C|9 *GeD#8d{GOʚɲQp@B\#a+!@:$a]:B &Q#Y6q` SY݇HHV hij,B)"R,J1—Bd:X S2{OUYԺVrhuX Шf% 8 LJRԀ1+ĞDU)C#Fz jTC.sEPOú1 d2⥠+CLQT,S*j%`.) 9.\Z.Q{H_w?Bzv>51>‹aĐH!1=t EnkTQ5H<,<3ikj, !F\ eD-P*0bURò{\))r f#Sɸ1b&qTf3D4DQ"1P@ToƃNCwӿ" A|T"bV 3b0bZh,a$1Sр̧6C6lFYā3IX\[+ZEaDrp ,ãnUd24+'c. 4;i+ȉ 6֟qw a.VcU(aˆL截JʂB1ȩץ1/^M,(mj<sl e ZY6w0&Xn\TLY%aj' CL\\ny 2Ͷ*֧d ɖ.֬07)0r 1)m]FhƘ7\sfEF,&@+Vݛɜ@S,3hg$Q@\økͺόޛ!ط?L D6-)B(uiPﺌVaoN΁6N]ؙL4B@˳$瀈w ɁO5g0ו]aA*#; 0KRڦɖf, bLLӳ$8 '& (pͳMe?ϵa@%B ^C QT֞+ Y0;-:$܇^iGuڟf^l4ɱhdV|M4l}"=8qcg"ʒ*,SOx7{,f>0Nn^:vٸ]dzĠ<'so0^Utהēmx}qxЖ@w8Z:(K*k,y\ sf QTX@1Kﴸj]\g+ʤE@@8:H^cC"#ekI|gOCjW! u5QB?,DBspD;3JZ-[l[ݲB zMV"GUB&L({)`7c#]*Twmw2N7ǵ4kbA\JsVIKB0f{K!΢6XJ&7j+S{@C9rZX3 8УLpYڣbOjxf~|Dl0lpߺX:xСBc EϼeJ lҚf $1n0aA4K)_"%Dºx'Ah!6zRtMԲ*6.R?!Fߘ,\4!3&J޼*yJUF>ڟtEbxqj흷bus]q͵0{+9U"nTwa?n^)5f6Q\*KSKvD"^KqD*@*:!YS:|FEWʗvqLӍ \:nN7˜t/V.( xż\Aqe Lb`S:R0ˮ P#Es06MPlpQJjD+֫l ndye= rE6D u652-.!۩XYm4Әq]9/dYQɣݥ0}MMN5ܛF"rkm4rΏԑ3t$,%@gQa!b4sf٨JX -q[+#K^Ss8;ό*鋿79i3s{♸d-[6."sȻ)Ha&Pf@tTrh(J(3~w&Lip)ĴbTb<[nr U< ET+%VF)V%"`[`F'C}=r̋(Zn5xWsӔ&TnlcTUb0(-8[0`5ੈiP65[T4bHbҵI:YpbezK8ŗD+k(,阚֡t|fX:mqb`%bK8s~R&w^_cC-e( w?E(ND7WfI4Fs`"(l&nۥh 78,HJT(v:FgM !2}2sb-xYșd4tep10]w{ Ml *ӂ~C!3L;ɢEU C&ߴۣ^cO6aKfy5T$Pj-i"\%F8 *8qf- b)tT!$!;,TZ9rE2`|ڈQ( )g[ֹ?*! ƥ`M"<%al'ba$},WzsT4:Þ.?qZXfe ?j\.eCM'wsf` bܣ|ywB.hkg@yJM[*u+(BHd*˰K:`llQT?]c|ˏ0r8xɅT?ĸ+̣߹ĩ'VNP1cD(7:4Fh)vt],5L33"2nf0Cy/keHHX1?Y1f]f X˂䠢b#&0He[X"qJ* x2Dg'43tH@9`2Wsx&yo'&Cpa|( "}qT*VF|tRۄSK"Y^=( R>ܩvy(G"B8 v6(zTxOn@ sw6g3k3J]Ĉ(,Nd4xH5x/cƒ;&v(JbЂ Cl@9$p<,3+ `jK ٮd̨r,8W]E*^<;.[oQCM Dwl,zcfL.b yEgg{ޟ*^eQkpiW`:S#W6={)"%aH$BIbA,b9C)BlgoXm+J(4Ӌj_^\vqWID/ "!Q%@ۨ>ouP|ay#zf_Wz2W#VXoPjSSﳕs!{ϼ홢hfIʘyWئFp(}+0Wx{ d'RdX0誡[rA%@UED:NY1@z܊QPnʸ\8ey]^D @#G!+09 l}2/kA(g/}n\qt:"A#}j V7mJ3 >&8[ i!}|;3y׮Dֳ +>=q w,yQ MZovrH+)ߑ3m??1 fB9!nWN-s Be"#0䩘h3.$S}=F(H9Rq.`ILa f(Q $H*bY.01eÎsJkCF0XxJ( e*>[-|#i $-xY[m٘BQNfֆf],MËMx38uGZVرL`PQ5&IYlR"TYXhCUҙŧ.x`Í.t4l"CZB v= }MwDm4uۜ[Z wq0BE|Yw%= d0>cX;8(tQFCҁ:r0P1xtjFiߗKwb,w|1 =u_i,UjNpG[w;/aFkLwSQ0/Tm&tۿ:3#BQAC|h1I(7:bE}}3{iB .uaM. Hq#24ᓛ&L_&0%0` FAo'] (@ @A׽K_v4Ƽx3 {.z L:w$ 1t媼L{fRN~U\jr֗l)JX7eM*CY gs~s4Jx%z+UʛEhh^C6Sӎ,=.() 8yI ANގәP6 H>PV)0= #{ЁPYN x$*,{B7WR`pB*dx 47( 5882}ęaqLݞ+٢}Q5 @,%>5NԖ6db z~%۠ԩVϣtNOD@Af(YBh!BH(cD;/pJf Ujg7 %!|y}Ă_J w_920d A,=8uaIm3qNr^ Ƞ `Dv9 N'=չq>>g7{|v\bwCx|q&%LBxvaw<2o:H&—hFyĹ`)sZg\C;]bʆF':uP%^/Yť bjGrQkp݌VR[NB Mz%[ynnz#7URA`.i/4gQ"$XU"B69CNO2va1ٞH\\XĪ^ }H b(># ^}6DHR9Tr%y;G] 7\,c<_'Mo<'@D?V 9I%ss 5W{^+^RN^@lՃ;֡=eaa ebFCIbB%a2زgϭ31 S7[_CFbB&@``M/?5k2&MG3N v0\d˛zs4mRfB&t4_i/^Lp[zJ0TmgءOb/P |  12N,)>oL(C+'jv 70EٞWaPwՓK,1 !=qrE@՚6Gw>ee7$=.Uyc;Zz:֢)E|BJ-*qxkzGPP$x 8(qP,@t'ܛ%)k eHXZƁ+VqXHaR4>I]P\)ƎfCuWTs5B\]e%}7BUlf#Σ5;\@j{1 rЭu%;SUH:nLgvZB!{ |!!08@tI5 4ES'oo ~GqC?0]Є]Wn  \a;ɧrȢ+iΈ*Ašdlq3~/w±kQ5] <<|[)AHHB% &)֓=mw7 T-BT=6-nN2T29,Ͽ`X]EjzroG6E@e%Fj*~hCƨͫœcT:Xb$RTNYf!vCthĵ=c}U"RQb*eFRf7M%#s5'6ߛ&DL!fS*wNtC0jlf~5fG7XuJM0X-/fSGTݞiQ.Iguv>j Ⱥyz*%PUE\=n"E=ԥIpE86]KȠz 5T7W3Hݻm=m#NoGUM1j)-u> -;#yt0 `zfāusP / 10Jm'gSXVRXAj>McUR[T0T81/>n)z2<'>0=7,߾NMu)P/$͆]h#Ȇ^N.UB#I0'fs(l$~QLuə|f~;DKcnHҶ@@d3=cc!F!HT)UwO:wҬG7.6+͟)mcv\DA@"Af5 bɄ! +Li:#Roldqa A bKUUvzjs/I Dh* xrhaB7R;[om˫b܍Ybƪ]oZf*ya85՟d zhQ+_9 Z, E v/1˻Jl<)>)?n2T ǻ߹_UooeLj2((㾆,S{G fddGVPy Zؼ(c &F WP^,8g/sq31F.%B tNv[pK*Erf7 oeE'c,Cska'D5x&5WŦ~%Eȸ i.xSmquHѸTSQZ/$xwXQ06F04H-hV30#ۛaPrʚ9IW8g3] |*_AR_ǣ;uk {YFSu /*FśDŽ؂Hu Rb+b>t@L$o5& Eq%I-rybmmB ~Cmq>c!HĿG!H&7[B)ka}M R)!dR0X`g.m\GrQ(}h# coSf3X~#!ɯ% Xeb|ZL(Ao*]lF!GuoSrh&Cl0TVIж I+9SI`f`I{鳋IiKHO?O )4{ocSӝ9TWpxgM"!jE#I}p6ȏvc[,N/SmގeCJ rb*kzkkqapϻ.Ywxj}Y<:qz(ab93o/Eg zqPɭaߚֶ]Mշ.7fFPb5B{mNS[9j`\e)WH7fKcu>y75ڗ*Vj8Vx8*TDOUteZ3I/ZΎ[7޵yƪ o<ڵұCQ,ܖ73xPbs|jf)4'JG*t\Q]qbӮdƲ9G>%&#Juz J*d&ݦh'_E7t"`Kl  \(霁pN7@Z.t.:fjmN%8S\g5o%v\W|dZrp9ˤ HNsje3m< ;UĭBbiC,9O[bXP" l 32VB34uưI_a4䲮 `K1 ^ Gsݒ*Fjm0<]y S6HT}%)I\(0 gK Y/UWᛙmdn{(_Mnqw{ŃpvB k{w+[<5ޞ z;X3ߢ7>HL[p`)%Nحٖ=}pg0vmDg`//wݍylfEg,:DϦ3h+tr>R[QԍF1i.3cރ.G5̤oWoncݳ|D6Bs > 6ʥ,u vM$4zw0駘FlݓSnioFv@}7|VƘ=\tFS5Z0kzKDmH[`]lNlsm~p&[wX:Tw@]ZsM.'z9e\anlN\7of@Zb̶#'*툽x[Ȳ|_n.ȜLENNJ|,R819|:_dX (t)O֦E M5>ZL9XЌ)׬8E-z;O^L_qSk9LEl"f4I·&L,֮дOC#"Ln@9LRv $WM}+94ğ-116ڻ3 hxSHޤ R`O Wka^}6>a@G 3K ADq@s~OP쎟[Q9i{~@ MbW!êxm=GOӧCreP=IrctGdP q.}:xr/hxXc8ev-#ë|+ ksdž2 gI}'׻.jYB3e!z|)C1e;J<<p8$2׈ ֝4ƇJRG8wՇļNM7gLHcRx8Py=0@%s9$~a}WxGxsd:XEBrudče(;&^f3B!TjtA >1{!h#Q2!1^F8y3sE̕]8x5~j7L6y+9m3 #pIc|FGHuCMC(o&a]Ȁ{mZpW-=Iy4Ch- lS5VPa^UuhZR*TDHB3($,ⷫzmKnF8UIB ϦAZHBlg$uk[G%}nX/5ܾ~N/kM}_Z1lȕ\`yy8wtQu)|cA)0sc\Ƶ|bZr\.2 ½JG|myn/8WTtfU:2bﮑU1x!m >]-1Mׅx:8ĴV~+ >!ZIֶpۮN2<9L>g3eY E9 9^Q&y\sJCUW˄s939b/&+JfLݠyl)2uVs1':rZ <ô`$R HːmJn T}н?:rލBt:sfR^u _ƥ9L2`wզɢ-_r.vX8ݸ{s.EͳL ,ໍo+7*g]vfɿ]%eFm&raZ'qz!6Cpa,R}fWw_FϣkGeCɼXˆ?lsN❎?{+oXm'iŵ'!߅ۥf蚁V3ҚI'Y˽%zrL`>j o2sŻA\~GSAE5˜څ}L3] ՐўOL = HqCɇTduL&/W'TXҸ0sD~;wۨy#gCzw\ Hsa4<KTx0U"(#JL$KK}UisC_mkkЫin+ [<4,Ю бCAɞ9EU6q}>Pf*,]" ΄ g941NgXd.zBX(B`Eǻeܸj6W0q7ntgD:޺d$ nom4NrXd)w) +b8 " }w}sh+YT~ۂ:R)9bL+\g%9IYt+5uH|!6nv5a867u q׼ Qz[)X+bOOf.U̫4mf$t44p 1k~Ɵ{@Qg& Cޫ`L [1P)1|Ϡ @)^^FߩY3H^N[AA$gHMx,31qkИO.<zǒFЂFݔHϜI;*!/q?ksGO4 0z482kǬNy/gK8RcQT`رDz3CWG2^\lӋXF~M|* @*g)!teƷIL W98\= (DBm#z)K5wgꧮiq1-8`bb/w_Z?zb{L ҮAi͏ݼ&#Zaz*'K\U*ns*d]={q6cv(Nz\⛞L"vS%)'Ѯ6T䇼 rpT#SYOTh}Gi>|mF⣬eDr |[ ӜG38hHNj wz۲{^>{NS'UqmQ|I9HÁ#>?0 4gvUۤC(Qߧsbs^`zоdBGo|8(lBQ19Ώg:oJ8 @g`2URH(>`4VC84&k ,mv"XԢLHJd]5$Q@P)3Zw+64hpqFEPԻ2ZɀpqݧK,B0]p;5 2* T6r;C::XBG-AӖdb^J$(XUk"ʭ8cg(+`gAn,>`Vʅ|Lϓދ%ݤG5 -_Mc@Tg}"yn'PCSʸ,bHQ NI ƙ,|-Q;0/\$juh5We{WV58@Fzٻ _|4E2x/9֞;fQ{Z 8)RL\3֌Ju9< h߽v)#'ɧex!̰] Үf ([- M-N &V3[4 tKsW 5q kvz7q>?[r>^r3/@(f)@hi"IπGY\QG.ͻ1]]CxX-"z} N!ˊ) O & 3i?~Phke4-b_p0½՛LS csOpvNJ^C}+-I)Q$V:97u A2)%0 ixu"4+a@qM Ƣ 1+rK^}wD%aVE2hVKF>`^$g1Bxz[zCmo &^ $bv_e%91oAIP Avh恊A1uS>5?pXKW/]f#?a{]>@@b _@PI*q.Gj{Ct ₨,e:kE{ 7]e=@=CHt4虵KͮCcr&a@2L<-Z)`Nbw)&_ZڜGG sc |-m:akiNv%s/x)r `JW6 ܵ^60 $U9uQ{\ntW[lh/ @J"5!GnSFCmyvS"kw7>6Ze+~LgW{mp\X4r2Dk (!e(pѸ&!R:`Hƨ$s@yqH!Xy߈w>]S;*:b1Sy \49H0 X|.:zUQ~N:= Qʛ#3Bf*!\3Vx&4P4ͮԯ zt׫Om;/qDV*{,x3Do~|&D."Vu##0;de yg܌u-'H9q.~­.y@P Cm890gJۇPX^qT+[ 9Sݎz;'99NTyi.G]7&,MOW­L6[VXI:5Vmb7d&p ACNpi68b "ƑNA4[uE{^Ir z<7AN./;eԶi9|]GD" ;K mb Bwh\_p|xt۞kYNo=-\>^5J3rsX.]#Kh$ ˅`9BGX\M@oS]HZDMSxr r@M9HwSv\I75㘇2(T_I͑Caƀt Lf#-2@@&H`$(2⋣H 1ƶI(.qqv&SuDcҗr0BơLtyl1ٗu7|}G4/U:z+B'Wpd xQfLpi}Sb‹ů g7EK^Z3A  CX&p~0S*:,ЈKe!zIJ-A0"#iֹPCK&,*~xِP֝9L B(&?c$ u.#E Q)-O*Lr.0 IM0,8Q{++v~-6SWn7`7\Oi ^_̗yֿ)vE/ߩU *R&^mF.L]%ێ;a[ؔPQy "bțKK0 Q,' MM֢D7kOklO!C𽛹6'RJKDoVVt;z})\k*nlwPX{ƋK$HRDW8.U!6`Kkvqr{N e7\_~!V.F8[l ټCK=vD'Άa{T}r 7Aɮ[ ԰&7AB2H|9hHlp,ffR6@DrJ'2筼u Ykb (G&ME^@ qɃm\puo:<{Bgrg|w:<0qv0 Ju'%:>ɱu"SCI 2JȞ֔Ə%ЧHY H ToAKJHWzL&@E´P'ˠfX )~CQ=7'1 EGpS(L&~nEw 5Gj̥Ȁ\ t3((TETu7aݿc Y).WǕ ӊuRlS0YʽZq0ľެc3VT HSoғ mqUN^3ޞ_ pN9 䢒%ÑyL(z7!)GFrNٙuQ;9.xni뻜N޴I !%PRmsZcJXTCߤ!2%O _pIejRGMdXR/7[)E/xQ"(p`v?14wﺉ<ȜGe(%ʾiGMh s2ZϦ@ wnYӊH !)Kś|7DqJ T`ˍGFݼ' :#dE+6z'+ =gai}~ٟnV:`(S& ޙbdX!*&qs{*(U8F4֚_o$S1bC^Mnh9Y6T87Am۴qqjhLn}rmFupb|:gbN8n pfGdg j&> wSzng88' އt=Wx9gv]%[4;m5Oy6raǦ,J29x 1Dy٘ADzᕊ@O?10| vӃQ8d1ʚ2E*؏QHe'-;n9f7Y_68ǀM,* Μ|SVyy9&r(L`e鋤Y8q 5yMEQ~iΤS#SrJ"j\܉l lAEfZ -Nx.&o1PaQbRfjݵ~NG9q*VndD]֦%nCO'6YRSfis)|2wrgd}I|T.QȓXi<6"Q7$=Кk!i-S  T!=GfEa`p D@H9y+ԟ9wHW}lMٿk)9l$$̢tP]0M&: !r{iC xoL0Iva=k?ɇa92 )&2~g[]ɱyS,D7YSQ9x*pM,L@J j? ɓ׼]^X'fyi& wnzs;a#7?'܆EɎHaf1R= v`vaafF@VO;/}Yod/UC3ϵ2֛"T:~~yrP&RD!80YQ:kMfKM@r:1ʜvN6ck5Y(<4ʹWT#$)SVDHfJ!RT_4吃ִ]343fqߓ399\l'bz(n+u9;4r,!K/A{#[>fI  s&͚_Iɤ> =N̛qa,2C1w;Bi3 |HnC,u&m]vqь!Yś*aSmpjz$PX:j5@PTEHE >T ~?7IRQ8 KX}jxxz,;v|9xd;} q:Fl5kN=Yw8O:OC[qއvox+Ț&J V2srVlˣ/W-<8j!%U8%M"T?lP1T5fom,˸i# jndRd|g$JzX:z&QzR7I|8LaXr|ʛ6f2M\d)Da֞'G|'?e&`w32 t:,I(49{Ԇ>{:M¼vdћO K&,ҁ6W򽩢o)b2 _hY2fSouMPQCݼx0d6^0m0ՆCMç)C*4VC 1k9Pۿac"Ae HYGG#[Wm?Q̠e&&0Rv3VTa뤧N7i{!J;c}FGtI;Fxd2usu,:Zs'tYʺa)ʞI3 9zJMm(rJ˻ʝ^ql` <έa֚8wp0=MV>N=;9 bpfX|tzcԡȥ92ͥk1,Mly-A PrtaZr|b 67Xt3ND9`|^ sɗ.F|T{NބY7ó{}79 ·arxq&SG/d{f$*!~ ǯFh%|9+Hl! a^2ȧr ]vi۲OL3SNN&8q3+֐0"$3NDY9`jgIS([[ 2r]ceaoZl;!!Y0XT9,h>-Cܟ5$1'hdag w e˳? "ND9ާ#dˉРyj{zwͻZng3MDцYg;7G\YvE7K.[YцaxXnC 괟jHVr^C{<Gdc!Y61)JuY@] A F`wG: !N!yl.83!bLc.Нϑ8mm3M#|B u6BEIwȜ/: qyPU 0 n3@+06`s2M:3 u:.W ;d6`lIx^lV;h)އĄoa@50HDiGYvR& / 4#ɿP':qls5:&ʅ(c `d›4]y|7@7a"M|3*98!@O '?awHpc9%8S|2x.%S 0!*39 k"w0G#!"87nbUiCHDw@dJ(bAJYGYd;#P;`CdO W!=LG$1YWMpΑBR= X^Y1 GdN:ȇ,s@x{ !DHU(q !T̂H4С`Ĩs:BbW3nJ,̢m5% e5@(L d~2(PC5#BwBW0b3"  R&`H*m ʃ5YPq)r&LHbUSX\ʦ`H `D kfA&%h0HI@D $Wd*fB0fADQJSdJRS#@(ATq"8LӐrP & }̂_[DCdN#ͨQ{GXWB)Bb~AWt/UyD:CȁGN G%tbAh1tQm8qx8)%80>d&$VBK;r'ovXBm \v+gi"F*R)ɶ!Q6Ƚx3с!Gźx i=&k;rW"Z@̂biV̂RkHB&%t2`@=~ԏg*F>;7 {W' ( *4uH:PyEL@H i*"J)1("P % BJib@SI5]H(QTPS6 rfy!!ca7fZ 2APmLD{9 $6`*4%ā <C|* P4& ̨` ́`H\)*QE`5%B((XXaP+a@" %@7*1[ ")iRX$3CdqqM^# ,a-M1LZ))}JPE0!pULX$5@JIr`hYwqdMluOC6!!?dE ^~8*a5W! }xZz к {D?*P͞SZ/WvxwPB4@f}bI]L)6J0*kqۅs&1%+8NGg k`"_,?Mo$`/^`GH('4ސ"-Yq2 P*#0yr ò1*@@wJBH{EM$)0(Tn'/z}G}L( zO\B aDL31T7/C'~AQʄOa"a(tA;Hl 3H-e`BY QHbAb"@'a+pc\/k+`'G~,wѣJ4LhQF \yP?ZCB@JB( UU(R @qƲR+ d%@L=ĈDPINTM;$oHp`YYd 0->. B" xwtaB A` 'e ɔO}+ :4C#(T$` BiD*Qdr[: ɖH|I2n8x1҅w( ?`aP K3bA>UUz<2sA2)""*P"*-PHP;\&aGHQ1$QR?=iGfBRT  ̈́RCҺzR7=GN naBUU(?F*bJ)fpy&K$Am >WT,`9w^yGYP @ qR=HRHBIh۸5D "D @k@+(T H(RO]ʊ(x? &Qѥ[qJ)ۚ7PuJ)@b((ȸ"Gǐ:P*zf5(~/."C)*+ &`Nd=g‹s g@#Ue Lb,PsV!9:HkiIDGd#8TÀm9%uɗ=~9$Q|h=T"> Gth%T3&]HBՆ/ J Oި2LF&`4>B^ =krޱhAdA: eO(:XʠvҚz P+j@:0?ϐ%4)Uz ז%@GH(}WH4 ꆍk;`A:d;9*n*YC˺CDRDJCȇJ!h"9OD?!x̨ìa OI=l6HpP J4 TH{Vǟa@PPLSNP ]0J2 $bzfcf)Bi -#8l6 B4H%WyT *{BAh^:3ħ6eO04G+@GJ>:sހZAHqrʌ@`S셰4Xb<G@L$ 2 *DSąW*)GЌ|@J@K2i`gH55AK=vNu]qO,a;o3P#eIf)| Jp0 e9`CXS*AQCQ-FȌ'Iha,(2W Y&6H 4 &("j%(.gQ!KQy$҄,{r3=,Vݤ_, N1瑔T.qJ VLcӈC\EXAOZХr@Dh@'Ԕ Yɗ%^waT I 4MHC*F!G9Cʄ'Ǔ%%1P0߈d(EͰǏ ";)6&I e?d'ƴk& @9?c)m"_P@`+\pnV 3G {a~v=0C~Ù3*$+dS!5>, < J{ |>$ B$B?DJcӑ< H9pAeKWH5j  B0JwpBЄ1CHL L`ÖheѨq)@wVLL*{^ܚPb80,J#3FUß̈́ wF@{DyΝهd03r["aXz8 )L  )r(0vz(T'濹֨C>< W$@*bs'| HyW@z'=#d6@UgeSa_Z#D&_33c"UE} $6d/_|'0RCP#?בNDOSz>]ȶh#%n&d&I! қgtBL~`k/# M:o̴ƀJew@S]IDԆ`{!U|9&Fs_:`V@70 6Ƅ `)V@)HžV>DQ>:0'3> ?`d?#u?z|W$6g:L$zdt`aSy (ZY|Ǜ|pDž7,HL)+Úv7/"d0xGc_@ {O_(xGP}N]D# ɏ;%Bt`<i+a=d5?Jz@,P}"zy4HhArl){ng@; âY^H]**fa@Am.h{3atU5 :p),@g!@Hd*<0!Np"=  굁'wtc2&`$% Pŕał$$1 394Px>CP/ƃ56| H UNCP}v6NjG%eBAX`|B=iOl04JRa%F'_8DR&C×zc&<<Ǖ`TñM:ROZl`>S!injfSG; ar{eK79` Bca P4 a} m&brm+v4e}l0xhJx KcY3t0`/~'?1 UyXI|O|gn_GJj׹"Wsg8B/gvIrM%C_a[N>]i3k 2ν $ams5:Y3 H:篻i:!.u-\ÝsЪT?Λ'KoWJdv,,!*jv{[+VL+q S ;&L(s&̣G%5aiWQr`zT^FE+fXFk M6R l\ 21>w}}LԒ у\1Ԡl Dr4yD vid5Ȼ븮Tf/IΕ*ѩY t)Pw|ߐuUiۼ/s[GZ,0趘l KU"#wޤ`'i-Ptnր^hD I,PHzLmjĖ: YG\5H{k ߱a<7ȲveooO \k XC1Br o@#iU4ǩ.蠽Ya1s֚82\?Zmݘ{Έv^w'eot36zoE#E$?eC -GeF3p`0;k,N/ ˶q- Hi`?f@r<0RG@/PaMM ?b7_Ϛ"" ,%l14Hl۾ (}DX'x/GRo_!&{9EcPyTf{!Xz *_Jfڴg^㥃׸Ah[K)ńX6ˢN""fܤ!ɟg_UɷˁHԛ~utFA^blV1`l 95 VXM =dHa|$)ðK0 ϱ24@i4x] ͭDWpQJ1o *b WRXi}C~XM_eaZQvbگϨřJsNAR)B'ja3Y/glA۹VP݆7ZT"0D6IO&`I"r6"eى%26sIDeKggNp.??ÚqDPMs V&a3Go HQV4O~; &^ULkkz^Mm4\Ğ 3&o} -K gؗuyuCaRBRRFꌝK? 6_UNOAԄ}[G`y0m &6ڢ)ѫx,*4k)Blj%OeQLA-\U? _@\;6_ ;|12 @^CЙyxM4䬐:9jX3;{҆lK  * Yv Y9+#͚=J?$nƏr.xc[Owi82gu)ŠV:㵩ђx~]Kdp%Qnb\|JSB$ט|C5"!ֆ6Ttsby?iƅ%FÓu]P[ld8)$V ؤu 9qapWW\-NX}bZ$\! EQ7p3 1v!* 62|t.\,c.3J3WKeUVG.CL1j b@&i,f2Y4".ﱃŋmeե=q+c9YI}3v~?* TtEQa,\#SG;KﲼB^+c/!ԨE2v}'LJjڭXre4c m2dӛBbMt /tpZoU3?"u%S QHhWtgI5.1^$q2jF)'i%#?lgGӪ98P7ҺL,`ݢLOPFROA}:k .y<&X6u8&czHJ>I5Pg:Ƿ0 ?*:jb:]^>L߭V q+55d ͖& F%]CJX + 1R A$xDq/kBGEa= A@SD!?QćbyZo4;(Ö7-/.cQPl;1vuzq'z90Rz ߨC~÷_Y ¤衟cTP1&>+_j>mK!~4lb#J``P5n .Yb႟INe90MJjvgka nVZrӮMy;*gA,ƥ0Cf)Mќ=x'8_+HϺK Ni, {h`kRO mx %_e/uavakcN*i3/̪NIоXL̀33-:;zIFs!^~4Jy$3mi0UKG>R]cJ>ID$h:d}A7g۠_!ءd+4`s(ߝ)L[`^λ\Dp0u- m D}Լ҃yY7OrHt"v =dO`2D1nӭ5Y頃Y370yZ\IITc5lH.;Im&Ajh`Чb8mue,SbLL f;[g/}L\UL̃Tzwɯ0WZQAbLXK f Z[G2*aԠr~* 䧮;$GYSP Z绂L/1*"D6/,ޢJw 3dmY`Hvf"jww=7^7g2˝q O)minv1O|R.b XAfUl [܉d0/4V@dЅu dSF` HhL0MfϢXKAp{ު-11eX}@%4!@Ê >gUV}0R}p.ՎEs%!da`rzʵ`ˉ)XEܡFnؒdr ٍׅ. c O$׾\-9A:fyPr#+Jl}7SK]/㹃,!7(.gCn2Ey`Rx;tͪ1}?T3\3Jྙ/GEnVFTYSWc'1Uӻ=,w҇ mgl`d =)$4y l΍CX2?e!N>Ro!g^ G+% 4䰏.4A1.%[Z& $57:Z&q RPa봹*(!u ,P1: 9C:}N@?wpN-ڕ+*UQ|N;7f!O5Beϔ`g*T;Ɛ^%innBÅmPFzCxBw P 꺊;mk1ST (̤{#O2cWyFli6vNLwNF$(njSqe\W[>~6.1|3|X4I{8:"ѯotg5 ׏6ɍ?rî?7#g<{6!ǼcpgST_ KZ 8&BD:% ߯\p`qF#'4D|sq,\䧫uRPu7anx5;XäF`1bFd=#OɅb69AЯ(mR |[c)nYu/$DDDl;紈\<@" p6\*C0g> ЬX >@>}-7̓EIOR߉;_z$:[gg`;cYva8- AGy178}PMmmfoэ<QY]E4)iOGǯX( eAnMsqR ݔH&rN9i'Pb  "7w;^% C I1y;TmM8K/XWԩ2b$FE ߍdE tSctyBz2QXϘ9deLzi5!b]ίAZ 铕(SěJNsj dH>r!a ƾc&e;n#eܡrA\%l'(r8]rinwi#^BE}o\S4]Fy]smN!FMZFXpUu#uO2 yL1Q@d=u%FȵIލw hb]u%Ԧ[cwxňeI*2jۿUYlKrrv/d|a6dO¥gjÛe/#6koj,ʭI[ )/obvՓg3݋ˍ8#@ dNn.?GP,!}Ҙ'`6DkUy}t6<`CܵLB_zP›niY^7SCowCGn7F~C{xxZO=-V$ҒTa%̂?y>q;%Z,><$;itMro~,J~9 tNM z2 f~1IJ9E@ V{ʜM` C?EQ|gy@33[&R\(Rw4:wN(ڴEc] EfwCsfPi_͸Ј*򂁽/2si-.h>GOZapoJxc\ .c಍lo4$->1/ m&*^^l9gAA9x=hq)e5tᲂz%F;Y k8N rKYbPI,Ke)\} Xy7\4#gy|Uf%LC8Y@۔jMpޡw>HTwazad~AMp`fv1(! ZC[Ǖ{'f3rZFgj\7&R2V6_WUʽM{j+xq`l?eFQ-!IIP_s H|g < ?/UY//`ll,!;ϳ9Y9FӎHuo v7˳G1n(#2c ?Iɣ ~u9GjoG[;Ũqm/Qdoi܆쎶+ KmnWI&7I_hkQPVN}7Ah4;?02ګNjg!>͜ ^n`4ʼezl,=%cUnUbi7Gns vZDڳ֐hb87W|^B׹g=ptCX8٭Էy7]{R5 oX^d{P;{7Yv}h6,6Xi?%~r{L4xp~DgseoK g\9&/N/NSC^'t`ewӏǶ$p5P .'<}8ۉayfq xW!kZ_Z_&/ ʒ:*[+Y^+uiEW/h}V^KoS}Fn0ln_}^OτFBGkQ`}>Gn٧oKQ1q@v^˽T};s}\.+%=| f9~-s7sa>sq~Oϲq:am={bx3|EbN#y,Eqhv8F.pDî[S)[ 5kuꑲ[^Ms O8gӦ20m ٮ7GDӨ,Z> G› K Wv"58[Th:vҊɻpo Gy.x=w:1CHs /|1e)af|ߒ(foJ*s@1mj& Y,efwSUbfZFcMMxƹOv'tӓ}qR ch嗗@apj8n L _8̬jhJΠnT4|]Ys'b?fN3d#uk@a<+K5N~FtTڦjQ|oSOW$fhzooB`? y϶ZU|`9Mc,{7߇hqhF~[^Dy H @+هs@'߇g*̭'( 'fSB79(40HaA@N tW#%'奦ys^ aL;Ml;Ygs2̖%.*f=i_*-=ɜkal_aDd+YYTEgj*’ZJI $CnXm&GG?)Q^br`ha }@LftwA1*zF[ ?1Q#5W 8,}E? PIBPR 4KBRR TJR BPR% @ECB%*J+X=_08亹[0 1R 4&. Vvϱuv?KzuxyS7|cWjIY w&pCWKxęL7$.[7F6K^@/B',ˢn Y5|52f<fuV@f~7sNZ0=ƣu0BD(Rz7| a}g ܵ/"8,5NwVĺIxR r`Jg"gBbyi%r*`*cJ͇ zfv*Q?Ώ X֞jOCZZQ1Ú =2I{2J# L9guG]:>d$c(}Aaځ <[lgo`MBSt1l' ҿuj?4IzyD2"8lVϼ}Xc!r JL2gwu!5Rbv.pJp|'`dK" @14P}$F$x*BP 6Y"!VNlÙq PP4)4FFU**SNR0-\DCQ8tGl.zA[/v|C0`%04.{XKWdP61 a˴Y &~3BXhiBHZʿ=ܣNz p2x˴%i+`rlL0zvDTZGtxޤ.uIJA5=tyBj#4S{W,O~VI,aIr§f!NД5iG-z}M'-F>;'m3,v,[t O;Z 3ⵤy UX9hɟcّ__ջOO`pz>F~VJpPmP5J ܝ bs_; SŵgGRvĐ`~8.1p|-Ew@0\#ٗnIzy L_$Fe\LN :945|HxƢ.T[aEɈ>* $`|!њ;2)sh5eI ;@O ̀}pDFҿG?7C典)˰iDIG<^S6`NJn}B Jad8v,* 9[2zKRƳ__l.i@6O<ONi{Q[bW%<)z>lb6>< Z7vsՎy>m|<ĀRm<-m>woȝHYQж 駮&Q9Ҥb ԠAnV=~U~*/+tb;G k2h @"R1†9Ip* fH;#4sMR1;jCN0tIQįayUya,pВV^.PmuB G\ԳSԜe+P JfDy!P4r[\ 5Pl:Q]im*)Ժk)fcVJa=`(&-#dQ c -2?m=l7^+8+,VKy 3R}k?~X4S=Oȯ^uB&4sz(>]2 {,ѱX. C.ƅ0<cK5y<<>ZC0c^x0]Y J;+Dh 4%+|YG|&¢ d&3u 0aޥ Hu9g":ҊM_z<``֓reS&F dT;+Y:ߘ7H2$<ű^b2`* ipdn/?MN5K CސB ^Af;Tt&;ʻ.iY'u]ZApQS𝱔UxUƘ'&0f9]@ 1ˆ`U[ti|]</rGd1,c*,hRv*87&rf,b.ÑoZ[KmiK r.v3# DN_U/'zBPc|DѺl`';v0JVfٓ,1qRrvY%=: 8c!aЧ~z#n"\2Ug̊Jηk0 X0sv=7gUn2v(Ƅ@KcP&!\W,_v@bTTNZM0q?Fşt_gk+> Y00=}XJFZbhiJh H.wƺs3I\ԂU3 a.͑ lGquF7w+Jrmz76[LҨZE JA)Ʋ3؛ƃ*O^9nS/ &8*֢nqxvsHcx9; +aymW[T|qbe14;ߍ#ܻf;b]%_Oӵy1WiY[2֝FK0uq\n}%)V4a'km;Gss[ifN.H5_緎2ոZ)z69ݸqVGJvXiN׫ӄSߢyO}7n#znYN],GX S'}F,Q`]ٖ@ݎFljl*O2Ҋ$P_Q\+pmW;K׽vޞi9CtI&R@eI]kQk罩jIcg^[bq:Zez]f..(B/ ?86Rcܚy,7ՄC_'qXJ$mk(YEuuHh@&i0ڊ[t܀TܸpQ^$~ɶ1nxSdWۿ?k*' :n!LNҿ*U>+I`UR^1n/% AZnsNOD?!l(뙆CV??۬f"*^ R<^'^XS 6 7 Cs4&XZ QD3 :[CAϖ\C;HOYZ$%&$^4#aMa|(zupLE>No&XF͐CnriaQ)Kj")a|12>4v-'''wߏ79gF{jpu 1J ܡZ}2H师h!.k-;jsfkJD=H=Cuα0a~O7 xДA!0#<1SfAVҝ1-Džh\.oϋeb1>{:iس3G?:.NbJ' 1m+-NԠdm%tXϙuBUZVՐP0GI}d:H1 棥8`5 |~_ lXD״[ wl":8,[G}J1--I''TZrC:Jܱ%fuXSA@n;|[#ӛltnoQ?UZB̍gduB8X{>fwFߖsI"9tamQ_YJ+tߘT0 iYfv-vc:+Eđ̸yGkmbHUԘ7VZ&MQƜEFҺ]:I 4r r1`ait@j03їԽLJJgk:tq$<,\sU }Gl=5`X`e|-r{T& =6 N؀dVEG] ;>iN>LD}ՐpXreNrMH@]My$&M}ī/x3!³т v7oW)V\ 30&Bvu h?ubٷ<BʏӲ 'B0=]Jw7 }֯g;G1>"c]AB+d!<F8ǚ?BU ϗ)2:GH2PoxRou7e!jl kSzV5\ZY?w00Lv  ~Zɕ"R d5Qi:]eRυsI?^Y/ R̿M#,,sZJZn5 V^ aX6UG0S,)Hoʡrڶݥ{dq+[6+COn|V]0]oϯ32^>k, :x"Ə7#/?#W5Kh`Tw6a֦g׻gl[1-p*ۺ|(¬i^>2``Zv"*3Nљ#0.Q5ƝdN4Y=pS~!6a@"p?эC1OGp)D *e;crc ‡sh(HR?பd k ë5$HYS/l^3LP`bC3R[+n!aޢcMrЗ";d. V~%G܎'q@䟏8M"Z̾9Z-ߟLKCA+NTn)V*_ن 14bSRRJ΂W n][#QBx.I_Gy_|qJ(Z)J0p[)/+p nӽ]>PE v 1D(ɐ6trQ砠BV{.ܩn~}3"PD7'9rgo]2M3={^r2x'9?RK Dﮂ(73-f%4INMJ&h97È?)\M $FZs.muҌ2?w)USIxZ]'L.̉ E3PM(dU1}Ymʂ!X}S/<~A:zұ>9MsaDٕ͌տABYuDzyG4X33pp^K&dLXϿDWpm$C70jZl4$B%q9E`lVU6v:t]٤*u 0f^vmӂx$Wyyh_v/-숶gohۜaSY0e*.BSoܧ {98I=!OIЃTvG1ZEv埵E0S.g"iCl@/fKo+ RɊa d j(O L Z3-KܽQęqў_\N,E)Qq/Cş l8ׄzڴ6j: T(t'"@9>r:#ik s#z*Z/   *3Å(V*n^5bN_E`Tio}`S)JMge7o8 73hkt2s,;[j0^n`j޲it/Yy8_* H{-_@"|=n,N(00pAUrnrT떒:-m!X. -cb4\[T;Uʂf*u GlX}Fx# iHA_ʹh; &8֣r0(GiaFb-fg|PG2H71ȩs<{^MMTaV5:M+Apܟ_tײo`'uD  _#f_qyy@5o/|Gʋ:ZvJGC4UW_&*7j \D`> |~*gNe1ӘHYXVɾЫfkӸpd]H6<]:ux,8{N2㗮~#.f^IGacqgfu2W̕DWIO*; g0@3POU9W=X,Ǭ!!p+K㐄XϜx׸2D=#E?͈DD"O ]e|ζNVN`8fGu1< \C]Ûf|݄p-!e01BHxO\Niݖ񒺟XR2R0ab'B>Lna4ZeO/<7 9,P_MeZzOh^}H ;/WU&|Sw_ibd"1 ixǪ8#ZlޚMDmFJǿ %m/~N\RL5 #tf`Aqf1f(~܁$ y;/2^ kbc!92+Na0_]m$ rb9p xﯕ!;@DelZTy~:۩xliN֍_yw/oC mfhU] X#X8:\)Zg iX; :^0TH F2`o}~>+z{{C:C;t[YZ42?d0JMʹ~W pi7]Lhػ5[6dl=Т]0JcYs)Q!QR, 1ܲ44xZq4)2ӋOU{aVv1KH\(ve@k:tm"Y,paXi)Xr -=زcNoL9lQLv_t ,ab7];`_$35nT& dWK)iVU2^kkg<{΃A1^3IyF@6L6F :^"+W\r](o|kjMSPGa)|o?xy;6gM7w,u}"ZǏ?YMʴ2v1l_toyu <1 | gD7Ps5UT%i0( Q21 q3ܸJu͍d~u%:zt:si} pw2❂y7 hl‹djYlXVwX7ԑ5Z__ Z&}n^(:k}zD+Ou@!5uw#t4kPPloO 'N?spxkT~{o%ŕJ-.Nrp~OBpz.7f#8)doh`DhaR*WW(<Ԛ߭@lo6)gU,0}VgY_͆Ү,n\i= ʾ~=X^}ϋtAsYOp)o זw+{,dו_-!Է'4GѡC g&bHzr+yvA/yNc{_C ;rP$;w  {sPRԌ@S?ka/Yw1 "|Ah/ŮމZf!$ [RH>ļGt.I#x9Irt-gKꠒ~`x҃  -ߋm{ѢϭHBɘt<I!.xk\ Xdu+4s5 Kc[d)>b C25Ug~a?~zjPv!] ,巇?HUl[庮scY*vpJc-hg:Fl b!{Lv`Z2M 5A]6TMA=_,<꧅O~` mkkrv,jBZ׵q!?. c 0B?|aSS;8K>M4 s]siAjz3a֕W즒B1* j"4{_MӖE7 zctL`tv:wTǤ`D6dVZz0j2*#g 8.]6¥Yd6Z\b N`q{⴬Tc]S]O}3쵐939q2WJG@,/tpd%)EV l`CƦe& 'L1CmGD8J60n0;r 6ITb$llǸy64 lɈ3`e<%"A0]WM*眙od:s=02_m6PrkDq^,hS]JGx~k/τe߈ P8:. -ǶFiPC\%O VWI`&QYP׺@khk:TN+CO_n[>mCOaST.+:u.Y ^*Farâj_ُ"DgT]b,D c@3!r? ?A;3L[~#talV,{$PQNjԥf,qLH<֎B~⅀`+ XT5~r$k#9Ǔ+g_v:}mLC Rl ix@z ֎Uo;ɩi?s-| 211 }h21,zq;ޑKn>憎BKY0I"kd.eU(om :EkaBHA&!I#oY58r T+Ce!.u8$u1UZ,v>T ,i t@Aqn;;paϗ ~l9CMfs93#@R,!P+#?US9&11\1aJ9P2hȉP+ACF"Z(*OSDą Bmq˰ih(B$ Hb$&" "$i`") "i(ji(ihhhJJQJ*J"(b hi"& fHHbJb!f) * h( J)A@()XB Z""f "X&fH*"%("JZ"(h+bK@RԨQmjT[AQEV*0EKh,V,V҃ikUdVA"  XZ[*6`03 hkJʊaAL p',+1ٔOS_y5\=߀[[Ѥ '+n%=$0H;e1sqL{FK7bc.[H?DR)x T́^ KX*ɜǨ??s&~%΅WKE`yqeex.:#nCvZ xˑ-ϢIYŒPl$z3]dәɆok֫LV`r4`xgc!!^FD˒k>\ WG30EJNqjP,&)O77+]Dw le#~ 8a#mB&S䥘2g AOWy3ЧOEB̰os`sAw:O+؅ ͺmF|A5zA 0 p5 B)9GSz Pݕ+5 oۀRQM+ԥAuБTiR*H 8TM]ש1Q8}HBUa bJhʵoL#:s%bʇaZ{xNSTDǶ:Qq%2 0@<,woEdH\M|an,L:z7t”:0nƇZBF Jz[ُ/40׋KC_LTY\\ÆuoeDASjvΧ2c4 V2#y nhg+Ij;OfGf%+ 2N47nxV~>LB0[W+o8XB9+#IOX_Cz>AoKv`rbV>:X8_ogi$'hft@ۣkHBU"LGs: >X] 2|`(Hht/?_y{l/aam P ҀKAaF[3+عn>]Ŕt(GhzOe}+[0X#VRjb B3,*Mn:nzT1\@D;xXƘyw?k-UUnl⯨j8ϻeZpJ%1;vFWܘ,l:u X2}b}sQ b܁03>9C:ֈz8mi0ugrQEZ: as) Y͆RS<4h0'=Ƽ}[l|q+3 &AIPIGkf}A3ZLdOaOdIϟ10"D:N]6(t$ 6LsWPytE`jc,c֣EhVx El[Նެ ;<0hÄFĈqP7rwAE,\ =ar8>eT/WtMiRkW ziCft=ڭ=Eڑle guXՂٯ -7yFYufasLW.<̙c#z6„_t(Ђth:Kjd@ڢ fpƭ6"@-f]D6:})֡B&ϩ:,=\u09@[p0 p\62n /aVp}Ύ︦HR(Kv j R ޘ޷]=9Nh:ی | ;wK|*lq{\yŎ)x/xq>? ;ʙ dOT *F; IF}FRw+HHs_h%ܜR2,4ZB@ Cn2E6&kdk ]cDZ[kl(0Q q< L!6Krx=s=F~| H~uxrWP[Z'p#e?fAZJnD#ǗH_?Kӻx 8i.'đmc6/O PO@32t>WЙx}+VXOxOAfz aeo1<' p{*H\/=`ehh4*HBU``u{d| "؈POb?`Oy{?:ԟ#9ߓ&LB^t$)0I>vR )IGt_m`QH4Z!.In")~0L!!Bk#ЗkiB$)+qR.E>т GҮi)~`{vщLIKŽ#%Q%uK{=#gO槽Դr7g\Z(pcV-Af.S' Y?P!H:sr\0:5.ժX>7xD Is#w߯;{;8`z!/^ #vP g[wY5?_ɊU&wT o4޷ )sY"vsǐAX(k)@x20!GpBa`s saWɐ GcL8_RMoςb6Ȱ @_7Z*nzݓrޏ;jj\xQ"d#LXk9C2M6~9MϐWA='38mND煐5!|/]e}9jPs7qۡxziz4Դ;Aw[E:o{53(ҽZ?)k=$}5,["Bfڹ[I;~S5ˇ}*-޾Sn/ 鞶$|'MčDz& ZX2Z&.CF+V:9"9@Yh0mmE@BfDE@3{E sX|3g?¼^W nه )pf錂ъ}xyZ:+8x=G;(#m,ƛM5:8vu gB3tVp]S$Snޑ\FHwc[Y\O> .?ي}! xDg/+a;xVޜ*7yU{ D3Iq5_S'ٙSu$ 4r;="}ZݙNbpڕ?$ >x s?L\~;s|rFZM̙tdd U McLq.K 1Go~9'$+`QxP-7B8@) MEDT=A!b[pplk+y1+Ib;gB\kfE8KJ?, 7J@ Cr.+rD.PKkk`00*0pPoJ/vjJAyl.|\Z]JleK{T*>{iUV l>vm`,ŴlU &,UB76zMkB<[h)S]+'2? Tz_ IuU8傀53vS~w訾ĒBt5pH!kwBt"d~5էެ 7xbc k1!a[#8Di´`x:J45{4ًK7T σm+)p7 `yT"ye٤hشPc2{{;4?XXUeoUj-쭡/0F!ܰ+ImG!Mcz¤' Հ]S`a%i iO~ʐu}N39Q{ /#/UfA 9C`qXe&SabTA`rl\Edo%;/)xyʴ&VmuY{qh&:?-QڱYeeu j/wOۧ:=5”԰A3O[3{Iao߇>KG=g᫱OͣŢy*~۔zqv_8_._GM;⪏I%a GV.jzZ\(b#X"zg@1 }fr,C,+fS%`YμKH /t>CBXɛ=ضiY+p*yG{->jFs/To9{~zOc]n[y{/7` ,N1D7ZVhȵs`+-bMV]yMt*Sj8GRX4Kp1`2LA'ŵ3;J"ݟ~Ž2xU="ڡKBF:OEuR}}ޚZ;*L=&:$Z2dzh+lEqk00_)#'!TOֽ{E{f9L9$Grb$kLъy5TUl]e+ETO~)IxH9_-mUP\1L$Z l\C $"9j0[XJ O .VL{x\wBI8BZ6-_{$(g kI}H>f'#gWJUܿѻBGm_e$ lẺ}Xp^3yA  $Ŏgj(`n Kd̶utF0ÓKjxb2%HHrU2 _/cjC[K@q1N˹;&CG1CI_?R7-rv+j^.uzY,mஷiÏ Sb"仞)s{#:Ye"$g` WLb\XaTpYM.F͵y/HHc`S8ެǙc=`әsDf~0[3ZG՝Y0ݡOBC\c $>PZ7fOO~b^newky 5 ip~#FwGwȧ\:q@k$eKb5}Z/$aYiD(6wc*|Gy.Kyz]Ŷ]Zoi$y,HH9F U}J lbւ~3ե=gpw^^qYd۱-J<ջ`}\޹3ɏ1/!]d},pJ L\gBs\|-){f< 緶&Y [d\F.2$?ClE zM :N2/`m%Ul\\9(sS,n|Ϫ*6}?³.ʰ I Ex B_[H%IK6y9r=̇Zw_W{[`[.;3gk`(nI,)4z#>VJ7lX&ƪ4$p* a7;pE~7jCEA\<4 ~1W%"Y ?[2f1׉u7\.~]ʹ^B}Ϸ4M8 䌧f%Qs}c1ao+0G|PYwf(#s7{~辧Yb5>6@yaf$LAoFV No_U'NHџez`U*; 0?֪,pmM_{.>9؏5irrr?ɯNڨ{jNa'Odh\ε=~G a6Y_6_+U\%I:팯,P˞ 9FJF08{1u\2$#V >< b1~$1Ʊ}V+$vMze퀘b%APLhU`)KpfR!MI\(xnGN(҇_ϠsmWMpm7Ov2E$&ũb }u;fBUf5ЀY#4s.[e1yZ_ojGb^aڼv3p/FF6zLR?EzATebx;u2W'0[Z͛`j'}NF﾿!_g[n2*[EWӟ(}^'Ħ V%ԼF/+ Ak|Ћe|4xZ4^?1٠MIXw=)ޚccͯ7P4.T^gi} @ +4RF9Wa4+z>FTBcL!VPb/G"O'(9G)* tdx<]` u,\CiC>?[$vTx<_C6*!V_YUQ^^@L)7TTMh5JϞͣT3!8 z֝pŔ ]- 3ekor[ѭ'kNGTǑ^_|?m5;g8|My%(duh&L A@~|o }+ j2 wR_Mlhӂ&L6 @txa=U{tQ̃"DiB'HVdLiH0~7?+-/%Ga 3O<P,@b [BI$9pǥh*o㶾f"qg %H9hJ0a$oq9A] 'A@r$vDH Z{p;0([y>)K hYIVq a\"ϵ^ժn~|!*Mx; qCk pD*MbUd/@ +Bs'QC9'_͵zꪌ./B]m7-N~ȡD Zr.*v E DWeuI]a7{Ss@J|07)U~E>'ō./iGd@~7Z.yVX&isF%D&V 9HG Ē8?Lup],#+Oä,q'x+MК)bGwg2_q<%( yO9';sFv?G' 8X驳IPDvv!?3֦p?1-"U%К|5=@>%B4ǐ!DVx.Eh:Yy^GfxKVx7 V{:<Գ#Idytx:vu,Io]Za-ĸ$W@F<(&D!?x]\-'G&=Glk6~|˜$n^l{ cf偹2u^mUPĸ)pSZ[_$ӳC-8e GI!k)LqG(RsNGm3b0u!}A*%CNxbk&iFQ KAMpPHFWYID.WWHzV.|(^ynGdXΡ@& UIel_ # 8TтZNCcq:z3񔨀#,k4U!-8/s5JJ~0NUm#v.E 6ʄe\rS 8-Ю*~cir@6*,0 *+3|N B&uCəj"E'/ͺerR$K\w16/)XUegf~gUԸL/ 2syUnS":??c') g3"&b\F)inxSa\w+I\M:}eO{OR p**F"og -TQ}Ws)mISuzu]ݕ#kނ2djLgmGcĐhG[D}ks19sTeس$X4KDhB6z9 SO #b?"vv+/ƸeEH!Ŋ?5 ~[bGЫO3%axSzx*Ai#&T9QAOvA4%YA=ZtSchFsEV#-%. LxYÈРe!EC}w^s Khb:sݗBXX3j5wNs|e % : C{v_/peOye~4Skhe}<) _ P/>Jekzx#xugzߪ T:xb[ĚĢJT3%qvUszƮt50̋+fXY-'yOOTx K3 1A{* 6Jgm|X;Q8tI1SL*>?U0u@ щxViݫz@Nvw`hL$ך+>)SG1_%۳TxGqY7 ,3BXgr,!sL.b!{O ~IxupmX.Tj6@/'}.kW-^=f/=r/4̐i$0 |Ä_a*_ßߕ}Bǻ?ĐkX,&@f<8H= #<ѱ753P`GF903L>ڒE4_h)Lvt/<3ڈ;f\{zI >qYZF d^B;',d2G/$`0ڕ_u>2ē%pT}۟iK$AUd+-ı@Tlwm,41j"9-5u"AE 2N_+^`D@/r0}w=[7O^[p/j~rDVO=+K`b ]\Ƚ!t([:ke#rF@K >B*/*()GE #fJX<+s0c!oO &Kz7G?!Mǣ1u?Cik.*XB((◁ ` l!lLntG' gaWxu]m?Рz>dPW[Zpst"7Ε!ƍV3wbX&\cq6nM-Vf?}չѷ8 ? t='#$j) ԪG:׋[n'Il\.ņa{Y|Y|S{M "`X,,~)rs=E 3FpU3bm]0D; Mw jpf,k8/;!`j߱<Jڻ['aukš&?͟YoHoBe I~k5 2)R^?GR卜i,w'qNBn֛*~u %G~BȤ a fĎ% …?Υgd ܀| @L@3E0Q"jt~/5V=]BPu%BN< ϓfhȺ -;f,>=3Kd{b rylJNpU=ĝGcNWq̨>f_lo$gbWd8f0BK'B8vJT='=>bOU"r$thĴFW wn3VnW ??tla#Ib^+H3/1پ;i}ٓMl}&m8F &_*,U웖" NI񝽌{y6}y~J^, U% *ҦCFu`E, M=J's}fb@~1Sb. 6nK>~a̯a.Y 1v9PZƼ jiF9T*YHV$&|= "(J O;Wo/F|UڹBG})gp`ިzvcmFawɻVa}s1J,q;:\7 @E{E+A06m%C߆|?~JJ|0pP;}Mvx6^oE%\4_>}$dpɳfƞї|/В8<|qt0kAGZN^m=/ٮw~|MJ5;o>7eȧ<P7v¦mMYz9A)GԽ2<ҦǾ6rJ%=ܼnvP!w[ =&7]vLULVʠaV )-+3]lϨLΐy&3F3WQcaSx"*4Y!v o4+L9 X'~ лl``!<,/Q2e0s "pv! H+VԹ-άiCEcF9"%LxGKGbX!)EщJ ?V8 i!IAeZ݈9f(G6U@n|Ӆr|er괖!}xSpTLYmps H˹P/fAg̜*J>@\p~)ȇƢ]twdX t 5 (mj6Kcl2jQR`il07-?*!G^d6&+2r{)[f]u+O*~7/`20/{nVh5?#55dcDѣ`AphEFW/Y%U {ٯy?ޭ,U2f28ҏ2 S3ak)HY32`1_1ݳq|4ݛeF@W+! _ Ap"12,Pз;c緅0iQ!@g~GoI)Bqbh-@V?`4=,L,G$ᐠͬQ*Q|[ ʌqG?~+^?~4U4:g:0h,Պy}v)ټmT#z:5{Dp#a֪Bo=f R-G$H aG(Ϡ׫H\o [>@tKwV/R!ԔeU`'kw.Ԗmk}" DB^E`^LX#8qvmen.&IK8ᡌ<Y>HcmĄDO_쏗sSm uc&#?~m˻.7IA_x"l&n^ CktY@6u7V TyYM&S(v~gbΝ=\~ೋsj0rҟ803w~^>u- rkDɩ#|gw5A60|F5~+8`p@_N-efc˅ Hܡ7fY;ŭN\_ x0(S:^,0I ) z>柽p;-J[ۻj#b'oL$lZ_8rQ YwUG+UYecꤗ>fR Lj I#'wD:K369wi^>\UJ)Ӽb=W~!~K5;t]?$0=Ԙ973U)7ezo]@ǝE~O lZߙlvjLy^e,[a'oX&)ON*'hIP<[gGKF hdZ 4"@hbbB57|݇8: bipd`=~]' H7kHX `9\`(~@LyJ-[" LJܭ)1I(OuϼvGdH$(bܨ־rP& XFņPd@A)OF9pLm4!Dž_s d Uʡ`%@_GNeǙ,RøVTW h%iAz0t*+2⸣ٖ- ktK$PS=g4au8p7n-%v+1/M-,h1 h^v¯m^hAhehWe \3dϙf,߉#q u,͊A36_G#wX8"+1{&5~!SOjThD"񠐕cX윦Qϖ"db0cyx +0e/&0 B@Pкv[,+EJC>H\ejo=p.WTXF/?v?nIٹ^$]-=;=jYSQ s,pk7قf(/wi Z޴aGKȗhSa"q@/`m:Sa}|idj z;g?=: $cc "h^]~u0lN1/P#P0XS`Me"Sp)p?E{lV*s_&h>K6ҡx K2.G[i$6nOtJ [<vhl 8G}ŸU>aBZ8 @4!,_}VΛKN'ALET oɧ[\yvK%{x%"aY%zekűU&3tY5mJ.ᖏ zľ!+1؏ 3=u1ZSQ;R̉.S T#*N*-u믱U'F^ mɆ&_@5kH?j^b a ӊ{{FoyGI4 GY7aL |z'ꣵu- 6Pk-pqg_a]c~g-! %snB\[HTgǵczxU\Ƃ &|0ۆk;ωt>> \1޳]}{ֵ%qly?}KÏ\A0O*z[**>#0et /muFAO<  h&Ks~kKR8dI֔n+ e6&M*愰*3Psojţ {~$(Bh4{j;_sN/! 4faB;59W))_f⦃ >Q[UG*V#`׵|◽yE[e:ذra8I foԳTP+A~C .R^  WIjSєLzmIs´[㽹 H1fڵh`@|GW:yaܦ"Vx/ج|n|.j\2[6݅h6T k-$;7%;`^Ww,8,Z~8$(ߙ,Q3V`dQ^H&",Puٞ/ g]V%ȟ!ĚAQx{QA4z/i ~Pw'3pF"o=={BzՆ/Eg%{k@/D!pcGVqbyytSbHJӜ~Fl?\gu/!}> $kp`c{&χ9s s c4XALIx H_y%gh$a5qk}F:/KèmP>#28HR І|LJP9K@G *_Q>Umi2AJ,Q$d Wea||oL)"Y]#nڵi+#x6ax׍=s)MZ\hkunn׎=oC)lyѨ\<t@ #: mLgt%nƻUS`hrsd3d^X8]ޠ"jJT/㫭up_!ɎB@0p2*AJ]ܴнK0+yM|J}n{: u[dg5];ØۮIcrK}&tv!WZFtԄI"P&BBfk{n e2_s/ڶC2 0sGёu]zBr$=[1N,0`5boղU(d> Fwb:iߥ3++WL/Kﰘ&k_u;r\XA9?tI茧l8]h†  ~OόqF6,4v8I \ձqty-;n3Gh+^zkr%2VW2vj@kPg0>v P0\RGz+Np@:A )*1-G{A3BT|EVXoۧ44aE*v)D"2 /tৗmx:g:+'e8EÑ)شA'G0N64 ouZ@;AmdQfHw*d l9}̐vA”.1&`=Ak ի6_&-ɓz-Xy{ ttE썞 /_EZXk㈖<^N(+kmOf# 7}]f[22 L > @12wjyT4+C(mĜ`]iɖA>!1AY#8d:2_5]߳S-K٫,>kBch(갰) `3}@mf% otRXDx 3!=}/U՟ؚsae ZXtf7n)=kLil֙3  ,s}%E^! wFbG6y*Y.N}b9nܚm<T&[#XfuJ7BZ:e\E^LoxAKۗh3Mm췈Ffb r}n}gst^tbZy!T;Hh7NȔr0b φ)`$@QT+* 9x4ÙxD{x{97Lv9G=ͽzb*yZFST4` ye<]?5960#! գe qBUcNYK,gе2 ".e #!UR){uJa->_ QhaOc|u|2=_"vfϫh</=$@X${%[9dGG[u-xEJ$bM8k~թg\`22W,RctOJ;"sM#=s?󑉉 2O%€fY[ʦaW T8a}酋 H*j9YWYds\ko}yh|yBl;1B+`R@`ֵ6n _gϰ\ZB_NX ^/)Hd,T= Y}ՔxѦo;֎ak]`ag"+_1 eQR?(xo77 q]>Dx ^h$ـrG.AdOҒגCTLќGt/ecE@̀9C(,3_TBvT} ܳ|UH!`WmIyv1@N4Vg0+.`nR Nf8bʖ Y&pfTFIS.%S4?/!P Iok ~]cr g.9*aqx3{#x $5tER0yzi%_0ܿ)$BBU>]c~YOs`X(N}Y%f|m [Z[5"*Cڊ fjȠ  =X-{d<1.~/)r|/:Q=P!nlf32^w"2L5Ȳ ')3]J盚;2J5pTjJm;Y PA$PEԸΩ5i:v|ɴ 7Vbid!)Oem|20Iin`̶a ð esB5Bl/]l\!SD_;7 s}  b;(h <Yd j5!Ki+`w* J@pP$yve;GQ3ܲТ>Jz߿KOο|ZXVAdŜ*[4zH54ԟDRa^`8WTNq ^G ;}7>ſKA -\ ^RSmę42[1Y9+2VA:}Vo|ς/`?0jBlu{ WQ%PT8:j;ڴegydc#oc)V%A4Y #zݺR(uwAZz#/kWm\y7XEsWUv.~}sαa2F߱HSecL8{S[uZ+~g7F%zL4*f:^QT(jM xh.R]˫ѕ3%O\Z 1aHD"fZP{~!eBg^'߃H[}˸W0f `/4P]\;!B~E+*t fJoņKR{"}Dΰ4n4o4D ᾐFj틟:7;\ G>?h;+?⼯&r#:?y }578ĭ?fV ba5xeJP)kMՐDՓFxV4Mݔ1T o?$p^ F~}>a; B0&&իAJӱ[OBܲ /ܘLOJD1ZfWp#⧰x[\2?翇|}Zr5|Šn:αPNgy0MGzծr3AMP*7 qAc64N?蝆 ~軃m5n 34U:K*TQ{%@lQL4Qj?-1}݋Q$&VfϔC'ggEp1y '/NoJk})*vF1W@`ͳ~fꀆS XA%L5&WE=h%~$@.ߟEmhQjO 0j#F'Ft:B Ex<'e JbNo~/.Z%PW`y-%ewxRܠt`M ݽ "V"* ʹ0~cmBo}nclj?di9̇5>Ki6P8Pðb Yalh3kx0{I<0,R4ovq.5ztPۼ|AEV'(J)b El!wVf\87^5|*@|Ѻtp{t8v!:]=Jy)rkyZ߼BW-!GIHD);( ?c2{$NJW9DԩƊGOS-WYGǺT ul4('0uoX̣P`_1 &} hC>*Tow sw9Ou*L\2Ť+oά4#ttЁjxH\1eNVBtp )1TZGb_/?-;I-CFT1G,>3𷧱c |*wpp lZU>\?GCCp`!_7 /p=X(teUGWPaP;'XC`PBU_@_ɅҐA^@<좇J|?QHQ?/`Ea~+ a :Ne;E>L#豁`r'ʐ̄S>U*B~T"쀝,T@9#@ŀAP~STw@Ha *?gH¢ xȅ_A!@Qv""H@U@}!-.' }Fz#Q:Mx73Y9׭;V%dਇ*9oܡm$^ʆ*!+lr[2ia7T]rH\F .: yxBkw D6weI k'IRd>!]BAG»J6i2{J s;kEUk= A'Zpp%@}?sH>Kr'!A 4LYHx&AfXdi7> {+{_6Z'VF~r?_ pt 򐾳G\s)c{d\9|>לp 6r;ҭn7ji"ILCf6 +E*WfRSy1Mua۷2Ԍppz+1zkI+0sJ6[cFѕM8;^ ST> BcmD5ܦ~lψGe9į}cg970tBz/YG` ~5J>i*xC־Vկ"(C{8WtH4-EFy?q쟦y9ҧc"~.@r`%Dح Zg?FCܳwsu}(4˅:VQ Ǫ8d˒N|ȷ;vf/>ljK]қ) QH`Phl$C0`;Ӈ_Y<%#1S?nv-=pœd* Y7{M9Bm8hYd K'__m[N>gO qpz@@6,ß{zD{.}D˾'Ʉ!̀{rhMƣmT3V]j Z'|Z@D#L+@:)/$TF+X[艍UxGeʧk&KMEz؁lzO{ܼcPux= S5>J=cs{x0i.N᪎34֏إZ2>C ֝kc.~Cy-g}o5vSJAxӫʶGn /sy2"UJ2^7MH3ĕWeGn&}^ lj5/%/U ΂|I98GN##mv+/Ng3qz&7q'u>{r`bNU3G9XY yt)HAdvCkyw ux lոr6j)NsH2BK3h]ZI_S' @ qߪ_bXKަ\STRþO<ŀPBݸn(]!iwAwNH݉FxDMīO2eWyǧBE1C7H/e揹" R<;H. ;́R,8m82AÒ.LJrdCP@V< r<(mjt@)a?fʧb ` |QplHҜ\Px9*b'h{M\UG2xosA1Y84;7E=4m9kd~ 0造<'cμIfUI< hNsF>_=LWjjʃ$ҫB - |,6letXOvT1^goWI^&TIM ̽?II޺lY.=g_cC '$/eQtz;z5 @uY;Ip՗2Z"yn(t,{صZY)rri-;g:1,Y!DLN C?'>Ce<d[ʷI@BE,ۆWIG[]l9޸usATֆ|RXsA|_L}h~5~M+隯|4iv[/XËOڗP-f2`6v)Ӧ(_<;b#h5m긳dہج5;ͻ o c;iBlrv-:,3uMO,9rԝ;/uo;ц]d1$o:*yp'W "P# $iϠnMjӮQ!ƚb psg5Y-5Me1{y&g9StQ0Zd?pa[J ṕމZIx66WJ3ro` _K4` <*ȗ JVILj›hx "Hp8kgK<0=|ix|Y]c{{J/(=Gw4NZz *[1~(4O5NU&G<Ü>}+%0*\i5Ye5ֱ^сDB-8`<DȠM\0oG BφReJP_)mroسγB@UΪM*6Aowp"! e~\*ɞ,kݺS~Wʽvl{77NdS=qSmɏE5b 5u{#f($0Y4XtԖάcZ,-t[y.wN6ʓ4nfYOK 7$:=H +BlOh"t34p?n)"aJ΅w޳z̙uCCsu|Y0sd5W,hu'=C2 26S\8Zԩ!5qOQ o>0,ԑo ")f-ԡHyļ/X9ȝ &@g!Q->BVLY^ Q̛\$2KH7ϖ]g~'_$ꐰW(E"kX10Fx'(wVa@ۊ_ް} T()N͒d1]ad-ߊÒr `,l +d(;ׁdֿ|ϓ ^Tyl"2/V)dfm׬0Jq@*:FBuַUrܺni;T7(&U oVQC1 ?L8Ieą1.@ڹg05cjF.l=s\l3R+k}Xɏp2=Y{1Ebe@C]|$gcloa{^ϛCF+ZH`J:$%A=օ&:F#,Ms`uW0%&Sq*=Kzf0=3!2N&NgeLչw](+dLŎ mѭ(UWwtٍY\f31}19ԾA>•?x4$D}뒇8` L?yQO9OB򢿛cvZQƷTAI0\HW#>d:3TޔM˹w2`5u{+6*^%uXd q0- ptw&XH]eH؜:dYvq&.*+e&o6Н|-2T(E=쏷u޸EW a$Yv0Ti6AzV\Ńܽ^6F<ھ*}ߦIx2$sjiN(Q:E'fE~2|o+=ǽjwR񞿬bZ_~NѭxIyZHMf/eCȘ*>6|0u~ί1LcR?u W.Bx_JG6V:nbc} ̵{ko`#$'zffǪgɑo:#A#Ƅm "Uh?'a3K :#''dx-gTӔm[CϦšs JkuwXԷљ VT?c֠ާ1޶ȫ1џ7 _f~ 5 KwwJ:qFcǽv|ݬpi{;y.7V"?!0 5 ]jbW[k9aVqIWRUGk,&#T>Z^73YR7#?Ea`0 ͨ̚($r+fЮUﴔ֟H%~G"94w+-ukN}* ie ǩWw66x(넳\œx,u/)#1^N]Lmr\)Ӥ<.}DRr5y ݝՅSTR!9ޔJ9劳z&Wاe8kF/ o;qu;OPv='qJK:p>Ym<9v9ƒ}'U7ae2$9l@G v>pwrxy#K,.ȣzX.^v;wM!kzWwyu]wCdpNu_s2?*|w'yh*D~Yu@.)UTcd^_/kl{ޥFYn}pBuڏ%umMr`U1%V]|k+1˳/<=us{~Nz9u<| ?z;Kc!7Y~<Ɏ/}%f .';/^qu-_Qc3݂{}2Zg Sr: g~]n^ޱgf>zIn~-ڛ)=5x>e>_:wR>ly^KֻtOsj0yfKt.PޘT]ja47QLN BcZC'8>߹iȐHD0?o,zH7fux<-BoiFIx<{Ⱦ d=P{bFYZِoj۳[{ ?}|^W2a=46{$h" B0ȩ KL% xBi%+"ˏ9'Qbqs6K1u0!Ei\Eaț 4Jmgo]C,N̗e if]NVgncĚ̯՝04c i;>` mΗg=Ԋ1O5 r̙$; Å6Ad& $Lr=8cwkhT1ҏlu^;$tӤrxT-ȑU,#h[¡N۞0u b5oSS+1YkaZCk {E֣nkoc0*0p?<;^b;SՔ`<L{<1d*ۓ(䁶a8 l d|_7E?\k'y{g L` R`6֡`ݦs^w<ԅi4' Gnyes Z^]!qq ;vP]D7iXo|^z~vQNT"*{``qx5HE6ϋ?)DCP^}Ԋxs8mFY4if eVhT5h;w ˸ PhR49=݀d|ȳl78^ewcx{]M ᦑ 0\N0{A'?G}r Ͽ+FOwM:["~ M˰W7#Moi;^0{^윹og*QZVGƂqXZWO.$ T@bo͸lC:w csXYJMuPHөCd Jy(>kQC uMY'˰+z-a&jܤdbԠtdM҃$kVA'Hi!dgu =bhT_G0U8F"@SH̉1*wac tDVss*m95LLdTͳaڴ=,o/s.aˁ6Z-PҔ3Ad 2lvHnjɬ2ZeI <2=Yy Tԟ.u!y<7 SH/ ,88 @ 쐬==u4гi40XG@d4 Vrبib3\\UQl2}jۚ]ne2!, 11"PkQ5*$ Kؠn;mnM:JѾtdeR8YU DrYrLaz\9d=&M &syag.]u39|x5d0T2 7αXƩCWR]8;̥;q7d*;5j(*I6YHX,!HD:2K]n>;o +V ,q(Xl&Ab=]W)fK3-[R)Uag0L,@+Zki׎^z7Nɮ)6B~S+!:a*c.TIXҳEXi,r]=g7Ft]j][59ȉ BR8C2'(Q|mpxfY;>.4g (w]՛vҺz+**T  <ˉay ID[d}^}P[A2R230PU뚸8DDQAH*j̬F wk ")دNױIE|_y>YjK+:. $V]HX0 ؖ>ȷ48T \ҐW RYTf(`5ΪQuVcUP4f_o >l CE;*E\t( & #F%0zP0Nw5ɷ;s0&k2:=]C ?&MM8YS}L.J*<^gOsxu3NshT2eg0VX(*g5KNeoBl+(˜h Ec+VZ[u_%=i QLrq1*U '; "^Pu:ޚDg/‚ PXBtPwig KMム3^MsXeEK\"ܨ8DĻ66xڅŝAJF46=s+UgGp(#' RD=nj*Mv\Im{Å(c9PU1f78g9vp#vng/alXӊt [ 45NxBVtIÏFuқ_9M lJ*iRVIp!Pý4vT:p1"(h.h H3Dxz Ej*U?袪*#LT8Ԡhm`*5E0 2nDvN D׀ e$@mTdI\GHm " ȠTTm$POnPoT@U]T4' QAzh(%\"S4`$UT:r D$#PJH=NgB (NE$HE9= pQ= (SX/ҕ}Nrxx(KUuL%B<9>7s@ &vn}u*up/< x D,",K}ʖIg)iFCJ5]ce?wvixآAp쪙3V tRCV֫q(_؁?ޏ-gݫQrskF(HA0<{2/qxY&{ hA$mLێ`O; }GŸ^`p:Al&@vT;A`T8p?&H#|+01%eI>|w?UL`S\矅 >L{fKfuwcrdTP*ܐBtR@ |ۢF9m9Ю@!}=|{E@҄gXR9".F21\d,{B`x3|?6`~IwQ䡞Q|yNw ޝK*=dD(A/|0 (ېS b-ZZm s H}8@_A.'k`CN-3,)돻sJov}z%v"z(/qIUtJ:%';mC;5jǡ`K/d0ּz "ғJq8[^um{|lv8U)((Z׮ ^ MκU͕i+2BJ Ce#q8yi7.SF7H2MH6pPL>Gc{v![A=ߛotJbTkgk6Ldx8(0Ќhszާ1:p* M'QϻS?8ܭ 藫@MCasNs24- ᔼ|ˌMdԭ(X& +ORQȋj9,[՜*֪k94z,niL<4tC8UzAZ~xWEK3 i-b2dplR"3OhM, UA1)O7Jڢj ?<=]hx iyS]h_<q$P-FУVjuڎ$ćMc*nO2zla/d:puT-,P~kÜu7ܶ@+5epV^ !MbZYF2fO5Ԕ䵂)&R {:.ͣ֠]nkd,O'2uzt0S0AO%6yŔ?̙uo *L{E[l{5m63RS0%\Yqlx8Z&t$*:Q/$̊# } ́ʩϞD햊DERh :Y7qfu܃kkvf -;wܵcXH.8׸J2bDScv)ڋ_jfT+($]a׸Ez5Lr$jgUEfu.&LW_;8-_t͝&;l|^ީ?);L\EvD9Բϫ|dzvZ-l\%q6s%uju~.NK@v~'.K*3oֺEz2*k3-T}s%iޣ$ݨm[w9|jLyb3sFZ #ڀI=wDz*6+x%ALgbe^lȔD|j|}S@}`曵*|fS1+yEmktёy(LlX*~5n.ΖKa)8:L|A6IzzvzVؚ)svUh"I[m O7c`M% C6};)32>O=p-,J5+sl]U[XI'7j=xk[p4[~m;8i}ܫ"2{80Vt-9;6|<1;nu'NS q,Kmݱb5ce^Oxڥh}ʪ#rwdУmz 繭;tIY!_}/2w-뽯?Juzlq'su>ݫz[06t~^bxIݞ{ ,[*KyBrG d]^{ I`DOm08 0km+HaCL 4j {T<3n>͵[y'|o>9>/1rms}E0Yh1_CS-$ΪmKT_^zƽo/^6Rcaz%žTiWMed<3bpX\wNmzlxk;<7@ ? :hquQz_nAn&F;D_#AZ<2S[KnnNᣊFG@ɭӗMS[E|.ҕesF,#@U5K)99 뗟KlLBϚ\|3PL5 r}Dj7}8bXȚv5e~ytaql?֞qNH1=D檢XjBE]o%O{sY8E8}|= z{>0LS\e.$1W-t>+K'trݮw+9&eߺOǏ~,Gs}qrunu5 1MA+ŴI `='^ #kzhw/"ew/ȆzhE;QvEQ?t[YJVP"_c5@khaKGdl9F)vK0Upr .s~5']+R9O%tFڔ~S.4;sMHy'[r1J #NAht=-|X8^5D$#&Yu^}K<];Byy8( 2r>ӷf#k1Cf he4d^2~Q2vC_A`O$Q1A0>-8'?R浀ڞhs-)aBo b7yn3bku1F5B.W GbvLNaQ=<[=o~mHrjj%VĘ=?u\i2*qx :s-AQT1Oc.ZSfQ38/?Φ+"sW pv?9nm)RP09sd'Qj3(qӯXDAbͫCX :gl$}?4=pHdNOGzrSm? Eb0a֑ΛAwQkūSo6 JVW~HuH@gd 4TIϤRd`z @Ȍ+ی C,h"K-lopB{ݜ =7\ʟK1)/Oivj־g!Nbp7f6PUeL1v`aFpYXyyXgJ_ n P5R: Wqa*NM~nGL~0NHoG#uȷ|` 9)] \u<G2)X'D4(9>iȣPBZ~杁l{-~:*8P 53/-^::/pF\2oNjww?qaK[[){ס, -b]SbJv!;9Gyu Z̢ I DJx=tjB{j(nA iaM!@͞RHKʦ+U.`b3QE` =O<$G'}K^@p}C 89R/F n+%%>ٱQ *zdz2pT4hsÆ-$yuWٻ?ks\Fy9]ҌT  ܥB*Fw|xMJXP O^>H^ Cz I$h.ll1-Rd׹Lj'[자ECWo-];DѹnQ!e_1t {?&]xͭHATa`2#n WKxmRQΕȏʾ0"T~_{/.GKx3y~ ݛ+'zG&t@^ / $~%nt_~eu 4`7bb] ꦱ(V&{{­^WP~%:Mscr1WInC"&Gmϝm!=R\]`l].SрP`MvsP# H " QB<)iSdQJb Og}\~Ymuvu2]F&Mz'qsOG@.k_Cq𥣱ekBTO{~BwPC(+D6(eU* x|y2U b+ X1 `/<f|a\HDK4Րƫ5K !FDVXAT"9{= @$GWiR ZECc`H@Գ"ͭ5J yv.s!<Sb'.~SoֻqXZt5q5<_[-W|'JIQTg6}zĢi(T('/H$m>;;xWWMDkDH26gopw&AOb{"6?l/󲘁;Rdը5luCAaG@|;ܑ$MI],o7۫9/:9_þ;45ּ!:2qorbE4E?RLi~ ,㠵D38-ks=ѯVϋYXؚbU혚@O>17~q\#A.Ȁm,0"98>ƒ%u _6Y=987 6Nl x Ԁ_!)/ >QU`QETd߼)¨@- 8edebnٜ'+.%O)d[FS6+QTIשSsۖN2I$@#Clrq,/EMN9:[f\A.<+4 &X-WTWI,=\ wPuMd(џ^$+v[:=l֞7əS9{PHpsܟYc%ܑbbh6qyi$TMm&E ` m/5n[,iRJˌ>c^۹_ /@#CNX3J>taB X=J#6>ԟ@j ӅjGO`ymѼv%0wKqn=7tD`)Ҧx1Ÿ l"dW!.Tp!<%THMZ'C.AF(H!wUR7ogc8Q!߽_G#@cQI;8f-D4E2A!@{Eyu@n1rQҳat&R`ĉуM1HƊ}W\Z9FluC\Q)Dp;s:lM65_WMx%KX],spYK2u2ڑ|7=Ft5S2S;>'VCL~gsygbi87}v,J{ q'cJ3,؂(–l+ cǀaJ4ZVO38<,M~s;;z4|FTx{>Ɨ}oߝ ‚hm[|2LV1ok. #* ǁ=|VxD/<;xLtG0B0"(HXsMapping_Checkfopen64PyRun_FileExFlagsfilenoPyRun_StringFlagsx  0l  Hb(8@! O!AA@APA`ĈAp( (#86@$P$`$0$$p$HHHHHHA`$$APA@030\"tHtHtHtHζtH #@ @tPv( lXضF< }z N(X9݇Ŧ!uKnviQUdgsnȡŁ]f9nHe%dg`X8D$AOJO(A*Yܺ*X슓MH(ڵ祤~[llE~ޱ~$o(PcE+s}7MRˡg2ng^JuDޘߪ|Iߡf'ζ `q~t'߻L\og1h*4XKcԃ Vw0W]ev0*UXW*gvإfbK۫ Q:|q(؊cסf :ͪ֟H8F5m]'\*=,fXr;R˾FF^`m1ק•KX ?WZ w'G>mȠUgnhҎLhsO"ZH(BC{F ]5(; XY? :=G:c22 1,N`<{DFR8WeHԷo 1ŋJc~<^4PЂ% PcP:[d.l&HoN4H rֵOzsۉyڍ8[?_xZa>^`nj}'8!j?6o"+*,W-qITW[l4O6$Apw56(ݧs.ۘFV~HuFQՈkmOl; EJzvNk>~Xf\3=gI[z+ڝSݘګ>u.eiUZLƽzf7U%%1fˬ9`ܹ%G:?CoIk#pd\a9R *B4UE{:MY뤌1IL\`LK1alO 1q ~Rpa?Zи G6 )/K3dN2Ul{'Ǭ9;#To K:e2=|Ys˥eB/2KEJi7ŜkzEj̔j8k4àW= ٖ9]odKױ-?:=XJW~4_C #[T?ƄtX8"(}y_mi3kZ+ޟûVJ?mn LXȿ'&M*/cO Lx,B 9XQǶˣ7f{h3lė^%@%ėqAG}wB搞b:iWgtecƏck+B~et ebF7aɩ<BFۚ )֝V+o=*8'H5U("BNQX!t'[9cȆk{7bYJHƽxT.g*,2eU!PA#Q}&R~#xhF;2U.qS ! :)0pqo)QJ;s&$xߢGЧu&ʠe Id>SG׃YR{72 |25|W D?=uU<+`=J× A$% {ُqW%ȕ32y#ñ0$Q+P SnV>(XA9ܘܲkuS͕~{ҁTZ}D熣w*796rpfNo)ۣ=v|gIhޡc6 R8ź,R4{MGpԉIkLݮ_XY|ڜU* (i"]pjYTLA/[LI@eqF3 jTb1>KIYM*NvUz?ƣ8ݼ b w"xF/g^Bk 1 , Ӣx m`Yq$)_?Z˵ٟs2Q Cdf/Δί&"E>[V ((ᔕP6znPx^FqTV8^'79!ef׽R6_&~n}|+XtDx&:@xRRSQ(c,eQϰ,*g|:^k'|aRSGT=΁ɾAs%'q _5^`28̲q[f<@=g)6W6Fki~y3wd ]":më.^ A?vލP/c35XtVя_qrUGFEءM%Zyw$,rY"m!AN%]U1#*,Zp8W3A pب VF0X3?EGU VPW1Bw>־x]L4ZnɻWߴmiT[e`y3CR4vv¨n9t ҧ/^E(ɾ_d!qWtvOkQ >=_R[`E#Ivkڠۊ&9s?FBۗF$ozd' اeSTxegUxȩLf.$׈p'%Њg2zm럀q?Ajз^x,EK/qMq/ڳBKU)gٶ(qd9kuhY eQ;["r;LKmmPHIL.9k<Z*4Q֫=6HߞŜw_\/Es#¤M1vx;"ͳؤtn[3@Ra*ĥgDv=&5Cݘ!~5o+IoNA 2p 30姯@`k Q1/_nmvwo|; "{MhQ6h+\<Ȃ}2@4_w[GkUR {em$*hy, F*'YLu=MlF nt6y(BcLZ['m湂"~`} ] blQlkӪ(J5&2+,k=;WЋxC2؜*^~%S"C9$yL VREq7;_ X$"=so*vՕT| ZVJO ]j󰵮azenp&y>lcR؞P44K$yK;L D8œh[?q uNu(Y  㦢r\.nCoLn?_QY@EmȊH&x#-oeȲ#"o)!kvƻE(|i9OJ <(͓)BYV@*0NZ1\%< |8`9De.Z/rڦjX+˼X#mfP""q9K LÁ6sd= Zn`x>ŭ("'2o-0+qZSb+Ծv.^f㭷1FD+:VS{$'g./.>g``2~ .W|Mj{2K3ȕQfJq@)<eÒW_1u:HuRҝ:֫+]Lh%g":W3$4_k'Tr`hnVOf WKbA(26zJ' O"mˍs[ 9d9xYHHk_dĔ4\H>:tAۚ0 Z4StY+2b՗xqI)1eǀ: ̛LΆVv-^ڋ"߸O<"NuRW֝* .yUIGO[As](? ZyO0loJ.uaQ]֑0EAK T =N N%^ee(} \c֝s9Xx:jd8=3إ!˟w+Dz;U9{7_]NH0BUH t D>*- ק=& b ٙإ 6L 7og4'Yz+k=*lqˋI[.sR?J L0ci$=qy t٢WfVj&Hn Aj+2Tf =:~?̛FH 93 X2pBd[N˵N}kwՠ풩nA5vkS]!Prgr@I]Y)_8]Ԩ;=\WE|y꼣=}$&xb)mkQ&5:q]6?y\:'⥪1Iؐ0?8>r |^Yx{Ëp{Hnϯ\㔲{x՗83ӞEHwfpW"\2\hmq7Z >#H'9pCizUwb^Jzئ!?@Κ!$#YzcĖKBENNݜ0jINɤ̋ݔ'[P l#"{SѷԇVfw+;MփWR`Fbia&J![˦~f6"˽:N`nwж3+K)sp=B9چ-`n0H녏ύR%.6.kL=>+GD\ bSmz3=EELHTnb)ggX( 2p )&Q3OoB= XBF$*+(PZ#Pk7ȞR5/W@i22O5 *dAbtTk=9Ʋ?`sï#\YSDM4x !xd5ͪ9#,Z9GEe6R!>yU'΄`ĂCoģ$exW,SrNеaD?f. %f_XaKfx)iNU8֪fɐQx<ݲX}o_P/3 Xzw5 o5YUgѱC; Fi]}$yP 9/lYtQUwڧ{ 8CoxCcۗ3}MLֺ6o.˳vXYJ)7XGN:فn .>7ZyYC| "[ʘ(hJrxcnJK69n!$`wtw8ffh^y8׻ʅ:ElwI/^H*`0Z3DZ~j3YS+lίCfa#TH,+yu;SfsAfU[nRlh}Dɟ`ڽA){zTd~VW#:y'%!IC3گ6I=xw8T}~E3i4&$rAN("},ua/o48x .-4HtV`ӣbtIuZК#ں9?eyΠVkBF#짫:O@k*"BE%Y ް-J7:)>]}L5>o]hբHhI#u 4pVgCZ5`0]VHeb8 hQGrtO .,h@CPEJ"i}6ˈ(ǯX8 :o4d{&7G;Tj=+ yfv\\Md]DSBǑqv}hA([QϒsVX=x,nE=yNS"kq*xd}S_3̥)ڦYA=Gi1QM&f:ϛܥ08oIc\bq,fZx JNec2{x3v> 7(cEL/[~O1N$b[ʸ̀{ᠣ؍=L5rwaHSB!|?}>3{l՞; ˑލ875-7,M.P6ueЪx:}%Z)Ҳ?Vj)w.=Q/HM I7 cŽz\q ̍:Z@wS̽Yh{(@ d?ZK^/Dct. Y}î1e[5xs"Q+FՍ7zpIsv}w+(BD!_ ;y6U]FH%5d>PvûWٴÁUϒ;+s?_۽xhm&G A45.@e_14" :JUqgtѾi5%1 JML3!nXw D nWh;9r5_2@ec.Ѷx`gO|  n!$5BhpYsH#Tx{zcFX W:Z?̇%E9ѷѣg-Tq Ҽʏ|㸗Wld;Y%RW2i[<;)8J\BaB`~r\{%F1Z82;gX20Bozk[[Uh]# y.HeV7Zɛ)@wu^VA[A8ی/sdhШ=Ng"6 50H ^9SbNcFx'3B#t; 1jfB4ĔZ֬>[Mf@b{VȨìDaRqni# *Q=ibOTk<'T|9ޝpP$AdխXl1RW1S|˘k{CH'Pȃf?ԩ8Z/K6 }\n[cfUaUx}\-i (X,<crNd5i{'Ge܆qo p>B)í밨 Lm6)b~ENkƭ.:ˠE<7"V:(|x?yNiq M9^֭<y߱Jʐ.T<ЅӳcmLjx}"J5Vx7BVz`ʼn˲Dʲ+ "" zY2ֵ^7`˳:B yoCQ?=\-` YNwH9:vm/v"[B/n".WX0BwG[=4XTMb(xyVHMbzgӤچ <_hԏ%d!Ɯ͙1@ Y#EKJ`9!5]4W/RUR0Ëdp͛"7\ aeTh媌u+~\=_Tsp("K፜HϡH7_tF?d!gϓ3\l{`T?śl~SxݺTFCz+T6ߑGRn{LG'Q)aEtRm\\cmY:rx N-8_OeLPyY}HhEdtI;.IjyFLYw1Vi :Ԛ*IpHm ˞9 >xo3|V;>)bAFMNE=35P37qKMy\ ^3/~@n=.tޢ𹯾Q &l$<)C(#r켳iZ֙uq>"W/Vye`Y6 '@g|7Z]jGk^Jme%7jp.]#|xNuFbpf)^]N75q.#Ab4t*Vv4l֭ưbYbZi;n&W;xJ;/+_MnYFaF)qa?h`פ3rZ)yyi%]-^Co[+[޳84k̨+1ߵ毴P-O _4ۜ@&=8>dc(1L0ɼOև E| fdV\¦ڿRn*,?<0f-EߋBumsJV)f_O˷gP GfU^²Sh _o3Uy:aU'4 uJ:h;Zpnex;\57@_'v 0+ ޅ|xdwʔ#ZU/ Y}"c(Lb\^ /xiGغ@XJdhcW|_NlkJ9g-JyzAJJ0ˏL'90USS;Rsm758vv.Jv`:jw4~8*gX\QnP̫[ |Nj sJ"PŽ$"_u+ns G*;]!1q \ku8u:.μNFE[NMc̥nbHd L?\:7>rP 6aܸ#9 _@Mݴ\rdR[Tg;s\wٿFӿJ /#c'z%%2C|e758F_o$(hMx뎸3O&Iu. ?}& ^.O ۬(NL5+;ʹ*埙y@mwP{tӇЂ h$ړ(~v/= BCc@lqX9?^y-bW V%m ^C[p'U']{]j @Vi .*J|o< u Z ecT;.hm_ 3/_7|-k+y3 y*롹%o)h⻬jf__,J~!/_g0wd2r\#y [c\9B[zZ/`q:A.%jm-4V Ǽ 6Mۥ+-@bx(Nv,Co٬}7eyDV_-I,].Ol·" RiMkVz 6zxxZbHk/gl$iTQU#+CJq 4ޮfa!O5y [U9'pZp# ʑz=FSHy`$hS'vm%ca?5"ҔŜlO8.. ?55V겴6F=}=X CBBcظY<۷qFRaG'qҸw1ǯxH~,KhfH]>{ HDчổ(3n;1FՈhXiwִKh8X^ sm/I_:/Iov@"Y5 X"1:+CiF}Hpb<]$[FԱ>H::ّx淏q:2&JVlte;h NsXXXP> B1>2!ePcpkT;H[V81$bDI&Oj/=qpDހ! 4݂L\PrMim~aq^Qm!אe{go(rCc*L?>vckҠug7PA'8=\6,6;߄Tg]57$dvT:`Dmv cцƿEv M Gp; !& F/̝ t%chB5aw<%6NL0Ԇ/CWtOv2&x9e4&G3N%cݓbQ3:.'޻by-k$h=@ɟ*\Ba_Moj.E1 пo cd ϖvs C_MVjLjk7!T"r:3LKq +q蒚,)<)#R+ 2Vx(rf4X( ,PQ<"fӾMM1I(|Xt FU]l9 ])3=عϓΓ.C^0^`\M%Ġx%cmQ]w2}XRJ8Y{MN4h2)+\I7wխerX/z_f_AՑ#BYwH6_"`ISAnֳSpOUv^UwШWvz <7C8=6 4ضb-őܸ~e(# ͢'$ۘ_;?4z{AҞ%Wo r^jN{Q}\F^:zJcfq6r MZQKzn*Dyw04Av*'Y%VX+@^č*qEW+{iuHxkU5in^UWڊ]CO@Pѧ˓>"-W5A?ܺ 'yΖ 996Q2QmEp^V;DŽĥGa㓥‘{0xܟ Lgg>&fN!9Tب7m$WXFan@nNm?p,胶̸:ĐIHWVfp]:|R2Cr϶:sӟWO&UDy=!ڒv38M,? eh.B";>rrrCux L4a{'4>(܊Ye]\f53# (mo(7_wk`~y~}5"\qG둢$af?x`"ԔZ}D& |v"DOD4Ե訞o W>ZhMNL#.˜gk-s؛/gOġug9 ?Ь@.D8}kkJ "ʵ&8Cs8HAkVC⎞,"麍vڳ~-W!x֏\O)j\Fu>F&M IuT= o'\v5U%`3Kҕ-]#dNJI($ FL4@j?U*qx9fUhy~^&c{#z&/֢Zw1}Fx#̳,`-J=Ա}b4oVj1B9<"G+'.Ɲ uT·n?|PXJ$ 8)`X$Rx\If@Bܩ Rx)GZfFBn_{Yu.BdJZ!c0U7\?YBBAWgX#PA3[2CRg!t7XTv՚XGw Wu8<#Vm*L(KUNp%A||/֋cnp I8ڌp/[L7LkU'%M<7biFnFC@!ėpyP4Fnt;;C6˗+FAo5t7а=W3OjݨYYƒElk>c1zReC^CNpwt w^[̃GFXXQ]+VusX{G>Ȳ/5,G&#gyJ@ L;܄Zy)#*n7`4Λb2n.4{lSᅪ */E[_ĵ/K0v D\S??_#=ZǞgۡ@D$boxPJiffR"|cXoaj4ˊ ۑr\ߋVC,A5d=b$}F箻a…M?j_=h麻TW1\w5n>"M"q&8xֿ!`}ZLv-7 9C*з!Lf &\ zɣXoCP'uQu M/+H`XB]GΙ: {[PD2vY@/h-A Un3 r'i膶UW MoĊ]}gBǦMv|WOL6 YgUKyP@VrV'{);t-@+Uઝ#Vfy=+RN/վe}xȥ5LYO) E uRm )^Hzsf"f!# \wkJJR, 3 {㓜d, ~S4l=is[ 5T2Œ $xi䰇cX :GRn'pdsuj<.F>/Rs(^.\4Gfj?Kk ': Y̝ ǩ*5oU-2[*>.{ISOgM?w\SM8H "ȑnJHYo F\X [8؃\"#?}jd/ f IN-U:G\%EӏfOQ~HlE3X >?.fr4x#ە84YJi mDإƘM 5Ay^vk&( XEaӕz;ս|Ca\ s<_07D4SײĮ(xIY񭆮S! >.5>7~$Y?G:~LCn~ASdB 0?Mg=DҿjD&E`sW_<+?&y/ :A3&Q |2y֫32I/T_Eϊ0/6lM!qlNǍ1χ՘F= KL;9n({S|ѳ<N:,ܒ.$SYYp[.}]NBY}V-Y~9g]oSrӿY(_H<6Ahg7QpL>OQrs_3VyT^D (}NƮ~E7O( 6e dO}rj׿W+S%[A '5ݪ= x`w 7I_7s\W0%bktukcO/"~}j25B!vs ~<]po"_;ۥ>ĭ?&Ah)I ݝ]5hl3ψ, h QSV*s`*CγVrHAAd@U/Oh}qSbt0+sB#91BxQ ހz_ßMD%9k*H\`8ӄt.yqQi-uk7LY`#mݫmZ "1{ZK-0ssvWtf~vZp')=طlr#iP>覅uS_zVDWIE+&j&Hz>KCaWiwBj8uǮ-Qȷ%!)'HFjd{ IU^1$Y-a0%&ɢOWw_RW_Sh#;2GN_Q7g;3Nd,d@#}"C=`3S1/:- 1)mrS?nׄu#ϟDkY hs[R<Aq}8b٠/v`G4,a`!fnekU hچ}z7R$WmO?0}1Jm* sX/j$jCNN'WY LeE,+9H [5Tev^6{;OYyy_|CC;O-blPHb2}}cГ&3I+6Dle v)R/Fabɜ=tWzgawM1 <644Zmd'9귒.My™SAkz,Z4 3}IZGJILfT~ uE |o紛!4 c#mսAErYk:.榁qkFZ&<dJ-֓* F;&kץFT>:zK8ìH#Qd/`19hvSeD4*C nمߟq.|NnihW}W<g4=XG:+~(-r" 55}p8jHKt)'E!:z:QD|_ȐX C}y+B,!8^1 SXoN>{;@|[]L;ZqE u6Mv'Xl''‰p"f*f$BJL%f<1F{z)!boB<$Eֱ 3@b2>Om]W:uVQ }%hQρ.$r"r<&w[ȱ aI3bF   ȠK o̺, #gM9Ln?1Alw'y!0rT 64il?yG0*%笍 *D_ajNRYMȮa}bo.RHUo.H~@kީFeem#[_?֦(wEwhBeQ6-H#փa9}^:`3O7=^"M]Ȋ Mhpv]:ٱLԇFk4{敥9rν&;򴬱!JaЫY54t`Jp hJN(:+%tI$9Eb{o5.mm:޹ s`t$gX^6Y,5$-\ 3})B&(kFI/Jx}*z*iD߫4'0īra;Y~lU7, %ƱF4ݮqhKT=mCiNDD=#iu H|/R)wD2Rkk [F$bwɄՂñ\cnE{w~sMR0`{:jNE EKRę?oDS2e'ᓦGQ̻ĝ[iS0!3rMs?b,aMR?!ġ]ƙ8@,<#v N |"né $Isa|56ջo_zFO_[Nb]B0/*[o)MT1:2u_{T ɯr&W6hji ;]wW[̈·ZSe)U*=(`2Mi` LXszI);^3UfE 3 5)x| Z\I2 )-$dso~5̃Ro8r 2=(IO^@1e!{DVʱV`@i8]RLY5v-w\Ј9ja7%L|P/yӒZ8;! |4g,d Nj zY-v6JBajlZJyHx>=mE]=?+`5lpnSy\[pH&Sl"ޢQ4"t e pCCKh;DhCA&{AZy D|+N> #.rJ,m fܬSDLswWqAT&W;sS2Vׂz\hx5(!v=!\0YD@ێ rp_al5 rS7WHZUAOu|]5[WtX c#Z-0;bRߺ˖.Ώbf0͡{.7'N7IR3|&DZ_.<$mҰtLEj3-5qԡ5Ih¼(_R WJ#VD 4ع ,E|?Ҿ:Q:=:HeNvDa[q>V+y|QZI0`9,5XtLbNG^ͤD:β]k`z6М /^/;ත4Am>rğYV3B$ɑoGә¤cx`=f(sяso/Db93R.3;d/Ҳ~ZpC +أ,#VQ?e]!?/ 4t(2ۼteSEC%_Ve ۬jɅ>u63 gh팏"f۷^?_.k)13R]H3q)} ;=@kZho߷Ʊwp$;VZI0˦]?xԻ`iK"o^sݍ*d2mV^-R3mvxx>N:sY{[Է=;v1,.Mi!ˤsEM8D/ج3hZF;͐(`u{ KS˄PoKajnx@ik&M]NЋ|ߌWIZnt_[2GUceIiw`ԱK]~DSX*fUgmaN" Q gaz^72%Gyof j!O}+ԲX|TY0"_SN"O #!WZm25鷷lZUz0r o~G^_!Ţ2[~4SyݡE~CRldQڣ)F=+ʜ1SԏL07'뎲jgٓ@f[C!1jt/oǵ|VMg <)kqyBﱒic[aيV£t[۬gMuI3AH۲#40r̻Te$LdˋD8lFM#:?_Dbd_Mz&7g6wX|1Oc+ NdHU Į<>ᇛ0;hw*OjW.!E2іEп^8DZNXŔvCUq/w7Dg`+snFz|.%j}%OINzP ny4oRf.[#)d띁Yc[YlTj չAIw֘,k!ǔɮҸNc \-]_`;? Bx9|@J;&dQ B_5`~/`vl*SSB7jjdmǻRސ|K9@I ̨l# mm͇Y=okUZZqd|Z'WlPǗcV,A 7[?i0$5 A)@ƿSP L 4pkt= [S^xȘ:k81.Hw _-vv 2M©գV=fn`* Օ` m?kӈ g%w땂qED.ag| 8̌@A9*i5!B9ZMrGt:G~۱ d=C`/YWkċB+&t08Rt}>ltsc]{sٗ-/Y= 8,p#3-ssrRf7~6 y^HP+d| z2q-d"gN%68:m@  pG=/;6ƞ*e^._a%m|8,r#҅~vȘ.aeB+!\ M77۬W); Yn(7("fSd4p8XGayM%`aqY|`xmF{B,vᕆ>|lY+[ :<ƛTb)G ڪI| TgyF֌HH‹&^uGHm!@Ja?3B=G φ*ĄLURvX[7b !31z.t+}ɉ߼ :#HY5Wjo2X7X6twA" sv &$R,,Djc+,T7\c lDmI&˓HYLl3!TLb 'J=Q1 7!{p-k&ru f  Ʒs(XƉa`4~*T<<#(BQ@ճ-%MzyqVJ/dcoS\\9;.c }+( wPK:)s#v3:")"'+i p KS9Ru z]՛֬ݣg [3ASlq%\9- rZt^yiH#Fs1udr&~UkAG,Wr} hhzl L%DTs>6Hh5AҎqUH_> 46b,s0TbZI m4n կTf@$,]{=c.a&_KCoT"n<y&jk)1BlvY@2jƨp}g˛2i h 3 -JydLΡi\Kc}f/b鵆Wc/F_f#2"CD0 V~ZhVieTskS} (hp?Qt>wjӣ9~/UY_̓|{#hHÐ_ PS&4퐙m8=1B24hv:3Y\խ(JQC/So(yB[b`'!=typLv&3VM|,-6w~n: SKKYl" Ҝ4D{"0O 7#4GTO3zwVR1|Ww Inh.y{c_q{ֱx:Bsw9H8y|&mH# T'_pF,/3aYQ#""~`fY?A娃H:hZ;<s(uVK"G@e]˴Ž($3 DVrw0iIHO0>bmT"QMoxCֱzW6݂]]t?+/UWd+:C2_,TDF e3"ԻʏF27~LK~&@ <4x$\l=Uݞ @ 83Q*P#{f؆{wnvNJ,3hZel8#}7 j%] Mjhvh){vtNnS즦Lq';纕 j?neUa^=ޚ;e {F@Y=aEw=lpߑWڵ9bx$4x!"9DHo|4ZH p "R=ܵNƝDԧ^E/Khe$}XϕkYD:^R{PZ3o [ >]k$@Bgrz/ahX \q6ڟI؊є"0T9Zi׃xnKב7 :kHm:x̦,%[p 7SBm/0i92c#e$3ܼPe:<ٙ&7͟<2L| `Tx@E\h>z罣F~M6X>(EzkBy+HS/D:'b)rW)`ctM}D]Ϸp l[)N. {u˓ԒT~lJ`݀BW!E҉=HAiM3u 8㔳u C5oÃ=*b9іe~D?5وe(_4ujYe dsFWϾ}~y-0gZʙΞA|E[rY\>~/ܒ,]Tu,^k>yk \InsN^+xuTau,X5r.'?jjtu9Ϭs,,n$Ϋme]ji06ywn\,ɷN~8i ]ݵpB:xxaV,|ߝM ilTcU0tʫisG  . Gm۴%xGN 8z?P&.ōݜFXy6w]|il^|RLD[_~{(}5_&@8hAc/M5NÓϒ tK@j@y:'b 9 +Jn1>ȳ K i_I0͙M˝"L6c,HפBpvY?AFP #*?8ETEvE+<ӮNZa02N=4!N 'kGNƒ "\ޖ-/b1К7cݏ46.$fw5fQQ ig]og _耮$͇Gpù ПOgQi}lS5!8W2re=5L8Hj1clsZnNY;%j HWo i='STCA|rhͦT);]Hi$b{%vX8ArEv?]t>MBKy?+}_*Aa a76 כՎ%8 Qlgf(A2U" 鐏3aPAVzk{ua cn.Jߴ.O5mk;ڰޟס G]1"RT[C s ~B%LoCiP@;׫[:})h _._#7n_q_n`B:f*lgox"F=rfUVK0ax;b@;^@M_ Nf3:zvU9SQ͹]GR*b!aKr"iTիoU5aQ T_o! ;ZAI+Ea!"sr-4asQЉo `h%xLDRY}gg?Up6C: fDm'<7.F@W6Q(8jJ{͜i&DZSFҗz'iAPQ Yy7],^RZT_K .C<ޓBW +_ѾftZ^*4z&§:['Hh֥=!/B-D2^Mik͍G~Bwn7\ν>\pP$Ls`!8F'=pvN:}zzEιAIQg2y8>8'5]q4ݷtY4spKy@9I-$'[NjShzbi׫8Ȓ6,RҀϱ\<-#{u%ASW.Gs4PJ!71s] ɷg5"{_ɳn.dzw6P=JQY4ڞl<.K m gXSu:Tf|dM(^p$FtkubR_]ӼҎ^]@X'F;Ùyvo)lLp>|yy|5'P yi:m[GO0S]tGD 4q P:>?BVe Bu1e M]:k*u/ʚ2 "T/It⒍cm*wWn" 2nX \cGI?g!|:Je{]tbS;NvSnJ,Ϙan3,0=(Bٜ15.޶tF4ä4诧P7.Omt@iy%5 gw=hW)P3Q TйƟKU>tFTxZ @4(Dxg wHBW8"1vO>Ot"EXfR`'IiɅGְWgk㡭(~BN@En1d#v椳m/A'cjܡt!]BBT}pֆ'?y8H邖3?D+ )њ%xVvuLx%~Ĥ"C"GMH3AH j(&>g#yOQ!;"U7 *1& Xhߖi+ K //7v K*0wZOb@nۮA Oe'Nt&FP7g} bCmHv3WI +SΜ3)TvWH T-r=f>;˕,O*31igߘvW)UUW`! XcIgOa')I"&g6Ff}夻$N: SĻW={:[*پC,ܗlΈ$&_Զ[gP N+7AP& ^f?9-AM"N eW(_%ưCrZ]>LTaxF$}5獧_B3AlPEң~4+і R2秪p9an U۶yI'.+|Gp=ے_ `FeV<1QWm*H䛙M1/$ϥ^ma-i6Ie Y#G/qv%Ap {Bꮿ⍢8Dz$6W\,V7gi~h2T nc=J^*C>,G*$]`B ;YT)$- nP'.S@L0`snteB`By/+"Z7gnd`N0f2`F ےcKSF8,6!PD#(aDƝU -g$fpnMFA,ةfLk&t^ѫٍW,;~ \9W[2o{7;J$5B|uaQ$}5b";e{x N6k) K;`CyȶXב}`z`H6EZRpv.ؾ'9}qhxL{e0,s. E rm-&u &r-:^LOD% mmXu`{Hl]yT-; S|  =էkQA4dCu2:ٶ&lTĔ?>i[_nEۤppejTѤ΋V8vR`"⬠S/3{$OeXFKtLYij(E7KZ̟]zװ (0T( ϼ;" u8Z@uզM 'W9*49XY6 G&vO'Ë[<$l?eJRB[y Q\]JQ汝}?ŦY-]nW!qI\2*fUX`T.QZ@g¬xXPhzܟOR?xAi;XsQ源W|\l?>hVƨ Cx[ө/da .+W.ppnAq9MxHaL Tq>gO% je#D$tW:B 6VTLKu ϼ&$tJgf`bnv5G;Ⲫ!=%=ew+.-)00B )38V@.`N,;]Y :v"EDBEUk8'xlEG[ c񦲕󾅴uw0ᚑ2WB^&xJj$Si# ״q\d&w.RN@7{2y/ v5LEx{{YI޶<bMse\fY푋(8yF&en 4REюh]OS%FdsGQ}CQYȱT֭Y;8󕅾dwGaDb%&D>_=ewKXj,Ŗ)1ڿJ,I{CVx %rW/7~9Cb䨙˜ %Oփ^+z`MD!˿ŒJ}΃^+gׁ{n>JG$zM,4ۥ'Q"Âznw9 8MQ[l1BO] ,>4+A@ SKk_PFDpWh  -v68=;V ;anDa]x&;oB@!LRY>->32y",oObM+ջ'ĉߎ]&KfeH)?(Toh/ԙo93UhҵbڋU6l:M2/r-#5͘#Wh" H5YHybw#. !l$N&[(nUtv˷-j? H&|-,:H+ԏ0^A9-],a>w&(VcK[^Fq T; l˼&zvTT4e.TO<[+>iD,OɻXTu-GIG,4vD J G6ͥ0s.st29DxW}(5<;=e-F4[}&ue~,A0Kdlm`lS@2 Ť}P.;%YE?:x4gx &C}sɕV8);:蒂)[J\N8mM6|Dv&A5G]ֽ wNR׳w/**`&tΤMɅsDZmUzx.)2"VĢ:܋QlPxU۟i@Y\~8DJmɤSaöa*camj舙ltC¥I2q^UOY?U=mfU<<-w"8cM= EwQFcB&⪆\aXc28ٰF&i-M&G)j}|ySl̕ ʞ 9㩇$1r͔[.;ƂJ8/\ʢ6) XXổsu.6Ѓ?q l*fgW3<`+~3: A (m*kmD3Z"MW)g5zk, Aŵ߹uZ!*^xגYosL P"0:H3W@=2ŕgv;:\j2ofKa Tf!Z "ܭ_M2J/Kڄۂ-Ш}Lm^dB80֛zB"uJs>кђjML$v ߱/ٌ6;/䗔K憆o9k)Oy1h;kN>+/ө>QvT`C(^ALLR`d]7.,7&yjI:g:楌%$!XO~7z""!;nنݰ3DX!ȑu|,{\ Tm1TRP )R$ډAd`D]d J䆟7ZnYяJz`1B/%$>U9^_x:w%;~neȚ#8_=S[lWf"&wXF $C&,@c^bƤj0]࣯Q }jE +r"O4 %"bI1xem@§lqR9`1Ҥ;\;9e ' 5'aڊwWZqoB] 쇅(9.@v@gf  ']dD{97)и{J჆W Xt]; 9Slv7d\1-78(eiPr*~Z ĕCBcȮ*;ѠjUgYߗ S׏#n TMSH_>(A<*k~Y 1+q W† }g07 bB((Ɲˤ;. YmkKH%R'>ab\`Ak j/\|6[ /n_b0T,z3Yl!#sR_ZCM].2e7,jDtJl/)&t 8XP͘[|XI8B=v,ϩyJt-"]4@VL̯\6y~T.?Z'~ܹվqs~QF.o#BX 8 +EKP,ᦂqM. [8"9&^5.1)*yWP)bbE47yDL0RЃ[ l\5, O^ P_yY0owLAPZt+aY];bQW#3N% -y$o զʕ&Jo@~fګiUSAIQ 2P2B3jťs7dϾJzV;^;/ aC..e$L=\1M^HZnRAB V迓~)اl akqO# Poo|籐a #骊q=hՅd6[;~&~#;i$eMO.j]z{tll!IpM|MBK PyizQu6L:z˫xeC%F6(U(#ׄ4ۿ:Kdq;c,Y[2WٝsrĠ¹plx;9Ex+r Q;C݄3 a/' '#n)-'4(qd~f3tb@@1 Px/&e e4[uy /.t׷!xVN0jVF-ǃڴtU+'*F*EpԢ]{Z4۸p fYcSf_t>%ۓ{q^KXy<@>[@6( S|FT FbM$f=CE9:R[_T x7KUA3EHT|sG@c)0a_2qX,h`@vaF9}G"hXوpޙ 3]яHXJP>0XLcVb1cebXKx Vfx{\8gCt=)yʆE !"PQ@F,}}xC!cI3 ri-%^_`'GD݇GjЊed땐F8]F<°3q!"u\CW0m^kH2{b;F?5XK5nݻSoLc, 5PL tGT,}be3?WsOnmEM<IH?svdA17\H'<"HG">|\!bBf9=e#:hݩ_]g"UQ+?qfm)Pt; jj Bw+cV}r%I/5.M.Ak+ޱM2'}pAƮΝB@bA/^NYH)o}ijU[qsP>/݄~< X2hz%D| <Q&7$x[' (.d陽\OfKNqruv mѲˏB3i[U{w?k|u+;so1/ UNG6TDh%#*6#^<0 bVG`<`y@:`C-HR3ڑ gL);/Nf&}榦y)XDdz-b2b_^B{JUKci'TQ v\~H/=#2uv(CR4 `G|nqaǚD}w-%Y8)!hKbs8\f5}þ7k5|ƺnoh5 +WQ[ F_g;3@%7{h0 m$ďnGnߠޔ~>(~ё|$#G;f%</Q?%lu j;IG:;<f|m%O8Y4&WKy%NGn(?Æd1 ~́*Za'~2xDToQuu1hV@8ߗzC~ox92cNT7/m9 qEDpB%iRH['pTٿ< +S(qU-[ BqX~Y@qTOѵGQ*wh[[*Ԩz78K$l.eFG*JT_*3 gZ ʑaYJ^S"E5Q;f$GSڌE&D'%AӢs8:h乹PIRz~E%uaSmGgSJrx]T^8>D4F3*c"Jҩa+sLu%X,+T+mNo[Skr$Fz ~e8 =nBKduQo4;8DPPj o-&{4+2 GA|"f",= _q.cpZ MA,U5owܗ$hPJ 6M JՑ,$0"KF;R< ,3] 뼃"Aq\CSa4jiLِдJvib}w6V!m6X)؄cU)2Pl> Gtv_%DL.g@Yȟ]3Xh(ɫM%#D3r\ڙI(3BѧlEHXE.>G&h:)!B>1svg!]yUo BE@MHBYAi4UE@ fG/Yk\,Ҡp=EfL_k7*I#@ O %R{j%p)Ws BmqSƠLI)NR.BWx | 9 *yz Qӆ㡀2FnFѡyE { FFL-7_e]M;o4LX\#6U Kt>ŐAm{lsFR=h@ -v2rCe$؜kƮ !NSZ"gRܗG~|d[Se={a6srRւ^nC2cJcQ߇٨_<8!0Kb޻dM@ Uҕ7j\3z7 ѣ蒋]Zv(ٸp70ҏ s%ܟ̘ueaH:N+\&֦ b~g)6dJ9_p"jZnsu?Ym4 ;V1_m];?ɼ@&<p_OϿTW\N΃ЗVNO8ոTO8 ?V=׺Q.@op6wnLS>Oz*ˌIbEpS*!b絡үz x"tC@#R LrJv7/d\IAPh2_4-K^uEc,CtA\'>iWIé$3|o1,fzj+ǒdnmV!>)$%G<y)"@%pS,iNzj(4#a; vJ0L._k.ϥWv.يsX. N& DD*˖+$c}jeB曢T2Ok0ڑuO^NB˩a̖q\⩪S]i`dւ,EOnLy{\\!LZ5l4I+v9sMd[+gw)mtL]![D?-$Ώ|XD]۝xؽ4^z|{%A`Y(s`ۣ4+nR 9bqȈ ^+Jt4Ў2-4=M #UFB4*'^fG@ED֎'X8^V H{@#UXX` Q!gN2CSup-Meg|6[7<FU,j| {!PΫ~WF<ʅ5 ђN폼_Ioa OC\ :.3[%JAx//T*d6Ctg2\sLy^ਥ.n{(.jİeڜH`Yz#yML0vs{Ɂ='{@03۾,:Pyߵ ?H" 3I:Fnn<%|Øb\Ke|}%1_ysD] h  &3o8l&bS {W+" ]:3X_ۚ,kd]fV f%s%EW{YHu:cWŕV: GCUUS^tid1SNhLcŴ %+'rQI9я+ro.73P%6΂duڈdzwS"hqխ&RAU㱹ҼSMhɅC!!VY>Vnr [s+octs ).As` r=Y u R=#Y.z g+vZX3-éeƼU7*^GH *g̛=ۜyICޙ{҆9kW2dHװu‡@BZB0x&T:y}4HYOQEVݧ ahhk@Fۂ:5Bg0 kyQ|SM1KzgXOiEm:Nmd#-`|.g8 mۃыA[ K 9w̨_,)%[=!"2Îֆe6%O$ARr/MzcD26CI ;1Gn4&;ɶ&0YL߇O+,j9Lũr_m?Z9Q"Y; u| ^ ΠgvSc~(tDG3ZI:?N׻Af}WuL):K1*=UMUyu  f T ,8/ib&˜7D-.)y֣Tؾ%IBvqKTmŠVa(l{(@-f(6/J+Y S܇Kάg[KR!QkJjZ!}̃vN8*\);y`+<{ee圿FMIC}ͪ1+;-_6i85 fL~YвJ*O΅R0Ƃ]bDd;q*軘ImS e+8nWYO$R[`%G/-0e_@v%Xp?u0 :}d^|5rPAW;Wp<J4aDR_r'N|P<+-\쩎pzõr pXBq Q"|Oj}wp_o%Aټ T>8⛞_U?Ω ?{WP2X|Wx) uԯfڄO8ͨc ^sv_nqѬYG;MAsxO˾/E٤.O>$!j'& תбF7߀`?BxS2Nזr}] u6 su3ѬcZhtH&(- Jk#RZa5>M7e`-DgsEIX0먗3eDPcI8!Y:ǺFa@O IMb**L@FPoLhyN[Ҿl&3VcKMd7n[qS:=hE~em'r,l!-Gw*Gt\g_3Yra[!72*=@(pcf ){s +2ALT2:pk%0ٟ/}y=X  ss,(SuwZ 6E;(yG|͡g鹺Մ=Y&"wd D+d*PsF1<2Z H^->Y˼N5L,z^ #[}_ΥojƍM|aER(LJ̣Ռ?SkɳQaUД%'6$b@N` >S9`W%0jHf{z=(383w:rdGg[zQ0lGx9>KA:v-GbdJV3hHZz.Bd}ҀK[q(  ;I* {.PaHb +dPV8Ls9E.O>.}!GulJ \w>:8kOKm,ߡ~ݛG ?1*kqC<p/rBOݐBظ; |rVi*-_aRBi0]Lç`~ b+(jiQM2\Lr'uL^Gs6'E `ՉyRł\oc%3~#&ǃV93__21+Z9(Yo3]H_r Ʊq4 =6 >Dqa4?+Hֻї :^ !,]|}%,tuˡģ.pɱ9&@ȘmBW6Ju巌l Ϙ5] 8Z$6\*fOB`nҁvl#șhw`czwJg|\agW+qCӊt2m aÕ]y|]D}Kh;46qͩl8"h + 4I h !C3 a^eJ66 J*\"А,ۑShP_ZrYƁWd$B;kuՊ]T>A{ҮBr5zH{]FiFN[puCjX2Z[ h[kY1~{a̒/Yk* #Zg_f0m%|_cb!_' *<2%d ;0ЩEr0|Cp=4B uSq4ZZ:kKrSzc -BȆc ͂e xٜN̗e^% >f{GpY3aJr I P5^o`eWc6Oݢ[8q\oـoY+, "ўd`晕&΅EONFuШ$#.i-ӊDGC_HAHl9g'řOB+Ut6=FQ%} } O^ c8,3Zɢ_qr7ZfR/3? "B^}`P^OyZ3[Ѳ* 9Իݿ3VX%y$dsyKkO?.vSeg5#)Of4FJވn{G J' 7ov^W1 xV7{U${8=!$kۇFb=ŜdDel8&=To~0ů>xO8oJڣɍ4?Fw㩖f7czb62b,o%%ӈTƫ}nP.L,޾m heͼ(r"WrxLjrf'5c}\E%%x!L2_ fn[<f p67rX?VH:ȆNHr6 O:5, ǍK/Ο+1vM`Cޒ5 G^y4y-6amN) JL7 LBymdYԝ;6u1(M`ypLf)}4gaMFjGv!XԤ%IPlZNM$lĥ> .Ubl 1V b>zC+ 鏈WyreoQ0Rm{-XGh2N''} ] ԛt8ggyLt]HJv^bE&5xvg<{Ptvf? x?`0ξ z%@jED"d-rkS;v}!=|J0ڦ<Bw5qqG]TM)#ĢYvK]Psxo_Jk_=33L_';9j Z {U3) }4,i|*uX5!3z0)؟E&_&.@:ڍƫk䂅 Ns~mTq[G3coBpM( ܋07rn#>sקT&oyw Dt^&}.ɏɜ0;#Xwx?;`,GSÑ"I֮`GyF}q@pEf$LIW*5:nCG(.kKHԲ쿉OCA^^rF>Đ?^Ϋ+[g)qc||˾\O|3|r\WK08O,){_޸4ro_l1Z!9]pWZ[`,Q4/er_ERZ{b\l?b`tz*6BOfP1_ {e톥gAr{D'*#N^[S8lfrETP Xiu(f%wK^2,cQb;>KYVdr'*T,l)F3NȾe>@adJ" rF"^dCEpO !bJz^ⷷU l "J^޸1%]XÌ b縇rVFC;$8z@<>׷x"/@FKao*+IH7fZ[jDo\$J_ fSRO4^|OeT`)R6:$7" V Q) zѦ0F))eE9xRi3geU]{Dl0y ]b\7A{#HA|wI= ^G7͔s(7R!a/9SQ;C#U0rHo =htۖAͺJE  B[?I҅dsɣ 3s(-'p͢ T 'i,:Y}$.e9({7SVR-_?"%ZhH$ W@X6F飳F{!8DysޞI{oB!{-`^R (W jOGd:@5=h \OWb+qVCڭbȇSYC4H{]y\с:O2Z`>}o˫bF=@5N\BK!7tDuF{aCnI g3#C$p:=JnF?K?F%S=O!yim"CSCnjw[5jv3B.m`Z6*O_Diêg6!|ƨC es 5 C|Qd5IfThk ߭X17ݏ)ޓsQOWtE>!(IɲEGbaG۬@wU~-$ruF7g(a~Axp!VDOP_".\SP`FIId5'ER~Pwuق{ `?8o@`Sh^E׬Jջ <ӥR&]chC4"zNMF]H ;˶Cr'oY?=% $_ 2Xs0.=.0kcUogM۔ Y",$.Ә٥(L\ =QVݦKo[`?$31OuPŃ*Q!ydj=+4Tuv| 0­”Y__A.Xv(Pj K$-~ʳS.HҚB M7 hf^j./6!jm$Xik_3饖Rۮ>v +y#̄Zx4{6yD^Xl2`=նHt|)ectd/F|NNLdb]| dP%ceT°@} 툔a~49\/C)G0:Cj:sʶ0 U3ւ9|O7xڼA7%4抺DV <[,d_ ^5HݾGڋhVNK97퐺0Sbߎ`P^X'.}n d߭Dh; #W?Wu qގ@nEJf?hlR~x76Rlؑp`EE(U>#6n0jêV&@,B.*/߶:K1kVH2h2ퟘֹ |Ԗ<ˁ=*Z9Y=0D&>ԓe/(ݔ6bK aIcVN0}*ICN#1$ʀ}>@$<]LÃȐi}"Q++ZΒ |u$+#asyv7wmnrٷ8t ̸:Qr%2}P ̆)Ceu/MGn6)Gȁ>MCldl9_]tYc/\{Rߜk;@%b&SV呜&26S Mz+KP"歨C4',ˍ}x-v ~5kJLEeһ򡮻W|bZE7M+#EH{)+VMBM ;6!ήJJ.9[j6s@ Yi {§ϥYy]D?~9R_rG'lr)c|.5njU0}FeVăm¼Y?spN&mlR@k%ET 2_Mtd=ʱsӄ J#3(p<.6OWyL'p +iHȘos٣(}{ zseOz 侽_L\P(yd3yybb xF~f {m{t1M4&0 z6XR\AIA  15!ψIAM1RFUK[Afo03ؑhF_#zbQOq9t)nڒVzH\(ѱSTՌGm`\,eMm+VF˝=Po[u[Sȣpƛe1CxFDo=$XO=P~!%났yrA]!_+ KɻEgjZr!9n||G tGhs3U]텰un@b: 0W9+&l:=ؓQI`S,)&lpxd^l=ɻf^`5,6'rj, ?X͟f Y~>mkޘLLUΦ]闼 t{ƫ "F=v,DHj%L yT dϊ8tdg`e&BL"݌ֽ. X\>1~au/Rjt<Ip/(uzDD9s@ky2GH4$T}˷51#4aCڛiǣ鿿-,>kh7|NֿLкBWD2nRA%4: ر),Lօa9R>K^yΩd*Jӭ;:F'g-}{Gw u{zŏ=0 LuȬ27ýͶ_*VD·HLkXq9A;p>o 3-H2#w-&g/bJ^@lUXg2w"v,9՛a:-7oB@Kkh,fM%-{e ȅtɌru)QV>n}8=XshAÍYay8U010r']lެ>_4:Gb <|8 ǒO|س޺X &-$o`Sa~ס >`MV 6DWS.݈iy >U]L.mt{ֳNpĄew=xio+m M N!>ғ8 P w^S>̢w[fܛV;=]ه_2@I痺#V^G/W1QOu '4L8m?;ʃ k|sĦ,4q鿿A 70yιu79|pφȁ@*d^1կ#U?[Ѡ3XbY׾삹۸}pa2\ xl+KOduTRjbywUvw`:)BPsܠ9 E֭ϏOu걞YmQj|.&P3Fpꞎ:W?ynyW"4N\;I9[6,U+Z6+ ~a[*!8/J+E$_*7&Mh OgJ~WXfhjF_Ȱ@?by4ǹKg~E4 Hx8PɀeF;I{^ 0zN߭S0#V;O#ѯi*S[{Ak;xCMMltpG'uyOy%D-fl^\3iT2FM[d3k^v^T1YeZ/z<ǢXY78v;ufɳ#Y=v~VNFg zdVlyuKc=ps|2G95pš(dDq&p hOhKO+!7a|rpWBZ{d;Rpԡ{|$8dm-,fN'X\.U4!f+c[0g F egtʿ/&.;9N$P/ 5 `3g|f]fM-9(QP# r=OZ&}ƍ#9Vm!(W*4}*l27̎8ppSśeYiI& Th@Mr!H oBm::`ƾWMDa`jG[^ ";+ǘ FP^}Fe8x3tL׷M&(#H>T$ٲ|ƣI/GZZ|u3GJm)zazDw`ޯ R]g 31axw\*BY*z 5 [a C;Ճ.wfvHAL`ਢ1o3dWNl4>%6r~h^k+r wjf^wpwz>f5Z tΎZv&lਪ-JծZ ZjL0K:^Xk %kl#R%C0 2|gcJZ[=n#iL[gHng$$$~j6E#:U=mT+Ns-*6[x*qo#YC%l')* nHp6e ܾtOڜkIx&n{ :&t'J@HxV3<N/e%2q.7Cr/\)Sck+lHoi"b nU}R/ иxsNwWG%؄_Wiq[Y $ZBlm +?M_M~O'hrl`FkY=H2:Yw)gN/=ҸFz p ׵…9xq!: (u5cwp>d4nJP$;7[m!@T3TPwGyb^ųu [?aM(bQtw AOjU |{iŭK@z+eC.:Xé(ihYx*CV['s楾/*AbH"-`F)|b!4mKٞKcc!, ;Ly (AFMmi?s,$k4唑_vȔ| ӖVK2@  Ș@­?CD_M֑`v) W?ɉ,4}_H4jhF5 /͘ւ\>׌]3=#pȐ%Zq7b/\mKnpp*lI_VIav `x*~z$#xh#m8zPM/v2o7 ߦNGѮ"nl>[DtȕpMT$!#]Ur,LAt>'(n/^NFB8A@̙(_}`==O%|+BvCDp r%)O]F,<^ "(>;14Ia`JGKz+@X30wY{@;?{je'.ܭ= {k,bzKjBgSM(L52ǁ;)1Wvul&\InE%VEP7 =r^g:/h%ʨ9q? w*6P-@qxx(%F/[R>wΫ;^Mpi݆m*mUfWυv,oBz>H\8;v_q/%ɍ d%DOe?pmT} S-=X ;NT"^>QI 7BV'RƵZ$qUJp,nbzW !, t =leGt+!9ݵv x?b&S,tP_ lPeGSh@FcYE:5Aj?$xAo*u,XeB[ۖW'(ϹcyYv~1S|y.硗? _'BH_Gmĝs|[Ydm:Յ2v1؆ g﹍/O0ݚ.\7U>I `h33IwD%H_Y}.K]-Lލ`9\yF$7BʐRe6fF[qx+qf5GP wPt$p4L+Փ`Td5Ǘ5 ս3K20&K2*+ϱG; bwrP*2Ǖyʸelߑ${'Bϊ|#$KRѼԙ.^q_$8F3[HsT n__0iο TgIPiuj;D_|S|ΝB_E,OFJ]b-BR09XM 8dW{Sփ *͐nBJ+v\uj@Jb!Ynsmo!cJ4 i 5|?W>sRn9;TrI.}`9_yq`7)\M@y< )-f⭉dZ@k;;uJUAzm%[}z-{8OֿэEd";l>)99pⷄ Kxaz$P'KU@(žeFSMo0bvh&V*x.XIɈnROZ3w#yIeL]Y}Qdd8ǽmP5)c=D''c@Ck找80)<5R' f2IK_≲nE#?%5m-BKP-Z/u`vh,uWA y(!lz\{,亡@!EqM}'vf@`@ j LoyPA6)Pm",e@A Og^{F< ;1:%h QaXhIA)!&mvx~92o5@/ ktǺgY DKn) 6 aAk=çnsI1\j1.Mfn<`?Lo|<6bAtP$ /${¨ 2xbeaf=p2zbћ/8e8þ,_ SVB>b a^s>e+l%muF l# f힜(#]^ͱl`^3JHf\gr|oTD|K>Beٚ^g&;45oeY_>1$7J~Myi'S;H۪,棭%w|6)1{Lc%T_@rP&P[l.QXxLk*wXҕ 21{TWZ}{1A<`{+9CBק9ס::IkE(SkTԘĸIE pfCa+l.w ) '$ g,7\.6~1l3*X/Tlǭ<;Yh'.~eb qHAe_=a38>U曵9@9D"%DK5má %iNUq.#@ $GoD;+SN$?7TD `s:| ބNl 8}[Ar5)M)įx |#:Gu)tE ':1c!r1>jb00w2`:|r0 hlr j`RNIZoMv7 Jhv7U7eKj7zUs(ۜ?_E7Y7}A}ʺal.WOK :^pv_E&tǙ4*B@,,r2uN%%o斐¹9%w&?M+#)'vm̠at>|ɋu|b,qY$/Ԝ68ҧ£-x:< =qN /l'uN }XKg V/8MhJu)=O 󻶭%5ïel_RKIMOK߇; t}VGf{[ qo;%AtJe" S1lK542hQضE.&dgDB uv&bGKU쮽#1-W_1˚SSFӧxE<ͮ@m˱SL ƫ|NWu=Es|@2*AORNŋ.N8tIm0,~^jzim2⹷2*Y>=m ռg|y 7JJb#'3U9D;? lC]V<"Qy^$t`H[B_%*;yNX1s{F /Þd8:A iR8>Oq6f`yt>PH |?X_ b<$|{,ذ!X-Q խvQpgl֔<(d%2sM7lPNC# Q»0o-?.sȃ~fJ%QN!| 1Qm<y+ӴC wnh F`-j`ǔ\HFoG/CN:u$FI`IŹT~`lϏ8n &Z?R3V6;7;Wɴ+MdGRܾ_ Y)"" yvRaAEebXui9l")-pCs̎no' fe8:O'~{D.RMpPEK˽"?9f8ۑ)tZiۻbBPK"i!lv쒖(I5`NO;B1#NZu8Cb:u('1f,M3J0!{:1AIl*@RƸPR^IN m:5 g4/-muV=vZ4xn~u$h cZ15ub%<c_:ն%R zkkR֮j>B>aAl;tŕE:Su*~=!.P #9ܭ%Wf"]nAf,IJX߱ SMi{aq12=YL&4m9<>$rTs6v,ۥL5nP/MͶm|4N'{)[J9.}/2{h(愋H*&k0Y ")a]Asl?m6XÊ5XNB9N!CajqbD?bfF4@2]K8`>d#+Ev.w;*bȌ!Ҭ( xJ-#3%F&$q;VF"(ΣZ҄^bk 3o3eo0y&22{ÿ}#eުbK׸Y@z0|q'n Tύ,*I(v[-P,)e0~ڷl񕚑Ic`$"oQl `MA,C5 :xӝxkzldV B2\$kd۝5%Mn(cW[=鴴R|ݹػ}s|Z8^AGwSF+w8Ӳ%]ۈ"ŹdveJe V۱t>:QviN"Ne_6 8fY S,iqN!a:C ):͒(m#HCv8se+̪"F-- 8>4_+~/&_A`% K kVY'=Sq­~(k'pR [ߥ\ b:~6$# F&PA缘&hE,;VHBao\c,rq#౐6u3N&O-X|VvKijޖƵ Ή tռ< VYct#?Ȫ,M aA־64(Lmd,YDʬֈ%o YK'\䤟ȕdW`Ko]K©+UڇA49-zS |\^?*O06% lv?5\]0"իa5ϐϭ( KF9:,*?'Xk ]fOk]vRvDCFy U $$d!S%kqe9vhlCz'h`6;/ub}!9k_^Kx gD5Kul;GUvy%O;g6pCQ5D-Gqzh ,çD՟>B6| n~<5FVל8۪H)ɕ\S:5_)oycޘ'ŭ$1,|muB FYMW+nP_6l_l TO'ssI%_x6hYZ}}+Y8&~pz*01윛`U$ʼjqOr{Fò1:]𮣝S$q9d{[Z w٦0 xYWdS"E'[1*ڙkDA!y\K3V }B߻;Tx׽lӯѷ2Z6=3|9y ^)NӪEabEyb lJ)QNK)Kԥf{QDbT'|=s9#+ϗ 0o/FSLH7}1Hdřд2'>um!g^|AO=LD@hTqʱ+}cH,Dž*H^p\=%`gHZ7be΀G`S*a52Ԋb,wG3 EzKen_tK%UYCdC"w{ ]3Y6^Кa`Eg+T_J:4~QkQ n kW6hrQ]RP/ľF_4@ )aYr}!5Tp eSHKlM˪z"/ Ł64r&iA_=E[ A,WjEޡL@syB;d,6WC~)5C0[D؍,gfkE(HBX 6s-ĉlOoʣ\i7A6Zj ["D2OOV%t@~v'Q%}{և5! 4T,ɥVM?n Ut6!m@t #6<èM7.NqwmI^$yX#UjD7P/~HI,MRI/FdSUeFoleb(jg&aaP^mMGC ZʶB?C03!ˡ6H]J'TոS ɩ.%Gw%wBWecߑr I2aU $Xtj3vҺ $yeY@̈e2půMNtwaZ΍c'GT|Q7CW2c kڱuDfbFOܴ=e;z`9qx4 M @#iV+H?#]O|IV% x`ڸO8&kvB۝p-&W.l}b5Hk w!bI@3(f,4ǣl qC}4 Τa%Ϧ|zلĀKDDGR%E[c5 eƳ0%JӣNtt\ŭmϞ ^m=ʐ0#̷IRXx|UJĆ+r<`giqu5RWw@tMJyvKHʌ.~,+u J4o 6Ȕp;+ '4O^P1Pg|7YS=O[PvQuCXh,f̀ 5M NOؤ~gDhuS TdETS*^h,̃le7s1\ӻ:]+dfV4.O&AU]\Uc=eyܢ'4䛎+CѹA-ޯ җ ӣiǞwZbJkr7Kw?kU- K@?IjyDoFGT4H0$!\|38i8çUJYO#%@)1G)k_Y56'bYCWݫfJi0ݐ H`*lsw#@҃|ӯ ni/i;BS!w?k^m*5"u^KK]/}+_T^c(xjw J:lS폍:(|gM;3wϡS(ҵWcY%v8>c6evk1 Сc9A9n~2PsÞږ "KzRCS].TgT6Pbѡfesӻ0iu''|GuhV'SOy]F" L#zͺDZ/iN nW)&7EFӄ!T4`pɳwP=sr VQKYf:8 1́ XQ6wGWԿHJA﷌%V{ զ```ÎXJXXSN1RMk-Bym2-JzV Zʙصꘑ2ڜ}R abK+6ھ6;J=}U"`z[0MZ9:kgV3<`Z4' 㭂*7N 6uOteGB=VysbV"{g& Ee&DͩpсV-0QJXEfDLLl<9ˮ%͆½7,T7nz`)\}z-Bh&T.mJP@A=!YX*?])2' jb`{=Ws߄7&NS5c;m}Ž ee_XCZ 2Rrk>X=N M75bV3hm˪ 2JMTe7^Aԥ'y-F zK+.Zkژ~`(":8)xl hJ󦏱525o%H~u5ʧ,yd!0DtQ,cs)nwWL 7^%Z&{dk[7Μ1L%,x׽0>kPqWdckCVXOi,}tUxdfp9Z41[2xSt%]u).5$ۍʩm=qBtؤwQ`>z}2uVi[6)KH=Dassj EjqrY[ŌИs=y, '+N6h_EMۡ$-sfg Fe87(WXTM܁3˵;hjKe_) j.fMy^[(>zbD.?{ZޫWaUKP|R K&_~ơα|[)WE7!<:lsRSK7qN^f̩~`WHWꪲ@)xLH;nX|27"3Vh-,}\ҡ.6rj$txfD|3 ,?T9h\O[(15}1<ˠ Ft)=? =dJH:n9-@3 K^7gJjjE ={~>s_ ׶"$]f!an?/NQXK7Z|񙰽FB 0˶ afY,1 HڛDԘzB6J?xȤgtΥQjCV36$ix φ8R{Y4~' [88b7(>%3iZ3C[Kh=ߎޡɸ5|Q&JHNnTeGZ6i8`WRX|ȬP@.d87ԧ/$b4sƂATA(='8]9'pRʺMe"M{G7앓d/1ymJ)srC#aȶ ;Cb ͫRi ΎK4"VS&~Aj#a#k 6D:w׃-\P ..[uH^$=jrpI4G9Д1Gu3⡽0RS,;PnWL?4|H7)Yϝ7x2UnQ)~HKy¬. )FT5\.hou[<7/O2!΅9P{''Z-%Rj!G2=c䊁Jyr U<36=nN$˙KW|Hhӹt]~wwDϮέ[[}vH`(qFkWct~HM8-}[ v#uwg|Ǟ.]u'pe!t b9̢'[7gNsZus.m`{_ 0+>y~e3q1!ZS儧IdTMk(?BcM.{D}JGHיdYm+k~seFP4Z6ǟm]R6!;)h F=J0 sUcH"2kj!NZgl0!oVP wKj%[ \&őO?ݡ*1][g&V:c@fP^>m*G]y]DC/D3zýZMdL^d5vaF9 i| 5V4rVSgZA\U]D1*o:݆W=&+uJP>k68`p[vb3H<8OjҨ^JSkqeu[O|Rܽ +^gmK }&}A<9ƅFw.L2A(AH1s@Y7v"0%5<,߃2ΫFfKwyEk0iFH?1I fpmVC-Mi7Fak)$ /%"YsM //a*n;Q Y@@+7o7U 6kʈ1*4j3x'FZ6h g.rslV3m5rÑ_ G۪6wxi,OD)3`v<]S$Wɶ3Hw xvTbݲ"L`Ev l y[B% xje`, KJy]oyY'P: }q&ZPf,0`\@'osғUʘ.U7%*2X|GE&ca,Myz}:%{]S8J,35c):nB?!hvc\[~2ԔDX+ߛUJ}4tUߍt6ޢLbK:%3p%Y+b$pS=аHFw^wqf9Tp^0ijpjj2EZn;gWM)-|ŁtydG?jM^zeFBQ NNoPƄܢ@YTE-=A*I4cxnFv\c&Yߠ# >b SfVBrNsoWD2cpx-^vǜjѱeQrc +ø(' 3z> ɽQN}DCK(/D̐ d؅*NwyRrQA(`u L=<-Gxe# (`jB-L/]rW/\6\JK *0:j`"#gESNrZN⛃̡[@s#G/TE:_ 9z;]Sw(X^V耴) $@z=+z Yks]rَuX/0-etۊt'LQIjWw/L` kg[alX᧟rҰ$Ie8AK 7M Ljpbyzվͳ,I+A VAcj^%P, )(ke3gώ`58d2if~ bּ툵fS/O]aX ufy[|ExQg6AZj Vc?LF9n#2vy?[>)y76iu\]0?lF1TQƔDpobE+6xR=ƦMn:N'Td\]?8<KDȅI6V\#BS^482p#X1QML^2,xƯ'/)V㺰 .V ⇬>D~!2űliTƼ؉KD=R 6C>#RO]4>ۗ YZ