From 6fc930ebff61e8366a5abdbb00cf7dd512bc3d05 Mon Sep 17 00:00:00 2001 From: bangerth Date: Sun, 3 Jun 2012 17:45:29 +0000 Subject: [PATCH] Finish step-15. git-svn-id: https://svn.dealii.org/trunk@25599 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/doxygen/tutorial/steps.cmapx | 90 +- deal.II/doc/doxygen/tutorial/steps.png | Bin 94716 -> 88187 bytes deal.II/doc/doxygen/tutorial/toc-list.html | 6 +- deal.II/doc/doxygen/tutorial/toc-topics.html | 15 + deal.II/doc/news/news.html | 14 + deal.II/examples/step-15/doc/builds-on | 2 +- deal.II/examples/step-15/doc/intro.dox | 10 +- deal.II/examples/step-15/doc/results.dox | 144 ++- deal.II/examples/step-15/doc/tooltip | 2 +- deal.II/examples/step-15/step-15.cc | 958 ++++++++++--------- deal.II/examples/step-41/doc/builds-on | 2 +- 11 files changed, 728 insertions(+), 515 deletions(-) diff --git a/deal.II/doc/doxygen/tutorial/steps.cmapx b/deal.II/doc/doxygen/tutorial/steps.cmapx index 66bc3f06b4..31b62cfbd6 100644 --- a/deal.II/doc/doxygen/tutorial/steps.cmapx +++ b/deal.II/doc/doxygen/tutorial/steps.cmapx @@ -1,47 +1,47 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/deal.II/doc/doxygen/tutorial/steps.png b/deal.II/doc/doxygen/tutorial/steps.png index 583cbaa611cd26dfd6f5f4b0ff077c6d728aba09..eab5fdc358f41d9651f2eb8e2c122ee735bdeec4 100644 GIT binary patch literal 88187 zcmce;1yoi4);78o1w}%n1OyaBQb6fOr4%V?DMdoMq+3K<1PN&b2}$Wqqlh#J5(1l$ z?(V#E={e^;-@Wg>sK?L=b3X6peQemk4uS*LZR^Q%Sb#zp-yk0 zP-iZlI}N`XGrkuE|H0Omm6kxAApc9Q&UlAHT}9oOxTE3}zc}pZMqm7HiFrnW7t!X`edY5sQHrmU8I32axHQgd_%n4&DvFP(oZP^c#~ z5%?$+Ct+L{777&{osb}6+;Js(xhh9ByRXh0OUKboJoU5BWmJ{6yu7^m=&zO9gOT0~ za`F6YVB?V)#=%8#o2>q)vJ5 z2-=KGJT!0XyQg&_n*4z*IY$%|-R-F`X1d$X>jvZ;*ej9)D6i;l9y9K5_}Za`r%+Y~ z;(gCANs`2@bJ}33e=tYYEoe8zlKOVv-I=1jL^O__cNgw(6oBV;>WbjEQsUcSMI)C5 zJ=ZLn`awotB(?F@zo|z$9oGgcBL%+Dg8QeWj6mH>pS}-H?kl*yQFs--3;* zdO2i>d_$^Q$tH=ZV}{+~6ys~BZ1+h)?nfRxi4jC*7w-qN?L zH_f~pVNgvy;5iVXq=0SDX$(w+MGP|52zs6yN2QaUhyB#_TMj8ZsLL! z$MdI%266lv{9?{x#o+Z=URMmIeac8 zsy<}r&=j8T6t7SsPfJ@vhOI;#owRD9zQJ2l>Aoz=}x5kk}n|#9Z)--UKB7sZ5U>3xc{OMJ5n4*bJix|6T2)TM;gXseGWDt z-S(QLi>oc>Esr$`d^AdJkb9BwTp=Vbx`~qi4V)A4`WV{z{-i)5_M21~C;s&5)508< zO_VAW$lX&9eG2$;63SU zW@D7d_t6)k)Alcu^POCz;P{y?M{hRv0{L}7@r)Oy)4B=J`Px_05X1bp3TO~rZa`u>=~I^rki*u6#dlXeueXxSZ;E0 z+0Fj=;D+N(rJwXCLjLbr(tqG4|898y2QD|4B1EB9QJ%+pGs+4gs_Q>}a0s!nu?Z+{ zf1IS>TIf&WwTLB3Jw>jhqRQifjq<8gRxPm{uJ9wEuD~z`Q*ga5^cEU3B|(kNlSr1Y z)Ev0Exv}q@cN}#uOWZ(3*9%ag#C;DBH#(Pw$~boPc+C3D54M*CJFy~y?08XLxF-F1 zIzePNNhFy!Y$}IE^}n6FCv}<~Vmyk4<=V9`Myv;Y@4kM$%P#rF-I@m%rKnWtuw*(| zY%*tcB`~GfYV^2~)|1DT9{*d16ANIYVB3WwLw&@d>bmD@KvJL~U%?wR!I2gvzHDrU$hynlZ=yEp47 zLRQI|4+%=P%QXj<7Q_V&`V_)WpSvbdHJ4_3Pt79B*jFM$$%!?q>P2?U^=j_3N!vFrbi!5i`nP z5%Z`LrtdEJn$LW(`J(gZOW7L6kB>ap^-7;pK<+|PRCWlpki&eoGK0?KhX*z55i%Nv zqGAd;KDpbZ+rAgbwigGA!h=qcBDr$MR@m$cWQMI@ckocU4_0!Bi1e8E(V1iEFFkCI zYL55Ks?~fQ5qG5uq2gQaHOZfk<)Ng7youc1Pr+x2=~2(fvdVHX4v`9qiwmGapMk}V zOy%d?=VLPC7JbAWiuRTT_aBpFH;^+N`Mh)qQZo|tt$s^srgn`_lZ|6{NWjC?tt)f7 zc4fM>;qy1xiMqq%me?|ty|}K_2v)tEHMN7=2kLrmq{PI}Hn~^L>FU@+cJ~SEY}yA&*KYxA8%YpicN65rTT(HRWl{TJVy^3hqP_*QvLvaM6aX_Qk{w4U?cfN@eJp9BpL#CHLX zKB1grvmo5|4rt>(kc1b@$pD_awx`#6Sip``*ih;`CLM zA{;ZVd2~h9eDmTe3Woa6lGI;s<{k~mA^*hOt#G|<_NiBpO$XRNg+dVK#=1|_!!RN`jD`SrquVSNAew_r6=pOpyc*h~G^8bP({)YilSXZXx;)0M`GnWfN z^dMVlWT|Oy7KI27h8hfl#;UhJ`=#f(((Td~id1Qvur2)sqlJ+?*T;`zyHe|hmB8xP z220F#wz~6u_;9oiAYJzbRvD)Oec0^3&4#d4$-F^F2vY!nhQ9KFF zlqyIHzVY-cdhd>TwfV51BfXiT4RWd9r}1f=f~`{f1tbzdfXClEADisZJE? zM}4|noWB0Ej$(f0;?FWKLlUKmMO7;}3cG;<`+sZ*z3zd5apxMk&YS4+G%RFIbuz}r9f<3qik&Ch;+ zWUUWiaZahV<3@4IHbqf6-e$;tr{Vd>mFO?Y_SKaj`Cga2L9R52oZc+?!ZO(H2qY)_ z0(bq+J^?LE@-O>rjef0sGrQq&-yk2K;YnRVPDWVb)rG!X*R5W4*5f_EX2XSsvY|90 zEXUzLe*7@`nGRry2QE@H0hhezM=&LH4s-F~|Cqu35AE}R>++`nOi^Aq{2qt9>r<_= z9u*EtkBMT094(ur508!}#>esAndOG`^9r`^4c8IGOvfCJd61-+Ee zlxI=sin_YGJ3iP0OWUpPU;T;bH{)^8SCB2bR_{m1!NkP0qv!kT)#l2m-i))CEu4}U z?%dA|h3C&_(`a|r)&fF9;s3ilua7-~6HUIm=y0IpIBak7WpZYQkczkMZJ3vA0nkT9 zC06x3$X&)Ugne163u9k=$S!!QzSbHOlR$|}+OLdMJ1h;RiH%Q8aJlVT7h*5_oRFPD zks20gKw@6*CjW>gIqO&t0aTp9{MY9Xb~7CeVirA_T>#ne<8hdL5XkXhw&#=byBl)F zo~1)e01CeU6ALh2yLPA2Q18y2FRQ=nLy#P-lSd+24=u-Btr~$#U`6{R1`s3IL9P(1v zD$tj#MSJ-2k(0S=UypRz{OJerY7$2!iNVrLw22D~4 z6DeZD9?mk>sRHm>ym{Hq#&C{rNE+mn1=uzf4}!3|&73G7#)|=I3KNcgfhG z7o;X^m)O@My68`lKLZ0z{z?)yKsO}m5F`;;OrjJ_bN-L@WqzEdYY$00g~kJ^=>J(RrG})AQt3Xh@hcUFT(yke>-eTAo^CQFW1e`R4t330*(`z=9{(snVfjVYi-r z_kYi7+2NmCd-J*Mj}}7%{6CKWj`Jy`-%Me|4eC`8{`*I{Y4JrXNgj8CwBsOUeq??} z3vxdtY?P5*R}7UxaNLPud%tY$4Kqbe#Ju0)G|IjCwSN-H17V2Ih0=)zdE8t|>!VIe z5xKKrJb%4oA%%-?nU>E0Ki(Tc4i}Y(OL10~g6Q5yf7d_v54Je+L2>2qavaHH>u9phe#1crPGNuP(OZRS?;V@L!m?p=IuF;VsleiAH=@cd3~%sja=88aPut znaS_3zKbhEN2R+r9~b-Qc*`OqEhTy$I}=fejg&B29Ns;OV%K#!+Ul=-K`O4K+B-{u zLebp#FBV^TSp;M%ub(jJ|5Ks*4~*(xN-6Bt|NoaO{*$B+6&Wi`d=JTAy*crk%2K1q zC?t{o)YLcxgRyx^Uh`kTL?o43j>-a4@F;Fe%!K_TXCnljEo!~iOoJ_oh+b+|m{5@& z7NU49T8Q;o$>V4G`hbnoHiX5?AvTKpzVh=MwQar08<*SGsH$3huw02xaUPAJ+RV(# zm6}R48r_Ct!8?@TIAYQyT$hI2B#D28|A%E+^s)c2<;rNSr;Loh68&GyABamp@FpmT zm734j*LRWnwHCx!R3xYVH~+6+zlJAapE>ibp@D**@NejNb$oPygNwT_YDH%IQL{y~P+EL`;p#)JFbLc~&u;zD+>gx^Sl89-iWkvANrKlV;{8I~8>CLgx zNb#prrnzA`#)3Fj!UfHu6vfB0HHY`;Kr2>-GgxJ3l#ibs$j*5BU%8v;rdjEgL45eAxD^r;^CX1=%_d~PsxVSj1iLKL}-8SuY^7`oKSt$tlv9@7XUnbz9vZ__f_ zDm^zNqx3Gjx?D{p(U0NPND(GuiKXIrA)@JjPFb%MKAtoKIiCHGOl4KugbK?Kros9n zy<~o*3#*hQNo_>6{1G8d3T4nTwEz0}ETM@l>_x{wogB>03%8Z5Tx-%IY+g#?wD#Ye z8$f3-@g}H^c!0i8)u0B+xkVt>qw4H>h|ZJjmHGQGk_<53)-v$=a_>~ypJ%u}nEZ5d zv@uM#CHW}i3J#hCLB<3Ht0HHX{Q*Xx{MvY3P|3oZ@X!CTmc9(K6b&K@(z>mBcPY;@ zGBVB_?rnH@ct{bR-f2J>rLZ3%ZQ`wGQqk->kBguGRy8aF8nC~$5K1kyy)){`=R$^N zhA<`ky(?APxb1ycu2xxv{X)(5pxM#>)&YoXWmco?bm7LE)`I*TA}*Vkg&Y<^H^da1 z{Om{&>P!@=Oir$wEf~`!QB?(afwE>OFE6L{JY2(++mUnVUZJEE1Uj+1yPKy|`Iyb~ zXsOsNG;g6SpF>0UYHmnEPoz;`aCpC-D5S!B&^y`hFL>6tzq4}kjaUH#p*S$*GS3YRB4t?` zZ_W1t0ZQPr8VRG9-rruLqNNpkQs)H}m$m9!n~hye4s%#ik{HaOY{bQEpwO^AmdAC> z8;8ba_5%o)3&J-rh|ssJ4-{sl_T)HTz^>GCn39^B8saJ~tsYPp+?vCDv}SFEb-+Ih z51XwSB#i5ionOh$-Iy`|>D&%k}C@3KH#E7^$n49Mi7fDF~X<_#5Mms#yvWhz#`-ZhJ#gJhb;?Hd{ z_~Lso#lg;s=Wkzf(SyaJ%*@Pd_g?2{7NyTizjj5W;F3~{q3z9|3ZT=XLCdH;+8$!f zud-bo`vNRfSX6XmbaZsCwLOLlp{p>3mP0143gzONhIU!H&iiq^7GLY@6P$X$EEp4= z^g)hC3?K3wNCjELv-zJt{|LygyP1hXk@JJhZE9)?(uw3p=Z)!4pFY8rezNKSzd&if z820hwM=&@O+JJI~?_@^rRwPvvcGpt;o3it31WkLGh$w^{%%48}z*?gQ2BIJ%^LfA= z6lZxkIT4%jSFCE@*WgU8(?K@K$jFeEmeyj6611Pc&d7MOzmPAObI{6BTMTUZafxY? z+xq>vP}fJ8ha^NXqV5&Edw#SYmoHxYQSG_|mWG}U0_m(zn#TG1)vL);A(WlM8*N}* z+Qk<)k#i=VoSHH;GWy=ou(!8&76*s%#*MtkB`uOORP2#aQPV3cwA9qq#+`|>CriF) zP2(4pD!>(~_$-6rCos^~gqlXo<8Ufk528V7ZS6@@7(F=dQbkEJ7C846b#3h`gXZv8 zuU-LG0>K0UL2YeC#+~!Lb&$Jp2x-gkgX{KfSSx57|m=Bn*Orf+8YE zyK57Iou7@`V`1Tv5)y1W6`NT}i#0YIp{b%rkcuhA|k_8{+OA6_AgATAv+xr^ zR8e=_ob4(u=C;tYmXLU5dGNB;e(_hqkX0?*ospKNx-FFF+R!d0AptwZ!hZ-n-mEWY z;KMzfVN+XJGw3#CK~u42dCg5t=&xI%XrzM6&dSHfM^8`B&fd}A&v*U0#1Of*ii*LQ z42ViOdbJ)P`dk?~ciU>DsxDdF%wM&SGKq(XhzPth%PDCIQ(hz&#|xifAe+VL6)!!H zJxSLfr&Ots?(XhQjPzL?2wjS5PoF+jQ&YQp_pXM<`_NDYsCTKUMLGCgewOjz{(V4` zAQ+0+&qqAN8L0L2baHai*Vhk?bJe&P5)?-+Apr{NHmnj1uNoo^=?TN+fXL@HE7e}gvn3*FXy)@Jh1_o8p;9xvI!bjTLm~8d@sGC~Te|{**_)c0WEs)~a-v0hE6yqZIec?D+ z0>j_G&)gtQ5pmtV&cJZ?%$c4X&5cNPT_~V*!H7uopNAYJyM5Mi@z<@JH!VPblOnW- z*mwbgMt=EpEQ{rG%&ljyLqj_uj29ZatyE8J{xwpu{VODiO0=a$rb}^&5pPwHi0|P}32U;7z z!7RjRMMXu`JaLot^>x7)vloep?dCX?YtiMXgjY!DU_YJ*qLcrfVE!vQO8l(+OH ze6aDa?8Fl8u?pG7Yvj35QOAH($Pdc|}OwX1?bW_#y!%cawL&>GsO#D4aQX!{w3;bTL>M zKCLK5zW`%hk5B4s&71{2A7caS8yiK1g`lb*9UWm|VGXRzLE`CvIbdBe+ev@oP;Cv3Uy$Izngp*n>r^_pFBUXjaka3qu>s%;Dd~!9 zc~(}a$hJlZB@Y3$;N&V1JY4zFBZ=z}P37c=-A|5oAkr0Uu+d8e!;{LoCf)3UPPJr`Rx>M_*VIP*qmxv9N9cl<;A6gbh+U`ckn zk?g~V!q#J6FoBCO0j?|j)>nCWR9#Vbp_c__j90#tQ^fYTI1}s|%vS7h)#oSS@lORY z2;UGen}5@Ti2XE&h319CMkd7SMbU;^MD>9rWGsXh?Cm5N65 zb8!`cqj-CJLvYVfNaA&&L#l7+l7EL=05>4a3RJn)%RynrjPT)QUi0^?HE9VVt_Yyw z8-Agz%KoKlvs*SSEKHSR0yG}tummATwW+JXO9=4sk2X5RvTZM_szSc#f^rFXUquQ% zwFAslUDug`jV;IHX#Zrd(-Sip9&;WdFh)sNSJ%kM2oOS2k{*QIyLZ2aGsr$%tr>t5 zwx8=x3xusN1YW0}t(F_e^P|@Dd(6)C~fIlLDKFX44FR`&KdcF;C?%4Hz7B_B1fwsR+%< z$pJ?JC+V~A@2WXmmz7ikSFX;w@-Z`$iH&VBgl{BsoD&iop~$8pDdFFN$w)|q*PG}A zQvm&{96j&Yg7kFb`t|2liO{9;u4}@H7kpal7ux0-AQ=b~B$5EK?SAyKaa)nru-AE45-A z9G%QKFH*n_9p<_l^b4+EzkWs3?boc0FqC-fWFRAg|8#Ai1^y?@!?P7CcFgI*#5e@V zzNBB5ii`{_RXCcR`}vRLrlzJWF^wnFZ83mtR7bZzB#3A2R}R?O*~RggO-GnLiiMl` zuU@?>C^(3}@Buc1o<0>AI9v@JAkp6V1|O&toON(Y;5^0dUy$@IFTWjub5*6U%6S9S zJ1CLQ%sbjvZ*&N$WpBk<)qL9jAQgPMD_^fRi*{yn?x$LIFEe4C?Klr}yMowJ4@6(+ zxkS$hExw@^;`@4bYtST1qH$(xjPOxRl z(0lhtm4}hhc&yGFDuj78iW;P&ZX0q#r4|s0ArQ13Wqe2A1A8$*7cel$;E{_LL_H4C zUH8i4x0{xM56x}tERyTFb&ZamK*X_Y>4L_Mf)}8*sYR5VtHDPibPiHu=Wr0 z1g4=ycu=Sw%FSRkhMWA$h$nIbT9KEPUFiAr&L6r=-aA3k@i<&-oNkZn|D<^XY7A;s>hTWk>N0 zQYJnXZ?M0=MyYvB;sOoe8-TSyt2#t-ik2z02f?1>ZKWr=<pYCYUDPS$w<-2nk` zg$}p)E$my-EiElsz^WkA{QUVd!AYq*6|_PYQ=o-FT5f8Ul7xZprl+L=5bU4*fCrO_ z2X?)%FjVPib!27e3YrO@X%AA3?+`J6_^{1~P;?gaOmKl&#n25$2{8ZIgSfEPV5o04={~F)U);8Y5 zp!ePgzV0A&O~mn8(OkZ~JD;8JGQ?hnbU{tEc66{0kYAypNsNe?^o4=8AZSQQNg-$n zgsA=e8VKajGLezwF*ql!3*{GoV7K*i(jIeZ(RB3m2_C{SP?GD|sm`8UDA zBw^5;32FgfZH(VF07a^`9!C%h1=buYBDaPeM+eMHk(rX>aImuz5E3SVCd5jRmt~5m zS+0w>)UP;0NCib1qFNrmQvh&_Y7nqMd>W~+&z2>(O#u+IJ=;}pSq9{=viJ~#Z;0je z3043s*_2S+KQIt->Dt%YAytWH(o85kQ91R$1x^X!69fI7?1DPQhOJ~oHp7Mqz~f2* z8B5}vG>RQV|JO<&_1!dR*35y$^k%D{z}9P5yd@?jB{f+YGaIcr`W`|RLLfj_1L zzLt=fNJC9+QJ`T8a%n_FF|0Gy&sGmqqblH=A=RhT_J&4})nNPjb?{?=_gPziUf6C% zm@ipSgJeJ71zg;}e05@eG!@t$KE>^CATFeairUWI?I?ki2Qe57zZT?&5$jGW*k@d4 zXJ?RR07%0Y0YU`5r>aUgb;i~VI&-r?H3Ul9pQ~lOcpa{y8^`$3MA!fqZ211YVtE%N zM^%z3AW<*6){u)z9*=q)SddfKNCbxxx(cpV@qqRE6A9D$RP6WAQ+n; z=`l4@`(G3@b6yL*&p)kJj6|Ud2$2Nv0sv|eU{D412v8OlJ_L>0dX5Fu8vCsfEdZ@s z5S?KvfKr^EKhG2$EoFT8{wiIfZFbxxaNcFWRWdS7fY?J48+@6l>f)gQ`Zgj00U6*; z=_f(4MT?`gwV?Qkii*D0^M0gS0-_y62?&xxcGJNNY61Y({n<1NzuC(|k^09y!iI0( z(964^YamK8gdLqS2@_CY{&o~4mI&+sumhk?7Q_I=Acs&AptdqX=^=@ha%dcAp%27< zb>^~ZqYqRgl?zCdjqU>v1&D)P)8AP8WZgW0ZB@Qvcfxznx+{NO2{F&GSJqc9JsyCx?mgZ9ZF8%07!Mkx|K zGf-xw2hDYuN!*AV931)28sF$tyy*H}a||JBm{>vh_q?i#DpYKiC!62tRD4SmaXpQN zrRVhfY;@kEK>!0(08z74SwmgLbGB8~A-X|RHkVFrx;d&-Sy2&$l*qSlFH%yPmJK0s ziHi%$IcA&MiKd`Z!IWYCmi8$N5aI}MaRE-fU;}!f zK>>n(>nc&$#3*uz?j5;Nev*S1kO&YHUbVc6k9h;!I3T5(Moph5eT%FGXm03AXXW zhY#S2!=In}bQML|?+iNve3LFS4%nIRT>$>nYn%%NU~Fs*s!XzeCD{0sJsqrsOpPzVl6(Mh=VE&=e{RL~**4Fy^;}Da6kuS0_ zs3(I$5tWc&vB_`fzWduRFag`6t8@_Nh2a$%NhPrJ z4;$U`Ho!{#Xk407^B*eldR6||KHK;Qm<|0C*C(8OH*pbiTwVl-A};P#spH)ZL4*;Q z;BP!95u5G3zZf_yzWt~H-X42MS#>gS6i%%fMdWd1qB6(=y%W$ zhlhl^e<3oaz)MtAabaOk`&@k}7ob7}IuzjQ5LeOODyZ{7WQ8u49~-4su=POZdp1Ir z2VYNt=goeODvd-dB#8><*na{&jVUlZKHj`(UKQykguDpyt20K@x&@oF4RGPRckifp zOs~@cBzq_)H(X>K+I25R8CpH>-hJsGeEAj~BV*&NO$(p>yh`P8-iA=;mNS)u3B)$= z5=bDu#^n%hf|?+rZE5BOgD3_fPZND82`MSXZE;daZHrM_mTOS3$eBSlas;%Oh}hVy z>MmwFx|i->@=8Iu10)D9l~l}-G9mPCa$zBR=4gr=xP{GD?go1=NK`-`7fLbEDFQY; zH*YMh-2pY7=Ve0xxR*cd?A>Hyl98A1lNWV?L!lN> z8D9GMY*iWO-Jqwh@9bQGtrEU!)Mrh>hz*-JFoPL6kKxAX*W-6{aX+0S>K{c(**v(O;Gk~LAtk)4IbwCU}& zid?5p07CqHeYXJZSU9@q^a7w4vY#jU%X=wBS|j20&x%dYr(R_Ppxz+$N-%clpWPWW z%degRIkRe`10o5Ph`R5?czzoI*z3VE(&Tyi2_{=7&7K1(hDerReNziHFwlpD=;+1) z*#Fq(D$kv04242`jah#lM2-FY5ug}=5^F$C+UFRCk|uNw>xPh8Fb@DY$u zp&)7l3Ab_S!tufA3436Z7F|}5XFR!Cd@sijE5PY*LLP(Uw0zS=cKK^`e04>#k&V=9gOA* z85w}NB!QWraeeRwh-r_Do8I=$bS7C9XarZ>6$F7C0$Rd?9TZ|6Du-A3IIY0wfg?k` zh4bU{1j$O$-=L_3(0sfCpwhppstW3lVA_y60W3gn27%(pQC~0!x@nJ^>^Lnwj`xhg zQkh!*ya4tEobmPR*SelZTZ!vAKZYwE!OMcL2y|zj0;mdzS}0X*w9qif|8TXQ5X{_m zvI#;C#TLQpB``~5&w&Bjy9&N%tpeZ%pcLOqQf2_&r}`Jl`}~>nUrH~Ll~2`6z|1UU zk}Ekj+?G&od0b{`Q8rYvFb9)AL8qpa+m|+hFFOBpiTg_>BoIcf#VPd0Ka&8dfpq+n*1EC=P}UO zXbgB*3g3ErQ4`<}bS8{uo>EbzhUz#7C0lxq>yyoQ?%aWzeZS}2ZFpO72uvHw78UiJ z1V6{W=N_XT@zzBy4wkSoFi1j4h?F!E*lJ?v727sFO|DjS&L;y5benuJEs63VgyK$U zaPW&Q*QNwBz+k*_OHg<2v+Dwc26=G?1{_pS&(mh6`!3r443-F%)OTEtM(=_XCh(X= z5i9`B<*^vt1bo^5G&g&HB2*0eO%OS*oGMUN6~u=^tp;E_5fcy@A36bT%|TApH^m ztf2t432*HH-b+&7$u=c(A^< zwg(NkvYxAexe_4o9oH-J)}4jQ6gUFV6G){%Pk{T%MzJxov2nYw&)DVvIkbEdK91_m zM=`{_3?!1ype$@1T~cdG+q(_c2{IQL@q%zOq!?MxayGIce{h1$h5i)~7<7t^jOepa}2OXyi84l36 zVMrHn-h(`Sz|I+y+#V?*d|M>xdOm>ulH}y8tgNipu3h8iE;i6xMNna4t19M}Ssoc5 z1dgq>weqjIIN@lLO0L)lMXO(+gh){l;^&;K(eL&ei^hH z2mH0}`*}^8>i_Ho$Wb$cbPltHBmpmHA7HLNfuIC4um1g-irxM2E2Le6CYeakCHbKV z2>O!1JCJuU7~1zC?kotyn{@fen@@jL#^#glv#y(JHG#XVX2%vUzG>gIgf|5j!efF0 z11kW=E|=XST3cIFB5COCwEFt$JhsPEjuJ?sOH|v?9tdn6K!6IMWazq}G1+`91T_Az@bGTn2Sg@)Ihqjd55y+gnK2?} z?8JOft*h7+jBvnCnOyd_bn3E(_N>8^(VJwgpydAorqt9VgOx<>FcHER<=SzBpC4^t zTtHydnW(eu(+sbuAmz#7?~1Bh0G9F2owLq%ZMPUK{ses$kfFORaX3x7uP^O92W3Yp z)WIGK5be&`zr!Wx7>DDWfh_>uSZ4w`t{4Uvu@7QVm8J&@snC^td_;_ z5om;`#K%4K1_Z$kdzg3Qf38-Wh(J%Ku8GBeBcbQXLon^*7zH9 z14S9f1zXTK2SikFf2->x>f6A;0Dw5>@c_mbx;rgo&?^U}@BOx@UQ_!aKW?C{;K+#5 zj#0K5q}5HZ3XvJ8EB^O#xgM0w*ZDjVw65}$F-}0>)uNwg_a$)>HHp`?n7l({hpUpRl$c`=FVTgxBUG8 zln0RM!K&tJUz9_{I@p|3o?g#RVFDG^c8DtiBnGe&h&$yNfjD4za{}$09 z1v)q2vVRtApumI%<@CF9krb%_>w1cY%i|VvrtNcJ3oMRFIq5*V_r>sSmNDgq@>sKO zWp&-S7cK}v6?&iQL$4{%q>v-jOF)Lg!MmJ%(jASIr=Sp{Wl0<)6I0oMjsrm#K-q+? zu_bibWer`2vwH@YLqGzdmLv?Aa7KE%OA8gQcB4;GdQS}1Qegy6gB-++a!=>pk!1mw3FAQ~OjbJpcU9NHh}e*#XCE;E^!n8+4gg}xKB z-mEE6#$pv!DDbzmwdH`!*4!M26pHtb;_*)0IZkp7y%r8<#7+VrjRXXguV+vTI|0~& z0MR*8Ampxf|T49;?WoN?JcNsK&C2Z!djuzMfgyE3j!M2ad%ANJ1(dREqK z0KfeFyO2&+fM3pSPK3@e^6}cOme}>*AKkvR=oqP>Rdg?%M>hcj4& z!q(-5%^e-bV1bZ@szDkAF|BgBf>lJM8d#G$n&(`Lso^FnZ<@71sX<;KeBoFd=^vvJ zMsG^9@64nWT0Uo4)4AeiQM-NVMG3s=Ka)t6)l}@0A6>L}N#j`SWuE1-Ada4f6eyd( za719{kURiD3(O>UKo`=Z{ft4aOl=AKZmW~D+Le11GEc*PwRoym(zEXz$PYM$QCYr) zg2f(7^nu7464 zr9FX7#CZH=S8mcc>>8cn@yXJw^iLIm1|io-8rE`b^1v;sfipmy0q^8;i3$p)pdX}{ z3#Ey4-k97Tn!4R->4=Htx$R!@E>!b1anbaH?Ad~In0r3hmuRipx?zi`IiDa+mO(*5 zl9OODP$Rkb8c#{p9-IQq2Wfo+AnM+Fv+QF=1|;Am2+7~^aIJd8kCUo}LbI8VCQ!%a zW(SE9;UWi=x6X&9z3TFpct5Iv^A!8(Tb)84ABtO1i-qkyO^;H17rDMiu^9$Mq=iR8 z=kHGAHMzm%r4d)lvXuj#eCMeb9dqEyDspzw6O{iOhBVH`e^|h_v1u z&H$&k0FV|mTxh(5f6&v>A05%(AK=&hq^2*N1RL{r${FklWt zP{b!&@VuLBmVek z4wAo$HtDrjDrcfwb)Y~FO*}v_f93f$1;Y(hv$M}}aQrqmH@^n(=!MH%hZg?_^73j= zbzWV3qy()$j<&Y3T*hxw5?|h6xwm27GAHKq4P3PDWT>UMa-XSE;e|TYWbCoioF|+g#YwCQ zKcCh{U28q-@q2&@;}m?nBuZO;gf~Onl|rycl{Nc&2)E*`fA;;%r>N*s&b}k3)%AOa z3Bg8cyIHr)diM_wpwcVA#%2x${6&?k7e0|FDWM$+)zqwQyjN?*!fkArn8ZVA7JIfC z;44RKjxg!Kj57#60rMh&#J8x79TwKlZYzlhMe^n z>c&Iyd|i!#(>j&Vm|ZwMX*GBT1uc#FQ1vY@o3JehkxE^APhyG}>%92y>Cgmjo`JSg zrKj`6Z*x-npN&Q7)}2kpv8L8I_YJFJsw7qL5%cNeyVHK1&C}w-H_Y$llWD9mRt)O* zU$+*>iP~+B$NJ?$mS+(b|9Y;HsPdwm>C+bZE9IwWqBPvE+*}y@!F}%6IX)19!EE0` zw#v?4h!(QSrsCj$L!l9|J`yBjmv9q)A$BAq>iOo552s~3B?DEy9Qv(4O}mZAr3-}g z9=BfjqIXd~eJSql!t#v@*U(iYM*HjBdCQ|LDYx_Wp7pYPYfQB>mPuRP{5Ib3s}!Hh zSihAFkLtC0{*Pj2ef^gGvRn2nZf;{UGZ}A7)B-A8&*h+c+{1PrxZvlU9{29>B3V5{ zhE?Q^RcDvX`xb{Ab$sS^k4HQm6 zq2j%TP;Xxd6~8sAGbz=6sDjJ%(l1kK?nK#4oG17;u_x8TdnfT6 zzR_4`_Uhv4q$g}I8Yf5I%5-_qyzF=~a@Bb-!&98aU4kZs5s$bqC{>69ZeRM*FQ~VoQ z!l&xAC2}Znb^l|FwHcm1mg15UYLMYU$b@3J25ZV`3A(n#kin8u;<6Wb%;-*jh8l>Y z+SZ=N!xyrvg?z+p2ZP_u9frA?5>R^N7PTdL6f+Reb&4~-5j zKkj8+9Kkm>7IuDFVSnwSn{dV*EMe!b`XLetRi|!y9oLE1QC>csxy4$GS@h!f+VkBZ z{Y+(zz38PXe(Ll2%lP8CE_tz=k7Al z{B4<^zwA}{sqmlIj*Gc8#$`WN85T%Er^{7nVuk{dIhhiTkWkKJ-fYV4<5&FLxH-JP7VvsZ+T?X>fzdffkU^BHU`&r_jZ*T-nDdM$-V$lzXqMd*tE zX8%EV6&H=iZBSHksk1kBxFC);PfDqlg{A9bbJWgjJbnzX z?Ks0{VtIa(L2}5=v`VKHGDi&+2RUB^Q_7BgeyIAsXSj5GuuYQ%a5!&$`0k z3W3?4i+o962l224f9!33c9Em6>b#ljZL3&#jW$6z;G4w5xYr-AV=8>L%HBr2BA|X^ z=v(c2YOI+!UeNbx{V(>2%m9OAMr(4^+w+TOv^8?2HRVqS)Nx-uk3Nez9gey%rhb(a z^%notDQZpjqKDM;^(|*yJF)8C_499WytZdwp^W5r#tPuz%%u(QwqBsH6uI|^a>U(h z>EX8#EU$%Tepj3kodI@|)vc}e*481k4gHXBMBCTXwa0-yDyXIoDUHj54&Oq>#wVLY zPqyY^O4gGy&iJ2R`Cjt~kub$Z8O&T;6cpsGQx7>cwrYrKYHl3aSQo32R&ak8YKakd z;1#srcl+q-7%$*sF~sS_>9F$s|KjSs!?}L@_wiR!i9$kFija}LQbvMME;kQGuSLNZ$_e9vd^`*R$>g2db zA6-hEWVaSK&mVqwgEIM+twV$T<>YrBcjjc>_{)y!{j@nOPNNZ!^4YbbMA7xgzExkA=uOI|+~{QX!Z zY9A^B_KdWLJ8#X=$kWvFyzr7cv*CZyx%-vw>yyupw+7HBO4F=N#kka+ljh4{Hvo5>w}APcQOoZ?Lv*4xF6I9gSU2RxMBtr)ARa=7t^HRf>)9`(9-4bTgmM~!r{>YH8!@!e=a=sGUl+}T_k@eSKfFq##>ZP zT`I#fAi%!Dm0L&n@oi(r!TLlVh2517;XbMNjSF5I9uKuo+cnbb5G*PtmI&RYf8^9V|Q(BNXRcbIC3WkQT5%paRUhP z5QwATCJz<)N25^0UvTcfkzu zf8RFPt(dqYl6)jdT(&;{YMS40^cWisZgIPY@ZV6@wMNXkLn$BayRh~>F)tne@a!g%46v~SWCbHqpuyHp)opl zPN3LJkv`|j#e|=A(7=I^lvQ3{esA!4_j9UFaZCU}p&%zGpBs5{I#+smagq0rA9`MZ z^HQMf-n)XjGx^aYl=I&5&p$o6wR^XO6Tf%FtZ$^&-}qd+gV{?>dfFBtE#F_E(j%Cdz*hbJNcf| zAoT*{Q$zl;$8@8f!I!Sa+=>%k@~FeEdEvXQ>*3KSfRNj2b*hg!gTYO7Q+S>2hnxHQ zB#s^X@c#Y#!9l~+{+N4>3rD$GI}b*vf~k%s=lQm6+rrpnB5_f!jgLaUzR$mTCi&3P zWzla#MJmiicRmCzynP`mA`<>p*GPMQVcx9f`U(#z;r%tO+gW1QY+~w%hmG&wnd~l1 zkR5fV6m=P^$GeC2#uChp0{9T39|Bv0ueO0lMrIX|2nkJqxYMwNlateAf5ZAuQ+0_% zRW67&{1o=TeeQj1i4R!Hd~6`{YZ$Ps%|C(0^m{ z8!+?5Me|xpEg*NILUA`&rnD+4tK7e`5HmHg*T5%e;@Y>=e_k0ZHY+Y0Hagy=VkZ`% zDuEFM)(M;3jlSOADBN{0(IJ_9lJTwGDr?C8zT7mF%yi3h=?^`xmprB~Lta~%&+#c8 zqZAM=?J=cvWLTW;IUp2w4z2}auVJNhF>8>Xo*w%^_Ta&jCmKtAB14Jjd@e=a%Ick_kWArP5B0BuQrUkFbbIfe1ADGEQRL3tgMXxPfvJ!d_2b5 zQxh1?f+?lMomuJ|8EONP3@i>^+}ysQo&NLvOS8L--xd~zOGURo1b*l*a`3P{+{ls^ zu$6}W9eDmA441n81fn2`b$f5OJj|KUD{`EUevhbo$=JXT`{Q{Q~TTMshj=+XnAdpjv1^yR1h7 z?-yY7XKXBtnE<4=;Nq;48$vbucSzGas4|St&%aMQL3O6a>5;sb{e=s9P1`Z7AoEF? z-W8-==CSng&K)xDxF%|KDHd))!Oo!}8OR=Zc(QssWy=-=g(%#arvynyjDw=L^ ziuWCMQTRS8C2aN#7jkIA4g>*+e~(!yD1K*~WB?e^1!cTFo~vI2zfs{Z2NEue z6Cyvr8JrQkQc{)Z=ZVXD?fp`Vail-`i`XwOzJYN5fQIqEP>T|XKfbo@((l=R0g^RW z66U2gq0cNcbnRSSmm!vjF=Er;9kRUx4k5%?N`{8g_{_PUGrAAGsHKZ$_g><~hqX5} zq@OLf$(yTG)6zPT&^q-dQ-h5<`_*Z+%r|(uYMHv$49#@vQU>oqt6vMM;cc(i#tc;2~Pn_quF`IN;!Nn`AL=6e?1 zNrXDQ`Y;yBSm{8gIF?XFsUL4)3Z;?cF2QwX`0Wl;r$c&C1H+KE*r0g$v8T z)DW6kNINlnE0OLE4BJWS)7Y7T{RT)}~jlJ^>GC z%RjkSyDay{I;OA$nXRTKz|SxG=@u3a>k9#yM%368cX^h-eFNC~9y=<=D;=aLW>!|i zzn*$}dg@ZjPoW&~fE6kh?>1^ST1tQ7q0~WXb!&(88hU>G`+$!ts{nt1CEr;76r}4M z9TCCN>qk!fV~F4Z&0oP75L}?KB@g^#iC4`oS58lkPjMnjv;tPTU~Qc_HzeiC#hQ3g zsjm^KmSA3MLE(>?I-k=Jx8kP;#j0wG^T&cEm7}(k-@#&pBzFaGpshBfpfzA>i1unJ z*s#!(ZJ}a>ocEFCPMv@aza&lW5BIPr*kL7b6e1@OrFa(@C0M?58+T<<8r69$0oOu> zff*KR3EMK<)T1M}+Nz6J0#EJZ8c=_CFzi~)V5xO;$%SuL`+8iAjg6tVYWUBdL7;cH zCIeT5Dk%TLdS$4F+FrkA3{ocZQ5gT8vt3P zJm(S={E9UJ{4D<$w~Ep|%w{i|r|@Wy)1@hcqX)@KKS46Q*O`G>%taTZ*{Wh@wok#` zy;Acu0P<+ZzBqmUhho-k82%8PzgvGjD%&~w{hvPdLZ)u)qWPD#<2B=Gb-ku%W-yp2 z!195Phw{Vbz_VILSyt)U+1s>EOG$L8XsK~UqJRR$&Kg7-dIt)QjM>B^SNY@GN2@NU zzdTo@S*GJ5iuxh+2xcctGOnKpq3HbRm&wUSgjZU{PZzDMzF|}h&m9|UzF(~k9UYn^ zv7K|eWgLfSgOtHz#5e*A;4NkaLqdVHimKLYV2EHWis^W;(+^lakgO7efCc0jpE~s# z1O+en+~6_5H8AD%NPnyRJ{M)-cmYmbe!bWH(YN_}_O0W4LkS z`gK9GXLS$(bL_H}nMG+U{%r7i_`o7fx zS_*newya0ILnRYfg7@#=N4!Gr&OKYs^WWD-V9t+lBXqVbV_BQrgbcz(Y0a*6C!D0g+ z$1n?N{^i7y)ze@b+TH$ygb4y9jDDfZ=IPyPgT*YNiE8oOWBbR*(`^!*5vn;|QyS5Z z`k(%zHvh%k7AUlm28xtJ=&Ya`h<*P2d2z8Y;uZFe z93YXBf56W!@xVza)U>1YshkOzFT`^amzxgX}jTv?8J$AX@1ZfH{5Y&SI zA_apsru^8Cus2XY#MthZ>Ur}VHX#Fs7Ijab!cD^M+qBN<)29*raD&!RmwiE5ilRDV zhF?Be*n!Cs(8*-`zZ!T0%1My%q|EC{|NVLlxX>R)N4;=`Vy4_5+9Z}kEetrK9qIQ& zc?X*m5V*nSak+fi;@_1UbYXxlga!(e{9rRqv*ewjDiN-jo8zSl%ge7LW}y_l_}}ls zCEgTcZcwn!E@^z4FHf~nQvZ&vf-pQCf+|1rlzLqQf6sZdK{R4E`W)G zhY#AP>Br(cKYeNBzK!KQ>Qq!zVB?&b{)(d_q`T0pvQ3o6*09~M? zAznQ4%k%Z$8mCW(5wC&@p|`Qg%3m=xE-ucdn51&Ijc`Rm;|s0}{{$OLDF3dfTVp0r zO|XfW-wp|BM_7{hbJB-4!KL~g3^y3}hNq?S0&YMpk1mH`y)l2Do}CR==1gG!8>`BN z5Lo`xKww+(ki`~M{_2MHgMPN7narntWF%?y21Snu2B1)< zuVGTCarC&M;hyA|>RZqtZW0j@$??2y9}=n6ict3px;lh;?14fF=iA|LJZ|0;*Z2{n z%qc7^Onh`N9)ma+*Qce4X6{?DYEoj~hfoM-5rza46XoVF?qJh8{5Z4Vr~jtJqCuH+ zS6~Cd6Z>DH)e^^*Av=Sb9{cO8jYRNo$KX^ey?0Qc--4U~aycOa4>G3ExrULe1E~4> z{CmZ1b|4<6`FO~(i{Ds8l^}df;97DhR1j(W`brfCro15vJ-C0rIi4A|yj3lu;@ite z#i&}Np9ZVwbmZIH+S)?#x<$COqy#W{xy{Ca>fJOf$4e;Az^P1tKXd76(RRY#MZfOx zY&X*C)PY=mFys0Nm<2N5BoPZTgo&5;0dL9ty!yJdb=Sxlk0d##vAwSc<;|9A7f&zm ztCl_D^|8X{c^zFEElL#7eKr7ez#uKPu+a3I9(o@Wp`Un749+;lLXVf;{)gU&Xh)L5 ze*qov5rTJ`Q?T0OtDw5>k&e6bXv@a~mMs-+FAVBW1@uzUQ5MOVet|*W(A{zr24b;l zs*i!RR1i)6$dd){jX!2R6DC4~_4O&7wRiSFFZu?Mkekn}|I`qO4Oj{{kv5S-GtnRy zV$ZfRJM2GKu<3Rd?L&r9uginEPkK@JTGhpe+h=3dp~Qsrk!Y5)kqE73%Ukh@zn;CB zedMUj*#lQC<>Ar2#jB5kS!TQFdB3hlYk)e?`1b zZ$(^1YYZ_beh6(Zku~;e7VP>?A4HSSKOn;Uj#k&Ava+(Ms0f@vA@_H$UMXi;Ve_2} z{V-VlnBCaLNUZ>l&s|S?qfB!J~LMO)${KEw8IX67J-Ex8k*I{4x7ul9-;}>CK_Z{EDg$bTS4>O#{FXtJQOfFw?vGvY7QXJ}s;Dab*~C72SR_oIe`(h)J&%$N$9 zie+Q8*u9lUP_PhxkMIWxZUvKUZe<_ufQTdCJ6=s=<6&r@u{+8??=7GH2$lm$m5Z*_ z2+Y7HSM&*lz#Y<0&`BMr1Ea#j_tOQ%Pk==C(Y4xB{uoH=h(6X8;jytcs4^lg&+0vm z>;&HO@ZrOiq?Zq;#Rjy%k>MrLvjXu!?+$XLskv7_4qCy1#D{vMt%W* z^aq`fKYNw^J%puKq#Xd2aJZ z<9iPhfd9)fva#EnHoq+@ts;CvUM2b~j-$99D!SjI$r(YMBr`V@)i55t){A(+8=P&zFyC0P`G`k(v4O1)v7{$hgsE3X71$9|QE( zR65bq^BR(g+NkE=6`LJn4>KIzjw?2_mSX^k)MaY$rzOhm{t{!|BII-UuZl=Xo#Bs( z{q@iq*#RYn>){7)PN`~WY))D7l46N>gnnwOE4gdj1sP1v@vTUykte`TtWQ0?UMy)0 zzRFDZ|Jz>=`VS9?^a;Nsin{j4X3PjPgs}Ot+@!0EOO9#nkGN*QSZg3!=RRZCRf9wg zF^uo01bY~?qEEz5sh&Q)EoEuNQ9@*hu+l>nqMI9?z&nUVh<1SRfJZK5WMp(SJV|j> zzB!Th`+dnBl2p>zi})%t_B|Bjgin2?TI!K8m&1Tr4@o(4&{IBr`n3I*|Dzm1kiQ_a zM;|HwykMx5Ga~1nniL7eS>w1%PFGei%wf%{TvGM;)2 z*eB(}J^*Q(j#B?XVyt7O^M^-?iN^7c*bI^IF~TH=QBGC$`;zFuw<6urfSylRsv_(J z#jH{A@IQEB*z)RC270K1KD{C!7RZDEL7_GVbR1B4Lv>OTsS(i(B%Y3yzh=-mKLiVw zS&%R*IMN}}pJNpj7xx53pz!W{%ADJ&seywY5ir>GG7Y6pSm~6xL5Spz$JjhKe@KXn z3*1oNPrGBEeBE5nCU-Di^GcG{_S4>DkqjQiSK+iDq99RBU2NAmk*aMpf9iPHzGIc8 zr8>q}XBE>UI}xAEp58F9{BTd7e+}}4SYflG-+2@k8g6cG&)3)TTna2Ce5MPgUxyr> z3t(jr`#d>m;HIF?MVGre_8Qd&6wC2p_>aCiW8LG>hHl@v6WCkhOD(98hoT%wxGBF# zErUqh5dc!U3p>M_Czd?0C=^pmUS;N^<4V4u6~pTHn{M}|^JQ$80%-P~cT>m%rFrsM zL`gn)xv2anTn+=yMCk*oJo8%4G$sUAc>w#RR)EFZycWNrf{*o z0*Vs%wl=Y-T!?J|ZptioLqdFi=DLy&LbWi26O1AG%8!+K&^w;3u+_1sf_0VQ&}VS& z5LNU8dwB2L$ck3r?!hq>Inbt=l^|mA68&I^9E-x;raw#$zwf@OAWicXU@mk&EXR|1;}}1CFSK&-(LctJS)thuG{oePE>RW z4Hzj=+WGv)<$L~suTZ^@BJm0j3iGOOezuSp?&#|3Iy+F9^ym>P?`o5I06XYZkF%bS zoNaCCZUOZF%6#$Sou)5EpT%bU97f{LCc99Bl{gpm8;u+JqzJB@+Lc0 zlNP!1Ok(O!(KoB8#6%W|7{^l!el%Lvd4*8#U0lv=>FbNO+{uyg5sq2R%n2m7h)K>( zi&HPR2rxTewS{U*?0gzi*6)IMu{qRXAqkj>Dn87y4b2UwwSN2{YO|oAOEuFG{j*Q@ z``K0q-7YBBF1?+8FD~bgp1z;$j_;;&<#!~!{!l62Wr>s=pjFflWcTAC2A)$X|3Sr;w&!sGqg=__0-*J>9!@nTD=&e+=g=^?YW18@-Uz{=eUT z+*;)*;!cefH5s`jpEJ~#)@AdWZ3okB0mH>F#U+nVSbl7t01b`IWtuj>ahIa{m0h-5 z=C;Iw!ZheO2z=u9rh0}k!+J*5L(93J>-UdwIb_Bt@}HIv&PuRL4Xj z+iYR&zmuhuos)w_mGT#f%4c`IU_Hs)B7ZZ32gqahH`n?wrEDwt)tmjQURBa0hi8$i zAj`ZV7k3%@kH!W1+MRruj(6pI{M-b(SUIit`rU0`7CC6P3747XsF!>YkBKJV zw(af6W>TQ9loKsGHOcEwn$x+zKUiz~ale=MRc-d%Mj9hCyv_f7L^CLow5^_2Fr|@oxGOpBCUw)LWbImR3|FlmuUFkh@-UgU zJI-nGM3cedc~{eG>dTk+U90u@PFZ`cVThTOD5(_2UQ%iEmiJ7Gu(FeMsP1su^r}C-D`2gMmoziO zB);|90*FaFm|wa}`h^E~Z>qSxcAI*Pf{W}$Jw;`{Zm^sA4wpSf+eC`BH8yFCNxCq3 z?5NwePQJDD95=@iMYaU$Ao@%Br9x~^&yC0FRXt&BstH#gUt?utZ^{zI0`Z(X$Xd!I zBxL)ZZDXBEP7VWCKmBk?a}xcfcV~8cblJ$LAJ}Sgd#e7q!ni;*cgnWE)Fcm*>}Ge6 z1r81G3T>V-`nHqgLeO{yqb#z*Vh2P9wvec|QEQcm2aJjt_^tKiL>-KXziZbE{?554 zE?*cUBi|MU(drfz!z_CfNv8h1q{*8T9RFY1&h33ZQOWCHw(Qt^zr^%l?!ciPOAcJR z;-vjYX)FeNN;l21jJ?_X?&c;^H78q*-~F9$1@%t6T_~@7Tx^Zlx5aA(a*+?jnUX8jHm zZOThskS}I7XOIjx>7_ir@$9+b`?_V$5g`T!&h*>k405UxSpTL`;lIe#>~b6evK}9k zzg*Y1dH2K1pPB7hQZps1?0<44>y{*gBVrKG(H-@bg@S{0o9A(N#+fDGGdv|?7U?WM zY^Q|JB3e=80)r;Pm+}<=eg7BN?oN69m}4H{#$UACZWZM)7y)7U0)8Oev9ye|73Eb_ zeSEStAeSHow*c6~`GE@(4&?B- z!)(?Y)=ub;3JMEvew!|}>14Th@$=T5dCf1=fJANrV56f4O|x}c2PRd{@2YelC`Ok7 zRW*tvLh8(&l>p2IvQ6 zU{rt+4@MTjREXnO)6=ZVtwY{8FHP^t(RieP0&Oh(up!1f0;)aiYy=rYoE#l7eqM)- z00bO`pwefW5@$Z4JO&e*S6=?SnVC0yrqFSNu$sajGDs0dntZOfOHu#CiB_AJ zdAa=PhC%23pWfp9GtaY!7=aZIx3=1$UHS3j2cQ_iiD8(jLSrrBqjLK60+c}TV};Ap z6Ew+fvxA2QNilWA=PJ&$+5q`MKPULL9Pnl_#*cukP@IRbe|9;H3p+HSsF?Qv@?_wC zHk^xqMjIwwAxH0nj`c(cBmDnPoIYJV*G_mc!eno0VE_32b=5qmY-nF{v=dDIy_?adGg+XF9=` z$6sz?4|{T?@3 z;EB-?pcpI;h(xgj(ZPiVOQ0CO1{eb`7nt>$%N>G=e&C1NQ-ZHW) zq!Hu~bif~=5W&g7K#|~w(hULx?1jtcr~oU}U<`@!*%)jtaB^|_3NSgN)U)GLa=(f^ z*J^+FThkIcqBn0PzEJsk4fWDHI& zy~)^4f^QWj_k@a{#<6|a_@8I!X`q%Q98fARBC?25nW0XKgTtp)0-jU2q}N?t!tQsb z{F3r^J22r>q{PKrUNF0-}w9JX(adzL&Uv?4v4^OPJ-r9-BWhA1mv;e?w=s5k@i_ zEk7kM66dGklRkGOG`J(>9-ZS#g6h<_c|s22%8K2H@s-dYlW*B_-NQqq_ZGBbk~p~z z0`9hZhp^h{<*S{{&Bw6acJ1Q$;=F>f%jGLq(AojS1of#s_29@= zdk|$X?UH3L#*me01ONOeEcj|t=g~7X#H@f2s-&dEO{aFE=*F+bRK&AKkIut~tHQ;| zo_WOLM3zynfAPhf&$F{_pI3+|*Bp2MD#S7(($e0)7CDHw99k0Y2(a?iq$@^MXPRX2 zn#=eul;n0Jmaid%i_mC7T8pSKkF?@i0lTotu`yEp`}gOw%+?6&EGw%%>|(rUdiDbK z|L!w2HvH`S?$ObwxFdwnppcNLiT0K>Of29EGc-K>?D|RouVveW5SO7wSU9-YOxJjgWUWShd8%bz^K!4$WE@-m-hFfhTP1LJjs zF9F0;ZQoM#L;<#IX5rOG@%5@^zQKl-a2V+5>#MjYuXB|~I@xlkxU~@%9bx#(MjhBN zju?LJ+OCx-NCo57gBZ{yP<0$)xPX;EKE8{d9&7W!iBUz)2$3&aSecoZJY*4k z#>U3rz||%JdfywmJ#8BQ#{~e^OC5*-AWt*v4f*QsVt^J8>bK%#L0}cCS9=goOhkD2*q1Nub8c^eF2Y6-yT~Bx1w5H>nNV3@KFmf#L$ey| zi11YkU|lc!HHZiN9%^{F$QJVRCo*}kraiYkt1NOytZSnXz?@4=RMcWw3+WFWUT_QY zx<9>xfk0661biBjh|9CWJab87RK4jY~|vWmd@Y?DJm&p ze2Eu?B=Bx@ln5IUCg+PlNyU6jbj8lf)VHb|SpAJ})2aFS?S~BYE)y(8N`LawbR+r_PIz{9t>Z2@HG~B)PWTeFjl34h z>g%$Po;4iD3A)xP1j-<*J*T`kb`& z!FN{Cv<{$7!aI}Dniqa0M$~H>nHd=(G|{5%@B5JJ^5#UY{#vvE(-4u?z~;9M$0rSb zbtzbg^YHK>Z|9Azg3l*zBPxgUDCFeiZ0yVt=+rN{X$N5E0fw3yck=RD!#ik~Q~buw z(~DzG5)%%Xw8|)e<>lCu<{uP9oRVPm^ar9pUfMj;uw951_7WqBF<)qa;u&4^53WAc z!YD^^{+Q7Vp-{Z~#H1wg)qwWNGk-G!Ou=dZD;tEYI`0j6VqhtwAMJ>=>>+!;aZh}< zmEO)#%(}q-K@os_iCB#iA5%^+!P{ylP>Dma-Ei-S%+aH;|7jVf(ye@Xv05P64$lUp z6ad?3o0!kF#_}Ne0Luhy%zsmGU%!9Sj>X#Oa$iE68XG$R7OBAc;5&H36%`3ZIpgR# zBktdd@Xf-xGxp}@C0LNaN|lvzc!zKbMhOsa2JjKIBsmyE(1nOxe9dOF0}L+5Pc0Fc zvun>f1`$$GZeL7eK-`MM@fB~+VUhyh;)GU-jrBjy+~>f{?u5Ys8VT5SwY`tckbpCg zl$cn}&7YU5FM_EAjVS3(^snTUr26`|W4J==JuB#8T&v#^6Zfp=a}c!t@|5qrKJn#? zK=0!M4^V}`RM`X%B;E1d>`rQeb|^*I+QtzXDc9 zOqgUc21lc#_d9fpr|`E7?`5)$&=kYm2B`w)+Gx)nKE#oz#n76C@)SG@F;m4>l?xbz zz}UocWG~<{Lr-g&YK;H4Y}vvvnzM|NLR*y%9A9v$)&slN-yoEs(ap`wWME?A{ptGx zi358L9YBm{MHL*>P;%zAB!GEGPIRtq?~3Aq{6Z`OX}r<1=Qsw3yjQZt7T1c;Bx~1$ zy=N7Y!tC_)uhmtwPsF&`AnZ+4Cln`us*}Cf`Fahohij0s;KT=0K1thd(rq9D+1a1r zS*9LKTf+!uu!A$(B#f@`Aj=?0=CZSDzqHVbq%rHZr>UsM-iLM8m_w z?l4@4^!|yV0;uJP-oXz5=wmVnt|9-GW?`Jkvz?r*I@v=VIeD;nU%AEMC}-?)Fj!;0 z>FHbtBV0s8+sy1a8hral4HP;`>ZhgP2qr2n9(8r{3<%o#cq%x=87tPIFJ}|f65#6+ zj{oR63}1}mP$3w#YVhV*psDd+uGZ= zjk{Et2$3-I`SdB{Ej!N^byZatSJ#hA9)!PXTI?Clj3e4N%7`PsF&zM1FH)<28Q$GC zDkb2R1U6iDaY3U2YEG*C{A+&lmjuqt2-5nCGp(yh&|i^wY|Xdw$` z?BGA#u|5u3#O#l0m;h35-=1ss96ar3aPqJ;H04xY;gudbbiVFwTbug*Z4P`xIptUj zVm?R{_I7q~*2=X}ap3?rw938&WJ;*I$@Vqz^&lfsiFYFVFpT^{MTp9SzuZJi2M_Yi zz`#1hTnxJBTwTR(V;Zdgmkz5X;kSoXVKe$a9QYIY6+8ONmoG?Wo+uBotVo2Xo3nFq zVPU5-8+uZlp_#LsU1I`&21FfH^=QLClwR1TCB%~#%kW~e#K=$H;ok{}Gl$S>Wxleyf?+uc z(4nh|MyrY!IDc-anmW`4QR6@Ya1>s`!L?tgp16bY0D&4F0RP*IpTWyVOXKbyyU<+a z=-=Lt2nF-$GtZ9Olw<)4qx2*>q3}mnC1zTNOqQyh(Ymxc14K z+S=#POW~vq%sSbqn;RP^K}Q0c1LPLe1DdaT`uho9J*@gC&!1EEiHwQ@^az67Hyo+t z>1lgQl;Z@S=n%ppBoysG$pD{TMQcJ3hY~mlBPlSu;NRDO?e>S7tL@Fr1TROHy{n-C z9u&kGM?=z2@ucDNg2E3p^)1Qnu?QN$D6F-43p!jS8^Pd8ijU`YH-C-D1d9qWQ&&Vx zlDgNQI8`pJbV*Q=TExPzNGqYWDJ_-pUa!Lln}!BxEm=3raexLOD&uS=o8vs}Va*wA z=*1DeyuCN#gw4)8BUOWjZ3*rs_%>Krpgel~{>B&5NSh`f9q))$A&F$RT9j$k5DV** zmmJwdTM0*>rl!38n)FfNb5^xH0yzi_S^HZ8upehX>V7D>3+e1>!3cU$505H;{}bp! zhy|A;MYu$NUO}r|n6ougcLo6T`1Hfwi8A37!5o+O`i*`R zL>HU=3+VRu!hsaHDe44(e&rDf{|8?c;gc=edU|_tGUFr|UpGIs>^d_wX=P(WoD77T z9~Il^=o%*T>R&|;D6jDe42cw964R1B6dV~EjN0zGNH-E-34<+6I8e?Zn0o*kmrw3; zd&BGLkWB}s=Iw+ghl>}p!})}{`Av#!UftbA$<_l%2hI{et_}2k?*Zk+@;E!l39BA* zm%qO*H!`kdqAbBDIXgT1S2P{+KwAa>M}sPgZlIBfmKo{k7c4AFVKbEG8$cKI2{i(q z7W6ZM5272$AEJz>f&U^3Ph@CMgj)N`g5O{PAi~0uT!4f^()j6($HrRTJjyZAF^))l z$YUHo&mG`q?Z6E!59a~s`DMK)KVazP9tLIJ#>gR@t6zdUkZpI^}Hj$Ve#r zPQ#lO_T7!|S))H8m?Ov_UqUsrj(V3ksL968*c!)@ED%g=Fe9;UM}~*_^M+7?4~>kR zGd2c0kpD*rPmH>tpdgNUY{vbz-*7^m1&F88wuf`efLDX^yjpPh3%nWt!3`U^NZsv?53kBEH(u^HPM z)ctW6Y<&_uw=}pS)8d#w=#7s@5=Oa(Ka1~UVrDidu?bR+jEH#Q`5-BY;Lb*4(lDM|$p2Tz3(!&^Od_(SrgD&=oPylQa-$eH8l)6ko>TjY zL`ORQr#Rfr!qRq#o@1N3R9kpN1oEXfVO@_Crg-UzBe@zH(h(&)#H{&w7(*cFr~xe( zbtaO?=>)OHkrAw{;k@cU$hK%V~czW5F*XY&Z4+L9V>*4hi=)&GeT*aB3=y zFXxea=W+VV-_eAQU7&-vdI7pW1R0)N7>!ch?sJy4M0biH$#KWNsVn!-)s^c4zf z>iOR6FiX~CYzIU_IMxqWI_1BO-Gs8@1%?8+_lj%1V&GoQ0xE|EZyYT7ba22VKxTX< zP%?TZwuN`q6NK7pX#(LHw`Z9Q6bAv-0bLymbm$TA#UmhGw|+Y>z!*Xt@r&ODVv9Hi zAfpb3g*Xrj5e|?|M}xK5d22_Wqv} z&}IPoIa!DEM!+ZX1h}utg^3~fc`X0p$lH+-R#w)Pg*9c>g*(C#q51jwWo65Fi`A9; z?>Ty8r>2ghU;^A&b9rKGQYX$8t3xSWTYFSU?-T_zHE)5MxVn~ARe2z|6Q$LIxK$3! zG!OwtpWc*?Q4hU)7lz`K6T`wJYFs===z%ViB*L`9$G+jg{cnAFHkK5 z2*v_5@%(`#Uke=%T2LLseg;BoTw0m{n+kOEIuarDbwfD40M;+yMIPBZ>WQWfa3Nm9 zxpU|6CVYK;N8i00P7J=XQ!G-)(C{ZJYP>CciiDIDV5-M8H7rA^f7G}km=F-4A|YQ` zi7{{Y4S&Hw9k>G0DH0_Hi2Vu9VX=|~xGzZzH*@UA8 z1_oAQ#0sus+GMd+^a(IqC?k4pB|fPHRLKAOyDEM^a`wv?lo?1ro9bV_{44bap zoSeHw8T(wpWhe82wTyS#rB%E?BnaFmV!!EEJp%&*AMCOMWiD!b{W?m`;O0 zfNLhDX!9c2Aj1Iwzl9DV%>MK>btR<+K%l6N(I&mZiDAlVNOVY(H8PPV-S6K0h5iLN zoF=>&pzb7vTk4}VWm3<#=I^aT!0rhd5{L3l}Ev z3)rIJyy_=U66cTS^cl}7T))1GxE1c_MZ#en4<+p0VBKOn2i6F4+}ZxSTnEi6cI;_2 zweiNgE>g3f5#*2Js8gblqoTsHJchuHvlsVMRWIFXw1ghb9jORCcyE8dDF~1X3M4V9 z``j3yV5T6<%NviL6#brdGR<#xo~Y{oYHzIsF>5UEmS7q;J4Z)1S69nYBP{sOA3XkG zyhFHGmz9al+ZeFRdYC&qZ-CnmyNJHWS2yGIns47az!zz0QIKPO*l1Y@gc-3G7U73s z&=$!$!T^Oi`Y@TxAIWvAM>;#5V8ab0dI8`~P2Ml^s8&McgY0;|&I8A-Z+t}D6+XW| z$_xi}fxe6CBQGxxyAgpK=ak_;@uPZ>@*lIl^ps&J2Vf$UGZ5b4fIs~+XP{jN;DA#g za|JbKaMC>X2ci%51ujEUQWF33JC4NLxf6fDE>@itjocL4(Z+FeU~o`8p`)he2+*cO zEjTbrlP9Xxit~UpWc;cxX(LoKbaSz>-(XJn??=@=A}^1B`GXGX99>;SQ6~+G*c7%Q z_@Y}|PoiAunQ=QmM{yu&-!e$sxZi^~LIjqmwze1!Y9@&Jhgct)UdEfo3c|4(hWh$A zEkN|};kW($41X$~p+GDII~+lZcp5cs2q2tWPvLzd@FxCaKTIqvbkXcV2ix3y5ZMY_ z1W)U)i_h514D5Mv?$)c(W}HcfG7m*$ApQM@NEC<=Xu@q9FFI-8b$tY6(B9Lvc>xw4 zTY2taYl{;kK<|8oO>T5(0Er*g_&l2Nx9^?%#tEi{v92!c61H(A{KW0R5CSL5V9VnN zfB4`{&Rp=-X2$wl$xACSZX~?3y1DvRYt=ZFrcB6GQITww!C!HvWIrlK z?gIxV@Nm#RUo0QOI2phb-Zfqo`hnb{qIFbQXjyTZpAmBH4?bX@mqeilM@nC&%6 z2P|$tN!QPw9m3zEOrVb&TbD&mNKHj`6LVS+F<_`K!YYpQ;9g<3Lye4%!2$v1pfJFK z9a{;#FDg4v*G(i%9=-GD*I^G$v3>jaYqF3=ItB*J>ko&jC>f4)fo3x?HYS3Qh8VZl zaO=d0MwkF$R6&@DLzDU!RYz{_3=kf?XjzsMz$Aj(YF2)J$h|e3$b}ubKhsS+0s#ro z@DK#E*p?b5CPa1xT%Z;VdE>kwiQ56JN{y~{aIbzMd63a>Akp6Er*Ouf-2YiP&bxe5Fs}|~%8>*U`8fc(1(bb0pJhp zTW6HIiE;REFe>1jbXWN!5GZswtF!Z1v?$_P&}NVhA3d53Swf(f2-X{j*-z0HVj(`c zs%oIE4S~UM^_7bd*DP{TQec7MCrAJK9u+AHyoj0lz)xGyzXCYw@9P^Y3;{hJYaBTJi7YRNbg7k%%BLV{LZ{HeWsUTx|UX4yl!T|@8c;U}( z9Dj=e5JFFw3f>0}_wWg3pNBI;DRAdtxs%Ti3JPkWiZL~PSiAK)-WK5UBpg{%MmyZn z!h7h@A#9^#>u!!tPT&z#;gzeLII;aT=Nk-| zkSigF)6(k11+qPF03Yx8u+ehuq+T|h=|Q>!EiC#&c2-)NqM_knV`FA^Ctr2L=;$aA zxRVF45TV>Y!hfU6x77;K+SbmFgL~nZG7<`AL_P}W0j6r?^iZ8ZDOC(lwNIxIHK9l{ zdFILdr_uTja?UB7P64xP-CWR=JmrEYkROrUPS*Is7XWB|&dGfjOO2qeMpcDz3L?0b z*ie5z;k$L`%7^vSJ~mbmR@MKx;q2!j6?*djxBwfDR@lkxd-sOwH)@|blhr$8bgIDZ zH1IP(3TSD46c)dIdsRSnE!z{2+2OX~R(kMZ$szrc+!h?KWKLUqSh-w#*rX!7)S zb`s@G5=B{Vu9}GnQRK)D@T-AN_g?R`y*3QD4L*61~a5ip52ZnYhM}HQ}0f1TKU`8mr zj){q8b}uB;7_{KVuXogsMW9?B5R?ZD zQx-1;Uc;&2Xyn5Tdc3#tLw8;cyQfPpg#clRCQtjBW1Dc;(fNwU2H;c*1 zjpDj-))qfMWs;~dPZaaMeV{8TbI}2b?`*$kgnfk`26r7X)C4Gb$8z9$dkW(a0tze& z51!U89r%182{k!dCJZ^C*}^`{?p@kTF{1#=kckPK7~jCl61+ zz-aDGY&HynAj?|E2-!`r+^7IuWD$&a`2S5zyafXCBmILzp(s5HHM zCwuJJKGra_`Fdy0JQA~}j4h`@&4)(-hT%0mv@)dILtMr`Q5wNx9IInn(xx6Xg2d+F zBd^asG={1JH@bk~gX(93gN5o8Nnp7lF6HvZx)-741>X z{bpxwu@P%$=dijXJO>YMY&*!jN@*Vv3Q;t9>xe36}r*8%4vRn zub?^wpgj0_j{&x^e?S140%C9M#t?P^GBRC|6=*pN@8#GFONZtF*;G|mZ@LZW-`JRi zpVQx^JJ|89W96MYFHr>Pls3&MMQCYgQ0ZFG$d%wlOq7^eSkf$mJ8h6n z*kxSF860w4@aT8#iolNOki}qccw{6bD9A#)qNJk24gIw0T{zj}G|CQaVah%aky%2k zi%K2sC`d0&Zx+CEU}Ixb<$4490v?iwbbLYrK_e$IiQAx7Wn9?mpR#-C)6^7MJ$_Xi zx3xP$OGjsy?+XP=eb^B;zj~!_XgDD_YlimyPY*3utRaW0KWD>^gFD(GVY>#ozS?n{pJs*df4Y zZca4q)OVD>@vWt?aSQ3)=&1kF&M@2y4vGL!&C>YO_dV+nR{H~aui=IUUyvGkc`@=d zB3*ffrfU})+dYZu%-$KM=SyxU&{tt4pk(OnZFr`vbyMDZeQt8nKRSQhfiD{RQ8!)> z%*)ltd~TnOEJOA}ivX(%^x-NhTN5-@mU0(x-n93+CvL3~MKl*T_tEH}8yo9#X8S@h z@5G}U?C!4e`XjYb=LU^CAYVE)X(7$tC(1jnmx3eXu^)79B0axKf!xc!Q&(P%7CgyP-SuCMKfmHcn-TYJG=1kB_OT`HebNr*ze9vwurKr;PwVKQU~sV}dE& z)A!UQ3K|;c=O?heULKozx zECWmgr-;@uZD6-SVbL8K%!$eYMGDG1toG5z4tw4VhO1{PCOG4m{)TFHJcPe`V8wYJI;85(;3j3CIS`_k>{&#jH&{B{ip~8URUKj{Lv}xlv zDac=<^tdki45t|bL#W6|YX|jAjq42nv2YP;5=v*N97J7E3c+E08xBRrA;6Yn^Ebg( z!5Atc?=sA-2vTx=oaj6pPt(9~AfVH(5a1Ur#G0K=J6yhs2Y@Gm5*uaLVS|}1`{+57 zFg!#hxN>-_3*0rye7a}$#ww=bI6$9k4{dvHg*V{K&S{ulF2wD2v3yIpNMzp*YRr5JfQNmnD}-RQW!N9j`Z|7`uw`* z@@e!9(3$FMYl8~hFj;AG=8P0{zg#D13N>HgG6-NJC@3K@@ne;C#Wf#AE4W&IoStq; zj|d3ZdinBF(fhp{zrP5-zqCPR#MUy28{mkrk1-srp8n}T+aLZ|J~Fcno2vNrAU%? zX`v-lq^Z&lsVMC|lvJqDLWr~_P0`e*rJ+bPmG<~O@ALV6`{O*$IaK%kzF*_Ip6f!f zD}8lM5yuWpu&DerF7`lWwvWn_&wCWh0oxRJSsCjOfJSIIaQFbjIZlFSgquq^RLvAg zSC*9$RIK|nh`l7nLwx`C8RuD5RU>Ht!YC_;i?9_@%v#ljF;kIydj10}K=pGcnQUr$ zT3U?p6KI#&tM|DpK4`LMOQ0!GLlm#Xx_wL-;nV^lp*G1r- zd7vouAIL=F zQ)zBS2ybS7KGRKlWp%{s;h?}POfa&n;MmaQ5I$vscI!WkGisSS?%|!Jq~juq)6>%f z;n}E_!4YT(CJg^@EJqQ1?LjH(V&gMs5WXROI;gwXS=j-RHL>3>L#={srP|B|;i63Y zvEm|FVy#2DQHZdqIz z-Z^RzU7+JnXtc#~$Xaz46dGi#2poe*kflXje{l400dZC{7-=&hav=UZBH2iO=-?88 z+_06AYy#+Lw)lZS6?ZQ$6u2Lq;sNgc#+m+Y%D~*b)lv%G1lBxc+a7OuQj(H@j=g*_ z3>M_ zdMD=&e{_yK5C8m1zJsG}%wtmS5tJ>HP{LR8RR|2IQr2L!iT<2p2sdRq(X7 zbo$1|tgkCC12JEipT}RseunyXZM1d;$fS+X)ZW#((O?v_I7H(T`p`Y1b#HBHY4=kH zC|dsfxg(?o(&v}kqel)G5GRu3?}-`#WyE3BKYZz#F^;NzqRGgjf&Qnxbxt2^5!F6W zitKD#{86%L+VE*ZLo1+GPEG@pZrHb2Y@+xmFn8Ee3Pa(glf&o!{W%9j1SjKcRx-jE z$6an~W{sLeTFrm2cQMT*Cmlt#qy6>)VBj&&cKmX@%wyy%i2VVplyc*@IQxs~Nj;Io ziPqHcSDR4Gj>x4BDxMT!xt}mKCkuWvChIx+NsN;RO@juz#BdKbE#SZ1T|aS|qkWAV zyoxxpZ)bk%-?&j;QX+e?P}v;AT+xu>QAXKR+Ue*-LIhAz;j61l6Gf~{Aa*0qQ%&Ws zcCxi`a*Ebnld4^QT?h)QBK4Gx4l@hUaDZ<4*W3%#=#Xj#D#kBzPMcRZYZI;!KRLz$DR}^m3Z3L+^oK)v4sJkLG5wJ6cj2p zGk>5rE6Sn9fi*Jl4@MNe|(t%k#PG21V*Q(aOa0*_6^bMC!B%@ zlJNN0w>jK;B@;}uv-@ztxNUobdw}^6kWfyCgR$rtL&Jm`%aLO7xtplrV`5{E3Cj|P z6alYB8ERpn42pC49#Wk_^c3+iK$MBUhIfR@4d5R~h@>lIp2O$FREL^No%@2a@*!8J zHMDkch?psp`HEJboUqbeeo#b26a6+{vfoQ~nh zQ45>w4`w}n_{b5WBmvI~XTY(ke7MsXCY3gX6ch&Gu3LSJiwwG3loxgf?@#wU2L;gB zn0Mjr9nCDy8)@jE<8nSjN`>3dR_&?F4$?qN7Z*Pe0JB$Z-h3tIXhEU)Y6(vd&;58< z>#@++@=yVx5dua6?+g_=X{TT;2WlR$+HKLH*u{wJK+GuLt!N0Uh~v|Fci}(>@$YM6 zlZBg+k?RfN=qy$(j!QR3M=05d(Tj<%T|eK11OW0ZFc8N!0olU^t?0WVH9N66G5NCs zY#TsbSm{uLo;`Q2uy1O~2(~IlUWMKg3hvf#{!dZD!-M7i{R1@ww70}2!%#VcCF|(z zT|q0>a7{||Zb}L?s1rYbZlV1EgW+(0I`-P%i|Y#tH{|aBUp(L$rsIc0m^?G=-Iyan&l{IAJ!kIHarltl3UXl>l zqtE~6+Q7|97Epe~?QxbVAGiP(MY08hz;yn7F z{OI__>dN83dTXAeSBPQ1kj{Tv*h;+SKZHXN{y2~!a7Z2V9b?MH&PKn}z&`Z4XJ&G% zSFk1Z$Sh7iY$05+-v*6WTfrv*S64%KTc6d@K{EY$T=CpUv4_eEC}(g~ z-w>64LMy0BFtO#s;n8wD`{!^*bas{6kADklwZkxkWq?-c3|i9nTY&CD9r(2C#wV(! zDitG#+X`37Mh6;}OY?u?1@P2zk!Pn}2Q+l#NpcM7Bgs$v-Z`i2QNcq5iT+65FT?hY z3BcqNkhOngrId%V!^zRHlF>=y_;FM5vrbNbaOEREdl{wqD?#q9N!w!5)onKt9Y)K) zlHKA9SKhMwl9KiC&HgM*b$qRC* zU2ok|La-H#w6E<+14m|Ox1m@gxJ_*CUA@0RYzD`ld?S%feGejzf+7@2hD9#pkA6Pd z&~y2p#0=DcH^iYwY+5!xwzm`Q@xbW#pfE!plyL3H5ULI|>8JqkY%uo`O|@FR^XuTR z4R*LxzRfO3=so>c{W5KLLt|iI4Yy9?5#{aN#cQAzom^c3kwA9-`*#u#0bmVuFFHUh zc^$rU;}C&gP!iq*87yIuL?6@&C>;>?6;oUc*C(X@S^4?-UFUQNmIvbxES$O4QKMo&9}6onlC-;7>@@8aKveT=S|b!{PsFJ!%Zi3=H3OM@2Q zMj)S6Ya0R*;mE)jT1fzkuTWz{wh3Gg-A_p|hl{K0(A&fp+KG%P0b!ubeKEj6zz}!* zQjF7~J#pq6en8yrqqukuArBV6&#UJTFBuv!7!xPap^lDv0Gm8>=2~SGIjI2hkWp>J zOyY9+av#EjMeS~K3~I@OCqpYBEhDpWKRxlz4Lb!1`Y^i5J}qD0$Hm2-aMS_hoe{x< z!I6LfG1UlXRCDrBu)AUb;{V}b4+$Y}3Gvg{(D(o$;5+$z@JJ^`3V|LdC~T|;ZQk>M zX`dlnT`&PG1jJJ)3z2>|ivnk6Msmf6*Ka4Vc{o!5E>wgr>fTLC!a0C1NUac8<^gp) z`fA)RD74vGSx53_xbarq0LIwufVTvW2IOM22yZg&*^>hRnqk*LTYL)|OgT~Td1Y8B zV3IUrI1?T`XsQo!J4bwiz^lNq)mu;ZzR6lQ4y@d^#gwKwk}Ph=A8pl#64% z6H+(0dJ_|E-k7AnTCNE|6Itx9rI9TtU;p6)B|Vods#MhB=;)dcZ0H;Orn9~GBsVuw zh5z1z2YP_Za46xp-!7glBxJsNg^5wl&$e)0Y{yuFL|3{sJT-I2dCP8F*O1=jj#3z-FSMu0Mw zK!JtaORSqn>!EUJj`229QqJK8`uZwdyv=xFWUFfJdp)gS!b+lz?8cLFE~C?<%_)wU zIS)-36jA7Zo42_k+5%t#RbBRDs><%eBm{md`Xt>mNc#gtfKLSf#5s*egCnoIdwlqJ z3@^%Cuy43bQ(J-eL-(AI4USJ5fZoA_zn@p}C-2s!AW+fJn4z;VoAg#QPzBH=XBRAp zs|a7<22tYvw6YSDH^}YAX5?2!b%E50Ipjh*s4@jN!*T_8<{W=9_QsLUK!WMhm9{>t=;G9 z=0C?|NUiIm-Qx&592AD4!DvO7>bHr*Sl(kE^bi1x@#S(JP#DB=2_}0{ieIiWTW8Cr zK)(rc40v`LoOI}1=KX#{gNWooD@+H+Q9l6dOH?wTKj8ewV7kJD9qdh#ikk~$GeW7@ z$bT=3M$y{ZKK7!>I$KU4;06oY{e=(^#7d~fO)xL9J*Td{!pKcMxf|#TL?vT+YE%s9 z!0-iXLty))uI>ZajQtV`$7Qk0!HwbM#0QJN`srNE`}dmwB9ZXvW^Elb6Xb%xNw7aq zafsk-#kIB_di2H&AC+?9_<3zNE%zB!wHy0!mSa7S=LkNFuMFXGJX-L}(#nc?*RHpy zpP+!KC=P&Aj!4r>Uck@3VyU7e~-*X2S_H*xRdZxt&F~3-)Z8^X-7wJ7vnoPytN?KrfQk}k>e?L7aD!s z9LXsY=aV#@eYSTM4AG`r$8QidLB0GDLwlt zUNGM)J@h_9 z<&5Hn2TAAGAanl_cgrSMlXZ^Wsf=~o7TUL412YoxFN?kst;%}Byj4cfmkr2a$TzF; zKAPrB2>k5bycYNFfPf_ZMOTu;M;)94Rju6j(|$ZZD)E9R{UYI}9nIpX%cbC1UI*oO zTTkd@^(fm^&2N!Q^fxh$op;>HmifB+3GG}iCFzz$vfw*Tz3jU1Z;wTGw4Q7~PdahP z@;TWn(e1WnN0K@`gSu9avJ`~)5$z3vg4TGyWnY_TzP=vDO_`UMN9@0DEVV&kfQB0- z)H5vh(b2$H9yNi@(y4ed(8aj8uo^8yM^$$)JG+qJp5c^Z8hZc7H!Hxvm?4hR@&#jn zLsyVj(ssYVsN}uNTMIu}nR=c1nN&3C2mu=8)Xcw1(ga);e969)4~vY|=SqDf{j6Mb zzN>0-k(6n!?%kx|KJA)_?PaSm_mNXa9U9e#ZdO(mH-nJV)m@4W9TsX4@TjShcat*B zuU#1UA*x1lX_o`@J%Nw2J=Q)$h9u25C(-yp`{wU-G{S;Kk0|}hkmY^q0ObMK1YRxF%>S|jg{%;zY)o?fwmvT@$MWV zrSH7DWopX{-IYlhFMaFO-ziv8Eksk{GNQw*9T|9JdtlNdFo?AxFXZe}=?^`Moa&wT zv?$b`as=@64TZlRZ95uOqAYxiyx`u*E~&++#8uKTVd?)c0Yb~thc_R(arI-)l{+9jTtZ#0Wz z`K=t++g9x7^)B)3J{kCSrY!1DP&Y^Zf~c))NUv%9PKKs~`9Ecb9>}Yk(eY{qX)4Pt za4sfUjZ(E6emLLdZt3BhEabg#m ze`JLzS%jIy(Acx9Z;3cKgt?^5o$Wfz`N->H^`DF7$Vf%eKr$(q`{D(0*a7ZhqH6LP zH%iAXz~-p1afw8fdkl^$6{x=0?dc>I!$tA;Z+s%z&=B!6G3%3ZWNA2|rpM|%u<_^I z{AHS!PXpW!6%`=ege{`D(S#f)1P zCas`y58u&)1^XdK+~dbdcy%E#h}5KrDk_Tq0OQ}kkDonTh$XE}a^AN>9<8ZnNHP9C zykgnFcz*ia#6in(l?(NrvBkU!zVru_NeD91quuJ9FT+cpe13MByzWx`(oO>Zg2do0 z%3FHgPHRVSERx>zPKgT>TXgduJZV+HlV(ciCRXi9rm#&Q7_76!4F(!+RJg9sIp4h_ z^IOQuIbJdJ}hkE6?e?(=vyrd*B(iH z{^)*)?sw{lhk*0HdVSMUy2C+xvZ@`~?p;;)kDF*5}u+>5F{a3ejrd?r#K`}*B$1SG~!Abt@*d(HIkNne2ykIPI1$( zMrb%Vksj+O)np(9=U6@`dEIOoFDuRy{Gx2u;Whgh4*Qj%6DaQC5MtxvDz|OiIe0FB zEC7utgg&)(b(duxWD2fbT|gOtICNYSkN4G{vORs_0v*92wl5@9)x>0CfFdz} zo=LVcar#c?+&`)>);B)LbG3Me+s~?+QntucDUOrJ&rwU&^F}q*oMbVkc)28V&5wj? zYc!T|b%`vH@Q#$5R) zBz&Zd$W;F{cBx7vPoz7!SEW!=P{7rD2zQl$0Es@&wmmG*sPce-xTNXOQBGF|vLf>Nw*wEinxqCVFx5SnnUo0UP(8yw z*qZNMQOx#d?A_ipDT7dEvT76ak=h4(HB%MK7oj&nIfUNk;iE^lOW6qo9i2w_(-eVa zPNu}kqZuHozM7hTA2R1Ci*$yZXCDxF2$jmY1k^$n6~XdQldD;rDrWB7izJ)^n4I98 zm}CD-k0t=xT*zb>8Y>|n2BtuCAJb^}?{ITx>4QR%dXhp&BZ5glIYc)HijT!nX>I{O zM!^J5US3!;8c{ZX&!Zp&XbYnood>2v6h0(IL$U^iIypHxwDeovZZ%=e4V2$_v(-YV zCI>+J(SC9cS(Jn(tFm$nnE}KX0`L_TF>YPfVcWse=EcBGk7I8aD87HI^IR=UjIw`O2m1p<5V5tGhB0I!qra5Ukwq?q^u@(0lGzqwKMt+$*q4hGfWiV9gg81E%8njafK)PPxU50(94%?m1xccX)U z5qV9hR3~1f;AR2)BVk^C_w~gUjoa_UfLD+NMCrECm{?0aIb%%Dz`y`J8o)MMe#~5> z88+Xt=ah4|L=_CR!vTC_O3D$m?Xb8YbMfDwy_OQ`AylF+mm;8)nEyh2ds2{$y1Pfj z#(H{q)SPcVg5aXvoScwNJ$w4;HTz58y%3#qV$=elbvQ&`X2cM>@R>Y+t_vBbuI_WK zM-L7?eR``bP%}}pkh%#wj$zR zO58`)aQ#&DP%~eHU=ff_h>a{7HMGkRj6mM7@k^(XLP<$U?Ci_lQa3(}=4m<}d5CVk zMr%V+Aie)%)pW|XE9;0Sz-VOp@xCqd{F9uTdj9zF(4Zi-r^kqpGpI|wr(R}-4(J9T zB6|n|3d#@^9KT0K+J$Bb1||&at7m>D92jf~f1oM8dv$$%0BH8w+O4gPzPdUalwjZi z%y0?fY=tnFQ916u9&e4xM53Tfo|XGs_T=D)?8|(6nW*sINR{jlD9jGmjrnZzZe7+~ z?!6Af(M`Ns6sYC}w$yyzHe}Gu0t|py^J1xMI=1NcZXlBN4Gj@Bmav#7`Cn`g?@|Y^ zN5tg1^#4Twb0JkhUv^|23^#~2WiY%ih}u|;D1?G$7ae7E{hH6L3>ST2us;qF-rXsZ z)fe}|DI>)RG6aw!9MG8t`w&Pehh3c5$ht3`^rphVi1{=qJL%IWvO2sI@GzL*|6TXL zuWxysb5!~Iko1?BsBS%In31+W_Gt5=k(rrph5;NvE7J}@23TqK95`@$IL;vZ)7Kiz zJ;n+6k#WDv2DT@`0F8625_%56{{YFqO?|X01RwzslKF)TP|U18F51D$&JNTeJT!Dv zEVyozpvzp1g8+Lm;r@QESWV%bc*9_SqhA`Z2xgO^f&@C~{X&I>D>m%QX+G}uwHX_- zoz$aw-}wMzk`drXu07wNjGzV#-nu({(L_8MnoLAGtWHxMzfmCzep(kY@*h&`!;ldZ zEpgwb)P;ABjg5iTLD*>%*cT=$EIQl@;Oh#ZKeo0OTr>0M!byZ`4`@@)lPBNzksY6! zo(7fu2?q?oSYUfd1i+dEwQr0GLI^#r{r6r?{xOc$7Mx8tJ+54VP8ZfN@*%Y?0YDQd z+yR)3z2MjxiJ@{=LGF!@+g8e}F{{Qn$48ag{$;!pfFA}2ATRzH<(cdCL(A;y9zGrR{>vpukq=^{X}s za`TW&5uuBYfDd8G1iIJfEIVXYiNUk4AXHGjy%)3%Hj#z@W^rk^6WfP|uzG7~Uv@?= z)+v&al47V?a8M8)WO?5yXh}pxf1}2Nd=SH%s$q0(XBjwzVWQYNy(h%TuTjKm;_@&8 zR9#xCfAZuYoW6#J9k34E0Cj{o1Ng(Cl|AJ?L!maOW^TTTHlS7vS3{^~7Vu^2PkXg@ zKowh6wGH+hs<72*CtyzS%J;*sTE&wQ6rd@qygUE05X8`}b~`92Hr?AG-avlr{ZwLB zgSem|Y4C~Bo2+bXL{||y4x%=AHr*crH_V?##}QRyiMSf15**}=0qcgfnUtK2sd%tQ zq|{ilvdv%p7sOPf34=$YEfDt+30&Kf(qLVsrE3oQt%u__zMGspROS&p9ET4K<$f8o zLP)H+wf;T*B3~bp_;%yc#HXg*^;O-_a2|$PqUQ%@c8C!qukIn9D>#b)(ZoLp_oE~Y z%*Uh%a5ZR+;ARH)dOFt_9xEIiKgP$seSA>v{rdCgU3oc_K4s{Y+}^9@Ynp_aX!8YV zX2HF|mBKNmhcuv4h`XNTok4VCq{errX3?TwrnX)GL81Hx3G@UEG!xvn&jE`ZZ&`Wp ztwbKsw!Y5Jzc8OD?E7&C3JJKBT56v73Y0*N3v$pMqYI%kaxpyx3=|jBHb|e`(@!DR zf^HU<06@4$_wK}*A>YU&Gd6M9QrQbDPL9n=5(9kAn5*oc5Gl9Qthf?V}# z&fOCroWVz2!CHq0$!d~=Ti*6CvV%xz z_Y&>s5gcSF^lDLmz30M)hR`R_Y|r@gG#tr;o4Q;@uw-I#Y)%VP0Bmyp6&IJQtSpH0lhX-i|j3Ho-u-A*siYh4M5u$D&20-~ntw zK&W6#ihSv%PAn@hJrIN#^o)$VgFc?#;}YK|mbL{_vS8U&_6Y4=Zu{e%lh2sdx8BT}JrauM(3(Kb9y+GCRYB=ScVug38&CsYw|Mee3}rth9VZhL69D?Z3y+Kp4CG*VhQtz^ae90_q>n!e z<(swjcbsd)1~gXd0>UWU8XGf=av?QGK*XcxGR$#(RFh= zb!=_NaX1$g7QUH}patBIRYFH;1C|JC(y3b=ux1eFbrNHyaEU_OMvPj5UIFkpQJ4p{ z0zPi^;{ew2=kLHMAt{#X6X6DPt+k)p8Udy$Bj@S8RC1k3eCK^EURvcq?K^h@;^F$Djm3#gJM=9CnUK0vIjwa&xK4 zyu4LK5+|?S0KIeZ;zRT>_@w>+p2iagoQ%L(1B4p@uLpyLl#ff6mhq{n&6ZLaUxNoN zi46Mx*(!l4gTq)v3IGvsw;UKVXlQ$kzYwDlx=5m+pnyAj0qUuW&<$dU8py~fQ`b5` zdvN=ZU+;bLsnBqPH=krkkedMg3J;1;0Q+SQ)<|f>vU!C>7})t>yv?TIvJluA3EK7+ zRvCJ_)oEHUm~^n8_d{KIWCT=06&kYIg(v@KmBO&O+qATJXyDdB z++X$ZAdZrUcVkulB$UxCJUk$krf~UTO50pp0zdzrJ#5_E$E-g@pf3VrhGP{U(G?fG z0(`Y1LD>b3CqjvE)et9nB~*bhxP@hhf<`d?Y_9QhoP!{s@EdUy!+?i>R#qxiIqjk% zAz;ZNP+_ubFX*m{Vk+iZMOeI1xS{*RQB#ku;MOXJB;g-8(xAHI1WHE*%J=k>lL)y& zNKJLM&Fx>N1Y|gbtJ>C$-J>U0ocq!OmU+e&*3-mZd}SjkeIQLw3M0U@HCv zdL?4Q1`a8J*TD3baQ+}IWOHtmtYGOmj$Q2t8#D><0@&FReW=Nz0#xXHLKAS7#-*kX zU=2e~bGtO&pA%~p0Kj{zI!fokQ)zODUh+qr(O@k9ToUg@pQRLcJx+!gXF@fqD^%Dx zb1`gqqMvG~qrpB_y3Q!Ph-T|Ih=Hv=cOWPj*&Nt4ILF>Yb_qo7@4IJv?wE=plsZp04?hYC6YXgYvH;hlii+y!B%t}Z@fd=3biIfjX$afZkgPK!M0~#ns^|36!BhGWAhWt?F!s8XZ^e^@r1B< z6lA3_k`yau6T1Pz!-?tX&D90_p-|5#SckABP!Ye`UnWdd)rS{dXrdzka3CH8 zB@QPKk00zDP_jX)g6EG>_RW2LZ!0R&YAjJK;H-nr&I*qXt4>p-BxI5G;Qg17Q^x?H zAW2I{oZu6coPN1u$4>9N3t+(dC$V0^C#7t`&vEDmdmnN?q9P;bb#%Ea+B5|knwpSp zFo(hkwQNN%1R2`7N$`FEVu8YSsMxa!1-?Dv|p$l9MN9YeE`H=ZUpLiOrhr8|# zGP$vjzz9Koc-GVu#UXBKGt34+P2bns+tAn;iy{J_RBe)y;_)&CUF~5NJRM|_;OrtE zu~3&EJN6D6%I2q`hK4OVIn?-L*6$fCCQWT|hJC%r+DE8HMTA-ix>+p9Pg(nM10xF# zj$1$po*kLT6-6mm79e77ZftD5Cq1Toc)8=tq##U($Ot)nn9c3@b`Z$;`}eUTXCdi; z!p9$H0{rL@+QRFL{vJF#(4bKLKaVtsCEp_q05*J#mB;xLQgrajnWrUN7;%rF(zqq=1cH0Q7jTo6_ zaJ35<5NbM9miK&69WN~`3_z@>Qd~3XVcUh!CV~oFwjytwD_YcYYgtf*)aKLzU<(kR@qRoh$d z@^kIaQ8hEsP98#9&Jh_I6eM(R0^2w(`2_`oJc1`sxd2h1Hhve$+ot)iT$-DZUr?}y z!K46DlM)kyqf~i#kmYq3N>I=(-B7*!`(%RXRV*rmC*@DI@0V+LC_=UWR1kfLv19DE>QL4$(H_p zt}*Id6nZGCd{XY-eTj?;>mc+6eB$yosq^gS~PQLayi$hqj+!kVb9ND6F%!MoJ7^51XTfK1~A=qyoBKp zvn#OPKgH}SM8op)r(Kaa9B?nsmr5Qy_!pm#L*JBnytc4>`YoJ_IGHgpLwN7rvAkdQ z%p4pRCC;XJStcgEu;Rdj3q6tap9#ScTo+^k?rPY6)o7vG1-aqSN2MM!ObHFj>*vqc zkbPr4S;S3#t%Wk_hAfZN!GjQFVVE&X`TR?m4G|-TcLc*q`zdyI zwB3Qa-0s(|A!UT~X@7jH@rL0N8wP#}!pHHSK^%?b@{q0u_j`a9WXivV7ph zhmPZE=-~T(8rsV!ToBf)=)biaOPL==Emzk#Q>PYL2>jr9y^2_%n9b|De6Q`hNJsAtb2BpD;C4Z$l9BqUi+dLYiO?6}R>m+t zfN!%826q8G1bB&@VW3o~q&k{xXLG1hw5TT!p^k+41lrg!iE#@&RL=FI2T=?WEg6kM zGw3lpJA+go(r@Ebg28J5L@eGc>hR$5`I7E<6ubz_p2PO87@(t~!mJbM6lJ%$jxDld z&%qBkOTJl7=j?6_u|aTq+oRi26&L9{9bwtWh!~1s*_>xKwzhX4KKyJcMM_2n zC7nmak!0w5{;9coyf;qU@6c-V^4Zm{Ob&Epv)CG z1yz;EPwowqf8R*5O@9Ix#x3{f=yAW(Io>wfzsL@-RfMqx^=KJU;4bh0OdAdVhpvA+UYq>v%m~ z_No2Kzp1UD?C(Iaho=QglKa~oqoD{w1Y$7TM8YAMEe2(JpYsxsQeX`S5ZK|dzX%#g z1(eHx4W`UXwN!+-=_&}-phplJgK^R|UsJ^sv@aAnbU@pLV->wQ?ze_?o@`S)YyjN7 z@*BF3%@V8-%6JVbaeOEVk;{@WQOqo9wkx*ressZ1X(0F$m~v$o{Gy_>OLT`s&a4qs2?Bci^#uOu1gw^wDFOUN^-xadIF~ZoQ6} znBw`{SRvbUN79<|(&uB6j@hwe`Xxq5aX|r8`yzOlnV2YyKLoKU*57#jD|hepsrO!O z7v%;bqk>rV4c`QjUUz=FFM{>B3KRMMfg$DZd4CGtIqS%p9vEiy&lkAAIvwAl;Pdmo zy$Loq9+3v^DkWsyjg3eng3K0v0_bgL@X6y`9nRKa`PV`UI1nzp^rKhpa6vde(>qA| zRyBAFyv?5NJx!w{BgC7w!il-Sx}HWhb#rCjrXv{mv8cHChpciOTac6#V}2~QjqZid zqwW}t0k8qC?{!prIN*h-NC|lG$=4fE6B7dVQ**_B!2t_x9a|++BnHW#SVYnZL}ECU zG@1aS2 z%xVDpSA6CiAB8x#%=Ldj!tOl=&TmF%W!b=o{xgXN1E;VZK{cW^ z#8}u1l3rMZCq=-^l0M~vwwRbIk&{ylYzl+Jei8dgyTU$newYcP?q*FH{07O+mnSSR zb?t#UnjjRxXVzu2iE;?YaSlmIMa0Ain?;l2?Et@%!3f#*W>)| zd?*5@6vEx2k9;^5{xR3Ix90=ctG$iF72S}A(?%ea2sAs!*5bd+095cr%^rDHpclE7 zMNe!B`>?LhrS80@qlI3t-;q_Fq?z(x3BnCIt}>%^>fGWZSXx?wmk9UC$pl-08E|d@ zA#i};UCV%Q$fD<#rK{pP{+<>{A&og8=KOLPQc5#C%E@0U5MX7n zIuIX+43_TH!>FeL*=GJ|Ai9$As?a`APce6^qYHw{O1p^W(!GP1qCR9m0!*~LJ9vI4 z`usJ&;!@KpQt<$qA$bbWOYY9uz~5GAuE6POykNrPLh2m(zwckQ(ix6pnj0`p3=hf8 z)0Ae-cW&>U1&d}W3AwHwVuHUbBen-uEz1JeAEIy?0A9ub3jwJ>h_Zi`Gz6nM($7#! z;!#|=hzQzIO!`q~01kWNV|FLe)FOEVn2C^!eTF=Qz6D4G#_5l&^bWJ}925eu=;HK{ zI~8^(1Ts%RNz8d_yKJ3hU>a2`lJ|h?b^j@e#75(Z?5eamZw1_iYmSip1A^}OoqYu& zd*rt*dt=-v!|r%?>y@p|o1UWgfp5ZoE$_s79G}%GhlsHAHlKlv<>W1%mE=7xfcQXg zx4(y(@Myfx#eQreRO3$}UAy#%IJyQ>^2?(=2P+N`pWLx%RAx4tp$*5uCc+gSTm#en zr-6lVHhdn1`T3|ezOdHlVwh_c5cos~wkGVKJ(No4O-vALo!O)F813Lri|@?jjZIC0 zX6fVz2;b8o7Upy^DC#jSH<~)FA|?_3ZTkN>vCG_Xsy?a0@ugwgu;(Ynn=7Sm; z5HP?dVo7)YyqHIhCw3vNSj6q2}PSjK&~%02z?Iqc3=0Q6c;@4U@9# zf%A61KE(yCGnN|qi+L1LkzaymjvCV&;>wHVRW$1tC%gfU_GIfFQxHEU zy*YMdQV86!U1&Z~g+4Ws2hp7Z3z>(C_B7@zfHKXxs*<^bncTzE^Gx9#l&?k3eE`gj zTL0Zrza>ODdnbQlvayDJ z1m>(E?g~M{sp6ybCeqz2Z^i=bZ3!1^{6=Kx6Nz?jvX85>cZo|kdo=lPq2~@ zv-q8zPnPsOf~2KmauK%?lLR>j2qz~?OO+y;Jqaso0wra46hI?)&q{OBQ9fWxPwVaP zk9vOTjR{OJB4&5RS9~ku;yyp}-_j{!3RK}AnfHb&D0BN7Od?Rw{1Y=pyce7V0+lC2 z$DHS`N`{7nM9{wnN;*6L6S7GF%AJ|>z(yg{c}1$BS{K#lOmvO9cl;&xellF?dRkwn zGA7z57uO;~naC5Q6Nx(Zjzpjy^6Ebt3E_37CCl;e9xY`V9S&%J`OQ*{QK5@`*}Dxm zQzP1u0K@a&#b>}OtkuZ`blBU+^+Qey-4P7p+=CgK-CjWqvT{9pnqapF$SK9=LvhpDv{%eNct`FGT~F=P+i4kPnV6%b ze@%_Z$IlL>I~W!)(fTG&$BIyc;>V35U{>#i2sq(2{k@`;&#)pwUIqy#ToRHM2<4BE zUr2yE-55t!3p3&j_ad}imR=3D*vB{?FxV*JH7rUH@ha7)gCrm{z^b;Qu{D;&0XUj( z93Jv6-a$Tf?vEGo3Fx;*Ml5AcWSA^G7r0<903AH4zc2;Im{ zME2L`gcVa+`24z`8D>Vm>ge`y90MkZTbBKhD}GyduIgPNOwm4FD8TodYO)>(7p(AIJs4ictl0453gW4Yk-0va003$5{mrkRKQl~IpfA=~ zE@rL+05Totqc8+D_8g1;EvPYw(Dj=i-WMbhstW?)G)lkG4uIO+B$b$Tsa7kG;?I6Sf6 zIz(?-;(o1_71j+dEiJ|8*14`Cc6&pU>388<44iVc`@+a#ghutlYr#Hb;sSwv9LI#y z4S~pqX}vKoX*0=Mjfos~f#<(g9h}8~-!_GUBj%3RbUy_Fyoj7XnGr_pIPKCr6vY2` zubwd@E)3vAQ~kwayNm*@LNNgr2XMsM3H^W7Qd0)qnUCY&JBV zMw{!_4XAwKNdl}C$sV)|Fe>U05p2lr>-Ir{vx%HRuM*q8d=as&OrmR3dIfg!0nF~3 zGZ`L!l`8ylFuOe9Qe#f~wxwmI@JJXcXQB`+X5kAroCq0^%@+%)iBl1S``a`sm4na)$5*8 zzg^nRM1G^_?8u$&ulduNndSLbXlfx3T8+F~5b7|F~`WJpHNc~vT4El_KOTi+X&mQp@QQ}cy z)f<|yR)cZIXaAyo4-rCUU^ts8X($|LOEjRDJUYV_c=xLY5DOd?q$;S%06K$GMy1B( zvESKOGKH8sfh{5x50J<(jHYZ{&;oy>~$u z12Zr(QKcw~&%N~A)X&AMl;kApxeFh6RyQ4i>>{+hl(WOuyz;K)6XVXf-41gy?9mv~!wb0#%nPv*W=XL~oqJ$nbTv;#NHK__ zWvJ33W5LZLVu9+{>-b{|qwaNHBDWk2>_c70O^uDa%Zml|6gCWNU)H37_eb&iwY&S7 z%NeFhB_b+KdVH@*I2{S8edgddHujhMqAE)f*BDDYNqXO0kX%Mbhg{m2=;(Ezq6U0q z76h47JY3p=7)pSHkL$l7;3y8^WQ1-atF%1*>bqAYoAYP*m+42r_n-<63lE3nz(6zR zttKo`#OQU9f8hKxiycIxhVH*oydm8e)uK+8E%My&OthUfq7bt>a8E|Ct7!uK!sUB6 zEo~5!O#XF03!unIyOc#9LfIS7MH$?ID-NT$K^|zmo~-usX9Sq zR1#Vr>>!GO@X}Yzd4G0*-bMOI-meQ1)NhK4$O*9*SMogeIesx{U`*FTNd6|0)jQN0 zv_YGppU(>8c@nzMQe)o{?&E39=BP1Q- z6BKruMNCO5DO&jPL8RP(tM)&NmB9=T{9(7OKu&f4K7!>NlY8sVu zl?SmUD*|yNcNui^_xH^@6nV!mpiBaxp_kJ+a?MB#E)n#<&Qjv zOkQq{sY$n|``VY~fM~`Cg3U}R|p2)B@=ikF=`>bzs`m9XUm@D1>Gnn&YF5=g; zuI%q4v*{26 zt5^Kjeo~X?dkF1InqagLrWq<_jN=LBK2o{K%Ep}cSBs{J-$6{+&UgLZ5@ml_UF5O+ zzq^Yp2#-Xm+0HQr5@a843!LdL5@IT1GdgHhOTt-BCb#ml<}7ER3e!!8<#hkApORCO zZS548wgxLXQ#gId7j)qQe*gYG2;^9wMn`oPKiPk7daQ4>VifM)62G8)X)tU2Ppy!3 zsaWo_;fe)))ols)1Kdl(sxSKDR|Dld=rLG8{Z8MrwN~vgrQzY>D$JEqJhm=6RakRf zR#b>gFC8Cdettl|nL`KZ_wOSq7MAPRd&`)Wd;{LtNWY{f%clO^6jbb#@hB*=x`*sG zqrkf=`>*U&mTQJ4@|;hW$SVo*5+R#N)?!MaIo|h>ikoGm&YpAq^lo4!+(#L%=YK`eRcgcORD7W(eSwAYRZV= zKS)|Zt`oB%5Gbg%>Ye4Gl)83gZ&a_4Chv;E(9+v3jjIA*s>~bJH-By#Q*-a+_oOHr z2v#8oU9XAal#@;}Na_@bYTO7j=%`XTl%w62wcGeOq-4T}w;E*;OI#w%|ymMc3u&u|I0whJ>o? zI|z>j+}#e_?HZQO@H+p?lI-SjJDaY;$AuCmoTP+b`H$UpMBG#nYFw9IA03w)46a(H<7lU^E-^cqwbLz6KLwC)KcXJU_ z14$-Wt^AcZeo6PRRF|S^^nwswF5EYgY(pmGR48}%pc*`~;nVOrtkexw(cZEI zhe#N74Cw`K@(V78)4N_dG19Z6Y>x9wY{0f>c)ksjPqw}k1e|7F~ za#kr~Kf_ElGG+d&f^#FyYF;I?M?1XL4y@PCJT=ns$p!E;=ry3LkMla7o$p*!EFjPI zP&xd$Xm2^&!uK~?C-d_pK73GFUm{>4q15G_7eqeA?RfE7m4$4@nA(1}_T5hJRo?Hs z0kX8cbaF@OE6%G%aGac_*Gi0J7fsackFVVMV3+EmV*a7<;hXAL2aj~s2SgQgzUbI{ z^EPL&lf*T7KipLiCP_+2)E5gXIP@3okJapQXx98Lq)7>JzN>@d(vPdAzjGGqXBTJ- zh6mq2uN++BH2O=i<`y`Yn17i3daTe`xwZgR5S8}f;_U-?PvFw+K|!U(-26x0rpcp3 z*POB~7D{PeUfuPSll`{hPKqjD>QXm<&eS%WV zrv2+yC1073&9j#R#+THMd(_TIICIla*wt3tn#)u*fyDpFgjkzgF>KN2s4{ubHf!UA{e|?*!sj6h z!n0SwETxV20@d%fS!DF=*1knSn3LM^sw$x40n>rhTZi9dc`+U~wzafm+PSm9ZCL5b z(({5h`T6bt|6`zxc~miOAiUP~xvu$;d-Y(tqwby{fyiC)t0c9gBQDYk&EfW|b0zm2 zPIU_8T~dFpGz=kAOfr2*pq zJU+cQzZi*WRJ1~74vG#`?Mws$B~RQY<=9f-fKmP<3TMhlJTB(VujjdHn=(e;QOb)G zh7adoVwE{`$48o(AE@+_qF&)or=HZO$ZO7R)Y}I1fAG*DsQEG;{+9ZHfuUn|S=s+i z)M~{zu$o==}XKO>~bF*IsKAqoQ`7)Uz9 zog||2);{{m(x{H~N;kBGl)BaQbM5BwH?dH;BX_|tn|kOi3%g{F5 zx1O^%0Vv6P&1|4nUHX;5aDX`stTsq7Y*gtFu6hEQw>fj~RgN;g`R{UNav2I$we_97 zLy1@X=G|QdKjI`*Ac)W_Oedv<{Vz*(%|cDVrJwDE5<0D12Z`vfrj{0h7w$U?~M{2=+`)+%?D^0SBi+oAKCyt*Ib^1=$YJi(YsyeD{*N z>U`oHa97CU#f}_FaS))HV-fz7^;jiCocrkf;^O$c_vGZirKEa>rh<&eD>|4c3t|85 z$VdUR2vT@+2n04q^?4SASumZ7WZT0^?0CdpfT{U@F0?k8p3PoeRaFlvLE;1pBCfzh zK^!C3*_r8!8k7X6g!3KY%X<_7-$Fz8>9ubYzF~er3a%V*1`y`}Lb}LAei?_>kHU-< zYK*k#=O78-40|wayNvVo-A}Vyx9MUzFwd3qcDLFL_fiM zWllivhuBmh3Bge`xf+2@ltxgt2;va8mqs1+?giwblT|;@0STG zyy4JQd)*wOY3mAdWPu1nQ(;kKmviuVbM!tGZ7#N$Oz{`mtK}Scjow| zLY)MQSW90YaS#<)-6q{IkQJDCzE?!VG3pZLO0FW?hWEDC)2_%bnbIbvrnyfG9WV81 zJakPHwq;)H1UlyGQxvmYxbN8`N0?74|aTe`DXv`FDEXLf4vfz*ZW?aqjM%4<1!$Y+uoe@ z2dK}sej0dT4DBUia6H2MI638jsv<^ppJFG1OaVLW_sUztaXfP6Ey}XLH-kK^J;ird z#JREYHNV;asgC$XmRitFu{O1^T0JVZQFO(-`tI1}XRpWz{EoNJ6xa7ToPBhFo`WL= zkP0AYa4VJ<%dD4EAZ)edvacJPhr9?V$}3#~q*cSe2H6LXv^9}JK?fU>q;MyzWVysu z@5Yu!J^{P5cKWVkpUg*PWvn20={Ytufmxu!lSR-*CGZf&4xwSrB ziVX&FI_z%7kypySW-DzzF{G8#wJ<*s5cyJIm{`SLZD^ywZzAZs1Z@nE>KjW_`)x!@ zk(Q1$XADqpv?Z+uab0k=06&l`ZR0R`yF^(&XqG^gd^qC{-z4c_vd_|ZWMOQ4_rU{E z=aWZkp0}l_0<0$?iaN@?Qz)W9WL=gq!(UK4*Ej<3jxhJTN9?5Tc|-*fLc+ssjJQH6 zr4g0|%MF^~!`;YD1lT5hxl=gOpD3*Ue}#Q_IF^4O_HB>ssO&9@k`R%-$(BNr%(6mA zRyJj1gpi%KtcnyuLNZfA$p{UrMZ|kvzvp<5_s_TEIgV%j;=ZrzJ3gQDa}EHomUjt* zWN-@rSmCTSpIFB7*^?4~M=3RI{7YW~zr^mWWu&HxE5W zFnn?@$jQojd-vG>Pwm^JY%nSC#V=V_ro~w{`|dX==1@dn&~)>*truLpkbhnH@XJ(m z*ED&A1`~H}AL>(_=gJ00UR9A94X_}=6%Z;+hkpr+wN^-_pb=Xa{4tEFCTy-iybDzgMncudC5N^EKDIG?5baISxQyRR z#~HZ)81Tb96HT(wb>;J5F)?1x%gWj*pW6T$8s;AWC8#TqU$0&sjX@ho`WP9PC(4Dj|FweO$@4%ba!)NQY0nrX>;7*ATQso|2YO;{l%-%(7DMIa84Eo$)_UfbIZ` zcMJPuvnD>OId{ljah+g+B!1n7AcRUHulli%V3<`r8y6RmgNm6BqF^!hJhrg~cmB02 zS1ua=Oy%EI*4@($t}uqbv-9)BCOQAQ!h2ZZ;6YH2{K4LhjFlh2-L$;4#Cp7P2S5Ku zkaWQB70u{kF6gO%gGYH!tWHUS)F%--&`ZH^Yi;Q>E_DW6b;{NCZILF8k-^q7tQL@R zu!DauFBb>D+GN6P>H?mYZW33_z_WXp#9#`AF9v@9^OBGRSeq)tn;$34+qc#mIkzz1 z#PABR>?bMatv55|RrleN#3=VoU!UTI-*@x;gnmhJla4~K3`}RbqXNXn6MgSa?#WtP zn$!gf2&j4TfbGBOuI(xXCdLJfioEiqaoBBISRkDlfC9a(JXj83dcP>0M>5|lUU>~u z;ry0Q&~<@>NMCLvu16Iq5WcYr1=}-5C6*lCR(*39&KU)sLkuX=tJ6f`p^`oD0fLXLnHfvFa$ z7X%8}KFY#O2v9W!@GDkY>U>y%AQdAWxtS28*sp+4ig3S}xU5Q?2v8y#>gz*QqYcg@ zAq*H7#c1l9w|NXUc9E!zpgCQA_Z(e2SHe6LE zO%^S#%(nng8Gkv*<1Tu7;Aw)`-`5U!8`F2e$B$)emlzW2(EB0l=U1_lgOij0bSDRD z5bzD{k*x5xUR+NDzX7SwvPjkT*r@=#0wY16<7{sPh=K?sWyB$;q%hapn7`;i+4*Ac zdBumQSy9r#6LYInG`Zmhl1K>co=q)8{CXRAAip9LnJEF4G`*q%r1&%3lBMCB8*J(C z{pv=6ECb<19oDf|pRe~81DlOJ4^v#tRYoH7D*bs?bEhlT@>bYec05$70yLSFl7a`h zf&&&%{?h&ANCpG~LjLCj8PASA8y_E^EdhlGl%)r|OclX=gU2WG(?5$EUIoR{^hGf< zZp3fjJd)lu4n2QPPQs5;t6`yk6@-Z`=AycncT_qwlgI3N)zw8IflncMtZE7aY}8Fv zTRNQ*pvdDFH)3d>Byf_emgJ8MX;0@q4o~ZV1i3vc!{y{7eb?yjQP^E!E)s0slfd znDM_m(}tEx9s+kpn2q-J?Sq9N3UP2Maj5(6EI{1(3MCa)H%KnWUr92eaIE|U(E&)Q zu<~#Qm>c9okKeQZQk!|tJUxB$v~NewD{64+R-p>1+RQa5ybRX&C7s38{c$u=oye5oK)Z~E?}7Tb#0eKm<%)zUy=BGdQhB$LIDFcV+0rC)|WH7zAO5F zA}&Oj?ZXy^uXuu#O=+JSaQY$IE(8*w8?;c#Er`NP8+#V2goK*9<2_t8|HaP3*A06R z6ho^Q?zj~}KJ0cu&=3g3o~Rt~WY8;EYJhdY!C`haiLK`J8+xC2t(KexNooS7&YuGR zmytXu&mpR#r}q+78p4AyKRDYNtf9{4Ci@;5AQ(Mcjn?~O+kuCGXVGl1Bew7?1x)Et zF@rSC>Sv1Tb~0mPs~>SL(}4Fhit8Ik8nomYyNlGjs7YuK%xmMiU5Xs+gBpSX{nEl~E=>+~LuR zNE(LUq?6^JTrK~+4N)4AgX#{Z+M4DH^@1?2= zffENhk{-af23s=W$e=WCG! zdRRzoVQ*On0Iqo2bi55?ccpV*WFab1oHT~^6Q#U`<0A`GOb;tVR+nLU535(4IhYZ$ z-n&WGE8CheqBE%g4kl!;kR&GR-_FLp0RHG|^*B<;Z{t|T3a}K{9!66Ek~03{y$l_? z!hIp=XpVBk3r;=qAc8DNBXknAHu5NK5c7k3$a=!Yu4rHmry_PlH~dI+(v+*&vs)ab zH=vRP-Q#Mv)7LRWm8v2b;(|2%Fh#DzDr8j{`g7;yX zBE3!&NN~l(p@+-ikjtwb!yVnUtxZj8Ff^$0kc}s7M>Jz0_J`@x);ltp4?G~q3r8D^ zCMu@tE}%+CFn+)rt6jwTOjy`6u*Pv&e$hV3)DhUK1tlG{*Ub;qoF%!ZA12?vd$+-V zj&1lxaqEr)UUvTeAeWS5l4tN;dEG(=b82*yn+xHa=~w6|NcgXP5clGv)Y7%k$(p=E zAAz@rvIS^l!m14A-NMLtxp=H@+)n#;Tt*w^xTElPG+Gg`;$YZ{``B{!HfA}XD*%GA z>ihB~{ePWX)wH;-U}Fz82~=p%G~-TQ>^ur!*~OsM{y4IWTRx?pp5aYkfWj9=85#s| z3sCzB*)UQ4{xzW2p`scqo&ad39l#_4EA z&^x;!sgGmeEY>;~jb0`%FYndl61e}ej(w6b8n9aFL0AKRC$Cw7V zJZC5G-Y3qmiUeU$79e@iM=ay=@^fL%JN>3tlXQG=P+`YO0h)tk>D|?J^iWK3C3y*I zC4B)4A3~v%LJRRSJQLaxd^;0#yYONc-Nm8d+odBMA`i3(beN+YH!nLw;A;==KyN@A zO14#u^gE(FT4C#37rGXJJ*|A`5HQ2T#Pd8>dpZ-GA8^K6Wwb=a#9UlmO@J+kpL`c- zBk$Op3EzhL3xD>cw0}hruOUo!-?Z9nY6dqU=w%@1`0kOmq>btS`KBC_e3Xd!a%Zk; zP)tE*hT{vy(6UxXk_ykt8=Oeq&2@4ZAX`i00g{;b93adXu~L{J;T`A7y5m_=f=xk0 zGs2DnCfvkLIJ)4HfqkdOPeT3&Km#>IJX@?3?f?PzEw+#c19AfWnvq{c zSyGZ=gtD*`*Xt4<-|1sQ?yKvoeqiDupGH_nXpvSO={CqKp8Xp>4ddugXXmnFZflrO zPofqv*tvggdD;*b%Fe?#$*(bTw9rY2hRTx!Hlx|Iy3l{Tm5fVbfgTclGCBr0wdrr^ zD(p4I=d{yzh|JJhnztK9$RXRyzXudK9(TAgJzR34ms_(Bg93UKe6_5Tay8R26EYrK$E zUtBs49RP2k-#CC{QT9qRAQkLJ*iWd{?0KceQi?|^V;+j+gVDzD#)l6P7m|6jT_p2v z%Bxoes+(AXpk}F8YfqAi_3gr{`htgu${P&3b!(|(RS@>NVnrJaW+NY{q|fr>G4h?V zLIsQ@*)v0zF$3Rr>CNM_r>)lFWt@P~Q84T|&Jc3Mt&eA5j70Xhg0xBGwM8`$Ezh zq-^iz<_2dWJS5nM%=sVeD}F$n;{pAPkgArIm%~5nF}h2<`s}Ga7UTf`Db;V9a!%c$q}y?caLKXj=eTY(?LI-!8@Nx;e(J+U5ejRB$M9dU~o?g0xkr3ekiDu-#>8 zjqnurC=WHw6iFP!G^6!|B+`!Hb=KtL9d>;Cxl%Svebek#Q|WHuD^^t^t( zu{!iwR)JeIF+JS^B{hytv_mLJDoh_le!*bJRE2vPh$|x7oIE^uI63u8BovRnq>F2j zfI6wO>SXmW0gDO#d6$mMA2|*`?HrWPhEap(1a_X7Ka%#UVGCTDuG=7S&)& zNFZoVP-lHbWzcp+xr51K3@ZgM-D&6fYp@gt$c4`Ub1eAGz^6sLOXnPTtl*eQZ&}_d z4iVgL0JT<|L5R-F>f#7%06~|e9I|3sXQM}?i=mskChNWokhZwi^kyqqhH!)cD31ED z(?J@yT8Y0IdV9F(?TCGE=?ZrgT>S=iP_}8J{XowE9l^=_^x%hzN=pN_VC{Yq6)8Y_ zsZHbfEb6DWTc_#GAj$AUoIsy2-nonP4%ER%QX+s%l8_46^57Nf7esj`BR%rp%b6d6 z-`*kb3o(iUleYoU0-D3ZF;FT(GlUU-{!z(oUESTDfOm;1$YemPF$#SaKpHMoiFUTY7E!WCjs|x`JzfM=wW7HKxK?j`RyB-EuRP;{`*=$ zsSQFJcw+Fg5euFIhIx9G%{=Gex!Y)2eBZ+Lil7&(r=mdY%i4Aqu~HhNMh>M=7_l{sZLfi>rrXgHHfv&4BmV z(+h!wWEU-~)ajv41!nYB(zSeN{F#LFMAmL=fVT-f-EudQP!0`tvq=#?e z{YOdOjD`||jW28cLqiX1YVbI`aX zM@K`z!JKW!j1E77LJcCw)-Fuv#YUupp>z5b!s>2RpfU!rMkX6_$a@?sArD)^MDDI7 z-7&llS?}|R50|b;E>^)z#m)F6SJG!VEam0hEiXr6cjB2c99SAGTC!RDa=Qb3d}wKD z(J>PG5?r+L`q}_tAUwsSb=Fg-e1L|LOJpq#Ra!3W>Ysgx_eIbMr$jd0ADJUoR{FM) zubpIo_Nm`hHbWxocR+$ba?8uD8}%WOTk+bvo` zn!6SXCQi;*z=5$i@cBiqNAW=qg^Kb{zl}a&DQ{MOh;!b9eihE9j{%vzYlenoFhked zfl?i=d`=kxXOD~Oe@MldG5O`o?O;VT(3l@MOYeYhUHZzNw#lW8+{4+hdih5UK_Plh zvtx4F6zto#UrLH(pw_gtRT2}UUbu}Lzw9Xo^whUi%HbIS_*&%b4{on%m{U3zV0ky?QCy=|AyL0#7u1%Lq;rX#OVdPj!* z95-TOm+D9nD=R^@Av>Qv?d&Vk=b6n`2^WsxcD8bj~DkW0~K)2A|myGvZ0qW zT)zW_>OUD=clQ!q7_KM?wmDW30ZuitXMyMm^ciWfXl2%Uw+Y2(kv>m=5F|j-*HX9K zb9~nlC-i#(B2YDh2`+woMLVJ!Ax_p4ZShLeRU%%eQdjfN2 zWYIsoCh;X5RzIHKTxD`VbHjpv{Hzq3$V+cv1V)(K>3@O>6Rt&UV;5(coU8U$+`0u` zcb?ptBmY!^Z5r1c6-!q{BWomkstuF_ZGLe|_4f}w4Qs?ZV8M`>lOVb64DQL>8MhX1 zFQCO7`ol}-$7fgXe`~{&5X}a$lwHFlDF!bpJ$(Quc>IutU?xr=@+RP6F}i3Wfl{|! z^{00qx|>r|3^3}*W{4~Y`KP;Rt=hH=B>2>gqOs_As{z&qRF>`u)xrE{@C6d3XJ@nq zBu~s|?e@p)0MdC=b+JSkK9u1wRQNy+F@CF#99kL%i|12QQ;1rveP)rUQ-W1p+Ds(e zA&}6*(o!T~9ZHkpvdUqPVMX7;9#jrmo7H$&*lAjq(u^>$`u7^Po@SXc91lG(JZcNE z^FMfeN4U?wzvuRaN^aXNEUd|qz-0g1RBsIT719w)S7*xV z{BV#%9Wa|SMK@#%z#%G%!Z-$nz;JW3x`z+Gj6u+6$V;{U(cGRgEKQ}^leIfwp!nZ; zc+S1q#{UrKUZ1tISbBn&SA-z6-dio166V085B`SZg@)>*k{sK)CDLzsKaZv>eo=TcR{U}GKG%AXKzMTcuVvS3l!2}sw>tl$RBHugKcWP#}tz(ahYb<+ELjX_Hq z@9E$?fF5l7cY5up>92l&=8yNO{KXJ+h1NP76PCKikH^iH@%rF&EBg0QMs7Nr@t1So z-*YfGvln0HJH++$soBV2clURccThlBSO_1ak~nzH!5C;Ou$A~|j;`t+we#oeV26Re zu{F7bPI=D%FGK^2eRp;}r<0&m#}Z7qDtrk~{3LCK^r7p!#Ot0s$DA%EC3-gd-&Due zPlw*)uNEk+J;=jG04$EhkDD0ZBE%KN4Wr9>ge<9L8PL&qBkNk2wrOZ++o2@O+{ATE zJyD}(Z}0l#0~0?dkB8->2PF<1I6z9hDw0IL8|NtQ{k~^5uulUYAn4n5L1totlg!1o zUFc*NKvHBGq7aT0@QvMta&7e8yQ8o6ZRO&kC*hIptoEw}SVJnTsHli-xU@^=?1WZP z(w)Ed=>}e85c4?7e$f?R!N5G>xAV<9q|D>$C_&<}-Ky$VY%SbCxOnnWETQzohBK}a zqQ80nK0K*M(MvcL+^DD^Y+y0nKy{9y2f`At*Kmx3v2k=_72WD6bdi6z{4UNctFPzc zZF%5~?||X9j3oC(HEEP_sI>{yBlr1BP3&Ws+5uo8j60)uK`<%f-Efx$L#yRSxy7ZZ zv8=5r)X<|qRSM#hxG?MP`vCihw@Q-6kPa%=hC6E?H#gwFb_gaVXkT=-w6b$^4+JG3 zq8{80u)DMeIHBO9h(N&%D1ckC2zL?0F1KG&m(9mvd`*ggn|M@iQ+(0J3=znQ$rvRG zodLGp9h3)2!_$y^?{Gf7+BJfjDB0LehS^Kq+~03 z!-yJ^rUvBo;_jNg^9F4&S<}Ekb+h#zBafrqj`&K@vE#*rV88++uA0ML;)80SI$<{d zS3{Vh?*cLC0@#aM1vkzt`xC8e@}7wTFR_>ar`}2x8LUg9QCNj-AEq3bkD$-NEq*B} z=}_Rj9TIU1dLUg!uS!B01AX^}pR@a3F&5wGvii6 z8H%1Y6;e37_3Eq}Mkz}w1dzI%qEfj05!{A`836wn;ac}`_X?tKqVALtIY z?_DzXA>XQ4MY}=K#1*wA z{9~u|`&%P3wl-WX?SHdjr>^$Jdi$nuYIeCZh<=ICIM7NJp+0 z} zD`W*gvu#yZdy5O058CLm%F2Cx8pPimq;wu;VU834oC5SG8>L)W*ajxnrJk~fi-fRo zx6@MM_iJr2=u`M!*;rF#y37p$Fv^w>5XG&Fp>ONVyg{jGQ zf%(Q`SZQ3&!=(-6d-&^>Lf2N5`Mq2t{r3A*uU$QotigVfbpL6D^+Iz$?cW-jp~gc8 z-A4{jIHvL2%_zj zmR`h5!fO}?Yq}0xEWXMX0CB&2=amv>Vstm&SGf$oJDHMJu~`=|*HA=O`zHDj+qLOx z3Gt}Hd#Tw=-zRTb&erp=?ROaT+VO~gC1_e^&_QQDmTpb((3Wkw7r(Nt*wCoW2c#<; zO%0&D@~&YZS*`boUPm+?jl(R{_#%k<8llbF)2Y8dul3Byz6*_U%T$%-FH~(h6mf`j zkJKwGzD7zW8(sNRuGgoLxiq{O#KN{5`ZQ37I`1I7ZyZj7AKqI`)!Np)w^7_onrdZj zjga!=YKB-ZeDmKUn0xglhVh|i$AvHb$m2Etp&b|8OpYzJ&r>vtmfpU7Qz6jj&y8$D zDVs;rOOFTE{GWsheh7?@-pHomR zrzFFtGrazGwA=YKQ@8Zlkf|k(pQzX9dHB(Id`sbo!8^UkhySunNZcfIvQaWhk}&BA zDUbA${OFcmlQ~~J0gq8yF|pn!e;%dqFuls9*@i?I5Bcm|&Exs~!Q!|(079W~sX-%& z>qFS)b&n?CI8+`~!R3y+G!^svAAQ@_Z6V3B$V%DQH$VgK#{IIAmYE-w_bkHzXfiM| z$_e?NnLIDu7x&@&v(S+1%p7l|-*J$d?y^z_L`28Q+~3&y{1X&74ku|zO)im8=S*Iy z9}{8PR?4d`BJUl%&Hv%Q0Mj_CP$jid3PBgy{Ra3hV z5lAABkR+Xna5V@zW6J(}xU{^bIm%~K#b`6|PvYzRB0tx0-;G$lWpzoaWN+w1I_j;#kmA9{i)b#m62Jj`;&{Cp+Nq^ zbVXy(&-vV6>j@9?vRw>;{{lkZm?rUxmsd7|TT-{2WDy7T0YB)sYWPX9pQF)FxELAi@8qInOYt0k%z0TpAH!G+L^tXno?@~~H z{F`Uq}F z-#a}$iD)um%2Y5MlSAC4$*mtefJs!x(D;)`DBkz1VvDQNw?0 zL9L&&yV9+_?9NNRZ+iE0kUw|Ov_cD{s}Aqsy9a3wGmKk^<~`lAU@$&?A^rmCMet(T z=QYLYHx3%2=2xTTw-mcJ{YWyk+G4xcP3?(3kEEUwM)lspo_Z(fx-Sd-<$IUYvhcJ> zu_IEjjj|*o0Y#gc`XM{p8xsiqdTpCWmNh3Qm+FEQB>}_ED7DV zR$HuUA9%{<<;6 z@j%pW*H*m1;cCHsOCu=-{0#g|eSHot)E9m?wWp9sR#xD^-@l*OS(r)>-xfd@xP%EM z0cz{5Qo6!K0xaBBk(E7Yk$*h*cMd1>$Hs0r!g+qrZ~gJxlkQSRXIB?u%Z2dea(HPI zK79;>`th-nRu5^r?E~59t&hk^zN*b-JEceS-HJq7?y`Q~*UWU;eN{eP#* z!c0Z)X(o|Ia#Bz>#oH52ZhQZCuw=YjW9hxF=H9PI`I3^BB52DZ!#HP?Z3GYLL_|1= zR7gHf8}WQDFr#Nsw}h=DupA*GQt$lk9%vFzkm`;^Jw$(-80ar}9NfX}xbPA<GqdR(#F&Mfk!z`(r#yW+G^Uz&dO@4&Munmt0~de&sX%SNt`dFF3ny25SvOytkjDM zon6mKk&!}5yWAYbQwt-w6PGlPxvu@&=dOI0;?=0q{*aI1KhwIN&V;!{b_KpZ^oK_R z`t#cg)of3=Ea&D`cpFIw}qkmBQAS)AlEym4>|Db;`v#vr`VefWeCa+IY#JJol1J!FRS-1=QGjkTPti)lH?xxA z5*>?>eq)SiNNSaTJr4GnFMO2rgORzcj0|)IX7LgsrO!hcvQy?7DjOHLGwc7I5_}Y{ zULSg)TjyfVC_}|u=|~g38$(mmi5I4;)7D%txQ4Md98r^_qBJq=8avC5oDMEn-!=s8 z8&h|KxdaRnf!oA>&5Ona3S;@Zm=q#{eEKvL5kzBWr?S)p^o)%I0t3sHXb-VZG>hK?KnM9l z!lg@hDk?A~{{8bOnmh>AovVj=m}UUpOyv603OdJRCKWqY52L$4q_!VIKtPgRix9j8 zhdVILH6K<%8dvtHY88DTEM#(Xa`d}~_0tIX3msh@OfT`J!2g4BDz5vYBEf(ufzs9o zRb~z_b4QZ}Xvh2MuOayG7zOg2hvMioCb}n2st2+Jo}UtfY}6ehR8 zu(WHUXGu!FEL;cib38=!k%O56KK00hlbVP|!*?}?nJTw;gL)u+Fm23p7$y33@+;H< z*~7#heo;iQGAHMGM91S)SPix^ER zoSmg5f%8iM2x#H(7y(wHZ;XqhiEGJG3cQamIHu345o%F-hxyAG#&%!spd;SW zZ2eqyk&DY26O&!9Wd=b?Q56<$fkhzHm2gx7NaMe=ILTDp2yKr9eG|iUvli6HLs`k-Ul&4^DI3wb2fw712FH*1Jftq?*|c z4HAgjHx-vaBE6~DXNqY6XlaeG`^GXW$Dko6r!POA4?pb!_KX0{FvG^%qOvknjIKb$ zLFC|ZviN6(xnGH`84SG;k96R`+m;qhi8I&kxAGzhP9;PI1{ne%0dX5*XHKgs+ZGTqXZvo|7Nh zsv%MwdV@}6D@L<$**ct8D5oJY~kZTZii zaEuU;P5Z{r&g__uU@*9er`_Cq6!KuLUtj$aw-+q=aK`x4tnzQJ_Jrf*h+mjtWMBX} zWcTU@9t;?YB|1rntzo982TpzETb1CxZ!guWbi51D5J;-CfDm1_F?e*CK?)6i#na#K zF~tO_QX_ENG2A)A`c*|m7v}{wCvhu^=$r4)SOY{z0{vBVxDK9D*ycFvz*ZvWxOeWP zpHm*BOMa;?qjAdF;>Zy~Lu#V>FXL+Uq{T-~V`R}`l8aq>9V6_Fp7UWVpW^TXO1_;p z?s&TNf}4RF*8BQHJE5dQ6*B-T7TV(r!}o9oYpN=&*Uli$p{=jD2zSgtyny)d5#n#YEtEsNuEg?~) zl>GDfV;}YV)WZ!Euxmje1<1U|3TA=6f=Et7Po z1VkTzQU)yzrWEgoTyB(=)Ar5d{6jr}zl;Oa-}Q>v(mBFY&YxyZ$I$T7!-oO5UhkUJ z!0inC|J>R=K=L5K5iBGi)!<%%GL&_0his675Dg=PRA32kQo6{(z$0hARdW{Oo(BH_ zM0E%jw3`31b^=jS$Lm$Gmca>P`z%C}%0v%JWPqdR-Uk5_he#B&3@BYr<9lFf;kf~m zPbYo>ECPR;lh(^*WN>u_xH5nxpTGP1K~KpWCC=AuwH8>{P@3GXA2k$P|(9KF=6Y8 zh9LD}{UDj;A?xwp7iFW;nh(U+HaYs|Ykv0p*X+|8PO72lOvw zg~i2=xHJIcqoiGj*ahl9;XP-a0t2)-v51$&WMv87KQK;IDYCjnj~-|cEXhc)RNmJl zOymfa-DzmxA&H!bx<-V8EoNg zKfWL_#jdUWg{gLH!76(f=5Wv?UdhWd3QSc&Zb{d~^+C+ARX5jv0Hnrt3MsoDhZ3VHm#-&7@H#SF3NrdlVP@p1pem{r#cBBpW;XS67_f z#mPxQNojz$)Emb)C`ZH!JQ9VB7TnUH;JM&*iE4fa2hq5e<|^uhPw_k=7EtPf*m*f2 z;YxZH^@A$)e4`v0Q3(6*-Rp+IadC0vyuv?-mdsC_SeTg52uvjmy6Gq*iBN@SxA1cz z?R`HyoS;?w?b|nq-HS}!&YV$Nxq4+;P`@9_K7@^+FoF^sG(N-~fzkw~365MWUtGkv zAN||45~on6LGgk&iXc9wv11z-Ga0|UdiM@d9^g)Zd0zhbarV4ITIZ`*gMEFRP2_I} z2N19n7|1`>DsQ*vE!1*tZQ9CXj={mOnVv*N2MLNhmTy_9p8H8%Cawm8b!k_J4|Eo1 zy1(lx|Iy(>FUUzS?)Jmr0bK>k$P%SwEuv*`eGU5?{Xmuk(B3gMfDZJ}AGIrbt<%1| zJUkzQze<5C4Nc0~1mO)YFkdjGuW1o-j^$N!Yf@RAO2 z_m0r5&$-^P*u6Zj5X$oLQqBQyzA<%?>G}EBF4b#t@kd42{{0^D29eP4s^mU7xu-DA z%<9TVFW4T6J9+B1$qtEaSi)&ah>h6WxDLtrA#h&ntNqnyqK@g!<0=MkI8xx*>Syly z>Ytx+wUQ!G8(=x`V-Dg3o^QwX5Ea#3yG}z+ZX`A^GV%oLZe$GiA=x;HA?8U5u?O>n zbha?bXCd- zu$t|Ee_9H{a1QJiG5!Abc9a)NPrvcNTHyBW_oJhd-%Du|v=nrc$b93uJuwDr`1KUWVEneB~`SdlidmW`g&o#MAA{=uw!+1RX{W4-= zH%4@GFv%mH0~;H`3`Ke-zKu#d)y(J5uVG{fe|E96eW^S7t_brD{yLqUhlc|pDR!0K zFf^bj)}Rpt-(l=necYr+sunB)a4^78D@)3DXmr#lFzTEek?W=ZEJQDmoSN1!dtsBK{f~FC6B7ON~uKs~sg4*Up z%5u5unKMv(=>}d6hfVHw5`sk40#m~f80{>RgB?4u7j!cS)p6sakVc=try3@C-U7`R zr8+_|Uy1?mZ(&tj*7*`x0ug^jc{zs4Qf>0iWY*Sd|NOoV-Ght?7TVZhC_MXlX-EP% zgG0)VSiM_unPP83O^E9+I)-4>5E63&CVl$brt!VLu`#|8FgS>kGtDfcMOtTmY@w$I z@{jHh9^P`Yvd|DI@*p=V_u@sevAI~5Iav3x(87}xpEBgv7puS4Kjt%qk_^?B9UyN& z`GE)Y-%baKmTwb&&$`ZkF=`G6KWoiA`qb=#7++q z6PkhTJUq(d{UYdspcC#t9N#;R!)_WQPeE>}Wt=h+r1@n?=Md$OF&7DFBYc+_EHn3y-ok8SsmEM6Xykxgp<7i{}$DSS& zg!@3_fLd{4SfKT*HEz=jP2IkAc98;8r;i@cNNYlLkHIeC_!x~Mw8$9m7TdXKD_HPz zH9%iVqNPV3!8aVAFla8C9{h*$0js#=_U+Ta1C5#N@QM_d>l1M6{^!m7ZNt=BvPDzg!;0LElmr5sn3EM`8|ZF>An-Uf1~UT*5uz z_HFcd7B*LI;($*}2Eh>I2V9yj{R1|kD}?<1Mrr9f!s>*s+^np;BGQ3wuw(vml-ZFZ zpTBXj_upu8V(2k_eEfI^i6Ek* z-dnl~IT8Xqh6V>sIZm9$&D;+~y^Pl=F2y^^jSSu0-Pl?XX__k%A#8V+7QiuBe;W$Y zJB$rZg#JQHe%&t3a42^+yfyv~k}{bxQpz$+loKSi82V#~9{@^PO3^#2B~`IFGCtqTaPinct#so{&aSx?W%_}$&p zAyOcC_1%6ndC70hF--^3WR_!>NIWa+6DQzY-{VpZsOe+an&;B{aU(H502on?C)WCO z`OhhxlepA&4drxuZfgdFyC-1$N`huq&wQX^xtWGPey`9NzTCIDrt3HEL(;;-q{~%7 zCrA~=tLO-R$(X$rZ6vg3b8}$I-!@)L7g0RzkYVf{cvXLR_m(r+D@ z&Rwz5?pMCcaU4iOyWIzy6KgTZwgG`s0Xb=>nkol>Md`3V= z2JT0+5Go^M?V{S^X<>C1R9}Q<+I_gUH?@88-20b~mGWMrZl_M|&%U}A(>0A&2MmKR zU%$ea%dgH3h}?!e?Dt`Vpn?|O>k_w0!N-A%!aA2{gDDLE12cXHN*s>PU@#77fV}(u zm^=>juC6=fnvd=7-|TvxgA%%Z5(mNRiOs*@`d<1O)yY6S9MIOlpX{Hr))r@nV+CwP zqW=3-4=k#U#L~N6klGq3-EE*J!Umse1T2EUc`ZAeXjjl0;Kt(iiNa?EUklGZU*!}= zv6bTAv{3e25E^C}pFnA$FfKwXQBYKOIuo~UxfBYXjt>2GBWG(MIFG?Fd$gS=O$2We znUZkt7W-FNrFkZW)!Z0(7a)#uRuTLL^q~}94Nz;G$;B@=fAvucp0XSqL?_W?SSg~<>mAn;nx3^ zZ;)IkwmGh@tmvI_ylxCQP3f7tkyv%s?mnpL$11DLtgJw{%+%f$osrF!@-iVgd4A=j zKA@n@jfKtN_vfJ`&!-+v6}ffe#x_pQ;h6@GWxCzmBB5a40Juhxj<5e!O`ZsLyMQ+n zF~YAD;L(1AdVgpaS{b-(ei#TmuWS#J77jl2X+T=<&Lo^)c>2fw_zAr#dyZ9=mLEE=e0@c(?z0@JwItcC|EHyqt267JH;ree}`t5u*8`qlQMBLZN)tiYQjjuVrdb&i9*ZATnxTLivyEKZ%WF9q04E%v9wHRRIYwgo zY4|97i{1_)Aq^|{x8-)vKOVBeiGxpsO9a|`(2?;#sfRY2MxO+lpn2?Yf~VHPv$gx> zW2mfJ7X)*=Z`}Bz;YMpdo1BLWaj6ZhXmwVZHMmu+yiK@Zpk|_YCfUVt*MmhH%N;c# zz`Zu@gdnEui*mIH0D_V!aux)h54`X(c;hJ}md?3tn;0AMYTy_Tu3Fi>dr!dxtQU)g z{Xbiv@E@5ZEofO*O0t7k4@ajONjU0)LwhMU7Ru^l)i<)nU^COUJv~L`FIX)JRY5Y^ z@%75jlT*LdJbZXv;j9p_8#HXB#bMV1B)}FmCOJ7fgB0ER`Zb|0O8eFbi>l-;QoR2a zg>N*97T;{ctqet7D27`Y5aGH;D&P)OHQ^Tedyr*`W+RK&*Ut|TL2xeV8?YEfaf)gy z27`~iTP@?y1%Ib4Qio!99)llLqi|RQ!cHjTl$8~DUgHXTlCNcH^S8mv{}+I{&oeU^ zTM!Y=WAlrsPO!R8ySv}R-GZvL;^FS~b5ZmC^o(Zk70URRTA*-t;?4QC14Rc9)g$>A zTONcvgaVs1pIJCKLMd0lD=4CE{_UkZj!u+3q5KVAdiU4PRkNhYK`K5+_c5HAi>vU~ zaN{YM4&JeD9AVb5@G+@moVyqCHQx5U1Goj3_OKL z5wn`UugTX*Xa9AGQ?77181^VxlKj8REu4MLqK{(v>KcVXp2RAw!F67wYRM+YAa>YjT<^FTDG>iL8}KM1<>ac>H?HAm@42L z9pK$2Sn6>w`6ZzVM|A=Z+kyiAl=fUjKe60y7&1 z?SGWGXA9MO$HU*DURtygc|hWlt78L%p1E(}Y=rn0K~P+3%Olf@q!3bh)(LxRaq=A$ zi_{Uzf6OOo9Yq>HoTnM8h*&ueqzEb7h?a}Htue%hefhF)y+vn#b$g12 z{Ifu*HOB&OR*l42?6&-E4D$x!?DoLM4;|tyw5d9>K+!;z`ggfYiu8lboJ^kL6{Q=O zkwZ*GsJx!>zYQfGRi-}+QO{IrYA+_xiHJnp*&Q9L5vKBP_@W-Az5U|qjL#J9*fD2K zah7NruP?I4eIMah(I<9I(^HbCi9BJd#hpeN7{;>-<9!W#1b{<$xO*#j3hnl}?4-MM z(j)d1YT|0F5ppDc2cagqh+kDfQp*%LzsrM^SN=4rpWr8{S#jtjMg9)Bc^i83Y`HBU zl8pa)D<~TCAzQ}(^9+T}!Ef%##{WIaVgfIMdIcj3yJxW4i{BL7@Gg(zMh|ezf+93i zjGX~Q5C!`jKtIks* zd7Wh|#hoL4*=Di3!uG202TtW$+)`Z_{;;MKof=65En_j2zIPIAN+DU3t=oH@q@bjD zOn#Sy*T(cfRAde?;k%CC4N#yUz&8gNrQtd3P<1EV6#3`AX zX}3f@z3^$yB52{z<8xb{KX-^p3;VtDUF~u5hnF*q;nU@!ht8XhydU*f6#gF2H+`Sm z^Z2%3V>}vedMo4(vTBE#^dl~i_LA60I;8dOg$!!kYLw%Q54Mh9s4wZek z>ORsWQWV+4ho*K67NzZ`x0c4OecAmyo3Hc_2TxnEU+{KjY|!WWoFOO=9OT{C%<@F;LB zo<##c-90Yz>08oe3R<$4{)ZaWel0NYR*nOQ@L3zSjnEcxv%=bo?%M%z0!@aQUSAKx0m2{NJ;X)Ebj zq2je~C!M3F*wxkiWizrgtvGgYMV5)OP#feeBc66WG6| z^wRWAr^S^OqtQB_`TW_z%Q%oW8tuR-vKRgN7Y}xxcp@0hqTx1+Cqev&PAq=>8?6L0 z3I`2Z!BS-$akPTbsmuTWe?T#w)iZ33kv4LkMYh9m`tvd0Ipd2g=8}zM3~w&EgtG`; ziJxb16YuQlsQ?GzvmF{yfH{MChHRRvwZhTV)D_%mfL8wZG1`X(@HzC(JK!bab4;W4 f$G=5qv~N<_{p8r=pZl&4CQ1bNgKpJuZrV>NTk0=vXbXiT_S$=xavN0+?bka zs1+ zZTy7=6G^Dk2D2B}O(Ol0|UXr@W^b~eiAp3g4II>=s*da*Fx zo^-3wJ1!bOt`T;|cvi={c-W=k;B`Hb$67x_oo*`J?7QV@Z*Q+Bvaf%ELygq$`SRB9 zA6Z!fG6fe{?AET{GBmKrb;zB6I1v;THT8RjWG$7jnZ!Hy&6l@6LQthi>Qmv(ixTO) z={kj4D~nTw#x=Cge!E-_Y&o5{#hcD`dHA`3%fL2SYS#}F*Ee{yCAeSlU0oYnU>0?- zS(*N4UF|Lltr}78lOmzqvv1#Q)sP&I+vdUeBv&ZSb7k?-c@oPb>{0JQLBWMk)0cr- zY%0%2^4L1JX!kqccD*^*nSC=(U{}8uvG#4fE`xqULq?$oXP=F6u-R#4ZO^hhU1O

;oWw-zgjcfyun_{g!7x$ zORUdORnAem$~rz{jG*I|-YrJ2{Y2+Wk*j^H8R^ev>{{L>|jpR2Yit+#36GBr^xGnMt&!pQEzla#}M3n?1VFa zd!F|7>%E`C1aBtFZ{awL%cy2Q(ixCHWHj`unEaJi9*zrTi3_t@y0JcKKL)ICQW_U3 z1V%=RxqQFcbwQ}IQ2%RuguG9Fcz#Gq+ovMG)+7y$NHUw_#QN?I*F2|UI9VmsHu7RT z+pqeE&x<#g9WOfyjaVkDr-Y3Oc(2f_Z6}ecs)LVjr((8Xw6d?AnUy}mmR%8cQ_Mo7 zyI5nXIZh!-eoG#eX(H)tI)ZrV;ly=j!)&h`bXOc1ikbG=Kg(BImS$|T+(AV}Ja{`E z9RKY3^Y)e7y&<=0S7gLn;v*;@iZpefN}jpz$jGUl94|`IZ}*Ioq-e6SzLwIN!&y@L zHK&68R$_DB2dfh@p{M(LM64}ej&XR`q{r?eJv+w5RpharF~QGjsmj)*%EiyMJU**7 zO6tCi7)o4DqU={LS)248S4>16I}kfb`m!ko*mHI}ovYF zVC3;3rxAH8O4eV909F*5-yix~bW4BppZ~c`m#^bURu+fgcxBXqB<**Me8EJ z9*MPzRbS8^POaxQC@CW14zHw4#iBbe-E`{ZkrPL96f6yuBS#j0QX`(E7HC~>&Yr(; z0cqR)=!XPpdjH+E0Luq$g5o1{;{P_ zwbWzHQDmG`HU5<-#VfL#1PBZd4b8KD?GyT7;?+0#qjY1PeT2hatklh5_?BACB^n@) z@tIX?PSP`_V)vzW!yj~==j*0@&izbm?ygWG@>Z~&ThrhyRwqNOt~E{}N@_Rl0SO_7 zeH7n9gLYL`;JH2eV$P0Mt%+*?fv8c2GcMC_w)v7DAS;i4*`DO@n-HE*ko{XD-vCz; z&?AO`a>;sq;Q^2KyQ=Bi=h&0{?TV=l$4nB{l_!$A)6CmbQ;=bMiyWLqNE{cwefyTG zn}2fhwJqhH3noeOhuBOj_Fqrb)?G*{N*ilQh{mw5AFx3Kd8_h^S`1gyHhPLywX=}%OYp+Fgy z<+Y{0D3@llUZ_FFj^u3wzcZyw+77vo#dBypwyg(D=9W_R*A@ zn>_{DzT3AH(E}ignw}j~!3tXvR6cUd@;;}qm(3E_{-SWsb$qrn%WN>?8p)uHB6w4o z@0CbV$4}(#`n%}&Fg?j+J9_eDQ%p2ToJize%Z0Jl(S|7A;UHn_-ZSotKWl4in^;Sw zd}-^#g-cUzobC89&q{L1eevQ&lSId|uY;~`M9nvnG2PNSNXGvNQvEj}?0@$+=$R-V zjFFQ_bZ*1J8YLU+?xUk|@{u3{8ttiiX`YTB?(Xa++nevl;+PQ(iC}(#QG_e_=!U2DXX^Rj;LD+X3epM zP7`+aEM*$Ds0tpssOvgeH?Hx~Te)-_o%CZ7)0RD4c9f{!OMVCVrJJ)DS+Y7TW@ctC z&630)5-{TVfQmI$CwFpTqo0xd{^CTJ*V;n+E|pE<_xTYuD@YvAKF_5Cej8JL9?^|e z-K?*8k!#O(M#}`0T+?cu9w=A4x5;B4BB%OpUS8hKsGDK5G&E}YcElK#DZd3Ja^Ieov)DWqkz=>^uU_A&j}#d#I4J5c z`6Tm9-1&REQW-Z-QxIFMzHQsK6P|{bCVA5(jGSBPH9pQOH1{}8*6Rf^($bD3Dv_dy z>X7yv>GZZD(B&g-p<#r0B53#ii*V3J(I8_*{_$QM<4a#aPkog*Y`XN@dUHig+<=<@SA>da(+I6y1 zw@qV{*B|O=G~SjXX6Uxx`B;vp6}8ur|Jt1wZZA58%nO}bwVjMe>ps{j{lReS65{^0 zg@)sHNm~;yP8Snb30s!3n_jti(dW@t?@>cyaSuLx_`q^P>`@o3P9}{Y=Uy}Jw(PbK zdiSsaJbDFhIkxt{{sU||mR)U!Vk@UCZ{_mjUV75RVOdeo_Pb7@Z=SVfW2w(egJIh= z7ZHVVUFp|l+9&mRg$i%znFU{MHH*mcX_NCEqt9OT9p1EQ6Brl^!8%whN9!Z?3Z08> z+P96HCq2`M9B~W(*iy5&4r@FX-fao!GpZP;aPbrl<4H>6gy{t*;cY{{+!s zP*3!gmf9PQzDbk{$)=r|cAup2X_Fc6EA$$9b2;eqTU0P|;++gKow9i)m&;?y8IeBZ z;(;fxe9UPH$v!#$K9EW~MV+W%#QtbevYc`8%3V=-E@7!>8hi;vR#^d5fV)P2@k=>X z$AlBE6np`+qMGfpE|rp$Vp@04$pq2)uuB$r3X z8K)m@!|_qhLY#Yl9LZ_0j3WPCaYLYFqjzPV^O+zKtUD_GnF~u-)=EQf&9zAnx5)h5 zJ;6$`agpDAs?NRPDqlS1);y|GX_B{FWdQ3`XYu&8@oP2azN%`GBa{^TR@hdyv)-Dn z2vUgm-<(JDhoGWYaF}XcYkz9M?Mj;vBkIRP=Ii--EpqP^z2B#-4l}$ztMiEe;75-h zu|*&9%Kzniq=7A4Ev~UqF}-WTy0SFoK((V8e9KA&j=OCe$xKn-p8&iYxKBEq}7#V0P5p?^6HDK z9f60~+@(H9vS>tZpO)%YJV2`UW=&mLJrd}aXh$k}42V_i4QW{q-f7p0V`9Dr&Yl$yL>(n>_XsfOmh5jp|_$hq9jIzA~8; zYuic2W#)lKfn0%|i9w_iUjpLJzNt!Mb4+!wc+IuDKM5aCk&H=|nZ&V06L^`d+j{7w@XjLRs zs@e~ZtEZ?iZ?oARG)5vR#$I`Oro$>%B6$88y%c+bd~~#7BiW5}ePqM`@B$FiKle)a zTAz!0&TAm=$|Xh4MvdtBsMbhkcCK$Laba_;A1(|h9$M_RvC^lWmmrsnu-q z3vuB(akHO0B0Q@0fA8mB6rVQG*e&-oPKlCJ9(XN!<(Sq-dh3>u zn_600z`jy^mOtEzi|o$8L~d_R*MvRwi0EU=1F524`Z9d46`iYT3h_!WGHrN?dsY+o z9Hb||@4UX^-(%&)J0Rxntw$D5=|Jst!e7|jH!Im#>%@r@xb&Y^`T+TTk*WIh4vV=5 zb-7+9&u=AeSvyup&vJrZ{DhH-$>L;>4uNY>V-zDdk)}sM$G)dW(;4$*@TSWpj|m9d z_#AA!`s>TPU(FxyY^PF>BvTAAf&dZN6&*aLbNL3(ikkAi6x z2Aci~f^-R7X%=7pPF>hjV)T8VPR?`q7L!sG2{9#qm+o6rj2za zrL`FZ>9(3l8a<-#6{_{}T7P$~TvcY%nH_kAMc$w%KbsreWR}_t1wX4W3?DnOS~=t3bO zQEDs~A|)ezb4{RQY;hp&;kDR_x+?>wujwYYQz1qB2N}LAE znx*ugb!3`K%vK$;VxpO5e+CRadHeQl0~4=~d`nYq=^*RwlS9YZHbRgIa}STcw5f6N z)*zy4Y3Ht8)mkr`)33 z9B!3BU)!ryCjG~F2l^vFJ2HFT6s~!!n##SDVkk7Odhqd@bFG_$x}xG2fc{X( z!A(;HGFaOUe7N_b=Mb2)u8@RIVQuJlo^qNcsv6})6K|w*m(wolg zCaRR4t*!0GxwX>XnQX@twa$2m1snVGxf;&QUAD2Az8)YJ`ya8O@sY3Z3dQ%_YvW|& zoJm<=WMN*u%;MMU z($ThP5K$?{h);7tiz_5=`(T@Ac74e8AbEoR{`mIpH2ak>BLN0#YE@POM+%8sz zjW3nE#dCNw<*ZxHtnOSO-{7O)sQk5T8nralXYij=zL$xzvOM5S#Ek5H&jh{S@$&Xv zOolIRd=dW=!lT8&$e4s}SC?*ucKFTa)IQcLwZAyZOTL6N2K&%g%%qmDzw-R@?R3eb>Wt2<)?w?6S z8kR=Mr3yYcJ2w~o=FMTf3JvQSJGHEH+Fx_tHCHMmft)iDjHL5x9j-Msm#eu`jpQoRXA($hGH3n&{4c-#=d<->=2{ZI4zG@dbjc8h@f=8b zl6kP7G&rpLHo-@BNQD0{O(SgPpueo7>zB0C4ijh->bCBgiL?pChTAhLX9Lr|B2z{ayx%o(d;AKu#iBD zI}xXyc{oMK;#4HGX1VO1gC>trpLi^ISR!(@^JZFt|K>jV;W z$=Z`6?RVVOLg)t{4_5j`oi^q1+hxo|ph-JQcY&m%h`Ffw=j@A)t!C>SI*%{-%}{;v z`t|;S^dUypH_1dLk~!`1%SO_u!ggaYMAuhU1xmy5ic?=t8GiM7OvNv7MTKC*cn>cp zQ6?h~osQ!2YRaf*3s#M@)jsy={inS5wj1Mv8&c7mBZv*&b_@LlkCNUaP8zK?t;4#G zVGD0QnqMFz*P8yknSsWJf}pzPy~XZ@SewppvT>voXJSp@aqZ-`T+_ZIzRzFOnK=GS zcGJ?)6yRRZ?NOZACl(NKIMht(?}D`qMA3s;~y>I@CNd@J)Dr?2Tu|Z1S)GXMdUv!62HP`#kAd z4~^N))wJ=Z?E6+7xa(s}b4$XNxCk1NbLY;bGVPqUA_^3tm=*t?&ydtizL1>CP|i7G zHWK2fovM?`!^Ksr29=k{D19zo-n5Ofb-IQ^8`^hz51i19VOTI^exZ!$1pjNYdmdEr zzcqFG|JgUDZ7sWU1Xm5pA5hWlEq64jk4O;xtN#!YNrQj?{Wm#TIe07|-GIp*=tq5sKDe73N`!m6d{5eEt1XHPhd$9NHxQ5F0CwT}}o^@cO9+ zWxpj}$&oCM`#)X)kk&sJm005&PK9gtx38_OZKq_4KTOphM66-u_rmz-)RfoSA@-mI zNU87NzfUBHE^b`H3y}Nr>KuE}kIqBtNrK|y`qvKsLsBpM1O()2r?jtYmUt|Sd;aFA z-SUeC%Y3#Io$Kq@uj?D?OyUi1z?5j-1uRVbX*WBQzFV1_2wAsK(w$Q{#! zhQ)FGJ{7A~x~AmeGiQo!wx|9V{np6H2m>1_quLiIyb72(yiZ^Iy%I+vozeWqRB&l| zD1=+*v{!pw^I|HVx2E&<1}mIM4Ic@93_{oaV&z`#Hr z=55oP2xT$X&2Bb`-?Z)-l_V3-3P<46?@wQdpBQgX(^zxbq(BUv(ga+qhjM$}YGz(u z_*7s=pZS%4qU~i{$=dIck&yzs!)4-eo%KE zm5}IL7~IrL^db5q7*0os+>Cwe``Eet3ET*VxlWmj6MfE@yi79COrIo3fc5Nb4R7i6 zhuu%vXYY1ZuIpvp(ms2w3?sPH4&VD12mW2w%ve&I_)@q1Nu42Cshz1lZ3?@83H^nf zMl(rsk91}~0YVqd&Byo~&K$~=jOD1am4btyY-;md+er4!c6qb?Wtm93vfV{9pBO)X z{(SPn(6Lq}$)SuJR5ym5Lb~4Fx`1VYGM?E+U~SLosiL`Gg8`@4C!Wx$$>fjxeWN&Q zcBPtbi1uBdXg@JM3=lG{kMLR@Wc43qo_#vTA$*Eg`!TH>U)Eo_uUzLw{=-u3W8&fz zB2G2VBwx^1XC79Fq)UmTb>ncrBp*E&G07*oIjV(58CE}L;kLk^Pc-nnhxUeJX1gR< zN?=F0Lq-9~P?c!8j{Y7BQuy?k`MOs%PeNk!YDy+9OLWL+ie0_p+~bI%=6#ZYs8hRX zxh~R2UX3z(zTrc!8h6Z3#c=FeqDRRrF2qcQC;>!6_|mxXjnqu^w+ZT>vpLTNIO9~H z!Kd10e}XSS@MfDTE+ZyZEJMD$CG`7*E7pB_W(*z(3v$K<5f_>z0LAr(6IV$7npOEX1V5JYn6L?R`L^d$JW1|^H=SE25a7lXr)Ld_ovw!3|`%X3eg z#B>zejtwg@LN-JUPf>SOidL9!eBpsl!A;~aX0Oq+enQDzdstYA2mj$Q#{kMpTZ*~2 za4!aU#4Cv~@3ViKZ>u>-F)pNTgJq(n1RlB~nqLXc@=HZoY`S8jrD&xH#L;sV` zC586Aoo8B=NY9B`2ZxHLrpxlGahIuhXT0Rw1Wgmo+4kY2`b~e7VAVN||I76Ke`biU z7-F#}t@Ijye*)H`7*Yf=_#cmfiN~RRv0#IL3}9t$OP7~Eyeq9 z`ePq>Mv?aDvJ#vMW(4AFS$wp5xJky5{2xC8xr_GD_PymBJqow=Xh?K?3D{_xV&isC zt39?HyEp&h!;b#DTx0UM1XBC|-GfjzyldAkjELWeZtK_9g|cgtpQ=|FRyQJK+35iK zq=J#&Y3EdxIR7z4@A^OcXgrsB0cL1zDLTaH)3lz+_oFhpe0gXdKbnTu zSEj5Xmd2VT@^5yo?zgdF-a*Q1cq!%{!lM@!9K6uu+_x5W;6&fL=_wVXJal0q&N!mr(O_Z(g4Ffh79T~>!tIH56PGN2*EBnyrMcs%=UDyKVb$AA< zBL$?jKT4Mio@QOV(3Yr{G&?)XV^GqaWu{_U2*GR@C1uHae(Bm`c&6U)=;%~u_Hho5 zc$ACA#zrysMLZ+sec6O#e=(H0MfQisw zhY!EKUg=+dG#5D97{1Ah7*9G6VX)(g{k5~Vr(!zQAJMs+oSgXRQ@zD9ehjVgO3~p( zIq;2)>p^o67IwyTQba`L0VOj&+GI;YbCeVNgK~J~{BNrLgw}w`_f&hDfrW(yf=6?J zvVrK7bQYn5l`QqTAJ<6j#!$@GHr;0{85zPX3j_dhV-EN_7N8O$*SfGc)i?F?G9E$4 ztDlU0p5IV=eg58fl$Nq`1}4FHsYa%z8;HMPPPH+3luB={L4s2&@o=RprS7*@1SM1T zXAy%k)J=$I^UVtNY&84!H6g0Le*OCE*RKM{@!n4-Mr%X)&6*A$qn#OO{mSb5cs*R% zvF@WUT{~idxL=YwW^H|aeG;6UiJ%wh>FHkG?dI5&j*bq19w-JMgP&fZljF;hM1#_j z-MwVfOL&LV&u?L}j2ZVCe*U?YsnQLY8>A{48q$=arE!mdGqV>_2CP=9Ak)@CK*EQ# znB~_h(6NxS_!iW)<0ma_FmpYTsCGSLa*-O_MuvuxwX?@om*=oBe?Py8_O!m@rQVwY z>t4BAL=Zvp^72kjPV(~g(1#HL{0`s09K3K}z_L>{S9tTY%_xHF5~b_Elje@jkJN?x zK6)fsag~qAZR|YW+QirN!ARXZ>bknCs9bfS{G)|aCFA%a8a=dw>^>jr`Ps@)kU*;yzIw4^5l3T6&?@bs;gpn-Ila4$BIpiSmxRPdW`np+ zfy0l7)JG=~!61T^%%WNI)EQ-wgvt#Sp5y3I)4DK0S65dQ0Vi>K78VwSFDq*w1UYZ- z(-Wuh<@G7AjnjCU81O;q{0411FNet;bRkfTEzKd%P-o;qv3cB!f^boxsXX(KiKop} zg^{rRSbSz?W_z;M^=$3apr&bvrM2IJ*1fBrW}q5Ezx{A;_tMV}0_1LQ+5YL{M=43k zcf4D4K_Oo~7Del2Wi|Q9j}fR*0}gDkqSaO8I)|+#XAp>Y9B(UFCG{fg8Lf)~LqiWR zF|C4S9A#&3i&q-FKT71aOd5;Eq14WhPLFGzt*}d(z%Erj7Mx`L_2DI6jZ|GNKphe$ zGb6*FRRZFS=V*Qs+@zTu9usCD#B(EcQJ#w(Pmjn^vWj;j4H3EsqMpw!+|wF}wCX1y zqeOzB!2$;KlzNrEzdF6N#LL4&NkK8uQ@B)id&_l0L&A1fqe=PTIubVxfq;($^F-jY zX99LZRZpHgDRo;%T)5AVDecoUTxnq+DRm1GhHvYlO49EXJB`tTfk#D*?As%Caw|W5 zLUKxQasBLUhHM4wr{mIm2ZJNB5HH9TOuhU*Mf13X@L#A_;%Pv1Vr^~7#3zO4!cs^F zGyIQ+$BrE{>&O^>b?y!vO7nX5D#&cyB`YfnpzaK`!uR{jZpU=Uo8jlh+?Ti>9!vK$ zpKDv`nWDCT+hNffjf-PFWpj4PmRC2A&wiv9*3I9`%kY|*;Ky>^?jjYu`$>a}(VCJ>y^HAz zwb^x+ow-`Dhd>ame$E>e5(2A-!-n`q3PglkzXl#4jCN8|3NiR$V28-=F7?`2Xb{0J zZmc$JI81c5UgZOivHe!@FkIN$$xHRuK2)VXB~8s2VPOo+%oDnmDlwOWA(;r@Y`ff? z1^pA?2DZw4+NqZ2!p86MG#I819y~ZOFo5kos_?RC;zEj6<|p1S4X0|m+*)s)Xg`r_ z(UlP&Uo~I@_sJ0v5v}Gdcqe}L7VDHw&8MVmr=UH?P3j#jz(_Tem6gw(yWL||x)_0B z97;{)D0puYL`qxwZIN@`bK1hK{`r=hCA`T6<0yi=q570#YLi{7TM#4~cKkAi~2 zFCf4m!{{@{<+}S{y?e*U!&7e|)SjSnl$-m?^V{kv+QyW8jQ1HU5(_wkX9vAsjD>}D z_YB<^%Ez3^eKP+jA0MBfV5@m{@3QkqPKQMfTp-V$?KgEz1P~h<8mgU}(G=UxT})9l@QkPQ*pP+MEHUO5-Jf(EB<-DFTR`l~8kZ0Xu5wvqcI(shgwe7*%( zzkU1mFxJ-BS9&E}sPEQFihtjmuIrf{sB!bCL8p01$y%8sn5w*tit@4yn??Bk`0)c$ zMXpcQ&2}C!u^vZ1CUI2cveTy;1TealmXv&PnSE~p7?GjjH~cVR3P>i{Ugrh9WcEKupN?~u%KM^u^K zTLCrM{#1QZVPki<+96y1Ke!>KeoAIu~W^J)+7jiSAp zJ|!h3)!s0 zzkazmJN*q7z<5Qv{1D;6e3V?=E*sY^swT)lc#S-I)`o$WpRlY(%vQBqL} z(^Jge9iw$ztF%3Vuq#Mv!w$J6O;uUt#>K@wxO+G2M&pO;3ag+Pqrn>b`PfUzw{WOI ziFeTF&%^34FA4grikb-A1))ij-$ey~%&R8Q2#}K1>2fO6P8CTQ#D#78%MdlrAn=qA z2EV3Xhhk9gJ_LOHoWIy@xxzw2Lv!Tl(dWlCpy+TNIWi1tHF;o(u zK87LLR=w(FTkXp!mj%aLi-I2ITlba3$8#v?7%#{WW%hVl(KoJnw6*Sw9i{}VgLomY zUcGvSRUk$q#67hgFS~3-B0C>Hb_{NvD|U7nbK8SEEJ}n5N4YK^IdTNeKO@Xf*yPgE z4ew1`BEk&{xd%e|O(Pr=VV6rtNTB1`x zhN|V|;G3$wa3C_5oEtrs)ZgEaGaw*r!fqZ7y5AA|xQ!p9uv1Rb(9jUTAMfz~pFiwJ zk4A|)UUHNs#DIQwyeoMHg#bT4$6l%m*9m=f^|l2@ZmX^w?qkOi(A<#Sd5zLd#0GY~ z=fEuXwqEQE#yLRwL>uZV!~#Srq7cAz*3RMqHc26U=S)nhQsmxdvDoRv0SX3zuLX`t zJW~z;Sx7`Ly{gB;Py`MiJ$iac>Sk}za+X>1OJFBb6`?-aVH%}oCr!7`P4x-#i)-kv|{@-hz4Z(>HIFXdWh{94pfPg`Sd(oL(_Wox3=;I5je(U}dtf zCr5jdl7^1XYkhf?sD(RrfVxcem2SW@tev8rjdu<}rL*j&qJo_DsucbNV-pkq1N^c0 zAoclAWmrAu=Ncp=yw+D26!0ny-Q3(HB`dO1yg~H_*0cU}T=HsZ`g&>HjZ=yUlg~!g z_4Vt`Y3rjB8+-SD)?MIIs>G7E2`6DHIeznL!NFXrK zcpdQj^yJB&(fi6?Zhhalb#g9;2_zs2rK3-Xiv9)~tJ~4EVj2KIhrD^SC4N9e!>)LF zB%E!w*L|vINCZ5Xc5mopsKa zL9ryU=m9y)cKvC8w<7ncQ>QpMI7CE3cfQYnOw{jB%uWs+I>f`1is)lg2K7aLp*sWv z7!FY2;p7Aq=0+4o30rml0t%PJaQizDV{;b+N* z|Gsm_!0pG8=aaKkRA>}!PN(*qkZu+j9d<`-3FimMpjkhE{yb>J*|TNfz?d{TMhF!g z0YU)`+-}^s;o|a(@L22&@@z++RBa)IcM&|hY+W>S->2#(jH`NCb~M$%yNQ5J7D74> z4h}^B_2O%>eZ7i$SnL7-QlKl_{jbsdE@%ZS%gYZh+Su6G*_~{y&INKm3u!fXl%E!v z64ZfWj25OoN@9b3w+!rlFCrp-cHiL?6%|FRr_gXUzw+L0I?yB#?(f|k?=P^gq%JRZ zS=R&~r=z2DmK!xe0XMTvhnfp#ZRsu>;JDXVz&jrLZpD1GH#@L zZ&?LSb{JdaVA<73)*LvKuH**IPn<}#01qHDG&--P9%pMoX*)YRc(E(}7@gPdaBFAT zOmZx0pkB4+TK9pAilK<)ihk?+O)w0wBAAZQKGjB^&Nck_sDNrfC^R%w;ml0M%wQ!2 z*@fpkdhGHMry$&Wdy`u8U$M5PPIcFJ~n|J%k}b^&Gu#^|00aih@EKaQ*CA?@Fr%7wj_`1p{DEI&De~@882?)w0M2 zCkX&E1%7mZ?Co2(=1qq95W*(N0cx;1KK7e~-Q^~kDC&UUMx&FVbt53z@O~p(;=?E& zlyIn#)>%jOM+u62`T&~go_q;YGm~n#WA?GKPK}OgAYgVuBPzv zjL3~Ie_d%VG7k6>e#-Or{9D-|KsMfEq)wJFvU_u9!4n zLNHk5=>kwSt$p#{Gpv|0W*3J&xFsL*0JY0J47^$Zak)G<8g<4s;~8&m*90t-SPwoQ zbVHB6rhv?RRFi z-%>aQO$rLxh_g|_8b#Q%63<;hbyZ}lj za0Nftg><*aXrW8IA2|l;DN!TMN+_Iq-@a7tAJcn4EIdX+O(D92&HkXFTk7ctDaYwo zYe;OU@45mN=)r>> zo$YENQHr#`-o9p0Fl5Vq{FvNY%kNe(xFTv#2HeIxde0VT zDp`ScYuBLV0Ovq_X)+VXZiJ|wD|ZNP{*JGpmSv0uwIS^u_fEK4f-csyT25o z0M>f|v}W3n*x~qvoAuksT_PBJ2Y}%9JjMbHU^UO5JW;GJtnBWFzDsBm&=L`<3gJR^ zTde(_2L&}l2mpJAK*OsSs)MQmc@Bi9XEDO!7~sGOhW6(deq^ z>=cxhvw!>B%Kvx)IID%#nVH2s@~{s$*9<*oHEHx`S1vC^43KG1MC>YFm#yjfQygmE z54sAS)8JEjF8O3TU1w+$;6a3$Fhm;@mb7B?$16#+d9s4dsZ?*na|<`PcQrE79w z49)iR#S539(svN7Z{a9C-oG&)z1z}cWKhr`W88QVbogmWR9!a^C)_9^{3S}L1H>q| zl#hr*1)LGP1ds_l<3?`*R7}(%&x>X@ppA^dW(9{$$?9iZc_*Sv=&ii*B z%XWJHvF(7G4$?p8{ zGbwN18sW*r`G1~VZKMaYRo3k$Nb)R07&CxhVYh@rFC&ss6IT$}4&6;QOOriB>_(>} zz6fC>TkZp)+k^G(ASVYGFF4vAzARs~{(D?HdM4nxRsM(3D6dqr&N{Czz59wo)I^B3 zhCN8O_1nzj$B#j!(D*MkoGBHs6)tz19v(GrshRQwX0o4JXk!{_ISo-+slZlDR*e$7fPz#V?Q=xEB z;|+9fuKh+)umbUukFn=~n14E?&H-tsQ1sf3Y_a6&+cRf7e@1 zARcz(Va*B>turrv^Ca1IzPonkvr(9sdyao)(GkoeP^4i)zrCGh+K=KqT1+z-h@U>a z{@2@sL{k*=c=`96x^i;6XIXyAX?Tr6cjAR1QKGQn-A1es0db z*W@ez(G`pmkOA=dq6u(tn8)laS=3(~&9fRx1LTjq%)e5#voA@emPS3~nb%Vv7V!KH z=QM^fCZ1I8au8SvQ#%Aau$3#<$csH@KGGp}QR#CXxaDkZXE28A0~XzR|0T^pB6~y1 z1D;-+d>l_D>?(kExWMqa_X3LoEiR9yrcc;5#b@u^8?DdImhVQ9CGJP+7ZN^w?xXENV_`e!#(J?N)&3n@aTaw889B)tm=zNf6Zq_1aG4a%{lFs-PY{>5audnZ zb4|p41krJ)Xe3Y93OvK#-@l;1&Bf(ZWcz22`R{>u?raJA4Du6gFE5Km0Q6T&Q&SPT zNMoZdS}A3Tl$Hl-4~Ira8R_X=+}-7tvYsZUrb4JR<)f!&zx*n12m1w3$A=GP(dX%x zcyv5|0A2P`?8C1e9ViBu#PpBf_T?lG%0QhCi)nClaKLW?;6HitqGe#isEo8UtkB0f zIq#zjuu+?5zzPV@v#RP(%z98(6e|PSd7h7d|Na%-?Y((a(V#*+JKAYu0)`Fa87HkND)| z$G*OE)6>XcMRj%d>soiopz~^JYo83Qg(isX3+&OAdm9sj-AIU!$E4$nQ;Wyk^saZE5<&yGVz*MTwy%1mA~``FXW6Byoh6a>Yr)^LI;i^(7r09ZGebUpN*G z#S(sM`XG(GBPTeMZFluKz}D) z1vh%DuW2E|^Ssbz;5>T}y2V!zAm8{O@&pUfP*p8*__6P4TX}goCNZ+2%a}lbw#`_i6+*cD7lqZ6NgGElCzIo#Ywkv1oOkS2bnXc+JO@6Uk ztEXVz!*t+{-d{*;cn1>93f{e&My431Yleh`fI`Q_HkyDdXTE!yaZ2>M)-u zJ+1c|YdQA!U+4tSHZ324ujPoCn3%o&98Lkfs&8T&9v;S21fUaKZ9o)G{12&ra`G0W z+K?zk{ed^T$}1evokKfIOh|xV13@uZ8K6>h^*zpB0c&apY|z$yFTLH4&hpBYE7@6D zXu1?l5BlCHEC$gzREw&sNBYarXrC*#i1@V_YHB|+3!Kr~`uSlqEFqq&q`JY?|2to!V}-M^>5GlY)~cPeOqd6cofPF*kP!H28^!&FnIM>C+BNOG^Yz z=-2%Lm4hj|`A}YvmmkZ%BJm{h z{Y(P-O;6h(YZ@&|aI6))PW2j+tEZ=DQ(0G6q3ie|6)t}MX52zb>d48H%Km@em6DPY zrWml?eCIodj=_{<0|QG2Bb&Qs@J0BiV`JHSIA?2XFRQ3D!+}vX|79T}g2~g<^XSo| z3A`^g^!4GpNJYyY6GOwoBLBdeVFwYscOlaf2jBnv!GBa!rydbbwPgXX;d8*egpG?hCm!}R7PpR%--;1sF8uikydCf zp_fOXkzEwsfF29S7*4fDM-PI$$(rA*M`UM-?d z;2?JD)C((5vu`j><7;nI)mDDZ3?lTYw+>89a37yCY5LojGnr<2df;XXU zY?@QMDs&(Grk$7Ko{vOZG%$93^Kl-DWgH{winoOVC?Fu9-B9%qrF!31O!aQHoGaPO z$XH{NSyNpdZ{|;YcyJRq%xoPTBufmX?xY%&T4C&Y{rVy5po?RJGcLe49CO&x(QcoV zn22`_hJZf8$oS%g-3Zno(>FUk;cRvo58Jov9zX%3u&}T&h=*XR=a^-5VIAK?@g{DA z;cXMt*#@JND6f8^7xlm#VIre4u2T|9zI6D|p$mw~`wE3sAoA|>->+T0`d9R!2bekl z?ZnQU;dt>3R#AEehHArf3rkC5!`Ulx{doEXK|K{nZx{st*Bp{asAdzBlk$5cZEW5p z>q>HPa}%dRNDxWw@^xEmIWT;oIdUWhsTxh$F|Im!3KH#r3bz?awR%yz*#bRlpd`Mke+IZ||CZDpxN;F1_#h26cHVQDF; zj?T`_XW>+Xl}1fl`;n-s9zOk-mX@rXoDxugF|Ka~_M`IPVFH4JKXQZ)C13$@uU{js zu9Vl%Mu~eG^3j8&$7LvSK2Y0v@59)bIWI3S8uRLc%EKQ==kEOd_lwIWC?R89b+E6z zH%yQJDTXG5Ur?fT3dt5 z2QWUX`LcN{o~EIsl%A3Cbj3K{+RXYRltlOyOFZ2<=|tBtJV#rCq)bVfK-6*Ee9i#GH)4!x z2=Mi_cXDFi0VHNSd2$w69e+WPOH@=_MI{qLEBf3Eky5&wZ}$Vf*>@0%R*L!SAt14w zTn*?#(_*_B#8pt7{lb@K-f`}2R3jQG<&OBbIMH5Xm>zpMlpe=FL0)esSVDnX!Gg z_9Wgfnh^#DhKCOy#%DhHj(Ui`oS1pm1)_puvJ)B>2Hs1nmpb(>GZVCc;iI3jMDisg zs2CPPr@6WPzBwJSgJyv7xPpR0=*n-~fe+h2Y?wtQJ)3b?3<)47Jq@2o0ib<;iAe=G zCMV{hiHQ*5n@m0Lk^#R`uu`-Z=#!|%xb|ICP=F*B8547)=hH8_9yp>%-gPFv=G#~T zMh6C7$Hl=~$KTS(pr)^1KVSp)cG0tWKMKI!9b0*Lcrc-UTYk&;N}kh1n7_X~WDTR# zabv&>K4yM?ev7c4t}YYO%;+RDGxP9O?@b7%(D#Eg;79Ozk-SGVeoJy5KMumS^KW_) zySEm_pJD6LId|?F##?r!Mh0qX!T$b~q&-{D?Wq8KqppGlT6gE&#(Rd|yOo4VS!~G< zOsSO4An|eBp{(pG8txWh?m&p;*RKx(vP;|+b~)1S#P75VhmW?fFnX8GcpEp!x==VX zEJn>izP8veZ`>U12vDJE^XPiE+sNYn{;Q2-rn8NVeOZ49LjT6z zt&JG{Jc?@(EJuc1xqSJFK;)ArXV*X>eCc@6UO?wo?#q&do45eK2kGino6&ma7Olfi zLP97U7`J$!ll9q^716<|2F0SFm4x z;r;fd+1W)QD`g}^RN{_oWfm&o&K@B&Br~K!R)q>tR)bK;c+dO!{eH)LynnnM$8#K> z#(iD)b$!2|aemJ8{2Cd}Vr|mP!U@X@urf0(@GG5fhYJ`Yw6ykfB(J`Ubn3*V$+XyC z!;ejEZ7*VWi~!s_Frdq4D7I748x7{d-@ls}?BffVw{JOy3Nk86@6@TUD5CKi4?Ae1 z0Xx!l#P;07<xjP}-ftKLgi z!6Dcf3SJ-Bd3oc7$Ni7Nodp zKmPSA8*5L2{eUI{^78f}Vbohd``t(C*D(;@5uDV!eWsYTWu`V{y%uzU@FpomMbx?v z3JWzd_3cibI#pj^&&zrmIkK=yfA5|>WKI%VP1kb&HPjd0pPp5+49;oa0+Fw+|Jx)6RY-gxhMz_p8YuYwo8nGiITa<>oQMSx_Duxflyg~ysOZ*65o zwgEtRjJ&m?8Z;-U$qq=SFq|G_g~@N<+MFwa74Oo1eeDa0@qQ8}kUdKNCr%9Ghf5*3 z^7$1NKDYwX7qX&mrmhTtN({2G_(UWn_toSe_|5Xa^P*Bv+4YoETvVcxj+?AWGb)^4 zSvZY6Mk^}Plf48+ec$=PZUn=bnHeG8`A8p|o6%>+ENg$9`;?6)7omrf^CoR5!!+Q%zJ32LCQ<+zw_()#DjkGfFjU%6&reQF zWOoT=pnjCjc!M>Oyl!6s3S)j6%ZV(Ogabu|9y7&b#=4xX=!o8TRJr#7g|coSA)%qR z0KJm8sQa){{0_2Az?_~coA2lz8H|l_TWBwKy%EgEX2tZX!_59>Qc{zn6dcLIlwTf0 zaV?{$_`a|2ncr8&8L^QlAQhEZX4ko;DG9)8Za=ZmJ`HaN54ag1ASNI9DZZw-`+6`m|BeuM~2RT-PrJF1ZuA-BzGS4NkQna!Er=B=-mzJx7JymN&{vK-onTY~!`b(b^2}>^o6!@zKi9=5&<-IJgB*xh zjoquYQ`;Cg!Gi}6hK7b@dY=73MM@j)yFBOAueo7~PM)8?%TWrPxv4ry8iXinREaY` zesnrY@$&JV@}{;pi`g5xXg(QN`gQgAS*74*sgw?~6T%=1x$mzKXzX=s;?uzm9%U^R zu<^LNi2( zdC1T6^_w@PRs8ne-Vab*W@hqrrtx7EQCih8i-q{X>knXw4)0YgJawhb#$M;9v$>qs zCiY)n_V)J}8yaE>lH}DhGc!+}3H8h|Q*vsiM)%u);2K7&%(UZV?7qTL6V(R~Gi_9h z=0o-iW@d?~bxPw;iAhNO?71J6kztEbN2ez69iS++OO8M=69l8d_6DB4xq-m}DXGNovA14-g>EZ-Ad=>>S(>H%V;RST6{%LKglvq@v5j-ps9Z5q zwS9g`zW5!;Siw*Y!5SA_WDtZ1g*@L;X(t8ieeom1tqA&(ss$eJ(%=z`z=@J2_JI>n z6bNc|5<=GI_4<2e{Cs_Lv}sPBbayW*DFNtk)Wbt$Ml1j&{%$_hZkUes^tdCEqWbK7 zU+irb5>h|4`&x%9UgB!;qlxn2DDH4$Pi@Q0v*Xe!_gVMdcIs6ZL4)StU!|)xoNeMFo8_xlKT~~ z?fTvaRr#mD(#qU*v=_-+-mhOjUu2tw`F2y2k7^XJZ{@u|B6;Z0ow@?jSBw;G#f~B_ zVM-H=uAQ>4Mv4fe1AH&D#(GW zqL-AEl}R^_zQ@!UOoypD?^aY&3}GM8e#{7-B=>~%rdev8nTOI^#$cY6@xAQgfjK~g zLwN>26v^_h_aWN~?nt||^`9I`?rMDRX%h7k~ZG6_pY|RRLn(D!Xx?Nw;vMk^+jLP8bfz9 zv$=q+VjgIY-mfsh3Jb^C*M;9p>4gP>|zf(=ls%=ZswOm81IW84=~-&fiwb8>=rUAcRV7h`CaPm z*6A;>R0)kB%y-QLl>|^4*WrqG1@9wCZKxauGmi>bmj@T@JAuqB6G^{tu zqB_;=S>1pC%)5!m?BWS167KmyRZ;fg@ZQ6VcFI$TGb|fSu^U@}$t2}MePoeYe}Xlt z3ezHCrgbkJwUFT+GPAvWK3uQLg&wk`N|l$ayRZ zp5E)X&i9;$z-`amB240BY;I|pRxw;h+rHF(73)G=ybNNF=|_9m=_&K6r8u~KXag?x ze;>Z=c;exq^uTNaq^ajhf+$>V1c z?J-+$th5ObAt>B2Y3cff`F4*FPnj}eDKM5 z4E#%LWJzf5LA75bEAr-~=f= zDJ8_UKCGz79{wxhKKLx~T&LCy1gYr#bu#t;3-=cl&CSego?Q?(=#x6#ozdwiJxV|0 ztRMT>&N0w6ux2{e=ZOU$3c%v^^*e&mNMG9m3dWYAbcqm=8BIZSev6>tpjls3I3vT1&joD0#8pfQ*I68@W^ren;eIqNeQ6**Fhqk^n`K2H!+UX=y2#?fpD$5M)(Lb?9ykg1j_RGIC!tGd9#PIzXvT|@X2Kb29|K>GtWzCX?- z&*foO|JD$LXi#=z*lL=p;szD!y<3LcEV`Kqd3K`}nq$M;A9Ki3HO6v^jvgb{9yw4vsydHa z4K!@%3g^%e_IT0}F#SLpS9N|t|BwpH!SfZUrD!h3ZjTtzh9g0s98lsV14y)N{9fnI zLFE&Q@}v5o=b|FjuaMlweiOBF-FxFQR#en%^cSvG_i+-4?c+IJ6yTN;8XcvS{ih&d z6pB4jFshg$jQSCJb~|X)ptMRi&Ntf+LL3K6oXD0{^=^{IceJ3SR-@^7LHcv&&cT8J zi3!t??|>*tOP>|IKk93m56tc7VWuLY+(ZOriqPs&vPC$C!W6@6REHP>&4Xh?R^(Py z$zBn`%v&8Vi6j6tuKz>5woQ0yYAQym5_V6r%gZI%>Cps>a4?!jC0hf0!%c%*eV9+j z4!|B*VuubL0zn#V2SIi_)cdi|m##OdT0aDf%4JmJ5Px~>ZFJJ#58vQ*$NhSG4v&fm za!1OG@7~?gq*J`j=ZbA98ZoUKe}zmU-tluY3ciBUx*sa;?sC^S~D(#@xfFt4zlDhyA!u_$bw;o{5*_}3|62RR2?RF)ApM$WShidLo{?^pBA5{Phz5jK0%4BT zQH;n%+(Bg15M6IJcVO6C^G;G?ENqh2ER*uKrqoZ<{rff3N__)lwx<%tHaktc0auTF zp6DNMm-6C1;}Ld))%Z4bD?Vw@p3!LrRJKJ7<87Ln6f>zKm)5u<%cwd9-)7LJT+o`| zP9Q#Hq#vRh>eC3_Yn%{9lIcItu=JBJo{#DH@$7tBH8rz>VT=`gPup5d+e^oPVm{uK z%|)+vV)TkM4&Gr5QKQ_OldZz@{b=+0``mWNszJ%Yx#CZf;m$`D z)P#ytOzF3^Le%O)SlZg~KlskS2PwyCo9~p(dF?(U(qh^}Ab4(bOronBVKv<#Xq(LC z*nX>YY3gEis3R(#%XZOApZoD_bag4(S>FA-TZL@Y_APU6qW=9648s(JZ@k3chWhpt z5lK?sgynPhg<=q8RFXVdSsVJI8R>as-np2-(RA}>qc99J)=l%gRJOKMmp zXxca!wcb8}{rDrqg(MznP6V3izFpC7cf{QyH~%gaS2`;1B#e$)+srZ%vU8Zve;iHd zJM&Qfn@3q-Q=XA#!@Fmrop-W}46cxVJ*)lFkd<~RY{MAFquqk8`>Ws664Jj?R@oKm zlX7y*Ewo;D1$UepX(%D(JN$e3>OhF>d#@)cewBL)T2-yfDA+Vg-fc2cs1bB1;&pD( zXAXRJ9Qb)>x9NyB-KTQ(S@*_p#r~+(8><-t-!$1Q<(vxtRMc=-*USfH=g|=677zGO z%`Ii$<5vkHO7#cMQD?(MU@mX#E71o2(ou@->wjWc*cr!K=%Qo8l4?HFyf3}Fve0vC zl|P4FEmfoc6!#z#VKiXZqU?QTs;CxspGrSlj)wCKFFX1?1$Y!MC;3j^`sp5fx%hba zIH88_QxJt6ft~WM-Yt5*?X$Idv9B90SW*y$?p)B;$j*6VdrokYN-UZpjPNU@BIILe zD9yzbnnbD!0+BFBYr~curo46Kh5%h?D1rFpOZg`&LUtj&t}eaymG*h&xyMw5xhaO> zZp~<>)MJg!+Jc3LGfQ_lIQWcF(nt7gY>v?U8j1StH#NA;y>#!zv)7o|H1}UyFrpwB zijFpU&V6PUFm!Z1w|su8DXZbQkvo@#Z(T1uIyQ>?6AK}Wm)ZXCchhg z)Yvt3ZHD}rWm{lv{#i8Dn^^oOSW%sLk+8UPaj&kmwbW&W??W`C=dXvWuf{T(9i=6V z&Yw~KQV`2l^|$3gQKJ(D0b95!RRfeCR<13EkrDIad zn`xyHG!v7d>rbC>iyc?~ti9@|)|hHPH_I(`rf~G~8rN!IzDml6<+XCEf$b94-WUr; zmtVPB{bLI?p`NfP50BvfdRAwu?4LVCv${`Ly4Fj&ZLV6E-&5J);S}lp$UxTz%Qw6H~>xmcg9$DkqH2cY4$#Tse`uR`TjL9tsy5_U&Kiu`MN1%d?DDzek<;zpriAa=-Odk4?#s8o8vDS;6~SqXvPvZJ);e zwM*fbj@c*8R#M-vixN>wwQg(+6@1G8An#CgJ>}P%X3Y_ur<(!^oCX;0aB#SWths%7 zbY(taB-WcCxLRI4N-}hyq54Q8wQ-^I#eIS~VTiy*5F_SA%l2x&b$t1TCdCYyYEr;V zPWEZUjcd&}7P3`Yn6*cHwUrFU4;YCDP&?8Q6^OeU_YhMG7ZUd>asT{G<1${pzK7J6 zoGtkB4fVEdZ+osTOgg<2LuTWwqx)G;IsWz>SB|O_)rGrsor2uY8Qj>yH&VOJJcoMj zvvbl64LLedh;fPCj0kMHe_n7#=8P#-98IHhvxO;v=%fDOJcEBhxD)+EFfky+O1P-B z)XK^#m$WBi&%%0;&29$;|F_Je%&iBfivD>Z(*erG~MaJ%H=X8tK$)wtfa zA$G^_9!u*J>)yp&7wpFF{ck0a@cJu6UO7iJJ<&0ci;(aCpr0x%E4!{tQ-&s;Ty9kS zDl9I>-vV|teo@*2)z1G`A=Ni!B#LkUzg3Bq)!6G$lNRteowy^NM&|$gI6;t-ORZT- zDvJ2Oe>9FGCeU2nUi>H)qcEpz{m^s&41qh+z;S;_hlN&cw`>BP7+0C%gPb>@2E!uB ztbqOXs{{3gx7$$6Re}z+u&|AuI^YHqbr_00VC7)X7?g-}-X!KM-zT&j&#!#%Rb_qj zD9F!`(M0ne$$Z|sOHdicT9!FS<2H!hH zDokGWEMs_1xnnu_1uiHpC%1;d;H<#kzkes^0i^r@jG($yB*pA$>{34H2KMK}ni}Y) z4UQbS70%+Fr`tPeyPpF^3@T-x)x~L(y9?j|0n#SxroJAkt_xmyh#5_xWpGsgNzdeF zm*NQ>E31A?P{0KA)s1lSGc__2RZ~+_RlNdhl)|c)QelGNP+^Wd{NjqSi3!Ch2B|>Y zRrnJ~uGNd9O;mA1!&h8bnojyoG+{mqT`D*PA3uFEKdt#abf4p2-QE*VH+S&H=Uq^+ zeN$RiV83>(veA;@SHor_ob$pZ;rBVwU5;D{J7SdVIQKfZrisMk;~-n=pXXtIaZ&Z?sVz%!_u<#tbdL9PtoDwPKW zeXMs{xXYT=g+rTvrdXfIzI<_oeB_br%>J!X3JO4D=0HTl8M(V3=$Jk;0RwbK_ct1;o&k@ouRoGH{` za&mGr0@&AB5}NM`Pm(Tx_Zahlls^ zo4T&IILD_o)r!zY6P$a(bPR#whK0<_~9!|;HQi*@Gx^u~qrCIl8{6)-9t}$!_&m4TBaAl^*E9A$%&-AYAo`=yIl*Q%+ zTiTrj_ipVgFd3;mRT3QRXk%-Oq3Bs4TmR91UTy`QVQ*|PP=X2oJKZEd9JuC0Mn;0> zvTJJOt$ECA@v1T5G%HACc~Y3Xhw`c;pazWp5K6T(Xc$^oHt)WP3#8p3@nE*1q5+L7UNm4f`G5=SnI>w1fUr}0a_dt@B1$vF_GR2hvwE#Px`u6P)#0+@4;UHMz=eEYVdQj|zWdlTAW zl?IJ86%nxZ@e?P`eX6}V6#o(%iOlZV|8iC#%L4g$a1L{2h((R>DnVFEk1zYL9y29g zHUISGIO0K#^4b|WsWz$L=U49k)qOqhCk!tfoP7i`9~%=Bh-M0Ms-?v@U{BHp%IxH1 z%8nRT%w#ZF0C&}#E{VtQ-#sByyaU8@W@cv07$dQGVqOmq|NE8Rz%$G(#TJmdW0SJ) z&a`UVKaE9*`eKw>o+6DwjNE`R0_d@LqK#M=y}i9JzJK@!T_Er=kh8Qeh)jS!_PPE_ zT%5=}vI(u2L)|jKH{713xw$5mjPU6AcvWDxgENz6TI2VK|#mvpQIKZ(@ny_TH&t+DCqi9-;fD z|IMr*XWti7oVEGtj$S$F`oKVgA<_Ut+x&D+4JK)y>aUzw8=HhK1THb#7h-e74E6N| z>748+9<#;Ibr-h@2qa8CboLXJlk?)KxS zb@wpHfHseZCq|j+3JZ_SwU#mPd*d#K($UfF+<6E2Hu*MV4or?tpFUkDMuMtD z*AgmrOy(i?QIM7(scyjRLTo$4|Rj=z8|VvphNTrfe)k?c1x z_x&Qt`*sN8VX}m0&z_jg#J6wXf&jLilQSue@g@QUHVgJbHmi^euB3;=3g!WJC=@js znSMBSEGL^MK8zk`LZO^{U#+ViY0*uK(6seRy$#(V) z7?|LegZqN%is(0ODCRGM0*dwbYH(%^@S?b==(f-awY_2LRqp$gl$KH4ZEpONd{8KL z5rp~&Wo2YDzacshm+?@5$D(XF{`p#DS{uqMA6@Gx=v6?*!yh03SE9P=_dU}-G*pY! zk7ALtq3|~D2lG=4OG`SI9XcKgA~)00vJRf7?N0KbU8^*a1Rn)Qy`V7me*b`PMvVI~ z2`Kx!gMNtru$$utKN71?U#Mm)iYiPuAf*ig!wX)lvC6DJU}*tuGEQf;d-D%aFQVH| zct+fdEk;NMXL9UfXeY7Vs^=x<#86B`?EBbNRxp+TWw)7=lLkD&4cH$-vjV%d zoGz_HsFqMOp{U~6+y!(R7rj|9HbeSpj1`IskWHd^iUj|$_wV0BKi0}oI#01A_M{bwo|R2K4o^g?GqM`-b@6Q;&q?T5&{=^FTk|%VOu4N&uH%F zAm0E$UQnGIcTzf*nPIw#5udNQZXOVNW^Sp*zCKw=Nwxs49iZ>|g4teJXkl%=w6G8t zAD^0VKoWXE3T3KJT*{zEF zN2R6TzkWq9FmKP<0)Y?W1n4bsn~C5kkU7-(`N?UqGU!A2a5@eQEl_|kY`31u%g@I+ zU>(+$JEa^6cx91?!TZHaSzKB&r*pT*3ISU>1BX4sN2lNRj4LeFNly#EsK3A~Y-`(# zBWmib`k&x)F*w5DAF0CnNugG0cD5r_e2{Z2?bCL$nY~J9m4moIo|lj}n#$epOE#w> zA3XSp!cn-ElAeGgq)_~BT{_qE7IYjm9zI#VRcJ={T-A{B{-^|=E3CavGqpRVFJrJv z=Fi57SlQXzgD=$JH7H~7n*QLo>FJBmNvUN?ZfJun3awYb#LF$eEt1L*QBgWVIkLP^ zI0#x*FNUR-mX;_!=jHrL<>73>mG(No$47%Ncj@+_KyUC~P$Qwric)402T2bDPkqvr zt&l~bwIJQU-(jTt2m&hj&>R#LBm}VYApg2zBJ&sZ2BgzDsD_aF|651k5ugw&46pXU zfb~aTK|(>n>5ve$8L=t2s&{~l*!$oaXeTHp4({6*m22fn){KL2l$5juZ-{xj^_hvU zU!k9M!WKf%B7ZE|wi0vvLd)t4qz;sOkO%aD_f|NbJ&7j(c6H2A1E2HfVcl>D{L70) zFBi}ZAkZASEysYu2=_{jJ_#ZYh?$^ixk_G8d)etHyhh{(^UBIHQQp9F5bRWCrc3wk z-NSGK6iLp_U1D6Gc%|@KP7{-`sc~s%#h3y?7z=-=L@~P!d~Y#6va`Dj;DEf2K0qh| ztDg8ck=s*v-bi6EKmL!I!Q>189Df(}xebYpNX-g6&p z<D2PDnFrEkv z-9&TMZ)^4&G5_~OOs=fZK9k%2um_MlS)Z6{I73ajmh)QT|F{5}5M09J2Vr|gOopu? z$-Lm!}pb(qv?|9@F=>%XqdoQ+yOs?!oukP?i)7#NIZxv+UOmDHUP8P zA?s!g%Jq!W8Fp%EJWZrQBRQOabnJa+r%B`kf;YMpY~di2ZAF;C>w@{RfzdGH)A&g{ z=8~l3WW*6KPtQ1I`gde8F0vfgafS<=-QngdJceAh?4WU}_<9 z0F2{HaInER7l8M`FK@eE>+p^Ei&v$fo;?TTEd|UXC;niiSUOsFgQUoqS8CWb0 z4eB$3zp1ucPYmIE!O#i6(Bqh&Zj!q6^wJXeJ^bXDD)@n{4DR~$=?WS@x$>_mfkLzoH1K!lK1P{UW($aV<_{>nBiQ(5AtP#V;^W50%Opc#7pA zhXtLa$iT>$JgEhN4{bb1dJF-)#dy@ndl-wyZL*UU`#<=$ZPRur<{}$kVI@Km9jzQ~ z*QCp7i@k;t1a}Ju84v8M_#1OXkwL&5uylxlk`l$$yGJjZq5Z&Z^~H-4F`&<%q%6i> zBAa@H?Enr1HmT^7LLnoll2KDZC=u7HMZU`dEN5BSZQHFMwl+2jN=pM39F}!^qmdb5 zL3VUdR7~?9T|wl>$Xla(Yz9T%+uq*hL#K`SB#QOtA$MtOZx>MZhq41%lKKAq>T0X?D#s^>vJ$}TO2G1Up%=^u^^J%gJAp=p3G%RvbKrQ$KB$Vi_=MDQU zK$4y&i{3!WAlqq8Ok5*x9xFTnSU`azVn){_401p{^eY&YzkYi}OdRKV0N)Bm?TuXt z2n^Kf#YO*Q3;Avc^ihkT&by%;&5MRQ70d!S@S?_bg;^FkJYN~3u$DPXerg4#fDqIC z)04i-C@5U;@k#WrltA1l3m6l5XUZGzKj=xoOi!VD+!_To^n9(lP5MLy_MzV7wzpva_1ARa2)6+ zh?lUlj!=#cZWdVUt;RQlZ6T^H8zUno@)IqG#KG$5(Jz_Ot~=sdl`kz8;zW9A8zF)- zYtLzh(F_lB8HM3|%q_uN06z@M3x78Pu^36Um3ulj}WHr3J- zJ0*_gIl|)^m&Gr9DET4qk-=P4VQ9A2u%wrR)#6&oaRSE*q6r304F5bcx);ZV1qDaZ zH^L-IRzZOu-18YFVGxEP)xZT#KJv;~KAD4}AE1`s_Ycz7!nF}cVeC&PtgLlrSv@Hz z&g;6T`mbSg9VZ=_{152BZGzs*SBW>r?B(PF1+jY)FXjp)YA74udly; zsXH}aLu;FZ*uHq`%o&@>f0btYImC~EnGx|U=xYnmlvO+;_?NFZxHh3&L`v<=Oh))x z$J0Z_n3P)Vj*t$w&Gwx=7J&LXk6BxPot-TyF9(iufgF|Ifo=rIQa5QG=uE;fK!`SU^SRp4T+# zS}%yh1q;YKQa^Nl<sB6K7PNb zXv{xCr@m?I!y>QLMU#o%@>E(C|9)%+8??5yN*gl;>SH&0-qeE$4-^4zG$VmrK^+V6l$jO!uN8)}|Ur^h9#kj=q8MsFNA z(+}{QIc1Ohp>?pJ(X5WnZYgU*%*HK%y9gF$ta99bJfp^a&6jc6IeoWgAw z83WrDtKV4jgbjRc*_yi!_fDwu`kdkJY3#%(c2$b;4|I}OO{@s3JXk>(~@ChGukpEJQ z(}c8?6!@JevYWzauvrSn9XZS`EZ`6#tjUgIiY(&7r&Cf!2rG1RUGekC&X(IvZ{H?%PomuSg|QIAQ)+Kdj{yqu zSFd1PWU>DBmFw-tj~^Eo&w!QK8X66)8|)+@dAL}Fsa6FxD@vG0?tPJUM=NNzXyvd6 z(DIOf7sm7G**pF^E4^e!<10 zB~xM~5Ty%H9+*Im#xi#&>sVZ``l_*Yhgn3GrjMewUqNJ=(m|ItgzRvI~(x z4nuq!FE20RI`aDn#9g@i>>In~A)zC`PgwJ!@k(c#pPN&Ht%!l{02U6UXHW@X>i_48 zR;dAatvFX^2TpC)5Cn3RQV$j7n#h^A*t*XGezhsMwpbE&Wjx+5$o&F%nc3!bX%VDKbjIAw!yS|9ohB+fj zo9KO_PGx%VXi2H+>ti#$xc%bWjET0r;XY|T3%5FPD3jpRJz2-yhJjNBN0pr{8E% zO(7ean^@oWS(o3es_K*=eITQv*T*@WZDZEUAIYrAPIhG-e*6o&aHQ^Hxbh8uw8*be z=)nf!%|F=;V}N=^i*Wwuik&`9k#NG?LVi+ z;kb?ba{LqyF_)NXYmcL@06h(}l@1+(YYhm72BMAeJhG@~ z40f#Dh+*4q%>wNl>Q2015fQ^R+lSnH`yjKi`)KE_`m|NOn{KDhu5SddYrvz%JBWVW zs9sR8!^{g-NSc|ti~w066|XrvtRVdhT=mQFbis~2CQ^o3D*0e*6sRCUSRCB-&I{j3 z1LAC?ZwxIR4w^_{(M+tV_jKhStf2>um}1L*Ny)%~z|Nr5CiU*9pZfRT&@58{TC4T` zq?~(DsuyB>e&B7`mC&DR;o{^56J_dn8%xh7+*ffN&=l-1u73)JGh(M`F+e_~G0%<1 zfO25DMaJ(`f_!AVA`N(ErlYD;?%sXlDD_{$pg+uYej)$xNsJ%2251!fKK|D^5Da1L&s&iB#1Ql<|AnqD#&o#ygVsqpimJ=wb16CfZ`(#iKvC!A8*HrXW40^FL%nXAcHy~n3D0XVyW?rtIS&B&S9P&G@9E%NliXpE@LcvuM0ABt&|xUH{W zmjGh@wv3<+4<>Va`|DCC`Vcm*Y3&McVpph^yxhlhmz76m0(k5f$*|j*nd^uzLwY*h z#_&{(h|mSL^Pxz(H~YcNTUc~b5+DcUimL%@AIcuAH?nLwKq6iUFQjC%#sY3#ufLLR z9EN#-;-&9r^0#j5%J~_+b>R^`w{aVui@ExF?x(mR7*-&WWG%k5f{-mgQF#r;WK68wH zQ0bv;@crvPi`qP=xcK-#@tBq|toJPe5+ZX!b(Lx^8L`IthwVjTLQ80!xtbhhHa7m9 z>+cpg`~c+~WC%!v%setWavz~Xy%-df-L=GreS}e)N5vQS)s#FG4PV$wz+w0FQQ05W zVh*+p&gqfc5V47?ZX?BZPvQ*@Y+QG(8YCBrrlxv)EccI)Rdk}n|BOpw{lhk0e$}^- zp48G3vjzvXe%b59W^*u+1WBZ5N-feBE*H(+JvBO&x|PCB$y05y@>g|sJKML0#TuG( zJo~`;jHGW_Yhm{&IMleg-AK}s>uEz&J6&4FWwzHccb}jC_0(eeTFf?|J-l5qnfq!4 z%Wq#D<6VQS#8^F!z6LA;0NW+|_AA{05_n_!$qup(%*3Q~=;8qK)lMby(LQj!GI4J} z9o^NDjVcNSFC+@x;x$U&S%lrmiZ8aP<5Pkc41g$Qje+R+il#K1t z4^K$WFcsmBFFpX&@!s9Lr6iKYeP<&mBdAW}bQ8F*k?*VL54z|V&b~`}A26fu{9NIr z4TE7Uyc1jsS`YrDTVbeJ+GX$xST4Htb(Fw7F^oAGQBhG39!Sg|M3D{*CGC05Gdqba zv2@<&lE*Jt(SA18>yzPr`MBd$lT2v+CIWcI4cc8J0Fhv*MULNI^cdg+vb)ea@*^Al zyZmnvuDAgo3$isjzBW*4`JrVrO(h9dV@l+6q|i0Lxu^Q9eup&u`p_p+Er~RoIF!B0 zuFL7X(w0{FY+vtw-gcNw>e=PKaGnQ1lzt;x3vMz}*6cNh3?H4ORl_aqz%9K#HS(%{ ze)AhLp0QqdBH7~=yP5ogCUAV4qMF*hjl$cndwQhtQ~S8J3B9LM5w@0$oLn99|9x=` zZSHax30V}PK|rawG~E}K+qlKA`dRJ_yagfDtPyDU{fLx`ZW6{CH@vq1~VOrG@}XYfQ{CouED_-T#!Xz0mTNe7b*he=$4k`Gm&AORa>iUE4|y* zJ@5arGd8a}3STd3o7QGG9mDeOK6f5zSc2Lr_D~je`kxm!lWUA#gXq7%JJoae$$4 zj>Aqx#ir5G}&c@li_3 zw)um1I&T@~A;`g!!}91+HwCF{9NdvhKbZLf?)Vx$<$lQ6^s3?_pZyiq2inU*Nre{+ zdVT_(MBWOcCs6d|m`%uzj*K3ET=U!ScRDN0E?a=+k_~GQL3QG7FR>6+Reg>nIW%s= zh{ZGK(Yx!|>}KeMHbeBDx0(eT=LxQUgoAP_M;$C!Wq8gMZTuUF4}S88a%dpy*P|~+ z4nM7S`u;K%&Cs23>FV@a?8AFb?EgjM zepT`Uzd@#sP?C*Uo0JzMfPjm2c{sxaqlMs`7?+Ts?lY<}phG^qEk9f<@zQ}see3K0 z`pSg4;xIzaf!prs(|@sB0Qp#NiqxuK7o;aCdDv}2JO$W)4NDBs6y&S)kHvmds|ks^ zIVr{XPA^{UBM3hT_;t+ODd^vYAHS4$OZ$qi=4r80o3jINFuf;yR5E~6!gS$6VkXP# zYKQQJ)FcYe_j^gR>ROBuM~VrAMowbnbfXZlr~hx5AbptJ%@WbK6+3iI&2_k*TBFhb!oZ4PuhmzAI+Z`A8HEp3P@}(!{-L=EhM>#gx45RJn_k42S^fBZ z@;GCrvh;S_^@nkSj@zc_HP$cFe`G$WOCUULo%_M{Hk0v^rPJDlm;YY+r|OGVFXf7` zJ2E#OB2E&H6RI};mYj(Zv#>NcNbME&c;&i!v|I}>(Sm41SRuF&+NAl|dReJyft%0$ z zrX?lfJ#_0ph(Sc;r}955jD!V`&F2i+y65GhzwE5tae;pH&GR+^o!es~jcf!y3WDR_ zM&rm9&7tsr0}`8}M~P2Y8nW2<7!O@&%#byH(Vza>X>)TWd5fbQ6=C#?i<0v8R3!pI zbKU7PzninRe$P9-;^GqO!g|lI=LictaWv*uqAR10L%DQGZZ8QwPRg{od?lsSnVb0R zV`1S`_j}|HOGN$MQ?Wo9{E3OsILP?tdj}Tm~zHyXg)72;WWnjVKluxzxSfPbs?c zuG+E27!e2?Yy7Kgi@)sEt@%H0TpyfDJi6k1xY&=vnIdHMS3?Qmn=}t=Shc7Ov5&Bw z;77PbcymgbKUcM*Gvb5I@^nF4f)#uFq;}6qb`^T+P%47hM>-=ttwHrUUpleH@GLf2 zUjE)4Cl6cfp-pFDXJ~|)W|H7eP-CWx5d1;M=D3Z>K$K~eBiiJTYYwqga=Ud$zSJM} z%V5nr=)+Y?Pb?TD5DXF=+sw?qh27rz=1*i_UteCVnN%4b`rZe1muQ-rD!h2OcPfTdkdpM9^tTZ-w0Zh(Zd^%hrTnUJ zlTS#Vyyo~D1svry-g~g|QzdTxrPy4L6Qn=&oq|L#q%b5XmUtRQ`vnMH)4{+-7tATY=T zn*o)-`SOvtIp0-${P4In$~j5B}T#IRR?eL5t=Z;esI0OhY;4=`YaXv5K!D)3^ zm;G8Wh7jn{z{epU?2hk<(>qb{1G1;4q6!Dv{==t_2YOHM}33|tD8a8|dT`l)Nm z>2}hA`o&o`Vi$1ak)ooy?-%O6O2Jr~7OAUrO15U7%_k04eDB;Iqm%l#pL|3CpS%Z0 zF2x5KKE{AsRGxc`bZsNLCrxpx70_Ut^B3NUOG=vR>nowS$D9l(UTIkwiq`hY1=wvB zGV$c3KuHZ6%>3UkXzRcd0@bqRSA*rl=|D%v(UN{`N;Z+94S~lF+7k!QoDZ!Zj(C?) z-s=VM6bK9|CS$s={k*eX{galPgB4V|irN3i1#qJ38}S|oxcjem=_~j7Q3m3g(ONVF zzBoq$$UHz+I)bO?ET&};zute^eN#v1Ac!RJ*n;Z-MdRnsA($hgbt8S5410S3hex(l z0Bm62{Pg&oK%|pUQgm!Rm!yO7@Sc|gtue9ZDBSZDZdpMh4qs7F5vBO(!>U>EzmHfS zd7V{IaaE=eT6Ym8(BjhNt8RGoTH4yMZ=q=H=r|xG^aU&y@t|JdLfl+jZfDQ35CCs7 zGB9A5C3Uz?tlO}!>I-jWVv56&3dMS$n-zgBB;$6C@$7*jSe0OQ217vbq}`OcsNJbx zh6xJ-0ug>UOCRQ6DXdfzjf~ zkJUVb1?jrx%6`1e{@GD``{y1`DK=slp=)4{0f0Ayg?Z(7bzUy{>|^doj2OvZcE4Pu z4f)h>F!czHQt|EMCYj1Lr_1m0YP04_XEG=Ko~I+w0={5TXG6z;HUaKY1OhmSun@Ur zvQzM32?pp0991@@z@Xr|5&j~toqhoB0R#R00A)+~JG#0sR0DTScn4AE<$zmqF+{l7 zL};~S$v5x-+6(xtutsU;TEe&tmv|vw0s4VM*K?(O-k>Ib!~RzZ^aN%cOi_@pE)K#r zz#J&3#kgLB2nKWulv)nnjGeCZuyTNE5JvFBE08U}-^nm+L{PDt=1snW1#)aIG)3dYP zx8-Lsq!#yN%puP)Y{lLIW+_pJS>kbpJ21p}V`cR+t>CP%HNrxh?;7Lb>0#lJ9t5^PF^dt>DG}Hbqg3LIc6DSQ!7BF#lkkqJlQ{CX9bCAsxmY;QzbX4Nv z<}S?3JLT>^xcc;_MUfnw@dVjHra@PWv)+^Rt!!-vAHKsAqM^JBrVU`jxPrFbsmfPY z

|a*IErnuUcJIH49&<~K`u<#zzRGdlip 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 aZ|J8COT3gXcAqhUmz}kv)iq1s#D4?DwT{yO diff --git a/deal.II/doc/doxygen/tutorial/toc-list.html b/deal.II/doc/doxygen/tutorial/toc-list.html index 09dc3c5097..4a56b86be2 100644 --- a/deal.II/doc/doxygen/tutorial/toc-list.html +++ b/deal.II/doc/doxygen/tutorial/toc-list.html @@ -120,8 +120,8 @@ Step-15 - 1d problems, nonlinear solvers, - transferring a solution across mesh refinement. + A nonlinear elliptic problem: The minimal surface equation. + Newton's method. Transferring a solution across mesh refinement. @@ -280,7 +280,7 @@ Step-43 Advanced techniques for the simulation of porous media flow. - + Step-44 Finite strain hyperelasticity based on a three-field formulation. diff --git a/deal.II/doc/doxygen/tutorial/toc-topics.html b/deal.II/doc/doxygen/tutorial/toc-topics.html index 77646263e8..e2fafe3537 100644 --- a/deal.II/doc/doxygen/tutorial/toc-topics.html +++ b/deal.II/doc/doxygen/tutorial/toc-topics.html @@ -64,6 +64,12 @@ Step-7 Evaluating errors + + + + Step-15 + Nonlinear problems, Newton's method + @@ -387,6 +393,15 @@ + + + + Step-15 + + Minimal surface equation + + + diff --git a/deal.II/doc/news/news.html b/deal.II/doc/news/news.html index 07b1ca7909..0642179bd5 100644 --- a/deal.II/doc/news/news.html +++ b/deal.II/doc/news/news.html @@ -32,6 +32,20 @@ here.

+
+ 2012/06/03: New step-15 +
+
+ Step-15 used to be a program that demonstrated techniques for solving + a rather quirky, nonlinear, 1d problem. It was an interesting problem, + but it served little purpose in teaching deal.II or in demonstrating + nonlinear solution techniques. It has now been replaced by a more + illustrative example, contributed in large part by Sven Wetterauer, in + which we solve the nonlinear elliptic minimal surface equation using a + Newton iteration. +
+ +
2012/05/05: Matrix-free implementation framework
diff --git a/deal.II/examples/step-15/doc/builds-on b/deal.II/examples/step-15/doc/builds-on index 48a0f73876..17402734c7 100644 --- a/deal.II/examples/step-15/doc/builds-on +++ b/deal.II/examples/step-15/doc/builds-on @@ -1 +1 @@ -step-4 +step-6 diff --git a/deal.II/examples/step-15/doc/intro.dox b/deal.II/examples/step-15/doc/intro.dox index b9cabbb931..7c3e096e11 100644 --- a/deal.II/examples/step-15/doc/intro.dox +++ b/deal.II/examples/step-15/doc/intro.dox @@ -234,7 +234,10 @@ some more in the results section.

Summary of the algorithm and testcase

-Overall, the algorithm we use in this program works as follows: +Overall, the program we have here is not unlike step-6 in many regards. The +layout of the main class is essentially the same. On the other hand, the +driving algorithm in the run() function is different and works as +follows:
  1. Start with the function $u^{0}\equiv 0$ and modify it in such a way @@ -282,3 +285,8 @@ Overall, the algorithm we use in this program works as follows: Set $n\leftarrow n+1$ and go to step 2.
+ +The testcase we solve is chosen as follows: We seek to find the solution of +minimal surface over the unit disk $\Omega=\{\mathbf x: \|\mathbf +x\|<1\}\subset \R^2$ where the surface attains the values +$u(x,y)|{\partial\Omega} = g(x,y):=\sin(2 \pi (x+y))$ along the boundary. diff --git a/deal.II/examples/step-15/doc/results.dox b/deal.II/examples/step-15/doc/results.dox index b85402b9ae..8cdb8f3b4c 100644 --- a/deal.II/examples/step-15/doc/results.dox +++ b/deal.II/examples/step-15/doc/results.dox @@ -3,46 +3,35 @@ The output of the program looks as follows: @code -residual:17.1036 -residual:0.0493566 -residual:0.0437197 -residual:0.0388877 -residual:0.0346918 -mesh-refinement:1 -residual:0.0479423 -residual:0.0427299 -residual:0.0381861 -residual:0.03418 -residual:0.0306245 -mesh-refinement:2 +* ******** Initial mesh ******** + Initial residual: 1.53143 + Residual: 1.08746 + Residual: 0.966748 + Residual: 0.859602 + Residual: 0.766462 + Residual: 0.685475 +* ******** Refined mesh 1 ******** + Initial residual: 0.865774 + Residual: 0.759295 + Residual: 0.675281 + Residual: 0.603523 + Residual: 0.540744 + Residual: 0.485238 +* ******** Refined mesh 2 ******** + Initial residual: 0.425581 + Residual: 0.382042 + Residual: 0.343307 + Residual: 0.308718 .... -residual:0.00354605 -residual:0.00318818 -residual:0.00286721 -residual:0.00257911 -residual:0.00232034 -mesh-refinement:7 -residual:0.00211166 -residual:0.00189985 -residual:0.00170948 -residual:0.00153832 -residual:0.00138438 -mesh-refinement:8 -residual:0.00143114 -residual:0.00128729 -residual:0.00115805 -residual:0.00104189 -residual:0.000937454 -mesh-refinement:9 - @endcode +Obviously, the scheme converges, if not very fast. We will come back to +strategies for accelerating the method below. -We can visualize the solution after each set of five Newton +One can visualize the solution after each set of five Newton iterations, i.e., on each of the meshes on which we approximate the solution. This yields the following set of images: -
@@ -103,6 +92,93 @@ and mesh are shown here:

Possibilities for extensions

+The program shows the basic structure of a solver for a nonlinear, stationary +problem. However, it does not converge particularly fast, for good reasons: + +- The program always takes a step size of 0.1. This precludes the rapid, + quadratic convergence for which Newton's method is typically chosen. +- It does not connect the nonlinear iteration with the mesh refinement + iteration. + +Obviously, a better program would have to address these two points. +We will discuss them in the following. + +

Step length control

-

Integrating mesh refinement and nonlinear solvers

+Newton's method has two well known properties: +- It does not converge from arbitrarily chosen starting points. Rather, a + starting point has to be close enough to the solution to guarantee + convergence. However, we can enlarge the area from which Newton's method + converges by damping the iteration using a step length 0<$\alpha^n\le + 1$. +- It exhibits rapid convergence of quadratic order if (i) the step length is + chosen as $\alpha^n=1$, and (ii) it does in fact converge with this choice + of step length. + +A consequence of these two observations is that a successful strategy is to +choose $\alpha^n<1$ for the initial iterations until the iterate has come +close enough to allow for convergence with full step length, at which point we +want to switch to $\alpha^n=1$. The question is how to choose $\alpha^n$ in an +automatic fashion that satisfies these criteria. + +We do not want to review the literature on this topic here, but only briefly +mention that there are two fundamental approaches to the problem: backtracking +line search and trust region methods. The former is more widely used for +partial differential equations and essentially does the following: +- Compute a search direction +- See if the resulting residual of $u^n + \alpha^n\;\delta u^n$ with + $\alpha^n=1$ is "substantially smaller" than that of $u^n$ alone. +- If so, then take $\alpha^n=1$. +- If not, try whether the residual is "substantially smaller" with + $\alpha^n=2/3$. +- If so, then take $\alpha^n=2/3$. +- If not, try whether the residual is "substantially smaller" with + $\alpha^n=(2/3)^2$. +- Etc. +One can of course choose other factors $r, r^2, \ldots$ than the $2/3, +(2/3)^2, \ldots$ chosen above, for $0determine_step_length() is written the way it is to support +exactly this kind of use case. + +Whether we accept a particular step length $\alpha^n$ depends on how we define +"substantially smaller". There are a number of ways to do so, but without +going into detail let us just mention that the most common ones are to use the +Wolfe and Armijo-Goldstein conditions. For these, one can show the following: +- There is always a step length $\alpha^n$ for which the conditions are + satisfied, i.e., the iteration never gets stuck as long as the problem is + convex. +- If we are close enough to the solution, then the conditions allow for + $\alpha^n$, thereby enabling quadratic convergence. + +We will not dwell on this here any further but leave the implementation of +such algorithms as an exercise. We note, however, that when implemented +correctly then it is a common observation that most reasonably nonlinear +problems can be solved in anywhere between 5 and 15 Newton iterations to +engineering accuracy — substantially fewer than we need with the current +version of the program. + + +

Integrating mesh refinement and nonlinear and linear solvers

+ +We currently do exactly 5 iterations on each mesh. But is this optimal? One +could ask the following questions: +- Maybe it is worthwhile doing more iterations on the initial meshes since + there, computations are cheap. +- On the other hand, we do not want to do too many iterations on every mesh: + yes, we could drive the residual to zero on every mesh, but that would only + mean that the nonlinear iteration error is far smaller than the + discretization error. +- Should we use solve the linear systems in each Newton step with higher or + lower accuracy? + +Ultimately, what this boils down to is that we somehow need to couple the +discretization error on the current mesh with the nonlinear residual we want +to achieve with the Newton iterations on a given mesh, and to the linear +iteration we want to achieve with the CG method within each Newton +iterations. + +How to do this is, again, not entirely trivial, and we again leave it as a +future exercise. diff --git a/deal.II/examples/step-15/doc/tooltip b/deal.II/examples/step-15/doc/tooltip index 4e056430e0..70b5c4b8bb 100644 --- a/deal.II/examples/step-15/doc/tooltip +++ b/deal.II/examples/step-15/doc/tooltip @@ -1 +1 @@ -1d problems. A nonlinear problem. +A nonlinear elliptic problem. Newton's method. diff --git a/deal.II/examples/step-15/step-15.cc b/deal.II/examples/step-15/step-15.cc index 41d36fa8b8..a3375ddf0e 100644 --- a/deal.II/examples/step-15/step-15.cc +++ b/deal.II/examples/step-15/step-15.cc @@ -52,15 +52,20 @@ #include #include - // We will use adaptive mesh refinement between Newton - // interations. To do so, we need to be able to work - // with a solution on the new mesh, although it was - // computed on the old one. The SolutionTransfer - // class transfers the solution to the new mesh. + // We will use adaptive mesh refinement + // between Newton interations. To do so, we + // need to be able to work with a solution on + // the new mesh, although it was computed on + // the old one. The SolutionTransfer class + // transfers the solution from the old to the + // new mesh: #include - // As in previous programs: + // We then open a namepsace for this program + // and import everything from the dealii + // namespace into it, as in previous + // programs: namespace Step15 { using namespace dealii; @@ -68,18 +73,47 @@ namespace Step15 // @sect3{The MinimalSurfaceProblem class template} - // The class template is basically - // the same as in step 6. Four - // additions are made: There are - // two solution vectors, one for - // the Newton update, and one for - // the solution of the original - // pde. Also we need a double for - // the residual of the Newton - // method, an integer, which counts - // the mesh refinements and a bool - // for the boundary condition in - // the first Newton step. + // The class template is basically the same + // as in step-6. Four additions are made: + // - There are two solution vectors, one for + // the Newton update $\delta u^n$, and one + // for the current iterate $u^n$. + // - The setup_system function + // takes an argument that denotes whether + // this is the first time it is called or + // not. The difference is that the first + // time around we need to distributed + // degrees of freedom and set the + // solution vector for $u^n$ to the + // correct size. The following times, the + // function is called after we have + // already done these steps as part of + // refining the mesh in + // refine_mesh. + // - We then also need new functions: + // set_boundary_values() + // takes care of setting the boundary + // values on the solution vector + // correctly, as discussed at the end of + // the + // introduction. compute_residual() + // is a function that computes the norm + // of the nonlinear (discrete) + // residual. We use this function to + // monitor convergence of the Newton + // iteration. The function takes a step + // length $\alpha^n$ as argument to + // compute the residual of $u^n + + // \alpha^n \; \delta u^n$. This is + // something one typically needs for step + // length control, although we will not + // use this feature here. Finally, + // determine_step_length() + // computes the step length $\alpha^n$ in + // each Newton iteration. As discussed in + // the introduction, we here use a fixed + // step length and leave implementing a + // better strategy as an exercise. template class MinimalSurfaceProblem @@ -91,10 +125,10 @@ namespace Step15 void run (); private: - void setup_system (); + void setup_system (const bool initial_step); void assemble_system (); void solve (); - void refine_grid (); + void refine_mesh (); void set_boundary_values (); double compute_residual (const double alpha) const; double determine_step_length () const; @@ -112,29 +146,14 @@ namespace Step15 Vector present_solution; Vector newton_update; Vector system_rhs; - - - - unsigned int refinement; - - // As described in the - // Introduction, the first - // Newton iteration is special, - // because of the boundary - // condition. To implement - // these correctly, there is a - // bool, which is true in the - // first step and false ever - // after. - bool first_step; }; // @sect3{Boundary condition} // The boundary condition is - // implemented just like in step 4. - // It was chosen as $g(x,y)=sin(2 - // \pi (x+y))$ in this example. + // implemented just like in step-4. + // It is chosen as $g(x,y)=\sin(2 + // \pi (x+y))$: template class BoundaryValues : public Function @@ -146,6 +165,7 @@ namespace Step15 const unsigned int component = 0) const; }; + template double BoundaryValues::value (const Point &p, const unsigned int /*component*/) const @@ -170,7 +190,6 @@ namespace Step15 - // template MinimalSurfaceProblem::~MinimalSurfaceProblem () { @@ -179,50 +198,32 @@ namespace Step15 // @sect4{MinimalSurfaceProblem::setup_system} - // As always in the setup-system - // function, we setup the variables - // of the finite element - // method. There are same - // differences to step 6, because - // we don't have to solve one pde - // over all, but one in every - // Newton step. Also the starting - // function has to be setup in the - // first step. + // As always in the setup-system function, + // we setup the variables of the finite + // element method. There are same + // differences to step-6, because there we + // start solving the PDE from scratch in + // every refinement cycle whereas here we + // need to take the solution from the + // previous mesh onto the current + // mesh. Consequently, we can't just reset + // solution vectors. The argument passed to + // this function thus indicates whether we + // can distributed degrees of freedom (plus + // compute constraints) and set the + // solution vector to zero or whether this + // has happened elsewhere already + // (specifically, in + // refine_mesh()). template - void MinimalSurfaceProblem::setup_system () + void MinimalSurfaceProblem::setup_system (const bool initial_step) { - - // This function will be called, - // every time we refine the mesh - // to resize the system matrix, - // Newton update - and right hand - // side vector and to set the - // right values of hanging nodes - // to get a continuous solution. - // But only the first time, the - // starting solution has to be - // initialized. Also the vector - // of the solution will be - // resized in the - // refine_grid - // function, while the vector is - // transferred to the new mesh. - - if (first_step) + if (initial_step) { dof_handler.distribute_dofs (fe); present_solution.reinit (dof_handler.n_dofs()); - // The constraint matrix, - // holding a list of the - // hanging nodes, will be - // setup in the - // refine_grid - // function after refining - // the mesh. - hanging_node_constraints.clear (); DoFTools::make_hanging_node_constraints (dof_handler, hanging_node_constraints); @@ -232,7 +233,7 @@ namespace Step15 // The remaining parts of the // function are the same as in - // step 6. + // step-6. newton_update.reinit (dof_handler.n_dofs()); system_rhs.reinit (dof_handler.n_dofs()); @@ -248,14 +249,25 @@ namespace Step15 // @sect4{MinimalSurfaceProblem::assemble_system} - // This function does the same as - // in the previous tutorials. The - // only additional step is the - // correct implementation of the - // boundary condition and the usage - // of the gradients of the old - // solution. - + // This function does the same as in the + // previous tutorials except that now, of + // course, the matrix and right hand side + // functions depend on the previous + // iteration's solution. As discussed in + // the introduction, we need to use zero + // boundary values for the Newton updates; + // we compute them at the end of this + // function. + // + // The top of the function contains the + // usual boilerplate code, setting up the + // objects that allow us to evaluate shape + // functions at quadrature points and + // temporary storage locations for the + // local matrices and vectors, as well as + // for the gradients of the previous + // solution at the quadrature points. We + // then start the loop over all cells: template void MinimalSurfaceProblem::assemble_system () { @@ -265,16 +277,19 @@ namespace Step15 system_rhs = 0; FEValues fe_values (fe, quadrature_formula, - update_gradients | - update_quadrature_points | update_JxW_values); + update_gradients | + update_quadrature_points | + update_JxW_values); - const unsigned int dofs_per_cell = fe.dofs_per_cell; - const unsigned int n_q_points = quadrature_formula.size(); + const unsigned int dofs_per_cell = fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); - FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); - Vector cell_rhs (dofs_per_cell); + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + Vector cell_rhs (dofs_per_cell); - std::vector local_dof_indices (dofs_per_cell); + std::vector > old_solution_gradients(n_q_points); + + std::vector local_dof_indices (dofs_per_cell); typename DoFHandler::active_cell_iterator cell = dof_handler.begin_active(), @@ -286,57 +301,68 @@ namespace Step15 fe_values.reinit (cell); - + // For the assembly of the linear + // system, we have to obtain the + // values of the previous solution's + // gradients at the quadrature + // points. There is a standard way of + // doing this: the + // FEValues::get_function function + // takes a vector that represents a + // finite element field defined on a + // DoFHandler, and evaluates the + // gradients of this field at the + // quadrature points of the cell with + // which the FEValues object has last + // been reinitialized. The values of + // the gradients at all quadrature + // points are then written into the + // second argument: + fe_values.get_function_gradients(present_solution, + old_solution_gradients); + + // With this, we can then do the + // integration loop over all + // quadrature points and shape + // functions. Having just computed + // the gradients of the old solution + // in the quadrature points, we are + // able to compute the coefficients + // $a_{n}$ in these points. The + // assembly of the system itself then + // looks similar to what we always do + // with the exception of the + // nonlinear terms, as does copying + // the results from the local objects + // into the global ones: for (unsigned int q_point = 0; q_point < n_q_points; ++q_point) { + const double coeff + = 1.0 / std::sqrt(1 + + old_solution_gradients[q_point] * + old_solution_gradients[q_point]); - // To setup up the linear - // system, the gradient of - // the old solution in the - // quadrature points is - // needed. For this purpose - // there is is a function, - // which will write these - // gradients in a vector, - // where every component of - // the vector is a vector - // itself: - - std::vector > gradients(n_q_points); - fe_values.get_function_gradients(present_solution, gradients); - - // Having the gradients of - // the old solution in the - // quadrature points, we - // are able to compute the - // coefficients $a_{n}$ in - // these points. - - const double coeff = 1/sqrt(1 + gradients[q_point] * gradients[q_point]); - - // The assembly of the - // system then is the same - // as always, except of the - // damping parameter of the - // Newton method, which we - // set on 0.1 in this case. - - for (unsigned int i = 0; i < dofs_per_cell; ++i) + for (unsigned int i=0; i boundary_values; - + std::map boundary_values; VectorTools::interpolate_boundary_values (dof_handler, 0, ZeroFunction(), boundary_values); - MatrixTools::apply_boundary_values (boundary_values, system_matrix, newton_update, @@ -368,103 +398,14 @@ namespace Step15 } - template - double MinimalSurfaceProblem::compute_residual (const double alpha) const - { - const QGauss quadrature_formula(3); - - Vector residual (dof_handler.n_dofs()); - - Vector linearization_point (dof_handler.n_dofs()); - linearization_point = present_solution; - linearization_point.add (alpha, newton_update); - - FEValues fe_values (fe, quadrature_formula, - update_gradients | - update_quadrature_points | update_JxW_values); - - const unsigned int dofs_per_cell = fe.dofs_per_cell; - const unsigned int n_q_points = quadrature_formula.size(); - - Vector cell_rhs (dofs_per_cell); - - std::vector local_dof_indices (dofs_per_cell); - - typename DoFHandler::active_cell_iterator - cell = dof_handler.begin_active(), - endc = dof_handler.end(); - for (; cell!=endc; ++cell) - { - cell_rhs = 0; - - fe_values.reinit (cell); - - - for (unsigned int q_point = 0; q_point < n_q_points; ++q_point) - { - - // To setup up the linear - // system, the gradient of - // the old solution in the - // quadrature points is - // needed. For this purpose - // there is is a function, - // which will write these - // gradients in a vector, - // where every component of - // the vector is a vector - // itself: - - std::vector > gradients(n_q_points); - fe_values.get_function_gradients(linearization_point, gradients); - - // Having the gradients of - // the old solution in the - // quadrature points, we - // are able to compute the - // coefficients $a_{n}$ in - // these points. - - const double coeff = 1/sqrt(1 + gradients[q_point] * gradients[q_point]); - - // The assembly of the - // system then is the same - // as always, except of the - // damping parameter of the - // Newton method, which we - // set on 0.1 in this case. - - for (unsigned int i = 0; i < dofs_per_cell; ++i) - cell_rhs(i) -= (fe_values.shape_grad(i, q_point) * coeff - * gradients[q_point] * fe_values.JxW(q_point)); - } - - cell->get_dof_indices (local_dof_indices); - for (unsigned int i=0; i boundary_values; - VectorTools::interpolate_boundary_values (dof_handler, - 0, - ZeroFunction(), - boundary_values); - for (std::map::const_iterator p = boundary_values.begin(); - p != boundary_values.end(); ++p) - residual(p->first) = 0; - - return residual.l2_norm(); - } // @sect4{MinimalSurfaceProblem::solve} - // The solve function is the same - // as always, we just have to - // implement the minimal residual - // method as a solver and apply the - // Newton update to the solution. - + // The solve function is the same as + // always. At the end of the solution + // process we update the current solution + // by setting $u^{n+1}=u^n+\alpha^n\;\delta + // u^n$. template void MinimalSurfaceProblem::solve () { @@ -480,32 +421,23 @@ namespace Step15 hanging_node_constraints.distribute (newton_update); - // In this step, the old solution - // is updated to the new one: const double alpha = determine_step_length(); - std::cout << " step length alpha=" << alpha << std::endl; present_solution.add (alpha, newton_update); } - template - double MinimalSurfaceProblem::determine_step_length() const - { - return 0.1; - } - // @sect4{MinimalSurfaceProblem::refine_grid} - - // The first part of this function - // is the same as in step 6. But - // after refining the mesh we have - // to transfer the old solution to - // the new one, which is done with - // the help of the SolutionTransfer - // class. - + // @sect4{MinimalSurfaceProblem::refine_mesh} + // The first part of this function is the + // same as in step-6... However, after + // refining the mesh we have to transfer + // the old solution to the new one which we + // do with the help of the SolutionTransfer + // class. The process is slightly + // convoluted, so let us describe it in + // detail: template - void MinimalSurfaceProblem::refine_grid () + void MinimalSurfaceProblem::refine_mesh () { Vector estimated_error_per_cell (triangulation.n_active_cells()); @@ -519,248 +451,416 @@ namespace Step15 estimated_error_per_cell, 0.3, 0.03); - // Then we need an additional - // step: if, for example, you - // flag a cell that is once more - // refined than its neighbor, and - // that neighbor is not flagged - // for refinement, we would end - // up with a jump of two - // refinement levels across a - // cell interface. To avoid - // these situations, the library - // will silently also have to - // refine the neighbor cell - // once. It does so by calling - // the + // Then we need an additional step: if, + // for example, you flag a cell that is + // once more refined than its neighbor, + // and that neighbor is not flagged for + // refinement, we would end up with a + // jump of two refinement levels across a + // cell interface. To avoid these + // situations, the library will silently + // also have to refine the neighbor cell + // once. It does so by calling the // Triangulation::prepare_coarsening_and_refinement - // function before actually doing - // the refinement and coarsening. - // This function flags a set of - // additional cells for - // refinement or coarsening, to + // function before actually doing the + // refinement and coarsening. This + // function flags a set of additional + // cells for refinement or coarsening, to // enforce rules like the - // one-hanging-node rule. The - // cells that are flagged for - // refinement and coarsening - // after calling this function + // one-hanging-node rule. The cells that + // are flagged for refinement and + // coarsening after calling this function // are exactly the ones that will // actually be refined or - // coarsened. Since the - // SolutionTransfer class needs - // this information in order to - // store the data from the old - // mesh and transfer to the new - // one. - + // coarsened. Usually, you don't have to + // do this by hand + // (Triangulation::execute_coarsening_and_refinement + // does this for you). However, we need + // to initialize the SolutionTransfer + // class and it needs to know the final + // set of cells that will be coarsened or + // refined in order to store the data + // from the old mesh and transfer to the + // new one. Thus, we call the function by + // hand: triangulation.prepare_coarsening_and_refinement (); // With this out of the way, we - // initialize a SolutionTransfer - // object with the present - // DoFHandler and attach the - // solution vector to it: - + // initialize a SolutionTransfer object + // with the present DoFHandler and attach + // the solution vector to it, followed by + // doing the actual refinement and + // distribution of degrees of freedom on + // the new mesh SolutionTransfer solution_transfer(dof_handler); solution_transfer.prepare_for_coarsening_and_refinement(present_solution); - // Then we do the actual - // refinement, and distribute - // degrees of freedom on the new - // mesh: - triangulation.execute_coarsening_and_refinement(); - dof_handler.distribute_dofs(fe); - // Finally, we retrieve the old - // solution interpolated to the - // new mesh. Since the - // SolutionTransfer function does - // not actually store the values - // of the old solution, but - // rather indices, we need to - // preserve the old solution - // vector until we have gotten - // the new interpolated - // values. Thus, we have the new - // values written into a - // temporary vector, and only - // afterwards write them into the - // solution vector object: + dof_handler.distribute_dofs(fe); + // Finally, we retrieve the old solution + // interpolated to the new mesh. Since + // the SolutionTransfer function does not + // actually store the values of the old + // solution, but rather indices, we need + // to preserve the old solution vector + // until we have gotten the new + // interpolated values. Thus, we have the + // new values written into a temporary + // vector, and only afterwards write them + // into the solution vector object. Once + // we have this solution we have to make + // sure that the $u^n$ we now have + // actually has the correct boundary + // values. As explained at the end of the + // introduction, this is not + // automatically the case even if the + // solution before refinement had the + // correct boundary values, and so we + // have to explicitly make sure that it + // now has: Vector tmp(dof_handler.n_dofs()); - solution_transfer.interpolate(present_solution,tmp); - present_solution=tmp; + solution_transfer.interpolate(present_solution, tmp); + present_solution = tmp; set_boundary_values (); - // On the new mesh, there are - // different hanging nodes, which - // shall be enlisted in a matrix - // like before. To ensure there - // are no hanging nodes of the - // old mesh in the matrix, it's - // first cleared: + // On the new mesh, there are different + // hanging nodes, which we have to + // compute again. To ensure there are no + // hanging nodes of the old mesh in the + // object, it's first cleared. To be on + // the safe side, we then also make sure + // that the current solution's vector + // entries satisfy the hanging node + // constraints: + hanging_node_constraints.clear(); - // After doing so, the hanging - // nodes of the new mesh can be - // enlisted in the matrix, like - // before. Calling the - // setup_system - // function in the - // run function - // again after this, the hanging - // nodes don't have to be - // enlisted there once more. - - DoFTools::make_hanging_node_constraints(dof_handler, hanging_node_constraints); + DoFTools::make_hanging_node_constraints(dof_handler, + hanging_node_constraints); hanging_node_constraints.close(); - hanging_node_constraints.distribute(present_solution); + + hanging_node_constraints.distribute (present_solution); + + // We end the function by updating all + // the remaining data structures, + // indicating to + // setup_dofs() that this is + // not the first go-around and that it + // needs to preserve the content of the + // solution vector: + setup_system (false); } + + // @sect4{MinimalSurfaceProblem::set_boundary_values} + + // The next function ensures that the + // solution vector's entries respect the + // boundary values for our problem. Having + // refined the mesh (or just started + // computations), there might be new nodal + // points on the boundary. These have + // values that are simply interpolated from + // the previous mesh (or are just zero), + // instead of the correct boundary + // values. This is fixed up by setting all + // boundary nodes explicit to the right + // value: template void MinimalSurfaceProblem::set_boundary_values () { - // Having refined the mesh, there - // might be new nodal points on - // the boundary. These have just - // interpolated values, but not - // the right boundary - // values. This is fixed up, by - // setting all boundary nodals - // explicit to the right value: - - std::map boundary_values2; - VectorTools::interpolate_boundary_values(dof_handler, 0, - BoundaryValues(), boundary_values2); - for (std::map::const_iterator p = - boundary_values2.begin(); p != boundary_values2.end(); ++p) + std::map boundary_values; + VectorTools::interpolate_boundary_values (dof_handler, + 0, + BoundaryValues(), + boundary_values); + for (std::map::const_iterator + p = boundary_values.begin(); + p != boundary_values.end(); ++p) present_solution(p->first) = p->second; } - // @sect4{MinimalSurfaceProblem::run} - // In the run function, the first - // grid is build. Also in this - // function, the Newton iteration - // is implemented. + // @sect4{MinimalSurfaceProblem::compute_residual} + + // In order to monitor convergence, we need + // a way to compute the norm of the + // (discrete) residual, i.e., the norm of + // the vector + // $\left$ with + // $F(u)=-\nabla \cdot \left( + // \frac{1}{\sqrt{1+|\nabla u|^{2}}}\nabla + // u \right)$ as discussed in the + // introduction. It turns out that + // (although we don't use this feature in + // the current version of the program) one + // needs to compute the residual + // $\left$ + // when determining optimal step lengths, + // and so this is what we implement here: + // the function takes the step length + // $\alpha^n$ as an argument. The original + // functionality is of course obtained by + // passing a zero as argument. + // + // In the function below, we first set up a + // vector for the residual, and then a + // vector for the evaluation point + // $u^n+\alpha^n\;\delta u^n$. This is + // followed by the same boilerplate code we + // use for all integration operations: template - void MinimalSurfaceProblem::run () + double MinimalSurfaceProblem::compute_residual (const double alpha) const { + Vector residual (dof_handler.n_dofs()); - // The integer refinement counts - // the mesh - // refinements. Obviously - // starting the program, it - // should be zero. - refinement=0; - first_step=true; - - // As described in the - // introduction, the domain is a - // unitball around the - // origin. The Mesh is globally - // refined two times, not to - // start on the coarse mesh, - // which consists only of five - // cells. + Vector evaluation_point (dof_handler.n_dofs()); + evaluation_point = present_solution; + evaluation_point.add (alpha, newton_update); - GridGenerator::hyper_ball (triangulation); - static const HyperBallBoundary boundary; - triangulation.set_boundary (0, boundary); - triangulation.refine_global(2); + const QGauss quadrature_formula(3); + FEValues fe_values (fe, quadrature_formula, + update_gradients | + update_quadrature_points | + update_JxW_values); - // The Newton iteration starts - // here. During the first step, - // there is no residual computed, - // so the bool is needed here to - // enter the iteration - // scheme. Later the Newton - // method will continue until the - // residual is less than - // $10^{-3}$. + const unsigned int dofs_per_cell = fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); - double previous_res = 0; - while (first_step || (previous_res>1e-3)) + Vector cell_rhs (dofs_per_cell); + std::vector > gradients(n_q_points); + + std::vector local_dof_indices (dofs_per_cell); + + typename DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (; cell!=endc; ++cell) { + cell_rhs = 0; + fe_values.reinit (cell); + + // The actual computation is much as + // in + // assemble_system(). We + // first evaluate the gradients of + // $u^n+\alpha^n\,\delta u^n$ at the + // quadrature points, then compute + // the coefficient $a_n$, and then + // plug it all into the formula for + // the residual: + fe_values.get_function_gradients (evaluation_point, + gradients); - // In the first step, we - // compute the solution on - // the two times globally - // refined mesh. After that - // the mesh will be refined - // adaptively, in order to - // not get too many - // cells. The refinement is - // the first thing done every - // time we restart the - // process in the while-loop. - if (!first_step) + + for (unsigned int q_point=0; q_pointget_dof_indices (local_dof_indices); + for (unsigned int i=0; i boundary_dofs (dof_handler.n_dofs()); + DoFTools::extract_boundary_dofs (dof_handler, + std::vector(1,true), + boundary_dofs); + for (unsigned int i=0; isetup_system - // function. - setup_system(); + // @sect4{MinimalSurfaceProblem::determine_step_length} - if (first_step) - set_boundary_values (); + // As discussed in the introduction, + // Newton's method frequently does not + // converge if we always take full steps, + // i.e., compute $u^{n+1}=u^n+\delta + // u^n$. Rather, one needs a damping + // parameter (step length) $\alpha^n$ and + // set $u^{n+1}=u^n+\alpha^n\; delta + // u^n$. This function is the one called to + // compute $\alpha^n$. + // + // Here, we simply always return 0.1. This + // is of course a sub-optimal choice: + // ideally, what one wants is that the step + // size goes to one as we get closer to the + // solution, so that we get to enjoy the + // rapid quadratic convergence of Newton's + // method. We will discuss better + // strategies below in the results section. + template + double MinimalSurfaceProblem::determine_step_length() const + { + return 0.1; + } + + + + // @sect4{MinimalSurfaceProblem::run} + + // In the run function, we build the first + // grid and then have the top-level logic + // for the Newton iteration. The function + // has two variables, one that indicates + // whether this is the first time we solve + // for a Newton update and one that + // indicates the refinement level of the + // mesh: + template + void MinimalSurfaceProblem::run () + { + unsigned int refinement = 0; + bool first_step = true; + + // As described in the introduction, the + // domain is the unit disk around the + // origin, created in the same way as + // shown in step-6. The mesh is globally + // refined twice followed later on by + // several adaptive cycles: + GridGenerator::hyper_ball (triangulation); + static const HyperBallBoundary boundary; + triangulation.set_boundary (0, boundary); + triangulation.refine_global(2); - // On every mesh there are - // done five Newton steps, in - // order to get a better - // solution, before the mesh - // gets too fine and the - // computations take more - // time. - std::cout<<"initial residual:"<1e-3)) + { + if (first_step == true) + { + std::cout << "******** Initial mesh " + << " ********" + << std::endl; - for(unsigned int i=0; i<5;++i) + setup_system (true); + set_boundary_values (); + } + else { + ++refinement; + std::cout << "******** Refined mesh " << refinement + << " ********" + << std::endl; - // In every Newton step - // the system matrix and - // the right hand side - // have to be computed. + refine_mesh(); + } + // On every mesh we do exactly five + // Newton steps. We print the initial + // residual here and then start the + // iterations on this mesh. + // + // In every Newton step the system + // matrix and the right hand side + // have to be computed first, after + // which we store the norm of the + // right hand side as the residual to + // check against when deciding + // whether to stop the iterations. We + // then solve the linear system (the + // function also updates + // $u^{n+1}=u^n+\alpha^n\;\delta + // u^n$) and output the residual at + // the end of this Newton step: + std::cout << " Initial residual: " + << compute_residual(0) + << std::endl; + + for (unsigned int inner_iteration=0; inner_iteration<5; ++inner_iteration) + { assemble_system (); previous_res = system_rhs.l2_norm(); solve (); - first_step=false; - std::cout<<"residual:"< data_out; data_out.attach_dof_handler (dof_handler); - data_out.add_data_vector (newton_update, "update"); data_out.add_data_vector (present_solution, "solution"); + data_out.add_data_vector (newton_update, "update"); data_out.build_patches (); - const std::string filename = "solution-" + Utilities::int_to_string (refinement, 2) + ".vtk"; + const std::string filename = "solution-" + + Utilities::int_to_string (refinement, 2) + + ".vtk"; std::ofstream output (filename.c_str()); data_out.write_vtk (output); @@ -770,7 +870,7 @@ namespace Step15 // @sect4{The main function} - // Finally the main function, this + // Finally the main function. This // follows the scheme of all other // main functions: int main () diff --git a/deal.II/examples/step-41/doc/builds-on b/deal.II/examples/step-41/doc/builds-on index 48a0f73876..78300ce0a2 100644 --- a/deal.II/examples/step-41/doc/builds-on +++ b/deal.II/examples/step-41/doc/builds-on @@ -1 +1 @@ -step-4 +step-15 -- 2.39.5